OTRSMasterSlave
1.4.5
OTRS AG
http://otrs.org/
GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007
- Fixed Ticket#2014071842014961 by disabled forwarding articles of master tickets to customers of the slave tickets.
- Added new sysconfig option to enable forwarding to slaves tickets:
Group: MasterSlave, Subgroup: Core::MasterSlave
Option: MasterSlave::ForwardSlaves
Updated to current framework.
Included feature for replace MasterTicket customer's name by the one of the Slave ticket.
Improved documentation.
Initial version for OTRS 3.3.x.
Includes "Ticket Master/Slave" feature.
Enthält "Ticket Master/Slave" Funktionalität.
3.3.x
<br/>
<strong>WELCOME</strong>
<br/>
<br/>
You are about to install the OTRS package OTRSMasterSlave.<br/>
<br/>
<br/>
<strong>ATTENTION</strong>
<br/>
<br/>
Make sure your database accepts packages over 5 MB in size. A MySQL database for example accepts packages up to 1 MB by default. In this case, the value for max_allowed_packet must be increased. The recommended maximum size accepted is 20 MB.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<strong>BIENVENIDO</strong>
<br/>
<br/>
Usted está a punto de instalar el paquete OTRSMasterSlave de OTRS.<br/>
<br/>
<br/>
<strong>ATENCIÓN</strong>
<br/>
<br/>
Por favor asegúrese que su base de datos acepte paquetes de más de 5 MB de tamaño. Por ejemplo una base de datos de MySQL acepta paquetes de más de 1 MB predefinido. En este caso la configuración max_allowed_packet debe ser incrementada. El tamaño recomendado es 20 MB.
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<strong>ATTENTION</strong>
<br/>
<br/>
If you uninstall this package, ParentChild ticket links will remain, but all ticket Master
Slave relations that were created during the use of this package be deleted.
All data from these relations will be irrevocably lost!
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<strong>ATENCIÓN</strong>
<br/>
<br/>
Si usted desinstala este paquete, los vínculos de tickets PadreHijo
permanecerán, pero todas relaciones de tickets Master Slave creadas durante
el uso de este paquete serán borradas.
¡Todos los datos de esas relaciones se perderán irrevocablemente!.
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<strong>WELCOME</strong>
<br/>
<br/>
You are about to upgrade the OTRS package OTRSMasterSlave.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
<br/>
<strong>BIENVENIDO</strong>
<br/>
<br/>
Usted está apunto de actualizar el paquete OTRSMasterSlave de OTRS.<br/>
<br/>
<br/>
((enjoy))<br/>
<br/>
# define function name
my $FunctionName = 'CodeInstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeUpgrade125';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# The code module has just recently been copied to it's location in the file system.
# In a persistent Perl environment an old version of the module might still be loaded,
# as watchdogs like Apache2::Reload haven't had a chance to reload it.
# So we need to make sure that the new version is being loaded.
# Kernel::System::Main::Require() checks the relative file path, so we need to remove that from %INC.
# This is only needed in persistent Perl environment, but does no harm in a CGI environment.
my $CodeModulePath = $CodeModule;
$CodeModulePath =~ s/::/\//g;
$CodeModulePath .= '.pm';
delete $INC{$CodeModulePath};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeUpgrade';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# The code module has just recently been copied to it's location in the file system.
# In a persistent Perl environment an old version of the module might still be loaded,
# as watchdogs like Apache2::Reload haven't had a chance to reload it.
# So we need to make sure that the new version is being loaded.
# Kernel::System::Main::Require() checks the relative file path, so we need to remove that from %INC.
# This is only needed in persistent Perl environment, but does no harm in a CGI environment.
my $CodeModulePath = $CodeModule;
$CodeModulePath =~ s/::/\//g;
$CodeModulePath .= '.pm';
delete $INC{$CodeModulePath};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeUninstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
# define function name
my $FunctionName = 'CodeReinstall';
# create the package name
my $CodeModule = 'var::packagesetup::' . $Param{Structure}->{Name}->{Content};
# load the module
if ( $Self->{MainObject}->Require($CodeModule) ) {
# create new instance
my $CodeObject = $CodeModule->new( %{$Self} );
if ($CodeObject) {
# start method
if ( !$CodeObject->$FunctionName(%{$Self}) ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method $FunctionName() on $CodeModule.pm."
);
}
}
# error handling
else {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "Could not call method new() on $CodeModule.pm."
);
}
}
2014-10-28 18:36:23
opms.otrs.com
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxvdHJzX2NvbmZpZyB2ZXJzaW9uPSIxLjAiIGluaXQ9IkNoYW5nZXMiPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iTWFzdGVyU2xhdmU6OkR5bmFtaWNGaWVsZCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmUgZHluYW1pYyBmaWVsZCBuYW1lIGZvciBtYXN0ZXIgdGlja2V0IGZlYXR1cmUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpNYXN0ZXJTbGF2ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmc+TWFzdGVyU2xhdmU8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJNYXN0ZXJTbGF2ZTo6QWR2YW5jZWRFbmFibGVkIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkVuYWJsZSB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgcGFydCBvZiB0aGUgZmVhdHVyZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6Ok1hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+RGlzYWJsZWQ8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPkVuYWJsZWQ8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9Ik1hc3RlclNsYXZlOjpVbnNldE1hc3RlclNsYXZlIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkVuYWJsZSB0aGUgZmVhdHVyZSB0byB1bnNldCB0aGUgTWFzdGVyU2xhdmUgc3RhdGUgb2YgYSB0aWNrZXQgaW4gdGhlIGFkdmFuY2VkIE1hc3RlclNsYXZlIG1vZGUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpNYXN0ZXJTbGF2ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPkRpc2FibGVkPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5FbmFibGVkPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJNYXN0ZXJTbGF2ZTo6VXBkYXRlTWFzdGVyU2xhdmUiIFJlcXVpcmVkPSIxIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RW5hYmxlIHRoZSBmZWF0dXJlIHRvIGNoYW5nZSB0aGUgTWFzdGVyU2xhdmUgc3RhdGUgb2YgYSB0aWNrZXQgaW4gdGhlIGFkdmFuY2VkIE1hc3RlclNsYXZlIG1vZGUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpNYXN0ZXJTbGF2ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPkRpc2FibGVkPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5FbmFibGVkPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJNYXN0ZXJTbGF2ZTo6Rm9sbG93VXBkYXRlZE1hc3RlciIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5FbmFibGUgdGhlIGZlYXR1cmUgdGhhdCBzbGF2ZSB0aWNrZXRzIGZvbGxvdyB0aGUgbWFzdGVyIHRpY2tldCB0byBhIG5ldyBtYXN0ZXIgaW4gdGhlIGFkdmFuY2VkIE1hc3RlclNsYXZlIG1vZGUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpNYXN0ZXJTbGF2ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPkRpc2FibGVkPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5FbmFibGVkPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJNYXN0ZXJTbGF2ZTo6Rm9yd2FyZFNsYXZlcyIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5FbmFibGUgdGhlIGZlYXR1cmUgdG8gZm9yd2FyZCBhcnRpY2xlcyBvZiBhIG1hc3RlciB0aWNrZXQgdG8gdGhlIGN1c3RvbWVycyBvZiB0aGUgc2xhdmUgdGlja2V0cy4gQnkgZGVmYXVsdCAoZGlzYWJsZWQpIGl0IHdpbGwgbm90IGZvcndhcmQgYW55dGhpbmcgdG8gdGhlIHNsYXZlIHRpY2tldHMuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpNYXN0ZXJTbGF2ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPkRpc2FibGVkPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5FbmFibGVkPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpFdmVudE1vZHVsZVBvc3QjIyNNYXN0ZXJTbGF2ZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5SZWdpc3RyYXRpb24gb2YgdGhlIHRpY2tldCBldmVudCBtb2R1bGUuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Db3JlOjpNYXN0ZXJTbGF2ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJNb2R1bGUiPktlcm5lbDo6U3lzdGVtOjpUaWNrZXQ6OkV2ZW50OjpNYXN0ZXJTbGF2ZTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRXZlbnQiPihBcnRpY2xlQ3JlYXRlfEFydGljbGVTZW5kfFRpY2tldFN0YXRlVXBkYXRlfFRpY2tldFByaW9yaXR5VXBkYXRlfFRpY2tldFBlbmRpbmdUaW1lVXBkYXRlfFRpY2tldExvY2tVcGRhdGV8VGlja2V0T3duZXJVcGRhdGV8VGlja2V0UmVzcG9uc2libGVVcGRhdGV8VGlja2V0RHluYW1pY0ZpZWxkVXBkYXRlKTwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IlByZUFwcGxpY2F0aW9uTW9kdWxlIyMjQWdlbnRNYXN0ZXJTbGF2ZVRpY2tldFByZXBhcmUiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+VGhpcyBtb2R1bGUgaXMgcHJlcGFyaW5nIG1hc3Rlci9zbGF2ZSBwdWxsZG93biBpbiBlbWFpbCBhbmQgcGhvbmUgdGlja2V0LjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPk1hc3RlclNsYXZlPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+Q29yZTo6TWFzdGVyU2xhdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPktlcm5lbDo6TW9kdWxlczo6QWdlbnRNYXN0ZXJTbGF2ZVByZXBhcmVUaWNrZXQ8L1N0cmluZz4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJGcm9udGVuZDo6TW9kdWxlIyMjQWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5Gcm9udGVuZCBtb2R1bGUgcmVnaXN0cmF0aW9uIGZvciB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPk1hc3RlclNsYXZlPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpNb2R1bGVSZWdpc3RyYXRpb248L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8RnJvbnRlbmRNb2R1bGVSZWc+CiAgICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+VGlja2V0IE1hc3RlclNsYXZlPC9EZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgIDxUaXRsZT5NYXN0ZXJTbGF2ZTwvVGl0bGU+CiAgICAgICAgICAgICAgICA8TmF2QmFyTmFtZT5UaWNrZXQ8L05hdkJhck5hbWU+CiAgICAgICAgICAgICAgICA8TG9hZGVyPgogICAgICAgICAgICAgICAgICAgIDxKYXZhU2NyaXB0PkNvcmUuQWdlbnQuVGlja2V0QWN0aW9uLmpzPC9KYXZhU2NyaXB0PgogICAgICAgICAgICAgICAgPC9Mb2FkZXI+CiAgICAgICAgICAgIDwvRnJvbnRlbmRNb2R1bGVSZWc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6TWVudU1vZHVsZSMjIzQ4MC1NYXN0ZXJTbGF2ZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gY2hhbmdlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0dXMgb2YgYSB0aWNrZXQgaW4gdGhlIHRpY2tldCB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpNZW51TW9kdWxlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpPdXRwdXQ6OkhUTUw6OlRpY2tldE1lbnVHZW5lcmljPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJOYW1lIj5NYXN0ZXJTbGF2ZTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iIFRyYW5zbGF0YWJsZT0iMSI+Q2hhbmdlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiB0aGUgdGlja2V0LjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQWN0aW9uIj5BZ2VudFRpY2tldE1hc3RlclNsYXZlPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJMaW5rIj5BY3Rpb249QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZTtUaWNrZXRJRD0kUURhdGF7IlRpY2tldElEIn08L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlRhcmdldCI+PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQb3B1cFR5cGUiPlRpY2tldEFjdGlvbjwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KCiAgICA8Q29uZmlnSXRlbSBOYW1lPSJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1hc3RlclNsYXZlIyMjUGVybWlzc2lvbiIgUmVxdWlyZWQ9IjEiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5SZXF1aXJlZCBwZXJtaXNzaW9ucyB0byB1c2UgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5NYXN0ZXJTbGF2ZTwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IlRpY2tldDo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TWFzdGVyU2xhdmUjIyNSZXF1aXJlZExvY2siIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyBpZiBhIHRpY2tldCBsb2NrIGlzIHJlcXVpcmVkIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlIChpZiB0aGUgdGlja2V0IGlzbid0IGxvY2tlZCB5ZXQsIHRoZSB0aWNrZXQgZ2V0cyBsb2NrZWQgYW5kIHRoZSBjdXJyZW50IGFnZW50IHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgYXMgaXRzIG93bmVyKS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TWFzdGVyU2xhdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjEiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1hc3RlclNsYXZlIyMjVGlja2V0VHlwZSIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TZXRzIHRoZSB0aWNrZXQgdHlwZSBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZSAoVGlja2V0OjpUeXBlIG5lZWRzIHRvIGJlIGFjdGl2YXRlZCkuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI1NlcnZpY2UiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgc2VydmljZSBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZSAoVGlja2V0OjpTZXJ2aWNlIG5lZWRzIHRvIGJlIGFjdGl2YXRlZCkuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI093bmVyIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIHRpY2tldCBvd25lciBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TWFzdGVyU2xhdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1hc3RlclNsYXZlIyMjT3duZXJNYW5kYXRvcnkiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyBpZiB0aWNrZXQgb3duZXIgbXVzdCBiZSBzZWxlY3RlZCBieSB0aGUgYWdlbnQuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI1Jlc3BvbnNpYmxlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIHJlc3BvbnNpYmxlIGFnZW50IG9mIHRoZSB0aWNrZXQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI1N0YXRlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPklmIGEgbm90ZSBpcyBhZGRlZCBieSBhbiBhZ2VudCwgc2V0cyB0aGUgc3RhdGUgb2YgdGhlIHRpY2tldCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TWFzdGVyU2xhdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1hc3RlclNsYXZlIyMjU3RhdGVUeXBlIiBSZXF1aXJlZD0iMSIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIG5leHQgc3RhdGUgb2YgYSB0aWNrZXQgYWZ0ZXIgYWRkaW5nIGEgbm90ZSwgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEFycmF5PgogICAgICAgICAgICAgICAgPEl0ZW0+b3BlbjwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtPmNsb3NlZDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtPnBlbmRpbmcgcmVtaW5kZXI8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbT5wZW5kaW5nIGF1dG88L0l0ZW0+CiAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI1N0YXRlRGVmYXVsdCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBkZWZhdWx0IG5leHQgc3RhdGUgb2YgYSB0aWNrZXQgYWZ0ZXIgYWRkaW5nIGEgbm90ZSwgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8VmFsaWRhdGVNb2R1bGU+S2VybmVsOjpTeXN0ZW06OlN5c0NvbmZpZzo6U3RhdGVWYWxpZGF0ZTwvVmFsaWRhdGVNb2R1bGU+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxTdHJpbmcgUmVnZXg9IiI+cGVuZGluZyByZW1pbmRlcjwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IlRpY2tldDo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TWFzdGVyU2xhdmUjIyNOb3RlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkFsbG93cyBhZGRpbmcgbm90ZXMgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIxIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI1N1YmplY3QiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U2V0cyB0aGUgZGVmYXVsdCBzdWJqZWN0IGZvciBub3RlcyBhZGRlZCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TWFzdGVyU2xhdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPiRUZXh0eyJNYXN0ZXJTbGF2ZSJ9ITwvU3RyaW5nPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IlRpY2tldDo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TWFzdGVyU2xhdmUjIyNCb2R5IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNldHMgdGhlIGRlZmF1bHQgYm9keSB0ZXh0IGZvciBub3RlcyBhZGRlZCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TWFzdGVyU2xhdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8VGV4dEFyZWE+PC9UZXh0QXJlYT4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1hc3RlclNsYXZlIyMjSW52b2x2ZWRBZ2VudCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TaG93cyBhIGxpc3Qgb2YgYWxsIHRoZSBpbnZvbHZlZCBhZ2VudHMgb24gdGhpcyB0aWNrZXQsIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPk1hc3RlclNsYXZlPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdNYXN0ZXJTbGF2ZTwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxPcHRpb24gU2VsZWN0ZWRJRD0iMCI+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjAiPk5vPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIxIj5ZZXM8L0l0ZW0+CiAgICAgICAgICAgIDwvT3B0aW9uPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IlRpY2tldDo6RnJvbnRlbmQ6OkFnZW50VGlja2V0TWFzdGVyU2xhdmUjIyNJbmZvcm1BZ2VudCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIwIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TaG93cyBhIGxpc3Qgb2YgYWxsIHRoZSBwb3NzaWJsZSBhZ2VudHMgKGFsbCBhZ2VudHMgd2l0aCBub3RlIHBlcm1pc3Npb25zIG9uIHRoZSBxdWV1ZS90aWNrZXQpIHRvIGRldGVybWluZSB3aG8gc2hvdWxkIGJlIGluZm9ybWVkIGFib3V0IHRoaXMgbm90ZSwgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI0FydGljbGVUeXBlRGVmYXVsdCIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5EZWZpbmVzIHRoZSBkZWZhdWx0IHR5cGUgb2YgdGhlIG5vdGUgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5ub3RlLWludGVybmFsPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI0FydGljbGVUeXBlcyIgUmVxdWlyZWQ9IjAiIFZhbGlkPSIxIj4KICAgICAgICA8RGVzY3JpcHRpb24gVHJhbnNsYXRhYmxlPSIxIj5TcGVjaWZpZXMgdGhlIGRpZmZlcmVudCBub3RlIHR5cGVzIHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSBzeXN0ZW0uPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Im5vdGUtaW50ZXJuYWwiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Im5vdGUtZXh0ZXJuYWwiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Im5vdGUtcmVwb3J0Ij4wPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI1ByaW9yaXR5IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNob3dzIHRoZSB0aWNrZXQgcHJpb3JpdHkgb3B0aW9ucyBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TWFzdGVyU2xhdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8T3B0aW9uIFNlbGVjdGVkSUQ9IjAiPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSIwIj5ObzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMSI+WWVzPC9JdGVtPgogICAgICAgICAgICA8L09wdGlvbj4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldE1hc3RlclNsYXZlIyMjUHJpb3JpdHlEZWZhdWx0IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjAiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIGRlZmF1bHQgdGlja2V0IHByaW9yaXR5IGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPk1hc3RlclNsYXZlPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpUaWNrZXQ6OlZpZXdNYXN0ZXJTbGF2ZTwvU3ViR3JvdXA+CiAgICAgICAgPFZhbGlkYXRlTW9kdWxlPktlcm5lbDo6U3lzdGVtOjpTeXNDb25maWc6OlByaW9yaXR5VmFsaWRhdGU8L1ZhbGlkYXRlTW9kdWxlPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8U3RyaW5nIFJlZ2V4PSIiPjMgbm9ybWFsPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI1RpdGxlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlNob3dzIHRoZSB0aXRsZSBmaWVsZHMgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPE9wdGlvbiBTZWxlY3RlZElEPSIwIj4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iMCI+Tm88L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IjEiPlllczwvSXRlbT4KICAgICAgICAgICAgPC9PcHRpb24+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI0hpc3RvcnlUeXBlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIGhpc3RvcnkgdHlwZSBmb3IgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gYWN0aW9uLCB3aGljaCBnZXRzIHVzZWQgZm9yIHRpY2tldCBoaXN0b3J5IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj5BZGROb3RlPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZSMjI0hpc3RvcnlDb21tZW50IiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPkRlZmluZXMgdGhlIGhpc3RvcnkgY29tbWVudCBmb3IgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gYWN0aW9uLCB3aGljaCBnZXRzIHVzZWQgZm9yIHRpY2tldCBoaXN0b3J5IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuPC9EZXNjcmlwdGlvbj4KICAgICAgICA8R3JvdXA+TWFzdGVyU2xhdmU8L0dyb3VwPgogICAgICAgIDxTdWJHcm91cD5Gcm9udGVuZDo6QWdlbnQ6OlRpY2tldDo6Vmlld01hc3RlclNsYXZlPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPFN0cmluZyBSZWdleD0iIj4lJU1hc3RlclNsYXZlPC9TdHJpbmc+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iRGFzaGJvYXJkQmFja2VuZCMjIzA5MDAtVGlja2V0TWFzdGVyIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlBhcmFtZXRlcnMgZm9yIHRoZSBkYXNoYm9hcmQgYmFja2VuZCBvZiB0aGUgbWFzdGVyIHRpY2tldHMgb3ZlcnZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4gIkxpbWl0IiBpcyB0aGUgbnVtYmVyIG9mIGVudHJpZXMgc2hvd24gYnkgZGVmYXVsdC4gIkdyb3VwIiBpcyB1c2VkIHRvIHJlc3RyaWN0IHRoZSBhY2Nlc3MgdG8gdGhlIHBsdWdpbiAoZS4gZy4gR3JvdXA6IGFkbWluO2dyb3VwMTtncm91cDI7KS4gIkRlZmF1bHQiIGRldGVybWluZXMgaWYgdGhlIHBsdWdpbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb3IgaWYgdGhlIHVzZXIgbmVlZHMgdG8gZW5hYmxlIGl0IG1hbnVhbGx5LiAiQ2FjaGVUVExMb2NhbCIgaXMgdGhlIGNhY2hlIHRpbWUgaW4gbWludXRlcyBmb3IgdGhlIHBsdWdpbi48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6RGFzaGJvYXJkPC9TdWJHcm91cD4KICAgICAgICA8U2V0dGluZz4KICAgICAgICAgICAgPEhhc2g+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ik1vZHVsZSI+S2VybmVsOjpPdXRwdXQ6OkhUTUw6OkRhc2hib2FyZFRpY2tldEdlbmVyaWM8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlRpdGxlIj5NYXN0ZXIgVGlja2V0czwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVzY3JpcHRpb24iPkFsbCBtYXN0ZXIgdGlja2V0czwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQXR0cmlidXRlcyI+RHluYW1pY0ZpZWxkX01hc3RlclNsYXZlX0VxdWFscz1NYXN0ZXI7U3RhdGVUeXBlPW9wZW47U3RhdGVUeXBlPW5ldzs8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkZpbHRlciI+QWxsPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUaW1lIj5BZ2U8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkxpbWl0Ij4xMDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUGVybWlzc2lvbiI+cnc8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkJsb2NrIj5Db250ZW50TGFyZ2U8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Ikdyb3VwIj48L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlZmF1bHQiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkNhY2hlVFRMTG9jYWwiPjAuNTwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRGVmYXVsdENvbHVtbnMiPgogICAgICAgICAgICAgICAgICAgIDxIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkFnZSI+MjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDaGFuZ2VkIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkN1c3RvbWVySUQiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ3VzdG9tZXJOYW1lIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkN1c3RvbWVyVXNlcklEIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkVzY2FsYXRpb25SZXNwb25zZVRpbWUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRXNjYWxhdGlvblNvbHV0aW9uVGltZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJFc2NhbGF0aW9uVGltZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJFc2NhbGF0aW9uVXBkYXRlVGltZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUaWNrZXROdW1iZXIiPjI8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTG9jayI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJPd25lciI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQZW5kaW5nVGltZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJRdWV1ZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJSZXNwb25zaWJsZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJQcmlvcml0eSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJTZXJ2aWNlIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlN0YXRlIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlNMQSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUaXRsZSI+MjwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJUeXBlIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICAgICAgICAgIDwvSXRlbT4KICAgICAgICAgICAgPC9IYXNoPgogICAgICAgIDwvU2V0dGluZz4KICAgIDwvQ29uZmlnSXRlbT4KICAgIDxDb25maWdJdGVtIE5hbWU9IkRhc2hib2FyZEJhY2tlbmQjIyMwOTEwLVRpY2tldFNsYXZlIiBSZXF1aXJlZD0iMCIgVmFsaWQ9IjEiPgogICAgICAgIDxEZXNjcmlwdGlvbiBUcmFuc2xhdGFibGU9IjEiPlBhcmFtZXRlcnMgZm9yIHRoZSBkYXNoYm9hcmQgYmFja2VuZCBvZiB0aGUgc2xhdmUgdGlja2V0cyBvdmVydmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLiAiTGltaXQiIGlzIHRoZSBudW1iZXIgb2YgZW50cmllcyBzaG93biBieSBkZWZhdWx0LiAiR3JvdXAiIGlzIHVzZWQgdG8gcmVzdHJpY3QgdGhlIGFjY2VzcyB0byB0aGUgcGx1Z2luIChlLiBnLiBHcm91cDogYWRtaW47Z3JvdXAxO2dyb3VwMjspLiAiRGVmYXVsdCIgZGV0ZXJtaW5lcyBpZiB0aGUgcGx1Z2luIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBvciBpZiB0aGUgdXNlciBuZWVkcyB0byBlbmFibGUgaXQgbWFudWFsbHkuICJDYWNoZVRUTExvY2FsIiBpcyB0aGUgY2FjaGUgdGltZSBpbiBtaW51dGVzIGZvciB0aGUgcGx1Z2luLjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPk1hc3RlclNsYXZlPC9Hcm91cD4KICAgICAgICA8U3ViR3JvdXA+RnJvbnRlbmQ6OkFnZW50OjpEYXNoYm9hcmQ8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iTW9kdWxlIj5LZXJuZWw6Ok91dHB1dDo6SFRNTDo6RGFzaGJvYXJkVGlja2V0R2VuZXJpYzwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGl0bGUiPlNsYXZlIFRpY2tldHM8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlc2NyaXB0aW9uIj5BbGwgc2xhdmUgdGlja2V0czwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQXR0cmlidXRlcyI+RHluYW1pY0ZpZWxkX01hc3RlclNsYXZlX0xpa2U9U2xhdmUqO1N0YXRlVHlwZT1vcGVuO1N0YXRlVHlwZT1uZXc7PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJGaWx0ZXIiPkFsbDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGltZSI+QWdlPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJMaW1pdCI+MTA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IlBlcm1pc3Npb24iPnJ3PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJCbG9jayI+Q29udGVudExhcmdlPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJHcm91cCI+PC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJEZWZhdWx0Ij4xPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDYWNoZVRUTExvY2FsIj4wLjU8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkRlZmF1bHRDb2x1bW5zIj4KICAgICAgICAgICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJBZ2UiPjI8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iQ2hhbmdlZCI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDdXN0b21lcklEIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkN1c3RvbWVyTmFtZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJDdXN0b21lclVzZXJJRCI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJFc2NhbGF0aW9uUmVzcG9uc2VUaW1lIj4xPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkVzY2FsYXRpb25Tb2x1dGlvblRpbWUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRXNjYWxhdGlvblRpbWUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iRXNjYWxhdGlvblVwZGF0ZVRpbWUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGlja2V0TnVtYmVyIj4yPC9JdGVtPgogICAgICAgICAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IkxvY2siPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iT3duZXIiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUGVuZGluZ1RpbWUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUXVldWUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUmVzcG9uc2libGUiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iUHJpb3JpdHkiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iU2VydmljZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJTdGF0ZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJTTEEiPjE8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVGl0bGUiPjI8L0l0ZW0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iVHlwZSI+MTwvSXRlbT4KICAgICAgICAgICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgICAgICAgICA8L0l0ZW0+CiAgICAgICAgICAgIDwvSGFzaD4KICAgICAgICA8L1NldHRpbmc+CiAgICA8L0NvbmZpZ0l0ZW0+CiAgICA8Q29uZmlnSXRlbSBOYW1lPSJSZXBsYWNlQ3VzdG9tZXJSZWFsTmFtZU9uU2xhdmVBcnRpY2xlVHlwZXMiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+U3BlY2lmaWVzIHRoZSBkaWZmZXJlbnQgYXJ0aWNsZSB0eXBlcyB3aGVyZSB0aGUgcmVhbCBuYW1lIGZyb20gTWFzdGVyIHRpY2tldCB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIG9uZSBpbiB0aGUgU2xhdmUgdGlja2V0LjwvRGVzY3JpcHRpb24+CiAgICAgICAgPEdyb3VwPk9UUlNNYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkZyb250ZW5kOjpBZ2VudDo6VGlja2V0OjpWaWV3TWFzdGVyU2xhdmU8L1N1Ykdyb3VwPgogICAgICAgIDxTZXR0aW5nPgogICAgICAgICAgICA8SGFzaD4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iZW1haWwtZXh0ZXJuYWwiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9ImVtYWlsLWludGVybmFsIj4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJlbWFpbC1ub3RpZmljYXRpb24tZXh0Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJlbWFpbC1ub3RpZmljYXRpb24taW50Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJwaG9uZSI+MDwvSXRlbT4KICAgICAgICAgICAgICAgIDxJdGVtIEtleT0iZmF4Ij4wPC9JdGVtPgogICAgICAgICAgICAgICAgPEl0ZW0gS2V5PSJzbXMiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9IndlYnJlcXVlc3QiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Im5vdGUtaW50ZXJuYWwiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Im5vdGUtZXh0ZXJuYWwiPjA8L0l0ZW0+CiAgICAgICAgICAgICAgICA8SXRlbSBLZXk9Im5vdGUtcmVwb3J0Ij4wPC9JdGVtPgogICAgICAgICAgICA8L0hhc2g+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgogICAgPENvbmZpZ0l0ZW0gTmFtZT0iQUNMS2V5c0xldmVsMzo6QWN0aW9ucyMjIzg4OC1PVFJTTWFzdGVyU2xhdmUiIFJlcXVpcmVkPSIwIiBWYWxpZD0iMSI+CiAgICAgICAgPERlc2NyaXB0aW9uIFRyYW5zbGF0YWJsZT0iMSI+RGVmaW5lcyB3aGljaCBpdGVtcyBhcmUgYXZhaWxhYmxlIGZvciAnQWN0aW9uJyBpbiB0aGlyZCBsZXZlbCBvZiB0aGUgQUNMIHN0cnVjdHVyZS48L0Rlc2NyaXB0aW9uPgogICAgICAgIDxHcm91cD5NYXN0ZXJTbGF2ZTwvR3JvdXA+CiAgICAgICAgPFN1Ykdyb3VwPkNvcmU6OlRpY2tldEFDTDwvU3ViR3JvdXA+CiAgICAgICAgPFNldHRpbmc+CiAgICAgICAgICAgIDxBcnJheT4KICAgICAgICAgICAgICAgIDxJdGVtPkFnZW50VGlja2V0TWFzdGVyU2xhdmU8L0l0ZW0+CiAgICAgICAgICAgIDwvQXJyYXk+CiAgICAgICAgPC9TZXR0aW5nPgogICAgPC9Db25maWdJdGVtPgo8L290cnNfY29uZmlnPgo=
IyAtLQojIEtlcm5lbC9MYW5ndWFnZS9kZV9PVFJTTWFzdGVyU2xhdmUucG0gLSB0cmFuc2xhdGlvbiBmaWxlCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Okxhbmd1YWdlOjpkZV9PVFJTTWFzdGVyU2xhdmU7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50VGlja2V0QnVsawogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnKHdvcmsgdW5pdHMpJ30gPSAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01hc3RlclRpY2tldCd9ID0gJyc7CgogICAgIyBUZW1wbGF0ZTogQWdlbnRUaWNrZXRNYXN0ZXJTbGF2ZQogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnTWFuYWdlIE1hc3Rlci9TbGF2ZSd9ID0gJ01hc3Rlci9TbGF2ZSB2ZXJ3YWx0ZW4nOwoKICAgICMgU3lzQ29uZmlnCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydBbGxvd3MgYWRkaW5nIG5vdGVzIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0NoYW5nZSB0aGUgTWFzdGVyU2xhdmUgc3RhdGUgb2YgdGhlIHRpY2tldC4nfSA9ICdEZW4gTWFzdGVyU2xhdmUgU3RhdHVzIGRlcyBUaWNrZXRzIMOkbmRlcm4uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSBkeW5hbWljIGZpZWxkIG5hbWUgZm9yIG1hc3RlciB0aWNrZXQgZmVhdHVyZS4nfSA9ICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyBpZiBhIHRpY2tldCBsb2NrIGlzIHJlcXVpcmVkIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlIChpZiB0aGUgdGlja2V0IGlzblwndCBsb2NrZWQgeWV0LCB0aGUgdGlja2V0IGdldHMgbG9ja2VkIGFuZCB0aGUgY3VycmVudCBhZ2VudCB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IGFzIGl0cyBvd25lcikuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBuZXh0IHN0YXRlIG9mIGEgdGlja2V0IGFmdGVyIGFkZGluZyBhIG5vdGUsIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgdGlja2V0IHByaW9yaXR5IGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGRlZmF1bHQgdHlwZSBvZiB0aGUgbm90ZSBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBoaXN0b3J5IGNvbW1lbnQgZm9yIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIGFjdGlvbiwgd2hpY2ggZ2V0cyB1c2VkIGZvciB0aWNrZXQgaGlzdG9yeSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGhpc3RvcnkgdHlwZSBmb3IgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gYWN0aW9uLCB3aGljaCBnZXRzIHVzZWQgZm9yIHRpY2tldCBoaXN0b3J5IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgbmV4dCBzdGF0ZSBvZiBhIHRpY2tldCBhZnRlciBhZGRpbmcgYSBub3RlLCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGFkdmFuY2VkIE1hc3RlclNsYXZlIHBhcnQgb2YgdGhlIGZlYXR1cmUuJ30gPSAnRGFzIGVyd2VpdGVydGUgVmVyaGFsdGVuIGRlciBNYXN0ZXJTbGF2ZSBFcndlaXRlcnVuZyBha3RpdmllcmVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdGhhdCBzbGF2ZSB0aWNrZXRzIGZvbGxvdyB0aGUgbWFzdGVyIHRpY2tldCB0byBhIG5ldyBtYXN0ZXIgaW4gdGhlIGFkdmFuY2VkIE1hc3RlclNsYXZlIG1vZGUuJ30gPQogICAgICAgICdBa3RpdmllcmUgZGVuIE1vZHVzIGRhcyBTbGF2ZSBUaWNrZXRzIGRlbSBNYXN0ZXIgVGlja2V0IGltIGVyd2VpdGVydGVuIE1hc3RlclNsYXZlIFZlcmhhbHRlbiB6dW0gbmV1ZW4gTWFzdGVyIGZvbGdlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIHRoZSBmZWF0dXJlIHRvIGNoYW5nZSB0aGUgTWFzdGVyU2xhdmUgc3RhdGUgb2YgYSB0aWNrZXQgaW4gdGhlIGFkdmFuY2VkIE1hc3RlclNsYXZlIG1vZGUuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRW5hYmxlIHRoZSBmZWF0dXJlIHRvIHVuc2V0IHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiBhIHRpY2tldCBpbiB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgbW9kZS4nfSA9CiAgICAgICAgJ0FrdGl2aWVyZSBkZW4gTW9kdXMgdW0gZGVuIE1hc3RlclNsYXZlIFN0YXR1cyBlaW5lcyBUaWNrZXRzIGltIGVyd2VpdGVydGVuIE1hc3RlclNsYXZlIFZlcmhhbHRlbiBhdWZ6dWhlYmVuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiBhIG5vdGUgaXMgYWRkZWQgYnkgYW4gYWdlbnQsIHNldHMgdGhlIHN0YXRlIG9mIHRoZSB0aWNrZXQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnUmVnaXN0cmF0aW9uIG9mIHRoZSB0aWNrZXQgZXZlbnQgbW9kdWxlLid9ID0gJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1aXJlZCBwZXJtaXNzaW9ucyB0byB1c2UgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdCZW7DtnRpZ3RlIEJlcmVjaHRpZ3VuZ2VuIHVtIGRlbiBNYXN0ZXJTbGF2ZSBEaWFsb2cgaW0gWm9vbSBUaWNrZXQgRGlhbG9nIGRlcyBBZ2VudGVuaW50ZXJmYWNlIGFuemVpZ2VuIHp1IGxhc3Nlbi4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0cyB0aGUgZGVmYXVsdCBib2R5IHRleHQgZm9yIG5vdGVzIGFkZGVkIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldHMgdGhlIGRlZmF1bHQgc3ViamVjdCBmb3Igbm90ZXMgYWRkZWQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0cyB0aGUgcmVzcG9uc2libGUgYWdlbnQgb2YgdGhlIHRpY2tldCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXRzIHRoZSBzZXJ2aWNlIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlIChUaWNrZXQ6OlNlcnZpY2UgbmVlZHMgdG8gYmUgYWN0aXZhdGVkKS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXRzIHRoZSB0aWNrZXQgb3duZXIgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0cyB0aGUgdGlja2V0IHR5cGUgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UgKFRpY2tldDo6VHlwZSBuZWVkcyB0byBiZSBhY3RpdmF0ZWQpLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGluayBpbiB0aGUgbWVudSB0byBjaGFuZ2UgdGhlIE1hc3RlclNsYXZlIHN0YXR1cyBvZiBhIHRpY2tldCBpbiB0aGUgdGlja2V0IHpvb20gdmlldyBvZiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnWmVpZ3QgZWluZW4gTGluayBpbSBNZW7DvCB1bSBkZW4gTWFzdGVyU2xhdmUgU3RhdHVzIGVpbmVzIFRpY2tldHMgaW0gVGlja2V0IFpvb20gSW50ZXJmYWNlIGRlcyBBZ2VudGVuIGFuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpc3Qgb2YgYWxsIHRoZSBpbnZvbHZlZCBhZ2VudHMgb24gdGhpcyB0aWNrZXQsIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGlzdCBvZiBhbGwgdGhlIHBvc3NpYmxlIGFnZW50cyAoYWxsIGFnZW50cyB3aXRoIG5vdGUgcGVybWlzc2lvbnMgb24gdGhlIHF1ZXVlL3RpY2tldCkgdG8gZGV0ZXJtaW5lIHdobyBzaG91bGQgYmUgaW5mb3JtZWQgYWJvdXQgdGhpcyBub3RlLCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyB0aGUgdGlja2V0IHByaW9yaXR5IG9wdGlvbnMgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICcnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgdGhlIHRpdGxlIGZpZWxkcyBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJyc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIG1vZHVsZSBpcyBwcmVwYXJpbmcgbWFzdGVyL3NsYXZlIHB1bGxkb3duIGluIGVtYWlsIGFuZCBwaG9uZSB0aWNrZXQuJ30gPQogICAgICAgICdMZWd0IGRhcyBNb2R1bCBmZXN0IGRhcyBkYXMgRHJvcERvd24gRmVsZCBpbSBFbWFpbC0gdW5kIFRlbGVmb250aWNrZXQgRGlhbG9nIGJlcmVpdHN0ZWxsdC4nOwoKICAgICMKICAgICMgT0JTT0xFVEUgRU5UUklFUyBGT1IgUkVGRVJFTkNFLCBETyBOT1QgVFJBTlNMQVRFIQogICAgIwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIGZyZWUgdGV4dCBmaWVsZCBmb3IgbWFzdGVyIHRpY2tldCBmZWF0dXJlLid9ID0gJ0RhcyBGcmVpdGV4dGZlbGQgZsO8ciBkaWUgTWFzdGVyU2xhdmUgRXJ3ZWl0ZXJ1bmcgZmVzdGxlZ2VuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdG8gdXBkYXRlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiBhIHRpY2tldCBpbiB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgbW9kZS4nfSA9CiAgICAgICAgJ0FrdGl2aWVyZSBkZW4gTW9kdXMgdW0gZGVuIE1hc3RlclNsYXZlIFN0YXR1cyBlaW5lcyBUaWNrZXRzIGltIGVyd2VpdGVydGVuIE1hc3RlclNsYXZlIFZlcmhhbHRlbiB6dSDDpG5kZXJuLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXJTbGF2ZSd9ID0gJ01hc3RlclNsYXZlJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J05ldyBNYXN0ZXIgVGlja2V0J30gPSAnTmV1ZXMgTWFzdGVyIFRpY2tldCc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTbGF2ZSBvZiBUaWNrZXQjJ30gPSAnU2xhdmUgdm9uIFRpY2tldCMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVW5zZXQgTWFzdGVyIFRpY2tldCd9ID0gJ01hc3RlciBUaWNrZXQgYXVmaGViZW4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVW5zZXQgU2xhdmUgVGlja2V0J30gPSAnU2xhdmUgVGlja2V0IGF1ZmhlYmVuJzsKCn0KCjE7Cg==
IyAtLQojIEtlcm5lbC9MYW5ndWFnZS9lc19PVFJTTWFzdGVyU2xhdmUucG0gLSB0cmFuc2xhdGlvbiBmaWxlCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Okxhbmd1YWdlOjplc19PVFJTTWFzdGVyU2xhdmU7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50VGlja2V0QnVsawogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnKHdvcmsgdW5pdHMpJ30gPSAnKHVuaWRhZGVzIGRlIHRyYWJham8pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01hc3RlclRpY2tldCd9ID0gJ1RpY2tldCBNYWVzdHJvJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFRpY2tldE1hc3RlclNsYXZlCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYW5hZ2UgTWFzdGVyL1NsYXZlJ30gPSAnR2VzdGnDs24gTWFlc3Ryby9Fc2NhbHZvJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsb3dzIGFkZGluZyBub3RlcyBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1Blcm1pdGUgYcOxYWRpciBub3RhcyBlbiBsYSBwYW50YWxsYSBkZSB0aWNrZXQgTWFlc3Ryby1Fc2NsYXZvIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZW4gbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiB0aGUgdGlja2V0Lid9ID0gJ01vZGlmaWNhIGVsIGVzdGFkbyBNYWVzdHJvLUVzY2xhdm8gZGVsIHRpY2tldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIGR5bmFtaWMgZmllbGQgbmFtZSBmb3IgbWFzdGVyIHRpY2tldCBmZWF0dXJlLid9ID0gJ0RlZmluZSBlbCBub21icmUgZGVsIGNhbXBvIGRpbsOhbWljbyBwYXJhIGxhIGZ1bmNpb25hbGlkYWQgZGUgdGlja2V0IG1hZXN0cm8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgYSB0aWNrZXQgbG9jayBpcyByZXF1aXJlZCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZSAoaWYgdGhlIHRpY2tldCBpc25cJ3QgbG9ja2VkIHlldCwgdGhlIHRpY2tldCBnZXRzIGxvY2tlZCBhbmQgdGhlIGN1cnJlbnQgYWdlbnQgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSBhcyBpdHMgb3duZXIpLid9ID0KICAgICAgICAnRGVmaW5lIGVsIGJsb3F1ZW8gcmVxdWVyaWRvIGluIGxhIHBhbnRhbGxhIGRlIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlIChzaSBlbCB0aWNrZXQgbm8gaGEgc2lkbyBibG9xdWVhZG8gYXVuLCBlbCB0aWNrZXQgc2UgYmxvcXVlYSB5IGVsIGFnZW50ZSBhY3R1YWwgc2UgY29udmVydGlyw6EgYXV0b23DoXRpY2FtZW50ZSBlbiBlbCBkdWXDsW8gZGVsIG1pc21vKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBuZXh0IHN0YXRlIG9mIGEgdGlja2V0IGFmdGVyIGFkZGluZyBhIG5vdGUsIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRGVmaW5lIGVsIHNpZ3VpZW50ZSBlc3RhZG8gZGVsIHRpY2tldCBkZXNwdcOpcyBkZSBhw7FhZGlyIHVuYSBub3RhLCBlbiBsYSBwYW50YWxsYSBkZSB0aWNrZXQgTWFlc3Ryby1Fc2NsYXZvIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZW4gbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCB0aWNrZXQgcHJpb3JpdHkgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdEZWZpbmUgbGEgcHJpb3JpZGFkIHBvciBkZWZlY3RvIGVuIGxhIHBhbnRhbGxhIGRlIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IHR5cGUgb2YgdGhlIG5vdGUgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdEZWZpbmUgZWwgdGlwbyBkZSBub3RhIHBvciBkZWZlY3RvIGVuIGxhIHBhbnRhbGxhIGRlIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBoaXN0b3J5IGNvbW1lbnQgZm9yIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIGFjdGlvbiwgd2hpY2ggZ2V0cyB1c2VkIGZvciB0aWNrZXQgaGlzdG9yeSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRGVmaW5lIGVsIGNvbWVudGFyaW8gZGVsIGhpc3RvcmlhbCBwYXJhIGxhIGFjY2nDs24gZGUgbGEgcGFudGFsbGEgZGVsIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8sIHF1ZSBlcyB1c2FkbyBwYXJhIGVsIGhpc3RvcmlhbCBkZWwgdGlja2V0IGVuIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGhpc3RvcnkgdHlwZSBmb3IgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gYWN0aW9uLCB3aGljaCBnZXRzIHVzZWQgZm9yIHRpY2tldCBoaXN0b3J5IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdEZWZpbmUgZWwgdGlwbyBkZSBoaXN0b3JpYWwgcGFyYSBsYSBhY2Npw7NuIGRlIGxhIHBhbnRhbGxhIGRlbCB0aWNrZXQgTWFlc3Ryby1Fc2NsYXZvLCBxdWUgZXMgdXNhZG8gcGFyYSBlbCBoaXN0b3JpYWwgZGVsIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBuZXh0IHN0YXRlIG9mIGEgdGlja2V0IGFmdGVyIGFkZGluZyBhIG5vdGUsIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRGVmaW5lIGVsIHNpZ3VpZW50ZSBlc3RhZG8gZGVzcHXDqXMgZGUgYcOxYWRpciB1bmEgbm90YSwgZW4gbGEgcGFudGFsbGEgZGUgdGlja2V0IE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGVuIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgcGFydCBvZiB0aGUgZmVhdHVyZS4nfSA9ICdBY3RpdmEgZWwgbW9kbyBhdmFuemFkbyBwYXJhIGxhIGZ1bmNpb25hbGlkYWQgTWFlc3Ryby1Fc2NsYXZvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdGhhdCBzbGF2ZSB0aWNrZXRzIGZvbGxvdyB0aGUgbWFzdGVyIHRpY2tldCB0byBhIG5ldyBtYXN0ZXIgaW4gdGhlIGFkdmFuY2VkIE1hc3RlclNsYXZlIG1vZGUuJ30gPQogICAgICAgICdBY3RpdmEgbGEgZnVuY2lvbmFsaWRhZCBwYXJhIHF1ZSB0aWNrZXRzIEVzY2xhdm8gYWNvbXBhw7FlbiBhIHN1IHRpY2tldCBNYWVzdHJvIGhhY2lhIHVubyBudWV2byBlbiBlbCBtb2RvIGF2YW56YWRvIHBhcmEgTWFlc3Ryby1Fc2NsYXZvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdG8gY2hhbmdlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiBhIHRpY2tldCBpbiB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgbW9kZS4nfSA9CiAgICAgICAgJ0FjdGl2YSBsYSBmdW5jaW9uYWxpZGFkIHBhcmEgY2FtYmlhciBlbCBlc3RhZG8gTWFlc3Ryby1Fc2NsYXZvIGRlIHVuIHRpY2tldCBlbiBlbCBtb2RvIGF2YW56YWRvIHBhcmEgTWFlc3Ryby1Fc2NsYXZvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdG8gdW5zZXQgdGhlIE1hc3RlclNsYXZlIHN0YXRlIG9mIGEgdGlja2V0IGluIHRoZSBhZHZhbmNlZCBNYXN0ZXJTbGF2ZSBtb2RlLid9ID0KICAgICAgICAnQWN0aXZhIGxhIGZ1bmNpb25hbGlkYWQgcGFyYSBzdXByaW1pciBlbCBlc3RhZG8gTWFlc3Ryby1Fc2NsYXZvIGRlIHVuIHRpY2tldCBlbiBlbCBtb2RvIGF2YW56YWRvIHBhcmEgTWFlc3Ryby1Fc2NsYXZvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiBhIG5vdGUgaXMgYWRkZWQgYnkgYW4gYWdlbnQsIHNldHMgdGhlIHN0YXRlIG9mIHRoZSB0aWNrZXQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdTaSB1bmEgbm90YSBlcyBhw7FhZGlkYSBwb3IgdW4gYWdlbnRlLCBmaWphIGVsIGVzdGFkbyBkZWwgdGlja2V0IGVuIGVuIGxhIHBhbnRhbGxhIGRlIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWdpc3RyYXRpb24gb2YgdGhlIHRpY2tldCBldmVudCBtb2R1bGUuJ30gPSAnUmVnaXN0cm8gZGVsIG3Ds2R1byBkZSBldmVudG8gcGFyYSB0aWNrZXRzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1aXJlZCBwZXJtaXNzaW9ucyB0byB1c2UgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdQZXJtaXNvcyByZXF1ZXJpZG9zIHBhcmEgdXNhciBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZGUgdW4gdGlja2V0LCBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGRlIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldHMgdGhlIGRlZmF1bHQgYm9keSB0ZXh0IGZvciBub3RlcyBhZGRlZCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0ZpamEgZWwgdGV4dG8gZGVsIGN1ZXJwbyBwb3IgZGVmZWN0byBkZSBsYXMgbm90YXMgYcOxYWRpZGFzIGVuIGxhIHBhbnRhbGxhIE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGVuIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldHMgdGhlIGRlZmF1bHQgc3ViamVjdCBmb3Igbm90ZXMgYWRkZWQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGaWphIGVsIGFzdW50byBwb3IgZGVmZWN0byBkZSBsYXMgbm90YXMgYcOxYWRpZGFzIGVuIGxhIHBhbnRhbGxhIE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGVuIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldHMgdGhlIHJlc3BvbnNpYmxlIGFnZW50IG9mIHRoZSB0aWNrZXQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGaWphIGVsIGFnZW50ZSByZXNwb25zYWJsZSBkZSB1biB0aWNrZXQgZW4gbGEgcGFudGFsbGEgTWFlc3Ryby1Fc2NsYXZvIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZW4gbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0cyB0aGUgc2VydmljZSBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZSAoVGlja2V0OjpTZXJ2aWNlIG5lZWRzIHRvIGJlIGFjdGl2YXRlZCkuJ30gPQogICAgICAgICdGaWphIGVsIHNlcnZpY2lvIGRlIHVuIHRpY2tldCBlbiBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlIChUaWNrZXQ6OlNlcnZpY2UgcmVxdWlyZSBzZXIgYWN0aXZhZG8pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXRzIHRoZSB0aWNrZXQgb3duZXIgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGaWphIGVsIGR1ZcOxbyBkZSB1biB0aWNrZXQgZW4gbGEgcGFudGFsbGEgTWFlc3Ryby1Fc2NsYXZvIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZW4gbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0cyB0aGUgdGlja2V0IHR5cGUgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UgKFRpY2tldDo6VHlwZSBuZWVkcyB0byBiZSBhY3RpdmF0ZWQpLid9ID0KICAgICAgICAnRmlqYSBlbCB0aXBvIGRlIHRpY2tldCBlbiBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlIChUaWNrZXQ6OlR5cGUgcmVxdWlyZSBzZXIgYWN0aXZhZG8pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gY2hhbmdlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0dXMgb2YgYSB0aWNrZXQgaW4gdGhlIHRpY2tldCB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ011ZXN0cmEgdW4gZW5sYWNlIGVuIGVsIG1lbsO6IHBhcmEgY2FtYmlhciBlbCBlc3RhdHVzIE1hZXN0cm8tRXNjbGF2byBkZSB1biB0aWNrZXQsIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZGUgbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaXN0IG9mIGFsbCB0aGUgaW52b2x2ZWQgYWdlbnRzIG9uIHRoaXMgdGlja2V0LCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ011ZXN0cmEgdW5hIGxpc3RhIGRlIHRvZG9zIGxvcyBhZ2VudGVzIGludm9sdWNyYWRvcyBjb24gZXN0ZSB0aWNrZXQsIGVuIGxhIHBhbnRhbGxhIE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGRlIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGlzdCBvZiBhbGwgdGhlIHBvc3NpYmxlIGFnZW50cyAoYWxsIGFnZW50cyB3aXRoIG5vdGUgcGVybWlzc2lvbnMgb24gdGhlIHF1ZXVlL3RpY2tldCkgdG8gZGV0ZXJtaW5lIHdobyBzaG91bGQgYmUgaW5mb3JtZWQgYWJvdXQgdGhpcyBub3RlLCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ011ZXN0cmEgdW5hIGxpc3RhIGRlIHRvZG9zIGxvcyBwb3NpYmxlcyBhZ2VudGVzICh0b2RvcyBsb3MgYWdlbnRlcyBjb24gcGVybWlzb3MgIm5vdGEiIGVuIGxhIGZpbGEvdGlja2V0KSBwYXJhIGRldGVybWluYXIgcXVpw6luIGRlYmVyw6Egc2VyIGluZm9ybWFkbyBhY2VyY2EgZGUgZXN0YSBub3RhLCBlbiBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBkZSBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyB0aGUgdGlja2V0IHByaW9yaXR5IG9wdGlvbnMgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNdWVzdHJhIGxhcyBvcGNpb25lcyBkZSBwcmlvcmlkYWQgZGUgdGlja2V0IGVuIGxhIHBhbnRhbGxhIE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGRlIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIHRoZSB0aXRsZSBmaWVsZHMgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNdWVzdHJhIGxvcyBjYW1wb3MgdMOtdHVsbyBlbiBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBkZSBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIG1vZHVsZSBpcyBwcmVwYXJpbmcgbWFzdGVyL3NsYXZlIHB1bGxkb3duIGluIGVtYWlsIGFuZCBwaG9uZSB0aWNrZXQuJ30gPQogICAgICAgICdFc3RlIG3Ds2R1bG8gcHJlcGFyYSBlbCBjb250ZW5pZG8gcGFyYSBlbCBzZWxlY3RvciBkZSBNYWVzdHJvLUVzbGNhdm8gZW4gbGFzIHBhbnRhbGxhcyBkZSB0aWNrZXQgdGVsZWbDs25pY28geSBkZSBjb3JyZW8uJzsKCiAgICAjCiAgICAjIE9CU09MRVRFIEVOVFJJRVMgRk9SIFJFRkVSRU5DRSwgRE8gTk9UIFRSQU5TTEFURSEKICAgICMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSBmcmVlIHRleHQgZmllbGQgZm9yIG1hc3RlciB0aWNrZXQgZmVhdHVyZS4nfSA9ICdEZWZpbmUgY2FtcG9zIEZyZWVGaWVsZCBwYXJhIGxhIGZ1bmNpb25hbGlkYWQgTWFlc3Ryby1EZXRhbGxlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdG8gdXBkYXRlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiBhIHRpY2tldCBpbiB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgbW9kZS4nfSA9CiAgICAgICAgJ0FjdGl2YSBsYSBmdW5jaW9uYWxpZGFkIHBhcmEgYWN0dWFsaXphciBlbCBlc3RhZG8gTWFlc3Ryby1EZXRhbGxlIGRlIHVuIHRpY2tldCBlbiBlbCBtb2RvIGF2YW56YWRvIHBhcmEgTWFlc3Ryby1EZXRhbGxlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXJTbGF2ZSd9ID0gJ01hZXN0cm8tRGV0YWxsZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgTWFzdGVyIFRpY2tldCd9ID0gJ051ZXZvIFRpY2tldCBNYWVzdHJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NsYXZlIG9mIFRpY2tldCMnfSA9ICdEZXRhbGxlIGRlIFRpY2tldCMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVW5zZXQgTWFzdGVyIFRpY2tldCd9ID0gJ1N1cHJpbWlyIFRpY2tldCBNYWVzdHJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Vuc2V0IFNsYXZlIFRpY2tldCd9ID0gJ1N1cHJpbWlyIFRpY2tldCBEZXRhbGxlJzsKCn0KCjE7Cg==
IyAtLQojIEtlcm5lbC9MYW5ndWFnZS9lc19NWF9PVFJTTWFzdGVyU2xhdmUucG0gLSB0cmFuc2xhdGlvbiBmaWxlCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSBLZXJuZWw6Okxhbmd1YWdlOjplc19NWF9PVFJTTWFzdGVyU2xhdmU7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7CgpzdWIgRGF0YSB7CiAgICBteSAkU2VsZiA9IHNoaWZ0OwoKICAgICMgVGVtcGxhdGU6IEFnZW50VGlja2V0QnVsawogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnKHdvcmsgdW5pdHMpJ30gPSAnKHVuaWRhZGVzIGRlIHRyYWJham8pJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J01hc3RlclRpY2tldCd9ID0gJ1RpY2tldCBNYWVzdHJvJzsKCiAgICAjIFRlbXBsYXRlOiBBZ2VudFRpY2tldE1hc3RlclNsYXZlCiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYW5hZ2UgTWFzdGVyL1NsYXZlJ30gPSAnR2VzdGnDs24gTWFlc3Ryby9Fc2NhbHZvJzsKCiAgICAjIFN5c0NvbmZpZwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQWxsb3dzIGFkZGluZyBub3RlcyBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ1Blcm1pdGUgYcOxYWRpciBub3RhcyBlbiBsYSBwYW50YWxsYSBkZSB0aWNrZXQgTWFlc3Ryby1Fc2NsYXZvIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZW4gbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnQ2hhbmdlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiB0aGUgdGlja2V0Lid9ID0gJ01vZGlmaWNhIGVsIGVzdGFkbyBNYWVzdHJvLUVzY2xhdm8gZGVsIHRpY2tldC4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lIGR5bmFtaWMgZmllbGQgbmFtZSBmb3IgbWFzdGVyIHRpY2tldCBmZWF0dXJlLid9ID0gJ0RlZmluZSBlbCBub21icmUgZGVsIGNhbXBvIGRpbsOhbWljbyBwYXJhIGxhIGZ1bmNpb25hbGlkYWQgZGUgdGlja2V0IG1hZXN0cm8uJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgaWYgYSB0aWNrZXQgbG9jayBpcyByZXF1aXJlZCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZSAoaWYgdGhlIHRpY2tldCBpc25cJ3QgbG9ja2VkIHlldCwgdGhlIHRpY2tldCBnZXRzIGxvY2tlZCBhbmQgdGhlIGN1cnJlbnQgYWdlbnQgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSBhcyBpdHMgb3duZXIpLid9ID0KICAgICAgICAnRGVmaW5lIGVsIGJsb3F1ZW8gcmVxdWVyaWRvIGluIGxhIHBhbnRhbGxhIGRlIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlIChzaSBlbCB0aWNrZXQgbm8gaGEgc2lkbyBibG9xdWVhZG8gYXVuLCBlbCB0aWNrZXQgc2UgYmxvcXVlYSB5IGVsIGFnZW50ZSBhY3R1YWwgc2UgY29udmVydGlyw6EgYXV0b23DoXRpY2FtZW50ZSBlbiBlbCBkdWXDsW8gZGVsIG1pc21vKS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCBuZXh0IHN0YXRlIG9mIGEgdGlja2V0IGFmdGVyIGFkZGluZyBhIG5vdGUsIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRGVmaW5lIGVsIHNpZ3VpZW50ZSBlc3RhZG8gZGVsIHRpY2tldCBkZXNwdcOpcyBkZSBhw7FhZGlyIHVuYSBub3RhLCBlbiBsYSBwYW50YWxsYSBkZSB0aWNrZXQgTWFlc3Ryby1Fc2NsYXZvIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZW4gbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnRGVmaW5lcyB0aGUgZGVmYXVsdCB0aWNrZXQgcHJpb3JpdHkgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdEZWZpbmUgbGEgcHJpb3JpZGFkIHBvciBkZWZlY3RvIGVuIGxhIHBhbnRhbGxhIGRlIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBkZWZhdWx0IHR5cGUgb2YgdGhlIG5vdGUgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdEZWZpbmUgZWwgdGlwbyBkZSBub3RhIHBvciBkZWZlY3RvIGVuIGxhIHBhbnRhbGxhIGRlIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBoaXN0b3J5IGNvbW1lbnQgZm9yIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIGFjdGlvbiwgd2hpY2ggZ2V0cyB1c2VkIGZvciB0aWNrZXQgaGlzdG9yeSBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRGVmaW5lIGVsIGNvbWVudGFyaW8gZGVsIGhpc3RvcmlhbCBwYXJhIGxhIGFjY2nDs24gZGUgbGEgcGFudGFsbGEgZGVsIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8sIHF1ZSBlcyB1c2FkbyBwYXJhIGVsIGhpc3RvcmlhbCBkZWwgdGlja2V0IGVuIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZXMgdGhlIGhpc3RvcnkgdHlwZSBmb3IgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gYWN0aW9uLCB3aGljaCBnZXRzIHVzZWQgZm9yIHRpY2tldCBoaXN0b3J5IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdEZWZpbmUgZWwgdGlwbyBkZSBoaXN0b3JpYWwgcGFyYSBsYSBhY2Npw7NuIGRlIGxhIHBhbnRhbGxhIGRlbCB0aWNrZXQgTWFlc3Ryby1Fc2NsYXZvLCBxdWUgZXMgdXNhZG8gcGFyYSBlbCBoaXN0b3JpYWwgZGVsIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydEZWZpbmVzIHRoZSBuZXh0IHN0YXRlIG9mIGEgdGlja2V0IGFmdGVyIGFkZGluZyBhIG5vdGUsIGluIHRoZSB0aWNrZXQgTWFzdGVyU2xhdmUgc2NyZWVuIG9mIGEgem9vbWVkIHRpY2tldCBpbiB0aGUgYWdlbnQgaW50ZXJmYWNlLid9ID0KICAgICAgICAnRGVmaW5lIGVsIHNpZ3VpZW50ZSBlc3RhZG8gZGVzcHXDqXMgZGUgYcOxYWRpciB1bmEgbm90YSwgZW4gbGEgcGFudGFsbGEgZGUgdGlja2V0IE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGVuIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0VuYWJsZSB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgcGFydCBvZiB0aGUgZmVhdHVyZS4nfSA9ICdBY3RpdmEgZWwgbW9kbyBhdmFuemFkbyBwYXJhIGxhIGZ1bmNpb25hbGlkYWQgTWFlc3Ryby1Fc2NsYXZvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdGhhdCBzbGF2ZSB0aWNrZXRzIGZvbGxvdyB0aGUgbWFzdGVyIHRpY2tldCB0byBhIG5ldyBtYXN0ZXIgaW4gdGhlIGFkdmFuY2VkIE1hc3RlclNsYXZlIG1vZGUuJ30gPQogICAgICAgICdBY3RpdmEgbGEgZnVuY2lvbmFsaWRhZCBwYXJhIHF1ZSB0aWNrZXRzIEVzY2xhdm8gYWNvbXBhw7FlbiBhIHN1IHRpY2tldCBNYWVzdHJvIGhhY2lhIHVubyBudWV2byBlbiBlbCBtb2RvIGF2YW56YWRvIHBhcmEgTWFlc3Ryby1Fc2NsYXZvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdG8gY2hhbmdlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiBhIHRpY2tldCBpbiB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgbW9kZS4nfSA9CiAgICAgICAgJ0FjdGl2YSBsYSBmdW5jaW9uYWxpZGFkIHBhcmEgY2FtYmlhciBlbCBlc3RhZG8gTWFlc3Ryby1Fc2NsYXZvIGRlIHVuIHRpY2tldCBlbiBlbCBtb2RvIGF2YW56YWRvIHBhcmEgTWFlc3Ryby1Fc2NsYXZvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdG8gdW5zZXQgdGhlIE1hc3RlclNsYXZlIHN0YXRlIG9mIGEgdGlja2V0IGluIHRoZSBhZHZhbmNlZCBNYXN0ZXJTbGF2ZSBtb2RlLid9ID0KICAgICAgICAnQWN0aXZhIGxhIGZ1bmNpb25hbGlkYWQgcGFyYSBzdXByaW1pciBlbCBlc3RhZG8gTWFlc3Ryby1Fc2NsYXZvIGRlIHVuIHRpY2tldCBlbiBlbCBtb2RvIGF2YW56YWRvIHBhcmEgTWFlc3Ryby1Fc2NsYXZvLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydJZiBhIG5vdGUgaXMgYWRkZWQgYnkgYW4gYWdlbnQsIHNldHMgdGhlIHN0YXRlIG9mIHRoZSB0aWNrZXQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdTaSB1bmEgbm90YSBlcyBhw7FhZGlkYSBwb3IgdW4gYWdlbnRlLCBmaWphIGVsIGVzdGFkbyBkZWwgdGlja2V0IGVuIGVuIGxhIHBhbnRhbGxhIGRlIHRpY2tldCBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZWdpc3RyYXRpb24gb2YgdGhlIHRpY2tldCBldmVudCBtb2R1bGUuJ30gPSAnUmVnaXN0cm8gZGVsIG3Ds2R1byBkZSBldmVudG8gcGFyYSB0aWNrZXRzLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydSZXF1aXJlZCBwZXJtaXNzaW9ucyB0byB1c2UgdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdQZXJtaXNvcyByZXF1ZXJpZG9zIHBhcmEgdXNhciBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZGUgdW4gdGlja2V0LCBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGRlIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldHMgdGhlIGRlZmF1bHQgYm9keSB0ZXh0IGZvciBub3RlcyBhZGRlZCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ0ZpamEgZWwgdGV4dG8gZGVsIGN1ZXJwbyBwb3IgZGVmZWN0byBkZSBsYXMgbm90YXMgYcOxYWRpZGFzIGVuIGxhIHBhbnRhbGxhIE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGVuIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldHMgdGhlIGRlZmF1bHQgc3ViamVjdCBmb3Igbm90ZXMgYWRkZWQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGaWphIGVsIGFzdW50byBwb3IgZGVmZWN0byBkZSBsYXMgbm90YXMgYcOxYWRpZGFzIGVuIGxhIHBhbnRhbGxhIE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGVuIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NldHMgdGhlIHJlc3BvbnNpYmxlIGFnZW50IG9mIHRoZSB0aWNrZXQgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGaWphIGVsIGFnZW50ZSByZXNwb25zYWJsZSBkZSB1biB0aWNrZXQgZW4gbGEgcGFudGFsbGEgTWFlc3Ryby1Fc2NsYXZvIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZW4gbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0cyB0aGUgc2VydmljZSBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZSAoVGlja2V0OjpTZXJ2aWNlIG5lZWRzIHRvIGJlIGFjdGl2YXRlZCkuJ30gPQogICAgICAgICdGaWphIGVsIHNlcnZpY2lvIGRlIHVuIHRpY2tldCBlbiBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlIChUaWNrZXQ6OlNlcnZpY2UgcmVxdWlyZSBzZXIgYWN0aXZhZG8pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTZXRzIHRoZSB0aWNrZXQgb3duZXIgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdGaWphIGVsIGR1ZcOxbyBkZSB1biB0aWNrZXQgZW4gbGEgcGFudGFsbGEgTWFlc3Ryby1Fc2NsYXZvIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZW4gbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2V0cyB0aGUgdGlja2V0IHR5cGUgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UgKFRpY2tldDo6VHlwZSBuZWVkcyB0byBiZSBhY3RpdmF0ZWQpLid9ID0KICAgICAgICAnRmlqYSBlbCB0aXBvIGRlIHRpY2tldCBlbiBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBlbiBsYSBpbnRlcmZheiBkZWwgYWdlbnRlIChUaWNrZXQ6OlR5cGUgcmVxdWlyZSBzZXIgYWN0aXZhZG8pLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyBhIGxpbmsgaW4gdGhlIG1lbnUgdG8gY2hhbmdlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0dXMgb2YgYSB0aWNrZXQgaW4gdGhlIHRpY2tldCB6b29tIHZpZXcgb2YgdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ011ZXN0cmEgdW4gZW5sYWNlIGVuIGVsIG1lbsO6IHBhcmEgY2FtYmlhciBlbCBlc3RhdHVzIE1hZXN0cm8tRXNjbGF2byBkZSB1biB0aWNrZXQsIGVuIGxhIHZpc3RhIGRldGFsbGFkYSBkZSBkaWNobyB0aWNrZXQgZGUgbGEgaW50ZXJmYXogZGVsIGFnZW50ZS4nOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnU2hvd3MgYSBsaXN0IG9mIGFsbCB0aGUgaW52b2x2ZWQgYWdlbnRzIG9uIHRoaXMgdGlja2V0LCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ011ZXN0cmEgdW5hIGxpc3RhIGRlIHRvZG9zIGxvcyBhZ2VudGVzIGludm9sdWNyYWRvcyBjb24gZXN0ZSB0aWNrZXQsIGVuIGxhIHBhbnRhbGxhIE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGRlIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIGEgbGlzdCBvZiBhbGwgdGhlIHBvc3NpYmxlIGFnZW50cyAoYWxsIGFnZW50cyB3aXRoIG5vdGUgcGVybWlzc2lvbnMgb24gdGhlIHF1ZXVlL3RpY2tldCkgdG8gZGV0ZXJtaW5lIHdobyBzaG91bGQgYmUgaW5mb3JtZWQgYWJvdXQgdGhpcyBub3RlLCBpbiB0aGUgdGlja2V0IE1hc3RlclNsYXZlIHNjcmVlbiBvZiBhIHpvb21lZCB0aWNrZXQgaW4gdGhlIGFnZW50IGludGVyZmFjZS4nfSA9CiAgICAgICAgJ011ZXN0cmEgdW5hIGxpc3RhIGRlIHRvZG9zIGxvcyBwb3NpYmxlcyBhZ2VudGVzICh0b2RvcyBsb3MgYWdlbnRlcyBjb24gcGVybWlzb3MgIm5vdGEiIGVuIGxhIGZpbGEvdGlja2V0KSBwYXJhIGRldGVybWluYXIgcXVpw6luIGRlYmVyw6Egc2VyIGluZm9ybWFkbyBhY2VyY2EgZGUgZXN0YSBub3RhLCBlbiBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBkZSBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydTaG93cyB0aGUgdGlja2V0IHByaW9yaXR5IG9wdGlvbnMgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNdWVzdHJhIGxhcyBvcGNpb25lcyBkZSBwcmlvcmlkYWQgZGUgdGlja2V0IGVuIGxhIHBhbnRhbGxhIE1hZXN0cm8tRXNjbGF2byBlbiBsYSB2aXN0YSBkZXRhbGxhZGEgZGUgZGljaG8gdGlja2V0IGRlIGxhIGludGVyZmF6IGRlbCBhZ2VudGUuJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Nob3dzIHRoZSB0aXRsZSBmaWVsZHMgaW4gdGhlIHRpY2tldCBNYXN0ZXJTbGF2ZSBzY3JlZW4gb2YgYSB6b29tZWQgdGlja2V0IGluIHRoZSBhZ2VudCBpbnRlcmZhY2UuJ30gPQogICAgICAgICdNdWVzdHJhIGxvcyBjYW1wb3MgdMOtdHVsbyBlbiBsYSBwYW50YWxsYSBNYWVzdHJvLUVzY2xhdm8gZW4gbGEgdmlzdGEgZGV0YWxsYWRhIGRlIGRpY2hvIHRpY2tldCBkZSBsYSBpbnRlcmZheiBkZWwgYWdlbnRlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydUaGlzIG1vZHVsZSBpcyBwcmVwYXJpbmcgbWFzdGVyL3NsYXZlIHB1bGxkb3duIGluIGVtYWlsIGFuZCBwaG9uZSB0aWNrZXQuJ30gPQogICAgICAgICdFc3RlIG3Ds2R1bG8gcHJlcGFyYSBlbCBjb250ZW5pZG8gcGFyYSBlbCBzZWxlY3RvciBkZSBNYWVzdHJvLUVzbGNhdm8gZW4gbGFzIHBhbnRhbGxhcyBkZSB0aWNrZXQgdGVsZWbDs25pY28geSBkZSBjb3JyZW8uJzsKCiAgICAjCiAgICAjIE9CU09MRVRFIEVOVFJJRVMgRk9SIFJFRkVSRU5DRSwgRE8gTk9UIFRSQU5TTEFURSEKICAgICMKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J0RlZmluZSBmcmVlIHRleHQgZmllbGQgZm9yIG1hc3RlciB0aWNrZXQgZmVhdHVyZS4nfSA9ICdEZWZpbmUgY2FtcG9zIEZyZWVGaWVsZCBwYXJhIGxhIGZ1bmNpb25hbGlkYWQgTWFlc3Ryby1EZXRhbGxlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydFbmFibGUgdGhlIGZlYXR1cmUgdG8gdXBkYXRlIHRoZSBNYXN0ZXJTbGF2ZSBzdGF0ZSBvZiBhIHRpY2tldCBpbiB0aGUgYWR2YW5jZWQgTWFzdGVyU2xhdmUgbW9kZS4nfSA9CiAgICAgICAgJ0FjdGl2YSBsYSBmdW5jaW9uYWxpZGFkIHBhcmEgYWN0dWFsaXphciBlbCBlc3RhZG8gTWFlc3Ryby1EZXRhbGxlIGRlIHVuIHRpY2tldCBlbiBlbCBtb2RvIGF2YW56YWRvIHBhcmEgTWFlc3Ryby1EZXRhbGxlLic7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydNYXN0ZXJTbGF2ZSd9ID0gJ01hZXN0cm8tRGV0YWxsZSc7CiAgICAkU2VsZi0+e1RyYW5zbGF0aW9ufS0+eydOZXcgTWFzdGVyIFRpY2tldCd9ID0gJ051ZXZvIFRpY2tldCBNYWVzdHJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1NsYXZlIG9mIFRpY2tldCMnfSA9ICdEZXRhbGxlIGRlIFRpY2tldCMnOwogICAgJFNlbGYtPntUcmFuc2xhdGlvbn0tPnsnVW5zZXQgTWFzdGVyIFRpY2tldCd9ID0gJ1N1cHJpbWlyIFRpY2tldCBNYWVzdHJvJzsKICAgICRTZWxmLT57VHJhbnNsYXRpb259LT57J1Vuc2V0IFNsYXZlIFRpY2tldCd9ID0gJ1N1cHJpbWlyIFRpY2tldCBEZXRhbGxlJzsKCn0KCjE7Cg==
IyAtLQojIEtlcm5lbC9Nb2R1bGVzL0FnZW50TWFzdGVyU2xhdmVQcmVwYXJlVGlja2V0LnBtIC0gdG8gcHJlcGFyZSBtYXN0ZXIvc2xhdmUgcHVsbCBkb3ducwojIENvcHlyaWdodCAoQykgMjAwMS0yMDE0IE9UUlMgQUcsIGh0dHA6Ly9vdHJzLmNvbS8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpNb2R1bGVzOjpBZ2VudE1hc3RlclNsYXZlUHJlcGFyZVRpY2tldDsKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBLZXJuZWw6Okxhbmd1YWdlOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0geyVQYXJhbX07CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBjaGVjayBuZWVkZWQgT2JqZWN0cwogICAgZm9yICgKICAgICAgICBxdyhQYXJhbU9iamVjdCBEQk9iamVjdCBMYXlvdXRPYmplY3QgTG9nT2JqZWN0IENvbmZpZ09iamVjdCBUaWNrZXRPYmplY3QgVXNlck9iamVjdCBVc2VySUQpCiAgICAgICAgKQogICAgewogICAgICAgIGlmICggISRTZWxmLT57JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkZhdGFsRXJyb3IoIE1lc3NhZ2UgPT4gIkdvdCBubyAkXyEiICk7CiAgICAgICAgfQogICAgfQogICAgJFNlbGYtPntVc2VyTGFuZ3VhZ2V9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT57VXNlckxhbmd1YWdlfQogICAgICAgIHx8ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdEZWZhdWx0TGFuZ3VhZ2UnKTsKICAgICRTZWxmLT57TGFuZ3VhZ2VPYmplY3R9CiAgICAgICAgPSBLZXJuZWw6Okxhbmd1YWdlLT5uZXcoCiAgICAgICAgJVBhcmFtLAogICAgICAgIFVzZXJMYW5ndWFnZSA9PiAkU2VsZi0+e1VzZXJMYW5ndWFnZX0KICAgICAgICApOwoKICAgICRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQtPm5ldyglUGFyYW0pOwoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFByZVJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZG8gb25seSB1c2UgdGhpcyBpbiBwaG9uZSBhbmQgZW1haWwgdGlja2V0CiAgICByZXR1cm4gaWYgKCAkU2VsZi0+e0FjdGlvbn0gIX4gL15BZ2VudFRpY2tldChFbWFpbHxQaG9uZSkkLyApOwoKICAgICMgZ2V0IG1hc3Rlci9zbGF2ZSBkeW5hbWljIGZpZWxkCiAgICBteSAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTWFzdGVyU2xhdmU6OkR5bmFtaWNGaWVsZCcpIHx8ICcnOwoKICAgICMgcmV0dXJuIGlmIG5vIGNvbmZpZyBvcHRpb24gaXMgdXNlZAogICAgcmV0dXJuIGlmICEkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQ7CgogICAgIyBnZXQgZHluYW1pYyBmaWVsZCBjb25maWcKICAgIG15ICREeW5hbWljRmllbGQgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0tPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICBOYW1lID0+ICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZCwKICAgICk7CgogICAgIyByZXR1cm4gaWYgbm8gZHluYW1pYyBmaWVsZCBjb25maWcgaXMgcmV0cmVpdmVkCiAgICByZXR1cm4gaWYgISREeW5hbWljRmllbGQ7CgogICAgIyBmaW5kIGFsbCBjdXJyZW50IG9wZW4gbWFzdGVyIHNsYXZlIHRpY2tldHMKICAgIG15IEBUaWNrZXRJRHMgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKCiAgICAgICAgIyByZXN1bHQgKHJlcXVpcmVkKQogICAgICAgIFJlc3VsdCA9PiAnQVJSQVknLAoKICAgICAgICAjIG1hc3RlciBzbGF2ZSBkeW5hbWljIGZpZWxkCiAgICAgICAgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkID0+IHsKICAgICAgICAgICAgRXF1YWxzID0+ICdNYXN0ZXInLAogICAgICAgIH0sCiAgICAgICAgU3RhdGVUeXBlID0+ICdPcGVuJywKCiAgICAgICAgIyByZXN1bHQgbGltaXQKICAgICAgICBMaW1pdCAgICAgID0+IDYwLAogICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgIFBlcm1pc3Npb24gPT4gJ3JvJywKICAgICk7CgogICAgIyBzZXQgZHluYW1pYyBmaWVsZCBhcyBzaG93bgogICAgJFNlbGYtPntDb25maWdPYmplY3R9LT57IlRpY2tldDo6RnJvbnRlbmQ6OiRTZWxmLT57QWN0aW9ufSJ9LT57RHluYW1pY0ZpZWxkfQogICAgICAgIC0+eyRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZH0gPSAxOwoKICAgICMgc2V0IGR5bmFtaWMgZmllbGQgcG9zaWJsZSB2YWx1ZXMKICAgICREeW5hbWljRmllbGQtPntDb25maWd9LT57UG9zc2libGVWYWx1ZXN9ID0gewogICAgICAgIE1hc3RlciA9PiAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdOZXcgTWFzdGVyIFRpY2tldCcpLAogICAgfTsKICAgICREeW5hbWljRmllbGQtPntDb25maWd9LT57RGVmYXVsdFZhbHVlfSA9ICcnOwogICAgJER5bmFtaWNGaWVsZC0+e0NvbmZpZ30tPntQb3NzaWJsZU5vbmV9ID0gMTsKCiAgICBmb3IgbXkgJFRpY2tldElEIChAVGlja2V0SURzKSB7CiAgICAgICAgbXkgJUN1cnJlbnRUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCgKICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgIER5bmFtaWNGaWVsZHMgPT4gMSwKICAgICAgICApOwoKICAgICAgICBuZXh0IGlmICElQ3VycmVudFRpY2tldDsKCiAgICAgICAgIyBzZXQgZHluYW1pYyBmaWVsZCBwb3NpYmxlIHZhbHVlcwogICAgICAgICREeW5hbWljRmllbGQtPntDb25maWd9LT57UG9zc2libGVWYWx1ZXN9ewogICAgICAgICAgICAiU2xhdmVPZjokQ3VycmVudFRpY2tldHtUaWNrZXROdW1iZXJ9IgogICAgICAgICAgICB9CiAgICAgICAgICAgID0KICAgICAgICAgICAgJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnU2xhdmUgb2YgVGlja2V0IycpCiAgICAgICAgICAgIC4gIiRDdXJyZW50VGlja2V0e1RpY2tldE51bWJlcn06ICRDdXJyZW50VGlja2V0e1RpdGxlfSI7CiAgICB9CgogICAgIyBzZXQgbmV3IGR5bmFtaWMgZmllbGQgdmFsdWVzCiAgICBteSAkU3VjY2Vzc1RpY2tldEZpZWxkID0gJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9LT5EeW5hbWljRmllbGRVcGRhdGUoCiAgICAgICAgJXskRHluYW1pY0ZpZWxkfSwKICAgICAgICBSZW9yZGVyID0+IDAsCiAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgIFVzZXJJRCAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICByZXR1cm47Cn0KCjE7Cg==
IyAtLQojIEtlcm5lbC9Nb2R1bGVzL0FnZW50VGlja2V0QnVsay5wbSAtIHRvIGRvIGJ1bGsgYWN0aW9ucyBvbiB0aWNrZXRzCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgJG9yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL09UUlMvb3Rycy9ibG9iL2ZhMjE1OTI5MGZmYTJmMGI5NGIyZDgzMzNhNjg3NWMwMGY5ZDhkMzIvS2VybmVsL01vZHVsZXMvQWdlbnRUaWNrZXRCdWxrLnBtCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0LgojIC0tCgpwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRUaWNrZXRCdWxrOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpTdGF0ZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpQcmlvcml0eTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpMaW5rT2JqZWN0Owp1c2UgS2VybmVsOjpTeXN0ZW06OldlYjo6VXBsb2FkQ2FjaGU7CnVzZSBLZXJuZWw6OlN5c3RlbTo6Q3VzdG9tZXJVc2VyOwp1c2UgS2VybmVsOjpTeXN0ZW06OlRlbXBsYXRlR2VuZXJhdG9yOwojIC0tLQojIE1hc3RlclNsYXZlCiMgLS0tCnVzZSBLZXJuZWw6OlN5c3RlbTo6TWFzdGVyU2xhdmU7CiMgLS0tCgpzdWIgbmV3IHsKICAgIG15ICggJFR5cGUsICVQYXJhbSApID0gQF87CgogICAgIyBhbGxvY2F0ZSBuZXcgaGFzaCBmb3Igb2JqZWN0CiAgICBteSAkU2VsZiA9IHslUGFyYW19OwogICAgYmxlc3MoICRTZWxmLCAkVHlwZSApOwoKICAgICMgY2hlY2sgYWxsIG5lZWRlZCBvYmplY3RzCiAgICBmb3IgbXkgJE5lZWRlZCAocXcoUGFyYW1PYmplY3QgREJPYmplY3QgUXVldWVPYmplY3QgTGF5b3V0T2JqZWN0IENvbmZpZ09iamVjdCBMb2dPYmplY3QpKSB7CiAgICAgICAgaWYgKCAhJFNlbGYtPnskTmVlZGVkfSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJHb3Qgbm8gJE5lZWRlZCEiICk7CiAgICAgICAgfQogICAgfQoKICAgICRTZWxmLT57U3RhdGVPYmplY3R9ICAgICAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OlN0YXRlLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57UHJpb3JpdHlPYmplY3R9ICAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OlByaW9yaXR5LT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57TGlua09iamVjdH0gICAgICAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OkxpbmtPYmplY3QtPm5ldyglUGFyYW0pOwogICAgJFNlbGYtPntDaGVja0l0ZW1PYmplY3R9ICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6Q2hlY2tJdGVtLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57VXBsb2FkQ2FjaGVPYmplY3R9ICAgICAgID0gS2VybmVsOjpTeXN0ZW06OldlYjo6VXBsb2FkQ2FjaGUtPm5ldyglUGFyYW0pOwogICAgJFNlbGYtPntDdXN0b21lclVzZXJPYmplY3R9ICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6Q3VzdG9tZXJVc2VyLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57VGVtcGxhdGVHZW5lcmF0b3JPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OlRlbXBsYXRlR2VuZXJhdG9yLT5uZXcoCiAgICAgICAgJVBhcmFtLAogICAgICAgIEN1c3RvbWVyVXNlck9iamVjdCA9PiAkU2VsZi0+e0N1c3RvbWVyVXNlck9iamVjdH0sCiAgICApOwogICAgJFNlbGYtPntDb25maWd9ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoIlRpY2tldDo6RnJvbnRlbmQ6OiRTZWxmLT57QWN0aW9ufSIpOwoKICAgICMgZ2V0IGZvcm0gaWQgZm9yIG5vdGUKICAgICRTZWxmLT57Tm90ZUZvcm1JRH0gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdOb3RlRm9ybUlEJyApOwoKICAgICMgY3JlYXRlIGZvcm0gaWQgZm9yIG5vdGUKICAgIGlmICggISRTZWxmLT57Tm90ZUZvcm1JRH0gKSB7CiAgICAgICAgJFNlbGYtPntOb3RlRm9ybUlEfSA9ICRTZWxmLT57VXBsb2FkQ2FjaGVPYmplY3R9LT5Gb3JtSURDcmVhdGUoKTsKICAgIH0KCiAgICAjIGdldCBmb3JtIGlkIGZvciBlbWFpbAogICAgJFNlbGYtPntFbWFpbEZvcm1JRH0gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdFbWFpbEZvcm1JRCcgKTsKCiAgICAjIGNyZWF0ZSBmb3JtIGlkIGZvciBlbWFpbAogICAgaWYgKCAhJFNlbGYtPntFbWFpbEZvcm1JRH0gKSB7CiAgICAgICAgJFNlbGYtPntFbWFpbEZvcm1JRH0gPSAkU2VsZi0+e1VwbG9hZENhY2hlT2JqZWN0fS0+Rm9ybUlEQ3JlYXRlKCk7CiAgICB9CiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KICAgICRTZWxmLT57TWFzdGVyU2xhdmVPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06Ok1hc3RlclNsYXZlLT5uZXcoJVBhcmFtKTsKIyAtLS0KCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnQ2FuY2VsQW5kVW5sb2NrVGlja2V0cycgKSB7CgogICAgICAgIG15IEBUaWNrZXRJRHMKICAgICAgICAgICAgPSBncmVwIHskX30KICAgICAgICAgICAgJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldEFycmF5KCBQYXJhbSA9PiAnTG9ja2VkVGlja2V0SUQnICk7CgogICAgICAgICMgY2hhbGxlbmdlIHRva2VuIGNoZWNrIGZvciB3cml0ZSBhY3Rpb24KICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkNoYWxsZW5nZVRva2VuQ2hlY2soKTsKCiAgICAgICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgICAgICBpZiAoICFAVGlja2V0SURzICkgewogICAgICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4gJ0NhblwndCBsb2NrIFRpY2tldHMsIG5vIFRpY2tldElEcyBhcmUgZ2l2ZW4hJywKICAgICAgICAgICAgICAgIENvbW1lbnQgPT4gJ1BsZWFzZSBjb250YWN0IHRoZSBhZG1pbi4nLAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgbXkgJE1lc3NhZ2UgPSAnJzsKCiAgICAgICAgVElDS0VUX0lEOgogICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBUaWNrZXRJRHMpIHsKCiAgICAgICAgICAgIG15ICRBY2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlcm1pc3Npb24oCiAgICAgICAgICAgICAgICBUeXBlICAgICA9PiAnbG9jaycsCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0KICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgZXJyb3Igc2NyZWVuLCBkb24ndCBzaG93IHRpY2tldAogICAgICAgICAgICBpZiAoICEkQWNjZXNzICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKCBXaXRoSGVhZGVyID0+ICd5ZXMnICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgc2V0IHVubG9jawogICAgICAgICAgICBteSAkTG9jayA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja1NldCgKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIExvY2sgICAgID0+ICd1bmxvY2snLAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICEkTG9jayApIHsKICAgICAgICAgICAgICAgICRNZXNzYWdlIC49ICIkVGlja2V0SUQsIjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCAkTWVzc2FnZSBuZSAnJyApIHsKICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fQogICAgICAgICAgICAgICAgLT5FcnJvclNjcmVlbiggTWVzc2FnZSA9PiAiVGlja2V0ICgkTWVzc2FnZSkgaXMgbm90IHVubG9ja2VkISIsICk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SZWRpcmVjdCgKICAgICAgICAgICAgT1AgPT4gJFNlbGYtPntMYXN0U2NyZWVuT3ZlcnZpZXd9LAogICAgICAgICk7CgogICAgfQoKICAgICMgY2hlY2sgaWYgYnVsayBmZWF0dXJlIGlzIGVuYWJsZWQKICAgIGlmICggISRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpCdWxrRmVhdHVyZScpICkgewogICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+ICdCdWxrIGZlYXR1cmUgaXMgbm90IGVuYWJsZWQhJywKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IGludm9sdmVkIHRpY2tldHMsIGZpbHRlcmluZyBlbXB0eSBUaWNrZXRJRHMKICAgIG15IEBUaWNrZXRJRHMKICAgICAgICA9IGdyZXAgeyRffQogICAgICAgICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRBcnJheSggUGFyYW0gPT4gJ1RpY2tldElEJyApOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICFAVGlja2V0SURzICkgewogICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKAogICAgICAgICAgICBNZXNzYWdlID0+ICdObyBUaWNrZXRJRCBpcyBnaXZlbiEnLAogICAgICAgICAgICBDb21tZW50ID0+ICdZb3UgbmVlZCBhdCBsZWFzdCBvbmUgc2VsZWN0ZWQgdGlja2V0IScsCiAgICAgICAgKTsKICAgIH0KICAgIG15ICRPdXRwdXQgLj0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5IZWFkZXIoCiAgICAgICAgVHlwZSA9PiAnU21hbGwnLAogICAgKTsKCiAgICAjIGRlY2xhcmUgdGhlIHZhcmlhYmxlcyBmb3IgYWxsIHRoZSBwYXJhbWV0ZXJzCiAgICBteSAlRXJyb3I7CiAgICBteSAlVGltZTsKICAgIG15ICVHZXRQYXJhbTsKCiAgICAjIGdldCBhbGwgcGFyYW1ldGVycyBhbmQgY2hlY2sgZm9yIGVycm9ycwogICAgaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0RvJyApIHsKCiAgICAgICAgIyBjaGFsbGVuZ2UgdG9rZW4gY2hlY2sgZm9yIHdyaXRlIGFjdGlvbgogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Q2hhbGxlbmdlVG9rZW5DaGVjaygpOwoKICAgICAgICAjIGdldCBhbGwgcGFyYW1ldGVycwogICAgICAgIGZvciBteSAkS2V5ICgKICAgICAgICAgICAgcXcoT3duZXJJRCBPd25lciBSZXNwb25zaWJsZUlEIFJlc3BvbnNpYmxlIFByaW9yaXR5SUQgUHJpb3JpdHkgUXVldWVJRCBRdWV1ZSBTdWJqZWN0CiAgICAgICAgICAgIEJvZHkgQXJ0aWNsZVR5cGVJRCBBcnRpY2xlVHlwZSBUeXBlSUQgU3RhdGVJRCBTdGF0ZSBNZXJnZVRvU2VsZWN0aW9uIE1lcmdlVG8gTGlua1RvZ2V0aGVyCiAgICAgICAgICAgIEVtYWlsU3ViamVjdCBFbWFpbEJvZHkgRW1haWxUaW1lVW5pdHMKICAgICAgICAgICAgTGlua1RvZ2V0aGVyUGFyZW50IFVubG9jayBNZXJnZVRvQ2hlY2tlZCBNZXJnZVRvT2xkZXN0Q2hlY2tlZCkKICAgICAgICAgICAgKQogICAgICAgIHsKICAgICAgICAgICAgJEdldFBhcmFteyRLZXl9ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAkS2V5ICkgfHwgJyc7CiAgICAgICAgfQoKICAgICAgICBmb3IgbXkgJEtleSAocXcoVGltZVVuaXRzKSkgewogICAgICAgICAgICAkR2V0UGFyYW17JEtleX0gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRLZXkgKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IHRpbWUgc3RhbXAgYmFzZWQgb24gdXNlciB0aW1lIHpvbmUKICAgICAgICAlVGltZSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+VHJhbnNmcm9tRGF0ZVNlbGVjdGlvbigKICAgICAgICAgICAgWWVhciAgID0+ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ1llYXInICksCiAgICAgICAgICAgIE1vbnRoICA9PiAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdNb250aCcgKSwKICAgICAgICAgICAgRGF5ICAgID0+ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0RheScgKSwKICAgICAgICAgICAgSG91ciAgID0+ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0hvdXInICksCiAgICAgICAgICAgIE1pbnV0ZSA9PiAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICdNaW51dGUnICksCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkR2V0UGFyYW17J01lcmdlVG9TZWxlY3Rpb24nfSBlcSAnT3B0aW9uTWVyZ2VUbycgKSB7CiAgICAgICAgICAgICRHZXRQYXJhbXsnTWVyZ2VUb0NoZWNrZWQnfSA9ICdjaGVja2VkJzsKICAgICAgICB9CiAgICAgICAgZWxzaWYgKCAkR2V0UGFyYW17J01lcmdlVG9TZWxlY3Rpb24nfSBlcSAnT3B0aW9uTWVyZ2VUb09sZGVzdCcgKSB7CiAgICAgICAgICAgICRHZXRQYXJhbXsnTWVyZ2VUb09sZGVzdENoZWNrZWQnfSA9ICdjaGVja2VkJzsKICAgICAgICB9CgogICAgICAgICMgY2hlY2sgc29tZSBzdHVmZgogICAgICAgIGlmICgKICAgICAgICAgICAgJEdldFBhcmFte1N1YmplY3R9CiAgICAgICAgICAgICYmCiAgICAgICAgICAgICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpBY2NvdW50VGltZScpCiAgICAgICAgICAgICYmICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpOZWVkQWNjb3VudGVkVGltZScpCiAgICAgICAgICAgICYmICRHZXRQYXJhbXtUaW1lVW5pdHN9IGVxICcnCiAgICAgICAgICAgICkKICAgICAgICB7CiAgICAgICAgICAgICRFcnJvcnsnVGltZVVuaXRzSW52YWxpZCd9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICB9CgogICAgICAgIGlmICgKICAgICAgICAgICAgJEdldFBhcmFte0VtYWlsU3ViamVjdH0KICAgICAgICAgICAgJiYKICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6OkFjY291bnRUaW1lJykKICAgICAgICAgICAgJiYgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6Ok5lZWRBY2NvdW50ZWRUaW1lJykKICAgICAgICAgICAgJiYgJEdldFBhcmFte0VtYWlsVGltZVVuaXRzfSBlcSAnJwogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICAkRXJyb3J7J0VtYWlsVGltZVVuaXRzSW52YWxpZCd9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICB9CgogICAgICAgICMgQm9keSBhbmQgU3ViamVjdCBtdXN0IGJvdGggYmUgZmlsbGVkIGluIG9yIGJvdGggYmUgZW1wdHkKICAgICAgICBpZiAoICRHZXRQYXJhbXtTdWJqZWN0fSBlcSAnJyAmJiAkR2V0UGFyYW17Qm9keX0gbmUgJycgKSB7CiAgICAgICAgICAgICRFcnJvcnsnU3ViamVjdEludmFsaWQnfSA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgfQogICAgICAgIGlmICggJEdldFBhcmFte1N1YmplY3R9IG5lICcnICYmICRHZXRQYXJhbXtCb2R5fSBlcSAnJyApIHsKICAgICAgICAgICAgJEVycm9yeydCb2R5SW52YWxpZCd9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICB9CgogICAgICAgICMgRW1haWwgQm9keSBhbmQgRW1haWwgU3ViamVjdCBtdXN0IGJvdGggYmUgZmlsbGVkIGluIG9yIGJvdGggYmUgZW1wdHkKICAgICAgICBpZiAoICRHZXRQYXJhbXtFbWFpbFN1YmplY3R9IGVxICcnICYmICRHZXRQYXJhbXtFbWFpbEJvZHl9IG5lICcnICkgewogICAgICAgICAgICAkRXJyb3J7J0VtYWlsU3ViamVjdEludmFsaWQnfSA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgfQogICAgICAgIGlmICggJEdldFBhcmFte0VtYWlsU3ViamVjdH0gbmUgJycgJiYgJEdldFBhcmFte0VtYWlsQm9keX0gZXEgJycgKSB7CiAgICAgICAgICAgICRFcnJvcnsnRW1haWxCb2R5SW52YWxpZCd9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICB9CgogICAgICAgICMgY2hlY2sgaWYgcGVuZGluZyBkYXRlIG11c3QgYmUgdmFsaWRhdGVkCiAgICAgICAgaWYgKCAkR2V0UGFyYW17U3RhdGVJRH0gfHwgJEdldFBhcmFte1N0YXRlfSApIHsKICAgICAgICAgICAgbXkgJVN0YXRlRGF0YTsKICAgICAgICAgICAgaWYgKCAkR2V0UGFyYW17U3RhdGVJRH0gKSB7CiAgICAgICAgICAgICAgICAlU3RhdGVEYXRhID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT57U3RhdGVPYmplY3R9LT5TdGF0ZUdldCgKICAgICAgICAgICAgICAgICAgICBJRCA9PiAkR2V0UGFyYW17U3RhdGVJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJVN0YXRlRGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+e1N0YXRlT2JqZWN0fS0+U3RhdGVHZXQoCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAkR2V0UGFyYW17U3RhdGV9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoICRTdGF0ZURhdGF7VHlwZU5hbWV9ID1+IC9ecGVuZGluZy9pICkgewogICAgICAgICAgICAgICAgaWYgKCAhJFNlbGYtPntUaW1lT2JqZWN0fS0+RGF0ZTJTeXN0ZW1UaW1lKCAlVGltZSwgU2Vjb25kID0+IDAgKSApIHsKICAgICAgICAgICAgICAgICAgICAkRXJyb3J7J0RhdGVJbnZhbGlkJ30gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICRTZWxmLT57VGltZU9iamVjdH0tPkRhdGUyU3lzdGVtVGltZSggJVRpbWUsIFNlY29uZCA9PiAwICkKICAgICAgICAgICAgICAgICAgICA8ICRTZWxmLT57VGltZU9iamVjdH0tPlN5c3RlbVRpbWUoKQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkRXJyb3J7J0RhdGVJbnZhbGlkJ30gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICggJEdldFBhcmFteydNZXJnZVRvU2VsZWN0aW9uJ30gZXEgJ09wdGlvbk1lcmdlVG8nICYmICRHZXRQYXJhbXsnTWVyZ2VUbyd9ICkgewogICAgICAgICAgICAkU2VsZi0+e0NoZWNrSXRlbU9iamVjdH0tPlN0cmluZ0NsZWFuKAogICAgICAgICAgICAgICAgU3RyaW5nUmVmID0+IFwkR2V0UGFyYW17J01lcmdlVG8nfSwKICAgICAgICAgICAgICAgIFRyaW1MZWZ0ICA9PiAxLAogICAgICAgICAgICAgICAgVHJpbVJpZ2h0ID0+IDEsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15ICRUaWNrZXRJRCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0Q2hlY2tOdW1iZXIoCiAgICAgICAgICAgICAgICBUbiA9PiAkR2V0UGFyYW17J01lcmdlVG8nfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCAhJFRpY2tldElEICkgewogICAgICAgICAgICAgICAgJEVycm9yeydNZXJnZVRvSW52YWxpZCd9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoICRHZXRQYXJhbXsnTGlua1RvZ2V0aGVyUGFyZW50J30gKSB7CiAgICAgICAgICAgICRTZWxmLT57Q2hlY2tJdGVtT2JqZWN0fS0+U3RyaW5nQ2xlYW4oCiAgICAgICAgICAgICAgICBTdHJpbmdSZWYgPT4gXCRHZXRQYXJhbXsnTGlua1RvZ2V0aGVyUGFyZW50J30sCiAgICAgICAgICAgICAgICBUcmltTGVmdCAgPT4gMSwKICAgICAgICAgICAgICAgIFRyaW1SaWdodCA9PiAxLAogICAgICAgICAgICApOwogICAgICAgICAgICBteSAkVGlja2V0SUQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldENoZWNrTnVtYmVyKAogICAgICAgICAgICAgICAgVG4gPT4gJEdldFBhcmFteydMaW5rVG9nZXRoZXJQYXJlbnQnfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCAhJFRpY2tldElEICkgewogICAgICAgICAgICAgICAgJEVycm9yeydMaW5rVG9nZXRoZXJQYXJlbnRJbnZhbGlkJ30gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgcHJvY2VzcyB0aWNrZXRzCiAgICBteSBAVGlja2V0SURTZWxlY3RlZDsKICAgIG15ICRMb2NrZWRUaWNrZXRzID0gJyc7CiAgICBteSAkQWN0aW9uRmxhZyAgICA9IDA7CiAgICBteSAkQ291bnRlciAgICAgICA9IDE7CiAgICAkUGFyYW17VGlja2V0c1dlcmVMb2NrZWR9ID0gMDsKCiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KICAgICMgZ2V0IG1hc3Rlci9zbGF2ZSBkeW5hbWljIGZpZWxkCiAgICBteSAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgICAgICAgICAgICAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdNYXN0ZXJTbGF2ZTo6RHluYW1pY0ZpZWxkJykgfHwgJyc7CiAgICBteSAkTWFzdGVyU2xhdmVBZHZhbmNlZEVuYWJsZWQgICAgICAgICAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdNYXN0ZXJTbGF2ZTo6QWR2YW5jZWRFbmFibGVkJykgfHwgMDsKICAgIG15ICRNYXN0ZXJTbGF2ZUZvbGxvd1VwZGF0ZWRNYXN0ZXIgICAgICAgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpGb2xsb3dVcGRhdGVkTWFzdGVyJykgfHwgMDsKICAgIG15ICRNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVW5zZXQgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpLZWVwUGFyZW50Q2hpbGRBZnRlclVuc2V0JykgfHwgMDsKICAgIG15ICRNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVXBkYXRlID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpLZWVwUGFyZW50Q2hpbGRBZnRlclVwZGF0ZScpIHx8IDA7CiAgICAkR2V0UGFyYW17JE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkfSAgICAgICA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkICkgfHwgJyc7CiMgLS0tCgogICAgVElDS0VUX0lEOgogICAgZm9yIG15ICRUaWNrZXRJRCAoQFRpY2tldElEcykgewogICAgICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCgKICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgIER5bmFtaWNGaWVsZHMgPT4gMCwKICAgICAgICApOwoKICAgICAgICAjIGNoZWNrIHBlcm1pc3Npb25zCiAgICAgICAgbXkgJEFjY2VzcyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0UGVybWlzc2lvbigKICAgICAgICAgICAgVHlwZSAgICAgPT4gJ3J3JywKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0KICAgICAgICApOwogICAgICAgIGlmICggISRBY2Nlc3MgKSB7CgogICAgICAgICAgICAjIGVycm9yIHNjcmVlbiwgZG9uJ3Qgc2hvdyB0aWNrZXQKICAgICAgICAgICAgJE91dHB1dCAuPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPk5vdGlmeSgKICAgICAgICAgICAgICAgIERhdGEgPT4gJFRpY2tldHtUaWNrZXROdW1iZXJ9CiAgICAgICAgICAgICAgICAgICAgLiAnOiAkVGV4dHsiWW91IGRvblwndCBoYXZlIHdyaXRlIGFjY2VzcyB0byB0aGlzIHRpY2tldC4ifScsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG5leHQgVElDS0VUX0lEOwogICAgICAgIH0KCiAgICAgICAgIyBjaGVjayBpZiBpdCdzIGFscmVhZHkgbG9ja2VkIGJ5IHNvbWVib2R5IGVsc2UKICAgICAgICBpZiAoICEkU2VsZi0+e0NvbmZpZ30tPntSZXF1aXJlZExvY2t9ICkgewogICAgICAgICAgICAkT3V0cHV0IC49ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm90aWZ5KAogICAgICAgICAgICAgICAgRGF0YSA9PiAkVGlja2V0e1RpY2tldE51bWJlcn0gLiAnOiAkVGV4dHsiVGlja2V0IHNlbGVjdGVkLiJ9JywKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIGlmICggJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRMb2NrR2V0KCBUaWNrZXRJRCA9PiAkVGlja2V0SUQgKSApIHsKICAgICAgICAgICAgICAgIG15ICRBY2Nlc3NPayA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+T3duZXJDaGVjaygKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgT3duZXJJRCAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIGlmICggISRBY2Nlc3NPayApIHsKICAgICAgICAgICAgICAgICAgICAkT3V0cHV0IC49ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm90aWZ5KAogICAgICAgICAgICAgICAgICAgICAgICBEYXRhID0+ICRUaWNrZXR7VGlja2V0TnVtYmVyfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAnOiAkVGV4dHsiVGlja2V0IGlzIGxvY2tlZCBieSBhbm90aGVyIGFnZW50LiJ9JywKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIG5leHQgVElDS0VUX0lEOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgJFBhcmFte1RpY2tldHNXZXJlTG9ja2VkfSA9IDE7CiAgICAgICAgICAgICAgICAkTG9ja2VkVGlja2V0cyAuPSAiTG9ja2VkVGlja2V0SUQ9IiAuICRUaWNrZXRJRCAuICc7JzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBzZXQgbG9jawogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldExvY2tTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBMb2NrICAgICA9PiAnbG9jaycsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHNldCB1c2VyIGlkCiAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0T3duZXJTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgIE5ld1VzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRPdXRwdXQgLj0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Ob3RpZnkoCiAgICAgICAgICAgICAgICBEYXRhID0+ICRUaWNrZXR7VGlja2V0TnVtYmVyfSAuICc6ICRUZXh0eyJUaWNrZXQgbG9ja2VkLiJ9JywKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgcmVtZW1iZXIgc2VsZWN0ZWQgdGlja2V0IGlkcwogICAgICAgIHB1c2ggQFRpY2tldElEU2VsZWN0ZWQsICRUaWNrZXRJRDsKCiAgICAgICAgIyBkbyBzb21lIGFjdGlvbnMgb24gdGlja2V0cwogICAgICAgIGlmICggKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0RvJyApICYmICggISVFcnJvciApICkgewoKICAgICAgICAgICAgIyBjaGFsbGVuZ2UgdG9rZW4gY2hlY2sgZm9yIHdyaXRlIGFjdGlvbgogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkNoYWxsZW5nZVRva2VuQ2hlY2soKTsKCiAgICAgICAgICAgICMgc2V0IG93bmVyCiAgICAgICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57T3duZXJ9ICYmICggJEdldFBhcmFteydPd25lcklEJ30gfHwgJEdldFBhcmFteydPd25lcid9ICkgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE93bmVyU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICBOZXdVc2VyICAgPT4gJEdldFBhcmFteydPd25lcid9LAogICAgICAgICAgICAgICAgICAgIE5ld1VzZXJJRCA9PiAkR2V0UGFyYW17J093bmVySUQnfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgc2V0IHJlc3BvbnNpYmxlCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlJlc3BvbnNpYmxlJykKICAgICAgICAgICAgICAgICYmICRTZWxmLT57Q29uZmlnfS0+e1Jlc3BvbnNpYmxlfQogICAgICAgICAgICAgICAgJiYgKCAkR2V0UGFyYW17J1Jlc3BvbnNpYmxlSUQnfSB8fCAkR2V0UGFyYW17J1Jlc3BvbnNpYmxlJ30gKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFJlc3BvbnNpYmxlU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICBOZXdVc2VyICAgPT4gJEdldFBhcmFteydSZXNwb25zaWJsZSd9LAogICAgICAgICAgICAgICAgICAgIE5ld1VzZXJJRCA9PiAkR2V0UGFyYW17J1Jlc3BvbnNpYmxlSUQnfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgc2V0IHByaW9yaXR5CiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICRTZWxmLT57Q29uZmlnfS0+e1ByaW9yaXR5fQogICAgICAgICAgICAgICAgJiYgKCAkR2V0UGFyYW17J1ByaW9yaXR5SUQnfSB8fCAkR2V0UGFyYW17J1ByaW9yaXR5J30gKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFByaW9yaXR5U2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgIFByaW9yaXR5ICAgPT4gJEdldFBhcmFteydQcmlvcml0eSd9LAogICAgICAgICAgICAgICAgICAgIFByaW9yaXR5SUQgPT4gJEdldFBhcmFteydQcmlvcml0eUlEJ30sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHNldCB0eXBlCiAgICAgICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6VHlwZScpICYmICRTZWxmLT57Q29uZmlnfS0+e1RpY2tldFR5cGV9ICkgewogICAgICAgICAgICAgICAgaWYgKCAkR2V0UGFyYW17J1R5cGVJRCd9ICkgewogICAgICAgICAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0VHlwZVNldCgKICAgICAgICAgICAgICAgICAgICAgICAgVHlwZUlEICAgPT4gJEdldFBhcmFteydUeXBlSUQnfSwKICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBzZXQgcXVldWUKICAgICAgICAgICAgaWYgKCAkR2V0UGFyYW17J1F1ZXVlSUQnfSB8fCAkR2V0UGFyYW17J1F1ZXVlJ30gKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFF1ZXVlU2V0KAogICAgICAgICAgICAgICAgICAgIFF1ZXVlSUQgID0+ICRHZXRQYXJhbXsnUXVldWVJRCd9LAogICAgICAgICAgICAgICAgICAgIFF1ZXVlICAgID0+ICRHZXRQYXJhbXsnUXVldWUnfSwKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBzZW5kIGVtYWlsCiAgICAgICAgICAgIG15ICRFbWFpbEFydGljbGVJRDsKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgJEdldFBhcmFteydFbWFpbFN1YmplY3QnfQogICAgICAgICAgICAgICAgJiYgJEdldFBhcmFteydFbWFpbEJvZHknfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBteSAkTWltZVR5cGUgPSAndGV4dC9wbGFpbic7CiAgICAgICAgICAgICAgICBpZiAoICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e0Jyb3dzZXJSaWNoVGV4dH0gKSB7CiAgICAgICAgICAgICAgICAgICAgJE1pbWVUeXBlID0gJ3RleHQvaHRtbCc7CgogICAgICAgICAgICAgICAgICAgICMgdmVyaWZ5IGh0bWwgZG9jdW1lbnQKICAgICAgICAgICAgICAgICAgICAkR2V0UGFyYW17J0VtYWlsQm9keSd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SaWNoVGV4dERvY3VtZW50Q29tcGxldGUoCiAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyA9PiAkR2V0UGFyYW17J0VtYWlsQm9keSd9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBnZXQgY3VzdG9tZXIgZW1haWwgYWRkcmVzcwogICAgICAgICAgICAgICAgbXkgJEN1c3RvbWVyOwogICAgICAgICAgICAgICAgaWYgKCAkVGlja2V0e0N1c3RvbWVyVXNlcklEfSApIHsKICAgICAgICAgICAgICAgICAgICBteSAlQ3VzdG9tZXIgPSAkU2VsZi0+e0N1c3RvbWVyVXNlck9iamVjdH0tPkN1c3RvbWVyVXNlckRhdGFHZXQoCiAgICAgICAgICAgICAgICAgICAgICAgIFVzZXIgPT4gJFRpY2tldHtDdXN0b21lclVzZXJJRH0KICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIGlmICggJEN1c3RvbWVye1VzZXJFbWFpbH0gKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRDdXN0b21lciA9ICRDdXN0b21lcntVc2VyRW1haWx9OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAjIGNoZWNrIGlmIHdlIGhhdmUgYW4gYWRkcmVzcywgb3RoZXJ3aXNlIGRlZHVjdCBpdCBmcm9tIHRoZSBhcnRpY2xlcwogICAgICAgICAgICAgICAgaWYgKCAhJEN1c3RvbWVyICkgewogICAgICAgICAgICAgICAgICAgIG15ICVEYXRhID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5BcnRpY2xlTGFzdEN1c3RvbWVyQXJ0aWNsZSgKICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZHMgPT4gMCwKICAgICAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICAgICAjIHVzZSBSZXBseVRvIGlmIHNldCwgb3RoZXJ3aXNlIHVzZSBGcm9tCiAgICAgICAgICAgICAgICAgICAgJEN1c3RvbWVyID0gJERhdGF7UmVwbHlUb30gPyAkRGF0YXtSZXBseVRvfSA6ICREYXRhe0Zyb219OwoKICAgICAgICAgICAgICAgICAgICAjIGNoZWNrIGFydGljbGUgdHlwZSBhbmQgcmVwbGFjZSBUbyB3aXRoIEZyb20gKGluIGNhc2UpCiAgICAgICAgICAgICAgICAgICAgaWYgKCAkRGF0YXtTZW5kZXJUeXBlfSAhfiAvY3VzdG9tZXIvICkgewoKICAgICAgICAgICAgICAgICAgICAgICAgIyByZXBsYWNlIEZyb20vVG8sIFRvL0Zyb20gYmVjYXVzZSBzZW5kZXIgaXMgYWdlbnQKICAgICAgICAgICAgICAgICAgICAgICAgJEN1c3RvbWVyID0gJERhdGF7VG99OwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBnZW5lcmF0ZSBzZW5kZXIgbmFtZQogICAgICAgICAgICAgICAgbXkgJEZyb20gPSAkU2VsZi0+e1RlbXBsYXRlR2VuZXJhdG9yT2JqZWN0fS0+U2VuZGVyKAogICAgICAgICAgICAgICAgICAgIFF1ZXVlSUQgPT4gJFRpY2tldHtRdWV1ZUlEfSwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyBnZW5lcmF0ZSBzdWJqZWN0CiAgICAgICAgICAgICAgICBteSAkVGlja2V0TnVtYmVyCiAgICAgICAgICAgICAgICAgICAgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE51bWJlckxvb2t1cCggVGlja2V0SUQgPT4gJFRpY2tldElEICk7CgogICAgICAgICAgICAgICAgbXkgJEVtYWlsU3ViamVjdCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U3ViamVjdEJ1aWxkKAogICAgICAgICAgICAgICAgICAgIFRpY2tldE51bWJlciA9PiAkVGlja2V0TnVtYmVyLAogICAgICAgICAgICAgICAgICAgIFN1YmplY3QgPT4gJEdldFBhcmFte0VtYWlsU3ViamVjdH0gfHwgJycsCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgICRFbWFpbEFydGljbGVJRCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZVNlbmQoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgIEFydGljbGVUeXBlICAgID0+ICdlbWFpbC1leHRlcm5hbCcsCiAgICAgICAgICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgPT4gJ2FnZW50JywKICAgICAgICAgICAgICAgICAgICBGcm9tICAgICAgICAgICA9PiAkRnJvbSwKICAgICAgICAgICAgICAgICAgICBUbyAgICAgICAgICAgICA9PiAkQ3VzdG9tZXIsCiAgICAgICAgICAgICAgICAgICAgU3ViamVjdCAgICAgICAgPT4gJEVtYWlsU3ViamVjdCwKICAgICAgICAgICAgICAgICAgICBCb2R5ICAgICAgICAgICA9PiAkR2V0UGFyYW17RW1haWxCb2R5fSwKICAgICAgICAgICAgICAgICAgICBNaW1lVHlwZSAgICAgICA9PiAkTWltZVR5cGUsCiAgICAgICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgPT4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT57VXNlckNoYXJzZXR9LAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICBIaXN0b3J5VHlwZSAgICA9PiAnU2VuZEFuc3dlcicsCiAgICAgICAgICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgPT4gJyUlJyAuICRDdXN0b21lciwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgYWRkIG5vdGUKICAgICAgICAgICAgbXkgJEFydGljbGVJRDsKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgJEdldFBhcmFteydTdWJqZWN0J30KICAgICAgICAgICAgICAgICYmICRHZXRQYXJhbXsnQm9keSd9CiAgICAgICAgICAgICAgICAmJiAoICRHZXRQYXJhbXsnQXJ0aWNsZVR5cGVJRCd9IHx8ICRHZXRQYXJhbXsnQXJ0aWNsZVR5cGUnfSApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG15ICRNaW1lVHlwZSA9ICd0ZXh0L3BsYWluJzsKICAgICAgICAgICAgICAgIGlmICggJFNlbGYtPntMYXlvdXRPYmplY3R9LT57QnJvd3NlclJpY2hUZXh0fSApIHsKICAgICAgICAgICAgICAgICAgICAkTWltZVR5cGUgPSAndGV4dC9odG1sJzsKCiAgICAgICAgICAgICAgICAgICAgIyB2ZXJpZnkgaHRtbCBkb2N1bWVudAogICAgICAgICAgICAgICAgICAgICRHZXRQYXJhbXsnQm9keSd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SaWNoVGV4dERvY3VtZW50Q29tcGxldGUoCiAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyA9PiAkR2V0UGFyYW17J0JvZHknfSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJEFydGljbGVJRCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUNyZWF0ZSgKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgICAgICBBcnRpY2xlVHlwZUlEID0+ICRHZXRQYXJhbXsnQXJ0aWNsZVR5cGVJRCd9LAogICAgICAgICAgICAgICAgICAgIEFydGljbGVUeXBlICAgPT4gJEdldFBhcmFteydBcnRpY2xlVHlwZSd9LAogICAgICAgICAgICAgICAgICAgIFNlbmRlclR5cGUgICAgPT4gJ2FnZW50JywKICAgICAgICAgICAgICAgICAgICBGcm9tICAgICA9PiAiJFNlbGYtPntVc2VyRmlyc3RuYW1lfSAkU2VsZi0+e1VzZXJMYXN0bmFtZX0gPCRTZWxmLT57VXNlckVtYWlsfT4iLAogICAgICAgICAgICAgICAgICAgIFN1YmplY3QgID0+ICRHZXRQYXJhbXsnU3ViamVjdCd9LAogICAgICAgICAgICAgICAgICAgIEJvZHkgICAgID0+ICRHZXRQYXJhbXsnQm9keSd9LAogICAgICAgICAgICAgICAgICAgIE1pbWVUeXBlID0+ICRNaW1lVHlwZSwKICAgICAgICAgICAgICAgICAgICBDaGFyc2V0ICA9PiAkU2VsZi0+e0xheW91dE9iamVjdH0tPntVc2VyQ2hhcnNldH0sCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgID0+ICdBZGROb3RlJywKICAgICAgICAgICAgICAgICAgICBIaXN0b3J5Q29tbWVudCA9PiAnJSVCdWxrJywKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgc2V0IHN0YXRlCiAgICAgICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57U3RhdGV9ICYmICggJEdldFBhcmFteydTdGF0ZUlEJ30gfHwgJEdldFBhcmFteydTdGF0ZSd9ICkgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFN0YXRlU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgICAgICBTdGF0ZUlEICA9PiAkR2V0UGFyYW17J1N0YXRlSUQnfSwKICAgICAgICAgICAgICAgICAgICBTdGF0ZSAgICA9PiAkR2V0UGFyYW17J1N0YXRlJ30sCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCgKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRzID0+IDAsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgbXkgJVN0YXRlRGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+e1N0YXRlT2JqZWN0fS0+U3RhdGVHZXQoCiAgICAgICAgICAgICAgICAgICAgSUQgPT4gJFRpY2tldHtTdGF0ZUlEfSwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyBzaG91bGQgaSBzZXQgdGhlIHBlbmRpbmcgZGF0ZT8KICAgICAgICAgICAgICAgIGlmICggJFRpY2tldHtTdGF0ZVR5cGV9ID1+IC9ecGVuZGluZy9pICkgewoKICAgICAgICAgICAgICAgICAgICAjIHNldCBwZW5kaW5nIHRpbWUKICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFBlbmRpbmdUaW1lU2V0KAogICAgICAgICAgICAgICAgICAgICAgICAlVGltZSwKICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAjIHNob3VsZCBJIHNldCBhbiB1bmxvY2s/CiAgICAgICAgICAgICAgICBpZiAoICRUaWNrZXR7U3RhdGVUeXBlfSA9fiAvXmNsb3NlL2kgKSB7CiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRMb2NrU2V0KAogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgICAgIExvY2sgICAgID0+ICd1bmxvY2snLAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyB0aW1lIHVuaXRzIGZvciBub3RlCiAgICAgICAgICAgIGlmICggJEdldFBhcmFteydUaW1lVW5pdHMnfSAmJiAkQXJ0aWNsZUlEICkgewogICAgICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6QnVsa0FjY291bnRlZFRpbWUnKSApIHsKICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjY291bnRUaW1lKAogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBBcnRpY2xlSUQgPT4gJEFydGljbGVJRCwKICAgICAgICAgICAgICAgICAgICAgICAgVGltZVVuaXQgID0+ICRHZXRQYXJhbXsnVGltZVVuaXRzJ30sCiAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmICgKICAgICAgICAgICAgICAgICAgICAhJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6OkJ1bGtBY2NvdW50ZWRUaW1lJykKICAgICAgICAgICAgICAgICAgICAmJiAkQ291bnRlciA9PSAxCiAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0QWNjb3VudFRpbWUoCiAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgICAgIEFydGljbGVJRCA9PiAkQXJ0aWNsZUlELAogICAgICAgICAgICAgICAgICAgICAgICBUaW1lVW5pdCAgPT4gJEdldFBhcmFteydUaW1lVW5pdHMnfSwKICAgICAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHRpbWUgdW5pdHMgZm9yIGVtYWlsCiAgICAgICAgICAgIGlmICggJEdldFBhcmFteyAnRW1haWxUaW1lVW5pdHMnICYmICRFbWFpbEFydGljbGVJRCB9ICkgewogICAgICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6QnVsa0FjY291bnRlZFRpbWUnKSApIHsKICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjY291bnRUaW1lKAogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBBcnRpY2xlSUQgPT4gJEVtYWlsQXJ0aWNsZUlELAogICAgICAgICAgICAgICAgICAgICAgICBUaW1lVW5pdCAgPT4gJEdldFBhcmFteydFbWFpbFRpbWVVbml0cyd9LAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNpZiAoCiAgICAgICAgICAgICAgICAgICAgISRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpCdWxrQWNjb3VudGVkVGltZScpCiAgICAgICAgICAgICAgICAgICAgJiYgJENvdW50ZXIgPT0gMQogICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjY291bnRUaW1lKAogICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBBcnRpY2xlSUQgPT4gJEVtYWlsQXJ0aWNsZUlELAogICAgICAgICAgICAgICAgICAgICAgICBUaW1lVW5pdCAgPT4gJEdldFBhcmFteydFbWFpbFRpbWVVbml0cyd9LAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgbWVyZ2UgdG8KICAgICAgICAgICAgaWYgKCAkR2V0UGFyYW17J01lcmdlVG9TZWxlY3Rpb24nfSBlcSAnT3B0aW9uTWVyZ2VUbycgJiYgJEdldFBhcmFteydNZXJnZVRvJ30gKSB7CiAgICAgICAgICAgICAgICBteSAkTWFpblRpY2tldElEID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRJRExvb2t1cCgKICAgICAgICAgICAgICAgICAgICBUaWNrZXROdW1iZXIgPT4gJEdldFBhcmFteydNZXJnZVRvJ30sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgaWYgKCAkTWFpblRpY2tldElEIG5lICRUaWNrZXRJRCApIHsKICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE1lcmdlKAogICAgICAgICAgICAgICAgICAgICAgICBNYWluVGlja2V0SUQgID0+ICRNYWluVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgICAgIE1lcmdlVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAjIG1lcmdlIHRvIG9sZGVzdAogICAgICAgICAgICBpZiAoICRHZXRQYXJhbXsnTWVyZ2VUb1NlbGVjdGlvbid9IGVxICdPcHRpb25NZXJnZVRvT2xkZXN0JyApIHsKCiAgICAgICAgICAgICAgICAjIGZpbmQgb2xkZXN0CiAgICAgICAgICAgICAgICBteSAkVGlja2V0SURPbGRlc3Q7CiAgICAgICAgICAgICAgICBteSAkVGlja2V0SURPbGRlc3RJRDsKICAgICAgICAgICAgICAgIGZvciBteSAkVGlja2V0SURDaGVjayAoQFRpY2tldElEcykgewogICAgICAgICAgICAgICAgICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCgKICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkVGlja2V0SURDaGVjaywKICAgICAgICAgICAgICAgICAgICAgICAgRHluYW1pY0ZpZWxkcyA9PiAwLAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCAkVGlja2V0SURPbGRlc3QgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRUaWNrZXRJRE9sZGVzdCAgID0gJFRpY2tldHtDcmVhdGVUaW1lVW5peH07CiAgICAgICAgICAgICAgICAgICAgICAgICRUaWNrZXRJRE9sZGVzdElEID0gJFRpY2tldElEQ2hlY2s7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmICggJFRpY2tldElET2xkZXN0ID4gJFRpY2tldHtDcmVhdGVUaW1lVW5peH0gKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRUaWNrZXRJRE9sZGVzdCAgID0gJFRpY2tldHtDcmVhdGVUaW1lVW5peH07CiAgICAgICAgICAgICAgICAgICAgICAgICRUaWNrZXRJRE9sZGVzdElEID0gJFRpY2tldElEQ2hlY2s7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgbWVyZ2UKICAgICAgICAgICAgICAgIGlmICggJFRpY2tldElET2xkZXN0SUQgbmUgJFRpY2tldElEICkgewogICAgICAgICAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TWVyZ2UoCiAgICAgICAgICAgICAgICAgICAgICAgIE1haW5UaWNrZXRJRCAgPT4gJFRpY2tldElET2xkZXN0SUQsCiAgICAgICAgICAgICAgICAgICAgICAgIE1lcmdlVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGxpbmsgYWxsIHRpY2tldHMgdG8gYSBwYXJlbnQKICAgICAgICAgICAgaWYgKCAkR2V0UGFyYW17J0xpbmtUb2dldGhlclBhcmVudCd9ICkgewogICAgICAgICAgICAgICAgbXkgJE1haW5UaWNrZXRJRCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0SURMb29rdXAoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0TnVtYmVyID0+ICRHZXRQYXJhbXsnTGlua1RvZ2V0aGVyUGFyZW50J30sCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgIGZvciBteSAkVGlja2V0SURQYXJ0bmVyIChAVGlja2V0SURzKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCAkTWFpblRpY2tldElEIG5lICRUaWNrZXRJRCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntMaW5rT2JqZWN0fS0+TGlua0FkZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZU9iamVjdCA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUtleSAgICA9PiAkTWFpblRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0T2JqZWN0ID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0S2V5ICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgICAgICAgICA9PiAnUGFyZW50Q2hpbGQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdGUgICAgICAgID0+ICdWYWxpZCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBsaW5rIHRvZ2V0aGVyCiAgICAgICAgICAgIGlmICggJEdldFBhcmFteydMaW5rVG9nZXRoZXInfSApIHsKICAgICAgICAgICAgICAgIGZvciBteSAkVGlja2V0SURQYXJ0bmVyIChAVGlja2V0SURzKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKCAkVGlja2V0SUQgbmUgJFRpY2tldElEUGFydG5lciApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntMaW5rT2JqZWN0fS0+TGlua0FkZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZU9iamVjdCA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZUtleSAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRPYmplY3QgPT4gJ1RpY2tldCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRLZXkgICAgPT4gJFRpY2tldElEUGFydG5lciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgICAgICAgICA9PiAnTm9ybWFsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnVmFsaWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgc2hvdWxkIEkgdW5sb2NrIHRpY2tldHMgYXQgdXNlciByZXF1ZXN0PwogICAgICAgICAgICBpZiAoICRHZXRQYXJhbXsnVW5sb2NrJ30gKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldExvY2tTZXQoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgIExvY2sgICAgID0+ICd1bmxvY2snLAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KIyAtLS0KIyBNYXN0ZXJTbGF2ZQojIC0tLQogICAgICAgICAgICBpZiAoICRNYXN0ZXJTbGF2ZUFkdmFuY2VkRW5hYmxlZCAmJiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgKSB7CiAgICAgICAgICAgICAgICBpZiAoICRHZXRQYXJhbXskTWFzdGVyU2xhdmVEeW5hbWljRmllbGR9ICkgewogICAgICAgICAgICAgICAgICAgICRTZWxmLT57TWFzdGVyU2xhdmVPYmplY3R9LT5NYXN0ZXJTbGF2ZSgKICAgICAgICAgICAgICAgICAgICAgICAgTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lICAgICAgICAgICA9PiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQsCiAgICAgICAgICAgICAgICAgICAgICAgIE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkVmFsdWUgICAgICAgICAgPT4gJEdldFBhcmFteyRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZH0sCiAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICAgICAgTWFzdGVyU2xhdmVGb2xsb3dVcGRhdGVkTWFzdGVyICAgICAgICA9PiAkTWFzdGVyU2xhdmVGb2xsb3dVcGRhdGVkTWFzdGVyLAogICAgICAgICAgICAgICAgICAgICAgICBNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVW5zZXQgID0+ICRNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVW5zZXQsCiAgICAgICAgICAgICAgICAgICAgICAgIE1hc3RlclNsYXZlS2VlcFBhcmVudENoaWxkQWZ0ZXJVcGRhdGUgPT4gJE1hc3RlclNsYXZlS2VlcFBhcmVudENoaWxkQWZ0ZXJVcGRhdGUsCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQojIC0tLQogICAgICAgICAgICAkQWN0aW9uRmxhZyA9IDE7CiAgICAgICAgfQogICAgICAgICRDb3VudGVyKys7CiAgICB9CgogICAgIyByZWRpcmVjdAogICAgaWYgKCRBY3Rpb25GbGFnKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UG9wdXBDbG9zZSgKICAgICAgICAgICAgVVJMID0+ICggJFNlbGYtPntMYXN0U2NyZWVuT3ZlcnZpZXd9IHx8ICdBY3Rpb249QWdlbnREYXNoYm9hcmQnICksCiAgICAgICAgKTsKICAgIH0KCiAgICAkT3V0cHV0IC49ICRTZWxmLT5fTWFzaygKICAgICAgICAlUGFyYW0sCiAgICAgICAgJUdldFBhcmFtLAogICAgICAgICVUaW1lLAogICAgICAgIFRpY2tldElEcyAgICAgPT4gXEBUaWNrZXRJRFNlbGVjdGVkLAogICAgICAgIExvY2tlZFRpY2tldHMgPT4gJExvY2tlZFRpY2tldHMsCiAgICAgICAgRXJyb3JzICAgICAgICA9PiBcJUVycm9yLAogICAgKTsKICAgICRPdXRwdXQgLj0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Gb290ZXIoCiAgICAgICAgVHlwZSA9PiAnU21hbGwnLAogICAgKTsKICAgIHJldHVybiAkT3V0cHV0Owp9CgpzdWIgX01hc2sgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIHByZXBhcmUgZXJyb3JzIQogICAgaWYgKCAkUGFyYW17RXJyb3JzfSApIHsKICAgICAgICBmb3IgbXkgJEtleUVycm9yICggc29ydCBrZXlzICV7ICRQYXJhbXtFcnJvcnN9IH0gKSB7CiAgICAgICAgICAgICRQYXJhbXskS2V5RXJyb3J9CiAgICAgICAgICAgICAgICA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QXNjaWkySHRtbCggVGV4dCA9PiAkUGFyYW17RXJyb3JzfS0+eyRLZXlFcnJvcn0gKTsKICAgICAgICB9CiAgICB9CgogICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdCdWxrQWN0aW9uJywKICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICApOwoKICAgICMgcmVtZW1iZXIgdGlja2V0IGlkcwogICAgaWYgKCAkUGFyYW17VGlja2V0SURzfSApIHsKICAgICAgICBmb3IgbXkgJFRpY2tldElEICggQHsgJFBhcmFte1RpY2tldElEc30gfSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1VzZWRUaWNrZXRJRCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiAgICAjIGJ1aWxkIEFydGljbGVUeXBlSUQgc3RyaW5nCiAgICBteSAlRGVmYXVsdE5vdGVUeXBlcyA9ICV7ICRTZWxmLT57Q29uZmlnfS0+e0FydGljbGVUeXBlc30gfTsKICAgIG15ICVOb3RlVHlwZXMgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVUeXBlTGlzdCggUmVzdWx0ID0+ICdIQVNIJyApOwogICAgZm9yIG15ICRLZXlOb3RlVHlwZSAoIHNvcnQga2V5cyAlTm90ZVR5cGVzICkgewogICAgICAgIGlmICggISREZWZhdWx0Tm90ZVR5cGVzeyAkTm90ZVR5cGVzeyRLZXlOb3RlVHlwZX0gfSApIHsKICAgICAgICAgICAgZGVsZXRlICROb3RlVHlwZXN7JEtleU5vdGVUeXBlfTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCAkUGFyYW17QXJ0aWNsZVR5cGVJRH0gKSB7CiAgICAgICAgJFBhcmFte05vdGVTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgPT4gXCVOb3RlVHlwZXMsCiAgICAgICAgICAgIE5hbWUgICAgICAgPT4gJ0FydGljbGVUeXBlSUQnLAogICAgICAgICAgICBTZWxlY3RlZElEID0+ICRQYXJhbXtBcnRpY2xlVHlwZUlEfSwKICAgICAgICApOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJFBhcmFte05vdGVTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICAgPT4gXCVOb3RlVHlwZXMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICAgPT4gJ0FydGljbGVUeXBlSUQnLAogICAgICAgICAgICBTZWxlY3RlZFZhbHVlID0+ICRTZWxmLT57Q29uZmlnfS0+e0FydGljbGVUeXBlRGVmYXVsdH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGJ1aWxkIG5leHQgc3RhdGVzIHN0cmluZwogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntTdGF0ZX0gKSB7CiAgICAgICAgbXkgJVN0YXRlOwogICAgICAgIG15ICVTdGF0ZUxpc3QgPSAkU2VsZi0+e1N0YXRlT2JqZWN0fS0+U3RhdGVHZXRTdGF0ZXNCeVR5cGUoCiAgICAgICAgICAgIFN0YXRlVHlwZSA9PiAkU2VsZi0+e0NvbmZpZ30tPntTdGF0ZVR5cGV9LAogICAgICAgICAgICBSZXN1bHQgICAgPT4gJ0hBU0gnLAogICAgICAgICAgICBBY3Rpb24gICAgPT4gJFNlbGYtPntBY3Rpb259LAogICAgICAgICAgICBVc2VySUQgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CiAgICAgICAgaWYgKCAhJFNlbGYtPntDb25maWd9LT57U3RhdGVEZWZhdWx0fSApIHsKICAgICAgICAgICAgJFN0YXRlTGlzdHsnJ30gPSAnLSc7CiAgICAgICAgfQogICAgICAgIGlmICggISRQYXJhbXtTdGF0ZUlEfSApIHsKICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntTdGF0ZURlZmF1bHR9ICkgewogICAgICAgICAgICAgICAgJFN0YXRle1NlbGVjdGVkVmFsdWV9ID0gJFNlbGYtPntDb25maWd9LT57U3RhdGVEZWZhdWx0fTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFN0YXRle1NlbGVjdGVkSUR9ID0gJFBhcmFte1N0YXRlSUR9OwogICAgICAgIH0KCiAgICAgICAgJFBhcmFte05leHRTdGF0ZXNTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgPT4gXCVTdGF0ZUxpc3QsCiAgICAgICAgICAgIE5hbWUgPT4gJ1N0YXRlSUQnLAogICAgICAgICAgICAlU3RhdGUsCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdTdGF0ZScsCiAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICApOwoKICAgICAgICBTVEFURV9JRDoKICAgICAgICBmb3IgbXkgJFN0YXRlSUQgKCBzb3J0IGtleXMgJVN0YXRlTGlzdCApIHsKICAgICAgICAgICAgbmV4dCBTVEFURV9JRCBpZiAhJFN0YXRlSUQ7CiAgICAgICAgICAgIG15ICVTdGF0ZURhdGEgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPntTdGF0ZU9iamVjdH0tPlN0YXRlR2V0KCBJRCA9PiAkU3RhdGVJRCApOwogICAgICAgICAgICBuZXh0IFNUQVRFX0lEIGlmICRTdGF0ZURhdGF7VHlwZU5hbWV9ICF+IC9wZW5kaW5nL2k7CiAgICAgICAgICAgICRQYXJhbXtEYXRlU3RyaW5nfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGREYXRlU2VsZWN0aW9uKAogICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgRm9ybWF0ICAgPT4gJ0RhdGVJbnB1dEZvcm1hdExvbmcnLAogICAgICAgICAgICAgICAgRGlmZlRpbWUgPT4gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6OlBlbmRpbmdEaWZmVGltZScpIHx8IDAsCiAgICAgICAgICAgICAgICBDbGFzcyAgICA9PiAkUGFyYW17RXJyb3JzfS0+e0RhdGVJbnZhbGlkfSB8fCAnJywKICAgICAgICAgICAgICAgIFZhbGlkYXRlID0+IDEsCiAgICAgICAgICAgICAgICBWYWxpZGF0ZURhdGVJbkZ1dHVyZSA9PiAxLAogICAgICAgICAgICApOwogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnU3RhdGVQZW5kaW5nJywKICAgICAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbGFzdDsKICAgICAgICB9CiAgICB9CgogICAgIyB0eXBlcwogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpUeXBlJykgJiYgJFNlbGYtPntDb25maWd9LT57VGlja2V0VHlwZX0gKSB7CiAgICAgICAgbXkgJVR5cGUgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFR5cGVMaXN0KAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIEFjdGlvbiA9PiAkU2VsZi0+e0FjdGlvbn0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICAkUGFyYW17VHlwZVN0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFwlVHlwZSwKICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAnVHlwZUlEJywKICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRQYXJhbXtUeXBlSUR9LAogICAgICAgICAgICBTb3J0ICAgICAgICAgPT4gJ0FscGhhbnVtZXJpY1ZhbHVlJywKICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdUeXBlJywKICAgICAgICAgICAgRGF0YSA9PiB7JVBhcmFtfSwKICAgICAgICApOwogICAgfQoKICAgICMgb3duZXIgbGlzdAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntPd25lcn0gKSB7CiAgICAgICAgbXkgJUFsbEdyb3Vwc01lbWJlcnMgPSAkU2VsZi0+e1VzZXJPYmplY3R9LT5Vc2VyTGlzdCggVHlwZSA9PiAnTG9uZycsIFZhbGlkID0+IDEgKTsKCiAgICAgICAgIyBvbmx5IHB1dCBwb3NzaWJsZSBydyBhZ2VudHMgdG8gcG9zc2libGUgb3duZXIgbGlzdAogICAgICAgIGlmICggISRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkNoYW5nZU93bmVyVG9FdmVyeW9uZScpICkgewogICAgICAgICAgICBteSAlQWxsR3JvdXBzTWVtYmVyc05ldzsKICAgICAgICAgICAgZm9yIG15ICRUaWNrZXRJRCAoIEB7ICRQYXJhbXtUaWNrZXRJRHN9IH0gKSB7CiAgICAgICAgICAgICAgICBteSAlVGlja2V0ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRHZXQoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgRHluYW1pY0ZpZWxkcyA9PiAwLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIG15ICRHcm91cElEID0gJFNlbGYtPntRdWV1ZU9iamVjdH0tPkdldFF1ZXVlR3JvdXBJRCggUXVldWVJRCA9PiAkVGlja2V0e1F1ZXVlSUR9ICk7CiAgICAgICAgICAgICAgICBteSAlR3JvdXBNZW1iZXIgPSAkU2VsZi0+e0dyb3VwT2JqZWN0fS0+R3JvdXBNZW1iZXJMaXN0KAogICAgICAgICAgICAgICAgICAgIEdyb3VwSUQgPT4gJEdyb3VwSUQsCiAgICAgICAgICAgICAgICAgICAgVHlwZSAgICA9PiAncncnLAogICAgICAgICAgICAgICAgICAgIFJlc3VsdCAgPT4gJ0hBU0gnLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIFVTRVJfSUQ6CiAgICAgICAgICAgICAgICBmb3IgbXkgJFVzZXJJRCAoIHNvcnQga2V5cyAlR3JvdXBNZW1iZXIgKSB7CiAgICAgICAgICAgICAgICAgICAgbmV4dCBVU0VSX0lEIGlmICEkQWxsR3JvdXBzTWVtYmVyc3skVXNlcklEfTsKICAgICAgICAgICAgICAgICAgICAkQWxsR3JvdXBzTWVtYmVyc05ld3skVXNlcklEfSA9ICRBbGxHcm91cHNNZW1iZXJzeyRVc2VySUR9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJUFsbEdyb3Vwc01lbWJlcnMgPSAlQWxsR3JvdXBzTWVtYmVyc05ldzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkUGFyYW17T3duZXJTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiBcJUFsbEdyb3Vwc01lbWJlcnMsCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAnT3duZXJJRCcsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJFBhcmFte093bmVySUR9LAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICApOwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ093bmVyJywKICAgICAgICAgICAgRGF0YSA9PiBcJVBhcmFtLAogICAgICAgICk7CiAgICB9CgogICAgIyByZXNwb25zaWJsZSBsaXN0CiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlJlc3BvbnNpYmxlJykgJiYgJFNlbGYtPntDb25maWd9LT57UmVzcG9uc2libGV9ICkgewogICAgICAgIG15ICVBbGxHcm91cHNNZW1iZXJzID0gJFNlbGYtPntVc2VyT2JqZWN0fS0+VXNlckxpc3QoIFR5cGUgPT4gJ0xvbmcnLCBWYWxpZCA9PiAxICk7CgogICAgICAgICMgb25seSBwdXQgcG9zc2libGUgcncgYWdlbnRzIHRvIHBvc3NpYmxlIG93bmVyIGxpc3QKICAgICAgICBpZiAoICEkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpDaGFuZ2VPd25lclRvRXZlcnlvbmUnKSApIHsKICAgICAgICAgICAgbXkgJUFsbEdyb3Vwc01lbWJlcnNOZXc7CiAgICAgICAgICAgIGZvciBteSAkVGlja2V0SUQgKCBAeyAkUGFyYW17VGlja2V0SURzfSB9ICkgewogICAgICAgICAgICAgICAgbXkgJVRpY2tldCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0R2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZHMgPT4gMCwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBteSAkR3JvdXBJRCA9ICRTZWxmLT57UXVldWVPYmplY3R9LT5HZXRRdWV1ZUdyb3VwSUQoIFF1ZXVlSUQgPT4gJFRpY2tldHtRdWV1ZUlEfSApOwogICAgICAgICAgICAgICAgbXkgJUdyb3VwTWVtYmVyID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTWVtYmVyTGlzdCgKICAgICAgICAgICAgICAgICAgICBHcm91cElEID0+ICRHcm91cElELAogICAgICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ3J3JywKICAgICAgICAgICAgICAgICAgICBSZXN1bHQgID0+ICdIQVNIJywKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBVU0VSX0lEOgogICAgICAgICAgICAgICAgZm9yIG15ICRVc2VySUQgKCBzb3J0IGtleXMgJUdyb3VwTWVtYmVyICkgewogICAgICAgICAgICAgICAgICAgIG5leHQgVVNFUl9JRCBpZiAhJEFsbEdyb3Vwc01lbWJlcnN7JFVzZXJJRH07CiAgICAgICAgICAgICAgICAgICAgJEFsbEdyb3Vwc01lbWJlcnNOZXd7JFVzZXJJRH0gPSAkQWxsR3JvdXBzTWVtYmVyc3skVXNlcklEfTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICVBbGxHcm91cHNNZW1iZXJzID0gJUFsbEdyb3Vwc01lbWJlcnNOZXc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJFBhcmFte1Jlc3BvbnNpYmxlU3RyZ30gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICBEYXRhID0+IHsgJycgPT4gJy0nLCAlQWxsR3JvdXBzTWVtYmVycyB9LAogICAgICAgICAgICBOYW1lID0+ICdSZXNwb25zaWJsZUlEJywKICAgICAgICAgICAgVHJhbnNsYXRpb24gPT4gMCwKICAgICAgICAgICAgU2VsZWN0ZWRJRCAgPT4gJFBhcmFte1Jlc3BvbnNpYmxlSUR9LAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUmVzcG9uc2libGUnLAogICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGJ1aWxkIG1vdmUgcXVldWUgc3RyaW5nCiAgICBteSAlTW92ZVF1ZXVlcyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+TW92ZUxpc3QoCiAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICBBY3Rpb24gPT4gJFNlbGYtPntBY3Rpb259LAogICAgICAgIFR5cGUgICA9PiAnbW92ZV9pbnRvJywKICAgICk7CiAgICAkUGFyYW17TW92ZVF1ZXVlc1N0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5BZ2VudFF1ZXVlTGlzdE9wdGlvbigKICAgICAgICBEYXRhID0+IHsgJU1vdmVRdWV1ZXMsICcnID0+ICctJyB9LAogICAgICAgIE11bHRpcGxlID0+IDAsCiAgICAgICAgU2l6ZSAgICAgPT4gMCwKICAgICAgICBOYW1lICAgICA9PiAnUXVldWVJRCcsCgogICAgICAgICMgICAgICAgU2VsZWN0ZWRJRCA9PiAkU2VsZi0+e0Rlc3RRdWV1ZUlEfSwKICAgICAgICBPbkNoYW5nZVN1Ym1pdCA9PiAwLAogICAgKTsKCiAgICAjIGdldCBwcmlvcml0eQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntQcmlvcml0eX0gKSB7CiAgICAgICAgbXkgJVByaW9yaXR5OwogICAgICAgIG15ICVQcmlvcml0eUxpc3QgPSAkU2VsZi0+e1ByaW9yaXR5T2JqZWN0fS0+UHJpb3JpdHlMaXN0KAogICAgICAgICAgICBWYWxpZCAgPT4gMSwKICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwogICAgICAgIGlmICggISRTZWxmLT57Q29uZmlnfS0+e1ByaW9yaXR5RGVmYXVsdH0gKSB7CiAgICAgICAgICAgICRQcmlvcml0eUxpc3R7Jyd9ID0gJy0nOwogICAgICAgIH0KICAgICAgICBpZiAoICEkUGFyYW17UHJpb3JpdHlJRH0gKSB7CiAgICAgICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57UHJpb3JpdHlEZWZhdWx0fSApIHsKICAgICAgICAgICAgICAgICRQcmlvcml0eXtTZWxlY3RlZFZhbHVlfSA9ICRTZWxmLT57Q29uZmlnfS0+e1ByaW9yaXR5RGVmYXVsdH07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRQcmlvcml0eXtTZWxlY3RlZElEfSA9ICRQYXJhbXtQcmlvcml0eUlEfTsKICAgICAgICB9CiAgICAgICAgJFBhcmFte1ByaW9yaXR5U3RyZ30gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICBEYXRhID0+IFwlUHJpb3JpdHlMaXN0LAogICAgICAgICAgICBOYW1lID0+ICdQcmlvcml0eUlEJywKICAgICAgICAgICAgJVByaW9yaXR5LAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUHJpb3JpdHknLAogICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNob3cgdGltZSBhY2NvdW50aW5nIGJveAogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6QWNjb3VudFRpbWUnKSApIHsKICAgICAgICAkUGFyYW17VGltZVVuaXRzUmVxdWlyZWR9ID0gKAogICAgICAgICAgICAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6TmVlZEFjY291bnRlZFRpbWUnKQogICAgICAgICAgICA/ICdWYWxpZGF0ZV9EZXBlbmRpbmdSZXF1aXJlZEFORCBWYWxpZGF0ZV9EZXBlbmRpbmdfU3ViamVjdCcKICAgICAgICAgICAgOiAnJwogICAgICAgICk7CiAgICAgICAgJFBhcmFte1RpbWVVbml0c1JlcXVpcmVkRW1haWx9ID0gKAogICAgICAgICAgICAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6TmVlZEFjY291bnRlZFRpbWUnKQogICAgICAgICAgICA/ICdWYWxpZGF0ZV9EZXBlbmRpbmdSZXF1aXJlZEFORCBWYWxpZGF0ZV9EZXBlbmRpbmdfRW1haWxTdWJqZWN0JwogICAgICAgICAgICA6ICcnCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6TmVlZEFjY291bnRlZFRpbWUnKSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RpbWVVbml0c0xhYmVsTWFuZGF0b3J5JywKICAgICAgICAgICAgICAgIERhdGEgPT4geyBUaW1lVW5pdHNSZXF1aXJlZCA9PiAkUGFyYW17VGltZVVuaXRzUmVxdWlyZWR9IH0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUaW1lVW5pdHNMYWJlbE1hbmRhdG9yeUVtYWlsJywKICAgICAgICAgICAgICAgIERhdGEgPT4geyBUaW1lVW5pdHNSZXF1aXJlZCA9PiAkUGFyYW17VGltZVVuaXRzUmVxdWlyZWRFbWFpbH0gfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUaW1lVW5pdHNMYWJlbCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUaW1lVW5pdHNMYWJlbEVtYWlsJywKICAgICAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVGltZVVuaXRzJywKICAgICAgICAgICAgRGF0YSA9PiBcJVBhcmFtLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVGltZVVuaXRzRW1haWwnLAogICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KCiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KICAgICMgZ2V0IG1hc3Rlci9zbGF2ZSBkeW5hbWljIGZpZWxkCiAgICBteSAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdNYXN0ZXJTbGF2ZTo6RHluYW1pY0ZpZWxkJykgfHwgJyc7CiAgICBteSAkTWFzdGVyU2xhdmVBZHZhbmNlZEVuYWJsZWQgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTWFzdGVyU2xhdmU6OkFkdmFuY2VkRW5hYmxlZCcpIHx8IDA7CiAgICBpZiAoICRNYXN0ZXJTbGF2ZUFkdmFuY2VkRW5hYmxlZCAmJiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgKSB7CiAgICAgICAgbXkgJFVuc2V0TWFzdGVyU2xhdmUgICAgICAgICAgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTWFzdGVyU2xhdmU6OlVuc2V0TWFzdGVyU2xhdmUnKSB8fCAwOwogICAgICAgIG15ICRVcGRhdGVNYXN0ZXJTbGF2ZSAgICAgICAgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpVcGRhdGVNYXN0ZXJTbGF2ZScpIHx8IDA7CgogICAgICAgICRQYXJhbXtNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZH0gPSAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQ7CgogICAgICAgIG15ICVEYXRhOwogICAgICAgICREYXRhe01hc3Rlcn0gPSAnTmV3IE1hc3RlciBUaWNrZXQnOwogICAgICAgIGlmICggJFVuc2V0TWFzdGVyU2xhdmUgKSB7CiAgICAgICAgICAgICREYXRhe1Vuc2V0TWFzdGVyfSA9ICdVbnNldCBNYXN0ZXIgVGlja2V0cyc7CiAgICAgICAgICAgICREYXRhe1Vuc2V0U2xhdmV9ICA9ICdVbnNldCBTbGF2ZSBUaWNrZXRzJzsKICAgICAgICB9CiAgICAgICAgaWYgKCAkVXBkYXRlTWFzdGVyU2xhdmUgKSB7CiAgICAgICAgICAgIG15IEBUaWNrZXRJRHMgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKCiAgICAgICAgICAgICAgICAjIHJlc3VsdCAocmVxdWlyZWQpCiAgICAgICAgICAgICAgICBSZXN1bHQgICAgICAgICAgICAgICAgICAgICA9PiAnQVJSQVknLAogICAgICAgICAgICAgICAgIyBtYXN0ZXIgc2xhdmUgZHluYW1pYyBmaWVsZAogICAgICAgICAgICAgICAgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkID0+IHsKICAgICAgICAgICAgICAgICAgICBFcXVhbHMgPT4gJ01hc3RlcicsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgPT4gJ09wZW4nLAoKICAgICAgICAgICAgICAgICMgcmVzdWx0IGxpbWl0CiAgICAgICAgICAgICAgICBMaW1pdCAgICAgID0+IDYwLAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uID0+ICdybycsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBUaWNrZXRJRHMpIHsKICAgICAgICAgICAgICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCggVGlja2V0SUQgPT4gJFRpY2tldElEICk7CiAgICAgICAgICAgICAgICBuZXh0IGlmICElVGlja2V0OwogICAgICAgICAgICAgICAgJERhdGF7IlNsYXZlT2Y6JFRpY2tldHtUaWNrZXROdW1iZXJ9In0gPSAiU2xhdmUgb2YgVGlja2V0IyRUaWNrZXR7VGlja2V0TnVtYmVyfTogJFRpY2tldHtUaXRsZX0iOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgICRQYXJhbXtNYXN0ZXJTbGF2ZVN0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSA9PiB7ICcnID0+ICctJywgJURhdGEgfSwKICAgICAgICAgICAgTmFtZSA9PiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uID0+IDAsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgID0+ICRQYXJhbXtSZXNwb25zaWJsZUlEfSwKICAgICAgICApOwogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ01hc3RlclNsYXZlJywKICAgICAgICAgICAgRGF0YSA9PiBcJVBhcmFtLAogICAgICAgICk7CiAgICB9CiMgLS0tCgogICAgJFBhcmFte0xpbmtUb2dldGhlclllc05vT3B0aW9ufSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgRGF0YSAgICAgICA9PiAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnWWVzTm9PcHRpb25zJyksCiAgICAgICAgTmFtZSAgICAgICA9PiAnTGlua1RvZ2V0aGVyJywKICAgICAgICBTZWxlY3RlZElEID0+ICRQYXJhbXtMaW5rVG9nZXRoZXJ9IHx8IDAsCiAgICApOwoKICAgICRQYXJhbXtVbmxvY2tZZXNOb09wdGlvbn0gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgIERhdGEgICAgICAgPT4gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1llc05vT3B0aW9ucycpLAogICAgICAgIE5hbWUgICAgICAgPT4gJ1VubG9jaycsCiAgICAgICAgU2VsZWN0ZWRJRCA9PiAkUGFyYW17VW5sb2NrfSB8fCAxLAogICAgKTsKCiAgICAjIHNob3cgc3BlbGwgY2hlY2sKICAgIGlmICggJFNlbGYtPntMYXlvdXRPYmplY3R9LT57QnJvd3NlclNwZWxsQ2hlY2tlcn0gKSB7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnU3BlbGxDaGVjaycsCiAgICAgICAgICAgIERhdGEgPT4ge30sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGFkZCByaWNoIHRleHQgZWRpdG9yIGZvciBub3RlICYgZW1haWwKICAgIGlmICggJFNlbGYtPntMYXlvdXRPYmplY3R9LT57QnJvd3NlclJpY2hUZXh0fSApIHsKCiAgICAgICAgIyB1c2UgaGVpZ2h0L3dpZHRoIGRlZmluZWQgZm9yIHRoaXMgc2NyZWVuCiAgICAgICAgJFBhcmFte1JpY2hUZXh0SGVpZ2h0fSA9ICRTZWxmLT57Q29uZmlnfS0+e1JpY2hUZXh0SGVpZ2h0fSB8fCAwOwogICAgICAgICRQYXJhbXtSaWNoVGV4dFdpZHRofSAgPSAkU2VsZi0+e0NvbmZpZ30tPntSaWNoVGV4dFdpZHRofSAgfHwgMDsKCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnUmljaFRleHQnLAogICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdSaWNoVGV4dEVtYWlsJywKICAgICAgICAgICAgRGF0YSA9PiBcJVBhcmFtLAogICAgICAgICk7CiAgICB9CgogICAgIyByZWxvYWQgcGFyZW50IHdpbmRvdwogICAgaWYgKCAkUGFyYW17VGlja2V0c1dlcmVMb2NrZWR9ICkgewogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1BhcmVudFJlbG9hZCcsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgVVJMID0+ICRTZWxmLT57TGFzdFNjcmVlbk92ZXJ2aWV3fSwKICAgICAgICAgICAgICAgIH0KICAgICAgICApOwoKICAgICAgICAjIHNob3cgdW5kbyBsaW5rCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVW5kb0Nsb3NlUG9wdXAnLAogICAgICAgICAgICBEYXRhID0+IHsgJVBhcmFtLCBUaWNrZXRJRCA9PiAkUGFyYW17IkxvY2tlZFRpY2tldHMifSB9LAogICAgICAgICk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAjIHNob3cgYmFjayBsaW5rCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnQ2FuY2VsQ2xvc2VQb3B1cCcsCiAgICAgICAgICAgIERhdGEgPT4gJVBhcmFtCiAgICAgICAgKTsKCiAgICB9CgogICAgIyBnZXQgb3V0cHV0IGJhY2sKICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPk91dHB1dCggVGVtcGxhdGVGaWxlID0+ICdBZ2VudFRpY2tldEJ1bGsnLCBEYXRhID0+IFwlUGFyYW0gKTsKfQoKMTsK
IyAtLQojIEtlcm5lbC9Nb2R1bGVzL0FnZW50VGlja2V0TWFzdGVyU2xhdmUucG0gLSBjb21tb24gZmlsZSBmb3Igc2V2ZXJhbCBtb2R1bGVzCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgJG9yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL09UUlMvb3Rycy9ibG9iLzZlZjMxMDE0NjRmOThhMzEyZDI2N2I4M2U2ODI2ZjU0MWFiZmEyY2EvS2VybmVsL01vZHVsZXMvQWdlbnRUaWNrZXRBY3Rpb25Db21tb24ucG0KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KIyB0aGlzIG1vZHVsZSB1c2VzIEFnZW50VGlja2V0QWN0aW9uQ29tbW9uIGFzIGEgYmFzZSwgZm9yIGVhc3kgdXBkYXRlIGFuZCBmcmFtZXdvcmsgY29tcGF0aWJpbGl0eQojIHNwZWNpYWwgbWFya2VycyBoYXMgYmVlbiBzZXQgYWxvbmcgdGhlIGZpbGUgdG8gZWFzeSBzcG90IHRoZSBkaWZmZXJlbmNlcyBpbnRyb2R1Y2VkIGJ5CiMgT1RSU01hc3RlclNsYXZlIHBhY2thZ2UKIyBwYWNrYWdlIEtlcm5lbDo6TW9kdWxlczo6QWdlbnRUaWNrZXRBY3Rpb25Db21tb247CnBhY2thZ2UgS2VybmVsOjpNb2R1bGVzOjpBZ2VudFRpY2tldE1hc3RlclNsYXZlOwojIC0tLQoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpTdGF0ZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpXZWI6OlVwbG9hZENhY2hlOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQ7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKIyAtLS0KIyBNYXN0ZXJTbGF2ZQojIC0tLQp1c2UgS2VybmVsOjpTeXN0ZW06Ok1hc3RlclNsYXZlOwp1c2UgS2VybmVsOjpMYW5ndWFnZTsKIyAtLS0KCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0geyVQYXJhbX07CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBjaGVjayBuZWVkZWQgb2JqZWN0cwogICAgZm9yIG15ICROZWVkZWQgKAogICAgICAgIHF3KFBhcmFtT2JqZWN0IERCT2JqZWN0IFRpY2tldE9iamVjdCBMYXlvdXRPYmplY3QgTG9nT2JqZWN0IFF1ZXVlT2JqZWN0IENvbmZpZ09iamVjdCkKICAgICAgICApCiAgICB7CiAgICAgICAgaWYgKCAhJFNlbGYtPnskTmVlZGVkfSApIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5GYXRhbEVycm9yKCBNZXNzYWdlID0+ICJHb3Qgbm8gJE5lZWRlZCEiICk7CiAgICAgICAgfQogICAgfQogICAgJFNlbGYtPntTdGF0ZU9iamVjdH0gICAgICAgID0gS2VybmVsOjpTeXN0ZW06OlN0YXRlLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57VXBsb2FkQ2FjaGVPYmplY3R9ICA9IEtlcm5lbDo6U3lzdGVtOjpXZWI6OlVwbG9hZENhY2hlLT5uZXcoJVBhcmFtKTsKICAgICRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQtPm5ldyglUGFyYW0pOwogICAgJFNlbGYtPntCYWNrZW5kT2JqZWN0fSAgICAgID0gS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6QmFja2VuZC0+bmV3KCVQYXJhbSk7CgogICAgIyBnZXQgZm9ybSBpZAogICAgJFNlbGYtPntGb3JtSUR9ID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFBhcmFtKCBQYXJhbSA9PiAnRm9ybUlEJyApOwoKICAgICMgZ2V0IGluZm9ybSB1c2VyIGxpc3QKICAgIG15IEBJbmZvcm1Vc2VySUQgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0QXJyYXkoIFBhcmFtID0+ICdJbmZvcm1Vc2VySUQnICk7CiAgICAkU2VsZi0+e0luZm9ybVVzZXJJRH0gPSBcQEluZm9ybVVzZXJJRDsKCiAgICAjIGdldCBpbnZvbHZlZCB1c2VyIGxpc3QKICAgIG15IEBJbnZvbHZlZFVzZXJJRCA9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRBcnJheSggUGFyYW0gPT4gJ0ludm9sdmVkVXNlcklEJyApOwogICAgJFNlbGYtPntJbnZvbHZlZFVzZXJJRH0gPSBcQEludm9sdmVkVXNlcklEOwoKICAgICMgY3JlYXRlIGZvcm0gaWQKICAgIGlmICggISRTZWxmLT57Rm9ybUlEfSApIHsKICAgICAgICAkU2VsZi0+e0Zvcm1JRH0gPSAkU2VsZi0+e1VwbG9hZENhY2hlT2JqZWN0fS0+Rm9ybUlEQ3JlYXRlKCk7CiAgICB9CgogICAgIyBnZXQgY29uZmlnIG9mIGZyb250ZW5kIG1vZHVsZQogICAgJFNlbGYtPntDb25maWd9ID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoIlRpY2tldDo6RnJvbnRlbmQ6OiRTZWxmLT57QWN0aW9ufSIpOwoKICAgICMgZGVmaW5lIHRoZSBkeW5hbWljIGZpZWxkcyB0byBzaG93IGJhc2VkIG9uIHRoZSBvYmplY3QgdHlwZQogICAgbXkgJE9iamVjdFR5cGUgPSBbJ1RpY2tldCddOwoKICAgICMgb25seSBzY3JlZW5zIHRoYXQgYWRkIG5vdGVzIGNhbiBtb2RpZnkgQXJ0aWNsZSBkeW5hbWljIGZpZWxkcwogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntOb3RlfSApIHsKICAgICAgICAkT2JqZWN0VHlwZSA9IFsgJ1RpY2tldCcsICdBcnRpY2xlJyBdOwogICAgfQoKIyAtLS0KIyBNYXN0ZXJTbGF2ZQojIC0tLQogICAgIyBnZXQgbWFzdGVyL3NsYXZlIGR5bmFtaWMgZmllbGQKICAgIG15ICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZCA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdNYXN0ZXJTbGF2ZTo6RHluYW1pY0ZpZWxkJyk7CiAgICAjIHNldCBtYXN0ZXItc2xhdmUgZHluYW1pYyBmaWVsZAogICAgaWYgKCAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgJiYgJFNlbGYtPntTdWJhY3Rpb259IGVxICdTdG9yZScgKSB7CiAgICAgICAgJFNlbGYtPntDb25maWd9LT57RHluYW1pY0ZpZWxkfS0+eyRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZH0gPSAxOwogICAgfQojLS0tCgogICAgIyBnZXQgdGhlIGR5bmFtaWMgZmllbGRzIGZvciB0aGlzIHNjcmVlbgogICAgJFNlbGYtPntEeW5hbWljRmllbGR9ID0gJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9LT5EeW5hbWljRmllbGRMaXN0R2V0KAogICAgICAgIFZhbGlkICAgICAgID0+IDEsCiAgICAgICAgT2JqZWN0VHlwZSAgPT4gJE9iamVjdFR5cGUsCiAgICAgICAgRmllbGRGaWx0ZXIgPT4gJFNlbGYtPntDb25maWd9LT57RHluYW1pY0ZpZWxkfSB8fCB7fSwKICAgICk7CgojIC0tLQojIE1hc3RlclNsYXZlCiMgLS0tCiAgICAkU2VsZi0+e01hc3RlclNsYXZlT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpNYXN0ZXJTbGF2ZS0+bmV3KCVQYXJhbSk7CgogICAgJFNlbGYtPntVc2VyTGFuZ3VhZ2V9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT57VXNlckxhbmd1YWdlfSB8fCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnRGVmYXVsdExhbmd1YWdlJyk7CiAgICAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fSA9IEtlcm5lbDo6TGFuZ3VhZ2UtPm5ldyglUGFyYW0sIFVzZXJMYW5ndWFnZSA9PiAkU2VsZi0+e1VzZXJMYW5ndWFnZX0pOwojIC0tLQoKICAgIHJldHVybiAkU2VsZjsKfQoKc3ViIFJ1biB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICBpZiAoICEkU2VsZi0+e1RpY2tldElEfSApIHsKICAgICAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5FcnJvclNjcmVlbigKICAgICAgICAgICAgTWVzc2FnZSA9PiAnTm8gVGlja2V0SUQgaXMgZ2l2ZW4hJywKICAgICAgICAgICAgQ29tbWVudCA9PiAnUGxlYXNlIGNvbnRhY3QgdGhlIGFkbWluLicsCiAgICAgICAgKTsKICAgIH0KCiAgICAjIGNoZWNrIHBlcm1pc3Npb25zCiAgICBteSAkQWNjZXNzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRQZXJtaXNzaW9uKAogICAgICAgIFR5cGUgICAgID0+ICRTZWxmLT57Q29uZmlnfS0+e1Blcm1pc3Npb259LAogICAgICAgIFRpY2tldElEID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgIFVzZXJJRCAgID0+ICRTZWxmLT57VXNlcklEfQogICAgKTsKCiAgICAjIGVycm9yIHNjcmVlbiwgZG9uJ3Qgc2hvdyB0aWNrZXQKICAgIGlmICggISRBY2Nlc3MgKSB7CiAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Tm9QZXJtaXNzaW9uKAogICAgICAgICAgICBNZXNzYWdlICAgID0+ICJZb3UgbmVlZCAkU2VsZi0+e0NvbmZpZ30tPntQZXJtaXNzaW9ufSBwZXJtaXNzaW9ucyEiLAogICAgICAgICAgICBXaXRoSGVhZGVyID0+ICd5ZXMnLAogICAgICAgICk7CiAgICB9CgogICAgIyBnZXQgQUNMIHJlc3RyaWN0aW9ucwogICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRBY2woCiAgICAgICAgRGF0YSAgICAgICAgICA9PiAnLScsCiAgICAgICAgVGlja2V0SUQgICAgICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICBSZXR1cm5UeXBlICAgID0+ICdBY3Rpb24nLAogICAgICAgIFJldHVyblN1YlR5cGUgPT4gJy0nLAogICAgICAgIFVzZXJJRCAgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKICAgIG15ICVBY2xBY3Rpb24gPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjbEFjdGlvbkRhdGEoKTsKCiAgICAjIGNoZWNrIGlmIEFDTCByZXN0cmljdGlvbnMgZXhpc3QKICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoIFwlQWNsQWN0aW9uICkgKSB7CgogICAgICAgICMgc2hvdyBlcnJvciBzY3JlZW4gaWYgQUNMIHByb2hpYml0cyB0aGlzIGFjdGlvbgogICAgICAgIGlmICggZGVmaW5lZCAkQWNsQWN0aW9ueyAkU2VsZi0+e0FjdGlvbn0gfSAmJiAkQWNsQWN0aW9ueyAkU2VsZi0+e0FjdGlvbn0gfSBlcSAnMCcgKSB7CiAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPk5vUGVybWlzc2lvbiggV2l0aEhlYWRlciA9PiAneWVzJyApOwogICAgICAgIH0KICAgIH0KCiAgICBteSAlVGlja2V0ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRHZXQoCiAgICAgICAgVGlja2V0SUQgICAgICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICBEeW5hbWljRmllbGRzID0+IDEsCiAgICApOwogICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICBOYW1lID0+ICdQcm9wZXJ0aWVzJywKICAgICAgICBEYXRhID0+IHsKICAgICAgICAgICAgRm9ybUlEID0+ICRTZWxmLT57Rm9ybUlEfSwKICAgICAgICAgICAgJVRpY2tldCwKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgIH0sCiAgICApOwoKICAgICMgc2hvdyByaWdodCBoZWFkZXIKICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgTmFtZSA9PiAnSGVhZGVyJyAuICRTZWxmLT57QWN0aW9ufSwKICAgICk7CgogICAgIyBnZXQgbG9jayBzdGF0ZQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntSZXF1aXJlZExvY2t9ICkgewogICAgICAgIGlmICggISRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja0dldCggVGlja2V0SUQgPT4gJFNlbGYtPntUaWNrZXRJRH0gKSApIHsKICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRMb2NrU2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFNlbGYtPntUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBMb2NrICAgICA9PiAnbG9jaycsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0KICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE93bmVyU2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgIE5ld1VzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHNob3cgbG9jayBzdGF0ZQogICAgICAgICAgICBpZiAoJFN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnUHJvcGVydGllc0xvY2snLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBteSAkQWNjZXNzT2sgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPk93bmVyQ2hlY2soCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgIE93bmVySUQgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCAhJEFjY2Vzc09rICkgewogICAgICAgICAgICAgICAgbXkgJE91dHB1dCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+SGVhZGVyKAogICAgICAgICAgICAgICAgICAgIFR5cGUgICAgICA9PiAnU21hbGwnLAogICAgICAgICAgICAgICAgICAgIFZhbHVlICAgICA9PiAkVGlja2V0e051bWJlcn0sCiAgICAgICAgICAgICAgICAgICAgQm9keUNsYXNzID0+ICdQb3B1cCcsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgJE91dHB1dCAuPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPldhcm5pbmcoCiAgICAgICAgICAgICAgICAgICAgTWVzc2FnZSA9PiAkU2VsZi0+e0xheW91dE9iamVjdH0tPntMYW5ndWFnZU9iamVjdH0KICAgICAgICAgICAgICAgICAgICAgICAgLT5HZXQoJ1NvcnJ5LCB5b3UgbmVlZCB0byBiZSB0aGUgdGlja2V0IG93bmVyIHRvIHBlcmZvcm0gdGhpcyBhY3Rpb24uJyksCiAgICAgICAgICAgICAgICAgICAgQ29tbWVudCA9PiAkU2VsZi0+e0xheW91dE9iamVjdH0tPntMYW5ndWFnZU9iamVjdH0KICAgICAgICAgICAgICAgICAgICAgICAgLT5HZXQoJ1BsZWFzZSBjaGFuZ2UgdGhlIG93bmVyIGZpcnN0LicpLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICRPdXRwdXQgLj0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5Gb290ZXIoCiAgICAgICAgICAgICAgICAgICAgVHlwZSA9PiAnU21hbGwnLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIHJldHVybiAkT3V0cHV0OwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHNob3cgYmFjayBsaW5rCiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUaWNrZXRCYWNrJywKICAgICAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgfQogICAgZWxzZSB7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0QmFjaycsCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgJVRpY2tldCwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IHBhcmFtcwogICAgbXkgJUdldFBhcmFtOwogICAgZm9yIG15ICRLZXkgKAogICAgICAgIHF3KAogICAgICAgIE5ld1N0YXRlSUQgTmV3UHJpb3JpdHlJRCBUaW1lVW5pdHMgQXJ0aWNsZVR5cGVJRCBUaXRsZSBCb2R5IFN1YmplY3QgTmV3UXVldWVJRAogICAgICAgIFllYXIgTW9udGggRGF5IEhvdXIgTWludXRlIE5ld093bmVySUQgTmV3T3duZXJUeXBlIE9sZE93bmVySUQgTmV3UmVzcG9uc2libGVJRAogICAgICAgIFR5cGVJRCBTZXJ2aWNlSUQgU0xBSUQgRXhwYW5kCiAgICAgICAgKQogICAgICAgICkKICAgIHsKICAgICAgICAkR2V0UGFyYW17JEtleX0gPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICRLZXkgKTsKICAgIH0KCiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KICAgICMgZ2V0IG1hc3Rlci9zbGF2ZSBkeW5hbWljIGZpZWxkCiAgICBteSAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgICAgICAgICAgICAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdNYXN0ZXJTbGF2ZTo6RHluYW1pY0ZpZWxkJykgfHwgJyc7CiAgICBteSAkTWFzdGVyU2xhdmVBZHZhbmNlZEVuYWJsZWQgICAgICAgICAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdNYXN0ZXJTbGF2ZTo6QWR2YW5jZWRFbmFibGVkJykgfHwgMDsKICAgIG15ICRNYXN0ZXJTbGF2ZUZvbGxvd1VwZGF0ZWRNYXN0ZXIgICAgICAgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpGb2xsb3dVcGRhdGVkTWFzdGVyJykgfHwgMDsKICAgIG15ICRNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVW5zZXQgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpLZWVwUGFyZW50Q2hpbGRBZnRlclVuc2V0JykgfHwgMDsKICAgIG15ICRNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVXBkYXRlID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpLZWVwUGFyZW50Q2hpbGRBZnRlclVwZGF0ZScpIHx8IDA7CiMgLS0tCgogICAgIyBnZXQgZHluYW1pYyBmaWVsZCB2YWx1ZXMgZm9ybSBodHRwIHJlcXVlc3QKICAgIG15ICVEeW5hbWljRmllbGRWYWx1ZXM7CgogICAgIyBjeWNsZSB0cm91Z2ggdGhlIGFjdGl2YXRlZCBEeW5hbWljIEZpZWxkcyBmb3IgdGhpcyBzY3JlZW4KICAgIERZTkFNSUNGSUVMRDoKICAgIGZvciBteSAkRHluYW1pY0ZpZWxkQ29uZmlnICggQHsgJFNlbGYtPntEeW5hbWljRmllbGR9IH0gKSB7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgIUlzSGFzaFJlZldpdGhEYXRhKCREeW5hbWljRmllbGRDb25maWcpOwoKICAgICAgICAjIGV4dHJhY3QgdGhlIGR5bmFtaWMgZmllbGQgdmFsdWUgZm9ybSB0aGUgd2ViIHJlcXVlc3QKICAgICAgICAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfQogICAgICAgICAgICA9ICRTZWxmLT57QmFja2VuZE9iamVjdH0tPkVkaXRGaWVsZFZhbHVlR2V0KAogICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgUGFyYW1PYmplY3QgICAgICAgID0+ICRTZWxmLT57UGFyYW1PYmplY3R9LAogICAgICAgICAgICBMYXlvdXRPYmplY3QgICAgICAgPT4gJFNlbGYtPntMYXlvdXRPYmplY3R9LAogICAgICAgICAgICApOwogICAgfQoKICAgICMgY29udmVydCBkeW5hbWljIGZpZWxkIHZhbHVlcyBpbnRvIGEgc3RydWN0dXJlIGZvciBBQ0xzCiAgICBteSAlRHluYW1pY0ZpZWxkQUNMUGFyYW1ldGVyczsKICAgIERZTkFNSUNGSUVMRDoKICAgIGZvciBteSAkRHluYW1pY0ZpZWxkICggc29ydCBrZXlzICVEeW5hbWljRmllbGRWYWx1ZXMgKSB7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISREeW5hbWljRmllbGQ7CiAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgISREeW5hbWljRmllbGRWYWx1ZXN7JER5bmFtaWNGaWVsZH07CgogICAgICAgICREeW5hbWljRmllbGRBQ0xQYXJhbWV0ZXJzeyAnRHluYW1pY0ZpZWxkXycgLiAkRHluYW1pY0ZpZWxkIH0KICAgICAgICAgICAgPSAkRHluYW1pY0ZpZWxkVmFsdWVzeyREeW5hbWljRmllbGR9OwogICAgfQogICAgJEdldFBhcmFte0R5bmFtaWNGaWVsZH0gPSBcJUR5bmFtaWNGaWVsZEFDTFBhcmFtZXRlcnM7CgogICAgIyB0cmFuc2Zvcm0gcGVuZGluZyB0aW1lLCB0aW1lIHN0YW1wIGJhc2VkIG9uIHVzZXIgdGltZSB6b25lCiAgICBpZiAoCiAgICAgICAgZGVmaW5lZCAkR2V0UGFyYW17WWVhcn0KICAgICAgICAmJiBkZWZpbmVkICRHZXRQYXJhbXtNb250aH0KICAgICAgICAmJiBkZWZpbmVkICRHZXRQYXJhbXtEYXl9CiAgICAgICAgJiYgZGVmaW5lZCAkR2V0UGFyYW17SG91cn0KICAgICAgICAmJiBkZWZpbmVkICRHZXRQYXJhbXtNaW51dGV9CiAgICAgICAgKQogICAgewogICAgICAgICVHZXRQYXJhbSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+VHJhbnNmb3JtRGF0ZVNlbGVjdGlvbigKICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICk7CiAgICB9CgogICAgIyByZXdyYXAgYm9keSBpZiBubyByaWNoIHRleHQgaXMgdXNlZAogICAgaWYgKCAkR2V0UGFyYW17Qm9keX0gJiYgISRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e0Jyb3dzZXJSaWNoVGV4dH0gKSB7CiAgICAgICAgJEdldFBhcmFte0JvZHl9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5XcmFwUGxhaW5UZXh0KAogICAgICAgICAgICBNYXhDaGFyYWN0ZXJzID0+ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpUZXh0QXJlYU5vdGUnKSwKICAgICAgICAgICAgUGxhaW5UZXh0ICAgICA9PiAkR2V0UGFyYW17Qm9keX0sCiAgICAgICAgKTsKICAgIH0KCiAgICBpZiAoICRTZWxmLT57U3ViYWN0aW9ufSBlcSAnU3RvcmUnICkgewoKICAgICAgICAjIGNoYWxsZW5nZSB0b2tlbiBjaGVjayBmb3Igd3JpdGUgYWN0aW9uCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5DaGFsbGVuZ2VUb2tlbkNoZWNrKCk7CgogICAgICAgICMgc3RvcmUgYWN0aW9uCiAgICAgICAgbXkgJUVycm9yOwoKICAgICAgICAjIElmIGlzIGFuIGFjdGlvbiBhYm91dCBhdHRhY2htZW50cwogICAgICAgIG15ICRJc1VwbG9hZCA9IDA7CgogICAgICAgICMgYXR0YWNobWVudCBkZWxldGUKICAgICAgICBteSBAQXR0YWNobWVudElEcyA9IG1hcCB7CiAgICAgICAgICAgIG15ICgkSUQpID0gJF8gPX4gbXsgXEEgQXR0YWNobWVudERlbGV0ZSAoXGQrKSBceiB9eG1zOwogICAgICAgICAgICAkSUQgPyAkSUQgOiAoKTsKICAgICAgICB9ICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbU5hbWVzKCk7CgogICAgICAgIENPVU5UOgogICAgICAgIGZvciBteSAkQ291bnQgKCByZXZlcnNlIHNvcnQgQEF0dGFjaG1lbnRJRHMgKSB7CiAgICAgICAgICAgIG15ICREZWxldGUgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0UGFyYW0oIFBhcmFtID0+ICJBdHRhY2htZW50RGVsZXRlJENvdW50IiApOwogICAgICAgICAgICBuZXh0IENPVU5UIGlmICEkRGVsZXRlOwogICAgICAgICAgICAlRXJyb3IgPSAoKTsKICAgICAgICAgICAgJEVycm9ye0F0dGFjaG1lbnREZWxldGV9ID0gMTsKICAgICAgICAgICAgJFNlbGYtPntVcGxvYWRDYWNoZU9iamVjdH0tPkZvcm1JRFJlbW92ZUZpbGUoCiAgICAgICAgICAgICAgICBGb3JtSUQgPT4gJFNlbGYtPntGb3JtSUR9LAogICAgICAgICAgICAgICAgRmlsZUlEID0+ICRDb3VudCwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJElzVXBsb2FkID0gMTsKICAgICAgICB9CgogICAgICAgICMgYXR0YWNobWVudCB1cGxvYWQKICAgICAgICBpZiAoICRTZWxmLT57UGFyYW1PYmplY3R9LT5HZXRQYXJhbSggUGFyYW0gPT4gJ0F0dGFjaG1lbnRVcGxvYWQnICkgKSB7CiAgICAgICAgICAgICRJc1VwbG9hZCAgICAgICAgICAgICAgICA9IDE7CiAgICAgICAgICAgICVFcnJvciAgICAgICAgICAgICAgICAgICA9ICgpOwogICAgICAgICAgICAkRXJyb3J7QXR0YWNobWVudFVwbG9hZH0gPSAxOwogICAgICAgICAgICBteSAlVXBsb2FkU3R1ZmYgPSAkU2VsZi0+e1BhcmFtT2JqZWN0fS0+R2V0VXBsb2FkQWxsKAogICAgICAgICAgICAgICAgUGFyYW0gPT4gJ0ZpbGVVcGxvYWQnLAogICAgICAgICAgICApOwogICAgICAgICAgICAkU2VsZi0+e1VwbG9hZENhY2hlT2JqZWN0fS0+Rm9ybUlEQWRkRmlsZSgKICAgICAgICAgICAgICAgIEZvcm1JRCA9PiAkU2VsZi0+e0Zvcm1JRH0sCiAgICAgICAgICAgICAgICAlVXBsb2FkU3R1ZmYsCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGdldCBhbGwgYXR0YWNobWVudHMgbWV0YSBkYXRhCiAgICAgICAgbXkgQEF0dGFjaG1lbnRzID0gJFNlbGYtPntVcGxvYWRDYWNoZU9iamVjdH0tPkZvcm1JREdldEFsbEZpbGVzTWV0YSgKICAgICAgICAgICAgRm9ybUlEID0+ICRTZWxmLT57Rm9ybUlEfSwKICAgICAgICApOwoKICAgICAgICAjIGNoZWNrIHBlbmRpbmcgdGltZQogICAgICAgIGlmICggJEdldFBhcmFte05ld1N0YXRlSUR9ICkgewogICAgICAgICAgICBteSAlU3RhdGVEYXRhID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT57U3RhdGVPYmplY3R9LT5TdGF0ZUdldCgKICAgICAgICAgICAgICAgIElEID0+ICRHZXRQYXJhbXtOZXdTdGF0ZUlEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGlmICggISRJc1VwbG9hZCApIHsKCiAgICAgICAgICAgICAgICAjIGNoZWNrIHN0YXRlIHR5cGUKICAgICAgICAgICAgICAgIGlmICggJFN0YXRlRGF0YXtUeXBlTmFtZX0gPX4gL15wZW5kaW5nL2kgKSB7CgogICAgICAgICAgICAgICAgICAgICMgY2hlY2sgbmVlZGVkIHN0dWZmCiAgICAgICAgICAgICAgICAgICAgZm9yIG15ICROZWVkZWQgKHF3KFllYXIgTW9udGggRGF5IEhvdXIgTWludXRlKSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoICFkZWZpbmVkICRHZXRQYXJhbXskTmVlZGVkfSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRFcnJvcnsnRGF0ZUludmFsaWQnfSA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICMgY2hlY2sgZGF0ZQogICAgICAgICAgICAgICAgICAgIGlmICggISRTZWxmLT57VGltZU9iamVjdH0tPkRhdGUyU3lzdGVtVGltZSggJUdldFBhcmFtLCBTZWNvbmQgPT4gMCApICkgewogICAgICAgICAgICAgICAgICAgICAgICAkRXJyb3J7J0RhdGVJbnZhbGlkJ30gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAgICAgICAgICRTZWxmLT57VGltZU9iamVjdH0tPkRhdGUyU3lzdGVtVGltZSggJUdldFBhcmFtLCBTZWNvbmQgPT4gMCApCiAgICAgICAgICAgICAgICAgICAgICAgIDwgJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICRFcnJvcnsnRGF0ZUludmFsaWQnfSA9ICdTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoICEkSXNVcGxvYWQgKSB7CiAgICAgICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57Tm90ZX0gJiYgJFNlbGYtPntDb25maWd9LT57Tm90ZU1hbmRhdG9yeX0gKSB7CgogICAgICAgICAgICAgICAgIyBjaGVjayBzdWJqZWN0CiAgICAgICAgICAgICAgICBpZiAoICEkR2V0UGFyYW17U3ViamVjdH0gKSB7CiAgICAgICAgICAgICAgICAgICAgJEVycm9yeydTdWJqZWN0SW52YWxpZCd9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAjIGNoZWNrIGJvZHkKICAgICAgICAgICAgICAgIGlmICggISRHZXRQYXJhbXtCb2R5fSApIHsKICAgICAgICAgICAgICAgICAgICAkRXJyb3J7J0JvZHlJbnZhbGlkJ30gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGNoZWNrIG93bmVyCiAgICAgICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57T3duZXJ9ICYmICRTZWxmLT57Q29uZmlnfS0+e093bmVyTWFuZGF0b3J5fSApIHsKICAgICAgICAgICAgICAgIGlmICggJEdldFBhcmFte05ld093bmVyVHlwZX0gZXEgJ05ldycgJiYgISRHZXRQYXJhbXtOZXdPd25lcklEfSApIHsKICAgICAgICAgICAgICAgICAgICAkRXJyb3J7J05ld093bmVySW52YWxpZCd9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmICggJEdldFBhcmFte05ld093bmVyVHlwZX0gZXEgJ09sZCcgJiYgISRHZXRQYXJhbXtPbGRPd25lcklEfSApIHsKICAgICAgICAgICAgICAgICAgICAkRXJyb3J7J09sZE93bmVySW52YWxpZCd9ID0gJ1NlcnZlckVycm9yJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBjaGVjayB0aXRsZQogICAgICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1RpdGxlfSAmJiAhJEdldFBhcmFte1RpdGxlfSApIHsKICAgICAgICAgICAgICAgICRFcnJvcnsnVGl0bGVJbnZhbGlkJ30gPSAnU2VydmVyRXJyb3InOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGNoZWNrIHR5cGUKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpUeXBlJykgKQogICAgICAgICAgICAgICAgJiYKICAgICAgICAgICAgICAgICggJFNlbGYtPntDb25maWd9LT57VGlja2V0VHlwZX0gKSAmJgogICAgICAgICAgICAgICAgKCAhJEdldFBhcmFte1R5cGVJRH0gKQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkRXJyb3J7J1R5cGVJREludmFsaWQnfSA9ICcgU2VydmVyRXJyb3InOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGNoZWNrIHNlcnZpY2UKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6U2VydmljZScpCiAgICAgICAgICAgICAgICAmJiAkU2VsZi0+e0NvbmZpZ30tPntTZXJ2aWNlfQogICAgICAgICAgICAgICAgJiYgJEdldFBhcmFte1NMQUlEfQogICAgICAgICAgICAgICAgJiYgISRHZXRQYXJhbXtTZXJ2aWNlSUR9CiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRFcnJvcnsnU2VydmljZUludmFsaWQnfSA9ICcgU2VydmVyRXJyb3InOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGNoZWNrIG1hbmRhdG9yeSBzZXJ2aWNlCiAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlNlcnZpY2UnKQogICAgICAgICAgICAgICAgJiYgJFNlbGYtPntDb25maWd9LT57U2VydmljZX0KICAgICAgICAgICAgICAgICYmICRTZWxmLT57Q29uZmlnfS0+e1NlcnZpY2VNYW5kYXRvcnl9CiAgICAgICAgICAgICAgICAmJiAhJEdldFBhcmFte1NlcnZpY2VJRH0KICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJEVycm9yeydTZXJ2aWNlSW52YWxpZCd9ID0gJyBTZXJ2ZXJFcnJvcic7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgY2hlY2sgbWFuZGF0b3J5IHNsYQogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpTZXJ2aWNlJykKICAgICAgICAgICAgICAgICYmICRTZWxmLT57Q29uZmlnfS0+e1NlcnZpY2V9CiAgICAgICAgICAgICAgICAmJiAkU2VsZi0+e0NvbmZpZ30tPntTTEFNYW5kYXRvcnl9CiAgICAgICAgICAgICAgICAmJiAhJEdldFBhcmFte1NMQUlEfQogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkRXJyb3J7J1NMQUludmFsaWQnfSA9ICcgU2VydmVyRXJyb3InOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGNoZWNrIHRpbWUgdW5pdHMsIGJ1dCBvbmx5IGlmIHRoZSBjdXJyZW50IHNjcmVlbiBoYXMgYSBub3RlCiAgICAgICAgICAgICMgICAoYWNjb3VudGVkIHRpbWUgY2FuIG9ubHkgYmUgc3RvcmVkIGlmIGFuZCBhcnRpY2xlIGlzIGdlbmVyYXRlZCkKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6Ok5lZWRBY2NvdW50ZWRUaW1lJykKICAgICAgICAgICAgICAgICYmICRTZWxmLT57Q29uZmlnfS0+e05vdGV9CiAgICAgICAgICAgICAgICAmJiAkR2V0UGFyYW17VGltZVVuaXRzfSBlcSAnJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkRXJyb3J7J1RpbWVVbml0c0ludmFsaWQnfSA9ICcgU2VydmVyRXJyb3InOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIGV4cGFuZAogICAgICAgIGlmICggJEdldFBhcmFte0V4cGFuZH0gKSB7CiAgICAgICAgICAgICVFcnJvciA9ICgpOwogICAgICAgICAgICAkRXJyb3J7RXhwYW5kfSA9IDE7CiAgICAgICAgfQoKICAgICAgICAjIGNyZWF0ZSBodG1sIHN0cmluZ3MgZm9yIGFsbCBkeW5hbWljIGZpZWxkcwogICAgICAgIG15ICVEeW5hbWljRmllbGRIVE1MOwoKICAgICAgICAjIGN5Y2xlIHRyb3VnaCB0aGUgYWN0aXZhdGVkIER5bmFtaWMgRmllbGRzIGZvciB0aGlzIHNjcmVlbgogICAgICAgIERZTkFNSUNGSUVMRDoKICAgICAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewogICAgICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZENvbmZpZyk7CgojIC0tLQojIE1hc3RlclNsYXZlCiMgLS0tCiAgICAgICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxECiAgICAgICAgICAgIGlmICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSBlcSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTWFzdGVyU2xhdmU6OkR5bmFtaWNGaWVsZCcpOwojIC0tLQoKICAgICAgICAgICAgbXkgJFBvc3NpYmxlVmFsdWVzRmlsdGVyOwoKICAgICAgICAgICAgbXkgJElzQUNMUmVkdWNpYmxlID0gJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+SGFzQmVoYXZpb3IoCiAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgICAgIEJlaGF2aW9yICAgICAgICAgICA9PiAnSXNBQ0xSZWR1Y2libGUnLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgaWYgKCRJc0FDTFJlZHVjaWJsZSkgewoKICAgICAgICAgICAgICAgICMgZ2V0IFBvc3NpYmxlVmFsdWVzCiAgICAgICAgICAgICAgICBteSAkUG9zc2libGVWYWx1ZXMgPSAkU2VsZi0+e0JhY2tlbmRPYmplY3R9LT5Qb3NzaWJsZVZhbHVlc0dldCgKICAgICAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyBjaGVjayBpZiBmaWVsZCBoYXMgUG9zc2libGVWYWx1ZXMgcHJvcGVydHkgaW4gaXRzIGNvbmZpZ3VyYXRpb24KICAgICAgICAgICAgICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoJFBvc3NpYmxlVmFsdWVzKSApIHsKCiAgICAgICAgICAgICAgICAgICAgIyBjb252ZXJ0IHBvc3NpYmxlIHZhbHVlcyBrZXkgPT4gdmFsdWUgdG8ga2V5ID0+IGtleSBmb3IgQUNMcyB1c2luZyBhIEhhc2ggc2xpY2UKICAgICAgICAgICAgICAgICAgICBteSAlQWNsRGF0YSA9ICV7JFBvc3NpYmxlVmFsdWVzfTsKICAgICAgICAgICAgICAgICAgICBAQWNsRGF0YXsga2V5cyAlQWNsRGF0YSB9ID0ga2V5cyAlQWNsRGF0YTsKCiAgICAgICAgICAgICAgICAgICAgIyBzZXQgcG9zc2libGUgdmFsdWVzIGZpbHRlciBmcm9tIEFDTHMKICAgICAgICAgICAgICAgICAgICBteSAkQUNMID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRBY2woCiAgICAgICAgICAgICAgICAgICAgICAgICVHZXRQYXJhbSwKICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uICAgICAgICA9PiAkU2VsZi0+e0FjdGlvbn0sCiAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgPT4gJFNlbGYtPntUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVyblR5cGUgICAgPT4gJ1RpY2tldCcsCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVyblN1YlR5cGUgPT4gJ0R5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9LAogICAgICAgICAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgID0+IFwlQWNsRGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgICAgICBpZiAoJEFDTCkgewogICAgICAgICAgICAgICAgICAgICAgICBteSAlRmlsdGVyID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRBY2xEYXRhKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAjIGNvbnZlcnQgRmlsZXIga2V5ID0+IGtleSBiYWNrIHRvIGtleSA9PiB2YWx1ZSB1c2luZyBtYXAKICAgICAgICAgICAgICAgICAgICAgICAgJXskUG9zc2libGVWYWx1ZXNGaWx0ZXJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IG1hcCB7ICRfID0+ICRQb3NzaWJsZVZhbHVlcy0+eyRffSB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzICVGaWx0ZXI7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBteSAkVmFsaWRhdGlvblJlc3VsdDsKCiAgICAgICAgICAgICMgZG8gbm90IHZhbGlkYXRlIG9uIGF0dGFjaG1lbnQgdXBsb2FkCiAgICAgICAgICAgIGlmICggISRJc1VwbG9hZCApIHsKCiAgICAgICAgICAgICAgICAkVmFsaWRhdGlvblJlc3VsdCA9ICRTZWxmLT57QmFja2VuZE9iamVjdH0tPkVkaXRGaWVsZFZhbHVlVmFsaWRhdGUoCiAgICAgICAgICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnICAgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgICAgICAgICBQb3NzaWJsZVZhbHVlc0ZpbHRlciA9PiAkUG9zc2libGVWYWx1ZXNGaWx0ZXIsCiAgICAgICAgICAgICAgICAgICAgUGFyYW1PYmplY3QgICAgICAgICAgPT4gJFNlbGYtPntQYXJhbU9iamVjdH0sCiAgICAgICAgICAgICAgICAgICAgTWFuZGF0b3J5ID0+CiAgICAgICAgICAgICAgICAgICAgICAgICRTZWxmLT57Q29uZmlnfS0+e0R5bmFtaWNGaWVsZH0tPnsgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gPT0gMiwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgaWYgKCAhSXNIYXNoUmVmV2l0aERhdGEoJFZhbGlkYXRpb25SZXN1bHQpICkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkVycm9yU2NyZWVuKAogICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlID0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IHBlcmZvcm0gdmFsaWRhdGlvbiBvbiBmaWVsZCAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TGFiZWx9ISIsCiAgICAgICAgICAgICAgICAgICAgICAgIENvbW1lbnQgPT4gJ1BsZWFzZSBjb250YWN0IHRoZSBhZG1pbi4nLAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBwcm9wYWdhdGUgdmFsaWRhdGlvbiBlcnJvciB0byB0aGUgRXJyb3IgdmFyaWFibGUgdG8gYmUgZGV0ZWN0ZWQgYnkgdGhlIGZyb250ZW5kCiAgICAgICAgICAgICAgICBpZiAoICRWYWxpZGF0aW9uUmVzdWx0LT57U2VydmVyRXJyb3J9ICkgewogICAgICAgICAgICAgICAgICAgICRFcnJvcnsgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gPSAnIFNlcnZlckVycm9yJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBnZXQgZmllbGQgaHRtbAogICAgICAgICAgICAkRHluYW1pY0ZpZWxkSFRNTHsgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gPQogICAgICAgICAgICAgICAgJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+RWRpdEZpZWxkUmVuZGVyKAogICAgICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnICAgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgICAgIFBvc3NpYmxlVmFsdWVzRmlsdGVyID0+ICRQb3NzaWJsZVZhbHVlc0ZpbHRlciwKICAgICAgICAgICAgICAgIE1hbmRhdG9yeSA9PgogICAgICAgICAgICAgICAgICAgICRTZWxmLT57Q29uZmlnfS0+e0R5bmFtaWNGaWVsZH0tPnsgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH0gPT0gMiwKICAgICAgICAgICAgICAgIFNlcnZlckVycm9yICA9PiAkVmFsaWRhdGlvblJlc3VsdC0+e1NlcnZlckVycm9yfSAgfHwgJycsCiAgICAgICAgICAgICAgICBFcnJvck1lc3NhZ2UgPT4gJFZhbGlkYXRpb25SZXN1bHQtPntFcnJvck1lc3NhZ2V9IHx8ICcnLAogICAgICAgICAgICAgICAgTGF5b3V0T2JqZWN0ID0+ICRTZWxmLT57TGF5b3V0T2JqZWN0fSwKICAgICAgICAgICAgICAgIFBhcmFtT2JqZWN0ICA9PiAkU2VsZi0+e1BhcmFtT2JqZWN0fSwKICAgICAgICAgICAgICAgIEFKQVhVcGRhdGUgICA9PiAxLAogICAgICAgICAgICAgICAgVXBkYXRhYmxlRmllbGRzID0+ICRTZWxmLT5fR2V0RmllbGRzVG9VcGRhdGUoKSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGNoZWNrIGVycm9ycwogICAgICAgIGlmICglRXJyb3IpIHsKCiAgICAgICAgICAgIG15ICRPdXRwdXQgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkhlYWRlcigKICAgICAgICAgICAgICAgIFR5cGUgICAgICA9PiAnU21hbGwnLAogICAgICAgICAgICAgICAgVmFsdWUgICAgID0+ICRUaWNrZXR7VGlja2V0TnVtYmVyfSwKICAgICAgICAgICAgICAgIEJvZHlDbGFzcyA9PiAnUG9wdXAnLAogICAgICAgICAgICApOwogICAgICAgICAgICAkT3V0cHV0IC49ICRTZWxmLT5fTWFzaygKICAgICAgICAgICAgICAgIEF0dGFjaG1lbnRzICAgICAgID0+IFxAQXR0YWNobWVudHMsCiAgICAgICAgICAgICAgICBUaW1lVW5pdHNSZXF1aXJlZCA9PiAoCiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6RnJvbnRlbmQ6Ok5lZWRBY2NvdW50ZWRUaW1lJykKICAgICAgICAgICAgICAgICAgICA/ICdWYWxpZGF0ZV9SZXF1aXJlZCcKICAgICAgICAgICAgICAgICAgICA6ICcnCiAgICAgICAgICAgICAgICApLAogICAgICAgICAgICAgICAgJVRpY2tldCwKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZEhUTUwgPT4gXCVEeW5hbWljRmllbGRIVE1MLAogICAgICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICAgICAgICAgJUVycm9yLAogICAgICAgICAgICApOwogICAgICAgICAgICAkT3V0cHV0IC49ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Rm9vdGVyKAogICAgICAgICAgICAgICAgVHlwZSA9PiAnU21hbGwnLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm4gJE91dHB1dDsKICAgICAgICB9CgogICAgICAgICMgc2V0IG5ldyB0aXRsZQogICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57VGl0bGV9ICkgewogICAgICAgICAgICBpZiAoIGRlZmluZWQgJEdldFBhcmFte1RpdGxlfSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0VGl0bGVVcGRhdGUoCiAgICAgICAgICAgICAgICAgICAgVGl0bGUgICAgPT4gJEdldFBhcmFte1RpdGxlfSwKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIHNldCBuZXcgdHlwZQogICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6VHlwZScpICYmICRTZWxmLT57Q29uZmlnfS0+e1RpY2tldFR5cGV9ICkgewogICAgICAgICAgICBpZiAoICRHZXRQYXJhbXtUeXBlSUR9ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRUeXBlU2V0KAogICAgICAgICAgICAgICAgICAgIFR5cGVJRCAgID0+ICRHZXRQYXJhbXtUeXBlSUR9LAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgc2V0IG5ldyBzZXJ2aWNlCiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpTZXJ2aWNlJykgJiYgJFNlbGYtPntDb25maWd9LT57U2VydmljZX0gKSB7CiAgICAgICAgICAgIGlmICggZGVmaW5lZCAkR2V0UGFyYW17U2VydmljZUlEfSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VydmljZVNldCgKICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlSUQgICAgICA9PiAkR2V0UGFyYW17U2VydmljZUlEfSwKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgICAgICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBDdXN0b21lclVzZXJJRCA9PiAkVGlja2V0e0N1c3RvbWVyVXNlcklEfSwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggZGVmaW5lZCAkR2V0UGFyYW17U0xBSUR9ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTTEFTZXQoCiAgICAgICAgICAgICAgICAgICAgU0xBSUQgICAgPT4gJEdldFBhcmFte1NMQUlEfSwKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIHNldCBuZXcgb3duZXIKICAgICAgICBteSBATm90aWZ5RG9uZTsKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e093bmVyfSApIHsKICAgICAgICAgICAgbXkgJEJvZHlUZXh0ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5SaWNoVGV4dDJBc2NpaSgKICAgICAgICAgICAgICAgIFN0cmluZyA9PiAkR2V0UGFyYW17Qm9keX0gfHwgJycsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGlmICggJEdldFBhcmFte05ld093bmVyVHlwZX0gZXEgJ09sZCcgJiYgJEdldFBhcmFte09sZE93bmVySUR9ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRMb2NrU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIExvY2sgICAgID0+ICdsb2NrJywKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE93bmVyU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgIE5ld1VzZXJJRCA9PiAkR2V0UGFyYW17T2xkT3duZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgQ29tbWVudCAgID0+ICRCb2R5VGV4dCwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyByZW1lbWJlciB0byBub3Qgbm90aWZ5IG93bmVyIHR3aWNlCiAgICAgICAgICAgICAgICBpZiAoICRTdWNjZXNzICYmICRTdWNjZXNzIGVxIDEgKSB7CiAgICAgICAgICAgICAgICAgICAgcHVzaCBATm90aWZ5RG9uZSwgJEdldFBhcmFte09sZE93bmVySUR9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2lmICggJEdldFBhcmFte05ld093bmVySUR9ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRMb2NrU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIExvY2sgICAgID0+ICdsb2NrJywKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE93bmVyU2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgIE5ld1VzZXJJRCA9PiAkR2V0UGFyYW17TmV3T3duZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgQ29tbWVudCAgID0+ICRCb2R5VGV4dCwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgIyByZW1lbWJlciB0byBub3Qgbm90aWZ5IG93bmVyIHR3aWNlCiAgICAgICAgICAgICAgICBpZiAoICRTdWNjZXNzICYmICRTdWNjZXNzIGVxIDEgKSB7CiAgICAgICAgICAgICAgICAgICAgcHVzaCBATm90aWZ5RG9uZSwgJEdldFBhcmFte05ld093bmVySUR9OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIHNldCBuZXcgcmVzcG9uc2libGUKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlJlc3BvbnNpYmxlJykgJiYgJFNlbGYtPntDb25maWd9LT57UmVzcG9uc2libGV9ICkgewogICAgICAgICAgICBpZiAoICRHZXRQYXJhbXtOZXdSZXNwb25zaWJsZUlEfSApIHsKICAgICAgICAgICAgICAgIG15ICRCb2R5VGV4dCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UmljaFRleHQyQXNjaWkoCiAgICAgICAgICAgICAgICAgICAgU3RyaW5nID0+ICRHZXRQYXJhbXtCb2R5fSB8fCAnJywKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBteSAkU3VjY2VzcyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0UmVzcG9uc2libGVTZXQoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgTmV3VXNlcklEID0+ICRHZXRQYXJhbXtOZXdSZXNwb25zaWJsZUlEfSwKICAgICAgICAgICAgICAgICAgICBDb21tZW50ICAgPT4gJEJvZHlUZXh0LAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAjIHJlbWVtYmVyIHRvIG5vdCBub3RpZnkgcmVzcG9uc2libGUgdHdpY2UKICAgICAgICAgICAgICAgIGlmICggJFN1Y2Nlc3MgJiYgJFN1Y2Nlc3MgZXEgMSApIHsKICAgICAgICAgICAgICAgICAgICBwdXNoIEBOb3RpZnlEb25lLCAkR2V0UGFyYW17TmV3UmVzcG9uc2libGVJRH07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgbW92ZSB0aWNrZXQgdG8gYSBuZXcgcXVldWUsIGJ1dCBvbmx5IGlmIHRoZSBxdWV1ZSB3YXMgY2hhbmdlZAogICAgICAgIGlmICgKICAgICAgICAgICAgJFNlbGYtPntDb25maWd9LT57UXVldWV9CiAgICAgICAgICAgICYmICRHZXRQYXJhbXtOZXdRdWV1ZUlEfQogICAgICAgICAgICAmJiAkR2V0UGFyYW17TmV3UXVldWVJRH0gbmUgJFRpY2tldHtRdWV1ZUlEfQogICAgICAgICAgICApCiAgICAgICAgewoKICAgICAgICAgICAgIyBtb3ZlIHRpY2tldCAoc2VuZCBub3RpZmljYXRpb24gaWYgbm8gbmV3IG93bmVyIGlzIHNlbGVjdGVkKQogICAgICAgICAgICBteSAkQm9keUFzVGV4dCA9ICcnOwogICAgICAgICAgICBpZiAoICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e0Jyb3dzZXJSaWNoVGV4dH0gKSB7CiAgICAgICAgICAgICAgICAkQm9keUFzVGV4dCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UmljaFRleHQyQXNjaWkoCiAgICAgICAgICAgICAgICAgICAgU3RyaW5nID0+ICRHZXRQYXJhbXtCb2R5fSB8fCAwLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICRCb2R5QXNUZXh0ID0gJEdldFBhcmFte0JvZHl9IHx8IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbXkgJE1vdmUgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFF1ZXVlU2V0KAogICAgICAgICAgICAgICAgUXVldWVJRCAgICAgICAgICAgID0+ICRHZXRQYXJhbXtOZXdRdWV1ZUlEfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICBUaWNrZXRJRCAgICAgICAgICAgPT4gJFNlbGYtPntUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBTZW5kTm9Ob3RpZmljYXRpb24gPT4gJEdldFBhcmFte05ld1VzZXJJRH0sCiAgICAgICAgICAgICAgICBDb21tZW50ICAgICAgICAgICAgPT4gJEJvZHlBc1RleHQsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGlmICggISRNb3ZlICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RXJyb3JTY3JlZW4oKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBhZGQgbm90ZQogICAgICAgIG15ICRBcnRpY2xlSUQgPSAnJzsKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e05vdGV9ICYmICggJEdldFBhcmFte1N1YmplY3R9IHx8ICRHZXRQYXJhbXtCb2R5fSApICkgewoKICAgICAgICAgICAgaWYgKCAhJEdldFBhcmFte1N1YmplY3R9ICkgewogICAgICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntTdWJqZWN0fSApIHsKICAgICAgICAgICAgICAgICAgICBteSAkU3ViamVjdCA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICAgICAgICAgICAgICBUZW1wbGF0ZSA9PiAkU2VsZi0+e0NvbmZpZ30tPntTdWJqZWN0fSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgICRHZXRQYXJhbXtTdWJqZWN0fSA9ICRTdWJqZWN0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJEdldFBhcmFte1N1YmplY3R9ID0gJEdldFBhcmFte1N1YmplY3R9CiAgICAgICAgICAgICAgICAgICAgfHwgJFNlbGYtPntMYXlvdXRPYmplY3R9LT57TGFuZ3VhZ2VPYmplY3R9LT5HZXQoJ05vIHN1YmplY3QnKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBpZiB0aGVyZSBpcyBubyBBcnRpY2xlVHlwZUlELCB1c2UgdGhlIGRlZmF1bHQgdmFsdWUKICAgICAgICAgICAgaWYgKCAhZGVmaW5lZCAkR2V0UGFyYW17QXJ0aWNsZVR5cGVJRH0gKSB7CiAgICAgICAgICAgICAgICAkR2V0UGFyYW17QXJ0aWNsZVR5cGV9ID0gJFNlbGYtPntDb25maWd9LT57QXJ0aWNsZVR5cGVEZWZhdWx0fTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbXkgJE1pbWVUeXBlID0gJ3RleHQvcGxhaW4nOwogICAgICAgICAgICBpZiAoICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e0Jyb3dzZXJSaWNoVGV4dH0gKSB7CiAgICAgICAgICAgICAgICAkTWltZVR5cGUgPSAndGV4dC9odG1sJzsKCiAgICAgICAgICAgICAgICAjIHZlcmlmeSBodG1sIGRvY3VtZW50CiAgICAgICAgICAgICAgICAkR2V0UGFyYW17Qm9keX0gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPlJpY2hUZXh0RG9jdW1lbnRDb21wbGV0ZSgKICAgICAgICAgICAgICAgICAgICBTdHJpbmcgPT4gJEdldFBhcmFte0JvZHl9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbXkgJEZyb20gPSAiXCIkU2VsZi0+e1VzZXJGaXJzdG5hbWV9ICRTZWxmLT57VXNlckxhc3RuYW1lfVwiIDwkU2VsZi0+e1VzZXJFbWFpbH0+IjsKICAgICAgICAgICAgbXkgQE5vdGlmeVVzZXJJRHMgPSAoIEB7ICRTZWxmLT57SW5mb3JtVXNlcklEfSB9LCBAeyAkU2VsZi0+e0ludm9sdmVkVXNlcklEfSB9ICk7CiAgICAgICAgICAgICRBcnRpY2xlSUQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVDcmVhdGUoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCAgICAgICAgICAgICAgICAgICAgICAgID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgU2VuZGVyVHlwZSAgICAgICAgICAgICAgICAgICAgICA9PiAnYWdlbnQnLAogICAgICAgICAgICAgICAgRnJvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAkRnJvbSwKICAgICAgICAgICAgICAgIE1pbWVUeXBlICAgICAgICAgICAgICAgICAgICAgICAgPT4gJE1pbWVUeXBlLAogICAgICAgICAgICAgICAgQ2hhcnNldCAgICAgICAgICAgICAgICAgICAgICAgICA9PiAkU2VsZi0+e0xheW91dE9iamVjdH0tPntVc2VyQ2hhcnNldH0sCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgICAgICAgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgICAgICAgICAgICAgICAgICAgPT4gJFNlbGYtPntDb25maWd9LT57SGlzdG9yeVR5cGV9LAogICAgICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgICAgICAgICAgICAgICAgICA9PiAkU2VsZi0+e0NvbmZpZ30tPntIaXN0b3J5Q29tbWVudH0sCiAgICAgICAgICAgICAgICBGb3JjZU5vdGlmaWNhdGlvblRvVXNlcklEICAgICAgID0+IFxATm90aWZ5VXNlcklEcywKICAgICAgICAgICAgICAgIEV4Y2x1ZGVNdXRlTm90aWZpY2F0aW9uVG9Vc2VySUQgPT4gXEBOb3RpZnlEb25lLAogICAgICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoICEkQXJ0aWNsZUlEICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+RXJyb3JTY3JlZW4oKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyB0aW1lIGFjY291bnRpbmcKICAgICAgICAgICAgaWYgKCAkR2V0UGFyYW17VGltZVVuaXRzfSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0QWNjb3VudFRpbWUoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgICAgIEFydGljbGVJRCA9PiAkQXJ0aWNsZUlELAogICAgICAgICAgICAgICAgICAgIFRpbWVVbml0ICA9PiAkR2V0UGFyYW17VGltZVVuaXRzfSwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBnZXQgcHJlIGxvYWRlZCBhdHRhY2htZW50CiAgICAgICAgICAgIG15IEBBdHRhY2htZW50cyA9ICRTZWxmLT57VXBsb2FkQ2FjaGVPYmplY3R9LT5Gb3JtSURHZXRBbGxGaWxlc0RhdGEoCiAgICAgICAgICAgICAgICBGb3JtSUQgPT4gJFNlbGYtPntGb3JtSUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBnZXQgc3VibWl0IGF0dGFjaG1lbnQKICAgICAgICAgICAgbXkgJVVwbG9hZFN0dWZmID0gJFNlbGYtPntQYXJhbU9iamVjdH0tPkdldFVwbG9hZEFsbCgKICAgICAgICAgICAgICAgIFBhcmFtID0+ICdGaWxlVXBsb2FkJywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgaWYgKCVVcGxvYWRTdHVmZikgewogICAgICAgICAgICAgICAgcHVzaCBAQXR0YWNobWVudHMsIFwlVXBsb2FkU3R1ZmY7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgd3JpdGUgYXR0YWNobWVudHMKICAgICAgICAgICAgQVRUQUNITUVOVDoKICAgICAgICAgICAgZm9yIG15ICRBdHRhY2htZW50IChAQXR0YWNobWVudHMpIHsKCiAgICAgICAgICAgICAgICAjIHNraXAsIGRlbGV0ZWQgbm90IHVzZWQgaW5saW5lIGltYWdlcwogICAgICAgICAgICAgICAgbXkgJENvbnRlbnRJRCA9ICRBdHRhY2htZW50LT57Q29udGVudElEfTsKICAgICAgICAgICAgICAgIGlmICgkQ29udGVudElEKSB7CiAgICAgICAgICAgICAgICAgICAgbXkgJENvbnRlbnRJREhUTUxRdW90ZSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QXNjaWkySHRtbCgKICAgICAgICAgICAgICAgICAgICAgICAgVGV4dCA9PiAkQ29udGVudElELAogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgICAgICMgd29ya2Fyb3VuZCBmb3IgbGluayBlbmNvZGUgb2YgcmljaCB0ZXh0IGVkaXRvciwgc2VlIGJ1ZyM1MDUzCiAgICAgICAgICAgICAgICAgICAgbXkgJENvbnRlbnRJRExpbmtFbmNvZGUgPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkxpbmtFbmNvZGUoJENvbnRlbnRJRCk7CiAgICAgICAgICAgICAgICAgICAgJEdldFBhcmFte0JvZHl9ID1+IHMvKENvbnRlbnRJRD0pJENvbnRlbnRJRExpbmtFbmNvZGUvJDEkQ29udGVudElEL2c7CgogICAgICAgICAgICAgICAgICAgICMgaWdub3JlIGF0dGFjaG1lbnQgaWYgbm90IGxpbmtlZCBpbiBib2R5CiAgICAgICAgICAgICAgICAgICAgbmV4dCBBVFRBQ0hNRU5UCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICRHZXRQYXJhbXtCb2R5fSAhfiAvKFxRJENvbnRlbnRJREhUTUxRdW90ZVxFfFxRJENvbnRlbnRJRFxFKS9pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgd3JpdGUgZXhpc3RpbmcgZmlsZSB0byBiYWNrZW5kCiAgICAgICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVXcml0ZUF0dGFjaG1lbnQoCiAgICAgICAgICAgICAgICAgICAgJXskQXR0YWNobWVudH0sCiAgICAgICAgICAgICAgICAgICAgQXJ0aWNsZUlEID0+ICRBcnRpY2xlSUQsCiAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgcmVtb3ZlIHByZSBzdWJtaXR0ZWQgYXR0YWNobWVudHMKICAgICAgICAgICAgJFNlbGYtPntVcGxvYWRDYWNoZU9iamVjdH0tPkZvcm1JRFJlbW92ZSggRm9ybUlEID0+ICRTZWxmLT57Rm9ybUlEfSApOwogICAgICAgIH0KCiAgICAgICAgIyBzZXQgZHluYW1pYyBmaWVsZHMKICAgICAgICAjIGN5Y2xlIHRocm91Z2ggdGhlIGFjdGl2YXRlZCBEeW5hbWljIEZpZWxkcyBmb3IgdGhpcyBzY3JlZW4KICAgICAgICBEWU5BTUlDRklFTEQ6CiAgICAgICAgZm9yIG15ICREeW5hbWljRmllbGRDb25maWcgKCBAeyAkU2VsZi0+e0R5bmFtaWNGaWVsZH0gfSApIHsKICAgICAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgIUlzSGFzaFJlZldpdGhEYXRhKCREeW5hbWljRmllbGRDb25maWcpOwoKIyAtLS0KIyBNYXN0ZXJTbGF2ZQojIC0tLQogICAgICAgICAgICBpZiAoCiAgICAgICAgICAgICAgICAkTWFzdGVyU2xhdmVBZHZhbmNlZEVuYWJsZWQKICAgICAgICAgICAgICAgICYmICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZAogICAgICAgICAgICAgICAgJiYgJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IGVxICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZCwKICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICBpZiAoICREeW5hbWljRmllbGRWYWx1ZXN7JE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkfSApIHsKICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e01hc3RlclNsYXZlT2JqZWN0fS0+TWFzdGVyU2xhdmUoCiAgICAgICAgICAgICAgICAgICAgICAgIE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkTmFtZSAgICAgICAgICAgPT4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkLAogICAgICAgICAgICAgICAgICAgICAgICBNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlICAgICAgICAgID0+ICREeW5hbWljRmllbGRWYWx1ZXN7JE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkfSwKICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgICAgIE1hc3RlclNsYXZlRm9sbG93VXBkYXRlZE1hc3RlciAgICAgICAgPT4gJE1hc3RlclNsYXZlRm9sbG93VXBkYXRlZE1hc3RlciwKICAgICAgICAgICAgICAgICAgICAgICAgTWFzdGVyU2xhdmVLZWVwUGFyZW50Q2hpbGRBZnRlclVuc2V0ICA9PiAkTWFzdGVyU2xhdmVLZWVwUGFyZW50Q2hpbGRBZnRlclVuc2V0LAogICAgICAgICAgICAgICAgICAgICAgICBNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVXBkYXRlID0+ICRNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVXBkYXRlLAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBuZXh0IERZTkFNSUNGSUVMRDsKICAgICAgICAgICAgfQojIC0tLQoKICAgICAgICAgICAgIyBzZXQgdGhlIG9iamVjdCBJRCAoVGlja2V0SUQgb3IgQXJ0aWNsZUlEKSBkZXBlbmRpbmcgb24gdGhlIGZpZWxkIGNvbmZpZ3JhdGlvbgogICAgICAgICAgICBteSAkT2JqZWN0SUQKICAgICAgICAgICAgICAgID0gJER5bmFtaWNGaWVsZENvbmZpZy0+e09iamVjdFR5cGV9IGVxICdBcnRpY2xlJyA/ICRBcnRpY2xlSUQgOiAkU2VsZi0+e1RpY2tldElEfTsKCiAgICAgICAgICAgICMgc2V0IHRoZSB2YWx1ZQogICAgICAgICAgICBteSAkU3VjY2VzcyA9ICRTZWxmLT57QmFja2VuZE9iamVjdH0tPlZhbHVlU2V0KAogICAgICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgICAgICBPYmplY3RJRCAgICAgICAgICAgPT4gJE9iamVjdElELAogICAgICAgICAgICAgICAgVmFsdWUgICAgICAgICAgICAgID0+ICREeW5hbWljRmllbGRWYWx1ZXN7ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2V0IHByaW9yaXR5CiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntQcmlvcml0eX0gJiYgJEdldFBhcmFte05ld1ByaW9yaXR5SUR9ICkgewogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFByaW9yaXR5U2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgIFByaW9yaXR5SUQgPT4gJEdldFBhcmFte05ld1ByaW9yaXR5SUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHNldCBzdGF0ZQogICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57U3RhdGV9ICYmICRHZXRQYXJhbXtOZXdTdGF0ZUlEfSApIHsKICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTdGF0ZVNldCgKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICAgICAgICAgU3RhdGVJRCAgPT4gJEdldFBhcmFte05ld1N0YXRlSUR9LAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyB1bmxvY2sgdGhlIHRpY2tldCBhZnRlciBjbG9zZQogICAgICAgICAgICBteSAlU3RhdGVEYXRhID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT57U3RhdGVPYmplY3R9LT5TdGF0ZUdldCgKICAgICAgICAgICAgICAgIElEID0+ICRHZXRQYXJhbXtOZXdTdGF0ZUlEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgc2V0IHVubG9jayBvbiBjbG9zZSBzdGF0ZQogICAgICAgICAgICBpZiAoICRTdGF0ZURhdGF7VHlwZU5hbWV9ID1+IC9eY2xvc2UvaSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0TG9ja1NldCgKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBMb2NrICAgICA9PiAndW5sb2NrJywKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAjIHNldCBwZW5kaW5nIHRpbWUgb24gcGVuZGluZyBzdGF0ZQogICAgICAgICAgICBlbHNpZiAoICRTdGF0ZURhdGF7VHlwZU5hbWV9ID1+IC9ecGVuZGluZy9pICkgewoKICAgICAgICAgICAgICAgICMgc2V0IHBlbmRpbmcgdGltZQogICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRQZW5kaW5nVGltZVNldCgKICAgICAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFNlbGYtPntUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyByZWRpcmVjdCBwYXJlbnQgd2luZG93IHRvIGxhc3Qgc2NyZWVuIG92ZXJ2aWV3IG9uIGNsb3NlZCB0aWNrZXRzCiAgICAgICAgICAgIGlmICggJFN0YXRlRGF0YXtUeXBlTmFtZX0gPX4gL15jbG9zZS9pICkgewogICAgICAgICAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UG9wdXBDbG9zZSgKICAgICAgICAgICAgICAgICAgICBVUkwgPT4gKCAkU2VsZi0+e0xhc3RTY3JlZW5PdmVydmlld30gfHwgJ0FjdGlvbj1BZ2VudERhc2hib2FyZCcgKSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgbG9hZCBuZXcgVVJMIGluIHBhcmVudCB3aW5kb3cgYW5kIGNsb3NlIHBvcHVwCiAgICAgICAgcmV0dXJuICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+UG9wdXBDbG9zZSgKICAgICAgICAgICAgVVJMID0+ICJBY3Rpb249QWdlbnRUaWNrZXRab29tO1RpY2tldElEPSRTZWxmLT57VGlja2V0SUR9O0FydGljbGVJRD0kQXJ0aWNsZUlEIiwKICAgICAgICApOwogICAgfQogICAgZWxzaWYgKCAkU2VsZi0+e1N1YmFjdGlvbn0gZXEgJ0FKQVhVcGRhdGUnICkgewogICAgICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCggVGlja2V0SUQgPT4gJFNlbGYtPntUaWNrZXRJRH0gKTsKICAgICAgICBteSAkQ3VzdG9tZXJVc2VyID0gJFRpY2tldHtDdXN0b21lclVzZXJJRH07CgogICAgICAgIG15ICRTZXJ2aWNlSUQ7CgogICAgICAgICMgZ2V0IHNlcnZpY2UgdmFsdWUgZnJvbSBwYXJhbSBpZiBmaWVsZCBpcyB2aXNpYmxlIGluIHRoZSBzY3JlZW4KICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlNlcnZpY2UnKSAmJiAkU2VsZi0+e0NvbmZpZ30tPntTZXJ2aWNlfSApIHsKICAgICAgICAgICAgJFNlcnZpY2VJRCA9ICRHZXRQYXJhbXtTZXJ2aWNlSUR9IHx8ICcnOwogICAgICAgIH0KCiAgICAgICAgIyBvdGhlcndpc2UgdXNlIHRpY2tldCBzZXJ2aWNlIHZhbHVlIHNpbmNlIGl0IGNhbid0IGJlIGNoYW5nZWQKICAgICAgICBlbHNpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlNlcnZpY2UnKSApIHsKICAgICAgICAgICAgJFNlcnZpY2VJRCA9ICRUaWNrZXR7U2VydmljZUlEfSB8fCAnJzsKICAgICAgICB9CgogICAgICAgIG15ICRRdWV1ZUlEID0gJEdldFBhcmFte05ld1F1ZXVlSUR9IHx8ICRUaWNrZXR7UXVldWVJRH07CgogICAgICAgICMgY29udmVydCBkeW5hbWljIGZpZWxkIHZhbHVlcyBpbnRvIGEgc3RydWN0dXJlIGZvciBBQ0xzCiAgICAgICAgbXkgJUR5bmFtaWNGaWVsZEFDTFBhcmFtZXRlcnM7CiAgICAgICAgRFlOQU1JQ0ZJRUxEOgogICAgICAgIGZvciBteSAkRHluYW1pY0ZpZWxkICggc29ydCBrZXlzICVEeW5hbWljRmllbGRWYWx1ZXMgKSB7CiAgICAgICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICEkRHluYW1pY0ZpZWxkOwogICAgICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhJER5bmFtaWNGaWVsZFZhbHVlc3skRHluYW1pY0ZpZWxkfTsKCiAgICAgICAgICAgICREeW5hbWljRmllbGRBQ0xQYXJhbWV0ZXJzeyAnRHluYW1pY0ZpZWxkXycgLiAkRHluYW1pY0ZpZWxkIH0KICAgICAgICAgICAgICAgID0gJER5bmFtaWNGaWVsZFZhbHVlc3skRHluYW1pY0ZpZWxkfTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IGxpc3QgdHlwZQogICAgICAgIG15ICRUcmVlVmlldyA9IDA7CiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6TGlzdFR5cGUnKSBlcSAndHJlZScgKSB7CiAgICAgICAgICAgICRUcmVlVmlldyA9IDE7CiAgICAgICAgfQoKICAgICAgICBteSAkT3duZXJzID0gJFNlbGYtPl9HZXRPd25lcnMoCiAgICAgICAgICAgICVHZXRQYXJhbSwKICAgICAgICAgICAgUXVldWVJRCAgPT4gJFF1ZXVlSUQsCiAgICAgICAgICAgIEFsbFVzZXJzID0+ICRHZXRQYXJhbXtPd25lckFsbH0sCiAgICAgICAgKTsKICAgICAgICBteSAkT2xkT3duZXJzID0gJFNlbGYtPl9HZXRPbGRPd25lcnMoCiAgICAgICAgICAgICVHZXRQYXJhbSwKICAgICAgICAgICAgUXVldWVJRCAgPT4gJFF1ZXVlSUQsCiAgICAgICAgICAgIEFsbFVzZXJzID0+ICRHZXRQYXJhbXtPd25lckFsbH0sCiAgICAgICAgKTsKICAgICAgICBteSAkUmVzcG9uc2libGVVc2VycyA9ICRTZWxmLT5fR2V0UmVzcG9uc2libGUoCiAgICAgICAgICAgICVHZXRQYXJhbSwKICAgICAgICAgICAgUXVldWVJRCAgPT4gJFF1ZXVlSUQsCiAgICAgICAgICAgIEFsbFVzZXJzID0+ICRHZXRQYXJhbXtPd25lckFsbH0sCiAgICAgICAgKTsKICAgICAgICBteSAkUHJpb3JpdGllcyA9ICRTZWxmLT5fR2V0UHJpb3JpdGllcygKICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICk7CiAgICAgICAgbXkgJFNlcnZpY2VzID0gJFNlbGYtPl9HZXRTZXJ2aWNlcygKICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICAgICBDdXN0b21lclVzZXJJRCA9PiAkQ3VzdG9tZXJVc2VyLAogICAgICAgICAgICBRdWV1ZUlEICAgICAgICA9PiAkUXVldWVJRCwKICAgICAgICApOwoKICAgICAgICAjIHJlc2V0IHByZXZpb3VzIFNlcnZpY2VJRCB0byByZXNldCBTTEEtTGlzdCBpZiBubyBzZXJ2aWNlIGlzIHNlbGVjdGVkCiAgICAgICAgaWYgKCAhZGVmaW5lZCAkU2VydmljZUlEIHx8ICEkU2VydmljZXMtPnskU2VydmljZUlEfSApIHsKICAgICAgICAgICAgJFNlcnZpY2VJRCA9ICcnOwogICAgICAgIH0KICAgICAgICBteSAkU0xBcyA9ICRTZWxmLT5fR2V0U0xBcygKICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICAgICBDdXN0b21lclVzZXJJRCA9PiAkQ3VzdG9tZXJVc2VyLAogICAgICAgICAgICBRdWV1ZUlEICAgICAgICA9PiAkUXVldWVJRCwKICAgICAgICAgICAgU2VydmljZUlEICAgICAgPT4gJFNlcnZpY2VJRCwKICAgICAgICApOwogICAgICAgIG15ICROZXh0U3RhdGVzID0gJFNlbGYtPl9HZXROZXh0U3RhdGVzKAogICAgICAgICAgICAlR2V0UGFyYW0sCiAgICAgICAgICAgIEN1c3RvbWVyVXNlcklEID0+ICRDdXN0b21lclVzZXIgfHwgJycsCiAgICAgICAgICAgIFF1ZXVlSUQgPT4gJFF1ZXVlSUQsCiAgICAgICAgKTsKCiAgICAgICAgIyB1cGRhdGUgRHluYW1pYyBGaWVsZHMgUG9zc2libGUgVmFsdWVzIHZpYSBBSkFYCiAgICAgICAgbXkgQER5bmFtaWNGaWVsZEFKQVg7CgogICAgICAgICMgY3ljbGUgdHJvdWdoIHRoZSBhY3RpdmF0ZWQgRHluYW1pYyBGaWVsZHMgZm9yIHRoaXMgc2NyZWVuCiAgICAgICAgRFlOQU1JQ0ZJRUxEOgogICAgICAgIGZvciBteSAkRHluYW1pY0ZpZWxkQ29uZmlnICggQHsgJFNlbGYtPntEeW5hbWljRmllbGR9IH0gKSB7CiAgICAgICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkQ29uZmlnKTsKICAgICAgICAgICAgbmV4dCBEWU5BTUlDRklFTEQgaWYgJER5bmFtaWNGaWVsZENvbmZpZy0+e09iamVjdFR5cGV9IG5lICdUaWNrZXQnOwoKICAgICAgICAgICAgbXkgJElzQUNMUmVkdWNpYmxlID0gJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+SGFzQmVoYXZpb3IoCiAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgICAgIEJlaGF2aW9yICAgICAgICAgICA9PiAnSXNBQ0xSZWR1Y2libGUnLAogICAgICAgICAgICApOwogICAgICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhJElzQUNMUmVkdWNpYmxlOwoKICAgICAgICAgICAgbXkgJFBvc3NpYmxlVmFsdWVzID0gJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+UG9zc2libGVWYWx1ZXNHZXQoCiAgICAgICAgICAgICAgICBEeW5hbWljRmllbGRDb25maWcgPT4gJER5bmFtaWNGaWVsZENvbmZpZywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgY29udmVydCBwb3NzaWJsZSB2YWx1ZXMga2V5ID0+IHZhbHVlIHRvIGtleSA9PiBrZXkgZm9yIEFDTHMgdXNpbmcgYSBIYXNoIHNsaWNlCiAgICAgICAgICAgIG15ICVBY2xEYXRhID0gJXskUG9zc2libGVWYWx1ZXN9OwogICAgICAgICAgICBAQWNsRGF0YXsga2V5cyAlQWNsRGF0YSB9ID0ga2V5cyAlQWNsRGF0YTsKCiAgICAgICAgICAgICMgc2V0IHBvc3NpYmxlIHZhbHVlcyBmaWx0ZXIgZnJvbSBBQ0xzCiAgICAgICAgICAgIG15ICRBQ0wgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjbCgKICAgICAgICAgICAgICAgICVHZXRQYXJhbSwKICAgICAgICAgICAgICAgIEFjdGlvbiAgICAgICAgPT4gJFNlbGYtPntBY3Rpb259LAogICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgIFF1ZXVlSUQgICAgICAgPT4gJFF1ZXVlSUQsCiAgICAgICAgICAgICAgICBSZXR1cm5UeXBlICAgID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgUmV0dXJuU3ViVHlwZSA9PiAnRHluYW1pY0ZpZWxkXycgLiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0sCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgID0+IFwlQWNsRGF0YSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgICAgICBpZiAoJEFDTCkgewogICAgICAgICAgICAgICAgbXkgJUZpbHRlciA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0QWNsRGF0YSgpOwoKICAgICAgICAgICAgICAgICMgY29udmVydCBGaWxlciBrZXkgPT4ga2V5IGJhY2sgdG8ga2V5ID0+IHZhbHVlIHVzaW5nIG1hcAogICAgICAgICAgICAgICAgJXskUG9zc2libGVWYWx1ZXN9ID0gbWFwIHsgJF8gPT4gJFBvc3NpYmxlVmFsdWVzLT57JF99IH0ga2V5cyAlRmlsdGVyOwogICAgICAgICAgICB9CgogICAgICAgICAgICBteSAkRGF0YVZhbHVlcyA9ICRTZWxmLT57QmFja2VuZE9iamVjdH0tPkJ1aWxkU2VsZWN0aW9uRGF0YUdldCgKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICAgICAgUG9zc2libGVWYWx1ZXMgICAgID0+ICRQb3NzaWJsZVZhbHVlcywKICAgICAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSwKICAgICAgICAgICAgKSB8fCAkUG9zc2libGVWYWx1ZXM7CgogICAgICAgICAgICAjIGFkZCBkeW5hbWljIGZpZWxkIHRvIHRoZSBsaXN0IG9mIGZpZWxkcyB0byB1cGRhdGUKICAgICAgICAgICAgcHVzaCgKICAgICAgICAgICAgICAgIEBEeW5hbWljRmllbGRBSkFYLAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgICAgICAgID0+ICdEeW5hbWljRmllbGRfJyAuICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSwKICAgICAgICAgICAgICAgICAgICBEYXRhICAgICAgICA9PiAkRGF0YVZhbHVlcywKICAgICAgICAgICAgICAgICAgICBTZWxlY3RlZElEICA9PiAkRHluYW1pY0ZpZWxkVmFsdWVzeyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfSwKICAgICAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57Q29uZmlnfS0+e1RyYW5zbGF0YWJsZVZhbHVlc30gfHwgMCwKICAgICAgICAgICAgICAgICAgICBNYXggICAgICAgICA9PiAxMDAsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBteSAkSlNPTiA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb25KU09OKAogICAgICAgICAgICBbCgogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAnTmV3T3duZXJJRCcsCiAgICAgICAgICAgICAgICAgICAgRGF0YSAgICAgICAgID0+ICRPd25lcnMsCiAgICAgICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRHZXRQYXJhbXtOZXdPd25lcklEfSwKICAgICAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMCwKICAgICAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgICAgICAgICBNYXggICAgICAgICAgPT4gMTAwLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ09sZE93bmVySUQnLAogICAgICAgICAgICAgICAgICAgIERhdGEgICAgICAgICA9PiAkT2xkT3duZXJzLAogICAgICAgICAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkR2V0UGFyYW17T2xkT3duZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgICAgICAgICAgTWF4ICAgICAgICAgID0+IDEwMCwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdOZXdSZXNwb25zaWJsZUlEJywKICAgICAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gJFJlc3BvbnNpYmxlVXNlcnMsCiAgICAgICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRHZXRQYXJhbXtOZXdSZXNwb25zaWJsZUlEfSwKICAgICAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMCwKICAgICAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgICAgICAgICBNYXggICAgICAgICAgPT4gMTAwLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ05ld1N0YXRlSUQnLAogICAgICAgICAgICAgICAgICAgIERhdGEgICAgICAgICA9PiAkTmV4dFN0YXRlcywKICAgICAgICAgICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJEdldFBhcmFte05ld1N0YXRlSUR9LAogICAgICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAxLAogICAgICAgICAgICAgICAgICAgIFBvc3NpYmxlTm9uZSA9PiAkU2VsZi0+e0NvbmZpZ30tPntTdGF0ZURlZmF1bHR9ID8gMCA6IDEsCiAgICAgICAgICAgICAgICAgICAgTWF4ICAgICAgICAgID0+IDEwMCwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdOZXdQcmlvcml0eUlEJywKICAgICAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gJFByaW9yaXRpZXMsCiAgICAgICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRHZXRQYXJhbXtOZXdQcmlvcml0eUlEfSwKICAgICAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMCwKICAgICAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMSwKICAgICAgICAgICAgICAgICAgICBNYXggICAgICAgICAgPT4gMTAwLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ1NlcnZpY2VJRCcsCiAgICAgICAgICAgICAgICAgICAgRGF0YSAgICAgICAgID0+ICRTZXJ2aWNlcywKICAgICAgICAgICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJEdldFBhcmFte1NlcnZpY2VJRH0sCiAgICAgICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICAgICAgVHJlZVZpZXcgICAgID0+ICRUcmVlVmlldywKICAgICAgICAgICAgICAgICAgICBNYXggICAgICAgICAgPT4gMTAwLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ1NMQUlEJywKICAgICAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gJFNMQXMsCiAgICAgICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRHZXRQYXJhbXtTTEFJRH0sCiAgICAgICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICAgICAgTWF4ICAgICAgICAgID0+IDEwMCwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBARHluYW1pY0ZpZWxkQUpBWCwKICAgICAgICAgICAgXSwKICAgICAgICApOwogICAgICAgIHJldHVybiAkU2VsZi0+e0xheW91dE9iamVjdH0tPkF0dGFjaG1lbnQoCiAgICAgICAgICAgIENvbnRlbnRUeXBlID0+ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PScgLiAkU2VsZi0+e0xheW91dE9iamVjdH0tPntDaGFyc2V0fSwKICAgICAgICAgICAgQ29udGVudCAgICAgPT4gJEpTT04sCiAgICAgICAgICAgIFR5cGUgICAgICAgID0+ICdpbmxpbmUnLAogICAgICAgICAgICBOb0NhY2hlICAgICA9PiAxLAogICAgICAgICk7CiAgICB9CiAgICBlbHNlIHsKCiAgICAgICAgIyBmaWxsdXAgY29uZmlndXJlZCBkZWZhdWx0IHZhcnMKICAgICAgICBpZiAoICFkZWZpbmVkICRHZXRQYXJhbXtCb2R5fSAmJiAkU2VsZi0+e0NvbmZpZ30tPntCb2R5fSApIHsKICAgICAgICAgICAgJEdldFBhcmFte0JvZHl9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoCiAgICAgICAgICAgICAgICBUZW1wbGF0ZSA9PiAkU2VsZi0+e0NvbmZpZ30tPntCb2R5fSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgbWFrZSBzdXJlIGJvZHkgaXMgcmljaCB0ZXh0CiAgICAgICAgICAgIGlmICggJFNlbGYtPntMYXlvdXRPYmplY3R9LT57QnJvd3NlclJpY2hUZXh0fSApIHsKICAgICAgICAgICAgICAgICRHZXRQYXJhbXtCb2R5fSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QXNjaWkyUmljaFRleHQoCiAgICAgICAgICAgICAgICAgICAgU3RyaW5nID0+ICRHZXRQYXJhbXtCb2R5fSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCAhZGVmaW5lZCAkR2V0UGFyYW17U3ViamVjdH0gJiYgJFNlbGYtPntDb25maWd9LT57U3ViamVjdH0gKSB7CiAgICAgICAgICAgICRHZXRQYXJhbXtTdWJqZWN0fSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+T3V0cHV0KAogICAgICAgICAgICAgICAgVGVtcGxhdGUgPT4gJFNlbGYtPntDb25maWd9LT57U3ViamVjdH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGNyZWF0ZSBodG1sIHN0cmluZ3MgZm9yIGFsbCBkeW5hbWljIGZpZWxkcwogICAgICAgIG15ICVEeW5hbWljRmllbGRIVE1MOwoKICAgICAgICAjIGN5Y2xlIHRyb3VnaCB0aGUgYWN0aXZhdGVkIER5bmFtaWMgRmllbGRzIGZvciB0aGlzIHNjcmVlbgogICAgICAgIERZTkFNSUNGSUVMRDoKICAgICAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewogICAgICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZENvbmZpZyk7CgogICAgICAgICAgICBteSAkUG9zc2libGVWYWx1ZXNGaWx0ZXI7CgogICAgICAgICAgICBteSAkSXNBQ0xSZWR1Y2libGUgPSAkU2VsZi0+e0JhY2tlbmRPYmplY3R9LT5IYXNCZWhhdmlvcigKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICAgICAgQmVoYXZpb3IgICAgICAgICAgID0+ICdJc0FDTFJlZHVjaWJsZScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBpZiAoJElzQUNMUmVkdWNpYmxlKSB7CgogICAgICAgICAgICAgICAgIyBnZXQgUG9zc2libGVWYWx1ZXMKICAgICAgICAgICAgICAgIG15ICRQb3NzaWJsZVZhbHVlcyA9ICRTZWxmLT57QmFja2VuZE9iamVjdH0tPlBvc3NpYmxlVmFsdWVzR2V0KAogICAgICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICAgICAjIGNoZWNrIGlmIGZpZWxkIGhhcyBQb3NzaWJsZVZhbHVlcyBwcm9wZXJ0eSBpbiBpdHMgY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgaWYgKCBJc0hhc2hSZWZXaXRoRGF0YSgkUG9zc2libGVWYWx1ZXMpICkgewoKICAgICAgICAgICAgICAgICAgICAjIGNvbnZlcnQgcG9zc2libGUgdmFsdWVzIGtleSA9PiB2YWx1ZSB0byBrZXkgPT4ga2V5IGZvciBBQ0xzIHVzaW5nIGEgSGFzaCBzbGljZQogICAgICAgICAgICAgICAgICAgIG15ICVBY2xEYXRhID0gJXskUG9zc2libGVWYWx1ZXN9OwogICAgICAgICAgICAgICAgICAgIEBBY2xEYXRheyBrZXlzICVBY2xEYXRhIH0gPSBrZXlzICVBY2xEYXRhOwoKICAgICAgICAgICAgICAgICAgICAjIHNldCBwb3NzaWJsZSB2YWx1ZXMgZmlsdGVyIGZyb20gQUNMcwogICAgICAgICAgICAgICAgICAgIG15ICRBQ0wgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjbCgKICAgICAgICAgICAgICAgICAgICAgICAgJUdldFBhcmFtLAogICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb24gICAgICAgID0+ICRTZWxmLT57QWN0aW9ufSwKICAgICAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuVHlwZSAgICA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuU3ViVHlwZSA9PiAnRHluYW1pY0ZpZWxkXycgLiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0sCiAgICAgICAgICAgICAgICAgICAgICAgIERhdGEgICAgICAgICAgPT4gXCVBY2xEYXRhLAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgICAgIGlmICgkQUNMKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG15ICVGaWx0ZXIgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjbERhdGEoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICMgY29udmVydCBGaWxlciBrZXkgPT4ga2V5IGJhY2sgdG8ga2V5ID0+IHZhbHVlIHVzaW5nIG1hcAogICAgICAgICAgICAgICAgICAgICAgICAleyRQb3NzaWJsZVZhbHVlc0ZpbHRlcn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gbWFwIHsgJF8gPT4gJFBvc3NpYmxlVmFsdWVzLT57JF99IH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXMgJUZpbHRlcjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgdG8gc3RvcmUgZHluYW1pYyBmaWVsZCB2YWx1ZSBmcm9tIGRhdGFiYXNlIChvciB1bmRlZmluZWQpCiAgICAgICAgICAgIG15ICRWYWx1ZTsKCiAgICAgICAgICAgICMgb25seSBnZXQgdmFsdWVzIGZvciBUaWNrZXQgZmllbGRzIChhbGwgc2NyZWVucyBiYXNlZCBvbiBBZ2VudFRpY2tlQWN0aW9uQ29tbW9uCiAgICAgICAgICAgICMgZ2VuZXJhdGVzIGEgbmV3IGFydGljbGUsIHRoZW4gYXJ0aWNsZSBmaWVsZHMgd2lsbCBiZSBhbHdheXMgZW1wdHkgYXQgdGhlIGJlZ2lubmluZykKICAgICAgICAgICAgaWYgKCAkRHluYW1pY0ZpZWxkQ29uZmlnLT57T2JqZWN0VHlwZX0gZXEgJ1RpY2tldCcgKSB7CgogICAgICAgICAgICAgICAgIyBnZXQgdmFsdWUgc3RvcmVkIG9uIHRoZSBkYXRhYmFzZSBmcm9tIFRpY2tldAogICAgICAgICAgICAgICAgJFZhbHVlID0gJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9IH07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgZ2V0IGZpZWxkIGh0bWwKICAgICAgICAgICAgJER5bmFtaWNGaWVsZEhUTUx7ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9ID0KICAgICAgICAgICAgICAgICRTZWxmLT57QmFja2VuZE9iamVjdH0tPkVkaXRGaWVsZFJlbmRlcigKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyAgID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgICAgICBQb3NzaWJsZVZhbHVlc0ZpbHRlciA9PiAkUG9zc2libGVWYWx1ZXNGaWx0ZXIsCiAgICAgICAgICAgICAgICBWYWx1ZSAgICAgICAgICAgICAgICA9PiAkVmFsdWUsCiAgICAgICAgICAgICAgICBNYW5kYXRvcnkgPT4KICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e0NvbmZpZ30tPntEeW5hbWljRmllbGR9LT57ICREeW5hbWljRmllbGRDb25maWctPntOYW1lfSB9ID09IDIsCiAgICAgICAgICAgICAgICBMYXlvdXRPYmplY3QgICAgPT4gJFNlbGYtPntMYXlvdXRPYmplY3R9LAogICAgICAgICAgICAgICAgUGFyYW1PYmplY3QgICAgID0+ICRTZWxmLT57UGFyYW1PYmplY3R9LAogICAgICAgICAgICAgICAgQUpBWFVwZGF0ZSAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBVcGRhdGFibGVGaWVsZHMgPT4gJFNlbGYtPl9HZXRGaWVsZHNUb1VwZGF0ZSgpLAogICAgICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgcHJpbnQgZm9ybSAuLi4KICAgICAgICBteSAkT3V0cHV0ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5IZWFkZXIoCiAgICAgICAgICAgIFR5cGUgICAgICA9PiAnU21hbGwnLAogICAgICAgICAgICBWYWx1ZSAgICAgPT4gJFRpY2tldHtUaWNrZXROdW1iZXJ9LAogICAgICAgICAgICBCb2R5Q2xhc3MgPT4gJ1BvcHVwJywKICAgICAgICApOwogICAgICAgICRPdXRwdXQgLj0gJFNlbGYtPl9NYXNrKAogICAgICAgICAgICBUaW1lVW5pdHNSZXF1aXJlZCA9PiAoCiAgICAgICAgICAgICAgICAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6TmVlZEFjY291bnRlZFRpbWUnKQogICAgICAgICAgICAgICAgPyAnVmFsaWRhdGVfUmVxdWlyZWQnCiAgICAgICAgICAgICAgICA6ICcnCiAgICAgICAgICAgICksCiAgICAgICAgICAgICVHZXRQYXJhbSwKICAgICAgICAgICAgJVRpY2tldCwKICAgICAgICAgICAgRHluYW1pY0ZpZWxkSFRNTCA9PiBcJUR5bmFtaWNGaWVsZEhUTUwsCiAgICAgICAgKTsKICAgICAgICAkT3V0cHV0IC49ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+Rm9vdGVyKAogICAgICAgICAgICBUeXBlID0+ICdTbWFsbCcsCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gJE91dHB1dDsKICAgIH0KfQoKc3ViIF9NYXNrIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgbGlzdCB0eXBlCiAgICBteSAkVHJlZVZpZXcgPSAwOwogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6TGlzdFR5cGUnKSBlcSAndHJlZScgKSB7CiAgICAgICAgJFRyZWVWaWV3ID0gMTsKICAgIH0KICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCggVGlja2V0SUQgPT4gJFNlbGYtPntUaWNrZXRJRH0gKTsKCiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1RpdGxlfSApIHsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdUaXRsZScsCiAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICApOwogICAgfQoKICAgIG15ICREeW5hbWljRmllbGROYW1lcyA9ICRTZWxmLT5fR2V0RmllbGRzVG9VcGRhdGUoCiAgICAgICAgT25seUR5bmFtaWNGaWVsZHMgPT4gMSwKICAgICk7CgogICAgIyBjcmVhdGUgYSBzdHJpbmcgd2l0aCB0aGUgcXVvdGVkIGR5bmFtaWMgZmllbGQgbmFtZXMgc2VwYXJhdGVkIGJ5IGNvbW1hcwogICAgaWYgKCBJc0FycmF5UmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZE5hbWVzKSApIHsKICAgICAgICBmb3IgbXkgJEZpZWxkICggQHskRHluYW1pY0ZpZWxkTmFtZXN9ICkgewogICAgICAgICAgICAkUGFyYW17RHluYW1pY0ZpZWxkTmFtZXNTdHJnfSAuPSAiLCAnIiAuICRGaWVsZCAuICInIjsKICAgICAgICB9CiAgICB9CgogICAgIyB0eXBlcwogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpUeXBlJykgJiYgJFNlbGYtPntDb25maWd9LT57VGlja2V0VHlwZX0gKSB7CiAgICAgICAgbXkgJVR5cGUgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFR5cGVMaXN0KAogICAgICAgICAgICAlUGFyYW0sCiAgICAgICAgICAgIEFjdGlvbiA9PiAkU2VsZi0+e0FjdGlvbn0sCiAgICAgICAgICAgIFVzZXJJRCA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICAkUGFyYW17VHlwZVN0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgQ2xhc3MgPT4gJ1ZhbGlkYXRlX1JlcXVpcmVkJyAuICggJFBhcmFte0Vycm9yc30tPntUeXBlSURJbnZhbGlkfSB8fCAnICcgKSwKICAgICAgICAgICAgRGF0YSAgPT4gXCVUeXBlLAogICAgICAgICAgICBOYW1lICA9PiAnVHlwZUlEJywKICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRQYXJhbXtUeXBlSUR9LAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgU29ydCAgICAgICAgID0+ICdBbHBoYW51bWVyaWNWYWx1ZScsCiAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnVHlwZScsCiAgICAgICAgICAgIERhdGEgPT4geyVQYXJhbX0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNlcnZpY2VzCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OlNlcnZpY2UnKSAmJiAkU2VsZi0+e0NvbmZpZ30tPntTZXJ2aWNlfSApIHsKCiAgICAgICAgbXkgJFNlcnZpY2VzID0gJFNlbGYtPl9HZXRTZXJ2aWNlcygKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBBY3Rpb24gICAgICAgICA9PiAkU2VsZi0+e0FjdGlvbn0sCiAgICAgICAgICAgIEN1c3RvbWVyVXNlcklEID0+ICRUaWNrZXR7Q3VzdG9tZXJVc2VySUR9LAogICAgICAgICAgICBVc2VySUQgICAgICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgKTsKCiAgICAgICAgIyByZXNldCBwcmV2aW91cyBTZXJ2aWNlSUQgdG8gcmVzZXQgU0xBLUxpc3QgaWYgbm8gc2VydmljZSBpcyBzZWxlY3RlZAogICAgICAgIGlmICggISRQYXJhbXtTZXJ2aWNlSUR9IHx8ICEkU2VydmljZXMtPnsgJFBhcmFte1NlcnZpY2VJRH0gfSApIHsKICAgICAgICAgICAgJFBhcmFte1NlcnZpY2VJRH0gPSAnJzsKICAgICAgICB9CgogICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57U2VydmljZU1hbmRhdG9yeX0gKSB7CgogICAgICAgICAgICAkUGFyYW17U2VydmljZVN0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgICAgIERhdGEgICAgICAgICA9PiAkU2VydmljZXMsCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ1NlcnZpY2VJRCcsCiAgICAgICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJFBhcmFte1NlcnZpY2VJRH0sCiAgICAgICAgICAgICAgICBDbGFzcyAgICAgICAgPT4gJ1ZhbGlkYXRlX1JlcXVpcmVkICcgLiAoICRQYXJhbXtTZXJ2aWNlSW52YWxpZH0gfHwgJyAnICksCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgICAgIFRyZWVWaWV3ICAgICA9PiAkVHJlZVZpZXcsCiAgICAgICAgICAgICAgICBTb3J0ICAgICAgICAgPT4gJ1RyZWVWaWV3JywKICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICAgICAgICAgTWF4ICAgICAgICAgID0+IDIwMCwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTZXJ2aWNlTWFuZGF0b3J5JywKICAgICAgICAgICAgICAgIERhdGEgPT4geyVQYXJhbX0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewoKICAgICAgICAgICAgJFBhcmFte1NlcnZpY2VTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gJFNlcnZpY2VzLAogICAgICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdTZXJ2aWNlSUQnLAogICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCAgID0+ICRQYXJhbXtTZXJ2aWNlSUR9LAogICAgICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICRQYXJhbXtTZXJ2aWNlSW52YWxpZH0gfHwgJyAnLAogICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgICAgICBUcmVlVmlldyAgICAgPT4gJFRyZWVWaWV3LAogICAgICAgICAgICAgICAgU29ydCAgICAgICAgID0+ICdUcmVlVmlldycsCiAgICAgICAgICAgICAgICBUcmFuc2xhdGlvbiAgPT4gMCwKICAgICAgICAgICAgICAgIE1heCAgICAgICAgICA9PiAyMDAsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnU2VydmljZScsCiAgICAgICAgICAgICAgICBEYXRhID0+IHslUGFyYW19LAogICAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgbXkgJVNMQSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U0xBTGlzdCgKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBBY3Rpb24gPT4gJFNlbGYtPntBY3Rpb259LAogICAgICAgICAgICBVc2VySUQgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57U0xBTWFuZGF0b3J5fSApIHsKCiAgICAgICAgICAgICRQYXJhbXtTTEFTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVTTEEsCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ1NMQUlEJywKICAgICAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkUGFyYW17U0xBSUR9LAogICAgICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICdWYWxpZGF0ZV9SZXF1aXJlZCAnIC4gKCAkUGFyYW17U0xBSW52YWxpZH0gfHwgJyAnICksCiAgICAgICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgICAgIFNvcnQgICAgICAgICA9PiAnQWxwaGFudW1lcmljVmFsdWUnLAogICAgICAgICAgICAgICAgVHJhbnNsYXRpb24gID0+IDAsCiAgICAgICAgICAgICAgICBNYXggICAgICAgICAgPT4gMjAwLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1NMQU1hbmRhdG9yeScsCiAgICAgICAgICAgICAgICBEYXRhID0+IHslUGFyYW19LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKCiAgICAgICAgICAgICRQYXJhbXtTTEFTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVTTEEsCiAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ1NMQUlEJywKICAgICAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkUGFyYW17U0xBSUR9LAogICAgICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgICAgICAgICBTb3J0ICAgICAgICAgPT4gJ0FscGhhbnVtZXJpY1ZhbHVlJywKICAgICAgICAgICAgICAgIFRyYW5zbGF0aW9uICA9PiAwLAogICAgICAgICAgICAgICAgTWF4ICAgICAgICAgID0+IDIwMCwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTTEEnLAogICAgICAgICAgICAgICAgRGF0YSA9PiB7JVBhcmFtfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntRdWV1ZX0gKSB7CgogICAgICAgICMgZmV0Y2ggYWxsIHF1ZXVlcwogICAgICAgIG15ICVNb3ZlUXVldWVzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRNb3ZlTGlzdCgKICAgICAgICAgICAgVGlja2V0SUQgPT4gJFNlbGYtPntUaWNrZXRJRH0sCiAgICAgICAgICAgIFVzZXJJRCAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICAgICAgQWN0aW9uICAgPT4gJFNlbGYtPntBY3Rpb259LAogICAgICAgICAgICBUeXBlICAgICA9PiAnbW92ZV9pbnRvJywKICAgICAgICApOwoKICAgICAgICAjIHNldCBtb3ZlIHF1ZXVlcwogICAgICAgICRQYXJhbXtRdWV1ZXNTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QWdlbnRRdWV1ZUxpc3RPcHRpb24oCiAgICAgICAgICAgIERhdGEgPT4geyAlTW92ZVF1ZXVlcywgJycgPT4gJy0nIH0sCiAgICAgICAgICAgIE11bHRpcGxlICAgICAgID0+IDAsCiAgICAgICAgICAgIFNpemUgICAgICAgICAgID0+IDAsCiAgICAgICAgICAgIENsYXNzICAgICAgICAgID0+ICdOZXdRdWV1ZUlEJywKICAgICAgICAgICAgTmFtZSAgICAgICAgICAgPT4gJ05ld1F1ZXVlSUQnLAogICAgICAgICAgICBTZWxlY3RlZElEICAgICA9PiAkUGFyYW17TmV3UXVldWVJRH0sCiAgICAgICAgICAgIFRyZWVWaWV3ICAgICAgID0+ICRUcmVlVmlldywKICAgICAgICAgICAgQ3VycmVudFF1ZXVlSUQgPT4gJFBhcmFte1F1ZXVlSUR9LAogICAgICAgICAgICBPbkNoYW5nZVN1Ym1pdCA9PiAwLAogICAgICAgICk7CgogICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgIE5hbWUgPT4gJ1F1ZXVlJywKICAgICAgICAgICAgRGF0YSA9PiB7JVBhcmFtfSwKICAgICAgICApOwogICAgfQoKICAgIGlmICggJFNlbGYtPntDb25maWd9LT57T3duZXJ9ICkgewoKICAgICAgICAjIGdldCB1c2VyIG9mIG93biBncm91cHMKICAgICAgICBteSAlU2hvd25Vc2VyczsKICAgICAgICBteSAlQWxsR3JvdXBzTWVtYmVycyA9ICRTZWxmLT57VXNlck9iamVjdH0tPlVzZXJMaXN0KAogICAgICAgICAgICBUeXBlICA9PiAnTG9uZycsCiAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgKTsKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkNoYW5nZU93bmVyVG9FdmVyeW9uZScpICkgewogICAgICAgICAgICAlU2hvd25Vc2VycyA9ICVBbGxHcm91cHNNZW1iZXJzOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgbXkgJEdJRCA9ICRTZWxmLT57UXVldWVPYmplY3R9LT5HZXRRdWV1ZUdyb3VwSUQoIFF1ZXVlSUQgPT4gJFRpY2tldHtRdWV1ZUlEfSApOwogICAgICAgICAgICBteSAlTWVtYmVyTGlzdCA9ICRTZWxmLT57R3JvdXBPYmplY3R9LT5Hcm91cE1lbWJlckxpc3QoCiAgICAgICAgICAgICAgICBHcm91cElEID0+ICRHSUQsCiAgICAgICAgICAgICAgICBUeXBlICAgID0+ICdvd25lcicsCiAgICAgICAgICAgICAgICBSZXN1bHQgID0+ICdIQVNIJywKICAgICAgICAgICAgICAgIENhY2hlZCAgPT4gMSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgZm9yIG15ICRVc2VySUQgKCBzb3J0IGtleXMgJU1lbWJlckxpc3QgKSB7CiAgICAgICAgICAgICAgICAkU2hvd25Vc2Vyc3skVXNlcklEfSA9ICRBbGxHcm91cHNNZW1iZXJzeyRVc2VySUR9OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAjIGdldCBvbGQgb3duZXIKICAgICAgICBteSBAT2xkVXNlckluZm8gPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE93bmVyTGlzdCggVGlja2V0SUQgPT4gJFNlbGYtPntUaWNrZXRJRH0gKTsKICAgICAgICAkUGFyYW17T3duZXJTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgICAgICAgICA9PiBcJVNob3duVXNlcnMsCiAgICAgICAgICAgIFNlbGVjdGVkSUQgICA9PiAkUGFyYW17TmV3T3duZXJJRH0sCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAnTmV3T3duZXJJRCcsCiAgICAgICAgICAgIENsYXNzICAgICAgICA9PiAkUGFyYW17TmV3T3duZXJJbnZhbGlkfSB8fCAnICcsCiAgICAgICAgICAgIFNpemUgICAgICAgICA9PiAxLAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICApOwogICAgICAgIG15IEBPbGRPd25lcnM7CiAgICAgICAgbXkgJVNlZW5PbGRPd25lcjsKICAgICAgICBpZiAoQE9sZFVzZXJJbmZvKSB7CiAgICAgICAgICAgIG15ICRDb3VudGVyID0gMTsKICAgICAgICAgICAgZm9yIG15ICRVc2VyICggcmV2ZXJzZSBAT2xkVXNlckluZm8gKSB7CgogICAgICAgICAgICAgICAgIyBza2lwIGlmIG9sZCBvd25lciBpcyBhbHJlYWR5IGluIHRoZSBsaXN0CiAgICAgICAgICAgICAgICBuZXh0IGlmICRTZWVuT2xkT3duZXJ7ICRVc2VyLT57VXNlcklEfSB9OwogICAgICAgICAgICAgICAgJFNlZW5PbGRPd25lcnsgJFVzZXItPntVc2VySUR9IH0gPSAxOwogICAgICAgICAgICAgICAgcHVzaCBAT2xkT3duZXJzLCB7CiAgICAgICAgICAgICAgICAgICAgS2V5ICAgPT4gJFVzZXItPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgIFZhbHVlID0+ICIkQ291bnRlcjogJFVzZXItPntVc2VyTGFzdG5hbWV9ICIKICAgICAgICAgICAgICAgICAgICAgICAgLiAiJFVzZXItPntVc2VyRmlyc3RuYW1lfSAoJFVzZXItPntVc2VyTG9naW59KSIKICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAkQ291bnRlcisrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBteSAkT2xkT3duZXJTZWxlY3RlZElEID0gJyc7CiAgICAgICAgaWYgKCAkUGFyYW17T2xkT3duZXJJRH0gKSB7CiAgICAgICAgICAgICRPbGRPd25lclNlbGVjdGVkSUQgPSAkUGFyYW17T2xkT3duZXJJRH07CiAgICAgICAgfQogICAgICAgIGVsc2lmICggJE9sZFVzZXJJbmZvWzBdLT57VXNlcklEfSApIHsKICAgICAgICAgICAgJE9sZE93bmVyU2VsZWN0ZWRJRCA9ICRPbGRVc2VySW5mb1swXS0+e1VzZXJJRH0gLiAnMSc7CiAgICAgICAgfQoKICAgICAgICAjIGJ1aWxkIHN0cmluZwogICAgICAgICRQYXJhbXtPbGRPd25lclN0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFxAT2xkT3duZXJzLAogICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJE9sZE93bmVyU2VsZWN0ZWRJRCwKICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICdPbGRPd25lcklEJywKICAgICAgICAgICAgQ2xhc3MgICAgICAgID0+ICRQYXJhbXtPbGRPd25lckludmFsaWR9IHx8ICcgJywKICAgICAgICAgICAgUG9zc2libGVOb25lID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAkUGFyYW17TmV3T3duZXJUeXBlfSAmJiAkUGFyYW17TmV3T3duZXJUeXBlfSBlcSAnT2xkJyApIHsKICAgICAgICAgICAgJFBhcmFteydOZXdPd25lclR5cGU6Ok9sZCd9ID0gJ2NoZWNrZWQgPSAiY2hlY2tlZCInOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFBhcmFteydOZXdPd25lclR5cGU6Ok5ldyd9ID0gJ2NoZWNrZWQgPSAiY2hlY2tlZCInOwogICAgICAgIH0KCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnT3duZXInLAogICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgKTsKICAgIH0KICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6UmVzcG9uc2libGUnKSAmJiAkU2VsZi0+e0NvbmZpZ30tPntSZXNwb25zaWJsZX0gKSB7CgogICAgICAgICMgZ2V0IHVzZXIgb2Ygb3duIGdyb3VwcwogICAgICAgIG15ICVTaG93blVzZXJzOwogICAgICAgIG15ICVBbGxHcm91cHNNZW1iZXJzID0gJFNlbGYtPntVc2VyT2JqZWN0fS0+VXNlckxpc3QoCiAgICAgICAgICAgIFR5cGUgID0+ICdMb25nJywKICAgICAgICAgICAgVmFsaWQgPT4gMSwKICAgICAgICApOwogICAgICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6Q2hhbmdlT3duZXJUb0V2ZXJ5b25lJykgKSB7CiAgICAgICAgICAgICVTaG93blVzZXJzID0gJUFsbEdyb3Vwc01lbWJlcnM7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBteSAkR0lEID0gJFNlbGYtPntRdWV1ZU9iamVjdH0tPkdldFF1ZXVlR3JvdXBJRCggUXVldWVJRCA9PiAkVGlja2V0e1F1ZXVlSUR9ICk7CiAgICAgICAgICAgIG15ICVNZW1iZXJMaXN0ID0gJFNlbGYtPntHcm91cE9iamVjdH0tPkdyb3VwTWVtYmVyTGlzdCgKICAgICAgICAgICAgICAgIEdyb3VwSUQgPT4gJEdJRCwKICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ3Jlc3BvbnNpYmxlJywKICAgICAgICAgICAgICAgIFJlc3VsdCAgPT4gJ0hBU0gnLAogICAgICAgICAgICAgICAgQ2FjaGVkICA9PiAxLAogICAgICAgICAgICApOwogICAgICAgICAgICBmb3IgbXkgJFVzZXJJRCAoIHNvcnQga2V5cyAlTWVtYmVyTGlzdCApIHsKICAgICAgICAgICAgICAgICRTaG93blVzZXJzeyRVc2VySUR9ID0gJEFsbEdyb3Vwc01lbWJlcnN7JFVzZXJJRH07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICMgZ2V0IHJlc3BvbnNpYmxlCiAgICAgICAgJFBhcmFte1Jlc3BvbnNpYmxlU3RyZ30gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICBEYXRhICAgICAgICAgPT4gXCVTaG93blVzZXJzLAogICAgICAgICAgICBTZWxlY3RlZElEICAgPT4gJFBhcmFte05ld1Jlc3BvbnNpYmxlSUR9LAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ05ld1Jlc3BvbnNpYmxlSUQnLAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gMSwKICAgICAgICAgICAgU2l6ZSAgICAgICAgID0+IDEsCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdSZXNwb25zaWJsZScsCiAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICApOwogICAgfQogICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntTdGF0ZX0gKSB7CiAgICAgICAgbXkgJVN0YXRlOwogICAgICAgIG15ICVTdGF0ZUxpc3QgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFN0YXRlTGlzdCgKICAgICAgICAgICAgQWN0aW9uICAgPT4gJFNlbGYtPntBY3Rpb259LAogICAgICAgICAgICBUaWNrZXRJRCA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgVXNlcklEICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgICAgICk7CiAgICAgICAgaWYgKCAhJFBhcmFte05ld1N0YXRlSUR9ICkgewogICAgICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1N0YXRlRGVmYXVsdH0gKSB7CiAgICAgICAgICAgICAgICAkU3RhdGV7U2VsZWN0ZWRWYWx1ZX0gPSAkU2VsZi0+e0NvbmZpZ30tPntTdGF0ZURlZmF1bHR9OwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU3RhdGV7U2VsZWN0ZWRJRH0gPSAkUGFyYW17TmV3U3RhdGVJRH07CiAgICAgICAgfQoKICAgICAgICAjIGJ1aWxkIG5leHQgc3RhdGVzIHN0cmluZwogICAgICAgICRQYXJhbXtTdGF0ZVN0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgRGF0YSAgICAgICAgID0+IFwlU3RhdGVMaXN0LAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ05ld1N0YXRlSUQnLAogICAgICAgICAgICBQb3NzaWJsZU5vbmUgPT4gJFNlbGYtPntDb25maWd9LT57U3RhdGVEZWZhdWx0fSA/IDAgOiAxLAogICAgICAgICAgICAlU3RhdGUsCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdTdGF0ZScsCiAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICApOwoKICAgICAgICBTVEFURUlEOgogICAgICAgIGZvciBteSAkU3RhdGVJRCAoIHNvcnQga2V5cyAlU3RhdGVMaXN0ICkgewoKICAgICAgICAgICAgbmV4dCBTVEFURUlEIGlmICEkU3RhdGVJRDsKCiAgICAgICAgICAgICMgZ2V0IHN0YXRlIGRhdGEKICAgICAgICAgICAgbXkgJVN0YXRlRGF0YSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+e1N0YXRlT2JqZWN0fS0+U3RhdGVHZXQoIElEID0+ICRTdGF0ZUlEICk7CgogICAgICAgICAgICBuZXh0IFNUQVRFSUQgaWYgJFN0YXRlRGF0YXtUeXBlTmFtZX0gIX4gL3BlbmRpbmcvaTsKCiAgICAgICAgICAgICRQYXJhbXtEYXRlU3RyaW5nfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGREYXRlU2VsZWN0aW9uKAogICAgICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICAgICAgRm9ybWF0ICAgICAgICAgICA9PiAnRGF0ZUlucHV0Rm9ybWF0TG9uZycsCiAgICAgICAgICAgICAgICBZZWFyUGVyaW9kUGFzdCAgID0+IDAsCiAgICAgICAgICAgICAgICBZZWFyUGVyaW9kRnV0dXJlID0+IDUsCiAgICAgICAgICAgICAgICBEaWZmVGltZSAgICAgICAgID0+ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpQZW5kaW5nRGlmZlRpbWUnKQogICAgICAgICAgICAgICAgICAgIHx8IDAsCiAgICAgICAgICAgICAgICBDbGFzcyA9PiAkUGFyYW17RGF0ZUludmFsaWR9IHx8ICcgJywKICAgICAgICAgICAgICAgIFZhbGlkYXRlICAgICAgICAgICAgID0+IDEsCiAgICAgICAgICAgICAgICBWYWxpZGF0ZURhdGVJbkZ1dHVyZSA9PiAxLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1N0YXRlUGVuZGluZycsCiAgICAgICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBsYXN0IFNUQVRFSUQ7CiAgICAgICAgfQogICAgfQoKICAgICMgZ2V0IHByaW9yaXR5CiAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e1ByaW9yaXR5fSApIHsKICAgICAgICBteSAlUHJpb3JpdHk7CiAgICAgICAgbXkgJVByaW9yaXR5TGlzdCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0UHJpb3JpdHlMaXN0KAogICAgICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgIFRpY2tldElEID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgICk7CiAgICAgICAgaWYgKCAhJFNlbGYtPntDb25maWd9LT57UHJpb3JpdHlEZWZhdWx0fSApIHsKICAgICAgICAgICAgJFByaW9yaXR5TGlzdHsnJ30gPSAnLSc7CiAgICAgICAgfQogICAgICAgIGlmICggISRQYXJhbXtOZXdQcmlvcml0eUlEfSApIHsKICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntQcmlvcml0eURlZmF1bHR9ICkgewogICAgICAgICAgICAgICAgJFByaW9yaXR5e1NlbGVjdGVkVmFsdWV9ID0gJFNlbGYtPntDb25maWd9LT57UHJpb3JpdHlEZWZhdWx0fTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFByaW9yaXR5e1NlbGVjdGVkSUR9ID0gJFBhcmFte05ld1ByaW9yaXR5SUR9OwogICAgICAgIH0KICAgICAgICAkUHJpb3JpdHl7U2VsZWN0ZWRJRH0gfHw9ICRQYXJhbXtQcmlvcml0eUlEfTsKICAgICAgICAkUGFyYW17UHJpb3JpdHlTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgPT4gXCVQcmlvcml0eUxpc3QsCiAgICAgICAgICAgIE5hbWUgPT4gJ05ld1ByaW9yaXR5SUQnLAogICAgICAgICAgICAlUHJpb3JpdHksCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdQcmlvcml0eScsCiAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICApOwogICAgfQoKICAgIGlmICggJFNlbGYtPntDb25maWd9LT57Tm90ZX0gKSB7CgogICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57Tm90ZU1hbmRhdG9yeX0gKSB7CiAgICAgICAgICAgICRQYXJhbXtTdWJqZWN0UmVxdWlyZWR9ID0gJ1ZhbGlkYXRlX1JlcXVpcmVkJzsKICAgICAgICAgICAgJFBhcmFte0JvZHlSZXF1aXJlZH0gICAgPSAnVmFsaWRhdGVfUmVxdWlyZWQnOwogICAgICAgIH0KCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnTm90ZScsCiAgICAgICAgICAgIERhdGEgPT4geyVQYXJhbX0sCiAgICAgICAgKTsKCiAgICAgICAgIyBhZGQgcmljaCB0ZXh0IGVkaXRvcgogICAgICAgIGlmICggJFNlbGYtPntMYXlvdXRPYmplY3R9LT57QnJvd3NlclJpY2hUZXh0fSApIHsKCiAgICAgICAgICAgICMgdXNlIGhlaWdodC93aWR0aCBkZWZpbmVkIGZvciB0aGlzIHNjcmVlbgogICAgICAgICAgICAkUGFyYW17UmljaFRleHRIZWlnaHR9ID0gJFNlbGYtPntDb25maWd9LT57UmljaFRleHRIZWlnaHR9IHx8IDA7CiAgICAgICAgICAgICRQYXJhbXtSaWNoVGV4dFdpZHRofSAgPSAkU2VsZi0+e0NvbmZpZ30tPntSaWNoVGV4dFdpZHRofSAgfHwgMDsKCiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdSaWNoVGV4dCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e05vdGVNYW5kYXRvcnl9ICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnU3ViamVjdExhYmVsTWFuZGF0b3J5JywKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1JpY2hUZXh0TGFiZWxNYW5kYXRvcnknLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1N1YmplY3RMYWJlbCcsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdSaWNoVGV4dExhYmVsJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgYWdlbnQgbGlzdAogICAgICAgIGlmICggJFNlbGYtPntDb25maWd9LT57SW5mb3JtQWdlbnR9ICkgewogICAgICAgICAgICBteSAlU2hvd25Vc2VyczsKICAgICAgICAgICAgbXkgJUFsbEdyb3Vwc01lbWJlcnMgPSAkU2VsZi0+e1VzZXJPYmplY3R9LT5Vc2VyTGlzdCgKICAgICAgICAgICAgICAgIFR5cGUgID0+ICdMb25nJywKICAgICAgICAgICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15ICRHSUQgPSAkU2VsZi0+e1F1ZXVlT2JqZWN0fS0+R2V0UXVldWVHcm91cElEKCBRdWV1ZUlEID0+ICRUaWNrZXR7UXVldWVJRH0gKTsKICAgICAgICAgICAgbXkgJU1lbWJlckxpc3QgPSAkU2VsZi0+e0dyb3VwT2JqZWN0fS0+R3JvdXBNZW1iZXJMaXN0KAogICAgICAgICAgICAgICAgR3JvdXBJRCA9PiAkR0lELAogICAgICAgICAgICAgICAgVHlwZSAgICA9PiAnbm90ZScsCiAgICAgICAgICAgICAgICBSZXN1bHQgID0+ICdIQVNIJywKICAgICAgICAgICAgICAgIENhY2hlZCAgPT4gMSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgZm9yIG15ICRVc2VySUQgKCBzb3J0IGtleXMgJU1lbWJlckxpc3QgKSB7CiAgICAgICAgICAgICAgICAkU2hvd25Vc2Vyc3skVXNlcklEfSA9ICRBbGxHcm91cHNNZW1iZXJzeyRVc2VySUR9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIG15ICRJbmZvcm1BZ2VudFNpemUgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6SW5mb3JtQWdlbnRNYXhTaXplJykKICAgICAgICAgICAgICAgIHx8IDM7CiAgICAgICAgICAgICRQYXJhbXtPcHRpb25TdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgICAgICBEYXRhICAgICAgID0+IFwlU2hvd25Vc2VycywKICAgICAgICAgICAgICAgIFNlbGVjdGVkSUQgPT4gJFNlbGYtPntJbmZvcm1Vc2VySUR9LAogICAgICAgICAgICAgICAgTmFtZSAgICAgICA9PiAnSW5mb3JtVXNlcklEJywKICAgICAgICAgICAgICAgIE11bHRpcGxlICAgPT4gMSwKICAgICAgICAgICAgICAgIFNpemUgICAgICAgPT4gJEluZm9ybUFnZW50U2l6ZSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0luZm9ybUFnZW50JywKICAgICAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgZ2V0IGludm9sdmVkCiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ30tPntJbnZvbHZlZEFnZW50fSApIHsKCiAgICAgICAgICAgIG15IEBVc2VySURzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRJbnZvbHZlZEFnZW50c0xpc3QoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIG15IEBJbnZvbHZlZEFnZW50czsKICAgICAgICAgICAgbXkgJVNlZW5JbnZvbHZlZEFnZW50czsKICAgICAgICAgICAgbXkgJENvdW50ZXIgPSAxOwoKICAgICAgICAgICAgVVNFUjoKICAgICAgICAgICAgZm9yIG15ICRVc2VyICggcmV2ZXJzZSBAVXNlcklEcyApIHsKCiAgICAgICAgICAgICAgICBuZXh0IFVTRVIgaWYgJFNlZW5JbnZvbHZlZEFnZW50c3sgJFVzZXItPntVc2VySUR9IH07CgogICAgICAgICAgICAgICAgcHVzaCBASW52b2x2ZWRBZ2VudHMsIHsKICAgICAgICAgICAgICAgICAgICBLZXkgPT4gJFVzZXItPntVc2VySUR9LAogICAgICAgICAgICAgICAgICAgIFZhbHVlID0+CiAgICAgICAgICAgICAgICAgICAgICAgICIkQ291bnRlcjogJFVzZXItPntVc2VyTGFzdG5hbWV9ICRVc2VyLT57VXNlckZpcnN0bmFtZX0gKCRVc2VyLT57VXNlckxvZ2lufSkiCiAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgJENvdW50ZXIrKzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbXkgJEludm9sdmVkQWdlbnRTaXplCiAgICAgICAgICAgICAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpJbnZvbHZlZEFnZW50TWF4U2l6ZScpIHx8IDM7CiAgICAgICAgICAgICRQYXJhbXtJbnZvbHZlZEFnZW50U3RyZ30gPSAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJ1aWxkU2VsZWN0aW9uKAogICAgICAgICAgICAgICAgRGF0YSAgICAgICA9PiBcQEludm9sdmVkQWdlbnRzLAogICAgICAgICAgICAgICAgU2VsZWN0ZWRJRCA9PiAkU2VsZi0+e0ludm9sdmVkVXNlcklEfSwKICAgICAgICAgICAgICAgIE5hbWUgICAgICAgPT4gJ0ludm9sdmVkVXNlcklEJywKICAgICAgICAgICAgICAgIE11bHRpcGxlICAgPT4gMSwKICAgICAgICAgICAgICAgIFNpemUgICAgICAgPT4gJEludm9sdmVkQWdlbnRTaXplLAogICAgICAgICAgICApOwogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnSW52b2x2ZWRBZ2VudCcsCiAgICAgICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIHNob3cgc3BlbGwgY2hlY2sKICAgICAgICBpZiAoICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+e0Jyb3dzZXJTcGVsbENoZWNrZXJ9ICkgewogICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgTmFtZSA9PiAnVGlja2V0T3B0aW9ucycsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdTcGVsbENoZWNrJywKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2hvdyBhdHRhY2htZW50cwogICAgICAgIEFUVEFDSE1FTlQ6CiAgICAgICAgZm9yIG15ICRBdHRhY2htZW50ICggQHsgJFBhcmFte0F0dGFjaG1lbnRzfSB9ICkgewoKICAgICAgICAgICAgbmV4dCBBVFRBQ0hNRU5UIGlmICRBdHRhY2htZW50LT57Q29udGVudElEfSAmJiAkU2VsZi0+e0xheW91dE9iamVjdH0tPntCcm93c2VyUmljaFRleHR9OwoKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0F0dGFjaG1lbnQnLAogICAgICAgICAgICAgICAgRGF0YSA9PiAkQXR0YWNobWVudCwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgYnVpbGQgQXJ0aWNsZVR5cGVJRCBzdHJpbmcKICAgICAgICBteSAlQXJ0aWNsZVR5cGU7CiAgICAgICAgaWYgKCAhJFBhcmFte0FydGljbGVUeXBlSUR9ICkgewogICAgICAgICAgICAkQXJ0aWNsZVR5cGV7U2VsZWN0ZWRWYWx1ZX0gPSAkU2VsZi0+e0NvbmZpZ30tPntBcnRpY2xlVHlwZURlZmF1bHR9OwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJEFydGljbGVUeXBle1NlbGVjdGVkSUR9ID0gJFBhcmFte0FydGljbGVUeXBlSUR9OwogICAgICAgIH0KCiAgICAgICAgIyBnZXQgcG9zc2libGUgbm90ZXMKICAgICAgICBpZiAoICRTZWxmLT57Q29uZmlnfS0+e0FydGljbGVUeXBlc30gKSB7CiAgICAgICAgICAgIG15ICVEZWZhdWx0Tm90ZVR5cGVzID0gJXsgJFNlbGYtPntDb25maWd9LT57QXJ0aWNsZVR5cGVzfSB9OwogICAgICAgICAgICBteSAlTm90ZVR5cGVzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5BcnRpY2xlVHlwZUxpc3QoIFJlc3VsdCA9PiAnSEFTSCcgKTsKICAgICAgICAgICAgZm9yIG15ICRLZXlOb3RlVHlwZSAoIHNvcnQga2V5cyAlTm90ZVR5cGVzICkgewogICAgICAgICAgICAgICAgaWYgKCAhJERlZmF1bHROb3RlVHlwZXN7ICROb3RlVHlwZXN7JEtleU5vdGVUeXBlfSB9ICkgewogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSAkTm90ZVR5cGVzeyRLZXlOb3RlVHlwZX07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRQYXJhbXtBcnRpY2xlVHlwZVN0cmd9ID0gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CdWlsZFNlbGVjdGlvbigKICAgICAgICAgICAgICAgIERhdGEgPT4gXCVOb3RlVHlwZXMsCiAgICAgICAgICAgICAgICBOYW1lID0+ICdBcnRpY2xlVHlwZUlEJywKICAgICAgICAgICAgICAgICVBcnRpY2xlVHlwZSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgICAgIE5hbWUgPT4gJ0FydGljbGVUeXBlJywKICAgICAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICAgICAgKTsKICAgICAgICB9CgogICAgICAgICMgc2hvdyB0aW1lIGFjY291bnRpbmcgYm94CiAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6QWNjb3VudFRpbWUnKSApIHsKICAgICAgICAgICAgaWYgKCAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpGcm9udGVuZDo6TmVlZEFjY291bnRlZFRpbWUnKSApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PiAnVGltZVVuaXRzTGFiZWxNYW5kYXRvcnknLAogICAgICAgICAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICAgICAgICAgIE5hbWUgPT4gJ1RpbWVVbml0c0xhYmVsJywKICAgICAgICAgICAgICAgICAgICBEYXRhID0+IFwlUGFyYW0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QmxvY2soCiAgICAgICAgICAgICAgICBOYW1lID0+ICdUaW1lVW5pdHMnLAogICAgICAgICAgICAgICAgRGF0YSA9PiBcJVBhcmFtLAogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KCiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KICAgICMgZ2V0IG1hc3Rlci9zbGF2ZSBkeW5hbWljIGZpZWxkCiAgICBteSAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdNYXN0ZXJTbGF2ZTo6RHluYW1pY0ZpZWxkJykgfHwgJyc7CiAgICBteSAkTWFzdGVyU2xhdmVBZHZhbmNlZEVuYWJsZWQgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTWFzdGVyU2xhdmU6OkFkdmFuY2VkRW5hYmxlZCcpIHx8IDA7CiAgICBpZiAoICRNYXN0ZXJTbGF2ZUFkdmFuY2VkRW5hYmxlZCAmJiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgKSB7CiAgICAgICAgbXkgJFVuc2V0TWFzdGVyU2xhdmUgICAgICAgICAgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTWFzdGVyU2xhdmU6OlVuc2V0TWFzdGVyU2xhdmUnKSB8fCAwOwogICAgICAgIG15ICRVcGRhdGVNYXN0ZXJTbGF2ZSAgICAgICAgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpVcGRhdGVNYXN0ZXJTbGF2ZScpIHx8IDA7CgogICAgICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCgKICAgICAgICAgICAgVGlja2V0SUQgICAgICA9PiAkU2VsZi0+e1RpY2tldElEfSwKICAgICAgICAgICAgRHluYW1pY0ZpZWxkcyA9PiAxLAogICAgICAgICAgICBVc2VySUQgICAgICAgID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAkUGFyYW17TWFzdGVyU2xhdmVEeW5hbWljRmllbGR9ID0gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkOwogICAgICAgIG15ICRUaWNrZXRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlID0gJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkIH0gfHwgJyc7CgogICAgICAgIG15ICVEYXRhOwogICAgICAgIGlmICggJFRpY2tldE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkVmFsdWUgbmUgJ01hc3RlcicgKSB7CiAgICAgICAgICAgICREYXRhe01hc3Rlcn0gPSAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdOZXcgTWFzdGVyIFRpY2tldCcpOwogICAgICAgIH0KICAgICAgICBpZiAoICRVbnNldE1hc3RlclNsYXZlICYmICRUaWNrZXRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlIGVxICdNYXN0ZXInICkgewogICAgICAgICAgICAkRGF0YXtVbnNldE1hc3Rlcn0gPSAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdVbnNldCBNYXN0ZXIgVGlja2V0Jyk7CiAgICAgICAgfQogICAgICAgIGlmICggJFVuc2V0TWFzdGVyU2xhdmUgJiYgJFRpY2tldE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkVmFsdWUgPX4gbXteU2xhdmVPZjooLio/KSR9eG1zICkgewogICAgICAgICAgICAkRGF0YXtVbnNldFNsYXZlfSAgPSAkU2VsZi0+e0xhbmd1YWdlT2JqZWN0fS0+R2V0KCdVbnNldCBTbGF2ZSBUaWNrZXQnKTsKICAgICAgICB9CiAgICAgICAgaWYgKCAkVXBkYXRlTWFzdGVyU2xhdmUgKSB7CiAgICAgICAgICAgIG15IEBUaWNrZXRJRHMgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFNlYXJjaCgKCiAgICAgICAgICAgICAgICAjIHJlc3VsdCAocmVxdWlyZWQpCiAgICAgICAgICAgICAgICBSZXN1bHQgICAgICAgICAgICAgICAgICAgICA9PiAnQVJSQVknLAogICAgICAgICAgICAgICAgIyBtYXN0ZXIgc2xhdmUgZHluYW1pYyBmaWVsZAogICAgICAgICAgICAgICAgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkID0+IHsKICAgICAgICAgICAgICAgICAgICBFcXVhbHMgPT4gJ01hc3RlcicsCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgU3RhdGVUeXBlICAgICAgICAgICAgICAgICAgPT4gJ09wZW4nLAoKICAgICAgICAgICAgICAgICMgcmVzdWx0IGxpbWl0CiAgICAgICAgICAgICAgICBMaW1pdCAgICAgID0+IDYwLAogICAgICAgICAgICAgICAgVXNlcklEICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgICAgICAgICBQZXJtaXNzaW9uID0+ICdybycsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBUaWNrZXRJRHMpIHsKICAgICAgICAgICAgICAgIG15ICVDdXJyZW50VGlja2V0ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRHZXQoIFRpY2tldElEID0+ICRUaWNrZXRJRCApOwogICAgICAgICAgICAgICAgbmV4dCBpZiAhJUN1cnJlbnRUaWNrZXQ7CiAgICAgICAgICAgICAgICBuZXh0IGlmICVUaWNrZXQgJiYgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkIH0gJiYgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkIH0gZXEgIlNsYXZlT2Y6JEN1cnJlbnRUaWNrZXR7VGlja2V0TnVtYmVyfSI7CiAgICAgICAgICAgICAgICBuZXh0IGlmICVUaWNrZXQgJiYgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkIH0gJiYgJFRpY2tldHtUaWNrZXRJRH0gZXEgJEN1cnJlbnRUaWNrZXR7VGlja2V0SUR9OwoKICAgICAgICAgICAgICAgICREYXRheyJTbGF2ZU9mOiRDdXJyZW50VGlja2V0e1RpY2tldE51bWJlcn0ifQogICAgICAgICAgICAgICAgID0gJFNlbGYtPntMYW5ndWFnZU9iamVjdH0tPkdldCgnU2xhdmUgb2YgVGlja2V0IycpIC4iJEN1cnJlbnRUaWNrZXR7VGlja2V0TnVtYmVyfTogJEN1cnJlbnRUaWNrZXR7VGl0bGV9IjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkUGFyYW17TWFzdGVyU2xhdmVTdHJnfSA9ICRTZWxmLT57TGF5b3V0T2JqZWN0fS0+QnVpbGRTZWxlY3Rpb24oCiAgICAgICAgICAgIERhdGEgPT4geyAnJyA9PiAnLScsICVEYXRhIH0sCiAgICAgICAgICAgIE5hbWUgPT4gJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkLAogICAgICAgICAgICBUcmFuc2xhdGlvbiA9PiAwLAogICAgICAgICAgICBTZWxlY3RlZElEICA9PiAkUGFyYW17UmVzcG9uc2libGVJRH0sCiAgICAgICAgKTsKICAgICAgICAkU2VsZi0+e0xheW91dE9iamVjdH0tPkJsb2NrKAogICAgICAgICAgICBOYW1lID0+ICdNYXN0ZXJTbGF2ZScsCiAgICAgICAgICAgIERhdGEgPT4gXCVQYXJhbSwKICAgICAgICApOwogICAgfQojIC0tLQoKICAgICMgRHluYW1pYyBmaWVsZHMKICAgICMgY3ljbGUgdHJvdWdoIHRoZSBhY3RpdmF0ZWQgRHluYW1pYyBGaWVsZHMgZm9yIHRoaXMgc2NyZWVuCiAgICBEWU5BTUlDRklFTEQ6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewoKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoJER5bmFtaWNGaWVsZENvbmZpZyk7CgogICAgICAgICMgc2tpcCBmaWVsZHMgdGhhdCBIVE1MIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhSXNIYXNoUmVmV2l0aERhdGEoCiAgICAgICAgICAgICRQYXJhbXtEeW5hbWljRmllbGRIVE1MfS0+eyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfQogICAgICAgICk7CgogICAgICAgICMgZ2V0IHRoZSBodG1sIHN0cmluZ3MgZm9ybSAkUGFyYW0KICAgICAgICBteSAkRHluYW1pY0ZpZWxkSFRNTCA9ICRQYXJhbXtEeW5hbWljRmllbGRIVE1MfS0+eyAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0gfTsKCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRHluYW1pY0ZpZWxkJywKICAgICAgICAgICAgRGF0YSA9PiB7CiAgICAgICAgICAgICAgICBOYW1lICA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0sCiAgICAgICAgICAgICAgICBMYWJlbCA9PiAkRHluYW1pY0ZpZWxkSFRNTC0+e0xhYmVsfSwKICAgICAgICAgICAgICAgIEZpZWxkID0+ICREeW5hbWljRmllbGRIVE1MLT57RmllbGR9LAogICAgICAgICAgICB9LAogICAgICAgICk7CgogICAgICAgICMgZXhhbXBsZSBvZiBkeW5hbWljIGZpZWxkcyBvcmRlciBjdXN0b21pemF0aW9uCiAgICAgICAgJFNlbGYtPntMYXlvdXRPYmplY3R9LT5CbG9jaygKICAgICAgICAgICAgTmFtZSA9PiAnRHluYW1pY0ZpZWxkXycgLiAkRHluYW1pY0ZpZWxkQ29uZmlnLT57TmFtZX0sCiAgICAgICAgICAgIERhdGEgPT4gewogICAgICAgICAgICAgICAgTmFtZSAgPT4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9LAogICAgICAgICAgICAgICAgTGFiZWwgPT4gJER5bmFtaWNGaWVsZEhUTUwtPntMYWJlbH0sCiAgICAgICAgICAgICAgICBGaWVsZCA9PiAkRHluYW1pY0ZpZWxkSFRNTC0+e0ZpZWxkfSwKICAgICAgICAgICAgfSwKICAgICAgICApOwogICAgfQoKICAgICMgZ2V0IG91dHB1dCBiYWNrCiAgICByZXR1cm4gJFNlbGYtPntMYXlvdXRPYmplY3R9LT5PdXRwdXQoIFRlbXBsYXRlRmlsZSA9PiAkU2VsZi0+e0FjdGlvbn0sIERhdGEgPT4gXCVQYXJhbSApOwp9CgpzdWIgX0dldE5leHRTdGF0ZXMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICBteSAlTmV4dFN0YXRlcyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U3RhdGVMaXN0KAogICAgICAgIFRpY2tldElEID0+ICRTZWxmLT57VGlja2V0SUR9LAogICAgICAgIEFjdGlvbiAgID0+ICRTZWxmLT57QWN0aW9ufSwKICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgJVBhcmFtLAogICAgKTsKCiAgICByZXR1cm4gXCVOZXh0U3RhdGVzOwp9CgpzdWIgX0dldFJlc3BvbnNpYmxlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CiAgICBteSAlU2hvd25Vc2VyczsKICAgIG15ICVBbGxHcm91cHNNZW1iZXJzID0gJFNlbGYtPntVc2VyT2JqZWN0fS0+VXNlckxpc3QoCiAgICAgICAgVHlwZSAgPT4gJ0xvbmcnLAogICAgICAgIFZhbGlkID0+IDEsCiAgICApOwoKICAgICMgc2hvdyBhbGwgdXNlcnMKICAgIGlmICggJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ1RpY2tldDo6Q2hhbmdlT3duZXJUb0V2ZXJ5b25lJykgKSB7CiAgICAgICAgJVNob3duVXNlcnMgPSAlQWxsR3JvdXBzTWVtYmVyczsKICAgIH0KCiAgICAjIHNob3cgb25seSB1c2VycyB3aXRoIHJlc3BvbnNpYmxlIG9yIHJ3IHBlbWlzc2lvbnMgaW4gdGhlIHF1ZXVlCiAgICBlbHNpZiAoICRQYXJhbXtRdWV1ZUlEfSAmJiAhJFBhcmFte0FsbFVzZXJzfSApIHsKICAgICAgICBteSAkR0lEID0gJFNlbGYtPntRdWV1ZU9iamVjdH0tPkdldFF1ZXVlR3JvdXBJRCgKICAgICAgICAgICAgUXVldWVJRCA9PiAkUGFyYW17TmV3UXVldWVJRH0gfHwgJFBhcmFte1F1ZXVlSUR9CiAgICAgICAgKTsKICAgICAgICBteSAlTWVtYmVyTGlzdCA9ICRTZWxmLT57R3JvdXBPYmplY3R9LT5Hcm91cE1lbWJlckxpc3QoCiAgICAgICAgICAgIEdyb3VwSUQgPT4gJEdJRCwKICAgICAgICAgICAgVHlwZSAgICA9PiAncmVzcG9uc2libGUnLAogICAgICAgICAgICBSZXN1bHQgID0+ICdIQVNIJywKICAgICAgICAgICAgQ2FjaGVkICA9PiAxLAogICAgICAgICk7CiAgICAgICAgZm9yIG15ICRVc2VySUQgKCBzb3J0IGtleXMgJU1lbWJlckxpc3QgKSB7CiAgICAgICAgICAgICRTaG93blVzZXJzeyRVc2VySUR9ID0gJEFsbEdyb3Vwc01lbWJlcnN7JFVzZXJJRH07CiAgICAgICAgfQogICAgfQoKICAgICMgd29ya2Zsb3cKICAgIG15ICRBQ0wgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjbCgKICAgICAgICAlUGFyYW0sCiAgICAgICAgUmV0dXJuVHlwZSAgICA9PiAnVGlja2V0JywKICAgICAgICBSZXR1cm5TdWJUeXBlID0+ICdSZXNwb25zaWJsZScsCiAgICAgICAgRGF0YSAgICAgICAgICA9PiBcJVNob3duVXNlcnMsCiAgICAgICAgVXNlcklEICAgICAgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICApOwoKICAgIHJldHVybiB7ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0QWNsRGF0YSgpIH0gaWYgJEFDTDsKCiAgICByZXR1cm4gXCVTaG93blVzZXJzOwp9CgpzdWIgX0dldE93bmVycyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwogICAgbXkgJVNob3duVXNlcnM7CiAgICBteSAlQWxsR3JvdXBzTWVtYmVycyA9ICRTZWxmLT57VXNlck9iamVjdH0tPlVzZXJMaXN0KAogICAgICAgIFR5cGUgID0+ICdMb25nJywKICAgICAgICBWYWxpZCA9PiAxLAogICAgKTsKCiAgICAjIHNob3cgYWxsIHVzZXJzCiAgICBpZiAoICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkNoYW5nZU93bmVyVG9FdmVyeW9uZScpICkgewogICAgICAgICVTaG93blVzZXJzID0gJUFsbEdyb3Vwc01lbWJlcnM7CiAgICB9CgogICAgIyBzaG93IG9ubHkgdXNlcnMgd2l0aCBvd25lciBvciBydyBwZW1pc3Npb25zIGluIHRoZSBxdWV1ZQogICAgZWxzaWYgKCAkUGFyYW17UXVldWVJRH0gJiYgISRQYXJhbXtBbGxVc2Vyc30gKSB7CiAgICAgICAgbXkgJEdJRCA9ICRTZWxmLT57UXVldWVPYmplY3R9LT5HZXRRdWV1ZUdyb3VwSUQoCiAgICAgICAgICAgIFF1ZXVlSUQgPT4gJFBhcmFte05ld1F1ZXVlSUR9IHx8ICRQYXJhbXtRdWV1ZUlEfQogICAgICAgICk7CiAgICAgICAgbXkgJU1lbWJlckxpc3QgPSAkU2VsZi0+e0dyb3VwT2JqZWN0fS0+R3JvdXBNZW1iZXJMaXN0KAogICAgICAgICAgICBHcm91cElEID0+ICRHSUQsCiAgICAgICAgICAgIFR5cGUgICAgPT4gJ293bmVyJywKICAgICAgICAgICAgUmVzdWx0ICA9PiAnSEFTSCcsCiAgICAgICAgICAgIENhY2hlZCAgPT4gMSwKICAgICAgICApOwogICAgICAgIGZvciBteSAkVXNlcklEICggc29ydCBrZXlzICVNZW1iZXJMaXN0ICkgewogICAgICAgICAgICAkU2hvd25Vc2Vyc3skVXNlcklEfSA9ICRBbGxHcm91cHNNZW1iZXJzeyRVc2VySUR9OwogICAgICAgIH0KICAgIH0KCiAgICAjIHdvcmtmbG93CiAgICBteSAkQUNMID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRBY2woCiAgICAgICAgJVBhcmFtLAogICAgICAgIFJldHVyblR5cGUgICAgPT4gJ1RpY2tldCcsCiAgICAgICAgUmV0dXJuU3ViVHlwZSA9PiAnTmV3T3duZXInLAogICAgICAgIERhdGEgICAgICAgICAgPT4gXCVTaG93blVzZXJzLAogICAgICAgIFVzZXJJRCAgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICByZXR1cm4geyAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjbERhdGEoKSB9IGlmICRBQ0w7CgogICAgcmV0dXJuIFwlU2hvd25Vc2VyczsKfQoKc3ViIF9HZXRPbGRPd25lcnMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKICAgIG15IEBPbGRVc2VySW5mbyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0T3duZXJMaXN0KCBUaWNrZXRJRCA9PiAkU2VsZi0+e1RpY2tldElEfSApOwogICAgbXkgJVVzZXJIYXNoOwogICAgaWYgKEBPbGRVc2VySW5mbykgewogICAgICAgIG15ICRDb3VudGVyID0gMTsKICAgICAgICBVU0VSOgogICAgICAgIGZvciBteSAkVXNlciAoIHJldmVyc2UgQE9sZFVzZXJJbmZvICkgewoKICAgICAgICAgICAgbmV4dCBVU0VSIGlmICRVc2VySGFzaHsgJFVzZXItPntVc2VySUR9IH07CgogICAgICAgICAgICAkVXNlckhhc2h7ICRVc2VyLT57VXNlcklEfSB9CiAgICAgICAgICAgICAgICA9ICIkQ291bnRlcjogJFVzZXItPntVc2VyTGFzdG5hbWV9ICRVc2VyLT57VXNlckZpcnN0bmFtZX0gKCRVc2VyLT57VXNlckxvZ2lufSkiOwogICAgICAgIH0KICAgICAgICBjb250aW51ZSB7CiAgICAgICAgICAgICRDb3VudGVyKys7CiAgICAgICAgfQogICAgfQoKICAgICMgd29ya2Zsb3cKICAgIG15ICRBQ0wgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjbCgKICAgICAgICAlUGFyYW0sCiAgICAgICAgUmV0dXJuVHlwZSAgICA9PiAnVGlja2V0JywKICAgICAgICBSZXR1cm5TdWJUeXBlID0+ICdPbGRPd25lcicsCiAgICAgICAgRGF0YSAgICAgICAgICA9PiBcJVVzZXJIYXNoLAogICAgICAgIFVzZXJJRCAgICAgICAgPT4gJFNlbGYtPntVc2VySUR9LAogICAgKTsKCiAgICByZXR1cm4geyAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEFjbERhdGEoKSB9IGlmICRBQ0w7CgogICAgcmV0dXJuIFwlVXNlckhhc2g7Cn0KCnN1YiBfR2V0U2VydmljZXMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBzZXJ2aWNlCiAgICBteSAlU2VydmljZTsKCiAgICAjIGdldCBvcHRpb25zIGZvciBkZWZhdWx0IHNlcnZpY2VzIGZvciB1bmtub3duIGN1c3RvbWVycwogICAgbXkgJERlZmF1bHRTZXJ2aWNlVW5rbm93bkN1c3RvbWVyCiAgICAgICAgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnVGlja2V0OjpTZXJ2aWNlOjpEZWZhdWx0OjpVbmtub3duQ3VzdG9tZXInKTsKCiAgICAjIGNoZWNrIGlmIG5vIEN1c3RvbWVyVXNlcklEIGlzIHNlbGVjdGVkCiAgICAjIGlmICREZWZhdWx0U2VydmljZVVua25vd25DdXN0b21lciA9IDAgbGVhdmUgQ3VzdG9tZXJVc2VySUQgZW1wdHksIGl0IHdpbGwgbm90IGdldCBhbnkgc2VydmljZXMKICAgICMgaWYgJERlZmF1bHRTZXJ2aWNlVW5rbm93bkN1c3RvbWVyID0gMSBzZXQgQ3VzdG9tZXJVc2VySUQgdG8gZ2V0IGRlZmF1bHQgc2VydmljZXMKICAgIGlmICggISRQYXJhbXtDdXN0b21lclVzZXJJRH0gJiYgJERlZmF1bHRTZXJ2aWNlVW5rbm93bkN1c3RvbWVyICkgewogICAgICAgICRQYXJhbXtDdXN0b21lclVzZXJJRH0gPSAnPERFRkFVTFQ+JzsKICAgIH0KCiAgICAjIGdldCBzZXJ2aWNlIGxpc3QKICAgIGlmICggJFBhcmFte0N1c3RvbWVyVXNlcklEfSApIHsKICAgICAgICAlU2VydmljZSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U2VydmljZUxpc3QoCiAgICAgICAgICAgICVQYXJhbSwKICAgICAgICAgICAgQWN0aW9uID0+ICRTZWxmLT57QWN0aW9ufSwKICAgICAgICAgICAgVXNlcklEID0+ICRTZWxmLT57VXNlcklEfSwKICAgICAgICApOwogICAgfQogICAgcmV0dXJuIFwlU2VydmljZTsKfQoKc3ViIF9HZXRTTEFzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgJVNMQTsKICAgIGlmICggJFBhcmFte1NlcnZpY2VJRH0gKSB7CiAgICAgICAgJVNMQSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0U0xBTGlzdCgKICAgICAgICAgICAgJVBhcmFtLAogICAgICAgICAgICBBY3Rpb24gPT4gJFNlbGYtPntBY3Rpb259LAogICAgICAgICk7CiAgICB9CiAgICByZXR1cm4gXCVTTEE7Cn0KCnN1YiBfR2V0UHJpb3JpdGllcyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgIG15ICVQcmlvcml0aWVzID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRQcmlvcml0eUxpc3QoCiAgICAgICAgJVBhcmFtLAogICAgICAgIEFjdGlvbiAgID0+ICRTZWxmLT57QWN0aW9ufSwKICAgICAgICBVc2VySUQgICA9PiAkU2VsZi0+e1VzZXJJRH0sCiAgICAgICAgVGlja2V0SUQgPT4gJFNlbGYtPntUaWNrZXRJRH0sCiAgICApOwogICAgaWYgKCAhJFNlbGYtPntDb25maWd9LT57UHJpb3JpdHlEZWZhdWx0fSApIHsKICAgICAgICAkUHJpb3JpdGllc3snJ30gPSAnLSc7CiAgICB9CiAgICByZXR1cm4gXCVQcmlvcml0aWVzOwp9CgpzdWIgX0dldEZpZWxkc1RvVXBkYXRlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgbXkgQFVwZGF0YWJsZUZpZWxkczsKCiAgICAjIHNldCB0aGUgZmllbGRzIHRoYXQgY2FuIGJlIHVwZGF0ZWFibGUgdmlhIEFKQVhVcGRhdGUKICAgIGlmICggISRQYXJhbXtPbmx5RHluYW1pY0ZpZWxkc30gKSB7CiAgICAgICAgQFVwZGF0YWJsZUZpZWxkcwogICAgICAgICAgICA9IHF3KAogICAgICAgICAgICBUeXBlSUQgU2VydmljZUlEIFNMQUlEIE5ld093bmVySUQgT2xkT3duZXJJRCBOZXdSZXNwb25zaWJsZUlEIE5ld1N0YXRlSUQKICAgICAgICAgICAgTmV3UHJpb3JpdHlJRAogICAgICAgICk7CiAgICB9CgogICAgIyBjeWNsZSB0aHJvdWdoIHRoZSBhY3RpdmF0ZWQgRHluYW1pYyBGaWVsZHMgZm9yIHRoaXMgc2NyZWVuCiAgICBEWU5BTUlDRklFTEQ6CiAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkfSB9ICkgewogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkQ29uZmlnKTsKCiAgICAgICAgbXkgJElzQUNMUmVkdWNpYmxlID0gJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+SGFzQmVoYXZpb3IoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkQ29uZmlnLAogICAgICAgICAgICBCZWhhdmlvciAgICAgICAgICAgPT4gJ0lzQUNMUmVkdWNpYmxlJywKICAgICAgICApOwogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICEkSXNBQ0xSZWR1Y2libGU7CgogICAgICAgIHB1c2ggQFVwZGF0YWJsZUZpZWxkcywgJ0R5bmFtaWNGaWVsZF8nIC4gJER5bmFtaWNGaWVsZENvbmZpZy0+e05hbWV9OwogICAgfQoKICAgIHJldHVybiBcQFVwZGF0YWJsZUZpZWxkczsKfQoKMTsK
IyAtLQojIEFnZW50VGlja2V0QnVsay5kdGwgLSBwcm92aWRlcyBIVE1MIGZvcm0gZm9yIGJ1bGsgbWFzawojIENvcHlyaWdodCAoQykgMjAwMS0yMDE0IE9UUlMgQUcsIGh0dHA6Ly9vdHJzLmNvbS8KIyAtLQojICRvcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9PVFJTL290cnMvYmxvYi8xNjVlYzJlMjllOGVhNjdmNGJhZWU2MTJjNWZlMzE1MGNkNjZjYTcwL0tlcm5lbC9PdXRwdXQvSFRNTC9TdGFuZGFyZC9BZ2VudFRpY2tldEJ1bGsuZHRsCiMgLS0KIyBUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQojIHRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKIyBkaWQgbm90IHJlY2VpdmUgdGhpcyBmaWxlLCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0LgojIC0tCgo8IS0tIGR0bDpibG9jazpCdWxrQWN0aW9uIC0tPgo8Zm9ybSBhY3Rpb249IiRFbnZ7IkNHSUhhbmRsZSJ9IiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9ImNvbXBvc2UiIGNsYXNzPSJWYWxpZGF0ZSI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSIkRW52eyJBY3Rpb24ifSIvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iRG8iLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Ik5vdGVGb3JtSUQiIHZhbHVlPSIkUURhdGF7Ik5vdGVGb3JtSUQifSIvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iRW1haWxGb3JtSUQiIHZhbHVlPSIkUURhdGF7IkVtYWlsRm9ybUlEIn0iLz4KCiAgICA8ZGl2IGNsYXNzPSJMYXlvdXRQb3B1cCBBUklBUm9sZU1haW4iPgogICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgIDxoMT4kVGV4dHsiVGlja2V0IEJ1bGsgQWN0aW9uIn08L2gxPgo8IS0tIGR0bDpibG9jazpDYW5jZWxDbG9zZVBvcHVwIC0tPgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJDYW5jZWxDbG9zZVBvcHVwIiBocmVmPSIjIj4kVGV4dHsiQ2FuY2VsICYgY2xvc2Ugd2luZG93In08L2E+CiAgICAgICAgICAgIDwvcD4KPCEtLSBkdGw6YmxvY2s6Q2FuY2VsQ2xvc2VQb3B1cCAtLT4KPCEtLSBkdGw6YmxvY2s6VW5kb0Nsb3NlUG9wdXAgLS0+CiAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgJFRleHR7IlRoZSB0aWNrZXQgaGFzIGJlZW4gbG9ja2VkIn0uCiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iVW5kb0Nsb3NlUG9wdXAiIGhyZWY9IiRFbnZ7IkJhc2VsaW5rIn1BY3Rpb249QWdlbnRUaWNrZXRCdWxrO1N1YmFjdGlvbj1DYW5jZWxBbmRVbmxvY2tUaWNrZXRzOyRRRGF0YXsiTG9ja2VkVGlja2V0cyJ9OyRRRW52eyJDaGFsbGVuZ2VUb2tlblBhcmFtIn0iPgogICAgICAgICAgICAgICAgICAgICRUZXh0eyJVbmRvICYgY2xvc2Ugd2luZG93In0KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9wPgo8IS0tIGR0bDpibG9jazpVbmRvQ2xvc2VQb3B1cCAtLT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNvbnRlbnQiPgo8IS0tIGR0bDpibG9jazpVc2VkVGlja2V0SUQgLS0+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJUaWNrZXRJRCIgdmFsdWU9IiRRRGF0YXsiVGlja2V0SUQifSIgLz4KPCEtLSBkdGw6YmxvY2s6VXNlZFRpY2tldElEIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIFNwYWNpbmdUb3AgQ29sbGFwc2VkIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRBY3Rpb24gVG9nZ2xlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIHRpdGxlPSIkVGV4dHsiVG9nZ2xlIHRoaXMgd2lkZ2V0In0iPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj4kVGV4dHsiQWRkIE5vdGUifTwvaDI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBGaXhlZExhYmVsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IlN1YmplY3QiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+ICRUZXh0eyJTdWJqZWN0In06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9IlZhbGlkYXRlX0RlcGVuZGluZ1JlcXVpcmVkQU5EIFZhbGlkYXRlX0RlcGVuZGluZ19Cb2R5ICREYXRheyJTdWJqZWN0SW52YWxpZCJ9IFc3NXBjIiBpZD0iU3ViamVjdCIgbmFtZT0iU3ViamVjdCIgdmFsdWU9IiRRRGF0YXsiU3ViamVjdCJ9IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlN1YmplY3RFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlN1YmplY3RTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+Cgo8IS0tIGR0bDpibG9jazpTcGVsbENoZWNrIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPiRUZXh0eyJPcHRpb25zIn06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBpZD0iT3B0aW9uU3BlbGxDaGVjayI+WyAkVGV4dHsiU3BlbGwgY2hlY2sifSBdPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOlNwZWxsQ2hlY2sgLS0+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iQm9keSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gJFRleHR7IlRleHQifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUmljaFRleHRGaWVsZCI+CjwhLS0gZHRsOmJsb2NrOlJpY2hUZXh0IC0tPgokSW5jbHVkZXsiUmljaFRleHRFZGl0b3IifQo8IS0tIGR0bDpibG9jazpSaWNoVGV4dCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgaWQ9IkJvZHkiIGNsYXNzPSJSaWNoVGV4dCBWYWxpZGF0ZV9EZXBlbmRpbmdSZXF1aXJlZEFORCBWYWxpZGF0ZV9EZXBlbmRpbmdfU3ViamVjdCAkRGF0YXsiQm9keUludmFsaWQifSIgbmFtZT0iQm9keSIgcm93cz0iMTUiIGNvbHM9IiRDb25maWd7IlRpY2tldDo6RnJvbnRlbmQ6OlRleHRBcmVhTm90ZSJ9Ij4kUURhdGF7IkJvZHkifTwvdGV4dGFyZWE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iQm9keUVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iQm9keVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJBcnRpY2xlVHlwZUlEIj4kVGV4dHsiTm90ZSB0eXBlIn06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkRGF0YXsiTm90ZVN0cmcifQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOlRpbWVVbml0c0xhYmVsIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iVGltZVVuaXRzIj4kVGV4dHsiVGltZSB1bml0cyJ9ICRUZXh0eyIkQ29uZmlneyJUaWNrZXQ6OkZyb250ZW5kOjpUaW1lVW5pdHMifSJ9OjwvbGFiZWw+CjwhLS0gZHRsOmJsb2NrOlRpbWVVbml0c0xhYmVsIC0tPgo8IS0tIGR0bDpibG9jazpUaW1lVW5pdHNMYWJlbE1hbmRhdG9yeSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IlRpbWVVbml0cyI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4kVGV4dHsiVGltZSB1bml0cyJ9ICRUZXh0eyIkQ29uZmlneyJUaWNrZXQ6OkZyb250ZW5kOjpUaW1lVW5pdHMifSJ9OjwvbGFiZWw+CjwhLS0gZHRsOmJsb2NrOlRpbWVVbml0c0xhYmVsTWFuZGF0b3J5IC0tPgo8IS0tIGR0bDpibG9jazpUaW1lVW5pdHMgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJWYWxpZGF0ZV9UaW1lVW5pdHMgVzUwcGMgJFFEYXRheyJUaW1lVW5pdHNSZXF1aXJlZCJ9ICRRRGF0YXsiVGltZVVuaXRzSW52YWxpZCJ9IiBpZD0iVGltZVVuaXRzIiBuYW1lPSJUaW1lVW5pdHMiIHZhbHVlPSIkUURhdGF7IlRpbWVVbml0cyJ9Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iVGltZVVuaXRzRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiSW52YWxpZCB0aW1lISJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlRpbWVVbml0c1NlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6VGltZVVuaXRzIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iV2lkZ2V0U2ltcGxlIFNwYWNpbmdUb3AgQ29sbGFwc2VkIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJIZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJXaWRnZXRBY3Rpb24gVG9nZ2xlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIHRpdGxlPSIkVGV4dHsiVG9nZ2xlIHRoaXMgd2lkZ2V0In0iPjxpIGNsYXNzPSJpY29uLWNhcmV0LXJpZ2h0Ij48L2k+PGkgY2xhc3M9Imljb24tY2FyZXQtZG93biI+PC9pPjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj4kVGV4dHsiU2VuZCBFbWFpbCJ9PC9oMj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDb250ZW50Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldCBjbGFzcz0iVGFibGVMaWtlIEZpeGVkTGFiZWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iRW1haWxTdWJqZWN0Ij48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiAkVGV4dHsiU3ViamVjdCJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJWYWxpZGF0ZV9EZXBlbmRpbmdSZXF1aXJlZEFORCBWYWxpZGF0ZV9EZXBlbmRpbmdfRW1haWxCb2R5ICREYXRheyJTdWJqZWN0SW52YWxpZCJ9IFc3NXBjIiBpZD0iRW1haWxTdWJqZWN0IiBuYW1lPSJFbWFpbFN1YmplY3QiIHZhbHVlPSIkUURhdGF7IkVtYWlsU3ViamVjdCJ9IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkVtYWlsU3ViamVjdEVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRW1haWxTdWJqZWN0U2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKPCEtLSBkdGw6YmxvY2s6U3BlbGxDaGVja0VtYWlsIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPiRUZXh0eyJPcHRpb25zIn06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBpZD0iRW1haWxPcHRpb25TcGVsbENoZWNrIj5bICRUZXh0eyJTcGVsbCBjaGVjayJ9IF08L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6U3BlbGxDaGVja0VtYWlsIC0tPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iTWFuZGF0b3J5IiBmb3I9IkVtYWlsQm9keSI+PHNwYW4gY2xhc3M9Ik1hcmtlciI+Kjwvc3Bhbj4gJFRleHR7IlRleHQifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUmljaFRleHRGaWVsZCI+CjwhLS0gZHRsOmJsb2NrOlJpY2hUZXh0RW1haWwgLS0+CiRJbmNsdWRleyJSaWNoVGV4dEVkaXRvciJ9CjwhLS0gZHRsOmJsb2NrOlJpY2hUZXh0RW1haWwgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJFbWFpbEJvZHkiIGNsYXNzPSJSaWNoVGV4dCBWYWxpZGF0ZV9EZXBlbmRpbmdSZXF1aXJlZEFORCBWYWxpZGF0ZV9EZXBlbmRpbmdfRW1haWxTdWJqZWN0ICREYXRheyJCb2R5SW52YWxpZCJ9IiBuYW1lPSJFbWFpbEJvZHkiIHJvd3M9IjE1IiBjb2xzPSIkQ29uZmlneyJUaWNrZXQ6OkZyb250ZW5kOjpUZXh0QXJlYU5vdGUifSI+JFFEYXRheyJFbWFpbEJvZHkifTwvdGV4dGFyZWE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iRW1haWxCb2R5RXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJFbWFpbEJvZHlTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOlRpbWVVbml0c0xhYmVsRW1haWwgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJFbWFpbFRpbWVVbml0cyI+JFRleHR7IlRpbWUgdW5pdHMifSAkVGV4dHsiJENvbmZpZ3siVGlja2V0OjpGcm9udGVuZDo6VGltZVVuaXRzIn0ifTo8L2xhYmVsPgo8IS0tIGR0bDpibG9jazpUaW1lVW5pdHNMYWJlbEVtYWlsIC0tPgo8IS0tIGR0bDpibG9jazpUaW1lVW5pdHNMYWJlbE1hbmRhdG9yeUVtYWlsIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iRW1haWxUaW1lVW5pdHMiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+JFRleHR7IlRpbWUgdW5pdHMifSAkVGV4dHsiJENvbmZpZ3siVGlja2V0OjpGcm9udGVuZDo6VGltZVVuaXRzIn0ifTo8L2xhYmVsPgo8IS0tIGR0bDpibG9jazpUaW1lVW5pdHNMYWJlbE1hbmRhdG9yeUVtYWlsIC0tPgo8IS0tIGR0bDpibG9jazpUaW1lVW5pdHNFbWFpbCAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9IlZhbGlkYXRlX0VtYWlsVGltZVVuaXRzIFcyMHBjICRRRGF0YXsiRW1haWxUaW1lVW5pdHNSZXF1aXJlZCJ9ICRRRGF0YXsiRW1haWxUaW1lVW5pdHNJbnZhbGlkIn0iIGlkPSJFbWFpbFRpbWVVbml0cyIgbmFtZT0iRW1haWxUaW1lVW5pdHMiIHZhbHVlPSIkUURhdGF7IkVtYWlsVGltZVVuaXRzIn0iLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJFbWFpbFRpbWVVbml0c0Vycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IkludmFsaWQgdGltZSEifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJFbWFpbFRpbWVVbml0c1NlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6VGltZVVuaXRzRW1haWwgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBGaXhlZExhYmVsIj4KPCEtLSBkdGw6YmxvY2s6U3RhdGUgLS0+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU3RhdGVJRCI+JFRleHR7Ik5leHQgc3RhdGUifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgJERhdGF7Ik5leHRTdGF0ZXNTdHJnIn0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOlN0YXRlUGVuZGluZyAtLT4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+JFRleHR7IlBlbmRpbmcgZGF0ZSJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAkRGF0YXsiRGF0ZVN0cmluZyJ9CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkRheVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IkRhdGUgaW52YWxpZCEifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iSG91clNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IkRhdGUgaW52YWxpZCEifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOlN0YXRlUGVuZGluZyAtLT4KPCEtLSBkdGw6YmxvY2s6U3RhdGUgLS0+Cgo8IS0tIGR0bDpibG9jazpUeXBlIC0tPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlR5cGVJRCI+JFRleHR7IlR5cGUifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgJERhdGF7IlR5cGVTdHJnIn0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOlR5cGUgLS0+Cgo8IS0tIGR0bDpibG9jazpPd25lciAtLT4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJPd25lcklEIj4kVGV4dHsiT3duZXIifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgJERhdGF7Ik93bmVyU3RyZyJ9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpPd25lciAtLT4KCjwhLS0gZHRsOmJsb2NrOlJlc3BvbnNpYmxlIC0tPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlJlc3BvbnNpYmxlSUQiPiRUZXh0eyJSZXNwb25zaWJsZSJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAkRGF0YXsiUmVzcG9uc2libGVTdHJnIn0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOlJlc3BvbnNpYmxlIC0tPgoKICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJRdWV1ZUlEIj4kVGV4dHsiUXVldWUifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgJERhdGF7Ik1vdmVRdWV1ZXNTdHJnIn0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+Cgo8IS0tIGR0bDpibG9jazpQcmlvcml0eSAtLT4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJQcmlvcml0eUlEIj4kVGV4dHsiUHJpb3JpdHkifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgJERhdGF7IlByaW9yaXR5U3RyZyJ9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpQcmlvcml0eSAtLT4KCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPiRUZXh0eyJNZXJnZSJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJNZXJnZVRvU2VsZWN0aW9uIiBpZD0iT3B0aW9uTWVyZ2VUbyIgdmFsdWU9Ik9wdGlvbk1lcmdlVG8iICREYXRheyJNZXJnZVRvQ2hlY2tlZCJ9Lz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik1lcmdlVG8iPiRUZXh0eyJNZXJnZSB0byJ9ICRDb25maWd7IlRpY2tldDo6SG9vayJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9IiRRRGF0YXsiTWVyZ2VUb0ludmFsaWQifSBXNTBwYyIgaWQ9Ik1lcmdlVG8iIG5hbWU9Ik1lcmdlVG8iIHZhbHVlPSIkUURhdGF7Ik1lcmdlVG8ifSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iTWVyZ2VUb1NlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IkludmFsaWQgdGlja2V0IGlkZW50aWZpZXIhIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJNZXJnZVRvU2VsZWN0aW9uIiBpZD0iT3B0aW9uTWVyZ2VUb09sZGVzdCIgdmFsdWU9Ik9wdGlvbk1lcmdlVG9PbGRlc3QiICREYXRheyJNZXJnZVRvT2xkZXN0Q2hlY2tlZCJ9Lz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik9wdGlvbk1lcmdlVG9PbGRlc3QiPiRUZXh0eyJNZXJnZSB0byBvbGRlc3QifTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iTGlua1RvZ2V0aGVyIj4kVGV4dHsiTGluayB0b2dldGhlciJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICAgICAkRGF0YXsiTGlua1RvZ2V0aGVyWWVzTm9PcHRpb24ifQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iTGlua1RvZ2V0aGVyUGFyZW50Ij4kVGV4dHsiTGluayB0byBwYXJlbnQifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSIkUURhdGF7IkxpbmtUb2dldGhlclBhcmVudEludmFsaWQifSBXNTBwYyIgaWQ9IkxpbmtUb2dldGhlclBhcmVudCIgbmFtZT0iTGlua1RvZ2V0aGVyUGFyZW50IiB2YWx1ZT0iJFFEYXRheyJMaW5rVG9nZXRoZXJQYXJlbnQifSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJMaW5rVG9nZXRoZXJQYXJlbnRTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJJbnZhbGlkIHRpY2tldCBpZGVudGlmaWVyISJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iVW5sb2NrIj4kVGV4dHsiVW5sb2NrIHRpY2tldHMifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgJERhdGF7IlVubG9ja1llc05vT3B0aW9uIn0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KPCEtLSBkdGw6YmxvY2s6TWFzdGVyU2xhdmUgLS0+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iJERhdGF7Ik1hc3RlclNsYXZlVGlja2V0RnJlZVRleHRDb3VudCJ9Ij4kVGV4dHsiTWFzdGVyVGlja2V0In06PC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICREYXRheyJNYXN0ZXJTbGF2ZVN0cmcifQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6TWFzdGVyU2xhdmUgLS0+CiMgLS0tCiAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJGb290ZXIiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJQcmltYXJ5IiBpZD0ic3VibWl0UmljaFRleHQiIGFjY2Vzc2tleT0iZyIgdGl0bGU9IiRUZXh0eyJTdWJtaXQifSAoZykiIHR5cGU9InN1Ym1pdCIgdmFsdWU9IiRUZXh0eyJTdWJtaXQifSI+JFRleHR7IlN1Ym1pdCJ9PC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9mb3JtPgo8IS0tIGR0bDpibG9jazpQYXJlbnRSZWxvYWQgLS0+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbCndpbmRvdy5vcGVuZXIuQ29yZS5VSS5Qb3B1cC5GaXJlUG9wdXBFdmVudCgnVVJMJywgeyBVUkw6ICckRW52eyJCYXNlbGluayJ9JERhdGF7IlVSTCJ9JyB9KTsKLy9dXT48L3NjcmlwdD4KPCEtLWR0bDpqc19vbl9kb2N1bWVudF9jb21wbGV0ZS0tPgo8IS0tIGR0bDpibG9jazpQYXJlbnRSZWxvYWQgLS0+Cgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWwogICAgQ29yZS5BZ2VudC5UaWNrZXRBY3Rpb24uSW5pdCgpOwovL11dPjwvc2NyaXB0Pgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+Cgo8IS0tIGR0bDpibG9jazpCdWxrQWN0aW9uIC0tPgo=
IyAtLQojIEFnZW50VGlja2V0TWFzdGVyU2xhdmUuZHRsIC0gcHJvdmlkZXMgY29tbW9uIEhUTUwgZm9ybSBmb3Igc2V2ZXJhbCBtYXNrcwojIENvcHlyaWdodCAoQykgMjAwMS0yMDE0IE9UUlMgQUcsIGh0dHA6Ly9vdHJzLmNvbS8KIyAtLQojICRvcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9PVFJTL290cnMvYmxvYi9jNTE0NDJkMzdkMDYyNzFmOGMxZDQ0MmFhOTQ3YmE0NzU1MDc3YjVjL0tlcm5lbC9PdXRwdXQvSFRNTC9TdGFuZGFyZC9BZ2VudFRpY2tldEFjdGlvbkNvbW1vbi5kdGwKIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KIyB0aGlzIG1vZHVsZSB1c2VzIEFnZW50VGlja2V0QWN0aW9uQ29tbW9uIGFzIGEgYmFzZSwgZm9yIGVhc3kgdXBkYXRlIGFuZCBmcmFtZXdvcmsgY29tcGF0aWJpbGl0eQojIHNwZWNpYWwgbWFya2VycyBoYXMgYmVlbiBzZXQgYWxvbmcgdGhlIGZpbGUgdG8gZWFzeSBzcG90IHRoZSBkaWZmZXJlbmNlcyBpbnRyb2R1Y2VkIGJ5CiMgT1RSU01hc3RlclNsYXZlIHBhY2thZ2UKCjwhLS0gZHRsOmJsb2NrOlByb3BlcnRpZXMgLS0+Cgo8Zm9ybSBhY3Rpb249IiRFbnZ7IkNHSUhhbmRsZSJ9IiBtZXRob2Q9InBvc3QiIGVuY3R5cGU9Im11bHRpcGFydC9mb3JtLWRhdGEiIG5hbWU9ImNvbXBvc2UiIGlkPSJDb21wb3NlIiBjbGFzcz0iVmFsaWRhdGUgUHJldmVudE11bHRpcGxlU3VibWl0cyI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJBY3Rpb24iIHZhbHVlPSIkRW52eyJBY3Rpb24ifSIvPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iU3ViYWN0aW9uIiB2YWx1ZT0iU3RvcmUiLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IlRpY2tldElEIiB2YWx1ZT0iJFFEYXRheyJUaWNrZXRJRCJ9Ii8+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJFeHBhbmQiIGlkPSJFeHBhbmQiIHZhbHVlPSIiLz4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IkZvcm1JRCIgdmFsdWU9IiRRRGF0YXsiRm9ybUlEIn0iLz4KCiAgICA8ZGl2IGNsYXNzPSJMYXlvdXRQb3B1cCBBUklBUm9sZU1haW4iPgogICAgICAgIDxkaXYgY2xhc3M9IkhlYWRlciI+CiAgICAgICAgICAgIDxoMT4KIyAtLS0KIyBNYXN0ZXJTbGF2ZQojIC0tLQojPCEtLSBkdGw6YmxvY2s6SGVhZGVyQWdlbnRUaWNrZXRGcmVlVGV4dCAtLT4KIyRUZXh0eyJDaGFuZ2UgRnJlZSBUZXh0IG9mIFRpY2tldCJ9OgojPCEtLSBkdGw6YmxvY2s6SGVhZGVyQWdlbnRUaWNrZXRGcmVlVGV4dCAtLT4KIzwhLS0gZHRsOmJsb2NrOkhlYWRlckFnZW50VGlja2V0T3duZXIgLS0+CiMkVGV4dHsiQ2hhbmdlIE93bmVyIG9mIFRpY2tldCJ9OgojPCEtLSBkdGw6YmxvY2s6SGVhZGVyQWdlbnRUaWNrZXRPd25lciAtLT4KIzwhLS0gZHRsOmJsb2NrOkhlYWRlckFnZW50VGlja2V0Q2xvc2UgLS0+CiMkVGV4dHsiQ2xvc2UgVGlja2V0In06CiM8IS0tIGR0bDpibG9jazpIZWFkZXJBZ2VudFRpY2tldENsb3NlIC0tPgojPCEtLSBkdGw6YmxvY2s6SGVhZGVyQWdlbnRUaWNrZXROb3RlIC0tPgojJFRleHR7IkFkZCBOb3RlIHRvIFRpY2tldCJ9OgojPCEtLSBkdGw6YmxvY2s6SGVhZGVyQWdlbnRUaWNrZXROb3RlIC0tPgojPCEtLSBkdGw6YmxvY2s6SGVhZGVyQWdlbnRUaWNrZXRQZW5kaW5nIC0tPgojJFRleHR7IlNldCBQZW5kaW5nIn06CiM8IS0tIGR0bDpibG9jazpIZWFkZXJBZ2VudFRpY2tldFBlbmRpbmcgLS0+CiM8IS0tIGR0bDpibG9jazpIZWFkZXJBZ2VudFRpY2tldFByaW9yaXR5IC0tPgojJFRleHR7IkNoYW5nZSBQcmlvcml0eSBvZiBUaWNrZXQifToKIzwhLS0gZHRsOmJsb2NrOkhlYWRlckFnZW50VGlja2V0UHJpb3JpdHkgLS0+CiM8IS0tIGR0bDpibG9jazpIZWFkZXJBZ2VudFRpY2tldFJlc3BvbnNpYmxlIC0tPgojJFRleHR7IkNoYW5nZSBSZXNwb25zaWJsZSBvZiBUaWNrZXQifToKIzwhLS0gZHRsOmJsb2NrOkhlYWRlckFnZW50VGlja2V0UmVzcG9uc2libGUgLS0+CiMkRGF0YXsiVGlja2V0TnVtYmVyIn0gLSAkUURhdGF7IlRpdGxlIn0KICAgICAgICAgICAgICAgICRUZXh0eyJNYW5hZ2UgTWFzdGVyL1NsYXZlIn0gOiAkUURhdGF7IlRpY2tldE51bWJlciJ9IC0gJFFEYXRheyJUaXRsZSIsIjYwIn0KIyAtLS0KICAgICAgICAgICAgPC9oMT4KICAgICAgICAgICAgPHAgY2xhc3M9IkFzdGVyaXNrRXhwbGFuYXRpb24iPiRUZXh0eyJBbGwgZmllbGRzIG1hcmtlZCB3aXRoIGFuIGFzdGVyaXNrICgqKSBhcmUgbWFuZGF0b3J5LiJ9PC9wPgoKPCEtLSBkdGw6YmxvY2s6VGlja2V0QmFjayAtLT4KICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iQ2FuY2VsQ2xvc2VQb3B1cCIgaHJlZj0iIyI+JFRleHR7IkNhbmNlbCAmIGNsb3NlIHdpbmRvdyJ9PC9hPgogICAgICAgICAgICA8L3A+CjwhLS0gZHRsOmJsb2NrOlRpY2tldEJhY2sgLS0+CjwhLS0gZHRsOmJsb2NrOlByb3BlcnRpZXNMb2NrIC0tPgogICAgICAgICAgICA8cD4KICAgICAgICAgICAgICAgICRUZXh0eyJUaGUgdGlja2V0IGhhcyBiZWVuIGxvY2tlZCJ9LgogICAgICAgICAgICAgICAgPGEgY2xhc3M9IlVuZG9DbG9zZVBvcHVwIiBocmVmPSIkRW52eyJCYXNlbGluayJ9QWN0aW9uPUFnZW50VGlja2V0TG9jaztTdWJhY3Rpb249VW5sb2NrO1RpY2tldElEPSREYXRheyJUaWNrZXRJRCJ9OyRRRW52eyJDaGFsbGVuZ2VUb2tlblBhcmFtIn0iPgogICAgICAgICAgICAgICAgICAgICRUZXh0eyJVbmRvICYgY2xvc2Ugd2luZG93In0KICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9wPgo8IS0tIGR0bDpibG9jazpQcm9wZXJ0aWVzTG9jayAtLT4KCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iQ29udGVudCI+CgogICAgICAgICAgICA8ZmllbGRzZXQgY2xhc3M9IlRhYmxlTGlrZSBGaXhlZExhYmVsIj4KCjwhLS0gZHRsOmJsb2NrOlRpdGxlIC0tPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iVGl0bGUiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+JFRleHR7IlRpdGxlIn06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IlRpdGxlIiBuYW1lPSJUaXRsZSIgdmFsdWU9IiRRRGF0YXsiVGl0bGUifSIgY2xhc3M9Ilc3NXBjIFZhbGlkYXRlX1JlcXVpcmVkICRRRGF0YXsiVGl0bGVJbnZhbGlkIn0iIC8+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iVGl0bGVFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiID48cD4kVGV4dHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJUaXRsZVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6VGl0bGUgLS0+Cgo8IS0tIGR0bDpibG9jazpUeXBlIC0tPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iVHlwZUlEIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiRUZXh0eyJUeXBlIn06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAkRGF0YXsiVHlwZVN0cmcifQogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlR5cGVJREVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iVHlwZUlEU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifTwvcD48L2Rpdj4KPCEtLWR0bDpqc19vbl9kb2N1bWVudF9jb21wbGV0ZS0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ly88IVtDREFUQVsKJCgnI1R5cGVJRCcpLmJpbmQoJ2NoYW5nZScsIGZ1bmN0aW9uIChFdmVudCkgewogICAgQ29yZS5BSkFYLkZvcm1VcGRhdGUoJCgnI0NvbXBvc2UnKSwgJ0FKQVhVcGRhdGUnLCAnVHlwZUlEJywgWyAnU2VydmljZUlEJywgJ1NMQUlEJywgJ05ld093bmVySUQnLCAnT2xkT3duZXJJRCcsICdOZXdSZXNwb25zaWJsZUlEJywgJ05ld1N0YXRlSUQnLCAnTmV3UHJpb3JpdHlJRCcsICREYXRheyJEeW5hbWljRmllbGROYW1lc1N0cmcifSBdKTsKfSk7Ci8vXV0+PC9zY3JpcHQ+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpUeXBlIC0tPgoKPCEtLSBkdGw6YmxvY2s6U2VydmljZSAtLT4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlNlcnZpY2VJRCI+JFRleHR7IlNlcnZpY2UifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICREYXRheyJTZXJ2aWNlU3RyZyJ9CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iU2VydmljZUlEU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiU2VydmljZSBpbnZhbGlkLiJ9PC9wPjwvZGl2Pgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWwogICAgJCgnI1NlcnZpY2VJRCcpLmJpbmQoJ2NoYW5nZScsIGZ1bmN0aW9uIChFdmVudCkgewogICAgICAgIENvcmUuQUpBWC5Gb3JtVXBkYXRlKCQoJyNDb21wb3NlJyksICdBSkFYVXBkYXRlJywgJ1NlcnZpY2VJRCcsIFsgJ1R5cGVJRCcsICdTTEFJRCcsICdOZXdPd25lcklEJywgJ09sZE93bmVySUQnLCAnTmV3UmVzcG9uc2libGVJRCcsICdOZXdTdGF0ZUlEJywgJ05ld1ByaW9yaXR5SUQnICREYXRheyJEeW5hbWljRmllbGROYW1lc1N0cmcifSBdKTsKICAgIH0pOwovL11dPjwvc2NyaXB0Pgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6U2VydmljZSAtLT4KCjwhLS0gZHRsOmJsb2NrOlNlcnZpY2VNYW5kYXRvcnkgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJTZXJ2aWNlSUQiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+JFRleHR7IlNlcnZpY2UifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICREYXRheyJTZXJ2aWNlU3RyZyJ9CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iU2VydmljZUlERXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJTZXJ2aWNlSURTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJTZXJ2aWNlIGludmFsaWQuIn08L3A+PC9kaXY+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbCiAgICAkKCcjU2VydmljZUlEJykuYmluZCgnY2hhbmdlJywgZnVuY3Rpb24gKEV2ZW50KSB7CiAgICAgICAgQ29yZS5BSkFYLkZvcm1VcGRhdGUoJCgnI0NvbXBvc2UnKSwgJ0FKQVhVcGRhdGUnLCAnU2VydmljZUlEJywgWyAnVHlwZUlEJywgJ1NMQUlEJywgJ05ld093bmVySUQnLCAnT2xkT3duZXJJRCcsICdOZXdSZXNwb25zaWJsZUlEJywgJ05ld1N0YXRlSUQnLCAnTmV3UHJpb3JpdHlJRCcgJERhdGF7IkR5bmFtaWNGaWVsZE5hbWVzU3RyZyJ9IF0pOwogICAgfSk7Ci8vXV0+PC9zY3JpcHQ+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpTZXJ2aWNlTWFuZGF0b3J5IC0tPgoKPCEtLSBkdGw6YmxvY2s6U0xBIC0tPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iU0xBSUQiPiRUZXh0eyJTZXJ2aWNlIExldmVsIEFncmVlbWVudCJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgJERhdGF7IlNMQVN0cmcifQo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWwogICAgJCgnI1NMQUlEJykuYmluZCgnY2hhbmdlJywgZnVuY3Rpb24gKEV2ZW50KSB7CiAgICAgICAgQ29yZS5BSkFYLkZvcm1VcGRhdGUoJCgnI0NvbXBvc2UnKSwgJ0FKQVhVcGRhdGUnLCAnU0xBSUQnLCBbICdUeXBlSUQnLCAnU2VydmljZUlEJywgJ05ld093bmVySUQnLCAnT2xkT3duZXJJRCcsICdOZXdSZXNwb25zaWJsZUlEJywgJ05ld1N0YXRlSUQnLCAnTmV3UHJpb3JpdHlJRCcsICREYXRheyJEeW5hbWljRmllbGROYW1lc1N0cmcifSBdKTsKICAgIH0pOwovL11dPjwvc2NyaXB0Pgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6U0xBIC0tPgoKPCEtLSBkdGw6YmxvY2s6U0xBTWFuZGF0b3J5IC0tPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iU0xBSUQiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+JFRleHR7IlNlcnZpY2UgTGV2ZWwgQWdyZWVtZW50In06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAkRGF0YXsiU0xBU3RyZyJ9CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iU0xBSURFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlNMQUlEU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifTwvcD48L2Rpdj4KPCEtLWR0bDpqc19vbl9kb2N1bWVudF9jb21wbGV0ZS0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ly88IVtDREFUQVsKICAgICQoJyNTTEFJRCcpLmJpbmQoJ2NoYW5nZScsIGZ1bmN0aW9uIChFdmVudCkgewogICAgICAgIENvcmUuQUpBWC5Gb3JtVXBkYXRlKCQoJyNDb21wb3NlJyksICdBSkFYVXBkYXRlJywgJ1NMQUlEJywgWyAnVHlwZUlEJywgJ1NlcnZpY2VJRCcsICdOZXdPd25lcklEJywgJ09sZE93bmVySUQnLCAnTmV3UmVzcG9uc2libGVJRCcsICdOZXdTdGF0ZUlEJywgJ05ld1ByaW9yaXR5SUQnICREYXRheyJEeW5hbWljRmllbGROYW1lc1N0cmcifSBdKTsKICAgIH0pOwovL11dPjwvc2NyaXB0Pgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6U0xBTWFuZGF0b3J5IC0tPgoKPCEtLSBkdGw6YmxvY2s6UXVldWUgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJOZXdRdWV1ZUlEIj4kVGV4dHsiUXVldWUifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICREYXRheyJRdWV1ZXNTdHJnIn0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJRdWV1ZUlERXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIiA+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iUXVldWVJRFNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQuIn08L3A+PC9kaXY+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbCiAgICAkKCcjTmV3UXVldWVJRCcpLmJpbmQoJ2NoYW5nZScsIGZ1bmN0aW9uIChFdmVudCkgewogICAgICAgIENvcmUuQUpBWC5Gb3JtVXBkYXRlKCQoJyNDb21wb3NlJyksICdBSkFYVXBkYXRlJywgJ1F1ZXVlSUQnLCBbICdUeXBlSUQnLCAnU2VydmljZUlEJywgJ05ld093bmVySUQnLCAnT2xkT3duZXJJRCcsICdOZXdSZXNwb25zaWJsZUlEJywgJ05ld1N0YXRlSUQnLCAnTmV3UHJpb3JpdHlJRCcsICREYXRheyJEeW5hbWljRmllbGROYW1lc1N0cmcifSBdKTsKICAgIH0pOwovL11dPjwvc2NyaXB0Pgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6UXVldWUgLS0+Cgo8IS0tIGR0bDpibG9jazpPd25lciAtLT4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik5ld093bmVySUQiPiRUZXh0eyJOZXcgT3duZXIifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iTmV3T3duZXJUeXBlIiB2YWx1ZT0iTmV3IiB0aXRsZT0iU2VsZWN0IG5ldyBvd25lciIgJERhdGF7Ik5ld093bmVyVHlwZTo6TmV3In0gLz4KICAgICAgICAgICAgICAgICAgICAkRGF0YXsiT3duZXJTdHJnIn0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJOZXdPd25lcklEU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiUGxlYXNlIHNldCBhIG5ldyBvd25lciEifTwvcD48L2Rpdj4KPCEtLWR0bDpqc19vbl9kb2N1bWVudF9jb21wbGV0ZS0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ly88IVtDREFUQVsKICAgICQoJyNOZXdPd25lcklEJykuYmluZCgnY2hhbmdlJywgZnVuY3Rpb24gKEV2ZW50KSB7CiAgICAgICAgQ29yZS5BSkFYLkZvcm1VcGRhdGUoJCgnI0NvbXBvc2UnKSwgJ0FKQVhVcGRhdGUnLCAnTmV3T3duZXJJRCcsIFsgJ1R5cGVJRCcsICdTZXJ2aWNlSUQnLCAnU0xBSUQnLCAnT2xkT3duZXJJRCcsICdOZXdSZXNwb25zaWJsZUlEJywgJ05ld1N0YXRlSUQnLCAnTmV3UHJpb3JpdHlJRCcgJERhdGF7IkR5bmFtaWNGaWVsZE5hbWVzU3RyZyJ9IF0pOwogICAgfSk7CiAgICAkKCcjTmV3T3duZXJJRCcpLmJpbmQoJ2ZvY3VzJywgZnVuY3Rpb24gKCkgewogICAgICAgIENvcmUuQWdlbnQuVGlja2V0QWN0aW9uLlNlbGVjdFJhZGlvQnV0dG9uKCdOZXcnLCdOZXdPd25lclR5cGUnKTsKICAgIH0pOwovL11dPjwvc2NyaXB0Pgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJPbGRPd25lcklEIj4kVGV4dHsiUHJldmlvdXMgT3duZXIifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iTmV3T3duZXJUeXBlIiB2YWx1ZT0iT2xkIiB0aXRsZT0iU2VsZWN0IG9sZCBvd25lciIgJERhdGF7Ik5ld093bmVyVHlwZTo6T2xkIn0gLz4KICAgICAgICAgICAgICAgICAgICAkRGF0YXsiT2xkT3duZXJTdHJnIn0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJPbGRPd25lcklEU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiUGxlYXNlIHNldCBhIG5ldyBvd25lciEifTwvcD48L2Rpdj4KPCEtLWR0bDpqc19vbl9kb2N1bWVudF9jb21wbGV0ZS0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ly88IVtDREFUQVsKICAgICQoJyNPbGRPd25lcklEJykuYmluZCgnY2hhbmdlJywgZnVuY3Rpb24gKEV2ZW50KSB7CiAgICAgICAgQ29yZS5BSkFYLkZvcm1VcGRhdGUoJCgnI0NvbXBvc2UnKSwgJ0FKQVhVcGRhdGUnLCAnT2xkT3duZXJJRCcsIFsgJ1R5cGVJRCcsICdTZXJ2aWNlSUQnLCAnU0xBSUQnLCAnTmV3T3duZXJJRCcsICdOZXdSZXNwb25zaWJsZUlEJywgJ05ld1N0YXRlSUQnLCAnTmV3UHJpb3JpdHlJRCcsICREYXRheyJEeW5hbWljRmllbGROYW1lc1N0cmcifSBdKTsKICAgIH0pOwogICAgJCgnI09sZE93bmVySUQnKS5iaW5kKCdmb2N1cycsIGZ1bmN0aW9uICgpIHsKICAgICAgICBDb3JlLkFnZW50LlRpY2tldEFjdGlvbi5TZWxlY3RSYWRpb0J1dHRvbignT2xkJywnTmV3T3duZXJUeXBlJyk7CiAgICB9KTsKLy9dXT48L3NjcmlwdD4KPCEtLWR0bDpqc19vbl9kb2N1bWVudF9jb21wbGV0ZS0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOk93bmVyIC0tPgoKPCEtLSBkdGw6YmxvY2s6UmVzcG9uc2libGUgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJOZXdSZXNwb25zaWJsZUlEIj4kVGV4dHsiUmVzcG9uc2libGUifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICREYXRheyJSZXNwb25zaWJsZVN0cmcifQo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWwogICAgJCgnI05ld1Jlc3BvbnNpYmxlSUQnKS5iaW5kKCdjaGFuZ2UnLCBmdW5jdGlvbiAoRXZlbnQpIHsKICAgICAgICBDb3JlLkFKQVguRm9ybVVwZGF0ZSgkKCcjQ29tcG9zZScpLCAnQUpBWFVwZGF0ZScsICdOZXdSZXNwb25zaWJsZUlEJywgWyAnVHlwZUlEJywgJ1NlcnZpY2VJRCcsICdTTEFJRCcsICdOZXdPd25lcklEJywgJ09sZE93bmVySUQnLCAnTmV3U3RhdGVJRCcsICdOZXdQcmlvcml0eUlEJywgJERhdGF7IkR5bmFtaWNGaWVsZE5hbWVzU3RyZyJ9IF0pOwogICAgfSk7Ci8vXV0+PC9zY3JpcHQ+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpSZXNwb25zaWJsZSAtLT4KCjwhLS0gZHRsOmJsb2NrOk5vdGUgLS0+CjwhLS0gZHRsOmJsb2NrOkluZm9ybUFnZW50IC0tPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iSW5mb3JtVXNlcklEIj4kVGV4dHsiSW5mb3JtIEFnZW50In06ICgkVGV4dHsiT3B0aW9uYWwifSk8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICREYXRheyJPcHRpb25TdHJnIn0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpJbmZvcm1BZ2VudCAtLT4KCjwhLS0gZHRsOmJsb2NrOkludm9sdmVkQWdlbnQgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJJbnZvbHZlZFVzZXJJRCI+JFRleHR7IkluZm9ybSBpbnZvbHZlZCBBZ2VudHMifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICREYXRheyJJbnZvbHZlZEFnZW50U3RyZyJ9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6SW52b2x2ZWRBZ2VudCAtLT4KCjwhLS0gZHRsOmJsb2NrOlN1YmplY3RMYWJlbCAtLT4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlN1YmplY3QiPiRUZXh0eyJTdWJqZWN0In06PC9sYWJlbD4KPCEtLSBkdGw6YmxvY2s6U3ViamVjdExhYmVsIC0tPgo8IS0tIGR0bDpibG9jazpTdWJqZWN0TGFiZWxNYW5kYXRvcnkgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9Ik1hbmRhdG9yeSIgZm9yPSJTdWJqZWN0Ij48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiRUZXh0eyJTdWJqZWN0In06PC9sYWJlbD4KPCEtLSBkdGw6YmxvY2s6U3ViamVjdExhYmVsTWFuZGF0b3J5IC0tPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9IlN1YmplY3QiIG5hbWU9IlN1YmplY3QiIHZhbHVlPSIkUURhdGF7IlN1YmplY3QifSIgY2xhc3M9Ilc3NXBjICREYXRheyJTdWJqZWN0UmVxdWlyZWQifSAkRGF0YXsiU3ViamVjdEludmFsaWQifSIvPgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlN1YmplY3RFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlN1YmplY3RTZXJ2ZXJFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+Cgo8IS0tIGR0bDpibG9jazpUaWNrZXRPcHRpb25zIC0tPgogICAgICAgICAgICAgICAgPGxhYmVsPiRUZXh0eyJPcHRpb25zIn06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KCjwhLS0gT3V0cHV0RmlsdGVySG9va19UaWNrZXRPcHRpb25zQmVnaW4gLS0+Cgo8IS0tIGR0bDpibG9jazpTcGVsbENoZWNrIC0tPgogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGlkPSJPcHRpb25TcGVsbENoZWNrIj5bICRUZXh0eyJTcGVsbCBjaGVjayJ9IF08L2E+CjwhLS0gZHRsOmJsb2NrOlNwZWxsQ2hlY2sgLS0+Cgo8IS0tIE91dHB1dEZpbHRlckhvb2tfVGlja2V0T3B0aW9uc0VuZCAtLT4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkNsZWFyIj48L2Rpdj4KPCEtLSBkdGw6YmxvY2s6VGlja2V0T3B0aW9ucyAtLT4KCjwhLS0gT3V0cHV0RmlsdGVySG9va19Ob1RpY2tldE9wdGlvbnNGYWxsYmFjayAtLT4KCjwhLS0gZHRsOmJsb2NrOlJpY2hUZXh0TGFiZWwgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJSaWNoVGV4dCI+JFRleHR7IlRleHQifTo8L2xhYmVsPgo8IS0tIGR0bDpibG9jazpSaWNoVGV4dExhYmVsIC0tPgo8IS0tIGR0bDpibG9jazpSaWNoVGV4dExhYmVsTWFuZGF0b3J5IC0tPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iUmljaFRleHQiPjxzcGFuIGNsYXNzPSJNYXJrZXIiPio8L3NwYW4+JFRleHR7IlRleHQifTo8L2xhYmVsPgo8IS0tIGR0bDpibG9jazpSaWNoVGV4dExhYmVsTWFuZGF0b3J5IC0tPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlJpY2hUZXh0RmllbGQiPgo8IS0tIGR0bDpibG9jazpSaWNoVGV4dCAtLT4KJEluY2x1ZGV7IlJpY2hUZXh0RWRpdG9yIn0KPCEtLSBkdGw6YmxvY2s6UmljaFRleHQgLS0+CiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGlkPSJSaWNoVGV4dCIgY2xhc3M9IlJpY2hUZXh0ICREYXRheyJCb2R5UmVxdWlyZWQifSAkRGF0YXsiQm9keUludmFsaWQifSIgbmFtZT0iQm9keSIgcm93cz0iMTUiIGNvbHM9IiRDb25maWd7IlRpY2tldDo6RnJvbnRlbmQ6OlRleHRBcmVhTm90ZSJ9Ij4kUURhdGF7IkJvZHkifTwvdGV4dGFyZWE+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iUmljaFRleHRFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IlJpY2hUZXh0U2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKICAgICAgICAgICAgICAgIDxsYWJlbD4kVGV4dHsiQXR0YWNobWVudCJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgPHVsPgo8IS0tIGR0bDpibG9jazpBdHRhY2htZW50IC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkUURhdGF7IkZpbGVuYW1lIn0gKCRRRGF0YXsiRmlsZXNpemUifSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iQXR0YWNobWVudERlbGV0ZUJ1dHRvbiRRRGF0YXsiRmlsZUlEIn0iIG5hbWU9IkF0dGFjaG1lbnREZWxldGVCdXR0b24kUURhdGF7IkZpbGVJRCJ9IiB2YWx1ZT0iJFRleHR7IkRlbGV0ZSJ9IiBjbGFzcz0iU3BhY2luZ0xlZnQiPiRUZXh0eyJEZWxldGUifTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgaWQ9IkF0dGFjaG1lbnREZWxldGUkUURhdGF7IkZpbGVJRCJ9IiBuYW1lPSJBdHRhY2htZW50RGVsZXRlJFFEYXRheyJGaWxlSUQifSIgLz4KPCEtLWR0bDpqc19vbl9kb2N1bWVudF9jb21wbGV0ZS0tPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ly88IVtDREFUQVsKICAgICQoJyNBdHRhY2htZW50RGVsZXRlQnV0dG9uJFFEYXRheyJGaWxlSUQifScpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgIHZhciAkRm9ybSA9ICQoJyNBdHRhY2htZW50RGVsZXRlQnV0dG9uJFFEYXRheyJGaWxlSUQifScpLmNsb3Nlc3QoJ2Zvcm0nKTsKICAgICAgICAkKCcjQXR0YWNobWVudERlbGV0ZSRRRGF0YXsiRmlsZUlEIn0nKS52YWwoMSk7CiAgICAgICAgQ29yZS5Gb3JtLlZhbGlkYXRlLkRpc2FibGVWYWxpZGF0aW9uKCRGb3JtKTsKICAgICAgICAkRm9ybS50cmlnZ2VyKCdzdWJtaXQnKTsKICAgIH0pOwovL11dPjwvc2NyaXB0Pgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CjwhLS0gZHRsOmJsb2NrOkF0dGFjaG1lbnQgLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJGaWxlVXBsb2FkIiBpZD0iRmlsZVVwbG9hZCIgdHlwZT0iZmlsZSIgc2l6ZT0iNDAiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJBdHRhY2htZW50VXBsb2FkIiBuYW1lPSJBdHRhY2htZW50VXBsb2FkIiB2YWx1ZT0iMCIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWwogICAgJCgnI0ZpbGVVcGxvYWQnKS5iaW5kKCdjaGFuZ2UnLCBmdW5jdGlvbiAoRXZlbnQpIHsKICAgICAgICB2YXIgJEZvcm0gPSAkKCcjRmlsZVVwbG9hZCcpLmNsb3Nlc3QoJ2Zvcm0nKTsKICAgICAgICBDb3JlLkZvcm0uVmFsaWRhdGUuRGlzYWJsZVZhbGlkYXRpb24oJEZvcm0pOwogICAgICAgICRGb3JtLmZpbmQoJyNBdHRhY2htZW50VXBsb2FkJykudmFsKCcxJykuZW5kKCkuc3VibWl0KCk7CgogICAgfSk7Ci8vXV0+PC9zY3JpcHQ+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgoKPCEtLSBkdGw6YmxvY2s6QXJ0aWNsZVR5cGUgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJBcnRpY2xlVHlwZUlEIj4kVGV4dHsiTm90ZSB0eXBlIn06PC9sYWJlbD4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAkRGF0YXsiQXJ0aWNsZVR5cGVTdHJnIn0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpBcnRpY2xlVHlwZSAtLT4KPCEtLSBkdGw6YmxvY2s6Tm90ZSAtLT4KCjwhLS0gZHRsOmJsb2NrOlN0YXRlIC0tPgogICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0iTmV3U3RhdGVJRCI+JFRleHR7Ik5leHQgc3RhdGUifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICREYXRheyJTdGF0ZVN0cmcifQo8IS0tZHRsOmpzX29uX2RvY3VtZW50X2NvbXBsZXRlLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWwogICAgJCgnI05ld1N0YXRlSUQnKS5iaW5kKCdjaGFuZ2UnLCBmdW5jdGlvbiAoRXZlbnQpIHsKICAgICAgICBDb3JlLkFKQVguRm9ybVVwZGF0ZSgkKCcjQ29tcG9zZScpLCAnQUpBWFVwZGF0ZScsICdOZXdTdGF0ZUlEJywgWydUeXBlSUQnLCAnU2VydmljZUlEJywgJ1NMQUlEJywgJ05ld093bmVySUQnLCAnT2xkT3duZXJJRCcsICdOZXdSZXNwb25zaWJsZUlEJywgJ05ld1ByaW9yaXR5SUQnLCAkRGF0YXsiRHluYW1pY0ZpZWxkTmFtZXNTdHJnIn0gXSk7CiAgICB9KTsKLy9dXT48L3NjcmlwdD4KPCEtLWR0bDpqc19vbl9kb2N1bWVudF9jb21wbGV0ZS0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+Cgo8IS0tIGR0bDpibG9jazpTdGF0ZVBlbmRpbmcgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWw+JFRleHR7IlBlbmRpbmcgZGF0ZSJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgJERhdGF7IkRhdGVTdHJpbmcifQogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IkRheVNlcnZlckVycm9yIiBjbGFzcz0iVG9vbHRpcEVycm9yTWVzc2FnZSI+PHA+JFRleHR7IkRhdGUgaW52YWxpZCEifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJIb3VyU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiRGF0ZSBpbnZhbGlkISJ9PC9wPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOlN0YXRlUGVuZGluZyAtLT4KPCEtLSBkdGw6YmxvY2s6U3RhdGUgLS0+Cgo8IS0tIGR0bDpibG9jazpQcmlvcml0eSAtLT4KICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9Ik5ld1ByaW9yaXR5SUQiPiRUZXh0eyJQcmlvcml0eSJ9OjwvbGFiZWw+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiAgICAgICAgICAgICAgICAgICAgJERhdGF7IlByaW9yaXR5U3RyZyJ9CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbCiAgICAkKCcjTmV3UHJpb3JpdHlJRCcpLmJpbmQoJ2NoYW5nZScsIGZ1bmN0aW9uIChFdmVudCkgewogICAgICAgIENvcmUuQUpBWC5Gb3JtVXBkYXRlKCQoJyNDb21wb3NlJyksICdBSkFYVXBkYXRlJywgJ05ld1ByaW9yaXR5SUQnLCBbJ1R5cGVJRCcsICdTZXJ2aWNlSUQnLCAnU0xBSUQnLCAnTmV3T3duZXJJRCcsICdPbGRPd25lcklEJywgJ05ld1Jlc3BvbnNpYmxlSUQnLCAnTmV3U3RhdGVJRCcgJERhdGF7IkR5bmFtaWNGaWVsZE5hbWVzU3RyZyJ9IF0pOwogICAgfSk7Ci8vXV0+PC9zY3JpcHQ+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpQcmlvcml0eSAtLT4KCjwhLS0gZHRsOmJsb2NrOkR5bmFtaWNGaWVsZCAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IlJvdyBSb3dfRHluYW1pY0ZpZWxkXyRRRGF0YXsiTmFtZSJ9Ij4KICAgICAgICAgICAgICAgICAgICAkRGF0YXsiTGFiZWwifQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgICAgJERhdGF7IkZpZWxkIn0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KPCEtLSBkdGw6YmxvY2s6RHluYW1pY0ZpZWxkIC0tPgoKIyBleGFtcGxlIG9mIGhvdyB0byB1c2UgZml4ZWQgZHluYW1pYyBmaWVsZCBibG9ja3MgZm9yIGN1c3RvbWl6YXRpb25zCiMgTm90ZTogRmllbGQxIGFuZCBGaWVsZDIgYXJlIHRoZSBuYW1lcyBvZiB0aGUgZmllbGRzIGFuZCBoYWQgdG8gYmUgcmVwbGFjZWQgd2l0aCB0aGUgYWN0dWFsCiMgZmllbGQgbmFtZXMKIzwhLS0gZHRsOmJsb2NrOkR5bmFtaWNGaWVsZF9GaWVsZDEgLS0+CiMgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUm93IFJvd19EeW5hbWljRmllbGRfJFFEYXRheyJOYW1lIn0iPgojICAgICAgICAgICAgICAgICAgICAkRGF0YXsiTGFiZWwifQojICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiMgICAgICAgICAgICAgICAgICAgICAgICAkRGF0YXsiRmllbGQifQojICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KIyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgojICAgICAgICAgICAgICAgIDwvZGl2PgojPCEtLSBkdGw6YmxvY2s6RHluYW1pY0ZpZWxkX0ZpZWxkMSAtLT4KIzwhLS0gZHRsOmJsb2NrOkR5bmFtaWNGaWVsZF9GaWVsZDIgLS0+CiMgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iUm93IFJvd19EeW5hbWljRmllbGRfJFFEYXRheyJOYW1lIn0iPgojICAgICAgICAgICAgICAgICAgICAkRGF0YXsiTGFiZWwifQojICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJGaWVsZCI+CiMgICAgICAgICAgICAgICAgICAgICAgICAkRGF0YXsiRmllbGQifQojICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KIyAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2PgojICAgICAgICAgICAgICAgIDwvZGl2PgojPCEtLSBkdGw6YmxvY2s6RHluYW1pY0ZpZWxkX0ZpZWxkMiAtLT4KCiMgLS0tCiMgTWFzdGVyU2xhdmUKIyAtLS0KPCEtLSBkdGw6YmxvY2s6TWFzdGVyU2xhdmUgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJEeW5hbWljRmllbGRfJERhdGF7Ik1hc3RlclNsYXZlRHluYW1pY0ZpZWxkIn0iPiRUZXh0eyJNYXN0ZXJUaWNrZXQifTo8L2xhYmVsPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iRmllbGQiPgogICAgICAgICAgICAgICAgICAgICREYXRheyJNYXN0ZXJTbGF2ZVN0cmcifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJDbGVhciI+PC9kaXY+CjwhLS0gZHRsOmJsb2NrOk1hc3RlclNsYXZlIC0tPgojIC0tLQoKPCEtLSBkdGw6YmxvY2s6VGltZVVuaXRzTGFiZWwgLS0+CiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJUaW1lVW5pdHMiPiRUZXh0eyJUaW1lIHVuaXRzIn0gJFRleHR7IiRDb25maWd7IlRpY2tldDo6RnJvbnRlbmQ6OlRpbWVVbml0cyJ9In06PC9sYWJlbD4KPCEtLSBkdGw6YmxvY2s6VGltZVVuaXRzTGFiZWwgLS0+CjwhLS0gZHRsOmJsb2NrOlRpbWVVbml0c0xhYmVsTWFuZGF0b3J5IC0tPgogICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJNYW5kYXRvcnkiIGZvcj0iVGltZVVuaXRzIj48c3BhbiBjbGFzcz0iTWFya2VyIj4qPC9zcGFuPiRUZXh0eyJUaW1lIHVuaXRzIn0gJFRleHR7IiRDb25maWd7IlRpY2tldDo6RnJvbnRlbmQ6OlRpbWVVbml0cyJ9In06PC9sYWJlbD4KPCEtLSBkdGw6YmxvY2s6VGltZVVuaXRzTGFiZWxNYW5kYXRvcnkgLS0+CjwhLS0gZHRsOmJsb2NrOlRpbWVVbml0cyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IkZpZWxkIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iVGltZVVuaXRzIiBpZD0iVGltZVVuaXRzIiB2YWx1ZT0iJFFEYXRheyJUaW1lVW5pdHMifSIgY2xhc3M9Ilc1MHBjIFZhbGlkYXRlX1RpbWVVbml0cyAkUURhdGF7IlRpbWVVbml0c1JlcXVpcmVkIn0gJFFEYXRheyJUaW1lVW5pdHNJbnZhbGlkIn0iLz4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJUaW1lVW5pdHNFcnJvciIgY2xhc3M9IlRvb2x0aXBFcnJvck1lc3NhZ2UiPjxwPiRUZXh0eyJJbnZhbGlkIHRpbWUhIn08L3A+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iVGltZVVuaXRzU2VydmVyRXJyb3IiIGNsYXNzPSJUb29sdGlwRXJyb3JNZXNzYWdlIj48cD4kVGV4dHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4ifTwvcD48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iQ2xlYXIiPjwvZGl2Pgo8IS0tIGR0bDpibG9jazpUaW1lVW5pdHMgLS0+CgogICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IkZvb3RlciI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9IkNhbGxGb3JBY3Rpb24gUHJpbWFyeSIgaWQ9InN1Ym1pdFJpY2hUZXh0IiBhY2Nlc3NrZXk9ImciIHRpdGxlPSIkVGV4dHsiU3VibWl0In0gKGcpIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSIkVGV4dHsiU3VibWl0In0iPjxzcGFuPjxpIGNsYXNzPSJpY29uLWNoZWNrIj48L2k+ICRUZXh0eyJTdWJtaXQifTwvc3Bhbj48L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L2Zvcm0+CjwhLS0gZHRsOmJsb2NrOlByb3BlcnRpZXMgLS0+CgojTGF5ZXJzCjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbCiAgICBDb3JlLkFnZW50LlRpY2tldEFjdGlvbi5Jbml0KCk7Ci8vXV0+PC9zY3JpcHQ+CjwhLS1kdGw6anNfb25fZG9jdW1lbnRfY29tcGxldGUtLT4K
IyAtLQojIEtlcm5lbC9TeXN0ZW0vVGlja2V0L0V2ZW50L01hc3RlclNsYXZlLnBtIC0gbWFzdGVyIHNsYXZlIHRpY2tldAojIENvcHlyaWdodCAoQykgMjAwMS0yMDE0IE9UUlMgQUcsIGh0dHA6Ly9vdHJzLmNvbS8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpTeXN0ZW06OlRpY2tldDo6RXZlbnQ6Ok1hc3RlclNsYXZlOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgS2VybmVsOjpTeXN0ZW06OkxpbmtPYmplY3Q7CnVzZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDo6QmFja2VuZDsKCnVzZSBLZXJuZWw6OlN5c3RlbTo6VmFyaWFibGVDaGVjayBxdyg6YWxsKTsKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBnZXQgbmVlZGVkIG9iamVjdHMKICAgIGZvciAoCiAgICAgICAgcXcoQ29uZmlnT2JqZWN0IFRpY2tldE9iamVjdCBMb2dPYmplY3QgVXNlck9iamVjdCBDdXN0b21lclVzZXJPYmplY3QgU2VuZG1haWxPYmplY3QgVGltZU9iamVjdCBFbmNvZGVPYmplY3QpCiAgICAgICAgKQogICAgewogICAgICAgICRTZWxmLT57JF99ID0gJFBhcmFteyRffSB8fCBkaWUgIkdvdCBubyAkXyEiOwogICAgfQoKICAgICRTZWxmLT57TGlua09iamVjdH0gPSBLZXJuZWw6OlN5c3RlbTo6TGlua09iamVjdC0+bmV3KCVQYXJhbSk7CgogICAgJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZC0+bmV3KCVQYXJhbSk7CiAgICAkU2VsZi0+e0JhY2tlbmRPYmplY3R9ICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpCYWNrZW5kLT5uZXcoJVBhcmFtKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCnN1YiBSdW4gewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhEYXRhIEV2ZW50IENvbmZpZykpIHsKICAgICAgICBpZiAoICEkUGFyYW17JF99ICkgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZyggUHJpb3JpdHkgPT4gJ2Vycm9yJywgTWVzc2FnZSA9PiAiTmVlZCAkXyEiICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CiAgICBpZiAoICEkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0gKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coIFByaW9yaXR5ID0+ICdlcnJvcicsIE1lc3NhZ2UgPT4gIk5lZWQgRGF0YS0+e1RpY2tldElEfSEiICk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgICMgZ2V0IHRpY2tldCBhdHRyaWJ1dGVzCiAgICBteSAlVGlja2V0ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRHZXQoCiAgICAgICAgVGlja2V0SUQgICAgICA9PiAkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0sCiAgICAgICAgRHluYW1pY0ZpZWxkcyA9PiAxLAogICAgKTsKCiAgICAjIGdldCBtYXN0ZXIvc2xhdmUgZHluYW1pYyBmaWVsZAogICAgbXkgJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpEeW5hbWljRmllbGQnKTsKCiAgICAjIGxpbmsgbWFzdGVyL3NsYXZlIHRpY2tldHMKICAgIGlmICggJFBhcmFte0V2ZW50fSBlcSAnVGlja2V0RHluYW1pY0ZpZWxkVXBkYXRlXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgKSB7CiAgICAgICAgaWYgKAogICAgICAgICAgICAkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgfSAmJgogICAgICAgICAgICAkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgfSA9fiAvXlNsYXZlT2Y6KC4qPykkLwogICAgICAgICAgICApCiAgICAgICAgewoKICAgICAgICAgICAgIyBsb29rdXAgdG8gZmluZCB0aWNrZXQgaWQKICAgICAgICAgICAgbXkgJFNvdXJjZUtleSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0SURMb29rdXAoCiAgICAgICAgICAgICAgICBUaWNrZXROdW1iZXIgPT4gJDEsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIGNyZWF0ZSBsaW5rCiAgICAgICAgICAgICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtBZGQoCiAgICAgICAgICAgICAgICBTb3VyY2VPYmplY3QgPT4gJ1RpY2tldCcsCiAgICAgICAgICAgICAgICBTb3VyY2VLZXkgICAgPT4gJFNvdXJjZUtleSwKICAgICAgICAgICAgICAgIFRhcmdldE9iamVjdCA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgIFRhcmdldEtleSAgICA9PiAkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICBUeXBlICAgICAgICAgPT4gJ1BhcmVudENoaWxkJywKICAgICAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnVmFsaWQnLAogICAgICAgICAgICAgICAgVXNlcklEICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyB1cGRhdGUgZHluYW1pYyBmaWVsZCB2YWx1ZSBmb3IgdGlja2V0CiAgICAgICAgICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgY29uZmlnCiAgICAgICAgICAgIG15ICREeW5hbWljRmllbGQgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0tPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICAgICAgICAgIE5hbWUgPT4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkLAogICAgICAgICAgICApOwogICAgICAgICAgICAkU2VsZi0+e0JhY2tlbmRPYmplY3R9LT5WYWx1ZVNldCgKICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkLAogICAgICAgICAgICAgICAgT2JqZWN0SUQgICAgICAgICAgID0+ICRQYXJhbXtEYXRhfS0+e1RpY2tldElEfSwKICAgICAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgIyBjaGVjayBpZiBpdCdzIGEgbWFzdGVyL3NsYXZlIHRpY2tldAogICAgcmV0dXJuIDEgaWYgISRUaWNrZXR7ICdEeW5hbWljRmllbGRfJyAuICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZCB9OwogICAgcmV0dXJuIDEgaWYgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkIH0gIX4gL14obWFzdGVyfHllcykkL2k7CgogICAgIyBmaW5kIHNsYXZlcwogICAgbXkgJUxpbmtzID0gJFNlbGYtPntMaW5rT2JqZWN0fS0+TGlua0tleUxpc3QoCiAgICAgICAgT2JqZWN0MSAgID0+ICdUaWNrZXQnLAogICAgICAgIEtleTEgICAgICA9PiAkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0sCiAgICAgICAgT2JqZWN0MiAgID0+ICdUaWNrZXQnLAogICAgICAgIFN0YXRlICAgICA9PiAnVmFsaWQnLAogICAgICAgIFR5cGUgICAgICA9PiAnUGFyZW50Q2hpbGQnLCAgICAgICAgICAgICAgIyAob3B0aW9uYWwpCiAgICAgICAgRGlyZWN0aW9uID0+ICdUYXJnZXQnLCAgICAgICAgICAgICAgICAgICAjIChvcHRpb25hbCkgZGVmYXVsdCBCb3RoIChTb3VyY2V8VGFyZ2V0fEJvdGgpCiAgICAgICAgVXNlcklEICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgKTsKICAgIG15IEBUaWNrZXRJRHM7CiAgICBmb3IgbXkgJFRpY2tldElEICggc29ydCBrZXlzICVMaW5rcyApIHsKICAgICAgICBuZXh0IGlmICEkTGlua3N7JFRpY2tldElEfTsKCiAgICAgICAgIyBqdXN0IHRha2UgdGlja2V0IHdpdGggc2xhdmUgYXR0cmlidXRlcyBmb3IgYWN0aW9uCiAgICAgICAgbXkgJVRpY2tldCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0R2V0KAogICAgICAgICAgICBUaWNrZXRJRCAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgRHluYW1pY0ZpZWxkcyA9PiAxLAogICAgICAgICk7CiAgICAgICAgbmV4dCBpZiAhJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkIH07CiAgICAgICAgbmV4dCBpZiAkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgfSAhfiAvXlNsYXZlT2Y6KC4qPykkLzsKCiAgICAgICAgIyByZW1lbWJlciB0aWNrZXQgaWQKICAgICAgICBwdXNoIEBUaWNrZXRJRHMsICRUaWNrZXRJRDsKICAgIH0KCiAgICAjIG5vIHNsYXZlcwogICAgaWYgKCAhQFRpY2tldElEcyApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ25vdGljZScsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJObyBTbGF2ZXMgb2YgdGlja2V0ICRUaWNrZXR7VGlja2V0SUR9ISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICAjIGF1dG8gcmVzcG9uc2UgYWN0aW9uCiAgICBpZiAoICRQYXJhbXtFdmVudH0gZXEgJ0FydGljbGVTZW5kJyApIHsKICAgICAgICBteSBASW5kZXggPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVJbmRleCggVGlja2V0SUQgPT4gJFBhcmFte0RhdGF9LT57VGlja2V0SUR9ICk7CiAgICAgICAgcmV0dXJuIDEgaWYgIUBJbmRleDsKICAgICAgICBteSAlQXJ0aWNsZSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUdldCggQXJ0aWNsZUlEID0+ICRJbmRleFskI0luZGV4XSApOwoKICAgICAgICAjIGNoZWNrIGlmIHRoZSBzZW5kIG1haWwgaXMgb2YgdHlwZSBmb3J3YXJkCiAgICAgICAgbXkgJElzRm9yd2FyZCA9ICRTZWxmLT5fQXJ0aWNsZUhpc3RvcnlUeXBlR2l2ZW4oCiAgICAgICAgICAgIFRpY2tldElEICAgID0+ICRQYXJhbXtEYXRhfS0+e1RpY2tldElEfSwKICAgICAgICAgICAgQXJ0aWNsZUlEICAgPT4gJEFydGljbGV7QXJ0aWNsZUlEfSwKICAgICAgICAgICAgSGlzdG9yeVR5cGUgPT4gJ0ZvcndhcmQnLAogICAgICAgICAgICBVc2VySUQgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICApOwoKICAgICAgICAjIGlmIHRoZSBzeXNjb25maWcgaXMgZGlzYWJsZWQgYW5kIHRoZSBuZXcgYXJ0aWNsZSBpcyBhbiBmb3J3YXJkIGFydGljbGUKICAgICAgICAjIHRoZW4gd2UgZG9udCB3YW50IHRvIGhhdmUgdGhlIGZvcndhcmQgZm9yIHRoZSBzbGF2ZSB0aWNrZXRzCiAgICAgICAgbXkgJEZvcndhcmRTbGF2ZXMgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTWFzdGVyU2xhdmU6OkZvcndhcmRTbGF2ZXMnKTsKICAgICAgICByZXR1cm4gMSBpZiAkSXNGb3J3YXJkICYmICEkRm9yd2FyZFNsYXZlczsKCiAgICAgICAgIyBtYXJrIHRpY2tldCB0byBwcmV2ZW50IGEgbG9vcAogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+SGlzdG9yeUFkZCgKICAgICAgICAgICAgVGlja2V0SUQgICAgID0+ICRQYXJhbXtEYXRhfS0+e1RpY2tldElEfSwKICAgICAgICAgICAgQ3JlYXRlVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgPT4gJ01pc2MnLAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gJ01hc3RlclRpY2tldEFjdGlvbjogQXJ0aWNsZVNlbmQnLAogICAgICAgICk7CgogICAgICAgICMganVzdCBhIGZsYWcgZm9yIGtub3cgd2hlbiB0aGUgZmlyc3Qgc2xhdmUgdGlja2V0IGlzIHByZXNlbnQKICAgICAgICBteSAkRmlyc3RTbGF2ZVRpY2tldCA9IDE7CiAgICAgICAgbXkgJFRtcEFydGljbGVCb2R5OwoKICAgICAgICAjIHBlcmZvcm0gYWN0aW9uIG9uIGxpbmtlZCB0aWNrZXRzCiAgICAgICAgZm9yIG15ICRUaWNrZXRJRCAoQFRpY2tldElEcykgewogICAgICAgICAgICBuZXh0IGlmICEkU2VsZi0+X0xvb3BDaGVjaygKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgU3RyaW5nICAgPT4gJ01hc3RlclRpY2tldEFjdGlvbjogQXJ0aWNsZVNlbmQnLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbXkgJVRpY2tldFNsYXZlID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRHZXQoIFRpY2tldElEID0+ICRUaWNrZXRJRCApOwoKICAgICAgICAgICAgIyB0cnkgdG8gZ2V0IHRoZSBjdXN0b21lciBkYXRhIG9mIHRoZSBzbGF2ZSB0aWNrZXQKICAgICAgICAgICAgbXkgJUN1c3RvbWVyOwogICAgICAgICAgICBpZiAoICRUaWNrZXRTbGF2ZXtDdXN0b21lclVzZXJJRH0gKSB7CiAgICAgICAgICAgICAgICAlQ3VzdG9tZXIgPSAkU2VsZi0+e0N1c3RvbWVyVXNlck9iamVjdH0tPkN1c3RvbWVyVXNlckRhdGFHZXQoCiAgICAgICAgICAgICAgICAgICAgVXNlciA9PiAkVGlja2V0U2xhdmV7Q3VzdG9tZXJVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBpZiB3ZSBjYW4ndCBmaW5kIGEgdmFsaWQgVXNlckVtYWlsIGluIEN1c3RvbWVyRGF0YQogICAgICAgICAgICAjIHdlIGhhdmUgdG8gZ2V0IHRoZSBsYXN0IEFydGljbGUgd2l0aCBTZW5kZXJUeXBlICdjdXN0b21lcicKICAgICAgICAgICAgIyBhbmQgZ2V0IHRoZSBVc2VyRW1haWwKICAgICAgICAgICAgaWYgKCAhJEN1c3RvbWVye1VzZXJFbWFpbH0gKSB7CiAgICAgICAgICAgICAgICBteSBASW5kZXggPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVHZXQoCiAgICAgICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICAgICAgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgICAgIEFydGljbGVTZW5kZXJUeXBlID0+IFsnY3VzdG9tZXInXSwKICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgaWYgKEBJbmRleCkgewogICAgICAgICAgICAgICAgICAgICRDdXN0b21lcntVc2VyRW1haWx9ID0gJEluZGV4WyQjSW5kZXhde0Zyb219OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAjIGlmIHdlIHN0aWxsIGhhdmUgbm8gVXNlckVtYWlsLCBkcm9wIGFuIGVycm9yCiAgICAgICAgICAgIGlmICggISRDdXN0b21lcntVc2VyRW1haWx9ICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5IaXN0b3J5QWRkKAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgICAgIEhpc3RvcnlUeXBlICA9PiAnTWlzYycsCiAgICAgICAgICAgICAgICAgICAgTmFtZSA9PgogICAgICAgICAgICAgICAgICAgICAgICAiTWFzdGVyVGlja2V0OiBubyBjdXN0b21lciBlbWFpbCBmb3VuZCwgc2VuZCBubyBtYXN0ZXIgbWVzc2FnZSB0byBjdXN0b21lci4iLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIG5leHQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICMgc2V0IHRoZSBuZXcgVG8gZm9yIEFydGljbGVTZW5kCiAgICAgICAgICAgICRBcnRpY2xle1RvfSA9ICRDdXN0b21lcntVc2VyRW1haWx9OwoKICAgICAgICAgICAgIyByZWJ1aWxkIHN1YmplY3QKICAgICAgICAgICAgJFNlbGYtPntDb25maWdPYmplY3R9LT5TZXQoCiAgICAgICAgICAgICAgICBLZXkgICA9PiAnVGlja2V0OjpTdWJqZWN0Q2xlYW5BbGxOdW1iZXJzJywKICAgICAgICAgICAgICAgIFZhbHVlID0+IDEsCiAgICAgICAgICAgICk7CiAgICAgICAgICAgIG15ICRTdWJqZWN0ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTdWJqZWN0QnVpbGQoCiAgICAgICAgICAgICAgICBUaWNrZXROdW1iZXIgPT4gJFRpY2tldFNsYXZle1RpY2tldE51bWJlcn0sCiAgICAgICAgICAgICAgICBTdWJqZWN0ID0+ICRBcnRpY2xle1N1YmplY3R9IHx8ICcnLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBleGNoYW5nZSBDdXN0b21lciBmcm9tIE1hc3RlclRpY2tldCBmb3IgdGhlIG9uZSBpbnRvIHRoZSBTbGF2ZVRpY2tldAogICAgICAgICAgICBteSAkUmVwbGFjZU9uTm90ZVR5cGVzCiAgICAgICAgICAgICAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdSZXBsYWNlQ3VzdG9tZXJSZWFsTmFtZU9uU2xhdmVBcnRpY2xlVHlwZXMnKTsKICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgZGVmaW5lZCAkUmVwbGFjZU9uTm90ZVR5cGVzLT57ICRBcnRpY2xle0FydGljbGVUeXBlfSB9ICYmCiAgICAgICAgICAgICAgICAkUmVwbGFjZU9uTm90ZVR5cGVzLT57ICRBcnRpY2xle0FydGljbGVUeXBlfSB9IGVxICcxJwogICAgICAgICAgICAgICAgKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoJEZpcnN0U2xhdmVUaWNrZXQpIHsKICAgICAgICAgICAgICAgICAgICAkRmlyc3RTbGF2ZVRpY2tldCA9IDA7CiAgICAgICAgICAgICAgICAgICAgJFRtcEFydGljbGVCb2R5ICAgPSAkQXJ0aWNsZXtCb2R5fTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICMgZ2V0IGJvZHkgZnJvbSB0bXAgaW4gb2RlciB0byBnZXQgaXQKICAgICAgICAgICAgICAgICAgICAjIHdpdGhvdXQgY2hhbmdlcyBmcm9tIHByZXYgc2xhdmUgdGlja2V0cwogICAgICAgICAgICAgICAgICAgICRBcnRpY2xle0JvZHl9ID0gJFRtcEFydGljbGVCb2R5OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIG15ICRTZWFyY2ggPSAkU2VsZi0+e0N1c3RvbWVyVXNlck9iamVjdH0tPkN1c3RvbWVyTmFtZSgKICAgICAgICAgICAgICAgICAgICBVc2VyTG9naW4gPT4gJEFydGljbGV7Q3VzdG9tZXJVc2VySUR9LAogICAgICAgICAgICAgICAgKSB8fCAnJzsKICAgICAgICAgICAgICAgIG15ICRSZXBsYWNlID0gJFNlbGYtPntDdXN0b21lclVzZXJPYmplY3R9LT5DdXN0b21lck5hbWUoCiAgICAgICAgICAgICAgICAgICAgVXNlckxvZ2luID0+ICRUaWNrZXRTbGF2ZXtDdXN0b21lclVzZXJJRH0sCiAgICAgICAgICAgICAgICApIHx8ICcnOwogICAgICAgICAgICAgICAgaWYgKCAkU2VhcmNoICYmICRSZXBsYWNlICkgewogICAgICAgICAgICAgICAgICAgICRBcnRpY2xle0JvZHl9ID1+IHN7IFxRJFNlYXJjaFxFIH17JFJlcGxhY2V9eG1zZzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgIyBzZW5kIGFydGljbGUgYWdhaW4KICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5BcnRpY2xlU2VuZCgKICAgICAgICAgICAgICAgICVBcnRpY2xlLAogICAgICAgICAgICAgICAgU3ViamVjdCAgICAgICAgPT4gJFN1YmplY3QsCiAgICAgICAgICAgICAgICBDYyAgICAgICAgICAgICA9PiAnJywKICAgICAgICAgICAgICAgIEJjYyAgICAgICAgICAgID0+ICcnLAogICAgICAgICAgICAgICAgSGlzdG9yeVR5cGUgICAgPT4gJ1NlbmRBbnN3ZXInLAogICAgICAgICAgICAgICAgSGlzdG9yeUNvbW1lbnQgPT4gIlNlbnQgYW5zd2VyIHRvICckQXJ0aWNsZXtUb30nIGJhc2VkIG9uIG1hc3RlciB0aWNrZXQuIiwKICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICAjIGFydGljbGUgY3JlYXRlCiAgICBlbHNpZiAoICRQYXJhbXtFdmVudH0gZXEgJ0FydGljbGVDcmVhdGUnICkgewogICAgICAgIG15IEBJbmRleCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+QXJ0aWNsZUluZGV4KCBUaWNrZXRJRCA9PiAkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0gKTsKICAgICAgICByZXR1cm4gMSBpZiAhQEluZGV4OwogICAgICAgIG15ICVBcnRpY2xlID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5BcnRpY2xlR2V0KCBBcnRpY2xlSUQgPT4gJEluZGV4WyQjSW5kZXhdICk7CgogICAgICAgICMgbWFyayB0aWNrZXQgdG8gcHJldmVudCBhIGxvb3AKICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkhpc3RvcnlBZGQoCiAgICAgICAgICAgIFRpY2tldElEICAgICA9PiAkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0sCiAgICAgICAgICAgIENyZWF0ZVVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgSGlzdG9yeVR5cGUgID0+ICdNaXNjJywKICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICJNYXN0ZXJUaWNrZXRBY3Rpb246IEFydGljbGVDcmVhdGUiLAogICAgICAgICk7CgogICAgICAgICMgZG8gbm90IHByb2Nlc3MgZW1haWwgYXJ0aWNsZXMgKGFscmVhZHkgZG9uZSBpbiBBcnRpY2xlU2VuZCBldmVudCEpCiAgICAgICAgaWYgKCAkQXJ0aWNsZXtTZW5kZXJUeXBlfSBlcSAnYWdlbnQnICYmICRBcnRpY2xle0FydGljbGVUeXBlfSBlcSAnZW1haWwtZXh0ZXJuYWwnICkgewogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9CgogICAgICAgICMgc2V0IHRoZSBzYW1lIHN0YXRlLCBidXQgb25seSBmb3Igbm90ZXMKICAgICAgICBpZiAoICRBcnRpY2xle0FydGljbGVUeXBlfSAhfiAvXm5vdGUtL2kgKSB7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KCiAgICAgICAgIyBwZXJmb3JtIGFjdGlvbiBvbiBsaW5rZWQgdGlja2V0cwogICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBUaWNrZXRJRHMpIHsKICAgICAgICAgICAgbmV4dCBpZiAhJFNlbGYtPl9Mb29wQ2hlY2soCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgICAgIFN0cmluZyAgID0+ICdNYXN0ZXJUaWNrZXRBY3Rpb246IEFydGljbGVDcmVhdGUnLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBhcnRpY2xlIGNyZWF0ZQogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkFydGljbGVDcmVhdGUoCiAgICAgICAgICAgICAgICAlQXJ0aWNsZSwKICAgICAgICAgICAgICAgIEhpc3RvcnlUeXBlICAgID0+ICdBZGROb3RlJywKICAgICAgICAgICAgICAgIEhpc3RvcnlDb21tZW50ID0+ICdBZGRlZCBhcnRpY2xlIGJhc2VkIG9uIG1hc3RlciB0aWNrZXQuJywKICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICAjIHN0YXRlIGFjdGlvbgogICAgZWxzaWYgKCAkUGFyYW17RXZlbnR9IGVxICdUaWNrZXRTdGF0ZVVwZGF0ZScgKSB7CgogICAgICAgICMgbWFyayB0aWNrZXQgdG8gcHJldmVudCBhIGxvb3AKICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkhpc3RvcnlBZGQoCiAgICAgICAgICAgIFRpY2tldElEICAgICA9PiAkUGFyYW17RGF0YX0tPntUaWNrZXRJRH0sCiAgICAgICAgICAgIENyZWF0ZVVzZXJJRCA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgSGlzdG9yeVR5cGUgID0+ICdNaXNjJywKICAgICAgICAgICAgTmFtZSAgICAgICAgID0+ICJNYXN0ZXJUaWNrZXRBY3Rpb246IFRpY2tldFN0YXRlVXBkYXRlIiwKICAgICAgICApOwoKICAgICAgICAjIHBlcmZvcm0gYWN0aW9uIG9uIGxpbmtlZCB0aWNrZXRzCiAgICAgICAgZm9yIG15ICRUaWNrZXRJRCAoQFRpY2tldElEcykgewogICAgICAgICAgICBuZXh0IGlmICEkU2VsZi0+X0xvb3BDaGVjaygKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgU3RyaW5nICAgPT4gJ01hc3RlclRpY2tldEFjdGlvbjogVGlja2V0U3RhdGVVcGRhdGUnLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgIyBzZXQgdGhlIHNhbWUgc3RhdGUKICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRTdGF0ZVNldCgKICAgICAgICAgICAgICAgIFN0YXRlSUQgID0+ICRUaWNrZXR7U3RhdGVJRH0sCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgIyBzZXQgcGVuZGluZyB0aW1lCiAgICBlbHNpZiAoICRQYXJhbXtFdmVudH0gZXEgJ1RpY2tldFBlbmRpbmdUaW1lVXBkYXRlJyApIHsKCiAgICAgICAgIyBtYXJrIHRpY2tldCB0byBwcmV2ZW50IGEgbG9vcAogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+SGlzdG9yeUFkZCgKICAgICAgICAgICAgVGlja2V0SUQgICAgID0+ICRQYXJhbXtEYXRhfS0+e1RpY2tldElEfSwKICAgICAgICAgICAgQ3JlYXRlVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgPT4gJ01pc2MnLAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gIk1hc3RlclRpY2tldEFjdGlvbjogVGlja2V0UGVuZGluZ1RpbWVVcGRhdGUiLAogICAgICAgICk7CgogICAgICAgICMgcGVyZm9ybSBhY3Rpb24gb24gbGlua2VkIHRpY2tldHMKICAgICAgICBmb3IgbXkgJFRpY2tldElEIChAVGlja2V0SURzKSB7CiAgICAgICAgICAgIG5leHQgaWYgISRTZWxmLT5fTG9vcENoZWNrKAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBTdHJpbmcgICA9PiAnTWFzdGVyVGlja2V0QWN0aW9uOiBUaWNrZXRQZW5kaW5nVGltZVVwZGF0ZScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHNldCB0aGUgc2FtZSBwZW5kaW5nIHRpbWUKICAgICAgICAgICAgbXkgJFRpbWVTdGFtcCA9ICcwMDAwLTAwLTAwIDAwOjAwOjAwJzsKICAgICAgICAgICAgaWYgKCAkVGlja2V0e1JlYWxUaWxsVGltZU5vdFVzZWR9ICkgewogICAgICAgICAgICAgICAgbXkgKCAkU2VjLCAkTWluLCAkSG91ciwgJERheSwgJE1vbnRoLCAkWWVhciApCiAgICAgICAgICAgICAgICAgICAgPSAkU2VsZi0+e1RpbWVPYmplY3R9LT5TeXN0ZW1UaW1lMkRhdGUoCiAgICAgICAgICAgICAgICAgICAgU3lzdGVtVGltZSA9PiAkVGlja2V0e1JlYWxUaWxsVGltZU5vdFVzZWR9LAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICAkVGltZVN0YW1wID0gIiRZZWFyLSRNb250aC0kRGF5ICRIb3VyOiRNaW46JFNlYyI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRQZW5kaW5nVGltZVNldCgKICAgICAgICAgICAgICAgIFN0cmluZyAgID0+ICRUaW1lU3RhbXAsCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CgogICAgIyBwcmlvcml0eSBhY3Rpb24KICAgIGVsc2lmICggJFBhcmFte0V2ZW50fSBlcSAnVGlja2V0UHJpb3JpdHlVcGRhdGUnICkgewoKICAgICAgICAjIG1hcmsgdGlja2V0IHRvIHByZXZlbnQgYSBsb29wCiAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5IaXN0b3J5QWRkKAogICAgICAgICAgICBUaWNrZXRJRCAgICAgPT4gJFBhcmFte0RhdGF9LT57VGlja2V0SUR9LAogICAgICAgICAgICBDcmVhdGVVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICA9PiAnTWlzYycsCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAiTWFzdGVyVGlja2V0QWN0aW9uOiBUaWNrZXRQcmlvcml0eVVwZGF0ZSIsCiAgICAgICAgKTsKCiAgICAgICAgIyBwZXJmb3JtIGFjdGlvbiBvbiBsaW5rZWQgdGlja2V0cwogICAgICAgIGZvciBteSAkVGlja2V0SUQgKEBUaWNrZXRJRHMpIHsKICAgICAgICAgICAgbmV4dCBpZiAhJFNlbGYtPl9Mb29wQ2hlY2soCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgICAgIFN0cmluZyAgID0+ICdNYXN0ZXJUaWNrZXRBY3Rpb246IFRpY2tldFByaW9yaXR5VXBkYXRlJywKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICMgc2V0IHRoZSBzYW1lIHN0YXRlCiAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0UHJpb3JpdHlTZXQoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIFByaW9yaXR5SUQgPT4gJFRpY2tldHtQcmlvcml0eUlEfSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgICMgb3duZXIgYWN0aW9uCiAgICBlbHNpZiAoICRQYXJhbXtFdmVudH0gZXEgJ1RpY2tldE93bmVyVXBkYXRlJyApIHsKCiAgICAgICAgIyBtYXJrIHRpY2tldCB0byBwcmV2ZW50IGEgbG9vcAogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+SGlzdG9yeUFkZCgKICAgICAgICAgICAgVGlja2V0SUQgICAgID0+ICRQYXJhbXtEYXRhfS0+e1RpY2tldElEfSwKICAgICAgICAgICAgQ3JlYXRlVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgPT4gJ01pc2MnLAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gIk1hc3RlclRpY2tldEFjdGlvbjogVGlja2V0T3duZXJVcGRhdGUiLAogICAgICAgICk7CgogICAgICAgICMgcGVyZm9ybSBhY3Rpb24gb24gbGlua2VkIHRpY2tldHMKICAgICAgICBmb3IgbXkgJFRpY2tldElEIChAVGlja2V0SURzKSB7CiAgICAgICAgICAgIG5leHQgaWYgISRTZWxmLT5fTG9vcENoZWNrKAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBTdHJpbmcgICA9PiAnTWFzdGVyVGlja2V0QWN0aW9uOiBUaWNrZXRPd25lclVwZGF0ZScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHNldCB0aGUgc2FtZSBzdGF0ZQogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldE93bmVyU2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIE5ld1VzZXJJRCAgICAgICAgICA9PiAkVGlja2V0e093bmVySUR9LAogICAgICAgICAgICAgICAgU2VuZE5vTm90aWZpY2F0aW9uID0+IDAsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgICMgcmVzcG9uc2libGUgYWN0aW9uCiAgICBlbHNpZiAoICRQYXJhbXtFdmVudH0gZXEgJ1RpY2tldFJlc3BvbnNpYmxlVXBkYXRlJyApIHsKCiAgICAgICAgIyBtYXJrIHRpY2tldCB0byBwcmV2ZW50IGEgbG9vcAogICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+SGlzdG9yeUFkZCgKICAgICAgICAgICAgVGlja2V0SUQgICAgID0+ICRQYXJhbXtEYXRhfS0+e1RpY2tldElEfSwKICAgICAgICAgICAgQ3JlYXRlVXNlcklEID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICBIaXN0b3J5VHlwZSAgPT4gJ01pc2MnLAogICAgICAgICAgICBOYW1lICAgICAgICAgPT4gIk1hc3RlclRpY2tldEFjdGlvbjogVGlja2V0UmVzcG9uc2libGVVcGRhdGUiLAogICAgICAgICk7CgogICAgICAgICMgcGVyZm9ybSBhY3Rpb24gb24gbGlua2VkIHRpY2tldHMKICAgICAgICBmb3IgbXkgJFRpY2tldElEIChAVGlja2V0SURzKSB7CiAgICAgICAgICAgIG5leHQgaWYgISRTZWxmLT5fTG9vcENoZWNrKAogICAgICAgICAgICAgICAgVGlja2V0SUQgPT4gJFRpY2tldElELAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICBTdHJpbmcgICA9PiAnTWFzdGVyVGlja2V0QWN0aW9uOiBUaWNrZXRSZXNwb25zaWJsZVVwZGF0ZScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHNldCB0aGUgc2FtZSBzdGF0ZQogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldFJlc3BvbnNpYmxlU2V0KAogICAgICAgICAgICAgICAgVGlja2V0SUQgICAgICAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIE5ld1VzZXJJRCAgICAgICAgICA9PiAkVGlja2V0e1Jlc3BvbnNpYmxlSUR9LAogICAgICAgICAgICAgICAgU2VuZE5vTm90aWZpY2F0aW9uID0+IDAsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgICMgdW5sb2NrL2xvY2sgYWN0aW9uCiAgICBlbHNpZiAoICRQYXJhbXtFdmVudH0gZXEgJ1RpY2tldExvY2tVcGRhdGUnICkgewoKICAgICAgICAjIG1hcmsgdGlja2V0IHRvIHByZXZlbnQgYSBsb29wCiAgICAgICAgJFNlbGYtPntUaWNrZXRPYmplY3R9LT5IaXN0b3J5QWRkKAogICAgICAgICAgICBUaWNrZXRJRCAgICAgPT4gJFBhcmFte0RhdGF9LT57VGlja2V0SUR9LAogICAgICAgICAgICBDcmVhdGVVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgIEhpc3RvcnlUeXBlICA9PiAnTWlzYycsCiAgICAgICAgICAgIE5hbWUgICAgICAgICA9PiAiTWFzdGVyVGlja2V0QWN0aW9uOiBUaWNrZXRMb2NrVXBkYXRlIiwKICAgICAgICApOwoKICAgICAgICAjIHBlcmZvcm0gYWN0aW9uIG9uIGxpbmtlZCB0aWNrZXRzCiAgICAgICAgZm9yIG15ICRUaWNrZXRJRCAoQFRpY2tldElEcykgewogICAgICAgICAgICBuZXh0IGlmICEkU2VsZi0+X0xvb3BDaGVjaygKICAgICAgICAgICAgICAgIFRpY2tldElEID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgU3RyaW5nICAgPT4gJ01hc3RlclRpY2tldEFjdGlvbjogVGlja2V0TG9ja1VwZGF0ZScsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICAjIHNldCB0aGUgc2FtZSBzdGF0ZQogICAgICAgICAgICAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldExvY2tTZXQoCiAgICAgICAgICAgICAgICBMb2NrICAgICAgICAgICAgICAgPT4gJFRpY2tldHtMb2NrfSwKICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgICAgICBTZW5kTm9Ob3RpZmljYXRpb24gPT4gMSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICByZXR1cm4gMTsKfQoKc3ViIF9Mb29wQ2hlY2sgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGNoZWNrIG5lZWRlZCBzdHVmZgogICAgZm9yIChxdyhUaWNrZXRJRCBTdHJpbmcgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskX30gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKCBQcmlvcml0eSA9PiAnZXJyb3InLCBNZXNzYWdlID0+ICJOZWVkICRfISIgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICBteSBATGluZXMgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPkhpc3RvcnlHZXQoCiAgICAgICAgVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICBVc2VySUQgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICk7CiAgICBmb3IgbXkgJERhdGEgKCByZXZlcnNlIEBMaW5lcyApIHsKICAgICAgICBpZiAoICREYXRhLT57SGlzdG9yeVR5cGV9IGVxICdNaXNjJyAmJiAkRGF0YS0+e05hbWV9IGVxICRQYXJhbXtTdHJpbmd9ICkgewogICAgICAgICAgICBteSAkVGltZUNyZWF0ZWQgPSAkU2VsZi0+e1RpbWVPYmplY3R9LT5UaW1lU3RhbXAyU3lzdGVtVGltZSgKICAgICAgICAgICAgICAgIFN0cmluZyA9PiAkRGF0YS0+e0NyZWF0ZVRpbWV9CiAgICAgICAgICAgICkgKyAxNTsKICAgICAgICAgICAgbXkgJFRpbWVDdXJyZW50ID0gJFNlbGYtPntUaW1lT2JqZWN0fS0+U3lzdGVtVGltZSgpOwogICAgICAgICAgICBpZiAoICRUaW1lQ3JlYXRlZCA+ICRUaW1lQ3VycmVudCApIHsKICAgICAgICAgICAgICAgICRTZWxmLT57VGlja2V0T2JqZWN0fS0+SGlzdG9yeUFkZCgKICAgICAgICAgICAgICAgICAgICBUaWNrZXRJRCAgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBDcmVhdGVVc2VySUQgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgSGlzdG9yeVR5cGUgID0+ICdNaXNjJywKICAgICAgICAgICAgICAgICAgICBOYW1lICAgICAgICAgPT4gIk1hc3RlclRpY2tldExvb3A6IHN0b3BwZWQiLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAxOwp9Cgo9aXRlbSBfQXJ0aWNsZUhpc3RvcnlUeXBlR2l2ZW4oKQoKQ2hlY2sgaWYgaGlzdG9yeSB0eXBlIGZvciBhcnRpY2xlIGlzIGdpdmVuCgogICAgbXkgJElzSGlzdG9yeVR5cGUgPSAkRXZlbnRPYmplY3QtPl9BcnRpY2xlSGlzdG9yeVR5cGVHaXZlbigKICAgICAgICBUaWNrZXRJRCAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgQXJ0aWNsZUlEICAgPT4gJEFydGljbGVJRCwKICAgICAgICBIaXN0b3J5VHlwZSA9PiAnRm9yd2FyZCcsCiAgICAgICAgVXNlcklEICAgICAgPT4gJFVzZXJJRCwKICAgICk7CgpSZXR1cm5zCgogICBteSAkSXNIaXN0b3J5VHlwZSA9IDE7Cgo9Y3V0CgpzdWIgX0FydGljbGVIaXN0b3J5VHlwZUdpdmVuIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkTmVlZGVkIChxdyhUaWNrZXRJRCBBcnRpY2xlSUQgSGlzdG9yeVR5cGUgVXNlcklEKSkgewogICAgICAgIGlmICggISRQYXJhbXskTmVlZGVkfSApIHsKICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coIFByaW9yaXR5ID0+ICdlcnJvcicsIE1lc3NhZ2UgPT4gIk5lZWQgJE5lZWRlZCEiICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICB9CgogICAgbXkgJFRpY2tldElEICAgID0gJFBhcmFte1RpY2tldElEfTsKICAgIG15ICRBcnRpY2xlSUQgICA9ICRQYXJhbXtBcnRpY2xlSUR9OwogICAgbXkgJEhpc3RvcnlUeXBlID0gJFBhcmFte0hpc3RvcnlUeXBlfTsKICAgIG15ICRVc2VySUQgICAgICA9ICRQYXJhbXtVc2VySUR9OwoKICAgIG15IEBMaW5lcyA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+SGlzdG9yeUdldCgKICAgICAgICBUaWNrZXRJRCA9PiAkVGlja2V0SUQsCiAgICAgICAgVXNlcklEICAgPT4gJFVzZXJJRCwKICAgICk7CgogICAgbXkgJE1hdGNoZWQgPSAwOwoKICAgIHJldHVybiAkTWF0Y2hlZCBpZiAhSXNBcnJheVJlZldpdGhEYXRhKCBcQExpbmVzICk7CgogICAgSElTVE9SWToKICAgIGZvciBteSAkRGF0YSAoIHJldmVyc2UgQExpbmVzICkgewogICAgICAgIG5leHQgSElTVE9SWSBpZiAkRGF0YS0+e0FydGljbGVJRH0gIT0gJEFydGljbGVJRDsKICAgICAgICBuZXh0IEhJU1RPUlkgaWYgJERhdGEtPntIaXN0b3J5VHlwZX0gbmUgJEhpc3RvcnlUeXBlOwoKICAgICAgICAkTWF0Y2hlZCA9IDE7CgogICAgICAgIGxhc3QgSElTVE9SWTsKICAgIH0KCiAgICByZXR1cm4gJE1hdGNoZWQ7Cn0KCjE7Cg==
IyAtLQojIEtlcm5lbC9TeXN0ZW0vTWFzdGVyU2xhdmUucG0gLSB0byBoYW5kbGUgdGlja2V0IG1hc3RlciBzbGF2ZSB0YXNrcwojIENvcHlyaWdodCAoQykgMjAwMS0yMDE0IE9UUlMgQUcsIGh0dHA6Ly9vdHJzLmNvbS8KIyAtLQojIFRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCiMgdGhlIGVuY2xvc2VkIGZpbGUgQ09QWUlORyBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbiAoQUdQTCkuIElmIHlvdQojIGRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvYWdwbC50eHQuCiMgLS0KCnBhY2thZ2UgS2VybmVsOjpTeXN0ZW06Ok1hc3RlclNsYXZlOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpMaW5rT2JqZWN0Owp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZDsKdXNlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQ7Cgp1c2UgdmFycyBxdyhASVNBICRWRVJTSU9OKTsKCj1oZWFkMSBOQU1FCgpLZXJuZWw6OlN5c3RlbTo6TWFzdGVyU2xhdmUgLSB0byBoYW5kbGUgYWxsIHRpY2tldCBtYXN0ZXIgc2xhdmUgdGFza3MgLi4uCgo9aGVhZDEgU1lOT1BTSVMKCkFsbCBmdW5jdGlvbnMgdG8gaGFuZGxlIHRpY2tldCBtYXN0ZXIgc2xhdmUgdGFza3MgLi4uCgo9aGVhZDEgUFVCTElDIElOVEVSRkFDRQoKPW92ZXIgNAoKPWN1dAoKPWl0ZW0gbmV3KCkKCmNyZWF0ZSBhbiBvYmplY3QKCiAgICB1c2UgS2VybmVsOjpDb25maWc7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OkVuY29kZTsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6TG9nOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpUaW1lOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpNYWluOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpEQjsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6VGlja2V0OwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpNYXN0ZXJTbGF2ZU9iamVjdDsKCiAgICBteSAkQ29uZmlnT2JqZWN0ID0gS2VybmVsOjpDb25maWctPm5ldygpOwogICAgbXkgJEVuY29kZU9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpFbmNvZGUtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICk7CiAgICBteSAkTG9nT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OkxvZy0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIEVuY29kZU9iamVjdCA9PiAkRW5jb2RlT2JqZWN0LAogICAgKTsKICAgIG15ICRUaW1lT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OlRpbWUtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICk7CiAgICBteSAkTWFpbk9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpNYWluLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ID0+ICRFbmNvZGVPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgID0+ICRMb2dPYmplY3QsCiAgICApOwogICAgbXkgJERCT2JqZWN0ID0gS2VybmVsOjpTeXN0ZW06OkRCLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ID0+ICRFbmNvZGVPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgID0+ICRMb2dPYmplY3QsCiAgICAgICAgTWFpbk9iamVjdCAgID0+ICRNYWluT2JqZWN0LAogICAgKTsKICAgIG15ICRUaWNrZXRPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6VGlja2V0LT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ICAgICAgID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgICAgICAgID0+ICRMb2dPYmplY3QsCiAgICAgICAgREJPYmplY3QgICAgICAgICAgID0+ICREQk9iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgICAgICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgVGltZU9iamVjdCAgICAgICAgID0+ICRUaW1lT2JqZWN0LAogICAgICAgIEVuY29kZU9iamVjdCAgICAgICA9PiAkRW5jb2RlT2JqZWN0LAogICAgICAgIEdyb3VwT2JqZWN0ICAgICAgICA9PiAkR3JvdXBPYmplY3QsICAgICAgICAjIGlmIGdpdmVuCiAgICAgICAgQ3VzdG9tZXJVc2VyT2JqZWN0ID0+ICRDdXN0b21lclVzZXJPYmplY3QsICMgaWYgZ2l2ZW4KICAgICAgICBRdWV1ZU9iamVjdCAgICAgICAgPT4gJFF1ZXVlT2JqZWN0LCAgICAgICAgIyBpZiBnaXZlbgogICAgKTsKCiAgICBteSAkTWFzdGVyU2xhdmVPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6TWFzdGVyU2xhdmVPYmplY3QtPm5ldygKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBUaWNrZXRPYmplY3QgPT4gJFRpY2tldE9iamVjdAogICAgKTsKCj1jdXQKCnN1YiBuZXcgewogICAgbXkgKCAkVHlwZSwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGFsbG9jYXRlIG5ldyBoYXNoIGZvciBvYmplY3QKICAgIG15ICRTZWxmID0ge307CiAgICBibGVzcyggJFNlbGYsICRUeXBlICk7CgogICAgIyBjaGVjayBuZWVkZWQgb2JqZWN0cwogICAgZm9yIChxdyggTG9nT2JqZWN0IFRpY2tldE9iamVjdCApKSB7CiAgICAgICAgJFNlbGYtPnskX30gPSAkUGFyYW17JF99IHx8IGRpZTsKICAgIH0KCiAgICAjIGNyZWF0ZSBleHRyYSBuZWVkZWQgb2JqZWN0cwogICAgJFNlbGYtPntMaW5rT2JqZWN0fSAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OkxpbmtPYmplY3QtPm5ldyglUGFyYW0pOwogICAgJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZC0+bmV3KCVQYXJhbSk7CiAgICAkU2VsZi0+e0JhY2tlbmRPYmplY3R9ICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpCYWNrZW5kLT5uZXcoJVBhcmFtKTsKCiAgICByZXR1cm4gJFNlbGY7Cn0KCj1pdGVtIE1hc3RlclNsYXZlKCkKCmhhbmRsZXMgYWxsIHRoZSB0aWNrZXQgbWFzdGVyIHNsYXZlIHRhc2tzCiAgICBteSAkVHJ1ZSA9ICRNYXN0ZXJTbGF2ZU9iamVjdC0+TWFzdGVyU2xhdmUoCiAgICAgICAgTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lICAgICAgICAgICA9PiAnTWFzdGVyU2xhdmUnLAogICAgICAgIE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkVmFsdWUgICAgICAgICAgPT4gJ01hc3RlcicsCiAgICAgICAgVGlja2V0SUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAxMjM0NSwKICAgICAgICBVc2VySUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0+IDEsCiAgICAgICAgVGlja2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PiAlVGlja2V0LCAjIG9wdGlvbmFsCiAgICAgICAgTWFzdGVyU2xhdmVLZWVwUGFyZW50Q2hpbGRBZnRlclVuc2V0ICA9PiAwLCAjIG9wdGlvbmFsLCBkZWZhdWx0CiAgICAgICAgTWFzdGVyU2xhdmVGb2xsb3dVcGRhdGVkTWFzdGVyICAgICAgICA9PiAwLCAjIG9wdGlvbmFsLCBkZWZhdWx0CiAgICAgICAgTWFzdGVyU2xhdmVLZWVwUGFyZW50Q2hpbGRBZnRlclVwZGF0ZSA9PiAwLCAjIG9wdGlvbmFsLCBkZWZhdWx0CiAgICApOwoKPWN1dAoKc3ViIE1hc3RlclNsYXZlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBjaGVjayBuZWVkZWQgc3R1ZmYKICAgIGZvciBteSAkQXJndW1lbnQgKAogICAgICAgIHF3KE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkTmFtZSBNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlIFRpY2tldElEIFVzZXJJRCkKICAgICAgICApCiAgICB7CiAgICAgICAgaWYgKCAhJFBhcmFteyRBcmd1bWVudH0gKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJOZWVkICRBcmd1bWVudCEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIG15ICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZE5hbWUgPSAkUGFyYW17TWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lfTsKICAgIG15ICVUaWNrZXQKICAgICAgICA9ICRQYXJhbXtUaWNrZXR9CiAgICAgICAgPyAleyAkUGFyYW17VGlja2V0fSB9CiAgICAgICAgOiAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCggVGlja2V0SUQgPT4gJFBhcmFte1RpY2tldElEfSwgRHluYW1pY0ZpZWxkcyA9PiAxICk7CgogICAgIyBzZXQgYSBuZXcgbWFzdGVyIHRpY2tldAogICAgIyBjaGVjayBpZiBpdCBpcyBhbHJlYWR5IGEgbWFzdGVyIHRpY2tldAogICAgaWYgKAogICAgICAgICRQYXJhbXtNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlfSBlcSAnTWFzdGVyJwogICAgICAgICYmICgKICAgICAgICAgICAgISRUaWNrZXR7ICdEeW5hbWljRmllbGRfJyAuICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZE5hbWUgfQogICAgICAgICAgICB8fCAkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lIH0gbmUgJ01hc3RlcicKICAgICAgICApCiAgICAgICAgKQogICAgewoKICAgICAgICAjIGNoZWNrIGlmIGl0IHdhcyBhIHNsYXZlIHRpY2tldCBiZWZvcmUgYW5kIGlmIHdlIGhhdmUgdG8gZGVsZXRlCiAgICAgICAgIyB0aGUgb2xkIHBhcmVudCBjaGlsZCBsaW5rIChNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVW5zZXQpCiAgICAgICAgaWYgKAogICAgICAgICAgICAkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lIH0KICAgICAgICAgICAgJiYgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkTmFtZSB9ID1+IC9eU2xhdmVPZjooLio/KSQvCiAgICAgICAgICAgICYmICEkUGFyYW17TWFzdGVyU2xhdmVLZWVwUGFyZW50Q2hpbGRBZnRlclVuc2V0fQogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICBteSAkU291cmNlS2V5ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRJRExvb2t1cCgKICAgICAgICAgICAgICAgIFRpY2tldE51bWJlciA9PiAkMSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtEZWxldGUoCiAgICAgICAgICAgICAgICBPYmplY3QxID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgS2V5MSAgICA9PiAkU291cmNlS2V5LAogICAgICAgICAgICAgICAgT2JqZWN0MiA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgIEtleTIgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ1BhcmVudENoaWxkJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGdldCBkeW5hbWljIGZpZWxkIGNvbmZpZwogICAgICAgIG15ICREeW5hbWljRmllbGQgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0tPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICAgICAgTmFtZSA9PiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lLAogICAgICAgICk7CgogICAgICAgICMgc2V0IG5ldyBtYXN0ZXIgdGlja2V0CiAgICAgICAgJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+VmFsdWVTZXQoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkLAogICAgICAgICAgICBPYmplY3RJRCAgICAgICAgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgVmFsdWUgICAgICAgICAgICAgID0+ICdNYXN0ZXInLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICAjIHNldCBhIG5ldyBzbGF2ZSB0aWNrZXQKICAgICMgY2hlY2sgaWYgaXQncyBhbHJlYWR5IHRoZSBzbGF2ZSBvZiB0aGUgd2lzaGVkIG1hc3RlciB0aWNrZXQKICAgIGVsc2lmICgKICAgICAgICAkUGFyYW17TWFzdGVyU2xhdmVEeW5hbWljRmllbGRWYWx1ZX0gPX4gL15TbGF2ZU9mOiguKj8pJC8KICAgICAgICAmJiAoCiAgICAgICAgICAgICEkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lIH0KICAgICAgICAgICAgfHwgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkTmFtZSB9IG5lCiAgICAgICAgICAgICRQYXJhbXtNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlfQogICAgICAgICkKICAgICAgICApCiAgICB7CiAgICAgICAgbXkgJFNvdXJjZUtleSA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0SURMb29rdXAoCiAgICAgICAgICAgIFRpY2tldE51bWJlciA9PiAkMSwKICAgICAgICAgICAgVXNlcklEICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CgogICAgICAgICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtBZGQoCiAgICAgICAgICAgIFNvdXJjZU9iamVjdCA9PiAnVGlja2V0JywKICAgICAgICAgICAgU291cmNlS2V5ICAgID0+ICRTb3VyY2VLZXksCiAgICAgICAgICAgIFRhcmdldE9iamVjdCA9PiAnVGlja2V0JywKICAgICAgICAgICAgVGFyZ2V0S2V5ICAgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgIFR5cGUgICAgICAgICA9PiAnUGFyZW50Q2hpbGQnLAogICAgICAgICAgICBTdGF0ZSAgICAgICAgPT4gJ1ZhbGlkJywKICAgICAgICAgICAgVXNlcklEICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CgogICAgICAgIG15ICVMaW5rcyA9ICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtLZXlMaXN0KAogICAgICAgICAgICBPYmplY3QxICAgPT4gJ1RpY2tldCcsCiAgICAgICAgICAgIEtleTEgICAgICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICBPYmplY3QyICAgPT4gJ1RpY2tldCcsCiAgICAgICAgICAgIFN0YXRlICAgICA9PiAnVmFsaWQnLAogICAgICAgICAgICBUeXBlICAgICAgPT4gJ1BhcmVudENoaWxkJywgICAgICAjIChvcHRpb25hbCkKICAgICAgICAgICAgRGlyZWN0aW9uID0+ICdUYXJnZXQnLCAgICAgICAgICAgIyAob3B0aW9uYWwpIGRlZmF1bHQgQm90aCAoU291cmNlfFRhcmdldHxCb3RoKQogICAgICAgICAgICBVc2VySUQgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKICAgICAgICBteSBAU2xhdmVUaWNrZXRJRHM7CiAgICAgICAgZm9yIG15ICRMaW5rZWRUaWNrZXRJRCAoIHNvcnQga2V5cyAlTGlua3MgKSB7CiAgICAgICAgICAgIG5leHQgaWYgISRMaW5rc3skTGlua2VkVGlja2V0SUR9OwoKICAgICAgICAgICAgIyBqdXN0IHRha2UgdGlja2V0IHdpdGggc2xhdmUgYXR0cmlidXRlcyBmb3IgYWN0aW9uCiAgICAgICAgICAgIG15ICVUaWNrZXQgPSAkU2VsZi0+e1RpY2tldE9iamVjdH0tPlRpY2tldEdldCgKICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgPT4gJExpbmtlZFRpY2tldElELAogICAgICAgICAgICAgICAgRHluYW1pY0ZpZWxkcyA9PiAxLAogICAgICAgICAgICApOwogICAgICAgICAgICBuZXh0IGlmICEkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lIH07CiAgICAgICAgICAgIG5leHQgaWYgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkTmFtZSB9ICF+IC9eU2xhdmVPZjooLio/KSQvOwoKICAgICAgICAgICAgIyByZW1lbWJlciB0aWNrZXQgaWQKICAgICAgICAgICAgcHVzaCBAU2xhdmVUaWNrZXRJRHMsICRMaW5rZWRUaWNrZXRJRDsKICAgICAgICB9CgogICAgICAgIGlmICgKICAgICAgICAgICAgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkTmFtZSB9CiAgICAgICAgICAgICYmICRUaWNrZXR7ICdEeW5hbWljRmllbGRfJyAuICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZE5hbWUgfSBlcSAnTWFzdGVyJwogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICBpZiAoICRQYXJhbXtNYXN0ZXJTbGF2ZUZvbGxvd1VwZGF0ZWRNYXN0ZXJ9ICYmIEBTbGF2ZVRpY2tldElEcyApIHsKICAgICAgICAgICAgICAgIGZvciBteSAkTGlua2VkVGlja2V0SUQgKEBTbGF2ZVRpY2tldElEcykgewogICAgICAgICAgICAgICAgICAgICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtBZGQoCiAgICAgICAgICAgICAgICAgICAgICAgIFNvdXJjZU9iamVjdCA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlS2V5ICAgID0+ICRTb3VyY2VLZXksCiAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldE9iamVjdCA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0S2V5ICAgID0+ICRMaW5rZWRUaWNrZXRJRCwKICAgICAgICAgICAgICAgICAgICAgICAgVHlwZSAgICAgICAgID0+ICdQYXJlbnRDaGlsZCcsCiAgICAgICAgICAgICAgICAgICAgICAgIFN0YXRlICAgICAgICA9PiAnVmFsaWQnLAogICAgICAgICAgICAgICAgICAgICAgICBVc2VySUQgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCAhJFBhcmFte01hc3RlclNsYXZlS2VlcFBhcmVudENoaWxkQWZ0ZXJVbnNldH0gKSB7CiAgICAgICAgICAgICAgICBmb3IgbXkgJExpbmtlZFRpY2tldElEIChAU2xhdmVUaWNrZXRJRHMpIHsKICAgICAgICAgICAgICAgICAgICAkU2VsZi0+e0xpbmtPYmplY3R9LT5MaW5rRGVsZXRlKAogICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QxID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgICAgICAgICBLZXkxICAgID0+ICRQYXJhbXtUaWNrZXRJRH0sCiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdDIgPT4gJ1RpY2tldCcsCiAgICAgICAgICAgICAgICAgICAgICAgIEtleTIgICAgPT4gJExpbmtlZFRpY2tldElELAogICAgICAgICAgICAgICAgICAgICAgICBUeXBlICAgID0+ICdQYXJlbnRDaGlsZCcsCiAgICAgICAgICAgICAgICAgICAgICAgIFVzZXJJRCAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNpZiAoCiAgICAgICAgICAgICRUaWNrZXR7ICdEeW5hbWljRmllbGRfJyAuICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZE5hbWUgfQogICAgICAgICAgICAmJiAkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lIH0gPX4gL15TbGF2ZU9mOiguKj8pJC8KICAgICAgICAgICAgJiYgISRQYXJhbXtNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVXBkYXRlfQogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICBteSAkU291cmNlS2V5ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRJRExvb2t1cCgKICAgICAgICAgICAgICAgIFRpY2tldE51bWJlciA9PiAkMSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtEZWxldGUoCiAgICAgICAgICAgICAgICBPYmplY3QxID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgS2V5MSAgICA9PiAkU291cmNlS2V5LAogICAgICAgICAgICAgICAgT2JqZWN0MiA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgIEtleTIgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ1BhcmVudENoaWxkJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGdldCBkeW5hbWljIGZpZWxkIGNvbmZpZwogICAgICAgIG15ICREeW5hbWljRmllbGQgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0tPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICAgICAgTmFtZSA9PiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+VmFsdWVTZXQoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkLAogICAgICAgICAgICBPYmplY3RJRCAgICAgICAgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgVmFsdWUgICAgICAgICAgICAgID0+ICRQYXJhbXtNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlfSwKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICk7CiAgICB9CiAgICBlbHNpZiAoCiAgICAgICAgJFBhcmFte01hc3RlclNsYXZlRHluYW1pY0ZpZWxkVmFsdWV9ID1+IC9eKD86VW5zZXRNYXN0ZXJ8VW5zZXRTbGF2ZSkkLwogICAgICAgICYmICRUaWNrZXR7ICdEeW5hbWljRmllbGRfJyAuICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZE5hbWUgfQogICAgICAgICkKICAgIHsKICAgICAgICBpZiAoCiAgICAgICAgICAgICRQYXJhbXtNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlfSBlcSAnVW5zZXRNYXN0ZXInCiAgICAgICAgICAgICYmICEkUGFyYW17TWFzdGVyU2xhdmVLZWVwUGFyZW50Q2hpbGRBZnRlclVuc2V0fQogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICBteSAlTGlua3MgPSAkU2VsZi0+e0xpbmtPYmplY3R9LT5MaW5rS2V5TGlzdCgKICAgICAgICAgICAgICAgIE9iamVjdDEgICA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgIEtleTEgICAgICA9PiAkUGFyYW17VGlja2V0SUR9LAogICAgICAgICAgICAgICAgT2JqZWN0MiAgID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgU3RhdGUgICAgID0+ICdWYWxpZCcsCiAgICAgICAgICAgICAgICBUeXBlICAgICAgPT4gJ1BhcmVudENoaWxkJywgICAgICAjIChvcHRpb25hbCkKICAgICAgICAgICAgICAgIERpcmVjdGlvbiA9PiAnVGFyZ2V0JywgICAgICAgICAgICMgKG9wdGlvbmFsKSBkZWZhdWx0IEJvdGggKFNvdXJjZXxUYXJnZXR8Qm90aCkKICAgICAgICAgICAgICAgIFVzZXJJRCAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgbXkgQFNsYXZlVGlja2V0SURzOwogICAgICAgICAgICBmb3IgbXkgJExpbmtlZFRpY2tldElEICggc29ydCBrZXlzICVMaW5rcyApIHsKICAgICAgICAgICAgICAgIG5leHQgaWYgISRMaW5rc3skTGlua2VkVGlja2V0SUR9OwoKICAgICAgICAgICAgICAgICMganVzdCB0YWtlIHRpY2tldCB3aXRoIHNsYXZlIGF0dHJpYnV0ZXMgZm9yIGFjdGlvbgogICAgICAgICAgICAgICAgbXkgJVRpY2tldCA9ICRTZWxmLT57VGlja2V0T2JqZWN0fS0+VGlja2V0R2V0KAogICAgICAgICAgICAgICAgICAgIFRpY2tldElEICAgICAgPT4gJExpbmtlZFRpY2tldElELAogICAgICAgICAgICAgICAgICAgIER5bmFtaWNGaWVsZHMgPT4gMSwKICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICBuZXh0IGlmICEkVGlja2V0eyAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lIH07CiAgICAgICAgICAgICAgICBuZXh0CiAgICAgICAgICAgICAgICAgICAgaWYgJFRpY2tldHsgJ0R5bmFtaWNGaWVsZF8nIC4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkTmFtZSB9CiAgICAgICAgICAgICAgICAgICAgIX4gL15TbGF2ZU9mOiguKj8pJC87CgogICAgICAgICAgICAgICAgIyByZW1lbWJlciB0aWNrZXQgaWQKICAgICAgICAgICAgICAgIHB1c2ggQFNsYXZlVGlja2V0SURzLCAkTGlua2VkVGlja2V0SUQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZvciBteSAkTGlua2VkVGlja2V0SUQgKEBTbGF2ZVRpY2tldElEcykgewogICAgICAgICAgICAgICAgJFNlbGYtPntMaW5rT2JqZWN0fS0+TGlua0RlbGV0ZSgKICAgICAgICAgICAgICAgICAgICBPYmplY3QxID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgICAgIEtleTEgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgICAgICBPYmplY3QyID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgICAgIEtleTIgICAgPT4gJExpbmtlZFRpY2tldElELAogICAgICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ1BhcmVudENoaWxkJywKICAgICAgICAgICAgICAgICAgICBVc2VySUQgID0+ICRQYXJhbXtVc2VySUR9LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNpZiAoCiAgICAgICAgICAgICRQYXJhbXtNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZFZhbHVlfSBlcSAnVW5zZXRTbGF2ZScKICAgICAgICAgICAgJiYgISRQYXJhbXtNYXN0ZXJTbGF2ZUtlZXBQYXJlbnRDaGlsZEFmdGVyVW5zZXR9CiAgICAgICAgICAgICYmICRUaWNrZXR7ICdEeW5hbWljRmllbGRfJyAuICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZE5hbWUgfSA9fiAvXlNsYXZlT2Y6KC4qPykkLwogICAgICAgICAgICApCiAgICAgICAgewogICAgICAgICAgICBteSAkU291cmNlS2V5ID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXRJRExvb2t1cCgKICAgICAgICAgICAgICAgIFRpY2tldE51bWJlciA9PiAkMSwKICAgICAgICAgICAgICAgIFVzZXJJRCAgICAgICA9PiAkUGFyYW17VXNlcklEfSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtEZWxldGUoCiAgICAgICAgICAgICAgICBPYmplY3QxID0+ICdUaWNrZXQnLAogICAgICAgICAgICAgICAgS2V5MSAgICA9PiAkU291cmNlS2V5LAogICAgICAgICAgICAgICAgT2JqZWN0MiA9PiAnVGlja2V0JywKICAgICAgICAgICAgICAgIEtleTIgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgICAgIFR5cGUgICAgPT4gJ1BhcmVudENoaWxkJywKICAgICAgICAgICAgICAgIFVzZXJJRCAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgICAgICk7CiAgICAgICAgfQoKICAgICAgICAjIGdldCBkeW5hbWljIGZpZWxkIGNvbmZpZwogICAgICAgIG15ICREeW5hbWljRmllbGQgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0tPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICAgICAgTmFtZSA9PiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGROYW1lLAogICAgICAgICk7CiAgICAgICAgJFNlbGYtPntCYWNrZW5kT2JqZWN0fS0+VmFsdWVTZXQoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZENvbmZpZyA9PiAkRHluYW1pY0ZpZWxkLAogICAgICAgICAgICBPYmplY3RJRCAgICAgICAgICAgPT4gJFBhcmFte1RpY2tldElEfSwKICAgICAgICAgICAgVmFsdWUgICAgICAgICAgICAgID0+ICcnLAogICAgICAgICAgICBVc2VySUQgICAgICAgICAgICAgPT4gJFBhcmFte1VzZXJJRH0sCiAgICAgICAgKTsKICAgIH0KCiAgICByZXR1cm4gMTsKfQoKMTsKCj1iYWNrCgo9aGVhZDEgVEVSTVMgQU5EIENPTkRJVElPTlMKClRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgT1RSUyBwcm9qZWN0IChMPGh0dHA6Ly9vdHJzLm9yZy8+KS4KClRoaXMgc29mdHdhcmUgY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLiBGb3IgZGV0YWlscywgc2VlCnRoZSBlbmNsb3NlZCBmaWxlIENPUFlJTkcgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24gKEFHUEwpLiBJZiB5b3UKZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIEw8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2FncGwudHh0Pi4KCj1jdXQK
IyAtLQojIE9UUlNNYXN0ZXJTbGF2ZS5wbSAtIGNvZGUgdG8gZXhjZWN1dGUgZHVyaW5nIHBhY2thZ2UgaW5zdGFsbGF0aW9uCiMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgT1RSUyBBRywgaHR0cDovL290cnMuY29tLwojIC0tCiMgVGhpcyBzb2Z0d2FyZSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuIEZvciBkZXRhaWxzLCBzZWUKIyB0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CiMgZGlkIG5vdCByZWNlaXZlIHRoaXMgZmlsZSwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dC4KIyAtLQoKcGFja2FnZSB2YXI6OnBhY2thZ2VzZXR1cDo6T1RSU01hc3RlclNsYXZlOwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ7CnVzZSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkOjpCYWNrZW5kOwp1c2UgS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZFZhbHVlOwp1c2UgS2VybmVsOjpTeXN0ZW06OkxpbmtPYmplY3Q7CnVzZSBLZXJuZWw6OlN5c3RlbTo6UGFja2FnZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpTdGF0ZTsKdXNlIEtlcm5lbDo6U3lzdGVtOjpTeXNDb25maWc7CnVzZSBLZXJuZWw6OlN5c3RlbTo6VGlja2V0Owp1c2UgS2VybmVsOjpTeXN0ZW06OlZhbGlkOwp1c2UgS2VybmVsOjpTeXN0ZW06OlZhcmlhYmxlQ2hlY2sgcXcoOmFsbCk7Cgo9aGVhZDEgTkFNRQoKT1RSU01hc3RlclNsYXZlLnBtIC0gY29kZSB0byBleGNlY3V0ZSBkdXJpbmcgcGFja2FnZSBpbnN0YWxsYXRpb24KCj1oZWFkMSBTWU5PUFNJUwoKRnVuY3Rpb25zIGZvciBpbnN0YWxsaW5nIHRoZSBPVFJTTWFzdGVyU2xhdmUgcGFja2FnZS4KCj1oZWFkMSBQVUJMSUMgSU5URVJGQUNFCgo9b3ZlciA0Cgo9Y3V0Cgo9aXRlbSBuZXcoKQoKY3JlYXRlIGFuIG9iamVjdAoKICAgIHVzZSBLZXJuZWw6OkNvbmZpZzsKICAgIHVzZSBLZXJuZWw6OlN5c3RlbTo6RW5jb2RlOwogICAgdXNlIEtlcm5lbDo6U3lzdGVtOjpMb2c7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06Ok1haW47CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OlRpbWU7CiAgICB1c2UgS2VybmVsOjpTeXN0ZW06OkRCOwogICAgdXNlIHZhcjo6cGFja2FnZXNldHVwOjpPVFJTTWFzdGVyU2xhdmU7CgogICAgbXkgJENvbmZpZ09iamVjdCA9IEtlcm5lbDo6Q29uZmlnLT5uZXcoKTsKICAgIG15ICRFbmNvZGVPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6RW5jb2RlLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICApOwogICAgbXkgJExvZ09iamVjdCAgICA9IEtlcm5lbDo6U3lzdGVtOjpMb2ctPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICk7CiAgICBteSAkTWFpbk9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpNYWluLT5uZXcoCiAgICAgICAgQ29uZmlnT2JqZWN0ID0+ICRDb25maWdPYmplY3QsCiAgICAgICAgRW5jb2RlT2JqZWN0ID0+ICRFbmNvZGVPYmplY3QsCiAgICAgICAgTG9nT2JqZWN0ICAgID0+ICRMb2dPYmplY3QsCiAgICApOwogICAgbXkgJFRpbWVPYmplY3QgPSBLZXJuZWw6OlN5c3RlbTo6VGltZS0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgKTsKICAgIG15ICREQk9iamVjdCA9IEtlcm5lbDo6U3lzdGVtOjpEQi0+bmV3KAogICAgICAgIENvbmZpZ09iamVjdCA9PiAkQ29uZmlnT2JqZWN0LAogICAgICAgIEVuY29kZU9iamVjdCA9PiAkRW5jb2RlT2JqZWN0LAogICAgICAgIExvZ09iamVjdCAgICA9PiAkTG9nT2JqZWN0LAogICAgICAgIE1haW5PYmplY3QgICA9PiAkTWFpbk9iamVjdCwKICAgICk7CiAgICBteSAkQ29kZU9iamVjdCA9IHZhcjo6cGFja2FnZXNldHVwOjpPVFJTTWFzdGVyU2xhdmUtPm5ldygKICAgICAgICBDb25maWdPYmplY3QgPT4gJENvbmZpZ09iamVjdCwKICAgICAgICBFbmNvZGVPYmplY3QgPT4gJEVuY29kZU9iamVjdCwKICAgICAgICBMb2dPYmplY3QgICAgPT4gJExvZ09iamVjdCwKICAgICAgICBNYWluT2JqZWN0ICAgPT4gJE1haW5PYmplY3QsCiAgICAgICAgVGltZU9iamVjdCAgID0+ICRUaW1lT2JqZWN0LAogICAgICAgIERCT2JqZWN0ICAgICA9PiAkREJPYmplY3QsCiAgICApOwoKPWN1dAoKc3ViIG5ldyB7CiAgICBteSAoICRUeXBlLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgYWxsb2NhdGUgbmV3IGhhc2ggZm9yIG9iamVjdAogICAgbXkgJFNlbGYgPSB7fTsKICAgIGJsZXNzKCAkU2VsZiwgJFR5cGUgKTsKCiAgICAjIGNoZWNrIG5lZWRlZCBvYmplY3RzCiAgICBmb3IgbXkgJE9iamVjdCAoCiAgICAgICAgcXcoQ29uZmlnT2JqZWN0IEVuY29kZU9iamVjdCBMb2dPYmplY3QgTWFpbk9iamVjdCBUaW1lT2JqZWN0IERCT2JqZWN0KQogICAgICAgICkKICAgIHsKICAgICAgICAkU2VsZi0+eyRPYmplY3R9ID0gJFBhcmFteyRPYmplY3R9IHx8IGRpZSAiR290IG5vICRPYmplY3QhIjsKICAgIH0KCiAgICAjIGNyZWF0ZSBuZWVkZWQgc3lzY29uZmlnIG9iamVjdAogICAgJFNlbGYtPntTeXNDb25maWdPYmplY3R9ID0gS2VybmVsOjpTeXN0ZW06OlN5c0NvbmZpZy0+bmV3KCAleyRTZWxmfSApOwoKICAgICMgcmVidWlsZCBaWloqIGZpbGVzCiAgICAkU2VsZi0+e1N5c0NvbmZpZ09iamVjdH0tPldyaXRlRGVmYXVsdCgpOwoKICAgICMgZGVmaW5lIHRoZSBaWlogZmlsZXMKICAgIG15IEBaWlpGaWxlcyA9ICgKICAgICAgICAnWlpaQUF1dG8ucG0nLAogICAgICAgICdaWlpBdXRvLnBtJywKICAgICk7CgogICAgIyByZWxvYWQgdGhlIFpaWiBmaWxlcyAobW9kX3Blcmwgd29ya2Fyb3VuZCkKICAgIGZvciBteSAkWlpaRmlsZSAoQFpaWkZpbGVzKSB7CgogICAgICAgIFBSRUZJWDoKICAgICAgICBmb3IgbXkgJFByZWZpeCAoQElOQykgewogICAgICAgICAgICBteSAkRmlsZSA9ICRQcmVmaXggLiAnL0tlcm5lbC9Db25maWcvRmlsZXMvJyAuICRaWlpGaWxlOwogICAgICAgICAgICBuZXh0IFBSRUZJWCBpZiAhLWYgJEZpbGU7CiAgICAgICAgICAgIGRvICRGaWxlOwogICAgICAgICAgICBsYXN0IFBSRUZJWDsKICAgICAgICB9CiAgICB9CgogICAgIyBjcmVhdGUgYWRkaXRpb25hbCBvYmplY3RzCiAgICAkU2VsZi0+e1N0YXRlT2JqZWN0fSAgICAgICAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OlN0YXRlLT5uZXcoICV7JFNlbGZ9ICk7CiAgICAkU2VsZi0+e1ZhbGlkT2JqZWN0fSAgICAgICAgICAgICAgID0gS2VybmVsOjpTeXN0ZW06OlZhbGlkLT5uZXcoICV7JFNlbGZ9ICk7CiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0gICAgICAgID0gS2VybmVsOjpTeXN0ZW06OkR5bmFtaWNGaWVsZC0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntEeW5hbWljRmllbGRCYWNrZW5kT2JqZWN0fSA9IEtlcm5lbDo6U3lzdGVtOjpEeW5hbWljRmllbGQ6OkJhY2tlbmQtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57RHluYW1pY0ZpZWxkVmFsdWVPYmplY3R9ICAgPSBLZXJuZWw6OlN5c3RlbTo6RHluYW1pY0ZpZWxkVmFsdWUtPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57UGFja2FnZU9iamVjdH0gICAgICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6UGFja2FnZS0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntTeXNDb25maWdPYmplY3R9ICAgICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpTeXNDb25maWctPm5ldyggJXskU2VsZn0gKTsKICAgICRTZWxmLT57TGlua09iamVjdH0gICAgICAgICAgICAgICAgPSBLZXJuZWw6OlN5c3RlbTo6TGlua09iamVjdC0+bmV3KCAleyRTZWxmfSApOwogICAgJFNlbGYtPntUaWNrZXRPYmplY3R9ICAgICAgICAgICAgICA9IEtlcm5lbDo6U3lzdGVtOjpUaWNrZXQtPm5ldyggJXskU2VsZn0gKTsKCiAgICAjIGdldCBkeW5hbWljIGZpZWxkcyBsaXN0CiAgICAkU2VsZi0+e0R5bmFtaWNGaWVsZHNMaXN0fSA9ICRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fS0+RHluYW1pY0ZpZWxkTGlzdEdldCgKICAgICAgICBWYWxpZCAgICAgID0+IDAsCiAgICAgICAgT2JqZWN0VHlwZSA9PiBbJ1RpY2tldCddLAogICAgKTsKCiAgICBpZiAoICFJc0FycmF5UmVmV2l0aERhdGEoICRTZWxmLT57RHluYW1pY0ZpZWxkc0xpc3R9ICkgKSB7CiAgICAgICAgJFNlbGYtPntEeW5hbWljRmllbGRzTGlzdH0gPSBbXTsKICAgIH0KCiAgICAjIGNyZWF0ZSBhIGR5bmFtaWMgZmllbGQgbG9va3VwIHRhYmxlIChieSBuYW1lKQogICAgRFlOQU1JQ0ZJRUxEOgogICAgZm9yIG15ICREeW5hbWljRmllbGQgKCBAeyAkU2VsZi0+e0R5bmFtaWNGaWVsZHNMaXN0fSB9ICkgewogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICEkRHluYW1pY0ZpZWxkOwogICAgICAgIG5leHQgRFlOQU1JQ0ZJRUxEIGlmICFJc0hhc2hSZWZXaXRoRGF0YSgkRHluYW1pY0ZpZWxkKTsKICAgICAgICBuZXh0IERZTkFNSUNGSUVMRCBpZiAhJER5bmFtaWNGaWVsZC0+e05hbWV9OwogICAgICAgICRTZWxmLT57RHluYW1pY0ZpZWxkTG9va3VwfS0+eyAkRHluYW1pY0ZpZWxkLT57TmFtZX0gfSA9ICREeW5hbWljRmllbGQ7CiAgICB9CgogICAgcmV0dXJuICRTZWxmOwp9Cgo9aXRlbSBDb2RlSW5zdGFsbCgpCgpydW4gdGhlIGNvZGUgaW5zdGFsbCBwYXJ0CgogICAgbXkgJFJlc3VsdCA9ICRDb2RlT2JqZWN0LT5Db2RlSW5zdGFsbCgpOwoKPWN1dAoKc3ViIENvZGVJbnN0YWxsIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBpZiB3ZSBnb3QgYW4gaW5zdGFsbGVkIHZlcnNpb24gb2YgTWFzdGVyU2xhdmUsIG1pZ3JhdGUgdGhlIGRhdGEKICAgICMgb3RoZXJ3aXNlIHNldCB0aGUgZHluYW1pYyBmaWVsZHMKICAgIG15ICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZElEID0gJFNlbGYtPl9DaGVja01hc3RlclNsYXZlRGF0YSgpOwogICAgaWYgKCRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZElEKSB7CgogICAgICAgICRTZWxmLT5fTWlncmF0ZU9UUlNNYXN0ZXJTbGF2ZSgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkSUQgPT4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkSUQsCiAgICAgICAgICAgIE1hc3RlclNsYXZlICAgID0+IDEsCiAgICAgICAgKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICRTZWxmLT5fU2V0RHluYW1pY0ZpZWxkcygpOwogICAgfQoKICAgICMgc2V0IGRhc2hib2FyZCBjb25maWcgaWYgbmVlZGVkCiAgICAkU2VsZi0+X1NldERhc2hib2FyZENvbmZpZygpOwoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBDb2RlUmVpbnN0YWxsKCkKCnJ1biB0aGUgY29kZSByZWluc3RhbGwgcGFydAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVJlaW5zdGFsbCgpOwoKPWN1dAoKc3ViIENvZGVSZWluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICByZXR1cm4gMTsKfQoKPWl0ZW0gQ29kZVVwZ3JhZGUoKQoKcnVuIHRoZSBjb2RlIHVwZ3JhZGUgcGFydAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVVwZ3JhZGUoKTsKCj1jdXQKCnN1YiBDb2RlVXBncmFkZSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICRTZWxmLT5fU2V0RHluYW1pY0ZpZWxkcygpOwoKICAgICMgc2V0IGRhc2hib2FyZCBjb25maWcgaWYgbmVlZGVkCiAgICAkU2VsZi0+X1NldERhc2hib2FyZENvbmZpZygpOwoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBDb2RlVXBncmFkZTEyNSgpCgpydW4gdGhlIGNvZGUgdXBncmFkZSBwYXJ0IGZvciB2ZXJzaW9ucyBwcmlvciB0byAxLjIuNQoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVVwZ3JhZGUxMjUoKTsKCj1jdXQKCnN1YiBDb2RlVXBncmFkZTEyNSB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgdXBncmFkZS9taWdyYXRlIG9ubHkgaW4gY2FzZSB0aGVyZSBpcyBhIGluc3RhbGxlZAogICAgIyB2ZXJzaW9uIG9mIE9UUlNNYXN0ZXJTbGF2ZSB2ZXJzaW9uIDwgMS4yLjUKICAgICRTZWxmLT5fTWlncmF0ZU9UUlNNYXN0ZXJTbGF2ZSgpOwoKICAgIHJldHVybiAxOwp9Cgo9aXRlbSBDb2RlVW5pbnN0YWxsKCkKCnJ1biB0aGUgY29kZSB1bmluc3RhbGwgcGFydAoKICAgIG15ICRSZXN1bHQgPSAkQ29kZU9iamVjdC0+Q29kZVVuaW5zdGFsbCgpOwoKPWN1dAoKc3ViIENvZGVVbmluc3RhbGwgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAkU2VsZi0+X1JlbW92ZUR5bmFtaWNGaWVsZHMoKTsKCiAgICByZXR1cm4gMTsKfQoKc3ViIF9TZXREeW5hbWljRmllbGRzIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgZHluYW1pYyBmaWVsZCBuYW1lcyBmcm9tIHN5c2NvbmZpZwogICAgbXkgJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkCiAgICAgICAgPSAkU2VsZi0+e0NvbmZpZ09iamVjdH0tPkdldCgnTWFzdGVyU2xhdmU6OkR5bmFtaWNGaWVsZCcpIHx8ICdNYXN0ZXJTbGF2ZSc7CgogICAgIyBzZXQgYXR0cmlidXRlcyBvZiBuZXcgZHluYW1pYyBmaWVsZHMKICAgIG15ICVOZXdEeW5hbWljRmllbGRzID0gKAogICAgICAgICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZCA9PiB7CiAgICAgICAgICAgIE5hbWUgICAgICAgPT4gJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkLAogICAgICAgICAgICBMYWJlbCAgICAgID0+ICdNYXN0ZXIgVGlja2V0JywKICAgICAgICAgICAgRmllbGRUeXBlICA9PiAnRHJvcGRvd24nLAogICAgICAgICAgICBPYmplY3RUeXBlID0+ICdUaWNrZXQnLAogICAgICAgICAgICBDb25maWcgICAgID0+IHsKICAgICAgICAgICAgICAgIERlZmF1bHRWYWx1ZSAgID0+ICcnLAogICAgICAgICAgICAgICAgUG9zc2libGVWYWx1ZXMgPT4gewogICAgICAgICAgICAgICAgICAgIE1hc3RlciA9PiAnTmV3IE1hc3RlciBUaWNrZXQnLAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIFRyYW5zbGF0YWJsZVZhbHVlcyA9PiAxLAogICAgICAgICAgICB9LAogICAgICAgICAgICBJbnRlcm5hbEZpZWxkID0+IDEsCiAgICAgICAgfSwKICAgICk7CgogICAgIyBzZXQgTWF4RmllbGRPcmRlciAobmVlZGVkIGZvciBhZGRpbmcgbmV3IGR5bmFtaWMgZmllbGRzKQogICAgbXkgJE1heEZpZWxkT3JkZXIgPSAwOwogICAgaWYgKCAhSXNBcnJheVJlZldpdGhEYXRhKCAkU2VsZi0+e0R5bmFtaWNGaWVsZHNMaXN0fSApICkgewogICAgICAgICRNYXhGaWVsZE9yZGVyID0gMTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIERZTkFNSUNGSUVMRDoKICAgICAgICBmb3IgbXkgJER5bmFtaWNGaWVsZENvbmZpZyAoIEB7ICRTZWxmLT57RHluYW1pY0ZpZWxkc0xpc3R9IH0gKSB7CiAgICAgICAgICAgIGlmICggaW50ICREeW5hbWljRmllbGRDb25maWctPntGaWVsZE9yZGVyfSA+IGludCAkTWF4RmllbGRPcmRlciApIHsKICAgICAgICAgICAgICAgICRNYXhGaWVsZE9yZGVyID0gJER5bmFtaWNGaWVsZENvbmZpZy0+e0ZpZWxkT3JkZXJ9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZm9yIG15ICROZXdGaWVsZE5hbWUgKCBzb3J0IGtleXMgJU5ld0R5bmFtaWNGaWVsZHMgKSB7CgogICAgICAgICMgY2hlY2sgaWYgZHluYW1pYyBmaWVsZCBhbHJlYWR5IGV4aXN0cwogICAgICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoICRTZWxmLT57RHluYW1pY0ZpZWxkTG9va3VwfS0+eyROZXdGaWVsZE5hbWV9ICkgKSB7CgogICAgICAgICAgICAjIGdldCB0aGUgZHluYW1pYyBmaWVsZCBjb25maWd1cmF0aW9uCiAgICAgICAgICAgIG15ICREeW5hbWljRmllbGRDb25maWcgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZExvb2t1cH0tPnskTmV3RmllbGROYW1lfTsKCiAgICAgICAgICAgICMgaWYgZHluYW1pYyBmaWVsZCBleGlzdHMgbWFrZSBzdXJlIGlzIHZhbGlkCiAgICAgICAgICAgIGlmICggJER5bmFtaWNGaWVsZENvbmZpZy0+e1ZhbGlkSUR9IG5lICcxJyApIHsKCiAgICAgICAgICAgICAgICBteSAkU3VjY2VzcyA9ICRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fS0+RHluYW1pY0ZpZWxkVXBkYXRlKAogICAgICAgICAgICAgICAgICAgICV7JER5bmFtaWNGaWVsZENvbmZpZ30sCiAgICAgICAgICAgICAgICAgICAgVmFsaWRJRCA9PiAxLAogICAgICAgICAgICAgICAgICAgIFJlb3JkZXIgPT4gMCwKICAgICAgICAgICAgICAgICAgICBVc2VySUQgID0+IDEsCiAgICAgICAgICAgICAgICApOwoKICAgICAgICAgICAgICAgIGlmICggISRTdWNjZXNzICkgewogICAgICAgICAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiQ291bGQgbm90IHNldCBkeW5hbWljIGZpZWxkICckTmV3RmllbGROYW1lJyB0byB2YWxpZCEiLAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCAkRHluYW1pY0ZpZWxkQ29uZmlnLT57SW50ZXJuYWxGaWVsZH0gbmUgJzEnICkgewoKICAgICAgICAgICAgICAgICMgdXBkYXRlIEludGVybmFsRmllbGQgdmFsdWUgbWFudWFsbHkgc2luY2UgQVBJIGRvZXMgbm90IHN1cHBvcnQKICAgICAgICAgICAgICAgICMgaW50ZXJuYWxfZmllbGQgdXBkYXRlCiAgICAgICAgICAgICAgICBteSAkU3VjY2VzcyA9ICRTZWxmLT57REJPYmplY3R9LT5EbygKICAgICAgICAgICAgICAgICAgICBTUUwgPT4gJwogICAgICAgICAgICAgICAgICAgICAgICBVUERBVEUgZHluYW1pY19maWVsZAogICAgICAgICAgICAgICAgICAgICAgICBTRVQgaW50ZXJuYWxfZmllbGQgPSAxCiAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPycsCiAgICAgICAgICAgICAgICAgICAgQmluZCA9PiBbIFwkRHluYW1pY0ZpZWxkQ29uZmlnLT57SUR9IF0sCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgaWYgKCAhJFN1Y2Nlc3MgKSB7CiAgICAgICAgICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3Qgc2V0IGR5bmFtaWMgZmllbGQgJyROZXdGaWVsZE5hbWUnIGFzIGludGVybmFsISIsCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAjIGNsZWFuIGR5bmFtaWMgZmllbGQgY2FjaGUKICAgICAgICAgICAgICAgICRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fS0+e0NhY2hlT2JqZWN0fS0+Q2xlYW5VcCgKICAgICAgICAgICAgICAgICAgICBUeXBlID0+ICdEeW5hbWljRmllbGQnLAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgIyBvdGhlcndpc2UgY3JlYXRlIGl0CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRNYXhGaWVsZE9yZGVyKys7CiAgICAgICAgICAgIG15ICRJRCA9ICRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fS0+RHluYW1pY0ZpZWxkQWRkKAogICAgICAgICAgICAgICAgJXsgJE5ld0R5bmFtaWNGaWVsZHN7JE5ld0ZpZWxkTmFtZX0gfSwKICAgICAgICAgICAgICAgIEZpZWxkT3JkZXIgPT4gJE1heEZpZWxkT3JkZXIsCiAgICAgICAgICAgICAgICBWYWxpZElEICAgID0+IDEsCiAgICAgICAgICAgICAgICBVc2VySUQgICAgID0+IDEsCiAgICAgICAgICAgICk7CgogICAgICAgICAgICBpZiAoICEkSUQgKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3QgYWRkIGR5bmFtaWMgZmllbGQgJyROZXdGaWVsZE5hbWUnISIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgICMgZW5hYmxlIGR5bmFtaWMgZmllbGQgZm9yIHRpY2tldCB6b29tCiAgICAjIGdldCBvbGQgY29uZmlndXJhdGlvbgogICAgbXkgJFdpbmRvd0NvbmZpZyA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldFpvb20nKTsKICAgIG15ICVEeW5hbWljRmllbGRzID0gJXsgJFdpbmRvd0NvbmZpZy0+e0R5bmFtaWNGaWVsZH0gfHwge30gfTsKCiAgICAkRHluYW1pY0ZpZWxkc3skTWFzdGVyU2xhdmVEeW5hbWljRmllbGR9ID0KICAgICAgICBkZWZpbmVkICREeW5hbWljRmllbGRzeyRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZH0KICAgICAgICA/ICREeW5hbWljRmllbGRzeyRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZH0KICAgICAgICA6IDE7CgogICAgJFNlbGYtPntTeXNDb25maWdPYmplY3R9LT5Db25maWdJdGVtVXBkYXRlKAogICAgICAgIFZhbGlkID0+IDEsCiAgICAgICAgS2V5ICAgPT4gJ1RpY2tldDo6RnJvbnRlbmQ6OkFnZW50VGlja2V0Wm9vbSMjI0R5bmFtaWNGaWVsZCcsCiAgICAgICAgVmFsdWUgPT4gXCVEeW5hbWljRmllbGRzLAogICAgKTsKCiAgICByZXR1cm4gMTsKfQoKc3ViIF9NaWdyYXRlT1RSU01hc3RlclNsYXZlIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgIyBnZXQgZHluYW1pYyBmaWVsZCBuYW1lcyBmcm9tIHN5c2NvbmZpZwogICAgbXkgJE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpEeW5hbWljRmllbGQnKQogICAgICAgIHx8ICdNYXN0ZXJTbGF2ZSc7CgogICAgIyBjaGVjayBpZiB0aGVyZSBpc24ndCBhbGxyZWFkeSBhIGR5bmFtaWMgZmllbGQgd2l0aCB0aGUgZGVzdGluYXRlZCBuYW1lCiAgICByZXR1cm4gMSBpZiBJc0hhc2hSZWZXaXRoRGF0YSggJFNlbGYtPntEeW5hbWljRmllbGRMb29rdXB9LT57JE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkfSApOwoKICAgIG15ICRPbGRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZElEOwoKICAgICMgY2hlY2sgaWYgd2UgZ290IGEgRHluYW1pY0ZpZWxkSUQKICAgIGlmICggJFBhcmFte0R5bmFtaWNGaWVsZElEfSApIHsKICAgICAgICAkT2xkTWFzdGVyU2xhdmVEeW5hbWljRmllbGRJRCA9ICRQYXJhbXtEeW5hbWljRmllbGRJRH07CiAgICB9CiAgICBlbHNlIHsKCiAgICAgICAgIyBpZiBub3Q6IGdldCB0aGUgbWlncmF0ZWQgZmllbGQgSUQgYnkgc2VhcmNoaW5nIGZvciBwb3NzaWJsZSBkYXRhCiAgICAgICAgJFNlbGYtPntEQk9iamVjdH0tPlByZXBhcmUoCiAgICAgICAgICAgIFNRTCA9PiAiU0VMRUNUIGRmdi5maWVsZF9pZCBGUk9NIGR5bmFtaWNfZmllbGRfdmFsdWUgZGZ2ICIKICAgICAgICAgICAgICAgIC4gIldIRVJFIGRmdi52YWx1ZV90ZXh0IExJS0UgJ1NsYXZlT2Y6JScgT1IgZGZ2LnZhbHVlX3RleHQgPSAnTWFzdGVyJyIsCiAgICAgICAgICAgIExpbWl0ID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAgICAgJE9sZE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkSUQgPSAkUm93WzBdOwogICAgICAgIH0KICAgIH0KCiAgICAjIGNoZWNrIGlmIHdlIGZvdW5kIGEgdmFsaWQgSUQKICAgIHJldHVybiAwIGlmICEkT2xkTWFzdGVyU2xhdmVEeW5hbWljRmllbGRJRDsKCiAgICBpZiAoICRQYXJhbXtNYXN0ZXJTbGF2ZX0gKSB7CiAgICAgICAgJFNlbGYtPl9NaWdyYXRlTWFzdGVyU2xhdmVEYXRhKAogICAgICAgICAgICBEeW5hbWljRmllbGRJRCA9PiAkT2xkTWFzdGVyU2xhdmVEeW5hbWljRmllbGRJRCwKICAgICAgICApOwogICAgfQoKICAgICMgdHJ5IHRvIGdldCB0aGUgZHluZmllbGQgZGF0YSAoZm9yIGZpZWxkb3JkZXIgZXRjLikKICAgIG15ICRPbGREeW5hbWljRmllbGQgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0tPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICBJRCA9PiAkT2xkTWFzdGVyU2xhdmVEeW5hbWljRmllbGRJRCwKICAgICk7CgogICAgcmV0dXJuIDAgaWYgIUlzSGFzaFJlZldpdGhEYXRhKCRPbGREeW5hbWljRmllbGQpOwoKICAgICMgdXBkYXRlIHRoZSBuYW1lIG9mIHRoZSBkeW5hbWljIGZpZWxkIHRvIE1hc3RlclNsYXZlIGFuZCBzdG9yZSBpdAogICAgIyBhbmQgcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhpcyBmdW5jdGlvbgogICAgcmV0dXJuIDAgaWYgISRTZWxmLT57RHluYW1pY0ZpZWxkT2JqZWN0fS0+RHluYW1pY0ZpZWxkVXBkYXRlKAogICAgICAgICV7JE9sZER5bmFtaWNGaWVsZH0sCiAgICAgICAgTmFtZSAgICAgID0+ICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZCwKICAgICAgICBMYWJlbCAgICAgPT4gJ01hc3RlciBUaWNrZXQnLAogICAgICAgIEZpZWxkVHlwZSA9PiAnRHJvcGRvd24nLAogICAgICAgIENvbmZpZyAgICA9PiB7CiAgICAgICAgICAgIERlZmF1bHRWYWx1ZSAgID0+ICcnLAogICAgICAgICAgICBQb3NzaWJsZVZhbHVlcyA9PiB7CiAgICAgICAgICAgICAgICBNYXN0ZXIgPT4gJ05ldyBNYXN0ZXIgVGlja2V0JywKICAgICAgICAgICAgfSwKICAgICAgICAgICAgVHJhbnNsYXRhYmxlVmFsdWVzID0+IDEsCiAgICAgICAgfSwKICAgICAgICBWYWxpZElEID0+IDEsCiAgICAgICAgUmVvcmRlciA9PiAwLAogICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICk7CgogICAgIyB1cGRhdGUgSW50ZXJuYWxGaWVsZCB2YWx1ZSBtYW51YWxseSBzaW5jZSBBUEkgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcm5hbF9maWVsZCB1cGRhdGUKICAgIG15ICRTdWNjZXNzID0gJFNlbGYtPntEQk9iamVjdH0tPkRvKAogICAgICAgIFNRTCA9PiAnCiAgICAgICAgICAgIFVQREFURSBkeW5hbWljX2ZpZWxkCiAgICAgICAgICAgIFNFVCBpbnRlcm5hbF9maWVsZCA9IDEKICAgICAgICAgICAgV0hFUkUgaWQgPSA/JywKICAgICAgICBCaW5kID0+IFsgXCRPbGRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZElELT57SUR9IF0sCiAgICApOwogICAgaWYgKCAhJFN1Y2Nlc3MgKSB7CiAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJDb3VsZCBub3Qgc2V0IGR5bmFtaWMgZmllbGQgJyRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZCcgYXMgaW50ZXJuYWwhIiwKICAgICAgICApOwogICAgfQoKICAgICMgY2xlYW4gZHluYW1pYyBmaWVsZCBjYWNoZQogICAgJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9LT57Q2FjaGVPYmplY3R9LT5DbGVhblVwKAogICAgICAgIFR5cGUgPT4gJ0R5bmFtaWNGaWVsZCcsCiAgICApOwoKICAgICMgYWN0aXZhdGUgdGhlIER5bmFtaWNGaWVsZCBpbiB0aWNrZXQgZGV0YWlscyBibG9jawogICAgbXkgJEtleVN0cmluZyAgICAgICA9ICJUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldFpvb20iOwogICAgbXkgJEV4aXN0aW5nU2V0dGluZyA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCRLZXlTdHJpbmcpIHx8IHt9OwogICAgbXkgJVZhbHVlc1RvU2V0ICAgICA9ICV7ICRFeGlzdGluZ1NldHRpbmctPntEeW5hbWljRmllbGR9IHx8IHt9IH07CiAgICAkVmFsdWVzVG9TZXR7TWFzdGVyU2xhdmV9ID0gMTsKICAgIHJldHVybiAkU2VsZi0+e1N5c0NvbmZpZ09iamVjdH0tPkNvbmZpZ0l0ZW1VcGRhdGUoCiAgICAgICAgVmFsaWQgPT4gMSwKICAgICAgICBLZXkgICA9PiAkS2V5U3RyaW5nIC4gIiMjI0R5bmFtaWNGaWVsZCIsCiAgICAgICAgVmFsdWUgPT4gXCVWYWx1ZXNUb1NldCwKICAgICk7Cn0KCnN1YiBfQ2hlY2tNYXN0ZXJTbGF2ZURhdGEgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGlmIG5vdDogZ2V0IHRoZSBtaWdyYXRlZCBmaWVsZCBJRCBieSBzZWFyY2hpbmcgZm9yIHBvc3NpYmxlIGRhdGEKICAgICRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgIFNRTCAgID0+ICJTRUxFQ1QgZGZ2LmZpZWxkX2lkIEZST00gZHluYW1pY19maWVsZF92YWx1ZSBkZnYgV0hFUkUgZGZ2LnZhbHVlX3RleHQgPSAnU2xhdmUnIiwKICAgICAgICBMaW1pdCA9PiAxLAogICAgKTsKCiAgICBteSAkT2xkTWFzdGVyU2xhdmVEeW5hbWljRmllbGRJRDsKICAgIHdoaWxlICggbXkgQFJvdyA9ICRTZWxmLT57REJPYmplY3R9LT5GZXRjaHJvd0FycmF5KCkgKSB7CiAgICAgICAgJE9sZE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkSUQgPSAkUm93WzBdOwogICAgfQoKICAgIHJldHVybiAkT2xkTWFzdGVyU2xhdmVEeW5hbWljRmllbGRJRDsKfQoKc3ViIF9NaWdyYXRlTWFzdGVyU2xhdmVEYXRhIHsKICAgIG15ICggJFNlbGYsICVQYXJhbSApID0gQF87CgogICAgaWYgKCAhJFBhcmFte0R5bmFtaWNGaWVsZElEfSApIHsKICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgTWVzc2FnZSAgPT4gIk5lZWQgRHluYW1pY0ZpZWxkSUQgZm9yIE1hc3RlclNsYXZlIGRhdGEgbWlncmF0aW9uISIsCiAgICAgICAgKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgIyBnZXQgYWxsIHRoZSBzbGF2ZSB0aWNrZXQgaWRzIHdlIGhhdmUgdG8gdXBkYXRlCiAgICAkU2VsZi0+e0RCT2JqZWN0fS0+UHJlcGFyZSgKICAgICAgICBTUUwgPT4KICAgICAgICAgICAgIlNFTEVDVCBkZnYub2JqZWN0X2lkIEZST00gZHluYW1pY19maWVsZF92YWx1ZSBkZnYgV0hFUkUgZGZ2LnZhbHVlX3RleHQgPSAnU2xhdmUnIEFORCBkZnYuZmllbGRfaWQgPSA/IiwKICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17RHluYW1pY0ZpZWxkSUR9IF0sCiAgICAgICAgTGltaXQgPT4gNTAsCiAgICApOwoKICAgIG15IEBEeW5hbWljRmllbGREYXRhOwogICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICBwdXNoKCBARHluYW1pY0ZpZWxkRGF0YSwgJFJvd1swXSApOwogICAgfQoKICAgICMgdHJ5IHRvIGdldCB0aGUgZHluZmllbGQgZGF0YSBmb3Igc2V0dGluZyBuZXcgdmFsdWUKICAgIG15ICREeW5hbWljRmllbGRDb25maWcgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZE9iamVjdH0tPkR5bmFtaWNGaWVsZEdldCgKICAgICAgICBJRCA9PiAkUGFyYW17RHluYW1pY0ZpZWxkSUR9LAogICAgKTsKCiAgICByZXR1cm4gaWYgIUlzSGFzaFJlZldpdGhEYXRhKCREeW5hbWljRmllbGRDb25maWcpOwoKICAgICMgbG9vcCBvdmVyIHRoZSB0aWNrZXQgaWRzIHdlIGhhdmUgdG8gdXBkYXRlCiAgICBPTERTTEFWRVNUWUxFOgogICAgZm9yIG15ICRUaWNrZXRJRCAoQER5bmFtaWNGaWVsZERhdGEpIHsKCiAgICAgICAgIyBnZXQgbGlua2VkIG9iamVjdHMKICAgICAgICBteSAkTGlua0xpc3RXaXRoRGF0YSA9ICRTZWxmLT57TGlua09iamVjdH0tPkxpbmtMaXN0V2l0aERhdGEoCiAgICAgICAgICAgIE9iamVjdCAgICA9PiAnVGlja2V0JywKICAgICAgICAgICAgS2V5ICAgICAgID0+ICRUaWNrZXRJRCwKICAgICAgICAgICAgU3RhdGUgICAgID0+ICdWYWxpZCcsCiAgICAgICAgICAgIFR5cGUgICAgICA9PiAnUGFyZW50Q2hpbGQnLAogICAgICAgICAgICBEaXJlY3Rpb24gPT4gJ1NvdXJjZScsCiAgICAgICAgICAgIFVzZXJJRCAgICA9PiAxLAogICAgICAgICk7CgogICAgICAgICMgY2hlY2sgd2hhdCB0aWNrZXRzIG1pZ2h0IGJlIHRoZSBtYXN0ZXIKICAgICAgICBteSBAUGFyZW50VGlja2V0SURzID0ga2V5cyAleyAkTGlua0xpc3RXaXRoRGF0YS0+e1RpY2tldH17UGFyZW50Q2hpbGR9e1NvdXJjZX0gfTsKCiAgICAgICAgbXkgJFRpY2tldE51bWJlcjsKCiAgICAgICAgIyBpZiB3ZSBnb3QgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBtYXN0ZXIgdGlja2V0LCB0cnkgdG8gZGV0ZXJtaW5lIHdoaWNoCiAgICAgICAgIyBvbmUgaXMgdGhlIG1hc3RlciB3ZSBhcmUgbG9va2luZyBmb3IKICAgICAgICBpZiAoJCNQYXJlbnRUaWNrZXRJRHMpIHsKCiAgICAgICAgICAgICRTZWxmLT57REJPYmplY3R9LT5QcmVwYXJlKAogICAgICAgICAgICAgICAgU1FMID0+CiAgICAgICAgICAgICAgICAgICAgIlNFTEVDVCBkZnYub2JqZWN0X2lkIEZST00gZHluYW1pY19maWVsZF92YWx1ZSBkZnYgV0hFUkUgZGZ2LnZhbHVlX3RleHQgPSAnTWFzdGVyJyBBTkQgZGZ2LmZpZWxkX2lkID0gPyIKICAgICAgICAgICAgICAgICAgICAuICdBTkQgZGZ2Lm9iamVjdF9pZCBJTiAoJwogICAgICAgICAgICAgICAgICAgIC4gam9pbiggJywnLCBtYXAgeyAkU2VsZi0+e0RCT2JqZWN0fS0+UXVvdGUoJF8pIH0gQFBhcmVudFRpY2tldElEcyApCiAgICAgICAgICAgICAgICAgICAgLiAnKScsCiAgICAgICAgICAgICAgICBCaW5kICA9PiBbIFwkUGFyYW17RHluYW1pY0ZpZWxkSUR9IF0sCiAgICAgICAgICAgICAgICBMaW1pdCA9PiAxLAogICAgICAgICAgICApOwoKICAgICAgICAgICAgbXkgQFBhcmVudFRpY2tldElEczsKICAgICAgICAgICAgd2hpbGUgKCBteSBAUm93ID0gJFNlbGYtPntEQk9iamVjdH0tPkZldGNocm93QXJyYXkoKSApIHsKICAgICAgICAgICAgICAgIHB1c2goIEBQYXJlbnRUaWNrZXRJRHMsICRSb3dbMF0gKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCQjUGFyZW50VGlja2V0SURzKSB7CiAgICAgICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgICAgICBQcmlvcml0eSA9PiAnZXJyb3InLAogICAgICAgICAgICAgICAgICAgIE1lc3NhZ2UgPT4KICAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkbid0IGRldGVybWluZSBNYXN0ZXJUaWNrZXQgZm9yIFRpY2tldElEICRUaWNrZXRJRCAoUG9zc2libGUgTWFzdGVyczogIgogICAgICAgICAgICAgICAgICAgICAgICAuIGpvaW4gJywgJywgQFBhcmVudFRpY2tldElEcwogICAgICAgICAgICAgICAgICAgICAgICAuICIpISIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkVGlja2V0TnVtYmVyID0gJFNlbGYtPntUaWNrZXRPYmplY3R9LT5UaWNrZXROdW1iZXJMb29rdXAoCiAgICAgICAgICAgICAgICBUaWNrZXRJRCA9PiAkUGFyZW50VGlja2V0SURzWzBdLAogICAgICAgICAgICAgICAgVXNlcklEICAgPT4gMSwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRUaWNrZXROdW1iZXIgPSAkTGlua0xpc3RXaXRoRGF0YS0+e1RpY2tldH17UGFyZW50Q2hpbGR9e1NvdXJjZX17ICRQYXJlbnRUaWNrZXRJRHNbMF0gfQogICAgICAgICAgICAgICAge1RpY2tldE51bWJlcn07CiAgICAgICAgfQoKICAgICAgICAjIHVwZGF0ZSB0aGUgZHluYW1pYyBmaWVsZCB2YWx1ZSB0byB2YWxpZAogICAgICAgICMgZGF0YSBmb3IgT1RSU01hc3RlclNsYXZlCiAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+e0R5bmFtaWNGaWVsZEJhY2tlbmRPYmplY3R9LT5WYWx1ZVNldCgKICAgICAgICAgICAgRHluYW1pY0ZpZWxkQ29uZmlnID0+ICREeW5hbWljRmllbGRDb25maWcsCiAgICAgICAgICAgIE9iamVjdElEICAgICAgICAgICA9PiAkVGlja2V0SUQsCiAgICAgICAgICAgIFZhbHVlICAgICAgICAgICAgICA9PiAnU2xhdmVPZjonIC4gJFRpY2tldE51bWJlciwKICAgICAgICAgICAgVXNlcklEICAgICAgICAgICAgID0+IDEsCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAhJFN1Y2Nlc3MgKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJFcnJvciB3aGlsZSBtaWdyYXRpbmcgTWFzdGVyU2xhdmUgRHluYW1pY0ZpZWxkICciCiAgICAgICAgICAgICAgICAgICAgLiAkUGFyYW17RHluYW1pY0ZpZWxkSUR9CiAgICAgICAgICAgICAgICAgICAgLiAiJyBmb3IgVGlja2V0SUQgJyIKICAgICAgICAgICAgICAgICAgICAuICRUaWNrZXRJRAogICAgICAgICAgICAgICAgICAgIC4gIichIiwKICAgICAgICAgICAgKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgIH0KCiAgICAjIGRvIHNvbWUgcmVjdXJzaXRpb24gaWYgd2UgZ290IG1vcmUgdGhhbiA1MCBzbGF2ZSB0aWNrZXRzIGluIHRoaXMgcnVuCiAgICAjIGRvaW5nIHRoaXMgdG8gaGF2ZSBhIGJldHRlciBwZXJmb3JtYW5jZQogICAgaWYgKCA1MCA9PSBzY2FsYXIgQER5bmFtaWNGaWVsZERhdGEgKSB7CiAgICAgICAgbXkgJFN1Y2Nlc3MgPSAkU2VsZi0+X01pZ3JhdGVNYXN0ZXJTbGF2ZURhdGEoCiAgICAgICAgICAgIER5bmFtaWNGaWVsZElEID0+ICRQYXJhbXtEeW5hbWljRmllbGRJRH0sCiAgICAgICAgKTsKCiAgICAgICAgaWYgKCAhJFN1Y2Nlc3MgKSB7CiAgICAgICAgICAgICRTZWxmLT57TG9nT2JqZWN0fS0+TG9nKAogICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgIE1lc3NhZ2UgID0+ICJFcnJvciB3aGlsZSBtaWdyYXRpbmcgTWFzdGVyU2xhdmUgZGF0YSEiLAogICAgICAgICAgICApOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAxOwp9CgpzdWIgX1JlbW92ZUR5bmFtaWNGaWVsZHMgewogICAgbXkgKCAkU2VsZiwgJVBhcmFtICkgPSBAXzsKCiAgICAjIGdldCBkeW5hbWljIGZpZWxkIG5hbWVzIGZyb20gc3lzY29uZmlnCiAgICBteSAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQKICAgICAgICA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdNYXN0ZXJTbGF2ZTo6RHluYW1pY0ZpZWxkJykgfHwgJ01hc3RlclNsYXZlJzsKCiAgICAjIGNoZWNrIGlmIGR5bmFtaWMgZmllbGQgYWxyZWFkeSBleGlzdHMKICAgIGlmICggSXNIYXNoUmVmV2l0aERhdGEoICRTZWxmLT57RHluYW1pY0ZpZWxkTG9va3VwfS0+eyRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZH0gKSApIHsKCiAgICAgICAgIyBnZXQgdGhlIGZpZWxkIElECiAgICAgICAgbXkgJER5bmFtaWNGaWVsZElEID0gJFNlbGYtPntEeW5hbWljRmllbGRMb29rdXB9LT57JE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkfS0+e0lEfTsKCiAgICAgICAgIyBkZWxldGUgYWxsIGZpZWxkIHZhbHVlcwogICAgICAgIG15ICRWYWx1ZXNEZWxldGVTdWNjZXNzID0gJFNlbGYtPntEeW5hbWljRmllbGRWYWx1ZU9iamVjdH0tPkFsbFZhbHVlc0RlbGV0ZSgKICAgICAgICAgICAgRmllbGRJRCA9PiAkRHluYW1pY0ZpZWxkSUQsCiAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICApOwoKICAgICAgICBpZiAoJFZhbHVlc0RlbGV0ZVN1Y2Nlc3MpIHsKCiAgICAgICAgICAgICMgZGVsZXRlIGZpZWxkCiAgICAgICAgICAgIG15ICRTdWNjZXNzID0gJFNlbGYtPntEeW5hbWljRmllbGRPYmplY3R9LT5EeW5hbWljRmllbGREZWxldGUoCiAgICAgICAgICAgICAgICBJRCAgICAgID0+ICREeW5hbWljRmllbGRJRCwKICAgICAgICAgICAgICAgIFVzZXJJRCAgPT4gMSwKICAgICAgICAgICAgICAgIFJlb3JkZXIgPT4gMSwKICAgICAgICAgICAgKTsKCiAgICAgICAgICAgIGlmICggISRTdWNjZXNzICkgewogICAgICAgICAgICAgICAgJFNlbGYtPntMb2dPYmplY3R9LT5Mb2coCiAgICAgICAgICAgICAgICAgICAgUHJpb3JpdHkgPT4gJ2Vycm9yJywKICAgICAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiQ291bGQgbm90IGRlbGV0ZSBkeW5hbWljIGZpZWxkICckTWFzdGVyU2xhdmVEeW5hbWljRmllbGQnISIsCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkU2VsZi0+e0xvZ09iamVjdH0tPkxvZygKICAgICAgICAgICAgICAgIFByaW9yaXR5ID0+ICdlcnJvcicsCiAgICAgICAgICAgICAgICBNZXNzYWdlICA9PiAiQ291bGQgbm90IGRlbGV0ZSB2YWx1ZXMgZm9yIGR5bmFtaWMgZmllbGQgJyRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZCchIiwKICAgICAgICAgICAgKTsKICAgICAgICB9CiAgICB9CgogICAgIyBkaXNhYmxlIGR5bmFtaWMgZmllbGQgZm9yIHRpY2tldCB6b29tCiAgICAjIGdldCBvbGQgY29uZmlndXJhdGlvbgogICAgbXkgJFdpbmRvd0NvbmZpZyA9ICRTZWxmLT57Q29uZmlnT2JqZWN0fS0+R2V0KCdUaWNrZXQ6OkZyb250ZW5kOjpBZ2VudFRpY2tldFpvb20nKTsKICAgIG15ICVEeW5hbWljRmllbGRzID0gJXsgJFdpbmRvd0NvbmZpZy0+e0R5bmFtaWNGaWVsZH0gfHwge30gfTsKCiAgICBpZiAoIGRlZmluZWQgJER5bmFtaWNGaWVsZHN7JE1hc3RlclNsYXZlRHluYW1pY0ZpZWxkfSApIHsKICAgICAgICAkRHluYW1pY0ZpZWxkc3skTWFzdGVyU2xhdmVEeW5hbWljRmllbGR9ID0gMDsKICAgIH0KCiAgICAkU2VsZi0+e1N5c0NvbmZpZ09iamVjdH0tPkNvbmZpZ0l0ZW1VcGRhdGUoCiAgICAgICAgVmFsaWQgPT4gMSwKICAgICAgICBLZXkgICA9PiAnVGlja2V0OjpGcm9udGVuZDo6QWdlbnRUaWNrZXRab29tIyMjRHluYW1pY0ZpZWxkJywKICAgICAgICBWYWx1ZSA9PiBcJUR5bmFtaWNGaWVsZHMsCiAgICApOwoKICAgIHJldHVybiAxOwp9CgpzdWIgX1NldERhc2hib2FyZENvbmZpZyB7CiAgICBteSAoICRTZWxmLCAlUGFyYW0gKSA9IEBfOwoKICAgICMgZ2V0IGR5bmFtaWMgZmllbGQgbmFtZXMgZnJvbSBzeXNjb25maWcKICAgIG15ICRNYXN0ZXJTbGF2ZUR5bmFtaWNGaWVsZAogICAgICAgID0gJFNlbGYtPntDb25maWdPYmplY3R9LT5HZXQoJ01hc3RlclNsYXZlOjpEeW5hbWljRmllbGQnKSB8fCAnTWFzdGVyU2xhdmUnOwoKICAgICMgaWYgTWFzdGVyU2xhdmUgZHluYW1pYyBmaWVsZCBpcyAnTWFzdGVyU2xhdmUnIHRoZSBjb25maWcgaXMgYWxyZWFkeSBzZXQsIG5vdGhpbmcgZWxzZSB0byBkbwogICAgcmV0dXJuIDEgaWYgKCAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgZXEgJ01hc3RlclNsYXZlJyApOwoKICAgICMgb3RoZXJ3aXNlIHNldCB0aGUgbmV3IGNvbmZpZwogICAgIyBhdHRyaWJ1dGVzIGNvbW1vbiBmb3IgYm90aCBNYXN0ZXIgYW5kIFNsYXZlIHdpZGdldHMKICAgIG15ICVDb21tb25Db25maWcgPSAoCiAgICAgICAgTW9kdWxlICAgICAgICA9PiAnS2VybmVsOjpPdXRwdXQ6OkhUTUw6OkRhc2hib2FyZFRpY2tldEdlbmVyaWMnLAogICAgICAgIEZpbHRlciAgICAgICAgPT4gJ0FsbCcsCiAgICAgICAgVGltZSAgICAgICAgICA9PiAnQWdlJywKICAgICAgICBMaW1pdCAgICAgICAgID0+IDEwLAogICAgICAgIFBlcm1pc3Npb24gICAgPT4gJ3J3JywKICAgICAgICBCbG9jayAgICAgICAgID0+ICdDb250ZW50TGFyZ2UnLAogICAgICAgIEdyb3VwICAgICAgICAgPT4gJycsCiAgICAgICAgRGVmYXVsdCAgICAgICA9PiAxLAogICAgICAgIENhY2hlVFRMTG9jYWwgPT4gMC41LAogICAgKTsKCiAgICAjIGF0dHJpYnV0ZXMgZm9yIE1hc3RlciB3aWRnZXQKICAgIG15ICVNYXN0ZXJDb25maWcgPSAoCiAgICAgICAgVGl0bGUgICAgICAgPT4gJ01hc3RlciBUaWNrZXRzJywKICAgICAgICBEZXNjcmlwdGlvbiA9PiAnQWxsIG1hc3RlciB0aWNrZXRzJywKICAgICAgICBBdHRyaWJ1dGVzICA9PiAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgLiAnX0VxdWFscz1NYXN0ZXI7JywKICAgICk7CgogICAgIyBhdHRyaWJ1dGVzIGZvciBTbGF2ZSB3aWRnZXQKICAgIG15ICVTbGF2ZUNvbmZpZyA9ICgKICAgICAgICBUaXRsZSAgICAgICA9PiAnU2xhdmUgVGlja2V0cycsCiAgICAgICAgRGVzY3JpcHRpb24gPT4gJ0FsbCBzbGF2ZSB0aWNrZXRzJywKICAgICAgICBBdHRyaWJ1dGVzICA9PiAnRHluYW1pY0ZpZWxkXycgLiAkTWFzdGVyU2xhdmVEeW5hbWljRmllbGQgLiAnX0xpa2U9U2xhdmUqOycsCiAgICApOwoKICAgICMgd3JpdGUgY29uZmlndXJhdGlvbnMKICAgICRTZWxmLT57U3lzQ29uZmlnT2JqZWN0fS0+Q29uZmlnSXRlbVVwZGF0ZSgKICAgICAgICBWYWxpZCA9PiAxLAogICAgICAgIEtleSAgID0+ICdEYXNoYm9hcmRCYWNrZW5kIyMjMDkwMC1UaWNrZXRNYXN0ZXInLAogICAgICAgIFZhbHVlID0+IHsKICAgICAgICAgICAgJUNvbW1vbkNvbmZpZywKICAgICAgICAgICAgJU1hc3RlckNvbmZpZywKICAgICAgICB9LAogICAgKTsKICAgICRTZWxmLT57U3lzQ29uZmlnT2JqZWN0fS0+Q29uZmlnSXRlbVVwZGF0ZSgKICAgICAgICBWYWxpZCA9PiAxLAogICAgICAgIEtleSAgID0+ICdEYXNoYm9hcmRCYWNrZW5kIyMjMDkxMC1UaWNrZXRTbGF2ZScsCiAgICAgICAgVmFsdWUgPT4gewogICAgICAgICAgICAlQ29tbW9uQ29uZmlnLAogICAgICAgICAgICAlU2xhdmVDb25maWcsCiAgICAgICAgfSwKICAgICk7CgogICAgcmV0dXJuIDE7Cn0KCjE7Cgo9YmFjawoKPWhlYWQxIFRFUk1TIEFORCBDT05ESVRJT05TCgpUaGlzIHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIE9UUlMgcHJvamVjdCAoTDxodHRwOi8vb3Rycy5vcmcvPikuCgpUaGlzIHNvZnR3YXJlIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS4gRm9yIGRldGFpbHMsIHNlZQp0aGUgZW5jbG9zZWQgZmlsZSBDT1BZSU5HIGZvciBsaWNlbnNlIGluZm9ybWF0aW9uIChBR1BMKS4gSWYgeW91CmRpZCBub3QgcmVjZWl2ZSB0aGlzIGZpbGUsIHNlZSBMPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLnR4dD4uCgo9Y3V0Cg==
JVBERi0xLjQKJaqrrK0KNCAwIG9iago8PAovQ3JlYXRvciAoQXBhY2hlIEZPUCBWZXJzaW9uIDEuMSkKL1Byb2R1Y2VyIChBcGFjaGUgRk9QIFZlcnNpb24gMS4xKQovQ3JlYXRpb25EYXRlIChEOjIwMTQxMDI4MTgzNjIwKzAxJzAwJykKPj4KZW5kb2JqCjUgMCBvYmoKPDwKICAvTiAzCiAgL0xlbmd0aCAxMiAwIFIKICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJydlndYU+cex99zTvZgJCFsCHuGpUAAkRGmgAzZohCSAAESICQM90BUsKKoyFIEKYpYsFqG1IkoDori3g1SBJRarOLC0USep/X29t7b2+8f53ye3/v7vef9jfd5DgCkgEyuMBdWAUAokogj/L0ZsXHxDOwAgAEeYIA9ABxubrZXWFgwkCvQl83IlTuBf9GrmwBSvK8xFXuB/0+q3GyxBAAoTM6zePxcrpyL5JyZL8lW2CflTEvOUDCMUrBYfkA5ayg4dYatP/vMsKeCeUIRT86Rcs7mCXkK7pXzhjwpX86IIpfiPAE/X87X5WycKRUK5PxGESvkc+Q5oEgKu4TPTZOznZxJ4sgItpznAIAjpX7ByV+whF8gUSTFzsouFAtS0yQMc64Fw97FhcUI4Odn8iUSZhiHm8ER8xjsLGE2R1QIwEzOn0VR1JYhL7KTvYuTE9PBxv6LQv3Xxb8pRW9n6EX4555B9P4/bH/ll9UAAGtKXpstf9iSqwDoXAeAxt0/bMZ7AFCW963j8hf50BXzkiaRZLva2ubn59sI+FwbRUF/1/90+Bv64ns2iu1+Lw/Dh5/CkWZKGIq6cbMys6RiRm42h8tnMP88xP848K/PYR3BT+GL+SJ5RLR8ygSiVHm7RTyBRJAlYghE/6mJ/zDsT5qZa7mojR8BLdEGqFymAeTnfoCiEgGSsFu+Av3et2B8NFDcvBj90Zm5/yzo33eFyxSPXEHq5zh2RCSDKxXnzawpriVAAwJQBjSgCfSAETAHTOAAnIEb8AS+YB4IBZEgDiwGXJAGhEAM8sEysBoUg1KwBewA1aAONIJm0AoOg05wDJwG58AlcAXcAPeADIyAp2ASvALTEARhITJEhTQhfcgEsoIcIBY0F/KFgqEIKA5KglIhESSFlkFroVKoHKqG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K0b1R5vHHMaOjfuNX3my8MnI0+yn0xPFP6v+XPvM/Nl3v3j+0j8ZOznyXPz806+bXmi+2Pdy9sueqbCph6+Er6Zfl7zRfLP/Lett37uYd6PT+e+x7ys/WHzo/hj08f4n4adPvwHJ4vTiCmVuZHN0cmVhbQplbmRvYmoKNiAwIG9iagpbL0lDQ0Jhc2VkIDUgMCBSXQplbmRvYmoKNyAwIG9iago8PAogIC9UeXBlIC9NZXRhZGF0YQogIC9TdWJ0eXBlIC9YTUwKICAvTGVuZ3RoIDEzIDAgUgo+PgpzdHJlYW0KPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz48eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj4KPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KPHJkZjpEZXNjcmlwdGlvbiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHJkZjphYm91dD0iIj4KPGRjOmxhbmd1YWdlPmVuPC9kYzpsYW5ndWFnZT4KPGRjOmZvcm1hdD5hcHBsaWNhdGlvbi9wZGY8L2RjOmZvcm1hdD4KPGRjOmRhdGU+MjAxNC0xMC0yOFQxODozNjoyMCswMTowMDwvZGM6ZGF0ZT4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24geG1sbnM6cGRmPSJodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvIiByZGY6YWJvdXQ9IiI+CjxwZGY6UERGVmVyc2lvbj4xLjQ8L3BkZjpQREZWZXJzaW9uPgo8cGRmOlByb2R1Y2VyPkFwYWNoZSBGT1AgVmVyc2lvbiAxLjE8L3BkZjpQcm9kdWNlcj4KPC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3JpcHRpb24geG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiByZGY6YWJvdXQ9IiI+Cjx4bXA6Q3JlYXRlRGF0ZT4yMDE0LTEwLTI4VDE4OjM2OjIwKzAxOjAwPC94bXA6Q3JlYXRlRGF0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OCAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago2MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDY3OS42MjkgMTE3LjE5IDY4OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNTkgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjI3OCA2NzkuNjI5IDU0Mi45NTggNjg5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA1OSAwIFIKL0ggL0kKCj4+CmVuZG9iago2MyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago2NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDY2Ny42MjkgMTUzLjgxMSA2NzcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDYzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjY1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4zMzggNjY3LjYyOSA1NDIuNjk4IDY3Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjMgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCA3MDAuOCBudWxsXQo+PgplbmRvYmoKNjcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjU1LjYyOSAxNzYuMjE2IDY2NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjYgMCBSCi9IIC9JCgo+PgplbmRvYmoKNjggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjMyMiA2NTUuNjI5IDU0Mi42ODIgNjY1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA2NiAwIFIKL0ggL0kKCj4+CmVuZG9iago2OSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyOCAwIFIgL1hZWiA3Mi4wIDQxMS4zNDYgbnVsbF0KPj4KZW5kb2JqCjcwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDY0My42MjkgMTk4Ljk0NiA2NTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDY5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjcxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4xNDIgNjQzLjYyOSA1NDIuNTAyIDY1My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNjkgMCBSCi9IIC9JCgo+PgplbmRvYmoKNzIgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjggMCBSIC9YWVogNzIuMCAxMDkuODkyIG51bGxdCj4+CmVuZG9iago3MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMjguMCA2MzEuNjI5IDI1MS4zOTMgNjQxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3MiAwIFIKL0ggL0kKCj4+CmVuZG9iago3NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzUuODU5IDYzMS42MjkgNTQyLjIxOSA2NDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDcyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjc1IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzMxIDAgUiAvWFlaIDcyLjAgNjU3LjIgbnVsbF0KPj4KZW5kb2JqCjc2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEyOC4wIDYxOS42MjkgMjA5LjAyMiA2MjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDc1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjc3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4yMTggNjE5LjYyOSA1NDIuNTc4IDYyOS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNzUgMCBSCi9IIC9JCgo+PgplbmRvYmoKNzggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzEgMCBSIC9YWVogNzIuMCA2MDUuMiBudWxsXQo+PgplbmRvYmoKNzkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjA3LjYyOSAzMTMuMzI3IDYxNy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgNzggMCBSCi9IIC9JCgo+PgplbmRvYmoKODAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjU4OCA2MDcuNjI5IDU0MS45NDggNjE3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA3OCAwIFIKL0ggL0kKCj4+CmVuZG9iago4MSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszNCAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iago4MiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDU5NS42MjkgMjA0LjkyOSA2MDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDgxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjgzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNS45NTYgNTk1LjYyOSA1NDIuMzE2IDYwNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODEgMCBSCi9IIC9JCgo+PgplbmRvYmoKODQgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzQgMCBSIC9YWVogNzIuMCA3MDAuOCBudWxsXQo+PgplbmRvYmoKODUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNTgzLjYyOSAxNzMuMzgzIDU5My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgODQgMCBSCi9IIC9JCgo+PgplbmRvYmoKODYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjM0NCA1ODMuNjI5IDU0Mi43MDQgNTkzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4NCAwIFIKL0ggL0kKCj4+CmVuZG9iago4NyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFszNCAwIFIgL1hZWiA3Mi4wIDYyNi40IG51bGxdCj4+CmVuZG9iago4OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1NzEuNjI5IDE2NC44ODggNTgxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA4NyAwIFIKL0ggL0kKCj4+CmVuZG9iago4OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuNTgzIDU3MS42MjkgNTQyLjk0MyA1ODEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDg3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjkwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzM0IDAgUiAvWFlaIDcyLjAgNTU4LjAgbnVsbF0KPj4KZW5kb2JqCjkxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDU1OS42MjkgMjA5LjUwMyA1NjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDkwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjkyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNi4wNiA1NTkuNjI5IDU0Mi40MiA1NjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDkwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjkzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzM0IDAgUiAvWFlaIDcyLjAgNDg5LjYgbnVsbF0KPj4KZW5kb2JqCjk0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDU0Ny42MjkgMjIxLjcxOSA1NTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDkzIDAgUgovSCAvSQoKPj4KZW5kb2JqCjk1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNS45NjIgNTQ3LjYyOSA1NDIuMzIyIDU1Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgOTMgMCBSCi9IIC9JCgo+PgplbmRvYmoKOTYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzcgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKOTcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgODAuMCA1MzUuNjI5IDE0OS4zNjcgNTQ1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5NiAwIFIKL0ggL0kKCj4+CmVuZG9iago5OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuMzcyIDUzNS42MjkgNTQyLjczMiA1NDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDk2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjk5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzM3IDAgUiAvWFlaIDcyLjAgNjc4LjggbnVsbF0KPj4KZW5kb2JqCjEwMCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA1MjMuNjI5IDE5OC45NTYgNTMzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5OSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjE0MiA1MjMuNjI5IDU0Mi41MDIgNTMzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSA5OSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDIgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMzcgMCBSIC9YWVogNzIuMCA2MDIuNCBudWxsXQo+PgplbmRvYmoKMTAzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDUxMS42MjkgMTk0LjU5MSA1MjEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEwMiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM2LjE3OCA1MTEuNjI5IDU0Mi41MzggNTIxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMDIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTA1IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjEwNiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDQ5OS42MjkgMTYxLjc2IDUwOS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTA1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjEwNyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzYuMjc4IDQ5OS42MjkgNTQyLjYzOCA1MDkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEwNSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMDggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDMgMCBSIC9YWVogNzIuMCA2NjcuMjYxIG51bGxdCj4+CmVuZG9iagoxMDkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDg3LjYyOSAyNTYuMTQ1IDQ5Ny42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTA4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjExMCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzUuNjg4IDQ4Ny42MjkgNTQyLjA0OCA0OTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEwOCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTEgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDMgMCBSIC9YWVogNzIuMCA2MDQuMDU5IG51bGxdCj4+CmVuZG9iagoxMTIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNDc1LjYyOSAyNzguNjQ2IDQ4NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTExIDAgUgovSCAvSQoKPj4KZW5kb2JqCjExMyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzUuNTEgNDc1LjYyOSA1NDEuODcgNDg1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTE0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgNTQwLjg1NyBudWxsXQo+PgplbmRvYmoKMTE1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQ2My42MjkgMjc5LjI1NCA0NzMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExNCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjUwNSA0NjMuNjI5IDU0MS44NjUgNDczLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTE3IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgNDY1LjY1NSBudWxsXQo+PgplbmRvYmoKMTE4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQ1MS42MjkgMjg2LjQ5NSA0NjEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDExNyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMTkgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjQ0OCA0NTEuNjI5IDU0MS44MDggNDYxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMTcgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTIwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgMzkwLjQ1MyBudWxsXQo+PgplbmRvYmoKMTIxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQzOS42MjkgMjk1LjkyOCA0NDkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyMCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjM3MyA0MzkuNjI5IDU0MS43MzMgNDQ5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTIzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgMzE1LjI1MSBudWxsXQo+PgplbmRvYmoKMTI0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQyNy42MjkgMjYxLjY4MyA0MzcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyMyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjY0NCA0MjcuNjI5IDU0Mi4wMDQgNDM3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTI2IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgMjQwLjA0OSBudWxsXQo+PgplbmRvYmoKMTI3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQxNS42MjkgMzI5LjI2NiA0MjUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyNiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMjggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM1LjEwOSA0MTUuNjI5IDU0MS40NjkgNDI1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTI5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgMTc2Ljg0NyBudWxsXQo+PgplbmRvYmoKMTMwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDQwMy42MjkgNDEyLjM5NiA0MTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEyOSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjQ0OSA0MDMuNjI5IDU0MC44MDkgNDEzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMjkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTMyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQzIDAgUiAvWFlaIDcyLjAgMTEzLjY0NSBudWxsXQo+PgplbmRvYmoKMTMzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDM5MS42MjkgMzUzLjMzIDQwMS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTMyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjEzNCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuOTE4IDM5MS42MjkgNTQxLjI3OCA0MDEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzMiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzUgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDYgMCBSIC9YWVogNzIuMCA3MDguMCBudWxsXQo+PgplbmRvYmoKMTM2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDM3OS42MjkgMzg2LjgwOCAzODkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzNSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxMzcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjY1MyAzNzkuNjI5IDU0MS4wMTMgMzg5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMzUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTM4IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ2IDAgUiAvWFlaIDcyLjAgNjMzLjY0MSBudWxsXQo+PgplbmRvYmoKMTM5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDM2Ny42MjkgNDEzLjMxMyAzNzcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDEzOCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNDAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjQ0MyAzNjcuNjI5IDU0MC44MDMgMzc3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxMzggMCBSCi9IIC9JCgo+PgplbmRvYmoKMTQxIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ2IDAgUiAvWFlaIDcyLjAgNTU5LjI4MiBudWxsXQo+PgplbmRvYmoKMTQyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDM1NS42MjkgNDI2LjY0IDM2NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTQxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjE0MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuMzM3IDM1NS42MjkgNTQwLjY5NyAzNjUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE0MSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNDQgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDYgMCBSIC9YWVogNzIuMCA0NzIuOTIzIG51bGxdCj4+CmVuZG9iagoxNDUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMzQzLjYyOSA0MTEuOTQ4IDM1My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTQ0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE0NiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNDUzIDM0My42MjkgNTQwLjgxMyAzNTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE0NCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNDcgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbNDYgMCBSIC9YWVogNzIuMCAzOTguNTY0IG51bGxdCj4+CmVuZG9iagoxNDggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgMzMxLjYyOSAzOTYuNDEgMzQxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNDcgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTQ5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC41NzcgMzMxLjYyOSA1NDAuOTM3IDM0MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTQ3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE1MCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs0NiAwIFIgL1hZWiA3Mi4wIDMyNC4yMDUgbnVsbF0KPj4KZW5kb2JqCjE1MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAzMTkuNjI5IDM5MS4yMyAzMjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE1MCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNTIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjYxNyAzMTkuNjI5IDU0MC45NzcgMzI5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNTAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTUzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ2IDAgUiAvWFlaIDcyLjAgMjQ5Ljg0NiBudWxsXQo+PgplbmRvYmoKMTU0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDMwNy42MjkgNDQ0LjA5MSAzMTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE1MyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNTUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjE5OSAzMDcuNjI5IDU0MC41NTkgMzE3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNTMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTU2IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ2IDAgUiAvWFlaIDcyLjAgMTg3LjQ4NyBudWxsXQo+PgplbmRvYmoKMTU3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI5NS42MjkgNDE5LjI1OSAzMDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE1NiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNTggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjM5NSAyOTUuNjI5IDU0MC43NTUgMzA1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNTYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTU5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ2IDAgUiAvWFlaIDcyLjAgMTEzLjEyOCBudWxsXQo+PgplbmRvYmoKMTYwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI4My42MjkgMzg1Ljk4MSAyOTMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE1OSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNjEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjY1OSAyODMuNjI5IDU0MS4wMTkgMjkzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNTkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTYyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ5IDAgUiAvWFlaIDcyLjAgNjk2LjAgbnVsbF0KPj4KZW5kb2JqCjE2MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAyNzEuNjI5IDQwOC44NCAyODEuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE2MiAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNjQgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjQ3OCAyNzEuNjI5IDU0MC44MzggMjgxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNjIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTY1IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ5IDAgUiAvWFlaIDcyLjAgNjE4LjAwMSBudWxsXQo+PgplbmRvYmoKMTY2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI1OS42MjkgNDIyLjM0NyAyNjkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE2NSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNjcgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjM3MSAyNTkuNjI5IDU0MC43MzEgMjY5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNjUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTY4IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ5IDAgUiAvWFlaIDcyLjAgNTQwLjAwMiBudWxsXQo+PgplbmRvYmoKMTY5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDI0Ny42MjkgMzgzLjIwMiAyNTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE2OCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNzAgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjY4MSAyNDcuNjI5IDU0MS4wNDEgMjU3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNjggMCBSCi9IIC9JCgo+PgplbmRvYmoKMTcxIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ5IDAgUiAvWFlaIDcyLjAgNDc0LjAwMyBudWxsXQo+PgplbmRvYmoKMTcyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDIzNS42MjkgMzk2LjgyOCAyNDUuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE3MSAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNzMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjU3MyAyMzUuNjI5IDU0MC45MzMgMjQ1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNzEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTc0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ5IDAgUiAvWFlaIDcyLjAgMzk2LjAwNCBudWxsXQo+PgplbmRvYmoKMTc1IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDIyMy42MjkgMzgzLjM0MSAyMzMuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE3NCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxNzYgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjY4IDIyMy42MjkgNTQxLjA0IDIzMy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTc0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE3NyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs0OSAwIFIgL1hZWiA3Mi4wIDMxOC4wMDUgbnVsbF0KPj4KZW5kb2JqCjE3OCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAyMTEuNjI5IDQzMS4zOTEgMjIxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxNzcgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTc5IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC4yOTkgMjExLjYyOSA1NDAuNjU5IDIyMS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTc3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE4MCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs0OSAwIFIgL1hZWiA3Mi4wIDI0MC4wMDYgbnVsbF0KPj4KZW5kb2JqCjE4MSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxOTkuNjI5IDQyMS41NSAyMDkuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE4MCAwIFIKL0ggL0kKCj4+CmVuZG9iagoxODIgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjM3NyAxOTkuNjI5IDU0MC43MzcgMjA5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxODAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTgzIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzQ5IDAgUiAvWFlaIDcyLjAgMTUwLjAwNyBudWxsXQo+PgplbmRvYmoKMTg0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDE4Ny42MjkgNDUwLjc4NCAxOTcuNjE5IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDE4MyAwIFIKL0ggL0kKCj4+CmVuZG9iagoxODUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTM0LjE0NSAxODcuNjI5IDU0MC41MDUgMTk3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxODMgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTg2IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzUyIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjE4NyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxNzUuNjI5IDQxOS41OTggMTg1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxODYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTg4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC4zOTMgMTc1LjYyOSA1NDAuNzUzIDE4NS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTg2IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE4OSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MiAwIFIgL1hZWiA3Mi4wIDY2MC45MjggbnVsbF0KPj4KZW5kb2JqCjE5MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxNjMuNjI5IDM5My42NDEgMTczLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxODkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTkxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC41OTkgMTYzLjYyOSA1NDAuOTU5IDE3My42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTg5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE5MiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MiAwIFIgL1hZWiA3Mi4wIDU4My42NTUgbnVsbF0KPj4KZW5kb2JqCjE5MyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxNTEuNjI5IDQzMS40MjEgMTYxLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxOTIgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTk0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC4yOTkgMTUxLjYyOSA1NDAuNjU5IDE2MS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTkyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjE5NSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MiAwIFIgL1hZWiA3Mi4wIDUwNi4zODIgbnVsbF0KPj4KZW5kb2JqCjE5NiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxMzkuNjI5IDM4MC45NjEgMTQ5LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxOTUgMCBSCi9IIC9JCgo+PgplbmRvYmoKMTk3IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC42OTkgMTM5LjYyOSA1NDEuMDU5IDE0OS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTk1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjE5OCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MiAwIFIgL1hZWiA3Mi4wIDQyOS4xMDkgbnVsbF0KPj4KZW5kb2JqCjE5OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxMjcuNjI5IDQxNy44ODUgMTM3LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAxOTggMCBSCi9IIC9JCgo+PgplbmRvYmoKMjAwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC40MDcgMTI3LjYyOSA1NDAuNzY3IDEzNy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMTk4IDAgUgovSCAvSQoKPj4KZW5kb2JqCjIwMSAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MiAwIFIgL1hZWiA3Mi4wIDM1MS44MzYgbnVsbF0KPj4KZW5kb2JqCjIwMiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxMTUuNjI5IDQ0My44MDIgMTI1LjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyMDEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjAzIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNC4yMDEgMTE1LjYyOSA1NDAuNTYxIDEyNS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjAxIDAgUgovSCAvSQoKPj4KZW5kb2JqCjIwNCAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MiAwIFIgL1hZWiA3Mi4wIDI3NC41NjMgbnVsbF0KPj4KZW5kb2JqCjIwNSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCAxMDMuNjI5IDM0MC41NzQgMTEzLjYxOSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyMDQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjA2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzNS43MjUgMTAzLjYyOSA1NDIuMDg1IDExMy42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjA0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjIwNyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1MiAwIFIgL1hZWiA3Mi4wIDE2MS4yOSBudWxsXQo+PgplbmRvYmoKMjA4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDkxLjYyOSAzMzQuNjc3IDEwMS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjA3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjIwOSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzUuNzcxIDkxLjYyOSA1NDIuMTMxIDEwMS42MTkgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjA3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjIxMCAwIG9iago8PCAv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VkXvRqlvNciY8T3v1PYCiG1PcpXolcJr1H3xVe2W7RtZOx0yFxvATiy0dAKJEqvF5khpVmQ6klVCpWiUqp61pMjXSt1Cq5ZpnkrjBYmIr6KKJ5xFt1fKaxlGS7GCJdVmrWM86qaj/G86xmK8HDAkOovrfwhZf0Puht9UV/9ZCmVuZHN0cmVhbQplbmRvYmoKMjM2IDAgb2JqClsKMjM1IDAgUgoyMzggMCBSCl0KZW5kb2JqCjIzMyAwIG9iago8PAogIC9SZXNvdXJjZXMgMyAwIFIKICAvVHlwZSAvUGFnZQogIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCiAgL0Nyb3BCb3ggWzAgMCA2MTIgNzkyXQogIC9CbGVlZEJveCBbMCAwIDYxMiA3OTJdCiAgL1RyaW1Cb3ggWzAgMCA2MTIgNzkyXQogIC9QYXJlbnQgMSAwIFIKICAvQW5ub3RzIDIzNiAwIFIKICAvQ29udGVudHMgMjM5IDAgUgo+PgoKZW5kb2JqCjI0MCAwIG9iago3MDEKZW5kb2JqCjI0MiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFs1NSAwIFIgL1hZWiA3Mi4wIDYxOS42IG51bGxdCj4+CmVuZG9iagoyNDMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNzA5LjAwNSAzODEuNjk4IDcxOC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjQyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjI0NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzQuNjkzIDcwOS4wMDUgNTQxLjA1MyA3MTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI0MiAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNDYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjE1IDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjI0NyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDY5Ny4wMDUgMTI1LjI1MyA3MDYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI0NiAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNDggMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTMwLjE0NCA2OTcuMDA1IDU0Mi44NjQgNzA2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNDYgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjQ5IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIxNSAwIFIgL1hZWiA3Mi4wIDYzOS41MTQgbnVsbF0KPj4KZW5kb2JqCjI1MCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2ODUuMDA1IDIzMy45NTQgNjk0Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNDkgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjUxIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOS44MDggNjg1LjAwNSA1NDIuNTI4IDY5NC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjQ5IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI1MiAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMTUgMCBSIC9YWVogNzIuMCA0NzUuMjY3IG51bGxdCj4+CmVuZG9iagoyNTMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjczLjAwNSAyMjcuOTM5IDY4Mi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjUyIDAgUgovSCAvSQoKPj4KZW5kb2JqCjI1NCAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjkuODU2IDY3My4wMDUgNTQyLjU3NiA2ODIuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI1MiAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNTUgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjE1IDAgUiAvWFlaIDcyLjAgMzE3LjE2NiBudWxsXQo+PgplbmRvYmoKMjU2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDEwNC4wIDY2MS4wMDUgMzM5LjQ0IDY3MC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjU1IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI1NyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjguOTcyIDY2MS4wMDUgNTQxLjY5MiA2NzAuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI1NSAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNTggMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjE4IDAgUiAvWFlaIDcyLjAgNjY0LjAgbnVsbF0KPj4KZW5kb2JqCjI1OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyAxMDQuMCA2NDkuMDA1IDI4My45MDggNjU4Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNTggMCBSCi9IIC9JCgo+PgplbmRvYmoKMjYwIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOS4wNiA2NDkuMDA1IDU0MS43OCA2NTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI1OCAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNjEgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjIxIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjI2MiAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA4MC4wIDYzNy4wMDUgMjYxLjYzMiA2NDYuOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI2MSAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNjMgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgNTI5LjEyNCA2MzcuMDA1IDU0MS44NDQgNjQ2Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNjEgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjY0IDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyNCAwIFIgL1hZWiA3Mi4wIDcyMC4wIG51bGxdCj4+CmVuZG9iagoyNjUgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgODAuMCA2MjUuMDA1IDEzMC4wODEgNjM0Ljk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNjQgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjY2IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUzMC4xMDggNjI1LjAwNSA1NDIuODI4IDYzNC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjY0IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI2NyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMjcgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKMjY4IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgNjEzLjAwNSAxMTkuMDM2IDYyMi45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjY3IDAgUgovSCAvSQoKPj4KZW5kb2JqCjI2OSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MzAuMTkgNjEzLjAwNSA1NDIuOTEgNjIyLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNjcgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjcwIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL0dvVG8KL0QgWzIyNyAwIFIgL1hZWiA3Mi4wIDY3OC44IG51bGxdCj4+CmVuZG9iagoyNzEgMCBvYmoKPDwgL1R5cGUgL0Fubm90Ci9TdWJ0eXBlIC9MaW5rCi9SZWN0IFsgMTA0LjAgNjAxLjAwNSAxNzEuODcgNjEwLjk5NSBdCi9DIFsgMCAwIDAgXQovQm9yZGVyIFsgMCAwIDAgXQovQSAyNzAgMCBSCi9IIC9JCgo+PgplbmRvYmoKMjcyIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDUyOS45NDYgNjAxLjAwNSA1NDIuNjY2IDYxMC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjcwIDAgUgovSCAvSQoKPj4KZW5kb2JqCjI3MyAwIG9iago8PCAvVHlwZSAvQWN0aW9uCi9TIC9Hb1RvCi9EIFsyMzAgMCBSIC9YWVogNzIuMCA3MjAuMCBudWxsXQo+PgplbmRvYmoKMjc0IDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovUmVjdCBbIDgwLjAgNTg5LjAwNSAxNTQuNjE4IDU5OC45OTUgXQovQyBbIDAgMCAwIF0KL0JvcmRlciBbIDAgMCAwIF0KL0EgMjczIDAgUgovSCAvSQoKPj4KZW5kb2JqCjI3NSAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1YnR5cGUgL0xpbmsKL1JlY3QgWyA1MjkuOTI0IDU4OS4wMDUgNTQyLjY0NCA1OTguOTk1IF0KL0MgWyAwIDAgMCBdCi9Cb3JkZXIgWyAwIDAgMCBdCi9BIDI3MyAwIFIKL0ggL0kKCj4+CmVuZG9iagoyNzYgMCBvYmoKPDwgL1R5cGUgL0FjdGlvbgovUyAvR29UbwovRCBbMjMzIDAgUiAvWFlaIDcyLjAgNzIwLjAgbnVsbF0KPj4KZW5kb2JqCjI3NyAwIG9iago8PCAvVHlwZSAvQW5ub3QKL1N1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N+S2h6Te0GQ2SuoNxe1ZUm8obpeybyhur5J6m7nt5voqjk8e9s+zwTabqDYPc+onZ9uS3D//+uUP/r//BxZNsVcKZW5kc3RyZWFtCmVuZG9iagoyNDQgMCBvYmoKWwoyNDMgMCBSCjI0NSAwIFIKMjQ3IDAgUgoyNDggMCBSCjI1MCAwIFIKMjUxIDAgUgoyNTMgMCBSCjI1NCAwIFIKMjU2IDAgUgoyNTcgMCBSCjI1OSAwIFIKMjYwIDAgUgoyNjIgMCBSCjI2MyAwIFIKMjY1IDAgUgoyNjYgMCBSCjI2OCAwIFIKMjY5IDAgUgoyNzEgMCBSCjI3MiAwIFIKMjc0IDAgUgoyNzUgMCBSCjI3NyAwIFIKMjc4IDAgUgoyODAgMCBSCjI4MSAwIFIKXQplbmRvYmoKMjQxIDAgb2JqCjw8CiAgL1Jlc291cmNlcyAzIDAgUgogIC9UeXBlIC9QYWdlCiAgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KICAvQ3JvcEJveCBbMCAwIDYxMiA3OTJdCiAgL0JsZWVkQm94IFswIDAgNjEyIDc5Ml0KICAvVHJpbUJveCBbMCAwIDYxMiA3OTJdCiAgL1BhcmVudCAxIDAgUgogIC9Bbm5vdHMgMjQ0IDAgUgogIC9Db250ZW50cyAyODIgMCBSCj4+CgplbmRvYmoKMjgzIDAgb2JqCjkyOTQKZW5kb2JqCjI4NCAwIG9iago8PAogIC9UeXBlIC9Gb250RGVzY3JpcHRvcgogIC9Gb250TmFtZSAvRUFBQUFBK0RlamFWdVNhbnNNb25vCiAgL0ZvbnRCQm94IFstNTU3IC0zNzQgNzE3IDEwNDFdCiAgL0ZsYWdzIDM1CiAgL0NhcEhlaWdodCA3MjkKICAvQXNjZW50IDEwNDEKICAvRGVzY2VudCAtMzc0CiAgL0l0YWxpY0FuZ2xlIDAKICAvU3RlbVYgMAogIC9NaXNzaW5nV2lkdGggNTAwCiAgL0ZvbnRGaWxlMiAyODUgMCBSCiAgL0NJRFNldCAyODYgMCBSCj4+CgplbmRvYmoKMjg1IDAgb2JqCjw8CiAgL0xlbmd0aDEgMTYxNDgKICAvTGVuZ3RoIDMwMiAwIFIKICAvRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeJzdewt4FNXd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OSAwIFIgNTIgMCBSIDU1IDAgUiAyMTUgMCBSIDIxOCAwIFIgMjIxIDAgUiAyMjQgMCBSIDIyNyAwIFIgMjMwIDAgUiAyMzMgMCBSIF0gPj4KZW5kb2JqCjIgMCBvYmoKPDwKICAvVHlwZSAvQ2F0YWxvZwogIC9QYWdlcyAxIDAgUgogIC9MYW5nIChlbikKICAvTWV0YWRhdGEgNyAwIFIKICAvUGFnZUxhYmVscyA5IDAgUgo+PgoKZW5kb2JqCjMgMCBvYmoKPDwKICAvRm9udCA8PAogIC9GMTkgMjg3IDAgUgogIC9GMTUgMjkzIDAgUgogIC9GMTYgMjk5IDAgUgo+PgoKICAvUHJvY1NldCBbL1BERiAvSW1hZ2VCIC9JbWFnZUMgL1RleHRdCiAgL1hPYmplY3QgPDwKICAvSW0xIDEwIDAgUgogIC9JbTIgMTEgMCBSCiAgL0ltMyAxOSAwIFIKICAvSW00IDIwIDAgUgo+PgoKICAvQ29sb3JTcGFjZSA8PCAvRGVmYXVsdFJHQiA2IDAgUiA+PgoKPj4KCmVuZG9iago5IDAgb2JqCjw8IC9OdW1zIFswIDw8IC9QICgxKSA+PgogMSA8PCAvUCAoaWkpID4+CiAyIDw8IC9QIChpaWkpID4+CiAzIDw8IC9QIChpdikgPj4KIDQgPDwgL1AgKDEpID4+CiA1IDw8IC9QICgyKSA+PgogNiA8PCAvUCAoMykgPj4KIDcgPDwgL1AgKDQpID4+CiA4IDw8IC9QICg1KSA+PgogOSA8PCAvUCAoNikgPj4KIDEwIDw8IC9QICg3KSA+PgogMTEgPDwgL1AgKDgpID4+CiAxMiA8PCAvUCAoOSkgPj4KIDEzIDw8IC9QICgxMCkgPj4KIDE0IDw8IC9QICgxMSkgPj4KIDE1IDw8IC9QICgxMikgPj4KIDE2IDw8IC9QICgxMykgPj4KIDE3IDw8IC9QICgxNCkgPj4KIDE4IDw8IC9QICgxNSkgPj4KIDE5IDw8IC9QICgxNikgPj4KXSA+PgoKZW5kb2JqCnhyZWYKMCAzMTEKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMjUwMDg4IDAwMDAwIG4gCjAwMDAyNTAyODggMDAwMDAgbiAKMDAwMDI1MDM5MyAwMDAwMCBuIAowMDAwMDAwMDE1IDAwMDAwIG4gCjAwMDAwMDAxNDUgMDAwMDAgbiAKMDAwMDAwMjgyMyAwMDAwMCBuIAowMDAwMDAyODU2IDAwMDAwIG4gCjAwMDAxMDYyMDYgMDAwMDAgbiAKMDAwMDI1MDYyOCAwMDAwMCBuIAowMDAwMDAzODA0IDAwMDAwIG4gCjAwMDAwNTIzMzEgMDAwMDAgbiAKMDAwMDEwNTU5MyAwMDAwMCBuIAowMDAwMTA1NjE0IDAwMDAwIG4gCjAwMDAxMDU2MzQgMDAwMDAgbiAKMDAwMDEwNTY1NiAwMDAwMCBuIAowMDAwMTA1Njc4IDAwMDAwIG4gCjAwMDAxMDYzOTggMDAwMDAgbiAKMDAwMDEyMDc5OSAwMDAwMCBuIAowMDAwMTA2NDE4IDAwMDAwIG4gCjAwMDAxMTI1ODkgMDAwMDAgbiAKMDAwMDExOTc2OSAwMDAwMCBuIAowMDAwMTE5NzkwIDAwMDAwIG4gCjAwMDAxMTk4MTEgMDAwMDAgbiAKMDAwMDExOTg5NiAwMDAwMCBuIAowMDAwMTIwNzcyIDAwMDAwIG4gCjAwMDAxMjAwMzIgMDAwMDAgbiAKMDAwMDEyMTAwOSAwMDAwMCBuIAowMDAwMTIyNjkwIDAwMDAwIG4gCjAwMDAxMjEwMjkgMDAwMDAgbiAKMDAwMDEyMjg4MyAwMDAwMCBuIAowMDAwMTI0MTIxIDAwMDAwIG4gCjAwMDAxMjI5MDQgMDAwMDAgbiAKMDAwMDEyNDMxNCAwMDAwMCBuIAowMDAwMTI1MTk5IDAwMDAwIG4gCjAwMDAxMjQzMzUgMDAwMDAgbiAKMDAwMDEyNTM5MiAwMDAwMCBuIAowMDAwMTI2OTIzIDAwMDAwIG4gCjAwMDAxMjU0MTIgMDAwMDAgbiAKMDAwMDEyNTUwNyAwMDAwMCBuIAowMDAwMTI2ODk2IDAwMDAwIG4gCjAwMDAxMjU2NDMgMDAwMDAgbiAKMDAwMDEyNzEzMyAwMDAwMCBuIAowMDAwMTI4OTE5IDAwMDAwIG4gCjAwMDAxMjcxNTQgMDAwMDAgbiAKMDAwMDEyOTExMiAwMDAwMCBuIAowMDAwMTMwOTk3IDAwMDAwIG4gCjAwMDAxMjkxMzMgMDAwMDAgbiAKMDAwMDEzMTE5MCAwMDAwMCBuIAowMDAwMTMzMDMyIDAwMDAwIG4gCjAwMDAxMzEyMTEgMDAwMDAgbiAKMDAwMDEzMzIyNSAwMDAwMCBuIAowMDAwMTM1MjM0IDAwMDAwIG4gCjAwMDAxMzMyNDYgMDAwMDAgbiAKMDAwMDEzNTQyNyAwMDAwMCBuIAowMDAwMTM2NTQ2IDAwMDAwIG4gCjAwMDAxMzU0NDggMDAwMDAgbiAKMDAwMDEzNjczOSAwMDAwMCBuIAowMDAwMTc5MjYzIDAwMDAwIG4gCjAwMDAxMzY3NjAgMDAwMDAgbiAKMDAwMDEzNjgzOCAwMDAwMCBuIAowMDAwMTc4NDUzIDAwMDAwIG4gCjAwMDAxMzY5NzQgMDAwMDAgbiAKMDAwMDEzNzExNCAwMDAwMCBuIAowMDAwMTM3MTkyIDAwMDAwIG4gCjAwMDAxMzczMjkgMDAwMDAgbiAKMDAwMDEzNzQ2OSAwMDAwMCBuIAowMDAwMTM3NTQ3IDAwMDAwIG4gCjAwMDAxMzc2ODUgMDAwMDAgbiAKMDAwMDEzNzgyNSAwMDAwMCBuIAowMDAwMTM3OTA1IDAwMDAwIG4gCjAwMDAxMzgwNDMgMDAwMDAgbiAKMDAwMDEzODE4MyAwMDAwMCBuIAowMDAwMTM4MjYzIDAwMDAwIG4gCjAwMDAxMzg0MDEgMDAwMDAgbiAKMDAwMDEzODU0MSAwMDAwMCBuIAowMDAwMTM4NjE5IDAwMDAwIG4gCjAwMDAxMzg3NTcgMDAwMDAgbiAKMDAwMDEzODg5NyAwMDAwMCBuIAowMDAwMTM4OTc1IDAwMDAwIG4gCjAwMDAxMzkxMTMgMDAwMDAgbiAKMDAwMDEzOTI1MyAwMDAwMCBuIAowMDAwMTM5MzMxIDAwMDAwIG4gCjAwMDAxMzk0NjggMDAwMDAgbiAKMDAwMDEzOTYwOCAwMDAwMCBuIAowMDAwMTM5Njg2IDAwMDAwIG4gCjAwMDAxMzk4MjQgMDAwMDAgbiAKMDAwMDEzOTk2NCAwMDAwMCBuIAowMDAwMTQwMDQyIDAwMDAwIG4gCjAwMDAxNDAxODAgMDAwMDAgbiAKMDAwMDE0MDMyMCAwMDAwMCBuIAowMDAwMTQwMzk4IDAwMDAwIG4gCjAwMDAxNDA1MzYgMDAwMDAgbiAKMDAwMDE0MDY3NCAwMDAwMCBuIAowMDAwMTQwNzUyIDAwMDAwIG4gCjAwMDAxNDA4OTAgMDAwMDAgbiAKMDAwMDE0MTAzMCAwMDAwMCBuIAowMDAwMTQxMTA4IDAwMDAwIG4gCjAwMDAxNDEyNDUgMDAwMDAgbiAKMDAwMDE0MTM4NSAwMDAwMCBuIAowMDAwMTQxNDYzIDAwMDAwIG4gCjAwMDAxNDE2MDIgMDAwMDAgbiAKMDAwMDE0MTc0MyAwMDAwMCBuIAowMDAwMTQxODIyIDAwMDAwIG4gCjAwMDAxNDE5NjIgMDAwMDAgbiAKMDAwMDE0MjEwNCAwMDAwMCBuIAowMDAwMTQyMTgzIDAwMDAwIG4gCjAwMDAxNDIzMjEgMDAwMDAgbiAKMDAwMDE0MjQ2MyAwMDAwMCBuIAowMDAwMTQyNTQ0IDAwMDAwIG4gCjAwMDAxNDI2ODQgMDAwMDAgbiAKMDAwMDE0MjgyNiAwMDAwMCBuIAowMDAwMTQyOTA3IDAwMDAwIG4gCjAwMDAxNDMwNDcgMDAwMDAgbiAKMDAwMDE0MzE4NyAwMDAwMCBuIAowMDAwMTQzMjY4IDAwMDAwIG4gCjAwMDAxNDM0MDggMDAwMDAgbiAKMDAwMDE0MzU1MCAwMDAwMCBuIAowMDAwMTQzNjMxIDAwMDAwIG4gCjAwMDAxNDM3NzEgMDAwMDAgbiAKMDAwMDE0MzkxMyAwMDAwMCBuIAowMDAwMTQzOTk0IDAwMDAwIG4gCjAwMDAxNDQxMzQgMDAwMDAgbiAKMDAwMDE0NDI3NiAwMDAwMCBuIAowMDAwMTQ0MzU3IDAwMDAwIG4gCjAwMDAxNDQ0OTcgMDAwMDAgbiAKMDAwMDE0NDYzOSAwMDAwMCBuIAowMDAwMTQ0NzIwIDAwMDAwIG4gCjAwMDAxNDQ4NjAgMDAwMDAgbiAKMDAwMDE0NTAwMiAwMDAwMCBuIAowMDAwMTQ1MDgzIDAwMDAwIG4gCjAwMDAxNDUyMjMgMDAwMDAgbiAKMDAwMDE0NTM2NSAwMDAwMCBuIAowMDAwMTQ1NDQ2IDAwMDAwIG4gCjAwMDAxNDU1ODUgMDAwMDAgbiAKMDAwMDE0NTcyNyAwMDAwMCBuIAowMDAwMTQ1ODA2IDAwMDAwIG4gCjAwMDAxNDU5NDYgMDAwMDAgbiAKMDAwMDE0NjA4OCAwMDAwMCBuIAowMDAwMTQ2MTY5IDAwMDAwIG4gCjAwMDAxNDYzMDkgMDAwMDAgbiAKMDAwMDE0NjQ1MSAwMDAwMCBuIAowMDAwMTQ2NTMyIDAwMDAwIG4gCjAwMDAxNDY2NzEgMDAwMDAgbiAKMDAwMDE0NjgxMyAwMDAwMCBuIAowMDAwMTQ2ODk0IDAwMDAwIG4gCjAwMDAxNDcwMzQgMDAwMDAgbiAKMDAwMDE0NzE3NiAwMDAwMCBuIAowMDAwMTQ3MjU3IDAwMDAwIG4gCjAwMDAxNDczOTYgMDAwMDAgbiAKMDAwMDE0NzUzOCAwMDAwMCBuIAowMDAwMTQ3NjE5IDAwMDAwIG4gCjAwMDAxNDc3NTggMDAwMDAgbiAKMDAwMDE0NzkwMCAwMDAwMCBuIAowMDAwMTQ3OTgxIDAwMDAwIG4gCjAwMDAxNDgxMjEgMDAwMDAgbiAKMDAwMDE0ODI2MyAwMDAwMCBuIAowMDAwMTQ4MzQ0IDAwMDAwIG4gCjAwMDAxNDg0ODQgMDAwMDAgbiAKMDAwMDE0ODYyNiAwMDAwMCBuIAowMDAwMTQ4NzA3IDAwMDAwIG4gCjAwMDAxNDg4NDcgMDAwMDAgbiAKMDAwMDE0ODk4OSAwMDAwMCBuIAowMDAwMTQ5MDY4IDAwMDAwIG4gCjAwMDAxNDkyMDcgMDAwMDAgbiAKMDAwMDE0OTM0OSAwMDAwMCBuIAowMDAwMTQ5NDMwIDAwMDAwIG4gCjAwMDAxNDk1NzAgMDAwMDAgbiAKMDAwMDE0OTcxMiAwMDAwMCBuIAowMDAwMTQ5NzkzIDAwMDAwIG4gCjAwMDAxNDk5MzMgMDAwMDAgbiAKMDAwMDE1MDA3NSAwMDAwMCBuIAowMDAwMTUwMTU2IDAwMDAwIG4gCjAwMDAxNTAyOTYgMDAwMDAgbiAKMDAwMDE1MDQzOCAwMDAwMCBuIAowMDAwMTUwNTE5IDAwMDAwIG4gCjAwMDAxNTA2NTkgMDAwMDAgbiAKMDAwMDE1MDc5OSAwMDAwMCBuIAowMDAwMTUwODgwIDAwMDAwIG4gCjAwMDAxNTEwMjAgMDAwMDAgbiAKMDAwMDE1MTE2MiAwMDAwMCBuIAowMDAwMTUxMjQzIDAwMDAwIG4gCjAwMDAxNTEzODIgMDAwMDAgbiAKMDAwMDE1MTUyNCAwMDAwMCBuIAowMDAwMTUxNjA1IDAwMDAwIG4gCjAwMDAxNTE3NDUgMDAwMDAgbiAKMDAwMDE1MTg4NyAwMDAwMCBuIAowMDAwMTUxOTY2IDAwMDAwIG4gCjAwMDAxNTIxMDYgMDAwMDAgbiAKMDAwMDE1MjI0OCAwMDAwMCBuIAowMDAwMTUyMzI5IDAwMDAwIG4gCjAwMDAxNTI0NjkgMDAwMDAgbiAKMDAwMDE1MjYxMSAwMDAwMCBuIAowMDAwMTUyNjkyIDAwMDAwIG4gCjAwMDAxNTI4MzIgMDAwMDAgbiAKMDAwMDE1Mjk3NCAwMDAwMCBuIAowMDAwMTUzMDU1IDAwMDAwIG4gCjAwMDAxNTMxOTUgMDAwMDAgbiAKMDAwMDE1MzMzNyAwMDAwMCBuIAowMDAwMTUzNDE4IDAwMDAwIG4gCjAwMDAxNTM1NTggMDAwMDAgbiAKMDAwMDE1MzcwMCAwMDAwMCBuIAowMDAwMTUzNzgxIDAwMDAwIG4gCjAwMDAxNTM5MjEgMDAwMDAgbiAKMDAwMDE1NDA2MyAwMDAwMCBuIAowMDAwMTU0MTQ0IDAwMDAwIG4gCjAwMDAxNTQyODQgMDAwMDAgbiAKMDAwMDE1NDQyNiAwMDAwMCBuIAowMDAwMTU0NTA2IDAwMDAwIG4gCjAwMDAxNTQ2NDUgMDAwMDAgbiAKMDAwMDE1NDc4NiAwMDAwMCBuIAowMDAwMTU0ODY1IDAwMDAwIG4gCjAwMDAxNTUwMDMgMDAwMDAgbiAKMDAwMDE1NTE0MyAwMDAwMCBuIAowMDAwMTc5NDc0IDAwMDAwIG4gCjAwMDAxODE1NDAgMDAwMDAgbiAKMDAwMDE3OTQ5NyAwMDAwMCBuIAowMDAwMTgxNzM1IDAwMDAwIG4gCjAwMDAxODM2NTMgMDAwMDAgbiAKMDAwMDE4MTc1NyAwMDAwMCBuIAowMDAwMTgzODQ4IDAwMDAwIG4gCjAwMDAxODUwNTIgMDAwMDAgbiAKMDAwMDE4Mzg3MCAwMDAwMCBuIAowMDAwMTg1MjQ3IDAwMDAwIG4gCjAwMDAxODYxODQgMDAwMDAgbiAKMDAwMDE4NTI2OSAwMDAwMCBuIAowMDAwMTg2Mzc5IDAwMDAwIG4gCjAwMDAxODcxNzcgMDAwMDAgbiAKMDAwMDE4NjQwMCAwMDAwMCBuIAowMDAwMTg3MzcyIDAwMDAwIG4gCjAwMDAxODg1OTQgMDAwMDAgbiAKMDAwMDE4NzM5MyAwMDAwMCBuIAowMDAwMTg4Nzg5IDAwMDAwIG4gCjAwMDAxOTAwODEgMDAwMDAgbiAKMDAwMDE4ODgxMSAwMDAwMCBuIAowMDAwMTg4ODk1IDAwMDAwIG4gCjAwMDAxOTAwNDQgMDAwMDAgbiAKMDAwMDE4OTAzNSAwMDAwMCBuIAowMDAwMTg5MTI1IDAwMDAwIG4gCjAwMDAxODkyNjUgMDAwMDAgbiAKMDAwMDE5MDI5NCAwMDAwMCBuIAowMDAwMjA0NjEyIDAwMDAwIG4gCjAwMDAxOTAzMTUgMDAwMDAgbiAKMDAwMDE5MDM5NCAwMDAwMCBuIAowMDAwMjA0MzgzIDAwMDAwIG4gCjAwMDAxOTA1MzQgMDAwMDAgbiAKMDAwMDE5MDY3NiAwMDAwMCBuIAowMDAwMTkwNzU2IDAwMDAwIG4gCjAwMDAxOTA4OTUgMDAwMDAgbiAKMDAwMDE5MTAzNyAwMDAwMCBuIAowMDAwMTkxMTE5IDAwMDAwIG4gCjAwMDAxOTEyNTkgMDAwMDAgbiAKMDAwMDE5MTQwMSAwMDAwMCBuIAowMDAwMTkxNDgzIDAwMDAwIG4gCjAwMDAxOTE2MjMgMDAwMDAgbiAKMDAwMDE5MTc2NSAwMDAwMCBuIAowMDAwMTkxODQ3IDAwMDAwIG4gCjAwMDAxOTE5ODYgMDAwMDAgbiAKMDAwMDE5MjEyOCAwMDAwMCBuIAowMDAwMTkyMjA4IDAwMDAwIG4gCjAwMDAxOTIzNDggMDAwMDAgbiAKMDAwMDE5MjQ4OCAwMDAwMCBuIAowMDAwMTkyNTY4IDAwMDAwIG4gCjAwMDAxOTI3MDcgMDAwMDAgbiAKMDAwMDE5Mjg0OSAwMDAwMCBuIAowMDAwMTkyOTI5IDAwMDAwIG4gCjAwMDAxOTMwNjggMDAwMDAgbiAKMDAwMDE5MzIxMCAwMDAwMCBuIAowMDAwMTkzMjkwIDAwMDAwIG4gCjAwMDAxOTM0MjkgMDAwMDAgbiAKMDAwMDE5MzU2OSAwMDAwMCBuIAowMDAwMTkzNjQ5IDAwMDAwIG4gCjAwMDAxOTM3ODggMDAwMDAgbiAKMDAwMDE5MzkzMCAwMDAwMCBuIAowMDAwMTk0MDEwIDAwMDAwIG4gCjAwMDAxOTQxNDkgMDAwMDAgbiAKMDAwMDE5NDI5MSAwMDAwMCBuIAowMDAwMTk0MzcxIDAwMDAwIG4gCjAwMDAxOTQ1MTAgMDAwMDAgbiAKMDAwMDE5NDY0OSAwMDAwMCBuIAowMDAwMTk0NzI5IDAwMDAwIG4gCjAwMDAxOTQ4NjkgMDAwMDAgbiAKMDAwMDE5NTAxMSAwMDAwMCBuIAowMDAwMjA0ODI1IDAwMDAwIG4gCjAwMDAyMDQ4NDcgMDAwMDAgbiAKMDAwMDIwNTExMCAwMDAwMCBuIAowMDAwMjE0MTgxIDAwMDAwIG4gCjAwMDAyMTQyNzkgMDAwMDAgbiAKMDAwMDIxNDQ0NCAwMDAwMCBuIAowMDAwMjE0ODAzIDAwMDAwIG4gCjAwMDAyMTUyNjAgMDAwMDAgbiAKMDAwMDIxNTUyMSAwMDAwMCBuIAowMDAwMjMyMzc5IDAwMDAwIG4gCjAwMDAyMzI0ODQgMDAwMDAgbiAKMDAwMDIzMjY0NSAwMDAwMCBuIAowMDAwMjMzMTk3IDAwMDAwIG4gCjAwMDAyMzM4NTQgMDAwMDAgbiAKMDAwMDIzNDEyMCAwMDAwMCBuIAowMDAwMjQ4NTU3IDAwMDAwIG4gCjAwMDAyNDg2NTcgMDAwMDAgbiAKMDAwMDI0ODgyMyAwMDAwMCBuIAowMDAwMjQ5MzEzIDAwMDAwIG4gCjAwMDAyNDk4OTcgMDAwMDAgbiAKMDAwMDI0OTkxOSAwMDAwMCBuIAowMDAwMjQ5OTM5IDAwMDAwIG4gCjAwMDAyNDk5NjAgMDAwMDAgbiAKMDAwMDI0OTk4MyAwMDAwMCBuIAowMDAwMjUwMDAzIDAwMDAwIG4gCjAwMDAyNTAwMjQgMDAwMDAgbiAKMDAwMDI1MDA0NyAwMDAwMCBuIAowMDAwMjUwMDY3IDAwMDAwIG4gCnRyYWlsZXIKPDwKICAvUm9vdCAyIDAgUgogIC9JbmZvIDQgMCBSCiAgL0lEIFs8NDRFMjI1NzBCMkY4QThCMzZGQzVDRDQ5MDk2QkIyODI+IDw0NEUyMjU3MEIyRjhBOEIzNkZDNUNENDkwOTZCQjI4Mj5dCiAgL1NpemUgMzExCj4+CnN0YXJ0eHJlZgoyNTA5OTkKJSVFT0YK