Welcome to mirror list, hosted at ThFree Co, Russian Federation.

updater.phar - github.com/nextcloud/updater.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 42f9cf8bdd89825b51a374ca2a2f7b0007dd53c0 (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 2a 0a 20 2a 20 #!/usr/bin/env.php.<?php./**..*.
0020 47 65 6e 65 72 61 74 65 64 20 62 79 20 42 6f 78 2e 0a 20 2a 0a 20 2a 20 40 6c 69 6e 6b 20 68 74 Generated.by.Box...*..*.@link.ht
0040 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 65 72 72 65 72 61 2d 69 6f 2f 70 68 70 2d tps://github.com/herrera-io/php-
0060 62 6f 78 2f 0a 20 2a 2f 0a 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 68 61 72 27 box/..*/.if.(class_exists('Phar'
0080 29 29 20 7b 0a 50 68 61 72 3a 3a 6d 61 70 50 68 61 72 28 27 64 65 66 61 75 6c 74 2e 70 68 61 72 )).{.Phar::mapPhar('default.phar
00a0 27 29 3b 0a 72 65 71 75 69 72 65 20 27 70 68 61 72 3a 2f 2f 27 20 2e 20 5f 5f 46 49 4c 45 5f 5f ');.require.'phar://'...__FILE__
00c0 20 2e 20 27 2f 75 70 64 61 74 65 72 2e 70 68 70 27 3b 0a 7d 0a 5f 5f 48 41 4c 54 5f 43 4f 4d 50 ...'/updater.php';.}.__HALT_COMP
00e0 49 4c 45 52 28 29 3b 20 3f 3e 0d 0a 7b 21 00 00 73 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 ILER();.?>..{!..s...............
0100 00 00 13 00 00 00 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 b2 00 00 00 e1 e5 ad ......vendor/autoload.php.......
0120 5c b2 00 00 00 a7 99 38 35 a4 01 00 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 \......85........'...vendor/comp
0140 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 95 00 00 00 oser/autoload_namespaces.php....
0160 e1 e5 ad 5c 95 00 00 00 74 db 21 d7 a4 01 00 00 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 63 ...\....t.!.........!...vendor/c
0180 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 ef 01 00 00 e1 e5 ad omposer/autoload_psr4.php.......
01a0 5c ef 01 00 00 62 75 f7 54 a4 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 \....bu.T........%...vendor/comp
01c0 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 08 30 00 00 e1 e5 oser/autoload_classmap.php.0....
01e0 ad 5c 08 30 00 00 5f f5 27 53 a4 01 00 00 00 00 00 00 23 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d .\.0.._.'S........#...vendor/com
0200 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 89 3a 00 00 e1 e5 ad poser/autoload_static.php.:.....
0220 5c 89 3a 00 00 c4 4f 02 bf a4 01 00 00 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 \.:...O..........!...vendor/comp
0240 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 37 08 00 00 e1 e5 ad 5c 37 08 oser/autoload_real.php7......\7.
0260 00 00 ef 62 1b ff a4 01 00 00 00 00 00 00 1f 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 ...b..............vendor/compose
0280 72 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 93 34 00 00 e1 e5 ad 5c 93 34 00 00 b2 7a 8d r/ClassLoader.php.4.....\.4...z.
02a0 96 a4 01 00 00 00 00 00 00 22 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 ........."...vendor/composer/aut
02c0 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 f3 00 00 00 e1 e5 ad 5c f3 00 00 00 14 3c f5 cd a4 oload_files.php.......\.....<...
02e0 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f .......3...vendor/psr/log/Psr/Lo
0300 67 2f 54 65 73 74 2f 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 54 65 73 74 2e 70 68 70 f5 11 g/Test/LoggerInterfaceTest.php..
0320 00 00 e1 e5 ad 5c f5 11 00 00 ea d0 24 73 a4 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 .....\......$s........*...vendor
0340 2f 70 73 72 2f 6c 6f 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 /psr/log/Psr/Log/LoggerInterface
0360 2e 70 68 70 df 0b 00 00 e1 e5 ad 5c df 0b 00 00 16 0f 3f 7d a4 01 00 00 00 00 00 00 2f 00 00 00 .php.......\......?}......../...
0380 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 61 vendor/psr/log/Psr/Log/LoggerAwa
03a0 72 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 29 01 00 00 e1 e5 ad 5c 29 01 00 00 c8 6a 0c b1 a4 reInterface.php)......\)....j...
03c0 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 2f 4c 6f .......)...vendor/psr/log/Psr/Lo
03e0 67 2f 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 2e 70 68 70 10 0c 00 00 e1 e5 ad 5c 10 0c 00 00 g/AbstractLogger.php.......\....
0400 0f 9a 47 6c a4 01 00 00 00 00 00 00 23 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 ..Gl........#...vendor/psr/log/P
0420 73 72 2f 4c 6f 67 2f 4c 6f 67 4c 65 76 65 6c 2e 70 68 70 50 01 00 00 e1 e5 ad 5c 50 01 00 00 9d sr/Log/LogLevel.phpP......\P....
0440 f2 ba 14 a4 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 ...........%...vendor/psr/log/Ps
0460 72 2f 4c 6f 67 2f 4e 75 6c 6c 4c 6f 67 67 65 72 2e 70 68 70 8b 02 00 00 e1 e5 ad 5c 8b 02 00 00 r/Log/NullLogger.php.......\....
0480 9a f6 5a 66 a4 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 ..Zf........3...vendor/psr/log/P
04a0 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 6f 6e 2e sr/Log/InvalidArgumentException.
04c0 70 68 70 60 00 00 00 e1 e5 ad 5c 60 00 00 00 20 88 58 31 a4 01 00 00 00 00 00 00 2b 00 00 00 76 php`......\`.....X1........+...v
04e0 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 61 72 endor/psr/log/Psr/Log/LoggerAwar
0500 65 54 72 61 69 74 2e 70 68 70 8d 01 00 00 e1 e5 ad 5c 8d 01 00 00 7a 25 d4 07 a4 01 00 00 00 00 eTrait.php.......\....z%........
0520 00 00 26 00 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 ..&...vendor/psr/log/Psr/Log/Log
0540 67 65 72 54 72 61 69 74 2e 70 68 70 1f 0d 00 00 e1 e5 ad 5c 1f 0d 00 00 9b c3 bd f5 a4 01 00 00 gerTrait.php.......\............
0560 00 00 00 00 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 ....(...vendor/symfony/debug/Buf
0580 66 65 72 69 6e 67 4c 6f 67 67 65 72 2e 70 68 70 f0 02 00 00 e1 e5 ad 5c f0 02 00 00 4d 30 09 3d feringLogger.php.......\....M0.=
05a0 a4 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 65 62 75 67 ........6...vendor/symfony/debug
05c0 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 6f 72 2e 70 /Exception/FatalThrowableError.p
05e0 68 70 34 04 00 00 e1 e5 ad 5c 34 04 00 00 00 c3 1c ec a4 01 00 00 00 00 00 00 33 00 00 00 76 65 hp4......\4...............3...ve
0600 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 6c 61 ndor/symfony/debug/Exception/Fla
0620 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 b6 1a 00 00 e1 e5 ad 5c b6 1a 00 00 82 37 aa ttenException.php.......\.....7.
0640 1b a4 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 64 65 62 75 .........9...vendor/symfony/debu
0660 67 2f 45 78 63 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 g/Exception/ClassNotFoundExcepti
0680 6f 6e 2e 70 68 70 3c 03 00 00 e1 e5 ad 5c 3c 03 00 00 27 44 bb 8d a4 01 00 00 00 00 00 00 38 00 on.php<......\<...'D..........8.
06a0 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
06c0 2f 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6b 03 00 00 e1 e5 /ContextErrorException.phpk.....
06e0 ad 5c 6b 03 00 00 47 01 0d 18 a4 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\k...G...........=...vendor/sym
0700 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 66 69 6e 65 64 46 75 fony/debug/Exception/UndefinedFu
0720 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 2b 03 00 00 e1 e5 ad 5c 2b 03 00 00 db nctionException.php+......\+....
0740 1f 4f f9 a4 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 65 .O.........6...vendor/symfony/de
0760 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f bug/Exception/FatalErrorExceptio
0780 6e 2e 70 68 70 18 0b 00 00 e1 e5 ad 5c 18 0b 00 00 55 b9 ae 6c a4 01 00 00 00 00 00 00 37 00 00 n.php.......\....U..l........7..
07a0 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 2f .vendor/symfony/debug/Exception/
07c0 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 a8 01 00 00 e1 e5 ad 5c OutOfMemoryException.php.......\
07e0 a8 01 00 00 aa f8 0b 68 a4 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f .......h........;...vendor/symfo
0800 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 ny/debug/Exception/UndefinedMeth
0820 6f 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 26 03 00 00 e1 e5 ad 5c 26 03 00 00 c3 af 79 df a4 odException.php&......\&.....y..
0840 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 64 65 62 75 67 2f .......%...vendor/symfony/debug/
0860 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 a1 60 00 00 e1 e5 ad 5c a1 60 00 00 b7 f2 76 4e ErrorHandler.php.`.....\.`....vN
0880 a4 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 64 65 62 75 67 ............vendor/symfony/debug
08a0 2f 44 65 62 75 67 2e 70 68 70 fd 06 00 00 e1 e5 ad 5c fd 06 00 00 f6 90 08 66 a4 01 00 00 00 00 /Debug.php.......\.......f......
08c0 00 00 4d 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 61 6c ..M...vendor/symfony/debug/Fatal
08e0 45 72 72 6f 72 48 61 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 ErrorHandler/UndefinedFunctionFa
0900 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 f5 0b 00 00 e1 e5 ad 5c f5 0b 00 00 cc talErrorHandler.php.......\.....
0920 67 fd 90 a4 01 00 00 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 g..........K...vendor/symfony/de
0940 62 75 67 2f 46 61 74 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 bug/FatalErrorHandler/UndefinedM
0960 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 3e 07 00 00 e1 e5 ethodFatalErrorHandler.php>.....
0980 ad 5c 3e 07 00 00 f2 ef a1 cb a4 01 00 00 00 00 00 00 49 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\>...............I...vendor/sym
09a0 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 43 6c 61 fony/debug/FatalErrorHandler/Cla
09c0 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 68 70 ca ssNotFoundFatalErrorHandler.php.
09e0 1c 00 00 e1 e5 ad 5c ca 1c 00 00 74 e3 d0 1f a4 01 00 00 00 00 00 00 45 00 00 00 76 65 6e 64 6f ......\....t...........E...vendo
0a00 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 64 6c 65 r/symfony/debug/FatalErrorHandle
0a20 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 70 68 70 r/FatalErrorHandlerInterface.php
0a40 bf 03 00 00 e1 e5 ad 5c bf 03 00 00 c7 69 41 bc a4 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 .......\.....iA.........)...vend
0a60 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 73 4c 6f 61 64 65 or/symfony/debug/DebugClassLoade
0a80 72 2e 70 68 70 9c 2e 00 00 e1 e5 ad 5c 9c 2e 00 00 58 96 03 93 a4 01 00 00 00 00 00 00 29 00 00 r.php.......\....X...........)..
0aa0 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 48 .vendor/symfony/debug/ExceptionH
0ac0 61 6e 64 6c 65 72 2e 70 68 70 5b 3f 00 00 e1 e5 ad 5c 5b 3f 00 00 03 f9 b3 40 a4 01 00 00 00 00 andler.php[?.....\[?.....@......
0ae0 00 00 27 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 ..'...vendor/symfony/console/Hel
0b00 70 65 72 2f 54 61 62 6c 65 2e 70 68 70 79 4c 00 00 e1 e5 ad 5c 79 4c 00 00 84 a8 cb 8e a4 01 00 per/Table.phpyL.....\yL.........
0b20 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 65 2f .....+...vendor/symfony/console/
0b40 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 53 65 74 2e 70 68 70 67 0a 00 00 e1 e5 ad 5c 67 0a 00 00 Helper/HelperSet.phpg......\g...
0b60 06 66 d6 f4 a4 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 .f........../...vendor/symfony/c
0b80 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 87 onsole/Helper/ProcessHelper.php.
0ba0 13 00 00 e1 e5 ad 5c 87 13 00 00 8c ae 41 1b a4 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f ......\......A.........2...vendo
0bc0 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 44 65 73 63 72 69 70 r/symfony/console/Helper/Descrip
0be0 74 6f 72 48 65 6c 70 65 72 2e 70 68 70 60 0a 00 00 e1 e5 ad 5c 60 0a 00 00 2b 37 2a c5 a4 01 00 torHelper.php`......\`...+7*....
0c00 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 73 6f 6c 65 2f .....0...vendor/symfony/console/
0c20 48 65 6c 70 65 72 2f 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2e 70 68 70 b6 34 00 00 e1 e5 ad Helper/QuestionHelper.php.4.....
0c40 5c b6 34 00 00 02 f3 69 cf a4 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 \.4....i.........7...vendor/symf
0c60 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 ony/console/Helper/SymfonyQuesti
0c80 6f 6e 48 65 6c 70 65 72 2e 70 68 70 ba 0e 00 00 e1 e5 ad 5c ba 0e 00 00 ce 51 09 22 a4 01 00 00 onHelper.php.......\.....Q."....
0ca0 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 2f 48 ....,...vendor/symfony/console/H
0cc0 65 6c 70 65 72 2f 54 61 62 6c 65 53 74 79 6c 65 2e 70 68 70 b5 14 00 00 e1 e5 ad 5c b5 14 00 00 elper/TableStyle.php.......\....
0ce0 6b 84 12 95 a4 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 k...........0...vendor/symfony/c
0d00 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 70 onsole/Helper/TableSeparator.php
0d20 45 02 00 00 e1 e5 ad 5c 45 02 00 00 1e 70 7c d5 a4 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 E......\E....p|.........1...vend
0d40 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 48 65 6c 70 65 72 or/symfony/console/Helper/Helper
0d60 49 6e 74 65 72 66 61 63 65 2e 70 68 70 af 03 00 00 e1 e5 ad 5c af 03 00 00 ef cb e8 f6 a4 01 00 Interface.php.......\...........
0d80 00 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 .....2...vendor/symfony/console/
0da0 48 65 6c 70 65 72 2f 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 2e 70 68 70 eb 02 00 00 e1 Helper/InputAwareHelper.php.....
0dc0 e5 ad 5c eb 02 00 00 ec 93 eb cb a4 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 ..\................-...vendor/sy
0de0 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 73 42 61 72 mfony/console/Helper/ProgressBar
0e00 2e 70 68 70 2e 41 00 00 e1 e5 ad 5c 2e 41 00 00 11 d0 58 10 a4 01 00 00 00 00 00 00 36 00 00 00 .php.A.....\.A....X.........6...
0e20 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 44 65 vendor/symfony/console/Helper/De
0e40 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 2e 70 68 70 56 10 00 00 e1 e5 ad 5c 56 10 bugFormatterHelper.phpV......\V.
0e60 00 00 98 dd 94 aa a4 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 ..............3...vendor/symfony
0e80 2f 63 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 /console/Helper/ProgressIndicato
0ea0 72 2e 70 68 70 92 21 00 00 e1 e5 ad 5c 92 21 00 00 e6 2b 9e c1 a4 01 00 00 00 00 00 00 28 00 00 r.php.!.....\.!...+..........(..
0ec0 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 48 .vendor/symfony/console/Helper/H
0ee0 65 6c 70 65 72 2e 70 68 70 c2 0c 00 00 e1 e5 ad 5c c2 0c 00 00 8c f6 ad 02 a4 01 00 00 00 00 00 elper.php.......\...............
0f00 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 65 2f 48 65 6c 70 .+...vendor/symfony/console/Help
0f20 65 72 2f 54 61 62 6c 65 43 65 6c 6c 2e 70 68 70 56 06 00 00 e1 e5 ad 5c 56 06 00 00 01 25 11 14 er/TableCell.phpV......\V....%..
0f40 a4 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 73 6f ........1...vendor/symfony/conso
0f60 6c 65 2f 48 65 6c 70 65 72 2f 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 2e 70 68 70 92 0b 00 le/Helper/FormatterHelper.php...
0f80 00 e1 e5 ad 5c 92 0b 00 00 b5 ed b7 ff a4 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f ....\................(...vendor/
0fa0 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 2e 70 68 symfony/console/ConsoleEvents.ph
0fc0 70 7b 05 00 00 e1 e5 ad 5c 7b 05 00 00 f9 7f 36 3e a4 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e p{......\{.....6>........;...ven
0fe0 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 49 6e dor/symfony/console/Exception/In
1000 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 fc 01 00 00 e1 e5 ad 5c validOptionException.php.......\
1020 fc 01 00 00 ed 93 3b 13 a4 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ......;.........5...vendor/symfo
1040 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e 74 69 6d 65 45 78 63 65 ny/console/Exception/RuntimeExce
1060 70 74 69 6f 6e 2e 70 68 70 ae 01 00 00 e1 e5 ad 5c ae 01 00 00 17 b6 2a 62 a4 01 00 00 00 00 00 ption.php.......\......*b.......
1080 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 2f 45 78 63 65 .3...vendor/symfony/console/Exce
10a0 70 74 69 6f 6e 2f 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 aa 01 00 00 e1 e5 ad 5c ption/LogicException.php.......\
10c0 aa 01 00 00 53 4d 4c 8f a4 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ....SML.........7...vendor/symfo
10e0 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 74 69 6f 6e 49 6e ny/console/Exception/ExceptionIn
1100 74 65 72 66 61 63 65 2e 70 68 70 96 01 00 00 e1 e5 ad 5c 96 01 00 00 e3 eb da 55 a4 01 00 00 00 terface.php.......\.......U.....
1120 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 6f 6c 65 2f 45 78 ...=...vendor/symfony/console/Ex
1140 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 65 70 74 69 6f 6e ception/InvalidArgumentException
1160 2e 70 68 70 be 01 00 00 e1 e5 ad 5c be 01 00 00 ee 75 20 69 a4 01 00 00 00 00 00 00 3d 00 00 00 .php.......\.....u.i........=...
1180 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 6e vendor/symfony/console/Exception
11a0 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 be 04 00 /CommandNotFoundException.php...
11c0 00 e1 e5 ad 5c be 04 00 00 de f8 b5 ec a4 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f ....\................,...vendor/
11e0 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 4f 70 74 69 6f symfony/console/Input/InputOptio
1200 6e 2e 70 68 70 77 17 00 00 e1 e5 ad 5c 77 17 00 00 a3 0e 38 73 a4 01 00 00 00 00 00 00 26 00 00 n.phpw......\w.....8s........&..
1220 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 74 2f 49 6e .vendor/symfony/console/Input/In
1240 70 75 74 2e 70 68 70 fe 12 00 00 e1 e5 ad 5c fe 12 00 00 8d ee 30 a8 a4 01 00 00 00 00 00 00 2b put.php.......\......0.........+
1260 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 74 2f ...vendor/symfony/console/Input/
1280 41 72 72 61 79 49 6e 70 75 74 2e 70 68 70 3f 15 00 00 e1 e5 ad 5c 3f 15 00 00 75 39 33 7a a4 01 ArrayInput.php?......\?...u93z..
12a0 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
12c0 2f 49 6e 70 75 74 2f 41 72 67 76 49 6e 70 75 74 2e 70 68 70 52 28 00 00 e1 e5 ad 5c 52 28 00 00 /Input/ArgvInput.phpR(.....\R(..
12e0 9c 89 08 f1 a4 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
1300 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 6e onsole/Input/InputInterface.phpn
1320 12 00 00 e1 e5 ad 5c 6e 12 00 00 6c 8a 8a 7a a4 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f ......\n...l..z............vendo
1340 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 41 72 67 r/symfony/console/Input/InputArg
1360 75 6d 65 6e 74 2e 70 68 70 17 0d 00 00 e1 e5 ad 5c 17 0d 00 00 e6 17 6d 42 a4 01 00 00 00 00 00 ument.php.......\......mB.......
1380 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
13a0 74 2f 53 74 72 69 6e 67 49 6e 70 75 74 2e 70 68 70 72 09 00 00 e1 e5 ad 5c 72 09 00 00 fd 66 49 t/StringInput.phpr......\r....fI
13c0 79 a4 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 73 y........0...vendor/symfony/cons
13e0 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 32 2d 00 ole/Input/InputDefinition.php2-.
1400 00 e1 e5 ad 5c 32 2d 00 00 59 9b bb 2c a4 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f ....\2-..Y..,........4...vendor/
1420 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 41 77 61 72 65 symfony/console/Input/InputAware
1440 49 6e 74 65 72 66 61 63 65 2e 70 68 70 5e 02 00 00 e1 e5 ad 5c 5e 02 00 00 39 4b e8 68 a4 01 00 Interface.php^......\^...9K.h...
1460 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 2f .....,...vendor/symfony/console/
1480 53 74 79 6c 65 2f 4f 75 74 70 75 74 53 74 79 6c 65 2e 70 68 70 24 0b 00 00 e1 e5 ad 5c 24 0b 00 Style/OutputStyle.php$......\$..
14a0 00 e9 03 7f 38 a4 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 ....8......../...vendor/symfony/
14c0 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 65 2e 70 68 70 console/Style/StyleInterface.php
14e0 b5 0c 00 00 e1 e5 ad 5c b5 0c 00 00 33 a8 f5 5a a4 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 .......\....3..Z........-...vend
1500 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 6d 66 6f 6e 79 or/symfony/console/Style/Symfony
1520 53 74 79 6c 65 2e 70 68 70 3e 2f 00 00 e1 e5 ad 5c 3e 2f 00 00 99 03 b8 0b a4 01 00 00 00 00 00 Style.php>/.....\>/.............
1540 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 54 65 73 74 ./...vendor/symfony/console/Test
1560 65 72 2f 43 6f 6d 6d 61 6e 64 54 65 73 74 65 72 2e 70 68 70 4a 0e 00 00 e1 e5 ad 5c 4a 0e 00 00 er/CommandTester.phpJ......\J...
1580 79 5a 96 9d a4 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 yZ..........3...vendor/symfony/c
15a0 6f 6e 73 6f 6c 65 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 onsole/Tester/ApplicationTester.
15c0 70 68 70 0c 16 00 00 e1 e5 ad 5c 0c 16 00 00 13 04 65 35 a4 01 00 00 00 00 00 00 39 00 00 00 76 php.......\......e5........9...v
15e0 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 6d 61 74 74 65 72 2f endor/symfony/console/Formatter/
1600 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 2e 70 68 70 c0 1a 00 00 e1 e5 ad 5c OutputFormatterStyle.php.......\
1620 c0 1a 00 00 44 31 a9 f0 a4 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ....D1..........4...vendor/symfo
1640 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 46 6f 72 6d 61 ny/console/Formatter/OutputForma
1660 74 74 65 72 2e 70 68 70 3f 1a 00 00 e1 e5 ad 5c 3f 1a 00 00 e8 1d bd 85 a4 01 00 00 00 00 00 00 tter.php?......\?...............
1680 3e 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 6d 61 >...vendor/symfony/console/Forma
16a0 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 53 74 61 63 6b 2e 70 tter/OutputFormatterStyleStack.p
16c0 68 70 26 0b 00 00 e1 e5 ad 5c 26 0b 00 00 5d b6 34 bb a4 01 00 00 00 00 00 00 3d 00 00 00 76 65 hp&......\&...].4.........=...ve
16e0 6e 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 ndor/symfony/console/Formatter/O
1700 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 5d 06 00 00 e1 utputFormatterInterface.php]....
1720 e5 ad 5c 5d 06 00 00 fc 79 09 4c a4 01 00 00 00 00 00 00 42 00 00 00 76 65 6e 64 6f 72 2f 73 79 ..\]....y.L........B...vendor/sy
1740 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 46 6f mfony/console/Formatter/OutputFo
1760 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 5b 05 00 00 e1 e5 ad rmatterStyleInterface.php[......
1780 5c 5b 05 00 00 66 40 86 b3 a4 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 \[...f@..........1...vendor/symf
17a0 6f 6e 79 2f 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 ony/console/Output/OutputInterfa
17c0 63 65 2e 70 68 70 72 0d 00 00 e1 e5 ad 5c 72 0d 00 00 e9 cb 3e 5a a4 01 00 00 00 00 00 00 2c 00 ce.phpr......\r.....>Z........,.
17e0 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 75 74 2f ..vendor/symfony/console/Output/
1800 4e 75 6c 6c 4f 75 74 70 75 74 2e 70 68 70 6e 08 00 00 e1 e5 ad 5c 6e 08 00 00 74 8f 44 bb a4 01 NullOutput.phpn......\n...t.D...
1820 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 63 6f 6e 73 6f 6c 65 ......8...vendor/symfony/console
1840 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 72 66 61 63 65 2e 70 /Output/ConsoleOutputInterface.p
1860 68 70 4b 03 00 00 e1 e5 ad 5c 4b 03 00 00 ec c5 30 9e a4 01 00 00 00 00 00 00 30 00 00 00 76 65 hpK......\K.....0.........0...ve
1880 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 42 75 66 66 ndor/symfony/console/Output/Buff
18a0 65 72 65 64 4f 75 74 70 75 74 2e 70 68 70 68 03 00 00 e1 e5 ad 5c 68 03 00 00 74 7c 58 34 a4 01 eredOutput.phph......\h...t|X4..
18c0 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 6f 6e 73 6f 6c 65 ..........vendor/symfony/console
18e0 2f 4f 75 74 70 75 74 2f 53 74 72 65 61 6d 4f 75 74 70 75 74 2e 70 68 70 12 0d 00 00 e1 e5 ad 5c /Output/StreamOutput.php.......\
1900 12 0d 00 00 b8 57 ae ea a4 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f .....W........../...vendor/symfo
1920 6e 79 2f 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 2e ny/console/Output/ConsoleOutput.
1940 70 68 70 ee 0f 00 00 e1 e5 ad 5c ee 0f 00 00 86 a3 da 5c a4 01 00 00 00 00 00 00 28 00 00 00 76 php.......\.......\........(...v
1960 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 75 74 2f 4f 75 74 endor/symfony/console/Output/Out
1980 70 75 74 2e 70 68 70 96 11 00 00 e1 e5 ad 5c 96 11 00 00 c2 84 97 9f a4 01 00 00 00 00 00 00 2d put.php.......\................-
19a0 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 2f ...vendor/symfony/console/Event/
19c0 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 2e 70 68 70 b8 05 00 00 e1 e5 ad 5c b8 05 00 00 be f5 0a 9e ConsoleEvent.php.......\........
19e0 a4 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 6e 73 6f ........6...vendor/symfony/conso
1a00 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 2e 70 le/Event/ConsoleExceptionEvent.p
1a20 68 70 3d 06 00 00 e1 e5 ad 5c 3d 06 00 00 b7 a6 16 c5 a4 01 00 00 00 00 00 00 36 00 00 00 76 65 hp=......\=...............6...ve
1a40 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 2f 43 6f 6e 73 6f ndor/symfony/console/Event/Conso
1a60 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 2e 70 68 70 1a 05 00 00 e1 e5 ad 5c 1a 05 00 00 leTerminateEvent.php.......\....
1a80 7b 65 f0 13 a4 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 {e..........4...vendor/symfony/c
1aa0 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 onsole/Event/ConsoleCommandEvent
1ac0 2e 70 68 70 3d 05 00 00 e1 e5 ad 5c 3d 05 00 00 06 25 6d 66 a4 01 00 00 00 00 00 00 2f 00 00 00 .php=......\=....%mf......../...
1ae0 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4c 6f 67 67 65 72 2f 43 6f vendor/symfony/console/Logger/Co
1b00 6e 73 6f 6c 65 4c 6f 67 67 65 72 2e 70 68 70 ea 0e 00 00 e1 e5 ad 5c ea 0e 00 00 e1 fd b4 9c a4 nsoleLogger.php.......\.........
1b20 01 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 .......*...vendor/symfony/consol
1b40 65 2f 43 6f 6d 6d 61 6e 64 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 30 47 00 00 e1 e5 ad 5c 30 47 00 e/Command/Command.php0G.....\0G.
1b60 00 38 d6 cf 95 a4 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 .8...............vendor/symfony/
1b80 63 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 ab console/Command/HelpCommand.php.
1ba0 09 00 00 e1 e5 ad 5c ab 09 00 00 d9 71 83 a6 a4 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f ......\.....q..............vendo
1bc0 72 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 r/symfony/console/Command/ListCo
1be0 6d 6d 61 6e 64 2e 70 68 70 09 0a 00 00 e1 e5 ad 5c 09 0a 00 00 ea c2 0c 34 a4 01 00 00 00 00 00 mmand.php.......\.......4.......
1c00 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 70 70 6c .&...vendor/symfony/console/Appl
1c20 69 63 61 74 69 6f 6e 2e 70 68 70 1c 93 00 00 e1 e5 ad 5c 1c 93 00 00 b6 4b f0 46 a4 01 00 00 00 ication.php.......\.....K.F.....
1c40 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 6c 65 2f 44 65 ...9...vendor/symfony/console/De
1c60 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 65 2e 70 68 70 scriptor/DescriptorInterface.php
1c80 e1 02 00 00 e1 e5 ad 5c e1 02 00 00 4a 5a 30 3c a4 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 .......\....JZ0<........4...vend
1ca0 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 72 2f 54 65 or/symfony/console/Descriptor/Te
1cc0 78 74 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 96 27 00 00 e1 e5 ad 5c 96 27 00 00 82 b6 e4 f2 xtDescriptor.php.'.....\.'......
1ce0 a4 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 73 6f ........0...vendor/symfony/conso
1d00 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 0d 0e 00 00 le/Descriptor/Descriptor.php....
1d20 e1 e5 ad 5c 0d 0e 00 00 f5 e4 b8 ff a4 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 ...\................4...vendor/s
1d40 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 4a 73 6f 6e 44 65 ymfony/console/Descriptor/JsonDe
1d60 73 63 72 69 70 74 6f 72 2e 70 68 70 89 13 00 00 e1 e5 ad 5c 89 13 00 00 74 5b ef cb a4 01 00 00 scriptor.php.......\....t[......
1d80 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 2f 44 ....3...vendor/symfony/console/D
1da0 65 73 63 72 69 70 74 6f 72 2f 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 53 25 00 00 e1 escriptor/XmlDescriptor.phpS%...
1dc0 e5 ad 5c 53 25 00 00 a2 e0 4e 90 a4 01 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 ..\S%....N.........8...vendor/sy
1de0 6d 66 6f 6e 79 2f 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 mfony/console/Descriptor/Markdow
1e00 6e 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 bd 13 00 00 e1 e5 ad 5c bd 13 00 00 44 79 89 cb a4 nDescriptor.php.......\....Dy...
1e20 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 63 6f 6e 73 6f 6c .......<...vendor/symfony/consol
1e40 65 2f 44 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 e/Descriptor/ApplicationDescript
1e60 69 6f 6e 2e 70 68 70 03 0f 00 00 e1 e5 ad 5c 03 0f 00 00 19 a3 93 ef a4 01 00 00 00 00 00 00 2c ion.php.......\................,
1e80 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 75 65 73 74 69 ...vendor/symfony/console/Questi
1ea0 6f 6e 2f 51 75 65 73 74 69 6f 6e 2e 70 68 70 18 17 00 00 e1 e5 ad 5c 18 17 00 00 6e 4a 82 55 a4 on/Question.php.......\....nJ.U.
1ec0 01 00 00 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 .......2...vendor/symfony/consol
1ee0 65 2f 51 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 c2 13 00 e/Question/ChoiceQuestion.php...
1f00 00 e1 e5 ad 5c c2 13 00 00 6e 02 1d 78 a4 01 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 2f ....\....n..x........8...vendor/
1f20 73 79 6d 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 symfony/console/Question/Confirm
1f40 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 2e 70 68 70 37 06 00 00 e1 e5 ad 5c 37 06 00 00 e2 9c 26 ationQuestion.php7......\7.....&
1f60 83 a4 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 6f 6c 79 .........-...vendor/symfony/poly
1f80 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 4d 62 73 74 72 69 6e 67 2e 70 68 70 fc 4c 00 00 e1 e5 fill-mbstring/Mbstring.php.L....
1fa0 ad 5c fc 4c 00 00 8c eb f1 e8 a4 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .\.L..................vendor/sym
1fc0 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 62 6f 6f 74 73 74 72 61 70 fony/polyfill-mbstring/bootstrap
1fe0 2e 70 68 70 d9 0f 00 00 e1 e5 ad 5c d9 0f 00 00 57 38 20 cf a4 01 00 00 00 00 00 00 40 00 00 00 .php.......\....W8..........@...
2000 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
2020 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 73 65 2e 70 68 70 /Resources/unidata/lowerCase.php
2040 ba 49 00 00 e1 e5 ad 5c ba 49 00 00 ea 90 d2 88 a4 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 .I.....\.I..............@...vend
2060 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 52 65 73 or/symfony/polyfill-mbstring/Res
2080 6f 75 72 63 65 73 2f 75 6e 69 64 61 74 61 2f 75 70 70 65 72 43 61 73 65 2e 70 68 70 39 4a 00 00 ources/unidata/upperCase.php9J..
20a0 e1 e5 ad 5c 39 4a 00 00 7c 18 51 f9 a4 01 00 00 00 00 00 00 15 00 00 00 6c 69 62 2f 55 70 64 61 ...\9J..|.Q.............lib/Upda
20c0 74 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 62 35 00 00 e1 e5 ad 5c 62 35 00 00 15 93 69 bd a4 01 00 teCommand.phpb5.....\b5....i....
20e0 00 00 00 00 00 0f 00 00 00 6c 69 62 2f 55 70 64 61 74 65 72 2e 70 68 70 3d 83 00 00 e1 e5 ad 5c .........lib/Updater.php=......\
2100 3d 83 00 00 86 0c c3 da a4 01 00 00 00 00 00 00 1a 00 00 00 6c 69 62 2f 43 6f 6d 6d 61 6e 64 41 =...................lib/CommandA
2120 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 6b 08 00 00 e1 e5 ad 5c 6b 08 00 00 09 97 9b 3f a4 01 pplication.phpk......\k......?..
2140 00 00 00 00 00 00 0f 00 00 00 6c 69 62 2f 56 65 72 73 69 6f 6e 2e 70 68 70 69 00 00 00 e1 e5 ad ..........lib/Version.phpi......
2160 5c 69 00 00 00 3d 6b 2a b7 a4 01 00 00 00 00 00 00 14 00 00 00 6c 69 62 2f 4c 6f 67 45 78 63 65 \i...=k*.............lib/LogExce
2180 70 74 69 6f 6e 2e 70 68 70 b0 03 00 00 e1 e5 ad 5c b0 03 00 00 f4 2b 9f c0 a4 01 00 00 00 00 00 ption.php.......\.....+.........
21a0 00 17 00 00 00 6c 69 62 2f 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 3d 04 00 00 .....lib/UpdateException.php=...
21c0 e1 e5 ad 5c 3d 04 00 00 4a 86 11 d7 a4 01 00 00 00 00 00 00 2d 00 00 00 6c 69 62 2f 52 65 63 75 ...\=...J...........-...lib/Recu
21e0 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 44 61 74 rsiveDirectoryIteratorWithoutDat
2200 61 2e 70 68 70 a7 04 00 00 e1 e5 ad 5c a7 04 00 00 33 67 c8 65 a4 01 00 00 00 00 00 00 0b 00 00 a.php.......\....3g.e...........
2220 00 76 65 72 73 69 6f 6e 2e 70 68 70 66 00 00 00 e1 e5 ad 5c 66 00 00 00 c9 b9 28 48 a4 01 00 00 .version.phpf......\f.....(H....
2240 00 00 00 00 0b 00 00 00 75 70 64 61 74 65 72 2e 70 68 70 d9 00 00 00 e1 e5 ad 5c d9 00 00 00 13 ........updater.php.......\.....
2260 1f 93 8f a4 01 00 00 00 00 00 00 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 2e 70 68 ...........<?php..//.autoload.ph
2280 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 0a 72 65 71 75 69 72 p.@generated.by.Composer..requir
22a0 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 6f e_once.__DIR__...'/composer/auto
22c0 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 72 load_real.php';..return.Composer
22e0 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 39 39 34 62 38 64 38 37 30 64 64 62 39 32 33 65 62 63 AutoloaderInit994b8d870ddb923ebc
2300 33 66 66 30 63 65 61 61 61 61 39 36 61 36 3a 3a 67 65 74 4c 6f 61 64 65 72 28 29 3b 0a 3c 3f 70 3ff0ceaaaa96a6::getLoader();.<?p
2320 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 20 40 hp..//.autoload_namespaces.php.@
2340 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 24 76 65 6e 64 6f 72 44 69 generated.by.Composer..$vendorDi
2360 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 0a r.=.dirname(dirname(__FILE__));.
2380 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 0a $baseDir.=.dirname($vendorDir);.
23a0 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 2f 2f 20 61 75 74 6f .return.array(.);.<?php..//.auto
23c0 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 6f 6d 70 load_psr4.php.@generated.by.Comp
23e0 6f 73 65 72 0a 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 oser..$vendorDir.=.dirname(dirna
2400 6d 65 28 5f 5f 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 me(__FILE__));.$baseDir.=.dirnam
2420 65 28 24 76 65 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 20 20 e($vendorDir);..return.array(...
2440 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c ..'Symfony\\Polyfill\\Mbstring\\
2460 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 79 6d 66 6f 6e '.=>.array($vendorDir...'/symfon
2480 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 27 29 2c 0a 20 20 20 20 27 53 79 6d 66 y/polyfill-mbstring'),.....'Symf
24a0 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 3d 3e 20 61 72 72 61 ony\\Component\\Debug\\'.=>.arra
24c0 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 64 65 62 75 67 27 29 y($vendorDir...'/symfony/debug')
24e0 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ,.....'Symfony\\Component\\Conso
2500 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 73 79 le\\'.=>.array($vendorDir...'/sy
2520 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 27 29 2c 0a 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c mfony/console'),.....'Psr\\Log\\
2540 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 70 73 72 2f 6c 6f '.=>.array($vendorDir...'/psr/lo
2560 67 2f 50 73 72 2f 4c 6f 67 27 29 2c 0a 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 27 g/Psr/Log'),.....'NC\\Updater\\'
2580 20 3d 3e 20 61 72 72 61 79 28 24 62 61 73 65 44 69 72 20 2e 20 27 2f 6c 69 62 27 29 2c 0a 29 3b .=>.array($baseDir...'/lib'),.);
25a0 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 .<?php..//.autoload_classmap.php
25c0 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 24 76 65 6e 64 6f 72 .@generated.by.Composer..$vendor
25e0 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 5f 29 29 Dir.=.dirname(dirname(__FILE__))
2600 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 69 72 29 ;.$baseDir.=.dirname($vendorDir)
2620 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 ;..return.array(.....'NC\\Update
2640 72 5c 5c 43 6f 6d 6d 61 6e 64 41 70 70 6c 69 63 61 74 69 6f 6e 27 20 3d 3e 20 24 62 61 73 65 44 r\\CommandApplication'.=>.$baseD
2660 69 72 20 2e 20 27 2f 6c 69 62 2f 43 6f 6d 6d 61 6e 64 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 ir...'/lib/CommandApplication.ph
2680 70 27 2c 0a 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 4c 6f 67 45 78 63 65 70 74 69 p',.....'NC\\Updater\\LogExcepti
26a0 6f 6e 27 20 3d 3e 20 24 62 61 73 65 44 69 72 20 2e 20 27 2f 6c 69 62 2f 4c 6f 67 45 78 63 65 70 on'.=>.$baseDir...'/lib/LogExcep
26c0 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 52 65 63 tion.php',.....'NC\\Updater\\Rec
26e0 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 44 61 ursiveDirectoryIteratorWithoutDa
2700 74 61 27 20 3d 3e 20 24 62 61 73 65 44 69 72 20 2e 20 27 2f 6c 69 62 2f 52 65 63 75 72 73 69 76 ta'.=>.$baseDir...'/lib/Recursiv
2720 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 44 61 74 61 2e 70 68 eDirectoryIteratorWithoutData.ph
2740 70 27 2c 0a 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 55 70 64 61 74 65 43 6f 6d 6d p',.....'NC\\Updater\\UpdateComm
2760 61 6e 64 27 20 3d 3e 20 24 62 61 73 65 44 69 72 20 2e 20 27 2f 6c 69 62 2f 55 70 64 61 74 65 43 and'.=>.$baseDir...'/lib/UpdateC
2780 6f 6d 6d 61 6e 64 2e 70 68 70 27 2c 0a 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 55 ommand.php',.....'NC\\Updater\\U
27a0 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 62 61 73 65 44 69 72 20 2e 20 27 2f pdateException'.=>.$baseDir...'/
27c0 6c 69 62 2f 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 4e lib/UpdateException.php',.....'N
27e0 43 5c 5c 55 70 64 61 74 65 72 5c 5c 55 70 64 61 74 65 72 27 20 3d 3e 20 24 62 61 73 65 44 69 72 C\\Updater\\Updater'.=>.$baseDir
2800 20 2e 20 27 2f 6c 69 62 2f 55 70 64 61 74 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 4e 43 5c 5c ...'/lib/Updater.php',.....'NC\\
2820 55 70 64 61 74 65 72 5c 5c 56 65 72 73 69 6f 6e 27 20 3d 3e 20 24 62 61 73 65 44 69 72 20 2e 20 Updater\\Version'.=>.$baseDir...
2840 27 2f 6c 69 62 2f 56 65 72 73 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 73 72 5c 5c 4c 6f '/lib/Version.php',.....'Psr\\Lo
2860 67 5c 5c 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 g\\AbstractLogger'.=>.$vendorDir
2880 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 41 62 73 74 72 61 63 74 4c 6f 67 ...'/psr/log/Psr/Log/AbstractLog
28a0 67 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 49 6e 76 61 6c 69 64 ger.php',.....'Psr\\Log\\Invalid
28c0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 ArgumentException'.=>.$vendorDir
28e0 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 49 6e 76 61 6c 69 64 41 72 67 75 ...'/psr/log/Psr/Log/InvalidArgu
2900 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 73 72 5c 5c 4c 6f mentException.php',.....'Psr\\Lo
2920 67 5c 5c 4c 6f 67 4c 65 76 65 6c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 g\\LogLevel'.=>.$vendorDir...'/p
2940 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 4c 65 76 65 6c 2e 70 68 70 27 2c 0a 20 20 sr/log/Psr/Log/LogLevel.php',...
2960 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 ..'Psr\\Log\\LoggerAwareInterfac
2980 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 e'.=>.$vendorDir...'/psr/log/Psr
29a0 2f 4c 6f 67 2f 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a /Log/LoggerAwareInterface.php',.
29c0 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 4c 6f 67 67 65 72 41 77 61 72 65 54 72 61 69 74 27 ....'Psr\\Log\\LoggerAwareTrait'
29e0 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c .=>.$vendorDir...'/psr/log/Psr/L
2a00 6f 67 2f 4c 6f 67 67 65 72 41 77 61 72 65 54 72 61 69 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 og/LoggerAwareTrait.php',.....'P
2a20 73 72 5c 5c 4c 6f 67 5c 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 24 76 65 sr\\Log\\LoggerInterface'.=>.$ve
2a40 6e 64 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 2f 4c 6f 67 67 ndorDir...'/psr/log/Psr/Log/Logg
2a60 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c erInterface.php',.....'Psr\\Log\
2a80 5c 4c 6f 67 67 65 72 54 72 61 69 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f \LoggerTrait'.=>.$vendorDir...'/
2aa0 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 27 psr/log/Psr/Log/LoggerTrait.php'
2ac0 2c 0a 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 4e 75 6c 6c 4c 6f 67 67 65 72 27 20 3d 3e 20 ,.....'Psr\\Log\\NullLogger'.=>.
2ae0 24 76 65 6e 64 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 2f 4e $vendorDir...'/psr/log/Psr/Log/N
2b00 75 6c 6c 4c 6f 67 67 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 54 ullLogger.php',.....'Psr\\Log\\T
2b20 65 73 74 5c 5c 44 75 6d 6d 79 54 65 73 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 est\\DummyTest'.=>.$vendorDir...
2b40 27 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 74 '/psr/log/Psr/Log/Test/LoggerInt
2b60 65 72 66 61 63 65 54 65 73 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c erfaceTest.php',.....'Psr\\Log\\
2b80 54 65 73 74 5c 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 54 65 73 74 27 20 3d 3e 20 24 76 Test\\LoggerInterfaceTest'.=>.$v
2ba0 65 6e 64 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 2f 54 65 73 endorDir...'/psr/log/Psr/Log/Tes
2bc0 74 2f 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 54 65 73 74 2e 70 68 70 27 2c 0a 20 20 20 20 t/LoggerInterfaceTest.php',.....
2be0 27 53 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 41 70 'Symfony\\Component\\Console\\Ap
2c00 70 6c 69 63 61 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d plication'.=>.$vendorDir...'/sym
2c20 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 fony/console/Application.php',..
2c40 20 20 20 27 53 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 ...'Symfony\\Component\\Console\
2c60 5c 43 6f 6d 6d 61 6e 64 5c 5c 43 6f 6d 6d 61 6e 64 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 \Command\\Command'.=>.$vendorDir
2c80 20 2e 20 27 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 43 6f 6d ...'/symfony/console/Command/Com
2ca0 6d 61 6e 64 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 mand.php',.....'Symfony\\Compone
2cc0 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 43 6f 6d 6d 61 6e 64 5c 5c 48 65 6c 70 43 6f 6d 6d 61 6e nt\\Console\\Command\\HelpComman
2ce0 64 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e d'.=>.$vendorDir...'/symfony/con
2d00 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 27 2c 0a 20 sole/Command/HelpCommand.php',..
2d20 20 20 20 27 53 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 ...'Symfony\\Component\\Console\
2d40 5c 43 6f 6d 6d 61 6e 64 5c 5c 4c 69 73 74 43 6f 6d 6d 61 6e 64 27 20 3d 3e 20 24 76 65 6e 64 6f \Command\\ListCommand'.=>.$vendo
2d60 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 6e 64 rDir...'/symfony/console/Command
2d80 2f 4c 69 73 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c /ListCommand.php',.....'Symfony\
2da0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 43 6f 6e 73 6f 6c 65 45 76 65 6e \Component\\Console\\ConsoleEven
2dc0 74 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f ts'.=>.$vendorDir...'/symfony/co
2de0 6e 73 6f 6c 65 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 nsole/ConsoleEvents.php',.....'S
2e00 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 44 65 73 63 ymfony\\Component\\Console\\Desc
2e20 72 69 70 74 6f 72 5c 5c 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 27 20 riptor\\ApplicationDescription'.
2e40 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c =>.$vendorDir...'/symfony/consol
2e60 65 2f 44 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 e/Descriptor/ApplicationDescript
2e80 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e ion.php',.....'Symfony\\Componen
2ea0 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 5c 5c 44 65 73 63 72 69 70 74 t\\Console\\Descriptor\\Descript
2ec0 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f or'.=>.$vendorDir...'/symfony/co
2ee0 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 27 nsole/Descriptor/Descriptor.php'
2f00 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ,.....'Symfony\\Component\\Conso
2f20 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 5c 5c 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 le\\Descriptor\\DescriptorInterf
2f40 61 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 ace'.=>.$vendorDir...'/symfony/c
2f60 6f 6e 73 6f 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 onsole/Descriptor/DescriptorInte
2f80 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e rface.php',.....'Symfony\\Compon
2fa0 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 5c 5c 4a 73 6f 6e 44 65 ent\\Console\\Descriptor\\JsonDe
2fc0 73 63 72 69 70 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 scriptor'.=>.$vendorDir...'/symf
2fe0 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 4a 73 6f 6e 44 65 73 63 72 ony/console/Descriptor/JsonDescr
3000 69 70 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e iptor.php',.....'Symfony\\Compon
3020 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 5c 5c 4d 61 72 6b 64 6f ent\\Console\\Descriptor\\Markdo
3040 77 6e 44 65 73 63 72 69 70 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f wnDescriptor'.=>.$vendorDir...'/
3060 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 72 2f 4d 61 72 6b 64 symfony/console/Descriptor/Markd
3080 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 ownDescriptor.php',.....'Symfony
30a0 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 \\Component\\Console\\Descriptor
30c0 5c 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 \\TextDescriptor'.=>.$vendorDir.
30e0 2e 20 27 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 72 2f 54 ..'/symfony/console/Descriptor/T
3100 65 78 74 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 extDescriptor.php',.....'Symfony
3120 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 \\Component\\Console\\Descriptor
3140 5c 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e \\XmlDescriptor'.=>.$vendorDir..
3160 20 27 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 72 2f 58 6d .'/symfony/console/Descriptor/Xm
3180 6c 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c lDescriptor.php',.....'Symfony\\
31a0 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 76 65 6e 74 5c 5c 43 6f 6e 73 6f Component\\Console\\Event\\Conso
31c0 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 leCommandEvent'.=>.$vendorDir...
31e0 27 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 65 43 '/symfony/console/Event/ConsoleC
3200 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c ommandEvent.php',.....'Symfony\\
3220 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 76 65 6e 74 5c 5c 43 6f 6e 73 6f Component\\Console\\Event\\Conso
3240 6c 65 45 76 65 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f leEvent'.=>.$vendorDir...'/symfo
3260 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
3280 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e p',.....'Symfony\\Component\\Con
32a0 73 6f 6c 65 5c 5c 45 76 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 sole\\Event\\ConsoleExceptionEve
32c0 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f nt'.=>.$vendorDir...'/symfony/co
32e0 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e nsole/Event/ConsoleExceptionEven
3300 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c t.php',.....'Symfony\\Component\
3320 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 76 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 \Console\\Event\\ConsoleTerminat
3340 65 45 76 65 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e eEvent'.=>.$vendorDir...'/symfon
3360 79 2f 63 6f 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 y/console/Event/ConsoleTerminate
3380 45 76 65 6e 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e Event.php',.....'Symfony\\Compon
33a0 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 43 6f 6d 6d 61 6e 64 ent\\Console\\Exception\\Command
33c0 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 NotFoundException'.=>.$vendorDir
33e0 20 2e 20 27 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 43 ...'/symfony/console/Exception/C
3400 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 27 2c 0a 20 20 ommandNotFoundException.php',...
3420 20 20 27 53 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 ..'Symfony\\Component\\Console\\
3440 45 78 63 65 70 74 69 6f 6e 5c 5c 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 27 20 3d Exception\\ExceptionInterface'.=
3460 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 >.$vendorDir...'/symfony/console
3480 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
34a0 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e p',.....'Symfony\\Component\\Con
34c0 73 6f 6c 65 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 sole\\Exception\\InvalidArgument
34e0 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d Exception'.=>.$vendorDir...'/sym
3500 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 41 72 fony/console/Exception/InvalidAr
3520 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f gumentException.php',.....'Symfo
3540 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 78 63 65 70 74 69 6f ny\\Component\\Console\\Exceptio
3560 6e 5c 5c 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 n\\InvalidOptionException'.=>.$v
3580 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 endorDir...'/symfony/console/Exc
35a0 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
35c0 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e p',.....'Symfony\\Component\\Con
35e0 73 6f 6c 65 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 27 sole\\Exception\\LogicException'
3600 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f .=>.$vendorDir...'/symfony/conso
3620 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 le/Exception/LogicException.php'
3640 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ,.....'Symfony\\Component\\Conso
3660 6c 65 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 27 le\\Exception\\RuntimeException'
3680 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f .=>.$vendorDir...'/symfony/conso
36a0 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
36c0 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e p',.....'Symfony\\Component\\Con
36e0 73 6f 6c 65 5c 5c 46 6f 72 6d 61 74 74 65 72 5c 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 sole\\Formatter\\OutputFormatter
3700 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 '.=>.$vendorDir...'/symfony/cons
3720 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 2e 70 68 ole/Formatter/OutputFormatter.ph
3740 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e p',.....'Symfony\\Component\\Con
3760 73 6f 6c 65 5c 5c 46 6f 72 6d 61 74 74 65 72 5c 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 sole\\Formatter\\OutputFormatter
3780 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d Interface'.=>.$vendorDir...'/sym
37a0 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 46 6f 72 fony/console/Formatter/OutputFor
37c0 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f matterInterface.php',.....'Symfo
37e0 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 46 6f 72 6d 61 74 74 65 ny\\Component\\Console\\Formatte
3800 72 5c 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 27 20 3d 3e 20 24 76 65 6e r\\OutputFormatterStyle'.=>.$ven
3820 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 dorDir...'/symfony/console/Forma
3840 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 27 2c 0a tter/OutputFormatterStyle.php',.
3860 20 20 20 20 27 53 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 ....'Symfony\\Component\\Console
3880 5c 5c 46 6f 72 6d 61 74 74 65 72 5c 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c \\Formatter\\OutputFormatterStyl
38a0 65 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 eInterface'.=>.$vendorDir...'/sy
38c0 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 46 6f mfony/console/Formatter/OutputFo
38e0 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 27 2c 0a 20 20 20 20 rmatterStyleInterface.php',.....
3900 27 53 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 46 6f 'Symfony\\Component\\Console\\Fo
3920 72 6d 61 74 74 65 72 5c 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 rmatter\\OutputFormatterStyleSta
3940 63 6b 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f ck'.=>.$vendorDir...'/symfony/co
3960 6e 73 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 53 nsole/Formatter/OutputFormatterS
3980 74 79 6c 65 53 74 61 63 6b 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f tyleStack.php',.....'Symfony\\Co
39a0 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 44 65 62 75 67 46 mponent\\Console\\Helper\\DebugF
39c0 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 ormatterHelper'.=>.$vendorDir...
39e0 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 65 62 75 67 46 6f '/symfony/console/Helper/DebugFo
3a00 72 6d 61 74 74 65 72 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 rmatterHelper.php',.....'Symfony
3a20 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 44 65 \\Component\\Console\\Helper\\De
3a40 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 scriptorHelper'.=>.$vendorDir...
3a60 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 65 73 63 72 69 70 '/symfony/console/Helper/Descrip
3a80 74 6f 72 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f torHelper.php',.....'Symfony\\Co
3aa0 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 46 6f 72 6d 61 74 mponent\\Console\\Helper\\Format
3ac0 74 65 72 48 65 6c 70 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d terHelper'.=>.$vendorDir...'/sym
3ae0 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 74 74 65 72 48 65 6c fony/console/Helper/FormatterHel
3b00 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e per.php',.....'Symfony\\Componen
3b20 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 48 65 6c 70 65 72 27 20 3d 3e 20 24 t\\Console\\Helper\\Helper'.=>.$
3b40 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 vendorDir...'/symfony/console/He
3b60 6c 70 65 72 2f 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c lper/Helper.php',.....'Symfony\\
3b80 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 48 65 6c 70 Component\\Console\\Helper\\Help
3ba0 65 72 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 erInterface'.=>.$vendorDir...'/s
3bc0 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 49 6e 74 65 ymfony/console/Helper/HelperInte
3be0 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e rface.php',.....'Symfony\\Compon
3c00 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 48 65 6c 70 65 72 53 65 74 27 ent\\Console\\Helper\\HelperSet'
3c20 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f .=>.$vendorDir...'/symfony/conso
3c40 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 53 65 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 le/Helper/HelperSet.php',.....'S
3c60 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 48 65 6c 70 ymfony\\Component\\Console\\Help
3c80 65 72 5c 5c 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 er\\InputAwareHelper'.=>.$vendor
3ca0 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 49 Dir...'/symfony/console/Helper/I
3cc0 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f nputAwareHelper.php',.....'Symfo
3ce0 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c ny\\Component\\Console\\Helper\\
3d00 50 72 6f 63 65 73 73 48 65 6c 70 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 ProcessHelper'.=>.$vendorDir...'
3d20 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 63 65 73 73 48 /symfony/console/Helper/ProcessH
3d40 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e elper.php',.....'Symfony\\Compon
3d60 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 50 72 6f 67 72 65 73 73 42 61 ent\\Console\\Helper\\ProgressBa
3d80 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e r'.=>.$vendorDir...'/symfony/con
3da0 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 67 72 65 73 73 42 61 72 2e 70 68 70 27 2c 0a 20 20 sole/Helper/ProgressBar.php',...
3dc0 20 20 27 53 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 ..'Symfony\\Component\\Console\\
3de0 48 65 6c 70 65 72 5c 5c 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 27 20 3d 3e 20 24 76 Helper\\ProgressIndicator'.=>.$v
3e00 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c endorDir...'/symfony/console/Hel
3e20 70 65 72 2f 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 per/ProgressIndicator.php',.....
3e40 27 53 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 48 65 'Symfony\\Component\\Console\\He
3e60 6c 70 65 72 5c 5c 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 lper\\QuestionHelper'.=>.$vendor
3e80 44 69 72 20 2e 20 27 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 Dir...'/symfony/console/Helper/Q
3ea0 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 uestionHelper.php',.....'Symfony
3ec0 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 53 79 \\Component\\Console\\Helper\\Sy
3ee0 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 mfonyQuestionHelper'.=>.$vendorD
3f00 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 53 79 ir...'/symfony/console/Helper/Sy
3f20 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 mfonyQuestionHelper.php',.....'S
3f40 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 48 65 6c 70 ymfony\\Component\\Console\\Help
3f60 65 72 5c 5c 54 61 62 6c 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d er\\Table'.=>.$vendorDir...'/sym
3f80 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 2e 70 68 70 27 2c 0a fony/console/Helper/Table.php',.
3fa0 20 20 20 20 27 53 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 ....'Symfony\\Component\\Console
3fc0 5c 5c 48 65 6c 70 65 72 5c 5c 54 61 62 6c 65 43 65 6c 6c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 \\Helper\\TableCell'.=>.$vendorD
3fe0 69 72 20 2e 20 27 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 ir...'/symfony/console/Helper/Ta
4000 62 6c 65 43 65 6c 6c 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 bleCell.php',.....'Symfony\\Comp
4020 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 54 61 62 6c 65 53 65 70 onent\\Console\\Helper\\TableSep
4040 61 72 61 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e arator'.=>.$vendorDir...'/symfon
4060 79 2f 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 y/console/Helper/TableSeparator.
4080 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 php',.....'Symfony\\Component\\C
40a0 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 54 61 62 6c 65 53 74 79 6c 65 27 20 3d 3e 20 24 onsole\\Helper\\TableStyle'.=>.$
40c0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 vendorDir...'/symfony/console/He
40e0 6c 70 65 72 2f 54 61 62 6c 65 53 74 79 6c 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f lper/TableStyle.php',.....'Symfo
4100 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 41 ny\\Component\\Console\\Input\\A
4120 72 67 76 49 6e 70 75 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 rgvInput'.=>.$vendorDir...'/symf
4140 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 72 67 76 49 6e 70 75 74 2e 70 68 70 27 ony/console/Input/ArgvInput.php'
4160 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ,.....'Symfony\\Component\\Conso
4180 6c 65 5c 5c 49 6e 70 75 74 5c 5c 41 72 72 61 79 49 6e 70 75 74 27 20 3d 3e 20 24 76 65 6e 64 6f le\\Input\\ArrayInput'.=>.$vendo
41a0 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 rDir...'/symfony/console/Input/A
41c0 72 72 61 79 49 6e 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f rrayInput.php',.....'Symfony\\Co
41e0 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 27 20 mponent\\Console\\Input\\Input'.
4200 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c =>.$vendorDir...'/symfony/consol
4220 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 e/Input/Input.php',.....'Symfony
4240 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 \\Component\\Console\\Input\\Inp
4260 75 74 41 72 67 75 6d 65 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 utArgument'.=>.$vendorDir...'/sy
4280 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 41 72 67 75 6d 65 6e mfony/console/Input/InputArgumen
42a0 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c t.php',.....'Symfony\\Component\
42c0 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 \Console\\Input\\InputAwareInter
42e0 66 61 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f face'.=>.$vendorDir...'/symfony/
4300 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 console/Input/InputAwareInterfac
4320 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c e.php',.....'Symfony\\Component\
4340 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e \Console\\Input\\InputDefinition
4360 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 '.=>.$vendorDir...'/symfony/cons
4380 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 27 2c 0a ole/Input/InputDefinition.php',.
43a0 20 20 20 20 27 53 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 ....'Symfony\\Component\\Console
43c0 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 24 76 65 6e \\Input\\InputInterface'.=>.$ven
43e0 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 dorDir...'/symfony/console/Input
4400 2f 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f /InputInterface.php',.....'Symfo
4420 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 ny\\Component\\Console\\Input\\I
4440 6e 70 75 74 4f 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 nputOption'.=>.$vendorDir...'/sy
4460 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 4f 70 74 69 6f 6e 2e mfony/console/Input/InputOption.
4480 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 php',.....'Symfony\\Component\\C
44a0 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 53 74 72 69 6e 67 49 6e 70 75 74 27 20 3d 3e 20 24 onsole\\Input\\StringInput'.=>.$
44c0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e vendorDir...'/symfony/console/In
44e0 70 75 74 2f 53 74 72 69 6e 67 49 6e 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f put/StringInput.php',.....'Symfo
4500 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 4c 6f 67 67 65 72 5c 5c ny\\Component\\Console\\Logger\\
4520 43 6f 6e 73 6f 6c 65 4c 6f 67 67 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 ConsoleLogger'.=>.$vendorDir...'
4540 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4c 6f 67 67 65 72 2f 43 6f 6e 73 6f 6c 65 4c /symfony/console/Logger/ConsoleL
4560 6f 67 67 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e ogger.php',.....'Symfony\\Compon
4580 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 42 75 66 66 65 72 65 64 4f 75 ent\\Console\\Output\\BufferedOu
45a0 74 70 75 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f tput'.=>.$vendorDir...'/symfony/
45c0 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 2e 70 68 console/Output/BufferedOutput.ph
45e0 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e p',.....'Symfony\\Component\\Con
4600 73 6f 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 27 20 3d 3e 20 sole\\Output\\ConsoleOutput'.=>.
4620 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f $vendorDir...'/symfony/console/O
4640 75 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 utput/ConsoleOutput.php',.....'S
4660 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 4f 75 74 70 ymfony\\Component\\Console\\Outp
4680 75 74 5c 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 24 ut\\ConsoleOutputInterface'.=>.$
46a0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 vendorDir...'/symfony/console/Ou
46c0 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 tput/ConsoleOutputInterface.php'
46e0 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ,.....'Symfony\\Component\\Conso
4700 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 4e 75 6c 6c 4f 75 74 70 75 74 27 20 3d 3e 20 24 76 65 6e 64 le\\Output\\NullOutput'.=>.$vend
4720 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 orDir...'/symfony/console/Output
4740 2f 4e 75 6c 6c 4f 75 74 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c /NullOutput.php',.....'Symfony\\
4760 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 4f 75 74 70 Component\\Console\\Output\\Outp
4780 75 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f ut'.=>.$vendorDir...'/symfony/co
47a0 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f 75 74 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 nsole/Output/Output.php',.....'S
47c0 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 4f 75 74 70 ymfony\\Component\\Console\\Outp
47e0 75 74 5c 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 ut\\OutputInterface'.=>.$vendorD
4800 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f 75 ir...'/symfony/console/Output/Ou
4820 74 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 tputInterface.php',.....'Symfony
4840 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 53 74 \\Component\\Console\\Output\\St
4860 72 65 61 6d 4f 75 74 70 75 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 reamOutput'.=>.$vendorDir...'/sy
4880 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 61 6d 4f 75 74 70 75 mfony/console/Output/StreamOutpu
48a0 74 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c t.php',.....'Symfony\\Component\
48c0 5c 43 6f 6e 73 6f 6c 65 5c 5c 51 75 65 73 74 69 6f 6e 5c 5c 43 68 6f 69 63 65 51 75 65 73 74 69 \Console\\Question\\ChoiceQuesti
48e0 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f on'.=>.$vendorDir...'/symfony/co
4900 6e 73 6f 6c 65 2f 51 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 nsole/Question/ChoiceQuestion.ph
4920 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e p',.....'Symfony\\Component\\Con
4940 73 6f 6c 65 5c 5c 51 75 65 73 74 69 6f 6e 5c 5c 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 sole\\Question\\ConfirmationQues
4960 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f tion'.=>.$vendorDir...'/symfony/
4980 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 6f 6e 51 75 65 console/Question/ConfirmationQue
49a0 73 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e stion.php',.....'Symfony\\Compon
49c0 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 51 75 65 73 74 69 6f 6e 5c 5c 51 75 65 73 74 69 6f 6e ent\\Console\\Question\\Question
49e0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 '.=>.$vendorDir...'/symfony/cons
4a00 6f 6c 65 2f 51 75 65 73 74 69 6f 6e 2f 51 75 65 73 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 ole/Question/Question.php',.....
4a20 27 53 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 53 74 'Symfony\\Component\\Console\\St
4a40 79 6c 65 5c 5c 4f 75 74 70 75 74 53 74 79 6c 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 yle\\OutputStyle'.=>.$vendorDir.
4a60 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 74 79 6c 65 2f 4f 75 74 70 75 74 ..'/symfony/console/Style/Output
4a80 53 74 79 6c 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e Style.php',.....'Symfony\\Compon
4aa0 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 53 74 79 6c 65 5c 5c 53 74 79 6c 65 49 6e 74 65 72 66 ent\\Console\\Style\\StyleInterf
4ac0 61 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 ace'.=>.$vendorDir...'/symfony/c
4ae0 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 65 2e 70 68 70 27 onsole/Style/StyleInterface.php'
4b00 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ,.....'Symfony\\Component\\Conso
4b20 6c 65 5c 5c 53 74 79 6c 65 5c 5c 53 79 6d 66 6f 6e 79 53 74 79 6c 65 27 20 3d 3e 20 24 76 65 6e le\\Style\\SymfonyStyle'.=>.$ven
4b40 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 74 79 6c 65 dorDir...'/symfony/console/Style
4b60 2f 53 79 6d 66 6f 6e 79 53 74 79 6c 65 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 /SymfonyStyle.php',.....'Symfony
4b80 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 54 65 73 74 65 72 5c 5c 41 70 \\Component\\Console\\Tester\\Ap
4ba0 70 6c 69 63 61 74 69 6f 6e 54 65 73 74 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e plicationTester'.=>.$vendorDir..
4bc0 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 54 65 73 74 65 72 2f 41 70 70 6c 69 63 .'/symfony/console/Tester/Applic
4be0 61 74 69 6f 6e 54 65 73 74 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c ationTester.php',.....'Symfony\\
4c00 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 54 65 73 74 65 72 5c 5c 43 6f 6d 6d Component\\Console\\Tester\\Comm
4c20 61 6e 64 54 65 73 74 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d andTester'.=>.$vendorDir...'/sym
4c40 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 73 74 65 fony/console/Tester/CommandTeste
4c60 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c r.php',.....'Symfony\\Component\
4c80 5c 44 65 62 75 67 5c 5c 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 27 20 3d 3e 20 24 76 65 6e \Debug\\BufferingLogger'.=>.$ven
4ca0 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 42 75 66 66 65 72 69 dorDir...'/symfony/debug/Bufferi
4cc0 6e 67 4c 6f 67 67 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d ngLogger.php',.....'Symfony\\Com
4ce0 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 44 65 62 75 67 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ponent\\Debug\\Debug'.=>.$vendor
4d00 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 44 65 62 75 67 2e 70 68 70 27 Dir...'/symfony/debug/Debug.php'
4d20 2c 0a 20 20 20 20 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 ,.....'Symfony\\Component\\Debug
4d40 5c 5c 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 \\DebugClassLoader'.=>.$vendorDi
4d60 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 44 65 62 75 67 43 6c 61 73 73 4c 6f r...'/symfony/debug/DebugClassLo
4d80 61 64 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 ader.php',.....'Symfony\\Compone
4da0 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 20 3d 3e 20 24 76 65 6e nt\\Debug\\ErrorHandler'.=>.$ven
4dc0 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 72 72 6f 72 48 61 dorDir...'/symfony/debug/ErrorHa
4de0 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e ndler.php',.....'Symfony\\Compon
4e00 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 27 20 3d 3e ent\\Debug\\ExceptionHandler'.=>
4e20 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 .$vendorDir...'/symfony/debug/Ex
4e40 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e ceptionHandler.php',.....'Symfon
4e60 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c y\\Component\\Debug\\Exception\\
4e80 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 ClassNotFoundException'.=>.$vend
4ea0 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f orDir...'/symfony/debug/Exceptio
4ec0 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 70 27 2c 0a 20 n/ClassNotFoundException.php',..
4ee0 20 20 20 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 45 ...'Symfony\\Component\\Debug\\E
4f00 78 63 65 70 74 69 6f 6e 5c 5c 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 27 xception\\ContextErrorException'
4f20 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 .=>.$vendorDir...'/symfony/debug
4f40 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e /Exception/ContextErrorException
4f60 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c .php',.....'Symfony\\Component\\
4f80 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 Debug\\Exception\\FatalErrorExce
4fa0 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 ption'.=>.$vendorDir...'/symfony
4fc0 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 /debug/Exception/FatalErrorExcep
4fe0 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 tion.php',.....'Symfony\\Compone
5000 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 46 61 74 61 6c 54 68 72 6f 77 nt\\Debug\\Exception\\FatalThrow
5020 61 62 6c 65 45 72 72 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d ableError'.=>.$vendorDir...'/sym
5040 66 6f 6e 79 2f 64 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 fony/debug/Exception/FatalThrowa
5060 62 6c 65 45 72 72 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d bleError.php',.....'Symfony\\Com
5080 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 46 6c 61 74 74 65 ponent\\Debug\\Exception\\Flatte
50a0 6e 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 nException'.=>.$vendorDir...'/sy
50c0 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 6c 61 74 74 65 6e 45 78 63 mfony/debug/Exception/FlattenExc
50e0 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f eption.php',.....'Symfony\\Compo
5100 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 4f 75 74 4f 66 4d 65 6d nent\\Debug\\Exception\\OutOfMem
5120 6f 72 79 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f oryException'.=>.$vendorDir...'/
5140 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 4f 75 74 4f 66 4d 65 6d symfony/debug/Exception/OutOfMem
5160 6f 72 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c oryException.php',.....'Symfony\
5180 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 55 6e \Component\\Debug\\Exception\\Un
51a0 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 definedFunctionException'.=>.$ve
51c0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 ndorDir...'/symfony/debug/Except
51e0 69 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 ion/UndefinedFunctionException.p
5200 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 hp',.....'Symfony\\Component\\De
5220 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 bug\\Exception\\UndefinedMethodE
5240 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 xception'.=>.$vendorDir...'/symf
5260 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 55 6e 64 65 66 69 6e 65 64 4d 65 74 ony/debug/Exception/UndefinedMet
5280 68 6f 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c hodException.php',.....'Symfony\
52a0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e \Component\\Debug\\FatalErrorHan
52c0 64 6c 65 72 5c 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 dler\\ClassNotFoundFatalErrorHan
52e0 64 6c 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f dler'.=>.$vendorDir...'/symfony/
5300 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 43 6c 61 73 73 4e 6f 74 debug/FatalErrorHandler/ClassNot
5320 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 20 20 FoundFatalErrorHandler.php',....
5340 20 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 46 61 74 .'Symfony\\Component\\Debug\\Fat
5360 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 alErrorHandler\\FatalErrorHandle
5380 72 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 rInterface'.=>.$vendorDir...'/sy
53a0 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 46 61 mfony/debug/FatalErrorHandler/Fa
53c0 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 70 68 70 27 2c 0a 20 talErrorHandlerInterface.php',..
53e0 20 20 20 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 46 ...'Symfony\\Component\\Debug\\F
5400 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 5c 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 atalErrorHandler\\UndefinedFunct
5420 69 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ionFatalErrorHandler'.=>.$vendor
5440 44 69 72 20 2e 20 27 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 Dir...'/symfony/debug/FatalError
5460 48 61 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 Handler/UndefinedFunctionFatalEr
5480 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 rorHandler.php',.....'Symfony\\C
54a0 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c omponent\\Debug\\FatalErrorHandl
54c0 65 72 5c 5c 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e er\\UndefinedMethodFatalErrorHan
54e0 64 6c 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f dler'.=>.$vendorDir...'/symfony/
5500 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 55 6e 64 65 66 69 6e 65 debug/FatalErrorHandler/Undefine
5520 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 dMethodFatalErrorHandler.php',..
5540 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c ...'Symfony\\Polyfill\\Mbstring\
5560 5c 4d 62 73 74 72 69 6e 67 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d \Mbstring'.=>.$vendorDir...'/sym
5580 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 73 74 72 69 6e 67 2e fony/polyfill-mbstring/Mbstring.
55a0 70 68 70 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 php',.);.<?php..//.autoload_stat
55c0 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 65 72 0a 0a 6e ic.php.@generated.by.Composer..n
55e0 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 0a 0a 63 6c 61 amespace.Composer\Autoload;..cla
5600 73 73 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 39 39 34 62 38 64 38 37 30 64 64 ss.ComposerStaticInit994b8d870dd
5620 62 39 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 0a 7b 0a 20 20 20 20 70 75 62 6c b923ebc3ff0ceaaaa96a6.{.....publ
5640 69 63 20 73 74 61 74 69 63 20 24 66 69 6c 65 73 20 3d 20 61 72 72 61 79 20 28 0a 20 20 20 20 20 ic.static.$files.=.array.(......
5660 20 20 20 27 30 65 36 64 37 62 66 34 61 35 38 31 31 62 66 61 35 63 66 34 30 63 35 63 63 64 36 66 ...'0e6d7bf4a5811bfa5cf40c5ccd6f
5680 61 65 36 61 27 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 ae6a'.=>.__DIR__...'/..'...'/sym
56a0 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 62 6f 6f 74 73 74 72 61 70 fony/polyfill-mbstring/bootstrap
56c0 2e 70 68 70 27 2c 0a 20 20 20 20 29 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 .php',.....);......public.static
56e0 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 61 72 72 61 79 20 28 0a 20 20 .$prefixLengthsPsr4.=.array.(...
5700 20 20 20 20 20 20 27 53 27 20 3d 3e 20 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 20 28 0a 20 20 ......'S'.=>..........array.(...
5720 20 20 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 ..........'Symfony\\Polyfill\\Mb
5740 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 32 36 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 53 79 string\\'.=>.26,.............'Sy
5760 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 3d 3e 20 32 34 mfony\\Component\\Debug\\'.=>.24
5780 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e ,.............'Symfony\\Componen
57a0 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 27 20 3d 3e 20 32 36 2c 0a 20 20 20 20 20 20 20 20 29 2c 0a t\\Console\\'.=>.26,.........),.
57c0 20 20 20 20 20 20 20 20 27 50 27 20 3d 3e 20 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 20 28 0a ........'P'.=>..........array.(.
57e0 20 20 20 20 20 20 20 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 38 2c 0a 20 ............'Psr\\Log\\'.=>.8,..
5800 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 27 4e 27 20 3d 3e 20 0a 20 20 20 20 20 20 .......),.........'N'.=>........
5820 20 20 61 72 72 61 79 20 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 ..array.(.............'NC\\Updat
5840 65 72 5c 5c 27 20 3d 3e 20 31 31 2c 0a 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 29 3b 0a 0a er\\'.=>.11,.........),.....);..
5860 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 70 72 65 66 69 78 44 69 72 73 50 73 72 ....public.static.$prefixDirsPsr
5880 34 20 3d 20 61 72 72 61 79 20 28 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f 4.=.array.(.........'Symfony\\Po
58a0 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 0a 20 20 20 20 20 20 20 20 lyfill\\Mbstring\\'.=>..........
58c0 61 72 72 61 79 20 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f array.(.............0.=>.__DIR__
58e0 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
5900 73 74 72 69 6e 67 27 2c 0a 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d string',.........),.........'Sym
5920 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 3d 3e 20 0a 20 20 fony\\Component\\Debug\\'.=>....
5940 20 20 20 20 20 20 61 72 72 61 79 20 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 30 20 3d 3e 20 5f ......array.(.............0.=>._
5960 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 64 65 62 75 67 _DIR__...'/..'...'/symfony/debug
5980 27 2c 0a 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c ',.........),.........'Symfony\\
59a0 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 0a 20 20 20 20 20 20 Component\\Console\\'.=>........
59c0 20 20 61 72 72 61 79 20 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 30 20 3d 3e 20 5f 5f 44 49 52 ..array.(.............0.=>.__DIR
59e0 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 27 2c __...'/..'...'/symfony/console',
5a00 0a 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 .........),.........'Psr\\Log\\'
5a20 20 3d 3e 20 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 20 28 0a 20 20 20 20 20 20 20 20 20 20 20 .=>..........array.(............
5a40 20 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 .0.=>.__DIR__...'/..'...'/psr/lo
5a60 67 2f 50 73 72 2f 4c 6f 67 27 2c 0a 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 27 g/Psr/Log',.........),.........'
5a80 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 27 20 3d 3e 20 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 NC\\Updater\\'.=>..........array
5aa0 20 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f .(.............0.=>.__DIR__...'/
5ac0 2e 2e 2f 2e 2e 27 20 2e 20 27 2f 6c 69 62 27 2c 0a 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 ../..'...'/lib',.........),.....
5ae0 29 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 63 6c 61 73 73 4d 61 70 20 );......public.static.$classMap.
5b00 3d 20 61 72 72 61 79 20 28 0a 20 20 20 20 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c =.array.(.........'NC\\Updater\\
5b20 43 6f 6d 6d 61 6e 64 41 70 70 6c 69 63 61 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e CommandApplication'.=>.__DIR__..
5b40 20 27 2f 2e 2e 2f 2e 2e 27 20 2e 20 27 2f 6c 69 62 2f 43 6f 6d 6d 61 6e 64 41 70 70 6c 69 63 61 .'/../..'...'/lib/CommandApplica
5b60 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c tion.php',.........'NC\\Updater\
5b80 5c 4c 6f 67 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e \LogException'.=>.__DIR__...'/..
5ba0 2f 2e 2e 27 20 2e 20 27 2f 6c 69 62 2f 4c 6f 67 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a /..'...'/lib/LogException.php',.
5bc0 20 20 20 20 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 52 65 63 75 72 73 69 76 65 44 ........'NC\\Updater\\RecursiveD
5be0 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 44 61 74 61 27 20 3d 3e 20 irectoryIteratorWithoutData'.=>.
5c00 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e 27 20 2e 20 27 2f 6c 69 62 2f 52 65 63 75 72 __DIR__...'/../..'...'/lib/Recur
5c20 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 44 61 74 61 siveDirectoryIteratorWithoutData
5c40 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 55 70 64 .php',.........'NC\\Updater\\Upd
5c60 61 74 65 43 6f 6d 6d 61 6e 64 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e ateCommand'.=>.__DIR__...'/../..
5c80 27 20 2e 20 27 2f 6c 69 62 2f 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 27 2c 0a 20 20 '...'/lib/UpdateCommand.php',...
5ca0 20 20 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 55 70 64 61 74 65 45 78 63 65 70 74 ......'NC\\Updater\\UpdateExcept
5cc0 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e 27 20 2e 20 27 2f 6c ion'.=>.__DIR__...'/../..'...'/l
5ce0 69 62 2f 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 ib/UpdateException.php',........
5d00 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 55 70 64 61 74 65 72 27 20 3d 3e 20 5f 5f 44 49 52 .'NC\\Updater\\Updater'.=>.__DIR
5d20 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e 27 20 2e 20 27 2f 6c 69 62 2f 55 70 64 61 74 65 72 2e 70 68 __...'/../..'...'/lib/Updater.ph
5d40 70 27 2c 0a 20 20 20 20 20 20 20 20 27 4e 43 5c 5c 55 70 64 61 74 65 72 5c 5c 56 65 72 73 69 6f p',.........'NC\\Updater\\Versio
5d60 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e 27 20 2e 20 27 2f 6c 69 62 n'.=>.__DIR__...'/../..'...'/lib
5d80 2f 56 65 72 73 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 /Version.php',.........'Psr\\Log
5da0 5c 5c 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 \\AbstractLogger'.=>.__DIR__...'
5dc0 2f 2e 2e 27 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 41 62 73 74 72 61 63 /..'...'/psr/log/Psr/Log/Abstrac
5de0 74 4c 6f 67 67 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c tLogger.php',.........'Psr\\Log\
5e00 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 27 20 3d 3e 20 5f 5f \InvalidArgumentException'.=>.__
5e20 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 2f 50 73 72 2f 4c 6f DIR__...'/..'...'/psr/log/Psr/Lo
5e40 67 2f 49 6e 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 27 2c g/InvalidArgumentException.php',
5e60 0a 20 20 20 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 4c 6f 67 4c 65 76 65 6c 27 20 3d 3e .........'Psr\\Log\\LogLevel'.=>
5e80 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 2f 50 73 72 .__DIR__...'/..'...'/psr/log/Psr
5ea0 2f 4c 6f 67 2f 4c 6f 67 4c 65 76 65 6c 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 50 73 72 /Log/LogLevel.php',.........'Psr
5ec0 5c 5c 4c 6f 67 5c 5c 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 \\Log\\LoggerAwareInterface'.=>.
5ee0 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 2f 50 73 72 2f __DIR__...'/..'...'/psr/log/Psr/
5f00 4c 6f 67 2f 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 Log/LoggerAwareInterface.php',..
5f20 20 20 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 4c 6f 67 67 65 72 41 77 61 72 65 54 72 61 .......'Psr\\Log\\LoggerAwareTra
5f40 69 74 27 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 it'.=>.__DIR__...'/..'...'/psr/l
5f60 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 41 77 61 72 65 54 72 61 69 74 2e 70 68 70 27 og/Psr/Log/LoggerAwareTrait.php'
5f80 2c 0a 20 20 20 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 4c 6f 67 67 65 72 49 6e 74 65 72 ,.........'Psr\\Log\\LoggerInter
5fa0 66 61 63 65 27 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 face'.=>.__DIR__...'/..'...'/psr
5fc0 2f 6c 6f 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 /log/Psr/Log/LoggerInterface.php
5fe0 27 2c 0a 20 20 20 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 4c 6f 67 67 65 72 54 72 61 69 ',.........'Psr\\Log\\LoggerTrai
6000 74 27 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 t'.=>.__DIR__...'/..'...'/psr/lo
6020 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 27 2c 0a 20 20 20 20 g/Psr/Log/LoggerTrait.php',.....
6040 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 4e 75 6c 6c 4c 6f 67 67 65 72 27 20 3d 3e 20 5f 5f ....'Psr\\Log\\NullLogger'.=>.__
6060 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 2f 50 73 72 2f 4c 6f DIR__...'/..'...'/psr/log/Psr/Lo
6080 67 2f 4e 75 6c 6c 4c 6f 67 67 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 50 73 72 5c g/NullLogger.php',.........'Psr\
60a0 5c 4c 6f 67 5c 5c 54 65 73 74 5c 5c 44 75 6d 6d 79 54 65 73 74 27 20 3d 3e 20 5f 5f 44 49 52 5f \Log\\Test\\DummyTest'.=>.__DIR_
60c0 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 54 65 _...'/..'...'/psr/log/Psr/Log/Te
60e0 73 74 2f 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 54 65 73 74 2e 70 68 70 27 2c 0a 20 20 20 st/LoggerInterfaceTest.php',....
6100 20 20 20 20 20 27 50 73 72 5c 5c 4c 6f 67 5c 5c 54 65 73 74 5c 5c 4c 6f 67 67 65 72 49 6e 74 65 .....'Psr\\Log\\Test\\LoggerInte
6120 72 66 61 63 65 54 65 73 74 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 rfaceTest'.=>.__DIR__...'/..'...
6140 27 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 74 '/psr/log/Psr/Log/Test/LoggerInt
6160 65 72 66 61 63 65 54 65 73 74 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e erfaceTest.php',.........'Symfon
6180 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 41 70 70 6c 69 63 61 74 69 y\\Component\\Console\\Applicati
61a0 6f 6e 27 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 on'.=>.__DIR__...'/..'...'/symfo
61c0 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 ny/console/Application.php',....
61e0 20 20 20 20 20 27 53 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 .....'Symfony\\Component\\Consol
6200 65 5c 5c 43 6f 6d 6d 61 6e 64 5c 5c 43 6f 6d 6d 61 6e 64 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 e\\Command\\Command'.=>.__DIR__.
6220 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d ..'/..'...'/symfony/console/Comm
6240 61 6e 64 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f and/Command.php',.........'Symfo
6260 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 43 6f 6d 6d 61 6e 64 5c ny\\Component\\Console\\Command\
6280 5c 48 65 6c 70 43 6f 6d 6d 61 6e 64 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 \HelpCommand'.=>.__DIR__...'/..'
62a0 20 2e 20 27 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 48 65 6c ...'/symfony/console/Command/Hel
62c0 70 43 6f 6d 6d 61 6e 64 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c pCommand.php',.........'Symfony\
62e0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 43 6f 6d 6d 61 6e 64 5c 5c 4c 69 \Component\\Console\\Command\\Li
6300 73 74 43 6f 6d 6d 61 6e 64 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 stCommand'.=>.__DIR__...'/..'...
6320 27 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 '/symfony/console/Command/ListCo
6340 6d 6d 61 6e 64 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f mmand.php',.........'Symfony\\Co
6360 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 27 mponent\\Console\\ConsoleEvents'
6380 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 2f .=>.__DIR__...'/..'...'/symfony/
63a0 63 6f 6e 73 6f 6c 65 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 2e 70 68 70 27 2c 0a 20 20 20 20 console/ConsoleEvents.php',.....
63c0 20 20 20 20 27 53 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 ....'Symfony\\Component\\Console
63e0 5c 5c 44 65 73 63 72 69 70 74 6f 72 5c 5c 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 \\Descriptor\\ApplicationDescrip
6400 74 69 6f 6e 27 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 tion'.=>.__DIR__...'/..'...'/sym
6420 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 41 70 70 6c 69 63 61 74 fony/console/Descriptor/Applicat
6440 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 ionDescription.php',.........'Sy
6460 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 44 65 73 63 72 mfony\\Component\\Console\\Descr
6480 69 70 74 6f 72 5c 5c 44 65 73 63 72 69 70 74 6f 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 iptor\\Descriptor'.=>.__DIR__...
64a0 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 '/..'...'/symfony/console/Descri
64c0 70 74 6f 72 2f 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 ptor/Descriptor.php',.........'S
64e0 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 44 65 73 63 ymfony\\Component\\Console\\Desc
6500 72 69 70 74 6f 72 5c 5c 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 riptor\\DescriptorInterface'.=>.
6520 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 63 6f 6e 73 __DIR__...'/..'...'/symfony/cons
6540 6f 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 ole/Descriptor/DescriptorInterfa
6560 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f ce.php',.........'Symfony\\Compo
6580 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 5c 5c 4a 73 6f 6e 44 nent\\Console\\Descriptor\\JsonD
65a0 65 73 63 72 69 70 74 6f 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 escriptor'.=>.__DIR__...'/..'...
65c0 27 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 72 2f 4a 73 6f '/symfony/console/Descriptor/Jso
65e0 6e 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f nDescriptor.php',.........'Symfo
6600 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 ny\\Component\\Console\\Descript
6620 6f 72 5c 5c 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 27 20 3d 3e 20 5f 5f 44 49 52 or\\MarkdownDescriptor'.=>.__DIR
6640 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 __...'/..'...'/symfony/console/D
6660 65 73 63 72 69 70 74 6f 72 2f 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 escriptor/MarkdownDescriptor.php
6680 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c ',.........'Symfony\\Component\\
66a0 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 5c 5c 54 65 78 74 44 65 73 63 72 69 70 Console\\Descriptor\\TextDescrip
66c0 74 6f 72 27 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 tor'.=>.__DIR__...'/..'...'/symf
66e0 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 54 65 78 74 44 65 73 63 72 ony/console/Descriptor/TextDescr
6700 69 70 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f iptor.php',.........'Symfony\\Co
6720 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 44 65 73 63 72 69 70 74 6f 72 5c 5c 58 6d mponent\\Console\\Descriptor\\Xm
6740 6c 44 65 73 63 72 69 70 74 6f 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 lDescriptor'.=>.__DIR__...'/..'.
6760 2e 20 27 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 72 2f 58 ..'/symfony/console/Descriptor/X
6780 6d 6c 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 mlDescriptor.php',.........'Symf
67a0 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 45 76 65 6e 74 5c 5c ony\\Component\\Console\\Event\\
67c0 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 ConsoleCommandEvent'.=>.__DIR__.
67e0 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e ..'/..'...'/symfony/console/Even
6800 74 2f 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e 70 68 70 27 2c 0a 20 20 20 20 t/ConsoleCommandEvent.php',.....
6820 20 20 20 20 27 53 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 ....'Symfony\\Component\\Console
6840 5c 5c 45 76 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 27 20 3d 3e 20 5f 5f 44 49 52 5f \\Event\\ConsoleEvent'.=>.__DIR_
6860 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 _...'/..'...'/symfony/console/Ev
6880 65 6e 74 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 ent/ConsoleEvent.php',.........'
68a0 53 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 45 76 65 Symfony\\Component\\Console\\Eve
68c0 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 27 20 3d 3e 20 5f 5f nt\\ConsoleExceptionEvent'.=>.__
68e0 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 63 6f 6e 73 6f 6c DIR__...'/..'...'/symfony/consol
6900 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 2e 70 68 e/Event/ConsoleExceptionEvent.ph
6920 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c p',.........'Symfony\\Component\
6940 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 76 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 \Console\\Event\\ConsoleTerminat
6960 65 45 76 65 6e 74 27 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 eEvent'.=>.__DIR__...'/..'...'/s
6980 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 65 54 65 72 6d ymfony/console/Event/ConsoleTerm
69a0 69 6e 61 74 65 45 76 65 6e 74 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e inateEvent.php',.........'Symfon
69c0 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 78 63 65 70 74 69 6f 6e y\\Component\\Console\\Exception
69e0 5c 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 27 20 3d 3e 20 5f \\CommandNotFoundException'.=>._
6a00 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 63 6f 6e 73 6f _DIR__...'/..'...'/symfony/conso
6a20 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 le/Exception/CommandNotFoundExce
6a40 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f ption.php',.........'Symfony\\Co
6a60 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 45 78 63 mponent\\Console\\Exception\\Exc
6a80 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f eptionInterface'.=>.__DIR__...'/
6aa0 2e 2e 27 20 2e 20 27 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 ..'...'/symfony/console/Exceptio
6ac0 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 n/ExceptionInterface.php',......
6ae0 20 20 20 27 53 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 ...'Symfony\\Component\\Console\
6b00 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 \Exception\\InvalidArgumentExcep
6b20 74 69 6f 6e 27 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 tion'.=>.__DIR__...'/..'...'/sym
6b40 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 41 72 fony/console/Exception/InvalidAr
6b60 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 gumentException.php',.........'S
6b80 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 45 78 63 65 ymfony\\Component\\Console\\Exce
6ba0 70 74 69 6f 6e 5c 5c 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 27 20 3d ption\\InvalidOptionException'.=
6bc0 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 2f 63 6f >.__DIR__...'/..'...'/symfony/co
6be0 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 nsole/Exception/InvalidOptionExc
6c00 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 eption.php',.........'Symfony\\C
6c20 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 4c 6f omponent\\Console\\Exception\\Lo
6c40 67 69 63 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 gicException'.=>.__DIR__...'/..'
6c60 20 2e 20 27 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 ...'/symfony/console/Exception/L
6c80 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d ogicException.php',.........'Sym
6ca0 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 45 78 63 65 70 74 fony\\Component\\Console\\Except
6cc0 69 6f 6e 5c 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f ion\\RuntimeException'.=>.__DIR_
6ce0 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 _...'/..'...'/symfony/console/Ex
6d00 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 70 27 2c 0a 20 ception/RuntimeException.php',..
6d20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 .......'Symfony\\Component\\Cons
6d40 6f 6c 65 5c 5c 46 6f 72 6d 61 74 74 65 72 5c 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 27 ole\\Formatter\\OutputFormatter'
6d60 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 2f .=>.__DIR__...'/..'...'/symfony/
6d80 63 6f 6e 73 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 console/Formatter/OutputFormatte
6da0 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e r.php',.........'Symfony\\Compon
6dc0 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 46 6f 72 6d 61 74 74 65 72 5c 5c 4f 75 74 70 75 74 46 ent\\Console\\Formatter\\OutputF
6de0 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 ormatterInterface'.=>.__DIR__...
6e00 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 '/..'...'/symfony/console/Format
6e20 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ter/OutputFormatterInterface.php
6e40 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c ',.........'Symfony\\Component\\
6e60 43 6f 6e 73 6f 6c 65 5c 5c 46 6f 72 6d 61 74 74 65 72 5c 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 Console\\Formatter\\OutputFormat
6e80 74 65 72 53 74 79 6c 65 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 terStyle'.=>.__DIR__...'/..'...'
6ea0 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 75 /symfony/console/Formatter/Outpu
6ec0 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 tFormatterStyle.php',.........'S
6ee0 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 46 6f 72 6d ymfony\\Component\\Console\\Form
6f00 61 74 74 65 72 5c 5c 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 atter\\OutputFormatterStyleInter
6f20 66 61 63 65 27 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 face'.=>.__DIR__...'/..'...'/sym
6f40 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 46 6f 72 fony/console/Formatter/OutputFor
6f60 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 matterStyleInterface.php',......
6f80 20 20 20 27 53 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 ...'Symfony\\Component\\Console\
6fa0 5c 46 6f 72 6d 61 74 74 65 72 5c 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 \Formatter\\OutputFormatterStyle
6fc0 53 74 61 63 6b 27 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 Stack'.=>.__DIR__...'/..'...'/sy
6fe0 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 46 6f mfony/console/Formatter/OutputFo
7000 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 rmatterStyleStack.php',.........
7020 27 53 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 48 65 'Symfony\\Component\\Console\\He
7040 6c 70 65 72 5c 5c 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 27 20 3d 3e 20 5f lper\\DebugFormatterHelper'.=>._
7060 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 63 6f 6e 73 6f _DIR__...'/..'...'/symfony/conso
7080 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 65 6c 70 65 72 2e 70 le/Helper/DebugFormatterHelper.p
70a0 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 hp',.........'Symfony\\Component
70c0 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 44 65 73 63 72 69 70 74 6f 72 48 65 6c \\Console\\Helper\\DescriptorHel
70e0 70 65 72 27 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 per'.=>.__DIR__...'/..'...'/symf
7100 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 65 73 63 72 69 70 74 6f 72 48 65 6c ony/console/Helper/DescriptorHel
7120 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 per.php',.........'Symfony\\Comp
7140 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 46 6f 72 6d 61 74 74 65 onent\\Console\\Helper\\Formatte
7160 72 48 65 6c 70 65 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f rHelper'.=>.__DIR__...'/..'...'/
7180 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 74 74 65 72 symfony/console/Helper/Formatter
71a0 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 Helper.php',.........'Symfony\\C
71c0 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 48 65 6c 70 65 omponent\\Console\\Helper\\Helpe
71e0 72 27 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 r'.=>.__DIR__...'/..'...'/symfon
7200 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 y/console/Helper/Helper.php',...
7220 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ......'Symfony\\Component\\Conso
7240 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 le\\Helper\\HelperInterface'.=>.
7260 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 63 6f 6e 73 __DIR__...'/..'...'/symfony/cons
7280 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 27 2c ole/Helper/HelperInterface.php',
72a0 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f .........'Symfony\\Component\\Co
72c0 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 48 65 6c 70 65 72 53 65 74 27 20 3d 3e 20 5f 5f 44 nsole\\Helper\\HelperSet'.=>.__D
72e0 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 63 6f 6e 73 6f 6c 65 IR__...'/..'...'/symfony/console
7300 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 53 65 74 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 /Helper/HelperSet.php',.........
7320 27 53 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 48 65 'Symfony\\Component\\Console\\He
7340 6c 70 65 72 5c 5c 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 27 20 3d 3e 20 5f 5f 44 49 52 lper\\InputAwareHelper'.=>.__DIR
7360 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 __...'/..'...'/symfony/console/H
7380 65 6c 70 65 72 2f 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 elper/InputAwareHelper.php',....
73a0 20 20 20 20 20 27 53 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 .....'Symfony\\Component\\Consol
73c0 65 5c 5c 48 65 6c 70 65 72 5c 5c 50 72 6f 63 65 73 73 48 65 6c 70 65 72 27 20 3d 3e 20 5f 5f 44 e\\Helper\\ProcessHelper'.=>.__D
73e0 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 63 6f 6e 73 6f 6c 65 IR__...'/..'...'/symfony/console
7400 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 27 2c 0a 20 20 20 20 /Helper/ProcessHelper.php',.....
7420 20 20 20 20 27 53 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 ....'Symfony\\Component\\Console
7440 5c 5c 48 65 6c 70 65 72 5c 5c 50 72 6f 67 72 65 73 73 42 61 72 27 20 3d 3e 20 5f 5f 44 49 52 5f \\Helper\\ProgressBar'.=>.__DIR_
7460 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 _...'/..'...'/symfony/console/He
7480 6c 70 65 72 2f 50 72 6f 67 72 65 73 73 42 61 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 lper/ProgressBar.php',.........'
74a0 53 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 48 65 6c Symfony\\Component\\Console\\Hel
74c0 70 65 72 5c 5c 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 27 20 3d 3e 20 5f 5f 44 49 52 per\\ProgressIndicator'.=>.__DIR
74e0 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 __...'/..'...'/symfony/console/H
7500 65 6c 70 65 72 2f 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 2e 70 68 70 27 2c 0a 20 20 elper/ProgressIndicator.php',...
7520 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ......'Symfony\\Component\\Conso
7540 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 27 20 3d 3e 20 5f le\\Helper\\QuestionHelper'.=>._
7560 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 63 6f 6e 73 6f _DIR__...'/..'...'/symfony/conso
7580 6c 65 2f 48 65 6c 70 65 72 2f 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 le/Helper/QuestionHelper.php',..
75a0 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 .......'Symfony\\Component\\Cons
75c0 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 ole\\Helper\\SymfonyQuestionHelp
75e0 65 72 27 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 er'.=>.__DIR__...'/..'...'/symfo
7600 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f ny/console/Helper/SymfonyQuestio
7620 6e 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c nHelper.php',.........'Symfony\\
7640 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 48 65 6c 70 65 72 5c 5c 54 61 62 6c Component\\Console\\Helper\\Tabl
7660 65 27 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 e'.=>.__DIR__...'/..'...'/symfon
7680 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 2e 70 68 70 27 2c 0a 20 20 20 y/console/Helper/Table.php',....
76a0 20 20 20 20 20 27 53 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 .....'Symfony\\Component\\Consol
76c0 65 5c 5c 48 65 6c 70 65 72 5c 5c 54 61 62 6c 65 43 65 6c 6c 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f e\\Helper\\TableCell'.=>.__DIR__
76e0 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c ...'/..'...'/symfony/console/Hel
7700 70 65 72 2f 54 61 62 6c 65 43 65 6c 6c 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d per/TableCell.php',.........'Sym
7720 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 48 65 6c 70 65 72 fony\\Component\\Console\\Helper
7740 5c 5c 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 \\TableSeparator'.=>.__DIR__...'
7760 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f /..'...'/symfony/console/Helper/
7780 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 TableSeparator.php',.........'Sy
77a0 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 48 65 6c 70 65 mfony\\Component\\Console\\Helpe
77c0 72 5c 5c 54 61 62 6c 65 53 74 79 6c 65 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e r\\TableStyle'.=>.__DIR__...'/..
77e0 27 20 2e 20 27 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 '...'/symfony/console/Helper/Tab
7800 6c 65 53 74 79 6c 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c leStyle.php',.........'Symfony\\
7820 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 41 72 67 76 49 Component\\Console\\Input\\ArgvI
7840 6e 70 75 74 27 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 nput'.=>.__DIR__...'/..'...'/sym
7860 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 72 67 76 49 6e 70 75 74 2e 70 68 70 fony/console/Input/ArgvInput.php
7880 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c ',.........'Symfony\\Component\\
78a0 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 41 72 72 61 79 49 6e 70 75 74 27 20 3d 3e 20 5f Console\\Input\\ArrayInput'.=>._
78c0 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 63 6f 6e 73 6f _DIR__...'/..'...'/symfony/conso
78e0 6c 65 2f 49 6e 70 75 74 2f 41 72 72 61 79 49 6e 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 le/Input/ArrayInput.php',.......
7900 20 20 27 53 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 ..'Symfony\\Component\\Console\\
7920 49 6e 70 75 74 5c 5c 49 6e 70 75 74 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 Input\\Input'.=>.__DIR__...'/..'
7940 20 2e 20 27 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 ...'/symfony/console/Input/Input
7960 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 .php',.........'Symfony\\Compone
7980 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e nt\\Console\\Input\\InputArgumen
79a0 74 27 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 t'.=>.__DIR__...'/..'...'/symfon
79c0 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 68 y/console/Input/InputArgument.ph
79e0 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c p',.........'Symfony\\Component\
7a00 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 \Console\\Input\\InputAwareInter
7a20 66 61 63 65 27 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 face'.=>.__DIR__...'/..'...'/sym
7a40 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 41 77 61 72 65 49 6e 74 fony/console/Input/InputAwareInt
7a60 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 erface.php',.........'Symfony\\C
7a80 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 44 omponent\\Console\\Input\\InputD
7aa0 65 66 69 6e 69 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 efinition'.=>.__DIR__...'/..'...
7ac0 27 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 44 65 66 '/symfony/console/Input/InputDef
7ae0 69 6e 69 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c inition.php',.........'Symfony\\
7b00 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 Component\\Console\\Input\\Input
7b20 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 Interface'.=>.__DIR__...'/..'...
7b40 27 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 '/symfony/console/Input/InputInt
7b60 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 erface.php',.........'Symfony\\C
7b80 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 49 6e 70 75 74 4f omponent\\Console\\Input\\InputO
7ba0 70 74 69 6f 6e 27 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 ption'.=>.__DIR__...'/..'...'/sy
7bc0 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 4f 70 74 69 6f 6e 2e mfony/console/Input/InputOption.
7be0 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e php',.........'Symfony\\Componen
7c00 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 49 6e 70 75 74 5c 5c 53 74 72 69 6e 67 49 6e 70 75 74 27 20 t\\Console\\Input\\StringInput'.
7c20 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 2f 63 =>.__DIR__...'/..'...'/symfony/c
7c40 6f 6e 73 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 27 2c 0a 20 onsole/Input/StringInput.php',..
7c60 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 .......'Symfony\\Component\\Cons
7c80 6f 6c 65 5c 5c 4c 6f 67 67 65 72 5c 5c 43 6f 6e 73 6f 6c 65 4c 6f 67 67 65 72 27 20 3d 3e 20 5f ole\\Logger\\ConsoleLogger'.=>._
7ca0 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 63 6f 6e 73 6f _DIR__...'/..'...'/symfony/conso
7cc0 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 27 2c 0a 20 20 le/Logger/ConsoleLogger.php',...
7ce0 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ......'Symfony\\Component\\Conso
7d00 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 27 20 3d 3e 20 5f le\\Output\\BufferedOutput'.=>._
7d20 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 63 6f 6e 73 6f _DIR__...'/..'...'/symfony/conso
7d40 6c 65 2f 4f 75 74 70 75 74 2f 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 2e 70 68 70 27 2c 0a 20 le/Output/BufferedOutput.php',..
7d60 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 .......'Symfony\\Component\\Cons
7d80 6f 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 27 20 3d 3e 20 5f ole\\Output\\ConsoleOutput'.=>._
7da0 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 63 6f 6e 73 6f _DIR__...'/..'...'/symfony/conso
7dc0 6c 65 2f 4f 75 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 2e 70 68 70 27 2c 0a 20 20 le/Output/ConsoleOutput.php',...
7de0 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ......'Symfony\\Component\\Conso
7e00 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 le\\Output\\ConsoleOutputInterfa
7e20 63 65 27 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 ce'.=>.__DIR__...'/..'...'/symfo
7e40 6e 79 2f 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 ny/console/Output/ConsoleOutputI
7e60 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c nterface.php',.........'Symfony\
7e80 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 4e 75 6c \Component\\Console\\Output\\Nul
7ea0 6c 4f 75 74 70 75 74 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f lOutput'.=>.__DIR__...'/..'...'/
7ec0 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4e 75 6c 6c 4f 75 74 70 75 symfony/console/Output/NullOutpu
7ee0 74 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e t.php',.........'Symfony\\Compon
7f00 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 4f 75 74 70 75 74 5c 5c 4f 75 74 70 75 74 27 20 3d 3e ent\\Console\\Output\\Output'.=>
7f20 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 2f 63 6f 6e .__DIR__...'/..'...'/symfony/con
7f40 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f 75 74 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 sole/Output/Output.php',........
7f60 20 27 53 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 4f .'Symfony\\Component\\Console\\O
7f80 75 74 70 75 74 5c 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 27 20 3d 3e 20 5f 5f 44 49 52 utput\\OutputInterface'.=>.__DIR
7fa0 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f __...'/..'...'/symfony/console/O
7fc0 75 74 70 75 74 2f 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a 20 20 20 20 utput/OutputInterface.php',.....
7fe0 20 20 20 20 27 53 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 ....'Symfony\\Component\\Console
8000 5c 5c 4f 75 74 70 75 74 5c 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 27 20 3d 3e 20 5f 5f 44 49 52 \\Output\\StreamOutput'.=>.__DIR
8020 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f __...'/..'...'/symfony/console/O
8040 75 74 70 75 74 2f 53 74 72 65 61 6d 4f 75 74 70 75 74 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 utput/StreamOutput.php',........
8060 20 27 53 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 51 .'Symfony\\Component\\Console\\Q
8080 75 65 73 74 69 6f 6e 5c 5c 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 uestion\\ChoiceQuestion'.=>.__DI
80a0 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f R__...'/..'...'/symfony/console/
80c0 51 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 27 2c 0a 20 20 Question/ChoiceQuestion.php',...
80e0 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f ......'Symfony\\Component\\Conso
8100 6c 65 5c 5c 51 75 65 73 74 69 6f 6e 5c 5c 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 le\\Question\\ConfirmationQuesti
8120 6f 6e 27 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 on'.=>.__DIR__...'/..'...'/symfo
8140 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 6f 6e ny/console/Question/Confirmation
8160 51 75 65 73 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c Question.php',.........'Symfony\
8180 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 51 75 65 73 74 69 6f 6e 5c 5c 51 \Component\\Console\\Question\\Q
81a0 75 65 73 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f uestion'.=>.__DIR__...'/..'...'/
81c0 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 51 75 65 73 74 69 6f 6e 2f 51 75 65 73 74 69 6f symfony/console/Question/Questio
81e0 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e n.php',.........'Symfony\\Compon
8200 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 53 74 79 6c 65 5c 5c 4f 75 74 70 75 74 53 74 79 6c 65 ent\\Console\\Style\\OutputStyle
8220 27 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 '.=>.__DIR__...'/..'...'/symfony
8240 2f 63 6f 6e 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 27 2c /console/Style/OutputStyle.php',
8260 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f .........'Symfony\\Component\\Co
8280 6e 73 6f 6c 65 5c 5c 53 74 79 6c 65 5c 5c 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 27 20 3d 3e nsole\\Style\\StyleInterface'.=>
82a0 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 2f 63 6f 6e .__DIR__...'/..'...'/symfony/con
82c0 73 6f 6c 65 2f 53 74 79 6c 65 2f 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 27 2c 0a sole/Style/StyleInterface.php',.
82e0 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e ........'Symfony\\Component\\Con
8300 73 6f 6c 65 5c 5c 53 74 79 6c 65 5c 5c 53 79 6d 66 6f 6e 79 53 74 79 6c 65 27 20 3d 3e 20 5f 5f sole\\Style\\SymfonyStyle'.=>.__
8320 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 63 6f 6e 73 6f 6c DIR__...'/..'...'/symfony/consol
8340 65 2f 53 74 79 6c 65 2f 53 79 6d 66 6f 6e 79 53 74 79 6c 65 2e 70 68 70 27 2c 0a 20 20 20 20 20 e/Style/SymfonyStyle.php',......
8360 20 20 20 27 53 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 ...'Symfony\\Component\\Console\
8380 5c 54 65 73 74 65 72 5c 5c 41 70 70 6c 69 63 61 74 69 6f 6e 54 65 73 74 65 72 27 20 3d 3e 20 5f \Tester\\ApplicationTester'.=>._
83a0 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 63 6f 6e 73 6f _DIR__...'/..'...'/symfony/conso
83c0 6c 65 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 27 le/Tester/ApplicationTester.php'
83e0 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 ,.........'Symfony\\Component\\C
8400 6f 6e 73 6f 6c 65 5c 5c 54 65 73 74 65 72 5c 5c 43 6f 6d 6d 61 6e 64 54 65 73 74 65 72 27 20 3d onsole\\Tester\\CommandTester'.=
8420 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 2f 63 6f >.__DIR__...'/..'...'/symfony/co
8440 6e 73 6f 6c 65 2f 54 65 73 74 65 72 2f 43 6f 6d 6d 61 6e 64 54 65 73 74 65 72 2e 70 68 70 27 2c nsole/Tester/CommandTester.php',
8460 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 .........'Symfony\\Component\\De
8480 62 75 67 5c 5c 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f bug\\BufferingLogger'.=>.__DIR__
84a0 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 42 75 66 66 65 ...'/..'...'/symfony/debug/Buffe
84c0 72 69 6e 67 4c 6f 67 67 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e ringLogger.php',.........'Symfon
84e0 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 44 65 62 75 67 27 20 3d 3e 20 5f y\\Component\\Debug\\Debug'.=>._
8500 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 64 65 62 75 67 _DIR__...'/..'...'/symfony/debug
8520 2f 44 65 62 75 67 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 /Debug.php',.........'Symfony\\C
8540 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 omponent\\Debug\\DebugClassLoade
8560 72 27 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 r'.=>.__DIR__...'/..'...'/symfon
8580 79 2f 64 65 62 75 67 2f 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 2c 0a 20 y/debug/DebugClassLoader.php',..
85a0 20 20 20 20 20 20 20 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 .......'Symfony\\Component\\Debu
85c0 67 5c 5c 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f g\\ErrorHandler'.=>.__DIR__...'/
85e0 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 72 72 6f 72 48 61 6e 64 6c ..'...'/symfony/debug/ErrorHandl
8600 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f er.php',.........'Symfony\\Compo
8620 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 27 20 3d nent\\Debug\\ExceptionHandler'.=
8640 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 2f 64 65 >.__DIR__...'/..'...'/symfony/de
8660 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 bug/ExceptionHandler.php',......
8680 20 20 20 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 45 ...'Symfony\\Component\\Debug\\E
86a0 78 63 65 70 74 69 6f 6e 5c 5c 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e xception\\ClassNotFoundException
86c0 27 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 '.=>.__DIR__...'/..'...'/symfony
86e0 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 /debug/Exception/ClassNotFoundEx
8700 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c ception.php',.........'Symfony\\
8720 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 43 6f 6e Component\\Debug\\Exception\\Con
8740 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e textErrorException'.=>.__DIR__..
8760 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 .'/..'...'/symfony/debug/Excepti
8780 6f 6e 2f 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 on/ContextErrorException.php',..
87a0 20 20 20 20 20 20 20 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 .......'Symfony\\Component\\Debu
87c0 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f g\\Exception\\FatalErrorExceptio
87e0 6e 27 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 n'.=>.__DIR__...'/..'...'/symfon
8800 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 y/debug/Exception/FatalErrorExce
8820 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f ption.php',.........'Symfony\\Co
8840 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 46 61 74 61 6c mponent\\Debug\\Exception\\Fatal
8860 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e ThrowableError'.=>.__DIR__...'/.
8880 2e 27 20 2e 20 27 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 .'...'/symfony/debug/Exception/F
88a0 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 atalThrowableError.php',........
88c0 20 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 45 78 63 .'Symfony\\Component\\Debug\\Exc
88e0 65 70 74 69 6f 6e 5c 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 eption\\FlattenException'.=>.__D
8900 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 64 65 62 75 67 2f 45 IR__...'/..'...'/symfony/debug/E
8920 78 63 65 70 74 69 6f 6e 2f 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a xception/FlattenException.php',.
8940 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 ........'Symfony\\Component\\Deb
8960 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 ug\\Exception\\OutOfMemoryExcept
8980 69 6f 6e 27 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 ion'.=>.__DIR__...'/..'...'/symf
89a0 6f 6e 79 2f 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 ony/debug/Exception/OutOfMemoryE
89c0 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c xception.php',.........'Symfony\
89e0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 55 6e \Component\\Debug\\Exception\\Un
8a00 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 definedFunctionException'.=>.__D
8a20 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 64 65 62 75 67 2f 45 IR__...'/..'...'/symfony/debug/E
8a40 78 63 65 70 74 69 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 xception/UndefinedFunctionExcept
8a60 69 6f 6e 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 ion.php',.........'Symfony\\Comp
8a80 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 45 78 63 65 70 74 69 6f 6e 5c 5c 55 6e 64 65 66 69 6e onent\\Debug\\Exception\\Undefin
8aa0 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 edMethodException'.=>.__DIR__...
8ac0 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f '/..'...'/symfony/debug/Exceptio
8ae0 6e 2f 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 27 2c n/UndefinedMethodException.php',
8b00 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 .........'Symfony\\Component\\De
8b20 62 75 67 5c 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 5c 43 6c 61 73 73 4e 6f 74 bug\\FatalErrorHandler\\ClassNot
8b40 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 20 3d 3e 20 5f 5f 44 49 52 FoundFatalErrorHandler'.=>.__DIR
8b60 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 __...'/..'...'/symfony/debug/Fat
8b80 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 alErrorHandler/ClassNotFoundFata
8ba0 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d lErrorHandler.php',.........'Sym
8bc0 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 46 61 74 61 6c 45 72 72 fony\\Component\\Debug\\FatalErr
8be0 6f 72 48 61 6e 64 6c 65 72 5c 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 orHandler\\FatalErrorHandlerInte
8c00 72 66 61 63 65 27 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 rface'.=>.__DIR__...'/..'...'/sy
8c20 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 46 61 mfony/debug/FatalErrorHandler/Fa
8c40 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 70 68 70 27 2c 0a 20 talErrorHandlerInterface.php',..
8c60 20 20 20 20 20 20 20 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 .......'Symfony\\Component\\Debu
8c80 67 5c 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 5c 55 6e 64 65 66 69 6e 65 64 46 g\\FatalErrorHandler\\UndefinedF
8ca0 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 20 3d 3e 20 5f 5f 44 unctionFatalErrorHandler'.=>.__D
8cc0 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 64 65 62 75 67 2f 46 IR__...'/..'...'/symfony/debug/F
8ce0 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 atalErrorHandler/UndefinedFuncti
8d00 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 onFatalErrorHandler.php',.......
8d20 20 20 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 46 61 ..'Symfony\\Component\\Debug\\Fa
8d40 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 5c 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 talErrorHandler\\UndefinedMethod
8d60 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 FatalErrorHandler'.=>.__DIR__...
8d80 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 '/..'...'/symfony/debug/FatalErr
8da0 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 74 61 6c 45 72 orHandler/UndefinedMethodFatalEr
8dc0 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 20 20 20 20 20 20 20 20 27 53 79 6d 66 6f 6e rorHandler.php',.........'Symfon
8de0 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 4d 62 73 74 72 69 6e 67 27 y\\Polyfill\\Mbstring\\Mbstring'
8e00 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 2f .=>.__DIR__...'/..'...'/symfony/
8e20 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 4d 62 73 74 72 69 6e 67 2e 70 68 70 27 2c polyfill-mbstring/Mbstring.php',
8e40 0a 20 20 20 20 29 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 74 .....);......public.static.funct
8e60 69 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 24 ion.getInitializer(ClassLoader.$
8e80 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
8ea0 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 24 6c 6f osure::bind(function.().use.($lo
8ec0 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 70 72 65 ader).{.............$loader->pre
8ee0 66 69 78 4c 65 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 fixLengthsPsr4.=.ComposerStaticI
8f00 6e 69 74 39 39 34 62 38 64 38 37 30 64 64 62 39 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 nit994b8d870ddb923ebc3ff0ceaaaa9
8f20 36 61 36 3a 3a 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 3b 0a 20 20 20 20 20 20 20 6a6::$prefixLengthsPsr4;........
8f40 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 20 3d 20 43 .....$loader->prefixDirsPsr4.=.C
8f60 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 39 39 34 62 38 64 38 37 30 64 64 62 39 32 33 omposerStaticInit994b8d870ddb923
8f80 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 3a 3a 24 70 72 65 66 69 78 44 69 72 73 50 73 ebc3ff0ceaaaa96a6::$prefixDirsPs
8fa0 72 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 63 6c 61 73 73 4d 61 r4;.............$loader->classMa
8fc0 70 20 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 39 39 34 62 38 64 38 37 30 64 p.=.ComposerStaticInit994b8d870d
8fe0 64 62 39 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 3a 3a 24 63 6c 61 73 73 4d 61 db923ebc3ff0ceaaaa96a6::$classMa
9000 70 3b 0a 0a 20 20 20 20 20 20 20 20 7d 2c 20 6e 75 6c 6c 2c 20 43 6c 61 73 73 4c 6f 61 64 65 72 p;..........},.null,.ClassLoader
9020 3a 3a 63 6c 61 73 73 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f ::class);.....}.}.<?php..//.auto
9040 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
9060 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
9080 69 74 39 39 34 62 38 64 38 37 30 64 64 62 39 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 it994b8d870ddb923ebc3ff0ceaaaa96
90a0 61 36 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 6f 61 64 65 72 3b a6.{.....private.static.$loader;
90c0 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 6c 6f 61 ......public.static.function.loa
90e0 64 43 6c 61 73 73 4c 6f 61 64 65 72 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 dClassLoader($class).....{......
9100 20 20 20 69 66 20 28 27 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c ...if.('Composer\Autoload\ClassL
9120 6f 61 64 65 72 27 20 3d 3d 3d 20 24 63 6c 61 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 oader'.===.$class).{............
9140 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 43 6c 61 73 73 4c 6f 61 64 65 72 .require.__DIR__...'/ClassLoader
9160 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c .php';.........}.....}......publ
9180 69 63 20 73 74 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 20 ic.static.function.getLoader()..
91a0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a ...{.........if.(null.!==.self::
91c0 24 6c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 $loader).{.............return.se
91e0 6c 66 3a 3a 24 6c 6f 61 64 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 lf::$loader;.........}..........
9200 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
9220 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 39 39 34 62 38 64 38 37 30 64 64 62 39 poserAutoloaderInit994b8d870ddb9
9240 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 23ebc3ff0ceaaaa96a6',.'loadClass
9260 4c 6f 61 64 65 72 27 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 73 Loader'),.true,.true);.........s
9280 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 6f elf::$loader.=.$loader.=.new.\Co
92a0 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 20 mposer\Autoload\ClassLoader();..
92c0 20 20 20 20 20 20 20 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 .......spl_autoload_unregister(a
92e0 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 74 39 39 34 62 rray('ComposerAutoloaderInit994b
9300 38 64 38 37 30 64 64 62 39 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 27 2c 20 27 8d870ddb923ebc3ff0ceaaaa96a6',.'
9320 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 75 73 loadClassLoader'));..........$us
9340 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 4f 4e 5f 49 44 20 3e eStaticLoader.=.PHP_VERSION_ID.>
9360 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 5f 56 45 52 53 49 4f =.50600.&&.!defined('HHVM_VERSIO
9380 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 27 7a 65 6e 64 5f 6c N').&&.(!function_exists('zend_l
93a0 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 7a 65 6e 64 5f 6c 6f oader_file_encoded').||.!zend_lo
93c0 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 28 29 29 3b 0a 20 20 20 20 20 20 20 20 69 66 ader_file_encoded());.........if
93e0 20 28 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .($useStaticLoader).{...........
9400 20 20 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c ..require_once.__DIR__...'/autol
9420 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 27 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 oad_static.php';..............ca
9440 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 74 6f 6c 6f 61 64 5c ll_user_func(\Composer\Autoload\
9460 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 39 39 34 62 38 64 38 37 30 64 64 62 39 32 ComposerStaticInit994b8d870ddb92
9480 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 3a 3a 67 65 74 49 6e 69 74 69 61 6c 69 7a 3ebc3ff0ceaaaa96a6::getInitializ
94a0 65 72 28 24 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 20 er($loader));.........}.else.{..
94c0 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 20 5f ...........$classMap.=.require._
94e0 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 68 70 _DIR__...'/autoload_classmap.php
9500 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 7b 0a ';.............if.($classMap).{.
9520 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 61 73 ................$loader->addClas
9540 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 0a 20 sMap($classMap);.............}..
9560 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 43 6c .......}..........$loader->setCl
9580 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 74 72 75 65 29 3b 0a 20 20 20 20 20 assMapAuthoritative(true);......
95a0 20 20 20 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 20 20 20 ...$loader->register(true);.....
95c0 20 20 20 20 20 69 66 20 28 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 20 20 20 .....if.($useStaticLoader).{....
95e0 20 20 20 20 20 20 20 20 20 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 20 3d 20 43 6f 6d 70 6f 73 65 .........$includeFiles.=.Compose
9600 72 5c 41 75 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 39 39 34 r\Autoload\ComposerStaticInit994
9620 62 38 64 38 37 30 64 64 62 39 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 3a 3a 24 b8d870ddb923ebc3ff0ceaaaa96a6::$
9640 66 69 6c 65 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 files;.........}.else.{.........
9660 20 20 20 20 24 69 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 ....$includeFiles.=.require.__DI
9680 52 5f 5f 20 2e 20 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 R__...'/autoload_files.php';....
96a0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 69 6e 63 6c 75 64 65 .....}.........foreach.($include
96c0 46 69 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 Files.as.$fileIdentifier.=>.$fil
96e0 65 29 20 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 e).{.............composerRequire
9700 39 39 34 62 38 64 38 37 30 64 64 62 39 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 994b8d870ddb923ebc3ff0ceaaaa96a6
9720 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 24 66 69 6c 65 29 3b 0a 20 20 20 20 20 20 ($fileIdentifier,.$file);.......
9740 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 20 20 20 ..}..........return.$loader;....
9760 20 7d 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 39 39 .}.}..function.composerRequire99
9780 34 62 38 64 38 37 30 64 64 62 39 32 33 65 62 63 33 66 66 30 63 65 61 61 61 61 39 36 61 36 28 24 4b8d870ddb923ebc3ff0ceaaaa96a6($
97a0 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 24 66 69 6c 65 29 0a 7b 0a 20 20 20 20 69 66 20 fileIdentifier,.$file).{.....if.
97c0 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 72 5f 61 75 74 6f (empty($GLOBALS['__composer_auto
97e0 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 65 72 5d 29 29 20 load_files'][$fileIdentifier])).
9800 7b 0a 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 24 66 69 6c 65 3b 0a 0a 20 20 20 20 20 20 {.........require.$file;........
9820 20 20 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 ..$GLOBALS['__composer_autoload_
9840 66 69 6c 65 73 27 5d 5b 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 74 72 75 65 3b files'][$fileIdentifier].=.true;
9860 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 .....}.}.<?php../*..*.This.file.
9880 69 73 20 70 61 72 74 20 6f 66 20 43 6f 6d 70 6f 73 65 72 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 4e is.part.of.Composer...*..*.(c).N
98a0 69 6c 73 20 41 64 65 72 6d 61 6e 6e 20 3c 6e 61 64 65 72 6d 61 6e 40 6e 61 64 65 72 6d 61 6e 2e ils.Adermann.<naderman@naderman.
98c0 64 65 3e 0a 20 2a 20 20 20 20 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 20 3c 6a 2e 62 6f 67 de>..*.....Jordi.Boggiano.<j.bog
98e0 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c giano@seld.be>..*..*.For.the.ful
9900 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 l.copyright.and.license.informat
9920 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 ion,.please.view.the.LICENSE..*.
9940 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 file.that.was.distributed.with.t
9960 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 his.source.code...*/..namespace.
9980 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6c 61 73 73 Composer\Autoload;../**..*.Class
99a0 4c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 50 53 52 2d 30 2c 20 50 53 52 2d 34 Loader.implements.a.PSR-0,.PSR-4
99c0 20 61 6e 64 20 63 6c 61 73 73 6d 61 70 20 63 6c 61 73 73 20 6c 6f 61 64 65 72 2e 0a 20 2a 0a 20 .and.classmap.class.loader...*..
99e0 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 *.....$loader.=.new.\Composer\Au
9a00 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 toload\ClassLoader();..*..*.....
9a20 2f 2f 20 72 65 67 69 73 74 65 72 20 63 6c 61 73 73 65 73 20 77 69 74 68 20 6e 61 6d 65 73 70 61 //.register.classes.with.namespa
9a40 63 65 73 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 ces..*.....$loader->add('Symfony
9a60 5c 43 6f 6d 70 6f 6e 65 6e 74 27 2c 20 5f 5f 44 49 52 5f 5f 2e 27 2f 63 6f 6d 70 6f 6e 65 6e 74 \Component',.__DIR__.'/component
9a80 27 29 3b 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 ');..*.....$loader->add('Symfony
9aa0 27 2c 20 20 20 20 20 20 20 20 20 20 20 5f 5f 44 49 52 5f 5f 2e 27 2f 66 72 61 6d 65 77 6f 72 6b ',...........__DIR__.'/framework
9ac0 27 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 61 63 74 69 76 61 74 65 20 74 68 65 20 61 75 ');..*..*.....//.activate.the.au
9ae0 74 6f 6c 6f 61 64 65 72 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 toloader..*.....$loader->registe
9b00 72 28 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 74 6f 20 65 6e 61 62 6c 65 20 73 65 61 72 r();..*..*.....//.to.enable.sear
9b20 63 68 69 6e 67 20 74 68 65 20 69 6e 63 6c 75 64 65 20 70 61 74 68 20 28 65 67 2e 20 66 6f 72 20 ching.the.include.path.(eg..for.
9b40 50 45 41 52 20 70 61 63 6b 61 67 65 73 29 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 PEAR.packages)..*.....$loader->s
9b60 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 74 72 75 65 29 3b 0a 20 2a 0a 20 2a 20 49 6e etUseIncludePath(true);..*..*.In
9b80 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 74 72 79 20 74 6f 20 75 73 65 .this.example,.if.you.try.to.use
9ba0 20 61 20 63 6c 61 73 73 20 69 6e 20 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e .a.class.in.the.Symfony\Componen
9bc0 74 0a 20 2a 20 6e 61 6d 65 73 70 61 63 65 20 6f 72 20 6f 6e 65 20 6f 66 20 69 74 73 20 63 68 69 t..*.namespace.or.one.of.its.chi
9be0 6c 64 72 65 6e 20 28 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 ldren.(Symfony\Component\Console
9c00 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 29 2c 0a 20 2a 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 .for.instance),..*.the.autoloade
9c20 72 20 77 69 6c 6c 20 66 69 72 73 74 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 63 6c 61 73 73 20 r.will.first.look.for.the.class.
9c40 75 6e 64 65 72 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 2f 0a 20 2a 20 64 69 72 65 63 74 6f 72 under.the.component/..*.director
9c60 79 2c 20 61 6e 64 20 69 74 20 77 69 6c 6c 20 74 68 65 6e 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 y,.and.it.will.then.fallback.to.
9c80 74 68 65 20 66 72 61 6d 65 77 6f 72 6b 2f 20 64 69 72 65 63 74 6f 72 79 20 69 66 20 6e 6f 74 0a the.framework/.directory.if.not.
9ca0 20 2a 20 66 6f 75 6e 64 20 62 65 66 6f 72 65 20 67 69 76 69 6e 67 20 75 70 2e 0a 20 2a 0a 20 2a .*.found.before.giving.up...*..*
9cc0 20 54 68 69 73 20 63 6c 61 73 73 20 69 73 20 6c 6f 6f 73 65 6c 79 20 62 61 73 65 64 20 6f 6e 20 .This.class.is.loosely.based.on.
9ce0 74 68 65 20 53 79 6d 66 6f 6e 79 20 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 the.Symfony.UniversalClassLoader
9d00 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 ...*..*.@author.Fabien.Potencier
9d20 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 .<fabien@symfony.com>..*.@author
9d40 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 .Jordi.Boggiano.<j.boggiano@seld
9d60 2e 62 65 3e 0a 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 .be>..*.@see....http://www.php-f
9d80 69 67 2e 6f 72 67 2f 70 73 72 2f 70 73 72 2d 30 2f 0a 20 2a 20 40 73 65 65 20 20 20 20 68 74 74 ig.org/psr/psr-0/..*.@see....htt
9da0 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 34 2f 0a 20 p://www.php-fig.org/psr/psr-4/..
9dc0 2a 2f 0a 63 6c 61 73 73 20 43 6c 61 73 73 4c 6f 61 64 65 72 0a 7b 0a 20 20 20 20 2f 2f 20 50 53 */.class.ClassLoader.{.....//.PS
9de0 52 2d 34 0a 20 20 20 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 R-4.....private.$prefixLengthsPs
9e00 72 34 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 70 72 65 66 69 r4.=.array();.....private.$prefi
9e20 78 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 xDirsPsr4.=.array();.....private
9e40 20 24 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 .$fallbackDirsPsr4.=.array();...
9e60 20 20 20 2f 2f 20 50 53 52 2d 30 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 65 ...//.PSR-0.....private.$prefixe
9e80 73 50 73 72 30 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 66 61 sPsr0.=.array();.....private.$fa
9ea0 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 20 20 20 20 70 llbackDirsPsr0.=.array();......p
9ec0 72 69 76 61 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 rivate.$useIncludePath.=.false;.
9ee0 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b ....private.$classMap.=.array();
9f00 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 .....private.$classMapAuthoritat
9f20 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6d 69 73 73 69 6e ive.=.false;.....private.$missin
9f40 67 43 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 gClasses.=.array();.....private.
9f60 24 61 70 63 75 50 72 65 66 69 78 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $apcuPrefix;......public.functio
9f80 6e 20 67 65 74 50 72 65 66 69 78 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 n.getPrefixes().....{.........if
9fa0 20 28 21 65 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 .(!empty($this->prefixesPsr0)).{
9fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 .............return.call_user_fu
9fe0 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 74 68 69 73 2d 3e 70 nc_array('array_merge',.$this->p
a000 72 65 66 69 78 65 73 50 73 72 30 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 refixesPsr0);.........}.........
a020 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c .return.array();.....}......publ
a040 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 28 29 0a 20 20 ic.function.getPrefixesPsr4()...
a060 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 70 72 65 66 69 78 ..{.........return.$this->prefix
a080 44 69 72 73 50 73 72 34 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 DirsPsr4;.....}......public.func
a0a0 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 tion.getFallbackDirs().....{....
a0c0 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 .....return.$this->fallbackDirsP
a0e0 73 72 30 3b 0a 20 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 sr0;.....}......public.function.
a100 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 getFallbackDirsPsr4().....{.....
a120 20 20 20 20 72 65 74 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 ....return.$this->fallbackDirsPs
a140 72 34 3b 0a 20 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 r4;.....}......public.function.g
a160 65 74 43 6c 61 73 73 4d 61 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 etClassMap().....{.........retur
a180 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a n.$this->classMap;.....}....../*
a1a0 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 20 *......*.@param.array.$classMap.
a1c0 43 6c 61 73 73 20 74 6f 20 66 69 6c 65 6e 61 6d 65 20 6d 61 70 0a 20 20 20 20 20 2a 2f 0a 20 20 Class.to.filename.map......*/...
a1e0 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 73 4d 61 70 28 61 72 ..public.function.addClassMap(ar
a200 72 61 79 20 24 63 6c 61 73 73 4d 61 70 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 ray.$classMap).....{.........if.
a220 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ($this->classMap).{.............
a240 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 $this->classMap.=.array_merge($t
a260 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 2c 20 24 63 6c 61 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 his->classMap,.$classMap);......
a280 20 20 20 7d 20 65 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 63 ...}.else.{.............$this->c
a2a0 6c 61 73 73 4d 61 70 20 3d 20 24 63 6c 61 73 73 4d 61 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 lassMap.=.$classMap;.........}..
a2c0 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 65 72 73 20 61 ...}....../**......*.Registers.a
a2e0 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 6f 72 20 61 20 .set.of.PSR-0.directories.for.a.
a300 67 69 76 65 6e 20 70 72 65 66 69 78 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 2a 20 61 70 70 65 given.prefix,.either......*.appe
a320 6e 64 69 6e 67 20 6f 72 20 70 72 65 70 65 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6f 6e 65 73 20 nding.or.prepending.to.the.ones.
a340 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a previously.set.for.this.prefix..
a360 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 6e 67 20 20 20 20 20 .....*......*.@param.string.....
a380 20 20 24 70 72 65 66 69 78 20 20 54 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 ..$prefix..The.prefix......*.@pa
a3a0 72 61 6d 20 61 72 72 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 ram.array|string.$paths...The.PS
a3c0 52 2d 30 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 R-0.root.directories......*.@par
a3e0 61 6d 20 62 6f 6f 6c 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 am.bool.........$prepend.Whether
a400 20 74 6f 20 70 72 65 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 .to.prepend.the.directories.....
a420 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 70 72 65 .*/.....public.function.add($pre
a440 66 69 78 2c 20 24 70 61 74 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 fix,.$paths,.$prepend.=.false)..
a460 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 ...{.........if.(!$prefix).{....
a480 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 .........if.($prepend).{........
a4a0 20 20 20 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 .........$this->fallbackDirsPsr0
a4c0 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 20 .=.array_merge(.................
a4e0 20 20 20 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 ....(array).$paths,.............
a500 20 20 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 0a ........$this->fallbackDirsPsr0.
a520 20 20 20 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 ................);.............}
a540 20 65 6c 73 65 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 .else.{.................$this->f
a560 61 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 allbackDirsPsr0.=.array_merge(..
a580 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 6c 62 61 ...................$this->fallba
a5a0 63 6b 44 69 72 73 50 73 72 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ckDirsPsr0,.....................
a5c0 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 (array).$paths.................)
a5e0 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 20 20 20 20 72 65 74 ;.............}..............ret
a600 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 69 72 73 74 20 3d urn;.........}..........$first.=
a620 20 24 70 72 65 66 69 78 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 .$prefix[0];.........if.(!isset(
a640 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 65 $this->prefixesPsr0[$first][$pre
a660 66 69 78 5d 29 29 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 fix])).{.............$this->pref
a680 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 20 28 61 72 72 ixesPsr0[$first][$prefix].=.(arr
a6a0 61 79 29 20 24 70 61 74 68 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b ay).$paths;..............return;
a6c0 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 .........}.........if.($prepend)
a6e0 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 73 50 73 .{.............$this->prefixesPs
a700 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 65 72 67 r0[$first][$prefix].=.array_merg
a720 65 28 0a 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 e(.................(array).$path
a740 73 2c 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 66 69 78 s,.................$this->prefix
a760 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 0a 20 20 20 20 20 20 20 20 esPsr0[$first][$prefix].........
a780 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 20 20 20 ....);.........}.else.{.........
a7a0 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 66 69 72 73 74 5d 5b ....$this->prefixesPsr0[$first][
a7c0 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 20 20 20 20 $prefix].=.array_merge(.........
a7e0 20 20 20 20 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 66 69 72 ........$this->prefixesPsr0[$fir
a800 73 74 5d 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 st][$prefix],.................(a
a820 72 72 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 rray).$paths.............);.....
a840 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 65 67 69 ....}.....}....../**......*.Regi
a860 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 69 65 73 sters.a.set.of.PSR-4.directories
a880 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 73 70 61 63 65 2c 20 65 69 74 68 65 72 0a 20 .for.a.given.namespace,.either..
a8a0 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 67 20 74 6f ....*.appending.or.prepending.to
a8c0 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 20 74 68 69 .the.ones.previously.set.for.thi
a8e0 73 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 s.namespace.......*......*.@para
a900 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 66 m.string.......$prefix..The.pref
a920 69 78 2f 6e 61 6d 65 73 70 61 63 65 2c 20 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 ix/namespace,.with.trailing.'\\'
a940 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 70 61 74 ......*.@param.array|string.$pat
a960 68 73 20 20 20 54 68 65 20 50 53 52 2d 34 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a hs...The.PSR-4.base.directories.
a980 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 72 65 70 .....*.@param.bool.........$prep
a9a0 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 72 65 63 end.Whether.to.prepend.the.direc
a9c0 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 20 5c 49 6e tories......*......*.@throws.\In
a9e0 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 2a 2f 0a 20 validArgumentException......*/..
aa00 20 20 20 70 75 62 6c 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 ...public.function.addPsr4($pref
aa20 69 78 2c 20 24 70 61 74 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 ix,.$paths,.$prepend.=.false)...
aa40 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 ..{.........if.(!$prefix).{.....
aa60 20 20 20 20 20 20 20 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 ........//.Register.directories.
aa80 66 6f 72 20 74 68 65 20 72 6f 6f 74 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 for.the.root.namespace..........
aaa0 20 20 20 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 ....if.($prepend).{.............
aac0 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 34 20 3d 20 61 72 ....$this->fallbackDirsPsr4.=.ar
aae0 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 20 28 ray_merge(.....................(
ab00 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 20 20 array).$paths,..................
ab20 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 34 0a 20 20 20 20 20 ...$this->fallbackDirsPsr4......
ab40 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 20 65 6c 73 65 ...........);.............}.else
ab60 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 6c 6c 62 61 .{.................$this->fallba
ab80 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 20 20 20 20 20 20 ckDirsPsr4.=.array_merge(.......
aba0 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 44 69 72 ..............$this->fallbackDir
abc0 73 50 73 72 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 sPsr4,.....................(arra
abe0 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 y).$paths.................);....
ac00 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 .........}.........}.elseif.(!is
ac20 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 70 72 65 66 69 set($this->prefixDirsPsr4[$prefi
ac40 78 5d 29 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 72 20 64 x])).{.............//.Register.d
ac60 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 6e 65 77 20 6e 61 6d 65 73 70 61 63 65 2e 0a irectories.for.a.new.namespace..
ac80 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 ............$length.=.strlen($pr
aca0 65 66 69 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 efix);.............if.('\\'.!==.
acc0 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 $prefix[$length.-.1]).{.........
ace0 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 ........throw.new.\InvalidArgume
ad00 6e 74 45 78 63 65 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 ntException("A.non-empty.PSR-4.p
ad20 72 65 66 69 78 20 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 refix.must.end.with.a.namespace.
ad40 73 65 70 61 72 61 74 6f 72 2e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 separator.");.............}.....
ad60 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 ........$this->prefixLengthsPsr4
ad80 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;
ada0 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 73 .............$this->prefixDirsPs
adc0 72 34 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 20 r4[$prefix].=.(array).$paths;...
ade0 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 ......}.elseif.($prepend).{.....
ae00 20 20 20 20 20 20 20 20 2f 2f 20 50 72 65 70 65 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 ........//.Prepend.directories.f
ae20 6f 72 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 or.an.already.registered.namespa
ae40 63 65 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 ce..............$this->prefixDir
ae60 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 65 28 0a 20 20 sPsr4[$prefix].=.array_merge(...
ae80 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 2c 0a 20 20 ..............(array).$paths,...
aea0 20 20 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
aec0 73 72 34 5b 24 70 72 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 sr4[$prefix].............);.....
aee0 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 2f 2f 20 41 70 70 65 ....}.else.{.............//.Appe
af00 6e 64 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 nd.directories.for.an.already.re
af20 67 69 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 gistered.namespace..............
af40 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 3d $this->prefixDirsPsr4[$prefix].=
af60 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 20 24 74 .array_merge(.................$t
af80 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 2c 0a 20 20 his->prefixDirsPsr4[$prefix],...
afa0 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....
afc0 20 20 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 .........);.........}.....}.....
afe0 20 2f 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 ./**......*.Registers.a.set.of.P
b000 53 52 2d 30 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 70 72 65 SR-0.directories.for.a.given.pre
b020 66 69 78 2c 0a 20 20 20 20 20 2a 20 72 65 70 6c 61 63 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 73 fix,......*.replacing.any.others
b040 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 70 72 65 66 69 78 2e .previously.set.for.this.prefix.
b060 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 6e 67 20 20 20 20 ......*......*.@param.string....
b080 20 20 20 24 70 72 65 66 69 78 20 54 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 ...$prefix.The.prefix......*.@pa
b0a0 72 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 54 68 65 20 50 53 52 ram.array|string.$paths..The.PSR
b0c0 2d 30 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 -0.base.directories......*/.....
b0e0 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 61 public.function.set($prefix,.$pa
b100 74 68 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 ths).....{.........if.(!$prefix)
b120 20 7b 0a 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 44 69 .{.............$this->fallbackDi
b140 72 73 50 73 72 30 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 rsPsr0.=.(array).$paths;........
b160 20 7d 20 65 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 .}.else.{.............$this->pre
b180 66 69 78 65 73 50 73 72 30 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d fixesPsr0[$prefix[0]][$prefix].=
b1a0 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 20 7d .(array).$paths;.........}.....}
b1c0 0a 0a 20 20 20 20 2f 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 ....../**......*.Registers.a.set
b1e0 20 6f 66 20 50 53 52 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 .of.PSR-4.directories.for.a.give
b200 6e 20 6e 61 6d 65 73 70 61 63 65 2c 0a 20 20 20 20 20 2a 20 72 65 70 6c 61 63 69 6e 67 20 61 6e n.namespace,......*.replacing.an
b220 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 72 20 74 68 69 73 y.others.previously.set.for.this
b240 20 6e 61 6d 65 73 70 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 .namespace.......*......*.@param
b260 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 66 69 78 .string.......$prefix.The.prefix
b280 2f 6e 61 6d 65 73 70 61 63 65 2c 20 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a 20 /namespace,.with.trailing.'\\'..
b2a0 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 70 61 74 68 73 ....*.@param.array|string.$paths
b2c0 20 20 54 68 65 20 50 53 52 2d 34 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 ..The.PSR-4.base.directories....
b2e0 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d ..*......*.@throws.\InvalidArgum
b300 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 entException......*/.....public.
b320 66 75 6e 63 74 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 function.setPsr4($prefix,.$paths
b340 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a ).....{.........if.(!$prefix).{.
b360 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 44 69 72 73 50 ............$this->fallbackDirsP
b380 73 72 34 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 20 sr4.=.(array).$paths;.........}.
b3a0 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 else.{.............$length.=.str
b3c0 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 20 69 66 20 28 27 5c len($prefix);.............if.('\
b3e0 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 20 \'.!==.$prefix[$length.-.1]).{..
b400 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 5c 49 6e 76 61 6c 69 ...............throw.new.\Invali
b420 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 2d 65 6d 70 74 79 20 dArgumentException("A.non-empty.
b440 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 68 20 61 20 6e 61 6d PSR-4.prefix.must.end.with.a.nam
b460 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 20 20 20 20 20 20 20 espace.separator.");............
b480 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 66 69 78 4c 65 6e 67 .}.............$this->prefixLeng
b4a0 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 69 78 5d 20 3d 20 24 thsPsr4[$prefix[0]][$prefix].=.$
b4c0 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 2d 3e 70 72 65 66 69 length;.............$this->prefi
b4e0 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 61 79 29 20 24 70 61 xDirsPsr4[$prefix].=.(array).$pa
b500 74 68 73 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 ths;.........}.....}....../**...
b520 20 20 20 2a 20 54 75 72 6e 73 20 6f 6e 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 69 6e 63 6c ...*.Turns.on.searching.the.incl
b540 75 64 65 20 70 61 74 68 20 66 6f 72 20 63 6c 61 73 73 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 2a ude.path.for.class.files.......*
b560 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 75 73 65 49 6e 63 6c 75 64 65 50 ......*.@param.bool.$useIncludeP
b580 61 74 68 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 ath......*/.....public.function.
b5a0 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 setUseIncludePath($useIncludePat
b5c0 68 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 h).....{.........$this->useInclu
b5e0 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 20 20 20 20 7d 0a dePath.=.$useIncludePath;.....}.
b600 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 ...../**......*.Can.be.used.to.c
b620 68 65 63 6b 20 69 66 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 75 73 65 73 20 74 68 65 20 heck.if.the.autoloader.uses.the.
b640 69 6e 63 6c 75 64 65 20 70 61 74 68 20 74 6f 20 63 68 65 63 6b 0a 20 20 20 20 20 2a 20 66 6f 72 include.path.to.check......*.for
b660 20 63 6c 61 73 73 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 .classes.......*......*.@return.
b680 62 6f 6f 6c 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 bool......*/.....public.function
b6a0 20 67 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 .getUseIncludePath().....{......
b6c0 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b ...return.$this->useIncludePath;
b6e0 0a 20 20 20 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 66 66 .....}....../**......*.Turns.off
b700 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 70 72 65 66 69 78 20 61 6e 64 20 66 61 6c 6c 62 61 .searching.the.prefix.and.fallba
b720 63 6b 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 63 6c 61 73 73 65 73 0a 20 20 20 20 20 ck.directories.for.classes......
b740 2a 20 74 68 61 74 20 68 61 76 65 20 6e 6f 74 20 62 65 65 6e 20 72 65 67 69 73 74 65 72 65 64 20 *.that.have.not.been.registered.
b760 77 69 74 68 20 74 68 65 20 63 6c 61 73 73 20 6d 61 70 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 with.the.class.map.......*......
b780 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 *.@param.bool.$classMapAuthorita
b7a0 74 69 76 65 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 tive......*/.....public.function
b7c0 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 73 .setClassMapAuthoritative($class
b7e0 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 MapAuthoritative).....{.........
b800 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 3d 20 24 $this->classMapAuthoritative.=.$
b820 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 classMapAuthoritative;.....}....
b840 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 68 6f 75 6c 64 20 63 6c 61 73 73 20 6c 6f 6f 6b 75 70 ../**......*.Should.class.lookup
b860 20 66 61 69 6c 20 69 66 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e .fail.if.not.found.in.the.curren
b880 74 20 63 6c 61 73 73 20 6d 61 70 3f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 t.class.map?......*......*.@retu
b8a0 72 6e 20 62 6f 6f 6c 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 rn.bool......*/.....public.funct
b8c0 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 20 20 ion.isClassMapAuthoritative()...
b8e0 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 63 6c 61 73 73 4d ..{.........return.$this->classM
b900 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a apAuthoritative;.....}....../**.
b920 20 20 20 20 20 2a 20 41 50 43 75 20 70 72 65 66 69 78 20 74 6f 20 75 73 65 20 74 6f 20 63 61 63 .....*.APCu.prefix.to.use.to.cac
b940 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 2c 20 69 66 20 74 he.found/not-found.classes,.if.t
b960 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 2a 0a he.extension.is.enabled.......*.
b980 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 61 70 63 75 50 .....*.@param.string|null.$apcuP
b9a0 72 65 66 69 78 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 refix......*/.....public.functio
b9c0 6e 20 73 65 74 41 70 63 75 50 72 65 66 69 78 28 24 61 70 63 75 50 72 65 66 69 78 29 0a 20 20 20 n.setApcuPrefix($apcuPrefix)....
b9e0 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 20 3d 20 66 .{.........$this->apcuPrefix.=.f
ba00 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 61 70 63 75 5f 66 65 74 63 68 27 29 20 26 26 20 unction_exists('apcu_fetch').&&.
ba20 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 64 27 filter_var(ini_get('apc.enabled'
ba40 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 3f 20 24 61 ),.FILTER_VALIDATE_BOOLEAN).?.$a
ba60 70 63 75 50 72 65 66 69 78 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a pcuPrefix.:.null;.....}....../**
ba80 0a 20 20 20 20 20 2a 20 54 68 65 20 41 50 43 75 20 70 72 65 66 69 78 20 69 6e 20 75 73 65 2c 20 ......*.The.APCu.prefix.in.use,.
baa0 6f 72 20 6e 75 6c 6c 20 69 66 20 41 50 43 75 20 63 61 63 68 69 6e 67 20 69 73 20 6e 6f 74 20 65 or.null.if.APCu.caching.is.not.e
bac0 6e 61 62 6c 65 64 2e 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 nabled.......*......*.@return.st
bae0 72 69 6e 67 7c 6e 75 6c 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e ring|null......*/.....public.fun
bb00 63 74 69 6f 6e 20 67 65 74 41 70 63 75 50 72 65 66 69 78 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 ction.getApcuPrefix().....{.....
bb20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 3b 0a 20 20 ....return.$this->apcuPrefix;...
bb40 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 65 72 73 20 74 68 ..}....../**......*.Registers.th
bb60 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 0a 20 20 is.instance.as.an.autoloader....
bb80 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 70 72 65 70 65 6e 64 ...*......*.@param.bool.$prepend
bba0 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 70 65 6e 64 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 .Whether.to.prepend.the.autoload
bbc0 65 72 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e er.or.not......*/.....public.fun
bbe0 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 ction.register($prepend.=.false)
bc00 0a 20 20 20 20 7b 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 .....{.........spl_autoload_regi
bc20 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 2c 20 ster(array($this,.'loadClass'),.
bc40 74 72 75 65 2c 20 24 70 72 65 70 65 6e 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a true,.$prepend);.....}....../**.
bc60 20 20 20 20 20 2a 20 55 6e 72 65 67 69 73 74 65 72 73 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 .....*.Unregisters.this.instance
bc80 20 61 73 20 61 6e 20 61 75 74 6f 6c 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 .as.an.autoloader.......*/.....p
bca0 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 20 20 20 20 ublic.function.unregister().....
bcc0 7b 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 67 69 73 74 65 {.........spl_autoload_unregiste
bce0 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 29 3b 0a 20 20 r(array($this,.'loadClass'));...
bd00 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 61 64 73 20 74 68 65 20 67 69 ..}....../**......*.Loads.the.gi
bd20 76 65 6e 20 63 6c 61 73 73 20 6f 72 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 2a 0a 20 ven.class.or.interface.......*..
bd40 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 20 20 20 24 63 6c 61 73 73 20 54 ....*.@param..string....$class.T
bd60 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 20 2a 20 40 72 65 74 he.name.of.the.class......*.@ret
bd80 75 72 6e 20 62 6f 6f 6c 7c 6e 75 6c 6c 20 54 72 75 65 20 69 66 20 6c 6f 61 64 65 64 2c 20 6e 75 urn.bool|null.True.if.loaded,.nu
bda0 6c 6c 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 20 ll.otherwise......*/.....public.
bdc0 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 20 20 20 20 7b function.loadClass($class).....{
bde0 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 .........if.($file.=.$this->find
be00 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 63 6c File($class)).{.............incl
be20 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 udeFile($file);..............ret
be40 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f urn.true;.........}.....}....../
be60 2a 2a 0a 20 20 20 20 20 2a 20 46 69 6e 64 73 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 **......*.Finds.the.path.to.the.
be80 66 69 6c 65 20 77 68 65 72 65 20 74 68 65 20 63 6c 61 73 73 20 69 73 20 64 65 66 69 6e 65 64 2e file.where.the.class.is.defined.
bea0 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 6e 67 20 24 63 6c ......*......*.@param.string.$cl
bec0 61 73 73 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 20 2a ass.The.name.of.the.class......*
bee0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 66 61 6c 73 65 20 54 68 65 ......*.@return.string|false.The
bf00 20 70 61 74 68 20 69 66 20 66 6f 75 6e 64 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a .path.if.found,.false.otherwise.
bf20 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 66 69 6e 64 .....*/.....public.function.find
bf40 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 6c File($class).....{.........//.cl
bf60 61 73 73 20 6d 61 70 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 ass.map.lookup.........if.(isset
bf80 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 7b 0a 20 20 20 ($this->classMap[$class])).{....
bfa0 20 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 5b .........return.$this->classMap[
bfc0 24 63 6c 61 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 $class];.........}.........if.($
bfe0 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 7c 7c 20 69 this->classMapAuthoritative.||.i
c000 73 73 65 74 28 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 sset($this->missingClasses[$clas
c020 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 66 61 6c 73 65 3b s])).{.............return.false;
c040 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 .........}.........if.(null.!==.
c060 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 20 20 20 20 20 20 20 $this->apcuPrefix).{............
c080 20 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 50 .$file.=.apcu_fetch($this->apcuP
c0a0 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 68 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 refix.$class,.$hit);............
c0c0 20 69 66 20 28 24 68 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 .if.($hit).{.................ret
c0e0 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 urn.$file;.............}........
c100 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 .}..........$file.=.$this->findF
c120 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 2e 70 68 70 27 29 ileWithExtension($class,.'.php')
c140 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 65 61 72 63 68 20 66 6f 72 20 48 61 63 6b 20 66 69 ;..........//.Search.for.Hack.fi
c160 6c 65 73 20 69 66 20 77 65 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 48 48 56 4d 0a 20 20 les.if.we.are.running.on.HHVM...
c180 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 20 26 26 20 64 65 66 ......if.(false.===.$file.&&.def
c1a0 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 ined('HHVM_VERSION')).{.........
c1c0 20 20 20 20 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 ....$file.=.$this->findFileWithE
c1e0 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 2e 68 68 27 29 3b 0a 20 20 20 20 20 20 20 xtension($class,.'.hh');........
c200 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e .}..........if.(null.!==.$this->
c220 61 70 63 75 50 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 70 63 75 5f 61 apcuPrefix).{.............apcu_a
c240 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
c260 6c 65 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 66 61 6c 73 le);.........}..........if.(fals
c280 65 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 e.===.$file).{.............//.Re
c2a0 6d 65 6d 62 65 72 20 74 68 61 74 20 74 68 69 73 20 63 6c 61 73 73 20 64 6f 65 73 20 6e 6f 74 20 member.that.this.class.does.not.
c2c0 65 78 69 73 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e exist..............$this->missin
c2e0 67 43 6c 61 73 73 65 73 5b 24 63 6c 61 73 73 5d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 gClasses[$class].=.true;........
c300 20 7d 0a 0a 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 7d 0a .}..........return.$file;.....}.
c320 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 57 69 .....private.function.findFileWi
c340 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 24 65 78 74 29 0a 20 20 20 20 7b 0a thExtension($class,.$ext).....{.
c360 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 34 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 ........//.PSR-4.lookup.........
c380 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c $logicalPathPsr4.=.strtr($class,
c3a0 20 27 5c 5c 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
c3c0 78 74 3b 0a 0a 20 20 20 20 20 20 20 20 24 66 69 72 73 74 20 3d 20 24 63 6c 61 73 73 5b 30 5d 3b xt;..........$first.=.$class[0];
c3e0 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 .........if.(isset($this->prefix
c400 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 LengthsPsr4[$first])).{.........
c420 20 20 20 20 24 73 75 62 50 61 74 68 20 3d 20 24 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 20 ....$subPath.=.$class;..........
c440 20 20 20 77 68 69 6c 65 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6c 61 73 74 50 6f 73 20 3d 20 73 ...while.(false.!==.$lastPos.=.s
c460 74 72 72 70 6f 73 28 24 73 75 62 50 61 74 68 2c 20 27 5c 5c 27 29 29 20 7b 0a 20 20 20 20 20 20 trrpos($subPath,.'\\')).{.......
c480 20 20 20 20 20 20 20 20 20 20 24 73 75 62 50 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 73 75 62 ..........$subPath.=.substr($sub
c4a0 50 61 74 68 2c 20 30 2c 20 24 6c 61 73 74 50 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 Path,.0,.$lastPos);.............
c4c0 20 20 20 20 24 73 65 61 72 63 68 20 3d 20 24 73 75 62 50 61 74 68 20 2e 20 27 5c 5c 27 3b 0a 20 ....$search.=.$subPath...'\\';..
c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e ...............if.(isset($this->
c500 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 73 65 61 72 63 68 5d 29 29 20 7b 0a 20 20 20 20 prefixDirsPsr4[$search])).{.....
c520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 74 68 45 6e 64 20 3d 20 44 49 52 45 43 ................$pathEnd.=.DIREC
c540 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c TORY_SEPARATOR...substr($logical
c560 50 61 74 68 50 73 72 34 2c 20 24 6c 61 73 74 50 6f 73 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 PathPsr4,.$lastPos.+.1);........
c580 20 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 73 2d 3e 70 72 65 .............foreach.($this->pre
c5a0 66 69 78 44 69 72 73 50 73 72 34 5b 24 73 65 61 72 63 68 5d 20 61 73 20 24 64 69 72 29 20 7b 0a fixDirsPsr4[$search].as.$dir).{.
c5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 ........................if.(file
c5e0 5f 65 78 69 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 _exists($file.=.$dir...$pathEnd)
c600 29 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 ).{.............................
c620 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 return.$file;...................
c640 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 7d 0a 20 20 ......}.....................}...
c660 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 20 20 ..............}.............}...
c680 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 34 20 66 61 6c 6c 62 61 ......}..........//.PSR-4.fallba
c6a0 63 6b 20 64 69 72 73 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e ck.dirs.........foreach.($this->
c6c0 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 fallbackDirsPsr4.as.$dir).{.....
c6e0 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 3d 20 ........if.(file_exists($file.=.
c700 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 6c 6f $dir...DIRECTORY_SEPARATOR...$lo
c720 67 69 63 61 6c 50 61 74 68 50 73 72 34 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gicalPathPsr4)).{...............
c740 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ..return.$file;.............}...
c760 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 6c 6f 6f 6b 75 70 ......}..........//.PSR-0.lookup
c780 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 .........if.(false.!==.$pos.=.st
c7a0 72 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 rrpos($class,.'\\')).{..........
c7c0 20 20 20 2f 2f 20 6e 61 6d 65 73 70 61 63 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 0a 20 20 20 20 ...//.namespaced.class.name.....
c7e0 20 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 75 62 73 74 ........$logicalPathPsr0.=.subst
c800 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 30 2c 20 24 70 6f 73 20 2b 20 31 29 r($logicalPathPsr4,.0,.$pos.+.1)
c820 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 73 74 72 74 72 28 73 75 62 73 74 72 28 ...................strtr(substr(
c840 24 6c 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 $logicalPathPsr4,.$pos.+.1),.'_'
c860 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 20 20 20 20 20 20 20 20 ,.DIRECTORY_SEPARATOR);.........
c880 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 45 41 52 2d 6c 69 6b }.else.{.............//.PEAR-lik
c8a0 65 20 63 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 e.class.name.............$logica
c8c0 6c 50 61 74 68 50 73 72 30 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5f 27 2c 20 44 lPathPsr0.=.strtr($class,.'_',.D
c8e0 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 20 20 20 20 IRECTORY_SEPARATOR)...$ext;.....
c900 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e ....}..........if.(isset($this->
c920 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 prefixesPsr0[$first])).{........
c940 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 .....foreach.($this->prefixesPsr
c960 30 5b 24 66 69 72 73 74 5d 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 24 64 69 72 73 29 20 7b 0[$first].as.$prefix.=>.$dirs).{
c980 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f .................if.(0.===.strpo
c9a0 73 28 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 s($class,.$prefix)).{...........
c9c0 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 72 ..........foreach.($dirs.as.$dir
c9e0 29 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 69 66 20 28 ).{.........................if.(
ca00 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 43 file_exists($file.=.$dir...DIREC
ca20 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 72 TORY_SEPARATOR...$logicalPathPsr
ca40 30 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 20 20 20 20 20 20 0)).{...........................
ca60 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..return.$file;.................
ca80 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 7d 0a ........}.....................}.
caa0 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 ................}.............}.
cac0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 66 61 6c 6c ........}..........//.PSR-0.fall
cae0 62 61 63 6b 20 64 69 72 73 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 back.dirs.........foreach.($this
cb00 2d 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 20 20 ->fallbackDirsPsr0.as.$dir).{...
cb20 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.
cb40 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...$
cb60 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)).{.............
cb80 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 20 20 20 20 20 7d 0a ....return.$file;.............}.
cba0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 69 6e 63 6c ........}..........//.PSR-0.incl
cbc0 75 64 65 20 70 61 74 68 73 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 75 73 ude.paths..........if.($this->us
cbe0 65 49 6e 63 6c 75 64 65 50 61 74 68 20 26 26 20 24 66 69 6c 65 20 3d 20 73 74 72 65 61 6d 5f 72 eIncludePath.&&.$file.=.stream_r
cc00 65 73 6f 6c 76 65 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 esolve_include_path($logicalPath
cc20 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 6e 20 24 66 69 6c Psr0)).{.............return.$fil
cc40 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 20 66 61 6c e;.........}..........return.fal
cc60 73 65 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 53 63 6f 70 65 20 69 73 6f 6c 61 74 se;.....}.}../**..*.Scope.isolat
cc80 65 64 20 69 6e 63 6c 75 64 65 2e 0a 20 2a 0a 20 2a 20 50 72 65 76 65 6e 74 73 20 61 63 63 65 73 ed.include...*..*.Prevents.acces
cca0 73 20 74 6f 20 24 74 68 69 73 2f 73 65 6c 66 20 66 72 6f 6d 20 69 6e 63 6c 75 64 65 64 20 66 69 s.to.$this/self.from.included.fi
ccc0 6c 65 73 2e 0a 20 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 les...*/.function.includeFile($f
cce0 69 6c 65 29 0a 7b 0a 20 20 20 20 69 6e 63 6c 75 64 65 20 24 66 69 6c 65 3b 0a 7d 0a 3c 3f 70 68 ile).{.....include.$file;.}.<?ph
cd00 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 20 40 67 65 6e 65 72 61 p..//.autoload_files.php.@genera
cd20 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 ted.by.Composer..$vendorDir.=.di
cd40 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 0a 24 62 61 73 65 44 rname(dirname(__FILE__));.$baseD
cd60 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 0a 0a 72 65 74 75 72 ir.=.dirname($vendorDir);..retur
cd80 6e 20 61 72 72 61 79 28 0a 20 20 20 20 27 30 65 36 64 37 62 66 34 61 35 38 31 31 62 66 61 35 63 n.array(.....'0e6d7bf4a5811bfa5c
cda0 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 20 2e 20 f40c5ccd6fae6a'.=>.$vendorDir...
cdc0 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 6f 6f 74 '/symfony/polyfill-mbstring/boot
cde0 73 74 72 61 70 2e 70 68 70 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 strap.php',.);.<?php..namespace.
ce00 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 4c 6f 67 67 65 Psr\Log\Test;..use.Psr\Log\Logge
ce20 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 4c 65 76 65 6c rInterface;.use.Psr\Log\LogLevel
ce40 3b 0a 0a 2f 2a 2a 0a 20 2a 20 50 72 6f 76 69 64 65 73 20 61 20 62 61 73 65 20 74 65 73 74 20 63 ;../**..*.Provides.a.base.test.c
ce60 6c 61 73 73 20 66 6f 72 20 65 6e 73 75 72 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 lass.for.ensuring.compliance.wit
ce80 68 20 74 68 65 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 2e 0a 20 2a 0a 20 2a 20 49 6d 70 h.the.LoggerInterface...*..*.Imp
cea0 6c 65 6d 65 6e 74 6f 72 73 20 63 61 6e 20 65 78 74 65 6e 64 20 74 68 65 20 63 6c 61 73 73 20 61 lementors.can.extend.the.class.a
cec0 6e 64 20 69 6d 70 6c 65 6d 65 6e 74 20 61 62 73 74 72 61 63 74 20 6d 65 74 68 6f 64 73 20 74 6f nd.implement.abstract.methods.to
cee0 20 72 75 6e 20 74 68 69 73 0a 20 2a 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 69 72 20 74 65 .run.this..*.as.part.of.their.te
cf00 73 74 20 73 75 69 74 65 2e 0a 20 2a 2f 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4c 6f 67 st.suite...*/.abstract.class.Log
cf20 67 65 72 49 6e 74 65 72 66 61 63 65 54 65 73 74 20 65 78 74 65 6e 64 73 20 5c 50 48 50 55 6e 69 gerInterfaceTest.extends.\PHPUni
cf40 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 43 61 73 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 t_Framework_TestCase.{...../**..
cf60 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 0a 20 20 ....*.@return.LoggerInterface...
cf80 20 20 20 2a 2f 0a 20 20 20 20 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ...*/.....abstract.public.functi
cfa0 6f 6e 20 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 on.getLogger();....../**......*.
cfc0 54 68 69 73 20 6d 75 73 74 20 72 65 74 75 72 6e 20 74 68 65 20 6c 6f 67 20 6d 65 73 73 61 67 65 This.must.return.the.log.message
cfe0 73 20 69 6e 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 73 69 s.in.order.......*......*.The.si
d000 6d 70 6c 65 20 66 6f 72 6d 61 74 74 69 6e 67 20 6f 66 20 74 68 65 20 6d 65 73 73 61 67 65 73 20 mple.formatting.of.the.messages.
d020 69 73 3a 20 22 3c 4c 4f 47 20 4c 45 56 45 4c 3e 20 3c 4d 45 53 53 41 47 45 3e 22 2e 0a 20 20 20 is:."<LOG.LEVEL>.<MESSAGE>".....
d040 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 20 2d 3e 65 72 72 6f 72 28 27 46 6f 6f 27 ..*......*.Example.->error('Foo'
d060 29 20 77 6f 75 6c 64 20 79 69 65 6c 64 20 22 65 72 72 6f 72 20 46 6f 6f 22 2e 0a 20 20 20 20 20 ).would.yield."error.Foo".......
d080 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 5b 5d 0a 20 20 20 20 20 2a *......*.@return.string[]......*
d0a0 2f 0a 20 20 20 20 61 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 /.....abstract.public.function.g
d0c0 65 74 4c 6f 67 73 28 29 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 etLogs();......public.function.t
d0e0 65 73 74 49 6d 70 6c 65 6d 65 6e 74 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 estImplements().....{.........$t
d100 68 69 73 2d 3e 61 73 73 65 72 74 49 6e 73 74 61 6e 63 65 4f 66 28 27 50 73 72 5c 4c 6f 67 5c 4c his->assertInstanceOf('Psr\Log\L
d120 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 oggerInterface',.$this->getLogge
d140 72 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 64 61 74 r());.....}....../**......*.@dat
d160 61 50 72 6f 76 69 64 65 72 20 70 72 6f 76 69 64 65 4c 65 76 65 6c 73 41 6e 64 4d 65 73 73 61 67 aProvider.provideLevelsAndMessag
d180 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 63 74 69 6f 6e 20 74 es......*/.....public.function.t
d1a0 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 20 24 6d 65 73 73 estLogsAtAllLevels($level,.$mess
d1c0 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 67 65 72 20 3d 20 24 74 68 age).....{.........$logger.=.$th
d1e0 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 67 65 72 is->getLogger();.........$logger
d200 2d 3e 7b 24 6c 65 76 65 6c 7d 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 28 27 75 73 65 72 ->{$level}($message,.array('user
d220 27 20 3d 3e 20 27 42 6f 62 27 29 29 3b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 67 65 72 2d 3e 6c '.=>.'Bob'));.........$logger->l
d240 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 28 27 75 73 65 72 og($level,.$message,.array('user
d260 27 20 3d 3e 20 27 42 6f 62 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 65 78 70 65 63 74 65 64 '.=>.'Bob'));..........$expected
d280 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 76 65 6c 2e 27 20 6d .=.array(.............$level.'.m
d2a0 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 27 2e 24 6c 65 76 65 6c 2e 27 20 77 69 74 68 20 essage.of.level.'.$level.'.with.
d2c0 63 6f 6e 74 65 78 74 3a 20 42 6f 62 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 76 65 context:.Bob',.............$leve
d2e0 6c 2e 27 20 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 27 2e 24 6c 65 76 65 6c 2e 27 20 l.'.message.of.level.'.$level.'.
d300 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 42 6f 62 27 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 with.context:.Bob',.........);..
d320 20 20 20 20 20 20 20 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 .......$this->assertEquals($expe
d340 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 20 20 20 20 7d 0a 0a cted,.$this->getLogs());.....}..
d360 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 4c 65 76 65 6c ....public.function.provideLevel
d380 73 41 6e 64 4d 65 73 73 61 67 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 sAndMessages().....{.........ret
d3a0 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a urn.array(.............LogLevel:
d3c0 3a 45 4d 45 52 47 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 :EMERGENCY.=>.array(LogLevel::EM
d3e0 45 52 47 45 4e 43 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 ERGENCY,.'message.of.level.emerg
d400 65 6e 63 79 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 20 20 20 ency.with.context:.{user}'),....
d420 20 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 61 72 72 61 .........LogLevel::ALERT.=>.arra
d440 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c y(LogLevel::ALERT,.'message.of.l
d460 65 76 65 6c 20 61 6c 65 72 74 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 evel.alert.with.context:.{user}'
d480 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 ),.............LogLevel::CRITICA
d4a0 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 20 27 L.=>.array(LogLevel::CRITICAL,.'
d4c0 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 20 63 message.of.level.critical.with.c
d4e0 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f ontext:.{user}'),.............Lo
d500 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a gLevel::ERROR.=>.array(LogLevel:
d520 3a 45 52 52 4f 52 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 65 72 72 6f 72 20 :ERROR,.'message.of.level.error.
d540 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 20 20 20 20 20 20 20 20 with.context:.{user}'),.........
d560 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 4c ....LogLevel::WARNING.=>.array(L
d580 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 ogLevel::WARNING,.'message.of.le
d5a0 76 65 6c 20 77 61 72 6e 69 6e 67 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d vel.warning.with.context:.{user}
d5c0 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 '),.............LogLevel::NOTICE
d5e0 20 3d 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 .=>.array(LogLevel::NOTICE,.'mes
d600 73 61 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 sage.of.level.notice.with.contex
d620 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 t:.{user}'),.............LogLeve
d640 6c 3a 3a 49 4e 46 4f 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c l::INFO.=>.array(LogLevel::INFO,
d660 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 69 6e 66 6f 20 77 69 74 68 20 63 6f 6e .'message.of.level.info.with.con
d680 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 4c text:.{user}'),.............LogL
d6a0 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 76 65 6c 3a 3a 44 evel::DEBUG.=>.array(LogLevel::D
d6c0 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 62 75 67 20 77 69 EBUG,.'message.of.level.debug.wi
d6e0 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 20 20 20 20 20 20 20 20 29 3b th.context:.{user}'),.........);
d700 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 65 78 70 65 63 74 65 64 .....}....../**......*.@expected
d720 45 78 63 65 70 74 69 6f 6e 20 5c 50 73 72 5c 4c 6f 67 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 Exception.\Psr\Log\InvalidArgume
d740 6e 74 45 78 63 65 70 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 ntException......*/.....public.f
d760 75 6e 63 74 69 6f 6e 20 74 65 73 74 54 68 72 6f 77 73 4f 6e 49 6e 76 61 6c 69 64 4c 65 76 65 6c unction.testThrowsOnInvalidLevel
d780 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 67 65 72 20 3d 20 24 74 68 69 73 ().....{.........$logger.=.$this
d7a0 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 67 65 72 2d 3e ->getLogger();.........$logger->
d7c0 6c 6f 67 28 27 69 6e 76 61 6c 69 64 20 6c 65 76 65 6c 27 2c 20 27 46 6f 6f 27 29 3b 0a 20 20 20 log('invalid.level',.'Foo');....
d7e0 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6e 74 .}......public.function.testCont
d800 65 78 74 52 65 70 6c 61 63 65 6d 65 6e 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 extReplacement().....{.........$
d820 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 3b 0a 20 20 20 logger.=.$this->getLogger();....
d840 20 20 20 20 20 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 .....$logger->info('{Message.{no
d860 74 68 69 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 thing}.{user}.{foo.bar}.a}',.arr
d880 61 79 28 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 ay('user'.=>.'Bob',.'foo.bar'.=>
d8a0 20 27 42 61 72 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 65 78 70 65 63 74 65 64 20 3d 20 61 .'Bar'));..........$expected.=.a
d8c0 72 72 61 79 28 27 69 6e 66 6f 20 7b 4d 65 73 73 61 67 65 20 7b 6e 6f 74 68 69 6e 67 7d 20 42 6f rray('info.{Message.{nothing}.Bo
d8e0 62 20 42 61 72 20 61 7d 27 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 b.Bar.a}');.........$this->asser
d900 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 tEquals($expected,.$this->getLog
d920 73 28 29 29 3b 0a 20 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 s());.....}......public.function
d940 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 20 20 20 20 7b 0a .testObjectCastToString().....{.
d960 20 20 20 20 20 20 20 20 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 74 68 69 73 2c ........if.(method_exists($this,
d980 20 27 63 72 65 61 74 65 50 61 72 74 69 61 6c 4d 6f 63 6b 27 29 29 20 7b 0a 20 20 20 20 20 20 20 .'createPartialMock')).{........
d9a0 20 20 20 20 20 24 64 75 6d 6d 79 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 72 74 69 .....$dummy.=.$this->createParti
d9c0 61 6c 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 alMock('Psr\Log\Test\DummyTest',
d9e0 20 61 72 72 61 79 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 3b 0a 20 20 20 20 20 20 20 20 7d .array('__toString'));.........}
da00 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 75 6d 6d 79 20 3d 20 24 74 68 .else.{.............$dummy.=.$th
da20 69 73 2d 3e 67 65 74 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 is->getMock('Psr\Log\Test\DummyT
da40 65 73 74 27 2c 20 61 72 72 61 79 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 3b 0a 20 20 20 20 est',.array('__toString'));.....
da60 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 64 75 6d 6d 79 2d 3e 65 78 70 65 63 74 73 28 24 74 ....}.........$dummy->expects($t
da80 68 69 73 2d 3e 6f 6e 63 65 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 6d 65 74 68 6f his->once()).............->metho
daa0 64 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 77 69 d('__toString').............->wi
dac0 6c 6c 28 24 74 68 69 73 2d 3e 72 65 74 75 72 6e 56 61 6c 75 65 28 27 44 55 4d 4d 59 27 29 29 3b ll($this->returnValue('DUMMY'));
dae0 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 2d 3e 77 61 ..........$this->getLogger()->wa
db00 72 6e 69 6e 67 28 24 64 75 6d 6d 79 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 65 78 70 65 63 74 65 rning($dummy);..........$expecte
db20 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 20 20 20 20 d.=.array('warning.DUMMY');.....
db40 20 20 20 20 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 ....$this->assertEquals($expecte
db60 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 d,.$this->getLogs());.....}.....
db80 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6e 74 65 78 74 43 61 6e 43 .public.function.testContextCanC
dba0 6f 6e 74 61 69 6e 41 6e 79 74 68 69 6e 67 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 ontainAnything().....{.........$
dbc0 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 62 6f context.=.array(.............'bo
dbe0 6f 6c 27 20 3d 3e 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 75 6c 6c 27 20 ol'.=>.true,.............'null'.
dc00 3d 3e 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 73 74 72 69 6e 67 27 20 3d 3e =>.null,.............'string'.=>
dc20 20 27 46 6f 6f 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 74 27 20 3d 3e 20 30 2c 0a .'Foo',.............'int'.=>.0,.
dc40 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6c 6f 61 74 27 20 3d 3e 20 30 2e 35 2c 0a 20 20 20 20 ............'float'.=>.0.5,.....
dc60 20 20 20 20 20 20 20 20 27 6e 65 73 74 65 64 27 20 3d 3e 20 61 72 72 61 79 28 27 77 69 74 68 20 ........'nested'.=>.array('with.
dc80 6f 62 6a 65 63 74 27 20 3d 3e 20 6e 65 77 20 44 75 6d 6d 79 54 65 73 74 29 2c 0a 20 20 20 20 20 object'.=>.new.DummyTest),......
dca0 20 20 20 20 20 20 20 27 6f 62 6a 65 63 74 27 20 3d 3e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 .......'object'.=>.new.\DateTime
dcc0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 73 6f 75 72 63 65 27 20 3d 3e 20 66 6f 70 65 ,.............'resource'.=>.fope
dce0 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 72 27 29 2c 0a 20 20 20 20 20 20 20 20 n('php://memory',.'r'),.........
dd00 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 2d 3e );..........$this->getLogger()->
dd20 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 24 63 warning('Crazy.context.data',.$c
dd40 6f 6e 74 65 78 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 ontext);..........$expected.=.ar
dd60 72 61 79 28 27 77 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 ray('warning.Crazy.context.data'
dd80 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 );.........$this->assertEquals($
dda0 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 20 20 20 expected,.$this->getLogs());....
ddc0 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6e 74 .}......public.function.testCont
dde0 65 78 74 45 78 63 65 70 74 69 6f 6e 4b 65 79 43 61 6e 42 65 45 78 63 65 70 74 69 6f 6e 4f 72 4f extExceptionKeyCanBeExceptionOrO
de00 74 68 65 72 56 61 6c 75 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 67 therValues().....{.........$logg
de20 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 20 20 20 20 20 20 20 er.=.$this->getLogger();........
de40 20 24 6c 6f 67 67 65 72 2d 3e 77 61 72 6e 69 6e 67 28 27 52 61 6e 64 6f 6d 20 6d 65 73 73 61 67 .$logger->warning('Random.messag
de60 65 27 2c 20 61 72 72 61 79 28 27 65 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 27 6f 6f 70 73 27 29 e',.array('exception'.=>.'oops')
de80 29 3b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 67 65 72 2d 3e 63 72 69 74 69 63 61 6c 28 27 55 6e );.........$logger->critical('Un
dea0 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 21 27 2c 20 61 72 72 61 79 28 27 65 78 63 65 70 caught.Exception!',.array('excep
dec0 74 69 6f 6e 27 20 3d 3e 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 46 61 tion'.=>.new.\LogicException('Fa
dee0 69 6c 27 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 il')));..........$expected.=.arr
df00 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 77 61 72 6e 69 6e 67 20 52 61 6e 64 6f 6d 20 ay(.............'warning.Random.
df20 6d 65 73 73 61 67 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 63 72 69 74 69 63 61 6c 20 message',.............'critical.
df40 55 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 21 27 0a 20 20 20 20 20 20 20 20 29 3b 0a Uncaught.Exception!'.........);.
df60 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 ........$this->assertEquals($exp
df80 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b 0a 20 20 20 20 7d 0a ected,.$this->getLogs());.....}.
dfa0 7d 0a 0a 63 6c 61 73 73 20 44 75 6d 6d 79 54 65 73 74 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 20 }..class.DummyTest.{.....public.
dfc0 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 function.__toString().....{.....
dfe0 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 67 3b 0a 0a 2f }.}.<?php..namespace.Psr\Log;../
e000 2a 2a 0a 20 2a 20 44 65 73 63 72 69 62 65 73 20 61 20 6c 6f 67 67 65 72 20 69 6e 73 74 61 6e 63 **..*.Describes.a.logger.instanc
e020 65 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 6d 65 73 73 61 67 65 20 4d 55 53 54 20 62 65 20 61 20 73 e...*..*.The.message.MUST.be.a.s
e040 74 72 69 6e 67 20 6f 72 20 6f 62 6a 65 63 74 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 5f 5f 74 tring.or.object.implementing.__t
e060 6f 53 74 72 69 6e 67 28 29 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 6d 65 73 73 61 67 65 20 4d 41 59 oString()...*..*.The.message.MAY
e080 20 63 6f 6e 74 61 69 6e 20 70 6c 61 63 65 68 6f 6c 64 65 72 73 20 69 6e 20 74 68 65 20 66 6f 72 .contain.placeholders.in.the.for
e0a0 6d 3a 20 7b 66 6f 6f 7d 20 77 68 65 72 65 20 66 6f 6f 0a 20 2a 20 77 69 6c 6c 20 62 65 20 72 65 m:.{foo}.where.foo..*.will.be.re
e0c0 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 6f 6e 74 65 78 74 20 64 61 74 61 20 69 6e 20 6b 65 placed.by.the.context.data.in.ke
e0e0 79 20 22 66 6f 6f 22 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 63 6f 6e 74 65 78 74 20 61 72 72 61 79 y."foo"...*..*.The.context.array
e100 20 63 61 6e 20 63 6f 6e 74 61 69 6e 20 61 72 62 69 74 72 61 72 79 20 64 61 74 61 2e 20 54 68 65 .can.contain.arbitrary.data..The
e120 20 6f 6e 6c 79 20 61 73 73 75 6d 70 74 69 6f 6e 20 74 68 61 74 0a 20 2a 20 63 61 6e 20 62 65 20 .only.assumption.that..*.can.be.
e140 6d 61 64 65 20 62 79 20 69 6d 70 6c 65 6d 65 6e 74 6f 72 73 20 69 73 20 74 68 61 74 20 69 66 20 made.by.implementors.is.that.if.
e160 61 6e 20 45 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 20 69 73 20 67 69 76 65 6e 0a 20 an.Exception.instance.is.given..
e180 2a 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 2c 20 69 74 20 4d *.to.produce.a.stack.trace,.it.M
e1a0 55 53 54 20 62 65 20 69 6e 20 61 20 6b 65 79 20 6e 61 6d 65 64 20 22 65 78 63 65 70 74 69 6f 6e UST.be.in.a.key.named."exception
e1c0 22 2e 0a 20 2a 0a 20 2a 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f "...*..*.See.https://github.com/
e1e0 70 68 70 2d 66 69 67 2f 66 69 67 2d 73 74 61 6e 64 61 72 64 73 2f 62 6c 6f 62 2f 6d 61 73 74 65 php-fig/fig-standards/blob/maste
e200 72 2f 61 63 63 65 70 74 65 64 2f 50 53 52 2d 33 2d 6c 6f 67 67 65 72 2d 69 6e 74 65 72 66 61 63 r/accepted/PSR-3-logger-interfac
e220 65 2e 6d 64 0a 20 2a 20 66 6f 72 20 74 68 65 20 66 75 6c 6c 20 69 6e 74 65 72 66 61 63 65 20 73 e.md..*.for.the.full.interface.s
e240 70 65 63 69 66 69 63 61 74 69 6f 6e 2e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f 67 67 pecification...*/.interface.Logg
e260 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 79 73 erInterface.{...../**......*.Sys
e280 74 65 6d 20 69 73 20 75 6e 75 73 61 62 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 tem.is.unusable.......*......*.@
e2a0 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 param.string.$message......*.@pa
e2c0 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ram.array..$context......*......
e2e0 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 *.@return.void......*/.....publi
e300 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 61 67 65 2c 20 61 c.function.emergency($message,.a
e320 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 20 20 20 20 2f rray.$context.=.array());....../
e340 2a 2a 0a 20 20 20 20 20 2a 20 41 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 74 61 6b 65 6e 20 69 **......*.Action.must.be.taken.i
e360 6d 6d 65 64 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 6d 70 6c mmediately.......*......*.Exampl
e380 65 3a 20 45 6e 74 69 72 65 20 77 65 62 73 69 74 65 20 64 6f 77 6e 2c 20 64 61 74 61 62 61 73 65 e:.Entire.website.down,.database
e3a0 20 75 6e 61 76 61 69 6c 61 62 6c 65 2c 20 65 74 63 2e 20 54 68 69 73 20 73 68 6f 75 6c 64 0a 20 .unavailable,.etc..This.should..
e3c0 20 20 20 20 2a 20 74 72 69 67 67 65 72 20 74 68 65 20 53 4d 53 20 61 6c 65 72 74 73 20 61 6e 64 ....*.trigger.the.SMS.alerts.and
e3e0 20 77 61 6b 65 20 79 6f 75 20 75 70 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 .wake.you.up.......*......*.@par
e400 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d am.string.$message......*.@param
e420 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 .array..$context......*......*.@
e440 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 return.void......*/.....public.f
e460 75 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 unction.alert($message,.array.$c
e480 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 ontext.=.array());....../**.....
e4a0 20 2a 20 43 72 69 74 69 63 61 6c 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 .*.Critical.conditions.......*..
e4c0 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 3a 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6d 70 6f ....*.Example:.Application.compo
e4e0 6e 65 6e 74 20 75 6e 61 76 61 69 6c 61 62 6c 65 2c 20 75 6e 65 78 70 65 63 74 65 64 20 65 78 63 nent.unavailable,.unexpected.exc
e500 65 70 74 69 6f 6e 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 eption.......*......*.@param.str
e520 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 ing.$message......*.@param.array
e540 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e ..$context......*......*.@return
e560 20 76 6f 69 64 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 .void......*/.....public.functio
e580 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 24 63 6f 6e 74 n.critical($message,.array.$cont
e5a0 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 ext.=.array());....../**......*.
e5c0 52 75 6e 74 69 6d 65 20 65 72 72 6f 72 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 72 65 71 75 69 Runtime.errors.that.do.not.requi
e5e0 72 65 20 69 6d 6d 65 64 69 61 74 65 20 61 63 74 69 6f 6e 20 62 75 74 20 73 68 6f 75 6c 64 20 74 re.immediate.action.but.should.t
e600 79 70 69 63 61 6c 6c 79 0a 20 20 20 20 20 2a 20 62 65 20 6c 6f 67 67 65 64 20 61 6e 64 20 6d 6f ypically......*.be.logged.and.mo
e620 6e 69 74 6f 72 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 nitored.......*......*.@param.st
e640 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 ring.$message......*.@param.arra
e660 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 y..$context......*......*.@retur
e680 6e 20 76 6f 69 64 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 n.void......*/.....public.functi
e6a0 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 on.error($message,.array.$contex
e6c0 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 78 t.=.array());....../**......*.Ex
e6e0 63 65 70 74 69 6f 6e 61 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 74 68 61 74 20 61 72 65 20 6e ceptional.occurrences.that.are.n
e700 6f 74 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 ot.errors.......*......*.Example
e720 3a 20 55 73 65 20 6f 66 20 64 65 70 72 65 63 61 74 65 64 20 41 50 49 73 2c 20 70 6f 6f 72 20 75 :.Use.of.deprecated.APIs,.poor.u
e740 73 65 20 6f 66 20 61 6e 20 41 50 49 2c 20 75 6e 64 65 73 69 72 61 62 6c 65 20 74 68 69 6e 67 73 se.of.an.API,.undesirable.things
e760 0a 20 20 20 20 20 2a 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 ......*.that.are.not.necessarily
e780 20 77 72 6f 6e 67 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 .wrong.......*......*.@param.str
e7a0 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 ing.$message......*.@param.array
e7c0 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e ..$context......*......*.@return
e7e0 20 76 6f 69 64 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 .void......*/.....public.functio
e800 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 24 63 6f 6e 74 65 n.warning($message,.array.$conte
e820 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4e xt.=.array());....../**......*.N
e840 6f 72 6d 61 6c 20 62 75 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 65 76 65 6e 74 73 2e 0a 20 20 ormal.but.significant.events....
e860 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 ...*......*.@param.string.$messa
e880 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 ge......*.@param.array..$context
e8a0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 ......*......*.@return.void.....
e8c0 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 .*/.....public.function.notice($
e8e0 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 79 28 message,.array.$context.=.array(
e900 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 74 65 72 65 73 74 69 6e 67 20 ));....../**......*.Interesting.
e920 65 76 65 6e 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 3a 20 55 events.......*......*.Example:.U
e940 73 65 72 20 6c 6f 67 73 20 69 6e 2c 20 53 51 4c 20 6c 6f 67 73 2e 0a 20 20 20 20 20 2a 0a 20 20 ser.logs.in,.SQL.logs.......*...
e960 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 ...*.@param.string.$message.....
e980 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a .*.@param.array..$context......*
e9a0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 ......*.@return.void......*/....
e9c0 20 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,.
e9e0 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 20 20 20 20 array.$context.=.array());......
ea00 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 74 61 69 6c 65 64 20 64 65 62 75 67 20 69 6e 66 6f 72 6d /**......*.Detailed.debug.inform
ea20 61 74 69 6f 6e 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 ation.......*......*.@param.stri
ea40 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 ng.$message......*.@param.array.
ea60 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 .$context......*......*.@return.
ea80 76 6f 69 64 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 void......*/.....public.function
eaa0 20 64 65 62 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 .debug($message,.array.$context.
eac0 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 67 73 =.array());....../**......*.Logs
eae0 20 77 69 74 68 20 61 6e 20 61 72 62 69 74 72 61 72 79 20 6c 65 76 65 6c 2e 0a 20 20 20 20 20 2a .with.an.arbitrary.level.......*
eb00 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 6c 65 76 65 6c 0a 20 20 20 ......*.@param.mixed..$level....
eb20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 ..*.@param.string.$message......
eb40 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a *.@param.array..$context......*.
eb60 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 .....*.@return.void......*/.....
eb80 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 73 public.function.log($level,.$mes
eba0 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 3b sage,.array.$context.=.array());
ebc0 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 67 3b 0a 0a 2f 2a .}.<?php..namespace.Psr\Log;../*
ebe0 2a 0a 20 2a 20 44 65 73 63 72 69 62 65 73 20 61 20 6c 6f 67 67 65 72 2d 61 77 61 72 65 20 69 6e *..*.Describes.a.logger-aware.in
ec00 73 74 61 6e 63 65 2e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f 67 67 65 72 41 77 61 72 stance...*/.interface.LoggerAwar
ec20 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 eInterface.{...../**......*.Sets
ec40 20 61 20 6c 6f 67 67 65 72 20 69 6e 73 74 61 6e 63 65 20 6f 6e 20 74 68 65 20 6f 62 6a 65 63 74 .a.logger.instance.on.the.object
ec60 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4c 6f 67 67 65 72 49 6e 74 .......*......*.@param.LoggerInt
ec80 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 erface.$logger......*......*.@re
eca0 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e turn.void......*/.....public.fun
ecc0 63 74 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 ction.setLogger(LoggerInterface.
ece0 24 6c 6f 67 67 65 72 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 $logger);.}.<?php..namespace.Psr
ed00 5c 4c 6f 67 3b 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 69 73 20 69 73 20 61 20 73 69 6d 70 6c 65 20 4c \Log;../**..*.This.is.a.simple.L
ed20 6f 67 67 65 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 74 68 61 74 20 6f 74 68 65 72 20 ogger.implementation.that.other.
ed40 4c 6f 67 67 65 72 73 20 63 61 6e 20 69 6e 68 65 72 69 74 20 66 72 6f 6d 2e 0a 20 2a 0a 20 2a 20 Loggers.can.inherit.from...*..*.
ed60 49 74 20 73 69 6d 70 6c 79 20 64 65 6c 65 67 61 74 65 73 20 61 6c 6c 20 6c 6f 67 2d 6c 65 76 65 It.simply.delegates.all.log-leve
ed80 6c 2d 73 70 65 63 69 66 69 63 20 6d 65 74 68 6f 64 73 20 74 6f 20 74 68 65 20 60 6c 6f 67 60 20 l-specific.methods.to.the.`log`.
eda0 6d 65 74 68 6f 64 20 74 6f 0a 20 2a 20 72 65 64 75 63 65 20 62 6f 69 6c 65 72 70 6c 61 74 65 20 method.to..*.reduce.boilerplate.
edc0 63 6f 64 65 20 74 68 61 74 20 61 20 73 69 6d 70 6c 65 20 4c 6f 67 67 65 72 20 74 68 61 74 20 64 code.that.a.simple.Logger.that.d
ede0 6f 65 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 77 69 74 68 0a 20 2a 20 6d 65 73 73 61 oes.the.same.thing.with..*.messa
ee00 67 65 73 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 74 68 65 20 65 72 72 6f 72 20 6c 65 76 65 ges.regardless.of.the.error.leve
ee20 6c 20 68 61 73 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 2e 0a 20 2a 2f 0a 61 62 73 74 72 61 63 74 l.has.to.implement...*/.abstract
ee40 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 .class.AbstractLogger.implements
ee60 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 .LoggerInterface.{...../**......
ee80 2a 20 53 79 73 74 65 6d 20 69 73 20 75 6e 75 73 61 62 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 *.System.is.unusable.......*....
eea0 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 ..*.@param.string.$message......
eec0 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a *.@param.array..$context......*.
eee0 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 .....*.@return.void......*/.....
ef00 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 61 public.function.emergency($messa
ef20 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 20 20 ge,.array.$context.=.array())...
ef40 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a ..{.........$this->log(LogLevel:
ef60 3a 45 4d 45 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 :EMERGENCY,.$message,.$context);
ef80 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 63 74 69 6f 6e 20 6d 75 .....}....../**......*.Action.mu
efa0 73 74 20 62 65 20 74 61 6b 65 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 2a 0a st.be.taken.immediately.......*.
efc0 20 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 3a 20 45 6e 74 69 72 65 20 77 65 62 73 69 74 65 20 64 .....*.Example:.Entire.website.d
efe0 6f 77 6e 2c 20 64 61 74 61 62 61 73 65 20 75 6e 61 76 61 69 6c 61 62 6c 65 2c 20 65 74 63 2e 20 own,.database.unavailable,.etc..
f000 54 68 69 73 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 2a 20 74 72 69 67 67 65 72 20 74 68 65 20 53 This.should......*.trigger.the.S
f020 4d 53 20 61 6c 65 72 74 73 20 61 6e 64 20 77 61 6b 65 20 79 6f 75 20 75 70 2e 0a 20 20 20 20 20 MS.alerts.and.wake.you.up.......
f040 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a *......*.@param.string.$message.
f060 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 .....*.@param.array..$context...
f080 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f ...*......*.@return.void......*/
f0a0 0a 20 20 20 20 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 .....public.function.alert($mess
f0c0 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 20 age,.array.$context.=.array())..
f0e0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c ...{.........$this->log(LogLevel
f100 3a 3a 41 4c 45 52 54 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 ::ALERT,.$message,.$context);...
f120 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 72 69 74 69 63 61 6c 20 63 6f 6e ..}....../**......*.Critical.con
f140 64 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 3a 20 ditions.......*......*.Example:.
f160 41 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6d 70 6f 6e 65 6e 74 20 75 6e 61 76 61 69 6c 61 62 6c Application.component.unavailabl
f180 65 2c 20 75 6e 65 78 70 65 63 74 65 64 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a e,.unexpected.exception.......*.
f1a0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 .....*.@param.string.$message...
f1c0 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 ...*.@param.array..$context.....
f1e0 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 .*......*.@return.void......*/..
f200 20 20 20 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 65 73 ...public.function.critical($mes
f220 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()).
f240 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 ....{.........$this->log(LogLeve
f260 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 l::CRITICAL,.$message,.$context)
f280 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 75 6e 74 69 6d 65 20 ;.....}....../**......*.Runtime.
f2a0 65 72 72 6f 72 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 72 65 71 75 69 72 65 20 69 6d 6d 65 64 errors.that.do.not.require.immed
f2c0 69 61 74 65 20 61 63 74 69 6f 6e 20 62 75 74 20 73 68 6f 75 6c 64 20 74 79 70 69 63 61 6c 6c 79 iate.action.but.should.typically
f2e0 0a 20 20 20 20 20 2a 20 62 65 20 6c 6f 67 67 65 64 20 61 6e 64 20 6d 6f 6e 69 74 6f 72 65 64 2e ......*.be.logged.and.monitored.
f300 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 6e 67 20 24 6d 65 ......*......*.@param.string.$me
f320 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 ssage......*.@param.array..$cont
f340 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 ext......*......*.@return.void..
f360 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 65 72 72 6f 72 ....*/.....public.function.error
f380 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
f3a0 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f y()).....{.........$this->log(Lo
f3c0 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 63 6f 6e 74 65 78 gLevel::ERROR,.$message,.$contex
f3e0 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 78 63 65 70 74 t);.....}....../**......*.Except
f400 69 6f 6e 61 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 65 ional.occurrences.that.are.not.e
f420 72 72 6f 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 3a 20 55 73 rrors.......*......*.Example:.Us
f440 65 20 6f 66 20 64 65 70 72 65 63 61 74 65 64 20 41 50 49 73 2c 20 70 6f 6f 72 20 75 73 65 20 6f e.of.deprecated.APIs,.poor.use.o
f460 66 20 61 6e 20 41 50 49 2c 20 75 6e 64 65 73 69 72 61 62 6c 65 20 74 68 69 6e 67 73 0a 20 20 20 f.an.API,.undesirable.things....
f480 20 20 2a 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 77 72 6f ..*.that.are.not.necessarily.wro
f4a0 6e 67 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 6e 67 20 ng.......*......*.@param.string.
f4c0 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 $message......*.@param.array..$c
f4e0 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 ontext......*......*.@return.voi
f500 64 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 77 61 d......*/.....public.function.wa
f520 72 6e 69 6e 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 rning($message,.array.$context.=
f540 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c .array()).....{.........$this->l
f560 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 61 67 65 2c 20 og(LogLevel::WARNING,.$message,.
f580 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a $context);.....}....../**......*
f5a0 20 4e 6f 72 6d 61 6c 20 62 75 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 65 76 65 6e 74 73 2e 0a .Normal.but.significant.events..
f5c0 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 6e 67 20 24 6d 65 73 .....*......*.@param.string.$mes
f5e0 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 sage......*.@param.array..$conte
f600 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 xt......*......*.@return.void...
f620 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 6e 6f 74 69 63 65 ...*/.....public.function.notice
f640 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
f660 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f y()).....{.........$this->log(Lo
f680 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 63 6f 6e 74 65 gLevel::NOTICE,.$message,.$conte
f6a0 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 74 65 72 xt);.....}....../**......*.Inter
f6c0 65 73 74 69 6e 67 20 65 76 65 6e 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 esting.events.......*......*.Exa
f6e0 6d 70 6c 65 3a 20 55 73 65 72 20 6c 6f 67 73 20 69 6e 2c 20 53 51 4c 20 6c 6f 67 73 2e 0a 20 20 mple:.User.logs.in,.SQL.logs....
f700 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 ...*......*.@param.string.$messa
f720 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 ge......*.@param.array..$context
f740 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 ......*......*.@return.void.....
f760 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 .*/.....public.function.info($me
f780 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())
f7a0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 .....{.........$this->log(LogLev
f7c0 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 3b 0a 20 el::INFO,.$message,.$context);..
f7e0 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 74 61 69 6c 65 64 20 64 65 ...}....../**......*.Detailed.de
f800 62 75 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 bug.information.......*......*.@
f820 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 param.string.$message......*.@pa
f840 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ram.array..$context......*......
f860 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 *.@return.void......*/.....publi
f880 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 61 79 c.function.debug($message,.array
f8a0 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 .$context.=.array()).....{......
f8c0 20 20 20 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 ...$this->log(LogLevel::DEBUG,.$
f8e0 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 message,.$context);.....}.}.<?ph
f900 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 2f 2a 2a 0a 20 2a 20 44 65 p..namespace.Psr\Log;../**..*.De
f920 73 63 72 69 62 65 73 20 6c 6f 67 20 6c 65 76 65 6c 73 2e 0a 20 2a 2f 0a 63 6c 61 73 73 20 4c 6f scribes.log.levels...*/.class.Lo
f940 67 4c 65 76 65 6c 0a 7b 0a 20 20 20 20 63 6f 6e 73 74 20 45 4d 45 52 47 45 4e 43 59 20 3d 20 27 gLevel.{.....const.EMERGENCY.=.'
f960 65 6d 65 72 67 65 6e 63 79 27 3b 0a 20 20 20 20 63 6f 6e 73 74 20 41 4c 45 52 54 20 20 20 20 20 emergency';.....const.ALERT.....
f980 3d 20 27 61 6c 65 72 74 27 3b 0a 20 20 20 20 63 6f 6e 73 74 20 43 52 49 54 49 43 41 4c 20 20 3d =.'alert';.....const.CRITICAL..=
f9a0 20 27 63 72 69 74 69 63 61 6c 27 3b 0a 20 20 20 20 63 6f 6e 73 74 20 45 52 52 4f 52 20 20 20 20 .'critical';.....const.ERROR....
f9c0 20 3d 20 27 65 72 72 6f 72 27 3b 0a 20 20 20 20 63 6f 6e 73 74 20 57 41 52 4e 49 4e 47 20 20 20 .=.'error';.....const.WARNING...
f9e0 3d 20 27 77 61 72 6e 69 6e 67 27 3b 0a 20 20 20 20 63 6f 6e 73 74 20 4e 4f 54 49 43 45 20 20 20 =.'warning';.....const.NOTICE...
fa00 20 3d 20 27 6e 6f 74 69 63 65 27 3b 0a 20 20 20 20 63 6f 6e 73 74 20 49 4e 46 4f 20 20 20 20 20 .=.'notice';.....const.INFO.....
fa20 20 3d 20 27 69 6e 66 6f 27 3b 0a 20 20 20 20 63 6f 6e 73 74 20 44 45 42 55 47 20 20 20 20 20 3d .=.'info';.....const.DEBUG.....=
fa40 20 27 64 65 62 75 67 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 .'debug';.}.<?php..namespace.Psr
fa60 5c 4c 6f 67 3b 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 69 73 20 4c 6f 67 67 65 72 20 63 61 6e 20 62 65 \Log;../**..*.This.Logger.can.be
fa80 20 75 73 65 64 20 74 6f 20 61 76 6f 69 64 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 6c 6f 67 20 63 .used.to.avoid.conditional.log.c
faa0 61 6c 6c 73 2e 0a 20 2a 0a 20 2a 20 4c 6f 67 67 69 6e 67 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 alls...*..*.Logging.should.alway
fac0 73 20 62 65 20 6f 70 74 69 6f 6e 61 6c 2c 20 61 6e 64 20 69 66 20 6e 6f 20 6c 6f 67 67 65 72 20 s.be.optional,.and.if.no.logger.
fae0 69 73 20 70 72 6f 76 69 64 65 64 20 74 6f 20 79 6f 75 72 0a 20 2a 20 6c 69 62 72 61 72 79 20 63 is.provided.to.your..*.library.c
fb00 72 65 61 74 69 6e 67 20 61 20 4e 75 6c 6c 4c 6f 67 67 65 72 20 69 6e 73 74 61 6e 63 65 20 74 6f reating.a.NullLogger.instance.to
fb20 20 68 61 76 65 20 73 6f 6d 65 74 68 69 6e 67 20 74 6f 20 74 68 72 6f 77 20 6c 6f 67 73 20 61 74 .have.something.to.throw.logs.at
fb40 0a 20 2a 20 69 73 20 61 20 67 6f 6f 64 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 6c 69 74 74 65 ..*.is.a.good.way.to.avoid.litte
fb60 72 69 6e 67 20 79 6f 75 72 20 63 6f 64 65 20 77 69 74 68 20 60 69 66 20 28 24 74 68 69 73 2d 3e ring.your.code.with.`if.($this->
fb80 6c 6f 67 67 65 72 29 20 7b 20 7d 60 0a 20 2a 20 62 6c 6f 63 6b 73 2e 0a 20 2a 2f 0a 63 6c 61 73 logger).{.}`..*.blocks...*/.clas
fba0 73 20 4e 75 6c 6c 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 s.NullLogger.extends.AbstractLog
fbc0 67 65 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 67 73 20 77 69 74 68 20 61 ger.{...../**......*.Logs.with.a
fbe0 6e 20 61 72 62 69 74 72 61 72 79 20 6c 65 76 65 6c 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a n.arbitrary.level.......*......*
fc00 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 6c 65 76 65 6c 0a 20 20 20 20 20 2a 20 40 70 61 .@param.mixed..$level......*.@pa
fc20 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 ram.string.$message......*.@para
fc40 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 m.array..$context......*......*.
fc60 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 @return.void......*/.....public.
fc80 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 2c 20 61 function.log($level,.$message,.a
fca0 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 20 20 20 20 7b 0a 20 rray.$context.=.array()).....{..
fcc0 20 20 20 20 20 20 20 2f 2f 20 6e 6f 6f 70 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 .......//.noop.....}.}.<?php..na
fce0 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 6e 76 61 6c 69 64 41 mespace.Psr\Log;..class.InvalidA
fd00 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 61 6c 69 rgumentException.extends.\Invali
fd20 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 68 70 0a 0a 6e 61 dArgumentException.{.}.<?php..na
fd40 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 2f 2a 2a 0a 20 2a 20 42 61 73 69 63 20 49 mespace.Psr\Log;../**..*.Basic.I
fd60 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 mplementation.of.LoggerAwareInte
fd80 72 66 61 63 65 2e 0a 20 2a 2f 0a 74 72 61 69 74 20 4c 6f 67 67 65 72 41 77 61 72 65 54 72 61 69 rface...*/.trait.LoggerAwareTrai
fda0 74 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 6c 6f 67 67 65 72 20 69 6e t.{...../**......*.The.logger.in
fdc0 73 74 61 6e 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 4c 6f 67 67 65 stance.......*......*.@var.Logge
fde0 72 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 rInterface......*/.....protected
fe00 20 24 6c 6f 67 67 65 72 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 61 .$logger;....../**......*.Sets.a
fe20 20 6c 6f 67 67 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4c 6f .logger.......*......*.@param.Lo
fe40 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 ggerInterface.$logger......*/...
fe60 20 20 70 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 ..public.function.setLogger(Logg
fe80 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 erInterface.$logger).....{......
fea0 20 20 20 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 20 20 20 20 ...$this->logger.=.$logger;.....
fec0 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 67 3b 0a 0a 2f }.}.<?php..namespace.Psr\Log;../
fee0 2a 2a 0a 20 2a 20 54 68 69 73 20 69 73 20 61 20 73 69 6d 70 6c 65 20 4c 6f 67 67 65 72 20 74 72 **..*.This.is.a.simple.Logger.tr
ff00 61 69 74 20 74 68 61 74 20 63 6c 61 73 73 65 73 20 75 6e 61 62 6c 65 20 74 6f 20 65 78 74 65 6e ait.that.classes.unable.to.exten
ff20 64 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 20 2a 20 28 62 65 63 61 75 73 65 20 74 68 65 d.AbstractLogger..*.(because.the
ff40 79 20 65 78 74 65 6e 64 20 61 6e 6f 74 68 65 72 20 63 6c 61 73 73 2c 20 65 74 63 29 20 63 61 6e y.extend.another.class,.etc).can
ff60 20 69 6e 63 6c 75 64 65 2e 0a 20 2a 0a 20 2a 20 49 74 20 73 69 6d 70 6c 79 20 64 65 6c 65 67 61 .include...*..*.It.simply.delega
ff80 74 65 73 20 61 6c 6c 20 6c 6f 67 2d 6c 65 76 65 6c 2d 73 70 65 63 69 66 69 63 20 6d 65 74 68 6f tes.all.log-level-specific.metho
ffa0 64 73 20 74 6f 20 74 68 65 20 60 6c 6f 67 60 20 6d 65 74 68 6f 64 20 74 6f 0a 20 2a 20 72 65 64 ds.to.the.`log`.method.to..*.red
ffc0 75 63 65 20 62 6f 69 6c 65 72 70 6c 61 74 65 20 63 6f 64 65 20 74 68 61 74 20 61 20 73 69 6d 70 uce.boilerplate.code.that.a.simp
ffe0 6c 65 20 4c 6f 67 67 65 72 20 74 68 61 74 20 64 6f 65 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 le.Logger.that.does.the.same.thi
10000 6e 67 20 77 69 74 68 0a 20 2a 20 6d 65 73 73 61 67 65 73 20 72 65 67 61 72 64 6c 65 73 73 20 6f ng.with..*.messages.regardless.o
10020 66 20 74 68 65 20 65 72 72 6f 72 20 6c 65 76 65 6c 20 68 61 73 20 74 6f 20 69 6d 70 6c 65 6d 65 f.the.error.level.has.to.impleme
10040 6e 74 2e 0a 20 2a 2f 0a 74 72 61 69 74 20 4c 6f 67 67 65 72 54 72 61 69 74 0a 7b 0a 20 20 20 20 nt...*/.trait.LoggerTrait.{.....
10060 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 79 73 74 65 6d 20 69 73 20 75 6e 75 73 61 62 6c 65 2e 0a 20 /**......*.System.is.unusable...
10080 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 ....*......*.@param.string.$mess
100a0 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 age......*.@param.array..$contex
100c0 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 t......*......*.@return.void....
100e0 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 65 6d 65 72 67 65 6e ..*/.....public.function.emergen
10100 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 72 cy($message,.array.$context.=.ar
10120 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 28 ray()).....{.........$this->log(
10140 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,.$
10160 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 context);.....}....../**......*.
10180 41 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 74 61 6b 65 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79 Action.must.be.taken.immediately
101a0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 3a 20 45 6e 74 69 72 65 20 .......*......*.Example:.Entire.
101c0 77 65 62 73 69 74 65 20 64 6f 77 6e 2c 20 64 61 74 61 62 61 73 65 20 75 6e 61 76 61 69 6c 61 62 website.down,.database.unavailab
101e0 6c 65 2c 20 65 74 63 2e 20 54 68 69 73 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 2a 20 74 72 69 67 le,.etc..This.should......*.trig
10200 67 65 72 20 74 68 65 20 53 4d 53 20 61 6c 65 72 74 73 20 61 6e 64 20 77 61 6b 65 20 79 6f 75 20 ger.the.SMS.alerts.and.wake.you.
10220 75 70 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 6e 67 20 up.......*......*.@param.string.
10240 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 $message......*.@param.array..$c
10260 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 ontext......*......*.@return.voi
10280 64 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 61 6c d......*/.....public.function.al
102a0 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 65 78 74 20 3d 20 61 ert($message,.array.$context.=.a
102c0 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 rray()).....{.........$this->log
102e0 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 24 63 6f 6e (LogLevel::ALERT,.$message,.$con
10300 74 65 78 74 29 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 72 69 text);.....}....../**......*.Cri
10320 74 69 63 61 6c 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 tical.conditions.......*......*.
10340 45 78 61 6d 70 6c 65 3a 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6d 70 6f 6e 65 6e 74 20 75 Example:.Application.component.u
10360 6e 61 76 61 69 6c 61 62 6c 65 2c 20 75 6e 65 78 70 65 63 74 65 64 20 65 78 63 65 70 74 69 6f 6e navailable,.unexpected.exception
10380 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 6e 67 20 24 6d .......*......*.@param.string.$m
103a0 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e essage......*.@param.array..$con
103c0 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a text......*......*.@return.void.
103e0 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 63 72 69 74 .....*/.....public.function.crit
10400 69 63 61 6c 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 ical($message,.array.$context.=.
10420 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f array()).....{.........$this->lo
10440 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 73 61 67 65 2c 20 g(LogLevel::CRITICAL,.$message,.
10460 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a $context);.....}....../**......*
10480 20 52 75 6e 74 69 6d 65 20 65 72 72 6f 72 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 72 65 71 75 .Runtime.errors.that.do.not.requ
104a0 69 72 65 20 69 6d 6d 65 64 69 61 74 65 20 61 63 74 69 6f 6e 20 62 75 74 20 73 68 6f 75 6c 64 20 ire.immediate.action.but.should.
104c0 74 79 70 69 63 61 6c 6c 79 0a 20 20 20 20 20 2a 20 62 65 20 6c 6f 67 67 65 64 20 61 6e 64 20 6d typically......*.be.logged.and.m
104e0 6f 6e 69 74 6f 72 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 onitored.......*......*.@param.s
10500 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 tring.$message......*.@param.arr
10520 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 ay..$context......*......*.@retu
10540 72 6e 20 76 6f 69 64 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 rn.void......*/.....public.funct
10560 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 ion.error($message,.array.$conte
10580 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 xt.=.array()).....{.........$thi
105a0 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 61 67 65 s->log(LogLevel::ERROR,.$message
105c0 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 ,.$context);.....}....../**.....
105e0 20 2a 20 45 78 63 65 70 74 69 6f 6e 61 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 74 68 61 74 20 .*.Exceptional.occurrences.that.
10600 61 72 65 20 6e 6f 74 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 are.not.errors.......*......*.Ex
10620 61 6d 70 6c 65 3a 20 55 73 65 20 6f 66 20 64 65 70 72 65 63 61 74 65 64 20 41 50 49 73 2c 20 70 ample:.Use.of.deprecated.APIs,.p
10640 6f 6f 72 20 75 73 65 20 6f 66 20 61 6e 20 41 50 49 2c 20 75 6e 64 65 73 69 72 61 62 6c 65 20 74 oor.use.of.an.API,.undesirable.t
10660 68 69 6e 67 73 0a 20 20 20 20 20 2a 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 6e 65 63 65 73 73 hings......*.that.are.not.necess
10680 61 72 69 6c 79 20 77 72 6f 6e 67 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 arily.wrong.......*......*.@para
106a0 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 m.string.$message......*.@param.
106c0 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 array..$context......*......*.@r
106e0 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 eturn.void......*/.....public.fu
10700 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 24 nction.warning($message,.array.$
10720 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 context.=.array()).....{........
10740 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 24 .$this->log(LogLevel::WARNING,.$
10760 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f message,.$context);.....}....../
10780 2a 2a 0a 20 20 20 20 20 2a 20 4e 6f 72 6d 61 6c 20 62 75 74 20 73 69 67 6e 69 66 69 63 61 6e 74 **......*.Normal.but.significant
107a0 20 65 76 65 6e 74 73 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 .events.......*......*.@param.st
107c0 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 ring.$message......*.@param.arra
107e0 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 y..$context......*......*.@retur
10800 6e 20 76 6f 69 64 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 n.void......*/.....public.functi
10820 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 65 on.notice($message,.array.$conte
10840 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 xt.=.array()).....{.........$thi
10860 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 24 6d 65 73 73 61 67 s->log(LogLevel::NOTICE,.$messag
10880 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 e,.$context);.....}....../**....
108a0 20 20 2a 20 49 6e 74 65 72 65 73 74 69 6e 67 20 65 76 65 6e 74 73 2e 0a 20 20 20 20 20 2a 0a 20 ..*.Interesting.events.......*..
108c0 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 3a 20 55 73 65 72 20 6c 6f 67 73 20 69 6e 2c 20 53 51 4c ....*.Example:.User.logs.in,.SQL
108e0 20 6c 6f 67 73 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 .logs.......*......*.@param.stri
10900 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 ng.$message......*.@param.array.
10920 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 .$context......*......*.@return.
10940 76 6f 69 64 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 void......*/.....public.function
10960 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 74 65 78 74 20 3d .info($message,.array.$context.=
10980 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c .array()).....{.........$this->l
109a0 6f 67 28 4c 6f 67 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 og(LogLevel::INFO,.$message,.$co
109c0 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 ntext);.....}....../**......*.De
109e0 74 61 69 6c 65 64 20 64 65 62 75 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a tailed.debug.information.......*
10a00 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 ......*.@param.string.$message..
10a20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 ....*.@param.array..$context....
10a40 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a ..*......*.@return.void......*/.
10a60 20 20 20 20 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 73 61 ....public.function.debug($messa
10a80 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 20 20 ge,.array.$context.=.array())...
10aa0 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a ..{.........$this->log(LogLevel:
10ac0 3a 44 45 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 20 20 20 :DEBUG,.$message,.$context);....
10ae0 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 67 73 20 77 69 74 68 20 61 6e 20 .}....../**......*.Logs.with.an.
10b00 61 72 62 69 74 72 61 72 79 20 6c 65 76 65 6c 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 arbitrary.level.......*......*.@
10b20 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 6c 65 76 65 6c 0a 20 20 20 20 20 2a 20 40 70 61 72 61 param.mixed..$level......*.@para
10b40 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 m.string.$message......*.@param.
10b60 61 72 72 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 array..$context......*......*.@r
10b80 65 74 75 72 6e 20 76 6f 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 61 62 73 74 72 61 63 74 20 eturn.void......*/.....abstract.
10ba0 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 73 public.function.log($level,.$mes
10bc0 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 3b sage,.array.$context.=.array());
10be0 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 .}.<?php../*..*.This.file.is.par
10c00 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 t.of.the.Symfony.package...*..*.
10c20 28 63 29 20 46 61 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 (c).Fabien.Potencier.<fabien@sym
10c40 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 fony.com>..*..*.For.the.full.cop
10c60 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 yright.and.license.information,.
10c80 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 please.view.the.LICENSE..*.file.
10ca0 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 that.was.distributed.with.this.s
10cc0 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f ource.code...*/..namespace.Symfo
10ce0 6e 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 ny\Component\Debug;..use.Psr\Log
10d00 5c 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 41 20 62 75 66 66 65 \AbstractLogger;../**..*.A.buffe
10d20 72 69 6e 67 20 6c 6f 67 67 65 72 20 74 68 61 74 20 73 74 61 63 6b 73 20 6c 6f 67 73 20 66 6f 72 ring.logger.that.stacks.logs.for
10d40 20 6c 61 74 65 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4e 69 63 6f 6c 61 73 20 47 72 .later...*..*.@author.Nicolas.Gr
10d60 65 6b 61 73 20 3c 70 40 74 63 68 77 6f 72 6b 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 42 ekas.<p@tchwork.com>..*/.class.B
10d80 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c ufferingLogger.extends.AbstractL
10da0 6f 67 67 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6c 6f 67 73 20 3d 20 61 72 72 61 ogger.{.....private.$logs.=.arra
10dc0 79 28 29 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c y();......public.function.log($l
10de0 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.=
10e00 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c .array()).....{.........$this->l
10e20 6f 67 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 ogs[].=.array($level,.$message,.
10e40 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e $context);.....}......public.fun
10e60 63 74 69 6f 6e 20 63 6c 65 61 6e 4c 6f 67 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ction.cleanLogs().....{.........
10e80 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 73 3b 0a 20 20 20 20 20 20 20 20 24 74 68 $logs.=.$this->logs;.........$th
10ea0 69 73 2d 3e 6c 6f 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 is->logs.=.array();..........ret
10ec0 75 72 6e 20 24 6c 6f 67 73 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 urn.$logs;.....}.}.<?php../*..*.
10ee0 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 This.file.is.part.of.the.Symfony
10f00 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e .package...*..*.(c).Fabien.Poten
10f20 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 cier.<fabien@symfony.com>..*..*.
10f40 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 63 65 6e For.the.full.copyright.and.licen
10f60 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 68 65 20 se.information,.please.view.the.
10f80 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 72 69 62 LICENSE..*.file.that.was.distrib
10fa0 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 2a 2f 0a uted.with.this.source.code...*/.
10fc0 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 65 62 .namespace.Symfony\Component\Deb
10fe0 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 61 74 61 6c 20 54 68 72 6f ug\Exception;../**..*.Fatal.Thro
11000 77 61 62 6c 65 20 45 72 72 6f 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4e 69 63 6f 6c wable.Error...*..*.@author.Nicol
11020 61 73 20 47 72 65 6b 61 73 20 3c 70 40 74 63 68 77 6f 72 6b 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c as.Grekas.<p@tchwork.com>..*/.cl
11040 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.
11060 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 FatalErrorException.{.....public
11080 20 66 75 6e 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 .function.__construct(\Throwable
110a0 20 24 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 20 69 6e 73 74 61 6e .$e).....{.........if.($e.instan
110c0 63 65 6f 66 20 5c 50 61 72 73 65 45 72 72 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ceof.\ParseError).{.............
110e0 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 65 2d 3e 67 $message.=.'Parse.error:.'.$e->g
11100 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 65 76 65 72 69 etMessage();.............$severi
11120 74 79 20 3d 20 45 5f 50 41 52 53 45 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 ty.=.E_PARSE;.........}.elseif.(
11140 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 79 70 65 45 72 72 6f 72 29 20 7b 0a 20 20 20 20 $e.instanceof.\TypeError).{.....
11160 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 27 54 79 70 65 20 65 72 72 6f 72 3a 20 ........$message.=.'Type.error:.
11180 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 '.$e->getMessage();.............
111a0 24 73 65 76 65 72 69 74 79 20 3d 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 3b $severity.=.E_RECOVERABLE_ERROR;
111c0 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 20 24 6d .........}.else.{.............$m
111e0 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 20 20 20 20 20 essage.=.$e->getMessage();......
11200 20 20 20 20 20 20 20 24 73 65 76 65 72 69 74 79 20 3d 20 45 5f 45 52 52 4f 52 3b 0a 20 20 20 20 .......$severity.=.E_ERROR;.....
11220 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3a 3a ....}..........\ErrorException::
11240 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 __construct(.............$messag
11260 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 20 20 e,.............$e->getCode(),...
11280 20 20 20 20 20 20 20 20 20 20 24 73 65 76 65 72 69 74 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..........$severity,............
112a0 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 2d 3e .$e->getFile(),.............$e->
112c0 67 65 74 4c 69 6e 65 28 29 0a 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 getLine().........);..........$t
112e0 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 65 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 20 his->setTrace($e->getTrace());..
11300 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 ...}.}.<?php../*..*.This.file.is
11320 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a .part.of.the.Symfony.package...*
11340 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e ..*.(c).Fabien.Potencier.<fabien
11360 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c @symfony.com>..*..*.For.the.full
11380 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 .copyright.and.license.informati
113a0 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 on,.please.view.the.LICENSE..*.f
113c0 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 ile.that.was.distributed.with.th
113e0 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 is.source.code...*/..namespace.S
11400 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 6e ymfony\Component\Debug\Exception
11420 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 48 74 74 70 4b 65 72 ;..use.Symfony\Component\HttpKer
11440 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 48 74 74 70 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 nel\Exception\HttpExceptionInter
11460 66 61 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 77 face;../**..*.FlattenException.w
11480 72 61 70 73 20 61 20 50 48 50 20 45 78 63 65 70 74 69 6f 6e 20 74 6f 20 62 65 20 61 62 6c 65 20 raps.a.PHP.Exception.to.be.able.
114a0 74 6f 20 73 65 72 69 61 6c 69 7a 65 20 69 74 2e 0a 20 2a 0a 20 2a 20 42 61 73 69 63 61 6c 6c 79 to.serialize.it...*..*.Basically
114c0 2c 20 74 68 69 73 20 63 6c 61 73 73 20 72 65 6d 6f 76 65 73 20 61 6c 6c 20 6f 62 6a 65 63 74 73 ,.this.class.removes.all.objects
114e0 20 66 72 6f 6d 20 74 68 65 20 74 72 61 63 65 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 .from.the.trace...*..*.@author.F
11500 61 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 abien.Potencier.<fabien@symfony.
11520 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 0a com>..*/.class.FlattenException.
11540 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6d 65 73 73 61 67 65 3b 0a 20 20 20 20 70 72 69 76 {.....private.$message;.....priv
11560 61 74 65 20 24 63 6f 64 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 76 69 6f 75 73 ate.$code;.....private.$previous
11580 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 74 72 61 63 65 3b 0a 20 20 20 20 70 72 69 76 61 74 ;.....private.$trace;.....privat
115a0 65 20 24 63 6c 61 73 73 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 6f 64 e.$class;.....private.$statusCod
115c0 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 68 65 61 64 65 72 73 3b 0a 20 20 20 20 70 72 69 e;.....private.$headers;.....pri
115e0 76 61 74 65 20 24 66 69 6c 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6c 69 6e 65 3b 0a 0a vate.$file;.....private.$line;..
11600 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 63 72 65 61 74 ....public.static.function.creat
11620 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 73 74 61 74 75 73 e(\Exception.$exception,.$status
11640 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 73 20 3d 20 61 72 Code.=.null,.array.$headers.=.ar
11660 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 65 20 3d 20 6e 65 77 20 73 74 ray()).....{.........$e.=.new.st
11680 61 74 69 63 28 29 3b 0a 20 20 20 20 20 20 20 20 24 65 2d 3e 73 65 74 4d 65 73 73 61 67 65 28 24 atic();.........$e->setMessage($
116a0 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 20 20 20 20 20 20 exception->getMessage());.......
116c0 20 20 24 65 2d 3e 73 65 74 43 6f 64 65 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 ..$e->setCode($exception->getCod
116e0 65 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e e());..........if.($exception.in
11700 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 65 29 stanceof.HttpExceptionInterface)
11720 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 65 78 .{.............$statusCode.=.$ex
11740 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 3b 0a 20 20 20 20 20 20 ception->getStatusCode();.......
11760 20 20 20 20 20 20 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 68 65 ......$headers.=.array_merge($he
11780 61 64 65 72 73 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 aders,.$exception->getHeaders())
117a0 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 6c 6c 20 3d 3d ;.........}..........if.(null.==
117c0 3d 20 24 73 74 61 74 75 73 43 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 =.$statusCode).{.............$st
117e0 61 74 75 73 43 6f 64 65 20 3d 20 35 30 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 atusCode.=.500;.........}.......
11800 20 20 20 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 ...$e->setStatusCode($statusCode
11820 29 3b 0a 20 20 20 20 20 20 20 20 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 );.........$e->setHeaders($heade
11840 72 73 29 3b 0a 20 20 20 20 20 20 20 20 24 65 2d 3e 73 65 74 54 72 61 63 65 46 72 6f 6d 45 78 63 rs);.........$e->setTraceFromExc
11860 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 24 65 2d 3e eption($exception);.........$e->
11880 73 65 74 43 6c 61 73 73 28 67 65 74 5f 63 6c 61 73 73 28 24 65 78 63 65 70 74 69 6f 6e 29 29 3b setClass(get_class($exception));
118a0 0a 20 20 20 20 20 20 20 20 24 65 2d 3e 73 65 74 46 69 6c 65 28 24 65 78 63 65 70 74 69 6f 6e 2d .........$e->setFile($exception-
118c0 3e 67 65 74 46 69 6c 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 24 65 2d 3e 73 65 74 4c 69 6e 65 >getFile());.........$e->setLine
118e0 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 6e 65 28 29 29 3b 0a 0a 20 20 20 20 20 20 ($exception->getLine());........
11900 20 20 24 70 72 65 76 69 6f 75 73 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 50 72 65 ..$previous.=.$exception->getPre
11920 76 69 6f 75 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 76 69 6f 75 73 20 vious();..........if.($previous.
11940 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 20 20 20 20 20 20 20 instanceof.\Exception).{........
11960 20 20 20 20 20 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 .....$e->setPrevious(static::cre
11980 61 74 65 28 24 70 72 65 76 69 6f 75 73 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 ate($previous));.........}.elsei
119a0 66 20 28 24 70 72 65 76 69 6f 75 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 68 72 6f 77 61 62 f.($previous.instanceof.\Throwab
119c0 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 2d 3e 73 65 74 50 72 65 76 69 6f 75 le).{.............$e->setPreviou
119e0 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 6c 54 68 72 6f 77 61 s(static::create(new.FatalThrowa
11a00 62 6c 65 45 72 72 6f 72 28 24 70 72 65 76 69 6f 75 73 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d bleError($previous)));.........}
11a20 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 ..........return.$e;.....}......
11a40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 41 72 72 61 79 28 29 0a 20 20 20 20 7b 0a public.function.toArray().....{.
11a60 20 20 20 20 20 20 20 20 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 ........$exceptions.=.array();..
11a80 20 20 20 20 20 20 20 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 .......foreach.(array_merge(arra
11aa0 79 28 24 74 68 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 y($this),.$this->getAllPrevious(
11ac0 29 29 20 61 73 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 )).as.$exception).{.............
11ae0 24 65 78 63 65 70 74 69 6f 6e 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 $exceptions[].=.array(..........
11b00 20 20 20 20 20 20 20 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 .......'message'.=>.$exception->
11b20 67 65 74 4d 65 73 73 61 67 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 getMessage(),.................'c
11b40 6c 61 73 73 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6c 61 73 73 28 29 2c lass'.=>.$exception->getClass(),
11b60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 72 61 63 65 27 20 3d 3e 20 24 65 78 63 .................'trace'.=>.$exc
11b80 65 70 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 eption->getTrace(),.............
11ba0 29 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 20 24 65 78 );.........}..........return.$ex
11bc0 63 65 70 74 69 6f 6e 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 ceptions;.....}......public.func
11be0 74 69 6f 6e 20 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 tion.getStatusCode().....{......
11c00 20 20 20 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 20 20 20 ...return.$this->statusCode;....
11c20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 74 75 .}......public.function.setStatu
11c40 73 43 6f 64 65 28 24 63 6f 64 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 sCode($code).....{.........$this
11c60 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ->statusCode.=.$code;.....}.....
11c80 20 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 20 20 .public.function.getHeaders()...
11ca0 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 68 65 61 64 65 72 ..{.........return.$this->header
11cc0 73 3b 0a 20 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 73 65 s;.....}......public.function.se
11ce0 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 20 20 20 20 7b 0a 20 tHeaders(array.$headers).....{..
11d00 20 20 20 20 20 20 20 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 .......$this->headers.=.$headers
11d20 3b 0a 20 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 ;.....}......public.function.get
11d40 43 6c 61 73 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 Class().....{.........return.$th
11d60 69 73 2d 3e 63 6c 61 73 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e is->class;.....}......public.fun
11d80 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 ction.setClass($class).....{....
11da0 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 20 3d 20 24 63 6c 61 73 73 3b 0a 20 20 20 20 .....$this->class.=.$class;.....
11dc0 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 46 69 6c 65 28 29 }......public.function.getFile()
11de0 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 66 69 6c .....{.........return.$this->fil
11e00 65 3b 0a 20 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 73 65 e;.....}......public.function.se
11e20 74 46 69 6c 65 28 24 66 69 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 tFile($file).....{.........$this
11e40 2d 3e 66 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 ->file.=.$file;.....}......publi
11e60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 6e 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 c.function.getLine().....{......
11e80 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 6e 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 ...return.$this->line;.....}....
11ea0 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 69 6e 65 28 24 6c 69 6e 65 29 ..public.function.setLine($line)
11ec0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 69 6e 65 20 3d 20 24 6c 69 .....{.........$this->line.=.$li
11ee0 6e 65 3b 0a 20 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 ne;.....}......public.function.g
11f00 65 74 4d 65 73 73 61 67 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e etMessage().....{.........return
11f20 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c .$this->message;.....}......publ
11f40 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 73 61 67 65 29 ic.function.setMessage($message)
11f60 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 .....{.........$this->message.=.
11f80 24 6d 65 73 73 61 67 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 $message;.....}......public.func
11fa0 74 69 6f 6e 20 67 65 74 43 6f 64 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 tion.getCode().....{.........ret
11fc0 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 64 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c urn.$this->code;.....}......publ
11fe0 69 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 20 20 20 20 7b ic.function.setCode($code).....{
12000 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 20 20 .........$this->code.=.$code;...
12020 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 76 ..}......public.function.getPrev
12040 69 6f 75 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 ious().....{.........return.$thi
12060 73 2d 3e 70 72 65 76 69 6f 75 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 s->previous;.....}......public.f
12080 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 76 69 6f 75 73 28 46 6c 61 74 74 65 6e 45 78 63 65 70 unction.setPrevious(FlattenExcep
120a0 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 tion.$previous).....{.........$t
120c0 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 20 20 20 20 7d his->previous.=.$previous;.....}
120e0 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 41 6c 6c 50 72 65 76 ......public.function.getAllPrev
12100 69 6f 75 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 65 78 63 65 70 74 69 6f 6e 73 ious().....{.........$exceptions
12120 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 65 20 3d 20 24 74 68 69 73 3b 0a .=.array();.........$e.=.$this;.
12140 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 65 20 3d 20 24 65 2d 3e 67 65 74 50 72 65 76 69 ........while.($e.=.$e->getPrevi
12160 6f 75 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 78 63 65 70 74 69 6f 6e 73 ous()).{.............$exceptions
12180 5b 5d 20 3d 20 24 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 [].=.$e;.........}..........retu
121a0 72 6e 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 rn.$exceptions;.....}......publi
121c0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 72 61 63 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 c.function.getTrace().....{.....
121e0 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 63 65 3b 0a 20 20 20 20 7d 0a 0a ....return.$this->trace;.....}..
12200 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 63 65 46 72 6f 6d ....public.function.setTraceFrom
12220 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 65 70 74 69 6f 6e 29 Exception(\Exception.$exception)
12240 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 .....{.........$this->setTrace($
12260 65 78 63 65 70 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 exception->getTrace(),.$exceptio
12280 6e 2d 3e 67 65 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 n->getFile(),.$exception->getLin
122a0 65 28 29 29 3b 0a 20 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 e());.....}......public.function
122c0 20 73 65 74 54 72 61 63 65 28 24 74 72 61 63 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 0a .setTrace($trace,.$file,.$line).
122e0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 63 65 20 3d 20 61 72 72 ....{.........$this->trace.=.arr
12300 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 63 65 5b 5d 20 3d 20 61 ay();.........$this->trace[].=.a
12320 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e rray(.............'namespace'.=>
12340 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 73 68 6f 72 74 5f 63 6c 61 73 73 27 20 3d .'',.............'short_class'.=
12360 3e 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 63 6c 61 73 73 27 20 3d 3e 20 27 27 2c >.'',.............'class'.=>.'',
12380 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 65 27 20 3d 3e 20 27 27 2c 0a 20 20 20 20 20 .............'type'.=>.'',......
123a0 20 20 20 20 20 20 20 27 66 75 6e 63 74 69 6f 6e 27 20 3d 3e 20 27 27 2c 0a 20 20 20 20 20 20 20 .......'function'.=>.'',........
123c0 20 20 20 20 20 27 66 69 6c 65 27 20 3d 3e 20 24 66 69 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 .....'file'.=>.$file,...........
123e0 20 20 27 6c 69 6e 65 27 20 3d 3e 20 24 6c 69 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 ..'line'.=>.$line,.............'
12400 61 72 67 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 args'.=>.array(),.........);....
12420 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 72 61 63 65 20 61 73 20 24 65 6e 74 72 79 29 20 .....foreach.($trace.as.$entry).
12440 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 20 3d 20 27 27 3b 0a 20 20 20 20 20 {.............$class.=.'';......
12460 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 .......$namespace.=.'';.........
12480 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 29 20 ....if.(isset($entry['class'])).
124a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f {.................$parts.=.explo
124c0 64 65 28 27 5c 5c 27 2c 20 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 3b 0a 20 20 20 20 20 de('\\',.$entry['class']);......
124e0 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 70 ...........$class.=.array_pop($p
12500 61 72 74 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 arts);.................$namespac
12520 65 20 3d 20 69 6d 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 70 61 72 74 73 29 3b 0a 20 20 20 20 20 e.=.implode('\\',.$parts);......
12540 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 .......}..............$this->tra
12560 63 65 5b 5d 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e ce[].=.array(.................'n
12580 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 2c 0a 20 20 20 20 20 20 20 amespace'.=>.$namespace,........
125a0 20 20 20 20 20 20 20 20 20 27 73 68 6f 72 74 5f 63 6c 61 73 73 27 20 3d 3e 20 24 63 6c 61 73 73 .........'short_class'.=>.$class
125c0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 6c 61 73 73 27 20 3d 3e 20 69 73 73 ,.................'class'.=>.iss
125e0 65 74 28 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 63 6c et($entry['class']).?.$entry['cl
12600 61 73 73 27 5d 20 3a 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 ass'].:.'',.................'typ
12620 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 20 24 65 e'.=>.isset($entry['type']).?.$e
12640 6e 74 72 79 5b 27 74 79 70 65 27 5d 20 3a 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ntry['type'].:.'',..............
12660 20 20 20 27 66 75 6e 63 74 69 6f 6e 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 66 ...'function'.=>.isset($entry['f
12680 75 6e 63 74 69 6f 6e 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 20 unction']).?.$entry['function'].
126a0 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 69 6c 65 27 20 3d :.null,.................'file'.=
126c0 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 74 72 79 >.isset($entry['file']).?.$entry
126e0 5b 27 66 69 6c 65 27 5d 20 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ['file'].:.null,................
12700 20 27 6c 69 6e 65 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 6c 69 6e 65 27 5d 29 .'line'.=>.isset($entry['line'])
12720 20 3f 20 24 65 6e 74 72 79 5b 27 6c 69 6e 65 27 5d 20 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 .?.$entry['line'].:.null,.......
12740 20 20 20 20 20 20 20 20 20 20 27 61 72 67 73 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 ..........'args'.=>.isset($entry
12760 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 73 28 24 ['args']).?.$this->flattenArgs($
12780 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 20 20 20 20 20 20 entry['args']).:.array(),.......
127a0 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 70 72 ......);.........}.....}......pr
127c0 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 73 28 24 61 72 67 73 ivate.function.flattenArgs($args
127e0 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 29 0a 20 20 20 20 7b ,.$level.=.0,.&$count.=.0).....{
12800 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 .........$result.=.array();.....
12820 20 20 20 20 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 76 ....foreach.($args.as.$key.=>.$v
12840 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 2b 2b 24 63 6f 75 6e 74 alue).{.............if.(++$count
12860 20 3e 20 31 65 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .>.1e4).{.................return
12880 20 61 72 72 61 79 28 27 61 72 72 61 79 27 2c 20 27 2a 53 4b 49 50 50 45 44 20 6f 76 65 72 20 31 .array('array',.'*SKIPPED.over.1
128a0 30 30 30 30 20 65 6e 74 72 69 65 73 2a 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 0000.entries*');.............}..
128c0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 ...........if.($value.instanceof
128e0 20 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 20 20 20 20 .\__PHP_Incomplete_Class).{.....
12900 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 73 5f 6f 62 6a 65 63 74 28 29 20 72 65 74 75 72 ............//.is_object().retur
12920 6e 73 20 66 61 6c 73 65 20 6f 6e 20 50 48 50 3c 3d 37 2e 31 0a 20 20 20 20 20 20 20 20 20 20 20 ns.false.on.PHP<=7.1............
12940 20 20 20 20 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 69 6e 63 6f .....$result[$key].=.array('inco
12960 6d 70 6c 65 74 65 2d 6f 62 6a 65 63 74 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 61 73 73 4e mplete-object',.$this->getClassN
12980 61 6d 65 46 72 6f 6d 49 6e 63 6f 6d 70 6c 65 74 65 28 24 76 61 6c 75 65 29 29 3b 0a 20 20 20 20 ameFromIncomplete($value));.....
129a0 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c ........}.elseif.(is_object($val
129c0 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 5b 24 ue)).{.................$result[$
129e0 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 6f 62 6a 65 63 74 27 2c 20 67 65 74 5f 63 6c 61 73 73 key].=.array('object',.get_class
12a00 28 24 76 61 6c 75 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 ($value));.............}.elseif.
12a20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 (is_array($value)).{............
12a40 20 20 20 20 20 69 66 20 28 24 6c 65 76 65 6c 20 3e 20 31 30 29 20 7b 0a 20 20 20 20 20 20 20 20 .....if.($level.>.10).{.........
12a60 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 ............$result[$key].=.arra
12a80 79 28 27 61 72 72 61 79 27 2c 20 27 2a 44 45 45 50 20 4e 45 53 54 45 44 20 41 52 52 41 59 2a 27 y('array',.'*DEEP.NESTED.ARRAY*'
12aa0 29 3b 0a 20 20 20 20 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 );.................}.else.{.....
12ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 ................$result[$key].=.
12ae0 61 72 72 61 79 28 27 61 72 72 61 79 27 2c 20 24 74 68 69 73 2d 3e 66 6c 61 74 74 65 6e 41 72 67 array('array',.$this->flattenArg
12b00 73 28 24 76 61 6c 75 65 2c 20 24 6c 65 76 65 6c 20 2b 20 31 2c 20 24 63 6f 75 6e 74 29 29 3b 0a s($value,.$level.+.1,.$count));.
12b20 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 20 ................}.............}.
12b40 65 6c 73 65 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 elseif.(null.===.$value).{......
12b60 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 ...........$result[$key].=.array
12b80 28 27 6e 75 6c 6c 27 2c 20 6e 75 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c ('null',.null);.............}.el
12ba0 73 65 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 seif.(is_bool($value)).{........
12bc0 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 .........$result[$key].=.array('
12be0 62 6f 6f 6c 65 61 6e 27 2c 20 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d boolean',.$value);.............}
12c00 20 65 6c 73 65 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 76 61 6c 75 65 29 29 20 7b 0a .elseif.(is_resource($value)).{.
12c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 ................$result[$key].=.
12c40 61 72 72 61 79 28 27 72 65 73 6f 75 72 63 65 27 2c 20 67 65 74 5f 72 65 73 6f 75 72 63 65 5f 74 array('resource',.get_resource_t
12c60 79 70 65 28 24 76 61 6c 75 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 ype($value));.............}.else
12c80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d .{.................$result[$key]
12ca0 20 3d 20 61 72 72 61 79 28 27 73 74 72 69 6e 67 27 2c 20 28 73 74 72 69 6e 67 29 20 24 76 61 6c .=.array('string',.(string).$val
12cc0 75 65 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 7d 0a 0a 20 20 ue);.............}.........}....
12ce0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ......return.$result;.....}.....
12d00 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 4e 61 6d 65 46 72 .private.function.getClassNameFr
12d20 6f 6d 49 6e 63 6f 6d 70 6c 65 74 65 28 5c 5f 5f 50 48 50 5f 49 6e 63 6f 6d 70 6c 65 74 65 5f 43 omIncomplete(\__PHP_Incomplete_C
12d40 6c 61 73 73 20 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 61 72 72 61 lass.$value).....{.........$arra
12d60 79 20 3d 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 20 y.=.new.\ArrayObject($value);...
12d80 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 61 79 5b 27 5f 5f 50 48 50 5f 49 6e 63 6f .......return.$array['__PHP_Inco
12da0 6d 70 6c 65 74 65 5f 43 6c 61 73 73 5f 4e 61 6d 65 27 5d 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 mplete_Class_Name'];.....}.}.<?p
12dc0 68 70 0a 0a 2f 2a 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 74 hp../*..*.This.file.is.part.of.t
12de0 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 he.Symfony.package...*..*.(c).Fa
12e00 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
12e20 6f 6d 3e 0a 20 2a 0a 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 om>..*..*.For.the.full.copyright
12e40 20 61 6e 64 20 6c 69 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 .and.license.information,.please
12e60 20 76 69 65 77 20 74 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 .view.the.LICENSE..*.file.that.w
12e80 61 73 20 64 69 73 74 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 as.distributed.with.this.source.
12ea0 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d code...*/..namespace.Symfony\Com
12ec0 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 2f 2a 2a 0a 20 2a 20 ponent\Debug\Exception;../**..*.
12ee0 43 6c 61 73 73 20 28 6f 72 20 54 72 61 69 74 20 6f 72 20 49 6e 74 65 72 66 61 63 65 29 20 4e 6f Class.(or.Trait.or.Interface).No
12f00 74 20 46 6f 75 6e 64 20 45 78 63 65 70 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 t.Found.Exception...*..*.@author
12f20 20 4b 6f 6e 73 74 61 6e 74 6f 6e 20 4d 79 61 6b 73 68 69 6e 20 3c 6b 6f 63 2d 64 70 40 79 61 6e .Konstanton.Myakshin.<koc-dp@yan
12f40 64 65 78 2e 72 75 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 dex.ru>..*/.class.ClassNotFoundE
12f60 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 63 65 70 xception.extends.FatalErrorExcep
12f80 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e tion.{.....public.function.__con
12fa0 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 69 6f 6e struct($message,.\ErrorException
12fc0 20 24 70 72 65 76 69 6f 75 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 .$previous).....{.........parent
12fe0 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 ::__construct(.............$mess
13000 61 67 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 age,.............$previous->getC
13020 6f 64 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 ode(),.............$previous->ge
13040 74 53 65 76 65 72 69 74 79 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f tSeverity(),.............$previo
13060 75 73 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 us->getFile(),.............$prev
13080 69 6f 75 73 2d 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 ious->getLine(),.............$pr
130a0 65 76 69 6f 75 73 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 20 20 20 20 20 20 20 20 29 3b evious->getPrevious().........);
130c0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 70 72 65 76 69 6f .........$this->setTrace($previo
130e0 75 73 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a us->getTrace());.....}.}.<?php..
13100 2f 2a 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 74 68 65 20 53 /*..*.This.file.is.part.of.the.S
13120 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e ymfony.package...*..*.(c).Fabien
13140 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 6f 6d 3e 0a .Potencier.<fabien@symfony.com>.
13160 20 2a 0a 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 .*..*.For.the.full.copyright.and
13180 20 6c 69 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 .license.information,.please.vie
131a0 77 20 74 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 w.the.LICENSE..*.file.that.was.d
131c0 69 73 74 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 istributed.with.this.source.code
131e0 2e 0a 20 2a 2f 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
13200 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 45 72 72 6f nt\Debug\Exception;../**..*.Erro
13220 72 20 45 78 63 65 70 74 69 6f 6e 20 77 69 74 68 20 56 61 72 69 61 62 6c 65 20 43 6f 6e 74 65 78 r.Exception.with.Variable.Contex
13240 74 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 43 68 72 69 73 74 69 61 6e 20 53 63 69 62 65 t...*..*.@author.Christian.Scibe
13260 72 72 61 73 20 3c 75 75 66 36 34 32 39 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 rras.<uuf6429@gmail.com>..*/.cla
13280 73 73 20 43 6f 6e 74 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 ss.ContextErrorException.extends
132a0 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 .\ErrorException.{.....private.$
132c0 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 context.=.array();......public.f
132e0 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 20 24 63 unction.__construct($message,.$c
13300 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 2c 20 24 6c 69 6e 65 ode,.$severity,.$filename,.$line
13320 6e 6f 2c 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 no,.$context.=.array()).....{...
13340 20 20 20 20 20 20 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 ......parent::__construct($messa
13360 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 2c ge,.$code,.$severity,.$filename,
13380 20 24 6c 69 6e 65 6e 6f 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 78 .$lineno);.........$this->contex
133a0 74 20 3d 20 24 63 6f 6e 74 65 78 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 t.=.$context;.....}....../**....
133c0 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 72 72 61 79 20 6f 66 20 76 61 72 69 61 ..*.@return.array.Array.of.varia
133e0 62 6c 65 73 20 74 68 61 74 20 65 78 69 73 74 65 64 20 77 68 65 6e 20 74 68 65 20 65 78 63 65 70 bles.that.existed.when.the.excep
13400 74 69 6f 6e 20 6f 63 63 75 72 72 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 tion.occurred......*/.....public
13420 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 78 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 .function.getContext().....{....
13440 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 78 74 3b 0a 20 20 20 20 .....return.$this->context;.....
13460 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 }.}.<?php../*..*.This.file.is.pa
13480 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a rt.of.the.Symfony.package...*..*
134a0 20 28 63 29 20 46 61 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 .(c).Fabien.Potencier.<fabien@sy
134c0 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f mfony.com>..*..*.For.the.full.co
134e0 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c pyright.and.license.information,
13500 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 .please.view.the.LICENSE..*.file
13520 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 .that.was.distributed.with.this.
13540 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 source.code...*/..namespace.Symf
13560 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 3b 0a 0a ony\Component\Debug\Exception;..
13580 2f 2a 2a 0a 20 2a 20 55 6e 64 65 66 69 6e 65 64 20 46 75 6e 63 74 69 6f 6e 20 45 78 63 65 70 74 /**..*.Undefined.Function.Except
135a0 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b 6f 6e 73 74 61 6e 74 6f 6e 20 4d 79 ion...*..*.@author.Konstanton.My
135c0 61 6b 73 68 69 6e 20 3c 6b 6f 63 2d 64 70 40 79 61 6e 64 65 78 2e 72 75 3e 0a 20 2a 2f 0a 63 6c akshin.<koc-dp@yandex.ru>..*/.cl
135e0 61 73 73 20 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 20 65 ass.UndefinedFunctionException.e
13600 78 74 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 20 20 20 xtends.FatalErrorException.{....
13620 20 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
13640 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 76 69 6f 75 73 ssage,.\ErrorException.$previous
13660 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 ).....{.........parent::__constr
13680 75 63 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 2c 0a 20 20 20 20 20 uct(.............$message,......
136a0 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 20 20 20 .......$previous->getCode(),....
136c0 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 65 72 69 74 79 28 .........$previous->getSeverity(
136e0 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 46 69 6c ),.............$previous->getFil
13700 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 4c e(),.............$previous->getL
13720 69 6e 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 ine(),.............$previous->ge
13740 74 50 72 65 76 69 6f 75 73 28 29 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 tPrevious().........);.........$
13760 74 68 69 73 2d 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 this->setTrace($previous->getTra
13780 63 65 28 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 ce());.....}.}.<?php../*..*.This
137a0 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 .file.is.part.of.the.Symfony.pac
137c0 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 kage...*..*.(c).Fabien.Potencier
137e0 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 .<fabien@symfony.com>..*..*.For.
13800 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 20 69 the.full.copyright.and.license.i
13820 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 68 65 20 4c 49 43 45 nformation,.please.view.the.LICE
13840 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 72 69 62 75 74 65 64 NSE..*.file.that.was.distributed
13860 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 2a 2f 0a 0a 6e 61 6d .with.this.source.code...*/..nam
13880 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 45 espace.Symfony\Component\Debug\E
138a0 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 61 74 61 6c 20 45 72 72 6f 72 20 45 78 xception;../**..*.Fatal.Error.Ex
138c0 63 65 70 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b 6f 6e 73 74 61 6e 74 6f ception...*..*.@author.Konstanto
138e0 6e 20 4d 79 61 6b 73 68 69 6e 20 3c 6b 6f 63 2d 64 70 40 79 61 6e 64 65 78 2e 72 75 3e 0a 20 2a n.Myakshin.<koc-dp@yandex.ru>..*
13900 2f 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 /.class.FatalErrorException.exte
13920 6e 64 73 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 75 62 6c 69 63 nds.\ErrorException.{.....public
13940 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 20 .function.__construct($message,.
13960 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 2c 20 24 6c 69 $code,.$severity,.$filename,.$li
13980 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 24 74 72 61 63 neno,.$traceOffset.=.null,.$trac
139a0 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 3d 20 6e 75 6c eArgs.=.true,.array.$trace.=.nul
139c0 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 l).....{.........parent::__const
139e0 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,
13a00 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 .$filename,.$lineno);..........i
13a20 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 72 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 f.(null.!==.$trace).{...........
13a40 20 20 69 66 20 28 21 24 74 72 61 63 65 41 72 67 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ..if.(!$traceArgs).{............
13a60 20 20 20 20 20 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 .....foreach.($trace.as.&$frame)
13a80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 66 72 .{.....................unset($fr
13aa0 61 6d 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 ame['args'],.$frame['this'],.$fr
13ac0 61 6d 65 29 3b 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 ame);.................}.........
13ae0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 54 72 61 ....}..............$this->setTra
13b00 63 65 28 24 74 72 61 63 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 6e 75 ce($trace);.........}.elseif.(nu
13b20 6c 6c 20 21 3d 3d 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ll.!==.$traceOffset).{..........
13b40 20 20 20 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 78 64 65 62 75 67 5f 67 ...if.(function_exists('xdebug_g
13b60 65 74 5f 66 75 6e 63 74 69 6f 6e 5f 73 74 61 63 6b 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 et_function_stack')).{..........
13b80 20 20 20 20 20 20 20 24 74 72 61 63 65 20 3d 20 78 64 65 62 75 67 5f 67 65 74 5f 66 75 6e 63 74 .......$trace.=.xdebug_get_funct
13ba0 69 6f 6e 5f 73 74 61 63 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 ion_stack();.................if.
13bc0 28 30 20 3c 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 (0.<.$traceOffset).{............
13be0 20 20 20 20 20 20 20 20 20 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 72 61 63 65 2c 20 2d 24 .........array_splice($trace,.-$
13c00 74 72 61 63 65 4f 66 66 73 65 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a traceOffset);.................}.
13c20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 72 61 63 65 .................foreach.($trace
13c40 20 61 73 20 26 24 66 72 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .as.&$frame).{..................
13c60 20 20 20 69 66 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 ...if.(!isset($frame['type'])).{
13c80 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 2f 2f 20 58 44 65 62 .........................//.XDeb
13ca0 75 67 20 70 72 65 20 32 2e 31 2e 31 20 64 6f 65 73 6e 27 74 20 63 75 72 72 65 6e 74 6c 79 20 73 ug.pre.2.1.1.doesn't.currently.s
13cc0 65 74 20 74 68 65 20 63 61 6c 6c 20 74 79 70 65 20 6b 65 79 20 68 74 74 70 3a 2f 2f 62 75 67 73 et.the.call.type.key.http://bugs
13ce0 2e 78 64 65 62 75 67 2e 6f 72 67 2f 76 69 65 77 2e 70 68 70 3f 69 64 3d 36 39 35 0a 20 20 20 20 .xdebug.org/view.php?id=695.....
13d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 66 ....................if.(isset($f
13d20 72 61 6d 65 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rame['class'])).{...............
13d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 ..............$frame['type'].=.'
13d60 3a 3a 27 3b 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 0a 20 ::';.........................}..
13d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 27 64 79 ...................}.elseif.('dy
13da0 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 20 20 20 namic'.===.$frame['type']).{....
13dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 72 61 6d 65 5b 27 74 79 70 .....................$frame['typ
13de0 65 27 5d 20 3d 20 27 2d 3e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e'].=.'->';.....................
13e00 7d 20 65 6c 73 65 69 66 20 28 27 73 74 61 74 69 63 27 20 3d 3d 3d 20 24 66 72 61 6d 65 5b 27 74 }.elseif.('static'.===.$frame['t
13e20 79 70 65 27 5d 29 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 ype']).{........................
13e40 20 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 3a 3a 27 3b 0a 20 20 20 20 20 20 20 20 .$frame['type'].=.'::';.........
13e60 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............}...................
13e80 20 20 20 2f 2f 20 58 44 65 62 75 67 20 61 6c 73 6f 20 68 61 73 20 61 20 64 69 66 66 65 72 65 6e ...//.XDebug.also.has.a.differen
13ea0 74 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 72 61 79 0a t.name.for.the.parameters.array.
13ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 72 61 63 65 41 ....................if.(!$traceA
13ee0 72 67 73 29 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 75 rgs).{.........................u
13f00 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 2c 20 24 66 72 61 6d 65 5b 27 61 nset($frame['params'],.$frame['a
13f20 72 67 73 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c rgs']);.....................}.el
13f40 73 65 69 66 20 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 seif.(isset($frame['params']).&&
13f60 20 21 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 29 29 20 7b 0a 20 20 20 20 20 .!isset($frame['args'])).{......
13f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 72 61 6d 65 5b 27 61 72 67 73 27 ...................$frame['args'
13fa0 5d 20 3d 20 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 ].=.$frame['params'];...........
13fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 70 61 72 61 ..............unset($frame['para
13fe0 6d 73 27 5d 29 3b 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 ms']);.....................}....
14000 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............}..................
14020 75 6e 73 65 74 28 24 66 72 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 unset($frame);.................$
14040 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 61 63 65 29 3b 0a 20 trace.=.array_reverse($trace);..
14060 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 ...........}.elseif.(function_ex
14080 69 73 74 73 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 ists('symfony_debug_backtrace'))
140a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 72 61 63 65 20 3d 20 73 79 6d 66 .{.................$trace.=.symf
140c0 6f 6e 79 5f 64 65 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 ony_debug_backtrace();..........
140e0 20 20 20 20 20 20 20 69 66 20 28 30 20 3c 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 20 7b 0a 20 .......if.(0.<.$traceOffset).{..
14100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 5f 73 70 6c 69 63 65 28 ...................array_splice(
14120 24 74 72 61 63 65 2c 20 30 2c 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 3b 0a 20 20 20 20 20 20 $trace,.0,.$traceOffset);.......
14140 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 20 65 6c 73 65 20 7b ..........}.............}.else.{
14160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 72 61 63 65 20 3d 20 61 72 72 61 79 28 .................$trace.=.array(
14180 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 20 20 20 20 24 74 );.............}..............$t
141a0 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 74 72 61 63 65 29 3b 0a 20 20 20 20 20 20 20 20 7d his->setTrace($trace);.........}
141c0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 .....}......protected.function.s
141e0 65 74 54 72 61 63 65 28 24 74 72 61 63 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 etTrace($trace).....{.........$t
14200 72 61 63 65 52 65 66 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 50 raceReflector.=.new.\ReflectionP
14220 72 6f 70 65 72 74 79 28 27 45 78 63 65 70 74 69 6f 6e 27 2c 20 27 74 72 61 63 65 27 29 3b 0a 20 roperty('Exception',.'trace');..
14240 20 20 20 20 20 20 20 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 .......$traceReflector->setAcces
14260 73 69 62 6c 65 28 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 24 74 72 61 63 65 52 65 66 6c 65 sible(true);.........$traceRefle
14280 63 74 6f 72 2d 3e 73 65 74 56 61 6c 75 65 28 24 74 68 69 73 2c 20 24 74 72 61 63 65 29 3b 0a 20 ctor->setValue($this,.$trace);..
142a0 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 ...}.}.<?php../*..*.This.file.is
142c0 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a .part.of.the.Symfony.package...*
142e0 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e ..*.(c).Fabien.Potencier.<fabien
14300 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c @symfony.com>..*..*.For.the.full
14320 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 .copyright.and.license.informati
14340 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 on,.please.view.the.LICENSE..*.f
14360 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 ile.that.was.distributed.with.th
14380 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 is.source.code...*/..namespace.S
143a0 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 6e ymfony\Component\Debug\Exception
143c0 3b 0a 0a 2f 2a 2a 0a 20 2a 20 4f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 20 65 78 63 65 70 74 69 6f ;../**..*.Out.of.memory.exceptio
143e0 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4e 69 63 6f 6c 61 73 20 47 72 65 6b 61 73 20 n...*..*.@author.Nicolas.Grekas.
14400 3c 70 40 74 63 68 77 6f 72 6b 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 4f 75 74 4f 66 4d <p@tchwork.com>..*/.class.OutOfM
14420 65 6d 6f 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 emoryException.extends.FatalErro
14440 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 rException.{.}.<?php../*..*.This
14460 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 .file.is.part.of.the.Symfony.pac
14480 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 kage...*..*.(c).Fabien.Potencier
144a0 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 .<fabien@symfony.com>..*..*.For.
144c0 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 20 69 the.full.copyright.and.license.i
144e0 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 68 65 20 4c 49 43 45 nformation,.please.view.the.LICE
14500 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 72 69 62 75 74 65 64 NSE..*.file.that.was.distributed
14520 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 2a 2f 0a 0a 6e 61 6d .with.this.source.code...*/..nam
14540 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 45 espace.Symfony\Component\Debug\E
14560 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 55 6e 64 65 66 69 6e 65 64 20 4d 65 74 68 xception;../**..*.Undefined.Meth
14580 6f 64 20 45 78 63 65 70 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 47 72 c3 a9 od.Exception...*..*.@author.Gr..
145a0 67 6f 69 72 65 20 50 69 6e 65 61 75 20 3c 6c 79 72 69 78 78 40 6c 79 72 69 78 78 2e 69 6e 66 6f goire.Pineau.<lyrixx@lyrixx.info
145c0 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 >..*/.class.UndefinedMethodExcep
145e0 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 69 6f 6e tion.extends.FatalErrorException
14600 0a 7b 0a 20 20 20 20 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
14620 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 69 6f 6e 20 24 70 72 ct($message,.\ErrorException.$pr
14640 65 76 69 6f 75 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f evious).....{.........parent::__
14660 63 6f 6e 73 74 72 75 63 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 2c construct(.............$message,
14680 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f 64 65 28 .............$previous->getCode(
146a0 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 ),.............$previous->getSev
146c0 65 72 69 74 79 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 2d 3e erity(),.............$previous->
146e0 67 65 74 46 69 6c 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f 75 73 getFile(),.............$previous
14700 2d 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 69 6f ->getLine(),.............$previo
14720 75 73 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 us->getPrevious().........);....
14740 20 20 20 20 20 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 2d 3e .....$this->setTrace($previous->
14760 67 65 74 54 72 61 63 65 28 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 getTrace());.....}.}.<?php../*..
14780 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f *.This.file.is.part.of.the.Symfo
147a0 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 ny.package...*..*.(c).Fabien.Pot
147c0 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 encier.<fabien@symfony.com>..*..
147e0 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 63 *.For.the.full.copyright.and.lic
14800 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 68 ense.information,.please.view.th
14820 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 72 e.LICENSE..*.file.that.was.distr
14840 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 2a ibuted.with.this.source.code...*
14860 2f 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
14880 65 62 75 67 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 75 73 65 ebug;..use.Psr\Log\LogLevel;.use
148a0 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 .Psr\Log\LoggerInterface;.use.Sy
148c0 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\
148e0 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f ContextErrorException;.use.Symfo
14900 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 61 74 ny\Component\Debug\Exception\Fat
14920 61 6c 45 72 72 6f 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 alErrorException;.use.Symfony\Co
14940 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 72 mponent\Debug\Exception\FatalThr
14960 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 65 owableError;.use.Symfony\Compone
14980 6e 74 5c 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 nt\Debug\Exception\OutOfMemoryEx
149a0 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 44 ception;.use.Symfony\Component\D
149c0 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 66 69 6e 65 64 ebug\FatalErrorHandler\Undefined
149e0 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 75 73 65 20 53 FunctionFatalErrorHandler;.use.S
14a00 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 72 6f ymfony\Component\Debug\FatalErro
14a20 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 61 6c 45 72 72 rHandler\UndefinedMethodFatalErr
14a40 6f 72 48 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 orHandler;.use.Symfony\Component
14a60 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 43 6c 61 73 73 4e 6f \Debug\FatalErrorHandler\ClassNo
14a80 74 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 65 20 53 79 6d tFoundFatalErrorHandler;.use.Sym
14aa0 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
14ac0 61 6e 64 6c 65 72 5c 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 andler\FatalErrorHandlerInterfac
14ae0 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 41 20 67 65 6e 65 72 69 63 20 45 72 72 6f 72 48 61 6e 64 6c 65 e;../**..*.A.generic.ErrorHandle
14b00 72 20 66 6f 72 20 74 68 65 20 50 48 50 20 65 6e 67 69 6e 65 2e 0a 20 2a 0a 20 2a 20 50 72 6f 76 r.for.the.PHP.engine...*..*.Prov
14b20 69 64 65 73 20 66 69 76 65 20 62 69 74 20 66 69 65 6c 64 73 20 74 68 61 74 20 63 6f 6e 74 72 6f ides.five.bit.fields.that.contro
14b40 6c 20 68 6f 77 20 65 72 72 6f 72 73 20 61 72 65 20 68 61 6e 64 6c 65 64 3a 0a 20 2a 20 2d 20 74 l.how.errors.are.handled:..*.-.t
14b60 68 72 6f 77 6e 45 72 72 6f 72 73 3a 20 65 72 72 6f 72 73 20 74 68 72 6f 77 6e 20 61 73 20 5c 45 hrownErrors:.errors.thrown.as.\E
14b80 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 20 2a 20 2d 20 6c 6f 67 67 65 64 45 72 72 6f 72 73 3a rrorException..*.-.loggedErrors:
14ba0 20 6c 6f 67 67 65 64 20 65 72 72 6f 72 73 2c 20 77 68 65 6e 20 6e 6f 74 20 40 2d 73 69 6c 65 6e .logged.errors,.when.not.@-silen
14bc0 63 65 64 0a 20 2a 20 2d 20 73 63 6f 70 65 64 45 72 72 6f 72 73 3a 20 65 72 72 6f 72 73 20 74 68 ced..*.-.scopedErrors:.errors.th
14be0 72 6f 77 6e 20 6f 72 20 6c 6f 67 67 65 64 20 77 69 74 68 20 74 68 65 69 72 20 6c 6f 63 61 6c 20 rown.or.logged.with.their.local.
14c00 63 6f 6e 74 65 78 74 0a 20 2a 20 2d 20 74 72 61 63 65 64 45 72 72 6f 72 73 3a 20 65 72 72 6f 72 context..*.-.tracedErrors:.error
14c20 73 20 6c 6f 67 67 65 64 20 77 69 74 68 20 74 68 65 69 72 20 73 74 61 63 6b 20 74 72 61 63 65 2c s.logged.with.their.stack.trace,
14c40 20 6f 6e 6c 79 20 6f 6e 63 65 20 66 6f 72 20 72 65 70 65 61 74 65 64 20 65 72 72 6f 72 73 0a 20 .only.once.for.repeated.errors..
14c60 2a 20 2d 20 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 3a 20 6e 65 76 65 72 20 40 2d 73 69 6c 65 *.-.screamedErrors:.never.@-sile
14c80 6e 63 65 64 20 65 72 72 6f 72 73 0a 20 2a 0a 20 2a 20 45 61 63 68 20 65 72 72 6f 72 20 6c 65 76 nced.errors..*..*.Each.error.lev
14ca0 65 6c 20 63 61 6e 20 62 65 20 6c 6f 67 67 65 64 20 62 79 20 61 20 64 65 64 69 63 61 74 65 64 20 el.can.be.logged.by.a.dedicated.
14cc0 50 53 52 2d 33 20 6c 6f 67 67 65 72 20 6f 62 6a 65 63 74 2e 0a 20 2a 20 53 63 72 65 61 6d 69 6e PSR-3.logger.object...*.Screamin
14ce0 67 20 6f 6e 6c 79 20 61 70 70 6c 69 65 73 20 74 6f 20 6c 6f 67 67 69 6e 67 2e 0a 20 2a 20 54 68 g.only.applies.to.logging...*.Th
14d00 72 6f 77 69 6e 67 20 74 61 6b 65 73 20 70 72 65 63 65 64 65 6e 63 65 20 6f 76 65 72 20 6c 6f 67 rowing.takes.precedence.over.log
14d20 67 69 6e 67 2e 0a 20 2a 20 55 6e 63 61 75 67 68 74 20 65 78 63 65 70 74 69 6f 6e 73 20 61 72 65 ging...*.Uncaught.exceptions.are
14d40 20 6c 6f 67 67 65 64 20 61 73 20 45 5f 45 52 52 4f 52 2e 0a 20 2a 20 45 5f 44 45 50 52 45 43 41 .logged.as.E_ERROR...*.E_DEPRECA
14d60 54 45 44 20 61 6e 64 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 6c 65 76 65 6c 73 TED.and.E_USER_DEPRECATED.levels
14d80 20 6e 65 76 65 72 20 74 68 72 6f 77 2e 0a 20 2a 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 .never.throw...*.E_RECOVERABLE_E
14da0 52 52 4f 52 20 61 6e 64 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 6c 65 76 65 6c 73 20 61 6c 77 RROR.and.E_USER_ERROR.levels.alw
14dc0 61 79 73 20 74 68 72 6f 77 2e 0a 20 2a 20 4e 6f 6e 20 63 61 74 63 68 61 62 6c 65 20 65 72 72 6f ays.throw...*.Non.catchable.erro
14de0 72 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 64 65 74 65 63 74 65 64 20 61 74 20 73 68 75 74 64 rs.that.can.be.detected.at.shutd
14e00 6f 77 6e 20 74 69 6d 65 20 61 72 65 20 6c 6f 67 67 65 64 20 77 68 65 6e 20 74 68 65 20 73 63 72 own.time.are.logged.when.the.scr
14e20 65 61 6d 20 62 69 74 20 66 69 65 6c 64 20 61 6c 6c 6f 77 73 20 73 6f 2e 0a 20 2a 20 41 73 20 65 eam.bit.field.allows.so...*.As.e
14e40 72 72 6f 72 73 20 68 61 76 65 20 61 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 63 6f 73 74 2c 20 72 rrors.have.a.performance.cost,.r
14e60 65 70 65 61 74 65 64 20 65 72 72 6f 72 73 20 61 72 65 20 61 6c 6c 20 6c 6f 67 67 65 64 2c 20 73 epeated.errors.are.all.logged,.s
14e80 6f 20 74 68 61 74 20 74 68 65 20 64 65 76 65 6c 6f 70 65 72 0a 20 2a 20 63 61 6e 20 73 65 65 20 o.that.the.developer..*.can.see.
14ea0 74 68 65 6d 20 61 6e 64 20 77 65 69 67 68 74 20 74 68 65 6d 20 61 73 20 6d 6f 72 65 20 69 6d 70 them.and.weight.them.as.more.imp
14ec0 6f 72 74 61 6e 74 20 74 6f 20 66 69 78 20 74 68 61 6e 20 6f 74 68 65 72 73 20 6f 66 20 74 68 65 ortant.to.fix.than.others.of.the
14ee0 20 73 61 6d 65 20 6c 65 76 65 6c 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4e 69 63 6f 6c .same.level...*..*.@author.Nicol
14f00 61 73 20 47 72 65 6b 61 73 20 3c 70 40 74 63 68 77 6f 72 6b 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c as.Grekas.<p@tchwork.com>..*/.cl
14f20 61 73 73 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 ass.ErrorHandler.{.....private.$
14f40 6c 65 76 65 6c 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 45 5f 44 45 50 52 45 43 levels.=.array(.........E_DEPREC
14f60 41 54 45 44 20 3d 3e 20 27 44 65 70 72 65 63 61 74 65 64 27 2c 0a 20 20 20 20 20 20 20 20 45 5f ATED.=>.'Deprecated',.........E_
14f80 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 27 55 73 65 72 20 44 65 70 72 65 63 61 USER_DEPRECATED.=>.'User.Depreca
14fa0 74 65 64 27 2c 0a 20 20 20 20 20 20 20 20 45 5f 4e 4f 54 49 43 45 20 3d 3e 20 27 4e 6f 74 69 63 ted',.........E_NOTICE.=>.'Notic
14fc0 65 27 2c 0a 20 20 20 20 20 20 20 20 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 20 3d 3e 20 27 55 73 e',.........E_USER_NOTICE.=>.'Us
14fe0 65 72 20 4e 6f 74 69 63 65 27 2c 0a 20 20 20 20 20 20 20 20 45 5f 53 54 52 49 43 54 20 3d 3e 20 er.Notice',.........E_STRICT.=>.
15000 27 52 75 6e 74 69 6d 65 20 4e 6f 74 69 63 65 27 2c 0a 20 20 20 20 20 20 20 20 45 5f 57 41 52 4e 'Runtime.Notice',.........E_WARN
15020 49 4e 47 20 3d 3e 20 27 57 61 72 6e 69 6e 67 27 2c 0a 20 20 20 20 20 20 20 20 45 5f 55 53 45 52 ING.=>.'Warning',.........E_USER
15040 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 55 73 65 72 20 57 61 72 6e 69 6e 67 27 2c 0a 20 20 20 20 _WARNING.=>.'User.Warning',.....
15060 20 20 20 20 45 5f 43 4f 4d 50 49 4c 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 43 6f 6d 70 69 6c ....E_COMPILE_WARNING.=>.'Compil
15080 65 20 57 61 72 6e 69 6e 67 27 2c 0a 20 20 20 20 20 20 20 20 45 5f 43 4f 52 45 5f 57 41 52 4e 49 e.Warning',.........E_CORE_WARNI
150a0 4e 47 20 3d 3e 20 27 43 6f 72 65 20 57 61 72 6e 69 6e 67 27 2c 0a 20 20 20 20 20 20 20 20 45 5f NG.=>.'Core.Warning',.........E_
150c0 55 53 45 52 5f 45 52 52 4f 52 20 3d 3e 20 27 55 73 65 72 20 45 72 72 6f 72 27 2c 0a 20 20 20 20 USER_ERROR.=>.'User.Error',.....
150e0 20 20 20 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 61 74 63 ....E_RECOVERABLE_ERROR.=>.'Catc
15100 68 61 62 6c 65 20 46 61 74 61 6c 20 45 72 72 6f 72 27 2c 0a 20 20 20 20 20 20 20 20 45 5f 43 4f hable.Fatal.Error',.........E_CO
15120 4d 50 49 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 6f 6d 70 69 6c 65 20 45 72 72 6f 72 27 2c 0a MPILE_ERROR.=>.'Compile.Error',.
15140 20 20 20 20 20 20 20 20 45 5f 50 41 52 53 45 20 3d 3e 20 27 50 61 72 73 65 20 45 72 72 6f 72 27 ........E_PARSE.=>.'Parse.Error'
15160 2c 0a 20 20 20 20 20 20 20 20 45 5f 45 52 52 4f 52 20 3d 3e 20 27 45 72 72 6f 72 27 2c 0a 20 20 ,.........E_ERROR.=>.'Error',...
15180 20 20 20 20 20 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 6f 72 65 20 45 72 72 6f ......E_CORE_ERROR.=>.'Core.Erro
151a0 72 27 2c 0a 20 20 20 20 29 3b 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 72 73 r',.....);......private.$loggers
151c0 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 3d .=.array(.........E_DEPRECATED.=
151e0 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 20 >.array(null,.LogLevel::INFO),..
15200 20 20 20 20 20 20 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 61 72 72 61 .......E_USER_DEPRECATED.=>.arra
15220 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 20 20 20 20 20 20 20 y(null,.LogLevel::INFO),........
15240 20 45 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 65 .E_NOTICE.=>.array(null,.LogLeve
15260 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 20 20 20 20 20 20 20 20 45 5f 55 53 45 52 5f 4e 4f 54 49 l::WARNING),.........E_USER_NOTI
15280 43 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 57 41 52 4e CE.=>.array(null,.LogLevel::WARN
152a0 49 4e 47 29 2c 0a 20 20 20 20 20 20 20 20 45 5f 53 54 52 49 43 54 20 3d 3e 20 61 72 72 61 79 28 ING),.........E_STRICT.=>.array(
152c0 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 20 20 20 20 20 20 null,.LogLevel::WARNING),.......
152e0 20 20 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 ..E_WARNING.=>.array(null,.LogLe
15300 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 20 20 20 20 20 20 20 20 45 5f 55 53 45 52 5f 57 41 vel::WARNING),.........E_USER_WA
15320 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 65 6c 3a 3a 57 RNING.=>.array(null,.LogLevel::W
15340 41 52 4e 49 4e 47 29 2c 0a 20 20 20 20 20 20 20 20 45 5f 43 4f 4d 50 49 4c 45 5f 57 41 52 4e 49 ARNING),.........E_COMPILE_WARNI
15360 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 4e NG.=>.array(null,.LogLevel::WARN
15380 49 4e 47 29 2c 0a 20 20 20 20 20 20 20 20 45 5f 43 4f 52 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 ING),.........E_CORE_WARNING.=>.
153a0 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),.
153c0 20 20 20 20 20 20 20 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 ........E_USER_ERROR.=>.array(nu
153e0 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 20 20 20 20 20 20 20 ll,.LogLevel::CRITICAL),........
15400 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 .E_RECOVERABLE_ERROR.=>.array(nu
15420 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 20 20 20 20 20 20 20 ll,.LogLevel::CRITICAL),........
15440 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 .E_COMPILE_ERROR.=>.array(null,.
15460 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 20 20 20 20 20 20 20 20 45 5f 50 LogLevel::CRITICAL),.........E_P
15480 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
154a0 49 54 49 43 41 4c 29 2c 0a 20 20 20 20 20 20 20 20 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 ITICAL),.........E_ERROR.=>.arra
154c0 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 20 20 20 y(null,.LogLevel::CRITICAL),....
154e0 20 20 20 20 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c .....E_CORE_ERROR.=>.array(null,
15500 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 20 20 20 20 29 3b 0a 0a 20 20 .LogLevel::CRITICAL),.....);....
15520 20 20 70 72 69 76 61 74 65 20 24 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 3d 20 30 78 31 46 46 46 ..private.$thrownErrors.=.0x1FFF
15540 3b 20 2f 2f 20 45 5f 41 4c 4c 20 2d 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 2d 20 45 5f 55 53 ;.//.E_ALL.-.E_DEPRECATED.-.E_US
15560 45 52 5f 44 45 50 52 45 43 41 54 45 44 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 63 6f 70 65 ER_DEPRECATED.....private.$scope
15580 64 45 72 72 6f 72 73 20 3d 20 30 78 31 46 46 46 3b 20 2f 2f 20 45 5f 41 4c 4c 20 2d 20 45 5f 44 dErrors.=.0x1FFF;.//.E_ALL.-.E_D
155a0 45 50 52 45 43 41 54 45 44 20 2d 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 0a 20 20 EPRECATED.-.E_USER_DEPRECATED...
155c0 20 20 70 72 69 76 61 74 65 20 24 74 72 61 63 65 64 45 72 72 6f 72 73 20 3d 20 30 78 37 37 46 42 ..private.$tracedErrors.=.0x77FB
155e0 3b 20 2f 2f 20 45 5f 41 4c 4c 20 2d 20 45 5f 53 54 52 49 43 54 20 2d 20 45 5f 50 41 52 53 45 0a ;.//.E_ALL.-.E_STRICT.-.E_PARSE.
15600 20 20 20 20 70 72 69 76 61 74 65 20 24 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 20 3d 20 30 78 ....private.$screamedErrors.=.0x
15620 35 35 3b 20 2f 2f 20 45 5f 45 52 52 4f 52 20 2b 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 2b 20 55;.//.E_ERROR.+.E_CORE_ERROR.+.
15640 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 20 2b 20 45 5f 50 41 52 53 45 0a 20 20 20 20 70 72 E_COMPILE_ERROR.+.E_PARSE.....pr
15660 69 76 61 74 65 20 24 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 3d 20 30 3b 0a 0a 20 20 20 20 70 72 ivate.$loggedErrors.=.0;......pr
15680 69 76 61 74 65 20 24 6c 6f 67 67 65 64 54 72 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 ivate.$loggedTraces.=.array();..
156a0 20 20 20 70 72 69 76 61 74 65 20 24 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 30 3b 0a 20 20 20 ...private.$isRecursive.=.0;....
156c0 20 70 72 69 76 61 74 65 20 24 69 73 52 6f 6f 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 .private.$isRoot.=.false;.....pr
156e0 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 20 20 20 20 70 72 69 ivate.$exceptionHandler;.....pri
15700 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 20 20 20 20 vate.$bootstrappingLogger;......
15720 70 72 69 76 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 private.static.$reservedMemory;.
15740 20 20 20 20 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 72 ....private.static.$stackedError
15760 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 s.=.array();.....private.static.
15780 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 $stackedErrorLevels.=.array();..
157a0 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 ...private.static.$toStringExcep
157c0 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 tion.=.null;....../**......*.Reg
157e0 69 73 74 65 72 73 20 74 68 65 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 72 2e 0a 20 20 20 20 20 2a isters.the.error.handler.......*
15800 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 65 6c 66 7c 6e 75 6c 6c 20 24 68 61 6e 64 6c 65 ......*.@param.self|null.$handle
15820 72 20 54 68 65 20 68 61 6e 64 6c 65 72 20 74 6f 20 72 65 67 69 73 74 65 72 0a 20 20 20 20 20 2a r.The.handler.to.register......*
15840 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 20 20 20 20 20 24 72 65 70 6c 61 63 65 20 57 68 65 74 68 .@param.bool......$replace.Wheth
15860 65 72 20 74 6f 20 72 65 70 6c 61 63 65 20 6f 72 20 6e 6f 74 20 61 6e 79 20 65 78 69 73 74 69 6e er.to.replace.or.not.any.existin
15880 67 20 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 g.handler......*......*.@return.
158a0 73 65 6c 66 20 54 68 65 20 72 65 67 69 73 74 65 72 65 64 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 self.The.registered.error.handle
158c0 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 r......*/.....public.static.func
158e0 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 73 65 6c 66 20 24 68 61 6e 64 6c 65 72 20 3d 20 6e 75 tion.register(self.$handler.=.nu
15900 6c 6c 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ll,.$replace.=.true).....{......
15920 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d ...if.(null.===.self::$reservedM
15940 65 6d 6f 72 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 72 65 73 65 emory).{.............self::$rese
15960 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
15980 34 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f 40);.............register_shutdo
159a0 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 5f 5f 43 4c 41 53 53 5f 5f 2e 27 3a 3a 68 61 6e 64 6c 65 46 wn_function(__CLASS__.'::handleF
159c0 61 74 61 6c 45 72 72 6f 72 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 atalError');.........}..........
159e0 69 66 20 28 24 68 61 6e 64 6c 65 72 49 73 4e 65 77 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 68 61 if.($handlerIsNew.=.null.===.$ha
15a00 6e 64 6c 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 20 3d 20 ndler).{.............$handler.=.
15a20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 new.static();.........}.........
15a40 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 65 76 20 3d 20 73 65 74 5f 65 72 72 6f 72 5f .if.(null.===.$prev.=.set_error_
15a60 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
15a80 72 72 6f 72 27 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 74 6f 72 65 5f 65 rror'))).{.............restore_e
15aa0 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 rror_handler();.............//.S
15ac0 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 65 72 72 6f 72 20 74 79 70 65 73 20 65 61 72 6c 69 65 pecifying.the.error.types.earlie
15ae0 72 20 77 6f 75 6c 64 20 65 78 70 6f 73 65 20 75 73 20 74 6f 20 68 74 74 70 73 3a 2f 2f 62 75 67 r.would.expose.us.to.https://bug
15b00 73 2e 70 68 70 2e 6e 65 74 2f 36 33 32 30 36 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 5f s.php.net/63206.............set_
15b20 65 72 72 6f 72 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 error_handler(array($handler,.'h
15b40 61 6e 64 6c 65 45 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 andleError'),.$handler->thrownEr
15b60 72 6f 72 73 20 7c 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 rors.|.$handler->loggedErrors);.
15b80 20 20 20 20 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 2d 3e 69 73 52 6f 6f 74 20 3d 20 74 ............$handler->isRoot.=.t
15ba0 72 75 65 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 24 68 61 6e rue;.........}..........if.($han
15bc0 64 6c 65 72 49 73 4e 65 77 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 29 20 26 26 20 dlerIsNew.&&.is_array($prev).&&.
15be0 24 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 20 20 20 20 $prev[0].instanceof.self).{.....
15c00 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 20 3d 20 24 70 72 65 76 5b 30 5d 3b 0a 20 20 20 ........$handler.=.$prev[0];....
15c20 20 20 20 20 20 20 20 20 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 .........$replace.=.false;......
15c40 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 70 6c 61 63 65 20 7c 7c 20 21 24 70 ...}.........if.($replace.||.!$p
15c60 72 65 76 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 rev).{.............$handler->set
15c80 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 ExceptionHandler(set_exception_h
15ca0 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 78 andler(array($handler,.'handleEx
15cc0 63 65 70 74 69 6f 6e 27 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 ception')));.........}.else.{...
15ce0 20 20 20 20 20 20 20 20 20 20 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 ..........restore_error_handler(
15d00 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 2d 3e );.........}..........$handler->
15d20 74 68 72 6f 77 41 74 28 45 5f 41 4c 4c 20 26 20 24 68 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 6e throwAt(E_ALL.&.$handler->thrown
15d40 45 72 72 6f 72 73 2c 20 74 72 75 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 Errors,.true);..........return.$
15d60 68 61 6e 64 6c 65 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 handler;.....}......public.funct
15d80 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 20 ion.__construct(BufferingLogger.
15da0 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 $bootstrappingLogger.=.null)....
15dc0 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 .{.........if.($bootstrappingLog
15de0 67 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 ger).{.............$this->bootst
15e00 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 20 3d 20 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f rappingLogger.=.$bootstrappingLo
15e20 67 67 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 44 65 66 61 gger;.............$this->setDefa
15e40 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 67 67 65 72 29 3b ultLogger($bootstrappingLogger);
15e60 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 20 2a .........}.....}....../**......*
15e80 20 53 65 74 73 20 61 20 6c 6f 67 67 65 72 20 74 6f 20 6e 6f 6e 20 61 73 73 69 67 6e 65 64 20 65 .Sets.a.logger.to.non.assigned.e
15ea0 72 72 6f 72 73 20 6c 65 76 65 6c 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 rrors.levels.......*......*.@par
15ec0 61 6d 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 20 20 41 20 50 53 am.LoggerInterface.$logger..A.PS
15ee0 52 2d 33 20 6c 6f 67 67 65 72 20 74 6f 20 70 75 74 20 61 73 20 64 65 66 61 75 6c 74 20 66 6f 72 R-3.logger.to.put.as.default.for
15f00 20 74 68 65 20 67 69 76 65 6e 20 6c 65 76 65 6c 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 .the.given.levels......*.@param.
15f20 61 72 72 61 79 7c 69 6e 74 20 20 20 20 20 20 20 24 6c 65 76 65 6c 73 20 20 41 6e 20 61 72 72 61 array|int.......$levels..An.arra
15f40 79 20 6d 61 70 20 6f 66 20 45 5f 2a 20 74 6f 20 4c 6f 67 4c 65 76 65 6c 3a 3a 2a 20 6f 72 20 61 y.map.of.E_*.to.LogLevel::*.or.a
15f60 6e 20 69 6e 74 65 67 65 72 20 62 69 74 20 66 69 65 6c 64 20 6f 66 20 45 5f 2a 20 63 6f 6e 73 74 n.integer.bit.field.of.E_*.const
15f80 61 6e 74 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 ants......*.@param.bool.........
15fa0 20 20 20 24 72 65 70 6c 61 63 65 20 57 68 65 74 68 65 72 20 74 6f 20 72 65 70 6c 61 63 65 20 6f ...$replace.Whether.to.replace.o
15fc0 72 20 6e 6f 74 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 6c 6f 67 67 65 72 0a 20 20 20 20 20 2a r.not.any.existing.logger......*
15fe0 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 44 65 66 61 75 6c 74 /.....public.function.setDefault
16000 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 6f 67 67 65 72 2c 20 Logger(LoggerInterface.$logger,.
16020 24 6c 65 76 65 6c 73 20 3d 20 45 5f 41 4c 4c 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 $levels.=.E_ALL,.$replace.=.fals
16040 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 67 65 72 73 20 3d 20 61 72 72 61 e).....{.........$loggers.=.arra
16060 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 6c 65 76 65 y();..........if.(is_array($leve
16080 6c 73 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 6c 65 76 ls)).{.............foreach.($lev
160a0 65 6c 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 4c 65 76 65 6c 29 20 7b 0a 20 20 20 els.as.$type.=>.$logLevel).{....
160c0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 6c 6f .............if.(empty($this->lo
160e0 67 67 65 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 ggers[$type][0]).||.$replace.||.
16100 24 74 68 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 $this->loggers[$type][0].===.$th
16120 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 20 7b 0a 20 20 20 20 20 is->bootstrappingLogger).{......
16140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 20 3d ...............$loggers[$type].=
16160 20 61 72 72 61 79 28 24 6c 6f 67 67 65 72 2c 20 24 6c 6f 67 4c 65 76 65 6c 29 3b 0a 20 20 20 20 .array($logger,.$logLevel);.....
16180 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 ............}.............}.....
161a0 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 69 66 20 28 6e 75 6c ....}.else.{.............if.(nul
161c0 6c 20 3d 3d 3d 20 24 6c 65 76 65 6c 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.===.$levels).{................
161e0 20 24 6c 65 76 65 6c 73 20 3d 20 45 5f 41 4c 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a .$levels.=.E_ALL;.............}.
16200 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 73 2d 3e 6c 6f 67 67 ............foreach.($this->logg
16220 65 72 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 29 20 7b 0a 20 20 20 20 20 20 20 20 ers.as.$type.=>.$log).{.........
16240 20 20 20 20 20 20 20 20 69 66 20 28 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 73 29 20 26 26 ........if.(($type.&.$levels).&&
16260 20 28 65 6d 70 74 79 28 24 6c 6f 67 5b 30 5d 29 20 7c 7c 20 24 72 65 70 6c 61 63 65 20 7c 7c 20 .(empty($log[0]).||.$replace.||.
16280 24 6c 6f 67 5b 30 5d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 $log[0].===.$this->bootstrapping
162a0 4c 6f 67 67 65 72 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 Logger)).{.....................$
162c0 6c 6f 67 5b 30 5d 20 3d 20 24 6c 6f 67 67 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 log[0].=.$logger;...............
162e0 20 20 20 20 20 20 24 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 24 6c 6f 67 3b 0a 20 20 ......$loggers[$type].=.$log;...
16300 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 20 20 ..............}.............}...
16320 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 4c 6f 67 67 65 ......}..........$this->setLogge
16340 72 73 28 24 6c 6f 67 67 65 72 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 rs($loggers);.....}....../**....
16360 20 20 2a 20 53 65 74 73 20 61 20 6c 6f 67 67 65 72 20 66 6f 72 20 65 61 63 68 20 65 72 72 6f 72 ..*.Sets.a.logger.for.each.error
16380 20 6c 65 76 65 6c 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 .level.......*......*.@param.arr
163a0 61 79 20 24 6c 6f 67 67 65 72 73 20 45 72 72 6f 72 20 6c 65 76 65 6c 73 20 74 6f 20 5b 4c 6f 67 ay.$loggers.Error.levels.to.[Log
163c0 67 65 72 49 6e 74 65 72 66 61 63 65 7c 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 2a 5d 20 gerInterface|null,.LogLevel::*].
163e0 6d 61 70 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 map......*......*.@return.array.
16400 54 68 65 20 70 72 65 76 69 6f 75 73 20 6d 61 70 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 The.previous.map......*......*.@
16420 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 74 69 6f 6e throws.\InvalidArgumentException
16440 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 74 ......*/.....public.function.set
16460 4c 6f 67 67 65 72 73 28 61 72 72 61 79 20 24 6c 6f 67 67 65 72 73 29 0a 20 20 20 20 7b 0a 20 20 Loggers(array.$loggers).....{...
16480 20 20 20 20 20 20 24 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 ......$prevLogged.=.$this->logge
164a0 64 45 72 72 6f 72 73 3b 0a 20 20 20 20 20 20 20 20 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e dErrors;.........$prev.=.$this->
164c0 6c 6f 67 67 65 72 73 3b 0a 20 20 20 20 20 20 20 20 24 66 6c 75 73 68 20 3d 20 61 72 72 61 79 28 loggers;.........$flush.=.array(
164e0 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 67 67 65 72 73 20 61 73 );..........foreach.($loggers.as
16500 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .$type.=>.$log).{.............if
16520 20 28 21 69 73 73 65 74 28 24 70 72 65 76 5b 24 74 79 70 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 .(!isset($prev[$type])).{.......
16540 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 ..........throw.new.\InvalidArgu
16560 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 72 20 74 79 70 mentException('Unknown.error.typ
16580 65 3a 20 27 2e 24 74 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 e:.'.$type);.............}......
165a0 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 6c 6f 67 29 29 20 7b 0a 20 20 .......if.(!is_array($log)).{...
165c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 67 20 3d 20 61 72 72 61 79 28 24 6c 6f 67 29 ..............$log.=.array($log)
165e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 61 72 72 61 79 5f 6b ;.............}.elseif.(!array_k
16600 65 79 5f 65 78 69 73 74 73 28 30 2c 20 24 6c 6f 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ey_exists(0,.$log)).{...........
16620 20 20 20 20 20 20 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
16640 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 29 3b Exception('No.logger.provided');
16660 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 69 66 20 28 6e .............}.............if.(n
16680 75 6c 6c 20 3d 3d 3d 20 24 6c 6f 67 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ull.===.$log[0]).{..............
166a0 20 20 20 24 74 68 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 ...$this->loggedErrors.&=.~$type
166c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6c 6f 67 5b 30 5d 20 ;.............}.elseif.($log[0].
166e0 69 6e 73 74 61 6e 63 65 6f 66 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 20 20 instanceof.LoggerInterface).{...
16700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 ..............$this->loggedError
16720 73 20 7c 3d 20 24 74 79 70 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b s.|=.$type;.............}.else.{
16740 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 5c 49 6e 76 61 .................throw.new.\Inva
16760 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 6c 6f lidArgumentException('Invalid.lo
16780 67 67 65 72 20 70 72 6f 76 69 64 65 64 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 gger.provided');.............}..
167a0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d ...........$this->loggers[$type]
167c0 20 3d 20 24 6c 6f 67 20 2b 20 24 70 72 65 76 5b 24 74 79 70 65 5d 3b 0a 0a 20 20 20 20 20 20 20 .=.$log.+.$prev[$type];.........
167e0 20 20 20 20 20 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 .....if.($this->bootstrappingLog
16800 67 65 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 ger.&&.$prev[$type][0].===.$this
16820 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 20 7b 0a 20 20 20 20 20 20 20 ->bootstrappingLogger).{........
16840 20 20 20 20 20 20 20 20 20 24 66 6c 75 73 68 5b 24 74 79 70 65 5d 20 3d 20 24 74 79 70 65 3b 0a .........$flush[$type].=.$type;.
16860 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ............}.........}.........
16880 24 74 68 69 73 2d 3e 72 65 52 65 67 69 73 74 65 72 28 24 70 72 65 76 4c 6f 67 67 65 64 20 7c 20 $this->reRegister($prevLogged.|.
168a0 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 $this->thrownErrors);..........i
168c0 66 20 28 24 66 6c 75 73 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 f.($flush).{.............foreach
168e0 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 72 2d 3e 63 6c .($this->bootstrappingLogger->cl
16900 65 61 6e 4c 6f 67 73 28 29 20 61 73 20 24 6c 6f 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 eanLogs().as.$log).{............
16920 20 20 20 20 20 24 74 79 70 65 20 3d 20 24 6c 6f 67 5b 32 5d 5b 27 74 79 70 65 27 5d 3b 0a 20 20 .....$type.=.$log[2]['type'];...
16940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 66 6c 75 73 68 5b ..............if.(!isset($flush[
16960 24 74 79 70 65 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 $type])).{.....................$
16980 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 6c 6f 67 28 24 this->bootstrappingLogger->log($
169a0 6c 6f 67 5b 30 5d 2c 20 24 6c 6f 67 5b 31 5d 2c 20 24 6c 6f 67 5b 32 5d 29 3b 0a 20 20 20 20 20 log[0],.$log[1],.$log[2]);......
169c0 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 ...........}.elseif.($this->logg
169e0 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ers[$type][0]).{................
16a00 20 20 20 20 20 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 .....$this->loggers[$type][0]->l
16a20 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 5d 2c 20 24 6c 6f og($this->loggers[$type][1],.$lo
16a40 67 5b 31 5d 2c 20 24 6c 6f 67 5b 32 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g[1],.$log[2]);.................
16a60 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 0a 0a 20 20 20 20 20 }.............}.........}.......
16a80 20 20 20 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a ...return.$prev;.....}....../**.
16aa0 20 20 20 20 20 2a 20 53 65 74 73 20 61 20 75 73 65 72 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e .....*.Sets.a.user.exception.han
16ac0 64 6c 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 dler.......*......*.@param.calla
16ae0 62 6c 65 20 24 68 61 6e 64 6c 65 72 20 41 20 68 61 6e 64 6c 65 72 20 74 68 61 74 20 77 69 6c 6c ble.$handler.A.handler.that.will
16b00 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 20 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 .be.called.on.Exception......*..
16b20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 63 61 6c 6c 61 62 6c 65 7c 6e 75 6c 6c 20 54 68 65 20 ....*.@return.callable|null.The.
16b40 70 72 65 76 69 6f 75 73 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 previous.exception.handler......
16b60 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 45 78 63 65 70 74 */.....public.function.setExcept
16b80 69 6f 6e 48 61 6e 64 6c 65 72 28 63 61 6c 6c 61 62 6c 65 20 24 68 61 6e 64 6c 65 72 20 3d 20 6e ionHandler(callable.$handler.=.n
16ba0 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 72 65 76 20 3d 20 24 74 68 69 73 ull).....{.........$prev.=.$this
16bc0 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 ->exceptionHandler;.........$thi
16be0 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 3b 0a s->exceptionHandler.=.$handler;.
16c00 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 20 20 20 20 7d 0a 0a 20 20 .........return.$prev;.....}....
16c20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 50 48 50 20 65 72 72 6f 72 20 ../**......*.Sets.the.PHP.error.
16c40 6c 65 76 65 6c 73 20 74 68 61 74 20 74 68 72 6f 77 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 levels.that.throw.an.exception.w
16c60 68 65 6e 20 61 20 50 48 50 20 65 72 72 6f 72 20 6f 63 63 75 72 73 2e 0a 20 20 20 20 20 2a 0a 20 hen.a.PHP.error.occurs.......*..
16c80 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 24 6c 65 76 65 6c 73 20 20 41 20 62 69 74 ....*.@param.int..$levels..A.bit
16ca0 20 66 69 65 6c 64 20 6f 66 20 45 5f 2a 20 63 6f 6e 73 74 61 6e 74 73 20 66 6f 72 20 74 68 72 6f .field.of.E_*.constants.for.thro
16cc0 77 6e 20 65 72 72 6f 72 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 72 65 wn.errors......*.@param.bool.$re
16ce0 70 6c 61 63 65 20 52 65 70 6c 61 63 65 20 6f 72 20 61 6d 65 6e 64 20 74 68 65 20 70 72 65 76 69 place.Replace.or.amend.the.previ
16d00 6f 75 73 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 ous.value......*......*.@return.
16d20 69 6e 74 20 54 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 2f 0a 20 int.The.previous.value......*/..
16d40 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 68 72 6f 77 41 74 28 24 6c 65 76 65 ...public.function.throwAt($leve
16d60 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 ls,.$replace.=.false).....{.....
16d80 20 20 20 20 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 ....$prev.=.$this->thrownErrors;
16da0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 3d 20 28 .........$this->thrownErrors.=.(
16dc0 24 6c 65 76 65 6c 73 20 7c 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 7c 20 $levels.|.E_RECOVERABLE_ERROR.|.
16de0 45 5f 55 53 45 52 5f 45 52 52 4f 52 29 20 26 20 7e 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 E_USER_ERROR).&.~E_USER_DEPRECAT
16e00 45 44 20 26 20 7e 45 5f 44 45 50 52 45 43 41 54 45 44 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 ED.&.~E_DEPRECATED;.........if.(
16e20 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e !$replace).{.............$this->
16e40 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 3d 20 24 70 72 65 76 3b 0a 20 20 20 20 20 20 20 20 7d thrownErrors.|=.$prev;.........}
16e60 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 52 65 67 69 73 74 65 72 28 24 70 72 65 76 .........$this->reRegister($prev
16e80 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 29 3b 0a 0a 20 20 20 20 20 20 .|.$this->loggedErrors);........
16ea0 20 20 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 ..return.$prev;.....}....../**..
16ec0 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 50 48 50 20 65 72 72 6f 72 20 6c 65 76 65 6c 73 20 ....*.Sets.the.PHP.error.levels.
16ee0 66 6f 72 20 77 68 69 63 68 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 70 72 for.which.local.variables.are.pr
16f00 65 73 65 72 76 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 69 6e eserved.......*......*.@param.in
16f20 74 20 20 24 6c 65 76 65 6c 73 20 20 41 20 62 69 74 20 66 69 65 6c 64 20 6f 66 20 45 5f 2a 20 63 t..$levels..A.bit.field.of.E_*.c
16f40 6f 6e 73 74 61 6e 74 73 20 66 6f 72 20 73 63 6f 70 65 64 20 65 72 72 6f 72 73 0a 20 20 20 20 20 onstants.for.scoped.errors......
16f60 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 72 65 70 6c 61 63 65 20 52 65 70 6c 61 63 65 20 6f *.@param.bool.$replace.Replace.o
16f80 72 20 61 6d 65 6e 64 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 0a 20 20 20 20 20 r.amend.the.previous.value......
16fa0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 70 72 65 76 69 6f 75 *......*.@return.int.The.previou
16fc0 73 20 76 61 6c 75 65 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 s.value......*/.....public.funct
16fe0 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 20 ion.scopeAt($levels,.$replace.=.
17000 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 72 65 76 20 3d 20 24 74 68 false).....{.........$prev.=.$th
17020 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d is->scopedErrors;.........$this-
17040 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 20 >scopedErrors.=.(int).$levels;..
17060 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 .......if.(!$replace).{.........
17080 20 20 20 20 24 74 68 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 ....$this->scopedErrors.|=.$prev
170a0 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 20 24 70 72 65 ;.........}..........return.$pre
170c0 76 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 65 74 73 20 74 68 v;.....}....../**......*.Sets.th
170e0 65 20 50 48 50 20 65 72 72 6f 72 20 6c 65 76 65 6c 73 20 66 6f 72 20 77 68 69 63 68 20 74 68 65 e.PHP.error.levels.for.which.the
17100 20 73 74 61 63 6b 20 74 72 61 63 65 20 69 73 20 70 72 65 73 65 72 76 65 64 2e 0a 20 20 20 20 20 .stack.trace.is.preserved.......
17120 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 24 6c 65 76 65 6c 73 20 20 41 20 *......*.@param.int..$levels..A.
17140 62 69 74 20 66 69 65 6c 64 20 6f 66 20 45 5f 2a 20 63 6f 6e 73 74 61 6e 74 73 20 66 6f 72 20 74 bit.field.of.E_*.constants.for.t
17160 72 61 63 65 64 20 65 72 72 6f 72 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 raced.errors......*.@param.bool.
17180 24 72 65 70 6c 61 63 65 20 52 65 70 6c 61 63 65 20 6f 72 20 61 6d 65 6e 64 20 74 68 65 20 70 72 $replace.Replace.or.amend.the.pr
171a0 65 76 69 6f 75 73 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 evious.value......*......*.@retu
171c0 72 6e 20 69 6e 74 20 54 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 0a 20 20 20 20 20 2a rn.int.The.previous.value......*
171e0 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 63 65 41 74 28 24 6c /.....public.function.traceAt($l
17200 65 76 65 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 evels,.$replace.=.false).....{..
17220 20 20 20 20 20 20 20 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f .......$prev.=.$this->tracedErro
17240 72 73 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f 72 73 20 rs;.........$this->tracedErrors.
17260 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 72 =.(int).$levels;.........if.(!$r
17280 65 70 6c 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 61 eplace).{.............$this->tra
172a0 63 65 64 45 72 72 6f 72 73 20 7c 3d 20 24 70 72 65 76 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 cedErrors.|=.$prev;.........}...
172c0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .......return.$prev;.....}......
172e0 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 65 72 72 6f 72 20 6c 65 76 65 6c 73 /**......*.Sets.the.error.levels
17300 20 77 68 65 72 65 20 74 68 65 20 40 2d 6f 70 65 72 61 74 6f 72 20 69 73 20 69 67 6e 6f 72 65 64 .where.the.@-operator.is.ignored
17320 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 24 6c 65 76 .......*......*.@param.int..$lev
17340 65 6c 73 20 20 41 20 62 69 74 20 66 69 65 6c 64 20 6f 66 20 45 5f 2a 20 63 6f 6e 73 74 61 6e 74 els..A.bit.field.of.E_*.constant
17360 73 20 66 6f 72 20 73 63 72 65 61 6d 65 64 20 65 72 72 6f 72 73 0a 20 20 20 20 20 2a 20 40 70 61 s.for.screamed.errors......*.@pa
17380 72 61 6d 20 62 6f 6f 6c 20 24 72 65 70 6c 61 63 65 20 52 65 70 6c 61 63 65 20 6f 72 20 61 6d 65 ram.bool.$replace.Replace.or.ame
173a0 6e 64 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 0a 20 20 20 nd.the.previous.value......*....
173c0 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c ..*.@return.int.The.previous.val
173e0 75 65 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 ue......*/.....public.function.s
17400 63 72 65 61 6d 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 creamAt($levels,.$replace.=.fals
17420 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e e).....{.........$prev.=.$this->
17440 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 screamedErrors;.........$this->s
17460 63 72 65 61 6d 65 64 45 72 72 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 20 creamedErrors.=.(int).$levels;..
17480 20 20 20 20 20 20 20 69 66 20 28 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 .......if.(!$replace).{.........
174a0 20 20 20 20 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 70 72 ....$this->screamedErrors.|=.$pr
174c0 65 76 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 20 24 70 ev;.........}..........return.$p
174e0 72 65 76 3b 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 2d 72 65 rev;.....}....../**......*.Re-re
17500 67 69 73 74 65 72 73 20 61 73 20 61 20 50 48 50 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 72 20 69 gisters.as.a.PHP.error.handler.i
17520 66 20 6c 65 76 65 6c 73 20 63 68 61 6e 67 65 64 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 f.levels.changed.......*/.....pr
17540 69 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 ivate.function.reRegister($prev)
17560 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 76 20 21 3d 3d 20 24 74 68 .....{.........if.($prev.!==.$th
17580 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 is->thrownErrors.|.$this->logged
175a0 45 72 72 6f 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 20 3d Errors).{.............$handler.=
175c0 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 27 29 3b 0a .set_error_handler('var_dump');.
175e0 20 20 20 20 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 20 3d 20 69 73 5f 61 72 72 61 79 28 ............$handler.=.is_array(
17600 24 68 61 6e 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 $handler).?.$handler[0].:.null;.
17620 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 ............restore_error_handle
17640 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 68 61 6e 64 6c 65 72 20 3d 3d r();.............if.($handler.==
17660 3d 20 24 74 68 69 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 74 6f =.$this).{.................resto
17680 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 re_error_handler();.............
176a0 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 6f 6f 74 29 20 7b 0a 20 20 20 20 20 20 20 ....if.($this->isRoot).{........
176c0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 .............set_error_handler(a
176e0 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 2c 20 24 74 68 69 rray($this,.'handleError'),.$thi
17700 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 s->thrownErrors.|.$this->loggedE
17720 72 72 6f 72 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b rrors);.................}.else.{
17740 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 5f 65 72 72 6f 72 5f 68 .....................set_error_h
17760 61 6e 64 6c 65 72 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 andler(array($this,.'handleError
17780 27 29 29 3b 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 '));.................}..........
177a0 20 20 20 7d 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 ...}.........}.....}....../**...
177c0 20 20 20 2a 20 48 61 6e 64 6c 65 73 20 65 72 72 6f 72 73 20 62 79 20 66 69 6c 74 65 72 69 6e 67 ...*.Handles.errors.by.filtering
177e0 20 74 68 65 6e 20 6c 6f 67 67 69 6e 67 20 74 68 65 6d 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 .then.logging.them.according.to.
17800 74 68 65 20 63 6f 6e 66 69 67 75 72 65 64 20 62 69 74 20 66 69 65 6c 64 73 2e 0a 20 20 20 20 20 the.configured.bit.fields.......
17820 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 24 74 79 70 65 20 20 20 20 *......*.@param.int....$type....
17840 20 20 4f 6e 65 20 6f 66 20 74 68 65 20 45 5f 2a 20 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 ..One.of.the.E_*.constants......
17860 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 *.@param.string.$message......*.
17880 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 66 69 6c 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 @param.string.$file......*.@para
178a0 6d 20 69 6e 74 20 20 20 20 24 6c 69 6e 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 m.int....$line......*.@param.arr
178c0 61 79 20 20 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 ay..$context......*.@param.array
178e0 20 20 24 62 61 63 6b 74 72 61 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 ..$backtrace......*......*.@retu
17900 72 6e 20 62 6f 6f 6c 20 52 65 74 75 72 6e 73 20 66 61 6c 73 65 20 77 68 65 6e 20 6e 6f 20 68 61 rn.bool.Returns.false.when.no.ha
17920 6e 64 6c 69 6e 67 20 68 61 70 70 65 6e 73 20 73 6f 20 74 68 61 74 20 74 68 65 20 50 48 50 20 65 ndling.happens.so.that.the.PHP.e
17940 6e 67 69 6e 65 20 63 61 6e 20 68 61 6e 64 6c 65 20 74 68 65 20 65 72 72 6f 72 20 69 74 73 65 6c ngine.can.handle.the.error.itsel
17960 66 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 72 72 6f 72 45 78 f......*......*.@throws.\ErrorEx
17980 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 ception.When.$this->thrownErrors
179a0 20 72 65 71 75 65 73 74 73 20 73 6f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 69 6e 74 65 .requests.so......*......*.@inte
179c0 72 6e 61 6c 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 rnal......*/.....public.function
179e0 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 66 .handleError($type,.$message,.$f
17a00 69 6c 65 2c 20 24 6c 69 6e 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 2c 20 61 72 72 61 ile,.$line,.array.$context,.arra
17a20 79 20 24 62 61 63 6b 74 72 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 y.$backtrace.=.null).....{......
17a40 20 20 20 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 20 7c 20 ...$level.=.error_reporting().|.
17a60 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 52 E_RECOVERABLE_ERROR.|.E_USER_ERR
17a80 4f 52 20 7c 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 OR.|.E_DEPRECATED.|.E_USER_DEPRE
17aa0 43 41 54 45 44 3b 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 CATED;.........$log.=.$this->log
17ac0 67 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 72 6f gedErrors.&.$type;.........$thro
17ae0 77 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 w.=.$this->thrownErrors.&.$type.
17b00 26 20 24 6c 65 76 65 6c 3b 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 20 26 3d 20 24 6c 65 76 65 &.$level;.........$type.&=.$leve
17b20 6c 20 7c 20 24 74 68 69 73 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 3b 0a 0a 20 20 20 20 l.|.$this->screamedErrors;......
17b40 20 20 20 20 69 66 20 28 21 24 74 79 70 65 20 7c 7c 20 28 21 24 6c 6f 67 20 26 26 20 21 24 74 68 ....if.(!$type.||.(!$log.&&.!$th
17b60 72 6f 77 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 79 70 65 row)).{.............return.$type
17b80 20 26 26 20 24 6c 6f 67 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 .&&.$log;.........}..........if.
17ba0 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 65 20 26 20 (null.!==.$backtrace.&&.$type.&.
17bc0 45 5f 45 52 52 4f 52 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 5f 45 52 52 4f E_ERROR).{.............//.E_ERRO
17be0 52 20 66 61 74 61 6c 20 65 72 72 6f 72 73 20 61 72 65 20 74 72 69 67 67 65 72 65 64 20 6f 6e 20 R.fatal.errors.are.triggered.on.
17c00 48 48 56 4d 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 68 68 76 6d 2e 65 72 HHVM.when.............//.hhvm.er
17c20 72 6f 72 5f 68 61 6e 64 6c 69 6e 67 2e 63 61 6c 6c 5f 75 73 65 72 5f 68 61 6e 64 6c 65 72 5f 6f ror_handling.call_user_handler_o
17c40 6e 5f 66 61 74 61 6c 73 3d 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 68 69 63 68 20 n_fatals=1.............//.which.
17c60 69 73 20 74 68 65 20 77 61 79 20 74 6f 20 67 65 74 20 74 68 65 69 72 20 62 61 63 6b 74 72 61 63 is.the.way.to.get.their.backtrac
17c80 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 46 61 74 61 e..............$this->handleFata
17ca0 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 73 73 61 67 65 27 lError(compact('type',.'message'
17cc0 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 63 65 27 29 29 3b ,.'file',.'line',.'backtrace'));
17ce0 0a 0a 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 ..............return.true;......
17d00 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 72 6f 77 29 20 7b 0a 20 20 20 20 ...}..........if.($throw).{.....
17d20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 74 6f 53 74 ........if.(null.!==.self::$toSt
17d40 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ringException).{................
17d60 20 24 74 68 72 6f 77 20 3d 20 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 .$throw.=.self::$toStringExcepti
17d80 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 74 6f 53 74 72 on;.................self::$toStr
17da0 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ingException.=.null;............
17dc0 20 7d 20 65 6c 73 65 69 66 20 28 28 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 20 .}.elseif.(($this->scopedErrors.
17de0 26 20 24 74 79 70 65 29 20 26 26 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 43 6f 6e 74 65 78 74 &.$type).&&.class_exists(Context
17e00 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3a 3a 63 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 20 20 ErrorException::class)).{.......
17e20 20 20 20 20 20 20 20 20 20 20 24 74 68 72 6f 77 20 3d 20 6e 65 77 20 43 6f 6e 74 65 78 74 45 72 ..........$throw.=.new.ContextEr
17e40 72 6f 72 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 65 76 65 6c 73 5b 24 74 79 70 65 rorException($this->levels[$type
17e60 5d 2e 27 3a 20 27 2e 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 74 79 70 65 2c 20 24 66 69 6c 65 ].':.'.$message,.0,.$type,.$file
17e80 2c 20 24 6c 69 6e 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ,.$line,.$context);.............
17ea0 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 72 6f 77 20 }.else.{.................$throw.
17ec0 3d 20 6e 65 77 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 65 76 =.new.\ErrorException($this->lev
17ee0 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 79 els[$type].':.'.$message,.0,.$ty
17f00 70 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d pe,.$file,.$line);.............}
17f20 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 26 ..............if.(E_USER_ERROR.&
17f40 20 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 62 61 63 6b 74 .$type).{.................$backt
17f60 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
17f80 54 72 61 63 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 Trace();..................for.($
17fa0 69 20 3d 20 31 3b 20 69 73 73 65 74 28 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 29 3b 20 2b 2b i.=.1;.isset($backtrace[$i]);.++
17fc0 24 69 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 $i).{.....................if.(is
17fe0 73 65 74 28 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 set($backtrace[$i]['function'],.
18000 24 62 61 63 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 $backtrace[$i]['type'],.$backtra
18020 63 65 5b 24 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 0a 20 20 20 20 20 20 20 20 ce[$i.-.1]['function']).........
18040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 20 ................&&.'__toString'.
18060 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 27 5d 0a 20 ===.$backtrace[$i]['function']..
18080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 27 2d 3e 27 20 3d .......................&&.'->'.=
180a0 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 0a 20 20 20 20 20 20 ==.$backtrace[$i]['type'].......
180c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 21 69 73 73 65 74 28 24 62 61 63 ..................&&.!isset($bac
180e0 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 63 6c 61 73 73 27 5d 29 0a 20 20 20 20 20 20 20 ktrace[$i.-.1]['class'])........
18100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 28 27 74 72 69 67 67 65 72 5f 65 72 .................&&.('trigger_er
18120 72 6f 72 27 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 ror'.===.$backtrace[$i.-.1]['fun
18140 63 74 69 6f 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 ction'].||.'user_error'.===.$bac
18160 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 0a 20 20 20 20 ktrace[$i.-.1]['function']).....
18180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ................).{.............
181a0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 48 65 72 65 2c 20 77 65 20 6b 6e 6f 77 20 74 72 69 ............//.Here,.we.know.tri
181c0 67 67 65 72 5f 65 72 72 6f 72 28 29 20 68 61 73 20 62 65 65 6e 20 63 61 6c 6c 65 64 20 66 72 6f gger_error().has.been.called.fro
181e0 6d 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m.__toString()..................
18200 20 20 20 20 20 20 20 20 2f 2f 20 48 48 56 4d 20 69 73 20 66 69 6e 65 20 77 69 74 68 20 74 68 72 ........//.HHVM.is.fine.with.thr
18220 6f 77 69 6e 67 20 66 72 6f 6d 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 20 62 75 74 20 50 48 50 20 owing.from.__toString().but.PHP.
18240 74 72 69 67 67 65 72 73 20 61 20 66 61 74 61 6c 20 65 72 72 6f 72 20 69 6e 73 74 65 61 64 2e 0a triggers.a.fatal.error.instead..
18260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 20 73 6d 61 ........................//.A.sma
18280 6c 6c 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 77 6f 72 6b 69 6e 67 20 61 72 6f ll.convention.allows.working.aro
182a0 75 6e 64 20 74 68 65 20 6c 69 6d 69 74 61 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 und.the.limitation:.............
182c0 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 67 69 76 65 6e 20 61 20 63 61 75 67 68 74 20 24 65 ............//.given.a.caught.$e
182e0 20 65 78 63 65 70 74 69 6f 6e 20 69 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 2c 20 71 75 69 74 .exception.in.__toString(),.quit
18300 74 69 6e 67 20 74 68 65 20 6d 65 74 68 6f 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 ting.the.method.with............
18320 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 60 72 65 74 75 72 6e 20 74 72 69 67 67 65 72 5f .............//.`return.trigger_
18340 65 72 72 6f 72 28 24 65 2c 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 29 3b 60 20 61 6c 6c 6f 77 73 error($e,.E_USER_ERROR);`.allows
18360 20 74 68 69 73 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 .this.error.handler.............
18380 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 20 6d 61 6b 65 20 24 65 20 67 65 74 20 74 68 ............//.to.make.$e.get.th
183a0 72 6f 75 67 68 20 74 68 65 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 20 62 61 72 72 69 65 72 2e 0a rough.the.__toString().barrier..
183c0 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 66 6f 72 65 61 63 68 .........................foreach
183e0 20 28 24 63 6f 6e 74 65 78 74 20 61 73 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .($context.as.$e).{.............
18400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 24 65 20 69 6e 73 74 61 6e 63 65 ................if.(($e.instance
18420 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e 20 7c 7c 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c of.\Exception.||.$e.instanceof.\
18440 54 68 72 6f 77 61 62 6c 65 29 20 26 26 20 24 65 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 20 3d Throwable).&&.$e->__toString().=
18460 3d 3d 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ==.$message).{..................
18480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 31 20 3d 3d 3d 20 24 69 29 20 7b 0a 20 ...............if.(1.===.$i).{..
184a0 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 20 ................................
184c0 20 20 20 2f 2f 20 4f 6e 20 48 48 56 4d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...//.On.HHVM...................
184e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 72 6f 77 20 3d 20 24 65 3b 0a 20 ..................$throw.=.$e;..
18500 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 20 ................................
18520 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...break;.......................
18540 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 ..........}.....................
18560 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 ............self::$toStringExcep
18580 74 69 6f 6e 20 3d 20 24 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion.=.$e;......................
185a0 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;........
185c0 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 .....................}..........
185e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
18600 20 20 20 20 20 20 20 20 20 20 69 66 20 28 31 20 3c 20 24 69 29 20 7b 0a 20 20 20 20 20 20 20 20 ..........if.(1.<.$i).{.........
18620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4f 6e 20 50 48 50 20 28 6e ....................//.On.PHP.(n
18640 6f 74 20 6f 6e 20 48 48 56 4d 29 2c 20 64 69 73 70 6c 61 79 20 74 68 65 20 6f 72 69 67 69 6e 61 ot.on.HHVM),.display.the.origina
18660 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 64 l.error.message.instead.of.the.d
18680 65 66 61 75 6c 74 20 6f 6e 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 efault.one......................
186a0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 ........$this->handleException($
186c0 74 68 72 6f 77 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 throw);.........................
186e0 20 20 20 20 20 2f 2f 20 53 74 6f 70 20 74 68 65 20 70 72 6f 63 65 73 73 20 62 79 20 67 69 76 69 .....//.Stop.the.process.by.givi
18700 6e 67 20 62 61 63 6b 20 74 68 65 20 65 72 72 6f 72 20 74 6f 20 74 68 65 20 6e 61 74 69 76 65 20 ng.back.the.error.to.the.native.
18720 68 61 6e 64 6c 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 handler.........................
18740 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 20 20 .....return.false;..............
18760 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 ...........}....................
18780 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 .}.................}............
187a0 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 24 74 68 72 6f 77 3b 0a 20 20 .}..............throw.$throw;...
187c0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 46 6f 72 20 64 75 70 6c 69 63 61 74 ......}..........//.For.duplicat
187e0 65 64 20 65 72 72 6f 72 73 2c 20 6c 6f 67 20 74 68 65 20 74 72 61 63 65 20 6f 6e 6c 79 20 6f 6e ed.errors,.log.the.trace.only.on
18800 63 65 0a 20 20 20 20 20 20 20 20 24 65 20 3d 20 6d 64 35 28 22 7b 24 74 79 70 65 7d 2f 7b 24 6c ce.........$e.=.md5("{$type}/{$l
18820 69 6e 65 7d 2f 7b 24 66 69 6c 65 7d 5c 78 30 30 7b 24 6d 65 73 73 61 67 65 7d 22 2c 20 74 72 75 ine}/{$file}\x00{$message}",.tru
18840 65 29 3b 0a 20 20 20 20 20 20 20 20 24 74 72 61 63 65 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 e);.........$trace.=.true;......
18860 20 20 20 20 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 ....if.(!($this->tracedErrors.&.
18880 24 74 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 $type).||.isset($this->loggedTra
188a0 63 65 73 5b 24 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 72 61 63 65 20 3d ces[$e])).{.............$trace.=
188c0 20 66 61 6c 73 65 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 .false;.........}.else.{........
188e0 20 20 20 20 20 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 .....$this->loggedTraces[$e].=.1
18900 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 65 20 3d 20 63 6f 6d 70 61 63 ;.........}..........$e.=.compac
18920 74 28 27 74 79 70 65 27 2c 20 27 66 69 6c 65 27 2c 20 27 6c 69 6e 65 27 2c 20 27 6c 65 76 65 6c t('type',.'file',.'line',.'level
18940 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 29 ');..........if.($type.&.$level)
18960 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 .{.............if.($this->scoped
18980 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Errors.&.$type).{...............
189a0 20 20 24 65 5b 27 73 63 6f 70 65 5f 76 61 72 73 27 5d 20 3d 20 24 63 6f 6e 74 65 78 74 3b 0a 20 ..$e['scope_vars'].=.$context;..
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 72 61 63 65 29 20 7b 0a 20 20 20 ...............if.($trace).{....
189e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 24 .................$e['stack'].=.$
18a00 62 61 63 6b 74 72 61 63 65 20 3f 3a 20 64 65 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 44 45 42 backtrace.?:.debug_backtrace(DEB
18a20 55 47 5f 42 41 43 4b 54 52 41 43 45 5f 50 52 4f 56 49 44 45 5f 4f 42 4a 45 43 54 29 3b 0a 20 20 UG_BACKTRACE_PROVIDE_OBJECT);...
18a40 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 20 65 6c ..............}.............}.el
18a60 73 65 69 66 20 28 24 74 72 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 seif.($trace).{.................
18a80 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 20 20 20 20 20 if.(null.===.$backtrace).{......
18aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 64 65 62 ...............$e['stack'].=.deb
18ac0 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 49 47 4e ug_backtrace(DEBUG_BACKTRACE_IGN
18ae0 4f 52 45 5f 41 52 47 53 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 ORE_ARGS);.................}.els
18b00 65 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 e.{.....................foreach.
18b20 28 24 62 61 63 6b 74 72 61 63 65 20 61 73 20 26 24 66 72 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 ($backtrace.as.&$frame).{.......
18b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 ..................unset($frame['
18b60 61 72 67 73 27 5d 2c 20 24 66 72 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 args'],.$frame);................
18b80 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 24 65 5b 27 73 .....}.....................$e['s
18ba0 74 61 63 6b 27 5d 20 3d 20 24 62 61 63 6b 74 72 61 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 tack'].=.$backtrace;............
18bc0 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 0a 0a .....}.............}.........}..
18be0 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 29 20 ........if.($this->isRecursive).
18c00 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 67 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 {.............$log.=.0;.........
18c20 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 }.elseif.(self::$stackedErrorLev
18c40 65 6c 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 els).{.............self::$stacke
18c60 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 73 dErrors[].=.array($this->loggers
18c80 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 24 [$type][0],.($type.&.$level).?.$
18ca0 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 76 this->loggers[$type][1].:.LogLev
18cc0 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 20 20 20 20 20 20 el::DEBUG,.$message,.$e);.......
18ce0 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 ..}.else.{.............try.{....
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 .............$this->isRecursive.
18d20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c =.true;.................$this->l
18d40 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 2d 3e 6c 6f 67 28 28 24 74 79 70 65 20 26 20 24 oggers[$type][0]->log(($type.&.$
18d60 6c 65 76 65 6c 29 20 3f 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 level).?.$this->loggers[$type][1
18d80 5d 20 3a 20 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 ].:.LogLevel::DEBUG,.$message,.$
18da0 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 66 69 6e 61 6c 6c 79 20 7b 0a 20 20 20 20 e);.............}.finally.{.....
18dc0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 3d ............$this->isRecursive.=
18de0 20 66 61 6c 73 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 7d 0a .false;.............}.........}.
18e00 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 79 70 65 20 26 26 20 24 6c 6f 67 3b 0a 20 .........return.$type.&&.$log;..
18e20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 48 61 6e 64 6c 65 73 20 61 6e 20 ...}....../**......*.Handles.an.
18e40 65 78 63 65 70 74 69 6f 6e 20 62 79 20 6c 6f 67 67 69 6e 67 20 74 68 65 6e 20 66 6f 72 77 61 72 exception.by.logging.then.forwar
18e60 64 69 6e 67 20 69 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 68 61 6e 64 6c 65 72 2e 0a 20 20 20 20 ding.it.to.another.handler......
18e80 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 5c 45 78 63 65 70 74 69 6f 6e 7c 5c 54 68 72 .*......*.@param.\Exception|\Thr
18ea0 6f 77 61 62 6c 65 20 24 65 78 63 65 70 74 69 6f 6e 20 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 74 owable.$exception.An.exception.t
18ec0 6f 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 o.handle......*.@param.array....
18ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 20 20 20 20 20 41 6e 20 61 72 72 61 79 .............$error.....An.array
18f00 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 .as.returned.by.error_get_last()
18f20 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 69 6e 74 65 72 6e 61 6c 0a 20 20 20 20 20 2a 2f ......*......*.@internal......*/
18f40 0a 20 20 20 20 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 .....public.function.handleExcep
18f60 74 69 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 tion($exception,.array.$error.=.
18f80 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 65 78 63 65 70 74 null).....{.........if.(!$except
18fa0 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 20 20 20 ion.instanceof.\Exception).{....
18fc0 20 20 20 20 20 20 20 20 20 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 65 77 20 46 61 74 61 6c 54 .........$exception.=.new.FatalT
18fe0 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 20 20 20 20 20 hrowableError($exception);......
19000 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 20 ...}.........$type.=.$exception.
19020 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 74 69 6f 6e 20 3f instanceof.FatalErrorException.?
19040 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 20 3a 20 45 5f 45 .$exception->getSeverity().:.E_E
19060 52 52 4f 52 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 RROR;..........if.(($this->logge
19080 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7c 7c 20 24 65 78 63 65 70 74 69 6f 6e 20 69 dErrors.&.$type).||.$exception.i
190a0 6e 73 74 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 nstanceof.FatalThrowableError).{
190c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 .............$e.=.array(........
190e0 20 20 20 20 20 20 20 20 20 27 74 79 70 65 27 20 3d 3e 20 24 74 79 70 65 2c 0a 20 20 20 20 20 20 .........'type'.=>.$type,.......
19100 20 20 20 20 20 20 20 20 20 20 27 66 69 6c 65 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e ..........'file'.=>.$exception->
19120 67 65 74 46 69 6c 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6e 65 getFile(),.................'line
19140 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 20 20 20 20 '.=>.$exception->getLine(),.....
19160 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 65 76 65 6c 27 20 3d 3e 20 65 72 72 6f 72 5f 72 65 70 ............'level'.=>.error_rep
19180 6f 72 74 69 6e 67 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 74 61 63 6b orting(),.................'stack
191a0 27 20 3d 3e 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 20 20 20 '.=>.$exception->getTrace(),....
191c0 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 78 63 .........);.............if.($exc
191e0 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 45 78 63 65 eption.instanceof.FatalErrorExce
19200 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 78 ption).{.................if.($ex
19220 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c ception.instanceof.FatalThrowabl
19240 65 45 72 72 6f 72 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 65 eError).{.....................$e
19260 72 72 6f 72 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rror.=.array(...................
19280 20 20 20 20 20 20 27 74 79 70 65 27 20 3d 3e 20 24 74 79 70 65 2c 0a 20 20 20 20 20 20 20 20 20 ......'type'.=>.$type,..........
192a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 6d 65 73 ...............'message'.=>.$mes
192c0 73 61 67 65 20 3d 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 2c sage.=.$exception->getMessage(),
192e0 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 27 66 69 6c 65 27 20 .........................'file'.
19300 3d 3e 20 24 65 5b 27 66 69 6c 65 27 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =>.$e['file'],..................
19320 20 20 20 20 20 20 20 27 6c 69 6e 65 27 20 3d 3e 20 24 65 5b 27 6c 69 6e 65 27 5d 2c 0a 20 20 20 .......'line'.=>.$e['line'],....
19340 20 20 20 20 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 .................);.............
19360 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 20 20 20 20 ....}.else.{....................
19380 20 24 6d 65 73 73 61 67 65 20 3d 20 27 46 61 74 61 6c 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d .$message.=.'Fatal.'.$exception-
193a0 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d >getMessage();.................}
193c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 65 78 63 65 70 74 69 6f .............}.elseif.($exceptio
193e0 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a n.instanceof.\ErrorException).{.
19400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 27 55 6e 63 61 ................$message.=.'Unca
19420 75 67 68 74 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 ught.'.$exception->getMessage();
19440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 .................if.($exception.
19460 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e instanceof.ContextErrorException
19480 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 65 5b 27 63 6f 6e 74 ).{.....................$e['cont
194a0 65 78 74 27 5d 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6e 74 65 78 74 28 29 ext'].=.$exception->getContext()
194c0 3b 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 20 ;.................}.............
194e0 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 }.else.{.................$messag
19500 65 20 3d 20 27 55 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 3a 20 27 2e 24 65 78 63 65 e.=.'Uncaught.Exception:.'.$exce
19520 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ption->getMessage();............
19540 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e .}.........}.........if.($this->
19560 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 loggedErrors.&.$type).{.........
19580 20 20 20 20 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 6f ....$this->loggers[$type][0]->lo
195a0 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 5d 2c 20 24 6d 65 73 g($this->loggers[$type][1],.$mes
195c0 73 61 67 65 2c 20 24 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 sage,.$e);.........}.........if.
195e0 28 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 ($exception.instanceof.FatalErro
19600 72 45 78 63 65 70 74 69 6f 6e 20 26 26 20 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e rException.&&.!$exception.instan
19620 63 65 6f 66 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 72 ceof.OutOfMemoryException.&&.$er
19640 72 6f 72 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 ror).{.............foreach.($thi
19660 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 24 68 s->getFatalErrorHandlers().as.$h
19680 61 6e 64 6c 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 andler).{.................if.($e
196a0 20 3d 20 24 68 61 6e 64 6c 65 72 2d 3e 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 65 72 72 6f 72 2c .=.$handler->handleError($error,
196c0 20 24 65 78 63 65 70 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$exception)).{.................
196e0 20 20 20 20 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 24 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ....$exception.=.$e;............
19700 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........break;.................
19720 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 0a 20 20 20 20 20 20 }.............}.........}.......
19740 20 20 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 ..if.(empty($this->exceptionHand
19760 6c 65 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 24 65 78 63 65 70 ler)).{.............throw.$excep
19780 74 69 6f 6e 3b 20 2f 2f 20 47 69 76 65 20 62 61 63 6b 20 24 65 78 63 65 70 74 69 6f 6e 20 74 6f tion;.//.Give.back.$exception.to
197a0 20 74 68 65 20 6e 61 74 69 76 65 20 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 .the.native.handler.........}...
197c0 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 5f 75 73 65 ......try.{.............call_use
197e0 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 2c 20 r_func($this->exceptionHandler,.
19800 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 45 $exception);.........}.catch.(\E
19820 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 20 20 xception.$handlerException).{...
19840 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 68 61 6e 64 6c ......}.catch.(\Throwable.$handl
19860 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 erException).{.........}........
19880 20 69 66 20 28 69 73 73 65 74 28 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 29 20 7b .if.(isset($handlerException)).{
198a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e .............$this->exceptionHan
198c0 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e dler.=.null;.............$this->
198e0 68 61 6e 64 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 handleException($handlerExceptio
19900 6e 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 2a 2a 0a 20 20 20 n);.........}.....}....../**....
19920 20 20 2a 20 53 68 75 74 64 6f 77 6e 20 72 65 67 69 73 74 65 72 65 64 20 66 75 6e 63 74 69 6f 6e ..*.Shutdown.registered.function
19940 20 66 6f 72 20 68 61 6e 64 6c 69 6e 67 20 50 48 50 20 66 61 74 61 6c 20 65 72 72 6f 72 73 2e 0a .for.handling.PHP.fatal.errors..
19960 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 65 72 72 6f .....*......*.@param.array.$erro
19980 72 20 41 6e 20 61 72 72 61 79 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 65 72 72 6f 72 5f r.An.array.as.returned.by.error_
199a0 67 65 74 5f 6c 61 73 74 28 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 69 6e 74 65 72 6e get_last()......*......*.@intern
199c0 61 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e al......*/.....public.static.fun
199e0 63 74 69 6f 6e 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 ction.handleFatalError(array.$er
19a00 72 6f 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 ror.=.null).....{.........if.(nu
19a20 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 29 20 7b 0a ll.===.self::$reservedMemory).{.
19a40 20 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 ............return;.........}...
19a60 20 20 20 20 20 20 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 .......self::$reservedMemory.=.n
19a80 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 20 3d 20 73 65 74 5f 65 72 72 ull;..........$handler.=.set_err
19aa0 6f 72 5f 68 61 6e 64 6c 65 72 28 27 76 61 72 5f 64 75 6d 70 27 29 3b 0a 20 20 20 20 20 20 20 20 or_handler('var_dump');.........
19ac0 24 68 61 6e 64 6c 65 72 20 3d 20 69 73 5f 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 29 20 3f 20 $handler.=.is_array($handler).?.
19ae0 24 68 61 6e 64 6c 65 72 5b 30 5d 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 72 65 73 74 $handler[0].:.null;.........rest
19b00 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 ore_error_handler();..........if
19b20 20 28 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 29 20 7b 0a 20 .(!$handler.instanceof.self).{..
19b40 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;.........}....
19b60 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 20 20 20 ......if.(null.===.$error).{....
19b80 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 .........$error.=.error_get_last
19ba0 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 ();.........}..........try.{....
19bc0 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 .........while.(self::$stackedEr
19be0 72 6f 72 4c 65 76 65 6c 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 rorLevels).{.................sta
19c00 74 69 63 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 tic::unstackErrors();...........
19c20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 ..}.........}.catch.(\Exception.
19c40 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 48 61 6e $exception).{.............//.Han
19c60 64 6c 65 64 20 62 65 6c 6f 77 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 54 68 72 dled.below.........}.catch.(\Thr
19c80 6f 77 61 62 6c 65 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 owable.$exception).{............
19ca0 20 2f 2f 20 48 61 6e 64 6c 65 64 20 62 65 6c 6f 77 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 .//.Handled.below.........}.....
19cc0 20 20 20 20 20 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 .....if.($error.&&.$error['type'
19ce0 5d 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 ].&=.E_PARSE.|.E_ERROR.|.E_CORE_
19d00 45 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 20 20 20 20 20 ERROR.|.E_COMPILE_ERROR).{......
19d20 20 20 20 20 20 20 20 2f 2f 20 4c 65 74 27 73 20 6e 6f 74 20 74 68 72 6f 77 20 61 6e 79 6d 6f 72 .......//.Let's.not.throw.anymor
19d40 65 20 62 75 74 20 6b 65 65 70 20 6c 6f 67 67 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 e.but.keep.logging.............$
19d60 68 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 41 74 28 30 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 handler->throwAt(0,.true);......
19d80 20 20 20 20 20 20 20 24 74 72 61 63 65 20 3d 20 69 73 73 65 74 28 24 65 72 72 6f 72 5b 27 62 61 .......$trace.=.isset($error['ba
19da0 63 6b 74 72 61 63 65 27 5d 29 20 3f 20 24 65 72 72 6f 72 5b 27 62 61 63 6b 74 72 61 63 65 27 5d cktrace']).?.$error['backtrace']
19dc0 20 3a 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 .:.null;..............if.(0.===.
19de0 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 41 6c 6c 6f 77 strpos($error['message'],.'Allow
19e00 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 28 24 65 72 72 ed.memory').||.0.===.strpos($err
19e20 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 72 79 27 29 29 or['message'],.'Out.of.memory'))
19e40 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 .{.................$exception.=.
19e60 6e 65 77 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 6c 65 new.OutOfMemoryException($handle
19e80 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 2e 24 r->levels[$error['type']].':.'.$
19ea0 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 79 70 error['message'],.0,.$error['typ
19ec0 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 69 6e e'],.$error['file'],.$error['lin
19ee0 65 27 5d 2c 20 32 2c 20 66 61 6c 73 65 2c 20 24 74 72 61 63 65 29 3b 0a 20 20 20 20 20 20 20 20 e'],.2,.false,.$trace);.........
19f00 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 20 24 65 78 ....}.else.{.................$ex
19f20 63 65 70 74 69 6f 6e 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 ception.=.new.FatalErrorExceptio
19f40 6e 28 24 68 61 6e 64 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 n($handler->levels[$error['type'
19f60 5d 5d 2e 27 3a 20 27 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 ]].':.'.$error['message'],.0,.$e
19f80 72 72 6f 72 5b 27 74 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 rror['type'],.$error['file'],.$e
19fa0 72 72 6f 72 5b 27 6c 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 rror['line'],.2,.true,.$trace);.
19fc0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 ............}.........}.elseif.(
19fe0 21 69 73 73 65 74 28 24 65 78 63 65 70 74 69 6f 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 !isset($exception)).{...........
1a000 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 74 72 79 ..return;.........}..........try
1a020 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 68 61 6e 64 6c 65 72 2d 3e 68 61 6e 64 6c 65 45 .{.............$handler->handleE
1a040 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 29 3b 0a 20 20 xception($exception,.$error);...
1a060 20 20 20 20 20 20 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 ......}.catch.(FatalErrorExcepti
1a080 6f 6e 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 67 6e 6f 72 65 20 74 on.$e).{.............//.Ignore.t
1a0a0 68 69 73 20 72 65 2d 74 68 72 6f 77 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 his.re-throw.........}.....}....
1a0c0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 66 69 67 75 72 65 73 20 74 68 65 20 65 72 72 6f ../**......*.Configures.the.erro
1a0e0 72 20 68 61 6e 64 6c 65 72 20 66 6f 72 20 64 65 6c 61 79 65 64 20 68 61 6e 64 6c 69 6e 67 2e 0a r.handler.for.delayed.handling..
1a100 20 20 20 20 20 2a 20 45 6e 73 75 72 65 73 20 61 6c 73 6f 20 74 68 61 74 20 6e 6f 6e 2d 63 61 74 .....*.Ensures.also.that.non-cat
1a120 63 68 61 62 6c 65 20 66 61 74 61 6c 20 65 72 72 6f 72 73 20 61 72 65 20 6e 65 76 65 72 20 73 69 chable.fatal.errors.are.never.si
1a140 6c 65 6e 63 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 41 73 20 73 68 6f 77 6e 20 62 lenced.......*......*.As.shown.b
1a160 79 20 68 74 74 70 3a 2f 2f 62 75 67 73 2e 70 68 70 2e 6e 65 74 2f 34 32 30 39 38 20 61 6e 64 20 y.http://bugs.php.net/42098.and.
1a180 68 74 74 70 3a 2f 2f 62 75 67 73 2e 70 68 70 2e 6e 65 74 2f 36 30 37 32 34 0a 20 20 20 20 20 2a http://bugs.php.net/60724......*
1a1a0 20 50 48 50 20 68 61 73 20 61 20 63 6f 6d 70 69 6c 65 20 73 74 61 67 65 20 77 68 65 72 65 20 69 .PHP.has.a.compile.stage.where.i
1a1c0 74 20 62 65 68 61 76 65 73 20 75 6e 75 73 75 61 6c 6c 79 2e 20 54 6f 20 77 6f 72 6b 61 72 6f 75 t.behaves.unusually..To.workarou
1a1e0 6e 64 20 69 74 2c 0a 20 20 20 20 20 2a 20 77 65 20 70 6c 75 67 20 61 6e 20 65 72 72 6f 72 20 68 nd.it,......*.we.plug.an.error.h
1a200 61 6e 64 6c 65 72 20 74 68 61 74 20 6f 6e 6c 79 20 73 74 61 63 6b 73 20 65 72 72 6f 72 73 20 66 andler.that.only.stacks.errors.f
1a220 6f 72 20 6c 61 74 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 6d 6f 73 74 or.later.......*......*.The.most
1a240 20 69 6d 70 6f 72 74 61 6e 74 20 66 65 61 74 75 72 65 20 6f 66 20 74 68 69 73 20 69 73 20 74 6f .important.feature.of.this.is.to
1a260 20 70 72 65 76 65 6e 74 0a 20 20 20 20 20 2a 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 75 6e 74 69 .prevent......*.autoloading.unti
1a280 6c 20 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 20 l.unstackErrors().is.called.....
1a2a0 20 20 2a 2f 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 ..*/.....public.static.function.
1a2c0 73 74 61 63 6b 45 72 72 6f 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 stackErrors().....{.........self
1a2e0 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 5b 5d 20 3d 20 65 72 72 6f 72 5f ::$stackedErrorLevels[].=.error_
1a300 72 65 70 6f 72 74 69 6e 67 28 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 20 7c 20 45 5f reporting(error_reporting().|.E_
1a320 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 52 20 7c PARSE.|.E_ERROR.|.E_CORE_ERROR.|
1a340 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a .E_COMPILE_ERROR);.....}....../*
1a360 2a 0a 20 20 20 20 20 2a 20 55 6e 73 74 61 63 6b 73 20 73 74 61 63 6b 65 64 20 65 72 72 6f 72 73 *......*.Unstacks.stacked.errors
1a380 20 61 6e 64 20 66 6f 72 77 61 72 64 73 20 74 6f 20 74 68 65 20 6c 6f 67 67 65 72 2e 0a 20 20 20 .and.forwards.to.the.logger.....
1a3a0 20 20 2a 2f 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 ..*/.....public.static.function.
1a3c0 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6c unstackErrors().....{.........$l
1a3e0 65 76 65 6c 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 evel.=.array_pop(self::$stackedE
1a400 72 72 6f 72 4c 65 76 65 6c 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 rrorLevels);..........if.(null.!
1a420 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 20 3d 20 65 72 ==.$level).{.............$e.=.er
1a440 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 6c 65 76 65 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 ror_reporting($level);..........
1a460 20 20 20 69 66 20 28 24 65 20 21 3d 3d 20 28 24 6c 65 76 65 6c 20 7c 20 45 5f 50 41 52 53 45 20 ...if.($e.!==.($level.|.E_PARSE.
1a480 7c 20 45 5f 45 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 |.E_ERROR.|.E_CORE_ERROR.|.E_COM
1a4a0 50 49 4c 45 5f 45 52 52 4f 52 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f PILE_ERROR)).{................./
1a4c0 2f 20 49 66 20 74 68 65 20 75 73 65 72 20 63 68 61 6e 67 65 64 20 74 68 65 20 65 72 72 6f 72 20 /.If.the.user.changed.the.error.
1a4e0 6c 65 76 65 6c 2c 20 64 6f 20 6e 6f 74 20 6f 76 65 72 77 72 69 74 65 20 69 74 0a 20 20 20 20 20 level,.do.not.overwrite.it......
1a500 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 65 29 3b 0a ...........error_reporting($e);.
1a520 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 ............}.........}.........
1a540 20 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 .if.(empty(self::$stackedErrorLe
1a560 76 65 6c 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 73 20 3d 20 73 vels)).{.............$errors.=.s
1a580 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 elf::$stackedErrors;............
1a5a0 20 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b .self::$stackedErrors.=.array();
1a5c0 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 65 72 72 6f 72 73 20 61 ..............foreach.($errors.a
1a5e0 73 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 5b 30 5d 2d 3e 6c s.$e).{.................$e[0]->l
1a600 6f 67 28 24 65 5b 31 5d 2c 20 24 65 5b 32 5d 2c 20 24 65 5b 33 5d 29 3b 0a 20 20 20 20 20 20 20 og($e[1],.$e[2],.$e[3]);........
1a620 20 20 20 20 20 7d 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 .....}.........}.....}....../**.
1a640 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 66 61 74 61 6c 20 65 72 72 6f 72 20 68 61 6e 64 .....*.Gets.the.fatal.error.hand
1a660 6c 65 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 4f 76 65 72 72 69 64 65 20 74 68 69 lers.......*......*.Override.thi
1a680 73 20 6d 65 74 68 6f 64 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 65 66 69 6e 65 20 6d s.method.if.you.want.to.define.m
1a6a0 6f 72 65 20 66 61 74 61 6c 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 72 73 2e 0a 20 20 20 20 20 2a ore.fatal.error.handlers.......*
1a6c0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 ......*.@return.FatalErrorHandle
1a6e0 72 49 6e 74 65 72 66 61 63 65 5b 5d 20 41 6e 20 61 72 72 61 79 20 6f 66 20 46 61 74 61 6c 45 72 rInterface[].An.array.of.FatalEr
1a700 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 rorHandlerInterface......*/.....
1a720 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 74 61 6c 45 72 72 6f 72 protected.function.getFatalError
1a740 48 61 6e 64 6c 65 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 Handlers().....{.........return.
1a760 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 array(.............new.Undefined
1a780 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 28 29 2c 0a 20 20 20 FunctionFatalErrorHandler(),....
1a7a0 20 20 20 20 20 20 20 20 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 .........new.UndefinedMethodFata
1a7c0 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 lErrorHandler(),.............new
1a7e0 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 72 28 .ClassNotFoundFatalErrorHandler(
1a800 29 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a ),.........);.....}.}.<?php../*.
1a820 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 .*.This.file.is.part.of.the.Symf
1a840 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f ony.package...*..*.(c).Fabien.Po
1a860 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 6f 6d 3e 0a 20 2a 0a tencier.<fabien@symfony.com>..*.
1a880 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
1a8a0 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
1a8c0 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
1a8e0 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...
1a900 2a 2f 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\
1a920 44 65 62 75 67 3b 0a 0a 2f 2a 2a 0a 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 6c 6c 20 74 68 65 Debug;../**..*.Registers.all.the
1a940 20 64 65 62 75 67 20 74 6f 6f 6c 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 .debug.tools...*..*.@author.Fabi
1a960 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 6f 6d en.Potencier.<fabien@symfony.com
1a980 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 44 65 62 75 67 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 >..*/.class.Debug.{.....private.
1a9a0 73 74 61 74 69 63 20 24 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 2f 2a static.$enabled.=.false;....../*
1a9c0 2a 0a 20 20 20 20 20 2a 20 45 6e 61 62 6c 65 73 20 74 68 65 20 64 65 62 75 67 20 74 6f 6f 6c 73 *......*.Enables.the.debug.tools
1a9e0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 72 65 67 69 .......*......*.This.method.regi
1aa00 73 74 65 72 73 20 61 6e 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 72 20 61 6e 64 20 61 6e 20 65 78 sters.an.error.handler.and.an.ex
1aa20 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 49 ception.handler.......*......*.I
1aa40 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 43 6c 61 73 73 4c 6f 61 64 65 72 20 63 6f 6d 70 6f 6e f.the.Symfony.ClassLoader.compon
1aa60 65 6e 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 61 20 73 70 65 63 69 61 6c 0a 20 20 20 20 ent.is.available,.a.special.....
1aa80 20 2a 20 63 6c 61 73 73 20 6c 6f 61 64 65 72 20 69 73 20 61 6c 73 6f 20 72 65 67 69 73 74 65 72 .*.class.loader.is.also.register
1aaa0 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 69 6e 74 20 20 24 65 ed.......*......*.@param.int..$e
1aac0 72 72 6f 72 52 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 20 54 68 65 20 6c 65 76 65 6c 20 6f 66 20 rrorReportingLevel.The.level.of.
1aae0 65 72 72 6f 72 20 72 65 70 6f 72 74 69 6e 67 20 79 6f 75 20 77 61 6e 74 0a 20 20 20 20 20 2a 20 error.reporting.you.want......*.
1ab00 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 20 20 20 20 20 @param.bool.$displayErrors......
1ab20 20 57 68 65 74 68 65 72 20 74 6f 20 64 69 73 70 6c 61 79 20 65 72 72 6f 72 73 20 28 66 6f 72 20 .Whether.to.display.errors.(for.
1ab40 64 65 76 65 6c 6f 70 6d 65 6e 74 29 20 6f 72 20 6a 75 73 74 20 6c 6f 67 20 74 68 65 6d 20 28 66 development).or.just.log.them.(f
1ab60 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 or.production)......*/.....publi
1ab80 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 28 24 65 72 72 6f 72 52 c.static.function.enable($errorR
1aba0 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 20 3d 20 45 5f 41 4c 4c 2c 20 24 64 69 73 70 6c 61 79 45 eportingLevel.=.E_ALL,.$displayE
1abc0 72 72 6f 72 73 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 rrors.=.true).....{.........if.(
1abe0 73 74 61 74 69 63 3a 3a 24 65 6e 61 62 6c 65 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 static::$enabled).{.............
1ac00 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 74 61 74 69 return;.........}..........stati
1ac20 63 3a 3a 24 65 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 c::$enabled.=.true;..........if.
1ac40 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 65 6c 29 20 (null.!==.$errorReportingLevel).
1ac60 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 65 {.............error_reporting($e
1ac80 72 72 6f 72 52 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 rrorReportingLevel);.........}.e
1aca0 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e lse.{.............error_reportin
1acc0 67 28 45 5f 41 4c 4c 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 g(E_ALL);.........}..........if.
1ace0 28 27 63 6c 69 27 20 21 3d 3d 20 50 48 50 5f 53 41 50 49 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ('cli'.!==.PHP_SAPI).{..........
1ad00 20 20 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 30 29 3b ...ini_set('display_errors',.0);
1ad20 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3a 3a 72 .............ExceptionHandler::r
1ad40 65 67 69 73 74 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 64 69 egister();.........}.elseif.($di
1ad60 73 70 6c 61 79 45 72 72 6f 72 73 20 26 26 20 28 21 69 6e 69 5f 67 65 74 28 27 6c 6f 67 5f 65 72 splayErrors.&&.(!ini_get('log_er
1ad80 72 6f 72 73 27 29 20 7c 7c 20 69 6e 69 5f 67 65 74 28 27 65 72 72 6f 72 5f 6c 6f 67 27 29 29 29 rors').||.ini_get('error_log')))
1ada0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 4c 49 20 2d 20 64 69 73 70 6c 61 79 20 .{.............//.CLI.-.display.
1adc0 65 72 72 6f 72 73 20 6f 6e 6c 79 20 69 66 20 74 68 65 79 27 72 65 20 6e 6f 74 20 61 6c 72 65 61 errors.only.if.they're.not.alrea
1ade0 64 79 20 6c 6f 67 67 65 64 20 74 6f 20 53 54 44 45 52 52 0a 20 20 20 20 20 20 20 20 20 20 20 20 dy.logged.to.STDERR.............
1ae00 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 20 20 ini_set('display_errors',.1);...
1ae20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 69 73 70 6c 61 79 45 72 72 6f ......}.........if.($displayErro
1ae40 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a rs).{.............ErrorHandler::
1ae60 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
1ae80 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 fferingLogger()));.........}.els
1aea0 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 72 65 e.{.............ErrorHandler::re
1aec0 67 69 73 74 65 72 28 29 2d 3e 74 68 72 6f 77 41 74 28 30 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 gister()->throwAt(0,.true);.....
1aee0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 3a ....}..........DebugClassLoader:
1af00 3a 65 6e 61 62 6c 65 28 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 :enable();.....}.}.<?php../*..*.
1af20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 This.file.is.part.of.the.Symfony
1af40 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e .package...*..*.(c).Fabien.Poten
1af60 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 cier.<fabien@symfony.com>..*..*.
1af80 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 63 65 6e For.the.full.copyright.and.licen
1afa0 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 68 65 20 se.information,.please.view.the.
1afc0 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 72 69 62 LICENSE..*.file.that.was.distrib
1afe0 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 2a 2f 0a uted.with.this.source.code...*/.
1b000 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 65 62 .namespace.Symfony\Component\Deb
1b020 75 67 5c 46 61 74 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 ug\FatalErrorHandler;..use.Symfo
1b040 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 55 6e 64 ny\Component\Debug\Exception\Und
1b060 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d efinedFunctionException;.use.Sym
1b080 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
1b0a0 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 45 72 72 6f atalErrorException;../**..*.Erro
1b0c0 72 48 61 6e 64 6c 65 72 20 66 6f 72 20 75 6e 64 65 66 69 6e 65 64 20 66 75 6e 63 74 69 6f 6e 73 rHandler.for.undefined.functions
1b0e0 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 ...*..*.@author.Fabien.Potencier
1b100 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 .<fabien@symfony.com>..*/.class.
1b120 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 72 48 61 6e 64 6c UndefinedFunctionFatalErrorHandl
1b140 65 72 20 69 6d 70 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 er.implements.FatalErrorHandlerI
1b160 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 nterface.{...../**......*.{@inhe
1b180 72 69 74 64 6f 63 7d 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 ritdoc}......*/.....public.funct
1b1a0 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 ion.handleError(array.$error,.Fa
1b1c0 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 20 20 talErrorException.$exception)...
1b1e0 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 4c 65 6e 20 3d 20 73 74 72 6c 65 6e ..{.........$messageLen.=.strlen
1b200 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 24 6e 6f ($error['message']);.........$no
1b220 74 46 6f 75 6e 64 53 75 66 66 69 78 20 3d 20 27 28 29 27 3b 0a 20 20 20 20 20 20 20 20 24 6e 6f tFoundSuffix.=.'()';.........$no
1b240 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6e 6f 74 46 6f 75 tFoundSuffixLen.=.strlen($notFou
1b260 6e 64 53 75 66 66 69 78 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 6f 74 46 6f 75 6e 64 ndSuffix);.........if.($notFound
1b280 53 75 66 66 69 78 4c 65 6e 20 3e 20 24 6d 65 73 73 61 67 65 4c 65 6e 29 20 7b 0a 20 20 20 20 20 SuffixLen.>.$messageLen).{......
1b2a0 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 20 20 20 20 .......return;.........}........
1b2c0 20 20 69 66 20 28 30 20 21 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 65 72 72 6f ..if.(0.!==.substr_compare($erro
1b2e0 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 2c 20 2d r['message'],.$notFoundSuffix,.-
1b300 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 $notFoundSuffixLen)).{..........
1b320 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 70 ...return;.........}..........$p
1b340 72 65 66 69 78 20 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 refix.=.'Call.to.undefined.funct
1b360 69 6f 6e 20 27 3b 0a 20 20 20 20 20 20 20 20 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 73 74 72 6c ion.';.........$prefixLen.=.strl
1b380 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 30 20 21 3d 3d 20 73 en($prefix);.........if.(0.!==.s
1b3a0 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 70 72 65 66 69 78 trpos($error['message'],.$prefix
1b3c0 29 29 20 7b 0a 20 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 )).{.............return;........
1b3e0 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 .}..........$fullyQualifiedFunct
1b400 69 6f 6e 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 ionName.=.substr($error['message
1b420 27 5d 2c 20 24 70 72 65 66 69 78 4c 65 6e 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 '],.$prefixLen,.-$notFoundSuffix
1b440 4c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6e 61 6d Len);.........if.(false.!==.$nam
1b460 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 24 espaceSeparatorIndex.=.strrpos($
1b480 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 27 5c 5c 27 fullyQualifiedFunctionName,.'\\'
1b4a0 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 20 3d )).{.............$functionName.=
1b4c0 20 73 75 62 73 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 .substr($fullyQualifiedFunctionN
1b4e0 61 6d 65 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 20 2b 20 ame,.$namespaceSeparatorIndex.+.
1b500 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 1);.............$namespacePrefix
1b520 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 46 75 6e 63 74 69 6f .=.substr($fullyQualifiedFunctio
1b540 6e 4e 61 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 nName,.0,.$namespaceSeparatorInd
1b560 65 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 ex);.............$message.=.spri
1b580 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 6f 6e 20 ntf('Attempted.to.call.function.
1b5a0 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 66 75 6e "%s".from.namespace."%s".',.$fun
1b5c0 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 0a 20 20 ctionName,.$namespacePrefix);...
1b5e0 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 24 66 75 6e 63 ......}.else.{.............$func
1b600 74 69 6f 6e 4e 61 6d 65 20 3d 20 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 tionName.=.$fullyQualifiedFuncti
1b620 6f 6e 4e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 73 onName;.............$message.=.s
1b640 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
1b660 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 70 61 63 on."%s".from.the.global.namespac
1b680 65 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a e.',.$functionName);.........}..
1b6a0 20 20 20 20 20 20 20 20 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 ........$candidates.=.array();..
1b6c0 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 67 65 74 5f 64 65 66 69 6e 65 64 5f 66 75 6e 63 .......foreach.(get_defined_func
1b6e0 74 69 6f 6e 73 28 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 64 65 66 69 6e 65 64 46 75 6e 63 tions().as.$type.=>.$definedFunc
1b700 74 69 6f 6e 4e 61 6d 65 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 tionNames).{.............foreach
1b720 20 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 .($definedFunctionNames.as.$defi
1b740 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nedFunctionName).{..............
1b760 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 ...if.(false.!==.$namespaceSepar
1b780 61 74 6f 72 49 6e 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 24 64 65 66 69 6e 65 64 46 75 6e 63 atorIndex.=.strrpos($definedFunc
1b7a0 74 69 6f 6e 4e 61 6d 65 2c 20 27 5c 5c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tionName,.'\\')).{..............
1b7c0 20 20 20 20 20 20 20 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 .......$definedFunctionNameBasen
1b7e0 61 6d 65 20 3d 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 ame.=.substr($definedFunctionNam
1b800 65 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 20 2b 20 31 29 e,.$namespaceSeparatorIndex.+.1)
1b820 3b 0a 20 20 20 20 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 ;.................}.else.{......
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e ...............$definedFunctionN
1b860 61 6d 65 42 61 73 65 6e 61 6d 65 20 3d 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 ameBasename.=.$definedFunctionNa
1b880 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 me;.................}...........
1b8a0 20 20 20 20 20 20 20 69 66 20 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 42 .......if.($definedFunctionNameB
1b8c0 61 73 65 6e 61 6d 65 20 3d 3d 3d 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 20 7b 0a 20 20 20 asename.===.$functionName).{....
1b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 61 6e 64 69 64 61 74 65 73 5b 5d 20 3d .................$candidates[].=
1b900 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 20 20 20 20 .'\\'.$definedFunctionName;.....
1b920 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 ............}.............}.....
1b940 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 ....}..........if.($candidates).
1b960 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 72 74 28 24 63 61 6e 64 69 64 61 74 65 73 29 3b {.............sort($candidates);
1b980 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 .............$last.=.array_pop($
1b9a0 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 3f 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 candidates).'"?';.............if
1b9c0 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .($candidates).{................
1b9e0 20 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 64 65 28 .$candidates.=.'e.g.."'.implode(
1ba00 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 2e 24 6c '",."',.$candidates).'".or."'.$l
1ba20 61 73 74 3b 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 ast;.............}.else.{.......
1ba40 20 20 20 20 20 20 20 20 20 20 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 22 27 2e 24 6c 61 73 ..........$candidates.=.'"'.$las
1ba60 74 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 6d 65 t;.............}.............$me
1ba80 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
1baa0 20 22 2e 24 63 61 6e 64 69 64 61 74 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 .".$candidates;.........}.......
1bac0 20 20 20 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 ...return.new.UndefinedFunctionE
1bae0 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 69 6f 6e 29 3b 0a xception($message,.$exception);.
1bb00 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 ....}.}.<?php../*..*.This.file.i
1bb20 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 s.part.of.the.Symfony.package...
1bb40 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 *..*.(c).Fabien.Potencier.<fabie
1bb60 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c n@symfony.com>..*..*.For.the.ful
1bb80 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 l.copyright.and.license.informat
1bba0 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 ion,.please.view.the.LICENSE..*.
1bbc0 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 file.that.was.distributed.with.t
1bbe0 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 his.source.code...*/..namespace.
1bc00 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 72 Symfony\Component\Debug\FatalErr
1bc20 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 65 6e orHandler;..use.Symfony\Componen
1bc40 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 63 65 t\Debug\Exception\FatalErrorExce
1bc60 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 44 65 62 ption;.use.Symfony\Component\Deb
1bc80 75 67 5c 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 ug\Exception\UndefinedMethodExce
1bca0 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 20 66 6f 72 20 ption;../**..*.ErrorHandler.for.
1bcc0 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 undefined.methods...*..*.@author
1bce0 20 47 72 c3 a9 67 6f 69 72 65 20 50 69 6e 65 61 75 20 3c 6c 79 72 69 78 78 40 6c 79 72 69 78 78 .Gr..goire.Pineau.<lyrixx@lyrixx
1bd00 2e 69 6e 66 6f 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 .info>..*/.class.UndefinedMethod
1bd20 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 46 61 74 FatalErrorHandler.implements.Fat
1bd40 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 20 20 20 20 2f 2a alErrorHandlerInterface.{...../*
1bd60 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 *......*.{@inheritdoc}......*/..
1bd80 20 20 20 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 ...public.function.handleError(a
1bda0 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 70 74 69 6f 6e rray.$error,.FatalErrorException
1bdc0 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 72 65 67 5f .$exception).....{.........preg_
1bde0 6d 61 74 63 68 28 27 2f 5e 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f match('/^Call.to.undefined.metho
1be00 64 20 28 2e 2a 29 3a 3a 28 2e 2a 29 5c 28 5c 29 24 2f 27 2c 20 24 65 72 72 6f 72 5b 27 6d 65 73 d.(.*)::(.*)\(\)$/',.$error['mes
1be20 73 61 67 65 27 5d 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 sage'],.$matches);.........if.(!
1be40 24 6d 61 74 63 68 65 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a $matches).{.............return;.
1be60 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 ........}..........$className.=.
1be80 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 24 6d 65 74 68 6f 64 4e 61 6d 65 $matches[1];.........$methodName
1bea0 20 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 3b 0a 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 .=.$matches[2];..........$messag
1bec0 65 20 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 61 e.=.sprintf('Attempted.to.call.a
1bee0 6e 20 75 6e 64 65 66 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 n.undefined.method.named."%s".of
1bf00 20 63 6c 61 73 73 20 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 .class."%s".',.$methodName,.$cla
1bf20 73 73 4e 61 6d 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 ssName);..........$candidates.=.
1bf40 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 67 65 74 5f 63 6c array();.........foreach.(get_cl
1bf60 61 73 73 5f 6d 65 74 68 6f 64 73 28 24 63 6c 61 73 73 4e 61 6d 65 29 20 61 73 20 24 64 65 66 69 ass_methods($className).as.$defi
1bf80 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 nedMethodName).{.............$le
1bfa0 76 20 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 v.=.levenshtein($methodName,.$de
1bfc0 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 finedMethodName);.............if
1bfe0 20 28 24 6c 65 76 20 3c 3d 20 73 74 72 6c 65 6e 28 24 6d 65 74 68 6f 64 4e 61 6d 65 29 20 2f 20 .($lev.<=.strlen($methodName)./.
1c000 33 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 64 65 66 69 6e 65 64 4d 65 3.||.false.!==.strpos($definedMe
1c020 74 68 6f 64 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 thodName,.$methodName)).{.......
1c040 20 20 20 20 20 20 20 20 20 20 24 63 61 6e 64 69 64 61 74 65 73 5b 5d 20 3d 20 24 64 65 66 69 6e ..........$candidates[].=.$defin
1c060 65 64 4d 65 74 68 6f 64 4e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 edMethodName;.............}.....
1c080 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 ....}..........if.($candidates).
1c0a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 72 74 28 24 63 61 6e 64 69 64 61 74 65 73 29 3b {.............sort($candidates);
1c0c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 .............$last.=.array_pop($
1c0e0 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 3f 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 candidates).'"?';.............if
1c100 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .($candidates).{................
1c120 20 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 64 65 28 .$candidates.=.'e.g.."'.implode(
1c140 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 2e 24 6c '",."',.$candidates).'".or."'.$l
1c160 61 73 74 3b 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 ast;.............}.else.{.......
1c180 20 20 20 20 20 20 20 20 20 20 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 22 27 2e 24 6c 61 73 ..........$candidates.=.'"'.$las
1c1a0 74 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 6d 65 t;.............}.............$me
1c1c0 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
1c1e0 20 22 2e 24 63 61 6e 64 69 64 61 74 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 .".$candidates;.........}.......
1c200 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 ...return.new.UndefinedMethodExc
1c220 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 20 20 eption($message,.$exception);...
1c240 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 ..}.}.<?php../*..*.This.file.is.
1c260 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a part.of.the.Symfony.package...*.
1c280 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 .*.(c).Fabien.Potencier.<fabien@
1c2a0 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 symfony.com>..*..*.For.the.full.
1c2c0 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f copyright.and.license.informatio
1c2e0 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 n,.please.view.the.LICENSE..*.fi
1c300 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 le.that.was.distributed.with.thi
1c320 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 s.source.code...*/..namespace.Sy
1c340 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 72 6f 72 mfony\Component\Debug\FatalError
1c360 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 65 6e 74 5c Handler;..use.Symfony\Component\
1c380 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 6f 75 6e 64 45 78 63 Debug\Exception\ClassNotFoundExc
1c3a0 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 44 65 eption;.use.Symfony\Component\De
1c3c0 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 6f bug\Exception\FatalErrorExceptio
1c3e0 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 44 n;.use.Symfony\Component\Debug\D
1c400 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 ebugClassLoader;.use.Composer\Au
1c420 74 6f 6c 6f 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 toload\ClassLoader.as.ComposerCl
1c440 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 74 assLoader;.use.Symfony\Component
1c460 5c 43 6c 61 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 \ClassLoader\ClassLoader.as.Symf
1c480 6f 6e 79 43 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 45 72 72 6f 72 48 61 6e onyClassLoader;../**..*.ErrorHan
1c4a0 64 6c 65 72 20 66 6f 72 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 65 78 69 dler.for.classes.that.do.not.exi
1c4c0 73 74 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 st...*..*.@author.Fabien.Potenci
1c4e0 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 er.<fabien@symfony.com>..*/.clas
1c500 73 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 72 s.ClassNotFoundFatalErrorHandler
1c520 20 69 6d 70 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 .implements.FatalErrorHandlerInt
1c540 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 erface.{...../**......*.{@inheri
1c560 74 64 6f 63 7d 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 tdoc}......*/.....public.functio
1c580 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 74 61 n.handleError(array.$error,.Fata
1c5a0 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 20 20 20 20 lErrorException.$exception).....
1c5c0 7b 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 {.........$messageLen.=.strlen($
1c5e0 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 24 6e 6f 74 46 error['message']);.........$notF
1c600 6f 75 6e 64 53 75 66 66 69 78 20 3d 20 27 5c 27 20 6e 6f 74 20 66 6f 75 6e 64 27 3b 0a 20 20 20 oundSuffix.=.'\'.not.found';....
1c620 20 20 20 20 20 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3d 20 73 74 72 6c 65 6e .....$notFoundSuffixLen.=.strlen
1c640 28 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 ($notFoundSuffix);.........if.($
1c660 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3e 20 24 6d 65 73 73 61 67 65 4c 65 6e 29 notFoundSuffixLen.>.$messageLen)
1c680 20 7b 0a 20 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 .{.............return;.........}
1c6a0 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 30 20 21 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 ..........if.(0.!==.substr_compa
1c6c0 72 65 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 6e 6f 74 46 6f 75 6e 64 53 re($error['message'],.$notFoundS
1c6e0 75 66 66 69 78 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 29 20 7b 0a 20 uffix,.-$notFoundSuffixLen)).{..
1c700 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;.........}....
1c720 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 63 6c 61 73 73 27 2c 20 27 69 ......foreach.(array('class',.'i
1c740 6e 74 65 72 66 61 63 65 27 2c 20 27 74 72 61 69 74 27 29 20 61 73 20 24 74 79 70 65 4e 61 6d 65 nterface',.'trait').as.$typeName
1c760 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 3d 20 75 63 66 69 72 73 ).{.............$prefix.=.ucfirs
1c780 74 28 24 74 79 70 65 4e 61 6d 65 29 2e 27 20 5c 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 t($typeName).'.\'';.............
1c7a0 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 20 20 $prefixLen.=.strlen($prefix);...
1c7c0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f ..........if.(0.!==.strpos($erro
1c7e0 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 20 20 20 20 20 20 r['message'],.$prefix)).{.......
1c800 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........continue;.............
1c820 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c }..............$fullyQualifiedCl
1c840 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 assName.=.substr($error['message
1c860 27 5d 2c 20 24 70 72 65 66 69 78 4c 65 6e 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 '],.$prefixLen,.-$notFoundSuffix
1c880 4c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 Len);.............if.(false.!==.
1c8a0 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
1c8c0 6f 73 28 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 os($fullyQualifiedClassName,.'\\
1c8e0 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 4e 61 6d 65 ')).{.................$className
1c900 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
1c920 6d 65 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 20 2b 20 31 me,.$namespaceSeparatorIndex.+.1
1c940 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 50 72 65 );.................$namespacePre
1c960 66 69 78 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 fix.=.substr($fullyQualifiedClas
1c980 73 4e 61 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 sName,.0,.$namespaceSeparatorInd
1c9a0 65 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 ex);.................$message.=.
1c9c0 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 6c 6f 61 64 20 25 73 20 22 25 sprintf('Attempted.to.load.%s."%
1c9e0 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 74 79 70 65 4e s".from.namespace."%s".',.$typeN
1ca00 61 6d 65 2c 20 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 ame,.$className,.$namespacePrefi
1ca20 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 69 6c 20 3d 20 27 20 66 6f x);.................$tail.=.'.fo
1ca40 72 20 61 6e 6f 74 68 65 72 20 6e 61 6d 65 73 70 61 63 65 3f 27 3b 0a 20 20 20 20 20 20 20 20 20 r.another.namespace?';..........
1ca60 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 20 24 63 6c 61 ...}.else.{.................$cla
1ca80 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 6d ssName.=.$fullyQualifiedClassNam
1caa0 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 73 70 e;.................$message.=.sp
1cac0 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 6c 6f 61 64 20 25 73 20 22 25 73 22 rintf('Attempted.to.load.%s."%s"
1cae0 20 66 72 6f 6d 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e 61 6d 65 73 70 61 63 65 2e 27 2c 20 24 74 .from.the.global.namespace.',.$t
1cb00 79 70 65 4e 61 6d 65 2c 20 24 63 6c 61 73 73 4e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ypeName,.$className);...........
1cb20 20 20 20 20 20 20 24 74 61 69 6c 20 3d 20 27 3f 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ......$tail.=.'?';.............}
1cb40 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 ..............if.($candidates.=.
1cb60 24 74 68 69 73 2d 3e 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 $this->getClassCandidates($class
1cb80 4e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 69 6c 20 3d Name)).{.................$tail.=
1cba0 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 0a 20 20 .array_pop($candidates).'"?';...
1cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b ..............if.($candidates).{
1cbe0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 69 6c 20 3d 20 27 20 66 .....................$tail.=.'.f
1cc00 6f 72 20 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 or.e.g.."'.implode('",."',.$cand
1cc20 69 64 61 74 65 73 29 2e 27 22 20 6f 72 20 22 27 2e 24 74 61 69 6c 3b 0a 20 20 20 20 20 20 20 20 idates).'".or."'.$tail;.........
1cc40 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.{................
1cc60 20 20 20 20 20 24 74 61 69 6c 20 3d 20 27 20 66 6f 72 20 22 27 2e 24 74 61 69 6c 3b 0a 20 20 20 .....$tail.=.'.for."'.$tail;....
1cc80 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 20 20 20 .............}.............}....
1cca0 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 44 69 64 20 79 6f 75 20 .........$message..=."\nDid.you.
1ccc0 66 6f 72 67 65 74 20 61 20 5c 22 75 73 65 5c 22 20 73 74 61 74 65 6d 65 6e 74 22 2e 24 74 61 69 forget.a.\"use\".statement".$tai
1cce0 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 43 6c 61 73 73 l;..............return.new.Class
1cd00 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 65 2c 20 24 65 78 63 NotFoundException($message,.$exc
1cd20 65 70 74 69 6f 6e 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 2a eption);.........}.....}....../*
1cd40 2a 0a 20 20 20 20 20 2a 20 54 72 69 65 73 20 74 6f 20 67 75 65 73 73 20 74 68 65 20 66 75 6c 6c *......*.Tries.to.guess.the.full
1cd60 20 6e 61 6d 65 73 70 61 63 65 20 66 6f 72 20 61 20 67 69 76 65 6e 20 63 6c 61 73 73 20 6e 61 6d .namespace.for.a.given.class.nam
1cd80 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 42 79 20 64 65 66 61 75 6c 74 2c 20 69 74 20 e.......*......*.By.default,.it.
1cda0 6c 6f 6f 6b 73 20 66 6f 72 20 50 53 52 2d 30 20 61 6e 64 20 50 53 52 2d 34 20 63 6c 61 73 73 65 looks.for.PSR-0.and.PSR-4.classe
1cdc0 73 20 72 65 67 69 73 74 65 72 65 64 20 76 69 61 20 61 20 53 79 6d 66 6f 6e 79 20 6f 72 20 61 20 s.registered.via.a.Symfony.or.a.
1cde0 43 6f 6d 70 6f 73 65 72 0a 20 20 20 20 20 2a 20 61 75 74 6f 6c 6f 61 64 65 72 20 28 74 68 61 74 Composer......*.autoloader.(that
1ce00 20 73 68 6f 75 6c 64 20 63 6f 76 65 72 20 61 6c 6c 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 73 29 2e .should.cover.all.common.cases).
1ce20 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 6e 67 20 24 63 6c ......*......*.@param.string.$cl
1ce40 61 73 73 20 41 20 63 6c 61 73 73 20 6e 61 6d 65 20 28 77 69 74 68 6f 75 74 20 69 74 73 20 6e 61 ass.A.class.name.(without.its.na
1ce60 6d 65 73 70 61 63 65 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 mespace)......*......*.@return.a
1ce80 72 72 61 79 20 41 6e 20 61 72 72 61 79 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 66 75 6c 6c 79 20 rray.An.array.of.possible.fully.
1cea0 71 75 61 6c 69 66 69 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 qualified.class.names......*/...
1cec0 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 43 61 6e 64 69 ..private.function.getClassCandi
1cee0 64 61 74 65 73 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 dates($class).....{.........if.(
1cf00 21 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 6f 6c !is_array($functions.=.spl_autol
1cf20 6f 61 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 oad_functions())).{.............
1cf40 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 return.array();.........}.......
1cf60 20 20 20 2f 2f 20 66 69 6e 64 20 53 79 6d 66 6f 6e 79 20 61 6e 64 20 43 6f 6d 70 6f 73 65 72 20 ...//.find.Symfony.and.Composer.
1cf80 61 75 74 6f 6c 6f 61 64 65 72 73 0a 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 65 73 20 3d 20 61 autoloaders.........$classes.=.a
1cfa0 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 rray();..........foreach.($funct
1cfc0 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ions.as.$function).{............
1cfe0 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 20 20 20 .if.(!is_array($function)).{....
1d000 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 .............continue;..........
1d020 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 67 65 74 20 63 6c 61 73 73 20 6c 6f ...}.............//.get.class.lo
1d040 61 64 65 72 73 20 77 72 61 70 70 65 64 20 62 79 20 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 aders.wrapped.by.DebugClassLoade
1d060 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 r.............if.($function[0].i
1d080 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 72 29 20 7b 0a 20 20 nstanceof.DebugClassLoader).{...
1d0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 66 75 6e 63 74 ..............$function.=.$funct
1d0c0 69 6f 6e 5b 30 5d 2d 3e 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 0a 20 20 20 20 20 ion[0]->getClassLoader();.......
1d0e0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 ...........if.(!is_array($functi
1d100 6f 6e 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 63 6f 6e 74 69 on)).{.....................conti
1d120 6e 75 65 3b 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 nue;.................}..........
1d140 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 75 6e 63 74 69 6f 6e 5b ...}..............if.($function[
1d160 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 43 6c 61 73 73 4c 6f 61 64 65 0].instanceof.ComposerClassLoade
1d180 72 20 7c 7c 20 24 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 r.||.$function[0].instanceof.Sym
1d1a0 66 6f 6e 79 43 6c 61 73 73 4c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 fonyClassLoader).{..............
1d1c0 20 20 20 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 74 50 72 65 ...foreach.($function[0]->getPre
1d1e0 66 69 78 65 73 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 fixes().as.$prefix.=>.$paths).{.
1d200 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 28 24 70 61 ....................foreach.($pa
1d220 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ths.as.$path).{.................
1d240 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 ........$classes.=.array_merge($
1d260 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 49 6e 50 61 74 68 28 classes,.$this->findClassInPath(
1d280 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 0a 20 20 20 20 20 20 $path,.$class,.$prefix));.......
1d2a0 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 ..............}.................
1d2c0 7d 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 69 66 20 28 }.............}.............if.(
1d2e0 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 65 72 $function[0].instanceof.Composer
1d300 43 6c 61 73 73 4c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ClassLoader).{.................f
1d320 6f 72 65 61 63 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 oreach.($function[0]->getPrefixe
1d340 73 50 73 72 34 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 sPsr4().as.$prefix.=>.$paths).{.
1d360 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 28 24 70 61 ....................foreach.($pa
1d380 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ths.as.$path).{.................
1d3a0 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 ........$classes.=.array_merge($
1d3c0 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 49 6e 50 61 74 68 28 classes,.$this->findClassInPath(
1d3e0 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 0a 20 20 20 20 20 20 $path,.$class,.$prefix));.......
1d400 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 ..............}.................
1d420 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 0a 0a 20 20 20 20 20 }.............}.........}.......
1d440 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 63 6c 61 73 73 65 73 29 ...return.array_unique($classes)
1d460 3b 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 73 ;.....}....../**......*.@param.s
1d480 74 72 69 6e 67 20 24 70 61 74 68 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 tring.$path......*.@param.string
1d4a0 20 24 63 6c 61 73 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 72 .$class......*.@param.string.$pr
1d4c0 65 66 69 78 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 efix......*......*.@return.array
1d4e0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 ......*/.....private.function.fi
1d500 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 72 ndClassInPath($path,.$class,.$pr
1d520 65 66 69 78 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 74 68 20 3d efix).....{.........if.(!$path.=
1d540 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 66 69 .realpath($path.'/'.strtr($prefi
1d560 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 70 61 x,.'\\_',.'//')).?:.realpath($pa
1d580 74 68 2e 27 2f 27 2e 64 69 72 6e 61 6d 65 28 73 74 72 74 72 28 24 70 72 65 66 69 78 2c 20 27 5c th.'/'.dirname(strtr($prefix,.'\
1d5a0 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 68 29 29 \_',.'//'))).?:.realpath($path))
1d5c0 20 7b 0a 20 20 20 20 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();..
1d5e0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 .......}..........$classes.=.arr
1d600 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 63 6c 61 73 73 ay();.........$filename.=.$class
1d620 2e 27 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 6e 65 77 20 5c 52 .'.php';.........foreach.(new.\R
1d640 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 6e 65 77 20 5c 52 65 ecursiveIteratorIterator(new.\Re
1d660 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 24 70 61 74 68 2c 20 cursiveDirectoryIterator($path,.
1d680 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 3a 3a 53 4b 49 \RecursiveDirectoryIterator::SKI
1d6a0 50 5f 44 4f 54 53 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 P_DOTS),.\RecursiveIteratorItera
1d6c0 74 6f 72 3a 3a 4c 45 41 56 45 53 5f 4f 4e 4c 59 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 20 20 tor::LEAVES_ONLY).as.$file).{...
1d6e0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 6c 65 6e 61 6d 65 20 3d 3d 20 24 66 69 6c 65 ..........if.($filename.==.$file
1d700 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 20 26 26 20 24 63 6c 61 73 73 20 3d 20 24 74 68 69 ->getFileName().&&.$class.=.$thi
1d720 73 2d 3e 63 6f 6e 76 65 72 74 46 69 6c 65 54 6f 43 6c 61 73 73 28 24 70 61 74 68 2c 20 24 66 69 s->convertFileToClass($path,.$fi
1d740 6c 65 2d 3e 67 65 74 50 61 74 68 4e 61 6d 65 28 29 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 20 le->getPathName(),.$prefix)).{..
1d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 65 73 5b 5d 20 3d 20 24 63 6c 61 ...............$classes[].=.$cla
1d780 73 73 3b 0a 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 ss;.............}.........}.....
1d7a0 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6c 61 73 73 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 .....return.$classes;.....}.....
1d7c0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 61 74 68 0a ./**......*.@param.string.$path.
1d7e0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 66 69 6c 65 0a 20 20 20 20 20 .....*.@param.string.$file......
1d800 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 72 65 66 69 78 0a 20 20 20 20 20 2a 0a 20 *.@param.string.$prefix......*..
1d820 20 20 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 ....*.@return.string|null......*
1d840 2f 0a 20 20 20 20 70 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 /.....private.function.convertFi
1d860 6c 65 54 6f 43 6c 61 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 leToClass($path,.$file,.$prefix)
1d880 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 .....{.........$candidates.=.arr
1d8a0 61 79 28 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 6c ay(.............//.namespaced.cl
1d8c0 61 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 ass.............$namespacedClass
1d8e0 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 44 49 52 45 43 .=.str_replace(array($path.DIREC
1d900 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 2c 20 61 72 TORY_SEPARATOR,.'.php',.'/'),.ar
1d920 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 20 20 20 20 20 ray('',.'',.'\\'),.$file),......
1d940 20 20 20 20 20 20 20 2f 2f 20 6e 61 6d 65 73 70 61 63 65 64 20 63 6c 61 73 73 20 28 77 69 74 68 .......//.namespaced.class.(with
1d960 20 74 61 72 67 65 74 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 66 69 78 .target.dir).............$prefix
1d980 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f .$namespacedClass,............./
1d9a0 2f 20 6e 61 6d 65 73 70 61 63 65 64 20 63 6c 61 73 73 20 28 77 69 74 68 20 74 61 72 67 65 74 20 /.namespaced.class.(with.target.
1d9c0 64 69 72 20 61 6e 64 20 73 65 70 61 72 61 74 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 dir.and.separator).............$
1d9e0 70 72 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 20 20 prefix.'\\'.$namespacedClass,...
1da00 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 45 41 52 20 63 6c 61 73 73 0a 20 20 20 20 20 20 20 20 ..........//.PEAR.class.........
1da20 20 20 20 20 73 74 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 ....str_replace('\\',.'_',.$name
1da40 73 70 61 63 65 64 43 6c 61 73 73 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 45 41 spacedClass),.............//.PEA
1da60 52 20 63 6c 61 73 73 20 28 77 69 74 68 20 74 61 72 67 65 74 20 64 69 72 29 0a 20 20 20 20 20 20 R.class.(with.target.dir).......
1da80 20 20 20 20 20 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 5f 27 2c 20 24 70 72 ......str_replace('\\',.'_',.$pr
1daa0 65 66 69 78 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 29 2c 0a 20 20 20 20 20 20 20 20 efix.$namespacedClass),.........
1dac0 20 20 20 20 2f 2f 20 50 45 41 52 20 63 6c 61 73 73 20 28 77 69 74 68 20 74 61 72 67 65 74 20 64 ....//.PEAR.class.(with.target.d
1dae0 69 72 20 61 6e 64 20 73 65 70 61 72 61 74 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 ir.and.separator).............st
1db00 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.'\\
1db20 27 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 29 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a '.$namespacedClass),.........);.
1db40 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 .........if.($prefix).{.........
1db60 20 20 20 20 24 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 ....$candidates.=.array_filter($
1db80 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 64 61 74 65 candidates,.function.($candidate
1dba0 29 20 75 73 65 20 28 24 70 72 65 66 69 78 29 20 7b 72 65 74 75 72 6e 20 30 20 3d 3d 3d 20 73 74 ).use.($prefix).{return.0.===.st
1dbc0 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 7d 29 3b 0a 20 20 rpos($candidate,.$prefix);});...
1dbe0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 57 65 20 63 61 6e 6e 6f 74 20 75 73 ......}..........//.We.cannot.us
1dc00 65 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 68 65 72 65 20 61 73 20 6d 6f 73 74 20 6f 66 e.the.autoloader.here.as.most.of
1dc20 20 74 68 65 6d 20 75 73 65 20 72 65 71 75 69 72 65 3b 20 62 75 74 20 69 66 20 74 68 65 20 63 6c .them.use.require;.but.if.the.cl
1dc40 61 73 73 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 74 68 65 ass.........//.is.not.found,.the
1dc60 20 6e 65 77 20 61 75 74 6f 6c 6f 61 64 65 72 20 63 61 6c 6c 20 77 69 6c 6c 20 72 65 71 75 69 72 .new.autoloader.call.will.requir
1dc80 65 20 74 68 65 20 66 69 6c 65 20 61 67 61 69 6e 20 6c 65 61 64 69 6e 67 20 74 6f 20 61 0a 20 20 e.the.file.again.leading.to.a...
1dca0 20 20 20 20 20 20 2f 2f 20 22 63 61 6e 6e 6f 74 20 72 65 64 65 63 6c 61 72 65 20 63 6c 61 73 73 ......//."cannot.redeclare.class
1dcc0 22 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 ".error..........foreach.($candi
1dce0 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 dates.as.$candidate).{..........
1dd00 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 61 6e 64 69 ...if.($this->classExists($candi
1dd20 64 61 74 65 29 29 20 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 date)).{.................return.
1dd40 24 63 61 6e 64 69 64 61 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 $candidate;.............}.......
1dd60 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 24 66 69 6c 65 3b ..}..........require_once.$file;
1dd80 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 ..........foreach.($candidates.a
1dda0 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 s.$candidate).{.............if.(
1ddc0 24 74 68 69 73 2d 3e 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 61 6e 64 69 64 61 74 65 29 29 20 $this->classExists($candidate)).
1dde0 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 63 61 6e 64 69 64 {.................return.$candid
1de00 61 74 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 7d 0a 20 20 20 ate;.............}.........}....
1de20 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 73 74 72 69 6e 67 .}....../**......*.@param.string
1de40 20 24 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 62 6f .$class......*......*.@return.bo
1de60 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ol......*/.....private.function.
1de80 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 classExists($class).....{.......
1dea0 20 20 72 65 74 75 72 6e 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 66 61 ..return.class_exists($class,.fa
1dec0 6c 73 65 29 20 7c 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 lse).||.interface_exists($class,
1dee0 20 66 61 6c 73 65 29 20 7c 7c 20 74 72 61 69 74 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 .false).||.trait_exists($class,.
1df00 66 61 6c 73 65 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 false);.....}.}.<?php../*..*.Thi
1df20 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 s.file.is.part.of.the.Symfony.pa
1df40 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 ckage...*..*.(c).Fabien.Potencie
1df60 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 r.<fabien@symfony.com>..*..*.For
1df80 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 20 .the.full.copyright.and.license.
1dfa0 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 68 65 20 4c 49 43 information,.please.view.the.LIC
1dfc0 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 72 69 62 75 74 65 ENSE..*.file.that.was.distribute
1dfe0 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 2a 2f 0a 0a 6e 61 d.with.this.source.code...*/..na
1e000 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\
1e020 46 61 74 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 FatalErrorHandler;..use.Symfony\
1e040 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 61 74 61 6c 45 Component\Debug\Exception\FatalE
1e060 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 41 74 74 65 6d 70 74 73 20 rrorException;../**..*.Attempts.
1e080 74 6f 20 63 6f 6e 76 65 72 74 20 66 61 74 61 6c 20 65 72 72 6f 72 73 20 74 6f 20 65 78 63 65 70 to.convert.fatal.errors.to.excep
1e0a0 74 69 6f 6e 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 tions...*..*.@author.Fabien.Pote
1e0c0 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 69 ncier.<fabien@symfony.com>..*/.i
1e0e0 6e 74 65 72 66 61 63 65 20 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 nterface.FatalErrorHandlerInterf
1e100 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 74 74 65 6d 70 74 73 20 74 6f ace.{...../**......*.Attempts.to
1e120 20 63 6f 6e 76 65 72 74 20 61 6e 20 65 72 72 6f 72 20 69 6e 74 6f 20 61 6e 20 65 78 63 65 70 74 .convert.an.error.into.an.except
1e140 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 ion.......*......*.@param.array.
1e160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 20 20 20 20 20 41 6e 20 61 72 72 61 ..............$error.....An.arra
1e180 79 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 y.as.returned.by.error_get_last(
1e1a0 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 )......*.@param.FatalErrorExcept
1e1c0 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 20 41 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 ion.$exception.A.FatalErrorExcep
1e1e0 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 tion.instance......*......*.@ret
1e200 75 72 6e 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 7c 6e 75 6c 6c 20 41 20 46 urn.FatalErrorException|null.A.F
1e220 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 20 69 66 20 74 atalErrorException.instance.if.t
1e240 68 65 20 63 6c 61 73 73 20 69 73 20 61 62 6c 65 20 74 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 he.class.is.able.to.convert.the.
1e260 65 72 72 6f 72 2c 20 6e 75 6c 6c 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 error,.null.otherwise......*/...
1e280 20 20 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 ..public.function.handleError(ar
1e2a0 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 70 74 69 6f 6e 20 ray.$error,.FatalErrorException.
1e2c0 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 $exception);.}.<?php../*..*.This
1e2e0 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 .file.is.part.of.the.Symfony.pac
1e300 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 kage...*..*.(c).Fabien.Potencier
1e320 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 .<fabien@symfony.com>..*..*.For.
1e340 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 20 69 the.full.copyright.and.license.i
1e360 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 68 65 20 4c 49 43 45 nformation,.please.view.the.LICE
1e380 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 72 69 62 75 74 65 64 NSE..*.file.that.was.distributed
1e3a0 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 2a 2f 0a 0a 6e 61 6d .with.this.source.code...*/..nam
1e3c0 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 3b 0a espace.Symfony\Component\Debug;.
1e3e0 0a 2f 2a 2a 0a 20 2a 20 41 75 74 6f 6c 6f 61 64 65 72 20 63 68 65 63 6b 69 6e 67 20 69 66 20 74 ./**..*.Autoloader.checking.if.t
1e400 68 65 20 63 6c 61 73 73 20 69 73 20 72 65 61 6c 6c 79 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 he.class.is.really.defined.in.th
1e420 65 20 66 69 6c 65 20 66 6f 75 6e 64 2e 0a 20 2a 0a 20 2a 20 54 68 65 20 43 6c 61 73 73 4c 6f 61 e.file.found...*..*.The.ClassLoa
1e440 64 65 72 20 77 69 6c 6c 20 77 72 61 70 20 61 6c 6c 20 72 65 67 69 73 74 65 72 65 64 20 61 75 74 der.will.wrap.all.registered.aut
1e460 6f 6c 6f 61 64 65 72 73 0a 20 2a 20 61 6e 64 20 77 69 6c 6c 20 74 68 72 6f 77 20 61 6e 20 65 78 oloaders..*.and.will.throw.an.ex
1e480 63 65 70 74 69 6f 6e 20 69 66 20 61 20 66 69 6c 65 20 69 73 20 66 6f 75 6e 64 20 62 75 74 20 64 ception.if.a.file.is.found.but.d
1e4a0 6f 65 73 0a 20 2a 20 6e 6f 74 20 64 65 63 6c 61 72 65 20 74 68 65 20 63 6c 61 73 73 2e 0a 20 2a oes..*.not.declare.the.class...*
1e4c0 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 ..*.@author.Fabien.Potencier.<fa
1e4e0 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 43 68 72 bien@symfony.com>..*.@author.Chr
1e500 69 73 74 6f 70 68 65 20 43 6f 65 76 6f 65 74 20 3c 73 74 6f 66 40 6e 6f 74 6b 2e 6f 72 67 3e 0a istophe.Coevoet.<stof@notk.org>.
1e520 20 2a 20 40 61 75 74 68 6f 72 20 4e 69 63 6f 6c 61 73 20 47 72 65 6b 61 73 20 3c 70 40 74 63 68 .*.@author.Nicolas.Grekas.<p@tch
1e540 77 6f 72 6b 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 44 65 62 75 67 43 6c 61 73 73 4c 6f work.com>..*/.class.DebugClassLo
1e560 61 64 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 3b ader.{.....private.$classLoader;
1e580 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 73 46 69 6e 64 65 72 3b 0a 20 20 20 20 70 72 69 76 .....private.$isFinder;.....priv
1e5a0 61 74 65 20 73 74 61 74 69 63 20 24 63 61 73 65 43 68 65 63 6b 3b 0a 20 20 20 20 70 72 69 76 61 ate.static.$caseCheck;.....priva
1e5c0 74 65 20 73 74 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 te.static.$deprecated.=.array();
1e5e0 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 70 68 70 37 52 65 73 65 72 76 65 .....private.static.$php7Reserve
1e600 64 20 3d 20 61 72 72 61 79 28 27 69 6e 74 27 2c 20 27 66 6c 6f 61 74 27 2c 20 27 62 6f 6f 6c 27 d.=.array('int',.'float',.'bool'
1e620 2c 20 27 73 74 72 69 6e 67 27 2c 20 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 6e 75 ,.'string',.'true',.'false',.'nu
1e640 6c 6c 27 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 64 61 72 77 69 6e ll');.....private.static.$darwin
1e660 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 27 2f 27 20 3d 3e 20 61 72 72 61 79 28 27 2f 27 2c 20 Cache.=.array('/'.=>.array('/',.
1e680 61 72 72 61 79 28 29 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 array()));....../**......*.Const
1e6a0 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c ructor.......*......*.@param.cal
1e6c0 6c 61 62 6c 65 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 20 41 20 63 6c 61 73 73 20 6c 6f 61 64 65 lable.$classLoader.A.class.loade
1e6e0 72 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 5f 5f r......*/.....public.function.__
1e700 63 6f 6e 73 74 72 75 63 74 28 63 61 6c 6c 61 62 6c 65 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 29 construct(callable.$classLoader)
1e720 0a 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 4c 6f 61 64 65 .....{.........$this->classLoade
1e740 72 20 3d 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d r.=.$classLoader;.........$this-
1e760 3e 69 73 46 69 6e 64 65 72 20 3d 20 69 73 5f 61 72 72 61 79 28 24 63 6c 61 73 73 4c 6f 61 64 65 >isFinder.=.is_array($classLoade
1e780 72 29 20 26 26 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 r).&&.method_exists($classLoader
1e7a0 5b 30 5d 2c 20 27 66 69 6e 64 46 69 6c 65 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 [0],.'findFile');..........if.(!
1e7c0 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 29 29 20 7b 0a 20 20 20 20 20 isset(self::$caseCheck)).{......
1e7e0 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 66 69 6c 65 5f 65 78 69 73 74 73 28 5f 5f 46 49 4c .......$file.=.file_exists(__FIL
1e800 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 68 E__).?.__FILE__.:.rtrim(realpath
1e820 28 27 2e 27 29 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 20 20 20 ('.'),.DIRECTORY_SEPARATOR);....
1e840 20 20 20 20 20 20 20 20 20 24 69 20 3d 20 73 74 72 72 70 6f 73 28 24 66 69 6c 65 2c 20 44 49 52 .........$i.=.strrpos($file,.DIR
1e860 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ECTORY_SEPARATOR);.............$
1e880 64 69 72 20 3d 20 73 75 62 73 74 72 28 24 66 69 6c 65 2c 20 30 2c 20 31 20 2b 20 24 69 29 3b 0a dir.=.substr($file,.0,.1.+.$i);.
1e8a0 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 73 75 62 73 74 72 28 24 66 69 6c 65 ............$file.=.substr($file
1e8c0 2c 20 31 20 2b 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 73 74 20 3d 20 73 ,.1.+.$i);.............$test.=.s
1e8e0 74 72 74 6f 75 70 70 65 72 28 24 66 69 6c 65 29 20 3d 3d 3d 20 24 66 69 6c 65 20 3f 20 73 74 72 trtoupper($file).===.$file.?.str
1e900 74 6f 6c 6f 77 65 72 28 24 66 69 6c 65 29 20 3a 20 73 74 72 74 6f 75 70 70 65 72 28 24 66 69 6c tolower($file).:.strtoupper($fil
1e920 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 73 74 20 3d 20 72 65 61 6c 70 61 74 68 e);.............$test.=.realpath
1e940 28 24 64 69 72 2e 24 74 65 73 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 ($dir.$test);..............if.(f
1e960 61 6c 73 65 20 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 alse.===.$test.||.false.===.$i).
1e980 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 69 6c 65 73 79 73 74 65 6d 20 {.................//.filesystem.
1e9a0 69 73 20 63 61 73 65 20 73 65 6e 73 69 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is.case.sensitive...............
1e9c0 20 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 ..self::$caseCheck.=.0;.........
1e9e0 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 73 75 62 73 74 72 28 24 74 65 73 74 2c 20 2d 73 74 72 ....}.elseif.(substr($test,.-str
1ea00 6c 65 6e 28 24 66 69 6c 65 29 29 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 len($file)).===.$file).{........
1ea20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 69 6c 65 73 79 73 74 65 6d 20 69 73 20 63 61 73 65 20 69 .........//.filesystem.is.case.i
1ea40 6e 73 65 6e 73 69 74 69 76 65 20 61 6e 64 20 72 65 61 6c 70 61 74 68 28 29 20 6e 6f 72 6d 61 6c nsensitive.and.realpath().normal
1ea60 69 7a 65 73 20 74 68 65 20 63 61 73 65 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 izes.the.case.of.characters.....
1ea80 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 31 ............self::$caseCheck.=.1
1eaa0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 21 3d ;.............}.elseif.(false.!=
1eac0 3d 20 73 74 72 69 70 6f 73 28 50 48 50 5f 4f 53 2c 20 27 64 61 72 77 69 6e 27 29 29 20 7b 0a 20 =.stripos(PHP_OS,.'darwin')).{..
1eae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6f 6e 20 4d 61 63 4f 53 58 2c 20 48 46 53 ...............//.on.MacOSX,.HFS
1eb00 2b 20 69 73 20 63 61 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 20 62 75 74 20 72 65 61 6c 70 61 +.is.case.insensitive.but.realpa
1eb20 74 68 28 29 20 64 6f 65 73 6e 27 74 20 6e 6f 72 6d 61 6c 69 7a 65 20 74 68 65 20 63 61 73 65 20 th().doesn't.normalize.the.case.
1eb40 6f 66 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 of.characters.................se
1eb60 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 32 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 lf::$caseCheck.=.2;.............
1eb80 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 69 6c 65 }.else.{.................//.file
1eba0 73 79 73 74 65 6d 20 63 61 73 65 20 63 68 65 63 6b 73 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 62 system.case.checks.failed,.fallb
1ebc0 61 63 6b 20 74 6f 20 64 69 73 61 62 6c 69 6e 67 20 74 68 65 6d 0a 20 20 20 20 20 20 20 20 20 20 ack.to.disabling.them...........
1ebe0 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 30 3b 0a 20 20 20 20 ......self::$caseCheck.=.0;.....
1ec00 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f ........}.........}.....}....../
1ec20 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 77 72 61 70 70 65 64 20 63 6c 61 73 73 **......*.Gets.the.wrapped.class
1ec40 20 6c 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 63 .loader.......*......*.@return.c
1ec60 61 6c 6c 61 62 6c 65 20 54 68 65 20 77 72 61 70 70 65 64 20 63 6c 61 73 73 20 6c 6f 61 64 65 72 allable.The.wrapped.class.loader
1ec80 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 67 65 74 ......*/.....public.function.get
1eca0 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 ClassLoader().....{.........retu
1ecc0 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 rn.$this->classLoader;.....}....
1ece0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 57 72 61 70 73 20 61 6c 6c 20 61 75 74 6f 6c 6f 61 64 65 ../**......*.Wraps.all.autoloade
1ed00 72 73 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 rs.......*/.....public.static.fu
1ed20 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f nction.enable().....{.........//
1ed40 20 45 6e 73 75 72 65 73 20 77 65 20 64 6f 6e 27 74 20 68 69 74 20 68 74 74 70 73 3a 2f 2f 62 75 .Ensures.we.don't.hit.https://bu
1ed60 67 73 2e 70 68 70 2e 6e 65 74 2f 34 32 30 39 38 0a 20 20 20 20 20 20 20 20 63 6c 61 73 73 5f 65 gs.php.net/42098.........class_e
1ed80 78 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 xists('Symfony\Component\Debug\E
1eda0 72 72 6f 72 48 61 6e 64 6c 65 72 27 29 3b 0a 20 20 20 20 20 20 20 20 63 6c 61 73 73 5f 65 78 69 rrorHandler');.........class_exi
1edc0 73 74 73 28 27 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 27 29 3b 0a 0a 20 20 20 20 20 20 sts('Psr\Log\LogLevel');........
1ede0 20 20 69 66 20 28 21 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 ..if.(!is_array($functions.=.spl
1ee00 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 20 20 20 20 20 20 _autoload_functions())).{.......
1ee20 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 20 20 20 20 20 ......return;.........}.........
1ee40 20 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
1ee60 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e n).{.............spl_autoload_un
1ee80 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a register($function);.........}..
1eea0 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 ........foreach.($functions.as.$
1eec0 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f function).{.............if.(!is_
1eee0 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 30 array($function).||.!$function[0
1ef00 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ].instanceof.self).{............
1ef20 20 20 20 20 20 24 66 75 6e 63 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 6e 65 77 20 73 74 61 74 69 .....$function.=.array(new.stati
1ef40 63 28 24 66 75 6e 63 74 69 6f 6e 29 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 3b 0a 20 20 20 20 c($function),.'loadClass');.....
1ef60 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c ........}..............spl_autol
1ef80 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 20 20 20 20 20 20 20 oad_register($function);........
1efa0 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 44 69 73 61 62 6c 65 .}.....}....../**......*.Disable
1efc0 73 20 74 68 65 20 77 72 61 70 70 69 6e 67 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c s.the.wrapping.......*/.....publ
1efe0 69 63 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 20 20 20 ic.static.function.disable()....
1f000 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 .{.........if.(!is_array($functi
1f020 6f 6e 73 20 3d 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 ons.=.spl_autoload_functions()))
1f040 20 7b 0a 20 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 .{.............return;.........}
1f060 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 ..........foreach.($functions.as
1f080 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 .$function).{.............spl_au
1f0a0 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 20 20 toload_unregister($function);...
1f0c0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 ......}..........foreach.($funct
1f0e0 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ions.as.$function).{............
1f100 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 20 26 26 20 24 66 75 6e .if.(is_array($function).&&.$fun
1f120 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 20 20 20 20 ction[0].instanceof.self).{.....
1f140 20 20 20 20 20 20 20 20 20 20 20 20 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 66 75 6e 63 74 69 6f ............$function.=.$functio
1f160 6e 5b 30 5d 2d 3e 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 n[0]->getClassLoader();.........
1f180 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f ....}..............spl_autoload_
1f1a0 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 register($function);.........}..
1f1c0 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4c 6f 61 64 73 20 74 68 65 20 67 ...}....../**......*.Loads.the.g
1f1e0 69 76 65 6e 20 63 6c 61 73 73 20 6f 72 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 2a 0a iven.class.or.interface.......*.
1f200 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 6c 61 73 73 20 54 68 65 20 .....*.@param.string.$class.The.
1f220 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 name.of.the.class......*......*.
1f240 40 72 65 74 75 72 6e 20 62 6f 6f 6c 7c 6e 75 6c 6c 20 54 72 75 65 2c 20 69 66 20 6c 6f 61 64 65 @return.bool|null.True,.if.loade
1f260 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 52 75 6e 74 69 6d 65 d......*......*.@throws.\Runtime
1f280 45 78 63 65 70 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 Exception......*/.....public.fun
1f2a0 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 ction.loadClass($class).....{...
1f2c0 20 20 20 20 20 20 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 ......ErrorHandler::stackErrors(
1f2e0 29 3b 0a 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 );..........try.{.............if
1f300 20 28 24 74 68 69 73 2d 3e 69 73 46 69 6e 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .($this->isFinder).{............
1f320 20 20 20 20 20 69 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 .....if.($file.=.$this->classLoa
1f340 64 65 72 5b 30 5d 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 der[0]->findFile($class)).{.....
1f360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 24 66 69 ................require_once.$fi
1f380 6c 65 3b 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 le;.................}...........
1f3a0 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 20 63 61 6c 6c 5f ..}.else.{.................call_
1f3c0 75 73 65 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 2c 20 24 63 user_func($this->classLoader,.$c
1f3e0 6c 61 73 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 66 lass);.................$file.=.f
1f400 61 6c 73 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 7d 20 66 69 alse;.............}.........}.fi
1f420 6e 61 6c 6c 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 nally.{.............ErrorHandler
1f440 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ::unstackErrors();.........}....
1f460 20 20 20 20 20 20 24 65 78 69 73 74 73 20 3d 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c ......$exists.=.class_exists($cl
1f480 61 73 73 2c 20 66 61 6c 73 65 29 20 7c 7c 20 69 6e 74 65 72 66 61 63 65 5f 65 78 69 73 74 73 28 ass,.false).||.interface_exists(
1f4a0 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 20 7c 7c 20 74 72 61 69 74 5f 65 78 69 73 74 73 28 24 $class,.false).||.trait_exists($
1f4c0 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 class,.false);..........if.('\\'
1f4e0 20 3d 3d 3d 20 24 63 6c 61 73 73 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 .===.$class[0]).{.............$c
1f500 6c 61 73 73 20 3d 20 73 75 62 73 74 72 28 24 63 6c 61 73 73 2c 20 31 29 3b 0a 20 20 20 20 20 20 lass.=.substr($class,.1);.......
1f520 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 78 69 73 74 73 29 20 7b 0a 20 20 20 20 ..}..........if.($exists).{.....
1f540 20 20 20 20 20 20 20 20 24 72 65 66 6c 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 43 ........$refl.=.new.\ReflectionC
1f560 6c 61 73 73 28 24 63 6c 61 73 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 20 lass($class);.............$name.
1f580 3d 20 24 72 65 66 6c 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 =.$refl->getName();.............
1f5a0 20 69 66 20 28 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 .if.($name.!==.$class.&&.0.===.s
1f5c0 74 72 63 61 73 65 63 6d 70 28 24 6e 61 6d 65 2c 20 24 63 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 trcasecmp($name,.$class)).{.....
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 ............throw.new.\RuntimeEx
1f600 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 73 65 20 6d 69 73 6d 61 74 63 68 20 62 ception(sprintf('Case.mismatch.b
1f620 65 74 77 65 65 6e 20 6c 6f 61 64 65 64 20 61 6e 64 20 64 65 63 6c 61 72 65 64 20 63 6c 61 73 73 etween.loaded.and.declared.class
1f640 20 6e 61 6d 65 73 3a 20 25 73 20 76 73 20 25 73 27 2c 20 24 63 6c 61 73 73 2c 20 24 6e 61 6d 65 .names:.%s.vs.%s',.$class,.$name
1f660 29 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 20 20 20 20 69 ));.............}..............i
1f680 66 20 28 69 6e 5f 61 72 72 61 79 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 66 6c 2d 3e 67 65 f.(in_array(strtolower($refl->ge
1f6a0 74 53 68 6f 72 74 4e 61 6d 65 28 29 29 2c 20 73 65 6c 66 3a 3a 24 70 68 70 37 52 65 73 65 72 76 tShortName()),.self::$php7Reserv
1f6c0 65 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 74 72 69 67 67 65 72 5f ed)).{.................@trigger_
1f6e0 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 65 72 76 65 error(sprintf('%s.uses.a.reserve
1f700 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 62 72 65 61 d.class.name.(%s).that.will.brea
1f720 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 65 2c 20 24 k.on.PHP.7.and.higher',.$name,.$
1f740 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 52 5f 44 45 refl->getShortName()),.E_USER_DE
1f760 50 52 45 43 41 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 PRECATED);.............}.elseif.
1f780 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5c 6e 20 5c 2a 20 40 64 65 70 72 65 63 61 74 65 64 20 (preg_match('#\n.\*.@deprecated.
1f7a0 28 2e 2a 3f 29 5c 72 3f 5c 6e 20 5c 2a 28 3f 3a 20 40 7c 2f 24 29 23 73 27 2c 20 24 72 65 66 6c (.*?)\r?\n.\*(?:.@|/$)#s',.$refl
1f7c0 2d 3e 67 65 74 44 6f 63 43 6f 6d 6d 65 6e 74 28 29 2c 20 24 6e 6f 74 69 63 65 29 29 20 7b 0a 20 ->getDocComment(),.$notice)).{..
1f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 ...............self::$deprecated
1f800 5b 24 6e 61 6d 65 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5c 73 2a 5c 72 3f 5c [$name].=.preg_replace('#\s*\r?\
1f820 6e 20 5c 2a 20 2b 23 27 2c 20 27 20 27 2c 20 24 6e 6f 74 69 63 65 5b 31 5d 29 3b 0a 20 20 20 20 n.\*.+#',.'.',.$notice[1]);.....
1f840 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.{................
1f860 20 69 66 20 28 32 20 3e 20 24 6c 65 6e 20 3d 20 31 20 2b 20 28 73 74 72 70 6f 73 28 24 6e 61 6d .if.(2.>.$len.=.1.+.(strpos($nam
1f880 65 2c 20 27 5c 5c 27 2c 20 31 20 2b 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 5c 5c 27 29 e,.'\\',.1.+.strpos($name,.'\\')
1f8a0 29 20 3f 3a 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 5f 27 29 29 29 20 7b 0a 20 20 20 20 ).?:.strpos($name,.'_'))).{.....
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 20 3d 20 30 3b 0a 20 20 20 20 20 20 ................$len.=.0;.......
1f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 73 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 ..............$ns.=.'';.........
1f900 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.{................
1f920 20 20 20 20 20 73 77 69 74 63 68 20 28 24 6e 73 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c .....switch.($ns.=.substr($name,
1f940 20 30 2c 20 24 6c 65 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .0,.$len)).{....................
1f960 20 20 20 20 20 63 61 73 65 20 27 53 79 6d 66 6f 6e 79 5c 42 72 69 64 67 65 5c 5c 27 3a 0a 20 20 .....case.'Symfony\Bridge\\':...
1f980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 53 79 6d 66 ......................case.'Symf
1f9a0 6f 6e 79 5c 42 75 6e 64 6c 65 5c 5c 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ony\Bundle\\':..................
1f9c0 20 20 20 20 20 20 20 63 61 73 65 20 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c .......case.'Symfony\Component\\
1f9e0 27 3a 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 24 ':.............................$
1fa00 6e 73 20 3d 20 27 53 79 6d 66 6f 6e 79 5c 5c 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ns.=.'Symfony\\';...............
1fa20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6e 73 29 ..............$len.=.strlen($ns)
1fa40 3b 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 62 72 ;.............................br
1fa60 65 61 6b 3b 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 eak;.....................}......
1fa80 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 24 70 61 ...........}.................$pa
1faa0 72 65 6e 74 20 3d 20 67 65 74 5f 70 61 72 65 6e 74 5f 63 6c 61 73 73 28 24 63 6c 61 73 73 29 3b rent.=.get_parent_class($class);
1fac0 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 72 65 6e 74 20 7c ..................if.(!$parent.|
1fae0 7c 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 |.strncmp($ns,.$parent,.$len)).{
1fb00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 65 6e 74 .....................if.($parent
1fb20 20 26 26 20 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 70 61 72 .&&.isset(self::$deprecated[$par
1fb40 65 6e 74 5d 29 20 26 26 20 73 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 70 61 72 65 6e 74 2c 20 24 ent]).&&.strncmp($ns,.$parent,.$
1fb60 6c 65 6e 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 20 20 20 20 len)).{.........................
1fb80 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 25 73 20 63 @trigger_error(sprintf('The.%s.c
1fba0 6c 61 73 73 20 65 78 74 65 6e 64 73 20 25 73 20 74 68 61 74 20 69 73 20 64 65 70 72 65 63 61 74 lass.extends.%s.that.is.deprecat
1fbc0 65 64 20 25 73 27 2c 20 24 6e 61 6d 65 2c 20 24 70 61 72 65 6e 74 2c 20 73 65 6c 66 3a 3a 24 64 ed.%s',.$name,.$parent,.self::$d
1fbe0 65 70 72 65 63 61 74 65 64 5b 24 70 61 72 65 6e 74 5d 29 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 eprecated[$parent]),.E_USER_DEPR
1fc00 45 43 41 54 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a ECATED);.....................}..
1fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 49 6e 74 65 72 ....................$parentInter
1fc40 66 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 faces.=.array();................
1fc60 20 20 20 20 20 24 64 65 70 72 65 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 20 3d 20 61 72 72 .....$deprecatedInterfaces.=.arr
1fc80 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 ay();.....................if.($p
1fca0 61 72 65 6e 74 29 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 arent).{........................
1fcc0 20 66 6f 72 65 61 63 68 20 28 63 6c 61 73 73 5f 69 6d 70 6c 65 6d 65 6e 74 73 28 24 70 61 72 65 .foreach.(class_implements($pare
1fce0 6e 74 29 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 nt).as.$interface).{............
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 .................$parentInterfac
1fd20 65 73 5b 24 69 6e 74 65 72 66 61 63 65 5d 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 es[$interface].=.1;.............
1fd40 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 20 20 ............}...................
1fd60 20 20 7d 0a 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 ..}......................foreach
1fd80 20 28 24 72 65 66 6c 2d 3e 67 65 74 49 6e 74 65 72 66 61 63 65 4e 61 6d 65 73 28 29 20 61 73 20 .($refl->getInterfaceNames().as.
1fda0 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $interface).{...................
1fdc0 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 ......if.(isset(self::$deprecate
1fde0 64 5b 24 69 6e 74 65 72 66 61 63 65 5d 29 20 26 26 20 73 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 d[$interface]).&&.strncmp($ns,.$
1fe00 69 6e 74 65 72 66 61 63 65 2c 20 24 6c 65 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 interface,.$len)).{.............
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 70 72 65 63 61 74 65 64 49 6e 74 65 72 ................$deprecatedInter
1fe40 66 61 63 65 73 5b 5d 20 3d 20 24 69 6e 74 65 72 66 61 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20 faces[].=.$interface;...........
1fe60 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 ..............}.................
1fe80 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 63 6c 61 73 73 5f 69 6d 70 6c 65 6d 65 6e 74 ........foreach.(class_implement
1fea0 73 28 24 69 6e 74 65 72 66 61 63 65 29 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 20 s($interface).as.$interface).{..
1fec0 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 24 70 61 72 65 ...........................$pare
1fee0 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 31 3b 0a 20 20 ntInterfaces[$interface].=.1;...
1ff00 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 ......................}.........
1ff20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............}...................
1ff40 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 70 72 65 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 ...foreach.($deprecatedInterface
1ff60 73 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 s.as.$interface).{..............
1ff80 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 65 6e 74 49 6e 74 ...........if.(!isset($parentInt
1ffa0 65 72 66 61 63 65 73 5b 24 69 6e 74 65 72 66 61 63 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 erfaces[$interface])).{.........
1ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 40 74 72 69 67 67 65 72 5f 65 72 72 ....................@trigger_err
1ffe0 6f 72 28 73 70 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 or(sprintf('The.%s.%s.%s.that.is
20000 20 64 65 70 72 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 .deprecated.%s',.$name,.$refl->i
20020 73 49 6e 74 65 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 sInterface().?.'interface.extend
20040 73 27 20 3a 20 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 s'.:.'class.implements',.$interf
20060 61 63 65 2c 20 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 ace,.self::$deprecated[$interfac
20080 65 5d 29 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 20 20 20 20 20 20 20 e]),.E_USER_DEPRECATED);........
200a0 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 20 20 20 .................}..............
200c0 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 20 20 20 .......}.................}......
200e0 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 69 66 20 28 .......}.........}..........if.(
20100 24 66 69 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 65 78 69 73 74 $file).{.............if.(!$exist
20120 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 s).{.................if.(false.!
20140 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 0a 20 20 20 20 20 20 ==.strpos($class,.'/')).{.......
20160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 ..............throw.new.\Runtime
20180 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 72 79 69 6e 67 20 74 6f 20 61 75 74 Exception(sprintf('Trying.to.aut
201a0 6f 6c 6f 61 64 20 61 20 63 6c 61 73 73 20 77 69 74 68 20 61 6e 20 69 6e 76 61 6c 69 64 20 6e 61 oload.a.class.with.an.invalid.na
201c0 6d 65 20 22 25 73 22 2e 20 42 65 20 63 61 72 65 66 75 6c 20 74 68 61 74 20 74 68 65 20 6e 61 6d me."%s"..Be.careful.that.the.nam
201e0 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 20 69 73 20 22 5c 22 20 69 6e 20 50 48 50 2c 20 espace.separator.is."\".in.PHP,.
20200 6e 6f 74 20 22 2f 22 2e 27 2c 20 24 63 6c 61 73 73 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 not."/".',.$class));............
20220 20 20 20 20 20 7d 0a 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 .....}..................throw.ne
20240 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 54 68 65 w.\RuntimeException(sprintf('The
20260 20 61 75 74 6f 6c 6f 61 64 65 72 20 65 78 70 65 63 74 65 64 20 63 6c 61 73 73 20 22 25 73 22 20 .autoloader.expected.class."%s".
20280 74 6f 20 62 65 20 64 65 66 69 6e 65 64 20 69 6e 20 66 69 6c 65 20 22 25 73 22 2e 20 54 68 65 20 to.be.defined.in.file."%s"..The.
202a0 66 69 6c 65 20 77 61 73 20 66 6f 75 6e 64 20 62 75 74 20 74 68 65 20 63 6c 61 73 73 20 77 61 73 file.was.found.but.the.class.was
202c0 20 6e 6f 74 20 69 6e 20 69 74 2c 20 74 68 65 20 63 6c 61 73 73 20 6e 61 6d 65 20 6f 72 20 6e 61 .not.in.it,.the.class.name.or.na
202e0 6d 65 73 70 61 63 65 20 70 72 6f 62 61 62 6c 79 20 68 61 73 20 61 20 74 79 70 6f 2e 27 2c 20 24 mespace.probably.has.a.typo.',.$
20300 63 6c 61 73 73 2c 20 24 66 69 6c 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 class,.$file));.............}...
20320 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 29 20 ..........if.(self::$caseCheck).
20340 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 61 6c 20 3d 20 65 78 70 6c 6f 64 {.................$real.=.explod
20360 65 28 27 5c 5c 27 2c 20 24 63 6c 61 73 73 2e 73 74 72 72 63 68 72 28 24 66 69 6c 65 2c 20 27 2e e('\\',.$class.strrchr($file,.'.
20380 27 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 69 6c 20 3d 20 65 78 70 '));.................$tail.=.exp
203a0 6c 6f 64 65 28 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 lode(DIRECTORY_SEPARATOR,.str_re
203c0 70 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 place('/',.DIRECTORY_SEPARATOR,.
203e0 24 66 69 6c 65 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 20 3d 20 63 $file));..................$i.=.c
20400 6f 75 6e 74 28 24 74 61 69 6c 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ount($tail).-.1;................
20420 20 24 6a 20 3d 20 63 6f 75 6e 74 28 24 72 65 61 6c 29 20 2d 20 31 3b 0a 0a 20 20 20 20 20 20 20 .$j.=.count($real).-.1;.........
20440 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 61 69 6c 5b 24 69 5d 2c .........while.(isset($tail[$i],
20460 20 24 72 65 61 6c 5b 24 6a 5d 29 20 26 26 20 24 74 61 69 6c 5b 24 69 5d 20 3d 3d 3d 20 24 72 65 .$real[$j]).&&.$tail[$i].===.$re
20480 61 6c 5b 24 6a 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d al[$j]).{.....................--
204a0 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 24 6a 3b 0a 20 20 $i;.....................--$j;...
204c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
204e0 20 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 61 69 6c 2c 20 30 2c 20 24 69 20 2b 20 31 29 3b .array_splice($tail,.0,.$i.+.1);
20500 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 69 66 20 28 73 .............}.............if.(s
20520 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 26 26 20 24 74 61 69 6c 29 20 7b 0a 20 20 20 20 elf::$caseCheck.&&.$tail).{.....
20540 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 69 6c 20 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 ............$tail.=.DIRECTORY_SE
20560 50 41 52 41 54 4f 52 2e 69 6d 70 6c 6f 64 65 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 PARATOR.implode(DIRECTORY_SEPARA
20580 54 4f 52 2c 20 24 74 61 69 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 TOR,.$tail);.................$ta
205a0 69 6c 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 74 61 69 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 ilLen.=.strlen($tail);..........
205c0 20 20 20 20 20 20 20 24 72 65 61 6c 20 3d 20 24 72 65 66 6c 2d 3e 67 65 74 46 69 6c 65 4e 61 6d .......$real.=.$refl->getFileNam
205e0 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 32 20 3d 3d 3d 20 e();..................if.(2.===.
20600 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 self::$caseCheck).{.............
20620 20 20 20 20 20 20 20 20 2f 2f 20 72 65 61 6c 70 61 74 68 28 29 20 6f 6e 20 4d 61 63 4f 53 58 20 ........//.realpath().on.MacOSX.
20640 64 6f 65 73 6e 27 74 20 6e 6f 72 6d 61 6c 69 7a 65 20 74 68 65 20 63 61 73 65 20 6f 66 20 63 68 doesn't.normalize.the.case.of.ch
20660 61 72 61 63 74 65 72 73 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 aracters......................$i
20680 20 3d 20 31 20 2b 20 73 74 72 72 70 6f 73 28 24 72 65 61 6c 2c 20 27 2f 27 29 3b 0a 20 20 20 20 .=.1.+.strrpos($real,.'/');.....
206a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 73 75 62 73 74 72 28 24 ................$file.=.substr($
206c0 72 65 61 6c 2c 20 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 real,.$i);.....................$
206e0 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 20 20 real.=.substr($real,.0,.$i);....
20700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 ..................if.(isset(self
20720 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 72 65 61 6c 5d 29 29 20 7b 0a 20 20 20 20 20 20 ::$darwinCache[$real])).{.......
20740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 44 69 72 20 3d 20 24 72 65 61 6c 3b ..................$kDir.=.$real;
20760 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 .....................}.else.{...
20780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 44 69 72 20 3d 20 73 74 ......................$kDir.=.st
207a0 72 74 6f 6c 6f 77 65 72 28 24 72 65 61 6c 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rtolower($real);................
207c0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 61 72 77 69 ..........if.(isset(self::$darwi
207e0 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nCache[$kDir])).{...............
20800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 61 6c 20 3d 20 73 65 6c 66 3a 3a 24 64 61 72 ..............$real.=.self::$dar
20820 77 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 winCache[$kDir][0];.............
20840 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 20 ............}.else.{............
20860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 20 3d 20 67 65 74 63 77 64 28 29 .................$dir.=.getcwd()
20880 3b 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 63 68 ;.............................ch
208a0 64 69 72 28 24 72 65 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dir($real);.....................
208c0 20 20 20 20 20 20 20 20 24 72 65 61 6c 20 3d 20 67 65 74 63 77 64 28 29 2e 27 2f 27 3b 0a 20 20 ........$real.=.getcwd().'/';...
208e0 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 63 68 64 69 72 28 ..........................chdir(
20900 24 64 69 72 29 3b 0a 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 $dir);..........................
20920 20 20 20 20 24 64 69 72 20 3d 20 24 72 65 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....$dir.=.$real;...............
20940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 20 3d 20 24 6b 44 69 72 3b 0a 20 20 20 20 20 20 ..............$k.=.$kDir;.......
20960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 20 3d 20 73 74 72 6c 65 ......................$i.=.strle
20980 6e 28 24 64 69 72 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n($dir).-.1;....................
209a0 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 61 .........while.(!isset(self::$da
209c0 72 77 69 6e 43 61 63 68 65 5b 24 6b 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rwinCache[$k])).{...............
209e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 ..................self::$darwinC
20a00 61 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 ache[$k].=.array($dir,.array());
20a20 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 20 20 ................................
20a40 20 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 .self::$darwinCache[$dir].=.&sel
20a60 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 5d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 f::$darwinCache[$k];............
20a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 27 2f 27 ......................while.('/'
20aa0 20 21 3d 3d 20 24 64 69 72 5b 2d 2d 24 69 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .!==.$dir[--$i]).{..............
20ac0 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 20 ...................}............
20ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 20 3d 20 73 75 62 73 74 72 .....................$k.=.substr
20b00 28 24 6b 2c 20 30 2c 20 2b 2b 24 69 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ($k,.0,.++$i);..................
20b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 20 3d 20 73 75 62 73 74 72 28 24 64 69 ...............$dir.=.substr($di
20b40 72 2c 20 30 2c 20 24 69 2d 2d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r,.0,.$i--);....................
20b60 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 20 .........}......................
20b80 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 0a 20 20 20 20 ...}.....................}......
20ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 46 69 6c 65 73 20 3d 20 73 65 6c 66 ................$dirFiles.=.self
20bc0 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 20 20 20 20 20 ::$darwinCache[$kDir][1];.......
20be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 64 69 72 46 69 6c ...............if.(isset($dirFil
20c00 65 73 5b 24 66 69 6c 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es[$file])).{...................
20c20 20 20 20 20 20 20 24 6b 46 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 ......$kFile.=.$file;...........
20c40 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 20 20 20 ..........}.else.{..............
20c60 20 20 20 20 20 20 20 20 20 20 20 24 6b 46 69 6c 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 ...........$kFile.=.strtolower($
20c80 66 69 6c 65 29 3b 0a 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 file);..........................
20ca0 69 66 20 28 21 69 73 73 65 74 28 24 64 69 72 46 69 6c 65 73 5b 24 6b 46 69 6c 65 5d 29 29 20 7b if.(!isset($dirFiles[$kFile])).{
20cc0 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 66 6f 72 .............................for
20ce0 65 61 63 68 20 28 73 63 61 6e 64 69 72 28 24 72 65 61 6c 2c 20 32 29 20 61 73 20 24 66 29 20 7b each.(scandir($real,.2).as.$f).{
20d00 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 20 20 ................................
20d20 20 69 66 20 28 27 2e 27 20 21 3d 3d 20 24 66 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .if.('.'.!==.$f[0]).{...........
20d40 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 24 64 69 72 46 69 ..........................$dirFi
20d60 6c 65 73 5b 24 66 5d 20 3d 20 24 66 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 les[$f].=.$f;...................
20d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 20 3d 3d 3d 20 24 66 69 ..................if.($f.===.$fi
20da0 6c 65 29 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 le).{...........................
20dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 46 69 6c 65 20 3d 20 24 6b 20 3d 20 24 66 69 6c ..............$kFile.=.$k.=.$fil
20de0 65 3b 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 e;..............................
20e00 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 66 20 21 3d 3d 20 24 6b 20 3d 20 73 74 72 .......}.elseif.($f.!==.$k.=.str
20e20 74 6f 6c 6f 77 65 72 28 24 66 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tolower($f)).{..................
20e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 46 69 6c 65 73 .......................$dirFiles
20e60 5b 24 6b 5d 20 3d 20 24 66 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [$k].=.$f;......................
20e80 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 ...............}................
20ea0 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 20 20 20 .................}..............
20ec0 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 ...............}................
20ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b .............self::$darwinCache[
20f00 24 6b 44 69 72 5d 5b 31 5d 20 3d 20 24 64 69 72 46 69 6c 65 73 3b 0a 20 20 20 20 20 20 20 20 20 $kDir][1].=.$dirFiles;..........
20f20 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 ...............}................
20f40 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 61 .....}......................$rea
20f60 6c 20 2e 3d 20 24 64 69 72 46 69 6c 65 73 5b 24 6b 46 69 6c 65 5d 3b 0a 20 20 20 20 20 20 20 20 l..=.$dirFiles[$kFile];.........
20f80 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 ........}..................if.(0
20fa0 20 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 .===.substr_compare($real,.$tail
20fc0 2c 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 20 20 20 ,.-$tailLen,.$tailLen,.true)....
20fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 30 20 21 3d 3d 20 73 75 62 73 74 72 5f 63 ...............&&.0.!==.substr_c
21000 6f 6d 70 61 72 65 28 24 72 65 61 6c 2c 20 24 74 61 69 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 2c 20 ompare($real,.$tail,.-$tailLen,.
21020 24 74 61 69 6c 4c 65 6e 2c 20 66 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $tailLen,.false)................
21040 20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e .).{.....................throw.n
21060 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 43 61 ew.\RuntimeException(sprintf('Ca
21080 73 65 20 6d 69 73 6d 61 74 63 68 20 62 65 74 77 65 65 6e 20 63 6c 61 73 73 20 61 6e 64 20 72 65 se.mismatch.between.class.and.re
210a0 61 6c 20 66 69 6c 65 20 6e 61 6d 65 73 3a 20 25 73 20 76 73 20 25 73 20 69 6e 20 25 73 27 2c 20 al.file.names:.%s.vs.%s.in.%s',.
210c0 73 75 62 73 74 72 28 24 74 61 69 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 2c 20 73 75 substr($tail,.-$tailLen.+.1),.su
210e0 62 73 74 72 28 24 72 65 61 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 2c 20 73 75 62 73 bstr($real,.-$tailLen.+.1),.subs
21100 74 72 28 24 72 65 61 6c 2c 20 30 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 29 29 3b 0a 20 tr($real,.0,.-$tailLen.+.1)));..
21120 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 0a ...............}.............}..
21140 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;........
21160 20 7d 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c .}.....}.}.<?php../*..*.This.fil
21180 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 e.is.part.of.the.Symfony.package
211a0 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 ...*..*.(c).Fabien.Potencier.<fa
211c0 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 bien@symfony.com>..*..*.For.the.
211e0 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 20 69 6e 66 6f 72 full.copyright.and.license.infor
21200 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a mation,.please.view.the.LICENSE.
21220 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 .*.file.that.was.distributed.wit
21240 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 h.this.source.code...*/..namespa
21260 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 73 65 ce.Symfony\Component\Debug;..use
21280 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 74 69 .Symfony\Component\Debug\Excepti
212a0 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 on\FlattenException;.use.Symfony
212c0 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 4f 75 74 4f 66 \Component\Debug\Exception\OutOf
212e0 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 45 78 63 65 70 74 69 MemoryException;../**..*.Excepti
21300 6f 6e 48 61 6e 64 6c 65 72 20 63 6f 6e 76 65 72 74 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 onHandler.converts.an.exception.
21320 74 6f 20 61 20 52 65 73 70 6f 6e 73 65 20 6f 62 6a 65 63 74 2e 0a 20 2a 0a 20 2a 20 49 74 20 69 to.a.Response.object...*..*.It.i
21340 73 20 6d 6f 73 74 6c 79 20 75 73 65 66 75 6c 20 69 6e 20 64 65 62 75 67 20 6d 6f 64 65 20 74 6f s.mostly.useful.in.debug.mode.to
21360 20 72 65 70 6c 61 63 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 50 48 50 2f 58 44 65 62 75 67 0a .replace.the.default.PHP/XDebug.
21380 20 2a 20 6f 75 74 70 75 74 20 77 69 74 68 20 73 6f 6d 65 74 68 69 6e 67 20 70 72 65 74 74 69 65 .*.output.with.something.prettie
213a0 72 20 61 6e 64 20 6d 6f 72 65 20 75 73 65 66 75 6c 2e 0a 20 2a 0a 20 2a 20 41 73 20 74 68 69 73 r.and.more.useful...*..*.As.this
213c0 20 63 6c 61 73 73 20 69 73 20 6d 61 69 6e 6c 79 20 75 73 65 64 20 64 75 72 69 6e 67 20 4b 65 72 .class.is.mainly.used.during.Ker
213e0 6e 65 6c 20 62 6f 6f 74 2c 20 77 68 65 72 65 20 6e 6f 74 68 69 6e 67 20 69 73 20 79 65 74 0a 20 nel.boot,.where.nothing.is.yet..
21400 2a 20 61 76 61 69 6c 61 62 6c 65 2c 20 74 68 65 20 52 65 73 70 6f 6e 73 65 20 63 6f 6e 74 65 6e *.available,.the.Response.conten
21420 74 20 69 73 20 61 6c 77 61 79 73 20 48 54 4d 4c 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 t.is.always.HTML...*..*.@author.
21440 46 61 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 Fabien.Potencier.<fabien@symfony
21460 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 4e 69 63 6f 6c 61 73 20 47 72 65 6b 61 73 20 .com>..*.@author.Nicolas.Grekas.
21480 3c 70 40 74 63 68 77 6f 72 6b 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 45 78 63 65 70 74 <p@tchwork.com>..*/.class.Except
214a0 69 6f 6e 48 61 6e 64 6c 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 62 75 67 3b ionHandler.{.....private.$debug;
214c0 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 68 61 72 73 65 74 3b 0a 20 20 20 20 70 72 69 76 61 .....private.$charset;.....priva
214e0 74 65 20 24 68 61 6e 64 6c 65 72 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 61 75 67 68 74 te.$handler;.....private.$caught
21500 42 75 66 66 65 72 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 61 75 67 68 74 4c 65 6e 67 74 Buffer;.....private.$caughtLengt
21520 68 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 3b 0a h;.....private.$fileLinkFormat;.
21540 0a 20 20 20 20 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
21560 28 24 64 65 62 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 ($debug.=.true,.$charset.=.null,
21580 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 .$fileLinkFormat.=.null).....{..
215a0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 62 75 67 20 3d 20 24 64 65 62 75 67 3b 0a 20 20 .......$this->debug.=.$debug;...
215c0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 20 3d 20 24 63 68 61 72 73 65 74 20 ......$this->charset.=.$charset.
215e0 3f 3a 20 69 6e 69 5f 67 65 74 28 27 64 65 66 61 75 6c 74 5f 63 68 61 72 73 65 74 27 29 20 3f 3a ?:.ini_get('default_charset').?:
21600 20 27 55 54 46 2d 38 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e .'UTF-8';.........$this->fileLin
21620 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 3a 20 69 6e 69 kFormat.=.$fileLinkFormat.?:.ini
21640 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 61 74 27 29 20 _get('xdebug.file_link_format').
21660 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 5f 6c 69 6e 6b ?:.get_cfg_var('xdebug.file_link
21680 5f 66 6f 72 6d 61 74 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a _format');.....}....../**......*
216a0 20 52 65 67 69 73 74 65 72 73 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 .Registers.the.exception.handler
216c0 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 20 20 20 20 .......*......*.@param.bool.....
216e0 20 20 20 24 64 65 62 75 67 20 20 20 20 20 20 20 20 20 20 45 6e 61 62 6c 65 2f 64 69 73 61 62 6c ...$debug..........Enable/disabl
21700 65 20 64 65 62 75 67 20 6d 6f 64 65 2c 20 77 68 65 72 65 20 74 68 65 20 73 74 61 63 6b 20 74 72 e.debug.mode,.where.the.stack.tr
21720 61 63 65 20 69 73 20 64 69 73 70 6c 61 79 65 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 ace.is.displayed......*.@param.s
21740 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 63 68 61 72 73 65 74 20 20 20 20 20 20 20 20 54 68 65 20 63 tring|null.$charset........The.c
21760 68 61 72 73 65 74 20 75 73 65 64 20 62 79 20 65 78 63 65 70 74 69 6f 6e 20 6d 65 73 73 61 67 65 harset.used.by.exception.message
21780 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 66 69 6c s......*.@param.string|null.$fil
217a0 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 54 68 65 20 49 44 45 20 6c 69 6e 6b 20 74 65 6d 70 6c 61 74 eLinkFormat.The.IDE.link.templat
217c0 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 45 78 63 65 70 74 69 6f e......*......*.@return.Exceptio
217e0 6e 48 61 6e 64 6c 65 72 20 54 68 65 20 72 65 67 69 73 74 65 72 65 64 20 65 78 63 65 70 74 69 6f nHandler.The.registered.exceptio
21800 6e 20 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 n.handler......*/.....public.sta
21820 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 75 67 20 3d 20 74 tic.function.register($debug.=.t
21840 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 65 4c 69 6e 6b 46 rue,.$charset.=.null,.$fileLinkF
21860 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 68 61 6e ormat.=.null).....{.........$han
21880 64 6c 65 72 20 3d 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 dler.=.new.static($debug,.$chars
218a0 65 74 2c 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 et,.$fileLinkFormat);..........$
218c0 70 72 65 76 20 3d 20 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 61 72 72 prev.=.set_exception_handler(arr
218e0 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 20 20 20 20 20 20 20 ay($handler,.'handle'));........
21900 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 29 20 26 26 20 24 70 72 65 76 5b 30 5d .if.(is_array($prev).&&.$prev[0]
21920 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 29 20 7b 0a 20 20 20 20 .instanceof.ErrorHandler).{.....
21940 20 20 20 20 20 20 20 20 72 65 73 74 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 ........restore_exception_handle
21960 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 65 76 5b 30 5d 2d 3e 73 65 74 45 78 r();.............$prev[0]->setEx
21980 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 ceptionHandler(array($handler,.'
219a0 68 61 6e 64 6c 65 27 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 handle'));.........}..........re
219c0 74 75 72 6e 20 24 68 61 6e 64 6c 65 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 turn.$handler;.....}....../**...
219e0 20 20 20 2a 20 53 65 74 73 20 61 20 75 73 65 72 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c ...*.Sets.a.user.exception.handl
21a00 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 6c er.......*......*.@param.callabl
21a20 65 20 24 68 61 6e 64 6c 65 72 20 41 6e 20 68 61 6e 64 6c 65 72 20 74 68 61 74 20 77 69 6c 6c 20 e.$handler.An.handler.that.will.
21a40 62 65 20 63 61 6c 6c 65 64 20 6f 6e 20 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 be.called.on.Exception......*...
21a60 20 20 20 2a 20 40 72 65 74 75 72 6e 20 63 61 6c 6c 61 62 6c 65 7c 6e 75 6c 6c 20 54 68 65 20 70 ...*.@return.callable|null.The.p
21a80 72 65 76 69 6f 75 73 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 20 69 66 20 61 6e 79 revious.exception.handler.if.any
21aa0 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 74 ......*/.....public.function.set
21ac0 48 61 6e 64 6c 65 72 28 63 61 6c 6c 61 62 6c 65 20 24 68 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c Handler(callable.$handler.=.null
21ae0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6f 6c 64 20 3d 20 24 74 68 69 73 2d 3e 68 61 ).....{.........$old.=.$this->ha
21b00 6e 64 6c 65 72 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 20 3d 20 ndler;.........$this->handler.=.
21b20 24 68 61 6e 64 6c 65 72 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6f 6c 64 3b 0a $handler;..........return.$old;.
21b40 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 66 ....}....../**......*.Sets.the.f
21b60 6f 72 6d 61 74 20 66 6f 72 20 6c 69 6e 6b 73 20 74 6f 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e ormat.for.links.to.source.files.
21b80 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 6e 67 20 24 66 6f ......*......*.@param.string.$fo
21ba0 72 6d 61 74 20 54 68 65 20 66 6f 72 6d 61 74 20 66 6f 72 20 6c 69 6e 6b 73 20 74 6f 20 73 6f 75 rmat.The.format.for.links.to.sou
21bc0 72 63 65 20 66 69 6c 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 rce.files......*......*.@return.
21be0 73 74 72 69 6e 67 20 54 68 65 20 70 72 65 76 69 6f 75 73 20 66 69 6c 65 20 6c 69 6e 6b 20 66 6f string.The.previous.file.link.fo
21c00 72 6d 61 74 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 rmat......*/.....public.function
21c20 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 20 20 20 20 .setFileLinkFormat($format).....
21c40 7b 0a 20 20 20 20 20 20 20 20 24 6f 6c 64 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b {.........$old.=.$this->fileLink
21c60 46 6f 72 6d 61 74 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 Format;.........$this->fileLinkF
21c80 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ormat.=.$format;..........return
21ca0 20 24 6f 6c 64 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 65 6e .$old;.....}....../**......*.Sen
21cc0 64 73 20 61 20 72 65 73 70 6f 6e 73 65 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 45 78 63 65 ds.a.response.for.the.given.Exce
21ce0 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 6f 20 62 65 20 61 73 20 66 61 ption.......*......*.To.be.as.fa
21d00 69 6c 2d 73 61 66 65 20 61 73 20 70 6f 73 73 69 62 6c 65 2c 20 74 68 65 20 65 78 63 65 70 74 69 il-safe.as.possible,.the.excepti
21d20 6f 6e 20 69 73 20 66 69 72 73 74 20 68 61 6e 64 6c 65 64 0a 20 20 20 20 20 2a 20 62 79 20 6f 75 on.is.first.handled......*.by.ou
21d40 72 20 73 69 6d 70 6c 65 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 2c 20 74 68 65 6e r.simple.exception.handler,.then
21d60 20 62 79 20 74 68 65 20 75 73 65 72 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 2e 0a .by.the.user.exception.handler..
21d80 20 20 20 20 20 2a 20 54 68 65 20 6c 61 74 74 65 72 20 74 61 6b 65 73 20 70 72 65 63 65 64 65 6e .....*.The.latter.takes.preceden
21da0 63 65 20 61 6e 64 20 61 6e 79 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 66 6f 72 6d 65 ce.and.any.output.from.the.forme
21dc0 72 20 69 73 20 63 61 6e 63 65 6c 6c 65 64 2c 0a 20 20 20 20 20 2a 20 69 66 20 61 6e 64 20 6f 6e r.is.cancelled,......*.if.and.on
21de0 6c 79 20 69 66 20 6e 6f 74 68 69 6e 67 20 62 61 64 20 68 61 70 70 65 6e 73 20 69 6e 20 74 68 69 ly.if.nothing.bad.happens.in.thi
21e00 73 20 68 61 6e 64 6c 69 6e 67 20 70 61 74 68 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 s.handling.path.......*/.....pub
21e20 6c 69 63 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 lic.function.handle(\Exception.$
21e40 65 78 63 65 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c exception).....{.........if.(nul
21e60 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 20 7c 7c 20 24 65 78 63 65 70 74 69 l.===.$this->handler.||.$excepti
21e80 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 63 65 70 74 69 on.instanceof.OutOfMemoryExcepti
21ea0 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 6e 64 50 68 70 on).{.............$this->sendPhp
21ec0 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 Response($exception);...........
21ee0 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 ...return;.........}..........$c
21f00 61 75 67 68 74 4c 65 6e 67 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 aughtLength.=.$this->caughtLengt
21f20 68 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 6f 62 5f 73 74 61 72 74 28 66 75 6e 63 74 69 6f h.=.0;..........ob_start(functio
21f40 6e 20 28 24 62 75 66 66 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d n.($buffer).{.............$this-
21f60 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 20 20 20 20 20 20 >caughtBuffer.=.$buffer;........
21f80 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 27 3b 0a 20 20 20 20 20 20 20 20 7d 29 3b 0a 0a 20 20 ......return.'';.........});....
21fa0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 6e 64 50 68 70 52 65 73 70 6f 6e 73 65 28 24 65 78 ......$this->sendPhpResponse($ex
21fc0 63 65 70 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6c 6c 20 3d 3d ception);.........while.(null.==
21fe0 3d 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 20 26 26 20 6f 62 5f 65 6e 64 5f =.$this->caughtBuffer.&&.ob_end_
22000 66 6c 75 73 68 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 6d 70 74 79 20 flush()).{.............//.Empty.
22020 6c 6f 6f 70 2c 20 65 76 65 72 79 74 68 69 6e 67 20 69 73 20 69 6e 20 74 68 65 20 63 6f 6e 64 69 loop,.everything.is.in.the.condi
22040 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 tion.........}.........if.(isset
22060 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 20 20 20 20 ($this->caughtBuffer[0])).{.....
22080 20 20 20 20 20 20 20 20 6f 62 5f 73 74 61 72 74 28 66 75 6e 63 74 69 6f 6e 20 28 24 62 75 66 66 ........ob_start(function.($buff
220a0 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d er).{.................if.($this-
220c0 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >caughtLength).{................
220e0 20 20 20 20 20 2f 2f 20 75 73 65 20 73 75 62 73 74 72 5f 72 65 70 6c 61 63 65 28 29 20 69 6e 73 .....//.use.substr_replace().ins
22100 74 65 61 64 20 6f 66 20 73 75 62 73 74 72 28 29 20 66 6f 72 20 6d 62 73 74 72 69 6e 67 20 6f 76 tead.of.substr().for.mbstring.ov
22120 65 72 6c 6f 61 64 69 6e 67 20 72 65 73 69 73 74 61 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 erloading.resistance............
22140 20 20 20 20 20 20 20 20 20 24 63 6c 65 61 6e 42 75 66 66 65 72 20 3d 20 73 75 62 73 74 72 5f 72 .........$cleanBuffer.=.substr_r
22160 65 70 6c 61 63 65 28 24 62 75 66 66 65 72 2c 20 27 27 2c 20 30 2c 20 24 74 68 69 73 2d 3e 63 61 eplace($buffer,.'',.0,.$this->ca
22180 75 67 68 74 4c 65 6e 67 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ughtLength);....................
221a0 20 69 66 20 28 69 73 73 65 74 28 24 63 6c 65 61 6e 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 20 .if.(isset($cleanBuffer[0])).{..
221c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 62 75 66 66 65 72 20 3d .......................$buffer.=
221e0 20 24 63 6c 65 61 6e 42 75 66 66 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$cleanBuffer;..................
22200 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ...}.................}..........
22220 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 62 75 66 66 65 72 3b 0a 20 20 20 20 20 20 20 20 ........return.$buffer;.........
22240 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 74 68 69 73 2d ....});..............echo.$this-
22260 3e 63 61 75 67 68 74 42 75 66 66 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 61 75 67 >caughtBuffer;.............$caug
22280 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 20 20 20 20 htLength.=.ob_get_length();.....
222a0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 ....}.........$this->caughtBuffe
222c0 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 r.=.null;..........try.{........
222e0 20 20 20 20 20 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 .....call_user_func($this->handl
22300 65 72 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 er,.$exception);.............$th
22320 69 73 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 20 3d 20 24 63 61 75 67 68 74 4c 65 6e 67 74 68 is->caughtLength.=.$caughtLength
22340 3b 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 ;.........}.catch.(\Exception.$e
22360 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 61 75 67 68 74 4c 65 6e 67 ).{.............if.(!$caughtLeng
22380 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 6c 6c 20 68 61 6e th).{.................//.All.han
223a0 64 6c 65 72 73 20 66 61 69 6c 65 64 2e 20 4c 65 74 20 50 48 50 20 68 61 6e 64 6c 65 20 74 68 61 dlers.failed..Let.PHP.handle.tha
223c0 74 20 6e 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 24 65 78 t.now..................throw.$ex
223e0 63 65 70 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d ception;.............}.........}
22400 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 6e 64 73 20 74 68 65 .....}....../**......*.Sends.the
22420 20 65 72 72 6f 72 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e .error.associated.with.the.given
22440 20 45 78 63 65 70 74 69 6f 6e 20 61 73 20 61 20 70 6c 61 69 6e 20 50 48 50 20 72 65 73 70 6f 6e .Exception.as.a.plain.PHP.respon
22460 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 75 73 se.......*......*.This.method.us
22480 65 73 20 70 6c 61 69 6e 20 50 48 50 20 66 75 6e 63 74 69 6f 6e 73 20 6c 69 6b 65 20 68 65 61 64 es.plain.PHP.functions.like.head
224a0 65 72 28 29 20 61 6e 64 20 65 63 68 6f 20 74 6f 20 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 74 er().and.echo.to.output......*.t
224c0 68 65 20 72 65 73 70 6f 6e 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 he.response.......*......*.@para
224e0 6d 20 5c 45 78 63 65 70 74 69 6f 6e 7c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 m.\Exception|FlattenException.$e
22500 78 63 65 70 74 69 6f 6e 20 41 6e 20 5c 45 78 63 65 70 74 69 6f 6e 20 6f 72 20 46 6c 61 74 74 65 xception.An.\Exception.or.Flatte
22520 6e 45 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 nException.instance......*/.....
22540 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6e 64 50 68 70 52 65 73 70 6f 6e 73 65 28 public.function.sendPhpResponse(
22560 24 65 78 63 65 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 $exception).....{.........if.(!$
22580 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 65 exception.instanceof.FlattenExce
225a0 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 78 63 65 70 74 69 6f 6e 20 ption).{.............$exception.
225c0 3d 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 65 =.FlattenException::create($exce
225e0 70 74 69 6f 6e 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 21 ption);.........}..........if.(!
22600 68 65 61 64 65 72 73 5f 73 65 6e 74 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 headers_sent()).{.............he
22620 61 64 65 72 28 73 70 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 ader(sprintf('HTTP/1.0.%s',.$exc
22640 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 29 29 3b 0a 20 20 20 20 20 eption->getStatusCode()));......
22660 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 48 .......foreach.($exception->getH
22680 65 61 64 65 72 73 28 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 20 eaders().as.$name.=>.$value).{..
226a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 28 24 6e 61 6d 65 2e 27 3a 20 27 ...............header($name.':.'
226c0 2e 24 76 61 6c 75 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .$value,.false);.............}..
226e0 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 28 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a ...........header('Content-Type:
22700 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 2d 3e 63 68 61 .text/html;.charset='.$this->cha
22720 72 73 65 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 rset);.........}..........echo.$
22740 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 6f 6e 74 65 6e 74 this->decorate($this->getContent
22760 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 79 6c 65 73 68 65 ($exception),.$this->getStyleshe
22780 65 74 28 24 65 78 63 65 70 74 69 6f 6e 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a et($exception));.....}....../**.
227a0 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 66 75 6c 6c 20 48 54 4d 4c 20 63 6f 6e 74 65 6e .....*.Gets.the.full.HTML.conten
227c0 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 65 78 63 65 t.associated.with.the.given.exce
227e0 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 5c 45 78 63 ption.......*......*.@param.\Exc
22800 65 70 74 69 6f 6e 7c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 eption|FlattenException.$excepti
22820 6f 6e 20 41 6e 20 5c 45 78 63 65 70 74 69 6f 6e 20 6f 72 20 46 6c 61 74 74 65 6e 45 78 63 65 70 on.An.\Exception.or.FlattenExcep
22840 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 tion.instance......*......*.@ret
22860 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 48 54 4d 4c 20 63 6f 6e 74 65 6e 74 20 61 73 20 61 urn.string.The.HTML.content.as.a
22880 20 73 74 72 69 6e 67 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 .string......*/.....public.funct
228a0 69 6f 6e 20 67 65 74 48 74 6d 6c 28 24 65 78 63 65 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 ion.getHtml($exception).....{...
228c0 20 20 20 20 20 20 69 66 20 28 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 ......if.(!$exception.instanceof
228e0 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .FlattenException).{............
22900 20 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3a 3a .$exception.=.FlattenException::
22920 63 72 65 61 74 65 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 create($exception);.........}...
22940 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 28 24 74 .......return.$this->decorate($t
22960 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 29 2c 20 24 74 68 his->getContent($exception),.$th
22980 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 6f 6e 29 29 3b 0a is->getStylesheet($exception));.
229a0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 48 ....}....../**......*.Gets.the.H
229c0 54 4d 4c 20 63 6f 6e 74 65 6e 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 TML.content.associated.with.the.
229e0 67 69 76 65 6e 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 given.exception.......*......*.@
22a00 70 61 72 61 6d 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f param.FlattenException.$exceptio
22a20 6e 20 41 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 n.A.FlattenException.instance...
22a40 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 63 ...*......*.@return.string.The.c
22a60 6f 6e 74 65 6e 74 20 61 73 20 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ontent.as.a.string......*/.....p
22a80 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
22aa0 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 nException.$exception).....{....
22ac0 20 20 20 20 20 73 77 69 74 63 68 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 .....switch.($exception->getStat
22ae0 75 73 43 6f 64 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 34 30 34 usCode()).{.............case.404
22b00 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 74 6c 65 20 3d 20 27 53 6f 72 72 :.................$title.=.'Sorr
22b20 79 2c 20 74 68 65 20 70 61 67 65 20 79 6f 75 20 61 72 65 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 y,.the.page.you.are.looking.for.
22b40 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 could.not.be.found.';...........
22b60 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 ......break;.............default
22b80 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 74 6c 65 20 3d 20 27 57 68 6f 6f :.................$title.=.'Whoo
22ba0 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 77 72 ps,.looks.like.something.went.wr
22bc0 6f 6e 67 2e 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 ong.';.........}..........$conte
22be0 6e 74 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 nt.=.'';.........if.($this->debu
22c00 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 g).{.............try.{..........
22c20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 65 78 63 65 70 74 69 6f 6e .......$count.=.count($exception
22c40 2d 3e 67 65 74 41 6c 6c 50 72 65 76 69 6f 75 73 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ->getAllPrevious());............
22c60 20 20 20 20 20 24 74 6f 74 61 6c 20 3d 20 24 63 6f 75 6e 74 20 2b 20 31 3b 0a 20 20 20 20 20 20 .....$total.=.$count.+.1;.......
22c80 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 74 ..........foreach.($exception->t
22ca0 6f 41 72 72 61 79 28 29 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 65 29 20 7b 0a 20 oArray().as.$position.=>.$e).{..
22cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 64 20 3d 20 24 63 6f 75 6e 74 ...................$ind.=.$count
22ce0 20 2d 20 24 70 6f 73 69 74 69 6f 6e 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-.$position.+.1;...............
22d00 20 20 20 20 20 20 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 ......$class.=.$this->formatClas
22d20 73 28 24 65 5b 27 63 6c 61 73 73 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s($e['class']);.................
22d40 20 20 20 20 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 ....$message.=.nl2br($this->esca
22d60 70 65 48 74 6d 6c 28 24 65 5b 27 6d 65 73 73 61 67 65 27 5d 29 29 3b 0a 20 20 20 20 20 20 20 20 peHtml($e['message']));.........
22d80 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 73 70 72 69 6e 74 66 28 ............$content..=.sprintf(
22da0 3c 3c 3c 27 45 4f 46 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 <<<'EOF'........................
22dc0 20 3c 68 32 20 63 6c 61 73 73 3d 22 62 6c 6f 63 6b 5f 65 78 63 65 70 74 69 6f 6e 20 63 6c 65 61 .<h2.class="block_exception.clea
22de0 72 5f 66 69 78 22 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 r_fix">.........................
22e00 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 65 78 63 65 70 74 69 6f 6e 5f 63 6f 75 6e 74 ....<span.class="exception_count
22e20 65 72 22 3e 25 64 2f 25 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er">%d/%d</span>................
22e40 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
22e60 69 6f 6e 5f 74 69 74 6c 65 22 3e 25 73 25 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 ion_title">%s%s:</span>.........
22e80 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 73 3d ....................<span.class=
22ea0 22 65 78 63 65 70 74 69 6f 6e 5f 6d 65 73 73 61 67 65 22 3e 25 73 3c 2f 73 70 61 6e 3e 0a 20 20 "exception_message">%s</span>...
22ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 68 32 3e 0a 20 20 20 20 ......................</h2>.....
22ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 ....................<div.class="
22f00 62 6c 6f 63 6b 22 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 block">.........................
22f20 20 20 20 20 3c 6f 6c 20 63 6c 61 73 73 3d 22 74 72 61 63 65 73 20 6c 69 73 74 5f 65 78 63 65 70 ....<ol.class="traces.list_excep
22f40 74 69 6f 6e 22 3e 0a 0a 45 4f 46 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion">..EOF.....................
22f60 20 20 20 20 2c 20 24 69 6e 64 2c 20 24 74 6f 74 61 6c 2c 20 24 63 6c 61 73 73 2c 20 24 74 68 69 ....,.$ind,.$total,.$class,.$thi
22f80 73 2d 3e 66 6f 72 6d 61 74 50 61 74 68 28 24 65 5b 27 74 72 61 63 65 27 5d 5b 30 5d 5b 27 66 69 s->formatPath($e['trace'][0]['fi
22fa0 6c 65 27 5d 2c 20 24 65 5b 27 74 72 61 63 65 27 5d 5b 30 5d 5b 27 6c 69 6e 65 27 5d 29 2c 20 24 le'],.$e['trace'][0]['line']),.$
22fc0 6d 65 73 73 61 67 65 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 message);.....................fo
22fe0 72 65 61 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 reach.($e['trace'].as.$trace).{.
23000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 ........................$content
23020 20 2e 3d 20 27 20 20 20 20 20 20 20 3c 6c 69 3e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..=.'.......<li>';..............
23040 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 72 61 63 65 5b 27 66 75 6e 63 74 69 6f 6e 27 ...........if.($trace['function'
23060 5d 29 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 ]).{............................
23080 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 61 74 20 25 73 25 73 25 73 28 .$content..=.sprintf('at.%s%s%s(
230a0 25 73 29 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 74 72 61 63 65 5b %s)',.$this->formatClass($trace[
230c0 27 63 6c 61 73 73 27 5d 29 2c 20 24 74 72 61 63 65 5b 27 74 79 70 65 27 5d 2c 20 24 74 72 61 63 'class']),.$trace['type'],.$trac
230e0 65 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 41 72 67 73 e['function'],.$this->formatArgs
23100 28 24 74 72 61 63 65 5b 27 61 72 67 73 27 5d 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ($trace['args']));..............
23120 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 ...........}....................
23140 20 20 20 20 20 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 26 .....if.(isset($trace['file']).&
23160 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 20 20 20 20 20 &.isset($trace['line'])).{......
23180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 20 .......................$content.
231a0 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 5b 27 66 69 6c .=.$this->formatPath($trace['fil
231c0 65 27 5d 2c 20 24 74 72 61 63 65 5b 27 6c 69 6e 65 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 e'],.$trace['line']);...........
231e0 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 ..............}.................
23200 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 22 3c 2f 6c 69 3e 5c 6e 22 3b 0a 20 ........$content..=."</li>\n";..
23220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 ...................}............
23240 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 22 20 20 20 20 3c 2f 6f 6c 3e ..........$content..=."....</ol>
23260 5c 6e 3c 2f 64 69 76 3e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 \n</div>\n";.................}..
23280 20 20 20 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 ...........}.catch.(\Exception.$
232a0 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 6f 6d 65 74 68 69 6e e).{.................//.somethin
232c0 67 20 6e 61 73 74 79 20 68 61 70 70 65 6e 65 64 20 61 6e 64 20 77 65 20 63 61 6e 6e 6f 74 20 74 g.nasty.happened.and.we.cannot.t
232e0 68 72 6f 77 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 61 6e 79 6d 6f 72 65 0a 20 20 20 20 20 20 hrow.an.exception.anymore.......
23300 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 20 20 ..........if.($this->debug).{...
23320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 74 6c 65 20 3d 20 73 70 72 69 6e ..................$title.=.sprin
23340 74 66 28 27 45 78 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 tf('Exception.thrown.when.handli
23360 6e 67 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 28 25 73 3a 20 25 73 29 27 2c 20 67 65 74 5f 63 ng.an.exception.(%s:.%s)',.get_c
23380 6c 61 73 73 28 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 lass($e),.$this->escapeHtml($e->
233a0 67 65 74 4d 65 73 73 61 67 65 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 getMessage()));.................
233c0 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 }.else.{.....................$ti
233e0 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 68 tle.=.'Whoops,.looks.like.someth
23400 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.went.wrong.';...............
23420 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 0a 0a 20 20 20 ..}.............}.........}.....
23440 20 20 20 20 20 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c .....return.<<<EOF.............<
23460 64 69 76 20 69 64 3d 22 73 66 2d 72 65 73 65 74 63 6f 6e 74 65 6e 74 22 20 63 6c 61 73 73 3d 22 div.id="sf-resetcontent".class="
23480 73 66 2d 72 65 73 65 74 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 68 31 3e 24 sf-reset">.................<h1>$
234a0 74 69 74 6c 65 3c 2f 68 31 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 74 title</h1>.................$cont
234c0 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 45 4f 46 3b 0a 20 20 20 20 ent.............</div>.EOF;.....
234e0 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 73 74 79 6c 65 }....../**......*.Gets.the.style
23500 73 68 65 65 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 sheet.associated.with.the.given.
23520 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 exception.......*......*.@param.
23540 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 20 41 20 46 6c FlattenException.$exception.A.Fl
23560 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 attenException.instance......*..
23580 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 73 74 79 6c 65 73 68 ....*.@return.string.The.stylesh
235a0 65 65 74 20 61 73 20 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c eet.as.a.string......*/.....publ
235c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 73 68 65 65 74 28 46 6c 61 74 74 65 ic.function.getStylesheet(Flatte
235e0 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 nException.$exception).....{....
23600 20 20 20 20 20 72 65 74 75 72 6e 20 3c 3c 3c 27 45 4f 46 27 0a 20 20 20 20 20 20 20 20 20 20 20 .....return.<<<'EOF'............
23620 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 65 72 64 61 6e 61 2c ..sf-reset.{.font:.11px.Verdana,
23640 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 3a 20 23 33 33 33 20 .Arial,.sans-serif;.color:.#333.
23660 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 63 6c 65 61 72 20 7b }..............sf-reset..clear.{
23680 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 6e 74 2d 73 69 7a 65 .clear:both;.height:0;.font-size
236a0 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 20 20 20 20 20 20 20 :0;.line-height:0;.}............
236c0 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 65 72 20 7b 20 64 69 ..sf-reset..clear_fix:after.{.di
236e0 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 65 61 72 3a 62 6f 74 splay:block;.height:0;.clear:bot
23700 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 20 20 20 20 20 20 20 h;.visibility:hidden;.}.........
23720 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 7b 20 64 69 73 70 6c .....sf-reset..clear_fix.{.displ
23740 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 20 20 20 20 20 20 2e ay:inline-block;.}..............
23760 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 78 20 7b 20 68 65 69 sf-reset.*.html..clear_fix.{.hei
23780 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 2d 72 65 73 65 74 20 ght:1%;.}..............sf-reset.
237a0 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 6b 3b 20 7d 0a 20 20 .clear_fix.{.display:block;.}...
237c0 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 72 65 73 65 74 20 2e ...........sf-reset,..sf-reset..
237e0 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 20 20 20 20 20 20 20 block.{.margin:.auto.}..........
23800 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 72 2d 62 6f 74 74 6f ....sf-reset.abbr.{.border-botto
23820 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 72 3a 20 68 65 6c 70 m:.1px.dotted.#000;.cursor:.help
23840 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 70 20 7b 20 66 6f ;.}..............sf-reset.p.{.fo
23860 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 3a 32 30 70 78 3b 20 nt-size:14px;.line-height:20px;.
23880 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 74 74 6f 6d 3a 32 30 color:#868686;.padding-bottom:20
238a0 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 74 20 73 74 72 6f 6e px.}..............sf-reset.stron
238c0 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 20 20 20 20 20 20 20 g.{.font-weight:bold;.}.........
238e0 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 36 63 36 31 35 39 3b .....sf-reset.a.{.color:#6c6159;
23900 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 20 20 20 20 20 20 20 .cursor:.default;.}.............
23920 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 6e 6f 6e 65 3b 20 7d .sf-reset.a.img.{.border:none;.}
23940 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 68 6f 76 65 72 20 7b ..............sf-reset.a:hover.{
23960 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 65 3b 20 7d 0a 20 20 .text-decoration:underline;.}...
23980 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 66 6f 6e 74 2d 73 74 ...........sf-reset.em.{.font-st
239a0 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 20 2e 73 66 2d 72 65 yle:italic;.}..............sf-re
239c0 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 6e 74 3a 20 32 30 70 set.h1,..sf-reset.h2.{.font:.20p
239e0 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 61 6e 22 2c 20 54 69 x.Georgia,."Times.New.Roman",.Ti
23a00 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 2e 73 66 2d 72 65 73 mes,.serif.}..............sf-res
23a20 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 61 63 6b 67 72 6f 75 et..exception_counter.{.backgrou
23a40 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 33 33 3b 20 70 61 64 nd-color:.#fff;.color:.#333;.pad
23a60 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 61 72 67 69 6e 2d 72 ding:.6px;.float:.left;.margin-r
23a80 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 64 69 73 70 6c 61 79 ight:.10px;.float:.left;.display
23aa0 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 66 2d 72 65 73 65 74 :.block;.}..............sf-reset
23ac0 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 6e 2d 6c 65 66 74 3a ..exception_title.{.margin-left:
23ae0 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 6d 3b 20 64 69 73 70 .3em;.margin-bottom:.0.7em;.disp
23b00 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 66 2d 72 65 lay:.block;.}..............sf-re
23b20 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 6d 61 72 67 69 6e 2d set..exception_message.{.margin-
23b40 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 3b 20 7d 0a 20 20 20 left:.3em;.display:.block;.}....
23b60 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 73 20 6c 69 20 7b 20 ..........sf-reset..traces.li.{.
23b80 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 32 70 78 20 34 70 78 font-size:12px;.padding:.2px.4px
23ba0 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 3b 20 6d 61 72 67 69 ;.list-style-type:decimal;.margi
23bc0 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 20 20 2e 73 66 2d 72 n-left:20px;.}..............sf-r
23be0 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 63 6f 6c 6f 72 3a 23 eset..block.{.background-color:#
23c00 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 3b 20 6d 61 72 67 69 FFFFFF;.padding:10px.28px;.margi
23c20 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 20 20 20 20 20 20 2d n-bottom:20px;.................-
23c40 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 74 2d 72 61 64 69 75 webkit-border-bottom-right-radiu
23c60 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 77 65 62 6b 69 74 s:.16px;.................-webkit
23c80 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 73 3a 20 31 36 70 78 -border-bottom-left-radius:.16px
23ca0 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 72 64 65 72 2d 72 61 ;.................-moz-border-ra
23cc0 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 20 20 20 20 20 20 20 dius-bottomright:.16px;.........
23ce0 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 62 6f 74 74 6f ........-moz-border-radius-botto
23d00 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 20 20 20 20 62 6f 72 mleft:.16px;.................bor
23d20 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 31 36 70 78 3b 0a 20 der-bottom-right-radius:.16px;..
23d40 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 74 6f 6d 2d 6c 65 66 ...............border-bottom-lef
23d60 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;.................
23d80 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 63 63 63 3b 0a 20 20 border-bottom:1px.solid.#ccc;...
23da0 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 74 3a 31 70 78 20 73 ..............border-right:1px.s
23dc0 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 20 20 62 6f 72 64 65 olid.#ccc;.................borde
23de0 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 20 20 20 20 20 20 20 r-left:1px.solid.#ccc;..........
23e00 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 6f 72 64 3b 0a 20 20 .......word-wrap:.break-word;...
23e20 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 73 66 2d 72 65 73 65 ..........}..............sf-rese
23e40 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 67 72 6f 75 6e 64 2d t..block_exception.{.background-
23e60 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 70 61 64 64 69 6e 67 color:#ddd;.color:.#333;.padding
23e80 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 65 62 6b 69 74 2d 62 :20px;.................-webkit-b
23ea0 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 70 78 3b 0a 20 20 20 order-top-left-radius:.16px;....
23ec0 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 65 72 2d 74 6f 70 2d .............-webkit-border-top-
23ee0 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 20 20 20 20 20 20 20 right-radius:.16px;.............
23f00 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 70 6c 65 66 74 3a 20 ....-moz-border-radius-topleft:.
23f20 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 72 64 65 16px;.................-moz-borde
23f40 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 20 20 20 20 20 20 20 r-radius-topright:.16px;........
23f60 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 72 61 64 69 75 73 3a .........border-top-left-radius:
23f80 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 72 64 65 72 2d 74 6f .16px;.................border-to
23fa0 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 20 20 20 20 20 p-right-radius:.16px;...........
23fc0 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 64 20 23 63 63 63 3b ......border-top:1px.solid.#ccc;
23fe0 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 74 3a 31 70 .................border-right:1p
24000 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 20 20 62 6f x.solid.#ccc;.................bo
24020 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 20 20 20 20 rder-left:1px.solid.#ccc;.......
24040 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 6e 3b 0a 20 20 20 20 ..........overflow:.hidden;.....
24060 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 6f 72 ............word-wrap:.break-wor
24080 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 73 66 d;.............}..............sf
240a0 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 65 3b 20 63 6f 6c 6f -reset.a.{.background:none;.colo
240c0 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 6e 3a 6e 6f 6e 65 3b r:#868686;.text-decoration:none;
240e0 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 68 6f 76 65 72 .}..............sf-reset.a:hover
24100 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 3a 23 33 31 33 31 33 .{.background:none;.color:#31313
24120 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 69 6e 65 3b 20 7d 0a 1;.text-decoration:underline;.}.
24140 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 7b 20 70 61 64 64 69 .............sf-reset.ol.{.paddi
24160 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 20 2e 73 66 2d 72 65 ng:.10px.0;.}..............sf-re
24180 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 3a 23 46 46 46 46 46 set.h1.{.background-color:#FFFFF
241a0 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 72 67 69 6e 2d 62 6f F;.padding:.15px.28px;.margin-bo
241c0 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 20 20 20 2d 77 65 62 ttom:.20px;.................-web
241e0 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 20 20 20 20 20 20 20 kit-border-radius:.10px;........
24200 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 3a 20 31 30 70 .........-moz-border-radius:.10p
24220 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 72 61 64 69 75 73 x;.................border-radius
24240 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 3a 20 :.10px;.................border:.
24260 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 7d 0a 45 4f 1px.solid.#ccc;.............}.EO
24280 46 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 69 6f 6e 20 64 F;.....}......private.function.d
242a0 65 63 6f 72 61 74 65 28 24 63 6f 6e 74 65 6e 74 2c 20 24 63 73 73 29 0a 20 20 20 20 7b 0a 20 20 ecorate($content,.$css).....{...
242c0 20 20 20 20 20 20 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 3c 21 44 4f 43 54 59 50 45 20 68 74 ......return.<<<EOF.<!DOCTYPE.ht
242e0 6d 6c 3e 0a 3c 68 74 6d 6c 3e 0a 20 20 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 6d ml>.<html>.....<head>.........<m
24300 65 74 61 20 63 68 61 72 73 65 74 3d 22 7b 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 7d 22 20 2f eta.charset="{$this->charset}"./
24320 3e 0a 20 20 20 20 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 72 6f 62 6f 74 73 22 20 63 6f >.........<meta.name="robots".co
24340 6e 74 65 6e 74 3d 22 6e 6f 69 6e 64 65 78 2c 6e 6f 66 6f 6c 6c 6f 77 22 20 2f 3e 0a 20 20 20 20 ntent="noindex,nofollow"./>.....
24360 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 43 6f 70 79 72 ....<style>............./*.Copyr
24380 69 67 68 74 20 28 63 29 20 32 30 31 30 2c 20 59 61 68 6f 6f 21 20 49 6e 63 2e 20 41 6c 6c 20 72 ight.(c).2010,.Yahoo!.Inc..All.r
243a0 69 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 20 43 6f 64 65 20 6c 69 63 65 6e 73 65 64 20 75 6e ights.reserved..Code.licensed.un
243c0 64 65 72 20 74 68 65 20 42 53 44 20 4c 69 63 65 6e 73 65 3a 20 68 74 74 70 3a 2f 2f 64 65 76 65 der.the.BSD.License:.http://deve
243e0 6c 6f 70 65 72 2e 79 61 68 6f 6f 2e 63 6f 6d 2f 79 75 69 2f 6c 69 63 65 6e 73 65 2e 68 74 6d 6c loper.yahoo.com/yui/license.html
24400 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 7b 63 6f 6c 6f 72 3a 23 30 30 30 3b .*/.............html{color:#000;
24420 62 61 63 6b 67 72 6f 75 6e 64 3a 23 46 46 46 3b 7d 62 6f 64 79 2c 64 69 76 2c 64 6c 2c 64 74 2c background:#FFF;}body,div,dl,dt,
24440 64 64 2c 75 6c 2c 6f 6c 2c 6c 69 2c 68 31 2c 68 32 2c 68 33 2c 68 34 2c 68 35 2c 68 36 2c 70 72 dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pr
24460 65 2c 63 6f 64 65 2c 66 6f 72 6d 2c 66 69 65 6c 64 73 65 74 2c 6c 65 67 65 6e 64 2c 69 6e 70 75 e,code,form,fieldset,legend,inpu
24480 74 2c 74 65 78 74 61 72 65 61 2c 70 2c 62 6c 6f 63 6b 71 75 6f 74 65 2c 74 68 2c 74 64 7b 6d 61 t,textarea,p,blockquote,th,td{ma
244a0 72 67 69 6e 3a 30 3b 70 61 64 64 69 6e 67 3a 30 3b 7d 74 61 62 6c 65 7b 62 6f 72 64 65 72 2d 63 rgin:0;padding:0;}table{border-c
244c0 6f 6c 6c 61 70 73 65 3a 63 6f 6c 6c 61 70 73 65 3b 62 6f 72 64 65 72 2d 73 70 61 63 69 6e 67 3a ollapse:collapse;border-spacing:
244e0 30 3b 7d 66 69 65 6c 64 73 65 74 2c 69 6d 67 7b 62 6f 72 64 65 72 3a 30 3b 7d 61 64 64 72 65 73 0;}fieldset,img{border:0;}addres
24500 73 2c 63 61 70 74 69 6f 6e 2c 63 69 74 65 2c 63 6f 64 65 2c 64 66 6e 2c 65 6d 2c 73 74 72 6f 6e s,caption,cite,code,dfn,em,stron
24520 67 2c 74 68 2c 76 61 72 7b 66 6f 6e 74 2d 73 74 79 6c 65 3a 6e 6f 72 6d 61 6c 3b 66 6f 6e 74 2d g,th,var{font-style:normal;font-
24540 77 65 69 67 68 74 3a 6e 6f 72 6d 61 6c 3b 7d 6c 69 7b 6c 69 73 74 2d 73 74 79 6c 65 3a 6e 6f 6e weight:normal;}li{list-style:non
24560 65 3b 7d 63 61 70 74 69 6f 6e 2c 74 68 7b 74 65 78 74 2d 61 6c 69 67 6e 3a 6c 65 66 74 3b 7d 68 e;}caption,th{text-align:left;}h
24580 31 2c 68 32 2c 68 33 2c 68 34 2c 68 35 2c 68 36 7b 66 6f 6e 74 2d 73 69 7a 65 3a 31 30 30 25 3b 1,h2,h3,h4,h5,h6{font-size:100%;
245a0 66 6f 6e 74 2d 77 65 69 67 68 74 3a 6e 6f 72 6d 61 6c 3b 7d 71 3a 62 65 66 6f 72 65 2c 71 3a 61 font-weight:normal;}q:before,q:a
245c0 66 74 65 72 7b 63 6f 6e 74 65 6e 74 3a 27 27 3b 7d 61 62 62 72 2c 61 63 72 6f 6e 79 6d 7b 62 6f fter{content:'';}abbr,acronym{bo
245e0 72 64 65 72 3a 30 3b 66 6f 6e 74 2d 76 61 72 69 61 6e 74 3a 6e 6f 72 6d 61 6c 3b 7d 73 75 70 7b rder:0;font-variant:normal;}sup{
24600 76 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 74 65 78 74 2d 74 6f 70 3b 7d 73 75 62 7b 76 65 72 vertical-align:text-top;}sub{ver
24620 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 74 65 78 74 2d 62 6f 74 74 6f 6d 3b 7d 69 6e 70 75 74 2c 74 tical-align:text-bottom;}input,t
24640 65 78 74 61 72 65 61 2c 73 65 6c 65 63 74 7b 66 6f 6e 74 2d 66 61 6d 69 6c 79 3a 69 6e 68 65 72 extarea,select{font-family:inher
24660 69 74 3b 66 6f 6e 74 2d 73 69 7a 65 3a 69 6e 68 65 72 69 74 3b 66 6f 6e 74 2d 77 65 69 67 68 74 it;font-size:inherit;font-weight
24680 3a 69 6e 68 65 72 69 74 3b 7d 69 6e 70 75 74 2c 74 65 78 74 61 72 65 61 2c 73 65 6c 65 63 74 7b :inherit;}input,textarea,select{
246a0 2a 66 6f 6e 74 2d 73 69 7a 65 3a 31 30 30 25 3b 7d 6c 65 67 65 6e 64 7b 63 6f 6c 6f 72 3a 23 30 *font-size:100%;}legend{color:#0
246c0 30 30 3b 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 20 7b 20 62 61 63 6b 67 72 6f 00;}..............html.{.backgro
246e0 75 6e 64 3a 20 23 65 65 65 3b 20 70 61 64 64 69 6e 67 3a 20 31 30 70 78 20 7d 0a 20 20 20 20 20 und:.#eee;.padding:.10px.}......
24700 20 20 20 20 20 20 20 69 6d 67 20 7b 20 62 6f 72 64 65 72 3a 20 30 3b 20 7d 0a 20 20 20 20 20 20 .......img.{.border:.0;.}.......
24720 20 20 20 20 20 20 23 73 66 2d 72 65 73 65 74 63 6f 6e 74 65 6e 74 20 7b 20 77 69 64 74 68 3a 39 ......#sf-resetcontent.{.width:9
24740 37 30 70 78 3b 20 6d 61 72 67 69 6e 3a 30 20 61 75 74 6f 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 70px;.margin:0.auto;.}..........
24760 20 20 20 24 63 73 73 0a 20 20 20 20 20 20 20 20 3c 2f 73 74 79 6c 65 3e 0a 20 20 20 20 3c 2f 68 ...$css.........</style>.....</h
24780 65 61 64 3e 0a 20 20 20 20 3c 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 ead>.....<body>.........$content
247a0 0a 20 20 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 45 4f 46 3b 0a 20 20 20 20 7d 0a .....</body>.</html>.EOF;.....}.
247c0 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 43 6c 61 73 .....private.function.formatClas
247e0 73 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 61 72 74 73 20 3d s($class).....{.........$parts.=
24800 20 65 78 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 63 6c 61 73 73 29 3b 0a 0a 20 20 20 20 20 20 20 .explode('\\',.$class);.........
24820 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 61 62 62 72 20 74 69 74 6c 65 3d 22 25 73 .return.sprintf('<abbr.title="%s
24840 22 3e 25 73 3c 2f 61 62 62 72 3e 27 2c 20 24 63 6c 61 73 73 2c 20 61 72 72 61 79 5f 70 6f 70 28 ">%s</abbr>',.$class,.array_pop(
24860 24 70 61 72 74 73 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e $parts));.....}......private.fun
24880 63 74 69 6f 6e 20 66 6f 72 6d 61 74 50 61 74 68 28 24 70 61 74 68 2c 20 24 6c 69 6e 65 29 0a 20 ction.formatPath($path,.$line)..
248a0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 65 73 63 61 ...{.........$path.=.$this->esca
248c0 70 65 48 74 6d 6c 28 24 70 61 74 68 29 3b 0a 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 70 peHtml($path);.........$file.=.p
248e0 72 65 67 5f 6d 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 reg_match('#[^/\\\\]*$#',.$path,
24900 20 24 66 69 6c 65 29 20 3f 20 24 66 69 6c 65 5b 30 5d 20 3a 20 24 70 61 74 68 3b 0a 0a 20 20 20 .$file).?.$file[0].:.$path;.....
24920 20 20 20 20 20 69 66 20 28 24 6c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 74 68 69 73 2d 3e 66 69 .....if.($linkFormat.=.$this->fi
24940 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e leLinkFormat).{.............$lin
24960 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 6d 6c 28 24 6c 69 6e k.=.strtr($this->escapeHtml($lin
24980 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 70 61 74 68 2c 20 27 kFormat),.array('%f'.=>.$path,.'
249a0 25 6c 27 20 3d 3e 20 28 69 6e 74 29 20 24 6c 69 6e 65 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 %l'.=>.(int).$line));...........
249c0 20 20 20 72 65 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 ...return.sprintf('.in.<a.href="
249e0 25 73 22 20 74 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 %s".title="Go.to.source">%s.line
24a00 20 25 64 3c 2f 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 .%d</a>',.$link,.$file,.$line);.
24a20 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 20 73 70 72 69 6e 74 ........}..........return.sprint
24a40 66 28 27 20 69 6e 20 3c 61 20 74 69 74 6c 65 3d 22 25 73 20 6c 69 6e 65 20 25 33 24 64 22 20 6f f('.in.<a.title="%s.line.%3$d".o
24a60 6e 64 62 6c 63 6c 69 63 6b 3d 22 76 61 72 20 66 3d 74 68 69 73 2e 69 6e 6e 65 72 48 54 4d 4c 3b ndblclick="var.f=this.innerHTML;
24a80 74 68 69 73 2e 69 6e 6e 65 72 48 54 4d 4c 3d 74 68 69 73 2e 74 69 74 6c 65 3b 74 68 69 73 2e 74 this.innerHTML=this.title;this.t
24aa0 69 74 6c 65 3d 66 3b 22 3e 25 73 20 6c 69 6e 65 20 25 64 3c 2f 61 3e 27 2c 20 24 70 61 74 68 2c itle=f;">%s.line.%d</a>',.$path,
24ac0 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 .$file,.$line);.....}....../**..
24ae0 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 6e 20 61 72 72 61 79 20 61 73 20 61 20 73 74 72 69 ....*.Formats.an.array.as.a.stri
24b00 6e 67 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 ng.......*......*.@param.array.$
24b20 61 72 67 73 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 61 72 72 61 79 0a 20 20 20 20 20 2a 0a 20 args.The.argument.array......*..
24b40 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 ....*.@return.string......*/....
24b60 20 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 28 61 72 72 .private.function.formatArgs(arr
24b80 61 79 20 24 61 72 67 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 ay.$args).....{.........$result.
24ba0 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 61 72 67 =.array();.........foreach.($arg
24bc0 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 69 74 65 6d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 s.as.$key.=>.$item).{...........
24be0 20 20 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 20 7b 0a 20 ..if.('object'.===.$item[0]).{..
24c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d ...............$formattedValue.=
24c20 20 73 70 72 69 6e 74 66 28 27 3c 65 6d 3e 6f 62 6a 65 63 74 3c 2f 65 6d 3e 28 25 73 29 27 2c 20 .sprintf('<em>object</em>(%s)',.
24c40 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 69 74 65 6d 5b 31 5d 29 29 3b 0a 20 $this->formatClass($item[1]));..
24c60 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 27 61 72 72 61 79 27 20 3d 3d 3d ...........}.elseif.('array'.===
24c80 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6f .$item[0]).{.................$fo
24ca0 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 6d 3e 61 72 72 61 rmattedValue.=.sprintf('<em>arra
24cc0 79 3c 2f 65 6d 3e 28 25 73 29 27 2c 20 69 73 5f 61 72 72 61 79 28 24 69 74 65 6d 5b 31 5d 29 20 y</em>(%s)',.is_array($item[1]).
24ce0 3f 20 24 74 68 69 73 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 ?.$this->formatArgs($item[1]).:.
24d00 24 69 74 65 6d 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 $item[1]);.............}.elseif.
24d20 28 27 73 74 72 69 6e 67 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 ('string'.===.$item[0]).{.......
24d40 20 20 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 70 72 69 ..........$formattedValue.=.spri
24d60 6e 74 66 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 ntf("'%s'",.$this->escapeHtml($i
24d80 74 65 6d 5b 31 5d 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 tem[1]));.............}.elseif.(
24da0 27 6e 75 6c 6c 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 'null'.===.$item[0]).{..........
24dc0 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 27 3c 65 6d 3e 6e 75 .......$formattedValue.=.'<em>nu
24de0 6c 6c 3c 2f 65 6d 3e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 ll</em>';.............}.elseif.(
24e00 27 62 6f 6f 6c 65 61 6e 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 'boolean'.===.$item[0]).{.......
24e20 20 20 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 27 3c 65 6d ..........$formattedValue.=.'<em
24e40 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 74 65 6d 5b 31 >'.strtolower(var_export($item[1
24e60 5d 2c 20 74 72 75 65 29 29 2e 27 3c 2f 65 6d 3e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ],.true)).'</em>';.............}
24e80 20 65 6c 73 65 69 66 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 .elseif.('resource'.===.$item[0]
24ea0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 64 56 61 ).{.................$formattedVa
24ec0 6c 75 65 20 3d 20 27 3c 65 6d 3e 72 65 73 6f 75 72 63 65 3c 2f 65 6d 3e 27 3b 0a 20 20 20 20 20 lue.=.'<em>resource</em>';......
24ee0 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 20 .......}.else.{.................
24f00 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c $formattedValue.=.str_replace("\
24f20 6e 22 2c 20 27 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 74 68 69 73 2d 3e 65 73 63 61 70 65 n",.'',.var_export($this->escape
24f40 48 74 6d 6c 28 28 73 74 72 69 6e 67 29 20 24 69 74 65 6d 5b 31 5d 29 2c 20 74 72 75 65 29 29 3b Html((string).$item[1]),.true));
24f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 .............}..............$res
24f80 75 6c 74 5b 5d 20 3d 20 69 73 5f 69 6e 74 28 24 6b 65 79 29 20 3f 20 24 66 6f 72 6d 61 74 74 65 ult[].=.is_int($key).?.$formatte
24fa0 64 56 61 6c 75 65 20 3a 20 73 70 72 69 6e 74 66 28 22 27 25 73 27 20 3d 3e 20 25 73 22 2c 20 24 dValue.:.sprintf("'%s'.=>.%s",.$
24fc0 6b 65 79 2c 20 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 7d key,.$formattedValue);.........}
24fe0 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 ..........return.implode(',.',.$
25000 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 48 result);.....}....../**......*.H
25020 54 4d 4c 2d 65 6e 63 6f 64 65 73 20 61 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 TML-encodes.a.string.......*/...
25040 20 20 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 ..private.function.escapeHtml($s
25060 74 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 68 74 6d 6c 73 70 65 tr).....{.........return.htmlspe
25080 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 45 4e 54 cialchars($str,.ENT_QUOTES.|.ENT
250a0 5f 53 55 42 53 54 49 54 55 54 45 2c 20 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 29 3b 0a 20 20 _SUBSTITUTE,.$this->charset);...
250c0 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 ..}.}.<?php../*..*.This.file.is.
250e0 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a part.of.the.Symfony.package...*.
25100 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 .*.(c).Fabien.Potencier.<fabien@
25120 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 symfony.com>..*..*.For.the.full.
25140 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f copyright.and.license.informatio
25160 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 n,.please.view.the.LICENSE..*.fi
25180 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 le.that.was.distributed.with.thi
251a0 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 s.source.code...*/..namespace.Sy
251c0 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 0a mfony\Component\Console\Helper;.
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 4f .use.Symfony\Component\Console\O
25200 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 53 79 6d 66 6f utput\OutputInterface;.use.Symfo
25220 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 49 ny\Component\Console\Exception\I
25240 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 0a 2f 2a 2a 0a 20 2a nvalidArgumentException;../**..*
25260 20 50 72 6f 76 69 64 65 73 20 68 65 6c 70 65 72 73 20 74 6f 20 64 69 73 70 6c 61 79 20 61 20 74 .Provides.helpers.to.display.a.t
25280 61 62 6c 65 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e able...*..*.@author.Fabien.Poten
252a0 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 cier.<fabien@symfony.com>..*.@au
252c0 74 68 6f 72 20 d0 a1 d0 b0 d1 88 d0 b0 20 d0 a1 d1 82 d0 b0 d0 bc d0 b5 d0 bd d0 ba d0 be d0 b2 thor............................
252e0 d0 b8 d1 9b 20 3c 75 6d 70 69 72 73 6b 79 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 .....<umpirsky@gmail.com>..*.@au
25300 74 68 6f 72 20 41 62 64 65 6c 6c 61 74 69 66 20 41 69 74 20 62 6f 75 64 61 64 20 3c 61 2e 61 69 thor.Abdellatif.Ait.boudad.<a.ai
25320 74 62 6f 75 64 61 64 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 4d 61 tboudad@gmail.com>..*.@author.Ma
25340 78 20 47 72 69 67 6f 72 69 61 6e 20 3c 6d 61 78 61 6b 61 77 69 7a 61 72 64 40 67 6d 61 69 6c 2e x.Grigorian.<maxakawizard@gmail.
25360 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 54 61 62 6c 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 com>..*/.class.Table.{...../**..
25380 20 20 20 20 2a 20 54 61 62 6c 65 20 68 65 61 64 65 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 ....*.Table.headers.......*.....
253a0 20 2a 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 .*.@var.array......*/.....privat
253c0 65 20 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 e.$headers.=.array();....../**..
253e0 20 20 20 20 2a 20 54 61 62 6c 65 20 72 6f 77 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 ....*.Table.rows.......*......*.
25400 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 @var.array......*/.....private.$
25420 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 rows.=.array();....../**......*.
25440 43 6f 6c 75 6d 6e 20 77 69 64 74 68 73 20 63 61 63 68 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 Column.widths.cache.......*.....
25460 20 2a 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 .*.@var.array......*/.....privat
25480 65 20 24 65 66 66 65 63 74 69 76 65 43 6f 6c 75 6d 6e 57 69 64 74 68 73 20 3d 20 61 72 72 61 79 e.$effectiveColumnWidths.=.array
254a0 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4e 75 6d 62 65 72 20 6f 66 20 63 6f ();....../**......*.Number.of.co
254c0 6c 75 6d 6e 73 20 63 61 63 68 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 lumns.cache.......*......*.@var.
254e0 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6e 75 6d 62 65 array......*/.....private.$numbe
25500 72 4f 66 43 6f 6c 75 6d 6e 73 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 rOfColumns;....../**......*.@var
25520 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 .OutputInterface......*/.....pri
25540 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 vate.$output;....../**......*.@v
25560 61 72 20 54 61 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 ar.TableStyle......*/.....privat
25580 65 20 24 73 74 79 6c 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 61 e.$style;....../**......*.@var.a
255a0 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6f 6c 75 6d 6e rray......*/.....private.$column
255c0 53 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 Styles.=.array();....../**......
255e0 2a 20 55 73 65 72 20 73 65 74 20 63 6f 6c 75 6d 6e 20 77 69 64 74 68 73 2e 0a 20 20 20 20 20 2a *.User.set.column.widths.......*
25600 0a 20 20 20 20 20 2a 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ......*.@var.array......*/.....p
25620 72 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 rivate.$columnWidths.=.array();.
25640 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 79 6c 65 73 3b 0a 0a 20 20 .....private.static.$styles;....
25660 20 20 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 ..public.function.__construct(Ou
25680 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 tputInterface.$output).....{....
256a0 20 20 20 20 20 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 20 .....$this->output.=.$output;...
256c0 20 20 20 20 20 20 20 69 66 20 28 21 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 20 20 20 .......if.(!self::$styles).{....
256e0 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 69 .........self::$styles.=.self::i
25700 6e 69 74 53 74 79 6c 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 nitStyles();.........}..........
25720 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 64 65 66 61 75 6c 74 27 29 3b 0a 20 20 20 20 $this->setStyle('default');.....
25740 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 61 20 73 74 79 6c 65 20 64 }....../**......*.Sets.a.style.d
25760 65 66 69 6e 69 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 efinition.......*......*.@param.
25780 73 74 72 69 6e 67 20 20 20 20 20 24 6e 61 6d 65 20 20 54 68 65 20 73 74 79 6c 65 20 6e 61 6d 65 string.....$name..The.style.name
257a0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 54 61 62 6c 65 53 74 79 6c 65 20 24 73 74 79 6c 65 ......*.@param.TableStyle.$style
257c0 20 41 20 54 61 62 6c 65 53 74 79 6c 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 .A.TableStyle.instance......*/..
257e0 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 73 65 74 53 74 79 ...public.static.function.setSty
25800 6c 65 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 54 61 62 6c 65 53 74 79 6c 65 20 24 leDefinition($name,.TableStyle.$
25820 73 74 79 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 73 65 6c 66 3a 3a style).....{.........if.(!self::
25840 24 73 74 79 6c 65 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 73 74 $styles).{.............self::$st
25860 79 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 20 20 20 20 20 yles.=.self::initStyles();......
25880 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d ...}..........self::$styles[$nam
258a0 65 5d 20 3d 20 24 73 74 79 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 e].=.$style;.....}....../**.....
258c0 20 2a 20 47 65 74 73 20 61 20 73 74 79 6c 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 62 79 20 6e 61 .*.Gets.a.style.definition.by.na
258e0 6d 65 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 6e 67 20 me.......*......*.@param.string.
25900 24 6e 61 6d 65 20 54 68 65 20 73 74 79 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 $name.The.style.name......*.....
25920 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 53 74 79 6c 65 20 41 20 54 61 62 6c 65 53 74 79 .*.@return.TableStyle.A.TableSty
25940 6c 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 73 le.instance......*/.....public.s
25960 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f tatic.function.getStyleDefinitio
25980 6e 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 73 65 6c 66 n($name).....{.........if.(!self
259a0 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 ::$styles).{.............self::$
259c0 73 74 79 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 20 20 20 styles.=.self::initStyles();....
259e0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a .....}..........if.(isset(self::
25a00 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 $styles[$name])).{.............r
25a20 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 20 20 20 20 eturn.self::$styles[$name];.....
25a40 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 ....}..........throw.new.Invalid
25a60 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 53 74 79 6c 65 ArgumentException(sprintf('Style
25a80 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));
25aa0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 61 62 6c .....}....../**......*.Sets.tabl
25ac0 65 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 54 61 e.style.......*......*.@param.Ta
25ae0 62 6c 65 53 74 79 6c 65 7c 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 73 74 79 6c 65 20 bleStyle|string.$name.The.style.
25b00 6e 61 6d 65 20 6f 72 20 61 20 54 61 62 6c 65 53 74 79 6c 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 name.or.a.TableStyle.instance...
25b20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 0a 20 20 20 20 20 2a ...*......*.@return.Table......*
25b40 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 53 74 79 6c 65 28 24 /.....public.function.setStyle($
25b60 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 name).....{.........$this->style
25b80 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 3b 0a 0a .=.$this->resolveStyle($name);..
25ba0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ........return.$this;.....}.....
25bc0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 62 ./**......*.Gets.the.current.tab
25be0 6c 65 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 le.style.......*......*.@return.
25c00 54 61 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 TableStyle......*/.....public.fu
25c20 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 nction.getStyle().....{.........
25c40 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 return.$this->style;.....}......
25c60 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 61 62 6c 65 20 63 6f 6c 75 6d 6e 20 73 74 79 /**......*.Sets.table.column.sty
25c80 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 le.......*......*.@param.int....
25ca0 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 20 43 6f 6c 75 6d 6e 20 69 ...........$columnIndex.Column.i
25cc0 6e 64 65 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 54 61 62 6c 65 53 74 79 6c 65 7c 73 74 ndex......*.@param.TableStyle|st
25ce0 72 69 6e 67 20 24 6e 61 6d 65 20 20 20 20 20 20 20 20 54 68 65 20 73 74 79 6c 65 20 6e 61 6d 65 ring.$name........The.style.name
25d00 20 6f 72 20 61 20 54 61 62 6c 65 53 74 79 6c 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a .or.a.TableStyle.instance......*
25d20 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 ......*.@return.Table......*/...
25d40 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6c 75 6d 6e 53 74 79 6c 65 ..public.function.setColumnStyle
25d60 28 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 2c 20 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 ($columnIndex,.$name).....{.....
25d80 20 20 20 20 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 20 3d 20 69 6e 74 76 61 6c 28 24 63 6f 6c 75 6d ....$columnIndex.=.intval($colum
25da0 6e 49 6e 64 65 78 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 nIndex);..........$this->columnS
25dc0 74 79 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 tyles[$columnIndex].=.$this->res
25de0 6f 6c 76 65 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 olveStyle($name);..........retur
25e00 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 n.$this;.....}....../**......*.G
25e20 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 79 6c 65 20 66 6f 72 20 61 20 63 6f 6c 75 ets.the.current.style.for.a.colu
25e40 6d 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 49 66 20 73 74 79 6c 65 20 77 61 73 20 6e mn.......*......*.If.style.was.n
25e60 6f 74 20 73 65 74 2c 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 67 6c 6f 62 61 6c 20 74 61 ot.set,.it.returns.the.global.ta
25e80 62 6c 65 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 ble.style.......*......*.@param.
25ea0 69 6e 74 20 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 20 43 6f 6c 75 6d 6e 20 69 6e 64 65 78 0a 20 20 int.$columnIndex.Column.index...
25ec0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 53 74 79 6c 65 0a 20 ...*......*.@return.TableStyle..
25ee0 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 67 65 74 43 6f ....*/.....public.function.getCo
25f00 6c 75 6d 6e 53 74 79 6c 65 28 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 29 0a 20 20 20 20 7b 0a 20 20 lumnStyle($columnIndex).....{...
25f20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 ......if.(isset($this->columnSty
25f40 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 les[$columnIndex])).{...........
25f60 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 6c 65 73 5b 24 63 6f ..return.$this->columnStyles[$co
25f80 6c 75 6d 6e 49 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 lumnIndex];.........}..........r
25fa0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 20 20 20 20 7d 0a 0a eturn.$this->getStyle();.....}..
25fc0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 ..../**......*.Sets.the.minimum.
25fe0 77 69 64 74 68 20 6f 66 20 61 20 63 6f 6c 75 6d 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a width.of.a.column.......*......*
26000 20 40 70 61 72 61 6d 20 69 6e 74 20 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 20 43 6f 6c 75 6d 6e 20 .@param.int.$columnIndex.Column.
26020 69 6e 64 65 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 77 69 64 74 68 20 20 index......*.@param.int.$width..
26040 20 20 20 20 20 4d 69 6e 69 6d 75 6d 20 63 6f 6c 75 6d 6e 20 77 69 64 74 68 20 69 6e 20 63 68 61 .....Minimum.column.width.in.cha
26060 72 61 63 74 65 72 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 racters......*......*.@return.Ta
26080 62 6c 65 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 ble......*/.....public.function.
260a0 73 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 2c 20 24 77 69 setColumnWidth($columnIndex,.$wi
260c0 64 74 68 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e dth).....{.........$this->column
260e0 57 69 64 74 68 73 5b 69 6e 74 76 61 6c 28 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 29 5d 20 3d 20 69 Widths[intval($columnIndex)].=.i
26100 6e 74 76 61 6c 28 24 77 69 64 74 68 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 ntval($width);..........return.$
26120 74 68 69 73 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 65 74 73 this;.....}....../**......*.Sets
26140 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 77 69 64 74 68 20 6f 66 20 61 6c 6c 20 63 6f 6c 75 6d 6e .the.minimum.width.of.all.column
26160 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 77 s.......*......*.@param.array.$w
26180 69 64 74 68 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c idths......*......*.@return.Tabl
261a0 65 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 e......*/.....public.function.se
261c0 74 43 6f 6c 75 6d 6e 57 69 64 74 68 73 28 61 72 72 61 79 20 24 77 69 64 74 68 73 29 0a 20 20 20 tColumnWidths(array.$widths)....
261e0 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 20 3d .{.........$this->columnWidths.=
26200 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 77 69 64 74 .array();.........foreach.($widt
26220 68 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 77 69 64 74 68 29 20 7b 0a 20 20 20 20 20 20 hs.as.$index.=>.$width).{.......
26240 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 69 6e 64 ......$this->setColumnWidth($ind
26260 65 78 2c 20 24 77 69 64 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ex,.$width);.........}..........
26280 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 return.$this;.....}......public.
262a0 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 20 24 68 65 61 64 65 function.setHeaders(array.$heade
262c0 72 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 rs).....{.........$headers.=.arr
262e0 61 79 5f 76 61 6c 75 65 73 28 24 68 65 61 64 65 72 73 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 ay_values($headers);.........if.
26300 28 21 65 6d 70 74 79 28 24 68 65 61 64 65 72 73 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 (!empty($headers).&&.!is_array($
26320 68 65 61 64 65 72 73 5b 30 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 68 65 61 64 headers[0])).{.............$head
26340 65 72 73 20 3d 20 61 72 72 61 79 28 24 68 65 61 64 65 72 73 29 3b 0a 20 20 20 20 20 20 20 20 7d ers.=.array($headers);.........}
26360 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 ..........$this->headers.=.$head
26380 65 72 73 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 ers;..........return.$this;.....
263a0 7d 0a 0a 20 20 20 20 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 }......public.function.setRows(a
263c0 72 72 61 79 20 24 72 6f 77 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d rray.$rows).....{.........$this-
263e0 3e 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e >rows.=.array();..........return
26400 20 24 74 68 69 73 2d 3e 61 64 64 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 .$this->addRows($rows);.....}...
26420 20 20 20 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
26440 20 24 72 6f 77 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 .$rows).....{.........foreach.($
26460 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 rows.as.$row).{.............$thi
26480 73 2d 3e 61 64 64 52 6f 77 28 24 72 6f 77 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 s->addRow($row);.........}......
264a0 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 ....return.$this;.....}......pub
264c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 28 24 72 6f 77 29 0a 20 20 20 20 7b 0a lic.function.addRow($row).....{.
264e0 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c ........if.($row.instanceof.Tabl
26500 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d eSeparator).{.............$this-
26520 3e 72 6f 77 73 5b 5d 20 3d 20 24 72 6f 77 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 >rows[].=.$row;..............ret
26540 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 urn.$this;.........}..........if
26560 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 6f 77 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .(!is_array($row)).{............
26580 20 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 .throw.new.InvalidArgumentExcept
265a0 69 6f 6e 28 27 41 20 72 6f 77 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 72 20 61 ion('A.row.must.be.an.array.or.a
265c0 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 2e 27 29 3b 0a 20 20 20 .TableSeparator.instance.');....
265e0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 6f 77 73 5b 5d 20 3d 20 .....}..........$this->rows[].=.
26600 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 72 6f 77 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 array_values($row);..........ret
26620 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e urn.$this;.....}......public.fun
26640 63 74 69 6f 6e 20 73 65 74 52 6f 77 28 24 63 6f 6c 75 6d 6e 2c 20 61 72 72 61 79 20 24 72 6f 77 ction.setRow($column,.array.$row
26660 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 6f 77 73 5b 24 63 6f 6c ).....{.........$this->rows[$col
26680 75 6d 6e 5d 20 3d 20 24 72 6f 77 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 umn].=.$row;..........return.$th
266a0 69 73 3b 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 6e 64 65 72 is;.....}....../**......*.Render
266c0 73 20 74 61 62 6c 65 20 74 6f 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a s.table.to.output.......*......*
266e0 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 2a 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .Example:......*.+--------------
26700 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d -+-----------------------+------
26720 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 20 20 20 20 20 2a 20 7c 20 49 53 42 4e 20 20 20 20 20 ------------+......*.|.ISBN.....
26740 20 20 20 20 20 7c 20 54 69 74 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 41 .....|.Title.................|.A
26760 75 74 68 6f 72 20 20 20 20 20 20 20 20 20 20 20 7c 0a 20 20 20 20 20 2a 20 2b 2d 2d 2d 2d 2d 2d uthor...........|......*.+------
26780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ---------+----------------------
267a0 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 0a 20 20 20 20 20 2a 20 7c 20 39 -+------------------+......*.|.9
267c0 39 39 32 31 2d 35 38 2d 31 30 2d 37 20 7c 20 44 69 76 69 6e 65 20 43 6f 6d 65 64 79 20 20 20 20 9921-58-10-7.|.Divine.Comedy....
267e0 20 20 20 20 20 7c 20 44 61 6e 74 65 20 41 6c 69 67 68 69 65 72 69 20 20 7c 0a 20 20 20 20 20 2a .....|.Dante.Alighieri..|......*
26800 20 7c 20 39 39 37 31 2d 35 2d 30 32 31 30 2d 30 20 7c 20 41 20 54 61 6c 65 20 6f 66 20 54 77 6f .|.9971-5-0210-0.|.A.Tale.of.Two
26820 20 43 69 74 69 65 73 20 20 7c 20 43 68 61 72 6c 65 73 20 44 69 63 6b 65 6e 73 20 20 7c 0a 20 20 .Cities..|.Charles.Dickens..|...
26840 20 20 20 2a 20 7c 20 39 36 30 2d 34 32 35 2d 30 35 39 2d 30 20 7c 20 54 68 65 20 4c 6f 72 64 20 ...*.|.960-425-059-0.|.The.Lord.
26860 6f 66 20 74 68 65 20 52 69 6e 67 73 20 7c 20 4a 2e 20 52 2e 20 52 2e 20 54 6f 6c 6b 69 65 6e 20 of.the.Rings.|.J..R..R..Tolkien.
26880 7c 0a 20 20 20 20 20 2a 20 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d |......*.+---------------+------
268a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -----------------+--------------
268c0 2d 2d 2d 2d 2b 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 ----+......*/.....public.functio
268e0 6e 20 72 65 6e 64 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e n.render().....{.........$this->
26900 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 3b 0a 20 20 20 20 calculateNumberOfColumns();.....
26920 20 20 20 20 24 72 6f 77 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 54 61 62 6c 65 52 6f 77 ....$rows.=.$this->buildTableRow
26940 73 28 24 74 68 69 73 2d 3e 72 6f 77 73 29 3b 0a 20 20 20 20 20 20 20 20 24 68 65 61 64 65 72 73 s($this->rows);.........$headers
26960 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 73 2d 3e .=.$this->buildTableRows($this->
26980 68 65 61 64 65 72 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c headers);..........$this->calcul
269a0 61 74 65 43 6f 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 ateColumnsWidth(array_merge($hea
269c0 64 65 72 73 2c 20 24 72 6f 77 73 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 ders,.$rows));..........$this->r
269e0 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 enderRowSeparator();.........if.
26a00 28 21 65 6d 70 74 79 28 24 68 65 61 64 65 72 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 (!empty($headers)).{............
26a20 20 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 .foreach.($headers.as.$header).{
26a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f .................$this->renderRo
26a60 77 28 24 68 65 61 64 65 72 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c w($header,.$this->style->getCell
26a80 48 65 61 64 65 72 46 6f 72 6d 61 74 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 HeaderFormat());................
26aa0 20 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 20 20 .$this->renderRowSeparator();...
26ac0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f ..........}.........}.........fo
26ae0 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 20 20 20 20 20 20 20 20 reach.($rows.as.$row).{.........
26b00 20 20 20 20 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 ....if.($row.instanceof.TableSep
26b20 61 72 61 74 6f 72 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 arator).{.................$this-
26b40 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 >renderRowSeparator();..........
26b60 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 20 24 74 68 69 ...}.else.{.................$thi
26b80 73 2d 3e 72 65 6e 64 65 72 52 6f 77 28 24 72 6f 77 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d s->renderRow($row,.$this->style-
26ba0 3e 67 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 >getCellRowFormat());...........
26bc0 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 ..}.........}.........if.(!empty
26be0 28 24 72 6f 77 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 ($rows)).{.............$this->re
26c00 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 nderRowSeparator();.........}...
26c20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 65 61 6e 75 70 28 29 3b 0a 20 20 20 20 7d 0a 0a .......$this->cleanup();.....}..
26c40 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 6e 64 65 72 73 20 68 6f 72 69 7a 6f 6e 74 61 ..../**......*.Renders.horizonta
26c60 6c 20 68 65 61 64 65 72 20 73 65 70 61 72 61 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 l.header.separator.......*......
26c80 2a 20 45 78 61 6d 70 6c 65 3a 20 2b 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d *.Example:.+-----+-----------+--
26ca0 2d 2d 2d 2d 2d 2b 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 -----+......*/.....private.funct
26cc0 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 20 20 20 20 7b 0a 20 ion.renderRowSeparator().....{..
26ce0 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 24 63 6f 75 6e 74 20 3d 20 24 74 68 69 73 2d .......if.(0.===.$count.=.$this-
26d00 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >numberOfColumns).{.............
26d20 72 65 74 75 72 6e 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 21 return;.........}..........if.(!
26d40 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 61 6c 42 6f 72 64 65 $this->style->getHorizontalBorde
26d60 72 43 68 61 72 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 rChar().&&.!$this->style->getCro
26d80 73 73 69 6e 67 43 68 61 72 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ssingChar()).{.............retur
26da0 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6d 61 72 6b 75 70 20 3d 20 n;.........}..........$markup.=.
26dc0 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 43 68 61 72 28 29 3b $this->style->getCrossingChar();
26de0 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 63 6f 6c 75 6d 6e 20 3d 20 30 3b 20 24 63 6f 6c 75 .........for.($column.=.0;.$colu
26e00 6d 6e 20 3c 20 24 63 6f 75 6e 74 3b 20 2b 2b 24 63 6f 6c 75 6d 6e 29 20 7b 0a 20 20 20 20 20 20 mn.<.$count;.++$column).{.......
26e20 20 20 20 20 20 20 24 6d 61 72 6b 75 70 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 ......$markup..=.str_repeat($thi
26e40 73 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 s->style->getHorizontalBorderCha
26e60 72 28 29 2c 20 24 74 68 69 73 2d 3e 65 66 66 65 63 74 69 76 65 43 6f 6c 75 6d 6e 57 69 64 74 68 r(),.$this->effectiveColumnWidth
26e80 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 72 6f s[$column]).$this->style->getCro
26ea0 73 73 69 6e 67 43 68 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ssingChar();.........}..........
26ec0 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 24 $this->output->writeln(sprintf($
26ee0 74 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 this->style->getBorderFormat(),.
26f00 24 6d 61 72 6b 75 70 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a $markup));.....}....../**......*
26f20 20 52 65 6e 64 65 72 73 20 76 65 72 74 69 63 61 6c 20 63 6f 6c 75 6d 6e 20 73 65 70 61 72 61 74 .Renders.vertical.column.separat
26f40 6f 72 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e or.......*/.....private.function
26f60 20 72 65 6e 64 65 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 0a 20 20 20 20 7b 0a 20 .renderColumnSeparator().....{..
26f80 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 73 74 79 .......return.sprintf($this->sty
26fa0 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 68 69 73 2d 3e 73 74 le->getBorderFormat(),.$this->st
26fc0 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 72 28 29 29 3b 0a 20 yle->getVerticalBorderChar());..
26fe0 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 6e 64 65 72 73 20 74 61 62 ...}....../**......*.Renders.tab
27000 6c 65 20 72 6f 77 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 45 78 61 6d 70 6c 65 3a 20 7c le.row.......*......*.Example:.|
27020 20 39 39 37 31 2d 35 2d 30 32 31 30 2d 30 20 7c 20 41 20 54 61 6c 65 20 6f 66 20 54 77 6f 20 43 .9971-5-0210-0.|.A.Tale.of.Two.C
27040 69 74 69 65 73 20 20 7c 20 43 68 61 72 6c 65 73 20 44 69 63 6b 65 6e 73 20 20 7c 0a 20 20 20 20 ities..|.Charles.Dickens..|.....
27060 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 72 6f 77 0a 20 20 20 .*......*.@param.array..$row....
27080 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 65 6c 6c 46 6f 72 6d 61 74 0a 20 20 ..*.@param.string.$cellFormat...
270a0 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 ...*/.....private.function.rende
270c0 72 52 6f 77 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 0a 20 20 rRow(array.$row,.$cellFormat)...
270e0 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 72 6f 77 29 29 20 7b 0a 20 ..{.........if.(empty($row)).{..
27100 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;.........}....
27120 20 20 20 20 20 20 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 65 ......$rowContent.=.$this->rende
27140 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 rColumnSeparator();.........fore
27160 61 63 68 20 28 24 74 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 ach.($this->getRowColumns($row).
27180 61 73 20 24 63 6f 6c 75 6d 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 43 6f as.$column).{.............$rowCo
271a0 6e 74 65 6e 74 20 2e 3d 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 43 65 6c 6c 28 24 72 6f 77 2c ntent..=.$this->renderCell($row,
271c0 20 24 63 6f 6c 75 6d 6e 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 3b 0a 20 20 20 20 20 20 20 20 .$column,.$cellFormat);.........
271e0 20 20 20 20 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 72 ....$rowContent..=.$this->render
27200 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ColumnSeparator();.........}....
27220 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 72 6f 77 .....$this->output->writeln($row
27240 43 6f 6e 74 65 6e 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 Content);.....}....../**......*.
27260 52 65 6e 64 65 72 73 20 74 61 62 6c 65 20 63 65 6c 6c 20 77 69 74 68 20 70 61 64 64 69 6e 67 2e Renders.table.cell.with.padding.
27280 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 24 72 6f ......*......*.@param.array..$ro
272a0 77 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 24 63 6f 6c 75 6d 6e 0a 20 w......*.@param.int....$column..
272c0 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 65 6c 6c 46 6f 72 6d 61 74 0a ....*.@param.string.$cellFormat.
272e0 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e .....*/.....private.function.ren
27300 64 65 72 43 65 6c 6c 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 derCell(array.$row,.$column,.$ce
27320 6c 6c 46 6f 72 6d 61 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 65 6c 6c 20 3d 20 llFormat).....{.........$cell.=.
27340 69 73 73 65 74 28 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 29 20 3f 20 24 72 6f 77 5b 24 63 6f 6c isset($row[$column]).?.$row[$col
27360 75 6d 6e 5d 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 24 77 69 64 74 68 20 3d 20 24 74 68 69 umn].:.'';.........$width.=.$thi
27380 73 2d 3e 65 66 66 65 63 74 69 76 65 43 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e s->effectiveColumnWidths[$column
273a0 5d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 ];.........if.($cell.instanceof.
273c0 54 61 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 TableCell.&&.$cell->getColspan()
273e0 20 3e 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 64 64 20 74 68 65 20 77 .>.1).{.............//.add.the.w
27400 69 64 74 68 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6c 75 6d 6e 73 28 6e 75 idth.of.the.following.columns(nu
27420 6d 62 65 72 73 20 6f 66 20 63 6f 6c 73 70 61 6e 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 mbers.of.colspan)..............f
27440 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 2c 20 24 63 6f 6c 75 oreach.(range($column.+.1,.$colu
27460 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 2d 20 31 29 20 61 73 mn.+.$cell->getColspan().-.1).as
27480 20 24 6e 65 78 74 43 6f 6c 75 6d 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$nextColumn).{.................
274a0 24 77 69 64 74 68 20 2b 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 53 65 70 61 72 61 $width.+=.$this->getColumnSepara
274c0 74 6f 72 57 69 64 74 68 28 29 20 2b 20 24 74 68 69 73 2d 3e 65 66 66 65 63 74 69 76 65 43 6f 6c torWidth().+.$this->effectiveCol
274e0 75 6d 6e 57 69 64 74 68 73 5b 24 6e 65 78 74 43 6f 6c 75 6d 6e 5d 3b 0a 20 20 20 20 20 20 20 20 umnWidths[$nextColumn];.........
27500 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 2f 20 73 74 72 5f ....}.........}..........//.str_
27520 70 61 64 20 77 6f 6e 27 74 20 77 6f 72 6b 20 70 72 6f 70 65 72 6c 79 20 77 69 74 68 20 6d 75 6c pad.won't.work.properly.with.mul
27540 74 69 2d 62 79 74 65 20 73 74 72 69 6e 67 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 66 69 78 20 ti-byte.strings,.we.need.to.fix.
27560 74 68 65 20 70 61 64 64 69 6e 67 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d the.padding.........if.(false.!=
27580 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
275a0 28 24 63 65 6c 6c 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ($cell,.null,.true)).{..........
275c0 20 20 20 24 77 69 64 74 68 20 2b 3d 20 73 74 72 6c 65 6e 28 24 63 65 6c 6c 29 20 2d 20 6d 62 5f ...$width.+=.strlen($cell).-.mb_
275e0 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 3b 0a 20 20 20 20 strwidth($cell,.$encoding);.....
27600 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 ....}..........$style.=.$this->g
27620 65 74 43 6f 6c 75 6d 6e 53 74 79 6c 65 28 24 63 6f 6c 75 6d 6e 29 3b 0a 0a 20 20 20 20 20 20 20 etColumnStyle($column);.........
27640 20 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 53 65 70 61 72 .if.($cell.instanceof.TableSepar
27660 61 74 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e ator).{.............return.sprin
27680 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 73 74 tf($style->getBorderFormat(),.st
276a0 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 42 6f r_repeat($style->getHorizontalBo
276c0 72 64 65 72 43 68 61 72 28 29 2c 20 24 77 69 64 74 68 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a rderChar(),.$width));.........}.
276e0 0a 20 20 20 20 20 20 20 20 24 77 69 64 74 68 20 2b 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 .........$width.+=.Helper::strle
27700 6e 28 24 63 65 6c 6c 29 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 n($cell).-.Helper::strlenWithout
27720 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 72 Decoration($this->output->getFor
27740 6d 61 74 74 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 matter(),.$cell);.........$conte
27760 6e 74 20 3d 20 73 70 72 69 6e 74 66 28 24 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 52 6f 77 43 nt.=.sprintf($style->getCellRowC
27780 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 0a 20 20 20 20 20 20 20 ontentFormat(),.$cell);.........
277a0 20 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 74 72 .return.sprintf($cellFormat,.str
277c0 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 3e 67 _pad($content,.$width,.$style->g
277e0 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 64 54 etPaddingChar(),.$style->getPadT
27800 79 70 65 28 29 29 29 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 ype()));.....}....../**......*.C
27820 61 6c 63 75 6c 61 74 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 66 6f 72 20 74 alculate.number.of.columns.for.t
27840 68 69 73 20 74 61 62 6c 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 his.table.......*/.....private.f
27860 75 6e 63 74 69 6f 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 unction.calculateNumberOfColumns
27880 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 ().....{.........if.(null.!==.$t
278a0 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 20 7b 0a 20 20 20 20 20 20 20 20 his->numberOfColumns).{.........
278c0 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 20 20 20 20 20 20 24 ....return;.........}..........$
278e0 63 6f 6c 75 6d 6e 73 20 3d 20 61 72 72 61 79 28 30 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 columns.=.array(0);.........fore
27900 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 2c ach.(array_merge($this->headers,
27920 20 24 74 68 69 73 2d 3e 72 6f 77 73 29 20 61 73 20 24 72 6f 77 29 20 7b 0a 20 20 20 20 20 20 20 .$this->rows).as.$row).{........
27940 20 20 20 20 20 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 .....if.($row.instanceof.TableSe
27960 70 61 72 61 74 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 parator).{.................conti
27980 6e 75 65 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 20 20 20 20 nue;.............}..............
279a0 24 63 6f 6c 75 6d 6e 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f 66 43 $columns[].=.$this->getNumberOfC
279c0 6f 6c 75 6d 6e 73 28 24 72 6f 77 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 olumns($row);.........}.........
279e0 20 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 6d 61 78 28 24 63 .$this->numberOfColumns.=.max($c
27a00 6f 6c 75 6d 6e 73 29 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 olumns);.....}......private.func
27a20 74 69 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 20 20 20 20 7b tion.buildTableRows($rows).....{
27a40 0a 20 20 20 20 20 20 20 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 .........$unmergedRows.=.array()
27a60 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 72 6f 77 4b 65 79 20 3d 20 30 3b 20 24 72 6f 77 ;.........for.($rowKey.=.0;.$row
27a80 4b 65 79 20 3c 20 63 6f 75 6e 74 28 24 72 6f 77 73 29 3b 20 2b 2b 24 72 6f 77 4b 65 79 29 20 7b Key.<.count($rows);.++$rowKey).{
27aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 6c .............$rows.=.$this->fill
27ac0 4e 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 20 20 20 20 20 NextRows($rows,.$rowKey);.......
27ae0 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 6f 76 65 20 61 6e 79 20 6e 65 77 20 6c 69 6e 65 20 62 72 .......//.Remove.any.new.line.br
27b00 65 61 6b 73 20 61 6e 64 20 72 65 70 6c 61 63 65 20 69 74 20 77 69 74 68 20 61 20 6e 65 77 20 6c eaks.and.replace.it.with.a.new.l
27b20 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 5b 24 ine.............foreach.($rows[$
27b40 72 6f 77 4b 65 79 5d 20 61 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 20 rowKey].as.$column.=>.$cell).{..
27b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 73 74 72 28 24 63 65 6c 6c ...............if.(!strstr($cell
27b80 2c 20 22 5c 6e 22 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 63 ,."\n")).{.....................c
27ba0 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ontinue;.................}......
27bc0 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 ...........$lines.=.explode("\n"
27be0 2c 20 24 63 65 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 ,.$cell);.................foreac
27c00 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 6c 69 6e 65 4b 65 79 20 3d 3e 20 24 6c 69 6e 65 29 20 h.($lines.as.$lineKey.=>.$line).
27c20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 65 6c 6c 20 {.....................if.($cell.
27c40 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 instanceof.TableCell).{.........
27c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 20 3d 20 6e 65 77 20 54 61 62 6c ................$line.=.new.Tabl
27c80 65 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 eCell($line,.array('colspan'.=>.
27ca0 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 $cell->getColspan()));..........
27cc0 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 ...........}....................
27ce0 20 69 66 20 28 30 20 3d 3d 3d 20 24 6c 69 6e 65 4b 65 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .if.(0.===.$lineKey).{..........
27d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 5b 24 63 ...............$rows[$rowKey][$c
27d20 6f 6c 75 6d 6e 5d 20 3d 20 24 6c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olumn].=.$line;.................
27d40 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 20 20 20 20 ....}.else.{....................
27d60 20 20 20 20 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 5b 24 6c 69 6e .....$unmergedRows[$rowKey][$lin
27d80 65 4b 65 79 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 6c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 eKey][$column].=.$line;.........
27da0 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 ............}.................}.
27dc0 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 ............}.........}.........
27de0 20 24 74 61 62 6c 65 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 .$tableRows.=.array();.........f
27e00 6f 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 72 6f 77 4b 65 79 20 3d 3e 20 24 72 6f 77 oreach.($rows.as.$rowKey.=>.$row
27e20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 62 6c 65 52 6f 77 73 5b 5d 20 3d 20 24 ).{.............$tableRows[].=.$
27e40 74 68 69 73 2d 3e 66 69 6c 6c 43 65 6c 6c 73 28 24 72 6f 77 29 3b 0a 20 20 20 20 20 20 20 20 20 this->fillCells($row);..........
27e60 20 20 20 69 66 20 28 69 73 73 65 74 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b ...if.(isset($unmergedRows[$rowK
27e80 65 79 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 62 6c 65 52 6f ey])).{.................$tableRo
27ea0 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 24 75 6e ws.=.array_merge($tableRows,.$un
27ec0 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 mergedRows[$rowKey]);...........
27ee0 20 20 7d 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 20 24 74 ..}.........}..........return.$t
27f00 61 62 6c 65 52 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 ableRows;.....}....../**......*.
27f20 66 69 6c 6c 20 72 6f 77 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 72 6f 77 73 70 61 6e 20 fill.rows.that.contains.rowspan.
27f40 3e 20 31 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 >.1.......*......*.@param.array.
27f60 24 72 6f 77 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 24 6c 69 6e 65 0a $rows......*.@param.int...$line.
27f80 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 .....*......*.@return.array.....
27fa0 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 6c 4e 65 78 .*/.....private.function.fillNex
27fc0 74 52 6f 77 73 28 24 72 6f 77 73 2c 20 24 6c 69 6e 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 tRows($rows,.$line).....{.......
27fe0 20 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 ..$unmergedRows.=.array();......
28000 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 20 61 73 20 24 63 6f 6c ...foreach.($rows[$line].as.$col
28020 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 umn.=>.$cell).{.............if.(
28040 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 20 24 63 $cell.instanceof.TableCell.&&.$c
28060 65 6c 6c 2d 3e 67 65 74 52 6f 77 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 20 20 20 20 20 20 20 ell->getRowspan().>.1).{........
28080 20 20 20 20 20 20 20 20 20 24 6e 62 4c 69 6e 65 73 20 3d 20 24 63 65 6c 6c 2d 3e 67 65 74 52 6f .........$nbLines.=.$cell->getRo
280a0 77 73 70 61 6e 28 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 wspan().-.1;.................$li
280c0 6e 65 73 20 3d 20 61 72 72 61 79 28 24 63 65 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 nes.=.array($cell);.............
280e0 20 20 20 20 69 66 20 28 73 74 72 73 74 72 28 24 63 65 6c 6c 2c 20 22 5c 6e 22 29 29 20 7b 0a 20 ....if.(strstr($cell,."\n")).{..
28100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 20 3d 20 65 78 70 6c ...................$lines.=.expl
28120 6f 64 65 28 22 5c 6e 22 2c 20 24 63 65 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ode("\n",.$cell);...............
28140 20 20 20 20 20 20 24 6e 62 4c 69 6e 65 73 20 3d 20 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 20 3e ......$nbLines.=.count($lines).>
28160 20 24 6e 62 4c 69 6e 65 73 20 3f 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 63 65 6c 6c 2c 20 .$nbLines.?.substr_count($cell,.
28180 22 5c 6e 22 29 20 3a 20 24 6e 62 4c 69 6e 65 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 "\n").:.$nbLines;...............
281a0 20 20 20 20 20 20 20 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 6e .......$rows[$line][$column].=.n
281c0 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 27 63 ew.TableCell($lines[0],.array('c
281e0 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 29 29 olspan'.=>.$cell->getColspan()))
28200 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 6c 69 6e ;.....................unset($lin
28220 65 73 5b 30 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 es[0]);.................}.......
28240 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 72 65 61 74 65 20 61 20 74 77 6f 20 64 69 6d 65 6e ...........//.create.a.two.dimen
28260 73 69 6f 6e 61 6c 20 61 72 72 61 79 20 28 72 6f 77 73 70 61 6e 20 78 20 63 6f 6c 73 70 61 6e 29 sional.array.(rowspan.x.colspan)
28280 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 3d .................$unmergedRows.=
282a0 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 61 72 72 61 79 5f 66 .array_replace_recursive(array_f
282c0 69 6c 6c 28 24 6c 69 6e 65 20 2b 20 31 2c 20 24 6e 62 4c 69 6e 65 73 2c 20 61 72 72 61 79 28 29 ill($line.+.1,.$nbLines,.array()
282e0 29 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ),.$unmergedRows);..............
28300 20 20 20 66 6f 72 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 ...foreach.($unmergedRows.as.$un
28320 6d 65 72 67 65 64 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 mergedRowKey.=>.$unmergedRow).{.
28340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 69 73 73 ....................$value.=.iss
28360 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 2d 20 24 6c 69 6e et($lines[$unmergedRowKey.-.$lin
28380 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 65 79 20 2d 20 24 e]).?.$lines[$unmergedRowKey.-.$
283a0 6c 69 6e 65 5d 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line].:.'';.....................
283c0 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 5b 24 $unmergedRows[$unmergedRowKey][$
283e0 63 6f 6c 75 6d 6e 5d 20 3d 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 24 76 61 6c 75 65 2c 20 column].=.new.TableCell($value,.
28400 61 72 72 61 79 28 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 array('colspan'.=>.$cell->getCol
28420 73 70 61 6e 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 span()));.................}.....
28440 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 66 6f 72 ........}.........}..........for
28460 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
28480 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 20 20 20 20 20 20 RowKey.=>.$unmergedRow).{.......
284a0 20 20 20 20 20 20 2f 2f 20 77 65 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 69 66 20 24 75 6e 6d ......//.we.need.to.know.if.$unm
284c0 65 72 67 65 64 52 6f 77 20 77 69 6c 6c 20 62 65 20 6d 65 72 67 65 64 20 6f 72 20 69 6e 73 65 72 ergedRow.will.be.merged.or.inser
284e0 74 65 64 20 69 6e 74 6f 20 24 72 6f 77 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 ted.into.$rows.............if.(i
28500 73 73 65 74 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 sset($rows[$unmergedRowKey]).&&.
28520 69 73 5f 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 is_array($rows[$unmergedRowKey])
28540 20 26 26 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 .&&.($this->getNumberOfColumns($
28560 72 6f 77 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 rows[$unmergedRowKey]).+.$this->
28580 67 65 74 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 getNumberOfColumns($unmergedRows
285a0 5b 24 75 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 [$unmergedRowKey]).<=.$this->num
285c0 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 berOfColumns)).{................
285e0 20 66 6f 72 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 20 61 73 20 24 63 65 6c 6c 4b .foreach.($unmergedRow.as.$cellK
28600 65 79 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ey.=>.$cell).{..................
28620 20 20 20 2f 2f 20 69 6e 73 65 72 74 20 63 65 6c 6c 20 69 6e 74 6f 20 72 6f 77 20 61 74 20 63 65 ...//.insert.cell.into.row.at.ce
28640 6c 6c 4b 65 79 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 llKey.position..................
28660 20 20 20 61 72 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 ...array_splice($rows[$unmergedR
28680 6f 77 4b 65 79 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 owKey],.$cellKey,.0,.array($cell
286a0 29 29 3b 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 ));.................}...........
286c0 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 20 24 72 6f 77 20 ..}.else.{.................$row.
286e0 3d 20 24 74 68 69 73 2d 3e 63 6f 70 79 52 6f 77 28 24 72 6f 77 73 2c 20 24 75 6e 6d 65 72 67 65 =.$this->copyRow($rows,.$unmerge
28700 64 52 6f 77 4b 65 79 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f dRowKey.-.1);.................fo
28720 72 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 reach.($unmergedRow.as.$column.=
28740 3e 20 24 63 65 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 >.$cell).{.....................i
28760 66 20 28 21 65 6d 70 74 79 28 24 63 65 6c 6c 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.(!empty($cell)).{.............
28780 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 75 6e 6d ............$row[$column].=.$unm
287a0 65 72 67 65 64 52 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ergedRow[$column];..............
287c0 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 20 20 20 .......}.................}......
287e0 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 72 6f 77 73 2c 20 24 ...........array_splice($rows,.$
28800 75 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 unmergedRowKey,.0,.array($row));
28820 0a 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 .............}.........}........
28840 20 20 72 65 74 75 72 6e 20 24 72 6f 77 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 ..return.$rows;.....}....../**..
28860 20 20 20 20 2a 20 66 69 6c 6c 20 63 65 6c 6c 73 20 66 6f 72 20 61 20 72 6f 77 20 74 68 61 74 20 ....*.fill.cells.for.a.row.that.
28880 63 6f 6e 74 61 69 6e 73 20 63 6f 6c 73 70 61 6e 20 3e 20 31 2e 0a 20 20 20 20 20 2a 0a 20 20 20 contains.colspan.>.1.......*....
288a0 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 72 6f 77 0a 20 20 20 20 20 2a 0a 20 20 20 ..*.@param.array.$row......*....
288c0 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 ..*.@return.array......*/.....pr
288e0 69 76 61 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 20 ivate.function.fillCells($row)..
28900 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6e 65 77 52 6f 77 20 3d 20 61 72 72 61 79 28 29 3b 0a ...{.........$newRow.=.array();.
28920 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 63 6f 6c 75 6d 6e ........foreach.($row.as.$column
28940 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 77 52 6f 77 .=>.$cell).{.............$newRow
28960 5b 5d 20 3d 20 24 63 65 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 65 6c [].=.$cell;.............if.($cel
28980 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 2d l.instanceof.TableCell.&&.$cell-
289a0 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 >getColspan().>.1).{............
289c0 20 20 20 20 20 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 2c .....foreach.(range($column.+.1,
289e0 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 2d .$column.+.$cell->getColspan().-
28a00 20 31 29 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .1).as.$position).{.............
28a20 20 20 20 20 20 20 20 20 2f 2f 20 69 6e 73 65 72 74 20 65 6d 70 74 79 20 76 61 6c 75 65 20 61 74 ........//.insert.empty.value.at
28a40 20 63 6f 6c 75 6d 6e 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .column.position................
28a60 20 20 20 20 20 24 6e 65 77 52 6f 77 5b 5d 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .....$newRow[].=.'';............
28a80 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 0a 0a .....}.............}.........}..
28aa0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6e 65 77 52 6f 77 20 3f 3a 20 24 72 6f 77 3b 0a ........return.$newRow.?:.$row;.
28ac0 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 72 ....}....../**......*.@param.arr
28ae0 61 79 20 24 72 6f 77 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 24 6c 69 ay.$rows......*.@param.int...$li
28b00 6e 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 ne......*......*.@return.array..
28b20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 ....*/.....private.function.copy
28b40 52 6f 77 28 24 72 6f 77 73 2c 20 24 6c 69 6e 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 Row($rows,.$line).....{.........
28b60 24 72 6f 77 20 3d 20 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 $row.=.$rows[$line];.........for
28b80 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c 6c 56 each.($row.as.$cellKey.=>.$cellV
28ba0 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 5b 24 63 65 6c 6c 4b 65 alue).{.............$row[$cellKe
28bc0 79 5d 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 65 6c 6c 56 61 y].=.'';.............if.($cellVa
28be0 6c 75 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 20 20 20 20 lue.instanceof.TableCell).{.....
28c00 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 5b 24 63 65 6c 6c 4b 65 79 5d 20 3d 20 6e 65 77 ............$row[$cellKey].=.new
28c20 20 54 61 62 6c 65 43 65 6c 6c 28 27 27 2c 20 61 72 72 61 79 28 27 63 6f 6c 73 70 61 6e 27 20 3d .TableCell('',.array('colspan'.=
28c40 3e 20 24 63 65 6c 6c 56 61 6c 75 65 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 20 20 >.$cellValue->getColspan()));...
28c60 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 72 ..........}.........}..........r
28c80 65 74 75 72 6e 20 24 72 6f 77 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 eturn.$row;.....}....../**......
28ca0 2a 20 47 65 74 73 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 62 79 20 72 6f 77 2e *.Gets.number.of.columns.by.row.
28cc0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 72 6f 77 ......*......*.@param.array.$row
28ce0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 20 ......*......*.@return.int......
28d00 2a 2f 0a 20 20 20 20 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 */.....private.function.getNumbe
28d20 72 4f 66 43 6f 6c 75 6d 6e 73 28 61 72 72 61 79 20 24 72 6f 77 29 0a 20 20 20 20 7b 0a 20 20 20 rOfColumns(array.$row).....{....
28d40 20 20 20 20 20 24 63 6f 6c 75 6d 6e 73 20 3d 20 63 6f 75 6e 74 28 24 72 6f 77 29 3b 0a 20 20 20 .....$columns.=.count($row);....
28d60 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 63 6f 6c 75 6d 6e 29 20 7b .....foreach.($row.as.$column).{
28d80 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 75 6d 6e 73 20 2b 3d 20 24 63 6f 6c 75 6d 6e .............$columns.+=.$column
28da0 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
28dc0 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 20 20 20 20 20 20 20 ->getColspan().-.1).:.0;........
28de0 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6c 75 6d 6e 73 3b 0a 20 20 20 .}..........return.$columns;....
28e00 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 6c 69 73 74 20 6f 66 20 .}....../**......*.Gets.list.of.
28e20 63 6f 6c 75 6d 6e 73 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 72 6f 77 2e 0a 20 20 20 20 20 columns.for.the.given.row.......
28e40 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 72 6f 77 0a 20 20 20 20 20 *......*.@param.array.$row......
28e60 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 *......*.@return.array......*/..
28e80 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 77 43 6f 6c 75 6d 6e ...private.function.getRowColumn
28ea0 73 28 24 72 6f 77 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6c 75 6d 6e 73 20 3d s($row).....{.........$columns.=
28ec0 20 72 61 6e 67 65 28 30 2c 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 .range(0,.$this->numberOfColumns
28ee0 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 .-.1);.........foreach.($row.as.
28f00 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 $cellKey.=>.$cell).{............
28f20 20 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 20 .if.($cell.instanceof.TableCell.
28f40 26 26 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 20 20 &&.$cell->getColspan().>.1).{...
28f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 65 78 63 6c 75 64 65 20 67 72 6f 75 70 65 64 ..............//.exclude.grouped
28f80 20 63 6f 6c 75 6d 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 75 6d .columns..................$colum
28fa0 6e 73 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 ns.=.array_diff($columns,.range(
28fc0 24 63 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 $cellKey.+.1,.$cellKey.+.$cell->
28fe0 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 getColspan().-.1));.............
29000 7d 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 20 24 63 6f 6c }.........}..........return.$col
29020 75 6d 6e 73 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 6c 63 umns;.....}....../**......*.Calc
29040 75 6c 61 74 65 73 20 63 6f 6c 75 6d 6e 73 20 77 69 64 74 68 73 2e 0a 20 20 20 20 20 2a 0a 20 20 ulates.columns.widths.......*...
29060 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 72 6f 77 73 0a 20 20 20 20 20 2a 2f 0a ...*.@param.array.$rows......*/.
29080 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 43 6f ....private.function.calculateCo
290a0 6c 75 6d 6e 73 57 69 64 74 68 28 24 72 6f 77 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 lumnsWidth($rows).....{.........
290c0 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
290e0 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).{
29100 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b .............$lengths.=.array();
29120 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 .............foreach.($rows.as.$
29140 72 6f 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 6f 77 20 row).{.................if.($row.
29160 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 0a 20 20 20 instanceof.TableSeparator).{....
29180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 .................continue;......
291a0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f ...........}..................fo
291c0 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 7b 0a 20 20 reach.($row.as.$i.=>.$cell).{...
291e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 ..................if.($cell.inst
29200 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 anceof.TableCell).{.............
29220 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 4c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e ............$textLength.=.strlen
29240 28 24 63 65 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ($cell);........................
29260 20 69 66 20 28 24 74 65 78 74 4c 65 6e 67 74 68 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 .if.($textLength.>.0).{.........
29280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 43 6f 6c 75 ....................$contentColu
292a0 6d 6e 73 20 3d 20 73 74 72 5f 73 70 6c 69 74 28 24 63 65 6c 6c 2c 20 63 65 69 6c 28 24 74 65 78 mns.=.str_split($cell,.ceil($tex
292c0 74 4c 65 6e 67 74 68 20 2f 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b tLength./.$cell->getColspan()));
292e0 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 66 6f 72 .............................for
29300 65 61 63 68 20 28 24 63 6f 6e 74 65 6e 74 43 6f 6c 75 6d 6e 73 20 61 73 20 24 70 6f 73 69 74 69 each.($contentColumns.as.$positi
29320 6f 6e 20 3d 3e 20 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.=>.$content).{...............
29340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 77 5b 24 69 20 2b 20 24 70 6f 73 ..................$row[$i.+.$pos
29360 69 74 69 6f 6e 5d 20 3d 20 24 63 6f 6e 74 65 6e 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ition].=.$content;..............
29380 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 ...............}................
293a0 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 7d .........}.....................}
293c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
293e0 20 20 20 20 24 6c 65 6e 67 74 68 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 65 6c 6c 57 ....$lengths[].=.$this->getCellW
29400 69 64 74 68 28 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 idth($row,.$column);............
29420 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 66 66 65 63 74 69 76 65 .}..............$this->effective
29440 43 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 24 6c 65 6e ColumnWidths[$column].=.max($len
29460 67 74 68 73 29 20 2b 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 gths).+.strlen($this->style->get
29480 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 29 29 20 2d 20 32 3b 0a 20 20 20 CellRowContentFormat()).-.2;....
294a0 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 47 65 74 .....}.....}....../**......*.Get
294c0 73 20 63 6f 6c 75 6d 6e 20 77 69 64 74 68 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 s.column.width.......*......*.@r
294e0 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 eturn.int......*/.....private.fu
29500 6e 63 74 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 nction.getColumnSeparatorWidth()
29520 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 73 70 72 .....{.........return.strlen(spr
29540 69 6e 74 66 28 24 74 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 intf($this->style->getBorderForm
29560 61 74 28 29 2c 20 24 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 at(),.$this->style->getVerticalB
29580 6f 72 64 65 72 43 68 61 72 28 29 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 orderChar()));.....}....../**...
295a0 20 20 20 2a 20 47 65 74 73 20 63 65 6c 6c 20 77 69 64 74 68 2e 0a 20 20 20 20 20 2a 0a 20 20 20 ...*.Gets.cell.width.......*....
295c0 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 72 6f 77 0a 20 20 20 20 20 2a 20 40 70 61 ..*.@param.array.$row......*.@pa
295e0 72 61 6d 20 69 6e 74 20 20 20 24 63 6f 6c 75 6d 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 ram.int...$column......*......*.
29600 40 72 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 @return.int......*/.....private.
29620 66 75 6e 63 74 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 function.getCellWidth(array.$row
29640 2c 20 24 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 65 6c 6c 57 69 ,.$column).....{.........$cellWi
29660 64 74 68 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 72 6f 77 dth.=.0;..........if.(isset($row
29680 5b 24 63 6f 6c 75 6d 6e 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 65 6c 6c 20 [$column])).{.............$cell.
296a0 3d 20 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 65 =.$row[$column];.............$ce
296c0 6c 6c 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 llWidth.=.Helper::strlenWithoutD
296e0 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 72 6d ecoration($this->output->getForm
29700 61 74 74 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 atter(),.$cell);.........}......
29720 20 20 20 20 24 63 6f 6c 75 6d 6e 57 69 64 74 68 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e ....$columnWidth.=.isset($this->
29740 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 29 20 3f 20 24 74 68 69 73 2d 3e columnWidths[$column]).?.$this->
29760 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 20 3a 20 30 3b 0a 0a 20 20 20 20 columnWidths[$column].:.0;......
29780 20 20 20 20 72 65 74 75 72 6e 20 6d 61 78 28 24 63 65 6c 6c 57 69 64 74 68 2c 20 24 63 6f 6c 75 ....return.max($cellWidth,.$colu
297a0 6d 6e 57 69 64 74 68 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 mnWidth);.....}....../**......*.
297c0 43 61 6c 6c 65 64 20 61 66 74 65 72 20 72 65 6e 64 65 72 69 6e 67 20 74 6f 20 63 6c 65 61 6e 75 Called.after.rendering.to.cleanu
297e0 70 20 63 61 63 68 65 20 64 61 74 61 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 p.cache.data.......*/.....privat
29800 65 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 e.function.cleanup().....{......
29820 20 20 20 24 74 68 69 73 2d 3e 65 66 66 65 63 74 69 76 65 43 6f 6c 75 6d 6e 57 69 64 74 68 73 20 ...$this->effectiveColumnWidths.
29840 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 =.array();.........$this->number
29860 4f 66 43 6f 6c 75 6d 6e 73 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 OfColumns.=.null;.....}......pri
29880 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 53 74 79 6c 65 73 28 vate.static.function.initStyles(
298a0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 62 6f 72 64 65 72 6c 65 73 73 20 3d 20 6e 65 ).....{.........$borderless.=.ne
298c0 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 62 6f 72 64 65 72 6c w.TableStyle();.........$borderl
298e0 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 ess.............->setHorizontalB
29900 6f 72 64 65 72 43 68 61 72 28 27 3d 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 orderChar('=').............->set
29920 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 20 20 20 20 20 20 20 20 VerticalBorderChar('.').........
29940 20 20 20 20 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 20 27 29 0a 20 20 20 20 20 ....->setCrossingChar('.')......
29960 20 20 20 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 70 61 63 74 20 3d 20 6e 65 77 20 54 61 62 ...;..........$compact.=.new.Tab
29980 6c 65 53 74 79 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 70 61 63 74 0a 20 20 20 20 leStyle();.........$compact.....
299a0 20 20 20 20 20 20 20 20 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 ........->setHorizontalBorderCha
299c0 72 28 27 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 r('').............->setVerticalB
299e0 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 orderChar('.').............->set
29a00 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 CrossingChar('').............->s
29a20 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 27 29 0a 20 20 20 etCellRowContentFormat('%s')....
29a40 20 20 20 20 20 3b 0a 0a 20 20 20 20 20 20 20 20 24 73 74 79 6c 65 47 75 69 64 65 20 3d 20 6e 65 .....;..........$styleGuide.=.ne
29a60 77 20 54 61 62 6c 65 53 74 79 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 73 74 79 6c 65 47 75 w.TableStyle();.........$styleGu
29a80 69 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 ide.............->setHorizontalB
29aa0 6f 72 64 65 72 43 68 61 72 28 27 2d 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 orderChar('-').............->set
29ac0 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 20 20 20 20 20 20 20 20 VerticalBorderChar('.').........
29ae0 20 20 20 20 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 20 27 29 0a 20 20 20 20 20 ....->setCrossingChar('.')......
29b00 20 20 20 20 20 20 20 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 27 25 73 .......->setCellHeaderFormat('%s
29b20 27 29 0a 20 20 20 20 20 20 20 20 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 ').........;..........return.arr
29b40 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 6e 65 77 ay(.............'default'.=>.new
29b60 20 54 61 62 6c 65 53 74 79 6c 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 62 6f 72 64 .TableStyle(),.............'bord
29b80 65 72 6c 65 73 73 27 20 3d 3e 20 24 62 6f 72 64 65 72 6c 65 73 73 2c 0a 20 20 20 20 20 20 20 20 erless'.=>.$borderless,.........
29ba0 20 20 20 20 27 63 6f 6d 70 61 63 74 27 20 3d 3e 20 24 63 6f 6d 70 61 63 74 2c 0a 20 20 20 20 20 ....'compact'.=>.$compact,......
29bc0 20 20 20 20 20 20 20 27 73 79 6d 66 6f 6e 79 2d 73 74 79 6c 65 2d 67 75 69 64 65 27 20 3d 3e 20 .......'symfony-style-guide'.=>.
29be0 24 73 74 79 6c 65 47 75 69 64 65 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 $styleGuide,.........);.....}...
29c00 20 20 20 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 ...private.function.resolveStyle
29c20 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 61 6d 65 20 ($name).....{.........if.($name.
29c40 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 74 79 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 instanceof.TableStyle).{........
29c60 20 20 20 20 20 72 65 74 75 72 6e 20 24 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 .....return.$name;.........}....
29c80 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e ......if.(isset(self::$styles[$n
29ca0 61 6d 65 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 73 65 6c 66 ame])).{.............return.self
29cc0 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 ::$styles[$name];.........}.....
29ce0 20 20 20 20 20 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
29d00 63 65 70 74 69 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 ception(sprintf('Style."%s".is.n
29d20 6f 74 20 64 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c ot.defined.',.$name));.....}.}.<
29d40 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 ?php../*..*.This.file.is.part.of
29d60 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 .the.Symfony.package...*..*.(c).
29d80 46 61 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 Fabien.Potencier.<fabien@symfony
29da0 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 .com>..*..*.For.the.full.copyrig
29dc0 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 ht.and.license.information,.plea
29de0 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 se.view.the.LICENSE..*.file.that
29e00 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 .was.distributed.with.this.sourc
29e20 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 e.code...*/..namespace.Symfony\C
29e40 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 73 65 20 53 79 omponent\Console\Helper;..use.Sy
29e60 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\
29e80 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
29ea0 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 65 6e 74 onsole\Exception\InvalidArgument
29ec0 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 48 65 6c 70 65 72 53 65 74 20 72 65 70 Exception;../**..*.HelperSet.rep
29ee0 72 65 73 65 6e 74 73 20 61 20 73 65 74 20 6f 66 20 68 65 6c 70 65 72 73 20 74 6f 20 62 65 20 75 resents.a.set.of.helpers.to.be.u
29f00 73 65 64 20 77 69 74 68 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f sed.with.a.command...*..*.@autho
29f20 72 20 46 61 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 r.Fabien.Potencier.<fabien@symfo
29f40 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 48 65 6c 70 65 72 53 65 74 20 69 6d 70 6c ny.com>..*/.class.HelperSet.impl
29f60 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 20 20 20 20 ements.\IteratorAggregate.{.....
29f80 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 48 65 6c 70 65 72 5b 5d 0a 20 20 20 20 20 2a 2f /**......*.@var.Helper[]......*/
29fa0 0a 20 20 20 20 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 .....private.$helpers.=.array();
29fc0 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 20 20 20 20 2f 2a 2a 0a .....private.$command;....../**.
29fe0 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 .....*.Constructor.......*......
2a000 2a 20 40 70 61 72 61 6d 20 48 65 6c 70 65 72 5b 5d 20 24 68 65 6c 70 65 72 73 20 41 6e 20 61 72 *.@param.Helper[].$helpers.An.ar
2a020 72 61 79 20 6f 66 20 68 65 6c 70 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 ray.of.helper......*/.....public
2a040 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 68 65 6c .function.__construct(array.$hel
2a060 70 65 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 66 6f pers.=.array()).....{.........fo
2a080 72 65 61 63 68 20 28 24 68 65 6c 70 65 72 73 20 61 73 20 24 61 6c 69 61 73 20 3d 3e 20 24 68 65 reach.($helpers.as.$alias.=>.$he
2a0a0 6c 70 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 28 24 lper).{.............$this->set($
2a0c0 68 65 6c 70 65 72 2c 20 69 73 5f 69 6e 74 28 24 61 6c 69 61 73 29 20 3f 20 6e 75 6c 6c 20 3a 20 helper,.is_int($alias).?.null.:.
2a0e0 24 61 6c 69 61 73 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 2a $alias);.........}.....}....../*
2a100 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 61 20 68 65 6c 70 65 72 2e 0a 20 20 20 20 20 2a 0a 20 *......*.Sets.a.helper.......*..
2a120 20 20 20 20 2a 20 40 70 61 72 61 6d 20 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 20 24 68 65 ....*.@param.HelperInterface.$he
2a140 6c 70 65 72 20 54 68 65 20 68 65 6c 70 65 72 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 lper.The.helper.instance......*.
2a160 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 24 61 6c 69 61 73 20 20 41 @param.string..........$alias..A
2a180 6e 20 61 6c 69 61 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 n.alias......*/.....public.funct
2a1a0 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 2c ion.set(HelperInterface.$helper,
2a1c0 20 24 61 6c 69 61 73 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 .$alias.=.null).....{.........$t
2a1e0 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 68 65 6c 70 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 5d his->helpers[$helper->getName()]
2a200 20 3d 20 24 68 65 6c 70 65 72 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d .=.$helper;.........if.(null.!==
2a220 20 24 61 6c 69 61 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 65 .$alias).{.............$this->he
2a240 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 20 20 20 20 20 20 20 lpers[$alias].=.$helper;........
2a260 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 68 65 6c 70 65 72 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 .}..........$helper->setHelperSe
2a280 74 28 24 74 68 69 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 t($this);.....}....../**......*.
2a2a0 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 68 65 6c 70 65 72 20 69 66 20 64 65 Returns.true.if.the.helper.if.de
2a2c0 66 69 6e 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 fined.......*......*.@param.stri
2a2e0 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 68 65 6c 70 65 72 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a ng.$name.The.helper.name......*.
2a300 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 20 .....*.@return.bool.true.if.the.
2a320 68 65 6c 70 65 72 20 69 73 20 64 65 66 69 6e 65 64 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 helper.is.defined,.false.otherwi
2a340 73 65 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 68 se......*/.....public.function.h
2a360 61 73 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 as($name).....{.........return.i
2a380 73 73 65 74 28 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 29 3b 0a 20 20 20 sset($this->helpers[$name]);....
2a3a0 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 61 20 68 65 6c 70 65 72 .}....../**......*.Gets.a.helper
2a3c0 20 76 61 6c 75 65 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 .value.......*......*.@param.str
2a3e0 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 68 65 6c 70 65 72 20 6e 61 6d 65 0a 20 20 20 20 20 2a ing.$name.The.helper.name......*
2a400 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 20 ......*.@return.HelperInterface.
2a420 54 68 65 20 68 65 6c 70 65 72 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 The.helper.instance......*......
2a440 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 *.@throws.InvalidArgumentExcepti
2a460 6f 6e 20 69 66 20 74 68 65 20 68 65 6c 70 65 72 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 0a on.if.the.helper.is.not.defined.
2a480 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 67 65 74 28 .....*/.....public.function.get(
2a4a0 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d $name).....{.........if.(!$this-
2a4c0 3e 68 61 73 28 24 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 >has($name)).{.............throw
2a4e0 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 70 .new.InvalidArgumentException(sp
2a500 72 69 6e 74 66 28 27 54 68 65 20 68 65 6c 70 65 72 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 rintf('The.helper."%s".is.not.de
2a520 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 fined.',.$name));.........}.....
2a540 20 20 20 20 20 72 65 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 .....return.$this->helpers[$name
2a560 5d 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 65 74 73 20 74 68 ];.....}....../**......*.Sets.th
2a580 65 20 63 6f 6d 6d 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 69 73 20 68 e.command.associated.with.this.h
2a5a0 65 6c 70 65 72 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 elper.set.......*......*.@param.
2a5c0 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 20 41 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 Command.$command.A.Command.insta
2a5e0 6e 63 65 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 nce......*/.....public.function.
2a600 73 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 20 3d 20 6e 75 setCommand(Command.$command.=.nu
2a620 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 ll).....{.........$this->command
2a640 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 .=.$command;.....}....../**.....
2a660 20 2a 20 47 65 74 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 77 .*.Gets.the.command.associated.w
2a680 69 74 68 20 74 68 69 73 20 68 65 6c 70 65 72 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 ith.this.helper.set.......*.....
2a6a0 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 41 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 .*.@return.Command.A.Command.ins
2a6c0 74 61 6e 63 65 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 tance......*/.....public.functio
2a6e0 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 n.getCommand().....{.........ret
2a700 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f urn.$this->command;.....}....../
2a720 2a 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 48 65 6c 70 65 72 5b 5d 0a 20 20 20 20 20 **......*.@return.Helper[]......
2a740 2a 2f 0a 20 20 20 20 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 */.....public.function.getIterat
2a760 6f 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 5c 41 or().....{.........return.new.\A
2a780 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 20 20 rrayIterator($this->helpers);...
2a7a0 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 ..}.}.<?php../*..*.This.file.is.
2a7c0 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a part.of.the.Symfony.package...*.
2a7e0 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 .*.(c).Fabien.Potencier.<fabien@
2a800 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 symfony.com>..*..*.For.the.full.
2a820 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f copyright.and.license.informatio
2a840 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 n,.please.view.the.LICENSE..*.fi
2a860 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 le.that.was.distributed.with.thi
2a880 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 s.source.code...*/..namespace.Sy
2a8a0 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 0a mfony\Component\Console\Helper;.
2a8c0 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 4f .use.Symfony\Component\Console\O
2a8e0 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 75 73 utput\ConsoleOutputInterface;.us
2a900 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
2a920 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\
2a940 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 6f 63 Component\Process\Exception\Proc
2a960 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 79 5c essFailedException;.use.Symfony\
2a980 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 53 Component\Process\Process;.use.S
2a9a0 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
2a9c0 42 75 69 6c 64 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 65 20 50 72 6f 63 65 73 73 48 65 6c 70 Builder;../**..*.The.ProcessHelp
2a9e0 65 72 20 63 6c 61 73 73 20 70 72 6f 76 69 64 65 73 20 68 65 6c 70 65 72 73 20 74 6f 20 72 75 6e er.class.provides.helpers.to.run
2aa00 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 63 65 73 73 65 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 .external.processes...*..*.@auth
2aa20 6f 72 20 46 61 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 or.Fabien.Potencier.<fabien@symf
2aa40 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 48 65 6c 70 65 72 ony.com>..*/.class.ProcessHelper
2aa60 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .extends.Helper.{...../**......*
2aa80 20 52 75 6e 73 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 .Runs.an.external.process.......
2aaa0 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 *......*.@param.OutputInterface.
2aac0 20 20 20 20 20 24 6f 75 74 70 75 74 20 20 20 20 41 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 .....$output....An.OutputInterfa
2aae0 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 ce.instance......*.@param.string
2ab00 7c 61 72 72 61 79 7c 50 72 6f 63 65 73 73 20 24 63 6d 64 20 20 20 20 20 20 20 41 6e 20 69 6e 73 |array|Process.$cmd.......An.ins
2ab20 74 61 6e 63 65 20 6f 66 20 50 72 6f 63 65 73 73 20 6f 72 20 61 6e 20 61 72 72 61 79 20 6f 66 20 tance.of.Process.or.an.array.of.
2ab40 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 65 73 63 61 70 65 20 61 6e 64 20 72 75 6e 20 6f 72 20 61 arguments.to.escape.and.run.or.a
2ab60 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 75 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 .command.to.run......*.@param.st
2ab80 72 69 6e 67 7c 6e 75 6c 6c 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 20 20 20 20 20 41 6e ring|null..........$error.....An
2aba0 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 74 68 61 74 20 6d 75 73 74 20 62 65 20 64 69 73 70 .error.message.that.must.be.disp
2abc0 6c 61 79 65 64 20 69 66 20 73 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 0a 20 20 layed.if.something.went.wrong...
2abe0 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 6c 65 7c 6e 75 6c 6c 20 20 20 20 20 20 20 ...*.@param.callable|null.......
2ac00 20 24 63 61 6c 6c 62 61 63 6b 20 20 41 20 50 48 50 20 63 61 6c 6c 62 61 63 6b 20 74 6f 20 72 75 .$callback..A.PHP.callback.to.ru
2ac20 6e 20 77 68 65 6e 65 76 65 72 20 74 68 65 72 65 20 69 73 20 73 6f 6d 65 0a 20 20 20 20 20 2a 20 n.whenever.there.is.some......*.
2ac40 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 20 ................................
2ac60 20 20 20 20 20 20 20 6f 75 74 70 75 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 53 54 44 4f 55 .......output.available.on.STDOU
2ac80 54 20 6f 72 20 53 54 44 45 52 52 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 T.or.STDERR......*.@param.int...
2aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 65 72 62 6f 73 69 74 79 20 54 68 65 20 74 68 ...............$verbosity.The.th
2acc0 72 65 73 68 6f 6c 64 20 66 6f 72 20 76 65 72 62 6f 73 69 74 79 0a 20 20 20 20 20 2a 0a 20 20 20 reshold.for.verbosity......*....
2ace0 20 20 2a 20 40 72 65 74 75 72 6e 20 50 72 6f 63 65 73 73 20 54 68 65 20 70 72 6f 63 65 73 73 20 ..*.@return.Process.The.process.
2ad00 74 68 61 74 20 72 61 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 that.ran......*/.....public.func
2ad20 74 69 6f 6e 20 72 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 tion.run(OutputInterface.$output
2ad40 2c 20 24 63 6d 64 2c 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 2c 20 63 61 6c 6c 61 62 6c 65 20 ,.$cmd,.$error.=.null,.callable.
2ad60 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 20 3d 20 4f $callback.=.null,.$verbosity.=.O
2ad80 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 5f 56 utputInterface::VERBOSITY_VERY_V
2ada0 45 52 42 4f 53 45 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 75 74 70 75 ERBOSE).....{.........if.($outpu
2adc0 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
2ade0 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 ace).{.............$output.=.$ou
2ae00 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 20 20 20 20 20 20 20 20 tput->getErrorOutput();.........
2ae20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 }..........$formatter.=.$this->g
2ae40 65 74 48 65 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 etHelperSet()->get('debug_format
2ae60 74 65 72 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 63 6d ter');..........if.(is_array($cm
2ae80 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 63 65 73 73 20 3d 20 50 72 6f d)).{.............$process.=.Pro
2aea0 63 65 73 73 42 75 69 6c 64 65 72 3a 3a 63 72 65 61 74 65 28 24 63 6d 64 29 2d 3e 67 65 74 50 72 cessBuilder::create($cmd)->getPr
2aec0 6f 63 65 73 73 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 63 6d 64 20 ocess();.........}.elseif.($cmd.
2aee0 69 6e 73 74 61 6e 63 65 6f 66 20 50 72 6f 63 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 instanceof.Process).{...........
2af00 20 20 24 70 72 6f 63 65 73 73 20 3d 20 24 63 6d 64 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 ..$process.=.$cmd;.........}.els
2af20 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 e.{.............$process.=.new.P
2af40 72 6f 63 65 73 73 28 24 63 6d 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 rocess($cmd);.........}.........
2af60 20 69 66 20 28 24 76 65 72 62 6f 73 69 74 79 20 3c 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 .if.($verbosity.<=.$output->getV
2af80 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 erbosity()).{.............$outpu
2afa0 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 73 70 6c 5f 6f t->write($formatter->start(spl_o
2afc0 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 2d 3e 65 73 63 bject_hash($process),.$this->esc
2afe0 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 61 6e 64 4c 69 apeString($process->getCommandLi
2b000 6e 65 28 29 29 29 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 ne())));.........}..........if.(
2b020 24 6f 75 74 70 75 74 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 $output->isDebug()).{...........
2b040 20 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 77 72 61 70 43 61 6c 6c 62 61 63 ..$callback.=.$this->wrapCallbac
2b060 6b 28 24 6f 75 74 70 75 74 2c 20 24 70 72 6f 63 65 73 73 2c 20 24 63 61 6c 6c 62 61 63 6b 29 3b k($output,.$process,.$callback);
2b080 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 70 72 6f 63 65 73 73 2d 3e 72 75 .........}..........$process->ru
2b0a0 6e 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 76 65 72 62 n($callback);..........if.($verb
2b0c0 6f 73 69 74 79 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 osity.<=.$output->getVerbosity()
2b0e0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 24 70 72 6f 63 ).{.............$message.=.$proc
2b100 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 61 6e 64 20 72 ess->isSuccessful().?.'Command.r
2b120 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 27 25 73 20 43 an.successfully'.:.sprintf('%s.C
2b140 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 75 6c 6c 79 27 ommand.did.not.run.successfully'
2b160 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 0a 20 20 20 20 ,.$process->getExitCode());.....
2b180 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 6d 61 74 74 65 ........$output->write($formatte
2b1a0 72 2d 3e 73 74 6f 70 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 r->stop(spl_object_hash($process
2b1c0 29 2c 20 24 6d 65 73 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 ),.$message,.$process->isSuccess
2b1e0 66 75 6c 28 29 29 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 ful()));.........}..........if.(
2b200 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 20 26 26 20 6e 75 6c !$process->isSuccessful().&&.nul
2b220 6c 20 21 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 l.!==.$error).{.............$out
2b240 70 75 74 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 put->writeln(sprintf('<error>%s<
2b260 2f 65 72 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 /error>',.$this->escapeString($e
2b280 72 72 6f 72 29 29 29 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 rror)));.........}..........retu
2b2a0 72 6e 20 24 70 72 6f 63 65 73 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 rn.$process;.....}....../**.....
2b2c0 20 2a 20 52 75 6e 73 20 74 68 65 20 70 72 6f 63 65 73 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 .*.Runs.the.process.......*.....
2b2e0 20 2a 20 54 68 69 73 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 72 75 6e 28 29 20 65 78 .*.This.is.identical.to.run().ex
2b300 63 65 70 74 20 74 68 61 74 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 69 73 20 74 68 72 6f 77 6e cept.that.an.exception.is.thrown
2b320 20 69 66 20 74 68 65 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 2a 20 65 78 69 74 73 20 77 69 74 .if.the.process......*.exits.wit
2b340 68 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 20 63 6f 64 65 2e 0a 20 20 20 20 20 2a 0a 20 h.a.non-zero.exit.code.......*..
2b360 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 ....*.@param.OutputInterface.$ou
2b380 74 70 75 74 20 20 20 41 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e tput...An.OutputInterface.instan
2b3a0 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 50 72 6f 63 65 73 73 20 ce......*.@param.string|Process.
2b3c0 20 24 63 6d 64 20 20 20 20 20 20 41 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 50 72 6f 63 65 73 .$cmd......An.instance.of.Proces
2b3e0 73 20 6f 72 20 61 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 75 6e 0a 20 20 20 20 20 2a 20 40 70 61 s.or.a.command.to.run......*.@pa
2b400 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 20 20 20 20 24 65 72 72 6f 72 20 20 20 20 41 6e ram.string|null.....$error....An
2b420 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 74 68 61 74 20 6d 75 73 74 20 62 65 20 64 69 73 70 .error.message.that.must.be.disp
2b440 6c 61 79 65 64 20 69 66 20 73 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 0a 20 20 layed.if.something.went.wrong...
2b460 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 6c 65 7c 6e 75 6c 6c 20 20 20 24 63 61 6c ...*.@param.callable|null...$cal
2b480 6c 62 61 63 6b 20 41 20 50 48 50 20 63 61 6c 6c 62 61 63 6b 20 74 6f 20 72 75 6e 20 77 68 65 6e lback.A.PHP.callback.to.run.when
2b4a0 65 76 65 72 20 74 68 65 72 65 20 69 73 20 73 6f 6d 65 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 ever.there.is.some......*.......
2b4c0 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 6f 75 74 70 75 ...........................outpu
2b4e0 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 53 54 44 4f 55 54 20 6f 72 20 53 54 44 45 52 52 0a t.available.on.STDOUT.or.STDERR.
2b500 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 50 72 6f 63 65 73 73 20 54 68 .....*......*.@return.Process.Th
2b520 65 20 70 72 6f 63 65 73 73 20 74 68 61 74 20 72 61 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a e.process.that.ran......*......*
2b540 20 40 74 68 72 6f 77 73 20 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 0a .@throws.ProcessFailedException.
2b560 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 72 75 6e 28 29 0a 20 20 20 20 20 2a 2f .....*......*.@see.run()......*/
2b580 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 52 75 6e 28 4f 75 74 .....public.function.mustRun(Out
2b5a0 70 75 74 49 6e 74 65 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 putInterface.$output,.$cmd,.$err
2b5c0 6f 72 20 3d 20 6e 75 6c 6c 2c 20 63 61 6c 6c 61 62 6c 65 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 or.=.null,.callable.$callback.=.
2b5e0 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 72 6f 63 65 73 73 20 3d 20 24 null).....{.........$process.=.$
2b600 74 68 69 73 2d 3e 72 75 6e 28 24 6f 75 74 70 75 74 2c 20 24 63 6d 64 2c 20 24 65 72 72 6f 72 2c this->run($output,.$cmd,.$error,
2b620 20 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 6f 63 .$callback);..........if.(!$proc
2b640 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ess->isSuccessful()).{..........
2b660 20 20 20 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 ...throw.new.ProcessFailedExcept
2b680 69 6f 6e 28 24 70 72 6f 63 65 73 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ion($process);.........}........
2b6a0 20 20 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a ..return.$process;.....}....../*
2b6c0 2a 0a 20 20 20 20 20 2a 20 57 72 61 70 73 20 61 20 50 72 6f 63 65 73 73 20 63 61 6c 6c 62 61 63 *......*.Wraps.a.Process.callbac
2b6e0 6b 20 74 6f 20 61 64 64 20 64 65 62 75 67 67 69 6e 67 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 k.to.add.debugging.output.......
2b700 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 *......*.@param.OutputInterface.
2b720 24 6f 75 74 70 75 74 20 20 20 41 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 74 $output...An.OutputInterface.int
2b740 65 72 66 61 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 50 72 6f 63 65 73 73 20 20 20 20 erface......*.@param.Process....
2b760 20 20 20 20 20 24 70 72 6f 63 65 73 73 20 20 54 68 65 20 50 72 6f 63 65 73 73 0a 20 20 20 20 20 .....$process..The.Process......
2b780 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 6c 65 7c 6e 75 6c 6c 20 20 20 24 63 61 6c 6c 62 61 *.@param.callable|null...$callba
2b7a0 63 6b 20 41 20 50 48 50 20 63 61 6c 6c 61 62 6c 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 ck.A.PHP.callable......*......*.
2b7c0 40 72 65 74 75 72 6e 20 63 61 6c 6c 61 62 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 @return.callable......*/.....pub
2b7e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 61 70 43 61 6c 6c 62 61 63 6b 28 4f 75 74 70 75 74 lic.function.wrapCallback(Output
2b800 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 50 72 6f 63 65 73 73 20 24 70 72 6f 63 Interface.$output,.Process.$proc
2b820 65 73 73 2c 20 63 61 6c 6c 61 62 6c 65 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a ess,.callable.$callback.=.null).
2b840 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e ....{.........if.($output.instan
2b860 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 20 ceof.ConsoleOutputInterface).{..
2b880 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 ...........$output.=.$output->ge
2b8a0 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 tErrorOutput();.........}.......
2b8c0 20 20 20 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 65 72 ...$formatter.=.$this->getHelper
2b8e0 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 0a 0a Set()->get('debug_formatter');..
2b900 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 ........return.function.($type,.
2b920 24 62 75 66 66 65 72 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 70 72 6f 63 65 73 73 2c $buffer).use.($output,.$process,
2b940 20 24 63 61 6c 6c 62 61 63 6b 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 20 7b 0a 20 20 20 20 20 20 .$callback,.$formatter).{.......
2b960 20 20 20 20 20 20 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 ......$output->write($formatter-
2b980 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 70 72 6f 63 65 >progress(spl_object_hash($proce
2b9a0 73 73 29 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 62 75 66 66 65 72 ss),.$this->escapeString($buffer
2b9c0 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 3b 0a 0a 20 20 ),.Process::ERR.===.$type));....
2b9e0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 6c 6c 62 61 63 6b ..........if.(null.!==.$callback
2ba00 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 ).{.................call_user_fu
2ba20 6e 63 28 24 63 61 6c 6c 62 61 63 6b 2c 20 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 3b 0a 20 nc($callback,.$type,.$buffer);..
2ba40 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 0a 20 ...........}.........};.....}...
2ba60 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 53 74 72 69 6e 67 ...private.function.escapeString
2ba80 28 24 73 74 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 5f ($str).....{.........return.str_
2baa0 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 0a 20 20 20 20 7d replace('<',.'\\<',.$str);.....}
2bac0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 ....../**......*.{@inheritdoc}..
2bae0 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 67 65 74 4e 61 ....*/.....public.function.getNa
2bb00 6d 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 70 72 6f 63 65 me().....{.........return.'proce
2bb20 73 73 27 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 ss';.....}.}.<?php../*..*.This.f
2bb40 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 ile.is.part.of.the.Symfony.packa
2bb60 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c ge...*..*.(c).Fabien.Potencier.<
2bb80 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 fabien@symfony.com>..*..*.For.th
2bba0 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 20 69 6e 66 e.full.copyright.and.license.inf
2bbc0 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 ormation,.please.view.the.LICENS
2bbe0 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 E..*.file.that.was.distributed.w
2bc00 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 ith.this.source.code...*/..names
2bc20 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
2bc40 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
2bc60 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
2bc80 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
2bca0 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
2bcc0 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
2bce0 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.
2bd00 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
2bd20 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
2bd40 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
2bd60 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
2bd80 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
2bda0 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
2bdc0 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
2bde0 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 73 20 61 64 64 73 20 68 65 6c ion;../**..*.This.class.adds.hel
2be00 70 65 72 20 6d 65 74 68 6f 64 20 74 6f 20 64 65 73 63 72 69 62 65 20 6f 62 6a 65 63 74 73 20 69 per.method.to.describe.objects.i
2be20 6e 20 76 61 72 69 6f 75 73 20 66 6f 72 6d 61 74 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 n.various.formats...*..*.@author
2be40 20 4a 65 61 6e 2d 46 72 61 6e c3 a7 6f 69 73 20 53 69 6d 6f 6e 20 3c 63 6f 6e 74 61 63 74 40 6a .Jean-Fran..ois.Simon.<contact@j
2be60 66 73 69 6d 6f 6e 2e 66 72 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 44 65 73 63 72 69 70 74 6f 72 48 fsimon.fr>..*/.class.DescriptorH
2be80 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 elper.extends.Helper.{...../**..
2bea0 20 20 20 20 2a 20 40 76 61 72 20 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 5b 5d ....*.@var.DescriptorInterface[]
2bec0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 6f 72 ......*/.....private.$descriptor
2bee0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e s.=.array();....../**......*.Con
2bf00 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e structor.......*/.....public.fun
2bf20 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 ction.__construct().....{.......
2bf40 20 20 24 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 72 65 67 69 73 74 65 72 28 27 ..$this.............->register('
2bf60 74 78 74 27 2c 20 6e 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 20 20 20 20 txt',.new.TextDescriptor()).....
2bf80 20 20 20 20 20 20 20 20 2d 3e 72 65 67 69 73 74 65 72 28 27 78 6d 6c 27 2c 20 6e 65 77 20 58 6d ........->register('xml',.new.Xm
2bfa0 6c 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 72 65 67 lDescriptor()).............->reg
2bfc0 69 73 74 65 72 28 27 6a 73 6f 6e 27 2c 20 6e 65 77 20 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 ister('json',.new.JsonDescriptor
2bfe0 28 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 72 65 67 69 73 74 65 72 28 27 6d 64 27 2c ()).............->register('md',
2c000 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 20 20 20 20 20 .new.MarkdownDescriptor())......
2c020 20 20 20 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 73 63 72 ...;.....}....../**......*.Descr
2c040 69 62 65 73 20 61 6e 20 6f 62 6a 65 63 74 20 69 66 20 73 75 70 70 6f 72 74 65 64 2e 0a 20 20 20 ibes.an.object.if.supported.....
2c060 20 20 2a 0a 20 20 20 20 20 2a 20 41 76 61 69 6c 61 62 6c 65 20 6f 70 74 69 6f 6e 73 20 61 72 65 ..*......*.Available.options.are
2c080 3a 0a 20 20 20 20 20 2a 20 2a 20 66 6f 72 6d 61 74 3a 20 73 74 72 69 6e 67 2c 20 74 68 65 20 6f :......*.*.format:.string,.the.o
2c0a0 75 74 70 75 74 20 66 6f 72 6d 61 74 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 2a 20 72 61 77 5f 74 utput.format.name......*.*.raw_t
2c0c0 65 78 74 3a 20 62 6f 6f 6c 65 61 6e 2c 20 73 65 74 73 20 6f 75 74 70 75 74 20 74 79 70 65 20 61 ext:.boolean,.sets.output.type.a
2c0e0 73 20 72 61 77 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 s.raw......*......*.@param.Outpu
2c100 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d tInterface.$output......*.@param
2c120 20 6f 62 6a 65 63 74 20 20 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 20 .object..........$object......*.
2c140 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 0a @param.array...........$options.
2c160 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 .....*......*.@throws.InvalidArg
2c180 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6f umentException.when.the.given.fo
2c1a0 72 6d 61 74 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 rmat.is.not.supported......*/...
2c1c0 20 20 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
2c1e0 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
2c200 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 ay.$options.=.array()).....{....
2c220 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 .....$options.=.array_merge(arra
2c240 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 66 61 6c y(.............'raw_text'.=>.fal
2c260 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 72 6d 61 74 27 20 3d 3e 20 27 74 78 74 se,.............'format'.=>.'txt
2c280 27 2c 0a 20 20 20 20 20 20 20 20 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 20 20 20 20 20 20 ',.........),.$options);........
2c2a0 20 20 69 66 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 ..if.(!isset($this->descriptors[
2c2c0 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 $options['format']])).{.........
2c2e0 20 20 20 20 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
2c300 65 70 74 69 6f 6e 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 eption(sprintf('Unsupported.form
2c320 61 74 20 22 25 73 22 2e 27 2c 20 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 29 29 3b at."%s".',.$options['format']));
2c340 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 64 65 73 63 72 69 70 74 6f 72 20 .........}..........$descriptor.
2c360 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
2c380 6f 72 6d 61 74 27 5d 5d 3b 0a 20 20 20 20 20 20 20 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 ormat']];.........$descriptor->d
2c3a0 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f escribe($output,.$object,.$optio
2c3c0 6e 73 29 3b 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 ns);.....}....../**......*.Regis
2c3e0 74 65 72 73 20 61 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a ters.a.descriptor.......*......*
2c400 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6f 72 .@param.string..............$for
2c420 6d 61 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 mat......*.@param.DescriptorInte
2c440 72 66 61 63 65 20 24 64 65 73 63 72 69 70 74 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 rface.$descriptor......*......*.
2c460 40 72 65 74 75 72 6e 20 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 0a 20 20 20 20 20 2a 2f @return.DescriptorHelper......*/
2c480 0a 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 66 .....public.function.register($f
2c4a0 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 65 73 63 ormat,.DescriptorInterface.$desc
2c4c0 72 69 70 74 6f 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 73 riptor).....{.........$this->des
2c4e0 63 72 69 70 74 6f 72 73 5b 24 66 6f 72 6d 61 74 5d 20 3d 20 24 64 65 73 63 72 69 70 74 6f 72 3b criptors[$format].=.$descriptor;
2c500 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 ..........return.$this;.....}...
2c520 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 .../**......*.{@inheritdoc}.....
2c540 20 2a 2f 0a 20 20 20 20 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(
2c560 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 64 65 73 63 72 69 70 74 ).....{.........return.'descript
2c580 6f 72 27 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 or';.....}.}.<?php../*..*.This.f
2c5a0 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 ile.is.part.of.the.Symfony.packa
2c5c0 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c ge...*..*.(c).Fabien.Potencier.<
2c5e0 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 fabien@symfony.com>..*..*.For.th
2c600 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 20 69 6e 66 e.full.copyright.and.license.inf
2c620 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 ormation,.please.view.the.LICENS
2c640 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 E..*.file.that.was.distributed.w
2c660 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 ith.this.source.code...*/..names
2c680 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
2c6a0 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
2c6c0 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
2c6e0 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\
2c700 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 69 Console\Exception\RuntimeExcepti
2c720 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 6c on;.use.Symfony\Component\Consol
2c740 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 66 e\Input\InputInterface;.use.Symf
2c760 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 6e ony\Component\Console\Output\Con
2c780 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 79 soleOutputInterface;.use.Symfony
2c7a0 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
2c7c0 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
2c7e0 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
2c800 65 72 53 74 79 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 erStyle;.use.Symfony\Component\C
2c820 6f 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 onsole\Question\Question;.use.Sy
2c840 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 6f 6e mfony\Component\Console\Question
2c860 5c 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 65 20 51 75 65 \ChoiceQuestion;../**..*.The.Que
2c880 73 74 69 6f 6e 48 65 6c 70 65 72 20 63 6c 61 73 73 20 70 72 6f 76 69 64 65 73 20 68 65 6c 70 65 stionHelper.class.provides.helpe
2c8a0 72 73 20 74 6f 20 69 6e 74 65 72 61 63 74 20 77 69 74 68 20 74 68 65 20 75 73 65 72 2e 0a 20 2a rs.to.interact.with.the.user...*
2c8c0 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 ..*.@author.Fabien.Potencier.<fa
2c8e0 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 51 75 65 73 bien@symfony.com>..*/.class.Ques
2c900 74 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 20 20 20 20 tionHelper.extends.Helper.{.....
2c920 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 53 74 72 65 61 6d 3b 0a 20 20 20 20 70 72 69 76 61 74 private.$inputStream;.....privat
2c940 65 20 73 74 61 74 69 63 20 24 73 68 65 6c 6c 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 e.static.$shell;.....private.sta
2c960 74 69 63 20 24 73 74 74 79 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 73 6b 73 20 tic.$stty;....../**......*.Asks.
2c980 61 20 71 75 65 73 74 69 6f 6e 20 74 6f 20 74 68 65 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 a.question.to.the.user.......*..
2c9a0 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 69 6e ....*.@param.InputInterface..$in
2c9c0 70 75 74 20 20 20 20 41 6e 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 put....An.InputInterface.instanc
2c9e0 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 e......*.@param.OutputInterface.
2ca00 24 6f 75 74 70 75 74 20 20 20 41 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 $output...An.OutputInterface.ins
2ca20 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 51 75 65 73 74 69 6f 6e 20 20 20 20 tance......*.@param.Question....
2ca40 20 20 20 20 24 71 75 65 73 74 69 6f 6e 20 54 68 65 20 71 75 65 73 74 69 6f 6e 20 74 6f 20 61 73 ....$question.The.question.to.as
2ca60 6b 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 72 69 6e 67 20 54 k......*......*.@return.string.T
2ca80 68 65 20 75 73 65 72 20 61 6e 73 77 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 he.user.answer......*......*.@th
2caa0 72 6f 77 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 49 66 20 74 68 65 72 65 20 69 rows.RuntimeException.If.there.i
2cac0 73 20 6e 6f 20 64 61 74 61 20 74 6f 20 72 65 61 64 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 73 s.no.data.to.read.in.the.input.s
2cae0 74 72 65 61 6d 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 tream......*/.....public.functio
2cb00 6e 20 61 73 6b 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 n.ask(InputInterface.$input,.Out
2cb20 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 6e 20 24 putInterface.$output,.Question.$
2cb40 71 75 65 73 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 75 74 question).....{.........if.($out
2cb60 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
2cb80 72 66 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 24 rface).{.............$output.=.$
2cba0 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 20 20 20 20 20 20 output->getErrorOutput();.......
2cbc0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 ..}..........if.(!$input->isInte
2cbe0 72 61 63 74 69 76 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ractive()).{.............return.
2cc00 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 20 20 20 20 20 20 20 $question->getDefault();........
2cc20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 56 .}..........if.(!$question->getV
2cc40 61 6c 69 64 61 74 6f 72 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e alidator()).{.............return
2cc60 20 24 74 68 69 73 2d 3e 64 6f 41 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e .$this->doAsk($output,.$question
2cc80 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 69 6e 74 65 72 76 69 65 77 );.........}..........$interview
2cca0 65 72 20 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 er.=.function.().use.($output,.$
2ccc0 71 75 65 73 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 question).{.............return.$
2cce0 74 68 69 73 2d 3e 64 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 this->doAsk($output,.$question);
2cd00 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 .........};..........return.$thi
2cd20 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 65 72 s->validateAttempts($interviewer
2cd40 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 ,.$output,.$question);.....}....
2cd60 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 65 ../**......*.Sets.the.input.stre
2cd80 61 6d 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 77 68 65 6e 20 69 6e 74 65 72 61 63 74 69 6e 67 am.to.read.from.when.interacting
2cda0 20 77 69 74 68 20 74 68 65 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 .with.the.user.......*......*.Th
2cdc0 69 73 20 69 73 20 6d 61 69 6e 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 74 65 73 74 69 6e 67 20 is.is.mainly.useful.for.testing.
2cde0 70 75 72 70 6f 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 72 65 purpose.......*......*.@param.re
2ce00 73 6f 75 72 63 65 20 24 73 74 72 65 61 6d 20 54 68 65 20 69 6e 70 75 74 20 73 74 72 65 61 6d 0a source.$stream.The.input.stream.
2ce20 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 .....*......*.@throws.InvalidArg
2ce40 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 49 6e 20 63 61 73 65 20 74 68 65 20 73 74 72 65 61 umentException.In.case.the.strea
2ce60 6d 20 69 73 20 6e 6f 74 20 61 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 m.is.not.a.resource......*/.....
2ce80 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 65 61 6d 28 24 public.function.setInputStream($
2cea0 73 74 72 65 61 6d 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 72 65 stream).....{.........if.(!is_re
2cec0 73 6f 75 72 63 65 28 24 73 74 72 65 61 6d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 source($stream)).{.............t
2cee0 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 6f hrow.new.InvalidArgumentExceptio
2cf00 6e 28 27 49 6e 70 75 74 20 73 74 72 65 61 6d 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 n('Input.stream.must.be.a.valid.
2cf20 72 65 73 6f 75 72 63 65 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 resource.');.........}..........
2cf40 24 74 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 20 20 $this->inputStream.=.$stream;...
2cf60 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 ..}....../**......*.Returns.the.
2cf80 68 65 6c 70 65 72 27 73 20 69 6e 70 75 74 20 73 74 72 65 61 6d 2e 0a 20 20 20 20 20 2a 0a 20 20 helper's.input.stream.......*...
2cfa0 20 20 20 2a 20 40 72 65 74 75 72 6e 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 ...*.@return.resource......*/...
2cfc0 20 20 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 61 6d ..public.function.getInputStream
2cfe0 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 69 ().....{.........return.$this->i
2d000 6e 70 75 74 53 74 72 65 61 6d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 nputStream;.....}....../**......
2d020 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c *.{@inheritdoc}......*/.....publ
2d040 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 ic.function.getName().....{.....
2d060 20 20 20 20 72 65 74 75 72 6e 20 27 71 75 65 73 74 69 6f 6e 27 3b 0a 20 20 20 20 7d 0a 0a 20 20 ....return.'question';.....}....
2d080 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 73 6b 73 20 74 68 65 20 71 75 65 73 74 69 6f 6e 20 74 ../**......*.Asks.the.question.t
2d0a0 6f 20 74 68 65 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d o.the.user.......*......*.@param
2d0c0 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 .OutputInterface.$output......*.
2d0e0 40 70 61 72 61 6d 20 51 75 65 73 74 69 6f 6e 20 20 20 20 20 20 20 20 24 71 75 65 73 74 69 6f 6e @param.Question........$question
2d100 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 7c 6d 69 78 65 ......*......*.@return.bool|mixe
2d120 64 7c 6e 75 6c 6c 7c 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 d|null|string......*......*.@thr
2d140 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 52 ows.\Exception......*.@throws.\R
2d160 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 untimeException......*/.....priv
2d180 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 41 73 6b 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 ate.function.doAsk(OutputInterfa
2d1a0 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).
2d1c0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 50 72 6f 6d 70 74 ....{.........$this->writePrompt
2d1e0 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 ($output,.$question);..........$
2d200 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 53 74 72 65 61 6d inputStream.=.$this->inputStream
2d220 20 3f 3a 20 53 54 44 49 4e 3b 0a 20 20 20 20 20 20 20 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 .?:.STDIN;.........$autocomplete
2d240 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 .=.$question->getAutocompleterVa
2d260 6c 75 65 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 lues();..........if.(null.===.$a
2d280 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 76 utocomplete.||.!$this->hasSttyAv
2d2a0 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 ailable()).{.............$ret.=.
2d2c0 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 71 75 65 73 74 69 6f 6e false;.............if.($question
2d2e0 2d 3e 69 73 48 69 64 64 65 6e 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ->isHidden()).{.................
2d300 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 20 3d try.{.....................$ret.=
2d320 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 6f 6e 73 65 28 24 .trim($this->getHiddenResponse($
2d340 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 29 29 3b 0a 20 20 20 20 20 20 20 20 output,.$inputStream));.........
2d360 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 ........}.catch.(\RuntimeExcepti
2d380 6f 6e 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 on.$e).{.....................if.
2d3a0 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 29 (!$question->isHiddenFallback())
2d3c0 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 74 68 72 6f 77 .{.........................throw
2d3e0 20 24 65 3b 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 .$e;.....................}......
2d400 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 0a 20 20 20 20 ...........}.............}......
2d420 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 29 20 7b 0a 20 20 ........if.(false.===.$ret).{...
2d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 66 67 65 74 73 28 24 69 6e 70 75 ..............$ret.=.fgets($inpu
2d460 74 53 74 72 65 61 6d 2c 20 34 30 39 36 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tStream,.4096);.................
2d480 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 if.(false.===.$ret).{...........
2d4a0 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 ..........throw.new.\RuntimeExce
2d4c0 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ption('Aborted');...............
2d4e0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 74 72 69 6d 28 ..}.................$ret.=.trim(
2d500 24 72 65 74 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 7d 20 65 $ret);.............}.........}.e
2d520 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 74 72 69 6d 28 24 74 lse.{.............$ret.=.trim($t
2d540 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 his->autocomplete($output,.$ques
2d560 74 69 6f 6e 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a tion,.$inputStream));.........}.
2d580 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 73 74 72 6c 65 6e 28 24 72 65 74 29 20 3e 20 30 .........$ret.=.strlen($ret).>.0
2d5a0 20 3f 20 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 .?.$ret.:.$question->getDefault(
2d5c0 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 72 20 3d 20 24 71 );..........if.($normalizer.=.$q
2d5e0 75 65 73 74 69 6f 6e 2d 3e 67 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 29 20 7b 0a 20 20 20 20 uestion->getNormalizer()).{.....
2d600 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 28 24 72 65 74 29 ........return.$normalizer($ret)
2d620 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 20 24 72 65 74 ;.........}..........return.$ret
2d640 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4f 75 74 70 75 74 73 20 ;.....}....../**......*.Outputs.
2d660 74 68 65 20 71 75 65 73 74 69 6f 6e 20 70 72 6f 6d 70 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 the.question.prompt.......*.....
2d680 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 .*.@param.OutputInterface.$outpu
2d6a0 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 51 75 65 73 74 69 6f 6e 20 20 20 20 20 20 20 20 t......*.@param.Question........
2d6c0 24 71 75 65 73 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 $question......*/.....protected.
2d6e0 66 75 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 function.writePrompt(OutputInter
2d700 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 74 69 6f 6e face.$output,.Question.$question
2d720 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 24 71 75 65 73 ).....{.........$message.=.$ques
2d740 74 69 6f 6e 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 tion->getQuestion();..........if
2d760 20 28 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 .($question.instanceof.ChoiceQue
2d780 73 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 78 57 69 64 74 68 20 3d stion).{.............$maxWidth.=
2d7a0 20 6d 61 78 28 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 73 74 72 .max(array_map(array($this,.'str
2d7c0 6c 65 6e 27 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 len'),.array_keys($question->get
2d7e0 43 68 6f 69 63 65 73 28 29 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 Choices())));..............$mess
2d800 61 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 ages.=.(array).$question->getQue
2d820 73 74 69 6f 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 71 stion();.............foreach.($q
2d840 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 20 61 73 20 24 6b 65 79 20 3d 3e uestion->getChoices().as.$key.=>
2d860 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 77 69 64 74 .$value).{.................$widt
2d880 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 28 24 6b h.=.$maxWidth.-.$this->strlen($k
2d8a0 65 79 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 5b 5d ey);.................$messages[]
2d8c0 20 3d 20 27 20 20 5b 3c 69 6e 66 6f 3e 27 2e 24 6b 65 79 2e 73 74 72 5f 72 65 70 65 61 74 28 27 .=.'..[<info>'.$key.str_repeat('
2d8e0 20 27 2c 20 24 77 69 64 74 68 29 2e 27 3c 2f 69 6e 66 6f 3e 5d 20 27 2e 24 76 61 6c 75 65 3b 0a .',.$width).'</info>].'.$value;.
2d900 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 ............}..............$outp
2d920 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 20 20 20 20 20 20 20 ut->writeln($messages);.........
2d940 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 50 72 .....$message.=.$question->getPr
2d960 6f 6d 70 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6f 75 74 70 ompt();.........}..........$outp
2d980 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 ut->write($message);.....}......
2d9a0 2f 2a 2a 0a 20 20 20 20 20 2a 20 4f 75 74 70 75 74 73 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 /**......*.Outputs.an.error.mess
2d9c0 61 67 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 age.......*......*.@param.Output
2d9e0 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 Interface.$output......*.@param.
2da00 5c 45 78 63 65 70 74 69 6f 6e 20 20 20 20 20 20 24 65 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 \Exception......$error......*/..
2da20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 ...protected.function.writeError
2da40 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 5c 45 78 63 65 70 (OutputInterface.$output,.\Excep
2da60 74 69 6f 6e 20 24 65 72 72 6f 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e tion.$error).....{.........if.(n
2da80 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 20 26 26 ull.!==.$this->getHelperSet().&&
2daa0 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 68 61 73 28 27 66 6f 72 .$this->getHelperSet()->has('for
2dac0 6d 61 74 74 65 72 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 matter')).{.............$message
2dae0 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 74 28 27 66 .=.$this->getHelperSet()->get('f
2db00 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 72 72 6f 72 2d 3e ormatter')->formatBlock($error->
2db20 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 65 72 72 6f 72 27 29 3b 0a 20 20 20 20 20 20 20 20 getMessage(),.'error');.........
2db40 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 }.else.{.............$message.=.
2db60 27 3c 65 72 72 6f 72 3e 27 2e 24 65 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 '<error>'.$error->getMessage().'
2db80 3c 2f 65 72 72 6f 72 3e 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6f </error>';.........}..........$o
2dba0 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 7d 0a utput->writeln($message);.....}.
2dbc0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 75 74 6f 63 6f 6d 70 6c 65 74 65 73 20 61 20 ...../**......*.Autocompletes.a.
2dbe0 71 75 65 73 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f question.......*......*.@param.O
2dc00 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 40 70 utputInterface.$output......*.@p
2dc20 61 72 61 6d 20 51 75 65 73 74 69 6f 6e 20 20 20 20 20 20 20 20 24 71 75 65 73 74 69 6f 6e 0a 20 aram.Question........$question..
2dc40 20 20 20 20 2a 20 40 70 61 72 61 6d 20 72 65 73 6f 75 72 63 65 20 20 20 20 20 20 20 20 24 69 6e ....*.@param.resource........$in
2dc60 70 75 74 53 74 72 65 61 6d 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 putStream......*......*.@return.
2dc80 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 string......*/.....private.funct
2dca0 69 6f 6e 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 ion.autocomplete(OutputInterface
2dcc0 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 2c 20 24 69 .$output,.Question.$question,.$i
2dce0 6e 70 75 74 53 74 72 65 61 6d 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 61 75 74 6f 63 nputStream).....{.........$autoc
2dd00 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 6f 6d 70 omplete.=.$question->getAutocomp
2dd20 6c 65 74 65 72 56 61 6c 75 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 74 20 3d 20 27 27 leterValues();.........$ret.=.''
2dd40 3b 0a 0a 20 20 20 20 20 20 20 20 24 69 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 6f 66 73 20 ;..........$i.=.0;.........$ofs.
2dd60 3d 20 2d 31 3b 0a 20 20 20 20 20 20 20 20 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f =.-1;.........$matches.=.$autoco
2dd80 6d 70 6c 65 74 65 3b 0a 20 20 20 20 20 20 20 20 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 63 6f mplete;.........$numMatches.=.co
2dda0 75 6e 74 28 24 6d 61 74 63 68 65 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 73 74 74 79 4d 6f 64 unt($matches);..........$sttyMod
2ddc0 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 20 20 20 20 e.=.shell_exec('stty.-g');......
2dde0 20 20 20 20 2f 2f 20 44 69 73 61 62 6c 65 20 69 63 61 6e 6f 6e 20 28 73 6f 20 77 65 20 63 61 6e ....//.Disable.icanon.(so.we.can
2de00 20 66 72 65 61 64 20 65 61 63 68 20 6b 65 79 70 72 65 73 73 29 20 61 6e 64 20 65 63 68 6f 20 28 .fread.each.keypress).and.echo.(
2de20 77 65 27 6c 6c 20 64 6f 20 65 63 68 6f 69 6e 67 20 68 65 72 65 20 69 6e 73 74 65 61 64 29 0a 20 we'll.do.echoing.here.instead)..
2de40 20 20 20 20 20 20 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 69 63 61 6e 6f 6e 20 .......shell_exec('stty.-icanon.
2de60 2d 65 63 68 6f 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 41 64 64 20 68 69 67 68 6c 69 67 -echo');..........//.Add.highlig
2de80 68 74 65 64 20 74 65 78 74 20 73 74 79 6c 65 0a 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d hted.text.style.........$output-
2dea0 3e 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 >getFormatter()->setStyle('hl',.
2dec0 6e 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 new.OutputFormatterStyle('black'
2dee0 2c 20 27 77 68 69 74 65 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 52 65 61 64 20 61 20 ,.'white'));..........//.Read.a.
2df00 6b 65 79 70 72 65 73 73 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 21 66 65 6f 66 28 24 69 keypress.........while.(!feof($i
2df20 6e 70 75 74 53 74 72 65 61 6d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 20 3d 20 nputStream)).{.............$c.=.
2df40 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 31 29 3b 0a 0a 20 20 20 20 20 20 20 fread($inputStream,.1);.........
2df60 20 20 20 20 20 2f 2f 20 42 61 63 6b 73 70 61 63 65 20 43 68 61 72 61 63 74 65 72 0a 20 20 20 20 .....//.Backspace.Character.....
2df80 20 20 20 20 20 20 20 20 69 66 20 28 22 5c 31 37 37 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 20 20 20 ........if.("\177".===.$c).{....
2dfa0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 .............if.(0.===.$numMatch
2dfc0 65 73 20 26 26 20 30 20 21 3d 3d 20 24 69 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es.&&.0.!==.$i).{...............
2dfe0 20 20 20 20 20 20 2d 2d 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......--$i;.....................
2e000 2f 2f 20 4d 6f 76 65 20 63 75 72 73 6f 72 20 62 61 63 6b 77 61 72 64 73 0a 20 20 20 20 20 20 20 //.Move.cursor.backwards........
2e020 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 .............$output->write("\03
2e040 33 5b 31 44 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 3[1D");.................}.......
2e060 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 20 3d 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 ...........if.($i.===.0).{......
2e080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 66 73 20 3d 20 2d 31 3b 0a 20 20 20 20 20 20 ...............$ofs.=.-1;.......
2e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f ..............$matches.=.$autoco
2e0c0 6d 70 6c 65 74 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 75 6d mplete;.....................$num
2e0e0 4d 61 74 63 68 65 73 20 3d 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 3b 0a 20 20 20 20 20 Matches.=.count($matches);......
2e100 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 20 20 ...........}.else.{.............
2e120 20 20 20 20 20 20 20 20 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 ........$numMatches.=.0;........
2e140 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 .........}..................//.P
2e160 6f 70 20 74 68 65 20 6c 61 73 74 20 63 68 61 72 61 63 74 65 72 20 6f 66 66 20 74 68 65 20 65 6e op.the.last.character.off.the.en
2e180 64 20 6f 66 20 6f 75 72 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.of.our.string.................
2e1a0 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 20 20 20 20 $ret.=.substr($ret,.0,.$i);.....
2e1c0 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 22 5c 30 33 33 22 20 3d 3d 3d 20 24 63 29 ........}.elseif.("\033".===.$c)
2e1e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 69 64 20 77 65 20 72 65 61 .{.................//.Did.we.rea
2e200 64 20 61 6e 20 65 73 63 61 70 65 20 73 65 71 75 65 6e 63 65 3f 0a 20 20 20 20 20 20 20 20 20 20 d.an.escape.sequence?...........
2e220 20 20 20 20 20 20 24 63 20 2e 3d 20 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 ......$c..=.fread($inputStream,.
2e240 32 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 20 3d 20 55 70 20 41 2);..................//.A.=.Up.A
2e260 72 72 6f 77 2e 20 42 20 3d 20 44 6f 77 6e 20 41 72 72 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 rrow..B.=.Down.Arrow............
2e280 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 63 5b 32 5d 29 20 26 26 20 28 27 41 27 20 3d 3d .....if.(isset($c[2]).&&.('A'.==
2e2a0 3d 20 24 63 5b 32 5d 20 7c 7c 20 27 42 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 29 20 7b 0a 20 20 20 =.$c[2].||.'B'.===.$c[2])).{....
2e2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b .................if.('A'.===.$c[
2e2e0 32 5d 20 26 26 20 2d 31 20 3d 3d 3d 20 24 6f 66 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 2].&&.-1.===.$ofs).{............
2e300 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 66 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 .............$ofs.=.0;..........
2e320 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........}....................
2e340 20 20 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 20 20 20 20 20 ..if.(0.===.$numMatches).{......
2e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 ...................continue;....
2e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
2e3a0 20 20 20 20 20 20 20 20 24 6f 66 73 20 2b 3d 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 20 ........$ofs.+=.('A'.===.$c[2]).
2e3c0 3f 20 2d 31 20 3a 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f ?.-1.:.1;.....................$o
2e3e0 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 20 25 20 24 6e 75 6d fs.=.($numMatches.+.$ofs).%.$num
2e400 4d 61 74 63 68 65 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 Matches;.................}......
2e420 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 6f 72 64 28 24 63 29 20 3c 20 33 32 29 20 7b .......}.elseif.(ord($c).<.32).{
2e440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 22 5c 74 22 20 3d 3d 3d 20 24 63 .................if.("\t".===.$c
2e460 20 7c 7c 20 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .||."\n".===.$c).{..............
2e480 20 20 20 20 20 20 20 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 3e 20 30 20 26 26 20 2d 31 .......if.($numMatches.>.0.&&.-1
2e4a0 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .!==.$ofs).{....................
2e4c0 20 20 20 20 20 24 72 65 74 20 3d 20 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 3b 0a 20 20 20 20 .....$ret.=.$matches[$ofs];.....
2e4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 63 68 6f 20 6f 75 74 20 ....................//.Echo.out.
2e500 72 65 6d 61 69 6e 69 6e 67 20 63 68 61 72 73 20 66 6f 72 20 63 75 72 72 65 6e 74 20 6d 61 74 63 remaining.chars.for.current.matc
2e520 68 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 24 6f 75 74 70 75 h.........................$outpu
2e540 74 2d 3e 77 72 69 74 65 28 73 75 62 73 74 72 28 24 72 65 74 2c 20 24 69 29 29 3b 0a 20 20 20 20 t->write(substr($ret,.$i));.....
2e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 20 3d 20 73 74 72 6c 65 6e 28 ....................$i.=.strlen(
2e580 24 72 65 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 $ret);.....................}....
2e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 22 5c 6e 22 20 3d 3d 3d 20 24 ..................if.("\n".===.$
2e5c0 63 29 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 24 6f 75 c).{.........................$ou
2e5e0 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tput->write($c);................
2e600 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........break;.................
2e620 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 75 6d 4d ....}......................$numM
2e640 61 74 63 68 65 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 atches.=.0;.................}...
2e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 ...............continue;........
2e680 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 20 24 6f .....}.else.{.................$o
2e6a0 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 utput->write($c);...............
2e6c0 20 20 24 72 65 74 20 2e 3d 20 24 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b ..$ret..=.$c;.................++
2e6e0 24 69 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 75 6d 4d 61 74 63 68 65 73 $i;..................$numMatches
2e700 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 66 73 20 3d 20 30 3b 0a .=.0;.................$ofs.=.0;.
2e720 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 63 .................foreach.($autoc
2e740 6f 6d 70 6c 65 74 65 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 omplete.as.$value).{............
2e760 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 74 79 70 65 64 20 63 68 61 72 61 63 74 65 72 73 20 .........//.If.typed.characters.
2e780 6d 61 74 63 68 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 63 68 75 6e 6b 20 6f 66 20 76 61 6c match.the.beginning.chunk.of.val
2e7a0 75 65 20 28 65 2e 67 2e 20 5b 41 63 6d 65 44 65 5d 6d 6f 42 75 6e 64 6c 65 29 0a 20 20 20 20 20 ue.(e.g..[AcmeDe]moBundle)......
2e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 ...............if.(0.===.strpos(
2e7e0 24 76 61 6c 75 65 2c 20 24 72 65 74 29 20 26 26 20 24 69 20 21 3d 3d 20 73 74 72 6c 65 6e 28 24 $value,.$ret).&&.$i.!==.strlen($
2e800 76 61 6c 75 65 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 20 20 value)).{.......................
2e820 20 20 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 61 6c ..$matches[$numMatches++].=.$val
2e840 75 65 3b 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 ue;.....................}.......
2e860 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 0a 20 20 20 20 20 ..........}.............}.......
2e880 20 20 20 20 20 20 20 2f 2f 20 45 72 61 73 65 20 63 68 61 72 61 63 74 65 72 73 20 66 72 6f 6d 20 .......//.Erase.characters.from.
2e8a0 63 75 72 73 6f 72 20 74 6f 20 65 6e 64 20 6f 66 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 cursor.to.end.of.line...........
2e8c0 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 5b 4b 22 29 3b 0a 0a 20 20 20 ..$output->write("\033[K");.....
2e8e0 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 3e 20 30 20 26 26 20 .........if.($numMatches.>.0.&&.
2e900 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f -1.!==.$ofs).{................./
2e920 2f 20 53 61 76 65 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 /.Save.cursor.position..........
2e940 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 37 22 29 3b 0a .......$output->write("\0337");.
2e960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 57 72 69 74 65 20 68 69 67 68 6c 69 67 ................//.Write.highlig
2e980 68 74 65 64 20 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 hted.text.................$outpu
2e9a0 74 2d 3e 77 72 69 74 65 28 27 3c 68 6c 3e 27 2e 73 75 62 73 74 72 28 24 6d 61 74 63 68 65 73 5b t->write('<hl>'.substr($matches[
2e9c0 24 6f 66 73 5d 2c 20 24 69 29 2e 27 3c 2f 68 6c 3e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 $ofs],.$i).'</hl>');............
2e9e0 20 20 20 20 20 2f 2f 20 52 65 73 74 6f 72 65 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 0a .....//.Restore.cursor.position.
2ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 ................$output->write("
2ea20 5c 30 33 33 38 22 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 7d \0338");.............}.........}
2ea40 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 52 65 73 65 74 20 73 74 74 79 20 73 6f 20 69 74 20 62 65 ..........//.Reset.stty.so.it.be
2ea60 68 61 76 65 73 20 6e 6f 72 6d 61 6c 6c 79 20 61 67 61 69 6e 0a 20 20 20 20 20 20 20 20 73 68 65 haves.normally.again.........she
2ea80 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 73 74 74 79 ll_exec(sprintf('stty.%s',.$stty
2eaa0 4d 6f 64 65 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 20 20 Mode));..........return.$ret;...
2eac0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 61 20 68 69 64 64 65 ..}....../**......*.Gets.a.hidde
2eae0 6e 20 72 65 73 70 6f 6e 73 65 20 66 72 6f 6d 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 n.response.from.user.......*....
2eb00 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 ..*.@param.OutputInterface.$outp
2eb20 75 74 20 20 20 20 20 20 41 6e 20 4f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 ut......An.Output.instance......
2eb40 2a 20 40 70 61 72 61 6d 20 72 65 73 6f 75 72 63 65 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 53 *.@param.resource........$inputS
2eb60 74 72 65 61 6d 20 54 68 65 20 68 61 6e 64 6c 65 72 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 tream.The.handler.resource......
2eb80 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 61 6e 73 77 *......*.@return.string.The.answ
2eba0 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 52 75 6e 74 69 6d 65 er......*......*.@throws.Runtime
2ebc0 45 78 63 65 70 74 69 6f 6e 20 49 6e 20 63 61 73 65 20 74 68 65 20 66 61 6c 6c 62 61 63 6b 20 69 Exception.In.case.the.fallback.i
2ebe0 73 20 64 65 61 63 74 69 76 61 74 65 64 20 61 6e 64 20 74 68 65 20 72 65 73 70 6f 6e 73 65 20 63 s.deactivated.and.the.response.c
2ec00 61 6e 6e 6f 74 20 62 65 20 68 69 64 64 65 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 annot.be.hidden......*/.....priv
2ec20 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 28 4f ate.function.getHiddenResponse(O
2ec40 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 69 6e 70 75 74 53 74 utputInterface.$output,.$inputSt
2ec60 72 65 61 6d 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d ream).....{.........if.('\\'.===
2ec80 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 20 20 20 20 20 20 20 20 .DIRECTORY_SEPARATOR).{.........
2eca0 20 20 20 20 24 65 78 65 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 52 65 73 6f 75 72 63 65 ....$exe.=.__DIR__.'/../Resource
2ecc0 73 2f 62 69 6e 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 27 3b 0a 0a 20 20 20 20 20 20 20 s/bin/hiddeninput.exe';.........
2ece0 20 20 20 20 20 2f 2f 20 68 61 6e 64 6c 65 20 63 6f 64 65 20 72 75 6e 6e 69 6e 67 20 66 72 6f 6d .....//.handle.code.running.from
2ed00 20 61 20 70 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 70 68 61 72 3a 27 20 .a.phar.............if.('phar:'.
2ed20 3d 3d 3d 20 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 20 20 ===.substr(__FILE__,.0,.5)).{...
2ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 6d 70 45 78 65 20 3d 20 73 79 73 5f 67 65 74 5f ..............$tmpExe.=.sys_get_
2ed60 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 65 78 65 27 3b 0a 20 temp_dir().'/hiddeninput.exe';..
2ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 70 79 28 24 65 78 65 2c 20 24 74 6d 70 45 78 ...............copy($exe,.$tmpEx
2eda0 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 78 65 20 3d 20 24 74 6d 70 45 e);.................$exe.=.$tmpE
2edc0 78 65 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 20 20 20 20 24 xe;.............}..............$
2ede0 76 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 65 78 65 29 29 3b value.=.rtrim(shell_exec($exe));
2ee00 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 .............$output->writeln(''
2ee20 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 6d 70 45 78 );..............if.(isset($tmpEx
2ee40 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 6c 69 6e 6b 28 24 74 6d e)).{.................unlink($tm
2ee60 70 45 78 65 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 20 20 pExe);.............}............
2ee80 20 20 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ..return.$value;.........}......
2eea0 20 20 20 20 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 6c 65 28 ....if.($this->hasSttyAvailable(
2eec0 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 )).{.............$sttyMode.=.she
2eee0 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 67 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ll_exec('stty.-g');.............
2ef00 20 73 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 20 20 20 20 20 .shell_exec('stty.-echo');......
2ef20 20 20 20 20 20 20 20 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 .......$value.=.fgets($inputStre
2ef40 61 6d 2c 20 34 30 39 36 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 5f 65 78 65 am,.4096);.............shell_exe
2ef60 63 28 73 70 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 c(sprintf('stty.%s',.$sttyMode))
2ef80 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 ;..............if.(false.===.$va
2efa0 6c 75 65 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 lue).{.................throw.new
2efc0 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 20 20 .RuntimeException('Aborted');...
2efe0 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 ..........}..............$value.
2f000 3d 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 =.trim($value);.............$out
2f020 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 put->writeln('');..............r
2f040 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 eturn.$value;.........}.........
2f060 20 69 66 20 28 66 61 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 .if.(false.!==.$shell.=.$this->g
2f080 65 74 53 68 65 6c 6c 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 61 64 43 6d etShell()).{.............$readCm
2f0a0 64 20 3d 20 24 73 68 65 6c 6c 20 3d 3d 3d 20 27 63 73 68 27 20 3f 20 27 73 65 74 20 6d 79 70 61 d.=.$shell.===.'csh'.?.'set.mypa
2f0c0 73 73 77 6f 72 64 20 3d 20 24 3c 27 20 3a 20 27 72 65 61 64 20 2d 72 20 6d 79 70 61 73 73 77 6f ssword.=.$<'.:.'read.-r.mypasswo
2f0e0 72 64 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 rd';.............$command.=.spri
2f100 6e 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 ntf("/usr/bin/env.%s.-c.'stty.-e
2f120 63 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 cho;.%s;.stty.echo;.echo.\$mypas
2f140 73 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 20 20 20 20 sword'",.$shell,.$readCmd);.....
2f160 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 ........$value.=.rtrim(shell_exe
2f180 63 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 c($command));.............$outpu
2f1a0 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 t->writeln('');..............ret
2f1c0 75 72 6e 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 74 urn.$value;.........}..........t
2f1e0 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
2f200 65 20 74 6f 20 68 69 64 65 20 74 68 65 20 72 65 73 70 6f 6e 73 65 2e 27 29 3b 0a 20 20 20 20 7d e.to.hide.the.response.');.....}
2f220 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 56 61 6c 69 64 61 74 65 73 20 61 6e 20 61 74 ....../**......*.Validates.an.at
2f240 74 65 6d 70 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c tempt.......*......*.@param.call
2f260 61 62 6c 65 20 20 20 20 20 20 20 20 24 69 6e 74 65 72 76 69 65 77 65 72 20 41 20 63 61 6c 6c 61 able........$interviewer.A.calla
2f280 62 6c 65 20 74 68 61 74 20 77 69 6c 6c 20 61 73 6b 20 66 6f 72 20 61 20 71 75 65 73 74 69 6f 6e ble.that.will.ask.for.a.question
2f2a0 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 0a 20 20 20 20 20 2a 20 40 70 .and.return.the.result......*.@p
2f2c0 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 20 20 20 aram.OutputInterface.$output....
2f2e0 20 20 41 6e 20 4f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 ..An.Output.instance......*.@par
2f300 61 6d 20 51 75 65 73 74 69 6f 6e 20 20 20 20 20 20 20 20 24 71 75 65 73 74 69 6f 6e 20 20 20 20 am.Question........$question....
2f320 41 20 51 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 A.Question.instance......*......
2f340 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 76 61 6c 69 64 61 74 65 64 20 72 *.@return.string.The.validated.r
2f360 65 73 70 6f 6e 73 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 esponse......*......*.@throws.\E
2f380 78 63 65 70 74 69 6f 6e 20 49 6e 20 63 61 73 65 20 74 68 65 20 6d 61 78 20 6e 75 6d 62 65 72 20 xception.In.case.the.max.number.
2f3a0 6f 66 20 61 74 74 65 6d 70 74 73 20 68 61 73 20 62 65 65 6e 20 72 65 61 63 68 65 64 20 61 6e 64 of.attempts.has.been.reached.and
2f3c0 20 6e 6f 20 76 61 6c 69 64 20 72 65 73 70 6f 6e 73 65 20 68 61 73 20 62 65 65 6e 20 67 69 76 65 .no.valid.response.has.been.give
2f3e0 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 n......*/.....private.function.v
2f400 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 63 61 6c 6c 61 62 6c 65 20 24 69 6e 74 65 72 76 alidateAttempts(callable.$interv
2f420 69 65 77 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 iewer,.OutputInterface.$output,.
2f440 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 Question.$question).....{.......
2f460 20 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 61 74 74 65 6d 70 ..$error.=.null;.........$attemp
2f480 74 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 29 ts.=.$question->getMaxAttempts()
2f4a0 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 74 74 65 6d ;.........while.(null.===.$attem
2f4c0 70 74 73 20 7c 7c 20 24 61 74 74 65 6d 70 74 73 2d 2d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 pts.||.$attempts--).{...........
2f4e0 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 ..if.(null.!==.$error).{........
2f500 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6f 75 74 70 .........$this->writeError($outp
2f520 75 74 2c 20 24 65 72 72 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ut,.$error);.............}......
2f540 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ........try.{.................re
2f560 74 75 72 6e 20 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 turn.call_user_func($question->g
2f580 65 74 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 etValidator(),.$interviewer());.
2f5a0 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 ............}.catch.(\Exception.
2f5c0 24 65 72 72 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 $error).{.............}.........
2f5e0 7d 0a 0a 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 24 65 72 72 6f 72 3b 0a 20 20 20 20 7d 0a 0a }..........throw.$error;.....}..
2f600 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 61 20 76 61 6c 69 64 20 75 ..../**......*.Returns.a.valid.u
2f620 6e 69 78 20 73 68 65 6c 6c 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e nix.shell.......*......*.@return
2f640 20 73 74 72 69 6e 67 7c 62 6f 6f 6c 20 54 68 65 20 76 61 6c 69 64 20 73 68 65 6c 6c 20 6e 61 6d .string|bool.The.valid.shell.nam
2f660 65 2c 20 66 61 6c 73 65 20 69 6e 20 63 61 73 65 20 6e 6f 20 76 61 6c 69 64 20 73 68 65 6c 6c 20 e,.false.in.case.no.valid.shell.
2f680 69 73 20 66 6f 75 6e 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e is.found......*/.....private.fun
2f6a0 63 74 69 6f 6e 20 67 65 74 53 68 65 6c 6c 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 ction.getShell().....{.........i
2f6c0 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 20 20 20 20 f.(null.!==.self::$shell).{.....
2f6e0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b 0a 20 20 20 ........return.self::$shell;....
2f700 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 66 .....}..........self::$shell.=.f
2f720 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 27 alse;..........if.(file_exists('
2f740 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f /usr/bin/env')).{.............//
2f760 20 68 61 6e 64 6c 65 20 6f 74 68 65 72 20 4f 53 73 20 77 69 74 68 20 62 61 73 68 2f 7a 73 68 2f .handle.other.OSs.with.bash/zsh/
2f780 6b 73 68 2f 63 73 68 20 69 66 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 68 69 64 65 20 74 68 65 ksh/csh.if.available.to.hide.the
2f7a0 20 61 6e 73 77 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 73 74 20 3d 20 22 2f 75 73 .answer.............$test.=."/us
2f7c0 72 2f 62 69 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 r/bin/env.%s.-c.'echo.OK'.2>./de
2f7e0 76 2f 6e 75 6c 6c 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 61 72 v/null";.............foreach.(ar
2f800 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')
2f820 20 61 73 20 24 73 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 .as.$sh).{.................if.('
2f840 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
2f860 28 24 74 65 73 74 2c 20 24 73 68 29 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ($test,.$sh)))).{...............
2f880 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 24 73 68 3b 0a 20 20 20 20 20 20 ......self::$shell.=.$sh;.......
2f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..............break;............
2f8c0 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 0a 0a .....}.............}.........}..
2f8e0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b 0a 20 20 20 ........return.self::$shell;....
2f900 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 77 68 65 74 68 .}....../**......*.Returns.wheth
2f920 65 72 20 53 74 74 79 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 er.Stty.is.available.or.not.....
2f940 20 20 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 ..*......*.@return.bool......*/.
2f960 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 74 79 41 76 61 69 ....private.function.hasSttyAvai
2f980 6c 61 62 6c 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 lable().....{.........if.(null.!
2f9a0 3d 3d 20 73 65 6c 66 3a 3a 24 73 74 74 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ==.self::$stty).{.............re
2f9c0 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 turn.self::$stty;.........}.....
2f9e0 20 20 20 20 20 65 78 65 63 28 27 73 74 74 79 20 32 3e 26 31 27 2c 20 24 6f 75 74 70 75 74 2c 20 .....exec('stty.2>&1',.$output,.
2fa00 24 65 78 69 74 63 6f 64 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 $exitcode);..........return.self
2fa20 3a 3a 24 73 74 74 79 20 3d 20 24 65 78 69 74 63 6f 64 65 20 3d 3d 3d 20 30 3b 0a 20 20 20 20 7d ::$stty.=.$exitcode.===.0;.....}
2fa40 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 .}.<?php../*..*.This.file.is.par
2fa60 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 t.of.the.Symfony.package...*..*.
2fa80 28 63 29 20 46 61 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 (c).Fabien.Potencier.<fabien@sym
2faa0 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 fony.com>..*..*.For.the.full.cop
2fac0 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 yright.and.license.information,.
2fae0 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 please.view.the.LICENSE..*.file.
2fb00 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 that.was.distributed.with.this.s
2fb20 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f ource.code...*/..namespace.Symfo
2fb40 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 73 ny\Component\Console\Helper;..us
2fb60 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
2fb80 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 66 6f 6e ption\LogicException;.use.Symfon
2fba0 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 49 y\Component\Console\Input\InputI
2fbc0 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 5c nterface;.use.Symfony\Component\
2fbe0 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;.
2fc00 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 51 75 use.Symfony\Component\Console\Qu
2fc20 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 65 20 53 79 6d 66 6f estion\ChoiceQuestion;.use.Symfo
2fc40 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 6f 6e 5c 43 6f ny\Component\Console\Question\Co
2fc60 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nfirmationQuestion;.use.Symfony\
2fc80 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 51 75 65 73 74 Component\Console\Question\Quest
2fca0 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
2fcc0 6c 65 5c 53 74 79 6c 65 5c 53 79 6d 66 6f 6e 79 53 74 79 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f le\Style\SymfonyStyle;.use.Symfo
2fce0 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 4f ny\Component\Console\Formatter\O
2fd00 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 53 79 6d 66 6f 6e 79 20 utputFormatter;../**..*.Symfony.
2fd20 53 74 79 6c 65 20 47 75 69 64 65 20 63 6f 6d 70 6c 69 61 6e 74 20 71 75 65 73 74 69 6f 6e 20 68 Style.Guide.compliant.question.h
2fd40 65 6c 70 65 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b 65 76 69 6e 20 42 6f 6e 64 20 elper...*..*.@author.Kevin.Bond.
2fd60 3c 6b 65 76 69 6e 62 6f 6e 64 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 <kevinbond@gmail.com>..*/.class.
2fd80 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 51 75 SymfonyQuestionHelper.extends.Qu
2fda0 65 73 74 69 6f 6e 48 65 6c 70 65 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 estionHelper.{...../**......*.{@
2fdc0 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 inheritdoc}......*/.....public.f
2fde0 75 6e 63 74 69 6f 6e 20 61 73 6b 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 unction.ask(InputInterface.$inpu
2fe00 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 51 75 65 73 t,.OutputInterface.$output,.Ques
2fe20 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 76 tion.$question).....{.........$v
2fe40 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 6c 69 64 61 74 alidator.=.$question->getValidat
2fe60 6f 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 6c 69 or();.........$question->setVali
2fe80 64 61 74 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 dator(function.($value).use.($va
2fea0 6c 69 64 61 74 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 lidator).{.............if.(null.
2fec0 21 3d 3d 20 24 76 61 6c 69 64 61 74 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 !==.$validator).{...............
2fee0 20 20 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 20 ..$value.=.$validator($value);..
2ff00 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 20 20 ...........}.else.{.............
2ff20 20 20 20 20 2f 2f 20 6d 61 6b 65 20 72 65 71 75 69 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 ....//.make.required............
2ff40 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 21 69 .....if.(!is_array($value).&&.!i
2ff60 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 6c 65 6e 28 24 s_bool($value).&&.0.===.strlen($
2ff80 76 61 6c 75 65 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 74 68 value)).{.....................th
2ffa0 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 76 61 6c 75 65 20 row.new.LogicException('A.value.
2ffc0 69 73 20 72 65 71 75 69 72 65 64 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is.required.');.................
2ffe0 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 }.............}..............ret
30000 75 72 6e 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 20 20 20 urn.$value;.........});.........
30020 20 72 65 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 .return.parent::ask($input,.$out
30040 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a put,.$question);.....}....../**.
30060 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 .....*.{@inheritdoc}......*/....
30080 20 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(
300a0 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
300c0 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 65 78 74 n.$question).....{.........$text
300e0 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 65 28 24 71 75 65 73 .=.OutputFormatter::escape($ques
30100 74 69 6f 6e 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 24 64 tion->getQuestion());.........$d
30120 65 66 61 75 6c 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 efault.=.$question->getDefault()
30140 3b 0a 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 74 72 75 65 29 20 7b 0a 20 20 20 20 20 ;..........switch.(true).{......
30160 20 20 20 20 20 20 20 63 61 73 65 20 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 3a 0a 20 .......case.null.===.$default:..
30180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 ...............$text.=.sprintf('
301a0 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 3a 27 2c 20 24 74 65 78 74 29 3b 0a 0a 20 20 20 .<info>%s</info>:',.$text);.....
301c0 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 .............break;.............
301e0 20 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 66 69 .case.$question.instanceof.Confi
30200 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rmationQuestion:................
30220 20 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
30240 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
30260 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'.:
30280 20 27 6e 6f 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a .'no');..................break;.
302a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 .............case.$question.inst
302c0 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 65 73 74 69 anceof.ChoiceQuestion.&&.$questi
302e0 6f 6e 2d 3e 69 73 4d 75 6c 74 69 73 65 6c 65 63 74 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 on->isMultiselect():............
30300 20 20 20 20 20 24 63 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 .....$choices.=.$question->getCh
30320 6f 69 63 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c oices();.................$defaul
30340 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 0a 20 20 20 t.=.explode(',',.$default);.....
30360 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 20 61 .............foreach.($default.a
30380 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 s.$key.=>.$value).{.............
303a0 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 24 63 68 6f 69 63 65 ........$default[$key].=.$choice
303c0 73 5b 74 72 69 6d 28 24 76 61 6c 75 65 29 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s[trim($value)];................
303e0 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 20 3d 20 73 70 72 69 .}..................$text.=.spri
30400 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>
30420 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
30440 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
30460 65 66 61 75 6c 74 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 efault)));..................brea
30480 6b 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 69 k;..............case.$question.i
304a0 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 20 20 20 20 20 20 nstanceof.ChoiceQuestion:.......
304c0 20 20 20 20 20 20 20 20 20 20 24 63 68 6f 69 63 65 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e ..........$choices.=.$question->
304e0 67 65 74 43 68 6f 69 63 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 getChoices();.................$t
30500 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 66 6f 3e 20 ext.=.sprintf('.<info>%s</info>.
30520 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 74 65 78 74 [<comment>%s</comment>]:',.$text
30540 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 24 63 68 6f 69 63 ,.OutputFormatter::escape($choic
30560 65 73 5b 24 64 65 66 61 75 6c 74 5d 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es[$default]));.................
30580 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 .break;..............default:...
305a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 ..............$text.=.sprintf('.
305c0 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 25 73 3c 2f 63 6f <info>%s</info>.[<comment>%s</co
305e0 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 72 6d 61 74 74 65 mment>]:',.$text,.OutputFormatte
30600 72 3a 3a 65 73 63 61 70 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a r::escape($default));.........}.
30620 0a 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 65 78 74 29 .........$output->writeln($text)
30640 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 ;..........if.($question.instanc
30660 65 6f 66 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 eof.ChoiceQuestion).{...........
30680 20 20 24 77 69 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 ..$width.=.max(array_map('strlen
306a0 27 2c 20 61 72 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 ',.array_keys($question->getChoi
306c0 63 65 73 28 29 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 ces())));..............foreach.(
306e0 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 20 61 73 20 24 6b 65 79 20 $question->getChoices().as.$key.
30700 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 =>.$value).{.................$ou
30720 74 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 tput->writeln(sprintf("..[<comme
30740 6e 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 nt>%-${width}s</comment>].%s",.$
30760 6b 65 79 2c 20 24 76 61 6c 75 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 key,.$value));.............}....
30780 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 .....}..........$output->write('
307a0 20 3e 20 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 .>.');.....}....../**......*.{@i
307c0 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 nheritdoc}......*/.....protected
307e0 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 74 65 72 .function.writeError(OutputInter
30800 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 6f 72 29 face.$output,.\Exception.$error)
30820 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 .....{.........if.($output.insta
30840 6e 63 65 6f 66 20 53 79 6d 66 6f 6e 79 53 74 79 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 nceof.SymfonyStyle).{...........
30860 20 20 24 6f 75 74 70 75 74 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ..$output->newLine();...........
30880 20 20 24 6f 75 74 70 75 74 2d 3e 65 72 72 6f 72 28 24 65 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 ..$output->error($error->getMess
308a0 61 67 65 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 age());..............return;....
308c0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 77 72 69 74 65 45 72 72 .....}..........parent::writeErr
308e0 6f 72 28 24 6f 75 74 70 75 74 2c 20 24 65 72 72 6f 72 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 or($output,.$error);.....}.}.<?p
30900 68 70 0a 0a 2f 2a 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 74 hp../*..*.This.file.is.part.of.t
30920 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 he.Symfony.package...*..*.(c).Fa
30940 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
30960 6f 6d 3e 0a 20 2a 0a 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 om>..*..*.For.the.full.copyright
30980 20 61 6e 64 20 6c 69 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 .and.license.information,.please
309a0 20 76 69 65 77 20 74 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 .view.the.LICENSE..*.file.that.w
309c0 61 73 20 64 69 73 74 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 as.distributed.with.this.source.
309e0 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d code...*/..namespace.Symfony\Com
30a00 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 66 ponent\Console\Helper;..use.Symf
30a20 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\
30a40 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
30a60 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
30a80 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 44 65 66 69 6e 65 n\LogicException;../**..*.Define
30aa0 73 20 74 68 65 20 73 74 79 6c 65 73 20 66 6f 72 20 61 20 54 61 62 6c 65 2e 0a 20 2a 0a 20 2a 20 s.the.styles.for.a.Table...*..*.
30ac0 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e @author.Fabien.Potencier.<fabien
30ae0 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 d0 a1 d0 b0 d1 88 d0 @symfony.com>..*.@author........
30b00 b0 20 d0 a1 d1 82 d0 b0 d0 bc d0 b5 d0 bd d0 ba d0 be d0 b2 d0 b8 d1 9b 20 3c 75 6d 70 69 72 73 .........................<umpirs
30b20 6b 79 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 54 61 62 6c 65 53 74 79 ky@gmail.com>..*/.class.TableSty
30b40 6c 65 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 61 64 64 69 6e 67 43 68 61 72 20 3d 20 le.{.....private.$paddingChar.=.
30b60 27 20 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 '.';.....private.$horizontalBord
30b80 65 72 43 68 61 72 20 3d 20 27 2d 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 76 65 72 74 69 erChar.=.'-';.....private.$verti
30ba0 63 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 27 7c 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 calBorderChar.=.'|';.....private
30bc0 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 20 3d 20 27 2b 27 3b 0a 20 20 20 20 70 72 69 76 61 74 .$crossingChar.=.'+';.....privat
30be0 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 6e 66 6f 3e 25 73 3c e.$cellHeaderFormat.=.'<info>%s<
30c00 2f 69 6e 66 6f 3e 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 65 6c 6c 52 6f 77 46 6f 72 /info>';.....private.$cellRowFor
30c20 6d 61 74 20 3d 20 27 25 73 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 65 6c 6c 52 6f 77 mat.=.'%s';.....private.$cellRow
30c40 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 20 3d 20 27 20 25 73 20 27 3b 0a 20 20 20 20 70 72 69 76 ContentFormat.=.'.%s.';.....priv
30c60 61 74 65 20 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 20 3d 20 27 25 73 27 3b 0a 20 20 20 20 70 72 ate.$borderFormat.=.'%s';.....pr
30c80 69 76 61 74 65 20 24 70 61 64 54 79 70 65 20 3d 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 3b 0a ivate.$padType.=.STR_PAD_RIGHT;.
30ca0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 70 61 64 64 69 6e 67 20 63 68 61 ...../**......*.Sets.padding.cha
30cc0 72 61 63 74 65 72 2c 20 75 73 65 64 20 66 6f 72 20 63 65 6c 6c 20 70 61 64 64 69 6e 67 2e 0a 20 racter,.used.for.cell.padding...
30ce0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 61 64 64 ....*......*.@param.string.$padd
30d00 69 6e 67 43 68 61 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 ingChar......*......*.@return.Ta
30d20 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 bleStyle......*/.....public.func
30d40 74 69 6f 6e 20 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 tion.setPaddingChar($paddingChar
30d60 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 61 64 64 69 6e 67 43 68 61 ).....{.........if.(!$paddingCha
30d80 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 r).{.............throw.new.Logic
30da0 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 70 61 64 64 69 6e 67 20 63 68 61 72 20 6d 75 73 74 Exception('The.padding.char.must
30dc0 20 6e 6f 74 20 62 65 20 65 6d 70 74 79 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 .not.be.empty');.........}......
30de0 20 20 20 20 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 69 6e ....$this->paddingChar.=.$paddin
30e00 67 43 68 61 72 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 gChar;..........return.$this;...
30e20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 70 61 64 64 69 6e 67 ..}....../**......*.Gets.padding
30e40 20 63 68 61 72 61 63 74 65 72 2c 20 75 73 65 64 20 66 6f 72 20 63 65 6c 6c 20 70 61 64 64 69 6e .character,.used.for.cell.paddin
30e60 67 2e 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 72 69 6e 67 0a g.......*......*.@return.string.
30e80 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 67 65 74 50 .....*/.....public.function.getP
30ea0 61 64 64 69 6e 67 43 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 addingChar().....{.........retur
30ec0 6e 20 24 74 68 69 73 2d 3e 70 61 64 64 69 6e 67 43 68 61 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 n.$this->paddingChar;.....}.....
30ee0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 62 6f 72 64 ./**......*.Sets.horizontal.bord
30f00 65 72 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 er.character.......*......*.@par
30f20 61 6d 20 73 74 72 69 6e 67 20 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 0a am.string.$horizontalBorderChar.
30f40 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 53 74 79 6c 65 .....*......*.@return.TableStyle
30f60 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 74 ......*/.....public.function.set
30f80 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 74 61 6c HorizontalBorderChar($horizontal
30fa0 42 6f 72 64 65 72 43 68 61 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d BorderChar).....{.........$this-
30fc0 3e 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 24 68 6f 72 69 7a 6f 6e >horizontalBorderChar.=.$horizon
30fe0 74 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 talBorderChar;..........return.$
31000 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 this;.....}....../**......*.Gets
31020 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 62 6f 72 64 65 72 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 .horizontal.border.character....
31040 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 ...*......*.@return.string......
31060 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 72 69 7a 6f */.....public.function.getHorizo
31080 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 ntalBorderChar().....{.........r
310a0 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 68 61 eturn.$this->horizontalBorderCha
310c0 72 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 65 74 73 20 76 65 r;.....}....../**......*.Sets.ve
310e0 72 74 69 63 61 6c 20 62 6f 72 64 65 72 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 2a 0a rtical.border.character.......*.
31100 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 76 65 72 74 69 63 61 6c 42 6f .....*.@param.string.$verticalBo
31120 72 64 65 72 43 68 61 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 rderChar......*......*.@return.T
31140 61 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e ableStyle......*/.....public.fun
31160 63 74 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 ction.setVerticalBorderChar($ver
31180 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 ticalBorderChar).....{.........$
311a0 74 68 69 73 2d 3e 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 24 76 65 72 74 this->verticalBorderChar.=.$vert
311c0 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 icalBorderChar;..........return.
311e0 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 $this;.....}....../**......*.Get
31200 73 20 76 65 72 74 69 63 61 6c 20 62 6f 72 64 65 72 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 s.vertical.border.character.....
31220 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a ..*......*.@return.string......*
31240 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 74 69 63 61 /.....public.function.getVertica
31260 6c 42 6f 72 64 65 72 43 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 lBorderChar().....{.........retu
31280 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 20 20 rn.$this->verticalBorderChar;...
312a0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 63 72 6f 73 73 69 6e ..}....../**......*.Sets.crossin
312c0 67 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 g.character.......*......*.@para
312e0 6d 20 73 74 72 69 6e 67 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 0a 20 20 20 20 20 2a 0a 20 20 m.string.$crossingChar......*...
31300 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a ...*.@return.TableStyle......*/.
31320 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 72 6f 73 73 69 6e 67 43 ....public.function.setCrossingC
31340 68 61 72 28 24 63 72 6f 73 73 69 6e 67 43 68 61 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 har($crossingChar).....{........
31360 20 24 74 68 69 73 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 .$this->crossingChar.=.$crossing
31380 43 68 61 72 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 Char;..........return.$this;....
313a0 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 63 72 6f 73 73 69 6e 67 .}....../**......*.Gets.crossing
313c0 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 .character.......*......*.@retur
313e0 6e 20 73 74 72 69 6e 67 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 0a 20 20 20 20 20 2a 2f 0a 20 n.string.$crossingChar......*/..
31400 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 72 6f 73 73 69 6e 67 43 68 ...public.function.getCrossingCh
31420 61 72 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 ar().....{.........return.$this-
31440 3e 63 72 6f 73 73 69 6e 67 43 68 61 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 >crossingChar;.....}....../**...
31460 20 20 20 2a 20 53 65 74 73 20 68 65 61 64 65 72 20 63 65 6c 6c 20 66 6f 72 6d 61 74 2e 0a 20 20 ...*.Sets.header.cell.format....
31480 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 65 6c 6c 48 ...*......*.@param.string.$cellH
314a0 65 61 64 65 72 46 6f 72 6d 61 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 eaderFormat......*......*.@retur
314c0 6e 20 54 61 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 n.TableStyle......*/.....public.
314e0 66 75 6e 63 74 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 function.setCellHeaderFormat($ce
31500 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 llHeaderFormat).....{.........$t
31520 68 69 73 2d 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 his->cellHeaderFormat.=.$cellHea
31540 64 65 72 46 6f 72 6d 61 74 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 derFormat;..........return.$this
31560 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 68 65 61 ;.....}....../**......*.Gets.hea
31580 64 65 72 20 63 65 6c 6c 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 der.cell.format.......*......*.@
315a0 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 return.string......*/.....public
315c0 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 74 28 29 0a .function.getCellHeaderFormat().
315e0 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 63 65 6c 6c ....{.........return.$this->cell
31600 48 65 61 64 65 72 46 6f 72 6d 61 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 HeaderFormat;.....}....../**....
31620 20 20 2a 20 53 65 74 73 20 72 6f 77 20 63 65 6c 6c 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 2a ..*.Sets.row.cell.format.......*
31640 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 65 6c 6c 52 6f 77 46 6f ......*.@param.string.$cellRowFo
31660 72 6d 61 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 rmat......*......*.@return.Table
31680 53 74 79 6c 65 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 Style......*/.....public.functio
316a0 6e 20 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 n.setCellRowFormat($cellRowForma
316c0 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 46 t).....{.........$this->cellRowF
316e0 6f 72 6d 61 74 20 3d 20 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 3b 0a 0a 20 20 20 20 20 20 20 ormat.=.$cellRowFormat;.........
31700 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 .return.$this;.....}....../**...
31720 20 20 20 2a 20 47 65 74 73 20 72 6f 77 20 63 65 6c 6c 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 ...*.Gets.row.cell.format.......
31740 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a *......*.@return.string......*/.
31760 20 20 20 20 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 ....public.function.getCellRowFo
31780 72 6d 61 74 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 rmat().....{.........return.$thi
317a0 73 2d 3e 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a s->cellRowFormat;.....}....../**
317c0 0a 20 20 20 20 20 2a 20 53 65 74 73 20 72 6f 77 20 63 65 6c 6c 20 63 6f 6e 74 65 6e 74 20 66 6f ......*.Sets.row.cell.content.fo
317e0 72 6d 61 74 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 6e rmat.......*......*.@param.strin
31800 67 20 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 0a 20 20 20 20 20 2a 0a 20 g.$cellRowContentFormat......*..
31820 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f ....*.@return.TableStyle......*/
31840 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 43 .....public.function.setCellRowC
31860 6f 6e 74 65 6e 74 46 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 ontentFormat($cellRowContentForm
31880 61 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 at).....{.........$this->cellRow
318a0 43 6f 6e 74 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 ContentFormat.=.$cellRowContentF
318c0 6f 72 6d 61 74 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 ormat;..........return.$this;...
318e0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 72 6f 77 20 63 65 6c ..}....../**......*.Gets.row.cel
31900 6c 20 63 6f 6e 74 65 6e 74 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 l.content.format.......*......*.
31920 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 @return.string......*/.....publi
31940 63 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 c.function.getCellRowContentForm
31960 61 74 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 at().....{.........return.$this-
31980 3e 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 >cellRowContentFormat;.....}....
319a0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 61 62 6c 65 20 62 6f 72 64 65 72 20 66 ../**......*.Sets.table.border.f
319c0 6f 72 6d 61 74 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 ormat.......*......*.@param.stri
319e0 6e 67 20 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 ng.$borderFormat......*......*.@
31a00 72 65 74 75 72 6e 20 54 61 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 return.TableStyle......*/.....pu
31a20 62 6c 69 63 20 66 75 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 blic.function.setBorderFormat($b
31a40 6f 72 64 65 72 46 6f 72 6d 61 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 orderFormat).....{.........$this
31a60 2d 3e 62 6f 72 64 65 72 46 6f 72 6d 61 74 20 3d 20 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 3b 0a ->borderFormat.=.$borderFormat;.
31a80 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 .........return.$this;.....}....
31aa0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 61 62 6c 65 20 62 6f 72 64 65 72 20 66 ../**......*.Gets.table.border.f
31ac0 6f 72 6d 61 74 2e 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 72 ormat.......*......*.@return.str
31ae0 69 6e 67 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 ing......*/.....public.function.
31b00 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 getBorderFormat().....{.........
31b20 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 0a 20 20 20 20 return.$this->borderFormat;.....
31b40 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 63 65 6c 6c 20 70 61 64 64 }....../**......*.Sets.cell.padd
31b60 69 6e 67 20 74 79 70 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 ing.type.......*......*.@param.i
31b80 6e 74 20 24 70 61 64 54 79 70 65 20 53 54 52 5f 50 41 44 5f 2a 0a 20 20 20 20 20 2a 0a 20 20 20 nt.$padType.STR_PAD_*......*....
31ba0 20 20 2a 20 40 72 65 74 75 72 6e 20 54 61 62 6c 65 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 ..*.@return.TableStyle......*/..
31bc0 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 64 54 79 70 65 28 24 70 ...public.function.setPadType($p
31be0 61 64 54 79 70 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 6e 5f 61 72 adType).....{.........if.(!in_ar
31c00 72 61 79 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 ray($padType,.array(STR_PAD_LEFT
31c20 2c 20 53 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 ,.STR_PAD_RIGHT,.STR_PAD_BOTH),.
31c40 74 72 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 true)).{.............throw.new.I
31c60 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 6c 69 64 nvalidArgumentException('Invalid
31c80 20 70 61 64 64 69 6e 67 20 74 79 70 65 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 .padding.type..Expected.one.of.(
31ca0 53 54 52 5f 50 41 44 5f 4c 45 46 54 2c 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 2c 20 53 54 52 STR_PAD_LEFT,.STR_PAD_RIGHT,.STR
31cc0 5f 50 41 44 5f 42 4f 54 48 29 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 _PAD_BOTH).');.........}........
31ce0 20 20 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 20 20 ..$this->padType.=.$padType;....
31d00 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f ......return.$this;.....}....../
31d20 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 63 65 6c 6c 20 70 61 64 64 69 6e 67 20 74 79 70 65 **......*.Gets.cell.padding.type
31d40 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 .......*......*.@return.int.....
31d60 20 2a 2f 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 61 64 54 79 .*/.....public.function.getPadTy
31d80 70 65 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 pe().....{.........return.$this-
31da0 3e 70 61 64 54 79 70 65 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 >padType;.....}.}.<?php../*..*.T
31dc0 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 his.file.is.part.of.the.Symfony.
31de0 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 package...*..*.(c).Fabien.Potenc
31e00 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 ier.<fabien@symfony.com>..*..*.F
31e20 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 63 65 6e 73 or.the.full.copyright.and.licens
31e40 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 68 65 20 4c e.information,.please.view.the.L
31e60 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 72 69 62 75 ICENSE..*.file.that.was.distribu
31e80 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 2a 2f 0a 0a ted.with.this.source.code...*/..
31ea0 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
31ec0 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 4d 61 72 6b 73 20 61 20 72 6f 77 20 ole\Helper;../**..*.Marks.a.row.
31ee0 61 73 20 62 65 69 6e 67 20 61 20 73 65 70 61 72 61 74 6f 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 as.being.a.separator...*..*.@aut
31f00 68 6f 72 20 46 61 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 hor.Fabien.Potencier.<fabien@sym
31f20 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 54 61 62 6c 65 53 65 70 61 72 61 74 fony.com>..*/.class.TableSeparat
31f40 6f 72 20 65 78 74 65 6e 64 73 20 54 61 62 6c 65 43 65 6c 6c 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 or.extends.TableCell.{...../**..
31f60 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 0a 20 20 20 20 ....*.@param.array.$options.....
31f80 20 2a 2f 0a 20 20 20 20 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
31fa0 75 63 74 28 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 20 20 uct(array.$options.=.array())...
31fc0 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ..{.........parent::__construct(
31fe0 27 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a '',.$options);.....}.}.<?php../*
32000 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 74 68 65 20 53 79 6d ..*.This.file.is.part.of.the.Sym
32020 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 fony.package...*..*.(c).Fabien.P
32040 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 6f 6d 3e 0a 20 2a otencier.<fabien@symfony.com>..*
32060 0a 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 ..*.For.the.full.copyright.and.l
32080 69 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 icense.information,.please.view.
320a0 74 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 the.LICENSE..*.file.that.was.dis
320c0 74 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 tributed.with.this.source.code..
320e0 20 2a 2f 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
32100 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 48 65 6c 70 65 72 49 \Console\Helper;../**..*.HelperI
32120 6e 74 65 72 66 61 63 65 20 69 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 61 6c 6c 20 68 65 nterface.is.the.interface.all.he
32140 6c 70 65 72 73 20 6d 75 73 74 20 69 6d 70 6c 65 6d 65 6e 74 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 lpers.must.implement...*..*.@aut
32160 68 6f 72 20 46 61 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 hor.Fabien.Potencier.<fabien@sym
32180 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 48 65 6c 70 65 72 49 6e fony.com>..*/.interface.HelperIn
321a0 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 terface.{...../**......*.Sets.th
321c0 65 20 68 65 6c 70 65 72 20 73 65 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 69 e.helper.set.associated.with.thi
321e0 73 20 68 65 6c 70 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 48 s.helper.......*......*.@param.H
32200 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 41 20 48 65 6c 70 65 72 53 65 74 20 elperSet.$helperSet.A.HelperSet.
32220 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 instance......*/.....public.func
32240 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
32260 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 perSet.=.null);....../**......*.
32280 47 65 74 73 20 74 68 65 20 68 65 6c 70 65 72 20 73 65 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 Gets.the.helper.set.associated.w
322a0 69 74 68 20 74 68 69 73 20 68 65 6c 70 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 ith.this.helper.......*......*.@
322c0 72 65 74 75 72 6e 20 48 65 6c 70 65 72 53 65 74 20 41 20 48 65 6c 70 65 72 53 65 74 20 69 6e 73 return.HelperSet.A.HelperSet.ins
322e0 74 61 6e 63 65 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 tance......*/.....public.functio
32300 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 n.getHelperSet();....../**......
32320 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 63 61 6e 6f 6e 69 63 61 6c 20 6e 61 6d 65 20 6f 66 20 *.Returns.the.canonical.name.of.
32340 74 68 69 73 20 68 65 6c 70 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 this.helper.......*......*.@retu
32360 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 63 61 6e 6f 6e 69 63 61 6c 20 6e 61 6d 65 0a 20 20 20 rn.string.The.canonical.name....
32380 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 67 65 74 4e 61 6d 65 ..*/.....public.function.getName
323a0 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 ();.}.<?php../*..*.This.file.is.
323c0 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a part.of.the.Symfony.package...*.
323e0 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 .*.(c).Fabien.Potencier.<fabien@
32400 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 symfony.com>..*..*.For.the.full.
32420 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f copyright.and.license.informatio
32440 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 n,.please.view.the.LICENSE..*.fi
32460 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 le.that.was.distributed.with.thi
32480 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 s.source.code...*/..namespace.Sy
324a0 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 0a mfony\Component\Console\Helper;.
324c0 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
324e0 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 66 6f 6e 79 nput\InputInterface;.use.Symfony
32500 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 77 \Component\Console\Input\InputAw
32520 61 72 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 41 6e 20 69 6d 70 6c 65 6d 65 areInterface;../**..*.An.impleme
32540 6e 74 61 74 69 6f 6e 20 6f 66 20 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 20 66 ntation.of.InputAwareInterface.f
32560 6f 72 20 48 65 6c 70 65 72 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 57 6f 75 74 65 72 or.Helpers...*..*.@author.Wouter
32580 20 4a 20 3c 77 61 6c 64 69 6f 2e 77 65 62 64 65 73 69 67 6e 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a .J.<waldio.webdesign@gmail.com>.
325a0 20 2a 2f 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 49 6e 70 75 74 41 77 61 72 65 48 65 6c .*/.abstract.class.InputAwareHel
325c0 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e per.extends.Helper.implements.In
325e0 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 putAwareInterface.{.....protecte
32600 64 20 24 69 6e 70 75 74 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 d.$input;....../**......*.{@inhe
32620 72 69 74 64 6f 63 7d 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 ritdoc}......*/.....public.funct
32640 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 20 24 69 6e 70 ion.setInput(InputInterface.$inp
32660 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d ut).....{.........$this->input.=
32680 20 24 69 6e 70 75 74 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 .$input;.....}.}.<?php../*..*.Th
326a0 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 is.file.is.part.of.the.Symfony.p
326c0 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 ackage...*..*.(c).Fabien.Potenci
326e0 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f er.<fabien@symfony.com>..*..*.Fo
32700 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
32720 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 68 65 20 4c 49 .information,.please.view.the.LI
32740 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 72 69 62 75 74 CENSE..*.file.that.was.distribut
32760 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 2a 2f 0a 0a 6e ed.with.this.source.code...*/..n
32780 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
327a0 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
327c0 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 49 6e t\Console\Output\ConsoleOutputIn
327e0 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
32800 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
32820 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
32840 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 54 eption\LogicException;../**..*.T
32860 68 65 20 50 72 6f 67 72 65 73 73 42 61 72 20 70 72 6f 76 69 64 65 73 20 68 65 6c 70 65 72 73 20 he.ProgressBar.provides.helpers.
32880 74 6f 20 64 69 73 70 6c 61 79 20 70 72 6f 67 72 65 73 73 20 6f 75 74 70 75 74 2e 0a 20 2a 0a 20 to.display.progress.output...*..
328a0 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 *.@author.Fabien.Potencier.<fabi
328c0 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 43 68 72 69 73 en@symfony.com>..*.@author.Chris
328e0 20 4a 6f 6e 65 73 20 3c 6c 65 65 6b 65 64 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c .Jones.<leeked@gmail.com>..*/.cl
32900 61 73 73 20 50 72 6f 67 72 65 73 73 42 61 72 0a 7b 0a 20 20 20 20 2f 2f 20 6f 70 74 69 6f 6e 73 ass.ProgressBar.{.....//.options
32920 0a 20 20 20 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 20 20 20 .....private.$barWidth.=.28;....
32940 20 70 72 69 76 61 74 65 20 24 62 61 72 43 68 61 72 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 .private.$barChar;.....private.$
32960 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 27 2d 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 emptyBarChar.=.'-';.....private.
32980 24 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 27 3e 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 $progressChar.=.'>';.....private
329a0 20 24 66 6f 72 6d 61 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6e 74 65 72 6e 61 6c 46 .$format;.....private.$internalF
329c0 6f 72 6d 61 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 72 65 64 72 61 77 46 72 65 71 20 3d ormat;.....private.$redrawFreq.=
329e0 20 31 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 4f 75 74 70 75 74 49 .1;....../**......*.@var.OutputI
32a00 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6f 75 nterface......*/.....private.$ou
32a20 74 70 75 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 65 70 20 3d 20 30 3b 0a 20 20 20 tput;.....private.$step.=.0;....
32a40 20 70 72 69 76 61 74 65 20 24 6d 61 78 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 61 72 .private.$max;.....private.$star
32a60 74 54 69 6d 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 65 70 57 69 64 74 68 3b 0a 20 tTime;.....private.$stepWidth;..
32a80 20 20 20 70 72 69 76 61 74 65 20 24 70 65 72 63 65 6e 74 20 3d 20 30 2e 30 3b 0a 20 20 20 20 70 ...private.$percent.=.0.0;.....p
32aa0 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 3b 0a 20 20 20 20 70 72 69 rivate.$formatLineCount;.....pri
32ac0 76 61 74 65 20 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 vate.$messages.=.array();.....pr
32ae0 69 76 61 74 65 20 24 6f 76 65 72 77 72 69 74 65 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 70 72 69 ivate.$overwrite.=.true;.....pri
32b00 76 61 74 65 20 24 66 69 72 73 74 52 75 6e 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 70 72 69 76 vate.$firstRun.=.true;......priv
32b20 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 74 65 72 73 3b 0a 20 20 20 20 70 72 69 76 ate.static.$formatters;.....priv
32b40 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 ate.static.$formats;....../**...
32b60 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 ...*.Constructor.......*......*.
32b80 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 41 @param.OutputInterface.$output.A
32ba0 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 n.OutputInterface.instance......
32bc0 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 78 20 20 20 *.@param.int.............$max...
32be0 20 4d 61 78 69 6d 75 6d 20 73 74 65 70 73 20 28 30 20 69 66 20 75 6e 6b 6e 6f 77 6e 29 0a 20 20 .Maximum.steps.(0.if.unknown)...
32c00 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 5f 5f 63 6f 6e 73 ...*/.....public.function.__cons
32c20 74 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 2c 20 24 truct(OutputInterface.$output,.$
32c40 6d 61 78 20 3d 20 30 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 75 74 70 max.=.0).....{.........if.($outp
32c60 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 72 ut.instanceof.ConsoleOutputInter
32c80 66 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 24 6f face).{.............$output.=.$o
32ca0 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 20 20 20 20 20 20 20 utput->getErrorOutput();........
32cc0 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 .}..........$this->output.=.$out
32ce0 70 75 74 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 4d 61 78 53 74 65 70 73 28 put;.........$this->setMaxSteps(
32d00 24 6d 61 78 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 $max);..........if.(!$this->outp
32d20 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ut->isDecorated()).{............
32d40 20 2f 2f 20 64 69 73 61 62 6c 65 20 6f 76 65 72 77 72 69 74 65 20 77 68 65 6e 20 6f 75 74 70 75 .//.disable.overwrite.when.outpu
32d60 74 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 41 4e 53 49 20 63 6f 64 65 73 2e 0a 20 t.does.not.support.ANSI.codes...
32d80 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 20 3d 20 66 61 ...........$this->overwrite.=.fa
32da0 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 65 74 20 61 20 72 65 61 73 6f lse;..............//.set.a.reaso
32dc0 6e 61 62 6c 65 20 72 65 64 72 61 77 20 66 72 65 71 75 65 6e 63 79 20 73 6f 20 6f 75 74 70 75 74 nable.redraw.frequency.so.output
32de0 20 69 73 6e 27 74 20 66 6c 6f 6f 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .isn't.flooded.............$this
32e00 2d 3e 73 65 74 52 65 64 72 61 77 46 72 65 71 75 65 6e 63 79 28 24 6d 61 78 20 2f 20 31 30 29 3b ->setRedrawFrequency($max./.10);
32e20 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 72 74 .........}..........$this->start
32e40 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 Time.=.time();.....}....../**...
32e60 20 20 20 2a 20 53 65 74 73 20 61 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 66 6f 72 6d 61 74 74 65 ...*.Sets.a.placeholder.formatte
32e80 72 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 r.for.a.given.name.......*......
32ea0 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 61 6c 73 6f 20 61 6c 6c 6f 77 20 79 6f 75 20 74 6f 20 *.This.method.also.allow.you.to.
32ec0 6f 76 65 72 72 69 64 65 20 61 6e 20 65 78 69 73 74 69 6e 67 20 70 6c 61 63 65 68 6f 6c 64 65 72 override.an.existing.placeholder
32ee0 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 6e 67 20 20 20 .......*......*.@param.string...
32f00 24 6e 61 6d 65 20 20 20 20 20 54 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 6e 61 6d 65 20 28 $name.....The.placeholder.name.(
32f20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 64 65 6c 69 6d 69 74 65 72 20 63 68 61 72 20 6c 69 6b including.the.delimiter.char.lik
32f40 65 20 25 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 6c 65 20 24 63 61 6c e.%)......*.@param.callable.$cal
32f60 6c 61 62 6c 65 20 41 20 50 48 50 20 63 61 6c 6c 61 62 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 lable.A.PHP.callable......*/....
32f80 20 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 50 6c 61 63 65 .public.static.function.setPlace
32fa0 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 24 6e 61 6d 65 2c holderFormatterDefinition($name,
32fc0 20 63 61 6c 6c 61 62 6c 65 20 24 63 61 6c 6c 61 62 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 .callable.$callable).....{......
32fe0 20 20 20 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a 20 20 20 ...if.(!self::$formatters).{....
33000 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 6c .........self::$formatters.=.sel
33020 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 0a f::initPlaceholderFormatters();.
33040 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 ........}..........self::$format
33060 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 61 6c 6c 61 62 6c 65 3b 0a 20 20 20 20 7d 0a 0a ters[$name].=.$callable;.....}..
33080 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 70 6c 61 63 65 68 6f 6c ..../**......*.Gets.the.placehol
330a0 64 65 72 20 66 6f 72 6d 61 74 74 65 72 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 2e 0a der.formatter.for.a.given.name..
330c0 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 6e 67 20 24 6e 61 6d .....*......*.@param.string.$nam
330e0 65 20 54 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 6e 61 6d 65 20 28 69 6e 63 6c 75 64 69 6e e.The.placeholder.name.(includin
33100 67 20 74 68 65 20 64 65 6c 69 6d 69 74 65 72 20 63 68 61 72 20 6c 69 6b 65 20 25 29 0a 20 20 20 g.the.delimiter.char.like.%)....
33120 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 63 61 6c 6c 61 62 6c 65 7c 6e 75 6c 6c ..*......*.@return.callable|null
33140 20 41 20 50 48 50 20 63 61 6c 6c 61 62 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c .A.PHP.callable......*/.....publ
33160 69 63 20 73 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 ic.static.function.getPlaceholde
33180 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 29 0a 20 20 20 20 rFormatterDefinition($name).....
331a0 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 {.........if.(!self::$formatters
331c0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 ).{.............self::$formatter
331e0 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 6d 61 74 74 s.=.self::initPlaceholderFormatt
33200 65 72 73 28 29 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 ers();.........}..........return
33220 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 29 .isset(self::$formatters[$name])
33240 20 3f 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 .?.self::$formatters[$name].:.nu
33260 6c 6c 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 65 74 73 20 61 ll;.....}....../**......*.Sets.a
33280 20 66 6f 72 6d 61 74 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a .format.for.a.given.name.......*
332a0 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 61 6c 73 6f 20 61 6c 6c 6f 77 20 79 ......*.This.method.also.allow.y
332c0 6f 75 20 74 6f 20 6f 76 65 72 72 69 64 65 20 61 6e 20 65 78 69 73 74 69 6e 67 20 66 6f 72 6d 61 ou.to.override.an.existing.forma
332e0 74 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 6e 67 20 24 t.......*......*.@param.string.$
33300 6e 61 6d 65 20 20 20 54 68 65 20 66 6f 72 6d 61 74 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 name...The.format.name......*.@p
33320 61 72 61 6d 20 73 74 72 69 6e 67 20 24 66 6f 72 6d 61 74 20 41 20 66 6f 72 6d 61 74 20 73 74 72 aram.string.$format.A.format.str
33340 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 ing......*/.....public.static.fu
33360 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 nction.setFormatDefinition($name
33380 2c 20 24 66 6f 72 6d 61 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 73 65 ,.$format).....{.........if.(!se
333a0 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 lf::$formats).{.............self
333c0 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 ::$formats.=.self::initFormats()
333e0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 66 6f 72 6d ;.........}..........self::$form
33400 61 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ats[$name].=.$format;.....}.....
33420 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 66 6f 72 6d 61 74 20 66 6f 72 20 ./**......*.Gets.the.format.for.
33440 61 20 67 69 76 65 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 a.given.name.......*......*.@par
33460 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 66 6f 72 6d 61 74 20 6e 61 6d 65 0a am.string.$name.The.format.name.
33480 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 6e 75 6c .....*......*.@return.string|nul
334a0 6c 20 41 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 l.A.format.string......*/.....pu
334c0 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 74 44 65 blic.static.function.getFormatDe
334e0 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 finition($name).....{.........if
33500 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .(!self::$formats).{............
33520 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 46 6f 72 6d .self::$formats.=.self::initForm
33540 61 74 73 28 29 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 ats();.........}..........return
33560 20 69 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 .isset(self::$formats[$name]).?.
33580 73 65 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 20 20 self::$formats[$name].:.null;...
335a0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 73 73 6f 63 69 61 74 65 73 20 61 ..}....../**......*.Associates.a
335c0 20 74 65 78 74 20 77 69 74 68 20 61 20 6e 61 6d 65 64 20 70 6c 61 63 65 68 6f 6c 64 65 72 2e 0a .text.with.a.named.placeholder..
335e0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 74 65 78 74 20 69 73 20 64 69 73 70 6c 61 .....*......*.The.text.is.displa
33600 79 65 64 20 77 68 65 6e 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 69 73 20 72 65 6e yed.when.the.progress.bar.is.ren
33620 64 65 72 65 64 20 62 75 74 20 6f 6e 6c 79 0a 20 20 20 20 20 2a 20 77 68 65 6e 20 74 68 65 20 63 dered.but.only......*.when.the.c
33640 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 69 73 20 70 61 72 74 orresponding.placeholder.is.part
33660 20 6f 66 20 74 68 65 20 63 75 73 74 6f 6d 20 66 6f 72 6d 61 74 20 6c 69 6e 65 0a 20 20 20 20 20 .of.the.custom.format.line......
33680 2a 20 28 62 79 20 77 72 61 70 70 69 6e 67 20 74 68 65 20 6e 61 6d 65 20 77 69 74 68 20 25 29 2e *.(by.wrapping.the.name.with.%).
336a0 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 6e 67 20 24 6d 65 ......*......*.@param.string.$me
336c0 73 73 61 67 65 20 54 68 65 20 74 65 78 74 20 74 6f 20 61 73 73 6f 63 69 61 74 65 20 77 69 74 68 ssage.The.text.to.associate.with
336e0 20 74 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 .the.placeholder......*.@param.s
33700 74 72 69 6e 67 20 24 6e 61 6d 65 20 20 20 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 tring.$name....The.name.of.the.p
33720 6c 61 63 65 68 6f 6c 64 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 laceholder......*/.....public.fu
33740 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 2c 20 24 6e 61 6d nction.setMessage($message,.$nam
33760 65 20 3d 20 27 6d 65 73 73 61 67 65 27 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 e.=.'message').....{.........$th
33780 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 65 3b 0a is->messages[$name].=.$message;.
337a0 20 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 4d 65 ....}......public.function.getMe
337c0 73 73 61 67 65 28 24 6e 61 6d 65 20 3d 20 27 6d 65 73 73 61 67 65 27 29 0a 20 20 20 20 7b 0a 20 ssage($name.=.'message').....{..
337e0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6e .......return.$this->messages[$n
33800 61 6d 65 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 ame];.....}....../**......*.Gets
33820 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 73 74 61 72 74 20 74 69 6d 65 2e 0a 20 20 .the.progress.bar.start.time....
33840 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 70 72 6f 67 ...*......*.@return.int.The.prog
33860 72 65 73 73 20 62 61 72 20 73 74 61 72 74 20 74 69 6d 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ress.bar.start.time......*/.....
33880 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 20 public.function.getStartTime()..
338a0 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 73 74 61 72 74 ...{.........return.$this->start
338c0 54 69 6d 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 47 65 74 73 Time;.....}....../**......*.Gets
338e0 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 6d 61 78 69 6d 61 6c 20 73 74 65 70 73 2e .the.progress.bar.maximal.steps.
33900 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 70 ......*......*.@return.int.The.p
33920 72 6f 67 72 65 73 73 20 62 61 72 20 6d 61 78 20 73 74 65 70 73 0a 20 20 20 20 20 2a 2f 0a 20 20 rogress.bar.max.steps......*/...
33940 20 20 70 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 ..public.function.getMaxSteps().
33960 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 6d 61 78 3b ....{.........return.$this->max;
33980 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 .....}....../**......*.Gets.the.
339a0 63 75 72 72 65 6e 74 20 73 74 65 70 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 current.step.position.......*...
339c0 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 ...*.@return.int.The.progress.ba
339e0 72 20 73 74 65 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 r.step......*/.....public.functi
33a00 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 on.getProgress().....{.........r
33a20 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 65 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a eturn.$this->step;.....}....../*
33a40 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 73 *......*.Gets.the.progress.bar.s
33a60 74 65 70 20 77 69 64 74 68 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e tep.width.......*......*.@return
33a80 20 69 6e 74 20 54 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 73 74 65 70 20 77 69 64 74 68 .int.The.progress.bar.step.width
33aa0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 ......*/.....private.function.ge
33ac0 74 53 74 65 70 57 69 64 74 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 tStepWidth().....{.........retur
33ae0 6e 20 24 74 68 69 73 2d 3e 73 74 65 70 57 69 64 74 68 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f n.$this->stepWidth;.....}....../
33b00 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 67 72 **......*.Gets.the.current.progr
33b20 65 73 73 20 62 61 72 20 70 65 72 63 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 ess.bar.percent.......*......*.@
33b40 72 65 74 75 72 6e 20 66 6c 6f 61 74 20 54 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 67 72 65 73 return.float.The.current.progres
33b60 73 20 62 61 72 20 70 65 72 63 65 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 s.bar.percent......*/.....public
33b80 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 6e 74 28 29 0a 20 .function.getProgressPercent()..
33ba0 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 70 65 72 63 65 ...{.........return.$this->perce
33bc0 6e 74 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 65 74 73 20 74 nt;.....}....../**......*.Sets.t
33be0 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 77 69 64 74 68 2e 0a 20 20 20 20 20 2a 0a 20 20 he.progress.bar.width.......*...
33c00 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 73 69 7a 65 20 54 68 65 20 70 72 6f 67 72 65 ...*.@param.int.$size.The.progre
33c20 73 73 20 62 61 72 20 73 69 7a 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 ss.bar.size......*/.....public.f
33c40 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 57 69 64 74 68 28 24 73 69 7a 65 29 0a 20 20 20 20 7b unction.setBarWidth($size).....{
33c60 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 20 3d 20 28 69 6e 74 29 .........$this->barWidth.=.(int)
33c80 20 24 73 69 7a 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 47 65 .$size;.....}....../**......*.Ge
33ca0 74 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 77 69 64 74 68 2e 0a 20 20 20 20 20 ts.the.progress.bar.width.......
33cc0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 70 72 6f 67 72 65 73 *......*.@return.int.The.progres
33ce0 73 20 62 61 72 20 73 69 7a 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 s.bar.size......*/.....public.fu
33d00 6e 63 74 69 6f 6e 20 67 65 74 42 61 72 57 69 64 74 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 nction.getBarWidth().....{......
33d20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 3b 0a 20 20 20 20 7d ...return.$this->barWidth;.....}
33d40 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 62 61 72 20 63 68 ....../**......*.Sets.the.bar.ch
33d60 61 72 61 63 74 65 72 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 aracter.......*......*.@param.st
33d80 72 69 6e 67 20 24 63 68 61 72 20 41 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 2a 2f 0a 20 ring.$char.A.character......*/..
33da0 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 43 68 61 72 61 63 74 ...public.function.setBarCharact
33dc0 65 72 28 24 63 68 61 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 er($char).....{.........$this->b
33de0 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 arChar.=.$char;.....}....../**..
33e00 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 62 61 72 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 ....*.Gets.the.bar.character....
33e20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 20 63 68 61 ...*......*.@return.string.A.cha
33e40 72 61 63 74 65 72 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 racter......*/.....public.functi
33e60 6f 6e 20 67 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 on.getBarCharacter().....{......
33e80 20 20 20 69 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 ...if.(null.===.$this->barChar).
33ea0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 {.............return.$this->max.
33ec0 3f 20 27 3d 27 20 3a 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 3b 0a 20 20 20 ?.'='.:.$this->emptyBarChar;....
33ee0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 61 .....}..........return.$this->ba
33f00 72 43 68 61 72 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 65 74 rChar;.....}....../**......*.Set
33f20 73 20 74 68 65 20 65 6d 70 74 79 20 62 61 72 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 20 20 s.the.empty.bar.character.......
33f40 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 68 61 72 20 41 20 63 *......*.@param.string.$char.A.c
33f60 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 haracter......*/.....public.func
33f80 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 61 72 29 tion.setEmptyBarCharacter($char)
33fa0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 .....{.........$this->emptyBarCh
33fc0 61 72 20 3d 20 24 63 68 61 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 ar.=.$char;.....}....../**......
33fe0 2a 20 47 65 74 73 20 74 68 65 20 65 6d 70 74 79 20 62 61 72 20 63 68 61 72 61 63 74 65 72 2e 0a *.Gets.the.empty.bar.character..
34000 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 20 63 .....*......*.@return.string.A.c
34020 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 haracter......*/.....public.func
34040 74 69 6f 6e 20 67 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 29 0a 20 20 20 20 tion.getEmptyBarCharacter().....
34060 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 {.........return.$this->emptyBar
34080 43 68 61 72 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 65 74 73 Char;.....}....../**......*.Sets
340a0 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 63 68 61 72 61 63 74 65 72 2e 0a 20 20 20 .the.progress.bar.character.....
340c0 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 68 61 72 20 41 ..*......*.@param.string.$char.A
340e0 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 .character......*/.....public.fu
34100 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 24 63 68 61 nction.setProgressCharacter($cha
34120 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 r).....{.........$this->progress
34140 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 Char.=.$char;.....}....../**....
34160 20 20 2a 20 47 65 74 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 63 68 61 72 61 63 ..*.Gets.the.progress.bar.charac
34180 74 65 72 2e 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 72 69 6e ter.......*......*.@return.strin
341a0 67 20 41 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 g.A.character......*/.....public
341c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 29 .function.getProgressCharacter()
341e0 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 70 72 6f .....{.........return.$this->pro
34200 67 72 65 73 73 43 68 61 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a gressChar;.....}....../**......*
34220 20 53 65 74 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 66 6f 72 6d 61 74 2e 0a 20 .Sets.the.progress.bar.format...
34240 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 66 6f 72 6d ....*......*.@param.string.$form
34260 61 74 20 54 68 65 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 at.The.format......*/.....public
34280 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 0a 20 20 20 .function.setFormat($format)....
342a0 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 3b .{.........$this->format.=.null;
342c0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 20 3d .........$this->internalFormat.=
342e0 20 24 66 6f 72 6d 61 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 .$format;.....}....../**......*.
34300 53 65 74 73 20 74 68 65 20 72 65 64 72 61 77 20 66 72 65 71 75 65 6e 63 79 2e 0a 20 20 20 20 20 Sets.the.redraw.frequency.......
34320 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 7c 66 6c 6f 61 74 20 24 66 72 65 71 20 *......*.@param.int|float.$freq.
34340 54 68 65 20 66 72 65 71 75 65 6e 63 79 20 69 6e 20 73 74 65 70 73 0a 20 20 20 20 20 2a 2f 0a 20 The.frequency.in.steps......*/..
34360 20 20 20 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 71 ...public.function.setRedrawFreq
34380 75 65 6e 63 79 28 24 66 72 65 71 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 uency($freq).....{.........$this
343a0 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 65 71 2c 20 ->redrawFreq.=.max((int).$freq,.
343c0 31 29 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 74 61 72 74 73 1);.....}....../**......*.Starts
343e0 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 .the.progress.output.......*....
34400 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 7c 6e 75 6c 6c 20 24 6d 61 78 20 4e 75 6d 62 65 72 20 ..*.@param.int|null.$max.Number.
34420 6f 66 20 73 74 65 70 73 20 74 6f 20 63 6f 6d 70 6c 65 74 65 20 74 68 65 20 62 61 72 20 28 30 20 of.steps.to.complete.the.bar.(0.
34440 69 66 20 69 6e 64 65 74 65 72 6d 69 6e 61 74 65 29 2c 20 6e 75 6c 6c 20 74 6f 20 6c 65 61 76 65 if.indeterminate),.null.to.leave
34460 20 75 6e 63 68 61 6e 67 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 .unchanged......*/.....public.fu
34480 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 6d 61 78 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a nction.start($max.=.null).....{.
344a0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 ........$this->startTime.=.time(
344c0 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 20 30 3b 0a 20 20 20 20 );.........$this->step.=.0;.....
344e0 20 20 20 20 24 74 68 69 73 2d 3e 70 65 72 63 65 6e 74 20 3d 20 30 2e 30 3b 0a 0a 20 20 20 20 20 ....$this->percent.=.0.0;.......
34500 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 78 29 20 7b 0a 20 20 20 20 20 20 20 20 ...if.(null.!==.$max).{.........
34520 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 4d 61 78 53 74 65 70 73 28 24 6d 61 78 29 3b 0a 20 20 ....$this->setMaxSteps($max);...
34540 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 ......}..........$this->display(
34560 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 76 61 6e 63 65 );.....}....../**......*.Advance
34580 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 6f 75 74 70 75 74 20 58 20 73 74 65 70 73 2e 0a 20 s.the.progress.output.X.steps...
345a0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 73 74 65 70 20 4e 75 ....*......*.@param.int.$step.Nu
345c0 6d 62 65 72 20 6f 66 20 73 74 65 70 73 20 74 6f 20 61 64 76 61 6e 63 65 0a 20 20 20 20 20 2a 0a mber.of.steps.to.advance......*.
345e0 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 0a 20 20 .....*.@throws.LogicException...
34600 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 61 64 76 61 6e 63 ...*/.....public.function.advanc
34620 65 28 24 73 74 65 70 20 3d 20 31 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 e($step.=.1).....{.........$this
34640 2d 3e 73 65 74 50 72 6f 67 72 65 73 73 28 24 74 68 69 73 2d 3e 73 74 65 70 20 2b 20 24 73 74 65 ->setProgress($this->step.+.$ste
34660 70 29 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 65 74 73 20 77 p);.....}....../**......*.Sets.w
34680 68 65 74 68 65 72 20 74 6f 20 6f 76 65 72 77 72 69 74 65 20 74 68 65 20 70 72 6f 67 72 65 73 73 hether.to.overwrite.the.progress
346a0 62 61 72 2c 20 66 61 6c 73 65 20 66 6f 72 20 6e 65 77 20 6c 69 6e 65 2e 0a 20 20 20 20 20 2a 0a bar,.false.for.new.line.......*.
346c0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 6f 76 65 72 77 72 69 74 65 0a 20 20 .....*.@param.bool.$overwrite...
346e0 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 74 4f 76 65 ...*/.....public.function.setOve
34700 72 77 72 69 74 65 28 24 6f 76 65 72 77 72 69 74 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 rwrite($overwrite).....{........
34720 20 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 20 3d 20 28 62 6f 6f 6c 29 20 24 6f 76 65 72 .$this->overwrite.=.(bool).$over
34740 77 72 69 74 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 65 74 write;.....}....../**......*.Set
34760 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 67 72 65 73 73 2e 0a 20 20 20 20 20 2a 0a 20 s.the.current.progress.......*..
34780 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 73 74 65 70 20 54 68 65 20 63 75 72 72 65 ....*.@param.int.$step.The.curre
347a0 6e 74 20 70 72 6f 67 72 65 73 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 nt.progress......*......*.@throw
347c0 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 s.LogicException......*/.....pub
347e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 67 72 65 73 73 28 24 73 74 65 70 29 0a lic.function.setProgress($step).
34800 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 73 74 65 70 20 3d 20 28 69 6e 74 29 20 24 73 74 65 ....{.........$step.=.(int).$ste
34820 70 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 73 74 65 70 20 3c 20 24 74 68 69 73 2d 3e 73 74 p;.........if.($step.<.$this->st
34840 65 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 ep).{.............throw.new.Logi
34860 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 5c 27 74 20 72 65 67 72 65 73 73 20 74 cException('You.can\'t.regress.t
34880 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 he.progress.bar.');.........}...
348a0 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 24 73 74 65 70 20 3e .......if.($this->max.&&.$step.>
348c0 20 24 74 68 69 73 2d 3e 6d 61 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 .$this->max).{.............$this
348e0 2d 3e 6d 61 78 20 3d 20 24 73 74 65 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ->max.=.$step;.........}........
34900 20 20 24 70 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 ..$prevPeriod.=.(int).($this->st
34920 65 70 20 2f 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a 20 20 20 20 20 20 20 ep./.$this->redrawFreq);........
34940 20 24 63 75 72 72 50 65 72 69 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 73 74 65 70 20 2f 20 24 74 .$currPeriod.=.(int).($step./.$t
34960 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d his->redrawFreq);.........$this-
34980 3e 73 74 65 70 20 3d 20 24 73 74 65 70 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 65 >step.=.$step;.........$this->pe
349a0 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 20 24 74 68 rcent.=.$this->max.?.(float).$th
349c0 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 20 20 20 20 20 is->step./.$this->max.:.0;......
349e0 20 20 20 69 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 ...if.($prevPeriod.!==.$currPeri
34a00 6f 64 20 7c 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 20 20 od.||.$this->max.===.$step).{...
34a20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 20 20 20 20 ..........$this->display();.....
34a40 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 46 69 6e 69 ....}.....}....../**......*.Fini
34a60 73 68 65 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 2a shes.the.progress.output.......*
34a80 2f 0a 20 20 20 20 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 20 /.....public.function.finish()..
34aa0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 61 78 29 20 7b 0a ...{.........if.(!$this->max).{.
34ac0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 24 74 68 69 73 2d 3e ............$this->max.=.$this->
34ae0 73 74 65 70 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 24 74 68 step;.........}..........if.($th
34b00 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 20 21 24 74 68 69 is->step.===.$this->max.&&.!$thi
34b20 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 70 s->overwrite).{.............//.p
34b40 72 65 76 65 6e 74 20 64 6f 75 62 6c 65 20 31 30 30 25 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 revent.double.100%.output.......
34b60 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 20 20 20 20 20 ......return;.........}.........
34b80 20 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 29 3b .$this->setProgress($this->max);
34ba0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4f 75 74 70 75 74 73 20 74 .....}....../**......*.Outputs.t
34bc0 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 67 72 65 73 73 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 he.current.progress.string......
34be0 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 .*/.....public.function.display(
34c00 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 ).....{.........if.(OutputInterf
34c20 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 24 74 68 69 73 2d 3e ace::VERBOSITY_QUIET.===.$this->
34c40 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 20 20 20 20 20 20 output->getVerbosity()).{.......
34c60 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 20 20 20 20 20 ......return;.........}.........
34c80 20 69 66 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 20 .if.(null.===.$this->format).{..
34ca0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 52 65 61 6c 46 6f 72 6d 61 74 28 ...........$this->setRealFormat(
34cc0 24 74 68 69 73 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 $this->internalFormat.?:.$this->
34ce0 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 29 3b 0a 20 20 20 20 20 20 20 20 determineBestFormat());.........
34d00 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 70 72 65 67 }..........$this->overwrite(preg
34d20 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 5f 5d 2b 29 _replace_callback("{%([a-z\-_]+)
34d40 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 20 28 24 6d (?:\:([^%]+))?%}i",.function.($m
34d60 61 74 63 68 65 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 66 6f 72 6d 61 atches).{.............if.($forma
34d80 74 74 65 72 20 3d 20 24 74 68 69 73 3a 3a 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d tter.=.$this::getPlaceholderForm
34da0 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a atterDefinition($matches[1])).{.
34dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 20 3d 20 63 61 6c 6c 5f 75 73 65 ................$text.=.call_use
34de0 72 5f 66 75 6e 63 28 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 74 68 69 73 2c 20 24 74 68 69 73 2d r_func($formatter,.$this,.$this-
34e00 3e 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 >output);.............}.elseif.(
34e20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6d 61 74 63 68 65 73 5b 31 isset($this->messages[$matches[1
34e40 5d 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 20 3d 20 24 ]])).{.................$text.=.$
34e60 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 3b 0a 20 20 20 this->messages[$matches[1]];....
34e80 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 20 20 20 20 .........}.else.{...............
34ea0 20 20 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 ..return.$matches[0];...........
34ec0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 ..}..............if.(isset($matc
34ee0 68 65 73 5b 32 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 hes[2])).{.................$text
34f00 20 3d 20 73 70 72 69 6e 74 66 28 27 25 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 24 74 65 78 .=.sprintf('%'.$matches[2],.$tex
34f20 74 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 20 20 20 20 72 t);.............}..............r
34f40 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 20 20 20 20 20 20 20 20 7d 2c 20 24 74 68 69 73 2d 3e 66 eturn.$text;.........},.$this->f
34f60 6f 72 6d 61 74 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 ormat));.....}....../**......*.R
34f80 65 6d 6f 76 65 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 66 72 6f 6d 20 74 68 65 emoves.the.progress.bar.from.the
34fa0 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 .current.line.......*......*.Thi
34fc0 73 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 77 72 69 74 65 s.is.useful.if.you.wish.to.write
34fe0 20 73 6f 6d 65 20 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 77 68 69 6c 65 20 61 20 70 72 6f 67 .some.output......*.while.a.prog
35000 72 65 73 73 20 62 61 72 20 69 73 20 72 75 6e 6e 69 6e 67 2e 0a 20 20 20 20 20 2a 20 43 61 6c 6c ress.bar.is.running.......*.Call
35020 20 64 69 73 70 6c 61 79 28 29 20 74 6f 20 73 68 6f 77 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 .display().to.show.the.progress.
35040 62 61 72 20 61 67 61 69 6e 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 bar.again.......*/.....public.fu
35060 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 nction.clear().....{.........if.
35080 28 21 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 (!$this->overwrite).{...........
350a0 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 ..return;.........}..........if.
350c0 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 20 20 20 20 20 (null.===.$this->format).{......
350e0 20 20 20 20 20 20 20 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 .......$this->setRealFormat($thi
35100 73 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 s->internalFormat.?:.$this->dete
35120 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 rmineBestFormat());.........}...
35140 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 27 27 29 3b 0a 20 20 20 .......$this->overwrite('');....
35160 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 70 72 6f 67 .}....../**......*.Sets.the.prog
35180 72 65 73 73 20 62 61 72 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 ress.bar.format.......*......*.@
351a0 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 66 6f 72 6d 61 74 20 54 68 65 20 66 6f 72 6d 61 74 0a param.string.$format.The.format.
351c0 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 .....*/.....private.function.set
351e0 52 65 61 6c 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 RealFormat($format).....{.......
35200 20 20 2f 2f 20 74 72 79 20 74 6f 20 75 73 65 20 74 68 65 20 5f 6e 6f 6d 61 78 20 76 61 72 69 61 ..//.try.to.use.the._nomax.varia
35220 6e 74 20 69 66 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 nt.if.available.........if.(!$th
35240 69 73 2d 3e 6d 61 78 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 is->max.&&.null.!==.self::getFor
35260 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 6f 6d 61 78 27 29 29 matDefinition($format.'_nomax'))
35280 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 .{.............$this->format.=.s
352a0 65 6c 66 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 elf::getFormatDefinition($format
352c0 2e 27 5f 6e 6f 6d 61 78 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 6e 75 .'_nomax');.........}.elseif.(nu
352e0 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e ll.!==.self::getFormatDefinition
35300 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ($format)).{.............$this->
35320 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 format.=.self::getFormatDefiniti
35340 6f 6e 28 24 66 6f 72 6d 61 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 on($format);.........}.else.{...
35360 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 ..........$this->format.=.$forma
35380 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 t;.........}..........$this->for
353a0 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 24 74 68 69 matLineCount.=.substr_count($thi
353c0 73 2d 3e 66 6f 72 6d 61 74 2c 20 22 5c 6e 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a s->format,."\n");.....}....../**
353e0 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 6d 61 ......*.Sets.the.progress.bar.ma
35400 78 69 6d 61 6c 20 73 74 65 70 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 ximal.steps.......*......*.@para
35420 6d 20 69 6e 74 20 24 6d 61 78 20 54 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 6d 61 78 20 m.int.$max.The.progress.bar.max.
35440 73 74 65 70 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 steps......*/.....private.functi
35460 6f 6e 20 73 65 74 4d 61 78 53 74 65 70 73 28 24 6d 61 78 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 on.setMaxSteps($max).....{......
35480 20 20 20 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
354a0 78 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 65 70 57 69 64 74 68 20 3d 20 24 x);.........$this->stepWidth.=.$
354c0 74 68 69 73 2d 3e 6d 61 78 20 3f 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 68 69 73 this->max.?.Helper::strlen($this
354e0 2d 3e 6d 61 78 29 20 3a 20 34 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 ->max).:.4;.....}....../**......
35500 2a 20 4f 76 65 72 77 72 69 74 65 73 20 61 20 70 72 65 76 69 6f 75 73 20 6d 65 73 73 61 67 65 20 *.Overwrites.a.previous.message.
35520 74 6f 20 74 68 65 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 to.the.output.......*......*.@pa
35540 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 20 54 68 65 20 6d 65 73 73 61 67 65 0a ram.string.$message.The.message.
35560 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 .....*/.....private.function.ove
35580 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 rwrite($message).....{.........i
355a0 66 20 28 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 f.($this->overwrite).{..........
355c0 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 72 73 74 52 75 6e 29 20 7b 0a 20 20 20 20 20 ...if.(!$this->firstRun).{......
355e0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4d 6f 76 65 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f ...........//.Move.the.cursor.to
35600 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69 6e 65 0a 20 20 20 20 20 .the.beginning.of.the.line......
35620 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 ...........$this->output->write(
35640 22 5c 78 30 44 22 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 72 61 "\x0D");..................//.Era
35660 73 65 20 74 68 65 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 se.the.line.................$thi
35680 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 31 42 5b 32 4b 22 29 3b 0a 0a 20 20 s->output->write("\x1B[2K");....
356a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 72 61 73 65 20 70 72 65 76 69 6f 75 73 20 ..............//.Erase.previous.
356c0 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d lines.................if.($this-
356e0 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 >formatLineCount.>.0).{.........
35700 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 ............$this->output->write
35720 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
35740 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 29 29 3b 0a 20 20 20 20 20 20 20 20 his->formatLineCount));.........
35760 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 ........}.............}.........
35780 7d 20 65 6c 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 20 20 20 }.elseif.($this->step.>.0).{....
357a0 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 .........$this->output->writeln(
357c0 27 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 '');.........}..........$this->f
357e0 69 72 73 74 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d irstRun.=.false;..........$this-
35800 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 7d 0a >output->write($message);.....}.
35820 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 42 .....private.function.determineB
35840 65 73 74 46 6f 72 6d 61 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 estFormat().....{.........switch
35860 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 79 28 29 29 .($this->output->getVerbosity())
35880 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 .{.............//.OutputInterfac
358a0 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 3a 20 64 69 73 70 6c 61 79 20 69 73 20 64 e::VERBOSITY_QUIET:.display.is.d
358c0 69 73 61 62 6c 65 64 20 61 6e 79 77 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 isabled.anyway.............case.
358e0 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 42 4f OutputInterface::VERBOSITY_VERBO
35900 53 45 3a 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 74 68 69 73 SE:.................return.$this
35920 2d 3e 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 ->max.?.'verbose'.:.'verbose_nom
35940 61 78 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 ax';.............case.OutputInte
35960 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 45 3a 0a 20 rface::VERBOSITY_VERY_VERBOSE:..
35980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 ...............return.$this->max
359a0 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 6f 73 .?.'very_verbose'.:.'very_verbos
359c0 65 5f 6e 6f 6d 61 78 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4f 75 74 70 75 e_nomax';.............case.Outpu
359e0 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 3a 0a 20 20 20 tInterface::VERBOSITY_DEBUG:....
35a00 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f .............return.$this->max.?
35a20 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 20 20 20 20 20 20 .'debug'.:.'debug_nomax';.......
35a40 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ......default:.................r
35a60 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 6e 6f 72 6d 61 6c 27 20 3a 20 27 6e eturn.$this->max.?.'normal'.:.'n
35a80 6f 72 6d 61 6c 5f 6e 6f 6d 61 78 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 ormal_nomax';.........}.....}...
35aa0 20 20 20 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 ...private.static.function.initP
35ac0 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 laceholderFormatters().....{....
35ae0 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 .....return.array(.............'
35b00 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 24 62 bar'.=>.function.(ProgressBar.$b
35b20 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 0a 20 ar,.OutputInterface.$output).{..
35b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 66 ...............$completeBars.=.f
35b60 6c 6f 6f 72 28 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 20 3e 20 30 20 3f 20 24 loor($bar->getMaxSteps().>.0.?.$
35b80 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 50 65 72 63 65 6e 74 28 29 20 2a 20 24 62 61 72 bar->getProgressPercent().*.$bar
35ba0 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 29 20 3a 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 ->getBarWidth().:.$bar->getProgr
35bc0 65 73 73 28 29 20 25 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 29 29 3b 0a 20 20 ess().%.$bar->getBarWidth());...
35be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 5f 72 65 70 ..............$display.=.str_rep
35c00 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 63 6f eat($bar->getBarCharacter(),.$co
35c20 6d 70 6c 65 74 65 42 61 72 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 mpleteBars);.................if.
35c40 28 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3c 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 ($completeBars.<.$bar->getBarWid
35c60 74 68 28 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 65 6d 70 th()).{.....................$emp
35c80 74 79 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 tyBars.=.$bar->getBarWidth().-.$
35ca0 63 6f 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 completeBars.-.Helper::strlenWit
35cc0 68 6f 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 houtDecoration($output->getForma
35ce0 74 74 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 tter(),.$bar->getProgressCharact
35d00 65 72 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 73 70 er());.....................$disp
35d20 6c 61 79 20 2e 3d 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 lay..=.$bar->getProgressCharacte
35d40 72 28 29 2e 73 74 72 5f 72 65 70 65 61 74 28 24 62 61 72 2d 3e 67 65 74 45 6d 70 74 79 42 61 72 r().str_repeat($bar->getEmptyBar
35d60 43 68 61 72 61 63 74 65 72 28 29 2c 20 24 65 6d 70 74 79 42 61 72 73 29 3b 0a 20 20 20 20 20 20 Character(),.$emptyBars);.......
35d80 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 ..........}..................ret
35da0 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 urn.$display;.............},....
35dc0 20 20 20 20 20 20 20 20 20 27 65 6c 61 70 73 65 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 .........'elapsed'.=>.function.(
35de0 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ProgressBar.$bar).{.............
35e00 20 20 20 20 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 74 69 ....return.Helper::formatTime(ti
35e20 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 20 20 me().-.$bar->getStartTime());...
35e40 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 27 72 65 6d 61 69 6e ..........},.............'remain
35e60 69 6e 67 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 ing'.=>.function.(ProgressBar.$b
35e80 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 62 61 72 2d ar).{.................if.(!$bar-
35ea0 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >getMaxSteps()).{...............
35ec0 20 20 20 20 20 20 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 ......throw.new.LogicException('
35ee0 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 69 6e 69 6e 67 20 Unable.to.display.the.remaining.
35f00 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 20 6f 66 20 73 74 time.if.the.maximum.number.of.st
35f20 65 70 73 20 69 73 20 6e 6f 74 20 73 65 74 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 eps.is.not.set.');..............
35f40 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 62 61 72 2d ...}..................if.(!$bar-
35f60 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >getProgress()).{...............
35f80 20 20 20 20 20 20 24 72 65 6d 61 69 6e 69 6e 67 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 ......$remaining.=.0;...........
35fa0 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 20 20 ......}.else.{..................
35fc0 20 20 20 24 72 65 6d 61 69 6e 69 6e 67 20 3d 20 72 6f 75 6e 64 28 28 74 69 6d 65 28 29 20 2d 20 ...$remaining.=.round((time().-.
35fe0 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 67 65 $bar->getStartTime())./.$bar->ge
36000 74 50 72 6f 67 72 65 73 73 28 29 20 2a 20 28 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 tProgress().*.($bar->getMaxSteps
36020 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 29 29 3b 0a 20 20 20 20 ().-.$bar->getProgress()));.....
36040 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ............}..................r
36060 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 24 72 65 6d 61 69 6e eturn.Helper::formatTime($remain
36080 69 6e 67 29 3b 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 ing);.............},............
360a0 20 27 65 73 74 69 6d 61 74 65 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 .'estimated'.=>.function.(Progre
360c0 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ssBar.$bar).{.................if
360e0 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 20 20 20 20 20 20 .(!$bar->getMaxSteps()).{.......
36100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 ..............throw.new.LogicExc
36120 65 70 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 65 73 eption('Unable.to.display.the.es
36140 74 69 6d 61 74 65 64 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 timated.time.if.the.maximum.numb
36160 65 72 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 20 20 20 20 20 er.of.steps.is.not.set.');......
36180 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ...........}..................if
361a0 20 28 21 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 29 20 7b 0a 20 20 20 20 20 20 .(!$bar->getProgress()).{.......
361c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 73 74 69 6d 61 74 65 64 20 3d 20 30 3b 0a 20 20 ..............$estimated.=.0;...
361e0 20 20 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 ..............}.else.{..........
36200 20 20 20 20 20 20 20 20 20 20 20 24 65 73 74 69 6d 61 74 65 64 20 3d 20 72 6f 75 6e 64 28 28 74 ...........$estimated.=.round((t
36220 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 20 2f 20 ime().-.$bar->getStartTime())./.
36240 24 62 61 72 2d 3e 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 $bar->getProgress().*.$bar->getM
36260 61 78 53 74 65 70 73 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 axSteps());.................}...
36280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f ...............return.Helper::fo
362a0 72 6d 61 74 54 69 6d 65 28 24 65 73 74 69 6d 61 74 65 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 rmatTime($estimated);...........
362c0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 65 6d 6f 72 79 27 20 3d 3e 20 66 75 6e ..},.............'memory'.=>.fun
362e0 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 20 20 20 20 20 ction.(ProgressBar.$bar).{......
36300 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 ...........return.Helper::format
36320 4d 65 6d 6f 72 79 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 74 72 75 65 29 29 3b 0a Memory(memory_get_usage(true));.
36340 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 27 63 75 72 72 ............},.............'curr
36360 65 6e 74 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 ent'.=>.function.(ProgressBar.$b
36380 61 72 29 20 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 73 74 72 ar).{.................return.str
363a0 5f 70 61 64 28 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 2c 20 24 62 61 72 2d 3e _pad($bar->getProgress(),.$bar->
363c0 67 65 74 53 74 65 70 57 69 64 74 68 28 29 2c 20 27 20 27 2c 20 53 54 52 5f 50 41 44 5f 4c 45 46 getStepWidth(),.'.',.STR_PAD_LEF
363e0 54 29 3b 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 27 T);.............},.............'
36400 6d 61 78 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 max'.=>.function.(ProgressBar.$b
36420 61 72 29 20 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 62 61 ar).{.................return.$ba
36440 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c r->getMaxSteps();.............},
36460 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 65 72 63 65 6e 74 27 20 3d 3e 20 66 75 6e 63 74 69 .............'percent'.=>.functi
36480 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 on.(ProgressBar.$bar).{.........
364a0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 6c 6f 6f 72 28 24 62 61 72 2d 3e 67 65 74 50 72 ........return.floor($bar->getPr
364c0 6f 67 72 65 73 73 50 65 72 63 65 6e 74 28 29 20 2a 20 31 30 30 29 3b 0a 20 20 20 20 20 20 20 20 ogressPercent().*.100);.........
364e0 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 ....},.........);.....}......pri
36500 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 46 6f 72 6d 61 74 73 vate.static.function.initFormats
36520 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 ().....{.........return.array(..
36540 20 20 20 20 20 20 20 20 20 20 20 27 6e 6f 72 6d 61 6c 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e ...........'normal'.=>.'.%curren
36560 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 33 73 25 25 27 2c t%/%max%.[%bar%].%percent:3s%%',
36580 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 6f 72 6d 61 6c 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 .............'normal_nomax'.=>.'
365a0 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 27 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 .%current%.[%bar%]',............
365c0 20 20 27 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 ..'verbose'.=>.'.%current%/%max%
365e0 20 5b 25 62 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 .[%bar%].%percent:3s%%.%elapsed:
36600 36 73 25 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 6s%',.............'verbose_nomax
36620 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 73 65 '.=>.'.%current%.[%bar%].%elapse
36640 64 3a 36 73 25 27 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 65 72 79 5f 76 65 72 62 6f d:6s%',..............'very_verbo
36660 73 65 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 61 72 25 5d se'.=>.'.%current%/%max%.[%bar%]
36680 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 25 65 73 74 .%percent:3s%%.%elapsed:6s%/%est
366a0 69 6d 61 74 65 64 3a 2d 36 73 25 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 65 72 79 5f imated:-6s%',.............'very_
366c0 76 65 72 62 6f 73 65 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 verbose_nomax'.=>.'.%current%.[%
366e0 62 61 72 25 5d 20 25 65 6c 61 70 73 65 64 3a 36 73 25 27 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 bar%].%elapsed:6s%',............
36700 20 20 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 ..'debug'.=>.'.%current%/%max%.[
36720 25 62 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 %bar%].%percent:3s%%.%elapsed:6s
36740 25 2f 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 %/%estimated:-6s%.%memory:6s%',.
36760 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 62 75 67 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 ............'debug_nomax'.=>.'.%
36780 63 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 20 25 6d current%.[%bar%].%elapsed:6s%.%m
367a0 65 6d 6f 72 79 3a 36 73 25 27 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c emory:6s%',.........);.....}.}.<
367c0 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 ?php../*..*.This.file.is.part.of
367e0 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 .the.Symfony.package...*..*.(c).
36800 46 61 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 Fabien.Potencier.<fabien@symfony
36820 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 .com>..*..*.For.the.full.copyrig
36840 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 ht.and.license.information,.plea
36860 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 se.view.the.LICENSE..*.file.that
36880 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 .was.distributed.with.this.sourc
368a0 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 e.code...*/..namespace.Symfony\C
368c0 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 2f 2a 2a 0a 20 2a omponent\Console\Helper;../**..*
368e0 20 48 65 6c 70 73 20 6f 75 74 70 75 74 74 69 6e 67 20 64 65 62 75 67 20 69 6e 66 6f 72 6d 61 74 .Helps.outputting.debug.informat
36900 69 6f 6e 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 70 72 6f ion.when.running.an.external.pro
36920 67 72 61 6d 20 66 72 6f 6d 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 2a 0a 20 2a 20 41 6e 20 65 78 gram.from.a.command...*..*.An.ex
36940 74 65 72 6e 61 6c 20 70 72 6f 67 72 61 6d 20 63 61 6e 20 62 65 20 61 20 50 72 6f 63 65 73 73 2c ternal.program.can.be.a.Process,
36960 20 61 6e 20 48 54 54 50 20 72 65 71 75 65 73 74 2c 20 6f 72 20 61 6e 79 74 68 69 6e 67 20 65 6c .an.HTTP.request,.or.anything.el
36980 73 65 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 se...*..*.@author.Fabien.Potenci
369a0 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 er.<fabien@symfony.com>..*/.clas
369c0 73 20 44 65 62 75 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 s.DebugFormatterHelper.extends.H
369e0 65 6c 70 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6f 6c 6f 72 73 20 3d 20 61 72 elper.{.....private.$colors.=.ar
36a00 72 61 79 28 27 62 6c 61 63 6b 27 2c 20 27 72 65 64 27 2c 20 27 67 72 65 65 6e 27 2c 20 27 79 65 ray('black',.'red',.'green',.'ye
36a20 6c 6c 6f 77 27 2c 20 27 62 6c 75 65 27 2c 20 27 6d 61 67 65 6e 74 61 27 2c 20 27 63 79 61 6e 27 llow',.'blue',.'magenta',.'cyan'
36a40 2c 20 27 77 68 69 74 65 27 2c 20 27 64 65 66 61 75 6c 74 27 29 3b 0a 20 20 20 20 70 72 69 76 61 ,.'white',.'default');.....priva
36a60 74 65 20 24 73 74 61 72 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 te.$started.=.array();.....priva
36a80 74 65 20 24 63 6f 75 6e 74 20 3d 20 2d 31 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 te.$count.=.-1;....../**......*.
36aa0 53 74 61 72 74 73 20 61 20 64 65 62 75 67 20 66 6f 72 6d 61 74 74 69 6e 67 20 73 65 73 73 69 6f Starts.a.debug.formatting.sessio
36ac0 6e 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 6e 67 20 24 n.......*......*.@param.string.$
36ae0 69 64 20 20 20 20 20 20 54 68 65 20 69 64 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 id......The.id.of.the.formatting
36b00 20 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d .session......*.@param.string.$m
36b20 65 73 73 61 67 65 20 54 68 65 20 6d 65 73 73 61 67 65 20 74 6f 20 64 69 73 70 6c 61 79 0a 20 20 essage.The.message.to.display...
36b40 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 72 65 66 69 78 20 20 54 68 65 20 ...*.@param.string.$prefix..The.
36b60 70 72 65 66 69 78 20 74 6f 20 75 73 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 prefix.to.use......*......*.@ret
36b80 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 urn.string......*/.....public.fu
36ba0 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 69 64 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 70 72 65 nction.start($id,.$message,.$pre
36bc0 66 69 78 20 3d 20 27 52 55 4e 27 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 fix.=.'RUN').....{.........$this
36be0 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 64 65 72 27 20 ->started[$id].=.array('border'.
36c00 3d 3e 20 2b 2b 24 74 68 69 73 2d 3e 63 6f 75 6e 74 20 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d =>.++$this->count.%.count($this-
36c20 3e 63 6f 6c 6f 72 73 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e >colors));..........return.sprin
36c40 74 66 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 tf("%s<bg=blue;fg=white>.%s.</>.
36c60 3c 66 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 <fg=blue>%s</>\n",.$this->getBor
36c80 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 3b 0a 20 20 der($id),.$prefix,.$message);...
36ca0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 73 20 70 72 6f 67 72 65 73 ..}....../**......*.Adds.progres
36cc0 73 20 74 6f 20 61 20 66 6f 72 6d 61 74 74 69 6e 67 20 73 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 s.to.a.formatting.session.......
36ce0 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 69 64 20 20 20 20 20 20 *......*.@param.string.$id......
36d00 20 20 20 20 54 68 65 20 69 64 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 20 73 65 73 ....The.id.of.the.formatting.ses
36d20 73 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 62 75 66 66 65 sion......*.@param.string.$buffe
36d40 72 20 20 20 20 20 20 54 68 65 20 6d 65 73 73 61 67 65 20 74 6f 20 64 69 73 70 6c 61 79 0a 20 20 r......The.message.to.display...
36d60 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 20 20 24 65 72 72 6f 72 20 20 20 20 20 20 20 ...*.@param.bool...$error.......
36d80 57 68 65 74 68 65 72 20 74 6f 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 62 75 66 66 65 72 20 61 Whether.to.consider.the.buffer.a
36da0 73 20 65 72 72 6f 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 72 s.error......*.@param.string.$pr
36dc0 65 66 69 78 20 20 20 20 20 20 54 68 65 20 70 72 65 66 69 78 20 66 6f 72 20 6f 75 74 70 75 74 0a efix......The.prefix.for.output.
36de0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 65 72 72 6f 72 50 72 65 66 69 .....*.@param.string.$errorPrefi
36e00 78 20 54 68 65 20 70 72 65 66 69 78 20 66 6f 72 20 65 72 72 6f 72 20 6f 75 74 70 75 74 0a 20 20 x.The.prefix.for.error.output...
36e20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 ...*......*.@return.string......
36e40 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 28 */.....public.function.progress(
36e60 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 20 24 70 $id,.$buffer,.$error.=.false,.$p
36e80 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 20 27 45 refix.=.'OUT',.$errorPrefix.=.'E
36ea0 52 52 27 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 27 27 RR').....{.........$message.=.''
36ec0 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 72 72 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 ;..........if.($error).{........
36ee0 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 .....if.(isset($this->started[$i
36f00 64 5d 5b 27 6f 75 74 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d d]['out'])).{.................$m
36f20 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 essage..=."\n";.................
36f40 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 74 27 5d unset($this->started[$id]['out']
36f60 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 69 66 20 );.............}.............if.
36f80 28 21 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 72 72 (!isset($this->started[$id]['err
36fa0 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 '])).{.................$message.
36fc0 2e 3d 20 73 70 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 .=.sprintf('%s<bg=red;fg=white>.
36fe0 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 28 24 69 64 29 2c %s.</>.',.$this->getBorder($id),
37000 20 24 65 72 72 6f 72 50 72 65 66 69 78 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$errorPrefix);.................
37020 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 20 3d 20 74 72 75 $this->started[$id]['err'].=.tru
37040 65 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 20 20 20 20 24 6d e;.............}..............$m
37060 65 73 73 61 67 65 20 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 essage..=.str_replace("\n",.spri
37080 6e 74 66 28 22 5c 6e 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 ntf("\n%s<bg=red;fg=white>.%s.</
370a0 3e 20 22 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
370c0 6f 72 50 72 65 66 69 78 29 2c 20 24 62 75 66 66 65 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 orPrefix),.$buffer);.........}.e
370e0 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 lse.{.............if.(isset($thi
37100 73 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 20 20 20 20 20 s->started[$id]['err'])).{......
37120 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 20 20 20 ...........$message..=."\n";....
37140 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 .............unset($this->starte
37160 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 d[$id]['err']);.............}...
37180 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 ..........if.(!isset($this->star
371a0 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ted[$id]['out'])).{.............
371c0 20 20 20 20 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 25 73 3c 62 67 3d 67 ....$message..=.sprintf('%s<bg=g
371e0 72 65 65 6e 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 27 2c 20 24 74 68 69 73 2d 3e reen;fg=white>.%s.</>.',.$this->
37200 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 29 3b 0a 20 20 20 20 20 20 getBorder($id),.$prefix);.......
37220 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f ..........$this->started[$id]['o
37240 75 74 27 5d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 ut'].=.true;.............}......
37260 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 ........$message..=.str_replace(
37280 22 5c 6e 22 2c 20 73 70 72 69 6e 74 66 28 22 5c 6e 25 73 3c 62 67 3d 67 72 65 65 6e 3b 66 67 3d "\n",.sprintf("\n%s<bg=green;fg=
372a0 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 65 74 42 6f 72 64 65 white>.%s.</>.",.$this->getBorde
372c0 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 29 2c 20 24 62 75 66 66 65 72 29 3b 0a 20 20 20 20 r($id),.$prefix),.$buffer);.....
372e0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6d 65 73 73 61 67 65 3b 0a ....}..........return.$message;.
37300 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 74 6f 70 73 20 61 20 66 6f ....}....../**......*.Stops.a.fo
37320 72 6d 61 74 74 69 6e 67 20 73 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 rmatting.session.......*......*.
37340 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 69 64 20 20 20 20 20 20 20 20 20 54 68 65 20 69 64 @param.string.$id.........The.id
37360 20 6f 66 20 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 20 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 .of.the.formatting.session......
37380 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 20 20 20 20 54 68 65 20 *.@param.string.$message....The.
373a0 6d 65 73 73 61 67 65 20 74 6f 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d message.to.display......*.@param
373c0 20 62 6f 6f 6c 20 20 20 24 73 75 63 63 65 73 73 66 75 6c 20 57 68 65 74 68 65 72 20 74 6f 20 63 .bool...$successful.Whether.to.c
373e0 6f 6e 73 69 64 65 72 20 74 68 65 20 72 65 73 75 6c 74 20 61 73 20 73 75 63 63 65 73 73 0a 20 20 onsider.the.result.as.success...
37400 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 72 65 66 69 78 20 20 20 20 20 54 ...*.@param.string.$prefix.....T
37420 68 65 20 70 72 65 66 69 78 20 66 6f 72 20 74 68 65 20 65 6e 64 20 6f 75 74 70 75 74 0a 20 20 20 he.prefix.for.the.end.output....
37440 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a ..*......*.@return.string......*
37460 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 28 24 69 64 2c 20 /.....public.function.stop($id,.
37480 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 65 66 69 78 20 3d $message,.$successful,.$prefix.=
374a0 20 27 52 45 53 27 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 72 61 69 6c 69 6e 67 45 .'RES').....{.........$trailingE
374c0 4f 4c 20 3d 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 OL.=.isset($this->started[$id]['
374e0 6f 75 74 27 5d 29 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 out']).||.isset($this->started[$
37500 69 64 5d 5b 27 65 72 72 27 5d 29 20 3f 20 22 5c 6e 22 20 3a 20 27 27 3b 0a 0a 20 20 20 20 20 20 id]['err']).?."\n".:.'';........
37520 20 20 69 66 20 28 24 73 75 63 63 65 73 73 66 75 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ..if.($successful).{............
37540 20 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 72 65 65 6e 3b 66 .return.sprintf("%s%s<bg=green;f
37560 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 25 73 3c 2f 3e 5c g=white>.%s.</>.<fg=green>%s</>\
37580 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 74 42 6f 72 64 n",.$trailingEOL,.$this->getBord
375a0 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 3b 0a 20 20 20 er($id),.$prefix,.$message);....
375c0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e .....}..........$message.=.sprin
375e0 74 66 28 22 25 73 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 3e tf("%s%s<bg=red;fg=white>.%s.</>
37600 20 3c 66 67 3d 72 65 64 3e 25 73 3c 2f 3e 5c 6e 22 2c 20 24 74 72 61 69 6c 69 6e 67 45 4f 4c 2c .<fg=red>%s</>\n",.$trailingEOL,
37620 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 70 72 65 66 69 78 2c .$this->getBorder($id),.$prefix,
37640 20 24 6d 65 73 73 61 67 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 .$message);..........unset($this
37660 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 2c 20 24 74 68 69 73 2d 3e 73 74 ->started[$id]['out'],.$this->st
37680 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 arted[$id]['err']);..........ret
376a0 75 72 6e 20 24 6d 65 73 73 61 67 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 urn.$message;.....}....../**....
376c0 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 69 64 20 54 68 65 20 69 64 20 6f 66 20 ..*.@param.string.$id.The.id.of.
376e0 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 20 73 65 73 73 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 the.formatting.session......*...
37700 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ...*.@return.string......*/.....
37720 70 72 69 76 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 private.function.getBorder($id).
37740 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 62 ....{.........return.sprintf('<b
37760 67 3d 25 73 3e 20 3c 2f 3e 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 74 68 69 73 2d g=%s>.</>',.$this->colors[$this-
37780 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 62 6f 72 64 65 72 27 5d 5d 29 3b 0a 20 20 20 20 7d >started[$id]['border']]);.....}
377a0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 ....../**......*.{@inheritdoc}..
377c0 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 67 65 74 4e 61 ....*/.....public.function.getNa
377e0 6d 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 64 65 62 75 67 me().....{.........return.'debug
37800 5f 66 6f 72 6d 61 74 74 65 72 27 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 _formatter';.....}.}.<?php../*..
37820 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f *.This.file.is.part.of.the.Symfo
37840 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 ny.package...*..*.(c).Fabien.Pot
37860 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 encier.<fabien@symfony.com>..*..
37880 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 63 *.For.the.full.copyright.and.lic
378a0 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 68 ense.information,.please.view.th
378c0 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 72 e.LICENSE..*.file.that.was.distr
378e0 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 2a ibuted.with.this.source.code...*
37900 2f 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 /..namespace.Symfony\Component\C
37920 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 6f 6d 70 onsole\Helper;..use.Symfony\Comp
37940 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 64 41 onent\Console\Exception\InvalidA
37960 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 79 5c 43 6f rgumentException;.use.Symfony\Co
37980 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 67 69 63 45 mponent\Console\Exception\LogicE
379a0 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\
379c0 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;.
379e0 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b 65 76 69 6e 20 42 6f 6e 64 20 3c 6b 65 76 69 ./**..*.@author.Kevin.Bond.<kevi
37a00 6e 62 6f 6e 64 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 50 72 6f 67 72 nbond@gmail.com>..*/.class.Progr
37a20 65 73 73 49 6e 64 69 63 61 74 6f 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6f 75 74 70 essIndicator.{.....private.$outp
37a40 75 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 20 20 20 20 ut;.....private.$startTime;.....
37a60 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6d 65 private.$format;.....private.$me
37a80 73 73 61 67 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c ssage;.....private.$indicatorVal
37aa0 75 65 73 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 ues;.....private.$indicatorCurre
37ac0 6e 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 nt;.....private.$indicatorChange
37ae0 49 6e 74 65 72 76 61 6c 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 Interval;.....private.$indicator
37b00 55 70 64 61 74 65 54 69 6d 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6c 61 73 74 4d 65 73 UpdateTime;.....private.$lastMes
37b20 73 61 67 65 73 4c 65 6e 67 74 68 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 61 72 74 65 sagesLength;.....private.$starte
37b40 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 d.=.false;......private.static.$
37b60 66 6f 72 6d 61 74 74 65 72 73 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 formatters;.....private.static.$
37b80 66 6f 72 6d 61 74 73 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 formats;....../**......*.@param.
37ba0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 40 OutputInterface.$output......*.@
37bc0 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 20 20 20 20 24 66 6f 72 6d 61 74 20 20 20 param.string|null.....$format...
37be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 69 63 61 74 6f 72 20 66 6f 72 6d 61 74 0a ...............Indicator.format.
37c00 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 .....*.@param.int.............$i
37c20 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 20 43 68 61 6e 67 65 20 69 6e ndicatorChangeInterval.Change.in
37c40 74 65 72 76 61 6c 20 69 6e 20 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 0a 20 20 20 20 20 2a 20 40 70 terval.in.milliseconds......*.@p
37c60 61 72 61 6d 20 61 72 72 61 79 7c 6e 75 6c 6c 20 20 20 20 20 20 24 69 6e 64 69 63 61 74 6f 72 56 aram.array|null......$indicatorV
37c80 61 6c 75 65 73 20 20 20 20 20 20 20 20 20 41 6e 69 6d 61 74 65 64 20 69 6e 64 69 63 61 74 6f 72 alues.........Animated.indicator
37ca0 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 .characters......*/.....public.f
37cc0 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
37ce0 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 66 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e ace.$output,.$format.=.null,.$in
37d00 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 20 3d 20 31 30 30 2c 20 24 69 6e dicatorChangeInterval.=.100,.$in
37d20 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 dicatorValues.=.null).....{.....
37d40 20 20 20 20 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 20 20 ....$this->output.=.$output;....
37d60 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a 20 20 ......if.(null.===.$format).{...
37d80 20 20 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 ..........$format.=.$this->deter
37da0 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 mineBestFormat();.........}.....
37dc0 20 20 20 20 20 69 66 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 .....if.(null.===.$indicatorValu
37de0 65 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 es).{.............$indicatorValu
37e00 65 73 20 3d 20 61 72 72 61 79 28 27 2d 27 2c 20 27 5c 5c 27 2c 20 27 7c 27 2c 20 27 2f 27 29 3b es.=.array('-',.'\\',.'|',.'/');
37e20 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 69 6e 64 69 63 61 74 6f 72 56 61 .........}..........$indicatorVa
37e40 6c 75 65 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 lues.=.array_values($indicatorVa
37e60 6c 75 65 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 32 20 3e 20 63 6f 75 6e 74 28 24 69 lues);..........if.(2.>.count($i
37e80 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 ndicatorValues)).{.............t
37ea0 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 6f hrow.new.InvalidArgumentExceptio
37ec0 6e 28 27 4d 75 73 74 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 32 20 69 6e 64 69 63 61 74 6f n('Must.have.at.least.2.indicato
37ee0 72 20 76 61 6c 75 65 20 63 68 61 72 61 63 74 65 72 73 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d r.value.characters.');.........}
37f00 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a ..........$this->format.=.self::
37f20 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 3b 0a 20 20 getFormatDefinition($format);...
37f40 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 ......$this->indicatorChangeInte
37f60 72 76 61 6c 20 3d 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 3b rval.=.$indicatorChangeInterval;
37f80 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 .........$this->indicatorValues.
37fa0 3d 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 =.$indicatorValues;.........$thi
37fc0 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 s->startTime.=.time();.....}....
37fe0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e ../**......*.Sets.the.current.in
38000 64 69 63 61 74 6f 72 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 dicator.message.......*......*.@
38020 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 param.string|null.$message......
38040 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 4d 65 73 73 61 67 */.....public.function.setMessag
38060 65 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d e($message).....{.........$this-
38080 3e 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 >message.=.$message;..........$t
380a0 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 his->display();.....}....../**..
380c0 20 20 20 20 2a 20 53 74 61 72 74 73 20 74 68 65 20 69 6e 64 69 63 61 74 6f 72 20 6f 75 74 70 75 ....*.Starts.the.indicator.outpu
380e0 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 6d 65 73 73 61 67 65 t.......*......*.@param.$message
38100 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 74 61 ......*/.....public.function.sta
38120 72 74 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 rt($message).....{.........if.($
38140 74 68 69 73 2d 3e 73 74 61 72 74 65 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 this->started).{.............thr
38160 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 73 73 20 ow.new.LogicException('Progress.
38180 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 3b 0a 20 20 indicator.already.started.');...
381a0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 ......}..........$this->message.
381c0 3d 20 24 6d 65 73 73 61 67 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 72 74 =.$message;.........$this->start
381e0 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 ed.=.true;.........$this->lastMe
38200 73 73 61 67 65 73 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ssagesLength.=.0;.........$this-
38220 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 >startTime.=.time();.........$th
38240 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 55 70 64 61 74 65 54 69 6d 65 20 3d 20 24 74 68 69 73 2d is->indicatorUpdateTime.=.$this-
38260 3e 67 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 6e 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 28 29 20 >getCurrentTimeInMilliseconds().
38280 2b 20 24 74 68 69 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 +.$this->indicatorChangeInterval
382a0 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e ;.........$this->indicatorCurren
382c0 74 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 t.=.0;..........$this->display()
382e0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 76 61 6e 63 65 73 ;.....}....../**......*.Advances
38300 20 74 68 65 20 69 6e 64 69 63 61 74 6f 72 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c .the.indicator.......*/.....publ
38320 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 76 61 6e 63 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 ic.function.advance().....{.....
38340 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 29 20 7b 0a 20 20 20 20 20 ....if.(!$this->started).{......
38360 20 20 20 20 20 20 20 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 .......throw.new.LogicException(
38380 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 20 79 65 74 20 'Progress.indicator.has.not.yet.
383a0 62 65 65 6e 20 73 74 61 72 74 65 64 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 been.started.');.........}......
383c0 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 ....if.(!$this->output->isDecora
383e0 74 65 64 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 ted()).{.............return;....
38400 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 75 72 72 65 6e 74 54 69 6d 65 20 3d 20 24 .....}..........$currentTime.=.$
38420 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 6e 4d 69 6c 6c 69 73 65 63 6f 6e this->getCurrentTimeInMillisecon
38440 64 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 75 72 72 65 6e 74 54 69 6d 65 20 ds();..........if.($currentTime.
38460 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 65 29 20 7b 0a <.$this->indicatorUpdateTime).{.
38480 20 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 ............return;.........}...
384a0 20 20 20 20 20 20 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 .......$this->indicatorUpdateTim
384c0 65 20 3d 20 24 63 75 72 72 65 6e 74 54 69 6d 65 20 2b 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 e.=.$currentTime.+.$this->indica
384e0 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 20 20 20 20 20 20 20 20 2b 2b 24 74 68 torChangeInterval;.........++$th
38500 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e 74 3b 0a 0a 20 20 20 20 20 20 20 20 24 is->indicatorCurrent;..........$
38520 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a this->display();.....}....../**.
38540 20 20 20 20 20 2a 20 46 69 6e 69 73 68 20 74 68 65 20 69 6e 64 69 63 61 74 6f 72 20 77 69 74 68 .....*.Finish.the.indicator.with
38560 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 24 .message.......*......*.@param.$
38580 6d 65 73 73 61 67 65 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 message......*/.....public.funct
385a0 69 6f 6e 20 66 69 6e 69 73 68 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ion.finish($message).....{......
385c0 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 29 20 7b 0a 20 20 20 20 20 20 ...if.(!$this->started).{.......
385e0 20 20 20 20 20 20 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 ......throw.new.LogicException('
38600 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 20 79 65 74 20 62 Progress.indicator.has.not.yet.b
38620 65 65 6e 20 73 74 61 72 74 65 64 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 een.started.');.........}.......
38640 20 20 20 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 20 20 ...$this->message.=.$message;...
38660 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 ......$this->display();.........
38680 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 3b 0a 20 20 20 20 $this->output->writeln('');.....
386a0 20 20 20 20 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 ....$this->started.=.false;.....
386c0 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 66 6f 72 6d 61 }....../**......*.Gets.the.forma
386e0 74 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 t.for.a.given.name.......*......
38700 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 66 6f 72 6d 61 74 *.@param.string.$name.The.format
38720 20 6e 61 6d 65 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 72 69 .name......*......*.@return.stri
38740 6e 67 7c 6e 75 6c 6c 20 41 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a ng|null.A.format.string......*/.
38760 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 65 74 46 6f ....public.static.function.getFo
38780 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 rmatDefinition($name).....{.....
387a0 20 20 20 20 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 29 20 7b 0a 20 20 20 20 20 ....if.(!self::$formats).{......
387c0 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 3a 3a 69 6e .......self::$formats.=.self::in
387e0 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 itFormats();.........}..........
38800 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 73 5b 24 6e 61 6d return.isset(self::$formats[$nam
38820 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 e]).?.self::$formats[$name].:.nu
38840 6c 6c 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 65 74 73 20 61 ll;.....}....../**......*.Sets.a
38860 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 66 6f 72 6d 61 74 74 65 72 20 66 6f 72 20 61 20 67 69 76 .placeholder.formatter.for.a.giv
38880 65 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 en.name.......*......*.This.meth
388a0 6f 64 20 61 6c 73 6f 20 61 6c 6c 6f 77 20 79 6f 75 20 74 6f 20 6f 76 65 72 72 69 64 65 20 61 6e od.also.allow.you.to.override.an
388c0 20 65 78 69 73 74 69 6e 67 20 70 6c 61 63 65 68 6f 6c 64 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 .existing.placeholder.......*...
388e0 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 24 6e 61 6d 65 20 20 20 20 20 54 ...*.@param.string...$name.....T
38900 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 6e 61 6d 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 he.placeholder.name.(including.t
38920 68 65 20 64 65 6c 69 6d 69 74 65 72 20 63 68 61 72 20 6c 69 6b 65 20 25 29 0a 20 20 20 20 20 2a he.delimiter.char.like.%)......*
38940 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 6c 65 20 24 63 61 6c 6c 61 62 6c 65 20 41 20 50 48 50 .@param.callable.$callable.A.PHP
38960 20 63 61 6c 6c 61 62 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 .callable......*/.....public.sta
38980 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 65 72 46 6f 72 6d 61 tic.function.setPlaceholderForma
389a0 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 6c 6c 61 62 6c 65 29 tterDefinition($name,.$callable)
389c0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 .....{.........if.(!self::$forma
389e0 74 74 65 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 66 6f 72 6d tters).{.............self::$form
38a00 61 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 atters.=.self::initPlaceholderFo
38a20 72 6d 61 74 74 65 72 73 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 rmatters();.........}..........s
38a40 65 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 elf::$formatters[$name].=.$calla
38a60 62 6c 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 47 65 74 73 20 ble;.....}....../**......*.Gets.
38a80 74 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 66 6f 72 6d 61 74 74 65 72 20 66 6f 72 20 61 20 the.placeholder.formatter.for.a.
38aa0 67 69 76 65 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d given.name.......*......*.@param
38ac0 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 6e 61 .string.$name.The.placeholder.na
38ae0 6d 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 64 65 6c 69 6d 69 74 65 72 20 63 68 61 72 me.(including.the.delimiter.char
38b00 20 6c 69 6b 65 20 25 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 63 .like.%)......*......*.@return.c
38b20 61 6c 6c 61 62 6c 65 7c 6e 75 6c 6c 20 41 20 50 48 50 20 63 61 6c 6c 61 62 6c 65 0a 20 20 20 20 allable|null.A.PHP.callable.....
38b40 20 2a 2f 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
38b60 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 6e etPlaceholderFormatterDefinition
38b80 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 73 65 6c 66 3a ($name).....{.........if.(!self:
38ba0 3a 24 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 :$formatters).{.............self
38bc0 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 50 6c 61 63 65 68 ::$formatters.=.self::initPlaceh
38be0 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 olderFormatters();.........}....
38c00 20 20 20 20 20 20 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 ......return.isset(self::$format
38c20 74 65 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 ters[$name]).?.self::$formatters
38c40 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 [$name].:.null;.....}......priva
38c60 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 te.function.display().....{.....
38c80 20 20 20 20 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 ....if.(OutputInterface::VERBOSI
38ca0 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 56 TY_QUIET.===.$this->output->getV
38cc0 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e erbosity()).{.............return
38ce0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 73 65 6c 66 20 3d 20 24 74 68 ;.........}..........$self.=.$th
38d00 69 73 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 70 72 is;..........$this->overwrite(pr
38d20 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 5f 5d eg_replace_callback("{%([a-z\-_]
38d40 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 20 28 +)(?:\:([^%]+))?%}i",.function.(
38d60 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 73 65 6c 66 29 20 7b 0a 20 20 20 20 20 20 20 20 $matches).use.($self).{.........
38d80 20 20 20 20 69 66 20 28 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 73 65 6c 66 3a 3a 67 65 74 50 ....if.($formatter.=.$self::getP
38da0 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 24 6d laceholderFormatterDefinition($m
38dc0 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 atches[1])).{.................re
38de0 74 75 72 6e 20 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 turn.call_user_func($formatter,.
38e00 24 73 65 6c 66 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 20 $self);.............}...........
38e20 20 20 20 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 7d ...return.$matches[0];.........}
38e40 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 ,.$this->format));.....}......pr
38e60 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d ivate.function.determineBestForm
38e80 61 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 68 69 73 at().....{.........switch.($this
38ea0 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 20 20 20 20 ->output->getVerbosity()).{.....
38ec0 20 20 20 20 20 20 20 20 2f 2f 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 ........//.OutputInterface::VERB
38ee0 4f 53 49 54 59 5f 51 55 49 45 54 3a 20 64 69 73 70 6c 61 79 20 69 73 20 64 69 73 61 62 6c 65 64 OSITY_QUIET:.display.is.disabled
38f00 20 61 6e 79 77 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4f 75 74 70 75 74 49 .anyway.............case.OutputI
38f20 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 3a 0a 20 20 20 nterface::VERBOSITY_VERBOSE:....
38f40 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 .............return.$this->outpu
38f60 74 2d 3e 69 73 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 t->isDecorated().?.'verbose'.:.'
38f80 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 verbose_no_ansi';.............ca
38fa0 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 45 se.OutputInterface::VERBOSITY_VE
38fc0 52 59 5f 56 45 52 42 4f 53 45 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4f 75 74 RY_VERBOSE:.............case.Out
38fe0 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 3a 0a 20 putInterface::VERBOSITY_DEBUG:..
39000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 ...............return.$this->out
39020 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3f 20 27 76 65 72 79 5f 76 65 72 62 6f put->isDecorated().?.'very_verbo
39040 73 65 27 20 3a 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 3b 0a 20 20 se'.:.'very_verbose_no_ansi';...
39060 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........default:..............
39080 20 20 20 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 ...return.$this->output->isDecor
390a0 61 74 65 64 28 29 20 3f 20 27 6e 6f 72 6d 61 6c 27 20 3a 20 27 6e 6f 72 6d 61 6c 5f 6e 6f 5f 61 ated().?.'normal'.:.'normal_no_a
390c0 6e 73 69 27 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 nsi';.........}.....}....../**..
390e0 20 20 20 20 2a 20 4f 76 65 72 77 72 69 74 65 73 20 61 20 70 72 65 76 69 6f 75 73 20 6d 65 73 73 ....*.Overwrites.a.previous.mess
39100 61 67 65 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a age.to.the.output.......*......*
39120 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 20 54 68 65 20 6d 65 73 73 .@param.string.$message.The.mess
39140 61 67 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e age......*/.....private.function
39160 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 .overwrite($message).....{......
39180 20 20 20 2f 2f 20 61 70 70 65 6e 64 20 77 68 69 74 65 73 70 61 63 65 20 74 6f 20 6d 61 74 63 68 ...//.append.whitespace.to.match
391a0 20 74 68 65 20 6c 69 6e 65 27 73 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e .the.line's.length.........if.(n
391c0 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
391e0 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6c 61 73 74 h).{.............if.($this->last
39200 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 3e 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 MessagesLength.>.Helper::strlenW
39220 69 74 68 6f 75 74 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 ithoutDecoration($this->output->
39240 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 6d 65 73 73 61 67 65 29 29 20 7b 0a 20 20 20 getFormatter(),.$message)).{....
39260 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 73 74 72 5f 70 61 64 28 .............$message.=.str_pad(
39280 24 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 $message,.$this->lastMessagesLen
392a0 67 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 20 20 20 gth,."\x20",.STR_PAD_RIGHT);....
392c0 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 69 66 .........}.........}..........if
392e0 20 28 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 29 20 .($this->output->isDecorated()).
39300 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 {.............$this->output->wri
39320 74 65 28 22 5c 78 30 44 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f te("\x0D");.............$this->o
39340 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 utput->write($message);.........
39360 7d 20 65 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 6f 75 74 70 }.else.{.............$this->outp
39380 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 7d ut->writeln($message);.........}
393a0 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e ..........$this->lastMessagesLen
393c0 67 74 68 20 3d 20 30 3b 0a 0a 20 20 20 20 20 20 20 20 24 6c 65 6e 20 3d 20 48 65 6c 70 65 72 3a gth.=.0;..........$len.=.Helper:
393e0 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 69 73 2d 3e :strlenWithoutDecoration($this->
39400 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 6d 65 73 73 61 67 65 output->getFormatter(),.$message
39420 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6c 65 6e 20 3e 20 24 74 68 69 73 2d 3e 6c 61 );..........if.($len.>.$this->la
39440 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 stMessagesLength).{.............
39460 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 24 6c 65 6e $this->lastMessagesLength.=.$len
39480 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 ;.........}.....}......private.f
394a0 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 6e 4d 69 6c 6c 69 73 65 63 unction.getCurrentTimeInMillisec
394c0 6f 6e 64 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 72 6f 75 6e onds().....{.........return.roun
394e0 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 20 20 20 20 7d d(microtime(true).*.1000);.....}
39500 0a 0a 20 20 20 20 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 ......private.static.function.in
39520 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 0a 20 20 20 20 7b 0a itPlaceholderFormatters().....{.
39540 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 ........return.array(...........
39560 20 20 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 72 6f 67 72 ..'indicator'.=>.function.(Progr
39580 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 20 20 20 20 20 essIndicator.$indicator).{......
395a0 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 69 6e 64 69 63 61 74 6f 72 2d 3e 69 6e ...........return.$indicator->in
395c0 64 69 63 61 74 6f 72 56 61 6c 75 65 73 5b 24 69 6e 64 69 63 61 74 6f 72 2d 3e 69 6e 64 69 63 61 dicatorValues[$indicator->indica
395e0 74 6f 72 43 75 72 72 65 6e 74 20 25 20 63 6f 75 6e 74 28 24 69 6e 64 69 63 61 74 6f 72 2d 3e 69 torCurrent.%.count($indicator->i
39600 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ndicatorValues)];.............},
39620 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 66 75 6e 63 74 69 .............'message'.=>.functi
39640 6f 6e 20 28 50 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 on.(ProgressIndicator.$indicator
39660 29 20 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 69 6e 64 69 ).{.................return.$indi
39680 63 61 74 6f 72 2d 3e 6d 65 73 73 61 67 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 cator->message;.............},..
396a0 20 20 20 20 20 20 20 20 20 20 20 27 65 6c 61 70 73 65 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e ...........'elapsed'.=>.function
396c0 20 28 50 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 .(ProgressIndicator.$indicator).
396e0 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 48 65 6c 70 65 72 3a {.................return.Helper:
39700 3a 66 6f 72 6d 61 74 54 69 6d 65 28 74 69 6d 65 28 29 20 2d 20 24 69 6e 64 69 63 61 74 6f 72 2d :formatTime(time().-.$indicator-
39720 3e 73 74 61 72 74 54 69 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 >startTime);.............},.....
39740 20 20 20 20 20 20 20 20 27 6d 65 6d 6f 72 79 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 ........'memory'.=>.function.().
39760 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 48 65 6c 70 65 72 3a {.................return.Helper:
39780 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 61 67 65 28 74 :formatMemory(memory_get_usage(t
397a0 72 75 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 29 3b rue));.............},.........);
397c0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 .....}......private.static.funct
397e0 69 6f 6e 20 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ion.initFormats().....{.........
39800 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 6f 72 6d 61 return.array(.............'norma
39820 6c 27 20 3d 3e 20 27 20 25 69 6e 64 69 63 61 74 6f 72 25 20 25 6d 65 73 73 61 67 65 25 27 2c 0a l'.=>.'.%indicator%.%message%',.
39840 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 6f 72 6d 61 6c 5f 6e 6f 5f 61 6e 73 69 27 20 3d 3e 20 ............'normal_no_ansi'.=>.
39860 27 20 25 6d 65 73 73 61 67 65 25 27 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 65 72 62 '.%message%',..............'verb
39880 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 73 73 61 67 65 25 20 ose'.=>.'.%indicator%.%message%.
398a0 28 25 65 6c 61 70 73 65 64 3a 36 73 25 29 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 65 (%elapsed:6s%)',.............'ve
398c0 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 20 25 6d 65 73 73 61 67 65 25 20 28 25 rbose_no_ansi'.=>.'.%message%.(%
398e0 65 6c 61 70 73 65 64 3a 36 73 25 29 27 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 65 72 elapsed:6s%)',..............'ver
39900 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 73 y_verbose'.=>.'.%indicator%.%mes
39920 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 25 sage%.(%elapsed:6s%,.%memory:6s%
39940 29 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f )',.............'very_verbose_no
39960 5f 61 6e 73 69 27 20 3d 3e 20 27 20 25 6d 65 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a _ansi'.=>.'.%message%.(%elapsed:
39980 36 73 25 2c 20 25 6d 65 6d 6f 72 79 3a 36 73 25 29 27 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 6s%,.%memory:6s%)',.........);..
399a0 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 ...}.}.<?php../*..*.This.file.is
399c0 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a .part.of.the.Symfony.package...*
399e0 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e ..*.(c).Fabien.Potencier.<fabien
39a00 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c @symfony.com>..*..*.For.the.full
39a20 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 .copyright.and.license.informati
39a40 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 on,.please.view.the.LICENSE..*.f
39a60 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 ile.that.was.distributed.with.th
39a80 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 is.source.code...*/..namespace.S
39aa0 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;
39ac0 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\
39ae0 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 65 72 66 61 Formatter\OutputFormatterInterfa
39b00 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 48 65 6c 70 65 72 20 69 73 20 74 68 65 20 62 61 73 65 20 63 ce;../**..*.Helper.is.the.base.c
39b20 6c 61 73 73 20 66 6f 72 20 61 6c 6c 20 68 65 6c 70 65 72 20 63 6c 61 73 73 65 73 2e 0a 20 2a 0a lass.for.all.helper.classes...*.
39b40 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 .*.@author.Fabien.Potencier.<fab
39b60 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 61 62 73 74 72 61 63 74 20 63 6c ien@symfony.com>..*/.abstract.cl
39b80 61 73 73 20 48 65 6c 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 ass.Helper.implements.HelperInte
39ba0 72 66 61 63 65 0a 7b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 68 65 6c 70 65 72 53 65 74 rface.{.....protected.$helperSet
39bc0 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 .=.null;....../**......*.Sets.th
39be0 65 20 68 65 6c 70 65 72 20 73 65 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 69 e.helper.set.associated.with.thi
39c00 73 20 68 65 6c 70 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 48 s.helper.......*......*.@param.H
39c20 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 41 20 48 65 6c 70 65 72 53 65 74 20 elperSet.$helperSet.A.HelperSet.
39c40 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 instance......*/.....public.func
39c60 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
39c80 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 perSet.=.null).....{.........$th
39ca0 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 20 20 20 20 is->helperSet.=.$helperSet;.....
39cc0 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 68 65 6c 70 65 }....../**......*.Gets.the.helpe
39ce0 72 20 73 65 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 69 73 20 68 65 6c 70 65 r.set.associated.with.this.helpe
39d00 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 48 65 6c 70 65 72 53 r.......*......*.@return.HelperS
39d20 65 74 20 41 20 48 65 6c 70 65 72 53 65 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a et.A.HelperSet.instance......*/.
39d40 20 20 20 20 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 ....public.function.getHelperSet
39d60 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 68 ().....{.........return.$this->h
39d80 65 6c 70 65 72 53 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 elperSet;.....}....../**......*.
39da0 52 65 74 75 72 6e 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 61 20 73 74 72 69 6e 67 2c 20 Returns.the.length.of.a.string,.
39dc0 75 73 69 6e 67 20 6d 62 5f 73 74 72 77 69 64 74 68 20 69 66 20 69 74 20 69 73 20 61 76 61 69 6c using.mb_strwidth.if.it.is.avail
39de0 61 62 6c 65 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 6e able.......*......*.@param.strin
39e00 67 20 24 73 74 72 69 6e 67 20 54 68 65 20 73 74 72 69 6e 67 20 74 6f 20 63 68 65 63 6b 20 69 74 g.$string.The.string.to.check.it
39e20 73 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 s.length......*......*.@return.i
39e40 6e 74 20 54 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 0a 20 20 20 20 nt.The.length.of.the.string.....
39e60 20 2a 2f 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 73 .*/.....public.static.function.s
39e80 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 trlen($string).....{.........if.
39ea0 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 (false.===.$encoding.=.mb_detect
39ec0 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 _encoding($string,.null,.true)).
39ee0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 {.............return.strlen($str
39f00 69 6e 67 29 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 20 ing);.........}..........return.
39f20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 74 72 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b mb_strwidth($string,.$encoding);
39f40 0a 20 20 20 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 .....}......public.static.functi
39f60 6f 6e 20 66 6f 72 6d 61 74 54 69 6d 65 28 24 73 65 63 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 on.formatTime($secs).....{......
39f80 20 20 20 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 61 79 28 0a ...static.$timeFormats.=.array(.
39fa0 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 30 2c 20 27 3c 20 31 20 73 65 63 27 29 2c ............array(0,.'<.1.sec'),
39fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 31 2c 20 27 31 20 73 65 63 27 29 2c 0a .............array(1,.'1.sec'),.
39fe0 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 32 2c 20 27 73 65 63 73 27 2c 20 31 29 2c ............array(2,.'secs',.1),
3a000 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 36 30 2c 20 27 31 20 6d 69 6e 27 29 2c .............array(60,.'1.min'),
3a020 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 31 32 30 2c 20 27 6d 69 6e 73 27 2c 20 .............array(120,.'mins',.
3a040 36 30 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 33 36 30 30 2c 20 27 31 20 60),.............array(3600,.'1.
3a060 68 72 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 37 32 30 30 2c 20 27 68 hr'),.............array(7200,.'h
3a080 72 73 27 2c 20 33 36 30 30 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 38 36 rs',.3600),.............array(86
3a0a0 34 30 30 2c 20 27 31 20 64 61 79 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 400,.'1.day'),.............array
3a0c0 28 31 37 32 38 30 30 2c 20 27 64 61 79 73 27 2c 20 38 36 34 30 30 29 2c 0a 20 20 20 20 20 20 20 (172800,.'days',.86400),........
3a0e0 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 69 6d 65 46 6f 72 6d 61 .);..........foreach.($timeForma
3a100 74 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 66 6f 72 6d 61 74 29 20 7b 0a 20 20 20 20 20 ts.as.$index.=>.$format).{......
3a120 20 20 20 20 20 20 20 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 .......if.($secs.>=.$format[0]).
3a140 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 69 73 73 65 74 28 24 74 69 {.................if.((isset($ti
3a160 6d 65 46 6f 72 6d 61 74 73 5b 24 69 6e 64 65 78 20 2b 20 31 5d 29 20 26 26 20 24 73 65 63 73 20 meFormats[$index.+.1]).&&.$secs.
3a180 3c 20 24 74 69 6d 65 46 6f 72 6d 61 74 73 5b 24 69 6e 64 65 78 20 2b 20 31 5d 5b 30 5d 29 0a 20 <.$timeFormats[$index.+.1][0])..
3a1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 24 69 6e 64 65 78 20 3d 3d 20 ...................||.$index.==.
3a1c0 63 6f 75 6e 74 28 24 74 69 6d 65 46 6f 72 6d 61 74 73 29 20 2d 20 31 0a 20 20 20 20 20 20 20 20 count($timeFormats).-.1.........
3a1e0 20 20 20 20 20 20 20 20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........).{.....................
3a200 69 66 20 28 32 20 3d 3d 20 63 6f 75 6e 74 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 20 20 20 20 20 if.(2.==.count($format)).{......
3a220 20 20 20 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 6f 72 6d 61 ...................return.$forma
3a240 74 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 t[1];.....................}.....
3a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 6c 6f 6f 72 28 24 73 .................return.floor($s
3a280 65 63 73 20 2f 20 24 66 6f 72 6d 61 74 5b 32 5d 29 2e 27 20 27 2e 24 66 6f 72 6d 61 74 5b 31 5d ecs./.$format[2]).'.'.$format[1]
3a2a0 3b 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 20 ;.................}.............
3a2c0 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 }.........}.....}......public.st
3a2e0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 4d 65 6d 6f 72 79 28 24 6d 65 6d 6f atic.function.formatMemory($memo
3a300 72 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d ry).....{.........if.($memory.>=
3a320 20 31 30 32 34 20 2a 20 31 30 32 34 20 2a 20 31 30 32 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .1024.*.1024.*.1024).{..........
3a340 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 2e 31 66 20 47 69 42 27 2c 20 24 6d ...return.sprintf('%.1f.GiB',.$m
3a360 65 6d 6f 72 79 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 29 3b 0a 20 20 20 emory./.1024./.1024./.1024);....
3a380 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d 20 31 .....}..........if.($memory.>=.1
3a3a0 30 32 34 20 2a 20 31 30 32 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 024.*.1024).{.............return
3a3c0 20 73 70 72 69 6e 74 66 28 27 25 2e 31 66 20 4d 69 42 27 2c 20 24 6d 65 6d 6f 72 79 20 2f 20 31 .sprintf('%.1f.MiB',.$memory./.1
3a3e0 30 32 34 20 2f 20 31 30 32 34 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 024./.1024);.........}..........
3a400 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d 20 31 30 32 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 if.($memory.>=.1024).{..........
3a420 20 20 20 72 65 74 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 ...return.sprintf('%d.KiB',.$mem
3a440 6f 72 79 20 2f 20 31 30 32 34 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ory./.1024);.........}..........
3a460 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 64 20 42 27 2c 20 24 6d 65 6d 6f 72 79 29 3b return.sprintf('%d.B',.$memory);
3a480 0a 20 20 20 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 .....}......public.static.functi
3a4a0 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 70 75 on.strlenWithoutDecoration(Outpu
3a4c0 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 2c 20 tFormatterInterface.$formatter,.
3a4e0 24 73 74 72 69 6e 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 73 44 65 63 6f 72 61 $string).....{.........$isDecora
3a500 74 65 64 20 3d 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 3b ted.=.$formatter->isDecorated();
3a520 0a 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 .........$formatter->setDecorate
3a540 64 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 72 65 6d 6f 76 65 20 3c 2e 2e 2e d(false);.........//.remove.<...
3a560 3e 20 66 6f 72 6d 61 74 74 69 6e 67 0a 20 20 20 20 20 20 20 20 24 73 74 72 69 6e 67 20 3d 20 24 >.formatting.........$string.=.$
3a580 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 20 20 20 20 formatter->format($string);.....
3a5a0 20 20 20 20 2f 2f 20 72 65 6d 6f 76 65 20 61 6c 72 65 61 64 79 20 66 6f 72 6d 61 74 74 65 64 20 ....//.remove.already.formatted.
3a5c0 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 24 73 74 72 69 6e 67 20 3d 20 70 72 65 characters.........$string.=.pre
3a5e0 67 5f 72 65 70 6c 61 63 65 28 22 2f 5c 30 33 33 5c 5b 5b 5e 6d 5d 2a 6d 2f 22 2c 20 27 27 2c 20 g_replace("/\033\[[^m]*m/",.'',.
3a600 24 73 74 72 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 $string);.........$formatter->se
3a620 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 20 20 20 20 20 tDecorated($isDecorated);.......
3a640 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 3b ...return.self::strlen($string);
3a660 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 .....}.}.<?php../*..*.This.file.
3a680 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a is.part.of.the.Symfony.package..
3a6a0 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 .*..*.(c).Fabien.Potencier.<fabi
3a6c0 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 en@symfony.com>..*..*.For.the.fu
3a6e0 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 ll.copyright.and.license.informa
3a700 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a tion,.please.view.the.LICENSE..*
3a720 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 .file.that.was.distributed.with.
3a740 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 this.source.code...*/..namespace
3a760 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 70 65 .Symfony\Component\Console\Helpe
3a780 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 6c r;..use.Symfony\Component\Consol
3a7a0 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 70 e\Exception\InvalidArgumentExcep
3a7c0 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 41 62 64 65 6c 6c 61 74 69 66 tion;../**..*.@author.Abdellatif
3a7e0 20 41 69 74 20 62 6f 75 64 61 64 20 3c 61 2e 61 69 74 62 6f 75 64 61 64 40 67 6d 61 69 6c 2e 63 .Ait.boudad.<a.aitboudad@gmail.c
3a800 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 54 61 62 6c 65 43 65 6c 6c 0a 7b 0a 20 20 20 20 2f 2a om>..*/.class.TableCell.{...../*
3a820 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 *......*.@var.string......*/....
3a840 20 70 72 69 76 61 74 65 20 24 76 61 6c 75 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .private.$value;....../**......*
3a860 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 .@var.array......*/.....private.
3a880 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 27 72 6f 77 73 70 $options.=.array(.........'rowsp
3a8a0 61 6e 27 20 3d 3e 20 31 2c 0a 20 20 20 20 20 20 20 20 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 31 an'.=>.1,.........'colspan'.=>.1
3a8c0 2c 0a 20 20 20 20 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 ,.....);....../**......*.@param.
3a8e0 73 74 72 69 6e 67 20 24 76 61 6c 75 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 string.$value......*.@param.arra
3a900 79 20 20 24 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 y..$options......*/.....public.f
3a920 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 3d 20 27 27 2c unction.__construct($value.=.'',
3a940 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 20 20 20 20 7b .array.$options.=.array()).....{
3a960 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3d 20 24 76 61 6c 75 65 3b 0a .........$this->value.=.$value;.
3a980 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 68 65 63 6b 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 73 0a 20 .........//.check.option.names..
3a9a0 20 20 20 20 20 20 20 69 66 20 28 24 64 69 66 66 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 61 72 .......if.($diff.=.array_diff(ar
3a9c0 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 73 28 24 ray_keys($options),.array_keys($
3a9e0 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 this->options))).{.............t
3aa00 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 6f hrow.new.InvalidArgumentExceptio
3aa20 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 54 61 62 6c 65 43 65 6c 6c 20 64 6f 65 73 20 6e 6f n(sprintf('The.TableCell.does.no
3aa40 74 20 73 75 70 70 6f 72 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 73 3a t.support.the.following.options:
3aa60 20 5c 27 25 73 5c 27 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 5c 27 2c 20 5c 27 27 2c 20 24 64 69 .\'%s\'.',.implode('\',.\'',.$di
3aa80 66 66 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ff)));.........}..........$this-
3aaa0 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 68 69 73 2d 3e 6f 70 >options.=.array_merge($this->op
3aac0 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a tions,.$options);.....}....../**
3aae0 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 63 65 6c 6c 20 76 61 6c 75 65 2e 0a ......*.Returns.the.cell.value..
3ab00 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 .....*......*.@return.string....
3ab20 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 5f 5f 74 6f 53 74 72 ..*/.....public.function.__toStr
3ab40 69 6e 67 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 ing().....{.........return.$this
3ab60 2d 3e 76 61 6c 75 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 47 ->value;.....}....../**......*.G
3ab80 65 74 73 20 6e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 73 70 61 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 ets.number.of.colspan.......*...
3aba0 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 ...*.@return.int......*/.....pub
3abc0 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 20 20 20 20 7b 0a lic.function.getColspan().....{.
3abe0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 6f 70 74 69 ........return.(int).$this->opti
3ac00 6f 6e 73 5b 27 63 6f 6c 73 70 61 6e 27 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 ons['colspan'];.....}....../**..
3ac20 20 20 20 20 2a 20 47 65 74 73 20 6e 75 6d 62 65 72 20 6f 66 20 72 6f 77 73 70 61 6e 2e 0a 20 20 ....*.Gets.number.of.rowspan....
3ac40 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 20 2a 2f 0a ...*......*.@return.int......*/.
3ac60 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 77 73 70 61 6e 28 29 ....public.function.getRowspan()
3ac80 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 .....{.........return.(int).$thi
3aca0 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 72 6f 77 73 70 61 6e 27 5d 3b 0a 20 20 20 20 7d 0a 7d 0a 3c s->options['rowspan'];.....}.}.<
3acc0 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 ?php../*..*.This.file.is.part.of
3ace0 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 .the.Symfony.package...*..*.(c).
3ad00 46 61 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 Fabien.Potencier.<fabien@symfony
3ad20 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 .com>..*..*.For.the.full.copyrig
3ad40 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 ht.and.license.information,.plea
3ad60 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 se.view.the.LICENSE..*.file.that
3ad80 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 .was.distributed.with.this.sourc
3ada0 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 e.code...*/..namespace.Symfony\C
3adc0 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 73 65 20 53 79 omponent\Console\Helper;..use.Sy
3ade0 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 65 mfony\Component\Console\Formatte
3ae00 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 54 68 65 20 46 r\OutputFormatter;../**..*.The.F
3ae20 6f 72 6d 61 74 74 65 72 20 63 6c 61 73 73 20 70 72 6f 76 69 64 65 73 20 68 65 6c 70 65 72 73 20 ormatter.class.provides.helpers.
3ae40 74 6f 20 66 6f 72 6d 61 74 20 6d 65 73 73 61 67 65 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f to.format.messages...*..*.@autho
3ae60 72 20 46 61 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 r.Fabien.Potencier.<fabien@symfo
3ae80 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 ny.com>..*/.class.FormatterHelpe
3aea0 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 r.extends.Helper.{...../**......
3aec0 2a 20 46 6f 72 6d 61 74 73 20 61 20 6d 65 73 73 61 67 65 20 77 69 74 68 69 6e 20 61 20 73 65 63 *.Formats.a.message.within.a.sec
3aee0 74 69 6f 6e 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 6e tion.......*......*.@param.strin
3af00 67 20 24 73 65 63 74 69 6f 6e 20 54 68 65 20 73 65 63 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 g.$section.The.section.name.....
3af20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 20 54 68 65 20 6d 65 .*.@param.string.$message.The.me
3af40 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 74 79 6c ssage......*.@param.string.$styl
3af60 65 20 20 20 54 68 65 20 73 74 79 6c 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 73 65 e...The.style.to.apply.to.the.se
3af80 63 74 69 6f 6e 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 72 69 ction......*......*.@return.stri
3afa0 6e 67 20 54 68 65 20 66 6f 72 6d 61 74 20 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 ng.The.format.section......*/...
3afc0 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 53 65 63 74 69 6f 6e 28 ..public.function.formatSection(
3afe0 24 73 65 63 74 69 6f 6e 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 73 74 79 6c 65 20 3d 20 27 69 6e $section,.$message,.$style.=.'in
3b000 66 6f 27 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 fo').....{.........return.sprint
3b020 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 20 24 73 f('<%s>[%s]</%s>.%s',.$style,.$s
3b040 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 20 20 20 20 7d ection,.$style,.$message);.....}
3b060 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 6d 65 73 73 61 ....../**......*.Formats.a.messa
3b080 67 65 20 61 73 20 61 20 62 6c 6f 63 6b 20 6f 66 20 74 65 78 74 2e 0a 20 20 20 20 20 2a 0a 20 20 ge.as.a.block.of.text.......*...
3b0a0 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 6d 65 73 73 61 67 ...*.@param.string|array.$messag
3b0c0 65 73 20 54 68 65 20 6d 65 73 73 61 67 65 20 74 6f 20 77 72 69 74 65 20 69 6e 20 74 68 65 20 62 es.The.message.to.write.in.the.b
3b0e0 6c 6f 63 6b 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 lock......*.@param.string.......
3b100 24 73 74 79 6c 65 20 20 20 20 54 68 65 20 73 74 79 6c 65 20 74 6f 20 61 70 70 6c 79 20 74 6f 20 $style....The.style.to.apply.to.
3b120 74 68 65 20 77 68 6f 6c 65 20 62 6c 6f 63 6b 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f the.whole.block......*.@param.bo
3b140 6f 6c 20 20 20 20 20 20 20 20 20 24 6c 61 72 67 65 20 20 20 20 57 68 65 74 68 65 72 20 74 6f 20 ol.........$large....Whether.to.
3b160 72 65 74 75 72 6e 20 61 20 6c 61 72 67 65 20 62 6c 6f 63 6b 0a 20 20 20 20 20 2a 0a 20 20 20 20 return.a.large.block......*.....
3b180 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 66 6f 72 6d 61 74 74 65 72 20 .*.@return.string.The.formatter.
3b1a0 6d 65 73 73 61 67 65 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 message......*/.....public.funct
3b1c0 69 6f 6e 20 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 73 74 79 6c ion.formatBlock($messages,.$styl
3b1e0 65 2c 20 24 6c 61 72 67 65 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 e,.$large.=.false).....{........
3b200 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 73 29 29 20 7b 0a 20 20 20 .if.(!is_array($messages)).{....
3b220 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 24 6d 65 73 73 .........$messages.=.array($mess
3b240 61 67 65 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6c 65 6e 20 3d ages);.........}..........$len.=
3b260 20 30 3b 0a 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 .0;.........$lines.=.array();...
3b280 20 20 20 20 20 20 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 ......foreach.($messages.as.$mes
3b2a0 73 61 67 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 4f sage).{.............$message.=.O
3b2c0 75 74 70 75 74 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 utputFormatter::escape($message)
3b2e0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 ;.............$lines[].=.sprintf
3b300 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 20 27 2c 20 24 6d 65 ($large.?.'..%s..'.:.'.%s.',.$me
3b320 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 20 3d 20 6d 61 78 28 24 ssage);.............$len.=.max($
3b340 74 68 69 73 2d 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 this->strlen($message).+.($large
3b360 20 3f 20 34 20 3a 20 32 29 2c 20 24 6c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 .?.4.:.2),.$len);.........}.....
3b380 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 20 3d 20 24 6c 61 72 67 65 20 3f 20 61 72 72 61 79 28 .....$messages.=.$large.?.array(
3b3a0 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 29 29 20 3a 20 61 72 72 61 79 28 29 str_repeat('.',.$len)).:.array()
3b3c0 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 69 73 73 65 74 28 24 6c 69 ;.........for.($i.=.0;.isset($li
3b3e0 6e 65 73 5b 24 69 5d 29 3b 20 2b 2b 24 69 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d nes[$i]);.++$i).{.............$m
3b400 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 6c 69 6e 65 73 5b 24 69 5d 2e 73 74 72 5f 72 65 70 65 61 essages[].=.$lines[$i].str_repea
3b420 74 28 27 20 27 2c 20 24 6c 65 6e 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6c 69 6e t('.',.$len.-.$this->strlen($lin
3b440 65 73 5b 24 69 5d 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 es[$i]));.........}.........if.(
3b460 24 6c 61 72 67 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 5b $large).{.............$messages[
3b480 5d 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 29 3b 0a 20 20 20 20 20 ].=.str_repeat('.',.$len);......
3b4a0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 69 73 73 65 74 ...}..........for.($i.=.0;.isset
3b4c0 28 24 6d 65 73 73 61 67 65 73 5b 24 69 5d 29 3b 20 2b 2b 24 69 29 20 7b 0a 20 20 20 20 20 20 20 ($messages[$i]);.++$i).{........
3b4e0 20 20 20 20 20 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 .....$messages[$i].=.sprintf('<%
3b500 73 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 s>%s</%s>',.$style,.$messages[$i
3b520 5d 2c 20 24 73 74 79 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 ],.$style);.........}..........r
3b540 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a eturn.implode("\n",.$messages);.
3b560 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 72 75 6e 63 61 74 65 73 20 ....}....../**......*.Truncates.
3b580 61 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 6c 65 6e 67 74 68 2e 0a 20 a.message.to.the.given.length...
3b5a0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 ....*......*.@param.string.$mess
3b5c0 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 24 6c 65 6e 67 74 68 age......*.@param.int....$length
3b5e0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 75 66 66 69 78 0a 20 20 ......*.@param.string.$suffix...
3b600 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 ...*......*.@return.string......
3b620 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 72 75 6e 63 61 74 65 28 */.....public.function.truncate(
3b640 24 6d 65 73 73 61 67 65 2c 20 24 6c 65 6e 67 74 68 2c 20 24 73 75 66 66 69 78 20 3d 20 27 2e 2e $message,.$length,.$suffix.=.'..
3b660 2e 27 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 70 75 74 65 64 4c 65 6e 67 74 .').....{.........$computedLengt
3b680 68 20 3d 20 24 6c 65 6e 67 74 68 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 73 75 66 h.=.$length.-.$this->strlen($suf
3b6a0 66 69 78 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6f 6d 70 75 74 65 64 4c 65 6e 67 fix);..........if.($computedLeng
3b6c0 74 68 20 3e 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 67 65 29 29 20 7b 0a th.>.$this->strlen($message)).{.
3b6e0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6d 65 73 73 61 67 65 3b 0a 20 20 20 ............return.$message;....
3b700 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 .....}..........if.(false.===.$e
3b720 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 6d 65 ncoding.=.mb_detect_encoding($me
3b740 73 73 61 67 65 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ssage,.null,.true)).{...........
3b760 20 20 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 6c 65 ..return.substr($message,.0,.$le
3b780 6e 67 74 68 29 2e 24 73 75 66 66 69 78 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ngth).$suffix;.........}........
3b7a0 20 20 72 65 74 75 72 6e 20 6d 62 5f 73 75 62 73 74 72 28 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 ..return.mb_substr($message,.0,.
3b7c0 24 6c 65 6e 67 74 68 2c 20 24 65 6e 63 6f 64 69 6e 67 29 2e 24 73 75 66 66 69 78 3b 0a 20 20 20 $length,.$encoding).$suffix;....
3b7e0 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d .}....../**......*.{@inheritdoc}
3b800 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 67 65 74 ......*/.....public.function.get
3b820 4e 61 6d 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 66 6f 72 Name().....{.........return.'for
3b840 6d 61 74 74 65 72 27 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 matter';.....}.}.<?php../*..*.Th
3b860 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 is.file.is.part.of.the.Symfony.p
3b880 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 ackage...*..*.(c).Fabien.Potenci
3b8a0 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f er.<fabien@symfony.com>..*..*.Fo
3b8c0 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
3b8e0 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 68 65 20 4c 49 .information,.please.view.the.LI
3b900 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 72 69 62 75 74 CENSE..*.file.that.was.distribut
3b920 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 2a 2f 0a 0a 6e ed.with.this.source.code...*/..n
3b940 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
3b960 6c 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 65 76 65 6e 74 73 20 le;../**..*.Contains.all.events.
3b980 64 69 73 70 61 74 63 68 65 64 20 62 79 20 61 6e 20 41 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 2a dispatched.by.an.Application...*
3b9a0 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 72 61 6e 63 65 73 63 6f 20 4c 65 76 6f 72 61 74 6f 20 3c ..*.@author.Francesco.Levorato.<
3b9c0 67 69 74 40 66 6c 65 76 6f 75 72 2e 6e 65 74 3e 0a 20 2a 2f 0a 66 69 6e 61 6c 20 63 6c 61 73 73 git@flevour.net>..*/.final.class
3b9e0 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 .ConsoleEvents.{...../**......*.
3ba00 54 68 65 20 43 4f 4d 4d 41 4e 44 20 65 76 65 6e 74 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 The.COMMAND.event.allows.you.to.
3ba20 61 74 74 61 63 68 20 6c 69 73 74 65 6e 65 72 73 20 62 65 66 6f 72 65 20 61 6e 79 20 63 6f 6d 6d attach.listeners.before.any.comm
3ba40 61 6e 64 20 69 73 0a 20 20 20 20 20 2a 20 65 78 65 63 75 74 65 64 20 62 79 20 74 68 65 20 63 6f and.is......*.executed.by.the.co
3ba60 6e 73 6f 6c 65 2e 20 49 74 20 61 6c 73 6f 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 6d 6f 64 nsole..It.also.allows.you.to.mod
3ba80 69 66 79 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2c 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70 75 ify.the.command,.input.and.outpu
3baa0 74 0a 20 20 20 20 20 2a 20 62 65 66 6f 72 65 20 74 68 65 79 20 61 72 65 20 68 61 6e 64 6c 65 64 t......*.before.they.are.handled
3bac0 20 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 .to.the.command.......*......*.@
3bae0 45 76 65 6e 74 28 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 Event("Symfony\Component\Console
3bb00 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 22 29 0a 20 20 20 \Event\ConsoleCommandEvent")....
3bb20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 ..*......*.@var.string......*/..
3bb40 20 20 20 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 6d 6d ...const.COMMAND.=.'console.comm
3bb60 61 6e 64 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 54 45 52 4d 49 4e and';....../**......*.The.TERMIN
3bb80 41 54 45 20 65 76 65 6e 74 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 61 74 74 61 63 68 20 6c ATE.event.allows.you.to.attach.l
3bba0 69 73 74 65 6e 65 72 73 20 61 66 74 65 72 20 61 20 63 6f 6d 6d 61 6e 64 20 69 73 0a 20 20 20 20 isteners.after.a.command.is.....
3bbc0 20 2a 20 65 78 65 63 75 74 65 64 20 62 79 20 74 68 65 20 63 6f 6e 73 6f 6c 65 2e 0a 20 20 20 20 .*.executed.by.the.console......
3bbe0 20 2a 0a 20 20 20 20 20 2a 20 40 45 76 65 6e 74 28 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e .*......*.@Event("Symfony\Compon
3bc00 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 5c 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 ent\Console\Event\ConsoleTermina
3bc20 74 65 45 76 65 6e 74 22 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 73 74 72 teEvent")......*......*.@var.str
3bc40 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 63 6f 6e 73 74 20 54 45 52 4d 49 4e 41 54 45 20 ing......*/.....const.TERMINATE.
3bc60 3d 20 27 63 6f 6e 73 6f 6c 65 2e 74 65 72 6d 69 6e 61 74 65 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a =.'console.terminate';....../**.
3bc80 20 20 20 20 20 2a 20 54 68 65 20 45 58 43 45 50 54 49 4f 4e 20 65 76 65 6e 74 20 6f 63 63 75 72 .....*.The.EXCEPTION.event.occur
3bca0 73 20 77 68 65 6e 20 61 6e 20 75 6e 63 61 75 67 68 74 20 65 78 63 65 70 74 69 6f 6e 20 61 70 70 s.when.an.uncaught.exception.app
3bcc0 65 61 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 65 76 65 6e 74 20 61 ears.......*......*.This.event.a
3bce0 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 74 68 65 20 65 78 63 65 70 llows.you.to.deal.with.the.excep
3bd00 74 69 6f 6e 20 6f 72 0a 20 20 20 20 20 2a 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 74 68 72 tion.or......*.to.modify.the.thr
3bd20 6f 77 6e 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 45 76 own.exception.......*......*.@Ev
3bd40 65 6e 74 28 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 45 ent("Symfony\Component\Console\E
3bd60 76 65 6e 74 5c 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 22 29 0a 20 20 20 vent\ConsoleExceptionEvent")....
3bd80 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 ..*......*.@var.string......*/..
3bda0 20 20 20 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 78 ...const.EXCEPTION.=.'console.ex
3bdc0 63 65 70 74 69 6f 6e 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 ception';.}.<?php../*..*.This.fi
3bde0 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 le.is.part.of.the.Symfony.packag
3be00 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 e...*..*.(c).Fabien.Potencier.<f
3be20 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 abien@symfony.com>..*..*.For.the
3be40 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 20 69 6e 66 6f .full.copyright.and.license.info
3be60 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 rmation,.please.view.the.LICENSE
3be80 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 ..*.file.that.was.distributed.wi
3bea0 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 th.this.source.code...*/..namesp
3bec0 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 45 78 ace.Symfony\Component\Console\Ex
3bee0 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 52 65 70 72 65 73 65 6e 74 73 20 61 6e 20 69 ception;../**..*.Represents.an.i
3bf00 6e 63 6f 72 72 65 63 74 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 74 79 70 65 64 20 69 6e 20 74 68 ncorrect.option.name.typed.in.th
3bf20 65 20 63 6f 6e 73 6f 6c 65 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a c3 a9 72 c3 b4 6d e.console...*..*.@author.J..r..m
3bf40 65 20 54 61 6d 61 72 65 6c 6c 65 20 3c 6a 65 72 6f 6d 65 40 74 61 6d 61 72 65 6c 6c 65 2e 6e 65 e.Tamarelle.<jerome@tamarelle.ne
3bf60 74 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 t>..*/.class.InvalidOptionExcept
3bf80 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 6e 74 45 78 63 65 ion.extends.\InvalidArgumentExce
3bfa0 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 49 6e 74 65 72 66 ption.implements.ExceptionInterf
3bfc0 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 ace.{.}.<?php../*..*.This.file.i
3bfe0 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 s.part.of.the.Symfony.package...
3c000 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 *..*.(c).Fabien.Potencier.<fabie
3c020 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c n@symfony.com>..*..*.For.the.ful
3c040 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 l.copyright.and.license.informat
3c060 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 ion,.please.view.the.LICENSE..*.
3c080 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 file.that.was.distributed.with.t
3c0a0 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 his.source.code...*/..namespace.
3c0c0 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
3c0e0 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a c3 a9 72 c3 b4 6d 65 20 54 61 ion;../**..*.@author.J..r..me.Ta
3c100 6d 61 72 65 6c 6c 65 20 3c 6a 65 72 6f 6d 65 40 74 61 6d 61 72 65 6c 6c 65 2e 6e 65 74 3e 0a 20 marelle.<jerome@tamarelle.net>..
3c120 2a 2f 0a 63 6c 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 */.class.RuntimeException.extend
3c140 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 20 45 s.\RuntimeException.implements.E
3c160 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 2f 2a 0a xceptionInterface.{.}.<?php../*.
3c180 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 .*.This.file.is.part.of.the.Symf
3c1a0 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f ony.package...*..*.(c).Fabien.Po
3c1c0 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 6f 6d 3e 0a 20 2a 0a tencier.<fabien@symfony.com>..*.
3c1e0 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
3c200 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
3c220 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
3c240 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...
3c260 2a 2f 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\
3c280 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 Console\Exception;../**..*.@auth
3c2a0 6f 72 20 4a c3 a9 72 c3 b4 6d 65 20 54 61 6d 61 72 65 6c 6c 65 20 3c 6a 65 72 6f 6d 65 40 74 61 or.J..r..me.Tamarelle.<jerome@ta
3c2c0 6d 61 72 65 6c 6c 65 2e 6e 65 74 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 4c 6f 67 69 63 45 78 63 65 marelle.net>..*/.class.LogicExce
3c2e0 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 69 6d ption.extends.\LogicException.im
3c300 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 7d 0a plements.ExceptionInterface.{.}.
3c320 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f <?php../*..*.This.file.is.part.o
3c340 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 f.the.Symfony.package...*..*.(c)
3c360 20 46 61 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 .Fabien.Potencier.<fabien@symfon
3c380 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 y.com>..*..*.For.the.full.copyri
3c3a0 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 ght.and.license.information,.ple
3c3c0 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 ase.view.the.LICENSE..*.file.tha
3c3e0 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 t.was.distributed.with.this.sour
3c400 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c ce.code...*/..namespace.Symfony\
3c420 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 2f 2a Component\Console\Exception;../*
3c440 2a 0a 20 2a 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 0a 20 2a 0a 20 2a 20 40 *..*.ExceptionInterface...*..*.@
3c460 61 75 74 68 6f 72 20 4a c3 a9 72 c3 b4 6d 65 20 54 61 6d 61 72 65 6c 6c 65 20 3c 6a 65 72 6f 6d author.J..r..me.Tamarelle.<jerom
3c480 65 40 74 61 6d 61 72 65 6c 6c 65 2e 6e 65 74 3e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 45 e@tamarelle.net>..*/.interface.E
3c4a0 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 2f 2a 0a xceptionInterface.{.}.<?php../*.
3c4c0 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 .*.This.file.is.part.of.the.Symf
3c4e0 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f ony.package...*..*.(c).Fabien.Po
3c500 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 6f 6d 3e 0a 20 2a 0a tencier.<fabien@symfony.com>..*.
3c520 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
3c540 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
3c560 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
3c580 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...
3c5a0 2a 2f 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\
3c5c0 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 Console\Exception;../**..*.@auth
3c5e0 6f 72 20 4a c3 a9 72 c3 b4 6d 65 20 54 61 6d 61 72 65 6c 6c 65 20 3c 6a 65 72 6f 6d 65 40 74 61 or.J..r..me.Tamarelle.<jerome@ta
3c600 6d 61 72 65 6c 6c 65 2e 6e 65 74 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 marelle.net>..*/.class.InvalidAr
3c620 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 61 6c 69 64 gumentException.extends.\Invalid
3c640 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 20 45 78 63 ArgumentException.implements.Exc
3c660 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 2f 2a 0a 20 2a eptionInterface.{.}.<?php../*..*
3c680 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e .This.file.is.part.of.the.Symfon
3c6a0 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 y.package...*..*.(c).Fabien.Pote
3c6c0 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a ncier.<fabien@symfony.com>..*..*
3c6e0 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 63 65 .For.the.full.copyright.and.lice
3c700 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 68 65 nse.information,.please.view.the
3c720 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 72 69 .LICENSE..*.file.that.was.distri
3c740 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 2a 2f buted.with.this.source.code...*/
3c760 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
3c780 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 52 65 70 72 65 73 65 nsole\Exception;../**..*.Represe
3c7a0 6e 74 73 20 61 6e 20 69 6e 63 6f 72 72 65 63 74 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 74 79 nts.an.incorrect.command.name.ty
3c7c0 70 65 64 20 69 6e 20 74 68 65 20 63 6f 6e 73 6f 6c 65 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f ped.in.the.console...*..*.@autho
3c7e0 72 20 4a c3 a9 72 c3 b4 6d 65 20 54 61 6d 61 72 65 6c 6c 65 20 3c 6a 65 72 6f 6d 65 40 74 61 6d r.J..r..me.Tamarelle.<jerome@tam
3c800 61 72 65 6c 6c 65 2e 6e 65 74 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 4e 6f 74 arelle.net>..*/.class.CommandNot
3c820 46 6f 75 6e 64 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 FoundException.extends.\InvalidA
3c840 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 20 45 78 63 65 rgumentException.implements.Exce
3c860 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 6c ptionInterface.{.....private.$al
3c880 74 65 72 6e 61 74 69 76 65 73 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 ternatives;....../**......*.@par
3c8a0 61 6d 20 73 74 72 69 6e 67 20 20 20 20 24 6d 65 73 73 61 67 65 20 20 20 20 20 20 45 78 63 65 70 am.string....$message......Excep
3c8c0 74 69 6f 6e 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 72 6f 77 0a 20 20 20 20 20 2a 20 40 70 61 tion.message.to.throw......*.@pa
3c8e0 72 61 6d 20 61 72 72 61 79 20 20 20 20 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 4c 69 73 74 ram.array.....$alternatives.List
3c900 20 6f 66 20 73 69 6d 69 6c 61 72 20 64 65 66 69 6e 65 64 20 6e 61 6d 65 73 0a 20 20 20 20 20 2a .of.similar.defined.names......*
3c920 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 20 20 20 24 63 6f 64 65 20 20 20 20 20 20 20 20 20 .@param.int.......$code.........
3c940 45 78 63 65 70 74 69 6f 6e 20 63 6f 64 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 45 78 63 Exception.code......*.@param.Exc
3c960 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 20 20 20 20 70 72 65 76 69 6f 75 73 20 65 78 eption.$previous.....previous.ex
3c980 63 65 70 74 69 6f 6e 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 20 63 ception.used.for.the.exception.c
3c9a0 68 61 69 6e 69 6e 67 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 haining......*/.....public.funct
3c9c0 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 20 61 72 72 61 79 20 ion.__construct($message,.array.
3c9e0 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 63 6f 64 65 20 3d $alternatives.=.array(),.$code.=
3ca00 20 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 .0,.\Exception.$previous.=.null)
3ca20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 .....{.........parent::__constru
3ca40 63 74 28 24 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 ct($message,.$code,.$previous);.
3ca60 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 24 .........$this->alternatives.=.$
3ca80 61 6c 74 65 72 6e 61 74 69 76 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 alternatives;.....}....../**....
3caa0 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 20 6c 69 73 74 20 6f 66 20 73 69 6d 69 ..*.@return.array.A.list.of.simi
3cac0 6c 61 72 20 64 65 66 69 6e 65 64 20 6e 61 6d 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 lar.defined.names......*/.....pu
3cae0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 74 65 72 6e 61 74 69 76 65 73 28 29 0a blic.function.getAlternatives().
3cb00 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 61 6c 74 65 ....{.........return.$this->alte
3cb20 72 6e 61 74 69 76 65 73 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 rnatives;.....}.}.<?php../*..*.T
3cb40 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 his.file.is.part.of.the.Symfony.
3cb60 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 package...*..*.(c).Fabien.Potenc
3cb80 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 ier.<fabien@symfony.com>..*..*.F
3cba0 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 63 65 6e 73 or.the.full.copyright.and.licens
3cbc0 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 68 65 20 4c e.information,.please.view.the.L
3cbe0 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 72 69 62 75 ICENSE..*.file.that.was.distribu
3cc00 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 2a 2f 0a 0a ted.with.this.source.code...*/..
3cc20 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
3cc40 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 6e ole\Input;..use.Symfony\Componen
3cc60 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
3cc80 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
3cca0 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
3ccc0 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 52 65 70 72 65 73 65 6e 74 73 20 61 20 63 6f 6d 6d 61 tion;../**..*.Represents.a.comma
3cce0 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 nd.line.option...*..*.@author.Fa
3cd00 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
3cd20 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 49 6e 70 75 74 4f 70 74 69 6f 6e 0a 7b 0a 20 20 20 20 om>..*/.class.InputOption.{.....
3cd40 63 6f 6e 73 74 20 56 41 4c 55 45 5f 4e 4f 4e 45 20 3d 20 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 const.VALUE_NONE.=.1;.....const.
3cd60 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 3d 20 32 3b 0a 20 20 20 20 63 6f 6e 73 74 20 56 41 VALUE_REQUIRED.=.2;.....const.VA
3cd80 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 3d 20 34 3b 0a 20 20 20 20 63 6f 6e 73 74 20 56 41 4c 55 LUE_OPTIONAL.=.4;.....const.VALU
3cda0 45 5f 49 53 5f 41 52 52 41 59 20 3d 20 38 3b 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6e 61 E_IS_ARRAY.=.8;......private.$na
3cdc0 6d 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 63 75 74 3b 0a 20 20 20 20 70 me;.....private.$shortcut;.....p
3cde0 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 66 61 75 rivate.$mode;.....private.$defau
3ce00 6c 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 20 lt;.....private.$description;...
3ce20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 .../**......*.Constructor.......
3ce40 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 6e 61 *......*.@param.string.......$na
3ce60 6d 65 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a me........The.option.name......*
3ce80 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 73 68 6f 72 74 63 75 74 20 20 .@param.string|array.$shortcut..
3cea0 20 20 54 68 65 20 73 68 6f 72 74 63 75 74 73 2c 20 63 61 6e 20 62 65 20 6e 75 6c 6c 2c 20 61 20 ..The.shortcuts,.can.be.null,.a.
3cec0 73 74 72 69 6e 67 20 6f 66 20 73 68 6f 72 74 63 75 74 73 20 64 65 6c 69 6d 69 74 65 64 20 62 79 string.of.shortcuts.delimited.by
3cee0 20 7c 20 6f 72 20 61 6e 20 61 72 72 61 79 20 6f 66 20 73 68 6f 72 74 63 75 74 73 0a 20 20 20 20 .|.or.an.array.of.shortcuts.....
3cf00 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 20 20 20 20 20 20 24 6d 6f 64 65 20 20 20 20 .*.@param.int..........$mode....
3cf20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 20 6d 6f 64 65 3a 20 4f 6e 65 20 6f 66 20 74 68 65 20 ....The.option.mode:.One.of.the.
3cf40 56 41 4c 55 45 5f 2a 20 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 VALUE_*.constants......*.@param.
3cf60 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 41 20 64 65 73 63 string.......$description.A.desc
3cf80 72 69 70 74 69 6f 6e 20 74 65 78 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 ription.text......*.@param.mixed
3cfa0 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 ........$default.....The.default
3cfc0 20 76 61 6c 75 65 20 28 6d 75 73 74 20 62 65 20 6e 75 6c 6c 20 66 6f 72 20 73 65 6c 66 3a 3a 56 .value.(must.be.null.for.self::V
3cfe0 41 4c 55 45 5f 4e 4f 4e 45 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 ALUE_NONE)......*......*.@throws
3d000 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 20 49 66 20 6f 70 74 .InvalidArgumentException.If.opt
3d020 69 6f 6e 20 6d 6f 64 65 20 69 73 20 69 6e 76 61 6c 69 64 20 6f 72 20 69 6e 63 6f 6d 70 61 74 69 ion.mode.is.invalid.or.incompati
3d040 62 6c 65 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 ble......*/.....public.function.
3d060 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 74 20 3d 20 6e __construct($name,.$shortcut.=.n
3d080 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 74 69 6f 6e 20 ull,.$mode.=.null,.$description.
3d0a0 3d 20 27 27 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 =.'',.$default.=.null).....{....
3d0c0 20 20 20 20 20 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 2d 2d .....if.(0.===.strpos($name,.'--
3d0e0 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 ')).{.............$name.=.substr
3d100 28 24 6e 61 6d 65 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 ($name,.2);.........}..........i
3d120 66 20 28 65 6d 70 74 79 28 24 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 f.(empty($name)).{.............t
3d140 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 6f hrow.new.InvalidArgumentExceptio
3d160 6e 28 27 41 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 63 61 6e 6e 6f 74 20 62 65 20 65 6d 70 74 n('An.option.name.cannot.be.empt
3d180 79 2e 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 65 6d 70 y.');.........}..........if.(emp
3d1a0 74 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 68 ty($shortcut)).{.............$sh
3d1c0 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ortcut.=.null;.........}........
3d1e0 20 20 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 0a 20 20 20 20 ..if.(null.!==.$shortcut).{.....
3d200 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 73 68 6f 72 74 63 75 74 29 29 ........if.(is_array($shortcut))
3d220 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 68 6f 72 74 63 75 74 20 3d 20 69 .{.................$shortcut.=.i
3d240 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 73 68 6f 72 74 63 75 74 29 3b 0a 20 20 20 20 20 20 20 20 mplode('|',.$shortcut);.........
3d260 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 68 6f 72 74 63 75 74 73 20 3d 20 70 ....}.............$shortcuts.=.p
3d280 72 65 67 5f 73 70 6c 69 74 28 27 7b 28 5c 7c 29 2d 3f 7d 27 2c 20 6c 74 72 69 6d 28 24 73 68 6f reg_split('{(\|)-?}',.ltrim($sho
3d2a0 72 74 63 75 74 2c 20 27 2d 27 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 68 6f 72 74 rtcut,.'-'));.............$short
3d2c0 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 63 75 74 73 29 3b cuts.=.array_filter($shortcuts);
3d2e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 68 6f 72 74 63 75 74 20 3d 20 69 6d 70 6c 6f 64 65 .............$shortcut.=.implode
3d300 28 27 7c 27 2c 20 24 73 68 6f 72 74 63 75 74 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ('|',.$shortcuts);..............
3d320 69 66 20 28 65 6d 70 74 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 if.(empty($shortcut)).{.........
3d340 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e ........throw.new.InvalidArgumen
3d360 74 45 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 tException('An.option.shortcut.c
3d380 61 6e 6e 6f 74 20 62 65 20 65 6d 70 74 79 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d annot.be.empty.');.............}
3d3a0 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 6c 6c 20 3d 3d 3d .........}..........if.(null.===
3d3c0 20 24 6d 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 6f 64 65 20 3d 20 73 65 .$mode).{.............$mode.=.se
3d3e0 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 lf::VALUE_NONE;.........}.elseif
3d400 20 28 21 69 73 5f 69 6e 74 28 24 6d 6f 64 65 29 20 7c 7c 20 24 6d 6f 64 65 20 3e 20 31 35 20 7c .(!is_int($mode).||.$mode.>.15.|
3d420 7c 20 24 6d 6f 64 65 20 3c 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 |.$mode.<.1).{.............throw
3d440 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 70 .new.InvalidArgumentException(sp
3d460 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 74 20 76 rintf('Option.mode."%s".is.not.v
3d480 61 6c 69 64 2e 27 2c 20 24 6d 6f 64 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 alid.',.$mode));.........}......
3d4a0 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 ....$this->name.=.$name;........
3d4c0 20 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 20 3d 20 24 73 68 6f 72 74 63 75 74 3b 0a 20 20 .$this->shortcut.=.$shortcut;...
3d4e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 65 3b 0a 20 20 20 20 20 ......$this->mode.=.$mode;......
3d500 20 20 20 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 ...$this->description.=.$descrip
3d520 74 69 6f 6e 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 tion;..........if.($this->isArra
3d540 79 28 29 20 26 26 20 21 24 74 68 69 73 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a y().&&.!$this->acceptValue()).{.
3d560 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 ............throw.new.InvalidArg
3d580 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 65 20 74 6f 20 68 61 umentException('Impossible.to.ha
3d5a0 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 53 5f 41 52 52 41 59 ve.an.option.mode.VALUE_IS_ARRAY
3d5c0 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 63 63 65 70 74 20 61 .if.the.option.does.not.accept.a
3d5e0 20 76 61 6c 75 65 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 .value.');.........}..........$t
3d600 68 69 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 29 3b 0a 20 20 20 20 7d his->setDefault($default);.....}
3d620 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6f 70 74 ....../**......*.Returns.the.opt
3d640 69 6f 6e 20 73 68 6f 72 74 63 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 ion.shortcut.......*......*.@ret
3d660 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 73 68 6f 72 74 63 75 74 0a 20 20 20 20 20 2a 2f 0a urn.string.The.shortcut......*/.
3d680 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 6f 72 74 63 75 74 28 ....public.function.getShortcut(
3d6a0 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 73 68 ).....{.........return.$this->sh
3d6c0 6f 72 74 63 75 74 3b 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 ortcut;.....}....../**......*.Re
3d6e0 74 75 72 6e 73 20 74 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 turns.the.option.name.......*...
3d700 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 6e 61 6d 65 0a 20 20 20 ...*.@return.string.The.name....
3d720 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 67 65 74 4e 61 6d 65 ..*/.....public.function.getName
3d740 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 6e ().....{.........return.$this->n
3d760 61 6d 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 52 65 74 75 72 ame;.....}....../**......*.Retur
3d780 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 61 63 63 65 70 74 73 20 61 20 ns.true.if.the.option.accepts.a.
3d7a0 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f value.......*......*.@return.boo
3d7c0 6c 20 74 72 75 65 20 69 66 20 76 61 6c 75 65 20 6d 6f 64 65 20 69 73 20 6e 6f 74 20 73 65 6c 66 l.true.if.value.mode.is.not.self
3d7e0 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 ::VALUE_NONE,.false.otherwise...
3d800 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 61 63 63 65 70 74 ...*/.....public.function.accept
3d820 56 61 6c 75 65 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 Value().....{.........return.$th
3d840 69 73 2d 3e 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 is->isValueRequired().||.$this->
3d860 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a isValueOptional();.....}....../*
3d880 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 6f 70 74 *......*.Returns.true.if.the.opt
3d8a0 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 ion.requires.a.value.......*....
3d8c0 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 76 61 6c 75 65 20 6d ..*.@return.bool.true.if.value.m
3d8e0 6f 64 65 20 69 73 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 66 61 6c ode.is.self::VALUE_REQUIRED,.fal
3d900 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 20 se.otherwise......*/.....public.
3d920 66 75 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 20 20 20 20 7b function.isValueRequired().....{
3d940 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 52 45 51 55 .........return.self::VALUE_REQU
3d960 49 52 45 44 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 26 IRED.===.(self::VALUE_REQUIRED.&
3d980 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 .$this->mode);.....}....../**...
3d9a0 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 ...*.Returns.true.if.the.option.
3d9c0 74 61 6b 65 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a takes.an.optional.value.......*.
3d9e0 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 76 61 6c 75 .....*.@return.bool.true.if.valu
3da00 65 20 6d 6f 64 65 20 69 73 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 2c 20 e.mode.is.self::VALUE_OPTIONAL,.
3da20 66 61 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 false.otherwise......*/.....publ
3da40 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 0a 20 20 ic.function.isValueOptional()...
3da60 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4f ..{.........return.self::VALUE_O
3da80 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 41 PTIONAL.===.(self::VALUE_OPTIONA
3daa0 4c 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a L.&.$this->mode);.....}....../**
3dac0 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 6f 70 74 69 ......*.Returns.true.if.the.opti
3dae0 6f 6e 20 63 61 6e 20 74 61 6b 65 20 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 2e 0a 20 20 20 on.can.take.multiple.values.....
3db00 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 ..*......*.@return.bool.true.if.
3db20 6d 6f 64 65 20 69 73 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 2c 20 66 61 mode.is.self::VALUE_IS_ARRAY,.fa
3db40 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
3db60 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 .function.isArray().....{.......
3db80 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 3d 3d ..return.self::VALUE_IS_ARRAY.==
3dba0 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 26 20 24 74 68 69 73 2d =.(self::VALUE_IS_ARRAY.&.$this-
3dbc0 3e 6d 6f 64 65 29 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 65 >mode);.....}....../**......*.Se
3dbe0 74 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 ts.the.default.value.......*....
3dc00 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 24 64 65 66 61 75 6c 74 20 54 68 65 20 64 65 ..*.@param.mixed.$default.The.de
3dc20 66 61 75 6c 74 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 fault.value......*......*.@throw
3dc40 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 69 6e 63 6f 72 72 65 63 74 20 s.LogicException.When.incorrect.
3dc60 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 67 69 76 65 6e 0a 20 20 20 20 20 2a 2f 0a 20 default.value.is.given......*/..
3dc80 20 20 20 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 74 28 24 64 ...public.function.setDefault($d
3dca0 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 efault.=.null).....{.........if.
3dcc0 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c (self::VALUE_NONE.===.(self::VAL
3dce0 55 45 5f 4e 4f 4e 45 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 6e 75 6c 6c 20 21 UE_NONE.&.$this->mode).&&.null.!
3dd00 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 ==.$default).{.............throw
3dd20 20 6e 65 77 20 4c 6f 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 .new.LogicException('Cannot.set.
3dd40 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 77 68 65 6e 20 75 73 69 6e 67 20 49 6e 70 75 74 a.default.value.when.using.Input
3dd60 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 6d 6f 64 65 2e 27 29 3b 0a 20 20 20 20 Option::VALUE_NONE.mode.');.....
3dd80 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 ....}..........if.($this->isArra
3dda0 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 y()).{.............if.(null.===.
3ddc0 24 64 65 66 61 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 66 $default).{.................$def
3dde0 61 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c ault.=.array();.............}.el
3de00 73 65 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 20 20 20 seif.(!is_array($default)).{....
3de20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 .............throw.new.LogicExce
3de40 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 61 6e 20 61 72 ption('A.default.value.for.an.ar
3de60 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 2e 27 29 3b 0a ray.option.must.be.an.array.');.
3de80 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 ............}.........}.........
3dea0 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 61 63 63 65 70 74 56 .$this->default.=.$this->acceptV
3dec0 61 6c 75 65 28 29 20 3f 20 24 64 65 66 61 75 6c 74 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d alue().?.$default.:.false;.....}
3dee0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 64 65 66 ....../**......*.Returns.the.def
3df00 61 75 6c 74 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 ault.value.......*......*.@retur
3df20 6e 20 6d 69 78 65 64 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 0a 20 20 20 20 20 2a n.mixed.The.default.value......*
3df40 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 /.....public.function.getDefault
3df60 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 64 ().....{.........return.$this->d
3df80 65 66 61 75 6c 74 3b 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 efault;.....}....../**......*.Re
3dfa0 74 75 72 6e 73 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 74 65 78 74 2e 0a 20 20 20 20 turns.the.description.text......
3dfc0 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 64 65 73 .*......*.@return.string.The.des
3dfe0 63 72 69 70 74 69 6f 6e 20 74 65 78 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 cription.text......*/.....public
3e000 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 20 20 20 20 7b .function.getDescription().....{
3e020 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 .........return.$this->descripti
3e040 6f 6e 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 68 65 63 6b 73 on;.....}....../**......*.Checks
3e060 20 77 68 65 74 68 65 72 20 74 68 65 20 67 69 76 65 6e 20 6f 70 74 69 6f 6e 20 65 71 75 61 6c 73 .whether.the.given.option.equals
3e080 20 74 68 69 73 20 6f 6e 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 .this.one.......*......*.@param.
3e0a0 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 20 74 6f 20 63 6f InputOption.$option.option.to.co
3e0c0 6d 70 61 72 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c mpare......*......*.@return.bool
3e0e0 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 65 71 75 ......*/.....public.function.equ
3e100 61 6c 73 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 als(InputOption.$option).....{..
3e120 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 .......return.$option->getName()
3e140 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 0a 20 20 20 20 20 20 20 20 20 20 .===.$this->getName()...........
3e160 20 20 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 3d 3d 3d 20 ..&&.$option->getShortcut().===.
3e180 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 $this->getShortcut()............
3e1a0 20 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3d 3d 3d 20 24 74 .&&.$option->getDefault().===.$t
3e1c0 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 26 26 his->getDefault().............&&
3e1e0 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 .$option->isArray().===.$this->i
3e200 73 41 72 72 61 79 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 24 6f 70 74 69 6f 6e 2d sArray().............&&.$option-
3e220 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
3e240 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 24 ValueRequired().............&&.$
3e260 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 3d 3d 3d 20 24 74 option->isValueOptional().===.$t
3e280 68 69 73 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 0a 20 20 20 20 20 20 20 20 3b his->isValueOptional().........;
3e2a0 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 .....}.}.<?php../*..*.This.file.
3e2c0 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a is.part.of.the.Symfony.package..
3e2e0 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 .*..*.(c).Fabien.Potencier.<fabi
3e300 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 en@symfony.com>..*..*.For.the.fu
3e320 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 ll.copyright.and.license.informa
3e340 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a tion,.please.view.the.LICENSE..*
3e360 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 .file.that.was.distributed.with.
3e380 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 this.source.code...*/..namespace
3e3a0 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
3e3c0 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
3e3e0 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
3e400 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
3e420 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;..
3e440 2f 2a 2a 0a 20 2a 20 49 6e 70 75 74 20 69 73 20 74 68 65 20 62 61 73 65 20 63 6c 61 73 73 20 66 /**..*.Input.is.the.base.class.f
3e460 6f 72 20 61 6c 6c 20 63 6f 6e 63 72 65 74 65 20 49 6e 70 75 74 20 63 6c 61 73 73 65 73 2e 0a 20 or.all.concrete.Input.classes...
3e480 2a 0a 20 2a 20 54 68 72 65 65 20 63 6f 6e 63 72 65 74 65 20 63 6c 61 73 73 65 73 20 61 72 65 20 *..*.Three.concrete.classes.are.
3e4a0 70 72 6f 76 69 64 65 64 20 62 79 20 64 65 66 61 75 6c 74 3a 0a 20 2a 0a 20 2a 20 20 2a 20 60 41 provided.by.default:..*..*..*.`A
3e4c0 72 67 76 49 6e 70 75 74 60 3a 20 54 68 65 20 69 6e 70 75 74 20 63 6f 6d 65 73 20 66 72 6f 6d 20 rgvInput`:.The.input.comes.from.
3e4e0 74 68 65 20 43 4c 49 20 61 72 67 75 6d 65 6e 74 73 20 28 61 72 67 76 29 0a 20 2a 20 20 2a 20 60 the.CLI.arguments.(argv)..*..*.`
3e500 53 74 72 69 6e 67 49 6e 70 75 74 60 3a 20 54 68 65 20 69 6e 70 75 74 20 69 73 20 70 72 6f 76 69 StringInput`:.The.input.is.provi
3e520 64 65 64 20 61 73 20 61 20 73 74 72 69 6e 67 0a 20 2a 20 20 2a 20 60 41 72 72 61 79 49 6e 70 75 ded.as.a.string..*..*.`ArrayInpu
3e540 74 60 3a 20 54 68 65 20 69 6e 70 75 74 20 69 73 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 6e 20 t`:.The.input.is.provided.as.an.
3e560 61 72 72 61 79 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e array..*..*.@author.Fabien.Poten
3e580 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 61 62 cier.<fabien@symfony.com>..*/.ab
3e5a0 73 74 72 61 63 74 20 63 6c 61 73 73 20 49 6e 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e stract.class.Input.implements.In
3e5c0 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 putInterface.{...../**......*.@v
3e5e0 61 72 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ar.InputDefinition......*/.....p
3e600 72 6f 74 65 63 74 65 64 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 20 20 20 20 70 72 6f 74 65 63 rotected.$definition;.....protec
3e620 74 65 64 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 6f 74 ted.$options.=.array();.....prot
3e640 65 63 74 65 64 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 ected.$arguments.=.array();.....
3e660 70 72 6f 74 65 63 74 65 64 20 24 69 6e 74 65 72 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 0a 0a protected.$interactive.=.true;..
3e680 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 ..../**......*.Constructor......
3e6a0 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e .*......*.@param.InputDefinition
3e6c0 7c 6e 75 6c 6c 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 41 20 49 6e 70 75 74 44 65 66 69 6e 69 74 |null.$definition.A.InputDefinit
3e6e0 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 ion.instance......*/.....public.
3e700 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 6e 70 75 74 44 65 66 69 6e 69 function.__construct(InputDefini
3e720 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 20 20 20 20 7b 0a 20 tion.$definition.=.null).....{..
3e740 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 .......if.(null.===.$definition)
3e760 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e .{.............$this->definition
3e780 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 20 20 20 20 20 20 .=.new.InputDefinition();.......
3e7a0 20 20 7d 20 65 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 62 69 ..}.else.{.............$this->bi
3e7c0 6e 64 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 nd($definition);.............$th
3e7e0 69 73 2d 3e 76 61 6c 69 64 61 74 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a is->validate();.........}.....}.
3e800 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 ...../**......*.{@inheritdoc}...
3e820 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 62 69 6e 64 28 49 ...*/.....public.function.bind(I
3e840 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 29 0a 20 20 20 20 nputDefinition.$definition).....
3e860 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 {.........$this->arguments.=.arr
3e880 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 ay();.........$this->options.=.a
3e8a0 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f rray();.........$this->definitio
3e8c0 6e 20 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d n.=.$definition;..........$this-
3e8e0 3e 70 61 72 73 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 >parse();.....}....../**......*.
3e900 50 72 6f 63 65 73 73 65 73 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 Processes.command.line.arguments
3e920 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 .......*/.....abstract.protected
3e940 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 .function.parse();....../**.....
3e960 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 .*.{@inheritdoc}......*/.....pub
3e980 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 29 0a 20 20 20 20 7b 0a 20 20 lic.function.validate().....{...
3e9a0 20 20 20 20 20 20 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 ......$definition.=.$this->defin
3e9c0 69 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 24 67 69 76 65 6e 41 72 67 75 6d 65 6e 74 73 20 3d ition;.........$givenArguments.=
3e9e0 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 20 20 20 20 20 20 20 20 24 6d 69 73 .$this->arguments;..........$mis
3ea00 73 69 6e 67 41 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 singArguments.=.array_filter(arr
3ea20 61 79 5f 6b 65 79 73 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 ay_keys($definition->getArgument
3ea40 73 28 29 29 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 72 67 75 6d 65 6e 74 29 20 75 73 65 20 28 s()),.function.($argument).use.(
3ea60 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 67 69 76 65 6e 41 72 67 75 6d 65 6e 74 73 29 20 7b 0a $definition,.$givenArguments).{.
3ea80 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 ............return.!array_key_ex
3eaa0 69 73 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 ists($argument,.$givenArguments)
3eac0 20 26 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 .&&.$definition->getArgument($ar
3eae0 67 75 6d 65 6e 74 29 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 3b 0a 20 20 20 20 20 20 20 20 7d gument)->isRequired();.........}
3eb00 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 6d 69 73 73 69 6e 67 41 72 );..........if.(count($missingAr
3eb20 67 75 6d 65 6e 74 73 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f guments).>.0).{.............thro
3eb40 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('
3eb60 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 3a 20 22 Not.enough.arguments.(missing:."
3eb80 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 67 41 72 %s").',.implode(',.',.$missingAr
3eba0 67 75 6d 65 6e 74 73 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 guments)));.........}.....}.....
3ebc0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a ./**......*.{@inheritdoc}......*
3ebe0 2f 0a 20 20 20 20 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
3ec00 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 20 24 74 68 69 73 ive().....{.........return.$this
3ec20 2d 3e 69 6e 74 65 72 61 63 74 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 ->interactive;.....}....../**...
3ec40 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ...*.{@inheritdoc}......*/.....p
3ec60 75 62 6c 69 63 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 ublic.function.setInteractive($i
3ec80 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d nteractive).....{.........$this-
3eca0 3e 69 6e 74 65 72 61 63 74 69 76 65 20 3d 20 28 62 6f 6f 6c 29 20 24 69 6e 74 65 72 61 63 74 69 >interactive.=.(bool).$interacti
3ecc0 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 7b 40 69 6e 68 65 ve;.....}....../**......*.{@inhe
3ece0 72 69 74 64 6f 63 7d 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 ritdoc}......*/.....public.funct
3ed00 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ion.getArguments().....{........
3ed20 20 72 65 74 75 72 6e 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 .return.array_merge($this->defin
3ed40 69 74 69 6f 6e 2d 3e 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 ition->getArgumentDefaults(),.$t
3ed60 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a his->arguments);.....}....../**.
3ed80 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 .....*.{@inheritdoc}......*/....
3eda0 20 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 28 24 6e 61 .public.function.getArgument($na
3edc0 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 me).....{.........if.(!$this->de
3ede0 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 20 7b 0a finition->hasArgument($name)).{.
3ee00 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 ............throw.new.InvalidArg
3ee20 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 25 73 22 umentException(sprintf('The."%s"
3ee40 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 2c 20 24 6e 61 6d .argument.does.not.exist.',.$nam
3ee60 65 29 29 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 20 69 e));.........}..........return.i
3ee80 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 6d 65 5d 29 20 3f 20 sset($this->arguments[$name]).?.
3eea0 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 20 24 74 68 69 73 2d $this->arguments[$name].:.$this-
3eec0 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 6e 61 6d 65 29 2d >definition->getArgument($name)-
3eee0 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 >getDefault();.....}....../**...
3ef00 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ...*.{@inheritdoc}......*/.....p
3ef20 75 62 6c 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 ublic.function.setArgument($name
3ef40 2c 20 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 ,.$value).....{.........if.(!$th
3ef60 69 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 is->definition->hasArgument($nam
3ef80 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 e)).{.............throw.new.Inva
3efa0 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
3efc0 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.'
3efe0 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 ,.$name));.........}..........$t
3f000 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 65 3b 0a his->arguments[$name].=.$value;.
3f020 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 ....}....../**......*.{@inheritd
3f040 6f 63 7d 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 oc}......*/.....public.function.
3f060 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 hasArgument($name).....{........
3f080 20 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 .return.$this->definition->hasAr
3f0a0 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 gument($name);.....}....../**...
3f0c0 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ...*.{@inheritdoc}......*/.....p
3f0e0 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 0a 20 20 20 20 ublic.function.getOptions().....
3f100 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 {.........return.array_merge($th
3f120 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 44 65 66 61 75 6c 74 is->definition->getOptionDefault
3f140 73 28 29 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 s(),.$this->options);.....}.....
3f160 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a ./**......*.{@inheritdoc}......*
3f180 2f 0a 20 20 20 20 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 /.....public.function.getOption(
3f1a0 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d $name).....{.........if.(!$this-
3f1c0 3e 64 65 66 69 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 >definition->hasOption($name)).{
3f1e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 .............throw.new.InvalidAr
3f200 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 25 73 gumentException(sprintf('The."%s
3f220 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 6e 61 6d 65 ".option.does.not.exist.',.$name
3f240 29 29 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 20 69 73 ));.........}..........return.is
3f260 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 24 74 68 set($this->options[$name]).?.$th
3f280 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3a 20 24 74 68 69 73 2d 3e 64 65 66 69 is->options[$name].:.$this->defi
3f2a0 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 2d 3e 67 65 74 44 65 66 nition->getOption($name)->getDef
3f2c0 61 75 6c 74 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 ault();.....}....../**......*.{@
3f2e0 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 inheritdoc}......*/.....public.f
3f300 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 61 6c 75 65 29 unction.setOption($name,.$value)
3f320 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e .....{.........if.(!$this->defin
3f340 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 20 20 20 20 20 ition->hasOption($name)).{......
3f360 20 20 20 20 20 20 20 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 .......throw.new.InvalidArgument
3f380 45 78 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 6f 70 74 69 Exception(sprintf('The."%s".opti
3f3a0 6f 6e 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 20 20 on.does.not.exist.',.$name));...
3f3c0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b ......}..........$this->options[
3f3e0 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a $name].=.$value;.....}....../**.
3f400 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 .....*.{@inheritdoc}......*/....
3f420 20 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 28 24 6e 61 6d 65 .public.function.hasOption($name
3f440 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 64 65 ).....{.........return.$this->de
3f460 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 20 20 20 20 finition->hasOption($name);.....
3f480 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 73 63 61 70 65 73 20 61 20 74 6f 6b 65 }....../**......*.Escapes.a.toke
3f4a0 6e 20 74 68 72 6f 75 67 68 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 20 69 66 20 69 74 20 63 n.through.escapeshellarg.if.it.c
3f4c0 6f 6e 74 61 69 6e 73 20 75 6e 73 61 66 65 20 63 68 61 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 ontains.unsafe.chars.......*....
3f4e0 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 6f 6b 65 6e 0a 20 20 20 20 20 2a 0a ..*.@param.string.$token......*.
3f500 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 .....*.@return.string......*/...
3f520 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 74 ..public.function.escapeToken($t
3f540 6f 6b 65 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 72 65 67 5f oken).....{.........return.preg_
3f560 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 6e 29 20 3f 20 24 74 match('{^[\w-]+$}',.$token).?.$t
3f580 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 6b 65 6e 29 3b 0a 20 oken.:.escapeshellarg($token);..
3f5a0 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 ...}.}.<?php../*..*.This.file.is
3f5c0 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a .part.of.the.Symfony.package...*
3f5e0 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e ..*.(c).Fabien.Potencier.<fabien
3f600 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c @symfony.com>..*..*.For.the.full
3f620 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 .copyright.and.license.informati
3f640 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 on,.please.view.the.LICENSE..*.f
3f660 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 ile.that.was.distributed.with.th
3f680 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 is.source.code...*/..namespace.S
3f6a0 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 3b 0a ymfony\Component\Console\Input;.
3f6c0 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
3f6e0 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
3f700 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
3f720 5c 45 78 63 65 70 74 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 \Exception\InvalidOptionExceptio
3f740 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 41 72 72 61 79 49 6e 70 75 74 20 72 65 70 72 65 73 65 6e 74 73 n;../**..*.ArrayInput.represents
3f760 20 61 6e 20 69 6e 70 75 74 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 6e 20 61 72 72 61 79 2e 0a .an.input.provided.as.an.array..
3f780 20 2a 0a 20 2a 20 55 73 61 67 65 3a 0a 20 2a 0a 20 2a 20 20 20 20 20 24 69 6e 70 75 74 20 3d 20 .*..*.Usage:..*..*.....$input.=.
3f7a0 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 61 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 27 new.ArrayInput(array('name'.=>.'
3f7c0 66 6f 6f 27 2c 20 27 2d 2d 62 61 72 27 20 3d 3e 20 27 66 6f 6f 62 61 72 27 29 29 3b 0a 20 2a 0a foo',.'--bar'.=>.'foobar'));..*.
3f7e0 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 .*.@author.Fabien.Potencier.<fab
3f800 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 41 72 72 61 79 ien@symfony.com>..*/.class.Array
3f820 49 6e 70 75 74 20 65 78 74 65 6e 64 73 20 49 6e 70 75 74 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 Input.extends.Input.{.....privat
3f840 65 20 24 70 61 72 61 6d 65 74 65 72 73 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 e.$parameters;....../**......*.C
3f860 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d onstructor.......*......*.@param
3f880 20 61 72 72 61 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 65 74 65 72 .array................$parameter
3f8a0 73 20 41 6e 20 61 72 72 61 79 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 2a 20 s.An.array.of.parameters......*.
3f8c0 40 70 61 72 61 6d 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 7c 6e 75 6c 6c 20 24 64 65 66 @param.InputDefinition|null.$def
3f8e0 69 6e 69 74 69 6f 6e 20 41 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 69 6e 73 74 61 6e inition.A.InputDefinition.instan
3f900 63 65 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 5f ce......*/.....public.function._
3f920 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 61 72 61 6d 65 74 65 72 73 2c 20 49 6e _construct(array.$parameters,.In
3f940 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 20 3d 20 6e 75 6c 6c putDefinition.$definition.=.null
3f960 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 ).....{.........$this->parameter
3f980 73 20 3d 20 24 70 61 72 61 6d 65 74 65 72 73 3b 0a 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 s.=.$parameters;..........parent
3f9a0 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 20 20 20 20 ::__construct($definition);.....
3f9c0 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a }....../**......*.{@inheritdoc}.
3f9e0 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 67 65 74 46 .....*/.....public.function.getF
3fa00 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 72 irstArgument().....{.........for
3fa20 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 65 79 20 each.($this->parameters.as.$key.
3fa40 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6b 65 =>.$value).{.............if.($ke
3fa60 79 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 6b 65 79 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 y.&&.'-'.===.$key[0]).{.........
3fa80 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ........continue;.............}.
3faa0 0a 20 20 20 20 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 .............return.$value;.....
3fac0 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 7b 40 69 6e ....}.....}....../**......*.{@in
3fae0 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e heritdoc}......*/.....public.fun
3fb00 63 74 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 ction.hasParameterOption($values
3fb20 2c 20 24 6f 6e 6c 79 50 61 72 61 6d 73 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 ,.$onlyParams.=.false).....{....
3fb40 20 20 20 20 20 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 .....$values.=.(array).$values;.
3fb60 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 .........foreach.($this->paramet
3fb80 65 72 73 20 61 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ers.as.$k.=>.$v).{.............i
3fba0 66 20 28 21 69 73 5f 69 6e 74 28 24 6b 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(!is_int($k)).{...............
3fbc0 20 20 24 76 20 3d 20 24 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ..$v.=.$k;.............}........
3fbe0 20 20 20 20 20 20 69 66 20 28 24 6f 6e 6c 79 50 61 72 61 6d 73 20 26 26 20 24 76 20 3d 3d 3d 20 ......if.($onlyParams.&&.$v.===.
3fc00 27 2d 2d 27 29 20 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 66 '--').{.................return.f
3fc20 61 6c 73 65 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 20 20 20 alse;.............}.............
3fc40 20 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 76 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 20 20 .if.(in_array($v,.$values)).{...
3fc60 20 20 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 ..............return.true;......
3fc80 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 72 65 74 75 .......}.........}..........retu
3fca0 72 6e 20 66 61 6c 73 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 rn.false;.....}....../**......*.
3fcc0 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 {@inheritdoc}......*/.....public
3fce0 20 66 75 6e 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 .function.getParameterOption($va
3fd00 6c 75 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 2c 20 24 6f 6e 6c 79 50 61 72 lues,.$default.=.false,.$onlyPar
3fd20 61 6d 73 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 76 61 6c 75 ams.=.false).....{.........$valu
3fd40 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 0a 20 20 20 20 20 20 20 20 66 es.=.(array).$values;..........f
3fd60 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 6b 20 oreach.($this->parameters.as.$k.
3fd80 3d 3e 20 24 76 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 6e 6c 79 50 61 =>.$v).{.............if.($onlyPa
3fda0 72 61 6d 73 20 26 26 20 28 24 6b 20 3d 3d 3d 20 27 2d 2d 27 20 7c 7c 20 28 69 73 5f 69 6e 74 28 rams.&&.($k.===.'--'.||.(is_int(
3fdc0 24 6b 29 20 26 26 20 24 76 20 3d 3d 3d 20 27 2d 2d 27 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 $k).&&.$v.===.'--'))).{.........
3fde0 20 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 ........return.false;...........
3fe00 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 69 6e 74 28 24 6b 29 29 ..}..............if.(is_int($k))
3fe20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 5f 61 72 72 61 79 28 .{.................if.(in_array(
3fe40 24 76 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $v,.$values)).{.................
3fe60 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 20 20 20 20 20 20 20 ....return.true;................
3fe80 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 .}.............}.elseif.(in_arra
3fea0 79 28 24 6b 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y($k,.$values)).{...............
3fec0 20 20 72 65 74 75 72 6e 20 24 76 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ..return.$v;.............}......
3fee0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 20 ...}..........return.$default;..
3ff00 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 61 20 73 ...}....../**......*.Returns.a.s
3ff20 74 72 69 6e 67 69 66 69 65 64 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 tringified.representation.of.the
3ff40 20 61 72 67 73 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 .args.passed.to.the.command.....
3ff60 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a ..*......*.@return.string......*
3ff80 2f 0a 20 20 20 20 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 /.....public.function.__toString
3ffa0 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 ().....{.........$params.=.array
3ffc0 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 ();.........foreach.($this->para
3ffe0 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 0a 20 20 20 20 meters.as.$param.=>.$val).{.....
40000 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 61 6d 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 70 ........if.($param.&&.'-'.===.$p
40020 61 72 61 6d 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 61 aram[0]).{.................$para
40040 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 3d 27 2e ms[].=.$param.(''.!=.$val.?.'='.
40060 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 29 3b 0a $this->escapeToken($val).:.'');.
40080 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 20 ............}.else.{............
400a0 20 20 20 20 20 24 70 61 72 61 6d 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 54 6f .....$params[].=.$this->escapeTo
400c0 6b 65 6e 28 24 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ken($val);.............}........
400e0 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 .}..........return.implode('.',.
40100 24 70 61 72 61 6d 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 $params);.....}....../**......*.
40120 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 {@inheritdoc}......*/.....protec
40140 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ted.function.parse().....{......
40160 20 20 20 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 ...foreach.($this->parameters.as
40180 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 .$key.=>.$value).{.............i
401a0 66 20 28 24 6b 65 79 20 3d 3d 3d 20 27 2d 2d 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.($key.===.'--').{.............
401c0 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ....return;.............}.......
401e0 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6b 65 79 2c 20 27 2d 2d ......if.(0.===.strpos($key,.'--
40200 27 29 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 61 64 64 ')).{.................$this->add
40220 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 76 61 6c LongOption(substr($key,.2),.$val
40240 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 27 2d 27 20 3d ue);.............}.elseif.('-'.=
40260 3d 3d 20 24 6b 65 79 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 ==.$key[0]).{.................$t
40280 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 72 28 24 6b 65 79 2c his->addShortOption(substr($key,
402a0 20 31 29 2c 20 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 .1),.$value);.............}.else
402c0 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 61 64 64 41 72 67 .{.................$this->addArg
402e0 75 6d 65 6e 74 28 24 6b 65 79 2c 20 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ument($key,.$value);............
40300 20 7d 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 .}.........}.....}....../**.....
40320 20 2a 20 41 64 64 73 20 61 20 73 68 6f 72 74 20 6f 70 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 .*.Adds.a.short.option.value....
40340 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 68 6f 72 74 ...*......*.@param.string.$short
40360 63 75 74 20 54 68 65 20 73 68 6f 72 74 20 6f 70 74 69 6f 6e 20 6b 65 79 0a 20 20 20 20 20 2a 20 cut.The.short.option.key......*.
40380 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 76 61 6c 75 65 20 20 20 20 54 68 65 20 76 61 6c 75 @param.mixed..$value....The.valu
403a0 65 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 e.for.the.option......*......*.@
403c0 74 68 72 6f 77 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 57 68 throws.InvalidOptionException.Wh
403e0 65 6e 20 6f 70 74 69 6f 6e 20 67 69 76 65 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 20 en.option.given.doesn't.exist...
40400 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 68 ...*/.....private.function.addSh
40420 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 29 0a 20 20 20 ortOption($shortcut,.$value)....
40440 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f .{.........if.(!$this->definitio
40460 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 20 20 20 n->hasShortcut($shortcut)).{....
40480 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e .........throw.new.InvalidOption
404a0 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 73 22 20 6f 70 74 Exception(sprintf('The."-%s".opt
404c0 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 72 74 63 75 74 29 ion.does.not.exist.',.$shortcut)
404e0 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 64 64 );.........}..........$this->add
40500 4c 6f 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 LongOption($this->definition->ge
40520 74 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 2d 3e 67 tOptionForShortcut($shortcut)->g
40540 65 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a etName(),.$value);.....}....../*
40560 2a 0a 20 20 20 20 20 2a 20 41 64 64 73 20 61 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 20 76 61 6c 75 *......*.Adds.a.long.option.valu
40580 65 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 6e 67 20 24 e.......*......*.@param.string.$
405a0 6e 61 6d 65 20 20 54 68 65 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 20 6b 65 79 0a 20 20 20 20 20 2a name..The.long.option.key......*
405c0 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 76 61 6c 75 65 20 54 68 65 20 76 61 6c 75 65 20 .@param.mixed..$value.The.value.
405e0 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 for.the.option......*......*.@th
40600 72 6f 77 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 57 68 65 6e rows.InvalidOptionException.When
40620 20 6f 70 74 69 6f 6e 20 67 69 76 65 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 20 20 20 .option.given.doesn't.exist.....
40640 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f .*.@throws.InvalidOptionExceptio
40660 6e 20 57 68 65 6e 20 61 20 72 65 71 75 69 72 65 64 20 76 61 6c 75 65 20 69 73 20 6d 69 73 73 69 n.When.a.required.value.is.missi
40680 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ng......*/.....private.function.
406a0 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 20 20 20 addLongOption($name,.$value)....
406c0 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f .{.........if.(!$this->definitio
406e0 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 n->hasOption($name)).{..........
40700 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 ...throw.new.InvalidOptionExcept
40720 69 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 ion(sprintf('The."--%s".option.d
40740 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 20 20 20 20 20 20 oes.not.exist.',.$name));.......
40760 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 ..}..........$option.=.$this->de
40780 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 0a 0a 20 20 20 finition->getOption($name);.....
407a0 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 .....if.(null.===.$value).{.....
407c0 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 ........if.($option->isValueRequ
407e0 69 72 65 64 28 29 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 ired()).{.................throw.
40800 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 6e new.InvalidOptionException(sprin
40820 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 61 tf('The."--%s".option.requires.a
40840 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d .value.',.$name));.............}
40860 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e ..............$value.=.$option->
40880 69 73 56 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 isValueOptional().?.$option->get
408a0 44 65 66 61 75 6c 74 28 29 20 3a 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 Default().:.true;.........}.....
408c0 20 20 20 20 20 24 74 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 .....$this->options[$name].=.$va
408e0 6c 75 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 41 64 64 73 20 lue;.....}....../**......*.Adds.
40900 61 6e 20 61 72 67 75 6d 65 6e 74 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a an.argument.value.......*......*
40920 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 20 54 68 65 20 61 72 67 75 6d 65 .@param.string.$name..The.argume
40940 6e 74 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 76 61 nt.name......*.@param.mixed..$va
40960 6c 75 65 20 54 68 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 61 72 67 75 6d 65 6e 74 0a 20 lue.The.value.for.the.argument..
40980 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 ....*......*.@throws.InvalidArgu
409a0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 61 72 67 75 6d 65 6e 74 20 67 69 76 65 mentException.When.argument.give
409c0 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 n.doesn't.exist......*/.....priv
409e0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 ate.function.addArgument($name,.
40a00 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 $value).....{.........if.(!$this
40a20 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 29 ->definition->hasArgument($name)
40a40 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 ).{.............throw.new.Invali
40a60 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 65 20 dArgumentException(sprintf('The.
40a80 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 2c 20 "%s".argument.does.not.exist.',.
40aa0 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 $name));.........}..........$thi
40ac0 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 65 3b 0a 20 20 s->arguments[$name].=.$value;...
40ae0 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 ..}.}.<?php../*..*.This.file.is.
40b00 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a part.of.the.Symfony.package...*.
40b20 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 .*.(c).Fabien.Potencier.<fabien@
40b40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 symfony.com>..*..*.For.the.full.
40b60 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f copyright.and.license.informatio
40b80 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 n,.please.view.the.LICENSE..*.fi
40ba0 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 le.that.was.distributed.with.thi
40bc0 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 s.source.code...*/..namespace.Sy
40be0 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 3b 0a 0a mfony\Component\Console\Input;..
40c00 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 78 use.Symfony\Component\Console\Ex
40c20 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 2f 2a 2a 0a 20 ception\RuntimeException;../**..
40c40 2a 20 41 72 67 76 49 6e 70 75 74 20 72 65 70 72 65 73 65 6e 74 73 20 61 6e 20 69 6e 70 75 74 20 *.ArgvInput.represents.an.input.
40c60 63 6f 6d 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 43 4c 49 20 61 72 67 75 6d 65 6e 74 73 2e 0a 20 coming.from.the.CLI.arguments...
40c80 2a 0a 20 2a 20 55 73 61 67 65 3a 0a 20 2a 0a 20 2a 20 20 20 20 20 24 69 6e 70 75 74 20 3d 20 6e *..*.Usage:..*..*.....$input.=.n
40ca0 65 77 20 41 72 67 76 49 6e 70 75 74 28 29 3b 0a 20 2a 0a 20 2a 20 42 79 20 64 65 66 61 75 6c 74 ew.ArgvInput();..*..*.By.default
40cc0 2c 20 74 68 65 20 60 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 60 20 61 72 72 61 79 20 69 ,.the.`$_SERVER['argv']`.array.i
40ce0 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 69 6e 70 75 74 20 76 61 6c 75 65 73 2e 0a 20 2a 0a s.used.for.the.input.values...*.
40d00 20 2a 20 54 68 69 73 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 62 79 20 65 78 70 .*.This.can.be.overridden.by.exp
40d20 6c 69 63 69 74 6c 79 20 70 61 73 73 69 6e 67 20 74 68 65 20 69 6e 70 75 74 20 76 61 6c 75 65 73 licitly.passing.the.input.values
40d40 20 69 6e 20 74 68 65 20 63 6f 6e 73 74 72 75 63 74 6f 72 3a 0a 20 2a 0a 20 2a 20 20 20 20 20 24 .in.the.constructor:..*..*.....$
40d60 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 67 76 49 6e 70 75 74 28 24 5f 53 45 52 56 45 52 5b 27 input.=.new.ArgvInput($_SERVER['
40d80 61 72 67 76 27 5d 29 3b 0a 20 2a 0a 20 2a 20 49 66 20 79 6f 75 20 70 61 73 73 20 69 74 20 79 6f argv']);..*..*.If.you.pass.it.yo
40da0 75 72 73 65 6c 66 2c 20 64 6f 6e 27 74 20 66 6f 72 67 65 74 20 74 68 61 74 20 74 68 65 20 66 69 urself,.don't.forget.that.the.fi
40dc0 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 61 72 72 61 79 0a 20 2a 20 69 73 20 74 rst.element.of.the.array..*.is.t
40de0 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 72 75 6e 6e 69 6e 67 20 61 70 70 6c 69 63 61 74 69 he.name.of.the.running.applicati
40e00 6f 6e 2e 0a 20 2a 0a 20 2a 20 57 68 65 6e 20 70 61 73 73 69 6e 67 20 61 6e 20 61 72 67 75 6d 65 on...*..*.When.passing.an.argume
40e20 6e 74 20 74 6f 20 74 68 65 20 63 6f 6e 73 74 72 75 63 74 6f 72 2c 20 62 65 20 73 75 72 65 20 74 nt.to.the.constructor,.be.sure.t
40e40 68 61 74 20 69 74 20 72 65 73 70 65 63 74 73 0a 20 2a 20 74 68 65 20 73 61 6d 65 20 72 75 6c 65 hat.it.respects..*.the.same.rule
40e60 73 20 61 73 20 74 68 65 20 61 72 67 76 20 6f 6e 65 2e 20 49 74 27 73 20 61 6c 6d 6f 73 74 20 61 s.as.the.argv.one..It's.almost.a
40e80 6c 77 61 79 73 20 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 74 68 65 0a 20 2a 20 60 53 74 72 69 lways.better.to.use.the..*.`Stri
40ea0 6e 67 49 6e 70 75 74 60 20 77 68 65 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 ngInput`.when.you.want.to.provid
40ec0 65 20 79 6f 75 72 20 6f 77 6e 20 69 6e 70 75 74 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 e.your.own.input...*..*.@author.
40ee0 46 61 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 Fabien.Potencier.<fabien@symfony
40f00 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 40 73 65 65 20 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e .com>..*..*.@see.http://www.gnu.
40f20 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 6c 69 62 63 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f org/software/libc/manual/html_no
40f40 64 65 2f 41 72 67 75 6d 65 6e 74 2d 53 79 6e 74 61 78 2e 68 74 6d 6c 0a 20 2a 20 40 73 65 65 20 de/Argument-Syntax.html..*.@see.
40f60 68 74 74 70 3a 2f 2f 77 77 77 2e 6f 70 65 6e 67 72 6f 75 70 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 70 http://www.opengroup.org/onlinep
40f80 75 62 73 2f 30 30 39 36 39 35 33 39 39 2f 62 61 73 65 64 65 66 73 2f 78 62 64 5f 63 68 61 70 31 ubs/009695399/basedefs/xbd_chap1
40fa0 32 2e 68 74 6d 6c 23 74 61 67 5f 31 32 5f 30 32 0a 20 2a 2f 0a 63 6c 61 73 73 20 41 72 67 76 49 2.html#tag_12_02..*/.class.ArgvI
40fc0 6e 70 75 74 20 65 78 74 65 6e 64 73 20 49 6e 70 75 74 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 nput.extends.Input.{.....private
40fe0 20 24 74 6f 6b 65 6e 73 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 61 72 73 65 64 3b 0a 0a .$tokens;.....private.$parsed;..
41000 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 ..../**......*.Constructor......
41020 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 7c 6e 75 6c 6c 20 20 20 20 20 .*......*.@param.array|null.....
41040 20 20 20 20 20 20 24 61 72 67 76 20 20 20 20 20 20 20 41 6e 20 61 72 72 61 79 20 6f 66 20 70 61 ......$argv.......An.array.of.pa
41060 72 61 6d 65 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 43 4c 49 20 28 69 6e 20 74 68 65 20 61 72 rameters.from.the.CLI.(in.the.ar
41080 67 76 20 66 6f 72 6d 61 74 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 44 65 gv.format)......*.@param.InputDe
410a0 66 69 6e 69 74 69 6f 6e 7c 6e 75 6c 6c 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 41 20 49 6e 70 75 finition|null.$definition.A.Inpu
410c0 74 44 65 66 69 6e 69 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 tDefinition.instance......*/....
410e0 20 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 72 .public.function.__construct(arr
41100 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 69 74 69 6f 6e ay.$argv.=.null,.InputDefinition
41120 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 .$definition.=.null).....{......
41140 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 72 67 76 29 20 7b 0a 20 20 20 20 20 20 20 ...if.(null.===.$argv).{........
41160 20 20 20 20 20 24 61 72 67 76 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 3b 0a 20 .....$argv.=.$_SERVER['argv'];..
41180 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 74 72 69 70 20 74 68 65 20 61 .......}..........//.strip.the.a
411a0 70 70 6c 69 63 61 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 5f 73 68 pplication.name.........array_sh
411c0 69 66 74 28 24 61 72 67 76 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 6f 6b 65 ift($argv);..........$this->toke
411e0 6e 73 20 3d 20 24 61 72 67 76 3b 0a 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 ns.=.$argv;..........parent::__c
41200 6f 6e 73 74 72 75 63 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 onstruct($definition);.....}....
41220 20 20 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 61 ..protected.function.setTokens(a
41240 72 72 61 79 20 24 74 6f 6b 65 6e 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 rray.$tokens).....{.........$thi
41260 73 2d 3e 74 6f 6b 65 6e 73 20 3d 20 24 74 6f 6b 65 6e 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 s->tokens.=.$tokens;.....}......
41280 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f /**......*.{@inheritdoc}......*/
412a0 0a 20 20 20 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 0a .....protected.function.parse().
412c0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 3d 20 74 72 ....{.........$parseOptions.=.tr
412e0 75 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 72 73 65 64 20 3d 20 24 74 68 69 ue;.........$this->parsed.=.$thi
41300 73 2d 3e 74 6f 6b 65 6e 73 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 6e 75 6c 6c 20 21 s->tokens;.........while.(null.!
41320 3d 3d 20 24 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 68 69 73 2d 3e 70 ==.$token.=.array_shift($this->p
41340 61 72 73 65 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 73 65 arsed)).{.............if.($parse
41360 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 20 20 20 20 20 Options.&&.''.==.$token).{......
41380 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 ...........$this->parseArgument(
413a0 24 74 6f 6b 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 $token);.............}.elseif.($
413c0 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 74 6f 6b 65 6e 29 20 parseOptions.&&.'--'.==.$token).
413e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 {.................$parseOptions.
41400 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 =.false;.............}.elseif.($
41420 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f parseOptions.&&.0.===.strpos($to
41440 6b 65 6e 2c 20 27 2d 2d 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 ken,.'--')).{.................$t
41460 68 69 73 2d 3e 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 20 20 his->parseLongOption($token);...
41480 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 70 61 72 73 65 4f 70 74 69 6f 6e ..........}.elseif.($parseOption
414a0 73 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 20 26 26 20 27 2d 27 20 21 3d s.&&.'-'.===.$token[0].&&.'-'.!=
414c0 3d 20 24 74 6f 6b 65 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 =.$token).{.................$thi
414e0 73 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 20 20 20 s->parseShortOption($token);....
41500 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 20 20 20 20 .........}.else.{...............
41520 20 20 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 29 3b 0a ..$this->parseArgument($token);.
41540 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 ............}.........}.....}...
41560 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 61 72 73 65 73 20 61 20 73 68 6f 72 74 20 6f 70 74 .../**......*.Parses.a.short.opt
41580 69 6f 6e 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 6e 67 ion.......*......*.@param.string
415a0 20 24 74 6f 6b 65 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 74 6f 6b 65 6e 0a 20 20 20 20 20 2a .$token.The.current.token......*
415c0 2f 0a 20 20 20 20 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 /.....private.function.parseShor
415e0 74 4f 70 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6e tOption($token).....{.........$n
41600 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 31 29 3b 0a 0a 20 20 20 20 20 20 ame.=.substr($token,.1);........
41620 20 20 69 66 20 28 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 20 3e 20 31 29 20 7b 0a 20 20 20 20 20 ..if.(strlen($name).>.1).{......
41640 20 20 20 20 20 20 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 61 .......if.($this->definition->ha
41660 73 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 30 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 sShortcut($name[0]).&&.$this->de
41680 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 finition->getOptionForShortcut($
416a0 6e 61 6d 65 5b 30 5d 29 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 20 20 20 20 20 name[0])->acceptValue()).{......
416c0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 20 6f 70 74 69 6f 6e 20 77 69 74 68 20 61 20 76 ...........//.an.option.with.a.v
416e0 61 6c 75 65 20 28 77 69 74 68 20 6e 6f 20 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 alue.(with.no.space)............
41700 20 20 20 20 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 6d 65 .....$this->addShortOption($name
41720 5b 30 5d 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 [0],.substr($name,.1));.........
41740 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 20 24 74 68 ....}.else.{.................$th
41760 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 61 6d 65 29 3b 0a is->parseShortOptionSet($name);.
41780 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ............}.........}.else.{..
417a0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e ...........$this->addShortOption
417c0 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a ($name,.null);.........}.....}..
417e0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 61 72 73 65 73 20 61 20 73 68 6f 72 74 20 6f 70 ..../**......*.Parses.a.short.op
41800 74 69 6f 6e 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 tion.set.......*......*.@param.s
41820 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 63 75 72 72 65 6e 74 20 74 6f 6b 65 6e 0a 20 20 tring.$name.The.current.token...
41840 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 ...*......*.@throws.RuntimeExcep
41860 74 69 6f 6e 20 57 68 65 6e 20 6f 70 74 69 6f 6e 20 67 69 76 65 6e 20 64 6f 65 73 6e 27 74 20 65 tion.When.option.given.doesn't.e
41880 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f xist......*/.....private.functio
418a0 6e 20 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 53 65 74 28 24 6e 61 6d 65 29 0a 20 20 20 n.parseShortOptionSet($name)....
418c0 20 7b 0a 20 20 20 20 20 20 20 20 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 3b .{.........$len.=.strlen($name);
418e0 0a 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 6c 65 6e 3b .........for.($i.=.0;.$i.<.$len;
41900 20 2b 2b 24 69 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d .++$i).{.............if.(!$this-
41920 3e 64 65 66 69 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 24 >definition->hasShortcut($name[$
41940 69 5d 29 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 i])).{.................throw.new
41960 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 22 .RuntimeException(sprintf('The."
41980 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 24 6e -%s".option.does.not.exist.',.$n
419a0 61 6d 65 5b 24 69 5d 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ame[$i]));.............}........
419c0 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f ......$option.=.$this->definitio
419e0 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 24 69 n->getOptionForShortcut($name[$i
41a00 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 ]);.............if.($option->acc
41a20 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 eptValue()).{.................$t
41a40 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 2d 3e 67 65 74 4e his->addLongOption($option->getN
41a60 61 6d 65 28 29 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 ame(),.$i.===.$len.-.1.?.null.:.
41a80 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 24 69 20 2b 20 31 29 29 3b 0a 0a 20 20 20 20 20 20 20 substr($name,.$i.+.1));.........
41aa0 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c .........break;.............}.el
41ac0 73 65 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 61 64 64 4c se.{.................$this->addL
41ae0 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 2c 20 6e 75 ongOption($option->getName(),.nu
41b00 6c 6c 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 7d 0a 20 20 20 ll);.............}.........}....
41b20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 61 72 73 65 73 20 61 20 6c 6f 6e 67 .}....../**......*.Parses.a.long
41b40 20 6f 70 74 69 6f 6e 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 .option.......*......*.@param.st
41b60 72 69 6e 67 20 24 74 6f 6b 65 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 74 6f 6b 65 6e 0a 20 20 ring.$token.The.current.token...
41b80 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 ...*/.....private.function.parse
41ba0 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 LongOption($token).....{........
41bc0 20 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 32 29 3b 0a 0a 20 20 20 .$name.=.substr($token,.2);.....
41be0 20 20 20 20 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 70 6f 73 .....if.(false.!==.$pos.=.strpos
41c00 28 24 6e 61 6d 65 2c 20 27 3d 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ($name,.'=')).{.............if.(
41c20 30 20 3d 3d 3d 20 73 74 72 6c 65 6e 28 24 76 61 6c 75 65 20 3d 20 73 75 62 73 74 72 28 24 6e 61 0.===.strlen($value.=.substr($na
41c40 6d 65 2c 20 24 70 6f 73 20 2b 20 31 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me,.$pos.+.1))).{...............
41c60 20 20 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 2c 20 6e ..array_unshift($this->parsed,.n
41c80 75 6c 6c 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 ull);.............}.............
41ca0 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 73 75 62 73 74 72 28 24 6e 61 6d $this->addLongOption(substr($nam
41cc0 65 2c 20 30 2c 20 24 70 6f 73 29 2c 20 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 e,.0,.$pos),.$value);.........}.
41ce0 65 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 61 64 64 4c 6f 6e else.{.............$this->addLon
41d00 67 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a gOption($name,.null);.........}.
41d20 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 61 72 73 65 73 20 61 6e 20 ....}....../**......*.Parses.an.
41d40 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 argument.......*......*.@param.s
41d60 74 72 69 6e 67 20 24 74 6f 6b 65 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 74 6f 6b 65 6e 0a 20 tring.$token.The.current.token..
41d80 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 52 75 6e 74 69 6d 65 45 78 63 65 ....*......*.@throws.RuntimeExce
41da0 70 74 69 6f 6e 20 57 68 65 6e 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 20 61 72 ption.When.too.many.arguments.ar
41dc0 65 20 67 69 76 65 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 e.given......*/.....private.func
41de0 74 69 6f 6e 20 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 74 6f 6b 65 6e 29 0a 20 20 20 20 7b tion.parseArgument($token).....{
41e00 0a 20 20 20 20 20 20 20 20 24 63 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d .........$c.=.count($this->argum
41e20 65 6e 74 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 69 6e 70 75 74 20 69 73 20 65 ents);..........//.if.input.is.e
41e40 78 70 65 63 74 69 6e 67 20 61 6e 6f 74 68 65 72 20 61 72 67 75 6d 65 6e 74 2c 20 61 64 64 20 69 xpecting.another.argument,.add.i
41e60 74 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d t.........if.($this->definition-
41e80 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 63 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 >hasArgument($c)).{.............
41ea0 24 61 72 67 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 $arg.=.$this->definition->getArg
41ec0 75 6d 65 6e 74 28 24 63 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 72 ument($c);.............$this->ar
41ee0 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 20 24 61 72 67 2d guments[$arg->getName()].=.$arg-
41f00 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 20 3a 20 24 74 6f >isArray().?.array($token).:.$to
41f20 6b 65 6e 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 6c 61 73 74 20 61 72 67 75 6d 65 6e ken;..........//.if.last.argumen
41f40 74 20 69 73 41 72 72 61 79 28 29 2c 20 61 70 70 65 6e 64 20 74 6f 6b 65 6e 20 74 6f 20 6c 61 73 t.isArray(),.append.token.to.las
41f60 74 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 t.argument.........}.elseif.($th
41f80 69 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 63 20 2d is->definition->hasArgument($c.-
41fa0 20 31 29 20 26 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 .1).&&.$this->definition->getArg
41fc0 75 6d 65 6e 74 28 24 63 20 2d 20 31 29 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 20 20 20 20 ument($c.-.1)->isArray()).{.....
41fe0 20 20 20 20 20 20 20 20 24 61 72 67 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e ........$arg.=.$this->definition
42000 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 63 20 2d 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 ->getArgument($c.-.1);..........
42020 20 20 20 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 4e 61 6d ...$this->arguments[$arg->getNam
42040 65 28 29 5d 5b 5d 20 3d 20 24 74 6f 6b 65 6e 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 75 6e 65 e()][].=.$token;..........//.une
42060 78 70 65 63 74 65 64 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 xpected.argument.........}.else.
42080 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 {.............$all.=.$this->defi
420a0 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 20 20 20 20 20 20 20 20 nition->getArguments();.........
420c0 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 61 6c 6c 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ....if.(count($all)).{..........
420e0 20 20 20 20 20 20 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 .......throw.new.RuntimeExceptio
42100 6e 28 73 70 72 69 6e 74 66 28 27 54 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 n(sprintf('Too.many.arguments,.e
42120 78 70 65 63 74 65 64 20 61 72 67 75 6d 65 6e 74 73 20 22 25 73 22 2e 27 2c 20 69 6d 70 6c 6f 64 xpected.arguments."%s".',.implod
42140 65 28 27 22 20 22 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 61 6c 6c 29 29 29 29 3b 0a 20 20 e('"."',.array_keys($all))));...
42160 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e ..........}..............throw.n
42180 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 4e 6f 20 ew.RuntimeException(sprintf('No.
421a0 61 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 arguments.expected,.got."%s".',.
421c0 24 74 6f 6b 65 6e 29 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 $token));.........}.....}....../
421e0 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 73 20 61 20 73 68 6f 72 74 20 6f 70 74 69 6f 6e 20 76 61 **......*.Adds.a.short.option.va
42200 6c 75 65 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 6e 67 lue.......*......*.@param.string
42220 20 24 73 68 6f 72 74 63 75 74 20 54 68 65 20 73 68 6f 72 74 20 6f 70 74 69 6f 6e 20 6b 65 79 0a .$shortcut.The.short.option.key.
42240 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 76 61 6c 75 65 20 20 20 20 54 .....*.@param.mixed..$value....T
42260 68 65 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 he.value.for.the.option......*..
42280 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 57 ....*.@throws.RuntimeException.W
422a0 68 65 6e 20 6f 70 74 69 6f 6e 20 67 69 76 65 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 hen.option.given.doesn't.exist..
422c0 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 ....*/.....private.function.addS
422e0 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 29 0a 20 20 hortOption($shortcut,.$value)...
42300 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 ..{.........if.(!$this->definiti
42320 6f 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 20 20 on->hasShortcut($shortcut)).{...
42340 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 ..........throw.new.RuntimeExcep
42360 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 64 tion(sprintf('The."-%s".option.d
42380 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 20 20 oes.not.exist.',.$shortcut));...
423a0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f ......}..........$this->addLongO
423c0 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 74 69 ption($this->definition->getOpti
423e0 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 61 6d onForShortcut($shortcut)->getNam
42400 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 e(),.$value);.....}....../**....
42420 20 20 2a 20 41 64 64 73 20 61 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 ..*.Adds.a.long.option.value....
42440 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 ...*......*.@param.string.$name.
42460 20 54 68 65 20 6c 6f 6e 67 20 6f 70 74 69 6f 6e 20 6b 65 79 0a 20 20 20 20 20 2a 20 40 70 61 72 .The.long.option.key......*.@par
42480 61 6d 20 6d 69 78 65 64 20 20 24 76 61 6c 75 65 20 54 68 65 20 76 61 6c 75 65 20 66 6f 72 20 74 am.mixed..$value.The.value.for.t
424a0 68 65 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 he.option......*......*.@throws.
424c0 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 6f 70 74 69 6f 6e 20 67 69 76 RuntimeException.When.option.giv
424e0 65 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 en.doesn't.exist......*/.....pri
42500 76 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 vate.function.addLongOption($nam
42520 65 2c 20 24 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 e,.$value).....{.........if.(!$t
42540 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 his->definition->hasOption($name
42560 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 )).{.............throw.new.Runti
42580 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 22 2d 2d 25 73 22 20 meException(sprintf('The."--%s".
425a0 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 6e 61 6d 65 29 29 option.does.not.exist.',.$name))
425c0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 20 3d 20 24 ;.........}..........$option.=.$
425e0 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 28 24 6e 61 6d this->definition->getOption($nam
42600 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6e 76 65 72 74 20 65 6d 70 74 79 20 76 61 e);..........//.Convert.empty.va
42620 6c 75 65 73 20 74 6f 20 6e 75 6c 6c 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 lues.to.null.........if.(!isset(
42640 24 76 61 6c 75 65 5b 30 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 $value[0])).{.............$value
42660 20 3d 20 6e 75 6c 6c 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 .=.null;.........}..........if.(
42680 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 20 26 26 20 21 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 null.!==.$value.&&.!$option->acc
426a0 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 eptValue()).{.............throw.
426c0 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
426e0 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 20 e."--%s".option.does.not.accept.
42700 61 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 a.value.',.$name));.........}...
42720 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 20 26 26 20 24 6f .......if.(null.===.$value.&&.$o
42740 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 26 26 20 63 6f 75 6e 74 28 24 74 ption->acceptValue().&&.count($t
42760 68 69 73 2d 3e 70 61 72 73 65 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 his->parsed)).{.............//.i
42780 66 20 6f 70 74 69 6f 6e 20 61 63 63 65 70 74 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6f 72 20 f.option.accepts.an.optional.or.
427a0 6d 61 6e 64 61 74 6f 72 79 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f mandatory.argument............./
427c0 2f 20 6c 65 74 27 73 20 73 65 65 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 20 70 72 6f 76 /.let's.see.if.there.is.one.prov
427e0 69 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 65 78 74 20 3d 20 61 72 72 61 79 5f 73 ided.............$next.=.array_s
42800 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 hift($this->parsed);............
42820 20 69 66 20 28 69 73 73 65 74 28 24 6e 65 78 74 5b 30 5d 29 20 26 26 20 27 2d 27 20 21 3d 3d 20 .if.(isset($next[0]).&&.'-'.!==.
42840 24 6e 65 78 74 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c $next[0]).{.................$val
42860 75 65 20 3d 20 24 6e 65 78 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 ue.=.$next;.............}.elseif
42880 20 28 65 6d 70 74 79 28 24 6e 65 78 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(empty($next)).{...............
428a0 20 20 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 ..$value.=.null;.............}.e
428c0 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 5f 75 6e 73 68 lse.{.................array_unsh
428e0 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 20 20 20 20 20 ift($this->parsed,.$next);......
42900 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 69 66 20 28 .......}.........}..........if.(
42920 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 null.===.$value).{.............i
42940 66 20 28 24 6f 70 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 f.($option->isValueRequired()).{
42960 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 52 75 6e 74 69 .................throw.new.Runti
42980 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 22 2d 2d 25 73 22 20 meException(sprintf('The."--%s".
429a0 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 option.requires.a.value.',.$name
429c0 29 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 20 20 20 20 69 ));.............}..............i
429e0 66 20 28 21 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 20 20 20 20 20 20 f.(!$option->isArray()).{.......
42a00 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 ..........$value.=.$option->isVa
42a20 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 61 lueOptional().?.$option->getDefa
42a40 75 6c 74 28 29 20 3a 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ult().:.true;.............}.....
42a60 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 ....}..........if.($option->isAr
42a80 72 61 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 70 74 69 ray()).{.............$this->opti
42aa0 6f 6e 73 5b 24 6e 61 6d 65 5d 5b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 7d ons[$name][].=.$value;.........}
42ac0 20 65 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 6f 70 74 69 6f .else.{.............$this->optio
42ae0 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ns[$name].=.$value;.........}...
42b00 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 ..}....../**......*.{@inheritdoc
42b20 7d 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 67 65 }......*/.....public.function.ge
42b40 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 66 tFirstArgument().....{.........f
42b60 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 24 74 6f 6b 65 6e 29 oreach.($this->tokens.as.$token)
42b80 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 27 2d 27 .{.............if.($token.&&.'-'
42ba0 20 3d 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .===.$token[0]).{...............
42bc0 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ..continue;.............}.......
42be0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a .......return.$token;.........}.
42c00 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 ....}....../**......*.{@inheritd
42c20 6f 63 7d 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 oc}......*/.....public.function.
42c40 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 2c 20 24 6f 6e 6c hasParameterOption($values,.$onl
42c60 79 50 61 72 61 6d 73 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 yParams.=.false).....{.........$
42c80 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 20 20 20 20 20 values.=.(array).$values;.......
42ca0 20 20 20 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 24 74 6f ...foreach.($this->tokens.as.$to
42cc0 6b 65 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 6e 6c 79 50 61 72 61 ken).{.............if.($onlyPara
42ce0 6d 73 20 26 26 20 24 74 6f 6b 65 6e 20 3d 3d 3d 20 27 2d 2d 27 29 20 7b 0a 20 20 20 20 20 20 20 ms.&&.$token.===.'--').{........
42d00 20 20 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 .........return.false;..........
42d20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 ...}.............foreach.($value
42d40 73 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 s.as.$value).{.................i
42d60 66 20 28 24 74 6f 6b 65 6e 20 3d 3d 3d 20 24 76 61 6c 75 65 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 f.($token.===.$value.||.0.===.st
42d80 72 70 6f 73 28 24 74 6f 6b 65 6e 2c 20 24 76 61 6c 75 65 2e 27 3d 27 29 29 20 7b 0a 20 20 20 20 rpos($token,.$value.'=')).{.....
42da0 20 20 20 20 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 ................return.true;....
42dc0 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 20 20 20 .............}.............}....
42de0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 .....}..........return.false;...
42e00 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 ..}....../**......*.{@inheritdoc
42e20 7d 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 67 65 }......*/.....public.function.ge
42e40 74 50 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 tParameterOption($values,.$defau
42e60 6c 74 20 3d 20 66 61 6c 73 65 2c 20 24 6f 6e 6c 79 50 61 72 61 6d 73 20 3d 20 66 61 6c 73 65 29 lt.=.false,.$onlyParams.=.false)
42e80 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 .....{.........$values.=.(array)
42ea0 20 24 76 61 6c 75 65 73 3b 0a 20 20 20 20 20 20 20 20 24 74 6f 6b 65 6e 73 20 3d 20 24 74 68 69 .$values;.........$tokens.=.$thi
42ec0 73 2d 3e 74 6f 6b 65 6e 73 3b 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 30 20 3c 20 63 s->tokens;..........while.(0.<.c
42ee0 6f 75 6e 74 28 24 74 6f 6b 65 6e 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 6f ount($tokens)).{.............$to
42f00 6b 65 6e 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 6f 6b 65 6e 73 29 3b 0a 20 20 20 20 ken.=.array_shift($tokens);.....
42f20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 6e 6c 79 50 61 72 61 6d 73 20 26 26 20 24 74 6f 6b 65 ........if.($onlyParams.&&.$toke
42f40 6e 20 3d 3d 3d 20 27 2d 2d 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 n.===.'--').{.................re
42f60 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 turn.false;.............}.......
42f80 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 76 61 6c 75 .......foreach.($values.as.$valu
42fa0 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 6f 6b 65 6e 20 e).{.................if.($token.
42fc0 3d 3d 3d 20 24 76 61 6c 75 65 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 6b 65 ===.$value.||.0.===.strpos($toke
42fe0 6e 2c 20 24 76 61 6c 75 65 2e 27 3d 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n,.$value.'=')).{...............
43000 20 20 20 20 20 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 70 6f ......if.(false.!==.$pos.=.strpo
43020 73 28 24 74 6f 6b 65 6e 2c 20 27 3d 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s($token,.'=')).{...............
43040 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 ..........return.substr($token,.
43060 24 70 6f 73 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 7d $pos.+.1);.....................}
43080 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 ......................return.arr
430a0 61 79 5f 73 68 69 66 74 28 24 74 6f 6b 65 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ay_shift($tokens);..............
430c0 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 0a 0a 20 20 ...}.............}.........}....
430e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 ......return.$default;.....}....
43100 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 61 20 73 74 72 69 6e 67 69 66 69 ../**......*.Returns.a.stringifi
43120 65 64 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 72 67 73 20 70 61 ed.representation.of.the.args.pa
43140 73 73 65 64 20 74 6f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 ssed.to.the.command.......*.....
43160 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 .*.@return.string......*/.....pu
43180 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 20 20 20 20 7b blic.function.__toString().....{
431a0 0a 20 20 20 20 20 20 20 20 24 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e .........$tokens.=.array_map(fun
431c0 63 74 69 6f 6e 20 28 24 74 6f 6b 65 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 ction.($token).{.............if.
431e0 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2d 5b 5e 3d 5d 2b 3d 29 28 2e 2b 29 7d 27 2c 20 (preg_match('{^(-[^=]+=)(.+)}',.
43200 24 74 6f 6b 65 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 $token,.$match)).{..............
43220 20 20 20 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 2e 24 74 68 69 73 2d 3e 65 73 63 61 70 ...return.$match[1].$this->escap
43240 65 54 6f 6b 65 6e 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d eToken($match[2]);.............}
43260 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 24 74 6f 6b ..............if.($token.&&.$tok
43280 65 6e 5b 30 5d 20 21 3d 3d 20 27 2d 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 en[0].!==.'-').{................
432a0 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 74 6f 6b 65 .return.$this->escapeToken($toke
432c0 6e 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 20 20 20 20 72 n);.............}..............r
432e0 65 74 75 72 6e 20 24 74 6f 6b 65 6e 3b 0a 20 20 20 20 20 20 20 20 7d 2c 20 24 74 68 69 73 2d 3e eturn.$token;.........},.$this->
43300 74 6f 6b 65 6e 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 tokens);..........return.implode
43320 28 27 20 27 2c 20 24 74 6f 6b 65 6e 73 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f ('.',.$tokens);.....}.}.<?php../
43340 2a 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 74 68 65 20 53 79 *..*.This.file.is.part.of.the.Sy
43360 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 mfony.package...*..*.(c).Fabien.
43380 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 6f 6d 3e 0a 20 Potencier.<fabien@symfony.com>..
433a0 2a 0a 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 *..*.For.the.full.copyright.and.
433c0 6c 69 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 license.information,.please.view
433e0 20 74 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 .the.LICENSE..*.file.that.was.di
43400 73 74 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 stributed.with.this.source.code.
43420 0a 20 2a 2f 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
43440 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 79 5c 43 6f t\Console\Input;..use.Symfony\Co
43460 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
43480 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 79 5c dArgumentException;.use.Symfony\
434a0 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 74 Component\Console\Exception\Runt
434c0 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 49 6e 70 75 74 49 6e 74 65 72 imeException;../**..*.InputInter
434e0 66 61 63 65 20 69 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 69 6d 70 6c 65 6d 65 6e 74 65 face.is.the.interface.implemente
43500 64 20 62 79 20 61 6c 6c 20 69 6e 70 75 74 20 63 6c 61 73 73 65 73 2e 0a 20 2a 0a 20 2a 20 40 61 d.by.all.input.classes...*..*.@a
43520 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 uthor.Fabien.Potencier.<fabien@s
43540 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 70 75 74 49 ymfony.com>..*/.interface.InputI
43560 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e nterface.{...../**......*.Return
43580 73 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 66 72 6f 6d 20 74 68 65 20 72 61 s.the.first.argument.from.the.ra
435a0 77 20 70 61 72 61 6d 65 74 65 72 73 20 28 6e 6f 74 20 70 61 72 73 65 64 29 2e 0a 20 20 20 20 20 w.parameters.(not.parsed).......
435c0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 76 61 6c 75 *......*.@return.string.The.valu
435e0 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 72 20 6e 75 6c 6c 20 e.of.the.first.argument.or.null.
43600 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 20 66 75 6e otherwise......*/.....public.fun
43620 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 20 20 20 20 2f ction.getFirstArgument();....../
43640 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 72 61 **......*.Returns.true.if.the.ra
43660 77 20 70 61 72 61 6d 65 74 65 72 73 20 28 6e 6f 74 20 70 61 72 73 65 64 29 20 63 6f 6e 74 61 69 w.parameters.(not.parsed).contai
43680 6e 20 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 n.a.value.......*......*.This.me
436a0 74 68 6f 64 20 69 73 20 74 6f 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 74 72 6f 73 70 65 63 74 thod.is.to.be.used.to.introspect
436c0 20 74 68 65 20 69 6e 70 75 74 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 2a 20 62 65 66 .the.input.parameters......*.bef
436e0 6f 72 65 20 74 68 65 79 20 68 61 76 65 20 62 65 65 6e 20 76 61 6c 69 64 61 74 65 64 2e 20 49 74 ore.they.have.been.validated..It
43700 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 63 61 72 65 66 75 6c 6c 79 2e 0a 20 20 20 20 20 2a 0a .must.be.used.carefully.......*.
43720 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 76 61 6c 75 .....*.@param.string|array.$valu
43740 65 73 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 73 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 69 6e es.....The.values.to.look.for.in
43760 20 74 68 65 20 72 61 77 20 70 61 72 61 6d 65 74 65 72 73 20 28 63 61 6e 20 62 65 20 61 6e 20 61 .the.raw.parameters.(can.be.an.a
43780 72 72 61 79 29 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 rray)......*.@param.bool........
437a0 20 24 6f 6e 6c 79 50 61 72 61 6d 73 20 4f 6e 6c 79 20 63 68 65 63 6b 20 72 65 61 6c 20 70 61 72 .$onlyParams.Only.check.real.par
437c0 61 6d 65 74 65 72 73 2c 20 73 6b 69 70 20 74 68 6f 73 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 6e ameters,.skip.those.following.an
437e0 20 65 6e 64 20 6f 66 20 6f 70 74 69 6f 6e 73 20 28 2d 2d 29 20 73 69 67 6e 61 6c 0a 20 20 20 20 .end.of.options.(--).signal.....
43800 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 .*......*.@return.bool.true.if.t
43820 68 65 20 76 61 6c 75 65 20 69 73 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 72 61 77 he.value.is.contained.in.the.raw
43840 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 .parameters......*/.....public.f
43860 75 6e 63 74 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 unction.hasParameterOption($valu
43880 65 73 2c 20 24 6f 6e 6c 79 50 61 72 61 6d 73 20 3d 20 66 61 6c 73 65 29 3b 0a 0a 20 20 20 20 2f es,.$onlyParams.=.false);....../
438a0 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 61 **......*.Returns.the.value.of.a
438c0 20 72 61 77 20 6f 70 74 69 6f 6e 20 28 6e 6f 74 20 70 61 72 73 65 64 29 2e 0a 20 20 20 20 20 2a .raw.option.(not.parsed).......*
438e0 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 74 6f 20 62 65 20 75 73 65 ......*.This.method.is.to.be.use
43900 64 20 74 6f 20 69 6e 74 72 6f 73 70 65 63 74 20 74 68 65 20 69 6e 70 75 74 20 70 61 72 61 6d 65 d.to.introspect.the.input.parame
43920 74 65 72 73 0a 20 20 20 20 20 2a 20 62 65 66 6f 72 65 20 74 68 65 79 20 68 61 76 65 20 62 65 65 ters......*.before.they.have.bee
43940 6e 20 76 61 6c 69 64 61 74 65 64 2e 20 49 74 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 63 61 72 n.validated..It.must.be.used.car
43960 65 66 75 6c 6c 79 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 efully.......*......*.@param.str
43980 69 6e 67 7c 61 72 72 61 79 20 24 76 61 6c 75 65 73 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 28 ing|array.$values.....The.value(
439a0 73 29 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 69 6e 20 74 68 65 20 72 61 77 20 70 61 72 61 6d 65 s).to.look.for.in.the.raw.parame
439c0 74 65 72 73 20 28 63 61 6e 20 62 65 20 61 6e 20 61 72 72 61 79 29 0a 20 20 20 20 20 2a 20 40 70 ters.(can.be.an.array)......*.@p
439e0 61 72 61 6d 20 6d 69 78 65 64 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 20 20 20 20 54 68 aram.mixed........$default....Th
43a00 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 74 6f 20 72 65 74 75 72 6e 20 69 66 20 6e 6f 20 e.default.value.to.return.if.no.
43a20 72 65 73 75 6c 74 20 69 73 20 66 6f 75 6e 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f result.is.found......*.@param.bo
43a40 6f 6c 20 20 20 20 20 20 20 20 20 24 6f 6e 6c 79 50 61 72 61 6d 73 20 4f 6e 6c 79 20 63 68 65 63 ol.........$onlyParams.Only.chec
43a60 6b 20 72 65 61 6c 20 70 61 72 61 6d 65 74 65 72 73 2c 20 73 6b 69 70 20 74 68 6f 73 65 20 66 6f k.real.parameters,.skip.those.fo
43a80 6c 6c 6f 77 69 6e 67 20 61 6e 20 65 6e 64 20 6f 66 20 6f 70 74 69 6f 6e 73 20 28 2d 2d 29 20 73 llowing.an.end.of.options.(--).s
43aa0 69 67 6e 61 6c 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 ignal......*......*.@return.mixe
43ac0 64 20 54 68 65 20 6f 70 74 69 6f 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 d.The.option.value......*/.....p
43ae0 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 4f 70 74 69 6f ublic.function.getParameterOptio
43b00 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 2c 20 24 6f 6e n($values,.$default.=.false,.$on
43b20 6c 79 50 61 72 61 6d 73 20 3d 20 66 61 6c 73 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 lyParams.=.false);....../**.....
43b40 20 2a 20 42 69 6e 64 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 49 6e 70 75 74 20 69 6e 73 74 61 .*.Binds.the.current.Input.insta
43b60 6e 63 65 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 nce.with.the.given.arguments.and
43b80 20 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 .options.......*......*.@param.I
43ba0 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 20 41 20 49 6e 70 nputDefinition.$definition.A.Inp
43bc0 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 utDefinition.instance......*/...
43be0 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 69 6e 64 28 49 6e 70 75 74 44 65 66 69 ..public.function.bind(InputDefi
43c00 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 nition.$definition);....../**...
43c20 20 20 20 2a 20 56 61 6c 69 64 61 74 65 73 20 74 68 65 20 69 6e 70 75 74 2e 0a 20 20 20 20 20 2a ...*.Validates.the.input.......*
43c40 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e ......*.@throws.RuntimeException
43c60 20 57 68 65 6e 20 6e 6f 74 20 65 6e 6f 75 67 68 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 67 .When.not.enough.arguments.are.g
43c80 69 76 65 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 iven......*/.....public.function
43ca0 20 76 61 6c 69 64 61 74 65 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 .validate();....../**......*.Ret
43cc0 75 72 6e 73 20 61 6c 6c 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 75 6d 65 6e 74 73 20 6d 65 72 urns.all.the.given.arguments.mer
43ce0 67 65 64 20 77 69 74 68 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 2e 0a 20 20 20 ged.with.the.default.values.....
43d00 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f ..*......*.@return.array......*/
43d20 0a 20 20 20 20 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
43d40 73 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 s();....../**......*.Returns.the
43d60 20 61 72 67 75 6d 65 6e 74 20 76 61 6c 75 65 20 66 6f 72 20 61 20 67 69 76 65 6e 20 61 72 67 75 .argument.value.for.a.given.argu
43d80 6d 65 6e 74 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 ment.name.......*......*.@param.
43da0 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 6e 61 6d 65 0a 20 string.$name.The.argument.name..
43dc0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 54 68 65 20 61 ....*......*.@return.mixed.The.a
43de0 72 67 75 6d 65 6e 74 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 rgument.value......*......*.@thr
43e00 6f 77 73 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 20 57 68 65 ows.InvalidArgumentException.Whe
43e20 6e 20 61 72 67 75 6d 65 6e 74 20 67 69 76 65 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 n.argument.given.doesn't.exist..
43e40 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 67 65 74 41 72 ....*/.....public.function.getAr
43e60 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 gument($name);....../**......*.S
43e80 65 74 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 76 61 6c 75 65 20 62 79 20 6e 61 6d 65 2e 0a 20 ets.an.argument.value.by.name...
43ea0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 ....*......*.@param.string.$name
43ec0 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 ..The.argument.name......*.@para
43ee0 6d 20 73 74 72 69 6e 67 20 24 76 61 6c 75 65 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 76 61 6c m.string.$value.The.argument.val
43f00 75 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 ue......*......*.@throws.Invalid
43f20 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 61 72 67 75 6d 65 6e 74 20 ArgumentException.When.argument.
43f40 67 69 76 65 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 given.doesn't.exist......*/.....
43f60 70 75 62 6c 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 public.function.setArgument($nam
43f80 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 e,.$value);....../**......*.Retu
43fa0 72 6e 73 20 74 72 75 65 20 69 66 20 61 6e 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 6a rns.true.if.an.InputArgument.obj
43fc0 65 63 74 20 65 78 69 73 74 73 20 62 79 20 6e 61 6d 65 20 6f 72 20 70 6f 73 69 74 69 6f 6e 2e 0a ect.exists.by.name.or.position..
43fe0 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 6e 67 7c 69 6e 74 20 .....*......*.@param.string|int.
44000 24 6e 61 6d 65 20 54 68 65 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6e 61 6d 65 20 6f 72 20 $name.The.InputArgument.name.or.
44020 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 position......*......*.@return.b
44040 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 ool.true.if.the.InputArgument.ob
44060 6a 65 63 74 20 65 78 69 73 74 73 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 ject.exists,.false.otherwise....
44080 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 68 61 73 41 72 67 75 ..*/.....public.function.hasArgu
440a0 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 ment($name);....../**......*.Ret
440c0 75 72 6e 73 20 61 6c 6c 20 74 68 65 20 67 69 76 65 6e 20 6f 70 74 69 6f 6e 73 20 6d 65 72 67 65 urns.all.the.given.options.merge
440e0 64 20 77 69 74 68 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 d.with.the.default.values.......
44100 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 *......*.@return.array......*/..
44120 20 20 20 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 3b ...public.function.getOptions();
44140 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6f 70 74 ....../**......*.Returns.the.opt
44160 69 6f 6e 20 76 61 6c 75 65 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d ion.value.for.a.given.option.nam
44180 65 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 6e 67 20 24 e.......*......*.@param.string.$
441a0 6e 61 6d 65 20 54 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 name.The.option.name......*.....
441c0 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 54 68 65 20 6f 70 74 69 6f 6e 20 76 61 6c 75 .*.@return.mixed.The.option.valu
441e0 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 e......*......*.@throws.InvalidA
44200 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 6f 70 74 69 6f 6e 20 67 69 76 rgumentException.When.option.giv
44220 65 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 en.doesn't.exist......*/.....pub
44240 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 3b 0a 0a lic.function.getOption($name);..
44260 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 61 6e 20 6f 70 74 69 6f 6e 20 76 61 ..../**......*.Sets.an.option.va
44280 6c 75 65 20 62 79 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 lue.by.name.......*......*.@para
442a0 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 24 6e 61 6d 65 20 20 54 68 65 20 6f 70 74 69 6f 6e 20 m.string......$name..The.option.
442c0 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 62 6f 6f 6c 20 24 name......*.@param.string|bool.$
442e0 76 61 6c 75 65 20 54 68 65 20 6f 70 74 69 6f 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 0a 20 20 value.The.option.value......*...
44300 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 ...*.@throws.InvalidArgumentExce
44320 70 74 69 6f 6e 20 57 68 65 6e 20 6f 70 74 69 6f 6e 20 67 69 76 65 6e 20 64 6f 65 73 6e 27 74 20 ption.When.option.given.doesn't.
44340 65 78 69 73 74 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 exist......*/.....public.functio
44360 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 20 20 20 n.setOption($name,.$value);.....
44380 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 61 6e 20 49 ./**......*.Returns.true.if.an.I
443a0 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 20 65 78 69 73 74 73 20 62 79 20 6e 61 6d 65 nputOption.object.exists.by.name
443c0 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 6e 67 20 24 6e .......*......*.@param.string.$n
443e0 61 6d 65 20 54 68 65 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a ame.The.InputOption.name......*.
44400 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 20 .....*.@return.bool.true.if.the.
44420 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 20 65 78 69 73 74 73 2c 20 66 61 6c 73 65 InputOption.object.exists,.false
44440 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 20 66 75 .otherwise......*/.....public.fu
44460 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 0a 20 20 20 20 2f 2a nction.hasOption($name);....../*
44480 2a 0a 20 20 20 20 20 2a 20 49 73 20 74 68 69 73 20 69 6e 70 75 74 20 6d 65 61 6e 73 20 69 6e 74 *......*.Is.this.input.means.int
444a0 65 72 61 63 74 69 76 65 3f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 eractive?......*......*.@return.
444c0 62 6f 6f 6c 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 bool......*/.....public.function
444e0 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 .isInteractive();....../**......
44500 2a 20 53 65 74 73 20 74 68 65 20 69 6e 70 75 74 20 69 6e 74 65 72 61 63 74 69 76 69 74 79 2e 0a *.Sets.the.input.interactivity..
44520 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 69 6e 74 65 72 .....*......*.@param.bool.$inter
44540 61 63 74 69 76 65 20 49 66 20 74 68 65 20 69 6e 70 75 74 20 73 68 6f 75 6c 64 20 62 65 20 69 6e active.If.the.input.should.be.in
44560 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e teractive......*/.....public.fun
44580 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 63 74 69 76 ction.setInteractive($interactiv
445a0 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 e);.}.<?php../*..*.This.file.is.
445c0 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a part.of.the.Symfony.package...*.
445e0 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 .*.(c).Fabien.Potencier.<fabien@
44600 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 symfony.com>..*..*.For.the.full.
44620 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f copyright.and.license.informatio
44640 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 n,.please.view.the.LICENSE..*.fi
44660 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 le.that.was.distributed.with.thi
44680 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 s.source.code...*/..namespace.Sy
446a0 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 3b 0a 0a mfony\Component\Console\Input;..
446c0 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 78 use.Symfony\Component\Console\Ex
446e0 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
44700 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\
44720 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 0a 2f 2a 2a 0a 20 Exception\LogicException;../**..
44740 2a 20 52 65 70 72 65 73 65 6e 74 73 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 72 67 75 *.Represents.a.command.line.argu
44760 6d 65 6e 74 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e ment...*..*.@author.Fabien.Poten
44780 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c cier.<fabien@symfony.com>..*/.cl
447a0 61 73 73 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 0a 7b 0a 20 20 20 20 63 6f 6e 73 74 20 52 45 ass.InputArgument.{.....const.RE
447c0 51 55 49 52 45 44 20 3d 20 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 4f 50 54 49 4f 4e 41 4c 20 3d QUIRED.=.1;.....const.OPTIONAL.=
447e0 20 32 3b 0a 20 20 20 20 63 6f 6e 73 74 20 49 53 5f 41 52 52 41 59 20 3d 20 34 3b 0a 0a 20 20 20 .2;.....const.IS_ARRAY.=.4;.....
44800 20 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6d 6f 64 .private.$name;.....private.$mod
44820 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 3b 0a 20 20 20 20 70 72 69 e;.....private.$default;.....pri
44840 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 vate.$description;....../**.....
44860 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 .*.Constructor.......*......*.@p
44880 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 20 20 20 20 20 20 20 54 68 65 20 61 72 67 aram.string.$name........The.arg
448a0 75 6d 65 6e 74 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 ument.name......*.@param.int....
448c0 24 6d 6f 64 65 20 20 20 20 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 6d 6f 64 65 3a 20 $mode........The.argument.mode:.
448e0 73 65 6c 66 3a 3a 52 45 51 55 49 52 45 44 20 6f 72 20 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 41 4c self::REQUIRED.or.self::OPTIONAL
44900 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 64 65 73 63 72 69 70 74 69 ......*.@param.string.$descripti
44920 6f 6e 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 74 65 78 74 0a 20 20 20 20 20 2a 20 40 70 61 on.A.description.text......*.@pa
44940 72 61 6d 20 6d 69 78 65 64 20 20 24 64 65 66 61 75 6c 74 20 20 20 20 20 54 68 65 20 64 65 66 61 ram.mixed..$default.....The.defa
44960 75 6c 74 20 76 61 6c 75 65 20 28 66 6f 72 20 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 41 4c 20 6d 6f ult.value.(for.self::OPTIONAL.mo
44980 64 65 20 6f 6e 6c 79 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 de.only)......*......*.@throws.I
449a0 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 61 72 67 nvalidArgumentException.When.arg
449c0 75 6d 65 6e 74 20 6d 6f 64 65 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 0a 20 20 20 20 20 2a 2f 0a ument.mode.is.not.valid......*/.
449e0 20 20 20 20 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(
44a00 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 70 74 69 6f $name,.$mode.=.null,.$descriptio
44a20 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 20 20 20 20 7b 0a 20 n.=.'',.$default.=.null).....{..
44a40 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 20 20 20 .......if.(null.===.$mode).{....
44a60 20 20 20 20 20 20 20 20 20 24 6d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 41 4c 3b .........$mode.=.self::OPTIONAL;
44a80 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 69 6e 74 28 24 6d 6f 64 65 .........}.elseif.(!is_int($mode
44aa0 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 29 20 7b 0a 20 ).||.$mode.>.7.||.$mode.<.1).{..
44ac0 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 ...........throw.new.InvalidArgu
44ae0 6d 65 6e 74 45 78 63 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 mentException(sprintf('Argument.
44b00 6d 6f 64 65 20 22 25 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 mode."%s".is.not.valid.',.$mode)
44b20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d );.........}..........$this->nam
44b40 65 20 3d 20 24 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d e.=.$name;.........$this->mode.=
44b60 20 24 6d 6f 64 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 .$mode;.........$this->descripti
44b80 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 on.=.$description;..........$thi
44ba0 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 29 3b 0a 20 20 20 20 7d 0a 0a s->setDefault($default);.....}..
44bc0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 61 72 67 75 6d ..../**......*.Returns.the.argum
44be0 65 6e 74 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 ent.name.......*......*.@return.
44c00 73 74 72 69 6e 67 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 6e 61 6d 65 0a 20 20 20 20 20 2a 2f string.The.argument.name......*/
44c20 0a 20 20 20 20 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 20 .....public.function.getName()..
44c40 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 6e 61 6d 65 3b ...{.........return.$this->name;
44c60 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 74 75 72 6e 73 20 74 .....}....../**......*.Returns.t
44c80 72 75 65 20 69 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 72 65 71 75 69 72 65 64 2e rue.if.the.argument.is.required.
44ca0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 ......*......*.@return.bool.true
44cc0 20 69 66 20 70 61 72 61 6d 65 74 65 72 20 6d 6f 64 65 20 69 73 20 73 65 6c 66 3a 3a 52 45 51 55 .if.parameter.mode.is.self::REQU
44ce0 49 52 45 44 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 IRED,.false.otherwise......*/...
44d00 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 71 75 69 72 65 64 28 29 0a 20 ..public.function.isRequired()..
44d20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 52 45 51 55 49 52 ...{.........return.self::REQUIR
44d40 45 44 20 3d 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 ED.===.(self::REQUIRED.&.$this->
44d60 6d 6f 64 65 29 3b 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 74 mode);.....}....../**......*.Ret
44d80 75 72 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 63 61 6e 20 74 61 urns.true.if.the.argument.can.ta
44da0 6b 65 20 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ke.multiple.values.......*......
44dc0 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 6d 6f 64 65 20 69 73 20 73 *.@return.bool.true.if.mode.is.s
44de0 65 6c 66 3a 3a 49 53 5f 41 52 52 41 59 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 elf::IS_ARRAY,.false.otherwise..
44e00 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 69 73 41 72 72 ....*/.....public.function.isArr
44e20 61 79 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a ay().....{.........return.self::
44e40 49 53 5f 41 52 52 41 59 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 49 53 5f 41 52 52 41 59 20 26 20 24 IS_ARRAY.===.(self::IS_ARRAY.&.$
44e60 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 this->mode);.....}....../**.....
44e80 20 2a 20 53 65 74 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 .*.Sets.the.default.value.......
44ea0 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 24 64 65 66 61 75 6c 74 20 54 *......*.@param.mixed.$default.T
44ec0 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 he.default.value......*......*.@
44ee0 74 68 72 6f 77 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 69 6e 63 6f 72 throws.LogicException.When.incor
44f00 72 65 63 74 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 67 69 76 65 6e 0a 20 20 20 20 rect.default.value.is.given.....
44f20 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 74 44 65 66 61 75 .*/.....public.function.setDefau
44f40 6c 74 28 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 lt($default.=.null).....{.......
44f60 20 20 69 66 20 28 73 65 6c 66 3a 3a 52 45 51 55 49 52 45 44 20 3d 3d 3d 20 24 74 68 69 73 2d 3e ..if.(self::REQUIRED.===.$this->
44f80 6d 6f 64 65 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 20 20 20 mode.&&.null.!==.$default).{....
44fa0 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f .........throw.new.LogicExceptio
44fc0 6e 28 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 65 78 n('Cannot.set.a.default.value.ex
44fe0 63 65 70 74 20 66 6f 72 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c cept.for.InputArgument::OPTIONAL
45000 20 6d 6f 64 65 2e 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 .mode.');.........}..........if.
45020 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ($this->isArray()).{............
45040 20 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 20 20 20 20 20 20 .if.(null.===.$default).{.......
45060 20 20 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 ..........$default.=.array();...
45080 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 ..........}.elseif.(!is_array($d
450a0 65 66 61 75 6c 74 29 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 efault)).{.................throw
450c0 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 6c 74 20 76 .new.LogicException('A.default.v
450e0 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 75 73 74 20 alue.for.an.array.argument.must.
45100 62 65 20 61 6e 20 61 72 72 61 79 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 be.an.array.');.............}...
45120 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 ......}..........$this->default.
45140 3d 20 24 64 65 66 61 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 =.$default;.....}....../**......
45160 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2e 0a 20 20 20 *.Returns.the.default.value.....
45180 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 20 54 68 65 20 64 65 66 ..*......*.@return.mixed.The.def
451a0 61 75 6c 74 20 76 61 6c 75 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 ault.value......*/.....public.fu
451c0 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 nction.getDefault().....{.......
451e0 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a ..return.$this->default;.....}..
45200 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 64 65 73 63 72 ..../**......*.Returns.the.descr
45220 69 70 74 69 6f 6e 20 74 65 78 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 iption.text.......*......*.@retu
45240 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 74 65 78 74 0a 20 rn.string.The.description.text..
45260 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 67 65 74 44 65 ....*/.....public.function.getDe
45280 73 63 72 69 70 74 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e scription().....{.........return
452a0 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 .$this->description;.....}.}.<?p
452c0 68 70 0a 0a 2f 2a 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 74 hp../*..*.This.file.is.part.of.t
452e0 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 he.Symfony.package...*..*.(c).Fa
45300 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
45320 6f 6d 3e 0a 20 2a 0a 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 om>..*..*.For.the.full.copyright
45340 20 61 6e 64 20 6c 69 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 .and.license.information,.please
45360 20 76 69 65 77 20 74 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 .view.the.LICENSE..*.file.that.w
45380 61 73 20 64 69 73 74 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 as.distributed.with.this.source.
453a0 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d code...*/..namespace.Symfony\Com
453c0 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 66 6f ponent\Console\Input;..use.Symfo
453e0 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 49 ny\Component\Console\Exception\I
45400 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 0a 2f 2a 2a 0a 20 2a nvalidArgumentException;../**..*
45420 20 53 74 72 69 6e 67 49 6e 70 75 74 20 72 65 70 72 65 73 65 6e 74 73 20 61 6e 20 69 6e 70 75 74 .StringInput.represents.an.input
45440 20 70 72 6f 76 69 64 65 64 20 61 73 20 61 20 73 74 72 69 6e 67 2e 0a 20 2a 0a 20 2a 20 55 73 61 .provided.as.a.string...*..*.Usa
45460 67 65 3a 0a 20 2a 0a 20 2a 20 20 20 20 20 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 53 74 72 69 6e ge:..*..*.....$input.=.new.Strin
45480 67 49 6e 70 75 74 28 27 66 6f 6f 20 2d 2d 62 61 72 3d 22 66 6f 6f 62 61 72 22 27 29 3b 0a 20 2a gInput('foo.--bar="foobar"');..*
454a0 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 ..*.@author.Fabien.Potencier.<fa
454c0 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 53 74 72 69 bien@symfony.com>..*/.class.Stri
454e0 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 20 20 20 20 ngInput.extends.ArgvInput.{.....
45500 63 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 const.REGEX_STRING.=.'([^\s]+?)(
45520 3f 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 ?:\s|(?<!\\\\)"|(?<!\\\\)\'|$)';
45540 0a 20 20 20 20 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 .....const.REGEX_QUOTED_STRING.=
45560 20 27 28 3f 3a 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 .'(?:"([^"\\\\]*(?:\\\\.[^"\\\\]
45580 2a 29 2a 29 22 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 *)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\
455a0 5c 5c 5c 5d 2a 29 2a 29 5c 27 29 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f \\\]*)*)\')';....../**......*.Co
455c0 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 nstructor.......*......*.@param.
455e0 73 74 72 69 6e 67 20 24 69 6e 70 75 74 20 41 6e 20 61 72 72 61 79 20 6f 66 20 70 61 72 61 6d 65 string.$input.An.array.of.parame
45600 74 65 72 73 20 66 72 6f 6d 20 74 68 65 20 43 4c 49 20 28 69 6e 20 74 68 65 20 61 72 67 76 20 66 ters.from.the.CLI.(in.the.argv.f
45620 6f 72 6d 61 74 29 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 ormat)......*/.....public.functi
45640 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 on.__construct($input).....{....
45660 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 28 29 .....parent::__construct(array()
45680 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 54 6f 6b 65 6e 73 28 24 74 68 );..........$this->setTokens($th
456a0 69 73 2d 3e 74 6f 6b 65 6e 69 7a 65 28 24 69 6e 70 75 74 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 is->tokenize($input));.....}....
456c0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 6f 6b 65 6e 69 7a 65 73 20 61 20 73 74 72 69 6e 67 2e ../**......*.Tokenizes.a.string.
456e0 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 6e 67 20 24 69 6e ......*......*.@param.string.$in
45700 70 75 74 20 54 68 65 20 69 6e 70 75 74 20 74 6f 20 74 6f 6b 65 6e 69 7a 65 0a 20 20 20 20 20 2a put.The.input.to.tokenize......*
45720 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 6e 20 61 72 72 61 79 20 6f ......*.@return.array.An.array.o
45740 66 20 74 6f 6b 65 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 f.tokens......*......*.@throws.I
45760 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 75 6e 61 nvalidArgumentException.When.una
45780 62 6c 65 20 74 6f 20 70 61 72 73 65 20 69 6e 70 75 74 20 28 73 68 6f 75 6c 64 20 6e 65 76 65 72 ble.to.parse.input.(should.never
457a0 20 68 61 70 70 65 6e 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e .happen)......*/.....private.fun
457c0 63 74 69 6f 6e 20 74 6f 6b 65 6e 69 7a 65 28 24 69 6e 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 ction.tokenize($input).....{....
457e0 20 20 20 20 20 24 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 .....$tokens.=.array();.........
45800 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 69 6e 70 75 74 29 3b 0a 20 20 20 20 20 20 $length.=.strlen($input);.......
45820 20 20 24 63 75 72 73 6f 72 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 24 63 ..$cursor.=.0;.........while.($c
45840 75 72 73 6f 72 20 3c 20 24 6c 65 6e 67 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ursor.<.$length).{.............i
45860 66 20 28 70 72 65 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 f.(preg_match('/\s+/A',.$input,.
45880 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 20 20 20 20 20 20 $match,.null,.$cursor)).{.......
458a0 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 28 5b 5e ......}.elseif.(preg_match('/([^
458c0 3d 22 5c 27 5c 73 5d 2b 3f 29 28 3d 3f 29 28 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 51 55 4f ="\'\s]+?)(=?)('.self::REGEX_QUO
458e0 54 45 44 5f 53 54 52 49 4e 47 2e 27 2b 29 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 TED_STRING.'+)/A',.$input,.$matc
45900 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 h,.null,.$cursor)).{............
45920 20 20 20 20 20 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 .....$tokens[].=.$match[1].$matc
45940 68 5b 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 h[2].stripcslashes(str_replace(a
45960 72 72 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 rray('"\'',.'\'"',.'\'\'',.'""')
45980 2c 20 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 73 74 72 6c 65 ,.'',.substr($match[3],.1,.strle
459a0 6e 28 24 6d 61 74 63 68 5b 33 5d 29 20 2d 20 32 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 n($match[3]).-.2)));............
459c0 20 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 27 2e 73 65 6c 66 3a 3a .}.elseif.(preg_match('/'.self::
459e0 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 2e 27 2f 41 27 2c 20 24 69 6e 70 75 74 REGEX_QUOTED_STRING.'/A',.$input
45a00 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 20 7b 0a 20 20 20 20 ,.$match,.null,.$cursor)).{.....
45a20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 73 74 72 69 70 63 73 6c ............$tokens[].=.stripcsl
45a40 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 73 74 72 6c 65 ashes(substr($match[0],.1,.strle
45a60 6e 28 24 6d 61 74 63 68 5b 30 5d 29 20 2d 20 32 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 n($match[0]).-.2));.............
45a80 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 }.elseif.(preg_match('/'.self::R
45aa0 45 47 45 58 5f 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 EGEX_STRING.'/A',.$input,.$match
45ac0 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ,.null,.$cursor)).{.............
45ae0 20 20 20 20 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 73 74 72 69 70 63 73 6c 61 73 68 65 73 28 24 6d ....$tokens[].=.stripcslashes($m
45b00 61 74 63 68 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 atch[1]);.............}.else.{..
45b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 68 ...............//.should.never.h
45b40 61 70 70 65 6e 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 appen.................throw.new.
45b60 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
45b80 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 65 61 72 20 22 2e 2e ('Unable.to.parse.input.near."..
45ba0 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 2c 20 24 63 75 72 73 ..%s...."',.substr($input,.$curs
45bc0 6f 72 2c 20 31 30 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 or,.10)));.............}........
45be0 20 20 20 20 20 20 24 63 75 72 73 6f 72 20 2b 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 ......$cursor.+=.strlen($match[0
45c00 5d 29 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 20 24 74 ]);.........}..........return.$t
45c20 6f 6b 65 6e 73 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 okens;.....}.}.<?php../*..*.This
45c40 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 .file.is.part.of.the.Symfony.pac
45c60 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 kage...*..*.(c).Fabien.Potencier
45c80 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 .<fabien@symfony.com>..*..*.For.
45ca0 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 20 69 the.full.copyright.and.license.i
45cc0 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 68 65 20 4c 49 43 45 nformation,.please.view.the.LICE
45ce0 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 72 69 62 75 74 65 64 NSE..*.file.that.was.distributed
45d00 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 2a 2f 0a 0a 6e 61 6d .with.this.source.code...*/..nam
45d20 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
45d40 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 5c 43 \Input;..use.Symfony\Component\C
45d60 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 65 6e 74 onsole\Exception\InvalidArgument
45d80 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
45da0 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 74 69 6f \Console\Exception\LogicExceptio
45dc0 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 41 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 72 65 70 n;../**..*.A.InputDefinition.rep
45de0 72 65 73 65 6e 74 73 20 61 20 73 65 74 20 6f 66 20 76 61 6c 69 64 20 63 6f 6d 6d 61 6e 64 20 6c resents.a.set.of.valid.command.l
45e00 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 6f 70 74 69 6f 6e 73 2e 0a 20 2a 0a 20 2a ine.arguments.and.options...*..*
45e20 20 55 73 61 67 65 3a 0a 20 2a 0a 20 2a 20 20 20 20 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 .Usage:..*..*.....$definition.=.
45e40 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 20 2a 20 20 20 new.InputDefinition(array(..*...
45e60 20 20 20 20 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 6e 61 6d 65 27 2c 20 49 6e ....new.InputArgument('name',.In
45e80 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 29 2c 0a 20 2a 20 20 20 20 20 20 putArgument::REQUIRED),..*......
45ea0 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 6f 27 2c 20 27 66 27 2c 20 49 6e 70 .new.InputOption('foo',.'f',.Inp
45ec0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 29 2c 0a 20 2a 20 20 20 utOption::VALUE_REQUIRED),..*...
45ee0 20 20 29 29 3b 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e ..));..*..*.@author.Fabien.Poten
45f00 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c cier.<fabien@symfony.com>..*/.cl
45f20 61 73 73 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 ass.InputDefinition.{.....privat
45f40 65 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 72 65 71 75 69 e.$arguments;.....private.$requi
45f60 72 65 64 43 6f 75 6e 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 68 61 73 41 6e 41 72 72 61 redCount;.....private.$hasAnArra
45f80 79 41 72 67 75 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 yArgument.=.false;.....private.$
45fa0 68 61 73 4f 70 74 69 6f 6e 61 6c 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e hasOptional;.....private.$option
45fc0 73 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 63 75 74 73 3b 0a 0a 20 20 20 20 s;.....private.$shortcuts;......
45fe0 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 /**......*.Constructor.......*..
46000 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 41 ....*.@param.array.$definition.A
46020 6e 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 61 6e 64 20 49 6e 70 n.array.of.InputArgument.and.Inp
46040 75 74 4f 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 utOption.instance......*/.....pu
46060 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 20 blic.function.__construct(array.
46080 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 $definition.=.array()).....{....
460a0 20 20 20 20 20 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 .....$this->setDefinition($defin
460c0 69 74 69 6f 6e 29 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 65 ition);.....}....../**......*.Se
460e0 74 73 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 69 6e 70 75 74 2e 0a ts.the.definition.of.the.input..
46100 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 64 65 66 69 .....*......*.@param.array.$defi
46120 6e 69 74 69 6f 6e 20 54 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 72 72 61 79 0a 20 20 20 20 nition.The.definition.array.....
46140 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 74 44 65 66 69 6e .*/.....public.function.setDefin
46160 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 20 20 20 20 7b 0a 20 ition(array.$definition).....{..
46180 20 20 20 20 20 20 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 .......$arguments.=.array();....
461a0 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 .....$options.=.array();........
461c0 20 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 69 74 65 6d 29 20 .foreach.($definition.as.$item).
461e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 74 65 6d 20 69 6e 73 74 61 6e 63 65 {.............if.($item.instance
46200 6f 66 20 49 6e 70 75 74 4f 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 of.InputOption).{...............
46220 20 20 24 6f 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 69 74 65 6d 3b 0a 20 20 20 20 20 20 20 20 20 20 ..$options[].=.$item;...........
46240 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 20 24 61 72 67 75 ..}.else.{.................$argu
46260 6d 65 6e 74 73 5b 5d 20 3d 20 24 69 74 65 6d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ments[].=.$item;.............}..
46280 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 41 72 67 75 .......}..........$this->setArgu
462a0 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 ments($arguments);.........$this
462c0 2d 3e 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 ->setOptions($options);.....}...
462e0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 49 6e 70 75 74 41 72 67 75 .../**......*.Sets.the.InputArgu
46300 6d 65 6e 74 20 6f 62 6a 65 63 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 ment.objects.......*......*.@par
46320 61 6d 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 5b 5d 20 24 61 72 67 75 6d 65 6e 74 73 20 41 6e am.InputArgument[].$arguments.An
46340 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 6a 65 63 74 73 0a .array.of.InputArgument.objects.
46360 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 74 41 .....*/.....public.function.setA
46380 72 67 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 20 rguments($arguments.=.array())..
463a0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 ...{.........$this->arguments.=.
463c0 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 array();.........$this->required
463e0 43 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 Count.=.0;.........$this->hasOpt
46400 69 6f 6e 61 6c 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 61 ional.=.false;.........$this->ha
46420 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 sAnArrayArgument.=.false;.......
46440 20 20 24 74 68 69 73 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 ..$this->addArguments($arguments
46460 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 73 20 61 6e );.....}....../**......*.Adds.an
46480 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 6a 65 63 74 73 2e .array.of.InputArgument.objects.
464a0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 41 72 67 75 6d ......*......*.@param.InputArgum
464c0 65 6e 74 5b 5d 20 24 61 72 67 75 6d 65 6e 74 73 20 41 6e 20 61 72 72 61 79 20 6f 66 20 49 6e 70 ent[].$arguments.An.array.of.Inp
464e0 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 utArgument.objects......*/.....p
46500 75 62 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 ublic.function.addArguments($arg
46520 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 uments.=.array()).....{.........
46540 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 72 67 75 6d 65 6e 74 73 29 20 7b 0a 20 20 20 20 20 if.(null.!==.$arguments).{......
46560 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 61 72 67 75 6d 65 6e 74 73 20 61 73 20 24 61 .......foreach.($arguments.as.$a
46580 72 67 75 6d 65 6e 74 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 rgument).{.................$this
465a0 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 20 20 20 20 20 20 ->addArgument($argument);.......
465c0 20 20 20 20 20 20 7d 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 ......}.........}.....}....../**
465e0 0a 20 20 20 20 20 2a 20 41 64 64 73 20 61 6e 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 ......*.Adds.an.InputArgument.ob
46600 6a 65 63 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 ject.......*......*.@param.Input
46620 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 20 41 6e 20 49 6e 70 75 74 41 72 67 75 6d Argument.$argument.An.InputArgum
46640 65 6e 74 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 ent.object......*......*.@throws
46660 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 69 6e 63 6f 72 72 65 63 74 20 61 .LogicException.When.incorrect.a
46680 72 67 75 6d 65 6e 74 20 69 73 20 67 69 76 65 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 rgument.is.given......*/.....pub
466a0 6c 69 63 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 lic.function.addArgument(InputAr
466c0 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 gument.$argument).....{.........
466e0 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 75 if.(isset($this->arguments[$argu
46700 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ment->getName()])).{............
46720 20 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 6e 74 .throw.new.LogicException(sprint
46740 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 73 22 20 61 6c f('An.argument.with.name."%s".al
46760 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 67 65 74 4e 61 ready.exists.',.$argument->getNa
46780 6d 65 28 29 29 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 24 me()));.........}..........if.($
467a0 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 29 20 7b 0a 20 20 20 20 this->hasAnArrayArgument).{.....
467c0 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e ........throw.new.LogicException
467e0 28 27 43 61 6e 6e 6f 74 20 61 64 64 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 61 66 74 65 72 20 61 ('Cannot.add.an.argument.after.a
46800 6e 20 61 72 72 61 79 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a n.array.argument.');.........}..
46820 20 20 20 20 20 20 20 20 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 ........if.($argument->isRequire
46840 64 28 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 29 20 7b 0a 20 20 20 d().&&.$this->hasOptional).{....
46860 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f .........throw.new.LogicExceptio
46880 6e 28 27 43 61 6e 6e 6f 74 20 61 64 64 20 61 20 72 65 71 75 69 72 65 64 20 61 72 67 75 6d 65 6e n('Cannot.add.a.required.argumen
468a0 74 20 61 66 74 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6f 6e 65 2e 27 29 3b 0a 20 20 20 20 t.after.an.optional.one.');.....
468c0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 ....}..........if.($argument->is
468e0 41 72 72 61 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 61 Array()).{.............$this->ha
46900 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 sAnArrayArgument.=.true;........
46920 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 .}..........if.($argument->isReq
46940 75 69 72 65 64 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2b 2b 24 74 68 69 73 2d 3e uired()).{.............++$this->
46960 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a requiredCount;.........}.else.{.
46980 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 20 3d ............$this->hasOptional.=
469a0 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 24 74 68 69 73 2d .true;.........}..........$this-
469c0 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 5d >arguments[$argument->getName()]
469e0 20 3d 20 24 61 72 67 75 6d 65 6e 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 .=.$argument;.....}....../**....
46a00 20 20 2a 20 52 65 74 75 72 6e 73 20 61 6e 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 62 79 20 ..*.Returns.an.InputArgument.by.
46a20 6e 61 6d 65 20 6f 72 20 62 79 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 name.or.by.position.......*.....
46a40 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 69 6e 74 20 24 6e 61 6d 65 20 54 68 65 20 49 .*.@param.string|int.$name.The.I
46a60 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6e 61 6d 65 20 6f 72 20 70 6f 73 69 74 69 6f 6e 0a 20 20 nputArgument.name.or.position...
46a80 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 49 6e 70 75 74 41 72 67 75 6d 65 6e ...*......*.@return.InputArgumen
46aa0 74 20 41 6e 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a t.An.InputArgument.object......*
46ac0 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 ......*.@throws.InvalidArgumentE
46ae0 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 61 72 67 75 6d 65 6e 74 20 67 69 76 65 6e 20 64 6f 65 xception.When.argument.given.doe
46b00 73 6e 27 74 20 65 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 sn't.exist......*/.....public.fu
46b20 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a nction.getArgument($name).....{.
46b40 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 ........if.(!$this->hasArgument(
46b60 24 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 $name)).{.............throw.new.
46b80 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
46ba0 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 69 ('The."%s".argument.does.not.exi
46bc0 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 st.',.$name));.........}........
46be0 20 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 20 3f 20 61 ..$arguments.=.is_int($name).?.a
46c00 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 20 3a 20 rray_values($this->arguments).:.
46c20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 $this->arguments;..........retur
46c40 6e 20 24 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 n.$arguments[$name];.....}......
46c60 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 61 6e 20 49 6e /**......*.Returns.true.if.an.In
46c80 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 6a 65 63 74 20 65 78 69 73 74 73 20 62 79 20 6e 61 6d putArgument.object.exists.by.nam
46ca0 65 20 6f 72 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 e.or.position.......*......*.@pa
46cc0 72 61 6d 20 73 74 72 69 6e 67 7c 69 6e 74 20 24 6e 61 6d 65 20 54 68 65 20 49 6e 70 75 74 41 72 ram.string|int.$name.The.InputAr
46ce0 67 75 6d 65 6e 74 20 6e 61 6d 65 20 6f 72 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 gument.name.or.position......*..
46d00 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 20 49 ....*.@return.bool.true.if.the.I
46d20 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 6a 65 63 74 20 65 78 69 73 74 73 2c 20 66 61 6c 73 nputArgument.object.exists,.fals
46d40 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 20 66 e.otherwise......*/.....public.f
46d60 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 20 20 20 20 7b unction.hasArgument($name).....{
46d80 0a 20 20 20 20 20 20 20 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 69 73 5f 69 6e 74 28 24 6e 61 .........$arguments.=.is_int($na
46da0 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 65 me).?.array_values($this->argume
46dc0 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 20 20 20 20 20 20 nts).:.$this->arguments;........
46de0 20 20 72 65 74 75 72 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 ..return.isset($arguments[$name]
46e00 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 );.....}....../**......*.Gets.th
46e20 65 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 6f 62 6a 65 63 74 73 e.array.of.InputArgument.objects
46e40 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 49 6e 70 75 74 41 72 67 .......*......*.@return.InputArg
46e60 75 6d 65 6e 74 5b 5d 20 41 6e 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 74 41 72 67 75 6d 65 6e ument[].An.array.of.InputArgumen
46e80 74 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e t.objects......*/.....public.fun
46ea0 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ction.getArguments().....{......
46ec0 20 20 20 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 20 20 20 20 ...return.$this->arguments;.....
46ee0 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 }....../**......*.Returns.the.nu
46f00 6d 62 65 72 20 6f 66 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 2a 0a 20 mber.of.InputArguments.......*..
46f20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 ....*.@return.int.The.number.of.
46f40 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 InputArguments......*/.....publi
46f60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 43 6f 75 6e 74 28 29 0a 20 20 c.function.getArgumentCount()...
46f80 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 68 61 73 41 6e 41 ..{.........return.$this->hasAnA
46fa0 72 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 63 6f 75 rrayArgument.?.PHP_INT_MAX.:.cou
46fc0 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 nt($this->arguments);.....}.....
46fe0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f ./**......*.Returns.the.number.o
47000 66 20 72 65 71 75 69 72 65 64 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 f.required.InputArguments.......
47020 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 6e 75 6d 62 65 72 20 *......*.@return.int.The.number.
47040 6f 66 20 72 65 71 75 69 72 65 64 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 of.required.InputArguments......
47060 2a 2f 0a 20 20 20 20 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 */.....public.function.getArgume
47080 6e 74 52 65 71 75 69 72 65 64 43 6f 75 6e 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ntRequiredCount().....{.........
470a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 20 20 20 return.$this->requiredCount;....
470c0 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 64 65 66 61 .}....../**......*.Gets.the.defa
470e0 75 6c 74 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 ult.values.......*......*.@retur
47100 6e 20 61 72 72 61 79 20 41 6e 20 61 72 72 61 79 20 6f 66 20 64 65 66 61 75 6c 74 20 76 61 6c 75 n.array.An.array.of.default.valu
47120 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 63 74 69 6f 6e 20 67 es......*/.....public.function.g
47140 65 74 41 72 67 75 6d 65 6e 74 44 65 66 61 75 6c 74 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 etArgumentDefaults().....{......
47160 20 20 20 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f ...$values.=.array();.........fo
47180 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 61 73 20 24 61 72 67 75 reach.($this->arguments.as.$argu
471a0 6d 65 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 73 5b 24 61 72 67 ment).{.............$values[$arg
471c0 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 67 ument->getName()].=.$argument->g
471e0 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 etDefault();.........}..........
47200 72 65 74 75 72 6e 20 24 76 61 6c 75 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 return.$values;.....}....../**..
47220 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 ....*.Sets.the.InputOption.objec
47240 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 4f 70 ts.......*......*.@param.InputOp
47260 74 69 6f 6e 5b 5d 20 24 6f 70 74 69 6f 6e 73 20 41 6e 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 tion[].$options.An.array.of.Inpu
47280 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c tOption.objects......*/.....publ
472a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 20 ic.function.setOptions($options.
472c0 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e =.array()).....{.........$this->
472e0 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 options.=.array();.........$this
47300 2d 3e 73 68 6f 72 74 63 75 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 ->shortcuts.=.array();.........$
47320 74 68 69 73 2d 3e 61 64 64 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 this->addOptions($options);.....
47340 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 73 20 61 6e 20 61 72 72 61 79 20 }....../**......*.Adds.an.array.
47360 6f 66 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 73 2e 0a 20 20 20 20 20 2a 0a 20 of.InputOption.objects.......*..
47380 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 4f 70 74 69 6f 6e 5b 5d 20 24 6f 70 74 69 ....*.@param.InputOption[].$opti
473a0 6f 6e 73 20 41 6e 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 ons.An.array.of.InputOption.obje
473c0 63 74 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 cts......*/.....public.function.
473e0 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 28 29 29 0a 20 addOptions($options.=.array())..
47400 20 20 20 7b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6f 70 74 69 6f 6e 73 20 61 ...{.........foreach.($options.a
47420 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e s.$option).{.............$this->
47440 61 64 64 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 addOption($option);.........}...
47460 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 73 20 61 6e 20 49 6e 70 75 ..}....../**......*.Adds.an.Inpu
47480 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 tOption.object.......*......*.@p
474a0 61 72 61 6d 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 20 41 6e 20 49 6e 70 75 aram.InputOption.$option.An.Inpu
474c0 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 tOption.object......*......*.@th
474e0 72 6f 77 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 6f 70 74 69 6f 6e 20 rows.LogicException.When.option.
47500 67 69 76 65 6e 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 given.already.exist......*/.....
47520 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 49 6e 70 75 74 4f public.function.addOption(InputO
47540 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 ption.$option).....{.........if.
47560 28 69 73 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 (isset($this->options[$option->g
47580 65 74 4e 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 etName()]).&&.!$option->equals($
475a0 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 61 6d 65 28 29 this->options[$option->getName()
475c0 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 ])).{.............throw.new.Logi
475e0 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 6e 20 6f 70 74 69 6f 6e 20 6e 61 cException(sprintf('An.option.na
47600 6d 65 64 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 6f 70 74 69 med."%s".already.exists.',.$opti
47620 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 on->getName()));.........}......
47640 20 20 20 20 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 20 ....if.($option->getShortcut()).
47660 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 {.............foreach.(explode('
47680 7c 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 61 73 20 24 |',.$option->getShortcut()).as.$
476a0 73 68 6f 72 74 63 75 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 shortcut).{.................if.(
476c0 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 72 74 63 75 74 isset($this->shortcuts[$shortcut
476e0 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 73 2d 3e 6f 70 ]).&&.!$option->equals($this->op
47700 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 72 74 63 75 74 tions[$this->shortcuts[$shortcut
47720 5d 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 74 68 72 6f 77 ]])).{.....................throw
47740 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 27 41 6e 20 .new.LogicException(sprintf('An.
47760 6f 70 74 69 6f 6e 20 77 69 74 68 20 73 68 6f 72 74 63 75 74 20 22 25 73 22 20 61 6c 72 65 61 64 option.with.shortcut."%s".alread
47780 79 20 65 78 69 73 74 73 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 20 20 20 20 20 20 20 y.exists.',.$shortcut));........
477a0 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 20 20 20 .........}.............}........
477c0 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 .}..........$this->options[$opti
477e0 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 20 20 20 20 20 20 on->getName()].=.$option;.......
47800 20 20 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 20 7b 0a ..if.($option->getShortcut()).{.
47820 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 7c 27 ............foreach.(explode('|'
47840 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 61 73 20 24 73 68 ,.$option->getShortcut()).as.$sh
47860 6f 72 74 63 75 74 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 ortcut).{.................$this-
47880 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 2d >shortcuts[$shortcut].=.$option-
478a0 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 >getName();.............}.......
478c0 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 74 75 72 6e ..}.....}....../**......*.Return
478e0 73 20 61 6e 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 62 79 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a s.an.InputOption.by.name.......*
47900 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 ......*.@param.string.$name.The.
47920 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 InputOption.name......*......*.@
47940 72 65 74 75 72 6e 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 41 20 49 6e 70 75 74 4f 70 74 69 6f 6e return.InputOption.A.InputOption
47960 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e .object......*......*.@throws.In
47980 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 6f 70 74 69 validArgumentException.When.opti
479a0 6f 6e 20 67 69 76 65 6e 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 on.given.doesn't.exist......*/..
479c0 20 20 20 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 ...public.function.getOption($na
479e0 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 me).....{.........if.(!$this->ha
47a00 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 sOption($name)).{.............th
47a20 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
47a40 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 65 73 (sprintf('The."--%s".option.does
47a60 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d .not.exist.',.$name));.........}
47a80 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b ..........return.$this->options[
47aa0 24 6e 61 6d 65 5d 3b 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 $name];.....}....../**......*.Re
47ac0 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 61 6e 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a turns.true.if.an.InputOption.obj
47ae0 65 63 74 20 65 78 69 73 74 73 20 62 79 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ect.exists.by.name.......*......
47b00 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 63 61 6e 27 74 20 62 65 20 75 73 65 64 20 74 6f 20 63 *.This.method.can't.be.used.to.c
47b20 68 65 63 6b 20 69 66 20 74 68 65 20 75 73 65 72 20 69 6e 63 6c 75 64 65 64 20 74 68 65 20 6f 70 heck.if.the.user.included.the.op
47b40 74 69 6f 6e 20 77 68 65 6e 0a 20 20 20 20 20 2a 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 63 tion.when......*.executing.the.c
47b60 6f 6d 6d 61 6e 64 20 28 75 73 65 20 67 65 74 4f 70 74 69 6f 6e 28 29 20 69 6e 73 74 65 61 64 29 ommand.(use.getOption().instead)
47b80 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 6e 67 20 24 6e .......*......*.@param.string.$n
47ba0 61 6d 65 20 54 68 65 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a ame.The.InputOption.name......*.
47bc0 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 20 .....*.@return.bool.true.if.the.
47be0 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 20 65 78 69 73 74 73 2c 20 66 61 6c 73 65 InputOption.object.exists,.false
47c00 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 20 66 75 .otherwise......*/.....public.fu
47c20 6e 63 74 69 6f 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 nction.hasOption($name).....{...
47c40 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e ......return.isset($this->option
47c60 73 5b 24 6e 61 6d 65 5d 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a s[$name]);.....}....../**......*
47c80 20 47 65 74 73 20 74 68 65 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f .Gets.the.array.of.InputOption.o
47ca0 62 6a 65 63 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 49 6e bjects.......*......*.@return.In
47cc0 70 75 74 4f 70 74 69 6f 6e 5b 5d 20 41 6e 20 61 72 72 61 79 20 6f 66 20 49 6e 70 75 74 4f 70 74 putOption[].An.array.of.InputOpt
47ce0 69 6f 6e 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 ion.objects......*/.....public.f
47d00 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 unction.getOptions().....{......
47d20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 20 20 20 20 7d 0a ...return.$this->options;.....}.
47d40 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 ...../**......*.Returns.true.if.
47d60 61 6e 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 20 65 78 69 73 74 73 20 62 79 20 an.InputOption.object.exists.by.
47d80 73 68 6f 72 74 63 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 shortcut.......*......*.@param.s
47da0 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 73 68 6f 72 tring.$name.The.InputOption.shor
47dc0 74 63 75 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 tcut......*......*.@return.bool.
47de0 74 72 75 65 20 69 66 20 74 68 65 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 74 20 65 true.if.the.InputOption.object.e
47e00 78 69 73 74 73 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 xists,.false.otherwise......*/..
47e20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 68 6f 72 74 63 75 74 28 24 ...public.function.hasShortcut($
47e40 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 73 65 74 name).....{.........return.isset
47e60 28 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 6e 61 6d 65 5d 29 3b 0a 20 20 20 20 7d ($this->shortcuts[$name]);.....}
47e80 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 61 6e 20 49 6e 70 75 74 4f 70 ....../**......*.Gets.an.InputOp
47ea0 74 69 6f 6e 20 62 79 20 73 68 6f 72 74 63 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 tion.by.shortcut.......*......*.
47ec0 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 68 6f 72 74 63 75 74 20 74 68 65 20 53 68 6f 72 @param.string.$shortcut.the.Shor
47ee0 74 63 75 74 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 tcut.name......*......*.@return.
47f00 49 6e 70 75 74 4f 70 74 69 6f 6e 20 41 6e 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 6f 62 6a 65 63 InputOption.An.InputOption.objec
47f20 74 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 67 65 t......*/.....public.function.ge
47f40 74 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 20 20 tOptionForShortcut($shortcut)...
47f60 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 67 65 74 4f 70 74 ..{.........return.$this->getOpt
47f80 69 6f 6e 28 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 54 6f 4e 61 6d 65 28 24 73 68 6f 72 74 ion($this->shortcutToName($short
47fa0 63 75 74 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 cut));.....}....../**......*.Get
47fc0 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 2e 0a 20 20 s.an.array.of.default.values....
47fe0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 6e 20 61 72 72 ...*......*.@return.array.An.arr
48000 61 79 20 6f 66 20 61 6c 6c 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 0a 20 20 20 20 20 2a 2f ay.of.all.default.values......*/
48020 0a 20 20 20 20 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 .....public.function.getOptionDe
48040 66 61 75 6c 74 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 73 20 3d faults().....{.........$values.=
48060 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 .array();.........foreach.($this
48080 2d 3e 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 ->options.as.$option).{.........
480a0 20 20 20 20 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 ....$values[$option->getName()].
480c0 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 20 20 =.$option->getDefault();........
480e0 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 76 61 6c 75 65 73 3b 0a 20 20 20 20 .}..........return.$values;.....
48100 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 49 6e }....../**......*.Returns.the.In
48120 70 75 74 4f 70 74 69 6f 6e 20 6e 61 6d 65 20 67 69 76 65 6e 20 61 20 73 68 6f 72 74 63 75 74 2e putOption.name.given.a.shortcut.
48140 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 6e 67 20 24 73 68 ......*......*.@param.string.$sh
48160 6f 72 74 63 75 74 20 54 68 65 20 73 68 6f 72 74 63 75 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ortcut.The.shortcut......*......
48180 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 49 6e 70 75 74 4f 70 74 69 6f 6e *.@return.string.The.InputOption
481a0 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 .name......*......*.@throws.Inva
481c0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 6f 70 74 69 6f 6e lidArgumentException.When.option
481e0 20 67 69 76 65 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 .given.does.not.exist......*/...
48200 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 72 74 63 75 74 54 6f 4e 61 6d ..private.function.shortcutToNam
48220 65 28 24 73 68 6f 72 74 63 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 e($shortcut).....{.........if.(!
48240 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 72 74 63 75 74 isset($this->shortcuts[$shortcut
48260 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 ])).{.............throw.new.Inva
48280 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
482a0 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 27 2c e."-%s".option.does.not.exist.',
482c0 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 .$shortcut));.........}.........
482e0 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 .return.$this->shortcuts[$shortc
48300 75 74 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 ut];.....}....../**......*.Gets.
48320 74 68 65 20 73 79 6e 6f 70 73 69 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 the.synopsis.......*......*.@par
48340 61 6d 20 62 6f 6f 6c 20 24 73 68 6f 72 74 20 57 68 65 74 68 65 72 20 74 6f 20 72 65 74 75 72 6e am.bool.$short.Whether.to.return
48360 20 74 68 65 20 73 68 6f 72 74 20 76 65 72 73 69 6f 6e 20 28 77 69 74 68 20 6f 70 74 69 6f 6e 73 .the.short.version.(with.options
48380 20 66 6f 6c 64 65 64 29 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 .folded).or.not......*......*.@r
483a0 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 73 79 6e 6f 70 73 69 73 0a 20 20 20 20 20 2a eturn.string.The.synopsis......*
483c0 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 79 6e 6f 70 73 69 /.....public.function.getSynopsi
483e0 73 28 24 73 68 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 s($short.=.false).....{.........
48400 24 65 6c 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 $elements.=.array();..........if
48420 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())
48440 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 27 5b 6f .{.............$elements[].=.'[o
48460 70 74 69 6f 6e 73 5d 27 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 24 73 68 ptions]';.........}.elseif.(!$sh
48480 6f 72 74 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 ort).{.............foreach.($thi
484a0 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 20 20 s->getOptions().as.$option).{...
484c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 27 27 3b 0a 20 20 20 20 20 ..............$value.=.'';......
484e0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 ...........if.($option->acceptVa
48500 6c 75 65 28 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 76 61 lue()).{.....................$va
48520 6c 75 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lue.=.sprintf(..................
48540 20 20 20 20 20 20 20 27 20 25 73 25 73 25 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......'.%s%s%s',...............
48560 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e ..........$option->isValueOption
48580 61 6c 28 29 20 3f 20 27 5b 27 20 3a 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 al().?.'['.:.'',................
485a0 20 20 20 20 20 20 20 20 20 73 74 72 74 6f 75 70 70 65 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 .........strtoupper($option->get
485c0 4e 61 6d 65 28 29 29 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 Name()),........................
485e0 20 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 27 5d .$option->isValueOptional().?.']
48600 27 20 3a 20 27 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 '.:.''.....................);...
48620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............}.................
48640 20 24 73 68 6f 72 74 63 75 74 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 .$shortcut.=.$option->getShortcu
48660 74 28 29 20 3f 20 73 70 72 69 6e 74 66 28 27 2d 25 73 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 t().?.sprintf('-%s|',.$option->g
48680 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 etShortcut()).:.'';.............
486a0 20 20 20 20 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 5b 25 73 2d 2d ....$elements[].=.sprintf('[%s--
486c0 25 73 25 73 5d 27 2c 20 24 73 68 6f 72 74 63 75 74 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e %s%s]',.$shortcut,.$option->getN
486e0 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ame(),.$value);.............}...
48700 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 65 6c 65 6d ......}..........if.(count($elem
48720 65 6e 74 73 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 20 ents).&&.$this->getArguments()).
48740 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 27 5b 2d 2d {.............$elements[].=.'[--
48760 5d 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 ]';.........}..........foreach.(
48780 24 74 68 69 73 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 6d 65 $this->getArguments().as.$argume
487a0 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6c 65 6d 65 6e 74 20 3d 20 27 3c 27 nt).{.............$element.=.'<'
487c0 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 20 20 20 20 20 .$argument->getName().'>';......
487e0 20 20 20 20 20 20 20 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 .......if.(!$argument->isRequire
48800 64 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6c 65 6d 65 6e 74 20 d()).{.................$element.
48820 3d 20 27 5b 27 2e 24 65 6c 65 6d 65 6e 74 2e 27 5d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.'['.$element.']';.............
48840 7d 20 65 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 }.elseif.($argument->isArray()).
48860 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6c 65 6d 65 6e 74 20 3d 20 24 65 6c {.................$element.=.$el
48880 65 6d 65 6e 74 2e 27 20 28 27 2e 24 65 6c 65 6d 65 6e 74 2e 27 29 27 3b 0a 20 20 20 20 20 20 20 ement.'.('.$element.')';........
488a0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 61 72 67 75 6d 65 6e .....}..............if.($argumen
488c0 74 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t->isArray()).{.................
488e0 24 65 6c 65 6d 65 6e 74 20 2e 3d 20 27 2e 2e 2e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d $element..=.'...';.............}
48900 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 24 65 6c 65 ..............$elements[].=.$ele
48920 6d 65 6e 74 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 20 ment;.........}..........return.
48940 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 20 20 20 20 7d 0a 7d implode('.',.$elements);.....}.}
48960 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 .<?php../*..*.This.file.is.part.
48980 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 of.the.Symfony.package...*..*.(c
489a0 29 20 46 61 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 ).Fabien.Potencier.<fabien@symfo
489c0 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 ny.com>..*..*.For.the.full.copyr
489e0 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c ight.and.license.information,.pl
48a00 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 ease.view.the.LICENSE..*.file.th
48a20 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 at.was.distributed.with.this.sou
48a40 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 rce.code...*/..namespace.Symfony
48a60 5c 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 2f 2a 2a 0a 20 \Component\Console\Input;../**..
48a80 2a 20 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 20 73 68 6f 75 6c 64 20 62 65 20 *.InputAwareInterface.should.be.
48aa0 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 64 65 70 65 implemented.by.classes.that.depe
48ac0 6e 64 73 20 6f 6e 20 74 68 65 0a 20 2a 20 43 6f 6e 73 6f 6c 65 20 49 6e 70 75 74 2e 0a 20 2a 0a nds.on.the..*.Console.Input...*.
48ae0 20 2a 20 40 61 75 74 68 6f 72 20 57 6f 75 74 65 72 20 4a 20 3c 77 61 6c 64 69 6f 2e 77 65 62 64 .*.@author.Wouter.J.<waldio.webd
48b00 65 73 69 67 6e 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 49 esign@gmail.com>..*/.interface.I
48b20 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 nputAwareInterface.{...../**....
48b40 20 20 2a 20 53 65 74 73 20 74 68 65 20 43 6f 6e 73 6f 6c 65 20 49 6e 70 75 74 2e 0a 20 20 20 20 ..*.Sets.the.Console.Input......
48b60 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 0a .*......*.@param.InputInterface.
48b80 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 74 49 .....*/.....public.function.setI
48ba0 6e 70 75 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 3b 0a 7d 0a 3c nput(InputInterface.$input);.}.<
48bc0 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 ?php../*..*.This.file.is.part.of
48be0 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 .the.Symfony.package...*..*.(c).
48c00 46 61 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 Fabien.Potencier.<fabien@symfony
48c20 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 .com>..*..*.For.the.full.copyrig
48c40 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 ht.and.license.information,.plea
48c60 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 se.view.the.LICENSE..*.file.that
48c80 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 .was.distributed.with.this.sourc
48ca0 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 e.code...*/..namespace.Symfony\C
48cc0 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 73 65 20 53 79 6d omponent\Console\Style;..use.Sym
48ce0 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
48d00 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 65 20 53 \OutputFormatterInterface;.use.S
48d20 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 5c ymfony\Component\Console\Helper\
48d40 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 6f 6d 70 6f 6e 65 ProgressBar;.use.Symfony\Compone
48d60 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
48d80 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 44 65 63 6f 72 61 74 65 73 20 6f 75 74 70 75 74 20 74 6f 20 61 e;../**..*.Decorates.output.to.a
48da0 64 64 20 63 6f 6e 73 6f 6c 65 20 73 74 79 6c 65 20 67 75 69 64 65 20 68 65 6c 70 65 72 73 2e 0a dd.console.style.guide.helpers..
48dc0 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b 65 76 69 6e 20 42 6f 6e 64 20 3c 6b 65 76 69 6e 62 .*..*.@author.Kevin.Bond.<kevinb
48de0 6f 6e 64 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 ond@gmail.com>..*/.abstract.clas
48e00 73 20 4f 75 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 s.OutputStyle.implements.OutputI
48e20 6e 74 65 72 66 61 63 65 2c 20 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 70 nterface,.StyleInterface.{.....p
48e40 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 rivate.$output;....../**......*.
48e60 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 0a 20 @param.OutputInterface.$output..
48e80 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 5f 5f 63 6f 6e ....*/.....public.function.__con
48ea0 73 74 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 struct(OutputInterface.$output).
48ec0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f ....{.........$this->output.=.$o
48ee0 75 74 70 75 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 utput;.....}....../**......*.{@i
48f00 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 nheritdoc}......*/.....public.fu
48f20 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 20 20 20 20 7b nction.newLine($count.=.1).....{
48f40 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 74 .........$this->output->write(st
48f60 72 5f 72 65 70 65 61 74 28 50 48 50 5f 45 4f 4c 2c 20 24 63 6f 75 6e 74 29 29 3b 0a 20 20 20 20 r_repeat(PHP_EOL,.$count));.....
48f80 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 69 6e 74 20 24 6d 61 }....../**......*.@param.int.$ma
48fa0 78 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 50 72 6f 67 72 65 73 73 x......*......*.@return.Progress
48fc0 42 61 72 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 Bar......*/.....public.function.
48fe0 63 72 65 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 20 20 20 20 createProgressBar($max.=.0).....
49000 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 50 72 6f 67 72 65 73 73 42 61 72 {.........return.new.ProgressBar
49020 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 24 6d 61 78 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 ($this->output,.$max);.....}....
49040 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 ../**......*.{@inheritdoc}......
49060 2a 2f 0a 20 20 20 20 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 */.....public.function.write($me
49080 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 70 65 20 ssages,.$newline.=.false,.$type.
490a0 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 20 20 20 20 7b 0a 20 20 20 =.self::OUTPUT_NORMAL).....{....
490c0 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 .....$this->output->write($messa
490e0 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 74 79 70 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 ges,.$newline,.$type);.....}....
49100 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 ../**......*.{@inheritdoc}......
49120 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 */.....public.function.writeln($
49140 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 55 54 5f 4e messages,.$type.=.self::OUTPUT_N
49160 4f 52 4d 41 4c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 ORMAL).....{.........$this->outp
49180 75 74 2d 3e 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 20 ut->writeln($messages,.$type);..
491a0 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f ...}....../**......*.{@inheritdo
491c0 63 7d 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 c}......*/.....public.function.s
491e0 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 etVerbosity($level).....{.......
49200 20 20 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 24 6c ..$this->output->setVerbosity($l
49220 65 76 65 6c 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 evel);.....}....../**......*.{@i
49240 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 nheritdoc}......*/.....public.fu
49260 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 nction.getVerbosity().....{.....
49280 20 20 20 20 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 ....return.$this->output->getVer
492a0 62 6f 73 69 74 79 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 bosity();.....}....../**......*.
492c0 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 {@inheritdoc}......*/.....public
492e0 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 74 65 .function.setDecorated($decorate
49300 64 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e d).....{.........$this->output->
49320 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 20 20 20 20 7d 0a setDecorated($decorated);.....}.
49340 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 ...../**......*.{@inheritdoc}...
49360 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 69 73 44 65 63 6f ...*/.....public.function.isDeco
49380 72 61 74 65 64 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 rated().....{.........return.$th
493a0 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 20 20 20 20 7d is->output->isDecorated();.....}
493c0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 ....../**......*.{@inheritdoc}..
493e0 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 74 46 6f ....*/.....public.function.setFo
49400 72 6d 61 74 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 rmatter(OutputFormatterInterface
49420 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 .$formatter).....{.........$this
49440 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 ->output->setFormatter($formatte
49460 72 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 r);.....}....../**......*.{@inhe
49480 72 69 74 64 6f 63 7d 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 ritdoc}......*/.....public.funct
494a0 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ion.getFormatter().....{........
494c0 20 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 46 6f 72 6d 61 74 .return.$this->output->getFormat
494e0 74 65 72 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 ter();.....}....../**......*.{@i
49500 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 nheritdoc}......*/.....public.fu
49520 6e 63 74 69 6f 6e 20 69 73 51 75 69 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 nction.isQuiet().....{.........r
49540 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 51 75 69 65 74 28 29 3b 0a eturn.$this->output->isQuiet();.
49560 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 ....}....../**......*.{@inheritd
49580 6f 63 7d 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 oc}......*/.....public.function.
495a0 69 73 56 65 72 62 6f 73 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e isVerbose().....{.........return
495c0 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 3b 0a 20 20 20 .$this->output->isVerbose();....
495e0 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d .}....../**......*.{@inheritdoc}
49600 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 69 73 56 ......*/.....public.function.isV
49620 65 72 79 56 65 72 62 6f 73 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 eryVerbose().....{.........retur
49640 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 n.$this->output->isVeryVerbose()
49660 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 ;.....}....../**......*.{@inheri
49680 74 64 6f 63 7d 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 tdoc}......*/.....public.functio
496a0 6e 20 69 73 44 65 62 75 67 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e n.isDebug().....{.........return
496c0 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 62 75 67 28 29 3b 0a 20 20 20 20 7d .$this->output->isDebug();.....}
496e0 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 .}.<?php../*..*.This.file.is.par
49700 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 t.of.the.Symfony.package...*..*.
49720 28 63 29 20 46 61 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 (c).Fabien.Potencier.<fabien@sym
49740 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 fony.com>..*..*.For.the.full.cop
49760 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 yright.and.license.information,.
49780 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 please.view.the.LICENSE..*.file.
497a0 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 that.was.distributed.with.this.s
497c0 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f ource.code...*/..namespace.Symfo
497e0 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 2f 2a 2a ny\Component\Console\Style;../**
49800 0a 20 2a 20 4f 75 74 70 75 74 20 73 74 79 6c 65 20 68 65 6c 70 65 72 73 2e 0a 20 2a 0a 20 2a 20 ..*.Output.style.helpers...*..*.
49820 40 61 75 74 68 6f 72 20 4b 65 76 69 6e 20 42 6f 6e 64 20 3c 6b 65 76 69 6e 62 6f 6e 64 40 67 6d @author.Kevin.Bond.<kevinbond@gm
49840 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 53 74 79 6c 65 49 6e 74 65 ail.com>..*/.interface.StyleInte
49860 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 rface.{...../**......*.Formats.a
49880 20 63 6f 6d 6d 61 6e 64 20 74 69 74 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 .command.title.......*......*.@p
498a0 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 aram.string.$message......*/....
498c0 20 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 .public.function.title($message)
498e0 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 73 65 63 74 ;....../**......*.Formats.a.sect
49900 69 6f 6e 20 74 69 74 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 ion.title.......*......*.@param.
49920 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c string.$message......*/.....publ
49940 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 63 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a ic.function.section($message);..
49960 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 6c 69 73 74 2e 0a 20 ..../**......*.Formats.a.list...
49980 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 65 6c 65 6d 65 ....*......*.@param.array.$eleme
499a0 6e 74 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 nts......*/.....public.function.
499c0 6c 69 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 20 20 20 20 2f listing(array.$elements);....../
499e0 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 61 6c 20 **......*.Formats.informational.
49a00 74 65 78 74 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 6e text.......*......*.@param.strin
49a20 67 7c 61 72 72 61 79 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 g|array.$message......*/.....pub
49a40 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 20 20 lic.function.text($message);....
49a60 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 73 75 63 63 65 73 73 20 72 ../**......*.Formats.a.success.r
49a80 65 73 75 6c 74 20 62 61 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 esult.bar.......*......*.@param.
49aa0 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 2f 0a 20 20 string|array.$message......*/...
49ac0 20 20 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 73 61 ..public.function.success($messa
49ae0 67 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 6e 20 ge);....../**......*.Formats.an.
49b00 65 72 72 6f 72 20 72 65 73 75 6c 74 20 62 61 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 error.result.bar.......*......*.
49b20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 6d 65 73 73 61 67 65 0a 20 20 20 @param.string|array.$message....
49b40 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 65 72 72 6f 72 28 24 ..*/.....public.function.error($
49b60 6d 65 73 73 61 67 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 message);....../**......*.Format
49b80 73 20 61 6e 20 77 61 72 6e 69 6e 67 20 72 65 73 75 6c 74 20 62 61 72 2e 0a 20 20 20 20 20 2a 0a s.an.warning.result.bar.......*.
49ba0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 6d 65 73 73 .....*.@param.string|array.$mess
49bc0 61 67 65 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 age......*/.....public.function.
49be0 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 warning($message);....../**.....
49c00 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 6e 6f 74 65 20 61 64 6d 6f 6e 69 74 69 6f 6e 2e 0a 20 20 .*.Formats.a.note.admonition....
49c20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 ...*......*.@param.string|array.
49c40 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 $message......*/.....public.func
49c60 74 69 6f 6e 20 6e 6f 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 tion.note($message);....../**...
49c80 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 63 61 75 74 69 6f 6e 20 61 64 6d 6f 6e 69 74 69 6f ...*.Formats.a.caution.admonitio
49ca0 6e 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 6e 67 7c 61 n.......*......*.@param.string|a
49cc0 72 72 61 79 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 rray.$message......*/.....public
49ce0 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 3b 0a 0a 20 20 .function.caution($message);....
49d00 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 74 61 62 6c 65 2e 0a 20 20 ../**......*.Formats.a.table....
49d20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 68 65 61 64 65 72 ...*......*.@param.array.$header
49d40 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 72 6f 77 73 0a 20 20 20 20 s......*.@param.array.$rows.....
49d60 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 28 61 72 .*/.....public.function.table(ar
49d80 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 20 20 20 ray.$headers,.array.$rows);.....
49da0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 73 6b 73 20 61 20 71 75 65 73 74 69 6f 6e 2e 0a 20 20 20 ./**......*.Asks.a.question.....
49dc0 20 20 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 20 ..*......*.@param.string........
49de0 24 71 75 65 73 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e $question......*.@param.string|n
49e00 75 6c 6c 20 20 20 24 64 65 66 61 75 6c 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c ull...$default......*.@param.cal
49e20 6c 61 62 6c 65 7c 6e 75 6c 6c 20 24 76 61 6c 69 64 61 74 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 lable|null.$validator......*....
49e40 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ..*.@return.string......*/.....p
49e60 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 69 6f 6e 2c 20 24 64 ublic.function.ask($question,.$d
49e80 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c efault.=.null,.$validator.=.null
49ea0 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 73 6b 73 20 61 20 71 75 65 73 74 69 );....../**......*.Asks.a.questi
49ec0 6f 6e 20 77 69 74 68 20 74 68 65 20 75 73 65 72 20 69 6e 70 75 74 20 68 69 64 64 65 6e 2e 0a 20 on.with.the.user.input.hidden...
49ee0 20 20 20 20 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 ....*......*.@param.string......
49f00 20 20 24 71 75 65 73 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 ..$question......*.@param.callab
49f20 6c 65 7c 6e 75 6c 6c 20 24 76 61 6c 69 64 61 74 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a le|null.$validator......*......*
49f40 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c .@return.string......*/.....publ
49f60 69 63 20 66 75 6e 63 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 ic.function.askHidden($question,
49f80 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 .$validator.=.null);....../**...
49fa0 20 20 20 2a 20 41 73 6b 73 20 66 6f 72 20 63 6f 6e 66 69 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 ...*.Asks.for.confirmation......
49fc0 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 73 74 69 6f .*......*.@param.string.$questio
49fe0 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 20 20 24 64 65 66 61 75 6c 74 0a n......*.@param.bool...$default.
4a000 20 20 20 20 20 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 .....*......*.@return.bool......
4a020 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 72 6d 28 24 */.....public.function.confirm($
4a040 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 20 20 20 question,.$default.=.true);.....
4a060 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 73 6b 73 20 61 20 63 68 6f 69 63 65 20 71 75 65 73 74 69 ./**......*.Asks.a.choice.questi
4a080 6f 6e 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 6e 67 20 on.......*......*.@param.string.
4a0a0 20 20 20 20 20 20 20 20 20 24 71 75 65 73 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d .........$question......*.@param
4a0c0 20 61 72 72 61 79 20 20 20 20 20 20 20 20 20 20 20 24 63 68 6f 69 63 65 73 0a 20 20 20 20 20 2a .array...........$choices......*
4a0e0 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 69 6e 74 7c 6e 75 6c 6c 20 24 64 65 66 61 75 6c 74 .@param.string|int|null.$default
4a100 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 72 69 6e 67 0a 20 20 ......*......*.@return.string...
4a120 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 63 68 6f 69 63 65 ...*/.....public.function.choice
4a140 28 24 71 75 65 73 74 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 ($question,.array.$choices,.$def
4a160 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 ault.=.null);....../**......*.Ad
4a180 64 20 6e 65 77 6c 69 6e 65 28 73 29 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 d.newline(s).......*......*.@par
4a1a0 61 6d 20 69 6e 74 20 24 63 6f 75 6e 74 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6e 65 77 6c am.int.$count.The.number.of.newl
4a1c0 69 6e 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 63 74 69 6f 6e ines......*/.....public.function
4a1e0 20 6e 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 20 3d 20 31 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 .newLine($count.=.1);....../**..
4a200 20 20 20 20 2a 20 53 74 61 72 74 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 6f 75 74 70 75 74 ....*.Starts.the.progress.output
4a220 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 6d 61 78 20 .......*......*.@param.int.$max.
4a240 4d 61 78 69 6d 75 6d 20 73 74 65 70 73 20 28 30 20 69 66 20 75 6e 6b 6e 6f 77 6e 29 0a 20 20 20 Maximum.steps.(0.if.unknown)....
4a260 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 70 72 6f 67 72 65 73 ..*/.....public.function.progres
4a280 73 53 74 61 72 74 28 24 6d 61 78 20 3d 20 30 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 sStart($max.=.0);....../**......
4a2a0 2a 20 41 64 76 61 6e 63 65 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 6f 75 74 70 75 74 20 58 *.Advances.the.progress.output.X
4a2c0 20 73 74 65 70 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 .steps.......*......*.@param.int
4a2e0 20 24 73 74 65 70 20 4e 75 6d 62 65 72 20 6f 66 20 73 74 65 70 73 20 74 6f 20 61 64 76 61 6e 63 .$step.Number.of.steps.to.advanc
4a300 65 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 70 72 e......*/.....public.function.pr
4a320 6f 67 72 65 73 73 41 64 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 29 3b 0a 0a 20 20 20 20 2f ogressAdvance($step.=.1);....../
4a340 2a 2a 0a 20 20 20 20 20 2a 20 46 69 6e 69 73 68 65 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 **......*.Finishes.the.progress.
4a360 6f 75 74 70 75 74 2e 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 output.......*/.....public.funct
4a380 69 6f 6e 20 70 72 6f 67 72 65 73 73 46 69 6e 69 73 68 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f ion.progressFinish();.}.<?php../
4a3a0 2a 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 74 68 65 20 53 79 *..*.This.file.is.part.of.the.Sy
4a3c0 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 mfony.package...*..*.(c).Fabien.
4a3e0 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 6f 6d 3e 0a 20 Potencier.<fabien@symfony.com>..
4a400 2a 0a 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 *..*.For.the.full.copyright.and.
4a420 6c 69 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 license.information,.please.view
4a440 20 74 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 .the.LICENSE..*.file.that.was.di
4a460 73 74 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 stributed.with.this.source.code.
4a480 0a 20 2a 2f 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
4a4a0 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f t\Console\Style;..use.Symfony\Co
4a4c0 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 3b 0a 75 73 65 mponent\Console\Application;.use
4a4e0 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 70 .Symfony\Component\Console\Excep
4a500 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
4a520 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 4f ny\Component\Console\Formatter\O
4a540 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 79 5c 43 6f 6d 70 utputFormatter;.use.Symfony\Comp
4a560 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 3b 0a 75 73 65 onent\Console\Helper\Helper;.use
4a580 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 70 65 .Symfony\Component\Console\Helpe
4a5a0 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 6f 6d 70 6f r\ProgressBar;.use.Symfony\Compo
4a5c0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 53 79 6d 66 6f 6e 79 51 75 65 73 74 nent\Console\Helper\SymfonyQuest
4a5e0 69 6f 6e 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 ionHelper;.use.Symfony\Component
4a600 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 20 53 79 6d 66 6f \Console\Helper\Table;.use.Symfo
4a620 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
4a640 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
4a660 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 74 70 75 74 3b 0a \Console\Output\BufferedOutput;.
4a680 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
4a6a0 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
4a6c0 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 6f 6e 5c 43 68 6f y\Component\Console\Question\Cho
4a6e0 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 6f 6d 70 6f 6e 65 iceQuestion;.use.Symfony\Compone
4a700 6e 74 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 nt\Console\Question\Confirmation
4a720 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 5c Question;.use.Symfony\Component\
4a740 43 6f 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 2f 2a 2a 0a Console\Question\Question;../**.
4a760 20 2a 20 4f 75 74 70 75 74 20 64 65 63 6f 72 61 74 6f 72 20 68 65 6c 70 65 72 73 20 66 6f 72 20 .*.Output.decorator.helpers.for.
4a780 74 68 65 20 53 79 6d 66 6f 6e 79 20 53 74 79 6c 65 20 47 75 69 64 65 2e 0a 20 2a 0a 20 2a 20 40 the.Symfony.Style.Guide...*..*.@
4a7a0 61 75 74 68 6f 72 20 4b 65 76 69 6e 20 42 6f 6e 64 20 3c 6b 65 76 69 6e 62 6f 6e 64 40 67 6d 61 author.Kevin.Bond.<kevinbond@gma
4a7c0 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 53 79 6d 66 6f 6e 79 53 74 79 6c 65 20 65 il.com>..*/.class.SymfonyStyle.e
4a7e0 78 74 65 6e 64 73 20 4f 75 74 70 75 74 53 74 79 6c 65 0a 7b 0a 20 20 20 20 63 6f 6e 73 74 20 4d xtends.OutputStyle.{.....const.M
4a800 41 58 5f 4c 49 4e 45 5f 4c 45 4e 47 54 48 20 3d 20 31 32 30 3b 0a 0a 20 20 20 20 70 72 69 76 61 AX_LINE_LENGTH.=.120;......priva
4a820 74 65 20 24 69 6e 70 75 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 71 75 65 73 74 69 6f 6e te.$input;.....private.$question
4a840 48 65 6c 70 65 72 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 42 61 72 Helper;.....private.$progressBar
4a860 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6c 69 6e 65 4c 65 6e 67 74 68 3b 0a 20 20 20 20 70 ;.....private.$lineLength;.....p
4a880 72 69 76 61 74 65 20 24 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 0a 20 20 20 20 2f 2a 2a rivate.$bufferedOutput;....../**
4a8a0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 ......*.@param.InputInterface..$
4a8c0 69 6e 70 75 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 input......*.@param.OutputInterf
4a8e0 61 63 65 20 24 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 ace.$output......*/.....public.f
4a900 75 6e 63 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 unction.__construct(InputInterfa
4a920 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
4a940 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d ut).....{.........$this->input.=
4a960 20 24 69 6e 70 75 74 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 .$input;.........$this->buffered
4a980 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 75 74 Output.=.new.BufferedOutput($out
4a9a0 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 6f 6e put->getVerbosity(),.false,.clon
4a9c0 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 20 20 20 20 e.$output->getFormatter());.....
4a9e0 20 20 20 20 2f 2f 20 57 69 6e 64 6f 77 73 20 63 6d 64 20 77 72 61 70 73 20 6c 69 6e 65 73 20 61 ....//.Windows.cmd.wraps.lines.a
4aa00 73 20 73 6f 6f 6e 20 61 73 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 77 69 64 74 68 20 69 73 20 s.soon.as.the.terminal.width.is.
4aa20 72 65 61 63 68 65 64 2c 20 77 68 65 74 68 65 72 20 74 68 65 72 65 20 61 72 65 20 66 6f 6c 6c 6f reached,.whether.there.are.follo
4aa40 77 69 6e 67 20 63 68 61 72 73 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 wing.chars.or.not..........$this
4aa60 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 65 74 54 65 72 ->lineLength.=.min($this->getTer
4aa80 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 2d 20 28 69 6e 74 29 20 28 44 49 52 45 43 54 4f 52 59 5f minalWidth().-.(int).(DIRECTORY_
4aaa0 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 3a 4d 41 58 5f 4c SEPARATOR.===.'\\'),.self::MAX_L
4aac0 49 4e 45 5f 4c 45 4e 47 54 48 29 3b 0a 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f INE_LENGTH);..........parent::__
4aae0 63 6f 6e 73 74 72 75 63 74 28 24 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f construct($output);.....}....../
4ab00 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 6d 65 73 73 61 67 65 20 61 73 20 61 **......*.Formats.a.message.as.a
4ab20 20 62 6c 6f 63 6b 20 6f 66 20 74 65 78 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 .block.of.text.......*......*.@p
4ab40 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 6d 65 73 73 61 67 65 73 20 54 68 65 20 aram.string|array.$messages.The.
4ab60 6d 65 73 73 61 67 65 20 74 6f 20 77 72 69 74 65 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 0a 20 20 message.to.write.in.the.block...
4ab80 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 20 24 74 79 70 65 20 20 ...*.@param.string|null..$type..
4aba0 20 20 20 54 68 65 20 62 6c 6f 63 6b 20 74 79 70 65 20 28 61 64 64 65 64 20 69 6e 20 5b 5d 20 6f ...The.block.type.(added.in.[].o
4abc0 6e 20 66 69 72 73 74 20 6c 69 6e 65 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 n.first.line)......*.@param.stri
4abe0 6e 67 7c 6e 75 6c 6c 20 20 24 73 74 79 6c 65 20 20 20 20 54 68 65 20 73 74 79 6c 65 20 74 6f 20 ng|null..$style....The.style.to.
4ac00 61 70 70 6c 79 20 74 6f 20 74 68 65 20 77 68 6f 6c 65 20 62 6c 6f 63 6b 0a 20 20 20 20 20 2a 20 apply.to.the.whole.block......*.
4ac20 40 70 61 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 20 20 54 68 @param.string.......$prefix...Th
4ac40 65 20 70 72 65 66 69 78 20 66 6f 72 20 74 68 65 20 62 6c 6f 63 6b 0a 20 20 20 20 20 2a 20 40 70 e.prefix.for.the.block......*.@p
4ac60 61 72 61 6d 20 62 6f 6f 6c 20 20 20 20 20 20 20 20 20 24 70 61 64 64 69 6e 67 20 20 57 68 65 74 aram.bool.........$padding..Whet
4ac80 68 65 72 20 74 6f 20 61 64 64 20 76 65 72 74 69 63 61 6c 20 70 61 64 64 69 6e 67 0a 20 20 20 20 her.to.add.vertical.padding.....
4aca0 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 6c 6f 63 6b 28 24 6d .*/.....public.function.block($m
4acc0 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 79 6c 65 20 3d 20 essages,.$type.=.null,.$style.=.
4ace0 6e 75 6c 6c 2c 20 24 70 72 65 66 69 78 20 3d 20 27 20 27 2c 20 24 70 61 64 64 69 6e 67 20 3d 20 null,.$prefix.=.'.',.$padding.=.
4ad00 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 20 3d false).....{.........$messages.=
4ad20 20 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 73 29 20 3f 20 61 72 72 61 79 5f 76 61 6c .is_array($messages).?.array_val
4ad40 75 65 73 28 24 6d 65 73 73 61 67 65 73 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 73 ues($messages).:.array($messages
4ad60 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c );..........$this->autoPrependBl
4ad80 6f 63 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 24 74 ock();.........$this->writeln($t
4ada0 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 20 24 74 79 70 his->createBlock($messages,.$typ
4adc0 65 2c 20 24 73 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 e,.$style,.$prefix,.$padding,.tr
4ade0 75 65 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a ue));.........$this->newLine();.
4ae00 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 ....}....../**......*.{@inheritd
4ae20 6f 63 7d 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 oc}......*/.....public.function.
4ae40 74 69 74 6c 65 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 title($message).....{.........$t
4ae60 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 20 20 20 20 20 20 20 his->autoPrependBlock();........
4ae80 20 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 .$this->writeln(array(..........
4aea0 20 20 20 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c 20 24 6d 65 ...sprintf('<comment>%s</>',.$me
4aec0 73 73 61 67 65 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 72 69 6e 74 66 28 27 3c 63 6f ssage),.............sprintf('<co
4aee0 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 27 3d 27 2c 20 48 65 mment>%s</>',.str_repeat('=',.He
4af00 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
4af20 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 73 61 67 65 29 29 29 his->getFormatter(),.$message)))
4af40 2c 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 65 77 ,.........));.........$this->new
4af60 4c 69 6e 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 Line();.....}....../**......*.{@
4af80 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 inheritdoc}......*/.....public.f
4afa0 75 6e 63 74 69 6f 6e 20 73 65 63 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a unction.section($message).....{.
4afc0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 ........$this->autoPrependBlock(
4afe0 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 61 72 72 61 79 28 );.........$this->writeln(array(
4b000 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 .............sprintf('<comment>%
4b020 73 3c 2f 3e 27 2c 20 24 6d 65 73 73 61 67 65 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 s</>',.$message),.............sp
4b040 72 69 6e 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 rintf('<comment>%s</>',.str_repe
4b060 61 74 28 27 2d 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 at('-',.Helper::strlenWithoutDec
4b080 6f 72 61 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 oration($this->getFormatter(),.$
4b0a0 6d 65 73 73 61 67 65 29 29 29 2c 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 20 20 20 20 message))),.........));.........
4b0c0 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a $this->newLine();.....}....../**
4b0e0 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 ......*.{@inheritdoc}......*/...
4b100 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 69 6e 67 28 61 72 72 61 79 20 ..public.function.listing(array.
4b120 24 65 6c 65 6d 65 6e 74 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e $elements).....{.........$this->
4b140 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 74 28 29 3b 0a 20 20 20 20 20 20 20 20 24 65 6c 65 6d autoPrependText();.........$elem
4b160 65 6e 74 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 ents.=.array_map(function.($elem
4b180 65 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 ent).{.............return.sprint
4b1a0 66 28 27 20 2a 20 25 73 27 2c 20 24 65 6c 65 6d 65 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c f('.*.%s',.$element);.........},
4b1c0 20 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 .$elements);..........$this->wri
4b1e0 74 65 6c 6e 28 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e teln($elements);.........$this->
4b200 6e 65 77 4c 69 6e 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a newLine();.....}....../**......*
4b220 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 .{@inheritdoc}......*/.....publi
4b240 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 0a 20 20 20 20 7b 0a c.function.text($message).....{.
4b260 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 74 28 29 ........$this->autoPrependText()
4b280 3b 0a 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 20 3d 20 69 73 5f 61 72 72 61 79 28 ;..........$messages.=.is_array(
4b2a0 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 61 67 $message).?.array_values($messag
4b2c0 65 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 3b 0a 20 20 20 20 20 20 20 20 66 6f e).:.array($message);.........fo
4b2e0 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 61 67 65 29 20 7b 0a reach.($messages.as.$message).{.
4b300 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e ............$this->writeln(sprin
4b320 74 66 28 27 20 25 73 27 2c 20 24 6d 65 73 73 61 67 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a tf('.%s',.$message));.........}.
4b340 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 ....}....../**......*.Formats.a.
4b360 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 command.comment.......*......*.@
4b380 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 param.string|array.$message.....
4b3a0 20 2a 2f 0a 20 20 20 20 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(
4b3c0 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 $message).....{.........$message
4b3e0 73 20 3d 20 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 20 3f 20 61 72 72 61 79 5f 76 s.=.is_array($message).?.array_v
4b400 61 6c 75 65 73 28 24 6d 65 73 73 61 67 65 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 alues($message).:.array($message
4b420 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c );..........$this->autoPrependBl
4b440 6f 63 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 24 74 ock();.........$this->writeln($t
4b460 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 20 6e 75 6c 6c his->createBlock($messages,.null
4b480 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 61 75 6c 74 3e ,.null,.'<fg=default;bg=default>
4b4a0 20 2f 2f 20 3c 2f 3e 27 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 .//.</>'));.........$this->newLi
4b4c0 6e 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e ne();.....}....../**......*.{@in
4b4e0 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e heritdoc}......*/.....public.fun
4b500 63 74 69 6f 6e 20 73 75 63 63 65 73 73 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 ction.success($message).....{...
4b520 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 4f 4b ......$this->block($message,.'OK
4b540 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 20 27 2c 20 74 72 75 ',.'fg=black;bg=green',.'.',.tru
4b560 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 e);.....}....../**......*.{@inhe
4b580 72 69 74 64 6f 63 7d 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 ritdoc}......*/.....public.funct
4b5a0 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 ion.error($message).....{.......
4b5c0 20 20 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 45 52 52 4f 52 27 ..$this->block($message,.'ERROR'
4b5e0 2c 20 27 66 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 ,.'fg=white;bg=red',.'.',.true);
4b600 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 .....}....../**......*.{@inherit
4b620 64 6f 63 7d 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 doc}......*/.....public.function
4b640 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 .warning($message).....{........
4b660 20 24 74 68 69 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 .$this->block($message,.'WARNING
4b680 27 2c 20 27 66 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 ',.'fg=white;bg=red',.'.',.true)
4b6a0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 ;.....}....../**......*.{@inheri
4b6c0 74 64 6f 63 7d 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 tdoc}......*/.....public.functio
4b6e0 6e 20 6e 6f 74 65 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 n.note($message).....{.........$
4b700 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 27 2c 20 27 66 this->block($message,.'NOTE',.'f
4b720 67 3d 79 65 6c 6c 6f 77 27 2c 20 27 20 21 20 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a g=yellow',.'.!.');.....}....../*
4b740 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 *......*.{@inheritdoc}......*/..
4b760 20 20 20 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
4b780 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 age).....{.........$this->block(
4b7a0 24 6d 65 73 73 61 67 65 2c 20 27 43 41 55 54 49 4f 4e 27 2c 20 27 66 67 3d 77 68 69 74 65 3b 62 $message,.'CAUTION',.'fg=white;b
4b7c0 67 3d 72 65 64 27 2c 20 27 20 21 20 27 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 g=red',.'.!.',.true);.....}.....
4b7e0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a ./**......*.{@inheritdoc}......*
4b800 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 61 62 6c 65 28 61 72 72 61 /.....public.function.table(arra
4b820 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 20 20 20 20 7b 0a 20 y.$headers,.array.$rows).....{..
4b840 20 20 20 20 20 20 20 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 .......$style.=.clone.Table::get
4b860 53 74 79 6c 65 44 65 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 StyleDefinition('symfony-style-g
4b880 75 69 64 65 27 29 3b 0a 20 20 20 20 20 20 20 20 24 73 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 48 uide');.........$style->setCellH
4b8a0 65 61 64 65 72 46 6f 72 6d 61 74 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a eaderFormat('<info>%s</info>');.
4b8c0 0a 20 20 20 20 20 20 20 20 24 74 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 74 68 69 .........$table.=.new.Table($thi
4b8e0 73 29 3b 0a 20 20 20 20 20 20 20 20 24 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 s);.........$table->setHeaders($
4b900 68 65 61 64 65 72 73 29 3b 0a 20 20 20 20 20 20 20 20 24 74 61 62 6c 65 2d 3e 73 65 74 52 6f 77 headers);.........$table->setRow
4b920 73 28 24 72 6f 77 73 29 3b 0a 20 20 20 20 20 20 20 20 24 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 s($rows);.........$table->setSty
4b940 6c 65 28 24 73 74 79 6c 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 61 62 6c 65 2d 3e 72 65 6e le($style);..........$table->ren
4b960 64 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b der();.........$this->newLine();
4b980 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 .....}....../**......*.{@inherit
4b9a0 64 6f 63 7d 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 doc}......*/.....public.function
4b9c0 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 2c .ask($question,.$default.=.null,
4b9e0 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 .$validator.=.null).....{.......
4ba00 20 20 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 ..$question.=.new.Question($ques
4ba20 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 20 20 20 20 20 20 20 20 24 71 75 65 73 74 69 tion,.$default);.........$questi
4ba40 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 0a 0a 20 on->setValidator($validator);...
4ba60 20 20 20 20 20 20 20 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 .......return.$this->askQuestion
4ba80 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 ($question);.....}....../**.....
4baa0 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 .*.{@inheritdoc}......*/.....pub
4bac0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 28 24 71 75 65 73 74 69 6f 6e lic.function.askHidden($question
4bae0 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ,.$validator.=.null).....{......
4bb00 20 20 20 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 ...$question.=.new.Question($que
4bb20 73 74 69 6f 6e 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 48 stion);..........$question->setH
4bb40 69 64 64 65 6e 28 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 24 71 75 65 73 74 69 6f 6e 2d 3e idden(true);.........$question->
4bb60 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 0a 0a 20 20 20 20 20 setValidator($validator);.......
4bb80 20 20 20 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 ...return.$this->askQuestion($qu
4bba0 65 73 74 69 6f 6e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b estion);.....}....../**......*.{
4bbc0 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 @inheritdoc}......*/.....public.
4bbe0 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 64 65 66 function.confirm($question,.$def
4bc00 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 ault.=.true).....{.........retur
4bc20 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 6f 6e 66 69 72 6d n.$this->askQuestion(new.Confirm
4bc40 61 74 69 6f 6e 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 ationQuestion($question,.$defaul
4bc60 74 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 t));.....}....../**......*.{@inh
4bc80 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 eritdoc}......*/.....public.func
4bca0 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 68 tion.choice($question,.array.$ch
4bcc0 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 oices,.$default.=.null).....{...
4bce0 20 20 20 20 20 20 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 20 ......if.(null.!==.$default).{..
4bd00 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 66 6c 69 70 28 ...........$values.=.array_flip(
4bd20 24 63 68 6f 69 63 65 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 20 $choices);.............$default.
4bd40 3d 20 24 76 61 6c 75 65 73 5b 24 64 65 66 61 75 6c 74 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a =.$values[$default];.........}..
4bd60 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f ........return.$this->askQuestio
4bd80 6e 28 6e 65 77 20 43 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 n(new.ChoiceQuestion($question,.
4bda0 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 $choices,.$default));.....}.....
4bdc0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a ./**......*.{@inheritdoc}......*
4bde0 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 53 74 /.....public.function.progressSt
4be00 61 72 74 28 24 6d 61 78 20 3d 20 30 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 art($max.=.0).....{.........$thi
4be20 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 65 50 72 s->progressBar.=.$this->createPr
4be40 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ogressBar($max);.........$this->
4be60 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 74 61 72 74 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 progressBar->start();.....}.....
4be80 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a ./**......*.{@inheritdoc}......*
4bea0 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 41 64 /.....public.function.progressAd
4bec0 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 vance($step.=.1).....{.........$
4bee0 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 61 6e 63 65 28 this->getProgressBar()->advance(
4bf00 24 73 74 65 70 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 $step);.....}....../**......*.{@
4bf20 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 inheritdoc}......*/.....public.f
4bf40 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 46 69 6e 69 73 68 28 29 0a 20 20 20 20 7b 0a 20 unction.progressFinish().....{..
4bf60 20 20 20 20 20 20 20 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 .......$this->getProgressBar()->
4bf80 66 69 6e 69 73 68 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 finish();.........$this->newLine
4bfa0 28 32 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 20 (2);.........$this->progressBar.
4bfc0 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 =.null;.....}....../**......*.{@
4bfe0 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 inheritdoc}......*/.....public.f
4c000 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 20 3d unction.createProgressBar($max.=
4c020 20 30 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 72 6f 67 72 65 73 73 42 61 72 20 3d .0).....{.........$progressBar.=
4c040 20 70 61 72 65 6e 74 3a 3a 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 29 .parent::createProgressBar($max)
4c060 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 44 49 52 45 43 54 4f 52 ;..........if.('\\'.!==.DIRECTOR
4c080 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 67 Y_SEPARATOR).{.............$prog
4c0a0 72 65 73 73 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 ressBar->setEmptyBarCharacter('.
4c0c0 96 91 27 29 3b 20 2f 2f 20 6c 69 67 68 74 20 73 68 61 64 65 20 63 68 61 72 61 63 74 65 72 20 5c ..');.//.light.shade.character.\
4c0e0 75 32 35 39 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 67 72 65 73 73 42 61 72 2d 3e u2591.............$progressBar->
4c100 73 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 27 27 29 3b 0a 20 20 20 20 20 20 setProgressCharacter('');.......
4c120 20 20 20 20 20 20 24 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 65 74 42 61 72 43 68 61 72 61 63 ......$progressBar->setBarCharac
4c140 74 65 72 28 27 e2 96 93 27 29 3b 20 2f 2f 20 64 61 72 6b 20 73 68 61 64 65 20 63 68 61 72 61 63 ter('...');.//.dark.shade.charac
4c160 74 65 72 20 5c 75 32 35 39 33 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 ter.\u2593.........}..........re
4c180 74 75 72 6e 20 24 70 72 6f 67 72 65 73 73 42 61 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a turn.$progressBar;.....}....../*
4c1a0 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 *......*.@param.Question.$questi
4c1c0 6f 6e 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 72 69 6e 67 0a on......*......*.@return.string.
4c1e0 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 61 73 6b 51 .....*/.....public.function.askQ
4c200 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 29 0a 20 20 20 20 uestion(Question.$question).....
4c220 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e {.........if.($this->input->isIn
4c240 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 teractive()).{.............$this
4c260 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a ->autoPrependBlock();.........}.
4c280 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e 48 65 6c .........if.(!$this->questionHel
4c2a0 70 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 71 75 65 73 74 69 per).{.............$this->questi
4c2c0 6f 6e 48 65 6c 70 65 72 20 3d 20 6e 65 77 20 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 onHelper.=.new.SymfonyQuestionHe
4c2e0 6c 70 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 61 6e 73 77 lper();.........}..........$answ
4c300 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 6b 28 er.=.$this->questionHelper->ask(
4c320 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 29 3b $this->input,.$this,.$question);
4c340 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e ..........if.($this->input->isIn
4c360 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 teractive()).{.............$this
4c380 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ->newLine();.............$this->
4c3a0 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 20 20 20 bufferedOutput->write("\n");....
4c3c0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 3b 0a .....}..........return.$answer;.
4c3e0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 ....}....../**......*.{@inheritd
4c400 6f 63 7d 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 oc}......*/.....public.function.
4c420 77 72 69 74 65 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 writeln($messages,.$type.=.self:
4c440 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 :OUTPUT_NORMAL).....{.........pa
4c460 72 65 6e 74 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 rent::writeln($messages,.$type);
4c480 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e .........$this->bufferedOutput->
4c4a0 77 72 69 74 65 6c 6e 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 writeln($this->reduceBuffer($mes
4c4c0 73 61 67 65 73 29 2c 20 24 74 79 70 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 sages),.$type);.....}....../**..
4c4e0 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ....*.{@inheritdoc}......*/.....
4c500 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 2c public.function.write($messages,
4c520 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 3a .$newline.=.false,.$type.=.self:
4c540 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 :OUTPUT_NORMAL).....{.........pa
4c560 72 65 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 rent::write($messages,.$newline,
4c580 20 24 74 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 .$type);.........$this->buffered
4c5a0 4f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 72 65 64 75 63 65 42 75 66 66 65 Output->write($this->reduceBuffe
4c5c0 72 28 24 6d 65 73 73 61 67 65 73 29 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 74 79 70 65 29 3b 0a r($messages),.$newline,.$type);.
4c5e0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 ....}....../**......*.{@inheritd
4c600 6f 63 7d 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 oc}......*/.....public.function.
4c620 6e 65 77 4c 69 6e 65 28 24 63 6f 75 6e 74 20 3d 20 31 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 newLine($count.=.1).....{.......
4c640 20 20 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 20 20 20 20 20 ..parent::newLine($count);......
4c660 20 20 20 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 69 74 65 28 ...$this->bufferedOutput->write(
4c680 73 74 72 5f 72 65 70 65 61 74 28 22 5c 6e 22 2c 20 24 63 6f 75 6e 74 29 29 3b 0a 20 20 20 20 7d str_repeat("\n",.$count));.....}
4c6a0 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 50 72 6f 67 72 65 73 ....../**......*.@return.Progres
4c6c0 73 42 61 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f sBar......*/.....private.functio
4c6e0 6e 20 67 65 74 50 72 6f 67 72 65 73 73 42 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 n.getProgressBar().....{........
4c700 20 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 29 20 7b 0a 20 20 20 20 .if.(!$this->progressBar).{.....
4c720 20 20 20 20 20 20 20 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 ........throw.new.RuntimeExcepti
4c740 6f 6e 28 27 54 68 65 20 50 72 6f 67 72 65 73 73 42 61 72 20 69 73 20 6e 6f 74 20 73 74 61 72 74 on('The.ProgressBar.is.not.start
4c760 65 64 2e 27 29 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 ed.');.........}..........return
4c780 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .$this->progressBar;.....}......
4c7a0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 private.function.getTerminalWidt
4c7c0 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d h().....{.........$application.=
4c7e0 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 24 64 69 6d .new.Application();.........$dim
4c800 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 65 72 6d 69 ensions.=.$application->getTermi
4c820 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e nalDimensions();..........return
4c840 20 24 64 69 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 .$dimensions[0].?:.self::MAX_LIN
4c860 45 5f 4c 45 4e 47 54 48 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e E_LENGTH;.....}......private.fun
4c880 63 74 69 6f 6e 20 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 0a 20 20 20 20 7b 0a 20 ction.autoPrependBlock().....{..
4c8a0 20 20 20 20 20 20 20 24 63 68 61 72 73 20 3d 20 73 75 62 73 74 72 28 73 74 72 5f 72 65 70 6c 61 .......$chars.=.substr(str_repla
4c8c0 63 65 28 50 48 50 5f 45 4f 4c 2c 20 22 5c 6e 22 2c 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 ce(PHP_EOL,."\n",.$this->buffere
4c8e0 64 4f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 29 2c 20 2d 32 29 3b 0a 0a 20 20 20 20 20 20 20 dOutput->fetch()),.-2);.........
4c900 20 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 20 20 20 20 20 20 .if.(!isset($chars[0])).{.......
4c920 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 20 2f ......return.$this->newLine();./
4c940 2f 65 6d 70 74 79 20 68 69 73 74 6f 72 79 2c 20 73 6f 20 77 65 20 73 68 6f 75 6c 64 20 73 74 61 /empty.history,.so.we.should.sta
4c960 72 74 20 77 69 74 68 20 61 20 6e 65 77 20 6c 69 6e 65 2e 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 rt.with.a.new.line..........}...
4c980 20 20 20 20 20 20 2f 2f 50 72 65 70 65 6e 64 20 6e 65 77 20 6c 69 6e 65 20 66 6f 72 20 65 61 63 ......//Prepend.new.line.for.eac
4c9a0 68 20 6e 6f 6e 20 4c 46 20 63 68 61 72 73 20 28 54 68 69 73 20 6d 65 61 6e 73 20 6e 6f 20 62 6c h.non.LF.chars.(This.means.no.bl
4c9c0 61 6e 6b 20 6c 69 6e 65 20 77 61 73 20 6f 75 74 70 75 74 20 62 65 66 6f 72 65 29 0a 20 20 20 20 ank.line.was.output.before).....
4c9e0 20 20 20 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 32 20 2d 20 73 75 62 73 74 72 5f 63 6f ....$this->newLine(2.-.substr_co
4ca00 75 6e 74 28 24 63 68 61 72 73 2c 20 22 5c 6e 22 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 unt($chars,."\n"));.....}......p
4ca20 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 74 28 rivate.function.autoPrependText(
4ca40 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 66 65 74 63 68 65 64 20 3d 20 24 74 68 69 73 ).....{.........$fetched.=.$this
4ca60 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 20 20 20 20 20 ->bufferedOutput->fetch();......
4ca80 20 20 20 2f 2f 50 72 65 70 65 6e 64 20 6e 65 77 20 6c 69 6e 65 20 69 66 20 6c 61 73 74 20 63 68 ...//Prepend.new.line.if.last.ch
4caa0 61 72 20 69 73 6e 27 74 20 45 4f 4c 3a 0a 20 20 20 20 20 20 20 20 69 66 20 28 22 5c 6e 22 20 21 ar.isn't.EOL:.........if.("\n".!
4cac0 3d 3d 20 73 75 62 73 74 72 28 24 66 65 74 63 68 65 64 2c 20 2d 31 29 29 20 7b 0a 20 20 20 20 20 ==.substr($fetched,.-1)).{......
4cae0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 20 20 20 20 20 20 20 .......$this->newLine();........
4cb00 20 7d 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 69 6f 6e 20 72 .}.....}......private.function.r
4cb20 65 64 75 63 65 42 75 66 66 65 72 28 24 6d 65 73 73 61 67 65 73 29 0a 20 20 20 20 7b 0a 20 20 20 educeBuffer($messages).....{....
4cb40 20 20 20 20 20 2f 2f 20 57 65 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 69 66 20 74 68 65 20 74 .....//.We.need.to.know.if.the.t
4cb60 77 6f 20 6c 61 73 74 20 63 68 61 72 73 20 61 72 65 20 50 48 50 5f 45 4f 4c 0a 20 20 20 20 20 20 wo.last.chars.are.PHP_EOL.......
4cb80 20 20 2f 2f 20 50 72 65 73 65 72 76 65 20 74 68 65 20 6c 61 73 74 20 34 20 63 68 61 72 73 20 69 ..//.Preserve.the.last.4.chars.i
4cba0 6e 73 65 72 74 65 64 20 28 50 48 50 5f 45 4f 4c 20 6f 6e 20 77 69 6e 64 6f 77 73 20 69 73 20 74 nserted.(PHP_EOL.on.windows.is.t
4cbc0 77 6f 20 63 68 61 72 73 29 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 62 75 66 66 65 72 0a wo.chars).in.the.history.buffer.
4cbe0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f ........return.array_map(functio
4cc00 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 n.($value).{.............return.
4cc20 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 2d 34 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c 20 61 substr($value,.-4);.........},.a
4cc40 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 rray_merge(array($this->buffered
4cc60 4f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 29 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 Output->fetch()),.(array).$messa
4cc80 67 65 73 29 29 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 69 ges));.....}......private.functi
4cca0 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 74 79 70 65 20 on.createBlock($messages,.$type.
4ccc0 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 66 69 78 20 3d =.null,.$style.=.null,.$prefix.=
4cce0 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 63 61 70 65 20 .'.',.$padding.=.false,.$escape.
4cd00 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 6e 64 65 6e 74 4c 65 =.false).....{.........$indentLe
4cd20 6e 67 74 68 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 20 ngth.=.0;.........$prefixLength.
4cd40 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 6f 72 61 74 69 6f =.Helper::strlenWithoutDecoratio
4cd60 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 70 72 65 66 69 78 n($this->getFormatter(),.$prefix
4cd80 29 3b 0a 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 );.........$lines.=.array();....
4cda0 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a 20 20 20 20 ......if.(null.!==.$type).{.....
4cdc0 20 20 20 20 20 20 20 20 24 74 79 70 65 20 3d 20 73 70 72 69 6e 74 66 28 27 5b 25 73 5d 20 27 2c ........$type.=.sprintf('[%s].',
4cde0 20 24 74 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 64 65 6e 74 4c 65 6e 67 .$type);.............$indentLeng
4ce00 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 74 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 th.=.strlen($type);.............
4ce20 24 6c 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 $lineIndentation.=.str_repeat('.
4ce40 27 2c 20 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ',.$indentLength);.........}....
4ce60 20 20 20 20 20 20 2f 2f 20 77 72 61 70 20 61 6e 64 20 61 64 64 20 6e 65 77 6c 69 6e 65 73 20 66 ......//.wrap.and.add.newlines.f
4ce80 6f 72 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 or.each.element.........foreach.
4cea0 28 24 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 ($messages.as.$key.=>.$message).
4cec0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 73 63 61 70 65 29 20 7b 0a 20 20 20 {.............if.($escape).{....
4cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 4f 75 74 70 75 74 46 6f .............$message.=.OutputFo
4cf00 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 20 20 20 20 20 rmatter::escape($message);......
4cf20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 20 3d 20 61 .......}..............$lines.=.a
4cf40 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 69 6e 65 73 2c 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 rray_merge($lines,.explode(PHP_E
4cf60 4f 4c 2c 20 77 6f 72 64 77 72 61 70 28 24 6d 65 73 73 61 67 65 2c 20 24 74 68 69 73 2d 3e 6c 69 OL,.wordwrap($message,.$this->li
4cf80 6e 65 4c 65 6e 67 74 68 20 2d 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 20 2d 20 24 69 6e 64 65 neLength.-.$prefixLength.-.$inde
4cfa0 6e 74 4c 65 6e 67 74 68 2c 20 50 48 50 5f 45 4f 4c 2c 20 74 72 75 65 29 29 29 3b 0a 0a 20 20 20 ntLength,.PHP_EOL,.true)));.....
4cfc0 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 6d 65 73 73 61 67 65 73 29 20 3e 20 .........if.(count($messages).>.
4cfe0 31 20 26 26 20 24 6b 65 79 20 3c 20 63 6f 75 6e 74 28 24 6d 65 73 73 61 67 65 73 29 20 2d 20 31 1.&&.$key.<.count($messages).-.1
4d000 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 5b 5d 20 3d 20 27 ).{.................$lines[].=.'
4d020 27 3b 0a 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 ';.............}.........}......
4d040 20 20 20 20 24 66 69 72 73 74 4c 69 6e 65 49 6e 64 65 78 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 ....$firstLineIndex.=.0;........
4d060 20 69 66 20 28 24 70 61 64 64 69 6e 67 20 26 26 20 24 74 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 .if.($padding.&&.$this->isDecora
4d080 74 65 64 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 72 73 74 4c 69 6e 65 49 ted()).{.............$firstLineI
4d0a0 6e 64 65 78 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 5f 75 6e 73 68 ndex.=.1;.............array_unsh
4d0c0 69 66 74 28 24 6c 69 6e 65 73 2c 20 27 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 ift($lines,.'');.............$li
4d0e0 6e 65 73 5b 5d 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 nes[].=.'';.........}..........f
4d100 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 69 20 3d 3e 20 26 24 6c 69 6e 65 29 20 oreach.($lines.as.$i.=>.&$line).
4d120 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 79 70 65 {.............if.(null.!==.$type
4d140 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 20 3d 20 24 66 69 72 ).{.................$line.=.$fir
4d160 73 74 4c 69 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 stLineIndex.===.$i.?.$type.$line
4d180 20 3a 20 24 6c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 2e 24 6c 69 6e 65 3b 0a 20 20 20 20 20 .:.$lineIndentation.$line;......
4d1a0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 20 3d 20 24 70 .......}..............$line.=.$p
4d1c0 72 65 66 69 78 2e 24 6c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 20 2e refix.$line;.............$line..
4d1e0 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 74 68 69 73 2d 3e 6c 69 6e 65 4c 65 6e =.str_repeat('.',.$this->lineLen
4d200 67 74 68 20 2d 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 gth.-.Helper::strlenWithoutDecor
4d220 61 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 6c 69 ation($this->getFormatter(),.$li
4d240 6e 65 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 73 74 79 6c 65 29 20 7b ne));..............if.($style).{
4d260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 20 3d 20 73 70 72 69 6e 74 66 .................$line.=.sprintf
4d280 28 27 3c 25 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 20 20 ('<%s>%s</>',.$style,.$line);...
4d2a0 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 72 ..........}.........}..........r
4d2c0 65 74 75 72 6e 20 24 6c 69 6e 65 73 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a eturn.$lines;.....}.}.<?php../*.
4d2e0 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 .*.This.file.is.part.of.the.Symf
4d300 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f ony.package...*..*.(c).Fabien.Po
4d320 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 6f 6d 3e 0a 20 2a 0a tencier.<fabien@symfony.com>..*.
4d340 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
4d360 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
4d380 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
4d3a0 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...
4d3c0 2a 2f 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\
4d3e0 43 6f 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 Console\Tester;..use.Symfony\Com
4d400 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 64 3b 0a ponent\Console\Command\Command;.
4d420 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
4d440 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 70 put\ArrayInput;.use.Symfony\Comp
4d460 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 75 74 70 75 onent\Console\Output\StreamOutpu
4d480 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 65 t;.use.Symfony\Component\Console
4d4a0 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 66 6f \Input\InputInterface;.use.Symfo
4d4c0 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
4d4e0 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 45 61 73 65 73 20 74 68 65 20 74 utInterface;../**..*.Eases.the.t
4d500 65 73 74 69 6e 67 20 6f 66 20 63 6f 6e 73 6f 6c 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 2a 0a 20 esting.of.console.commands...*..
4d520 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 *.@author.Fabien.Potencier.<fabi
4d540 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e en@symfony.com>..*/.class.Comman
4d560 64 54 65 73 74 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a dTester.{.....private.$command;.
4d580 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 ....private.$input;.....private.
4d5a0 24 6f 75 74 70 75 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 6f 64 65 $output;.....private.$statusCode
4d5c0 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 ;....../**......*.Constructor...
4d5e0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d ....*......*.@param.Command.$com
4d600 6d 61 6e 64 20 41 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 20 74 6f 20 74 65 73 74 0a mand.A.Command.instance.to.test.
4d620 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 5f 5f 63 6f .....*/.....public.function.__co
4d640 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 7b 0a nstruct(Command.$command).....{.
4d660 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e ........$this->command.=.$comman
4d680 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 78 65 63 75 74 65 d;.....}....../**......*.Execute
4d6a0 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 41 76 61 s.the.command.......*......*.Ava
4d6c0 69 6c 61 62 6c 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 3a 0a 20 20 20 20 20 2a ilable.execution.options:......*
4d6e0 0a 20 20 20 20 20 2a 20 20 2a 20 69 6e 74 65 72 61 63 74 69 76 65 3a 20 53 65 74 73 20 74 68 65 ......*..*.interactive:.Sets.the
4d700 20 69 6e 70 75 74 20 69 6e 74 65 72 61 63 74 69 76 65 20 66 6c 61 67 0a 20 20 20 20 20 2a 20 20 .input.interactive.flag......*..
4d720 2a 20 64 65 63 6f 72 61 74 65 64 3a 20 20 20 53 65 74 73 20 74 68 65 20 6f 75 74 70 75 74 20 64 *.decorated:...Sets.the.output.d
4d740 65 63 6f 72 61 74 65 64 20 66 6c 61 67 0a 20 20 20 20 20 2a 20 20 2a 20 76 65 72 62 6f 73 69 74 ecorated.flag......*..*.verbosit
4d760 79 3a 20 20 20 53 65 74 73 20 74 68 65 20 6f 75 74 70 75 74 20 76 65 72 62 6f 73 69 74 79 20 66 y:...Sets.the.output.verbosity.f
4d780 6c 61 67 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 lag......*......*.@param.array.$
4d7a0 69 6e 70 75 74 20 20 20 41 6e 20 61 72 72 61 79 20 6f 66 20 63 6f 6d 6d 61 6e 64 20 61 72 67 75 input...An.array.of.command.argu
4d7c0 6d 65 6e 74 73 20 61 6e 64 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 ments.and.options......*.@param.
4d7e0 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 41 6e 20 61 72 72 61 79 20 6f 66 20 65 78 65 63 75 array.$options.An.array.of.execu
4d800 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 tion.options......*......*.@retu
4d820 72 6e 20 69 6e 74 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 65 78 69 74 20 63 6f 64 65 0a 20 20 20 rn.int.The.command.exit.code....
4d840 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 65 78 65 63 75 74 65 ..*/.....public.function.execute
4d860 28 61 72 72 61 79 20 24 69 6e 70 75 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 (array.$input,.array.$options.=.
4d880 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 65 74 20 74 68 array()).....{.........//.set.th
4d8a0 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 66 20 e.command.name.automatically.if.
4d8c0 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 72 65 71 75 69 72 65 73 0a 20 20 20 20 20 20 20 the.application.requires........
4d8e0 20 2f 2f 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 20 61 6e 64 20 6e 6f 20 63 6f 6d 6d 61 6e 64 .//.this.argument.and.no.command
4d900 20 6e 61 6d 65 20 77 61 73 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 .name.was.passed.........if.(!is
4d920 73 65 74 28 24 69 6e 70 75 74 5b 27 63 6f 6d 6d 61 6e 64 27 5d 29 0a 20 20 20 20 20 20 20 20 20 set($input['command'])..........
4d940 20 20 20 26 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 ...&&.(null.!==.$application.=.$
4d960 74 68 69 73 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 this->command->getApplication())
4d980 0a 20 20 20 20 20 20 20 20 20 20 20 20 26 26 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 .............&&.$application->ge
4d9a0 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d tDefinition()->hasArgument('comm
4d9c0 61 6e 64 27 29 0a 20 20 20 20 20 20 20 20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 and').........).{.............$i
4d9e0 6e 70 75 74 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 nput.=.array_merge(array('comman
4da00 64 27 20 3d 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 d'.=>.$this->command->getName())
4da20 2c 20 24 69 6e 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 ,.$input);.........}..........$t
4da40 68 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 his->input.=.new.ArrayInput($inp
4da60 75 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b ut);.........if.(isset($options[
4da80 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 'interactive'])).{.............$
4daa0 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 24 6f 70 74 this->input->setInteractive($opt
4dac0 69 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a ions['interactive']);.........}.
4dae0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 72 .........$this->output.=.new.Str
4db00 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 2c 20 eamOutput(fopen('php://memory',.
4db20 27 77 27 2c 20 66 61 6c 73 65 29 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 'w',.false));.........if.(isset(
4db40 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 $options['decorated'])).{.......
4db60 20 20 20 20 20 20 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 65 ......$this->output->setDecorate
4db80 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 0a 20 20 20 20 20 20 d($options['decorated']);.......
4dba0 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 ..}.........if.(isset($options['
4dbc0 76 65 72 62 6f 73 69 74 79 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 verbosity'])).{.............$thi
4dbe0 73 2d 3e 6f 75 74 70 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 s->output->setVerbosity($options
4dc00 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ['verbosity']);.........}.......
4dc20 20 20 20 72 65 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 ...return.$this->statusCode.=.$t
4dc40 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2d 3e 72 75 6e 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 his->command->run($this->input,.
4dc60 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 $this->output);.....}....../**..
4dc80 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 64 69 73 70 6c 61 79 20 72 65 74 75 72 6e 65 64 20 ....*.Gets.the.display.returned.
4dca0 62 79 20 74 68 65 20 6c 61 73 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d by.the.last.execution.of.the.com
4dcc0 6d 61 6e 64 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 mand.......*......*.@param.bool.
4dce0 24 6e 6f 72 6d 61 6c 69 7a 65 20 57 68 65 74 68 65 72 20 74 6f 20 6e 6f 72 6d 61 6c 69 7a 65 20 $normalize.Whether.to.normalize.
4dd00 65 6e 64 20 6f 66 20 6c 69 6e 65 73 20 74 6f 20 5c 6e 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a end.of.lines.to.\n.or.not......*
4dd20 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 64 69 73 70 6c ......*.@return.string.The.displ
4dd40 61 79 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 67 ay......*/.....public.function.g
4dd60 65 74 44 69 73 70 6c 61 79 28 24 6e 6f 72 6d 61 6c 69 7a 65 20 3d 20 66 61 6c 73 65 29 0a 20 20 etDisplay($normalize.=.false)...
4dd80 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 77 69 6e 64 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 ..{.........rewind($this->output
4dda0 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 64 69 73 70 6c 61 ->getStream());..........$displa
4ddc0 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
4dde0 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 utput->getStream());..........if
4de00 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 73 .($normalize).{.............$dis
4de20 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 6e 22 play.=.str_replace(PHP_EOL,."\n"
4de40 2c 20 24 64 69 73 70 6c 61 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ,.$display);.........}..........
4de60 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a return.$display;.....}....../**.
4de80 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 69 6e 70 75 74 20 69 6e 73 74 61 6e 63 65 20 75 .....*.Gets.the.input.instance.u
4dea0 73 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 sed.by.the.last.execution.of.the
4dec0 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 .command.......*......*.@return.
4dee0 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 70 75 74 InputInterface.The.current.input
4df00 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e .instance......*/.....public.fun
4df20 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 ction.getInput().....{.........r
4df40 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f eturn.$this->input;.....}....../
4df60 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6f 75 74 70 75 74 20 69 6e 73 74 61 6e **......*.Gets.the.output.instan
4df80 63 65 20 75 73 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 ce.used.by.the.last.execution.of
4dfa0 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 .the.command.......*......*.@ret
4dfc0 75 72 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 54 68 65 20 63 75 72 72 65 6e 74 20 urn.OutputInterface.The.current.
4dfe0 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c output.instance......*/.....publ
4e000 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 20 20 20 20 7b 0a 20 20 ic.function.getOutput().....{...
4e020 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 20 20 20 20 ......return.$this->output;.....
4e040 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 73 74 61 74 75 }....../**......*.Gets.the.statu
4e060 73 20 63 6f 64 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 65 78 65 63 s.code.returned.by.the.last.exec
4e080 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a ution.of.the.application.......*
4e0a0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 73 74 61 74 75 73 20 63 ......*.@return.int.The.status.c
4e0c0 6f 64 65 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 ode......*/.....public.function.
4e0e0 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 getStatusCode().....{.........re
4e100 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 3b 0a 20 20 20 20 7d 0a 7d 0a turn.$this->statusCode;.....}.}.
4e120 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f <?php../*..*.This.file.is.part.o
4e140 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 f.the.Symfony.package...*..*.(c)
4e160 20 46 61 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 .Fabien.Potencier.<fabien@symfon
4e180 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 y.com>..*..*.For.the.full.copyri
4e1a0 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 ght.and.license.information,.ple
4e1c0 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 ase.view.the.LICENSE..*.file.tha
4e1e0 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 t.was.distributed.with.this.sour
4e200 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c ce.code...*/..namespace.Symfony\
4e220 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 65 20 53 Component\Console\Tester;..use.S
4e240 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
4e260 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
4e280 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 20 53 79 6d 66 6f 6e ole\Input\ArrayInput;.use.Symfon
4e2a0 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 49 y\Component\Console\Input\InputI
4e2c0 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 5c nterface;.use.Symfony\Component\
4e2e0 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 75 73 Console\Output\ConsoleOutput;.us
4e300 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
4e320 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\
4e340 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
4e360 75 74 70 75 74 3b 0a 0a 2f 2a 2a 0a 20 2a 20 45 61 73 65 73 20 74 68 65 20 74 65 73 74 69 6e 67 utput;../**..*.Eases.the.testing
4e380 20 6f 66 20 63 6f 6e 73 6f 6c 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 0a 20 2a 0a 20 2a 20 .of.console.applications...*..*.
4e3a0 57 68 65 6e 20 74 65 73 74 69 6e 67 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 64 6f 6e When.testing.an.application,.don
4e3c0 27 74 20 66 6f 72 67 65 74 20 74 6f 20 64 69 73 61 62 6c 65 20 74 68 65 20 61 75 74 6f 20 65 78 't.forget.to.disable.the.auto.ex
4e3e0 69 74 20 66 6c 61 67 3a 0a 20 2a 0a 20 2a 20 20 20 20 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 it.flag:..*..*.....$application.
4e400 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 20 2a 20 20 20 20 20 24 61 70 70 =.new.Application();..*.....$app
4e420 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 20 2a lication->setAutoExit(false);..*
4e440 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 ..*.@author.Fabien.Potencier.<fa
4e460 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 41 70 70 6c bien@symfony.com>..*/.class.Appl
4e480 69 63 61 74 69 6f 6e 54 65 73 74 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 70 70 icationTester.{.....private.$app
4e4a0 6c 69 63 61 74 69 6f 6e 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 20 20 lication;.....private.$input;...
4e4c0 20 20 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 20 20 20 20 2f 2a 2a 0a 20 ..private.$statusCode;...../**..
4e4e0 20 20 20 20 2a 20 40 76 61 72 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 ....*.@var.OutputInterface......
4e500 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 20 20 20 20 70 72 69 76 */.....private.$output;.....priv
4e520 61 74 65 20 24 63 61 70 74 75 72 65 53 74 72 65 61 6d 73 49 6e 64 65 70 65 6e 64 65 6e 74 6c 79 ate.$captureStreamsIndependently
4e540 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f .=.false;......public.function._
4e560 5f 63 6f 6e 73 74 72 75 63 74 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 _construct(Application.$applicat
4e580 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 ion).....{.........$this->applic
4e5a0 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ation.=.$application;.....}.....
4e5c0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 78 65 63 75 74 65 73 20 74 68 65 20 61 70 70 6c 69 63 61 ./**......*.Executes.the.applica
4e5e0 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 41 76 61 69 6c 61 62 6c 65 20 6f 70 tion.......*......*.Available.op
4e600 74 69 6f 6e 73 3a 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 20 2a 20 69 6e 74 65 72 61 63 74 tions:......*......*..*.interact
4e620 69 76 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 73 20 74 68 65 20 69 6e 70 75 ive:...............Sets.the.inpu
4e640 74 20 69 6e 74 65 72 61 63 74 69 76 65 20 66 6c 61 67 0a 20 20 20 20 20 2a 20 20 2a 20 64 65 63 t.interactive.flag......*..*.dec
4e660 6f 72 61 74 65 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 73 20 74 68 65 orated:.................Sets.the
4e680 20 6f 75 74 70 75 74 20 64 65 63 6f 72 61 74 65 64 20 66 6c 61 67 0a 20 20 20 20 20 2a 20 20 2a .output.decorated.flag......*..*
4e6a0 20 76 65 72 62 6f 73 69 74 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 65 74 73 .verbosity:.................Sets
4e6c0 20 74 68 65 20 6f 75 74 70 75 74 20 76 65 72 62 6f 73 69 74 79 20 66 6c 61 67 0a 20 20 20 20 20 .the.output.verbosity.flag......
4e6e0 2a 20 20 2a 20 63 61 70 74 75 72 65 5f 73 74 64 65 72 72 5f 73 65 70 61 72 61 74 65 6c 79 3a 20 *..*.capture_stderr_separately:.
4e700 4d 61 6b 65 20 6f 75 74 70 75 74 20 6f 66 20 73 74 64 4f 75 74 20 61 6e 64 20 73 74 64 45 72 72 Make.output.of.stdOut.and.stdErr
4e720 20 73 65 70 61 72 61 74 65 6c 79 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 2a 0a 20 20 20 .separately.available......*....
4e740 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 69 6e 70 75 74 20 20 20 41 6e 20 61 72 72 ..*.@param.array.$input...An.arr
4e760 61 79 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 ay.of.arguments.and.options.....
4e780 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 41 6e 20 61 72 72 61 .*.@param.array.$options.An.arra
4e7a0 79 20 6f 66 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 y.of.options......*......*.@retu
4e7c0 72 6e 20 69 6e 74 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 65 78 69 74 20 63 6f 64 65 0a 20 20 20 rn.int.The.command.exit.code....
4e7e0 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 72 75 6e 28 61 72 72 ..*/.....public.function.run(arr
4e800 61 79 20 24 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 20 ay.$input,.$options.=.array())..
4e820 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 6e 65 77 20 ...{.........$this->input.=.new.
4e840 41 72 72 61 79 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 ArrayInput($input);.........if.(
4e860 69 73 73 65 74 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 29 20 isset($options['interactive'])).
4e880 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 73 65 74 49 {.............$this->input->setI
4e8a0 6e 74 65 72 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 nteractive($options['interactive
4e8c0 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 ']);.........}..........$this->c
4e8e0 61 70 74 75 72 65 53 74 72 65 61 6d 73 49 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 3d 20 61 72 72 aptureStreamsIndependently.=.arr
4e900 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 63 61 70 74 75 72 65 5f 73 74 64 65 72 72 5f 73 65 ay_key_exists('capture_stderr_se
4e920 70 61 72 61 74 65 6c 79 27 2c 20 24 6f 70 74 69 6f 6e 73 29 20 26 26 20 24 6f 70 74 69 6f 6e 73 parately',.$options).&&.$options
4e940 5b 27 63 61 70 74 75 72 65 5f 73 74 64 65 72 72 5f 73 65 70 61 72 61 74 65 6c 79 27 5d 3b 0a 20 ['capture_stderr_separately'];..
4e960 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 53 74 72 65 61 6d .......if.(!$this->captureStream
4e980 73 49 6e 64 65 70 65 6e 64 65 6e 74 6c 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 sIndependently).{.............$t
4e9a0 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 74 70 75 74 28 66 his->output.=.new.StreamOutput(f
4e9c0 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 66 61 6c 73 65 29 open('php://memory',.'w',.false)
4e9e0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e );.............if.(isset($option
4ea00 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 s['decorated'])).{..............
4ea20 20 20 20 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 65 64 28 24 ...$this->output->setDecorated($
4ea40 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 options['decorated']);..........
4ea60 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 ...}.............if.(isset($opti
4ea80 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ons['verbosity'])).{............
4eaa0 20 20 20 20 20 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 .....$this->output->setVerbosity
4eac0 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 20 20 20 20 20 20 20 ($options['verbosity']);........
4eae0 20 20 20 20 20 7d 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 .....}.........}.else.{.........
4eb00 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f ....$this->output.=.new.ConsoleO
4eb20 75 74 70 75 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 73 65 74 28 24 6f 70 utput(.................isset($op
4eb40 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 tions['verbosity']).?.$options['
4eb60 76 65 72 62 6f 73 69 74 79 27 5d 20 3a 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 3a 3a 56 45 52 verbosity'].:.ConsoleOutput::VER
4eb80 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 BOSITY_NORMAL,.................i
4eba0 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 20 3f 20 24 6f sset($options['decorated']).?.$o
4ebc0 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 20 3a 20 6e 75 6c 6c 0a 20 20 20 20 20 ptions['decorated'].:.null......
4ebe0 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 4f 75 74 .......);..............$errorOut
4ec00 70 75 74 20 3d 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 put.=.new.StreamOutput(fopen('ph
4ec20 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 77 27 2c 20 66 61 6c 73 65 29 29 3b 0a 20 20 20 20 20 p://memory',.'w',.false));......
4ec40 20 20 20 20 20 20 20 24 65 72 72 6f 72 4f 75 74 70 75 74 2d 3e 73 65 74 46 6f 72 6d 61 74 74 65 .......$errorOutput->setFormatte
4ec60 72 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 74 65 72 28 29 29 r($this->output->getFormatter())
4ec80 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 4f 75 74 70 75 74 2d 3e 73 65 74 56 ;.............$errorOutput->setV
4eca0 65 72 62 6f 73 69 74 79 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f erbosity($this->output->getVerbo
4ecc0 73 69 74 79 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 6f 72 4f 75 74 70 75 sity());.............$errorOutpu
4ece0 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 t->setDecorated($this->output->i
4ed00 73 44 65 63 6f 72 61 74 65 64 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 66 sDecorated());..............$ref
4ed20 6c 65 63 74 65 64 4f 75 74 70 75 74 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 4f 62 lectedOutput.=.new.\ReflectionOb
4ed40 6a 65 63 74 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ject($this->output);............
4ed60 20 24 73 74 72 45 72 72 50 72 6f 70 65 72 74 79 20 3d 20 24 72 65 66 6c 65 63 74 65 64 4f 75 74 .$strErrProperty.=.$reflectedOut
4ed80 70 75 74 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 27 73 74 64 65 72 72 27 29 3b 0a 20 20 20 20 put->getProperty('stderr');.....
4eda0 20 20 20 20 20 20 20 20 24 73 74 72 45 72 72 50 72 6f 70 65 72 74 79 2d 3e 73 65 74 41 63 63 65 ........$strErrProperty->setAcce
4edc0 73 73 69 62 6c 65 28 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 72 45 72 ssible(true);.............$strEr
4ede0 72 50 72 6f 70 65 72 74 79 2d 3e 73 65 74 56 61 6c 75 65 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 rProperty->setValue($this->outpu
4ee00 74 2c 20 24 65 72 72 6f 72 4f 75 74 70 75 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 t,.$errorOutput);..............$
4ee20 72 65 66 6c 65 63 74 65 64 50 61 72 65 6e 74 20 3d 20 24 72 65 66 6c 65 63 74 65 64 4f 75 74 70 reflectedParent.=.$reflectedOutp
4ee40 75 74 2d 3e 67 65 74 50 61 72 65 6e 74 43 6c 61 73 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ut->getParentClass();...........
4ee60 20 20 24 73 74 72 65 61 6d 50 72 6f 70 65 72 74 79 20 3d 20 24 72 65 66 6c 65 63 74 65 64 50 61 ..$streamProperty.=.$reflectedPa
4ee80 72 65 6e 74 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 27 73 74 72 65 61 6d 27 29 3b 0a 20 20 20 rent->getProperty('stream');....
4eea0 20 20 20 20 20 20 20 20 20 24 73 74 72 65 61 6d 50 72 6f 70 65 72 74 79 2d 3e 73 65 74 41 63 63 .........$streamProperty->setAcc
4eec0 65 73 73 69 62 6c 65 28 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 72 65 essible(true);.............$stre
4eee0 61 6d 50 72 6f 70 65 72 74 79 2d 3e 73 65 74 56 61 6c 75 65 28 24 74 68 69 73 2d 3e 6f 75 74 70 amProperty->setValue($this->outp
4ef00 75 74 2c 20 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 66 ut,.fopen('php://memory',.'w',.f
4ef20 61 6c 73 65 29 29 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 alse));.........}..........retur
4ef40 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 61 70 70 n.$this->statusCode.=.$this->app
4ef60 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 74 68 69 lication->run($this->input,.$thi
4ef80 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 s->output);.....}....../**......
4efa0 2a 20 47 65 74 73 20 74 68 65 20 64 69 73 70 6c 61 79 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 *.Gets.the.display.returned.by.t
4efc0 68 65 20 6c 61 73 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 70 70 6c 69 63 61 he.last.execution.of.the.applica
4efe0 74 69 6f 6e 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 tion.......*......*.@param.bool.
4f000 24 6e 6f 72 6d 61 6c 69 7a 65 20 57 68 65 74 68 65 72 20 74 6f 20 6e 6f 72 6d 61 6c 69 7a 65 20 $normalize.Whether.to.normalize.
4f020 65 6e 64 20 6f 66 20 6c 69 6e 65 73 20 74 6f 20 5c 6e 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a end.of.lines.to.\n.or.not......*
4f040 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 64 69 73 70 6c ......*.@return.string.The.displ
4f060 61 79 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 67 ay......*/.....public.function.g
4f080 65 74 44 69 73 70 6c 61 79 28 24 6e 6f 72 6d 61 6c 69 7a 65 20 3d 20 66 61 6c 73 65 29 0a 20 20 etDisplay($normalize.=.false)...
4f0a0 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 77 69 6e 64 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 ..{.........rewind($this->output
4f0c0 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 64 69 73 70 6c 61 ->getStream());..........$displa
4f0e0 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
4f100 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 utput->getStream());..........if
4f120 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 73 .($normalize).{.............$dis
4f140 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 6e 22 play.=.str_replace(PHP_EOL,."\n"
4f160 2c 20 24 64 69 73 70 6c 61 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ,.$display);.........}..........
4f180 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a return.$display;.....}....../**.
4f1a0 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6f 75 74 70 75 74 20 77 72 69 74 74 65 6e 20 74 .....*.Gets.the.output.written.t
4f1c0 6f 20 53 54 44 45 52 52 20 62 79 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 o.STDERR.by.the.application.....
4f1e0 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 6e 6f 72 6d 61 6c 69 7a ..*......*.@param.bool.$normaliz
4f200 65 20 57 68 65 74 68 65 72 20 74 6f 20 6e 6f 72 6d 61 6c 69 7a 65 20 65 6e 64 20 6f 66 20 6c 69 e.Whether.to.normalize.end.of.li
4f220 6e 65 73 20 74 6f 20 5c 6e 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 nes.to.\n.or.not......*......*.@
4f240 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 return.string......*/.....public
4f260 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 24 6e 6f 72 6d 61 6c .function.getErrorOutput($normal
4f280 69 7a 65 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 ize.=.false).....{.........if.(!
4f2a0 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 53 74 72 65 61 6d 73 49 6e 64 65 70 65 6e 64 65 6e 74 $this->captureStreamsIndependent
4f2c0 6c 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 ly).{.............throw.new.\Log
4f2e0 69 63 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 65 72 72 6f 72 20 6f 75 74 70 75 74 20 69 73 icException('The.error.output.is
4f300 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 74 68 65 20 74 65 73 74 65 72 20 69 .not.available.when.the.tester.i
4f320 73 20 72 75 6e 20 77 69 74 68 6f 75 74 20 22 63 61 70 74 75 72 65 5f 73 74 64 65 72 72 5f 73 65 s.run.without."capture_stderr_se
4f340 70 61 72 61 74 65 6c 79 22 20 6f 70 74 69 6f 6e 20 73 65 74 2e 27 29 3b 0a 20 20 20 20 20 20 20 parately".option.set.');........
4f360 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 77 69 6e 64 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 .}..........rewind($this->output
4f380 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 ->getErrorOutput()->getStream())
4f3a0 3b 0a 0a 20 20 20 20 20 20 20 20 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 ;..........$display.=.stream_get
4f3c0 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 45 72 72 6f _contents($this->output->getErro
4f3e0 72 4f 75 74 70 75 74 28 29 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 20 20 20 20 20 20 rOutput()->getStream());........
4f400 20 20 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..if.($normalize).{.............
4f420 24 64 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 $display.=.str_replace(PHP_EOL,.
4f440 22 5c 6e 22 2c 20 24 64 69 73 70 6c 61 79 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 "\n",.$display);.........}......
4f460 20 20 20 20 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 ....return.$display;.....}......
4f480 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 69 6e 70 75 74 20 69 6e 73 74 61 6e /**......*.Gets.the.input.instan
4f4a0 63 65 20 75 73 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 ce.used.by.the.last.execution.of
4f4c0 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 .the.application.......*......*.
4f4e0 40 72 65 74 75 72 6e 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 54 68 65 20 63 75 72 72 65 @return.InputInterface.The.curre
4f500 6e 74 20 69 6e 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 nt.input.instance......*/.....pu
4f520 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 20 20 20 20 7b 0a 20 blic.function.getInput().....{..
4f540 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 20 20 20 20 .......return.$this->input;.....
4f560 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6f 75 74 70 75 }....../**......*.Gets.the.outpu
4f580 74 20 69 6e 73 74 61 6e 63 65 20 75 73 65 64 20 62 79 20 74 68 65 20 6c 61 73 74 20 65 78 65 63 t.instance.used.by.the.last.exec
4f5a0 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a ution.of.the.application.......*
4f5c0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 ......*.@return.OutputInterface.
4f5e0 54 68 65 20 63 75 72 72 65 6e 74 20 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 The.current.output.instance.....
4f600 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 .*/.....public.function.getOutpu
4f620 74 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 t().....{.........return.$this->
4f640 6f 75 74 70 75 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 output;.....}....../**......*.Ge
4f660 74 73 20 74 68 65 20 73 74 61 74 75 73 20 63 6f 64 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 ts.the.status.code.returned.by.t
4f680 68 65 20 6c 61 73 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 70 70 6c 69 63 61 he.last.execution.of.the.applica
4f6a0 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 tion.......*......*.@return.int.
4f6c0 54 68 65 20 73 74 61 74 75 73 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c The.status.code......*/.....publ
4f6e0 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 0a 20 20 20 20 ic.function.getStatusCode().....
4f700 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f {.........return.$this->statusCo
4f720 64 65 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 de;.....}.}.<?php../*..*.This.fi
4f740 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 le.is.part.of.the.Symfony.packag
4f760 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 e...*..*.(c).Fabien.Potencier.<f
4f780 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 abien@symfony.com>..*..*.For.the
4f7a0 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 20 69 6e 66 6f .full.copyright.and.license.info
4f7c0 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 rmation,.please.view.the.LICENSE
4f7e0 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 ..*.file.that.was.distributed.wi
4f800 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 th.this.source.code...*/..namesp
4f820 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 46 6f ace.Symfony\Component\Console\Fo
4f840 72 6d 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 rmatter;..use.Symfony\Component\
4f860 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 65 6e Console\Exception\InvalidArgumen
4f880 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 6f 72 6d 61 74 74 65 72 20 73 74 tException;../**..*.Formatter.st
4f8a0 79 6c 65 20 63 6c 61 73 73 20 66 6f 72 20 64 65 66 69 6e 69 6e 67 20 73 74 79 6c 65 73 2e 0a 20 yle.class.for.defining.styles...
4f8c0 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b 6f 6e 73 74 61 6e 74 69 6e 20 4b 75 64 72 79 61 73 68 *..*.@author.Konstantin.Kudryash
4f8e0 6f 76 20 3c 65 76 65 72 2e 7a 65 74 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 ov.<ever.zet@gmail.com>..*/.clas
4f900 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 s.OutputFormatterStyle.implement
4f920 73 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 0a s.OutputFormatterStyleInterface.
4f940 7b 0a 20 20 20 20 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 46 {.....private.static.$availableF
4f960 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 oregroundColors.=.array(........
4f980 20 27 62 6c 61 63 6b 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 30 2c 20 27 .'black'.=>.array('set'.=>.30,.'
4f9a0 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 20 20 20 20 20 20 20 20 27 72 65 64 27 20 3d 3e 20 unset'.=>.39),.........'red'.=>.
4f9c0 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
4f9e0 29 2c 0a 20 20 20 20 20 20 20 20 27 67 72 65 65 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 ),.........'green'.=>.array('set
4fa00 27 20 3d 3e 20 33 32 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 20 20 20 20 20 20 20 '.=>.32,.'unset'.=>.39),........
4fa20 20 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 20 33 33 2c 20 .'yellow'.=>.array('set'.=>.33,.
4fa40 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 20 20 20 20 20 20 20 20 27 62 6c 75 65 27 20 3d 'unset'.=>.39),.........'blue'.=
4fa60 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 34 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 >.array('set'.=>.34,.'unset'.=>.
4fa80 33 39 29 2c 0a 20 20 20 20 20 20 20 20 27 6d 61 67 65 6e 74 61 27 20 3d 3e 20 61 72 72 61 79 28 39),.........'magenta'.=>.array(
4faa0 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 20 20 20 'set'.=>.35,.'unset'.=>.39),....
4fac0 20 20 20 20 20 27 63 79 61 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 36 .....'cyan'.=>.array('set'.=>.36
4fae0 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 20 20 20 20 20 20 20 20 27 77 68 69 74 65 ,.'unset'.=>.39),.........'white
4fb00 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 37 2c 20 27 75 6e 73 65 74 27 20 '.=>.array('set'.=>.37,.'unset'.
4fb20 3d 3e 20 33 39 29 2c 0a 20 20 20 20 20 20 20 20 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 61 72 72 =>.39),.........'default'.=>.arr
4fb40 61 79 28 27 73 65 74 27 20 3d 3e 20 33 39 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a ay('set'.=>.39,.'unset'.=>.39),.
4fb60 20 20 20 20 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c ....);.....private.static.$avail
4fb80 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 20 20 ableBackgroundColors.=.array(...
4fba0 20 20 20 20 20 20 27 62 6c 61 63 6b 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 ......'black'.=>.array('set'.=>.
4fbc0 34 30 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 20 20 20 20 20 20 20 20 27 72 65 64 40,.'unset'.=>.49),.........'red
4fbe0 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 31 2c 20 27 75 6e 73 65 74 27 20 '.=>.array('set'.=>.41,.'unset'.
4fc00 3d 3e 20 34 39 29 2c 0a 20 20 20 20 20 20 20 20 27 67 72 65 65 6e 27 20 3d 3e 20 61 72 72 61 79 =>.49),.........'green'.=>.array
4fc20 28 27 73 65 74 27 20 3d 3e 20 34 32 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 20 20 ('set'.=>.42,.'unset'.=>.49),...
4fc40 20 20 20 20 20 20 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 ......'yellow'.=>.array('set'.=>
4fc60 20 34 33 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 20 20 20 20 20 20 20 20 27 62 6c .43,.'unset'.=>.49),.........'bl
4fc80 75 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 34 2c 20 27 75 6e 73 65 74 ue'.=>.array('set'.=>.44,.'unset
4fca0 27 20 3d 3e 20 34 39 29 2c 0a 20 20 20 20 20 20 20 20 27 6d 61 67 65 6e 74 61 27 20 3d 3e 20 61 '.=>.49),.........'magenta'.=>.a
4fcc0 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 35 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 rray('set'.=>.45,.'unset'.=>.49)
4fce0 2c 0a 20 20 20 20 20 20 20 20 27 63 79 61 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 ,.........'cyan'.=>.array('set'.
4fd00 3d 3e 20 34 36 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 20 20 20 20 20 20 20 20 27 =>.46,.'unset'.=>.49),.........'
4fd20 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
4fd40 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 20 20 20 20 20 20 20 20 27 64 65 66 61 75 6c 74 27 20 3d set'.=>.49),.........'default'.=
4fd60 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 39 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 >.array('set'.=>.49,.'unset'.=>.
4fd80 34 39 29 2c 0a 20 20 20 20 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 49),.....);.....private.static.$
4fda0 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 availableOptions.=.array(.......
4fdc0 20 20 27 62 6f 6c 64 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 31 2c 20 27 75 ..'bold'.=>.array('set'.=>.1,.'u
4fde0 6e 73 65 74 27 20 3d 3e 20 32 32 29 2c 0a 20 20 20 20 20 20 20 20 27 75 6e 64 65 72 73 63 6f 72 nset'.=>.22),.........'underscor
4fe00 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'.
4fe20 3d 3e 20 32 34 29 2c 0a 20 20 20 20 20 20 20 20 27 62 6c 69 6e 6b 27 20 3d 3e 20 61 72 72 61 79 =>.24),.........'blink'.=>.array
4fe40 28 27 73 65 74 27 20 3d 3e 20 35 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 35 29 2c 0a 20 20 20 ('set'.=>.5,.'unset'.=>.25),....
4fe60 20 20 20 20 20 27 72 65 76 65 72 73 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e .....'reverse'.=>.array('set'.=>
4fe80 20 37 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 37 29 2c 0a 20 20 20 20 20 20 20 20 27 63 6f 6e .7,.'unset'.=>.27),.........'con
4fea0 63 65 61 6c 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 38 2c 20 27 75 6e 73 65 ceal'.=>.array('set'.=>.8,.'unse
4fec0 74 27 20 3d 3e 20 32 38 29 2c 0a 20 20 20 20 29 3b 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 t'.=>.28),.....);......private.$
4fee0 66 6f 72 65 67 72 6f 75 6e 64 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 62 61 63 6b 67 72 6f foreground;.....private.$backgro
4ff00 75 6e 64 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 und;.....private.$options.=.arra
4ff20 79 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 69 74 69 61 6c 69 7a 65 73 y();....../**......*.Initializes
4ff40 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 74 65 72 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 2a 0a .output.formatter.style.......*.
4ff60 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 66 6f 72 65 67 .....*.@param.string|null.$foreg
4ff80 72 6f 75 6e 64 20 54 68 65 20 73 74 79 6c 65 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 round.The.style.foreground.color
4ffa0 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 .name......*.@param.string|null.
4ffc0 24 62 61 63 6b 67 72 6f 75 6e 64 20 54 68 65 20 73 74 79 6c 65 20 62 61 63 6b 67 72 6f 75 6e 64 $background.The.style.background
4ffe0 20 63 6f 6c 6f 72 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 .color.name......*.@param.array.
50000 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 20 20 20 20 54 68 65 20 73 74 79 6c 65 20 6f 70 74 69 ......$options....The.style.opti
50020 6f 6e 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 ons......*/.....public.function.
50040 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 2c 20 __construct($foreground.=.null,.
50060 24 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f $background.=.null,.array.$optio
50080 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 ns.=.array()).....{.........if.(
500a0 6e 75 6c 6c 20 21 3d 3d 20 24 66 6f 72 65 67 72 6f 75 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 null.!==.$foreground).{.........
500c0 20 20 20 20 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 ....$this->setForeground($foregr
500e0 6f 75 6e 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c ound);.........}.........if.(nul
50100 6c 20 21 3d 3d 20 24 62 61 63 6b 67 72 6f 75 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 l.!==.$background).{............
50120 20 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 6e .$this->setBackground($backgroun
50140 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 d);.........}.........if.(count(
50160 24 6f 70 74 69 6f 6e 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e $options)).{.............$this->
50180 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a setOptions($options);.........}.
501a0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 73 74 79 6c 65 ....}....../**......*.Sets.style
501c0 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .foreground.color.......*......*
501e0 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 63 6f 6c 6f 72 20 54 68 65 20 63 .@param.string|null.$color.The.c
50200 6f 6c 6f 72 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 olor.name......*......*.@throws.
50220 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 57 68 65 6e 20 74 68 InvalidArgumentException.When.th
50240 65 20 63 6f 6c 6f 72 20 6e 61 6d 65 20 69 73 6e 27 74 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 e.color.name.isn't.defined......
50260 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 46 6f 72 65 67 72 */.....public.function.setForegr
50280 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 ound($color.=.null).....{.......
502a0 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 ..if.(null.===.$color).{........
502c0 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a .....$this->foreground.=.null;..
502e0 20 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 ............return;.........}...
50300 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c .......if.(!isset(static::$avail
50320 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 29 29 20 7b ableForegroundColors[$color])).{
50340 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 .............throw.new.InvalidAr
50360 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 20 20 20 20 20 20 20 gumentException(sprintf(........
50380 20 20 20 20 20 20 20 20 20 27 49 6e 76 61 6c 69 64 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c .........'Invalid.foreground.col
503a0 6f 72 20 73 70 65 63 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 or.specified:."%s"..Expected.one
503c0 20 6f 66 20 28 25 73 29 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 6f .of.(%s)',.................$colo
503e0 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c r,.................implode(',.',
50400 20 61 72 72 61 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f .array_keys(static::$availableFo
50420 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 29 3b regroundColors)).............));
50440 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 65 67 .........}..........$this->foreg
50460 72 6f 75 6e 64 20 3d 20 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 round.=.static::$availableForegr
50480 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f oundColors[$color];.....}....../
504a0 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 73 74 79 6c 65 20 62 61 63 6b 67 72 6f 75 6e 64 20 **......*.Sets.style.background.
504c0 63 6f 6c 6f 72 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 color.......*......*.@param.stri
504e0 6e 67 7c 6e 75 6c 6c 20 24 63 6f 6c 6f 72 20 54 68 65 20 63 6f 6c 6f 72 20 6e 61 6d 65 0a 20 20 ng|null.$color.The.color.name...
50500 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d ...*......*.@throws.InvalidArgum
50520 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 74 68 65 20 63 6f 6c 6f 72 20 6e 61 6d 65 entException.When.the.color.name
50540 20 69 73 6e 27 74 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 .isn't.defined......*/.....publi
50560 63 20 66 75 6e 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 c.function.setBackground($color.
50580 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d =.null).....{.........if.(null.=
505a0 3d 3d 20 24 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ==.$color).{.............$this->
505c0 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 background.=.null;..............
505e0 72 65 74 75 72 6e 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 21 return;.........}..........if.(!
50600 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 6f 75 isset(static::$availableBackgrou
50620 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ndColors[$color])).{............
50640 20 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 .throw.new.InvalidArgumentExcept
50660 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 49 6e ion(sprintf(.................'In
50680 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 69 66 69 65 64 valid.background.color.specified
506a0 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 29 27 2c 0a 20 :."%s"..Expected.one.of.(%s)',..
506c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6c 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 ...............$color,..........
506e0 20 20 20 20 20 20 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 .......implode(',.',.array_keys(
50700 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 43 6f 6c 6f static::$availableBackgroundColo
50720 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a rs)).............));.........}..
50740 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 73 74 61 74 ........$this->background.=.stat
50760 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 ic::$availableBackgroundColors[$
50780 63 6f 6c 6f 72 5d 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 65 color];.....}....../**......*.Se
507a0 74 73 20 73 6f 6d 65 20 73 70 65 63 69 66 69 63 20 73 74 79 6c 65 20 6f 70 74 69 6f 6e 2e 0a 20 ts.some.specific.style.option...
507c0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6f 70 74 69 ....*......*.@param.string.$opti
507e0 6f 6e 20 54 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a on.The.option.name......*......*
50800 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f .@throws.InvalidArgumentExceptio
50820 6e 20 57 68 65 6e 20 74 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 69 73 6e 27 74 20 64 65 66 n.When.the.option.name.isn't.def
50840 69 6e 65 64 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 ined......*/.....public.function
50860 20 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 .setOption($option).....{.......
50880 20 20 69 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 ..if.(!isset(static::$availableO
508a0 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ptions[$option])).{.............
508c0 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
508e0 6f 6e 28 73 70 72 69 6e 74 66 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 49 6e 76 on(sprintf(.................'Inv
50900 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
50920 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ected.one.of.(%s)',.............
50940 20 20 20 20 24 6f 70 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6d 70 ....$option,.................imp
50960 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
50980 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 29 vailableOptions)).............))
509a0 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 21 69 6e 5f 61 72 72 ;.........}..........if.(!in_arr
509c0 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 5b 24 6f 70 ay(static::$availableOptions[$op
509e0 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 20 20 20 20 20 20 tion],.$this->options)).{.......
50a00 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 5d 20 3d 20 73 74 61 74 69 63 3a ......$this->options[].=.static:
50a20 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 3b 0a 20 20 20 :$availableOptions[$option];....
50a40 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 55 6e 73 .....}.....}....../**......*.Uns
50a60 65 74 73 20 73 6f 6d 65 20 73 70 65 63 69 66 69 63 20 73 74 79 6c 65 20 6f 70 74 69 6f 6e 2e 0a ets.some.specific.style.option..
50a80 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 6e 67 20 24 6f 70 74 .....*......*.@param.string.$opt
50aa0 69 6f 6e 20 54 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ion.The.option.name......*......
50ac0 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 *.@throws.InvalidArgumentExcepti
50ae0 6f 6e 20 57 68 65 6e 20 74 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 69 73 6e 27 74 20 64 65 on.When.the.option.name.isn't.de
50b00 66 69 6e 65 64 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 fined......*/.....public.functio
50b20 6e 20 75 6e 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 n.unsetOption($option).....{....
50b40 20 20 20 20 20 69 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 .....if.(!isset(static::$availab
50b60 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 leOptions[$option])).{..........
50b80 20 20 20 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
50ba0 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 ption(sprintf(.................'
50bc0 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 22 25 73 22 2e 20 Invalid.option.specified:."%s"..
50be0 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 0a 20 20 20 20 20 20 20 20 20 Expected.one.of.(%s)',..........
50c00 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......$option,.................
50c20 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 69 63 3a implode(',.',.array_keys(static:
50c40 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 :$availableOptions))............
50c60 20 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 70 6f 73 20 3d 20 61 .));.........}..........$pos.=.a
50c80 72 72 61 79 5f 73 65 61 72 63 68 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 rray_search(static::$availableOp
50ca0 74 69 6f 6e 73 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 3b tions[$option],.$this->options);
50cc0 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 20 .........if.(false.!==.$pos).{..
50ce0 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b ...........unset($this->options[
50d00 24 70 6f 73 5d 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 2a 2a $pos]);.........}.....}....../**
50d20 0a 20 20 20 20 20 2a 20 53 65 74 73 20 6d 75 6c 74 69 70 6c 65 20 73 74 79 6c 65 20 6f 70 74 69 ......*.Sets.multiple.style.opti
50d40 6f 6e 73 20 61 74 20 6f 6e 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 ons.at.once.......*......*.@para
50d60 6d 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 m.array.$options......*/.....pub
50d80 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 6f lic.function.setOptions(array.$o
50da0 70 74 69 6f 6e 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 70 74 ptions).....{.........$this->opt
50dc0 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 ions.=.array();..........foreach
50de0 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 20 20 20 20 20 20 20 .($options.as.$option).{........
50e00 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a .....$this->setOption($option);.
50e20 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 20 2a 20 ........}.....}....../**......*.
50e40 41 70 70 6c 69 65 73 20 74 68 65 20 73 74 79 6c 65 20 74 6f 20 61 20 67 69 76 65 6e 20 74 65 78 Applies.the.style.to.a.given.tex
50e60 74 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 6e 67 20 24 t.......*......*.@param.string.$
50e80 74 65 78 74 20 54 68 65 20 74 65 78 74 20 74 6f 20 73 74 79 6c 65 0a 20 20 20 20 20 2a 0a 20 20 text.The.text.to.style......*...
50ea0 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ...*.@return.string......*/.....
50ec0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 28 24 74 65 78 74 29 0a 20 20 20 public.function.apply($text)....
50ee0 20 7b 0a 20 20 20 20 20 20 20 20 24 73 65 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a .{.........$setCodes.=.array();.
50f00 20 20 20 20 20 20 20 20 24 75 6e 73 65 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a ........$unsetCodes.=.array();..
50f20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 65 ........if.(null.!==.$this->fore
50f40 67 72 6f 75 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 65 74 43 6f 64 65 73 5b ground).{.............$setCodes[
50f60 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 5b 27 73 65 74 27 5d 3b 0a 20 20 ].=.$this->foreground['set'];...
50f80 20 20 20 20 20 20 20 20 20 20 24 75 6e 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d ..........$unsetCodes[].=.$this-
50fa0 3e 66 6f 72 65 67 72 6f 75 6e 64 5b 27 75 6e 73 65 74 27 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a >foreground['unset'];.........}.
50fc0 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 62 61 63 6b ........if.(null.!==.$this->back
50fe0 67 72 6f 75 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 65 74 43 6f 64 65 73 5b ground).{.............$setCodes[
51000 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 3b 0a 20 20 ].=.$this->background['set'];...
51020 20 20 20 20 20 20 20 20 20 20 24 75 6e 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d ..........$unsetCodes[].=.$this-
51040 3e 62 61 63 6b 67 72 6f 75 6e 64 5b 27 75 6e 73 65 74 27 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a >background['unset'];.........}.
51060 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 ........if.(count($this->options
51080 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 73 2d )).{.............foreach.($this-
510a0 3e 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 >options.as.$option).{..........
510c0 20 20 20 20 20 20 20 24 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 5b 27 73 65 .......$setCodes[].=.$option['se
510e0 74 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 75 6e 73 65 74 43 6f 64 65 73 t'];.................$unsetCodes
51100 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 5b 27 75 6e 73 65 74 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 [].=.$option['unset'];..........
51120 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d ...}.........}..........if.(0.==
51140 3d 20 63 6f 75 6e 74 28 24 73 65 74 43 6f 64 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 =.count($setCodes)).{...........
51160 20 20 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ..return.$text;.........}.......
51180 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 5c 30 33 33 5b 25 73 6d 25 73 5c 30 33 ...return.sprintf("\033[%sm%s\03
511a0 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 6f 64 65 73 29 2c 3[%sm",.implode(';',.$setCodes),
511c0 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 74 43 6f 64 65 73 .$text,.implode(';',.$unsetCodes
511e0 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 ));.....}.}.<?php../*..*.This.fi
51200 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 le.is.part.of.the.Symfony.packag
51220 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 e...*..*.(c).Fabien.Potencier.<f
51240 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 abien@symfony.com>..*..*.For.the
51260 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 20 69 6e 66 6f .full.copyright.and.license.info
51280 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 rmation,.please.view.the.LICENSE
512a0 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 ..*.file.that.was.distributed.wi
512c0 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 th.this.source.code...*/..namesp
512e0 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 46 6f ace.Symfony\Component\Console\Fo
51300 72 6d 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 rmatter;..use.Symfony\Component\
51320 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 65 6e Console\Exception\InvalidArgumen
51340 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 6f 72 6d 61 74 74 65 72 20 63 6c tException;../**..*.Formatter.cl
51360 61 73 73 20 66 6f 72 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 2e 0a 20 2a 0a 20 2a 20 40 61 ass.for.console.output...*..*.@a
51380 75 74 68 6f 72 20 4b 6f 6e 73 74 61 6e 74 69 6e 20 4b 75 64 72 79 61 73 68 6f 76 20 3c 65 76 65 uthor.Konstantin.Kudryashov.<eve
513a0 72 2e 7a 65 74 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 4f 75 74 70 75 r.zet@gmail.com>..*/.class.Outpu
513c0 74 46 6f 72 6d 61 74 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 tFormatter.implements.OutputForm
513e0 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 atterInterface.{.....private.$de
51400 63 6f 72 61 74 65 64 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 73 20 3d 20 61 corated;.....private.$styles.=.a
51420 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 53 74 61 63 6b 3b rray();.....private.$styleStack;
51440 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 73 63 61 70 65 73 20 22 3c 22 20 73 70 65 ....../**......*.Escapes."<".spe
51460 63 69 61 6c 20 63 68 61 72 20 69 6e 20 67 69 76 65 6e 20 74 65 78 74 2e 0a 20 20 20 20 20 2a 0a cial.char.in.given.text.......*.
51480 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 65 78 74 20 54 65 78 74 20 .....*.@param.string.$text.Text.
514a0 74 6f 20 65 73 63 61 70 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 to.escape......*......*.@return.
514c0 73 74 72 69 6e 67 20 45 73 63 61 70 65 64 20 74 65 78 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 string.Escaped.text......*/.....
514e0 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 28 24 74 public.static.function.escape($t
51500 65 78 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 65 78 74 20 3d 20 70 72 65 67 5f ext).....{.........$text.=.preg_
51520 72 65 70 6c 61 63 65 28 27 2f 28 5b 5e 5c 5c 5c 5c 5d 3f 29 3c 2f 27 2c 20 27 24 31 5c 5c 3c 27 replace('/([^\\\\]?)</',.'$1\\<'
51540 2c 20 24 74 65 78 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 ,.$text);..........if.('\\'.===.
51560 73 75 62 73 74 72 28 24 74 65 78 74 2c 20 2d 31 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 substr($text,.-1)).{............
51580 20 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 74 65 78 74 29 3b 0a 20 20 20 20 20 20 20 20 20 .$len.=.strlen($text);..........
515a0 20 20 20 24 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 20 ...$text.=.rtrim($text,.'\\');..
515c0 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 ...........$text..=.str_repeat('
515e0 3c 3c 27 2c 20 24 6c 65 6e 20 2d 20 73 74 72 6c 65 6e 28 24 74 65 78 74 29 29 3b 0a 20 20 20 20 <<',.$len.-.strlen($text));.....
51600 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 20 20 20 ....}..........return.$text;....
51620 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 69 74 69 61 6c 69 7a 65 73 20 63 .}....../**......*.Initializes.c
51640 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 74 65 72 2e 0a 20 20 20 20 20 2a 0a onsole.output.formatter.......*.
51660 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 20 20 20 20 20 .....*.@param.bool..............
51680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 63 6f 72 61 74 65 64 20 57 68 65 74 68 65 72 ..............$decorated.Whether
516a0 20 74 68 69 73 20 66 6f 72 6d 61 74 74 65 72 20 73 68 6f 75 6c 64 20 61 63 74 75 61 6c 6c 79 20 .this.formatter.should.actually.
516c0 64 65 63 6f 72 61 74 65 20 73 74 72 69 6e 67 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f decorate.strings......*.@param.O
516e0 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 5b 5d 20 24 utputFormatterStyleInterface[].$
51700 73 74 79 6c 65 73 20 20 20 20 41 72 72 61 79 20 6f 66 20 22 6e 61 6d 65 20 3d 3e 20 46 6f 72 6d styles....Array.of."name.=>.Form
51720 61 74 74 65 72 53 74 79 6c 65 22 20 69 6e 73 74 61 6e 63 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 atterStyle".instances......*/...
51740 20 20 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 64 ..public.function.__construct($d
51760 65 63 6f 72 61 74 65 64 20 3d 20 66 61 6c 73 65 2c 20 61 72 72 61 79 20 24 73 74 79 6c 65 73 20 ecorated.=.false,.array.$styles.
51780 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e =.array()).....{.........$this->
517a0 64 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 decorated.=.(bool).$decorated;..
517c0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 65 72 72 6f 72 27 2c ........$this->setStyle('error',
517e0 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 28 27 77 68 69 74 65 .new.OutputFormatterStyle('white
51800 27 2c 20 27 72 65 64 27 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 53 74 ',.'red'));.........$this->setSt
51820 79 6c 65 28 27 69 6e 66 6f 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 yle('info',.new.OutputFormatterS
51840 74 79 6c 65 28 27 67 72 65 65 6e 27 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 tyle('green'));.........$this->s
51860 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 74 70 75 74 46 6f 72 etStyle('comment',.new.OutputFor
51880 6d 61 74 74 65 72 53 74 79 6c 65 28 27 79 65 6c 6c 6f 77 27 29 29 3b 0a 20 20 20 20 20 20 20 20 matterStyle('yellow'));.........
518a0 24 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 $this->setStyle('question',.new.
518c0 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 63 OutputFormatterStyle('black',.'c
518e0 79 61 6e 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 73 74 79 6c 65 yan'));..........foreach.($style
51900 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 73 74 79 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 s.as.$name.=>.$style).{.........
51920 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 2c 20 24 73 74 79 6c ....$this->setStyle($name,.$styl
51940 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 e);.........}..........$this->st
51960 79 6c 65 53 74 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 yleStack.=.new.OutputFormatterSt
51980 79 6c 65 53 74 61 63 6b 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 yleStack();.....}....../**......
519a0 2a 20 53 65 74 73 20 74 68 65 20 64 65 63 6f 72 61 74 65 64 20 66 6c 61 67 2e 0a 20 20 20 20 20 *.Sets.the.decorated.flag.......
519c0 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 64 65 63 6f 72 61 74 65 64 20 *......*.@param.bool.$decorated.
519e0 57 68 65 74 68 65 72 20 74 6f 20 64 65 63 6f 72 61 74 65 20 74 68 65 20 6d 65 73 73 61 67 65 73 Whether.to.decorate.the.messages
51a00 20 6f 72 20 6e 6f 74 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 .or.not......*/.....public.funct
51a20 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 0a 20 20 20 ion.setDecorated($decorated)....
51a40 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 20 3d 20 28 62 .{.........$this->decorated.=.(b
51a60 6f 6f 6c 29 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a ool).$decorated;.....}....../**.
51a80 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 64 65 63 6f 72 61 74 65 64 20 66 6c 61 67 2e 0a .....*.Gets.the.decorated.flag..
51aa0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 .....*......*.@return.bool.true.
51ac0 69 66 20 74 68 65 20 6f 75 74 70 75 74 20 77 69 6c 6c 20 64 65 63 6f 72 61 74 65 20 6d 65 73 73 if.the.output.will.decorate.mess
51ae0 61 67 65 73 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 ages,.false.otherwise......*/...
51b00 20 20 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 29 0a ..public.function.isDecorated().
51b20 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 64 65 63 6f ....{.........return.$this->deco
51b40 72 61 74 65 64 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 65 74 rated;.....}....../**......*.Set
51b60 73 20 61 20 6e 65 77 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 s.a.new.style.......*......*.@pa
51b80 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ram.string......................
51ba0 20 20 24 6e 61 6d 65 20 20 54 68 65 20 73 74 79 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 ..$name..The.style.name......*.@
51bc0 70 61 72 61 6d 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 param.OutputFormatterStyleInterf
51be0 61 63 65 20 24 73 74 79 6c 65 20 54 68 65 20 73 74 79 6c 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 ace.$style.The.style.instance...
51c00 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 74 53 74 79 ...*/.....public.function.setSty
51c20 6c 65 28 24 6e 61 6d 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 le($name,.OutputFormatterStyleIn
51c40 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 terface.$style).....{.........$t
51c60 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 20 3d his->styles[strtolower($name)].=
51c80 20 24 73 74 79 6c 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 43 .$style;.....}....../**......*.C
51ca0 68 65 63 6b 73 20 69 66 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 74 65 72 20 68 61 73 20 73 74 hecks.if.output.formatter.has.st
51cc0 79 6c 65 20 77 69 74 68 20 73 70 65 63 69 66 69 65 64 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a yle.with.specified.name.......*.
51ce0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 0a 20 20 20 20 20 .....*.@param.string.$name......
51d00 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......*/...
51d20 20 20 70 75 62 6c 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 ..public.function.hasStyle($name
51d40 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 ).....{.........return.isset($th
51d60 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 29 3b 0a is->styles[strtolower($name)]);.
51d80 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 73 74 79 6c 65 ....}....../**......*.Gets.style
51da0 20 6f 70 74 69 6f 6e 73 20 66 72 6f 6d 20 73 74 79 6c 65 20 77 69 74 68 20 73 70 65 63 69 66 69 .options.from.style.with.specifi
51dc0 65 64 20 6e 61 6d 65 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 ed.name.......*......*.@param.st
51de0 72 69 6e 67 20 24 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e ring.$name......*......*.@return
51e00 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 0a 20 .OutputFormatterStyleInterface..
51e20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 ....*......*.@throws.InvalidArgu
51e40 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 73 74 79 6c 65 20 69 73 6e 27 74 20 64 mentException.When.style.isn't.d
51e60 65 66 69 6e 65 64 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 efined......*/.....public.functi
51e80 6f 6e 20 67 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 on.getStyle($name).....{........
51ea0 20 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 53 74 79 6c 65 28 24 6e 61 6d 65 29 29 20 7b 0a .if.(!$this->hasStyle($name)).{.
51ec0 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 ............throw.new.InvalidArg
51ee0 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 64 65 66 69 6e 65 umentException(sprintf('Undefine
51f00 64 20 73 74 79 6c 65 3a 20 25 73 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d d.style:.%s',.$name));.........}
51f20 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 ..........return.$this->styles[s
51f40 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a trtolower($name)];.....}....../*
51f60 2a 0a 20 20 20 20 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 6d 65 73 73 61 67 65 20 61 63 63 6f 72 *......*.Formats.a.message.accor
51f80 64 69 6e 67 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 73 74 79 6c 65 73 2e 0a 20 20 20 20 20 2a ding.to.the.given.styles.......*
51fa0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 20 54 ......*.@param.string.$message.T
51fc0 68 65 20 6d 65 73 73 61 67 65 20 74 6f 20 73 74 79 6c 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 he.message.to.style......*......
51fe0 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 73 74 79 6c 65 64 20 6d 65 73 73 *.@return.string.The.styled.mess
52000 61 67 65 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 age......*/.....public.function.
52020 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 format($message).....{.........$
52040 6d 65 73 73 61 67 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6d 65 73 73 61 67 65 3b 0a 20 20 20 message.=.(string).$message;....
52060 20 20 20 20 20 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 .....$offset.=.0;.........$outpu
52080 74 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 24 74 61 67 52 65 67 65 78 20 3d 20 27 5b 61 2d t.=.'';.........$tagRegex.=.'[a-
520a0 7a 5d 5b 61 2d 7a 30 2d 39 5f 3d 3b 2d 5d 2a 2b 27 3b 0a 20 20 20 20 20 20 20 20 70 72 65 67 5f z][a-z0-9_=;-]*+';.........preg_
520c0 6d 61 74 63 68 5f 61 6c 6c 28 22 23 3c 28 28 24 74 61 67 52 65 67 65 78 29 20 7c 20 2f 28 24 74 match_all("#<(($tagRegex).|./($t
520e0 61 67 52 65 67 65 78 29 3f 29 3e 23 69 78 22 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 6d 61 74 63 agRegex)?)>#ix",.$message,.$matc
52100 68 65 73 2c 20 50 52 45 47 5f 4f 46 46 53 45 54 5f 43 41 50 54 55 52 45 29 3b 0a 20 20 20 20 20 hes,.PREG_OFFSET_CAPTURE);......
52120 20 20 20 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 5b 30 5d 20 61 73 20 24 69 20 3d 3e ...foreach.($matches[0].as.$i.=>
52140 20 24 6d 61 74 63 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 6f 73 20 3d 20 24 6d .$match).{.............$pos.=.$m
52160 61 74 63 68 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 65 78 74 20 3d 20 24 6d 61 atch[1];.............$text.=.$ma
52180 74 63 68 5b 30 5d 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 21 3d 20 24 70 tch[0];..............if.(0.!=.$p
521a0 6f 73 20 26 26 20 27 5c 5c 27 20 3d 3d 20 24 6d 65 73 73 61 67 65 5b 24 70 6f 73 20 2d 20 31 5d os.&&.'\\'.==.$message[$pos.-.1]
521c0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 ).{.................continue;...
521e0 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 64 64 20 ..........}..............//.add.
52200 74 68 65 20 74 65 78 74 20 75 70 20 74 6f 20 74 68 65 20 6e 65 78 74 20 74 61 67 0a 20 20 20 20 the.text.up.to.the.next.tag.....
52220 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 2e 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 ........$output..=.$this->applyC
52240 75 72 72 65 6e 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 urrentStyle(substr($message,.$of
52260 66 73 65 74 2c 20 24 70 6f 73 20 2d 20 24 6f 66 66 73 65 74 29 29 3b 0a 20 20 20 20 20 20 20 20 fset,.$pos.-.$offset));.........
52280 20 20 20 20 24 6f 66 66 73 65 74 20 3d 20 24 70 6f 73 20 2b 20 73 74 72 6c 65 6e 28 24 74 65 78 ....$offset.=.$pos.+.strlen($tex
522a0 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6f 70 65 6e 69 6e 67 20 74 61 67 3f t);..............//.opening.tag?
522c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 70 65 6e 20 3d 20 27 2f 27 20 21 3d 20 .............if.($open.=.'/'.!=.
522e0 24 74 65 78 74 5b 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 61 67 $text[1]).{.................$tag
52300 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 5b 24 69 5d 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 .=.$matches[1][$i][0];..........
52320 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 20 24 74 61 67 ...}.else.{.................$tag
52340 20 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 5b 24 69 5d 5b 30 5d 29 20 3f 20 24 .=.isset($matches[3][$i][0]).?.$
52360 6d 61 74 63 68 65 73 5b 33 5d 5b 24 69 5d 5b 30 5d 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 matches[3][$i][0].:.'';.........
52380 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 6f 70 65 6e 20 26 26 ....}..............if.(!$open.&&
523a0 20 21 24 74 61 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3c 2f 3e .!$tag).{.................//.</>
523c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 .................$this->styleSta
523e0 63 6b 2d 3e 70 6f 70 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 ck->pop();.............}.elseif.
52400 28 66 61 6c 73 65 20 3d 3d 3d 20 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 (false.===.$style.=.$this->creat
52420 65 53 74 79 6c 65 46 72 6f 6d 53 74 72 69 6e 67 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 67 eStyleFromString(strtolower($tag
52440 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 2e 3d ))).{.................$output..=
52460 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 28 24 74 65 78 74 29 .$this->applyCurrentStyle($text)
52480 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 65 6e 29 20 7b ;.............}.elseif.($open).{
524a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 .................$this->styleSta
524c0 63 6b 2d 3e 70 75 73 68 28 24 73 74 79 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 ck->push($style);.............}.
524e0 65 6c 73 65 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 73 74 else.{.................$this->st
52500 79 6c 65 53 74 61 63 6b 2d 3e 70 6f 70 28 24 73 74 79 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 20 yleStack->pop($style);..........
52520 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 6f 75 74 70 75 74 20 ...}.........}..........$output.
52540 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 28 73 75 62 73 .=.$this->applyCurrentStyle(subs
52560 74 72 28 24 6d 65 73 73 61 67 65 2c 20 24 6f 66 66 73 65 74 29 29 3b 0a 0a 20 20 20 20 20 20 20 tr($message,.$offset));.........
52580 20 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 2c 20 27 .if.(false.!==.strpos($output,.'
525a0 3c 3c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 74 72 <<')).{.............return.strtr
525c0 28 24 6f 75 74 70 75 74 2c 20 61 72 72 61 79 28 27 5c 5c 3c 27 20 3d 3e 20 27 3c 27 2c 20 27 3c ($output,.array('\\<'.=>.'<',.'<
525e0 3c 27 20 3d 3e 20 27 5c 5c 27 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 <'.=>.'\\'));.........}.........
52600 20 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 3c 27 2c 20 27 3c 27 2c 20 .return.str_replace('\\<',.'<',.
52620 24 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 $output);.....}....../**......*.
52640 40 72 65 74 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 @return.OutputFormatterStyleStac
52660 6b 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 67 65 k......*/.....public.function.ge
52680 74 53 74 79 6c 65 53 74 61 63 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 tStyleStack().....{.........retu
526a0 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 rn.$this->styleStack;.....}.....
526c0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 72 69 65 73 20 74 6f 20 63 72 65 61 74 65 20 6e 65 77 20 ./**......*.Tries.to.create.new.
526e0 73 74 79 6c 65 20 69 6e 73 74 61 6e 63 65 20 66 72 6f 6d 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 style.instance.from.string......
52700 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 73 74 72 69 6e 67 0a .*......*.@param.string.$string.
52720 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 6d .....*......*.@return.OutputForm
52740 61 74 74 65 72 53 74 79 6c 65 7c 62 6f 6f 6c 20 66 61 6c 73 65 20 69 66 20 73 74 72 69 6e 67 20 atterStyle|bool.false.if.string.
52760 69 73 20 6e 6f 74 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 is.not.format.string......*/....
52780 20 70 72 69 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 .private.function.createStyleFro
527a0 6d 53 74 72 69 6e 67 28 24 73 74 72 69 6e 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 mString($string).....{.........i
527c0 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 24 73 74 72 69 6e 67 5d 29 f.(isset($this->styles[$string])
527e0 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 68 69 73 2d 3e 73 74 ).{.............return.$this->st
52800 79 6c 65 73 5b 24 73 74 72 69 6e 67 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 yles[$string];.........}........
52820 20 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 2f 28 5b 5e 3d 5d 2b 29 3d ..if.(!preg_match_all('/([^=]+)=
52840 28 5b 5e 3b 5d 2b 29 28 3b 7c 24 29 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 72 69 ([^;]+)(;|$)/',.strtolower($stri
52860 6e 67 29 2c 20 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 29 20 ng),.$matches,.PREG_SET_ORDER)).
52880 7b 0a 20 20 20 20 20 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 {.............return.false;.....
528a0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 73 74 79 6c 65 20 3d 20 6e 65 77 20 4f 75 74 70 ....}..........$style.=.new.Outp
528c0 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 utFormatterStyle();.........fore
528e0 61 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 20 20 20 20 20 ach.($matches.as.$match).{......
52900 20 20 20 20 20 20 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 6d 61 74 63 68 29 3b 0a 0a 20 20 20 .......array_shift($match);.....
52920 20 20 20 20 20 20 20 20 20 69 66 20 28 27 66 67 27 20 3d 3d 20 24 6d 61 74 63 68 5b 30 5d 29 20 .........if.('fg'.==.$match[0]).
52940 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 79 6c 65 2d 3e 73 65 74 46 6f 72 {.................$style->setFor
52960 65 67 72 6f 75 6e 64 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 eground($match[1]);.............
52980 7d 20 65 6c 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 20 }.elseif.('bg'.==.$match[0]).{..
529a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 79 6c 65 2d 3e 73 65 74 42 61 63 6b 67 72 ...............$style->setBackgr
529c0 6f 75 6e 64 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 ound($match[1]);.............}.e
529e0 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 lse.{.................try.{.....
52a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 79 6c 65 2d 3e 73 65 74 4f 70 74 69 6f ................$style->setOptio
52a20 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 n($match[1]);.................}.
52a40 63 61 74 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 catch.(\InvalidArgumentException
52a60 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 .$e).{.....................retur
52a80 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 n.false;.................}......
52aa0 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 72 65 74 75 .......}.........}..........retu
52ac0 72 6e 20 24 73 74 79 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a rn.$style;.....}....../**......*
52ae0 20 41 70 70 6c 69 65 73 20 63 75 72 72 65 6e 74 20 73 74 79 6c 65 20 66 72 6f 6d 20 73 74 61 63 .Applies.current.style.from.stac
52b00 6b 20 74 6f 20 74 65 78 74 2c 20 69 66 20 6d 75 73 74 20 62 65 20 61 70 70 6c 69 65 64 2e 0a 20 k.to.text,.if.must.be.applied...
52b20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 65 78 74 ....*......*.@param.string.$text
52b40 20 49 6e 70 75 74 20 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 .Input.text......*......*.@retur
52b60 6e 20 73 74 72 69 6e 67 20 53 74 79 6c 65 64 20 74 65 78 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 n.string.Styled.text......*/....
52b80 20 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
52ba0 79 6c 65 28 24 74 65 78 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 yle($text).....{.........return.
52bc0 24 74 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 26 26 20 73 74 72 6c 65 6e 28 24 $this->isDecorated().&&.strlen($
52be0 74 65 78 74 29 20 3e 20 30 20 3f 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 67 text).>.0.?.$this->styleStack->g
52c00 65 74 43 75 72 72 65 6e 74 28 29 2d 3e 61 70 70 6c 79 28 24 74 65 78 74 29 20 3a 20 24 74 65 78 etCurrent()->apply($text).:.$tex
52c20 74 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c t;.....}.}.<?php../*..*.This.fil
52c40 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 e.is.part.of.the.Symfony.package
52c60 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 ...*..*.(c).Fabien.Potencier.<fa
52c80 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 bien@symfony.com>..*..*.For.the.
52ca0 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 20 69 6e 66 6f 72 full.copyright.and.license.infor
52cc0 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a mation,.please.view.the.LICENSE.
52ce0 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 .*.file.that.was.distributed.wit
52d00 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 h.this.source.code...*/..namespa
52d20 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 46 6f 72 ce.Symfony\Component\Console\For
52d40 6d 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 matter;..use.Symfony\Component\C
52d60 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 65 6e 74 onsole\Exception\InvalidArgument
52d80 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 65 61 6e 2d Exception;../**..*.@author.Jean-
52da0 46 72 61 6e c3 a7 6f 69 73 20 53 69 6d 6f 6e 20 3c 63 6f 6e 74 61 63 74 40 6a 66 73 69 6d 6f 6e Fran..ois.Simon.<contact@jfsimon
52dc0 2e 66 72 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 .fr>..*/.class.OutputFormatterSt
52de0 79 6c 65 53 74 61 63 6b 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 4f yleStack.{...../**......*.@var.O
52e00 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 5b 5d 0a 20 utputFormatterStyleInterface[]..
52e20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 73 3b 0a 0a 20 20 20 ....*/.....private.$styles;.....
52e40 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 ./**......*.@var.OutputFormatter
52e60 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 StyleInterface......*/.....priva
52e80 74 65 20 24 65 6d 70 74 79 53 74 79 6c 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 te.$emptyStyle;....../**......*.
52ea0 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 Constructor.......*......*.@para
52ec0 6d 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 7c m.OutputFormatterStyleInterface|
52ee0 6e 75 6c 6c 20 24 65 6d 70 74 79 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 null.$emptyStyle......*/.....pub
52f00 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 74 46 lic.function.__construct(OutputF
52f20 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 65 6d 70 74 79 53 74 79 ormatterStyleInterface.$emptySty
52f40 6c 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e le.=.null).....{.........$this->
52f60 65 6d 70 74 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 emptyStyle.=.$emptyStyle.?:.new.
52f80 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 29 3b 0a 20 20 20 20 20 20 20 20 OutputFormatterStyle();.........
52fa0 24 74 68 69 73 2d 3e 72 65 73 65 74 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 $this->reset();.....}....../**..
52fc0 20 20 20 20 2a 20 52 65 73 65 74 73 20 73 74 61 63 6b 20 28 69 65 2e 20 65 6d 70 74 79 20 69 6e ....*.Resets.stack.(ie..empty.in
52fe0 74 65 72 6e 61 6c 20 61 72 72 61 79 73 29 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c ternal.arrays).......*/.....publ
53000 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 ic.function.reset().....{.......
53020 20 20 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 20 20 20 20 7d ..$this->styles.=.array();.....}
53040 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 75 73 68 65 73 20 61 20 73 74 79 6c 65 20 ....../**......*.Pushes.a.style.
53060 69 6e 20 74 68 65 20 73 74 61 63 6b 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 in.the.stack.......*......*.@par
53080 61 6d 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 am.OutputFormatterStyleInterface
530a0 20 24 73 74 79 6c 65 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 .$style......*/.....public.funct
530c0 69 6f 6e 20 70 75 73 68 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 ion.push(OutputFormatterStyleInt
530e0 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 erface.$style).....{.........$th
53100 69 73 2d 3e 73 74 79 6c 65 73 5b 5d 20 3d 20 24 73 74 79 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 is->styles[].=.$style;.....}....
53120 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 6f 70 73 20 61 20 73 74 79 6c 65 20 66 72 6f 6d 20 74 ../**......*.Pops.a.style.from.t
53140 68 65 20 73 74 61 63 6b 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f he.stack.......*......*.@param.O
53160 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 7c 6e 75 6c utputFormatterStyleInterface|nul
53180 6c 20 24 73 74 79 6c 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 4f l.$style......*......*.@return.O
531a0 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 0a 20 20 20 utputFormatterStyleInterface....
531c0 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 ..*......*.@throws.InvalidArgume
531e0 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 73 74 79 6c 65 20 74 61 67 73 20 69 6e 63 6f ntException.When.style.tags.inco
53200 72 72 65 63 74 6c 79 20 6e 65 73 74 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 rrectly.nested......*/.....publi
53220 63 20 66 75 6e 63 74 69 6f 6e 20 70 6f 70 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 c.function.pop(OutputFormatterSt
53240 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 yleInterface.$style.=.null).....
53260 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 {.........if.(empty($this->style
53280 73 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 68 69 73 2d 3e s)).{.............return.$this->
532a0 65 6d 70 74 79 53 74 79 6c 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 emptyStyle;.........}..........i
532c0 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 74 79 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 f.(null.===.$style).{...........
532e0 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 ..return.array_pop($this->styles
53300 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 61 );.........}..........foreach.(a
53320 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 20 74 72 75 65 rray_reverse($this->styles,.true
53340 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 65 29 20 7b 0a ).as.$index.=>.$stackedStyle).{.
53360 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 73 74 79 6c 65 2d 3e 61 70 70 6c 79 28 27 27 ............if.($style->apply(''
53380 29 20 3d 3d 3d 20 24 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 ).===.$stackedStyle->apply('')).
533a0 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 73 74 79 6c 65 73 20 {.................$this->styles.
533c0 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 2c 20 30 2c 20 =.array_slice($this->styles,.0,.
533e0 24 69 6e 64 65 78 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e $index);..................return
53400 20 24 73 74 61 63 6b 65 64 53 74 79 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 .$stackedStyle;.............}...
53420 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c ......}..........throw.new.Inval
53440 69 64 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 idArgumentException('Incorrectly
53460 20 6e 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 20 20 20 20 .nested.style.tag.found.');.....
53480 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6d 70 75 74 65 73 20 63 75 72 72 65 }....../**......*.Computes.curre
534a0 6e 74 20 73 74 79 6c 65 20 77 69 74 68 20 73 74 61 63 6b 73 20 74 6f 70 20 63 6f 64 65 73 2e 0a nt.style.with.stacks.top.codes..
534c0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 6d .....*......*.@return.OutputForm
534e0 61 74 74 65 72 53 74 79 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 atterStyle......*/.....public.fu
53500 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 nction.getCurrent().....{.......
53520 20 20 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 20 20 ..if.(empty($this->styles)).{...
53540 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 ..........return.$this->emptySty
53560 6c 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 20 24 74 le;.........}..........return.$t
53580 68 69 73 2d 3e 73 74 79 6c 65 73 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 29 his->styles[count($this->styles)
535a0 20 2d 20 31 5d 3b 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 .-.1];.....}....../**......*.@pa
535c0 72 61 6d 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 ram.OutputFormatterStyleInterfac
535e0 65 20 24 65 6d 70 74 79 53 74 79 6c 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 e.$emptyStyle......*......*.@ret
53600 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 0a 20 20 urn.OutputFormatterStyleStack...
53620 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 74 45 6d 70 ...*/.....public.function.setEmp
53640 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 79 6c 65 49 6e 74 65 tyStyle(OutputFormatterStyleInte
53660 72 66 61 63 65 20 24 65 6d 70 74 79 53 74 79 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 rface.$emptyStyle).....{........
53680 20 24 74 68 69 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 .$this->emptyStyle.=.$emptyStyle
536a0 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a ;..........return.$this;.....}..
536c0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 ..../**......*.@return.OutputFor
536e0 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 matterStyleInterface......*/....
53700 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6d 70 74 79 53 74 79 6c 65 28 29 .public.function.getEmptyStyle()
53720 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 65 6d 70 .....{.........return.$this->emp
53740 74 79 53 74 79 6c 65 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 tyStyle;.....}.}.<?php../*..*.Th
53760 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 is.file.is.part.of.the.Symfony.p
53780 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 ackage...*..*.(c).Fabien.Potenci
537a0 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f er.<fabien@symfony.com>..*..*.Fo
537c0 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
537e0 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 68 65 20 4c 49 .information,.please.view.the.LI
53800 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 72 69 62 75 74 CENSE..*.file.that.was.distribut
53820 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 2a 2f 0a 0a 6e ed.with.this.source.code...*/..n
53840 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
53860 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 6f 72 6d 61 74 74 65 72 20 le\Formatter;../**..*.Formatter.
53880 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 2e 0a 20 2a interface.for.console.output...*
538a0 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b 6f 6e 73 74 61 6e 74 69 6e 20 4b 75 64 72 79 61 73 68 6f ..*.@author.Konstantin.Kudryasho
538c0 76 20 3c 65 76 65 72 2e 7a 65 74 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 69 6e 74 65 72 v.<ever.zet@gmail.com>..*/.inter
538e0 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 61 63 65 0a 7b 0a face.OutputFormatterInterface.{.
53900 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 64 65 63 6f 72 61 74 65 ..../**......*.Sets.the.decorate
53920 64 20 66 6c 61 67 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 d.flag.......*......*.@param.boo
53940 6c 20 24 64 65 63 6f 72 61 74 65 64 20 57 68 65 74 68 65 72 20 74 6f 20 64 65 63 6f 72 61 74 65 l.$decorated.Whether.to.decorate
53960 20 74 68 65 20 6d 65 73 73 61 67 65 73 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 .the.messages.or.not......*/....
53980 20 70 75 62 6c 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 .public.function.setDecorated($d
539a0 65 63 6f 72 61 74 65 64 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 ecorated);....../**......*.Gets.
539c0 74 68 65 20 64 65 63 6f 72 61 74 65 64 20 66 6c 61 67 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 the.decorated.flag.......*......
539e0 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 20 6f 75 74 70 75 *.@return.bool.true.if.the.outpu
53a00 74 20 77 69 6c 6c 20 64 65 63 6f 72 61 74 65 20 6d 65 73 73 61 67 65 73 2c 20 66 61 6c 73 65 20 t.will.decorate.messages,.false.
53a20 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 20 66 75 6e otherwise......*/.....public.fun
53a40 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 ction.isDecorated();....../**...
53a60 20 20 20 2a 20 53 65 74 73 20 61 20 6e 65 77 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 ...*.Sets.a.new.style.......*...
53a80 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 20 20 20 20 20 20 20 ...*.@param.string..............
53aa0 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 20 20 54 68 65 20 73 74 79 6c 65 20 6e 61 6d 65 0a ..........$name..The.style.name.
53ac0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 .....*.@param.OutputFormatterSty
53ae0 6c 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 20 54 68 65 20 73 74 79 6c 65 20 69 6e 73 leInterface.$style.The.style.ins
53b00 74 61 6e 63 65 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 tance......*/.....public.functio
53b20 6e 20 73 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 n.setStyle($name,.OutputFormatte
53b40 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 3b 0a 0a 20 20 20 20 2f 2a rStyleInterface.$style);....../*
53b60 2a 0a 20 20 20 20 20 2a 20 43 68 65 63 6b 73 20 69 66 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 *......*.Checks.if.output.format
53b80 74 65 72 20 68 61 73 20 73 74 79 6c 65 20 77 69 74 68 20 73 70 65 63 69 66 69 65 64 20 6e 61 6d ter.has.style.with.specified.nam
53ba0 65 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 6e 67 20 24 e.......*......*.@param.string.$
53bc0 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 0a name......*......*.@return.bool.
53be0 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 68 61 73 53 .....*/.....public.function.hasS
53c00 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 tyle($name);....../**......*.Get
53c20 73 20 73 74 79 6c 65 20 6f 70 74 69 6f 6e 73 20 66 72 6f 6d 20 73 74 79 6c 65 20 77 69 74 68 20 s.style.options.from.style.with.
53c40 73 70 65 63 69 66 69 65 64 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 specified.name.......*......*.@p
53c60 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 aram.string.$name......*......*.
53c80 40 72 65 74 75 72 6e 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 @return.OutputFormatterStyleInte
53ca0 72 66 61 63 65 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 rface......*/.....public.functio
53cc0 6e 20 67 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 n.getStyle($name);....../**.....
53ce0 20 2a 20 46 6f 72 6d 61 74 73 20 61 20 6d 65 73 73 61 67 65 20 61 63 63 6f 72 64 69 6e 67 20 74 .*.Formats.a.message.according.t
53d00 6f 20 74 68 65 20 67 69 76 65 6e 20 73 74 79 6c 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 o.the.given.styles.......*......
53d20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6d 65 73 73 61 67 65 20 54 68 65 20 6d 65 73 *.@param.string.$message.The.mes
53d40 73 61 67 65 20 74 6f 20 73 74 79 6c 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 sage.to.style......*......*.@ret
53d60 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 73 74 79 6c 65 64 20 6d 65 73 73 61 67 65 0a 20 20 urn.string.The.styled.message...
53d80 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 66 6f 72 6d 61 74 ...*/.....public.function.format
53da0 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 ($message);.}.<?php../*..*.This.
53dc0 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b file.is.part.of.the.Symfony.pack
53de0 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 age...*..*.(c).Fabien.Potencier.
53e00 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 <fabien@symfony.com>..*..*.For.t
53e20 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 20 69 6e he.full.copyright.and.license.in
53e40 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e formation,.please.view.the.LICEN
53e60 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 SE..*.file.that.was.distributed.
53e80 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 with.this.source.code...*/..name
53ea0 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\
53ec0 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 46 6f 72 6d 61 74 74 65 72 20 73 74 79 Formatter;../**..*.Formatter.sty
53ee0 6c 65 20 69 6e 74 65 72 66 61 63 65 20 66 6f 72 20 64 65 66 69 6e 69 6e 67 20 73 74 79 6c 65 73 le.interface.for.defining.styles
53f00 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b 6f 6e 73 74 61 6e 74 69 6e 20 4b 75 64 72 79 ...*..*.@author.Konstantin.Kudry
53f20 61 73 68 6f 76 20 3c 65 76 65 72 2e 7a 65 74 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 2f 0a 69 ashov.<ever.zet@gmail.com>..*/.i
53f40 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 nterface.OutputFormatterStyleInt
53f60 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 73 74 79 erface.{...../**......*.Sets.sty
53f80 6c 65 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 le.foreground.color.......*.....
53fa0 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 6f 6c 6f 72 20 54 68 65 20 63 6f 6c 6f .*.@param.string.$color.The.colo
53fc0 72 20 6e 61 6d 65 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 r.name......*/.....public.functi
53fe0 6f 6e 20 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 3b on.setForeground($color.=.null);
54000 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 73 74 79 6c 65 20 62 61 63 6b ....../**......*.Sets.style.back
54020 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 ground.color.......*......*.@par
54040 61 6d 20 73 74 72 69 6e 67 20 24 63 6f 6c 6f 72 20 54 68 65 20 63 6f 6c 6f 72 20 6e 61 6d 65 0a am.string.$color.The.color.name.
54060 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 74 42 .....*/.....public.function.setB
54080 61 63 6b 67 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 20 20 20 20 2f ackground($color.=.null);....../
540a0 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 73 6f 6d 65 20 73 70 65 63 69 66 69 63 20 73 74 79 **......*.Sets.some.specific.sty
540c0 6c 65 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 le.option.......*......*.@param.
540e0 73 74 72 69 6e 67 20 24 6f 70 74 69 6f 6e 20 54 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 string.$option.The.option.name..
54100 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 74 4f 70 ....*/.....public.function.setOp
54120 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 55 tion($option);....../**......*.U
54140 6e 73 65 74 73 20 73 6f 6d 65 20 73 70 65 63 69 66 69 63 20 73 74 79 6c 65 20 6f 70 74 69 6f 6e nsets.some.specific.style.option
54160 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 6e 67 20 24 6f .......*......*.@param.string.$o
54180 70 74 69 6f 6e 20 54 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 2f 0a 20 20 ption.The.option.name......*/...
541a0 20 20 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 ..public.function.unsetOption($o
541c0 70 74 69 6f 6e 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 6d 75 6c ption);....../**......*.Sets.mul
541e0 74 69 70 6c 65 20 73 74 79 6c 65 20 6f 70 74 69 6f 6e 73 20 61 74 20 6f 6e 63 65 2e 0a 20 20 20 tiple.style.options.at.once.....
54200 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 ..*......*.@param.array.$options
54220 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 74 ......*/.....public.function.set
54240 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 20 20 20 20 2f 2a Options(array.$options);....../*
54260 2a 0a 20 20 20 20 20 2a 20 41 70 70 6c 69 65 73 20 74 68 65 20 73 74 79 6c 65 20 74 6f 20 61 20 *......*.Applies.the.style.to.a.
54280 67 69 76 65 6e 20 74 65 78 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d given.text.......*......*.@param
542a0 20 73 74 72 69 6e 67 20 24 74 65 78 74 20 54 68 65 20 74 65 78 74 20 74 6f 20 73 74 79 6c 65 0a .string.$text.The.text.to.style.
542c0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 .....*......*.@return.string....
542e0 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 61 70 70 6c 79 28 24 ..*/.....public.function.apply($
54300 74 65 78 74 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 text);.}.<?php../*..*.This.file.
54320 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a is.part.of.the.Symfony.package..
54340 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 .*..*.(c).Fabien.Potencier.<fabi
54360 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 en@symfony.com>..*..*.For.the.fu
54380 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 ll.copyright.and.license.informa
543a0 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a tion,.please.view.the.LICENSE..*
543c0 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 .file.that.was.distributed.with.
543e0 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 this.source.code...*/..namespace
54400 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
54420 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 6f 6c t;..use.Symfony\Component\Consol
54440 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 65 72 e\Formatter\OutputFormatterInter
54460 66 61 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 73 face;../**..*.OutputInterface.is
54480 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 79 20 61 6c .the.interface.implemented.by.al
544a0 6c 20 4f 75 74 70 75 74 20 63 6c 61 73 73 65 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 l.Output.classes...*..*.@author.
544c0 46 61 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 Fabien.Potencier.<fabien@symfony
544e0 2e 63 6f 6d 3e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 .com>..*/.interface.OutputInterf
54500 61 63 65 0a 7b 0a 20 20 20 20 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 ace.{.....const.VERBOSITY_QUIET.
54520 3d 20 31 36 3b 0a 20 20 20 20 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c =.16;.....const.VERBOSITY_NORMAL
54540 20 3d 20 33 32 3b 0a 20 20 20 20 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f .=.32;.....const.VERBOSITY_VERBO
54560 53 45 20 3d 20 36 34 3b 0a 20 20 20 20 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 56 45 52 SE.=.64;.....const.VERBOSITY_VER
54580 59 5f 56 45 52 42 4f 53 45 20 3d 20 31 32 38 3b 0a 20 20 20 20 63 6f 6e 73 74 20 56 45 52 42 4f Y_VERBOSE.=.128;.....const.VERBO
545a0 53 49 54 59 5f 44 45 42 55 47 20 3d 20 32 35 36 3b 0a 0a 20 20 20 20 63 6f 6e 73 74 20 4f 55 54 SITY_DEBUG.=.256;......const.OUT
545c0 50 55 54 5f 4e 4f 52 4d 41 4c 20 3d 20 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 4f 55 54 50 55 54 PUT_NORMAL.=.1;.....const.OUTPUT
545e0 5f 52 41 57 20 3d 20 32 3b 0a 20 20 20 20 63 6f 6e 73 74 20 4f 55 54 50 55 54 5f 50 4c 41 49 4e _RAW.=.2;.....const.OUTPUT_PLAIN
54600 20 3d 20 34 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 57 72 69 74 65 73 20 61 20 6d .=.4;....../**......*.Writes.a.m
54620 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 essage.to.the.output.......*....
54640 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 20 24 6d 65 73 73 61 67 65 ..*.@param.string|array.$message
54660 73 20 54 68 65 20 6d 65 73 73 61 67 65 20 61 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 6c 69 6e s.The.message.as.an.array.of.lin
54680 65 73 20 6f 72 20 61 20 73 69 6e 67 6c 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 20 40 70 61 es.or.a.single.string......*.@pa
546a0 72 61 6d 20 62 6f 6f 6c 20 20 20 20 20 20 20 20 20 24 6e 65 77 6c 69 6e 65 20 20 57 68 65 74 68 ram.bool.........$newline..Wheth
546c0 65 72 20 74 6f 20 61 64 64 20 61 20 6e 65 77 6c 69 6e 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 er.to.add.a.newline......*.@para
546e0 6d 20 69 6e 74 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 20 20 41 20 62 69 74 6d 61 m.int..........$options..A.bitma
54700 73 6b 20 6f 66 20 6f 70 74 69 6f 6e 73 20 28 6f 6e 65 20 6f 66 20 74 68 65 20 4f 55 54 50 55 54 sk.of.options.(one.of.the.OUTPUT
54720 20 6f 72 20 56 45 52 42 4f 53 49 54 59 20 63 6f 6e 73 74 61 6e 74 73 29 2c 20 30 20 69 73 20 63 .or.VERBOSITY.constants),.0.is.c
54740 6f 6e 73 69 64 65 72 65 64 20 74 68 65 20 73 61 6d 65 20 61 73 20 73 65 6c 66 3a 3a 4f 55 54 50 onsidered.the.same.as.self::OUTP
54760 55 54 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 4e 4f 52 4d UT_NORMAL.|.self::VERBOSITY_NORM
54780 41 4c 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 77 AL......*/.....public.function.w
547a0 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 66 61 6c 73 65 rite($messages,.$newline.=.false
547c0 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 30 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a ,.$options.=.0);....../**......*
547e0 20 57 72 69 74 65 73 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 .Writes.a.message.to.the.output.
54800 61 6e 64 20 61 64 64 73 20 61 20 6e 65 77 6c 69 6e 65 20 61 74 20 74 68 65 20 65 6e 64 2e 0a 20 and.adds.a.newline.at.the.end...
54820 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 61 72 72 61 79 ....*......*.@param.string|array
54840 20 24 6d 65 73 73 61 67 65 73 20 54 68 65 20 6d 65 73 73 61 67 65 20 61 73 20 61 6e 20 61 72 72 .$messages.The.message.as.an.arr
54860 61 79 20 6f 66 20 6c 69 6e 65 73 20 6f 66 20 61 20 73 69 6e 67 6c 65 20 73 74 72 69 6e 67 0a 20 ay.of.lines.of.a.single.string..
54880 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f ....*.@param.int..........$optio
548a0 6e 73 20 20 41 20 62 69 74 6d 61 73 6b 20 6f 66 20 6f 70 74 69 6f 6e 73 20 28 6f 6e 65 20 6f 66 ns..A.bitmask.of.options.(one.of
548c0 20 74 68 65 20 4f 55 54 50 55 54 20 6f 72 20 56 45 52 42 4f 53 49 54 59 20 63 6f 6e 73 74 61 6e .the.OUTPUT.or.VERBOSITY.constan
548e0 74 73 29 2c 20 30 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 74 68 65 20 73 61 6d 65 20 61 73 ts),.0.is.considered.the.same.as
54900 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 7c 20 73 65 6c 66 3a 3a 56 45 52 .self::OUTPUT_NORMAL.|.self::VER
54920 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 BOSITY_NORMAL......*/.....public
54940 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 70 .function.writeln($messages,.$op
54960 74 69 6f 6e 73 20 3d 20 30 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 tions.=.0);....../**......*.Sets
54980 20 74 68 65 20 76 65 72 62 6f 73 69 74 79 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 2e 0a 20 20 .the.verbosity.of.the.output....
549a0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 6c 65 76 65 6c 20 54 68 ...*......*.@param.int.$level.Th
549c0 65 20 6c 65 76 65 6c 20 6f 66 20 76 65 72 62 6f 73 69 74 79 20 28 6f 6e 65 20 6f 66 20 74 68 65 e.level.of.verbosity.(one.of.the
549e0 20 56 45 52 42 4f 53 49 54 59 20 63 6f 6e 73 74 61 6e 74 73 29 0a 20 20 20 20 20 2a 2f 0a 20 20 .VERBOSITY.constants)......*/...
54a00 20 20 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 ..public.function.setVerbosity($
54a20 6c 65 76 65 6c 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 level);....../**......*.Gets.the
54a40 20 63 75 72 72 65 6e 74 20 76 65 72 62 6f 73 69 74 79 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 .current.verbosity.of.the.output
54a60 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 .......*......*.@return.int.The.
54a80 63 75 72 72 65 6e 74 20 6c 65 76 65 6c 20 6f 66 20 76 65 72 62 6f 73 69 74 79 20 28 6f 6e 65 20 current.level.of.verbosity.(one.
54aa0 6f 66 20 74 68 65 20 56 45 52 42 4f 53 49 54 59 20 63 6f 6e 73 74 61 6e 74 73 29 0a 20 20 20 20 of.the.VERBOSITY.constants).....
54ac0 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f .*/.....public.function.getVerbo
54ae0 73 69 74 79 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 sity();....../**......*.Returns.
54b00 77 68 65 74 68 65 72 20 76 65 72 62 6f 73 69 74 79 20 69 73 20 71 75 69 65 74 20 28 2d 71 29 2e whether.verbosity.is.quiet.(-q).
54b20 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 ......*......*.@return.bool.true
54b40 20 69 66 20 76 65 72 62 6f 73 69 74 79 20 69 73 20 73 65 74 20 74 6f 20 56 45 52 42 4f 53 49 54 .if.verbosity.is.set.to.VERBOSIT
54b60 59 5f 51 55 49 45 54 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f Y_QUIET,.false.otherwise......*/
54b80 0a 20 20 20 20 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 3b 0a .....public.function.isQuiet();.
54ba0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 20 ...../**......*.Returns.whether.
54bc0 76 65 72 62 6f 73 69 74 79 20 69 73 20 76 65 72 62 6f 73 65 20 28 2d 76 29 2e 0a 20 20 20 20 20 verbosity.is.verbose.(-v).......
54be0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 76 65 *......*.@return.bool.true.if.ve
54c00 72 62 6f 73 69 74 79 20 69 73 20 73 65 74 20 74 6f 20 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 rbosity.is.set.to.VERBOSITY_VERB
54c20 4f 53 45 2c 20 66 61 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 OSE,.false.otherwise......*/....
54c40 20 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 3b 0a 0a 20 .public.function.isVerbose();...
54c60 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 20 76 65 .../**......*.Returns.whether.ve
54c80 72 62 6f 73 69 74 79 20 69 73 20 76 65 72 79 20 76 65 72 62 6f 73 65 20 28 2d 76 76 29 2e 0a 20 rbosity.is.very.verbose.(-vv)...
54ca0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 ....*......*.@return.bool.true.i
54cc0 66 20 76 65 72 62 6f 73 69 74 79 20 69 73 20 73 65 74 20 74 6f 20 56 45 52 42 4f 53 49 54 59 5f f.verbosity.is.set.to.VERBOSITY_
54ce0 56 45 52 59 5f 56 45 52 42 4f 53 45 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 VERY_VERBOSE,.false.otherwise...
54d00 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 69 73 56 65 72 79 ...*/.....public.function.isVery
54d20 56 65 72 62 6f 73 65 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 Verbose();....../**......*.Retur
54d40 6e 73 20 77 68 65 74 68 65 72 20 76 65 72 62 6f 73 69 74 79 20 69 73 20 64 65 62 75 67 20 28 2d ns.whether.verbosity.is.debug.(-
54d60 76 76 76 29 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c vvv).......*......*.@return.bool
54d80 20 74 72 75 65 20 69 66 20 76 65 72 62 6f 73 69 74 79 20 69 73 20 73 65 74 20 74 6f 20 56 45 52 .true.if.verbosity.is.set.to.VER
54da0 42 4f 53 49 54 59 5f 44 45 42 55 47 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 BOSITY_DEBUG,.false.otherwise...
54dc0 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 69 73 44 65 62 75 ...*/.....public.function.isDebu
54de0 67 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 64 65 g();....../**......*.Sets.the.de
54e00 63 6f 72 61 74 65 64 20 66 6c 61 67 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 corated.flag.......*......*.@par
54e20 61 6d 20 62 6f 6f 6c 20 24 64 65 63 6f 72 61 74 65 64 20 57 68 65 74 68 65 72 20 74 6f 20 64 65 am.bool.$decorated.Whether.to.de
54e40 63 6f 72 61 74 65 20 74 68 65 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 corate.the.messages......*/.....
54e60 70 75 62 6c 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 public.function.setDecorated($de
54e80 63 6f 72 61 74 65 64 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 corated);....../**......*.Gets.t
54ea0 68 65 20 64 65 63 6f 72 61 74 65 64 20 66 6c 61 67 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a he.decorated.flag.......*......*
54ec0 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 20 6f 75 74 70 75 74 .@return.bool.true.if.the.output
54ee0 20 77 69 6c 6c 20 64 65 63 6f 72 61 74 65 20 6d 65 73 73 61 67 65 73 2c 20 66 61 6c 73 65 20 6f .will.decorate.messages,.false.o
54f00 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 20 66 75 6e 63 therwise......*/.....public.func
54f20 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 tion.isDecorated();....../**....
54f40 20 20 2a 20 53 65 74 73 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 74 65 72 2e 0a 20 20 20 20 20 ..*.Sets.output.formatter.......
54f60 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 *......*.@param.OutputFormatterI
54f80 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 nterface.$formatter......*/.....
54fa0 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 74 public.function.setFormatter(Out
54fc0 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
54fe0 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 63 75 72 72 65 );....../**......*.Returns.curre
55000 6e 74 20 6f 75 74 70 75 74 20 66 6f 72 6d 61 74 74 65 72 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 nt.output.formatter.instance....
55020 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 ...*......*.@return.OutputFormat
55040 74 65 72 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 terInterface......*/.....public.
55060 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 7d 0a 3c 3f 70 68 70 function.getFormatter();.}.<?php
55080 0a 0a 2f 2a 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 74 68 65 ../*..*.This.file.is.part.of.the
550a0 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 .Symfony.package...*..*.(c).Fabi
550c0 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 6f 6d en.Potencier.<fabien@symfony.com
550e0 3e 0a 20 2a 0a 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 >..*..*.For.the.full.copyright.a
55100 6e 64 20 6c 69 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 nd.license.information,.please.v
55120 69 65 77 20 74 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 iew.the.LICENSE..*.file.that.was
55140 20 64 69 73 74 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 .distributed.with.this.source.co
55160 64 65 2e 0a 20 2a 2f 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 de...*/..namespace.Symfony\Compo
55180 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 6f 6e nent\Console\Output;..use.Symfon
551a0 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
551c0 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 79 5c 43 6f 6d 70 6f tputFormatter;.use.Symfony\Compo
551e0 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
55200 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 4e 75 6c 6c 4f 75 74 matterInterface;../**..*.NullOut
55220 70 75 74 20 73 75 70 70 72 65 73 73 65 73 20 61 6c 6c 20 6f 75 74 70 75 74 2e 0a 20 2a 0a 20 2a put.suppresses.all.output...*..*
55240 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 4e 75 6c 6c 4f 75 74 70 75 74 28 29 3b .....$output.=.new.NullOutput();
55260 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 ..*..*.@author.Fabien.Potencier.
55280 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 <fabien@symfony.com>..*.@author.
552a0 54 6f 62 69 61 73 20 53 63 68 75 6c 74 7a 65 20 3c 68 74 74 70 3a 2f 2f 74 6f 62 69 6f 6e 2e 64 Tobias.Schultze.<http://tobion.d
552c0 65 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 4e 75 6c 6c 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e e>..*/.class.NullOutput.implemen
552e0 74 73 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 ts.OutputInterface.{...../**....
55300 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 ..*.{@inheritdoc}......*/.....pu
55320 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 74 70 75 blic.function.setFormatter(Outpu
55340 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 29 0a tFormatterInterface.$formatter).
55360 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 20 6e 6f 74 68 69 6e 67 0a 20 20 20 20 ....{.........//.do.nothing.....
55380 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a }....../**......*.{@inheritdoc}.
553a0 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 67 65 74 46 .....*/.....public.function.getF
553c0 6f 72 6d 61 74 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 6f 20 63 ormatter().....{.........//.to.c
553e0 6f 6d 70 6c 79 20 77 69 74 68 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 77 65 20 6d 75 73 74 omply.with.the.interface.we.must
55400 20 72 65 74 75 72 6e 20 61 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 .return.a.OutputFormatterInterfa
55420 63 65 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d ce.........return.new.OutputForm
55440 61 74 74 65 72 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b atter();.....}....../**......*.{
55460 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 @inheritdoc}......*/.....public.
55480 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
554a0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 20 6e 6f 74 68 69 6e 67 0a 20 20 ).....{.........//.do.nothing...
554c0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 ..}....../**......*.{@inheritdoc
554e0 7d 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 69 73 }......*/.....public.function.is
55500 44 65 63 6f 72 61 74 65 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e Decorated().....{.........return
55520 20 66 61 6c 73 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 7b 40 .false;.....}....../**......*.{@
55540 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 inheritdoc}......*/.....public.f
55560 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 20 20 20 unction.setVerbosity($level)....
55580 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 20 6e 6f 74 68 69 6e 67 0a 20 20 20 20 7d 0a 0a .{.........//.do.nothing.....}..
555a0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 ..../**......*.{@inheritdoc}....
555c0 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 67 65 74 56 65 72 62 ..*/.....public.function.getVerb
555e0 6f 73 69 74 79 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c osity().....{.........return.sel
55600 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f f::VERBOSITY_QUIET;.....}....../
55620 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a **......*.{@inheritdoc}......*/.
55640 20 20 20 20 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 0a 20 20 ....public.function.isQuiet()...
55660 20 20 7b 0a 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 7d 0a 0a ..{.........return.true;.....}..
55680 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 ..../**......*.{@inheritdoc}....
556a0 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 69 73 56 65 72 62 6f ..*/.....public.function.isVerbo
556c0 73 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b se().....{.........return.false;
556e0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 .....}....../**......*.{@inherit
55700 64 6f 63 7d 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 doc}......*/.....public.function
55720 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 .isVeryVerbose().....{.........r
55740 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 eturn.false;.....}....../**.....
55760 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 .*.{@inheritdoc}......*/.....pub
55780 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 20 20 20 20 7b 0a 20 20 20 lic.function.isDebug().....{....
557a0 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a .....return.false;.....}....../*
557c0 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 *......*.{@inheritdoc}......*/..
557e0 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 ...public.function.writeln($mess
55800 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 50 55 54 5f 4e 4f ages,.$options.=.self::OUTPUT_NO
55820 52 4d 41 4c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 20 6e 6f 74 68 69 6e RMAL).....{.........//.do.nothin
55840 67 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 g.....}....../**......*.{@inheri
55860 74 64 6f 63 7d 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 tdoc}......*/.....public.functio
55880 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 65 20 3d 20 66 61 n.write($messages,.$newline.=.fa
558a0 6c 73 65 2c 20 24 6f 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 lse,.$options.=.self::OUTPUT_NOR
558c0 4d 41 4c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 20 6e 6f 74 68 69 6e 67 MAL).....{.........//.do.nothing
558e0 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 .....}.}.<?php../*..*.This.file.
55900 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a is.part.of.the.Symfony.package..
55920 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 .*..*.(c).Fabien.Potencier.<fabi
55940 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 en@symfony.com>..*..*.For.the.fu
55960 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 ll.copyright.and.license.informa
55980 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a tion,.please.view.the.LICENSE..*
559a0 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 .file.that.was.distributed.with.
559c0 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 this.source.code...*/..namespace
559e0 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
55a00 74 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 t;../**..*.ConsoleOutputInterfac
55a20 65 20 69 73 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 e.is.the.interface.implemented.b
55a40 79 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 20 63 6c 61 73 73 2e 0a 20 2a 20 54 68 69 73 20 61 y.ConsoleOutput.class...*.This.a
55a60 64 64 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 73 74 64 65 72 72 20 6f 75 74 dds.information.about.stderr.out
55a80 70 75 74 20 73 74 72 65 61 6d 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 44 61 72 69 75 73 put.stream...*..*.@author.Darius
55aa0 7a 20 47 c3 b3 72 65 63 6b 69 20 3c 64 61 72 65 6b 2e 6b 72 6b 40 67 6d 61 69 6c 2e 63 6f 6d 3e z.G..recki.<darek.krk@gmail.com>
55ac0 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 ..*/.interface.ConsoleOutputInte
55ae0 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a rface.extends.OutputInterface.{.
55b00 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 4f 75 74 70 75 74 49 6e ..../**......*.Gets.the.OutputIn
55b20 74 65 72 66 61 63 65 20 66 6f 72 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 terface.for.errors.......*......
55b40 2a 20 40 72 65 74 75 72 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a *.@return.OutputInterface......*
55b60 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 /.....public.function.getErrorOu
55b80 74 70 75 74 28 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 tput();....../**......*.Sets.the
55ba0 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 75 73 65 64 20 66 6f 72 20 65 72 72 6f 72 73 .OutputInterface.used.for.errors
55bc0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 .......*......*.@param.OutputInt
55be0 65 72 66 61 63 65 20 24 65 72 72 6f 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 erface.$error......*/.....public
55c00 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
55c20 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 2f 2a 0a 20 2a nterface.$error);.}.<?php../*..*
55c40 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e .This.file.is.part.of.the.Symfon
55c60 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 y.package...*..*.(c).Fabien.Pote
55c80 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a ncier.<fabien@symfony.com>..*..*
55ca0 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 63 65 .For.the.full.copyright.and.lice
55cc0 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 68 65 nse.information,.please.view.the
55ce0 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 72 69 .LICENSE..*.file.that.was.distri
55d00 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 2a 2f buted.with.this.source.code...*/
55d20 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
55d40 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 65 nsole\Output;../**..*.@author.Je
55d60 61 6e 2d 46 72 61 6e c3 a7 6f 69 73 20 53 69 6d 6f 6e 20 3c 63 6f 6e 74 61 63 74 40 6a 66 73 69 an-Fran..ois.Simon.<contact@jfsi
55d80 6d 6f 6e 2e 66 72 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 mon.fr>..*/.class.BufferedOutput
55da0 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .extends.Output.{...../**......*
55dc0 20 40 76 61 72 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 .@var.string......*/.....private
55de0 20 24 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 .$buffer.=.'';....../**......*.E
55e00 6d 70 74 69 65 73 20 62 75 66 66 65 72 20 61 6e 64 20 72 65 74 75 72 6e 73 20 69 74 73 20 63 6f mpties.buffer.and.returns.its.co
55e20 6e 74 65 6e 74 2e 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 72 ntent.......*......*.@return.str
55e40 69 6e 67 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 ing......*/.....public.function.
55e60 66 65 74 63 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 20 3d fetch().....{.........$content.=
55e80 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 .$this->buffer;.........$this->b
55ea0 75 66 66 65 72 20 3d 20 27 27 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6e uffer.=.'';..........return.$con
55ec0 74 65 6e 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e tent;.....}....../**......*.{@in
55ee0 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 heritdoc}......*/.....protected.
55f00 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 2c 20 24 6e 65 77 6c function.doWrite($message,.$newl
55f20 69 6e 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 ine).....{.........$this->buffer
55f40 20 2e 3d 20 24 6d 65 73 73 61 67 65 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 65 77 6c ..=.$message;..........if.($newl
55f60 69 6e 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 ine).{.............$this->buffer
55f80 20 2e 3d 20 22 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 ..=."\n";.........}.....}.}.<?ph
55fa0 70 0a 0a 2f 2a 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 74 68 p../*..*.This.file.is.part.of.th
55fc0 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 e.Symfony.package...*..*.(c).Fab
55fe0 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 6f ien.Potencier.<fabien@symfony.co
56000 6d 3e 0a 20 2a 0a 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 m>..*..*.For.the.full.copyright.
56020 61 6e 64 20 6c 69 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 and.license.information,.please.
56040 76 69 65 77 20 74 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 view.the.LICENSE..*.file.that.wa
56060 73 20 64 69 73 74 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 s.distributed.with.this.source.c
56080 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ode...*/..namespace.Symfony\Comp
560a0 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 6f onent\Console\Output;..use.Symfo
560c0 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 49 ny\Component\Console\Exception\I
560e0 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 6d nvalidArgumentException;.use.Sym
56100 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
56120 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 6e 79 5c 43 \RuntimeException;.use.Symfony\C
56140 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 70 75 omponent\Console\Formatter\Outpu
56160 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 53 74 72 tFormatterInterface;../**..*.Str
56180 65 61 6d 4f 75 74 70 75 74 20 77 72 69 74 65 73 20 74 68 65 20 6f 75 74 70 75 74 20 74 6f 20 61 eamOutput.writes.the.output.to.a
561a0 20 67 69 76 65 6e 20 73 74 72 65 61 6d 2e 0a 20 2a 0a 20 2a 20 55 73 61 67 65 3a 0a 20 2a 0a 20 .given.stream...*..*.Usage:..*..
561c0 2a 20 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 66 6f 70 *.$output.=.new.StreamOutput(fop
561e0 65 6e 28 27 70 68 70 3a 2f 2f 73 74 64 6f 75 74 27 2c 20 27 77 27 29 29 3b 0a 20 2a 0a 20 2a 20 en('php://stdout',.'w'));..*..*.
56200 41 73 20 60 53 74 72 65 61 6d 4f 75 74 70 75 74 60 20 63 61 6e 20 75 73 65 20 61 6e 79 20 73 74 As.`StreamOutput`.can.use.any.st
56220 72 65 61 6d 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 61 20 66 69 6c 65 3a 0a 20 ream,.you.can.also.use.a.file:..
56240 2a 0a 20 2a 20 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 *..*.$output.=.new.StreamOutput(
56260 66 6f 70 65 6e 28 27 2f 70 61 74 68 2f 74 6f 2f 6f 75 74 70 75 74 2e 6c 6f 67 27 2c 20 27 61 27 fopen('/path/to/output.log',.'a'
56280 2c 20 66 61 6c 73 65 29 29 3b 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 ,.false));..*..*.@author.Fabien.
562a0 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 6f 6d 3e 0a 20 Potencier.<fabien@symfony.com>..
562c0 2a 2f 0a 63 6c 61 73 73 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 65 78 74 65 6e 64 73 20 4f 75 */.class.StreamOutput.extends.Ou
562e0 74 70 75 74 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 73 74 72 65 61 6d 3b 0a 0a 20 20 20 tput.{.....private.$stream;.....
56300 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a ./**......*.Constructor.......*.
56320 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 72 65 73 6f 75 72 63 65 20 20 20 20 20 20 20 20 20 20 .....*.@param.resource..........
56340 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 72 65 61 6d 20 20 20 20 41 20 73 74 72 65 61 6d 20 ............$stream....A.stream.
56360 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 20 20 resource......*.@param.int......
56380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 65 72 62 6f 73 69 74 79 20 .....................$verbosity.
563a0 54 68 65 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 28 6f 6e 65 20 6f 66 20 74 68 65 20 The.verbosity.level.(one.of.the.
563c0 56 45 52 42 4f 53 49 54 59 20 63 6f 6e 73 74 61 6e 74 73 20 69 6e 20 4f 75 74 70 75 74 49 6e 74 VERBOSITY.constants.in.OutputInt
563e0 65 72 66 61 63 65 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 7c 6e 75 6c 6c 20 erface)......*.@param.bool|null.
56400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 63 6f 72 61 74 65 64 20 57 ....................$decorated.W
56420 68 65 74 68 65 72 20 74 6f 20 64 65 63 6f 72 61 74 65 20 6d 65 73 73 61 67 65 73 20 28 6e 75 6c hether.to.decorate.messages.(nul
56440 6c 20 66 6f 72 20 61 75 74 6f 2d 67 75 65 73 73 69 6e 67 29 0a 20 20 20 20 20 2a 20 40 70 61 72 l.for.auto-guessing)......*.@par
56460 61 6d 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 7c 6e 75 6c 6c am.OutputFormatterInterface|null
56480 20 24 66 6f 72 6d 61 74 74 65 72 20 4f 75 74 70 75 74 20 66 6f 72 6d 61 74 74 65 72 20 69 6e 73 .$formatter.Output.formatter.ins
564a0 74 61 6e 63 65 20 28 6e 75 6c 6c 20 74 6f 20 75 73 65 20 64 65 66 61 75 6c 74 20 4f 75 74 70 75 tance.(null.to.use.default.Outpu
564c0 74 46 6f 72 6d 61 74 74 65 72 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 tFormatter)......*......*.@throw
564e0 73 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 20 57 68 65 6e 20 s.InvalidArgumentException.When.
56500 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 20 72 65 61 6c 20 73 74 72 first.argument.is.not.a.real.str
56520 65 61 6d 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 eam......*/.....public.function.
56540 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 74 72 65 61 6d 2c 20 24 76 65 72 62 6f 73 69 74 79 20 __construct($stream,.$verbosity.
56560 3d 20 73 65 6c 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 =.self::VERBOSITY_NORMAL,.$decor
56580 61 74 65 64 20 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 ated.=.null,.OutputFormatterInte
565a0 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 rface.$formatter.=.null).....{..
565c0 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 72 65 73 6f 75 72 63 65 28 24 73 74 72 65 61 6d 29 .......if.(!is_resource($stream)
565e0 20 7c 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 .||.'stream'.!==.get_resource_ty
56600 70 65 28 24 73 74 72 65 61 6d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 pe($stream)).{.............throw
56620 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 27 54 .new.InvalidArgumentException('T
56640 68 65 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 63 6c 61 73 73 20 6e 65 65 64 73 20 61 20 73 74 he.StreamOutput.class.needs.a.st
56660 72 65 61 6d 20 61 73 20 69 74 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 20 ream.as.its.first.argument.');..
56680 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 20 .......}..........$this->stream.
566a0 3d 20 24 73 74 72 65 61 6d 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d =.$stream;..........if.(null.===
566c0 20 24 64 65 63 6f 72 61 74 65 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 63 6f .$decorated).{.............$deco
566e0 72 61 74 65 64 20 3d 20 24 74 68 69 73 2d 3e 68 61 73 43 6f 6c 6f 72 53 75 70 70 6f 72 74 28 29 rated.=.$this->hasColorSupport()
56700 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 ;.........}..........parent::__c
56720 6f 6e 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 onstruct($verbosity,.$decorated,
56740 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 .$formatter);.....}....../**....
56760 20 20 2a 20 47 65 74 73 20 74 68 65 20 73 74 72 65 61 6d 20 61 74 74 61 63 68 65 64 20 74 6f 20 ..*.Gets.the.stream.attached.to.
56780 74 68 69 73 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 this.StreamOutput.instance......
567a0 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 72 65 73 6f 75 72 63 65 20 41 20 73 74 72 .*......*.@return.resource.A.str
567c0 65 61 6d 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 eam.resource......*/.....public.
567e0 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 72 65 61 6d 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 function.getStream().....{......
56800 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 3b 0a 20 20 20 20 7d 0a 0a ...return.$this->stream;.....}..
56820 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 ..../**......*.{@inheritdoc}....
56840 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 72 ..*/.....protected.function.doWr
56860 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 7b 0a 20 20 ite($message,.$newline).....{...
56880 20 20 20 20 20 20 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 69 ......if.(false.===.@fwrite($thi
568a0 73 2d 3e 73 74 72 65 61 6d 2c 20 24 6d 65 73 73 61 67 65 29 20 7c 7c 20 28 24 6e 65 77 6c 69 6e s->stream,.$message).||.($newlin
568c0 65 20 26 26 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 66 77 72 69 74 65 28 24 74 68 69 73 2d 3e 73 e.&&.(false.===.@fwrite($this->s
568e0 74 72 65 61 6d 2c 20 50 48 50 5f 45 4f 4c 29 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 tream,.PHP_EOL)))).{............
56900 20 2f 2f 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 20 20 .//.should.never.happen.........
56920 20 20 20 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 ....throw.new.RuntimeException('
56940 55 6e 61 62 6c 65 20 74 6f 20 77 72 69 74 65 20 6f 75 74 70 75 74 2e 27 29 3b 0a 20 20 20 20 20 Unable.to.write.output.');......
56960 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 66 6c 75 73 68 28 24 74 68 69 73 2d 3e 73 74 72 65 ...}..........fflush($this->stre
56980 61 6d 29 3b 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 74 75 72 am);.....}....../**......*.Retur
569a0 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 73 74 72 65 61 6d 20 73 75 70 70 6f 72 74 73 20 63 ns.true.if.the.stream.supports.c
569c0 6f 6c 6f 72 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 43 6f 6c 6f 72 olorization.......*......*.Color
569e0 69 7a 61 74 69 6f 6e 20 69 73 20 64 69 73 61 62 6c 65 64 20 69 66 20 6e 6f 74 20 73 75 70 70 6f ization.is.disabled.if.not.suppo
56a00 72 74 65 64 20 62 79 20 74 68 65 20 73 74 72 65 61 6d 3a 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 rted.by.the.stream:......*......
56a20 2a 20 20 2d 20 20 57 69 6e 64 6f 77 73 20 21 3d 20 31 30 2e 30 2e 31 30 35 38 36 20 77 69 74 68 *..-..Windows.!=.10.0.10586.with
56a40 6f 75 74 20 41 6e 73 69 63 6f 6e 2c 20 43 6f 6e 45 6d 75 20 6f 72 20 4d 69 6e 74 74 79 0a 20 20 out.Ansicon,.ConEmu.or.Mintty...
56a60 20 20 20 2a 20 20 2d 20 20 6e 6f 6e 20 74 74 79 20 63 6f 6e 73 6f 6c 65 73 0a 20 20 20 20 20 2a ...*..-..non.tty.consoles......*
56a80 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 ......*.@return.bool.true.if.the
56aa0 20 73 74 72 65 61 6d 20 73 75 70 70 6f 72 74 73 20 63 6f 6c 6f 72 69 7a 61 74 69 6f 6e 2c 20 66 .stream.supports.colorization,.f
56ac0 61 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 72 6f 74 65 alse.otherwise......*/.....prote
56ae0 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 0a cted.function.hasColorSupport().
56b00 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 ....{.........if.(DIRECTORY_SEPA
56b20 52 41 54 4f 52 20 3d 3d 3d 20 27 5c 5c 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 RATOR.===.'\\').{.............re
56b40 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 31 30 2e 30 2e 31 30 35 38 36 turn.................'10.0.10586
56b60 27 20 3d 3d 3d 20 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 2e '.===.PHP_WINDOWS_VERSION_MAJOR.
56b80 27 2e 27 2e 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 2e 27 2e '.'.PHP_WINDOWS_VERSION_MINOR.'.
56ba0 27 2e 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 0a 20 20 20 20 '.PHP_WINDOWS_VERSION_BUILD.....
56bc0 20 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 67 65 74 65 6e 76 28 ............||.false.!==.getenv(
56be0 27 41 4e 53 49 43 4f 4e 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 27 4f 'ANSICON').................||.'O
56c00 4e 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 43 6f 6e 45 6d 75 41 4e 53 49 27 29 0a 20 20 20 20 N'.===.getenv('ConEmuANSI').....
56c20 20 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 27 78 74 65 72 6d 27 20 3d 3d 3d 20 67 65 74 65 6e ............||.'xterm'.===.geten
56c40 76 28 27 54 45 52 4d 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 v('TERM');.........}..........re
56c60 74 75 72 6e 20 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 turn.function_exists('posix_isat
56c80 74 79 27 29 20 26 26 20 40 70 6f 73 69 78 5f 69 73 61 74 74 79 28 24 74 68 69 73 2d 3e 73 74 72 ty').&&.@posix_isatty($this->str
56ca0 65 61 6d 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 eam);.....}.}.<?php../*..*.This.
56cc0 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b file.is.part.of.the.Symfony.pack
56ce0 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 age...*..*.(c).Fabien.Potencier.
56d00 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 <fabien@symfony.com>..*..*.For.t
56d20 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 20 69 6e he.full.copyright.and.license.in
56d40 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e formation,.please.view.the.LICEN
56d60 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 SE..*.file.that.was.distributed.
56d80 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 with.this.source.code...*/..name
56da0 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\
56dc0 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 6e 65 6e 74 5c 43 Output;..use.Symfony\Component\C
56de0 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
56e00 49 6e 74 65 72 66 61 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 Interface;../**..*.ConsoleOutput
56e20 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 66 6f 72 20 61 6c 6c 20 43 4c .is.the.default.class.for.all.CL
56e40 49 20 6f 75 74 70 75 74 2e 20 49 74 20 75 73 65 73 20 53 54 44 4f 55 54 20 61 6e 64 20 53 54 44 I.output..It.uses.STDOUT.and.STD
56e60 45 52 52 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 73 20 69 73 20 61 20 63 6f 6e 76 65 ERR...*..*.This.class.is.a.conve
56e80 6e 69 65 6e 74 20 77 72 61 70 70 65 72 20 61 72 6f 75 6e 64 20 60 53 74 72 65 61 6d 4f 75 74 70 nient.wrapper.around.`StreamOutp
56ea0 75 74 60 20 66 6f 72 20 62 6f 74 68 20 53 54 44 4f 55 54 20 61 6e 64 20 53 54 44 45 52 52 2e 0a ut`.for.both.STDOUT.and.STDERR..
56ec0 20 2a 0a 20 2a 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f .*..*.....$output.=.new.ConsoleO
56ee0 75 74 70 75 74 28 29 3b 0a 20 2a 0a 20 2a 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e utput();..*..*.This.is.equivalen
56f00 74 20 74 6f 3a 0a 20 2a 0a 20 2a 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 t.to:..*..*.....$output.=.new.St
56f20 72 65 61 6d 4f 75 74 70 75 74 28 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 73 74 64 6f 75 74 27 2c reamOutput(fopen('php://stdout',
56f40 20 27 77 27 29 29 3b 0a 20 2a 20 20 20 20 20 24 73 74 64 45 72 72 20 3d 20 6e 65 77 20 53 74 72 .'w'));..*.....$stdErr.=.new.Str
56f60 65 61 6d 4f 75 74 70 75 74 28 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 73 74 64 65 72 72 27 2c 20 eamOutput(fopen('php://stderr',.
56f80 27 77 27 29 29 3b 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 'w'));..*..*.@author.Fabien.Pote
56fa0 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 ncier.<fabien@symfony.com>..*/.c
56fc0 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 20 65 78 74 65 6e 64 73 20 53 74 72 65 61 lass.ConsoleOutput.extends.Strea
56fe0 6d 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 mOutput.implements.ConsoleOutput
57000 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 Interface.{...../**......*.@var.
57020 53 74 72 65 61 6d 4f 75 74 70 75 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 StreamOutput......*/.....private
57040 20 24 73 74 64 65 72 72 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 .$stderr;....../**......*.Constr
57060 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 uctor.......*......*.@param.int.
57080 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 24 76 65 72 62 6f ..........................$verbo
570a0 73 69 74 79 20 54 68 65 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 28 6f 6e 65 20 6f 66 sity.The.verbosity.level.(one.of
570c0 20 74 68 65 20 56 45 52 42 4f 53 49 54 59 20 63 6f 6e 73 74 61 6e 74 73 20 69 6e 20 4f 75 74 70 .the.VERBOSITY.constants.in.Outp
570e0 75 74 49 6e 74 65 72 66 61 63 65 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 7c utInterface)......*.@param.bool|
57100 6e 75 6c 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 63 6f 72 61 null.....................$decora
57120 74 65 64 20 57 68 65 74 68 65 72 20 74 6f 20 64 65 63 6f 72 61 74 65 20 6d 65 73 73 61 67 65 73 ted.Whether.to.decorate.messages
57140 20 28 6e 75 6c 6c 20 66 6f 72 20 61 75 74 6f 2d 67 75 65 73 73 69 6e 67 29 0a 20 20 20 20 20 2a .(null.for.auto-guessing)......*
57160 20 40 70 61 72 61 6d 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 .@param.OutputFormatterInterface
57180 7c 6e 75 6c 6c 20 24 66 6f 72 6d 61 74 74 65 72 20 4f 75 74 70 75 74 20 66 6f 72 6d 61 74 74 65 |null.$formatter.Output.formatte
571a0 72 20 69 6e 73 74 61 6e 63 65 20 28 6e 75 6c 6c 20 74 6f 20 75 73 65 20 64 65 66 61 75 6c 74 20 r.instance.(null.to.use.default.
571c0 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 OutputFormatter)......*/.....pub
571e0 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 65 72 62 6f 73 lic.function.__construct($verbos
57200 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 4c 2c 20 24 64 ity.=.self::VERBOSITY_NORMAL,.$d
57220 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 61 74 74 65 72 ecorated.=.null,.OutputFormatter
57240 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 29 0a 20 20 20 Interface.$formatter.=.null)....
57260 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 .{.........parent::__construct($
57280 74 68 69 73 2d 3e 6f 70 65 6e 4f 75 74 70 75 74 53 74 72 65 61 6d 28 29 2c 20 24 76 65 72 62 6f this->openOutputStream(),.$verbo
572a0 73 69 74 79 2c 20 24 64 65 63 6f 72 61 74 65 64 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a sity,.$decorated,.$formatter);..
572c0 20 20 20 20 20 20 20 20 24 61 63 74 75 61 6c 44 65 63 6f 72 61 74 65 64 20 3d 20 24 74 68 69 73 ........$actualDecorated.=.$this
572e0 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ->isDecorated();.........$this->
57300 73 74 64 65 72 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 stderr.=.new.StreamOutput($this-
57320 3e 6f 70 65 6e 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 >openErrorStream(),.$verbosity,.
57340 24 64 65 63 6f 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 $decorated,.$this->getFormatter(
57360 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 63 6f 72 ));..........if.(null.===.$decor
57380 61 74 65 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 44 65 ated).{.............$this->setDe
573a0 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 26 26 20 24 74 68 69 corated($actualDecorated.&&.$thi
573c0 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 3b 0a 20 20 20 20 20 s->stderr->isDecorated());......
573e0 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 7b 40 69 6e 68 ...}.....}....../**......*.{@inh
57400 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 eritdoc}......*/.....public.func
57420 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 0a 20 20 tion.setDecorated($decorated)...
57440 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 73 65 74 44 65 63 6f 72 61 74 65 64 ..{.........parent::setDecorated
57460 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 64 ($decorated);.........$this->std
57480 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 20 err->setDecorated($decorated);..
574a0 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f ...}....../**......*.{@inheritdo
574c0 63 7d 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 c}......*/.....public.function.s
574e0 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 etFormatter(OutputFormatterInter
57500 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 face.$formatter).....{.........p
57520 61 72 65 6e 74 3a 3a 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 72 29 3b arent::setFormatter($formatter);
57540 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 46 6f 72 6d 61 .........$this->stderr->setForma
57560 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a tter($formatter);.....}....../**
57580 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 ......*.{@inheritdoc}......*/...
575a0 20 20 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 ..public.function.setVerbosity($
575c0 6c 65 76 65 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 73 65 74 level).....{.........parent::set
575e0 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 Verbosity($level);.........$this
57600 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 65 6c 29 3b 0a ->stderr->setVerbosity($level);.
57620 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 ....}....../**......*.{@inheritd
57640 6f 63 7d 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 oc}......*/.....public.function.
57660 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 getErrorOutput().....{.........r
57680 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 eturn.$this->stderr;.....}......
576a0 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f /**......*.{@inheritdoc}......*/
576c0 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 4f 75 74 .....public.function.setErrorOut
576e0 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 0a 20 20 20 20 put(OutputInterface.$error).....
57700 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 24 65 72 72 6f 72 {.........$this->stderr.=.$error
57720 3b 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 74 75 72 6e 73 20 ;.....}....../**......*.Returns.
57740 74 72 75 65 20 69 66 20 63 75 72 72 65 6e 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 73 75 70 70 true.if.current.environment.supp
57760 6f 72 74 73 20 77 72 69 74 69 6e 67 20 63 6f 6e 73 6f 6c 65 20 6f 75 74 70 75 74 20 74 6f 0a 20 orts.writing.console.output.to..
57780 20 20 20 20 2a 20 53 54 44 4f 55 54 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 ....*.STDOUT.......*......*.@ret
577a0 75 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 urn.bool......*/.....protected.f
577c0 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 64 6f 75 74 53 75 70 70 6f 72 74 28 29 0a 20 20 20 20 7b unction.hasStdoutSupport().....{
577e0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d .........return.false.===.$this-
57800 3e 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a >isRunningOS400();.....}....../*
57820 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 63 75 72 72 65 6e 74 *......*.Returns.true.if.current
57840 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 73 75 70 70 6f 72 74 73 20 77 72 69 74 69 6e 67 20 63 6f .environment.supports.writing.co
57860 6e 73 6f 6c 65 20 6f 75 74 70 75 74 20 74 6f 0a 20 20 20 20 20 2a 20 53 54 44 45 52 52 2e 0a 20 nsole.output.to......*.STDERR...
57880 20 20 20 20 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 ....*......*.@return.bool......*
578a0 2f 0a 20 20 20 20 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 65 /.....protected.function.hasStde
578c0 72 72 53 75 70 70 6f 72 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e rrSupport().....{.........return
578e0 20 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 .false.===.$this->isRunningOS400
57900 28 29 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 68 65 63 6b 73 ();.....}....../**......*.Checks
57920 20 69 66 20 63 75 72 72 65 6e 74 20 65 78 65 63 75 74 69 6e 67 20 65 6e 76 69 72 6f 6e 6d 65 6e .if.current.executing.environmen
57940 74 20 69 73 20 49 42 4d 20 69 53 65 72 69 65 73 20 28 4f 53 34 30 30 29 2c 20 77 68 69 63 68 0a t.is.IBM.iSeries.(OS400),.which.
57960 20 20 20 20 20 2a 20 64 6f 65 73 6e 27 74 20 70 72 6f 70 65 72 6c 79 20 63 6f 6e 76 65 72 74 20 .....*.doesn't.properly.convert.
57980 63 68 61 72 61 63 74 65 72 2d 65 6e 63 6f 64 69 6e 67 73 20 62 65 74 77 65 65 6e 20 41 53 43 49 character-encodings.between.ASCI
579a0 49 20 74 6f 20 45 42 43 44 49 43 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 I.to.EBCDIC.......*......*.@retu
579c0 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 rn.bool......*/.....private.func
579e0 74 69 6f 6e 20 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 tion.isRunningOS400().....{.....
57a00 20 20 20 20 24 63 68 65 63 6b 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 ....$checks.=.array(............
57a20 20 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 20 3f 20 .function_exists('php_uname').?.
57a40 70 68 70 5f 75 6e 61 6d 65 28 27 73 27 29 20 3a 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 php_uname('s').:.'',............
57a60 20 67 65 74 65 6e 76 28 27 4f 53 54 59 50 45 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 .getenv('OSTYPE'),.............P
57a80 48 50 5f 4f 53 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 HP_OS,.........);..........retur
57aa0 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 64 65 28 27 3b 27 2c n.false.!==.stripos(implode(';',
57ac0 20 24 63 68 65 63 6b 73 29 2c 20 27 4f 53 34 30 30 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .$checks),.'OS400');.....}......
57ae0 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 72 65 73 6f 75 72 63 65 0a 20 20 20 20 /**......*.@return.resource.....
57b00 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 4f 75 74 .*/.....private.function.openOut
57b20 70 75 74 53 74 72 65 61 6d 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 putStream().....{.........if.(!$
57b40 74 68 69 73 2d 3e 68 61 73 53 74 64 6f 75 74 53 75 70 70 6f 72 74 28 29 29 20 7b 0a 20 20 20 20 this->hasStdoutSupport()).{.....
57b60 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6f 75 74 70 ........return.fopen('php://outp
57b80 75 74 27 2c 20 27 77 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 ut',.'w');.........}..........re
57ba0 74 75 72 6e 20 40 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 73 74 64 6f 75 74 27 2c 20 27 77 27 29 turn.@fopen('php://stdout',.'w')
57bc0 20 3f 3a 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 27 2c 20 27 77 27 29 3b 0a .?:.fopen('php://output',.'w');.
57be0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 72 65 ....}....../**......*.@return.re
57c00 73 6f 75 72 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 source......*/.....private.funct
57c20 69 6f 6e 20 6f 70 65 6e 45 72 72 6f 72 53 74 72 65 61 6d 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 ion.openErrorStream().....{.....
57c40 20 20 20 20 72 65 74 75 72 6e 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 68 61 73 53 74 64 65 72 ....return.fopen($this->hasStder
57c60 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
57c80 68 70 3a 2f 2f 6f 75 74 70 75 74 27 2c 20 27 77 27 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 hp://output',.'w');.....}.}.<?ph
57ca0 70 0a 0a 2f 2a 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 74 68 p../*..*.This.file.is.part.of.th
57cc0 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 e.Symfony.package...*..*.(c).Fab
57ce0 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 6f ien.Potencier.<fabien@symfony.co
57d00 6d 3e 0a 20 2a 0a 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 m>..*..*.For.the.full.copyright.
57d20 61 6e 64 20 6c 69 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 and.license.information,.please.
57d40 76 69 65 77 20 74 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 view.the.LICENSE..*.file.that.wa
57d60 73 20 64 69 73 74 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 s.distributed.with.this.source.c
57d80 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ode...*/..namespace.Symfony\Comp
57da0 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 6f onent\Console\Output;..use.Symfo
57dc0 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 4f ny\Component\Console\Formatter\O
57de0 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 65 20 53 79 6d utputFormatterInterface;.use.Sym
57e00 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
57e20 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 2f 2a 2a 0a 20 2a 20 42 61 73 65 20 63 \OutputFormatter;../**..*.Base.c
57e40 6c 61 73 73 20 66 6f 72 20 6f 75 74 70 75 74 20 63 6c 61 73 73 65 73 2e 0a 20 2a 0a 20 2a 20 54 lass.for.output.classes...*..*.T
57e60 68 65 72 65 20 61 72 65 20 66 69 76 65 20 6c 65 76 65 6c 73 20 6f 66 20 76 65 72 62 6f 73 69 74 here.are.five.levels.of.verbosit
57e80 79 3a 0a 20 2a 0a 20 2a 20 20 2a 20 6e 6f 72 6d 61 6c 3a 20 6e 6f 20 6f 70 74 69 6f 6e 20 70 61 y:..*..*..*.normal:.no.option.pa
57ea0 73 73 65 64 20 28 6e 6f 72 6d 61 6c 20 6f 75 74 70 75 74 29 0a 20 2a 20 20 2a 20 76 65 72 62 6f ssed.(normal.output)..*..*.verbo
57ec0 73 65 3a 20 2d 76 20 28 6d 6f 72 65 20 6f 75 74 70 75 74 29 0a 20 2a 20 20 2a 20 76 65 72 79 20 se:.-v.(more.output)..*..*.very.
57ee0 76 65 72 62 6f 73 65 3a 20 2d 76 76 20 28 68 69 67 68 6c 79 20 65 78 74 65 6e 64 65 64 20 6f 75 verbose:.-vv.(highly.extended.ou
57f00 74 70 75 74 29 0a 20 2a 20 20 2a 20 64 65 62 75 67 3a 20 2d 76 76 76 20 28 61 6c 6c 20 64 65 62 tput)..*..*.debug:.-vvv.(all.deb
57f20 75 67 20 6f 75 74 70 75 74 29 0a 20 2a 20 20 2a 20 71 75 69 65 74 3a 20 2d 71 20 28 6e 6f 20 6f ug.output)..*..*.quiet:.-q.(no.o
57f40 75 74 70 75 74 29 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 utput)..*..*.@author.Fabien.Pote
57f60 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 61 ncier.<fabien@symfony.com>..*/.a
57f80 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 bstract.class.Output.implements.
57fa0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 76 OutputInterface.{.....private.$v
57fc0 65 72 62 6f 73 69 74 79 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 74 65 72 erbosity;.....private.$formatter
57fe0 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 ;....../**......*.Constructor...
58000 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 20 20 20 20 20 ....*......*.@param.int.........
58020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 65 72 62 6f 73 69 74 79 20 54 68 65 ..................$verbosity.The
58040 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 28 6f 6e 65 20 6f 66 20 74 68 65 20 56 45 52 .verbosity.level.(one.of.the.VER
58060 42 4f 53 49 54 59 20 63 6f 6e 73 74 61 6e 74 73 20 69 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 BOSITY.constants.in.OutputInterf
58080 61 63 65 29 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 ace)......*.@param.bool.........
580a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 63 6f 72 61 74 65 64 20 57 68 65 74 .................$decorated.Whet
580c0 68 65 72 20 74 6f 20 64 65 63 6f 72 61 74 65 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 2a 20 her.to.decorate.messages......*.
580e0 40 70 61 72 61 6d 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 7c @param.OutputFormatterInterface|
58100 6e 75 6c 6c 20 24 66 6f 72 6d 61 74 74 65 72 20 4f 75 74 70 75 74 20 66 6f 72 6d 61 74 74 65 72 null.$formatter.Output.formatter
58120 20 69 6e 73 74 61 6e 63 65 20 28 6e 75 6c 6c 20 74 6f 20 75 73 65 20 64 65 66 61 75 6c 74 20 4f .instance.(null.to.use.default.O
58140 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c utputFormatter)......*/.....publ
58160 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 65 72 62 6f 73 69 ic.function.__construct($verbosi
58180 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 4c 2c 20 24 64 65 ty.=.self::VERBOSITY_NORMAL,.$de
581a0 63 6f 72 61 74 65 64 20 3d 20 66 61 6c 73 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 corated.=.false,.OutputFormatter
581c0 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 29 0a 20 20 20 Interface.$formatter.=.null)....
581e0 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 20 3d 20 6e 75 .{.........$this->verbosity.=.nu
58200 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 4f 53 ll.===.$verbosity.?.self::VERBOS
58220 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 20 20 20 20 20 20 20 ITY_NORMAL.:.$verbosity;........
58240 20 24 74 68 69 73 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 .$this->formatter.=.$formatter.?
58260 3a 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 20 20 20 20 20 20 20 :.new.OutputFormatter();........
58280 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 .$this->formatter->setDecorated(
582a0 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 $decorated);.....}....../**.....
582c0 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 .*.{@inheritdoc}......*/.....pub
582e0 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 74 70 75 74 lic.function.setFormatter(Output
58300 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 29 0a 20 FormatterInterface.$formatter)..
58320 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 20 3d 20 ...{.........$this->formatter.=.
58340 24 66 6f 72 6d 61 74 74 65 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 $formatter;.....}....../**......
58360 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c *.{@inheritdoc}......*/.....publ
58380 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 20 20 20 20 7b ic.function.getFormatter().....{
583a0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 .........return.$this->formatter
583c0 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 ;.....}....../**......*.{@inheri
583e0 74 64 6f 63 7d 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 tdoc}......*/.....public.functio
58400 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 0a 20 20 20 20 7b n.setDecorated($decorated).....{
58420 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 .........$this->formatter->setDe
58440 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 corated($decorated);.....}......
58460 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f /**......*.{@inheritdoc}......*/
58480 0a 20 20 20 20 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 .....public.function.isDecorated
584a0 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 66 ().....{.........return.$this->f
584c0 6f 72 6d 61 74 74 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 20 20 20 20 7d 0a 0a ormatter->isDecorated();.....}..
584e0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 ..../**......*.{@inheritdoc}....
58500 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 74 56 65 72 62 ..*/.....public.function.setVerb
58520 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 osity($level).....{.........$thi
58540 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 0a 20 20 20 s->verbosity.=.(int).$level;....
58560 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d .}....../**......*.{@inheritdoc}
58580 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 67 65 74 ......*/.....public.function.get
585a0 56 65 72 62 6f 73 69 74 79 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e Verbosity().....{.........return
585c0 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a .$this->verbosity;.....}....../*
585e0 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 *......*.{@inheritdoc}......*/..
58600 20 20 20 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 0a 20 20 20 ...public.function.isQuiet()....
58620 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 .{.........return.self::VERBOSIT
58640 59 5f 51 55 49 45 54 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 20 20 Y_QUIET.===.$this->verbosity;...
58660 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 ..}....../**......*.{@inheritdoc
58680 7d 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 69 73 }......*/.....public.function.is
586a0 56 65 72 62 6f 73 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 Verbose().....{.........return.s
586c0 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 73 2d elf::VERBOSITY_VERBOSE.<=.$this-
586e0 3e 76 65 72 62 6f 73 69 74 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 >verbosity;.....}....../**......
58700 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c *.{@inheritdoc}......*/.....publ
58720 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 0a 20 20 20 20 ic.function.isVeryVerbose().....
58740 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 {.........return.self::VERBOSITY
58760 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3c 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 _VERY_VERBOSE.<=.$this->verbosit
58780 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 y;.....}....../**......*.{@inher
587a0 69 74 64 6f 63 7d 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 itdoc}......*/.....public.functi
587c0 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 on.isDebug().....{.........retur
587e0 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 20 3c 3d 20 24 74 68 69 73 n.self::VERBOSITY_DEBUG.<=.$this
58800 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 ->verbosity;.....}....../**.....
58820 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 .*.{@inheritdoc}......*/.....pub
58840 6c 69 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 lic.function.writeln($messages,.
58860 24 6f 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 $options.=.self::OUTPUT_NORMAL).
58880 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 ....{.........$this->write($mess
588a0 61 67 65 73 2c 20 74 72 75 65 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 ages,.true,.$options);.....}....
588c0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 ../**......*.{@inheritdoc}......
588e0 2a 2f 0a 20 20 20 20 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 */.....public.function.write($me
58900 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 6f ssages,.$newline.=.false,.$optio
58920 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 20 20 20 20 7b 0a ns.=.self::OUTPUT_NORMAL).....{.
58940 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 6d 65 73 ........$messages.=.(array).$mes
58960 73 61 67 65 73 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 79 70 65 73 20 3d 20 73 65 6c 66 3a 3a 4f sages;..........$types.=.self::O
58980 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 57 20 UTPUT_NORMAL.|.self::OUTPUT_RAW.
589a0 7c 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 50 4c 41 49 4e 3b 0a 20 20 20 20 20 20 20 20 24 74 |.self::OUTPUT_PLAIN;.........$t
589c0 79 70 65 20 3d 20 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 ype.=.$types.&.$options.?:.self:
589e0 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 3b 0a 0a 20 20 20 20 20 20 20 20 24 76 65 72 62 6f 73 :OUTPUT_NORMAL;..........$verbos
58a00 69 74 69 65 73 20 3d 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 7c 20 ities.=.self::VERBOSITY_QUIET.|.
58a20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 7c 20 73 65 6c 66 3a 3a 56 self::VERBOSITY_NORMAL.|.self::V
58a40 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 ERBOSITY_VERBOSE.|.self::VERBOSI
58a60 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 TY_VERY_VERBOSE.|.self::VERBOSIT
58a80 59 5f 44 45 42 55 47 3b 0a 20 20 20 20 20 20 20 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 24 76 Y_DEBUG;.........$verbosity.=.$v
58aa0 65 72 62 6f 73 69 74 69 65 73 20 26 20 24 6f 70 74 69 6f 6e 73 20 3f 3a 20 73 65 6c 66 3a 3a 56 erbosities.&.$options.?:.self::V
58ac0 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 76 ERBOSITY_NORMAL;..........if.($v
58ae0 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 28 29 erbosity.>.$this->getVerbosity()
58b00 29 20 7b 0a 20 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 ).{.............return;.........
58b20 7d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 }..........foreach.($messages.as
58b40 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 .$message).{.............switch.
58b60 28 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4f ($type).{.................case.O
58b80 75 74 70 75 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 3a 0a 20 utputInterface::OUTPUT_NORMAL:..
58ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 24 74 ...................$message.=.$t
58bc0 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 61 67 65 29 his->formatter->format($message)
58be0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 ;.....................break;....
58c00 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 .............case.OutputInterfac
58c20 65 3a 3a 4f 55 54 50 55 54 5f 52 41 57 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e::OUTPUT_RAW:..................
58c40 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 4f ...break;.................case.O
58c60 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 50 4c 41 49 4e 3a 0a 20 20 utputInterface::OUTPUT_PLAIN:...
58c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 3d 20 73 74 72 ..................$message.=.str
58ca0 69 70 5f 74 61 67 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 ip_tags($this->formatter->format
58cc0 28 24 6d 65 73 73 61 67 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ($message));....................
58ce0 20 62 72 65 61 6b 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 20 .break;.............}...........
58d00 20 20 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 ...$this->doWrite($message,.$new
58d20 6c 69 6e 65 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 2a 2a 0a line);.........}.....}....../**.
58d40 20 20 20 20 20 2a 20 57 72 69 74 65 73 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 6f .....*.Writes.a.message.to.the.o
58d60 75 74 70 75 74 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 utput.......*......*.@param.stri
58d80 6e 67 20 24 6d 65 73 73 61 67 65 20 41 20 6d 65 73 73 61 67 65 20 74 6f 20 77 72 69 74 65 20 74 ng.$message.A.message.to.write.t
58da0 6f 20 74 68 65 20 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 o.the.output......*.@param.bool.
58dc0 20 20 24 6e 65 77 6c 69 6e 65 20 57 68 65 74 68 65 72 20 74 6f 20 61 64 64 20 61 20 6e 65 77 6c ..$newline.Whether.to.add.a.newl
58de0 69 6e 65 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 61 62 73 74 72 61 63 74 20 ine.or.not......*/.....abstract.
58e00 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 28 24 6d 65 73 73 protected.function.doWrite($mess
58e20 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 age,.$newline);.}.<?php../*..*.T
58e40 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 his.file.is.part.of.the.Symfony.
58e60 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 package...*..*.(c).Fabien.Potenc
58e80 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 ier.<fabien@symfony.com>..*..*.F
58ea0 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 63 65 6e 73 or.the.full.copyright.and.licens
58ec0 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 68 65 20 4c e.information,.please.view.the.L
58ee0 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 72 69 62 75 ICENSE..*.file.that.was.distribu
58f00 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 2a 2f 0a 0a ted.with.this.source.code...*/..
58f20 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
58f40 6f 6c 65 5c 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 ole\Event;..use.Symfony\Componen
58f60 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 73 65 20 53 t\Console\Command\Command;.use.S
58f80 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
58fa0 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
58fc0 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
58fe0 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 45 76 65 6e 74 ace;.use.Symfony\Component\Event
59000 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 0a 2f 2a 2a 0a 20 2a 20 41 6c 6c 6f 77 73 Dispatcher\Event;../**..*.Allows
59020 20 74 6f 20 69 6e 73 70 65 63 74 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70 75 74 20 6f 66 20 .to.inspect.input.and.output.of.
59040 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 72 61 6e 63 65 73 a.command...*..*.@author.Frances
59060 63 6f 20 4c 65 76 6f 72 61 74 6f 20 3c 67 69 74 40 66 6c 65 76 6f 75 72 2e 6e 65 74 3e 0a 20 2a co.Levorato.<git@flevour.net>..*
59080 2f 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 /.class.ConsoleEvent.extends.Eve
590a0 6e 74 0a 7b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 20 20 nt.{.....protected.$command;....
590c0 20 20 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6f ..private.$input;.....private.$o
590e0 75 74 70 75 74 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f utput;......public.function.__co
59100 6e 73 74 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 nstruct(Command.$command,.InputI
59120 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
59140 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 .$output).....{.........$this->c
59160 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 ommand.=.$command;.........$this
59180 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ->input.=.$input;.........$this-
591a0 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a >output.=.$output;.....}....../*
591c0 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 69 *......*.Gets.the.command.that.i
591e0 73 20 65 78 65 63 75 74 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 s.executed.......*......*.@retur
59200 6e 20 43 6f 6d 6d 61 6e 64 20 41 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 n.Command.A.Command.instance....
59220 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 67 65 74 43 6f 6d 6d ..*/.....public.function.getComm
59240 61 6e 64 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 and().....{.........return.$this
59260 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a ->command;.....}....../**......*
59280 20 47 65 74 73 20 74 68 65 20 69 6e 70 75 74 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 20 2a .Gets.the.input.instance.......*
592a0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 41 ......*.@return.InputInterface.A
592c0 6e 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a n.InputInterface.instance......*
592e0 2f 0a 20 20 20 20 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 /.....public.function.getInput()
59300 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 69 6e 70 .....{.........return.$this->inp
59320 75 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 ut;.....}....../**......*.Gets.t
59340 68 65 20 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 he.output.instance.......*......
59360 2a 20 40 72 65 74 75 72 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 41 6e 20 4f 75 74 *.@return.OutputInterface.An.Out
59380 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 putInterface.instance......*/...
593a0 20 20 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 0a 20 20 ..public.function.getOutput()...
593c0 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 6f 75 74 70 75 74 ..{.........return.$this->output
593e0 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 ;.....}.}.<?php../*..*.This.file
59400 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e .is.part.of.the.Symfony.package.
59420 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 ..*..*.(c).Fabien.Potencier.<fab
59440 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 ien@symfony.com>..*..*.For.the.f
59460 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 20 69 6e 66 6f 72 6d ull.copyright.and.license.inform
59480 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 ation,.please.view.the.LICENSE..
594a0 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 *.file.that.was.distributed.with
594c0 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 .this.source.code...*/..namespac
594e0 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 76 65 6e e.Symfony\Component\Console\Even
59500 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 6f 6c t;..use.Symfony\Component\Consol
59520 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 5c 43 e\Command\Command;.use.Symfony\C
59540 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
59560 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
59580 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 2f 2a sole\Output\OutputInterface;../*
595a0 2a 0a 20 2a 20 41 6c 6c 6f 77 73 20 74 6f 20 68 61 6e 64 6c 65 20 65 78 63 65 70 74 69 6f 6e 20 *..*.Allows.to.handle.exception.
595c0 74 68 72 6f 77 6e 20 69 6e 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 thrown.in.a.command...*..*.@auth
595e0 6f 72 20 46 61 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 or.Fabien.Potencier.<fabien@symf
59600 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 ony.com>..*/.class.ConsoleExcept
59620 69 6f 6e 45 76 65 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 ionEvent.extends.ConsoleEvent.{.
59640 20 20 20 20 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 20 20 20 20 70 72 69 76 ....private.$exception;.....priv
59660 61 74 65 20 24 65 78 69 74 43 6f 64 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 ate.$exitCode;......public.funct
59680 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 63 6f 6d 6d 61 6e 64 ion.__construct(Command.$command
596a0 2c 20 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 ,.InputInterface.$input,.OutputI
596c0 6e 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 78 nterface.$output,.\Exception.$ex
596e0 63 65 70 74 69 6f 6e 2c 20 24 65 78 69 74 43 6f 64 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 ception,.$exitCode).....{.......
59700 20 20 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 2c 20 ..parent::__construct($command,.
59720 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 $input,.$output);..........$this
59740 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 20 20 20 20 ->setException($exception);.....
59760 20 20 20 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 65 78 69 ....$this->exitCode.=.(int).$exi
59780 74 43 6f 64 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 52 65 74 tCode;.....}....../**......*.Ret
597a0 75 72 6e 73 20 74 68 65 20 74 68 72 6f 77 6e 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 urns.the.thrown.exception.......
597c0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 5c 45 78 63 65 70 74 69 6f 6e 20 54 68 65 20 *......*.@return.\Exception.The.
597e0 74 68 72 6f 77 6e 20 65 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 thrown.exception......*/.....pub
59800 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 20 20 20 20 lic.function.getException().....
59820 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f {.........return.$this->exceptio
59840 6e 3b 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 70 6c 61 63 65 n;.....}....../**......*.Replace
59860 73 20 74 68 65 20 74 68 72 6f 77 6e 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 s.the.thrown.exception.......*..
59880 20 20 20 20 2a 20 54 68 69 73 20 65 78 63 65 70 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 74 68 72 ....*.This.exception.will.be.thr
598a0 6f 77 6e 20 69 66 20 6e 6f 20 72 65 73 70 6f 6e 73 65 20 69 73 20 73 65 74 20 69 6e 20 74 68 65 own.if.no.response.is.set.in.the
598c0 20 65 76 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 5c 45 78 .event.......*......*.@param.\Ex
598e0 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 20 54 68 65 20 74 68 72 6f 77 6e 20 65 78 ception.$exception.The.thrown.ex
59900 63 65 70 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 ception......*/.....public.funct
59920 69 6f 6e 20 73 65 74 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 ion.setException(\Exception.$exc
59940 65 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 78 63 eption).....{.........$this->exc
59960 65 70 74 69 6f 6e 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 eption.=.$exception;.....}......
59980 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 65 78 69 74 20 63 6f 64 65 2e 0a 20 /**......*.Gets.the.exit.code...
599a0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 63 6f 6d ....*......*.@return.int.The.com
599c0 6d 61 6e 64 20 65 78 69 74 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 mand.exit.code......*/.....publi
599e0 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 20 20 20 20 7b 0a 20 c.function.getExitCode().....{..
59a00 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 3b 0a 20 .......return.$this->exitCode;..
59a20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 ...}.}.<?php../*..*.This.file.is
59a40 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a .part.of.the.Symfony.package...*
59a60 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e ..*.(c).Fabien.Potencier.<fabien
59a80 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c @symfony.com>..*..*.For.the.full
59aa0 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 .copyright.and.license.informati
59ac0 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 on,.please.view.the.LICENSE..*.f
59ae0 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 ile.that.was.distributed.with.th
59b00 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 is.source.code...*/..namespace.S
59b20 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 3b 0a ymfony\Component\Console\Event;.
59b40 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 43 .use.Symfony\Component\Console\C
59b60 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 70 ommand\Command;.use.Symfony\Comp
59b80 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
59ba0 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
59bc0 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 2f 2a 2a 0a 20 e\Output\OutputInterface;../**..
59be0 2a 20 41 6c 6c 6f 77 73 20 74 6f 20 6d 61 6e 69 70 75 6c 61 74 65 20 74 68 65 20 65 78 69 74 20 *.Allows.to.manipulate.the.exit.
59c00 63 6f 64 65 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 20 61 66 74 65 72 20 69 74 73 20 65 78 65 63 code.of.a.command.after.its.exec
59c20 75 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 72 61 6e 63 65 73 63 6f 20 4c ution...*..*.@author.Francesco.L
59c40 65 76 6f 72 61 74 6f 20 3c 67 69 74 40 66 6c 65 76 6f 75 72 2e 6e 65 74 3e 0a 20 2a 2f 0a 63 6c evorato.<git@flevour.net>..*/.cl
59c60 61 73 73 20 43 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 ass.ConsoleTerminateEvent.extend
59c80 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 s.ConsoleEvent.{...../**......*.
59ca0 54 68 65 20 65 78 69 74 20 63 6f 64 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 The.exit.code.of.the.command....
59cc0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 69 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 ...*......*.@var.int......*/....
59ce0 20 70 72 69 76 61 74 65 20 24 65 78 69 74 43 6f 64 65 3b 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 .private.$exitCode;......public.
59d00 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 63 6f function.__construct(Command.$co
59d20 6d 6d 61 6e 64 2c 20 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 mmand,.InputInterface.$input,.Ou
59d40 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 65 tputInterface.$output,.$exitCode
59d60 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 ).....{.........parent::__constr
59d80 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);.
59da0 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 45 78 69 74 43 6f 64 65 28 24 65 78 69 .........$this->setExitCode($exi
59dc0 74 43 6f 64 65 29 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 65 tCode);.....}....../**......*.Se
59de0 74 73 20 74 68 65 20 65 78 69 74 20 63 6f 64 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 ts.the.exit.code.......*......*.
59e00 40 70 61 72 61 6d 20 69 6e 74 20 24 65 78 69 74 43 6f 64 65 20 54 68 65 20 63 6f 6d 6d 61 6e 64 @param.int.$exitCode.The.command
59e20 20 65 78 69 74 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 .exit.code......*/.....public.fu
59e40 6e 63 74 69 6f 6e 20 73 65 74 45 78 69 74 43 6f 64 65 28 24 65 78 69 74 43 6f 64 65 29 0a 20 20 nction.setExitCode($exitCode)...
59e60 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 28 69 ..{.........$this->exitCode.=.(i
59e80 6e 74 29 20 24 65 78 69 74 43 6f 64 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 nt).$exitCode;.....}....../**...
59ea0 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 65 78 69 74 20 63 6f 64 65 2e 0a 20 20 20 20 20 2a 0a ...*.Gets.the.exit.code.......*.
59ec0 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 65 .....*.@return.int.The.command.e
59ee0 78 69 74 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 xit.code......*/.....public.func
59f00 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 tion.getExitCode().....{........
59f20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 3b 0a 20 20 20 20 7d 0a 7d .return.$this->exitCode;.....}.}
59f40 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 .<?php../*..*.This.file.is.part.
59f60 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 of.the.Symfony.package...*..*.(c
59f80 29 20 46 61 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 ).Fabien.Potencier.<fabien@symfo
59fa0 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 ny.com>..*..*.For.the.full.copyr
59fc0 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c ight.and.license.information,.pl
59fe0 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 ease.view.the.LICENSE..*.file.th
5a000 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 at.was.distributed.with.this.sou
5a020 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 rce.code...*/..namespace.Symfony
5a040 5c 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 2f 2a 2a 0a 20 \Component\Console\Event;../**..
5a060 2a 20 41 6c 6c 6f 77 73 20 74 6f 20 64 6f 20 74 68 69 6e 67 73 20 62 65 66 6f 72 65 20 74 68 65 *.Allows.to.do.things.before.the
5a080 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 6c 69 6b 65 20 73 6b 69 70 70 .command.is.executed,.like.skipp
5a0a0 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 ing.the.command.or.changing.the.
5a0c0 69 6e 70 75 74 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 input...*..*.@author.Fabien.Pote
5a0e0 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 ncier.<fabien@symfony.com>..*/.c
5a100 6c 61 73 73 20 43 6f 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 lass.ConsoleCommandEvent.extends
5a120 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 .ConsoleEvent.{...../**......*.T
5a140 68 65 20 72 65 74 75 72 6e 20 63 6f 64 65 20 66 6f 72 20 73 6b 69 70 70 65 64 20 63 6f 6d 6d 61 he.return.code.for.skipped.comma
5a160 6e 64 73 2c 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 73 6f 20 62 65 20 70 61 73 73 65 64 20 69 6e nds,.this.will.also.be.passed.in
5a180 74 6f 20 74 68 65 20 74 65 72 6d 69 6e 61 74 65 20 65 76 65 6e 74 2e 0a 20 20 20 20 20 2a 2f 0a to.the.terminate.event.......*/.
5a1a0 20 20 20 20 63 6f 6e 73 74 20 52 45 54 55 52 4e 5f 43 4f 44 45 5f 44 49 53 41 42 4c 45 44 20 3d ....const.RETURN_CODE_DISABLED.=
5a1c0 20 31 31 33 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 64 69 63 61 74 65 73 20 .113;....../**......*.Indicates.
5a1e0 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 72 75 6e 20 6f 72 20 if.the.command.should.be.run.or.
5a200 73 6b 69 70 70 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 62 6f 6f 6c skipped.......*......*.@var.bool
5a220 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 53 68 6f ......*/.....private.$commandSho
5a240 75 6c 64 52 75 6e 20 3d 20 74 72 75 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 uldRun.=.true;....../**......*.D
5a260 69 73 61 62 6c 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2c 20 73 6f 20 69 74 20 77 6f 6e 27 74 isables.the.command,.so.it.won't
5a280 20 62 65 20 72 75 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 .be.run.......*......*.@return.b
5a2a0 6f 6f 6c 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 ool......*/.....public.function.
5a2c0 64 69 73 61 62 6c 65 43 6f 6d 6d 61 6e 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 disableCommand().....{.........r
5a2e0 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 6e 20 3d 20 eturn.$this->commandShouldRun.=.
5a300 66 61 6c 73 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 45 6e 61 false;.....}....../**......*.Ena
5a320 62 6c 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 bles.the.command.......*......*.
5a340 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 75 62 6c 69 63 20 @return.bool......*/.....public.
5a360 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 43 6f 6d 6d 61 6e 64 28 29 0a 20 20 20 20 7b 0a 20 function.enableCommand().....{..
5a380 20 20 20 20 20 20 20 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 .......return.$this->commandShou
5a3a0 6c 64 52 75 6e 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 ldRun.=.true;.....}....../**....
5a3c0 20 20 2a 20 52 65 74 75 72 6e 73 20 74 72 75 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 ..*.Returns.true.if.the.command.
5a3e0 69 73 20 72 75 6e 6e 61 62 6c 65 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 is.runnable,.false.otherwise....
5a400 20 20 20 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 ...*......*.@return.bool......*/
5a420 0a 20 20 20 20 70 75 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 .....public.function.commandShou
5a440 6c 64 52 75 6e 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 ldRun().....{.........return.$th
5a460 69 73 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f is->commandShouldRun;.....}.}.<?
5a480 70 68 70 0a 0a 2f 2a 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 php../*..*.This.file.is.part.of.
5a4a0 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 the.Symfony.package...*..*.(c).F
5a4c0 61 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 abien.Potencier.<fabien@symfony.
5a4e0 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 com>..*..*.For.the.full.copyrigh
5a500 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 t.and.license.information,.pleas
5a520 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 e.view.the.LICENSE..*.file.that.
5a540 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 was.distributed.with.this.source
5a560 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f .code...*/..namespace.Symfony\Co
5a580 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4c 6f 67 67 65 72 3b 0a 0a 75 73 65 20 50 73 72 mponent\Console\Logger;..use.Psr
5a5a0 5c 4c 6f 67 5c 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 \Log\AbstractLogger;.use.Psr\Log
5a5c0 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 50 \InvalidArgumentException;.use.P
5a5e0 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d sr\Log\LogLevel;.use.Symfony\Com
5a600 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
5a620 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
5a640 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 66 61 sole\Output\ConsoleOutputInterfa
5a660 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 50 53 52 2d 33 20 63 6f 6d 70 6c 69 61 6e 74 20 63 6f 6e 73 ce;../**..*.PSR-3.compliant.cons
5a680 6f 6c 65 20 6c 6f 67 67 65 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4b c3 a9 76 69 6e ole.logger...*..*.@author.K..vin
5a6a0 20 44 75 6e 67 6c 61 73 20 3c 64 75 6e 67 6c 61 73 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 20 2a 0a .Dunglas.<dunglas@gmail.com>..*.
5a6c0 20 2a 20 40 6c 69 6e 6b 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2d 66 69 67 2e 6f 72 67 2f .*.@link.http://www.php-fig.org/
5a6e0 70 73 72 2f 70 73 72 2d 33 2f 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 4c 6f 67 67 psr/psr-3/..*/.class.ConsoleLogg
5a700 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a 20 20 20 20 er.extends.AbstractLogger.{.....
5a720 63 6f 6e 73 74 20 49 4e 46 4f 20 3d 20 27 69 6e 66 6f 27 3b 0a 20 20 20 20 63 6f 6e 73 74 20 45 const.INFO.=.'info';.....const.E
5a740 52 52 4f 52 20 3d 20 27 65 72 72 6f 72 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 RROR.=.'error';....../**......*.
5a760 40 76 61 72 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 @var.OutputInterface......*/....
5a780 20 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .private.$output;...../**......*
5a7a0 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 .@var.array......*/.....private.
5a7c0 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 $verbosityLevelMap.=.array(.....
5a7e0 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 20 3d 3e 20 4f 75 74 70 75 ....LogLevel::EMERGENCY.=>.Outpu
5a800 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 4c 2c 0a 20 20 tInterface::VERBOSITY_NORMAL,...
5a820 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 4f 75 74 70 75 74 49 ......LogLevel::ALERT.=>.OutputI
5a840 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 20 20 20 20 nterface::VERBOSITY_NORMAL,.....
5a860 20 20 20 20 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 ....LogLevel::CRITICAL.=>.Output
5a880 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 4c 2c 0a 20 20 20 Interface::VERBOSITY_NORMAL,....
5a8a0 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 4f 75 74 70 75 74 49 6e .....LogLevel::ERROR.=>.OutputIn
5a8c0 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 20 20 20 20 20 terface::VERBOSITY_NORMAL,......
5a8e0 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3d 3e 20 4f 75 74 70 75 74 49 6e ...LogLevel::WARNING.=>.OutputIn
5a900 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 20 20 20 20 20 terface::VERBOSITY_NORMAL,......
5a920 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 ...LogLevel::NOTICE.=>.OutputInt
5a940 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 20 20 20 20 20 erface::VERBOSITY_VERBOSE,......
5a960 20 20 20 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 ...LogLevel::INFO.=>.OutputInter
5a980 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 45 2c 0a 20 20 face::VERBOSITY_VERY_VERBOSE,...
5a9a0 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e 20 4f 75 74 70 75 74 49 ......LogLevel::DEBUG.=>.OutputI
5a9c0 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 2c 0a 20 20 20 20 29 nterface::VERBOSITY_DEBUG,.....)
5a9e0 3b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 61 72 72 61 79 0a 20 20 20 20 ;...../**......*.@var.array.....
5aa00 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 .*/.....private.$formatLevelMap.
5aa20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 =.array(.........LogLevel::EMERG
5aa40 45 4e 43 59 20 3d 3e 20 73 65 6c 66 3a 3a 45 52 52 4f 52 2c 0a 20 20 20 20 20 20 20 20 4c 6f 67 ENCY.=>.self::ERROR,.........Log
5aa60 4c 65 76 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 20 20 20 Level::ALERT.=>.self::ERROR,....
5aa80 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 20 3d 3e 20 73 65 6c 66 3a .....LogLevel::CRITICAL.=>.self:
5aaa0 3a 45 52 52 4f 52 2c 0a 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 :ERROR,.........LogLevel::ERROR.
5aac0 3d 3e 20 73 65 6c 66 3a 3a 45 52 52 4f 52 2c 0a 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c =>.self::ERROR,.........LogLevel
5aae0 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 20 20 20 20 20 20 20 ::WARNING.=>.self::INFO,........
5ab00 20 4c 6f 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 .LogLevel::NOTICE.=>.self::INFO,
5ab20 0a 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 20 3d 3e 20 73 65 6c 66 3a .........LogLevel::INFO.=>.self:
5ab40 3a 49 4e 46 4f 2c 0a 20 20 20 20 20 20 20 20 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d :INFO,.........LogLevel::DEBUG.=
5ab60 3e 20 73 65 6c 66 3a 3a 49 4e 46 4f 2c 0a 20 20 20 20 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 >.self::INFO,.....);....../**...
5ab80 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 ...*.@param.OutputInterface.$out
5aba0 70 75 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 20 20 20 20 20 put......*.@param.array.........
5abc0 20 20 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 0a 20 20 20 20 20 2a 20 40 70 61 72 ..$verbosityLevelMap......*.@par
5abe0 61 6d 20 61 72 72 61 79 20 20 20 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d am.array...........$formatLevelM
5ac00 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 5f ap......*/.....public.function._
5ac20 5f 63 6f 6e 73 74 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 _construct(OutputInterface.$outp
5ac40 75 74 2c 20 61 72 72 61 79 20 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 61 ut,.array.$verbosityLevelMap.=.a
5ac60 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 3d 20 rray(),.array.$formatLevelMap.=.
5ac80 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 array()).....{.........$this->ou
5aca0 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 76 tput.=.$output;.........$this->v
5acc0 65 72 62 6f 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 erbosityLevelMap.=.$verbosityLev
5ace0 65 6c 4d 61 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 elMap.+.$this->verbosityLevelMap
5ad00 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 ;.........$this->formatLevelMap.
5ad20 3d 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 2b 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 =.$formatLevelMap.+.$this->forma
5ad40 74 4c 65 76 65 6c 4d 61 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a tLevelMap;.....}....../**......*
5ad60 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 .{@inheritdoc}......*/.....publi
5ad80 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 2c c.function.log($level,.$message,
5ada0 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 20 20 20 20 7b .array.$context.=.array()).....{
5adc0 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 76 65 72 62 6f .........if.(!isset($this->verbo
5ade0 73 69 74 79 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 sityLevelMap[$level])).{........
5ae00 20 20 20 20 20 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
5ae20 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 6c 6f 67 20 6c 65 76 65 6c 20 22 ception(sprintf('The.log.level."
5ae40 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6c 65 76 65 6c 29 29 3b 0a %s".does.not.exist.',.$level));.
5ae60 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 57 72 69 74 65 20 74 6f 20 74 ........}..........//.Write.to.t
5ae80 68 65 20 65 72 72 6f 72 20 6f 75 74 70 75 74 20 69 66 20 6e 65 63 65 73 73 61 72 79 20 61 6e 64 he.error.output.if.necessary.and
5aea0 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 66 6f .available.........if.($this->fo
5aec0 72 6d 61 74 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 20 3d 3d 3d 20 73 65 6c 66 3a 3a 45 rmatLevelMap[$level].===.self::E
5aee0 52 52 4f 52 20 26 26 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 RROR.&&.$this->output.instanceof
5af00 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 20 20 20 20 20 .ConsoleOutputInterface).{......
5af20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e .......$output.=.$this->output->
5af40 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 getErrorOutput();.........}.else
5af60 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e .{.............$output.=.$this->
5af80 6f 75 74 70 75 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 28 24 output;.........}..........if.($
5afa0 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 24 74 68 69 73 2d output->getVerbosity().>=.$this-
5afc0 3e 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 29 20 7b 0a 20 20 >verbosityLevelMap[$level]).{...
5afe0 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e ..........$output->writeln(sprin
5b000 74 66 28 27 3c 25 31 24 73 3e 5b 25 32 24 73 5d 20 25 33 24 73 3c 2f 25 31 24 73 3e 27 2c 20 24 tf('<%1$s>[%2$s].%3$s</%1$s>',.$
5b020 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 2c 20 24 6c this->formatLevelMap[$level],.$l
5b040 65 76 65 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 74 65 72 70 6f 6c 61 74 65 28 24 6d 65 73 73 61 67 evel,.$this->interpolate($messag
5b060 65 2c 20 24 63 6f 6e 74 65 78 74 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a e,.$context)));.........}.....}.
5b080 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 74 65 72 70 6f 6c 61 74 65 73 20 63 6f 6e ...../**......*.Interpolates.con
5b0a0 74 65 78 74 20 76 61 6c 75 65 73 20 69 6e 74 6f 20 74 68 65 20 6d 65 73 73 61 67 65 20 70 6c 61 text.values.into.the.message.pla
5b0c0 63 65 68 6f 6c 64 65 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 61 75 74 68 6f 72 ceholders.......*......*.@author
5b0e0 20 50 48 50 20 46 72 61 6d 65 77 6f 72 6b 20 49 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 20 .PHP.Framework.Interoperability.
5b100 47 72 6f 75 70 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 6e Group......*......*.@param.strin
5b120 67 20 24 6d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 g.$message......*.@param.array..
5b140 24 63 6f 6e 74 65 78 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 $context......*......*.@return.s
5b160 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 tring......*/.....private.functi
5b180 6f 6e 20 69 6e 74 65 72 70 6f 6c 61 74 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 on.interpolate($message,.array.$
5b1a0 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 62 75 69 6c 64 20 context).....{.........//.build.
5b1c0 61 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 61 72 72 61 79 20 77 69 74 68 20 62 72 61 63 65 73 20 a.replacement.array.with.braces.
5b1e0 61 72 6f 75 6e 64 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6b 65 79 73 0a 20 20 20 20 20 20 20 20 around.the.context.keys.........
5b200 24 72 65 70 6c 61 63 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 $replace.=.array();.........fore
5b220 61 63 68 20 28 24 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 ach.($context.as.$key.=>.$val).{
5b240 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 .............if.(!is_array($val)
5b260 20 26 26 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 29 20 7c 7c 20 6d 65 74 68 6f 64 5f .&&.(!is_object($val).||.method_
5b280 65 78 69 73 74 73 28 24 76 61 6c 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 20 exists($val,.'__toString'))).{..
5b2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 70 6c 61 63 65 5b 73 70 72 69 6e 74 66 28 ...............$replace[sprintf(
5b2c0 27 7b 25 73 7d 27 2c 20 24 6b 65 79 29 5d 20 3d 20 24 76 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 '{%s}',.$key)].=.$val;..........
5b2e0 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 2f 20 69 6e 74 65 72 ...}.........}..........//.inter
5b300 70 6f 6c 61 74 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 76 61 6c 75 65 73 20 69 6e 74 6f 20 74 polate.replacement.values.into.t
5b320 68 65 20 6d 65 73 73 61 67 65 20 61 6e 64 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 72 65 he.message.and.return.........re
5b340 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);.
5b360 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 ....}.}.<?php../*..*.This.file.i
5b380 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 s.part.of.the.Symfony.package...
5b3a0 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 *..*.(c).Fabien.Potencier.<fabie
5b3c0 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c n@symfony.com>..*..*.For.the.ful
5b3e0 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 l.copyright.and.license.informat
5b400 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 ion,.please.view.the.LICENSE..*.
5b420 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 file.that.was.distributed.with.t
5b440 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 his.source.code...*/..namespace.
5b460 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 6e Symfony\Component\Console\Comman
5b480 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 6e 73 6f 6c d;..use.Symfony\Component\Consol
5b4a0 65 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 66 61 63 65 3b 0a e\Exception\ExceptionInterface;.
5b4c0 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
5b4e0 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 66 6f 6e 79 put\InputDefinition;.use.Symfony
5b500 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 4f 70 \Component\Console\Input\InputOp
5b520 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
5b540 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
5b560 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
5b580 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
5b5a0 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
5b5c0 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
5b5e0 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 6f 6e \Application;.use.Symfony\Compon
5b600 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 75 73 ent\Console\Helper\HelperSet;.us
5b620 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
5b640 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;.
5b660 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 78 use.Symfony\Component\Console\Ex
5b680 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 2f 2a 2a 0a 20 2a 20 ception\LogicException;../**..*.
5b6a0 42 61 73 65 20 63 6c 61 73 73 20 66 6f 72 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 2a 0a Base.class.for.all.commands...*.
5b6c0 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 .*.@author.Fabien.Potencier.<fab
5b6e0 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 ien@symfony.com>..*/.class.Comma
5b700 6e 64 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 20 nd.{.....private.$application;..
5b720 20 20 20 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 ...private.$name;.....private.$p
5b740 72 6f 63 65 73 73 54 69 74 6c 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 6c 69 61 73 65 rocessTitle;.....private.$aliase
5b760 73 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 64 65 66 69 6e 69 s.=.array();.....private.$defini
5b780 74 69 6f 6e 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 68 65 6c 70 3b 0a 20 20 20 20 70 72 69 tion;.....private.$help;.....pri
5b7a0 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 vate.$description;.....private.$
5b7c0 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 20 3d 20 66 61 6c 73 65 3b 0a ignoreValidationErrors.=.false;.
5b7e0 20 20 20 20 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 ....private.$applicationDefiniti
5b800 6f 6e 4d 65 72 67 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 onMerged.=.false;.....private.$a
5b820 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 68 41 72 pplicationDefinitionMergedWithAr
5b840 67 73 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6f 64 65 3b 0a 20 gs.=.false;.....private.$code;..
5b860 20 20 20 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 ...private.$synopsis.=.array();.
5b880 20 20 20 20 70 72 69 76 61 74 65 20 24 75 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 ....private.$usages.=.array();..
5b8a0 20 20 20 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 0a 20 20 20 20 2f 2a 2a 0a ...private.$helperSet;....../**.
5b8c0 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 .....*.Constructor.......*......
5b8e0 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 6e 61 6d 65 20 54 68 65 20 6e *.@param.string|null.$name.The.n
5b900 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 3b 20 70 61 73 73 69 6e 67 20 6e 75 6c 6c ame.of.the.command;.passing.null
5b920 20 6d 65 61 6e 73 20 69 74 20 6d 75 73 74 20 62 65 20 73 65 74 20 69 6e 20 63 6f 6e 66 69 67 75 .means.it.must.be.set.in.configu
5b940 72 65 28 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 4c 6f 67 69 63 re()......*......*.@throws.Logic
5b960 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 Exception.When.the.command.name.
5b980 69 73 20 65 6d 70 74 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 is.empty......*/.....public.func
5b9a0 74 69 6f 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 20 tion.__construct($name.=.null)..
5b9c0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d ...{.........$this->definition.=
5b9e0 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 0a 20 20 20 20 20 20 20 .new.InputDefinition();.........
5ba00 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .if.(null.!==.$name).{..........
5ba20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 ...$this->setName($name);.......
5ba40 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 75 72 65 28 29 3b ..}..........$this->configure();
5ba60 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 74 68 69 73 2d 3e 6e 61 6d 65 29 20 7b 0a 20 20 ..........if.(!$this->name).{...
5ba80 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 ..........throw.new.LogicExcepti
5baa0 6f 6e 28 73 70 72 69 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 on(sprintf('The.command.defined.
5bac0 69 6e 20 22 25 73 22 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 in."%s".cannot.have.an.empty.nam
5bae0 65 2e 27 2c 20 67 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 29 29 3b 0a 20 20 20 20 20 20 20 e.',.get_class($this)));........
5bb00 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 49 67 6e 6f 72 65 73 .}.....}....../**......*.Ignores
5bb20 20 76 61 6c 69 64 61 74 69 6f 6e 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 .validation.errors.......*......
5bb40 2a 20 54 68 69 73 20 69 73 20 6d 61 69 6e 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 74 68 65 20 *.This.is.mainly.useful.for.the.
5bb60 68 65 6c 70 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 help.command.......*/.....public
5bb80 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 6f 72 73 .function.ignoreValidationErrors
5bba0 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 56 61 ().....{.........$this->ignoreVa
5bbc0 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 lidationErrors.=.true;.....}....
5bbe0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f ../**......*.Sets.the.applicatio
5bc00 6e 20 69 6e 73 74 61 6e 63 65 20 66 6f 72 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 n.instance.for.this.command.....
5bc20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 ..*......*.@param.Application.$a
5bc40 70 70 6c 69 63 61 74 69 6f 6e 20 41 6e 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e pplication.An.Application.instan
5bc60 63 65 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 ce......*/.....public.function.s
5bc80 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 6c 69 etApplication(Application.$appli
5bca0 63 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 cation.=.null).....{.........$th
5bcc0 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a is->application.=.$application;.
5bce0 20 20 20 20 20 20 20 20 69 66 20 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 29 20 7b 0a 20 20 20 20 ........if.($application).{.....
5bd00 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 74 28 24 61 70 70 ........$this->setHelperSet($app
5bd20 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 20 20 20 20 20 lication->getHelperSet());......
5bd40 20 20 20 7d 20 65 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 68 ...}.else.{.............$this->h
5bd60 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d elperSet.=.null;.........}.....}
5bd80 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 68 65 6c 70 65 72 ....../**......*.Sets.the.helper
5bda0 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 48 65 6c 70 65 .set.......*......*.@param.Helpe
5bdc0 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 41 20 48 65 6c 70 65 72 53 65 74 20 69 6e 73 74 rSet.$helperSet.A.HelperSet.inst
5bde0 61 6e 63 65 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 ance......*/.....public.function
5be00 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 70 65 72 53 .setHelperSet(HelperSet.$helperS
5be20 65 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 et).....{.........$this->helperS
5be40 65 74 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a et.=.$helperSet;.....}....../**.
5be60 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 68 65 6c 70 65 72 20 73 65 74 2e 0a 20 20 20 20 .....*.Gets.the.helper.set......
5be80 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 48 65 6c 70 65 72 53 65 74 20 41 20 48 65 .*......*.@return.HelperSet.A.He
5bea0 6c 70 65 72 53 65 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 lperSet.instance......*/.....pub
5bec0 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 20 20 20 20 lic.function.getHelperSet().....
5bee0 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 {.........return.$this->helperSe
5bf00 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 t;.....}....../**......*.Gets.th
5bf20 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 20 66 6f 72 20 74 68 69 73 20 e.application.instance.for.this.
5bf40 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 41 command.......*......*.@return.A
5bf60 70 70 6c 69 63 61 74 69 6f 6e 20 41 6e 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e pplication.An.Application.instan
5bf80 63 65 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 67 ce......*/.....public.function.g
5bfa0 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 etApplication().....{.........re
5bfc0 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 20 20 20 20 7d 0a 0a turn.$this->application;.....}..
5bfe0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 68 65 63 6b 73 20 77 68 65 74 68 65 72 20 74 68 ..../**......*.Checks.whether.th
5c000 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 6e 61 62 6c 65 64 20 6f 72 20 6e 6f 74 20 69 6e 20 74 e.command.is.enabled.or.not.in.t
5c020 68 65 20 63 75 72 72 65 6e 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 he.current.environment.......*..
5c040 20 20 20 20 2a 20 4f 76 65 72 72 69 64 65 20 74 68 69 73 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 ....*.Override.this.to.check.for
5c060 20 78 20 6f 72 20 79 20 61 6e 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 69 66 20 74 68 65 20 .x.or.y.and.return.false.if.the.
5c080 63 6f 6d 6d 61 6e 64 20 63 61 6e 20 6e 6f 74 0a 20 20 20 20 20 2a 20 72 75 6e 20 70 72 6f 70 65 command.can.not......*.run.prope
5c0a0 72 6c 79 20 75 6e 64 65 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 64 69 74 69 6f 6e 73 rly.under.the.current.conditions
5c0c0 2e 0a 20 20 20 20 20 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 .......*......*.@return.bool....
5c0e0 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 69 73 45 6e 61 62 6c ..*/.....public.function.isEnabl
5c100 65 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ed().....{.........return.true;.
5c120 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 66 69 67 75 72 65 73 ....}....../**......*.Configures
5c140 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 .the.current.command.......*/...
5c160 20 20 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()
5c180 0a 20 20 20 20 7b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 45 78 65 .....{.....}....../**......*.Exe
5c1a0 63 75 74 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 cutes.the.current.command.......
5c1c0 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 6e 6f 74 20 61 62 73 74 *......*.This.method.is.not.abst
5c1e0 72 61 63 74 20 62 65 63 61 75 73 65 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 63 6c ract.because.you.can.use.this.cl
5c200 61 73 73 0a 20 20 20 20 20 2a 20 61 73 20 61 20 63 6f 6e 63 72 65 74 65 20 63 6c 61 73 73 2e 20 ass......*.as.a.concrete.class..
5c220 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 64 65 66 69 6e 69 6e In.this.case,.instead.of.definin
5c240 67 20 74 68 65 0a 20 20 20 20 20 2a 20 65 78 65 63 75 74 65 28 29 20 6d 65 74 68 6f 64 2c 20 79 g.the......*.execute().method,.y
5c260 6f 75 20 73 65 74 20 74 68 65 20 63 6f 64 65 20 74 6f 20 65 78 65 63 75 74 65 20 62 79 20 70 61 ou.set.the.code.to.execute.by.pa
5c280 73 73 69 6e 67 0a 20 20 20 20 20 2a 20 61 20 43 6c 6f 73 75 72 65 20 74 6f 20 74 68 65 20 73 65 ssing......*.a.Closure.to.the.se
5c2a0 74 43 6f 64 65 28 29 20 6d 65 74 68 6f 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 tCode().method.......*......*.@p
5c2c0 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 69 6e 70 75 74 20 20 41 6e 20 aram.InputInterface..$input..An.
5c2e0 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 InputInterface.instance......*.@
5c300 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 41 6e param.OutputInterface.$output.An
5c320 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a .OutputInterface.instance......*
5c340 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6e 75 6c 6c 7c 69 6e 74 20 6e 75 6c 6c 20 6f 72 ......*.@return.null|int.null.or
5c360 20 30 20 69 66 20 65 76 65 72 79 74 68 69 6e 67 20 77 65 6e 74 20 66 69 6e 65 2c 20 6f 72 20 61 .0.if.everything.went.fine,.or.a
5c380 6e 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f n.error.code......*......*.@thro
5c3a0 77 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 74 68 69 73 20 61 62 73 74 ws.LogicException.When.this.abst
5c3c0 72 61 63 74 20 6d 65 74 68 6f 64 20 69 73 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 ract.method.is.not.implemented..
5c3e0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 73 65 74 43 6f 64 65 28 29 0a 20 20 20 20 ....*......*.@see.setCode().....
5c400 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 .*/.....protected.function.execu
5c420 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 74 te(InputInterface.$input,.Output
5c440 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 Interface.$output).....{........
5c460 20 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 75 20 6d .throw.new.LogicException('You.m
5c480 75 73 74 20 6f 76 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 ust.override.the.execute().metho
5c4a0 64 20 69 6e 20 74 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 d.in.the.concrete.command.class.
5c4c0 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 74 65 72 61 ');.....}....../**......*.Intera
5c4e0 63 74 73 20 77 69 74 68 20 74 68 65 20 75 73 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a cts.with.the.user.......*......*
5c500 20 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 65 78 65 63 75 74 65 64 20 62 65 66 6f 72 65 20 .This.method.is.executed.before.
5c520 74 68 65 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 76 61 6c 69 64 61 74 65 64 the.InputDefinition.is.validated
5c540 2e 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 69 73 20 69 73 .......*.This.means.that.this.is
5c560 20 74 68 65 20 6f 6e 6c 79 20 70 6c 61 63 65 20 77 68 65 72 65 20 74 68 65 20 63 6f 6d 6d 61 6e .the.only.place.where.the.comman
5c580 64 20 63 61 6e 0a 20 20 20 20 20 2a 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 61 73 6b 20 66 d.can......*.interactively.ask.f
5c5a0 6f 72 20 76 61 6c 75 65 73 20 6f 66 20 6d 69 73 73 69 6e 67 20 72 65 71 75 69 72 65 64 20 61 72 or.values.of.missing.required.ar
5c5c0 67 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e guments.......*......*.@param.In
5c5e0 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 69 6e 70 75 74 20 20 41 6e 20 49 6e 70 75 74 49 6e putInterface..$input..An.InputIn
5c600 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f terface.instance......*.@param.O
5c620 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 41 6e 20 4f 75 74 70 75 74 utputInterface.$output.An.Output
5c640 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 Interface.instance......*/.....p
5c660 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 74 28 49 6e 70 75 74 rotected.function.interact(Input
5c680 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
5c6a0 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a e.$output).....{.....}....../**.
5c6c0 20 20 20 20 20 2a 20 49 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6a .....*.Initializes.the.command.j
5c6e0 75 73 74 20 61 66 74 65 72 20 74 68 65 20 69 6e 70 75 74 20 68 61 73 20 62 65 65 6e 20 76 61 6c ust.after.the.input.has.been.val
5c700 69 64 61 74 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 69 73 20 6d 61 idated.......*......*.This.is.ma
5c720 69 6e 6c 79 20 75 73 65 66 75 6c 20 77 68 65 6e 20 61 20 6c 6f 74 20 6f 66 20 63 6f 6d 6d 61 6e inly.useful.when.a.lot.of.comman
5c740 64 73 20 65 78 74 65 6e 64 73 20 6f 6e 65 20 6d 61 69 6e 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 ds.extends.one.main.command.....
5c760 20 2a 20 77 68 65 72 65 20 73 6f 6d 65 20 74 68 69 6e 67 73 20 6e 65 65 64 20 74 6f 20 62 65 20 .*.where.some.things.need.to.be.
5c780 69 6e 69 74 69 61 6c 69 7a 65 64 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 69 6e 70 75 74 20 61 initialized.based.on.the.input.a
5c7a0 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 rguments.and.options.......*....
5c7c0 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 69 6e 70 75 ..*.@param.InputInterface..$inpu
5c7e0 74 20 20 41 6e 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 t..An.InputInterface.instance...
5c800 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 ...*.@param.OutputInterface.$out
5c820 70 75 74 20 41 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a put.An.OutputInterface.instance.
5c840 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 .....*/.....protected.function.i
5c860 6e 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 nitialize(InputInterface.$input,
5c880 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 20 20 20 20 7b 0a .OutputInterface.$output).....{.
5c8a0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 75 6e 73 20 74 68 65 20 63 ....}....../**......*.Runs.the.c
5c8c0 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 63 6f 64 65 20 74 ommand.......*......*.The.code.t
5c8e0 6f 20 65 78 65 63 75 74 65 20 69 73 20 65 69 74 68 65 72 20 64 65 66 69 6e 65 64 20 64 69 72 65 o.execute.is.either.defined.dire
5c900 63 74 6c 79 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 2a 20 73 65 74 43 6f 64 65 28 29 20 6d ctly.with.the......*.setCode().m
5c920 65 74 68 6f 64 20 6f 72 20 62 79 20 6f 76 65 72 72 69 64 69 6e 67 20 74 68 65 20 65 78 65 63 75 ethod.or.by.overriding.the.execu
5c940 74 65 28 29 20 6d 65 74 68 6f 64 0a 20 20 20 20 20 2a 20 69 6e 20 61 20 73 75 62 2d 63 6c 61 73 te().method......*.in.a.sub-clas
5c960 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 s.......*......*.@param.InputInt
5c980 65 72 66 61 63 65 20 20 24 69 6e 70 75 74 20 20 41 6e 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 erface..$input..An.InputInterfac
5c9a0 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 e.instance......*.@param.OutputI
5c9c0 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 41 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 nterface.$output.An.OutputInterf
5c9e0 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 ace.instance......*......*.@retu
5ca00 72 6e 20 69 6e 74 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 65 78 69 74 20 63 6f 64 65 0a 20 20 20 rn.int.The.command.exit.code....
5ca20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 20 20 ..*......*.@throws.\Exception...
5ca40 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 73 65 74 43 6f 64 65 28 29 0a 20 20 20 20 20 ...*......*.@see.setCode()......
5ca60 2a 20 40 73 65 65 20 65 78 65 63 75 74 65 28 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 *.@see.execute()......*/.....pub
5ca80 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 65 72 66 61 63 65 20 lic.function.run(InputInterface.
5caa0 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)
5cac0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 66 6f 72 63 65 20 74 68 65 20 63 72 65 61 .....{.........//.force.the.crea
5cae0 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 79 6e 6f 70 73 69 73 20 62 65 66 6f 72 65 20 74 68 65 20 tion.of.the.synopsis.before.the.
5cb00 6d 65 72 67 65 20 77 69 74 68 20 74 68 65 20 61 70 70 20 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 merge.with.the.app.definition...
5cb20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 74 72 75 65 29 3b 0a ......$this->getSynopsis(true);.
5cb40 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 66 61 6c 73 65 ........$this->getSynopsis(false
5cb60 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 64 64 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 );..........//.add.the.applicati
5cb80 6f 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 on.arguments.and.options........
5cba0 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 69 74 69 .$this->mergeApplicationDefiniti
5cbc0 6f 6e 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 62 69 6e 64 20 74 68 65 20 69 6e 70 75 74 on();..........//.bind.the.input
5cbe0 20 61 67 61 69 6e 73 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 73 70 65 63 69 66 69 63 20 61 72 .against.the.command.specific.ar
5cc00 67 75 6d 65 6e 74 73 2f 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 guments/options.........try.{...
5cc20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 62 69 6e 64 28 24 74 68 69 73 2d 3e 64 65 ..........$input->bind($this->de
5cc40 66 69 6e 69 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 45 78 63 65 finition);.........}.catch.(Exce
5cc60 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ptionInterface.$e).{............
5cc80 20 69 66 20 28 21 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 .if.(!$this->ignoreValidationErr
5cca0 6f 72 73 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 24 65 3b ors).{.................throw.$e;
5ccc0 0a 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 .............}.........}........
5cce0 20 20 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 ..$this->initialize($input,.$out
5cd00 70 75 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 put);..........if.(null.!==.$thi
5cd20 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 s->processTitle).{.............i
5cd40 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 63 6c 69 5f 73 65 74 5f 70 72 6f 63 f.(function_exists('cli_set_proc
5cd60 65 73 73 5f 74 69 74 6c 65 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 ess_title')).{.................c
5cd80 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 63 li_set_process_title($this->proc
5cda0 65 73 73 54 69 74 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 essTitle);.............}.elseif.
5cdc0 28 66 75 6e 63 74 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 (function_exists('setproctitle')
5cde0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 70 72 6f 63 74 69 74 6c 65 ).{.................setproctitle
5ce00 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 20 ($this->processTitle);..........
5ce20 20 20 20 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 ...}.elseif.(OutputInterface::VE
5ce40 52 42 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 RBOSITY_VERY_VERBOSE.===.$output
5ce60 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ->getVerbosity()).{.............
5ce80 20 20 20 20 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 3e 49 ....$output->writeln('<comment>I
5cea0 6e 73 74 61 6c 6c 20 74 68 65 20 70 72 6f 63 74 69 74 6c 65 20 50 45 43 4c 20 74 6f 20 62 65 20 nstall.the.proctitle.PECL.to.be.
5cec0 61 62 6c 65 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 69 74 6c 65 able.to.change.the.process.title
5cee0 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .</comment>');.............}....
5cf00 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 69 73 49 6e .....}..........if.($input->isIn
5cf20 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 teractive()).{.............$this
5cf40 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 29 3b 0a 20 20 20 ->interact($input,.$output);....
5cf60 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e .....}..........//.The.command.n
5cf80 61 6d 65 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6f 66 74 65 6e 20 6f 6d 69 74 74 65 64 20 77 68 ame.argument.is.often.omitted.wh
5cfa0 65 6e 20 61 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 20 64 69 72 65 63 74 6c en.a.command.is.executed.directl
5cfc0 79 20 77 69 74 68 20 69 74 73 20 72 75 6e 28 29 20 6d 65 74 68 6f 64 2e 0a 20 20 20 20 20 20 20 y.with.its.run().method.........
5cfe0 20 2f 2f 20 49 74 20 77 6f 75 6c 64 20 66 61 69 6c 20 74 68 65 20 76 61 6c 69 64 61 74 69 6f 6e .//.It.would.fail.the.validation
5d000 20 69 66 20 77 65 20 64 69 64 6e 27 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 63 6f 6d 6d .if.we.didn't.make.sure.the.comm
5d020 61 6e 64 20 61 72 67 75 6d 65 6e 74 20 69 73 20 70 72 65 73 65 6e 74 2c 0a 20 20 20 20 20 20 20 and.argument.is.present,........
5d040 20 2f 2f 20 73 69 6e 63 65 20 69 74 27 73 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20 61 .//.since.it's.required.by.the.a
5d060 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 70 75 74 2d 3e pplication..........if.($input->
5d080 68 61 73 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 20 26 26 20 6e 75 6c 6c 20 3d hasArgument('command').&&.null.=
5d0a0 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 ==.$input->getArgument('command'
5d0c0 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 73 65 74 41 72 67 75 )).{.............$input->setArgu
5d0e0 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 ment('command',.$this->getName()
5d100 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 76 61 );.........}..........$input->va
5d120 6c 69 64 61 74 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6f lidate();..........if.($this->co
5d140 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 de).{.............$statusCode.=.
5d160 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 63 6f 64 65 2c 20 24 69 6e 70 call_user_func($this->code,.$inp
5d180 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ut,.$output);.........}.else.{..
5d1a0 20 20 20 20 20 20 20 20 20 20 20 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e ...........$statusCode.=.$this->
5d1c0 65 78 65 63 75 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 20 20 execute($input,.$output);.......
5d1e0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 5f 6e 75 6d 65 72 69 63 28 24 ..}..........return.is_numeric($
5d200 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 43 6f 64 65 20 statusCode).?.(int).$statusCode.
5d220 3a 20 30 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 65 74 73 20 :.0;.....}....../**......*.Sets.
5d240 74 68 65 20 63 6f 64 65 20 74 6f 20 65 78 65 63 75 74 65 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 the.code.to.execute.when.running
5d260 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 49 66 20 .this.command.......*......*.If.
5d280 74 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 75 73 65 64 2c 20 69 74 20 6f 76 65 72 72 69 64 65 this.method.is.used,.it.override
5d2a0 73 20 74 68 65 20 63 6f 64 65 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 2a 20 69 6e 20 74 68 65 s.the.code.defined......*.in.the
5d2c0 20 65 78 65 63 75 74 65 28 29 20 6d 65 74 68 6f 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .execute().method.......*......*
5d2e0 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 6c 65 20 24 63 6f 64 65 20 41 20 63 61 6c 6c 61 62 6c .@param.callable.$code.A.callabl
5d300 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 74 49 e(InputInterface.$input,.OutputI
5d320 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 nterface.$output)......*......*.
5d340 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 @return.Command.The.current.inst
5d360 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c ance......*......*.@throws.Inval
5d380 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 2a 0a 20 20 20 20 20 idArgumentException......*......
5d3a0 2a 20 40 73 65 65 20 65 78 65 63 75 74 65 28 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 *.@see.execute()......*/.....pub
5d3c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 64 65 28 63 61 6c 6c 61 62 6c 65 20 24 63 lic.function.setCode(callable.$c
5d3e0 6f 64 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6f 64 65 20 69 6e 73 ode).....{.........if.($code.ins
5d400 74 61 6e 63 65 6f 66 20 5c 43 6c 6f 73 75 72 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tanceof.\Closure).{.............
5d420 24 72 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 46 75 6e 63 74 69 6f 6e 28 24 63 6f $r.=.new.\ReflectionFunction($co
5d440 64 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 de);.............if.(null.===.$r
5d460 2d 3e 67 65 74 43 6c 6f 73 75 72 65 54 68 69 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ->getClosureThis()).{...........
5d480 20 20 20 20 20 20 24 63 6f 64 65 20 3d 20 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 24 63 6f ......$code.=.\Closure::bind($co
5d4a0 64 65 2c 20 24 74 68 69 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 de,.$this);.............}.......
5d4c0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 64 65 20 3d 20 24 63 6f 64 65 ..}..........$this->code.=.$code
5d4e0 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a ;..........return.$this;.....}..
5d500 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 4d 65 72 67 65 73 20 74 68 65 20 61 70 70 6c 69 63 ..../**......*.Merges.the.applic
5d520 61 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 63 6f 6d 6d 61 6e ation.definition.with.the.comman
5d540 64 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 d.definition.......*......*.This
5d560 20 6d 65 74 68 6f 64 20 69 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 70 75 62 6c 69 63 20 41 50 .method.is.not.part.of.public.AP
5d580 49 20 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 64 69 72 65 63 74 6c I.and.should.not.be.used.directl
5d5a0 79 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 6d 65 y.......*......*.@param.bool.$me
5d5c0 72 67 65 41 72 67 73 20 57 68 65 74 68 65 72 20 74 6f 20 6d 65 72 67 65 20 6f 72 20 6e 6f 74 20 rgeArgs.Whether.to.merge.or.not.
5d5e0 74 68 65 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 72 67 75 6d the.Application.definition.argum
5d600 65 6e 74 73 20 74 6f 20 43 6f 6d 6d 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 72 67 75 6d ents.to.Command.definition.argum
5d620 65 6e 74 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 ents......*/.....public.function
5d640 20 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 24 6d 65 72 .mergeApplicationDefinition($mer
5d660 67 65 41 72 67 73 20 3d 20 74 72 75 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 geArgs.=.true).....{.........if.
5d680 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 7c 7c 20 (null.===.$this->application.||.
5d6a0 28 74 72 75 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 (true.===.$this->applicationDefi
5d6c0 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 26 26 20 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 nitionMerged.&&.($this->applicat
5d6e0 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 57 69 74 68 41 72 67 73 20 7c 7c 20 21 ionDefinitionMergedWithArgs.||.!
5d700 24 6d 65 72 67 65 41 72 67 73 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 $mergeArgs))).{.............retu
5d720 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 rn;.........}..........$this->de
5d740 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 74 69 6f 6e 73 28 24 74 68 69 73 2d 3e 61 70 70 6c finition->addOptions($this->appl
5d760 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 67 65 74 4f 70 74 ication->getDefinition()->getOpt
5d780 69 6f 6e 73 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 65 72 67 65 41 72 67 73 ions());..........if.($mergeArgs
5d7a0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 75 72 72 65 6e 74 41 72 67 75 6d 65 6e 74 ).{.............$currentArgument
5d7c0 73 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 75 6d 65 s.=.$this->definition->getArgume
5d7e0 6e 74 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 nts();.............$this->defini
5d800 74 69 6f 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 tion->setArguments($this->applic
5d820 61 74 69 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 ation->getDefinition()->getArgum
5d840 65 6e 74 73 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 66 69 ents());.............$this->defi
5d860 6e 69 74 69 6f 6e 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 73 28 24 63 75 72 72 65 6e 74 41 72 67 nition->addArguments($currentArg
5d880 75 6d 65 6e 74 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 uments);.........}..........$thi
5d8a0 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 20 3d s->applicationDefinitionMerged.=
5d8c0 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 65 72 67 65 41 72 67 73 29 20 7b .true;.........if.($mergeArgs).{
5d8e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 .............$this->applicationD
5d900 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 57 69 74 68 41 72 67 73 20 3d 20 74 72 75 65 3b 0a efinitionMergedWithArgs.=.true;.
5d920 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 20 2a 20 ........}.....}....../**......*.
5d940 53 65 74 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 61 72 67 75 6d 65 6e 74 20 61 6e 64 20 6f 70 Sets.an.array.of.argument.and.op
5d960 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 tion.instances.......*......*.@p
5d980 61 72 61 6d 20 61 72 72 61 79 7c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 aram.array|InputDefinition.$defi
5d9a0 6e 69 74 69 6f 6e 20 41 6e 20 61 72 72 61 79 20 6f 66 20 61 72 67 75 6d 65 6e 74 20 61 6e 64 20 nition.An.array.of.argument.and.
5d9c0 6f 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 73 20 6f 72 20 61 20 64 65 66 69 6e 69 74 69 6f 6e option.instances.or.a.definition
5d9e0 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 .instance......*......*.@return.
5da00 43 6f 6d 6d 61 6e 64 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 Command.The.current.instance....
5da20 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 74 44 65 66 69 ..*/.....public.function.setDefi
5da40 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 nition($definition).....{.......
5da60 20 20 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 66 20 49 6e 70 ..if.($definition.instanceof.Inp
5da80 75 74 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 utDefinition).{.............$thi
5daa0 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 20 20 20 s->definition.=.$definition;....
5dac0 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 24 74 68 69 73 2d .....}.else.{.............$this-
5dae0 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 24 64 65 66 69 >definition->setDefinition($defi
5db00 6e 69 74 69 6f 6e 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 nition);.........}..........$thi
5db20 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 20 3d s->applicationDefinitionMerged.=
5db40 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 .false;..........return.$this;..
5db60 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 49 6e ...}....../**......*.Gets.the.In
5db80 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 61 74 74 61 63 68 65 64 20 74 6f 20 74 68 69 73 20 43 putDefinition.attached.to.this.C
5dba0 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 49 6e ommand.......*......*.@return.In
5dbc0 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 41 6e 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e putDefinition.An.InputDefinition
5dbe0 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e .instance......*/.....public.fun
5dc00 63 74 69 6f 6e 20 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 ction.getDefinition().....{.....
5dc20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 20 20 ....return.$this->definition;...
5dc40 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 49 6e 70 ..}....../**......*.Gets.the.Inp
5dc60 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 74 6f 20 62 65 20 75 73 65 64 20 74 6f 20 63 72 65 61 74 utDefinition.to.be.used.to.creat
5dc80 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 43 6f 6d 6d 61 6e e.representations.of.this.Comman
5dca0 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 43 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 d.......*......*.Can.be.overridd
5dcc0 65 6e 20 74 6f 20 70 72 6f 76 69 64 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6d 6d 61 en.to.provide.the.original.comma
5dce0 6e 64 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 77 68 65 6e 20 69 74 20 77 6f 75 6c 64 20 nd.representation.when.it.would.
5dd00 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 20 62 65 20 63 68 61 6e 67 65 64 20 62 79 20 6d otherwise......*.be.changed.by.m
5dd20 65 72 67 69 6e 67 20 77 69 74 68 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 49 6e 70 75 erging.with.the.application.Inpu
5dd40 74 44 65 66 69 6e 69 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 tDefinition.......*......*.This.
5dd60 6d 65 74 68 6f 64 20 69 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 70 75 62 6c 69 63 20 41 50 49 method.is.not.part.of.public.API
5dd80 20 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 64 69 72 65 63 74 6c 79 .and.should.not.be.used.directly
5dda0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 49 6e 70 75 74 44 65 66 .......*......*.@return.InputDef
5ddc0 69 6e 69 74 69 6f 6e 20 41 6e 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 69 6e 73 74 61 inition.An.InputDefinition.insta
5dde0 6e 63 65 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 nce......*/.....public.function.
5de00 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 getNativeDefinition().....{.....
5de20 20 20 20 20 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 28 ....return.$this->getDefinition(
5de40 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 73 20 61 6e );.....}....../**......*.Adds.an
5de60 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 .argument.......*......*.@param.
5de80 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 20 20 20 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 string.$name........The.argument
5dea0 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 20 20 24 6d 6f 64 65 .name......*.@param.int....$mode
5dec0 20 20 20 20 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 6d 6f 64 65 3a 20 49 6e 70 75 74 ........The.argument.mode:.Input
5dee0 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 20 6f 72 20 49 6e 70 75 74 41 72 67 75 6d Argument::REQUIRED.or.InputArgum
5df00 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 ent::OPTIONAL......*.@param.stri
5df20 6e 67 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 74 65 ng.$description.A.description.te
5df40 78 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 64 65 66 61 75 6c 74 xt......*.@param.mixed..$default
5df60 20 20 20 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 28 66 6f 72 20 49 6e 70 75 .....The.default.value.(for.Inpu
5df80 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 20 6d 6f 64 65 20 6f 6e 6c 79 29 0a 20 tArgument::OPTIONAL.mode.only)..
5dfa0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 54 68 65 ....*......*.@return.Command.The
5dfc0 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 .current.instance......*/.....pu
5dfe0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c blic.function.addArgument($name,
5e000 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 .$mode.=.null,.$description.=.''
5e020 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ,.$default.=.null).....{........
5e040 20 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 6d 65 6e 74 28 .$this->definition->addArgument(
5e060 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 6d 6f 64 65 2c 20 new.InputArgument($name,.$mode,.
5e080 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 0a 20 20 20 20 20 $description,.$default));.......
5e0a0 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a ...return.$this;.....}....../**.
5e0c0 20 20 20 20 20 2a 20 41 64 64 73 20 61 6e 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 .....*.Adds.an.option.......*...
5e0e0 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 20 20 20 20 20 20 20 ...*.@param.string.$name........
5e100 54 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 The.option.name......*.@param.st
5e120 72 69 6e 67 20 24 73 68 6f 72 74 63 75 74 20 20 20 20 54 68 65 20 73 68 6f 72 74 63 75 74 20 28 ring.$shortcut....The.shortcut.(
5e140 63 61 6e 20 62 65 20 6e 75 6c 6c 29 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 20 can.be.null)......*.@param.int..
5e160 20 20 24 6d 6f 64 65 20 20 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 20 6d 6f 64 65 3a 20 ..$mode........The.option.mode:.
5e180 4f 6e 65 20 6f 66 20 74 68 65 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 2a 20 One.of.the.InputOption::VALUE_*.
5e1a0 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 constants......*.@param.string.$
5e1c0 64 65 73 63 72 69 70 74 69 6f 6e 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 74 65 78 74 0a 20 description.A.description.text..
5e1e0 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 64 65 66 61 75 6c 74 20 20 20 20 ....*.@param.mixed..$default....
5e200 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 28 6d 75 73 74 20 62 65 20 6e 75 6c 6c .The.default.value.(must.be.null
5e220 20 66 6f 72 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 29 0a 20 20 .for.InputOption::VALUE_NONE)...
5e240 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 54 68 65 20 ...*......*.@return.Command.The.
5e260 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 current.instance......*/.....pub
5e280 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 65 2c 20 24 73 lic.function.addOption($name,.$s
5e2a0 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 6c 2c 20 24 64 hortcut.=.null,.$mode.=.null,.$d
5e2c0 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 20 6e 75 6c 6c escription.=.'',.$default.=.null
5e2e0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f ).....{.........$this->definitio
5e300 6e 2d 3e 61 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 24 6e 61 n->addOption(new.InputOption($na
5e320 6d 65 2c 20 24 73 68 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 me,.$shortcut,.$mode,.$descripti
5e340 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 on,.$default));..........return.
5e360 24 74 68 69 73 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 65 74 $this;.....}....../**......*.Set
5e380 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 s.the.name.of.the.command.......
5e3a0 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 6d 65 74 68 6f 64 20 63 61 6e 20 73 65 74 20 62 6f 74 *......*.This.method.can.set.bot
5e3c0 68 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 20 61 6e 64 20 74 68 65 20 6e 61 6d 65 20 69 66 0a h.the.namespace.and.the.name.if.
5e3e0 20 20 20 20 20 2a 20 79 6f 75 20 73 65 70 61 72 61 74 65 20 74 68 65 6d 20 62 79 20 61 20 63 6f .....*.you.separate.them.by.a.co
5e400 6c 6f 6e 20 28 3a 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 20 20 20 20 24 63 6f 6d 6d 61 lon.(:)......*......*.....$comma
5e420 6e 64 2d 3e 73 65 74 4e 61 6d 65 28 27 66 6f 6f 3a 62 61 72 27 29 3b 0a 20 20 20 20 20 2a 0a 20 nd->setName('foo:bar');......*..
5e440 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 63 6f ....*.@param.string.$name.The.co
5e460 6d 6d 61 6e 64 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e mmand.name......*......*.@return
5e480 20 43 6f 6d 6d 61 6e 64 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 .Command.The.current.instance...
5e4a0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d ...*......*.@throws.InvalidArgum
5e4c0 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 74 68 65 20 6e 61 6d 65 20 69 73 20 69 6e entException.When.the.name.is.in
5e4e0 76 61 6c 69 64 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 valid......*/.....public.functio
5e500 6e 20 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 n.setName($name).....{.........$
5e520 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 this->validateName($name);......
5e540 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 0a 20 20 20 20 20 20 ....$this->name.=.$name;........
5e560 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 ..return.$this;.....}....../**..
5e580 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 69 74 6c 65 20 6f 66 20 ....*.Sets.the.process.title.of.
5e5a0 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 the.command.......*......*.This.
5e5c0 66 65 61 74 75 72 65 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 6f 6e 6c 79 20 77 68 65 6e feature.should.be.used.only.when
5e5e0 20 63 72 65 61 74 69 6e 67 20 61 20 6c 6f 6e 67 20 70 72 6f 63 65 73 73 20 63 6f 6d 6d 61 6e 64 .creating.a.long.process.command
5e600 2c 0a 20 20 20 20 20 2a 20 6c 69 6b 65 20 61 20 64 61 65 6d 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 ,......*.like.a.daemon.......*..
5e620 20 20 20 20 2a 20 50 48 50 20 35 2e 35 2b 20 6f 72 20 74 68 65 20 70 72 6f 63 74 69 74 6c 65 20 ....*.PHP.5.5+.or.the.proctitle.
5e640 50 45 43 4c 20 6c 69 62 72 61 72 79 20 69 73 20 72 65 71 75 69 72 65 64 0a 20 20 20 20 20 2a 0a PECL.library.is.required......*.
5e660 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 69 74 6c 65 20 54 68 65 20 .....*.@param.string.$title.The.
5e680 70 72 6f 63 65 73 73 20 74 69 74 6c 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 process.title......*......*.@ret
5e6a0 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 urn.Command.The.current.instance
5e6c0 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 74 ......*/.....public.function.set
5e6e0 50 72 6f 63 65 73 73 54 69 74 6c 65 28 24 74 69 74 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ProcessTitle($title).....{......
5e700 20 20 20 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 3b ...$this->processTitle.=.$title;
5e720 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 ..........return.$this;.....}...
5e740 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 63 6f 6d 6d 61 6e .../**......*.Returns.the.comman
5e760 64 20 6e 61 6d 65 2e 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 d.name.......*......*.@return.st
5e780 72 69 6e 67 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 0a 20 20 20 20 20 2a 2f 0a 20 20 ring.The.command.name......*/...
5e7a0 20 20 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 20 20 20 20 ..public.function.getName().....
5e7c0 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 20 20 {.........return.$this->name;...
5e7e0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 64 65 73 ..}....../**......*.Sets.the.des
5e800 63 72 69 70 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a cription.for.the.command.......*
5e820 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 64 65 73 63 72 69 70 74 69 ......*.@param.string.$descripti
5e840 6f 6e 20 54 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 on.The.description.for.the.comma
5e860 6e 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 nd......*......*.@return.Command
5e880 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 .The.current.instance......*/...
5e8a0 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e ..public.function.setDescription
5e8c0 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 ($description).....{.........$th
5e8e0 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 0a is->description.=.$description;.
5e900 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 .........return.$this;.....}....
5e920 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 64 65 73 63 72 69 70 ../**......*.Returns.the.descrip
5e940 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 tion.for.the.command.......*....
5e960 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 64 65 73 63 72 69 70 74 69 ..*.@return.string.The.descripti
5e980 6f 6e 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 on.for.the.command......*/.....p
5e9a0 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 69 6f 6e 28 29 0a ublic.function.getDescription().
5e9c0 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 64 65 73 63 ....{.........return.$this->desc
5e9e0 72 69 70 74 69 6f 6e 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 ription;.....}....../**......*.S
5ea00 65 74 73 20 74 68 65 20 68 65 6c 70 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 ets.the.help.for.the.command....
5ea20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 68 65 6c 70 20 ...*......*.@param.string.$help.
5ea40 54 68 65 20 68 65 6c 70 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 0a The.help.for.the.command......*.
5ea60 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 54 68 65 20 63 75 72 72 65 .....*.@return.Command.The.curre
5ea80 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 nt.instance......*/.....public.f
5eaa0 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 28 24 68 65 6c 70 29 0a 20 20 20 20 7b 0a 20 20 20 unction.setHelp($help).....{....
5eac0 20 20 20 20 20 24 74 68 69 73 2d 3e 68 65 6c 70 20 3d 20 24 68 65 6c 70 3b 0a 0a 20 20 20 20 20 .....$this->help.=.$help;.......
5eae0 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a ...return.$this;.....}....../**.
5eb00 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 68 65 6c 70 20 66 6f 72 20 74 68 65 20 .....*.Returns.the.help.for.the.
5eb20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 command.......*......*.@return.s
5eb40 74 72 69 6e 67 20 54 68 65 20 68 65 6c 70 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 20 tring.The.help.for.the.command..
5eb60 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 67 65 74 48 65 ....*/.....public.function.getHe
5eb80 6c 70 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 lp().....{.........return.$this-
5eba0 3e 68 65 6c 70 3b 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 74 >help;.....}....../**......*.Ret
5ebc0 75 72 6e 73 20 74 68 65 20 70 72 6f 63 65 73 73 65 64 20 68 65 6c 70 20 66 6f 72 20 74 68 65 20 urns.the.processed.help.for.the.
5ebe0 63 6f 6d 6d 61 6e 64 20 72 65 70 6c 61 63 69 6e 67 20 74 68 65 20 25 63 6f 6d 6d 61 6e 64 2e 6e command.replacing.the.%command.n
5ec00 61 6d 65 25 20 61 6e 64 0a 20 20 20 20 20 2a 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 ame%.and......*.%command.full_na
5ec20 6d 65 25 20 70 61 74 74 65 72 6e 73 20 77 69 74 68 20 74 68 65 20 72 65 61 6c 20 76 61 6c 75 65 me%.patterns.with.the.real.value
5ec40 73 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 s.dynamically.......*......*.@re
5ec60 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 70 72 6f 63 65 73 73 65 64 20 68 65 6c 70 20 66 turn.string.The.processed.help.f
5ec80 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 or.the.command......*/.....publi
5eca0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 0a 20 20 c.function.getProcessedHelp()...
5ecc0 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b ..{.........$name.=.$this->name;
5ece0 0a 0a 20 20 20 20 20 20 20 20 24 70 6c 61 63 65 68 6f 6c 64 65 72 73 20 3d 20 61 72 72 61 79 28 ..........$placeholders.=.array(
5ed00 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 27 2c 0a 20 .............'%command.name%',..
5ed20 20 20 20 20 20 20 20 20 20 20 20 27 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 27 ...........'%command.full_name%'
5ed40 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 24 72 65 70 6c 61 63 65 6d 65 6e ,.........);.........$replacemen
5ed60 74 73 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 2c 0a 20 ts.=.array(.............$name,..
5ed80 20 20 20 20 20 20 20 20 20 20 20 24 5f 53 45 52 56 45 52 5b 27 50 48 50 5f 53 45 4c 46 27 5d 2e ...........$_SERVER['PHP_SELF'].
5eda0 27 20 27 2e 24 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 '.'.$name,.........);..........r
5edc0 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 70 6c 61 63 65 68 6f 6c 64 65 72 73 2c eturn.str_replace($placeholders,
5ede0 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 2c 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 28 29 .$replacements,.$this->getHelp()
5ee00 20 3f 3a 20 24 74 68 69 73 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 20 20 .?:.$this->getDescription());...
5ee20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 61 6c 69 ..}....../**......*.Sets.the.ali
5ee40 61 73 65 73 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 ases.for.the.command.......*....
5ee60 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 5b 5d 20 24 61 6c 69 61 73 65 73 20 41 6e 20 ..*.@param.string[].$aliases.An.
5ee80 61 72 72 61 79 20 6f 66 20 61 6c 69 61 73 65 73 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 array.of.aliases.for.the.command
5eea0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 54 ......*......*.@return.Command.T
5eec0 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 he.current.instance......*......
5eee0 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 *.@throws.InvalidArgumentExcepti
5ef00 6f 6e 20 57 68 65 6e 20 61 6e 20 61 6c 69 61 73 20 69 73 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 on.When.an.alias.is.invalid.....
5ef20 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 74 41 6c 69 61 73 .*/.....public.function.setAlias
5ef40 65 73 28 24 61 6c 69 61 73 65 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 es($aliases).....{.........if.(!
5ef60 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 73 20 is_array($aliases).&&.!$aliases.
5ef80 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 20 20 20 20 20 instanceof.\Traversable).{......
5efa0 20 20 20 20 20 20 20 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 .......throw.new.InvalidArgument
5efc0 45 78 63 65 70 74 69 6f 6e 28 27 24 61 6c 69 61 73 65 73 20 6d 75 73 74 20 62 65 20 61 6e 20 61 Exception('$aliases.must.be.an.a
5efe0 72 72 61 79 20 6f 72 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 5c 54 72 61 76 65 72 73 61 rray.or.an.instance.of.\Traversa
5f000 62 6c 65 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 ble');.........}..........foreac
5f020 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 20 20 20 20 20 20 20 h.($aliases.as.$alias).{........
5f040 20 20 20 20 20 24 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 .....$this->validateName($alias)
5f060 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 6c 69 61 ;.........}..........$this->alia
5f080 73 65 73 20 3d 20 24 61 6c 69 61 73 65 73 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ses.=.$aliases;..........return.
5f0a0 24 74 68 69 73 3b 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 74 $this;.....}....../**......*.Ret
5f0c0 75 72 6e 73 20 74 68 65 20 61 6c 69 61 73 65 73 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 urns.the.aliases.for.the.command
5f0e0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 6e .......*......*.@return.array.An
5f100 20 61 72 72 61 79 20 6f 66 20 61 6c 69 61 73 65 73 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e .array.of.aliases.for.the.comman
5f120 64 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 67 65 d......*/.....public.function.ge
5f140 74 41 6c 69 61 73 65 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 tAliases().....{.........return.
5f160 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 $this->aliases;.....}....../**..
5f180 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 73 79 6e 6f 70 73 69 73 20 66 6f 72 20 74 ....*.Returns.the.synopsis.for.t
5f1a0 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d he.command.......*......*.@param
5f1c0 20 62 6f 6f 6c 20 24 73 68 6f 72 74 20 57 68 65 74 68 65 72 20 74 6f 20 73 68 6f 77 20 74 68 65 .bool.$short.Whether.to.show.the
5f1e0 20 73 68 6f 72 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 73 79 6e 6f 70 73 69 73 20 28 .short.version.of.the.synopsis.(
5f200 77 69 74 68 20 6f 70 74 69 6f 6e 73 20 66 6f 6c 64 65 64 29 20 6f 72 20 6e 6f 74 0a 20 20 20 20 with.options.folded).or.not.....
5f220 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 73 79 6e .*......*.@return.string.The.syn
5f240 6f 70 73 69 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 opsis......*/.....public.functio
5f260 6e 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 20 20 n.getSynopsis($short.=.false)...
5f280 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6b 65 79 20 3d 20 24 73 68 6f 72 74 20 3f 20 27 73 68 6f ..{.........$key.=.$short.?.'sho
5f2a0 72 74 27 20 3a 20 27 6c 6f 6e 67 27 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 rt'.:.'long';..........if.(!isse
5f2c0 74 28 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 20 20 20 20 t($this->synopsis[$key])).{.....
5f2e0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 5b 24 6b 65 79 5d 20 3d 20 ........$this->synopsis[$key].=.
5f300 74 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 trim(sprintf('%s.%s',.$this->nam
5f320 65 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 e,.$this->definition->getSynopsi
5f340 73 28 24 73 68 6f 72 74 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 s($short)));.........}..........
5f360 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 5b 24 6b 65 79 5d 3b 0a 20 20 return.$this->synopsis[$key];...
5f380 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 20 61 20 63 6f 6d 6d 61 6e ..}....../**......*.Add.a.comman
5f3a0 64 20 75 73 61 67 65 20 65 78 61 6d 70 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 d.usage.example.......*......*.@
5f3c0 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 75 73 61 67 65 20 54 68 65 20 75 73 61 67 65 2c 20 69 param.string.$usage.The.usage,.i
5f3e0 74 27 6c 6c 20 62 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 74 68 65 20 63 6f 6d 6d 61 6e t'll.be.prefixed.with.the.comman
5f400 64 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d d.name......*......*.@return.Com
5f420 6d 61 6e 64 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a mand.The.current.instance......*
5f440 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 55 73 61 67 65 28 24 /.....public.function.addUsage($
5f460 75 73 61 67 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 30 20 21 3d 3d 20 73 usage).....{.........if.(0.!==.s
5f480 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 20 7b 0a 20 20 trpos($usage,.$this->name)).{...
5f4a0 20 20 20 20 20 20 20 20 20 20 24 75 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 25 ..........$usage.=.sprintf('%s.%
5f4c0 73 27 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 75 73 61 67 65 29 3b 0a 20 20 20 20 20 20 s',.$this->name,.$usage);.......
5f4e0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 61 67 65 73 5b 5d 20 3d 20 24 ..}..........$this->usages[].=.$
5f500 75 73 61 67 65 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 usage;..........return.$this;...
5f520 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 61 6c 74 65 ..}....../**......*.Returns.alte
5f540 72 6e 61 74 69 76 65 20 75 73 61 67 65 73 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 rnative.usages.of.the.command...
5f560 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 ....*......*.@return.array......
5f580 2a 2f 0a 20 20 20 20 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
5f5a0 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
5f5c0 73 61 67 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 sages;.....}....../**......*.Get
5f5e0 73 20 61 20 68 65 6c 70 65 72 20 69 6e 73 74 61 6e 63 65 20 62 79 20 6e 61 6d 65 2e 0a 20 20 20 s.a.helper.instance.by.name.....
5f600 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 ..*......*.@param.string.$name.T
5f620 68 65 20 68 65 6c 70 65 72 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 he.helper.name......*......*.@re
5f640 74 75 72 6e 20 6d 69 78 65 64 20 54 68 65 20 68 65 6c 70 65 72 20 76 61 6c 75 65 0a 20 20 20 20 turn.mixed.The.helper.value.....
5f660 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e .*......*.@throws.LogicException
5f680 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 20 48 65 6c 70 65 72 53 65 74 20 69 73 20 64 65 ...........if.no.HelperSet.is.de
5f6a0 66 69 6e 65 64 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 fined......*.@throws.InvalidArgu
5f6c0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 66 20 74 68 65 20 68 65 6c 70 65 72 20 69 73 20 6e mentException.if.the.helper.is.n
5f6e0 6f 74 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 ot.defined......*/.....public.fu
5f700 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 nction.getHelper($name).....{...
5f720 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 ......if.(null.===.$this->helper
5f740 53 65 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 Set).{.............throw.new.Log
5f760 69 63 45 78 63 65 70 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 icException(sprintf('Cannot.retr
5f780 69 65 76 65 20 68 65 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 ieve.helper."%s".because.there.i
5f7a0 73 20 6e 6f 20 48 65 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 s.no.HelperSet.defined..Did.you.
5f7c0 66 6f 72 67 65 74 20 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 forget.to.add.your.command.to.th
5f7e0 65 20 61 70 70 6c 69 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 e.application.or.to.set.the.appl
5f800 69 63 61 74 69 6f 6e 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 ication.on.the.command.using.the
5f820 20 73 65 74 41 70 70 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 .setApplication().method?.You.ca
5f840 6e 20 61 6c 73 6f 20 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 n.also.set.the.HelperSet.directl
5f860 79 20 75 73 69 6e 67 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 y.using.the.setHelperSet().metho
5f880 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 d.',.$name));.........}.........
5f8a0 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 24 6e .return.$this->helperSet->get($n
5f8c0 61 6d 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 56 61 6c 69 ame);.....}....../**......*.Vali
5f8e0 64 61 74 65 73 20 61 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 dates.a.command.name.......*....
5f900 20 20 2a 20 49 74 20 6d 75 73 74 20 62 65 20 6e 6f 6e 2d 65 6d 70 74 79 20 61 6e 64 20 70 61 72 ..*.It.must.be.non-empty.and.par
5f920 74 73 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65 20 73 65 70 61 72 61 74 65 64 20 62 ts.can.optionally.be.separated.b
5f940 79 20 22 3a 22 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 y.":".......*......*.@param.stri
5f960 6e 67 20 24 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 ng.$name......*......*.@throws.I
5f980 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 74 68 65 nvalidArgumentException.When.the
5f9a0 20 6e 61 6d 65 20 69 73 20 69 6e 76 61 6c 69 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 .name.is.invalid......*/.....pri
5f9c0 76 61 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 vate.function.validateName($name
5f9e0 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 ).....{.........if.(!preg_match(
5fa00 27 2f 5e 5b 5e 5c 3a 5d 2b 2b 28 5c 3a 5b 5e 5c 3a 5d 2b 2b 29 2a 24 2f 27 2c 20 24 6e 61 6d 65 '/^[^\:]++(\:[^\:]++)*$/',.$name
5fa20 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c )).{.............throw.new.Inval
5fa40 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 43 6f 6d idArgumentException(sprintf('Com
5fa60 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 27 2c 20 24 6e 61 mand.name."%s".is.invalid.',.$na
5fa80 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f me));.........}.....}.}.<?php../
5faa0 2a 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 74 68 65 20 53 79 *..*.This.file.is.part.of.the.Sy
5fac0 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 mfony.package...*..*.(c).Fabien.
5fae0 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 6f 6d 3e 0a 20 Potencier.<fabien@symfony.com>..
5fb00 2a 0a 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 *..*.For.the.full.copyright.and.
5fb20 6c 69 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 license.information,.please.view
5fb40 20 74 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 .the.LICENSE..*.file.that.was.di
5fb60 73 74 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 stributed.with.this.source.code.
5fb80 0a 20 2a 2f 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
5fba0 74 5c 43 6f 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 t\Console\Command;..use.Symfony\
5fbc0 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 44 65 73 63 72 69 70 Component\Console\Helper\Descrip
5fbe0 74 6f 72 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 torHelper;.use.Symfony\Component
5fc00 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 73 \Console\Input\InputArgument;.us
5fc20 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
5fc40 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 70 6f t\InputOption;.use.Symfony\Compo
5fc60 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
5fc80 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
5fca0 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 2f 2a 2a 0a 20 2a \Output\OutputInterface;../**..*
5fcc0 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 68 65 6c 70 20 66 .HelpCommand.displays.the.help.f
5fce0 6f 72 20 61 20 67 69 76 65 6e 20 63 6f 6d 6d 61 6e 64 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f or.a.given.command...*..*.@autho
5fd00 72 20 46 61 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 r.Fabien.Potencier.<fabien@symfo
5fd20 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 20 65 78 ny.com>..*/.class.HelpCommand.ex
5fd40 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6f 6d tends.Command.{.....private.$com
5fd60 6d 61 6e 64 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 mand;....../**......*.{@inheritd
5fd80 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 oc}......*/.....protected.functi
5fda0 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 on.configure().....{.........$th
5fdc0 69 73 2d 3e 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 28 29 3b 0a 0a 20 is->ignoreValidationErrors();...
5fde0 20 20 20 20 20 20 20 24 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 4e 61 .......$this.............->setNa
5fe00 6d 65 28 27 68 65 6c 70 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 44 65 66 69 me('help').............->setDefi
5fe20 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 nition(array(.................ne
5fe40 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 5f 6e 61 6d 65 27 2c 20 w.InputArgument('command_name',.
5fe60 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 63 6f InputArgument::OPTIONAL,.'The.co
5fe80 6d 6d 61 6e 64 20 6e 61 6d 65 27 2c 20 27 68 65 6c 70 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 mmand.name',.'help'),...........
5fea0 20 20 20 20 20 20 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 ......new.InputOption('format',.
5fec0 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 49 52 45 null,.InputOption::VALUE_REQUIRE
5fee0 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 78 6d 6c 2c D,.'The.output.format.(txt,.xml,
5ff00 20 6a 73 6f 6e 2c 20 6f 72 20 6d 64 29 27 2c 20 27 74 78 74 27 29 2c 0a 20 20 20 20 20 20 20 20 .json,.or.md)',.'txt'),.........
5ff20 20 20 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 2c 20 6e ........new.InputOption('raw',.n
5ff40 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 54 ull,.InputOption::VALUE_NONE,.'T
5ff60 6f 20 6f 75 74 70 75 74 20 72 61 77 20 63 6f 6d 6d 61 6e 64 20 68 65 6c 70 27 29 2c 0a 20 20 20 o.output.raw.command.help'),....
5ff80 20 20 20 20 20 20 20 20 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 44 65 73 .........)).............->setDes
5ffa0 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 6f cription('Displays.help.for.a.co
5ffc0 6d 6d 61 6e 64 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 48 65 6c 70 28 3c 3c mmand').............->setHelp(<<
5ffe0 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 25 3c <'EOF'.The.<info>%command.name%<
60000 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 68 65 6c 70 20 66 6f 72 /info>.command.displays.help.for
60020 20 61 20 67 69 76 65 6e 20 63 6f 6d 6d 61 6e 64 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 .a.given.command:....<info>php.%
60040 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a command.full_name%.list</info>..
60060 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 6f 75 74 70 75 74 20 74 68 65 20 68 65 6c 70 20 69 6e 20 You.can.also.output.the.help.in.
60080 6f 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 other.formats.by.using.the.<comm
600a0 65 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 ent>--format</comment>.option:..
600c0 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 6e 61 6d 65 25 20 ..<info>php.%command.full_name%.
600e0 2d 2d 66 6f 72 6d 61 74 3d 78 6d 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 64 69 73 --format=xml.list</info>..To.dis
60100 70 6c 61 79 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 play.the.list.of.available.comma
60120 6e 64 73 2c 20 70 6c 65 61 73 65 20 75 73 65 20 74 68 65 20 3c 69 6e 66 6f 3e 6c 69 73 74 3c 2f nds,.please.use.the.<info>list</
60140 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 2e 0a 45 4f 46 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 info>.command..EOF.............)
60160 0a 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .........;.....}....../**......*
60180 20 53 65 74 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .Sets.the.command.......*......*
601a0 20 40 70 61 72 61 6d 20 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 20 54 68 65 20 63 6f 6d .@param.Command.$command.The.com
601c0 6d 61 6e 64 20 74 6f 20 73 65 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 mand.to.set......*/.....public.f
601e0 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 64 20 24 63 6f 6d 6d unction.setCommand(Command.$comm
60200 61 6e 64 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e and).....{.........$this->comman
60220 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 d.=.$command;.....}....../**....
60240 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 ..*.{@inheritdoc}......*/.....pr
60260 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 6e otected.function.execute(InputIn
60280 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 20 terface.$input,.OutputInterface.
602a0 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 $output).....{.........if.(null.
602c0 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ===.$this->command).{...........
602e0 20 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 ..$this->command.=.$this->getApp
60300 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 66 69 6e 64 28 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 lication()->find($input->getArgu
60320 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 5f 6e 61 6d 65 27 29 29 3b 0a 20 20 20 20 20 20 20 20 7d ment('command_name'));.........}
60340 0a 0a 20 20 20 20 20 20 20 20 24 68 65 6c 70 65 72 20 3d 20 6e 65 77 20 44 65 73 63 72 69 70 74 ..........$helper.=.new.Descript
60360 6f 72 48 65 6c 70 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 68 65 6c 70 65 72 2d 3e 64 65 73 orHelper();.........$helper->des
60380 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2c 20 61 cribe($output,.$this->command,.a
603a0 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 69 rray(.............'format'.=>.$i
603c0 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 2c 0a 20 20 20 20 20 nput->getOption('format'),......
603e0 20 20 20 20 20 20 20 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 .......'raw_text'.=>.$input->get
60400 4f 70 74 69 6f 6e 28 27 72 61 77 27 29 2c 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 0a 20 20 20 20 Option('raw'),.........));......
60420 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 7d ....$this->command.=.null;.....}
60440 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 .}.<?php../*..*.This.file.is.par
60460 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 t.of.the.Symfony.package...*..*.
60480 28 63 29 20 46 61 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 (c).Fabien.Potencier.<fabien@sym
604a0 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 fony.com>..*..*.For.the.full.cop
604c0 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 yright.and.license.information,.
604e0 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 please.view.the.LICENSE..*.file.
60500 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 that.was.distributed.with.this.s
60520 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f ource.code...*/..namespace.Symfo
60540 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 0a 0a 75 ny\Component\Console\Command;..u
60560 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
60580 70 65 72 5c 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e per\DescriptorHelper;.use.Symfon
605a0 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 41 y\Component\Console\Input\InputA
605c0 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 43 rgument;.use.Symfony\Component\C
605e0 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
60600 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
60620 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
60640 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
60660 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
60680 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 0a 2f 2a 2a 0a 20 2a e\Input\InputDefinition;../**..*
606a0 20 4c 69 73 74 43 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 6c 69 73 74 20 6f .ListCommand.displays.the.list.o
606c0 66 20 61 6c 6c 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 74 68 65 f.all.available.commands.for.the
606e0 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 .application...*..*.@author.Fabi
60700 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 6f 6d en.Potencier.<fabien@symfony.com
60720 3e 0a 20 2a 2f 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 73 20 >..*/.class.ListCommand.extends.
60740 43 6f 6d 6d 61 6e 64 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 Command.{...../**......*.{@inher
60760 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e itdoc}......*/.....protected.fun
60780 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ction.configure().....{.........
607a0 24 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 4e 61 6d 65 28 27 6c 69 73 $this.............->setName('lis
607c0 74 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 t').............->setDefinition(
607e0 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 0a 20 20 20 20 20 $this->createDefinition())......
60800 20 20 20 20 20 20 20 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 4c 69 73 74 73 20 63 .......->setDescription('Lists.c
60820 6f 6d 6d 61 6e 64 73 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 73 65 74 48 65 6c 70 28 ommands').............->setHelp(
60840 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
60860 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
60880 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_
608a0 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
608c0 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
608e0 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.
60900 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.
60920 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
60940 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
60960 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:...
60980 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%.-
609a0 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
609c0 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
609e0 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
60a00 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.
60a20 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 20 20 20 20 full_name%.--raw</info>.EOF.....
60a40 20 20 20 20 20 20 20 20 29 0a 20 20 20 20 20 20 20 20 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f ........).........;.....}....../
60a60 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a **......*.{@inheritdoc}......*/.
60a80 20 20 20 20 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 65 66 ....public.function.getNativeDef
60aa0 69 6e 69 74 69 6f 6e 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 inition().....{.........return.$
60ac0 74 68 69 73 2d 3e 63 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 7d 0a this->createDefinition();.....}.
60ae0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 ...../**......*.{@inheritdoc}...
60b00 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 ...*/.....protected.function.exe
60b20 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
60b40 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 utInterface.$output).....{......
60b60 20 20 20 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 70 65 ...$helper.=.new.DescriptorHelpe
60b80 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 68 65 6c 70 65 72 2d 3e 64 65 73 63 72 69 62 65 28 24 r();.........$helper->describe($
60ba0 6f 75 74 70 75 74 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 output,.$this->getApplication(),
60bc0 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 72 6d 61 74 27 20 3d 3e 20 .array(.............'format'.=>.
60be0 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 2c 0a 20 20 20 $input->getOption('format'),....
60c00 20 20 20 20 20 20 20 20 20 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 .........'raw_text'.=>.$input->g
60c20 65 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 61 etOption('raw'),.............'na
60c40 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 mespace'.=>.$input->getArgument(
60c60 27 6e 61 6d 65 73 70 61 63 65 27 29 2c 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 7d 0a 'namespace'),.........));.....}.
60c80 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 ...../**......*.{@inheritdoc}...
60ca0 20 20 20 2a 2f 0a 20 20 20 20 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
60cc0 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 eDefinition().....{.........retu
60ce0 72 6e 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 20 20 rn.new.InputDefinition(array(...
60d00 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 6e 61 6d ..........new.InputArgument('nam
60d20 65 73 70 61 63 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 espace',.InputArgument::OPTIONAL
60d40 2c 20 27 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 6e 61 6d 65 27 29 2c 0a 20 20 20 20 20 20 20 ,.'The.namespace.name'),........
60d60 20 20 20 20 20 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 .....new.InputOption('raw',.null
60d80 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
60da0 75 74 70 75 74 20 72 61 77 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 27 29 2c 0a 20 20 20 20 20 20 utput.raw.command.list'),.......
60dc0 20 20 20 20 20 20 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 ......new.InputOption('format',.
60de0 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 49 52 45 null,.InputOption::VALUE_REQUIRE
60e00 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 78 6d 6c 2c D,.'The.output.format.(txt,.xml,
60e20 20 6a 73 6f 6e 2c 20 6f 72 20 6d 64 29 27 2c 20 27 74 78 74 27 29 2c 0a 20 20 20 20 20 20 20 20 .json,.or.md)',.'txt'),.........
60e40 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 ));.....}.}.<?php../*..*.This.fi
60e60 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 le.is.part.of.the.Symfony.packag
60e80 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 e...*..*.(c).Fabien.Potencier.<f
60ea0 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 abien@symfony.com>..*..*.For.the
60ec0 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 20 69 6e 66 6f .full.copyright.and.license.info
60ee0 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 rmation,.please.view.the.LICENSE
60f00 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 ..*.file.that.was.distributed.wi
60f20 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 th.this.source.code...*/..namesp
60f40 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 3b 0a 0a ace.Symfony\Component\Console;..
60f60 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 78 use.Symfony\Component\Console\Ex
60f80 63 65 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 ception\ExceptionInterface;.use.
60fa0 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
60fc0 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 53 79 6d 66 6f \DebugFormatterHelper;.use.Symfo
60fe0 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 5c 50 72 6f 63 ny\Component\Console\Helper\Proc
61000 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
61020 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;.
61040 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
61060 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\
61080 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 67 76 49 6e 70 75 Component\Console\Input\ArgvInpu
610a0 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 65 t;.use.Symfony\Component\Console
610c0 5c 49 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 \Input\ArrayInput;.use.Symfony\C
610e0 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 65 66 69 omponent\Console\Input\InputDefi
61100 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 5c 43 6f nition;.use.Symfony\Component\Co
61120 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 6d nsole\Input\InputOption;.use.Sym
61140 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
61160 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 6e utArgument;.use.Symfony\Componen
61180 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 t\Console\Input\InputAwareInterf
611a0 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
611c0 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 53 le\Output\OutputInterface;.use.S
611e0 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\
61200 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 6d 70 6f ConsoleOutput;.use.Symfony\Compo
61220 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 4f 75 74 70 75 nent\Console\Output\ConsoleOutpu
61240 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 6e tInterface;.use.Symfony\Componen
61260 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 73 65 20 53 t\Console\Command\Command;.use.S
61280 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 6e 64 ymfony\Component\Console\Command
612a0 5c 48 65 6c 70 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 \HelpCommand;.use.Symfony\Compon
612c0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 4c 69 73 74 43 6f 6d 6d 61 6e 64 3b ent\Console\Command\ListCommand;
612e0 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
61300 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 5c 43 6f 6d elper\HelperSet;.use.Symfony\Com
61320 70 6f 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 ponent\Console\Helper\FormatterH
61340 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
61360 73 6f 6c 65 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 sole\Event\ConsoleCommandEvent;.
61380 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 76 use.Symfony\Component\Console\Ev
613a0 65 6e 74 5c 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 ent\ConsoleExceptionEvent;.use.S
613c0 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 43 ymfony\Component\Console\Event\C
613e0 6f 6e 73 6f 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 onsoleTerminateEvent;.use.Symfon
61400 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 43 6f y\Component\Console\Exception\Co
61420 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 79 6d 66 mmandNotFoundException;.use.Symf
61440 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\
61460 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 70 LogicException;.use.Symfony\Comp
61480 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 72 6f 77 onent\Debug\Exception\FatalThrow
614a0 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 65 6e 74 ableError;.use.Symfony\Component
614c0 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 68 65 72 \EventDispatcher\EventDispatcher
614e0 49 6e 74 65 72 66 61 63 65 3b 0a 0a 2f 2a 2a 0a 20 2a 20 41 6e 20 41 70 70 6c 69 63 61 74 69 6f Interface;../**..*.An.Applicatio
61500 6e 20 69 73 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 20 66 6f 72 20 61 20 63 6f 6c 6c 65 63 74 n.is.the.container.for.a.collect
61520 69 6f 6e 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 2a 0a 20 2a 20 49 74 20 69 73 20 74 68 65 ion.of.commands...*..*.It.is.the
61540 20 6d 61 69 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 20 6f 66 20 61 20 43 6f 6e 73 6f 6c 65 20 61 .main.entry.point.of.a.Console.a
61560 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 73 20 69 73 20 pplication...*..*.This.class.is.
61580 6f 70 74 69 6d 69 7a 65 64 20 66 6f 72 20 61 20 73 74 61 6e 64 61 72 64 20 43 4c 49 20 65 6e 76 optimized.for.a.standard.CLI.env
615a0 69 72 6f 6e 6d 65 6e 74 2e 0a 20 2a 0a 20 2a 20 55 73 61 67 65 3a 0a 20 2a 0a 20 2a 20 20 20 20 ironment...*..*.Usage:..*..*....
615c0 20 24 61 70 70 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 28 27 6d 79 61 70 70 27 2c .$app.=.new.Application('myapp',
615e0 20 27 31 2e 30 20 28 73 74 61 62 6c 65 29 27 29 3b 0a 20 2a 20 20 20 20 20 24 61 70 70 2d 3e 61 .'1.0.(stable)');..*.....$app->a
61600 64 64 28 6e 65 77 20 53 69 6d 70 6c 65 43 6f 6d 6d 61 6e 64 28 29 29 3b 0a 20 2a 20 20 20 20 20 dd(new.SimpleCommand());..*.....
61620 24 61 70 70 2d 3e 72 75 6e 28 29 3b 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 $app->run();..*..*.@author.Fabie
61640 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 6f 6d 3e n.Potencier.<fabien@symfony.com>
61660 0a 20 2a 2f 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 72 69 ..*/.class.Application.{.....pri
61680 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 vate.$commands.=.array();.....pr
616a0 69 76 61 74 65 20 24 77 61 6e 74 48 65 6c 70 73 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 ivate.$wantHelps.=.false;.....pr
616c0 69 76 61 74 65 20 24 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 70 72 69 76 61 ivate.$runningCommand;.....priva
616e0 74 65 20 24 6e 61 6d 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 3b 0a te.$name;.....private.$version;.
61700 20 20 20 20 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 74 ....private.$catchExceptions.=.t
61720 72 75 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 75 74 6f 45 78 69 74 20 3d 20 74 72 75 rue;.....private.$autoExit.=.tru
61740 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 20 20 20 20 e;.....private.$definition;.....
61760 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 private.$helperSet;.....private.
61780 24 64 69 73 70 61 74 63 68 65 72 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 74 65 72 6d 69 6e $dispatcher;.....private.$termin
617a0 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 66 61 75 alDimensions;.....private.$defau
617c0 6c 74 43 6f 6d 6d 61 6e 64 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 ltCommand;....../**......*.Const
617e0 72 75 63 74 6f 72 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 ructor.......*......*.@param.str
61800 69 6e 67 20 24 6e 61 6d 65 20 20 20 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 70 70 ing.$name....The.name.of.the.app
61820 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 76 lication......*.@param.string.$v
61840 65 72 73 69 6f 6e 20 54 68 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 61 70 70 6c 69 63 ersion.The.version.of.the.applic
61860 61 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 ation......*/.....public.functio
61880 6e 20 5f 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 n.__construct($name.=.'UNKNOWN',
618a0 20 24 76 65 72 73 69 6f 6e 20 3d 20 27 55 4e 4b 4e 4f 57 4e 27 29 0a 20 20 20 20 7b 0a 20 20 20 .$version.=.'UNKNOWN').....{....
618c0 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 20 20 20 20 20 20 .....$this->name.=.$name;.......
618e0 20 20 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 3b 0a 20 20 20 ..$this->version.=.$version;....
61900 20 20 20 20 20 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 69 .....$this->defaultCommand.=.'li
61920 73 74 27 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 st';.........$this->helperSet.=.
61940 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 0a 20 20 $this->getDefaultHelperSet();...
61960 20 20 20 20 20 20 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 ......$this->definition.=.$this-
61980 3e 67 65 74 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 0a 20 >getDefaultInputDefinition();...
619a0 20 20 20 20 20 20 20 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 .......foreach.($this->getDefaul
619c0 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 20 20 20 20 20 tCommands().as.$command).{......
619e0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 20 20 20 .......$this->add($command);....
61a00 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .....}.....}......public.functio
61a20 6e 20 73 65 74 44 69 73 70 61 74 63 68 65 72 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 49 n.setDispatcher(EventDispatcherI
61a40 6e 74 65 72 66 61 63 65 20 24 64 69 73 70 61 74 63 68 65 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 nterface.$dispatcher).....{.....
61a60 20 20 20 20 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 20 3d 20 24 64 69 73 70 61 74 63 ....$this->dispatcher.=.$dispatc
61a80 68 65 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 75 6e 73 20 her;.....}....../**......*.Runs.
61aa0 74 68 65 20 63 75 72 72 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a the.current.application.......*.
61ac0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 69 .....*.@param.InputInterface..$i
61ae0 6e 70 75 74 20 20 41 6e 20 49 6e 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 nput..An.Input.instance......*.@
61b00 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 41 6e param.OutputInterface.$output.An
61b20 20 4f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 .Output.instance......*......*.@
61b40 72 65 74 75 72 6e 20 69 6e 74 20 30 20 69 66 20 65 76 65 72 79 74 68 69 6e 67 20 77 65 6e 74 20 return.int.0.if.everything.went.
61b60 66 69 6e 65 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 fine,.or.an.error.code......*...
61b80 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 64 6f 52 ...*.@throws.\Exception.When.doR
61ba0 75 6e 20 72 65 74 75 72 6e 73 20 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 un.returns.Exception......*/....
61bc0 20 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 65 72 66 .public.function.run(InputInterf
61be0 61 63 65 20 24 69 6e 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 ace.$input.=.null,.OutputInterfa
61c00 63 65 20 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ce.$output.=.null).....{........
61c20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 29 20 7b 0a 20 20 20 20 20 20 20 20 .if.(null.===.$input).{.........
61c40 20 20 20 20 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 20 20 ....$input.=.new.ArgvInput();...
61c60 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6f ......}..........if.(null.===.$o
61c80 75 74 70 75 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 20 3d 20 6e utput).{.............$output.=.n
61ca0 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 ew.ConsoleOutput();.........}...
61cc0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 75 72 65 49 4f 28 24 69 6e 70 75 74 .......$this->configureIO($input
61ce0 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 ,.$output);..........try.{......
61d00 20 20 20 20 20 20 20 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 52 75 6e 28 .......$exitCode.=.$this->doRun(
61d20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 $input,.$output);.........}.catc
61d40 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 h.(\Exception.$e).{.............
61d60 69 66 20 28 21 24 74 68 69 73 2d 3e 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 29 20 7b 0a 20 if.(!$this->catchExceptions).{..
61d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 24 65 3b 0a 20 20 20 20 20 20 20 ...............throw.$e;........
61da0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 75 74 70 75 74 20 .....}..............if.($output.
61dc0 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
61de0 65 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 72 65 6e 64 e).{.................$this->rend
61e00 65 72 45 78 63 65 70 74 69 6f 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f erException($e,.$output->getErro
61e20 72 4f 75 74 70 75 74 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b rOutput());.............}.else.{
61e40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 45 78 .................$this->renderEx
61e60 63 65 70 74 69 6f 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 ception($e,.$output);...........
61e80 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 78 69 74 43 6f 64 65 20 3d 20 24 65 2d ..}..............$exitCode.=.$e-
61ea0 3e 67 65 74 43 6f 64 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 6e >getCode();.............if.(is_n
61ec0 75 6d 65 72 69 63 28 24 65 78 69 74 43 6f 64 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 umeric($exitCode)).{............
61ee0 20 20 20 20 20 24 65 78 69 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 65 78 69 74 43 6f 64 65 .....$exitCode.=.(int).$exitCode
61f00 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 24 65 78 69 ;.................if.(0.===.$exi
61f20 74 43 6f 64 65 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 65 78 tCode).{.....................$ex
61f40 69 74 43 6f 64 65 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 itCode.=.1;.................}...
61f60 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 20 20 20 ..........}.else.{..............
61f80 20 20 20 24 65 78 69 74 43 6f 64 65 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ...$exitCode.=.1;.............}.
61fa0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 61 75 ........}..........if.($this->au
61fc0 74 6f 45 78 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 78 69 74 43 toExit).{.............if.($exitC
61fe0 6f 64 65 20 3e 20 32 35 35 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 78 ode.>.255).{.................$ex
62000 69 74 43 6f 64 65 20 3d 20 32 35 35 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 itCode.=.255;.............}.....
62020 20 20 20 20 20 20 20 20 20 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 0a 20 20 20 20 20 20 .........exit($exitCode);.......
62040 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 20 ..}..........return.$exitCode;..
62060 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 75 6e 73 20 74 68 65 20 63 75 ...}....../**......*.Runs.the.cu
62080 72 72 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a rrent.application.......*......*
620a0 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 69 6e 70 75 74 20 20 .@param.InputInterface..$input..
620c0 41 6e 20 49 6e 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 An.Input.instance......*.@param.
620e0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 41 6e 20 4f 75 74 70 75 OutputInterface.$output.An.Outpu
62100 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e t.instance......*......*.@return
62120 20 69 6e 74 20 30 20 69 66 20 65 76 65 72 79 74 68 69 6e 67 20 77 65 6e 74 20 66 69 6e 65 2c 20 .int.0.if.everything.went.fine,.
62140 6f 72 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 or.an.error.code......*/.....pub
62160 6c 69 63 20 66 75 6e 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 lic.function.doRun(InputInterfac
62180 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
621a0 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 t).....{.........if.(true.===.$i
621c0 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 27 nput->hasParameterOption(array('
621e0 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 20 20 20 20 --version',.'-V'),.true)).{.....
62200 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e ........$output->writeln($this->
62220 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 getLongVersion());..............
62240 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6e 61 return.0;.........}..........$na
62260 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 75 me.=.$this->getCommandName($inpu
62280 74 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d t);.........if.(true.===.$input-
622a0 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 68 65 6c >hasParameterOption(array('--hel
622c0 70 27 2c 20 27 2d 68 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 p',.'-h'),.true)).{.............
622e0 69 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e if.(!$name).{.................$n
62300 61 6d 65 20 3d 20 27 68 65 6c 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 ame.=.'help';.................$i
62320 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 28 27 63 6f 6d nput.=.new.ArrayInput(array('com
62340 6d 61 6e 64 27 20 3d 3e 20 27 68 65 6c 70 27 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d mand'.=>.'help'));.............}
62360 20 65 6c 73 65 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 77 .else.{.................$this->w
62380 61 6e 74 48 65 6c 70 73 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 antHelps.=.true;.............}..
623a0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a .......}..........if.(!$name).{.
623c0 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 61 75 ............$name.=.$this->defau
623e0 6c 74 43 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 20 3d 20 ltCommand;.............$input.=.
62400 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 61 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 27 20 3d new.ArrayInput(array('command'.=
62420 3e 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 29 29 3b 0a 20 20 20 20 20 >.$this->defaultCommand));......
62440 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d ...}..........//.the.command.nam
62460 65 20 4d 55 53 54 20 62 65 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 e.MUST.be.the.first.element.of.t
62480 68 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 he.input.........$command.=.$thi
624a0 73 2d 3e 66 69 6e 64 28 24 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e s->find($name);..........$this->
624c0 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 20 runningCommand.=.$command;......
624e0 20 20 20 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 52 75 6e 43 6f 6d 6d 61 ...$exitCode.=.$this->doRunComma
62500 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 70 75 74 29 3b 0a 20 nd($command,.$input,.$output);..
62520 20 20 20 20 20 20 20 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 .......$this->runningCommand.=.n
62540 75 6c 6c 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a ull;..........return.$exitCode;.
62560 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 20 61 20 68 65 6c 70 ....}....../**......*.Set.a.help
62580 65 72 20 73 65 74 20 74 6f 20 62 65 20 75 73 65 64 20 77 69 74 68 20 74 68 65 20 63 6f 6d 6d 61 er.set.to.be.used.with.the.comma
625a0 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 48 65 6c 70 65 72 53 nd.......*......*.@param.HelperS
625c0 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 54 68 65 20 68 65 6c 70 65 72 20 73 65 74 0a 20 20 20 et.$helperSet.The.helper.set....
625e0 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 74 48 65 6c 70 ..*/.....public.function.setHelp
62600 65 72 53 65 74 28 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 29 0a 20 20 20 20 erSet(HelperSet.$helperSet).....
62620 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 {.........$this->helperSet.=.$he
62640 6c 70 65 72 53 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 lperSet;.....}....../**......*.G
62660 65 74 20 74 68 65 20 68 65 6c 70 65 72 20 73 65 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 et.the.helper.set.associated.wit
62680 68 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 h.the.command.......*......*.@re
626a0 74 75 72 6e 20 48 65 6c 70 65 72 53 65 74 20 54 68 65 20 48 65 6c 70 65 72 53 65 74 20 69 6e 73 turn.HelperSet.The.HelperSet.ins
626c0 74 61 6e 63 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 69 73 20 63 6f 6d 6d 61 tance.associated.with.this.comma
626e0 6e 64 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 67 nd......*/.....public.function.g
62700 65 74 48 65 6c 70 65 72 53 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 etHelperSet().....{.........retu
62720 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 rn.$this->helperSet;.....}......
62740 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 20 61 6e 20 69 6e 70 75 74 20 64 65 66 69 6e 69 74 69 /**......*.Set.an.input.definiti
62760 6f 6e 20 74 6f 20 62 65 20 75 73 65 64 20 77 69 74 68 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 on.to.be.used.with.this.applicat
62780 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 44 ion.......*......*.@param.InputD
627a0 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 54 68 65 20 69 6e 70 75 74 20 efinition.$definition.The.input.
627c0 64 65 66 69 6e 69 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 definition......*/.....public.fu
627e0 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 nction.setDefinition(InputDefini
62800 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 tion.$definition).....{.........
62820 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 6e 3b $this->definition.=.$definition;
62840 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 .....}....../**......*.Gets.the.
62860 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68 69 73 20 InputDefinition.related.to.this.
62880 41 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 Application.......*......*.@retu
628a0 72 6e 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 54 68 65 20 49 6e 70 75 74 44 65 66 69 rn.InputDefinition.The.InputDefi
628c0 6e 69 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c nition.instance......*/.....publ
628e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 20 20 20 20 ic.function.getDefinition().....
62900 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 {.........return.$this->definiti
62920 6f 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 on;.....}....../**......*.Gets.t
62940 68 65 20 68 65 6c 70 20 6d 65 73 73 61 67 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 he.help.message.......*......*.@
62960 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 20 68 65 6c 70 20 6d 65 73 73 61 67 65 0a 20 20 20 return.string.A.help.message....
62980 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 67 65 74 48 65 6c 70 ..*/.....public.function.getHelp
629a0 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 67 ().....{.........return.$this->g
629c0 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a etLongVersion();.....}....../**.
629e0 20 20 20 20 20 2a 20 47 65 74 73 20 77 68 65 74 68 65 72 20 74 6f 20 63 61 74 63 68 20 65 78 63 .....*.Gets.whether.to.catch.exc
62a00 65 70 74 69 6f 6e 73 20 6f 72 20 6e 6f 74 20 64 75 72 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 65 eptions.or.not.during.commands.e
62a20 78 65 63 75 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 xecution.......*......*.@return.
62a40 62 6f 6f 6c 20 57 68 65 74 68 65 72 20 74 6f 20 63 61 74 63 68 20 65 78 63 65 70 74 69 6f 6e 73 bool.Whether.to.catch.exceptions
62a60 20 6f 72 20 6e 6f 74 20 64 75 72 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 65 78 65 63 75 74 69 6f .or.not.during.commands.executio
62a80 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 20 61 72 n......*/.....public.function.ar
62aa0 65 45 78 63 65 70 74 69 6f 6e 73 43 61 75 67 68 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 eExceptionsCaught().....{.......
62ac0 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 3b ..return.$this->catchExceptions;
62ae0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 77 68 65 74 .....}....../**......*.Sets.whet
62b00 68 65 72 20 74 6f 20 63 61 74 63 68 20 65 78 63 65 70 74 69 6f 6e 73 20 6f 72 20 6e 6f 74 20 64 her.to.catch.exceptions.or.not.d
62b20 75 72 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 65 78 65 63 75 74 69 6f 6e 2e 0a 20 20 20 20 20 2a uring.commands.execution.......*
62b40 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 62 6f 6f 6c 65 61 6e 20 57 68 65 ......*.@param.bool.$boolean.Whe
62b60 74 68 65 72 20 74 6f 20 63 61 74 63 68 20 65 78 63 65 70 74 69 6f 6e 73 20 6f 72 20 6e 6f 74 20 ther.to.catch.exceptions.or.not.
62b80 64 75 72 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 65 78 65 63 75 74 69 6f 6e 0a 20 20 20 20 20 2a during.commands.execution......*
62ba0 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 43 61 74 63 68 45 78 /.....public.function.setCatchEx
62bc0 63 65 70 74 69 6f 6e 73 28 24 62 6f 6f 6c 65 61 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ceptions($boolean).....{........
62be0 20 24 74 68 69 73 2d 3e 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 20 3d 20 28 62 6f 6f 6c 29 .$this->catchExceptions.=.(bool)
62c00 20 24 62 6f 6f 6c 65 61 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .$boolean;.....}....../**......*
62c20 20 47 65 74 73 20 77 68 65 74 68 65 72 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 .Gets.whether.to.automatically.e
62c40 78 69 74 20 61 66 74 65 72 20 61 20 63 6f 6d 6d 61 6e 64 20 65 78 65 63 75 74 69 6f 6e 20 6f 72 xit.after.a.command.execution.or
62c60 20 6e 6f 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c .not.......*......*.@return.bool
62c80 20 57 68 65 74 68 65 72 20 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 69 74 20 61 .Whether.to.automatically.exit.a
62ca0 66 74 65 72 20 61 20 63 6f 6d 6d 61 6e 64 20 65 78 65 63 75 74 69 6f 6e 20 6f 72 20 6e 6f 74 0a fter.a.command.execution.or.not.
62cc0 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 69 73 41 75 .....*/.....public.function.isAu
62ce0 74 6f 45 78 69 74 45 6e 61 62 6c 65 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 toExitEnabled().....{.........re
62d00 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 6f 45 78 69 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 turn.$this->autoExit;.....}.....
62d20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 77 68 65 74 68 65 72 20 74 6f 20 61 75 74 6f ./**......*.Sets.whether.to.auto
62d40 6d 61 74 69 63 61 6c 6c 79 20 65 78 69 74 20 61 66 74 65 72 20 61 20 63 6f 6d 6d 61 6e 64 20 65 matically.exit.after.a.command.e
62d60 78 65 63 75 74 69 6f 6e 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 xecution.or.not.......*......*.@
62d80 70 61 72 61 6d 20 62 6f 6f 6c 20 24 62 6f 6f 6c 65 61 6e 20 57 68 65 74 68 65 72 20 74 6f 20 61 param.bool.$boolean.Whether.to.a
62da0 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 69 74 20 61 66 74 65 72 20 61 20 63 6f 6d 6d 61 6e utomatically.exit.after.a.comman
62dc0 64 20 65 78 65 63 75 74 69 6f 6e 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 d.execution.or.not......*/.....p
62de0 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 24 62 6f 6f 6c ublic.function.setAutoExit($bool
62e00 65 61 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 75 74 6f 45 78 ean).....{.........$this->autoEx
62e20 69 74 20 3d 20 28 62 6f 6f 6c 29 20 24 62 6f 6f 6c 65 61 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 it.=.(bool).$boolean;.....}.....
62e40 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 ./**......*.Gets.the.name.of.the
62e60 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 .application.......*......*.@ret
62e80 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6e 61 6d 65 0a urn.string.The.application.name.
62ea0 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 67 65 74 4e .....*/.....public.function.getN
62ec0 61 6d 65 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 ame().....{.........return.$this
62ee0 2d 3e 6e 61 6d 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 65 ->name;.....}....../**......*.Se
62f00 74 73 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a ts.the.application.name.......*.
62f20 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 61 .....*.@param.string.$name.The.a
62f40 70 70 6c 69 63 61 74 69 6f 6e 20 6e 61 6d 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c pplication.name......*/.....publ
62f60 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b ic.function.setName($name).....{
62f80 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 20 20 .........$this->name.=.$name;...
62fa0 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 61 70 70 ..}....../**......*.Gets.the.app
62fc0 6c 69 63 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 lication.version.......*......*.
62fe0 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 76 @return.string.The.application.v
63000 65 72 73 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 ersion......*/.....public.functi
63020 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 on.getVersion().....{.........re
63040 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 turn.$this->version;.....}......
63060 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 /**......*.Sets.the.application.
63080 76 65 72 73 69 6f 6e 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 version.......*......*.@param.st
630a0 72 69 6e 67 20 24 76 65 72 73 69 6f 6e 20 54 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 76 65 ring.$version.The.application.ve
630c0 72 73 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 rsion......*/.....public.functio
630e0 6e 20 73 65 74 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 n.setVersion($version).....{....
63100 20 20 20 20 20 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 3b 0a .....$this->version.=.$version;.
63120 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 ....}....../**......*.Returns.th
63140 65 20 6c 6f 6e 67 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f e.long.version.of.the.applicatio
63160 6e 2e 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 72 69 6e 67 20 n.......*......*.@return.string.
63180 54 68 65 20 6c 6f 6e 67 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 0a 20 20 20 The.long.application.version....
631a0 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 67 65 74 4c 6f 6e 67 ..*/.....public.function.getLong
631c0 56 65 72 73 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 55 4e 4b Version().....{.........if.('UNK
631e0 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 20 20 NOWN'.!==.$this->getName()).{...
63200 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 ..........if.('UNKNOWN'.!==.$thi
63220 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 s->getVersion()).{..............
63240 20 20 20 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 2f 69 6e 66 ...return.sprintf('<info>%s</inf
63260 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 65 6e 74 3e o>.version.<comment>%s</comment>
63280 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 67 65 74 56 ',.$this->getName(),.$this->getV
632a0 65 72 73 69 6f 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ersion());.............}........
632c0 20 20 20 20 20 20 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 2f ......return.sprintf('<info>%s</
632e0 69 6e 66 6f 3e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 20 20 20 20 20 info>',.$this->getName());......
63300 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 3c 69 6e 66 6f 3e 43 6f 6e 73 ...}..........return.'<info>Cons
63320 6f 6c 65 20 54 6f 6f 6c 3c 2f 69 6e 66 6f 3e 27 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a ole.Tool</info>';.....}....../**
63340 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 2e ......*.Registers.a.new.command.
63360 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 6e 67 20 24 6e 61 ......*......*.@param.string.$na
63380 6d 65 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 me.The.command.name......*......
633a0 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 54 68 65 20 6e 65 77 6c 79 20 63 72 65 61 *.@return.Command.The.newly.crea
633c0 74 65 64 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 ted.command......*/.....public.f
633e0 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 unction.register($name).....{...
63400 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 28 6e 65 77 20 43 6f 6d 6d ......return.$this->add(new.Comm
63420 61 6e 64 28 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 and($name));.....}....../**.....
63440 20 2a 20 41 64 64 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 63 6f 6d 6d 61 6e 64 20 6f 62 6a 65 .*.Adds.an.array.of.command.obje
63460 63 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 49 66 20 61 20 43 6f 6d 6d 61 6e 64 20 cts.......*......*.If.a.Command.
63480 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 64 is.not.enabled.it.will.not.be.ad
634a0 64 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 43 6f 6d 6d 61 6e ded.......*......*.@param.Comman
634c0 64 5b 5d 20 24 63 6f 6d 6d 61 6e 64 73 20 41 6e 20 61 72 72 61 79 20 6f 66 20 63 6f 6d 6d 61 6e d[].$commands.An.array.of.comman
634e0 64 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 61 ds......*/.....public.function.a
63500 64 64 43 6f 6d 6d 61 6e 64 73 28 61 72 72 61 79 20 24 63 6f 6d 6d 61 6e 64 73 29 0a 20 20 20 20 ddCommands(array.$commands).....
63520 7b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 {.........foreach.($commands.as.
63540 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 $command).{.............$this->a
63560 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 dd($command);.........}.....}...
63580 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 73 20 61 20 63 6f 6d 6d 61 6e 64 20 6f 62 6a .../**......*.Adds.a.command.obj
635a0 65 63 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 49 66 20 61 20 63 6f 6d 6d 61 6e 64 20 ect.......*......*.If.a.command.
635c0 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 with.the.same.name.already.exist
635e0 73 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 2e 0a 20 20 20 20 20 2a s,.it.will.be.overridden.......*
63600 20 49 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64 20 69 .If.the.command.is.not.enabled.i
63620 74 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 64 64 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 t.will.not.be.added.......*.....
63640 20 2a 20 40 70 61 72 61 6d 20 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 20 41 20 43 6f 6d .*.@param.Command.$command.A.Com
63660 6d 61 6e 64 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 mand.object......*......*.@retur
63680 6e 20 43 6f 6d 6d 61 6e 64 7c 6e 75 6c 6c 20 54 68 65 20 72 65 67 69 73 74 65 72 65 64 20 63 6f n.Command|null.The.registered.co
636a0 6d 6d 61 6e 64 20 69 66 20 65 6e 61 62 6c 65 64 20 6f 72 20 6e 75 6c 6c 0a 20 20 20 20 20 2a 2f mmand.if.enabled.or.null......*/
636c0 0a 20 20 20 20 70 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 .....public.function.add(Command
636e0 20 24 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e .$command).....{.........$comman
63700 64 2d 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 20 20 20 20 20 d->setApplication($this);.......
63720 20 20 20 69 66 20 28 21 24 63 6f 6d 6d 61 6e 64 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b ...if.(!$command->isEnabled()).{
63740 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 2d 3e 73 65 74 41 70 70 6c 69 63 .............$command->setApplic
63760 61 74 69 6f 6e 28 6e 75 6c 6c 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ation(null);..............return
63780 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 6c 6c 20 3d 3d ;.........}..........if.(null.==
637a0 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 20 7b 0a 20 =.$command->getDefinition()).{..
637c0 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 ...........throw.new.LogicExcept
637e0 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 22 20 ion(sprintf('Command.class."%s".
63800 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 59 6f is.not.correctly.initialized..Yo
63820 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 70 61 u.probably.forgot.to.call.the.pa
63840 72 65 6e 74 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 27 2c 20 67 65 74 5f 63 6c 61 73 73 28 24 63 rent.constructor.',.get_class($c
63860 6f 6d 6d 61 6e 64 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 ommand)));.........}..........$t
63880 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 his->commands[$command->getName(
638a0 29 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 )].=.$command;..........foreach.
638c0 28 24 63 6f 6d 6d 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 ($command->getAliases().as.$alia
638e0 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 s).{.............$this->commands
63900 5b 24 61 6c 69 61 73 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a [$alias].=.$command;.........}..
63920 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 7d 0a 0a ........return.$command;.....}..
63940 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 61 20 72 65 67 69 73 74 65 ..../**......*.Returns.a.registe
63960 72 65 64 20 63 6f 6d 6d 61 6e 64 20 62 79 20 6e 61 6d 65 20 6f 72 20 61 6c 69 61 73 2e 0a 20 20 red.command.by.name.or.alias....
63980 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 ...*......*.@param.string.$name.
639a0 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 6f 72 20 61 6c 69 61 73 0a 20 20 20 20 20 2a The.command.name.or.alias......*
639c0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 20 41 20 43 6f 6d 6d 61 6e ......*.@return.Command.A.Comman
639e0 64 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 43 d.object......*......*.@throws.C
63a00 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 63 6f 6d ommandNotFoundException.When.com
63a20 6d 61 6e 64 20 6e 61 6d 65 20 67 69 76 65 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 0a 20 mand.name.given.does.not.exist..
63a40 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 67 65 74 28 24 ....*/.....public.function.get($
63a60 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 name).....{.........if.(!isset($
63a80 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 this->commands[$name])).{.......
63aa0 20 20 20 20 20 20 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 45 ......throw.new.CommandNotFoundE
63ac0 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 25 xception(sprintf('The.command."%
63ae0 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 20 20 s".does.not.exist.',.$name));...
63b00 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 ......}..........$command.=.$thi
63b20 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 s->commands[$name];..........if.
63b40 28 24 74 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ($this->wantHelps).{............
63b60 20 24 74 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 20 20 20 20 .$this->wantHelps.=.false;......
63b80 20 20 20 20 20 20 20 20 24 68 65 6c 70 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 ........$helpCommand.=.$this->ge
63ba0 74 28 27 68 65 6c 70 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 68 65 6c 70 43 6f 6d 6d t('help');.............$helpComm
63bc0 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 0a 20 20 20 20 and->setCommand($command);......
63be0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 68 65 6c 70 43 6f 6d 6d 61 6e 64 3b 0a 20 20 20 ........return.$helpCommand;....
63c00 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 3b .....}..........return.$command;
63c20 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 74 75 72 6e 73 20 74 .....}....../**......*.Returns.t
63c40 72 75 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 65 78 69 73 74 73 2c 20 66 61 6c 73 65 rue.if.the.command.exists,.false
63c60 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d .otherwise.......*......*.@param
63c80 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 6f .string.$name.The.command.name.o
63ca0 72 20 61 6c 69 61 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f r.alias......*......*.@return.bo
63cc0 6f 6c 20 74 72 75 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 65 78 69 73 74 73 2c 20 66 ol.true.if.the.command.exists,.f
63ce0 61 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 alse.otherwise......*/.....publi
63d00 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 c.function.has($name).....{.....
63d20 20 20 20 20 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 ....return.isset($this->commands
63d40 5b 24 6e 61 6d 65 5d 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 [$name]);.....}....../**......*.
63d60 52 65 74 75 72 6e 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 61 6c 6c 20 75 6e 69 71 75 65 20 6e Returns.an.array.of.all.unique.n
63d80 61 6d 65 73 70 61 63 65 73 20 75 73 65 64 20 62 79 20 63 75 72 72 65 6e 74 6c 79 20 72 65 67 69 amespaces.used.by.currently.regi
63da0 73 74 65 72 65 64 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 49 stered.commands.......*......*.I
63dc0 74 20 64 6f 65 73 20 6e 6f 74 20 72 65 74 75 72 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e 61 6d t.does.not.return.the.global.nam
63de0 65 73 70 61 63 65 20 77 68 69 63 68 20 61 6c 77 61 79 73 20 65 78 69 73 74 73 2e 0a 20 20 20 20 espace.which.always.exists......
63e00 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 5b 5d 20 41 6e 20 61 72 .*......*.@return.string[].An.ar
63e20 72 61 79 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 ray.of.namespaces......*/.....pu
63e40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 0a 20 20 blic.function.getNamespaces()...
63e60 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 28 ..{.........$namespaces.=.array(
63e80 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 6c 6c 28 29 );.........foreach.($this->all()
63ea0 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d .as.$command).{.............$nam
63ec0 65 73 70 61 63 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 espaces.=.array_merge($namespace
63ee0 73 2c 20 24 74 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 s,.$this->extractAllNamespaces($
63f00 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 command->getName()));...........
63f20 20 20 20 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
63f40 28 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ().as.$alias).{.................
63f60 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 $namespaces.=.array_merge($names
63f80 70 61 63 65 73 2c 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 paces,.$this->extractAllNamespac
63fa0 65 73 28 24 61 6c 69 61 73 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 es($alias));.............}......
63fc0 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 5f 76 61 6c 75 65 ...}..........return.array_value
63fe0 73 28 61 72 72 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 s(array_unique(array_filter($nam
64000 65 73 70 61 63 65 73 29 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 espaces)));.....}....../**......
64020 2a 20 46 69 6e 64 73 20 61 20 72 65 67 69 73 74 65 72 65 64 20 6e 61 6d 65 73 70 61 63 65 20 62 *.Finds.a.registered.namespace.b
64040 79 20 61 20 6e 61 6d 65 20 6f 72 20 61 6e 20 61 62 62 72 65 76 69 61 74 69 6f 6e 2e 0a 20 20 20 y.a.name.or.an.abbreviation.....
64060 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 73 70 ..*......*.@param.string.$namesp
64080 61 63 65 20 41 20 6e 61 6d 65 73 70 61 63 65 20 6f 72 20 61 62 62 72 65 76 69 61 74 69 6f 6e 20 ace.A.namespace.or.abbreviation.
640a0 74 6f 20 73 65 61 72 63 68 20 66 6f 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 to.search.for......*......*.@ret
640c0 75 72 6e 20 73 74 72 69 6e 67 20 41 20 72 65 67 69 73 74 65 72 65 64 20 6e 61 6d 65 73 70 61 63 urn.string.A.registered.namespac
640e0 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 43 6f 6d 6d 61 6e 64 4e e......*......*.@throws.CommandN
64100 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 57 68 65 6e 20 6e 61 6d 65 73 70 61 63 65 20 otFoundException.When.namespace.
64120 69 73 20 69 6e 63 6f 72 72 65 63 74 20 6f 72 20 61 6d 62 69 67 75 6f 75 73 0a 20 20 20 20 20 2a is.incorrect.or.ambiguous......*
64140 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 4e 61 6d 65 73 70 /.....public.function.findNamesp
64160 61 63 65 28 24 6e 61 6d 65 73 70 61 63 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 61 ace($namespace).....{.........$a
64180 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 61 llNamespaces.=.$this->getNamespa
641a0 63 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 24 65 78 70 72 20 3d 20 70 72 65 67 5f 72 65 70 6c ces();.........$expr.=.preg_repl
641c0 61 63 65 5f 63 61 6c 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 ace_callback('{([^:]+|)}',.funct
641e0 69 6f 6e 20 28 24 6d 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 ion.($matches).{.return.preg_quo
64200 74 65 28 24 6d 61 74 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 te($matches[1]).'[^:]*';.},.$nam
64220 65 73 70 61 63 65 29 3b 0a 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 70 espace);.........$namespaces.=.p
64240 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 4e 61 6d reg_grep('{^'.$expr.'}',.$allNam
64260 65 73 70 61 63 65 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 6e 61 espaces);..........if.(empty($na
64280 6d 65 73 70 61 63 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 mespaces)).{.............$messag
642a0 65 20 3d 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 e.=.sprintf('There.are.no.comman
642c0 64 73 20 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 ds.defined.in.the."%s".namespace
642e0 2e 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .',.$namespace);..............if
64300 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 41 6c 74 .($alternatives.=.$this->findAlt
64320 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 61 6c 6c 4e 61 6d 65 73 70 ernatives($namespace,.$allNamesp
64340 61 63 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 31 20 3d aces)).{.................if.(1.=
64360 3d 20 63 6f 75 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 29 20 7b 0a 20 20 20 20 20 20 =.count($alternatives)).{.......
64380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 ..............$message..=."\n\nD
643a0 69 64 20 79 6f 75 20 6d 65 61 6e 20 74 68 69 73 3f 5c 6e 20 20 20 20 22 3b 0a 20 20 20 20 20 20 id.you.mean.this?\n....";.......
643c0 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 20 20 20 ..........}.else.{..............
643e0 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 .......$message..=."\n\nDid.you.
64400 6d 65 61 6e 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 3f 5c 6e 20 20 20 20 22 3b 0a 20 20 20 20 20 mean.one.of.these?\n....";......
64420 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d ...........}..................$m
64440 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 22 2c 20 24 61 6c 74 essage..=.implode("\n....",.$alt
64460 65 72 6e 61 74 69 76 65 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ernatives);.............}.......
64480 20 20 20 20 20 20 20 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 .......throw.new.CommandNotFound
644a0 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 Exception($message,.$alternative
644c0 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 65 78 61 63 74 20 3d 20 s);.........}..........$exact.=.
644e0 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 63 65 73 in_array($namespace,.$namespaces
64500 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 6e 61 6d 65 ,.true);.........if.(count($name
64520 73 70 61 63 65 73 29 20 3e 20 31 20 26 26 20 21 24 65 78 61 63 74 29 20 7b 0a 20 20 20 20 20 20 spaces).>.1.&&.!$exact).{.......
64540 20 20 20 20 20 20 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 45 ......throw.new.CommandNotFoundE
64560 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 xception(sprintf('The.namespace.
64580 22 25 73 22 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 73 "%s".is.ambiguous.(%s).',.$names
645a0 70 61 63 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 53 75 67 67 pace,.$this->getAbbreviationSugg
645c0 65 73 74 69 6f 6e 73 28 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6e 61 6d 65 73 70 61 63 65 73 estions(array_values($namespaces
645e0 29 29 29 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 3b ))),.array_values($namespaces));
64600 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 20 24 65 78 61 63 .........}..........return.$exac
64620 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
64640 65 73 29 3b 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 es);.....}....../**......*.Finds
64660 20 61 20 63 6f 6d 6d 61 6e 64 20 62 79 20 6e 61 6d 65 20 6f 72 20 61 6c 69 61 73 2e 0a 20 20 20 .a.command.by.name.or.alias.....
64680 20 20 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 74 72 61 72 79 20 74 6f 20 67 65 74 2c 20 74 68 69 73 ..*......*.Contrary.to.get,.this
646a0 20 63 6f 6d 6d 61 6e 64 20 74 72 69 65 73 20 74 6f 20 66 69 6e 64 20 74 68 65 20 62 65 73 74 0a .command.tries.to.find.the.best.
646c0 20 20 20 20 20 2a 20 6d 61 74 63 68 20 69 66 20 79 6f 75 20 67 69 76 65 20 69 74 20 61 6e 20 61 .....*.match.if.you.give.it.an.a
646e0 62 62 72 65 76 69 61 74 69 6f 6e 20 6f 66 20 61 20 6e 61 6d 65 20 6f 72 20 61 6c 69 61 73 2e 0a bbreviation.of.a.name.or.alias..
64700 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 6e 67 20 24 6e 61 6d .....*......*.@param.string.$nam
64720 65 20 41 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 6f 72 20 61 20 63 6f 6d 6d 61 6e 64 20 61 6c e.A.command.name.or.a.command.al
64740 69 61 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e ias......*......*.@return.Comman
64760 64 20 41 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 d.A.Command.instance......*.....
64780 20 2a 20 40 74 68 72 6f 77 73 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 .*.@throws.CommandNotFoundExcept
647a0 69 6f 6e 20 57 68 65 6e 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 69 73 20 69 6e 63 6f 72 72 65 ion.When.command.name.is.incorre
647c0 63 74 20 6f 72 20 61 6d 62 69 67 75 6f 75 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c ct.or.ambiguous......*/.....publ
647e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 ic.function.find($name).....{...
64800 20 20 20 20 20 20 24 61 6c 6c 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 ......$allCommands.=.array_keys(
64820 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 29 3b 0a 20 20 20 20 20 20 20 20 24 65 78 70 72 20 $this->commands);.........$expr.
64840 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 7b 28 5b 5e 3a 5d 2b =.preg_replace_callback('{([^:]+
64860 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 20 7b 20 72 65 74 75 |)}',.function.($matches).{.retu
64880 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 29 2e 27 5b 5e 3a 5d rn.preg_quote($matches[1]).'[^:]
648a0 2a 27 3b 20 7d 2c 20 24 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 73 *';.},.$name);.........$commands
648c0 20 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 .=.preg_grep('{^'.$expr.'}',.$al
648e0 6c 43 6f 6d 6d 61 6e 64 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 lCommands);..........if.(empty($
64900 63 6f 6d 6d 61 6e 64 73 29 20 7c 7c 20 63 6f 75 6e 74 28 70 72 65 67 5f 67 72 65 70 28 27 7b 5e commands).||.count(preg_grep('{^
64920 27 2e 24 65 78 70 72 2e 27 24 7d 27 2c 20 24 63 6f 6d 6d 61 6e 64 73 29 29 20 3c 20 31 29 20 7b '.$expr.'$}',.$commands)).<.1).{
64940 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 .............if.(false.!==.$pos.
64960 3d 20 73 74 72 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 3a 27 29 29 20 7b 0a 20 20 20 20 20 20 20 =.strrpos($name,.':')).{........
64980 20 20 20 20 20 20 20 20 20 2f 2f 20 63 68 65 63 6b 20 69 66 20 61 20 6e 61 6d 65 73 70 61 63 65 .........//.check.if.a.namespace
649a0 20 65 78 69 73 74 73 20 61 6e 64 20 63 6f 6e 74 61 69 6e 73 20 63 6f 6d 6d 61 6e 64 73 0a 20 20 .exists.and.contains.commands...
649c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 69 6e 64 4e 61 6d 65 73 70 61 ..............$this->findNamespa
649e0 63 65 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 70 6f 73 29 29 3b 0a 20 20 20 20 ce(substr($name,.0,.$pos));.....
64a00 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 ........}..............$message.
64a20 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 64 =.sprintf('Command."%s".is.not.d
64a40 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 efined.',.$name);..............i
64a60 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 41 6c f.($alternatives.=.$this->findAl
64a80 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 2c 20 24 61 6c 6c 43 6f 6d 6d 61 6e 64 73 29 29 ternatives($name,.$allCommands))
64aa0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 31 20 3d 3d 20 63 6f 75 6e .{.................if.(1.==.coun
64ac0 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 t($alternatives)).{.............
64ae0 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 ........$message..=."\n\nDid.you
64b00 20 6d 65 61 6e 20 74 68 69 73 3f 5c 6e 20 20 20 20 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .mean.this?\n....";.............
64b20 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 20 20 20 20 ....}.else.{....................
64b40 20 24 6d 65 73 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 6f .$message..=."\n\nDid.you.mean.o
64b60 6e 65 20 6f 66 20 74 68 65 73 65 3f 5c 6e 20 20 20 20 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ne.of.these?\n....";............
64b80 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 20 .....}.................$message.
64ba0 2e 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 20 20 22 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 .=.implode("\n....",.$alternativ
64bc0 65 73 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 20 20 20 20 es);.............}..............
64be0 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 45 78 63 65 70 74 69 throw.new.CommandNotFoundExcepti
64c00 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 20 20 20 on($message,.$alternatives);....
64c20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 66 69 6c 74 65 72 20 6f 75 74 20 61 6c .....}..........//.filter.out.al
64c40 69 61 73 65 73 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 77 68 69 63 68 20 61 72 65 20 61 6c 72 iases.for.commands.which.are.alr
64c60 65 61 64 79 20 6f 6e 20 74 68 65 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 eady.on.the.list.........if.(cou
64c80 6e 74 28 24 63 6f 6d 6d 61 6e 64 73 29 20 3e 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 nt($commands).>.1).{............
64ca0 20 24 63 6f 6d 6d 61 6e 64 4c 69 73 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b .$commandList.=.$this->commands;
64cc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 66 .............$commands.=.array_f
64ce0 69 6c 74 65 72 28 24 63 6f 6d 6d 61 6e 64 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6e 61 6d 65 ilter($commands,.function.($name
64d00 4f 72 41 6c 69 61 73 29 20 75 73 65 20 28 24 63 6f 6d 6d 61 6e 64 4c 69 73 74 2c 20 24 63 6f 6d OrAlias).use.($commandList,.$com
64d20 6d 61 6e 64 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e mands).{.................$comman
64d40 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 6c 69 61 dName.=.$commandList[$nameOrAlia
64d60 73 5d 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s]->getName();..................
64d80 72 65 74 75 72 6e 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 return.$commandName.===.$nameOrA
64da0 6c 69 61 73 20 7c 7c 20 21 69 6e 5f 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 2c 20 lias.||.!in_array($commandName,.
64dc0 24 63 6f 6d 6d 61 6e 64 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 $commands);.............});.....
64de0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 65 78 61 63 74 20 3d 20 69 6e 5f 61 72 72 61 79 ....}..........$exact.=.in_array
64e00 28 24 6e 61 6d 65 2c 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 ($name,.$commands,.true);.......
64e20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 63 6f 6d 6d 61 6e 64 73 29 20 3e 20 31 20 26 26 20 21 24 ..if.(count($commands).>.1.&&.!$
64e40 65 78 61 63 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 75 67 67 65 73 74 69 6f 6e exact).{.............$suggestion
64e60 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 6e 53 75 67 67 65 73 s.=.$this->getAbbreviationSugges
64e80 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 6e 64 73 29 29 3b 0a tions(array_values($commands));.
64ea0 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f .............throw.new.CommandNo
64ec0 74 46 6f 75 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 tFoundException(sprintf('Command
64ee0 20 22 25 73 22 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 ."%s".is.ambiguous.(%s).',.$name
64f00 2c 20 24 73 75 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 ,.$suggestions),.array_values($c
64f20 6f 6d 6d 61 6e 64 73 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 ommands));.........}..........re
64f40 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 65 78 61 63 74 20 3f 20 24 6e 61 6d 65 20 3a turn.$this->get($exact.?.$name.:
64f60 20 72 65 73 65 74 28 24 63 6f 6d 6d 61 6e 64 73 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f .reset($commands));.....}....../
64f80 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 28 72 65 67 **......*.Gets.the.commands.(reg
64fa0 69 73 74 65 72 65 64 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 6e 61 6d 65 73 70 61 63 65 20 69 istered.in.the.given.namespace.i
64fc0 66 20 70 72 6f 76 69 64 65 64 29 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 61 f.provided).......*......*.The.a
64fe0 72 72 61 79 20 6b 65 79 73 20 61 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 61 6d 65 73 20 61 6e 64 rray.keys.are.the.full.names.and
65000 20 74 68 65 20 76 61 6c 75 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 .the.values.the.command.instance
65020 73 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 6e 67 20 24 s.......*......*.@param.string.$
65040 6e 61 6d 65 73 70 61 63 65 20 41 20 6e 61 6d 65 73 70 61 63 65 20 6e 61 6d 65 0a 20 20 20 20 20 namespace.A.namespace.name......
65060 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 5b 5d 20 41 6e 20 61 72 *......*.@return.Command[].An.ar
65080 72 61 79 20 6f 66 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 73 0a 20 20 20 20 20 2a 2f ray.of.Command.instances......*/
650a0 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 28 24 6e 61 6d 65 73 70 .....public.function.all($namesp
650c0 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 ace.=.null).....{.........if.(nu
650e0 6c 6c 20 3d 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ll.===.$namespace).{............
65100 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a 20 20 20 20 20 20 20 .return.$this->commands;........
65120 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b .}..........$commands.=.array();
65140 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 .........foreach.($this->command
65160 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 20 20 20 20 20 20 s.as.$name.=>.$command).{.......
65180 20 20 20 20 20 20 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 ......if.($namespace.===.$this->
651a0 65 78 74 72 61 63 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 extractNamespace($name,.substr_c
651c0 6f 75 6e 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 27 3a 27 29 20 2b 20 31 29 29 20 7b 0a 20 20 ount($namespace,.':').+.1)).{...
651e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3d ..............$commands[$name].=
65200 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .$command;.............}........
65220 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a 20 20 .}..........return.$commands;...
65240 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 61 6e 20 61 ..}....../**......*.Returns.an.a
65260 72 72 61 79 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 67 rray.of.possible.abbreviations.g
65280 69 76 65 6e 20 61 20 73 65 74 20 6f 66 20 6e 61 6d 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 iven.a.set.of.names.......*.....
652a0 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 6e 61 6d 65 73 20 41 6e 20 61 72 72 61 79 20 .*.@param.array.$names.An.array.
652c0 6f 66 20 6e 61 6d 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 of.names......*......*.@return.a
652e0 72 72 61 79 20 41 6e 20 61 72 72 61 79 20 6f 66 20 61 62 62 72 65 76 69 61 74 69 6f 6e 73 0a 20 rray.An.array.of.abbreviations..
65300 20 20 20 20 2a 2f 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 ....*/.....public.static.functio
65320 6e 20 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 73 28 24 6e 61 6d 65 73 29 0a 20 20 20 20 7b n.getAbbreviations($names).....{
65340 0a 20 20 20 20 20 20 20 20 24 61 62 62 72 65 76 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 .........$abbrevs.=.array();....
65360 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 20 61 73 20 24 6e 61 6d 65 29 20 7b .....foreach.($names.as.$name).{
65380 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 .............for.($len.=.strlen(
653a0 24 6e 61 6d 65 29 3b 20 24 6c 65 6e 20 3e 20 30 3b 20 2d 2d 24 6c 65 6e 29 20 7b 0a 20 20 20 20 $name);.$len.>.0;.--$len).{.....
653c0 20 20 20 20 20 20 20 20 20 20 20 20 24 61 62 62 72 65 76 20 3d 20 73 75 62 73 74 72 28 24 6e 61 ............$abbrev.=.substr($na
653e0 6d 65 2c 20 30 2c 20 24 6c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 me,.0,.$len);.................$a
65400 62 62 72 65 76 73 5b 24 61 62 62 72 65 76 5d 5b 5d 20 3d 20 24 6e 61 6d 65 3b 0a 20 20 20 20 20 bbrevs[$abbrev][].=.$name;......
65420 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 72 65 74 75 .......}.........}..........retu
65440 72 6e 20 24 61 62 62 72 65 76 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 rn.$abbrevs;.....}....../**.....
65460 20 2a 20 52 65 6e 64 65 72 73 20 61 20 63 61 75 67 68 74 20 65 78 63 65 70 74 69 6f 6e 2e 0a 20 .*.Renders.a.caught.exception...
65480 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 5c 45 78 63 65 70 74 69 6f 6e 20 20 ....*......*.@param.\Exception..
654a0 20 20 20 20 24 65 20 20 20 20 20 20 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 ....$e......An.exception.instanc
654c0 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 e......*.@param.OutputInterface.
654e0 24 6f 75 74 70 75 74 20 41 6e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 $output.An.OutputInterface.insta
65500 6e 63 65 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 nce......*/.....public.function.
65520 72 65 6e 64 65 72 45 78 63 65 70 74 69 6f 6e 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 2c 20 4f renderException(\Exception.$e,.O
65540 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 utputInterface.$output).....{...
65560 20 20 20 20 20 20 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 ......$output->writeln('',.Outpu
65580 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 0a 20 tInterface::VERBOSITY_QUIET);...
655a0 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 69 74 6c 65 20 3d .......do.{.............$title.=
655c0 20 73 70 72 69 6e 74 66 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 20 20 5b 25 73 .sprintf(.................'..[%s
655e0 25 73 5d 20 20 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 5f 63 6c 61 73 %s]..',.................get_clas
65600 73 28 24 65 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e s($e),.................$output->
65620 69 73 56 65 72 62 6f 73 65 28 29 20 26 26 20 30 20 21 3d 3d 20 28 24 63 6f 64 65 20 3d 20 24 65 isVerbose().&&.0.!==.($code.=.$e
65640 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 3f 20 27 20 28 27 2e 24 63 6f 64 65 2e 27 29 27 20 3a 20 ->getCode()).?.'.('.$code.')'.:.
65660 27 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ''.............);..............$
65680 6c 65 6e 20 3d 20 24 74 68 69 73 2d 3e 73 74 72 69 6e 67 57 69 64 74 68 28 24 74 69 74 6c 65 29 len.=.$this->stringWidth($title)
656a0 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 ;..............$width.=.$this->g
656c0 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 3f 20 24 74 68 69 73 2d 3e 67 65 74 54 65 etTerminalWidth().?.$this->getTe
656e0 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 2d 20 31 20 3a 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b rminalWidth().-.1.:.PHP_INT_MAX;
65700 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 48 48 56 4d 20 6f 6e 6c 79 20 61 63 63 65 70 74 .............//.HHVM.only.accept
65720 73 20 33 32 20 62 69 74 73 20 69 6e 74 65 67 65 72 20 69 6e 20 73 74 72 5f 73 70 6c 69 74 2c 20 s.32.bits.integer.in.str_split,.
65740 65 76 65 6e 20 77 68 65 6e 20 50 48 50 5f 49 4e 54 5f 4d 41 58 20 69 73 20 61 20 36 34 20 62 69 even.when.PHP_INT_MAX.is.a.64.bi
65760 74 20 69 6e 74 65 67 65 72 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 66 61 t.integer:.https://github.com/fa
65780 63 65 62 6f 6f 6b 2f 68 68 76 6d 2f 69 73 73 75 65 73 2f 31 33 32 37 0a 20 20 20 20 20 20 20 20 cebook/hhvm/issues/1327.........
657a0 20 20 20 20 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 ....if.(defined('HHVM_VERSION').
657c0 26 26 20 24 77 69 64 74 68 20 3e 20 31 20 3c 3c 20 33 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 &&.$width.>.1.<<.31).{..........
657e0 20 20 20 20 20 20 20 24 77 69 64 74 68 20 3d 20 31 20 3c 3c 20 33 31 3b 0a 20 20 20 20 20 20 20 .......$width.=.1.<<.31;........
65800 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 .....}.............$formatter.=.
65820 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 20 20 20 20 20 20 20 $output->getFormatter();........
65840 20 20 20 20 20 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 .....$lines.=.array();..........
65860 20 20 20 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 70 6c 69 74 28 27 2f 5c 72 3f 5c 6e 2f 27 ...foreach.(preg_split('/\r?\n/'
65880 2c 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a ,.$e->getMessage()).as.$line).{.
658a0 20 20 20 20 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 73 2d 3e ................foreach.($this->
658c0 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 69 64 74 68 splitStringByWidth($line,.$width
658e0 20 2d 20 34 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-.4).as.$line).{...............
65900 20 20 20 20 20 20 2f 2f 20 70 72 65 2d 66 6f 72 6d 61 74 20 6c 69 6e 65 73 20 74 6f 20 67 65 74 ......//.pre-format.lines.to.get
65920 20 74 68 65 20 72 69 67 68 74 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 .the.right.string.length........
65940 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 4c 65 6e 67 74 68 20 3d 20 24 74 68 69 73 .............$lineLength.=.$this
65960 2d 3e 73 74 72 69 6e 67 57 69 64 74 68 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 1b 5c 5b ->stringWidth(preg_replace('/.\[
65980 5b 5e 6d 5d 2a 6d 2f 27 2c 20 27 27 2c 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 [^m]*m/',.'',.$formatter->format
659a0 28 24 6c 69 6e 65 29 29 29 20 2b 20 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ($line))).+.4;..................
659c0 20 20 20 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 ...$lines[].=.array($line,.$line
659e0 4c 65 6e 67 74 68 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c Length);......................$l
65a00 65 6e 20 3d 20 6d 61 78 28 24 6c 69 6e 65 4c 65 6e 67 74 68 2c 20 24 6c 65 6e 29 3b 0a 20 20 20 en.=.max($lineLength,.$len);....
65a20 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 0a 20 20 .............}.............}....
65a40 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 ..........$messages.=.array();..
65a60 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 65 6d 70 74 79 4c ...........$messages[].=.$emptyL
65a80 69 6e 65 20 3d 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 73 70 72 69 6e 74 66 ine.=.$formatter->format(sprintf
65aa0 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 65 61 74 ('<error>%s</error>',.str_repeat
65ac0 28 27 20 27 2c 20 24 6c 65 6e 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 ('.',.$len)));.............$mess
65ae0 61 67 65 73 5b 5d 20 3d 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 73 70 72 69 ages[].=.$formatter->format(spri
65b00 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 69 74 6c ntf('<error>%s%s</error>',.$titl
65b20 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 6e 20 2d e,.str_repeat('.',.max(0,.$len.-
65b40 20 24 74 68 69 73 2d 3e 73 74 72 69 6e 67 57 69 64 74 68 28 24 74 69 74 6c 65 29 29 29 29 29 3b .$this->stringWidth($title)))));
65b60 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 .............foreach.($lines.as.
65b80 24 6c 69 6e 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 $line).{.................$messag
65ba0 65 73 5b 5d 20 3d 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 73 70 72 69 6e 74 es[].=.$formatter->format(sprint
65bc0 66 28 27 3c 65 72 72 6f 72 3e 20 20 25 73 20 20 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 6c 69 f('<error>..%s..%s</error>',.$li
65be0 6e 65 5b 30 5d 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 20 2d 20 24 6c ne[0],.str_repeat('.',.$len.-.$l
65c00 69 6e 65 5b 31 5d 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ine[1])));.............}........
65c20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 65 6d 70 74 79 4c 69 6e 65 3b 0a 20 .....$messages[].=.$emptyLine;..
65c40 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 27 3b 0a 0a 20 20 ...........$messages[].=.'';....
65c60 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 ..........$output->writeln($mess
65c80 61 67 65 73 2c 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 ages,.OutputInterface::OUTPUT_RA
65ca0 57 20 7c 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 W.|.OutputInterface::VERBOSITY_Q
65cc0 55 49 45 54 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 4f 75 74 70 75 74 49 6e UIET);..............if.(OutputIn
65ce0 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 20 3c 3d 20 24 6f terface::VERBOSITY_VERBOSE.<=.$o
65d00 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 20 20 20 20 20 20 20 utput->getVerbosity()).{........
65d20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 63 6f 6d 6d .........$output->writeln('<comm
65d40 65 6e 74 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 ent>Exception.trace:</comment>',
65d60 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 55 49 45 .OutputInterface::VERBOSITY_QUIE
65d80 54 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 65 78 63 65 70 74 69 6f T);..................//.exceptio
65da0 6e 20 72 65 6c 61 74 65 64 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 n.related.properties............
65dc0 20 20 20 20 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 20 20 .....$trace.=.$e->getTrace();...
65de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 72 61 ..............array_unshift($tra
65e00 63 65 2c 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 ce,.array(.....................'
65e20 66 75 6e 63 74 69 6f 6e 27 20 3d 3e 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 function'.=>.'',................
65e40 20 20 20 20 20 27 66 69 6c 65 27 20 3d 3e 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 20 21 3d 3d .....'file'.=>.$e->getFile().!==
65e60 20 6e 75 6c 6c 20 3f 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 20 3a 20 27 6e 2f 61 27 2c 0a 20 .null.?.$e->getFile().:.'n/a',..
65e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 6e 65 27 20 3d 3e 20 24 65 2d ...................'line'.=>.$e-
65ea0 3e 67 65 74 4c 69 6e 65 28 29 20 21 3d 3d 20 6e 75 6c 6c 20 3f 20 24 65 2d 3e 67 65 74 4c 69 6e >getLine().!==.null.?.$e->getLin
65ec0 65 28 29 20 3a 20 27 6e 2f 61 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e().:.'n/a',....................
65ee0 20 27 61 72 67 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .'args'.=>.array(),.............
65f00 20 20 20 20 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 ....));..................for.($i
65f20 20 3d 20 30 2c 20 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 74 72 61 63 65 29 3b 20 24 69 .=.0,.$count.=.count($trace);.$i
65f40 20 3c 20 24 63 6f 75 6e 74 3b 20 2b 2b 24 69 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .<.$count;.++$i).{..............
65f60 20 20 20 20 20 20 20 24 63 6c 61 73 73 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d .......$class.=.isset($trace[$i]
65f80 5b 27 63 6c 61 73 73 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 63 6c 61 73 73 27 5d ['class']).?.$trace[$i]['class']
65fa0 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 79 70 65 .:.'';.....................$type
65fc0 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 29 20 3f 20 24 .=.isset($trace[$i]['type']).?.$
65fe0 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 20 3a 20 27 27 3b 0a 20 20 20 20 20 20 20 20 trace[$i]['type'].:.'';.........
66000 20 20 20 20 20 20 20 20 20 20 20 20 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 74 72 61 63 65 5b 24 ............$function.=.$trace[$
66020 69 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 i]['function'];.................
66040 20 20 20 20 24 66 69 6c 65 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 66 69 ....$file.=.isset($trace[$i]['fi
66060 6c 65 27 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 66 69 6c 65 27 5d 20 3a 20 27 6e 2f le']).?.$trace[$i]['file'].:.'n/
66080 61 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 20 3d 20 a';.....................$line.=.
660a0 69 73 73 65 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 isset($trace[$i]['line']).?.$tra
660c0 63 65 5b 24 69 5d 5b 27 6c 69 6e 65 27 5d 20 3a 20 27 6e 2f 61 27 3b 0a 0a 20 20 20 20 20 20 20 ce[$i]['line'].:.'n/a';.........
660e0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 .............$output->writeln(sp
66100 72 69 6e 74 66 28 27 20 25 73 25 73 25 73 28 29 20 61 74 20 3c 69 6e 66 6f 3e 25 73 3a 25 73 3c rintf('.%s%s%s().at.<info>%s:%s<
66120 2f 69 6e 66 6f 3e 27 2c 20 24 63 6c 61 73 73 2c 20 24 74 79 70 65 2c 20 24 66 75 6e 63 74 69 6f /info>',.$class,.$type,.$functio
66140 6e 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 n,.$file,.$line),.OutputInterfac
66160 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 e::VERBOSITY_QUIET);............
66180 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d .....}..................$output-
661a0 3e 77 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 >writeln('',.OutputInterface::VE
661c0 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 RBOSITY_QUIET);.............}...
661e0 20 20 20 20 20 20 7d 20 77 68 69 6c 65 20 28 24 65 20 3d 20 24 65 2d 3e 67 65 74 50 72 65 76 69 ......}.while.($e.=.$e->getPrevi
66200 6f 75 73 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 ous());..........if.(null.!==.$t
66220 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 his->runningCommand).{..........
66240 20 20 20 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
66260 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
66280 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
662a0 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
662c0 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ::VERBOSITY_QUIET);.............
662e0 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
66300 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 20 20 20 20 20 20 20 20 face::VERBOSITY_QUIET);.........
66320 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 72 69 65 73 20 74 6f }.....}....../**......*.Tries.to
66340 20 66 69 67 75 72 65 20 6f 75 74 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 77 69 64 74 68 20 69 .figure.out.the.terminal.width.i
66360 6e 20 77 68 69 63 68 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 72 75 6e 73 2e 0a 20 n.which.this.application.runs...
66380 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 7c 6e 75 6c 6c 0a 20 20 ....*......*.@return.int|null...
663a0 20 20 20 2a 2f 0a 20 20 20 20 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
663c0 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 64 TerminalWidth().....{.........$d
663e0 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
66400 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 64 69 6d mensions();..........return.$dim
66420 65 6e 73 69 6f 6e 73 5b 30 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 ensions[0];.....}....../**......
66440 2a 20 54 72 69 65 73 20 74 6f 20 66 69 67 75 72 65 20 6f 75 74 20 74 68 65 20 74 65 72 6d 69 6e *.Tries.to.figure.out.the.termin
66460 61 6c 20 68 65 69 67 68 74 20 69 6e 20 77 68 69 63 68 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 al.height.in.which.this.applicat
66480 69 6f 6e 20 72 75 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 ion.runs.......*......*.@return.
664a0 69 6e 74 7c 6e 75 6c 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 int|null......*/.....protected.f
664c0 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c 48 65 69 67 68 74 28 29 0a 20 20 20 20 unction.getTerminalHeight().....
664e0 7b 0a 20 20 20 20 20 20 20 20 24 64 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 {.........$dimensions.=.$this->g
66500 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 etTerminalDimensions();.........
66520 20 72 65 74 75 72 6e 20 24 64 69 6d 65 6e 73 69 6f 6e 73 5b 31 5d 3b 0a 20 20 20 20 7d 0a 0a 20 .return.$dimensions[1];.....}...
66540 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 72 69 65 73 20 74 6f 20 66 69 67 75 72 65 20 6f 75 .../**......*.Tries.to.figure.ou
66560 74 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 64 69 6d 65 6e 73 69 6f 6e 73 20 62 61 73 65 64 20 t.the.terminal.dimensions.based.
66580 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 20 20 20 20 on.the.current.environment......
665a0 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 72 72 61 79 20 63 6f .*......*.@return.array.Array.co
665c0 6e 74 61 69 6e 69 6e 67 20 77 69 64 74 68 20 61 6e 64 20 68 65 69 67 68 74 0a 20 20 20 20 20 2a ntaining.width.and.height......*
665e0 2f 0a 20 20 20 20 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 /.....public.function.getTermina
66600 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 lDimensions().....{.........if.(
66620 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 29 20 7b 0a 20 20 20 $this->terminalDimensions).{....
66640 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 .........return.$this->terminalD
66660 69 6d 65 6e 73 69 6f 6e 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 imensions;.........}..........if
66680 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 .('\\'.===.DIRECTORY_SEPARATOR).
666a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 65 78 74 72 61 63 74 20 5b 77 2c 20 48 5d 20 {.............//.extract.[w,.H].
666c0 66 72 6f 6d 20 22 77 78 68 20 28 57 78 48 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 from."wxh.(WxH)".............if.
666e0 28 70 72 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 (preg_match('/^(\d+)x\d+.\(\d+x(
66700 5c 64 2b 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 \d+)\)$/',.trim(getenv('ANSICON'
66720 29 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )),.$matches)).{................
66740 20 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 31 5d 2c .return.array((int).$matches[1],
66760 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .(int).$matches[2]);............
66780 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 65 78 74 72 61 63 74 20 5b 77 2c 20 68 5d .}.............//.extract.[w,.h]
667a0 20 66 72 6f 6d 20 22 77 78 68 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 .from."wxh".............if.(preg
667c0 5f 6d 61 74 63 68 28 27 2f 5e 28 5c 64 2b 29 78 28 5c 64 2b 29 24 2f 27 2c 20 24 74 68 69 73 2d _match('/^(\d+)x(\d+)$/',.$this-
667e0 3e 67 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 28 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a >getConsoleMode(),.$matches)).{.
66800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e ................return.array((in
66820 74 29 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 t).$matches[1],.(int).$matches[2
66840 5d 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 7d 0a 0a 20 20 20 ]);.............}.........}.....
66860 20 20 20 20 20 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 67 65 .....if.($sttyString.=.$this->ge
66880 74 53 74 74 79 43 6f 6c 75 6d 6e 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f tSttyColumns()).{.............//
668a0 20 65 78 74 72 61 63 74 20 5b 77 2c 20 68 5d 20 66 72 6f 6d 20 22 72 6f 77 73 20 68 3b 20 63 6f .extract.[w,.h].from."rows.h;.co
668c0 6c 75 6d 6e 73 20 77 3b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d lumns.w;".............if.(preg_m
668e0 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+)
66900 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)).{.
66920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e ................return.array((in
66940 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 t).$matches[2],.(int).$matches[1
66960 5d 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 2f 2f ]);.............}.............//
66980 20 65 78 74 72 61 63 74 20 5b 77 2c 20 68 5d 20 66 72 6f 6d 20 22 3b 20 68 20 72 6f 77 73 3b 20 .extract.[w,.h].from.";.h.rows;.
669a0 77 20 63 6f 6c 75 6d 6e 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f w.columns".............if.(preg_
669c0 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 75 match('/;.(\d+).rows;.(\d+).colu
669e0 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 20 mns/i',.$sttyString,.$matches)).
66a00 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 61 72 72 61 79 28 28 {.................return.array((
66a20 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 int).$matches[2],.(int).$matches
66a40 5b 31 5d 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 7d 0a 0a 20 [1]);.............}.........}...
66a60 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 6e 75 6c 6c 29 3b .......return.array(null,.null);
66a80 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 74 65 72 6d .....}....../**......*.Sets.term
66aa0 69 6e 61 6c 20 64 69 6d 65 6e 73 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 43 inal.dimensions.......*......*.C
66ac0 61 6e 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 66 6f 72 63 65 20 74 65 72 6d 69 6e 61 6c 20 64 an.be.useful.to.force.terminal.d
66ae0 69 6d 65 6e 73 69 6f 6e 73 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 61 6c 20 74 65 73 74 73 2e 0a imensions.for.functional.tests..
66b00 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 77 69 64 74 68 20 .....*......*.@param.int.$width.
66b20 20 54 68 65 20 77 69 64 74 68 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 68 65 .The.width......*.@param.int.$he
66b40 69 67 68 74 20 54 68 65 20 68 65 69 67 68 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 ight.The.height......*......*.@r
66b60 65 74 75 72 6e 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 61 70 eturn.Application.The.current.ap
66b80 70 6c 69 63 61 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 plication......*/.....public.fun
66ba0 63 74 69 6f 6e 20 73 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 24 77 69 64 ction.setTerminalDimensions($wid
66bc0 74 68 2c 20 24 68 65 69 67 68 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 th,.$height).....{.........$this
66be0 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 69 ->terminalDimensions.=.array($wi
66c00 64 74 68 2c 20 24 68 65 69 67 68 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 dth,.$height);..........return.$
66c20 74 68 69 73 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 6f 6e 66 this;.....}....../**......*.Conf
66c40 69 67 75 72 65 73 20 74 68 65 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70 75 74 20 69 6e 73 74 igures.the.input.and.output.inst
66c60 61 6e 63 65 73 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 75 73 65 72 20 61 72 67 75 6d 65 6e 74 ances.based.on.the.user.argument
66c80 73 20 61 6e 64 20 6f 70 74 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 s.and.options.......*......*.@pa
66ca0 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 69 6e 70 75 74 20 20 41 6e 20 49 ram.InputInterface..$input..An.I
66cc0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 nputInterface.instance......*.@p
66ce0 61 72 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 41 6e 20 aram.OutputInterface.$output.An.
66d00 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f OutputInterface.instance......*/
66d20 0a 20 20 20 20 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
66d40 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
66d60 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 tInterface.$output).....{.......
66d80 20 20 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 65 ..if.(true.===.$input->hasParame
66da0 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 61 6e 73 69 27 29 2c 20 74 72 75 65 29 terOption(array('--ansi'),.true)
66dc0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f ).{.............$output->setDeco
66de0 72 61 74 65 64 28 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 74 rated(true);.........}.elseif.(t
66e00 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 70 74 69 rue.===.$input->hasParameterOpti
66e20 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 29 2c 20 74 72 75 65 29 29 20 7b 0a on(array('--no-ansi'),.true)).{.
66e40 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 ............$output->setDecorate
66e60 64 28 66 61 6c 73 65 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 d(false);.........}..........if.
66e80 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 70 (true.===.$input->hasParameterOp
66ea0 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 6f 6e 27 2c 20 27 tion(array('--no-interaction',.'
66ec0 2d 6e 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 -n'),.true)).{.............$inpu
66ee0 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 20 20 20 20 20 20 t->setInteractive(false);.......
66f00 20 20 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 ..}.elseif.(function_exists('pos
66f20 69 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 ix_isatty').&&.$this->getHelperS
66f40 65 74 28 29 2d 3e 68 61 73 28 27 71 75 65 73 74 69 6f 6e 27 29 29 20 7b 0a 20 20 20 20 20 20 20 et()->has('question')).{........
66f60 20 20 20 20 20 24 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 .....$inputStream.=.$this->getHe
66f80 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 2d 3e 67 65 74 49 lperSet()->get('question')->getI
66fa0 6e 70 75 74 53 74 72 65 61 6d 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 40 nputStream();.............if.(!@
66fc0 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 29 20 26 26 20 66 61 posix_isatty($inputStream).&&.fa
66fe0 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 45 52 41 43 54 49 56 lse.===.getenv('SHELL_INTERACTIV
67000 45 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 73 E')).{.................$input->s
67020 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 etInteractive(false);...........
67040 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 74 72 75 65 20 ..}.........}..........if.(true.
67060 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 70 74 69 6f 6e 28 61 ===.$input->hasParameterOption(a
67080 72 72 61 79 28 27 2d 2d 71 75 69 65 74 27 2c 20 27 2d 71 27 29 2c 20 74 72 75 65 29 29 20 7b 0a rray('--quiet',.'-q'),.true)).{.
670a0 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 ............$output->setVerbosit
670c0 79 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 51 55 49 y(OutputInterface::VERBOSITY_QUI
670e0 45 54 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 ET);.............$input->setInte
67100 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b ractive(false);.........}.else.{
67120 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 .............if.($input->hasPara
67140 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 76 76 76 27 2c 20 74 72 75 65 29 20 7c 7c 20 24 69 6e meterOption('-vvv',.true).||.$in
67160 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 62 6f put->hasParameterOption('--verbo
67180 73 65 3d 33 27 2c 20 74 72 75 65 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 61 6d se=3',.true).||.$input->getParam
671a0 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 2c 20 66 61 6c 73 65 2c 20 74 eterOption('--verbose',.false,.t
671c0 72 75 65 29 20 3d 3d 3d 20 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f rue).===.3).{.................$o
671e0 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
67200 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 29 3b 0a 20 20 20 20 20 20 20 20 20 ace::VERBOSITY_DEBUG);..........
67220 20 20 20 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 65 ...}.elseif.($input->hasParamete
67240 72 4f 70 74 69 6f 6e 28 27 2d 76 76 27 2c 20 74 72 75 65 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e rOption('-vv',.true).||.$input->
67260 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 62 6f 73 65 3d 32 27 hasParameterOption('--verbose=2'
67280 2c 20 74 72 75 65 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 ,.true).||.$input->getParameterO
672a0 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 29 20 ption('--verbose',.false,.true).
672c0 3d 3d 3d 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 75 74 70 75 74 ===.2).{.................$output
672e0 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 61 63 65 3a 3a ->setVerbosity(OutputInterface::
67300 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 29 3b 0a 20 20 20 20 20 20 20 VERBOSITY_VERY_VERBOSE);........
67320 20 20 20 20 20 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 .....}.elseif.($input->hasParame
67340 74 65 72 4f 70 74 69 6f 6e 28 27 2d 76 27 2c 20 74 72 75 65 29 20 7c 7c 20 24 69 6e 70 75 74 2d terOption('-v',.true).||.$input-
67360 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 62 6f 73 65 3d 31 >hasParameterOption('--verbose=1
67380 27 2c 20 74 72 75 65 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 ',.true).||.$input->hasParameter
673a0 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 2c 20 74 72 75 65 29 20 7c 7c 20 24 69 6e Option('--verbose',.true).||.$in
673c0 70 75 74 2d 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 put->getParameterOption('--verbo
673e0 73 65 27 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 se',.false,.true)).{............
67400 20 20 20 20 20 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 .....$output->setVerbosity(Outpu
67420 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 29 3b 0a tInterface::VERBOSITY_VERBOSE);.
67440 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 ............}.........}.....}...
67460 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 75 6e 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 .../**......*.Runs.the.current.c
67480 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 49 66 20 61 6e 20 65 76 65 6e ommand.......*......*.If.an.even
674a0 74 20 64 69 73 70 61 74 63 68 65 72 20 68 61 73 20 62 65 65 6e 20 61 74 74 61 63 68 65 64 20 74 t.dispatcher.has.been.attached.t
674c0 6f 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 0a 20 20 20 20 20 2a 20 65 76 65 6e 74 73 o.the.application,......*.events
674e0 20 61 72 65 20 61 6c 73 6f 20 64 69 73 70 61 74 63 68 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 .are.also.dispatched.during.the.
67500 6c 69 66 65 2d 63 79 63 6c 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 life-cycle.of.the.command.......
67520 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 43 6f 6d 6d 61 6e 64 20 20 20 20 20 20 20 20 20 *......*.@param.Command.........
67540 24 63 6f 6d 6d 61 6e 64 20 41 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 $command.A.Command.instance.....
67560 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 20 24 69 6e 70 75 74 .*.@param.InputInterface..$input
67580 20 20 20 41 6e 20 49 6e 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 20 40 70 61 72 ...An.Input.instance......*.@par
675a0 61 6d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 20 41 6e 20 4f am.OutputInterface.$output..An.O
675c0 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 utput.instance......*......*.@re
675e0 74 75 72 6e 20 69 6e 74 20 30 20 69 66 20 65 76 65 72 79 74 68 69 6e 67 20 77 65 6e 74 20 66 69 turn.int.0.if.everything.went.fi
67600 6e 65 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 ne,.or.an.error.code......*.....
67620 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 63 .*.@throws.\Exception.when.the.c
67640 6f 6d 6d 61 6e 64 20 62 65 69 6e 67 20 72 75 6e 20 74 68 72 65 77 20 61 6e 20 65 78 63 65 70 74 ommand.being.run.threw.an.except
67660 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ion......*/.....protected.functi
67680 6f 6e 20 64 6f 52 75 6e 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 on.doRunCommand(Command.$command
676a0 2c 20 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 ,.InputInterface.$input,.OutputI
676c0 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 nterface.$output).....{.........
676e0 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 65 74 28 foreach.($command->getHelperSet(
67700 29 20 61 73 20 24 68 65 6c 70 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ).as.$helper).{.............if.(
67720 24 68 65 6c 70 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 41 77 61 72 65 49 6e 74 $helper.instanceof.InputAwareInt
67740 65 72 66 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 68 65 6c 70 65 erface).{.................$helpe
67760 72 2d 3e 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 r->setInput($input);............
67780 20 7d 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 6c 6c 20 3d .}.........}..........if.(null.=
677a0 3d 3d 20 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 ==.$this->dispatcher).{.........
677c0 20 20 20 20 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 ....return.$command->run($input,
677e0 20 24 6f 75 74 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f .$output);.........}..........//
67800 20 62 69 6e 64 20 62 65 66 6f 72 65 20 74 68 65 20 63 6f 6e 73 6f 6c 65 2e 63 6f 6d 6d 61 6e 64 .bind.before.the.console.command
67820 20 65 76 65 6e 74 2c 20 73 6f 20 74 68 65 20 6c 69 73 74 65 6e 65 72 73 20 68 61 76 65 20 61 63 .event,.so.the.listeners.have.ac
67840 63 65 73 73 20 74 6f 20 69 6e 70 75 74 20 6f 70 74 69 6f 6e 73 2f 61 72 67 75 6d 65 6e 74 73 0a cess.to.input.options/arguments.
67860 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 ........try.{.............$comma
67880 6e 64 2d 3e 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 29 nd->mergeApplicationDefinition()
678a0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 2d 3e 62 69 6e 64 28 24 63 6f 6d 6d ;.............$input->bind($comm
678c0 61 6e 64 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 7d and->getDefinition());.........}
678e0 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 65 20 24 65 29 20 7b .catch.(ExceptionInterface.$e).{
67900 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 67 6e 6f 72 65 20 69 6e 76 61 6c 69 64 20 6f .............//.ignore.invalid.o
67920 70 74 69 6f 6e 73 2f 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 6e 6f 77 2c 20 74 6f 20 61 6c 6c ptions/arguments.for.now,.to.all
67940 6f 77 20 74 68 65 20 65 76 65 6e 74 20 6c 69 73 74 65 6e 65 72 73 20 74 6f 20 63 75 73 74 6f 6d ow.the.event.listeners.to.custom
67960 69 7a 65 20 74 68 65 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 ize.the.InputDefinition.........
67980 7d 0a 0a 20 20 20 20 20 20 20 20 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 43 }..........$event.=.new.ConsoleC
679a0 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 24 6f ommandEvent($command,.$input,.$o
679c0 75 74 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 utput);.........$this->dispatche
679e0 72 2d 3e 64 69 73 70 61 74 63 68 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 r->dispatch(ConsoleEvents::COMMA
67a00 4e 44 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 65 76 65 6e 74 ND,.$event);..........if.($event
67a20 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 ->commandShouldRun()).{.........
67a40 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 20 3d 20 6e ....try.{.................$e.=.n
67a60 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 78 69 74 43 6f 64 65 20 3d ull;.................$exitCode.=
67a80 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 75 74 70 75 74 29 3b .$command->run($input,.$output);
67aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e .............}.catch.(\Exception
67ac0 20 24 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 20 3d 20 24 78 3b 0a .$x).{.................$e.=.$x;.
67ae0 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 ............}.catch.(\Throwable.
67b00 24 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 20 3d 20 6e 65 77 20 46 $x).{.................$e.=.new.F
67b20 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 78 29 3b 0a 20 20 20 20 20 20 20 20 atalThrowableError($x);.........
67b40 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 ....}.............if.(null.!==.$
67b60 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 76 65 6e 74 20 3d 20 6e 65 e).{.................$event.=.ne
67b80 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
67ba0 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 2c 20 24 65 2d 3e 67 65 74 43 6f ,.$input,.$output,.$e,.$e->getCo
67bc0 64 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 69 de());.................$this->di
67be0 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 76 65 6e 74 73 spatcher->dispatch(ConsoleEvents
67c00 3a 3a 45 58 43 45 50 54 49 4f 4e 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 ::EXCEPTION,.$event);...........
67c20 20 20 20 20 20 20 20 69 66 20 28 24 65 20 21 3d 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 63 .......if.($e.!==.$event->getExc
67c40 65 70 74 69 6f 6e 28 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 eption()).{.....................
67c60 24 78 20 3d 20 24 65 20 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 63 65 70 74 69 6f 6e 28 29 $x.=.$e.=.$event->getException()
67c80 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ;.................}.............
67ca0 20 20 20 20 20 24 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 .....$event.=.new.ConsoleTermina
67cc0 74 65 45 76 65 6e 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 teEvent($command,.$input,.$outpu
67ce0 74 2c 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t,.$e->getCode());..............
67d00 20 20 20 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 63 68 28 43 ...$this->dispatcher->dispatch(C
67d20 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 65 76 65 6e 74 29 onsoleEvents::TERMINATE,.$event)
67d40 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 24 78 3b 0a 20 20 20 ;..................throw.$x;....
67d60 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 .........}.........}.else.{.....
67d80 20 20 20 20 20 20 20 20 24 65 78 69 74 43 6f 64 65 20 3d 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 ........$exitCode.=.ConsoleComma
67da0 6e 64 45 76 65 6e 74 3a 3a 52 45 54 55 52 4e 5f 43 4f 44 45 5f 44 49 53 41 42 4c 45 44 3b 0a 20 ndEvent::RETURN_CODE_DISABLED;..
67dc0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 43 .......}..........$event.=.new.C
67de0 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 onsoleTerminateEvent($command,.$
67e00 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 20 20 20 20 input,.$output,.$exitCode);.....
67e20 20 20 20 20 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 63 68 28 ....$this->dispatcher->dispatch(
67e40 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 65 76 65 6e 74 ConsoleEvents::TERMINATE,.$event
67e60 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 );..........return.$event->getEx
67e80 69 74 43 6f 64 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 itCode();.....}....../**......*.
67ea0 47 65 74 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 62 61 73 Gets.the.name.of.the.command.bas
67ec0 65 64 20 6f 6e 20 69 6e 70 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 ed.on.input.......*......*.@para
67ee0 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 20 54 68 65 20 69 6e 70 75 m.InputInterface.$input.The.inpu
67f00 74 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 t.interface......*......*.@retur
67f20 6e 20 73 74 72 69 6e 67 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 0a 20 20 20 20 20 2a n.string.The.command.name......*
67f40 2f 0a 20 20 20 20 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 /.....protected.function.getComm
67f60 61 6e 64 4e 61 6d 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 0a 20 andName(InputInterface.$input)..
67f80 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 69 6e 70 75 74 2d 3e 67 65 74 46 ...{.........return.$input->getF
67fa0 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 irstArgument();.....}....../**..
67fc0 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 6e 70 75 74 20 64 65 66 ....*.Gets.the.default.input.def
67fe0 69 6e 69 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 49 inition.......*......*.@return.I
68000 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 41 6e 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f nputDefinition.An.InputDefinitio
68020 6e 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 n.instance......*/.....protected
68040 20 66 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 .function.getDefaultInputDefinit
68060 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 49 ion().....{.........return.new.I
68080 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 nputDefinition(array(...........
680a0 20 20 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 64 27 2c 20 49 ..new.InputArgument('command',.I
680c0 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 68 65 20 63 6f 6d nputArgument::REQUIRED,.'The.com
680e0 6d 61 6e 64 20 74 6f 20 65 78 65 63 75 74 65 27 29 2c 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 mand.to.execute'),..............
68100 6e 65 77 20 49 6e 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 new.InputOption('--help',.'-h',.
68120 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 70 6c 61 InputOption::VALUE_NONE,.'Displa
68140 79 20 74 68 69 73 20 68 65 6c 70 20 6d 65 73 73 61 67 65 27 29 2c 0a 20 20 20 20 20 20 20 20 20 y.this.help.message'),..........
68160 20 20 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 71 75 69 65 74 27 2c 20 27 2d ...new.InputOption('--quiet',.'-
68180 71 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 44 6f q',.InputOption::VALUE_NONE,.'Do
681a0 20 6e 6f 74 20 6f 75 74 70 75 74 20 61 6e 79 20 6d 65 73 73 61 67 65 27 29 2c 0a 20 20 20 20 20 .not.output.any.message'),......
681c0 20 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 .......new.InputOption('--verbos
681e0 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 56 41 e',.'-v|vv|vvv',.InputOption::VA
68200 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 69 74 LUE_NONE,.'Increase.the.verbosit
68220 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 74 70 y.of.messages:.1.for.normal.outp
68240 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 61 6e ut,.2.for.more.verbose.output.an
68260 64 20 33 20 66 6f 72 20 64 65 62 75 67 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 d.3.for.debug'),.............new
68280 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 2c 20 .InputOption('--version',.'-V',.
682a0 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 70 6c 61 InputOption::VALUE_NONE,.'Displa
682c0 79 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 27 29 2c 0a 20 20 y.this.application.version'),...
682e0 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 61 6e 73 ..........new.InputOption('--ans
68300 69 27 2c 20 27 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 i',.'',.InputOption::VALUE_NONE,
68320 20 27 46 6f 72 63 65 20 41 4e 53 49 20 6f 75 74 70 75 74 27 29 2c 0a 20 20 20 20 20 20 20 20 20 .'Force.ANSI.output'),..........
68340 20 20 20 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 ...new.InputOption('--no-ansi',.
68360 27 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 44 69 '',.InputOption::VALUE_NONE,.'Di
68380 73 61 62 6c 65 20 41 4e 53 49 20 6f 75 74 70 75 74 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 sable.ANSI.output'),............
683a0 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 .new.InputOption('--no-interacti
683c0 6f 6e 27 2c 20 27 2d 6e 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f on',.'-n',.InputOption::VALUE_NO
683e0 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 61 73 6b 20 61 6e 79 20 69 6e 74 65 72 61 63 74 69 76 65 20 NE,.'Do.not.ask.any.interactive.
68400 71 75 65 73 74 69 6f 6e 27 29 2c 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 question'),.........));.....}...
68420 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 .../**......*.Gets.the.default.c
68440 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 61 76 ommands.that.should.always.be.av
68460 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 ailable.......*......*.@return.C
68480 6f 6d 6d 61 6e 64 5b 5d 20 41 6e 20 61 72 72 61 79 20 6f 66 20 64 65 66 61 75 6c 74 20 43 6f 6d ommand[].An.array.of.default.Com
684a0 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 mand.instances......*/.....prote
684c0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 cted.function.getDefaultCommands
684e0 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 ().....{.........return.array(ne
68500 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 61 6e 64 w.HelpCommand(),.new.ListCommand
68520 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 ());.....}....../**......*.Gets.
68540 74 68 65 20 64 65 66 61 75 6c 74 20 68 65 6c 70 65 72 20 73 65 74 20 77 69 74 68 20 74 68 65 20 the.default.helper.set.with.the.
68560 68 65 6c 70 65 72 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 61 76 helpers.that.should.always.be.av
68580 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 48 ailable.......*......*.@return.H
685a0 65 6c 70 65 72 53 65 74 20 41 20 48 65 6c 70 65 72 53 65 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 elperSet.A.HelperSet.instance...
685c0 20 20 20 2a 2f 0a 20 20 20 20 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
685e0 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 DefaultHelperSet().....{........
68600 20 72 65 74 75 72 6e 20 6e 65 77 20 48 65 6c 70 65 72 53 65 74 28 61 72 72 61 79 28 0a 20 20 20 .return.new.HelperSet(array(....
68620 20 20 20 20 20 20 20 20 20 6e 65 77 20 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 28 29 2c 0a .........new.FormatterHelper(),.
68640 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 ............new.DebugFormatterHe
68660 6c 70 65 72 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 50 72 6f 63 65 73 73 48 lper(),.............new.ProcessH
68680 65 6c 70 65 72 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 51 75 65 73 74 69 6f elper(),.............new.Questio
686a0 6e 48 65 6c 70 65 72 28 29 2c 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 nHelper(),.........));.....}....
686c0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 75 6e 73 20 61 6e 64 20 70 61 72 73 65 73 20 73 74 74 ../**......*.Runs.and.parses.stt
686e0 79 20 2d 61 20 69 66 20 69 74 27 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 73 75 70 70 72 65 73 73 y.-a.if.it's.available,.suppress
68700 69 6e 67 20 61 6e 79 20 65 72 72 6f 72 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 ing.any.error.output.......*....
68720 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ..*.@return.string......*/.....p
68740 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 74 79 43 6f 6c 75 6d 6e 73 28 29 rivate.function.getSttyColumns()
68760 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 .....{.........if.(!function_exi
68780 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 sts('proc_open')).{.............
687a0 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 64 65 73 63 return;.........}..........$desc
687c0 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 72 72 61 79 28 27 70 riptorspec.=.array(1.=>.array('p
687e0 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 69 70 65 27 2c 20 27 ipe',.'w'),.2.=>.array('pipe',.'
68800 77 27 29 29 3b 0a 20 20 20 20 20 20 20 20 24 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 70 w'));.........$process.=.proc_op
68820 65 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 en('stty.-a.|.grep.columns',.$de
68840 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 75 6c 6c scriptorspec,.$pipes,.null,.null
68860 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 74 72 75 ,.array('suppress_errors'.=>.tru
68880 65 29 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 70 72 e));.........if.(is_resource($pr
688a0 6f 63 65 73 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 3d 20 73 74 ocess)).{.............$info.=.st
688c0 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 20 20 ream_get_contents($pipes[1]);...
688e0 20 20 20 20 20 20 20 20 20 20 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 20 20 20 ..........fclose($pipes[1]);....
68900 20 20 20 20 20 20 20 20 20 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 32 5d 29 3b 0a 20 20 20 20 .........fclose($pipes[2]);.....
68920 20 20 20 20 20 20 20 20 70 72 6f 63 5f 63 6c 6f 73 65 28 24 70 72 6f 63 65 73 73 29 3b 0a 0a 20 ........proc_close($process);...
68940 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 ...........return.$info;........
68960 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 75 6e 73 20 61 6e .}.....}....../**......*.Runs.an
68980 64 20 70 61 72 73 65 73 20 6d 6f 64 65 20 43 4f 4e 20 69 66 20 69 74 27 73 20 61 76 61 69 6c 61 d.parses.mode.CON.if.it's.availa
689a0 62 6c 65 2c 20 73 75 70 70 72 65 73 73 69 6e 67 20 61 6e 79 20 65 72 72 6f 72 20 6f 75 74 70 75 ble,.suppressing.any.error.outpu
689c0 74 2e 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 72 69 6e 67 7c t.......*......*.@return.string|
689e0 6e 75 6c 6c 20 3c 77 69 64 74 68 3e 78 3c 68 65 69 67 68 74 3e 20 6f 72 20 6e 75 6c 6c 20 69 66 null.<width>x<height>.or.null.if
68a00 20 69 74 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 70 61 72 73 65 64 0a 20 20 20 20 20 2a 2f 0a .it.could.not.be.parsed......*/.
68a20 20 20 20 20 70 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 ....private.function.getConsoleM
68a40 6f 64 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 66 75 6e 63 74 69 6f ode().....{.........if.(!functio
68a60 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 20 20 20 20 20 20 20 n_exists('proc_open')).{........
68a80 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 20 20 20 20 20 20 .....return;.........}..........
68aa0 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 72 72 $descriptorspec.=.array(1.=>.arr
68ac0 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 69 70 ay('pipe',.'w'),.2.=>.array('pip
68ae0 65 27 2c 20 27 77 27 29 29 3b 0a 20 20 20 20 20 20 20 20 24 70 72 6f 63 65 73 73 20 3d 20 70 72 e',.'w'));.........$process.=.pr
68b00 6f 63 5f 6f 70 65 6e 28 27 6d 6f 64 65 20 43 4f 4e 27 2c 20 24 64 65 73 63 72 69 70 74 6f 72 73 oc_open('mode.CON',.$descriptors
68b20 70 65 63 2c 20 24 70 69 70 65 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 61 72 72 61 79 28 27 pec,.$pipes,.null,.null,.array('
68b40 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 20 20 20 20 suppress_errors'.=>.true));.....
68b60 20 20 20 20 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 28 24 70 72 6f 63 65 73 73 29 29 20 7b ....if.(is_resource($process)).{
68b80 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f .............$info.=.stream_get_
68ba0 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 contents($pipes[1]);............
68bc0 20 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .fclose($pipes[1]);.............
68be0 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 32 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 fclose($pipes[2]);.............p
68c00 72 6f 63 5f 63 6c 6f 73 65 28 24 70 72 6f 63 65 73 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 roc_close($process);............
68c20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2d 2d 2d 2d 2d 2d 2d 2d 2b 5c 72 3f 5c ..if.(preg_match('/--------+\r?\
68c40 6e 2e 2b 3f 28 5c 64 2b 29 5c 72 3f 5c 6e 2e 2b 3f 28 5c 64 2b 29 5c 72 3f 5c 6e 2f 27 2c 20 24 n.+?(\d+)\r?\n.+?(\d+)\r?\n/',.$
68c60 69 6e 66 6f 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 info,.$matches)).{..............
68c80 20 20 20 72 65 74 75 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 ...return.$matches[2].'x'.$match
68ca0 65 73 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 es[1];.............}.........}..
68cc0 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 61 62 62 ...}....../**......*.Returns.abb
68ce0 72 65 76 69 61 74 65 64 20 73 75 67 67 65 73 74 69 6f 6e 73 20 69 6e 20 73 74 72 69 6e 67 20 66 reviated.suggestions.in.string.f
68d00 6f 72 6d 61 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 ormat.......*......*.@param.arra
68d20 79 20 24 61 62 62 72 65 76 73 20 41 62 62 72 65 76 69 61 74 65 64 20 73 75 67 67 65 73 74 69 6f y.$abbrevs.Abbreviated.suggestio
68d40 6e 73 20 74 6f 20 63 6f 6e 76 65 72 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 ns.to.convert......*......*.@ret
68d60 75 72 6e 20 73 74 72 69 6e 67 20 41 20 66 6f 72 6d 61 74 74 65 64 20 73 74 72 69 6e 67 20 6f 66 urn.string.A.formatted.string.of
68d80 20 61 62 62 72 65 76 69 61 74 65 64 20 73 75 67 67 65 73 74 69 6f 6e 73 0a 20 20 20 20 20 2a 2f .abbreviated.suggestions......*/
68da0 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 62 62 72 65 76 69 .....private.function.getAbbrevi
68dc0 61 74 69 6f 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 24 61 62 62 72 65 76 73 29 0a 20 20 20 20 7b ationSuggestions($abbrevs).....{
68de0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 73 2c 20 25 73 25 .........return.sprintf('%s,.%s%
68e00 73 27 2c 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 63 6f s',.$abbrevs[0],.$abbrevs[1],.co
68e20 75 6e 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 unt($abbrevs).>.2.?.sprintf('.an
68e40 64 20 25 64 20 6d 6f 72 65 27 2c 20 63 6f 75 6e 74 28 24 61 62 62 72 65 76 73 29 20 2d 20 32 29 d.%d.more',.count($abbrevs).-.2)
68e60 20 3a 20 27 27 29 3b 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 .:.'');.....}....../**......*.Re
68e80 74 75 72 6e 73 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 turns.the.namespace.part.of.the.
68ea0 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 command.name.......*......*.This
68ec0 20 6d 65 74 68 6f 64 20 69 73 20 6e 6f 74 20 70 61 72 74 20 6f 66 20 70 75 62 6c 69 63 20 41 50 .method.is.not.part.of.public.AP
68ee0 49 20 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 64 69 72 65 63 74 6c I.and.should.not.be.used.directl
68f00 79 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 6e 67 20 24 y.......*......*.@param.string.$
68f20 6e 61 6d 65 20 20 54 68 65 20 66 75 6c 6c 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 name..The.full.name.of.the.comma
68f40 6e 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6c 69 6d 69 74 20 54 nd......*.@param.string.$limit.T
68f60 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 72 74 73 20 6f 66 20 74 68 he.maximum.number.of.parts.of.th
68f80 65 20 6e 61 6d 65 73 70 61 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 e.namespace......*......*.@retur
68fa0 6e 20 73 74 72 69 6e 67 20 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 6f 66 20 74 68 65 20 63 6f n.string.The.namespace.of.the.co
68fc0 6d 6d 61 6e 64 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 mmand......*/.....public.functio
68fe0 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 69 74 n.extractNamespace($name,.$limit
69000 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 61 72 74 73 20 3d 20 .=.null).....{.........$parts.=.
69020 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 61 72 72 explode(':',.$name);.........arr
69040 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ay_pop($parts);..........return.
69060 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 69 74 20 3f 20 24 implode(':',.null.===.$limit.?.$
69080 70 61 72 74 73 20 3a 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 70 61 72 74 73 2c 20 30 2c 20 24 parts.:.array_slice($parts,.0,.$
690a0 6c 69 6d 69 74 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 limit));.....}....../**......*.F
690c0 69 6e 64 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 6f 66 20 24 6e 61 6d 65 20 61 6d 6f 6e 67 20 inds.alternative.of.$name.among.
690e0 24 63 6f 6c 6c 65 63 74 69 6f 6e 2c 0a 20 20 20 20 20 2a 20 69 66 20 6e 6f 74 68 69 6e 67 20 69 $collection,......*.if.nothing.i
69100 73 20 66 6f 75 6e 64 20 69 6e 20 24 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 74 72 79 20 69 6e 20 24 s.found.in.$collection,.try.in.$
69120 61 62 62 72 65 76 73 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 abbrevs.......*......*.@param.st
69140 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 20 20 20 20 20 20 20 54 68 65 ring.............$name.......The
69160 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 7c 5c 54 72 61 .string......*.@param.array|\Tra
69180 76 65 72 73 61 62 6c 65 20 24 63 6f 6c 6c 65 63 74 69 6f 6e 20 54 68 65 20 63 6f 6c 6c 65 63 74 versable.$collection.The.collect
691a0 69 6f 6e 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 72 69 6e 67 ion......*......*.@return.string
691c0 5b 5d 20 41 20 73 6f 72 74 65 64 20 61 72 72 61 79 20 6f 66 20 73 69 6d 69 6c 61 72 20 73 74 72 [].A.sorted.array.of.similar.str
691e0 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ing......*/.....private.function
69200 20 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6c 6c 65 63 .findAlternatives($name,.$collec
69220 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 72 65 73 68 6f 6c 64 20 3d tion).....{.........$threshold.=
69240 20 31 65 33 3b 0a 20 20 20 20 20 20 20 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 61 72 .1e3;.........$alternatives.=.ar
69260 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6c 6c 65 63 74 69 6f 6e 50 61 72 74 73 ray();..........$collectionParts
69280 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 63 6f .=.array();.........foreach.($co
692a0 6c 6c 65 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 llection.as.$item).{............
692c0 20 24 63 6f 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 .$collectionParts[$item].=.explo
692e0 64 65 28 27 3a 27 2c 20 24 69 74 65 6d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 de(':',.$item);.........}.......
69300 20 20 20 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 6d 65 29 20 ...foreach.(explode(':',.$name).
69320 61 73 20 24 69 20 3d 3e 20 24 73 75 62 6e 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 as.$i.=>.$subname).{............
69340 20 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
69360 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 20 20 20 20 20 ollectionName.=>.$parts).{......
69380 20 20 20 20 20 20 20 20 20 20 20 24 65 78 69 73 74 73 20 3d 20 69 73 73 65 74 28 24 61 6c 74 65 ...........$exists.=.isset($alte
693a0 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 29 3b 0a 20 20 20 20 rnatives[$collectionName]);.....
693c0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 74 73 5b 24 69 ............if.(!isset($parts[$i
693e0 5d 29 20 26 26 20 24 65 78 69 73 74 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ]).&&.$exists).{................
69400 20 20 20 20 20 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 .....$alternatives[$collectionNa
69420 6d 65 5d 20 2b 3d 20 24 74 68 72 65 73 68 6f 6c 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 me].+=.$threshold;..............
69440 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......continue;................
69460 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 74 73 5b 24 69 5d 29 29 20 7b .}.elseif.(!isset($parts[$i])).{
69480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 .....................continue;..
694a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
694c0 20 20 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 73 75 62 6e 61 6d 65 2c 20 24 ..$lev.=.levenshtein($subname,.$
694e0 70 61 72 74 73 5b 24 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 parts[$i]);.................if.(
69500 24 6c 65 76 20 3c 3d 20 73 74 72 6c 65 6e 28 24 73 75 62 6e 61 6d 65 29 20 2f 20 33 20 7c 7c 20 $lev.<=.strlen($subname)./.3.||.
69520 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 3d 20 73 74 72 ''.!==.$subname.&&.false.!==.str
69540 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 7b 0a 20 20 20 pos($parts[$i],.$subname)).{....
69560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 .................$alternatives[$
69580 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 3d 20 24 65 78 69 73 74 73 20 3f 20 24 61 6c 74 collectionName].=.$exists.?.$alt
695a0 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 20 2b 20 24 6c 65 ernatives[$collectionName].+.$le
695c0 76 20 3a 20 24 6c 65 76 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 v.:.$lev;.................}.else
695e0 69 66 20 28 24 65 78 69 73 74 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 if.($exists).{..................
69600 20 20 20 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 ...$alternatives[$collectionName
69620 5d 20 2b 3d 20 24 74 68 72 65 73 68 6f 6c 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ].+=.$threshold;................
69640 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 0a 0a 20 20 20 20 .}.............}.........}......
69660 20 20 20 20 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 65 ....foreach.($collection.as.$ite
69680 6d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 74 m).{.............$lev.=.levensht
696a0 65 69 6e 28 24 6e 61 6d 65 2c 20 24 69 74 65 6d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ein($name,.$item);.............i
696c0 66 20 28 24 6c 65 76 20 3c 3d 20 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 20 2f 20 33 20 7c 7c 20 f.($lev.<=.strlen($name)./.3.||.
696e0 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 69 74 65 6d 2c 20 24 6e 61 6d 65 29 29 20 false.!==.strpos($item,.$name)).
69700 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b {.................$alternatives[
69720 24 69 74 65 6d 5d 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 $item].=.isset($alternatives[$it
69740 65 6d 5d 29 20 3f 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 em]).?.$alternatives[$item].-.$l
69760 65 76 20 3a 20 24 6c 65 76 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ev.:.$lev;.............}........
69780 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 61 72 72 61 .}..........$alternatives.=.arra
697a0 79 5f 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 y_filter($alternatives,.function
697c0 20 28 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 .($lev).use.($threshold).{.retur
697e0 6e 20 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 20 20 20 n.$lev.<.2.*.$threshold;.});....
69800 20 20 20 20 20 61 73 6f 72 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 0a 20 20 20 20 .....asort($alternatives);......
69820 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 61 6c 74 65 72 6e 61 74 69 ....return.array_keys($alternati
69840 76 65 73 29 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 65 74 73 ves);.....}....../**......*.Sets
69860 20 74 68 65 20 64 65 66 61 75 6c 74 20 43 6f 6d 6d 61 6e 64 20 6e 61 6d 65 2e 0a 20 20 20 20 20 .the.default.Command.name.......
69880 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 6f 6d 6d 61 6e 64 4e *......*.@param.string.$commandN
698a0 61 6d 65 20 54 68 65 20 43 6f 6d 6d 61 6e 64 20 6e 61 6d 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 ame.The.Command.name......*/....
698c0 20 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 74 43 6f 6d 6d 61 .public.function.setDefaultComma
698e0 6e 64 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 nd($commandName).....{.........$
69900 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 4e this->defaultCommand.=.$commandN
69920 61 6d 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 69 6f 6e ame;.....}......private.function
69940 20 73 74 72 69 6e 67 57 69 64 74 68 28 24 73 74 72 69 6e 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 .stringWidth($string).....{.....
69960 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 ....if.(false.===.$encoding.=.mb
69980 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 2c 20 6e 75 6c 6c 2c 20 _detect_encoding($string,.null,.
699a0 74 72 75 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 6c true)).{.............return.strl
699c0 65 6e 28 24 73 74 72 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 en($string);.........}..........
699e0 72 65 74 75 72 6e 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 74 72 69 6e 67 2c 20 24 65 6e 63 return.mb_strwidth($string,.$enc
69a00 6f 64 69 6e 67 29 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 oding);.....}......private.funct
69a20 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 6e 67 2c 20 ion.splitStringByWidth($string,.
69a40 24 77 69 64 74 68 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 74 72 5f 73 70 6c $width).....{.........//.str_spl
69a60 69 74 20 69 73 20 6e 6f 74 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 6d 75 6c 74 69 2d 62 79 74 it.is.not.suitable.for.multi-byt
69a80 65 20 63 68 61 72 61 63 74 65 72 73 2c 20 77 65 20 73 68 6f 75 6c 64 20 75 73 65 20 70 72 65 67 e.characters,.we.should.use.preg
69aa0 5f 73 70 6c 69 74 20 74 6f 20 67 65 74 20 63 68 61 72 20 61 72 72 61 79 20 70 72 6f 70 65 72 6c _split.to.get.char.array.properl
69ac0 79 2e 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 61 72 72 61 y..........//.additionally,.arra
69ae0 79 5f 73 6c 69 63 65 28 29 20 69 73 20 6e 6f 74 20 65 6e 6f 75 67 68 20 61 73 20 73 6f 6d 65 20 y_slice().is.not.enough.as.some.
69b00 63 68 61 72 61 63 74 65 72 20 68 61 73 20 64 6f 75 62 6c 65 64 20 77 69 64 74 68 2e 0a 20 20 20 character.has.doubled.width.....
69b20 20 20 20 20 20 2f 2f 20 77 65 20 6e 65 65 64 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 73 70 .....//.we.need.a.function.to.sp
69b40 6c 69 74 20 73 74 72 69 6e 67 20 6e 6f 74 20 62 79 20 63 68 61 72 61 63 74 65 72 20 63 6f 75 6e lit.string.not.by.character.coun
69b60 74 20 62 75 74 20 62 79 20 73 74 72 69 6e 67 20 77 69 64 74 68 0a 20 20 20 20 20 20 20 20 69 66 t.but.by.string.width.........if
69b80 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 .(false.===.$encoding.=.mb_detec
69ba0 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 t_encoding($string,.null,.true))
69bc0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 5f 73 70 6c 69 74 28 .{.............return.str_split(
69be0 24 73 74 72 69 6e 67 2c 20 24 77 69 64 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 $string,.$width);.........}.....
69c00 20 20 20 20 20 24 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 .....$utf8String.=.mb_convert_en
69c20 63 6f 64 69 6e 67 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 coding($string,.'utf8',.$encodin
69c40 67 29 3b 0a 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 g);.........$lines.=.array();...
69c60 20 20 20 20 20 20 24 6c 69 6e 65 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 ......$line.=.'';.........foreac
69c80 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 6e 67 h.(preg_split('//u',.$utf8String
69ca0 29 20 61 73 20 24 63 68 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 65 73 ).as.$char).{.............//.tes
69cc0 74 20 69 66 20 24 63 68 61 72 20 63 6f 75 6c 64 20 62 65 20 61 70 70 65 6e 64 65 64 20 74 6f 20 t.if.$char.could.be.appended.to.
69ce0 63 75 72 72 65 6e 74 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 62 5f current.line.............if.(mb_
69d00 73 74 72 77 69 64 74 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 strwidth($line.$char,.'utf8').<=
69d20 20 24 77 69 64 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 .$width).{.................$line
69d40 20 2e 3d 20 24 63 68 61 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 ..=.$char;.................conti
69d60 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 2f nue;.............}............./
69d80 2f 20 69 66 20 6e 6f 74 2c 20 70 75 73 68 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 20 74 6f 20 61 /.if.not,.push.current.line.to.a
69da0 72 72 61 79 20 61 6e 64 20 6d 61 6b 65 20 6e 65 77 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 rray.and.make.new.line..........
69dc0 20 20 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 ...$lines[].=.str_pad($line,.$wi
69de0 64 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 20 3d 20 24 63 68 61 72 3b dth);.............$line.=.$char;
69e00 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 27 20 21 3d 3d 20 24 6c .........}.........if.(''.!==.$l
69e20 69 6e 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 69 6e 65 73 5b 5d 20 3d 20 63 6f ine).{.............$lines[].=.co
69e40 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 2c 20 24 77 69 unt($lines).?.str_pad($line,.$wi
69e60 64 74 68 29 20 3a 20 24 6c 69 6e 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 dth).:.$line;.........}.........
69e80 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 24 65 6e 63 6f 64 69 6e 67 2c .mb_convert_variables($encoding,
69ea0 20 27 75 74 66 38 27 2c 20 24 6c 69 6e 65 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 .'utf8',.$lines);..........retur
69ec0 6e 20 24 6c 69 6e 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 n.$lines;.....}....../**......*.
69ee0 52 65 74 75 72 6e 73 20 61 6c 6c 20 6e 61 6d 65 73 70 61 63 65 73 20 6f 66 20 74 68 65 20 63 6f Returns.all.namespaces.of.the.co
69f00 6d 6d 61 6e 64 20 6e 61 6d 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d mmand.name.......*......*.@param
69f20 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 20 54 68 65 20 66 75 6c 6c 20 6e 61 6d 65 20 6f 66 20 74 .string.$name.The.full.name.of.t
69f40 68 65 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e he.command......*......*.@return
69f60 20 73 74 72 69 6e 67 5b 5d 20 54 68 65 20 6e 61 6d 65 73 70 61 63 65 73 20 6f 66 20 74 68 65 20 .string[].The.namespaces.of.the.
69f80 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 command......*/.....private.func
69fa0 74 69 6f 6e 20 65 78 74 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 28 24 6e 61 6d 65 29 tion.extractAllNamespaces($name)
69fc0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 2d 31 20 61 73 20 74 68 69 72 64 20 61 72 .....{.........//.-1.as.third.ar
69fe0 67 75 6d 65 6e 74 20 69 73 20 6e 65 65 64 65 64 20 74 6f 20 73 6b 69 70 20 74 68 65 20 63 6f 6d gument.is.needed.to.skip.the.com
6a000 6d 61 6e 64 20 73 68 6f 72 74 20 6e 61 6d 65 20 77 68 65 6e 20 65 78 70 6c 6f 64 69 6e 67 0a 20 mand.short.name.when.exploding..
6a020 20 20 20 20 20 20 20 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 .......$parts.=.explode(':',.$na
6a040 6d 65 2c 20 2d 31 29 3b 0a 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 me,.-1);.........$namespaces.=.a
6a060 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 70 61 72 74 73 rray();..........foreach.($parts
6a080 20 61 73 20 24 70 61 72 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 .as.$part).{.............if.(cou
6a0a0 6e 74 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nt($namespaces)).{..............
6a0c0 20 20 20 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 ...$namespaces[].=.end($namespac
6a0e0 65 73 29 2e 27 3a 27 2e 24 70 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 es).':'.$part;.............}.els
6a100 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 73 5b e.{.................$namespaces[
6a120 5d 20 3d 20 24 70 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ].=.$part;.............}........
6a140 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6e 61 6d 65 73 70 61 63 65 73 3b 0a .}..........return.$namespaces;.
6a160 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 ....}.}.<?php../*..*.This.file.i
6a180 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 s.part.of.the.Symfony.package...
6a1a0 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 *..*.(c).Fabien.Potencier.<fabie
6a1c0 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c n@symfony.com>..*..*.For.the.ful
6a1e0 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 l.copyright.and.license.informat
6a200 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 ion,.please.view.the.LICENSE..*.
6a220 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 file.that.was.distributed.with.t
6a240 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 his.source.code...*/..namespace.
6a260 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
6a280 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 6f 6e ptor;..use.Symfony\Component\Con
6a2a0 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 2f 2a sole\Output\OutputInterface;../*
6a2c0 2a 0a 20 2a 20 44 65 73 63 72 69 70 74 6f 72 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 2a 0a 20 2a *..*.Descriptor.interface...*..*
6a2e0 20 40 61 75 74 68 6f 72 20 4a 65 61 6e 2d 46 72 61 6e c3 a7 6f 69 73 20 53 69 6d 6f 6e 20 3c 63 .@author.Jean-Fran..ois.Simon.<c
6a300 6f 6e 74 61 63 74 40 6a 66 73 69 6d 6f 6e 2e 66 72 3e 0a 20 2a 2f 0a 69 6e 74 65 72 66 61 63 65 ontact@jfsimon.fr>..*/.interface
6a320 20 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 .DescriptorInterface.{...../**..
6a340 20 20 20 20 2a 20 44 65 73 63 72 69 62 65 73 20 61 6e 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 ....*.Describes.an.InputArgument
6a360 20 69 6e 73 74 61 6e 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 .instance.......*......*.@param.
6a380 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 0a 20 20 20 20 20 2a 20 40 OutputInterface.$output......*.@
6a3a0 70 61 72 61 6d 20 6f 62 6a 65 63 74 20 20 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 0a 20 20 param.object..........$object...
6a3c0 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 ...*.@param.array...........$opt
6a3e0 69 6f 6e 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 ions......*/.....public.function
6a400 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 75 .describe(OutputInterface.$outpu
6a420 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 72 t,.$object,.array.$options.=.arr
6a440 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 ay());.}.<?php../*..*.This.file.
6a460 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a is.part.of.the.Symfony.package..
6a480 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 .*..*.(c).Fabien.Potencier.<fabi
6a4a0 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 en@symfony.com>..*..*.For.the.fu
6a4c0 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 ll.copyright.and.license.informa
6a4e0 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a tion,.please.view.the.LICENSE..*
6a500 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 .file.that.was.distributed.with.
6a520 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 this.source.code...*/..namespace
6a540 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 72 .Symfony\Component\Console\Descr
6a560 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 6f iptor;..use.Symfony\Component\Co
6a580 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 43 nsole\Application;.use.Symfony\C
6a5a0 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 64 omponent\Console\Command\Command
6a5c0 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\
6a5e0 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
6a600 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 65 \Component\Console\Input\InputDe
6a620 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 5c finition;.use.Symfony\Component\
6a640 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 2f 2a 2a 0a Console\Input\InputOption;../**.
6a660 20 2a 20 54 65 78 74 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f .*.Text.descriptor...*..*.@autho
6a680 72 20 4a 65 61 6e 2d 46 72 61 6e c3 a7 6f 69 73 20 53 69 6d 6f 6e 20 3c 63 6f 6e 74 61 63 74 40 r.Jean-Fran..ois.Simon.<contact@
6a6a0 6a 66 73 69 6d 6f 6e 2e 66 72 3e 0a 20 2a 0a 20 2a 20 40 69 6e 74 65 72 6e 61 6c 0a 20 2a 2f 0a jfsimon.fr>..*..*.@internal..*/.
6a6c0 63 6c 61 73 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 class.TextDescriptor.extends.Des
6a6e0 63 72 69 70 74 6f 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 criptor.{...../**......*.{@inher
6a700 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e itdoc}......*/.....protected.fun
6a720 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 6e 70 75 ction.describeInputArgument(Inpu
6a740 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 70 74 69 tArgument.$argument,.array.$opti
6a760 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 ons.=.array()).....{.........if.
6a780 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 (null.!==.$argument->getDefault(
6a7a0 29 20 26 26 20 28 21 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 ).&&.(!is_array($argument->getDe
6a7c0 66 61 75 6c 74 28 29 29 20 7c 7c 20 63 6f 75 6e 74 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 fault()).||.count($argument->get
6a7e0 44 65 66 61 75 6c 74 28 29 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 66 61 Default()))).{.............$defa
6a800 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
6a820 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
6a840 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
6a860 6c 74 28 29 29 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 lt()));.........}.else.{........
6a880 20 20 20 20 20 24 64 65 66 61 75 6c 74 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 .....$default.=.'';.........}...
6a8a0 20 20 20 20 20 20 20 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 .......$totalWidth.=.isset($opti
6a8c0 6f 6e 73 5b 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 ons['total_width']).?.$options['
6a8e0 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 20 3a 20 73 74 72 6c 65 6e 28 24 61 72 67 75 6d 65 6e 74 total_width'].:.strlen($argument
6a900 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 24 73 70 61 63 69 6e 67 57 69 ->getName());.........$spacingWi
6a920 64 74 68 20 3d 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2d 20 73 74 72 6c 65 6e 28 24 61 72 67 75 dth.=.$totalWidth.-.strlen($argu
6a940 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 2b 20 32 3b 0a 0a 20 20 20 20 20 20 20 20 24 ment->getName()).+.2;..........$
6a960 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 20 3c 69 6e 66 6f this->writeText(sprintf('..<info
6a980 3e 25 73 3c 2f 69 6e 66 6f 3e 25 73 25 73 25 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 >%s</info>%s%s%s',.............$
6a9a0 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 argument->getName(),............
6a9c0 20 73 74 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 .str_repeat('.',.$spacingWidth),
6a9e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 2b 20 31 37 20 3d 20 32 20 73 70 61 63 65 73 20 .............//.+.17.=.2.spaces.
6aa00 2b 20 3c 69 6e 66 6f 3e 20 2b 20 3c 2f 69 6e 66 6f 3e 20 2b 20 32 20 73 70 61 63 65 73 0a 20 20 +.<info>.+.</info>.+.2.spaces...
6aa20 20 20 20 20 20 20 20 20 20 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c ..........preg_replace('/\s*[\r\
6aa40 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 74 n]\s*/',."\n".str_repeat('.',.$t
6aa60 6f 74 61 6c 57 69 64 74 68 20 2b 20 31 37 29 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 otalWidth.+.17),.$argument->getD
6aa80 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 66 61 escription()),.............$defa
6aaa0 75 6c 74 0a 20 20 20 20 20 20 20 20 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a ult.........),.$options);.....}.
6aac0 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 ...../**......*.{@inheritdoc}...
6aae0 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 ...*/.....protected.function.des
6ab00 63 72 69 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 cribeInputOption(InputOption.$op
6ab20 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 29 0a tion,.array.$options.=.array()).
6ab40 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 ....{.........if.($option->accep
6ab60 74 56 61 6c 75 65 28 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 tValue().&&.null.!==.$option->ge
6ab80 74 44 65 66 61 75 6c 74 28 29 20 26 26 20 28 21 69 73 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e tDefault().&&.(!is_array($option
6aba0 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 7c 7c 20 63 6f 75 6e 74 28 24 6f 70 74 69 6f 6e ->getDefault()).||.count($option
6abc0 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ->getDefault()))).{.............
6abe0 24 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 $default.=.sprintf('<comment>.[d
6ac00 65 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 efault:.%s]</comment>',.$this->f
6ac20 6f 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 ormatDefaultValue($option->getDe
6ac40 66 61 75 6c 74 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 fault()));.........}.else.{.....
6ac60 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 7d ........$default.=.'';.........}
6ac80 0a 0a 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 27 27 3b 0a 20 20 20 20 20 20 20 20 69 ..........$value.=.'';.........i
6aca0 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 20 20 20 f.($option->acceptValue()).{....
6acc0 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 27 3d 27 2e 73 74 72 74 6f 75 70 70 65 72 .........$value.=.'='.strtoupper
6ace0 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 ($option->getName());...........
6ad00 20 20 20 69 66 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 ...if.($option->isValueOptional(
6ad20 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 27 5b )).{.................$value.=.'[
6ad40 27 2e 24 76 61 6c 75 65 2e 27 5d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 '.$value.']';.............}.....
6ad60 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 69 73 73 ....}..........$totalWidth.=.iss
6ad80 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 29 20 3f 20 24 6f et($options['total_width']).?.$o
6ada0 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 20 3a 20 24 74 68 69 73 2d 3e 63 ptions['total_width'].:.$this->c
6adc0 61 6c 63 75 6c 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 alculateTotalWidthForOptions(arr
6ade0 61 79 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 20 20 20 20 20 20 20 20 24 73 79 6e 6f 70 73 69 73 20 ay($option));.........$synopsis.
6ae00 3d 20 73 70 72 69 6e 74 66 28 27 25 73 25 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f =.sprintf('%s%s',.............$o
6ae20 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 72 69 6e 74 66 28 27 ption->getShortcut().?.sprintf('
6ae40 2d 25 73 2c 20 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 -%s,.',.$option->getShortcut()).
6ae60 3a 20 27 20 20 20 20 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 72 69 6e 74 66 28 27 2d :.'....',.............sprintf('-
6ae80 2d 25 73 25 73 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c -%s%s',.$option->getName(),.$val
6aea0 75 65 29 0a 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 73 70 61 63 69 6e 67 ue).........);..........$spacing
6aec0 57 69 64 74 68 20 3d 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2d 20 73 74 72 6c 65 6e 28 24 73 79 Width.=.$totalWidth.-.strlen($sy
6aee0 6e 6f 70 73 69 73 29 20 2b 20 32 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 nopsis).+.2;..........$this->wri
6af00 74 65 54 65 78 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 teText(sprintf('..<info>%s</info
6af20 3e 25 73 25 73 25 73 25 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 79 6e 6f 70 73 69 >%s%s%s%s',.............$synopsi
6af40 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 s,.............str_repeat('.',.$
6af60 73 70 61 63 69 6e 67 57 69 64 74 68 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 2b 20 spacingWidth),.............//.+.
6af80 31 37 20 3d 20 32 20 73 70 61 63 65 73 20 2b 20 3c 69 6e 66 6f 3e 20 2b 20 3c 2f 69 6e 66 6f 3e 17.=.2.spaces.+.<info>.+.</info>
6afa0 20 2b 20 32 20 73 70 61 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 67 5f 72 65 70 .+.2.spaces.............preg_rep
6afc0 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 22 2e 73 74 72 5f lace('/\s*[\r\n]\s*/',."\n".str_
6afe0 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 31 37 29 2c 20 24 repeat('.',.$totalWidth.+.17),.$
6b000 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 20 20 20 20 20 option->getDescription()),......
6b020 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 .......$default,.............$op
6b040 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 3e 20 28 6d 75 tion->isArray().?.'<comment>.(mu
6b060 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 6d 65 6e 74 3e ltiple.values.allowed)</comment>
6b080 27 20 3a 20 27 27 0a 20 20 20 20 20 20 20 20 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 '.:.''.........),.$options);....
6b0a0 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d .}....../**......*.{@inheritdoc}
6b0c0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ......*/.....protected.function.
6b0e0 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 describeInputDefinition(InputDef
6b100 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 inition.$definition,.array.$opti
6b120 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 6f ons.=.array()).....{.........$to
6b140 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 74 65 54 6f 74 61 6c talWidth.=.$this->calculateTotal
6b160 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 6f 6e 2d 3e 67 65 74 WidthForOptions($definition->get
6b180 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 Options());.........foreach.($de
6b1a0 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 61 73 20 24 61 72 67 finition->getArguments().as.$arg
6b1c0 75 6d 65 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 6f 74 61 6c 57 69 64 74 68 ument).{.............$totalWidth
6b1e0 20 3d 20 6d 61 78 28 24 74 6f 74 61 6c 57 69 64 74 68 2c 20 73 74 72 6c 65 6e 28 24 61 72 67 75 .=.max($totalWidth,.strlen($argu
6b200 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ment->getName()));.........}....
6b220 20 20 20 20 20 20 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 ......if.($definition->getArgume
6b240 6e 74 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 nts()).{.............$this->writ
6b260 65 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 eText('<comment>Arguments:</comm
6b280 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 ent>',.$options);.............$t
6b2a0 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 his->writeText("\n");...........
6b2c0 20 20 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 72 67 75 6d ..foreach.($definition->getArgum
6b2e0 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ents().as.$argument).{..........
6b300 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d .......$this->describeInputArgum
6b320 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6f 70 74 69 ent($argument,.array_merge($opti
6b340 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 74 ons,.array('total_width'.=>.$tot
6b360 61 6c 57 69 64 74 68 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 alWidth)));.................$thi
6b380 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 s->writeText("\n");.............
6b3a0 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 65 66 69 6e 69 }.........}..........if.($defini
6b3c0 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 26 26 20 24 64 65 66 69 6e 69 74 tion->getArguments().&&.$definit
6b3e0 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ion->getOptions()).{............
6b400 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 .$this->writeText("\n");........
6b420 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 .}..........if.($definition->get
6b440 4f 70 74 69 6f 6e 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 61 74 65 72 4f Options()).{.............$laterO
6b460 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ptions.=.array();..............$
6b480 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 4f 70 74 69 6f 6e this->writeText('<comment>Option
6b4a0 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 s:</comment>',.$options);.......
6b4c0 20 20 20 20 20 20 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 ......foreach.($definition->getO
6b4e0 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ptions().as.$option).{..........
6b500 20 20 20 20 20 20 20 69 66 20 28 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 .......if.(strlen($option->getSh
6b520 6f 72 74 63 75 74 28 29 29 20 3e 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ortcut()).>.1).{................
6b540 20 20 20 20 20 24 6c 61 74 65 72 4f 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 3b 0a .....$laterOptions[].=.$option;.
6b560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 ....................continue;...
6b580 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 ..............}.................
6b5a0 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 $this->writeText("\n");.........
6b5c0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 ........$this->describeInputOpti
6b5e0 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 69 6f 6e 73 on($option,.array_merge($options
6b600 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 74 61 6c 57 ,.array('total_width'.=>.$totalW
6b620 69 64 74 68 29 29 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 idth)));.............}..........
6b640 20 20 20 66 6f 72 65 61 63 68 20 28 24 6c 61 74 65 72 4f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 ...foreach.($laterOptions.as.$op
6b660 74 69 6f 6e 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 77 tion).{.................$this->w
6b680 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 riteText("\n");.................
6b6a0 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 6e 28 24 6f 70 74 69 $this->describeInputOption($opti
6b6c0 6f 6e 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 79 28 on,.array_merge($options,.array(
6b6e0 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 29 3b 'total_width'.=>.$totalWidth)));
6b700 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a .............}.........}.....}..
6b720 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 ..../**......*.{@inheritdoc}....
6b740 20 20 2a 2f 0a 20 20 20 20 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
6b760 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
6b780 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 ray.$options.=.array()).....{...
6b7a0 20 20 20 20 20 20 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 ......$command->getSynopsis(true
6b7c0 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 );.........$command->getSynopsis
6b7e0 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 (false);.........$command->merge
6b800 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 29 3b 0a 0a 20 ApplicationDefinition(false);...
6b820 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e .......$this->writeText('<commen
6b840 74 3e 55 73 61 67 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a t>Usage:</comment>',.$options);.
6b860 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 ........foreach.(array_merge(arr
6b880 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 29 2c ay($command->getSynopsis(true)),
6b8a0 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 61 6e .$command->getAliases(),.$comman
6b8c0 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 20 20 20 d->getUsages()).as.$usage).{....
6b8e0 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b .........$this->writeText("\n");
6b900 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 20 .............$this->writeText('.
6b920 20 27 2e 24 75 73 61 67 65 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a .'.$usage,.$options);.........}.
6b940 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a ........$this->writeText("\n");.
6b960 0a 20 20 20 20 20 20 20 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d .........$definition.=.$command-
6b980 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 >getNativeDefinition();.........
6b9a0 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 20 7c 7c if.($definition->getOptions().||
6b9c0 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 20 7b 0a .$definition->getArguments()).{.
6b9e0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e ............$this->writeText("\n
6ba00 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 ");.............$this->describeI
6ba20 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 6f 70 74 nputDefinition($definition,.$opt
6ba40 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 ions);.............$this->writeT
6ba60 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 ext("\n");.........}..........if
6ba80 20 28 24 68 65 6c 70 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 6f 63 65 73 73 65 64 .($help.=.$command->getProcessed
6baa0 48 65 6c 70 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 Help()).{.............$this->wri
6bac0 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d teText("\n");.............$this-
6bae0 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 48 65 6c 70 3a 3c 2f 63 6f 6d 6d >writeText('<comment>Help:</comm
6bb00 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 ent>',.$options);.............$t
6bb20 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 his->writeText("\n");...........
6bb40 20 20 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 ..$this->writeText('..'.str_repl
6bb60 61 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 ace("\n",."\n..",.$help),.$optio
6bb80 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 ns);.............$this->writeTex
6bba0 74 28 22 5c 6e 22 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 2a t("\n");.........}.....}....../*
6bbc0 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 *......*.{@inheritdoc}......*/..
6bbe0 20 20 20 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 70 ...protected.function.describeAp
6bc00 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 69 plication(Application.$applicati
6bc20 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 20 20 on,.array.$options.=.array())...
6bc40 20 20 7b 0a 20 20 20 20 20 20 20 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 ..{.........$describedNamespace.
6bc60 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f =.isset($options['namespace']).?
6bc80 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 20 .$options['namespace'].:.null;..
6bca0 20 20 20 20 20 20 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 .......$description.=.new.Applic
6bcc0 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 69 6f 6e 2c 20 24 ationDescription($application,.$
6bce0 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 describedNamespace);..........if
6bd00 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 5d 29 20 26 26 .(isset($options['raw_text']).&&
6bd20 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 20 20 20 20 20 20 20 .$options['raw_text']).{........
6bd40 20 20 20 20 20 24 77 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 .....$width.=.$this->getColumnWi
6bd60 64 74 68 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 29 dth($description->getCommands())
6bd80 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 ;..............foreach.($descrip
6bda0 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 64 29 tion->getCommands().as.$command)
6bdc0 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 77 72 69 74 65 54 .{.................$this->writeT
6bde0 65 78 74 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 ext(sprintf("%-{$width}s.%s",.$c
6be00 6f 6d 6d 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 ommand->getName(),.$command->get
6be20 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 20 20 20 20 20 Description()),.$options);......
6be40 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 ...........$this->writeText("\n"
6be60 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 7d 20 65 6c 73 65 20 );.............}.........}.else.
6be80 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 27 20 21 3d 20 24 68 65 6c 70 20 3d 20 {.............if.(''.!=.$help.=.
6bea0 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 48 65 6c 70 28 29 29 20 7b 0a 20 20 20 20 20 $application->getHelp()).{......
6bec0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 24 68 65 ...........$this->writeText("$he
6bee0 6c 70 5c 6e 5c 6e 22 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 lp\n\n",.$options);.............
6bf00 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 }..............$this->writeText(
6bf20 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 6e 22 2c 20 24 "<comment>Usage:</comment>\n",.$
6bf40 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 options);.............$this->wri
6bf60 74 65 54 65 78 74 28 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 teText("..command.[options].[arg
6bf80 75 6d 65 6e 74 73 5d 5c 6e 5c 6e 22 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 20 20 20 20 20 20 uments]\n\n",.$options);........
6bfa0 20 20 20 20 20 20 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 ......$this->describeInputDefini
6bfc0 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 61 70 70 6c 69 63 tion(new.InputDefinition($applic
6bfe0 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 4f 70 74 69 6f ation->getDefinition()->getOptio
6c000 6e 73 28 29 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 ns()),.$options);..............$
6c020 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 this->writeText("\n");..........
6c040 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 0a 20 20 20 20 ...$this->writeText("\n");......
6c060 20 20 20 20 20 20 20 20 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d ........$width.=.$this->getColum
6c080 6e 57 69 64 74 68 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 nWidth($description->getCommands
6c0a0 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 64 65 73 63 72 69 62 65 64 ());..............if.($described
6c0c0 4e 61 6d 65 73 70 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 Namespace).{.................$th
6c0e0 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e is->writeText(sprintf('<comment>
6c100 41 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 74 68 65 20 22 25 73 22 20 Available.commands.for.the."%s".
6c120 6e 61 6d 65 73 70 61 63 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 64 65 73 63 72 69 62 65 namespace:</comment>',.$describe
6c140 64 4e 61 6d 65 73 70 61 63 65 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 dNamespace),.$options);.........
6c160 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 20 24 74 68 ....}.else.{.................$th
6c180 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 41 76 61 69 6c 61 62 6c is->writeText('<comment>Availabl
6c1a0 65 20 63 6f 6d 6d 61 6e 64 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 e.commands:</comment>',.$options
6c1c0 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 20 20 20 20 2f 2f );.............}..............//
6c1e0 20 61 64 64 20 63 6f 6d 6d 61 6e 64 73 20 62 79 20 6e 61 6d 65 73 70 61 63 65 0a 20 20 20 20 20 .add.commands.by.namespace......
6c200 20 20 20 20 20 20 20 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 .......foreach.($description->ge
6c220 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 0a 20 tNamespaces().as.$namespace).{..
6c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 64 65 73 63 72 69 62 65 64 4e 61 ...............if.(!$describedNa
6c260 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 69 6f mespace.&&.ApplicationDescriptio
6c280 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 70 61 n::GLOBAL_NAMESPACE.!==.$namespa
6c2a0 63 65 5b 27 69 64 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce['id']).{.....................
6c2c0 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 $this->writeText("\n");.........
6c2e0 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 20 3c ............$this->writeText('.<
6c300 63 6f 6d 6d 65 6e 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 comment>'.$namespace['id'].'</co
6c320 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 mment>',.$options);.............
6c340 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 ....}..................foreach.(
6c360 24 6e 61 6d 65 73 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 $namespace['commands'].as.$name)
6c380 20 7b 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 77 72 .{.....................$this->wr
6c3a0 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iteText("\n");..................
6c3c0 20 20 20 24 73 70 61 63 69 6e 67 57 69 64 74 68 20 3d 20 24 77 69 64 74 68 20 2d 20 73 74 72 6c ...$spacingWidth.=.$width.-.strl
6c3e0 65 6e 28 24 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 en($name);.....................$
6c400 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 20 3c 69 6e 66 6f this->writeText(sprintf('..<info
6c420 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 72 5f 72 65 70 65 >%s</info>%s%s',.$name,.str_repe
6c440 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 65 73 63 72 69 70 at('.',.$spacingWidth),.$descrip
6c460 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 65 74 44 65 73 63 tion->getCommand($name)->getDesc
6c480 72 69 70 74 69 6f 6e 28 29 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 ription()),.$options);..........
6c4a0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 .......}.............}..........
6c4c0 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 20 20 20 20 ....$this->writeText("\n");.....
6c4e0 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 7b 40 69 6e ....}.....}....../**......*.{@in
6c500 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 heritdoc}......*/.....private.fu
6c520 6e 63 74 69 6f 6e 20 77 72 69 74 65 54 65 78 74 28 24 63 6f 6e 74 65 6e 74 2c 20 61 72 72 61 79 nction.writeText($content,.array
6c540 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 .$options.=.array()).....{......
6c560 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 73 ...$this->write(.............iss
6c580 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 29 20 26 26 20 24 6f 70 74 et($options['raw_text']).&&.$opt
6c5a0 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 20 3f 20 73 74 72 69 70 5f 74 61 67 73 28 24 63 ions['raw_text'].?.strip_tags($c
6c5c0 6f 6e 74 65 6e 74 29 20 3a 20 24 63 6f 6e 74 65 6e 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ontent).:.$content,.............
6c5e0 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 6f 75 74 70 75 74 27 5d 29 20 3f 20 isset($options['raw_output']).?.
6c600 21 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 6f 75 74 70 75 74 27 5d 20 3a 20 74 72 75 65 0a 20 !$options['raw_output'].:.true..
6c620 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 .......);.....}....../**......*.
6c640 46 6f 72 6d 61 74 73 20 69 6e 70 75 74 20 6f 70 74 69 6f 6e 2f 61 72 67 75 6d 65 6e 74 20 64 65 Formats.input.option/argument.de
6c660 66 61 75 6c 74 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 fault.value.......*......*.@para
6c680 6d 20 6d 69 78 65 64 20 24 64 65 66 61 75 6c 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 m.mixed.$default......*......*.@
6c6a0 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 return.string......*/.....privat
6c6c0 65 20 66 75 6e 63 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 e.function.formatDefaultValue($d
6c6e0 65 66 61 75 6c 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 efault).....{.........return.str
6c700 5f 72 65 70 6c 61 63 65 28 27 5c 5c 5c 5c 27 2c 20 27 5c 5c 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f _replace('\\\\',.'\\',.json_enco
6c720 64 65 28 24 64 65 66 61 75 6c 74 2c 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 53 4c 41 53 de($default,.JSON_UNESCAPED_SLAS
6c740 48 45 53 20 7c 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 45 29 29 3b 0a HES.|.JSON_UNESCAPED_UNICODE));.
6c760 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 43 6f 6d ....}....../**......*.@param.Com
6c780 6d 61 6e 64 5b 5d 20 24 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 mand[].$commands......*......*.@
6c7a0 72 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 return.int......*/.....private.f
6c7c0 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 6f unction.getColumnWidth(array.$co
6c7e0 6d 6d 61 6e 64 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 77 69 64 74 68 73 20 3d 20 mmands).....{.........$widths.=.
6c800 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d array();..........foreach.($comm
6c820 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ands.as.$command).{.............
6c840 24 77 69 64 74 68 73 5b 5d 20 3d 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 $widths[].=.strlen($command->get
6c860 4e 61 6d 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 63 Name());.............foreach.($c
6c880 6f 6d 6d 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 ommand->getAliases().as.$alias).
6c8a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 77 69 64 74 68 73 5b 5d 20 3d 20 73 74 {.................$widths[].=.st
6c8c0 72 6c 65 6e 28 24 61 6c 69 61 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 rlen($alias);.............}.....
6c8e0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 78 28 24 77 69 64 74 68 ....}..........return.max($width
6c900 73 29 20 2b 20 32 3b 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 s).+.2;.....}....../**......*.@p
6c920 61 72 61 6d 20 49 6e 70 75 74 4f 70 74 69 6f 6e 5b 5d 20 24 6f 70 74 69 6f 6e 73 0a 20 20 20 20 aram.InputOption[].$options.....
6c940 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 69 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 .*......*.@return.int......*/...
6c960 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 54 6f 74 61 ..private.function.calculateTota
6c980 6c 57 69 64 74 68 46 6f 72 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 0a 20 20 20 20 7b lWidthForOptions($options).....{
6c9a0 0a 20 20 20 20 20 20 20 20 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 30 3b 0a 20 20 20 20 20 20 .........$totalWidth.=.0;.......
6c9c0 20 20 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 6f 6e 29 20 ..foreach.($options.as.$option).
6c9e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 22 2d 22 20 2b 20 73 68 6f 72 74 63 75 74 20 {.............//."-".+.shortcut.
6ca00 2b 20 22 2c 20 2d 2d 22 20 2b 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d +.",.--".+.name.............$nam
6ca20 65 4c 65 6e 67 74 68 20 3d 20 31 20 2b 20 6d 61 78 28 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e eLength.=.1.+.max(strlen($option
6ca40 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 73 74 72 6c 65 ->getShortcut()),.1).+.4.+.strle
6ca60 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 n($option->getName());..........
6ca80 20 20 20 20 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 ....if.($option->acceptValue()).
6caa0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 4c 65 6e 67 74 68 20 3d {.................$valueLength.=
6cac0 20 31 20 2b 20 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 .1.+.strlen($option->getName());
6cae0 20 2f 2f 20 3d 20 2b 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 .//.=.+.value.................$v
6cb00 61 6c 75 65 4c 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 alueLength.+=.$option->isValueOp
6cb20 74 69 6f 6e 61 6c 28 29 20 3f 20 32 20 3a 20 30 3b 20 2f 2f 20 5b 20 2b 20 5d 0a 0a 20 20 20 20 tional().?.2.:.0;.//.[.+.]......
6cb40 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 3d 20 24 76 61 6c 75 ............$nameLength.+=.$valu
6cb60 65 4c 65 6e 67 74 68 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 eLength;.............}..........
6cb80 20 20 20 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 6d 61 78 28 24 74 6f 74 61 6c 57 69 64 74 68 ...$totalWidth.=.max($totalWidth
6cba0 2c 20 24 6e 61 6d 65 4c 65 6e 67 74 68 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ,.$nameLength);.........}.......
6cbc0 20 20 20 72 65 74 75 72 6e 20 24 74 6f 74 61 6c 57 69 64 74 68 3b 0a 20 20 20 20 7d 0a 7d 0a 3c ...return.$totalWidth;.....}.}.<
6cbe0 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 ?php../*..*.This.file.is.part.of
6cc00 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 .the.Symfony.package...*..*.(c).
6cc20 46 61 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 Fabien.Potencier.<fabien@symfony
6cc40 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 .com>..*..*.For.the.full.copyrig
6cc60 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 ht.and.license.information,.plea
6cc80 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 se.view.the.LICENSE..*.file.that
6cca0 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 .was.distributed.with.this.sourc
6ccc0 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 e.code...*/..namespace.Symfony\C
6cce0 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
6cd00 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
6cd20 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
6cd40 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
6cd60 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
6cd80 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 6e 74 tArgument;.use.Symfony\Component
6cda0 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 3b 0a \Console\Input\InputDefinition;.
6cdc0 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
6cde0 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
6ce00 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
6ce20 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
6ce40 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 78 sole\Exception\InvalidArgumentEx
6ce60 63 65 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 65 61 6e 2d 46 72 ception;../**..*.@author.Jean-Fr
6ce80 61 6e c3 a7 6f 69 73 20 53 69 6d 6f 6e 20 3c 6a 65 61 6e 66 72 61 6e 63 6f 69 73 2e 73 69 6d 6f an..ois.Simon.<jeanfrancois.simo
6cea0 6e 40 73 65 6e 73 69 6f 6c 61 62 73 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 40 69 6e 74 65 72 6e 61 n@sensiolabs.com>..*..*.@interna
6cec0 6c 0a 20 2a 2f 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 44 65 73 63 72 69 70 74 6f 72 20 l..*/.abstract.class.Descriptor.
6cee0 69 6d 70 6c 65 6d 65 6e 74 73 20 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 0a 7b implements.DescriptorInterface.{
6cf00 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 4f 75 74 70 75 74 49 6e 74 65 72 ...../**......*.@var.OutputInter
6cf20 66 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 face......*/.....protected.$outp
6cf40 75 74 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 ut;....../**......*.{@inheritdoc
6cf60 7d 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 64 65 }......*/.....public.function.de
6cf80 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 2c 20 scribe(OutputInterface.$output,.
6cfa0 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 79 28 $object,.array.$options.=.array(
6cfc0 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d )).....{.........$this->output.=
6cfe0 20 24 6f 75 74 70 75 74 3b 0a 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 74 72 75 65 29 .$output;..........switch.(true)
6d000 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 .{.............case.$object.inst
6d020 61 6e 63 65 6f 66 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 0a 20 20 20 20 20 20 20 20 20 20 anceof.InputArgument:...........
6d040 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 ......$this->describeInputArgume
6d060 6e 74 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 nt($object,.$options);..........
6d080 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 .......break;.............case.$
6d0a0 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 0a 20 object.instanceof.InputOption:..
6d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e ...............$this->describeIn
6d0e0 70 75 74 4f 70 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 20 20 putOption($object,.$options);...
6d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ..............break;............
6d120 20 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 44 65 .case.$object.instanceof.InputDe
6d140 66 69 6e 69 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d finition:.................$this-
6d160 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 6f 62 6a 65 63 74 >describeInputDefinition($object
6d180 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 ,.$options);.................bre
6d1a0 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 ak;.............case.$object.ins
6d1c0 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tanceof.Command:................
6d1e0 20 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,
6d200 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 .$options);.................brea
6d220 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 k;.............case.$object.inst
6d240 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 anceof.Application:.............
6d260 20 20 20 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 24 ....$this->describeApplication($
6d280 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 object,.$options);..............
6d2a0 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 ...break;.............default:..
6d2c0 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 49 6e 76 61 6c 69 64 ...............throw.new.Invalid
6d2e0 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 4f 62 6a 65 63 ArgumentException(sprintf('Objec
6d300 74 20 6f 66 20 74 79 70 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 73 63 72 69 62 61 62 6c t.of.type."%s".is.not.describabl
6d320 65 2e 27 2c 20 67 65 74 5f 63 6c 61 73 73 28 24 6f 62 6a 65 63 74 29 29 29 3b 0a 20 20 20 20 20 e.',.get_class($object)));......
6d340 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 57 72 69 74 65 ...}.....}....../**......*.Write
6d360 73 20 63 6f 6e 74 65 6e 74 20 74 6f 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 s.content.to.output.......*.....
6d380 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 2a .*.@param.string.$content......*
6d3a0 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 20 20 24 64 65 63 6f 72 61 74 65 64 0a 20 20 20 20 20 2a .@param.bool...$decorated......*
6d3c0 2f 0a 20 20 20 20 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 24 /.....protected.function.write($
6d3e0 63 6f 6e 74 65 6e 74 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 content,.$decorated.=.false)....
6d400 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 .{.........$this->output->write(
6d420 24 63 6f 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 $content,.false,.$decorated.?.Ou
6d440 74 70 75 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 tputInterface::OUTPUT_NORMAL.:.O
6d460 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 29 3b 0a 20 20 20 utputInterface::OUTPUT_RAW);....
6d480 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 73 63 72 69 62 65 73 20 61 6e 20 .}....../**......*.Describes.an.
6d4a0 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 20 2a 0a 20 InputArgument.instance.......*..
6d4c0 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 ....*.@param.InputArgument.$argu
6d4e0 6d 65 6e 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 20 20 20 20 ment......*.@param.array........
6d500 20 24 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 .$options......*......*.@return.
6d520 73 74 72 69 6e 67 7c 6d 69 78 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 61 62 73 74 72 61 63 string|mixed......*/.....abstrac
6d540 74 20 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 t.protected.function.describeInp
6d560 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 24 61 72 67 75 6d 65 utArgument(InputArgument.$argume
6d580 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 3b 0a 0a nt,.array.$options.=.array());..
6d5a0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 73 63 72 69 62 65 73 20 61 6e 20 49 6e 70 75 ..../**......*.Describes.an.Inpu
6d5c0 74 4f 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 tOption.instance.......*......*.
6d5e0 40 70 61 72 61 6d 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 0a 20 20 20 20 20 @param.InputOption.$option......
6d600 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 0a 20 20 *.@param.array.......$options...
6d620 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 6d 69 78 65 64 ...*......*.@return.string|mixed
6d640 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 ......*/.....abstract.protected.
6d660 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 70 function.describeInputOption(Inp
6d680 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 73 utOption.$option,.array.$options
6d6a0 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 73 .=.array());....../**......*.Des
6d6c0 63 72 69 62 65 73 20 61 6e 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 69 6e 73 74 61 6e cribes.an.InputDefinition.instan
6d6e0 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 49 6e 70 75 74 44 65 ce.......*......*.@param.InputDe
6d700 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 finition.$definition......*.@par
6d720 61 6d 20 61 72 72 61 79 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 0a 20 20 20 20 am.array...........$options.....
6d740 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 6d 69 78 65 64 0a 20 .*......*.@return.string|mixed..
6d760 20 20 20 20 2a 2f 0a 20 20 20 20 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 ....*/.....abstract.protected.fu
6d780 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 6e 28 49 nction.describeInputDefinition(I
6d7a0 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 72 72 61 nputDefinition.$definition,.arra
6d7c0 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a y.$options.=.array());....../**.
6d7e0 20 20 20 20 20 2a 20 44 65 73 63 72 69 62 65 73 20 61 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 .....*.Describes.a.Command.insta
6d800 6e 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 43 6f 6d 6d 61 6e nce.......*......*.@param.Comman
6d820 64 20 24 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 d.$command......*.@param.array..
6d840 20 24 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 .$options......*......*.@return.
6d860 73 74 72 69 6e 67 7c 6d 69 78 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 61 62 73 74 72 61 63 string|mixed......*/.....abstrac
6d880 74 20 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 t.protected.function.describeCom
6d8a0 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
6d8c0 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 tions.=.array());....../**......
6d8e0 2a 20 44 65 73 63 72 69 62 65 73 20 61 6e 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 *.Describes.an.Application.insta
6d900 6e 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 41 70 70 6c 69 63 nce.......*......*.@param.Applic
6d920 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d ation.$application......*.@param
6d940 20 61 72 72 61 79 20 20 20 20 20 20 20 24 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 .array.......$options......*....
6d960 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 6d 69 78 65 64 0a 20 20 20 20 20 2a 2f ..*.@return.string|mixed......*/
6d980 0a 20 20 20 20 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
6d9a0 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
6d9c0 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.=.
6d9e0 61 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 array());.}.<?php../*..*.This.fi
6da00 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 le.is.part.of.the.Symfony.packag
6da20 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 e...*..*.(c).Fabien.Potencier.<f
6da40 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 abien@symfony.com>..*..*.For.the
6da60 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 20 69 6e 66 6f .full.copyright.and.license.info
6da80 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 rmation,.please.view.the.LICENSE
6daa0 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 ..*.file.that.was.distributed.wi
6dac0 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 th.this.source.code...*/..namesp
6dae0 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 44 65 ace.Symfony\Component\Console\De
6db00 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 6e 74 scriptor;..use.Symfony\Component
6db20 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 66 6f 6e \Console\Application;.use.Symfon
6db40 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
6db60 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
6db80 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
6dba0 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
6dbc0 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 6d 70 6f 6e 65 tDefinition;.use.Symfony\Compone
6dbe0 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 0a 2f nt\Console\Input\InputOption;../
6dc00 2a 2a 0a 20 2a 20 4a 53 4f 4e 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 **..*.JSON.descriptor...*..*.@au
6dc20 74 68 6f 72 20 4a 65 61 6e 2d 46 72 61 6e c3 a7 6f 69 73 20 53 69 6d 6f 6e 20 3c 63 6f 6e 74 61 thor.Jean-Fran..ois.Simon.<conta
6dc40 63 74 40 6a 66 73 69 6d 6f 6e 2e 66 72 3e 0a 20 2a 0a 20 2a 20 40 69 6e 74 65 72 6e 61 6c 0a 20 ct@jfsimon.fr>..*..*.@internal..
6dc60 2a 2f 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 20 */.class.JsonDescriptor.extends.
6dc80 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e Descriptor.{...../**......*.{@in
6dca0 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 heritdoc}......*/.....protected.
6dcc0 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
6dce0 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
6dd00 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ptions.=.array()).....{.........
6dd20 24 74 68 69 73 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 $this->writeData($this->getInput
6dd40 41 72 67 75 6d 65 6e 74 44 61 74 61 28 24 61 72 67 75 6d 65 6e 74 29 2c 20 24 6f 70 74 69 6f 6e ArgumentData($argument),.$option
6dd60 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 s);.....}....../**......*.{@inhe
6dd80 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 ritdoc}......*/.....protected.fu
6dda0 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 70 75 74 nction.describeInputOption(Input
6ddc0 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 73 20 3d Option.$option,.array.$options.=
6dde0 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 .array()).....{.........$this->w
6de00 72 69 74 65 44 61 74 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 riteData($this->getInputOptionDa
6de20 74 61 28 24 6f 70 74 69 6f 6e 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 ta($option),.$options);.....}...
6de40 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 .../**......*.{@inheritdoc}.....
6de60 20 2a 2f 0a 20 20 20 20 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
6de80 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 ibeInputDefinition(InputDefiniti
6dea0 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d on.$definition,.array.$options.=
6dec0 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 .array()).....{.........$this->w
6dee0 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 69 74 69 riteData($this->getInputDefiniti
6df00 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 29 3b 0a onData($definition),.$options);.
6df20 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 ....}....../**......*.{@inheritd
6df40 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 oc}......*/.....protected.functi
6df60 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 64 20 24 63 6f 6d 6d on.describeCommand(Command.$comm
6df80 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 61 79 28 29 29 0a 20 and,.array.$options.=.array())..
6dfa0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 44 61 74 61 28 24 74 ...{.........$this->writeData($t
6dfc0 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 61 74 61 28 24 63 6f 6d 6d 61 6e 64 29 2c 20 24 his->getCommandData($command),.$
6dfe0 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 options);.....}....../**......*.
6e000 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 {@inheritdoc}......*/.....protec
6e020 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
6e040 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
6e060 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 .$options.=.array()).....{......
6e080 20 20 20 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 ...$describedNamespace.=.isset($
6e0a0 6f 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 options['namespace']).?.$options
6e0c0 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 64 ['namespace'].:.null;.........$d
6e0e0 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 escription.=.new.ApplicationDesc
6e100 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 ription($application,.$described
6e120 4e 61 6d 65 73 70 61 63 65 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 Namespace);.........$commands.=.
6e140 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 array();..........foreach.($desc
6e160 72 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 ription->getCommands().as.$comma
6e180 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 nd).{.............$commands[].=.
6e1a0 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 61 74 61 28 24 63 6f 6d 6d 61 6e 64 29 3b $this->getCommandData($command);
6e1c0 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 64 61 74 61 20 3d 20 24 64 65 73 .........}..........$data.=.$des
6e1e0 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3f 20 61 72 cribedNamespace.............?.ar
6e200 72 61 79 28 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 ray('commands'.=>.$commands,.'na
6e220 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 mespace'.=>.$describedNamespace)
6e240 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 61 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 73 27 20 .............:.array('commands'.
6e260 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 27 6e 61 6d 65 73 70 61 63 65 73 27 20 3d 3e 20 61 72 =>.$commands,.'namespaces'.=>.ar
6e280 72 61 79 5f 76 61 6c 75 65 73 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 ray_values($description->getName
6e2a0 73 70 61 63 65 73 28 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 spaces()));..........$this->writ
6e2c0 65 44 61 74 61 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 eData($data,.$options);.....}...
6e2e0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 57 72 69 74 65 73 20 64 61 74 61 20 61 73 20 6a 73 6f .../**......*.Writes.data.as.jso
6e300 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 64 n.......*......*.@param.array.$d
6e320 61 74 61 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 ata......*.@param.array.$options
6e340 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 7c 73 74 72 ......*......*.@return.array|str
6e360 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ing......*/.....private.function
6e380 20 77 72 69 74 65 44 61 74 61 28 61 72 72 61 79 20 24 64 61 74 61 2c 20 61 72 72 61 79 20 24 6f .writeData(array.$data,.array.$o
6e3a0 70 74 69 6f 6e 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 ptions).....{.........$this->wri
6e3c0 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 65 74 28 24 6f 70 74 te(json_encode($data,.isset($opt
6e3e0 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 24 6f 70 74 69 6f 6e ions['json_encoding']).?.$option
6e400 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 0a 20 20 20 20 7d 0a s['json_encoding'].:.0));.....}.
6e420 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 41 72 67 75 ...../**......*.@param.InputArgu
6e440 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 ment.$argument......*......*.@re
6e460 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 turn.array......*/.....private.f
6e480 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 61 74 61 28 49 6e 70 unction.getInputArgumentData(Inp
6e4a0 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 utArgument.$argument).....{.....
6e4c0 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6e ....return.array(.............'n
6e4e0 61 6d 65 27 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 20 20 ame'.=>.$argument->getName(),...
6e500 20 20 20 20 20 20 20 20 20 20 27 69 73 5f 72 65 71 75 69 72 65 64 27 20 3d 3e 20 24 61 72 67 75 ..........'is_required'.=>.$argu
6e520 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ment->isRequired(),.............
6e540 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
6e560 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e (),.............'description'.=>
6e580 20 70 72 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 .preg_replace('/\s*[\r\n]\s*/',.
6e5a0 27 20 27 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 '.',.$argument->getDescription()
6e5c0 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 24 61 72 67 ),.............'default'.=>.$arg
6e5e0 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a ument->getDefault(),.........);.
6e600 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 49 6e 70 ....}....../**......*.@param.Inp
6e620 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 utOption.$option......*......*.@
6e640 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 return.array......*/.....private
6e660 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 61 74 61 28 49 6e 70 .function.getInputOptionData(Inp
6e680 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 utOption.$option).....{.........
6e6a0 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 61 6d 65 27 return.array(.............'name'
6e6c0 20 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 20 20 20 .=>.'--'.$option->getName(),....
6e6e0 20 20 20 20 20 20 20 20 20 27 73 68 6f 72 74 63 75 74 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e .........'shortcut'.=>.$option->
6e700 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 27 2d 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 2d 27 getShortcut().?.'-'.implode('|-'
6e720 2c 20 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 68 6f 72 74 ,.explode('|',.$option->getShort
6e740 63 75 74 28 29 29 29 20 3a 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 61 63 63 65 70 cut())).:.'',.............'accep
6e760 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 75 65 t_value'.=>.$option->acceptValue
6e780 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 69 73 5f 76 61 6c 75 65 5f 72 65 71 75 69 72 (),.............'is_value_requir
6e7a0 65 64 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 ed'.=>.$option->isValueRequired(
6e7c0 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 69 73 5f 6d 75 6c 74 69 70 6c 65 27 20 3d 3e 20 ),.............'is_multiple'.=>.
6e7e0 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 $option->isArray(),.............
6e800 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 65 28 27 2f 'description'.=>.preg_replace('/
6e820 5c 73 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 \s*[\r\n]\s*/',.'.',.$option->ge
6e840 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 tDescription()),.............'de
6e860 66 61 75 6c 74 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c fault'.=>.$option->getDefault(),
6e880 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 .........);.....}....../**......
6e8a0 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 *.@param.InputDefinition.$defini
6e8c0 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 tion......*......*.@return.array
6e8e0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 ......*/.....private.function.ge
6e900 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 61 74 61 28 49 6e 70 75 74 44 65 66 69 6e 69 tInputDefinitionData(InputDefini
6e920 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 tion.$definition).....{.........
6e940 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 $inputArguments.=.array();......
6e960 20 20 20 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 72 67 75 ...foreach.($definition->getArgu
6e980 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 29 20 7b ments().as.$name.=>.$argument).{
6e9a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 5b 24 6e 61 .............$inputArguments[$na
6e9c0 6d 65 5d 20 3d 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 61 74 me].=.$this->getInputArgumentDat
6e9e0 61 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 a($argument);.........}.........
6ea00 20 24 69 6e 70 75 74 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 .$inputOptions.=.array();.......
6ea20 20 20 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 ..foreach.($definition->getOptio
6ea40 6e 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 20 20 20 20 ns().as.$name.=>.$option).{.....
6ea60 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 4f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 ........$inputOptions[$name].=.$
6ea80 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 69 6f 6e this->getInputOptionData($option
6eaa0 29 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 20 61 72 72 );.........}..........return.arr
6eac0 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 65 6e 74 ay('arguments'.=>.$inputArgument
6eae0 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 29 3b 0a s,.'options'.=>.$inputOptions);.
6eb00 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 43 6f 6d ....}....../**......*.@param.Com
6eb20 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 mand.$command......*......*.@ret
6eb40 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 urn.array......*/.....private.fu
6eb60 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 44 61 74 61 28 43 6f 6d 6d 61 6e 64 20 24 63 nction.getCommandData(Command.$c
6eb80 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 2d 3e ommand).....{.........$command->
6eba0 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 2d getSynopsis();.........$command-
6ebc0 3e 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 >mergeApplicationDefinition(fals
6ebe0 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 20 20 20 20 20 e);..........return.array(......
6ec00 20 20 20 20 20 20 20 27 6e 61 6d 65 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 .......'name'.=>.$command->getNa
6ec20 6d 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 75 73 61 67 65 27 20 3d 3e 20 61 72 72 me(),.............'usage'.=>.arr
6ec40 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 79 6e 6f ay_merge(array($command->getSyno
6ec60 70 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 psis()),.$command->getUsages(),.
6ec80 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 29 2c 0a 20 20 20 20 20 20 20 $command->getAliases()),........
6eca0 20 20 20 20 20 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e .....'description'.=>.$command->
6ecc0 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 68 getDescription(),.............'h
6ece0 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 65 73 73 65 64 48 65 elp'.=>.$command->getProcessedHe
6ed00 6c 70 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 66 69 6e 69 74 69 6f 6e 27 20 3d lp(),.............'definition'.=
6ed20 3e 20 24 74 68 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 >.$this->getInputDefinitionData(
6ed40 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 29 29 $command->getNativeDefinition())
6ed60 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 ,.........);.....}.}.<?php../*..
6ed80 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f *.This.file.is.part.of.the.Symfo
6eda0 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 ny.package...*..*.(c).Fabien.Pot
6edc0 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 encier.<fabien@symfony.com>..*..
6ede0 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 63 *.For.the.full.copyright.and.lic
6ee00 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 68 ense.information,.please.view.th
6ee20 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 72 e.LICENSE..*.file.that.was.distr
6ee40 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 2a ibuted.with.this.source.code...*
6ee60 2f 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 /..namespace.Symfony\Component\C
6ee80 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 6e 79 5c onsole\Descriptor;..use.Symfony\
6eea0 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 3b 0a 75 Component\Console\Application;.u
6eec0 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
6eee0 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 70 6f 6e mand\Command;.use.Symfony\Compon
6ef00 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 6e 74 3b ent\Console\Input\InputArgument;
6ef20 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
6ef40 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 66 6f 6e nput\InputDefinition;.use.Symfon
6ef60 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 4f y\Component\Console\Input\InputO
6ef80 70 74 69 6f 6e 3b 0a 0a 2f 2a 2a 0a 20 2a 20 58 4d 4c 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 ption;../**..*.XML.descriptor...
6efa0 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 65 61 6e 2d 46 72 61 6e c3 a7 6f 69 73 20 53 69 6d 6f *..*.@author.Jean-Fran..ois.Simo
6efc0 6e 20 3c 63 6f 6e 74 61 63 74 40 6a 66 73 69 6d 6f 6e 2e 66 72 3e 0a 20 2a 0a 20 2a 20 40 69 6e n.<contact@jfsimon.fr>..*..*.@in
6efe0 74 65 72 6e 61 6c 0a 20 2a 2f 0a 63 6c 61 73 73 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 20 65 ternal..*/.class.XmlDescriptor.e
6f000 78 74 65 6e 64 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 xtends.Descriptor.{...../**.....
6f020 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e .*.@param.InputDefinition.$defin
6f040 69 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 5c 44 4f 4d ition......*......*.@return.\DOM
6f060 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 Document......*/.....public.func
6f080 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 tion.getInputDefinitionDocument(
6f0a0 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 29 0a 20 20 20 InputDefinition.$definition)....
6f0c0 20 7b 0a 20 20 20 20 20 20 20 20 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 .{.........$dom.=.new.\DOMDocume
6f0e0 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 20 20 20 20 20 20 20 20 24 64 6f 6d nt('1.0',.'UTF-8');.........$dom
6f100 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 20 3d 20 24 ->appendChild($definitionXML.=.$
6f120 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 69 6e 69 74 69 6f 6e 27 29 dom->createElement('definition')
6f140 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 );..........$definitionXML->appe
6f160 6e 64 43 68 69 6c 64 28 24 61 72 67 75 6d 65 6e 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 ndChild($argumentsXML.=.$dom->cr
6f180 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 61 72 67 75 6d 65 6e 74 73 27 29 29 3b 0a 20 20 20 20 20 eateElement('arguments'));......
6f1a0 20 20 20 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 72 67 75 ...foreach.($definition->getArgu
6f1c0 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 ments().as.$argument).{.........
6f1e0 20 20 20 20 24 74 68 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 ....$this->appendDocument($argum
6f200 65 6e 74 73 58 4d 4c 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 entsXML,.$this->getInputArgument
6f220 44 6f 63 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a Document($argument));.........}.
6f240 0a 20 20 20 20 20 20 20 20 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 .........$definitionXML->appendC
6f260 68 69 6c 64 28 24 6f 70 74 69 6f 6e 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 hild($optionsXML.=.$dom->createE
6f280 6c 65 6d 65 6e 74 28 27 6f 70 74 69 6f 6e 73 27 29 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 lement('options'));.........fore
6f2a0 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 61 ach.($definition->getOptions().a
6f2c0 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e s.$option).{.............$this->
6f2e0 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 69 6f 6e 73 58 4d 4c 2c 20 24 74 68 69 appendDocument($optionsXML,.$thi
6f300 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 69 6f s->getInputOptionDocument($optio
6f320 6e 29 29 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 20 24 n));.........}..........return.$
6f340 64 6f 6d 3b 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 dom;.....}....../**......*.@para
6f360 6d 20 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a m.Command.$command......*......*
6f380 20 40 72 65 74 75 72 6e 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 .@return.\DOMDocument......*/...
6f3a0 20 20 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 44 6f 63 75 ..public.function.getCommandDocu
6f3c0 6d 65 6e 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 7b 0a 20 20 20 ment(Command.$command).....{....
6f3e0 20 20 20 20 20 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 31 2e .....$dom.=.new.\DOMDocument('1.
6f400 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 20 20 20 20 20 20 20 20 24 64 6f 6d 2d 3e 61 70 70 65 0',.'UTF-8');.........$dom->appe
6f420 6e 64 43 68 69 6c 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 ndChild($commandXML.=.$dom->crea
6f440 74 65 45 6c 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 teElement('command'));..........
6f460 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 20 20 20 20 20 20 20 $command->getSynopsis();........
6f480 20 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 69 6e .$command->mergeApplicationDefin
6f4a0 69 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 58 ition(false);..........$commandX
6f4c0 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 64 2d ML->setAttribute('id',.$command-
6f4e0 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 58 4d 4c >getName());.........$commandXML
6f500 2d 3e 73 65 74 41 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 ->setAttribute('name',.$command-
6f520 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 58 4d >getName());..........$commandXM
6f540 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 75 73 61 67 65 73 58 4d 4c 20 3d 20 24 64 6f 6d L->appendChild($usagesXML.=.$dom
6f560 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 75 73 61 67 65 73 27 29 29 3b 0a 0a 20 20 20 ->createElement('usages'));.....
6f580 20 20 20 20 20 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 .....foreach.(array_merge(array(
6f5a0 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 $command->getSynopsis()),.$comma
6f5c0 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 nd->getAliases(),.$command->getU
6f5e0 73 61 67 65 73 28 29 29 20 61 73 20 24 75 73 61 67 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 sages()).as.$usage).{...........
6f600 20 20 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 ..$usagesXML->appendChild($dom->
6f620 63 72 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 createElement('usage',.$usage));
6f640 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d .........}..........$commandXML-
6f660 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 58 4d 4c 20 3d 20 24 >appendChild($descriptionXML.=.$
6f680 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 69 70 74 69 6f 6e 27 dom->createElement('description'
6f6a0 29 29 3b 0a 20 20 20 20 20 20 20 20 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 ));.........$descriptionXML->app
6f6c0 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 6f 64 65 28 73 74 endChild($dom->createTextNode(st
6f6e0 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 6d 6d 61 6e 64 2d r_replace("\n",."\n.",.$command-
6f700 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 >getDescription())));..........$
6f720 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 68 65 6c 70 58 4d 4c commandXML->appendChild($helpXML
6f740 20 3d 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 .=.$dom->createElement('help'));
6f760 0a 20 20 20 20 20 20 20 20 24 68 65 6c 70 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 .........$helpXML->appendChild($
6f780 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 dom->createTextNode(str_replace(
6f7a0 22 5c 6e 22 2c 20 22 5c 6e 20 22 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 6f 63 65 73 "\n",."\n.",.$command->getProces
6f7c0 73 65 64 48 65 6c 70 28 29 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 64 65 66 69 6e 69 74 69 sedHelp())));..........$definiti
6f7e0 6f 6e 58 4d 4c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f onXML.=.$this->getInputDefinitio
6f800 6e 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 nDocument($command->getNativeDef
6f820 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 70 70 65 6e inition());.........$this->appen
6f840 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 66 69 6e 69 74 69 dDocument($commandXML,.$definiti
6f860 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 65 28 27 64 65 66 onXML->getElementsByTagName('def
6f880 69 6e 69 74 69 6f 6e 27 29 2d 3e 69 74 65 6d 28 30 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 inition')->item(0));..........re
6f8a0 74 75 72 6e 20 24 64 6f 6d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a turn.$dom;.....}....../**......*
6f8c0 20 40 70 61 72 61 6d 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e .@param.Application.$application
6f8e0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 6e 61 6d 65 ......*.@param.string|null.$name
6f900 73 70 61 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 5c 44 4f 4d space......*......*.@return.\DOM
6f920 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 Document......*/.....public.func
6f940 74 69 6f 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 tion.getApplicationDocument(Appl
6f960 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 73 70 61 63 65 ication.$application,.$namespace
6f980 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 64 6f 6d 20 3d 20 6e 65 .=.null).....{.........$dom.=.ne
6f9a0 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 27 29 3b 0a w.\DOMDocument('1.0',.'UTF-8');.
6f9c0 20 20 20 20 20 20 20 20 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 72 6f 6f 74 58 ........$dom->appendChild($rootX
6f9e0 6d 6c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 73 79 6d 66 6f 6e ml.=.$dom->createElement('symfon
6fa00 79 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d y'));..........if.($application-
6fa20 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 3d 20 27 55 4e 4b 4e 4f 57 4e 27 29 20 7b 0a 20 20 20 20 >getName().!==.'UNKNOWN').{.....
6fa40 20 20 20 20 20 20 20 20 24 72 6f 6f 74 58 6d 6c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 ........$rootXml->setAttribute('
6fa60 6e 61 6d 65 27 2c 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 3b name',.$application->getName());
6fa80 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 .............if.($application->g
6faa0 65 74 56 65 72 73 69 6f 6e 28 29 20 21 3d 3d 20 27 55 4e 4b 4e 4f 57 4e 27 29 20 7b 0a 20 20 20 etVersion().!==.'UNKNOWN').{....
6fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 6f 74 58 6d 6c 2d 3e 73 65 74 41 74 74 72 69 62 .............$rootXml->setAttrib
6fae0 75 74 65 28 27 76 65 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 ute('version',.$application->get
6fb00 56 65 72 73 69 6f 6e 28 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 Version());.............}.......
6fb20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 72 6f 6f 74 58 6d 6c 2d 3e 61 70 70 65 6e 64 43 68 69 ..}..........$rootXml->appendChi
6fb40 6c 64 28 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 ld($commandsXML.=.$dom->createEl
6fb60 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 73 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 64 65 ement('commands'));..........$de
6fb80 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 scription.=.new.ApplicationDescr
6fba0 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 iption($application,.$namespace)
6fbc0 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 20 20 20 ;..........if.($namespace).{....
6fbe0 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 73 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 .........$commandsXML->setAttrib
6fc00 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 20 20 ute('namespace',.$namespace);...
6fc20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 ......}..........foreach.($descr
6fc40 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
6fc60 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f d).{.............$this->appendDo
6fc80 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 3e 67 65 74 43 cument($commandsXML,.$this->getC
6fca0 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 20 20 20 20 20 ommandDocument($command));......
6fcc0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 6e 61 6d 65 73 70 61 63 65 29 20 7b ...}..........if.(!$namespace).{
6fce0 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 6f 6f 74 58 6d 6c 2d 3e 61 70 70 65 6e 64 43 68 69 .............$rootXml->appendChi
6fd00 6c 64 28 24 6e 61 6d 65 73 70 61 63 65 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 ld($namespacesXML.=.$dom->create
6fd20 45 6c 65 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 73 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 Element('namespaces'));.........
6fd40 20 20 20 20 20 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 .....foreach.($description->getN
6fd60 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 44 65 73 63 72 69 70 amespaces().as.$namespaceDescrip
6fd80 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 tion).{.................$namespa
6fda0 63 65 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6e 61 6d 65 73 70 61 63 65 41 72 cesXML->appendChild($namespaceAr
6fdc0 72 61 79 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 6e 61 rayXML.=.$dom->createElement('na
6fde0 6d 65 73 70 61 63 65 27 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d mespace'));.................$nam
6fe00 65 73 70 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 espaceArrayXML->setAttribute('id
6fe20 27 2c 20 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 ',.$namespaceDescription['id']);
6fe40 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 ..................foreach.($name
6fe60 73 70 61 63 65 44 65 73 63 72 69 70 74 69 6f 6e 5b 27 63 6f 6d 6d 61 6e 64 73 27 5d 20 61 73 20 spaceDescription['commands'].as.
6fe80 24 6e 61 6d 65 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 6e 61 $name).{.....................$na
6fea0 6d 65 73 70 61 63 65 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 mespaceArrayXML->appendChild($co
6fec0 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 65 6e 74 28 27 mmandXML.=.$dom->createElement('
6fee0 63 6f 6d 6d 61 6e 64 27 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 command'));.....................
6ff00 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 6f 6d 2d 3e 63 $commandXML->appendChild($dom->c
6ff20 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 reateTextNode($name));..........
6ff40 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 7d .......}.............}.........}
6ff60 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 20 20 20 20 7d 0a 0a 20 20 ..........return.$dom;.....}....
6ff80 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 ../**......*.{@inheritdoc}......
6ffa0 2a 2f 0a 20 20 20 20 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
6ffc0 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 24 61 beInputArgument(InputArgument.$a
6ffe0 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 79 28 rgument,.array.$options.=.array(
70000 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 )).....{.........$this->writeDoc
70020 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 44 6f 63 ument($this->getInputArgumentDoc
70040 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a ument($argument));.....}....../*
70060 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 *......*.{@inheritdoc}......*/..
70080 20 20 20 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 ...protected.function.describeIn
700a0 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 6e 2c 20 61 putOption(InputOption.$option,.a
700c0 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 20 20 20 20 7b 0a 20 rray.$options.=.array()).....{..
700e0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 .......$this->writeDocument($thi
70100 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 69 6f s->getInputOptionDocument($optio
70120 6e 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 n));.....}....../**......*.{@inh
70140 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 eritdoc}......*/.....protected.f
70160 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 6e 28 unction.describeInputDefinition(
70180 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 72 72 InputDefinition.$definition,.arr
701a0 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 ay.$options.=.array()).....{....
701c0 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d .....$this->writeDocument($this-
701e0 3e 67 65 74 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 64 65 66 >getInputDefinitionDocument($def
70200 69 6e 69 74 69 6f 6e 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a inition));.....}....../**......*
70220 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 .{@inheritdoc}......*/.....prote
70240 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 6d 61 6e 64 28 43 6f cted.function.describeCommand(Co
70260 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 74 69 6f 6e 73 20 3d mmand.$command,.array.$options.=
70280 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 .array()).....{.........$this->w
702a0 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 6f riteDocument($this->getCommandDo
702c0 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a cument($command));.....}....../*
702e0 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 *......*.{@inheritdoc}......*/..
70300 20 20 20 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 70 ...protected.function.describeAp
70320 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 69 plication(Application.$applicati
70340 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 20 20 on,.array.$options.=.array())...
70360 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 ..{.........$this->writeDocument
70380 28 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 ($this->getApplicationDocument($
703a0 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d application,.isset($options['nam
703c0 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 63 65 27 espace']).?.$options['namespace'
703e0 5d 20 3a 20 6e 75 6c 6c 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 ].:.null));.....}....../**......
70400 2a 20 41 70 70 65 6e 64 73 20 64 6f 63 75 6d 65 6e 74 20 63 68 69 6c 64 72 65 6e 20 74 6f 20 70 *.Appends.document.children.to.p
70420 61 72 65 6e 74 20 6e 6f 64 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d arent.node.......*......*.@param
70440 20 5c 44 4f 4d 4e 6f 64 65 20 24 70 61 72 65 6e 74 4e 6f 64 65 0a 20 20 20 20 20 2a 20 40 70 61 .\DOMNode.$parentNode......*.@pa
70460 72 61 6d 20 5c 44 4f 4d 4e 6f 64 65 20 24 69 6d 70 6f 72 74 65 64 50 61 72 65 6e 74 0a 20 20 20 ram.\DOMNode.$importedParent....
70480 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 ..*/.....private.function.append
704a0 44 6f 63 75 6d 65 6e 74 28 5c 44 4f 4d 4e 6f 64 65 20 24 70 61 72 65 6e 74 4e 6f 64 65 2c 20 5c Document(\DOMNode.$parentNode,.\
704c0 44 4f 4d 4e 6f 64 65 20 24 69 6d 70 6f 72 74 65 64 50 61 72 65 6e 74 29 0a 20 20 20 20 7b 0a 20 DOMNode.$importedParent).....{..
704e0 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 69 6d 70 6f 72 74 65 64 50 61 72 65 6e 74 2d .......foreach.($importedParent-
70500 3e 63 68 69 6c 64 4e 6f 64 65 73 20 61 73 20 24 63 68 69 6c 64 4e 6f 64 65 29 20 7b 0a 20 20 20 >childNodes.as.$childNode).{....
70520 20 20 20 20 20 20 20 20 20 24 70 61 72 65 6e 74 4e 6f 64 65 2d 3e 61 70 70 65 6e 64 43 68 69 6c .........$parentNode->appendChil
70540 64 28 24 70 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 d($parentNode->ownerDocument->im
70560 70 6f 72 74 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 20 20 20 portNode($childNode,.true));....
70580 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 57 72 69 .....}.....}....../**......*.Wri
705a0 74 65 73 20 44 4f 4d 20 64 6f 63 75 6d 65 6e 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 tes.DOM.document.......*......*.
705c0 40 70 61 72 61 6d 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 20 24 64 6f 6d 0a 20 20 20 20 20 2a 0a @param.\DOMDocument.$dom......*.
705e0 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 7c 73 74 72 69 .....*.@return.\DOMDocument|stri
70600 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ng......*/.....private.function.
70620 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 20 24 64 6f 6d 29 writeDocument(\DOMDocument.$dom)
70640 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 64 6f 6d 2d 3e 66 6f 72 6d 61 74 4f 75 74 70 75 .....{.........$dom->formatOutpu
70660 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 t.=.true;.........$this->write($
70680 64 6f 6d 2d 3e 73 61 76 65 58 4d 4c 28 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a dom->saveXML());.....}....../**.
706a0 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 .....*.@param.InputArgument.$arg
706c0 75 6d 65 6e 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 5c 44 4f 4d ument......*......*.@return.\DOM
706e0 44 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e Document......*/.....private.fun
70700 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 28 49 ction.getInputArgumentDocument(I
70720 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 7b 0a 20 20 nputArgument.$argument).....{...
70740 20 20 20 20 20 20 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 31 ......$dom.=.new.\DOMDocument('1
70760 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 64 6f 6d 2d 3e 61 70 .0',.'UTF-8');..........$dom->ap
70780 70 65 6e 64 43 68 69 6c 64 28 24 6f 62 6a 65 63 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 pendChild($objectXML.=.$dom->cre
707a0 61 74 65 45 6c 65 6d 65 6e 74 28 27 61 72 67 75 6d 65 6e 74 27 29 29 3b 0a 20 20 20 20 20 20 20 ateElement('argument'));........
707c0 20 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 6d 65 27 .$objectXML->setAttribute('name'
707e0 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 20 20 20 20 20 20 20 ,.$argument->getName());........
70800 20 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 5f 72 65 .$objectXML->setAttribute('is_re
70820 71 75 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 quired',.$argument->isRequired()
70840 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 .?.1.:.0);.........$objectXML->s
70860 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 5f 61 72 72 61 79 27 2c 20 24 61 72 67 75 6d 65 6e etAttribute('is_array',.$argumen
70880 74 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 24 t->isArray().?.1.:.0);.........$
708a0 6f 62 6a 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 objectXML->appendChild($descript
708c0 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 28 27 64 65 ionXML.=.$dom->createElement('de
708e0 73 63 72 69 70 74 69 6f 6e 27 29 29 3b 0a 20 20 20 20 20 20 20 20 24 64 65 73 63 72 69 70 74 69 scription'));.........$descripti
70900 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 72 65 61 74 65 54 onXML->appendChild($dom->createT
70920 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 72 69 70 74 69 6f extNode($argument->getDescriptio
70940 6e 28 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 n()));..........$objectXML->appe
70960 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 6f 6d 2d 3e 63 72 65 ndChild($defaultsXML.=.$dom->cre
70980 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 20 20 20 20 20 20 20 ateElement('defaults'));........
709a0 20 24 64 65 66 61 75 6c 74 73 20 3d 20 69 73 5f 61 72 72 61 79 28 24 61 72 67 75 6d 65 6e 74 2d .$defaults.=.is_array($argument-
709c0 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 >getDefault()).?.$argument->getD
709e0 65 66 61 75 6c 74 28 29 20 3a 20 28 69 73 5f 62 6f 6f 6c 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 efault().:.(is_bool($argument->g
70a00 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 61 72 72 61 79 28 76 61 72 5f 65 78 70 6f 72 74 28 etDefault()).?.array(var_export(
70a20 24 61 72 67 75 6d 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 20 $argument->getDefault(),.true)).
70a40 3a 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 61 72 72 :.($argument->getDefault().?.arr
70a60 61 79 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3a 20 61 72 ay($argument->getDefault()).:.ar
70a80 72 61 79 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 ray()));.........foreach.($defau
70aa0 6c 74 73 20 61 73 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 lts.as.$default).{.............$
70ac0 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 66 61 75 6c defaultsXML->appendChild($defaul
70ae0 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 64 65 66 61 tXML.=.$dom->createElement('defa
70b00 75 6c 74 27 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 58 4d 4c 2d ult'));.............$defaultXML-
70b20 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 6f 64 >appendChild($dom->createTextNod
70b40 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 e($default));.........}.........
70b60 20 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 .return.$dom;.....}....../**....
70b80 20 20 2a 20 40 70 61 72 61 6d 20 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 0a 20 ..*.@param.InputOption.$option..
70ba0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e ....*......*.@return.\DOMDocumen
70bc0 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 t......*/.....private.function.g
70be0 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 49 6e 70 75 74 4f 70 74 69 6f etInputOptionDocument(InputOptio
70c00 6e 20 24 6f 70 74 69 6f 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 64 6f 6d 20 3d 20 n.$option).....{.........$dom.=.
70c20 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 27 29 new.\DOMDocument('1.0',.'UTF-8')
70c40 3b 0a 0a 20 20 20 20 20 20 20 20 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6f 62 ;..........$dom->appendChild($ob
70c60 6a 65 63 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 6f jectXML.=.$dom->createElement('o
70c80 70 74 69 6f 6e 27 29 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 ption'));.........$objectXML->se
70ca0 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d tAttribute('name',.'--'.$option-
70cc0 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 20 20 20 20 20 20 20 20 24 70 6f 73 20 3d 20 73 74 72 70 >getName());.........$pos.=.strp
70ce0 6f 73 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2c 20 27 7c 27 29 3b os($option->getShortcut(),.'|');
70d00 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 20 .........if.(false.!==.$pos).{..
70d20 20 20 20 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 ...........$objectXML->setAttrib
70d40 75 74 65 28 27 73 68 6f 72 74 63 75 74 27 2c 20 27 2d 27 2e 73 75 62 73 74 72 28 24 6f 70 74 69 ute('shortcut',.'-'.substr($opti
70d60 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2c 20 30 2c 20 24 70 6f 73 29 29 3b 0a 20 20 on->getShortcut(),.0,.$pos));...
70d80 20 20 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 ..........$objectXML->setAttribu
70da0 74 65 28 27 73 68 6f 72 74 63 75 74 73 27 2c 20 27 2d 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 2d 27 te('shortcuts',.'-'.implode('|-'
70dc0 2c 20 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 68 6f 72 74 ,.explode('|',.$option->getShort
70de0 63 75 74 28 29 29 29 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 cut())));.........}.else.{......
70e00 20 20 20 20 20 20 20 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 .......$objectXML->setAttribute(
70e20 27 73 68 6f 72 74 63 75 74 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 'shortcut',.$option->getShortcut
70e40 28 29 20 3f 20 27 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 ().?.'-'.$option->getShortcut().
70e60 3a 20 27 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 :.'');.........}.........$object
70e80 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 27 XML->setAttribute('accept_value'
70ea0 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 30 ,.$option->acceptValue().?.1.:.0
70ec0 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 );.........$objectXML->setAttrib
70ee0 75 74 65 28 27 69 73 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 ute('is_value_required',.$option
70f00 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 ->isValueRequired().?.1.:.0);...
70f20 20 20 20 20 20 20 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 ......$objectXML->setAttribute('
70f40 69 73 5f 6d 75 6c 74 69 70 6c 65 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 is_multiple',.$option->isArray()
70f60 20 3f 20 31 20 3a 20 30 29 3b 0a 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 .?.1.:.0);.........$objectXML->a
70f80 70 70 65 6e 64 43 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 ppendChild($descriptionXML.=.$do
70fa0 6d 2d 3e 63 72 65 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 m->createElement('description'))
70fc0 3b 0a 20 20 20 20 20 20 20 20 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e ;.........$descriptionXML->appen
70fe0 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 74 dChild($dom->createTextNode($opt
71000 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 20 20 20 20 20 20 ion->getDescription()));........
71020 20 20 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()).{.
71040 20 20 20 20 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 73 20 3d 20 69 73 5f 61 72 72 61 79 ............$defaults.=.is_array
71060 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 24 6f 70 74 69 6f ($option->getDefault()).?.$optio
71080 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3a 20 28 69 73 5f 62 6f 6f 6c 28 24 6f 70 74 69 n->getDefault().:.(is_bool($opti
710a0 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 61 72 72 61 79 28 76 61 72 5f 65 78 on->getDefault()).?.array(var_ex
710c0 70 6f 72 74 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 port($option->getDefault(),.true
710e0 29 29 20 3a 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 61 72 )).:.($option->getDefault().?.ar
71100 72 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 3a 20 61 72 72 ray($option->getDefault()).:.arr
71120 61 79 28 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e ay()));.............$objectXML->
71140 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 6f 6d 2d appendChild($defaultsXML.=.$dom-
71160 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 0a 20 20 >createElement('defaults'));....
71180 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 64 65 66 61 75 6c 74 73 29 29 ..........if.(!empty($defaults))
711a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 66 .{.................foreach.($def
711c0 61 75 6c 74 73 20 61 73 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 aults.as.$default).{............
711e0 20 20 20 20 20 20 20 20 20 24 64 65 66 61 75 6c 74 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 .........$defaultsXML->appendChi
71200 6c 64 28 24 64 65 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 ld($defaultXML.=.$dom->createEle
71220 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 27 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ment('default'));...............
71240 20 20 20 20 20 20 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 ......$defaultXML->appendChild($
71260 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 6c 74 29 29 3b 0a dom->createTextNode($default));.
71280 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 ................}.............}.
712a0 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 20 24 64 6f 6d 3b 0a ........}..........return.$dom;.
712c0 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 ....}.}.<?php../*..*.This.file.i
712e0 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 s.part.of.the.Symfony.package...
71300 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 *..*.(c).Fabien.Potencier.<fabie
71320 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c n@symfony.com>..*..*.For.the.ful
71340 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 l.copyright.and.license.informat
71360 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 ion,.please.view.the.LICENSE..*.
71380 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 file.that.was.distributed.with.t
713a0 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 his.source.code...*/..namespace.
713c0 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
713e0 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 6f 6e ptor;..use.Symfony\Component\Con
71400 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 43 6f sole\Application;.use.Symfony\Co
71420 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 64 3b mponent\Console\Command\Command;
71440 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
71460 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 5c nput\InputArgument;.use.Symfony\
71480 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 65 66 Component\Console\Input\InputDef
714a0 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 5c 43 inition;.use.Symfony\Component\C
714c0 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 2f 2a 2a 0a 20 onsole\Input\InputOption;../**..
714e0 2a 20 4d 61 72 6b 64 6f 77 6e 20 64 65 73 63 72 69 70 74 6f 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 *.Markdown.descriptor...*..*.@au
71500 74 68 6f 72 20 4a 65 61 6e 2d 46 72 61 6e c3 a7 6f 69 73 20 53 69 6d 6f 6e 20 3c 63 6f 6e 74 61 thor.Jean-Fran..ois.Simon.<conta
71520 63 74 40 6a 66 73 69 6d 6f 6e 2e 66 72 3e 0a 20 2a 0a 20 2a 20 40 69 6e 74 65 72 6e 61 6c 0a 20 ct@jfsimon.fr>..*..*.@internal..
71540 2a 2f 0a 63 6c 61 73 73 20 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 65 */.class.MarkdownDescriptor.exte
71560 6e 64 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 nds.Descriptor.{...../**......*.
71580 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 {@inheritdoc}......*/.....protec
715a0 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 67 75 6d 65 ted.function.describeInputArgume
715c0 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 61 72 72 61 nt(InputArgument.$argument,.arra
715e0 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 y.$options.=.array()).....{.....
71600 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 2a ....$this->write(.............'*
71620 2a 27 2e 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 2a 2a 27 2e 22 5c *'.$argument->getName().':**'."\
71640 6e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 4e 61 6d 65 3a 20 27 2e 28 24 61 n\n"..............'*.Name:.'.($a
71660 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>').
71680 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 49 73 20 72 65 71 75 69 72 65 64 "\n"..............'*.Is.required
716a0 3a 20 27 2e 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 3f 20 27 :.'.($argument->isRequired().?.'
716c0 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 yes'.:.'no')."\n"..............'
716e0 2a 20 49 73 20 61 72 72 61 79 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 *.Is.array:.'.($argument->isArra
71700 79 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 y().?.'yes'.:.'no')."\n"........
71720 20 20 20 20 20 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 ......'*.Description:.'.preg_rep
71740 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 20 20 22 2c 20 24 lace('/\s*[\r\n]\s*/',."\n..",.$
71760 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 20 3f 3a 20 27 3c argument->getDescription().?:.'<
71780 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 44 65 66 none>')."\n"..............'*.Def
717a0 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 27 2c 20 76 ault:.`'.str_replace("\n",.'',.v
717c0 61 72 5f 65 78 70 6f 72 74 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 ar_export($argument->getDefault(
717e0 29 2c 20 74 72 75 65 29 29 2e 27 60 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a ),.true)).'`'.........);.....}..
71800 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 ..../**......*.{@inheritdoc}....
71820 20 20 2a 2f 0a 20 20 20 20 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
71840 72 69 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 ribeInputOption(InputOption.$opt
71860 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 20 ion,.array.$options.=.array())..
71880 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 20 20 20 20 20 ...{.........$this->write(......
718a0 20 20 20 20 20 20 20 27 2a 2a 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 .......'**'.$option->getName().'
718c0 3a 2a 2a 27 2e 22 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 4e 61 6d 65 :**'."\n\n"..............'*.Name
718e0 3a 20 60 2d 2d 27 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 :.`--'.$option->getName().'`'."\
71900 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 53 68 6f 72 74 63 75 74 3a 20 27 2e 28 n"..............'*.Shortcut:.'.(
71920 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 27 60 2d 27 2e 69 6d $option->getShortcut().?.'`-'.im
71940 70 6c 6f 64 65 28 27 7c 2d 27 2c 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6f 70 74 69 6f 6e plode('|-',.explode('|',.$option
71960 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 29 2e 27 60 27 20 3a 20 27 3c 6e 6f 6e 65 3e 27 ->getShortcut())).'`'.:.'<none>'
71980 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 41 63 63 65 70 74 20 76 61 )."\n"..............'*.Accept.va
719a0 6c 75 65 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 lue:.'.($option->acceptValue().?
719c0 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 .'yes'.:.'no')."\n".............
719e0 2e 27 2a 20 49 73 20 76 61 6c 75 65 20 72 65 71 75 69 72 65 64 3a 20 27 2e 28 24 6f 70 74 69 6f .'*.Is.value.required:.'.($optio
71a00 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 n->isValueRequired().?.'yes'.:.'
71a20 6e 6f 27 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 49 73 20 6d 75 6c no')."\n"..............'*.Is.mul
71a40 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 29 20 3f 20 27 tiple:.'.($option->isArray().?.'
71a60 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 yes'.:.'no')."\n"..............'
71a80 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 28 27 2f *.Description:.'.preg_replace('/
71aa0 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 6f 70 74 69 6f 6e 2d \s*[\r\n]\s*/',."\n..",.$option-
71ac0 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 3e 27 29 2e 22 >getDescription().?:.'<none>')."
71ae0 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 44 65 66 61 75 6c 74 3a 20 60 27 2e \n"..............'*.Default:.`'.
71b00 73 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 str_replace("\n",.'',.var_export
71b20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 29 29 2e 27 ($option->getDefault(),.true)).'
71b40 60 27 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 `'.........);.....}....../**....
71b60 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 ..*.{@inheritdoc}......*/.....pr
71b80 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 44 65 otected.function.describeInputDe
71ba0 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 6e 69 finition(InputDefinition.$defini
71bc0 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 29 0a tion,.array.$options.=.array()).
71be0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 73 68 6f 77 41 72 67 75 6d 65 6e 74 73 ....{.........if.($showArguments
71c00 20 3d 20 63 6f 75 6e 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e .=.count($definition->getArgumen
71c20 74 73 28 29 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ts()).>.0).{.............$this->
71c40 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 20 20 20 20 20 20 20 write('###.Arguments:');........
71c60 20 20 20 20 20 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 72 .....foreach.($definition->getAr
71c80 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 20 20 20 20 20 20 guments().as.$argument).{.......
71ca0 20 20 20 20 20 20 20 20 20 20 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");.
71cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 ................$this->write($th
71ce0 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 6d is->describeInputArgument($argum
71d00 65 6e 74 29 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 7d 0a 0a ent));.............}.........}..
71d20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 ........if.(count($definition->g
71d40 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 etOptions()).>.0).{.............
71d60 69 66 20 28 24 73 68 6f 77 41 72 67 75 6d 65 6e 74 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 if.($showArguments).{...........
71d80 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 20 20 20 20 ......$this->write("\n\n");.....
71da0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 ........}..............$this->wr
71dc0 69 74 65 28 27 23 23 23 20 4f 70 74 69 6f 6e 73 3a 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ite('###.Options:');............
71de0 20 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
71e00 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s().as.$option).{...............
71e20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 ..$this->write("\n\n");.........
71e40 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 64 65 73 63 ........$this->write($this->desc
71e60 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 20 20 20 20 20 ribeInputOption($option));......
71e80 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a .......}.........}.....}....../*
71ea0 2a 0a 20 20 20 20 20 2a 20 7b 40 69 6e 68 65 72 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 *......*.{@inheritdoc}......*/..
71ec0 20 20 20 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 ...protected.function.describeCo
71ee0 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 61 79 20 24 6f mmand(Command.$command,.array.$o
71f00 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ptions.=.array()).....{.........
71f20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 20 20 20 20 20 20 20 $command->getSynopsis();........
71f40 20 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 69 6e .$command->mergeApplicationDefin
71f60 69 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 ition(false);..........$this->wr
71f80 69 74 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 ite(.............$command->getNa
71fa0 6d 65 28 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 74 72 5f 72 65 70 65 61 me()."\n"..............str_repea
71fc0 74 28 27 2d 27 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 t('-',.strlen($command->getName(
71fe0 29 29 29 2e 22 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 2a 20 44 65 73 63 72 )))."\n\n"..............'*.Descr
72000 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 65 73 63 72 69 70 74 iption:.'.($command->getDescript
72020 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 20 20 20 20 20 20 20 20 ion().?:.'<none>')."\n".........
72040 20 20 20 20 2e 27 2a 20 55 73 61 67 65 3a 27 2e 22 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 .....'*.Usage:'."\n\n"..........
72060 20 20 20 2e 61 72 72 61 79 5f 72 65 64 75 63 65 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 ....array_reduce(array_merge(arr
72080 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 29 29 2c 20 24 63 6f ay($command->getSynopsis()),.$co
720a0 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 61 6e 64 2d 3e 67 mmand->getAliases(),.$command->g
720c0 65 74 55 73 61 67 65 73 28 29 29 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 63 61 72 72 79 2c 20 24 etUsages()),.function.($carry,.$
720e0 75 73 61 67 65 29 20 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 usage).{.................return.
72100 24 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 $carry.'..*.`'.$usage.'`'."\n";.
72120 20 20 20 20 20 20 20 20 20 20 20 20 7d 29 0a 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 ............}).........);.......
72140 20 20 20 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 72 6f 63 ...if.($help.=.$command->getProc
72160 65 73 73 65 64 48 65 6c 70 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 essedHelp()).{.............$this
72180 2d 3e 77 72 69 74 65 28 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 ->write("\n");.............$this
721a0 2d 3e 77 72 69 74 65 28 24 68 65 6c 70 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ->write($help);.........}.......
721c0 20 20 20 69 66 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 ...if.($command->getNativeDefini
721e0 74 69 6f 6e 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 tion()).{.............$this->wri
72200 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 te("\n\n");.............$this->d
72220 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 6e 64 2d escribeInputDefinition($command-
72240 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 20 20 20 20 20 20 20 >getNativeDefinition());........
72260 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 7b 40 69 6e 68 65 72 .}.....}....../**......*.{@inher
72280 69 74 64 6f 63 7d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e itdoc}......*/.....protected.fun
722a0 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 28 41 70 70 6c 69 63 ction.describeApplication(Applic
722c0 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 20 24 6f 70 74 69 6f ation.$application,.array.$optio
722e0 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 64 65 73 ns.=.array()).....{.........$des
72300 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 74 69 6f 6e 73 cribedNamespace.=.isset($options
72320 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 6e 61 6d 65 73 ['namespace']).?.$options['names
72340 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 20 20 20 24 64 65 73 63 72 69 70 74 pace'].:.null;.........$descript
72360 69 6f 6e 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 ion.=.new.ApplicationDescription
72380 28 24 61 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 ($application,.$describedNamespa
723a0 63 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 61 70 70 6c ce);..........$this->write($appl
723c0 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 ication->getName()."\n".str_repe
723e0 61 74 28 27 3d 27 2c 20 73 74 72 6c 65 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 at('=',.strlen($application->get
72400 4e 61 6d 65 28 29 29 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 65 Name())));..........foreach.($de
72420 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 61 73 20 24 6e scription->getNamespaces().as.$n
72440 61 6d 65 73 70 61 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 41 70 70 6c amespace).{.............if.(Appl
72460 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 3a 3a 47 4c 4f 42 41 4c 5f 4e 41 4d 45 53 icationDescription::GLOBAL_NAMES
72480 50 41 43 45 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 29 20 7b 0a 20 20 20 PACE.!==.$namespace['id']).{....
724a0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 .............$this->write("\n\n"
724c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 );.................$this->write(
724e0 27 2a 2a 27 2e 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 2e 27 3a 2a 2a 27 29 3b 0a 20 20 '**'.$namespace['id'].':**');...
72500 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e ..........}..............$this->
72520 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 write("\n\n");.............$this
72540 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 5f 6d 61 70 28 ->write(implode("\n",.array_map(
72560 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 20 20 20 20 20 20 function.($commandName).{.......
72580 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 2a 20 27 2e 24 63 6f 6d 6d 61 6e 64 4e 61 ..........return.'*.'.$commandNa
725a0 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 20 24 6e 61 6d 65 73 70 61 63 65 5b 27 63 me;.............},.$namespace['c
725c0 6f 6d 6d 61 6e 64 73 27 5d 29 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ommands'])));.........}.........
725e0 20 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 61 .foreach.($description->getComma
72600 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 nds().as.$command).{............
72620 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 .$this->write("\n\n");..........
72640 20 20 20 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 43 ...$this->write($this->describeC
72660 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ommand($command));.........}....
72680 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 .}.}.<?php../*..*.This.file.is.p
726a0 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 art.of.the.Symfony.package...*..
726c0 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 *.(c).Fabien.Potencier.<fabien@s
726e0 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 ymfony.com>..*..*.For.the.full.c
72700 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e opyright.and.license.information
72720 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c ,.please.view.the.LICENSE..*.fil
72740 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 e.that.was.distributed.with.this
72760 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .source.code...*/..namespace.Sym
72780 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 6f fony\Component\Console\Descripto
727a0 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 6c r;..use.Symfony\Component\Consol
727c0 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 6f e\Application;.use.Symfony\Compo
727e0 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 73 nent\Console\Command\Command;.us
72800 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
72820 70 74 69 6f 6e 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 ption\CommandNotFoundException;.
72840 0a 2f 2a 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 65 61 6e 2d 46 72 61 6e c3 a7 6f 69 73 20 53 ./**..*.@author.Jean-Fran..ois.S
72860 69 6d 6f 6e 20 3c 6a 65 61 6e 66 72 61 6e 63 6f 69 73 2e 73 69 6d 6f 6e 40 73 65 6e 73 69 6f 6c imon.<jeanfrancois.simon@sensiol
72880 61 62 73 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 40 69 6e 74 65 72 6e 61 6c 0a 20 2a 2f 0a 63 6c 61 abs.com>..*..*.@internal..*/.cla
728a0 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 0a 7b 0a 20 20 20 20 ss.ApplicationDescription.{.....
728c0 63 6f 6e 73 74 20 47 4c 4f 42 41 4c 5f 4e 41 4d 45 53 50 41 43 45 20 3d 20 27 5f 67 6c 6f 62 61 const.GLOBAL_NAMESPACE.=.'_globa
728e0 6c 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 41 70 70 6c 69 63 61 l';....../**......*.@var.Applica
72900 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 tion......*/.....private.$applic
72920 61 74 69 6f 6e 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 6e 75 6c 6c ation;....../**......*.@var.null
72940 7c 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6e 61 6d |string......*/.....private.$nam
72960 65 73 70 61 63 65 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 61 72 72 espace;....../**......*.@var.arr
72980 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 ay......*/.....private.$namespac
729a0 65 73 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 43 6f 6d 6d 61 6e 64 es;....../**......*.@var.Command
729c0 5b 5d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 73 []......*/.....private.$commands
729e0 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 76 61 72 20 43 6f 6d 6d 61 6e 64 5b 5d ;....../**......*.@var.Command[]
72a00 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 6c 69 61 73 65 73 3b 0a 0a ......*/.....private.$aliases;..
72a20 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 ..../**......*.Constructor......
72a40 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 .*......*.@param.Application.$ap
72a60 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 7c 6e plication......*.@param.string|n
72a80 75 6c 6c 20 24 6e 61 6d 65 73 70 61 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 ull.$namespace......*/.....publi
72aa0 63 20 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 c.function.__construct(Applicati
72ac0 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 6e 75 on.$application,.$namespace.=.nu
72ae0 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 ll).....{.........$this->applica
72b00 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 24 74 68 tion.=.$application;.........$th
72b20 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 20 3d 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a 20 20 20 20 is->namespace.=.$namespace;.....
72b40 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a }....../**......*.@return.array.
72b60 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 67 65 74 4e .....*/.....public.function.getN
72b80 61 6d 65 73 70 61 63 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 amespaces().....{.........if.(nu
72ba0 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 20 20 20 20 ll.===.$this->namespaces).{.....
72bc0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f ........$this->inspectApplicatio
72be0 6e 28 29 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 20 24 n();.........}..........return.$
72c00 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a this->namespaces;.....}....../**
72c20 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 5b 5d 0a 20 20 20 20 20 2a ......*.@return.Command[]......*
72c40 2f 0a 20 20 20 20 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
72c60 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 s().....{.........if.(null.===.$
72c80 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 this->commands).{.............$t
72ca0 68 69 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 20 20 20 20 20 his->inspectApplication();......
72cc0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d ...}..........return.$this->comm
72ce0 61 6e 64 73 3b 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 ands;.....}....../**......*.@par
72d00 61 6d 20 73 74 72 69 6e 67 20 24 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 am.string.$name......*......*.@r
72d20 65 74 75 72 6e 20 43 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 eturn.Command......*......*.@thr
72d40 6f 77 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 0a 20 20 20 ows.CommandNotFoundException....
72d60 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 67 65 74 43 6f 6d 6d ..*/.....public.function.getComm
72d80 61 6e 64 28 24 6e 61 6d 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 and($name).....{.........if.(!is
72da0 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 5d 29 20 26 26 20 21 set($this->commands[$name]).&&.!
72dc0 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a isset($this->aliases[$name])).{.
72de0 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 ............throw.new.CommandNot
72e00 46 6f 75 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 FoundException(sprintf('Command.
72e20 25 73 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 20 20 %s.does.not.exist.',.$name));...
72e40 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 ......}..........return.isset($t
72e60 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 24 74 68 69 73 2d 3e 63 his->commands[$name]).?.$this->c
72e80 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3a 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b ommands[$name].:.$this->aliases[
72ea0 24 6e 61 6d 65 5d 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 $name];.....}......private.funct
72ec0 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 20 20 20 20 7b 0a 20 ion.inspectApplication().....{..
72ee0 20 20 20 20 20 20 20 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 .......$this->commands.=.array()
72f00 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 ;.........$this->namespaces.=.ar
72f20 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 61 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 61 70 ray();..........$all.=.$this->ap
72f40 70 6c 69 63 61 74 69 6f 6e 2d 3e 61 6c 6c 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 20 plication->all($this->namespace.
72f60 3f 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 66 69 6e 64 4e 61 6d 65 73 70 ?.$this->application->findNamesp
72f80 61 63 65 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 29 20 3a 20 6e 75 6c 6c 29 3b 0a 20 ace($this->namespace).:.null);..
72fa0 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 73 6f 72 74 43 6f 6d 6d 61 .......foreach.($this->sortComma
72fc0 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 6d nds($all).as.$namespace.=>.$comm
72fe0 61 6e 64 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 20 3d 20 61 72 72 ands).{.............$names.=.arr
73000 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 2a 20 40 76 61 72 20 43 6f 6d 6d ay();............../**.@var.Comm
73020 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 and.$command.*/.............fore
73040 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 6d ach.($commands.as.$name.=>.$comm
73060 61 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 63 6f 6d and).{.................if.(!$com
73080 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 mand->getName()).{..............
730a0 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......continue;................
730c0 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 6f 6d 6d 61 6e 64 .}..................if.($command
730e0 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 ->getName().===.$name).{........
73100 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 .............$this->commands[$na
73120 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 me].=.$command;.................
73140 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 }.else.{.....................$th
73160 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 6e 64 3b 0a 20 is->aliases[$name].=.$command;..
73180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
731a0 20 20 24 6e 61 6d 65 73 5b 5d 20 3d 20 24 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..$names[].=.$name;.............
731c0 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 }..............$this->namespaces
731e0 5b 24 6e 61 6d 65 73 70 61 63 65 5d 20 3d 20 61 72 72 61 79 28 27 69 64 27 20 3d 3e 20 24 6e 61 [$namespace].=.array('id'.=>.$na
73200 6d 65 73 70 61 63 65 2c 20 27 63 6f 6d 6d 61 6e 64 73 27 20 3d 3e 20 24 6e 61 6d 65 73 29 3b 0a mespace,.'commands'.=>.$names);.
73220 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 20 2a 20 ........}.....}....../**......*.
73240 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 20 20 2a 0a 20 20 @param.array.$commands......*...
73260 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 ...*.@return.array......*/.....p
73280 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 43 6f 6d 6d 61 6e 64 73 28 61 72 72 rivate.function.sortCommands(arr
732a0 61 79 20 24 63 6f 6d 6d 61 6e 64 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6e 61 6d ay.$commands).....{.........$nam
732c0 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 espacedCommands.=.array();......
732e0 20 20 20 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 20 20 ...$globalCommands.=.array();...
73300 20 20 20 20 20 20 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 ......foreach.($commands.as.$nam
73320 65 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6b 65 e.=>.$command).{.............$ke
73340 79 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 65 78 74 72 61 63 74 4e y.=.$this->application->extractN
73360 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 amespace($name,.1);.............
73380 69 66 20 28 21 24 6b 65 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 67 6c if.(!$key).{.................$gl
733a0 6f 62 61 6c 43 6f 6d 6d 61 6e 64 73 5b 27 5f 67 6c 6f 62 61 6c 27 5d 5b 24 6e 61 6d 65 5d 20 3d obalCommands['_global'][$name].=
733c0 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a .$command;.............}.else.{.
733e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 ................$namespacedComma
73400 6e 64 73 5b 24 6b 65 79 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 20 20 20 nds[$key][$name].=.$command;....
73420 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 6b 73 6f .........}.........}.........kso
73440 72 74 28 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 29 3b 0a 20 20 20 20 20 20 20 rt($namespacedCommands);........
73460 20 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 79 5f 6d 65 72 .$namespacedCommands.=.array_mer
73480 67 65 28 24 67 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 64 43 ge($globalCommands,.$namespacedC
734a0 6f 6d 6d 61 6e 64 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6e 61 6d ommands);..........foreach.($nam
734c0 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 20 61 73 20 26 24 63 6f 6d 6d 61 6e 64 73 53 65 74 espacedCommands.as.&$commandsSet
734e0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6b 73 6f 72 74 28 24 63 6f 6d 6d 61 6e 64 73 53 ).{.............ksort($commandsS
73500 65 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f 20 75 6e 73 65 74 20 et);.........}.........//.unset.
73520 72 65 66 65 72 65 6e 63 65 20 74 6f 20 6b 65 65 70 20 73 63 6f 70 65 20 63 6c 65 61 72 0a 20 20 reference.to.keep.scope.clear...
73540 20 20 20 20 20 20 75 6e 73 65 74 28 24 63 6f 6d 6d 61 6e 64 73 53 65 74 29 3b 0a 0a 20 20 20 20 ......unset($commandsSet);......
73560 20 20 20 20 72 65 74 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 ....return.$namespacedCommands;.
73580 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 ....}.}.<?php../*..*.This.file.i
735a0 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 s.part.of.the.Symfony.package...
735c0 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 *..*.(c).Fabien.Potencier.<fabie
735e0 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c n@symfony.com>..*..*.For.the.ful
73600 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 l.copyright.and.license.informat
73620 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 ion,.please.view.the.LICENSE..*.
73640 66 69 6c 65 20 74 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 file.that.was.distributed.with.t
73660 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 his.source.code...*/..namespace.
73680 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
736a0 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 6f on;..use.Symfony\Component\Conso
736c0 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
736e0 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 6e ption;.use.Symfony\Component\Con
73700 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 0a sole\Exception\LogicException;..
73720 2f 2a 2a 0a 20 2a 20 52 65 70 72 65 73 65 6e 74 73 20 61 20 51 75 65 73 74 69 6f 6e 2e 0a 20 2a /**..*.Represents.a.Question...*
73740 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 ..*.@author.Fabien.Potencier.<fa
73760 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 51 75 65 73 bien@symfony.com>..*/.class.Ques
73780 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 71 75 65 73 74 69 6f 6e 3b 0a 20 20 tion.{.....private.$question;...
737a0 20 20 70 72 69 76 61 74 65 20 24 61 74 74 65 6d 70 74 73 3b 0a 20 20 20 20 70 72 69 76 61 74 65 ..private.$attempts;.....private
737c0 20 24 68 69 64 64 65 6e 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 68 .$hidden.=.false;.....private.$h
737e0 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 70 72 69 76 61 74 iddenFallback.=.true;.....privat
73800 65 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 3b 0a 20 20 20 20 70 72 69 76 e.$autocompleterValues;.....priv
73820 61 74 65 20 24 76 61 6c 69 64 61 74 6f 72 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 64 65 66 ate.$validator;.....private.$def
73840 61 75 6c 74 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 3b 0a 0a ault;.....private.$normalizer;..
73860 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 ..../**......*.Constructor......
73880 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 71 75 65 73 74 69 6f .*......*.@param.string.$questio
738a0 6e 20 54 68 65 20 71 75 65 73 74 69 6f 6e 20 74 6f 20 61 73 6b 20 74 6f 20 74 68 65 20 75 73 65 n.The.question.to.ask.to.the.use
738c0 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 24 64 65 66 61 75 6c 74 20 r......*.@param.mixed..$default.
738e0 20 54 68 65 20 64 65 66 61 75 6c 74 20 61 6e 73 77 65 72 20 74 6f 20 72 65 74 75 72 6e 20 69 66 .The.default.answer.to.return.if
73900 20 74 68 65 20 75 73 65 72 20 65 6e 74 65 72 73 20 6e 6f 74 68 69 6e 67 0a 20 20 20 20 20 2a 2f .the.user.enters.nothing......*/
73920 0a 20 20 20 20 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
73940 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 29 0a 20 20 20 ($question,.$default.=.null)....
73960 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e 20 3d 20 24 71 75 .{.........$this->question.=.$qu
73980 65 73 74 69 6f 6e 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d estion;.........$this->default.=
739a0 20 24 64 65 66 61 75 6c 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .$default;.....}....../**......*
739c0 20 52 65 74 75 72 6e 73 20 74 68 65 20 71 75 65 73 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 .Returns.the.question.......*...
739e0 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ...*.@return.string......*/.....
73a00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 51 75 65 73 74 69 6f 6e 28 29 0a 20 20 public.function.getQuestion()...
73a20 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 71 75 65 73 74 69 ..{.........return.$this->questi
73a40 6f 6e 3b 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 74 75 72 6e on;.....}....../**......*.Return
73a60 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 61 6e 73 77 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 s.the.default.answer.......*....
73a80 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 65 64 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 ..*.@return.mixed......*/.....pu
73aa0 62 6c 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 20 20 20 20 7b blic.function.getDefault().....{
73ac0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 3b 0a .........return.$this->default;.
73ae0 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 77 68 ....}....../**......*.Returns.wh
73b00 65 74 68 65 72 20 74 68 65 20 75 73 65 72 20 72 65 73 70 6f 6e 73 65 20 6d 75 73 74 20 62 65 20 ether.the.user.response.must.be.
73b20 68 69 64 64 65 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f hidden.......*......*.@return.bo
73b40 6f 6c 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 69 ol......*/.....public.function.i
73b60 73 48 69 64 64 65 6e 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 sHidden().....{.........return.$
73b80 74 68 69 73 2d 3e 68 69 64 64 65 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 this->hidden;.....}....../**....
73ba0 20 20 2a 20 53 65 74 73 20 77 68 65 74 68 65 72 20 74 68 65 20 75 73 65 72 20 72 65 73 70 6f 6e ..*.Sets.whether.the.user.respon
73bc0 73 65 20 6d 75 73 74 20 62 65 20 68 69 64 64 65 6e 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 20 20 2a se.must.be.hidden.or.not.......*
73be0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 68 69 64 64 65 6e 0a 20 20 20 20 ......*.@param.bool.$hidden.....
73c00 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 51 75 65 73 74 69 6f 6e 20 54 68 65 20 63 .*......*.@return.Question.The.c
73c20 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 urrent.instance......*......*.@t
73c40 68 72 6f 77 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 49 6e 20 63 61 73 65 20 74 68 65 hrows.LogicException.In.case.the
73c60 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 20 69 73 20 61 6c 73 6f 20 75 73 65 64 0a 20 20 20 20 .autocompleter.is.also.used.....
73c80 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 74 48 69 64 64 65 .*/.....public.function.setHidde
73ca0 6e 28 24 68 69 64 64 65 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 n($hidden).....{.........if.($th
73cc0 69 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 20 20 20 20 20 is->autocompleterValues).{......
73ce0 20 20 20 20 20 20 20 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 .......throw.new.LogicException(
73d00 27 41 20 68 69 64 64 65 6e 20 71 75 65 73 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 75 73 65 20 74 68 'A.hidden.question.cannot.use.th
73d20 65 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 e.autocompleter.');.........}...
73d40 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 20 3d 20 28 62 6f 6f 6c 29 20 24 68 .......$this->hidden.=.(bool).$h
73d60 69 64 64 65 6e 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 idden;..........return.$this;...
73d80 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 20 63 61 73 65 20 74 68 65 20 ..}....../**......*.In.case.the.
73da0 72 65 73 70 6f 6e 73 65 20 63 61 6e 20 6e 6f 74 20 62 65 20 68 69 64 64 65 6e 2c 20 77 68 65 74 response.can.not.be.hidden,.whet
73dc0 68 65 72 20 74 6f 20 66 61 6c 6c 62 61 63 6b 20 6f 6e 20 6e 6f 6e 2d 68 69 64 64 65 6e 20 71 75 her.to.fallback.on.non-hidden.qu
73de0 65 73 74 69 6f 6e 20 6f 72 20 6e 6f 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 estion.or.not.......*......*.@re
73e00 74 75 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e turn.bool......*/.....public.fun
73e20 63 74 69 6f 6e 20 69 73 48 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 28 29 0a 20 20 20 20 7b 0a 20 ction.isHiddenFallback().....{..
73e40 20 20 20 20 20 20 20 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 .......return.$this->hiddenFallb
73e60 61 63 6b 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 65 74 73 20 ack;.....}....../**......*.Sets.
73e80 77 68 65 74 68 65 72 20 74 6f 20 66 61 6c 6c 62 61 63 6b 20 6f 6e 20 6e 6f 6e 2d 68 69 64 64 65 whether.to.fallback.on.non-hidde
73ea0 6e 20 71 75 65 73 74 69 6f 6e 20 69 66 20 74 68 65 20 72 65 73 70 6f 6e 73 65 20 63 61 6e 20 6e n.question.if.the.response.can.n
73ec0 6f 74 20 62 65 20 68 69 64 64 65 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 ot.be.hidden.......*......*.@par
73ee0 61 6d 20 62 6f 6f 6c 20 24 66 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 am.bool.$fallback......*......*.
73f00 40 72 65 74 75 72 6e 20 51 75 65 73 74 69 6f 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 @return.Question.The.current.ins
73f20 74 61 6e 63 65 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 tance......*/.....public.functio
73f40 6e 20 73 65 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 20 n.setHiddenFallback($fallback)..
73f60 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 46 61 6c 6c 62 61 ...{.........$this->hiddenFallba
73f80 63 6b 20 3d 20 28 62 6f 6f 6c 29 20 24 66 61 6c 6c 62 61 63 6b 3b 0a 0a 20 20 20 20 20 20 20 20 ck.=.(bool).$fallback;..........
73fa0 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 return.$this;.....}....../**....
73fc0 20 20 2a 20 47 65 74 73 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 20 61 75 74 6f 63 6f 6d 70 ..*.Gets.values.for.the.autocomp
73fe0 6c 65 74 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6e 75 6c leter.......*......*.@return.nul
74000 6c 7c 61 72 72 61 79 7c 5c 54 72 61 76 65 72 73 61 62 6c 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 l|array|\Traversable......*/....
74020 20 70 75 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 .public.function.getAutocomplete
74040 72 56 61 6c 75 65 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 rValues().....{.........return.$
74060 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 3b 0a 20 20 20 20 7d this->autocompleterValues;.....}
74080 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 76 61 6c 75 65 73 20 66 6f 72 ....../**......*.Sets.values.for
740a0 20 74 68 65 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 .the.autocompleter.......*......
740c0 2a 20 40 70 61 72 61 6d 20 6e 75 6c 6c 7c 61 72 72 61 79 7c 5c 54 72 61 76 65 72 73 61 62 6c 65 *.@param.null|array|\Traversable
740e0 20 24 76 61 6c 75 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 51 .$values......*......*.@return.Q
74100 75 65 73 74 69 6f 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 uestion.The.current.instance....
74120 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 ..*......*.@throws.InvalidArgume
74140 6e 74 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 4c 6f 67 69 63 ntException......*.@throws.Logic
74160 45 78 63 65 70 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 Exception......*/.....public.fun
74180 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 24 76 61 ction.setAutocompleterValues($va
741a0 6c 75 65 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 lues).....{.........if.(is_array
741c0 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 73 ($values)).{.............$values
741e0 20 3d 20 24 74 68 69 73 2d 3e 69 73 41 73 73 6f 63 28 24 76 61 6c 75 65 73 29 20 3f 20 61 72 72 .=.$this->isAssoc($values).?.arr
74200 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 5f 6b 65 79 73 28 24 76 61 6c 75 65 73 29 2c 20 61 72 ay_merge(array_keys($values),.ar
74220 72 61 79 5f 76 61 6c 75 65 73 28 24 76 61 6c 75 65 73 29 29 20 3a 20 61 72 72 61 79 5f 76 61 6c ray_values($values)).:.array_val
74240 75 65 73 28 24 76 61 6c 75 65 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 ues($values);.........}.........
74260 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 73 20 26 26 20 21 69 73 5f 61 72 72 .if.(null.!==.$values.&&.!is_arr
74280 61 79 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 ay($values)).{.............if.(!
742a0 24 76 61 6c 75 65 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 20 $values.instanceof.\Traversable.
742c0 7c 7c 20 21 24 76 61 6c 75 65 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 43 6f 75 6e 74 61 62 6c ||.!$values.instanceof.\Countabl
742e0 65 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 49 e).{.................throw.new.I
74300 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 41 75 74 6f 63 6f 6d nvalidArgumentException('Autocom
74320 70 6c 65 74 65 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 pleter.values.can.be.either.an.a
74340 72 72 61 79 2c 20 60 6e 75 6c 6c 60 20 6f 72 20 61 6e 20 6f 62 6a 65 63 74 20 69 6d 70 6c 65 6d rray,.`null`.or.an.object.implem
74360 65 6e 74 69 6e 67 20 62 6f 74 68 20 60 43 6f 75 6e 74 61 62 6c 65 60 20 61 6e 64 20 60 54 72 61 enting.both.`Countable`.and.`Tra
74380 76 65 72 73 61 62 6c 65 60 20 69 6e 74 65 72 66 61 63 65 73 2e 27 29 3b 0a 20 20 20 20 20 20 20 versable`.interfaces.');........
743a0 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 69 66 20 28 24 74 .....}.........}..........if.($t
743c0 68 69 73 2d 3e 68 69 64 64 65 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 his->hidden).{.............throw
743e0 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 20 71 75 .new.LogicException('A.hidden.qu
74400 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 70 6c 65 estion.cannot.use.the.autocomple
74420 74 65 72 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 ter.');.........}..........$this
74440 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 20 3d 20 24 76 61 6c 75 65 73 3b ->autocompleterValues.=.$values;
74460 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 ..........return.$this;.....}...
74480 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 61 20 76 61 6c 69 64 61 74 6f 72 20 66 .../**......*.Sets.a.validator.f
744a0 6f 72 20 74 68 65 20 71 75 65 73 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 or.the.question.......*......*.@
744c0 70 61 72 61 6d 20 6e 75 6c 6c 7c 63 61 6c 6c 61 62 6c 65 20 24 76 61 6c 69 64 61 74 6f 72 0a 20 param.null|callable.$validator..
744e0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 51 75 65 73 74 69 6f 6e 20 54 68 ....*......*.@return.Question.Th
74500 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 e.current.instance......*/.....p
74520 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 61 6c 69 64 61 74 6f 72 28 63 61 6c 6c ublic.function.setValidator(call
74540 61 62 6c 65 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 able.$validator.=.null).....{...
74560 20 20 20 20 20 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 76 61 6c 69 64 61 ......$this->validator.=.$valida
74580 74 6f 72 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 tor;..........return.$this;.....
745a0 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 76 61 6c 69 64 }....../**......*.Gets.the.valid
745c0 61 74 6f 72 20 66 6f 72 20 74 68 65 20 71 75 65 73 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 ator.for.the.question.......*...
745e0 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6e 75 6c 6c 7c 63 61 6c 6c 61 62 6c 65 0a 20 20 20 20 20 ...*.@return.null|callable......
74600 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 61 6c 69 64 61 */.....public.function.getValida
74620 74 6f 72 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 tor().....{.........return.$this
74640 2d 3e 76 61 6c 69 64 61 74 6f 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 ->validator;.....}....../**.....
74660 20 2a 20 53 65 74 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 61 74 .*.Sets.the.maximum.number.of.at
74680 74 65 6d 70 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 4e 75 6c 6c 20 6d 65 61 6e 73 tempts.......*......*.Null.means
746a0 20 61 6e 20 75 6e 6c 69 6d 69 74 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 61 74 74 65 6d 70 74 73 .an.unlimited.number.of.attempts
746c0 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6e 75 6c 6c 7c 69 6e 74 20 .......*......*.@param.null|int.
746e0 24 61 74 74 65 6d 70 74 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 $attempts......*......*.@return.
74700 51 75 65 73 74 69 6f 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 Question.The.current.instance...
74720 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d ...*......*.@throws.InvalidArgum
74740 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 49 6e 20 63 61 73 65 20 74 68 65 20 6e 75 6d 62 65 72 20 entException.In.case.the.number.
74760 6f 66 20 61 74 74 65 6d 70 74 73 20 69 73 20 69 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 2a 2f 0a of.attempts.is.invalid.......*/.
74780 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 78 41 74 74 65 6d 70 ....public.function.setMaxAttemp
747a0 74 73 28 24 61 74 74 65 6d 70 74 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 ts($attempts).....{.........if.(
747c0 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 65 6d 70 74 73 20 null.!==.$attempts.&&.$attempts.
747e0 3c 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 <.1).{.............throw.new.Inv
74800 61 6c 69 64 41 72 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 alidArgumentException('Maximum.n
74820 75 6d 62 65 72 20 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 umber.of.attempts.must.be.a.posi
74840 74 69 76 65 20 76 61 6c 75 65 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 tive.value.');.........}........
74860 20 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 73 20 3d 20 24 61 74 74 65 6d 70 74 73 3b 0a 0a ..$this->attempts.=.$attempts;..
74880 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 ........return.$this;.....}.....
748a0 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d ./**......*.Gets.the.maximum.num
748c0 62 65 72 20 6f 66 20 61 74 74 65 6d 70 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 4e ber.of.attempts.......*......*.N
748e0 75 6c 6c 20 6d 65 61 6e 73 20 61 6e 20 75 6e 6c 69 6d 69 74 65 64 20 6e 75 6d 62 65 72 20 6f 66 ull.means.an.unlimited.number.of
74900 20 61 74 74 65 6d 70 74 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e .attempts.......*......*.@return
74920 20 6e 75 6c 6c 7c 69 6e 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e .null|int......*/.....public.fun
74940 63 74 69 6f 6e 20 67 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 ction.getMaxAttempts().....{....
74960 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 73 3b 0a 20 20 20 .....return.$this->attempts;....
74980 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 74 73 20 61 20 6e 6f 72 6d 61 6c .}....../**......*.Sets.a.normal
749a0 69 7a 65 72 20 66 6f 72 20 74 68 65 20 72 65 73 70 6f 6e 73 65 2e 0a 20 20 20 20 20 2a 0a 20 20 izer.for.the.response.......*...
749c0 20 20 20 2a 20 54 68 65 20 6e 6f 72 6d 61 6c 69 7a 65 72 20 63 61 6e 20 62 65 20 61 20 63 61 6c ...*.The.normalizer.can.be.a.cal
749e0 6c 61 62 6c 65 20 28 61 20 73 74 72 69 6e 67 29 2c 20 61 20 63 6c 6f 73 75 72 65 20 6f 72 20 61 lable.(a.string),.a.closure.or.a
74a00 20 63 6c 61 73 73 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 5f 5f 69 6e 76 6f 6b 65 2e 0a 20 20 .class.implementing.__invoke....
74a20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 63 61 6c 6c 61 62 6c 65 20 24 6e 6f 72 ...*......*.@param.callable.$nor
74a40 6d 61 6c 69 7a 65 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 51 75 malizer......*......*.@return.Qu
74a60 65 73 74 69 6f 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 20 20 20 estion.The.current.instance.....
74a80 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 74 4e 6f 72 6d 61 .*/.....public.function.setNorma
74aa0 6c 69 7a 65 72 28 63 61 6c 6c 61 62 6c 65 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 29 0a 20 20 20 20 lizer(callable.$normalizer).....
74ac0 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 72 20 3d 20 24 6e {.........$this->normalizer.=.$n
74ae0 6f 72 6d 61 6c 69 7a 65 72 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 ormalizer;..........return.$this
74b00 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 ;.....}....../**......*.Gets.the
74b20 20 6e 6f 72 6d 61 6c 69 7a 65 72 20 66 6f 72 20 74 68 65 20 72 65 73 70 6f 6e 73 65 2e 0a 20 20 .normalizer.for.the.response....
74b40 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 6e 6f 72 6d 61 6c 69 7a 65 72 20 63 61 6e 20 62 ...*......*.The.normalizer.can.b
74b60 61 20 61 20 63 61 6c 6c 61 62 6c 65 20 28 61 20 73 74 72 69 6e 67 29 2c 20 61 20 63 6c 6f 73 75 a.a.callable.(a.string),.a.closu
74b80 72 65 20 6f 72 20 61 20 63 6c 61 73 73 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 5f 5f 69 6e 76 re.or.a.class.implementing.__inv
74ba0 6f 6b 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 63 61 6c 6c 61 oke.......*......*.@return.calla
74bc0 62 6c 65 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 ble......*/.....public.function.
74be0 67 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 getNormalizer().....{.........re
74c00 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 72 3b 0a 20 20 20 20 7d 0a 0a 20 turn.$this->normalizer;.....}...
74c20 20 20 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 6f 63 28 24 61 ...protected.function.isAssoc($a
74c40 72 72 61 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 62 6f 6f 6c rray).....{.........return.(bool
74c60 29 20 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 28 ).count(array_filter(array_keys(
74c80 24 61 72 72 61 79 29 2c 20 27 69 73 5f 73 74 72 69 6e 67 27 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a $array),.'is_string'));.....}.}.
74ca0 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f <?php../*..*.This.file.is.part.o
74cc0 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 f.the.Symfony.package...*..*.(c)
74ce0 20 46 61 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 .Fabien.Potencier.<fabien@symfon
74d00 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 y.com>..*..*.For.the.full.copyri
74d20 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 ght.and.license.information,.ple
74d40 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 ase.view.the.LICENSE..*.file.tha
74d60 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 t.was.distributed.with.this.sour
74d80 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c ce.code...*/..namespace.Symfony\
74da0 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 3b 0a 0a 75 73 65 Component\Console\Question;..use
74dc0 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 70 .Symfony\Component\Console\Excep
74de0 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 0a tion\InvalidArgumentException;..
74e00 2f 2a 2a 0a 20 2a 20 52 65 70 72 65 73 65 6e 74 73 20 61 20 63 68 6f 69 63 65 20 71 75 65 73 74 /**..*.Represents.a.choice.quest
74e20 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 ion...*..*.@author.Fabien.Potenc
74e40 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 ier.<fabien@symfony.com>..*/.cla
74e60 73 73 20 43 68 6f 69 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 ss.ChoiceQuestion.extends.Questi
74e80 6f 6e 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 63 68 6f 69 63 65 73 3b 0a 20 20 20 20 70 on.{.....private.$choices;.....p
74ea0 72 69 76 61 74 65 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 rivate.$multiselect.=.false;....
74ec0 20 70 72 69 76 61 74 65 20 24 70 72 6f 6d 70 74 20 3d 20 27 20 3e 20 27 3b 0a 20 20 20 20 70 72 .private.$prompt.=.'.>.';.....pr
74ee0 69 76 61 74 65 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 ivate.$errorMessage.=.'Value."%s
74f00 22 20 69 73 20 69 6e 76 61 6c 69 64 27 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 ".is.invalid';....../**......*.C
74f20 6f 6e 73 74 72 75 63 74 6f 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d onstructor.......*......*.@param
74f40 20 73 74 72 69 6e 67 20 24 71 75 65 73 74 69 6f 6e 20 54 68 65 20 71 75 65 73 74 69 6f 6e 20 74 .string.$question.The.question.t
74f60 6f 20 61 73 6b 20 74 6f 20 74 68 65 20 75 73 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 o.ask.to.the.user......*.@param.
74f80 61 72 72 61 79 20 20 24 63 68 6f 69 63 65 73 20 20 54 68 65 20 6c 69 73 74 20 6f 66 20 61 76 61 array..$choices..The.list.of.ava
74fa0 69 6c 61 62 6c 65 20 63 68 6f 69 63 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 6d 69 78 ilable.choices......*.@param.mix
74fc0 65 64 20 20 24 64 65 66 61 75 6c 74 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 61 6e 73 77 65 72 ed..$default..The.default.answer
74fe0 20 74 6f 20 72 65 74 75 72 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 .to.return......*/.....public.fu
75000 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 61 72 nction.__construct($question,.ar
75020 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 75 6c 6c 29 0a 20 ray.$choices,.$default.=.null)..
75040 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 ...{.........parent::__construct
75060 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 ($question,.$default);..........
75080 24 74 68 69 73 2d 3e 63 68 6f 69 63 65 73 20 3d 20 24 63 68 6f 69 63 65 73 3b 0a 20 20 20 20 20 $this->choices.=.$choices;......
750a0 20 20 20 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 ...$this->setValidator($this->ge
750c0 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a 20 20 20 20 20 20 20 20 24 74 tDefaultValidator());.........$t
750e0 68 69 73 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 63 68 6f his->setAutocompleterValues($cho
75100 69 63 65 73 29 3b 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 74 ices);.....}....../**......*.Ret
75120 75 72 6e 73 20 61 76 61 69 6c 61 62 6c 65 20 63 68 6f 69 63 65 73 2e 0a 20 20 20 20 20 2a 0a 20 urns.available.choices.......*..
75140 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ....*.@return.array......*/.....
75160 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 6f 69 63 65 73 28 29 0a 20 20 20 public.function.getChoices()....
75180 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 63 68 6f 69 63 65 73 .{.........return.$this->choices
751a0 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 65 74 73 20 6d 75 6c ;.....}....../**......*.Sets.mul
751c0 74 69 73 65 6c 65 63 74 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 57 tiselect.option.......*......*.W
751e0 68 65 6e 20 6d 75 6c 74 69 73 65 6c 65 63 74 20 69 73 20 73 65 74 20 74 6f 20 74 72 75 65 2c 20 hen.multiselect.is.set.to.true,.
75200 6d 75 6c 74 69 70 6c 65 20 63 68 6f 69 63 65 73 20 63 61 6e 20 62 65 20 61 6e 73 77 65 72 65 64 multiple.choices.can.be.answered
75220 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 6d 75 6c .......*......*.@param.bool.$mul
75240 74 69 73 65 6c 65 63 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 tiselect......*......*.@return.C
75260 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e hoiceQuestion.The.current.instan
75280 63 65 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 ce......*/.....public.function.s
752a0 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 0a 20 20 20 20 etMultiselect($multiselect).....
752c0 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 24 {.........$this->multiselect.=.$
752e0 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 56 multiselect;.........$this->setV
75300 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 64 61 alidator($this->getDefaultValida
75320 74 6f 72 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 tor());..........return.$this;..
75340 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 77 68 65 ...}....../**......*.Returns.whe
75360 74 68 65 72 20 74 68 65 20 63 68 6f 69 63 65 73 20 61 72 65 20 6d 75 6c 74 69 73 65 6c 65 63 74 ther.the.choices.are.multiselect
75380 2e 0a 20 20 20 20 20 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 .......*......*.@return.bool....
753a0 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 69 73 4d 75 6c 74 69 ..*/.....public.function.isMulti
753c0 73 65 6c 65 63 74 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 select().....{.........return.$t
753e0 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a his->multiselect;.....}....../**
75400 0a 20 20 20 20 20 2a 20 47 65 74 73 20 74 68 65 20 70 72 6f 6d 70 74 20 66 6f 72 20 63 68 6f 69 ......*.Gets.the.prompt.for.choi
75420 63 65 73 2e 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 72 69 6e ces.......*......*.@return.strin
75440 67 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 67 65 g......*/.....public.function.ge
75460 74 50 72 6f 6d 70 74 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 tPrompt().....{.........return.$
75480 74 68 69 73 2d 3e 70 72 6f 6d 70 74 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 this->prompt;.....}....../**....
754a0 20 20 2a 20 53 65 74 73 20 74 68 65 20 70 72 6f 6d 70 74 20 66 6f 72 20 63 68 6f 69 63 65 73 2e ..*.Sets.the.prompt.for.choices.
754c0 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 6e 67 20 24 70 72 ......*......*.@param.string.$pr
754e0 6f 6d 70 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 43 68 6f 69 63 ompt......*......*.@return.Choic
75500 65 51 75 65 73 74 69 6f 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 74 61 6e 63 65 0a 20 eQuestion.The.current.instance..
75520 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 74 50 72 ....*/.....public.function.setPr
75540 6f 6d 70 74 28 24 70 72 6f 6d 70 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 ompt($prompt).....{.........$thi
75560 73 2d 3e 70 72 6f 6d 70 74 20 3d 20 24 70 72 6f 6d 70 74 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 s->prompt.=.$prompt;..........re
75580 74 75 72 6e 20 24 74 68 69 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 turn.$this;.....}....../**......
755a0 2a 20 53 65 74 73 20 74 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66 6f 72 20 69 6e 76 *.Sets.the.error.message.for.inv
755c0 61 6c 69 64 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 65 alid.values.......*......*.The.e
755e0 72 72 6f 72 20 6d 65 73 73 61 67 65 20 68 61 73 20 61 20 73 74 72 69 6e 67 20 70 6c 61 63 65 68 rror.message.has.a.string.placeh
75600 6f 6c 64 65 72 20 28 25 73 29 20 66 6f 72 20 74 68 65 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 older.(%s).for.the.invalid.value
75620 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 6e 67 20 24 65 .......*......*.@param.string.$e
75640 72 72 6f 72 4d 65 73 73 61 67 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 rrorMessage......*......*.@retur
75660 6e 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 20 54 68 65 20 63 75 72 72 65 6e 74 20 69 6e 73 n.ChoiceQuestion.The.current.ins
75680 74 61 6e 63 65 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 tance......*/.....public.functio
756a0 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 67 65 29 n.setErrorMessage($errorMessage)
756c0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 65 73 73 61 .....{.........$this->errorMessa
756e0 67 65 20 3d 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 ge.=.$errorMessage;.........$thi
75700 73 2d 3e 73 65 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 s->setValidator($this->getDefaul
75720 74 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 tValidator());..........return.$
75740 74 68 69 73 3b 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 74 75 this;.....}....../**......*.Retu
75760 72 6e 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 61 6e 73 77 65 72 20 76 61 6c 69 64 61 74 6f 72 rns.the.default.answer.validator
75780 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 63 61 6c 6c 61 62 6c 65 .......*......*.@return.callable
757a0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 ......*/.....private.function.ge
757c0 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 tDefaultValidator().....{.......
757e0 20 20 24 63 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 20 20 20 ..$choices.=.$this->choices;....
75800 20 20 20 20 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f .....$errorMessage.=.$this->erro
75820 72 4d 65 73 73 61 67 65 3b 0a 20 20 20 20 20 20 20 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d rMessage;.........$multiselect.=
75840 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 20 20 20 20 20 20 20 20 24 69 73 .$this->multiselect;.........$is
75860 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 63 65 73 29 Assoc.=.$this->isAssoc($choices)
75880 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 65 6c ;..........return.function.($sel
758a0 65 63 74 65 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 ected).use.($choices,.$errorMess
758c0 61 67 65 2c 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 20 age,.$multiselect,.$isAssoc).{..
758e0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 6f 6c 6c 61 70 73 65 20 61 6c 6c 20 73 70 61 63 65 ...........//.Collapse.all.space
75900 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 s..............$selectedChoices.
75920 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 27 2c 20 24 73 65 6c 65 63 74 65 64 =.str_replace('.',.'',.$selected
75940 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 );..............if.($multiselect
75960 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 68 65 63 6b 20 66 6f 72 ).{.................//.Check.for
75980 20 61 20 73 65 70 61 72 61 74 65 64 20 63 6f 6d 6d 61 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 .a.separated.comma.values.......
759a0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5b 61 2d ..........if.(!preg_match('/^[a-
759c0 7a 41 2d 5a 30 2d 39 5f 2d 5d 2b 28 3f 3a 2c 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d 2b 29 2a 24 zA-Z0-9_-]+(?:,[a-zA-Z0-9_-]+)*$
759e0 2f 27 2c 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 2c 20 24 6d 61 74 63 68 65 73 29 29 /',.$selectedChoices,.$matches))
75a00 20 7b 0a 20 20 20 20 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 .{.....................throw.new
75a20 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
75a40 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 73 65 6c 65 63 74 65 64 29 29 3b 0a 20 20 f($errorMessage,.$selected));...
75a60 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 ..............}.................
75a80 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 $selectedChoices.=.explode(',',.
75aa0 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d $selectedChoices);.............}
75ac0 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 65 6c 65 63 74 65 .else.{.................$selecte
75ae0 64 43 68 6f 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 20 20 20 dChoices.=.array($selected);....
75b00 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 75 6c 74 69 73 65 .........}..............$multise
75b20 6c 65 63 74 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 lectChoices.=.array();..........
75b40 20 20 20 66 6f 72 65 61 63 68 20 28 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 61 73 20 ...foreach.($selectedChoices.as.
75b60 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c $value).{.................$resul
75b80 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f ts.=.array();.................fo
75ba0 72 65 61 63 68 20 28 24 63 68 6f 69 63 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 63 68 6f 69 reach.($choices.as.$key.=>.$choi
75bc0 63 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 63 ce).{.....................if.($c
75be0 68 6f 69 63 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 hoice.===.$value).{.............
75c00 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 24 6b 65 79 3b 0a 20 ............$results[].=.$key;..
75c20 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 20 ...................}............
75c40 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e .....}..................if.(coun
75c60 74 28 24 72 65 73 75 6c 74 73 29 20 3e 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t($results).>.1).{..............
75c80 20 20 20 20 20 20 20 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 .......throw.new.InvalidArgument
75ca0 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 69 64 65 64 20 Exception(sprintf('The.provided.
75cc0 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 73 68 6f 75 6c answer.is.ambiguous..Value.shoul
75ce0 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 20 6f 72 20 27 d.be.one.of.%s.',.implode('.or.'
75d00 2c 20 24 72 65 73 75 6c 74 73 29 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ,.$results)));.................}
75d20 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 ..................$result.=.arra
75d40 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 0a 0a 20 20 20 y_search($value,.$choices);.....
75d60 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 69 73 41 73 73 6f 63 29 20 7b 0a 20 20 .............if.(!$isAssoc).{...
75d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 ..................if.(false.!==.
75da0 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $result).{......................
75dc0 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 63 68 6f 69 63 65 73 5b 24 72 65 73 75 6c 74 5d 3b 0a ...$result.=.$choices[$result];.
75de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 69 73 ....................}.elseif.(is
75e00 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 76 61 6c 75 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 set($choices[$value])).{........
75e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 65 73 75 6c 74 20 3d 20 24 63 68 6f 69 .................$result.=.$choi
75e40 63 65 73 5b 24 76 61 6c 75 65 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ces[$value];....................
75e60 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 66 61 6c .}.................}.elseif.(fal
75e80 73 65 20 3d 3d 3d 20 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 se.===.$result.&&.isset($choices
75ea0 5b 24 76 61 6c 75 65 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 [$value])).{....................
75ec0 20 24 72 65 73 75 6c 74 20 3d 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .$result.=.$value;..............
75ee0 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 ...}..................if.(false.
75f00 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ===.$result).{..................
75f20 20 20 20 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
75f40 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 76 61 ption(sprintf($errorMessage,.$va
75f60 6c 75 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 lue));.................}........
75f80 20 20 20 20 20 20 20 20 20 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 5b 5d 20 ..........$multiselectChoices[].
75fa0 3d 20 28 73 74 72 69 6e 67 29 20 24 72 65 73 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.(string).$result;.............
75fc0 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 }..............if.($multiselect)
75fe0 20 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 6d 75 6c 74 69 .{.................return.$multi
76000 73 65 6c 65 63 74 43 68 6f 69 63 65 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 selectChoices;.............}....
76020 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 28 24 6d 75 6c 74 69 73 ..........return.current($multis
76040 65 6c 65 63 74 43 68 6f 69 63 65 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a electChoices);.........};.....}.
76060 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 }.<?php../*..*.This.file.is.part
76080 20 6f 66 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 .of.the.Symfony.package...*..*.(
760a0 63 29 20 46 61 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 c).Fabien.Potencier.<fabien@symf
760c0 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 ony.com>..*..*.For.the.full.copy
760e0 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 right.and.license.information,.p
76100 6c 65 61 73 65 20 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 lease.view.the.LICENSE..*.file.t
76120 68 61 74 20 77 61 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f hat.was.distributed.with.this.so
76140 75 72 63 65 20 63 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e urce.code...*/..namespace.Symfon
76160 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 6f 6e 3b 0a 0a 2f y\Component\Console\Question;../
76180 2a 2a 0a 20 2a 20 52 65 70 72 65 73 65 6e 74 73 20 61 20 79 65 73 2f 6e 6f 20 71 75 65 73 74 69 **..*.Represents.a.yes/no.questi
761a0 6f 6e 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 on...*..*.@author.Fabien.Potenci
761c0 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 2f 0a 63 6c 61 73 er.<fabien@symfony.com>..*/.clas
761e0 73 20 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 51 s.ConfirmationQuestion.extends.Q
76200 75 65 73 74 69 6f 6e 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 74 72 75 65 41 6e 73 77 65 uestion.{.....private.$trueAnswe
76220 72 52 65 67 65 78 3b 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6f 6e 73 74 72 75 63 rRegex;....../**......*.Construc
76240 74 6f 72 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 6e 67 tor.......*......*.@param.string
76260 20 24 71 75 65 73 74 69 6f 6e 20 20 20 20 20 20 20 20 54 68 65 20 71 75 65 73 74 69 6f 6e 20 74 .$question........The.question.t
76280 6f 20 61 73 6b 20 74 6f 20 74 68 65 20 75 73 65 72 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 o.ask.to.the.user......*.@param.
762a0 62 6f 6f 6c 20 20 20 24 64 65 66 61 75 6c 74 20 20 20 20 20 20 20 20 20 54 68 65 20 64 65 66 61 bool...$default.........The.defa
762c0 75 6c 74 20 61 6e 73 77 65 72 20 74 6f 20 72 65 74 75 72 6e 2c 20 74 72 75 65 20 6f 72 20 66 61 ult.answer.to.return,.true.or.fa
762e0 6c 73 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 74 72 75 65 41 6e lse......*.@param.string.$trueAn
76300 73 77 65 72 52 65 67 65 78 20 41 20 72 65 67 65 78 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 22 swerRegex.A.regex.to.match.the."
76320 79 65 73 22 20 61 6e 73 77 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 yes".answer......*/.....public.f
76340 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 24 unction.__construct($question,.$
76360 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 78 default.=.true,.$trueAnswerRegex
76380 20 3d 20 27 2f 5e 79 2f 69 27 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 .=.'/^y/i').....{.........parent
763a0 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 28 62 6f 6f 6c 29 20 ::__construct($question,.(bool).
763c0 24 64 65 66 61 75 6c 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 72 75 65 41 $default);..........$this->trueA
763e0 6e 73 77 65 72 52 65 67 65 78 20 3d 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 20 nswerRegex.=.$trueAnswerRegex;..
76400 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 24 74 68 69 .......$this->setNormalizer($thi
76420 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 0a 20 20 20 20 s->getDefaultNormalizer());.....
76440 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 64 65 }....../**......*.Returns.the.de
76460 66 61 75 6c 74 20 61 6e 73 77 65 72 20 6e 6f 72 6d 61 6c 69 7a 65 72 2e 0a 20 20 20 20 20 2a 0a fault.answer.normalizer.......*.
76480 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 63 61 6c 6c 61 62 6c 65 0a 20 20 20 20 20 2a 2f 0a .....*.@return.callable......*/.
764a0 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 4e ....private.function.getDefaultN
764c0 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 64 65 66 61 75 ormalizer().....{.........$defau
764e0 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 20 lt.=.$this->getDefault();.......
76500 20 20 24 72 65 67 65 78 20 3d 20 24 74 68 69 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 ..$regex.=.$this->trueAnswerRege
76520 78 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 6e x;..........return.function.($an
76540 73 77 65 72 29 20 75 73 65 20 28 24 64 65 66 61 75 6c 74 2c 20 24 72 65 67 65 78 29 20 7b 0a 20 swer).use.($default,.$regex).{..
76560 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 61 6e 73 77 65 72 29 29 ...........if.(is_bool($answer))
76580 20 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 61 6e 73 77 65 .{.................return.$answe
765a0 72 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 20 20 20 20 24 61 r;.............}..............$a
765c0 6e 73 77 65 72 49 73 54 72 75 65 20 3d 20 28 62 6f 6f 6c 29 20 70 72 65 67 5f 6d 61 74 63 68 28 nswerIsTrue.=.(bool).preg_match(
765e0 24 72 65 67 65 78 2c 20 24 61 6e 73 77 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 $regex,.$answer);.............if
76600 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 20 20 20 20 20 20 20 20 .(false.===.$default).{.........
76620 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 20 26 26 20 24 61 6e 73 77 65 ........return.$answer.&&.$answe
76640 72 49 73 54 72 75 65 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 rIsTrue;.............}..........
76660 20 20 20 20 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 49 73 ....return.!$answer.||.$answerIs
76680 54 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a True;.........};.....}.}.<?php..
766a0 2f 2a 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 74 68 65 20 53 /*..*.This.file.is.part.of.the.S
766c0 79 6d 66 6f 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e ymfony.package...*..*.(c).Fabien
766e0 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 6f 6d 3e 0a .Potencier.<fabien@symfony.com>.
76700 20 2a 0a 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 .*..*.For.the.full.copyright.and
76720 20 6c 69 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 .license.information,.please.vie
76740 77 20 74 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 w.the.LICENSE..*.file.that.was.d
76760 69 73 74 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 istributed.with.this.source.code
76780 2e 0a 20 2a 2f 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
767a0 6c 5c 4d 62 73 74 72 69 6e 67 3b 0a 0a 2f 2a 2a 0a 20 2a 20 50 61 72 74 69 61 6c 20 6d 62 73 74 l\Mbstring;../**..*.Partial.mbst
767c0 72 69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 50 48 50 2c 20 69 63 6f 6e ring.implementation.in.PHP,.icon
767e0 76 20 62 61 73 65 64 2c 20 55 54 46 2d 38 20 63 65 6e 74 72 69 63 2e 0a 20 2a 0a 20 2a 20 49 6d v.based,.UTF-8.centric...*..*.Im
76800 70 6c 65 6d 65 6e 74 65 64 3a 0a 20 2a 20 2d 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 plemented:..*.-.mb_convert_encod
76820 69 6e 67 20 20 20 20 20 2d 20 43 6f 6e 76 65 72 74 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f ing.....-.Convert.character.enco
76840 64 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 20 20 ding..*.-.mb_convert_variables..
76860 20 20 2d 20 43 6f 6e 76 65 72 74 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 20 69 6e 20 76 61 ..-.Convert.character.code.in.va
76880 72 69 61 62 6c 65 28 73 29 0a 20 2a 20 2d 20 6d 62 5f 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 riable(s)..*.-.mb_decode_mimehea
768a0 64 65 72 20 20 20 20 2d 20 44 65 63 6f 64 65 20 73 74 72 69 6e 67 20 69 6e 20 4d 49 4d 45 20 68 der....-.Decode.string.in.MIME.h
768c0 65 61 64 65 72 20 66 69 65 6c 64 0a 20 2a 20 2d 20 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 eader.field..*.-.mb_encode_mimeh
768e0 65 61 64 65 72 20 20 20 20 2d 20 45 6e 63 6f 64 65 20 73 74 72 69 6e 67 20 66 6f 72 20 4d 49 4d eader....-.Encode.string.for.MIM
76900 45 20 68 65 61 64 65 72 20 58 58 58 20 4e 41 54 49 56 45 20 49 4d 50 4c 45 4d 45 4e 54 41 54 49 E.header.XXX.NATIVE.IMPLEMENTATI
76920 4f 4e 20 49 53 20 52 45 41 4c 4c 59 20 42 55 47 47 45 44 0a 20 2a 20 2d 20 6d 62 5f 63 6f 6e 76 ON.IS.REALLY.BUGGED..*.-.mb_conv
76940 65 72 74 5f 63 61 73 65 20 20 20 20 20 20 20 20 20 2d 20 50 65 72 66 6f 72 6d 20 63 61 73 65 20 ert_case.........-.Perform.case.
76960 66 6f 6c 64 69 6e 67 20 6f 6e 20 61 20 73 74 72 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 67 65 74 5f folding.on.a.string..*.-.mb_get_
76980 69 6e 66 6f 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 47 65 74 20 69 6e 74 65 72 6e 61 6c 20 info.............-.Get.internal.
769a0 73 65 74 74 69 6e 67 73 20 6f 66 20 6d 62 73 74 72 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 68 74 74 settings.of.mbstring..*.-.mb_htt
769c0 70 5f 69 6e 70 75 74 20 20 20 20 20 20 20 20 20 20 20 2d 20 44 65 74 65 63 74 20 48 54 54 50 20 p_input...........-.Detect.HTTP.
769e0 69 6e 70 75 74 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f 64 69 6e 67 0a 20 2a 20 2d 20 6d 62 input.character.encoding..*.-.mb
76a00 5f 68 74 74 70 5f 6f 75 74 70 75 74 20 20 20 20 20 20 20 20 20 20 2d 20 53 65 74 2f 47 65 74 20 _http_output..........-.Set/Get.
76a20 48 54 54 50 20 6f 75 74 70 75 74 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f 64 69 6e 67 0a 20 HTTP.output.character.encoding..
76a40 2a 20 2d 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 20 20 20 20 2d 20 53 65 *.-.mb_internal_encoding....-.Se
76a60 74 2f 47 65 74 20 69 6e 74 65 72 6e 61 6c 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f 64 69 6e t/Get.internal.character.encodin
76a80 67 0a 20 2a 20 2d 20 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 20 20 20 20 20 20 20 2d g..*.-.mb_list_encodings.......-
76aa0 20 52 65 74 75 72 6e 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 61 6c 6c 20 73 75 70 70 6f 72 74 .Returns.an.array.of.all.support
76ac0 65 64 20 65 6e 63 6f 64 69 6e 67 73 0a 20 2a 20 2d 20 6d 62 5f 6f 75 74 70 75 74 5f 68 61 6e 64 ed.encodings..*.-.mb_output_hand
76ae0 6c 65 72 20 20 20 20 20 20 20 2d 20 43 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 63 6f ler.......-.Callback.function.co
76b00 6e 76 65 72 74 73 20 63 68 61 72 61 63 74 65 72 20 65 6e 63 6f 64 69 6e 67 20 69 6e 20 6f 75 74 nverts.character.encoding.in.out
76b20 70 75 74 20 62 75 66 66 65 72 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 6c 65 6e 20 20 20 20 20 20 20 put.buffer..*.-.mb_strlen.......
76b40 20 20 20 20 20 20 20 20 2d 20 47 65 74 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 0a 20 2a 20 2d ........-.Get.string.length..*.-
76b60 20 6d 62 5f 73 74 72 70 6f 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 46 69 6e 64 20 .mb_strpos...............-.Find.
76b80 70 6f 73 69 74 69 6f 6e 20 6f 66 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 position.of.first.occurrence.of.
76ba0 73 74 72 69 6e 67 20 69 6e 20 61 20 73 74 72 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 72 70 string.in.a.string..*.-.mb_strrp
76bc0 6f 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 46 69 6e 64 20 70 6f 73 69 74 69 6f 6e 20 os..............-.Find.position.
76be0 6f 66 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 61 20 73 74 72 69 6e 67 20 69 of.last.occurrence.of.a.string.i
76c00 6e 20 61 20 73 74 72 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 74 6f 6c 6f 77 65 72 20 20 20 n.a.string..*.-.mb_strtolower...
76c20 20 20 20 20 20 20 20 20 2d 20 4d 61 6b 65 20 61 20 73 74 72 69 6e 67 20 6c 6f 77 65 72 63 61 73 ........-.Make.a.string.lowercas
76c40 65 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 74 6f 75 70 70 65 72 20 20 20 20 20 20 20 20 20 20 20 2d e..*.-.mb_strtoupper...........-
76c60 20 4d 61 6b 65 20 61 20 73 74 72 69 6e 67 20 75 70 70 65 72 63 61 73 65 0a 20 2a 20 2d 20 6d 62 .Make.a.string.uppercase..*.-.mb
76c80 5f 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 20 2d 20 53 65 74 2f 47 65 74 20 _substitute_character.-.Set/Get.
76ca0 73 75 62 73 74 69 74 75 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 0a 20 2a 20 2d 20 6d 62 5f 73 substitution.character..*.-.mb_s
76cc0 75 62 73 74 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 47 65 74 20 70 61 72 74 20 6f ubstr...............-.Get.part.o
76ce0 66 20 73 74 72 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 69 70 6f 73 20 20 20 20 20 20 20 20 f.string..*.-.mb_stripos........
76d00 20 20 20 20 20 20 2d 20 46 69 6e 64 73 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 66 69 72 73 74 20 ......-.Finds.position.of.first.
76d20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 69 6e 20 61 6e occurrence.of.a.string.within.an
76d40 6f 74 68 65 72 2c 20 63 61 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 0a 20 2a 20 2d 20 6d 62 5f other,.case.insensitive..*.-.mb_
76d60 73 74 72 69 73 74 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 46 69 6e 64 73 20 66 69 72 stristr..............-.Finds.fir
76d80 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 69 6e st.occurrence.of.a.string.within
76da0 20 61 6e 6f 74 68 65 72 2c 20 63 61 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 0a 20 2a 20 2d 20 .another,.case.insensitive..*.-.
76dc0 6d 62 5f 73 74 72 72 63 68 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 46 69 6e 64 73 20 mb_strrchr..............-.Finds.
76de0 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 61 20 63 68 61 72 61 63 74 the.last.occurrence.of.a.charact
76e00 65 72 20 69 6e 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 69 6e 20 61 6e 6f 74 68 65 72 0a 20 2a er.in.a.string.within.another..*
76e20 20 2d 20 6d 62 5f 73 74 72 72 69 63 68 72 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 46 69 6e .-.mb_strrichr.............-.Fin
76e40 64 73 20 74 68 65 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 61 20 63 68 61 72 ds.the.last.occurrence.of.a.char
76e60 61 63 74 65 72 20 69 6e 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 69 6e 20 61 6e 6f 74 68 65 72 acter.in.a.string.within.another
76e80 2c 20 63 61 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 72 69 ,.case.insensitive..*.-.mb_strri
76ea0 70 6f 73 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 46 69 6e 64 73 20 70 6f 73 69 74 69 6f 6e pos.............-.Finds.position
76ec0 20 6f 66 20 6c 61 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 61 20 73 74 72 69 6e 67 20 .of.last.occurrence.of.a.string.
76ee0 77 69 74 68 69 6e 20 61 6e 6f 74 68 65 72 2c 20 63 61 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 within.another,.case.insensitive
76f00 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 73 74 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 ..*.-.mb_strstr...............-.
76f20 46 69 6e 64 73 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 61 20 73 74 72 69 Finds.first.occurrence.of.a.stri
76f40 6e 67 20 77 69 74 68 69 6e 20 61 6e 6f 74 68 65 72 73 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 77 69 ng.within.anothers..*.-.mb_strwi
76f60 64 74 68 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 52 65 74 75 72 6e 20 77 69 64 74 68 20 6f dth.............-.Return.width.o
76f80 66 20 73 74 72 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e 74 20 20 20 f.string..*.-.mb_substr_count...
76fa0 20 20 20 20 20 20 2d 20 43 6f 75 6e 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 75 62 73 ......-.Count.the.number.of.subs
76fc0 74 72 69 6e 67 20 6f 63 63 75 72 72 65 6e 63 65 73 0a 20 2a 0a 20 2a 20 4e 6f 74 20 69 6d 70 6c tring.occurrences..*..*.Not.impl
76fe0 65 6d 65 6e 74 65 64 3a 0a 20 2a 20 2d 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 6b 61 6e 61 20 20 20 emented:..*.-.mb_convert_kana...
77000 20 20 20 20 20 20 2d 20 43 6f 6e 76 65 72 74 20 22 6b 61 6e 61 22 20 6f 6e 65 20 66 72 6f 6d 20 ......-.Convert."kana".one.from.
77020 61 6e 6f 74 68 65 72 20 28 22 7a 65 6e 2d 6b 61 6b 75 22 2c 20 22 68 61 6e 2d 6b 61 6b 75 22 20 another.("zen-kaku",."han-kaku".
77040 61 6e 64 20 6d 6f 72 65 29 0a 20 2a 20 2d 20 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 and.more)..*.-.mb_decode_numeric
77060 65 6e 74 69 74 79 20 2d 20 44 65 63 6f 64 65 20 48 54 4d 4c 20 6e 75 6d 65 72 69 63 20 73 74 72 entity.-.Decode.HTML.numeric.str
77080 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 63 68 61 72 61 63 74 65 72 0a 20 2a 20 2d 20 ing.reference.to.character..*.-.
770a0 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 20 2d 20 45 6e 63 6f 64 65 mb_encode_numericentity.-.Encode
770c0 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 48 54 4d 4c 20 6e 75 6d 65 72 69 63 20 73 74 72 69 6e .character.to.HTML.numeric.strin
770e0 67 20 72 65 66 65 72 65 6e 63 65 0a 20 2a 20 2d 20 6d 62 5f 65 72 65 67 5f 2a 20 20 20 20 20 20 g.reference..*.-.mb_ereg_*......
77100 20 20 20 20 20 20 20 20 20 2d 20 52 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 .........-.Regular.expression.wi
77120 74 68 20 6d 75 6c 74 69 62 79 74 65 20 73 75 70 70 6f 72 74 0a 20 2a 20 2d 20 6d 62 5f 70 61 72 th.multibyte.support..*.-.mb_par
77140 73 65 5f 73 74 72 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 50 61 72 73 65 20 47 45 54 2f 50 4f se_str............-.Parse.GET/PO
77160 53 54 2f 43 4f 4f 4b 49 45 20 64 61 74 61 20 61 6e 64 20 73 65 74 20 67 6c 6f 62 61 6c 20 76 61 ST/COOKIE.data.and.set.global.va
77180 72 69 61 62 6c 65 0a 20 2a 20 2d 20 6d 62 5f 70 72 65 66 65 72 72 65 64 5f 6d 69 6d 65 5f 6e 61 riable..*.-.mb_preferred_mime_na
771a0 6d 65 20 20 2d 20 47 65 74 20 4d 49 4d 45 20 63 68 61 72 73 65 74 20 73 74 72 69 6e 67 0a 20 2a me..-.Get.MIME.charset.string..*
771c0 20 2d 20 6d 62 5f 72 65 67 65 78 5f 65 6e 63 6f 64 69 6e 67 20 20 20 20 20 20 20 2d 20 52 65 74 .-.mb_regex_encoding.......-.Ret
771e0 75 72 6e 73 20 63 75 72 72 65 6e 74 20 65 6e 63 6f 64 69 6e 67 20 66 6f 72 20 6d 75 6c 74 69 62 urns.current.encoding.for.multib
77200 79 74 65 20 72 65 67 65 78 20 61 73 20 73 74 72 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 72 65 67 65 yte.regex.as.string..*.-.mb_rege
77220 78 5f 73 65 74 5f 6f 70 74 69 6f 6e 73 20 20 20 20 2d 20 53 65 74 2f 47 65 74 20 74 68 65 20 64 x_set_options....-.Set/Get.the.d
77240 65 66 61 75 6c 74 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 6d 62 72 65 67 65 78 20 66 75 6e 63 74 efault.options.for.mbregex.funct
77260 69 6f 6e 73 0a 20 2a 20 2d 20 6d 62 5f 73 65 6e 64 5f 6d 61 69 6c 20 20 20 20 20 20 20 20 20 20 ions..*.-.mb_send_mail..........
77280 20 20 2d 20 53 65 6e 64 20 65 6e 63 6f 64 65 64 20 6d 61 69 6c 0a 20 2a 20 2d 20 6d 62 5f 73 70 ..-.Send.encoded.mail..*.-.mb_sp
772a0 6c 69 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 20 53 70 6c 69 74 20 6d 75 6c 74 69 lit................-.Split.multi
772c0 62 79 74 65 20 73 74 72 69 6e 67 20 75 73 69 6e 67 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 byte.string.using.regular.expres
772e0 73 69 6f 6e 0a 20 2a 20 2d 20 6d 62 5f 73 74 72 63 75 74 20 20 20 20 20 20 20 20 20 20 20 20 20 sion..*.-.mb_strcut.............
77300 20 20 2d 20 47 65 74 20 70 61 72 74 20 6f 66 20 73 74 72 69 6e 67 0a 20 2a 20 2d 20 6d 62 5f 73 ..-.Get.part.of.string..*.-.mb_s
77320 74 72 69 6d 77 69 64 74 68 20 20 20 20 20 20 20 20 20 20 20 2d 20 47 65 74 20 74 72 75 6e 63 61 trimwidth...........-.Get.trunca
77340 74 65 64 20 73 74 72 69 6e 67 20 77 69 74 68 20 73 70 65 63 69 66 69 65 64 20 77 69 64 74 68 0a ted.string.with.specified.width.
77360 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 4e 69 63 6f 6c 61 73 20 47 72 65 6b 61 73 20 3c 70 40 .*..*.@author.Nicolas.Grekas.<p@
77380 74 63 68 77 6f 72 6b 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a 20 40 69 6e 74 65 72 6e 61 6c 0a 20 2a 2f tchwork.com>..*..*.@internal..*/
773a0 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 4d 62 73 74 72 69 6e 67 0a 7b 0a 20 20 20 20 63 6f 6e 73 .final.class.Mbstring.{.....cons
773c0 74 20 4d 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 20 t.MB_CASE_FOLD.=.PHP_INT_MAX;...
773e0 20 20 20 70 72 69 76 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 ...private.static.$encodingList.
77400 3d 20 61 72 72 61 79 28 27 41 53 43 49 49 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 20 20 20 20 70 =.array('ASCII',.'UTF-8');.....p
77420 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 61 6e 67 75 61 67 65 20 3d 20 27 6e 65 75 74 72 rivate.static.$language.=.'neutr
77440 61 6c 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 69 6e 74 65 72 6e 61 al';.....private.static.$interna
77460 6c 45 6e 63 6f 64 69 6e 67 20 3d 20 27 55 54 46 2d 38 27 3b 0a 20 20 20 20 70 72 69 76 61 74 65 lEncoding.=.'UTF-8';.....private
77480 20 73 74 61 74 69 63 20 24 63 61 73 65 46 6f 6c 64 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 .static.$caseFold.=.array(......
774a0 20 20 20 61 72 72 61 79 28 27 c2 b5 27 2c 27 c5 bf 27 2c 22 5c 78 43 44 5c 78 38 35 22 2c 27 cf ...array('..','..',"\xCD\x85",'.
774c0 82 27 2c 22 5c 78 43 46 5c 78 39 30 22 2c 22 5c 78 43 46 5c 78 39 31 22 2c 22 5c 78 43 46 5c 78 .',"\xCF\x90","\xCF\x91","\xCF\x
774e0 39 35 22 2c 22 5c 78 43 46 5c 78 39 36 22 2c 22 5c 78 43 46 5c 78 42 30 22 2c 22 5c 78 43 46 5c 95","\xCF\x96","\xCF\xB0","\xCF\
77500 78 42 31 22 2c 22 5c 78 43 46 5c 78 42 35 22 2c 22 5c 78 45 31 5c 78 42 41 5c 78 39 42 22 2c 22 xB1","\xCF\xB5","\xE1\xBA\x9B","
77520 5c 78 45 31 5c 78 42 45 5c 78 42 45 22 29 2c 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 28 27 ce \xE1\xBE\xBE"),.........array('.
77540 bc 27 2c 27 73 27 2c 27 ce b9 27 2c 20 20 20 20 20 20 20 27 cf 83 27 2c 27 ce b2 27 2c 20 20 20 .','s','..',.......'..','..',...
77560 20 20 20 20 27 ce b8 27 2c 20 20 20 20 20 20 20 27 cf 86 27 2c 20 20 20 20 20 20 20 27 cf 80 27 ....'..',.......'..',.......'..'
77580 2c 20 20 20 20 20 20 20 27 ce ba 27 2c 20 20 20 20 20 20 20 27 cf 81 27 2c 20 20 20 20 20 20 20 ,.......'..',.......'..',.......
775a0 27 ce b5 27 2c 20 20 20 20 20 20 20 22 5c 78 45 31 5c 78 42 39 5c 78 41 31 22 2c 27 ce b9 27 29 '..',......."\xE1\xB9\xA1",'..')
775c0 2c 0a 20 20 20 20 29 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 ,.....);......public.static.func
775e0 74 69 6f 6e 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 24 74 6f tion.mb_convert_encoding($s,.$to
77600 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a Encoding,.$fromEncoding.=.null).
77620 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 66 72 6f 6d ....{.........if.(is_array($from
77640 45 6e 63 6f 64 69 6e 67 29 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 66 Encoding).||.false.!==.strpos($f
77660 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 27 2c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 romEncoding,.',')).{............
77680 20 24 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 .$fromEncoding.=.self::mb_detect
776a0 5f 65 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 20 20 _encoding($s,.$fromEncoding);...
776c0 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 24 66 72 6f 6d ......}.else.{.............$from
776e0 45 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 66 72 Encoding.=.self::getEncoding($fr
77700 6f 6d 45 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 omEncoding);.........}..........
77720 24 74 6f 45 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 $toEncoding.=.self::getEncoding(
77740 24 74 6f 45 6e 63 6f 64 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 42 41 53 45 $toEncoding);..........if.('BASE
77760 36 34 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 64'.===.$fromEncoding).{........
77780 20 20 20 20 20 24 73 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 24 73 29 3b 0a 20 20 20 .....$s.=.base64_decode($s);....
777a0 20 20 20 20 20 20 20 20 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 24 74 6f 45 6e 63 6f .........$fromEncoding.=.$toEnco
777c0 64 69 6e 67 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 27 42 41 ding;.........}..........if.('BA
777e0 53 45 36 34 27 20 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 SE64'.===.$toEncoding).{........
77800 20 20 20 20 20 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 20 .....return.base64_encode($s);..
77820 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 .......}..........if.('HTML-ENTI
77840 54 49 45 53 27 20 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 48 54 4d 4c 27 20 TIES'.===.$toEncoding.||.'HTML'.
77860 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ===.$toEncoding).{.............i
77880 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
778a0 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 6e 67 ding.||.'HTML'.===.$fromEncoding
778c0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e ).{.................$fromEncodin
778e0 67 20 3d 20 27 57 69 6e 64 6f 77 73 2d 31 32 35 32 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 g.=.'Windows-1252';.............
77900 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 24 66 }.............if.('UTF-8'.!==.$f
77920 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 romEncoding).{.................$
77940 73 20 3d 20 69 63 6f 6e 76 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 27 s.=.iconv($fromEncoding,.'UTF-8'
77960 2c 20 24 73 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 20 20 ,.$s);.............}............
77980 20 20 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 ..return.preg_replace_callback('
779a0 2f 5b 5c 78 38 30 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 /[\x80-\xFF]+/',.array(__CLASS__
779c0 2c 20 27 68 74 6d 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 ,.'html_encoding_callback'),.$s)
779e0 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 27 48 54 4d 4c 2d 45 ;.........}..........if.('HTML-E
77a00 4e 54 49 54 49 45 53 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 20 20 NTITIES'.===.$fromEncoding).{...
77a20 20 20 20 20 20 20 20 20 20 20 24 73 20 3d 20 68 74 6d 6c 5f 65 6e 74 69 74 79 5f 64 65 63 6f 64 ..........$s.=.html_entity_decod
77a40 65 28 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 20 20 20 20 e($s,.ENT_COMPAT,.'UTF-8');.....
77a60 20 20 20 20 20 20 20 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 27 55 54 46 2d 38 27 3b ........$fromEncoding.=.'UTF-8';
77a80 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 20 69 63 6f 6e 76 .........}..........return.iconv
77aa0 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 2c 20 24 73 29 ($fromEncoding,.$toEncoding,.$s)
77ac0 3b 0a 20 20 20 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 ;.....}......public.static.funct
77ae0 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 6f 45 6e 63 6f ion.mb_convert_variables($toEnco
77b00 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 6e 75 6c 6c 2c ding,.$fromEncoding,.&$a.=.null,
77b20 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 64 20 3d 20 6e .&$b.=.null,.&$c.=.null,.&$d.=.n
77b40 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 29 0a 20 20 20 ull,.&$e.=.null,.&$f.=.null)....
77b60 20 7b 0a 20 20 20 20 20 20 20 20 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 26 24 61 2c 20 26 24 .{.........$vars.=.array(&$a,.&$
77b80 62 2c 20 26 24 63 2c 20 26 24 64 2c 20 26 24 65 2c 20 26 24 66 29 3b 0a 0a 20 20 20 20 20 20 20 b,.&$c,.&$d,.&$e,.&$f);.........
77ba0 20 24 6f 6b 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 5f 77 61 6c 6b 5f .$ok.=.true;.........array_walk_
77bc0 72 65 63 75 72 73 69 76 65 28 24 76 61 72 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 76 29 20 recursive($vars,.function.(&$v).
77be0 75 73 65 20 28 26 24 6f 6b 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 use.(&$ok,.$toEncoding,.$fromEnc
77c00 6f 64 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d oding).{.............if.(false.=
77c20 3d 3d 20 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 ==.$v.=.Mbstring::mb_convert_enc
77c40 6f 64 69 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 oding($v,.$toEncoding,.$fromEnco
77c60 64 69 6e 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 6b 20 3d 20 66 ding)).{.................$ok.=.f
77c80 61 6c 73 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 7d 29 3b 0a alse;.............}.........});.
77ca0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6f 6b 20 3f 20 24 66 72 6f 6d 45 6e 63 6f 64 .........return.$ok.?.$fromEncod
77cc0 69 6e 67 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 ing.:.false;.....}......public.s
77ce0 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 6d 69 6d 65 68 65 61 tatic.function.mb_decode_mimehea
77d00 64 65 72 28 24 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 63 6f der($s).....{.........return.ico
77d20 6e 76 5f 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 nv_mime_decode($s,.2,.self::$int
77d40 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 ernalEncoding);.....}......publi
77d60 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 c.static.function.mb_encode_mime
77d80 68 65 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 header($s,.$charset.=.null,.$tra
77da0 6e 73 66 65 72 45 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 2c 20 24 6c 69 6e 65 66 65 65 64 20 nsferEncoding.=.null,.$linefeed.
77dc0 3d 20 6e 75 6c 6c 2c 20 24 69 6e 64 65 6e 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 =.null,.$indent.=.null).....{...
77de0 20 20 20 20 20 20 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 6d ......trigger_error('mb_encode_m
77e00 69 6d 65 68 65 61 64 65 72 28 29 20 69 73 20 62 75 67 67 65 64 2e 20 50 6c 65 61 73 65 20 75 73 imeheader().is.bugged..Please.us
77e20 65 20 69 63 6f 6e 76 5f 6d 69 6d 65 5f 65 6e 63 6f 64 65 28 29 20 69 6e 73 74 65 61 64 27 2c 20 e.iconv_mime_encode().instead',.
77e40 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c E_USER_WARNING);.....}......publ
77e60 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 76 65 72 74 5f 63 61 ic.static.function.mb_convert_ca
77e80 73 65 28 24 73 2c 20 24 6d 6f 64 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a se($s,.$mode,.$encoding.=.null).
77ea0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 27 20 3d 3d 3d 20 24 73 20 2e 3d 20 27 ....{.........if.(''.===.$s..=.'
77ec0 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 27 3b 0a 20 20 20 20 ').{.............return.'';.....
77ee0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a ....}..........$encoding.=.self:
77f00 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 0a 20 20 20 20 20 20 :getEncoding($encoding);........
77f20 20 20 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 20 ..if.('UTF-8'.===.$encoding).{..
77f40 20 20 20 20 20 20 20 20 20 20 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 ...........$encoding.=.null;....
77f60 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 24 73 20 3d 20 69 .....}.else.{.............$s.=.i
77f80 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 27 2c 20 24 73 29 3b 0a 20 20 conv($encoding,.'UTF-8',.$s);...
77fa0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 4d 42 5f 43 41 53 45 5f 54 49 54 ......}..........if.(MB_CASE_TIT
77fc0 4c 45 20 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 3d 20 LE.==.$mode).{.............$s.=.
77fe0 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 5c 62 5c 70 7b 4c 6c 7d preg_replace_callback('/\b\p{Ll}
78000 2f 75 27 2c 20 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 74 69 74 6c 65 5f 63 61 73 /u',.array(__CLASS__,.'title_cas
78020 65 5f 75 70 70 65 72 27 29 2c 20 24 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 3d e_upper'),.$s);.............$s.=
78040 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 5c 42 5b 5c 70 7b 4c .preg_replace_callback('/\B[\p{L
78060 75 7d 5c 70 7b 4c 74 7d 5d 2b 2f 75 27 2c 20 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 u}\p{Lt}]+/u',.array(__CLASS__,.
78080 27 74 69 74 6c 65 5f 63 61 73 65 5f 6c 6f 77 65 72 27 29 2c 20 24 73 29 3b 0a 20 20 20 20 20 20 'title_case_lower'),.$s);.......
780a0 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 4d 42 5f 43 41 ..}.else.{.............if.(MB_CA
780c0 53 45 5f 55 50 50 45 52 20 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 SE_UPPER.==.$mode).{............
780e0 20 20 20 20 20 73 74 61 74 69 63 20 24 75 70 70 65 72 20 3d 20 6e 75 6c 6c 3b 0a 20 20 20 20 20 .....static.$upper.=.null;......
78100 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 75 70 70 65 72 29 20 ...........if.(null.===.$upper).
78120 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 75 70 70 65 72 20 3d 20 73 {.....................$upper.=.s
78140 65 6c 66 3a 3a 67 65 74 44 61 74 61 28 27 75 70 70 65 72 43 61 73 65 27 29 3b 0a 20 20 20 20 20 elf::getData('upperCase');......
78160 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 24 6d 61 ...........}.................$ma
78180 70 20 3d 20 24 75 70 70 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b p.=.$upper;.............}.else.{
781a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 65 6c 66 3a 3a 4d 42 5f 43 41 .................if.(self::MB_CA
781c0 53 45 5f 46 4f 4c 44 20 3d 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 SE_FOLD.===.$mode).{............
781e0 20 20 20 20 20 20 20 20 20 24 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 73 65 6c 66 3a 3a .........$s.=.str_replace(self::
78200 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 6c 64 5b 31 5d $caseFold[0],.self::$caseFold[1]
78220 2c 20 24 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 ,.$s);.................}........
78240 20 20 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 24 6c 6f 77 65 72 20 3d 20 6e 75 6c 6c 3b 0a ..........static.$lower.=.null;.
78260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 6f ................if.(null.===.$lo
78280 77 65 72 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 6c 6f 77 65 wer).{.....................$lowe
782a0 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 0a r.=.self::getData('lowerCase');.
782c0 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 ................}...............
782e0 20 20 24 6d 61 70 20 3d 20 24 6c 6f 77 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a ..$map.=.$lower;.............}..
78300 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 69 63 20 24 75 6c 65 6e 4d 61 73 6b 20 3d 20 61 ............static.$ulenMask.=.a
78320 72 72 61 79 28 22 5c 78 43 30 22 20 3d 3e 20 32 2c 20 22 5c 78 44 30 22 20 3d 3e 20 32 2c 20 22 rray("\xC0".=>.2,."\xD0".=>.2,."
78340 5c 78 45 30 22 20 3d 3e 20 33 2c 20 22 5c 78 46 30 22 20 3d 3e 20 34 29 3b 0a 0a 20 20 20 20 20 \xE0".=>.3,."\xF0".=>.4);.......
78360 20 20 20 20 20 20 20 24 69 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 20 .......$i.=.0;.............$len.
78380 3d 20 73 74 72 6c 65 6e 28 24 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 =.strlen($s);..............while
783a0 20 28 24 69 20 3c 20 24 6c 65 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 .($i.<.$len).{.................$
783c0 75 6c 65 6e 20 3d 20 24 73 5b 24 69 5d 20 3c 20 22 5c 78 38 30 22 20 3f 20 31 20 3a 20 24 75 6c ulen.=.$s[$i].<."\x80".?.1.:.$ul
783e0 65 6e 4d 61 73 6b 5b 24 73 5b 24 69 5d 20 26 20 22 5c 78 46 30 22 5d 3b 0a 20 20 20 20 20 20 20 enMask[$s[$i].&."\xF0"];........
78400 20 20 20 20 20 20 20 20 20 24 75 63 68 72 20 3d 20 73 75 62 73 74 72 28 24 73 2c 20 24 69 2c 20 .........$uchr.=.substr($s,.$i,.
78420 24 75 6c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 20 2b 3d 20 24 75 $ulen);.................$i.+=.$u
78440 6c 65 6e 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 len;..................if.(isset(
78460 24 6d 61 70 5b 24 75 63 68 72 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $map[$uchr])).{.................
78480 20 20 20 20 24 75 63 68 72 20 3d 20 24 6d 61 70 5b 24 75 63 68 72 5d 3b 0a 20 20 20 20 20 20 20 ....$uchr.=.$map[$uchr];........
784a0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6e 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 75 63 68 .............$nlen.=.strlen($uch
784c0 72 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 6c r);......................if.($nl
784e0 65 6e 20 3d 3d 20 24 75 6c 65 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 en.==.$ulen).{..................
78500 20 20 20 20 20 20 20 24 6e 6c 65 6e 20 3d 20 24 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .......$nlen.=.$i;..............
78520 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........do.{.................
78540 20 20 20 20 20 20 20 20 20 20 20 20 24 73 5b 2d 2d 24 6e 6c 65 6e 5d 20 3d 20 24 75 63 68 72 5b ............$s[--$nlen].=.$uchr[
78560 2d 2d 24 75 6c 65 6e 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --$ulen];.......................
78580 20 20 7d 20 77 68 69 6c 65 20 28 24 75 6c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..}.while.($ulen);..............
785a0 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 20 .......}.else.{.................
785c0 20 20 20 20 20 20 20 20 24 73 20 3d 20 73 75 62 73 74 72 5f 72 65 70 6c 61 63 65 28 24 73 2c 20 ........$s.=.substr_replace($s,.
785e0 24 75 63 68 72 2c 20 24 69 20 2d 20 24 75 6c 65 6e 2c 20 24 75 6c 65 6e 29 3b 0a 20 20 20 20 20 $uchr,.$i.-.$ulen,.$ulen);......
78600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 20 2b 3d 20 24 6e 6c 65 6e ...................$len.+=.$nlen
78620 20 2d 20 24 75 6c 65 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-.$ulen;.......................
78640 20 20 24 69 20 20 20 2b 3d 20 24 6e 6c 65 6e 20 2d 20 24 75 6c 65 6e 3b 0a 20 20 20 20 20 20 20 ..$i...+=.$nlen.-.$ulen;........
78660 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 7d .............}.................}
78680 0a 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 .............}.........}........
786a0 20 20 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 20 20 20 20 ..if.(null.===.$encoding).{.....
786c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 ........return.$s;.........}....
786e0 20 20 20 20 20 20 72 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 ......return.iconv('UTF-8',.$enc
78700 6f 64 69 6e 67 2c 20 24 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 oding,.$s);.....}......public.st
78720 61 74 69 63 20 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 69 atic.function.mb_internal_encodi
78740 6e 67 28 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 ng($encoding.=.null).....{......
78760 20 20 20 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 20 20 20 ...if.(null.===.$encoding).{....
78780 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 .........return.self::$internalE
787a0 6e 63 6f 64 69 6e 67 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 65 6e 63 ncoding;.........}..........$enc
787c0 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
787e0 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 ing);..........if.('UTF-8'.===.$
78800 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
78820 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 20 20 20 20 20 coding,.$encoding,.'.')).{......
78840 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 20 3d .......self::$internalEncoding.=
78860 20 24 65 6e 63 6f 64 69 6e 67 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 .$encoding;..............return.
78880 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 20 true;.........}..........return.
788a0 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 false;.....}......public.static.
788c0 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 20 6e 75 6c function.mb_language($lang.=.nul
788e0 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c l).....{.........if.(null.===.$l
78900 61 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a ang).{.............return.self::
78920 24 6c 61 6e 67 75 61 67 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 73 77 $language;.........}..........sw
78940 69 74 63 68 20 28 24 6c 61 6e 67 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6c 61 6e 67 29 29 itch.($lang.=.strtolower($lang))
78960 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 75 6e 69 27 3a 0a 20 20 20 20 20 .{.............case.'uni':......
78980 20 20 20 20 20 20 20 63 61 73 65 20 27 6e 65 75 74 72 61 6c 27 3a 0a 20 20 20 20 20 20 20 20 20 .......case.'neutral':..........
789a0 20 20 20 20 20 20 20 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 .......self::$language.=.$lang;.
789c0 0a 20 20 20 20 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 .................return.true;...
789e0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 ......}..........return.false;..
78a00 20 20 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 ...}......public.static.function
78a20 20 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 .mb_list_encodings().....{......
78a40 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 55 54 46 2d 38 27 29 3b 0a 20 20 20 20 7d 0a ...return.array('UTF-8');.....}.
78a60 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 6d 62 5f 65 .....public.static.function.mb_e
78a80 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 20 20 20 20 7b ncoding_aliases($encoding).....{
78aa0 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 73 74 72 74 6f 75 70 70 65 72 28 24 65 6e 63 .........switch.(strtoupper($enc
78ac0 6f 64 69 6e 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 55 54 46 38 oding)).{.............case.'UTF8
78ae0 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 20 20 20 ':.............case.'UTF-8':....
78b00 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 75 74 66 38 27 .............return.array('utf8'
78b20 29 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 20 66 61 6c );.........}..........return.fal
78b40 73 65 3b 0a 20 20 20 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 se;.....}......public.static.fun
78b60 63 74 69 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 ction.mb_check_encoding($var.=.n
78b80 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 ull,.$encoding.=.null).....{....
78ba0 20 20 20 20 20 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 20 .....if.(null.===.$encoding).{..
78bc0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 72 29 20 7b 0a ...........if.(null.===.$var).{.
78be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 ................return.false;...
78c00 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 65 6e 63 6f 64 69 6e ..........}.............$encodin
78c20 67 20 3d 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 0a 20 20 20 g.=.self::$internalEncoding;....
78c40 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f .....}..........return.self::mb_
78c60 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 2c 20 61 72 72 61 79 28 24 65 6e 63 detect_encoding($var,.array($enc
78c80 6f 64 69 6e 67 29 29 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 40 69 63 6f 6e 76 28 24 65 6e 63 oding)).||.false.!==.@iconv($enc
78ca0 6f 64 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 2c 20 24 76 61 72 29 3b 0a 20 20 20 20 7d 0a 0a oding,.$encoding,.$var);.....}..
78cc0 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 6d 62 5f 64 65 ....public.static.function.mb_de
78ce0 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
78d00 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 20 20 20 20 7b t.=.null,.$strict.=.false).....{
78d20 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 4c .........if.(null.===.$encodingL
78d40 69 73 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 ist).{.............$encodingList
78d60 20 3d 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b 0a 20 20 20 20 20 20 20 20 .=.self::$encodingList;.........
78d80 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 }.else.{.............if.(!is_arr
78da0 61 79 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ay($encodingList)).{............
78dc0 20 20 20 20 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 .....$encodingList.=.array_map('
78de0 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 6e 67 4c 69 73 trim',.explode(',',.$encodingLis
78e00 74 29 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 t));.............}.............$
78e20 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 75 encodingList.=.array_map('strtou
78e40 70 70 65 72 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 3b 0a 20 20 20 20 20 20 20 20 7d pper',.$encodingList);.........}
78e60 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 ..........foreach.($encodingList
78e80 20 61 73 20 24 65 6e 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 .as.$enc).{.............switch.(
78ea0 24 65 6e 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 41 53 $enc).{.................case.'AS
78ec0 43 49 49 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 70 CII':.....................if.(!p
78ee0 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5c 78 38 30 2d 5c 78 46 46 5d 2f 27 2c 20 24 73 74 72 29 reg_match('/[\x80-\xFF]/',.$str)
78f00 29 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 72 65 74 75 ).{.........................retu
78f20 72 6e 20 24 65 6e 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 rn.$enc;.....................}..
78f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 20 ...................break;.......
78f60 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 55 54 46 38 27 3a 0a 20 20 20 20 20 20 20 20 ...........case.'UTF8':.........
78f80 20 20 20 20 20 20 20 20 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 20 20 20 20 20 20 20 20 20 20 ........case.'UTF-8':...........
78fa0 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2f 75 27 2c 20 ..........if.(preg_match('//u',.
78fc0 24 73 74 72 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 20 20 20 $str)).{........................
78fe0 20 72 65 74 75 72 6e 20 27 55 54 46 2d 38 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .return.'UTF-8';................
79000 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 62 72 65 61 6b .....}.....................break
79020 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 ;..................default:.....
79040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 6e 63 6d ................if.(0.===.strncm
79060 70 28 24 65 6e 63 2c 20 27 49 53 4f 2d 38 38 35 39 2d 27 2c 20 39 29 29 20 7b 0a 20 20 20 20 20 p($enc,.'ISO-8859-',.9)).{......
79080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 65 6e 63 3b 0a ...................return.$enc;.
790a0 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 ....................}...........
790c0 20 20 7d 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 20 66 61 ..}.........}..........return.fa
790e0 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 lse;.....}......public.static.fu
79100 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 69 6e 67 nction.mb_detect_order($encoding
79120 4c 69 73 74 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e List.=.null).....{.........if.(n
79140 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 20 20 20 20 20 20 20 ull.===.$encodingList).{........
79160 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b .....return.self::$encodingList;
79180 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 .........}..........if.(!is_arra
791a0 79 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 y($encodingList)).{.............
791c0 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 74 72 69 6d 27 $encodingList.=.array_map('trim'
791e0 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 3b 0a ,.explode(',',.$encodingList));.
79200 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 ........}.........$encodingList.
79220 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 6f 64 =.array_map('strtoupper',.$encod
79240 69 6e 67 4c 69 73 74 29 3b 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 65 6e 63 ingList);..........foreach.($enc
79260 6f 64 69 6e 67 4c 69 73 74 20 61 73 20 24 65 6e 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 odingList.as.$enc).{............
79280 20 73 77 69 74 63 68 20 28 24 65 6e 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .switch.($enc).{................
792a0 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 .default:.....................if
792c0 20 28 73 74 72 6e 63 6d 70 28 24 65 6e 63 2c 20 27 49 53 4f 2d 38 38 35 39 2d 27 2c 20 39 29 29 .(strncmp($enc,.'ISO-8859-',.9))
792e0 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 72 65 74 75 72 .{.........................retur
79300 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 n.false;.....................}..
79320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 41 53 43 49 49 27 3a 0a 20 20 20 ...............case.'ASCII':....
79340 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 55 54 46 38 27 3a 0a 20 20 20 20 20 20 .............case.'UTF8':.......
79360 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 20 20 20 20 20 20 20 20 ..........case.'UTF-8':.........
79380 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 73 65 6c 66 3a 3a 24 ....}.........}..........self::$
793a0 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b 0a 0a 20 encodingList.=.$encodingList;...
793c0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 .......return.true;.....}......p
793e0 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 6c 65 6e 28 ublic.static.function.mb_strlen(
79400 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 $s,.$encoding.=.null).....{.....
79420 20 20 20 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 ....$encoding.=.self::getEncodin
79440 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 63 g($encoding);..........return.ic
79460 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 7d onv_strlen($s,.$encoding);.....}
79480 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 6d 62 5f ......public.static.function.mb_
794a0 73 74 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 strpos($haystack,.$needle,.$offs
794c0 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 20 20 20 20 7b 0a et.=.0,.$encoding.=.null).....{.
794e0 20 20 20 20 20 20 20 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 ........$encoding.=.self::getEnc
79500 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 oding($encoding);..........if.('
79520 27 20 3d 3d 3d 20 24 6e 65 65 64 6c 65 20 2e 3d 20 27 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 '.===.$needle..=.'').{..........
79540 20 20 20 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 3a 20 45 ...trigger_error(__METHOD__.':.E
79560 6d 70 74 79 20 64 65 6c 69 6d 69 74 65 72 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 mpty.delimiter',.E_USER_WARNING)
79580 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 ;..............return.false;....
795a0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 63 6f 6e 76 5f 73 74 72 .....}..........return.iconv_str
795c0 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 2c pos($haystack,.$needle,.$offset,
795e0 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 .$encoding);.....}......public.s
79600 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 tatic.function.mb_strrpos($hayst
79620 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 63 6f ack,.$needle,.$offset.=.0,.$enco
79640 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 65 6e 63 6f ding.=.null).....{.........$enco
79660 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
79680 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6f 66 66 73 65 74 20 21 3d 20 28 69 6e ng);..........if.($offset.!=.(in
796a0 74 29 20 24 6f 66 66 73 65 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 66 66 73 65 t).$offset).{.............$offse
796c0 74 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6f 66 66 73 65 74 t.=.0;.........}.elseif.($offset
796e0 20 3d 20 28 69 6e 74 29 20 24 6f 66 66 73 65 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .=.(int).$offset).{.............
79700 69 66 20 28 24 6f 66 66 73 65 74 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 if.($offset.<.0).{..............
79720 20 20 20 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 24 ...$haystack.=.self::mb_substr($
79740 68 61 79 73 74 61 63 6b 2c 20 30 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 haystack,.0,.$offset,.$encoding)
79760 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 20 ;.................$offset.=.0;..
79780 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 20 20 ...........}.else.{.............
797a0 20 20 20 20 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 ....$haystack.=.self::mb_substr(
797c0 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,.
797e0 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 $encoding);.............}.......
79800 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 70 6f 73 20 3d 20 69 63 6f 6e 76 5f 73 74 72 72 70 6f ..}..........$pos.=.iconv_strrpo
79820 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 69 6e 67 29 s($haystack,.$needle,.$encoding)
79840 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 ;..........return.false.!==.$pos
79860 20 3f 20 24 6f 66 66 73 65 74 20 2b 20 24 70 6f 73 20 3a 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d .?.$offset.+.$pos.:.false;.....}
79880 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 6d 62 5f ......public.static.function.mb_
798a0 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 strtolower($s,.$encoding.=.null)
798c0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 63 .....{.........return.self::mb_c
798e0 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 4d 42 5f 43 41 53 45 5f 4c 4f 57 45 52 2c 20 24 onvert_case($s,.MB_CASE_LOWER,.$
79900 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 encoding);.....}......public.sta
79920 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,.$
79940 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 encoding.=.null).....{.........r
79960 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 eturn.self::mb_convert_case($s,.
79980 4d 42 5f 43 41 53 45 5f 55 50 50 45 52 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 7d MB_CASE_UPPER,.$encoding);.....}
799a0 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 6d 62 5f ......public.static.function.mb_
799c0 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 28 24 63 20 3d 20 6e 75 6c 6c 29 0a substitute_character($c.=.null).
799e0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 63 61 73 65 63 ....{.........if.(0.===.strcasec
79a00 6d 70 28 24 63 2c 20 27 6e 6f 6e 65 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 mp($c,.'none')).{.............re
79a20 74 75 72 6e 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 turn.true;.........}..........re
79a40 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 6e 6f 6e 65 turn.null.!==.$c.?.false.:.'none
79a60 27 3b 0a 20 20 20 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 ';.....}......public.static.func
79a80 74 69 6f 6e 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 tion.mb_substr($s,.$start,.$leng
79aa0 74 68 20 3d 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 20 20 20 th.=.null,.$encoding.=.null)....
79ac0 20 7b 0a 20 20 20 20 20 20 20 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 .{.........$encoding.=.self::get
79ae0 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 Encoding($encoding);..........if
79b00 20 28 24 73 74 61 72 74 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 61 .($start.<.0).{.............$sta
79b20 72 74 20 3d 20 69 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 rt.=.iconv_strlen($s,.$encoding)
79b40 20 2b 20 24 73 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 73 74 61 72 .+.$start;.............if.($star
79b60 74 20 3c 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 74 61 72 74 20 t.<.0).{.................$start.
79b80 3d 20 30 3b 0a 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 =.0;.............}.........}....
79ba0 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 65 6e 67 74 68 29 20 7b 0a 20 20 ......if.(null.===.$length).{...
79bc0 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 32 31 34 37 34 38 33 36 34 37 3b 0a ..........$length.=.2147483647;.
79be0 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 6e 67 74 68 20 3c 20 30 29 20 7b ........}.elseif.($length.<.0).{
79c00 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 69 63 6f 6e 76 5f 73 74 72 .............$length.=.iconv_str
79c20 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.-.$
79c40 73 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6c 65 6e 67 74 68 20 3c start;.............if.($length.<
79c60 20 30 29 20 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 27 27 3b .0).{.................return.'';
79c80 0a 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 .............}.........}........
79ca0 20 20 72 65 74 75 72 6e 20 69 63 6f 6e 76 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 ..return.iconv_substr($s,.$start
79cc0 2c 20 24 6c 65 6e 67 74 68 2c 20 24 65 6e 63 6f 64 69 6e 67 29 2e 27 27 3b 0a 20 20 20 20 7d 0a ,.$length,.$encoding).'';.....}.
79ce0 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 6d 62 5f 73 .....public.static.function.mb_s
79d00 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 20 24 6f 66 66 73 tripos($haystack,.$needle,.$offs
79d20 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 20 20 20 20 7b 0a et.=.0,.$encoding.=.null).....{.
79d40 20 20 20 20 20 20 20 20 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e ........$haystack.=.self::mb_con
79d60 76 65 72 74 5f 63 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 vert_case($haystack,.self::MB_CA
79d80 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 24 6e 65 SE_FOLD,.$encoding);.........$ne
79da0 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 6e 65 edle.=.self::mb_convert_case($ne
79dc0 65 64 6c 65 2c 20 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 edle,.self::MB_CASE_FOLD,.$encod
79de0 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 ing);..........return.self::mb_s
79e00 74 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 trpos($haystack,.$needle,.$offse
79e20 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 t,.$encoding);.....}......public
79e40 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 61 79 .static.function.mb_stristr($hay
79e60 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,.$
79e80 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 encoding.=.null).....{.........$
79ea0 70 6f 73 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b pos.=.self::mb_stripos($haystack
79ec0 2c 20 24 6e 65 65 64 6c 65 2c 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 20 20 20 20 20 ,.$needle,.0,.$encoding);.......
79ee0 20 20 20 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 ...return.self::getSubpart($pos,
79f00 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 6e 67 29 3b 0a 20 .$part,.$haystack,.$encoding);..
79f20 20 20 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 ...}......public.static.function
79f40 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 65 64 6c 65 2c 20 .mb_strrchr($haystack,.$needle,.
79f60 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 20 6e 75 6c 6c 29 $part.=.false,.$encoding.=.null)
79f80 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a .....{.........$encoding.=.self:
79fa0 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 20 20 20 20 20 20 20 :getEncoding($encoding);........
79fc0 20 24 6e 65 65 64 6c 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 .$needle.=.self::mb_substr($need
79fe0 6c 65 2c 20 30 2c 20 31 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 24 70 le,.0,.1,.$encoding);.........$p
7a000 6f 73 20 3d 20 69 63 6f 6e 76 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e os.=.iconv_strrpos($haystack,.$n
7a020 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 eedle,.$encoding);..........retu
7a040 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 70 61 72 74 2c rn.self::getSubpart($pos,.$part,
7a060 20 24 68 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 7d 0a 0a 20 .$haystack,.$encoding);.....}...
7a080 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 6d 62 5f 73 74 72 ...public.static.function.mb_str
7a0a0 72 69 63 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 richr($haystack,.$needle,.$part.
7a0c0 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b =.false,.$encoding.=.null).....{
7a0e0 0a 20 20 20 20 20 20 20 20 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 .........$needle.=.self::mb_subs
7a100 74 72 28 24 6e 65 65 64 6c 65 2c 20 30 2c 20 31 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 tr($needle,.0,.1,.$encoding);...
7a120 20 20 20 20 20 20 24 70 6f 73 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 ......$pos.=.self::mb_strripos($
7a140 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 0a haystack,.$needle,.$encoding);..
7a160 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 53 75 62 70 61 72 74 28 ........return.self::getSubpart(
7a180 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 6e $pos,.$part,.$haystack,.$encodin
7a1a0 67 29 3b 0a 20 20 20 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 g);.....}......public.static.fun
7a1c0 63 74 69 6f 6e 20 6d 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 ction.mb_strripos($haystack,.$ne
7a1e0 65 64 6c 65 2c 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 edle,.$offset.=.0,.$encoding.=.n
7a200 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 68 61 79 73 74 61 63 6b 20 3d 20 73 ull).....{.........$haystack.=.s
7a220 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 68 61 79 73 74 61 63 6b 2c 20 elf::mb_convert_case($haystack,.
7a240 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a self::MB_CASE_FOLD,.$encoding);.
7a260 20 20 20 20 20 20 20 20 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 ........$needle.=.self::mb_conve
7a280 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 41 53 45 5f 46 rt_case($needle,.self::MB_CASE_F
7a2a0 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e OLD,.$encoding);..........return
7a2c0 20 73 65 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 .self::mb_strrpos($haystack,.$ne
7a2e0 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 20 20 20 20 7d edle,.$offset,.$encoding);.....}
7a300 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 6d 62 5f ......public.static.function.mb_
7a320 73 74 72 73 74 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 strstr($haystack,.$needle,.$part
7a340 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 .=.false,.$encoding.=.null).....
7a360 7b 0a 20 20 20 20 20 20 20 20 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 {.........$pos.=.strpos($haystac
7a380 6b 2c 20 24 6e 65 65 64 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d k,.$needle);.........if.(false.=
7a3a0 3d 3d 20 24 70 6f 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 ==.$pos).{.............return.fa
7a3c0 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 61 72 74 lse;.........}.........if.($part
7a3e0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 68 ).{.............return.substr($h
7a400 61 79 73 74 61 63 6b 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 aystack,.0,.$pos);.........}....
7a420 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 ......return.substr($haystack,.$
7a440 70 6f 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 pos);.....}......public.static.f
7a460 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 6c unction.mb_get_info($type.=.'all
7a480 27 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 20 3d 20 61 72 72 61 79 28 0a ').....{.........$info.=.array(.
7a4a0 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 27 20 ............'internal_encoding'.
7a4c0 3d 3e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 2c 0a 20 20 20 20 =>.self::$internalEncoding,.....
7a4e0 20 20 20 20 20 20 20 20 27 68 74 74 70 5f 6f 75 74 70 75 74 27 20 3d 3e 20 27 70 61 73 73 27 2c ........'http_output'.=>.'pass',
7a500 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 68 74 74 70 5f 6f 75 74 70 75 74 5f 63 6f 6e 76 5f 6d .............'http_output_conv_m
7a520 69 6d 65 74 79 70 65 73 27 20 3d 3e 20 27 5e 28 74 65 78 74 2f 7c 61 70 70 6c 69 63 61 74 69 6f imetypes'.=>.'^(text/|applicatio
7a540 6e 2f 78 68 74 6d 6c 5c 2b 78 6d 6c 29 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 66 75 6e n/xhtml\+xml)',.............'fun
7a560 63 5f 6f 76 65 72 6c 6f 61 64 27 20 3d 3e 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 66 c_overload'.=>.0,.............'f
7a580 75 6e 63 5f 6f 76 65 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 unc_overload_list'.=>.'no.overlo
7a5a0 61 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 69 6c 5f 63 68 61 72 73 65 74 27 20 ad',.............'mail_charset'.
7a5c0 3d 3e 20 27 55 54 46 2d 38 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 69 6c 5f 68 65 =>.'UTF-8',.............'mail_he
7a5e0 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 20 20 20 20 ader_encoding'.=>.'BASE64',.....
7a600 20 20 20 20 20 20 20 20 27 6d 61 69 6c 5f 62 6f 64 79 5f 65 6e 63 6f 64 69 6e 67 27 20 3d 3e 20 ........'mail_body_encoding'.=>.
7a620 27 42 41 53 45 36 34 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6c 6c 65 67 61 6c 5f 63 'BASE64',.............'illegal_c
7a640 68 61 72 73 27 20 3d 3e 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 65 6e 63 6f 64 69 6e hars'.=>.0,.............'encodin
7a660 67 5f 74 72 61 6e 73 6c 61 74 69 6f 6e 27 20 3d 3e 20 27 4f 66 66 27 2c 0a 20 20 20 20 20 20 20 g_translation'.=>.'Off',........
7a680 20 20 20 20 20 27 6c 61 6e 67 75 61 67 65 27 20 3d 3e 20 73 65 6c 66 3a 3a 24 6c 61 6e 67 75 61 .....'language'.=>.self::$langua
7a6a0 67 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 74 65 63 74 5f 6f 72 64 65 72 27 20 3d ge,.............'detect_order'.=
7a6c0 3e 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 2c 0a 20 20 20 20 20 20 20 20 20 >.self::$encodingList,..........
7a6e0 20 20 20 27 73 75 62 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 ...'substitute_character'.=>.'no
7a700 6e 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 73 74 72 69 63 74 5f 64 65 74 65 63 74 69 ne',.............'strict_detecti
7a720 6f 6e 27 20 3d 3e 20 27 4f 66 66 27 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 on'.=>.'Off',.........);........
7a740 20 20 69 66 20 28 27 61 6c 6c 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 ..if.('all'.===.$type).{........
7a760 20 20 20 20 20 72 65 74 75 72 6e 20 24 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .....return.$info;.........}....
7a780 20 20 20 20 20 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 0a .....if.(isset($info[$type])).{.
7a7a0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 69 6e 66 6f 5b 24 74 79 70 65 5d 3b ............return.$info[$type];
7a7c0 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 20 66 61 6c 73 65 .........}..........return.false
7a7e0 3b 0a 20 20 20 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 ;.....}......public.static.funct
7a800 69 6f 6e 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 20 20 ion.mb_http_input($type.=.'')...
7a820 20 20 7b 0a 20 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 7d 0a ..{.........return.false;.....}.
7a840 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 6d 62 5f 68 .....public.static.function.mb_h
7a860 74 74 70 5f 6f 75 74 70 75 74 28 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 ttp_output($encoding.=.null)....
7a880 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e 63 6f .{.........return.null.!==.$enco
7a8a0 64 69 6e 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 ding.?.'pass'.===.$encoding.:.'p
7a8c0 61 73 73 27 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 ass';.....}......public.static.f
7a8e0 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e unction.mb_strwidth($s,.$encodin
7a900 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 65 6e 63 6f 64 69 6e g.=.null).....{.........$encodin
7a920 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)
7a940 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 24 65 6e 63 6f ;..........if.('UTF-8'.!==.$enco
7a960 64 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 3d 20 69 63 6f 6e 76 28 24 ding).{.............$s.=.iconv($
7a980 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 27 2c 20 24 73 29 3b 0a 20 20 20 20 20 20 20 20 encoding,.'UTF-8',.$s);.........
7a9a0 7d 0a 0a 20 20 20 20 20 20 20 20 24 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b }..........$s.=.preg_replace('/[
7a9c0 5c 78 7b 31 31 30 30 7d 2d 5c 78 7b 31 31 35 46 7d 5c 78 7b 32 33 32 39 7d 5c 78 7b 32 33 32 41 \x{1100}-\x{115F}\x{2329}\x{232A
7a9e0 7d 5c 78 7b 32 45 38 30 7d 2d 5c 78 7b 33 30 33 45 7d 5c 78 7b 33 30 34 30 7d 2d 5c 78 7b 41 34 }\x{2E80}-\x{303E}\x{3040}-\x{A4
7aa00 43 46 7d 5c 78 7b 41 43 30 30 7d 2d 5c 78 7b 44 37 41 33 7d 5c 78 7b 46 39 30 30 7d 2d 5c 78 7b CF}\x{AC00}-\x{D7A3}\x{F900}-\x{
7aa20 46 41 46 46 7d 5c 78 7b 46 45 31 30 7d 2d 5c 78 7b 46 45 31 39 7d 5c 78 7b 46 45 33 30 7d 2d 5c FAFF}\x{FE10}-\x{FE19}\x{FE30}-\
7aa40 78 7b 46 45 36 46 7d 5c 78 7b 46 46 30 30 7d 2d 5c 78 7b 46 46 36 30 7d 5c 78 7b 46 46 45 30 7d x{FE6F}\x{FF00}-\x{FF60}\x{FFE0}
7aa60 2d 5c 78 7b 46 46 45 36 7d 5c 78 7b 32 30 30 30 30 7d 2d 5c 78 7b 32 46 46 46 44 7d 5c 78 7b 33 -\x{FFE6}\x{20000}-\x{2FFFD}\x{3
7aa80 30 30 30 30 7d 2d 5c 78 7b 33 46 46 46 44 7d 5d 2f 75 27 2c 20 27 27 2c 20 24 73 2c 20 2d 31 2c 0000}-\x{3FFFD}]/u',.'',.$s,.-1,
7aaa0 20 24 77 69 64 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 24 77 69 64 65 20 .$wide);..........return.($wide.
7aac0 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 54 46 2d 38 27 <<.1).+.iconv_strlen($s,.'UTF-8'
7aae0 29 3b 0a 20 20 20 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 );.....}......public.static.func
7ab00 74 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 tion.mb_substr_count($haystack,.
7ab20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 20 20 20 20 7b $needle,.$encoding.=.null).....{
7ab40 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 .........return.substr_count($ha
7ab60 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 ystack,.$needle);.....}......pub
7ab80 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6f 75 74 70 75 74 5f 68 61 lic.static.function.mb_output_ha
7aba0 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 0a 20 20 20 20 7b 0a ndler($contents,.$status).....{.
7abc0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 73 3b 0a 20 20 20 20 7d 0a ........return.$contents;.....}.
7abe0 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .....private.static.function.get
7ac00 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 20 Subpart($pos,.$part,.$haystack,.
7ac20 24 65 6e 63 6f 64 69 6e 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c $encoding).....{.........if.(fal
7ac40 73 65 20 3d 3d 3d 20 24 70 6f 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 se.===.$pos).{.............retur
7ac60 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 20 69 66 20 28 24 n.false;.........}.........if.($
7ac80 70 61 72 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a part).{.............return.self:
7aca0 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 70 6f 73 2c 20 24 :mb_substr($haystack,.0,.$pos,.$
7acc0 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 encoding);.........}..........re
7ace0 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 61 63 6b 2c 20 turn.self::mb_substr($haystack,.
7ad00 24 70 6f 73 2c 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 20 20 20 20 7d 0a 0a 20 $pos,.null,.$encoding);.....}...
7ad20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 74 6d 6c 5f ...private.static.function.html_
7ad40 65 6e 63 6f 64 69 6e 67 5f 63 61 6c 6c 62 61 63 6b 28 24 6d 29 0a 20 20 20 20 7b 0a 20 20 20 20 encoding_callback($m).....{.....
7ad60 20 20 20 20 24 69 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 24 65 6e 74 69 74 69 65 73 20 3d 20 ....$i.=.1;.........$entities.=.
7ad80 27 27 3b 0a 20 20 20 20 20 20 20 20 24 6d 20 3d 20 75 6e 70 61 63 6b 28 27 43 2a 27 2c 20 68 74 '';.........$m.=.unpack('C*',.ht
7ada0 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 55 mlentities($m[0],.ENT_COMPAT,.'U
7adc0 54 46 2d 38 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 TF-8'));..........while.(isset($
7ade0 6d 5b 24 69 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 78 38 30 20 3e m[$i])).{.............if.(0x80.>
7ae00 20 24 6d 5b 24 69 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6e 74 69 .$m[$i]).{.................$enti
7ae20 74 69 65 73 20 2e 3d 20 63 68 72 28 24 6d 5b 24 69 2b 2b 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 ties..=.chr($m[$i++]);..........
7ae40 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .......continue;.............}..
7ae60 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 78 46 30 20 3c 3d 20 24 6d 5b 24 69 5d 29 20 7b ...........if.(0xF0.<=.$m[$i]).{
7ae80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 20 3d 20 28 28 24 6d 5b 24 69 2b 2b 5d .................$c.=.(($m[$i++]
7aea0 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 2b 5d 20 2d 20 30 .-.0xF0).<<.18).+.(($m[$i++].-.0
7aec0 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 20 30 78 38 30 29 x80).<<.12).+.(($m[$i++].-.0x80)
7aee0 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 20 20 20 20 20 20 .<<.6).+.$m[$i++].-.0x80;.......
7af00 20 20 20 20 20 20 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 ......}.elseif.(0xE0.<=.$m[$i]).
7af20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 20 3d 20 28 28 24 6d 5b 24 69 2b 2b {.................$c.=.(($m[$i++
7af40 5d 20 2d 20 30 78 45 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 ].-.0xE0).<<.12).+.(($m[$i++].-.
7af60 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 20 0x80).<<.6).+.$m[$i++].-.0x80;..
7af80 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 20 20 ...........}.else.{.............
7afa0 20 20 20 20 24 63 20 3d 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 43 30 29 20 3c 3c 20 36 ....$c.=.(($m[$i++].-.0xC0).<<.6
7afc0 29 20 2b 20 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ).+.$m[$i++].-.0x80;............
7afe0 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6e 74 69 74 69 65 73 20 2e 3d 20 27 26 23 .}..............$entities..=.'&#
7b000 27 2e 24 63 2e 27 3b 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 '.$c.';';.........}..........ret
7b020 75 72 6e 20 24 65 6e 74 69 74 69 65 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 urn.$entities;.....}......privat
7b040 65 20 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 5f 6c 6f 77 e.static.function.title_case_low
7b060 65 72 28 24 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 er($s).....{.........return.self
7b080 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 5b 30 5d 2c 20 4d 42 5f 43 41 53 45 ::mb_convert_case($s[0],.MB_CASE
7b0a0 5f 4c 4f 57 45 52 2c 20 27 55 54 46 2d 38 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 _LOWER,.'UTF-8');.....}......pri
7b0c0 76 61 74 65 20 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 5f vate.static.function.title_case_
7b0e0 75 70 70 65 72 28 24 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 upper($s).....{.........return.s
7b100 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 5b 30 5d 2c 20 4d 42 5f 43 elf::mb_convert_case($s[0],.MB_C
7b120 41 53 45 5f 55 50 50 45 52 2c 20 27 55 54 46 2d 38 27 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 ASE_UPPER,.'UTF-8');.....}......
7b140 70 72 69 76 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 private.static.function.getData(
7b160 24 66 69 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 $file).....{.........if.(file_ex
7b180 69 73 74 73 28 24 66 69 6c 65 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 52 65 73 6f 75 72 63 65 73 ists($file.=.__DIR__.'/Resources
7b1a0 2f 75 6e 69 64 61 74 61 2f 27 2e 24 66 69 6c 65 2e 27 2e 70 68 70 27 29 29 20 7b 0a 20 20 20 20 /unidata/'.$file.'.php')).{.....
7b1c0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 71 75 69 72 65 20 24 66 69 6c 65 3b 0a 20 20 ........return.require.$file;...
7b1e0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 ......}..........return.false;..
7b200 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ...}......private.static.functio
7b220 6e 20 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 0a 20 20 20 20 7b 0a 20 n.getEncoding($encoding).....{..
7b240 20 20 20 20 20 20 20 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 .......if.(null.===.$encoding).{
7b260 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 .............return.self::$inter
7b280 6e 61 6c 45 6e 63 6f 64 69 6e 67 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 nalEncoding;.........}..........
7b2a0 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 64 69 6e 67 $encoding.=.strtoupper($encoding
7b2c0 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 38 42 49 54 27 20 3d 3d 3d 20 24 65 6e 63 6f );..........if.('8BIT'.===.$enco
7b2e0 64 69 6e 67 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 ding.||.'BINARY'.===.$encoding).
7b300 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 43 50 38 35 30 27 3b 0a 20 20 {.............return.'CP850';...
7b320 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 27 55 54 46 38 27 20 3d 3d 3d 20 24 ......}.........if.('UTF8'.===.$
7b340 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 encoding).{.............return.'
7b360 55 54 46 2d 38 27 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 UTF-8';.........}..........retur
7b380 6e 20 24 65 6e 63 6f 64 69 6e 67 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 2f 2a 0a 20 n.$encoding;.....}.}.<?php../*..
7b3a0 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 53 79 6d 66 6f *.This.file.is.part.of.the.Symfo
7b3c0 6e 79 20 70 61 63 6b 61 67 65 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 46 61 62 69 65 6e 20 50 6f 74 ny.package...*..*.(c).Fabien.Pot
7b3e0 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 0a 20 encier.<fabien@symfony.com>..*..
7b400 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 63 *.For.the.full.copyright.and.lic
7b420 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 68 ense.information,.please.view.th
7b440 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 72 e.LICENSE..*.file.that.was.distr
7b460 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 2a ibuted.with.this.source.code...*
7b480 2f 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 6e 67 /..use.Symfony\Polyfill\Mbstring
7b4a0 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 6d 62 .as.p;..if.(!function_exists('mb
7b4c0 5f 73 74 72 6c 65 6e 27 29 29 20 7b 0a 20 20 20 20 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 _strlen')).{.....define('MB_CASE
7b4e0 5f 55 50 50 45 52 27 2c 20 30 29 3b 0a 20 20 20 20 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 _UPPER',.0);.....define('MB_CASE
7b500 5f 4c 4f 57 45 52 27 2c 20 31 29 3b 0a 20 20 20 20 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 _LOWER',.1);.....define('MB_CASE
7b520 5f 54 49 54 4c 45 27 2c 20 32 29 3b 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f _TITLE',.2);......function.mb_co
7b540 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 74 6f 2c 20 24 66 72 6f 6d 20 3d 20 nvert_encoding($s,.$to,.$from.=.
7b560 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 63 6f null).{.return.p\Mbstring::mb_co
7b580 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 74 6f 2c 20 24 66 72 6f 6d 29 3b 20 nvert_encoding($s,.$to,.$from);.
7b5a0 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 }.....function.mb_decode_mimehea
7b5c0 64 65 72 28 24 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 der($s).{.return.p\Mbstring::mb_
7b5e0 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 29 3b 20 7d 0a 20 20 20 20 66 75 6e decode_mimeheader($s);.}.....fun
7b600 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 24 ction.mb_encode_mimeheader($s,.$
7b620 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 20 3d 20 6e charset.=.null,.$transferEnc.=.n
7b640 75 6c 6c 2c 20 24 6c 66 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 64 65 6e 74 20 3d 20 6e 75 6c 6c 29 ull,.$lf.=.null,.$indent.=.null)
7b660 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 65 5f .{.return.p\Mbstring::mb_encode_
7b680 6d 69 6d 65 68 65 61 64 65 72 28 24 73 2c 20 24 63 68 61 72 73 65 74 2c 20 24 74 72 61 6e 73 66 mimeheader($s,.$charset,.$transf
7b6a0 65 72 45 6e 63 2c 20 24 6c 66 2c 20 24 69 6e 64 65 6e 74 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 erEnc,.$lf,.$indent);.}.....func
7b6c0 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,.
7b6e0 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
7b700 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
7b720 63 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 c);.}.....function.mb_internal_e
7b740 6e 63 6f 64 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 ncoding($enc.=.null).{.return.p\
7b760 4d 62 73 74 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 Mbstring::mb_internal_encoding($
7b780 65 6e 63 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 61 6e 67 75 61 67 65 enc);.}.....function.mb_language
7b7a0 28 24 6c 61 6e 67 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 ($lang.=.null).{.return.p\Mbstri
7b7c0 6e 67 3a 3a 6d 62 5f 6c 61 6e 67 75 61 67 65 28 24 6c 61 6e 67 29 3b 20 7d 0a 20 20 20 20 66 75 ng::mb_language($lang);.}.....fu
7b7e0 6e 63 74 69 6f 6e 20 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 20 7b 20 72 65 74 nction.mb_list_encodings().{.ret
7b800 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 urn.p\Mbstring::mb_list_encoding
7b820 73 28 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 69 6e 67 5f s();.}.....function.mb_encoding_
7b840 61 6c 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e 67 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 aliases($encoding).{.return.p\Mb
7b860 73 74 72 69 6e 67 3a 3a 6d 62 5f 65 6e 63 6f 64 69 6e 67 5f 61 6c 69 61 73 65 73 28 24 65 6e 63 string::mb_encoding_aliases($enc
7b880 6f 64 69 6e 67 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 65 63 6b 5f oding);.}.....function.mb_check_
7b8a0 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 63 6f 64 69 6e 67 20 encoding($var.=.null,.$encoding.
7b8c0 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 5f =.null).{.return.p\Mbstring::mb_
7b8e0 63 68 65 63 6b 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b check_encoding($var,.$encoding);
7b900 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 .}.....function.mb_detect_encodi
7b920 6e 67 28 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 24 ng($str,.$encodingList.=.null,.$
7b940 73 74 72 69 63 74 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 strict.=.false).{.return.p\Mbstr
7b960 69 6e 67 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 2c 20 24 65 ing::mb_detect_encoding($str,.$e
7b980 6e 63 6f 64 69 6e 67 4c 69 73 74 2c 20 24 73 74 72 69 63 74 29 3b 20 7d 0a 20 20 20 20 66 75 6e ncodingList,.$strict);.}.....fun
7b9a0 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 69 6e 67 4c ction.mb_detect_order($encodingL
7b9c0 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 69 6e 67 3a ist.=.null).{.return.p\Mbstring:
7b9e0 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 73 74 29 3b :mb_detect_order($encodingList);
7ba00 20 7d 0a 20 20 20 20 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 .}.....function.mb_parse_str($s,
7ba20 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
7ba40 28 24 73 2c 20 24 72 65 73 75 6c 74 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 ($s,.$result);.}.....function.mb
7ba60 5f 73 74 72 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 _strlen($s,.$enc.=.null).{.retur
7ba80 6e 20 70 5c 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 n.p\Mbstring::mb_strlen($s,.$enc
7baa0 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 70 6f 73 28 24 73 2c 20 );.}.....function.mb_strpos($s,.
7bac0 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 20 3d 20 6e 75 6c $needle,.$offset.=.0,.$enc.=.nul
7bae0 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 70 6f l).{.return.p\Mbstring::mb_strpo
7bb00 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 65 6e 63 29 3b 20 7d s($s,.$needle,.$offset,.$enc);.}
7bb20 0a 20 20 20 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 73 2c 20 .....function.mb_strtolower($s,.
7bb40 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
7bb60 3a 3a 6d 62 5f 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 20 20 20 ::mb_strtolower($s,.$enc);.}....
7bb80 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 65 6e 63 .function.mb_strtoupper($s,.$enc
7bba0 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
7bbc0 5f 73 74 72 74 6f 75 70 70 65 72 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 20 20 20 20 66 75 6e _strtoupper($s,.$enc);.}.....fun
7bbe0 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 28 24 63 ction.mb_substitute_character($c
7bc00 68 61 72 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 har.=.null).{.return.p\Mbstring:
7bc20 3a 6d 62 5f 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 3b :mb_substitute_character($char);
7bc40 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 .}.....function.mb_substr($s,.$s
7bc60 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 20 3d 20 32 31 34 37 34 38 33 36 34 37 2c 20 24 65 6e 63 tart,.$length.=.2147483647,.$enc
7bc80 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
7bca0 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 2c 20 24 65 6e _substr($s,.$start,.$length,.$en
7bcc0 63 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 70 6f 73 28 24 73 c);.}.....function.mb_stripos($s
7bce0 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 20 3d 20 6e ,.$needle,.$offset.=.0,.$enc.=.n
7bd00 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
7bd20 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 65 6e 63 29 ipos($s,.$needle,.$offset,.$enc)
7bd40 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 73 74 72 28 24 73 2c 20 ;.}.....function.mb_stristr($s,.
7bd60 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
7bd80 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
7bda0 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);.
7bdc0 7d 0a 20 20 20 20 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 }.....function.mb_strrchr($s,.$n
7bde0 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 75 6c eedle,.$part.=.false,.$enc.=.nul
7be00 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 72 63 l).{.return.p\Mbstring::mb_strrc
7be20 68 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 7d 0a hr($s,.$needle,.$part,.$enc);.}.
7be40 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 63 68 72 28 24 73 2c 20 24 6e 65 ....function.mb_strrichr($s,.$ne
7be60 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 75 6c 6c edle,.$part.=.false,.$enc.=.null
7be80 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 72 69 63 ).{.return.p\Mbstring::mb_strric
7bea0 68 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 7d 0a hr($s,.$needle,.$part,.$enc);.}.
7bec0 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 ....function.mb_strripos($s,.$ne
7bee0 65 64 6c 65 2c 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 edle,.$offset.=.0,.$enc.=.null).
7bf00 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 72 69 70 6f 73 {.return.p\Mbstring::mb_strripos
7bf20 28 24 73 2c 20 24 6e 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 ($s,.$needle,.$offset,.$enc);.}.
7bf40 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 ....function.mb_strrpos($s,.$nee
7bf60 64 6c 65 2c 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 dle,.$offset.=.0,.$enc.=.null).{
7bf80 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 70 6f 73 28 24 .return.p\Mbstring::mb_strrpos($
7bfa0 73 2c 20 24 6e 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 20 20 s,.$needle,.$offset,.$enc);.}...
7bfc0 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 ..function.mb_strstr($s,.$needle
7bfe0 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 20 ,.$part.=.false,.$enc.=.null).{.
7c000 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 73 74 72 28 24 73 2c return.p\Mbstring::mb_strstr($s,
7c020 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 20 20 20 20 66 75 .$needle,.$part,.$enc);.}.....fu
7c040 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 6c 27 nction.mb_get_info($type.=.'all'
7c060 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 67 65 74 5f 69 6e ).{.return.p\Mbstring::mb_get_in
7c080 66 6f 28 24 74 79 70 65 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 fo($type);.}.....function.mb_htt
7c0a0 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 72 6e 20 70 p_output($enc.=.null).{.return.p
7c0c0 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 6e 63 29 3b \Mbstring::mb_http_output($enc);
7c0e0 20 7d 0a 20 20 20 20 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 .}.....function.mb_strwidth($s,.
7c100 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
7c120 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 20 20 20 20 66 ::mb_strwidth($s,.$enc);.}.....f
7c140 75 6e 63 74 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 unction.mb_substr_count($haystac
7c160 6b 2c 20 24 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 k,.$needle,.$enc.=.null).{.retur
7c180 6e 20 70 5c 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 n.p\Mbstring::mb_substr_count($h
7c1a0 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 29 3b 20 7d 0a 20 20 20 20 66 aystack,.$needle,.$enc);.}.....f
7c1c0 75 6e 63 74 69 6f 6e 20 6d 62 5f 6f 75 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 unction.mb_output_handler($conte
7c1e0 6e 74 73 2c 20 24 73 74 61 74 75 73 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e nts,.$status).{.return.p\Mbstrin
7c200 67 3a 3a 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 g::mb_output_handler($contents,.
7c220 24 73 74 61 74 75 73 29 3b 20 7d 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 $status);.}.....function.mb_http
7c240 5f 69 6e 70 75 74 28 24 74 79 70 65 20 3d 20 27 27 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 _input($type.=.'').{.return.p\Mb
7c260 73 74 72 69 6e 67 3a 3a 6d 62 5f 68 74 74 70 5f 69 6e 70 75 74 28 24 74 79 70 65 29 3b 20 7d 0a string::mb_http_input($type);.}.
7c280 20 20 20 20 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 ....function.mb_convert_variable
7c2a0 73 28 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 26 24 s($toEncoding,.$fromEncoding,.&$
7c2c0 61 20 3d 20 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 a.=.null,.&$b.=.null,.&$c.=.null
7c2e0 2c 20 26 24 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 ,.&$d.=.null,.&$e.=.null,.&$f.=.
7c300 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 63 6f null).{.return.p\Mbstring::mb_co
7c320 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 66 72 nvert_variables($toEncoding,.$fr
7c340 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 24 76 30 2c 20 24 61 2c 20 24 62 2c 20 24 63 2c 20 24 64 2c omEncoding,.$v0,.$a,.$b,.$c,.$d,
7c360 20 24 65 2c 20 24 66 29 3b 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 73 74 61 74 69 63 20 24 64 61 74 .$e,.$f);.}.}.<?php..static.$dat
7c380 61 20 3d 20 61 72 72 61 79 20 28 0a 20 20 27 41 27 20 3d 3e 20 27 61 27 2c 0a 20 20 27 42 27 20 a.=.array.(...'A'.=>.'a',...'B'.
7c3a0 3d 3e 20 27 62 27 2c 0a 20 20 27 43 27 20 3d 3e 20 27 63 27 2c 0a 20 20 27 44 27 20 3d 3e 20 27 =>.'b',...'C'.=>.'c',...'D'.=>.'
7c3c0 64 27 2c 0a 20 20 27 45 27 20 3d 3e 20 27 65 27 2c 0a 20 20 27 46 27 20 3d 3e 20 27 66 27 2c 0a d',...'E'.=>.'e',...'F'.=>.'f',.
7c3e0 20 20 27 47 27 20 3d 3e 20 27 67 27 2c 0a 20 20 27 48 27 20 3d 3e 20 27 68 27 2c 0a 20 20 27 49 ..'G'.=>.'g',...'H'.=>.'h',...'I
7c400 27 20 3d 3e 20 27 69 27 2c 0a 20 20 27 4a 27 20 3d 3e 20 27 6a 27 2c 0a 20 20 27 4b 27 20 3d 3e '.=>.'i',...'J'.=>.'j',...'K'.=>
7c420 20 27 6b 27 2c 0a 20 20 27 4c 27 20 3d 3e 20 27 6c 27 2c 0a 20 20 27 4d 27 20 3d 3e 20 27 6d 27 .'k',...'L'.=>.'l',...'M'.=>.'m'
7c440 2c 0a 20 20 27 4e 27 20 3d 3e 20 27 6e 27 2c 0a 20 20 27 4f 27 20 3d 3e 20 27 6f 27 2c 0a 20 20 ,...'N'.=>.'n',...'O'.=>.'o',...
7c460 27 50 27 20 3d 3e 20 27 70 27 2c 0a 20 20 27 51 27 20 3d 3e 20 27 71 27 2c 0a 20 20 27 52 27 20 'P'.=>.'p',...'Q'.=>.'q',...'R'.
7c480 3d 3e 20 27 72 27 2c 0a 20 20 27 53 27 20 3d 3e 20 27 73 27 2c 0a 20 20 27 54 27 20 3d 3e 20 27 =>.'r',...'S'.=>.'s',...'T'.=>.'
7c4a0 74 27 2c 0a 20 20 27 55 27 20 3d 3e 20 27 75 27 2c 0a 20 20 27 56 27 20 3d 3e 20 27 76 27 2c 0a t',...'U'.=>.'u',...'V'.=>.'v',.
7c4c0 20 20 27 57 27 20 3d 3e 20 27 77 27 2c 0a 20 20 27 58 27 20 3d 3e 20 27 78 27 2c 0a 20 20 27 59 ..'W'.=>.'w',...'X'.=>.'x',...'Y
7c4e0 27 20 3d 3e 20 27 79 27 2c 0a 20 20 27 5a 27 20 3d 3e 20 27 7a 27 2c 0a 20 20 27 c3 80 27 20 3d '.=>.'y',...'Z'.=>.'z',...'..'.=
7c500 3e 20 27 c3 a0 27 2c 0a 20 20 27 c3 81 27 20 3d 3e 20 27 c3 a1 27 2c 0a 20 20 27 c3 82 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c520 3e 20 27 c3 a2 27 2c 0a 20 20 27 c3 83 27 20 3d 3e 20 27 c3 a3 27 2c 0a 20 20 27 c3 84 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c540 3e 20 27 c3 a4 27 2c 0a 20 20 27 c3 85 27 20 3d 3e 20 27 c3 a5 27 2c 0a 20 20 27 c3 86 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c560 3e 20 27 c3 a6 27 2c 0a 20 20 27 c3 87 27 20 3d 3e 20 27 c3 a7 27 2c 0a 20 20 27 c3 88 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c580 3e 20 27 c3 a8 27 2c 0a 20 20 27 c3 89 27 20 3d 3e 20 27 c3 a9 27 2c 0a 20 20 27 c3 8a 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c5a0 3e 20 27 c3 aa 27 2c 0a 20 20 27 c3 8b 27 20 3d 3e 20 27 c3 ab 27 2c 0a 20 20 27 c3 8c 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c5c0 3e 20 27 c3 ac 27 2c 0a 20 20 27 c3 8d 27 20 3d 3e 20 27 c3 ad 27 2c 0a 20 20 27 c3 8e 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c5e0 3e 20 27 c3 ae 27 2c 0a 20 20 27 c3 8f 27 20 3d 3e 20 27 c3 af 27 2c 0a 20 20 27 c3 90 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c600 3e 20 27 c3 b0 27 2c 0a 20 20 27 c3 91 27 20 3d 3e 20 27 c3 b1 27 2c 0a 20 20 27 c3 92 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c620 3e 20 27 c3 b2 27 2c 0a 20 20 27 c3 93 27 20 3d 3e 20 27 c3 b3 27 2c 0a 20 20 27 c3 94 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c640 3e 20 27 c3 b4 27 2c 0a 20 20 27 c3 95 27 20 3d 3e 20 27 c3 b5 27 2c 0a 20 20 27 c3 96 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c660 3e 20 27 c3 b6 27 2c 0a 20 20 27 c3 98 27 20 3d 3e 20 27 c3 b8 27 2c 0a 20 20 27 c3 99 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c680 3e 20 27 c3 b9 27 2c 0a 20 20 27 c3 9a 27 20 3d 3e 20 27 c3 ba 27 2c 0a 20 20 27 c3 9b 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c6a0 3e 20 27 c3 bb 27 2c 0a 20 20 27 c3 9c 27 20 3d 3e 20 27 c3 bc 27 2c 0a 20 20 27 c3 9d 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c6c0 3e 20 27 c3 bd 27 2c 0a 20 20 27 c3 9e 27 20 3d 3e 20 27 c3 be 27 2c 0a 20 20 27 c4 80 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c6e0 3e 20 27 c4 81 27 2c 0a 20 20 27 c4 82 27 20 3d 3e 20 27 c4 83 27 2c 0a 20 20 27 c4 84 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c700 3e 20 27 c4 85 27 2c 0a 20 20 27 c4 86 27 20 3d 3e 20 27 c4 87 27 2c 0a 20 20 27 c4 88 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c720 3e 20 27 c4 89 27 2c 0a 20 20 27 c4 8a 27 20 3d 3e 20 27 c4 8b 27 2c 0a 20 20 27 c4 8c 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c740 3e 20 27 c4 8d 27 2c 0a 20 20 27 c4 8e 27 20 3d 3e 20 27 c4 8f 27 2c 0a 20 20 27 c4 90 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c760 3e 20 27 c4 91 27 2c 0a 20 20 27 c4 92 27 20 3d 3e 20 27 c4 93 27 2c 0a 20 20 27 c4 94 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c780 3e 20 27 c4 95 27 2c 0a 20 20 27 c4 96 27 20 3d 3e 20 27 c4 97 27 2c 0a 20 20 27 c4 98 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c7a0 3e 20 27 c4 99 27 2c 0a 20 20 27 c4 9a 27 20 3d 3e 20 27 c4 9b 27 2c 0a 20 20 27 c4 9c 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c7c0 3e 20 27 c4 9d 27 2c 0a 20 20 27 c4 9e 27 20 3d 3e 20 27 c4 9f 27 2c 0a 20 20 27 c4 a0 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c7e0 3e 20 27 c4 a1 27 2c 0a 20 20 27 c4 a2 27 20 3d 3e 20 27 c4 a3 27 2c 0a 20 20 27 c4 a4 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c800 3e 20 27 c4 a5 27 2c 0a 20 20 27 c4 a6 27 20 3d 3e 20 27 c4 a7 27 2c 0a 20 20 27 c4 a8 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c820 3e 20 27 c4 a9 27 2c 0a 20 20 27 c4 aa 27 20 3d 3e 20 27 c4 ab 27 2c 0a 20 20 27 c4 ac 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c840 3e 20 27 c4 ad 27 2c 0a 20 20 27 c4 ae 27 20 3d 3e 20 27 c4 af 27 2c 0a 20 20 27 c4 b0 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7c860 3e 20 27 69 27 2c 0a 20 20 27 c4 b2 27 20 3d 3e 20 27 c4 b3 27 2c 0a 20 20 27 c4 b4 27 20 3d 3e >.'i',...'..'.=>.'..',...'..'.=>
7c880 20 27 c4 b5 27 2c 0a 20 20 27 c4 b6 27 20 3d 3e 20 27 c4 b7 27 2c 0a 20 20 27 c4 b9 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c8a0 20 27 c4 ba 27 2c 0a 20 20 27 c4 bb 27 20 3d 3e 20 27 c4 bc 27 2c 0a 20 20 27 c4 bd 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c8c0 20 27 c4 be 27 2c 0a 20 20 27 c4 bf 27 20 3d 3e 20 27 c5 80 27 2c 0a 20 20 27 c5 81 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c8e0 20 27 c5 82 27 2c 0a 20 20 27 c5 83 27 20 3d 3e 20 27 c5 84 27 2c 0a 20 20 27 c5 85 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c900 20 27 c5 86 27 2c 0a 20 20 27 c5 87 27 20 3d 3e 20 27 c5 88 27 2c 0a 20 20 27 c5 8a 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c920 20 27 c5 8b 27 2c 0a 20 20 27 c5 8c 27 20 3d 3e 20 27 c5 8d 27 2c 0a 20 20 27 c5 8e 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c940 20 27 c5 8f 27 2c 0a 20 20 27 c5 90 27 20 3d 3e 20 27 c5 91 27 2c 0a 20 20 27 c5 92 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c960 20 27 c5 93 27 2c 0a 20 20 27 c5 94 27 20 3d 3e 20 27 c5 95 27 2c 0a 20 20 27 c5 96 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c980 20 27 c5 97 27 2c 0a 20 20 27 c5 98 27 20 3d 3e 20 27 c5 99 27 2c 0a 20 20 27 c5 9a 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c9a0 20 27 c5 9b 27 2c 0a 20 20 27 c5 9c 27 20 3d 3e 20 27 c5 9d 27 2c 0a 20 20 27 c5 9e 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c9c0 20 27 c5 9f 27 2c 0a 20 20 27 c5 a0 27 20 3d 3e 20 27 c5 a1 27 2c 0a 20 20 27 c5 a2 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7c9e0 20 27 c5 a3 27 2c 0a 20 20 27 c5 a4 27 20 3d 3e 20 27 c5 a5 27 2c 0a 20 20 27 c5 a6 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ca00 20 27 c5 a7 27 2c 0a 20 20 27 c5 a8 27 20 3d 3e 20 27 c5 a9 27 2c 0a 20 20 27 c5 aa 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ca20 20 27 c5 ab 27 2c 0a 20 20 27 c5 ac 27 20 3d 3e 20 27 c5 ad 27 2c 0a 20 20 27 c5 ae 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ca40 20 27 c5 af 27 2c 0a 20 20 27 c5 b0 27 20 3d 3e 20 27 c5 b1 27 2c 0a 20 20 27 c5 b2 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ca60 20 27 c5 b3 27 2c 0a 20 20 27 c5 b4 27 20 3d 3e 20 27 c5 b5 27 2c 0a 20 20 27 c5 b6 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ca80 20 27 c5 b7 27 2c 0a 20 20 27 c5 b8 27 20 3d 3e 20 27 c3 bf 27 2c 0a 20 20 27 c5 b9 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7caa0 20 27 c5 ba 27 2c 0a 20 20 27 c5 bb 27 20 3d 3e 20 27 c5 bc 27 2c 0a 20 20 27 c5 bd 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cac0 20 27 c5 be 27 2c 0a 20 20 27 c6 81 27 20 3d 3e 20 27 c9 93 27 2c 0a 20 20 27 c6 82 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cae0 20 27 c6 83 27 2c 0a 20 20 27 c6 84 27 20 3d 3e 20 27 c6 85 27 2c 0a 20 20 27 c6 86 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cb00 20 27 c9 94 27 2c 0a 20 20 27 c6 87 27 20 3d 3e 20 27 c6 88 27 2c 0a 20 20 27 c6 89 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cb20 20 27 c9 96 27 2c 0a 20 20 27 c6 8a 27 20 3d 3e 20 27 c9 97 27 2c 0a 20 20 27 c6 8b 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cb40 20 27 c6 8c 27 2c 0a 20 20 27 c6 8e 27 20 3d 3e 20 27 c7 9d 27 2c 0a 20 20 27 c6 8f 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cb60 20 27 c9 99 27 2c 0a 20 20 27 c6 90 27 20 3d 3e 20 27 c9 9b 27 2c 0a 20 20 27 c6 91 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cb80 20 27 c6 92 27 2c 0a 20 20 27 c6 93 27 20 3d 3e 20 27 c9 a0 27 2c 0a 20 20 27 c6 94 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cba0 20 27 c9 a3 27 2c 0a 20 20 27 c6 96 27 20 3d 3e 20 27 c9 a9 27 2c 0a 20 20 27 c6 97 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cbc0 20 27 c9 a8 27 2c 0a 20 20 27 c6 98 27 20 3d 3e 20 27 c6 99 27 2c 0a 20 20 27 c6 9c 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cbe0 20 27 c9 af 27 2c 0a 20 20 27 c6 9d 27 20 3d 3e 20 27 c9 b2 27 2c 0a 20 20 27 c6 9f 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cc00 20 27 c9 b5 27 2c 0a 20 20 27 c6 a0 27 20 3d 3e 20 27 c6 a1 27 2c 0a 20 20 27 c6 a2 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cc20 20 27 c6 a3 27 2c 0a 20 20 27 c6 a4 27 20 3d 3e 20 27 c6 a5 27 2c 0a 20 20 27 c6 a6 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cc40 20 27 ca 80 27 2c 0a 20 20 27 c6 a7 27 20 3d 3e 20 27 c6 a8 27 2c 0a 20 20 27 c6 a9 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cc60 20 27 ca 83 27 2c 0a 20 20 27 c6 ac 27 20 3d 3e 20 27 c6 ad 27 2c 0a 20 20 27 c6 ae 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cc80 20 27 ca 88 27 2c 0a 20 20 27 c6 af 27 20 3d 3e 20 27 c6 b0 27 2c 0a 20 20 27 c6 b1 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cca0 20 27 ca 8a 27 2c 0a 20 20 27 c6 b2 27 20 3d 3e 20 27 ca 8b 27 2c 0a 20 20 27 c6 b3 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ccc0 20 27 c6 b4 27 2c 0a 20 20 27 c6 b5 27 20 3d 3e 20 27 c6 b6 27 2c 0a 20 20 27 c6 b7 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cce0 20 27 ca 92 27 2c 0a 20 20 27 c6 b8 27 20 3d 3e 20 27 c6 b9 27 2c 0a 20 20 27 c6 bc 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cd00 20 27 c6 bd 27 2c 0a 20 20 27 c7 84 27 20 3d 3e 20 27 c7 86 27 2c 0a 20 20 27 c7 85 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cd20 20 27 c7 86 27 2c 0a 20 20 27 c7 87 27 20 3d 3e 20 27 c7 89 27 2c 0a 20 20 27 c7 88 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cd40 20 27 c7 89 27 2c 0a 20 20 27 c7 8a 27 20 3d 3e 20 27 c7 8c 27 2c 0a 20 20 27 c7 8b 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cd60 20 27 c7 8c 27 2c 0a 20 20 27 c7 8d 27 20 3d 3e 20 27 c7 8e 27 2c 0a 20 20 27 c7 8f 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cd80 20 27 c7 90 27 2c 0a 20 20 27 c7 91 27 20 3d 3e 20 27 c7 92 27 2c 0a 20 20 27 c7 93 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cda0 20 27 c7 94 27 2c 0a 20 20 27 c7 95 27 20 3d 3e 20 27 c7 96 27 2c 0a 20 20 27 c7 97 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cdc0 20 27 c7 98 27 2c 0a 20 20 27 c7 99 27 20 3d 3e 20 27 c7 9a 27 2c 0a 20 20 27 c7 9b 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cde0 20 27 c7 9c 27 2c 0a 20 20 27 c7 9e 27 20 3d 3e 20 27 c7 9f 27 2c 0a 20 20 27 c7 a0 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ce00 20 27 c7 a1 27 2c 0a 20 20 27 c7 a2 27 20 3d 3e 20 27 c7 a3 27 2c 0a 20 20 27 c7 a4 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ce20 20 27 c7 a5 27 2c 0a 20 20 27 c7 a6 27 20 3d 3e 20 27 c7 a7 27 2c 0a 20 20 27 c7 a8 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ce40 20 27 c7 a9 27 2c 0a 20 20 27 c7 aa 27 20 3d 3e 20 27 c7 ab 27 2c 0a 20 20 27 c7 ac 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ce60 20 27 c7 ad 27 2c 0a 20 20 27 c7 ae 27 20 3d 3e 20 27 c7 af 27 2c 0a 20 20 27 c7 b1 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7ce80 20 27 c7 b3 27 2c 0a 20 20 27 c7 b2 27 20 3d 3e 20 27 c7 b3 27 2c 0a 20 20 27 c7 b4 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cea0 20 27 c7 b5 27 2c 0a 20 20 27 c7 b6 27 20 3d 3e 20 27 c6 95 27 2c 0a 20 20 27 c7 b7 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cec0 20 27 c6 bf 27 2c 0a 20 20 27 c7 b8 27 20 3d 3e 20 27 c7 b9 27 2c 0a 20 20 27 c7 ba 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cee0 20 27 c7 bb 27 2c 0a 20 20 27 c7 bc 27 20 3d 3e 20 27 c7 bd 27 2c 0a 20 20 27 c7 be 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cf00 20 27 c7 bf 27 2c 0a 20 20 27 c8 80 27 20 3d 3e 20 27 c8 81 27 2c 0a 20 20 27 c8 82 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cf20 20 27 c8 83 27 2c 0a 20 20 27 c8 84 27 20 3d 3e 20 27 c8 85 27 2c 0a 20 20 27 c8 86 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cf40 20 27 c8 87 27 2c 0a 20 20 27 c8 88 27 20 3d 3e 20 27 c8 89 27 2c 0a 20 20 27 c8 8a 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cf60 20 27 c8 8b 27 2c 0a 20 20 27 c8 8c 27 20 3d 3e 20 27 c8 8d 27 2c 0a 20 20 27 c8 8e 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cf80 20 27 c8 8f 27 2c 0a 20 20 27 c8 90 27 20 3d 3e 20 27 c8 91 27 2c 0a 20 20 27 c8 92 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cfa0 20 27 c8 93 27 2c 0a 20 20 27 c8 94 27 20 3d 3e 20 27 c8 95 27 2c 0a 20 20 27 c8 96 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cfc0 20 27 c8 97 27 2c 0a 20 20 27 c8 98 27 20 3d 3e 20 27 c8 99 27 2c 0a 20 20 27 c8 9a 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7cfe0 20 27 c8 9b 27 2c 0a 20 20 27 c8 9c 27 20 3d 3e 20 27 c8 9d 27 2c 0a 20 20 27 c8 9e 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7d000 20 27 c8 9f 27 2c 0a 20 20 27 c8 a0 27 20 3d 3e 20 27 c6 9e 27 2c 0a 20 20 27 c8 a2 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7d020 20 27 c8 a3 27 2c 0a 20 20 27 c8 a4 27 20 3d 3e 20 27 c8 a5 27 2c 0a 20 20 27 c8 a6 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7d040 20 27 c8 a7 27 2c 0a 20 20 27 c8 a8 27 20 3d 3e 20 27 c8 a9 27 2c 0a 20 20 27 c8 aa 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7d060 20 27 c8 ab 27 2c 0a 20 20 27 c8 ac 27 20 3d 3e 20 27 c8 ad 27 2c 0a 20 20 27 c8 ae 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7d080 20 27 c8 af 27 2c 0a 20 20 27 c8 b0 27 20 3d 3e 20 27 c8 b1 27 2c 0a 20 20 27 c8 b2 27 20 3d 3e .'..',...'..'.=>.'..',...'..'.=>
7d0a0 20 27 c8 b3 27 2c 0a 20 20 27 c8 ba 27 20 3d 3e 20 27 e2 b1 a5 27 2c 0a 20 20 27 c8 bb 27 20 3d .'..',...'..'.=>.'...',...'..'.=
7d0c0 3e 20 27 c8 bc 27 2c 0a 20 20 27 c8 bd 27 20 3d 3e 20 27 c6 9a 27 2c 0a 20 20 27 c8 be 27 20 3d >.'..',...'..'.=>.'..',...'..'.=
7d0e0 3e 20 27 e2 b1 a6 27 2c 0a 20 20 27 c9 81 27 20 3d 3e 20 27 c9 82 27 2c 0a 20 20 27 c9 83 27 20 >.'...',...'..'.=>.'..',...'..'.
7d100 3d 3e 20 27 c6 80 27 2c 0a 20 20 27 c9 84 27 20 3d 3e 20 27 ca 89 27 2c 0a 20 20 27 c9 85 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d120 3d 3e 20 27 ca 8c 27 2c 0a 20 20 27 c9 86 27 20 3d 3e 20 27 c9 87 27 2c 0a 20 20 27 c9 88 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d140 3d 3e 20 27 c9 89 27 2c 0a 20 20 27 c9 8a 27 20 3d 3e 20 27 c9 8b 27 2c 0a 20 20 27 c9 8c 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d160 3d 3e 20 27 c9 8d 27 2c 0a 20 20 27 c9 8e 27 20 3d 3e 20 27 c9 8f 27 2c 0a 20 20 27 cd b0 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d180 3d 3e 20 27 cd b1 27 2c 0a 20 20 27 cd b2 27 20 3d 3e 20 27 cd b3 27 2c 0a 20 20 27 cd b6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d1a0 3d 3e 20 27 cd b7 27 2c 0a 20 20 27 cd bf 27 20 3d 3e 20 27 cf b3 27 2c 0a 20 20 27 ce 86 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d1c0 3d 3e 20 27 ce ac 27 2c 0a 20 20 27 ce 88 27 20 3d 3e 20 27 ce ad 27 2c 0a 20 20 27 ce 89 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d1e0 3d 3e 20 27 ce ae 27 2c 0a 20 20 27 ce 8a 27 20 3d 3e 20 27 ce af 27 2c 0a 20 20 27 ce 8c 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d200 3d 3e 20 27 cf 8c 27 2c 0a 20 20 27 ce 8e 27 20 3d 3e 20 27 cf 8d 27 2c 0a 20 20 27 ce 8f 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d220 3d 3e 20 27 cf 8e 27 2c 0a 20 20 27 ce 91 27 20 3d 3e 20 27 ce b1 27 2c 0a 20 20 27 ce 92 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d240 3d 3e 20 27 ce b2 27 2c 0a 20 20 27 ce 93 27 20 3d 3e 20 27 ce b3 27 2c 0a 20 20 27 ce 94 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d260 3d 3e 20 27 ce b4 27 2c 0a 20 20 27 ce 95 27 20 3d 3e 20 27 ce b5 27 2c 0a 20 20 27 ce 96 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d280 3d 3e 20 27 ce b6 27 2c 0a 20 20 27 ce 97 27 20 3d 3e 20 27 ce b7 27 2c 0a 20 20 27 ce 98 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d2a0 3d 3e 20 27 ce b8 27 2c 0a 20 20 27 ce 99 27 20 3d 3e 20 27 ce b9 27 2c 0a 20 20 27 ce 9a 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d2c0 3d 3e 20 27 ce ba 27 2c 0a 20 20 27 ce 9b 27 20 3d 3e 20 27 ce bb 27 2c 0a 20 20 27 ce 9c 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d2e0 3d 3e 20 27 ce bc 27 2c 0a 20 20 27 ce 9d 27 20 3d 3e 20 27 ce bd 27 2c 0a 20 20 27 ce 9e 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d300 3d 3e 20 27 ce be 27 2c 0a 20 20 27 ce 9f 27 20 3d 3e 20 27 ce bf 27 2c 0a 20 20 27 ce a0 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d320 3d 3e 20 27 cf 80 27 2c 0a 20 20 27 ce a1 27 20 3d 3e 20 27 cf 81 27 2c 0a 20 20 27 ce a3 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d340 3d 3e 20 27 cf 83 27 2c 0a 20 20 27 ce a4 27 20 3d 3e 20 27 cf 84 27 2c 0a 20 20 27 ce a5 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d360 3d 3e 20 27 cf 85 27 2c 0a 20 20 27 ce a6 27 20 3d 3e 20 27 cf 86 27 2c 0a 20 20 27 ce a7 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d380 3d 3e 20 27 cf 87 27 2c 0a 20 20 27 ce a8 27 20 3d 3e 20 27 cf 88 27 2c 0a 20 20 27 ce a9 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d3a0 3d 3e 20 27 cf 89 27 2c 0a 20 20 27 ce aa 27 20 3d 3e 20 27 cf 8a 27 2c 0a 20 20 27 ce ab 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d3c0 3d 3e 20 27 cf 8b 27 2c 0a 20 20 27 cf 8f 27 20 3d 3e 20 27 cf 97 27 2c 0a 20 20 27 cf 98 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d3e0 3d 3e 20 27 cf 99 27 2c 0a 20 20 27 cf 9a 27 20 3d 3e 20 27 cf 9b 27 2c 0a 20 20 27 cf 9c 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d400 3d 3e 20 27 cf 9d 27 2c 0a 20 20 27 cf 9e 27 20 3d 3e 20 27 cf 9f 27 2c 0a 20 20 27 cf a0 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d420 3d 3e 20 27 cf a1 27 2c 0a 20 20 27 cf a2 27 20 3d 3e 20 27 cf a3 27 2c 0a 20 20 27 cf a4 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d440 3d 3e 20 27 cf a5 27 2c 0a 20 20 27 cf a6 27 20 3d 3e 20 27 cf a7 27 2c 0a 20 20 27 cf a8 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d460 3d 3e 20 27 cf a9 27 2c 0a 20 20 27 cf aa 27 20 3d 3e 20 27 cf ab 27 2c 0a 20 20 27 cf ac 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d480 3d 3e 20 27 cf ad 27 2c 0a 20 20 27 cf ae 27 20 3d 3e 20 27 cf af 27 2c 0a 20 20 27 cf b4 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d4a0 3d 3e 20 27 ce b8 27 2c 0a 20 20 27 cf b7 27 20 3d 3e 20 27 cf b8 27 2c 0a 20 20 27 cf b9 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d4c0 3d 3e 20 27 cf b2 27 2c 0a 20 20 27 cf ba 27 20 3d 3e 20 27 cf bb 27 2c 0a 20 20 27 cf bd 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d4e0 3d 3e 20 27 cd bb 27 2c 0a 20 20 27 cf be 27 20 3d 3e 20 27 cd bc 27 2c 0a 20 20 27 cf bf 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d500 3d 3e 20 27 cd bd 27 2c 0a 20 20 27 d0 80 27 20 3d 3e 20 27 d1 90 27 2c 0a 20 20 27 d0 81 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d520 3d 3e 20 27 d1 91 27 2c 0a 20 20 27 d0 82 27 20 3d 3e 20 27 d1 92 27 2c 0a 20 20 27 d0 83 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d540 3d 3e 20 27 d1 93 27 2c 0a 20 20 27 d0 84 27 20 3d 3e 20 27 d1 94 27 2c 0a 20 20 27 d0 85 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d560 3d 3e 20 27 d1 95 27 2c 0a 20 20 27 d0 86 27 20 3d 3e 20 27 d1 96 27 2c 0a 20 20 27 d0 87 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d580 3d 3e 20 27 d1 97 27 2c 0a 20 20 27 d0 88 27 20 3d 3e 20 27 d1 98 27 2c 0a 20 20 27 d0 89 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d5a0 3d 3e 20 27 d1 99 27 2c 0a 20 20 27 d0 8a 27 20 3d 3e 20 27 d1 9a 27 2c 0a 20 20 27 d0 8b 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d5c0 3d 3e 20 27 d1 9b 27 2c 0a 20 20 27 d0 8c 27 20 3d 3e 20 27 d1 9c 27 2c 0a 20 20 27 d0 8d 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d5e0 3d 3e 20 27 d1 9d 27 2c 0a 20 20 27 d0 8e 27 20 3d 3e 20 27 d1 9e 27 2c 0a 20 20 27 d0 8f 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d600 3d 3e 20 27 d1 9f 27 2c 0a 20 20 27 d0 90 27 20 3d 3e 20 27 d0 b0 27 2c 0a 20 20 27 d0 91 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d620 3d 3e 20 27 d0 b1 27 2c 0a 20 20 27 d0 92 27 20 3d 3e 20 27 d0 b2 27 2c 0a 20 20 27 d0 93 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d640 3d 3e 20 27 d0 b3 27 2c 0a 20 20 27 d0 94 27 20 3d 3e 20 27 d0 b4 27 2c 0a 20 20 27 d0 95 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d660 3d 3e 20 27 d0 b5 27 2c 0a 20 20 27 d0 96 27 20 3d 3e 20 27 d0 b6 27 2c 0a 20 20 27 d0 97 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d680 3d 3e 20 27 d0 b7 27 2c 0a 20 20 27 d0 98 27 20 3d 3e 20 27 d0 b8 27 2c 0a 20 20 27 d0 99 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d6a0 3d 3e 20 27 d0 b9 27 2c 0a 20 20 27 d0 9a 27 20 3d 3e 20 27 d0 ba 27 2c 0a 20 20 27 d0 9b 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d6c0 3d 3e 20 27 d0 bb 27 2c 0a 20 20 27 d0 9c 27 20 3d 3e 20 27 d0 bc 27 2c 0a 20 20 27 d0 9d 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d6e0 3d 3e 20 27 d0 bd 27 2c 0a 20 20 27 d0 9e 27 20 3d 3e 20 27 d0 be 27 2c 0a 20 20 27 d0 9f 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d700 3d 3e 20 27 d0 bf 27 2c 0a 20 20 27 d0 a0 27 20 3d 3e 20 27 d1 80 27 2c 0a 20 20 27 d0 a1 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d720 3d 3e 20 27 d1 81 27 2c 0a 20 20 27 d0 a2 27 20 3d 3e 20 27 d1 82 27 2c 0a 20 20 27 d0 a3 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d740 3d 3e 20 27 d1 83 27 2c 0a 20 20 27 d0 a4 27 20 3d 3e 20 27 d1 84 27 2c 0a 20 20 27 d0 a5 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d760 3d 3e 20 27 d1 85 27 2c 0a 20 20 27 d0 a6 27 20 3d 3e 20 27 d1 86 27 2c 0a 20 20 27 d0 a7 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d780 3d 3e 20 27 d1 87 27 2c 0a 20 20 27 d0 a8 27 20 3d 3e 20 27 d1 88 27 2c 0a 20 20 27 d0 a9 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d7a0 3d 3e 20 27 d1 89 27 2c 0a 20 20 27 d0 aa 27 20 3d 3e 20 27 d1 8a 27 2c 0a 20 20 27 d0 ab 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d7c0 3d 3e 20 27 d1 8b 27 2c 0a 20 20 27 d0 ac 27 20 3d 3e 20 27 d1 8c 27 2c 0a 20 20 27 d0 ad 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d7e0 3d 3e 20 27 d1 8d 27 2c 0a 20 20 27 d0 ae 27 20 3d 3e 20 27 d1 8e 27 2c 0a 20 20 27 d0 af 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d800 3d 3e 20 27 d1 8f 27 2c 0a 20 20 27 d1 a0 27 20 3d 3e 20 27 d1 a1 27 2c 0a 20 20 27 d1 a2 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d820 3d 3e 20 27 d1 a3 27 2c 0a 20 20 27 d1 a4 27 20 3d 3e 20 27 d1 a5 27 2c 0a 20 20 27 d1 a6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d840 3d 3e 20 27 d1 a7 27 2c 0a 20 20 27 d1 a8 27 20 3d 3e 20 27 d1 a9 27 2c 0a 20 20 27 d1 aa 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d860 3d 3e 20 27 d1 ab 27 2c 0a 20 20 27 d1 ac 27 20 3d 3e 20 27 d1 ad 27 2c 0a 20 20 27 d1 ae 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d880 3d 3e 20 27 d1 af 27 2c 0a 20 20 27 d1 b0 27 20 3d 3e 20 27 d1 b1 27 2c 0a 20 20 27 d1 b2 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d8a0 3d 3e 20 27 d1 b3 27 2c 0a 20 20 27 d1 b4 27 20 3d 3e 20 27 d1 b5 27 2c 0a 20 20 27 d1 b6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d8c0 3d 3e 20 27 d1 b7 27 2c 0a 20 20 27 d1 b8 27 20 3d 3e 20 27 d1 b9 27 2c 0a 20 20 27 d1 ba 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d8e0 3d 3e 20 27 d1 bb 27 2c 0a 20 20 27 d1 bc 27 20 3d 3e 20 27 d1 bd 27 2c 0a 20 20 27 d1 be 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d900 3d 3e 20 27 d1 bf 27 2c 0a 20 20 27 d2 80 27 20 3d 3e 20 27 d2 81 27 2c 0a 20 20 27 d2 8a 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d920 3d 3e 20 27 d2 8b 27 2c 0a 20 20 27 d2 8c 27 20 3d 3e 20 27 d2 8d 27 2c 0a 20 20 27 d2 8e 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d940 3d 3e 20 27 d2 8f 27 2c 0a 20 20 27 d2 90 27 20 3d 3e 20 27 d2 91 27 2c 0a 20 20 27 d2 92 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d960 3d 3e 20 27 d2 93 27 2c 0a 20 20 27 d2 94 27 20 3d 3e 20 27 d2 95 27 2c 0a 20 20 27 d2 96 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d980 3d 3e 20 27 d2 97 27 2c 0a 20 20 27 d2 98 27 20 3d 3e 20 27 d2 99 27 2c 0a 20 20 27 d2 9a 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d9a0 3d 3e 20 27 d2 9b 27 2c 0a 20 20 27 d2 9c 27 20 3d 3e 20 27 d2 9d 27 2c 0a 20 20 27 d2 9e 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d9c0 3d 3e 20 27 d2 9f 27 2c 0a 20 20 27 d2 a0 27 20 3d 3e 20 27 d2 a1 27 2c 0a 20 20 27 d2 a2 27 20 =>.'..',...'..'.=>.'..',...'..'.
7d9e0 3d 3e 20 27 d2 a3 27 2c 0a 20 20 27 d2 a4 27 20 3d 3e 20 27 d2 a5 27 2c 0a 20 20 27 d2 a6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7da00 3d 3e 20 27 d2 a7 27 2c 0a 20 20 27 d2 a8 27 20 3d 3e 20 27 d2 a9 27 2c 0a 20 20 27 d2 aa 27 20 =>.'..',...'..'.=>.'..',...'..'.
7da20 3d 3e 20 27 d2 ab 27 2c 0a 20 20 27 d2 ac 27 20 3d 3e 20 27 d2 ad 27 2c 0a 20 20 27 d2 ae 27 20 =>.'..',...'..'.=>.'..',...'..'.
7da40 3d 3e 20 27 d2 af 27 2c 0a 20 20 27 d2 b0 27 20 3d 3e 20 27 d2 b1 27 2c 0a 20 20 27 d2 b2 27 20 =>.'..',...'..'.=>.'..',...'..'.
7da60 3d 3e 20 27 d2 b3 27 2c 0a 20 20 27 d2 b4 27 20 3d 3e 20 27 d2 b5 27 2c 0a 20 20 27 d2 b6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7da80 3d 3e 20 27 d2 b7 27 2c 0a 20 20 27 d2 b8 27 20 3d 3e 20 27 d2 b9 27 2c 0a 20 20 27 d2 ba 27 20 =>.'..',...'..'.=>.'..',...'..'.
7daa0 3d 3e 20 27 d2 bb 27 2c 0a 20 20 27 d2 bc 27 20 3d 3e 20 27 d2 bd 27 2c 0a 20 20 27 d2 be 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dac0 3d 3e 20 27 d2 bf 27 2c 0a 20 20 27 d3 80 27 20 3d 3e 20 27 d3 8f 27 2c 0a 20 20 27 d3 81 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dae0 3d 3e 20 27 d3 82 27 2c 0a 20 20 27 d3 83 27 20 3d 3e 20 27 d3 84 27 2c 0a 20 20 27 d3 85 27 20 =>.'..',...'..'.=>.'..',...'..'.
7db00 3d 3e 20 27 d3 86 27 2c 0a 20 20 27 d3 87 27 20 3d 3e 20 27 d3 88 27 2c 0a 20 20 27 d3 89 27 20 =>.'..',...'..'.=>.'..',...'..'.
7db20 3d 3e 20 27 d3 8a 27 2c 0a 20 20 27 d3 8b 27 20 3d 3e 20 27 d3 8c 27 2c 0a 20 20 27 d3 8d 27 20 =>.'..',...'..'.=>.'..',...'..'.
7db40 3d 3e 20 27 d3 8e 27 2c 0a 20 20 27 d3 90 27 20 3d 3e 20 27 d3 91 27 2c 0a 20 20 27 d3 92 27 20 =>.'..',...'..'.=>.'..',...'..'.
7db60 3d 3e 20 27 d3 93 27 2c 0a 20 20 27 d3 94 27 20 3d 3e 20 27 d3 95 27 2c 0a 20 20 27 d3 96 27 20 =>.'..',...'..'.=>.'..',...'..'.
7db80 3d 3e 20 27 d3 97 27 2c 0a 20 20 27 d3 98 27 20 3d 3e 20 27 d3 99 27 2c 0a 20 20 27 d3 9a 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dba0 3d 3e 20 27 d3 9b 27 2c 0a 20 20 27 d3 9c 27 20 3d 3e 20 27 d3 9d 27 2c 0a 20 20 27 d3 9e 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dbc0 3d 3e 20 27 d3 9f 27 2c 0a 20 20 27 d3 a0 27 20 3d 3e 20 27 d3 a1 27 2c 0a 20 20 27 d3 a2 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dbe0 3d 3e 20 27 d3 a3 27 2c 0a 20 20 27 d3 a4 27 20 3d 3e 20 27 d3 a5 27 2c 0a 20 20 27 d3 a6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dc00 3d 3e 20 27 d3 a7 27 2c 0a 20 20 27 d3 a8 27 20 3d 3e 20 27 d3 a9 27 2c 0a 20 20 27 d3 aa 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dc20 3d 3e 20 27 d3 ab 27 2c 0a 20 20 27 d3 ac 27 20 3d 3e 20 27 d3 ad 27 2c 0a 20 20 27 d3 ae 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dc40 3d 3e 20 27 d3 af 27 2c 0a 20 20 27 d3 b0 27 20 3d 3e 20 27 d3 b1 27 2c 0a 20 20 27 d3 b2 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dc60 3d 3e 20 27 d3 b3 27 2c 0a 20 20 27 d3 b4 27 20 3d 3e 20 27 d3 b5 27 2c 0a 20 20 27 d3 b6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dc80 3d 3e 20 27 d3 b7 27 2c 0a 20 20 27 d3 b8 27 20 3d 3e 20 27 d3 b9 27 2c 0a 20 20 27 d3 ba 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dca0 3d 3e 20 27 d3 bb 27 2c 0a 20 20 27 d3 bc 27 20 3d 3e 20 27 d3 bd 27 2c 0a 20 20 27 d3 be 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dcc0 3d 3e 20 27 d3 bf 27 2c 0a 20 20 27 d4 80 27 20 3d 3e 20 27 d4 81 27 2c 0a 20 20 27 d4 82 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dce0 3d 3e 20 27 d4 83 27 2c 0a 20 20 27 d4 84 27 20 3d 3e 20 27 d4 85 27 2c 0a 20 20 27 d4 86 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dd00 3d 3e 20 27 d4 87 27 2c 0a 20 20 27 d4 88 27 20 3d 3e 20 27 d4 89 27 2c 0a 20 20 27 d4 8a 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dd20 3d 3e 20 27 d4 8b 27 2c 0a 20 20 27 d4 8c 27 20 3d 3e 20 27 d4 8d 27 2c 0a 20 20 27 d4 8e 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dd40 3d 3e 20 27 d4 8f 27 2c 0a 20 20 27 d4 90 27 20 3d 3e 20 27 d4 91 27 2c 0a 20 20 27 d4 92 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dd60 3d 3e 20 27 d4 93 27 2c 0a 20 20 27 d4 94 27 20 3d 3e 20 27 d4 95 27 2c 0a 20 20 27 d4 96 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dd80 3d 3e 20 27 d4 97 27 2c 0a 20 20 27 d4 98 27 20 3d 3e 20 27 d4 99 27 2c 0a 20 20 27 d4 9a 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dda0 3d 3e 20 27 d4 9b 27 2c 0a 20 20 27 d4 9c 27 20 3d 3e 20 27 d4 9d 27 2c 0a 20 20 27 d4 9e 27 20 =>.'..',...'..'.=>.'..',...'..'.
7ddc0 3d 3e 20 27 d4 9f 27 2c 0a 20 20 27 d4 a0 27 20 3d 3e 20 27 d4 a1 27 2c 0a 20 20 27 d4 a2 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dde0 3d 3e 20 27 d4 a3 27 2c 0a 20 20 27 d4 a4 27 20 3d 3e 20 27 d4 a5 27 2c 0a 20 20 27 d4 a6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7de00 3d 3e 20 27 d4 a7 27 2c 0a 20 20 27 d4 a8 27 20 3d 3e 20 27 d4 a9 27 2c 0a 20 20 27 d4 aa 27 20 =>.'..',...'..'.=>.'..',...'..'.
7de20 3d 3e 20 27 d4 ab 27 2c 0a 20 20 27 d4 ac 27 20 3d 3e 20 27 d4 ad 27 2c 0a 20 20 27 d4 ae 27 20 =>.'..',...'..'.=>.'..',...'..'.
7de40 3d 3e 20 27 d4 af 27 2c 0a 20 20 27 d4 b1 27 20 3d 3e 20 27 d5 a1 27 2c 0a 20 20 27 d4 b2 27 20 =>.'..',...'..'.=>.'..',...'..'.
7de60 3d 3e 20 27 d5 a2 27 2c 0a 20 20 27 d4 b3 27 20 3d 3e 20 27 d5 a3 27 2c 0a 20 20 27 d4 b4 27 20 =>.'..',...'..'.=>.'..',...'..'.
7de80 3d 3e 20 27 d5 a4 27 2c 0a 20 20 27 d4 b5 27 20 3d 3e 20 27 d5 a5 27 2c 0a 20 20 27 d4 b6 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dea0 3d 3e 20 27 d5 a6 27 2c 0a 20 20 27 d4 b7 27 20 3d 3e 20 27 d5 a7 27 2c 0a 20 20 27 d4 b8 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dec0 3d 3e 20 27 d5 a8 27 2c 0a 20 20 27 d4 b9 27 20 3d 3e 20 27 d5 a9 27 2c 0a 20 20 27 d4 ba 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dee0 3d 3e 20 27 d5 aa 27 2c 0a 20 20 27 d4 bb 27 20 3d 3e 20 27 d5 ab 27 2c 0a 20 20 27 d4 bc 27 20 =>.'..',...'..'.=>.'..',...'..'.
7df00 3d 3e 20 27 d5 ac 27 2c 0a 20 20 27 d4 bd 27 20 3d 3e 20 27 d5 ad 27 2c 0a 20 20 27 d4 be 27 20 =>.'..',...'..'.=>.'..',...'..'.
7df20 3d 3e 20 27 d5 ae 27 2c 0a 20 20 27 d4 bf 27 20 3d 3e 20 27 d5 af 27 2c 0a 20 20 27 d5 80 27 20 =>.'..',...'..'.=>.'..',...'..'.
7df40 3d 3e 20 27 d5 b0 27 2c 0a 20 20 27 d5 81 27 20 3d 3e 20 27 d5 b1 27 2c 0a 20 20 27 d5 82 27 20 =>.'..',...'..'.=>.'..',...'..'.
7df60 3d 3e 20 27 d5 b2 27 2c 0a 20 20 27 d5 83 27 20 3d 3e 20 27 d5 b3 27 2c 0a 20 20 27 d5 84 27 20 =>.'..',...'..'.=>.'..',...'..'.
7df80 3d 3e 20 27 d5 b4 27 2c 0a 20 20 27 d5 85 27 20 3d 3e 20 27 d5 b5 27 2c 0a 20 20 27 d5 86 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dfa0 3d 3e 20 27 d5 b6 27 2c 0a 20 20 27 d5 87 27 20 3d 3e 20 27 d5 b7 27 2c 0a 20 20 27 d5 88 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dfc0 3d 3e 20 27 d5 b8 27 2c 0a 20 20 27 d5 89 27 20 3d 3e 20 27 d5 b9 27 2c 0a 20 20 27 d5 8a 27 20 =>.'..',...'..'.=>.'..',...'..'.
7dfe0 3d 3e 20 27 d5 ba 27 2c 0a 20 20 27 d5 8b 27 20 3d 3e 20 27 d5 bb 27 2c 0a 20 20 27 d5 8c 27 20 =>.'..',...'..'.=>.'..',...'..'.
7e000 3d 3e 20 27 d5 bc 27 2c 0a 20 20 27 d5 8d 27 20 3d 3e 20 27 d5 bd 27 2c 0a 20 20 27 d5 8e 27 20 =>.'..',...'..'.=>.'..',...'..'.
7e020 3d 3e 20 27 d5 be 27 2c 0a 20 20 27 d5 8f 27 20 3d 3e 20 27 d5 bf 27 2c 0a 20 20 27 d5 90 27 20 =>.'..',...'..'.=>.'..',...'..'.
7e040 3d 3e 20 27 d6 80 27 2c 0a 20 20 27 d5 91 27 20 3d 3e 20 27 d6 81 27 2c 0a 20 20 27 d5 92 27 20 =>.'..',...'..'.=>.'..',...'..'.
7e060 3d 3e 20 27 d6 82 27 2c 0a 20 20 27 d5 93 27 20 3d 3e 20 27 d6 83 27 2c 0a 20 20 27 d5 94 27 20 =>.'..',...'..'.=>.'..',...'..'.
7e080 3d 3e 20 27 d6 84 27 2c 0a 20 20 27 d5 95 27 20 3d 3e 20 27 d6 85 27 2c 0a 20 20 27 d5 96 27 20 =>.'..',...'..'.=>.'..',...'..'.
7e0a0 3d 3e 20 27 d6 86 27 2c 0a 20 20 27 e1 82 a0 27 20 3d 3e 20 27 e2 b4 80 27 2c 0a 20 20 27 e1 82 =>.'..',...'...'.=>.'...',...'..
7e0c0 a1 27 20 3d 3e 20 27 e2 b4 81 27 2c 0a 20 20 27 e1 82 a2 27 20 3d 3e 20 27 e2 b4 82 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
7e0e0 20 27 e1 82 a3 27 20 3d 3e 20 27 e2 b4 83 27 2c 0a 20 20 27 e1 82 a4 27 20 3d 3e 20 27 e2 b4 84 .'...'.=>.'...',...'...'.=>.'...
7e100 27 2c 0a 20 20 27 e1 82 a5 27 20 3d 3e 20 27 e2 b4 85 27 2c 0a 20 20 27 e1 82 a6 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
7e120 27 e2 b4 86 27 2c 0a 20 20 27 e1 82 a7 27 20 3d 3e 20 27 e2 b4 87 27 2c 0a 20 20 27 e1 82 a8 27 '...',...'...'.=>.'...',...'...'
7e140 20 3d 3e 20 27 e2 b4 88 27 2c 0a 20 20 27 e1 82 a9 27 20 3d 3e 20 27 e2 b4 89 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
7e160 e1 82 aa 27 20 3d 3e 20 27 e2 b4 8a 27 2c 0a 20 20 27 e1 82 ab 27 20 3d 3e 20 27 e2 b4 8b 27 2c ...'.=>.'...',...'...'.=>.'...',
7e180 0a 20 20 27 e1 82 ac 27 20 3d 3e 20 27 e2 b4 8c 27 2c 0a 20 20 27 e1 82 ad 27 20 3d 3e 20 27 e2 ...'...'.=>.'...',...'...'.=>.'.
7e1a0 b4 8d 27 2c 0a 20 20 27 e1 82 ae 27 20 3d 3e 20 27 e2 b4 8e 27 2c 0a 20 20 27 e1 82 af 27 20 3d ..',...'...'.=>.'...',...'...'.=
7e1c0 3e 20 27 e2 b4 8f 27 2c 0a 20 20 27 e1 82 b0 27 20 3d 3e 20 27 e2 b4 90 27 2c 0a 20 20 27 e1 82 >.'...',...'...'.=>.'...',...'..
7e1e0 b1 27 20 3d 3e 20 27 e2 b4 91 27 2c 0a 20 20 27 e1 82 b2 27 20 3d 3e 20 27 e2 b4 92 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
7e200 20 27 e1 82 b3 27 20 3d 3e 20 27 e2 b4 93 27 2c 0a 20 20 27 e1 82 b4 27 20 3d 3e 20 27 e2 b4 94 .'...'.=>.'...',...'...'.=>.'...
7e220 27 2c 0a 20 20 27 e1 82 b5 27 20 3d 3e 20 27 e2 b4 95 27 2c 0a 20 20 27 e1 82 b6 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
7e240 27 e2 b4 96 27 2c 0a 20 20 27 e1 82 b7 27 20 3d 3e 20 27 e2 b4 97 27 2c 0a 20 20 27 e1 82 b8 27 '...',...'...'.=>.'...',...'...'
7e260 20 3d 3e 20 27 e2 b4 98 27 2c 0a 20 20 27 e1 82 b9 27 20 3d 3e 20 27 e2 b4 99 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
7e280 e1 82 ba 27 20 3d 3e 20 27 e2 b4 9a 27 2c 0a 20 20 27 e1 82 bb 27 20 3d 3e 20 27 e2 b4 9b 27 2c ...'.=>.'...',...'...'.=>.'...',
7e2a0 0a 20 20 27 e1 82 bc 27 20 3d 3e 20 27 e2 b4 9c 27 2c 0a 20 20 27 e1 82 bd 27 20 3d 3e 20 27 e2 ...'...'.=>.'...',...'...'.=>.'.
7e2c0 b4 9d 27 2c 0a 20 20 27 e1 82 be 27 20 3d 3e 20 27 e2 b4 9e 27 2c 0a 20 20 27 e1 82 bf 27 20 3d ..',...'...'.=>.'...',...'...'.=
7e2e0 3e 20 27 e2 b4 9f 27 2c 0a 20 20 27 e1 83 80 27 20 3d 3e 20 27 e2 b4 a0 27 2c 0a 20 20 27 e1 83 >.'...',...'...'.=>.'...',...'..
7e300 81 27 20 3d 3e 20 27 e2 b4 a1 27 2c 0a 20 20 27 e1 83 82 27 20 3d 3e 20 27 e2 b4 a2 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
7e320 20 27 e1 83 83 27 20 3d 3e 20 27 e2 b4 a3 27 2c 0a 20 20 27 e1 83 84 27 20 3d 3e 20 27 e2 b4 a4 .'...'.=>.'...',...'...'.=>.'...
7e340 27 2c 0a 20 20 27 e1 83 85 27 20 3d 3e 20 27 e2 b4 a5 27 2c 0a 20 20 27 e1 83 87 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
7e360 27 e2 b4 a7 27 2c 0a 20 20 27 e1 83 8d 27 20 3d 3e 20 27 e2 b4 ad 27 2c 0a 20 20 27 e1 b8 80 27 '...',...'...'.=>.'...',...'...'
7e380 20 3d 3e 20 27 e1 b8 81 27 2c 0a 20 20 27 e1 b8 82 27 20 3d 3e 20 27 e1 b8 83 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
7e3a0 e1 b8 84 27 20 3d 3e 20 27 e1 b8 85 27 2c 0a 20 20 27 e1 b8 86 27 20 3d 3e 20 27 e1 b8 87 27 2c ...'.=>.'...',...'...'.=>.'...',
7e3c0 0a 20 20 27 e1 b8 88 27 20 3d 3e 20 27 e1 b8 89 27 2c 0a 20 20 27 e1 b8 8a 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
7e3e0 b8 8b 27 2c 0a 20 20 27 e1 b8 8c 27 20 3d 3e 20 27 e1 b8 8d 27 2c 0a 20 20 27 e1 b8 8e 27 20 3d ..',...'...'.=>.'...',...'...'.=
7e400 3e 20 27 e1 b8 8f 27 2c 0a 20 20 27 e1 b8 90 27 20 3d 3e 20 27 e1 b8 91 27 2c 0a 20 20 27 e1 b8 >.'...',...'...'.=>.'...',...'..
7e420 92 27 20 3d 3e 20 27 e1 b8 93 27 2c 0a 20 20 27 e1 b8 94 27 20 3d 3e 20 27 e1 b8 95 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
7e440 20 27 e1 b8 96 27 20 3d 3e 20 27 e1 b8 97 27 2c 0a 20 20 27 e1 b8 98 27 20 3d 3e 20 27 e1 b8 99 .'...'.=>.'...',...'...'.=>.'...
7e460 27 2c 0a 20 20 27 e1 b8 9a 27 20 3d 3e 20 27 e1 b8 9b 27 2c 0a 20 20 27 e1 b8 9c 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
7e480 27 e1 b8 9d 27 2c 0a 20 20 27 e1 b8 9e 27 20 3d 3e 20 27 e1 b8 9f 27 2c 0a 20 20 27 e1 b8 a0 27 '...',...'...'.=>.'...',...'...'
7e4a0 20 3d 3e 20 27 e1 b8 a1 27 2c 0a 20 20 27 e1 b8 a2 27 20 3d 3e 20 27 e1 b8 a3 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
7e4c0 e1 b8 a4 27 20 3d 3e 20 27 e1 b8 a5 27 2c 0a 20 20 27 e1 b8 a6 27 20 3d 3e 20 27 e1 b8 a7 27 2c ...'.=>.'...',...'...'.=>.'...',
7e4e0 0a 20 20 27 e1 b8 a8 27 20 3d 3e 20 27 e1 b8 a9 27 2c 0a 20 20 27 e1 b8 aa 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
7e500 b8 ab 27 2c 0a 20 20 27 e1 b8 ac 27 20 3d 3e 20 27 e1 b8 ad 27 2c 0a 20 20 27 e1 b8 ae 27 20 3d ..',...'...'.=>.'...',...'...'.=
7e520 3e 20 27 e1 b8 af 27 2c 0a 20 20 27 e1 b8 b0 27 20 3d 3e 20 27 e1 b8 b1 27 2c 0a 20 20 27 e1 b8 >.'...',...'...'.=>.'...',...'..
7e540 b2 27 20 3d 3e 20 27 e1 b8 b3 27 2c 0a 20 20 27 e1 b8 b4 27 20 3d 3e 20 27 e1 b8 b5 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
7e560 20 27 e1 b8 b6 27 20 3d 3e 20 27 e1 b8 b7 27 2c 0a 20 20 27 e1 b8 b8 27 20 3d 3e 20 27 e1 b8 b9 .'...'.=>.'...',...'...'.=>.'...
7e580 27 2c 0a 20 20 27 e1 b8 ba 27 20 3d 3e 20 27 e1 b8 bb 27 2c 0a 20 20 27 e1 b8 bc 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
7e5a0 27 e1 b8 bd 27 2c 0a 20 20 27 e1 b8 be 27 20 3d 3e 20 27 e1 b8 bf 27 2c 0a 20 20 27 e1 b9 80 27 '...',...'...'.=>.'...',...'...'
7e5c0 20 3d 3e 20 27 e1 b9 81 27 2c 0a 20 20 27 e1 b9 82 27 20 3d 3e 20 27 e1 b9 83 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
7e5e0 e1 b9 84 27 20 3d 3e 20 27 e1 b9 85 27 2c 0a 20 20 27 e1 b9 86 27 20 3d 3e 20 27 e1 b9 87 27 2c ...'.=>.'...',...'...'.=>.'...',
7e600 0a 20 20 27 e1 b9 88 27 20 3d 3e 20 27 e1 b9 89 27 2c 0a 20 20 27 e1 b9 8a 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
7e620 b9 8b 27 2c 0a 20 20 27 e1 b9 8c 27 20 3d 3e 20 27 e1 b9 8d 27 2c 0a 20 20 27 e1 b9 8e 27 20 3d ..',...'...'.=>.'...',...'...'.=
7e640 3e 20 27 e1 b9 8f 27 2c 0a 20 20 27 e1 b9 90 27 20 3d 3e 20 27 e1 b9 91 27 2c 0a 20 20 27 e1 b9 >.'...',...'...'.=>.'...',...'..
7e660 92 27 20 3d 3e 20 27 e1 b9 93 27 2c 0a 20 20 27 e1 b9 94 27 20 3d 3e 20 27 e1 b9 95 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
7e680 20 27 e1 b9 96 27 20 3d 3e 20 27 e1 b9 97 27 2c 0a 20 20 27 e1 b9 98 27 20 3d 3e 20 27 e1 b9 99 .'...'.=>.'...',...'...'.=>.'...
7e6a0 27 2c 0a 20 20 27 e1 b9 9a 27 20 3d 3e 20 27 e1 b9 9b 27 2c 0a 20 20 27 e1 b9 9c 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
7e6c0 27 e1 b9 9d 27 2c 0a 20 20 27 e1 b9 9e 27 20 3d 3e 20 27 e1 b9 9f 27 2c 0a 20 20 27 e1 b9 a0 27 '...',...'...'.=>.'...',...'...'
7e6e0 20 3d 3e 20 27 e1 b9 a1 27 2c 0a 20 20 27 e1 b9 a2 27 20 3d 3e 20 27 e1 b9 a3 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
7e700 e1 b9 a4 27 20 3d 3e 20 27 e1 b9 a5 27 2c 0a 20 20 27 e1 b9 a6 27 20 3d 3e 20 27 e1 b9 a7 27 2c ...'.=>.'...',...'...'.=>.'...',
7e720 0a 20 20 27 e1 b9 a8 27 20 3d 3e 20 27 e1 b9 a9 27 2c 0a 20 20 27 e1 b9 aa 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
7e740 b9 ab 27 2c 0a 20 20 27 e1 b9 ac 27 20 3d 3e 20 27 e1 b9 ad 27 2c 0a 20 20 27 e1 b9 ae 27 20 3d ..',...'...'.=>.'...',...'...'.=
7e760 3e 20 27 e1 b9 af 27 2c 0a 20 20 27 e1 b9 b0 27 20 3d 3e 20 27 e1 b9 b1 27 2c 0a 20 20 27 e1 b9 >.'...',...'...'.=>.'...',...'..
7e780 b2 27 20 3d 3e 20 27 e1 b9 b3 27 2c 0a 20 20 27 e1 b9 b4 27 20 3d 3e 20 27 e1 b9 b5 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
7e7a0 20 27 e1 b9 b6 27 20 3d 3e 20 27 e1 b9 b7 27 2c 0a 20 20 27 e1 b9 b8 27 20 3d 3e 20 27 e1 b9 b9 .'...'.=>.'...',...'...'.=>.'...
7e7c0 27 2c 0a 20 20 27 e1 b9 ba 27 20 3d 3e 20 27 e1 b9 bb 27 2c 0a 20 20 27 e1 b9 bc 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
7e7e0 27 e1 b9 bd 27 2c 0a 20 20 27 e1 b9 be 27 20 3d 3e 20 27 e1 b9 bf 27 2c 0a 20 20 27 e1 ba 80 27 '...',...'...'.=>.'...',...'...'
7e800 20 3d 3e 20 27 e1 ba 81 27 2c 0a 20 20 27 e1 ba 82 27 20 3d 3e 20 27 e1 ba 83 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
7e820 e1 ba 84 27 20 3d 3e 20 27 e1 ba 85 27 2c 0a 20 20 27 e1 ba 86 27 20 3d 3e 20 27 e1 ba 87 27 2c ...'.=>.'...',...'...'.=>.'...',
7e840 0a 20 20 27 e1 ba 88 27 20 3d 3e 20 27 e1 ba 89 27 2c 0a 20 20 27 e1 ba 8a 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
7e860 ba 8b 27 2c 0a 20 20 27 e1 ba 8c 27 20 3d 3e 20 27 e1 ba 8d 27 2c 0a 20 20 27 e1 ba 8e 27 20 3d ..',...'...'.=>.'...',...'...'.=
7e880 3e 20 27 e1 ba 8f 27 2c 0a 20 20 27 e1 ba 90 27 20 3d 3e 20 27 e1 ba 91 27 2c 0a 20 20 27 e1 ba >.'...',...'...'.=>.'...',...'..
7e8a0 92 27 20 3d 3e 20 27 e1 ba 93 27 2c 0a 20 20 27 e1 ba 94 27 20 3d 3e 20 27 e1 ba 95 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
7e8c0 20 27 e1 ba 9e 27 20 3d 3e 20 27 c3 9f 27 2c 0a 20 20 27 e1 ba a0 27 20 3d 3e 20 27 e1 ba a1 27 .'...'.=>.'..',...'...'.=>.'...'
7e8e0 2c 0a 20 20 27 e1 ba a2 27 20 3d 3e 20 27 e1 ba a3 27 2c 0a 20 20 27 e1 ba a4 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7e900 e1 ba a5 27 2c 0a 20 20 27 e1 ba a6 27 20 3d 3e 20 27 e1 ba a7 27 2c 0a 20 20 27 e1 ba a8 27 20 ...',...'...'.=>.'...',...'...'.
7e920 3d 3e 20 27 e1 ba a9 27 2c 0a 20 20 27 e1 ba aa 27 20 3d 3e 20 27 e1 ba ab 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7e940 ba ac 27 20 3d 3e 20 27 e1 ba ad 27 2c 0a 20 20 27 e1 ba ae 27 20 3d 3e 20 27 e1 ba af 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7e960 20 20 27 e1 ba b0 27 20 3d 3e 20 27 e1 ba b1 27 2c 0a 20 20 27 e1 ba b2 27 20 3d 3e 20 27 e1 ba ..'...'.=>.'...',...'...'.=>.'..
7e980 b3 27 2c 0a 20 20 27 e1 ba b4 27 20 3d 3e 20 27 e1 ba b5 27 2c 0a 20 20 27 e1 ba b6 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7e9a0 20 27 e1 ba b7 27 2c 0a 20 20 27 e1 ba b8 27 20 3d 3e 20 27 e1 ba b9 27 2c 0a 20 20 27 e1 ba ba .'...',...'...'.=>.'...',...'...
7e9c0 27 20 3d 3e 20 27 e1 ba bb 27 2c 0a 20 20 27 e1 ba bc 27 20 3d 3e 20 27 e1 ba bd 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7e9e0 27 e1 ba be 27 20 3d 3e 20 27 e1 ba bf 27 2c 0a 20 20 27 e1 bb 80 27 20 3d 3e 20 27 e1 bb 81 27 '...'.=>.'...',...'...'.=>.'...'
7ea00 2c 0a 20 20 27 e1 bb 82 27 20 3d 3e 20 27 e1 bb 83 27 2c 0a 20 20 27 e1 bb 84 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7ea20 e1 bb 85 27 2c 0a 20 20 27 e1 bb 86 27 20 3d 3e 20 27 e1 bb 87 27 2c 0a 20 20 27 e1 bb 88 27 20 ...',...'...'.=>.'...',...'...'.
7ea40 3d 3e 20 27 e1 bb 89 27 2c 0a 20 20 27 e1 bb 8a 27 20 3d 3e 20 27 e1 bb 8b 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7ea60 bb 8c 27 20 3d 3e 20 27 e1 bb 8d 27 2c 0a 20 20 27 e1 bb 8e 27 20 3d 3e 20 27 e1 bb 8f 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7ea80 20 20 27 e1 bb 90 27 20 3d 3e 20 27 e1 bb 91 27 2c 0a 20 20 27 e1 bb 92 27 20 3d 3e 20 27 e1 bb ..'...'.=>.'...',...'...'.=>.'..
7eaa0 93 27 2c 0a 20 20 27 e1 bb 94 27 20 3d 3e 20 27 e1 bb 95 27 2c 0a 20 20 27 e1 bb 96 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7eac0 20 27 e1 bb 97 27 2c 0a 20 20 27 e1 bb 98 27 20 3d 3e 20 27 e1 bb 99 27 2c 0a 20 20 27 e1 bb 9a .'...',...'...'.=>.'...',...'...
7eae0 27 20 3d 3e 20 27 e1 bb 9b 27 2c 0a 20 20 27 e1 bb 9c 27 20 3d 3e 20 27 e1 bb 9d 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7eb00 27 e1 bb 9e 27 20 3d 3e 20 27 e1 bb 9f 27 2c 0a 20 20 27 e1 bb a0 27 20 3d 3e 20 27 e1 bb a1 27 '...'.=>.'...',...'...'.=>.'...'
7eb20 2c 0a 20 20 27 e1 bb a2 27 20 3d 3e 20 27 e1 bb a3 27 2c 0a 20 20 27 e1 bb a4 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7eb40 e1 bb a5 27 2c 0a 20 20 27 e1 bb a6 27 20 3d 3e 20 27 e1 bb a7 27 2c 0a 20 20 27 e1 bb a8 27 20 ...',...'...'.=>.'...',...'...'.
7eb60 3d 3e 20 27 e1 bb a9 27 2c 0a 20 20 27 e1 bb aa 27 20 3d 3e 20 27 e1 bb ab 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7eb80 bb ac 27 20 3d 3e 20 27 e1 bb ad 27 2c 0a 20 20 27 e1 bb ae 27 20 3d 3e 20 27 e1 bb af 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7eba0 20 20 27 e1 bb b0 27 20 3d 3e 20 27 e1 bb b1 27 2c 0a 20 20 27 e1 bb b2 27 20 3d 3e 20 27 e1 bb ..'...'.=>.'...',...'...'.=>.'..
7ebc0 b3 27 2c 0a 20 20 27 e1 bb b4 27 20 3d 3e 20 27 e1 bb b5 27 2c 0a 20 20 27 e1 bb b6 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7ebe0 20 27 e1 bb b7 27 2c 0a 20 20 27 e1 bb b8 27 20 3d 3e 20 27 e1 bb b9 27 2c 0a 20 20 27 e1 bb ba .'...',...'...'.=>.'...',...'...
7ec00 27 20 3d 3e 20 27 e1 bb bb 27 2c 0a 20 20 27 e1 bb bc 27 20 3d 3e 20 27 e1 bb bd 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7ec20 27 e1 bb be 27 20 3d 3e 20 27 e1 bb bf 27 2c 0a 20 20 27 e1 bc 88 27 20 3d 3e 20 27 e1 bc 80 27 '...'.=>.'...',...'...'.=>.'...'
7ec40 2c 0a 20 20 27 e1 bc 89 27 20 3d 3e 20 27 e1 bc 81 27 2c 0a 20 20 27 e1 bc 8a 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7ec60 e1 bc 82 27 2c 0a 20 20 27 e1 bc 8b 27 20 3d 3e 20 27 e1 bc 83 27 2c 0a 20 20 27 e1 bc 8c 27 20 ...',...'...'.=>.'...',...'...'.
7ec80 3d 3e 20 27 e1 bc 84 27 2c 0a 20 20 27 e1 bc 8d 27 20 3d 3e 20 27 e1 bc 85 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7eca0 bc 8e 27 20 3d 3e 20 27 e1 bc 86 27 2c 0a 20 20 27 e1 bc 8f 27 20 3d 3e 20 27 e1 bc 87 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7ecc0 20 20 27 e1 bc 98 27 20 3d 3e 20 27 e1 bc 90 27 2c 0a 20 20 27 e1 bc 99 27 20 3d 3e 20 27 e1 bc ..'...'.=>.'...',...'...'.=>.'..
7ece0 91 27 2c 0a 20 20 27 e1 bc 9a 27 20 3d 3e 20 27 e1 bc 92 27 2c 0a 20 20 27 e1 bc 9b 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7ed00 20 27 e1 bc 93 27 2c 0a 20 20 27 e1 bc 9c 27 20 3d 3e 20 27 e1 bc 94 27 2c 0a 20 20 27 e1 bc 9d .'...',...'...'.=>.'...',...'...
7ed20 27 20 3d 3e 20 27 e1 bc 95 27 2c 0a 20 20 27 e1 bc a8 27 20 3d 3e 20 27 e1 bc a0 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7ed40 27 e1 bc a9 27 20 3d 3e 20 27 e1 bc a1 27 2c 0a 20 20 27 e1 bc aa 27 20 3d 3e 20 27 e1 bc a2 27 '...'.=>.'...',...'...'.=>.'...'
7ed60 2c 0a 20 20 27 e1 bc ab 27 20 3d 3e 20 27 e1 bc a3 27 2c 0a 20 20 27 e1 bc ac 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7ed80 e1 bc a4 27 2c 0a 20 20 27 e1 bc ad 27 20 3d 3e 20 27 e1 bc a5 27 2c 0a 20 20 27 e1 bc ae 27 20 ...',...'...'.=>.'...',...'...'.
7eda0 3d 3e 20 27 e1 bc a6 27 2c 0a 20 20 27 e1 bc af 27 20 3d 3e 20 27 e1 bc a7 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7edc0 bc b8 27 20 3d 3e 20 27 e1 bc b0 27 2c 0a 20 20 27 e1 bc b9 27 20 3d 3e 20 27 e1 bc b1 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7ede0 20 20 27 e1 bc ba 27 20 3d 3e 20 27 e1 bc b2 27 2c 0a 20 20 27 e1 bc bb 27 20 3d 3e 20 27 e1 bc ..'...'.=>.'...',...'...'.=>.'..
7ee00 b3 27 2c 0a 20 20 27 e1 bc bc 27 20 3d 3e 20 27 e1 bc b4 27 2c 0a 20 20 27 e1 bc bd 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7ee20 20 27 e1 bc b5 27 2c 0a 20 20 27 e1 bc be 27 20 3d 3e 20 27 e1 bc b6 27 2c 0a 20 20 27 e1 bc bf .'...',...'...'.=>.'...',...'...
7ee40 27 20 3d 3e 20 27 e1 bc b7 27 2c 0a 20 20 27 e1 bd 88 27 20 3d 3e 20 27 e1 bd 80 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7ee60 27 e1 bd 89 27 20 3d 3e 20 27 e1 bd 81 27 2c 0a 20 20 27 e1 bd 8a 27 20 3d 3e 20 27 e1 bd 82 27 '...'.=>.'...',...'...'.=>.'...'
7ee80 2c 0a 20 20 27 e1 bd 8b 27 20 3d 3e 20 27 e1 bd 83 27 2c 0a 20 20 27 e1 bd 8c 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7eea0 e1 bd 84 27 2c 0a 20 20 27 e1 bd 8d 27 20 3d 3e 20 27 e1 bd 85 27 2c 0a 20 20 27 e1 bd 99 27 20 ...',...'...'.=>.'...',...'...'.
7eec0 3d 3e 20 27 e1 bd 91 27 2c 0a 20 20 27 e1 bd 9b 27 20 3d 3e 20 27 e1 bd 93 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7eee0 bd 9d 27 20 3d 3e 20 27 e1 bd 95 27 2c 0a 20 20 27 e1 bd 9f 27 20 3d 3e 20 27 e1 bd 97 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7ef00 20 20 27 e1 bd a8 27 20 3d 3e 20 27 e1 bd a0 27 2c 0a 20 20 27 e1 bd a9 27 20 3d 3e 20 27 e1 bd ..'...'.=>.'...',...'...'.=>.'..
7ef20 a1 27 2c 0a 20 20 27 e1 bd aa 27 20 3d 3e 20 27 e1 bd a2 27 2c 0a 20 20 27 e1 bd ab 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7ef40 20 27 e1 bd a3 27 2c 0a 20 20 27 e1 bd ac 27 20 3d 3e 20 27 e1 bd a4 27 2c 0a 20 20 27 e1 bd ad .'...',...'...'.=>.'...',...'...
7ef60 27 20 3d 3e 20 27 e1 bd a5 27 2c 0a 20 20 27 e1 bd ae 27 20 3d 3e 20 27 e1 bd a6 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7ef80 27 e1 bd af 27 20 3d 3e 20 27 e1 bd a7 27 2c 0a 20 20 27 e1 be 88 27 20 3d 3e 20 27 e1 be 80 27 '...'.=>.'...',...'...'.=>.'...'
7efa0 2c 0a 20 20 27 e1 be 89 27 20 3d 3e 20 27 e1 be 81 27 2c 0a 20 20 27 e1 be 8a 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7efc0 e1 be 82 27 2c 0a 20 20 27 e1 be 8b 27 20 3d 3e 20 27 e1 be 83 27 2c 0a 20 20 27 e1 be 8c 27 20 ...',...'...'.=>.'...',...'...'.
7efe0 3d 3e 20 27 e1 be 84 27 2c 0a 20 20 27 e1 be 8d 27 20 3d 3e 20 27 e1 be 85 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7f000 be 8e 27 20 3d 3e 20 27 e1 be 86 27 2c 0a 20 20 27 e1 be 8f 27 20 3d 3e 20 27 e1 be 87 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f020 20 20 27 e1 be 98 27 20 3d 3e 20 27 e1 be 90 27 2c 0a 20 20 27 e1 be 99 27 20 3d 3e 20 27 e1 be ..'...'.=>.'...',...'...'.=>.'..
7f040 91 27 2c 0a 20 20 27 e1 be 9a 27 20 3d 3e 20 27 e1 be 92 27 2c 0a 20 20 27 e1 be 9b 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f060 20 27 e1 be 93 27 2c 0a 20 20 27 e1 be 9c 27 20 3d 3e 20 27 e1 be 94 27 2c 0a 20 20 27 e1 be 9d .'...',...'...'.=>.'...',...'...
7f080 27 20 3d 3e 20 27 e1 be 95 27 2c 0a 20 20 27 e1 be 9e 27 20 3d 3e 20 27 e1 be 96 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7f0a0 27 e1 be 9f 27 20 3d 3e 20 27 e1 be 97 27 2c 0a 20 20 27 e1 be a8 27 20 3d 3e 20 27 e1 be a0 27 '...'.=>.'...',...'...'.=>.'...'
7f0c0 2c 0a 20 20 27 e1 be a9 27 20 3d 3e 20 27 e1 be a1 27 2c 0a 20 20 27 e1 be aa 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7f0e0 e1 be a2 27 2c 0a 20 20 27 e1 be ab 27 20 3d 3e 20 27 e1 be a3 27 2c 0a 20 20 27 e1 be ac 27 20 ...',...'...'.=>.'...',...'...'.
7f100 3d 3e 20 27 e1 be a4 27 2c 0a 20 20 27 e1 be ad 27 20 3d 3e 20 27 e1 be a5 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7f120 be ae 27 20 3d 3e 20 27 e1 be a6 27 2c 0a 20 20 27 e1 be af 27 20 3d 3e 20 27 e1 be a7 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f140 20 20 27 e1 be b8 27 20 3d 3e 20 27 e1 be b0 27 2c 0a 20 20 27 e1 be b9 27 20 3d 3e 20 27 e1 be ..'...'.=>.'...',...'...'.=>.'..
7f160 b1 27 2c 0a 20 20 27 e1 be ba 27 20 3d 3e 20 27 e1 bd b0 27 2c 0a 20 20 27 e1 be bb 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f180 20 27 e1 bd b1 27 2c 0a 20 20 27 e1 be bc 27 20 3d 3e 20 27 e1 be b3 27 2c 0a 20 20 27 e1 bf 88 .'...',...'...'.=>.'...',...'...
7f1a0 27 20 3d 3e 20 27 e1 bd b2 27 2c 0a 20 20 27 e1 bf 89 27 20 3d 3e 20 27 e1 bd b3 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7f1c0 27 e1 bf 8a 27 20 3d 3e 20 27 e1 bd b4 27 2c 0a 20 20 27 e1 bf 8b 27 20 3d 3e 20 27 e1 bd b5 27 '...'.=>.'...',...'...'.=>.'...'
7f1e0 2c 0a 20 20 27 e1 bf 8c 27 20 3d 3e 20 27 e1 bf 83 27 2c 0a 20 20 27 e1 bf 98 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7f200 e1 bf 90 27 2c 0a 20 20 27 e1 bf 99 27 20 3d 3e 20 27 e1 bf 91 27 2c 0a 20 20 27 e1 bf 9a 27 20 ...',...'...'.=>.'...',...'...'.
7f220 3d 3e 20 27 e1 bd b6 27 2c 0a 20 20 27 e1 bf 9b 27 20 3d 3e 20 27 e1 bd b7 27 2c 0a 20 20 27 e1 =>.'...',...'...'.=>.'...',...'.
7f240 bf a8 27 20 3d 3e 20 27 e1 bf a0 27 2c 0a 20 20 27 e1 bf a9 27 20 3d 3e 20 27 e1 bf a1 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f260 20 20 27 e1 bf aa 27 20 3d 3e 20 27 e1 bd ba 27 2c 0a 20 20 27 e1 bf ab 27 20 3d 3e 20 27 e1 bd ..'...'.=>.'...',...'...'.=>.'..
7f280 bb 27 2c 0a 20 20 27 e1 bf ac 27 20 3d 3e 20 27 e1 bf a5 27 2c 0a 20 20 27 e1 bf b8 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f2a0 20 27 e1 bd b8 27 2c 0a 20 20 27 e1 bf b9 27 20 3d 3e 20 27 e1 bd b9 27 2c 0a 20 20 27 e1 bf ba .'...',...'...'.=>.'...',...'...
7f2c0 27 20 3d 3e 20 27 e1 bd bc 27 2c 0a 20 20 27 e1 bf bb 27 20 3d 3e 20 27 e1 bd bd 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7f2e0 27 e1 bf bc 27 20 3d 3e 20 27 e1 bf b3 27 2c 0a 20 20 27 e2 84 a6 27 20 3d 3e 20 27 cf 89 27 2c '...'.=>.'...',...'...'.=>.'..',
7f300 0a 20 20 27 e2 84 aa 27 20 3d 3e 20 27 6b 27 2c 0a 20 20 27 e2 84 ab 27 20 3d 3e 20 27 c3 a5 27 ...'...'.=>.'k',...'...'.=>.'..'
7f320 2c 0a 20 20 27 e2 84 b2 27 20 3d 3e 20 27 e2 85 8e 27 2c 0a 20 20 27 e2 85 a0 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7f340 e2 85 b0 27 2c 0a 20 20 27 e2 85 a1 27 20 3d 3e 20 27 e2 85 b1 27 2c 0a 20 20 27 e2 85 a2 27 20 ...',...'...'.=>.'...',...'...'.
7f360 3d 3e 20 27 e2 85 b2 27 2c 0a 20 20 27 e2 85 a3 27 20 3d 3e 20 27 e2 85 b3 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7f380 85 a4 27 20 3d 3e 20 27 e2 85 b4 27 2c 0a 20 20 27 e2 85 a5 27 20 3d 3e 20 27 e2 85 b5 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f3a0 20 20 27 e2 85 a6 27 20 3d 3e 20 27 e2 85 b6 27 2c 0a 20 20 27 e2 85 a7 27 20 3d 3e 20 27 e2 85 ..'...'.=>.'...',...'...'.=>.'..
7f3c0 b7 27 2c 0a 20 20 27 e2 85 a8 27 20 3d 3e 20 27 e2 85 b8 27 2c 0a 20 20 27 e2 85 a9 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f3e0 20 27 e2 85 b9 27 2c 0a 20 20 27 e2 85 aa 27 20 3d 3e 20 27 e2 85 ba 27 2c 0a 20 20 27 e2 85 ab .'...',...'...'.=>.'...',...'...
7f400 27 20 3d 3e 20 27 e2 85 bb 27 2c 0a 20 20 27 e2 85 ac 27 20 3d 3e 20 27 e2 85 bc 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7f420 27 e2 85 ad 27 20 3d 3e 20 27 e2 85 bd 27 2c 0a 20 20 27 e2 85 ae 27 20 3d 3e 20 27 e2 85 be 27 '...'.=>.'...',...'...'.=>.'...'
7f440 2c 0a 20 20 27 e2 85 af 27 20 3d 3e 20 27 e2 85 bf 27 2c 0a 20 20 27 e2 86 83 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7f460 e2 86 84 27 2c 0a 20 20 27 e2 92 b6 27 20 3d 3e 20 27 e2 93 90 27 2c 0a 20 20 27 e2 92 b7 27 20 ...',...'...'.=>.'...',...'...'.
7f480 3d 3e 20 27 e2 93 91 27 2c 0a 20 20 27 e2 92 b8 27 20 3d 3e 20 27 e2 93 92 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7f4a0 92 b9 27 20 3d 3e 20 27 e2 93 93 27 2c 0a 20 20 27 e2 92 ba 27 20 3d 3e 20 27 e2 93 94 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f4c0 20 20 27 e2 92 bb 27 20 3d 3e 20 27 e2 93 95 27 2c 0a 20 20 27 e2 92 bc 27 20 3d 3e 20 27 e2 93 ..'...'.=>.'...',...'...'.=>.'..
7f4e0 96 27 2c 0a 20 20 27 e2 92 bd 27 20 3d 3e 20 27 e2 93 97 27 2c 0a 20 20 27 e2 92 be 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f500 20 27 e2 93 98 27 2c 0a 20 20 27 e2 92 bf 27 20 3d 3e 20 27 e2 93 99 27 2c 0a 20 20 27 e2 93 80 .'...',...'...'.=>.'...',...'...
7f520 27 20 3d 3e 20 27 e2 93 9a 27 2c 0a 20 20 27 e2 93 81 27 20 3d 3e 20 27 e2 93 9b 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7f540 27 e2 93 82 27 20 3d 3e 20 27 e2 93 9c 27 2c 0a 20 20 27 e2 93 83 27 20 3d 3e 20 27 e2 93 9d 27 '...'.=>.'...',...'...'.=>.'...'
7f560 2c 0a 20 20 27 e2 93 84 27 20 3d 3e 20 27 e2 93 9e 27 2c 0a 20 20 27 e2 93 85 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7f580 e2 93 9f 27 2c 0a 20 20 27 e2 93 86 27 20 3d 3e 20 27 e2 93 a0 27 2c 0a 20 20 27 e2 93 87 27 20 ...',...'...'.=>.'...',...'...'.
7f5a0 3d 3e 20 27 e2 93 a1 27 2c 0a 20 20 27 e2 93 88 27 20 3d 3e 20 27 e2 93 a2 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7f5c0 93 89 27 20 3d 3e 20 27 e2 93 a3 27 2c 0a 20 20 27 e2 93 8a 27 20 3d 3e 20 27 e2 93 a4 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f5e0 20 20 27 e2 93 8b 27 20 3d 3e 20 27 e2 93 a5 27 2c 0a 20 20 27 e2 93 8c 27 20 3d 3e 20 27 e2 93 ..'...'.=>.'...',...'...'.=>.'..
7f600 a6 27 2c 0a 20 20 27 e2 93 8d 27 20 3d 3e 20 27 e2 93 a7 27 2c 0a 20 20 27 e2 93 8e 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f620 20 27 e2 93 a8 27 2c 0a 20 20 27 e2 93 8f 27 20 3d 3e 20 27 e2 93 a9 27 2c 0a 20 20 27 e2 b0 80 .'...',...'...'.=>.'...',...'...
7f640 27 20 3d 3e 20 27 e2 b0 b0 27 2c 0a 20 20 27 e2 b0 81 27 20 3d 3e 20 27 e2 b0 b1 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7f660 27 e2 b0 82 27 20 3d 3e 20 27 e2 b0 b2 27 2c 0a 20 20 27 e2 b0 83 27 20 3d 3e 20 27 e2 b0 b3 27 '...'.=>.'...',...'...'.=>.'...'
7f680 2c 0a 20 20 27 e2 b0 84 27 20 3d 3e 20 27 e2 b0 b4 27 2c 0a 20 20 27 e2 b0 85 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7f6a0 e2 b0 b5 27 2c 0a 20 20 27 e2 b0 86 27 20 3d 3e 20 27 e2 b0 b6 27 2c 0a 20 20 27 e2 b0 87 27 20 ...',...'...'.=>.'...',...'...'.
7f6c0 3d 3e 20 27 e2 b0 b7 27 2c 0a 20 20 27 e2 b0 88 27 20 3d 3e 20 27 e2 b0 b8 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7f6e0 b0 89 27 20 3d 3e 20 27 e2 b0 b9 27 2c 0a 20 20 27 e2 b0 8a 27 20 3d 3e 20 27 e2 b0 ba 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f700 20 20 27 e2 b0 8b 27 20 3d 3e 20 27 e2 b0 bb 27 2c 0a 20 20 27 e2 b0 8c 27 20 3d 3e 20 27 e2 b0 ..'...'.=>.'...',...'...'.=>.'..
7f720 bc 27 2c 0a 20 20 27 e2 b0 8d 27 20 3d 3e 20 27 e2 b0 bd 27 2c 0a 20 20 27 e2 b0 8e 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f740 20 27 e2 b0 be 27 2c 0a 20 20 27 e2 b0 8f 27 20 3d 3e 20 27 e2 b0 bf 27 2c 0a 20 20 27 e2 b0 90 .'...',...'...'.=>.'...',...'...
7f760 27 20 3d 3e 20 27 e2 b1 80 27 2c 0a 20 20 27 e2 b0 91 27 20 3d 3e 20 27 e2 b1 81 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7f780 27 e2 b0 92 27 20 3d 3e 20 27 e2 b1 82 27 2c 0a 20 20 27 e2 b0 93 27 20 3d 3e 20 27 e2 b1 83 27 '...'.=>.'...',...'...'.=>.'...'
7f7a0 2c 0a 20 20 27 e2 b0 94 27 20 3d 3e 20 27 e2 b1 84 27 2c 0a 20 20 27 e2 b0 95 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7f7c0 e2 b1 85 27 2c 0a 20 20 27 e2 b0 96 27 20 3d 3e 20 27 e2 b1 86 27 2c 0a 20 20 27 e2 b0 97 27 20 ...',...'...'.=>.'...',...'...'.
7f7e0 3d 3e 20 27 e2 b1 87 27 2c 0a 20 20 27 e2 b0 98 27 20 3d 3e 20 27 e2 b1 88 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7f800 b0 99 27 20 3d 3e 20 27 e2 b1 89 27 2c 0a 20 20 27 e2 b0 9a 27 20 3d 3e 20 27 e2 b1 8a 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f820 20 20 27 e2 b0 9b 27 20 3d 3e 20 27 e2 b1 8b 27 2c 0a 20 20 27 e2 b0 9c 27 20 3d 3e 20 27 e2 b1 ..'...'.=>.'...',...'...'.=>.'..
7f840 8c 27 2c 0a 20 20 27 e2 b0 9d 27 20 3d 3e 20 27 e2 b1 8d 27 2c 0a 20 20 27 e2 b0 9e 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f860 20 27 e2 b1 8e 27 2c 0a 20 20 27 e2 b0 9f 27 20 3d 3e 20 27 e2 b1 8f 27 2c 0a 20 20 27 e2 b0 a0 .'...',...'...'.=>.'...',...'...
7f880 27 20 3d 3e 20 27 e2 b1 90 27 2c 0a 20 20 27 e2 b0 a1 27 20 3d 3e 20 27 e2 b1 91 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7f8a0 27 e2 b0 a2 27 20 3d 3e 20 27 e2 b1 92 27 2c 0a 20 20 27 e2 b0 a3 27 20 3d 3e 20 27 e2 b1 93 27 '...'.=>.'...',...'...'.=>.'...'
7f8c0 2c 0a 20 20 27 e2 b0 a4 27 20 3d 3e 20 27 e2 b1 94 27 2c 0a 20 20 27 e2 b0 a5 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7f8e0 e2 b1 95 27 2c 0a 20 20 27 e2 b0 a6 27 20 3d 3e 20 27 e2 b1 96 27 2c 0a 20 20 27 e2 b0 a7 27 20 ...',...'...'.=>.'...',...'...'.
7f900 3d 3e 20 27 e2 b1 97 27 2c 0a 20 20 27 e2 b0 a8 27 20 3d 3e 20 27 e2 b1 98 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7f920 b0 a9 27 20 3d 3e 20 27 e2 b1 99 27 2c 0a 20 20 27 e2 b0 aa 27 20 3d 3e 20 27 e2 b1 9a 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7f940 20 20 27 e2 b0 ab 27 20 3d 3e 20 27 e2 b1 9b 27 2c 0a 20 20 27 e2 b0 ac 27 20 3d 3e 20 27 e2 b1 ..'...'.=>.'...',...'...'.=>.'..
7f960 9c 27 2c 0a 20 20 27 e2 b0 ad 27 20 3d 3e 20 27 e2 b1 9d 27 2c 0a 20 20 27 e2 b0 ae 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7f980 20 27 e2 b1 9e 27 2c 0a 20 20 27 e2 b1 a0 27 20 3d 3e 20 27 e2 b1 a1 27 2c 0a 20 20 27 e2 b1 a2 .'...',...'...'.=>.'...',...'...
7f9a0 27 20 3d 3e 20 27 c9 ab 27 2c 0a 20 20 27 e2 b1 a3 27 20 3d 3e 20 27 e1 b5 bd 27 2c 0a 20 20 27 '.=>.'..',...'...'.=>.'...',...'
7f9c0 e2 b1 a4 27 20 3d 3e 20 27 c9 bd 27 2c 0a 20 20 27 e2 b1 a7 27 20 3d 3e 20 27 e2 b1 a8 27 2c 0a ...'.=>.'..',...'...'.=>.'...',.
7f9e0 20 20 27 e2 b1 a9 27 20 3d 3e 20 27 e2 b1 aa 27 2c 0a 20 20 27 e2 b1 ab 27 20 3d 3e 20 27 e2 b1 ..'...'.=>.'...',...'...'.=>.'..
7fa00 ac 27 2c 0a 20 20 27 e2 b1 ad 27 20 3d 3e 20 27 c9 91 27 2c 0a 20 20 27 e2 b1 ae 27 20 3d 3e 20 .',...'...'.=>.'..',...'...'.=>.
7fa20 27 c9 b1 27 2c 0a 20 20 27 e2 b1 af 27 20 3d 3e 20 27 c9 90 27 2c 0a 20 20 27 e2 b1 b0 27 20 3d '..',...'...'.=>.'..',...'...'.=
7fa40 3e 20 27 c9 92 27 2c 0a 20 20 27 e2 b1 b2 27 20 3d 3e 20 27 e2 b1 b3 27 2c 0a 20 20 27 e2 b1 b5 >.'..',...'...'.=>.'...',...'...
7fa60 27 20 3d 3e 20 27 e2 b1 b6 27 2c 0a 20 20 27 e2 b1 be 27 20 3d 3e 20 27 c8 bf 27 2c 0a 20 20 27 '.=>.'...',...'...'.=>.'..',...'
7fa80 e2 b1 bf 27 20 3d 3e 20 27 c9 80 27 2c 0a 20 20 27 e2 b2 80 27 20 3d 3e 20 27 e2 b2 81 27 2c 0a ...'.=>.'..',...'...'.=>.'...',.
7faa0 20 20 27 e2 b2 82 27 20 3d 3e 20 27 e2 b2 83 27 2c 0a 20 20 27 e2 b2 84 27 20 3d 3e 20 27 e2 b2 ..'...'.=>.'...',...'...'.=>.'..
7fac0 85 27 2c 0a 20 20 27 e2 b2 86 27 20 3d 3e 20 27 e2 b2 87 27 2c 0a 20 20 27 e2 b2 88 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7fae0 20 27 e2 b2 89 27 2c 0a 20 20 27 e2 b2 8a 27 20 3d 3e 20 27 e2 b2 8b 27 2c 0a 20 20 27 e2 b2 8c .'...',...'...'.=>.'...',...'...
7fb00 27 20 3d 3e 20 27 e2 b2 8d 27 2c 0a 20 20 27 e2 b2 8e 27 20 3d 3e 20 27 e2 b2 8f 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7fb20 27 e2 b2 90 27 20 3d 3e 20 27 e2 b2 91 27 2c 0a 20 20 27 e2 b2 92 27 20 3d 3e 20 27 e2 b2 93 27 '...'.=>.'...',...'...'.=>.'...'
7fb40 2c 0a 20 20 27 e2 b2 94 27 20 3d 3e 20 27 e2 b2 95 27 2c 0a 20 20 27 e2 b2 96 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7fb60 e2 b2 97 27 2c 0a 20 20 27 e2 b2 98 27 20 3d 3e 20 27 e2 b2 99 27 2c 0a 20 20 27 e2 b2 9a 27 20 ...',...'...'.=>.'...',...'...'.
7fb80 3d 3e 20 27 e2 b2 9b 27 2c 0a 20 20 27 e2 b2 9c 27 20 3d 3e 20 27 e2 b2 9d 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7fba0 b2 9e 27 20 3d 3e 20 27 e2 b2 9f 27 2c 0a 20 20 27 e2 b2 a0 27 20 3d 3e 20 27 e2 b2 a1 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7fbc0 20 20 27 e2 b2 a2 27 20 3d 3e 20 27 e2 b2 a3 27 2c 0a 20 20 27 e2 b2 a4 27 20 3d 3e 20 27 e2 b2 ..'...'.=>.'...',...'...'.=>.'..
7fbe0 a5 27 2c 0a 20 20 27 e2 b2 a6 27 20 3d 3e 20 27 e2 b2 a7 27 2c 0a 20 20 27 e2 b2 a8 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7fc00 20 27 e2 b2 a9 27 2c 0a 20 20 27 e2 b2 aa 27 20 3d 3e 20 27 e2 b2 ab 27 2c 0a 20 20 27 e2 b2 ac .'...',...'...'.=>.'...',...'...
7fc20 27 20 3d 3e 20 27 e2 b2 ad 27 2c 0a 20 20 27 e2 b2 ae 27 20 3d 3e 20 27 e2 b2 af 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7fc40 27 e2 b2 b0 27 20 3d 3e 20 27 e2 b2 b1 27 2c 0a 20 20 27 e2 b2 b2 27 20 3d 3e 20 27 e2 b2 b3 27 '...'.=>.'...',...'...'.=>.'...'
7fc60 2c 0a 20 20 27 e2 b2 b4 27 20 3d 3e 20 27 e2 b2 b5 27 2c 0a 20 20 27 e2 b2 b6 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7fc80 e2 b2 b7 27 2c 0a 20 20 27 e2 b2 b8 27 20 3d 3e 20 27 e2 b2 b9 27 2c 0a 20 20 27 e2 b2 ba 27 20 ...',...'...'.=>.'...',...'...'.
7fca0 3d 3e 20 27 e2 b2 bb 27 2c 0a 20 20 27 e2 b2 bc 27 20 3d 3e 20 27 e2 b2 bd 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7fcc0 b2 be 27 20 3d 3e 20 27 e2 b2 bf 27 2c 0a 20 20 27 e2 b3 80 27 20 3d 3e 20 27 e2 b3 81 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7fce0 20 20 27 e2 b3 82 27 20 3d 3e 20 27 e2 b3 83 27 2c 0a 20 20 27 e2 b3 84 27 20 3d 3e 20 27 e2 b3 ..'...'.=>.'...',...'...'.=>.'..
7fd00 85 27 2c 0a 20 20 27 e2 b3 86 27 20 3d 3e 20 27 e2 b3 87 27 2c 0a 20 20 27 e2 b3 88 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7fd20 20 27 e2 b3 89 27 2c 0a 20 20 27 e2 b3 8a 27 20 3d 3e 20 27 e2 b3 8b 27 2c 0a 20 20 27 e2 b3 8c .'...',...'...'.=>.'...',...'...
7fd40 27 20 3d 3e 20 27 e2 b3 8d 27 2c 0a 20 20 27 e2 b3 8e 27 20 3d 3e 20 27 e2 b3 8f 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7fd60 27 e2 b3 90 27 20 3d 3e 20 27 e2 b3 91 27 2c 0a 20 20 27 e2 b3 92 27 20 3d 3e 20 27 e2 b3 93 27 '...'.=>.'...',...'...'.=>.'...'
7fd80 2c 0a 20 20 27 e2 b3 94 27 20 3d 3e 20 27 e2 b3 95 27 2c 0a 20 20 27 e2 b3 96 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7fda0 e2 b3 97 27 2c 0a 20 20 27 e2 b3 98 27 20 3d 3e 20 27 e2 b3 99 27 2c 0a 20 20 27 e2 b3 9a 27 20 ...',...'...'.=>.'...',...'...'.
7fdc0 3d 3e 20 27 e2 b3 9b 27 2c 0a 20 20 27 e2 b3 9c 27 20 3d 3e 20 27 e2 b3 9d 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
7fde0 b3 9e 27 20 3d 3e 20 27 e2 b3 9f 27 2c 0a 20 20 27 e2 b3 a0 27 20 3d 3e 20 27 e2 b3 a1 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7fe00 20 20 27 e2 b3 a2 27 20 3d 3e 20 27 e2 b3 a3 27 2c 0a 20 20 27 e2 b3 ab 27 20 3d 3e 20 27 e2 b3 ..'...'.=>.'...',...'...'.=>.'..
7fe20 ac 27 2c 0a 20 20 27 e2 b3 ad 27 20 3d 3e 20 27 e2 b3 ae 27 2c 0a 20 20 27 e2 b3 b2 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7fe40 20 27 e2 b3 b3 27 2c 0a 20 20 27 ea 99 80 27 20 3d 3e 20 27 ea 99 81 27 2c 0a 20 20 27 ea 99 82 .'...',...'...'.=>.'...',...'...
7fe60 27 20 3d 3e 20 27 ea 99 83 27 2c 0a 20 20 27 ea 99 84 27 20 3d 3e 20 27 ea 99 85 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7fe80 27 ea 99 86 27 20 3d 3e 20 27 ea 99 87 27 2c 0a 20 20 27 ea 99 88 27 20 3d 3e 20 27 ea 99 89 27 '...'.=>.'...',...'...'.=>.'...'
7fea0 2c 0a 20 20 27 ea 99 8a 27 20 3d 3e 20 27 ea 99 8b 27 2c 0a 20 20 27 ea 99 8c 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7fec0 ea 99 8d 27 2c 0a 20 20 27 ea 99 8e 27 20 3d 3e 20 27 ea 99 8f 27 2c 0a 20 20 27 ea 99 90 27 20 ...',...'...'.=>.'...',...'...'.
7fee0 3d 3e 20 27 ea 99 91 27 2c 0a 20 20 27 ea 99 92 27 20 3d 3e 20 27 ea 99 93 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
7ff00 99 94 27 20 3d 3e 20 27 ea 99 95 27 2c 0a 20 20 27 ea 99 96 27 20 3d 3e 20 27 ea 99 97 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
7ff20 20 20 27 ea 99 98 27 20 3d 3e 20 27 ea 99 99 27 2c 0a 20 20 27 ea 99 9a 27 20 3d 3e 20 27 ea 99 ..'...'.=>.'...',...'...'.=>.'..
7ff40 9b 27 2c 0a 20 20 27 ea 99 9c 27 20 3d 3e 20 27 ea 99 9d 27 2c 0a 20 20 27 ea 99 9e 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
7ff60 20 27 ea 99 9f 27 2c 0a 20 20 27 ea 99 a0 27 20 3d 3e 20 27 ea 99 a1 27 2c 0a 20 20 27 ea 99 a2 .'...',...'...'.=>.'...',...'...
7ff80 27 20 3d 3e 20 27 ea 99 a3 27 2c 0a 20 20 27 ea 99 a4 27 20 3d 3e 20 27 ea 99 a5 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
7ffa0 27 ea 99 a6 27 20 3d 3e 20 27 ea 99 a7 27 2c 0a 20 20 27 ea 99 a8 27 20 3d 3e 20 27 ea 99 a9 27 '...'.=>.'...',...'...'.=>.'...'
7ffc0 2c 0a 20 20 27 ea 99 aa 27 20 3d 3e 20 27 ea 99 ab 27 2c 0a 20 20 27 ea 99 ac 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
7ffe0 ea 99 ad 27 2c 0a 20 20 27 ea 9a 80 27 20 3d 3e 20 27 ea 9a 81 27 2c 0a 20 20 27 ea 9a 82 27 20 ...',...'...'.=>.'...',...'...'.
80000 3d 3e 20 27 ea 9a 83 27 2c 0a 20 20 27 ea 9a 84 27 20 3d 3e 20 27 ea 9a 85 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
80020 9a 86 27 20 3d 3e 20 27 ea 9a 87 27 2c 0a 20 20 27 ea 9a 88 27 20 3d 3e 20 27 ea 9a 89 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
80040 20 20 27 ea 9a 8a 27 20 3d 3e 20 27 ea 9a 8b 27 2c 0a 20 20 27 ea 9a 8c 27 20 3d 3e 20 27 ea 9a ..'...'.=>.'...',...'...'.=>.'..
80060 8d 27 2c 0a 20 20 27 ea 9a 8e 27 20 3d 3e 20 27 ea 9a 8f 27 2c 0a 20 20 27 ea 9a 90 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
80080 20 27 ea 9a 91 27 2c 0a 20 20 27 ea 9a 92 27 20 3d 3e 20 27 ea 9a 93 27 2c 0a 20 20 27 ea 9a 94 .'...',...'...'.=>.'...',...'...
800a0 27 20 3d 3e 20 27 ea 9a 95 27 2c 0a 20 20 27 ea 9a 96 27 20 3d 3e 20 27 ea 9a 97 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
800c0 27 ea 9a 98 27 20 3d 3e 20 27 ea 9a 99 27 2c 0a 20 20 27 ea 9a 9a 27 20 3d 3e 20 27 ea 9a 9b 27 '...'.=>.'...',...'...'.=>.'...'
800e0 2c 0a 20 20 27 ea 9c a2 27 20 3d 3e 20 27 ea 9c a3 27 2c 0a 20 20 27 ea 9c a4 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
80100 ea 9c a5 27 2c 0a 20 20 27 ea 9c a6 27 20 3d 3e 20 27 ea 9c a7 27 2c 0a 20 20 27 ea 9c a8 27 20 ...',...'...'.=>.'...',...'...'.
80120 3d 3e 20 27 ea 9c a9 27 2c 0a 20 20 27 ea 9c aa 27 20 3d 3e 20 27 ea 9c ab 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
80140 9c ac 27 20 3d 3e 20 27 ea 9c ad 27 2c 0a 20 20 27 ea 9c ae 27 20 3d 3e 20 27 ea 9c af 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
80160 20 20 27 ea 9c b2 27 20 3d 3e 20 27 ea 9c b3 27 2c 0a 20 20 27 ea 9c b4 27 20 3d 3e 20 27 ea 9c ..'...'.=>.'...',...'...'.=>.'..
80180 b5 27 2c 0a 20 20 27 ea 9c b6 27 20 3d 3e 20 27 ea 9c b7 27 2c 0a 20 20 27 ea 9c b8 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
801a0 20 27 ea 9c b9 27 2c 0a 20 20 27 ea 9c ba 27 20 3d 3e 20 27 ea 9c bb 27 2c 0a 20 20 27 ea 9c bc .'...',...'...'.=>.'...',...'...
801c0 27 20 3d 3e 20 27 ea 9c bd 27 2c 0a 20 20 27 ea 9c be 27 20 3d 3e 20 27 ea 9c bf 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
801e0 27 ea 9d 80 27 20 3d 3e 20 27 ea 9d 81 27 2c 0a 20 20 27 ea 9d 82 27 20 3d 3e 20 27 ea 9d 83 27 '...'.=>.'...',...'...'.=>.'...'
80200 2c 0a 20 20 27 ea 9d 84 27 20 3d 3e 20 27 ea 9d 85 27 2c 0a 20 20 27 ea 9d 86 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
80220 ea 9d 87 27 2c 0a 20 20 27 ea 9d 88 27 20 3d 3e 20 27 ea 9d 89 27 2c 0a 20 20 27 ea 9d 8a 27 20 ...',...'...'.=>.'...',...'...'.
80240 3d 3e 20 27 ea 9d 8b 27 2c 0a 20 20 27 ea 9d 8c 27 20 3d 3e 20 27 ea 9d 8d 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
80260 9d 8e 27 20 3d 3e 20 27 ea 9d 8f 27 2c 0a 20 20 27 ea 9d 90 27 20 3d 3e 20 27 ea 9d 91 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
80280 20 20 27 ea 9d 92 27 20 3d 3e 20 27 ea 9d 93 27 2c 0a 20 20 27 ea 9d 94 27 20 3d 3e 20 27 ea 9d ..'...'.=>.'...',...'...'.=>.'..
802a0 95 27 2c 0a 20 20 27 ea 9d 96 27 20 3d 3e 20 27 ea 9d 97 27 2c 0a 20 20 27 ea 9d 98 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
802c0 20 27 ea 9d 99 27 2c 0a 20 20 27 ea 9d 9a 27 20 3d 3e 20 27 ea 9d 9b 27 2c 0a 20 20 27 ea 9d 9c .'...',...'...'.=>.'...',...'...
802e0 27 20 3d 3e 20 27 ea 9d 9d 27 2c 0a 20 20 27 ea 9d 9e 27 20 3d 3e 20 27 ea 9d 9f 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
80300 27 ea 9d a0 27 20 3d 3e 20 27 ea 9d a1 27 2c 0a 20 20 27 ea 9d a2 27 20 3d 3e 20 27 ea 9d a3 27 '...'.=>.'...',...'...'.=>.'...'
80320 2c 0a 20 20 27 ea 9d a4 27 20 3d 3e 20 27 ea 9d a5 27 2c 0a 20 20 27 ea 9d a6 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
80340 ea 9d a7 27 2c 0a 20 20 27 ea 9d a8 27 20 3d 3e 20 27 ea 9d a9 27 2c 0a 20 20 27 ea 9d aa 27 20 ...',...'...'.=>.'...',...'...'.
80360 3d 3e 20 27 ea 9d ab 27 2c 0a 20 20 27 ea 9d ac 27 20 3d 3e 20 27 ea 9d ad 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
80380 9d ae 27 20 3d 3e 20 27 ea 9d af 27 2c 0a 20 20 27 ea 9d b9 27 20 3d 3e 20 27 ea 9d ba 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
803a0 20 20 27 ea 9d bb 27 20 3d 3e 20 27 ea 9d bc 27 2c 0a 20 20 27 ea 9d bd 27 20 3d 3e 20 27 e1 b5 ..'...'.=>.'...',...'...'.=>.'..
803c0 b9 27 2c 0a 20 20 27 ea 9d be 27 20 3d 3e 20 27 ea 9d bf 27 2c 0a 20 20 27 ea 9e 80 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
803e0 20 27 ea 9e 81 27 2c 0a 20 20 27 ea 9e 82 27 20 3d 3e 20 27 ea 9e 83 27 2c 0a 20 20 27 ea 9e 84 .'...',...'...'.=>.'...',...'...
80400 27 20 3d 3e 20 27 ea 9e 85 27 2c 0a 20 20 27 ea 9e 86 27 20 3d 3e 20 27 ea 9e 87 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
80420 27 ea 9e 8b 27 20 3d 3e 20 27 ea 9e 8c 27 2c 0a 20 20 27 ea 9e 8d 27 20 3d 3e 20 27 c9 a5 27 2c '...'.=>.'...',...'...'.=>.'..',
80440 0a 20 20 27 ea 9e 90 27 20 3d 3e 20 27 ea 9e 91 27 2c 0a 20 20 27 ea 9e 92 27 20 3d 3e 20 27 ea ...'...'.=>.'...',...'...'.=>.'.
80460 9e 93 27 2c 0a 20 20 27 ea 9e 96 27 20 3d 3e 20 27 ea 9e 97 27 2c 0a 20 20 27 ea 9e 98 27 20 3d ..',...'...'.=>.'...',...'...'.=
80480 3e 20 27 ea 9e 99 27 2c 0a 20 20 27 ea 9e 9a 27 20 3d 3e 20 27 ea 9e 9b 27 2c 0a 20 20 27 ea 9e >.'...',...'...'.=>.'...',...'..
804a0 9c 27 20 3d 3e 20 27 ea 9e 9d 27 2c 0a 20 20 27 ea 9e 9e 27 20 3d 3e 20 27 ea 9e 9f 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
804c0 20 27 ea 9e a0 27 20 3d 3e 20 27 ea 9e a1 27 2c 0a 20 20 27 ea 9e a2 27 20 3d 3e 20 27 ea 9e a3 .'...'.=>.'...',...'...'.=>.'...
804e0 27 2c 0a 20 20 27 ea 9e a4 27 20 3d 3e 20 27 ea 9e a5 27 2c 0a 20 20 27 ea 9e a6 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
80500 27 ea 9e a7 27 2c 0a 20 20 27 ea 9e a8 27 20 3d 3e 20 27 ea 9e a9 27 2c 0a 20 20 27 ea 9e aa 27 '...',...'...'.=>.'...',...'...'
80520 20 3d 3e 20 27 c9 a6 27 2c 0a 20 20 27 ea 9e ab 27 20 3d 3e 20 27 c9 9c 27 2c 0a 20 20 27 ea 9e .=>.'..',...'...'.=>.'..',...'..
80540 ac 27 20 3d 3e 20 27 c9 a1 27 2c 0a 20 20 27 ea 9e ad 27 20 3d 3e 20 27 c9 ac 27 2c 0a 20 20 27 .'.=>.'..',...'...'.=>.'..',...'
80560 ea 9e b0 27 20 3d 3e 20 27 ca 9e 27 2c 0a 20 20 27 ea 9e b1 27 20 3d 3e 20 27 ca 87 27 2c 0a 20 ...'.=>.'..',...'...'.=>.'..',..
80580 20 27 ef bc a1 27 20 3d 3e 20 27 ef bd 81 27 2c 0a 20 20 27 ef bc a2 27 20 3d 3e 20 27 ef bd 82 .'...'.=>.'...',...'...'.=>.'...
805a0 27 2c 0a 20 20 27 ef bc a3 27 20 3d 3e 20 27 ef bd 83 27 2c 0a 20 20 27 ef bc a4 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
805c0 27 ef bd 84 27 2c 0a 20 20 27 ef bc a5 27 20 3d 3e 20 27 ef bd 85 27 2c 0a 20 20 27 ef bc a6 27 '...',...'...'.=>.'...',...'...'
805e0 20 3d 3e 20 27 ef bd 86 27 2c 0a 20 20 27 ef bc a7 27 20 3d 3e 20 27 ef bd 87 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
80600 ef bc a8 27 20 3d 3e 20 27 ef bd 88 27 2c 0a 20 20 27 ef bc a9 27 20 3d 3e 20 27 ef bd 89 27 2c ...'.=>.'...',...'...'.=>.'...',
80620 0a 20 20 27 ef bc aa 27 20 3d 3e 20 27 ef bd 8a 27 2c 0a 20 20 27 ef bc ab 27 20 3d 3e 20 27 ef ...'...'.=>.'...',...'...'.=>.'.
80640 bd 8b 27 2c 0a 20 20 27 ef bc ac 27 20 3d 3e 20 27 ef bd 8c 27 2c 0a 20 20 27 ef bc ad 27 20 3d ..',...'...'.=>.'...',...'...'.=
80660 3e 20 27 ef bd 8d 27 2c 0a 20 20 27 ef bc ae 27 20 3d 3e 20 27 ef bd 8e 27 2c 0a 20 20 27 ef bc >.'...',...'...'.=>.'...',...'..
80680 af 27 20 3d 3e 20 27 ef bd 8f 27 2c 0a 20 20 27 ef bc b0 27 20 3d 3e 20 27 ef bd 90 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
806a0 20 27 ef bc b1 27 20 3d 3e 20 27 ef bd 91 27 2c 0a 20 20 27 ef bc b2 27 20 3d 3e 20 27 ef bd 92 .'...'.=>.'...',...'...'.=>.'...
806c0 27 2c 0a 20 20 27 ef bc b3 27 20 3d 3e 20 27 ef bd 93 27 2c 0a 20 20 27 ef bc b4 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
806e0 27 ef bd 94 27 2c 0a 20 20 27 ef bc b5 27 20 3d 3e 20 27 ef bd 95 27 2c 0a 20 20 27 ef bc b6 27 '...',...'...'.=>.'...',...'...'
80700 20 3d 3e 20 27 ef bd 96 27 2c 0a 20 20 27 ef bc b7 27 20 3d 3e 20 27 ef bd 97 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
80720 ef bc b8 27 20 3d 3e 20 27 ef bd 98 27 2c 0a 20 20 27 ef bc b9 27 20 3d 3e 20 27 ef bd 99 27 2c ...'.=>.'...',...'...'.=>.'...',
80740 0a 20 20 27 ef bc ba 27 20 3d 3e 20 27 ef bd 9a 27 2c 0a 20 20 27 f0 90 90 80 27 20 3d 3e 20 27 ...'...'.=>.'...',...'....'.=>.'
80760 f0 90 90 a8 27 2c 0a 20 20 27 f0 90 90 81 27 20 3d 3e 20 27 f0 90 90 a9 27 2c 0a 20 20 27 f0 90 ....',...'....'.=>.'....',...'..
80780 90 82 27 20 3d 3e 20 27 f0 90 90 aa 27 2c 0a 20 20 27 f0 90 90 83 27 20 3d 3e 20 27 f0 90 90 ab ..'.=>.'....',...'....'.=>.'....
807a0 27 2c 0a 20 20 27 f0 90 90 84 27 20 3d 3e 20 27 f0 90 90 ac 27 2c 0a 20 20 27 f0 90 90 85 27 20 ',...'....'.=>.'....',...'....'.
807c0 3d 3e 20 27 f0 90 90 ad 27 2c 0a 20 20 27 f0 90 90 86 27 20 3d 3e 20 27 f0 90 90 ae 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
807e0 20 27 f0 90 90 87 27 20 3d 3e 20 27 f0 90 90 af 27 2c 0a 20 20 27 f0 90 90 88 27 20 3d 3e 20 27 .'....'.=>.'....',...'....'.=>.'
80800 f0 90 90 b0 27 2c 0a 20 20 27 f0 90 90 89 27 20 3d 3e 20 27 f0 90 90 b1 27 2c 0a 20 20 27 f0 90 ....',...'....'.=>.'....',...'..
80820 90 8a 27 20 3d 3e 20 27 f0 90 90 b2 27 2c 0a 20 20 27 f0 90 90 8b 27 20 3d 3e 20 27 f0 90 90 b3 ..'.=>.'....',...'....'.=>.'....
80840 27 2c 0a 20 20 27 f0 90 90 8c 27 20 3d 3e 20 27 f0 90 90 b4 27 2c 0a 20 20 27 f0 90 90 8d 27 20 ',...'....'.=>.'....',...'....'.
80860 3d 3e 20 27 f0 90 90 b5 27 2c 0a 20 20 27 f0 90 90 8e 27 20 3d 3e 20 27 f0 90 90 b6 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
80880 20 27 f0 90 90 8f 27 20 3d 3e 20 27 f0 90 90 b7 27 2c 0a 20 20 27 f0 90 90 90 27 20 3d 3e 20 27 .'....'.=>.'....',...'....'.=>.'
808a0 f0 90 90 b8 27 2c 0a 20 20 27 f0 90 90 91 27 20 3d 3e 20 27 f0 90 90 b9 27 2c 0a 20 20 27 f0 90 ....',...'....'.=>.'....',...'..
808c0 90 92 27 20 3d 3e 20 27 f0 90 90 ba 27 2c 0a 20 20 27 f0 90 90 93 27 20 3d 3e 20 27 f0 90 90 bb ..'.=>.'....',...'....'.=>.'....
808e0 27 2c 0a 20 20 27 f0 90 90 94 27 20 3d 3e 20 27 f0 90 90 bc 27 2c 0a 20 20 27 f0 90 90 95 27 20 ',...'....'.=>.'....',...'....'.
80900 3d 3e 20 27 f0 90 90 bd 27 2c 0a 20 20 27 f0 90 90 96 27 20 3d 3e 20 27 f0 90 90 be 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
80920 20 27 f0 90 90 97 27 20 3d 3e 20 27 f0 90 90 bf 27 2c 0a 20 20 27 f0 90 90 98 27 20 3d 3e 20 27 .'....'.=>.'....',...'....'.=>.'
80940 f0 90 91 80 27 2c 0a 20 20 27 f0 90 90 99 27 20 3d 3e 20 27 f0 90 91 81 27 2c 0a 20 20 27 f0 90 ....',...'....'.=>.'....',...'..
80960 90 9a 27 20 3d 3e 20 27 f0 90 91 82 27 2c 0a 20 20 27 f0 90 90 9b 27 20 3d 3e 20 27 f0 90 91 83 ..'.=>.'....',...'....'.=>.'....
80980 27 2c 0a 20 20 27 f0 90 90 9c 27 20 3d 3e 20 27 f0 90 91 84 27 2c 0a 20 20 27 f0 90 90 9d 27 20 ',...'....'.=>.'....',...'....'.
809a0 3d 3e 20 27 f0 90 91 85 27 2c 0a 20 20 27 f0 90 90 9e 27 20 3d 3e 20 27 f0 90 91 86 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
809c0 20 27 f0 90 90 9f 27 20 3d 3e 20 27 f0 90 91 87 27 2c 0a 20 20 27 f0 90 90 a0 27 20 3d 3e 20 27 .'....'.=>.'....',...'....'.=>.'
809e0 f0 90 91 88 27 2c 0a 20 20 27 f0 90 90 a1 27 20 3d 3e 20 27 f0 90 91 89 27 2c 0a 20 20 27 f0 90 ....',...'....'.=>.'....',...'..
80a00 90 a2 27 20 3d 3e 20 27 f0 90 91 8a 27 2c 0a 20 20 27 f0 90 90 a3 27 20 3d 3e 20 27 f0 90 91 8b ..'.=>.'....',...'....'.=>.'....
80a20 27 2c 0a 20 20 27 f0 90 90 a4 27 20 3d 3e 20 27 f0 90 91 8c 27 2c 0a 20 20 27 f0 90 90 a5 27 20 ',...'....'.=>.'....',...'....'.
80a40 3d 3e 20 27 f0 90 91 8d 27 2c 0a 20 20 27 f0 90 90 a6 27 20 3d 3e 20 27 f0 90 91 8e 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
80a60 20 27 f0 90 90 a7 27 20 3d 3e 20 27 f0 90 91 8f 27 2c 0a 20 20 27 f0 91 a2 a0 27 20 3d 3e 20 27 .'....'.=>.'....',...'....'.=>.'
80a80 f0 91 a3 80 27 2c 0a 20 20 27 f0 91 a2 a1 27 20 3d 3e 20 27 f0 91 a3 81 27 2c 0a 20 20 27 f0 91 ....',...'....'.=>.'....',...'..
80aa0 a2 a2 27 20 3d 3e 20 27 f0 91 a3 82 27 2c 0a 20 20 27 f0 91 a2 a3 27 20 3d 3e 20 27 f0 91 a3 83 ..'.=>.'....',...'....'.=>.'....
80ac0 27 2c 0a 20 20 27 f0 91 a2 a4 27 20 3d 3e 20 27 f0 91 a3 84 27 2c 0a 20 20 27 f0 91 a2 a5 27 20 ',...'....'.=>.'....',...'....'.
80ae0 3d 3e 20 27 f0 91 a3 85 27 2c 0a 20 20 27 f0 91 a2 a6 27 20 3d 3e 20 27 f0 91 a3 86 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
80b00 20 27 f0 91 a2 a7 27 20 3d 3e 20 27 f0 91 a3 87 27 2c 0a 20 20 27 f0 91 a2 a8 27 20 3d 3e 20 27 .'....'.=>.'....',...'....'.=>.'
80b20 f0 91 a3 88 27 2c 0a 20 20 27 f0 91 a2 a9 27 20 3d 3e 20 27 f0 91 a3 89 27 2c 0a 20 20 27 f0 91 ....',...'....'.=>.'....',...'..
80b40 a2 aa 27 20 3d 3e 20 27 f0 91 a3 8a 27 2c 0a 20 20 27 f0 91 a2 ab 27 20 3d 3e 20 27 f0 91 a3 8b ..'.=>.'....',...'....'.=>.'....
80b60 27 2c 0a 20 20 27 f0 91 a2 ac 27 20 3d 3e 20 27 f0 91 a3 8c 27 2c 0a 20 20 27 f0 91 a2 ad 27 20 ',...'....'.=>.'....',...'....'.
80b80 3d 3e 20 27 f0 91 a3 8d 27 2c 0a 20 20 27 f0 91 a2 ae 27 20 3d 3e 20 27 f0 91 a3 8e 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
80ba0 20 27 f0 91 a2 af 27 20 3d 3e 20 27 f0 91 a3 8f 27 2c 0a 20 20 27 f0 91 a2 b0 27 20 3d 3e 20 27 .'....'.=>.'....',...'....'.=>.'
80bc0 f0 91 a3 90 27 2c 0a 20 20 27 f0 91 a2 b1 27 20 3d 3e 20 27 f0 91 a3 91 27 2c 0a 20 20 27 f0 91 ....',...'....'.=>.'....',...'..
80be0 a2 b2 27 20 3d 3e 20 27 f0 91 a3 92 27 2c 0a 20 20 27 f0 91 a2 b3 27 20 3d 3e 20 27 f0 91 a3 93 ..'.=>.'....',...'....'.=>.'....
80c00 27 2c 0a 20 20 27 f0 91 a2 b4 27 20 3d 3e 20 27 f0 91 a3 94 27 2c 0a 20 20 27 f0 91 a2 b5 27 20 ',...'....'.=>.'....',...'....'.
80c20 3d 3e 20 27 f0 91 a3 95 27 2c 0a 20 20 27 f0 91 a2 b6 27 20 3d 3e 20 27 f0 91 a3 96 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
80c40 20 27 f0 91 a2 b7 27 20 3d 3e 20 27 f0 91 a3 97 27 2c 0a 20 20 27 f0 91 a2 b8 27 20 3d 3e 20 27 .'....'.=>.'....',...'....'.=>.'
80c60 f0 91 a3 98 27 2c 0a 20 20 27 f0 91 a2 b9 27 20 3d 3e 20 27 f0 91 a3 99 27 2c 0a 20 20 27 f0 91 ....',...'....'.=>.'....',...'..
80c80 a2 ba 27 20 3d 3e 20 27 f0 91 a3 9a 27 2c 0a 20 20 27 f0 91 a2 bb 27 20 3d 3e 20 27 f0 91 a3 9b ..'.=>.'....',...'....'.=>.'....
80ca0 27 2c 0a 20 20 27 f0 91 a2 bc 27 20 3d 3e 20 27 f0 91 a3 9c 27 2c 0a 20 20 27 f0 91 a2 bd 27 20 ',...'....'.=>.'....',...'....'.
80cc0 3d 3e 20 27 f0 91 a3 9d 27 2c 0a 20 20 27 f0 91 a2 be 27 20 3d 3e 20 27 f0 91 a3 9e 27 2c 0a 20 =>.'....',...'....'.=>.'....',..
80ce0 20 27 f0 91 a2 bf 27 20 3d 3e 20 27 f0 91 a3 9f 27 2c 0a 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d .'....'.=>.'....',.);..$result.=
80d00 26 20 24 64 61 74 61 3b 0a 75 6e 73 65 74 28 24 64 61 74 61 29 3b 0a 0a 72 65 74 75 72 6e 20 24 &.$data;.unset($data);..return.$
80d20 72 65 73 75 6c 74 3b 0a 3c 3f 70 68 70 0a 0a 73 74 61 74 69 63 20 24 64 61 74 61 20 3d 20 61 72 result;.<?php..static.$data.=.ar
80d40 72 61 79 20 28 0a 20 20 27 61 27 20 3d 3e 20 27 41 27 2c 0a 20 20 27 62 27 20 3d 3e 20 27 42 27 ray.(...'a'.=>.'A',...'b'.=>.'B'
80d60 2c 0a 20 20 27 63 27 20 3d 3e 20 27 43 27 2c 0a 20 20 27 64 27 20 3d 3e 20 27 44 27 2c 0a 20 20 ,...'c'.=>.'C',...'d'.=>.'D',...
80d80 27 65 27 20 3d 3e 20 27 45 27 2c 0a 20 20 27 66 27 20 3d 3e 20 27 46 27 2c 0a 20 20 27 67 27 20 'e'.=>.'E',...'f'.=>.'F',...'g'.
80da0 3d 3e 20 27 47 27 2c 0a 20 20 27 68 27 20 3d 3e 20 27 48 27 2c 0a 20 20 27 69 27 20 3d 3e 20 27 =>.'G',...'h'.=>.'H',...'i'.=>.'
80dc0 49 27 2c 0a 20 20 27 6a 27 20 3d 3e 20 27 4a 27 2c 0a 20 20 27 6b 27 20 3d 3e 20 27 4b 27 2c 0a I',...'j'.=>.'J',...'k'.=>.'K',.
80de0 20 20 27 6c 27 20 3d 3e 20 27 4c 27 2c 0a 20 20 27 6d 27 20 3d 3e 20 27 4d 27 2c 0a 20 20 27 6e ..'l'.=>.'L',...'m'.=>.'M',...'n
80e00 27 20 3d 3e 20 27 4e 27 2c 0a 20 20 27 6f 27 20 3d 3e 20 27 4f 27 2c 0a 20 20 27 70 27 20 3d 3e '.=>.'N',...'o'.=>.'O',...'p'.=>
80e20 20 27 50 27 2c 0a 20 20 27 71 27 20 3d 3e 20 27 51 27 2c 0a 20 20 27 72 27 20 3d 3e 20 27 52 27 .'P',...'q'.=>.'Q',...'r'.=>.'R'
80e40 2c 0a 20 20 27 73 27 20 3d 3e 20 27 53 27 2c 0a 20 20 27 74 27 20 3d 3e 20 27 54 27 2c 0a 20 20 ,...'s'.=>.'S',...'t'.=>.'T',...
80e60 27 75 27 20 3d 3e 20 27 55 27 2c 0a 20 20 27 76 27 20 3d 3e 20 27 56 27 2c 0a 20 20 27 77 27 20 'u'.=>.'U',...'v'.=>.'V',...'w'.
80e80 3d 3e 20 27 57 27 2c 0a 20 20 27 78 27 20 3d 3e 20 27 58 27 2c 0a 20 20 27 79 27 20 3d 3e 20 27 =>.'W',...'x'.=>.'X',...'y'.=>.'
80ea0 59 27 2c 0a 20 20 27 7a 27 20 3d 3e 20 27 5a 27 2c 0a 20 20 27 c2 b5 27 20 3d 3e 20 27 ce 9c 27 Y',...'z'.=>.'Z',...'..'.=>.'..'
80ec0 2c 0a 20 20 27 c3 a0 27 20 3d 3e 20 27 c3 80 27 2c 0a 20 20 27 c3 a1 27 20 3d 3e 20 27 c3 81 27 ,...'..'.=>.'..',...'..'.=>.'..'
80ee0 2c 0a 20 20 27 c3 a2 27 20 3d 3e 20 27 c3 82 27 2c 0a 20 20 27 c3 a3 27 20 3d 3e 20 27 c3 83 27 ,...'..'.=>.'..',...'..'.=>.'..'
80f00 2c 0a 20 20 27 c3 a4 27 20 3d 3e 20 27 c3 84 27 2c 0a 20 20 27 c3 a5 27 20 3d 3e 20 27 c3 85 27 ,...'..'.=>.'..',...'..'.=>.'..'
80f20 2c 0a 20 20 27 c3 a6 27 20 3d 3e 20 27 c3 86 27 2c 0a 20 20 27 c3 a7 27 20 3d 3e 20 27 c3 87 27 ,...'..'.=>.'..',...'..'.=>.'..'
80f40 2c 0a 20 20 27 c3 a8 27 20 3d 3e 20 27 c3 88 27 2c 0a 20 20 27 c3 a9 27 20 3d 3e 20 27 c3 89 27 ,...'..'.=>.'..',...'..'.=>.'..'
80f60 2c 0a 20 20 27 c3 aa 27 20 3d 3e 20 27 c3 8a 27 2c 0a 20 20 27 c3 ab 27 20 3d 3e 20 27 c3 8b 27 ,...'..'.=>.'..',...'..'.=>.'..'
80f80 2c 0a 20 20 27 c3 ac 27 20 3d 3e 20 27 c3 8c 27 2c 0a 20 20 27 c3 ad 27 20 3d 3e 20 27 c3 8d 27 ,...'..'.=>.'..',...'..'.=>.'..'
80fa0 2c 0a 20 20 27 c3 ae 27 20 3d 3e 20 27 c3 8e 27 2c 0a 20 20 27 c3 af 27 20 3d 3e 20 27 c3 8f 27 ,...'..'.=>.'..',...'..'.=>.'..'
80fc0 2c 0a 20 20 27 c3 b0 27 20 3d 3e 20 27 c3 90 27 2c 0a 20 20 27 c3 b1 27 20 3d 3e 20 27 c3 91 27 ,...'..'.=>.'..',...'..'.=>.'..'
80fe0 2c 0a 20 20 27 c3 b2 27 20 3d 3e 20 27 c3 92 27 2c 0a 20 20 27 c3 b3 27 20 3d 3e 20 27 c3 93 27 ,...'..'.=>.'..',...'..'.=>.'..'
81000 2c 0a 20 20 27 c3 b4 27 20 3d 3e 20 27 c3 94 27 2c 0a 20 20 27 c3 b5 27 20 3d 3e 20 27 c3 95 27 ,...'..'.=>.'..',...'..'.=>.'..'
81020 2c 0a 20 20 27 c3 b6 27 20 3d 3e 20 27 c3 96 27 2c 0a 20 20 27 c3 b8 27 20 3d 3e 20 27 c3 98 27 ,...'..'.=>.'..',...'..'.=>.'..'
81040 2c 0a 20 20 27 c3 b9 27 20 3d 3e 20 27 c3 99 27 2c 0a 20 20 27 c3 ba 27 20 3d 3e 20 27 c3 9a 27 ,...'..'.=>.'..',...'..'.=>.'..'
81060 2c 0a 20 20 27 c3 bb 27 20 3d 3e 20 27 c3 9b 27 2c 0a 20 20 27 c3 bc 27 20 3d 3e 20 27 c3 9c 27 ,...'..'.=>.'..',...'..'.=>.'..'
81080 2c 0a 20 20 27 c3 bd 27 20 3d 3e 20 27 c3 9d 27 2c 0a 20 20 27 c3 be 27 20 3d 3e 20 27 c3 9e 27 ,...'..'.=>.'..',...'..'.=>.'..'
810a0 2c 0a 20 20 27 c3 bf 27 20 3d 3e 20 27 c5 b8 27 2c 0a 20 20 27 c4 81 27 20 3d 3e 20 27 c4 80 27 ,...'..'.=>.'..',...'..'.=>.'..'
810c0 2c 0a 20 20 27 c4 83 27 20 3d 3e 20 27 c4 82 27 2c 0a 20 20 27 c4 85 27 20 3d 3e 20 27 c4 84 27 ,...'..'.=>.'..',...'..'.=>.'..'
810e0 2c 0a 20 20 27 c4 87 27 20 3d 3e 20 27 c4 86 27 2c 0a 20 20 27 c4 89 27 20 3d 3e 20 27 c4 88 27 ,...'..'.=>.'..',...'..'.=>.'..'
81100 2c 0a 20 20 27 c4 8b 27 20 3d 3e 20 27 c4 8a 27 2c 0a 20 20 27 c4 8d 27 20 3d 3e 20 27 c4 8c 27 ,...'..'.=>.'..',...'..'.=>.'..'
81120 2c 0a 20 20 27 c4 8f 27 20 3d 3e 20 27 c4 8e 27 2c 0a 20 20 27 c4 91 27 20 3d 3e 20 27 c4 90 27 ,...'..'.=>.'..',...'..'.=>.'..'
81140 2c 0a 20 20 27 c4 93 27 20 3d 3e 20 27 c4 92 27 2c 0a 20 20 27 c4 95 27 20 3d 3e 20 27 c4 94 27 ,...'..'.=>.'..',...'..'.=>.'..'
81160 2c 0a 20 20 27 c4 97 27 20 3d 3e 20 27 c4 96 27 2c 0a 20 20 27 c4 99 27 20 3d 3e 20 27 c4 98 27 ,...'..'.=>.'..',...'..'.=>.'..'
81180 2c 0a 20 20 27 c4 9b 27 20 3d 3e 20 27 c4 9a 27 2c 0a 20 20 27 c4 9d 27 20 3d 3e 20 27 c4 9c 27 ,...'..'.=>.'..',...'..'.=>.'..'
811a0 2c 0a 20 20 27 c4 9f 27 20 3d 3e 20 27 c4 9e 27 2c 0a 20 20 27 c4 a1 27 20 3d 3e 20 27 c4 a0 27 ,...'..'.=>.'..',...'..'.=>.'..'
811c0 2c 0a 20 20 27 c4 a3 27 20 3d 3e 20 27 c4 a2 27 2c 0a 20 20 27 c4 a5 27 20 3d 3e 20 27 c4 a4 27 ,...'..'.=>.'..',...'..'.=>.'..'
811e0 2c 0a 20 20 27 c4 a7 27 20 3d 3e 20 27 c4 a6 27 2c 0a 20 20 27 c4 a9 27 20 3d 3e 20 27 c4 a8 27 ,...'..'.=>.'..',...'..'.=>.'..'
81200 2c 0a 20 20 27 c4 ab 27 20 3d 3e 20 27 c4 aa 27 2c 0a 20 20 27 c4 ad 27 20 3d 3e 20 27 c4 ac 27 ,...'..'.=>.'..',...'..'.=>.'..'
81220 2c 0a 20 20 27 c4 af 27 20 3d 3e 20 27 c4 ae 27 2c 0a 20 20 27 c4 b1 27 20 3d 3e 20 27 49 27 2c ,...'..'.=>.'..',...'..'.=>.'I',
81240 0a 20 20 27 c4 b3 27 20 3d 3e 20 27 c4 b2 27 2c 0a 20 20 27 c4 b5 27 20 3d 3e 20 27 c4 b4 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81260 0a 20 20 27 c4 b7 27 20 3d 3e 20 27 c4 b6 27 2c 0a 20 20 27 c4 ba 27 20 3d 3e 20 27 c4 b9 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81280 0a 20 20 27 c4 bc 27 20 3d 3e 20 27 c4 bb 27 2c 0a 20 20 27 c4 be 27 20 3d 3e 20 27 c4 bd 27 2c ...'..'.=>.'..',...'..'.=>.'..',
812a0 0a 20 20 27 c5 80 27 20 3d 3e 20 27 c4 bf 27 2c 0a 20 20 27 c5 82 27 20 3d 3e 20 27 c5 81 27 2c ...'..'.=>.'..',...'..'.=>.'..',
812c0 0a 20 20 27 c5 84 27 20 3d 3e 20 27 c5 83 27 2c 0a 20 20 27 c5 86 27 20 3d 3e 20 27 c5 85 27 2c ...'..'.=>.'..',...'..'.=>.'..',
812e0 0a 20 20 27 c5 88 27 20 3d 3e 20 27 c5 87 27 2c 0a 20 20 27 c5 8b 27 20 3d 3e 20 27 c5 8a 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81300 0a 20 20 27 c5 8d 27 20 3d 3e 20 27 c5 8c 27 2c 0a 20 20 27 c5 8f 27 20 3d 3e 20 27 c5 8e 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81320 0a 20 20 27 c5 91 27 20 3d 3e 20 27 c5 90 27 2c 0a 20 20 27 c5 93 27 20 3d 3e 20 27 c5 92 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81340 0a 20 20 27 c5 95 27 20 3d 3e 20 27 c5 94 27 2c 0a 20 20 27 c5 97 27 20 3d 3e 20 27 c5 96 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81360 0a 20 20 27 c5 99 27 20 3d 3e 20 27 c5 98 27 2c 0a 20 20 27 c5 9b 27 20 3d 3e 20 27 c5 9a 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81380 0a 20 20 27 c5 9d 27 20 3d 3e 20 27 c5 9c 27 2c 0a 20 20 27 c5 9f 27 20 3d 3e 20 27 c5 9e 27 2c ...'..'.=>.'..',...'..'.=>.'..',
813a0 0a 20 20 27 c5 a1 27 20 3d 3e 20 27 c5 a0 27 2c 0a 20 20 27 c5 a3 27 20 3d 3e 20 27 c5 a2 27 2c ...'..'.=>.'..',...'..'.=>.'..',
813c0 0a 20 20 27 c5 a5 27 20 3d 3e 20 27 c5 a4 27 2c 0a 20 20 27 c5 a7 27 20 3d 3e 20 27 c5 a6 27 2c ...'..'.=>.'..',...'..'.=>.'..',
813e0 0a 20 20 27 c5 a9 27 20 3d 3e 20 27 c5 a8 27 2c 0a 20 20 27 c5 ab 27 20 3d 3e 20 27 c5 aa 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81400 0a 20 20 27 c5 ad 27 20 3d 3e 20 27 c5 ac 27 2c 0a 20 20 27 c5 af 27 20 3d 3e 20 27 c5 ae 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81420 0a 20 20 27 c5 b1 27 20 3d 3e 20 27 c5 b0 27 2c 0a 20 20 27 c5 b3 27 20 3d 3e 20 27 c5 b2 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81440 0a 20 20 27 c5 b5 27 20 3d 3e 20 27 c5 b4 27 2c 0a 20 20 27 c5 b7 27 20 3d 3e 20 27 c5 b6 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81460 0a 20 20 27 c5 ba 27 20 3d 3e 20 27 c5 b9 27 2c 0a 20 20 27 c5 bc 27 20 3d 3e 20 27 c5 bb 27 2c ...'..'.=>.'..',...'..'.=>.'..',
81480 0a 20 20 27 c5 be 27 20 3d 3e 20 27 c5 bd 27 2c 0a 20 20 27 c5 bf 27 20 3d 3e 20 27 53 27 2c 0a ...'..'.=>.'..',...'..'.=>.'S',.
814a0 20 20 27 c6 80 27 20 3d 3e 20 27 c9 83 27 2c 0a 20 20 27 c6 83 27 20 3d 3e 20 27 c6 82 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
814c0 20 20 27 c6 85 27 20 3d 3e 20 27 c6 84 27 2c 0a 20 20 27 c6 88 27 20 3d 3e 20 27 c6 87 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
814e0 20 20 27 c6 8c 27 20 3d 3e 20 27 c6 8b 27 2c 0a 20 20 27 c6 92 27 20 3d 3e 20 27 c6 91 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81500 20 20 27 c6 95 27 20 3d 3e 20 27 c7 b6 27 2c 0a 20 20 27 c6 99 27 20 3d 3e 20 27 c6 98 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81520 20 20 27 c6 9a 27 20 3d 3e 20 27 c8 bd 27 2c 0a 20 20 27 c6 9e 27 20 3d 3e 20 27 c8 a0 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81540 20 20 27 c6 a1 27 20 3d 3e 20 27 c6 a0 27 2c 0a 20 20 27 c6 a3 27 20 3d 3e 20 27 c6 a2 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81560 20 20 27 c6 a5 27 20 3d 3e 20 27 c6 a4 27 2c 0a 20 20 27 c6 a8 27 20 3d 3e 20 27 c6 a7 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81580 20 20 27 c6 ad 27 20 3d 3e 20 27 c6 ac 27 2c 0a 20 20 27 c6 b0 27 20 3d 3e 20 27 c6 af 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
815a0 20 20 27 c6 b4 27 20 3d 3e 20 27 c6 b3 27 2c 0a 20 20 27 c6 b6 27 20 3d 3e 20 27 c6 b5 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
815c0 20 20 27 c6 b9 27 20 3d 3e 20 27 c6 b8 27 2c 0a 20 20 27 c6 bd 27 20 3d 3e 20 27 c6 bc 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
815e0 20 20 27 c6 bf 27 20 3d 3e 20 27 c7 b7 27 2c 0a 20 20 27 c7 85 27 20 3d 3e 20 27 c7 84 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81600 20 20 27 c7 86 27 20 3d 3e 20 27 c7 84 27 2c 0a 20 20 27 c7 88 27 20 3d 3e 20 27 c7 87 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81620 20 20 27 c7 89 27 20 3d 3e 20 27 c7 87 27 2c 0a 20 20 27 c7 8b 27 20 3d 3e 20 27 c7 8a 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81640 20 20 27 c7 8c 27 20 3d 3e 20 27 c7 8a 27 2c 0a 20 20 27 c7 8e 27 20 3d 3e 20 27 c7 8d 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81660 20 20 27 c7 90 27 20 3d 3e 20 27 c7 8f 27 2c 0a 20 20 27 c7 92 27 20 3d 3e 20 27 c7 91 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81680 20 20 27 c7 94 27 20 3d 3e 20 27 c7 93 27 2c 0a 20 20 27 c7 96 27 20 3d 3e 20 27 c7 95 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
816a0 20 20 27 c7 98 27 20 3d 3e 20 27 c7 97 27 2c 0a 20 20 27 c7 9a 27 20 3d 3e 20 27 c7 99 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
816c0 20 20 27 c7 9c 27 20 3d 3e 20 27 c7 9b 27 2c 0a 20 20 27 c7 9d 27 20 3d 3e 20 27 c6 8e 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
816e0 20 20 27 c7 9f 27 20 3d 3e 20 27 c7 9e 27 2c 0a 20 20 27 c7 a1 27 20 3d 3e 20 27 c7 a0 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81700 20 20 27 c7 a3 27 20 3d 3e 20 27 c7 a2 27 2c 0a 20 20 27 c7 a5 27 20 3d 3e 20 27 c7 a4 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81720 20 20 27 c7 a7 27 20 3d 3e 20 27 c7 a6 27 2c 0a 20 20 27 c7 a9 27 20 3d 3e 20 27 c7 a8 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81740 20 20 27 c7 ab 27 20 3d 3e 20 27 c7 aa 27 2c 0a 20 20 27 c7 ad 27 20 3d 3e 20 27 c7 ac 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81760 20 20 27 c7 af 27 20 3d 3e 20 27 c7 ae 27 2c 0a 20 20 27 c7 b2 27 20 3d 3e 20 27 c7 b1 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81780 20 20 27 c7 b3 27 20 3d 3e 20 27 c7 b1 27 2c 0a 20 20 27 c7 b5 27 20 3d 3e 20 27 c7 b4 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
817a0 20 20 27 c7 b9 27 20 3d 3e 20 27 c7 b8 27 2c 0a 20 20 27 c7 bb 27 20 3d 3e 20 27 c7 ba 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
817c0 20 20 27 c7 bd 27 20 3d 3e 20 27 c7 bc 27 2c 0a 20 20 27 c7 bf 27 20 3d 3e 20 27 c7 be 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
817e0 20 20 27 c8 81 27 20 3d 3e 20 27 c8 80 27 2c 0a 20 20 27 c8 83 27 20 3d 3e 20 27 c8 82 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81800 20 20 27 c8 85 27 20 3d 3e 20 27 c8 84 27 2c 0a 20 20 27 c8 87 27 20 3d 3e 20 27 c8 86 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81820 20 20 27 c8 89 27 20 3d 3e 20 27 c8 88 27 2c 0a 20 20 27 c8 8b 27 20 3d 3e 20 27 c8 8a 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81840 20 20 27 c8 8d 27 20 3d 3e 20 27 c8 8c 27 2c 0a 20 20 27 c8 8f 27 20 3d 3e 20 27 c8 8e 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81860 20 20 27 c8 91 27 20 3d 3e 20 27 c8 90 27 2c 0a 20 20 27 c8 93 27 20 3d 3e 20 27 c8 92 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81880 20 20 27 c8 95 27 20 3d 3e 20 27 c8 94 27 2c 0a 20 20 27 c8 97 27 20 3d 3e 20 27 c8 96 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
818a0 20 20 27 c8 99 27 20 3d 3e 20 27 c8 98 27 2c 0a 20 20 27 c8 9b 27 20 3d 3e 20 27 c8 9a 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
818c0 20 20 27 c8 9d 27 20 3d 3e 20 27 c8 9c 27 2c 0a 20 20 27 c8 9f 27 20 3d 3e 20 27 c8 9e 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
818e0 20 20 27 c8 a3 27 20 3d 3e 20 27 c8 a2 27 2c 0a 20 20 27 c8 a5 27 20 3d 3e 20 27 c8 a4 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81900 20 20 27 c8 a7 27 20 3d 3e 20 27 c8 a6 27 2c 0a 20 20 27 c8 a9 27 20 3d 3e 20 27 c8 a8 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81920 20 20 27 c8 ab 27 20 3d 3e 20 27 c8 aa 27 2c 0a 20 20 27 c8 ad 27 20 3d 3e 20 27 c8 ac 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81940 20 20 27 c8 af 27 20 3d 3e 20 27 c8 ae 27 2c 0a 20 20 27 c8 b1 27 20 3d 3e 20 27 c8 b0 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81960 20 20 27 c8 b3 27 20 3d 3e 20 27 c8 b2 27 2c 0a 20 20 27 c8 bc 27 20 3d 3e 20 27 c8 bb 27 2c 0a ..'..'.=>.'..',...'..'.=>.'..',.
81980 20 20 27 c8 bf 27 20 3d 3e 20 27 e2 b1 be 27 2c 0a 20 20 27 c9 80 27 20 3d 3e 20 27 e2 b1 bf 27 ..'..'.=>.'...',...'..'.=>.'...'
819a0 2c 0a 20 20 27 c9 82 27 20 3d 3e 20 27 c9 81 27 2c 0a 20 20 27 c9 87 27 20 3d 3e 20 27 c9 86 27 ,...'..'.=>.'..',...'..'.=>.'..'
819c0 2c 0a 20 20 27 c9 89 27 20 3d 3e 20 27 c9 88 27 2c 0a 20 20 27 c9 8b 27 20 3d 3e 20 27 c9 8a 27 ,...'..'.=>.'..',...'..'.=>.'..'
819e0 2c 0a 20 20 27 c9 8d 27 20 3d 3e 20 27 c9 8c 27 2c 0a 20 20 27 c9 8f 27 20 3d 3e 20 27 c9 8e 27 ,...'..'.=>.'..',...'..'.=>.'..'
81a00 2c 0a 20 20 27 c9 90 27 20 3d 3e 20 27 e2 b1 af 27 2c 0a 20 20 27 c9 91 27 20 3d 3e 20 27 e2 b1 ,...'..'.=>.'...',...'..'.=>.'..
81a20 ad 27 2c 0a 20 20 27 c9 92 27 20 3d 3e 20 27 e2 b1 b0 27 2c 0a 20 20 27 c9 93 27 20 3d 3e 20 27 .',...'..'.=>.'...',...'..'.=>.'
81a40 c6 81 27 2c 0a 20 20 27 c9 94 27 20 3d 3e 20 27 c6 86 27 2c 0a 20 20 27 c9 96 27 20 3d 3e 20 27 ..',...'..'.=>.'..',...'..'.=>.'
81a60 c6 89 27 2c 0a 20 20 27 c9 97 27 20 3d 3e 20 27 c6 8a 27 2c 0a 20 20 27 c9 99 27 20 3d 3e 20 27 ..',...'..'.=>.'..',...'..'.=>.'
81a80 c6 8f 27 2c 0a 20 20 27 c9 9b 27 20 3d 3e 20 27 c6 90 27 2c 0a 20 20 27 c9 9c 27 20 3d 3e 20 27 ..',...'..'.=>.'..',...'..'.=>.'
81aa0 ea 9e ab 27 2c 0a 20 20 27 c9 a0 27 20 3d 3e 20 27 c6 93 27 2c 0a 20 20 27 c9 a1 27 20 3d 3e 20 ...',...'..'.=>.'..',...'..'.=>.
81ac0 27 ea 9e ac 27 2c 0a 20 20 27 c9 a3 27 20 3d 3e 20 27 c6 94 27 2c 0a 20 20 27 c9 a5 27 20 3d 3e '...',...'..'.=>.'..',...'..'.=>
81ae0 20 27 ea 9e 8d 27 2c 0a 20 20 27 c9 a6 27 20 3d 3e 20 27 ea 9e aa 27 2c 0a 20 20 27 c9 a8 27 20 .'...',...'..'.=>.'...',...'..'.
81b00 3d 3e 20 27 c6 97 27 2c 0a 20 20 27 c9 a9 27 20 3d 3e 20 27 c6 96 27 2c 0a 20 20 27 c9 ab 27 20 =>.'..',...'..'.=>.'..',...'..'.
81b20 3d 3e 20 27 e2 b1 a2 27 2c 0a 20 20 27 c9 ac 27 20 3d 3e 20 27 ea 9e ad 27 2c 0a 20 20 27 c9 af =>.'...',...'..'.=>.'...',...'..
81b40 27 20 3d 3e 20 27 c6 9c 27 2c 0a 20 20 27 c9 b1 27 20 3d 3e 20 27 e2 b1 ae 27 2c 0a 20 20 27 c9 '.=>.'..',...'..'.=>.'...',...'.
81b60 b2 27 20 3d 3e 20 27 c6 9d 27 2c 0a 20 20 27 c9 b5 27 20 3d 3e 20 27 c6 9f 27 2c 0a 20 20 27 c9 .'.=>.'..',...'..'.=>.'..',...'.
81b80 bd 27 20 3d 3e 20 27 e2 b1 a4 27 2c 0a 20 20 27 ca 80 27 20 3d 3e 20 27 c6 a6 27 2c 0a 20 20 27 .'.=>.'...',...'..'.=>.'..',...'
81ba0 ca 83 27 20 3d 3e 20 27 c6 a9 27 2c 0a 20 20 27 ca 87 27 20 3d 3e 20 27 ea 9e b1 27 2c 0a 20 20 ..'.=>.'..',...'..'.=>.'...',...
81bc0 27 ca 88 27 20 3d 3e 20 27 c6 ae 27 2c 0a 20 20 27 ca 89 27 20 3d 3e 20 27 c9 84 27 2c 0a 20 20 '..'.=>.'..',...'..'.=>.'..',...
81be0 27 ca 8a 27 20 3d 3e 20 27 c6 b1 27 2c 0a 20 20 27 ca 8b 27 20 3d 3e 20 27 c6 b2 27 2c 0a 20 20 '..'.=>.'..',...'..'.=>.'..',...
81c00 27 ca 8c 27 20 3d 3e 20 27 c9 85 27 2c 0a 20 20 27 ca 92 27 20 3d 3e 20 27 c6 b7 27 2c 0a 20 20 '..'.=>.'..',...'..'.=>.'..',...
81c20 27 ca 9e 27 20 3d 3e 20 27 ea 9e b0 27 2c 0a 20 20 27 cd 85 27 20 3d 3e 20 27 ce 99 27 2c 0a 20 '..'.=>.'...',...'..'.=>.'..',..
81c40 20 27 cd b1 27 20 3d 3e 20 27 cd b0 27 2c 0a 20 20 27 cd b3 27 20 3d 3e 20 27 cd b2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81c60 20 27 cd b7 27 20 3d 3e 20 27 cd b6 27 2c 0a 20 20 27 cd bb 27 20 3d 3e 20 27 cf bd 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81c80 20 27 cd bc 27 20 3d 3e 20 27 cf be 27 2c 0a 20 20 27 cd bd 27 20 3d 3e 20 27 cf bf 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81ca0 20 27 ce ac 27 20 3d 3e 20 27 ce 86 27 2c 0a 20 20 27 ce ad 27 20 3d 3e 20 27 ce 88 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81cc0 20 27 ce ae 27 20 3d 3e 20 27 ce 89 27 2c 0a 20 20 27 ce af 27 20 3d 3e 20 27 ce 8a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81ce0 20 27 ce b1 27 20 3d 3e 20 27 ce 91 27 2c 0a 20 20 27 ce b2 27 20 3d 3e 20 27 ce 92 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81d00 20 27 ce b3 27 20 3d 3e 20 27 ce 93 27 2c 0a 20 20 27 ce b4 27 20 3d 3e 20 27 ce 94 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81d20 20 27 ce b5 27 20 3d 3e 20 27 ce 95 27 2c 0a 20 20 27 ce b6 27 20 3d 3e 20 27 ce 96 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81d40 20 27 ce b7 27 20 3d 3e 20 27 ce 97 27 2c 0a 20 20 27 ce b8 27 20 3d 3e 20 27 ce 98 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81d60 20 27 ce b9 27 20 3d 3e 20 27 ce 99 27 2c 0a 20 20 27 ce ba 27 20 3d 3e 20 27 ce 9a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81d80 20 27 ce bb 27 20 3d 3e 20 27 ce 9b 27 2c 0a 20 20 27 ce bc 27 20 3d 3e 20 27 ce 9c 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81da0 20 27 ce bd 27 20 3d 3e 20 27 ce 9d 27 2c 0a 20 20 27 ce be 27 20 3d 3e 20 27 ce 9e 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81dc0 20 27 ce bf 27 20 3d 3e 20 27 ce 9f 27 2c 0a 20 20 27 cf 80 27 20 3d 3e 20 27 ce a0 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81de0 20 27 cf 81 27 20 3d 3e 20 27 ce a1 27 2c 0a 20 20 27 cf 82 27 20 3d 3e 20 27 ce a3 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81e00 20 27 cf 83 27 20 3d 3e 20 27 ce a3 27 2c 0a 20 20 27 cf 84 27 20 3d 3e 20 27 ce a4 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81e20 20 27 cf 85 27 20 3d 3e 20 27 ce a5 27 2c 0a 20 20 27 cf 86 27 20 3d 3e 20 27 ce a6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81e40 20 27 cf 87 27 20 3d 3e 20 27 ce a7 27 2c 0a 20 20 27 cf 88 27 20 3d 3e 20 27 ce a8 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81e60 20 27 cf 89 27 20 3d 3e 20 27 ce a9 27 2c 0a 20 20 27 cf 8a 27 20 3d 3e 20 27 ce aa 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81e80 20 27 cf 8b 27 20 3d 3e 20 27 ce ab 27 2c 0a 20 20 27 cf 8c 27 20 3d 3e 20 27 ce 8c 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81ea0 20 27 cf 8d 27 20 3d 3e 20 27 ce 8e 27 2c 0a 20 20 27 cf 8e 27 20 3d 3e 20 27 ce 8f 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81ec0 20 27 cf 90 27 20 3d 3e 20 27 ce 92 27 2c 0a 20 20 27 cf 91 27 20 3d 3e 20 27 ce 98 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81ee0 20 27 cf 95 27 20 3d 3e 20 27 ce a6 27 2c 0a 20 20 27 cf 96 27 20 3d 3e 20 27 ce a0 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81f00 20 27 cf 97 27 20 3d 3e 20 27 cf 8f 27 2c 0a 20 20 27 cf 99 27 20 3d 3e 20 27 cf 98 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81f20 20 27 cf 9b 27 20 3d 3e 20 27 cf 9a 27 2c 0a 20 20 27 cf 9d 27 20 3d 3e 20 27 cf 9c 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81f40 20 27 cf 9f 27 20 3d 3e 20 27 cf 9e 27 2c 0a 20 20 27 cf a1 27 20 3d 3e 20 27 cf a0 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81f60 20 27 cf a3 27 20 3d 3e 20 27 cf a2 27 2c 0a 20 20 27 cf a5 27 20 3d 3e 20 27 cf a4 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81f80 20 27 cf a7 27 20 3d 3e 20 27 cf a6 27 2c 0a 20 20 27 cf a9 27 20 3d 3e 20 27 cf a8 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81fa0 20 27 cf ab 27 20 3d 3e 20 27 cf aa 27 2c 0a 20 20 27 cf ad 27 20 3d 3e 20 27 cf ac 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81fc0 20 27 cf af 27 20 3d 3e 20 27 cf ae 27 2c 0a 20 20 27 cf b0 27 20 3d 3e 20 27 ce 9a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
81fe0 20 27 cf b1 27 20 3d 3e 20 27 ce a1 27 2c 0a 20 20 27 cf b2 27 20 3d 3e 20 27 cf b9 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82000 20 27 cf b3 27 20 3d 3e 20 27 cd bf 27 2c 0a 20 20 27 cf b5 27 20 3d 3e 20 27 ce 95 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82020 20 27 cf b8 27 20 3d 3e 20 27 cf b7 27 2c 0a 20 20 27 cf bb 27 20 3d 3e 20 27 cf ba 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82040 20 27 d0 b0 27 20 3d 3e 20 27 d0 90 27 2c 0a 20 20 27 d0 b1 27 20 3d 3e 20 27 d0 91 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82060 20 27 d0 b2 27 20 3d 3e 20 27 d0 92 27 2c 0a 20 20 27 d0 b3 27 20 3d 3e 20 27 d0 93 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82080 20 27 d0 b4 27 20 3d 3e 20 27 d0 94 27 2c 0a 20 20 27 d0 b5 27 20 3d 3e 20 27 d0 95 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
820a0 20 27 d0 b6 27 20 3d 3e 20 27 d0 96 27 2c 0a 20 20 27 d0 b7 27 20 3d 3e 20 27 d0 97 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
820c0 20 27 d0 b8 27 20 3d 3e 20 27 d0 98 27 2c 0a 20 20 27 d0 b9 27 20 3d 3e 20 27 d0 99 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
820e0 20 27 d0 ba 27 20 3d 3e 20 27 d0 9a 27 2c 0a 20 20 27 d0 bb 27 20 3d 3e 20 27 d0 9b 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82100 20 27 d0 bc 27 20 3d 3e 20 27 d0 9c 27 2c 0a 20 20 27 d0 bd 27 20 3d 3e 20 27 d0 9d 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82120 20 27 d0 be 27 20 3d 3e 20 27 d0 9e 27 2c 0a 20 20 27 d0 bf 27 20 3d 3e 20 27 d0 9f 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82140 20 27 d1 80 27 20 3d 3e 20 27 d0 a0 27 2c 0a 20 20 27 d1 81 27 20 3d 3e 20 27 d0 a1 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82160 20 27 d1 82 27 20 3d 3e 20 27 d0 a2 27 2c 0a 20 20 27 d1 83 27 20 3d 3e 20 27 d0 a3 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82180 20 27 d1 84 27 20 3d 3e 20 27 d0 a4 27 2c 0a 20 20 27 d1 85 27 20 3d 3e 20 27 d0 a5 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
821a0 20 27 d1 86 27 20 3d 3e 20 27 d0 a6 27 2c 0a 20 20 27 d1 87 27 20 3d 3e 20 27 d0 a7 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
821c0 20 27 d1 88 27 20 3d 3e 20 27 d0 a8 27 2c 0a 20 20 27 d1 89 27 20 3d 3e 20 27 d0 a9 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
821e0 20 27 d1 8a 27 20 3d 3e 20 27 d0 aa 27 2c 0a 20 20 27 d1 8b 27 20 3d 3e 20 27 d0 ab 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82200 20 27 d1 8c 27 20 3d 3e 20 27 d0 ac 27 2c 0a 20 20 27 d1 8d 27 20 3d 3e 20 27 d0 ad 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82220 20 27 d1 8e 27 20 3d 3e 20 27 d0 ae 27 2c 0a 20 20 27 d1 8f 27 20 3d 3e 20 27 d0 af 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82240 20 27 d1 90 27 20 3d 3e 20 27 d0 80 27 2c 0a 20 20 27 d1 91 27 20 3d 3e 20 27 d0 81 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82260 20 27 d1 92 27 20 3d 3e 20 27 d0 82 27 2c 0a 20 20 27 d1 93 27 20 3d 3e 20 27 d0 83 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82280 20 27 d1 94 27 20 3d 3e 20 27 d0 84 27 2c 0a 20 20 27 d1 95 27 20 3d 3e 20 27 d0 85 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
822a0 20 27 d1 96 27 20 3d 3e 20 27 d0 86 27 2c 0a 20 20 27 d1 97 27 20 3d 3e 20 27 d0 87 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
822c0 20 27 d1 98 27 20 3d 3e 20 27 d0 88 27 2c 0a 20 20 27 d1 99 27 20 3d 3e 20 27 d0 89 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
822e0 20 27 d1 9a 27 20 3d 3e 20 27 d0 8a 27 2c 0a 20 20 27 d1 9b 27 20 3d 3e 20 27 d0 8b 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82300 20 27 d1 9c 27 20 3d 3e 20 27 d0 8c 27 2c 0a 20 20 27 d1 9d 27 20 3d 3e 20 27 d0 8d 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82320 20 27 d1 9e 27 20 3d 3e 20 27 d0 8e 27 2c 0a 20 20 27 d1 9f 27 20 3d 3e 20 27 d0 8f 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82340 20 27 d1 a1 27 20 3d 3e 20 27 d1 a0 27 2c 0a 20 20 27 d1 a3 27 20 3d 3e 20 27 d1 a2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82360 20 27 d1 a5 27 20 3d 3e 20 27 d1 a4 27 2c 0a 20 20 27 d1 a7 27 20 3d 3e 20 27 d1 a6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82380 20 27 d1 a9 27 20 3d 3e 20 27 d1 a8 27 2c 0a 20 20 27 d1 ab 27 20 3d 3e 20 27 d1 aa 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
823a0 20 27 d1 ad 27 20 3d 3e 20 27 d1 ac 27 2c 0a 20 20 27 d1 af 27 20 3d 3e 20 27 d1 ae 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
823c0 20 27 d1 b1 27 20 3d 3e 20 27 d1 b0 27 2c 0a 20 20 27 d1 b3 27 20 3d 3e 20 27 d1 b2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
823e0 20 27 d1 b5 27 20 3d 3e 20 27 d1 b4 27 2c 0a 20 20 27 d1 b7 27 20 3d 3e 20 27 d1 b6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82400 20 27 d1 b9 27 20 3d 3e 20 27 d1 b8 27 2c 0a 20 20 27 d1 bb 27 20 3d 3e 20 27 d1 ba 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82420 20 27 d1 bd 27 20 3d 3e 20 27 d1 bc 27 2c 0a 20 20 27 d1 bf 27 20 3d 3e 20 27 d1 be 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82440 20 27 d2 81 27 20 3d 3e 20 27 d2 80 27 2c 0a 20 20 27 d2 8b 27 20 3d 3e 20 27 d2 8a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82460 20 27 d2 8d 27 20 3d 3e 20 27 d2 8c 27 2c 0a 20 20 27 d2 8f 27 20 3d 3e 20 27 d2 8e 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82480 20 27 d2 91 27 20 3d 3e 20 27 d2 90 27 2c 0a 20 20 27 d2 93 27 20 3d 3e 20 27 d2 92 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
824a0 20 27 d2 95 27 20 3d 3e 20 27 d2 94 27 2c 0a 20 20 27 d2 97 27 20 3d 3e 20 27 d2 96 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
824c0 20 27 d2 99 27 20 3d 3e 20 27 d2 98 27 2c 0a 20 20 27 d2 9b 27 20 3d 3e 20 27 d2 9a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
824e0 20 27 d2 9d 27 20 3d 3e 20 27 d2 9c 27 2c 0a 20 20 27 d2 9f 27 20 3d 3e 20 27 d2 9e 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82500 20 27 d2 a1 27 20 3d 3e 20 27 d2 a0 27 2c 0a 20 20 27 d2 a3 27 20 3d 3e 20 27 d2 a2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82520 20 27 d2 a5 27 20 3d 3e 20 27 d2 a4 27 2c 0a 20 20 27 d2 a7 27 20 3d 3e 20 27 d2 a6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82540 20 27 d2 a9 27 20 3d 3e 20 27 d2 a8 27 2c 0a 20 20 27 d2 ab 27 20 3d 3e 20 27 d2 aa 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82560 20 27 d2 ad 27 20 3d 3e 20 27 d2 ac 27 2c 0a 20 20 27 d2 af 27 20 3d 3e 20 27 d2 ae 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82580 20 27 d2 b1 27 20 3d 3e 20 27 d2 b0 27 2c 0a 20 20 27 d2 b3 27 20 3d 3e 20 27 d2 b2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
825a0 20 27 d2 b5 27 20 3d 3e 20 27 d2 b4 27 2c 0a 20 20 27 d2 b7 27 20 3d 3e 20 27 d2 b6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
825c0 20 27 d2 b9 27 20 3d 3e 20 27 d2 b8 27 2c 0a 20 20 27 d2 bb 27 20 3d 3e 20 27 d2 ba 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
825e0 20 27 d2 bd 27 20 3d 3e 20 27 d2 bc 27 2c 0a 20 20 27 d2 bf 27 20 3d 3e 20 27 d2 be 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82600 20 27 d3 82 27 20 3d 3e 20 27 d3 81 27 2c 0a 20 20 27 d3 84 27 20 3d 3e 20 27 d3 83 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82620 20 27 d3 86 27 20 3d 3e 20 27 d3 85 27 2c 0a 20 20 27 d3 88 27 20 3d 3e 20 27 d3 87 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82640 20 27 d3 8a 27 20 3d 3e 20 27 d3 89 27 2c 0a 20 20 27 d3 8c 27 20 3d 3e 20 27 d3 8b 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82660 20 27 d3 8e 27 20 3d 3e 20 27 d3 8d 27 2c 0a 20 20 27 d3 8f 27 20 3d 3e 20 27 d3 80 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82680 20 27 d3 91 27 20 3d 3e 20 27 d3 90 27 2c 0a 20 20 27 d3 93 27 20 3d 3e 20 27 d3 92 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
826a0 20 27 d3 95 27 20 3d 3e 20 27 d3 94 27 2c 0a 20 20 27 d3 97 27 20 3d 3e 20 27 d3 96 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
826c0 20 27 d3 99 27 20 3d 3e 20 27 d3 98 27 2c 0a 20 20 27 d3 9b 27 20 3d 3e 20 27 d3 9a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
826e0 20 27 d3 9d 27 20 3d 3e 20 27 d3 9c 27 2c 0a 20 20 27 d3 9f 27 20 3d 3e 20 27 d3 9e 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82700 20 27 d3 a1 27 20 3d 3e 20 27 d3 a0 27 2c 0a 20 20 27 d3 a3 27 20 3d 3e 20 27 d3 a2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82720 20 27 d3 a5 27 20 3d 3e 20 27 d3 a4 27 2c 0a 20 20 27 d3 a7 27 20 3d 3e 20 27 d3 a6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82740 20 27 d3 a9 27 20 3d 3e 20 27 d3 a8 27 2c 0a 20 20 27 d3 ab 27 20 3d 3e 20 27 d3 aa 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82760 20 27 d3 ad 27 20 3d 3e 20 27 d3 ac 27 2c 0a 20 20 27 d3 af 27 20 3d 3e 20 27 d3 ae 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82780 20 27 d3 b1 27 20 3d 3e 20 27 d3 b0 27 2c 0a 20 20 27 d3 b3 27 20 3d 3e 20 27 d3 b2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
827a0 20 27 d3 b5 27 20 3d 3e 20 27 d3 b4 27 2c 0a 20 20 27 d3 b7 27 20 3d 3e 20 27 d3 b6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
827c0 20 27 d3 b9 27 20 3d 3e 20 27 d3 b8 27 2c 0a 20 20 27 d3 bb 27 20 3d 3e 20 27 d3 ba 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
827e0 20 27 d3 bd 27 20 3d 3e 20 27 d3 bc 27 2c 0a 20 20 27 d3 bf 27 20 3d 3e 20 27 d3 be 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82800 20 27 d4 81 27 20 3d 3e 20 27 d4 80 27 2c 0a 20 20 27 d4 83 27 20 3d 3e 20 27 d4 82 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82820 20 27 d4 85 27 20 3d 3e 20 27 d4 84 27 2c 0a 20 20 27 d4 87 27 20 3d 3e 20 27 d4 86 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82840 20 27 d4 89 27 20 3d 3e 20 27 d4 88 27 2c 0a 20 20 27 d4 8b 27 20 3d 3e 20 27 d4 8a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82860 20 27 d4 8d 27 20 3d 3e 20 27 d4 8c 27 2c 0a 20 20 27 d4 8f 27 20 3d 3e 20 27 d4 8e 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82880 20 27 d4 91 27 20 3d 3e 20 27 d4 90 27 2c 0a 20 20 27 d4 93 27 20 3d 3e 20 27 d4 92 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
828a0 20 27 d4 95 27 20 3d 3e 20 27 d4 94 27 2c 0a 20 20 27 d4 97 27 20 3d 3e 20 27 d4 96 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
828c0 20 27 d4 99 27 20 3d 3e 20 27 d4 98 27 2c 0a 20 20 27 d4 9b 27 20 3d 3e 20 27 d4 9a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
828e0 20 27 d4 9d 27 20 3d 3e 20 27 d4 9c 27 2c 0a 20 20 27 d4 9f 27 20 3d 3e 20 27 d4 9e 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82900 20 27 d4 a1 27 20 3d 3e 20 27 d4 a0 27 2c 0a 20 20 27 d4 a3 27 20 3d 3e 20 27 d4 a2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82920 20 27 d4 a5 27 20 3d 3e 20 27 d4 a4 27 2c 0a 20 20 27 d4 a7 27 20 3d 3e 20 27 d4 a6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82940 20 27 d4 a9 27 20 3d 3e 20 27 d4 a8 27 2c 0a 20 20 27 d4 ab 27 20 3d 3e 20 27 d4 aa 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82960 20 27 d4 ad 27 20 3d 3e 20 27 d4 ac 27 2c 0a 20 20 27 d4 af 27 20 3d 3e 20 27 d4 ae 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82980 20 27 d5 a1 27 20 3d 3e 20 27 d4 b1 27 2c 0a 20 20 27 d5 a2 27 20 3d 3e 20 27 d4 b2 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
829a0 20 27 d5 a3 27 20 3d 3e 20 27 d4 b3 27 2c 0a 20 20 27 d5 a4 27 20 3d 3e 20 27 d4 b4 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
829c0 20 27 d5 a5 27 20 3d 3e 20 27 d4 b5 27 2c 0a 20 20 27 d5 a6 27 20 3d 3e 20 27 d4 b6 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
829e0 20 27 d5 a7 27 20 3d 3e 20 27 d4 b7 27 2c 0a 20 20 27 d5 a8 27 20 3d 3e 20 27 d4 b8 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82a00 20 27 d5 a9 27 20 3d 3e 20 27 d4 b9 27 2c 0a 20 20 27 d5 aa 27 20 3d 3e 20 27 d4 ba 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82a20 20 27 d5 ab 27 20 3d 3e 20 27 d4 bb 27 2c 0a 20 20 27 d5 ac 27 20 3d 3e 20 27 d4 bc 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82a40 20 27 d5 ad 27 20 3d 3e 20 27 d4 bd 27 2c 0a 20 20 27 d5 ae 27 20 3d 3e 20 27 d4 be 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82a60 20 27 d5 af 27 20 3d 3e 20 27 d4 bf 27 2c 0a 20 20 27 d5 b0 27 20 3d 3e 20 27 d5 80 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82a80 20 27 d5 b1 27 20 3d 3e 20 27 d5 81 27 2c 0a 20 20 27 d5 b2 27 20 3d 3e 20 27 d5 82 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82aa0 20 27 d5 b3 27 20 3d 3e 20 27 d5 83 27 2c 0a 20 20 27 d5 b4 27 20 3d 3e 20 27 d5 84 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82ac0 20 27 d5 b5 27 20 3d 3e 20 27 d5 85 27 2c 0a 20 20 27 d5 b6 27 20 3d 3e 20 27 d5 86 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82ae0 20 27 d5 b7 27 20 3d 3e 20 27 d5 87 27 2c 0a 20 20 27 d5 b8 27 20 3d 3e 20 27 d5 88 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82b00 20 27 d5 b9 27 20 3d 3e 20 27 d5 89 27 2c 0a 20 20 27 d5 ba 27 20 3d 3e 20 27 d5 8a 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82b20 20 27 d5 bb 27 20 3d 3e 20 27 d5 8b 27 2c 0a 20 20 27 d5 bc 27 20 3d 3e 20 27 d5 8c 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82b40 20 27 d5 bd 27 20 3d 3e 20 27 d5 8d 27 2c 0a 20 20 27 d5 be 27 20 3d 3e 20 27 d5 8e 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82b60 20 27 d5 bf 27 20 3d 3e 20 27 d5 8f 27 2c 0a 20 20 27 d6 80 27 20 3d 3e 20 27 d5 90 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82b80 20 27 d6 81 27 20 3d 3e 20 27 d5 91 27 2c 0a 20 20 27 d6 82 27 20 3d 3e 20 27 d5 92 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82ba0 20 27 d6 83 27 20 3d 3e 20 27 d5 93 27 2c 0a 20 20 27 d6 84 27 20 3d 3e 20 27 d5 94 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82bc0 20 27 d6 85 27 20 3d 3e 20 27 d5 95 27 2c 0a 20 20 27 d6 86 27 20 3d 3e 20 27 d5 96 27 2c 0a 20 .'..'.=>.'..',...'..'.=>.'..',..
82be0 20 27 e1 b5 b9 27 20 3d 3e 20 27 ea 9d bd 27 2c 0a 20 20 27 e1 b5 bd 27 20 3d 3e 20 27 e2 b1 a3 .'...'.=>.'...',...'...'.=>.'...
82c00 27 2c 0a 20 20 27 e1 b8 81 27 20 3d 3e 20 27 e1 b8 80 27 2c 0a 20 20 27 e1 b8 83 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
82c20 27 e1 b8 82 27 2c 0a 20 20 27 e1 b8 85 27 20 3d 3e 20 27 e1 b8 84 27 2c 0a 20 20 27 e1 b8 87 27 '...',...'...'.=>.'...',...'...'
82c40 20 3d 3e 20 27 e1 b8 86 27 2c 0a 20 20 27 e1 b8 89 27 20 3d 3e 20 27 e1 b8 88 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
82c60 e1 b8 8b 27 20 3d 3e 20 27 e1 b8 8a 27 2c 0a 20 20 27 e1 b8 8d 27 20 3d 3e 20 27 e1 b8 8c 27 2c ...'.=>.'...',...'...'.=>.'...',
82c80 0a 20 20 27 e1 b8 8f 27 20 3d 3e 20 27 e1 b8 8e 27 2c 0a 20 20 27 e1 b8 91 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
82ca0 b8 90 27 2c 0a 20 20 27 e1 b8 93 27 20 3d 3e 20 27 e1 b8 92 27 2c 0a 20 20 27 e1 b8 95 27 20 3d ..',...'...'.=>.'...',...'...'.=
82cc0 3e 20 27 e1 b8 94 27 2c 0a 20 20 27 e1 b8 97 27 20 3d 3e 20 27 e1 b8 96 27 2c 0a 20 20 27 e1 b8 >.'...',...'...'.=>.'...',...'..
82ce0 99 27 20 3d 3e 20 27 e1 b8 98 27 2c 0a 20 20 27 e1 b8 9b 27 20 3d 3e 20 27 e1 b8 9a 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
82d00 20 27 e1 b8 9d 27 20 3d 3e 20 27 e1 b8 9c 27 2c 0a 20 20 27 e1 b8 9f 27 20 3d 3e 20 27 e1 b8 9e .'...'.=>.'...',...'...'.=>.'...
82d20 27 2c 0a 20 20 27 e1 b8 a1 27 20 3d 3e 20 27 e1 b8 a0 27 2c 0a 20 20 27 e1 b8 a3 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
82d40 27 e1 b8 a2 27 2c 0a 20 20 27 e1 b8 a5 27 20 3d 3e 20 27 e1 b8 a4 27 2c 0a 20 20 27 e1 b8 a7 27 '...',...'...'.=>.'...',...'...'
82d60 20 3d 3e 20 27 e1 b8 a6 27 2c 0a 20 20 27 e1 b8 a9 27 20 3d 3e 20 27 e1 b8 a8 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
82d80 e1 b8 ab 27 20 3d 3e 20 27 e1 b8 aa 27 2c 0a 20 20 27 e1 b8 ad 27 20 3d 3e 20 27 e1 b8 ac 27 2c ...'.=>.'...',...'...'.=>.'...',
82da0 0a 20 20 27 e1 b8 af 27 20 3d 3e 20 27 e1 b8 ae 27 2c 0a 20 20 27 e1 b8 b1 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
82dc0 b8 b0 27 2c 0a 20 20 27 e1 b8 b3 27 20 3d 3e 20 27 e1 b8 b2 27 2c 0a 20 20 27 e1 b8 b5 27 20 3d ..',...'...'.=>.'...',...'...'.=
82de0 3e 20 27 e1 b8 b4 27 2c 0a 20 20 27 e1 b8 b7 27 20 3d 3e 20 27 e1 b8 b6 27 2c 0a 20 20 27 e1 b8 >.'...',...'...'.=>.'...',...'..
82e00 b9 27 20 3d 3e 20 27 e1 b8 b8 27 2c 0a 20 20 27 e1 b8 bb 27 20 3d 3e 20 27 e1 b8 ba 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
82e20 20 27 e1 b8 bd 27 20 3d 3e 20 27 e1 b8 bc 27 2c 0a 20 20 27 e1 b8 bf 27 20 3d 3e 20 27 e1 b8 be .'...'.=>.'...',...'...'.=>.'...
82e40 27 2c 0a 20 20 27 e1 b9 81 27 20 3d 3e 20 27 e1 b9 80 27 2c 0a 20 20 27 e1 b9 83 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
82e60 27 e1 b9 82 27 2c 0a 20 20 27 e1 b9 85 27 20 3d 3e 20 27 e1 b9 84 27 2c 0a 20 20 27 e1 b9 87 27 '...',...'...'.=>.'...',...'...'
82e80 20 3d 3e 20 27 e1 b9 86 27 2c 0a 20 20 27 e1 b9 89 27 20 3d 3e 20 27 e1 b9 88 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
82ea0 e1 b9 8b 27 20 3d 3e 20 27 e1 b9 8a 27 2c 0a 20 20 27 e1 b9 8d 27 20 3d 3e 20 27 e1 b9 8c 27 2c ...'.=>.'...',...'...'.=>.'...',
82ec0 0a 20 20 27 e1 b9 8f 27 20 3d 3e 20 27 e1 b9 8e 27 2c 0a 20 20 27 e1 b9 91 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
82ee0 b9 90 27 2c 0a 20 20 27 e1 b9 93 27 20 3d 3e 20 27 e1 b9 92 27 2c 0a 20 20 27 e1 b9 95 27 20 3d ..',...'...'.=>.'...',...'...'.=
82f00 3e 20 27 e1 b9 94 27 2c 0a 20 20 27 e1 b9 97 27 20 3d 3e 20 27 e1 b9 96 27 2c 0a 20 20 27 e1 b9 >.'...',...'...'.=>.'...',...'..
82f20 99 27 20 3d 3e 20 27 e1 b9 98 27 2c 0a 20 20 27 e1 b9 9b 27 20 3d 3e 20 27 e1 b9 9a 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
82f40 20 27 e1 b9 9d 27 20 3d 3e 20 27 e1 b9 9c 27 2c 0a 20 20 27 e1 b9 9f 27 20 3d 3e 20 27 e1 b9 9e .'...'.=>.'...',...'...'.=>.'...
82f60 27 2c 0a 20 20 27 e1 b9 a1 27 20 3d 3e 20 27 e1 b9 a0 27 2c 0a 20 20 27 e1 b9 a3 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
82f80 27 e1 b9 a2 27 2c 0a 20 20 27 e1 b9 a5 27 20 3d 3e 20 27 e1 b9 a4 27 2c 0a 20 20 27 e1 b9 a7 27 '...',...'...'.=>.'...',...'...'
82fa0 20 3d 3e 20 27 e1 b9 a6 27 2c 0a 20 20 27 e1 b9 a9 27 20 3d 3e 20 27 e1 b9 a8 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
82fc0 e1 b9 ab 27 20 3d 3e 20 27 e1 b9 aa 27 2c 0a 20 20 27 e1 b9 ad 27 20 3d 3e 20 27 e1 b9 ac 27 2c ...'.=>.'...',...'...'.=>.'...',
82fe0 0a 20 20 27 e1 b9 af 27 20 3d 3e 20 27 e1 b9 ae 27 2c 0a 20 20 27 e1 b9 b1 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
83000 b9 b0 27 2c 0a 20 20 27 e1 b9 b3 27 20 3d 3e 20 27 e1 b9 b2 27 2c 0a 20 20 27 e1 b9 b5 27 20 3d ..',...'...'.=>.'...',...'...'.=
83020 3e 20 27 e1 b9 b4 27 2c 0a 20 20 27 e1 b9 b7 27 20 3d 3e 20 27 e1 b9 b6 27 2c 0a 20 20 27 e1 b9 >.'...',...'...'.=>.'...',...'..
83040 b9 27 20 3d 3e 20 27 e1 b9 b8 27 2c 0a 20 20 27 e1 b9 bb 27 20 3d 3e 20 27 e1 b9 ba 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
83060 20 27 e1 b9 bd 27 20 3d 3e 20 27 e1 b9 bc 27 2c 0a 20 20 27 e1 b9 bf 27 20 3d 3e 20 27 e1 b9 be .'...'.=>.'...',...'...'.=>.'...
83080 27 2c 0a 20 20 27 e1 ba 81 27 20 3d 3e 20 27 e1 ba 80 27 2c 0a 20 20 27 e1 ba 83 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
830a0 27 e1 ba 82 27 2c 0a 20 20 27 e1 ba 85 27 20 3d 3e 20 27 e1 ba 84 27 2c 0a 20 20 27 e1 ba 87 27 '...',...'...'.=>.'...',...'...'
830c0 20 3d 3e 20 27 e1 ba 86 27 2c 0a 20 20 27 e1 ba 89 27 20 3d 3e 20 27 e1 ba 88 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
830e0 e1 ba 8b 27 20 3d 3e 20 27 e1 ba 8a 27 2c 0a 20 20 27 e1 ba 8d 27 20 3d 3e 20 27 e1 ba 8c 27 2c ...'.=>.'...',...'...'.=>.'...',
83100 0a 20 20 27 e1 ba 8f 27 20 3d 3e 20 27 e1 ba 8e 27 2c 0a 20 20 27 e1 ba 91 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
83120 ba 90 27 2c 0a 20 20 27 e1 ba 93 27 20 3d 3e 20 27 e1 ba 92 27 2c 0a 20 20 27 e1 ba 95 27 20 3d ..',...'...'.=>.'...',...'...'.=
83140 3e 20 27 e1 ba 94 27 2c 0a 20 20 27 e1 ba 9b 27 20 3d 3e 20 27 e1 b9 a0 27 2c 0a 20 20 27 e1 ba >.'...',...'...'.=>.'...',...'..
83160 a1 27 20 3d 3e 20 27 e1 ba a0 27 2c 0a 20 20 27 e1 ba a3 27 20 3d 3e 20 27 e1 ba a2 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
83180 20 27 e1 ba a5 27 20 3d 3e 20 27 e1 ba a4 27 2c 0a 20 20 27 e1 ba a7 27 20 3d 3e 20 27 e1 ba a6 .'...'.=>.'...',...'...'.=>.'...
831a0 27 2c 0a 20 20 27 e1 ba a9 27 20 3d 3e 20 27 e1 ba a8 27 2c 0a 20 20 27 e1 ba ab 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
831c0 27 e1 ba aa 27 2c 0a 20 20 27 e1 ba ad 27 20 3d 3e 20 27 e1 ba ac 27 2c 0a 20 20 27 e1 ba af 27 '...',...'...'.=>.'...',...'...'
831e0 20 3d 3e 20 27 e1 ba ae 27 2c 0a 20 20 27 e1 ba b1 27 20 3d 3e 20 27 e1 ba b0 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
83200 e1 ba b3 27 20 3d 3e 20 27 e1 ba b2 27 2c 0a 20 20 27 e1 ba b5 27 20 3d 3e 20 27 e1 ba b4 27 2c ...'.=>.'...',...'...'.=>.'...',
83220 0a 20 20 27 e1 ba b7 27 20 3d 3e 20 27 e1 ba b6 27 2c 0a 20 20 27 e1 ba b9 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
83240 ba b8 27 2c 0a 20 20 27 e1 ba bb 27 20 3d 3e 20 27 e1 ba ba 27 2c 0a 20 20 27 e1 ba bd 27 20 3d ..',...'...'.=>.'...',...'...'.=
83260 3e 20 27 e1 ba bc 27 2c 0a 20 20 27 e1 ba bf 27 20 3d 3e 20 27 e1 ba be 27 2c 0a 20 20 27 e1 bb >.'...',...'...'.=>.'...',...'..
83280 81 27 20 3d 3e 20 27 e1 bb 80 27 2c 0a 20 20 27 e1 bb 83 27 20 3d 3e 20 27 e1 bb 82 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
832a0 20 27 e1 bb 85 27 20 3d 3e 20 27 e1 bb 84 27 2c 0a 20 20 27 e1 bb 87 27 20 3d 3e 20 27 e1 bb 86 .'...'.=>.'...',...'...'.=>.'...
832c0 27 2c 0a 20 20 27 e1 bb 89 27 20 3d 3e 20 27 e1 bb 88 27 2c 0a 20 20 27 e1 bb 8b 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
832e0 27 e1 bb 8a 27 2c 0a 20 20 27 e1 bb 8d 27 20 3d 3e 20 27 e1 bb 8c 27 2c 0a 20 20 27 e1 bb 8f 27 '...',...'...'.=>.'...',...'...'
83300 20 3d 3e 20 27 e1 bb 8e 27 2c 0a 20 20 27 e1 bb 91 27 20 3d 3e 20 27 e1 bb 90 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
83320 e1 bb 93 27 20 3d 3e 20 27 e1 bb 92 27 2c 0a 20 20 27 e1 bb 95 27 20 3d 3e 20 27 e1 bb 94 27 2c ...'.=>.'...',...'...'.=>.'...',
83340 0a 20 20 27 e1 bb 97 27 20 3d 3e 20 27 e1 bb 96 27 2c 0a 20 20 27 e1 bb 99 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
83360 bb 98 27 2c 0a 20 20 27 e1 bb 9b 27 20 3d 3e 20 27 e1 bb 9a 27 2c 0a 20 20 27 e1 bb 9d 27 20 3d ..',...'...'.=>.'...',...'...'.=
83380 3e 20 27 e1 bb 9c 27 2c 0a 20 20 27 e1 bb 9f 27 20 3d 3e 20 27 e1 bb 9e 27 2c 0a 20 20 27 e1 bb >.'...',...'...'.=>.'...',...'..
833a0 a1 27 20 3d 3e 20 27 e1 bb a0 27 2c 0a 20 20 27 e1 bb a3 27 20 3d 3e 20 27 e1 bb a2 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
833c0 20 27 e1 bb a5 27 20 3d 3e 20 27 e1 bb a4 27 2c 0a 20 20 27 e1 bb a7 27 20 3d 3e 20 27 e1 bb a6 .'...'.=>.'...',...'...'.=>.'...
833e0 27 2c 0a 20 20 27 e1 bb a9 27 20 3d 3e 20 27 e1 bb a8 27 2c 0a 20 20 27 e1 bb ab 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
83400 27 e1 bb aa 27 2c 0a 20 20 27 e1 bb ad 27 20 3d 3e 20 27 e1 bb ac 27 2c 0a 20 20 27 e1 bb af 27 '...',...'...'.=>.'...',...'...'
83420 20 3d 3e 20 27 e1 bb ae 27 2c 0a 20 20 27 e1 bb b1 27 20 3d 3e 20 27 e1 bb b0 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
83440 e1 bb b3 27 20 3d 3e 20 27 e1 bb b2 27 2c 0a 20 20 27 e1 bb b5 27 20 3d 3e 20 27 e1 bb b4 27 2c ...'.=>.'...',...'...'.=>.'...',
83460 0a 20 20 27 e1 bb b7 27 20 3d 3e 20 27 e1 bb b6 27 2c 0a 20 20 27 e1 bb b9 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
83480 bb b8 27 2c 0a 20 20 27 e1 bb bb 27 20 3d 3e 20 27 e1 bb ba 27 2c 0a 20 20 27 e1 bb bd 27 20 3d ..',...'...'.=>.'...',...'...'.=
834a0 3e 20 27 e1 bb bc 27 2c 0a 20 20 27 e1 bb bf 27 20 3d 3e 20 27 e1 bb be 27 2c 0a 20 20 27 e1 bc >.'...',...'...'.=>.'...',...'..
834c0 80 27 20 3d 3e 20 27 e1 bc 88 27 2c 0a 20 20 27 e1 bc 81 27 20 3d 3e 20 27 e1 bc 89 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
834e0 20 27 e1 bc 82 27 20 3d 3e 20 27 e1 bc 8a 27 2c 0a 20 20 27 e1 bc 83 27 20 3d 3e 20 27 e1 bc 8b .'...'.=>.'...',...'...'.=>.'...
83500 27 2c 0a 20 20 27 e1 bc 84 27 20 3d 3e 20 27 e1 bc 8c 27 2c 0a 20 20 27 e1 bc 85 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
83520 27 e1 bc 8d 27 2c 0a 20 20 27 e1 bc 86 27 20 3d 3e 20 27 e1 bc 8e 27 2c 0a 20 20 27 e1 bc 87 27 '...',...'...'.=>.'...',...'...'
83540 20 3d 3e 20 27 e1 bc 8f 27 2c 0a 20 20 27 e1 bc 90 27 20 3d 3e 20 27 e1 bc 98 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
83560 e1 bc 91 27 20 3d 3e 20 27 e1 bc 99 27 2c 0a 20 20 27 e1 bc 92 27 20 3d 3e 20 27 e1 bc 9a 27 2c ...'.=>.'...',...'...'.=>.'...',
83580 0a 20 20 27 e1 bc 93 27 20 3d 3e 20 27 e1 bc 9b 27 2c 0a 20 20 27 e1 bc 94 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
835a0 bc 9c 27 2c 0a 20 20 27 e1 bc 95 27 20 3d 3e 20 27 e1 bc 9d 27 2c 0a 20 20 27 e1 bc a0 27 20 3d ..',...'...'.=>.'...',...'...'.=
835c0 3e 20 27 e1 bc a8 27 2c 0a 20 20 27 e1 bc a1 27 20 3d 3e 20 27 e1 bc a9 27 2c 0a 20 20 27 e1 bc >.'...',...'...'.=>.'...',...'..
835e0 a2 27 20 3d 3e 20 27 e1 bc aa 27 2c 0a 20 20 27 e1 bc a3 27 20 3d 3e 20 27 e1 bc ab 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
83600 20 27 e1 bc a4 27 20 3d 3e 20 27 e1 bc ac 27 2c 0a 20 20 27 e1 bc a5 27 20 3d 3e 20 27 e1 bc ad .'...'.=>.'...',...'...'.=>.'...
83620 27 2c 0a 20 20 27 e1 bc a6 27 20 3d 3e 20 27 e1 bc ae 27 2c 0a 20 20 27 e1 bc a7 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
83640 27 e1 bc af 27 2c 0a 20 20 27 e1 bc b0 27 20 3d 3e 20 27 e1 bc b8 27 2c 0a 20 20 27 e1 bc b1 27 '...',...'...'.=>.'...',...'...'
83660 20 3d 3e 20 27 e1 bc b9 27 2c 0a 20 20 27 e1 bc b2 27 20 3d 3e 20 27 e1 bc ba 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
83680 e1 bc b3 27 20 3d 3e 20 27 e1 bc bb 27 2c 0a 20 20 27 e1 bc b4 27 20 3d 3e 20 27 e1 bc bc 27 2c ...'.=>.'...',...'...'.=>.'...',
836a0 0a 20 20 27 e1 bc b5 27 20 3d 3e 20 27 e1 bc bd 27 2c 0a 20 20 27 e1 bc b6 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
836c0 bc be 27 2c 0a 20 20 27 e1 bc b7 27 20 3d 3e 20 27 e1 bc bf 27 2c 0a 20 20 27 e1 bd 80 27 20 3d ..',...'...'.=>.'...',...'...'.=
836e0 3e 20 27 e1 bd 88 27 2c 0a 20 20 27 e1 bd 81 27 20 3d 3e 20 27 e1 bd 89 27 2c 0a 20 20 27 e1 bd >.'...',...'...'.=>.'...',...'..
83700 82 27 20 3d 3e 20 27 e1 bd 8a 27 2c 0a 20 20 27 e1 bd 83 27 20 3d 3e 20 27 e1 bd 8b 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
83720 20 27 e1 bd 84 27 20 3d 3e 20 27 e1 bd 8c 27 2c 0a 20 20 27 e1 bd 85 27 20 3d 3e 20 27 e1 bd 8d .'...'.=>.'...',...'...'.=>.'...
83740 27 2c 0a 20 20 27 e1 bd 91 27 20 3d 3e 20 27 e1 bd 99 27 2c 0a 20 20 27 e1 bd 93 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
83760 27 e1 bd 9b 27 2c 0a 20 20 27 e1 bd 95 27 20 3d 3e 20 27 e1 bd 9d 27 2c 0a 20 20 27 e1 bd 97 27 '...',...'...'.=>.'...',...'...'
83780 20 3d 3e 20 27 e1 bd 9f 27 2c 0a 20 20 27 e1 bd a0 27 20 3d 3e 20 27 e1 bd a8 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
837a0 e1 bd a1 27 20 3d 3e 20 27 e1 bd a9 27 2c 0a 20 20 27 e1 bd a2 27 20 3d 3e 20 27 e1 bd aa 27 2c ...'.=>.'...',...'...'.=>.'...',
837c0 0a 20 20 27 e1 bd a3 27 20 3d 3e 20 27 e1 bd ab 27 2c 0a 20 20 27 e1 bd a4 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
837e0 bd ac 27 2c 0a 20 20 27 e1 bd a5 27 20 3d 3e 20 27 e1 bd ad 27 2c 0a 20 20 27 e1 bd a6 27 20 3d ..',...'...'.=>.'...',...'...'.=
83800 3e 20 27 e1 bd ae 27 2c 0a 20 20 27 e1 bd a7 27 20 3d 3e 20 27 e1 bd af 27 2c 0a 20 20 27 e1 bd >.'...',...'...'.=>.'...',...'..
83820 b0 27 20 3d 3e 20 27 e1 be ba 27 2c 0a 20 20 27 e1 bd b1 27 20 3d 3e 20 27 e1 be bb 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
83840 20 27 e1 bd b2 27 20 3d 3e 20 27 e1 bf 88 27 2c 0a 20 20 27 e1 bd b3 27 20 3d 3e 20 27 e1 bf 89 .'...'.=>.'...',...'...'.=>.'...
83860 27 2c 0a 20 20 27 e1 bd b4 27 20 3d 3e 20 27 e1 bf 8a 27 2c 0a 20 20 27 e1 bd b5 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
83880 27 e1 bf 8b 27 2c 0a 20 20 27 e1 bd b6 27 20 3d 3e 20 27 e1 bf 9a 27 2c 0a 20 20 27 e1 bd b7 27 '...',...'...'.=>.'...',...'...'
838a0 20 3d 3e 20 27 e1 bf 9b 27 2c 0a 20 20 27 e1 bd b8 27 20 3d 3e 20 27 e1 bf b8 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
838c0 e1 bd b9 27 20 3d 3e 20 27 e1 bf b9 27 2c 0a 20 20 27 e1 bd ba 27 20 3d 3e 20 27 e1 bf aa 27 2c ...'.=>.'...',...'...'.=>.'...',
838e0 0a 20 20 27 e1 bd bb 27 20 3d 3e 20 27 e1 bf ab 27 2c 0a 20 20 27 e1 bd bc 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
83900 bf ba 27 2c 0a 20 20 27 e1 bd bd 27 20 3d 3e 20 27 e1 bf bb 27 2c 0a 20 20 27 e1 be 80 27 20 3d ..',...'...'.=>.'...',...'...'.=
83920 3e 20 27 e1 be 88 27 2c 0a 20 20 27 e1 be 81 27 20 3d 3e 20 27 e1 be 89 27 2c 0a 20 20 27 e1 be >.'...',...'...'.=>.'...',...'..
83940 82 27 20 3d 3e 20 27 e1 be 8a 27 2c 0a 20 20 27 e1 be 83 27 20 3d 3e 20 27 e1 be 8b 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
83960 20 27 e1 be 84 27 20 3d 3e 20 27 e1 be 8c 27 2c 0a 20 20 27 e1 be 85 27 20 3d 3e 20 27 e1 be 8d .'...'.=>.'...',...'...'.=>.'...
83980 27 2c 0a 20 20 27 e1 be 86 27 20 3d 3e 20 27 e1 be 8e 27 2c 0a 20 20 27 e1 be 87 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
839a0 27 e1 be 8f 27 2c 0a 20 20 27 e1 be 90 27 20 3d 3e 20 27 e1 be 98 27 2c 0a 20 20 27 e1 be 91 27 '...',...'...'.=>.'...',...'...'
839c0 20 3d 3e 20 27 e1 be 99 27 2c 0a 20 20 27 e1 be 92 27 20 3d 3e 20 27 e1 be 9a 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
839e0 e1 be 93 27 20 3d 3e 20 27 e1 be 9b 27 2c 0a 20 20 27 e1 be 94 27 20 3d 3e 20 27 e1 be 9c 27 2c ...'.=>.'...',...'...'.=>.'...',
83a00 0a 20 20 27 e1 be 95 27 20 3d 3e 20 27 e1 be 9d 27 2c 0a 20 20 27 e1 be 96 27 20 3d 3e 20 27 e1 ...'...'.=>.'...',...'...'.=>.'.
83a20 be 9e 27 2c 0a 20 20 27 e1 be 97 27 20 3d 3e 20 27 e1 be 9f 27 2c 0a 20 20 27 e1 be a0 27 20 3d ..',...'...'.=>.'...',...'...'.=
83a40 3e 20 27 e1 be a8 27 2c 0a 20 20 27 e1 be a1 27 20 3d 3e 20 27 e1 be a9 27 2c 0a 20 20 27 e1 be >.'...',...'...'.=>.'...',...'..
83a60 a2 27 20 3d 3e 20 27 e1 be aa 27 2c 0a 20 20 27 e1 be a3 27 20 3d 3e 20 27 e1 be ab 27 2c 0a 20 .'.=>.'...',...'...'.=>.'...',..
83a80 20 27 e1 be a4 27 20 3d 3e 20 27 e1 be ac 27 2c 0a 20 20 27 e1 be a5 27 20 3d 3e 20 27 e1 be ad .'...'.=>.'...',...'...'.=>.'...
83aa0 27 2c 0a 20 20 27 e1 be a6 27 20 3d 3e 20 27 e1 be ae 27 2c 0a 20 20 27 e1 be a7 27 20 3d 3e 20 ',...'...'.=>.'...',...'...'.=>.
83ac0 27 e1 be af 27 2c 0a 20 20 27 e1 be b0 27 20 3d 3e 20 27 e1 be b8 27 2c 0a 20 20 27 e1 be b1 27 '...',...'...'.=>.'...',...'...'
83ae0 20 3d 3e 20 27 e1 be b9 27 2c 0a 20 20 27 e1 be b3 27 20 3d 3e 20 27 e1 be bc 27 2c 0a 20 20 27 .=>.'...',...'...'.=>.'...',...'
83b00 e1 be be 27 20 3d 3e 20 27 ce 99 27 2c 0a 20 20 27 e1 bf 83 27 20 3d 3e 20 27 e1 bf 8c 27 2c 0a ...'.=>.'..',...'...'.=>.'...',.
83b20 20 20 27 e1 bf 90 27 20 3d 3e 20 27 e1 bf 98 27 2c 0a 20 20 27 e1 bf 91 27 20 3d 3e 20 27 e1 bf ..'...'.=>.'...',...'...'.=>.'..
83b40 99 27 2c 0a 20 20 27 e1 bf a0 27 20 3d 3e 20 27 e1 bf a8 27 2c 0a 20 20 27 e1 bf a1 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
83b60 20 27 e1 bf a9 27 2c 0a 20 20 27 e1 bf a5 27 20 3d 3e 20 27 e1 bf ac 27 2c 0a 20 20 27 e1 bf b3 .'...',...'...'.=>.'...',...'...
83b80 27 20 3d 3e 20 27 e1 bf bc 27 2c 0a 20 20 27 e2 85 8e 27 20 3d 3e 20 27 e2 84 b2 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
83ba0 27 e2 85 b0 27 20 3d 3e 20 27 e2 85 a0 27 2c 0a 20 20 27 e2 85 b1 27 20 3d 3e 20 27 e2 85 a1 27 '...'.=>.'...',...'...'.=>.'...'
83bc0 2c 0a 20 20 27 e2 85 b2 27 20 3d 3e 20 27 e2 85 a2 27 2c 0a 20 20 27 e2 85 b3 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
83be0 e2 85 a3 27 2c 0a 20 20 27 e2 85 b4 27 20 3d 3e 20 27 e2 85 a4 27 2c 0a 20 20 27 e2 85 b5 27 20 ...',...'...'.=>.'...',...'...'.
83c00 3d 3e 20 27 e2 85 a5 27 2c 0a 20 20 27 e2 85 b6 27 20 3d 3e 20 27 e2 85 a6 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
83c20 85 b7 27 20 3d 3e 20 27 e2 85 a7 27 2c 0a 20 20 27 e2 85 b8 27 20 3d 3e 20 27 e2 85 a8 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
83c40 20 20 27 e2 85 b9 27 20 3d 3e 20 27 e2 85 a9 27 2c 0a 20 20 27 e2 85 ba 27 20 3d 3e 20 27 e2 85 ..'...'.=>.'...',...'...'.=>.'..
83c60 aa 27 2c 0a 20 20 27 e2 85 bb 27 20 3d 3e 20 27 e2 85 ab 27 2c 0a 20 20 27 e2 85 bc 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
83c80 20 27 e2 85 ac 27 2c 0a 20 20 27 e2 85 bd 27 20 3d 3e 20 27 e2 85 ad 27 2c 0a 20 20 27 e2 85 be .'...',...'...'.=>.'...',...'...
83ca0 27 20 3d 3e 20 27 e2 85 ae 27 2c 0a 20 20 27 e2 85 bf 27 20 3d 3e 20 27 e2 85 af 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
83cc0 27 e2 86 84 27 20 3d 3e 20 27 e2 86 83 27 2c 0a 20 20 27 e2 93 90 27 20 3d 3e 20 27 e2 92 b6 27 '...'.=>.'...',...'...'.=>.'...'
83ce0 2c 0a 20 20 27 e2 93 91 27 20 3d 3e 20 27 e2 92 b7 27 2c 0a 20 20 27 e2 93 92 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
83d00 e2 92 b8 27 2c 0a 20 20 27 e2 93 93 27 20 3d 3e 20 27 e2 92 b9 27 2c 0a 20 20 27 e2 93 94 27 20 ...',...'...'.=>.'...',...'...'.
83d20 3d 3e 20 27 e2 92 ba 27 2c 0a 20 20 27 e2 93 95 27 20 3d 3e 20 27 e2 92 bb 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
83d40 93 96 27 20 3d 3e 20 27 e2 92 bc 27 2c 0a 20 20 27 e2 93 97 27 20 3d 3e 20 27 e2 92 bd 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
83d60 20 20 27 e2 93 98 27 20 3d 3e 20 27 e2 92 be 27 2c 0a 20 20 27 e2 93 99 27 20 3d 3e 20 27 e2 92 ..'...'.=>.'...',...'...'.=>.'..
83d80 bf 27 2c 0a 20 20 27 e2 93 9a 27 20 3d 3e 20 27 e2 93 80 27 2c 0a 20 20 27 e2 93 9b 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
83da0 20 27 e2 93 81 27 2c 0a 20 20 27 e2 93 9c 27 20 3d 3e 20 27 e2 93 82 27 2c 0a 20 20 27 e2 93 9d .'...',...'...'.=>.'...',...'...
83dc0 27 20 3d 3e 20 27 e2 93 83 27 2c 0a 20 20 27 e2 93 9e 27 20 3d 3e 20 27 e2 93 84 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
83de0 27 e2 93 9f 27 20 3d 3e 20 27 e2 93 85 27 2c 0a 20 20 27 e2 93 a0 27 20 3d 3e 20 27 e2 93 86 27 '...'.=>.'...',...'...'.=>.'...'
83e00 2c 0a 20 20 27 e2 93 a1 27 20 3d 3e 20 27 e2 93 87 27 2c 0a 20 20 27 e2 93 a2 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
83e20 e2 93 88 27 2c 0a 20 20 27 e2 93 a3 27 20 3d 3e 20 27 e2 93 89 27 2c 0a 20 20 27 e2 93 a4 27 20 ...',...'...'.=>.'...',...'...'.
83e40 3d 3e 20 27 e2 93 8a 27 2c 0a 20 20 27 e2 93 a5 27 20 3d 3e 20 27 e2 93 8b 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
83e60 93 a6 27 20 3d 3e 20 27 e2 93 8c 27 2c 0a 20 20 27 e2 93 a7 27 20 3d 3e 20 27 e2 93 8d 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
83e80 20 20 27 e2 93 a8 27 20 3d 3e 20 27 e2 93 8e 27 2c 0a 20 20 27 e2 93 a9 27 20 3d 3e 20 27 e2 93 ..'...'.=>.'...',...'...'.=>.'..
83ea0 8f 27 2c 0a 20 20 27 e2 b0 b0 27 20 3d 3e 20 27 e2 b0 80 27 2c 0a 20 20 27 e2 b0 b1 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
83ec0 20 27 e2 b0 81 27 2c 0a 20 20 27 e2 b0 b2 27 20 3d 3e 20 27 e2 b0 82 27 2c 0a 20 20 27 e2 b0 b3 .'...',...'...'.=>.'...',...'...
83ee0 27 20 3d 3e 20 27 e2 b0 83 27 2c 0a 20 20 27 e2 b0 b4 27 20 3d 3e 20 27 e2 b0 84 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
83f00 27 e2 b0 b5 27 20 3d 3e 20 27 e2 b0 85 27 2c 0a 20 20 27 e2 b0 b6 27 20 3d 3e 20 27 e2 b0 86 27 '...'.=>.'...',...'...'.=>.'...'
83f20 2c 0a 20 20 27 e2 b0 b7 27 20 3d 3e 20 27 e2 b0 87 27 2c 0a 20 20 27 e2 b0 b8 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
83f40 e2 b0 88 27 2c 0a 20 20 27 e2 b0 b9 27 20 3d 3e 20 27 e2 b0 89 27 2c 0a 20 20 27 e2 b0 ba 27 20 ...',...'...'.=>.'...',...'...'.
83f60 3d 3e 20 27 e2 b0 8a 27 2c 0a 20 20 27 e2 b0 bb 27 20 3d 3e 20 27 e2 b0 8b 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
83f80 b0 bc 27 20 3d 3e 20 27 e2 b0 8c 27 2c 0a 20 20 27 e2 b0 bd 27 20 3d 3e 20 27 e2 b0 8d 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
83fa0 20 20 27 e2 b0 be 27 20 3d 3e 20 27 e2 b0 8e 27 2c 0a 20 20 27 e2 b0 bf 27 20 3d 3e 20 27 e2 b0 ..'...'.=>.'...',...'...'.=>.'..
83fc0 8f 27 2c 0a 20 20 27 e2 b1 80 27 20 3d 3e 20 27 e2 b0 90 27 2c 0a 20 20 27 e2 b1 81 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
83fe0 20 27 e2 b0 91 27 2c 0a 20 20 27 e2 b1 82 27 20 3d 3e 20 27 e2 b0 92 27 2c 0a 20 20 27 e2 b1 83 .'...',...'...'.=>.'...',...'...
84000 27 20 3d 3e 20 27 e2 b0 93 27 2c 0a 20 20 27 e2 b1 84 27 20 3d 3e 20 27 e2 b0 94 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84020 27 e2 b1 85 27 20 3d 3e 20 27 e2 b0 95 27 2c 0a 20 20 27 e2 b1 86 27 20 3d 3e 20 27 e2 b0 96 27 '...'.=>.'...',...'...'.=>.'...'
84040 2c 0a 20 20 27 e2 b1 87 27 20 3d 3e 20 27 e2 b0 97 27 2c 0a 20 20 27 e2 b1 88 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84060 e2 b0 98 27 2c 0a 20 20 27 e2 b1 89 27 20 3d 3e 20 27 e2 b0 99 27 2c 0a 20 20 27 e2 b1 8a 27 20 ...',...'...'.=>.'...',...'...'.
84080 3d 3e 20 27 e2 b0 9a 27 2c 0a 20 20 27 e2 b1 8b 27 20 3d 3e 20 27 e2 b0 9b 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
840a0 b1 8c 27 20 3d 3e 20 27 e2 b0 9c 27 2c 0a 20 20 27 e2 b1 8d 27 20 3d 3e 20 27 e2 b0 9d 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
840c0 20 20 27 e2 b1 8e 27 20 3d 3e 20 27 e2 b0 9e 27 2c 0a 20 20 27 e2 b1 8f 27 20 3d 3e 20 27 e2 b0 ..'...'.=>.'...',...'...'.=>.'..
840e0 9f 27 2c 0a 20 20 27 e2 b1 90 27 20 3d 3e 20 27 e2 b0 a0 27 2c 0a 20 20 27 e2 b1 91 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84100 20 27 e2 b0 a1 27 2c 0a 20 20 27 e2 b1 92 27 20 3d 3e 20 27 e2 b0 a2 27 2c 0a 20 20 27 e2 b1 93 .'...',...'...'.=>.'...',...'...
84120 27 20 3d 3e 20 27 e2 b0 a3 27 2c 0a 20 20 27 e2 b1 94 27 20 3d 3e 20 27 e2 b0 a4 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84140 27 e2 b1 95 27 20 3d 3e 20 27 e2 b0 a5 27 2c 0a 20 20 27 e2 b1 96 27 20 3d 3e 20 27 e2 b0 a6 27 '...'.=>.'...',...'...'.=>.'...'
84160 2c 0a 20 20 27 e2 b1 97 27 20 3d 3e 20 27 e2 b0 a7 27 2c 0a 20 20 27 e2 b1 98 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84180 e2 b0 a8 27 2c 0a 20 20 27 e2 b1 99 27 20 3d 3e 20 27 e2 b0 a9 27 2c 0a 20 20 27 e2 b1 9a 27 20 ...',...'...'.=>.'...',...'...'.
841a0 3d 3e 20 27 e2 b0 aa 27 2c 0a 20 20 27 e2 b1 9b 27 20 3d 3e 20 27 e2 b0 ab 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
841c0 b1 9c 27 20 3d 3e 20 27 e2 b0 ac 27 2c 0a 20 20 27 e2 b1 9d 27 20 3d 3e 20 27 e2 b0 ad 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
841e0 20 20 27 e2 b1 9e 27 20 3d 3e 20 27 e2 b0 ae 27 2c 0a 20 20 27 e2 b1 a1 27 20 3d 3e 20 27 e2 b1 ..'...'.=>.'...',...'...'.=>.'..
84200 a0 27 2c 0a 20 20 27 e2 b1 a5 27 20 3d 3e 20 27 c8 ba 27 2c 0a 20 20 27 e2 b1 a6 27 20 3d 3e 20 .',...'...'.=>.'..',...'...'.=>.
84220 27 c8 be 27 2c 0a 20 20 27 e2 b1 a8 27 20 3d 3e 20 27 e2 b1 a7 27 2c 0a 20 20 27 e2 b1 aa 27 20 '..',...'...'.=>.'...',...'...'.
84240 3d 3e 20 27 e2 b1 a9 27 2c 0a 20 20 27 e2 b1 ac 27 20 3d 3e 20 27 e2 b1 ab 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
84260 b1 b3 27 20 3d 3e 20 27 e2 b1 b2 27 2c 0a 20 20 27 e2 b1 b6 27 20 3d 3e 20 27 e2 b1 b5 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84280 20 20 27 e2 b2 81 27 20 3d 3e 20 27 e2 b2 80 27 2c 0a 20 20 27 e2 b2 83 27 20 3d 3e 20 27 e2 b2 ..'...'.=>.'...',...'...'.=>.'..
842a0 82 27 2c 0a 20 20 27 e2 b2 85 27 20 3d 3e 20 27 e2 b2 84 27 2c 0a 20 20 27 e2 b2 87 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
842c0 20 27 e2 b2 86 27 2c 0a 20 20 27 e2 b2 89 27 20 3d 3e 20 27 e2 b2 88 27 2c 0a 20 20 27 e2 b2 8b .'...',...'...'.=>.'...',...'...
842e0 27 20 3d 3e 20 27 e2 b2 8a 27 2c 0a 20 20 27 e2 b2 8d 27 20 3d 3e 20 27 e2 b2 8c 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84300 27 e2 b2 8f 27 20 3d 3e 20 27 e2 b2 8e 27 2c 0a 20 20 27 e2 b2 91 27 20 3d 3e 20 27 e2 b2 90 27 '...'.=>.'...',...'...'.=>.'...'
84320 2c 0a 20 20 27 e2 b2 93 27 20 3d 3e 20 27 e2 b2 92 27 2c 0a 20 20 27 e2 b2 95 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84340 e2 b2 94 27 2c 0a 20 20 27 e2 b2 97 27 20 3d 3e 20 27 e2 b2 96 27 2c 0a 20 20 27 e2 b2 99 27 20 ...',...'...'.=>.'...',...'...'.
84360 3d 3e 20 27 e2 b2 98 27 2c 0a 20 20 27 e2 b2 9b 27 20 3d 3e 20 27 e2 b2 9a 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
84380 b2 9d 27 20 3d 3e 20 27 e2 b2 9c 27 2c 0a 20 20 27 e2 b2 9f 27 20 3d 3e 20 27 e2 b2 9e 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
843a0 20 20 27 e2 b2 a1 27 20 3d 3e 20 27 e2 b2 a0 27 2c 0a 20 20 27 e2 b2 a3 27 20 3d 3e 20 27 e2 b2 ..'...'.=>.'...',...'...'.=>.'..
843c0 a2 27 2c 0a 20 20 27 e2 b2 a5 27 20 3d 3e 20 27 e2 b2 a4 27 2c 0a 20 20 27 e2 b2 a7 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
843e0 20 27 e2 b2 a6 27 2c 0a 20 20 27 e2 b2 a9 27 20 3d 3e 20 27 e2 b2 a8 27 2c 0a 20 20 27 e2 b2 ab .'...',...'...'.=>.'...',...'...
84400 27 20 3d 3e 20 27 e2 b2 aa 27 2c 0a 20 20 27 e2 b2 ad 27 20 3d 3e 20 27 e2 b2 ac 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84420 27 e2 b2 af 27 20 3d 3e 20 27 e2 b2 ae 27 2c 0a 20 20 27 e2 b2 b1 27 20 3d 3e 20 27 e2 b2 b0 27 '...'.=>.'...',...'...'.=>.'...'
84440 2c 0a 20 20 27 e2 b2 b3 27 20 3d 3e 20 27 e2 b2 b2 27 2c 0a 20 20 27 e2 b2 b5 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84460 e2 b2 b4 27 2c 0a 20 20 27 e2 b2 b7 27 20 3d 3e 20 27 e2 b2 b6 27 2c 0a 20 20 27 e2 b2 b9 27 20 ...',...'...'.=>.'...',...'...'.
84480 3d 3e 20 27 e2 b2 b8 27 2c 0a 20 20 27 e2 b2 bb 27 20 3d 3e 20 27 e2 b2 ba 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
844a0 b2 bd 27 20 3d 3e 20 27 e2 b2 bc 27 2c 0a 20 20 27 e2 b2 bf 27 20 3d 3e 20 27 e2 b2 be 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
844c0 20 20 27 e2 b3 81 27 20 3d 3e 20 27 e2 b3 80 27 2c 0a 20 20 27 e2 b3 83 27 20 3d 3e 20 27 e2 b3 ..'...'.=>.'...',...'...'.=>.'..
844e0 82 27 2c 0a 20 20 27 e2 b3 85 27 20 3d 3e 20 27 e2 b3 84 27 2c 0a 20 20 27 e2 b3 87 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84500 20 27 e2 b3 86 27 2c 0a 20 20 27 e2 b3 89 27 20 3d 3e 20 27 e2 b3 88 27 2c 0a 20 20 27 e2 b3 8b .'...',...'...'.=>.'...',...'...
84520 27 20 3d 3e 20 27 e2 b3 8a 27 2c 0a 20 20 27 e2 b3 8d 27 20 3d 3e 20 27 e2 b3 8c 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84540 27 e2 b3 8f 27 20 3d 3e 20 27 e2 b3 8e 27 2c 0a 20 20 27 e2 b3 91 27 20 3d 3e 20 27 e2 b3 90 27 '...'.=>.'...',...'...'.=>.'...'
84560 2c 0a 20 20 27 e2 b3 93 27 20 3d 3e 20 27 e2 b3 92 27 2c 0a 20 20 27 e2 b3 95 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84580 e2 b3 94 27 2c 0a 20 20 27 e2 b3 97 27 20 3d 3e 20 27 e2 b3 96 27 2c 0a 20 20 27 e2 b3 99 27 20 ...',...'...'.=>.'...',...'...'.
845a0 3d 3e 20 27 e2 b3 98 27 2c 0a 20 20 27 e2 b3 9b 27 20 3d 3e 20 27 e2 b3 9a 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
845c0 b3 9d 27 20 3d 3e 20 27 e2 b3 9c 27 2c 0a 20 20 27 e2 b3 9f 27 20 3d 3e 20 27 e2 b3 9e 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
845e0 20 20 27 e2 b3 a1 27 20 3d 3e 20 27 e2 b3 a0 27 2c 0a 20 20 27 e2 b3 a3 27 20 3d 3e 20 27 e2 b3 ..'...'.=>.'...',...'...'.=>.'..
84600 a2 27 2c 0a 20 20 27 e2 b3 ac 27 20 3d 3e 20 27 e2 b3 ab 27 2c 0a 20 20 27 e2 b3 ae 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84620 20 27 e2 b3 ad 27 2c 0a 20 20 27 e2 b3 b3 27 20 3d 3e 20 27 e2 b3 b2 27 2c 0a 20 20 27 e2 b4 80 .'...',...'...'.=>.'...',...'...
84640 27 20 3d 3e 20 27 e1 82 a0 27 2c 0a 20 20 27 e2 b4 81 27 20 3d 3e 20 27 e1 82 a1 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84660 27 e2 b4 82 27 20 3d 3e 20 27 e1 82 a2 27 2c 0a 20 20 27 e2 b4 83 27 20 3d 3e 20 27 e1 82 a3 27 '...'.=>.'...',...'...'.=>.'...'
84680 2c 0a 20 20 27 e2 b4 84 27 20 3d 3e 20 27 e1 82 a4 27 2c 0a 20 20 27 e2 b4 85 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
846a0 e1 82 a5 27 2c 0a 20 20 27 e2 b4 86 27 20 3d 3e 20 27 e1 82 a6 27 2c 0a 20 20 27 e2 b4 87 27 20 ...',...'...'.=>.'...',...'...'.
846c0 3d 3e 20 27 e1 82 a7 27 2c 0a 20 20 27 e2 b4 88 27 20 3d 3e 20 27 e1 82 a8 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
846e0 b4 89 27 20 3d 3e 20 27 e1 82 a9 27 2c 0a 20 20 27 e2 b4 8a 27 20 3d 3e 20 27 e1 82 aa 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84700 20 20 27 e2 b4 8b 27 20 3d 3e 20 27 e1 82 ab 27 2c 0a 20 20 27 e2 b4 8c 27 20 3d 3e 20 27 e1 82 ..'...'.=>.'...',...'...'.=>.'..
84720 ac 27 2c 0a 20 20 27 e2 b4 8d 27 20 3d 3e 20 27 e1 82 ad 27 2c 0a 20 20 27 e2 b4 8e 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84740 20 27 e1 82 ae 27 2c 0a 20 20 27 e2 b4 8f 27 20 3d 3e 20 27 e1 82 af 27 2c 0a 20 20 27 e2 b4 90 .'...',...'...'.=>.'...',...'...
84760 27 20 3d 3e 20 27 e1 82 b0 27 2c 0a 20 20 27 e2 b4 91 27 20 3d 3e 20 27 e1 82 b1 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84780 27 e2 b4 92 27 20 3d 3e 20 27 e1 82 b2 27 2c 0a 20 20 27 e2 b4 93 27 20 3d 3e 20 27 e1 82 b3 27 '...'.=>.'...',...'...'.=>.'...'
847a0 2c 0a 20 20 27 e2 b4 94 27 20 3d 3e 20 27 e1 82 b4 27 2c 0a 20 20 27 e2 b4 95 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
847c0 e1 82 b5 27 2c 0a 20 20 27 e2 b4 96 27 20 3d 3e 20 27 e1 82 b6 27 2c 0a 20 20 27 e2 b4 97 27 20 ...',...'...'.=>.'...',...'...'.
847e0 3d 3e 20 27 e1 82 b7 27 2c 0a 20 20 27 e2 b4 98 27 20 3d 3e 20 27 e1 82 b8 27 2c 0a 20 20 27 e2 =>.'...',...'...'.=>.'...',...'.
84800 b4 99 27 20 3d 3e 20 27 e1 82 b9 27 2c 0a 20 20 27 e2 b4 9a 27 20 3d 3e 20 27 e1 82 ba 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84820 20 20 27 e2 b4 9b 27 20 3d 3e 20 27 e1 82 bb 27 2c 0a 20 20 27 e2 b4 9c 27 20 3d 3e 20 27 e1 82 ..'...'.=>.'...',...'...'.=>.'..
84840 bc 27 2c 0a 20 20 27 e2 b4 9d 27 20 3d 3e 20 27 e1 82 bd 27 2c 0a 20 20 27 e2 b4 9e 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84860 20 27 e1 82 be 27 2c 0a 20 20 27 e2 b4 9f 27 20 3d 3e 20 27 e1 82 bf 27 2c 0a 20 20 27 e2 b4 a0 .'...',...'...'.=>.'...',...'...
84880 27 20 3d 3e 20 27 e1 83 80 27 2c 0a 20 20 27 e2 b4 a1 27 20 3d 3e 20 27 e1 83 81 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
848a0 27 e2 b4 a2 27 20 3d 3e 20 27 e1 83 82 27 2c 0a 20 20 27 e2 b4 a3 27 20 3d 3e 20 27 e1 83 83 27 '...'.=>.'...',...'...'.=>.'...'
848c0 2c 0a 20 20 27 e2 b4 a4 27 20 3d 3e 20 27 e1 83 84 27 2c 0a 20 20 27 e2 b4 a5 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
848e0 e1 83 85 27 2c 0a 20 20 27 e2 b4 a7 27 20 3d 3e 20 27 e1 83 87 27 2c 0a 20 20 27 e2 b4 ad 27 20 ...',...'...'.=>.'...',...'...'.
84900 3d 3e 20 27 e1 83 8d 27 2c 0a 20 20 27 ea 99 81 27 20 3d 3e 20 27 ea 99 80 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
84920 99 83 27 20 3d 3e 20 27 ea 99 82 27 2c 0a 20 20 27 ea 99 85 27 20 3d 3e 20 27 ea 99 84 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84940 20 20 27 ea 99 87 27 20 3d 3e 20 27 ea 99 86 27 2c 0a 20 20 27 ea 99 89 27 20 3d 3e 20 27 ea 99 ..'...'.=>.'...',...'...'.=>.'..
84960 88 27 2c 0a 20 20 27 ea 99 8b 27 20 3d 3e 20 27 ea 99 8a 27 2c 0a 20 20 27 ea 99 8d 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84980 20 27 ea 99 8c 27 2c 0a 20 20 27 ea 99 8f 27 20 3d 3e 20 27 ea 99 8e 27 2c 0a 20 20 27 ea 99 91 .'...',...'...'.=>.'...',...'...
849a0 27 20 3d 3e 20 27 ea 99 90 27 2c 0a 20 20 27 ea 99 93 27 20 3d 3e 20 27 ea 99 92 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
849c0 27 ea 99 95 27 20 3d 3e 20 27 ea 99 94 27 2c 0a 20 20 27 ea 99 97 27 20 3d 3e 20 27 ea 99 96 27 '...'.=>.'...',...'...'.=>.'...'
849e0 2c 0a 20 20 27 ea 99 99 27 20 3d 3e 20 27 ea 99 98 27 2c 0a 20 20 27 ea 99 9b 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84a00 ea 99 9a 27 2c 0a 20 20 27 ea 99 9d 27 20 3d 3e 20 27 ea 99 9c 27 2c 0a 20 20 27 ea 99 9f 27 20 ...',...'...'.=>.'...',...'...'.
84a20 3d 3e 20 27 ea 99 9e 27 2c 0a 20 20 27 ea 99 a1 27 20 3d 3e 20 27 ea 99 a0 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
84a40 99 a3 27 20 3d 3e 20 27 ea 99 a2 27 2c 0a 20 20 27 ea 99 a5 27 20 3d 3e 20 27 ea 99 a4 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84a60 20 20 27 ea 99 a7 27 20 3d 3e 20 27 ea 99 a6 27 2c 0a 20 20 27 ea 99 a9 27 20 3d 3e 20 27 ea 99 ..'...'.=>.'...',...'...'.=>.'..
84a80 a8 27 2c 0a 20 20 27 ea 99 ab 27 20 3d 3e 20 27 ea 99 aa 27 2c 0a 20 20 27 ea 99 ad 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84aa0 20 27 ea 99 ac 27 2c 0a 20 20 27 ea 9a 81 27 20 3d 3e 20 27 ea 9a 80 27 2c 0a 20 20 27 ea 9a 83 .'...',...'...'.=>.'...',...'...
84ac0 27 20 3d 3e 20 27 ea 9a 82 27 2c 0a 20 20 27 ea 9a 85 27 20 3d 3e 20 27 ea 9a 84 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84ae0 27 ea 9a 87 27 20 3d 3e 20 27 ea 9a 86 27 2c 0a 20 20 27 ea 9a 89 27 20 3d 3e 20 27 ea 9a 88 27 '...'.=>.'...',...'...'.=>.'...'
84b00 2c 0a 20 20 27 ea 9a 8b 27 20 3d 3e 20 27 ea 9a 8a 27 2c 0a 20 20 27 ea 9a 8d 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84b20 ea 9a 8c 27 2c 0a 20 20 27 ea 9a 8f 27 20 3d 3e 20 27 ea 9a 8e 27 2c 0a 20 20 27 ea 9a 91 27 20 ...',...'...'.=>.'...',...'...'.
84b40 3d 3e 20 27 ea 9a 90 27 2c 0a 20 20 27 ea 9a 93 27 20 3d 3e 20 27 ea 9a 92 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
84b60 9a 95 27 20 3d 3e 20 27 ea 9a 94 27 2c 0a 20 20 27 ea 9a 97 27 20 3d 3e 20 27 ea 9a 96 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84b80 20 20 27 ea 9a 99 27 20 3d 3e 20 27 ea 9a 98 27 2c 0a 20 20 27 ea 9a 9b 27 20 3d 3e 20 27 ea 9a ..'...'.=>.'...',...'...'.=>.'..
84ba0 9a 27 2c 0a 20 20 27 ea 9c a3 27 20 3d 3e 20 27 ea 9c a2 27 2c 0a 20 20 27 ea 9c a5 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84bc0 20 27 ea 9c a4 27 2c 0a 20 20 27 ea 9c a7 27 20 3d 3e 20 27 ea 9c a6 27 2c 0a 20 20 27 ea 9c a9 .'...',...'...'.=>.'...',...'...
84be0 27 20 3d 3e 20 27 ea 9c a8 27 2c 0a 20 20 27 ea 9c ab 27 20 3d 3e 20 27 ea 9c aa 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84c00 27 ea 9c ad 27 20 3d 3e 20 27 ea 9c ac 27 2c 0a 20 20 27 ea 9c af 27 20 3d 3e 20 27 ea 9c ae 27 '...'.=>.'...',...'...'.=>.'...'
84c20 2c 0a 20 20 27 ea 9c b3 27 20 3d 3e 20 27 ea 9c b2 27 2c 0a 20 20 27 ea 9c b5 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84c40 ea 9c b4 27 2c 0a 20 20 27 ea 9c b7 27 20 3d 3e 20 27 ea 9c b6 27 2c 0a 20 20 27 ea 9c b9 27 20 ...',...'...'.=>.'...',...'...'.
84c60 3d 3e 20 27 ea 9c b8 27 2c 0a 20 20 27 ea 9c bb 27 20 3d 3e 20 27 ea 9c ba 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
84c80 9c bd 27 20 3d 3e 20 27 ea 9c bc 27 2c 0a 20 20 27 ea 9c bf 27 20 3d 3e 20 27 ea 9c be 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84ca0 20 20 27 ea 9d 81 27 20 3d 3e 20 27 ea 9d 80 27 2c 0a 20 20 27 ea 9d 83 27 20 3d 3e 20 27 ea 9d ..'...'.=>.'...',...'...'.=>.'..
84cc0 82 27 2c 0a 20 20 27 ea 9d 85 27 20 3d 3e 20 27 ea 9d 84 27 2c 0a 20 20 27 ea 9d 87 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84ce0 20 27 ea 9d 86 27 2c 0a 20 20 27 ea 9d 89 27 20 3d 3e 20 27 ea 9d 88 27 2c 0a 20 20 27 ea 9d 8b .'...',...'...'.=>.'...',...'...
84d00 27 20 3d 3e 20 27 ea 9d 8a 27 2c 0a 20 20 27 ea 9d 8d 27 20 3d 3e 20 27 ea 9d 8c 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84d20 27 ea 9d 8f 27 20 3d 3e 20 27 ea 9d 8e 27 2c 0a 20 20 27 ea 9d 91 27 20 3d 3e 20 27 ea 9d 90 27 '...'.=>.'...',...'...'.=>.'...'
84d40 2c 0a 20 20 27 ea 9d 93 27 20 3d 3e 20 27 ea 9d 92 27 2c 0a 20 20 27 ea 9d 95 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84d60 ea 9d 94 27 2c 0a 20 20 27 ea 9d 97 27 20 3d 3e 20 27 ea 9d 96 27 2c 0a 20 20 27 ea 9d 99 27 20 ...',...'...'.=>.'...',...'...'.
84d80 3d 3e 20 27 ea 9d 98 27 2c 0a 20 20 27 ea 9d 9b 27 20 3d 3e 20 27 ea 9d 9a 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
84da0 9d 9d 27 20 3d 3e 20 27 ea 9d 9c 27 2c 0a 20 20 27 ea 9d 9f 27 20 3d 3e 20 27 ea 9d 9e 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84dc0 20 20 27 ea 9d a1 27 20 3d 3e 20 27 ea 9d a0 27 2c 0a 20 20 27 ea 9d a3 27 20 3d 3e 20 27 ea 9d ..'...'.=>.'...',...'...'.=>.'..
84de0 a2 27 2c 0a 20 20 27 ea 9d a5 27 20 3d 3e 20 27 ea 9d a4 27 2c 0a 20 20 27 ea 9d a7 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84e00 20 27 ea 9d a6 27 2c 0a 20 20 27 ea 9d a9 27 20 3d 3e 20 27 ea 9d a8 27 2c 0a 20 20 27 ea 9d ab .'...',...'...'.=>.'...',...'...
84e20 27 20 3d 3e 20 27 ea 9d aa 27 2c 0a 20 20 27 ea 9d ad 27 20 3d 3e 20 27 ea 9d ac 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84e40 27 ea 9d af 27 20 3d 3e 20 27 ea 9d ae 27 2c 0a 20 20 27 ea 9d ba 27 20 3d 3e 20 27 ea 9d b9 27 '...'.=>.'...',...'...'.=>.'...'
84e60 2c 0a 20 20 27 ea 9d bc 27 20 3d 3e 20 27 ea 9d bb 27 2c 0a 20 20 27 ea 9d bf 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84e80 ea 9d be 27 2c 0a 20 20 27 ea 9e 81 27 20 3d 3e 20 27 ea 9e 80 27 2c 0a 20 20 27 ea 9e 83 27 20 ...',...'...'.=>.'...',...'...'.
84ea0 3d 3e 20 27 ea 9e 82 27 2c 0a 20 20 27 ea 9e 85 27 20 3d 3e 20 27 ea 9e 84 27 2c 0a 20 20 27 ea =>.'...',...'...'.=>.'...',...'.
84ec0 9e 87 27 20 3d 3e 20 27 ea 9e 86 27 2c 0a 20 20 27 ea 9e 8c 27 20 3d 3e 20 27 ea 9e 8b 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
84ee0 20 20 27 ea 9e 91 27 20 3d 3e 20 27 ea 9e 90 27 2c 0a 20 20 27 ea 9e 93 27 20 3d 3e 20 27 ea 9e ..'...'.=>.'...',...'...'.=>.'..
84f00 92 27 2c 0a 20 20 27 ea 9e 97 27 20 3d 3e 20 27 ea 9e 96 27 2c 0a 20 20 27 ea 9e 99 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
84f20 20 27 ea 9e 98 27 2c 0a 20 20 27 ea 9e 9b 27 20 3d 3e 20 27 ea 9e 9a 27 2c 0a 20 20 27 ea 9e 9d .'...',...'...'.=>.'...',...'...
84f40 27 20 3d 3e 20 27 ea 9e 9c 27 2c 0a 20 20 27 ea 9e 9f 27 20 3d 3e 20 27 ea 9e 9e 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
84f60 27 ea 9e a1 27 20 3d 3e 20 27 ea 9e a0 27 2c 0a 20 20 27 ea 9e a3 27 20 3d 3e 20 27 ea 9e a2 27 '...'.=>.'...',...'...'.=>.'...'
84f80 2c 0a 20 20 27 ea 9e a5 27 20 3d 3e 20 27 ea 9e a4 27 2c 0a 20 20 27 ea 9e a7 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
84fa0 ea 9e a6 27 2c 0a 20 20 27 ea 9e a9 27 20 3d 3e 20 27 ea 9e a8 27 2c 0a 20 20 27 ef bd 81 27 20 ...',...'...'.=>.'...',...'...'.
84fc0 3d 3e 20 27 ef bc a1 27 2c 0a 20 20 27 ef bd 82 27 20 3d 3e 20 27 ef bc a2 27 2c 0a 20 20 27 ef =>.'...',...'...'.=>.'...',...'.
84fe0 bd 83 27 20 3d 3e 20 27 ef bc a3 27 2c 0a 20 20 27 ef bd 84 27 20 3d 3e 20 27 ef bc a4 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
85000 20 20 27 ef bd 85 27 20 3d 3e 20 27 ef bc a5 27 2c 0a 20 20 27 ef bd 86 27 20 3d 3e 20 27 ef bc ..'...'.=>.'...',...'...'.=>.'..
85020 a6 27 2c 0a 20 20 27 ef bd 87 27 20 3d 3e 20 27 ef bc a7 27 2c 0a 20 20 27 ef bd 88 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
85040 20 27 ef bc a8 27 2c 0a 20 20 27 ef bd 89 27 20 3d 3e 20 27 ef bc a9 27 2c 0a 20 20 27 ef bd 8a .'...',...'...'.=>.'...',...'...
85060 27 20 3d 3e 20 27 ef bc aa 27 2c 0a 20 20 27 ef bd 8b 27 20 3d 3e 20 27 ef bc ab 27 2c 0a 20 20 '.=>.'...',...'...'.=>.'...',...
85080 27 ef bd 8c 27 20 3d 3e 20 27 ef bc ac 27 2c 0a 20 20 27 ef bd 8d 27 20 3d 3e 20 27 ef bc ad 27 '...'.=>.'...',...'...'.=>.'...'
850a0 2c 0a 20 20 27 ef bd 8e 27 20 3d 3e 20 27 ef bc ae 27 2c 0a 20 20 27 ef bd 8f 27 20 3d 3e 20 27 ,...'...'.=>.'...',...'...'.=>.'
850c0 ef bc af 27 2c 0a 20 20 27 ef bd 90 27 20 3d 3e 20 27 ef bc b0 27 2c 0a 20 20 27 ef bd 91 27 20 ...',...'...'.=>.'...',...'...'.
850e0 3d 3e 20 27 ef bc b1 27 2c 0a 20 20 27 ef bd 92 27 20 3d 3e 20 27 ef bc b2 27 2c 0a 20 20 27 ef =>.'...',...'...'.=>.'...',...'.
85100 bd 93 27 20 3d 3e 20 27 ef bc b3 27 2c 0a 20 20 27 ef bd 94 27 20 3d 3e 20 27 ef bc b4 27 2c 0a ..'.=>.'...',...'...'.=>.'...',.
85120 20 20 27 ef bd 95 27 20 3d 3e 20 27 ef bc b5 27 2c 0a 20 20 27 ef bd 96 27 20 3d 3e 20 27 ef bc ..'...'.=>.'...',...'...'.=>.'..
85140 b6 27 2c 0a 20 20 27 ef bd 97 27 20 3d 3e 20 27 ef bc b7 27 2c 0a 20 20 27 ef bd 98 27 20 3d 3e .',...'...'.=>.'...',...'...'.=>
85160 20 27 ef bc b8 27 2c 0a 20 20 27 ef bd 99 27 20 3d 3e 20 27 ef bc b9 27 2c 0a 20 20 27 ef bd 9a .'...',...'...'.=>.'...',...'...
85180 27 20 3d 3e 20 27 ef bc ba 27 2c 0a 20 20 27 f0 90 90 a8 27 20 3d 3e 20 27 f0 90 90 80 27 2c 0a '.=>.'...',...'....'.=>.'....',.
851a0 20 20 27 f0 90 90 a9 27 20 3d 3e 20 27 f0 90 90 81 27 2c 0a 20 20 27 f0 90 90 aa 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
851c0 27 f0 90 90 82 27 2c 0a 20 20 27 f0 90 90 ab 27 20 3d 3e 20 27 f0 90 90 83 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
851e0 90 90 ac 27 20 3d 3e 20 27 f0 90 90 84 27 2c 0a 20 20 27 f0 90 90 ad 27 20 3d 3e 20 27 f0 90 90 ...'.=>.'....',...'....'.=>.'...
85200 85 27 2c 0a 20 20 27 f0 90 90 ae 27 20 3d 3e 20 27 f0 90 90 86 27 2c 0a 20 20 27 f0 90 90 af 27 .',...'....'.=>.'....',...'....'
85220 20 3d 3e 20 27 f0 90 90 87 27 2c 0a 20 20 27 f0 90 90 b0 27 20 3d 3e 20 27 f0 90 90 88 27 2c 0a .=>.'....',...'....'.=>.'....',.
85240 20 20 27 f0 90 90 b1 27 20 3d 3e 20 27 f0 90 90 89 27 2c 0a 20 20 27 f0 90 90 b2 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
85260 27 f0 90 90 8a 27 2c 0a 20 20 27 f0 90 90 b3 27 20 3d 3e 20 27 f0 90 90 8b 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
85280 90 90 b4 27 20 3d 3e 20 27 f0 90 90 8c 27 2c 0a 20 20 27 f0 90 90 b5 27 20 3d 3e 20 27 f0 90 90 ...'.=>.'....',...'....'.=>.'...
852a0 8d 27 2c 0a 20 20 27 f0 90 90 b6 27 20 3d 3e 20 27 f0 90 90 8e 27 2c 0a 20 20 27 f0 90 90 b7 27 .',...'....'.=>.'....',...'....'
852c0 20 3d 3e 20 27 f0 90 90 8f 27 2c 0a 20 20 27 f0 90 90 b8 27 20 3d 3e 20 27 f0 90 90 90 27 2c 0a .=>.'....',...'....'.=>.'....',.
852e0 20 20 27 f0 90 90 b9 27 20 3d 3e 20 27 f0 90 90 91 27 2c 0a 20 20 27 f0 90 90 ba 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
85300 27 f0 90 90 92 27 2c 0a 20 20 27 f0 90 90 bb 27 20 3d 3e 20 27 f0 90 90 93 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
85320 90 90 bc 27 20 3d 3e 20 27 f0 90 90 94 27 2c 0a 20 20 27 f0 90 90 bd 27 20 3d 3e 20 27 f0 90 90 ...'.=>.'....',...'....'.=>.'...
85340 95 27 2c 0a 20 20 27 f0 90 90 be 27 20 3d 3e 20 27 f0 90 90 96 27 2c 0a 20 20 27 f0 90 90 bf 27 .',...'....'.=>.'....',...'....'
85360 20 3d 3e 20 27 f0 90 90 97 27 2c 0a 20 20 27 f0 90 91 80 27 20 3d 3e 20 27 f0 90 90 98 27 2c 0a .=>.'....',...'....'.=>.'....',.
85380 20 20 27 f0 90 91 81 27 20 3d 3e 20 27 f0 90 90 99 27 2c 0a 20 20 27 f0 90 91 82 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
853a0 27 f0 90 90 9a 27 2c 0a 20 20 27 f0 90 91 83 27 20 3d 3e 20 27 f0 90 90 9b 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
853c0 90 91 84 27 20 3d 3e 20 27 f0 90 90 9c 27 2c 0a 20 20 27 f0 90 91 85 27 20 3d 3e 20 27 f0 90 90 ...'.=>.'....',...'....'.=>.'...
853e0 9d 27 2c 0a 20 20 27 f0 90 91 86 27 20 3d 3e 20 27 f0 90 90 9e 27 2c 0a 20 20 27 f0 90 91 87 27 .',...'....'.=>.'....',...'....'
85400 20 3d 3e 20 27 f0 90 90 9f 27 2c 0a 20 20 27 f0 90 91 88 27 20 3d 3e 20 27 f0 90 90 a0 27 2c 0a .=>.'....',...'....'.=>.'....',.
85420 20 20 27 f0 90 91 89 27 20 3d 3e 20 27 f0 90 90 a1 27 2c 0a 20 20 27 f0 90 91 8a 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
85440 27 f0 90 90 a2 27 2c 0a 20 20 27 f0 90 91 8b 27 20 3d 3e 20 27 f0 90 90 a3 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
85460 90 91 8c 27 20 3d 3e 20 27 f0 90 90 a4 27 2c 0a 20 20 27 f0 90 91 8d 27 20 3d 3e 20 27 f0 90 90 ...'.=>.'....',...'....'.=>.'...
85480 a5 27 2c 0a 20 20 27 f0 90 91 8e 27 20 3d 3e 20 27 f0 90 90 a6 27 2c 0a 20 20 27 f0 90 91 8f 27 .',...'....'.=>.'....',...'....'
854a0 20 3d 3e 20 27 f0 90 90 a7 27 2c 0a 20 20 27 f0 91 a3 80 27 20 3d 3e 20 27 f0 91 a2 a0 27 2c 0a .=>.'....',...'....'.=>.'....',.
854c0 20 20 27 f0 91 a3 81 27 20 3d 3e 20 27 f0 91 a2 a1 27 2c 0a 20 20 27 f0 91 a3 82 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
854e0 27 f0 91 a2 a2 27 2c 0a 20 20 27 f0 91 a3 83 27 20 3d 3e 20 27 f0 91 a2 a3 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
85500 91 a3 84 27 20 3d 3e 20 27 f0 91 a2 a4 27 2c 0a 20 20 27 f0 91 a3 85 27 20 3d 3e 20 27 f0 91 a2 ...'.=>.'....',...'....'.=>.'...
85520 a5 27 2c 0a 20 20 27 f0 91 a3 86 27 20 3d 3e 20 27 f0 91 a2 a6 27 2c 0a 20 20 27 f0 91 a3 87 27 .',...'....'.=>.'....',...'....'
85540 20 3d 3e 20 27 f0 91 a2 a7 27 2c 0a 20 20 27 f0 91 a3 88 27 20 3d 3e 20 27 f0 91 a2 a8 27 2c 0a .=>.'....',...'....'.=>.'....',.
85560 20 20 27 f0 91 a3 89 27 20 3d 3e 20 27 f0 91 a2 a9 27 2c 0a 20 20 27 f0 91 a3 8a 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
85580 27 f0 91 a2 aa 27 2c 0a 20 20 27 f0 91 a3 8b 27 20 3d 3e 20 27 f0 91 a2 ab 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
855a0 91 a3 8c 27 20 3d 3e 20 27 f0 91 a2 ac 27 2c 0a 20 20 27 f0 91 a3 8d 27 20 3d 3e 20 27 f0 91 a2 ...'.=>.'....',...'....'.=>.'...
855c0 ad 27 2c 0a 20 20 27 f0 91 a3 8e 27 20 3d 3e 20 27 f0 91 a2 ae 27 2c 0a 20 20 27 f0 91 a3 8f 27 .',...'....'.=>.'....',...'....'
855e0 20 3d 3e 20 27 f0 91 a2 af 27 2c 0a 20 20 27 f0 91 a3 90 27 20 3d 3e 20 27 f0 91 a2 b0 27 2c 0a .=>.'....',...'....'.=>.'....',.
85600 20 20 27 f0 91 a3 91 27 20 3d 3e 20 27 f0 91 a2 b1 27 2c 0a 20 20 27 f0 91 a3 92 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
85620 27 f0 91 a2 b2 27 2c 0a 20 20 27 f0 91 a3 93 27 20 3d 3e 20 27 f0 91 a2 b3 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
85640 91 a3 94 27 20 3d 3e 20 27 f0 91 a2 b4 27 2c 0a 20 20 27 f0 91 a3 95 27 20 3d 3e 20 27 f0 91 a2 ...'.=>.'....',...'....'.=>.'...
85660 b5 27 2c 0a 20 20 27 f0 91 a3 96 27 20 3d 3e 20 27 f0 91 a2 b6 27 2c 0a 20 20 27 f0 91 a3 97 27 .',...'....'.=>.'....',...'....'
85680 20 3d 3e 20 27 f0 91 a2 b7 27 2c 0a 20 20 27 f0 91 a3 98 27 20 3d 3e 20 27 f0 91 a2 b8 27 2c 0a .=>.'....',...'....'.=>.'....',.
856a0 20 20 27 f0 91 a3 99 27 20 3d 3e 20 27 f0 91 a2 b9 27 2c 0a 20 20 27 f0 91 a3 9a 27 20 3d 3e 20 ..'....'.=>.'....',...'....'.=>.
856c0 27 f0 91 a2 ba 27 2c 0a 20 20 27 f0 91 a3 9b 27 20 3d 3e 20 27 f0 91 a2 bb 27 2c 0a 20 20 27 f0 '....',...'....'.=>.'....',...'.
856e0 91 a3 9c 27 20 3d 3e 20 27 f0 91 a2 bc 27 2c 0a 20 20 27 f0 91 a3 9d 27 20 3d 3e 20 27 f0 91 a2 ...'.=>.'....',...'....'.=>.'...
85700 bd 27 2c 0a 20 20 27 f0 91 a3 9e 27 20 3d 3e 20 27 f0 91 a2 be 27 2c 0a 20 20 27 f0 91 a3 9f 27 .',...'....'.=>.'....',...'....'
85720 20 3d 3e 20 27 f0 91 a2 bf 27 2c 0a 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 26 20 24 64 61 74 61 .=>.'....',.);..$result.=&.$data
85740 3b 0a 75 6e 73 65 74 28 24 64 61 74 61 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b ;.unset($data);..return.$result;
85760 0a 3c 3f 70 68 70 0a 2f 2a 2a 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f 70 79 72 69 67 .<?php./**..*.@copyright.Copyrig
85780 68 74 20 28 63 29 20 32 30 31 36 20 4d 6f 72 72 69 73 20 4a 6f 62 6b 65 20 3c 68 65 79 40 6d 6f ht.(c).2016.Morris.Jobke.<hey@mo
857a0 72 72 69 73 6a 6f 62 6b 65 2e 64 65 3e 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f 70 79 rrisjobke.de>..*.@copyright.Copy
857c0 72 69 67 68 74 20 28 63 29 20 32 30 31 37 20 4c 75 6b 61 73 20 52 65 73 63 68 6b 65 20 3c 6c 75 right.(c).2017.Lukas.Reschke.<lu
857e0 6b 61 73 40 73 74 61 74 75 73 63 6f 64 65 2e 63 68 3e 0a 20 2a 0a 20 2a 20 40 6c 69 63 65 6e 73 kas@statuscode.ch>..*..*.@licens
85800 65 20 47 4e 55 20 41 47 50 4c 20 76 65 72 73 69 6f 6e 20 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 e.GNU.AGPL.version.3.or.any.late
85820 72 20 76 65 72 73 69 6f 6e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 r.version..*..*.This.program.is.
85840 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 free.software:.you.can.redistrib
85860 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 2a 20 69 74 20 75 6e 64 65 72 ute.it.and/or.modify..*.it.under
85880 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e .the.terms.of.the.GNU.Affero.Gen
858a0 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 0a 20 2a 20 70 75 62 6c 69 73 eral.Public.License.as..*.publis
858c0 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
858e0 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 0a 20 2a 20 ion,.either.version.3.of.the..*.
85900 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 License,.or.(at.your.option).any
85920 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 .later.version...*..*.This.progr
85940 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 am.is.distributed.in.the.hope.th
85960 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 at.it.will.be.useful,..*.but.WIT
85980 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 HOUT.ANY.WARRANTY;.without.even.
859a0 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 the.implied.warranty.of..*.MERCH
859c0 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
859e0 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 ICULAR.PURPOSE...See.the..*.GNU.
85a00 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 73 65 20 66 6f Affero.General.Public.License.fo
85a20 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f 75 20 73 68 6f 75 6c 64 r.more.details...*..*.You.should
85a40 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 .have.received.a.copy.of.the.GNU
85a60 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 73 65 0a 20 .Affero.General.Public.License..
85a80 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e *.along.with.this.program...If.n
85aa0 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 ot,.see.<http://www.gnu.org/lice
85ac0 6e 73 65 73 2f 3e 2e 0a 20 2a 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4e 43 5c 55 70 64 nses/>...*..*/..namespace.NC\Upd
85ae0 61 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 ater;..use.Symfony\Component\Con
85b00 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 6e sole\Command\Command;.use.Symfon
85b20 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
85b40 65 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 essBar;.use.Symfony\Component\Co
85b60 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 20 nsole\Input\InputInterface;.use.
85b80 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 5c Symfony\Component\Console\Input\
85ba0 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 70 6f 6e 65 InputOption;.use.Symfony\Compone
85bc0 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
85be0 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
85c00 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 3b 0a \Question\ConfirmationQuestion;.
85c20 0a 63 6c 61 73 73 20 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d .class.UpdateCommand.extends.Com
85c40 6d 61 6e 64 20 7b 0a 0a 09 2f 2a 2a 20 40 76 61 72 20 55 70 64 61 74 65 72 20 2a 2f 0a 09 70 72 mand.{.../**.@var.Updater.*/..pr
85c60 6f 74 65 63 74 65 64 20 24 75 70 64 61 74 65 72 3b 0a 0a 09 2f 2a 2a 20 40 76 61 72 20 62 6f 6f otected.$updater;.../**.@var.boo
85c80 6c 20 2a 2f 0a 09 70 72 6f 74 65 63 74 65 64 20 24 73 68 6f 75 6c 64 53 74 6f 70 20 3d 20 66 61 l.*/..protected.$shouldStop.=.fa
85ca0 6c 73 65 3b 0a 0a 09 2f 2a 2a 20 40 76 61 72 20 61 72 72 61 79 20 73 74 72 69 6e 67 73 20 6f 66 lse;.../**.@var.array.strings.of
85cc0 20 74 65 78 74 20 66 6f 72 20 73 74 61 67 65 73 20 6f 66 20 75 70 64 61 74 65 72 20 2a 2f 0a 09 .text.for.stages.of.updater.*/..
85ce0 70 72 6f 74 65 63 74 65 64 20 24 63 68 65 63 6b 54 65 78 74 73 20 3d 20 5b 0a 09 09 30 20 3d 3e protected.$checkTexts.=.[...0.=>
85d00 20 27 27 2c 0a 09 09 31 20 3d 3e 20 27 43 68 65 63 6b 20 66 6f 72 20 65 78 70 65 63 74 65 64 20 .'',...1.=>.'Check.for.expected.
85d20 66 69 6c 65 73 27 2c 0a 09 09 32 20 3d 3e 20 27 43 68 65 63 6b 20 66 6f 72 20 77 72 69 74 65 20 files',...2.=>.'Check.for.write.
85d40 70 65 72 6d 69 73 73 69 6f 6e 73 27 2c 0a 09 09 33 20 3d 3e 20 27 43 72 65 61 74 65 20 62 61 63 permissions',...3.=>.'Create.bac
85d60 6b 75 70 27 2c 0a 09 09 34 20 3d 3e 20 27 44 6f 77 6e 6c 6f 61 64 69 6e 67 27 2c 0a 09 09 35 20 kup',...4.=>.'Downloading',...5.
85d80 3d 3e 20 27 56 65 72 69 66 79 20 69 6e 74 65 67 72 69 74 79 27 2c 0a 09 09 36 20 3d 3e 20 27 45 =>.'Verify.integrity',...6.=>.'E
85da0 78 74 72 61 63 74 69 6e 67 27 2c 0a 09 09 37 20 3d 3e 20 27 45 6e 61 62 6c 65 20 6d 61 69 6e 74 xtracting',...7.=>.'Enable.maint
85dc0 65 6e 61 6e 63 65 20 6d 6f 64 65 27 2c 0a 09 09 38 20 3d 3e 20 27 52 65 70 6c 61 63 65 20 65 6e enance.mode',...8.=>.'Replace.en
85de0 74 72 79 20 70 6f 69 6e 74 73 27 2c 0a 09 09 39 20 3d 3e 20 27 44 65 6c 65 74 65 20 6f 6c 64 20 try.points',...9.=>.'Delete.old.
85e00 66 69 6c 65 73 27 2c 0a 09 09 31 30 20 3d 3e 20 27 4d 6f 76 65 20 6e 65 77 20 66 69 6c 65 73 20 files',...10.=>.'Move.new.files.
85e20 69 6e 20 70 6c 61 63 65 27 2c 0a 09 09 31 31 20 3d 3e 20 27 4b 65 65 70 20 6d 61 69 6e 74 65 6e in.place',...11.=>.'Keep.mainten
85e40 61 6e 63 65 20 6d 6f 64 65 20 61 63 74 69 76 65 3f 27 2c 0a 09 09 31 32 20 3d 3e 20 27 44 6f 6e ance.mode.active?',...12.=>.'Don
85e60 65 27 2c 0a 09 5d 3b 0a 0a 09 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e e',..];...protected.function.con
85e80 66 69 67 75 72 65 28 29 20 7b 0a 09 09 24 74 68 69 73 0a 09 09 09 2d 3e 73 65 74 4e 61 6d 65 28 figure().{...$this....->setName(
85ea0 27 75 70 64 61 74 65 27 29 0a 09 09 09 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 55 'update')....->setDescription('U
85ec0 70 64 61 74 65 73 20 74 68 65 20 63 6f 64 65 20 6f 66 20 61 6e 20 4e 65 78 74 63 6c 6f 75 64 20 pdates.the.code.of.an.Nextcloud.
85ee0 69 6e 73 74 61 6e 63 65 27 29 0a 09 09 09 2d 3e 73 65 74 48 65 6c 70 28 22 54 68 69 73 20 63 6f instance')....->setHelp("This.co
85f00 6d 6d 61 6e 64 20 66 65 74 63 68 65 73 20 74 68 65 20 6c 61 74 65 73 74 20 63 6f 64 65 20 74 68 mmand.fetches.the.latest.code.th
85f20 61 74 20 69 73 20 61 6e 6e 6f 75 6e 63 65 64 20 76 69 61 20 74 68 65 20 75 70 64 61 74 65 72 20 at.is.announced.via.the.updater.
85f40 73 65 72 76 65 72 20 61 6e 64 20 73 61 66 65 6c 79 20 72 65 70 6c 61 63 65 73 20 74 68 65 20 65 server.and.safely.replaces.the.e
85f60 78 69 73 74 69 6e 67 20 63 6f 64 65 20 77 69 74 68 20 74 68 65 20 6e 65 77 20 6f 6e 65 2e 22 29 xisting.code.with.the.new.one.")
85f80 3b 0a 09 7d 0a 0a 09 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 ;..}...protected.function.execut
85fa0 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 74 49 e(InputInterface.$input,.OutputI
85fc0 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 20 7b 0a 0a 09 09 69 66 20 28 63 6c 61 73 73 nterface.$output).{....if.(class
85fe0 5f 65 78 69 73 74 73 28 27 4e 43 5c 55 70 64 61 74 65 72 5c 56 65 72 73 69 6f 6e 27 29 29 20 7b _exists('NC\Updater\Version')).{
86000 0a 09 09 09 24 76 65 72 73 69 6f 6e 43 6c 61 73 73 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 28 ....$versionClass.=.new.Version(
86020 29 3b 0a 09 09 09 24 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 43 6c 61 73 73 2d 3e );....$version.=.$versionClass->
86040 67 65 74 28 29 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 24 76 65 72 73 69 6f 6e 20 3d 20 get();...}.else.{....$version.=.
86060 27 64 69 72 65 63 74 6c 79 20 72 75 6e 20 66 72 6f 6d 20 67 69 74 20 63 68 65 63 6b 6f 75 74 27 'directly.run.from.git.checkout'
86080 3b 0a 09 09 7d 0a 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 4e 65 78 74 63 6c ;...}...$output->writeln('Nextcl
860a0 6f 75 64 20 55 70 64 61 74 65 72 20 2d 20 76 65 72 73 69 6f 6e 3a 20 27 20 2e 20 24 76 65 72 73 oud.Updater.-.version:.'...$vers
860c0 69 6f 6e 29 3b 0a 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 09 ion);...$output->writeln('');...
860e0 09 2f 2f 20 43 68 65 63 6b 20 69 66 20 74 68 65 20 63 6f 6e 66 69 67 2e 70 68 70 20 69 73 20 61 .//.Check.if.the.config.php.is.a
86100 74 20 74 68 65 20 65 78 70 65 63 74 65 64 20 70 6c 61 63 65 0a 09 09 74 72 79 20 7b 0a 09 09 09 t.the.expected.place...try.{....
86120 24 70 61 74 68 20 3d 20 64 69 72 6e 61 6d 65 28 5f 5f 44 49 52 5f 5f 29 3b 20 2f 2f 20 64 69 72 $path.=.dirname(__DIR__);.//.dir
86140 6e 61 6d 65 28 29 20 62 65 63 61 75 73 65 20 77 65 20 61 72 65 20 69 6e 73 69 64 65 20 74 68 65 name().because.we.are.inside.the
86160 20 6c 69 62 2f 20 73 75 62 66 6f 6c 64 65 72 0a 09 09 09 24 70 68 61 72 50 61 74 68 20 3d 20 5c .lib/.subfolder....$pharPath.=.\
86180 50 68 61 72 3a 3a 72 75 6e 6e 69 6e 67 28 66 61 6c 73 65 29 3b 0a 09 09 09 69 66 20 28 24 70 68 Phar::running(false);....if.($ph
861a0 61 72 50 61 74 68 20 21 3d 3d 20 27 27 29 20 7b 0a 09 09 09 09 24 70 61 74 68 20 3d 20 64 69 72 arPath.!==.'').{.....$path.=.dir
861c0 6e 61 6d 65 28 24 70 68 61 72 50 61 74 68 29 3b 0a 09 09 09 7d 0a 09 09 09 24 74 68 69 73 2d 3e name($pharPath);....}....$this->
861e0 75 70 64 61 74 65 72 20 3d 20 6e 65 77 20 55 70 64 61 74 65 72 28 24 70 61 74 68 29 3b 0a 09 09 updater.=.new.Updater($path);...
86200 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 09 09 09 2f 2f 20 }.catch.(\Exception.$e).{....//.
86220 6c 6f 67 67 69 6e 67 20 68 65 72 65 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 62 65 63 logging.here.is.not.possible.bec
86240 61 75 73 65 20 77 65 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 74 68 65 20 64 61 74 61 20 64 69 72 65 ause.we.don't.know.the.data.dire
86260 63 74 6f 72 79 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 65 2d 3e 67 65 ctory....$output->writeln($e->ge
86280 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 09 09 7d 0a 0a tMessage());....return.-1;...}..
862a0 09 09 69 66 20 28 21 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 ..if.(!function_exists('posix_ge
862c0 74 75 69 64 27 29 29 20 7b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 54 tuid')).{....$output->writeln("T
862e0 68 65 20 70 6f 73 69 78 20 65 78 74 65 6e 73 69 6f 6e 73 20 61 72 65 20 72 65 71 75 69 72 65 64 he.posix.extensions.are.required
86300 20 2d 20 73 65 65 20 68 74 74 70 3a 2f 2f 70 68 70 2e 6e 65 74 2f 6d 61 6e 75 61 6c 2f 65 6e 2f .-.see.http://php.net/manual/en/
86320 62 6f 6f 6b 2e 70 6f 73 69 78 2e 70 68 70 22 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a book.posix.php");....return.-1;.
86340 09 09 7d 0a 0a 09 09 69 66 28 24 64 69 72 20 3d 20 67 65 74 65 6e 76 28 27 4e 45 58 54 43 4c 4f ..}....if($dir.=.getenv('NEXTCLO
86360 55 44 5f 43 4f 4e 46 49 47 5f 44 49 52 27 29 29 20 7b 0a 09 09 09 24 63 6f 6e 66 69 67 46 69 6c UD_CONFIG_DIR')).{....$configFil
86380 65 4e 61 6d 65 20 3d 20 72 74 72 69 6d 28 24 64 69 72 2c 20 27 2f 27 29 20 2e 20 27 2f 63 6f 6e eName.=.rtrim($dir,.'/')...'/con
863a0 66 69 67 2e 70 68 70 27 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 24 63 6f 6e 66 69 67 46 fig.php';...}.else.{....$configF
863c0 69 6c 65 4e 61 6d 65 20 3d 20 24 70 61 74 68 20 2e 20 27 2f 2e 2e 2f 63 6f 6e 66 69 67 2f 63 6f ileName.=.$path...'/../config/co
863e0 6e 66 69 67 2e 70 68 70 27 3b 0a 09 09 7d 0a 09 09 24 75 73 65 72 20 3d 20 70 6f 73 69 78 5f 67 nfig.php';...}...$user.=.posix_g
86400 65 74 70 77 75 69 64 28 70 6f 73 69 78 5f 67 65 74 75 69 64 28 29 29 3b 0a 09 09 24 63 6f 6e 66 etpwuid(posix_getuid());...$conf
86420 69 67 55 73 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 6e 65 igUser.=.posix_getpwuid(fileowne
86440 72 28 24 63 6f 6e 66 69 67 46 69 6c 65 4e 61 6d 65 29 29 3b 0a 09 09 69 66 20 28 24 75 73 65 72 r($configFileName));...if.($user
86460 5b 27 6e 61 6d 65 27 5d 20 21 3d 3d 20 24 63 6f 6e 66 69 67 55 73 65 72 5b 27 6e 61 6d 65 27 5d ['name'].!==.$configUser['name']
86480 29 20 7b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 43 6f 6e 73 6f 6c 65 ).{....$output->writeln("Console
864a0 20 68 61 73 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 20 77 69 74 68 20 74 68 65 20 75 73 65 .has.to.be.executed.with.the.use
864c0 72 20 74 68 61 74 20 6f 77 6e 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 66 69 67 2f 63 6f 6e 66 r.that.owns.the.file.config/conf
864e0 69 67 2e 70 68 70 22 29 3b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 43 ig.php");....$output->writeln("C
86500 75 72 72 65 6e 74 20 75 73 65 72 3a 20 22 20 2e 20 24 75 73 65 72 5b 27 6e 61 6d 65 27 5d 29 3b urrent.user:."...$user['name']);
86520 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 4f 77 6e 65 72 20 6f 66 20 63 ....$output->writeln("Owner.of.c
86540 6f 6e 66 69 67 2e 70 68 70 3a 20 22 20 2e 20 24 63 6f 6e 66 69 67 55 73 65 72 5b 27 6e 61 6d 65 onfig.php:."...$configUser['name
86560 27 5d 29 3b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 54 72 79 20 61 64 ']);....$output->writeln("Try.ad
86580 64 69 6e 67 20 27 73 75 64 6f 20 2d 75 20 22 20 2e 20 24 63 6f 6e 66 69 67 55 73 65 72 5b 27 6e ding.'sudo.-u."...$configUser['n
865a0 61 6d 65 27 5d 20 2e 20 22 20 27 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 ame']...".'.to.the.beginning.of.
865c0 74 68 65 20 63 6f 6d 6d 61 6e 64 20 28 77 69 74 68 6f 75 74 20 74 68 65 20 73 69 6e 67 6c 65 20 the.command.(without.the.single.
865e0 71 75 6f 74 65 73 29 22 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 09 09 7d 0a 0a 09 09 quotes)");....return.-1;...}....
86600 2f 2f 20 43 68 65 63 6b 20 69 66 20 74 68 65 20 75 70 64 61 74 65 72 2e 6c 6f 67 20 63 61 6e 20 //.Check.if.the.updater.log.can.
86620 62 65 20 77 72 69 74 74 65 6e 20 74 6f 0a 09 09 74 72 79 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e be.written.to...try.{....$this->
86640 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 70 64 61 74 65 72 20 63 6c 69 updater->log('[info].updater.cli
86660 20 69 73 20 65 78 65 63 75 74 65 64 27 29 3b 0a 09 09 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 .is.executed');...}.catch.(\Exce
86680 70 74 69 6f 6e 20 24 65 29 20 7b 0a 09 09 09 2f 2f 20 73 68 6f 77 20 6c 6f 67 67 69 6e 67 20 65 ption.$e).{....//.show.logging.e
866a0 72 72 6f 72 20 74 6f 20 75 73 65 72 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e rror.to.user....$output->writeln
866c0 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 2d 31 ($e->getMessage());....return.-1
866e0 3b 0a 09 09 7d 0a 0a 09 09 2f 2f 20 43 68 65 63 6b 20 69 66 20 61 6c 72 65 61 64 79 20 61 20 73 ;...}....//.Check.if.already.a.s
86700 74 65 70 20 69 73 20 69 6e 20 70 72 6f 63 65 73 73 0a 09 09 24 63 75 72 72 65 6e 74 53 74 65 70 tep.is.in.process...$currentStep
86720 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 63 75 72 72 65 6e 74 53 74 65 70 28 29 .=.$this->updater->currentStep()
86740 3b 0a 09 09 24 73 74 65 70 4e 75 6d 62 65 72 20 3d 20 30 3b 0a 09 09 69 66 28 24 63 75 72 72 65 ;...$stepNumber.=.0;...if($curre
86760 6e 74 53 74 65 70 20 21 3d 3d 20 5b 5d 29 20 7b 0a 09 09 09 24 73 74 65 70 53 74 61 74 65 20 3d ntStep.!==.[]).{....$stepState.=
86780 20 24 63 75 72 72 65 6e 74 53 74 65 70 5b 27 73 74 61 74 65 27 5d 3b 0a 09 09 09 24 73 74 65 70 .$currentStep['state'];....$step
867a0 4e 75 6d 62 65 72 20 3d 20 24 63 75 72 72 65 6e 74 53 74 65 70 5b 27 73 74 65 70 27 5d 3b 0a 09 Number.=.$currentStep['step'];..
867c0 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 53 74 ..$this->updater->log('[info].St
867e0 65 70 20 27 20 2e 20 24 73 74 65 70 4e 75 6d 62 65 72 20 2e 20 27 20 69 73 20 69 6e 20 73 74 61 ep.'...$stepNumber...'.is.in.sta
86800 74 65 20 22 27 20 2e 20 24 73 74 65 70 53 74 61 74 65 20 2e 20 27 22 2e 27 29 3b 0a 0a 09 09 09 te."'...$stepState...'".');.....
86820 69 66 28 24 73 74 65 70 53 74 61 74 65 20 3d 3d 3d 20 27 73 74 61 72 74 27 29 20 7b 0a 09 09 09 if($stepState.===.'start').{....
86840 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 0a 09 09 09 09 09 73 70 72 69 6e 74 66 28 .$output->writeln(......sprintf(
86860 0a 09 09 09 09 09 09 27 53 74 65 70 20 25 73 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 .......'Step.%s.is.currently.in.
86880 70 72 6f 63 65 73 73 2e 20 50 6c 65 61 73 65 20 63 61 6c 6c 20 74 68 69 73 20 63 6f 6d 6d 61 6e process..Please.call.this.comman
868a0 64 20 6c 61 74 65 72 2e 27 2c 0a 09 09 09 09 09 09 24 73 74 65 70 4e 75 6d 62 65 72 0a 09 09 09 d.later.',.......$stepNumber....
868c0 09 09 29 0a 09 09 09 09 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 0a 09 09 09 7d 0a 09 ..).....);.....return.-1;....}..
868e0 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 56 65 72 73 69 6f 6e .}....$this->updater->logVersion
86900 28 29 3b 0a 0a 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 43 75 72 72 65 6e 74 ();....$output->writeln('Current
86920 20 76 65 72 73 69 6f 6e 20 69 73 20 27 20 2e 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e .version.is.'...$this->updater->
86940 67 65 74 43 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 2e 27 29 3b 0a 0a 09 09 2f getCurrentVersion()...'.');..../
86960 2f 20 6e 65 65 64 73 20 74 6f 20 62 65 20 63 61 6c 6c 65 64 20 74 68 61 74 20 65 61 72 6c 79 20 /.needs.to.be.called.that.early.
86980 62 65 63 61 75 73 65 20 6f 74 68 65 72 77 69 73 65 20 75 70 64 61 74 65 41 76 61 69 6c 61 62 6c because.otherwise.updateAvailabl
869a0 65 28 29 20 72 65 74 75 72 6e 73 20 66 61 6c 73 65 0a 09 09 24 75 70 64 61 74 65 53 74 72 69 6e e().returns.false...$updateStrin
869c0 67 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 63 68 65 63 6b 46 6f 72 55 70 64 61 g.=.$this->updater->checkForUpda
869e0 74 65 28 29 3b 0a 0a 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a te();....$output->writeln('');..
86a00 09 09 24 6c 69 6e 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3c 62 72 20 2f 3e 27 2c 20 24 75 70 ..$lines.=.explode('<br./>',.$up
86a20 64 61 74 65 53 74 72 69 6e 67 29 3b 0a 0a 09 09 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 dateString);....foreach.($lines.
86a40 61 73 20 24 6c 69 6e 65 29 20 7b 0a 09 09 09 2f 2f 20 73 74 72 69 70 20 48 54 4d 4c 0a 09 09 09 as.$line).{....//.strip.HTML....
86a60 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 70 72 65 67 $output->writeln('<info>'...preg
86a80 5f 72 65 70 6c 61 63 65 28 27 2f 3c 5b 5e 3e 5d 2a 3e 2f 27 2c 20 27 27 2c 20 24 6c 69 6e 65 29 _replace('/<[^>]*>/',.'',.$line)
86aa0 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 09 09 7d 0a 0a 09 09 24 6f 75 74 70 75 74 2d 3e 77 ...'</info>');...}....$output->w
86ac0 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 09 09 69 66 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 riteln('');....if(!$this->update
86ae0 72 2d 3e 75 70 64 61 74 65 41 76 61 69 6c 61 62 6c 65 28 29 20 26 26 20 24 73 74 65 70 4e 75 6d r->updateAvailable().&&.$stepNum
86b00 62 65 72 20 3d 3d 3d 20 30 29 20 7b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e ber.===.0).{....$output->writeln
86b20 28 27 4e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 2e 27 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 30 3b ('Nothing.to.do.');....return.0;
86b40 0a 09 09 7d 0a 0a 09 09 24 71 75 65 73 74 69 6f 6e 54 65 78 74 20 3d 20 27 53 74 61 72 74 20 75 ...}....$questionText.=.'Start.u
86b60 70 64 61 74 65 27 3b 0a 09 09 69 66 20 28 24 73 74 65 70 4e 75 6d 62 65 72 20 3e 20 30 29 20 7b pdate';...if.($stepNumber.>.0).{
86b80 0a 09 09 09 24 71 75 65 73 74 69 6f 6e 54 65 78 74 20 3d 20 27 43 6f 6e 74 69 6e 75 65 20 75 70 ....$questionText.=.'Continue.up
86ba0 64 61 74 65 27 3b 0a 09 09 7d 0a 0a 09 09 69 66 20 28 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 date';...}....if.($input->isInte
86bc0 72 61 63 74 69 76 65 28 29 29 20 7b 0a 0a 09 09 09 24 74 68 69 73 2d 3e 73 68 6f 77 43 75 72 72 ractive()).{.....$this->showCurr
86be0 65 6e 74 53 74 61 74 75 73 28 24 6f 75 74 70 75 74 2c 20 24 73 74 65 70 4e 75 6d 62 65 72 29 3b entStatus($output,.$stepNumber);
86c00 0a 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 09 09 09 24 .....$output->writeln('');.....$
86c20 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 28 27 71 75 65 73 74 helper.=.$this->getHelper('quest
86c40 69 6f 6e 27 29 3b 0a 09 09 09 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 66 69 72 ion');....$question.=.new.Confir
86c60 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 54 65 78 74 20 2e 20 27 mationQuestion($questionText...'
86c80 3f 20 5b 79 2f 4e 5d 20 27 2c 20 66 61 6c 73 65 29 3b 0a 0a 09 09 09 69 66 20 28 21 24 68 65 6c ?.[y/N].',.false);.....if.(!$hel
86ca0 70 65 72 2d 3e 61 73 6b 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 per->ask($input,.$output,.$quest
86cc0 69 6f 6e 29 29 20 7b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 55 70 ion)).{.....$output->writeln('Up
86ce0 64 61 74 65 72 20 73 74 6f 70 70 65 64 2e 27 29 3b 0a 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 dater.stopped.');.....$this->upd
86d00 61 74 65 72 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 70 64 61 74 65 72 20 73 74 6f 70 70 65 ater->log('[info].updater.stoppe
86d20 64 27 29 3b 0a 09 09 09 09 72 65 74 75 72 6e 20 30 3b 0a 09 09 09 7d 0a 09 09 7d 20 65 6c 73 65 d');.....return.0;....}...}.else
86d40 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f .{....$this->updater->log('[info
86d60 5d 20 75 70 64 61 74 65 72 20 72 75 6e 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 ].updater.run.in.non-interactive
86d80 20 6d 6f 64 65 27 29 3b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 55 70 .mode');....$output->writeln('Up
86da0 64 61 74 65 72 20 72 75 6e 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 dater.run.in.non-interactive.mod
86dc0 65 2e 27 29 3b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 09 e.');....$output->writeln('');..
86de0 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 71 75 65 73 74 69 6f 6e 54 65 78 74 ..$output->writeln($questionText
86e00 29 3b 0a 09 09 7d 0a 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 27 5b 69 );...}...$this->updater->log('[i
86e20 6e 66 6f 5d 20 75 70 64 61 74 65 72 20 73 74 61 72 74 65 64 27 29 3b 0a 0a 09 09 24 6f 75 74 70 nfo].updater.started');....$outp
86e40 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 09 09 69 66 28 66 75 6e 63 74 69 6f 6e 5f ut->writeln('');....if(function_
86e60 65 78 69 73 74 73 28 27 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 27 29 29 20 7b 0a 09 09 09 2f 2f 20 exists('pcntl_signal')).{....//.
86e80 62 65 69 6e 67 20 61 62 6c 65 20 74 6f 20 68 61 6e 64 6c 65 20 73 74 6f 70 2f 74 65 72 6d 69 6e being.able.to.handle.stop/termin
86ea0 61 74 65 20 63 6f 6d 6d 61 6e 64 20 28 43 74 72 6c 20 2d 20 43 29 0a 09 09 09 70 63 6e 74 6c 5f ate.command.(Ctrl.-.C)....pcntl_
86ec0 73 69 67 6e 61 6c 28 53 49 47 54 45 52 4d 2c 20 5b 24 74 68 69 73 2c 20 27 73 74 6f 70 43 6f 6d signal(SIGTERM,.[$this,.'stopCom
86ee0 6d 61 6e 64 27 5d 29 3b 0a 09 09 09 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c mand']);....pcntl_signal(SIGINT,
86f00 20 5b 24 74 68 69 73 2c 20 27 73 74 6f 70 43 6f 6d 6d 61 6e 64 27 5d 29 3b 0a 0a 09 09 09 24 6f .[$this,.'stopCommand']);.....$o
86f20 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 49 6e 66 6f 3a 20 50 72 65 73 73 69 6e 67 20 43 utput->writeln('Info:.Pressing.C
86f40 74 72 6c 2d 43 20 77 69 6c 6c 20 66 69 6e 69 73 68 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 trl-C.will.finish.the.currently.
86f60 72 75 6e 6e 69 6e 67 20 73 74 65 70 20 61 6e 64 20 74 68 65 6e 20 73 74 6f 70 73 20 74 68 65 20 running.step.and.then.stops.the.
86f80 75 70 64 61 74 65 72 2e 27 29 3b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 updater.');....$output->writeln(
86fa0 27 27 29 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 '');...}.else.{....$output->writ
86fc0 65 6c 6e 28 27 49 6e 66 6f 3a 20 47 72 61 63 65 66 75 6c 6c 79 20 73 74 6f 70 70 69 6e 67 20 74 eln('Info:.Gracefully.stopping.t
86fe0 68 65 20 75 70 64 61 74 65 72 20 76 69 61 20 43 74 72 6c 2d 43 20 69 73 20 6e 6f 74 20 70 6f 73 he.updater.via.Ctrl-C.is.not.pos
87000 73 69 62 6c 65 20 2d 20 50 43 4e 54 4c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 20 6c sible.-.PCNTL.extension.is.not.l
87020 6f 61 64 65 64 2e 27 29 3b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 oaded.');....$output->writeln(''
87040 29 3b 0a 09 09 7d 0a 0a 09 09 2f 2f 20 70 72 69 6e 74 20 61 6c 72 65 61 64 79 20 65 78 65 63 75 );...}....//.print.already.execu
87060 74 65 64 20 73 74 65 70 73 0a 09 09 66 6f 72 28 24 69 20 3d 20 31 3b 20 24 69 20 3c 3d 20 24 73 ted.steps...for($i.=.1;.$i.<=.$s
87080 74 65 70 4e 75 6d 62 65 72 3b 20 24 69 2b 2b 29 20 7b 0a 09 09 09 69 66 20 28 24 69 20 3d 3d 3d tepNumber;.$i++).{....if.($i.===
870a0 20 31 31 29 20 7b 0a 09 09 09 09 2f 2f 20 6e 6f 20 6e 65 65 64 20 74 6f 20 61 73 6b 20 66 6f 72 .11).{.....//.no.need.to.ask.for
870c0 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 6f 6e 20 43 4c 49 20 2d 20 73 6b 69 70 20 .maintenance.mode.on.CLI.-.skip.
870e0 69 74 0a 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 7d 0a 09 09 09 24 6f 75 74 70 75 74 it.....continue;....}....$output
87100 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 5b e2 9c 94 5d 20 27 20 2e 20 24 74 68 69 73 ->writeln('<info>[...].'...$this
87120 2d 3e 63 68 65 63 6b 54 65 78 74 73 5b 24 69 5d 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 09 ->checkTexts[$i]...'</info>');..
87140 09 7d 0a 0a 09 09 24 69 20 3d 20 24 73 74 65 70 4e 75 6d 62 65 72 3b 0a 09 09 77 68 69 6c 65 20 .}....$i.=.$stepNumber;...while.
87160 28 24 69 20 3c 20 31 32 29 20 7b 0a 09 09 09 24 69 2b 2b 3b 0a 0a 09 09 09 69 66 20 28 24 69 20 ($i.<.12).{....$i++;.....if.($i.
87180 3d 3d 3d 20 31 31 29 20 7b 0a 09 09 09 09 2f 2f 20 6e 6f 20 6e 65 65 64 20 74 6f 20 61 73 6b 20 ===.11).{.....//.no.need.to.ask.
871a0 66 6f 72 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 6f 6e 20 43 4c 49 20 2d 20 73 6b for.maintenance.mode.on.CLI.-.sk
871c0 69 70 20 69 74 0a 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 7d 0a 0a 09 09 09 69 66 20 ip.it.....continue;....}.....if.
871e0 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 5f 64 (function_exists('pcntl_signal_d
87200 69 73 70 61 74 63 68 27 29 29 20 7b 0a 09 09 09 09 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 5f 64 69 ispatch')).{.....pcntl_signal_di
87220 73 70 61 74 63 68 28 29 3b 0a 09 09 09 09 69 66 20 28 20 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 spatch();.....if.(.$this->should
87240 53 74 6f 70 20 29 20 7b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a Stop.).{......break;.....}....}.
87260 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 5b 20 5d 20 27 20 2e 20 24 74 68 69 ....$output->write('[.].'...$thi
87280 73 2d 3e 63 68 65 63 6b 54 65 78 74 73 5b 24 69 5d 20 2e 20 27 20 2e 2e 2e 27 29 3b 0a 0a 09 09 s->checkTexts[$i]...'....');....
872a0 09 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 53 74 65 70 28 24 69 .$result.=.$this->executeStep($i
872c0 29 3b 0a 0a 09 09 09 2f 2f 20 4d 6f 76 65 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f 20 74 68 65 );.....//.Move.the.cursor.to.the
872e0 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69 6e 65 0a 09 09 09 24 6f 75 74 70 75 .beginning.of.the.line....$outpu
87300 74 2d 3e 77 72 69 74 65 28 22 5c 78 30 44 22 29 3b 0a 0a 09 09 09 2f 2f 20 45 72 61 73 65 20 74 t->write("\x0D");.....//.Erase.t
87320 68 65 20 6c 69 6e 65 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 31 42 5b he.line....$output->write("\x1B[
87340 32 4b 22 29 3b 0a 0a 09 09 09 69 66 20 28 24 72 65 73 75 6c 74 5b 27 70 72 6f 63 65 65 64 27 5d 2K");.....if.($result['proceed']
87360 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c .===.true).{.....$output->writel
87380 6e 28 27 3c 69 6e 66 6f 3e 5b e2 9c 94 5d 20 27 20 2e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 n('<info>[...].'...$this->checkT
873a0 65 78 74 73 5b 24 69 5d 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 09 09 09 7d 20 65 6c 73 65 exts[$i]...'</info>');....}.else
873c0 20 7b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e .{.....$output->writeln('<error>
873e0 5b e2 9c 98 5d 20 27 20 2e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 65 78 74 73 5b 24 69 5d 20 [...].'...$this->checkTexts[$i].
87400 2e 20 27 20 66 61 69 6c 65 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 09 09 09 09 69 66 20 28 24 ..'.failed</error>');......if.($
87420 69 20 3d 3d 3d 20 31 29 20 7b 0a 09 09 09 09 09 69 66 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 i.===.1).{......if(is_string($re
87440 73 75 6c 74 5b 27 72 65 73 70 6f 6e 73 65 27 5d 29 29 20 7b 0a 09 09 09 09 09 09 24 6f 75 74 70 sult['response'])).{.......$outp
87460 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 72 65 73 75 6c 74 5b ut->writeln('<error>'...$result[
87480 27 72 65 73 70 6f 6e 73 65 27 5d 20 2e 20 27 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 09 09 09 09 09 'response']...'</error>');......
874a0 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 }.else.{.......$output->writeln(
874c0 27 3c 65 72 72 6f 72 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 74 72 61 20 66 69 6c 65 '<error>The.following.extra.file
874e0 73 20 68 61 76 65 20 62 65 65 6e 20 66 6f 75 6e 64 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 09 09 s.have.been.found:</error>');...
87500 09 09 09 09 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 5b 27 72 65 73 70 6f 6e 73 65 27 5d ....foreach.($result['response']
87520 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 09 09 09 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 .as.$file).{........$output->wri
87540 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 20 20 20 20 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 3c 2f teln('<error>....'...$file...'</
87560 65 72 72 6f 72 3e 27 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 7d 0a 09 09 09 09 7d 20 65 error>');.......}......}.....}.e
87580 6c 73 65 69 66 20 28 24 69 20 3d 3d 3d 20 32 29 20 7b 0a 09 09 09 09 09 69 66 28 69 73 5f 73 74 lseif.($i.===.2).{......if(is_st
875a0 72 69 6e 67 28 24 72 65 73 75 6c 74 5b 27 72 65 73 70 6f 6e 73 65 27 5d 29 29 20 7b 0a 09 09 09 ring($result['response'])).{....
875c0 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 ...$output->writeln('<error>'...
875e0 24 72 65 73 75 6c 74 5b 27 72 65 73 70 6f 6e 73 65 27 5d 20 2e 20 27 3c 2f 65 72 72 6f 72 3e 27 $result['response']...'</error>'
87600 29 3b 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 09 24 6f 75 74 70 75 74 2d 3e );......}.else.{.......$output->
87620 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 6c writeln('<error>The.following.pl
87640 61 63 65 73 20 63 61 6e 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 3a 3c 2f 65 72 72 aces.can.not.be.written.to:</err
87660 6f 72 3e 27 29 3b 0a 09 09 09 09 09 09 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 5b 27 72 or>');.......foreach.($result['r
87680 65 73 70 6f 6e 73 65 27 5d 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 09 09 09 09 09 09 09 24 6f 75 esponse'].as.$file).{........$ou
876a0 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 20 20 20 20 27 20 2e 20 24 66 tput->writeln('<error>....'...$f
876c0 69 6c 65 20 2e 20 27 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 09 09 09 09 09 09 7d 0a 09 09 09 09 09 ile...'</error>');.......}......
876e0 7d 0a 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 69 66 20 28 69 73 5f 73 74 72 69 6e }.....}.else.{......if.(is_strin
87700 67 28 24 72 65 73 75 6c 74 5b 27 72 65 73 70 6f 6e 73 65 27 5d 29 29 20 7b 0a 09 09 09 09 09 09 g($result['response'])).{.......
87720 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 72 65 $output->writeln('<error>'...$re
87740 73 75 6c 74 5b 27 72 65 73 70 6f 6e 73 65 27 5d 20 2e 20 20 27 3c 2f 65 72 72 6f 72 3e 27 29 3b sult['response']....'</error>');
87760 0a 09 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 ......}.else.{.......$output->wr
87780 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 53 6f 6d 65 74 68 69 6e 67 20 68 61 73 20 67 6f 6e 65 iteln('<error>Something.has.gone
877a0 20 77 72 6f 6e 67 2e 20 50 6c 65 61 73 65 20 63 68 65 63 6b 20 74 68 65 20 6c 6f 67 20 66 69 6c .wrong..Please.check.the.log.fil
877c0 65 20 69 6e 20 74 68 65 20 64 61 74 61 20 64 69 72 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 09 09 e.in.the.data.dir.</error>');...
877e0 09 09 09 7d 0a 09 09 09 09 7d 0a 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 0a ...}.....}.....break;....}...}..
87800 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 09 09 69 66 20 28 24 69 ..$output->writeln('');...if.($i
87820 20 3d 3d 3d 20 31 32 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f .===.12).{....$this->updater->lo
87840 67 28 27 5b 69 6e 66 6f 5d 20 75 70 64 61 74 65 20 6f 66 20 63 6f 64 65 20 73 75 63 63 65 73 73 g('[info].update.of.code.success
87860 66 75 6c 2e 27 29 3b 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 55 70 64 ful.');....$output->writeln('Upd
87880 61 74 65 20 6f 66 20 63 6f 64 65 20 73 75 63 63 65 73 73 66 75 6c 2e 27 29 3b 0a 0a 09 09 09 69 ate.of.code.successful.');.....i
878a0 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 0a 0a 09 f.($input->isInteractive()).{...
878c0 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 09 09 09 09 24 68 ...$output->writeln('');......$h
878e0 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 28 27 71 75 65 73 74 69 elper.=.$this->getHelper('questi
87900 6f 6e 27 29 3b 0a 09 09 09 09 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 66 69 72 on');.....$question.=.new.Confir
87920 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 28 27 53 68 6f 75 6c 64 20 74 68 65 20 22 6f 63 63 20 mationQuestion('Should.the."occ.
87940 75 70 67 72 61 64 65 22 20 63 6f 6d 6d 61 6e 64 20 62 65 20 65 78 65 63 75 74 65 64 3f 20 5b 59 upgrade".command.be.executed?.[Y
87960 2f 6e 5d 20 27 2c 20 74 72 75 65 29 3b 0a 0a 09 09 09 09 69 66 20 28 21 24 68 65 6c 70 65 72 2d /n].',.true);......if.(!$helper-
87980 3e 61 73 6b 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 >ask($input,.$output,.$question)
879a0 29 20 7b 0a 09 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 50 6c 65 61 73 ).{......$output->writeln('Pleas
879c0 65 20 6e 6f 77 20 65 78 65 63 75 74 65 20 22 2e 2f 6f 63 63 20 75 70 67 72 61 64 65 22 20 74 6f e.now.execute."./occ.upgrade".to
879e0 20 66 69 6e 69 73 68 20 74 68 65 20 75 70 67 72 61 64 65 2e 27 29 3b 0a 09 09 09 09 09 24 74 68 .finish.the.upgrade.');......$th
87a00 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 70 64 61 74 65 72 is->updater->log('[info].updater
87a20 20 66 69 6e 69 73 68 65 64 27 29 3b 0a 09 09 09 09 09 72 65 74 75 72 6e 20 30 3b 0a 09 09 09 09 .finished');......return.0;.....
87a40 7d 0a 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 }....}.else.{.....$this->updater
87a60 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 70 64 61 74 65 72 20 72 75 6e 20 69 6e 20 6e 6f 6e ->log('[info].updater.run.in.non
87a80 2d 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 20 2d 20 6f 63 63 20 75 70 67 72 61 64 65 20 -interactive.mode.-.occ.upgrade.
87aa0 69 73 20 73 74 61 72 74 65 64 27 29 3b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 is.started');.....$output->write
87ac0 6c 6e 28 27 55 70 64 61 74 65 72 20 72 75 6e 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 ln('Updater.run.in.non-interacti
87ae0 76 65 20 6d 6f 64 65 20 2d 20 77 69 6c 6c 20 73 74 61 72 74 20 22 6f 63 63 20 75 70 67 72 61 64 ve.mode.-.will.start."occ.upgrad
87b00 65 22 20 6e 6f 77 2e 27 29 3b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 e".now.');.....$output->writeln(
87b20 27 27 29 3b 0a 09 09 09 7d 0a 0a 09 09 09 63 68 64 69 72 28 24 70 61 74 68 20 2e 20 27 2f 2e 2e '');....}.....chdir($path...'/..
87b40 27 29 3b 0a 09 09 09 63 68 6d 6f 64 28 27 6f 63 63 27 2c 20 30 37 35 35 29 3b 20 23 20 54 4f 44 ');....chmod('occ',.0755);.#.TOD
87b60 4f 20 64 6f 20 74 68 69 73 20 69 6e 20 74 68 65 20 75 70 64 61 74 65 72 0a 09 09 09 73 79 73 74 O.do.this.in.the.updater....syst
87b80 65 6d 28 27 2e 2f 6f 63 63 20 75 70 67 72 61 64 65 20 2d 76 27 2c 20 24 72 65 74 75 72 6e 56 61 em('./occ.upgrade.-v',.$returnVa
87ba0 6c 75 65 29 3b 0a 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a lue);.....$output->writeln('');.
87bc0 09 09 09 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 ...if.($input->isInteractive()).
87be0 7b 0a 0a 09 09 09 09 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 {......$helper.=.$this->getHelpe
87c00 72 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 09 09 09 09 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e r('question');.....$question.=.n
87c20 65 77 20 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 28 24 74 68 69 73 2d 3e 63 ew.ConfirmationQuestion($this->c
87c40 68 65 63 6b 54 65 78 74 73 5b 31 31 5d 20 2e 20 27 20 5b 79 2f 4e 5d 20 27 2c 20 66 61 6c 73 65 heckTexts[11]...'.[y/N].',.false
87c60 29 3b 0a 0a 09 09 09 09 69 66 20 28 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 69 6e 70 75 74 2c );......if.($helper->ask($input,
87c80 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 29 20 7b 0a 09 09 09 09 09 24 6f 75 .$output,.$question)).{......$ou
87ca0 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 4d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 tput->writeln('Maintenance.mode.
87cc0 6b 65 70 74 20 61 63 74 69 76 65 27 29 3b 0a 09 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 kept.active');......$this->updat
87ce0 65 72 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 70 64 61 74 65 72 20 66 69 6e 69 73 68 65 64 er->log('[info].updater.finished
87d00 20 2d 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 6b 65 70 74 20 61 63 74 69 76 65 27 .-.maintenance.mode.kept.active'
87d20 29 3b 0a 09 09 09 09 09 72 65 74 75 72 6e 20 24 72 65 74 75 72 6e 56 61 6c 75 65 3b 0a 09 09 09 );......return.$returnValue;....
87d40 09 7d 0a 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 .}....}.else.{.....$this->update
87d60 72 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 70 64 61 74 65 72 20 72 75 6e 20 69 6e 20 6e 6f r->log('[info].updater.run.in.no
87d80 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 20 2d 20 64 69 73 61 62 6c 69 6e 67 20 6d n-interactive.mode.-.disabling.m
87da0 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 27 29 3b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e aintenance.mode');.....$output->
87dc0 77 72 69 74 65 6c 6e 28 27 55 70 64 61 74 65 72 20 72 75 6e 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 writeln('Updater.run.in.non-inte
87de0 72 61 63 74 69 76 65 20 6d 6f 64 65 20 2d 20 77 69 6c 6c 20 64 69 73 61 62 6c 65 20 6d 61 69 6e ractive.mode.-.will.disable.main
87e00 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 6e 6f 77 2e 27 29 3b 0a 09 09 09 7d 0a 0a 09 09 09 74 72 tenance.mode.now.');....}.....tr
87e20 79 20 7b 0a 09 09 09 09 73 79 73 74 65 6d 28 27 2e 2f 6f 63 63 20 6d 61 69 6e 74 65 6e 61 6e 63 y.{.....system('./occ.maintenanc
87e40 65 3a 6d 6f 64 65 20 2d 2d 6f 66 66 27 2c 20 24 72 65 74 75 72 6e 56 61 6c 75 65 4d 61 69 6e 74 e:mode.--off',.$returnValueMaint
87e60 65 6e 61 6e 63 65 4d 6f 64 65 29 3b 0a 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d enanceMode);.....$this->updater-
87e80 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 69 73 >log('[info].maintenance.mode.is
87ea0 20 64 69 73 61 62 6c 65 64 20 2d 20 72 65 74 75 72 6e 20 63 6f 64 65 3a 20 27 20 2e 20 24 72 65 .disabled.-.return.code:.'...$re
87ec0 74 75 72 6e 56 61 6c 75 65 4d 61 69 6e 74 65 6e 61 6e 63 65 4d 6f 64 65 29 3b 0a 09 09 09 09 24 turnValueMaintenanceMode);.....$
87ee0 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 09 09 09 09 24 6f 75 74 70 75 74 output->writeln('');.....$output
87f00 2d 3e 77 72 69 74 65 6c 6e 28 27 4d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 69 73 20 64 ->writeln('Maintenance.mode.is.d
87f20 69 73 61 62 6c 65 64 27 29 3b 0a 09 09 09 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f isabled');....}.catch.(\Exceptio
87f40 6e 20 24 65 29 20 7b 0a 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 n.$e).{.....$this->updater->log(
87f60 27 5b 69 6e 66 6f 5d 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 63 61 6e 20 6e 6f 74 '[info].maintenance.mode.can.not
87f80 20 62 65 20 64 69 73 61 62 6c 65 64 27 29 3b 0a 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 .be.disabled');.....$this->updat
87fa0 65 72 2d 3e 6c 6f 67 45 78 63 65 70 74 69 6f 6e 28 24 65 29 3b 0a 09 09 09 09 24 6f 75 74 70 75 er->logException($e);.....$outpu
87fc0 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 t->writeln('');.....$output->wri
87fe0 74 65 6c 6e 28 27 4d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 63 61 6e 20 6e 6f 74 20 62 teln('Maintenance.mode.can.not.b
88000 65 20 64 69 73 61 62 6c 65 64 27 29 3b 0a 09 09 09 7d 0a 0a 09 09 09 72 65 74 75 72 6e 20 24 72 e.disabled');....}.....return.$r
88020 65 74 75 72 6e 56 61 6c 75 65 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 69 66 20 28 24 74 eturnValue;...}.else.{....if.($t
88040 68 69 73 2d 3e 73 68 6f 75 6c 64 53 74 6f 70 29 20 7b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e his->shouldStop).{.....$output->
88060 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 55 70 64 61 74 65 20 73 74 6f 70 70 65 64 2e 20 writeln('<error>Update.stopped..
88080 54 6f 20 72 65 73 75 6d 65 20 6f 72 20 72 65 74 72 79 20 6a 75 73 74 20 65 78 65 63 75 74 65 20 To.resume.or.retry.just.execute.
880a0 74 68 65 20 75 70 64 61 74 65 72 20 61 67 61 69 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 09 09 the.updater.again.</error>');...
880c0 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 .}.else.{.....$output->writeln('
880e0 3c 65 72 72 6f 72 3e 55 70 64 61 74 65 20 66 61 69 6c 65 64 2e 20 54 6f 20 72 65 73 75 6d 65 20 <error>Update.failed..To.resume.
88100 6f 72 20 72 65 74 72 79 20 6a 75 73 74 20 65 78 65 63 75 74 65 20 74 68 65 20 75 70 64 61 74 65 or.retry.just.execute.the.update
88120 72 20 61 67 61 69 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 09 09 09 7d 0a 09 09 09 72 65 74 75 r.again.</error>');....}....retu
88140 72 6e 20 2d 31 3b 0a 09 09 7d 0a 20 20 20 20 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 40 70 61 72 61 rn.-1;...}.....}.../**...*.@para
88160 6d 20 24 73 74 65 70 20 69 6e 74 65 67 65 72 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 m.$step.integer...*.@return.arra
88180 79 20 77 69 74 68 20 6f 70 74 69 6f 6e 73 20 27 70 72 6f 63 65 65 64 27 20 77 68 69 63 68 20 69 y.with.options.'proceed'.which.i
881a0 73 20 61 20 62 6f 6f 6c 65 61 6e 20 61 6e 64 20 64 65 66 69 6e 65 73 20 69 66 20 74 68 65 20 73 s.a.boolean.and.defines.if.the.s
881c0 74 65 70 20 73 75 63 63 65 65 64 65 64 20 61 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 27 72 tep.succeeded.and.an.optional.'r
881e0 65 73 70 6f 6e 73 65 27 20 73 74 72 69 6e 67 0a 09 20 2a 2f 0a 20 20 20 20 70 72 6f 74 65 63 74 esponse'.string...*/.....protect
88200 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 53 74 65 70 28 24 73 74 65 70 29 20 7b ed.function.executeStep($step).{
88220 0a 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 ...$this->updater->log('[info].e
88240 78 65 63 75 74 65 53 74 65 70 20 72 65 71 75 65 73 74 20 66 6f 72 20 73 74 65 70 20 22 27 20 2e xecuteStep.request.for.step."'..
88260 20 24 73 74 65 70 20 2e 20 27 22 27 29 3b 0a 09 09 74 72 79 20 7b 0a 09 09 09 69 66 28 24 73 74 .$step...'"');...try.{....if($st
88280 65 70 20 3e 20 31 32 20 7c 7c 20 24 73 74 65 70 20 3c 20 31 29 20 7b 0a 09 09 09 09 74 68 72 6f ep.>.12.||.$step.<.1).{.....thro
882a0 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 73 74 65 70 27 29 w.new.\Exception('Invalid.step')
882c0 3b 0a 09 09 09 7d 0a 0a 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 73 74 61 72 74 ;....}.....$this->updater->start
882e0 53 74 65 70 28 24 73 74 65 70 29 3b 0a 09 09 09 73 77 69 74 63 68 20 28 24 73 74 65 70 29 20 7b Step($step);....switch.($step).{
88300 0a 09 09 09 09 63 61 73 65 20 31 3a 0a 09 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 .....case.1:......$this->updater
88320 2d 3e 63 68 65 63 6b 46 6f 72 45 78 70 65 63 74 65 64 46 69 6c 65 73 41 6e 64 46 6f 6c 64 65 72 ->checkForExpectedFilesAndFolder
88340 73 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 32 3a 0a 09 09 09 s();......break;.....case.2:....
88360 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 63 68 65 63 6b 57 72 69 74 65 50 65 72 6d ..$this->updater->checkWritePerm
88380 69 73 73 69 6f 6e 73 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 issions();......break;.....case.
883a0 33 3a 0a 09 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 63 72 65 61 74 65 42 61 3:......$this->updater->createBa
883c0 63 6b 75 70 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 34 3a 0a ckup();......break;.....case.4:.
883e0 09 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 64 6f 77 6e 6c 6f 61 64 55 70 64 .....$this->updater->downloadUpd
88400 61 74 65 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 35 3a 0a 09 ate();......break;.....case.5:..
88420 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 76 65 72 69 66 79 49 6e 74 65 67 72 ....$this->updater->verifyIntegr
88440 69 74 79 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 36 3a 0a 09 ity();......break;.....case.6:..
88460 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 65 78 74 72 61 63 74 44 6f 77 6e 6c ....$this->updater->extractDownl
88480 6f 61 64 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 73 65 20 37 3a 0a 09 oad();......break;.....case.7:..
884a0 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 73 65 74 4d 61 69 6e 74 65 6e 61 6e ....$this->updater->setMaintenan
884c0 63 65 4d 6f 64 65 28 74 72 75 65 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 63 61 ceMode(true);......break;.....ca
884e0 73 65 20 38 3a 0a 09 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 72 65 70 6c 61 se.8:......$this->updater->repla
88500 63 65 45 6e 74 72 79 50 6f 69 6e 74 73 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 ceEntryPoints();......break;....
88520 09 63 61 73 65 20 39 3a 0a 09 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 64 65 .case.9:......$this->updater->de
88540 6c 65 74 65 4f 6c 64 46 69 6c 65 73 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 leteOldFiles();......break;.....
88560 63 61 73 65 20 31 30 3a 0a 09 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6d 6f case.10:......$this->updater->mo
88580 76 65 4e 65 77 56 65 72 73 69 6f 6e 49 6e 50 6c 61 63 65 28 29 3b 0a 09 09 09 09 09 62 72 65 61 veNewVersionInPlace();......brea
885a0 6b 3b 0a 09 09 09 09 63 61 73 65 20 31 31 3a 0a 09 09 09 09 09 2f 2f 20 74 68 69 73 20 69 73 20 k;.....case.11:......//.this.is.
885c0 6e 6f 74 20 6e 65 65 64 65 64 20 69 6e 20 74 68 65 20 43 4c 49 20 75 70 64 61 74 65 72 0a 09 09 not.needed.in.the.CLI.updater...
885e0 09 09 09 2f 2f 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 73 65 74 4d 61 69 6e 74 65 6e 61 ...//$this->updater->setMaintena
88600 6e 63 65 4d 6f 64 65 28 66 61 6c 73 65 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 09 nceMode(false);......break;.....
88620 63 61 73 65 20 31 32 3a 0a 09 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 66 69 case.12:......$this->updater->fi
88640 6e 61 6c 69 7a 65 28 29 3b 0a 09 09 09 09 09 62 72 65 61 6b 3b 0a 09 09 09 7d 0a 09 09 09 24 74 nalize();......break;....}....$t
88660 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 65 6e 64 53 74 65 70 28 24 73 74 65 70 29 3b 0a 09 09 his->updater->endStep($step);...
88680 09 72 65 74 75 72 6e 20 5b 27 70 72 6f 63 65 65 64 27 20 3d 3e 20 74 72 75 65 5d 3b 0a 09 09 7d .return.['proceed'.=>.true];...}
886a0 20 63 61 74 63 68 20 28 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 09 09 .catch.(UpdateException.$e).{...
886c0 09 24 6d 65 73 73 61 67 65 20 3d 20 24 65 2d 3e 67 65 74 44 61 74 61 28 29 3b 0a 0a 09 09 09 74 .$message.=.$e->getData();.....t
886e0 72 79 20 7b 0a 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 27 5b 65 ry.{.....$this->updater->log('[e
88700 72 72 6f 72 5d 20 65 78 65 63 75 74 65 53 74 65 70 20 72 65 71 75 65 73 74 20 66 61 69 6c 65 64 rror].executeStep.request.failed
88720 20 77 69 74 68 20 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 27 29 3b 0a 09 09 09 09 24 74 68 .with.UpdateException');.....$th
88740 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 45 78 63 65 70 74 69 6f 6e 28 24 65 29 3b 0a 09 is->updater->logException($e);..
88760 09 09 7d 20 63 61 74 63 68 20 28 4c 6f 67 45 78 63 65 70 74 69 6f 6e 20 24 6c 6f 67 45 29 20 7b ..}.catch.(LogException.$logE).{
88780 0a 09 09 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 20 28 61 6e 64 20 77 72 69 74 69 6e 67 20 .....$message..=.'.(and.writing.
887a0 74 6f 20 6c 6f 67 20 66 61 69 6c 65 64 20 61 6c 73 6f 20 77 69 74 68 3a 20 27 20 2e 20 24 6c 6f to.log.failed.also.with:.'...$lo
887c0 67 45 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 29 27 3b 0a 09 09 09 7d 0a 0a 09 09 gE->getMessage()...')';....}....
887e0 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 72 6f 6c 6c 62 61 63 6b 43 68 61 6e 67 65 73 .$this->updater->rollbackChanges
88800 28 24 73 74 65 70 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 5b 27 70 72 6f 63 65 65 64 27 20 3d 3e ($step);....return.['proceed'.=>
88820 20 66 61 6c 73 65 2c 20 27 72 65 73 70 6f 6e 73 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 5d 3b .false,.'response'.=>.$message];
88840 0a 09 09 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 09 09 09 ...}.catch.(\Exception.$e).{....
88860 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 0a 09 09 $message.=.$e->getMessage();....
88880 09 74 72 79 20 7b 0a 09 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 28 27 .try.{.....$this->updater->log('
888a0 5b 65 72 72 6f 72 5d 20 65 78 65 63 75 74 65 53 74 65 70 20 72 65 71 75 65 73 74 20 66 61 69 6c [error].executeStep.request.fail
888c0 65 64 20 77 69 74 68 20 6f 74 68 65 72 20 65 78 63 65 70 74 69 6f 6e 27 29 3b 0a 09 09 09 09 24 ed.with.other.exception');.....$
888e0 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 6c 6f 67 45 78 63 65 70 74 69 6f 6e 28 24 65 29 3b this->updater->logException($e);
88900 0a 09 09 09 7d 20 63 61 74 63 68 20 28 4c 6f 67 45 78 63 65 70 74 69 6f 6e 20 24 6c 6f 67 45 29 ....}.catch.(LogException.$logE)
88920 20 7b 0a 09 09 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 20 28 61 6e 64 20 77 72 69 74 69 6e .{.....$message..=.'.(and.writin
88940 67 20 74 6f 20 6c 6f 67 20 66 61 69 6c 65 64 20 61 6c 73 6f 20 77 69 74 68 3a 20 27 20 2e 20 24 g.to.log.failed.also.with:.'...$
88960 6c 6f 67 45 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 29 27 3b 0a 09 09 09 7d 0a 0a logE->getMessage()...')';....}..
88980 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 72 2d 3e 72 6f 6c 6c 62 61 63 6b 43 68 61 6e 67 ...$this->updater->rollbackChang
889a0 65 73 28 24 73 74 65 70 29 3b 0a 09 09 09 72 65 74 75 72 6e 20 5b 27 70 72 6f 63 65 65 64 27 20 es($step);....return.['proceed'.
889c0 3d 3e 20 66 61 6c 73 65 2c 20 27 72 65 73 70 6f 6e 73 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 =>.false,.'response'.=>.$message
889e0 5d 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 4f 75 74 70 75 ];...}..}.../**...*.@param.Outpu
88a00 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 0a 09 20 2a 20 40 70 61 72 61 6d 20 69 6e tInterface.$output...*.@param.in
88a20 74 65 67 65 72 20 24 73 74 65 70 4e 75 6d 62 65 72 0a 09 20 2a 2f 0a 09 70 72 6f 74 65 63 74 65 teger.$stepNumber...*/..protecte
88a40 64 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 77 43 75 72 72 65 6e 74 53 74 61 74 75 73 28 4f 75 74 d.function.showCurrentStatus(Out
88a60 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 73 74 65 70 4e 75 6d 62 65 putInterface.$output,.$stepNumbe
88a80 72 29 20 7b 0a 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 53 74 65 70 73 20 74 r).{...$output->writeln('Steps.t
88aa0 68 61 74 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 3a 27 29 3b 0a 09 09 66 6f 72 20 28 hat.will.be.executed:');...for.(
88ac0 24 69 20 3d 20 31 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e 63 68 65 63 6b $i.=.1;.$i.<.sizeof($this->check
88ae0 54 65 78 74 73 29 3b 20 24 69 2b 2b 29 20 7b 0a 09 09 09 69 66 20 28 24 69 20 3d 3d 3d 20 31 31 Texts);.$i++).{....if.($i.===.11
88b00 29 20 7b 0a 09 09 09 09 2f 2f 20 6e 6f 20 6e 65 65 64 20 74 6f 20 61 73 6b 20 66 6f 72 20 6d 61 ).{.....//.no.need.to.ask.for.ma
88b20 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 6f 6e 20 43 4c 49 20 2d 20 73 6b 69 70 20 69 74 0a intenance.mode.on.CLI.-.skip.it.
88b40 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 09 09 7d 0a 09 09 09 24 73 74 61 74 75 73 42 65 67 ....continue;....}....$statusBeg
88b60 69 6e 20 3d 20 27 5b 20 5d 20 27 3b 0a 09 09 09 24 73 74 61 74 75 73 45 6e 64 20 3d 20 27 27 3b in.=.'[.].';....$statusEnd.=.'';
88b80 0a 09 09 09 69 66 20 28 24 69 20 3c 3d 20 24 73 74 65 70 4e 75 6d 62 65 72 29 20 7b 0a 09 09 09 ....if.($i.<=.$stepNumber).{....
88ba0 09 24 73 74 61 74 75 73 42 65 67 69 6e 20 3d 20 27 3c 69 6e 66 6f 3e 5b e2 9c 94 5d 20 27 3b 0a .$statusBegin.=.'<info>[...].';.
88bc0 09 09 09 09 24 73 74 61 74 75 73 45 6e 64 20 3d 20 27 3c 2f 69 6e 66 6f 3e 27 3b 0a 09 09 09 7d ....$statusEnd.=.'</info>';....}
88be0 0a 09 09 09 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 73 74 61 74 75 73 42 65 67 69 ....$output->writeln($statusBegi
88c00 6e 20 2e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 65 78 74 73 5b 24 69 5d 20 2e 20 24 73 74 61 n...$this->checkTexts[$i]...$sta
88c20 74 75 73 45 6e 64 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 67 65 74 73 20 63 tusEnd);...}..}.../**...*.gets.c
88c40 61 6c 6c 65 64 20 62 79 20 74 68 65 20 50 43 4e 54 4c 20 6c 69 73 74 65 6e 65 72 20 6f 6e 63 65 alled.by.the.PCNTL.listener.once
88c60 20 74 68 65 20 73 74 6f 70 2f 74 65 72 6d 69 6e 61 74 65 20 73 69 67 6e 61 6c 0a 09 20 2a 2f 0a .the.stop/terminate.signal...*/.
88c80 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 43 6f 6d 6d 61 6e 64 28 29 20 7b .public.function.stopCommand().{
88ca0 0a 09 09 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 53 74 6f 70 20 3d 20 74 72 75 65 3b 0a 09 7d 0a ...$this->shouldStop.=.true;..}.
88cc0 0a 0a 7d 3c 3f 70 68 70 0a 2f 2a 2a 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f 70 79 72 ..}<?php./**..*.@copyright.Copyr
88ce0 69 67 68 74 20 28 63 29 20 32 30 31 36 2d 32 30 31 37 20 4c 75 6b 61 73 20 52 65 73 63 68 6b 65 ight.(c).2016-2017.Lukas.Reschke
88d00 20 3c 6c 75 6b 61 73 40 73 74 61 74 75 73 63 6f 64 65 2e 63 68 3e 0a 20 2a 20 40 63 6f 70 79 72 .<lukas@statuscode.ch>..*.@copyr
88d20 69 67 68 74 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 36 20 4d 6f 72 72 69 73 20 4a ight.Copyright.(c).2016.Morris.J
88d40 6f 62 6b 65 20 3c 68 65 79 40 6d 6f 72 72 69 73 6a 6f 62 6b 65 2e 64 65 3e 0a 20 2a 20 40 63 6f obke.<hey@morrisjobke.de>..*.@co
88d60 70 79 72 69 67 68 74 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 38 20 4a 6f 6e 61 73 pyright.Copyright.(c).2018.Jonas
88d80 20 53 75 6c 7a 65 72 20 3c 6a 6f 6e 61 73 40 76 69 6f 6c 6f 6e 63 65 6c 6c 6f 2e 63 68 3e 0a 20 .Sulzer.<jonas@violoncello.ch>..
88da0 2a 0a 20 2a 20 40 6c 69 63 65 6e 73 65 20 47 4e 55 20 41 47 50 4c 20 76 65 72 73 69 6f 6e 20 33 *..*.@license.GNU.AGPL.version.3
88dc0 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 0a 20 2a 0a 20 2a 20 54 68 69 73 .or.any.later.version..*..*.This
88de0 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 .program.is.free.software:.you.c
88e00 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 an.redistribute.it.and/or.modify
88e20 0a 20 2a 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e ..*.it.under.the.terms.of.the.GN
88e40 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 73 65 20 U.Affero.General.Public.License.
88e60 61 73 0a 20 2a 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 as..*.published.by.the.Free.Soft
88e80 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation,.either.version.
88ea0 33 20 6f 66 20 74 68 65 0a 20 2a 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 3.of.the..*.License,.or.(at.your
88ec0 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 2a 0a 20 .option).any.later.version...*..
88ee0 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e *.This.program.is.distributed.in
88f00 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
88f20 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 ,..*.but.WITHOUT.ANY.WARRANTY;.w
88f40 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 ithout.even.the.implied.warranty
88f60 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 .of..*.MERCHANTABILITY.or.FITNES
88f80 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 2e 20 20 53 65 65 S.FOR.A.PARTICULAR.PURPOSE...See
88fa0 20 74 68 65 0a 20 2a 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 .the..*.GNU.Affero.General.Publi
88fc0 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 c.License.for.more.details...*..
88fe0 2a 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 *.You.should.have.received.a.cop
89000 79 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c y.of.the.GNU.Affero.General.Publ
89020 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 ic.License..*.along.with.this.pr
89040 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e ogram...If.not,.see.<http://www.
89060 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 20 2a 0a 20 2a 2f 0a 0a 6e 61 6d 65 gnu.org/licenses/>...*..*/..name
89080 73 70 61 63 65 20 4e 43 5c 55 70 64 61 74 65 72 3b 0a 0a 63 6c 61 73 73 20 55 70 64 61 74 65 72 space.NC\Updater;..class.Updater
890a0 20 7b 0a 09 2f 2a 2a 20 40 76 61 72 20 73 74 72 69 6e 67 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 .{../**.@var.string.*/..private.
890c0 24 62 61 73 65 44 69 72 3b 0a 09 2f 2a 2a 20 40 76 61 72 20 61 72 72 61 79 20 2a 2f 0a 09 70 72 $baseDir;../**.@var.array.*/..pr
890e0 69 76 61 74 65 20 24 63 6f 6e 66 69 67 56 61 6c 75 65 73 20 3d 20 5b 5d 3b 0a 09 2f 2a 2a 20 40 ivate.$configValues.=.[];../**.@
89100 76 61 72 20 73 74 72 69 6e 67 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 24 63 75 72 72 65 6e 74 56 var.string.*/..private.$currentV
89120 65 72 73 69 6f 6e 20 3d 20 27 75 6e 6b 6e 6f 77 6e 27 3b 0a 09 2f 2a 2a 20 40 76 61 72 20 73 74 ersion.=.'unknown';../**.@var.st
89140 72 69 6e 67 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 24 62 75 69 6c 64 54 69 6d 65 3b 0a 09 2f 2a ring.*/..private.$buildTime;../*
89160 2a 20 40 76 61 72 20 62 6f 6f 6c 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 24 75 70 64 61 74 65 41 *.@var.bool.*/..private.$updateA
89180 76 61 69 6c 61 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 09 2f 2a 2a 20 40 76 61 72 20 73 74 72 69 vailable.=.false;../**.@var.stri
891a0 6e 67 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 24 72 65 71 75 65 73 74 49 44 20 3d 20 6e 75 6c 6c ng.*/..private.$requestID.=.null
891c0 3b 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 55 70 64 61 74 65 72 20 63 6f 6e 73 74 72 75 63 74 6f 72 0a ;.../**...*.Updater.constructor.
891e0 09 20 2a 20 40 70 61 72 61 6d 20 24 62 61 73 65 44 69 72 20 73 74 72 69 6e 67 20 74 68 65 20 61 ..*.@param.$baseDir.string.the.a
89200 62 73 6f 6c 75 74 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 2f 75 70 64 61 74 65 72 2f 20 64 69 bsolute.path.to.the./updater/.di
89220 72 65 63 74 6f 72 79 20 69 6e 20 74 68 65 20 4e 65 78 74 63 6c 6f 75 64 20 72 6f 6f 74 0a 09 20 rectory.in.the.Nextcloud.root...
89240 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 *.@throws.\Exception...*/..publi
89260 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 62 61 73 65 44 69 72 29 c.function.__construct($baseDir)
89280 20 7b 0a 09 09 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 3d 20 24 62 61 73 65 44 69 72 3b 0a .{...$this->baseDir.=.$baseDir;.
892a0 0a 09 09 69 66 28 24 64 69 72 20 3d 20 67 65 74 65 6e 76 28 27 4e 45 58 54 43 4c 4f 55 44 5f 43 ...if($dir.=.getenv('NEXTCLOUD_C
892c0 4f 4e 46 49 47 5f 44 49 52 27 29 29 20 7b 0a 09 09 09 24 63 6f 6e 66 69 67 46 69 6c 65 4e 61 6d ONFIG_DIR')).{....$configFileNam
892e0 65 20 3d 20 72 74 72 69 6d 28 24 64 69 72 2c 20 27 2f 27 29 20 2e 20 27 2f 63 6f 6e 66 69 67 2e e.=.rtrim($dir,.'/')...'/config.
89300 70 68 70 27 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 24 63 6f 6e 66 69 67 46 69 6c 65 4e php';...}.else.{....$configFileN
89320 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 63 6f 6e 66 ame.=.$this->baseDir...'/../conf
89340 69 67 2f 63 6f 6e 66 69 67 2e 70 68 70 27 3b 0a 09 09 7d 0a 09 09 69 66 20 28 21 66 69 6c 65 5f ig/config.php';...}...if.(!file_
89360 65 78 69 73 74 73 28 24 63 6f 6e 66 69 67 46 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 09 09 09 74 68 exists($configFileName)).{....th
89380 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 row.new.\Exception('Could.not.fi
893a0 6e 64 20 63 6f 6e 66 69 67 2e 70 68 70 2e 20 49 73 20 74 68 69 73 20 66 69 6c 65 20 69 6e 20 74 nd.config.php..Is.this.file.in.t
893c0 68 65 20 22 75 70 64 61 74 65 72 22 20 73 75 62 66 6f 6c 64 65 72 20 6f 66 20 4e 65 78 74 63 6c he."updater".subfolder.of.Nextcl
893e0 6f 75 64 3f 27 29 3b 0a 09 09 7d 0a 0a 09 09 2f 2a 2a 20 40 76 61 72 20 61 72 72 61 79 20 24 43 oud?');...}..../**.@var.array.$C
89400 4f 4e 46 49 47 20 2a 2f 0a 09 09 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 24 63 6f 6e 66 69 67 46 ONFIG.*/...require_once.$configF
89420 69 6c 65 4e 61 6d 65 3b 0a 09 09 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 56 61 6c 75 65 73 20 3d ileName;...$this->configValues.=
89440 20 24 43 4f 4e 46 49 47 3b 0a 0a 09 09 24 64 61 74 61 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 .$CONFIG;....$dataDir.=.$this->g
89460 65 74 44 61 74 61 44 69 72 65 63 74 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 3b 0a 09 09 69 66 28 etDataDirectoryLocation();...if(
89480 65 6d 70 74 79 28 24 64 61 74 61 44 69 72 29 20 7c 7c 20 21 69 73 5f 73 74 72 69 6e 67 28 24 64 empty($dataDir).||.!is_string($d
894a0 61 74 61 44 69 72 29 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 ataDir)).{....throw.new.\Excepti
894c0 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 65 61 64 20 64 61 74 61 20 64 69 72 65 63 74 6f 72 on('Could.not.read.data.director
894e0 79 20 66 72 6f 6d 20 63 6f 6e 66 69 67 2e 70 68 70 2e 27 29 3b 0a 09 09 7d 0a 0a 09 09 24 76 65 y.from.config.php.');...}....$ve
89500 72 73 69 6f 6e 46 69 6c 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e rsionFileName.=.$this->baseDir..
89520 20 27 2f 2e 2e 2f 76 65 72 73 69 6f 6e 2e 70 68 70 27 3b 0a 09 09 69 66 20 28 21 66 69 6c 65 5f .'/../version.php';...if.(!file_
89540 65 78 69 73 74 73 28 24 76 65 72 73 69 6f 6e 46 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 09 09 09 2f exists($versionFileName)).{..../
89560 2f 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 76 65 72 73 69 6f 6e 20 69 6e 20 63 6f 6e 66 69 67 2e /.fallback.to.version.in.config.
89580 70 68 70 0a 09 09 09 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 php....$version.=.$this->getConf
895a0 69 67 4f 70 74 69 6f 6e 28 27 76 65 72 73 69 6f 6e 27 29 3b 0a 09 09 09 24 62 75 69 6c 64 54 69 igOption('version');....$buildTi
895c0 6d 65 20 3d 20 27 27 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 2f 2a 2a 20 40 76 61 72 20 me.=.'';...}.else.{..../**.@var.
895e0 73 74 72 69 6e 67 20 24 4f 43 5f 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 20 2a 2f 0a 09 09 09 2f string.$OC_VersionString.*/..../
89600 2a 2a 20 40 76 61 72 20 73 74 72 69 6e 67 20 24 4f 43 5f 42 75 69 6c 64 20 2a 2f 0a 09 09 09 72 **.@var.string.$OC_Build.*/....r
89620 65 71 75 69 72 65 5f 6f 6e 63 65 20 24 76 65 72 73 69 6f 6e 46 69 6c 65 4e 61 6d 65 3b 0a 09 09 equire_once.$versionFileName;...
89640 09 24 76 65 72 73 69 6f 6e 20 3d 20 24 4f 43 5f 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 3b 0a 09 .$version.=.$OC_VersionString;..
89660 09 09 24 62 75 69 6c 64 54 69 6d 65 20 3d 20 24 4f 43 5f 42 75 69 6c 64 3b 0a 09 09 7d 0a 0a 09 ..$buildTime.=.$OC_Build;...}...
89680 09 69 66 28 24 76 65 72 73 69 6f 6e 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 09 09 09 72 65 74 75 .if($version.===.null).{....retu
896a0 72 6e 3b 0a 09 09 7d 0a 09 09 69 66 28 24 62 75 69 6c 64 54 69 6d 65 20 3d 3d 3d 20 6e 75 6c 6c rn;...}...if($buildTime.===.null
896c0 29 20 7b 0a 09 09 09 72 65 74 75 72 6e 3b 0a 09 09 7d 0a 0a 09 09 2f 2f 20 6e 6f 72 6d 61 6c 69 ).{....return;...}....//.normali
896e0 7a 65 20 76 65 72 73 69 6f 6e 20 74 6f 20 33 20 64 69 67 69 74 73 0a 09 09 24 73 70 6c 69 74 74 ze.version.to.3.digits...$splitt
89700 65 64 56 65 72 73 69 6f 6e 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 76 65 72 73 69 6f edVersion.=.explode('.',.$versio
89720 6e 29 3b 0a 09 09 69 66 28 73 69 7a 65 6f 66 28 24 73 70 6c 69 74 74 65 64 56 65 72 73 69 6f 6e n);...if(sizeof($splittedVersion
89740 29 20 3e 3d 20 33 29 20 7b 0a 09 09 09 24 73 70 6c 69 74 74 65 64 56 65 72 73 69 6f 6e 20 3d 20 ).>=.3).{....$splittedVersion.=.
89760 61 72 72 61 79 5f 73 6c 69 63 65 28 24 73 70 6c 69 74 74 65 64 56 65 72 73 69 6f 6e 2c 20 30 2c array_slice($splittedVersion,.0,
89780 20 33 29 3b 0a 09 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 56 65 72 73 69 6f .3);...}....$this->currentVersio
897a0 6e 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2e 27 2c 20 24 73 70 6c 69 74 74 65 64 56 65 72 73 69 6f n.=.implode('.',.$splittedVersio
897c0 6e 29 3b 0a 09 09 24 74 68 69 73 2d 3e 62 75 69 6c 64 54 69 6d 65 20 3d 20 24 62 75 69 6c 64 54 n);...$this->buildTime.=.$buildT
897e0 69 6d 65 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 52 65 74 75 72 6e 73 20 63 75 72 72 65 6e ime;..}.../**...*.Returns.curren
89800 74 20 76 65 72 73 69 6f 6e 20 6f 72 20 22 75 6e 6b 6e 6f 77 6e 22 20 69 66 20 74 68 69 73 20 63 t.version.or."unknown".if.this.c
89820 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 2e 0a 09 20 2a 0a 09 20 2a 20 ould.not.be.determined....*...*.
89840 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 @return.string...*/..public.func
89860 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 28 29 20 7b 0a 09 09 72 65 74 tion.getCurrentVersion().{...ret
89880 75 72 6e 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 3b 0a 09 7d 0a 0a 09 urn.$this->currentVersion;..}...
898a0 2f 2a 2a 0a 09 20 2a 20 52 65 74 75 72 6e 73 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 72 /**...*.Returns.currently.used.r
898c0 65 6c 65 61 73 65 20 63 68 61 6e 6e 65 6c 0a 09 20 2a 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 73 elease.channel...*...*.@return.s
898e0 74 72 69 6e 67 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 tring...*/..private.function.get
89900 43 75 72 72 65 6e 74 52 65 6c 65 61 73 65 43 68 61 6e 6e 65 6c 28 29 20 7b 0a 09 09 72 65 74 75 CurrentReleaseChannel().{...retu
89920 72 6e 20 21 69 73 5f 6e 75 6c 6c 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 rn.!is_null($this->getConfigOpti
89940 6f 6e 28 27 75 70 64 61 74 65 72 2e 72 65 6c 65 61 73 65 2e 63 68 61 6e 6e 65 6c 27 29 29 20 3f on('updater.release.channel')).?
89960 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 72 .$this->getConfigOption('updater
89980 2e 72 65 6c 65 61 73 65 2e 63 68 61 6e 6e 65 6c 27 29 20 3a 20 27 73 74 61 62 6c 65 27 3b 0a 09 .release.channel').:.'stable';..
899a0 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 09 20 2a 20 40 }.../**...*.@return.string...*.@
899c0 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 throws.\Exception...*/..public.f
899e0 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 46 6f 72 55 70 64 61 74 65 28 29 20 7b 0a 09 09 24 72 65 unction.checkForUpdate().{...$re
89a00 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 70 64 61 74 65 53 65 72 76 65 72 52 sponse.=.$this->getUpdateServerR
89a20 65 73 70 6f 6e 73 65 28 29 3b 0a 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 esponse();....$this->silentLog('
89a40 5b 69 6e 66 6f 5d 20 63 68 65 63 6b 46 6f 72 55 70 64 61 74 65 28 29 20 27 20 2e 20 70 72 69 6e [info].checkForUpdate().'...prin
89a60 74 5f 72 28 24 72 65 73 70 6f 6e 73 65 2c 20 74 72 75 65 29 29 3b 0a 0a 09 09 24 76 65 72 73 69 t_r($response,.true));....$versi
89a80 6f 6e 20 3d 20 69 73 73 65 74 28 24 72 65 73 70 6f 6e 73 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 on.=.isset($response['version'])
89aa0 20 3f 20 24 72 65 73 70 6f 6e 73 65 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3a 20 27 27 3b 0a 09 09 .?.$response['version'].:.'';...
89ac0 24 76 65 72 73 69 6f 6e 53 74 72 69 6e 67 20 3d 20 69 73 73 65 74 28 24 72 65 73 70 6f 6e 73 65 $versionString.=.isset($response
89ae0 5b 27 76 65 72 73 69 6f 6e 73 74 72 69 6e 67 27 5d 29 20 3f 20 24 72 65 73 70 6f 6e 73 65 5b 27 ['versionstring']).?.$response['
89b00 76 65 72 73 69 6f 6e 73 74 72 69 6e 67 27 5d 20 3a 20 27 27 3b 0a 0a 09 09 69 66 20 28 24 76 65 versionstring'].:.'';....if.($ve
89b20 72 73 69 6f 6e 20 21 3d 3d 20 27 27 20 26 26 20 24 76 65 72 73 69 6f 6e 20 21 3d 3d 20 24 74 68 rsion.!==.''.&&.$version.!==.$th
89b40 69 73 2d 3e 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e is->currentVersion).{....$this->
89b60 75 70 64 61 74 65 41 76 61 69 6c 61 62 6c 65 20 3d 20 74 72 75 65 3b 0a 09 09 09 24 72 65 6c 65 updateAvailable.=.true;....$rele
89b80 61 73 65 43 68 61 6e 6e 65 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 52 65 aseChannel.=.$this->getCurrentRe
89ba0 6c 65 61 73 65 43 68 61 6e 6e 65 6c 28 29 3b 0a 09 09 09 24 75 70 64 61 74 65 54 65 78 74 20 3d leaseChannel();....$updateText.=
89bc0 20 27 55 70 64 61 74 65 20 74 6f 20 27 20 2e 20 68 74 6d 6c 65 6e 74 69 74 69 65 73 28 24 76 65 .'Update.to.'...htmlentities($ve
89be0 72 73 69 6f 6e 53 74 72 69 6e 67 29 20 2e 20 27 20 61 76 61 69 6c 61 62 6c 65 2e 20 28 63 68 61 rsionString)...'.available..(cha
89c00 6e 6e 65 6c 3a 20 22 27 20 2e 20 68 74 6d 6c 65 6e 74 69 74 69 65 73 28 24 72 65 6c 65 61 73 65 nnel:."'...htmlentities($release
89c20 43 68 61 6e 6e 65 6c 29 20 2e 20 27 22 29 3c 62 72 20 2f 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d Channel)...'")<br./><span.class=
89c40 22 6c 69 67 68 74 22 3e 46 6f 6c 6c 6f 77 69 6e 67 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 64 "light">Following.file.will.be.d
89c60 6f 77 6e 6c 6f 61 64 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 3a 3c 2f 73 70 61 6e 3e 20 ownloaded.automatically:</span>.
89c80 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 6c 69 67 68 74 22 3e 27 20 2e 20 24 72 65 73 70 6f 6e 73 <code.class="light">'...$respons
89ca0 65 5b 27 75 72 6c 27 5d 20 2e 20 27 3c 2f 63 6f 64 65 3e 27 3b 0a 0a 09 09 09 2f 2f 20 6f 6e 6c e['url']...'</code>';.....//.onl
89cc0 79 20 73 68 6f 77 20 63 68 61 6e 67 65 6c 6f 67 20 6c 69 6e 6b 20 66 6f 72 20 73 74 61 62 6c 65 y.show.changelog.link.for.stable
89ce0 20 72 65 6c 65 61 73 65 73 20 28 6e 6f 6e 2d 52 43 20 26 20 6e 6f 6e 2d 62 65 74 61 29 0a 09 09 .releases.(non-RC.&.non-beta)...
89d00 09 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 21 28 72 63 7c 62 65 74 61 29 21 69 27 2c .if.(!preg_match('!(rc|beta)!i',
89d20 20 24 76 65 72 73 69 6f 6e 53 74 72 69 6e 67 29 29 20 7b 0a 09 09 09 09 24 63 68 61 6e 67 65 6c .$versionString)).{.....$changel
89d40 6f 67 55 52 4c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 6c 6f 67 55 52 4c 28 73 ogURL.=.$this->getChangelogURL(s
89d60 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 30 2c 20 73 74 72 72 70 6f 73 28 24 76 65 72 73 ubstr($version,.0,.strrpos($vers
89d80 69 6f 6e 2c 20 27 2e 27 29 29 29 3b 0a 09 09 09 09 24 75 70 64 61 74 65 54 65 78 74 20 2e 3d 20 ion,.'.')));.....$updateText..=.
89da0 27 3c 62 72 20 2f 3e 3c 61 20 63 6c 61 73 73 3d 22 65 78 74 65 72 6e 61 6c 5f 6c 69 6e 6b 22 20 '<br./><a.class="external_link".
89dc0 68 72 65 66 3d 22 27 20 2e 20 24 63 68 61 6e 67 65 6c 6f 67 55 52 4c 20 2e 20 27 22 20 74 61 72 href="'...$changelogURL...'".tar
89de0 67 65 74 3d 22 5f 62 6c 61 6e 6b 22 20 72 65 6c 3d 22 6e 6f 72 65 66 65 72 72 65 72 20 6e 6f 6f get="_blank".rel="noreferrer.noo
89e00 70 65 6e 65 72 22 3e 4f 70 65 6e 20 63 68 61 6e 67 65 6c 6f 67 20 e2 86 97 3c 2f 61 3e 27 3b 0a pener">Open.changelog....</a>';.
89e20 09 09 09 7d 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 24 75 70 64 61 74 65 54 65 78 74 20 3d ...}...}.else.{....$updateText.=
89e40 20 27 4e 6f 20 75 70 64 61 74 65 20 61 76 61 69 6c 61 62 6c 65 2e 27 3b 0a 09 09 7d 0a 0a 09 09 .'No.update.available.';...}....
89e60 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 41 76 61 69 6c 61 62 6c 65 20 26 26 20 69 73 if.($this->updateAvailable.&&.is
89e80 73 65 74 28 24 72 65 73 70 6f 6e 73 65 5b 27 61 75 74 6f 75 70 64 61 74 65 72 27 5d 29 20 26 26 set($response['autoupdater']).&&
89ea0 20 21 28 24 72 65 73 70 6f 6e 73 65 5b 27 61 75 74 6f 75 70 64 61 74 65 72 27 5d 20 3d 3d 3d 20 .!($response['autoupdater'].===.
89ec0 31 20 7c 7c 20 24 72 65 73 70 6f 6e 73 65 5b 27 61 75 74 6f 75 70 64 61 74 65 72 27 5d 20 3d 3d 1.||.$response['autoupdater'].==
89ee0 3d 20 27 31 27 29 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 75 70 64 61 74 65 41 76 61 69 6c 61 =.'1')).{....$this->updateAvaila
89f00 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 09 09 09 24 75 70 64 61 74 65 54 65 78 74 20 2e 3d 20 ble.=.false;.....$updateText..=.
89f20 27 3c 62 72 20 2f 3e 54 68 65 20 75 70 64 61 74 65 72 20 69 73 20 64 69 73 61 62 6c 65 64 20 66 '<br./>The.updater.is.disabled.f
89f40 6f 72 20 74 68 69 73 20 75 70 64 61 74 65 20 2d 20 70 6c 65 61 73 65 20 75 70 64 61 74 65 20 6d or.this.update.-.please.update.m
89f60 61 6e 75 61 6c 6c 79 2e 27 3b 0a 09 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c anually.';...}....$this->silentL
89f80 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 63 68 65 63 6b 46 6f 72 55 70 64 61 74 65 og('[info].end.of.checkForUpdate
89fa0 28 29 20 27 20 2e 20 24 75 70 64 61 74 65 54 65 78 74 29 3b 0a 09 09 72 65 74 75 72 6e 20 24 75 ().'...$updateText);...return.$u
89fc0 70 64 61 74 65 54 65 78 74 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 52 65 74 75 72 6e 73 20 pdateText;..}.../**...*.Returns.
89fe0 62 6f 6f 6c 20 77 68 65 74 68 65 72 20 75 70 64 61 74 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 bool.whether.update.is.available
8a000 20 6f 72 20 6e 6f 74 0a 09 20 2a 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 0a 09 20 2a .or.not...*...*.@return.bool...*
8a020 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 41 76 61 69 6c 61 62 /..public.function.updateAvailab
8a040 6c 65 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 41 76 61 le().{...return.$this->updateAva
8a060 69 6c 61 62 6c 65 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 ilable;..}.../**...*.Returns.the
8a080 20 73 70 65 63 69 66 69 65 64 20 63 6f 6e 66 69 67 20 6f 70 74 69 6f 6e 73 0a 09 20 2a 0a 09 20 .specified.config.options...*...
8a0a0 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6b 65 79 0a 09 20 2a 20 40 72 65 74 75 72 6e *.@param.string.$key...*.@return
8a0c0 20 6d 69 78 65 64 7c 6e 75 6c 6c 20 4e 75 6c 6c 20 69 66 20 74 68 65 20 65 6e 74 72 79 20 69 73 .mixed|null.Null.if.the.entry.is
8a0e0 20 6e 6f 74 20 66 6f 75 6e 64 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .not.found...*/..public.function
8a100 20 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 24 6b 65 79 29 20 7b 0a 09 09 72 65 74 75 72 .getConfigOption($key).{...retur
8a120 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 6b 65 79 n.isset($this->configValues[$key
8a140 5d 29 20 3f 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 6b 65 79 5d 20 3a ]).?.$this->configValues[$key].:
8a160 20 6e 75 6c 6c 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 47 65 74 73 20 74 68 65 20 64 61 74 .null;..}.../**...*.Gets.the.dat
8a180 61 20 64 69 72 65 63 74 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 6c 6f 63 61 a.directory.location.on.the.loca
8a1a0 6c 20 66 69 6c 65 73 79 73 74 65 6d 0a 09 20 2a 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 l.filesystem...*...*.@return.str
8a1c0 69 6e 67 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 ing...*/..private.function.getDa
8a1e0 74 61 44 69 72 65 63 74 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 20 7b 0a 09 09 72 65 74 75 72 6e taDirectoryLocation().{...return
8a200 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 56 61 6c 75 65 73 5b 27 64 61 74 61 64 69 72 65 63 74 .$this->configValues['datadirect
8a220 6f 72 79 27 5d 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 ory'];..}.../**...*.Returns.the.
8a240 65 78 70 65 63 74 65 64 20 66 69 6c 65 73 20 61 6e 64 20 66 6f 6c 64 65 72 73 20 61 73 20 61 72 expected.files.and.folders.as.ar
8a260 72 61 79 0a 09 20 2a 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 09 20 2a 2f 0a 09 ray...*...*.@return.array...*/..
8a280 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 70 65 63 74 65 64 45 6c 65 6d private.function.getExpectedElem
8a2a0 65 6e 74 73 4c 69 73 74 28 29 20 7b 0a 09 09 24 65 78 70 65 63 74 65 64 20 3d 20 5b 0a 09 09 09 entsList().{...$expected.=.[....
8a2c0 2f 2f 20 47 65 6e 65 72 69 63 0a 09 09 09 27 2e 27 2c 0a 09 09 09 27 2e 2e 27 2c 0a 09 09 09 2f //.Generic....'.',....'..',..../
8a2e0 2f 20 46 6f 6c 64 65 72 73 0a 09 09 09 27 2e 77 65 6c 6c 2d 6b 6e 6f 77 6e 27 2c 0a 09 09 09 27 /.Folders....'.well-known',....'
8a300 33 72 64 70 61 72 74 79 27 2c 0a 09 09 09 27 61 70 70 73 27 2c 0a 09 09 09 27 63 6f 6e 66 69 67 3rdparty',....'apps',....'config
8a320 27 2c 0a 09 09 09 27 63 6f 72 65 27 2c 0a 09 09 09 27 64 61 74 61 27 2c 0a 09 09 09 27 6c 31 30 ',....'core',....'data',....'l10
8a340 6e 27 2c 0a 09 09 09 27 6c 69 62 27 2c 0a 09 09 09 27 6f 63 73 27 2c 0a 09 09 09 27 6f 63 73 2d n',....'lib',....'ocs',....'ocs-
8a360 70 72 6f 76 69 64 65 72 27 2c 0a 09 09 09 27 6f 63 6d 2d 70 72 6f 76 69 64 65 72 27 2c 0a 09 09 provider',....'ocm-provider',...
8a380 09 27 72 65 73 6f 75 72 63 65 73 27 2c 0a 09 09 09 27 73 65 74 74 69 6e 67 73 27 2c 0a 09 09 09 .'resources',....'settings',....
8a3a0 27 74 68 65 6d 65 73 27 2c 0a 09 09 09 27 75 70 64 61 74 65 72 27 2c 0a 09 09 09 2f 2f 20 46 69 'themes',....'updater',....//.Fi
8a3c0 6c 65 73 0a 09 09 09 27 69 6e 64 65 78 2e 68 74 6d 6c 27 2c 0a 09 09 09 27 69 6e 64 69 65 2e 6a les....'index.html',....'indie.j
8a3e0 73 6f 6e 27 2c 0a 09 09 09 27 2e 75 73 65 72 2e 69 6e 69 27 2c 0a 09 09 09 27 63 6f 6e 73 6f 6c son',....'.user.ini',....'consol
8a400 65 2e 70 68 70 27 2c 0a 09 09 09 27 63 72 6f 6e 2e 70 68 70 27 2c 0a 09 09 09 27 69 6e 64 65 78 e.php',....'cron.php',....'index
8a420 2e 70 68 70 27 2c 0a 09 09 09 27 70 75 62 6c 69 63 2e 70 68 70 27 2c 0a 09 09 09 27 72 65 6d 6f .php',....'public.php',....'remo
8a440 74 65 2e 70 68 70 27 2c 0a 09 09 09 27 73 74 61 74 75 73 2e 70 68 70 27 2c 0a 09 09 09 27 76 65 te.php',....'status.php',....'ve
8a460 72 73 69 6f 6e 2e 70 68 70 27 2c 0a 09 09 09 27 72 6f 62 6f 74 73 2e 74 78 74 27 2c 0a 09 09 09 rsion.php',....'robots.txt',....
8a480 27 2e 68 74 61 63 63 65 73 73 27 2c 0a 09 09 09 27 41 55 54 48 4f 52 53 27 2c 0a 09 09 09 27 43 '.htaccess',....'AUTHORS',....'C
8a4a0 48 41 4e 47 45 4c 4f 47 2e 6d 64 27 2c 0a 09 09 09 27 43 4f 50 59 49 4e 47 27 2c 0a 09 09 09 27 HANGELOG.md',....'COPYING',....'
8a4c0 43 4f 50 59 49 4e 47 2d 41 47 50 4c 27 2c 0a 09 09 09 27 6f 63 63 27 2c 0a 09 09 09 27 64 62 5f COPYING-AGPL',....'occ',....'db_
8a4e0 73 74 72 75 63 74 75 72 65 2e 78 6d 6c 27 2c 0a 09 09 5d 3b 0a 09 09 72 65 74 75 72 6e 20 61 72 structure.xml',...];...return.ar
8a500 72 61 79 5f 6d 65 72 67 65 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 ray_merge($expected,.$this->getA
8a520 70 70 44 69 72 65 63 74 6f 72 69 65 73 28 29 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 52 ppDirectories());..}.../**...*.R
8a540 65 74 75 72 6e 73 20 61 70 70 20 64 69 72 65 63 74 6f 72 69 65 73 20 73 70 65 63 69 66 69 65 64 eturns.app.directories.specified
8a560 20 69 6e 20 63 6f 6e 66 69 67 2e 70 68 70 0a 09 20 2a 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 61 .in.config.php...*...*.@return.a
8a580 72 72 61 79 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 rray...*/..private.function.getA
8a5a0 70 70 44 69 72 65 63 74 6f 72 69 65 73 28 29 20 7b 0a 09 09 24 65 78 70 65 63 74 65 64 20 3d 20 ppDirectories().{...$expected.=.
8a5c0 5b 5d 3b 0a 09 09 69 66 28 24 61 70 70 73 50 61 74 68 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 [];...if($appsPaths.=.$this->get
8a5e0 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 61 70 70 73 5f 70 61 74 68 73 27 29 29 20 7b 0a 09 09 ConfigOption('apps_paths')).{...
8a600 09 66 6f 72 65 61 63 68 20 28 24 61 70 70 73 50 61 74 68 73 20 61 73 20 24 61 70 70 73 50 61 74 .foreach.($appsPaths.as.$appsPat
8a620 68 29 20 7b 0a 09 09 09 09 24 70 61 72 65 6e 74 44 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 h).{.....$parentDir.=.realpath($
8a640 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 27 29 3b 0a 09 09 09 09 24 61 70 this->baseDir...'/../');.....$ap
8a660 70 44 69 72 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 61 70 70 73 50 61 74 68 5b 27 70 61 74 68 27 pDir.=.basename($appsPath['path'
8a680 5d 29 3b 0a 09 09 09 09 69 66 28 73 74 72 70 6f 73 28 24 61 70 70 73 50 61 74 68 5b 27 70 61 74 ]);.....if(strpos($appsPath['pat
8a6a0 68 27 5d 2c 20 24 70 61 72 65 6e 74 44 69 72 29 20 3d 3d 3d 20 30 20 26 26 20 24 61 70 70 44 69 h'],.$parentDir).===.0.&&.$appDi
8a6c0 72 20 21 3d 3d 20 27 61 70 70 73 27 29 20 7b 0a 09 09 09 09 09 24 65 78 70 65 63 74 65 64 5b 5d r.!==.'apps').{......$expected[]
8a6e0 20 3d 20 24 61 70 70 44 69 72 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 74 .=.$appDir;.....}....}...}...ret
8a700 75 72 6e 20 24 65 78 70 65 63 74 65 64 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 47 65 74 73 urn.$expected;..}.../**...*.Gets
8a720 20 74 68 65 20 72 65 63 75 72 73 69 76 65 20 64 69 72 65 63 74 6f 72 79 20 69 74 65 72 61 74 6f .the.recursive.directory.iterato
8a740 72 20 6f 76 65 72 20 74 68 65 20 4e 65 78 74 63 6c 6f 75 64 20 66 6f 6c 64 65 72 0a 09 20 2a 0a r.over.the.Nextcloud.folder...*.
8a760 09 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 66 6f 6c 64 65 72 0a 09 20 2a 20 40 72 ..*.@param.string.$folder...*.@r
8a780 65 74 75 72 6e 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 eturn.\RecursiveIteratorIterator
8a7a0 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 63 75 72 ...*/..private.function.getRecur
8a7c0 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 66 6f 6c 64 65 72 20 3d 20 siveDirectoryIterator($folder.=.
8a7e0 6e 75 6c 6c 29 20 7b 0a 09 09 69 66 20 28 24 66 6f 6c 64 65 72 20 3d 3d 3d 20 6e 75 6c 6c 29 20 null).{...if.($folder.===.null).
8a800 7b 0a 09 09 09 24 66 6f 6c 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 {....$folder.=.$this->baseDir...
8a820 27 2f 2e 2e 2f 27 3b 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 6e 65 77 20 5c 52 65 63 75 72 73 '/../';...}...return.new.\Recurs
8a840 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 0a 09 09 09 6e 65 77 20 5c 52 65 63 iveIteratorIterator(....new.\Rec
8a860 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 66 6f 6c 64 65 72 2c ursiveDirectoryIterator($folder,
8a880 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 3a 3a 53 4b .\RecursiveDirectoryIterator::SK
8a8a0 49 50 5f 44 4f 54 53 29 2c 0a 09 09 09 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 IP_DOTS),....\RecursiveIteratorI
8a8c0 74 65 72 61 74 6f 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 0a 09 09 29 3b 0a 09 7d 0a 0a 09 2f terator::CHILD_FIRST...);..}.../
8a8e0 2a 2a 0a 09 20 2a 20 43 68 65 63 6b 73 20 66 6f 72 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 **...*.Checks.for.files.that.are
8a900 20 75 6e 65 78 70 65 63 74 65 64 2e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .unexpected....*/..public.functi
8a920 6f 6e 20 63 68 65 63 6b 46 6f 72 45 78 70 65 63 74 65 64 46 69 6c 65 73 41 6e 64 46 6f 6c 64 65 on.checkForExpectedFilesAndFolde
8a940 72 73 28 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f rs().{...$this->silentLog('[info
8a960 5d 20 63 68 65 63 6b 46 6f 72 45 78 70 65 63 74 65 64 46 69 6c 65 73 41 6e 64 46 6f 6c 64 65 72 ].checkForExpectedFilesAndFolder
8a980 73 28 29 27 29 3b 0a 0a 09 09 24 65 78 70 65 63 74 65 64 45 6c 65 6d 65 6e 74 73 20 3d 20 24 74 s()');....$expectedElements.=.$t
8a9a0 68 69 73 2d 3e 67 65 74 45 78 70 65 63 74 65 64 45 6c 65 6d 65 6e 74 73 4c 69 73 74 28 29 3b 0a his->getExpectedElementsList();.
8a9c0 09 09 24 75 6e 65 78 70 65 63 74 65 64 45 6c 65 6d 65 6e 74 73 20 3d 20 5b 5d 3b 0a 09 09 66 6f ..$unexpectedElements.=.[];...fo
8a9e0 72 65 61 63 68 20 28 6e 65 77 20 5c 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 74 reach.(new.\DirectoryIterator($t
8aa00 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 27 29 20 61 73 20 24 66 69 6c 65 49 his->baseDir...'/../').as.$fileI
8aa20 6e 66 6f 29 20 7b 0a 09 09 09 69 66 28 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 66 69 6c 65 49 nfo).{....if(array_search($fileI
8aa40 6e 66 6f 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 2c 20 24 65 78 70 65 63 74 65 64 45 6c 65 nfo->getFilename(),.$expectedEle
8aa60 6d 65 6e 74 73 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 24 75 6e 65 78 70 65 63 ments).===.false).{.....$unexpec
8aa80 74 65 64 45 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 24 66 69 6c 65 49 6e 66 6f 2d 3e 67 65 74 46 69 tedElements[].=.$fileInfo->getFi
8aaa0 6c 65 6e 61 6d 65 28 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 0a 09 09 69 66 20 28 63 6f 75 6e 74 28 lename();....}...}....if.(count(
8aac0 24 75 6e 65 78 70 65 63 74 65 64 45 6c 65 6d 65 6e 74 73 29 20 21 3d 3d 20 30 29 20 7b 0a 09 09 $unexpectedElements).!==.0).{...
8aae0 09 74 68 72 6f 77 20 6e 65 77 20 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 28 24 75 6e 65 78 .throw.new.UpdateException($unex
8ab00 70 65 63 74 65 64 45 6c 65 6d 65 6e 74 73 29 3b 0a 09 09 7d 0a 09 09 24 74 68 69 73 2d 3e 73 69 pectedElements);...}...$this->si
8ab20 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 63 68 65 63 6b 46 6f 72 45 lentLog('[info].end.of.checkForE
8ab40 78 70 65 63 74 65 64 46 69 6c 65 73 41 6e 64 46 6f 6c 64 65 72 73 28 29 27 29 3b 0a 09 7d 0a 0a xpectedFilesAndFolders()');..}..
8ab60 09 2f 2a 2a 0a 09 20 2a 20 43 68 65 63 6b 73 20 66 6f 72 20 66 69 6c 65 73 20 74 68 61 74 20 61 ./**...*.Checks.for.files.that.a
8ab80 72 65 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e re.not.writable...*/..public.fun
8aba0 63 74 69 6f 6e 20 63 68 65 63 6b 57 72 69 74 65 50 65 72 6d 69 73 73 69 6f 6e 73 28 29 20 7b 0a ction.checkWritePermissions().{.
8abc0 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 63 68 65 63 6b ..$this->silentLog('[info].check
8abe0 57 72 69 74 65 50 65 72 6d 69 73 73 69 6f 6e 73 28 29 27 29 3b 0a 0a 09 09 24 6e 6f 74 57 72 69 WritePermissions()');....$notWri
8ac00 74 61 62 6c 65 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 09 09 24 64 69 72 20 3d 20 6e tablePaths.=.array();...$dir.=.n
8ac20 65 77 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 28 24 ew.\RecursiveDirectoryIterator($
8ac40 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 27 29 3b 0a 09 09 24 66 69 6c 74 this->baseDir...'/../');...$filt
8ac60 65 72 20 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 er.=.new.RecursiveDirectoryItera
8ac80 74 6f 72 57 69 74 68 6f 75 74 44 61 74 61 28 24 64 69 72 29 3b 0a 09 09 24 69 74 20 3d 20 6e 65 torWithoutData($dir);...$it.=.ne
8aca0 77 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 66 69 w.\RecursiveIteratorIterator($fi
8acc0 6c 74 65 72 29 3b 0a 0a 09 09 66 6f 72 65 61 63 68 20 28 24 69 74 20 61 73 20 24 70 61 74 68 20 lter);....foreach.($it.as.$path.
8ace0 3d 3e 20 24 64 69 72 29 20 7b 0a 09 09 09 69 66 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 70 =>.$dir).{....if(!is_writable($p
8ad00 61 74 68 29 29 20 7b 0a 09 09 09 09 24 6e 6f 74 57 72 69 74 61 62 6c 65 50 61 74 68 73 5b 5d 20 ath)).{.....$notWritablePaths[].
8ad20 3d 20 24 70 61 74 68 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 69 66 28 63 6f 75 6e 74 28 24 6e 6f =.$path;....}...}...if(count($no
8ad40 74 57 72 69 74 61 62 6c 65 50 61 74 68 73 29 20 3e 20 30 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 tWritablePaths).>.0).{....throw.
8ad60 6e 65 77 20 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 28 24 6e 6f 74 57 72 69 74 61 62 6c 65 new.UpdateException($notWritable
8ad80 50 61 74 68 73 29 3b 0a 09 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 Paths);...}....$this->silentLog(
8ada0 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 63 68 65 63 6b 57 72 69 74 65 50 65 72 6d 69 73 73 '[info].end.of.checkWritePermiss
8adc0 69 6f 6e 73 28 29 27 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 53 65 74 73 20 74 68 65 20 ions()');..}.../**...*.Sets.the.
8ade0 6d 61 69 6e 74 65 6e 61 6e 63 65 20 6d 6f 64 65 20 74 6f 20 74 68 65 20 64 65 66 69 6e 65 64 20 maintenance.mode.to.the.defined.
8ae00 76 61 6c 75 65 0a 09 20 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 73 74 61 74 65 value...*...*.@param.bool.$state
8ae20 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 20 77 68 65 6e 20 63 6f 6e ...*.@throws.\Exception.when.con
8ae40 66 69 67 2e 70 68 70 20 63 61 6e 27 74 20 62 65 20 77 72 69 74 74 65 6e 0a 09 20 2a 2f 0a 09 70 fig.php.can't.be.written...*/..p
8ae60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 69 6e 74 65 6e 61 6e 63 65 4d 6f 64 ublic.function.setMaintenanceMod
8ae80 65 28 24 73 74 61 74 65 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 e($state).{...$this->silentLog('
8aea0 5b 69 6e 66 6f 5d 20 73 65 74 4d 61 69 6e 74 65 6e 61 6e 63 65 4d 6f 64 65 28 22 27 20 2e 20 28 [info].setMaintenanceMode("'...(
8aec0 24 73 74 61 74 65 20 3f 20 27 74 72 75 65 27 20 3a 20 27 66 61 6c 73 65 27 29 20 2e 20 20 27 22 $state.?.'true'.:.'false')....'"
8aee0 29 27 29 3b 0a 0a 09 09 69 66 28 24 64 69 72 20 3d 20 67 65 74 65 6e 76 28 27 4e 45 58 54 43 4c )');....if($dir.=.getenv('NEXTCL
8af00 4f 55 44 5f 43 4f 4e 46 49 47 5f 44 49 52 27 29 29 20 7b 0a 09 09 09 24 63 6f 6e 66 69 67 46 69 OUD_CONFIG_DIR')).{....$configFi
8af20 6c 65 4e 61 6d 65 20 3d 20 72 74 72 69 6d 28 24 64 69 72 2c 20 27 2f 27 29 20 2e 20 27 2f 63 6f leName.=.rtrim($dir,.'/')...'/co
8af40 6e 66 69 67 2e 70 68 70 27 3b 0a 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 24 63 6f 6e 66 69 67 nfig.php';...}.else.{....$config
8af60 46 69 6c 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e FileName.=.$this->baseDir...'/..
8af80 2f 63 6f 6e 66 69 67 2f 63 6f 6e 66 69 67 2e 70 68 70 27 3b 0a 09 09 7d 0a 09 09 24 74 68 69 73 /config/config.php';...}...$this
8afa0 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 63 6f 6e 66 69 67 46 69 6c 65 4e 61 ->silentLog('[info].configFileNa
8afc0 6d 65 20 27 20 2e 20 24 63 6f 6e 66 69 67 46 69 6c 65 4e 61 6d 65 29 3b 0a 0a 09 09 2f 2f 20 75 me.'...$configFileName);....//.u
8afe0 73 75 61 6c 6c 79 20 69 73 20 61 6c 72 65 61 64 79 20 74 65 73 74 65 64 20 69 6e 20 74 68 65 20 sually.is.already.tested.in.the.
8b000 63 6f 6e 73 74 72 75 63 74 6f 72 20 62 75 74 20 6a 75 73 74 20 74 6f 20 62 65 20 6f 6e 20 74 68 constructor.but.just.to.be.on.th
8b020 65 20 73 61 66 65 20 73 69 64 65 0a 09 09 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 e.safe.side...if.(!file_exists($
8b040 63 6f 6e 66 69 67 46 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 configFileName)).{....throw.new.
8b060 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 63 6f 6e 66 69 \Exception('Could.not.find.confi
8b080 67 2e 70 68 70 2e 27 29 3b 0a 09 09 7d 0a 09 09 2f 2a 2a 20 40 76 61 72 20 61 72 72 61 79 20 24 g.php.');...}.../**.@var.array.$
8b0a0 43 4f 4e 46 49 47 20 2a 2f 0a 09 09 72 65 71 75 69 72 65 20 24 63 6f 6e 66 69 67 46 69 6c 65 4e CONFIG.*/...require.$configFileN
8b0c0 61 6d 65 3b 0a 09 09 24 43 4f 4e 46 49 47 5b 27 6d 61 69 6e 74 65 6e 61 6e 63 65 27 5d 20 3d 20 ame;...$CONFIG['maintenance'].=.
8b0e0 24 73 74 61 74 65 3b 0a 09 09 24 63 6f 6e 74 65 6e 74 20 3d 20 22 3c 3f 70 68 70 5c 6e 22 3b 0a $state;...$content.=."<?php\n";.
8b100 09 09 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 27 24 43 4f 4e 46 49 47 20 3d 20 27 3b 0a 09 09 24 63 ..$content..=.'$CONFIG.=.';...$c
8b120 6f 6e 74 65 6e 74 20 2e 3d 20 76 61 72 5f 65 78 70 6f 72 74 28 24 43 4f 4e 46 49 47 2c 20 74 72 ontent..=.var_export($CONFIG,.tr
8b140 75 65 29 3b 0a 09 09 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 22 3b 5c 6e 22 3b 0a 09 09 24 73 74 61 ue);...$content..=.";\n";...$sta
8b160 74 65 20 3d 20 66 69 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 te.=.file_put_contents($configFi
8b180 6c 65 4e 61 6d 65 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a 09 09 69 66 20 28 24 73 74 61 74 65 20 leName,.$content);...if.($state.
8b1a0 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 ===.false).{....throw.new.\Excep
8b1c0 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 77 72 69 74 65 20 74 6f 20 63 6f 6e 66 69 67 2e tion('Could.not.write.to.config.
8b1e0 70 68 70 27 29 3b 0a 09 09 7d 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b php');...}...$this->silentLog('[
8b200 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 73 65 74 4d 61 69 6e 74 65 6e 61 6e 63 65 4d 6f 64 65 28 info].end.of.setMaintenanceMode(
8b220 29 27 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 43 72 65 61 74 65 73 20 61 20 62 61 63 6b )');..}.../**...*.Creates.a.back
8b240 75 70 20 6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 61 6e 64 20 6d 6f 76 65 73 20 69 74 20 69 6e 74 up.of.all.files.and.moves.it.int
8b260 6f 20 64 61 74 61 2f 75 70 64 61 74 65 72 2d 24 69 6e 73 74 61 6e 63 65 69 64 2f 62 61 63 6b 75 o.data/updater-$instanceid/backu
8b280 70 73 2f 6e 65 78 74 63 6c 6f 75 64 2d 58 2d 59 2d 5a 2f 0a 09 20 2a 0a 09 20 2a 20 40 74 68 72 ps/nextcloud-X-Y-Z/...*...*.@thr
8b2a0 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 ows.\Exception...*/..public.func
8b2c0 74 69 6f 6e 20 63 72 65 61 74 65 42 61 63 6b 75 70 28 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 tion.createBackup().{...$this->s
8b2e0 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 63 72 65 61 74 65 42 61 63 6b 75 70 28 29 27 ilentLog('[info].createBackup()'
8b300 29 3b 0a 0a 09 09 24 65 78 63 6c 75 64 65 64 45 6c 65 6d 65 6e 74 73 20 3d 20 5b 0a 09 09 09 27 );....$excludedElements.=.[....'
8b320 2e 77 65 6c 6c 2d 6b 6e 6f 77 6e 27 2c 0a 09 09 09 27 64 61 74 61 27 2c 0a 09 09 5d 3b 0a 0a 09 .well-known',....'data',...];...
8b340 09 2f 2f 20 43 72 65 61 74 65 20 6e 65 77 20 66 6f 6c 64 65 72 20 66 6f 72 20 74 68 65 20 62 61 .//.Create.new.folder.for.the.ba
8b360 63 6b 75 70 0a 09 09 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 4c 6f 63 61 74 69 6f 6e 20 3d 20 24 ckup...$backupFolderLocation.=.$
8b380 74 68 69 73 2d 3e 67 65 74 44 61 74 61 44 69 72 65 63 74 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 this->getDataDirectoryLocation()
8b3a0 20 2e 20 27 2f 75 70 64 61 74 65 72 2d 27 2e 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f ...'/updater-'.$this->getConfigO
8b3c0 70 74 69 6f 6e 28 27 69 6e 73 74 61 6e 63 65 69 64 27 29 2e 27 2f 62 61 63 6b 75 70 73 2f 6e 65 ption('instanceid').'/backups/ne
8b3e0 78 74 63 6c 6f 75 64 2d 27 2e 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e xtcloud-'.$this->getConfigOption
8b400 28 27 76 65 72 73 69 6f 6e 27 29 20 2e 20 27 2f 27 3b 0a 09 09 69 66 28 66 69 6c 65 5f 65 78 69 ('version')...'/';...if(file_exi
8b420 73 74 73 28 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 4c 6f 63 61 74 69 6f 6e 29 29 20 7b 0a 09 09 sts($backupFolderLocation)).{...
8b440 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 62 61 63 6b 75 70 .$this->silentLog('[info].backup
8b460 20 66 6f 6c 64 65 72 20 6c 6f 63 61 74 69 6f 6e 20 65 78 69 73 74 73 27 29 3b 0a 0a 09 09 09 24 .folder.location.exists');.....$
8b480 74 68 69 73 2d 3e 72 65 63 75 72 73 69 76 65 44 65 6c 65 74 65 28 24 62 61 63 6b 75 70 46 6f 6c this->recursiveDelete($backupFol
8b4a0 64 65 72 4c 6f 63 61 74 69 6f 6e 29 3b 0a 09 09 7d 0a 09 09 24 73 74 61 74 65 20 3d 20 6d 6b 64 derLocation);...}...$state.=.mkd
8b4c0 69 72 28 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 4c 6f 63 61 74 69 6f 6e 2c 20 30 37 35 30 2c 20 ir($backupFolderLocation,.0750,.
8b4e0 74 72 75 65 29 3b 0a 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a true);...if($state.===.false).{.
8b500 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e ...throw.new.\Exception('Could.n
8b520 6f 74 20 63 72 65 61 74 65 20 62 61 63 6b 75 70 20 66 6f 6c 64 65 72 20 6c 6f 63 61 74 69 6f 6e ot.create.backup.folder.location
8b540 27 29 3b 0a 09 09 7d 0a 0a 09 09 2f 2f 20 43 6f 70 79 20 74 68 65 20 62 61 63 6b 75 70 20 66 69 ');...}....//.Copy.the.backup.fi
8b560 6c 65 73 0a 09 09 24 63 75 72 72 65 6e 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 44 les...$currentDir.=.$this->baseD
8b580 69 72 20 2e 20 27 2f 2e 2e 2f 27 3b 0a 0a 09 09 2f 2a 2a 0a 09 09 20 2a 20 40 76 61 72 20 73 74 ir...'/../';..../**....*.@var.st
8b5a0 72 69 6e 67 20 24 70 61 74 68 0a 09 09 20 2a 20 40 76 61 72 20 5c 53 70 6c 46 69 6c 65 49 6e 66 ring.$path....*.@var.\SplFileInf
8b5c0 6f 20 24 66 69 6c 65 49 6e 66 6f 0a 09 09 20 2a 2f 0a 09 09 66 6f 72 65 61 63 68 20 28 24 74 68 o.$fileInfo....*/...foreach.($th
8b5e0 69 73 2d 3e 67 65 74 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 is->getRecursiveDirectoryIterato
8b600 72 28 24 63 75 72 72 65 6e 74 44 69 72 29 20 61 73 20 24 70 61 74 68 20 3d 3e 20 24 66 69 6c 65 r($currentDir).as.$path.=>.$file
8b620 49 6e 66 6f 29 20 7b 0a 09 09 09 24 66 69 6c 65 4e 61 6d 65 20 3d 20 65 78 70 6c 6f 64 65 28 24 Info).{....$fileName.=.explode($
8b640 63 75 72 72 65 6e 74 44 69 72 2c 20 24 70 61 74 68 29 5b 31 5d 3b 0a 09 09 09 24 66 6f 6c 64 65 currentDir,.$path)[1];....$folde
8b660 72 53 74 72 75 63 74 75 72 65 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 66 69 6c 65 4e rStructure.=.explode('/',.$fileN
8b680 61 6d 65 2c 20 2d 31 29 3b 0a 0a 09 09 09 2f 2f 20 45 78 63 6c 75 64 65 20 74 68 65 20 65 78 63 ame,.-1);.....//.Exclude.the.exc
8b6a0 6c 75 73 69 6f 6e 73 0a 09 09 09 69 66 28 69 73 73 65 74 28 24 66 6f 6c 64 65 72 53 74 72 75 63 lusions....if(isset($folderStruc
8b6c0 74 75 72 65 5b 30 5d 29 29 20 7b 0a 09 09 09 09 69 66 28 61 72 72 61 79 5f 73 65 61 72 63 68 28 ture[0])).{.....if(array_search(
8b6e0 24 66 6f 6c 64 65 72 53 74 72 75 63 74 75 72 65 5b 30 5d 2c 20 24 65 78 63 6c 75 64 65 64 45 6c $folderStructure[0],.$excludedEl
8b700 65 6d 65 6e 74 73 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 63 6f 6e 74 69 6e ements).!==.false).{......contin
8b720 75 65 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 69 66 28 61 72 72 ue;.....}....}.else.{.....if(arr
8b740 61 79 5f 73 65 61 72 63 68 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 65 78 63 6c 75 64 65 64 45 6c ay_search($fileName,.$excludedEl
8b760 65 6d 65 6e 74 73 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 63 6f 6e 74 69 6e ements).!==.false).{......contin
8b780 75 65 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 0a 09 09 09 2f 2f 20 43 72 65 61 74 65 20 66 6f 6c ue;.....}....}.....//.Create.fol
8b7a0 64 65 72 20 69 66 20 69 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 0a 09 09 09 69 66 28 21 66 der.if.it.doesn't.exist....if(!f
8b7c0 69 6c 65 5f 65 78 69 73 74 73 28 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 4c 6f 63 61 74 69 6f 6e ile_exists($backupFolderLocation
8b7e0 20 2e 20 27 2f 27 20 2e 20 64 69 72 6e 61 6d 65 28 24 66 69 6c 65 4e 61 6d 65 29 29 29 20 7b 0a ...'/'...dirname($fileName))).{.
8b800 09 09 09 09 24 73 74 61 74 65 20 3d 20 6d 6b 64 69 72 28 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 ....$state.=.mkdir($backupFolder
8b820 4c 6f 63 61 74 69 6f 6e 20 2e 20 27 2f 27 20 2e 20 64 69 72 6e 61 6d 65 28 24 66 69 6c 65 4e 61 Location...'/'...dirname($fileNa
8b840 6d 65 29 2c 20 30 37 35 30 2c 20 74 72 75 65 29 3b 0a 09 09 09 09 69 66 28 24 73 74 61 74 65 20 me),.0750,.true);.....if($state.
8b860 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 ===.false).{......throw.new.\Exc
8b880 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 66 6f 6c 64 65 72 3a eption('Could.not.create.folder:
8b8a0 20 27 2e 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 4c 6f 63 61 74 69 6f 6e 2e 27 2f 27 2e 64 69 72 .'.$backupFolderLocation.'/'.dir
8b8c0 6e 61 6d 65 28 24 66 69 6c 65 4e 61 6d 65 29 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 0a 09 09 name($fileName));.....}....}....
8b8e0 09 2f 2f 20 49 66 20 69 74 20 69 73 20 61 20 66 69 6c 65 20 63 6f 70 79 20 69 74 0a 09 09 09 69 .//.If.it.is.a.file.copy.it....i
8b900 66 28 24 66 69 6c 65 49 6e 66 6f 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 09 09 09 09 24 73 74 f($fileInfo->isFile()).{.....$st
8b920 61 74 65 20 3d 20 63 6f 70 79 28 24 66 69 6c 65 49 6e 66 6f 2d 3e 67 65 74 52 65 61 6c 50 61 74 ate.=.copy($fileInfo->getRealPat
8b940 68 28 29 2c 20 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 4c 6f 63 61 74 69 6f 6e 20 2e 20 24 66 69 h(),.$backupFolderLocation...$fi
8b960 6c 65 4e 61 6d 65 29 3b 0a 09 09 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 leName);.....if($state.===.false
8b980 29 20 7b 0a 09 09 09 09 09 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 09 09 09 ).{......$message.=.sprintf(....
8b9a0 09 09 09 27 43 6f 75 6c 64 20 6e 6f 74 20 63 6f 70 79 20 22 25 73 22 20 74 6f 20 22 25 73 22 27 ...'Could.not.copy."%s".to."%s"'
8b9c0 2c 0a 09 09 09 09 09 09 24 66 69 6c 65 49 6e 66 6f 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 ,.......$fileInfo->getRealPath()
8b9e0 2c 0a 09 09 09 09 09 09 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 4c 6f 63 61 74 69 6f 6e 20 2e 20 ,.......$backupFolderLocation...
8ba00 24 66 69 6c 65 4e 61 6d 65 0a 09 09 09 09 09 29 3b 0a 0a 09 09 09 09 09 69 66 28 69 73 5f 72 65 $fileName......);.......if(is_re
8ba20 61 64 61 62 6c 65 28 24 66 69 6c 65 49 6e 66 6f 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 29 adable($fileInfo->getRealPath())
8ba40 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 09 24 6d 65 73 73 61 67 65 20 3d 20 73 .===.false).{.......$message.=.s
8ba60 70 72 69 6e 74 66 28 0a 09 09 09 09 09 09 09 27 25 73 2e 20 53 6f 75 72 63 65 20 25 73 20 69 73 printf(........'%s..Source.%s.is
8ba80 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 27 2c 0a 09 09 09 09 09 09 09 24 6d 65 73 73 61 67 65 2c .not.readable',........$message,
8baa0 0a 09 09 09 09 09 09 09 24 66 69 6c 65 49 6e 66 6f 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 ........$fileInfo->getRealPath()
8bac0 0a 09 09 09 09 09 09 29 3b 0a 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 69 66 28 69 73 5f 77 72 69 .......);......}.......if(is_wri
8bae0 74 61 62 6c 65 28 24 62 61 63 6b 75 70 46 6f 6c 64 65 72 4c 6f 63 61 74 69 6f 6e 20 2e 20 24 66 table($backupFolderLocation...$f
8bb00 69 6c 65 4e 61 6d 65 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 09 24 6d 65 73 ileName).===.false).{.......$mes
8bb20 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 09 09 09 09 09 09 09 27 25 73 2e 20 44 65 73 74 sage.=.sprintf(........'%s..Dest
8bb40 69 6e 61 74 69 6f 6e 20 25 73 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 27 2c 0a 09 09 09 ination.%s.is.not.writable',....
8bb60 09 09 09 09 24 6d 65 73 73 61 67 65 2c 0a 09 09 09 09 09 09 09 24 62 61 63 6b 75 70 46 6f 6c 64 ....$message,........$backupFold
8bb80 65 72 4c 6f 63 61 74 69 6f 6e 20 2e 20 24 66 69 6c 65 4e 61 6d 65 0a 09 09 09 09 09 09 29 3b 0a erLocation...$fileName.......);.
8bba0 09 09 09 09 09 7d 0a 0a 09 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f .....}.......throw.new.\Exceptio
8bbc0 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 24 74 n($message);.....}....}...}...$t
8bbe0 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 63 72 his->silentLog('[info].end.of.cr
8bc00 65 61 74 65 42 61 63 6b 75 70 28 29 27 29 3b 0a 09 7d 0a 0a 09 70 72 69 76 61 74 65 20 66 75 6e eateBackup()');..}...private.fun
8bc20 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 6c 6f 67 55 52 4c 28 24 76 65 72 73 69 6f 6e 53 74 ction.getChangelogURL($versionSt
8bc40 72 69 6e 67 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 ring).{...$this->silentLog('[inf
8bc60 6f 5d 20 67 65 74 43 68 61 6e 67 65 6c 6f 67 55 52 4c 28 29 27 29 3b 0a 09 09 24 63 68 61 6e 67 o].getChangelogURL()');...$chang
8bc80 65 6c 6f 67 57 65 62 73 69 74 65 20 3d 20 27 68 74 74 70 73 3a 2f 2f 6e 65 78 74 63 6c 6f 75 64 elogWebsite.=.'https://nextcloud
8bca0 2e 63 6f 6d 2f 63 68 61 6e 67 65 6c 6f 67 2f 27 3b 0a 09 09 24 63 68 61 6e 67 65 6c 6f 67 55 52 .com/changelog/';...$changelogUR
8bcc0 4c 20 3d 20 24 63 68 61 6e 67 65 6c 6f 67 57 65 62 73 69 74 65 20 2e 20 27 23 27 20 2e 20 73 74 L.=.$changelogWebsite...'#'...st
8bce0 72 5f 72 65 70 6c 61 63 65 28 27 2e 27 2c 20 27 2d 27 2c 20 24 76 65 72 73 69 6f 6e 53 74 72 69 r_replace('.',.'-',.$versionStri
8bd00 6e 67 29 3b 0a 09 09 72 65 74 75 72 6e 20 24 63 68 61 6e 67 65 6c 6f 67 55 52 4c 3b 0a 09 7d 0a ng);...return.$changelogURL;..}.
8bd20 0a 09 2f 2a 2a 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 0a 09 20 2a 20 40 74 68 72 ../**...*.@return.array...*.@thr
8bd40 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 66 75 6e ows.\Exception...*/..private.fun
8bd60 63 74 69 6f 6e 20 67 65 74 55 70 64 61 74 65 53 65 72 76 65 72 52 65 73 70 6f 6e 73 65 28 29 20 ction.getUpdateServerResponse().
8bd80 7b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 67 65 74 {...$this->silentLog('[info].get
8bda0 55 70 64 61 74 65 53 65 72 76 65 72 52 65 73 70 6f 6e 73 65 28 29 27 29 3b 0a 0a 09 09 24 75 70 UpdateServerResponse()');....$up
8bdc0 64 61 74 65 72 53 65 72 76 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 daterServer.=.$this->getConfigOp
8bde0 74 69 6f 6e 28 27 75 70 64 61 74 65 72 2e 73 65 72 76 65 72 2e 75 72 6c 27 29 3b 0a 09 09 69 66 tion('updater.server.url');...if
8be00 28 24 75 70 64 61 74 65 72 53 65 72 76 65 72 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 09 09 09 2f ($updaterServer.===.null).{..../
8be20 2f 20 46 49 58 4d 45 3a 20 75 73 65 64 20 64 65 70 6c 6f 79 65 64 20 55 52 4c 0a 09 09 09 24 75 /.FIXME:.used.deployed.URL....$u
8be40 70 64 61 74 65 72 53 65 72 76 65 72 20 3d 20 27 68 74 74 70 73 3a 2f 2f 75 70 64 61 74 65 73 2e pdaterServer.=.'https://updates.
8be60 6e 65 78 74 63 6c 6f 75 64 2e 63 6f 6d 2f 75 70 64 61 74 65 72 5f 73 65 72 76 65 72 2f 27 3b 0a nextcloud.com/updater_server/';.
8be80 09 09 7d 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 ..}...$this->silentLog('[info].u
8bea0 70 64 61 74 65 72 53 65 72 76 65 72 3a 20 27 20 2e 20 24 75 70 64 61 74 65 72 53 65 72 76 65 72 pdaterServer:.'...$updaterServer
8bec0 29 3b 0a 0a 09 09 24 72 65 6c 65 61 73 65 43 68 61 6e 6e 65 6c 20 3d 20 24 74 68 69 73 2d 3e 67 );....$releaseChannel.=.$this->g
8bee0 65 74 43 75 72 72 65 6e 74 52 65 6c 65 61 73 65 43 68 61 6e 6e 65 6c 28 29 3b 0a 09 09 24 74 68 etCurrentReleaseChannel();...$th
8bf00 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 72 65 6c 65 61 73 65 43 68 61 is->silentLog('[info].releaseCha
8bf20 6e 6e 65 6c 3a 20 27 20 2e 20 24 72 65 6c 65 61 73 65 43 68 61 6e 6e 65 6c 29 3b 0a 09 09 24 74 nnel:.'...$releaseChannel);...$t
8bf40 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 69 6e 74 65 72 6e 61 6c 20 his->silentLog('[info].internal.
8bf60 76 65 72 73 69 6f 6e 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 version:.'...$this->getConfigOpt
8bf80 69 6f 6e 28 27 76 65 72 73 69 6f 6e 27 29 29 3b 0a 0a 09 09 24 75 70 64 61 74 65 55 52 4c 20 3d ion('version'));....$updateURL.=
8bfa0 20 24 75 70 64 61 74 65 72 53 65 72 76 65 72 20 2e 20 27 3f 76 65 72 73 69 6f 6e 3d 27 2e 20 73 .$updaterServer...'?version='..s
8bfc0 74 72 5f 72 65 70 6c 61 63 65 28 27 2e 27 2c 20 27 78 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 tr_replace('.',.'x',.$this->getC
8bfe0 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 76 65 72 73 69 6f 6e 27 29 29 20 2e 27 78 78 78 27 2e 24 onfigOption('version'))..'xxx'.$
8c000 72 65 6c 65 61 73 65 43 68 61 6e 6e 65 6c 2e 27 78 78 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 74 releaseChannel.'xx'.urlencode($t
8c020 68 69 73 2d 3e 62 75 69 6c 64 54 69 6d 65 29 2e 27 78 27 2e 50 48 50 5f 4d 41 4a 4f 52 5f 56 45 his->buildTime).'x'.PHP_MAJOR_VE
8c040 52 53 49 4f 4e 2e 27 78 27 2e 50 48 50 5f 4d 49 4e 4f 52 5f 56 45 52 53 49 4f 4e 2e 27 78 27 2e RSION.'x'.PHP_MINOR_VERSION.'x'.
8c060 50 48 50 5f 52 45 4c 45 41 53 45 5f 56 45 52 53 49 4f 4e 3b 0a 09 09 24 74 68 69 73 2d 3e 73 69 PHP_RELEASE_VERSION;...$this->si
8c080 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 70 64 61 74 65 55 52 4c 3a 20 27 20 2e 20 24 lentLog('[info].updateURL:.'...$
8c0a0 75 70 64 61 74 65 55 52 4c 29 3b 0a 0a 09 09 2f 2f 20 44 6f 77 6e 6c 6f 61 64 20 75 70 64 61 74 updateURL);....//.Download.updat
8c0c0 65 20 72 65 73 70 6f 6e 73 65 0a 09 09 24 63 75 72 6c 20 3d 20 63 75 72 6c 5f 69 6e 69 74 28 29 e.response...$curl.=.curl_init()
8c0e0 3b 0a 09 09 63 75 72 6c 5f 73 65 74 6f 70 74 5f 61 72 72 61 79 28 24 63 75 72 6c 2c 20 5b 0a 09 ;...curl_setopt_array($curl,.[..
8c100 09 09 43 55 52 4c 4f 50 54 5f 52 45 54 55 52 4e 54 52 41 4e 53 46 45 52 20 3d 3e 20 31 2c 0a 09 ..CURLOPT_RETURNTRANSFER.=>.1,..
8c120 09 09 43 55 52 4c 4f 50 54 5f 55 52 4c 20 3d 3e 20 24 75 70 64 61 74 65 55 52 4c 2c 0a 09 09 09 ..CURLOPT_URL.=>.$updateURL,....
8c140 43 55 52 4c 4f 50 54 5f 55 53 45 52 41 47 45 4e 54 20 3d 3e 20 27 4e 65 78 74 63 6c 6f 75 64 20 CURLOPT_USERAGENT.=>.'Nextcloud.
8c160 55 70 64 61 74 65 72 27 2c 0a 09 09 5d 29 3b 0a 0a 09 09 69 66 20 28 24 74 68 69 73 2d 3e 67 65 Updater',...]);....if.($this->ge
8c180 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 70 72 6f 78 79 27 29 20 21 3d 3d 20 6e 75 6c 6c 29 tConfigOption('proxy').!==.null)
8c1a0 20 7b 0a 09 09 09 63 75 72 6c 5f 73 65 74 6f 70 74 5f 61 72 72 61 79 28 24 63 75 72 6c 2c 20 5b .{....curl_setopt_array($curl,.[
8c1c0 0a 09 09 09 09 43 55 52 4c 4f 50 54 5f 50 52 4f 58 59 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 .....CURLOPT_PROXY.=>.$this->get
8c1e0 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 70 72 6f 78 79 27 29 2c 0a 09 09 09 09 43 55 52 4c 4f ConfigOption('proxy'),.....CURLO
8c200 50 54 5f 50 52 4f 58 59 55 53 45 52 50 57 44 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e PT_PROXYUSERPWD.=>.$this->getCon
8c220 66 69 67 4f 70 74 69 6f 6e 28 27 70 72 6f 78 79 75 73 65 72 70 77 64 27 29 2c 0a 09 09 09 09 43 figOption('proxyuserpwd'),.....C
8c240 55 52 4c 4f 50 54 5f 48 54 54 50 50 52 4f 58 59 54 55 4e 4e 45 4c 20 3d 3e 20 24 74 68 69 73 2d URLOPT_HTTPPROXYTUNNEL.=>.$this-
8c260 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 70 72 6f 78 79 27 29 20 3f 20 31 20 3a 20 >getConfigOption('proxy').?.1.:.
8c280 30 2c 0a 09 09 09 5d 29 3b 0a 09 09 7d 0a 0a 09 09 24 72 65 73 70 6f 6e 73 65 20 3d 20 63 75 72 0,....]);...}....$response.=.cur
8c2a0 6c 5f 65 78 65 63 28 24 63 75 72 6c 29 3b 0a 09 09 69 66 28 24 72 65 73 70 6f 6e 73 65 20 3d 3d l_exec($curl);...if($response.==
8c2c0 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 =.false).{....throw.new.\Excepti
8c2e0 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 64 6f 20 72 65 71 75 65 73 74 20 74 6f 20 75 70 64 61 on('Could.not.do.request.to.upda
8c300 74 65 72 20 73 65 72 76 65 72 3a 20 27 2e 63 75 72 6c 5f 65 72 72 6f 72 28 24 63 75 72 6c 29 29 ter.server:.'.curl_error($curl))
8c320 3b 0a 09 09 7d 0a 09 09 63 75 72 6c 5f 63 6c 6f 73 65 28 24 63 75 72 6c 29 3b 0a 0a 09 09 2f 2f ;...}...curl_close($curl);....//
8c340 20 52 65 73 70 6f 6e 73 65 20 63 61 6e 20 62 65 20 65 6d 70 74 79 20 77 68 65 6e 20 6e 6f 20 75 .Response.can.be.empty.when.no.u
8c360 70 64 61 74 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 0a 09 09 69 66 28 24 72 65 73 70 6f 6e 73 pdate.is.available...if($respons
8c380 65 20 3d 3d 3d 20 27 27 29 20 7b 0a 09 09 09 72 65 74 75 72 6e 20 5b 5d 3b 0a 09 09 7d 0a 0a 09 e.===.'').{....return.[];...}...
8c3a0 09 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 6e 67 28 24 72 .$xml.=.simplexml_load_string($r
8c3c0 65 73 70 6f 6e 73 65 29 3b 0a 09 09 69 66 28 24 78 6d 6c 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b esponse);...if($xml.===.false).{
8c3e0 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 ....throw.new.\Exception('Could.
8c400 6e 6f 74 20 70 61 72 73 65 20 75 70 64 61 74 65 72 20 73 65 72 76 65 72 20 58 4d 4c 20 72 65 73 not.parse.updater.server.XML.res
8c420 70 6f 6e 73 65 27 29 3b 0a 09 09 7d 0a 09 09 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f ponse');...}...$json.=.json_enco
8c440 64 65 28 24 78 6d 6c 29 3b 0a 09 09 69 66 28 24 6a 73 6f 6e 20 3d 3d 3d 20 66 61 6c 73 65 29 20 de($xml);...if($json.===.false).
8c460 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 {....throw.new.\Exception('Could
8c480 20 6e 6f 74 20 4a 53 4f 4e 20 65 6e 63 6f 64 65 20 75 70 64 61 74 65 72 20 73 65 72 76 65 72 20 .not.JSON.encode.updater.server.
8c4a0 72 65 73 70 6f 6e 73 65 27 29 3b 0a 09 09 7d 0a 09 09 24 72 65 73 70 6f 6e 73 65 20 3d 20 6a 73 response');...}...$response.=.js
8c4c0 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 3b 0a 09 09 69 66 28 24 72 65 on_decode($json,.true);...if($re
8c4e0 73 70 6f 6e 73 65 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 sponse.===.null).{....throw.new.
8c500 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 4a 53 4f 4e 20 64 65 63 6f 64 \Exception('Could.not.JSON.decod
8c520 65 20 75 70 64 61 74 65 72 20 73 65 72 76 65 72 20 72 65 73 70 6f 6e 73 65 2e 27 29 3b 0a 09 09 e.updater.server.response.');...
8c540 7d 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 67 65 74 }...$this->silentLog('[info].get
8c560 55 70 64 61 74 65 53 65 72 76 65 72 52 65 73 70 6f 6e 73 65 20 72 65 73 70 6f 6e 73 65 3a 20 27 UpdateServerResponse.response:.'
8c580 20 2e 20 70 72 69 6e 74 5f 72 28 24 72 65 73 70 6f 6e 73 65 2c 20 74 72 75 65 29 29 3b 0a 09 09 ...print_r($response,.true));...
8c5a0 72 65 74 75 72 6e 20 24 72 65 73 70 6f 6e 73 65 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 44 return.$response;..}.../**...*.D
8c5c0 6f 77 6e 6c 6f 61 64 73 20 74 68 65 20 6e 65 78 74 63 6c 6f 75 64 20 66 6f 6c 64 65 72 20 74 6f ownloads.the.nextcloud.folder.to
8c5e0 20 24 44 41 54 41 44 49 52 2f 75 70 64 61 74 65 72 2d 24 69 6e 73 74 61 6e 63 65 69 64 2f 64 6f .$DATADIR/updater-$instanceid/do
8c600 77 6e 6c 6f 61 64 73 2f 24 66 69 6c 65 6e 61 6d 65 0a 09 20 2a 0a 09 20 2a 20 40 74 68 72 6f 77 wnloads/$filename...*...*.@throw
8c620 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 s.\Exception...*/..public.functi
8c640 6f 6e 20 64 6f 77 6e 6c 6f 61 64 55 70 64 61 74 65 28 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 on.downloadUpdate().{...$this->s
8c660 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 64 6f 77 6e 6c 6f 61 64 55 70 64 61 74 65 28 ilentLog('[info].downloadUpdate(
8c680 29 27 29 3b 0a 0a 09 09 24 72 65 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 70 )');....$response.=.$this->getUp
8c6a0 64 61 74 65 53 65 72 76 65 72 52 65 73 70 6f 6e 73 65 28 29 3b 0a 09 09 24 73 74 6f 72 61 67 65 dateServerResponse();...$storage
8c6c0 4c 6f 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 44 69 72 65 63 74 6f Location.=.$this->getDataDirecto
8c6e0 72 79 4c 6f 63 61 74 69 6f 6e 28 29 20 2e 20 27 2f 75 70 64 61 74 65 72 2d 27 2e 24 74 68 69 73 ryLocation()...'/updater-'.$this
8c700 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 6e 63 65 69 64 27 29 20 ->getConfigOption('instanceid').
8c720 2e 20 27 2f 64 6f 77 6e 6c 6f 61 64 73 2f 27 3b 0a 09 09 69 66 28 66 69 6c 65 5f 65 78 69 73 74 ..'/downloads/';...if(file_exist
8c740 73 28 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 29 29 20 7b 0a 09 09 09 24 74 68 69 73 2d s($storageLocation)).{....$this-
8c760 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 73 74 6f 72 61 67 65 20 6c 6f 63 61 74 >silentLog('[info].storage.locat
8c780 69 6f 6e 20 65 78 69 73 74 73 27 29 3b 0a 09 09 09 24 74 68 69 73 2d 3e 72 65 63 75 72 73 69 76 ion.exists');....$this->recursiv
8c7a0 65 44 65 6c 65 74 65 28 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 29 3b 0a 09 09 7d 0a 09 eDelete($storageLocation);...}..
8c7c0 09 24 73 74 61 74 65 20 3d 20 6d 6b 64 69 72 28 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e .$state.=.mkdir($storageLocation
8c7e0 2c 20 30 37 35 30 2c 20 74 72 75 65 29 3b 0a 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 ,.0750,.true);...if($state.===.f
8c800 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 alse).{....throw.new.\Exception(
8c820 27 43 6f 75 6c 64 20 6e 6f 74 20 6d 6b 64 69 72 20 73 74 6f 72 61 67 65 20 6c 6f 63 61 74 69 6f 'Could.not.mkdir.storage.locatio
8c840 6e 27 29 3b 0a 09 09 7d 0a 0a 09 09 24 66 70 20 3d 20 66 6f 70 65 6e 28 24 73 74 6f 72 61 67 65 n');...}....$fp.=.fopen($storage
8c860 4c 6f 63 61 74 69 6f 6e 20 2e 20 62 61 73 65 6e 61 6d 65 28 24 72 65 73 70 6f 6e 73 65 5b 27 75 Location...basename($response['u
8c880 72 6c 27 5d 29 2c 20 27 77 2b 27 29 3b 0a 09 09 24 63 68 20 3d 20 63 75 72 6c 5f 69 6e 69 74 28 rl']),.'w+');...$ch.=.curl_init(
8c8a0 24 72 65 73 70 6f 6e 73 65 5b 27 75 72 6c 27 5d 29 3b 0a 09 09 63 75 72 6c 5f 73 65 74 6f 70 74 $response['url']);...curl_setopt
8c8c0 5f 61 72 72 61 79 28 24 63 68 2c 20 5b 0a 09 09 09 43 55 52 4c 4f 50 54 5f 46 49 4c 45 20 3d 3e _array($ch,.[....CURLOPT_FILE.=>
8c8e0 20 24 66 70 2c 0a 09 09 09 43 55 52 4c 4f 50 54 5f 55 53 45 52 41 47 45 4e 54 20 3d 3e 20 27 4e .$fp,....CURLOPT_USERAGENT.=>.'N
8c900 65 78 74 63 6c 6f 75 64 20 55 70 64 61 74 65 72 27 2c 0a 09 09 5d 29 3b 0a 0a 09 09 69 66 20 28 extcloud.Updater',...]);....if.(
8c920 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 70 72 6f 78 79 27 29 20 $this->getConfigOption('proxy').
8c940 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 09 09 09 63 75 72 6c 5f 73 65 74 6f 70 74 5f 61 72 72 61 79 !==.null).{....curl_setopt_array
8c960 28 24 63 68 2c 20 5b 0a 09 09 09 09 43 55 52 4c 4f 50 54 5f 50 52 4f 58 59 20 3d 3e 20 24 74 68 ($ch,.[.....CURLOPT_PROXY.=>.$th
8c980 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 70 72 6f 78 79 27 29 2c 0a 09 09 is->getConfigOption('proxy'),...
8c9a0 09 09 43 55 52 4c 4f 50 54 5f 50 52 4f 58 59 55 53 45 52 50 57 44 20 3d 3e 20 24 74 68 69 73 2d ..CURLOPT_PROXYUSERPWD.=>.$this-
8c9c0 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 70 72 6f 78 79 75 73 65 72 70 77 64 27 29 >getConfigOption('proxyuserpwd')
8c9e0 2c 0a 09 09 09 09 43 55 52 4c 4f 50 54 5f 48 54 54 50 50 52 4f 58 59 54 55 4e 4e 45 4c 20 3d 3e ,.....CURLOPT_HTTPPROXYTUNNEL.=>
8ca00 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 70 72 6f 78 79 27 29 .$this->getConfigOption('proxy')
8ca20 20 3f 20 31 20 3a 20 30 2c 0a 09 09 09 5d 29 3b 0a 09 09 7d 0a 0a 09 09 69 66 28 63 75 72 6c 5f .?.1.:.0,....]);...}....if(curl_
8ca40 65 78 65 63 28 24 63 68 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 exec($ch).===.false).{....throw.
8ca60 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 75 72 6c 20 65 72 72 6f 72 3a 20 27 20 2e 20 new.\Exception('Curl.error:.'...
8ca80 63 75 72 6c 5f 65 72 72 6f 72 28 24 63 68 29 29 3b 0a 09 09 7d 0a 09 09 24 68 74 74 70 43 6f 64 curl_error($ch));...}...$httpCod
8caa0 65 20 3d 20 63 75 72 6c 5f 67 65 74 69 6e 66 6f 28 24 63 68 2c 20 43 55 52 4c 49 4e 46 4f 5f 48 e.=.curl_getinfo($ch,.CURLINFO_H
8cac0 54 54 50 5f 43 4f 44 45 29 3b 0a 09 09 69 66 28 24 68 74 74 70 43 6f 64 65 20 21 3d 3d 20 32 30 TTP_CODE);...if($httpCode.!==.20
8cae0 30 29 20 7b 0a 09 09 09 24 73 74 61 74 75 73 43 6f 64 65 73 20 3d 20 5b 0a 09 09 09 09 34 30 30 0).{....$statusCodes.=.[.....400
8cb00 20 3d 3e 20 27 42 61 64 20 72 65 71 75 65 73 74 27 2c 0a 09 09 09 09 34 30 31 20 3d 3e 20 27 55 .=>.'Bad.request',.....401.=>.'U
8cb20 6e 61 75 74 68 6f 72 69 7a 65 64 27 2c 0a 09 09 09 09 34 30 33 20 3d 3e 20 27 46 6f 72 62 69 64 nauthorized',.....403.=>.'Forbid
8cb40 64 65 6e 27 2c 0a 09 09 09 09 34 30 34 20 3d 3e 20 27 4e 6f 74 20 46 6f 75 6e 64 27 2c 0a 09 09 den',.....404.=>.'Not.Found',...
8cb60 09 09 35 30 30 20 3d 3e 20 27 49 6e 74 65 72 6e 61 6c 20 53 65 72 76 65 72 20 45 72 72 6f 72 27 ..500.=>.'Internal.Server.Error'
8cb80 2c 0a 09 09 09 09 35 30 32 20 3d 3e 20 27 42 61 64 20 47 61 74 65 77 61 79 27 2c 0a 09 09 09 09 ,.....502.=>.'Bad.Gateway',.....
8cba0 35 30 33 20 3d 3e 20 27 53 65 72 76 69 63 65 20 55 6e 61 76 61 69 6c 61 62 6c 65 27 2c 0a 09 09 503.=>.'Service.Unavailable',...
8cbc0 09 09 35 30 34 20 3d 3e 20 27 47 61 74 65 77 61 79 20 54 69 6d 65 6f 75 74 27 2c 0a 09 09 09 5d ..504.=>.'Gateway.Timeout',....]
8cbe0 3b 0a 0a 09 09 09 24 6d 65 73 73 61 67 65 20 3d 20 27 44 6f 77 6e 6c 6f 61 64 20 66 61 69 6c 65 ;.....$message.=.'Download.faile
8cc00 64 27 3b 0a 09 09 09 69 66 28 69 73 73 65 74 28 24 73 74 61 74 75 73 43 6f 64 65 73 5b 24 68 74 d';....if(isset($statusCodes[$ht
8cc20 74 70 43 6f 64 65 5d 29 29 20 7b 0a 09 09 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 20 2d 20 tpCode])).{.....$message..=.'.-.
8cc40 27 20 2e 20 24 73 74 61 74 75 73 43 6f 64 65 73 5b 24 68 74 74 70 43 6f 64 65 5d 20 2e 20 27 20 '...$statusCodes[$httpCode]...'.
8cc60 28 48 54 54 50 20 27 20 2e 20 24 68 74 74 70 43 6f 64 65 20 2e 20 27 29 27 3b 0a 09 09 09 7d 20 (HTTP.'...$httpCode...')';....}.
8cc80 65 6c 73 65 20 7b 0a 09 09 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 20 2d 20 48 54 54 50 20 else.{.....$message..=.'.-.HTTP.
8cca0 73 74 61 74 75 73 20 63 6f 64 65 3a 20 27 20 2e 20 24 68 74 74 70 43 6f 64 65 3b 0a 09 09 09 7d status.code:.'...$httpCode;....}
8ccc0 0a 0a 09 09 09 24 63 75 72 6c 45 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 63 75 72 6c 5f 65 72 .....$curlErrorMessage.=.curl_er
8cce0 72 6f 72 28 24 63 68 29 3b 0a 09 09 09 69 66 28 21 65 6d 70 74 79 28 24 63 75 72 6c 45 72 72 6f ror($ch);....if(!empty($curlErro
8cd00 72 4d 65 73 73 61 67 65 29 29 20 7b 0a 09 09 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 20 2d rMessage)).{.....$message..=.'.-
8cd20 20 63 75 72 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 3a 20 27 20 2e 20 24 63 75 72 6c 45 72 .curl.error.message:.'...$curlEr
8cd40 72 6f 72 4d 65 73 73 61 67 65 3b 0a 09 09 09 7d 0a 0a 09 09 09 24 6d 65 73 73 61 67 65 20 2e 3d rorMessage;....}.....$message..=
8cd60 20 27 20 2d 20 55 52 4c 3a 20 27 20 2e 20 68 74 6d 6c 65 6e 74 69 74 69 65 73 28 24 72 65 73 70 .'.-.URL:.'...htmlentities($resp
8cd80 6f 6e 73 65 5b 27 75 72 6c 27 5d 29 3b 0a 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 onse['url']);.....throw.new.\Exc
8cda0 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 09 09 7d 0a 09 09 63 75 72 6c 5f 63 6c 6f eption($message);...}...curl_clo
8cdc0 73 65 28 24 63 68 29 3b 0a 09 09 66 63 6c 6f 73 65 28 24 66 70 29 3b 0a 0a 09 09 24 74 68 69 73 se($ch);...fclose($fp);....$this
8cde0 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 64 6f 77 6e 6c ->silentLog('[info].end.of.downl
8ce00 6f 61 64 55 70 64 61 74 65 28 29 27 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 40 72 65 74 oadUpdate()');..}.../**...*.@ret
8ce20 75 72 6e 20 73 74 72 69 6e 67 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f urn.string...*.@throws.\Exceptio
8ce40 6e 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 6f 77 6e n...*/..private.function.getDown
8ce60 6c 6f 61 64 65 64 46 69 6c 65 50 61 74 68 28 29 20 7b 0a 09 09 24 73 74 6f 72 61 67 65 4c 6f 63 loadedFilePath().{...$storageLoc
8ce80 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 44 69 72 65 63 74 6f 72 79 4c ation.=.$this->getDataDirectoryL
8cea0 6f 63 61 74 69 6f 6e 28 29 20 2e 20 27 2f 75 70 64 61 74 65 72 2d 27 2e 24 74 68 69 73 2d 3e 67 ocation()...'/updater-'.$this->g
8cec0 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 6e 63 65 69 64 27 29 20 2e 20 27 etConfigOption('instanceid')...'
8cee0 2f 64 6f 77 6e 6c 6f 61 64 73 2f 27 3b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 /downloads/';...$this->silentLog
8cf00 28 27 5b 69 6e 66 6f 5d 20 73 74 6f 72 61 67 65 20 6c 6f 63 61 74 69 6f 6e 3a 20 27 20 2e 20 24 ('[info].storage.location:.'...$
8cf20 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 29 3b 0a 0a 09 09 24 66 69 6c 65 73 20 3d 20 73 63 storageLocation);....$files.=.sc
8cf40 61 6e 64 69 72 28 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 29 3b 0a 09 09 2f 2f 20 2e 2c andir($storageLocation);...//..,
8cf60 20 2e 2e 20 61 6e 64 20 64 6f 77 6e 6c 6f 61 64 65 64 20 7a 69 70 20 61 72 63 68 69 76 65 0a 09 ....and.downloaded.zip.archive..
8cf80 09 69 66 28 63 6f 75 6e 74 28 24 66 69 6c 65 73 29 20 21 3d 3d 20 33 29 20 7b 0a 09 09 09 74 68 .if(count($files).!==.3).{....th
8cfa0 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 74 20 65 78 61 63 74 20 33 20 row.new.\Exception('Not.exact.3.
8cfc0 66 69 6c 65 73 20 65 78 69 73 74 65 6e 74 20 69 6e 20 66 6f 6c 64 65 72 27 29 3b 0a 09 09 7d 0a files.existent.in.folder');...}.
8cfe0 09 09 72 65 74 75 72 6e 20 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 20 2e 20 27 2f 27 20 ..return.$storageLocation...'/'.
8d000 2e 20 24 66 69 6c 65 73 5b 32 5d 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 56 65 72 69 66 69 ..$files[2];..}.../**...*.Verifi
8d020 65 73 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 es.the.integrity.of.the.download
8d040 65 64 20 66 69 6c 65 0a 09 20 2a 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 ed.file...*...*.@throws.\Excepti
8d060 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 69 66 79 49 on...*/..public.function.verifyI
8d080 6e 74 65 67 72 69 74 79 28 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 ntegrity().{...$this->silentLog(
8d0a0 27 5b 69 6e 66 6f 5d 20 76 65 72 69 66 79 49 6e 74 65 67 72 69 74 79 28 29 27 29 3b 0a 0a 09 09 '[info].verifyIntegrity()');....
8d0c0 69 66 28 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 52 65 6c 65 61 73 65 43 68 61 6e 6e if($this->getCurrentReleaseChann
8d0e0 65 6c 28 29 20 3d 3d 3d 20 27 64 61 69 6c 79 27 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 73 69 el().===.'daily').{....$this->si
8d100 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 63 75 72 72 65 6e 74 20 63 68 61 6e 6e 65 6c 20 lentLog('[info].current.channel.
8d120 69 73 20 22 64 61 69 6c 79 22 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 73 69 67 6e 65 64 2e 20 is."daily".which.is.not.signed..
8d140 53 6b 69 70 70 69 6e 67 20 76 65 72 69 66 69 63 61 74 69 6f 6e 2e 27 29 3b 0a 09 09 09 72 65 74 Skipping.verification.');....ret
8d160 75 72 6e 3b 0a 09 09 7d 0a 0a 09 09 24 72 65 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 67 urn;...}....$response.=.$this->g
8d180 65 74 55 70 64 61 74 65 53 65 72 76 65 72 52 65 73 70 6f 6e 73 65 28 29 3b 0a 09 09 69 66 28 21 etUpdateServerResponse();...if(!
8d1a0 69 73 73 65 74 28 24 72 65 73 70 6f 6e 73 65 5b 27 73 69 67 6e 61 74 75 72 65 27 5d 29 29 20 7b isset($response['signature'])).{
8d1c0 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 73 69 67 ....throw.new.\Exception('No.sig
8d1e0 6e 61 74 75 72 65 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 64 65 66 69 6e 65 64 20 75 70 64 nature.specified.for.defined.upd
8d200 61 74 65 27 29 3b 0a 09 09 7d 0a 0a 09 09 24 63 65 72 74 69 66 69 63 61 74 65 20 3d 20 3c 3c 3c ate');...}....$certificate.=.<<<
8d220 45 4f 46 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 EOF.-----BEGIN.CERTIFICATE-----.
8d240 4d 49 49 45 6f 6a 43 43 41 34 71 67 41 77 49 42 41 67 49 43 45 41 41 77 44 51 59 4a 4b 6f 5a 49 MIIEojCCA4qgAwIBAgICEAAwDQYJKoZI
8d260 68 76 63 4e 41 51 45 4c 42 51 41 77 65 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 78 hvcNAQELBQAwezELMAkGA1UEBhMCREUx
8d280 0a 47 7a 41 5a 42 67 4e 56 42 41 67 4d 45 6b 4a 68 5a 47 56 75 4c 56 64 31 5a 58 4a 30 64 47 56 .GzAZBgNVBAgMEkJhZGVuLVd1ZXJ0dGV
8d2a0 74 59 6d 56 79 5a 7a 45 58 4d 42 55 47 41 31 55 45 43 67 77 4f 54 6d 56 34 64 47 4e 73 62 33 56 tYmVyZzEXMBUGA1UECgwOTmV4dGNsb3V
8d2c0 6b 0a 49 45 64 74 59 6b 67 78 4e 6a 41 30 42 67 4e 56 42 41 4d 4d 4c 55 35 6c 65 48 52 6a 62 47 k.IEdtYkgxNjA0BgNVBAMMLU5leHRjbG
8d2e0 39 31 5a 43 42 44 62 32 52 6c 49 46 4e 70 5a 32 35 70 62 6d 63 67 53 57 35 30 5a 58 4a 74 5a 57 91ZCBDb2RlIFNpZ25pbmcgSW50ZXJtZW
8d300 52 70 0a 59 58 52 6c 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 78 4e 6a 41 32 4d Rp.YXRlIEF1dGhvcml0eTAeFw0xNjA2M
8d320 54 49 79 4d 54 41 31 4d 44 5a 61 46 77 30 30 4d 54 41 32 4d 44 59 79 4d 54 41 31 4d 44 5a 61 4d TIyMTA1MDZaFw00MTA2MDYyMTA1MDZaM
8d340 47 59 78 0a 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 46 4d 52 73 77 47 51 59 44 56 51 51 49 GYx.CzAJBgNVBAYTAkRFMRswGQYDVQQI
8d360 44 42 4a 43 59 57 52 6c 62 69 31 58 64 57 56 79 64 48 52 6c 62 57 4a 6c 63 6d 63 78 45 6a 41 51 DBJCYWRlbi1XdWVydHRlbWJlcmcxEjAQ
8d380 42 67 4e 56 0a 42 41 63 4d 43 56 4e 30 64 58 52 30 5a 32 46 79 64 44 45 58 4d 42 55 47 41 31 55 BgNV.BAcMCVN0dXR0Z2FydDEXMBUGA1U
8d3a0 45 43 67 77 4f 54 6d 56 34 64 47 4e 73 62 33 56 6b 49 45 64 74 59 6b 67 78 44 54 41 4c 42 67 4e ECgwOTmV4dGNsb3VkIEdtYkgxDTALBgN
8d3c0 56 42 41 4d 4d 0a 42 47 4e 76 63 6d 55 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 VBAMM.BGNvcmUwggEiMA0GCSqGSIb3DQ
8d3e0 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 55 78 63 72 6e 32 44 EBAQUAA4IBDwAwggEKAoIBAQDUxcrn2D
8d400 43 38 39 32 49 58 0a 38 2b 64 4a 6a 5a 56 68 39 59 65 48 46 36 35 6e 32 68 61 38 38 36 6f 65 41 C892IX.8+dJjZVh9YeHF65n2ha886oeA
8d420 69 7a 4f 75 48 42 64 57 42 66 7a 71 74 2b 47 6f 55 59 54 4f 6a 71 5a 46 39 33 48 5a 4d 63 77 79 izOuHBdWBfzqt+GoUYTOjqZF93HZMcwy
8d440 30 50 2b 78 79 43 66 0a 51 71 61 6b 35 4b 65 39 64 79 62 4e 30 36 52 58 55 75 47 50 34 35 6b 39 0P+xyCf.Qqak5Ke9dybN06RXUuGP45k9
8d460 55 59 42 70 30 33 71 7a 6c 55 7a 43 44 61 6c 72 6b 6a 2b 4a 64 33 30 4c 71 63 53 43 31 73 6a 52 UYBp03qzlUzCDalrkj+Jd30LqcSC1sjR
8d480 54 73 66 75 68 63 2b 75 0a 76 48 31 49 42 75 42 6e 66 37 53 4d 55 4a 55 63 6f 45 66 66 62 6d 6d Tsfuhc+u.vH1IBuBnf7SMUJUcoEffbmm
8d4a0 70 41 50 6c 45 63 4c 48 78 6c 55 47 6c 47 6e 7a 30 71 31 65 38 55 46 7a 6a 62 45 46 6a 33 4a 75 pAPlEcLHxlUGlGnz0q1e8UFzjbEFj3Ju
8d4c0 63 4d 4f 34 79 73 33 35 46 0a 71 5a 53 34 64 68 76 43 6e 67 51 68 52 57 33 44 61 4d 6c 51 4c 58 cMO4ys35F.qZS4dhvCngQhRW3DaMlQLX
8d4e0 45 55 4c 39 6b 33 6b 46 56 2b 42 7a 6c 6b 50 7a 56 5a 45 74 53 6d 6b 34 48 4a 75 6a 46 43 6e 5a EUL9k3kFV+BzlkPzVZEtSmk4HJujFCnZ
8d500 6a 31 76 4d 63 6a 51 42 67 2f 0a 42 71 71 31 48 43 6d 55 42 36 74 75 6c 6e 47 63 78 55 7a 74 2f j1vMcjQBg/.Bqq1HCmUB6tulnGcxUzt/
8d520 5a 2f 6f 53 49 67 6e 75 47 79 45 4e 65 6b 65 30 37 37 57 33 45 79 72 79 49 4e 4c 37 45 49 79 44 Z/oSIgnuGyENeke077W3EyryINL7EIyD
8d540 34 58 70 37 73 78 4c 69 7a 54 4d 0a 46 43 46 43 6a 6a 48 31 41 67 4d 42 41 41 47 6a 67 67 46 44 4Xp7sxLizTM.FCFCjjH1AgMBAAGjggFD
8d560 4d 49 49 42 50 7a 41 4a 42 67 4e 56 48 52 4d 45 41 6a 41 41 4d 42 45 47 43 57 43 47 53 41 47 47 MIIBPzAJBgNVHRMEAjAAMBEGCWCGSAGG
8d580 2b 45 49 42 41 51 51 45 41 77 49 47 0a 51 44 41 7a 42 67 6c 67 68 6b 67 42 68 76 68 43 41 51 30 +EIBAQQEAwIG.QDAzBglghkgBhvhCAQ0
8d5a0 45 4a 68 59 6b 54 33 42 6c 62 6c 4e 54 54 43 42 48 5a 57 35 6c 63 6d 46 30 5a 57 51 67 55 32 56 EJhYkT3BlblNTTCBHZW5lcmF0ZWQgU2V
8d5c0 79 64 6d 56 79 49 45 4e 6c 63 6e 52 70 0a 5a 6d 6c 6a 59 58 52 6c 4d 42 30 47 41 31 55 64 44 67 ydmVyIENlcnRp.ZmljYXRlMB0GA1UdDg
8d5e0 51 57 42 42 51 77 63 31 48 39 41 4c 38 70 52 6c 57 32 65 35 53 4c 43 66 50 50 71 74 71 63 30 44 QWBBQwc1H9AL8pRlW2e5SLCfPPqtqc0D
8d600 43 42 70 51 59 44 56 52 30 6a 42 49 47 64 0a 4d 49 47 61 67 42 52 74 36 6d 36 71 71 54 63 73 50 CBpQYDVR0jBIGd.MIGagBRt6m6qqTcsP
8d620 49 6b 74 46 7a 37 39 52 75 37 44 6e 6e 6a 74 64 4b 46 2b 70 48 77 77 65 6a 45 4c 4d 41 6b 47 41 IktFz79Ru7DnnjtdKF+pHwwejELMAkGA
8d640 31 55 45 42 68 4d 43 52 45 55 78 47 7a 41 5a 0a 42 67 4e 56 42 41 67 4d 45 6b 4a 68 5a 47 56 75 1UEBhMCREUxGzAZ.BgNVBAgMEkJhZGVu
8d660 4c 56 64 31 5a 58 4a 30 64 47 56 74 59 6d 56 79 5a 7a 45 53 4d 42 41 47 41 31 55 45 42 77 77 4a LVd1ZXJ0dGVtYmVyZzESMBAGA1UEBwwJ
8d680 55 33 52 31 64 48 52 6e 59 58 4a 30 4d 52 63 77 0a 46 51 59 44 56 51 51 4b 44 41 35 4f 5a 58 68 U3R1dHRnYXJ0MRcw.FQYDVQQKDA5OZXh
8d6a0 30 59 32 78 76 64 57 51 67 52 32 31 69 53 44 45 68 4d 42 38 47 41 31 55 45 41 77 77 59 54 6d 56 0Y2xvdWQgR21iSDEhMB8GA1UEAwwYTmV
8d6c0 34 64 47 4e 73 62 33 56 6b 49 46 4a 76 62 33 51 67 0a 51 58 56 30 61 47 39 79 61 58 52 35 67 67 4dGNsb3VkIFJvb3Qg.QXV0aG9yaXR5gg
8d6e0 49 51 41 44 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 42 61 41 77 45 77 59 44 56 52 IQADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR
8d700 30 6c 42 41 77 77 43 67 59 49 4b 77 59 42 42 51 55 48 0a 41 77 45 77 44 51 59 4a 4b 6f 5a 49 68 0lBAwwCgYIKwYBBQUH.AwEwDQYJKoZIh
8d720 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 44 5a 36 2b 48 56 2f 2b 30 4e 45 48 33 6e 61 68 vcNAQELBQADggEBADZ6+HV/+0NEH3nah
8d740 54 42 46 78 4f 36 6e 4b 79 52 2f 56 57 69 67 41 43 48 30 0a 6e 61 56 30 65 63 54 63 6f 51 77 44 TBFxO6nKyR/VWigACH0.naV0ecTcoQwD
8d760 6a 4b 44 4e 4e 46 72 2b 34 53 31 57 6c 48 64 77 49 54 6c 6e 4e 61 62 43 37 76 39 72 5a 2f 36 51 jKDNNFr+4S1WlHdwITlnNabC7v9rZ/6Q
8d780 76 62 6b 72 4f 54 75 4f 39 66 4f 52 36 61 7a 70 31 45 77 57 0a 32 70 69 78 57 71 6a 30 53 62 39 vbkrOTuO9fOR6azp1EwW.2pixWqj0Sb9
8d7a0 2f 64 53 49 56 52 70 53 71 2b 6a 70 42 45 36 4a 41 69 58 34 34 64 53 52 37 7a 6f 42 78 52 42 38 /dSIVRpSq+jpBE6JAiX44dSR7zoBxRB8
8d7c0 44 67 56 4f 32 41 66 79 30 73 38 30 78 45 70 72 35 4a 41 7a 62 0a 4e 59 75 50 53 37 4d 35 55 48 DgVO2Afy0s80xEpr5JAzb.NYuPS7M5UH
8d7e0 64 41 76 32 64 72 31 36 66 44 63 44 49 76 6e 2b 76 6b 39 32 4b 70 4e 68 31 4e 54 65 5a 46 6a 42 dAv2dr16fDcDIvn+vk92KpNh1NTeZFjB
8d800 62 52 56 51 39 44 58 72 67 6b 52 47 57 33 34 54 4b 38 75 53 4c 49 0a 59 47 36 6a 6e 66 4a 36 65 bRVQ9DXrgkRGW34TK8uSLI.YG6jnfJ6e
8d820 4a 67 54 61 4f 34 33 31 79 77 57 50 58 4e 67 31 6d 55 4d 61 54 2f 2b 51 42 4f 67 42 32 39 39 51 JgTaO431ywWPXNg1mUMaT/+QBOgB299Q
8d840 56 43 4b 51 55 2b 6c 63 5a 57 70 74 51 74 2b 52 64 73 4a 55 6d 34 36 0a 4e 59 2f 6e 41 52 79 34 VCKQU+lcZWptQt+RdsJUm46.NY/nARy4
8d860 4f 69 34 75 4f 65 38 38 53 75 57 49 54 6a 39 4b 68 72 46 6d 45 76 72 55 6c 67 4d 38 46 76 6f 58 Oi4uOe88SuWITj9KhrFmEvrUlgM8FvoX
8d880 41 31 6c 64 72 52 37 4b 69 45 67 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 A1ldrR7KiEg=.-----END.CERTIFICAT
8d8a0 45 2d 2d 2d 2d 2d 0a 45 4f 46 3b 0a 0a 09 09 24 76 61 6c 69 64 53 69 67 6e 61 74 75 72 65 20 3d E-----.EOF;....$validSignature.=
8d8c0 20 28 62 6f 6f 6c 29 6f 70 65 6e 73 73 6c 5f 76 65 72 69 66 79 28 0a 09 09 09 66 69 6c 65 5f 67 .(bool)openssl_verify(....file_g
8d8e0 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 64 et_contents($this->getDownloaded
8d900 46 69 6c 65 50 61 74 68 28 29 29 2c 0a 09 09 09 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 24 72 FilePath()),....base64_decode($r
8d920 65 73 70 6f 6e 73 65 5b 27 73 69 67 6e 61 74 75 72 65 27 5d 29 2c 0a 09 09 09 24 63 65 72 74 69 esponse['signature']),....$certi
8d940 66 69 63 61 74 65 2c 0a 09 09 09 4f 50 45 4e 53 53 4c 5f 41 4c 47 4f 5f 53 48 41 35 31 32 0a 09 ficate,....OPENSSL_ALGO_SHA512..
8d960 09 29 3b 0a 0a 09 09 69 66 28 24 76 61 6c 69 64 53 69 67 6e 61 74 75 72 65 20 3d 3d 3d 20 66 61 .);....if($validSignature.===.fa
8d980 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 lse).{....throw.new.\Exception('
8d9a0 53 69 67 6e 61 74 75 72 65 20 6f 66 20 75 70 64 61 74 65 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 Signature.of.update.is.not.valid
8d9c0 27 29 3b 0a 09 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e ');...}....$this->silentLog('[in
8d9e0 66 6f 5d 20 65 6e 64 20 6f 66 20 76 65 72 69 66 79 49 6e 74 65 67 72 69 74 79 28 29 27 29 3b 0a fo].end.of.verifyIntegrity()');.
8da00 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 47 65 74 73 20 74 68 65 20 76 65 72 73 69 6f 6e 20 61 73 .}.../**...*.Gets.the.version.as
8da20 20 64 65 63 6c 61 72 65 64 20 69 6e 20 24 76 65 72 73 69 6f 6e 46 69 6c 65 0a 09 20 2a 0a 09 20 .declared.in.$versionFile...*...
8da40 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 76 65 72 73 69 6f 6e 46 69 6c 65 0a 09 20 2a *.@param.string.$versionFile...*
8da60 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 .@return.string...*.@throws.\Exc
8da80 65 70 74 69 6f 6e 20 49 66 20 24 4f 43 5f 56 65 72 73 69 6f 6e 20 69 73 20 6e 6f 74 20 64 65 66 eption.If.$OC_Version.is.not.def
8daa0 69 6e 65 64 20 69 6e 20 24 76 65 72 73 69 6f 6e 46 69 6c 65 0a 09 20 2a 2f 0a 09 70 72 69 76 61 ined.in.$versionFile...*/..priva
8dac0 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 42 79 56 65 72 73 69 6f 6e 46 te.function.getVersionByVersionF
8dae0 69 6c 65 28 24 76 65 72 73 69 6f 6e 46 69 6c 65 29 20 7b 0a 09 09 72 65 71 75 69 72 65 20 24 76 ile($versionFile).{...require.$v
8db00 65 72 73 69 6f 6e 46 69 6c 65 3b 0a 0a 09 09 69 66 28 69 73 73 65 74 28 24 4f 43 5f 56 65 72 73 ersionFile;....if(isset($OC_Vers
8db20 69 6f 6e 29 29 20 7b 0a 09 09 09 2f 2a 2a 20 40 76 61 72 20 61 72 72 61 79 20 24 4f 43 5f 56 65 ion)).{..../**.@var.array.$OC_Ve
8db40 72 73 69 6f 6e 20 2a 2f 0a 09 09 09 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2e 27 2c 20 rsion.*/....return.implode('.',.
8db60 24 4f 43 5f 56 65 72 73 69 6f 6e 29 3b 0a 09 09 7d 0a 0a 09 09 74 68 72 6f 77 20 6e 65 77 20 5c $OC_Version);...}....throw.new.\
8db80 45 78 63 65 70 74 69 6f 6e 28 22 4f 43 5f 56 65 72 73 69 6f 6e 20 6e 6f 74 20 66 6f 75 6e 64 20 Exception("OC_Version.not.found.
8dba0 69 6e 20 24 76 65 72 73 69 6f 6e 46 69 6c 65 22 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 in.$versionFile");..}.../**...*.
8dbc0 45 78 74 72 61 63 74 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 0a 09 20 2a 0a 09 20 2a 20 40 74 Extracts.the.download...*...*.@t
8dbe0 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 hrows.\Exception...*/..public.fu
8dc00 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 44 6f 77 6e 6c 6f 61 64 28 29 20 7b 0a 09 09 24 74 68 nction.extractDownload().{...$th
8dc20 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 78 74 72 61 63 74 44 6f 77 is->silentLog('[info].extractDow
8dc40 6e 6c 6f 61 64 28 29 27 29 3b 0a 09 09 24 64 6f 77 6e 6c 6f 61 64 65 64 46 69 6c 65 50 61 74 68 nload()');...$downloadedFilePath
8dc60 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 64 46 69 6c 65 50 61 74 68 28 .=.$this->getDownloadedFilePath(
8dc80 29 3b 0a 0a 09 09 24 7a 69 70 20 3d 20 6e 65 77 20 5c 5a 69 70 41 72 63 68 69 76 65 3b 0a 09 09 );....$zip.=.new.\ZipArchive;...
8dca0 24 7a 69 70 53 74 61 74 65 20 3d 20 24 7a 69 70 2d 3e 6f 70 65 6e 28 24 64 6f 77 6e 6c 6f 61 64 $zipState.=.$zip->open($download
8dcc0 65 64 46 69 6c 65 50 61 74 68 29 3b 0a 09 09 69 66 20 28 24 7a 69 70 53 74 61 74 65 20 3d 3d 3d edFilePath);...if.($zipState.===
8dce0 20 74 72 75 65 29 20 7b 0a 09 09 09 24 65 78 74 72 61 63 74 69 6f 6e 20 3d 20 24 7a 69 70 2d 3e .true).{....$extraction.=.$zip->
8dd00 65 78 74 72 61 63 74 54 6f 28 64 69 72 6e 61 6d 65 28 24 64 6f 77 6e 6c 6f 61 64 65 64 46 69 6c extractTo(dirname($downloadedFil
8dd20 65 50 61 74 68 29 29 3b 0a 09 09 09 69 66 28 24 65 78 74 72 61 63 74 69 6f 6e 20 3d 3d 3d 20 66 ePath));....if($extraction.===.f
8dd40 61 6c 73 65 29 20 7b 0a 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e alse).{.....throw.new.\Exception
8dd60 28 27 45 72 72 6f 72 20 64 75 72 69 6e 67 20 75 6e 70 61 63 6b 69 6e 67 20 7a 69 70 66 69 6c 65 ('Error.during.unpacking.zipfile
8dd80 3a 20 27 2e 28 24 7a 69 70 2d 3e 67 65 74 53 74 61 74 75 73 53 74 72 69 6e 67 28 29 29 29 3b 0a :.'.($zip->getStatusString()));.
8dda0 09 09 09 7d 0a 09 09 09 24 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 3b 0a 09 09 09 24 73 74 61 74 65 ...}....$zip->close();....$state
8ddc0 20 3d 20 75 6e 6c 69 6e 6b 28 24 64 6f 77 6e 6c 6f 61 64 65 64 46 69 6c 65 50 61 74 68 29 3b 0a .=.unlink($downloadedFilePath);.
8dde0 09 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 74 68 ...if($state.===.false).{.....th
8de00 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 22 43 61 6e 27 74 20 75 6e 6c 69 6e 6b row.new.\Exception("Can't.unlink
8de20 20 22 2e 20 24 64 6f 77 6e 6c 6f 61 64 65 64 46 69 6c 65 50 61 74 68 29 3b 0a 09 09 09 7d 0a 09 ."..$downloadedFilePath);....}..
8de40 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f .}.else.{....throw.new.\Exceptio
8de60 6e 28 22 43 61 6e 27 74 20 68 61 6e 64 6c 65 20 5a 49 50 20 66 69 6c 65 2e 20 45 72 72 6f 72 20 n("Can't.handle.ZIP.file..Error.
8de80 63 6f 64 65 20 69 73 3a 20 22 2e 24 7a 69 70 53 74 61 74 65 29 3b 0a 09 09 7d 0a 0a 09 09 2f 2f code.is:.".$zipState);...}....//
8dea0 20 45 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 76 65 72 73 .Ensure.that.the.downloaded.vers
8dec0 69 6f 6e 20 69 73 20 6e 6f 74 20 6c 6f 77 65 72 0a 09 09 24 64 6f 77 6e 6c 6f 61 64 65 64 56 65 ion.is.not.lower...$downloadedVe
8dee0 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 42 79 56 65 72 73 69 rsion.=.$this->getVersionByVersi
8df00 6f 6e 46 69 6c 65 28 64 69 72 6e 61 6d 65 28 24 64 6f 77 6e 6c 6f 61 64 65 64 46 69 6c 65 50 61 onFile(dirname($downloadedFilePa
8df20 74 68 29 20 2e 20 27 2f 6e 65 78 74 63 6c 6f 75 64 2f 76 65 72 73 69 6f 6e 2e 70 68 70 27 29 3b th)...'/nextcloud/version.php');
8df40 0a 09 09 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 56 ...$currentVersion.=.$this->getV
8df60 65 72 73 69 6f 6e 42 79 56 65 72 73 69 6f 6e 46 69 6c 65 28 24 74 68 69 73 2d 3e 62 61 73 65 44 ersionByVersionFile($this->baseD
8df80 69 72 20 2e 20 27 2f 2e 2e 2f 76 65 72 73 69 6f 6e 2e 70 68 70 27 29 3b 0a 09 09 69 66 28 76 65 ir...'/../version.php');...if(ve
8dfa0 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 64 6f 77 6e 6c 6f 61 64 65 64 56 65 72 73 69 6f 6e rsion_compare($downloadedVersion
8dfc0 2c 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 2c 20 27 3c 27 29 29 20 7b 0a 09 09 09 74 68 ,.$currentVersion,.'<')).{....th
8dfe0 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 44 6f 77 6e 6c 6f 61 64 65 64 20 76 row.new.\Exception('Downloaded.v
8e000 65 72 73 69 6f 6e 20 69 73 20 6c 6f 77 65 72 20 74 68 61 6e 20 69 6e 73 74 61 6c 6c 65 64 20 76 ersion.is.lower.than.installed.v
8e020 65 72 73 69 6f 6e 27 29 3b 0a 09 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f ersion');...}....$this->silentLo
8e040 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 65 78 74 72 61 63 74 44 6f 77 6e 6c 6f 61 64 g('[info].end.of.extractDownload
8e060 28 29 27 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 52 65 70 6c 61 63 65 73 20 74 68 65 20 ()');..}.../**...*.Replaces.the.
8e080 65 6e 74 72 79 20 70 6f 69 6e 74 20 66 69 6c 65 73 20 77 69 74 68 20 66 69 6c 65 73 20 74 68 61 entry.point.files.with.files.tha
8e0a0 74 20 6f 6e 6c 79 20 72 65 74 75 72 6e 20 61 20 35 30 33 0a 09 20 2a 0a 09 20 2a 20 40 74 68 72 t.only.return.a.503...*...*.@thr
8e0c0 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 ows.\Exception...*/..public.func
8e0e0 74 69 6f 6e 20 72 65 70 6c 61 63 65 45 6e 74 72 79 50 6f 69 6e 74 73 28 29 20 7b 0a 09 09 24 74 tion.replaceEntryPoints().{...$t
8e100 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 72 65 70 6c 61 63 65 45 6e his->silentLog('[info].replaceEn
8e120 74 72 79 50 6f 69 6e 74 73 28 29 27 29 3b 0a 0a 09 09 24 66 69 6c 65 73 54 6f 52 65 70 6c 61 63 tryPoints()');....$filesToReplac
8e140 65 20 3d 20 5b 0a 09 09 09 27 69 6e 64 65 78 2e 70 68 70 27 2c 0a 09 09 09 27 73 74 61 74 75 73 e.=.[....'index.php',....'status
8e160 2e 70 68 70 27 2c 0a 09 09 09 27 72 65 6d 6f 74 65 2e 70 68 70 27 2c 0a 09 09 09 27 70 75 62 6c .php',....'remote.php',....'publ
8e180 69 63 2e 70 68 70 27 2c 0a 09 09 09 27 6f 63 73 2f 76 31 2e 70 68 70 27 2c 0a 09 09 09 27 6f 63 ic.php',....'ocs/v1.php',....'oc
8e1a0 73 2f 76 32 2e 70 68 70 27 2c 0a 09 09 5d 3b 0a 0a 09 09 24 63 6f 6e 74 65 6e 74 20 3d 20 22 3c s/v2.php',...];....$content.=."<
8e1c0 3f 70 68 70 5c 6e 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 63 6f 64 65 28 35 30 33 29 3b 5c 6e ?php\nhttp_response_code(503);\n
8e1e0 64 69 65 28 27 55 70 64 61 74 65 20 69 6e 20 70 72 6f 63 65 73 73 2e 27 29 3b 22 3b 0a 09 09 66 die('Update.in.process.');";...f
8e200 6f 72 65 61 63 68 28 24 66 69 6c 65 73 54 6f 52 65 70 6c 61 63 65 20 61 73 20 24 66 69 6c 65 29 oreach($filesToReplace.as.$file)
8e220 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 72 .{....$this->silentLog('[info].r
8e240 65 70 6c 61 63 65 20 27 20 2e 20 24 66 69 6c 65 29 3b 0a 09 09 09 24 70 61 72 65 6e 74 44 69 72 eplace.'...$file);....$parentDir
8e260 20 3d 20 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e .=.dirname($this->baseDir...'/..
8e280 2f 27 20 2e 20 24 66 69 6c 65 29 3b 0a 09 09 09 69 66 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 /'...$file);....if(!file_exists(
8e2a0 24 70 61 72 65 6e 74 44 69 72 29 29 20 7b 0a 09 09 09 09 24 72 20 3d 20 6d 6b 64 69 72 28 24 70 $parentDir)).{.....$r.=.mkdir($p
8e2c0 61 72 65 6e 74 44 69 72 29 3b 0a 09 09 09 09 69 66 28 24 72 20 21 3d 3d 20 74 72 75 65 29 20 7b arentDir);.....if($r.!==.true).{
8e2e0 0a 09 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 5c ......throw.new.\Exception('Can\
8e300 27 74 20 63 72 65 61 74 65 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 65 't.create.parent.directory.for.e
8e320 6e 74 72 79 20 70 6f 69 6e 74 3a 20 27 20 2e 20 24 66 69 6c 65 29 3b 0a 09 09 09 09 7d 0a 09 09 ntry.point:.'...$file);.....}...
8e340 09 7d 0a 09 09 09 24 73 74 61 74 65 20 3d 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 .}....$state.=.file_put_contents
8e360 28 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 20 2e 20 27 2f 2e 2e 2f 27 20 2e 20 24 66 69 6c ($this->baseDir....'/../'...$fil
8e380 65 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a 09 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 e,.$content);....if($state.===.f
8e3a0 61 6c 73 65 29 20 7b 0a 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e alse).{.....throw.new.\Exception
8e3c0 28 27 43 61 6e 5c 27 74 20 72 65 70 6c 61 63 65 20 65 6e 74 72 79 20 70 6f 69 6e 74 3a 20 27 2e ('Can\'t.replace.entry.point:.'.
8e3e0 24 66 69 6c 65 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e $file);....}...}....$this->silen
8e400 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 72 65 70 6c 61 63 65 45 6e 74 72 79 tLog('[info].end.of.replaceEntry
8e420 50 6f 69 6e 74 73 28 29 27 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 52 65 63 75 72 73 69 Points()');..}.../**...*.Recursi
8e440 76 65 6c 79 20 64 65 6c 65 74 65 73 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 66 6f 6c 64 65 vely.deletes.the.specified.folde
8e460 72 20 66 72 6f 6d 20 74 68 65 20 73 79 73 74 65 6d 0a 09 20 2a 0a 09 20 2a 20 40 70 61 72 61 6d r.from.the.system...*...*.@param
8e480 20 73 74 72 69 6e 67 20 24 66 6f 6c 64 65 72 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 .string.$folder...*.@throws.\Exc
8e4a0 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 eption...*/..private.function.re
8e4c0 63 75 72 73 69 76 65 44 65 6c 65 74 65 28 24 66 6f 6c 64 65 72 29 20 7b 0a 09 09 69 66 28 21 66 cursiveDelete($folder).{...if(!f
8e4e0 69 6c 65 5f 65 78 69 73 74 73 28 24 66 6f 6c 64 65 72 29 29 20 7b 0a 09 09 09 72 65 74 75 72 6e ile_exists($folder)).{....return
8e500 3b 0a 09 09 7d 0a 09 09 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 ;...}...$iterator.=.new.\Recursi
8e520 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 0a 09 09 09 6e 65 77 20 5c 52 65 63 75 veIteratorIterator(....new.\Recu
8e540 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 66 6f 6c 64 65 72 2c 20 rsiveDirectoryIterator($folder,.
8e560 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 3a 3a 53 4b 49 \RecursiveDirectoryIterator::SKI
8e580 50 5f 44 4f 54 53 29 2c 0a 09 09 09 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 P_DOTS),....\RecursiveIteratorIt
8e5a0 65 72 61 74 6f 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 0a 09 09 29 3b 0a 0a 09 09 24 64 69 72 erator::CHILD_FIRST...);....$dir
8e5c0 65 63 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 09 09 24 66 69 6c 65 73 20 3d 20 61 ectories.=.array();...$files.=.a
8e5e0 72 72 61 79 28 29 3b 0a 09 09 66 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 20 61 73 20 rray();...foreach.($iterator.as.
8e600 24 66 69 6c 65 49 6e 66 6f 29 20 7b 0a 09 09 09 69 66 20 28 24 66 69 6c 65 49 6e 66 6f 2d 3e 69 $fileInfo).{....if.($fileInfo->i
8e620 73 44 69 72 28 29 29 20 7b 0a 09 09 09 09 24 64 69 72 65 63 74 6f 72 69 65 73 5b 5d 20 3d 20 24 sDir()).{.....$directories[].=.$
8e640 66 69 6c 65 49 6e 66 6f 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 3b 0a 09 09 09 7d 20 65 6c fileInfo->getRealPath();....}.el
8e660 73 65 20 7b 0a 09 09 09 09 69 66 20 28 24 66 69 6c 65 49 6e 66 6f 2d 3e 69 73 4c 69 6e 6b 28 29 se.{.....if.($fileInfo->isLink()
8e680 29 20 7b 0a 09 09 09 09 09 24 66 69 6c 65 73 5b 5d 20 3d 20 24 66 69 6c 65 49 6e 66 6f 2d 3e 67 ).{......$files[].=.$fileInfo->g
8e6a0 65 74 50 61 74 68 4e 61 6d 65 28 29 3b 0a 09 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 09 etPathName();.....}.else.{......
8e6c0 24 66 69 6c 65 73 5b 5d 20 3d 20 24 66 69 6c 65 49 6e 66 6f 2d 3e 67 65 74 52 65 61 6c 50 61 74 $files[].=.$fileInfo->getRealPat
8e6e0 68 28 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a 0a 09 09 66 6f 72 65 61 63 68 20 28 h();.....}....}...}....foreach.(
8e700 24 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 09 09 09 75 6e 6c 69 6e 6b 28 24 66 69 $files.as.$file).{....unlink($fi
8e720 6c 65 29 3b 0a 09 09 7d 0a 09 09 66 6f 72 65 61 63 68 20 28 24 64 69 72 65 63 74 6f 72 69 65 73 le);...}...foreach.($directories
8e740 20 61 73 20 24 64 69 72 29 20 7b 0a 09 09 09 72 6d 64 69 72 28 24 64 69 72 29 3b 0a 09 09 7d 0a .as.$dir).{....rmdir($dir);...}.
8e760 0a 09 09 24 73 74 61 74 65 20 3d 20 72 6d 64 69 72 28 24 66 6f 6c 64 65 72 29 3b 0a 09 09 69 66 ...$state.=.rmdir($folder);...if
8e780 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 ($state.===.false).{....throw.ne
8e7a0 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 6d 64 69 72 20 27 20 w.\Exception('Could.not.rmdir.'.
8e7c0 2e 20 24 66 6f 6c 64 65 72 29 3b 0a 09 09 7d 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 44 65 6c ..$folder);...}..}.../**...*.Del
8e7e0 65 74 65 20 6f 6c 64 20 66 69 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 73 79 73 74 65 6d 20 61 73 ete.old.files.from.the.system.as
8e800 20 6d 75 63 68 20 61 73 20 70 6f 73 73 69 62 6c 65 0a 09 20 2a 0a 09 20 2a 20 40 74 68 72 6f 77 .much.as.possible...*...*.@throw
8e820 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 s.\Exception...*/..public.functi
8e840 6f 6e 20 64 65 6c 65 74 65 4f 6c 64 46 69 6c 65 73 28 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 on.deleteOldFiles().{...$this->s
8e860 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 64 65 6c 65 74 65 4f 6c 64 46 69 6c 65 73 28 ilentLog('[info].deleteOldFiles(
8e880 29 27 29 3b 0a 0a 09 09 24 73 68 69 70 70 65 64 41 70 70 73 46 69 6c 65 20 3d 20 24 74 68 69 73 )');....$shippedAppsFile.=.$this
8e8a0 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 63 6f 72 65 2f 73 68 69 70 70 65 64 2e 6a 73 ->baseDir...'/../core/shipped.js
8e8c0 6f 6e 27 3b 0a 09 09 69 66 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 68 69 70 70 65 64 41 on';...if(!file_exists($shippedA
8e8e0 70 70 73 46 69 6c 65 29 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 ppsFile)).{....throw.new.\Except
8e900 69 6f 6e 28 27 63 6f 72 65 2f 73 68 69 70 70 65 64 2e 6a 73 6f 6e 20 69 73 20 6e 6f 74 20 61 76 ion('core/shipped.json.is.not.av
8e920 61 69 6c 61 62 6c 65 27 29 3b 0a 09 09 7d 0a 09 09 2f 2f 20 44 65 6c 65 74 65 20 73 68 69 70 70 ailable');...}...//.Delete.shipp
8e940 65 64 20 61 70 70 73 0a 09 09 24 73 68 69 70 70 65 64 41 70 70 73 20 3d 20 6a 73 6f 6e 5f 64 65 ed.apps...$shippedApps.=.json_de
8e960 63 6f 64 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 73 68 69 70 70 65 64 41 code(file_get_contents($shippedA
8e980 70 70 73 46 69 6c 65 29 2c 20 74 72 75 65 29 3b 0a 09 09 66 6f 72 65 61 63 68 28 24 73 68 69 70 ppsFile),.true);...foreach($ship
8e9a0 70 65 64 41 70 70 73 5b 27 73 68 69 70 70 65 64 41 70 70 73 27 5d 20 61 73 20 24 61 70 70 29 20 pedApps['shippedApps'].as.$app).
8e9c0 7b 0a 09 09 09 24 74 68 69 73 2d 3e 72 65 63 75 72 73 69 76 65 44 65 6c 65 74 65 28 24 74 68 69 {....$this->recursiveDelete($thi
8e9e0 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 61 70 70 73 2f 27 20 2e 20 24 61 70 70 29 s->baseDir...'/../apps/'...$app)
8ea00 3b 0a 09 09 7d 0a 0a 09 09 24 63 6f 6e 66 69 67 53 61 6d 70 6c 65 46 69 6c 65 20 3d 20 24 74 68 ;...}....$configSampleFile.=.$th
8ea20 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 63 6f 6e 66 69 67 2f 63 6f 6e 66 69 67 is->baseDir...'/../config/config
8ea40 2e 73 61 6d 70 6c 65 2e 70 68 70 27 3b 0a 09 09 69 66 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 .sample.php';...if(file_exists($
8ea60 63 6f 6e 66 69 67 53 61 6d 70 6c 65 46 69 6c 65 29 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 73 configSampleFile)).{....$this->s
8ea80 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 63 6f 6e 66 69 67 20 73 61 6d 70 6c 65 20 65 ilentLog('[info].config.sample.e
8eaa0 78 69 73 74 73 27 29 3b 0a 0a 09 09 09 2f 2f 20 44 65 6c 65 74 65 20 65 78 61 6d 70 6c 65 20 63 xists');.....//.Delete.example.c
8eac0 6f 6e 66 69 67 0a 09 09 09 24 73 74 61 74 65 20 3d 20 75 6e 6c 69 6e 6b 28 24 63 6f 6e 66 69 67 onfig....$state.=.unlink($config
8eae0 53 61 6d 70 6c 65 46 69 6c 65 29 3b 0a 09 09 09 69 66 20 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 SampleFile);....if.($state.===.f
8eb00 61 6c 73 65 29 20 7b 0a 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e alse).{.....throw.new.\Exception
8eb20 28 27 43 6f 75 6c 64 20 6e 6f 74 20 75 6e 6c 69 6e 6b 20 73 61 6d 70 6c 65 20 63 6f 6e 66 69 67 ('Could.not.unlink.sample.config
8eb40 27 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 0a 09 09 24 74 68 65 6d 65 73 52 65 61 64 6d 65 20 3d 20 ');....}...}....$themesReadme.=.
8eb60 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 74 68 65 6d 65 73 2f 52 45 41 $this->baseDir...'/../themes/REA
8eb80 44 4d 45 27 3b 0a 09 09 69 66 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 65 6d 65 73 52 65 DME';...if(file_exists($themesRe
8eba0 61 64 6d 65 29 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 adme)).{....$this->silentLog('[i
8ebc0 6e 66 6f 5d 20 74 68 65 6d 65 73 20 52 45 41 44 4d 45 20 65 78 69 73 74 73 27 29 3b 0a 0a 09 09 nfo].themes.README.exists');....
8ebe0 09 2f 2f 20 44 65 6c 65 74 65 20 74 68 65 6d 65 73 0a 09 09 09 24 73 74 61 74 65 20 3d 20 75 6e .//.Delete.themes....$state.=.un
8ec00 6c 69 6e 6b 28 24 74 68 65 6d 65 73 52 65 61 64 6d 65 29 3b 0a 09 09 09 69 66 20 28 24 73 74 61 link($themesReadme);....if.($sta
8ec20 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 te.===.false).{.....throw.new.\E
8ec40 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 6c 65 74 65 20 74 68 65 6d 65 xception('Could.not.delete.theme
8ec60 73 20 52 45 41 44 4d 45 27 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 24 74 68 69 73 2d 3e 72 65 s.README');....}...}...$this->re
8ec80 63 75 72 73 69 76 65 44 65 6c 65 74 65 28 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 cursiveDelete($this->baseDir...'
8eca0 2f 2e 2e 2f 74 68 65 6d 65 73 2f 65 78 61 6d 70 6c 65 2f 27 29 3b 0a 0a 09 09 2f 2f 20 44 65 6c /../themes/example/');....//.Del
8ecc0 65 74 65 20 74 68 65 20 72 65 73 74 0a 09 09 24 65 78 63 6c 75 64 65 64 45 6c 65 6d 65 6e 74 73 ete.the.rest...$excludedElements
8ece0 20 3d 20 5b 0a 09 09 09 27 2e 77 65 6c 6c 2d 6b 6e 6f 77 6e 27 2c 0a 09 09 09 27 64 61 74 61 27 .=.[....'.well-known',....'data'
8ed00 2c 0a 09 09 09 27 69 6e 64 65 78 2e 70 68 70 27 2c 0a 09 09 09 27 73 74 61 74 75 73 2e 70 68 70 ,....'index.php',....'status.php
8ed20 27 2c 0a 09 09 09 27 72 65 6d 6f 74 65 2e 70 68 70 27 2c 0a 09 09 09 27 70 75 62 6c 69 63 2e 70 ',....'remote.php',....'public.p
8ed40 68 70 27 2c 0a 09 09 09 27 6f 63 73 2f 76 31 2e 70 68 70 27 2c 0a 09 09 09 27 6f 63 73 2f 76 32 hp',....'ocs/v1.php',....'ocs/v2
8ed60 2e 70 68 70 27 2c 0a 09 09 09 27 63 6f 6e 66 69 67 27 2c 0a 09 09 09 27 74 68 65 6d 65 73 27 2c .php',....'config',....'themes',
8ed80 0a 09 09 09 27 61 70 70 73 27 2c 0a 09 09 09 27 75 70 64 61 74 65 72 27 2c 0a 09 09 5d 3b 0a 09 ....'apps',....'updater',...];..
8eda0 09 24 65 78 63 6c 75 64 65 64 45 6c 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 .$excludedElements.=.array_merge
8edc0 28 24 65 78 63 6c 75 64 65 64 45 6c 65 6d 65 6e 74 73 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 70 ($excludedElements,.$this->getAp
8ede0 70 44 69 72 65 63 74 6f 72 69 65 73 28 29 29 3b 0a 09 09 2f 2a 2a 0a 09 09 20 2a 20 40 76 61 72 pDirectories());.../**....*.@var
8ee00 20 73 74 72 69 6e 67 20 24 70 61 74 68 0a 09 09 20 2a 20 40 76 61 72 20 5c 53 70 6c 46 69 6c 65 .string.$path....*.@var.\SplFile
8ee20 49 6e 66 6f 20 24 66 69 6c 65 49 6e 66 6f 0a 09 09 20 2a 2f 0a 09 09 66 6f 72 65 61 63 68 20 28 Info.$fileInfo....*/...foreach.(
8ee40 24 74 68 69 73 2d 3e 67 65 74 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 $this->getRecursiveDirectoryIter
8ee60 61 74 6f 72 28 29 20 61 73 20 24 70 61 74 68 20 3d 3e 20 24 66 69 6c 65 49 6e 66 6f 29 20 7b 0a ator().as.$path.=>.$fileInfo).{.
8ee80 09 09 09 24 63 75 72 72 65 6e 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 ...$currentDir.=.$this->baseDir.
8eea0 2e 20 27 2f 2e 2e 2f 27 3b 0a 09 09 09 24 66 69 6c 65 4e 61 6d 65 20 3d 20 65 78 70 6c 6f 64 65 ..'/../';....$fileName.=.explode
8eec0 28 24 63 75 72 72 65 6e 74 44 69 72 2c 20 24 70 61 74 68 29 5b 31 5d 3b 0a 09 09 09 24 66 6f 6c ($currentDir,.$path)[1];....$fol
8eee0 64 65 72 53 74 72 75 63 74 75 72 65 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 66 69 6c derStructure.=.explode('/',.$fil
8ef00 65 4e 61 6d 65 2c 20 2d 31 29 3b 0a 09 09 09 2f 2f 20 45 78 63 6c 75 64 65 20 74 68 65 20 65 78 eName,.-1);....//.Exclude.the.ex
8ef20 63 6c 75 73 69 6f 6e 73 0a 09 09 09 69 66 28 69 73 73 65 74 28 24 66 6f 6c 64 65 72 53 74 72 75 clusions....if(isset($folderStru
8ef40 63 74 75 72 65 5b 30 5d 29 29 20 7b 0a 09 09 09 09 69 66 28 61 72 72 61 79 5f 73 65 61 72 63 68 cture[0])).{.....if(array_search
8ef60 28 24 66 6f 6c 64 65 72 53 74 72 75 63 74 75 72 65 5b 30 5d 2c 20 24 65 78 63 6c 75 64 65 64 45 ($folderStructure[0],.$excludedE
8ef80 6c 65 6d 65 6e 74 73 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 63 6f 6e 74 69 lements).!==.false).{......conti
8efa0 6e 75 65 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 69 66 28 61 72 nue;.....}....}.else.{.....if(ar
8efc0 72 61 79 5f 73 65 61 72 63 68 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 65 78 63 6c 75 64 65 64 45 ray_search($fileName,.$excludedE
8efe0 6c 65 6d 65 6e 74 73 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 63 6f 6e 74 69 lements).!==.false).{......conti
8f000 6e 75 65 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 09 69 66 28 24 66 69 6c 65 49 6e 66 6f 2d nue;.....}....}....if($fileInfo-
8f020 3e 69 73 46 69 6c 65 28 29 20 7c 7c 20 24 66 69 6c 65 49 6e 66 6f 2d 3e 69 73 4c 69 6e 6b 28 29 >isFile().||.$fileInfo->isLink()
8f040 29 20 7b 0a 09 09 09 09 24 73 74 61 74 65 20 3d 20 75 6e 6c 69 6e 6b 28 24 70 61 74 68 29 3b 0a ).{.....$state.=.unlink($path);.
8f060 09 09 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 ....if($state.===.false).{......
8f080 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 throw.new.\Exception('Could.not.
8f0a0 75 6e 6c 69 6e 6b 3a 20 27 2e 24 70 61 74 68 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 20 65 6c 73 unlink:.'.$path);.....}....}.els
8f0c0 65 69 66 28 24 66 69 6c 65 49 6e 66 6f 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 09 09 09 09 24 73 eif($fileInfo->isDir()).{.....$s
8f0e0 74 61 74 65 20 3d 20 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 09 09 09 09 69 66 28 24 73 74 61 tate.=.rmdir($path);.....if($sta
8f100 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c te.===.false).{......throw.new.\
8f120 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 6d 64 69 72 3a 20 27 2e 24 70 Exception('Could.not.rmdir:.'.$p
8f140 61 74 68 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 73 ath);.....}....}...}....$this->s
8f160 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 64 65 6c 65 74 65 4f 6c ilentLog('[info].end.of.deleteOl
8f180 64 46 69 6c 65 73 28 29 27 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 4d 6f 76 65 73 20 74 dFiles()');..}.../**...*.Moves.t
8f1a0 68 65 20 73 70 65 63 69 66 69 65 64 20 66 69 6c 65 64 20 65 78 63 65 70 74 20 74 68 65 20 65 78 he.specified.filed.except.the.ex
8f1c0 63 6c 75 64 65 64 20 65 6c 65 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 63 6f 72 72 65 63 74 20 70 cluded.elements.to.the.correct.p
8f1e0 6f 73 69 74 69 6f 6e 0a 09 20 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 64 osition...*...*.@param.string.$d
8f200 61 74 61 4c 6f 63 61 74 69 6f 6e 0a 09 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 24 65 78 ataLocation...*.@param.array.$ex
8f220 63 6c 75 64 65 64 45 6c 65 6d 65 6e 74 73 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 cludedElements...*.@throws.\Exce
8f240 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 ption...*/..private.function.mov
8f260 65 57 69 74 68 45 78 63 6c 75 73 69 6f 6e 73 28 24 64 61 74 61 4c 6f 63 61 74 69 6f 6e 2c 20 61 eWithExclusions($dataLocation,.a
8f280 72 72 61 79 20 24 65 78 63 6c 75 64 65 64 45 6c 65 6d 65 6e 74 73 29 20 7b 0a 09 09 2f 2a 2a 0a rray.$excludedElements).{.../**.
8f2a0 09 09 20 2a 20 40 76 61 72 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 20 24 66 69 6c 65 49 6e 66 6f ...*.@var.\SplFileInfo.$fileInfo
8f2c0 0a 09 09 20 2a 2f 0a 09 09 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 63 75 ....*/...foreach.($this->getRecu
8f2e0 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 61 74 61 4c 6f 63 61 rsiveDirectoryIterator($dataLoca
8f300 74 69 6f 6e 29 20 61 73 20 24 70 61 74 68 20 3d 3e 20 24 66 69 6c 65 49 6e 66 6f 29 20 7b 0a 09 tion).as.$path.=>.$fileInfo).{..
8f320 09 09 24 66 69 6c 65 4e 61 6d 65 20 3d 20 65 78 70 6c 6f 64 65 28 24 64 61 74 61 4c 6f 63 61 74 ..$fileName.=.explode($dataLocat
8f340 69 6f 6e 2c 20 24 70 61 74 68 29 5b 31 5d 3b 0a 09 09 09 24 66 6f 6c 64 65 72 53 74 72 75 63 74 ion,.$path)[1];....$folderStruct
8f360 75 72 65 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 66 69 6c 65 4e 61 6d 65 2c 20 2d 31 ure.=.explode('/',.$fileName,.-1
8f380 29 3b 0a 0a 09 09 09 2f 2f 20 45 78 63 6c 75 64 65 20 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 73 );.....//.Exclude.the.exclusions
8f3a0 0a 09 09 09 69 66 20 28 69 73 73 65 74 28 24 66 6f 6c 64 65 72 53 74 72 75 63 74 75 72 65 5b 30 ....if.(isset($folderStructure[0
8f3c0 5d 29 29 20 7b 0a 09 09 09 09 69 66 20 28 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 66 6f 6c 64 ])).{.....if.(array_search($fold
8f3e0 65 72 53 74 72 75 63 74 75 72 65 5b 30 5d 2c 20 24 65 78 63 6c 75 64 65 64 45 6c 65 6d 65 6e 74 erStructure[0],.$excludedElement
8f400 73 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 s).!==.false).{......continue;..
8f420 09 09 09 7d 0a 09 09 09 7d 20 65 6c 73 65 20 7b 0a 09 09 09 09 69 66 20 28 61 72 72 61 79 5f 73 ...}....}.else.{.....if.(array_s
8f440 65 61 72 63 68 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 65 78 63 6c 75 64 65 64 45 6c 65 6d 65 6e earch($fileName,.$excludedElemen
8f460 74 73 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 63 6f 6e 74 69 6e 75 65 3b 0a ts).!==.false).{......continue;.
8f480 09 09 09 09 7d 0a 09 09 09 7d 0a 0a 09 09 09 69 66 28 24 66 69 6c 65 49 6e 66 6f 2d 3e 69 73 46 ....}....}.....if($fileInfo->isF
8f4a0 69 6c 65 28 29 29 20 7b 0a 09 09 09 09 69 66 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 ile()).{.....if(!file_exists($th
8f4c0 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 27 20 2e 20 64 69 72 6e 61 6d 65 28 24 is->baseDir...'/../'...dirname($
8f4e0 66 69 6c 65 4e 61 6d 65 29 29 29 20 7b 0a 09 09 09 09 09 24 73 74 61 74 65 20 3d 20 6d 6b 64 69 fileName))).{......$state.=.mkdi
8f500 72 28 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 27 20 2e 20 64 69 72 6e r($this->baseDir...'/../'...dirn
8f520 61 6d 65 28 24 66 69 6c 65 4e 61 6d 65 29 2c 20 30 37 35 35 2c 20 74 72 75 65 29 3b 0a 09 09 09 ame($fileName),.0755,.true);....
8f540 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 09 74 ..if($state.===.false).{.......t
8f560 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 6d hrow.new.\Exception('Could.not.m
8f580 6b 64 69 72 20 27 20 2e 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 20 2e 20 27 2f 2e 2e 2f kdir.'...$this->baseDir....'/../
8f5a0 27 20 2e 20 64 69 72 6e 61 6d 65 28 24 66 69 6c 65 4e 61 6d 65 29 29 3b 0a 09 09 09 09 09 7d 0a '...dirname($fileName));......}.
8f5c0 09 09 09 09 7d 0a 09 09 09 09 24 73 74 61 74 65 20 3d 20 72 65 6e 61 6d 65 28 24 70 61 74 68 2c ....}.....$state.=.rename($path,
8f5e0 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 20 2e 20 27 2f 2e 2e 2f 27 20 2e 20 24 66 69 6c .$this->baseDir....'/../'...$fil
8f600 65 4e 61 6d 65 29 3b 0a 09 09 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 eName);.....if($state.===.false)
8f620 20 7b 0a 09 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 0a 09 09 .{......throw.new.\Exception(...
8f640 09 09 09 09 73 70 72 69 6e 74 66 28 0a 09 09 09 09 09 09 09 27 43 6f 75 6c 64 20 6e 6f 74 20 72 ....sprintf(........'Could.not.r
8f660 65 6e 61 6d 65 20 25 73 20 74 6f 20 25 73 27 2c 0a 09 09 09 09 09 09 09 24 70 61 74 68 2c 0a 09 ename.%s.to.%s',........$path,..
8f680 09 09 09 09 09 09 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e 20 27 2f 2e 2e 2f 27 20 2e 20 ......$this->baseDir...'/../'...
8f6a0 24 66 69 6c 65 4e 61 6d 65 0a 09 09 09 09 09 09 29 0a 09 09 09 09 09 29 3b 0a 09 09 09 09 7d 0a $fileName.......)......);.....}.
8f6c0 09 09 09 7d 0a 09 09 09 69 66 28 24 66 69 6c 65 49 6e 66 6f 2d 3e 69 73 44 69 72 28 29 29 20 7b ...}....if($fileInfo->isDir()).{
8f6e0 0a 09 09 09 09 24 73 74 61 74 65 20 3d 20 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 09 09 09 09 .....$state.=.rmdir($path);.....
8f700 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 74 68 72 6f if($state.===.false).{......thro
8f720 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 6d 64 69 w.new.\Exception('Could.not.rmdi
8f740 72 20 27 20 2e 20 24 70 61 74 68 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a r.'...$path);.....}....}...}..}.
8f760 0a 09 2f 2a 2a 0a 09 20 2a 20 4d 6f 76 65 73 20 74 68 65 20 6e 65 77 6c 79 20 64 6f 77 6e 6c 6f ../**...*.Moves.the.newly.downlo
8f780 61 64 65 64 20 66 69 6c 65 73 20 69 6e 74 6f 20 70 6c 61 63 65 0a 09 20 2a 0a 09 20 2a 20 40 74 aded.files.into.place...*...*.@t
8f7a0 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 hrows.\Exception...*/..public.fu
8f7c0 6e 63 74 69 6f 6e 20 6d 6f 76 65 4e 65 77 56 65 72 73 69 6f 6e 49 6e 50 6c 61 63 65 28 29 20 7b nction.moveNewVersionInPlace().{
8f7e0 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 6d 6f 76 65 ...$this->silentLog('[info].move
8f800 4e 65 77 56 65 72 73 69 6f 6e 49 6e 50 6c 61 63 65 28 29 27 29 3b 0a 0a 09 09 2f 2f 20 52 65 6e NewVersionInPlace()');....//.Ren
8f820 61 6d 65 20 65 76 65 72 79 74 68 69 6e 67 20 65 6c 73 65 20 65 78 63 65 70 74 20 74 68 65 20 65 ame.everything.else.except.the.e
8f840 6e 74 72 79 20 61 6e 64 20 75 70 64 61 74 65 72 20 66 69 6c 65 73 0a 09 09 24 65 78 63 6c 75 64 ntry.and.updater.files...$exclud
8f860 65 64 45 6c 65 6d 65 6e 74 73 20 3d 20 5b 0a 09 09 09 27 75 70 64 61 74 65 72 27 2c 0a 09 09 09 edElements.=.[....'updater',....
8f880 27 69 6e 64 65 78 2e 70 68 70 27 2c 0a 09 09 09 27 73 74 61 74 75 73 2e 70 68 70 27 2c 0a 09 09 'index.php',....'status.php',...
8f8a0 09 27 72 65 6d 6f 74 65 2e 70 68 70 27 2c 0a 09 09 09 27 70 75 62 6c 69 63 2e 70 68 70 27 2c 0a .'remote.php',....'public.php',.
8f8c0 09 09 09 27 6f 63 73 2f 76 31 2e 70 68 70 27 2c 0a 09 09 09 27 6f 63 73 2f 76 32 2e 70 68 70 27 ...'ocs/v1.php',....'ocs/v2.php'
8f8e0 2c 0a 09 09 5d 3b 0a 09 09 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 ,...];...$storageLocation.=.$thi
8f900 73 2d 3e 67 65 74 44 61 74 61 44 69 72 65 63 74 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 20 2e 20 s->getDataDirectoryLocation()...
8f920 27 2f 75 70 64 61 74 65 72 2d 27 2e 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 '/updater-'.$this->getConfigOpti
8f940 6f 6e 28 27 69 6e 73 74 61 6e 63 65 69 64 27 29 20 2e 20 27 2f 64 6f 77 6e 6c 6f 61 64 73 2f 6e on('instanceid')...'/downloads/n
8f960 65 78 74 63 6c 6f 75 64 2f 27 3b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 extcloud/';...$this->silentLog('
8f980 5b 69 6e 66 6f 5d 20 73 74 6f 72 61 67 65 20 6c 6f 63 61 74 69 6f 6e 3a 20 27 20 2e 20 24 73 74 [info].storage.location:.'...$st
8f9a0 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 29 3b 0a 09 09 24 74 68 69 73 2d 3e 6d 6f 76 65 57 69 74 orageLocation);...$this->moveWit
8f9c0 68 45 78 63 6c 75 73 69 6f 6e 73 28 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 2c 20 24 65 hExclusions($storageLocation,.$e
8f9e0 78 63 6c 75 64 65 64 45 6c 65 6d 65 6e 74 73 29 3b 0a 0a 09 09 2f 2f 20 52 65 6e 61 6d 65 20 65 xcludedElements);....//.Rename.e
8fa00 76 65 72 79 74 68 69 6e 67 20 65 78 63 65 70 74 20 74 68 65 20 75 70 64 61 74 65 72 20 66 69 6c verything.except.the.updater.fil
8fa20 65 73 0a 09 09 24 74 68 69 73 2d 3e 6d 6f 76 65 57 69 74 68 45 78 63 6c 75 73 69 6f 6e 73 28 24 es...$this->moveWithExclusions($
8fa40 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 2c 20 5b 27 75 70 64 61 74 65 72 27 5d 29 3b 0a 0a storageLocation,.['updater']);..
8fa60 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f ..$this->silentLog('[info].end.o
8fa80 66 20 6d 6f 76 65 4e 65 77 56 65 72 73 69 6f 6e 49 6e 50 6c 61 63 65 28 29 27 29 3b 0a 09 7d 0a f.moveNewVersionInPlace()');..}.
8faa0 0a 09 2f 2a 2a 0a 09 20 2a 20 46 69 6e 61 6c 69 7a 65 20 61 6e 64 20 63 6c 65 61 6e 75 70 20 74 ../**...*.Finalize.and.cleanup.t
8fac0 68 65 20 75 70 64 61 74 65 72 20 62 79 20 66 69 6e 61 6c 6c 79 20 72 65 70 6c 61 63 69 6e 67 20 he.updater.by.finally.replacing.
8fae0 74 68 65 20 75 70 64 61 74 65 72 20 73 63 72 69 70 74 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 the.updater.script...*/..public.
8fb00 66 75 6e 63 74 69 6f 6e 20 66 69 6e 61 6c 69 7a 65 28 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 function.finalize().{...$this->s
8fb20 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 66 69 6e 61 6c 69 7a 65 28 29 27 29 3b 0a 0a ilentLog('[info].finalize()');..
8fb40 09 09 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 ..$storageLocation.=.$this->getD
8fb60 61 74 61 44 69 72 65 63 74 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 20 2e 20 27 2f 75 70 64 61 74 ataDirectoryLocation()...'/updat
8fb80 65 72 2d 27 2e 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 69 6e 73 er-'.$this->getConfigOption('ins
8fba0 74 61 6e 63 65 69 64 27 29 20 2e 20 27 2f 64 6f 77 6e 6c 6f 61 64 73 2f 6e 65 78 74 63 6c 6f 75 tanceid')...'/downloads/nextclou
8fbc0 64 2f 27 3b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 d/';...$this->silentLog('[info].
8fbe0 73 74 6f 72 61 67 65 20 6c 6f 63 61 74 69 6f 6e 3a 20 27 20 2e 20 24 73 74 6f 72 61 67 65 4c 6f storage.location:.'...$storageLo
8fc00 63 61 74 69 6f 6e 29 3b 0a 09 09 24 74 68 69 73 2d 3e 6d 6f 76 65 57 69 74 68 45 78 63 6c 75 73 cation);...$this->moveWithExclus
8fc20 69 6f 6e 73 28 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 2c 20 5b 5d 29 3b 0a 09 09 24 73 ions($storageLocation,.[]);...$s
8fc40 74 61 74 65 20 3d 20 72 6d 64 69 72 28 24 73 74 6f 72 61 67 65 4c 6f 63 61 74 69 6f 6e 29 3b 0a tate.=.rmdir($storageLocation);.
8fc60 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f ..if($state.===.false).{....thro
8fc80 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 6d 64 69 w.new.\Exception('Could.not.rmdi
8fca0 72 20 24 73 74 6f 72 61 67 65 6c 6f 63 61 74 69 6f 6e 27 29 3b 0a 09 09 7d 0a 09 09 24 73 74 61 r.$storagelocation');...}...$sta
8fcc0 74 65 20 3d 20 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 44 69 72 65 63 74 te.=.unlink($this->getDataDirect
8fce0 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 20 2e 20 27 2f 75 70 64 61 74 65 72 2d 27 2e 24 74 68 69 oryLocation()...'/updater-'.$thi
8fd00 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 6e 63 65 69 64 27 29 s->getConfigOption('instanceid')
8fd20 20 2e 20 27 2f 2e 73 74 65 70 27 29 3b 0a 09 09 69 66 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 ...'/.step');...if($state.===.fa
8fd40 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 lse).{....throw.new.\Exception('
8fd60 43 6f 75 6c 64 20 6e 6f 74 20 72 6d 64 69 72 20 2e 73 74 65 70 27 29 3b 0a 09 09 7d 0a 0a 09 09 Could.not.rmdir..step');...}....
8fd80 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6f 70 63 61 63 68 65 5f 72 65 73 if.(function_exists('opcache_res
8fda0 65 74 27 29 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e et')).{....$this->silentLog('[in
8fdc0 66 6f 5d 20 63 61 6c 6c 20 6f 70 63 61 63 68 65 5f 72 65 73 65 74 28 29 27 29 3b 0a 09 09 09 6f fo].call.opcache_reset()');....o
8fde0 70 63 61 63 68 65 5f 72 65 73 65 74 28 29 3b 0a 09 09 7d 0a 0a 09 09 24 74 68 69 73 2d 3e 73 69 pcache_reset();...}....$this->si
8fe00 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 20 6f 66 20 66 69 6e 61 6c 69 7a 65 28 lentLog('[info].end.of.finalize(
8fe20 29 27 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 )');..}.../**...*.@param.string.
8fe40 24 73 74 61 74 65 0a 09 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 73 74 65 70 0a 09 20 2a 20 $state...*.@param.int.$step...*.
8fe60 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 72 69 76 61 74 65 @throws.\Exception...*/..private
8fe80 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 53 74 65 70 28 24 73 74 61 74 65 2c 20 24 73 74 65 .function.writeStep($state,.$ste
8fea0 70 29 20 7b 0a 09 09 24 75 70 64 61 74 65 72 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 p).{...$updaterDir.=.$this->getD
8fec0 61 74 61 44 69 72 65 63 74 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 20 2e 20 27 2f 75 70 64 61 74 ataDirectoryLocation()...'/updat
8fee0 65 72 2d 27 2e 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 69 6e 73 er-'.$this->getConfigOption('ins
8ff00 74 61 6e 63 65 69 64 27 29 3b 0a 09 09 69 66 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 75 70 tanceid');...if(!file_exists($up
8ff20 64 61 74 65 72 44 69 72 20 2e 20 27 2f 2e 73 74 65 70 27 29 29 20 7b 0a 09 09 09 69 66 28 21 66 daterDir...'/.step')).{....if(!f
8ff40 69 6c 65 5f 65 78 69 73 74 73 28 24 75 70 64 61 74 65 72 44 69 72 29 29 20 7b 0a 09 09 09 09 24 ile_exists($updaterDir)).{.....$
8ff60 72 65 73 75 6c 74 20 3d 20 6d 6b 64 69 72 28 24 75 70 64 61 74 65 72 44 69 72 29 3b 0a 09 09 09 result.=.mkdir($updaterDir);....
8ff80 09 69 66 20 28 24 72 65 73 75 6c 74 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 09 74 .if.($result.===.false).{......t
8ffa0 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 63 hrow.new.\Exception('Could.not.c
8ffc0 72 65 61 74 65 20 24 75 70 64 61 74 65 72 44 69 72 27 29 3b 0a 09 09 09 09 7d 0a 09 09 09 7d 0a reate.$updaterDir');.....}....}.
8ffe0 09 09 09 24 72 65 73 75 6c 74 20 3d 20 74 6f 75 63 68 28 24 75 70 64 61 74 65 72 44 69 72 20 2e ...$result.=.touch($updaterDir..
90000 20 27 2f 2e 73 74 65 70 27 29 3b 0a 09 09 09 69 66 28 24 72 65 73 75 6c 74 20 3d 3d 3d 20 66 61 .'/.step');....if($result.===.fa
90020 6c 73 65 29 20 7b 0a 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 lse).{.....throw.new.\Exception(
90040 27 43 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 2e 73 74 65 70 27 29 3b 0a 09 09 09 7d 0a 'Could.not.create..step');....}.
90060 09 09 7d 0a 0a 09 09 24 72 65 73 75 6c 74 20 3d 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e ..}....$result.=.file_put_conten
90080 74 73 28 24 75 70 64 61 74 65 72 44 69 72 20 2e 20 27 2f 2e 73 74 65 70 27 2c 20 6a 73 6f 6e 5f ts($updaterDir...'/.step',.json_
900a0 65 6e 63 6f 64 65 28 5b 27 73 74 61 74 65 27 20 3d 3e 20 24 73 74 61 74 65 2c 20 27 73 74 65 70 encode(['state'.=>.$state,.'step
900c0 27 20 3d 3e 20 24 73 74 65 70 5d 29 29 3b 0a 09 09 69 66 28 24 72 65 73 75 6c 74 20 3d 3d 3d 20 '.=>.$step]));...if($result.===.
900e0 66 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e false).{....throw.new.\Exception
90100 28 27 43 6f 75 6c 64 20 6e 6f 74 20 77 72 69 74 65 20 74 6f 20 2e 73 74 65 70 27 29 3b 0a 09 09 ('Could.not.write.to..step');...
90120 7d 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 73 74 65 70 0a }..}.../**...*.@param.int.$step.
90140 09 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 ..*.@throws.\Exception...*/..pub
90160 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 53 74 65 70 28 24 73 74 65 70 29 20 7b 0a lic.function.startStep($step).{.
90180 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 73 74 61 72 74 ..$this->silentLog('[info].start
901a0 53 74 65 70 28 22 27 20 2e 20 24 73 74 65 70 20 2e 20 27 22 29 27 29 3b 0a 09 09 24 74 68 69 73 Step("'...$step...'")');...$this
901c0 2d 3e 77 72 69 74 65 53 74 65 70 28 27 73 74 61 72 74 27 2c 20 24 73 74 65 70 29 3b 0a 09 7d 0a ->writeStep('start',.$step);..}.
901e0 0a 09 2f 2a 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 73 74 65 70 0a 09 20 2a 20 40 ../**...*.@param.int.$step...*.@
90200 74 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 throws.\Exception...*/..public.f
90220 75 6e 63 74 69 6f 6e 20 65 6e 64 53 74 65 70 28 24 73 74 65 70 29 20 7b 0a 09 09 24 74 68 69 73 unction.endStep($step).{...$this
90240 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 6e 64 53 74 65 70 28 22 27 20 2e ->silentLog('[info].endStep("'..
90260 20 24 73 74 65 70 20 2e 20 27 22 29 27 29 3b 0a 09 09 24 74 68 69 73 2d 3e 77 72 69 74 65 53 74 .$step...'")');...$this->writeSt
90280 65 70 28 27 65 6e 64 27 2c 20 24 73 74 65 70 29 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 40 ep('end',.$step);..}.../**...*.@
902a0 72 65 74 75 72 6e 20 73 74 72 69 6e 67 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 5c 45 78 63 65 70 return.string...*.@throws.\Excep
902c0 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 tion...*/..public.function.curre
902e0 6e 74 53 74 65 70 28 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b ntStep().{...$this->silentLog('[
90300 69 6e 66 6f 5d 20 63 75 72 72 65 6e 74 53 74 65 70 28 29 27 29 3b 0a 0a 09 09 24 75 70 64 61 74 info].currentStep()');....$updat
90320 65 72 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 44 69 72 65 63 74 6f 72 79 4c erDir.=.$this->getDataDirectoryL
90340 6f 63 61 74 69 6f 6e 28 29 20 2e 20 27 2f 75 70 64 61 74 65 72 2d 27 2e 24 74 68 69 73 2d 3e 67 ocation()...'/updater-'.$this->g
90360 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 6e 63 65 69 64 27 29 3b 0a 09 09 etConfigOption('instanceid');...
90380 24 6a 73 6f 6e 44 61 74 61 20 3d 20 5b 5d 3b 0a 09 09 69 66 28 66 69 6c 65 5f 65 78 69 73 74 73 $jsonData.=.[];...if(file_exists
903a0 28 24 75 70 64 61 74 65 72 44 69 72 2e 20 27 2f 2e 73 74 65 70 27 29 29 20 7b 0a 09 09 09 24 73 ($updaterDir..'/.step')).{....$s
903c0 74 61 74 65 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 75 70 64 61 74 65 tate.=.file_get_contents($update
903e0 72 44 69 72 20 2e 20 27 2f 2e 73 74 65 70 27 29 3b 0a 09 09 09 69 66 20 28 24 73 74 61 74 65 20 rDir...'/.step');....if.($state.
90400 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 ===.false).{.....throw.new.\Exce
90420 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 65 61 64 20 66 72 6f 6d 20 2e 73 74 65 70 ption('Could.not.read.from..step
90440 27 29 3b 0a 09 09 09 7d 0a 0a 09 09 09 24 6a 73 6f 6e 44 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 ');....}.....$jsonData.=.json_de
90460 63 6f 64 65 28 24 73 74 61 74 65 2c 20 74 72 75 65 29 3b 0a 09 09 09 69 66 20 28 21 69 73 5f 61 code($state,.true);....if.(!is_a
90480 72 72 61 79 28 24 6a 73 6f 6e 44 61 74 61 29 29 20 7b 0a 09 09 09 09 74 68 72 6f 77 20 6e 65 77 rray($jsonData)).{.....throw.new
904a0 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 5c 27 74 20 64 65 63 6f 64 65 20 2e 73 74 65 70 .\Exception('Can\'t.decode..step
904c0 20 4a 53 4f 4e 20 64 61 74 61 27 29 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 72 65 74 75 72 6e 20 .JSON.data');....}...}...return.
904e0 24 6a 73 6f 6e 44 61 74 61 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 52 6f 6c 6c 62 61 63 6b $jsonData;..}.../**...*.Rollback
90500 20 74 68 65 20 63 68 61 6e 67 65 73 20 69 66 20 24 73 74 65 70 20 68 61 73 20 66 61 69 6c 65 64 .the.changes.if.$step.has.failed
90520 0a 09 20 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 69 6e 74 20 24 73 74 65 70 0a 09 20 2a 20 40 74 ...*...*.@param.int.$step...*.@t
90540 68 72 6f 77 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 hrows.\Exception...*/..public.fu
90560 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 43 68 61 6e 67 65 73 28 24 73 74 65 70 29 20 7b 0a nction.rollbackChanges($step).{.
90580 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 72 6f 6c 6c 62 ..$this->silentLog('[info].rollb
905a0 61 63 6b 43 68 61 6e 67 65 73 28 22 27 20 2e 20 24 73 74 65 70 20 2e 20 27 22 29 27 29 3b 0a 0a ackChanges("'...$step...'")');..
905c0 09 09 24 75 70 64 61 74 65 72 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 44 69 ..$updaterDir.=.$this->getDataDi
905e0 72 65 63 74 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 20 2e 20 27 2f 75 70 64 61 74 65 72 2d 27 2e rectoryLocation()...'/updater-'.
90600 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 66 69 67 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 6e 63 65 $this->getConfigOption('instance
90620 69 64 27 29 3b 0a 09 09 69 66 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 75 70 64 61 74 65 72 44 id');...if(file_exists($updaterD
90640 69 72 20 2e 20 27 2f 2e 73 74 65 70 27 29 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 ir...'/.step')).{....$this->sile
90660 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 75 6e 6c 69 6e 6b 20 2e 73 74 65 70 27 29 3b 0a 09 09 ntLog('[info].unlink..step');...
90680 09 24 73 74 61 74 65 20 3d 20 75 6e 6c 69 6e 6b 28 24 75 70 64 61 74 65 72 44 69 72 20 2e 20 27 .$state.=.unlink($updaterDir...'
906a0 2f 2e 73 74 65 70 27 29 3b 0a 09 09 09 69 66 20 28 24 73 74 61 74 65 20 3d 3d 3d 20 66 61 6c 73 /.step');....if.($state.===.fals
906c0 65 29 20 7b 0a 09 09 09 09 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 43 e).{.....throw.new.\Exception('C
906e0 6f 75 6c 64 20 6e 6f 74 20 64 65 6c 65 74 65 20 2e 73 74 65 70 27 29 3b 0a 09 09 09 7d 0a 09 09 ould.not.delete..step');....}...
90700 7d 0a 0a 09 09 69 66 28 24 73 74 65 70 20 3e 3d 20 37 29 20 7b 0a 09 09 09 24 74 68 69 73 2d 3e }....if($step.>=.7).{....$this->
90720 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 72 6f 6c 6c 62 61 63 6b 43 68 61 6e 67 65 silentLog('[info].rollbackChange
90740 73 20 2d 20 73 74 65 70 20 3e 3d 20 37 27 29 3b 0a 09 09 09 2f 2f 20 54 4f 44 4f 3a 20 49 66 20 s.-.step.>=.7');....//.TODO:.If.
90760 69 74 20 66 61 69 6c 73 20 61 66 74 65 72 20 73 74 65 70 20 37 3a 20 52 6f 6c 6c 62 61 63 6b 0a it.fails.after.step.7:.Rollback.
90780 09 09 7d 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 28 27 5b 69 6e 66 6f 5d 20 65 ..}...$this->silentLog('[info].e
907a0 6e 64 20 6f 66 20 20 72 6f 6c 6c 62 61 63 6b 43 68 61 6e 67 65 73 28 29 27 29 3b 0a 09 7d 0a 0a nd.of..rollbackChanges()');..}..
907c0 09 2f 2a 2a 0a 09 20 2a 20 4c 6f 67 73 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 69 74 68 20 ./**...*.Logs.an.exception.with.
907e0 63 75 72 72 65 6e 74 20 64 61 74 65 74 69 6d 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 75 70 current.datetime.prepended.to.up
90800 64 61 74 65 72 2e 6c 6f 67 0a 09 20 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 5c 45 78 63 65 70 74 dater.log...*...*.@param.\Except
90820 69 6f 6e 20 24 65 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 4c 6f 67 45 78 63 65 70 74 69 6f 6e 0a ion.$e...*.@throws.LogException.
90840 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 45 78 63 65 70 74 69 ..*/..public.function.logExcepti
90860 6f 6e 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 09 09 24 6d 65 73 73 61 67 65 20 3d on(\Exception.$e).{...$message.=
90880 20 27 5b 65 72 72 6f 72 5d 20 27 3b 0a 0a 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 45 78 63 .'[error].';....$message..=.'Exc
908a0 65 70 74 69 6f 6e 3a 20 27 20 2e 20 67 65 74 5f 63 6c 61 73 73 28 24 65 29 20 2e 20 50 48 50 5f eption:.'...get_class($e)...PHP_
908c0 45 4f 4c 3b 0a 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 4d 65 73 73 61 67 65 3a 20 27 20 2e EOL;...$message..=.'Message:.'..
908e0 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 50 48 50 5f 45 4f 4c 3b 0a 09 09 24 .$e->getMessage()...PHP_EOL;...$
90900 6d 65 73 73 61 67 65 20 2e 3d 20 27 43 6f 64 65 3a 27 20 2e 20 24 65 2d 3e 67 65 74 43 6f 64 65 message..=.'Code:'...$e->getCode
90920 28 29 20 2e 20 50 48 50 5f 45 4f 4c 3b 0a 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 54 72 61 ()...PHP_EOL;...$message..=.'Tra
90940 63 65 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 24 65 2d 3e 67 65 74 54 72 61 63 65 41 73 53 ce:'...PHP_EOL...$e->getTraceAsS
90960 74 72 69 6e 67 28 29 20 2e 20 50 48 50 5f 45 4f 4c 3b 0a 09 09 24 6d 65 73 73 61 67 65 20 2e 3d tring()...PHP_EOL;...$message..=
90980 20 27 46 69 6c 65 3a 27 20 2e 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 20 2e 20 50 48 50 5f 45 .'File:'...$e->getFile()...PHP_E
909a0 4f 4c 3b 0a 09 09 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 4c 69 6e 65 3a 27 20 2e 20 24 65 2d 3e OL;...$message..=.'Line:'...$e->
909c0 67 65 74 4c 69 6e 65 28 29 20 2e 20 50 48 50 5f 45 4f 4c 3b 0a 09 09 69 66 28 24 65 20 69 6e 73 getLine()...PHP_EOL;...if($e.ins
909e0 74 61 6e 63 65 6f 66 20 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 09 09 09 24 6d tanceof.UpdateException).{....$m
90a00 65 73 73 61 67 65 20 2e 3d 20 27 44 61 74 61 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 70 72 essage..=.'Data:'...PHP_EOL...pr
90a20 69 6e 74 5f 72 28 24 65 2d 3e 67 65 74 44 61 74 61 28 29 2c 20 74 72 75 65 29 20 2e 20 50 48 50 int_r($e->getData(),.true)...PHP
90a40 5f 45 4f 4c 3b 0a 09 09 7d 0a 09 09 24 74 68 69 73 2d 3e 6c 6f 67 28 24 6d 65 73 73 61 67 65 29 _EOL;...}...$this->log($message)
90a60 3b 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 4c 6f 67 73 20 61 20 6d 65 73 73 61 67 65 20 77 69 ;..}.../**...*.Logs.a.message.wi
90a80 74 68 20 63 75 72 72 65 6e 74 20 64 61 74 65 74 69 6d 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f th.current.datetime.prepended.to
90aa0 20 75 70 64 61 74 65 72 2e 6c 6f 67 0a 09 20 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 .updater.log...*...*.@param.stri
90ac0 6e 67 20 24 6d 65 73 73 61 67 65 0a 09 20 2a 20 40 74 68 72 6f 77 73 20 4c 6f 67 45 78 63 65 70 ng.$message...*.@throws.LogExcep
90ae0 74 69 6f 6e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 tion...*/..public.function.log($
90b00 6d 65 73 73 61 67 65 29 20 7b 0a 09 09 24 75 70 64 61 74 65 72 4c 6f 67 50 61 74 68 20 3d 20 24 message).{...$updaterLogPath.=.$
90b20 74 68 69 73 2d 3e 67 65 74 44 61 74 61 44 69 72 65 63 74 6f 72 79 4c 6f 63 61 74 69 6f 6e 28 29 this->getDataDirectoryLocation()
90b40 20 2e 20 27 2f 75 70 64 61 74 65 72 2e 6c 6f 67 27 3b 0a 0a 09 09 24 66 68 20 3d 20 66 6f 70 65 ...'/updater.log';....$fh.=.fope
90b60 6e 28 24 75 70 64 61 74 65 72 4c 6f 67 50 61 74 68 2c 20 27 61 27 29 3b 0a 09 09 69 66 28 24 66 n($updaterLogPath,.'a');...if($f
90b80 68 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 45 h.===.false).{....throw.new.LogE
90ba0 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 6f 70 65 6e 20 75 70 64 61 74 65 72 xception('Could.not.open.updater
90bc0 2e 6c 6f 67 27 29 3b 0a 09 09 7d 0a 0a 09 09 69 66 28 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 .log');...}....if($this->request
90be0 49 44 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 09 09 09 24 63 68 61 72 61 63 74 65 72 73 20 3d 20 ID.===.null).{....$characters.=.
90c00 27 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 '0123456789abcdefghijklmnopqrstu
90c20 76 77 78 79 7a 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 27 vwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
90c40 3b 0a 09 09 09 24 63 68 61 72 61 63 74 65 72 73 4c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 ;....$charactersLength.=.strlen(
90c60 24 63 68 61 72 61 63 74 65 72 73 29 3b 0a 09 09 09 24 72 61 6e 64 6f 6d 53 74 72 69 6e 67 20 3d $characters);....$randomString.=
90c80 20 27 27 3b 0a 09 09 09 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 31 30 3b 20 24 69 .'';....for.($i.=.0;.$i.<.10;.$i
90ca0 2b 2b 29 20 7b 0a 09 09 09 09 24 72 61 6e 64 6f 6d 53 74 72 69 6e 67 20 2e 3d 20 24 63 68 61 72 ++).{.....$randomString..=.$char
90cc0 61 63 74 65 72 73 5b 72 61 6e 64 28 30 2c 20 24 63 68 61 72 61 63 74 65 72 73 4c 65 6e 67 74 68 acters[rand(0,.$charactersLength
90ce0 20 2d 20 31 29 5d 3b 0a 09 09 09 7d 0a 09 09 09 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 49 44 .-.1)];....}....$this->requestID
90d00 20 3d 20 24 72 61 6e 64 6f 6d 53 74 72 69 6e 67 3b 0a 09 09 7d 0a 0a 09 09 24 6c 6f 67 4c 69 6e .=.$randomString;...}....$logLin
90d20 65 20 3d 20 64 61 74 65 28 5c 44 61 74 65 54 69 6d 65 3a 3a 49 53 4f 38 36 30 31 29 20 2e 20 27 e.=.date(\DateTime::ISO8601)...'
90d40 20 27 20 2e 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 49 44 20 2e 20 27 20 27 20 2e 20 24 6d .'...$this->requestID...'.'...$m
90d60 65 73 73 61 67 65 20 2e 20 50 48 50 5f 45 4f 4c 3b 0a 0a 09 09 24 72 65 73 75 6c 74 20 3d 20 66 essage...PHP_EOL;....$result.=.f
90d80 77 72 69 74 65 28 24 66 68 2c 20 24 6c 6f 67 4c 69 6e 65 29 3b 0a 09 09 69 66 28 24 72 65 73 75 write($fh,.$logLine);...if($resu
90da0 6c 74 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 09 09 09 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 lt.===.false).{....throw.new.Log
90dc0 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 77 72 69 74 65 20 74 6f 20 75 70 Exception('Could.not.write.to.up
90de0 64 61 74 65 72 2e 6c 6f 67 27 29 3b 0a 09 09 7d 0a 0a 09 09 66 63 6c 6f 73 65 28 24 66 68 29 3b dater.log');...}....fclose($fh);
90e00 0a 09 7d 0a 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 4c 6f 67 73 20 61 20 6d 65 73 73 61 67 65 20 77 69 ..}..../**...*.Logs.a.message.wi
90e20 74 68 20 63 75 72 72 65 6e 74 20 64 61 74 65 74 69 6d 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f th.current.datetime.prepended.to
90e40 20 75 70 64 61 74 65 72 2e 6c 6f 67 20 62 75 74 20 64 72 6f 70 73 20 70 6f 73 73 69 62 6c 65 20 .updater.log.but.drops.possible.
90e60 4c 6f 67 45 78 63 65 70 74 69 6f 6e 0a 09 20 2a 0a 09 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 LogException...*...*.@param.stri
90e80 6e 67 20 24 6d 65 73 73 61 67 65 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ng.$message...*/..public.functio
90ea0 6e 20 73 69 6c 65 6e 74 4c 6f 67 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 09 09 74 72 79 20 7b 0a n.silentLog($message).{...try.{.
90ec0 09 09 09 24 74 68 69 73 2d 3e 6c 6f 67 28 24 6d 65 73 73 61 67 65 29 3b 0a 09 09 7d 20 63 61 74 ...$this->log($message);...}.cat
90ee0 63 68 20 28 4c 6f 67 45 78 63 65 70 74 69 6f 6e 20 24 6c 6f 67 45 29 20 7b 0a 09 09 09 2f 2a 20 ch.(LogException.$logE).{..../*.
90f00 69 67 6e 6f 72 65 20 6c 6f 67 20 65 78 63 65 70 74 69 6f 6e 20 68 65 72 65 20 28 61 6c 72 65 61 ignore.log.exception.here.(alrea
90f20 64 79 20 64 65 74 65 63 74 65 64 20 6c 61 74 65 72 20 61 6e 79 77 61 79 73 29 20 2a 2f 0a 09 09 dy.detected.later.anyways).*/...
90f40 7d 0a 09 7d 0a 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 4c 6f 67 73 20 63 75 72 72 65 6e 74 20 76 65 72 }..}..../**...*.Logs.current.ver
90f60 73 69 6f 6e 0a 09 20 2a 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c sion...*...*/..public.function.l
90f80 6f 67 56 65 72 73 69 6f 6e 28 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 73 69 6c 65 6e 74 4c 6f 67 ogVersion().{...$this->silentLog
90fa0 28 27 5b 69 6e 66 6f 5d 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 3a 20 27 20 2e 20 24 74 ('[info].current.version:.'...$t
90fc0 68 69 73 2d 3e 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 2e 20 27 20 62 75 69 6c 64 20 74 69 his->currentVersion...'.build.ti
90fe0 6d 65 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 54 69 6d 65 29 3b 0a 09 7d 0a 7d 0a me:.'...$this->buildTime);..}.}.
91000 3c 3f 70 68 70 0a 2f 2a 2a 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f 70 79 72 69 67 68 <?php./**..*.@copyright.Copyrigh
91020 74 20 28 63 29 20 32 30 31 36 20 4d 6f 72 72 69 73 20 4a 6f 62 6b 65 20 3c 68 65 79 40 6d 6f 72 t.(c).2016.Morris.Jobke.<hey@mor
91040 72 69 73 6a 6f 62 6b 65 2e 64 65 3e 0a 20 2a 0a 20 2a 20 40 6c 69 63 65 6e 73 65 20 47 4e 55 20 risjobke.de>..*..*.@license.GNU.
91060 41 47 50 4c 20 76 65 72 73 69 6f 6e 20 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 AGPL.version.3.or.any.later.vers
91080 69 6f 6e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 ion..*..*.This.program.is.free.s
910a0 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware:.you.can.redistribute.it
910c0 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 2a 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 .and/or.modify..*.it.under.the.t
910e0 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 erms.of.the.GNU.Affero.General.P
91100 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 0a 20 2a 20 70 75 62 6c 69 73 68 65 64 20 62 79 ublic.License.as..*.published.by
91120 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 .the.Free.Software.Foundation,.e
91140 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 0a 20 2a 20 4c 69 63 65 6e 73 ither.version.3.of.the..*.Licens
91160 65 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 e,.or.(at.your.option).any.later
91180 20 76 65 72 73 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 .version...*..*.This.program.is.
911a0 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 distributed.in.the.hope.that.it.
911c0 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 will.be.useful,..*.but.WITHOUT.A
911e0 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d NY.WARRANTY;.without.even.the.im
91200 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 plied.warranty.of..*.MERCHANTABI
91220 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 LITY.or.FITNESS.FOR.A.PARTICULAR
91240 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 41 66 66 65 72 6f .PURPOSE...See.the..*.GNU.Affero
91260 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
91280 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 .details...*..*.You.should.have.
912a0 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 received.a.copy.of.the.GNU.Affer
912c0 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 6c 6f 6e o.General.Public.License..*.alon
912e0 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 g.with.this.program...If.not,.se
91300 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e e.<http://www.gnu.org/licenses/>
91320 2e 0a 20 2a 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4e 43 5c 55 70 64 61 74 65 72 3b 0a ...*..*/..namespace.NC\Updater;.
91340 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 41 .use.Symfony\Component\Console\A
91360 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 6e pplication;.use.Symfony\Componen
91380 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;.
913a0 0a 2f 2a 2a 0a 20 2a 20 43 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 41 70 70 6c 69 63 61 74 69 6f 6e ./**..*.Class.CommandApplication
913c0 0a 20 2a 0a 20 2a 20 73 65 65 20 68 74 74 70 3a 2f 2f 73 79 6d 66 6f 6e 79 2e 63 6f 6d 2f 64 6f ..*..*.see.http://symfony.com/do
913e0 63 2f 63 75 72 72 65 6e 74 2f 63 6f 6d 70 6f 6e 65 6e 74 73 2f 63 6f 6e 73 6f 6c 65 2f 73 69 6e c/current/components/console/sin
91400 67 6c 65 5f 63 6f 6d 6d 61 6e 64 5f 74 6f 6f 6c 2e 68 74 6d 6c 0a 20 2a 0a 20 2a 20 40 70 61 63 gle_command_tool.html..*..*.@pac
91420 6b 61 67 65 20 4e 43 5c 55 70 64 61 74 65 72 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e kage.NC\Updater..*/.class.Comman
91440 64 41 70 70 6c 69 63 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 41 70 70 6c 69 63 61 74 69 6f 6e dApplication.extends.Application
91460 20 7b 0a 09 2f 2a 2a 0a 09 20 2a 20 47 65 74 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 .{../**...*.Gets.the.name.of.the
91480 20 63 6f 6d 6d 61 6e 64 20 62 61 73 65 64 20 6f 6e 20 69 6e 70 75 74 2e 0a 09 20 2a 0a 09 20 2a .command.based.on.input....*...*
914a0 20 40 70 61 72 61 6d 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 20 54 68 .@param.InputInterface.$input.Th
914c0 65 20 69 6e 70 75 74 20 69 6e 74 65 72 66 61 63 65 0a 09 20 2a 0a 09 20 2a 20 40 72 65 74 75 72 e.input.interface...*...*.@retur
914e0 6e 20 73 74 72 69 6e 67 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 0a 09 20 2a 2f 0a 09 n.string.The.command.name...*/..
91500 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 61 6e 64 4e 61 6d protected.function.getCommandNam
91520 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 0a 09 7b 0a 09 09 2f 2f e(InputInterface.$input)..{...//
91540 20 54 68 69 73 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 .This.should.return.the.name.of.
91560 79 6f 75 72 20 63 6f 6d 6d 61 6e 64 2e 0a 09 09 72 65 74 75 72 6e 20 27 75 70 64 61 74 65 27 3b your.command....return.'update';
91580 0a 09 7d 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 47 65 74 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 ..}.../**...*.Gets.the.default.c
915a0 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 61 76 ommands.that.should.always.be.av
915c0 61 69 6c 61 62 6c 65 2e 0a 09 20 2a 0a 09 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 ailable....*...*.@return.array.A
915e0 6e 20 61 72 72 61 79 20 6f 66 20 64 65 66 61 75 6c 74 20 43 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 n.array.of.default.Command.insta
91600 6e 63 65 73 0a 09 20 2a 2f 0a 09 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 nces...*/..protected.function.ge
91620 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 09 7b 0a 09 09 2f 2f 20 4b 65 65 70 20 tDefaultCommands()..{...//.Keep.
91640 74 68 65 20 63 6f 72 65 20 64 65 66 61 75 6c 74 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 68 61 76 the.core.default.commands.to.hav
91660 65 20 74 68 65 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 0a 09 09 2f 2f 20 77 68 69 63 68 20 69 73 20 e.the.HelpCommand...//.which.is.
91680 75 73 65 64 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 65 20 2d 2d 68 65 6c 70 20 6f 70 74 69 6f used.when.using.the.--help.optio
916a0 6e 0a 09 09 24 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 20 3d 20 70 61 72 65 6e 74 3a 3a 67 n...$defaultCommands.=.parent::g
916c0 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 3b 0a 0a 09 09 24 64 65 66 61 75 6c 74 etDefaultCommands();....$default
916e0 43 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 28 29 Commands[].=.new.UpdateCommand()
91700 3b 0a 0a 09 09 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 3b 0a 09 7d ;....return.$defaultCommands;..}
91720 0a 0a 09 2f 2a 2a 0a 09 20 2a 20 4f 76 65 72 72 69 64 64 65 6e 20 73 6f 20 74 68 61 74 20 74 68 .../**...*.Overridden.so.that.th
91740 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 65 78 70 65 63 74 20 74 68 65 e.application.doesn't.expect.the
91760 20 63 6f 6d 6d 61 6e 64 0a 09 20 2a 20 6e 61 6d 65 20 74 6f 20 62 65 20 74 68 65 20 66 69 72 73 .command...*.name.to.be.the.firs
91780 74 20 61 72 67 75 6d 65 6e 74 2e 0a 09 20 2a 2f 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f t.argument....*/..public.functio
917a0 6e 20 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 09 7b 0a 09 09 24 69 6e 70 75 74 44 65 66 n.getDefinition()..{...$inputDef
917c0 69 6e 69 74 69 6f 6e 20 3d 20 70 61 72 65 6e 74 3a 3a 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 inition.=.parent::getDefinition(
917e0 29 3b 0a 09 09 2f 2f 20 63 6c 65 61 72 20 6f 75 74 20 74 68 65 20 6e 6f 72 6d 61 6c 20 66 69 72 );...//.clear.out.the.normal.fir
91800 73 74 20 61 72 67 75 6d 65 6e 74 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 6d 6d 61 6e st.argument,.which.is.the.comman
91820 64 20 6e 61 6d 65 0a 09 09 24 69 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 65 74 41 72 d.name...$inputDefinition->setAr
91840 67 75 6d 65 6e 74 73 28 29 3b 0a 0a 09 09 72 65 74 75 72 6e 20 24 69 6e 70 75 74 44 65 66 69 6e guments();....return.$inputDefin
91860 69 74 69 6f 6e 3b 0a 09 7d 0a 7d 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4e 43 5c 55 ition;..}.}<?php..namespace.NC\U
91880 70 64 61 74 65 72 3b 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 20 7b 0a 09 66 75 6e 63 74 69 pdater;..class.Version.{..functi
918a0 6f 6e 20 67 65 74 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 27 76 31 36 2e 30 2e 30 62 65 74 61 on.get().{...return.'v16.0.0beta
918c0 33 2d 34 2d 67 63 37 61 34 30 37 34 27 3b 0a 09 7d 0a 7d 0a 3c 3f 70 68 70 0a 2f 2a 2a 0a 20 2a 3-4-gc7a4074';..}.}.<?php./**..*
918e0 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 36 20 4c .@copyright.Copyright.(c).2016.L
91900 75 6b 61 73 20 52 65 73 63 68 6b 65 20 3c 6c 75 6b 61 73 40 73 74 61 74 75 73 63 6f 64 65 2e 63 ukas.Reschke.<lukas@statuscode.c
91920 68 3e 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 h>..*.@copyright.Copyright.(c).2
91940 30 31 36 20 4d 6f 72 72 69 73 20 4a 6f 62 6b 65 20 3c 68 65 79 40 6d 6f 72 72 69 73 6a 6f 62 6b 016.Morris.Jobke.<hey@morrisjobk
91960 65 2e 64 65 3e 0a 20 2a 0a 20 2a 20 40 6c 69 63 65 6e 73 65 20 47 4e 55 20 41 47 50 4c 20 76 65 e.de>..*..*.@license.GNU.AGPL.ve
91980 72 73 69 6f 6e 20 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 0a 20 2a 0a rsion.3.or.any.later.version..*.
919a0 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 .*.This.program.is.free.software
919c0 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 :.you.can.redistribute.it.and/or
919e0 20 6d 6f 64 69 66 79 0a 20 2a 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 .modify..*.it.under.the.terms.of
91a00 20 74 68 65 20 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 .the.GNU.Affero.General.Public.L
91a20 69 63 65 6e 73 65 20 61 73 0a 20 2a 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 icense.as..*.published.by.the.Fr
91a40 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 ee.Software.Foundation,.either.v
91a60 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 0a 20 2a 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 ersion.3.of.the..*.License,.or.(
91a80 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f at.your.option).any.later.versio
91aa0 6e 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 n...*..*.This.program.is.distrib
91ac0 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 uted.in.the.hope.that.it.will.be
91ae0 20 75 73 65 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 .useful,..*.but.WITHOUT.ANY.WARR
91b00 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 ANTY;.without.even.the.implied.w
91b20 61 72 72 61 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 arranty.of..*.MERCHANTABILITY.or
91b40 20 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 .FITNESS.FOR.A.PARTICULAR.PURPOS
91b60 45 2e 20 20 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 E...See.the..*.GNU.Affero.Genera
91b80 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c l.Public.License.for.more.detail
91ba0 73 2e 0a 20 2a 0a 20 2a 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 s...*..*.You.should.have.receive
91bc0 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 d.a.copy.of.the.GNU.Affero.Gener
91be0 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 al.Public.License..*.along.with.
91c00 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 this.program...If.not,.see.<http
91c20 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 20 2a 0a 20 2a ://www.gnu.org/licenses/>...*..*
91c40 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4e 43 5c 55 70 64 61 74 65 72 3b 0a 0a 63 6c 61 73 73 20 /..namespace.NC\Updater;..class.
91c60 4c 6f 67 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 69 6f 6e 20 LogException.extends.\Exception.
91c80 7b 0a 7d 0a 3c 3f 70 68 70 0a 2f 2a 2a 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f 70 79 {.}.<?php./**..*.@copyright.Copy
91ca0 72 69 67 68 74 20 28 63 29 20 32 30 31 36 20 4c 75 6b 61 73 20 52 65 73 63 68 6b 65 20 3c 6c 75 right.(c).2016.Lukas.Reschke.<lu
91cc0 6b 61 73 40 73 74 61 74 75 73 63 6f 64 65 2e 63 68 3e 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 kas@statuscode.ch>..*.@copyright
91ce0 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 36 20 4d 6f 72 72 69 73 20 4a 6f 62 6b 65 .Copyright.(c).2016.Morris.Jobke
91d00 20 3c 68 65 79 40 6d 6f 72 72 69 73 6a 6f 62 6b 65 2e 64 65 3e 0a 20 2a 0a 20 2a 20 40 6c 69 63 .<hey@morrisjobke.de>..*..*.@lic
91d20 65 6e 73 65 20 47 4e 55 20 41 47 50 4c 20 76 65 72 73 69 6f 6e 20 33 20 6f 72 20 61 6e 79 20 6c ense.GNU.AGPL.version.3.or.any.l
91d40 61 74 65 72 20 76 65 72 73 69 6f 6e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 ater.version..*..*.This.program.
91d60 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 is.free.software:.you.can.redist
91d80 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 2a 20 69 74 20 75 6e ribute.it.and/or.modify..*.it.un
91da0 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 der.the.terms.of.the.GNU.Affero.
91dc0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 0a 20 2a 20 70 75 62 General.Public.License.as..*.pub
91de0 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e lished.by.the.Free.Software.Foun
91e00 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 0a dation,.either.version.3.of.the.
91e20 20 2a 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 .*.License,.or.(at.your.option).
91e40 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 any.later.version...*..*.This.pr
91e60 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 ogram.is.distributed.in.the.hope
91e80 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 2a 20 62 75 74 20 .that.it.will.be.useful,..*.but.
91ea0 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 WITHOUT.ANY.WARRANTY;.without.ev
91ec0 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 en.the.implied.warranty.of..*.ME
91ee0 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 RCHANTABILITY.or.FITNESS.FOR.A.P
91f00 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 2a 20 47 ARTICULAR.PURPOSE...See.the..*.G
91f20 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 73 65 NU.Affero.General.Public.License
91f40 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f 75 20 73 68 6f .for.more.details...*..*.You.sho
91f60 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
91f80 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 73 GNU.Affero.General.Public.Licens
91fa0 65 0a 20 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 e..*.along.with.this.program...I
91fc0 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c f.not,.see.<http://www.gnu.org/l
91fe0 69 63 65 6e 73 65 73 2f 3e 2e 0a 20 2a 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4e 43 5c icenses/>...*..*/..namespace.NC\
92000 55 70 64 61 74 65 72 3b 0a 0a 63 6c 61 73 73 20 55 70 64 61 74 65 45 78 63 65 70 74 69 6f 6e 20 Updater;..class.UpdateException.
92020 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e 20 7b 0a 09 70 72 6f 74 65 63 74 65 64 20 extends.\Exception.{..protected.
92040 24 64 61 74 61 3b 0a 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 $data;...public.function.__const
92060 72 75 63 74 28 24 64 61 74 61 29 20 7b 0a 09 09 24 74 68 69 73 2d 3e 64 61 74 61 20 3d 20 24 64 ruct($data).{...$this->data.=.$d
92080 61 74 61 3b 0a 09 7d 0a 0a 09 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 ata;..}...public.function.getDat
920a0 61 28 29 20 7b 0a 09 09 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 61 74 61 3b 0a 09 7d 0a 7d a().{...return.$this->data;..}.}
920c0 0a 3c 3f 70 68 70 0a 2f 2a 2a 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f 70 79 72 69 67 .<?php./**..*.@copyright.Copyrig
920e0 68 74 20 28 63 29 20 32 30 31 36 20 4c 75 6b 61 73 20 52 65 73 63 68 6b 65 20 3c 6c 75 6b 61 73 ht.(c).2016.Lukas.Reschke.<lukas
92100 40 73 74 61 74 75 73 63 6f 64 65 2e 63 68 3e 0a 20 2a 20 40 63 6f 70 79 72 69 67 68 74 20 43 6f @statuscode.ch>..*.@copyright.Co
92120 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 36 20 4d 6f 72 72 69 73 20 4a 6f 62 6b 65 20 3c 68 pyright.(c).2016.Morris.Jobke.<h
92140 65 79 40 6d 6f 72 72 69 73 6a 6f 62 6b 65 2e 64 65 3e 0a 20 2a 0a 20 2a 20 40 6c 69 63 65 6e 73 ey@morrisjobke.de>..*..*.@licens
92160 65 20 47 4e 55 20 41 47 50 4c 20 76 65 72 73 69 6f 6e 20 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 e.GNU.AGPL.version.3.or.any.late
92180 72 20 76 65 72 73 69 6f 6e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 r.version..*..*.This.program.is.
921a0 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 free.software:.you.can.redistrib
921c0 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 2a 20 69 74 20 75 6e 64 65 72 ute.it.and/or.modify..*.it.under
921e0 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e .the.terms.of.the.GNU.Affero.Gen
92200 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 0a 20 2a 20 70 75 62 6c 69 73 eral.Public.License.as..*.publis
92220 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 hed.by.the.Free.Software.Foundat
92240 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 0a 20 2a 20 ion,.either.version.3.of.the..*.
92260 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 License,.or.(at.your.option).any
92280 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 70 72 6f 67 72 .later.version...*..*.This.progr
922a0 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 am.is.distributed.in.the.hope.th
922c0 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 2a 20 62 75 74 20 57 49 54 at.it.will.be.useful,..*.but.WIT
922e0 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 HOUT.ANY.WARRANTY;.without.even.
92300 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 2a 20 4d 45 52 43 48 the.implied.warranty.of..*.MERCH
92320 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
92340 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 2a 20 47 4e 55 20 ICULAR.PURPOSE...See.the..*.GNU.
92360 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 73 65 20 66 6f Affero.General.Public.License.fo
92380 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 20 2a 0a 20 2a 20 59 6f 75 20 73 68 6f 75 6c 64 r.more.details...*..*.You.should
923a0 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 .have.received.a.copy.of.the.GNU
923c0 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 73 65 0a 20 .Affero.General.Public.License..
923e0 2a 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e *.along.with.this.program...If.n
92400 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 ot,.see.<http://www.gnu.org/lice
92420 6e 73 65 73 2f 3e 2e 0a 20 2a 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4e 43 5c 55 70 64 nses/>...*..*/..namespace.NC\Upd
92440 61 74 65 72 3b 0a 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 ater;..class.RecursiveDirectoryI
92460 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 44 61 74 61 20 65 78 74 65 6e 64 73 20 5c 52 65 63 75 teratorWithoutData.extends.\Recu
92480 72 73 69 76 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 7b 0a 09 70 75 62 6c 69 63 20 66 75 rsiveFilterIterator.{..public.fu
924a0 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 20 7b 0a 09 09 2f 2a 2a 20 40 76 61 72 20 5c 44 69 nction.accept().{.../**.@var.\Di
924c0 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 20 24 74 68 69 73 20 2a 2f 0a 09 09 24 65 78 63 6c rectoryIterator.$this.*/...$excl
924e0 75 64 65 73 20 3d 20 5b 0a 09 09 09 27 2e 77 65 6c 6c 2d 6b 6e 6f 77 6e 27 2c 0a 09 09 09 27 64 udes.=.[....'.well-known',....'d
92500 61 74 61 27 2c 0a 09 09 09 27 2e 2e 27 2c 0a 09 09 5d 3b 0a 09 09 72 65 74 75 72 6e 20 21 28 69 ata',....'..',...];...return.!(i
92520 6e 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 2c 20 24 65 n_array($this->getFilename(),.$e
92540 78 63 6c 75 64 65 73 2c 20 74 72 75 65 29 20 7c 7c 20 24 74 68 69 73 2d 3e 69 73 44 69 72 28 29 xcludes,.true).||.$this->isDir()
92560 29 3b 0a 09 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4e 43 5c 55 70 64 61 );..}.}.<?php..namespace.NC\Upda
92580 74 65 72 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 70 64 61 74 65 72 56 65 72 73 69 6f 6e ter;..function.getUpdaterVersion
925a0 28 29 20 7b 0a 09 72 65 74 75 72 6e 20 27 30 2e 30 2e 31 2d 74 65 73 74 2d 34 2d 67 64 31 38 35 ().{..return.'0.0.1-test-4-gd185
925c0 36 63 37 20 64 69 72 74 79 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 72 65 71 75 69 72 65 20 5f 5f 44 6c7.dirty';.}.<?php..require.__D
925e0 49 52 5f 5f 20 2e 20 27 2f 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a 0a IR__...'/vendor/autoload.php';..
92600 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 27 30 27 29 3b 0a ini_set('display_errors',.'0');.
92620 69 6e 69 5f 73 65 74 28 27 6c 6f 67 5f 65 72 72 6f 72 73 27 2c 20 27 31 27 29 3b 0a 64 61 74 65 ini_set('log_errors',.'1');.date
92640 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 73 65 74 28 27 55 54 43 27 29 3b 0a 0a 24 _default_timezone_set('UTC');..$
92660 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 6e 65 77 20 4e 43 5c 55 70 64 61 74 65 72 5c 43 6f 6d application.=.new.NC\Updater\Com
92680 6d 61 6e 64 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d mandApplication();.$application-
926a0 3e 72 75 6e 28 29 3b bd ee e6 1b 6b fa 4e 82 5a 35 0a 9a 35 d9 88 14 c6 06 08 8f 02 00 00 00 47 >run();....k.N.Z5..5...........G
926c0 42 4d 42 BMB