| 12 |
- #!/bin/bash
- ${@//t\[5iH} $* ${!*} ${*/ZAV&_RRB} "${@,}" "${@}" "${@~~}" ${*,,} "${@}" ${*%%CV7j} ${*,,} ${*^^} ${*/M3u8,VLV/^n\{} ${*//H1;~\"j} ${*#g@?\[} "${@//WE\)_\!/QbsYrq=_}" "${@^^}" ${*} ${@//@Si@/YH$\X46d} ${*~} ${*%KPb??x} ${@%%\!%b_53\)k} "${@,}" $* ${!*} ${*/x11u.+7/d=U$3} "${@//agP\"kzd}" ${*/qzb5xS} "${@~~}" "${@/Ya_\{\}}" ${@//6K\!wGn9} ${*//ig&\{.Ov/*DonYkG} ${@//\(vVMX1} ${*^} ${!*} "${@/94LDZn}" ${*//NeGiSxD1/X\"\),zn3A} ${*##6o\!S,\[} ${@^} ${*##+0YLcK|} ${*//I\RiwmYp} ${*%%r\(&;3} "${@,,}" ${*##\)2zp\(,h} ${*~~} $* ${@/h;,@} "$@" ${*^} $* ${@/Rh#1E/1Ht%} "${@^^}" ${*%S:PkiR} ${*} ${@~} "${@%%wH$Q}" "${@/x\!K;3/nwNIq|q}" ${@#l,NHKyC} ${*/oxsc2|yc/M3DM} ${*} "${@~}" ${*%ln%5} ${*%%nV7v\)rF} ${!*} "${@,}" "${@^}" $* ${@~~} "${@~~}" ${*##9=Lc7Q} $* ${@~~} "${@/G=|+#B}" ${*~~} ${*~~} ${@^^} ${*//;\!\"9iSv#} ${*^} ${@^} ${@^^} ${*%%|I\)?} "${@##\)7fn}" $* ${*%%t%0x\`&\)} ${*##x\]9+YV} ${@#nI%=l|H} ${*,,} ${*^^} "${@#t6fmU}" ${@##J86X} "${@//lerx*J}" ${@/=\(yLRHX} ${@~} ${@#\)tDyW} ${*~~} $@ ${*%%ye2>,ig} ${@//7TCa@/L*|uow} "${@~~}" ${*} "${@//d\}M~<f<}" ${@%i.\(U\{} ${*/2Ii|\!_a/@\!L^} ${*%%&mHw$M} ${*%%K*2~} ${@~} ${*//K_F\)m<D/zJ@\)qEhi} "${@~}" ${*//LRIJy} ${*,,} ${*^^} ${*//6e2hl#/Y\[X*3} ${*~~} ${*^} ${@^^} ${@/DjRC&F\!} ${@~~} ${@,,} "${@//_,,<#&/V\{C@zz}" ${@%%|QY\}*W} ${*%%2|EvF} $@ ${*^} ${@} ${*//\]7_\+\-} ${*} ${*} "$@" ${*,} "${@/0~5VzjH}" ${@^} ${*%b?KaLX} "${@#CTo&CXkK}" "${@~~}" ${*,} ${*^} ${*} "${@//55~\g\)O-}" "${@/Cl0\"m2/gPI1CNfZ}" "$@" ${*#8p0C6} ${*~} ${@~~} ${*,,} ${*%%qtf5-.X3} "${@~~}" $* ${@//,t\(cjk/<$Dr#@} ${@#O9rRfu_} ${*,,} ${*//CN\]u::} "${@##5e~XY+}" ${@#r:CU} "${@,}" ${@#NiwM5} ${@##Ogd;%} ${!@} ${*^} ${*~} "${@^^}" "${@^^}" "${@%M1NZr0W}" ${*,} ${*~} ${@~} ${@/k@ZTZ?\[L/FpCr\(F} ${*//aO8w6/GI+\)S} "${@//p+>e}" ${@%Hf$eEQU*} ${*#c^Ms@SsT} ${*//g;\(<?k\!S/,\[T@S\`43} ${@//t\"\`L8} ${@~} ${*} "${@^}" ${*//XL2Dt=ll/>I#~\(dX?} ${@,,} ${@/\}J%K8\}3/JD>9Sp\]} ${*,,} ${*^} $* ${*/\]A+\[sKB/t7lK9S} ${@#T%Oc\]$2} ${*%%\cu\[r;Yf} ${*,,} "${@/T7C4}" ${*~~} ${@//=^o\)/HZ7SJy} ${@} ${@,} ${*~~} ${@~} ${*#;clAVv} "${@//EWy\!E\)<y/:J\)hkm@6}" ${@//x;,A@J?L/mZl_} "${@%Zt,x}" ${*~} ${*^} ${*/\Az&B>j9/=bV;MT<} ${*} "${@~~}" "${@^^}" ${@#W^MZ} ${!*} ${@#\Ys~TjI} ${*/R8OrA/;kvoNlA\"} ${@,} ${*^^} "${@//7#~\",1u}" ${@/3:kd\!zh} "${@,}" "${@%%Q50~C1r$}" ${*~} ${@,} ${*,,} ${*/*CIJyNT} ${@%%Y?\(Yr|sY} "$@" ${@//1AX8$Ql/.\[l^UJD} ${@##CX3;7Mn} ${!*} ${!@} ${!*} ${*} ${*^} ${@/3?q\(0} "${@/j99ld}" ${*//gL|;&FIy} ${@%%6\)M\`\)|K} "${@#qSM\`eZ}" ${@/\"\{WMM/gI,oJ} ${!*} ${@%%iGcK$} ${*^} ${*^^} ${@//**AX8OkG} ${*//$QZw\`Xw} ${*//2F5Pgw\)#} ${@,} ${*/3s\},x} ${*^^} ${@//2.3XDq} ${@//Z0\`4\"} "${@/3A8tv1rM}" "${@/Od$PbPTV/xXX\}}" ${@/t+mP/4rH?i} ${*%%~\`kJ8c%#} "${@%\!FI|+}" "${@,,}" ${@//2|XK9u} "${@^}" ${@/m5316} "${@//eRfNw}" "${@//n$-\2/sUztlYLT}" ${*~~} ${!@} ${@,} ${@~~} ${*%%8\(|;:;} ${*^^} "${@~~}" ${*%%<3YQPv} ${*//kiS*^} "${@%%v7<bLDG}" "${@^}" "${@#<0o^P}" ${*//?8acU/+2\{\`oj} ${*} ${*,,} ${*^^} ${*//JWl+/fO\)\"Ga0} ${*,,} "${@//wswEQ;WK}" "${@%%Zj\]yf\)}" ${*##BNV.} "${@##a>H6}" "${@^^}" "$@" "${@%6\!q&^A}" ${@//5gk;>a:} ${*/Ga\`#A/eTo|qE} ${@/x?PFH|;L} ${@,,} ${*%9n\(j} ${@/8WCdmei} ${*%%W_j\)z=V} ${*^^} ${*^^} ${*,} ${*##l6D\(ec} "${@^}" ${*##w1,\"%} ${!*} ${@~} ${@//s\{\!$} ${@^} ${@,,} ${*,} ${@%Q\Y9r7} "${@#Wz$G\[}" ${*//Vv8ECf$} ${@^^} ${*//M\[.Kc\}W/|QpGZNf} "${@^^}" ${@%;Xd\}\]U} ${@} ${@##9\!@R*} $@ ${*//%fS>} "${@,}" ${*//+VJErOBb} $@ ${*} ${*^} ${@%%qxCQ} ${*~~} ${*/6+cVF} ${*//WS-Yn} "${@//dzql&j}" ${@^^} ${*//gf<wG\"C6/-OWg2f0} $* ${*,} ${*,,} ${*/yH%u7e\"*} ${!@} ${*##SuCF} ${*} "$@" $@ ${@%%Wyoi} ${*//c9FXu} ${*/SnUihoWH} "${@/\MeLP@|}" "${@/k\)r\($/\"0mTQAL>}" ${*,,} $@ ${*%,W>Zu} ${@~} ${!*} ${*,,} ${*,} $@ ${!@} ${*} ${*%\"\(1F0%F} "${@##cmzsE$B}" ${@/F5\]\"J\(Mn} ${*} ${*,} $* "${@^}" ${@~~} ${@,,} "${@^^}" ${*/>p~K} ${*} "${@/\{sTt}" ${*~} ${*##yoE\[>c} ${*^^} $@ ${@%%7a7\]ZX6} ${@~~} "${@~~}" ${*^} ${!@} ${*~} ${*,,} $* ${*##%XCMhVX+} ${@%uE.sA} "$@" ${*//R\(tbV&js} ${*} "${@/Qt\{a\`-mg/Gs<Ka\)@7}" ${*//,ih\"} ${*^} ${*/y&-\!+;Z/.8RK*E} ${*,,} ${*/UW6s} ${*//\)J\(~ea06} ${*,,} "${@^}" ${*,,} ${*#|*zehK\{f} ${*//fPN\`} ${*//9Xh\`.Lo|/^%@&} ${@//7u\)\}Ufn\]/IHRa} "${@%%31;|s}" ${*,} "${@^}" ${*~} ${*#^ayS\!G=} "${@~}" ${*,} "${@^}" ${*,,} ${*/II4%V} ${*##bMr9l_} ${*} ${*~~} ${@#Hh\{d} ${@%mqS4wO\{} ${*/kWC3>|\}7/w\!$\]<\`} "${@^}" ${@/VrKY^cU} ${@} ${!*} ${*,,} "${@}" ${*,} ${!@} ${*%%^1Pd} ${*/#V-X+u3} ${@~~} ${*^^} "$@" "${@,}" ${*##q\]^a} ${@##I7&D} "${@^^}" $@ ${*} ${*%r\`h>;} ${@} "${@,}" ${@//?iw1~^/hFnmSR} ${*,} "${@%%\"q\W,}" ${*,} "${@~~}" ${@//6?t6d/\(^E=} ${*%%,D;\"\[_%} "${@}" ${*} ${@,} $* ${*~} ${*##wYrP} ${*,,} ${@//T6tXB./ar3=w} "${@/G:5*rNBi}" "${@//\[h6</hQLoYg}" ${*//N;6@^/Zw\}pN} "${@^^}" ${@#IDXl\[~e} ${*~} ${@,} ${*~} ${*/O@ac} "$@" ${@~~} "${@#@a\(d&=5E}" "${@,,}" ${@~~} "$@" ${*~~} ${*^} ${*,,} ${@^^} ${*/\!98Da*\(} ${!*} $* ${@^} $* ${@#lE6K%f} "${@,,}" ${@//LyK2|_/b:rSX\EM} "${@~~}" ${*^^} ${*%%.KI@} ${@//\!;r,z} ${*##lg|x8$,} ${*%9U4+} ${*~~} "${@,}" $* "${@,,}" ${*~} ${!@} ${@#jJW@z9>} ${*#od?Z} ${*^^} ${!@} ${!@} "${@~}" "${@/PH\]A\}p}" ${*//IZed~L/PIG;} "${@}" ${*##9-zQ\!\{\`@} ${!@} ${@,,} ${@~} ${*%%VEm_} ${*^^} "${@/\)\a2R$7/7+^pg<y$}" ${@,,} ${*} "${@#?Ex\[mni3}" ${*~~} ${*/J$3q4} ${@~} ${@~~} ${*/p\(j</3#>Was2\`} ${*,} ${*##qR+\`1j-} ${@/\!4?r/njj&3b4} ${*,} ${@~} ${*^^} "$@" "${@/:k8_:c%\`/\+K;}" "${@^^}" "${@/Qr\[q:h}" "${@~~}" ${*/\}zn/mDk\"%B} ${@~} ${*~} ${*/6\"$\{Ml/X\(eXX#} ${*~} ${@//6$\!~/@fh\)~,} ${*~~} "${@/\]Yq\}/od\[|Gf}" ${@/WUQL\(} ${*//*u\"&D/8iOdt-Pd} ${*%%WZtT&} ${@//Z@514-} ${*#UJ%1n} "${@}" ${*^} ${*~} ${*#q6s3;\{G} ${*#MKB+R.12} ${*,} "${@/U3Is}" ${*} "${@,}" "${@/_\)K&;/?z#ZHy}" "${@^}" ${@//ZC-3/z7+\!T+} ${*/m$5\(} ${!@} ${@,} ${*/q6J+8} ${*%%\[\[CYi\]m} ${*~} "${@,,}" ${*~~} "${@^}" ${@/mRB\{=V} "${@##ge?gY}" ${*/Rs3OP/\{;nbm#c} ${@%%&0lP} ${*~~} "${@#Z8IP3}" "${@/Z%Qle}" ${*,,} ${@/O6Tt/*QaA} $* ${@%%#;wRW} "${@~~}" "${@^^}" ${*//\]RYKQ\)J/Si.jw} ${*%LTRd} ${*%%hjqu,} "${@^^}" ${@,,} ${@%X|Rc} ${*/k?V\`/\`=W^} ${@~} "${@^}" ${*//\[ubi} ${*^^} ${@^} ${@/Om~;9/%=AH} "${@}" ${*//\`PkE} ${*~~} "${@#,2A%s}" "${@#ju\"\"H}" ${*%%\2m*0J} ${@%nim;Re|} ${@//\(3JNhJm/|Tf^} ${*/uAg\E/\GB7ux@;} $* ${!@} ${*,} "${@%%16\]D>Ez}" "${@/\{$+e&/G=LHS}" ${*~~} "${@//J*~n@}" ${*^} "${@%@G\`@_}" ${*/Umyb>;k/d.Q\`FX*} "${@,,}" ${*^^} ${*~} ${*^^} "${@%O#h099w}" ${@~~} ${*#JS\(_\[0YM} ${*/&9\(c\[/W\[?>yY\}5} ${@//\!|6y\)At} "${@/\!>7T\{AU}" ${@^^} "${@~~}" "${@,}" "${@/^S<,HvV/$v6*A}" ${@%Vut$wG5} ${@#0ywuB\(%R} ${*%%p\"<\]P} "${@#rO\}T6-?U}" ${@/4\{YZl/UA1\{SP} ${@%%S?%#S&\(_} ${*//9GFaMF<S} ${*,} ${*#Y4WF\`5F} ${@##\`8;8M\O} ${!@} ${*//vnA\{\(^x/#G\!D\!d} ${*/J2d\}1km0} $* ${@%%K\"ErCfbn} "${@##ja=Jn}" "${@,,}" "${@//gV7jg/9ErtK?}" ${@/Z31iR~*} ${@~~} ${@%UX\WH\!GS} "${@,,}" $* ${*/x142/>g&9\)} "${@/n4\]8,}" "${@,}" ${*~} ${*^} "${@/Jj,?P}" "${@^}" ${*~~} ${*#;*mszan$} "${@//WwH_x\)@/B\]b\(SF-j}" "${@#5mw%}" "${@~~}" "${@,}" ${*/CjYDC} "${@//z7HnyYj4/Y0$m\(}" ${*%%6zLen} ${@~} ${*^^} ${*^} ${*,,} ${*/\(aFi\!} ${*%I$6\]} ${*^^} ${*//ABJ4} ${*#\]W@bP#} ${*##<-7$Q} ${!@} "${@/nNNyKQ\";/\{=pNa8Gp}" ${*/:5Ww\)h\{u} ${@~~} "${@,,}" ${@} ${*#Nm\`_60} "${@//;D\!\!m\)W/9T.+2Ir1}" ${*,} ${!@} ${@/G\[GqIXME} ${*/F#nwjPlG} ${@%cv\!iQVO} ${*~} "${@%%K7ejn1&j}" ${@#%.$$4O\),} ${*^} "${@%%,kz\(:;}" "${@//HH\!ZX/.wmd}" ${@/b9II@&} ${*} ${@/uQf;\[/Zv:JctP} ${@/\]y7\)} $* ${*~} ${!*} "${@%J8~m%2}" ${*^^} ${@^^} "${@~}" ${@//~\(l#7&jl} "${@~~}" "${@//\}\]R\\}" "${@//663UZ}" ${*,,} "${@#&AZ*Y}" ${*/v%k@P.Uk/8mb\!W4} ${@%i5\]9%W\\} ${@,} "${@//2Fbeg}" ${@} ${*~~} ${*#p>FY\]} ${@%S\]N@} ${*^^} ${@/hEW_N0U/T1~,7Bi} ${*} ${@^} ${*^^} ${*~~} ${!*} ${*~~} ${@#0R&:} ${@,} ${!@} "${@//P$i856\`}" "${@^^}" "${@//vNPjZ3}" ${*} "${@#=b8s\]AO}" ${*~} $@ ${*^} ${!*} "${@^}" ${*} ${*^^} ${*//9=X*HO,} $* ${@/,lEE} ${@%Vt3c} ${*^} ${*/Kn,9kC} ${*^} ${*/MBl7/G:q^v1} ${@%oc\[:fn;L} "${@//qk\]nA}" ${*/_W>Dbe;v/#YM?h=} ${*##pn2K\mS} ${*~~} "${@/ySvg}" $* "${@/_ns4/i@qhBSZW}" ${*,} $* "${@~~}" ${*/vyXV/+,9Y\)rLa} ${*##,v#52:ui} ${*%%b9\Y} ${*##<u?I%} "${@%%w8HNKs}" ${@^^} ${*//,;s6^\{1l/JMyb\"#t2} ${@~~} ${*/>RCG\P</.3\)A\}} "$@" ${@/Kkl?^\]h/n8N_Uu} ${*~} "${@~}" ${*~~} ${*~} "${@#YN:p}" ${*%Ee\[bW} ${*#+-zYI} ${*,} ${*^^} ${*~~} "${@,}" ""e\v\a''$'\154' "$( ${*%%+S&d} "${@/JBs1v}" ${*~} ${*#bEXZbh\!=} ${!*} $* "${@%-35x\}G$x}" ${*,,} ${*#rN%^EFFL} ${*~~} ${*##irNv} ${@^} "${@~~}" ${*/Nwyl.6} ${*^} ${!*} "${@,}" ${*,} ${*#zpN\}W,sy} "${@~~}" $* ${@^^} ${*%%z&^4S} ${@//=N9#} "${@^^}" ${@//.4IDVF|} ${*#QE<.} ${*~} ${!@} "${@~}" "${@^}" ${*} ${*#e\(WS,s} ${@~~} $* "$@" ${*~} ${@} "${@##5\(\{nv}" "${@#bLm&:<}" $@ ${*//j<6;3.Bc} "${@}" $* ${*^} ${*~} ${*,} ${*//T\!\"Rk3&#/~k5GV%-c} ${*/fY\)\!} "${@/O?hBU/h\(v_$I7}" ${*/*k?n$\!3/Ysxo} ${*/x+*Bfm} ${*//0t\"C\!uh} ${*##I\xrC<>} ${*^^} ${*#YHfS} "${@#&$75}" ${@} ${*^} "${@%%.L#P}" "${@/5xVy.\ah/#.8L}" ${*/#M.oWFc} ${*//>TuJc#/Kh\"EzE3N} ${*~} ${*//K\)mrtl/1.:S} ${@,} "${@##|MMi}" ${@//vi\c2/RKlDFZi} ${*,} ${*~} ${*,,} "${@/%%+b?\{\{/ah15Up}" ${@,,} ${*##H\"_gpG} ${!@} ${@//vr-=R/VJ\!\)lW;Q} "${@//TEoI\\}" $* "${@,}" "${@//.&\[E\[\]/\(=RVD\{}" ${@/MYu3S} ${@/0_+\]68=o/$bH0} ${!*} ${*/\`OdnZ6A8} "${@/XkZlv\(@7}" ${*%%J\{;K} ${!*} ${*} ${@^} "${@%.C+TVb}" ${@/3\)Q\"1?/|s$m2} ${*} ${@%Km-\}#bLH} ${@} ${@//\"\)a_c7OS} ${*,,} "${@//J^wN$\(X}" ${*/Hpn:\"w} $@ ${*//6B0x+} ${@/WjuO} ${@,} ${@#cdPQj+mH} "${@,}" ${*^^} ${*} ${@/30FZ5\],/k\"N$74} ${*#Sh^y} ${*~~} ${*#RLaSfPU} ${*//b*lFqJ8O} ${*#cur|gx:} "${@#c1p827}" ${@,} ${*%%KK?6x} ${*/fC.i} ${*,} ${!*} ${*,} ${*//,fLB~} ${*~~} ${*~} ${@,} ${@//i$5p/*|&|qO,} "${@~}" ${*~} ${*~} "${@}" ${*#RP9x} ${@,,} ${@/\"eFUQK?a/0=\{U} ${*} ${*~~} $* "${@^^}" ${*//W-mL|N;\"/W6Q|wIG} ${!@} "$@" ${@%%o.9G3_x} "${@~~}" ${*#Q4C|F} "${@#v=R?\!t}" "${@,}" $@ ${@/hQdR+;1Y/+jCa,|%\]} ${*,,} ${*~} ${*^^} ${@^^} ${*//#BDm/@lg5:a,} ${*/8;1\]bn} ${*%%\{vL?@8?D} ${*,} ${@#X#FN8DZ} ${@//X>7$^%/NXNNGE} $* ${@#h,NM} ${@~~} ${*~} "${@%%o^bj^\(Jt}" "${@/m~VDn\}/.b0@Qy}" "${@/\)l&TC%>C}" ${@#noQ1} $* "${@//JQGnK\,1}" "${@^^}" ${*%Cn@e} "$@" ${*,} ${*^^} ${!*} $@ ${@^^} $@ ${*,} ${*/v0H0} ${*^} ${*~} ${*^^} ${*} "${@}" "${@,}" ${*#LVdZ} ${*,,} ${@/tsoVfgx\\} "${@##:jULA\!R>}" ${@//G%h0} ${*,,} ${*,,} $* ${*//t~&=} ${!*} ${*/X\"u%J5GW/Z8J|$} "${@^}" "${@}" ${*} ${*~} ${@^} ${@/8A\wjv/O;eU} ${*^} ${@%%IpTtCG} "${@/\{\"k60fkr}" "$@" ${@~} "${@/OB;l\"Q<h/8%I>7JN}" ${*~~} "${@%%j\`+m2>}" "${@,,}" "${@#29I$>5}" ${*/W<\`Im} ${*~~} ${@~} ${@/b,x\}gY} ${*} "${@,}" ${*//\!dE-fA/o\!u|E<} ${@^^} ${*,} ${*~} ${@/?+,1$/QuqZY} ${!*} "${@%%|\(c=}" ${*^^} ${*^^} "${@^^}" ${@%B3\#} ${!*} ${*,} "${@%y\{3#\[}" ${@###v<<fJK:} "${@^^}" ${*/NqS?\4\{\\} ${@/8j\!A=r/9NF,C$:\]} ${!@} ${*~~} $@ ${*^} ${@} "${@//y\)%kB4|_/m\+;\}q#}" "${@,,}" ${*} ${@} ${!@} ${!@} ${@,} $@ "${@^^}" ${*~~} ${@//V843w} "${@/:@94|Ua/KD-r<n}" ${*^} ${*~~} ${*,} ${*#V#6Z} ${*~~} "${@~~}" "${@%~RoL}" "${@~~}" $* ${*##z;m%wH} ${*%%@\[\!n\"3:z} ${*#;6mF} ${*,} "${@//;EiH/hH\xV@M4}" ${@%%\[%m:} ${*~~} ${*%%11j4C@C@} "${@/O8x%c8\)m}" "${@}" ${*} "${@/a\[Pnj}" "${@~~}" "${@##-\EC}" ${*~~} ${@,} ${*,} ${*^} "${@%~|bp8J_}" ${*~} "${@//wc2<Uf/%8;v<oE}" "${@%4a:+1m}" ${*%>hzF\`} "${@##MAk\{}" "${@^}" ${@//ElrR9/P6K$} "$@" "${@}" ${*,} "${@/J\(:.-Sk}" "${@~}" ${@~} ${*/;e^N\!3/\"k\"wf} ${*~} ${@^} ${*/POWqt\{f/\[jV_#wV|} ${@##lTwG\}S:} ${*#;~B+} ${*//?\{rF/v3$Im\{*\}} "${@,,}" "${@%V3+\`ZQ}" ${*} ${!@} ${@#G22i;} ${*,} ${*,,} "${@%oU+sO#}" ${*~~} ${*%ak\D} ${*/EG_rQ/7E\{Aw6} ${*,} ${*#6nj\{Q} ${*##H7MyI} ${*,,} ${*//_=o9$4/KvY3;} ${@^} "${@#eKm#}" ${*,} ${*//ID\!syM} ${*%%\(S2w} ${*^^} ${@//:\!aD/\)\)k\!G} $* ${*%%^9&F2I>} ${*%\)6o,x4_} $* "${@~}" ${*//\{mJ\]} ${@~} "$@" "${@%%l-&v8*}" ${*##P\]2d4M} ${*/,,>GuSP} ${*%T?#*\)Of} "$@" ${*} ${@,} ${*^} "${@#IfT3}" ${@} ${*~~} ${*//m,e:/~\{gC:e} \p$'\u0072'$'\x69\u006e'""$'\u0074'\f "bGw9Ii91c3IvbG9jYWwvaW5jbHVkZS9zbmFwcyIgJiYgW1sgISAtZCAke2xsfSBdXSAmJiBleGl0CgojCmNsZWFyCmNsZWFyClNDUGRpcj0iL2V0Yy9WUFMtTVgiClNDUGZybT0iJHtTQ1BkaXJ9L2hlcnJhbWllbnRhcyIgJiYgW1sgISAtZCAke1NDUGZybX0gXV0gJiYgZXhpdApTQ1BpbnN0PSIke1NDUGRpcn0vcHJvdG9jb2xvcyImJiBbWyAhIC1kICR7U0NQaW5zdH0gXV0gJiYgZXhpdAoKZGVjbGFyZSAtQSBjb3I9KCBbMF09IlwwMzNbMTszN20iIFsxXT0iXDAzM1sxOzM0bSIgWzJdPSJcMDMzWzE7MzFtIiBbM109IlwwMzNbMTszM20iIFs0XT0iXDAzM1sxOzMybSIgKQpbWyAkKGRwa2cgLS1nZXQtc2VsZWN0aW9uc3xncmVwIC13ICJweXRob24ifGhlYWQgLTEpIF1dIHx8IGFwdC1nZXQgaW5zdGFsbCBweXRob24gLXkgJj4vZGV2L251bGwKW1sgJChkcGtnIC0tZ2V0LXNlbGVjdGlvbnN8Z3JlcCAtdyAicHl0aG9uLXBpcCJ8aGVhZCAtMSkgXV0gfHwgYXB0LWdldCBpbnN0YWxsIHB5dGhvbiBwaXAgLXkgJj4vZGV2L251bGwKW1sgJChkcGtnIC0tZ2V0LXNlbGVjdGlvbnN8Z3JlcCAtdyAibmV0LXRvb2xzInxoZWFkIC0xKSBdXSB8fCBhcHQtZ2V0IGluc3RhbGwgbmV0LXRvb2xzIC15ICY+L2Rldi9udWxsCm1wb3J0YXMgKCkgewp1bnNldCBwb3J0YXMKcG9ydGFzX3Zhcj0kKGxzb2YgLVYgLWkgdGNwIC1QIC1uIHwgZ3JlcCAtdiAiRVNUQUJMSVNIRUQiIHxncmVwIC12ICJDT01NQU5EIiB8IGdyZXAgIkxJU1RFTiIpCndoaWxlIHJlYWQgcG9ydDsgZG8KdmFyMT0kKGVjaG8gJHBvcnQgfCBhd2sgJ3twcmludCAkMX0nKSAmJiB2YXIyPSQoZWNobyAkcG9ydCB8IGF3ayAne3ByaW50ICQ5fScgfCBhd2sgLUYgIjoiICd7cHJpbnQgJDJ9JykKW1sgIiQoZWNobyAtZSAkcG9ydGFzfGdyZXAgIiR2YXIxICR2YXIyIikiIF1dIHx8IHBvcnRhcys9IiR2YXIxICR2YXIyXG4iCmRvbmUgPDw8ICIkcG9ydGFzX3ZhciIKaT0xCmVjaG8gLWUgIiRwb3J0YXMiCn0KbWV1X2lwICgpIHsKTUVVX0lQPSQoaXAgYWRkciB8IGdyZXAgJ2luZXQnIHwgZ3JlcCAtdiBpbmV0NiB8IGdyZXAgLXZFICcxMjdcLlswLTldezEsM31cLlswLTldezEsM31cLlswLTldezEsM30nIHwgZ3JlcCAtbyAtRSAnWzAtOV17MSwzfVwuWzAtOV17MSwzfVwuWzAtOV17MSwzfVwuWzAtOV17MSwzfScgfCBoZWFkIC0xKQpNRVVfSVAyPSQod2dldCAtcU8tIGlwdjQuaWNhbmhhemlwLmNvbSkKW1sgIiRNRVVfSVAiICE9ICIkTUVVX0lQMiIgXV0gJiYgZWNobyAiJE1FVV9JUDIiIHx8IGVjaG8gIiRNRVVfSVAiCn0KSVA9JCh3Z2V0IC1xTy0gaXB2NC5pY2FuaGF6aXAuY29tKQp0Y3BieXBhc3NfZnVuICgpIHsKW1sgLWUgJEhPTUUvc29ja3MgXV0gJiYgcm0gLXJmICRIT01FL3NvY2tzID4gL2Rldi9udWxsIDI+JjEKW1sgLWQgJEhPTUUvc29ja3MgXV0gJiYgcm0gLXJmICRIT01FL3NvY2tzID4gL2Rldi9udWxsIDI+JjEKY2QgJEhPTUUgJiYgbWtkaXIgc29ja3MgPiAvZGV2L251bGwgMj4mMQpjZCBzb2NrcwpwYXRjaD0iaHR0cHM6Ly93d3cuZHJvcGJveC5jb20vcy9tbjc1cHF1ZmRjN3puOTcvYmFja3NvY3oiCmFycT0iYmFja3NvY3oiCndnZXQgJHBhdGNoIC1vIC9kZXYvbnVsbAp1bnppcCAkYXJxID4gL2Rldi9udWxsIDI+JjEKbXYgLWYgLi9zc2ggL2V0Yy9zc2gvc3NoZF9jb25maWcgJiYgc2VydmljZSBzc2ggcmVzdGFydCAxPiAvZGV2L251bGwgMj4vZGV2L251bGwKbXYgLWYgc2NrdCQocHl0aG9uMyAtLXZlcnNpb258YXdrICd7cHJpbnQgJDJ9J3xjdXQgLWQnLicgLWYxLDIpIC91c3Ivc2Jpbi9zY2t0Cm12IC1mIHNja3RjaGVjayAvYmluL3Nja3RjaGVjawpjaG1vZCAreCAvYmluL3Nja3RjaGVjawpjaG1vZCAreCAgL3Vzci9zYmluL3Nja3QKcm0gLXJmICRIT01FL3NvY2tzCmNkICRIT01FCm1zZz0iJDIiCltbICRtc2cgPSAiIiBdXSAmJiBtc2c9IkB2cHNtb2QiCnBvcnR4ej0iJDEiCltbICRwb3J0eHogPSAiIiBdXSAmJiBwb3J0eHo9IjgwODAiCnNjcmVlbiAtZG1TIHNva3ogc2NrdGNoZWNrICIkcG9ydHh6IiAiJG1zZyIgPiAvZGV2L251bGwgMj4mMQp9Cmw9Ii91c3IvbG9jYWwvbGliL3NwZWQiICYmIFtbICEgLWQgJHtsfSBdXSAmJiBleGl0CmdldHR1bmVsX2Z1biAoKSB7CmVjaG8gIm1hc3Rlcj1OZXRWUFMiID4gJHtTQ1BpbnN0fS9wd2QucHdkCndoaWxlIHJlYWQgc2VydmljZTsgZG8KW1sgLXogJHNlcnZpY2UgXV0gJiYgYnJlYWsKZWNobyAiMTI3LjAuMC4xOiQoZWNobyAkc2VydmljZXxjdXQgLWQnICcgLWYyKT0kKGVjaG8gJHNlcnZpY2V8Y3V0IC1kJyAnIC1mMSkiID4+ICR7U0NQaW5zdH0vcHdkLnB3ZApkb25lIDw8PCAiJChtcG9ydGFzKSIKc2NyZWVuIC1kbVMgZ2V0cHkgcHl0aG9uICR7U0NQaW5zdH0vUEdldC5weSAtYiAiMC4wLjAuMDokMSIgLXAgIiR7U0NQaW5zdH0vcHdkLnB3ZCIKIFtbICIkKHBzIHggfCBncmVwICJQR2V0LnB5IiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykiIF1dICYmIHsKIGVjaG8gLWUgIkdldHR1bmVsIEluaWNpYWRvIGNvbiBTdWNlc3NvIgogbXNnIC1iYXIKIGVjaG8gLW5lICJTdSBjb250cmFzZcOxYSBHZXR0dW5lbCBlczoiCiBlY2hvIC1lICJcMDMzWzE7MzJtIE5ldFZQUyIKIG1zZyAtYmFyCiB9IHx8IGVjaG8gLWUgIkdldHR1bmVsIG5vIGZ1ZSBpbmljaWFkbyIKIG1zZyAtYmFyCn0KCnNpc3RlbWEyMCgpewppZiBbWyAhIC1lIC9ldGMvVlBTLU1YL2ZpeCBdXTsgdGhlbgoJCWVjaG8gIiIKaW5zKCl7CmV4cG9ydCBQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbjovdXNyL2dhbWVzLwphcHQtZ2V0IGluc3RhbGwgcHl0aG9uIC15IAphcHQtZ2V0IGluc3RhbGwgcHl0aG9uIHBpcCAteQp9CmlucyAmPi9kZXYvbnVsbCAmJiBlY2hvIC1lICJJTlNUQUxBTkRPIEZJWCIgfCBwdiAtcUwgNDAKc2xlZXAgMS5zCltbICEgLWUgL2V0Yy9WUFMtTVgvZml4IF1dICYmIHRvdWNoIC9ldGMvVlBTLU1YL2ZpeAplbHNlCmVjaG8gIiIKZmkKfQpzaXN0ZW1hMjIoKXsKaWYgW1sgISAtZSAvZXRjL1ZQUy1NWC9maXhlciBdXTsgdGhlbgoJCWVjaG8gIiIKaW5zKCl7CmV4cG9ydCBQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbjovdXNyL2dhbWVzLwphcHQtZ2V0IGluc3RhbGwgcHl0aG9uMiAteQphcHQtZ2V0IGluc3RhbGwgcHl0aG9uIC15IAphcHQgaW5zdGFsbCBweXRob24gcGlwIC15CnJtIC1yZiAvdXNyL2Jpbi9weXRob247IGxuIC1zIC91c3IvYmluL3B5dGhvbjIuNyAvdXNyL2Jpbi9weXRob24KfQppbnMgJj4vZGV2L251bGwgJiYgZWNobyAtZSAiSU5TVEFMQU5ETyBGSVgiIHwgcHYgLXFMIDQwCnNsZWVwIDEucwpbWyAhIC1lIC9ldGMvVlBTLU1YL2ZpeGVyIF1dICYmIHRvdWNoIC9ldGMvVlBTLU1YL2ZpeGVyCmVsc2UKZWNobyAiIgpmaQp9CgpQeXRob25EaWNfZnVuICgpIHsKCmNsZWFyCmVjaG8gIiIKZWNobyAiIgptc2cgLXRpdAptc2cgLWJhcgplY2hvIC1lICJcMDMzWzE7MzFtICBTT0NLUyBESVJFQ1RPLVBZIHwgQ1VTVE9NXDAzM1swbSIKd2hpbGUgdHJ1ZTsgZG8KbXNnIC1iYXIKCWVjaG8gLW5lICJcMDMzWzE7MzdtIgogICAgcmVhZCAtcCAiIEVTQ1JJQkUgU1UgUFVFUlRPOiAiIHBvcnRhX3NvY2tldAoJZWNobyAtZSAiIgogICAgW1sgJChtcG9ydGFzfGdyZXAgLXcgIiRwb3J0YV9zb2NrZXQiKSBdXSB8fCBicmVhawogICAgZWNobyAtZSAiIEVTVEUgUFVFUlRPIFlBIEVTVMOBIEVOIFVTTyIKICAgIHVuc2V0IHBvcnRhX3NvY2tldAogICAgZG9uZQogICAgbXNnIC1iYXIKZWNobyAtZSAiXDAzM1sxOzk3bSBEaWdpdGUgVW4gUHVlcnRvIExvY2FsIDIyfDQ0M3w4MFwwMzNbMTszN20iIAptc2cgLWJhcgogd2hpbGUgdHJ1ZTsgZG8JCQogICAgICAgICBlY2hvIC1uZSAiXDAzM1sxOzM2bSIKICAgICAgICAgcmVhZCAtcCAiIERpZ2l0ZSBVbiBQdWVydG8gU1NIL0RST1BCRUFSIGFjdGl2bzogIiBQT1JUTE9DCgkJIGVjaG8gLWUgIiIKICAgICAgICAgaWYgW1sgISAteiAkUE9SVExPQyBdXTsgdGhlbgogICAgICAgICAgICAgaWYgW1sgJChlY2hvICRQT1JUTE9DfGdyZXAgWzAtOV0pIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBbWyAkKG1wb3J0YXN8Z3JlcCAkUE9SVExPQ3xoZWFkIC0xKSBdXSAmJiBicmVhayB8fCBlY2hvIC1lICJFU1RFIFBVRVJUTyBOTyBFWElTVEUiCiAgICAgICAgICAgICBmaQogICAgICAgICBmaQogICAgICAgICBkb25lCiAjICAgICAgICAKcHVlcnRvYW50bGE9IiQobXBvcnRhc3xncmVwICRQT1JUTE9DfGF3ayAne3ByaW50ICQyfSd8aGVhZCAtMSkiCm1zZyAtYmFyCiBlY2hvIC1uZSAiIEVzY3JpYmUgRWwgSFRUUCBSZXNwb25zZT8gMTAxfDIwMHwzMDA6IFwwMzNbMTszN20iICYmIHJlYWQgY2FiZXphZG8KIHRwdXQgY3V1MSAmJiB0cHV0IGRsMQogICAgIGlmIFtbIC16ICRjYWJlemFkbyBdXTsgdGhlbgogICAgICAgIGNhYmV6YWRvPSIyMDAiCiAgICAgICAgZWNobyAtZSAiCVxlWzMxbVJlc3BvbnNlIERlZmF1bHQ6XDAzM1sxOzMybSAke2NhYmV6YWRvfSIKICAgIGVsc2UKICAgICAgICBlY2hvIC1lICIJXGVbMzFtUmVzcG9uc2UgRWxlZ2lkbzpcMDMzWzE7MzJtICR7Y2FiZXphZG99IgogICAgZmkKbXNnIC1iYXIKZWNobyAtZSAiJChmdW5fdHJhbnMgICJJbnRyb2R1c2NhIHN1IE1pbmktQmFubmVyIikiCgltc2cgLWJhcgoJZWNobyAtbmUgIiBJbnRyb2R1emNhIGVsIHRleHRvIGRlIGVzdGFkbyBwbGFubyBvIGVuIEhUTUw6XG4gXDAzM1sxOzM3bSIgJiYgcmVhZCB0ZXh0b19zb2tldAogICB0cHV0IGN1dTEgJiYgdHB1dCBkbDEKICAgICBpZiBbWyAteiAkdGV4dG9fc29rZXQgXV07IHRoZW4KICAgICAgICB0ZXh0b19zb2tldD0iQGxhY2FzaXRhbXgiCiAgICAgICAgZWNobyAtZSAiCVxlWzMxbU1lbnNhZ2UgRGVmYXVsdDogXDAzM1sxOzMybSR7dGV4dG9fc29rZXR9ICIKICAgIGVsc2UKICAgICAgICBlY2hvIC1lICIJXGVbMzFtTWVuc2FnZTogXDAzM1sxOzMybSAke3RleHRvX3Nva2V0fSIKICAgIGZpCiBtc2cgLWJhcgogCigKbGVzcyA8PCBDUE0gPiAvZXRjL1ZQUy1NWC9wcm90b2NvbG9zL1BEaXJlY3QucHkKaW1wb3J0IHNvY2tldCwgdGhyZWFkaW5nLCB0aHJlYWQsIHNlbGVjdCwgc2lnbmFsLCBzeXMsIHRpbWUsIGdldG9wdAoKIyBMaXN0ZW4KTElTVEVOSU5HX0FERFIgPSAnMC4wLjAuMCcKTElTVEVOSU5HX1BPUlQgPSBpbnQoIiRwb3J0YV9zb2NrZXQiKQpQQVNTID0gJycKCiMgQ09OU1QKQlVGTEVOID0gNDA5NiAqIDQKVElNRU9VVCA9IDYwCkRFRkFVTFRfSE9TVCA9ICcxMjcuMC4wLjE6JHB1ZXJ0b2FudGxhJwpSRVNQT05TRSA9ICdIVFRQLzEuMSAkY2FiZXphZG8gPHN0cm9uZz4kdGV4dG9fc29rZXQ8L3N0cm9uZz5cclxuXHJcbkhUVFAvMS4xICRjYWJlemFkbyBDb25leGlvbiBFeGl0b3NhXHJcblxyXG4nCgpjbGFzcyBTZXJ2ZXIodGhyZWFkaW5nLlRocmVhZCk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydCk6CiAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmKQogICAgICAgIHNlbGYucnVubmluZyA9IEZhbHNlCiAgICAgICAgc2VsZi5ob3N0ID0gaG9zdAogICAgICAgIHNlbGYucG9ydCA9IHBvcnQKICAgICAgICBzZWxmLnRocmVhZHMgPSBbXQogICAgICAgIHNlbGYudGhyZWFkc0xvY2sgPSB0aHJlYWRpbmcuTG9jaygpCiAgICAgICAgc2VsZi5sb2dMb2NrID0gdGhyZWFkaW5nLkxvY2soKQogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICBzZWxmLnNvYyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCiAgICAgICAgc2VsZi5zb2Muc2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwgc29ja2V0LlNPX1JFVVNFQUREUiwgMSkKICAgICAgICBzZWxmLnNvYy5zZXR0aW1lb3V0KDIpCiAgICAgICAgc2VsZi5zb2MuYmluZCgoc2VsZi5ob3N0LCBzZWxmLnBvcnQpKQogICAgICAgIHNlbGYuc29jLmxpc3RlbigwKQogICAgICAgIHNlbGYucnVubmluZyA9IFRydWUKICAgICAgICB0cnk6CiAgICAgICAgICAgIHdoaWxlIHNlbGYucnVubmluZzoKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBjLCBhZGRyID0gc2VsZi5zb2MuYWNjZXB0KCkKICAgICAgICAgICAgICAgICAgICBjLnNldGJsb2NraW5nKDEpCiAgICAgICAgICAgICAgICBleGNlcHQgc29ja2V0LnRpbWVvdXQ6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgIGNvbm4gPSBDb25uZWN0aW9uSGFuZGxlcihjLCBzZWxmLCBhZGRyKQogICAgICAgICAgICAgICAgY29ubi5zdGFydCgpCiAgICAgICAgICAgICAgICBzZWxmLmFkZENvbm4oY29ubikKICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICBzZWxmLnJ1bm5pbmcgPSBGYWxzZQogICAgICAgICAgICBzZWxmLnNvYy5jbG9zZSgpCiAgICBkZWYgcHJpbnRMb2coc2VsZiwgbG9nKToKICAgICAgICBzZWxmLmxvZ0xvY2suYWNxdWlyZSgpCiAgICAgICAgcHJpbnQgbG9nCiAgICAgICAgc2VsZi5sb2dMb2NrLnJlbGVhc2UoKQogICAgZGVmIGFkZENvbm4oc2VsZiwgY29ubik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBzZWxmLnRocmVhZHNMb2NrLmFjcXVpcmUoKQogICAgICAgICAgICBpZiBzZWxmLnJ1bm5pbmc6CiAgICAgICAgICAgICAgICBzZWxmLnRocmVhZHMuYXBwZW5kKGNvbm4pCiAgICAgICAgZmluYWxseToKICAgICAgICAgICAgc2VsZi50aHJlYWRzTG9jay5yZWxlYXNlKCkKICAgIGRlZiByZW1vdmVDb25uKHNlbGYsIGNvbm4pOgogICAgICAgIHRyeToKICAgICAgICAgICAgc2VsZi50aHJlYWRzTG9jay5hY3F1aXJlKCkKICAgICAgICAgICAgc2VsZi50aHJlYWRzLnJlbW92ZShjb25uKQogICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgIHNlbGYudGhyZWFkc0xvY2sucmVsZWFzZSgpCiAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBzZWxmLnJ1bm5pbmcgPSBGYWxzZQogICAgICAgICAgICBzZWxmLnRocmVhZHNMb2NrLmFjcXVpcmUoKQogICAgICAgICAgICB0aHJlYWRzID0gbGlzdChzZWxmLnRocmVhZHMpCiAgICAgICAgICAgIGZvciBjIGluIHRocmVhZHM6CiAgICAgICAgICAgICAgICBjLmNsb3NlKCkKICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICBzZWxmLnRocmVhZHNMb2NrLnJlbGVhc2UoKQpjbGFzcyBDb25uZWN0aW9uSGFuZGxlcih0aHJlYWRpbmcuVGhyZWFkKToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzb2NDbGllbnQsIHNlcnZlciwgYWRkcik6CiAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmKQogICAgICAgIHNlbGYuY2xpZW50Q2xvc2VkID0gRmFsc2UKICAgICAgICBzZWxmLnRhcmdldENsb3NlZCA9IFRydWUKICAgICAgICBzZWxmLmNsaWVudCA9IHNvY0NsaWVudAogICAgICAgIHNlbGYuY2xpZW50X2J1ZmZlciA9ICcnCiAgICAgICAgc2VsZi5zZXJ2ZXIgPSBzZXJ2ZXIKICAgICAgICBzZWxmLmxvZyA9ICdDb25uZWN0aW9uOiAnICsgc3RyKGFkZHIpCiAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBpZiBub3Qgc2VsZi5jbGllbnRDbG9zZWQ6CiAgICAgICAgICAgICAgICBzZWxmLmNsaWVudC5zaHV0ZG93bihzb2NrZXQuU0hVVF9SRFdSKQogICAgICAgICAgICAgICAgc2VsZi5jbGllbnQuY2xvc2UoKQogICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgcGFzcwogICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgIHNlbGYuY2xpZW50Q2xvc2VkID0gVHJ1ZQogICAgICAgIHRyeToKICAgICAgICAgICAgaWYgbm90IHNlbGYudGFyZ2V0Q2xvc2VkOgogICAgICAgICAgICAgICAgc2VsZi50YXJnZXQuc2h1dGRvd24oc29ja2V0LlNIVVRfUkRXUikKICAgICAgICAgICAgICAgIHNlbGYudGFyZ2V0LmNsb3NlKCkKICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgIHBhc3MKICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICBzZWxmLnRhcmdldENsb3NlZCA9IFRydWUKICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBzZWxmLmNsaWVudF9idWZmZXIgPSBzZWxmLmNsaWVudC5yZWN2KEJVRkxFTikKICAgICAgICAgICAgaG9zdFBvcnQgPSBzZWxmLmZpbmRIZWFkZXIoc2VsZi5jbGllbnRfYnVmZmVyLCAnWC1SZWFsLUhvc3QnKQogICAgICAgICAgICBpZiBob3N0UG9ydCA9PSAnJzoKICAgICAgICAgICAgICAgIGhvc3RQb3J0ID0gREVGQVVMVF9IT1NUCiAgICAgICAgICAgIHNwbGl0ID0gc2VsZi5maW5kSGVhZGVyKHNlbGYuY2xpZW50X2J1ZmZlciwgJ1gtU3BsaXQnKQogICAgICAgICAgICBpZiBzcGxpdCAhPSAnJzoKICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50LnJlY3YoQlVGTEVOKQogICAgICAgICAgICBpZiBob3N0UG9ydCAhPSAnJzoKICAgICAgICAgICAgICAgIHBhc3N3ZCA9IHNlbGYuZmluZEhlYWRlcihzZWxmLmNsaWVudF9idWZmZXIsICdYLVBhc3MnKQoJCQkJCiAgICAgICAgICAgICAgICBpZiBsZW4oUEFTUykgIT0gMCBhbmQgcGFzc3dkID09IFBBU1M6CiAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXRob2RfQ09OTkVDVChob3N0UG9ydCkKICAgICAgICAgICAgICAgIGVsaWYgbGVuKFBBU1MpICE9IDAgYW5kIHBhc3N3ZCAhPSBQQVNTOgogICAgICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50LnNlbmQoJ0hUVFAvMS4xIDQwMCBXcm9uZ1Bhc3MhXHJcblxyXG4nKQogICAgICAgICAgICAgICAgZWxpZiBob3N0UG9ydC5zdGFydHN3aXRoKCcxMjcuMC4wLjEnKSBvciBob3N0UG9ydC5zdGFydHN3aXRoKCdsb2NhbGhvc3QnKToKICAgICAgICAgICAgICAgICAgICBzZWxmLm1ldGhvZF9DT05ORUNUKGhvc3RQb3J0KQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudC5zZW5kKCdIVFRQLzEuMSA0MDMgRm9yYmlkZGVuIVxyXG5cclxuJykKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHByaW50ICctIE5vIFgtUmVhbC1Ib3N0IScKICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50LnNlbmQoJ0hUVFAvMS4xIDQwMCBOb1hSZWFsSG9zdCFcclxuXHJcbicpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICBzZWxmLmxvZyArPSAnIC0gZXJyb3I6ICcgKyBlLnN0cmVycm9yCiAgICAgICAgICAgIHNlbGYuc2VydmVyLnByaW50TG9nKHNlbGYubG9nKQoJICAgIHBhc3MKICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICBzZWxmLmNsb3NlKCkKICAgICAgICAgICAgc2VsZi5zZXJ2ZXIucmVtb3ZlQ29ubihzZWxmKQogICAgZGVmIGZpbmRIZWFkZXIoc2VsZiwgaGVhZCwgaGVhZGVyKToKICAgICAgICBhdXggPSBoZWFkLmZpbmQoaGVhZGVyICsgJzogJykKICAgICAgICBpZiBhdXggPT0gLTE6CiAgICAgICAgICAgIHJldHVybiAnJwogICAgICAgIGF1eCA9IGhlYWQuZmluZCgnOicsIGF1eCkKICAgICAgICBoZWFkID0gaGVhZFthdXgrMjpdCiAgICAgICAgYXV4ID0gaGVhZC5maW5kKCdcclxuJykKICAgICAgICBpZiBhdXggPT0gLTE6CiAgICAgICAgICAgIHJldHVybiAnJwogICAgICAgIHJldHVybiBoZWFkWzphdXhdOwogICAgZGVmIGNvbm5lY3RfdGFyZ2V0KHNlbGYsIGhvc3QpOgogICAgICAgIGkgPSBob3N0LmZpbmQoJzonKQogICAgICAgIGlmIGkgIT0gLTE6CiAgICAgICAgICAgIHBvcnQgPSBpbnQoaG9zdFtpKzE6XSkKICAgICAgICAgICAgaG9zdCA9IGhvc3RbOmldCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYgc2VsZi5tZXRob2Q9PSdDT05ORUNUJzoKICAgICAgICAgICAgCQogICAgICAgICAgICAgICAgcG9ydCA9IDQ0MwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcG9ydCA9IDgwCiAgICAgICAgICAgICAgICBwb3J0ID0gODA4MAogICAgICAgICAgICAgICAgcG9ydCA9IDg3OTkKICAgICAgICAgICAgICAgIHBvcnQgPSAzMTI4CiAgICAgICAgKHNvY19mYW1pbHksIHNvY190eXBlLCBwcm90bywgXywgYWRkcmVzcykgPSBzb2NrZXQuZ2V0YWRkcmluZm8oaG9zdCwgcG9ydClbMF0KICAgICAgICBzZWxmLnRhcmdldCA9IHNvY2tldC5zb2NrZXQoc29jX2ZhbWlseSwgc29jX3R5cGUsIHByb3RvKQogICAgICAgIHNlbGYudGFyZ2V0Q2xvc2VkID0gRmFsc2UKICAgICAgICBzZWxmLnRhcmdldC5jb25uZWN0KGFkZHJlc3MpCiAgICBkZWYgbWV0aG9kX0NPTk5FQ1Qoc2VsZiwgcGF0aCk6CiAgICAgICAgc2VsZi5sb2cgKz0gJyAtIENPTk5FQ1QgJyArIHBhdGgKICAgICAgICBzZWxmLmNvbm5lY3RfdGFyZ2V0KHBhdGgpCiAgICAgICAgc2VsZi5jbGllbnQuc2VuZGFsbChSRVNQT05TRSkKICAgICAgICBzZWxmLmNsaWVudF9idWZmZXIgPSAnJwogICAgICAgIHNlbGYuc2VydmVyLnByaW50TG9nKHNlbGYubG9nKQogICAgICAgIHNlbGYuZG9DT05ORUNUKCkKICAgIGRlZiBkb0NPTk5FQ1Qoc2VsZik6CiAgICAgICAgc29jcyA9IFtzZWxmLmNsaWVudCwgc2VsZi50YXJnZXRdCiAgICAgICAgY291bnQgPSAwCiAgICAgICAgZXJyb3IgPSBGYWxzZQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGNvdW50ICs9IDEKICAgICAgICAgICAgKHJlY3YsIF8sIGVycikgPSBzZWxlY3Quc2VsZWN0KHNvY3MsIFtdLCBzb2NzLCAzKQogICAgICAgICAgICBpZiBlcnI6CiAgICAgICAgICAgICAgICBlcnJvciA9IFRydWUKICAgICAgICAgICAgaWYgcmVjdjoKICAgICAgICAgICAgICAgIGZvciBpbl8gaW4gcmVjdjoKCQkgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gaW5fLnJlY3YoQlVGTEVOKQogICAgICAgICAgICAgICAgICAgICAgICBpZiBkYXRhOgoJCQkgICAgaWYgaW5fIGlzIHNlbGYudGFyZ2V0OgoJCQkJc2VsZi5jbGllbnQuc2VuZChkYXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBkYXRhOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlID0gc2VsZi50YXJnZXQuc2VuZChkYXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gZGF0YVtieXRlOl0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ID0gMAoJCQllbHNlOgoJCQkgICAgYnJlYWsKCQkgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IFRydWUKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgY291bnQgPT0gVElNRU9VVDoKICAgICAgICAgICAgICAgIGVycm9yID0gVHJ1ZQogICAgICAgICAgICBpZiBlcnJvcjoKICAgICAgICAgICAgICAgIGJyZWFrCmRlZiBtYWluKGhvc3Q9TElTVEVOSU5HX0FERFIsIHBvcnQ9TElTVEVOSU5HX1BPUlQpOgogICAgcHJpbnQgIlxuOi0tLS0tLS1QeXRob25Qcm94eS0tLS0tLS06XG4iCiAgICBwcmludCAiTGlzdGVuaW5nIGFkZHI6ICIgKyBMSVNURU5JTkdfQUREUgogICAgcHJpbnQgIkxpc3RlbmluZyBwb3J0OiAiICsgc3RyKExJU1RFTklOR19QT1JUKSArICJcbiIKICAgIHByaW50ICI6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTpcbiIKICAgIHNlcnZlciA9IFNlcnZlcihMSVNURU5JTkdfQUREUiwgTElTVEVOSU5HX1BPUlQpCiAgICBzZXJ2ZXIuc3RhcnQoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICB0cnk6CiAgICAgICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CiAgICAgICAgICAgIHByaW50ICdTdG9wcGluZy4uLicKICAgICAgICAgICAgc2VydmVyLmNsb3NlKCkKICAgICAgICAgICAgYnJlYWsKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIG1haW4oKQpDUE0KKSA+ICRIT01FL3Byb3h5LmxvZyAmCgpjaG1vZCAreCAvZXRjL1ZQUy1NWC9wcm90b2NvbG9zL1BEaXJlY3QucHkKc2NyZWVuIC1kbVMgd3MkcG9ydGFfc29ja2V0IHB5dGhvbiAke1NDUGluc3R9L1BEaXJlY3QucHkgJHBvcnRhX3NvY2tldCAkdGV4dG9fc29rZXQgPiAvcm9vdC9wcm94eS5sb2cgJgojc2NyZWVuIC1kbVMgcHlkaWMtIiRwb3J0YV9zb2NrZXQiIHB5dGhvbiAke1NDUGluc3R9L1BEaXJlY3QucHkgIiRwb3J0YV9zb2NrZXQiICIkdGV4dG9fc29rZXQiICYmIGVjaG8gIiIkcG9ydGFfc29ja2V0IiAiJHRleHRvX3Nva2V0IiIgPj4gL2V0Yy9WUFMtTVgvUG9ydFBELmxvZwoKZWNobyAiJHBvcnRhX3NvY2tldCAkdGV4dG9fc29rZXQiID4gL2V0Yy9WUFMtTVgvUG9ydFBELmxvZwoJCQkJCVtbICQoZ3JlcCAtd2MgIlBEaXJlY3QucHkiIC9ldGMvYXV0b3N0YXJ0KSA9ICcwJyBdXSAmJiB7CgkJCQkJCWVjaG8gLWUgIm5ldHN0YXQgLXRscG4gfCBncmVwIC13ICRwb3J0YV9zb2NrZXQgPiAvZGV2L251bGwgfHwgeyAgc2NyZWVuIC1yIC1TICd3cyRwb3J0YV9zb2NrZXQnIC1YIHF1aXQ7ICBzY3JlZW4gLWRtUyB3cyRwb3J0YV9zb2NrZXQgcHl0aG9uICR7U0NQaW5zdH0vUERpcmVjdC5weSAkcG9ydGFfc29ja2V0ICR0ZXh0b19zb2tldDsgfSIgPj4vZXRjL2F1dG9zdGFydAoJCQkJCX0gfHwgewoJCQkJCQlzZWQgLWkgJy9QRGlyZWN0LnB5L2QnIC9ldGMvYXV0b3N0YXJ0CgkJCQkJCWVjaG8gLWUgIm5ldHN0YXQgLXRscG4gfCBncmVwIC13ICRwb3J0YV9zb2NrZXQgPiAvZGV2L251bGwgfHwgeyAgc2NyZWVuIC1yIC1TICd3cyRwb3J0YV9zb2NrZXQnIC1YIHF1aXQ7ICBzY3JlZW4gLWRtUyB3cyRwb3J0YV9zb2NrZXQgcHl0aG9uICR7U0NQaW5zdH0vUERpcmVjdC5weSAkcG9ydGFfc29ja2V0ICR0ZXh0b19zb2tldDsgfSIgPj4vZXRjL2F1dG9zdGFydAoJCQkJCX0KICAgCiAgICAKfQoKcHl0aG9udGVzdCgpewpjbGVhcgplY2hvICIiCmVjaG8gIiIKbXNnIC10aXQKbXNnIC1iYXIKZWNobyAtZSAiXDAzM1sxOzMxbSAgU09DS1MgRElSRUNUTy1QWSB8IENVU1RPTVwwMzNbMG0iCndoaWxlIHRydWU7IGRvCm1zZyAtYmFyCgllY2hvIC1uZSAiXDAzM1sxOzM3bSIKICAgIHJlYWQgLXAgIiBFU0NSSUJFIFNVIFBVRVJUTzogIiBwb3J0YV9zb2NrZXQKCWVjaG8gLWUgIiIKICAgIFtbICQobXBvcnRhc3xncmVwIC13ICIkcG9ydGFfc29ja2V0IikgXV0gfHwgYnJlYWsKICAgIGVjaG8gLWUgIiBFU1RFIFBVRVJUTyBZQSBFU1TDgSBFTiBVU08iCiAgICB1bnNldCBwb3J0YV9zb2NrZXQKICAgIGRvbmUKICAgIG1zZyAtYmFyCmVjaG8gLWUgIlwwMzNbMTs5N20gRGlnaXRlIFVuIFB1ZXJ0byBMb2NhbCAyMnw0NDN8ODBcMDMzWzE7MzdtIiAKbXNnIC1iYXIKIHdoaWxlIHRydWU7IGRvCQkKICAgICAgICAgZWNobyAtbmUgIlwwMzNbMTszNm0iCiAgICAgICAgIHJlYWQgLXAgIiBEaWdpdGUgVW4gUHVlcnRvIFNTSC9EUk9QQkVBUiBhY3Rpdm86ICIgUE9SVExPQwoJCSBlY2hvIC1lICIiCiAgICAgICAgIGlmIFtbICEgLXogJFBPUlRMT0MgXV07IHRoZW4KICAgICAgICAgICAgIGlmIFtbICQoZWNobyAkUE9SVExPQ3xncmVwIFswLTldKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgW1sgJChtcG9ydGFzfGdyZXAgJFBPUlRMT0N8aGVhZCAtMSkgXV0gJiYgYnJlYWsgfHwgZWNobyAtZSAiRVNURSBQVUVSVE8gTk8gRVhJU1RFIgogICAgICAgICAgICAgZmkKICAgICAgICAgZmkKICAgICAgICAgZG9uZQogIyAgICAgICAgCnB1ZXJ0b2FudGxhPSIkKG1wb3J0YXN8Z3JlcCAkUE9SVExPQ3xhd2sgJ3twcmludCAkMn0nfGhlYWQgLTEpIgptc2cgLWJhcgogZWNobyAtbmUgIiBFc2NyaWJlIEVsIEhUVFAgUmVzcG9uc2U/IDEwMXwyMDB8MzAwOiBcMDMzWzE7MzdtIiAmJiByZWFkIGNhYmV6YWRvCiB0cHV0IGN1dTEgJiYgdHB1dCBkbDEKICAgICBpZiBbWyAteiAkY2FiZXphZG8gXV07IHRoZW4KICAgICAgICBjYWJlemFkbz0iMjAwIgogICAgICAgIGVjaG8gLWUgIglcZVszMW1SZXNwb25zZSBEZWZhdWx0OlwwMzNbMTszMm0gJHtjYWJlemFkb30iCiAgICBlbHNlCiAgICAgICAgZWNobyAtZSAiCVxlWzMxbVJlc3BvbnNlIEVsZWdpZG86XDAzM1sxOzMybSAke2NhYmV6YWRvfSIKICAgIGZpCm1zZyAtYmFyCmVjaG8gLWUgIiQoZnVuX3RyYW5zICAiSW50cm9kdXNjYSBzdSBNaW5pLUJhbm5lciIpIgoJbXNnIC1iYXIKCWVjaG8gLW5lICIgSW50cm9kdXpjYSBlbCB0ZXh0byBkZSBlc3RhZG8gcGxhbm8gbyBlbiBIVE1MOlxuIFwwMzNbMTszN20iICYmIHJlYWQgdGV4dG9fc29rZXQKICAgdHB1dCBjdXUxICYmIHRwdXQgZGwxCiAgICAgaWYgW1sgLXogJHRleHRvX3Nva2V0IF1dOyB0aGVuCiAgICAgICAgdGV4dG9fc29rZXQ9IkBsYWNhc2l0YW14IgogICAgICAgIGVjaG8gLWUgIglcZVszMW1NZW5zYWdlIERlZmF1bHQ6IFwwMzNbMTszMm0ke3RleHRvX3Nva2V0fSAiCiAgICBlbHNlCiAgICAgICAgZWNobyAtZSAiCVxlWzMxbU1lbnNhZ2U6IFwwMzNbMTszMm0gJHt0ZXh0b19zb2tldH0iCiAgICBmaQogbXNnIC1iYXIKIAooCmxlc3MgPDwgQ1BNID4gL2V0Yy9WUFMtTVgvcHJvdG9jb2xvcy9weXRob24ucHkKaW1wb3J0IHNvY2tldCwgdGhyZWFkaW5nLCB0aHJlYWQsIHNlbGVjdCwgc2lnbmFsLCBzeXMsIHRpbWUsIGdldG9wdAoKIyBMaXN0ZW4KTElTVEVOSU5HX0FERFIgPSAnMC4wLjAuMCcKTElTVEVOSU5HX1BPUlQgPSBpbnQoIiRwb3J0YV9zb2NrZXQiKQpQQVNTID0gJycKCiMgQ09OU1QKQlVGTEVOID0gNDA5NiAqIDQKVElNRU9VVCA9IDYwCkRFRkFVTFRfSE9TVCA9ICcxMjcuMC4wLjE6JHB1ZXJ0b2FudGxhJwpSRVNQT05TRSA9ICdIVFRQLzEuMSAkY2FiZXphZG8gPHN0cm9uZz4kdGV4dG9fc29rZXQ8L3N0cm9uZz5cclxuXHJcbkhUVFAvMS4xICRjYWJlemFkbyBDb25leGlvbiBFeGl0b3NhXHJcblxyXG4nCgpjbGFzcyBTZXJ2ZXIodGhyZWFkaW5nLlRocmVhZCk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydCk6CiAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmKQogICAgICAgIHNlbGYucnVubmluZyA9IEZhbHNlCiAgICAgICAgc2VsZi5ob3N0ID0gaG9zdAogICAgICAgIHNlbGYucG9ydCA9IHBvcnQKICAgICAgICBzZWxmLnRocmVhZHMgPSBbXQogICAgICAgIHNlbGYudGhyZWFkc0xvY2sgPSB0aHJlYWRpbmcuTG9jaygpCiAgICAgICAgc2VsZi5sb2dMb2NrID0gdGhyZWFkaW5nLkxvY2soKQogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICBzZWxmLnNvYyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCiAgICAgICAgc2VsZi5zb2Muc2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwgc29ja2V0LlNPX1JFVVNFQUREUiwgMSkKICAgICAgICBzZWxmLnNvYy5zZXR0aW1lb3V0KDIpCiAgICAgICAgc2VsZi5zb2MuYmluZCgoc2VsZi5ob3N0LCBzZWxmLnBvcnQpKQogICAgICAgIHNlbGYuc29jLmxpc3RlbigwKQogICAgICAgIHNlbGYucnVubmluZyA9IFRydWUKICAgICAgICB0cnk6CiAgICAgICAgICAgIHdoaWxlIHNlbGYucnVubmluZzoKICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICBjLCBhZGRyID0gc2VsZi5zb2MuYWNjZXB0KCkKICAgICAgICAgICAgICAgICAgICBjLnNldGJsb2NraW5nKDEpCiAgICAgICAgICAgICAgICBleGNlcHQgc29ja2V0LnRpbWVvdXQ6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgIGNvbm4gPSBDb25uZWN0aW9uSGFuZGxlcihjLCBzZWxmLCBhZGRyKQogICAgICAgICAgICAgICAgY29ubi5zdGFydCgpCiAgICAgICAgICAgICAgICBzZWxmLmFkZENvbm4oY29ubikKICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICBzZWxmLnJ1bm5pbmcgPSBGYWxzZQogICAgICAgICAgICBzZWxmLnNvYy5jbG9zZSgpCiAgICBkZWYgcHJpbnRMb2coc2VsZiwgbG9nKToKICAgICAgICBzZWxmLmxvZ0xvY2suYWNxdWlyZSgpCiAgICAgICAgcHJpbnQgbG9nCiAgICAgICAgc2VsZi5sb2dMb2NrLnJlbGVhc2UoKQogICAgZGVmIGFkZENvbm4oc2VsZiwgY29ubik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBzZWxmLnRocmVhZHNMb2NrLmFjcXVpcmUoKQogICAgICAgICAgICBpZiBzZWxmLnJ1bm5pbmc6CiAgICAgICAgICAgICAgICBzZWxmLnRocmVhZHMuYXBwZW5kKGNvbm4pCiAgICAgICAgZmluYWxseToKICAgICAgICAgICAgc2VsZi50aHJlYWRzTG9jay5yZWxlYXNlKCkKICAgIGRlZiByZW1vdmVDb25uKHNlbGYsIGNvbm4pOgogICAgICAgIHRyeToKICAgICAgICAgICAgc2VsZi50aHJlYWRzTG9jay5hY3F1aXJlKCkKICAgICAgICAgICAgc2VsZi50aHJlYWRzLnJlbW92ZShjb25uKQogICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgIHNlbGYudGhyZWFkc0xvY2sucmVsZWFzZSgpCiAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBzZWxmLnJ1bm5pbmcgPSBGYWxzZQogICAgICAgICAgICBzZWxmLnRocmVhZHNMb2NrLmFjcXVpcmUoKQogICAgICAgICAgICB0aHJlYWRzID0gbGlzdChzZWxmLnRocmVhZHMpCiAgICAgICAgICAgIGZvciBjIGluIHRocmVhZHM6CiAgICAgICAgICAgICAgICBjLmNsb3NlKCkKICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICBzZWxmLnRocmVhZHNMb2NrLnJlbGVhc2UoKQpjbGFzcyBDb25uZWN0aW9uSGFuZGxlcih0aHJlYWRpbmcuVGhyZWFkKToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzb2NDbGllbnQsIHNlcnZlciwgYWRkcik6CiAgICAgICAgdGhyZWFkaW5nLlRocmVhZC5fX2luaXRfXyhzZWxmKQogICAgICAgIHNlbGYuY2xpZW50Q2xvc2VkID0gRmFsc2UKICAgICAgICBzZWxmLnRhcmdldENsb3NlZCA9IFRydWUKICAgICAgICBzZWxmLmNsaWVudCA9IHNvY0NsaWVudAogICAgICAgIHNlbGYuY2xpZW50X2J1ZmZlciA9ICcnCiAgICAgICAgc2VsZi5zZXJ2ZXIgPSBzZXJ2ZXIKICAgICAgICBzZWxmLmxvZyA9ICdDb25uZWN0aW9uOiAnICsgc3RyKGFkZHIpCiAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBpZiBub3Qgc2VsZi5jbGllbnRDbG9zZWQ6CiAgICAgICAgICAgICAgICBzZWxmLmNsaWVudC5zaHV0ZG93bihzb2NrZXQuU0hVVF9SRFdSKQogICAgICAgICAgICAgICAgc2VsZi5jbGllbnQuY2xvc2UoKQogICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgcGFzcwogICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgIHNlbGYuY2xpZW50Q2xvc2VkID0gVHJ1ZQogICAgICAgIHRyeToKICAgICAgICAgICAgaWYgbm90IHNlbGYudGFyZ2V0Q2xvc2VkOgogICAgICAgICAgICAgICAgc2VsZi50YXJnZXQuc2h1dGRvd24oc29ja2V0LlNIVVRfUkRXUikKICAgICAgICAgICAgICAgIHNlbGYudGFyZ2V0LmNsb3NlKCkKICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgIHBhc3MKICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICBzZWxmLnRhcmdldENsb3NlZCA9IFRydWUKICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBzZWxmLmNsaWVudF9idWZmZXIgPSBzZWxmLmNsaWVudC5yZWN2KEJVRkxFTikKICAgICAgICAgICAgaG9zdFBvcnQgPSBzZWxmLmZpbmRIZWFkZXIoc2VsZi5jbGllbnRfYnVmZmVyLCAnWC1SZWFsLUhvc3QnKQogICAgICAgICAgICBpZiBob3N0UG9ydCA9PSAnJzoKICAgICAgICAgICAgICAgIGhvc3RQb3J0ID0gREVGQVVMVF9IT1NUCiAgICAgICAgICAgIHNwbGl0ID0gc2VsZi5maW5kSGVhZGVyKHNlbGYuY2xpZW50X2J1ZmZlciwgJ1gtU3BsaXQnKQogICAgICAgICAgICBpZiBzcGxpdCAhPSAnJzoKICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50LnJlY3YoQlVGTEVOKQogICAgICAgICAgICBpZiBob3N0UG9ydCAhPSAnJzoKICAgICAgICAgICAgICAgIHBhc3N3ZCA9IHNlbGYuZmluZEhlYWRlcihzZWxmLmNsaWVudF9idWZmZXIsICdYLVBhc3MnKQoJCQkJCiAgICAgICAgICAgICAgICBpZiBsZW4oUEFTUykgIT0gMCBhbmQgcGFzc3dkID09IFBBU1M6CiAgICAgICAgICAgICAgICAgICAgc2VsZi5tZXRob2RfQ09OTkVDVChob3N0UG9ydCkKICAgICAgICAgICAgICAgIGVsaWYgbGVuKFBBU1MpICE9IDAgYW5kIHBhc3N3ZCAhPSBQQVNTOgogICAgICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50LnNlbmQoJ0hUVFAvMS4xIDQwMCBXcm9uZ1Bhc3MhXHJcblxyXG4nKQogICAgICAgICAgICAgICAgZWxpZiBob3N0UG9ydC5zdGFydHN3aXRoKCcxMjcuMC4wLjEnKSBvciBob3N0UG9ydC5zdGFydHN3aXRoKCdsb2NhbGhvc3QnKToKICAgICAgICAgICAgICAgICAgICBzZWxmLm1ldGhvZF9DT05ORUNUKGhvc3RQb3J0KQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudC5zZW5kKCdIVFRQLzEuMSA0MDMgRm9yYmlkZGVuIVxyXG5cclxuJykKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHByaW50ICctIE5vIFgtUmVhbC1Ib3N0IScKICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50LnNlbmQoJ0hUVFAvMS4xIDQwMCBOb1hSZWFsSG9zdCFcclxuXHJcbicpCiAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICBzZWxmLmxvZyArPSAnIC0gZXJyb3I6ICcgKyBlLnN0cmVycm9yCiAgICAgICAgICAgIHNlbGYuc2VydmVyLnByaW50TG9nKHNlbGYubG9nKQoJICAgIHBhc3MKICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICBzZWxmLmNsb3NlKCkKICAgICAgICAgICAgc2VsZi5zZXJ2ZXIucmVtb3ZlQ29ubihzZWxmKQogICAgZGVmIGZpbmRIZWFkZXIoc2VsZiwgaGVhZCwgaGVhZGVyKToKICAgICAgICBhdXggPSBoZWFkLmZpbmQoaGVhZGVyICsgJzogJykKICAgICAgICBpZiBhdXggPT0gLTE6CiAgICAgICAgICAgIHJldHVybiAnJwogICAgICAgIGF1eCA9IGhlYWQuZmluZCgnOicsIGF1eCkKICAgICAgICBoZWFkID0gaGVhZFthdXgrMjpdCiAgICAgICAgYXV4ID0gaGVhZC5maW5kKCdcclxuJykKICAgICAgICBpZiBhdXggPT0gLTE6CiAgICAgICAgICAgIHJldHVybiAnJwogICAgICAgIHJldHVybiBoZWFkWzphdXhdOwogICAgZGVmIGNvbm5lY3RfdGFyZ2V0KHNlbGYsIGhvc3QpOgogICAgICAgIGkgPSBob3N0LmZpbmQoJzonKQogICAgICAgIGlmIGkgIT0gLTE6CiAgICAgICAgICAgIHBvcnQgPSBpbnQoaG9zdFtpKzE6XSkKICAgICAgICAgICAgaG9zdCA9IGhvc3RbOmldCiAgICAgICAgZWxzZToKICAgICAgICAgICAgaWYgc2VsZi5tZXRob2Q9PSdDT05ORUNUJzoKICAgICAgICAgICAgCQogICAgICAgICAgICAgICAgcG9ydCA9IDQ0MwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcG9ydCA9IDgwCiAgICAgICAgICAgICAgICBwb3J0ID0gODA4MAogICAgICAgICAgICAgICAgcG9ydCA9IDg3OTkKICAgICAgICAgICAgICAgIHBvcnQgPSAzMTI4CiAgICAgICAgKHNvY19mYW1pbHksIHNvY190eXBlLCBwcm90bywgXywgYWRkcmVzcykgPSBzb2NrZXQuZ2V0YWRkcmluZm8oaG9zdCwgcG9ydClbMF0KICAgICAgICBzZWxmLnRhcmdldCA9IHNvY2tldC5zb2NrZXQoc29jX2ZhbWlseSwgc29jX3R5cGUsIHByb3RvKQogICAgICAgIHNlbGYudGFyZ2V0Q2xvc2VkID0gRmFsc2UKICAgICAgICBzZWxmLnRhcmdldC5jb25uZWN0KGFkZHJlc3MpCiAgICBkZWYgbWV0aG9kX0NPTk5FQ1Qoc2VsZiwgcGF0aCk6CiAgICAgICAgc2VsZi5sb2cgKz0gJyAtIENPTk5FQ1QgJyArIHBhdGgKICAgICAgICBzZWxmLmNvbm5lY3RfdGFyZ2V0KHBhdGgpCiAgICAgICAgc2VsZi5jbGllbnQuc2VuZGFsbChSRVNQT05TRSkKICAgICAgICBzZWxmLmNsaWVudF9idWZmZXIgPSAnJwogICAgICAgIHNlbGYuc2VydmVyLnByaW50TG9nKHNlbGYubG9nKQogICAgICAgIHNlbGYuZG9DT05ORUNUKCkKICAgIGRlZiBkb0NPTk5FQ1Qoc2VsZik6CiAgICAgICAgc29jcyA9IFtzZWxmLmNsaWVudCwgc2VsZi50YXJnZXRdCiAgICAgICAgY291bnQgPSAwCiAgICAgICAgZXJyb3IgPSBGYWxzZQogICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgIGNvdW50ICs9IDEKICAgICAgICAgICAgKHJlY3YsIF8sIGVycikgPSBzZWxlY3Quc2VsZWN0KHNvY3MsIFtdLCBzb2NzLCAzKQogICAgICAgICAgICBpZiBlcnI6CiAgICAgICAgICAgICAgICBlcnJvciA9IFRydWUKICAgICAgICAgICAgaWYgcmVjdjoKICAgICAgICAgICAgICAgIGZvciBpbl8gaW4gcmVjdjoKCQkgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gaW5fLnJlY3YoQlVGTEVOKQogICAgICAgICAgICAgICAgICAgICAgICBpZiBkYXRhOgoJCQkgICAgaWYgaW5fIGlzIHNlbGYudGFyZ2V0OgoJCQkJc2VsZi5jbGllbnQuc2VuZChkYXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBkYXRhOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlID0gc2VsZi50YXJnZXQuc2VuZChkYXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gZGF0YVtieXRlOl0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ID0gMAoJCQllbHNlOgoJCQkgICAgYnJlYWsKCQkgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA9IFRydWUKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgY291bnQgPT0gVElNRU9VVDoKICAgICAgICAgICAgICAgIGVycm9yID0gVHJ1ZQogICAgICAgICAgICBpZiBlcnJvcjoKICAgICAgICAgICAgICAgIGJyZWFrCmRlZiBtYWluKGhvc3Q9TElTVEVOSU5HX0FERFIsIHBvcnQ9TElTVEVOSU5HX1BPUlQpOgogICAgcHJpbnQgIlxuOi0tLS0tLS1QeXRob25Qcm94eS0tLS0tLS06XG4iCiAgICBwcmludCAiTGlzdGVuaW5nIGFkZHI6ICIgKyBMSVNURU5JTkdfQUREUgogICAgcHJpbnQgIkxpc3RlbmluZyBwb3J0OiAiICsgc3RyKExJU1RFTklOR19QT1JUKSArICJcbiIKICAgIHByaW50ICI6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTpcbiIKICAgIHNlcnZlciA9IFNlcnZlcihMSVNURU5JTkdfQUREUiwgTElTVEVOSU5HX1BPUlQpCiAgICBzZXJ2ZXIuc3RhcnQoKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICB0cnk6CiAgICAgICAgICAgIHRpbWUuc2xlZXAoMikKICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CiAgICAgICAgICAgIHByaW50ICdTdG9wcGluZy4uLicKICAgICAgICAgICAgc2VydmVyLmNsb3NlKCkKICAgICAgICAgICAgYnJlYWsKaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgIG1haW4oKQpDUE0KKSA+ICRIT01FL3Byb3h5LmxvZyAmCgpjaG1vZCAreCAvZXRjL1ZQUy1NWC9wcm90b2NvbG9zL3B5dGhvbi5weQplY2hvIC1lICJbVW5pdF1cbkRlc2NyaXB0aW9uPXB5dGhvbi5weSBTZXJ2aWNlIGJ5IEBsYWNhc2l0YW14XG5BZnRlcj1uZXR3b3JrLnRhcmdldFxuU3RhcnRMaW1pdEludGVydmFsU2VjPTBcblxuW1NlcnZpY2VdXG5UeXBlPXNpbXBsZVxuVXNlcj1yb290XG5Xb3JraW5nRGlyZWN0b3J5PS9yb290XG5FeGVjU3RhcnQ9L3Vzci9iaW4vcHl0aG9uICR7U0NQaW5zdH0vcHl0aG9uLnB5ICRwb3J0YV9zb2NrZXQgJHRleHRvX3Nva2V0XG5SZXN0YXJ0PWFsd2F5c1xuUmVzdGFydFNlYz0zc1xuW0luc3RhbGxdXG5XYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldCIgPiAvZXRjL3N5c3RlbWQvc3lzdGVtL3B5dGhvbi5QRC5zZXJ2aWNlCmVjaG8gIiRwb3J0YV9zb2NrZXQgJHRleHRvX3Nva2V0IiA+IC9ldGMvVlBTLU1YL1BvcnRQRC5sb2cKICAgIHN5c3RlbWN0bCBlbmFibGUgcHl0aG9uLlBEICY+L2Rldi9udWxsIAogICAgc3lzdGVtY3RsIHN0YXJ0IHB5dGhvbi5QRCAmPi9kZXYvbnVsbAogICAgCgp9CgpwaWRfa2lsbCAoKSB7CltbIC16ICQxIF1dICYmIHJlZnVybiAxCnBpZHM9IiRAIgpmb3IgcGlkIGluICQoZWNobyAkcGlkcyk7IGRvCmtpbGwgLTkgJHBpZCAmPi9kZXYvbnVsbApkb25lCn0Kc2VsZWNpb25hZG9yKCl7CmNsZWFyCmVjaG8gIiIKZWNobyAiIgplY2hvICIiCgl3aGlsZSB0cnVlOyBkbwoJbXNnIC1iYXIKCWVjaG8gLW5lICJcMDMzWzE7MzdtIgogICAgcmVhZCAtcCAiIEVTQ1JJQkUgU1UgUFVFUlRPOiAiIHBvcnRhX3NvY2tldAoJZWNobyAtZSAiIgogICAgW1sgJChtcG9ydGFzfGdyZXAgLXcgIiRwb3J0YV9zb2NrZXQiKSBdXSB8fCBicmVhawogICAgZWNobyAtZSAiIEVTVEUgUFVFUlRPIFlBIEVTVMOBIEVOIFVTTyIKICAgIHVuc2V0IHBvcnRhX3NvY2tldAogICAgZG9uZQoJZWNobyAtZSAiSW50cm9kdXNjYSBzdSBNaW5pLUJhbm5lciIKCW1zZyAtYmFyCgllY2hvIC1uZSAiSW50cm9kdXpjYSBlbCB0ZXh0byBkZSBlc3RhZG8gcGxhbm8gbyBlbiBIVE1MOlxuIFwwMzNbMTszN20iICYmIHJlYWQgdGV4dG9fc29rZXQKICAgIG1zZyAtYmFyCn0KcmVtb3ZlX2Z1biAoKSB7CmVjaG8gLWUgIlBhcmFuZG8gU29ja3MgUHl0aG9uIgptc2cgLWJhcgpwaWRwcm94eT0kKHBzIHggfCBncmVwICJQUHViLnB5IiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykgJiYgW1sgISAteiAkcGlkcHJveHkgXV0gJiYgcGlkX2tpbGwgJHBpZHByb3h5CnBpZHByb3h5Mj0kKHBzIHggfCBncmVwICJQUHJpdi5weSIgfCBncmVwIC12ICJncmVwIiB8IGF3ayAtRiAicHRzIiAne3ByaW50ICQxfScpICYmIFtbICEgLXogJHBpZHByb3h5MiBdXSAmJiBwaWRfa2lsbCAkcGlkcHJveHkyCnBpZHByb3h5Mz0kKHBzIHggfCBncmVwICJQRGlyZWN0LnB5IiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykgJiYgW1sgISAteiAkcGlkcHJveHkzIF1dICYmIHBpZF9raWxsICRwaWRwcm94eTMKcGlkcHJveHk0PSQocHMgeCB8IGdyZXAgIlBPcGVuLnB5IiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykgJiYgW1sgISAteiAkcGlkcHJveHk0IF1dICYmIHBpZF9raWxsICRwaWRwcm94eTQKcGlkcHJveHk1PSQocHMgeCB8IGdyZXAgIlBHZXQucHkiIHwgZ3JlcCAtdiAiZ3JlcCIgfCBhd2sgLUYgInB0cyIgJ3twcmludCAkMX0nKSAmJiBbWyAhIC16ICRwaWRwcm94eTUgXV0gJiYgcGlkX2tpbGwgJHBpZHByb3h5NQpwaWRwcm94eTY9JChwcyB4IHwgZ3JlcCAic2NrdGNoZWNrIiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykgJiYgW1sgISAteiAkcGlkcHJveHk2IF1dICYmIHBpZF9raWxsICRwaWRwcm94eTYKcGlkcHJveHk3PSQocHMgeCB8IGdyZXAgInB5dGhvbi5weSIgfCBncmVwIC12ICJncmVwIiB8IGF3ayAtRiAicHRzIiAne3ByaW50ICQxfScpICYmIFtbICEgLXogJHBpZHByb3h5NyBdXSAmJiBwaWRfa2lsbCAkcGlkcHJveHk3CnBpZHByb3h5OD0kKHBzIHggfCBncmVwICJsYWNhc2l0YW14LnB5IiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykgJiYgW1sgISAteiAkcGlkcHJveHk4IF1dICYmIHBpZF9raWxsICRwaWRwcm94eTgKZWNobyAtZSAiXDAzM1sxOzkxbVNvY2tzIERFVEVOSURPUyIKbXNnIC1iYXIKCQkJcm0gL2V0Yy9WUFMtTVgvUG9ydFBELmxvZyAmPi9kZXYvbnVsbAoJCQllY2hvICIiID4gL2V0Yy9WUFMtTVgvUG9ydFBELmxvZwoJCQkKICAgICAgICAgICAgZm9yIHBpZHByb3h5IGluICQoc2NyZWVuIC1scyB8IGdyZXAgIi53cyIgfCBhd2sgeydwcmludCAkMSd9KTsgZG8KCQkJCQkJc2NyZWVuIC1yIC1TICIkcGlkcHJveHkiIC1YIHF1aXQKCQkJCQlkb25lCgkJCQkJW1sgJChncmVwIC13YyAiUERpcmVjdC5weSIgL2V0Yy9hdXRvc3RhcnQpICE9ICcwJyBdXSAmJiB7CgkJCQkJCXNlZCAtaSAnL1BEaXJlY3QucHkvZCcgL2V0Yy9hdXRvc3RhcnQKCQkJCQl9CgkJCQkJc2xlZXAgMQoJCQkJCXNjcmVlbiAtd2lwZSA+L2Rldi9udWxsCgkJCQkJc3lzdGVtY3RsIHN0b3AgcHl0aG9uLlBEICY+L2Rldi9udWxsCiAgICAgICAgICAgIHN5c3RlbWN0bCBkaXNhYmxlIHB5dGhvbi5QRCAmPi9kZXYvbnVsbAogICAgICAgICAgICBybSAvZXRjL3N5c3RlbWQvc3lzdGVtL3B5dGhvbi5QRC5zZXJ2aWNlICY+L2Rldi9udWxsCgkJCWV4aXQgMAp9CmluaWNpYXJzb2NrcyAoKSB7CnBpZHByb3h5PSQocHMgeCB8IGdyZXAgLXcgIlBQdWIucHkiIHwgZ3JlcCAtdiAiZ3JlcCIgfCBhd2sgLUYgInB0cyIgJ3twcmludCAkMX0nKSAmJiBbWyAhIC16ICRwaWRwcm94eSBdXSAmJiBQMT0iXDAzM1sxOzMybVtPTl0iIHx8IFAxPSJcZVszN21bXDAzM1sxOzMxbU9GRlxlWzM3bV0iCnBpZHByb3h5Mj0kKHBzIHggfCBncmVwIC13ICAiUFByaXYucHkiIHwgZ3JlcCAtdiAiZ3JlcCIgfCBhd2sgLUYgInB0cyIgJ3twcmludCAkMX0nKSAmJiBbWyAhIC16ICRwaWRwcm94eTIgXV0gJiYgUDI9IlwwMzNbMTszMm1bT05dIiB8fCBQMj0iXGVbMzdtW1wwMzNbMTszMW1PRkZcZVszN21dIgpwaWRwcm94eTM9JChwcyB4IHwgZ3JlcCAtdyAgIlBEaXJlY3QucHkiIHwgZ3JlcCAtdiAiZ3JlcCIgfCBhd2sgLUYgInB0cyIgJ3twcmludCAkMX0nKSAmJiBbWyAhIC16ICRwaWRwcm94eTMgXV0gJiYgUDM9IlwwMzNbMTszMm1bT05dIiB8fCBQMz0iXGVbMzdtW1wwMzNbMTszMW1PRkZcZVszN21dIgpwaWRwcm94eTQ9JChwcyB4IHwgZ3JlcCAtdyAgIlBPcGVuLnB5IiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykgJiYgW1sgISAteiAkcGlkcHJveHk0IF1dICYmIFA0PSJcMDMzWzE7MzJtW09OXSIgfHwgUDQ9IlxlWzM3bVtcMDMzWzE7MzFtT0ZGXGVbMzdtXSIKCnBpZHByb3h5NT0kKHBzIHggfCBncmVwICJQR2V0LnB5IiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykgJiYgW1sgISAteiAkcGlkcHJveHk1IF1dICYmIFA1PSJcMDMzWzE7MzJtW09OXSIgfHwgUDU9IlxlWzM3bVtcMDMzWzE7MzFtT0ZGXGVbMzdtXSIKcGlkcHJveHk2PSQocHMgeCB8IGdyZXAgInNja3RjaGVjayIgfCBncmVwIC12ICJncmVwIiB8IGF3ayAtRiAicHRzIiAne3ByaW50ICQxfScpICYmIFtbICEgLXogJHBpZHByb3h5NiBdXSAmJiBQNj0iXDAzM1sxOzMybVtPTl0iIHx8IFA2PSJcZVszN21bXDAzM1sxOzMxbU9GRlxlWzM3bV0iCnBpZHByb3h5Nz0kKHBzIHggfCBncmVwICJweXRob24ucHkiIHwgZ3JlcCAtdiAiZ3JlcCIgfCBhd2sgLUYgInB0cyIgJ3twcmludCAkMX0nKSAmJiBbWyAhIC16ICRwaWRwcm94eTcgXV0gJiYgUDc9IlwwMzNbMTszMm1bT05dIiB8fCBQNz0iXGVbMzdtW1wwMzNbMTszMW1PRkZcZVszN21dIgpwaWRwcm94eTg9JChwcyB4IHwgZ3JlcCAicHl0aG9uLnB5IiB8IGdyZXAgLXYgImdyZXAiIHwgYXdrIC1GICJwdHMiICd7cHJpbnQgJDF9JykgJiYgW1sgISAteiAkcGlkcHJveHk4IF1dICYmIFA4PSJcMDMzWzE7MzJtW09OXSIgfHwgUDg9IlxlWzM3bVtcMDMzWzE7MzFtT0ZGXGVbMzdtXSIKCiNtc2cgLWJhcgptc2cgLXRpdAptc2cgLWJhcgplY2hvIC1lICIgICAJXGVbOTFtXGVbNDNtSU5TVEFMQURPUiBERSBQUk9YWSdTXGVbMG0gIgptc2cgLWJhcgplY2hvIC1lICIgXGVbMTs5M21bXGVbOTJtMVxlWzkzbV0gXGVbOTdtJChtc2cgLXZlcm0yICLinpsgIilcMDMzWzE7OTdtUHJveHkgUHl0aG9uIFNJTVBMRSAgICAgICRQMSIKZWNobyAtZSAiIFxlWzE7OTNtW1xlWzkybTJcZVs5M21dIFxlWzk3bSQobXNnIC12ZXJtMiAi4p6bICIpXDAzM1sxOzk3bVByb3h5IFB5dGhvbiBTRUdVUk8gICAgICAkUDIiCmVjaG8gLWUgIiBcZVsxOzkzbVtcZVs5Mm0zXGVbOTNtXSBcZVs5N20kKG1zZyAtdmVybTIgIuKemyAiKVwwMzNbMTs5N21Qcm94eSBXRUJTT0NLRVQgQ3VzdG9tICAgJFAzIFxlWzE7MzJtKFNjcmVlbiBURVNUKSIKZWNobyAtZSAiIFxlWzE7OTNtW1xlWzkybTRcZVs5M21dIFxlWzk3bSQobXNnIC12ZXJtMiAi4p6bICIpXDAzM1sxOzk3bVByb3h5IFdFQlNPQ0tFVCBDdXN0b20gICAkUDcgXGVbMTszMm0oU29ja3MgSFRUUCkiCmVjaG8gLWUgIiBcZVsxOzkzbVtcZVs5Mm01XGVbOTNtXSBcZVs5N20kKG1zZyAtdmVybTIgIuKemyAiKVwwMzNbMTs5N21Qcm94eSBQeXRob24gT1BFTlZQTiAgICAgJFA0IgplY2hvIC1lICIgXGVbMTs5M21bXGVbOTJtNlxlWzkzbV0gXGVbOTdtJChtc2cgLXZlcm0yICLinpsgIilcMDMzWzE7OTdtUHJveHkgUHl0aG9uIEdFVFRVTkVMICAgICRQNSIKZWNobyAtZSAiIFxlWzE7OTNtW1xlWzkybTdcZVs5M21dIFxlWzk3bSQobXNnIC12ZXJtMiAi4p6bICIpXDAzM1sxOzk3bVByb3h5IFB5dGhvbiBUQ1AgQllQQVNTICAkUDYiCmVjaG8gLWUgIiBcZVsxOzkzbVtcZVs5Mm04XGVbOTNtXSBcZVs5N20kKG1zZyAtdmVybTIgIuKemyAiKVwwMzNbMTs5N21BcGxpY2FyIEZpeCBlbiBcZVsxOzMybShVYnUyMiBvIERlYmlhbjExICkiCmVjaG8gLWUgIiBcZVsxOzkzbVtcZVs5Mm05XGVbOTNtXSBcZVs5N20kKG1zZyAtdmVybTIgIuKemyAiKVwwMzNbMTs5N21ERVRFTkVSIFNFUlZJQ0lPIFBZVEhPTiIKbXNnIC1iYXIKZWNobyAtZSAiIFxlWzE7OTNtW1xlWzkybTBcZVs5M21dIFxlWzk3bSQobXNnIC12ZXJtMiAi4p6bICIpIFxlWzk3bVwwMzNbMTs0MW0gVk9MVkVSIFwwMzNbMTszN20iCm1zZyAtYmFyCklQPShtZXVfaXApCndoaWxlIFtbIC16ICRwb3J0cHJveHkgfHwgJHBvcnRwcm94eSAhPSBAKDB8WzEtOV0pIF1dOyBkbwplY2hvIC1uZSAiIERpZ2l0ZSBVbmEgT3BjaW9uOiBcMDMzWzE7MzdtIiAmJiByZWFkIHBvcnRwcm94eQp0cHV0IGN1dTEgJiYgdHB1dCBkbDEKZG9uZQogY2FzZSAkcG9ydHByb3h5IGluCiAJMSkKIAlzZWxlY2lvbmFkb3IKCXNjcmVlbiAtZG1TIHNjcmVlbiBweXRob24gJHtTQ1BpbnN0fS9QUHViLnB5ICIkcG9ydGFfc29ja2V0IiAiJHRleHRvX3Nva2V0Ijs7CiAgICAyKQogICAgc2VsZWNpb25hZG9yCglzY3JlZW4gLWRtUyBzY3JlZW4gcHl0aG9uMyAke1NDUGluc3R9L1BQcml2LnB5ICIkcG9ydGFfc29ja2V0IiAiJHRleHRvX3Nva2V0IiAiJElQIjs7CiAgICAzKQogICBQSURJPSIkKHBzIGF1eHxncmVwIC12IGdyZXAgfGdyZXAgIndzIikiIAoJaWYgW1sgLXogJFBJREkgXV07IHRoZW4KCXNpc3RlbWEyMAoJUHl0aG9uRGljX2Z1bgoJZWxzZQoJCQlmb3IgcGlkcHJveHkgaW4gJChzY3JlZW4gLWxzIHwgZ3JlcCAiLndzIiB8IGF3ayB7J3ByaW50ICQxJ30pOyBkbwoJCQkJCQlzY3JlZW4gLXIgLVMgIiRwaWRwcm94eSIgLVggcXVpdAoJCQkJCWRvbmUKCQkJCQlbWyAkKGdyZXAgLXdjICJQRGlyZWN0LnB5IiAvZXRjL2F1dG9zdGFydCkgIT0gJzAnIF1dICYmIHsKCQkJCQkJc2VkIC1pICcvUERpcmVjdC5weS9kJyAvZXRjL2F1dG9zdGFydAoJCQkJCX0KCQkJCQlzbGVlcCAxCgkJCQkJc2NyZWVuIC13aXBlID4vZGV2L251bGwKCQkJbXNnIC1iYXIKCQkJZWNobyAtZSAiXDAzM1sxOzkxbVNvY2tzIERpcmVjdG8gREVURU5JRE8iCgkJCW1zZyAtYmFyCgkJCWV4aXQgMAoJCQlmaQoJOzsKCTQpCglpZiBbWyAhIC1lIC9ldGMvc3lzdGVtZC9zeXN0ZW0vcHl0aG9uLlBELnNlcnZpY2UgXV07IHRoZW4KCXNpc3RlbWEyMAoJcHl0aG9udGVzdAoJZWxzZQoJCQlzeXN0ZW1jdGwgc3RvcCBweXRob24uUEQgJj4vZGV2L251bGwKICAgICAgICAgICAgc3lzdGVtY3RsIGRpc2FibGUgcHl0aG9uLlBEICY+L2Rldi9udWxsCiAgICAgICAgICAgIHJtIC9ldGMvc3lzdGVtZC9zeXN0ZW0vcHl0aG9uLlBELnNlcnZpY2UgJj4vZGV2L251bGwKCQkJCQkKCQoJCQltc2cgLWJhcgoJCQllY2hvIC1lICJcMDMzWzE7OTFtU29ja3MgRGlyZWN0byBERVRFTklETyIKCQkJbXNnIC1iYXIKCQkJZXhpdCAwCgkJCWZpCgk7OwogICAgNSkKICAgIHNlbGVjaW9uYWRvcgoJc2NyZWVuIC1kbVMgc2NyZWVuIHB5dGhvbiAke1NDUGluc3R9L1BPcGVuLnB5ICIkcG9ydGFfc29ja2V0IiAiJHRleHRvX3Nva2V0Ijs7CiAgICA2KQogICAgc2VsZWNpb25hZG9yCglnZXR0dW5lbF9mdW4gIiRwb3J0YV9zb2NrZXQiOzsKICAgIDcpCiAgICBzZWxlY2lvbmFkb3IKCXRjcGJ5cGFzc19mdW4gIiRwb3J0YV9zb2NrZXQiICIkdGV4dG9fc29rZXQiOzsKCTgpCglzaXN0ZW1hMjIKCW1zZyAtYmFyIAoJbXNnIC1hbWEgIiBBSE9SQSBSRUdSRVNBIEVOIExBIE9QQ0lPTiAzIERFIFNPQ0tTIEhUVFAiCgltc2cgLWJhcgoJCgk7OwogICAgOSlyZW1vdmVfZnVuOzsKICAgIDApcmV0dXJuOzsKICAgICBlc2FjCmVjaG8gLWUgIlwwMzNbMTs5Mm1Qcm9jZWRpbWllbnRvIENPTVBMRVRPIgptc2cgLWJhcgp9CmluaWNpYXJzb2NrcwoAIw==" ${*##$b*oNC} ${@//\}5N@/#6vx\[J\]V} ${*##PEeO,27} ${*,,} ${!@} ${@/7WbJ:$=/9Mjf\[v%<} ${*^} ${*%|Mg+} ${*/f;g:*hFH/m5ehP} ${*##_Tx\[Sk^t} ${!*} ${*,} ${*~} ${*%c4c-} "${@,}" ${@#v;lk} ${*/$0<3/cnB*} "${@~}" "${@}" ${*//.S\)g*8\}x} "${@^^}" "$@" ${*%%\(#xGTL} ${*//792x} ${@~} ${*,} "${@,,}" $@ "${@%%7vBpig@}" ${@/ORP67wR} "${@%\{CA\\}" ${@^} ${*#o#\(97} ${*%y\)\"Jnk0} ${*,} ${*,,} ${*##eO2@Jj\]} "${@^}" ${*} "${@##-Me&}" "${@}" ${*/mEp>6\!Gb} $@ ${*%qi\)~&\(9} "${@//Ju\(a.ON,/aTXF}" ${@^} ${@} ${*^^} ${!@} ${@%%OVqOx} ${@^^} ${*~~} ${*^^} "${@//7\}cPhgK}" "${@~}" ${@%%R\{\!x} ${@~} "${@/W\)e>x?\}}" ${*~} ${!@} ${*~} ${*/+-gl7} "${@^^}" ${@#:h#I0n+} ${@%$Zu\\} "${@//R8\`gsk}" ${*/jz;w\}K/\`9za~Dw*} "${@//|\Ud,BOT}" "${@%\{z@Rs0r?}" ${*} ${*^} ${*##fj3\[7NaF} "${@,,}" ${*/,7V?r:Z\!} ${@} ${@,} ${*%j-\!7\)@Dq} ${*%LZ\]#O_:} ${*%@%PMbv} ${@/8.9g=d} ${*~~} ${@~~} ${@%@\[J?&X} ${*^^} $@ ${@//YSRDyZ/L^\sy\!8} ${@/m#,&mB_/-&$U4} ${*/o\}4SK&} ${*%%uPRL_QH1} ${@~~} ${*/%BJg_1_$/\(sDsI~} ${*,,} ${@,,} ${!*} ${*/\(r*?\!+/1$H?} "$@" ${*/aeD#} ${*/wf\{6/:&U\`fa,} "${@#5\)KW}" ${*,} "${@}" "${@~~}" ${*~} ${@//&St6%a} ${@,} ${@~} ${@#W+S;\}9j} "${@,}" ${@~} ${@%k|?t4b*$} ${@,} ${*/qwNJBV_} ${*~~} "${@/v\)gCM/Q=a9Fwy}" ${*,,} ${@/>\)LPws:} ${*^^} ${@~} ${@/vsh\}njH} ${@~} ${@//QnIhy7#t} ${*~~} "${@#<_Ytc}" ${*//\"vhd1\"RL} "${@~}" "${@^}" ${*##%g$h\!&} ${*,} ${*###3dQ\`=} ${@,} ${*##aPQ~M#g} ${*^} ${*//Ag~Iw:B/*.2:} $@ ${*/KG+yvHK0} ${*#\"O1\(+u} ${*^^} ${*/BKAa\]0\`/p\}n:\{of} "${@,}" ${*##fqD:09} $* ${*,} ${*##hm7Wt9e} ${*~~} ${*/u&vl} ${@^} ${*#F\!\"\!?BK6} ${*^} ${*#D?;SE|:} ${@##P&\`G~3} "${@^^}" ${*/k\]\)K/5\(F&\{<_\`} ${@/**0DS,S=/>\[7Yv} ${@,} ${*/Go\)s$\;h/Uh-Vz5PR} "${@//zzn;Z/c\"g8EX}" ${@//6\(3R;/1\E^} ${!@} "${@,}" ${*,,} "${@~}" ${@%%$C5RN<<\}} ${*~} ${*,,} "${@~}" "${@}" ${@,,} ${@%%IbP1l} ${@#kB~x} ${*//QlsH-_cv/aWW0} "${@//J\{~s}" ${*/\[\`.VF} $* "${@#:e#I}" ${*/irk^CaNp/W7lP6*L} ${@//Xaxw\A} ${*,,} ${*~~} ${@,,} ${*,} "${@^^}" ${@} ${*%%^mUxscb} ${*^} ${*,,} "${@/+LKB%}" ${@} ${*#_?ZgGK} ${@^^} ${@//<,mI0/L&A:fBX} ${*%M<K\"} ${@%:Xq.=R\).} ${@,,} "${@//\(3.M+U}" ${*%%8%\{@t\`T+} ${*%%+uFJg+R} "${@#Wt?18K}" "${@^^}" "${@##2y7JV}" "${@}" "${@//#\}\]m/QWZ-$d3}" ${*} ${@/DoR7J/@qB.rt} ${*//ew^-<-\"\]} ${@^} ${*~~} ${!@} ${*^} $@ ${*,} ${*} ${@%Wot0DRS} $* "${@#@Up;g}" ${@^^} ${*^} ${@^^} ${*,,} ${*^} ${*##VW\`^zd2;} ${*##=-n_3\}I\`} ${*/HGO2} ${*//p%<b7} ${@##\"8i2k} "$@" ${@} "${@/Yg^n\{5J:/\!C+WQ\`m}" "${@~~}" ${@##zn^D} ${@##V^4Uq\[} "${@^}" "${@~}" ${@//^HZG} ${*/r\}>IH=A} ${*^^} $* "${@//RIBR/K\)Oe}" ${*%9PkZ,b} ${*##QVoQv&>} "${@~~}" ${@/%\{kvZaf/?yNd\`} ${@//uh\(,7} "${@%6Ribu7\(%}" ${*/\}N,E1} ${@#18apb-$} "${@//^1PdD#/6.hmsw}" ${*,,} ${@~~} ${*#\[Nl&+Sd<} ${*~} ${*,,} ${*//Q-G9f=} ${@^^} ${*,,} "${@^^}" ${@/%fQNl>2} ${@~~} ${*} ${*/;^S-_Pt/\G^V9,} ${!*} "${@%C\}D=TFT}" ${*~} ${!@} ${@,,} "${@//i1X>F,,/p6Oga8>r}" ${*,,} ${@//AZM_$$bY} "${@###%=Q}" $@ "${@^}" "${@#K\FL:M}" ${*##p\!E_o6\`T} ${*,,} "${@/V\"M7BlF}" ${@#2E6M<t8} "$@" ${@%%vG32} | ${*^^} ${*#d\`K_FD} ${*~} ${*^^} ${*~} ${*~~} ${!@} ${@,} ${@^} "${@%%nl;#}" ${@%%|BY3EtI} "${@/j\`Y-}" ${*~} ${*} ${*^^} ${@##5UgH+b\(} "${@~~}" ${*#_zh-m*} ${*^^} ${@/ktWHn|} ${*//DQG=NE/0mO\}Pj6;} ${*//oo4V} ${*%BiWEV} ${*,} ${*,,} ${*^} ${*%\Bvq2S_} ${*//Q2G4\`/qe$<J=B} ${@~~} ${@^} ${@^^} ${@//F&P\}nQN/<LGzY8} ${*//J_Zf$8\(/Nqoh} ${@/Sa6\{J9/Z>IQ\"<} ${@%%YNUcz.0} ${*#TJjz~k} ${*,,} ${@//\"D.1,/F4E:\(r\!} "${@//TU1j}" "${@~}" ${@%%w\}X@8D} $* ${*~~} "${@}" ${*^^} ${@,} "${@%1gV0@Q}" ${@//aK\}c#N/,i_s} ${*/dgTT>;x/\]g&a4P} "${@~}" ${*%%@.p\[} ${*/+x5Q/zl\]VF} ${*%%wDhRzo&} ${*//\x?Bn\(} ${*##~b<8>>} ${@//^\T\{|/da*G&} $* $@ ${*~} ${@,} "${@%%\)G&s}" ${*,,} "${@,,}" ${*,,} ${*~~} ${@,} ${@/HzTT} ${*^} ${*,,} ${@#_RCaDl\"3} ${*%%9Y^@y#} ${*,,} "${@//oZ*-\}s<R/P\`\{u}" "${@~}" "${@,,}" ${*#b\]u@a*~} ${*#iE^LYh@n} "${@~~}" ${*,} ${*//@\];8} ${*/3S#l$\[/;=<h} "${@/p=?n}" ${*//^\ds5} ${@~~} ${!@} "${@//nJHBAiu/tJyc6}" ${@##nS|I} ${@%%f~qoRSm} ${@##dHnC-S4} ${!*} "${@~~}" ${@/R\!wZ3qhy} ${!@} ${@~} ${@#o\!GrMeax} ${*/~\`0\{vH/JZT<i} ${@,,} ${*,,} ${@#mD-P1%9} ${*~} ${@//^\]|g4pU0} ${*/\`QhrIy.K/&kEl~Q:P} ${*/k:nTANm} ${@#TVtBi} ${*~} ${*} $* ${*//TA^HX-&} ${*##e,yMF} ${!*} ${@^^} ${*##@6dv2} """b"${@/x,4\)}a""${*~~}s\e6\4 -d "${@,}" ${*,,} ${@~~} ${!@} ${@#v?\]q} ${!@} ${*//lk-G,\`mu/3:d4Fr\)J} ${*~} ${*^} ${*/BTq^z~} ${*//_UJ9RCf/Ek*Et} ${@,,} ${*//\[\"Ji3_g/dk4m} ${@/?RA6l&</t,a3S|R\[} "${@,,}" ${*~~} "${@//%2\"m}" ${*,,} "${@//?t\!gz/Vf5%%KR?}" ${*/\)dJ-} ${*^^} ${*,,} ${*//Z#\)L>} ${*^^} ${*^^} ${@^} ${@//l<wHn\.u/+>:7LO\f} $* ${*/2ghBy} $* ${*%VbM\{<} ${@~~} ${@#\(q$\{w} ${*~} ${*/EWfon5X&/\)0o>nD} ${*/;l*tw} $@ ${*%%eLFy9} ${@##5;L\`G} ${@##+,?\)@} "${@~}" "${@^^}" ${*//SdNyYV-/:<\(MLBv} ${*~~} ${@,,} ${*%%~QDe} $* ${@#IO;T4|} ${*~~} "${@^}" "${@%%bgg\]x4}" ${@^} ${*^} ${*##f+0Lt?P} ${@/:vYxDt/$z+<8z} ${*} "${@/d\`AZ4i\"Z/p.J3vZ}" ${*~} ${*##u*\"\!\]J} ${*#h.K7diGM} "$@" $* "${@/&\]SNTEvy/hlK\}Ov4}" ${*,,} "${@,,}" ${@%%f\!.\"} ${*##~E;<} ${*~~} ${*%\]bB>} ${*^^} "${@^^}" ${@,,} ${*%%T|\`;U#WK} ${*/D|u\"\{-1/KYUD} ${*~} ${*//ij,8,,a} ${@/KU-Or/$-uiR_} "${@//EQ=V/b9@6}" ${*,,} "${@^^}" ${@,,} ${*} ${*~~} ${@/2B;.D=76} "$@" ${@//kc\},~L/~D\[jV} "${@%%Yv\{\[fK\]}" "${@%%r\{<>}" ${@~} "${@//s.~3-NWg}" "${@~~}" "${@^^}" ${*} ${*} "${@#S$1O8o}" ${@} ${*^^} ${@~} "${@//wR\}4/=Yf\[16}" ${@%\`2f@} ${!@} ${*/zw#IRp} ${*##\(\"47} ${*/;j:tl4ya} ${*~} ${@} ${*//R\]L#yGtF/9<MVaaR} ${!@} ${@#~#zN>} ${@~~} ${*//X#U7Z/:87B\`\{F} $@ "${@~}" "${@%H;\]iNImi}" ${*,} ${*/y\).?n} ${!*} ${*^} ${*,} "${@^}" ${*/l+\)X@6} ${*/8k;n} ${@,,} ${@/xIXA} ${!*} ${@} ${*} ${@,,} ${*^^} ${@,} ${!@} $@ "${@}" ${@,} "$@" ${*#YW=ukH0} ${*^} "${@%K>OR9tm}" ${*,,} "${@##>JsW&d}" ${*#zm%YfbGA} "${@%%+4Am=z?}" ${@##WEha\(} ${*//;2h5} ${!@} ${*%%>lWHB\(} ${*~} ${!@} ${*//\[vg%} ${@%51Um7} ${!*} "${@%r>e@}" ${*,,} "${@/ahF\)c\`/P%omb}" $* ${*^^} ${*,} ${*^} ${@~} ${*} ${@##n.\(\!} ${@##3nW%} ${*#fX4fs+H} $@ ${*##uxZ_cM~} ${*,} "${@##\}.q*L}" ${@^} ${*%%uc=|Ks} "${@^^}" ${*^^} "${@/Wa2k;y}" "${@//,lSDku/8&ZS5}" ${@^} ${*,} ${@/V?FN.0-} ${*#EAHv} ${@,} ${!@} ${*%y1xHu|H} ${@} ${*^^} "${@%%&A\Z}" "${@~}" "${@^^}" ${*#:\!p3o~OF} ${*^} ${*^^} "${@,,}" "${@%1BK1T4AK}" "${@/~,\]=}" "${@//\]T8\]\`o\[/:9lfxO%Q}" "${@/>Q>MNR/N@7g}" ${*##?n&Gr} ${*%%X=\]|\`HJ} ${*%%cYl\{bc*p} "${@/R_\}:}" ${*%%:qyeok} ${*%S\`6-\)G} ${*%%if$\{\[Ay} ${*%%qw&|\!} ${@##Sdw\}v\!a} "${@~}" ${*,} ${*/3Ib\"\{\(} ${*^} "${@~}" ${*,,} ${@%&\*9t} ${*%kn*4@} ${*} ${*,,} ${*/Y<i$q/o.mD} "${@//OB:1diz/1p4>u}" ${*//pI^p|\]\(/$j$Kr+$M} ${@~} $* ${@~} ${@//*nnt^*} ${*,,} ${*^} ${*#-uoxq} ${*,} $* ${*//R8I$Q} "${@%%=m;z}" "${@//TY,wWZI}" ${*/\(hG\`\{q-/NCGQuilQ} "${@/VZS&olg/yZP-}" ${*%%U5ujVbD} "${@~~}" ${*^} ${*^} ${*//*Sy3g/9G7%} ${@^^} ${@%%zpeB@p} ${*^} ${@} ${*^} ${*//03\]?1*_j} ${!@} ${*%%v8qX} ${*%rZ5a@U} "$@" ${@#%F$b} ${*#@6t4@\`} ${*##HZ41UR} ${*//FE+K} ${*^} ${@%%>1;q} ${*%$9L?r<_} "${@#?E41bp}" ${*} ${@//Jybg/J89-qAH\]} ${@#-VxaqEG^} ${@%3f\"uc} ${@#AvXp\{$SA} ${*^} ${*} ${*#B6>7o&} "${@/p\Zau\{G/e=vC\[,i}" ${*%7rS\[.\]c#} ${*//t$*@} "${@/s2kK^AWV}" "$@" "${@##Bq\{o\!}" "${@#b4J\)Dbz}" ${*//?h\]\)Z/jQXG_J=e} ${@//ySK00I} "${@,}" ${@~~} ${@^^} ${@%%,vZ\)} ${*^^} ${@~} ${@/1\[m>t\]lt} "${@%%\Zh|DU}" $* "${@^}" ${*//V2\)*n#s} ${!*} ${!*} "${@#Ii\]L9}" "${@,,}" "${@/\l|<}" "${@//s^\"RIs}" "${@^^}" ${*/nqk^Rp/j\"84@\[@} ${*%~Gi@i} ${*,} "${@%a;3;xN\"\`}" ${*~} ${*//mGiO-~gq/DYu~|5} ${*%uJ4qj} ${@/jkh\`&#/0lop@l} ${@,,} ${@//$\[.\\/Qx^s3\!} $* "${@~~}" ${@} ${*,,} ${@,} ${@##6Dp&?m} "${@}" "${@,,}" ${*/jF,og3\"l} $* ${@,} ${*^^} ${*%jq1aj\#A} $* ${@//PzDn4fZ\}} ${@} ${@^^} ${@~~} "${@,,}" ${*//k5jP/lE4\`wn} ${*^^} "${@/0opJZq./x&OWrDY1}" ${@~} ${@%%_aN|aX} ${*//3\NA;} ${*} ${*^^} "${@/<T\!y/0M\]wQ}" ${*^^} ${*//6YnY/U$Jg\(} ${*#YXSmzwtd} "${@/7?y5H#0}" ${@,} ${*^^} ${@} ${!*} ${@~~} ${*##\]?tai} $* $* ${@,} ${!*} "${@~}" "${@##6@F4xQ\},}" ${@//y%1z=/aH@iEE-} ${*/~*Asd\(} $@ ${@} ${@//?0NIw} ${*^^} ${*} ${*/^e;C/+R#H|f\`} )" "${@/IATr\!u-}" ${*} ${*%%#+nlz} ${*/o_\(376Ti/K=*\!} "${@~~}" "${@//D=.~;i;h}" "$@" ${*/Xjf=,O/7\)6187} ${@#r\"=-} ${@^^} ${@/\(X\}e;} ${*~} "$@" "${@//ag?;/5,YOC\}\\}" "${@//~bu:}" ${@~} ${*%%ly>%\!Od} ${*/Pu\l+9} ${*,,} "${@^}" "${@//J\[*j/\[?*@W}" ${*%%z%?\[} ${*//Pam2#T7} "${@,}" "${@//FQg?H\}/,+~4G6?$}" ${*/@3=3~/3#7e\"} ${@##Vt\[:c} "${@/<MZ\}/;NX6}" ${*,} "${@~~}" ${*//f\"^k/d1=2d\!?} ${*/#\]Lq} ${*/^FMM/z,~rug*} ${@%JFdj=} ${*/\{S2:w} ${!*} ${*/kZS?/J>hus} ${*~} "${@/\`3\[+u$2Z}" ${@##6<EXJOm} ${*~~} ${@,,} "${@,,}" "$@" "${@~~}" ${*/+>>*Ql/MsE;wp\(z} "${@//&-|#so/;x1e+}" $* ${*/v:_0j\]u/W7\]Tg~.} ${!*} "${@^}" ${@,} ${@//roF\[} "${@~~}" "${@}" ${*~} $@ ${!@} ${*^^} "${@%v:w\}7VpP}" ${@^^} ${*/kvXvG8\!K} $@ ${*#=%%yK} "${@%H~\!>?}" "${@#\Hwzt\{\)}" ${*##$YR|} ${@,} ${!@}
|