From unknown Thu Sep 11 14:35:11 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#41101 <41101@debbugs.gnu.org> To: bug#41101 <41101@debbugs.gnu.org> Subject: Status: FAIL: t/tags-lisp-space.sh Reply-To: bug#41101 <41101@debbugs.gnu.org> Date: Thu, 11 Sep 2025 21:35:11 +0000 retitle 41101 FAIL: t/tags-lisp-space.sh reassign 41101 automake submitter 41101 Hubert Viarouge severity 41101 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue May 05 17:36:00 2020 Received: (at submit) by debbugs.gnu.org; 5 May 2020 21:36:00 +0000 Received: from localhost ([127.0.0.1]:37771 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jW5EO-0001uQ-Ah for submit@debbugs.gnu.org; Tue, 05 May 2020 17:36:00 -0400 Received: from lists.gnu.org ([209.51.188.17]:44720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jW4IS-0000BM-D5 for submit@debbugs.gnu.org; Tue, 05 May 2020 16:36:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47344) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jW4IS-0004cQ-29 for bug-automake@gnu.org; Tue, 05 May 2020 16:36:08 -0400 Received: from smtp6-g21.free.fr ([212.27.42.6]:40014) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jW4HZ-000377-Rh for bug-automake@gnu.org; Tue, 05 May 2020 16:36:07 -0400 Received: from [IPv6:2a01:e35:2fba:7c00::33] (unknown [IPv6:2a01:e35:2fba:7c00::33]) (Authenticated sender: hviarouge) by smtp6-g21.free.fr (Postfix) with ESMTPSA id 75D0378038B for ; Tue, 5 May 2020 20:35:09 +0000 (UTC) To: bug-automake@gnu.org From: Hubert Viarouge Subject: FAIL: t/tags-lisp-space.sh Message-ID: Date: Tue, 5 May 2020 22:35:09 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------0962EA26158FB517BE9084E5" Content-Language: en-US Received-SPF: none client-ip=212.27.42.6; envelope-from=hviarouge@free.fr; helo=smtp6-g21.free.fr X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/05 16:35:10 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] X-Spam_score_int: -8 X-Spam_score: -0.9 X-Spam_bar: / X-Spam_report: (-0.9 / 5.0 requ) BAYES_00=-1.9, FORM_FRAUD=1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, T_FILL_THIS_FORM_SHORT=0.01, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 05 May 2020 17:35:59 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------0962EA26158FB517BE9084E5 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit ============================================================================ Testsuite summary for GNU Automake 1.16.2 ============================================================================ # TOTAL: 2915 # PASS: 2779 # SKIP: 96 # XFAIL: 39 # FAIL: 1 # XPASS: 0 # ERROR: 0 ============================================================================ See ./test-suite.log Please report to bug-automake@gnu.org ============================================================================ make[2]: *** [Makefile:3025: test-suite.log] Error 1 make[2] : on quitte le répertoire « /home/hv/ssd3/sources/automake-1.16.2 » make[1]: *** [Makefile:3133: check-TESTS] Error 2 make[1] : on quitte le répertoire « /home/hv/ssd3/sources/automake-1.16.2 » make: *** [Makefile:3373: check-am] Error 2 --------------0962EA26158FB517BE9084E5 Content-Type: text/x-log; name="test-suite.log" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test-suite.log" PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBHTlUgQXV0 b21ha2UgMS4xNi4yOiAuL3Rlc3Qtc3VpdGUubG9nCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KCiMgVE9UQUw6IDI5MTUKIyBQQVNTOiAgMjc3OQojIFNL SVA6ICA5NgojIFhGQUlMOiAzOQojIEZBSUw6ICAxCiMgWFBBU1M6IDAKIyBFUlJPUjogMAoK Li4gY29udGVudHM6OiA6ZGVwdGg6IDIKClNLSVA6IHQvZ2V0LXN5c2NvbmYKPT09PT09PT09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2Nv bDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9i aW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2 L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9T VE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVh YmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2dldC1zeXNjb25mLmRpcgorIHN0 PTAKKyB0ZXN0IC1kIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvLmdp dAorIHRlc3QgLWYgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9DaGFu Z2VMb2cKKyBhd2sgCiAgICBCRUdJTiB7IGZpcnN0ID0gMSB9CiAgICAoZmlyc3QgPT0gMSkg eyBwcmludDsgZmlyc3QgPSAwOyBuZXh0OyB9CiAgICAvXlteXHRdLyB7IGV4aXQoMCk7IH0K ICAgIHsgcHJpbnQgfQogICAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L0NoYW5nZUxvZwoyMDIwLTAzLTE2ICBKaW0gTWV5ZXJpbmcgIDxtZXllcmluZ0BmYi5jb20+ CgoJdmVyc2lvbiAxLjE2LjIKCgkqIGNvbmZpZ3VyZS5hYyAoQUNfSU5JVCk6IEJ1bXAgdmVy c2lvbiBudW1iZXIgdG8gMS4xNi4yLgoJKiBtNC9hbXZlcnNpb24ubTQ6IExpa2V3aXNlIChh dXRvLXVwZGF0ZWQgYnkgIm1ha2UgYm9vdHN0cmFwIikuCgkqIE5FV1M6IFJlY29yZCByZWxl YXNlIHZlcnNpb24uCgorIC91c3IvYmluL3BlcmwgLVYKU3VtbWFyeSBvZiBteSBwZXJsNSAo cmV2aXNpb24gNSB2ZXJzaW9uIDI0IHN1YnZlcnNpb24gMSkgY29uZmlndXJhdGlvbjoKICAg CiAgUGxhdGZvcm06CiAgICBvc25hbWU9bGludXgsIG9zdmVycz0zLjE2LjAsIGFyY2huYW1l PXg4Nl82NC1saW51eC1nbnUtdGhyZWFkLW11bHRpCiAgICB1bmFtZT0nbGludXggbG9jYWxo b3N0IDMuMTYuMCAjMSBzbXAgZGViaWFuIDMuMTYuMCB4ODZfNjQgZ251bGludXggJwogICAg Y29uZmlnX2FyZ3M9Jy1EdXNldGhyZWFkcyAtRHVzZWxhcmdlZmlsZXMgLURjYz14ODZfNjQt bGludXgtZ251LWdjYyAtRGNwcD14ODZfNjQtbGludXgtZ251LWNwcCAtRGxkPXg4Nl82NC1s aW51eC1nbnUtZ2NjIC1EY2NmbGFncz0tRERFQklBTiAtV2RhdGUtdGltZSAtRF9GT1JUSUZZ X1NPVVJDRT0yIC1nIC1PMiAtZmRlYnVnLXByZWZpeC1tYXA9L2J1aWxkL3BlcmwtbUJsa0Iw L3BlcmwtNS4yNC4xPS4gLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1XZm9ybWF0IC1XZXJy b3I9Zm9ybWF0LXNlY3VyaXR5IC1EbGRmbGFncz0gLVdsLC16LHJlbHJvIC1EbGRkbGZsYWdz PS1zaGFyZWQgLVdsLC16LHJlbHJvIC1EY2NjZGxmbGFncz0tZlBJQyAtRGFyY2huYW1lPXg4 Nl82NC1saW51eC1nbnUgLURwcmVmaXg9L3VzciAtRHByaXZsaWI9L3Vzci9zaGFyZS9wZXJs LzUuMjQgLURhcmNobGliPS91c3IvbGliL3g4Nl82NC1saW51eC1nbnUvcGVybC81LjI0IC1E dmVuZG9ycHJlZml4PS91c3IgLUR2ZW5kb3JsaWI9L3Vzci9zaGFyZS9wZXJsNSAtRHZlbmRv cmFyY2g9L3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsNS81LjI0IC1Ec2l0ZXByZWZp eD0vdXNyL2xvY2FsIC1Ec2l0ZWxpYj0vdXNyL2xvY2FsL3NoYXJlL3BlcmwvNS4yNC4xIC1E c2l0ZWFyY2g9L3Vzci9sb2NhbC9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsLzUuMjQuMSAt RG1hbjFkaXI9L3Vzci9zaGFyZS9tYW4vbWFuMSAtRG1hbjNkaXI9L3Vzci9zaGFyZS9tYW4v bWFuMyAtRHNpdGVtYW4xZGlyPS91c3IvbG9jYWwvbWFuL21hbjEgLURzaXRlbWFuM2Rpcj0v dXNyL2xvY2FsL21hbi9tYW4zIC1EdXNlc2l0ZWN1c3RvbWl6ZSAtRHVzZTY0Yml0aW50IC1E bWFuMWV4dD0xIC1EbWFuM2V4dD0zcGVybCAtRHBhZ2VyPS91c3IvYmluL3NlbnNpYmxlLXBh Z2VyIC1VYWZzIC1VZF9jc2ggLVVkX3VhbGFybSAtVXVzZXNmaW8gLVV1c2VubSAtVWlfbGli dXRpbCAtVXZlcnNpb25vbmx5IC1EREVCVUdHSU5HPS1nIC1Eb3B0aW1pemU9LU8yIC1kRXMg LUR1c2VzaHJwbGliIC1EbGlicGVybD1saWJwZXJsLnNvLjUuMjQuMScKICAgIGhpbnQ9cmVj b21tZW5kZWQsIHVzZXBvc2l4PXRydWUsIGRfc2lnYWN0aW9uPWRlZmluZQogICAgdXNlaXRo cmVhZHM9ZGVmaW5lLCB1c2VtdWx0aXBsaWNpdHk9ZGVmaW5lCiAgICB1c2U2NGJpdGludD1k ZWZpbmUsIHVzZTY0Yml0YWxsPWRlZmluZSwgdXNlbG9uZ2RvdWJsZT11bmRlZgogICAgdXNl bXltYWxsb2M9biwgYmluY29tcGF0NTAwNT11bmRlZgogIENvbXBpbGVyOgogICAgY2M9J3g4 Nl82NC1saW51eC1nbnUtZ2NjJywgY2NmbGFncyA9Jy1EX1JFRU5UUkFOVCAtRF9HTlVfU09V UkNFIC1EREVCSUFOIC1md3JhcHYgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNy L2xvY2FsL2luY2x1ZGUgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRT PTY0JywKICAgIG9wdGltaXplPSctTzIgLWcnLAogICAgY3BwZmxhZ3M9Jy1EX1JFRU5UUkFO VCAtRF9HTlVfU09VUkNFIC1EREVCSUFOIC1md3JhcHYgLWZuby1zdHJpY3QtYWxpYXNpbmcg LXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUnCiAgICBjY3ZlcnNpb249JycsIGdjY3ZlcnNp b249JzYuMy4wIDIwMTcwNTE2JywgZ2Njb3NhbmR2ZXJzPScnCiAgICBpbnRzaXplPTQsIGxv bmdzaXplPTgsIHB0cnNpemU9OCwgZG91Ymxlc2l6ZT04LCBieXRlb3JkZXI9MTIzNDU2Nzgs IGRvdWJsZWtpbmQ9MwogICAgZF9sb25nbG9uZz1kZWZpbmUsIGxvbmdsb25nc2l6ZT04LCBk X2xvbmdkYmw9ZGVmaW5lLCBsb25nZGJsc2l6ZT0xNiwgbG9uZ2RibGtpbmQ9MwogICAgaXZ0 eXBlPSdsb25nJywgaXZzaXplPTgsIG52dHlwZT0nZG91YmxlJywgbnZzaXplPTgsIE9mZl90 PSdvZmZfdCcsIGxzZWVrc2l6ZT04CiAgICBhbGlnbmJ5dGVzPTgsIHByb3RvdHlwZT1kZWZp bmUKICBMaW5rZXIgYW5kIExpYnJhcmllczoKICAgIGxkPSd4ODZfNjQtbGludXgtZ251LWdj YycsIGxkZmxhZ3MgPScgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1ML3Vzci9sb2NhbC9s aWInCiAgICBsaWJwdGg9L3Vzci9sb2NhbC9saWIgL3Vzci9saWIvZ2NjL3g4Nl82NC1saW51 eC1nbnUvNi9pbmNsdWRlLWZpeGVkIC91c3IvaW5jbHVkZS94ODZfNjQtbGludXgtZ251IC91 c3IvbGliIC9saWIveDg2XzY0LWxpbnV4LWdudSAvbGliLy4uL2xpYiAvdXNyL2xpYi94ODZf NjQtbGludXgtZ251IC91c3IvbGliLy4uL2xpYiAvbGliCiAgICBsaWJzPS1sZ2RibSAtbGdk Ym1fY29tcGF0IC1sZGIgLWxkbCAtbG0gLWxwdGhyZWFkIC1sYyAtbGNyeXB0CiAgICBwZXJs bGlicz0tbGRsIC1sbSAtbHB0aHJlYWQgLWxjIC1sY3J5cHQKICAgIGxpYmM9bGliYy0yLjI0 LnNvLCBzbz1zbywgdXNlc2hycGxpYj10cnVlLCBsaWJwZXJsPWxpYnBlcmwuc28uNS4yNAog ICAgZ251bGliY192ZXJzaW9uPScyLjI0JwogIER5bmFtaWMgTGlua2luZzoKICAgIGRsc3Jj PWRsX2Rsb3Blbi54cywgZGxleHQ9c28sIGRfZGxzeW11bj11bmRlZiwgY2NkbGZsYWdzPSct V2wsLUUnCiAgICBjY2NkbGZsYWdzPSctZlBJQycsIGxkZGxmbGFncz0nLXNoYXJlZCAtTC91 c3IvbG9jYWwvbGliIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZycKCgpDaGFyYWN0ZXJpc3Rp Y3Mgb2YgdGhpcyBiaW5hcnkgKGZyb20gbGlicGVybCk6IAogIENvbXBpbGUtdGltZSBvcHRp b25zOiBIQVNfVElNRVMgTVVMVElQTElDSVRZIFBFUkxJT19MQVlFUlMKICAgICAgICAgICAg ICAgICAgICAgICAgUEVSTF9DT1BZX09OX1dSSVRFIFBFUkxfRE9OVF9DUkVBVEVfR1ZTVgog ICAgICAgICAgICAgICAgICAgICAgICBQRVJMX0hBU0hfRlVOQ19PTkVfQVRfQV9USU1FX0hB UkQKICAgICAgICAgICAgICAgICAgICAgICAgUEVSTF9JTVBMSUNJVF9DT05URVhUIFBFUkxf TUFMTE9DX1dSQVAKICAgICAgICAgICAgICAgICAgICAgICAgUEVSTF9QUkVTRVJWRV9JVlVW IFVTRV82NF9CSVRfQUxMIFVTRV82NF9CSVRfSU5UCiAgICAgICAgICAgICAgICAgICAgICAg IFVTRV9JVEhSRUFEUyBVU0VfTEFSR0VfRklMRVMgVVNFX0xPQ0FMRQogICAgICAgICAgICAg ICAgICAgICAgICBVU0VfTE9DQUxFX0NPTExBVEUgVVNFX0xPQ0FMRV9DVFlQRQogICAgICAg ICAgICAgICAgICAgICAgICBVU0VfTE9DQUxFX05VTUVSSUMgVVNFX0xPQ0FMRV9USU1FIFVT RV9QRVJMSU8KICAgICAgICAgICAgICAgICAgICAgICAgVVNFX1BFUkxfQVRPRiBVU0VfUkVF TlRSQU5UX0FQSSBVU0VfU0lURUNVU1RPTUlaRQogIExvY2FsbHkgYXBwbGllZCBwYXRjaGVz OgoJREVCUEtHOmRlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzIC0gUHJvdmlkZSBhIHNlbnNp YmxlIElOU1RBTExESVJTIGRlZmF1bHQgZm9yIG1vZHVsZXMgaW5zdGFsbGVkIGZyb20gQ1BB Ti4KCURFQlBLRzpkZWJpYW4vZGJfZmlsZV92ZXIgLSBodHRwczovL2J1Z3MuZGViaWFuLm9y Zy8zNDAwNDcgUmVtb3ZlIG92ZXJseSByZXN0cmljdGl2ZSBEQl9GaWxlIHZlcnNpb24gY2hl Y2suCglERUJQS0c6ZGViaWFuL2RvY19pbmZvIC0gUmVwbGFjZSBnZW5lcmljIG1hbigxKSBp bnN0cnVjdGlvbnMgd2l0aCBEZWJpYW4tc3BlY2lmaWMgaW5mb3JtYXRpb24uCglERUJQS0c6 ZGViaWFuL2VuYzJ4c19pbmMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8yOTAzMzYgVHdl YWsgZW5jMnhzIHRvIGZvbGxvdyBzeW1saW5rcyBhbmQgaWdub3JlIG1pc3NpbmcgQElOQyBk aXJlY3Rvcmllcy4KCURFQlBLRzpkZWJpYW4vZXJybm9fdmVyIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvMzQzMzUxIFJlbW92ZSBFcnJubyB2ZXJzaW9uIGNoZWNrIGR1ZSB0byB1cGdy YWRlIHByb2JsZW1zIHdpdGggbG9uZy1ydW5uaW5nIHByb2Nlc3Nlcy4KCURFQlBLRzpkZWJp YW4vbGlicGVybF9lbWJlZF9kb2MgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8xODY3Nzgg Tm90ZSB0aGF0IGxpYnBlcmwtZGV2IHBhY2thZ2UgaXMgcmVxdWlyZWQgZm9yIGVtYmVkZGVk IGxpbmtpbmcKCURFQlBLRzpmaXhlcy9yZXNwZWN0X3VtYXNrIC0gUmVzcGVjdCB1bWFzayBk dXJpbmcgaW5zdGFsbGF0aW9uCglERUJQS0c6ZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycyAt IFNldCB1bWFzayBhcHByb3Byb2F0ZWx5IGZvciBzaXRlIGluc3RhbGwgZGlyZWN0b3JpZXMK CURFQlBLRzpkZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aCAtIEVVOk1NOiBzZXQg bG9jYXRpb24gb2YgbGlicGVybC5hIHVuZGVyIC91c3IvbGliCglERUJQS0c6ZGViaWFuL25v X3BhY2tsaXN0X3Blcmxsb2NhbCAtIERvbid0IGluc3RhbGwgLnBhY2tsaXN0IG9yIHBlcmxs b2NhbC5wb2QgZm9yIHBlcmwgb3IgdmVuZG9yCglERUJQS0c6ZGViaWFuL2Zha2Vyb290IC0g UG9zdHBvbmUgTERfTElCUkFSWV9QQVRIIGV2YWx1YXRpb24gdG8gdGhlIGJpbmFyeSB0YXJn ZXRzLgoJREVCUEtHOmRlYmlhbi9pbnN0bW9kc2hfZG9jIC0gRGViaWFuIHBvbGljeSBkb2Vz bid0IGluc3RhbGwgLnBhY2tsaXN0IGZpbGVzIGZvciBjb3JlIG9yIHZlbmRvci4KCURFQlBL RzpkZWJpYW4vbGRfcnVuX3BhdGggLSBSZW1vdmUgc3RhbmRhcmQgbGlicyBmcm9tIExEX1JV Tl9QQVRIIGFzIHBlciBEZWJpYW4gcG9saWN5LgoJREVCUEtHOmRlYmlhbi9saWJuZXRfY29u ZmlnX3BhdGggLSBTZXQgbG9jYXRpb24gb2YgbGlibmV0LmNmZyB0byAvZXRjL3BlcmwvTmV0 IGFzIC91c3IgbWF5IG5vdCBiZSB3cml0YWJsZS4KCURFQlBLRzpkZWJpYW4vbW9kX3BhdGhz IC0gVHdlYWsgQElOQyBvcmRlcmluZyBmb3IgRGViaWFuCglERUJQS0c6ZGViaWFuL3BydW5l X2xpYnMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy8xMjgzNTUgUHJ1bmUgdGhlIGxpc3Qg b2YgbGlicmFyaWVzIHdhbnRlZCB0byB3aGF0IHdlIGFjdHVhbGx5IG5lZWQuCglERUJQS0c6 Zml4ZXMvbmV0X3NtdHBfZG9jcyAtIFtydC5jcGFuLm9yZyAjMzYwMzhdIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzEwMDE5NSBEb2N1bWVudCB0aGUgTmV0OjpTTVRQICdQb3J0JyBvcHRp b24KCURFQlBLRzpkZWJpYW4vcGVybGl2cCAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUx MDg5NSBNYWtlIHBlcmxpdnAgc2tpcCBpbmNsdWRlIGRpcmVjdG9yaWVzIGluIC91c3IvbG9j YWwKCURFQlBLRzpkZWJpYW4vZGVwcmVjYXRlLXdpdGgtYXB0IC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvNzQ3NjI4IFBvaW50IHVzZXJzIHRvIERlYmlhbiBwYWNrYWdlcyBvZiBkZXBy ZWNhdGVkIGNvcmUgbW9kdWxlcwoJREVCUEtHOmRlYmlhbi9zcXVlbGNoLWxvY2FsZS13YXJu aW5ncyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2NCBTcXVlbGNoIGxvY2FsZSB3 YXJuaW5ncyBpbiBEZWJpYW4gcGFja2FnZSBtYWludGFpbmVyIHNjcmlwdHMKCURFQlBLRzpk ZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMgLSBTa2lwIHRlc3RzIHNwZWNpZmljIHRv IHRoZSB1cHN0cmVhbSBHaXQgcmVwb3NpdG9yeQoJREVCUEtHOmRlYmlhbi9wYXRjaGxldmVs IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNTY3NDg5IExpc3QgcGFja2FnZWQgcGF0Y2hl cyBmb3IgNS4yNC4xLTMrZGViOXU2IGluIHBhdGNobGV2ZWwuaAoJREVCUEtHOmRlYmlhbi9z a2lwLWtmcmVlYnNkLWNyYXNoIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNjI4NDkzIFtw ZXJsICM5NjI3Ml0gU2tpcCBhIGNyYXNoaW5nIHRlc3QgY2FzZSBpbiB0L29wL3RocmVhZHMu dCBvbiBHTlUva0ZyZWVCU0QKCURFQlBLRzpmaXhlcy9kb2N1bWVudF9tYWtlbWFrZXJfY2Nm bGFncyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzYyODUyMiBbcnQuY3Bhbi5vcmcgIzY4 NjEzXSBEb2N1bWVudCB0aGF0IENDRkxBR1Mgc2hvdWxkIGluY2x1ZGUgJENvbmZpZ3tjY2Zs YWdzfQoJREVCUEtHOmRlYmlhbi9maW5kX2h0bWwydGV4dCAtIGh0dHBzOi8vYnVncy5kZWJp YW4ub3JnLzY0MDQ3OSBDb25maWd1cmUgQ1BBTjo6RGlzdHJpYnV0aW9uIHdpdGggY29ycmVj dCBuYW1lIG9mIGh0bWwydGV4dAoJREVCUEtHOmRlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwt ZW11bGF0b3IucGF0Y2ggLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy82Njg0OTAgSW52b2tl IHgtdGVybWluYWwtZW11bGF0b3IgcmF0aGVyIHRoYW4geHRlcm0gaW4gcGVybDVkYi5wbAoJ REVCUEtHOmRlYmlhbi9jcGFuLW1pc3Npbmctc2l0ZS1kaXJzIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvNjg4ODQyIEZpeCBDUEFOOjpGaXJzdFRpbWUgZGVmYXVsdHMgd2l0aCBub25l eGlzdGluZyBzaXRlIGRpcnMgaWYgYSBwYXJlbnQgaXMgd3JpdGFibGUKCURFQlBLRzpmaXhl cy9tZW1vaXplX3N0b3JhYmxlX25zdG9yZSAtIFtydC5jcGFuLm9yZyAjNzc3OTBdIGh0dHBz Oi8vYnVncy5kZWJpYW4ub3JnLzU4NzY1MCBNZW1vaXplOjpTdG9yYWJsZTogcmVzcGVjdCAn bnN0b3JlJyBvcHRpb24gbm90IHJlc3BlY3RlZAoJREVCUEtHOmRlYmlhbi9yZWdlbi1za2lw IC0gU2tpcCBhIHJlZ2VuZXJhdGlvbiBjaGVjayBpbiB1bnJlbGF0ZWQgZ2l0IHJlcG9zaXRv cmllcwoJREVCUEtHOmRlYmlhbi9tYWtlbWFrZXItcGFzdGhydSAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzc1ODQ3MSBQYXNzIExEIHNldHRpbmdzIHRocm91Z2ggdG8gc3ViZGlyZWN0 b3JpZXMKCURFQlBLRzpkZWJpYW4vbWFrZW1ha2VyLW1hbmV4dCAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzI0NzM3MCBNYWtlIEVVOjpNYWtlTWFrZXIgaG9ub3VyIE1BTm5FWFQgc2V0 dGluZ3MgaW4gZ2VuZXJhdGVkIG1hbnBhZ2UgaGVhZGVycwoJREVCUEtHOmRlYmlhbi9kZXZl bC1wcHBvcnQtcmVwcm9kdWNpYmlsaXR5IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODAx NTIzIFNvcnQgdGhlIGxpc3Qgb2YgWFMgY29kZSBmaWxlcyB3aGVuIGdlbmVyYXRpbmcgUmVh bFBQUG9ydC54cwoJREVCUEtHOmRlYmlhbi9lbmNvZGUtdW5pY29kZS1ib20tZG9jIC0gaHR0 cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk4NzI3IERvY3VtZW50IERlYmlhbiBiYWNrcG9ydCBv ZiBFbmNvZGU6OlVuaWNvZGUgZml4CglERUJQS0c6ZGViaWFuL2tmcmVlYnNkLXNvZnR1cGRh dGVzIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzk2Nzk4IFdvcmsgYXJvdW5kIERlYmlh biBCdWcjNzk2Nzk4CglERUJQS0c6Zml4ZXMvYXV0b2RpZS1zY29wZSAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzc5ODA5NiBGaXggYSBzY29waW5nIGlzc3VlIHdpdGggIm5vIGF1dG9k aWUiIGFuZCB0aGUgInN5c3RlbSIgc3ViCglERUJQS0c6Zml4ZXMvY3Jvc3Njb21waWxlLW5v LXRhcmdldGhvc3QgLSBbMjM2OTVjMF0gW3BlcmwgIzEyNzIzNF0gRml4IHRoZSBDb25maWd1 cmUgZXNjYXBlIHdpdGggdXNlY3Jvc3Njb21waWxlIGJ1dCBubyB0YXJnZXRob3N0CglERUJQ S0c6Zml4ZXMvbWVtb2l6ZS1wb2QgLSBbcnQuY3Bhbi5vcmcgIzg5NDQxXSBGaXggUE9EIGVy cm9ycyBpbiBNZW1vaXplCglERUJQS0c6Zml4ZXMvb2stcG9kIC0gQWRkZWQgZW5jb2Rpbmcg Zm9yIHBvZC4KCURFQlBLRzpkZWJpYW4vaHVyZC1zb2Z0dXBkYXRlcyAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzgyMjczNSBGaXggdC9vcC9zdGF0LnQgZmFpbHVyZXMgb24gaHVyZAoJ REVCUEtHOmZpeGVzL25udHBfZG9jcyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzUxOTYy IE5ldDo6Tk5UUDogQ29ycmVjdCBpbm5kL25ucnBkIGNvbmZ1c2lvbiBpbiByZWxhdGlvbiB0 byBSZWFkZXIgb3B0aW9uCglERUJQS0c6Zml4ZXMvbWF0aF9jb21wbGV4X2RvY19ncmVhdF9j aXJjbGUgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy82OTc1NjcgW3J0LmNwYW4ub3JnICMx MTQxMDRdIE1hdGg6OlRyaWc6IGNsYXJpZnkgZGVmaW5pdGlvbiBvZiBncmVhdF9jaXJjbGVf bWlkcG9pbnQKCURFQlBLRzpmaXhlcy9tYXRoX2NvbXBsZXhfZG9jX3NlZV9hbHNvIC0gaHR0 cHM6Ly9idWdzLmRlYmlhbi5vcmcvNjk3NTY4IFtydC5jcGFuLm9yZyAjMTE0MTA1XSBNYXRo OjpUcmlnOiBhZGQgbWlzc2luZyBTRUUgQUxTTwoJREVCUEtHOmZpeGVzL21hdGhfY29tcGxl eF9kb2NfYW5nbGVfdW5pdHMgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy83MzE1MDUgW3J0 LmNwYW4ub3JnICMxMTQxMDZdIE1hdGg6OlRyaWc6IGRvY3VtZW50IGFuZ2xlIHVuaXRzCglE RUJQS0c6Zml4ZXMvY3Bhbl93ZWJfbGluayAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzM2 NzI5MSBDUEFOOiBBZGQgbGluayB0byBtYWluIENQQU4gd2ViIHNpdGUKCURFQlBLRzpmaXhl cy90aW1lX3BpZWNlX2RvYyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzgxNzkyNSBUaW1l OjpQaWVjZTogSW1wcm92ZSBkb2N1bWVudGF0aW9uIGZvciBhZGRfbW9udGhzIGFuZCBhZGRf eWVhcnMKCURFQlBLRzpmaXhlcy9wZXJsYnVnLXJlZmFjdG9yIC0gaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvODIyNDYzIFtwZXJsICMxMjgwMjBdIHBlcmxidWc6IFJlZmFjdG9yIGR1cGxp Y2F0ZWQgZmlsZSByZWFkaW5nIGNvZGUKCURFQlBLRzpmaXhlcy9wZXJsYnVnLWxpbmV3cmFw IC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODIyNDYzIFtwZXJsICMxMjgwMjBdIHBlcmxi dWc6IHdyYXAgb3Zlcmx5IGxvbmcgbGluZXMKCURFQlBLRzpmaXhlcy9odXJkX3NpZ2FjdGlv biAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzgyNTAxNiBbZDU0ZjRlZF0gZXh0L1BPU0lY L3Qvc2lnYWN0aW9uLnQ6IFNraXAgdWlkIGFuZCBwaWQgdGVzdHMgb24gR05VL0h1cmQKCURF QlBLRzpmaXhlcy9odXJkX2hpbnRzIC0gWzQ2OTQzMDFdIGh0dHBzOi8vYnVncy5kZWJpYW4u b3JnLzgyNTAyMCBbcGVybCAjMTI4Mjc5XSBNb2RpZnkgaGludHMgZm9yIEh1cmQgcGVyIERl YmlhbiB0aWNrZXQgODI1MDIwLgoJREVCUEtHOmZpeGVzL2V4dHV0aWxzLXBhcnNleHMtcmVw cm9kdWNpYmlsaXR5IC0gW3BlcmwgIzEyODUxN10gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcv ODI5Mjk2IE1ha2UgdGhlIG91dHB1dCBvZiBFeHRVdGlsczo6UGFyc2VYUyByZXByb2R1Y2li bGUKCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9zaXRlY3VzdG9taXplLWluLWV0YyAt IExvb2sgZm9yIHNpdGVjdXN0b21pemUucGwgaW4gL2V0Yy9wZXJsIHJhdGhlciB0aGFuIHNp dGVsaWIgb24gRGViaWFuIHN5c3RlbXMKCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC90 ZXN0LXN1aXRlLXdpdGhvdXQtZG90IC0gW3BlcmwgIzEyNzgxMF0gUGF0Y2ggdW5pdCB0ZXN0 cyB0byBleHBsaWNpdGx5IGluc2VydCAiLiIgaW50byBASU5DIHdoZW4gbmVlZGVkLgoJREVC UEtHOmRlYmlhbi9DVkUtMjAxNi0xMjM4L2V1bW0td2l0aG91dC1kb3QgLSBbcGVybCAjMTI3 ODEwXSBBZGQgUEVSTF9VU0VfVU5TQUZFX0lOQyBzdXBwb3J0IHRvIEVVOjpNTSBmb3IgZm9y dGlmeV9pbmMgc3VwcG9ydC4KCURFQlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9jcGFuLXdp dGhvdXQtZG90IC0gW3BlcmwgIzEyNzgxMF0gU2V0IFBFUkxfVVNFX1VOU0FGRV9JTkMgZm9y IGNwYW4gdXNhZ2UKCURFQlBLRzpkZWJpYW4vZG9jdW1lbnRfaW5jX3JlbW92YWwgLSBEb2N1 bWVudCBpbiBwZXJsdmFyIHRoYXQgd2UgcmVtb3ZlICcuJyBmcm9tIEBJTkMgYnkgZGVmYXVs dAoJREVCUEtHOmZpeGVzL2V4dHV0aWxzX21ha2VtYWtlcl9yZXByb2R1Y2libGUgLSBodHRw czovL2J1Z3MuZGViaWFuLm9yZy84MzU4MTUgaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODM0 MTkwIE1ha2UgcGVybGxvY2FsLnBvZCBmaWxlcyByZXByb2R1Y2libGUKCURFQlBLRzpkZWJp YW4vQ1ZFLTIwMTYtMTIzOC9yZW1vdmUtaW5jLXRlc3QgLSBSZW1vdmUgdGVzdCBmb3IgJy4n IGluIEBJTkMgYXMgaXQgbWlnaHQgbm90IGJlCglERUJQS0c6Zml4ZXMvZmlsZV9wYXRoX2h1 cmRfZXJybm8gLSBGaWxlLVBhdGg6IEZpeCB0ZXN0IGZhaWx1cmUgaW4gSHVyZCBkdWUgdG8g aGFyZC1jb2RlZCBFTk9FTlQKCURFQlBLRzpkZWJpYW4vaHBwYV9vcF9vcHRpbWl6ZV93b3Jr YXJvdW5kIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODM4NjEzIFRlbXBvcmFyaWx5IGxv d2VyIHRoZSBvcHRpbWl6YXRpb24gb2Ygb3AuYyBvbiBocHBhIGR1ZSB0byBnY2MtNiBwcm9i bGVtcwoJREVCUEtHOmZpeGVzL3Rlc3QtYnVpbGRlci13YXJuaW5nIC0gaHR0cHM6Ly9idWdz LmRlYmlhbi5vcmcvODQwOTY4IFNpbGVuY2UgYSAndXNlZCBvbmx5IG9uY2UnIHdhcm5pbmcg aW4gVGVzdDo6QnVpbGRlcgoJREVCUEtHOmZpeGVzL2xvbmdkYmxpbmYtcmFuZG9tbmVzcyAt IFtkZDY4ODUzXSBbcGVybCAjMTMwMTMzXSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NDQ3 NTIgQ29uZmlndXJlOiBmaXggZ2FyYmFnZSBmaWx0ZXJpbmcgd2l0aCA4MC1iaXQgbG9uZyBk b3VibGVzCglERUJQS0c6ZGViaWFuL2luc3RhbGxtYW4tdXRmOCAtIGh0dHBzOi8vYnVncy5k ZWJpYW4ub3JnLzg0MDIxMSBHZW5lcmF0ZSBtYW4gcGFnZXMgd2l0aCBVVEYtOCBjaGFyYWN0 ZXJzCglERUJQS0c6Zml4ZXMvbGlzdF9hc3NpZ25fbGVhayAtIFsxMDUwNzIzXSBbcGVybCAj MTMwNzY2XSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NTUwNjQgYXZvaWQgYSBsZWFrIGlu IGxpc3QgYXNzaWduIGZyb20vdG8gbWFnaWMgdmFsdWVzCglERUJQS0c6Zml4ZXMvcGVybGZ1 bmNfaW5jX2RvYyAtIFthMDNlOWY4XSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84Mzk1MzYg W3BlcmwgIzEzMDgzMl0gRG9jdW1lbnRhdGlvbiBmaXhlcyBmb3IgJy4nIHBvc3NpYmx5IG5v IGxvbmdlciBiZWluZyBpbiBASU5DCglERUJQS0c6Zml4ZXMvZmlsZV9wYXRoX2NobW9kX3Jh Y2UgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NjM4NzAgW3J0LmNwYW4ub3JnICMxMjE5 NTFdIFByZXZlbnQgZGlyZWN0b3J5IGNobW9kIHJhY2UgYXR0YWNrLgoJREVCUEtHOmZpeGVz L2V4dHV0aWxzX2ZpbGVfcGF0aF9jb21wYXQgLSBDb3JyZWN0IHRoZSBvcmRlciBvZiB0ZXN0 cyBvZiBjaG1vZCgpLiAoIzI5NCkKCURFQlBLRzpkZWJpYW4vY3VzdG9taXplZCAtIFVwZGF0 ZSBjdXN0b21pemVkLmRhdCBmb3IgZmlsZXMgcGF0Y2hlZCBpbiBEZWJpYW4KCURFQlBLRzpm aXhlcy9nZXRvcHQtbG9uZy0xIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODU1NTMyIFty dC5jcGFuLm9yZyAjMTE0OTk5XSBGaXggYnVnIFJUIzExNDk5OQoJREVCUEtHOmZpeGVzL2dl dG9wdC1sb25nLTIgLSBbcnQuY3Bhbi5vcmcgIzEyMDMwMF0gV2l0aGRyYXcgcGFydCBvZiBj b21taXQgNWQ5OTQ3ZmI0NDUzMjdjNzI5OWQ4YmViMDA5ZDYwOWJjNzAwNjZjMCwgd2hpY2gg dHJpZXMgdG8gaW1wbGVtZW50IG1vcmUgR05VIGdldG9wdF9sb25nIGNhbXBhdGliaWxpdHku IEdOVQoJREVCUEtHOmZpeGVzL2dldG9wdC1sb25nLTMgLSBwcm92aWRlIGEgZGVmYXVsdCB2 YWx1ZSBmb3Igb3B0aW9uYWwgYXJndW1lbnRzCglERUJQS0c6Zml4ZXMvZ2V0b3B0LWxvbmct NCAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg2NDU0NCBbcnQuY3Bhbi5vcmcgIzEyMjA2 OF0gRml4IGlzc3VlICMxMjIwNjguCglERUJQS0c6Zml4ZXMvZmJtLWluc3RyLWNyYXNoIC0g W2JiMTUyYTRdIFtwZXJsICMxMzE1NzVdIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg2NDc4 MiBkb24ndCBjYWxsIFBlcmxfZmJtX2luc3RyKCkgd2l0aCBuZWdhdGl2ZSBsZW5ndGgKCURF QlBLRzpkZWJpYW4vQ1ZFLTIwMTYtMTIzOC9iYXNlLXBtLWFtZW5kcy1wdDIgLSBbMWFmYTI4 OV0gTGltaXQgZG90bGVzcy1JTkMgZWZmZWN0IG9uIGJhc2UucG0gd2l0aCBndWFyZDoKCURF QlBLRzpmaXhlcy9DVkUtMjAxNy0xMjgzNyAtIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg3 NTU5NiBbcGVybCAjMTMxNTgyXSBbZjdlNTQxN10gcmVnY29tcCBbcGVybCAjMTMxNTgyXQoJ REVCUEtHOmZpeGVzL0NWRS0yMDE3LTEyODgzIC0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcv ODc1NTk3IFtwZXJsICMxMzE1OThdIFs0MGIzY2RhXSBQQVRDSDogW3BlcmwgIzEzMTU5OF0K CURFQlBLRzpmaXhlcy9DVkUtMjAxOC02Nzk3IC0gW3BlcmwgIzEzMjIyN10gKHBlcmwgIzEz MjIyNykgcmVzdGFydCBhIG5vZGUgaWYgd2UgY2hhbmdlIHRvIHVuaSBydWxlcyB3aXRoaW4g dGhlIG5vZGUgYW5kIGVuY291bnRlciBhIHNoYXJwIFMKCURFQlBLRzpmaXhlcy9DVkUtMjAx OC02Nzk4L3B0MSAtIFtwZXJsICMxMzIwNjNdIEhlYXAgYnVmZmVyIG92ZXJmbG93CglERUJQ S0c6Zml4ZXMvQ1ZFLTIwMTgtNjc5OC9wdDIgLSBbcGVybCAjMTMyMDYzXSB2NS4yNC4zOiBm aXggVFJJRV9SRUFEX0NIQVIgYW5kIERFQ0xfVFJJRV9UWVBFIHRvIGFjY291bnQgZm9yIG5v bi11dGY4IHRhcmdldAoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTY3OTgvcHQzIC0gW3Blcmwg IzEzMjA2M10gKHBlcmwgIzEzMjA2Mykgd2Ugc2hvdWxkIG5vIGxvbmdlciB3YXJuIGZvciB0 aGlzIGNvZGUKCURFQlBLRzpmaXhlcy9DVkUtMjAxOC02OTEzIC0gW3BlcmwgIzEzMTg0NF0g KHBlcmwgIzEzMTg0NCkgZml4IHZhcmlvdXMgc3BhY2UgY2FsY3VsYXRpb24gaXNzdWVzIGlu IHBwX3BhY2suYwoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTEyMDE1LUFyY2hpdmUtVGFyLWRp cmVjdG9yeS10cmF2ZXJzYWwgLSBodHRwczovL2J1Z3MuZGViaWFuLm9yZy85MDA4MzQgW3J0 LmNwYW4ub3JnICMxMjU1MjNdIFJlbW92ZSBleGlzdGluZyBmaWxlcyBiZWZvcmUgb3Zlcndy aXRpbmcgdGhlbQoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTE4MzExIC0gUGVybF9teV9zZXRl bnYoKTsgaGFuZGxlIGludGVnZXIgd3JhcAoJREVCUEtHOmZpeGVzL0NWRS0yMDE4LTE4MzEy IC0gZm9yIDUuMjYgbWFpbnQKCURFQlBLRzpmaXhlcy9DVkUtMjAxOC0xODMxMyAtIHJlZ2Nv bXAuYzogQ29udmVydCBzb21lIHN0cmNociB0byBtZW1jaHIKCURFQlBLRzpmaXhlcy9DVkUt MjAxOC0xODMxNCAtIGZpeCAjMTMxNjQ5IC0gZXh0ZW5kZWQgY2hhcmNsYXNzIGNhbiB0cmln Z2VyIGFzc2VydAoJREVCUEtHOmZpeGVzL3RpbWUtbG9jYWwtMjAyMCAtIGh0dHBzOi8vYnVn cy5kZWJpYW4ub3JnLzkxNTIwOSBbcnQuY3Bhbi5vcmcgIzEyNDc4N10gRml4IFRpbWU6Okxv Y2FsIHRlc3RzCiAgQnVpbHQgdW5kZXIgbGludXgKICBDb21waWxlZCBhdCBKYW4gMjUgMjAy MCAxNzo1NDo1NAogICVFTlY6CiAgICBQRVJMNUxJQj0iL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi9saWIvOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvbGliLyIKICBASU5DOgogICAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi9saWIvCiAgICAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L2xpYi8KICAgIC9ldGMvcGVybAogICAgL3Vzci9sb2NhbC9saWIveDg2XzY0LWxpbnV4LWdu dS9wZXJsLzUuMjQuMQogICAgL3Vzci9sb2NhbC9zaGFyZS9wZXJsLzUuMjQuMQogICAgL3Vz ci9saWIveDg2XzY0LWxpbnV4LWdudS9wZXJsNS81LjI0CiAgICAvdXNyL3NoYXJlL3Blcmw1 CiAgICAvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L3BlcmwvNS4yNAogICAgL3Vzci9zaGFy ZS9wZXJsLzUuMjQKICAgIC91c3IvbG9jYWwvbGliL3NpdGVfcGVybAogICAgL3Vzci9saWIv eDg2XzY0LWxpbnV4LWdudS9wZXJsLWJhc2UKKyAvdXNyL2Jpbi9wZXJsIC1lIHVzZSBUQVA6 OlBhcnNlcjsgcHJpbnQgJFRBUDo6UGFyc2VyOjpWRVJTSU9OLCAiXG4iCjMuMzZfMDEKKyBs ZXggLS12ZXJzaW9uCmxleCAyLjYuMQorIGxleCAtLWhlbHAKVXNhZ2U6IGxleCBbT1BUSU9O U10gW0ZJTEVdLi4uCkdlbmVyYXRlcyBwcm9ncmFtcyB0aGF0IHBlcmZvcm0gcGF0dGVybi1t YXRjaGluZyBvbiB0ZXh0LgoKVGFibGUgQ29tcHJlc3Npb246CiAgLUNhLCAtLWFsaWduICAg ICAgdHJhZGUgb2ZmIGxhcmdlciB0YWJsZXMgZm9yIGJldHRlciBtZW1vcnkgYWxpZ25tZW50 CiAgLUNlLCAtLWVjcyAgICAgICAgY29uc3RydWN0IGVxdWl2YWxlbmNlIGNsYXNzZXMKICAt Q2YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVzOyB1c2UgLWYgcmVwcmVz ZW50YXRpb24KICAtQ0YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVzOyB1 c2UgLUYgcmVwcmVzZW50YXRpb24KICAtQ20sIC0tbWV0YS1lY3MgICBjb25zdHJ1Y3QgbWV0 YS1lcXVpdmFsZW5jZSBjbGFzc2VzCiAgLUNyLCAtLXJlYWQgICAgICAgdXNlIHJlYWQoKSBp bnN0ZWFkIG9mIHN0ZGlvIGZvciBzY2FubmVyIGlucHV0CiAgLWYsIC0tZnVsbCAgICAgICAg Z2VuZXJhdGUgZmFzdCwgbGFyZ2Ugc2Nhbm5lci4gU2FtZSBhcyAtQ2ZyCiAgLUYsIC0tZmFz dCAgICAgICAgdXNlIGFsdGVybmF0ZSB0YWJsZSByZXByZXNlbnRhdGlvbi4gU2FtZSBhcyAt Q0ZyCiAgLUNlbSAgICAgICAgICAgICAgZGVmYXVsdCBjb21wcmVzc2lvbiAoc2FtZSBhcyAt LWVjcyAtLW1ldGEtZWNzKQoKRGVidWdnaW5nOgogIC1kLCAtLWRlYnVnICAgICAgICAgICAg IGVuYWJsZSBkZWJ1ZyBtb2RlIGluIHNjYW5uZXIKICAtYiwgLS1iYWNrdXAgICAgICAgICAg ICB3cml0ZSBiYWNraW5nLXVwIGluZm9ybWF0aW9uIHRvIGxleC5iYWNrdXAKICAtcCwgLS1w ZXJmLXJlcG9ydCAgICAgICB3cml0ZSBwZXJmb3JtYW5jZSByZXBvcnQgdG8gc3RkZXJyCiAg LXMsIC0tbm9kZWZhdWx0ICAgICAgICAgc3VwcHJlc3MgZGVmYXVsdCBydWxlIHRvIEVDSE8g dW5tYXRjaGVkIHRleHQKICAtVCwgLS10cmFjZSAgICAgICAgICAgICBsZXggc2hvdWxkIHJ1 biBpbiB0cmFjZSBtb2RlCiAgLXcsIC0tbm93YXJuICAgICAgICAgICAgZG8gbm90IGdlbmVy YXRlIHdhcm5pbmdzCiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgd3JpdGUgc3VtbWFyeSBv ZiBzY2FubmVyIHN0YXRpc3RpY3MgdG8gc3Rkb3V0CiAgICAgIC0taGV4ICAgICAgICAgICAg ICAgdXNlIGhleGFkZWNpbWFsIG51bWJlcnMgaW5zdGVhZCBvZiBvY3RhbCBpbiBkZWJ1ZyBv dXRwdXRzCgpGaWxlczoKICAtbywgLS1vdXRmaWxlPUZJTEUgICAgICBzcGVjaWZ5IG91dHB1 dCBmaWxlbmFtZQogIC1TLCAtLXNrZWw9RklMRSAgICAgICAgIHNwZWNpZnkgc2tlbGV0b24g ZmlsZQogIC10LCAtLXN0ZG91dCAgICAgICAgICAgIHdyaXRlIHNjYW5uZXIgb24gc3Rkb3V0 IGluc3RlYWQgb2YgbGV4Lnl5LmMKICAgICAgLS15eWNsYXNzPU5BTUUgICAgICBuYW1lIG9m IEMrKyBjbGFzcwogICAgICAtLWhlYWRlci1maWxlPUZJTEUgICBjcmVhdGUgYSBDIGhlYWRl ciBmaWxlIGluIGFkZGl0aW9uIHRvIHRoZSBzY2FubmVyCiAgICAgIC0tdGFibGVzLWZpbGVb PUZJTEVdIHdyaXRlIHRhYmxlcyB0byBGSUxFCgpTY2FubmVyIGJlaGF2aW9yOgogIC03LCAt LTdiaXQgICAgICAgICAgICAgIGdlbmVyYXRlIDctYml0IHNjYW5uZXIKICAtOCwgLS04Yml0 ICAgICAgICAgICAgICBnZW5lcmF0ZSA4LWJpdCBzY2FubmVyCiAgLUIsIC0tYmF0Y2ggICAg ICAgICAgICAgZ2VuZXJhdGUgYmF0Y2ggc2Nhbm5lciAob3Bwb3NpdGUgb2YgLUkpCiAgLWks IC0tY2FzZS1pbnNlbnNpdGl2ZSAgaWdub3JlIGNhc2UgaW4gcGF0dGVybnMKICAtbCwgLS1s ZXgtY29tcGF0ICAgICAgICBtYXhpbWFsIGNvbXBhdGliaWxpdHkgd2l0aCBvcmlnaW5hbCBs ZXgKICAtWCwgLS1wb3NpeC1jb21wYXQgICAgICBtYXhpbWFsIGNvbXBhdGliaWxpdHkgd2l0 aCBQT1NJWCBsZXgKICAtSSwgLS1pbnRlcmFjdGl2ZSAgICAgICBnZW5lcmF0ZSBpbnRlcmFj dGl2ZSBzY2FubmVyIChvcHBvc2l0ZSBvZiAtQikKICAgICAgLS15eWxpbmVubyAgICAgICAg ICB0cmFjayBsaW5lIGNvdW50IGluIHl5bGluZW5vCgpHZW5lcmF0ZWQgY29kZToKICAtKywg IC0tYysrICAgICAgICAgICAgICAgZ2VuZXJhdGUgQysrIHNjYW5uZXIgY2xhc3MKICAtRG1h Y3JvWz1kZWZuXSAgICAgICAgICAgI2RlZmluZSBtYWNybyBkZWZuICAoZGVmYXVsdCBkZWZu IGlzICcxJykKICAtTCwgIC0tbm9saW5lICAgICAgICAgICAgc3VwcHJlc3MgI2xpbmUgZGly ZWN0aXZlcyBpbiBzY2FubmVyCiAgLVAsICAtLXByZWZpeD1TVFJJTkcgICAgIHVzZSBTVFJJ TkcgYXMgcHJlZml4IGluc3RlYWQgb2YgInl5IgogIC1SLCAgLS1yZWVudHJhbnQgICAgICAg ICBnZW5lcmF0ZSBhIHJlZW50cmFudCBDIHNjYW5uZXIKICAgICAgIC0tYmlzb24tYnJpZGdl ICAgICAgc2Nhbm5lciBmb3IgYmlzb24gcHVyZSBwYXJzZXIuCiAgICAgICAtLWJpc29uLWxv Y2F0aW9ucyAgIGluY2x1ZGUgeXlsbG9jIHN1cHBvcnQuCiAgICAgICAtLXN0ZGluaXQgICAg ICAgICAgIGluaXRpYWxpemUgeXlpbi95eW91dCB0byBzdGRpbi9zdGRvdXQKICAgICAgIC0t bm9hbnNpLWRlZmluaXRpb25zIG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9ucwogICAg ICAgLS1ub2Fuc2ktcHJvdG90eXBlcyAgZW1wdHkgcGFyYW1ldGVyIGxpc3QgaW4gcHJvdG90 eXBlcwogICAgICAgLS1ub3VuaXN0ZCAgICAgICAgICBkbyBub3QgaW5jbHVkZSA8dW5pc3Rk Lmg+CiAgICAgICAtLW5vRlVOQ1RJT04gICAgICAgIGRvIG5vdCBnZW5lcmF0ZSBhIHBhcnRp Y3VsYXIgRlVOQ1RJT04KCk1pc2NlbGxhbmVvdXM6CiAgLWMgICAgICAgICAgICAgICAgICAg ICAgZG8tbm90aGluZyBQT1NJWCBvcHRpb24KICAtbiAgICAgICAgICAgICAgICAgICAgICBk by1ub3RoaW5nIFBPU0lYIG9wdGlvbgogIC0/CiAgLWgsIC0taGVscCAgICAgICAgICAgICAg cHJvZHVjZSB0aGlzIGhlbHAgbWVzc2FnZQogIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHJl cG9ydCBsZXggdmVyc2lvbgorIHlhY2MgLS12ZXJzaW9uCmJpc29uIChHTlUgQmlzb24pIDMu NS40CsOJY3JpdCBwYXIgUm9iZXJ0IENvcmJldHQgZXQgUmljaGFyZCBTdGFsbG1hbi4KCkNv cHlyaWdodCDCqSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpDZSBsb2dp Y2llbCBlc3QgbGlicmU7IHZvaXIgbGVzIHNvdXJjZXMgcG91ciBsZXMgY29uZGl0aW9ucyBk ZQpyZXByb2R1Y3Rpb24uIEFVQ1VORSBnYXJhbnRpZSBuJ2VzdCBkb25uw6llOyB0YW50IHBv dXIgZGVzIHJhaXNvbnMKQ09NTUVSQ0lBTEVTIHF1ZSBwb3VyIFLDiVBPTkRSRSDDgCBVTiBC RVNPSU4gUEFSVElDVUxJRVIuCisgeWFjYyAtLWhlbHAKVXNhZ2U6IC91c3IvbG9jYWwvYmlu L2Jpc29uIFtPUFRJT05dLi4uIEZJQ0hJRVIKR8OpbsOpcmF0aW9uIGQndW4gYW5hbHlzZXVy IExSIGTDqXRlcm1pbmlzdGUgb3IgZCd1biBMUiBnw6luw6lyYWxpc8OpIChHTFIpIGVtcGxv eWFudApMQUxSKDEpLCBJRUxSKDEpIG91IGRlcyB0YWJsZXMgZCdhbmFseXNldXIgTFIoMSkg Y2Fub25pcXVlLgoKTGVzIHBhcmFtw6h0cmVzIHJlcXVpcyBwb3VyIGxlcyBvcHRpb25zIGxv bmd1ZXMgc29udCDDqWdhbGVtZW50IHJlcXVpcyBwb3VyIGxlcyBvcHRpb25zIGNvdXJ0ZXMu CkxhIG3Dqm1lIGNob3NlIGVzdCB2cmFpZSBwb3VyIGxlcyBwYXJhbcOodHJlcyBvcHRpb25u ZWxzLgoKTW9kZXMgZCd1dGlsaXNhdGlvbjoKICAtaCwgLS1oZWxwICAgICAgICAgICAgICAg ICBhZmZpY2hlciBsJ2FpZGUtbcOpbW9pcmUgZXQgdGVybWluZXIKICAtViwgLS12ZXJzaW9u ICAgICAgICAgICAgICBhZmZpY2hlciBsZSBub20gZXQgbGEgdmVyc2lvbiBkdSBsb2dpY2ll bCBldAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlcm1pbmVyCiAgICAgIC0tcHJp bnQtbG9jYWxlZGlyICAgICAgYWZmaWNoZXIgbGUgcsOpcGVydG9pcmUgY29udGVuYW50IGxl cyBkb25uw6llcyBhdmVjCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZMOpcGVuZGFu Y2UgZGVzIGxvY2FsZXMgZXQgdGVybWluZXIKICAgICAgLS1wcmludC1kYXRhZGlyICAgICAg ICBhZmZpY2hlciBsZSByw6lwZXJ0b2lyZSBjb250ZW5hbnQgbGVzIHNxdWVsZXR0ZXMgZXQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYU0xUIGV0IHRlcm1pbmVyCiAgLXUsIC0t dXBkYXRlICAgICAgICAgICAgICAgYXBwbGlxdWVyIGxlcyBjb3JyZWN0aWZzIGF1IGZpY2hp ZXIgZGUgZ3JhbW1haXJlIHNvdXJjZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0 IHRlcm1pbmVyCiAgLWYsIC0tZmVhdHVyZVs9Rk9OQ1RJT05TXSAgYWN0aXZlciBkZXMgZm9u Y3Rpb25uYWxpdMOpcyBkaXZlcnNlcwoKRk9OQ1RJT05TIGVzdCB1bmUgbGlzdGUgZGUgbW90 cyBzw6lwYXLDqXMgcGFyIGRlcyB2aXJndWxlcyBwb3V2YW50IGNvbnRlbmlywqA6CiAgY2Fy ZXQsIGRpYWdub3N0aWNzLXNob3ctY2FyZXQKICAgICAgICAgICAgICAgICAgICBtb250cmVy IGxlcyBlcnJldXJzIGF2ZWMgZGVzIGN1cnNldXJzCiAgZml4aXQsIGRpYWdub3N0aWNzLXBh cnNlYWJsZS1maXhpdHMKICAgICAgICAgICAgICAgICAgICBtb250cmVyIGxlcyBjb3JyZWN0 aWZzIHNvdXMgZm9ybWUgbWFjaGluZQogIHN5bnRheC1vbmx5ICAgICAgIG5lIGfDqW7DqXJl ciBhdWN1biBmaWNoaWVyCiAgYWxsICAgICAgICAgICAgICAgdG91cyBjaS1kZXNzdXMKICBu b25lICAgICAgICAgICAgICBkw6lzYWN0aXZlciB0b3VzIGNpLWRlc3N1cwoKRGlhZ25vc3Rp cXVlc8KgOgogIC1XLCAtLXdhcm5pbmdzWz1DQVTDiUdPUklFXSByYXBwb3J0ZXIgbGVzIGF2 ZXJ0aXNzZW1lbnRzIGRhbnMgQ0FUw4lHT1JJRQogICAgICAtLWNvbG9yWz1RVUFORF0gICAg ICAgIHF1YW5kIGNvbG9yaXNlciBsZXMgZGlhZ25vc3RpcXVlcwogICAgICAtLXN0eWxlPUZJ Q0hJRVIgICAgICAgIHNww6ljaWZpZSBsZSBGSUNISUVSIENTUyBwb3VyIGxhIGNvbG9yaXNh dGlvbiBkZXMgZGlhZ25vc3RpcXVlcwoKTGVzIGNhdMOpZ29yaWVzIGQnYXZlcnRpc3NlbWVu dHMgaW5jbHVlbnTCoDoKICBjb25mbGljdHMtc3IgICAgICBjb25mbGl0cyBTL1IgKGFjdGl2 w6kgcGFyIGTDqWZhdXQpCiAgY29uZmxpY3RzLXJyICAgICAgY29uZmxpdHMgUi9SIChhY3Rp dsOpIHBhciBkw6lmYXV0KQogIGRhbmdsaW5nLWFsaWFzICAgIGwnYWxpYXMgY2hhw65uZSBu J2VzdCBwYXMgYXR0YWNow6kgw6AgdW4gc3ltYm9sZQogIGRlcHJlY2F0ZWQgICAgICAgIGNv bnN0cnVjdGlvbiBvYnNvbMOodGUKICBlbXB0eS1ydWxlICAgICAgICByw6hnbGUgdmlkZSBz YW5zICVlbXB0eQogIG1pZHJ1bGUtdmFsdWVzICAgIHZhbGV1cnMgZGUgcsOoZ2xlIGludGVy bcOpZGlhaXJlIG5vbiBkw6lmaW5pZXMgb3UgaW51dGlsaXPDqWVzCiAgcHJlY2VkZW5jZSAg ICAgICAgcHJpb3JpdMOpIGV0IGFzc29jaWF0aXZpdMOpIGludXRpbGVzCiAgeWFjYyAgICAg ICAgICAgICAgaW5jb21wYXRpYmlsaXTDqXMgYXZlYyBQT1NJWCBZYWNjCiAgb3RoZXIgICAg ICAgICAgICAgdG91cyBsZXMgYXV0cmVzIGF2ZXJ0aXNzZW1lbnRzIChhY3RpdsOpIHBhciBk w6lmYXV0KQogIGFsbCAgICAgICAgICAgICAgIHRvdXMgbGVzIGF2ZXJ0aXNzZW1lbnRzIHNh dWYgwqvCoGRhbmdsaW5nLWFsaWFzwqDCuyBldCDCq8KgeWFjY8KgwrsKICBuby1DQVRFR09S WSAgICAgICBkw6lzYWN0aXZlciBsZXMgYXZlcnRpc3NlbWVudHMgZGFucyBDQVRFR09SSUUK ICBub25lICAgICAgICAgICAgICBkw6lzYWN0aXZlciB0b3VzIGxlcyBhdmVydGlzc2VtZW50 cwogIGVycm9yWz1DQVRFR09SWV0gIHRyYWl0ZXIgbGVzIGF2ZXJ0aXNzZW1lbnRzIGNvbW1l IGRlcyBlcnJldXJzCgpRVUFORCBwZXV0IHByZW5kcmUgbCd1bmUgZGVzIHZhbGV1cnMgc3Vp dmFudGVzwqA6CiAgYWx3YXlzLCB5ZXMgIGNvbG9yaXNlciBsYSBzb3J0aWUKICBuZXZlciwg bm8gICAgbmUgcGFzIGNvbG9yaXNlciBsYSBzb3J0aWUKICBhdXRvLCB0dHkgICAgY29sb3Jp c2VyIHNpIGxlIHDDqXJpcGjDqXJpcXVlIGRlIHNvcnRpZSBlc3QgdW4gdHR5CgpSw6lnbGFn ZXMgZGUgbCdhbmFseXNldXI6CiAgLUwsIC0tbGFuZ3VhZ2U9TEFOR0FHRSAgICAgICAgICAg aW5kaXF1ZXIgbGUgbGFuZ2FnZSBkZSBwcm9ncmFtbWF0aW9uIGRlIHNvcnRpZQogIC1TLCAt LXNrZWxldG9uPUZJQ0hJRVIgICAgICAgICAgIHV0aWxpc2VyIGxlIEZJQ0hJRVIgc3F1ZWxl dHRlCiAgLXQsIC0tZGVidWcgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlciBsZSBtb2Rl IGRlIHN1aXZpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpcXVl IMOgIMKrwqAtRHBhcnNlLnRyYWNlwqDCuwogICAgICAtLWxvY2F0aW9ucyAgICAgICAgICAg ICAgICAgIHBlcm1ldHRyZSBsZSBjYWxjdWwgZGVzIGxvY2FsaXNhdGlvbnMKICAtRCwgLS1k ZWZpbmU9Tk9NWz1WQUxFVVJdICAgICAgICBzaW1pbGFpcmUgw6AgwqvCoCVkZWZpbmUgTk9N ICJWQUxFVVIiwqDCuwogIC1GLCAtLWZvcmNlLWRlZmluZT1OT01bPVZBTEVVUl0gIG91dHJl cGFzc2UgwqvCoCVkZWZpbmUgTk9NICJWQUxFVVIiwqDCuwogIC1wLCAtLW5hbWUtcHJlZml4 PVBSw4lGSVhFICAgICAgICBhY2NvbGVyIGxlIFBSw4lGSVhFIGF1eCBzeW1ib2xlcyBleHRl cm5lcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmR1IG9ic29sw6h0 ZSBwYXIgwqvCoC1EYXBpLnByZWZpeD1QUsOJRklYRcKgwrsKICAtbCwgLS1uby1saW5lcyAg ICAgICAgICAgICAgICAgICBuZSBwYXMgZ8OpbsOpcmVyIGxlcyBkaXJlY3RpdmVzIMKrwqAj bGluZcKgwrsKICAtaywgLS10b2tlbi10YWJsZSAgICAgICAgICAgICAgICBpbmNsdXJlIGxh IHRhYmxlIGRlcyBub21zIGRlIGpldG9ucwogIC15LCAtLXlhY2MgICAgICAgICAgICAgICAg ICAgICAgIMOpbXVsZXIgWWFjYyBlbiBtb2RlIFBPU0lYCgpGaWNoaWVycyBkZSBzb3J0aWXC oDoKICAgICAgLS1kZWZpbmVzWz1GSUNISUVSXSAgICBwcm9kdWlyZSB1biBmaWNoaWVyIGQn ZW4tdMOqdGUKICAtZCAgICAgICAgICAgICAgICAgICAgICAgICBpZGVtIG1haXMgc2FucyBz cMOpY2lmaWVyIGxlIEZJQ0hJRVIgKHBvdXIgbGUgWWFjYyBQT1NJWCkKICAtciwgLS1yZXBv cnQ9Q0hPU0VTICAgICAgICBnw6luw6lyZXIgbGVzIGTDqXRhaWxzIGNvbmNlcm5hbnQgbCdh dXRvbWF0ZQogICAgICAtLXJlcG9ydC1maWxlPUZJQ0hJRVIgIMOpY3JpcmUgbGUgcmFwcG9y dCBkYW5zIGxlIEZJQ0hJRVIKICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBpZGVudGlx dWUgw6AgwqvCoC0tcmVwb3J0PXN0YXRlwqDCuwogIC1iLCAtLWZpbGUtcHJlZml4PVBSw4lG SVhFICB1dGlsaXNlciBsZSBQUsOJRklYRSBwb3VyIGxlIGZpY2hpZXIgZGUgc29ydGllCiAg LW8sIC0tb3V0cHV0PUZJQ0hJRVIgICAgICAgcHJvZHVpcmUgbGEgc29ydGllIGRhbnMgbGUg RklDSElFUgogIC1nLCAtLWdyYXBoWz1GSUNISUVSXSAgICAgIHByb2R1aXJlIGF1c3NpIHVu IGdyYXBoZSBkZSBsJ2F1dG9tYXRlCiAgLXgsIC0teG1sWz1GSUNISUVSXSAgICAgICAgcHJv ZHVpcmUgdW4gcmFwcG9ydCBYTUwgZGUgbCdhdXRvbWF0ZQoKQ0hPU0VTIGVzdCB1bmUgbGlz dGUgZGUgbW90cyBzw6lwYXLDqXMgcGFyIGRlcyB2aXJndWxlcyBwb3V2YW50IGNvbnRlbmly wqA6CiAgc3RhdGVzICAgICAgZMOpY3JpcmUgbGVzIMOpdGF0cwogIGl0ZW1zZXRzICAgIGNv bXBsw6l0ZXIgbGVzIGVuc2VtYmxlcyBkJ8OpbMOpbWVudHMgZHUgY8WTdXIgYXZlYyBsZXVy cyBmZXJtZXR1cmVzCiAgbG9va2FoZWFkcyAgZXhwbGljaXRlbWVudCBhc3NvY2llciBsZXMg amV0b25zIGxvb2thaGVhZCBhdXggw6lsw6ltZW50cwogIHNvbHZlZCAgICAgIGTDqWNyaXJl IGxhIHNvbHV0aW9uIGF1eCBjb25mbGl0cyBwYXIgZMOpY2FsYWdlL3LDqWR1Y3Rpb24KICBh bGwgICAgICAgICBpbmNsdXJlIHRvdXRlcyBsZXMgaW5mb3JtYXRpb25zIGNpLWRlc3N1cwog IG5vbmUgICAgICAgIGTDqXNhY3RpdmVyIGxlIHJhcHBvcnQKClJhcHBvcnRleiB0b3V0ZXMg YW5vbWFsaWVzIMOgIDxidWctYmlzb25AZ251Lm9yZz4uCnBhZ2UgZCdhY2N1ZWlsIGRlIEdO VSBCaXNvbjogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYmlzb24vPi4KQWlkZSBn w6luw6lyaXF1ZSBzdXIgbCd1dGlsaXNhdGlvbiBkZXMgbG9naWNpZWxzIEdOVTogPGh0dHA6 Ly93d3cuZ251Lm9yZy9oZWxwL2dldGhlbHAuZnIuaHRtbD4uClNpZ25hbGV6IGxlcyBlcnJl dXJzIGRlIHRyYWR1Y3Rpb25zIMOgIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90 ZWFtL2ZyLmh0bWw+LgpQb3VyIGxhIGRvY3VtZW50YXRpb24gY29tcGzDqHRlLCBleMOpY3V0 ZXo6IGluZm8gYmlzb24uCisgY2F0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvY29uZmlnLmxvZwpUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1 Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQpydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVn Z2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgoKSXQgd2FzIGNyZWF0ZWQgYnkg R05VIEF1dG9tYWtlIGNvbmZpZ3VyZSAxLjE2LjIsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkg R05VIEF1dG9jb25mIDIuNjkuMjA0LTk4ZDYuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3 YXMKCiAgJCAuL2NvbmZpZ3VyZSBDQz1nY2MgJ0NGTEFHUz0tbWFyY2g9em52ZXIxIC1tdHVu ZT16bnZlcjEgLU8zJyBDWFg9ZysrICdDWFhGTEFHUz0tbWFyY2g9em52ZXIxIC1tdHVuZT16 bnZlcjEgLU8zJwoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0t LS0gIyMKCmhvc3RuYW1lID0gemVuZGV2MQp1bmFtZSAtbSA9IHg4Nl82NAp1bmFtZSAtciA9 IDUuNi45cnl6ZW4KdW5hbWUgLXMgPSBMaW51eAp1bmFtZSAtdiA9ICMyMiBTTVAgU2F0IE1h eSAyIDE3OjA3OjU1IENFU1QgMjAyMAoKL3Vzci9iaW4vdW5hbWUgLXAgPSB1bmtub3duCi9i aW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVu a25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0 c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IHVua25vd24KL2Jp bi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9 IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6IC9ob21l L2h2L2Jpbi8KUEFUSDogL3Vzci9sb2NhbC9iaW4vClBBVEg6IC91c3IvYmluLwpQQVRIOiAv YmluLwpQQVRIOiAvaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9i aW4vClBBVEg6IC9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBk YXRlL2Jpbi8KUEFUSDogL29wdC9TRUdHRVIvSkxpbmsvCgoKIyMgLS0tLS0tLS0tLS0gIyMK IyMgQ29yZSB0ZXN0cy4gIyMKIyMgLS0tLS0tLS0tLS0gIyMKCmNvbmZpZ3VyZToyMDQ4OiBj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcwpjb25maWd1 cmU6MjA2NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwODI6IGNoZWNraW5nIGJ1aWxkIHN5 c3RlbSB0eXBlCmNvbmZpZ3VyZToyMDk3OiByZXN1bHQ6IHg4Nl82NC1wYy1saW51eC1nbnUK Y29uZmlndXJlOjIxMTc6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUKY29uZmlndXJlOjIx MzE6IHJlc3VsdDogeDg2XzY0LXBjLWxpbnV4LWdudQpjb25maWd1cmU6MjE4NDogY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbApjb25maWd1cmU6MjI1NzogcmVzdWx0 OiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNvbmZpZ3VyZToyMjY4OiBjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29uZmlndXJlOjIzMjM6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyNDg0OiBjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAKY29u ZmlndXJlOjI1Mjg6IHJlc3VsdDogL2Jpbi9ta2RpciAtcApjb25maWd1cmU6MjUzNTogY2hl Y2tpbmcgZm9yIGdhd2sKY29uZmlndXJlOjI1NTY6IGZvdW5kIC91c3IvbG9jYWwvYmluL2dh d2sKY29uZmlndXJlOjI1Njc6IHJlc3VsdDogZ2F3awpjb25maWd1cmU6MjU3ODogY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6MjYwMTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjI3NTQ6IGNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MKY29uZmln dXJlOjI3NTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzY4OiBjaGVja2luZyBmb3IgcGVy bApjb25maWd1cmU6Mjc5MTogZm91bmQgL3Vzci9iaW4vcGVybApjb25maWd1cmU6MjgwMzog cmVzdWx0OiAvdXNyL2Jpbi9wZXJsCmNvbmZpZ3VyZToyODE1OiAvdXNyL2Jpbi9wZXJsIC0t dmVyc2lvbgoKVGhpcyBpcyBwZXJsIDUsIHZlcnNpb24gMjQsIHN1YnZlcnNpb24gMSAodjUu MjQuMSkgYnVpbHQgZm9yIHg4Nl82NC1saW51eC1nbnUtdGhyZWFkLW11bHRpCih3aXRoIDg2 IHJlZ2lzdGVyZWQgcGF0Y2hlcywgc2VlIHBlcmwgLVYgZm9yIG1vcmUgZGV0YWlsKQoKQ29w eXJpZ2h0IDE5ODctMjAxNywgTGFycnkgV2FsbAoKUGVybCBtYXkgYmUgY29waWVkIG9ubHkg dW5kZXIgdGhlIHRlcm1zIG9mIGVpdGhlciB0aGUgQXJ0aXN0aWMgTGljZW5zZSBvciB0aGUK R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHdoaWNoIG1heSBiZSBmb3VuZCBpbiB0aGUg UGVybCA1IHNvdXJjZSBraXQuCgpDb21wbGV0ZSBkb2N1bWVudGF0aW9uIGZvciBQZXJsLCBp bmNsdWRpbmcgRkFRIGxpc3RzLCBzaG91bGQgYmUgZm91bmQgb24KdGhpcyBzeXN0ZW0gdXNp bmcgIm1hbiBwZXJsIiBvciAicGVybGRvYyBwZXJsIi4gIElmIHlvdSBoYXZlIGFjY2VzcyB0 byB0aGUKSW50ZXJuZXQsIHBvaW50IHlvdXIgYnJvd3NlciBhdCBodHRwOi8vd3d3LnBlcmwu b3JnLywgdGhlIFBlcmwgSG9tZSBQYWdlLgoKY29uZmlndXJlOjI4MTg6ICQ/ID0gMApjb25m aWd1cmU6MjgzMDogY2hlY2tpbmcgZm9yIHRleApjb25maWd1cmU6Mjg1MTogZm91bmQgL3Vz ci9iaW4vdGV4CmNvbmZpZ3VyZToyODYyOiByZXN1bHQ6IHRleApjb25maWd1cmU6Mjg3Mzog dGV4IC0tdmVyc2lvbiA8L2Rldi9udWxsClRlWCAzLjE0MTU5MjY1IChUZVggTGl2ZSAyMDE2 L0RlYmlhbikKa3BhdGhzZWEgdmVyc2lvbiA2LjIuMgpDb3B5cmlnaHQgMjAxNiBELkUuIEtu dXRoLgpUaGVyZSBpcyBOTyB3YXJyYW50eS4gIFJlZGlzdHJpYnV0aW9uIG9mIHRoaXMgc29m dHdhcmUgaXMKY292ZXJlZCBieSB0aGUgdGVybXMgb2YgYm90aCB0aGUgVGVYIGNvcHlyaWdo dCBhbmQKdGhlIExlc3NlciBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KRm9yIG1vcmUg aW5mb3JtYXRpb24gYWJvdXQgdGhlc2UgbWF0dGVycywgc2VlIHRoZSBmaWxlCm5hbWVkIENP UFlJTkcgYW5kIHRoZSBUZVggc291cmNlLgpQcmltYXJ5IGF1dGhvciBvZiBUZVg6IEQuRS4g S251dGguCmNvbmZpZ3VyZToyODc2OiAkPyA9IDAKY29uZmlndXJlOjI4OTQ6IGNoZWNraW5n IGZvciB5YWNjCmNvbmZpZ3VyZToyOTE1OiBmb3VuZCAvdXNyL2xvY2FsL2Jpbi95YWNjCmNv bmZpZ3VyZToyOTI2OiByZXN1bHQ6IHlhY2MKY29uZmlndXJlOjI5NDI6IGNoZWNraW5nIGZv ciBsZXgKY29uZmlndXJlOjI5NjM6IGZvdW5kIC91c3IvYmluL2xleApjb25maWd1cmU6Mjk3 NDogcmVzdWx0OiBsZXgKY29uZmlndXJlOjI5OTU6IGNoZWNraW5nIHdoZXRoZXIgYXV0b2Nv bmYgaXMgaW5zdGFsbGVkCmNvbmZpZ3VyZTozMDAxOiBhdXRvY29uZiAtLXZlcnNpb24KYXV0 b2NvbmYgKEdOVSBBdXRvY29uZikgMi42OQpDb3B5cmlnaHQgKEMpIDIwMTIgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BMdjMrL0F1dG9jb25mOiBHTlUgR1BM IHZlcnNpb24gMyBvciBsYXRlcgo8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw+ LCA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZXhjZXB0aW9ucy5odG1sPgpUaGlzIGlzIGZy ZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBp dC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxh dy4KCldyaXR0ZW4gYnkgRGF2aWQgSi4gTWFjS2VuemllIGFuZCBBa2ltIERlbWFpbGxlLgpj b25maWd1cmU6MzAwNDogJD8gPSAwCmNvbmZpZ3VyZTozMDEyOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MzAxOTogY2hlY2tpbmcgd2hldGhlciBhdXRvY29uZiB3b3Jrcwpjb25maWd1cmU6 MzAyNzogY2QgY29uZnRlc3QgJiYgYXV0b2NvbmYgLW8gL2Rldi9udWxsIGNvbmZ0ZXN0LmFj CmNvbmZpZ3VyZTozMDMwOiAkPyA9IDAKY29uZmlndXJlOjMwMzk6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTozMDQ2OiBjaGVja2luZyB3aGV0aGVyIGF1dG9jb25mIGlzIHJlY2VudCBlbm91 Z2gKY29uZmlndXJlOjMwNTQ6IGNkIGNvbmZ0ZXN0ICYmIGF1dG9jb25mIC1vIC9kZXYvbnVs bCBjb25mdGVzdC5hYwpjb25maWd1cmU6MzA1NzogJD8gPSAwCmNvbmZpZ3VyZTozMDY2OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MzA3MzogY2hlY2tpbmcgd2hldGhlciBsbiB3b3Jrcwpj b25maWd1cmU6MzA5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxMTI6IGNoZWNraW5nIGZv ciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZQpjb25maWd1cmU6MzE3Njog cmVzdWx0OiAvYmluL2dyZXAKY29uZmlndXJlOjMxODE6IGNoZWNraW5nIGZvciBlZ3JlcApj b25maWd1cmU6MzI0OTogcmVzdWx0OiAvYmluL2dyZXAgLUUKY29uZmlndXJlOjMyNTQ6IGNo ZWNraW5nIGZvciBmZ3JlcApjb25maWd1cmU6MzMyMjogcmVzdWx0OiAvYmluL2dyZXAgLUYK Y29uZmlndXJlOjMzNjU6IHdpbGwgbm93IGxvb2sgZm9yIGEgc3R1cmR5IFBPU0lYIHNoZWxs LCBmb3Igb3VyIHRlc3RzdWl0ZQpjb25maWd1cmU6MzQwMzogY2hlY2tpbmcgZm9yIHNoCmNv bmZpZ3VyZTozNDI2OiBmb3VuZCAvYmluL3NoCmNvbmZpZ3VyZTozNDM4OiByZXN1bHQ6IC9i aW4vc2gKY29uZmlndXJlOjM0MDM6IGNoZWNraW5nIGZvciBzaDUKY29uZmlndXJlOjM0NDE6 IHJlc3VsdDogbm8KY29uZmlndXJlOjM0MDM6IGNoZWNraW5nIGZvciBkYXNoCmNvbmZpZ3Vy ZTozNDI2OiBmb3VuZCAvYmluL2Rhc2gKY29uZmlndXJlOjM0Mzg6IHJlc3VsdDogL2Jpbi9k YXNoCmNvbmZpZ3VyZTozNDAzOiBjaGVja2luZyBmb3IgYXNoCmNvbmZpZ3VyZTozNDI2OiBm b3VuZCAvYmluL2FzaApjb25maWd1cmU6MzQzODogcmVzdWx0OiAvYmluL2FzaApjb25maWd1 cmU6MzQwMzogY2hlY2tpbmcgZm9yIGJhc2gKY29uZmlndXJlOjM0MjY6IGZvdW5kIC91c3Iv bG9jYWwvYmluL2Jhc2gKY29uZmlndXJlOjM0Mzg6IHJlc3VsdDogL3Vzci9sb2NhbC9iaW4v YmFzaApjb25maWd1cmU6MzQwMzogY2hlY2tpbmcgZm9yIHpzaApjb25maWd1cmU6MzQyNjog Zm91bmQgL3Vzci9iaW4venNoCmNvbmZpZ3VyZTozNDM4OiByZXN1bHQ6IC91c3IvYmluL3pz aApjb25maWd1cmU6MzQwMzogY2hlY2tpbmcgZm9yIGtzaApjb25maWd1cmU6MzQ0MTogcmVz dWx0OiBubwpjb25maWd1cmU6MzQwMzogY2hlY2tpbmcgZm9yIHBka3NoCmNvbmZpZ3VyZToz NDQxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNDYyOiBjaGVja2luZyB3aGV0aGVyIC9iaW4v c2ggc3VwcG9ydHMgJChjbWQpCmNvbmZpZ3VyZTozNDcyOiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MzQ4MjogY2hlY2tpbmcgd2hldGhlciAvYmluL3NoIHN1cHBvcnRzICQoKGV4cHIpKQpj b25maWd1cmU6MzQ5MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM1MDI6IGNoZWNraW5nIHdo ZXRoZXIgL2Jpbi9zaCBzdXBwb3J0cyAkeyN2YXJ9CmNvbmZpZ3VyZTozNTE1OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MzUyNTogY2hlY2tpbmcgd2hldGhlciAvYmluL3NoIHN1cHBvcnRz ICR7dmFyI2dsb2J9IGFuZCAke3ZhciVnbG9ifQpjb25maWd1cmU6MzUzOTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjM1NDk6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBwcmVzZXJ2ZXMg ZXhpdCB0cmFwcyB3aXRoICJzZXQgLWUiCmNvbmZpZ3VyZTozNTU5OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MzU2OTogY2hlY2tpbmcgd2hldGhlciAvYmluL3NoIGNhbiBkZWZpbmUgZXhp dCB0cmFwcyBpbiBhIHNoZWxsIGZ1bmN0aW9uCmNvbmZpZ3VyZTozNTc5OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MzU4OTogY2hlY2tpbmcgd2hldGhlciAvYmluL3NoIGNvcnJ1cHRzIHN0 ZGVyciB3aXRoICJzZXQgLXgiCmNvbmZpZ3VyZTozNjAzOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZTozNjExOiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggY2FuIHJldHVybiBlYXJseSBmcm9t ICJkb3Qtc291cmNlZCIgZmlsZXMKY29uZmlndXJlOjM2MjE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTozNjMzOiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggc3VwcG9ydHMgYWxpYXMgbmFt ZWQgbGlrZSBzaGVsbCBidWlsdGlucwoKY29uZmlndXJlOjM2NDM6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTozNjUzOiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggc3VwcG9ydHMgInRlc3Qg LWUiCmNvbmZpZ3VyZTozNjYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzY4MTogc2hlbGwg L2Jpbi9zaCBpcyBnb29kIGVub3VnaCwgc3RvcCBsb29raW5nCmNvbmZpZ3VyZTozNjk4OiB3 aWxsIHVzZSAvYmluL3NoIGFzIHRoZSB0ZXN0c3VpdGUgc2hlbGwKY29uZmlndXJlOjM3MjI6 IHdpbGwgbm93IGxvb2sgZm9yIGdlbmVyaWMgY29tcGlsZXJzCmNvbmZpZ3VyZTozODUwOiBj aGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTozODU5OiBnY2MgLS12 ZXJzaW9uID4mNQpnY2MgKEdDQykgOC40LjAKQ29weXJpZ2h0IChDKSAyMDE4IEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUg c291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsg bm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTozODcwOiAkPyA9IDAKY29uZmlndXJlOjM4NTk6IGdj YyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNPTExFQ1RfR0NDPWdjYwpDT0xMRUNU X0xUT19XUkFQUEVSPS91c3IvbG9jYWwvbGliZXhlYy9nY2MveDg2XzY0LXBjLWxpbnV4LWdu dS84LjQuMC9sdG8td3JhcHBlcgpUYXJnZXQ6IHg4Nl82NC1wYy1saW51eC1nbnUKQ29uZmln dXJlZCB3aXRoOiAuLi8uLi9nY2MtOC40LjAvY29uZmlndXJlIENGTEFHUz0nLW1hcmNoPXpu dmVyMSAtbXR1bmU9em52ZXIxIC1PMycgQ1hYRkxBR1M9Jy1tYXJjaD16bnZlcjEgLW10dW5l PXpudmVyMSAtTzMnIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxsdG8gLS13aXRoLWNwdT16 bnZlcjEgLS13aXRoLXR1bmU9em52ZXIxIC0td2l0aC1mcG1hdGg9YXZ4IC0tZW5hYmxlLW5s cyAtLXdpdGgtZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC0tZW5hYmxlLWxpbmtlci1idWls ZC1pZCAtLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9Ym90aCAtLWVuYWJsZS1vZmZsb2FkLXRh cmdldHM9aHNhIC0tZGlzYWJsZS1tdWx0aWxpYiAtLXdpdGgtYnVpbGQtY29uZmlnPWJvb3Rz dHJhcC1sdG8KVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA4LjQuMCAoR0NDKSAK Y29uZmlndXJlOjM4NzA6ICQ/ID0gMApjb25maWd1cmU6Mzg1OTogZ2NjIC1WID4mNQobWzAx bRtbS2djYzobW20bW0sgG1swMTszMW0bW0tlcnJvcjogG1ttG1tLdW5yZWNvZ25pemVkIGNv bW1hbmQgbGluZSBvcHRpb24gJxtbMDFtG1tLLVYbW20bW0snChtbMDFtG1tLZ2NjOhtbbRtb SyAbWzAxOzMxbRtbS2ZhdGFsIGVycm9yOiAbW20bW0tubyBpbnB1dCBmaWxlcwpjb21waWxh dGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6Mzg3MDogJD8gPSAxCmNvbmZpZ3VyZTozODU5 OiBnY2MgLXF2ZXJzaW9uID4mNQobWzAxbRtbS2djYzobW20bW0sgG1swMTszMW0bW0tlcnJv cjogG1ttG1tLdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJxtbMDFtG1tLLXF2 ZXJzaW9uG1ttG1tLJzsgZGlkIHlvdSBtZWFuICcbWzAxbRtbSy0tdmVyc2lvbhtbbRtbSyc/ ChtbMDFtG1tLZ2NjOhtbbRtbSyAbWzAxOzMxbRtbS2ZhdGFsIGVycm9yOiAbW20bW0tubyBp bnB1dCBmaWxlcwpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6Mzg3MDogJD8g PSAxCmNvbmZpZ3VyZTozODU5OiBnY2MgLXZlcnNpb24gPiY1ChtbMDFtG1tLZ2NjOhtbbRtb SyAbWzAxOzMxbRtbS2Vycm9yOiAbW20bW0t1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9w dGlvbiAnG1swMW0bW0stdmVyc2lvbhtbbRtbSycKG1swMW0bW0tnY2M6G1ttG1tLIBtbMDE7 MzFtG1tLZmF0YWwgZXJyb3I6IBtbbRtbS25vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRl cm1pbmF0ZWQuCmNvbmZpZ3VyZTozODcwOiAkPyA9IDEKY29uZmlndXJlOjM4OTA6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MKY29uZmlndXJlOjM5MTI6IGdjYyAt bWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zICAgY29uZnRlc3QuYyAgPiY1CmNvbmZp Z3VyZTozOTE2OiAkPyA9IDAKY29uZmlndXJlOjM5Njg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTozOTcxOiBjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h bWUKY29uZmlndXJlOjM5NzM6IHJlc3VsdDogYS5vdXQKY29uZmlndXJlOjM5Nzk6IGNoZWNr aW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29uZmlndXJlOjM5ODY6IGdjYyAtbyBj b25mdGVzdCAtbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zICAgY29uZnRlc3QuYyAg PiY1CmNvbmZpZ3VyZTozOTkwOiAkPyA9IDAKY29uZmlndXJlOjQwMTU6IHJlc3VsdDogCmNv bmZpZ3VyZTo0MDM3OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcK Y29uZmlndXJlOjQwNDc6IGdjYyAtbyBjb25mdGVzdCAtbWFyY2g9em52ZXIxIC1tdHVuZT16 bnZlcjEgLU8zICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo0MDUxOiAkPyA9IDAKY29u ZmlndXJlOjQwNTg6IC4vY29uZnRlc3QKY29uZmlndXJlOjQwNjI6ICQ/ID0gMApjb25maWd1 cmU6NDA4MDogcmVzdWx0OiBubwpjb25maWd1cmU6NDA4NTogY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBvYmplY3QgZmlsZXMKY29uZmlndXJlOjQxMDg6IGdjYyAtYyAtbWFyY2g9em52ZXIx IC1tdHVuZT16bnZlcjEgLU8zICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDExMjogJD8g PSAwCmNvbmZpZ3VyZTo0MTM2OiByZXN1bHQ6IG8KY29uZmlndXJlOjQxNDA6IGNoZWNraW5n IHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIEdOVSBDCmNvbmZpZ3VyZTo0MTYwOiBn Y2MgLWMgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjQxNjA6ICQ/ID0gMApjb25maWd1cmU6NDE3MDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjQxNzk6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcKY29uZmlndXJl OjQyMDA6IGdjYyAtYyAtZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyMDA6ICQ/ID0g MApjb25maWd1cmU6NDI0NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQyNjE6IGNoZWNraW5n IGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMTEgZmVhdHVyZXMKY29uZmlndXJlOjQ0NjU6 IGdjYyAgLWMgLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjQ0NjU6ICQ/ID0gMApjb25maWd1cmU6NDQ4MDogcmVzdWx0OiBub25l IG5lZWRlZApjb25maWd1cmU6NDc5OTogY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFu ZHMgLWMgYW5kIC1vIHRvZ2V0aGVyCmNvbmZpZ3VyZTo0ODIyOiBnY2MgLWMgY29uZnRlc3Qu YyAtbyBjb25mdGVzdDIubwpjb25maWd1cmU6NDgyNTogJD8gPSAwCmNvbmZpZ3VyZTo0ODIy OiBnY2MgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIubwpjb25maWd1cmU6NDgyNTogJD8g PSAwCmNvbmZpZ3VyZTo0ODM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTAyNTogY2hlY2tp bmcgZm9yIEMrKyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo1MDM0OiBnKysgLS12ZXJz aW9uID4mNQpnKysgKEdDQykgOC40LjAKQ29weXJpZ2h0IChDKSAyMDE4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291 cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90 IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4KCmNvbmZpZ3VyZTo1MDQ1OiAkPyA9IDAKY29uZmlndXJlOjUwMzQ6IGcrKyAt diA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNPTExFQ1RfR0NDPWcrKwpDT0xMRUNUX0xU T19XUkFQUEVSPS91c3IvbG9jYWwvbGliZXhlYy9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS84 LjQuMC9sdG8td3JhcHBlcgpUYXJnZXQ6IHg4Nl82NC1wYy1saW51eC1nbnUKQ29uZmlndXJl ZCB3aXRoOiAuLi8uLi9nY2MtOC40LjAvY29uZmlndXJlIENGTEFHUz0nLW1hcmNoPXpudmVy MSAtbXR1bmU9em52ZXIxIC1PMycgQ1hYRkxBR1M9Jy1tYXJjaD16bnZlcjEgLW10dW5lPXpu dmVyMSAtTzMnIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxsdG8gLS13aXRoLWNwdT16bnZl cjEgLS13aXRoLXR1bmU9em52ZXIxIC0td2l0aC1mcG1hdGg9YXZ4IC0tZW5hYmxlLW5scyAt LXdpdGgtZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC0tZW5hYmxlLWxpbmtlci1idWlsZC1p ZCAtLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9Ym90aCAtLWVuYWJsZS1vZmZsb2FkLXRhcmdl dHM9aHNhIC0tZGlzYWJsZS1tdWx0aWxpYiAtLXdpdGgtYnVpbGQtY29uZmlnPWJvb3RzdHJh cC1sdG8KVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA4LjQuMCAoR0NDKSAKY29u ZmlndXJlOjUwNDU6ICQ/ID0gMApjb25maWd1cmU6NTAzNDogZysrIC1WID4mNQobWzAxbRtb S2crKzobW20bW0sgG1swMTszMW0bW0tlcnJvcjogG1ttG1tLdW5yZWNvZ25pemVkIGNvbW1h bmQgbGluZSBvcHRpb24gJxtbMDFtG1tLLVYbW20bW0snChtbMDFtG1tLZysrOhtbbRtbSyAb WzAxOzMxbRtbS2ZhdGFsIGVycm9yOiAbW20bW0tubyBpbnB1dCBmaWxlcwpjb21waWxhdGlv biB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NTA0NTogJD8gPSAxCmNvbmZpZ3VyZTo1MDM0OiBn KysgLXF2ZXJzaW9uID4mNQobWzAxbRtbS2crKzobW20bW0sgG1swMTszMW0bW0tlcnJvcjog G1ttG1tLdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJxtbMDFtG1tLLXF2ZXJz aW9uG1ttG1tLJzsgZGlkIHlvdSBtZWFuICcbWzAxbRtbSy0tdmVyc2lvbhtbbRtbSyc/Chtb MDFtG1tLZysrOhtbbRtbSyAbWzAxOzMxbRtbS2ZhdGFsIGVycm9yOiAbW20bW0tubyBpbnB1 dCBmaWxlcwpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NTA0NTogJD8gPSAx CmNvbmZpZ3VyZTo1MDY1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgd29y a3MKY29uZmlndXJlOjUwODc6IGcrKyAtbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8z ICAgY29uZnRlc3QuY3BwICA+JjUKY29uZmlndXJlOjUwOTE6ICQ/ID0gMApjb25maWd1cmU6 NTE0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUxNDY6IGNoZWNraW5nIGZvciBDKysgY29t cGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTo1MTQ4OiByZXN1bHQ6 IGEub3V0CmNvbmZpZ3VyZTo1MTU0OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi bGVzCmNvbmZpZ3VyZTo1MTYxOiBnKysgLW8gY29uZnRlc3QgLW1hcmNoPXpudmVyMSAtbXR1 bmU9em52ZXIxIC1PMyAgIGNvbmZ0ZXN0LmNwcCAgPiY1CmNvbmZpZ3VyZTo1MTY1OiAkPyA9 IDAKY29uZmlndXJlOjUxOTA6IHJlc3VsdDogCmNvbmZpZ3VyZTo1MjEyOiBjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjUyMjI6IGcrKyAtbyBj b25mdGVzdCAtbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zICAgY29uZnRlc3QuY3Bw ICA+JjUKY29uZmlndXJlOjUyMjY6ICQ/ID0gMApjb25maWd1cmU6NTIzMzogLi9jb25mdGVz dApjb25maWd1cmU6NTIzNzogJD8gPSAwCmNvbmZpZ3VyZTo1MjU1OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo1MjYwOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25m aWd1cmU6NTI4MzogZysrIC1jIC1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMgIGNv bmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjUyODc6ICQ/ID0gMApjb25maWd1cmU6NTMxMTog cmVzdWx0OiBvCmNvbmZpZ3VyZTo1MzE1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxl ciBzdXBwb3J0cyBHTlUgQysrCmNvbmZpZ3VyZTo1MzM1OiBnKysgLWMgLW1hcmNoPXpudmVy MSAtbXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6NTMzNTog JD8gPSAwCmNvbmZpZ3VyZTo1MzQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTM1NDogY2hl Y2tpbmcgd2hldGhlciBnKysgYWNjZXB0cyAtZwpjb25maWd1cmU6NTM3NTogZysrIC1jIC1n ICBjb25mdGVzdC5jcHAgPiY1CmNvbmZpZ3VyZTo1Mzc1OiAkPyA9IDAKY29uZmlndXJlOjU0 MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDM2OiBjaGVja2luZyBmb3IgZysrIG9wdGlv biB0byBlbmFibGUgQysrMTEgZmVhdHVyZXMKY29uZmlndXJlOjU2NzM6IGcrKyAgLWMgLW1h cmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMyAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1 cmU6NTY3MzogJD8gPSAwCmNvbmZpZ3VyZTo1Njg4OiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNv bmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgeGxmOTUKY29uZmlndXJlOjU5OTM6IHJlc3Vs dDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBmOTUKY29uZmlndXJlOjU5OTM6 IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBmb3J0CmNvbmZpZ3Vy ZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgaWZvcnQK Y29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZv ciBpZmMKY29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNr aW5nIGZvciBlZmMKY29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6 IGNoZWNraW5nIGZvciBwZ2ZvcnRyYW4KY29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29u ZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBwZ2Y5NQpjb25maWd1cmU6NTk5MzogcmVzdWx0 OiBubwpjb25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIGxmOTUKY29uZmlndXJlOjU5OTM6 IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBmdG4KY29uZmlndXJl OjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBuYWdmb3IK Y29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZv ciB4bGY5MApjb25maWd1cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODogY2hl Y2tpbmcgZm9yIGY5MApjb25maWd1cmU6NTk5MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1 ODogY2hlY2tpbmcgZm9yIGFybWZsYW5nCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgZmxhbmcKY29uZmlndXJlOjU5OTM6IHJlc3Vs dDogbm8KY29uZmlndXJlOjU5NTg6IGNoZWNraW5nIGZvciBwZ2Y5MApjb25maWd1cmU6NTk5 MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1ODogY2hlY2tpbmcgZm9yIHBnaHBmCmNvbmZp Z3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2luZyBmb3IgZXBj ZjkwCmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBjaGVja2lu ZyBmb3IgZzk1CmNvbmZpZ3VyZTo1OTkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1OTU4OiBj aGVja2luZyBmb3IgZ2ZvcnRyYW4KY29uZmlndXJlOjU5OTM6IHJlc3VsdDogbm8KY29uZmln dXJlOjYwMTY6IGNoZWNraW5nIGZvciBGb3J0cmFuIGNvbXBpbGVyIHZlcnNpb24KY29uZmln dXJlOjYwMjU6ICAtLXZlcnNpb24gPiY1Ci4vY29uZmlndXJlOiAxOiBldmFsOiAtLXZlcnNp b246IG5vdCBmb3VuZApjb25maWd1cmU6NjAzNjogJD8gPSAxMjcKY29uZmlndXJlOjYwMjU6 ICAtdiA+JjUKLi9jb25maWd1cmU6IDE6IGV2YWw6IC12OiBub3QgZm91bmQKY29uZmlndXJl OjYwMzY6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2MDI1OiAgLVYgPiY1Ci4vY29uZmlndXJlOiAx OiBldmFsOiAtVjogbm90IGZvdW5kCmNvbmZpZ3VyZTo2MDM2OiAkPyA9IDEyNwpjb25maWd1 cmU6NjAyNTogIC1xdmVyc2lvbiA+JjUKLi9jb25maWd1cmU6IDE6IGV2YWw6IC1xdmVyc2lv bjogbm90IGZvdW5kCmNvbmZpZ3VyZTo2MDM2OiAkPyA9IDEyNwpjb25maWd1cmU6NjA1MTog Y2hlY2tpbmcgd2hldGhlciB0aGUgRm9ydHJhbiBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6 NjA3MzogICAgIGNvbmZ0ZXN0LmYgID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogY29uZnRl c3QuZjogbm90IGZvdW5kCmNvbmZpZ3VyZTo2MDc3OiAkPyA9IDEyNwpjb25maWd1cmU6NjEx NzogcmVzdWx0OiBubwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAgICAgICBw cm9ncmFtIG1haW4KfCAKfCAgICAgICBlbmQKY29uZmlndXJlOjYxMjM6IFdBUk5JTkc6IEZv cnRyYW4gY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcwpjb25maWd1cmU6NjM3 NzogdGVzdHMgcmVxdWlyaW5nIHRoZSBGb3J0cmFuIGNvbXBpbGVyIHdpbGwgYmUgc2tpcHBl ZApjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcgZm9yIHhsZgpjb25maWd1cmU6NjQ5ODogcmVz dWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcgZm9yIGY3Nwpjb25maWd1cmU6NjQ5 ODogcmVzdWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcgZm9yIGZydApjb25maWd1 cmU6NjQ5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcgZm9yIHBnZjc3 CmNvbmZpZ3VyZTo2NDk4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NDYzOiBjaGVja2luZyBm b3IgY2Y3Nwpjb25maWd1cmU6NjQ5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hl Y2tpbmcgZm9yIGZvcnQ3Nwpjb25maWd1cmU6NjQ5ODogcmVzdWx0OiBubwpjb25maWd1cmU6 NjQ2MzogY2hlY2tpbmcgZm9yIGZsMzIKY29uZmlndXJlOjY0OTg6IHJlc3VsdDogbm8KY29u ZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciBhZjc3CmNvbmZpZ3VyZTo2NDk4OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo2NDYzOiBjaGVja2luZyBmb3IgZzc3CmNvbmZpZ3VyZTo2NDk4OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NDYzOiBjaGVja2luZyBmb3IgYXJtZmxhbmcKY29uZmln dXJlOjY0OTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjY0NjM6IGNoZWNraW5nIGZvciBmbGFu Zwpjb25maWd1cmU6NjQ5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NjQ2MzogY2hlY2tpbmcg Zm9yIGdmb3J0cmFuCmNvbmZpZ3VyZTo2NDk4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTIx OiBjaGVja2luZyBmb3IgRm9ydHJhbiA3NyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo2 NTMwOiAgLS12ZXJzaW9uID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogLS12ZXJzaW9uOiBu b3QgZm91bmQKY29uZmlndXJlOjY1NDE6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2NTMwOiAgLXYg PiY1Ci4vY29uZmlndXJlOiAxOiBldmFsOiAtdjogbm90IGZvdW5kCmNvbmZpZ3VyZTo2NTQx OiAkPyA9IDEyNwpjb25maWd1cmU6NjUzMDogIC1WID4mNQouL2NvbmZpZ3VyZTogMTogZXZh bDogLVY6IG5vdCBmb3VuZApjb25maWd1cmU6NjU0MTogJD8gPSAxMjcKY29uZmlndXJlOjY1 MzA6ICAtcXZlcnNpb24gPiY1Ci4vY29uZmlndXJlOiAxOiBldmFsOiAtcXZlcnNpb246IG5v dCBmb3VuZApjb25maWd1cmU6NjU0MTogJD8gPSAxMjcKY29uZmlndXJlOjY1NTY6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIEZvcnRyYW4gNzcgY29tcGlsZXIgd29ya3MKY29uZmlndXJlOjY1 Nzg6ICAgIGNvbmZ0ZXN0LmYgID4mNQouL2NvbmZpZ3VyZTogMTogZXZhbDogY29uZnRlc3Qu Zjogbm90IGZvdW5kCmNvbmZpZ3VyZTo2NTgyOiAkPyA9IDEyNwpjb25maWd1cmU6NjYyMjog cmVzdWx0OiBubwpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAgICAgICBwcm9n cmFtIG1haW4KfCAKfCAgICAgICBlbmQKY29uZmlndXJlOjY2Mjg6IFdBUk5JTkc6IEZvcnRy YW4gNzcgY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcwpjb25maWd1cmU6Njg4 MjogdGVzdHMgcmVxdWlyaW5nIHRoZSBGb3J0cmFuIDc3IGNvbXBpbGVyIHdpbGwgYmUgc2tp cHBlZApjb25maWd1cmU6NjkxNTogd2lsbCBub3cgbG9vayBmb3IgR05VIGNvbXBpbGVycwpj b25maWd1cmU6NjkyMjogZ2NjIGlzIGFscmVhZHkgYSBHTlUgQyBjb21waWxlcgpjb25maWd1 cmU6NzAzODogZ2NjIC0tdmVyc2lvbiAmJiBnY2MgLXYKZ2NjIChHQ0MpIDguNC4wCkNvcHly aWdodCAoQykgMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBm cmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAg VGhlcmUgaXMgTk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCgpVc2luZyBidWlsdC1pbiBzcGVj cy4KQ09MTEVDVF9HQ0M9Z2NjCkNPTExFQ1RfTFRPX1dSQVBQRVI9L3Vzci9sb2NhbC9saWJl eGVjL2djYy94ODZfNjQtcGMtbGludXgtZ251LzguNC4wL2x0by13cmFwcGVyClRhcmdldDog eDg2XzY0LXBjLWxpbnV4LWdudQpDb25maWd1cmVkIHdpdGg6IC4uLy4uL2djYy04LjQuMC9j b25maWd1cmUgQ0ZMQUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJyBDWFhG TEFHUz0nLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMycgLS1lbmFibGUtbGFuZ3Vh Z2VzPWMsYysrLGx0byAtLXdpdGgtY3B1PXpudmVyMSAtLXdpdGgtdHVuZT16bnZlcjEgLS13 aXRoLWZwbWF0aD1hdnggLS1lbmFibGUtbmxzIC0td2l0aC1kaWFnbm9zdGljcy1jb2xvcj1h bHdheXMgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIC0td2l0aC1saW5rZXItaGFzaC1zdHls ZT1ib3RoIC0tZW5hYmxlLW9mZmxvYWQtdGFyZ2V0cz1oc2EgLS1kaXNhYmxlLW11bHRpbGli IC0td2l0aC1idWlsZC1jb25maWc9Ym9vdHN0cmFwLWx0bwpUaHJlYWQgbW9kZWw6IHBvc2l4 CmdjYyB2ZXJzaW9uIDguNC4wIChHQ0MpIApjb25maWd1cmU6NzA0MTogJD8gPSAwCmNvbmZp Z3VyZTo3MDU3OiBnKysgaXMgYWxyZWFkeSBhIEdOVSBDKysgY29tcGlsZXIKY29uZmlndXJl OjcxNzQ6IGcrKyAtLXZlcnNpb24gJiYgZysrIC12CmcrKyAoR0NDKSA4LjQuMApDb3B5cmln aHQgKEMpIDIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgaXMgZnJl ZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRo ZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoKVXNpbmcgYnVpbHQtaW4gc3BlY3Mu CkNPTExFQ1RfR0NDPWcrKwpDT0xMRUNUX0xUT19XUkFQUEVSPS91c3IvbG9jYWwvbGliZXhl Yy9nY2MveDg2XzY0LXBjLWxpbnV4LWdudS84LjQuMC9sdG8td3JhcHBlcgpUYXJnZXQ6IHg4 Nl82NC1wYy1saW51eC1nbnUKQ29uZmlndXJlZCB3aXRoOiAuLi8uLi9nY2MtOC40LjAvY29u ZmlndXJlIENGTEFHUz0nLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMycgQ1hYRkxB R1M9Jy1tYXJjaD16bnZlcjEgLW10dW5lPXpudmVyMSAtTzMnIC0tZW5hYmxlLWxhbmd1YWdl cz1jLGMrKyxsdG8gLS13aXRoLWNwdT16bnZlcjEgLS13aXRoLXR1bmU9em52ZXIxIC0td2l0 aC1mcG1hdGg9YXZ4IC0tZW5hYmxlLW5scyAtLXdpdGgtZGlhZ25vc3RpY3MtY29sb3I9YWx3 YXlzIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCAtLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9 Ym90aCAtLWVuYWJsZS1vZmZsb2FkLXRhcmdldHM9aHNhIC0tZGlzYWJsZS1tdWx0aWxpYiAt LXdpdGgtYnVpbGQtY29uZmlnPWJvb3RzdHJhcC1sdG8KVGhyZWFkIG1vZGVsOiBwb3NpeApn Y2MgdmVyc2lvbiA4LjQuMCAoR0NDKSAKY29uZmlndXJlOjcxNzc6ICQ/ID0gMApjb25maWd1 cmU6NzI1MjogY2hlY2tpbmcgZm9yIGdmb3J0cmFuCmNvbmZpZ3VyZTo3Mjg3OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZTo3Mzg4OiBjaGVja2luZyBmb3IgZzc3CmNvbmZpZ3VyZTo3NDIzOiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3Mzg4OiBjaGVja2luZyBmb3IgZ2ZvcnRyYW4KY29uZmln dXJlOjc0MjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjc1MTg6IGNoZWNraW5nIGZvciBnY2oK Y29uZmlndXJlOjc1NTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjc3NTQ6IGNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZQpjb25maWd1cmU6 Nzc2MDogcmVzdWx0OiBkb25lCmNvbmZpZ3VyZTo3Nzc1OiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcu c3RhdHVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpUaGlzIGZpbGUgd2Fz IGV4dGVuZGVkIGJ5IEdOVSBBdXRvbWFrZSBjb25maWcuc3RhdHVzIDEuMTYuMiwgd2hpY2gg d2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4yMDQtOThkNi4gIEludm9jYXRp b24gY29tbWFuZCBsaW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVB REVSUyAgPSAKICBDT05GSUdfTElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMgPSAKICAk IC4vY29uZmlnLnN0YXR1cyAKCm9uIHplbmRldjEKCmNvbmZpZy5zdGF0dXM6ODU2ODogY3Jl YXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czo4NTY4OiBjcmVhdGluZyBwcmUtaW5zdC1l bnYKCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAt LS0tLS0tLS0tLS0tLS0tICMjCgphY19jdl9BTV9URVNUX1JVTk5FUl9TSEVMTD0nL2Jpbi9z aCcKYWNfY3ZfYnVpbGQ9J3g4Nl82NC1wYy1saW51eC1nbnUnCmFjX2N2X2NfY29tcGlsZXJf Z251PSd5ZXMnCmFjX2N2X2N4eF9jb21waWxlcl9nbnU9J3llcycKYWNfY3ZfZW52X0FNX1RF U1RfUlVOTkVSX1NIRUxMX3NldD0nJwphY19jdl9lbnZfQU1fVEVTVF9SVU5ORVJfU0hFTExf dmFsdWU9JycKYWNfY3ZfZW52X0NDQ19zZXQ9JycKYWNfY3ZfZW52X0NDQ192YWx1ZT0nJwph Y19jdl9lbnZfQ0Nfc2V0PSdzZXQnCmFjX2N2X2Vudl9DQ192YWx1ZT0nZ2NjJwphY19jdl9l bnZfQ0ZMQUdTX3NldD0nc2V0JwphY19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPSctbWFyY2g9em52 ZXIxIC1tdHVuZT16bnZlcjEgLU8zJwphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PScnCmFjX2N2 X2Vudl9DUFBGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfQ1hYRkxBR1Nfc2V0PSdzZXQnCmFj X2N2X2Vudl9DWFhGTEFHU192YWx1ZT0nLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1P MycKYWNfY3ZfZW52X0NYWF9zZXQ9J3NldCcKYWNfY3ZfZW52X0NYWF92YWx1ZT0nZysrJwph Y19jdl9lbnZfRjc3X3NldD0nJwphY19jdl9lbnZfRjc3X3ZhbHVlPScnCmFjX2N2X2Vudl9G Q0ZMQUdTX3NldD0nJwphY19jdl9lbnZfRkNGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfRkNf c2V0PScnCmFjX2N2X2Vudl9GQ192YWx1ZT0nJwphY19jdl9lbnZfRkZMQUdTX3NldD0nJwph Y19jdl9lbnZfRkZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9HTlVfQ0Nfc2V0PScnCmFjX2N2 X2Vudl9HTlVfQ0NfdmFsdWU9JycKYWNfY3ZfZW52X0dOVV9DRkxBR1Nfc2V0PScnCmFjX2N2 X2Vudl9HTlVfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9HTlVfQ1hYRkxBR1Nfc2V0PScn CmFjX2N2X2Vudl9HTlVfQ1hYRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0dOVV9DWFhfc2V0 PScnCmFjX2N2X2Vudl9HTlVfQ1hYX3ZhbHVlPScnCmFjX2N2X2Vudl9HTlVfRjc3X3NldD0n JwphY19jdl9lbnZfR05VX0Y3N192YWx1ZT0nJwphY19jdl9lbnZfR05VX0ZDRkxBR1Nfc2V0 PScnCmFjX2N2X2Vudl9HTlVfRkNGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfR05VX0ZDX3Nl dD0nJwphY19jdl9lbnZfR05VX0ZDX3ZhbHVlPScnCmFjX2N2X2Vudl9HTlVfRkZMQUdTX3Nl dD0nJwphY19jdl9lbnZfR05VX0ZGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfR05VX0dDSkZM QUdTX3NldD0nJwphY19jdl9lbnZfR05VX0dDSkZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9H TlVfR0NKX3NldD0nJwphY19jdl9lbnZfR05VX0dDSl92YWx1ZT0nJwphY19jdl9lbnZfTERG TEFHU19zZXQ9JycKYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0xJQlNf c2V0PScnCmFjX2N2X2Vudl9MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9idWlsZF9hbGlhc19z ZXQ9JycKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPScnCmFjX2N2X2Vudl9ob3N0X2Fs aWFzX3NldD0nJwphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT0nJwphY19jdl9lbnZfdGFy Z2V0X2FsaWFzX3NldD0nJwphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3ZhbHVlPScnCmFjX2N2 X2hvc3Q9J3g4Nl82NC1wYy1saW51eC1nbnUnCmFjX2N2X3BhdGhfRUdSRVA9Jy9iaW4vZ3Jl cCAtRScKYWNfY3ZfcGF0aF9GR1JFUD0nL2Jpbi9ncmVwIC1GJwphY19jdl9wYXRoX0dSRVA9 Jy9iaW4vZ3JlcCcKYWNfY3ZfcGF0aF9QRVJMPScvdXNyL2Jpbi9wZXJsJwphY19jdl9wYXRo X2luc3RhbGw9Jy91c3IvYmluL2luc3RhbGwgLWMnCmFjX2N2X3BhdGhfbWtkaXI9Jy9iaW4v bWtkaXInCmFjX2N2X3Byb2dfQVdLPSdnYXdrJwphY19jdl9wcm9nX0xFWD0nbGV4JwphY19j dl9wcm9nX1RFWD0ndGV4JwphY19jdl9wcm9nX1lBQ0M9J3lhY2MnCmFjX2N2X3Byb2dfY2Nf YzExPScnCmFjX2N2X3Byb2dfY2NfZz0neWVzJwphY19jdl9wcm9nX2NjX3N0ZGM9JycKYWNf Y3ZfcHJvZ19jeHhfY3h4MTE9JycKYWNfY3ZfcHJvZ19jeHhfY3h4OTg9JycKYWNfY3ZfcHJv Z19jeHhfZz0neWVzJwphY19jdl9wcm9nX2N4eF9zdGRjeHg9JycKYWNfY3ZfcHJvZ19tYWtl X21ha2Vfc2V0PSd5ZXMnCmFtX2N2X2F1dG9jb25mX2luc3RhbGxlZD0neWVzJwphbV9jdl9h dXRvY29uZl92ZXJzaW9uPSd5ZXMnCmFtX2N2X2F1dG9jb25mX3dvcmtzPSd5ZXMnCmFtX2N2 X21ha2Vfc3VwcG9ydF9uZXN0ZWRfdmFyaWFibGVzPSd5ZXMnCmFtX2N2X3Byb2dfY2NfY19v PSd5ZXMnCmFtX2N2X3Byb2dfbG49J2xuJwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMg T3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9 JyIvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3ByZS1pbnN0LWVudiIg YWNsb2NhbC0xLjE2JwpBTVRBUj0nJCR7VEFSLXRhcn0nCkFNX0JBQ0tTTEFTSD0nXCcKQU1f REVGQVVMVF9WPSckKEFNX0RFRkFVTFRfVkVSQk9TSVRZKScKQU1fREVGQVVMVF9WRVJCT1NJ VFk9JzAnCkFNX1RFU1RfUlVOTkVSX1NIRUxMPScvYmluL3NoJwpBTV9WPSckKFYpJwpBUElW RVJTSU9OPScxLjE2JwpBVVRPQ09ORj0nJHtTSEVMTH0gL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi9saWIvbWlzc2luZyBhdXRvY29uZicKQVVUT0hFQURFUj0nJHtT SEVMTH0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9saWIvbWlzc2lu ZyBhdXRvaGVhZGVyJwpBVVRPTUFLRT0nIi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvcHJlLWluc3QtZW52IiBhdXRvbWFrZS0xLjE2JwpBV0s9J2dhd2snCkNDPSdn Y2MnCkNGTEFHUz0nLW1hcmNoPXpudmVyMSAtbXR1bmU9em52ZXIxIC1PMycKQ1BQRkxBR1M9 JycKQ1hYPSdnKysnCkNYWEZMQUdTPSctbWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8z JwpDWUdQQVRIX1c9J2VjaG8nCkRFRlM9Jy1EUEFDS0FHRV9OQU1FPVwiR05VXCBBdXRvbWFr ZVwiIC1EUEFDS0FHRV9UQVJOQU1FPVwiYXV0b21ha2VcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMTYuMlwiIC1EUEFDS0FHRV9TVFJJTkc9XCJHTlVcIEF1dG9tYWtlXCAxLjE2LjJcIiAt RFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWF1dG9tYWtlQGdudS5vcmdcIiAtRFBBQ0tBR0Vf VVJMPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFrZS9cIicKRUNIT19D PScnCkVDSE9fTj0nLW4nCkVDSE9fVD0nJwpFR1JFUD0nL2Jpbi9ncmVwIC1FJwpFWEVFWFQ9 J1VOS05PV04nCkY3Nz0nZmFsc2UnCkZDPSdmYWxzZScKRkNGTEFHUz0nJwpGRkxBR1M9JycK RkdSRVA9Jy9iaW4vZ3JlcCAtRicKR05VX0NDPSdnY2MnCkdOVV9DRkxBR1M9Jy1tYXJjaD16 bnZlcjEgLW10dW5lPXpudmVyMSAtTzMnCkdOVV9DWFg9J2crKycKR05VX0NYWEZMQUdTPSct bWFyY2g9em52ZXIxIC1tdHVuZT16bnZlcjEgLU8zJwpHTlVfRjc3PSdmYWxzZScKR05VX0ZD PSdmYWxzZScKR05VX0ZDRkxBR1M9JycKR05VX0ZGTEFHUz0nJwpHTlVfR0NKPSdmYWxzZScK R05VX0dDSkZMQUdTPScnCkdSRVA9Jy9iaW4vZ3JlcCcKSU5TVEFMTF9EQVRBPScke0lOU1RB TEx9IC1tIDY0NCcKSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxMX1NDUklQ VD0nJHtJTlNUQUxMfScKSU5TVEFMTF9TVFJJUF9QUk9HUkFNPSckKGluc3RhbGxfc2gpIC1j IC1zJwpMREZMQUdTPScnCkxFWD0nbGV4JwpMSUJPQkpTPScnCkxJQlM9JycKTE49J2xuJwpM Tl9TPSdsbiAtcycKTFRMSUJPQkpTPScnCk1BS0VJTkZPPScke1NIRUxMfSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2xpYi9taXNzaW5nIG1ha2VpbmZvJwpNS0RJ Ul9QPScvYmluL21rZGlyIC1wJwpNT0RJRklDQVRJT05fREVMQVk9JzInCk9CSkVYVD0nVU5L Tk9XTicKUEFDS0FHRT0nYXV0b21ha2UnClBBQ0tBR0VfQlVHUkVQT1JUPSdidWctYXV0b21h a2VAZ251Lm9yZycKUEFDS0FHRV9OQU1FPSdHTlUgQXV0b21ha2UnClBBQ0tBR0VfU1RSSU5H PSdHTlUgQXV0b21ha2UgMS4xNi4yJwpQQUNLQUdFX1RBUk5BTUU9J2F1dG9tYWtlJwpQQUNL QUdFX1VSTD0naHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFrZS8nClBBQ0tB R0VfVkVSU0lPTj0nMS4xNi4yJwpQQVRIX1NFUEFSQVRPUj0nOicKUEVSTD0nL3Vzci9iaW4v cGVybCcKUkVMRUFTRV9ZRUFSPScyMDIwJwpTRVRfTUFLRT0nJwpTSEVMTD0nL2Jpbi9zaCcK U1RSSVA9JycKVEVYPSd0ZXgnClZFUlNJT049JzEuMTYuMicKWUFDQz0neWFjYycKYWNfY3Rf Q0M9JycKYWNfY3RfQ1hYPScnCmFjX2N0X0Y3Nz0nJwphY19jdF9GQz0nJwphY19jdF9HTlVf Q0M9JycKYWNfY3RfR05VX0NYWD0nJwphY19jdF9HTlVfRjc3PScnCmFjX2N0X0dOVV9GQz0n JwphY19jdF9HTlVfR0NKPScnCmFtX0FVVE9DT05GPSdhdXRvY29uZicKYW1fQVVUT0hFQURF Uj0nYXV0b2hlYWRlcicKYW1fQVVUT000VEU9J2F1dG9tNHRlJwphbV9BVVRPUkVDT05GPSdh dXRvcmVjb25mJwphbV9BVVRPVVBEQVRFPSdhdXRvdXBkYXRlJwphbV9fRVhFRVhUX0ZBTFNF PScjJwphbV9fRVhFRVhUX1RSVUU9JycKYW1fX2lzcmM9JycKYW1fX2xlYWRpbmdfZG90PScu JwphbV9fdGFyPSckJHtUQVItdGFyfSBjaG9mIC0gIiQkdGFyZGlyIicKYW1fX3VudGFyPSck JHtUQVItdGFyfSB4ZiAtJwphbV9jYW5kaWRhdGVfc2g9JycKYW1kaXI9JyR7cGtndmRhdGFk aXJ9L2FtJwphdXRvbWFrZV9hY2Rpcj0nJHtkYXRhZGlyfS9hY2xvY2FsLTEuMTYnCmJpbmRp cj0nJHtleGVjX3ByZWZpeH0vYmluJwpidWlsZD0neDg2XzY0LXBjLWxpbnV4LWdudScKYnVp bGRfYWxpYXM9JycKYnVpbGRfY3B1PSd4ODZfNjQnCmJ1aWxkX29zPSdsaW51eC1nbnUnCmJ1 aWxkX3ZlbmRvcj0ncGMnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0n JHtwcmVmaXh9L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0Vf VEFSTkFNRX0nCmR2aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nJHtwcmVmaXh9Jwpo b3N0PSd4ODZfNjQtcGMtbGludXgtZ251Jwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSd4ODZf NjQnCmhvc3Rfb3M9J2xpbnV4LWdudScKaG9zdF92ZW5kb3I9J3BjJwpodG1sZGlyPScke2Rv Y2Rpcn0nCmluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlJwppbmZvZGlyPScke2RhdGFy b290ZGlyfS9pbmZvJwppbnN0YWxsX3NoPScke1NIRUxMfSAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL2xpYi9pbnN0YWxsLXNoJwpsaWJkaXI9JyR7ZXhlY19wcmVm aXh9L2xpYicKbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycKbG9jYWxlZGly PScke2RhdGFyb290ZGlyfS9sb2NhbGUnCmxvY2Fsc3RhdGVkaXI9JyR7cHJlZml4fS92YXIn Cm1hbmRpcj0nJHtkYXRhcm9vdGRpcn0vbWFuJwpta2Rpcl9wPSckKE1LRElSX1ApJwpvbGRp bmNsdWRlZGlyPScvdXNyL2luY2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9Jwpwa2d2ZGF0YWRp cj0nJHtkYXRhZGlyfS9hdXRvbWFrZS0xLjE2JwpwcmVmaXg9Jy91c3IvbG9jYWwnCnByb2dy YW1fdHJhbnNmb3JtX25hbWU9J3MseCx4LCcKcHNkaXI9JyR7ZG9jZGlyfScKcmVxdWlyZWRf YXV0b2NvbmZfdmVyc2lvbj0nMi42NScKcnVuc3RhdGVkaXI9JyR7bG9jYWxzdGF0ZWRpcn0v cnVuJwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzY3JpcHRkaXI9JyR7cGtndmRh dGFkaXJ9JwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3lzY29uZmRpcj0nJHtw cmVmaXh9L2V0YycKc3lzdGVtX2FjZGlyPScke2RhdGFkaXJ9L2FjbG9jYWwnCnRhcmdldF9h bGlhcz0nJwoKIyMgLS0tLS0tLS0tLS0gIyMKIyMgY29uZmRlZnMuaC4gIyMKIyMgLS0tLS0t LS0tLS0gIyMKCi8qIGNvbmZkZWZzLmggKi8KI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBB dXRvbWFrZSIKI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1dG9tYWtlIgojZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMS4xNi4yIgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgQXV0 b21ha2UgMS4xNi4yIgojZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctYXV0b21ha2VA Z251Lm9yZyIKI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9hdXRvbWFrZS8iCgpjb25maWd1cmU6IGV4aXQgMAoKIyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtl IGNvbmZpZy5zdGF0dXMgMS4xNi4yLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRv Y29uZiAyLjY5LjIwNC05OGQ2LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENP TkZJR19GSUxFUyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAg ICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIC0tZmlsZT0t CgpvbiB6ZW5kZXYxCgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5uaW5n IGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKClRoaXMg ZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0dXMgMS4xNi4y LCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LjIwNC05OGQ2LiAg SW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAogIENP TkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5E UyA9IAogICQgLi9jb25maWcuc3RhdHVzIC0tZmlsZT0tCgpvbiB6ZW5kZXYxCgoKIyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkg R05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0dXMgMS4xNi4yLCB3aGljaCB3YXMKZ2VuZXJhdGVk IGJ5IEdOVSBBdXRvY29uZiAyLjY5LjIwNC05OGQ2LiAgSW52b2NhdGlvbiBjb21tYW5kIGxp bmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENP TkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3Rh dHVzIC0tZmlsZT0tCgpvbiB6ZW5kZXYxCgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAj IwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5z dGF0dXMgMS4xNi4yLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5 LjIwNC05OGQ2LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxF UyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENP TkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIC0tZmlsZT0tCgpvbiB6ZW5k ZXYxCgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5z dGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMg ZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0dXMgMS4xNi4yLCB3aGljaCB3 YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LjIwNC05OGQ2LiAgSW52b2NhdGlv biBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAogIENPTkZJR19IRUFE RVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQg Li9jb25maWcuc3RhdHVzIC0tZmlsZT0tCgpvbiB6ZW5kZXYxCgoKIyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9t YWtlIGNvbmZpZy5zdGF0dXMgMS4xNi4yLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBB dXRvY29uZiAyLjY5LjIwNC05OGQ2LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgog IENPTkZJR19GSUxFUyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5L UyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIC0tZmls ZT0tCgpvbiB6ZW5kZXYxCgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5u aW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKClRo aXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0dXMgMS4x Ni4yLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LjIwNC05OGQ2 LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAog IENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01N QU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIC0tZmlsZT0tCgpvbiB6ZW5kZXYxCgorIGNh dCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2Jpbi9hY2xvY2FsLTEu MTYKIyEvdXNyL2Jpbi9wZXJsIC13CiMgYWNsb2NhbCAtIGNyZWF0ZSBhY2xvY2FsLm00IGJ5 IHNjYW5uaW5nIGNvbmZpZ3VyZS5hYyAgICAgIC0qLSBwZXJsIC0qLQojIEdlbmVyYXRlZCBm cm9tIGJpbi9hY2xvY2FsLmluOyBkbyBub3QgZWRpdCBieSBoYW5kLgojIENvcHlyaWdodCAo QykgMTk5Ni0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgoKIyBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQojIGFueSBsYXRlciB2 ZXJzaW9uLgoKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoKIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KCiMgV3JpdHRlbiBieSBUb20gVHJvbWV5IDx0cm9tZXlAcmVkaGF0 LmNvbT4sIGFuZAojIEFsZXhhbmRyZSBEdXJldC1MdXR6IDxhZGxAZ251Lm9yZz4uCgpCRUdJ Tgp7CiAgdW5zaGlmdCAoQElOQywgJy91c3IvbG9jYWwvc2hhcmUvYXV0b21ha2UtMS4xNicp CiAgICB1bmxlc3MgJEVOVntBVVRPTUFLRV9VTklOU1RBTExFRH07Cn0KCnVzZSBzdHJpY3Q7 Cgp1c2UgQXV0b21ha2U6OkNvbmZpZzsKdXNlIEF1dG9tYWtlOjpHZW5lcmFsOwp1c2UgQXV0 b21ha2U6OkNvbmZpZ3VyZV9hYzsKdXNlIEF1dG9tYWtlOjpDaGFubmVsczsKdXNlIEF1dG9t YWtlOjpDaGFubmVsRGVmczsKdXNlIEF1dG9tYWtlOjpYRmlsZTsKdXNlIEF1dG9tYWtlOjpG aWxlVXRpbHM7CnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEZpbGU6OlBhdGggKCk7CgojIFNv bWUgZ2xvYmFscy4KCiMgU3VwcG9ydCBBQ19DT05GSUdfTUFDUk9fRElSUyBhbHNvIHdpdGgg b2xkZXIgYXV0b2NvbmYuCiMgRklYTUU6IFRvIGJlIHJlbW92ZWQgaW4gQXV0b21ha2UgMi4w LCBvbmNlIHdlIGNhbiBhc3N1bWUgYXV0b2NvbmYKIyAgICAgICAgMi43MCBvciBsYXRlci4K IyBGSVhNRToga2VlcCBpbiBzeW5jIHdpdGggJ2ludGVybmFsL2FjLWNvbmZpZy1tYWNyby1k aXJzLm00Jy4KbXkgJGFjX2NvbmZpZ19tYWNyb19kaXJzX2ZhbGxiYWNrID0KICAnbTRfaWZu ZGVmKFtBQ19DT05GSUdfTUFDUk9fRElSU10sIFsnIC4KICAgICdtNF9kZWZ1bihbX0FNX0NP TkZJR19NQUNST19ESVJTXSwgW10pJyAuCiAgICAnbTRfZGVmdW4oW0FDX0NPTkZJR19NQUNS T19ESVJTXSwgW19BTV9DT05GSUdfTUFDUk9fRElSUygkQCldKScgLgogICddKSc7CgojIFdl IGRvIG5vdCBvcGVyYXRlIGluIHRocmVhZGVkIG1vZGUuCiRwZXJsX3RocmVhZHMgPSAwOwoK IyBJbmNsdWRlIHBhdGhzIGZvciBzZWFyY2hpbmcgbWFjcm9zLiAgV2Ugc2VhcmNoIG1hY3Jv cyBpbiB0aGlzIG9yZGVyOgojIHVzZXItc3VwcGxpZWQgZGlyZWN0b3JpZXMgZmlyc3QsIHRo ZW4gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZQojIGF1dG9tYWtlIG1hY3JvcywgYW5k IGZpbmFsbHkgdGhlIHN5c3RlbS13aWRlIGRpcmVjdG9yaWVzIGZvcgojIHRoaXJkLXBhcnR5 IG1hY3Jvcy4KIyBAdXNlcl9pbmNsdWRlcyBjYW4gYmUgYXVnbWVudGVkIHdpdGggLUkgb3Ig QUNfQ09ORklHX01BQ1JPX0RJUlMuCiMgQGF1dG9tYWtlX2luY2x1ZGVzIGNhbiBiZSByZXNl dCB3aXRoIHRoZSAnLS1hdXRvbWFrZS1hY2Rpcicgb3B0aW9uLgojIEBzeXN0ZW1faW5jbHVk ZXMgY2FuIGJlIGF1Z21lbnRlZCB3aXRoIHRoZSAnZGlybGlzdCcgZmlsZSBvciB0aGUKIyBB Q0xPQ0FMX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUsIGFuZCByZXNldCB3aXRoIHRoZSAn LS1zeXN0ZW0tYWNkaXInCiMgb3B0aW9uLgpteSBAdXNlcl9pbmNsdWRlcyA9ICgpOwpteSBA YXV0b21ha2VfaW5jbHVkZXMgPSAoJy91c3IvbG9jYWwvc2hhcmUvYWNsb2NhbC0nIC4gJEFQ SVZFUlNJT04pOwpteSBAc3lzdGVtX2luY2x1ZGVzID0gKCcvdXNyL2xvY2FsL3NoYXJlL2Fj bG9jYWwnKTsKCiMgV2hldGhlciB3ZSBzaG91bGQgY29weSBNNCBmaWxlIGluICR1c2VyX2lu Y2x1ZGVzWzBdLgpteSAkaW5zdGFsbCA9IDA7CgojIC0tZGlmZgpteSBAZGlmZl9jb21tYW5k OwoKIyAtLWRyeS1ydW4KbXkgJGRyeV9ydW4gPSAwOwoKIyBjb25maWd1cmUuYWMgb3IgY29u ZmlndXJlLmluLgpteSAkY29uZmlndXJlX2FjOwoKIyBPdXRwdXQgZmlsZSBuYW1lLgpteSAk b3V0cHV0X2ZpbGUgPSAnYWNsb2NhbC5tNCc7CgojIE9wdGlvbiAtLWZvcmNlLgpteSAkZm9y Y2Vfb3V0cHV0ID0gMDsKCiMgTW9kaWZpY2F0aW9uIHRpbWUgb2YgdGhlIHlvdW5nZXN0IGRl cGVuZGVuY3kuCm15ICRncmVhdGVzdF9tdGltZSA9IDA7CgojIFdoaWNoIG1hY3JvcyBoYXZl IGJlZW4gc2Vlbi4KbXkgJW1hY3JvX3NlZW4gPSAoKTsKCiMgUmVtZW1iZXIgdGhlIG9yZGVy IGludG8gd2hpY2ggd2Ugc2Nhbm5lZCB0aGUgZmlsZXMuCiMgSXQncyBpbXBvcnRhbnQgdG8g b3V0cHV0IHRoZSBjb250ZW50cyBvZiBhY2xvY2FsLm00IGluIHRoZSBvcHBvc2l0ZSBvcmRl ci4KIyAoRGVmaW5pdGlvbnMgaW4gZmlyc3QgZmlsZXMgd2UgaGF2ZSBzY2FubmVkIHNob3Vs ZCBvdmVycmlkZSB0aG9zZSBmcm9tCiMgbGF0ZXIgZmlsZXMuICBTbyB0aGV5IG11c3QgYXBw ZWFyIGxhc3QgaW4gdGhlIG91dHB1dC4pCm15IEBmaWxlX29yZGVyID0gKCk7CgojIE1hcCBt YWNybyBuYW1lcyB0byBmaWxlIG5hbWVzLgpteSAlbWFwID0gKCk7CgojIERpdHRvLCBidXQg cmVjb3JkcyB0aGUgbGFzdCBkZWZpbml0aW9uIG9mIGVhY2ggbWFjcm8gYXMgcmV0dXJuZWQg YnkgLS10cmFjZS4KbXkgJW1hcF90cmFjZWRfZGVmcyA9ICgpOwoKIyBNYXAgYmFzZW5hbWVz IHRvIG1hY3JvIG5hbWVzLgpteSAlaW52bWFwID0gKCk7CgojIE1hcCBmaWxlIG5hbWVzIHRv IGZpbGUgY29udGVudHMuCm15ICVmaWxlX2NvbnRlbnRzID0gKCk7CgojIE1hcCBmaWxlIG5h bWVzIHRvIGZpbGUgdHlwZXMuCm15ICVmaWxlX3R5cGUgPSAoKTsKdXNlIGNvbnN0YW50IEZU X1VTRVIgPT4gMTsKdXNlIGNvbnN0YW50IEZUX0FVVE9NQUtFID0+IDI7CnVzZSBjb25zdGFu dCBGVF9TWVNURU0gPT4gMzsKCiMgTWFwIGZpbGUgbmFtZXMgdG8gaW5jbHVkZWQgZmlsZXMg KHRyYW5zaXRpdmVseSBjbG9zZWQpLgpteSAlZmlsZV9pbmNsdWRlcyA9ICgpOwoKIyBGaWxl cyB3aGljaCBoYXZlIGFscmVhZHkgYmVlbiBhZGRlZC4KbXkgJWZpbGVfYWRkZWQgPSAoKTsK CiMgRmlsZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBzY2FubmVkLgpteSAlc2Nhbm5lZF9j b25maWd1cmVfZGVwID0gKCk7CgojIFNlcmlhbCBudW1iZXJzLCBmb3IgZmlsZXMgdGhhdCBo YXZlIG9uZS4KIyBUaGUga2V5IGlzIHRoZSBiYXNlbmFtZSBvZiB0aGUgZmlsZSwKIyB0aGUg dmFsdWUgaXMgdGhlIHNlcmlhbCBudW1iZXIgcmVwcmVzZW50ZWQgYXMgYSBsaXN0LgpteSAl c2VyaWFsID0gKCk7CgojIE1hdGNoZXMgYSBtYWNybyBkZWZpbml0aW9uLgojICAgQUNfREVG VU4oW21hY3JvbmFtZV0sIC4uLikKIyBvcgojICAgQUNfREVGVU4obWFjcm9uYW1lLCAuLi4p CiMgV2hlbiBtYWNyb25hbWUgaXMgJ1snLXF1b3RlZCAsIHdlIGFjY2VwdCBhbnkgY2hhcmFj dGVyIGluIHRoZSBuYW1lLAojIGV4Y2VwdCAnXScuICBPdGhlcndpc2UgbWFjcm9uYW1lIHN0 b3BzIG9uIHRoZSBmaXJzdCAnXScsICcsJywgJyknLAojIG9yICdcbicgZW5jb3VudGVyZWQu Cm15ICRhY19kZWZ1bl9yeCA9CiAgIig/OkFVX0FMSUFTfEFbQ1VdX0RFRlVOfEFDX0RFRlVO X09OQ0UpXFwoKD86XFxbKFteXV0rKVxcXXwoW15dLClcbl0rKSkiOwoKIyBNYXRjaGVzIGFu IEFDX1JFUVVJUkUgbGluZS4KbXkgJGFjX3JlcXVpcmVfcnggPSAiQUNfUkVRVUlSRVxcKCg/ OlxcWyhbXl1dKylcXF18KFteXSwpXG5dKykpXFwpIjsKCiMgTWF0Y2hlcyBhbiBtNF9pbmNs dWRlIGxpbmUuCm15ICRtNF9pbmNsdWRlX3J4ID0gIihtNF98bTRfc3xzKWluY2x1ZGVcXCgo PzpcXFsoW15dXSspXFxdfChbXl0sKVxuXSspKVxcKSI7CgojIE1hdGNoIGEgc2VyaWFsIG51 bWJlci4KbXkgJHNlcmlhbF9saW5lX3J4ID0gJ14jXHMqc2VyaWFsXHMrKFxTKiknOwpteSAk c2VyaWFsX251bWJlcl9yeCA9ICdeXGQrKD86XC5cZCspKiQnOwoKIyBBdXRvY29uZiB2ZXJz aW9uLiAgVGhpcyB2YXJpYWJsZSBpcyBzZXQgYnkgJ3RyYWNlX3VzZWRfbWFjcm9zJy4KbXkg JGFjX3ZlcnNpb247CgojIFVzZXIgZGlyZWN0b3J5IGNvbnRhaW5pbmcgZXh0cmEgbTQgZmls ZXMgZm9yIG1hY3JvcyBkZWZpbml0aW9uLAojIGFzIGV4dHJhY3RlZCBmcm9tIGNhbGxzIHRv IHRoZSBtYWNybyBBQ19DT05GSUdfTUFDUk9fRElSUy4KIyBUaGlzIHZhcmlhYmxlIGlzIHVw ZGF0ZWQgYnkgJ3RyYWNlX3VzZWRfbWFjcm9zJy4KbXkgQGFjX2NvbmZpZ19tYWNyb19kaXJz OwoKIyBJZiBzZXQsIG5hbWVzIGEgdGVtcG9yYXJ5IGZpbGUgdGhhdCBtdXN0IGJlIGVyYXNl ZCBvbiBhYm5vcm1hbCBleGl0LgpteSAkZXJhc2VfbWU7CgojIENvbnN0YW50cyBmb3IgdGhl ICRFUlJfTEVWRUwgcGFyYW1ldGVyIG9mIHRoZSAnc2Nhbl9tNF9kaXJzJyBmdW5jdGlvbi4K dXNlIGNvbnN0YW50IFNDQU5fTTRfRElSU19TSUxFTlQgPT4gMDsKdXNlIGNvbnN0YW50IFND QU5fTTRfRElSU19XQVJOID0+IDE7CnVzZSBjb25zdGFudCBTQ0FOX000X0RJUlNfRVJST1Ig PT4gMjsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKCiMgUHJvdG90eXBlcyBmb3IgYWxsIHN1YnJvdXRpbmVzLgoK c3ViIGFkZF9maWxlICgkKTsKc3ViIGFkZF9tYWNybyAoJCk7CnN1YiBjaGVja19hY2luY2x1 ZGUgKCk7CnN1YiBpbnN0YWxsX2ZpbGUgKCQkKTsKc3ViIGxpc3RfY29tcGFyZSAoXEBcQCk7 CnN1YiBwYXJzZV9BQ0xPQ0FMX1BBVEggKCk7CnN1YiBwYXJzZV9hcmd1bWVudHMgKCk7CnN1 YiByZXNldF9tYXBzICgpOwpzdWIgc2Nhbl9jb25maWd1cmUgKCk7CnN1YiBzY2FuX2NvbmZp Z3VyZV9kZXAgKCQpOwpzdWIgc2Nhbl9maWxlICgkJCQpOwpzdWIgc2Nhbl9tNF9kaXJzICgk JEApOwpzdWIgc2Nhbl9tNF9maWxlcyAoKTsKc3ViIHN0cmlwX3JlZHVuZGFudF9pbmNsdWRl cyAoJSk7CnN1YiB0cmFjZV91c2VkX21hY3JvcyAoKTsKc3ViIHVubGlua190bXAgKDskKTsK c3ViIHVzYWdlICgkKTsKc3ViIHZlcnNpb24gKCk7CnN1YiB3cml0ZV9hY2xvY2FsICgkQCk7 CnN1YiB4bWtkaXJfcCAoJCk7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIEVyYXNlIHRlbXBvcmFyeSBmaWxl IEVSQVNFX01FLiAgSGFuZGxlIHNpZ25hbHMuCnN1YiB1bmxpbmtfdG1wICg7JCkKewogIG15 ICgkc2lnKSA9IEBfOwoKICBpZiAoJHNpZykKICAgIHsKICAgICAgdmVyYiAiY2F1Z2h0IFNJ RyRzaWcsIGJhaWxpbmcgb3V0IjsKICAgIH0KICBpZiAoZGVmaW5lZCAkZXJhc2VfbWUgJiYg LWUgJGVyYXNlX21lICYmICF1bmxpbmsgKCRlcmFzZV9tZSkpCiAgICB7CiAgICAgIGZhdGFs ICJjb3VsZCBub3QgcmVtb3ZlICckZXJhc2VfbWUnOiAkISI7CiAgICB9CiAgdW5kZWYgJGVy YXNlX21lOwoKICAjIHJlcmFpc2UgZGVmYXVsdCBoYW5kbGVyLgogIGlmICgkc2lnKQogICAg ewogICAgICAkU0lHeyRzaWd9ID0gJ0RFRkFVTFQnOwogICAgICBraWxsICRzaWcgPT4gJCQ7 CiAgICB9Cn0KCiRTSUd7J0lOVCd9ID0gJFNJR3snVEVSTSd9ID0gJFNJR3snUVVJVCd9ID0g JFNJR3snSFVQJ30gPSAndW5saW5rX3RtcCc7CkVORCB7IHVubGlua190bXAgfQoKc3ViIHht a2Rpcl9wICgkKQp7CiAgbXkgJGRpciA9IHNoaWZ0OwogIGxvY2FsICRAID0gdW5kZWY7CiAg cmV0dXJuCiAgICBpZiAtZCAkZGlyIG9yIGV2YWwgeyBGaWxlOjpQYXRoOjpta3BhdGggJGRp ciB9OwogIGNob21wICRAOwogICRAID1+IHMvXHMrYXRccy4qXGJsaW5lXHNcZCsuKiQvLzsK ICBmYXRhbCAiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgJyRkaXInOiAkQCI7Cn0KCiMg Q2hlY2sgbWFjcm9zIGluIGFjaW5jbHVkZS5tNC4gIElmIG9uZSBpcyBub3QgdXNlZCwgd2Fy bi4Kc3ViIGNoZWNrX2FjaW5jbHVkZSAoKQp7CiAgZm9yZWFjaCBteSAka2V5IChrZXlzICVt YXApCiAgICB7CiAgICAgICMgRklYTUU6IHNob3VsZCBwcmludCBsaW5lIG51bWJlciBvZiBh Y2luY2x1ZGUubTQuCiAgICAgIG1zZyAoJ3N5bnRheCcsICJtYWNybyAnJGtleScgZGVmaW5l ZCBpbiBhY2luY2x1ZGUubTQgYnV0IG5ldmVyIHVzZWQiKQoJaWYgJG1hcHska2V5fSBlcSAn YWNpbmNsdWRlLm00JyAmJiAhIGV4aXN0cyAkbWFjcm9fc2Vlbnska2V5fTsKICAgIH0KfQoK c3ViIHJlc2V0X21hcHMgKCkKewogICRncmVhdGVzdF9tdGltZSA9IDA7CiAgJW1hY3JvX3Nl ZW4gPSAoKTsKICBAZmlsZV9vcmRlciA9ICgpOwogICVtYXAgPSAoKTsKICAlbWFwX3RyYWNl ZF9kZWZzID0gKCk7CiAgJWZpbGVfY29udGVudHMgPSAoKTsKICAlZmlsZV90eXBlID0gKCk7 CiAgJWZpbGVfaW5jbHVkZXMgPSAoKTsKICAlZmlsZV9hZGRlZCA9ICgpOwogICVzY2FubmVk X2NvbmZpZ3VyZV9kZXAgPSAoKTsKICAlaW52bWFwID0gKCk7CiAgJXNlcmlhbCA9ICgpOwog IHVuZGVmICZzZWFyY2g7Cn0KCiMgaW5zdGFsbF9maWxlICgkU1JDLCAkREVTVERJUikKc3Vi IGluc3RhbGxfZmlsZSAoJCQpCnsKICBteSAoJHNyYywgJGRlc3RkaXIpID0gQF87CiAgbXkg JGRlc3QgPSAkZGVzdGRpciAuICIvIiAuIGJhc2VuYW1lICgkc3JjKTsKICBteSAkZGlmZl9k ZXN0OwoKICB2ZXJiICJpbnN0YWxsaW5nICRzcmMgdG8gJGRlc3QiOwoKICBpZiAoJGZvcmNl X291dHB1dAogICAgICB8fCAhZXhpc3RzICRmaWxlX2NvbnRlbnRzeyRkZXN0fQogICAgICB8 fCAkZmlsZV9jb250ZW50c3skc3JjfSBuZSAkZmlsZV9jb250ZW50c3skZGVzdH0pCiAgICB7 CiAgICAgIGlmICgtZSAkZGVzdCkKCXsKCSAgbXNnICdub3RlJywgIm92ZXJ3cml0aW5nICck ZGVzdCcgd2l0aCAnJHNyYyciOwoJICAkZGlmZl9kZXN0ID0gJGRlc3Q7Cgl9CiAgICAgIGVs c2UKCXsKCSAgbXNnICdub3RlJywgImluc3RhbGxpbmcgJyRkZXN0JyBmcm9tICckc3JjJyI7 Cgl9CgogICAgICBpZiAoQGRpZmZfY29tbWFuZCkKCXsKCSAgaWYgKCEgZGVmaW5lZCAkZGlm Zl9kZXN0KQoJICAgIHsKCSAgICAgICMgJGRlc3QgZG9lcyBub3QgZXhpc3QuICBXZSBjcmVh dGUgYW4gZW1wdHkgb25lIGp1c3QgdG8KCSAgICAgICMgcnVuIGRpZmYsIGFuZCB3ZSBlcmFz ZSBpdCBhZnRlcndhcmQuICBVc2luZyB0aGUgcmVhbAoJICAgICAgIyB0aGUgZGVzdGluYXRp b24gZmlsZSAocmF0aGVyIHRoYW4gYSB0ZW1wb3JhcnkgZmlsZSkgaXMKCSAgICAgICMgZ29v ZCB3aGVuIGRpZmYgaXMgcnVuIHdpdGggb3B0aW9ucyB0aGF0IGRpc3BsYXkgdGhlCgkgICAg ICAjIGZpbGUgbmFtZS4KCSAgICAgICMKCSAgICAgICMgSWYgY3JlYXRpbmcgJGRlc3QgZmFp bHMsIGZhbGwgYmFjayB0byAvZGV2L251bGwuICBBdAoJICAgICAgIyBsZWFzdCBvbmUgZGlm ZiBpbXBsZW1lbnRhdGlvbiAoVHJ1NjQncykgY2Fubm90IGRlYWwKCSAgICAgICMgd2l0aCAv ZGV2L251bGwuICBIb3dldmVyIHdvcmtpbmcgYXJvdW5kIHRoaXMgaXMgbm90CgkgICAgICAj IHdvcnRoIHRoZSB0cm91YmxlIHNpbmNlIG5vYm9keSBydW4gYWNsb2NhbCBvbiBhCgkgICAg ICAjIHJlYWQtb25seSB0cmVlIGFueXdheS4KCSAgICAgICRlcmFzZV9tZSA9ICRkZXN0OwoJ ICAgICAgbXkgJGYgPSBuZXcgSU86OkZpbGUgIj4gJGRlc3QiOwoJICAgICAgaWYgKCEgZGVm aW5lZCAkZikKCQl7CgkJICB1bmRlZiAkZXJhc2VfbWU7CgkJICAkZGlmZl9kZXN0ID0gJy9k ZXYvbnVsbCc7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRkaWZmX2Rlc3QgPSAkZGVzdDsK CQkgICRmLT5jbG9zZTsKCQl9CgkgICAgfQoJICBteSBAY21kID0gKEBkaWZmX2NvbW1hbmQs ICRkaWZmX2Rlc3QsICRzcmMpOwoJICAkISA9IDA7CgkgIHZlcmIgInJ1bm5pbmc6IEBjbWQi OwoJICBteSAkcmVzID0gc3lzdGVtIChAY21kKTsKCSAgQXV0b21ha2U6OkZpbGVVdGlsczo6 aGFuZGxlX2V4ZWNfZXJyb3JzICJAY21kIiwgMQoJICAgIGlmICRyZXM7CgkgIHVubGlua190 bXA7Cgl9CiAgICAgIGVsc2lmICghJGRyeV9ydW4pCgl7CiAgICAgICAgICB4bWtkaXJfcCAo JGRlc3RkaXIpOwoJICB4c3lzdGVtICgnY3AnLCAkc3JjLCAkZGVzdCk7Cgl9CiAgICB9Cn0K CiMgQ29tcGFyZSB0d28gbGlzdHMgb2YgbnVtYmVycy4Kc3ViIGxpc3RfY29tcGFyZSAoXEBc QCkKewogIG15IEBsID0gQHskX1swXX07CiAgbXkgQHIgPSBAeyRfWzFdfTsKICB3aGlsZSAo MSkKICAgIHsKICAgICAgaWYgKDAgPT0gQGwpCgl7CgkgIHJldHVybiAoMCA9PSBAcikgPyAw IDogLTE7Cgl9CiAgICAgIGVsc2lmICgwID09IEByKQoJewoJICByZXR1cm4gMTsKCX0KICAg ICAgZWxzaWYgKCRsWzBdIDwgJHJbMF0pCgl7CgkgIHJldHVybiAtMTsKCX0KICAgICAgZWxz aWYgKCRsWzBdID4gJHJbMF0pCgl7CgkgIHJldHVybiAxOwoJfQogICAgICBzaGlmdCBAbDsK ICAgICAgc2hpZnQgQHI7CiAgICB9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgc2Nhbl9tNF9kaXJzKCRU WVBFLCAkRVJSX0xFVkVMLCBARElSUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQojIFNjYW4gYWxsIE00IGZpbGVzIGluc3RhbGxlZCBpbiBA RElSUyBmb3IgbmV3IG1hY3JvIGRlZmluaXRpb25zLgojIFJlZ2lzdGVyIGVhY2ggZmlsZSBh cyBvZiB0eXBlICRUWVBFIChvbmUgb2YgdGhlIEZUXyogY29uc3RhbnRzKS4KIyBJZiBhIGRp cmVjdG9yeSBpbiBARElSUyBjYW5ub3QgYmUgcmVhZDoKIyAgLSBmYWlsIGhhcmQgICAgICAg ICAgICAgICAgaWYgJEVSUl9MRVZFTCA9PSBTQ0FOX000X0RJUlNfRVJST1IKIyAgLSBqdXN0 IHByaW50IGEgd2FybmluZyAgICAgaWYgJEVSUl9MRVZFTCA9PSBTQ0FOX000X0RJUlNfV0EK IyAgLSBjb250aW51ZSBzaWxlbnRseSAgICAgICAgaWYgJEVSUl9MRVZFTCA9PSBTQ0FOX000 X0RJUlNfU0lMRU5UCnN1YiBzY2FuX200X2RpcnMgKCQkQCkKewogIG15ICgkdHlwZSwgJGVy cl9sZXZlbCwgQGRpcmxpc3QpID0gQF87CgogIGZvcmVhY2ggbXkgJG00ZGlyIChAZGlybGlz dCkKICAgIHsKICAgICAgaWYgKCEgb3BlbmRpciAoRElSLCAkbTRkaXIpKQoJewoJICAjIFRP RE86IG1heWJlIGF2b2lkIGNvbXBsYWluaW5nIG9ubHkgaWYgZXJybm8gPT0gRU5PTkVOVD8K ICAgICAgICAgIG15ICRtZXNzYWdlID0gImNvdWxkbid0IG9wZW4gZGlyZWN0b3J5ICckbTRk aXInOiAkISI7CgogICAgICAgICAgaWYgKCRlcnJfbGV2ZWwgPT0gU0NBTl9NNF9ESVJTX0VS Uk9SKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgZmF0YWwgJG1lc3NhZ2U7CiAgICAg ICAgICAgIH0KICAgICAgICAgIGVsc2lmICgkZXJyX2xldmVsID09IFNDQU5fTTRfRElSU19X QVJOKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgbXNnICgndW5zdXBwb3J0ZWQnLCAk bWVzc2FnZSk7CiAgICAgICAgICAgICAgbmV4dDsKICAgICAgICAgICAgfQogICAgICAgICAg ZWxzaWYgKCRlcnJfbGV2ZWwgPT0gU0NBTl9NNF9ESVJTX1NJTEVOVCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgIG5leHQ7ICMgU2lsZW50bHkgaWdub3JlLgogICAgICAgICAgICB9 CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgcHJvZ19lcnJv ciAiaW52YWxpZCBcJGVycl9sZXZlbCB2YWx1ZSAnJGVycl9sZXZlbCciOwogICAgICAgICAg ICB9Cgl9CgogICAgICAjIFdlIHJldmVyc2UgdGhlIGRpcmVjdG9yeSBjb250ZW50cyBzbyB0 aGF0IGZvbzIubTQgZ2V0cwogICAgICAjIHVzZWQgaW4gcHJlZmVyZW5jZSB0byBmb28xLm00 LgogICAgICBmb3JlYWNoIG15ICRmaWxlIChyZXZlcnNlIHNvcnQgZ3JlcCAoISAvXlwuLywg cmVhZGRpciAoRElSKSkpCgl7CgkgICMgT25seSBleGFtaW5lIC5tNCBmaWxlcy4KCSAgbmV4 dCB1bmxlc3MgJGZpbGUgPX4gL1wubTQkLzsKCgkgICMgU2tpcCBzb21lIGZpbGVzIHdoZW4g cnVubmluZyBvdXQgb2Ygc3JjZGlyLgoJICBuZXh0IGlmICRmaWxlIGVxICdhY2xvY2FsLm00 JzsKCgkgIG15ICRmdWxsZmlsZSA9IEZpbGU6OlNwZWMtPmNhbm9ucGF0aCAoIiRtNGRpci8k ZmlsZSIpOwoJICBzY2FuX2ZpbGUgKCR0eXBlLCAkZnVsbGZpbGUsICdhY2xvY2FsJyk7Cgl9 CiAgICAgIGNsb3NlZGlyIChESVIpOwogICAgfQp9CgojIFNjYW4gYWxsIHRoZSBpbnN0YWxs ZWQgbTQgZmlsZXMgYW5kIGNvbnN0cnVjdCBhIG1hcC4Kc3ViIHNjYW5fbTRfZmlsZXMgKCkK ewogICMgRmlyc3QsIHNjYW4gY29uZmlndXJlLmFjLiAgSXQgbWF5IGNvbnRhaW4gbWFjcm8g ZGVmaW5pdGlvbnMsCiAgIyBvciBtYXkgaW5jbHVkZSBvdGhlciBmaWxlcyB0aGF0IGRlZmlu ZSBtYWNyb3MuCiAgc2Nhbl9maWxlIChGVF9VU0VSLCAkY29uZmlndXJlX2FjLCAnYWNsb2Nh bCcpOwoKICAjIFRoZW4sIHNjYW4gYWNpbmNsdWRlLm00IGlmIGl0IGV4aXN0cy4KICBpZiAo LWYgJ2FjaW5jbHVkZS5tNCcpCiAgICB7CiAgICAgIHNjYW5fZmlsZSAoRlRfVVNFUiwgJ2Fj aW5jbHVkZS5tNCcsICdhY2xvY2FsJyk7CiAgICB9CgogICMgRmluYWxseSwgc2NhbiBhbGwg ZmlsZXMgaW4gb3VyIHNlYXJjaCBwYXRocy4KCiAgaWYgKEB1c2VyX2luY2x1ZGVzKQogICAg ewogICAgICAjIERvbid0IGV4cGxvcmUgdGhlIHNhbWUgZGlyZWN0b3J5IG11bHRpcGxlIHRp bWVzLiAgVGhpcyBpcyBoZXJlIG5vdAogICAgICAjIG9ubHkgZm9yIHNwZWVkdXAgcHVycG9z ZXMuICBXZSBuZWVkIHRoaXMgd2hlbiB0aGUgdXNlciBoYXMgZS5nLgogICAgICAjIHNwZWNp ZmllZCAnQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQnIGFuZCBoYXMgYWxzbyBzZXQKICAgICAg IyBBQ19DT05GSUdfTUFDUk9fRElSW1NdKFttNF0pIGluIGNvbmZpZ3VyZS5hYy4gIFRoaXMg bWFrZXMgdGhlICdtNCcKICAgICAgIyBkaXJlY3RvcnkgdG8gb2NjdXIgdHdpY2UgaGVyZSBh bmQgZmFpbCBvbiB0aGUgc2Vjb25kIGNhbGwgdG8KICAgICAgIyBzY2FuX200X2RpcnMoW200 XSkgd2hlbiB0aGUgJ200JyBkaXJlY3RvcnkgZG9lc24ndCBleGlzdC4KICAgICAgIyBUT0RP OiBTaG91bGRuJ3QgdGhlcmUgYmUgcmF0aGVyIGEgY2hlY2sgaW4gc2Nhbl9tNF9kaXJzIGZv cgogICAgICAjICAgICAgIEB1c2VyX2luY2x1ZGVzWzBdPwogICAgICBAdXNlcl9pbmNsdWRl cyA9IHVuaXEgQHVzZXJfaW5jbHVkZXM7CgogICAgICAjIERvbid0IGNvbXBsYWluIGlmIHRo ZSBmaXJzdCB1c2VyIGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCBpbiBjYXNlCiAgICAgICMg d2UgbmVlZCB0byBjcmVhdGUgaXQgbGF0ZXIgKGNhbiBoYXBwZW4gaWYgJy0taW5zdGFsbCcg d2FzIGdpdmVuKS4KICAgICAgc2Nhbl9tNF9kaXJzIChGVF9VU0VSLAogICAgICAgICAgICAg ICAgICAgICRpbnN0YWxsID8gU0NBTl9NNF9ESVJTX1NJTEVOVCA6IFNDQU5fTTRfRElSU19X QVJOLAogICAgICAgICAgICAgICAgICAgICR1c2VyX2luY2x1ZGVzWzBdKTsKICAgICAgc2Nh bl9tNF9kaXJzIChGVF9VU0VSLAogICAgICAgICAgICAgICAgICAgIFNDQU5fTTRfRElSU19F UlJPUiwKCQkgICAgQHVzZXJfaW5jbHVkZXNbMS4uJCN1c2VyX2luY2x1ZGVzXSk7CiAgICB9 CiAgc2Nhbl9tNF9kaXJzIChGVF9BVVRPTUFLRSwgU0NBTl9NNF9ESVJTX0VSUk9SLCBAYXV0 b21ha2VfaW5jbHVkZXMpOwogIHNjYW5fbTRfZGlycyAoRlRfU1lTVEVNLCBTQ0FOX000X0RJ UlNfRVJST1IsIEBzeXN0ZW1faW5jbHVkZXMpOwoKICAjIENvbnN0cnVjdCBhIG5ldyBmdW5j dGlvbiB0aGF0IGRvZXMgdGhlIHNlYXJjaGluZy4gIFdlIHVzZSBhCiAgIyBmdW5jdGlvbiAo aW5zdGVhZCBvZiBqdXN0IGV2YWx1YXRpbmcgJHNlYXJjaCBpbiB0aGUgbG9vcCkgc28gdGhh dAogICMgImRpZSIgaXMgY29ycmVjdGx5IGFuZCBlYXNpbHkgcHJvcGFnYXRlZCBpZiBydW4u CiAgbXkgJHNlYXJjaCA9ICJzdWIgc2VhcmNoIHtcbm15IFwkZm91bmQgPSAwO1xuIjsKICBm b3JlYWNoIG15ICRrZXkgKHJldmVyc2Ugc29ydCBrZXlzICVtYXApCiAgICB7CiAgICAgICRz ZWFyY2ggLj0gKCdpZiAoL1xiXFEnIC4gJGtleSAuICdcRSg/IVx3KS8pIHsgYWRkX21hY3Jv ICgiJyAuICRrZXkKCQkgIC4gJyIpOyAkZm91bmQgPSAxOyB9JyAuICJcbiIpOwogICAgfQog ICRzZWFyY2ggLj0gInJldHVybiBcJGZvdW5kO1xufTtcbiI7CiAgZXZhbCAkc2VhcmNoOwog IHByb2dfZXJyb3IgIiRAXG4gc2VhcmNoIGlzICRzZWFyY2giIGlmICRAOwp9CgojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCgojIEFkZCBhIG1hY3JvIHRvIHRoZSBvdXRwdXQuCnN1YiBhZGRfbWFjcm8gKCQpCnsK ICBteSAoJG1hY3JvKSA9IEBfOwoKICAjIElnbm9yZSB1bmtub3duIHJlcXVpcmVkIG1hY3Jv cy4gIEVpdGhlciB0aGV5IGFyZSBub3QgcmVhbGx5CiAgIyBuZWVkZWQgKGUuZy4sIGEgY29u ZGl0aW9uYWwgQUNfUkVRVUlSRSksIGluIHdoaWNoIGNhc2UgYWNsb2NhbAogICMgc2hvdWxk IGJlIHF1aWV0LCBvciB0aGV5IGFyZSBuZWVkZWQgYW5kIEF1dG9jb25mIGl0c2VsZiB3aWxs CiAgIyBjb21wbGFpbiB3aGVuIHdlIHRyYWNlIGZvciBtYWNybyB1c2FnZSBsYXRlci4KICBy ZXR1cm4gdW5sZXNzIGRlZmluZWQgJG1hcHskbWFjcm99OwoKICB2ZXJiICJzYXcgbWFjcm8g JG1hY3JvIjsKICAkbWFjcm9fc2VlbnskbWFjcm99ID0gMTsKICBhZGRfZmlsZSAoJG1hcHsk bWFjcm99KTsKfQoKIyBzY2FuX2NvbmZpZ3VyZV9kZXAgKCRmaWxlKQojIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiMgU2NhbiBhIGNvbmZpZ3VyZSBkZXBlbmRlbmN5IChjb25maWd1 cmUuYWMsIG9yIHNlcGFyYXRlIG00IGZpbGVzKQojIGZvciB1c2VzIG9mIGtub3duIG1hY3Jv cyBhbmQgQUNfUkVRVUlSRXMgb2YgcG9zc2libHkgdW5rbm93biBtYWNyb3MuCiMgUmVjdXJz aXZlbHkgc2NhbiBtNF9pbmNsdWRlZCBmaWxlcy4Kc3ViIHNjYW5fY29uZmlndXJlX2RlcCAo JCkKewogIG15ICgkZmlsZSkgPSBAXzsKICAjIERvIG5vdCBzY2FuIGEgZmlsZSB0d2ljZS4K ICByZXR1cm4gKCkKICAgIGlmIGV4aXN0cyAkc2Nhbm5lZF9jb25maWd1cmVfZGVweyRmaWxl fTsKICAkc2Nhbm5lZF9jb25maWd1cmVfZGVweyRmaWxlfSA9IDE7CgogIG15ICRtdGltZSA9 IG10aW1lICRmaWxlOwogICRncmVhdGVzdF9tdGltZSA9ICRtdGltZSBpZiAkZ3JlYXRlc3Rf bXRpbWUgPCAkbXRpbWU7CgogIG15ICRjb250ZW50cyA9IGV4aXN0cyAkZmlsZV9jb250ZW50 c3skZmlsZX0gPwogICAgJGZpbGVfY29udGVudHN7JGZpbGV9IDogY29udGVudHMgJGZpbGU7 CgogIG15ICRsaW5lID0gMDsKICBteSBAcmxpc3QgPSAoKTsKICBteSBAaWxpc3QgPSAoKTsK ICBmb3JlYWNoIChzcGxpdCAoIlxuIiwgJGNvbnRlbnRzKSkKICAgIHsKICAgICAgKyskbGlu ZTsKICAgICAgIyBSZW1vdmUgY29tbWVudHMgZnJvbSBjdXJyZW50IGxpbmUuCiAgICAgIHMv XGJkbmxcYi4qJC8vOwogICAgICBzL1wjLiokLy87CiAgICAgICMgQXZvaWQgcnVubmluZyBh bGwgdGhlIGZvbGxvd2luZyByZWdleGVzIG9uIHdoaXRlIGxpbmVzLgogICAgICBuZXh0IGlm IC9eXHMqJC87CgogICAgICB3aGlsZSAoLyRtNF9pbmNsdWRlX3J4L2dvKQoJewoJICBteSAk aWZpbGUgPSAkMiB8fCAkMzsKCSAgIyBTa2lwIG1pc3NpbmcgJ3NpbmNsdWRlJ2QgZmlsZXMu CgkgIG5leHQgaWYgJDEgbmUgJ200XycgJiYgISAtZiAkaWZpbGU7CgkgIHB1c2ggQGlsaXN0 LCAkaWZpbGU7Cgl9CgogICAgICB3aGlsZSAoLyRhY19yZXF1aXJlX3J4L2dvKQoJewoJICBw dXNoIChAcmxpc3QsICQxIHx8ICQyKTsKCX0KCiAgICAgICMgVGhlIHNlYXJjaCBmdW5jdGlv biBpcyBjb25zdHJ1Y3RlZCBkeW5hbWljYWxseSBieQogICAgICAjIHNjYW5fbTRfZmlsZXMu ICBUaGUgbGFzdCBwYXJlbnRoZXRpY2FsIG1hdGNoIG1ha2VzIHN1cmUgd2UKICAgICAgIyBk b24ndCBtYXRjaCB0aGluZ3MgdGhhdCBsb29rIGxpa2UgbWFjcm8gYXNzaWdubWVudHMgb3IK ICAgICAgIyBBQ19TVUJTVHMuCiAgICAgIGlmICghICZzZWFyY2ggJiYgLyhefFxzKykoQU1f W0EtWjAtOV9dKykoJHxbXlxdXCk9QS1aMC05X10pLykKCXsKCSAgIyBNYWNybyBub3QgZm91 bmQsIGJ1dCBBTV8gcHJlZml4IGZvdW5kLgoJICAjIE1ha2UgdGhpcyBqdXN0IGEgd2Fybmlu ZywgYmVjYXVzZSB3ZSBkbyBub3Qga25vdyB3aGV0aGVyCgkgICMgdGhlIG1hY3JvIGlzIGFj dHVhbGx5IHVzZWQgKGl0IGNvdWxkIGJlIGNhbGxlZCBjb25kaXRpb25hbGx5KS4KCSAgbXNn ICgndW5zdXBwb3J0ZWQnLCAiJGZpbGU6JGxpbmUiLAoJICAgICAgICJtYWNybyAnJDInIG5v dCBmb3VuZCBpbiBsaWJyYXJ5Iik7Cgl9CiAgICB9CgogIGFkZF9tYWNybyAoJF8pIGZvcmVh Y2ggKEBybGlzdCk7CiAgc2Nhbl9jb25maWd1cmVfZGVwICgkXykgZm9yZWFjaCBAaWxpc3Q7 Cn0KCiMgYWRkX2ZpbGUgKCRGSUxFKQojIC0tLS0tLS0tLS0tLS0tLS0KIyBBZGQgJEZJTEUg dG8gb3V0cHV0LgpzdWIgYWRkX2ZpbGUgKCQpCnsKICBteSAoJGZpbGUpID0gQF87CgogICMg T25seSBhZGQgYSBmaWxlIG9uY2UuCiAgcmV0dXJuIGlmICgkZmlsZV9hZGRlZHskZmlsZX0p OwogICRmaWxlX2FkZGVkeyRmaWxlfSA9IDE7CgogIHNjYW5fY29uZmlndXJlX2RlcCAkZmls ZTsKfQoKIyBQb2ludCB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdW5kZXJxdW90ZWQgQUNf REVGVU4gb25seSBvbmNlLgpteSAkdW5kZXJxdW90ZWRfbWFudWFsX29uY2UgPSAwOwoKIyBz Y2FuX2ZpbGUgKCRUWVBFLCAkRklMRSwgJFdIRVJFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiMgU2NhbiBhIHNpbmdsZSBNNCBmaWxlICgkRklMRSksIGFuZCBhbGwg ZmlsZXMgaXQgaW5jbHVkZXMuCiMgUmV0dXJuIHRoZSBsaXN0IG9mIGluY2x1ZGVkIGZpbGVz LgojICRUWVBFIGlzIG9uZSBvZiBGVF9VU0VSLCBGVF9BVVRPTUFLRSwgb3IgRlRfU1lTVEVN LCBkZXBlbmRpbmcKIyBvbiB3aGVyZSB0aGUgZmlsZSBjb21lcyBmcm9tLgojICRXSEVSRSBp cyB0aGUgbG9jYXRpb24gdG8gdXNlIGluIHRoZSBkaWFnbm9zdGljIGlmIHRoZSBmaWxlCiMg ZG9lcyBub3QgZXhpc3QuCnN1YiBzY2FuX2ZpbGUgKCQkJCkKewogIG15ICgkdHlwZSwgJGZp bGUsICR3aGVyZSkgPSBAXzsKICBteSAkYmFzZW5hbWUgPSBiYXNlbmFtZSAkZmlsZTsKCiAg IyBEbyBub3Qgc2NhbiB0aGUgc2FtZSBmaWxlIHR3aWNlLgogIHJldHVybiBAeyRmaWxlX2lu Y2x1ZGVzeyRmaWxlfX0gaWYgZXhpc3RzICRmaWxlX2luY2x1ZGVzeyRmaWxlfTsKICAjIFBy ZXZlbnQgcG90ZW50aWFsIGluZmluaXRlIHJlY3Vyc2lvbiAoaWYgdHdvIGZpbGVzIGluY2x1 ZGUgZWFjaCBvdGhlcikuCiAgcmV0dXJuICgpIGlmIGV4aXN0cyAkZmlsZV9jb250ZW50c3sk ZmlsZX07CgogIHVuc2hpZnQgQGZpbGVfb3JkZXIsICRmaWxlOwoKICAkZmlsZV90eXBleyRm aWxlfSA9ICR0eXBlOwoKICBmYXRhbCAiJHdoZXJlOiBmaWxlICckZmlsZScgZG9lcyBub3Qg ZXhpc3QiIGlmICEgLWUgJGZpbGU7CgogIG15ICRmaCA9IG5ldyBBdXRvbWFrZTo6WEZpbGUg JGZpbGU7CiAgbXkgJGNvbnRlbnRzID0gJyc7CiAgbXkgQGluY19maWxlcyA9ICgpOwogIG15 ICVpbmNfbGluZXMgPSAoKTsKCiAgbXkgJGRlZnVuX3NlZW4gPSAwOwogIG15ICRzZXJpYWxf c2VlbiA9IDA7CiAgbXkgJHNlcmlhbF9vbGRlciA9IDA7CgogIHdoaWxlICgkXyA9ICRmaC0+ Z2V0bGluZSkKICAgIHsKICAgICAgIyBJZ25vcmUgJyMjJyBsaW5lcy4KICAgICAgbmV4dCBp ZiAvXiMjLzsKCiAgICAgICRjb250ZW50cyAuPSAkXzsKICAgICAgbXkgJGxpbmUgPSAkXzsK CiAgICAgIGlmICgkbGluZSA9fiAvJHNlcmlhbF9saW5lX3J4L2dvKQoJewoJICBteSAkbnVt YmVyID0gJDE7CgkgIGlmICgkbnVtYmVyICF+IC8kc2VyaWFsX251bWJlcl9yeC9nbykKCSAg ICB7CgkgICAgICBtc2cgKCdzeW50YXgnLCAiJGZpbGU6JC4iLAoJCSAgICJpbGwtZm9ybWVk IHNlcmlhbCBudW1iZXIgJyRudW1iZXInLCAiCgkJICAgLiAiZXhwZWN0aW5nIGEgdmVyc2lv biBzdHJpbmcgd2l0aCBvbmx5IGRpZ2l0cyBhbmQgZG90cyIpOwoJICAgIH0KCSAgZWxzaWYg KCRkZWZ1bl9zZWVuKQoJICAgIHsKCSAgICAgICMgYWNsb2NhbCByZW1vdmVzIGFsbCBkZWZp bml0aW9ucyBmcm9tIE00IGZpbGUgd2l0aCB0aGUKCSAgICAgICMgc2FtZSBiYXNlbmFtZSBp ZiBhIGdyZWF0ZXIgc2VyaWFsIG51bWJlciBpcyBmb3VuZC4KCSAgICAgICMgRW5jb3VudGVy aW5nIGEgc2VyaWFsIGFmdGVyIHNvbWUgbWFjcm9zIHdpbGwgdW5kZWZpbmUKCSAgICAgICMg dGhlc2UgbWFjcm9zLi4uCgkgICAgICBtc2cgKCdzeW50YXgnLCAiJGZpbGU6JC4iLAoJCSAg ICd0aGUgc2VyaWFsIG51bWJlciBtdXN0IGFwcGVhciBiZWZvcmUgYW55IG1hY3JvIGRlZmlu aXRpb24nKTsKCSAgICB9CgkgICMgV2UgcmVhbGx5IGNhcmUgYWJvdXQgc2VyaWFscyBvbmx5 IGZvciBub24tYXV0b21ha2UgbWFjcm9zCgkgICMgYW5kIHdoZW4gLS1pbnN0YWxsIGlzIHVz ZWQuICBCdXQgdGhlIGFib3ZlIGRpYWdub3N0aWNzIGFyZQoJICAjIG1hZGUgcmVnYXJkbGVz cyBvZiB0aGlzLCBiZWNhdXNlIG5vdCB1c2luZyAtLWluc3RhbGwgaXMKCSAgIyBub3QgYSBy ZWFzb24gbm90IHRoZSBmaXggbWFjcm8gZmlsZXMuCgkgIGVsc2lmICgkaW5zdGFsbCAmJiAk dHlwZSAhPSBGVF9BVVRPTUFLRSkKCSAgICB7CgkgICAgICAkc2VyaWFsX3NlZW4gPSAxOwoJ ICAgICAgbXkgQG5ldyA9IHNwbGl0ICgvXC4vLCAkbnVtYmVyKTsKCgkgICAgICB2ZXJiICIk ZmlsZTokLjogc2VyaWFsICRudW1iZXIiOwoKCSAgICAgIGlmICghZXhpc3RzICRzZXJpYWx7 JGJhc2VuYW1lfQoJCSAgfHwgbGlzdF9jb21wYXJlIChAbmV3LCBAeyRzZXJpYWx7JGJhc2Vu YW1lfX0pID4gMCkKCQl7CgkJICAjIERlbGV0ZSBhbnkgZGVmaW5pdGlvbiB3ZSBrbmV3IGZy b20gdGhlIG9sZCBtYWNyby4KCQkgIGZvcmVhY2ggbXkgJGRlZiAoQHskaW52bWFweyRiYXNl bmFtZX19KQoJCSAgICB7CgkJICAgICAgdmVyYiAiJGZpbGU6JC46IGlnbm9yaW5nIHByZXZp b3VzIGRlZmluaXRpb24gb2YgJGRlZiI7CgkJICAgICAgZGVsZXRlICRtYXB7JGRlZn07CgkJ ICAgIH0KCQkgICRpbnZtYXB7JGJhc2VuYW1lfSA9IFtdOwoJCSAgJHNlcmlhbHskYmFzZW5h bWV9ID0gXEBuZXc7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRzZXJpYWxfb2xkZXIgPSAx OwoJCX0KCSAgICB9Cgl9CgogICAgICAjIFJlbW92ZSBjb21tZW50cyBmcm9tIGN1cnJlbnQg bGluZS4KICAgICAgIyBEbyBub3QgZG8gaXQgZWFybGllciwgYmVjYXVzZSB0aGUgc2VyaWFs IGxpbmUgaXMgYSBjb21tZW50LgogICAgICAkbGluZSA9fiBzL1xiZG5sXGIuKiQvLzsKICAg ICAgJGxpbmUgPX4gcy9cIy4qJC8vOwoKICAgICAgd2hpbGUgKCRsaW5lID1+IC8kYWNfZGVm dW5fcngvZ28pCgl7CgkgICRkZWZ1bl9zZWVuID0gMTsKCSAgaWYgKCEgZGVmaW5lZCAkMSkK CSAgICB7CgkgICAgICBtc2cgKCdzeW50YXgnLCAiJGZpbGU6JC4iLCAidW5kZXJxdW90ZWQg ZGVmaW5pdGlvbiBvZiAkMiIKCQkgICAuICJcbiAgcnVuIGluZm8gQXV0b21ha2UgJ0V4dGVu ZGluZyBhY2xvY2FsJ1xuIgoJCSAgIC4gIiAgb3Igc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcv c29mdHdhcmUvYXV0b21ha2UvbWFudWFsLyIKCQkgICAuICJhdXRvbWFrZS5odG1sI0V4dGVu ZGluZy1hY2xvY2FsIikKCQl1bmxlc3MgJHVuZGVycXVvdGVkX21hbnVhbF9vbmNlOwoJICAg ICAgJHVuZGVycXVvdGVkX21hbnVhbF9vbmNlID0gMTsKCSAgICB9CgoJICAjIElmIHRoaXMg bWFjcm8gZG9lcyBub3QgaGF2ZSBhIHNlcmlhbCBhbmQgd2UgaGF2ZSBhbHJlYWR5CgkgICMg c2VlbiBhIG1hY3JvIHdpdGggdGhlIHNhbWUgYmFzZW5hbWUgZWFybGllciwgd2Ugc2hvdWxk CgkgICMgaWdub3JlIHRoZSBtYWNybyAoZG9uJ3QgZXhpdCBpbW1lZGlhdGVseSBzbyB3ZSBj YW4gc3RpbGwKCSAgIyBkaWFnbm9zZSBsYXRlciAjc2VyaWFsIG51bWJlcnMgYW5kIHVuZGVy cXVvdGVkIG1hY3JvcykuCgkgICRzZXJpYWxfb2xkZXIgfHw9ICgkdHlwZSAhPSBGVF9BVVRP TUFLRQoJCQkgICAgICYmICEkc2VyaWFsX3NlZW4gJiYgZXhpc3RzICRzZXJpYWx7JGJhc2Vu YW1lfSk7CgoJICBteSAkbWFjcm8gPSAkMSB8fCAkMjsKCSAgaWYgKCEkc2VyaWFsX29sZGVy ICYmICFkZWZpbmVkICRtYXB7JG1hY3JvfSkKCSAgICB7CgkgICAgICB2ZXJiICJmb3VuZCBt YWNybyAkbWFjcm8gaW4gJGZpbGU6ICQuIjsKCSAgICAgICRtYXB7JG1hY3JvfSA9ICRmaWxl OwoJICAgICAgcHVzaCBAeyRpbnZtYXB7JGJhc2VuYW1lfX0sICRtYWNybzsKCSAgICB9Cgkg IGVsc2UKCSAgICB7CgkgICAgICAjIE5vdGU6IHdlIHVzZWQgdG8gZ2l2ZSBhbiBlcnJvciBo ZXJlIGlmIHdlIHNhdyBhCgkgICAgICAjIGR1cGxpY2F0ZWQgbWFjcm8uICBIb3dldmVyLCB0 aGlzIHR1cm5zIG91dCB0byBiZQoJICAgICAgIyBleHRyZW1lbHkgdW5wb3B1bGFyLiAgSXQg Y2F1c2VzIGFjdHVhbCBwcm9ibGVtcyB3aGljaAoJICAgICAgIyBhcmUgaGFyZCB0byB3b3Jr IGFyb3VuZCwgZXNwZWNpYWxseSB3aGVuIHlvdSBtdXN0CgkgICAgICAjIG1peC1hbmQtbWF0 Y2ggdG9vbCB2ZXJzaW9ucy4KCSAgICAgIHZlcmIgImlnbm9yaW5nIG1hY3JvICRtYWNybyBp biAkZmlsZTogJC4iOwoJICAgIH0KCX0KCiAgICAgIHdoaWxlICgkbGluZSA9fiAvJG00X2lu Y2x1ZGVfcngvZ28pCgl7CgkgIG15ICRpZmlsZSA9ICQyIHx8ICQzOwoJICAjIFNraXAgbWlz c2luZyAnc2luY2x1ZGUnZCBmaWxlcy4KCSAgbmV4dCBpZiAkMSBuZSAnbTRfJyAmJiAhIC1m ICRpZmlsZTsKCSAgcHVzaCAoQGluY19maWxlcywgJGlmaWxlKTsKCSAgJGluY19saW5lc3sk aWZpbGV9ID0gJC47Cgl9CiAgICB9CgogICMgSWdub3JlIGFueSBmaWxlIHRoYXQgaGFzIGFu IG9sZCBzZXJpYWwgKG9yIG5vIHNlcmlhbCBpZiB3ZSBrbm93CiAgIyBhbm90aGVyIG9uZSB3 aXRoIGEgc2VyaWFsKS4KICByZXR1cm4gKCkKICAgIGlmICgkc2VyaWFsX29sZGVyIHx8Cgko JHR5cGUgIT0gRlRfQVVUT01BS0UgJiYgISRzZXJpYWxfc2VlbiAmJiBleGlzdHMgJHNlcmlh bHskYmFzZW5hbWV9KSk7CgogICRmaWxlX2NvbnRlbnRzeyRmaWxlfSA9ICRjb250ZW50czsK CiAgIyBGb3Igc29tZSByZWFzb24gSSBkb24ndCB1bmRlcnN0YW5kLCBpdCBkb2VzIG5vdCB3 b3JrCiAgIyB0byBkbyAibWFwIHsgc2Nhbl9maWxlICgkXywgLi4uKSB9IEBpbmNfZmlsZXMi IGJlbG93LgogICMgV2l0aCBQZXJsIDUuOC4yIGl0IHVuZGVmaW5lcyBAaW5jX2ZpbGVzLgog IG15IEBjb3B5ID0gQGluY19maWxlczsKICBteSBAYWxsX2luY19maWxlcyA9IChAaW5jX2Zp bGVzLAoJCSAgICAgICBtYXAgeyBzY2FuX2ZpbGUgKCR0eXBlLCAkXywKCQkJCQkiJGZpbGU6 JGluY19saW5lc3skX30iKSB9IEBjb3B5KTsKICAkZmlsZV9pbmNsdWRlc3skZmlsZX0gPSBc QGFsbF9pbmNfZmlsZXM7CiAgcmV0dXJuIEBhbGxfaW5jX2ZpbGVzOwp9CgojIHN0cmlwX3Jl ZHVuZGFudF9pbmNsdWRlcyAoJUZJTEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQojIEVhY2gga2V5IGluICVGSUxFUyBpcyBhIGZpbGUgdGhhdCBtdXN0IGJlIHBy ZXNlbnQgaW4gdGhlIG91dHB1dC4KIyBIb3dldmVyIHNvbWUgb2YgdGhlc2UgZmlsZXMgbWln aHQgYWxyZWFkeSBpbmNsdWRlIG90aGVyIGZpbGVzIGluICVGSUxFUywKIyBzbyB0aGVyZSBp cyBubyBwb2ludCBpbiBpbmNsdWRpbmcgdGhlbSBhbm90aGVyIHRpbWUuCiMgVGhpcyByZW1v dmVzIGl0ZW1zIG9mICVGSUxFUyB3aGljaCBhcmUgYWxyZWFkeSBpbmNsdWRlZCBieSBhbm90 aGVyIGZpbGUuCnN1YiBzdHJpcF9yZWR1bmRhbnRfaW5jbHVkZXMgKCUpCnsKICBteSAlZmls ZXMgPSBAXzsKCiAgIyBBbHdheXMgaW5jbHVkZSBhY2luY2x1ZGUubTQsIGV2ZW4gaWYgaXQg ZG9lcyBub3QgYXBwZWFyIHRvIGJlIHVzZWQuCiAgJGZpbGVzeydhY2luY2x1ZGUubTQnfSA9 IDEgaWYgLWYgJ2FjaW5jbHVkZS5tNCc7CiAgIyBGaWxlIGluY2x1ZGVkIGJ5ICRjb25maWd1 cmVfYWMgYXJlIHJlZHVuZGFudC4KICAkZmlsZXN7JGNvbmZpZ3VyZV9hY30gPSAxOwoKICAj IEZpbGVzIGF0IHRoZSBlbmQgb2YgQGZpbGVfb3JkZXIgc2hvdWxkIG92ZXJyaWRlIHRob3Nl IGF0IHRoZSBiZWdpbm5pbmcsCiAgIyBzbyBpdCBpcyBpbXBvcnRhbnQgdG8gcHJlc2VydmUg dGhlc2UgdHJhaWxpbmcgZmlsZXMuICBXZSBjYW4gcmVtb3ZlCiAgIyBhIGZpbGUgQSBpZiBp dCBpcyBnb2luZyB0byBiZSBvdXRwdXQgYmVmb3JlIGEgZmlsZSBCIHRoYXQgaW5jbHVkZXMK ICAjIGZpbGUgQSwgbm90IHRoZSBjb252ZXJzZS4KICBmb3JlYWNoIG15ICRmaWxlIChyZXZl cnNlIEBmaWxlX29yZGVyKQogICAgewogICAgICBuZXh0IHVubGVzcyBleGlzdHMgJGZpbGVz eyRmaWxlfTsKICAgICAgZm9yZWFjaCBteSAkaWZpbGUgKEB7JGZpbGVfaW5jbHVkZXN7JGZp bGV9fSkKCXsKCSAgbmV4dCB1bmxlc3MgZXhpc3RzICRmaWxlc3skaWZpbGV9OwoJICBkZWxl dGUgJGZpbGVzeyRpZmlsZX07CgkgIHZlcmIgIiRpZmlsZSBpcyBhbHJlYWR5IGluY2x1ZGVk IGJ5ICRmaWxlIjsKCX0KICAgIH0KCiAgIyBjb25maWd1cmUuYWMgaXMgaW1wbGljaXRseSBp bmNsdWRlZC4KICBkZWxldGUgJGZpbGVzeyRjb25maWd1cmVfYWN9OwoKICByZXR1cm4gJWZp bGVzOwp9CgpzdWIgdHJhY2VfdXNlZF9tYWNyb3MgKCkKewogIG15ICVmaWxlcyA9IG1hcCB7 ICRtYXB7JF99ID0+IDEgfSBrZXlzICVtYWNyb19zZWVuOwogICVmaWxlcyA9IHN0cmlwX3Jl ZHVuZGFudF9pbmNsdWRlcyAlZmlsZXM7CgogICMgV2hlbiBBQ19DT05GSUdfTUFDUk9fRElS UyBpcyB1c2VkLCBhdm9pZCBwb3NzaWJsZSBzcHVyaW91cyB3YXJuaW5ncwogICMgZnJvbSBh dXRvbTR0ZSBhYm91dCBtYWNyb3MgYmVpbmcgIm00X3JlcXVpcmUnZCBidXQgbm90IG00X2Rl ZnVuJ2QiOwogICMgZm9yIG1vcmUgYmFja2dyb3VuZCwgc2VlOgogICMgaHR0cHM6Ly9saXN0 cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvY29uZi1wYXRjaGVzLzIwMTItMTEvbXNnMDAw MDQuaHRtbAogICMgYXMgd2VsbCBhcyBhdXRvY29uZiBjb21taXQgJ3YyLjY5LTQ0LWcxZWQw NTQ4JywgIndhcm46IGFsbG93IGFjbG9jYWwKICAjIHRvIHNpbGVuY2UgbTRfcmVxdWlyZSB3 YXJuaW5ncyIuCiAgbXkgJGVhcmx5X200X2NvZGUgLj0gIm00X2RlZmluZShbbTRfcmVxdWly ZV9zaWxlbnRfcHJvYmVdLCBbLV0pIjsKCiAgbXkgJHRyYWNlcyA9ICgkRU5We0FVVE9NNFRF fSB8fCAnYXV0b200dGUnKTsKICAkdHJhY2VzIC49ICIgLS1sYW5ndWFnZSBBdXRvY29uZi13 aXRob3V0LWFjbG9jYWwtbTQgIjsKICAkdHJhY2VzID0gImVjaG8gJyRlYXJseV9tNF9jb2Rl JyB8ICR0cmFjZXMgLSAiOwoKICAjIFN1cHBvcnQgQUNfQ09ORklHX01BQ1JPX0RJUlMgYWxz byB3aXRoIG9sZGVyIGF1dG9jb25mLgogICMgTm90ZSB0aGF0IHdlIGNhbid0IHVzZSAnJGFj X2NvbmZpZ19tYWNyb19kaXJzX2ZhbGxiYWNrJyBoZXJlLCBiZWNhdXNlCiAgIyBhIGJ1ZyBp biBvcHRpb24gcGFyc2luZyBjb2RlIG9mIGF1dG9tNHRlIDIuNjggYW5kIGVhcmxpZXIgd2ls bCBjYXVzZQogICMgaXQgdG8gcmVhZCBzdGFuZGFyZCBpbnB1dCBsYXN0LCBldmVuIGlmIHRo ZSAiLSIgYXJndW1lbnQgaXMgc3BlY2lmaWVkCiAgIyBlYXJseS4KICAjIEZJWE1FOiBUbyBi ZSByZW1vdmVkIGluIEF1dG9tYWtlIDIuMCwgb25jZSB3ZSBjYW4gYXNzdW1lIGF1dG9jb25m CiAgIyAgICAgICAgMi43MCBvciBsYXRlci4KICAkdHJhY2VzIC49ICIkYXV0b21ha2VfaW5j bHVkZXNbMF0vaW50ZXJuYWwvYWMtY29uZmlnLW1hY3JvLWRpcnMubTQgIjsKCiAgIyBBbGwg Y2FuZGlkYXRlIGZpbGVzLgogICR0cmFjZXMgLj0gam9pbiAoJyAnLAoJCSAgIChtYXAgeyAi JyRfJyIgfQoJCSAgICAoZ3JlcCB7IGV4aXN0cyAkZmlsZXN7JF99IH0gQGZpbGVfb3JkZXIp KSkgLiAiICI7CgogICMgQWxsIGNhbmRpZGF0ZSBtYWNyb3MuCiAgJHRyYWNlcyAuPSBqb2lu ICgnICcsCgkJICAgKG1hcCB7ICItLXRyYWNlPSckXzpcJGY6Olwkbjo6XCR7Ojp9JSciIH0K CQkgICAgKCdBQ19ERUZVTicsCgkJICAgICAnQUNfREVGVU5fT05DRScsCgkJICAgICAnQVVf REVGVU4nLAoJCSAgICAgJ19BTV9BVVRPQ09ORl9WRVJTSU9OJywKCQkgICAgICdBQ19DT05G SUdfTUFDUk9fRElSX1RSQUNFJywKICAgICAgICAgICAgICAgICAgICAgIyBGSVhNRTogVHJh Y2luZyB0aGUgbmV4dCB0d28gbWFjcm9zIGlzIGEgaGFjayBmb3IKICAgICAgICAgICAgICAg ICAgICAgIyBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgYXV0b2NvbmYuICBSZW1vdmUgdGhp cyBpbgogICAgICAgICAgICAgICAgICAgICAjIEF1dG9tYWtlIDIuMCwgd2hlbiB3ZSBjYW4g YXNzdW1lIEF1dG9jb25mIDIuNzAgb3IKICAgICAgICAgICAgICAgICAgICAgIyBsYXRlci4K CQkgICAgICdBQ19DT05GSUdfTUFDUk9fRElSJywKCQkgICAgICdfQU1fQ09ORklHX01BQ1JP X0RJUlMnKSksCgkJICAgIyBEbyBub3QgdHJhY2UgJDEgZm9yIGFsbCBvdGhlciBtYWNyb3Mg YXMgd2UgZG8KCQkgICAjIG5vdCBuZWVkIGl0IGFuZCBpdCBtaWdodCBjb250YWlucyBoYXJt ZnVsCgkJICAgIyBjaGFyYWN0ZXJzIChsaWtlIG5ld2xpbmVzKS4KCQkgICAobWFwIHsgIi0t dHJhY2U9JyRfOlwkZjo6XCRuJyIgfSAoa2V5cyAlbWFjcm9fc2VlbikpKTsKCiAgdmVyYiAi cnVubmluZyAkdHJhY2VzICRjb25maWd1cmVfYWMiOwoKICBteSAkdHJhY2VmaCA9IG5ldyBB dXRvbWFrZTo6WEZpbGUgKCIkdHJhY2VzICRjb25maWd1cmVfYWMgfCIpOwoKICBAYWNfY29u ZmlnX21hY3JvX2RpcnMgPSAoKTsKCiAgbXkgJXRyYWNlZCA9ICgpOwoKICB3aGlsZSAoJF8g PSAkdHJhY2VmaC0+Z2V0bGluZSkKICAgIHsKICAgICAgY2hvbXA7CiAgICAgIG15ICgkZmls ZSwgJG1hY3JvLCAkYXJnMSkgPSBzcGxpdCAoLzo6Lyk7CgogICAgICAkdHJhY2VkeyRtYWNy b30gPSAxIGlmIGV4aXN0cyAkbWFjcm9fc2VlbnskbWFjcm99OwoKICAgICAgaWYgKCRtYWNy byBlcSAnQUNfREVGVU4nIHx8ICRtYWNybyBlcSAnQUNfREVGVU5fT05DRScKICAgICAgICAg ICAgfHwgJG1hY3JvIGVxICdBVV9ERUZVTicpCiAgICAgICAgewogICAgICAgICAgJG1hcF90 cmFjZWRfZGVmc3skYXJnMX0gPSAkZmlsZTsKICAgICAgICB9CiAgICAgIGVsc2lmICgkbWFj cm8gZXEgJ19BTV9BVVRPQ09ORl9WRVJTSU9OJykKICAgICAgICB7CiAgICAgICAgICAkYWNf dmVyc2lvbiA9ICRhcmcxOwogICAgICAgIH0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNf Q09ORklHX01BQ1JPX0RJUl9UUkFDRScpCiAgICAgICAgewogICAgICAgICAgcHVzaCBAYWNf Y29uZmlnX21hY3JvX2RpcnMsICRhcmcxOwogICAgICAgIH0KICAgICAgIyBGSVhNRTogV2Ug c3RpbGwgbmVlZCB0byB0cmFjZSBBQ19DT05GSUdfTUFDUk9fRElSCiAgICAgICMgZm9yIGNv bXBhdGliaWxpdHkgd2l0aCBvbGRlciBhdXRvY29uZi4gIFJlbW92ZSB0aGlzCiAgICAgICMg b25jZSB3ZSBjYW4gYXNzdW1lIEF1dG9jb25mIDIuNzAgb3IgbGF0ZXIuCiAgICAgIGVsc2lm ICgkbWFjcm8gZXEgJ0FDX0NPTkZJR19NQUNST19ESVInKQogICAgICAgIHsKICAgICAgICAg IEBhY19jb25maWdfbWFjcm9fZGlycyA9ICgkYXJnMSk7CiAgICAgICAgfQogICAgICAjIEZJ WE1FOlRoaXMgaXMgYW4gaGFjayBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIGF1dG9j b25mLgogICAgICAjIFJlbW92ZSB0aGlzIG9uY2Ugd2UgY2FuIGFzc3VtZSBBdXRvY29uZiAy LjcwIG9yIGxhdGVyLgogICAgICBlbHNpZiAoJG1hY3JvIGVxICdfQU1fQ09ORklHX01BQ1JP X0RJUlMnKQogICAgICAgIHsKICAgICAgICAgICAjIEVtcHR5IGxlYWRpbmcvdHJhaWxpbmcg ZmllbGRzIG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHNwbGl0LAogICAgICAgICAgICMgaGVuY2Ug dGhlIGdyZXAgaXMgcmVhbGx5IG5lZWRlZC4KICAgICAgICAgICBwdXNoIEBhY19jb25maWdf bWFjcm9fZGlycywgZ3JlcCAoLy4vLCAoc3BsaXQgL1xzKy8sICRhcmcxKSk7CiAgICAgICAg fQogICAgfQoKICAjIEZJWE1FOiBpbiBBdXRvY29uZiA+PSAyLjcwLCBBQ19DT05GSUdfTUFD Uk9fRElSIGNhbGxzCiAgIyBBQ19DT05GSUdfTUFDUk9fRElSX1RSQUNFIGJlaGluZCB0aGUg c2NlbmVzLCB3aGljaCBjb3VsZAogICMgbGVhdmUgdW53YW50ZWQgZHVwbGljYXRlcyBpbiBA YWNfY29uZmlnX21hY3JvX2RpcnMuCiAgIyBSZW1vdmUgdGhpcyBpbiBBdXRvbWFrZSAyLjAs IHdoZW4gd2UnbGwgc3RvcCB0cmFjaW5nCiAgIyBBQ19DT05GSUdfTUFDUk9fRElSIGV4cGxp Y2l0bHkuCiAgQGFjX2NvbmZpZ19tYWNyb19kaXJzID0gdW5pcSBAYWNfY29uZmlnX21hY3Jv X2RpcnM7CgogICR0cmFjZWZoLT5jbG9zZTsKCiAgcmV0dXJuICV0cmFjZWQ7Cn0KCnN1YiBz Y2FuX2NvbmZpZ3VyZSAoKQp7CiAgIyBNYWtlIHN1cmUgd2UgaW5jbHVkZSBhY2luY2x1ZGUu bTQgaWYgaXQgZXhpc3RzLgogIGlmICgtZiAnYWNpbmNsdWRlLm00JykKICAgIHsKICAgICAg YWRkX2ZpbGUgKCdhY2luY2x1ZGUubTQnKTsKICAgIH0KICBzY2FuX2NvbmZpZ3VyZV9kZXAg KCRjb25maWd1cmVfYWMpOwp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIFdyaXRlIG91dHB1dC4KIyBSZXR1 cm4gMCBpZmYgc29tZSBmaWxlcyB3ZXJlIGluc3RhbGxlZCBsb2NhbGx5LgpzdWIgd3JpdGVf YWNsb2NhbCAoJEApCnsKICBteSAoJG91dHB1dF9maWxlLCBAbWFjcm9zKSA9IEBfOwogIG15 ICRvdXRwdXQgPSAnJzsKCiAgbXkgJWZpbGVzID0gKCk7CiAgIyBHZXQgdGhlIGxpc3Qgb2Yg ZmlsZXMgY29udGFpbmluZyBkZWZpbml0aW9ucyBmb3IgdGhlIG1hY3JvcyB1c2VkLgogICMg KEZpbHRlciBvdXQgdW51c2VkIG1hY3JvIGRlZmluaXRpb25zIHdpdGggJG1hcF90cmFjZWRf ZGVmcy4gIFRoaXMKICAjIGNhbiBoYXBwZW4gd2hlbiBhbiBBdXRvY29uZiBtYWNybyBpcyBj b25kaXRpb25hbGx5IGRlZmluZWQ6CiAgIyBhY2xvY2FsIHNlZXMgdGhlIHBvdGVudGlhbCBk ZWZpbml0aW9uLCBidXQgdGhpcyBkZWZpbml0aW9uIGlzCiAgIyBhY3R1YWxseSBuZXZlciBw cm9jZXNzZWQgYW5kIHRoZSBBdXRvY29uZiBpbXBsZW1lbnRhdGlvbiBpcyB1c2VkCiAgIyBp bnN0ZWFkLikKICBmb3IgbXkgJG0gKEBtYWNyb3MpCiAgICB7CiAgICAgICRmaWxlc3skbWFw eyRtfX0gPSAxCglpZiAoZXhpc3RzICRtYXBfdHJhY2VkX2RlZnN7JG19CgkgICAgJiYgJG1h cHskbX0gZXEgJG1hcF90cmFjZWRfZGVmc3skbX0pOwogICAgfQogICMgRG8gbm90IGV4cGxp Y2l0bHkgaW5jbHVkZSBhIGZpbGUgdGhhdCBpcyBhbHJlYWR5IGluZGlyZWN0bHkgaW5jbHVk ZWQuCiAgJWZpbGVzID0gc3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICVmaWxlczsKCiAgbXkg JGluc3RhbGxlZCA9IDA7CgogIGZvciBteSAkZmlsZSAoZ3JlcCB7IGV4aXN0cyAkZmlsZXN7 JF99IH0gQGZpbGVfb3JkZXIpCiAgICB7CiAgICAgICMgQ2hlY2sgdGhlIHRpbWUgc3RhbXAg b2YgdGhpcyBmaWxlLCBhbmQgb2YgYWxsIGZpbGVzIGl0IGluY2x1ZGVzLgogICAgICBmb3Ig bXkgJGlmaWxlICgkZmlsZSwgQHskZmlsZV9pbmNsdWRlc3skZmlsZX19KQoJewoJICBteSAk bXRpbWUgPSBtdGltZSAkaWZpbGU7CgkgICRncmVhdGVzdF9tdGltZSA9ICRtdGltZSBpZiAk Z3JlYXRlc3RfbXRpbWUgPCAkbXRpbWU7Cgl9CgogICAgICAjIElmIHRoZSBmaWxlIHRvIGFk ZCBsb29rcyBsaWtlIG91dHNpZGUgdGhlIHByb2plY3QsIGNvcHkgaXQKICAgICAgIyB0byB0 aGUgb3V0cHV0LiAgVGhlIHJlZ2V4IGNhdGNoZXMgZmlsZW5hbWVzIHN0YXJ0aW5nIHdpdGgK ICAgICAgIyB0aGluZ3MgbGlrZSAnLycsICdcJywgb3IgJ2M6XCcuCiAgICAgIGlmICgkZmls ZV90eXBleyRmaWxlfSAhPSBGVF9VU0VSCgkgIHx8ICRmaWxlID1+IG0sXig/Olx3Oik/W1xc L10sKQoJewoJICBpZiAoISRpbnN0YWxsIHx8ICRmaWxlX3R5cGV7JGZpbGV9ICE9IEZUX1NZ U1RFTSkKCSAgICB7CgkgICAgICAjIENvcHkgdGhlIGZpbGUgaW50byBhY2xvY2FsLm00LgoJ ICAgICAgJG91dHB1dCAuPSAkZmlsZV9jb250ZW50c3skZmlsZX0gLiAiXG4iOwoJICAgIH0K CSAgZWxzZQoJICAgIHsKCSAgICAgICMgSW5zdGFsbCB0aGUgZmlsZSAoYW5kIGFueSBmaWxl IGl0IGluY2x1ZGVzKS4KCSAgICAgIG15ICRkZXN0OwoJICAgICAgZm9yIG15ICRpZmlsZSAo QHskZmlsZV9pbmNsdWRlc3skZmlsZX19LCAkZmlsZSkKCQl7CgkJICBpbnN0YWxsX2ZpbGUg KCRpZmlsZSwgJHVzZXJfaW5jbHVkZXNbMF0pOwoJCX0KCSAgICAgICRpbnN0YWxsZWQgPSAx OwoJICAgIH0KCX0KICAgICAgZWxzZQoJewoJICAjIE90aGVyd2lzZSwgc2ltcGx5IGluY2x1 ZGUgdGhlIGZpbGUuCgkgICRvdXRwdXQgLj0gIm00X2luY2x1ZGUoWyRmaWxlXSlcbiI7Cgl9 CiAgICB9CgogIGlmICgkaW5zdGFsbGVkKQogICAgewogICAgICB2ZXJiICJydW5uaW5nIGFj bG9jYWwgYW5ldywgYmVjYXVzZSBzb21lIGZpbGVzIHdlcmUgaW5zdGFsbGVkIGxvY2FsbHki OwogICAgICByZXR1cm4gMDsKICAgIH0KCiAgIyBOb3RoaW5nIHRvIG91dHB1dD8hCiAgIyBG SVhNRTogU2hvdWxkbid0IHdlIGRpYWdub3NlIHRoaXM/CiAgcmV0dXJuIDEgaWYgISBsZW5n dGggKCRvdXRwdXQpOwoKICBpZiAoJGFjX3ZlcnNpb24pCiAgICB7CiAgICAgICMgRG8gbm90 IHVzZSAiJG91dHB1dF9maWxlIiBoZXJlIGZvciB0aGUgc2FtZSByZWFzb24gd2UgZG8gbm90 CiAgICAgICMgdXNlIGl0IGluIHRoZSBoZWFkZXIgYmVsb3cuICBhdXRvbTR0ZSB3aWxsIG91 dHB1dCB0aGUgbmFtZSBvZgogICAgICAjIHRoZSBmaWxlIGluIHRoZSBkaWFnbm9zdGljIGFu eXdheS4KICAgICAgJG91dHB1dCA9ICJtNF9pZm5kZWYoW0FDX0FVVE9DT05GX1ZFUlNJT05d LAogIFttNF9jb3B5KFttNF9QQUNLQUdFX1ZFUlNJT05dLCBbQUNfQVVUT0NPTkZfVkVSU0lP Tl0pXSlkbmwKbTRfaWYobTRfZGVmbihbQUNfQVVUT0NPTkZfVkVSU0lPTl0pLCBbJGFjX3Zl cnNpb25dLCwKW200X3dhcm5pbmcoW3RoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGZvciBhdXRv Y29uZiAkYWNfdmVyc2lvbi4KWW91IGhhdmUgYW5vdGhlciB2ZXJzaW9uIG9mIGF1dG9jb25m LiAgSXQgbWF5IHdvcmssIGJ1dCBpcyBub3QgZ3VhcmFudGVlZCB0by4KSWYgeW91IGhhdmUg cHJvYmxlbXMsIHlvdSBtYXkgbmVlZCB0byByZWdlbmVyYXRlIHRoZSBidWlsZCBzeXN0ZW0g ZW50aXJlbHkuClRvIGRvIHNvLCB1c2UgdGhlIHByb2NlZHVyZSBkb2N1bWVudGVkIGJ5IHRo ZSBwYWNrYWdlLCB0eXBpY2FsbHkgJ2F1dG9yZWNvbmYnLl0pXSkKCiRvdXRwdXQiOwogICAg fQoKICAjIFdlIHVzZWQgdG8gcHJpbnQgIiMgJG91dHB1dF9maWxlIGdlbmVyYXRlZCBhdXRv bWF0aWNhbGx5IGV0Yy4iICBCdXQKICAjIHRoaXMgY3JlYXRlcyBzcHVyaW91cyBkaWZmZXJl bmNlcyB3aGVuIHVzaW5nIGF1dG9yZWNvbmYuICBBdXRvcmVjb25mCiAgIyBjcmVhdGVzIGFj bG9jYWwubTR0IGFuZCB0aGVuIHJlbmFtZSBpdCB0byBhY2xvY2FsLm00LCBidXQgdGhlCiAg IyByZWJ1aWxkIHJ1bGVzIGdlbmVyYXRlZCBieSBBdXRvbWFrZSBjcmVhdGUgYWNsb2NhbC5t NCBkaXJlY3RseSAtLQogICMgdGhpcyB3b3VsZCBnaXZlcyB0d28gd2F5cyB0byBnZXQgdGhl IHNhbWUgZmlsZSwgd2l0aCBhIGRpZmZlcmVudAogICMgbmFtZSBpbiB0aGUgaGVhZGVyLgog ICRvdXRwdXQgPSAiIyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBhY2xvY2FsICRWRVJT SU9OIC0qLSBBdXRvY29uZiAtKi0KCiMgQ29weXJpZ2h0IChDKSAxOTk2LSRSRUxFQVNFX1lF QVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCgojIFRoaXMgZmlsZSBpcyBmcmVl IHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiMgZ2l2ZXMgdW5saW1p dGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKIyB3aXRoIG9y IHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVz ZXJ2ZWQuCgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWSwgdG8gdGhl IGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3OyB3aXRob3V0CiMgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQQojIFBBUlRJQ1VM QVIgUFVSUE9TRS4KCiRhY19jb25maWdfbWFjcm9fZGlyc19mYWxsYmFjawokb3V0cHV0IjsK CiAgIyBXZSB0cnkgbm90IHRvIHVwZGF0ZSAkb3V0cHV0X2ZpbGUgdW5sZXNzIG5lY2Vzc2Fy eSwgYmVjYXVzZQogICMgZG9pbmcgc28gaW52YWxpZGF0ZSBBdXRvbTR0ZSdzIGNhY2hlIGFu ZCB0aGVyZWZvcmUgc2xvd3MgZG93bgogICMgdG9vbHMgY2FsbGVkIGFmdGVyIGFjbG9jYWwu CiAgIwogICMgV2UgbmVlZCB0byBvdmVyd3JpdGUgJG91dHB1dF9maWxlIGluIHRoZSBmb2xs b3dpbmcgc2l0dWF0aW9ucy4KICAjICAgKiBUaGUgLS1mb3JjZSBvcHRpb24gaXMgaW4gdXNl LgogICMgICAqIE9uZSBvZiB0aGUgZGVwZW5kZW5jaWVzIGlzIHlvdW5nZXIuCiAgIyAgICAg KE5vdCB1cGRhdGluZyAkb3V0cHV0X2ZpbGUgaW4gdGhpcyBzaXR1YXRpb24gd291bGQgY2F1 c2UKICAjICAgICBtYWtlIHRvIGNhbGwgYWNsb2NhbCBpbiBsb29wLikKICAjICAgKiBUaGUg Y29udGVudHMgb2YgdGhlIGN1cnJlbnQgZmlsZSBhcmUgZGlmZmVyZW50IGZyb20gd2hhdAog ICMgICAgIHdlIGhhdmUgY29tcHV0ZWQuCiAgaWYgKCEkZm9yY2Vfb3V0cHV0CiAgICAgICYm ICRncmVhdGVzdF9tdGltZSA8IG10aW1lICgkb3V0cHV0X2ZpbGUpCiAgICAgICYmICRvdXRw dXQgZXEgY29udGVudHMgKCRvdXRwdXRfZmlsZSkpCiAgICB7CiAgICAgIHZlcmIgIiRvdXRw dXRfZmlsZSB1bmNoYW5nZWQiOwogICAgICByZXR1cm4gMTsKICAgIH0KCiAgdmVyYiAid3Jp dGluZyAkb3V0cHV0X2ZpbGUiOwoKICBpZiAoISRkcnlfcnVuKQogICAgewogICAgICBpZiAo LWUgJG91dHB1dF9maWxlICYmICF1bmxpbmsgJG91dHB1dF9maWxlKQogICAgICAgIHsKCSAg ZmF0YWwgImNvdWxkIG5vdCByZW1vdmUgJyRvdXRwdXRfZmlsZSc6ICQhIjsKCX0KICAgICAg bXkgJG91dCA9IG5ldyBBdXRvbWFrZTo6WEZpbGUgIj4gJG91dHB1dF9maWxlIjsKICAgICAg cHJpbnQgJG91dCAkb3V0cHV0OwogICAgfQogIHJldHVybiAxOwp9CgojIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoj IFByaW50IHVzYWdlIGFuZCBleGl0LgpzdWIgdXNhZ2UgKCQpCnsKICBteSAoJHN0YXR1cykg PSBAXzsKCiAgcHJpbnQgPDwnRU9GJzsKVXNhZ2U6IGFjbG9jYWwgW09QVElPTl0uLi4KCkdl bmVyYXRlICdhY2xvY2FsLm00JyBieSBzY2FubmluZyAnY29uZmlndXJlLmFjJyBvciAnY29u ZmlndXJlLmluJwoKT3B0aW9uczoKICAgICAgLS1hdXRvbWFrZS1hY2Rpcj1ESVIgIGRpcmVj dG9yeSBob2xkaW5nIGF1dG9tYWtlLXByb3ZpZGVkIG00IGZpbGVzCiAgICAgIC0tc3lzdGVt LWFjZGlyPURJUiAgICBkaXJlY3RvcnkgaG9sZGluZyB0aGlyZC1wYXJ0eSBzeXN0ZW0td2lk ZSBmaWxlcwogICAgICAtLWRpZmZbPUNPTU1BTkRdICAgICAgcnVuIENPTU1BTkQgW2RpZmYg LXVdIG9uIE00IGZpbGVzIHRoYXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNoYW5nZWQgKGltcGxpZXMgLS1pbnN0YWxsIGFuZCAtLWRyeS1ydW4pCiAgICAgIC0t ZHJ5LXJ1biAgICAgICAgICAgICBwcmV0ZW5kIHRvLCBidXQgZG8gbm90IGFjdHVhbGx5IHVw ZGF0ZSBhbnkgZmlsZQogICAgICAtLWZvcmNlICAgICAgICAgICAgICAgYWx3YXlzIHVwZGF0 ZSBvdXRwdXQgZmlsZQogICAgICAtLWhlbHAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBo ZWxwLCB0aGVuIGV4aXQKICAtSSBESVIgICAgICAgICAgICAgICAgICAgIGFkZCBkaXJlY3Rv cnkgdG8gc2VhcmNoIGxpc3QgZm9yIC5tNCBmaWxlcwogICAgICAtLWluc3RhbGwgICAgICAg ICAgICAgY29weSB0aGlyZC1wYXJ0eSBmaWxlcyB0byB0aGUgZmlyc3QgLUkgZGlyZWN0b3J5 CiAgICAgIC0tb3V0cHV0PUZJTEUgICAgICAgICBwdXQgb3V0cHV0IGluIEZJTEUgKGRlZmF1 bHQgYWNsb2NhbC5tNCkKICAgICAgLS1wcmludC1hYy1kaXIgICAgICAgIHByaW50IG5hbWUg b2YgZGlyZWN0b3J5IGhvbGRpbmcgc3lzdGVtLXdpZGUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdGhpcmQtcGFydHkgbTQgZmlsZXMsIHRoZW4gZXhpdAogICAgICAtLXZlcmJv c2UgICAgICAgICAgICAgZG9uJ3QgYmUgc2lsZW50CiAgICAgIC0tdmVyc2lvbiAgICAgICAg ICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CiAgLVcsIC0td2FybmluZ3M9 Q0FURUdPUlkgICByZXBvcnQgdGhlIHdhcm5pbmdzIGZhbGxpbmcgaW4gQ0FURUdPUlkKCldh cm5pbmcgY2F0ZWdvcmllcyBpbmNsdWRlOgogIHN5bnRheCAgICAgICAgZHViaW91cyBzeW50 YWN0aWMgY29uc3RydWN0cyAoZGVmYXVsdCkKICB1bnN1cHBvcnRlZCAgIHVua25vd24gbWFj cm9zIChkZWZhdWx0KQogIGFsbCAgICAgICAgICAgYWxsIHRoZSB3YXJuaW5ncyAoZGVmYXVs dCkKICBuby1DQVRFR09SWSAgIHR1cm4gb2ZmIHdhcm5pbmdzIGluIENBVEVHT1JZCiAgbm9u ZSAgICAgICAgICB0dXJuIG9mZiBhbGwgdGhlIHdhcm5pbmdzCiAgZXJyb3IgICAgICAgICB0 cmVhdCB3YXJuaW5ncyBhcyBlcnJvcnMKClJlcG9ydCBidWdzIHRvIDxidWctYXV0b21ha2VA Z251Lm9yZz4uCkdOVSBBdXRvbWFrZSBob21lIHBhZ2U6IDxodHRwczovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2F1dG9tYWtlLz4uCkdlbmVyYWwgaGVscCB1c2luZyBHTlUgc29mdHdhcmU6 IDxodHRwczovL3d3dy5nbnUub3JnL2dldGhlbHAvPi4KRU9GCiAgZXhpdCAkc3RhdHVzOwp9 CgojIFByaW50IHZlcnNpb24gYW5kIGV4aXQuCnN1YiB2ZXJzaW9uICgpCnsKICBwcmludCA8 PEVPRjsKYWNsb2NhbCAoR05VICRQQUNLQUdFKSAkVkVSU0lPTgpDb3B5cmlnaHQgKEMpICRS RUxFQVNFX1lFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BM djIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cHM6Ly9nbnUub3JnL2xpY2Vu c2VzL2dwbC0yLjAuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUg dG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0 byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuCgpXcml0dGVuIGJ5IFRvbSBUcm9tZXkg PHRyb21leVxAcmVkaGF0LmNvbT4KICAgICAgIGFuZCBBbGV4YW5kcmUgRHVyZXQtTHV0eiA8 YWRsXEBnbnUub3JnPi4KRU9GCiAgZXhpdCAwOwp9CgojIFBhcnNlIGNvbW1hbmQgbGluZS4K c3ViIHBhcnNlX2FyZ3VtZW50cyAoKQp7CiAgbXkgJHByaW50X2FuZF9leGl0ID0gMDsKICBt eSAkZGlmZl9jb21tYW5kOwoKICBteSAlY2xpX29wdGlvbnMgPQogICAgKAogICAgICdoZWxw JwkJPT4gc3ViIHsgdXNhZ2UoMCk7IH0sCiAgICAgJ3ZlcnNpb24nCQk9PiBcJnZlcnNpb24s CiAgICAgJ3N5c3RlbS1hY2Rpcj1zJwk9PiBzdWIgeyBzaGlmdDsgQHN5c3RlbV9pbmNsdWRl cyA9IEBfOyB9LAogICAgICdhdXRvbWFrZS1hY2Rpcj1zJwk9PiBzdWIgeyBzaGlmdDsgQGF1 dG9tYWtlX2luY2x1ZGVzID0gQF87IH0sCiAgICAgJ2RpZmY6cycJCT0+IFwkZGlmZl9jb21t YW5kLAogICAgICdkcnktcnVuJwkJPT4gXCRkcnlfcnVuLAogICAgICdmb3JjZScJCT0+IFwk Zm9yY2Vfb3V0cHV0LAogICAgICdJPXMnCQk9PiBcQHVzZXJfaW5jbHVkZXMsCiAgICAgJ2lu c3RhbGwnICAgICAgICAgID0+IFwkaW5zdGFsbCwKICAgICAnb3V0cHV0PXMnCQk9PiBcJG91 dHB1dF9maWxlLAogICAgICdwcmludC1hYy1kaXInICAgICA9PiBcJHByaW50X2FuZF9leGl0 LAogICAgICd2ZXJib3NlJwkJPT4gc3ViIHsgc2V0dXBfY2hhbm5lbCAndmVyYicsIHNpbGVu dCA9PiAwOyB9LAogICAgICdXfHdhcm5pbmdzPXMnICAgICA9PiBcJnBhcnNlX3dhcm5pbmdz LAogICAgICk7CgogIHVzZSBBdXRvbWFrZTo6R2V0b3B0ICgpOwogIEF1dG9tYWtlOjpHZXRv cHQ6OnBhcnNlX29wdGlvbnMgJWNsaV9vcHRpb25zOwoKICBpZiAoQEFSR1YgPiAwKQogICAg ewogICAgICBmYXRhbCAoIm5vbi1vcHRpb24gYXJndW1lbnRzIGFyZSBub3QgYWNjZXB0ZWQ6 ICckQVJHVlswXScuXG4iCiAgICAgICAgICAgICAuICJUcnkgJyQwIC0taGVscCcgZm9yIG1v cmUgaW5mb3JtYXRpb24uIik7CiAgICB9CgogIGlmICgkcHJpbnRfYW5kX2V4aXQpCiAgICB7 CiAgICAgIHByaW50ICJAc3lzdGVtX2luY2x1ZGVzXG4iOwogICAgICBleGl0IDA7CiAgICB9 CgogIGlmIChkZWZpbmVkICRkaWZmX2NvbW1hbmQpCiAgICB7CiAgICAgICRkaWZmX2NvbW1h bmQgPSAnZGlmZiAtdScgaWYgJGRpZmZfY29tbWFuZCBlcSAnJzsKICAgICAgQGRpZmZfY29t bWFuZCA9IHNwbGl0ICgnICcsICRkaWZmX2NvbW1hbmQpOwogICAgICAkaW5zdGFsbCA9IDE7 CiAgICAgICRkcnlfcnVuID0gMTsKICAgIH0KCiAgIyBGaW5hbGx5LCBhZGRzIGFueSBkaXJl Y3RvcnkgbGlzdGVkIGluIHRoZSAnZGlybGlzdCcgZmlsZS4KICBpZiAoQHN5c3RlbV9pbmNs dWRlcyAmJiBvcGVuIChESVJMSVNULCAiJHN5c3RlbV9pbmNsdWRlc1swXS9kaXJsaXN0Iikp CiAgICB7CiAgICAgIHdoaWxlICg8RElSTElTVD4pCiAgICAgICAgewogICAgICAgICAgIyBJ Z25vcmUgJyMnIGxpbmVzLgogICAgICAgICAgbmV4dCBpZiAvXiMvOwogICAgICAgICAgIyBz dHJpcCBvZmYgbmV3bGluZXMgYW5kIGVuZC1vZi1saW5lIGNvbW1lbnRzCiAgICAgICAgICBz L1xzKlwjLiokLy87CiAgICAgICAgICBjaG9tcDsKICAgICAgICAgIGZvcmVhY2ggbXkgJGRp ciAoZ2xvYikKICAgICAgICAgICAgewogICAgICAgICAgICAgIHB1c2ggKEBzeXN0ZW1faW5j bHVkZXMsICRkaXIpIGlmIC1kICRkaXI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAg IGNsb3NlIChESVJMSVNUKTsKICAgIH0KfQoKIyBBZGQgYW55IGRpcmVjdG9yeSBsaXN0ZWQg aW4gdGhlICdBQ0xPQ0FMX1BBVEgnIGVudmlyb25tZW50IHZhcmlhYmxlCiMgdG8gdGhlIGxp c3Qgb2Ygc3lzdGVtIGluY2x1ZGUgZGlyZWN0b3JpZXMuCnN1YiBwYXJzZV9BQ0xPQ0FMX1BB VEggKCkKewogIHJldHVybiBpZiBub3QgZGVmaW5lZCAkRU5WeyJBQ0xPQ0FMX1BBVEgifTsK ICAjIERpcmVjdG9yaWVzIGluIEFDTE9DQUxfUEFUSCBzaG91bGQgdGFrZSBwcmVjZWRlbmNl IG92ZXIgc3lzdGVtCiAgIyBkaXJlY3Rvcmllcywgc28gd2UgdXNlIHVuc2hpZnQuICBIb3dl dmVyLCBkaXJlY3RvcmllcyB0aGF0CiAgIyBjb21lIGZpcnN0IGluIEFDTE9DQUxfUEFUSCB0 YWtlIHByZWNlZGVuY2Ugb3ZlciBkaXJlY3RvcmllcwogICMgY29taW5nIGxhdGVyLCB3aGlj aCBpcyB3aHkgdGhlIHJlc3VsdCBvZiBzcGxpdCBpcyByZXZlcnNlZC4KICBmb3JlYWNoIG15 ICRkaXIgKHJldmVyc2Ugc3BsaXQgLzovLCAkRU5WeyJBQ0xPQ0FMX1BBVEgifSkKICAgIHsK ICAgICAgdW5zaGlmdCAoQHN5c3RlbV9pbmNsdWRlcywgJGRpcikgaWYgJGRpciBuZSAnJyAm JiAtZCAkZGlyOwogICAgfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIERvbid0IHJlZmVyIHRvIGluc3Rh bGxhdGlvbiBkaXJlY3RvcmllcyBmcm9tIHRoZSBidWlsZCBlbnZpcm9ubWVudAppZiAoZXhp c3RzICRFTlZ7IkFVVE9NQUtFX1VOSU5TVEFMTEVEIn0pCiAgewogICAgQGF1dG9tYWtlX2lu Y2x1ZGVzID0gKCk7CiAgICBAc3lzdGVtX2luY2x1ZGVzID0gKCk7CiAgfQoKQGF1dG9tYWtl X2luY2x1ZGVzID0gKCRFTlZ7IkFDTE9DQUxfQVVUT01BS0VfRElSIn0pCiAgaWYgKGV4aXN0 cyAkRU5WeyJBQ0xPQ0FMX0FVVE9NQUtFX0RJUiJ9KTsKCnBhcnNlX1dBUk5JTkdTOwkJICAg ICMgUGFyc2UgdGhlIFdBUk5JTkdTIGVudmlyb25tZW50IHZhcmlhYmxlLgpwYXJzZV9hcmd1 bWVudHM7CnBhcnNlX0FDTE9DQUxfUEFUSDsKJGNvbmZpZ3VyZV9hYyA9IHJlcXVpcmVfY29u ZmlndXJlX2FjOwoKIyBXZSBtYXkgaGF2ZSB0byByZXJ1biBhY2xvY2FsIGlmIHNvbWUgZmls ZSBoYXZlIGJlZW4gaW5zdGFsbGVkLCBidXQKIyBpdCBzaG91bGQgbm90IGhhcHBlbiBtb3Jl IHRoYW4gb25jZS4gIFRoZSByZWFzb24gd2UgbXVzdCBydW4gYWdhaW4KIyBpcyB0aGF0IG9u Y2UgdGhlIGZpbGUgaGFzIGJlZW4gbW92ZWQgZnJvbSAvdXNyL3NoYXJlL2FjbG9jYWwvIHRv IHRoZQojIGxvY2FsIG00LyBkaXJlY3RvcnkgaXQgYXBwZWFycyBhdCBhIG5ldyBwbGFjZSBp biB0aGUgc2VhcmNoIHBhdGgsCiMgaGVuY2UgaXQgc2hvdWxkIGJlIG91dHB1dCBhdCBhIGRp ZmZlcmVudCBwb3NpdGlvbiBpbiBhY2xvY2FsLm00LiAgSWYKIyB3ZSBkaWQgbm90IHJlcnVu IGFjbG9jYWwsIHRoZSBuZXh0IHJ1biBvZiBhY2xvY2FsIHdvdWxkIHByb2R1Y2UgYQojIGRp ZmZlcmVudCBhY2xvY2FsLm00LgpteSAkbG9vcCA9IDA7Cm15ICRyZXJ1bl9kdWVfdG9fbWFj cm9kaXIgPSAwOwp3aGlsZSAoMSkKICB7CiAgICArKyRsb29wOwogICAgcHJvZ19lcnJvciAi dG9vIG1hbnkgbG9vcHMiIGlmICRsb29wID4gMiArICRyZXJ1bl9kdWVfdG9fbWFjcm9kaXI7 CgogICAgcmVzZXRfbWFwczsKICAgIHNjYW5fbTRfZmlsZXM7CiAgICBzY2FuX2NvbmZpZ3Vy ZTsKICAgIGxhc3QgaWYgJGV4aXRfY29kZTsKICAgIG15ICVtYWNyb190cmFjZWQgPSB0cmFj ZV91c2VkX21hY3JvczsKCiAgICBpZiAoISRyZXJ1bl9kdWVfdG9fbWFjcm9kaXIgJiYgQGFj X2NvbmZpZ19tYWNyb19kaXJzKQogICAgICB7CiAgICAgICAgIyBUaGUgZGlyZWN0b3J5IHNw ZWNpZmllZCBpbiBjYWxscyB0byB0aGUgQUNfQ09ORklHX01BQ1JPX0RJUlMKICAgICAgICAj IG00IG1hY3JvIChpZiBhbnkpIG11c3QgZ28gYWZ0ZXIgdGhlIHVzZXIgaW5jbHVkZXMgc3Bl Y2lmaWVkCiAgICAgICAgIyBleHBsaWNpdGx5IHdpdGggdGhlICctSScgb3B0aW9uLgogICAg ICAgIHB1c2ggQHVzZXJfaW5jbHVkZXMsIEBhY19jb25maWdfbWFjcm9fZGlyczsKICAgICAg ICAjIFdlIG1pZ2h0IGhhdmUgdG8gc2NhbiBzb21lIG5ldyBkaXJlY3Rvcnkgb2YgLm00IGZp bGVzLgogICAgICAgICRyZXJ1bl9kdWVfdG9fbWFjcm9kaXIrKzsKICAgICAgICBuZXh0Owog ICAgICB9CgogICAgaWYgKCRpbnN0YWxsICYmICFAdXNlcl9pbmNsdWRlcykKICAgICAgewog ICAgICAgIGZhdGFsICJpbnN0YWxsYXRpb24gb2YgdGhpcmQtcGFydHkgbWFjcm9zIGltcG9z c2libGUgd2l0aG91dCAiIC4KICAgICAgICAgICAgICAiLUkgb3B0aW9ucyBub3IgQUNfQ09O RklHX01BQ1JPX0RJUnssU30gbTQgbWFjcm8ocykiOwogICAgICB9CgogICAgbGFzdCBpZiB3 cml0ZV9hY2xvY2FsICgkb3V0cHV0X2ZpbGUsIGtleXMgJW1hY3JvX3RyYWNlZCk7CiAgICBs YXN0IGlmICRkcnlfcnVuOwogIH0KY2hlY2tfYWNpbmNsdWRlOwoKZXhpdCAkZXhpdF9jb2Rl OworIGNhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2Jpbi9hdXRv bWFrZS0xLjE2CiMhL3Vzci9iaW4vcGVybCAtdwojIGF1dG9tYWtlIC0gY3JlYXRlIE1ha2Vm aWxlLmluIGZyb20gTWFrZWZpbGUuYW0gICAgICAgICAgICAtKi0gcGVybCAtKi0KIyBHZW5l cmF0ZWQgZnJvbSBiaW4vYXV0b21ha2UuaW47IGRvIG5vdCBlZGl0IGJ5IGhhbmQuCiMgQ29w eXJpZ2h0IChDKSAxOTk0LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCgoj IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiMgYW55 IGxhdGVyIHZlcnNpb24uCgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgojIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKIyBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgRGF2aWQg TWFja2VuemllIDxkam1AZ251LmFpLm1pdC5lZHU+LgojIFBlcmwgcmVpbXBsZW1lbnRhdGlv biBieSBUb20gVHJvbWV5IDx0cm9tZXlAcmVkaGF0LmNvbT4sIGFuZAojIEFsZXhhbmRyZSBE dXJldC1MdXR6IDxhZGxAZ251Lm9yZz4uCgpwYWNrYWdlIEF1dG9tYWtlOwoKdXNlIHN0cmlj dDsKCkJFR0lOCnsKICB1bnNoaWZ0IChASU5DLCAnL3Vzci9sb2NhbC9zaGFyZS9hdXRvbWFr ZS0xLjE2JykKICAgIHVubGVzcyAkRU5We0FVVE9NQUtFX1VOSU5TVEFMTEVEfTsKCiAgIyBP dmVycmlkZSBTSEVMTC4gIFRoaXMgaXMgcmVxdWlyZWQgb24gREpHUFAgc28gdGhhdCBzeXN0 ZW0oKSB1c2VzCiAgIyBiYXNoLCBub3QgQ09NTUFORC5DT00gd2hpY2ggZG9lc24ndCBxdW90 ZSBhcmd1bWVudHMgcHJvcGVybHkuCiAgIyBPdGhlciBzeXN0ZW1zIGFyZW4ndCBleHBlY3Rl ZCB0byB1c2UgJFNIRUxMIHdoZW4gQXV0b21ha2UKICAjIHJ1bnMsIGJ1dCBpdCBzaG91bGQg YmUgc2FmZSB0byBkcm9wIHRoZSAiaWYgREpHUFAiIGd1YXJkIGlmCiAgIyBpdCB0dXJucyB1 cCBvdGhlciBzeXN0ZW1zIG5lZWQgdGhlIHNhbWUgdGhpbmcuICBBZnRlciBhbGwsCiAgIyBp ZiBTSEVMTCBpcyB1c2VkLCAuL2NvbmZpZ3VyZSdzIFNIRUxMIGlzIGFsd2F5cyBiZXR0ZXIg dGhhbgogICMgdGhlIHVzZXIncyBTSEVMTCAod2hpY2ggbWF5IGJlIHNvbWV0aGluZyBsaWtl IHRjc2gpLgogICRFTlZ7J1NIRUxMJ30gPSAnL2Jpbi9zaCcgaWYgZXhpc3RzICRFTlZ7J0RK RElSJ307Cn0KCnVzZSBBdXRvbWFrZTo6Q29uZmlnOwpCRUdJTgp7CiAgaWYgKCRwZXJsX3Ro cmVhZHMpCiAgICB7CiAgICAgIHJlcXVpcmUgdGhyZWFkczsKICAgICAgaW1wb3J0IHRocmVh ZHM7CiAgICAgIHJlcXVpcmUgVGhyZWFkOjpRdWV1ZTsKICAgICAgaW1wb3J0IFRocmVhZDo6 UXVldWU7CiAgICB9Cn0KdXNlIEF1dG9tYWtlOjpHZW5lcmFsOwp1c2UgQXV0b21ha2U6OlhG aWxlOwp1c2UgQXV0b21ha2U6OkNoYW5uZWxzOwp1c2UgQXV0b21ha2U6OkNoYW5uZWxEZWZz Owp1c2UgQXV0b21ha2U6OkNvbmZpZ3VyZV9hYzsKdXNlIEF1dG9tYWtlOjpGaWxlVXRpbHM7 CnVzZSBBdXRvbWFrZTo6TG9jYXRpb247CnVzZSBBdXRvbWFrZTo6Q29uZGl0aW9uIHF3L1RS VUUgRkFMU0UvOwp1c2UgQXV0b21ha2U6OkRpc2pDb25kaXRpb25zOwp1c2UgQXV0b21ha2U6 Ok9wdGlvbnM7CnVzZSBBdXRvbWFrZTo6VmFyaWFibGU7CnVzZSBBdXRvbWFrZTo6VmFyRGVm Owp1c2UgQXV0b21ha2U6OlJ1bGU7CnVzZSBBdXRvbWFrZTo6UnVsZURlZjsKdXNlIEF1dG9t YWtlOjpXcmFwICdtYWtlZmlsZV93cmFwJzsKdXNlIEF1dG9tYWtlOjpMYW5ndWFnZTsKdXNl IEZpbGU6OkJhc2VuYW1lOwp1c2UgRmlsZTo6U3BlYzsKdXNlIENhcnA7CgojIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSAjIwojIyBTdWJyb3V0aW5lIHByb3RvdHlwZXMuICAjIwojIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKc3ViIGFwcGVuZF9leGVleHQgKCYkKTsKc3Vi IGNoZWNrX2duaXRzX3N0YW5kYXJkcyAoKTsKc3ViIGNoZWNrX2dudV9zdGFuZGFyZHMgKCk7 CnN1YiBjaGVja190cmFpbGluZ19zbGFzaCAoJFwkKTsKc3ViIGNoZWNrX3R5cG9zICgpOwpz dWIgZGVmaW5lX2ZpbGVzX3ZhcmlhYmxlICgkXEAkJCk7CnN1YiBkZWZpbmVfc3RhbmRhcmRf dmFyaWFibGVzICgpOwpzdWIgZGVmaW5lX3ZlcmJvc2VfbGlidG9vbCAoKTsKc3ViIGRlZmlu ZV92ZXJib3NlX3RleGluZm8gKCk7CnN1YiBkb19jaGVja19tZXJnZV90YXJnZXQgKCk7CnN1 YiBnZXRfbnVtYmVyX29mX3RocmVhZHMgKCk7CnN1YiBoYW5kbGVfY29tcGlsZSAoKTsKc3Vi IGhhbmRsZV9kYXRhICgpOwpzdWIgaGFuZGxlX2Rpc3QgKCk7CnN1YiBoYW5kbGVfZW1hY3Nf bGlzcCAoKTsKc3ViIGhhbmRsZV9mYWN0b3JlZF9kZXBlbmRlbmNpZXMgKCk7CnN1YiBoYW5k bGVfZm9vdGVyICgpOwpzdWIgaGFuZGxlX2dldHRleHQgKCk7CnN1YiBoYW5kbGVfaGVhZGVy cyAoKTsKc3ViIGhhbmRsZV9pbnN0YWxsICgpOwpzdWIgaGFuZGxlX2phdmEgKCk7CnN1YiBo YW5kbGVfbGFuZ3VhZ2VzICgpOwpzdWIgaGFuZGxlX2xpYnJhcmllcyAoKTsKc3ViIGhhbmRs ZV9saWJ0b29sICgpOwpzdWIgaGFuZGxlX2x0bGlicmFyaWVzICgpOwpzdWIgaGFuZGxlX21h a2VmaWxlc19zZXJpYWwgKCk7CnN1YiBoYW5kbGVfbWFuX3BhZ2VzICgpOwpzdWIgaGFuZGxl X21pbm9yX29wdGlvbnMgKCk7CnN1YiBoYW5kbGVfb3B0aW9ucyAoKTsKc3ViIGhhbmRsZV9w cm9ncmFtcyAoKTsKc3ViIGhhbmRsZV9weXRob24gKCk7CnN1YiBoYW5kbGVfc2NyaXB0cyAo KTsKc3ViIGhhbmRsZV9zaWxlbnQgKCk7CnN1YiBoYW5kbGVfc3ViZGlycyAoKTsKc3ViIGhh bmRsZV90YWdzICgpOwpzdWIgaGFuZGxlX3RhcmdldHMgKCk7CnN1YiBoYW5kbGVfdGVzdHMg KCk7CnN1YiBoYW5kbGVfdGVzdHNfZGVqYWdudSAoKTsKc3ViIGhhbmRsZV90ZXhpbmZvICgp OwpzdWIgaGFuZGxlX3VzZXJfcmVjdXJzaW9uICgpOwpzdWIgaW5pdGlhbGl6ZV9wZXJfaW5w dXQgKCk7CnN1YiBsYW5nX2xleF9maW5pc2ggKCk7CnN1YiBsYW5nX3N1Yl9vYmogKCk7CnN1 YiBsYW5nX3ZhbGFfZmluaXNoICgpOwpzdWIgbGFuZ195YWNjX2ZpbmlzaCAoKTsKc3ViIGxv Y2F0ZV9hdXhfZGlyICgpOwpzdWIgcGFyc2VfYXJndW1lbnRzICgpOwpzdWIgc2Nhbl9hY2xv Y2FsX200ICgpOwpzdWIgc2Nhbl9hdXRvY29uZl9maWxlcyAoKTsKc3ViIHNpbGVudF9mbGFn ICgpOwpzdWIgdHJhbnNmb3JtICgkXCUpOwpzdWIgdHJhbnNmb3JtX3Rva2VuICgkXCUkKTsK c3ViIHVzYWdlICgpOwpzdWIgdmVyc2lvbiAoKTsKc3ViIHlhY2NfbGV4X2ZpbmlzaF9oZWxw ZXIgKCk7CgojIyAtLS0tLS0tLS0tLSAjIwojIyBDb25zdGFudHMuICAjIwojIyAtLS0tLS0t LS0tLSAjIwoKIyBTb21lIHJlZ3VsYXIgZXhwcmVzc2lvbnMuICBPbmUgcmVhc29uIHRvIHB1 dCB0aGVtIGhlcmUgaXMgdGhhdCBpdAojIG1ha2VzIGluZGVudGF0aW9uIHdvcmsgYmV0dGVy IGluIEVtYWNzLgoKIyBXcml0aW5nIHNpbmdsZWQtcXVvdGVkLSQtdGVybWluYXRlZCByZWdl eGVzIGlzIGEgcGFpbiBiZWNhdXNlCiMgcGVybC1tb2RlIHRoaW5rcyBvZiAkJyBhcyB0aGUg JHsnfSB2YXJpYWJsZSAoaW5zdGVhZCBvZiBhICQgZm9sbG93ZWQKIyBieSBhIGNsb3Npbmcg cXVvdGUuICBMZXR0aW5nIHBlcmwtbW9kZSB0aGluayB0aGUgcXVvdGUgaXMgbm90IGNsb3Nl ZAojIGxlYWRzIHRvIGFsbCBzb3J0IG9mIG1pc2luZGVudGF0aW9ucy4gIE9uIHRoZSBvdGhl ciBoYW5kLCBkZWZpbmluZwojIHJlZ2V4ZXMgYXMgZG91YmxlLXF1b3RlZCBzdHJpbmdzIGlz IGZhciBsZXNzIHJlYWRhYmxlLiAgU28gdXN1YWxseQojIHdlIHdpbGwgd3JpdGU6CiMKIyAg JFJFR0VYID0gJ15yZWdleF92YWx1ZScgLiAiXCQiOwoKbXkgJElHTk9SRV9QQVRURVJOID0g J15ccyojIyhbXiNcbl0uKik/XG4nOwpteSAkV0hJVEVfUEFUVEVSTiA9ICdeXHMqJyAuICJc JCI7Cm15ICRDT01NRU5UX1BBVFRFUk4gPSAnXiMnOwpteSAkVEFSR0VUX1BBVFRFUk49J1sk YS16QS1aMC05Xy5AJV1bLS5hLXpBLVowLTlfKCl7fS8kK0AlXSonOwojIEEgcnVsZSBoYXMg dGhyZWUgcGFydHM6IGEgbGlzdCBvZiB0YXJnZXRzLCBhIGxpc3Qgb2YgZGVwZW5kZW5jaWVz LAojIGFuZCBvcHRpb25hbGx5IGFjdGlvbnMuCm15ICRSVUxFX1BBVFRFUk4gPQogICJeKCRU QVJHRVRfUEFUVEVSTig/Oig/OlxcXFxcbnxcXHMpKyRUQVJHRVRfUEFUVEVSTikqKSAqOihb Xj1dLip8KVwkIjsKCiMgT25seSByZWNvZ25pemUgbGVhZGluZyBzcGFjZXMsIG5vdCBsZWFk aW5nIHRhYnMuICBJZiB3ZSByZWNvZ25pemUKIyBsZWFkaW5nIHRhYnMgaGVyZSB0aGVuIHdl IG5lZWQgdG8gbWFrZSB0aGUgcmVhZGVyIHNtYXJ0ZXIsIGJlY2F1c2UKIyBvdGhlcndpc2Ug aXQgd2lsbCB0aGluayBydWxlcyBsaWtlICdmb289YmFyOyBcJyBhcmUgZXJyb3JzLgpteSAk QVNTSUdOTUVOVF9QQVRURVJOID0gJ14gKihbXiBcdD06K10qKVxzKihbOitdPyk9XHMqKC4q KScgLiAiXCQiOwojIFRoaXMgcGF0dGVybiByZWNvZ25pemVzIGEgR25pdHMgdmVyc2lvbiBp ZCBhbmQgc2V0cyAkMSBpZiB0aGUKIyByZWxlYXNlIGlzIGFuIGFscGhhIHJlbGVhc2UuICBX ZSBhbHNvIGFsbG93IGEgc3VmZml4IHdoaWNoIGNhbiBiZQojIHVzZWQgdG8gZXh0ZW5kIHRo ZSB2ZXJzaW9uIG51bWJlciB3aXRoIGEgImZvcmsiIGlkZW50aWZpZXIuCm15ICRHTklUU19W RVJTSU9OX1BBVFRFUk4gPSAnXGQrXC5cZCsoW2Etel18XC5cZCspPygtW0EtWmEtejAtOV0r KT8nOwoKbXkgJElGX1BBVFRFUk4gPSAnXmlmXHMrKCE/KVxzKihbQS1aYS16XVtBLVphLXow LTlfXSopXHMqKD86Iy4qKT8nIC4gIlwkIjsKbXkgJEVMU0VfUEFUVEVSTiA9CiAgJ15lbHNl KD86XHMrKCE/KVxzKihbQS1aYS16XVtBLVphLXowLTlfXSopKT9ccyooPzojLiopPycgLiAi XCQiOwpteSAkRU5ESUZfUEFUVEVSTiA9CiAgJ15lbmRpZig/OlxzKyghPylccyooW0EtWmEt el1bQS1aYS16MC05X10qKSk/XHMqKD86Iy4qKT8nIC4gIlwkIjsKbXkgJFBBVEhfUEFUVEVS TiA9ICcoXHd8WysvLi1dKSsnOwojIFRoaXMgd2lsbCBwYXNzIHRocm91Z2ggYW55dGhpbmcg bm90IG9mIHRoZSBwcmVzY3JpYmVkIGZvcm0uCm15ICRJTkNMVURFX1BBVFRFUk4gPSAoJ15p bmNsdWRlXHMrJwoJCSAgICAgICAuICcoKFwkXCh0b3Bfc3JjZGlyXCkvJyAuICRQQVRIX1BB VFRFUk4gLiAnKScKCQkgICAgICAgLiAnfChcJFwoc3JjZGlyXCkvJyAuICRQQVRIX1BBVFRF Uk4gLiAnKScKCQkgICAgICAgLiAnfChbXi9cJF0nIC4gJFBBVEhfUEFUVEVSTiAuICcpKVxz KigjLiopPycgLiAiXCQiKTsKCiMgRGlyZWN0b3JpZXMgaW5zdGFsbGVkIGR1cmluZyAnaW5z dGFsbC1leGVjJyBwaGFzZS4KbXkgJEVYRUNfRElSX1BBVFRFUk4gPQogICdeKD86YmlufHNi aW58bGliZXhlY3xzeXNjb25mfGxvY2Fsc3RhdGV8bGlifHBrZ2xpYnwuKmV4ZWMuKiknIC4g IlwkIjsKCiMgVmFsdWVzIGZvciBBQ19DQU5PTklDQUxfKgp1c2UgY29uc3RhbnQgQUNfQ0FO T05JQ0FMX0JVSUxEICA9PiAxOwp1c2UgY29uc3RhbnQgQUNfQ0FOT05JQ0FMX0hPU1QgICA9 PiAyOwp1c2UgY29uc3RhbnQgQUNfQ0FOT05JQ0FMX1RBUkdFVCA9PiAzOwoKIyBWYWx1ZXMg aW5kaWNhdGluZyB3aGVuIHNvbWV0aGluZyBzaG91bGQgYmUgY2xlYW5lZC4KdXNlIGNvbnN0 YW50IE1PU1RMWV9DTEVBTiAgICAgPT4gMDsKdXNlIGNvbnN0YW50IENMRUFOICAgICAgICAg ICAgPT4gMTsKdXNlIGNvbnN0YW50IERJU1RfQ0xFQU4gICAgICAgPT4gMjsKdXNlIGNvbnN0 YW50IE1BSU5UQUlORVJfQ0xFQU4gPT4gMzsKCiMgTGlidG9vbCBmaWxlcy4KbXkgQGxpYnRv b2xfZmlsZXMgPSBxdyhsdG1haW4uc2ggY29uZmlnLmd1ZXNzIGNvbmZpZy5zdWIpOwojIGx0 Y29uZmlnIGFwcGVhcnMgaGVyZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCB2ZXJzaW9u cyBvZiBsaWJ0b29sLgpteSBAbGlidG9vbF9zb21ldGltZXMgPSBxdyhsdGNvbmZpZyBsdGNm LWMuc2ggbHRjZi1jeHguc2ggbHRjZi1nY2ouc2gpOwoKIyBDb21tb25seSBmb3VuZCBmaWxl cyB3ZSBsb29rIGZvciBhbmQgYXV0b21hdGljYWxseSBpbmNsdWRlIGluCiMgRElTVEZJTEVT LgpteSBAY29tbW9uX2ZpbGVzID0KICAgIChxdyhBQk9VVC1HTlUgQUJPVVQtTkxTIEFVVEhP UlMgQkFDS0xPRyBDT1BZSU5HIENPUFlJTkcuRE9DIENPUFlJTkcuTElCCglDT1BZSU5HLkxF U1NFUiBDaGFuZ2VMb2cgSU5TVEFMTCBORVdTIFJFQURNRSBUSEFOS1MgVE9ETwoJYXItbGli IGNvbXBpbGUgY29uZmlnLmd1ZXNzIGNvbmZpZy5ycGF0aAoJY29uZmlnLnN1YiBkZXBjb21w IGluc3RhbGwtc2ggbGlidmVyc2lvbi5pbiBtZGF0ZS1zaAoJbWlzc2luZyBta2luc3RhbGxk aXJzIHB5LWNvbXBpbGUgdGV4aW5mby50ZXggeWx3cmFwKSwKICAgICBAbGlidG9vbF9maWxl cywgQGxpYnRvb2xfc29tZXRpbWVzKTsKCiMgQ29tbW9ubHkgdXNlZCBmaWxlcyB3ZSBhdXRv LWluY2x1ZGUsIGJ1dCBvbmx5IHNvbWV0aW1lcy4gIFRoaXMgbGlzdAojIGlzIHVzZWQgZm9y IHRoZSAtLWhlbHAgb3V0cHV0IG9ubHkuCm15IEBjb21tb25fc29tZXRpbWVzID0KICBxdyhh Y2xvY2FsLm00IGFjY29uZmlnLmggY29uZmlnLmgudG9wIGNvbmZpZy5oLmJvdCBjb25maWd1 cmUKICAgICBjb25maWd1cmUuYWMgY29uZmlndXJlLmluIHN0YW1wLXZ0aSk7CgojIFN0YW5k YXJkIGRpcmVjdG9yaWVzIGZyb20gdGhlIEdOVSBDb2RpbmcgU3RhbmRhcmRzLCBhbmQgYWRk aXRpb25hbAojIHBrZyogZGlyZWN0b3JpZXMgZnJvbSBBdXRvbWFrZS4gIFN0b3JlZCBpbiBh IGhhc2ggZm9yIGZhc3QgbWVtYmVyIGNoZWNrLgpteSAlc3RhbmRhcmRfcHJlZml4ID0KICAg IG1hcCB7ICRfID0+IDEgfSAocXcoYmluIGRhdGEgZGF0YXJvb3QgZG9jIGR2aSBleGVjIGh0 bWwgaW5jbHVkZSBpbmZvCgkJCWxpYiBsaWJleGVjIGxpc3AgbG9jYWxlIGxvY2Fsc3RhdGUg bWFuIG1hbjEgbWFuMgoJCQltYW4zIG1hbjQgbWFuNSBtYW42IG1hbjcgbWFuOCBtYW45IG9s ZGluY2x1ZGUgcGRmCgkJCXBrZ2RhdGEgcGtnaW5jbHVkZSBwa2dsaWIgcGtnbGliZXhlYyBw cyBzYmluCgkJCXNoYXJlZHN0YXRlIHN5c2NvbmYpKTsKCiMgQ29weXJpZ2h0IG9uIGdlbmVy YXRlZCBNYWtlZmlsZS5pbnMuCm15ICRnZW5fY29weXJpZ2h0ID0gIlwKIyBDb3B5cmlnaHQg KEMpIDE5OTQtJFJFTEVBU0VfWUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K CiMgVGhpcyBNYWtlZmlsZS5pbiBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uCiMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQv b3IgZGlzdHJpYnV0ZSBpdCwKIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMg bG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCgojIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3OyB3 aXRob3V0CiMgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQQojIFBBUlRJQ1VMQVIgUFVSUE9TRS4KIjsKCiMgVGhlc2UgY29u c3RhbnRzIGFyZSByZXR1cm5lZCBieSB0aGUgbGFuZ18qX3Jld3JpdGUgZnVuY3Rpb25zLgoj IExBTkdfU1VCRElSIG1lYW5zIHRoYXQgdGhlIHJlc3VsdGluZyBvYmplY3QgZmlsZSBzaG91 bGQgYmUgaW4gYQojIHN1YmRpciBpZiB0aGUgc291cmNlIGZpbGUgaXMuICBJbiB0aGlzIGNh c2UgdGhlIGZpbGUgbmFtZSBjYW5ub3QKIyBoYXZlICcuLicgY29tcG9uZW50cy4KdXNlIGNv bnN0YW50IExBTkdfSUdOT1JFICA9PiAwOwp1c2UgY29uc3RhbnQgTEFOR19QUk9DRVNTID0+ IDE7CnVzZSBjb25zdGFudCBMQU5HX1NVQkRJUiAgPT4gMjsKCiMgVGhlc2UgYXJlIHVzZWQg d2hlbiBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgYW4gb2JqZWN0IGNhbiBiZSBidWlsdAoj IGJ5IHR3byBkaWZmZXJlbnQgcGF0aHMuCnVzZSBjb25zdGFudCBDT01QSUxFX0xJQlRPT0wg ID0+IDE7CnVzZSBjb25zdGFudCBDT01QSUxFX09SRElOQVJZID0+IDI7CgojIFdlIGNhbid0 IGFsd2F5cyBhc3NvY2lhdGUgYSBsb2NhdGlvbiB0byBhIHZhcmlhYmxlIG9yIGEgcnVsZSwK IyB3aGVuIGl0J3MgZGVmaW5lZCBieSBBdXRvbWFrZS4gIFdlIHVzZSBJTlRFUk5BTCBpbiB0 aGlzIGNhc2UuCnVzZSBjb25zdGFudCBJTlRFUk5BTCA9PiBuZXcgQXV0b21ha2U6OkxvY2F0 aW9uOwoKIyBTZXJpYWxpemF0aW9uIGtleXMgZm9yIG1lc3NhZ2UgcXVldWVzLgp1c2UgY29u c3RhbnQgUVVFVUVfTUVTU0FHRSAgID0+ICJtc2ciOwp1c2UgY29uc3RhbnQgUVVFVUVfQ09O Rl9GSUxFID0+ICJjb25mIGZpbGUiOwp1c2UgY29uc3RhbnQgUVVFVUVfTE9DQVRJT04gID0+ ICJsb2NhdGlvbiI7CnVzZSBjb25zdGFudCBRVUVVRV9TVFJJTkcgICAgPT4gInN0cmluZyI7 CgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFZhcmlhYmxl cyByZWxhdGVkIHRvIHRoZSBvcHRpb25zLiAgIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSAjIwoKIyBUUlVFIGlmIHdlIHNob3VsZCBhbHdheXMgZ2VuZXJhdGUg TWFrZWZpbGUuaW4uCm15ICRmb3JjZV9nZW5lcmF0aW9uID0gMTsKCiMgRnJvbSB0aGUgUGVy bCBtYW51YWwuCm15ICRzeW1saW5rX2V4aXN0cyA9IChldmFsICdzeW1saW5rICgiIiwgIiIp OycsICRAIGVxICcnKTsKCiMgVFJVRSBpZiBtaXNzaW5nIHN0YW5kYXJkIGZpbGVzIHNob3Vs ZCBiZSBpbnN0YWxsZWQuCm15ICRhZGRfbWlzc2luZyA9IDA7CgojIFRSVUUgaWYgd2Ugc2hv dWxkIGNvcHkgbWlzc2luZyBmaWxlczsgb3RoZXJ3aXNlIHN5bWxpbmsgaWYgcG9zc2libGUu Cm15ICRjb3B5X21pc3NpbmcgPSAwOwoKIyBUUlVFIGlmIHdlIHNob3VsZCBhbHdheXMgdXBk YXRlIGZpbGVzIHRoYXQgd2Uga25vdyBhYm91dC4KbXkgJGZvcmNlX21pc3NpbmcgPSAwOwoK CiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgVmFy aWFibGVzIGZpbGxlZCBkdXJpbmcgZmlsZXMgc2Nhbm5pbmcuICAjIwojIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgojIE5hbWUgb2YgdGhlIGNvbmZp Z3VyZS5hYyBmaWxlLgpteSAkY29uZmlndXJlX2FjOwoKIyBGaWxlcyBmb3VuZCBieSBzY2Fu bmluZyBjb25maWd1cmUuYWMgZm9yIExJQk9CSlMuCm15ICVsaWJzb3VyY2VzID0gKCk7Cgoj IE5hbWVzIHVzZWQgaW4gQUNfQ09ORklHX0hFQURFUlMgY2FsbC4KbXkgQGNvbmZpZ19oZWFk ZXJzID0gKCk7CgojIE5hbWVzIHVzZWQgaW4gQUNfQ09ORklHX0xJTktTIGNhbGwuCm15IEBj b25maWdfbGlua3MgPSAoKTsKCiMgTGlzdCBvZiBNYWtlZmlsZS5hbSdzIHRvIHByb2Nlc3Ms IGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIG91dHB1dHMuCm15IEBpbnB1dF9maWxlcyA9ICgp OwpteSAlb3V0cHV0X2ZpbGVzID0gKCk7CgojIENvbXBsZXRlIGxpc3Qgb2YgTWFrZWZpbGUu YW0ncyB0aGF0IGV4aXN0LgpteSBAY29uZmlndXJlX2lucHV0X2ZpbGVzID0gKCk7CgojIExp c3Qgb2YgZmlsZXMgaW4gQUNfQ09ORklHX0ZJTEVTL0FDX09VVFBVVCB3aXRob3V0IE1ha2Vm aWxlLmFtJ3MsCiMgYW5kIHRoZWlyIG91dHB1dHMuCm15IEBvdGhlcl9pbnB1dF9maWxlcyA9 ICgpOwojIFdoZXJlIGVhY2ggQUNfQ09ORklHX0ZJTEVTL0FDX09VVFBVVC9BQ19DT05GSUdf TElOSy9BQ19DT05GSUdfSEVBREVSUwojIGFwcGVhcnMuICBUaGUga2V5cyBhcmUgdGhlIGZp bGVzIGNyZWF0ZWQgYnkgdGhlc2UgbWFjcm9zLgpteSAlYWNfY29uZmlnX2ZpbGVzX2xvY2F0 aW9uID0gKCk7CiMgVGhlIGNvbmRpdGlvbiB1bmRlciB3aGljaCBBQ19DT05GSUdfRk9PUyBh cHBlYXJzLgpteSAlYWNfY29uZmlnX2ZpbGVzX2NvbmRpdGlvbiA9ICgpOwoKIyBEaXJlY3Rv cnkgdG8gc2VhcmNoIGZvciBjb25maWd1cmUtcmVxdWlyZWQgZmlsZXMuICBUaGlzCiMgd2ls bCBiZSBjb21wdXRlZCBieSBsb2NhdGVfYXV4X2RpcigpIGFuZCBjYW4gYmUgc2V0IHVzaW5n CiMgQUNfQ09ORklHX0FVWF9ESVIgaW4gY29uZmlndXJlLmFjLgojICRDT05GSUdfQVVYX0RJ UiBpcyB0aGUgJ3JhdycgZGlyZWN0b3J5LCB2YWxpZCBvbmx5IGluIHRoZSBzb3VyY2UtdHJl ZS4KbXkgJGNvbmZpZ19hdXhfZGlyID0gJyc7Cm15ICRjb25maWdfYXV4X2Rpcl9zZXRfaW5f Y29uZmlndXJlX2FjID0gMDsKIyAkQU1fQ09ORklHX0FVWF9ESVIgaXMgcHJlZml4ZWQgd2l0 aCAkKHRvcF9zcmNkaXIpLCBzbyBpdCBjYW4gYmUgdXNlZAojIGluIE1ha2VmaWxlcy4KbXkg JGFtX2NvbmZpZ19hdXhfZGlyID0gJyc7CgojIERpcmVjdG9yeSB0byBzZWFyY2ggZm9yIEFD X0xJQlNPVVJDRSBmaWxlcywgYXMgc2V0IGJ5IEFDX0NPTkZJR19MSUJPQkpfRElSCiMgaW4g Y29uZmlndXJlLmFjLgpteSAkY29uZmlnX2xpYm9ial9kaXIgPSAnJzsKCiMgV2hldGhlciBB TV9HTlVfR0VUVEVYVCBoYXMgYmVlbiBzZWVuIGluIGNvbmZpZ3VyZS5hYy4KbXkgJHNlZW5f Z2V0dGV4dCA9IDA7CiMgV2hldGhlciBBTV9HTlVfR0VUVEVYVChbZXh0ZXJuYWxdKSBpcyB1 c2VkLgpteSAkc2Vlbl9nZXR0ZXh0X2V4dGVybmFsID0gMDsKIyBXaGVyZSBBTV9HTlVfR0VU VEVYVCBhcHBlYXJzLgpteSAkYWNfZ2V0dGV4dF9sb2NhdGlvbjsKIyBXaGV0aGVyIEFNX0dO VV9HRVRURVhUX0lOVExfU1VCRElSIGhhcyBiZWVuIHNlZW4uCm15ICRzZWVuX2dldHRleHRf aW50bCA9IDA7CgojIFRoZSBhcmd1bWVudHMgb2YgdGhlIEFNX0VYVFJBX1JFQ1VSU0lWRV9U QVJHRVRTIGNhbGwgKGlmIGFueSkuCm15IEBleHRyYV9yZWN1cnNpdmVfdGFyZ2V0cyA9ICgp OwoKIyBMaXN0cyBvZiB0YWdzIHN1cHBvcnRlZCBieSBMaWJ0b29sLgpteSAlbGlidG9vbF90 YWdzID0gKCk7CiMgMSBpZiBMaWJ0b29sIHVzZXMgTFRfU1VQUE9SVEVEX1RBRy4gIElmIGl0 IGRvZXMsIHRoZW4gaXQgYWxzbwojIHVzZXMgQUNfUkVRVUlSRV9BVVhfRklMRS4KbXkgJGxp YnRvb2xfbmV3X2FwaSA9IDA7CgojIE1vc3QgaW1wb3J0YW50IEFDX0NBTk9OSUNBTF8qIG1h Y3JvIHNlZW4gc28gZmFyLgpteSAkc2Vlbl9jYW5vbmljYWwgPSAwOwoKIyBXaGVyZSBBTV9N QUlOVEFJTkVSX01PREUgYXBwZWFycy4KbXkgJHNlZW5fbWFpbnRfbW9kZTsKCiMgQWN0dWFs IHZlcnNpb24gd2UndmUgc2Vlbi4KbXkgJHBhY2thZ2VfdmVyc2lvbiA9ICcnOwoKIyBXaGVy ZSB2ZXJzaW9uIGlzIGRlZmluZWQuCm15ICRwYWNrYWdlX3ZlcnNpb25fbG9jYXRpb247Cgoj IFRSVUUgaWYgd2UndmUgc2VlbiBBTV9QUk9HX0FSCm15ICRzZWVuX2FyID0gMDsKCiMgTG9j YXRpb24gb2YgQUNfUkVRVUlSRV9BVVhfRklMRSBjYWxscywgaW5kZXhlZCBieSB0aGVpciBh cmd1bWVudC4KbXkgJXJlcXVpcmVkX2F1eF9maWxlID0gKCk7CgojIFdoZXJlIEFNX0lOSVRf QVVUT01BS0UgaXMgY2FsbGVkLgpteSAkc2Vlbl9pbml0X2F1dG9tYWtlID0gMDsKCiMgVFJV RSBpZiB3ZSd2ZSBzZWVuIEFNX0FVVE9NQUtFX1ZFUlNJT04uCm15ICRzZWVuX2F1dG9tYWtl X3ZlcnNpb24gPSAwOwoKIyBIYXNoIHRhYmxlIG9mIGRpc2NvdmVyZWQgY29uZmlndXJlIHN1 YnN0aXR1dGlvbnMuICBLZXlzIGFyZSBuYW1lcywKIyB2YWx1ZXMgYXJlICdGSUxFOkxJTkUn IHN0cmluZ3Mgd2hpY2ggYXJlIHVzZWQgYnkgZXJyb3IgbWVzc2FnZQojIGdlbmVyYXRpb24u Cm15ICVjb25maWd1cmVfdmFycyA9ICgpOwoKIyBJZ25vcmVkIGNvbmZpZ3VyZSBzdWJzdGl0 dXRpb25zIChpLmUuLCB2YXJpYWJsZXMgbm90IHRvIGJlIG91dHB1dCBpbgojIE1ha2VmaWxl LmluKQpteSAlaWdub3JlZF9jb25maWd1cmVfdmFycyA9ICgpOwoKIyBGaWxlcyBpbmNsdWRl ZCBieSAkY29uZmlndXJlX2FjLgpteSBAY29uZmlndXJlX2RlcHMgPSAoKTsKCiMgR3JlYXRl c3QgdGltZXN0YW1wIG9mIGNvbmZpZ3VyZSdzIGRlcGVuZGVuY2llcy4KbXkgJGNvbmZpZ3Vy ZV9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcCA9IDA7CgojIEhhc2ggdGFibGUgb2YgQU1fQ09O RElUSU9OQUwgdmFyaWFibGVzIHNlZW4gaW4gY29uZmlndXJlLgpteSAlY29uZmlndXJlX2Nv bmQgPSAoKTsKCiMgVGhpcyBtYXBzIGV4dGVuc2lvbnMgb250byBsYW5ndWFnZSBuYW1lcy4K bXkgJWV4dGVuc2lvbl9tYXAgPSAoKTsKCiMgTGlzdCBvZiB0aGUgRElTVF9DT01NT04gZmls ZXMgd2UgZGlzY292ZXJlZCB3aGlsZSByZWFkaW5nCiMgY29uZmlndXJlLmFjLgpteSBAY29u ZmlndXJlX2Rpc3RfY29tbW9uID0gKCk7CgojIFRoaXMgbWFwcyBsYW5ndWFnZXMgbmFtZXMg b250byBvYmplY3RzLgpteSAlbGFuZ3VhZ2VzID0gKCk7CiMgTWFwcyBlYWNoIGxpbmtlciB2 YXJpYWJsZSBvbnRvIGEgbGFuZ3VhZ2Ugb2JqZWN0LgpteSAlbGlua19sYW5ndWFnZXMgPSAo KTsKCiMgbWFwcyBleHRlbnNpb25zIHRvIG5lZWRlZCBzb3VyY2UgZmxhZ3MuCm15ICVzb3Vy Y2VmbGFncyA9ICgpOwoKIyBMaXN0IG9mIHRhcmdldHMgd2UgbXVzdCBhbHdheXMgb3V0cHV0 LgojIEZJWE1FOiBDb21wbGV0ZSwgYW5kIHJlbW92ZSBmYWxzZWx5IHJlcXVpcmVkIHRhcmdl dHMuCm15ICVyZXF1aXJlZF90YXJnZXRzID0KICAoCiAgICdhbGwnICAgICAgICAgID0+IDEs CiAgICdkdmknCSAgPT4gMSwKICAgJ3BkZicJICA9PiAxLAogICAncHMnCQkgID0+IDEsCiAg ICdpbmZvJwkgID0+IDEsCiAgICdpbnN0YWxsLWluZm8nID0+IDEsCiAgICdpbnN0YWxsJyAg ICAgID0+IDEsCiAgICdpbnN0YWxsLWRhdGEnID0+IDEsCiAgICdpbnN0YWxsLWV4ZWMnID0+ IDEsCiAgICd1bmluc3RhbGwnICAgID0+IDEsCgogICAjIEZJWE1FOiBOb3QgcmVxdWlyZWQs IHRlbXBvcmFyeSBoYWNrcy4KICAgIyBXZWxsLCBhY3R1YWxseSB0aGV5IGFyZSBzb3J0IG9m IHJlcXVpcmVkOiB0aGUgLXJlY3Vyc2l2ZQogICAjIHRhcmdldHMgd2lsbCBydW4gdGhlbSBh bnl3YXkuLi4KICAgJ2h0bWwtYW0nICAgICAgICAgPT4gMSwKICAgJ2R2aS1hbScgICAgICAg ICAgPT4gMSwKICAgJ3BkZi1hbScgICAgICAgICAgPT4gMSwKICAgJ3BzLWFtJyAgICAgICAg ICAgPT4gMSwKICAgJ2luZm8tYW0nICAgICAgICAgPT4gMSwKICAgJ2luc3RhbGwtZGF0YS1h bScgPT4gMSwKICAgJ2luc3RhbGwtZXhlYy1hbScgPT4gMSwKICAgJ2luc3RhbGwtaHRtbC1h bScgPT4gMSwKICAgJ2luc3RhbGwtZHZpLWFtJyAgPT4gMSwKICAgJ2luc3RhbGwtcGRmLWFt JyAgPT4gMSwKICAgJ2luc3RhbGwtcHMtYW0nICAgPT4gMSwKICAgJ2luc3RhbGwtaW5mby1h bScgPT4gMSwKICAgJ2luc3RhbGxjaGVjay1hbScgPT4gMSwKICAgJ3VuaW5zdGFsbC1hbScg ICAgPT4gMSwKICAgJ3RhZ3MtYW0nICAgICAgICAgPT4gMSwKICAgJ2N0YWdzLWFtJyAgICAg ICAgPT4gMSwKICAgJ2NzY29wZWxpc3QtYW0nICAgPT4gMSwKICAgJ2luc3RhbGwtbWFuJyAg ICAgPT4gMSwKICApOwoKIyBRdWV1ZSB0byBwdXNoIHJlcXVpcmVfY29uZl9maWxlIHJlcXVp cmVtZW50cyB0by4KbXkgJHJlcXVpcmVkX2NvbmZfZmlsZV9xdWV1ZTsKCiMgVGhlIG5hbWUg b2YgdGhlIE1ha2VmaWxlIGN1cnJlbnRseSBiZWluZyBwcm9jZXNzZWQuCm15ICRhbV9maWxl ID0gJ0JVRyc7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gIyMKIyMgVmFyaWFibGVzIHJlc2V0IGJ5ICZpbml0aWFsaXplX3Bl cl9pbnB1dC4gICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSAjIwoKIyBSZWxhdGl2ZSBkaXIgb2YgdGhlIG91dHB1dCBtYWtlZmlsZS4KbXkgJHJl bGF0aXZlX2RpcjsKCiMgR3JlYXRlc3QgdGltZXN0YW1wIG9mIHRoZSBvdXRwdXQncyBkZXBl bmRlbmNpZXMgKGV4Y2x1ZGluZwojIGNvbmZpZ3VyZSdzIGRlcGVuZGVuY2llcykuCm15ICRv dXRwdXRfZGVwc19ncmVhdGVzdF90aW1lc3RhbXA7CgojIFRoZXNlIHZhcmlhYmxlcyBhcmUg dXNlZCB3aGVuIGdlbmVyYXRpbmcgZWFjaCBNYWtlZmlsZS5pbi4KIyBUaGV5IGhvbGQgdGhl IE1ha2VmaWxlLmluIHVudGlsIGl0IGlzIHJlYWR5IHRvIGJlIHByaW50ZWQuCm15ICRvdXRw dXRfdmFyczsKbXkgJG91dHB1dF9hbGw7Cm15ICRvdXRwdXRfaGVhZGVyOwpteSAkb3V0cHV0 X3J1bGVzOwpteSAkb3V0cHV0X3RyYWlsZXI7CgojIFRoaXMgaXMgdGhlIGNvbmRpdGlvbmFs IHN0YWNrLCB1cGRhdGVkIG9uIGlmL2Vsc2UvZW5kaWYsIGFuZAojIHVzZWQgdG8gYnVpbGQg Q29uZGl0aW9uIG9iamVjdHMuCm15IEBjb25kX3N0YWNrOwoKIyBUaGlzIGhvbGRzIHRoZSBz ZXQgb2YgaW5jbHVkZWQgZmlsZXMuCm15IEBpbmNsdWRlX3N0YWNrOwoKIyBMaXN0IG9mIGRl cGVuZGVuY2llcyBmb3IgdGhlIG9idmlvdXMgdGFyZ2V0cy4KbXkgQGFsbDsKbXkgQGNoZWNr OwpteSBAY2hlY2tfdGVzdHM7CgojIEtleXMgaW4gdGhpcyBoYXNoIHRhYmxlIGFyZSBmaWxl cyB0byBkZWxldGUuICBUaGUgYXNzb2NpYXRlZAojIHZhbHVlIHRlbGxzIHdoZW4gdGhpcyBz aG91bGQgaGFwcGVuIChNT1NUTFlfQ0xFQU4sIERJU1RfQ0xFQU4sIGV0Yy4pCm15ICVjbGVh bl9maWxlczsKCiMgS2V5cyBpbiB0aGlzIGhhc2ggdGFibGUgYXJlIG9iamVjdCBmaWxlcyBv ciBvdGhlciBmaWxlcyBpbgojIHN1YmRpcmVjdG9yaWVzIHdoaWNoIG5lZWQgdG8gYmUgcmVt b3ZlZC4gIFRoaXMgb25seSBob2xkcyBmaWxlcwojIHdoaWNoIGFyZSBjcmVhdGVkIGJ5IGNv bXBpbGF0aW9ucy4gIFRoZSB2YWx1ZSBpbiB0aGUgaGFzaCBpbmRpY2F0ZXMKIyB3aGVuIHRo ZSBmaWxlIHNob3VsZCBiZSByZW1vdmVkLgpteSAlY29tcGlsZV9jbGVhbl9maWxlczsKCiMg S2V5cyBpbiB0aGlzIGhhc2ggdGFibGUgYXJlIGRpcmVjdG9yaWVzIHdoZXJlIHdlIGV4cGVj dCB0byBidWlsZCBhCiMgbGlidG9vbCBvYmplY3QuICBXZSB1c2UgdGhpcyBpbmZvcm1hdGlv biB0byBkZWNpZGUgd2hhdCBkaXJlY3RvcmllcwojIHRvIGRlbGV0ZS4KbXkgJWxpYnRvb2xf Y2xlYW5fZGlyZWN0b3JpZXM7CgojIFZhbHVlIG9mICQoU09VUkNFUyksIHVzZWQgYnkgdGFn cy5hbS4KbXkgQHNvdXJjZXM7CiMgU291cmNlcyB3aGljaCBnbyBpbiB0aGUgZGlzdHJpYnV0 aW9uLgpteSBAZGlzdF9zb3VyY2VzOwoKIyBUaGlzIGhhc2ggbWFwcyBvYmplY3QgZmlsZSBu YW1lcyBvbnRvIHRoZWlyIGNvcnJlc3BvbmRpbmcgc291cmNlCiMgZmlsZSBuYW1lcy4gIFRo aXMgaXMgdXNlZCB0byBlbnN1cmUgdGhhdCBlYWNoIG9iamVjdCBpcyBjcmVhdGVkCiMgYnkg YSBzaW5nbGUgc291cmNlIGZpbGUuCm15ICVvYmplY3RfbWFwOwoKIyBUaGlzIGhhc2ggbWFw cyBvYmplY3QgZmlsZSBuYW1lcyBvbnRvIGFuIGludGVnZXIgdmFsdWUgcmVwcmVzZW50aW5n CiMgd2hldGhlciB0aGlzIG9iamVjdCBoYXMgYmVlbiBidWlsdCB2aWEgb3JkaW5hcnkgY29t cGlsYXRpb24gb3IKIyBsaWJ0b29sIGNvbXBpbGF0aW9uICh0aGUgQ09NUElMRV8qIGNvbnN0 YW50cykuCm15ICVvYmplY3RfY29tcGlsYXRpb25fbWFwOwoKCiMgVGhpcyBrZWVwcyB0cmFj ayBvZiB0aGUgZGlyZWN0b3JpZXMgZm9yIHdoaWNoIHdlJ3ZlIGFscmVhZHkKIyBjcmVhdGVk IGRpcnN0YW1wIGNvZGUuICBLZXlzIGFyZSBkaXJlY3RvcmllcywgdmFsdWVzIGFyZSBzdGFt cCBmaWxlcy4KIyBTZXZlcmFsIGtleXMgY2FuIHNoYXJlIHRoZSBzYW1lIHN0YW1wIGZpbGVz IGlmIHRoZXkgYXJlIGVxdWl2YWxlbnQKIyAoYXMgYXJlICcuLy9mb28nIGFuZCAnZm9vJyku Cm15ICVkaXJlY3RvcnlfbWFwOwoKIyBBbGwgLlAgZmlsZXMuCm15ICVkZXBfZmlsZXM7Cgoj IFRoaXMgaXMgYSBsaXN0IG9mIGFsbCB0YXJnZXRzIHRvIHJ1biBkdXJpbmcgIm1ha2UgZGlz dCIuCm15IEBkaXN0X3RhcmdldHM7CgojIExpc3Qgb2YgYWxsIHByb2dyYW1zLCBsaWJyYXJp ZXMgYW5kIGx0bGlicmFyaWVzIGFzIHJldHVybmVkCiMgYnkgYW1faW5zdGFsbF92YXIKbXkg QHByb2dsaXN0OwpteSBAbGlibGlzdDsKbXkgQGx0bGlibGlzdDsKIyBCbGFja2xpc3Qgb2Yg dGFyZ2V0cyAoYXMgY2Fub25pY2FsIGJhc2UgbmFtZSkgZm9yIHdoaWNoIG9iamVjdCBmaWxl IG5hbWVzCiMgbWF5IG5vdCBiZSBhdXRvbWF0aWNhbGx5IHNob3J0ZW5lZApteSBAZHVwX3No b3J0bmFtZXM7CgojIEtlZXAgdHJhY2sgb2YgYWxsIHByb2dyYW1zIGRlY2xhcmVkIGluIHRo aXMgTWFrZWZpbGUsIHdpdGhvdXQKIyAkKEVYRUVYVCkuICBAc3Vic3RpdHV0aW9uc0AgYXJl IG5vdCBsaXN0ZWQuCm15ICVrbm93bl9wcm9ncmFtczsKbXkgJWtub3duX2xpYnJhcmllczsK CiMgVGhpcyBrZWVwcyB0cmFjayBvZiB3aGljaCBleHRlbnNpb25zIHdlJ3ZlIHNlZW4gKHRo YXQgd2UgY2FyZQojIGFib3V0KS4KbXkgJWV4dGVuc2lvbl9zZWVuOwoKIyBUaGlzIGlzIHJh bmRvbSBzY3JhdGNoIHNwYWNlIGZvciB0aGUgbGFuZ3VhZ2UgZmluaXNoIGZ1bmN0aW9ucy4K IyBEb24ndCByYW5kb21seSBvdmVyd3JpdGUgaXQ7IGV4YW1pbmUgb3RoZXIgdXNlcyBvZiBr ZXlzIGZpcnN0LgpteSAlbGFuZ3VhZ2Vfc2NyYXRjaDsKCiMgV2Uga2VlcCB0cmFjayBvZiB3 aGljaCBvYmplY3RzIG5lZWQgc3BlY2lhbCAocGVyLWV4ZWN1dGFibGUpCiMgaGFuZGxpbmcg b24gYSBwZXItbGFuZ3VhZ2UgYmFzaXMuCm15ICVsYW5nX3NwZWNpZmljX2ZpbGVzOwoKIyBM aXN0IG9mIGRpc3RyaWJ1dGVkIGZpbGVzIHRvIGJlIHB1dCBpbiBESVNUX0NPTU1PTi4KbXkg QGRpc3RfY29tbW9uOwoKIyBUaGlzIGlzIHNldCB3aGVuICdoYW5kbGVfZGlzdCcgaGFzIGZp bmlzaGVkLiAgT25jZSB0aGlzIGhhcHBlbnMsCiMgd2Ugc2hvdWxkIG5vIGxvbmdlciBwdXNo IG9uIGRpc3RfY29tbW9uLgpteSAkaGFuZGxlX2Rpc3RfcnVuOwoKIyBVc2VkIHRvIHN0b3Jl IGEgc2V0IG9mIGxpbmtlcnMgbmVlZGVkIHRvIGdlbmVyYXRlIHRoZSBzb3VyY2VzIGN1cnJl bnRseQojIHVuZGVyIGNvbnNpZGVyYXRpb24uCm15ICVsaW5rZXJzX3VzZWQ7CgojIFRydWUg aWYgd2UgbmVlZCAnTElOSycgZGVmaW5lZC4gIFRoaXMgaXMgYSBoYWNrLgpteSAkbmVlZF9s aW5rOwoKIyBEb2VzIHRoZSBnZW5lcmF0ZWQgTWFrZWZpbGUgaGF2ZSB0byBidWlsZCBzb21l IGNvbXBpbGVkIG9iamVjdAojIChmb3IgYmluYXJ5IHByb2dyYW1zLCBvciBwbGFpbiBvciBs aWJ0b29sIGxpYnJhcmllcyk/Cm15ICRtdXN0X2hhbmRsZV9jb21waWxlZF9vYmplY3RzOwoK IyBSZWNvcmQgZWFjaCBmaWxlIHByb2Nlc3NlZCBieSBtYWtlX3BhcmFncmFwaHMuCm15ICV0 cmFuc2Zvcm1lZF9maWxlczsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgVmFyaWFibGVzIG5vdCByZXNldCBi eSAmaW5pdGlhbGl6ZV9wZXJfaW5wdXQuICAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgojIENhY2hlIGVhY2ggZmlsZSBwcm9jZXNz ZWQgYnkgbWFrZV9wYXJhZ3JhcGhzLgojIChUaGlzIGlzIGRpZmZlcmVudCBmcm9tICV0cmFu c2Zvcm1lZF9maWxlcyBiZWNhdXNlCiMgJXRyYW5zZm9ybWVkX2ZpbGVzIGlzIHJlc2V0IGZv ciBlYWNoIGZpbGUgd2hpbGUgJWFtX2ZpbGVfY2FjaGUKIyBpdCBnbG9iYWwgdG8gdGhlIHJ1 bi4pCm15ICVhbV9maWxlX2NhY2hlOwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyB2YXJfU1VGRklYRVNfdHJp Z2dlciAoJFRZUEUsICRWQUxVRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIyBUaGlzIGlzIGNhbGxlZCBieSBBdXRvbWFrZTo6VmFyaWFibGU6OmRlZmluZSgp IHdoZW4gU1VGRklYRVMKIyBpcyBkZWZpbmVkICgkVFlQRSBlcSAnJykgb3IgYXBwZW5kZWQg KCRUWVBFIGVxICcrJykuCiMgVGhlIHdvcmsgaGVyZSBuZWVkcyB0byBiZSBwZXJmb3JtZWQg YXMgYSBzaWRlLWVmZmVjdCBvZiB0aGUKIyBtYWNyb19kZWZpbmUoKSBjYWxsIGJlY2F1c2Ug U1VGRklYRVMgZGVmaW5pdGlvbnMgaW1wYWN0CiMgb24gJEtOT1dOX0VYVEVOU0lPTlNfUEFU VEVSTiB3aGljaCBpcyB1c2VkIHVzZWQgd2hlbiBwYXJzaW5nCiMgdGhlIGlucHV0IGFtIGZp bGUuCnN1YiB2YXJfU1VGRklYRVNfdHJpZ2dlcgp7CiAgICBteSAoJHR5cGUsICR2YWx1ZSkg PSBAXzsKICAgIGFjY2VwdF9leHRlbnNpb25zIChzcGxpdCAoJyAnLCAkdmFsdWUpKTsKfQpB dXRvbWFrZTo6VmFyaWFibGU6Omhvb2sgKCdTVUZGSVhFUycsIFwmdmFyX1NVRkZJWEVTX3Ry aWdnZXIpOwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMgaW5pdGlhbGl6ZV9wZXJfaW5wdXQgKCkKIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQojIChSZSktSW5pdGlhbGl6ZSBwZXItTWFrZWZpbGUuYW0g dmFyaWFibGVzLgpzdWIgaW5pdGlhbGl6ZV9wZXJfaW5wdXQgKCkKewogICAgcmVzZXRfbG9j YWxfZHVwbGljYXRlcyAoKTsKCiAgICAkcmVsYXRpdmVfZGlyID0gdW5kZWY7CgogICAgJG91 dHB1dF9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcCA9IDA7CgogICAgJG91dHB1dF92YXJzID0g Jyc7CiAgICAkb3V0cHV0X2FsbCA9ICcnOwogICAgJG91dHB1dF9oZWFkZXIgPSAnJzsKICAg ICRvdXRwdXRfcnVsZXMgPSAnJzsKICAgICRvdXRwdXRfdHJhaWxlciA9ICcnOwoKICAgIEF1 dG9tYWtlOjpPcHRpb25zOjpyZXNldDsKICAgIEF1dG9tYWtlOjpWYXJpYWJsZTo6cmVzZXQ7 CiAgICBBdXRvbWFrZTo6UnVsZTo6cmVzZXQ7CgogICAgQGNvbmRfc3RhY2sgPSAoKTsKCiAg ICBAaW5jbHVkZV9zdGFjayA9ICgpOwoKICAgIEBhbGwgPSAoKTsKICAgIEBjaGVjayA9ICgp OwogICAgQGNoZWNrX3Rlc3RzID0gKCk7CgogICAgJWNsZWFuX2ZpbGVzID0gKCk7CiAgICAl Y29tcGlsZV9jbGVhbl9maWxlcyA9ICgpOwoKICAgICMgV2UgYWx3YXlzIGluY2x1ZGUgJy4n LiAgVGhpcyBpc24ndCBzdHJpY3RseSBjb3JyZWN0LgogICAgJWxpYnRvb2xfY2xlYW5fZGly ZWN0b3JpZXMgPSAoJy4nID0+IDEpOwoKICAgIEBzb3VyY2VzID0gKCk7CiAgICBAZGlzdF9z b3VyY2VzID0gKCk7CgogICAgJW9iamVjdF9tYXAgPSAoKTsKICAgICVvYmplY3RfY29tcGls YXRpb25fbWFwID0gKCk7CgogICAgJWRpcmVjdG9yeV9tYXAgPSAoKTsKCiAgICAlZGVwX2Zp bGVzID0gKCk7CgogICAgQGRpc3RfdGFyZ2V0cyA9ICgpOwoKICAgIEBkaXN0X2NvbW1vbiA9 ICgpOwogICAgJGhhbmRsZV9kaXN0X3J1biA9IDA7CgogICAgQHByb2dsaXN0ID0gKCk7CiAg ICBAbGlibGlzdCA9ICgpOwogICAgQGx0bGlibGlzdCA9ICgpOwogICAgQGR1cF9zaG9ydG5h bWVzID0gKCk7CgogICAgJWtub3duX3Byb2dyYW1zID0gKCk7CiAgICAla25vd25fbGlicmFy aWVzID0gKCk7CgogICAgJWV4dGVuc2lvbl9zZWVuID0gKCk7CgogICAgJWxhbmd1YWdlX3Nj cmF0Y2ggPSAoKTsKCiAgICAlbGFuZ19zcGVjaWZpY19maWxlcyA9ICgpOwoKICAgICRuZWVk X2xpbmsgPSAwOwoKICAgICRtdXN0X2hhbmRsZV9jb21waWxlZF9vYmplY3RzID0gMDsKCiAg ICAldHJhbnNmb3JtZWRfZmlsZXMgPSAoKTsKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgSW5pdGlhbGl6 ZSBvdXIgbGlzdCBvZiBsYW5ndWFnZXMgdGhhdCBhcmUgaW50ZXJuYWxseSBzdXBwb3J0ZWQu CgpteSBAY3BwbGlrZV9mbGFncyA9CiAgcXd7CiAgICAkKERFRlMpCiAgICAkKERFRkFVTFRf SU5DTFVERVMpCiAgICAkKElOQ0xVREVTKQogICAgJChBTV9DUFBGTEFHUykKICAgICQoQ1BQ RkxBR1MpCiAgfTsKCiMgQy4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnYycsCgkJ ICAgJ05hbWUnID0+ICdDJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnQ0MnXSwKCQkgICAn YXV0b2RlcCcgPT4gJycsCgkJICAgJ2ZsYWdzJyA9PiBbJ0NGTEFHUycsICdDUFBGTEFHUydd LAoJCSAgICdjY2VyJyA9PiAnQ0MnLAoJCSAgICdjb21waWxlcicgPT4gJ0NPTVBJTEUnLAoJ CSAgICdjb21waWxlJyA9PiAiXCQoQ0MpIEBjcHBsaWtlX2ZsYWdzIFwkKEFNX0NGTEFHUykg XCQoQ0ZMQUdTKSIsCgkJICAgJ2xkZXInID0+ICdDQ0xEJywKCQkgICAnbGQnID0+ICckKEND KScsCgkJICAgJ2xpbmtlcicgPT4gJ0xJTksnLAoJCSAgICdsaW5rJyA9PiAnJChDQ0xEKSAk KEFNX0NGTEFHUykgJChDRkxBR1MpICQoQU1fTERGTEFHUykgJChMREZMQUdTKSAtbyAkQCcs CgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1jJywKCQkgICAnb3V0cHV0X2ZsYWcnID0+ICct bycsCgkJICAgJ2xpYnRvb2xfdGFnJyA9PiAnQ0MnLAoJCSAgICdleHRlbnNpb25zJyA9PiBb Jy5jJ10pOwoKIyBDKysuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ2N4eCcsCgkJ ICAgJ05hbWUnID0+ICdDKysnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydDWFgnXSwKCQkg ICAnbGlua2VyJyA9PiAnQ1hYTElOSycsCgkJICAgJ2xpbmsnID0+ICckKENYWExEKSAkKEFN X0NYWEZMQUdTKSAkKENYWEZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAn LAoJCSAgICdhdXRvZGVwJyA9PiAnQ1hYJywKCQkgICAnZmxhZ3MnID0+IFsnQ1hYRkxBR1Mn LCAnQ1BQRkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwkKENYWCkgQGNwcGxpa2VfZmxh Z3MgXCQoQU1fQ1hYRkxBR1MpIFwkKENYWEZMQUdTKSIsCgkJICAgJ2NjZXInID0+ICdDWFgn LAoJCSAgICdjb21waWxlcicgPT4gJ0NYWENPTVBJTEUnLAoJCSAgICdjb21waWxlX2ZsYWcn ID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsaWJ0b29sX3Rh ZycgPT4gJ0NYWCcsCgkJICAgJ2xkZXInID0+ICdDWFhMRCcsCgkJICAgJ2xkJyA9PiAnJChD WFgpJywKCQkgICAncHVyZScgPT4gMSwKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycuYysrJywg Jy5jYycsICcuY3BwJywgJy5jeHgnLCAnLkMnXSk7CgojIE9iamVjdGl2ZSBDLgpyZWdpc3Rl cl9sYW5ndWFnZSAoJ25hbWUnID0+ICdvYmpjJywKCQkgICAnTmFtZScgPT4gJ09iamVjdGl2 ZSBDJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnT0JKQyddLAoJCSAgICdsaW5rZXInID0+ ICdPQkpDTElOSycsCgkJICAgJ2xpbmsnID0+ICckKE9CSkNMRCkgJChBTV9PQkpDRkxBR1Mp ICQoT0JKQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAnLAoJCSAgICdh dXRvZGVwJyA9PiAnT0JKQycsCgkJICAgJ2ZsYWdzJyA9PiBbJ09CSkNGTEFHUycsICdDUFBG TEFHUyddLAoJCSAgICdjb21waWxlJyA9PiAiXCQoT0JKQykgQGNwcGxpa2VfZmxhZ3MgXCQo QU1fT0JKQ0ZMQUdTKSBcJChPQkpDRkxBR1MpIiwKCQkgICAnY2NlcicgPT4gJ09CSkMnLAoJ CSAgICdjb21waWxlcicgPT4gJ09CSkNDT01QSUxFJywKCQkgICAnY29tcGlsZV9mbGFnJyA9 PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnbGRlcicgPT4gJ09C SkNMRCcsCgkJICAgJ2xkJyA9PiAnJChPQkpDKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAg J2V4dGVuc2lvbnMnID0+IFsnLm0nXSk7CgojIE9iamVjdGl2ZSBDKysuCnJlZ2lzdGVyX2xh bmd1YWdlICgnbmFtZScgPT4gJ29iamN4eCcsCgkJICAgJ05hbWUnID0+ICdPYmplY3RpdmUg QysrJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnT0JKQ1hYJ10sCgkJICAgJ2xpbmtlcicg PT4gJ09CSkNYWExJTksnLAoJCSAgICdsaW5rJyA9PiAnJChPQkpDWFhMRCkgJChBTV9PQkpD WFhGTEFHUykgJChPQkpDWFhGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpIC1vICRA JywKCQkgICAnYXV0b2RlcCcgPT4gJ09CSkNYWCcsCgkJICAgJ2ZsYWdzJyA9PiBbJ09CSkNY WEZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NvbXBpbGUnID0+ICJcJChPQkpDWFgpIEBj cHBsaWtlX2ZsYWdzIFwkKEFNX09CSkNYWEZMQUdTKSBcJChPQkpDWFhGTEFHUykiLAoJCSAg ICdjY2VyJyA9PiAnT0JKQ1hYJywKCQkgICAnY29tcGlsZXInID0+ICdPQkpDWFhDT01QSUxF JywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4g Jy1vJywKCQkgICAnbGRlcicgPT4gJ09CSkNYWExEJywKCQkgICAnbGQnID0+ICckKE9CSkNY WCknLAoJCSAgICdwdXJlJyA9PiAxLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5tbSddKTsK CiMgVW5pZmllZCBQYXJhbGxlbCBDLgpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+ICd1 cGMnLAoJCSAgICdOYW1lJyA9PiAnVW5pZmllZCBQYXJhbGxlbCBDJywKCQkgICAnY29uZmln X3ZhcnMnID0+IFsnVVBDJ10sCgkJICAgJ2xpbmtlcicgPT4gJ1VQQ0xJTksnLAoJCSAgICds aW5rJyA9PiAnJChVUENMRCkgJChBTV9VUENGTEFHUykgJChVUENGTEFHUykgJChBTV9MREZM QUdTKSAkKExERkxBR1MpIC1vICRAJywKCQkgICAnYXV0b2RlcCcgPT4gJ1VQQycsCgkJICAg J2ZsYWdzJyA9PiBbJ1VQQ0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NvbXBpbGUnID0+ ICJcJChVUEMpIEBjcHBsaWtlX2ZsYWdzIFwkKEFNX1VQQ0ZMQUdTKSBcJChVUENGTEFHUyki LAoJCSAgICdjY2VyJyA9PiAnVVBDJywKCQkgICAnY29tcGlsZXInID0+ICdVUENDT01QSUxF JywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4g Jy1vJywKCQkgICAnbGRlcicgPT4gJ1VQQ0xEJywKCQkgICAnbGQnID0+ICckKFVQQyknLAoJ CSAgICdwdXJlJyA9PiAxLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy51cGMnXSk7CgojIEhl YWRlcnMuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ2hlYWRlcicsCgkJICAgJ05h bWUnID0+ICdIZWFkZXInLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5oJywgJy5IJywgJy5o eHgnLCAnLmgrKycsICcuaGgnLAoJCQkJICAgICcuaHBwJywgJy5pbmMnXSwKCQkgICAjIE5v IG91dHB1dC4KCQkgICAnb3V0cHV0X2V4dGVuc2lvbnMnID0+IHN1YiB7IHJldHVybiAoKSB9 LAoJCSAgICMgTm90aGluZyB0byBkby4KCQkgICAnX2ZpbmlzaCcgPT4gc3ViIHsgfSk7Cgoj IFZhbGEKcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAndmFsYScsCgkJICAgJ05hbWUn ID0+ICdWYWxhJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnVkFMQUMnXSwKCQkgICAnZmxh Z3MnID0+IFtdLAoJCSAgICdjb21waWxlJyA9PiAnJChWQUxBQykgJChBTV9WQUxBRkxBR1Mp ICQoVkFMQUZMQUdTKScsCgkJICAgJ2NjZXInID0+ICdWQUxBQycsCgkJICAgJ2NvbXBpbGVy JyA9PiAnVkFMQUNPTVBJTEUnLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy52YWxhJ10sCgkJ ICAgJ291dHB1dF9leHRlbnNpb25zJyA9PiBzdWIgeyAobXkgJGV4dCA9ICRfWzBdKSA9fiBz L3ZhbGEkL2MvOwoJCQkJCQlyZXR1cm4gKCRleHQsKSB9LAoJCSAgICdydWxlX2ZpbGUnID0+ ICd2YWxhJywKCQkgICAnX2ZpbmlzaCcgPT4gXCZsYW5nX3ZhbGFfZmluaXNoLAoJCSAgICdf dGFyZ2V0X2hvb2snID0+IFwmbGFuZ192YWxhX3RhcmdldF9ob29rLAoJCSAgICdub2Rpc3Rf c3BlY2lmaWMnID0+IDEpOwoKIyBZYWNjIChDICYgQysrKS4KcmVnaXN0ZXJfbGFuZ3VhZ2Ug KCduYW1lJyA9PiAneWFjYycsCgkJICAgJ05hbWUnID0+ICdZYWNjJywKCQkgICAnY29uZmln X3ZhcnMnID0+IFsnWUFDQyddLAoJCSAgICdmbGFncycgPT4gWydZRkxBR1MnXSwKCQkgICAn Y29tcGlsZScgPT4gJyQoWUFDQykgJChBTV9ZRkxBR1MpICQoWUZMQUdTKScsCgkJICAgJ2Nj ZXInID0+ICdZQUNDJywKCQkgICAnY29tcGlsZXInID0+ICdZQUNDQ09NUElMRScsCgkJICAg J2V4dGVuc2lvbnMnID0+IFsnLnknXSwKCQkgICAnb3V0cHV0X2V4dGVuc2lvbnMnID0+IHN1 YiB7IChteSAkZXh0ID0gJF9bMF0pID1+IHRyL3kvYy87CgkJCQkJCXJldHVybiAoJGV4dCwp IH0sCgkJICAgJ3J1bGVfZmlsZScgPT4gJ3lhY2MnLAoJCSAgICdfZmluaXNoJyA9PiBcJmxh bmdfeWFjY19maW5pc2gsCgkJICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX3lhY2NfdGFy Z2V0X2hvb2ssCgkJICAgJ25vZGlzdF9zcGVjaWZpYycgPT4gMSk7CnJlZ2lzdGVyX2xhbmd1 YWdlICgnbmFtZScgPT4gJ3lhY2N4eCcsCgkJICAgJ05hbWUnID0+ICdZYWNjIChDKyspJywK CQkgICAnY29uZmlnX3ZhcnMnID0+IFsnWUFDQyddLAoJCSAgICdydWxlX2ZpbGUnID0+ICd5 YWNjJywKCQkgICAnZmxhZ3MnID0+IFsnWUZMQUdTJ10sCgkJICAgJ2NjZXInID0+ICdZQUND JywKCQkgICAnY29tcGlsZXInID0+ICdZQUNDQ09NUElMRScsCgkJICAgJ2NvbXBpbGUnID0+ ICckKFlBQ0MpICQoQU1fWUZMQUdTKSAkKFlGTEFHUyknLAoJCSAgICdleHRlbnNpb25zJyA9 PiBbJy55KysnLCAnLnl5JywgJy55eHgnLCAnLnlwcCddLAoJCSAgICdvdXRwdXRfZXh0ZW5z aW9ucycgPT4gc3ViIHsgKG15ICRleHQgPSAkX1swXSkgPX4gdHIveS9jLzsKCQkJCQkJcmV0 dXJuICgkZXh0LCkgfSwKCQkgICAnX2ZpbmlzaCcgPT4gXCZsYW5nX3lhY2NfZmluaXNoLAoJ CSAgICdfdGFyZ2V0X2hvb2snID0+IFwmbGFuZ195YWNjX3RhcmdldF9ob29rLAoJCSAgICdu b2Rpc3Rfc3BlY2lmaWMnID0+IDEpOwoKIyBMZXggKEMgJiBDKyspLgpyZWdpc3Rlcl9sYW5n dWFnZSAoJ25hbWUnID0+ICdsZXgnLAoJCSAgICdOYW1lJyA9PiAnTGV4JywKCQkgICAnY29u ZmlnX3ZhcnMnID0+IFsnTEVYJ10sCgkJICAgJ3J1bGVfZmlsZScgPT4gJ2xleCcsCgkJICAg J2ZsYWdzJyA9PiBbJ0xGTEFHUyddLAoJCSAgICdjb21waWxlJyA9PiAnJChMRVgpICQoQU1f TEZMQUdTKSAkKExGTEFHUyknLAoJCSAgICdjY2VyJyA9PiAnTEVYJywKCQkgICAnY29tcGls ZXInID0+ICdMRVhDT01QSUxFJywKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycubCddLAoJCSAg ICdvdXRwdXRfZXh0ZW5zaW9ucycgPT4gc3ViIHsgKG15ICRleHQgPSAkX1swXSkgPX4gdHIv bC9jLzsKCQkJCQkJcmV0dXJuICgkZXh0LCkgfSwKCQkgICAnX2ZpbmlzaCcgPT4gXCZsYW5n X2xleF9maW5pc2gsCgkJICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX2xleF90YXJnZXRf aG9vaywKCQkgICAnbm9kaXN0X3NwZWNpZmljJyA9PiAxKTsKcmVnaXN0ZXJfbGFuZ3VhZ2Ug KCduYW1lJyA9PiAnbGV4eHgnLAoJCSAgICdOYW1lJyA9PiAnTGV4IChDKyspJywKCQkgICAn Y29uZmlnX3ZhcnMnID0+IFsnTEVYJ10sCgkJICAgJ3J1bGVfZmlsZScgPT4gJ2xleCcsCgkJ ICAgJ2ZsYWdzJyA9PiBbJ0xGTEFHUyddLAoJCSAgICdjb21waWxlJyA9PiAnJChMRVgpICQo QU1fTEZMQUdTKSAkKExGTEFHUyknLAoJCSAgICdjY2VyJyA9PiAnTEVYJywKCQkgICAnY29t cGlsZXInID0+ICdMRVhDT01QSUxFJywKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycubCsrJywg Jy5sbCcsICcubHh4JywgJy5scHAnXSwKCQkgICAnb3V0cHV0X2V4dGVuc2lvbnMnID0+IHN1 YiB7IChteSAkZXh0ID0gJF9bMF0pID1+IHRyL2wvYy87CgkJCQkJCXJldHVybiAoJGV4dCwp IH0sCgkJICAgJ19maW5pc2gnID0+IFwmbGFuZ19sZXhfZmluaXNoLAoJCSAgICdfdGFyZ2V0 X2hvb2snID0+IFwmbGFuZ19sZXhfdGFyZ2V0X2hvb2ssCgkJICAgJ25vZGlzdF9zcGVjaWZp YycgPT4gMSk7CgojIEFzc2VtYmxlci4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAn YXNtJywKCQkgICAnTmFtZScgPT4gJ0Fzc2VtYmxlcicsCgkJICAgJ2NvbmZpZ192YXJzJyA9 PiBbJ0NDQVMnLCAnQ0NBU0ZMQUdTJ10sCgoJCSAgICdmbGFncycgPT4gWydDQ0FTRkxBR1Mn XSwKCQkgICAjIFVzZXJzIGNhbiBzZXQgQU1fQ0NBU0ZMQUdTIHRvIGluY2x1ZGUgREVGUywg SU5DTFVERVMsCgkJICAgIyBvciBhbnl0aGluZyBlbHNlIHJlcXVpcmVkLiAgVGhleSBjYW4g YWxzbyBzZXQgQ0NBUy4KCQkgICAjIE9yIHNpbXBseSB1c2UgUHJlcHJvY2Vzc2VkIEFzc2Vt Ymxlci4KCQkgICAnY29tcGlsZScgPT4gJyQoQ0NBUykgJChBTV9DQ0FTRkxBR1MpICQoQ0NB U0ZMQUdTKScsCgkJICAgJ2NjZXInID0+ICdDQ0FTJywKCQkgICAnY29tcGlsZXInID0+ICdD Q0FTQ09NUElMRScsCgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1jJywKCQkgICAnb3V0cHV0 X2ZsYWcnID0+ICctbycsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLnMnXSk7CgojIFByZXBy b2Nlc3NlZCBBc3NlbWJsZXIuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ2NwcGFz bScsCgkJICAgJ05hbWUnID0+ICdQcmVwcm9jZXNzZWQgQXNzZW1ibGVyJywKCQkgICAnY29u ZmlnX3ZhcnMnID0+IFsnQ0NBUycsICdDQ0FTRkxBR1MnXSwKCgkJICAgJ2F1dG9kZXAnID0+ ICdDQ0FTJywKCQkgICAnZmxhZ3MnID0+IFsnQ0NBU0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJ ICAgJ2NvbXBpbGUnID0+ICJcJChDQ0FTKSBAY3BwbGlrZV9mbGFncyBcJChBTV9DQ0FTRkxB R1MpIFwkKENDQVNGTEFHUykiLAoJCSAgICdjY2VyJyA9PiAnQ1BQQVMnLAoJCSAgICdjb21w aWxlcicgPT4gJ0NQUEFTQ09NUElMRScsCiAgICAgICAgICAgICAgICAgICAnbGlidG9vbF90 YWcnID0+ICdDQycsCgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1jJywKCQkgICAnb3V0cHV0 X2ZsYWcnID0+ICctbycsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLlMnLCAnLnN4J10pOwoK IyBGb3J0cmFuIDc3CnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ2Y3NycsCgkJICAg J05hbWUnID0+ICdGb3J0cmFuIDc3JywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnRjc3J10s CgkJICAgJ2xpbmtlcicgPT4gJ0Y3N0xJTksnLAoJCSAgICdsaW5rJyA9PiAnJChGNzdMRCkg JChBTV9GRkxBR1MpICQoRkZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAn LAoJCSAgICdmbGFncycgPT4gWydGRkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gJyQoRjc3 KSAkKEFNX0ZGTEFHUykgJChGRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ0Y3NycsCgkJICAg J2NvbXBpbGVyJyA9PiAnRjc3Q09NUElMRScsCgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1j JywKCQkgICAnb3V0cHV0X2ZsYWcnID0+ICctbycsCgkJICAgJ2xpYnRvb2xfdGFnJyA9PiAn Rjc3JywKCQkgICAnbGRlcicgPT4gJ0Y3N0xEJywKCQkgICAnbGQnID0+ICckKEY3NyknLAoJ CSAgICdwdXJlJyA9PiAxLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5mJywgJy5mb3InXSk7 CgojIEZvcnRyYW4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnZmMnLAoJCSAgICdO YW1lJyA9PiAnRm9ydHJhbicsCgkJICAgJ2NvbmZpZ192YXJzJyA9PiBbJ0ZDJ10sCgkJICAg J2xpbmtlcicgPT4gJ0ZDTElOSycsCgkJICAgJ2xpbmsnID0+ICckKEZDTEQpICQoQU1fRkNG TEFHUykgJChGQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAnLAoJCSAg ICdmbGFncycgPT4gWydGQ0ZMQUdTJ10sCgkJICAgJ2NvbXBpbGUnID0+ICckKEZDKSAkKEFN X0ZDRkxBR1MpICQoRkNGTEFHUyknLAoJCSAgICdjY2VyJyA9PiAnRkMnLAoJCSAgICdjb21w aWxlcicgPT4gJ0ZDQ09NUElMRScsCgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1jJywKCQkg ICAnb3V0cHV0X2ZsYWcnID0+ICctbycsCgkJICAgJ2xpYnRvb2xfdGFnJyA9PiAnRkMnLAoJ CSAgICdsZGVyJyA9PiAnRkNMRCcsCgkJICAgJ2xkJyA9PiAnJChGQyknLAoJCSAgICdwdXJl JyA9PiAxLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5mOTAnLCAnLmY5NScsICcuZjAzJywg Jy5mMDgnXSk7CgojIFByZXByb2Nlc3NlZCBGb3J0cmFuCnJlZ2lzdGVyX2xhbmd1YWdlICgn bmFtZScgPT4gJ3BwZmMnLAoJCSAgICdOYW1lJyA9PiAnUHJlcHJvY2Vzc2VkIEZvcnRyYW4n LAoJCSAgICdjb25maWdfdmFycycgPT4gWydGQyddLAoJCSAgICdsaW5rZXInID0+ICdGQ0xJ TksnLAoJCSAgICdsaW5rJyA9PiAnJChGQ0xEKSAkKEFNX0ZDRkxBR1MpICQoRkNGTEFHUykg JChBTV9MREZMQUdTKSAkKExERkxBR1MpIC1vICRAJywKCQkgICAnbGRlcicgPT4gJ0ZDTEQn LAoJCSAgICdsZCcgPT4gJyQoRkMpJywKCQkgICAnZmxhZ3MnID0+IFsnRkNGTEFHUycsICdD UFBGTEFHUyddLAoJCSAgICdjY2VyJyA9PiAnUFBGQycsCgkJICAgJ2NvbXBpbGVyJyA9PiAn UFBGQ0NPTVBJTEUnLAoJCSAgICdjb21waWxlJyA9PiAiXCQoRkMpIEBjcHBsaWtlX2ZsYWdz IFwkKEFNX0ZDRkxBR1MpIFwkKEZDRkxBR1MpIiwKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAn LWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ ICdGQycsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLkY5MCcs Jy5GOTUnLCAnLkYwMycsICcuRjA4J10pOwoKIyBQcmVwcm9jZXNzZWQgRm9ydHJhbiA3Nwoj CiMgVGhlIGN1cnJlbnQgc3VwcG9ydCBmb3IgcHJlcHJvY2Vzc2luZyBGb3J0cmFuIDc3IGp1 c3QgaW52b2x2ZXMKIyBwYXNzaW5nICIkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJ TkNMVURFUykgJChBTV9DUFBGTEFHUykKIyAkKENQUEZMQUdTKSIgYXMgYWRkaXRpb25hbCBm bGFncyB0byB0aGUgRm9ydHJhbiA3NyBjb21waWxlciwgc2luY2UKIyB0aGlzIGlzIGhvdyBH TlUgTWFrZSBkb2VzIGl0OyBzZWUgdGhlICJHTlUgTWFrZSBNYW51YWwsIEVkaXRpb24gMC41 MQojIGZvciAnbWFrZScgVmVyc2lvbiAzLjc2IEJldGEiIChzcGVjaWZpY2FsbHksIGZyb20g aW5mbyBmaWxlCiMgJyhtYWtlKUNhdGFsb2d1ZSBvZiBSdWxlcycpLgojCiMgQSBiZXR0ZXIg YXBwcm9hY2ggd291bGQgYmUgdG8gd3JpdGUgYW4gQXV0b2NvbmYgdGVzdAojIChpLmUuIEFD X1BST0dfRlBQKSBmb3IgYSBGb3J0cmFuIDc3IHByZXByb2Nlc3NvciwgYmVjYXVzZSBub3Qg YWxsCiMgRm9ydHJhbiA3NyBjb21waWxlcnMga25vdyBob3cgdG8gZG8gcHJlcHJvY2Vzc2lu Zy4gIFRoZSBBdXRvY29uZgojIG1hY3JvIEFDX1BST0dfRlBQIHNob3VsZCB0ZXN0IHRoZSBG b3J0cmFuIDc3IGNvbXBpbGVyIGZpcnN0IGZvcgojIHByZXByb2Nlc3NpbmcgY2FwYWJpbGl0 aWVzLCBhbmQgdGhlbiBmYWxsIGJhY2sgb24gY3BwIChpZiBjcHAgd2VyZQojIGF2YWlsYWJs ZSkuCnJlZ2lzdGVyX2xhbmd1YWdlICgnbmFtZScgPT4gJ3BwZjc3JywKCQkgICAnTmFtZScg PT4gJ1ByZXByb2Nlc3NlZCBGb3J0cmFuIDc3JywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsn Rjc3J10sCgkJICAgJ2xpbmtlcicgPT4gJ0Y3N0xJTksnLAoJCSAgICdsaW5rJyA9PiAnJChG NzdMRCkgJChBTV9GRkxBR1MpICQoRkZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykg LW8gJEAnLAoJCSAgICdsZGVyJyA9PiAnRjc3TEQnLAoJCSAgICdsZCcgPT4gJyQoRjc3KScs CgkJICAgJ2ZsYWdzJyA9PiBbJ0ZGTEFHUycsICdDUFBGTEFHUyddLAoJCSAgICdjY2VyJyA9 PiAnUFBGNzcnLAoJCSAgICdjb21waWxlcicgPT4gJ1BQRjc3Q09NUElMRScsCgkJICAgJ2Nv bXBpbGUnID0+ICJcJChGNzcpIEBjcHBsaWtlX2ZsYWdzIFwkKEFNX0ZGTEFHUykgXCQoRkZM QUdTKSIsCgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1jJywKCQkgICAnb3V0cHV0X2ZsYWcn ID0+ICctbycsCgkJICAgJ2xpYnRvb2xfdGFnJyA9PiAnRjc3JywKCQkgICAncHVyZScgPT4g MSwKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycuRiddKTsKCiMgUmF0Zm9yLgpyZWdpc3Rlcl9s YW5ndWFnZSAoJ25hbWUnID0+ICdyYXRmb3InLAoJCSAgICdOYW1lJyA9PiAnUmF0Zm9yJywK CQkgICAnY29uZmlnX3ZhcnMnID0+IFsnRjc3J10sCgkJICAgJ2xpbmtlcicgPT4gJ0Y3N0xJ TksnLAoJCSAgICdsaW5rJyA9PiAnJChGNzdMRCkgJChBTV9GRkxBR1MpICQoRkZMQUdTKSAk KEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAnLAoJCSAgICdsZGVyJyA9PiAnRjc3TEQn LAoJCSAgICdsZCcgPT4gJyQoRjc3KScsCgkJICAgJ2ZsYWdzJyA9PiBbJ1JGTEFHUycsICdG RkxBR1MnXSwKCQkgICAjIEZJWE1FIGFsc28gRkZMQUdTLgoJCSAgICdjb21waWxlJyA9PiAn JChGNzcpICQoQU1fRkZMQUdTKSAkKEZGTEFHUykgJChBTV9SRkxBR1MpICQoUkZMQUdTKScs CgkJICAgJ2NjZXInID0+ICdGNzcnLAoJCSAgICdjb21waWxlcicgPT4gJ1JDT01QSUxFJywK CQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1v JywKCQkgICAnbGlidG9vbF90YWcnID0+ICdGNzcnLAoJCSAgICdwdXJlJyA9PiAxLAoJCSAg ICdleHRlbnNpb25zJyA9PiBbJy5yJ10pOwoKIyBKYXZhIHZpYSBnY2ouCnJlZ2lzdGVyX2xh bmd1YWdlICgnbmFtZScgPT4gJ2phdmEnLAoJCSAgICdOYW1lJyA9PiAnSmF2YScsCgkJICAg J2NvbmZpZ192YXJzJyA9PiBbJ0dDSiddLAoJCSAgICdsaW5rZXInID0+ICdHQ0pMSU5LJywK CQkgICAnbGluaycgPT4gJyQoR0NKTEQpICQoQU1fR0NKRkxBR1MpICQoR0NKRkxBR1MpICQo QU1fTERGTEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2F1dG9kZXAnID0+ICdHQ0on LAoJCSAgICdmbGFncycgPT4gWydHQ0pGTEFHUyddLAoJCSAgICdjb21waWxlJyA9PiAnJChH Q0opICQoQU1fR0NKRkxBR1MpICQoR0NKRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ0dDSics CgkJICAgJ2NvbXBpbGVyJyA9PiAnR0NKQ09NUElMRScsCgkJICAgJ2NvbXBpbGVfZmxhZycg PT4gJy1jJywKCQkgICAnb3V0cHV0X2ZsYWcnID0+ICctbycsCgkJICAgJ2xpYnRvb2xfdGFn JyA9PiAnR0NKJywKCQkgICAnbGRlcicgPT4gJ0dDSkxEJywKCQkgICAnbGQnID0+ICckKEdD SiknLAoJCSAgICdwdXJlJyA9PiAxLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5qYXZhJywg Jy5jbGFzcycsICcuemlwJywgJy5qYXInXSk7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIEVycm9yIHJlcG9y dGluZyBmdW5jdGlvbnMuCgojIGVycl9hbSAoJE1FU1NBR0UsIFslT1BUSU9OU10pCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBVbmNhdGVnb3JpemVkIGVycm9ycyBhYm91 dCB0aGUgY3VycmVudCBNYWtlZmlsZS5hbS4Kc3ViIGVycl9hbQp7CiAgbXNnX2FtICgnZXJy b3InLCBAXyk7Cn0KCiMgZXJyX2FjICgkTUVTU0FHRSwgWyVPUFRJT05TXSkKIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFVuY2F0ZWdvcml6ZWQgZXJyb3JzIGFib3V0IGNv bmZpZ3VyZS5hYy4Kc3ViIGVycl9hYwp7CiAgbXNnX2FjICgnZXJyb3InLCBAXyk7Cn0KCiMg bXNnX2FtICgkQ0hBTk5FTCwgJE1FU1NBR0UsIFslT1BUSU9OU10pCiMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTWVzc2FnZXMgYWJvdXQgYWJvdXQgdGhl IGN1cnJlbnQgTWFrZWZpbGUuYW0uCnN1YiBtc2dfYW0KewogIG15ICgkY2hhbm5lbCwgJG1z ZywgJW9wdHMpID0gQF87CiAgbXNnICRjaGFubmVsLCAiJHthbV9maWxlfS5hbSIsICRtc2cs ICVvcHRzOwp9CgojIG1zZ19hYyAoJENIQU5ORUwsICRNRVNTQUdFLCBbJU9QVElPTlNdKQoj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1lc3NhZ2VzIGFi b3V0IGFib3V0IGNvbmZpZ3VyZS5hYy4Kc3ViIG1zZ19hYwp7CiAgbXkgKCRjaGFubmVsLCAk bXNnLCAlb3B0cykgPSBAXzsKICBtc2cgJGNoYW5uZWwsICRjb25maWd1cmVfYWMsICRtc2cs ICVvcHRzOwp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIHN1YnN0ICgkVEVYVCkKIyAtLS0tLS0tLS0tLS0t CiMgUmV0dXJuIGEgY29uZmlndXJlLXN0eWxlIHN1YnN0aXR1dGlvbiB1c2luZyB0aGUgaW5k aWNhdGVkIHRleHQuCiMgV2UgZG8gdGhpcyB0byBhdm9pZCBoYXZpbmcgdGhlIHN1YnN0aXR1 dGlvbnMgZGlyZWN0bHkgaW4gYXV0b21ha2UuaW47CiMgd2hlbiB3ZSBkbyB0aGF0IHRoZXkg YXJlIHNvbWV0aW1lcyByZW1vdmVkIGFuZCB0aGlzIGNhdXNlcyBjb25mdXNpb24KIyBhbmQg YnVncy4Kc3ViIHN1YnN0CnsKICAgIG15ICgkdGV4dCkgPSBAXzsKICAgIHJldHVybiAnQCcg LiAkdGV4dCAuICdAJzsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMgJEJBQ0tQQVRICiMgYmFja25hbWUg KCRSRUxESVIpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLQojIElmIEkgImNkICRSRUxESVIiLCB0 aGVuIHRvIGNvbWUgYmFjaywgSSBzaG91bGQgImNkICRCQUNLUEFUSCIuCiMgRm9yIGluc3Rh bmNlICdzcmMvZm9vJyA9PiAnLi4vLi4nLgojIFdvcmtzIHdpdGggbm9uIHN0cmljdGx5IGlu Y3JlYXNpbmcgcGF0aHMsIGkuZS4sICdzcmMvLi4vbGliJyA9PiAnLi4nLgpzdWIgYmFja25h bWUKewogICAgbXkgKCRmaWxlKSA9IEBfOwogICAgbXkgQHJlczsKICAgIGZvcmVhY2ggKHNw bGl0ICgvXC8vLCAkZmlsZSkpCiAgICB7CgluZXh0IGlmICRfIGVxICcuJyB8fCAkXyBlcSAn JzsKCWlmICgkXyBlcSAnLi4nKQoJewoJICAgIHBvcCBAcmVzCgkgICAgICBvciBwcm9nX2Vy cm9yICgidHJ5aW5nIHRvIHJldmVyc2UgcGF0aCAnJGZpbGUnIHBvaW50aW5nIG91dHNpZGUg dHJlZSIpOwoJfQoJZWxzZQoJewoJICAgIHB1c2ggKEByZXMsICcuLicpOwoJfQogICAgfQog ICAgcmV0dXJuIGpvaW4gKCcvJywgQHJlcykgfHwgJy4nOwp9CgojIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIFNp bGVudCBydWxlcyBoYW5kbGluZyBmdW5jdGlvbnMuCgojIHZlcmJvc2VfdmFyIChOQU1FKQoj IC0tLS0tLS0tLS0tLS0tLS0tLQojIFRoZSBwdWJsaWMgdmFyaWFibGUgc3RlbSB1c2VkIHRv IGltcGxlbWVudCBzaWxlbnQgcnVsZXMuCnN1YiB2ZXJib3NlX3Zhcgp7CiAgICBteSAoJG5h bWUpID0gQF87CiAgICByZXR1cm4gJ0FNX1ZfJyAuICRuYW1lOwp9CgojIHZlcmJvc2VfcHJp dmF0ZV92YXIgKE5BTUUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGUgbmFt aW5nIHBvbGljeSBmb3IgdGhlIHByaXZhdGUgdmFyaWFibGVzIGZvciBzaWxlbnQgcnVsZXMu CnN1YiB2ZXJib3NlX3ByaXZhdGVfdmFyCnsKICAgIG15ICgkbmFtZSkgPSBAXzsKICAgIHJl dHVybiAnYW1fX3ZfJyAuICRuYW1lOwp9CgojIGRlZmluZV92ZXJib3NlX3ZhciAoTkFNRSwg VkFMLUlGLVNJTEVOVCwgW1ZBTC1JRi1WRVJCT1NFXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRm9yICBzaWxlbnQg cnVsZXMsIHNldHVwIFZBUiBhbmQgZGlzcGF0Y2hlciwgdG8gZXhwYW5kIHRvCiMgVkFMLUlG LVNJTEVOVCBpZiBzaWxlbnQsIHRvIFZBTC1JRi1WRVJCT1NFIChkZWZhdWx0aW5nIHRvCiMg ZW1wdHkpIGlmIG5vdC4Kc3ViIGRlZmluZV92ZXJib3NlX3Zhcgp7CiAgICBteSAoJG5hbWUs ICRzaWxlbnRfdmFsLCAkdmVyYm9zZV92YWwpID0gQF87CiAgICAkdmVyYm9zZV92YWwgPSAn JyB1bmxlc3MgZGVmaW5lZCAkdmVyYm9zZV92YWw7CiAgICBteSAkdmFyID0gdmVyYm9zZV92 YXIgKCRuYW1lKTsKICAgIG15ICRwdmFyID0gdmVyYm9zZV9wcml2YXRlX3ZhciAoJG5hbWUp OwogICAgbXkgJHNpbGVudF92YXIgPSAkcHZhciAuICdfMCc7CiAgICBteSAkdmVyYm9zZV92 YXIgPSAkcHZhciAuICdfMSc7CiAgICAjIEZvciB0eXBpY2FsICdtYWtlJ3MsICdjb25maWd1 cmUnIHJlcGxhY2VzIEFNX1YgKGluc2lkZSBAQCkgd2l0aCAkKFYpCiAgICAjIGFuZCBBTV9E RUZBVUxUX1YgKGluc2lkZSBAQCkgd2l0aCAkKEFNX0RFRkFVTFRfVkVSQk9TSVRZKS4KICAg ICMgRm9yIHN0cmljdCBQT1NJWCAyMDA4ICdtYWtlJ3MsIGl0IHJlcGxhY2VzIHRoZW0gd2l0 aCAwIG9yIDEgaW5zdGVhZC4KICAgICMgU2VlIEFNX1NJTEVOVF9SVUxFUyBpbiBtNC9zaWxl bnQubTQuCiAgICBkZWZpbmVfdmFyaWFibGUgKCR2YXIsICckKCcgLiAkcHZhciAuICdfQCcu J0FNX1YnLidAKScsIElOVEVSTkFMKTsKICAgIGRlZmluZV92YXJpYWJsZSAoJHB2YXIgLiAn XycsICckKCcgLiAkcHZhciAuICdfQCcuJ0FNX0RFRkFVTFRfVicuJ0ApJywKICAgICAgICAg ICAgICAgICAgICAgSU5URVJOQUwpOwogICAgQXV0b21ha2U6OlZhcmlhYmxlOjpkZWZpbmUg KCRzaWxlbnRfdmFyLCBWQVJfQVVUT01BS0UsICcnLCBUUlVFLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICRzaWxlbnRfdmFsLCAnJywgSU5URVJOQUwsIFZBUl9BU0lTKQog ICAgICBpZiAoISB2YXJkZWYgKCRzaWxlbnRfdmFyLCBUUlVFKSk7CiAgICBBdXRvbWFrZTo6 VmFyaWFibGU6OmRlZmluZSAoJHZlcmJvc2VfdmFyLCBWQVJfQVVUT01BS0UsICcnLCBUUlVF LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2ZXJib3NlX3ZhbCwgJycsIElO VEVSTkFMLCBWQVJfQVNJUykKICAgICAgaWYgKCEgdmFyZGVmICgkdmVyYm9zZV92YXIsIFRS VUUpKTsKfQoKIyB2ZXJib3NlX2ZsYWcgKE5BTUUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLQoj IENvbnRlbnRzIG9mICclVkVSQk9TRSUnIHZhcmlhYmxlIHRvIGV4cGFuZCBiZWZvcmUgcnVs ZSBjb21tYW5kLgpzdWIgdmVyYm9zZV9mbGFnCnsKICAgIG15ICgkbmFtZSkgPSBAXzsKICAg IHJldHVybiAnJCgnIC4gdmVyYm9zZV92YXIgKCRuYW1lKSAuICcpJzsKfQoKc3ViIHZlcmJv c2Vfbm9kZXBfZmxhZwp7CiAgICBteSAoJG5hbWUpID0gQF87CiAgICByZXR1cm4gJyQoJyAu IHZlcmJvc2VfdmFyICgkbmFtZSkgLiBzdWJzdCAoJ2FtX19ub2RlcCcpIC4gJyknOwp9Cgoj IHNpbGVudF9mbGFnCiMgLS0tLS0tLS0tLS0KIyBDb250ZW50cyBvZiAlU0lMRU5UJTogdmFy aWFibGUgdG8gZXhwYW5kIHRvICdAJyB3aGVuIHNpbGVudC4Kc3ViIHNpbGVudF9mbGFnICgp CnsKICAgIHJldHVybiB2ZXJib3NlX2ZsYWcgKCdhdCcpOwp9CgojIGRlZmluZV92ZXJib3Nl X3RhZ3ZhciAoTkFNRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRW5nYWdl IHRoZSBuZWVkZWQgc2lsZW50IHJ1bGVzIG1hY2hpbmVyeSBmb3IgdGFnIE5BTUUuCnN1YiBk ZWZpbmVfdmVyYm9zZV90YWd2YXIKewogICAgbXkgKCRuYW1lKSA9IEBfOwogICAgZGVmaW5l X3ZlcmJvc2VfdmFyICgkbmFtZSwgJ0BlY2hvICIgICcuICRuYW1lIC4gJyAnIHggKDggLSBs ZW5ndGggKCRuYW1lKSkgLiAnIiAkQDsnKTsKfQoKIyBFbmdhZ2UgdGhlIG5lZWRlZCBzaWxl bnQgcnVsZXMgbWFjaGluZXJ5IGZvciBhc3NvcnRlZCB0ZXhpbmZvIGNvbW1hbmRzLgpzdWIg ZGVmaW5lX3ZlcmJvc2VfdGV4aW5mbyAoKQp7CiAgbXkgQHRhZ3ZhcnMgPSAoJ0RWSVBTJywg J01BS0VJTkZPJywgJ0lORk9IVE1MJywgJ1RFWEkyRFZJJywgJ1RFWEkyUERGJyk7CiAgZm9y ZWFjaCBteSAkdGFnIChAdGFndmFycykKICAgIHsKICAgICAgZGVmaW5lX3ZlcmJvc2VfdGFn dmFyKCR0YWcpOwogICAgfQogIGRlZmluZV92ZXJib3NlX3ZhcigndGV4aW5mbycsICctcScp OwogIGRlZmluZV92ZXJib3NlX3ZhcigndGV4aWRldm51bGwnLCAnPiAvZGV2L251bGwnKTsK fQoKIyBFbmdhZ2UgdGhlIG5lZWRlZCBzaWxlbnQgcnVsZXMgbWFjaGluZXJ5IGZvciAnbGli dG9vbCAtLXNpbGVudCcuCnN1YiBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgpCnsKICAgIGRl ZmluZV92ZXJib3NlX3ZhciAoJ2x0JywgJy0tc2lsZW50Jyk7CiAgICByZXR1cm4gdmVyYm9z ZV9mbGFnICgnbHQnKTsKfQoKc3ViIGhhbmRsZV9zaWxlbnQgKCkKewogICAgIyBEZWZpbmUg IiQoQU1fVl9QKSIsIGV4cGFuZGluZyB0byBhIHNoZWxsIGNvbmRpdGlvbmFsIHRoYXQgY2Fu IGJlCiAgICAjIHVzZWQgaW4gbWFrZSByZWNpcGVzIHRvIGRldGVybWluZSB3aGV0aGVyIHdl IGFyZSBiZWluZyBydW4gaW4KICAgICMgc2lsZW50IG1vZGUgb3Igbm90LiAgVGhlIGNob2lj ZSBvZiB0aGUgbmFtZSBkZXJpdmVzIGZyb20gdGhlIExJU1AKICAgICMgY29udmVudGlvbiBv ZiBhcHBlbmRpbmcgdGhlIGxldHRlciAnUCcgdG8gZGVub3RlIGEgcHJlZGljYXRlIChzZWUK ICAgICMgYWxzbyAidGhlICctUCcgY29udmVudGlvbiIgaW4gdGhlIEphcmdvbiBGaWxlKTsg d2UgZG8gc28gZm9yIGxhY2sKICAgICMgb2YgYSBiZXR0ZXIgY29udmVudGlvbi4KICAgIGRl ZmluZV92ZXJib3NlX3ZhciAoJ1AnLCAnZmFsc2UnLCAnOicpOwogICAgIyAqQWx3YXlzKiBw cm92aWRlIHRoZSB1c2VyIHdpdGggJyQoQU1fVl9HRU4pJywgdW5jb25kaXRpb25hbGx5Lgog ICAgZGVmaW5lX3ZlcmJvc2VfdGFndmFyICgnR0VOJyk7CiAgICBkZWZpbmVfdmVyYm9zZV92 YXIgKCdhdCcsICdAJyk7Cn0KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKIyBIYW5kbGUgQVVUT01BS0VfT1BU SU9OUyB2YXJpYWJsZS4gIFJldHVybiAwIG9uIGVycm9yLCAxIG90aGVyd2lzZS4Kc3ViIGhh bmRsZV9vcHRpb25zICgpCnsKICBteSAkdmFyID0gdmFyICgnQVVUT01BS0VfT1BUSU9OUycp OwogIGlmICgkdmFyKQogICAgewogICAgICBpZiAoJHZhci0+aGFzX2NvbmRpdGlvbmFsX2Nv bnRlbnRzKQoJewoJICBtc2dfdmFyICgndW5zdXBwb3J0ZWQnLCAkdmFyLAoJCSAgICInQVVU T01BS0VfT1BUSU9OUycgY2Fubm90IGhhdmUgY29uZGl0aW9uYWwgY29udGVudHMiKTsKCX0K ICAgICAgbXkgQG9wdGlvbnMgPSBtYXAgeyB7IG9wdGlvbiA9PiAkXy0+WzFdLCB3aGVyZSA9 PiAkXy0+WzBdIH0gfQoJCQkkdmFyLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSAoY29uZF9m aWx0ZXIgPT4gVFJVRSwKCQkJCQkJICAgICAgIGxvY2F0aW9uID0+IDEpOwogICAgICByZXR1 cm4gMCB1bmxlc3MgcHJvY2Vzc19vcHRpb25fbGlzdCAoQG9wdGlvbnMpOwogICAgfQoKICBp ZiAoJHN0cmljdG5lc3MgPT0gR05JVFMpCiAgICB7CiAgICAgIHNldF9vcHRpb24gKCdyZWFk bWUtYWxwaGEnLCBJTlRFUk5BTCk7CiAgICAgIHNldF9vcHRpb24gKCdzdGQtb3B0aW9ucycs IElOVEVSTkFMKTsKICAgICAgc2V0X29wdGlvbiAoJ2NoZWNrLW5ld3MnLCBJTlRFUk5BTCk7 CiAgICB9CgogIHJldHVybiAxOwp9CgojIHNoYWRvd191bmNvbmRpdGlvbmFsbHkgKCR2YXJu YW1lLCAkd2hlcmUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIyBSZXR1cm4gYSAkKHZhcmlhYmxlKSB0aGF0IGNvbnRhaW5zIGFsbCBwb3NzaWJsZSB2 YWx1ZXMKIyAkdmFybmFtZSBjYW4gdGFrZS4KIyBJZiB0aGUgVkFSIHdhc24ndCBkZWZpbmVk IGNvbmRpdGlvbmFsbHksIHJldHVybiAkKFZBUikuCiMgT3RoZXJ3aXNlIHdlIGNyZWF0ZSBh biBhbV9fVkFSX0RJU1QgdmFyaWFibGUgd2hpY2ggY29udGFpbnMKIyBhbGwgcG9zc2libGUg dmFsdWVzLCBhbmQgcmV0dXJuICQoYW1fX1ZBUl9ESVNUKS4Kc3ViIHNoYWRvd191bmNvbmRp dGlvbmFsbHkKewogIG15ICgkdmFybmFtZSwgJHdoZXJlKSA9IEBfOwogIG15ICR2YXIgPSB2 YXIgJHZhcm5hbWU7CiAgaWYgKCR2YXItPmhhc19jb25kaXRpb25hbF9jb250ZW50cykKICAg IHsKICAgICAgJHZhcm5hbWUgPSAiYW1fXyR7dmFybmFtZX1fRElTVCI7CiAgICAgIG15IEBm aWxlcyA9IHVuaXEgKCR2YXItPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlKTsKICAgICAgZGVm aW5lX3ByZXR0eV92YXJpYWJsZSAoJHZhcm5hbWUsIFRSVUUsICR3aGVyZSwgQGZpbGVzKTsK ICAgIH0KICByZXR1cm4gIlwkKCR2YXJuYW1lKSIKfQoKIyBjaGVja191c2VyX3ZhcmlhYmxl cyAoQExJU1QpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1ha2Ugc3VyZSBl YWNoIHZhcmlhYmxlIFZBUiBpbiBATElTVCBkb2VzIG5vdCBleGlzdCwgc3VnZ2VzdCB1c2lu ZyBBTV9WQVIKIyBvdGhlcndpc2UuCnN1YiBjaGVja191c2VyX3ZhcmlhYmxlcwp7CiAgbXkg QGRvbnRfb3ZlcnJpZGUgPSBAXzsKICBmb3JlYWNoIG15ICRmbGFnIChAZG9udF9vdmVycmlk ZSkKICAgIHsKICAgICAgbXkgJHZhciA9IHZhciAkZmxhZzsKICAgICAgaWYgKCR2YXIpCgl7 CgkgIGZvciBteSAkY29uZCAoJHZhci0+Y29uZGl0aW9ucy0+Y29uZHMpCgkgICAgewoJICAg ICAgaWYgKCR2YXItPnJkZWYgKCRjb25kKS0+b3duZXIgPT0gVkFSX01BS0VGSUxFKQoJCXsK CQkgIG1zZ19jb25kX3ZhciAoJ2dudScsICRjb25kLCAkZmxhZywKCQkJCSInJGZsYWcnIGlz IGEgdXNlciB2YXJpYWJsZSwgIgoJCQkJLiAieW91IHNob3VsZCBub3Qgb3ZlcnJpZGUgaXQ7 XG4iCgkJCQkuICJ1c2UgJ0FNXyRmbGFnJyBpbnN0ZWFkIik7CgkJfQoJICAgIH0KCX0KICAg IH0KfQoKIyBDYWxsIGZpbmlzaCBmdW5jdGlvbiBmb3IgZWFjaCBsYW5ndWFnZSB0aGF0IHdh cyB1c2VkLgpzdWIgaGFuZGxlX2xhbmd1YWdlcyAoKQp7CiAgICBpZiAoISBvcHRpb24gJ25v LWRlcGVuZGVuY2llcycpCiAgICAgIHsKICAgICAgICAjIEluY2x1ZGUgYXV0by1kZXAgY29k ZS4gIERvbid0IGluY2x1ZGUgaXQgaWYgREVQX0ZJTEVTIHdvdWxkCiAgICAgICAgIyBiZSBl bXB0eS4KICAgICAgICBpZiAoa2V5cyAlZXh0ZW5zaW9uX3NlZW4gJiYga2V5cyAlZGVwX2Zp bGVzKQogICAgICAgICAgewogICAgICAgICAgICBteSBAZGVwX2ZpbGVzID0gc29ydCBrZXlz ICVkZXBfZmlsZXM7CiAgICAgICAgICAgICMgU2V0IGxvY2F0aW9uIG9mIGRlcGNvbXAuCiAg ICAgICAgICAgIGRlZmluZV92YXJpYWJsZSAoJ2RlcGNvbXAnLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJcJChTSEVMTCkgJGFtX2NvbmZpZ19hdXhfZGlyL2RlcGNvbXAiLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVEVSTkFMKTsKICAgICAgICAgICAgZGVm aW5lX3ZhcmlhYmxlICgnYW1fX21heWJlX3JlbWFrZV9kZXBmaWxlcycsICdkZXBmaWxlcycs IElOVEVSTkFMKTsKICAgICAgICAgICAgZGVmaW5lX3ZhcmlhYmxlICgnYW1fX2RlcGZpbGVz X3JlbWFkZScsICJAZGVwX2ZpbGVzIiwgSU5URVJOQUwpOwogICAgICAgICAgICAkb3V0cHV0 X3J1bGVzIC49ICJcbiI7CiAgICAgICAgICAgIG15IEBkaXN0X3JtczsKICAgICAgICAgICAg Zm9yZWFjaCBteSAkZGVwZmlsZSAoQGRlcF9maWxlcykKICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBwdXNoIEBkaXN0X3JtcywgIlx0LXJtIC1mICRkZXBmaWxlIjsKICAgICAg ICAgICAgICAgICMgR2VuZXJhdGUgZWFjaCAnaW5jbHVkZScgZGlyZWN0aXZlIGluZGl2aWR1 YWxseS4gIFNldmVyYWwKICAgICAgICAgICAgICAgICMgbWFrZSBpbXBsZW1lbnRhdGlvbnMg KElSSVggNiwgU29sYXJpcyAxMCwgRnJlZUJTRCA4KSB3aWxsCiAgICAgICAgICAgICAgICAj IGZhaWwgdG8gcHJvcGVybHkgaW5jbHVkZSBzZXZlcmFsIGZpbGVzIHJlc3VsdGluZyBmcm9t IGEKICAgICAgICAgICAgICAgICMgdmFyaWFibGUgZXhwYW5zaW9uLiBKdXN0IEdlbmVyYXRp bmcgbWFueSBzZXBhcmF0ZSBpbmNsdWRlcwogICAgICAgICAgICAgICAgIyBzZWVtcyB0aHVz IHNhZmVzdC4KICAgICAgICAgICAgICAgICRvdXRwdXRfcnVsZXMgLj0gc3Vic3QgKCdBTURF UF9UUlVFJykgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzdCAoJ2Ft X19pbmNsdWRlJykgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIgLgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzdCgnYW1fX3F1b3RlJykgLgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZGVwZmlsZSAuCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN1YnN0KCdhbV9fcXVvdGUnKSAuCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICIgIiAuCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIjIGFtLS1pbmNsdWRlLW1hcmtlclxuIjsKICAgICAgICAgICAgICB9CgogICAg ICAgICAgICByZXF1aXJlX2NvbmZfZmlsZSAoIiRhbV9maWxlLmFtIiwgRk9SRUlHTiwgJ2Rl cGNvbXAnKTsKCiAgICAgICAgICAgICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAo CiAgICAgICAgICAgICAgICAnZGVwZW5kJywgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAg ICAgICAgICAgICAgICdESVNUUk1TJyA9PiBqb2luICgiXG4iLCBAZGlzdF9ybXMpKTsKICAg ICAgICAgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7CiAgICAgICAgZGVmaW5lX3Zhcmlh YmxlICgnZGVwY29tcCcsICcnLCBJTlRFUk5BTCk7CiAgICAgICAgZGVmaW5lX3ZhcmlhYmxl ICgnYW1fX21heWJlX3JlbWFrZV9kZXBmaWxlcycsICcnLCBJTlRFUk5BTCk7CiAgICAgIH0K CiAgICBteSAlZG9uZTsKCiAgICAjIElzIHRoZSBDIGxpbmtlciBuZWVkZWQ/CiAgICBteSAk bmVlZHNfYyA9IDA7CiAgICBmb3JlYWNoIG15ICRleHQgKHNvcnQga2V5cyAlZXh0ZW5zaW9u X3NlZW4pCiAgICB7CgluZXh0IHVubGVzcyAkZXh0ZW5zaW9uX21hcHskZXh0fTsKCglteSAk bGFuZyA9ICRsYW5ndWFnZXN7JGV4dGVuc2lvbl9tYXB7JGV4dH19OwoKCW15ICRydWxlX2Zp bGUgPSAkbGFuZy0+cnVsZV9maWxlIHx8ICdkZXBlbmQyJzsKCgkjIEdldCBpbmZvcm1hdGlv biBvbiAkTEFORy4KCW15ICRwZnggPSAkbGFuZy0+YXV0b2RlcDsKCW15ICRmcGZ4ID0gKCRw ZnggZXEgJycpID8gJ0NDJyA6ICRwZng7CgoJbXkgKCRBTURFUCwgJEZBU1RERVApID0KCSAg KG9wdGlvbiAnbm8tZGVwZW5kZW5jaWVzJyB8fCAkbGFuZy0+YXV0b2RlcCBlcSAnbm8nKQoJ ICA/ICgnRkFMU0UnLCAnRkFMU0UnKSA6ICgnQU1ERVAnLCAiYW1fX2Zhc3RkZXAkZnBmeCIp OwoKCW15ICR2ZXJib3NlID0gdmVyYm9zZV9mbGFnICgkbGFuZy0+Y2NlciB8fCAnR0VOJyk7 CglteSAkdmVyYm9zZV9ub2RlcCA9ICgkQU1ERVAgZXEgJ0ZBTFNFJykKCSAgPyAkdmVyYm9z ZSA6IHZlcmJvc2Vfbm9kZXBfZmxhZyAoJGxhbmctPmNjZXIgfHwgJ0dFTicpOwoJbXkgJHNp bGVudCA9IHNpbGVudF9mbGFnICgpOwoKCW15ICV0cmFuc2Zvcm0gPSAoJ0VYVCcgICAgID0+ ICRleHQsCgkJCSAnUEZYJyAgICAgPT4gJHBmeCwKCQkJICdGUEZYJyAgICA9PiAkZnBmeCwK CQkJICdBTURFUCcgICA9PiAkQU1ERVAsCgkJCSAnRkFTVERFUCcgPT4gJEZBU1RERVAsCgkJ CSAnLWMnICAgICAgPT4gJGxhbmctPmNvbXBpbGVfZmxhZyB8fCAnJywKCQkJICMgVGhlc2Ug YXJlIG5vdCB1c2VkLCBidXQgdGhleSBuZWVkIHRvIGJlIGRlZmluZWQKCQkJICMgc28gdHJh bnNmb3JtKCkgZG8gbm90IGNvbXBsYWluLgoJCQkgU1VCRElST0JKICAgICA9PiAwLAoJCQkg J0RFUklWRUQtRVhUJyA9PiAnQlVHJywKCQkJIERJU1RfU09VUkNFICAgPT4gMSwKCQkJIFZF UkJPU0UgICA9PiAkdmVyYm9zZSwKCQkJICdWRVJCT1NFLU5PREVQJyA9PiAkdmVyYm9zZV9u b2RlcCwKCQkJIFNJTEVOVCAgICA9PiAkc2lsZW50LAoJCQkpOwoKCSMgR2VuZXJhdGUgdGhl IGFwcHJvcHJpYXRlIHJ1bGVzIGZvciB0aGlzIGV4dGVuc2lvbi4KCWlmICgoKCEgb3B0aW9u ICduby1kZXBlbmRlbmNpZXMnKSAmJiAkbGFuZy0+YXV0b2RlcCBuZSAnbm8nKQoJICAgIHx8 IGRlZmluZWQgJGxhbmctPmNvbXBpbGUpCgl7CgkgICAgIyBDb21wdXRlIGEgcG9zc2libGUg ZGVyaXZlZCBleHRlbnNpb24uCgkgICAgIyBUaGlzIGlzIG5vdCB1c2VkIGJ5IGRlcGVuZDIu YW0uCgkgICAgbXkgJGRlcl9leHQgPSAoJGxhbmctPm91dHB1dF9leHRlbnNpb25zLT4oJGV4 dCkpWzBdOwoKCSAgICAjIFdoZW4gd2Ugb3V0cHV0IGFuIGluZmVyZW5jZSBydWxlIGxpa2Ug Jy5jLm86JyB3ZQoJICAgICMgaGF2ZSB0d28gY2FzZXMgdG8gY29uc2lkZXI6IGVpdGhlciBz dWJkaXItb2JqZWN0cwoJICAgICMgaXMgdXNlZCwgb3IgaXQgaXMgbm90LgoJICAgICMKCSAg ICAjIEluIHRoZSBsYXR0ZXIgY2FzZSB0aGUgcnVsZSBpcyB1c2VkIHRvIGJ1aWxkIG9iamVj dHMKCSAgICAjIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgYW5kIGRlcGVuZGVuY2llcyBh bHdheXMKCSAgICAjIGdvIGludG8gJy4vJChERVBESVIpLycuICBXZSBjYW4gaGFyZC1jb2Rl IHRoaXMgdmFsdWUuCgkgICAgIwoJICAgICMgSW4gdGhlIGZvcm1lciBjYXNlIHRoZSBydWxl IGNhbiBiZSB1c2VkIHRvIGJ1aWxkCgkgICAgIyBvYmplY3RzIGluIHN1Yi1kaXJlY3Rvcmll cyB0b28uICBEZXBlbmRlbmNpZXMgc2hvdWxkCgkgICAgIyBnbyBpbnRvIHRoZSBhcHByb3By aWF0ZSBzdWItZGlyZWN0b3JpZXMsIGUuZy4sCgkgICAgIyAnc3ViLyQoREVQRElSKS8nLiAg VGhlIHZhbHVlIG9mIHRoaXMgZGlyZWN0b3J5CgkgICAgIyBuZWVkcyB0byBiZSBjb21wdXRl ZCBvbi10aGUtZmx5LgoJICAgICMKCSAgICAjIERFUEJBU0UgaG9sZHMgdGhlIG5hbWUgb2Yg dGhpcyBkaXJlY3RvcnksIHBsdXMgdGhlCgkgICAgIyBiYXNlbmFtZSBwYXJ0IG9mIHRoZSBv YmplY3QgZmlsZSAoZXh0ZW5zaW9ucyBQbywgVFBvLAoJICAgICMgUGxvLCBUUGxvIHdpbGwg YmUgYWRkZWQgbGF0ZXIgYXMgYXBwcm9wcmlhdGUpLiAgSXQgaXMKCSAgICAjIGVpdGhlciBo YXJkY29kZWQsIG9yIGEgc2hlbGwgdmFyaWFibGUgKCckZGVwYmFzZScpIHRoYXQKCSAgICAj IHdpbGwgYmUgY29tcHV0ZWQgYnkgdGhlIHJ1bGUuCgkgICAgbXkgJGRlcGJhc2UgPQoJICAg ICAgb3B0aW9uICgnc3ViZGlyLW9iamVjdHMnKSA/ICckJGRlcGJhc2UnIDogJyQoREVQRElS KS8kKic7CgkgICAgJG91dHB1dF9ydWxlcyAuPQoJICAgICAgZmlsZV9jb250ZW50cyAoJHJ1 bGVfZmlsZSwKCQkJICAgICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkgICAgICV0cmFu c2Zvcm0sCgkJCSAgICAgR0VORVJJQyAgID0+IDEsCgoJCQkgICAgICdERVJJVkVELUVYVCcg PT4gJGRlcl9leHQsCgoJCQkgICAgIERFUEJBU0UgICA9PiAkZGVwYmFzZSwKCQkJICAgICBC QVNFICAgICAgPT4gJyQqJywKCQkJICAgICBTT1VSQ0UgICAgPT4gJyQ8JywKCQkJICAgICBT T1VSQ0VGTEFHID0+ICRzb3VyY2VmbGFnc3skZXh0fSB8fCAnJywKCQkJICAgICBPQkogICAg ICAgPT4gJyRAJywKCQkJICAgICBPQkpPQkogICAgPT4gJyRAJywKCQkJICAgICBMVE9CSiAg ICAgPT4gJyRAJywKCgkJCSAgICAgQ09NUElMRSAgID0+ICckKCcgLiAkbGFuZy0+Y29tcGls ZXIgLiAnKScsCgkJCSAgICAgTFRDT01QSUxFID0+ICckKExUJyAuICRsYW5nLT5jb21waWxl ciAuICcpJywKCQkJICAgICAtbyAgICAgICAgPT4gJGxhbmctPm91dHB1dF9mbGFnLAoJCQkg ICAgIFNVQkRJUk9CSiA9PiAhISBvcHRpb24gJ3N1YmRpci1vYmplY3RzJyk7Cgl9CgoJIyBO b3cgaW5jbHVkZSBjb2RlIGZvciBlYWNoIHNwZWNpYWxseSBoYW5kbGVkIG9iamVjdCB3aXRo IHRoaXMKCSMgbGFuZ3VhZ2UuCglteSAlc2Vlbl9maWxlcyA9ICgpOwoJZm9yZWFjaCBteSAk ZmlsZSAoQHskbGFuZ19zcGVjaWZpY19maWxlc3skbGFuZy0+bmFtZX19KQoJewoJICAgIG15 ICgkZGVyaXZlZCwgJHNvdXJjZSwgJG9iaiwgJG15ZXh0LCAkc3JjZXh0LCAlZmlsZV90cmFu c2Zvcm0pID0gQCRmaWxlOwoKCSAgICAjIFdlIG1pZ2h0IHNlZSBhIGdpdmVuIG9iamVjdCB0 d2ljZSwgZm9yIGluc3RhbmNlIGlmIGl0IGlzCgkgICAgIyB1c2VkIHVuZGVyIGRpZmZlcmVu dCBjb25kaXRpb25zLgoJICAgIG5leHQgaWYgZGVmaW5lZCAkc2Vlbl9maWxlc3skb2JqfTsK CSAgICAkc2Vlbl9maWxlc3skb2JqfSA9IDE7CgoJICAgIHByb2dfZXJyb3IgKCJmb3VuZCAi IC4gJGxhbmctPm5hbWUgLgoJCQkiIGluIGhhbmRsZV9sYW5ndWFnZXMsIGJ1dCBjb21waWxl ciBub3QgZGVmaW5lZCIpCgkgICAgICB1bmxlc3MgZGVmaW5lZCAkbGFuZy0+Y29tcGlsZTsK CgkgICAgbXkgJG9ial9jb21waWxlID0gJGxhbmctPmNvbXBpbGU7CgoJICAgICMgUmV3cml0 ZSBlYWNoIG9jY3VycmVuY2Ugb2YgJ0FNXyRmbGFnJyBpbiB0aGUgY29tcGlsZQoJICAgICMg cnVsZSBpbnRvICcke2Rlcml2ZWR9XyRmbGFnJyBpZiBpdCBleGlzdHMuCgkgICAgZm9yIG15 ICRmbGFnIChAeyRsYW5nLT5mbGFnc30pCgkgICAgICB7CgkJbXkgJHZhbCA9ICIke2Rlcml2 ZWR9XyRmbGFnIjsKCQkkb2JqX2NvbXBpbGUgPX4gcy9cKEFNXyRmbGFnXCkvXCgkdmFsXCkv CgkJICBpZiBzZXRfc2VlbiAoJHZhbCk7CgkgICAgICB9CgoJICAgIG15ICRsaWJ0b29sX3Rh ZyA9ICcnOwoJICAgIGlmICgkbGFuZy0+bGlidG9vbF90YWcgJiYgZXhpc3RzICRsaWJ0b29s X3RhZ3N7JGxhbmctPmxpYnRvb2xfdGFnfSkKCSAgICAgIHsKCQkkbGlidG9vbF90YWcgPSAn LS10YWc9JyAuICRsYW5nLT5saWJ0b29sX3RhZyAuICcgJwoJICAgICAgfQoKCSAgICBteSAk cHRsdGZsYWdzID0gIiR7ZGVyaXZlZH1fTElCVE9PTEZMQUdTIjsKCSAgICAkcHRsdGZsYWdz ID0gJ0FNX0xJQlRPT0xGTEFHUycgdW5sZXNzIHNldF9zZWVuICRwdGx0ZmxhZ3M7CgoJICAg IG15ICRsdHZlcmJvc2UgPSBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgpOwoJICAgIG15ICRv YmpfbHRjb21waWxlID0KCSAgICAgICJcJChMSUJUT09MKSAkbHR2ZXJib3NlICRsaWJ0b29s X3RhZ1wkKCRwdGx0ZmxhZ3MpIFwkKExJQlRPT0xGTEFHUykgIgoJICAgICAgLiAiLS1tb2Rl PWNvbXBpbGUgJG9ial9jb21waWxlIjsKCgkgICAgIyBXZSBfbmVlZF8gJy1vJyBmb3IgcGVy IG9iamVjdCBydWxlcy4KCSAgICBteSAkb3V0cHV0X2ZsYWcgPSAkbGFuZy0+b3V0cHV0X2Zs YWcgfHwgJy1vJzsKCgkgICAgbXkgJGRlcGJhc2UgPSBkaXJuYW1lICgkb2JqKTsKCSAgICAk ZGVwYmFzZSA9ICcnCgkJaWYgJGRlcGJhc2UgZXEgJy4nOwoJICAgICRkZXBiYXNlIC49ICcv JwoJCXVubGVzcyAkZGVwYmFzZSBlcSAnJzsKCSAgICAkZGVwYmFzZSAuPSAnJChERVBESVIp LycgLiBiYXNlbmFtZSAoJG9iaik7CgoJICAgICRvdXRwdXRfcnVsZXMgLj0KCSAgICAgIGZp bGVfY29udGVudHMgKCRydWxlX2ZpbGUsCgkJCSAgICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlv biwKCQkJICAgICAldHJhbnNmb3JtLAoJCQkgICAgIEdFTkVSSUMgICA9PiAwLAoKCQkJICAg ICBERVBCQVNFICAgPT4gJGRlcGJhc2UsCgkJCSAgICAgQkFTRSAgICAgID0+ICRvYmosCgkJ CSAgICAgU09VUkNFICAgID0+ICRzb3VyY2UsCgkJCSAgICAgU09VUkNFRkxBRyA9PiAkc291 cmNlZmxhZ3N7JHNyY2V4dH0gfHwgJycsCgkJCSAgICAgIyBVc2UgJG15ZXh0IGFuZCBub3Qg Jy5vJyBoZXJlLCBpbiBjYXNlCgkJCSAgICAgIyB3ZSBhcmUgYWN0dWFsbHkgYnVpbGRpbmcg YSBuZXcgc291cmNlCgkJCSAgICAgIyBmaWxlIC0tIGUuZy4gdmlhIHlhY2MuCgkJCSAgICAg T0JKICAgICAgID0+ICIkb2JqJG15ZXh0IiwKCQkJICAgICBPQkpPQkogICAgPT4gIiRvYmou b2JqIiwKCQkJICAgICBMVE9CSiAgICAgPT4gIiRvYmoubG8iLAoKCQkJICAgICBWRVJCT1NF ICAgPT4gJHZlcmJvc2UsCgkJCSAgICAgJ1ZFUkJPU0UtTk9ERVAnICA9PiAkdmVyYm9zZV9u b2RlcCwKCQkJICAgICBTSUxFTlQgICAgPT4gJHNpbGVudCwKCQkJICAgICBDT01QSUxFICAg PT4gJG9ial9jb21waWxlLAoJCQkgICAgIExUQ09NUElMRSA9PiAkb2JqX2x0Y29tcGlsZSwK CQkJICAgICAtbyAgICAgICAgPT4gJG91dHB1dF9mbGFnLAoJCQkgICAgICVmaWxlX3RyYW5z Zm9ybSk7Cgl9CgoJIyBUaGUgcmVzdCBvZiB0aGUgbG9vcCBpcyBkb25lIG9uY2UgcGVyIGxh bmd1YWdlLgoJbmV4dCBpZiBkZWZpbmVkICRkb25leyRsYW5nfTsKCSRkb25leyRsYW5nfSA9 IDE7CgoJIyBMb2FkIHRoZSBsYW5ndWFnZSBkZXBlbmRlbnQgTWFrZWZpbGUgY2h1bmtzLgoJ bXkgJWxhbmcgPSBtYXAgeyB1YyAoJF8pID0+IDAgfSBrZXlzICVsYW5ndWFnZXM7CgkkbGFu Z3t1YyAoJGxhbmctPm5hbWUpfSA9IDE7Cgkkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVu dHMgKCdsYW5nLWNvbXBpbGUnLAoJCQkJCW5ldyBBdXRvbWFrZTo6TG9jYXRpb24sCgkJCQkJ JXRyYW5zZm9ybSwgJWxhbmcpOwoKCSMgSWYgdGhlIHNvdXJjZSB0byBhIHByb2dyYW0gY29u c2lzdHMgZW50aXJlbHkgb2YgY29kZSBmcm9tIGEKCSMgJ3B1cmUnIGxhbmd1YWdlLCBmb3Ig aW5zdGFuY2UgQysrIG9yIEZvcnRyYW4gNzcsIHRoZW4gd2UKCSMgZG9uJ3QgbmVlZCB0aGUg QyBjb21waWxlciBjb2RlLiAgSG93ZXZlciBpZiB3ZSBydW4gaW50bwoJIyBzb21ldGhpbmcg dW51c3VhbCB0aGVuIHdlIGRvIGdlbmVyYXRlIHRoZSBDIGNvZGUuICBUaGVyZSBhcmUKCSMg cHJvYmFibHkgY29ybmVyIGNhc2VzIGhlcmUgdGhhdCBkbyBub3Qgd29yayBwcm9wZXJseS4K CSMgUGVvcGxlIGxpbmtpbmcgSmF2YSBjb2RlIHRvIEZvcnRyYW4gY29kZSBkZXNlcnZlIHBh aW4uCgkkbmVlZHNfYyB8fD0gISAkbGFuZy0+cHVyZTsKCglkZWZpbmVfY29tcGlsZXJfdmFy aWFibGUgKCRsYW5nKQoJICBpZiAoJGxhbmctPmNvbXBpbGUpOwoKCWRlZmluZV9saW5rZXJf dmFyaWFibGUgKCRsYW5nKQoJICBpZiAoJGxhbmctPmxpbmspOwoKCXJlcXVpcmVfdmFyaWFi bGVzICgiJGFtX2ZpbGUuYW0iLCAkbGFuZy0+TmFtZSAuICIgc291cmNlIHNlZW4iLAoJCQkg ICBUUlVFLCBAeyRsYW5nLT5jb25maWdfdmFyc30pOwoKCSMgQ2FsbCB0aGUgZmluaXNoZXIu CgkkbGFuZy0+ZmluaXNoOwoKCSMgRmxhZ3MgbGlzdGVkIGluICctPmZsYWdzJyBhcmUgdXNl ciB2YXJpYWJsZXMgKHBlciBHTlUgU3RhbmRhcmRzKSwKCSMgdGhleSBzaG91bGQgbm90IGJl IG92ZXJyaWRkZW4gaW4gdGhlIE1ha2VmaWxlLi4uCglteSBAZG9udF9vdmVycmlkZSA9IEB7 JGxhbmctPmZsYWdzfTsKCSMgLi4uIGFuZCBzbyBpcyBMREZMQUdTLgoJcHVzaCBAZG9udF9v dmVycmlkZSwgJ0xERkxBR1MnIGlmICRsYW5nLT5saW5rOwoKCWNoZWNrX3VzZXJfdmFyaWFi bGVzIEBkb250X292ZXJyaWRlOwogICAgfQoKICAgICMgSWYgdGhlIHByb2plY3QgaXMgZW50 aXJlbHkgQysrIG9yIGVudGlyZWx5IEZvcnRyYW4gNzcgKGkuZS4sIDEKICAgICMgc3VmZml4 IHJ1bGUgd2FzIGxlYXJuZWQpLCBkb24ndCBib3RoZXIgd2l0aCB0aGUgQyBzdHVmZi4gIEJ1 dCBpZgogICAgIyBhbnl0aGluZyBlbHNlIGNyZWVwcyBpbiwgdGhlbiB1c2UgaXQuCiAgICBt eSBAbGFuZ3VhZ2VzX3NlZW4gPSBtYXAgeyAkbGFuZ3VhZ2VzeyRleHRlbnNpb25fbWFweyRf fX0tPm5hbWUgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlzICVleHRlbnNp b25fc2Vlbik7CiAgICBAbGFuZ3VhZ2VzX3NlZW4gPSB1bmlxIChAbGFuZ3VhZ2VzX3NlZW4p OwogICAgJG5lZWRzX2MgPSAxIGlmIEBsYW5ndWFnZXNfc2VlbiA+IDE7CiAgICBpZiAoJG5l ZWRfbGluayB8fCAkbmVlZHNfYykKICAgICAgewoJZGVmaW5lX2NvbXBpbGVyX3ZhcmlhYmxl ICgkbGFuZ3VhZ2VzeydjJ30pCgkgIHVubGVzcyBkZWZpbmVkICRkb25leyRsYW5ndWFnZXN7 J2MnfX07CglkZWZpbmVfbGlua2VyX3ZhcmlhYmxlICgkbGFuZ3VhZ2VzeydjJ30pOwogICAg ICB9Cn0KCgojIGFwcGVuZF9leGVleHQgeyBQUkVESUNBVEUgfSAkTUFDUk8KIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQXBwZW5kICQoRVhFRVhUKSB0byBlYWNo IGZpbGVuYW1lIGluICRGIGFwcGVhcmluZyBpbiB0aGUgTWFrZWZpbGUKIyB2YXJpYWJsZSAk TUFDUk8gaWYgJlBSRURJQ0FURSgkRikgaXMgdHJ1ZS4gIEBzdWJzdGl0dXRpb25zQCBhcmUK IyBpZ25vcmVkLgojCiMgVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBvbiBhbGwgZmlsZW5hbWVz IG9mICpfUFJPR1JBTVMsIGFuZCBmaWxlbmFtZXMKIyBvZiBURVNUUyB0aGF0IGFyZSBwcm9n cmFtcy4Kc3ViIGFwcGVuZF9leGVleHQgKCYkKQp7CiAgbXkgKCRwcmVkLCAkbWFjcm8pID0g QF87CgogIHRyYW5zZm9ybV92YXJpYWJsZV9yZWN1cnNpdmVseQogICAgKCRtYWNybywgJG1h Y3JvLCAnYW1fX0VYRUVYVCcsIDAsIElOVEVSTkFMLAogICAgIHN1YiB7CiAgICAgICBteSAo JHN1YnZhciwgJHZhbCwgJGNvbmQsICRmdWxsX2NvbmQpID0gQF87CiAgICAgICAjIEFwcGVu ZCAkKEVYRUVYVCkgdW5sZXNzIHRoZSB1c2VyIGRpZCBpdCBhbHJlYWR5LCBvciBpdCdzIGEK ICAgICAgICMgQHN1YnN0aXR1dGlvbkAuCiAgICAgICAkdmFsIC49ICckKEVYRUVYVCknCgkg aWYgJHZhbCAhfiAvKD86XCRcKEVYRUVYVFwpJHxeW0BdXHcrW0BdJCkvICYmICYkcHJlZCAo JHZhbCk7CiAgICAgICByZXR1cm4gJHZhbDsKICAgICB9KTsKfQoKCiMgQ2hlY2sgdG8gbWFr ZSBzdXJlIGEgc291cmNlIGRlZmluZWQgaW4gTElCT0JKUyBpcyBub3QgZXhwbGljaXRseQoj IG1lbnRpb25lZC4gIFRoaXMgaXMgYSBzZXBhcmF0ZSBmdW5jdGlvbiAoYXMgb3Bwb3NlZCB0 byBiZWluZyBpbmxpbmVkCiMgaW4gaGFuZGxlX3NvdXJjZV90cmFuc2Zvcm0pIGJlY2F1c2Ug aXQgaXNuJ3QgYWx3YXlzIGFwcHJvcHJpYXRlIHRvCiMgZG8gdGhpcyBjaGVjay4Kc3ViIGNo ZWNrX2xpYm9ianNfc291cmNlcwp7CiAgbXkgKCRvbmVfZmlsZSwgJHVueGZvcm1lZCkgPSBA XzsKCiAgZm9yZWFjaCBteSAkcHJlZml4ICgnJywgJ0VYVFJBXycsICdkaXN0XycsICdub2Rp c3RfJywKCQkgICAgICAnZGlzdF9FWFRSQV8nLCAnbm9kaXN0X0VYVFJBXycpCiAgICB7CiAg ICAgIG15IEBmaWxlczsKICAgICAgbXkgJHZhcm5hbWUgPSAkcHJlZml4IC4gJG9uZV9maWxl IC4gJ19TT1VSQ0VTJzsKICAgICAgbXkgJHZhciA9IHZhciAoJHZhcm5hbWUpOwogICAgICBp ZiAoJHZhcikKCXsKCSAgQGZpbGVzID0gJHZhci0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmU7 Cgl9CiAgICAgIGVsc2lmICgkcHJlZml4IGVxICcnKQoJewoJICBAZmlsZXMgPSAoJHVueGZv cm1lZCAuICcuYycpOwoJfQogICAgICBlbHNlCgl7CgkgIG5leHQ7Cgl9CgogICAgICBmb3Jl YWNoIG15ICRmaWxlIChAZmlsZXMpCgl7CgkgIGVycl92YXIgKCRwcmVmaXggLiAkb25lX2Zp bGUgLiAnX1NPVVJDRVMnLAoJCSAgICJhdXRvbWF0aWNhbGx5IGRpc2NvdmVyZWQgZmlsZSAn JGZpbGUnIHNob3VsZCBub3QiIC4KCQkgICAiIGJlIGV4cGxpY2l0bHkgbWVudGlvbmVkIikK CSAgICBpZiBkZWZpbmVkICRsaWJzb3VyY2VzeyRmaWxlfTsKCX0KICAgIH0KfQoKCiMgQE9C SkVDVFMKIyBoYW5kbGVfc2luZ2xlX3RyYW5zZm9ybSAoJFZBUiwgJFRPUFBBUkVOVCwgJERF UklWRUQsICRPQkosICRGSUxFLCAlVFJBTlNGT1JNKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiMgRG9lcyBtdWNoIG9mIHRoZSBhY3R1YWwgd29yayBmb3IgaGFuZGxlX3NvdXJjZV90 cmFuc2Zvcm0uCiMgQXJndW1lbnRzIGFyZToKIyAgICRWQVIgaXMgdGhlIG5hbWUgb2YgdGhl IHZhcmlhYmxlIHRoYXQgdGhlIHNvdXJjZSBmaWxlbmFtZXMgY29tZSBmcm9tCiMgICAkVE9Q UEFSRU5UIGlzIHRoZSBuYW1lIG9mIHRoZSBfU09VUkNFUyB2YXJpYWJsZSB3aGljaCBpcyBi ZWluZyBwcm9jZXNzZWQKIyAgICRERVJJVkVEIGlzIHRoZSBuYW1lIG9mIHJlc3VsdGluZyBl eGVjdXRhYmxlIG9yIGxpYnJhcnkKIyAgICRPQkogaXMgdGhlIG9iamVjdCBleHRlbnNpb24g KGUuZy4sICcubG8nKQojICAgJEZJTEUgdGhlIHNvdXJjZSBmaWxlIHRvIHRyYW5zZm9ybQoj ICAgJVRSQU5TRk9STSBjb250YWlucyBleHRyYXMgYXJndW1lbnRzIHRvIHBhc3MgdG8gZmls ZV9jb250ZW50cwojICAgICB3aGVuIHByb2R1Y2luZyBleHBsaWNpdCBydWxlcwojIFJlc3Vs dCBpcyBhIGxpc3Qgb2YgdGhlIG5hbWVzIG9mIG9iamVjdHMKIyAlbGlua2Vyc191c2VkIHdp bGwgYmUgdXBkYXRlZCB3aXRoIGFueSBsaW5rZXJzIG5lZWRlZApzdWIgaGFuZGxlX3Npbmds ZV90cmFuc2Zvcm0KewogICAgbXkgKCR2YXIsICR0b3BwYXJlbnQsICRkZXJpdmVkLCAkb2Jq LCAkX2ZpbGUsICV0cmFuc2Zvcm0pID0gQF87CiAgICBteSBAZmlsZXMgPSAoJF9maWxlKTsK ICAgIG15IEByZXN1bHQgPSAoKTsKCiAgICAjIFR1cm4gc291cmNlcyBpbnRvIG9iamVjdHMu ICBXZSB1c2UgYSB3aGlsZSBsb29wIGxpa2UgdGhpcwogICAgIyBiZWNhdXNlIHdlIG1pZ2h0 IGFkZCB0byBAZmlsZXMgaW4gdGhlIGxvb3AuCiAgICB3aGlsZSAoc2NhbGFyIEBmaWxlcyA+ IDApCiAgICB7CgkkXyA9IHNoaWZ0IEBmaWxlczsKCgkjIENvbmZpZ3VyZSBzdWJzdGl0dXRp b25zIGluIF9TT1VSQ0VTIHZhcmlhYmxlcyBhcmUgZXJyb3JzLgoJaWYgKC9eXEAuKlxAJC8p Cgl7CgkgIG15ICRwYXJlbnRfbXNnID0gJyc7CgkgICRwYXJlbnRfbXNnID0gIlxuYW5kIGlz IHJlZmVycmVkIHRvIGZyb20gJyR0b3BwYXJlbnQnIgoJICAgIGlmICR0b3BwYXJlbnQgbmUg JHZhci0+bmFtZTsKCSAgZXJyX3ZhciAoJHZhciwKCQkgICAiJyIgLiAkdmFyLT5uYW1lIC4g IicgaW5jbHVkZXMgY29uZmlndXJlIHN1YnN0aXR1dGlvbiAnJF8nIgoJCSAgIC4gJHBhcmVu dF9tc2cgLiAiO1xuY29uZmlndXJlICIgLgoJCSAgICJzdWJzdGl0dXRpb25zIGFyZSBub3Qg YWxsb3dlZCBpbiBfU09VUkNFUyB2YXJpYWJsZXMiKTsKCSAgbmV4dDsKCX0KCgkjIElmIHRo ZSBzb3VyY2UgZmlsZSBpcyBpbiBhIHN1YmRpcmVjdG9yeSB0aGVuIHRoZSAnLm8nIGlzIHB1 dAoJIyBpbnRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgdW5sZXNzIHRoZSBzdWJkaXItb2Jq ZWN0cyBvcHRpb24KCSMgaXMgaW4gZWZmZWN0LgoKCSMgU3BsaXQgZmlsZSBuYW1lIGludG8g YmFzZSBhbmQgZXh0ZW5zaW9uLgoJbmV4dCBpZiAhIC9eKD86KC4qKVwvKT8oW15cL10qKSgk S05PV05fRVhURU5TSU9OU19QQVRURVJOKSQvOwoJbXkgJGZ1bGwgPSAkXzsKCW15ICRkaXJl Y3RvcnkgPSAkMSB8fCAnJzsKCW15ICRiYXNlID0gJDI7CglteSAkZXh0ZW5zaW9uID0gJDM7 CgoJIyBXZSBtdXN0IGdlbmVyYXRlIGEgcnVsZSBmb3IgdGhlIG9iamVjdCBpZiBpdCByZXF1 aXJlcyBpdHMgb3duIGZsYWdzLgoJbXkgJHJlbmFtZWQgPSAwOwoJbXkgKCRsaW5rZXIsICRv YmplY3QpOwoKICAgICAgICAjIFRoaXMgcmVjb3JkcyB3aGV0aGVyIHdlJ3ZlIHNlZW4gYSBk ZXJpdmVkIHNvdXJjZSBmaWxlIChlLmcuLCB5YWNjCiAgICAgICAgIyBvciBsZXggb3V0cHV0 KS4KICAgICAgICBteSAkZGVyaXZlZF9zb3VyY2U7CgoJIyBUaGlzIGhvbGRzIHRoZSAnYWdn cmVnYXRlIGNvbnRleHQnIG9mIHRoZSBmaWxlIHdlIGFyZQoJIyBjdXJyZW50bHkgZXhhbWlu aW5nLiAgSWYgdGhlIGZpbGUgaXMgY29tcGlsZWQgd2l0aAoJIyBwZXItb2JqZWN0IGZsYWdz LCB0aGVuIGl0IHdpbGwgYmUgdGhlIG5hbWUgb2YgdGhlIG9iamVjdC4KCSMgT3RoZXJ3aXNl IGl0IHdpbGwgYmUgJ0FNJy4gIFRoaXMgaXMgdXNlZCBieSB0aGUgdGFyZ2V0IGhvb2sKCSMg bGFuZ3VhZ2UgZnVuY3Rpb24uCglteSAkYWdncmVnYXRlID0gJ0FNJzsKCgkkZXh0ZW5zaW9u ID0gZGVyaXZlX3N1ZmZpeCAoJGV4dGVuc2lvbiwgJG9iaik7CglteSAkbGFuZzsKCWlmICgk ZXh0ZW5zaW9uX21hcHskZXh0ZW5zaW9ufSAmJgoJICAgICgkbGFuZyA9ICRsYW5ndWFnZXN7 JGV4dGVuc2lvbl9tYXB7JGV4dGVuc2lvbn19KSkKCXsKCSAgICAjIEZvdW5kIHRoZSBsYW5n dWFnZSwgc28gc2VlIHdoYXQgaXQgc2F5cy4KCSAgICBzYXdfZXh0ZW5zaW9uICgkZXh0ZW5z aW9uKTsKCgkgICAgIyBEbyB3ZSBoYXZlIHBlci1leGVjdXRhYmxlIGZsYWdzIGZvciB0aGlz IGV4ZWN1dGFibGU/CgkgICAgbXkgJGhhdmVfcGVyX2V4ZWNfZmxhZ3MgPSAwOwoJICAgIG15 IEBwZWZsYWdzID0gQHskbGFuZy0+ZmxhZ3N9OwoJICAgIHB1c2ggQHBlZmxhZ3MsICdMSUJU T09MRkxBR1MnIGlmICRvYmogZXEgJy5sbyc7CgkgICAgZm9yZWFjaCBteSAkZmxhZyAoQHBl ZmxhZ3MpCgkgICAgICB7CgkJaWYgKHNldF9zZWVuICgiJHtkZXJpdmVkfV8kZmxhZyIpKQoJ CSAgewoJCSAgICAkaGF2ZV9wZXJfZXhlY19mbGFncyA9IDE7CgkJICAgIGxhc3Q7CgkJICB9 CgkgICAgICB9CgoJICAgICMgTm90ZTogY29tcHV0ZWQgc3ViciBjYWxsLiAgVGhlIGxhbmd1 YWdlIHJld3JpdGUgZnVuY3Rpb24KCSAgICAjIHNob3VsZCByZXR1cm4gb25lIG9mIHRoZSBM QU5HXyogY29uc3RhbnRzLiAgSXQgY291bGQKCSAgICAjIGFsc28gcmV0dXJuIGEgbGlzdCB3 aG9zZSBmaXJzdCB2YWx1ZSBpcyBzdWNoIGEgY29uc3RhbnQKCSAgICAjIGFuZCB3aG9zZSBz ZWNvbmQgdmFsdWUgaXMgYSBuZXcgc291cmNlIGV4dGVuc2lvbiB3aGljaAoJICAgICMgc2hv dWxkIGJlIGFwcGxpZWQuICBUaGlzIG1lYW5zIHRoaXMgcGFydGljdWxhciBsYW5ndWFnZQoJ ICAgICMgZ2VuZXJhdGVzIGFub3RoZXIgc291cmNlIGZpbGUgd2hpY2ggd2UgbXVzdCB0aGVu IHByb2Nlc3MKCSAgICAjIGZ1cnRoZXIuCgkgICAgbXkgJHN1YnIgPSBcJnsnbGFuZ18nIC4g JGxhbmctPm5hbWUgLiAnX3Jld3JpdGUnfTsKCSAgICBkZWZpbmVkICYkc3ViciBvciAkc3Vi ciA9IFwmbGFuZ19zdWJfb2JqOwoJICAgIG15ICgkciwgJHNvdXJjZV9leHRlbnNpb24pCgkJ PSAmJHN1YnIgKCRkaXJlY3RvcnksICRiYXNlLCAkZXh0ZW5zaW9uLAoJCQkgICRvYmosICRo YXZlX3Blcl9leGVjX2ZsYWdzLCAkdmFyKTsKCSAgICAjIFNraXAgdGhpcyBlbnRyeSBpZiB3 ZSB3ZXJlIGFza2VkIG5vdCB0byBwcm9jZXNzIGl0LgoJICAgIG5leHQgaWYgJHIgPT0gTEFO R19JR05PUkU7CgoJICAgICMgTm93IGV4dHJhY3QgbGlua2VyIGFuZCBvdGhlciBpbmZvLgoJ ICAgICRsaW5rZXIgPSAkbGFuZy0+bGlua2VyOwoKICAgICAgICAgICAgbXkgJHRoaXNfb2Jq X2V4dDsKICAgICAgICAgICAgaWYgKGRlZmluZWQgJHNvdXJjZV9leHRlbnNpb24pCiAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgJHRoaXNfb2JqX2V4dCA9ICRzb3VyY2VfZXh0 ZW5zaW9uOwogICAgICAgICAgICAgICAgJGRlcml2ZWRfc291cmNlID0gMTsKICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAkdGhpc19vYmpfZXh0ID0gJG9iajsKICAgICAgICAgICAgICAgICRkZXJpdmVkX3NvdXJj ZSA9IDA7CiAgICAgICAgICAgICAgICAjIERvbid0IGV2ZXIgcGxhY2UgYnVpbHQgb2JqZWN0 IGZpbGVzIGluICQoc3JjZGlyKSwKICAgICAgICAgICAgICAgICMgZXZlbiB3aGVuIHNvdXJj ZXMgYXJlIHNwZWNpZmllZCBleHBsaWNpdGx5IGFzIChzYXkpCiAgICAgICAgICAgICAgICAj ICckKHNyY2RpcikvZm9vLmMnIG9yICckKHRvcF9zcmNkaXIpL2Zvby5jJy4KICAgICAgICAg ICAgICAgICMgU2VlIGF1dG9tYWtlIGJ1ZyMxMzkyOC4KICAgICAgICAgICAgICAgIG15IEBk ID0gc3BsaXQgJy8nLCAkZGlyZWN0b3J5OwogICAgICAgICAgICAgICAgaWYgKEBkID4gMCAm JiBvcHRpb24gJ3N1YmRpci1vYmplY3RzJykKICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIG15ICRkID0gJGRbMF07CiAgICAgICAgICAgICAgICAgICAgaWYgKCRk IGVxICckKHNyY2RpciknIG9yICRkIGVxICcke3NyY2Rpcn0nKQogICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdCBAZDsKICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNpZiAoJGQgZXEgJyQodG9wX3Ny Y2RpciknIG9yICRkIGVxICcke3RvcF9zcmNkaXJ9JykKICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgJGRbMF0gPSAnJCh0b3BfYnVpbGRkaXIpJzsK ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkZGlyZWN0b3J5 ID0gam9pbiAnLycsIEBkOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQog ICAgICAgICAgICAkb2JqZWN0ID0gJGJhc2UgLiAkdGhpc19vYmpfZXh0OwoKCSAgICBpZiAo JGhhdmVfcGVyX2V4ZWNfZmxhZ3MpCgkgICAgewoJCSMgV2UgaGF2ZSBhIHBlci1leGVjdXRh YmxlIGZsYWcgaW4gZWZmZWN0IGZvciB0aGlzCgkJIyBvYmplY3QuICBJbiB0aGlzIGNhc2Ug d2UgcmV3cml0ZSB0aGUgb2JqZWN0J3MKCQkjIG5hbWUgdG8gZW5zdXJlIGl0IGlzIHVuaXF1 ZS4KCiAgICAgICAgICAgICAgICAjIFdlIGNob29zZSB0aGUgbmFtZSAnREVSSVZFRF9PQkpF Q1QnIHRvIGVuc3VyZSAoMSkgdW5pcXVlbmVzcywKICAgICAgICAgICAgICAgICMgYW5kICgy KSBjb250aW51aXR5IGJldHdlZW4gaW52b2NhdGlvbnMuICBIb3dldmVyLCB0aGlzIHdpbGwK ICAgICAgICAgICAgICAgICMgcmVzdWx0IGluIGEgbmFtZSB0aGF0IGlzIHRvbyBsb25nIGZv ciBsb3Npbmcgc3lzdGVtcywgaW4gc29tZQogICAgICAgICAgICAgICAgIyBzaXR1YXRpb25z LiAgU28gd2UgYXR0ZW1wdCB0byBzaG9ydGVuIGF1dG9tYXRpY2FsbHkgdW5kZXIKICAgICAg ICAgICAgICAgICMgc3ViZGlyLW9iamVjdHMsIGFuZCBwcm92aWRlIF9TSE9SVE5BTUUgdG8g b3ZlcnJpZGUgYXMgYSBsYXN0CiAgICAgICAgICAgICAgICAjIHJlc29ydC4gIElmIHN1YmRp ci1vYmplY3QgaXMgaW4gZWZmZWN0LCBpdCdzIHVzdWFsbHkKICAgICAgICAgICAgICAgICMg dW5uZWNlc3NhcnkgdG8gdXNlIHRoZSBjb21wbGV0ZSAnREVSSVZFRF9PQkpFQ1QnICh0aGF0 IGlzCiAgICAgICAgICAgICAgICAjIG9mdGVuIHRoZSByZXN1bHQgZnJvbSAlY2Fub25fcmVs ZGlyJS8lQyUgdXNhZ2UpIHNpbmNlIG9iamVjdHMKICAgICAgICAgICAgICAgICMgYXJlIHBs YWNlZCBuZXh0IHRvIHRoZWlyIHNvdXJjZSBmaWxlLiAgR2VuZXJhbGx5LCB0aGlzIG1lYW5z CiAgICAgICAgICAgICAgICAjIGl0IGlzIGFscmVhZHkgdW5pcXVlIHdpdGhpbiB0aGF0IGRp cmVjdG9yeSAoc2VlIGJlbG93IGZvciBhbgogICAgICAgICAgICAgICAgIyBleGNlcHRpb24p LiAgVGh1cywgd2UgdHJ5IHRvIGF2b2lkIHVubmVjZXNzYXJpbHkgbG9uZyBmaWxlCiAgICAg ICAgICAgICAgICAjIG5hbWVzIGJ5IHN0cmlwcGluZyB0aGUgZGlyZWN0b3J5IGNvbXBvbmVu dHMgb2YKICAgICAgICAgICAgICAgICMgJ0RFUklWRURfT0JKRUNUJy4gIFRoaXMgYWxsb3dz IGF2b2lkaW5nIGV4cGxpY2l0IF9TSE9SVE5BTUUKICAgICAgICAgICAgICAgICMgdXNhZ2Ug aW4gbWFueSBjYXNlcy4gIEVYQ0VQVElPTjogSWYgdHdvIChvciBtb3JlKSB0YXJnZXRzIGlu CiAgICAgICAgICAgICAgICAjIGRpZmZlcmVudCBkaXJlY3RvcmllcyBidXQgd2l0aCB0aGUg c2FtZSBiYXNlIG5hbWUgKGFmdGVyCiAgICAgICAgICAgICAgICAjIGNhbm9uaWNhbGl6YXRp b24pLCB1c2luZyB0YXJnZXQtc3BlY2lmaWMgRkxBR1MsIGxpbmsgdGhlIHNhbWUKICAgICAg ICAgICAgICAgICMgb2JqZWN0LCB0aGVuIHRoaXMgbG9naWMgY2xhc2hlcy4gIFRodXMsIHdl IGRvbid0IHN0cmlwIGlmCiAgICAgICAgICAgICAgICAjIHRoaXMgaXMgZGV0ZWN0ZWQuCiAg ICAgICAgICAgICAgICBteSAkZG5hbWUgPSAkZGVyaXZlZDsKICAgICAgICAgICAgICAgIGlm ICgkZGlyZWN0b3J5IG5lICcnCiAgICAgICAgICAgICAgICAgICAgJiYgb3B0aW9uICdzdWJk aXItb2JqZWN0cycKICAgICAgICAgICAgICAgICAgICAmJiBub25lIHsgJGRuYW1lID1+IC8k X1swXSQvIH0gQGR1cF9zaG9ydG5hbWVzKQogICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgIyBBdCB0aGlzIHBvaW50LCB3ZSBkb24ndCBjbGVhciBpbmZvcm1hdGlv biBhYm91dCB3aGF0CiAgICAgICAgICAgICAgICAgICAgIyBwYXJ0cyBvZiAkZGVyaXZlZCBh cmUgdHJ1bHkgZmlsZSBuYW1lIGNvbXBvbmVudHMuICBXZSBjYW4KICAgICAgICAgICAgICAg ICAgICAjIGRldGVybWluZSB0aGF0IGJ5IGNvbXBhcmluZyBhZ2FpbnN0IHRoZSBjYW5vbmlj YWxpemF0aW9uCiAgICAgICAgICAgICAgICAgICAgIyBvZiAkZGlyZWN0b3J5LgogICAgICAg ICAgICAgICAgICAgIG15ICRkaXIgPSAkZGlyZWN0b3J5IC4gIi8iOwogICAgICAgICAgICAg ICAgICAgIG15ICRjZGlyID0gY2Fub25pY2FsaXplICgkZGlyKTsKICAgICAgICAgICAgICAg ICAgICBteSAkZGlyX2xlbiA9IGxlbmd0aCAoJGRpcik7CiAgICAgICAgICAgICAgICAgICAg IyBNYWtlIHN1cmUgd2Ugb25seSBzdHJpcCBmdWxsIGZpbGUgbmFtZSBjb21wb25lbnRzLiAg VGhpcwogICAgICAgICAgICAgICAgICAgICMgaXMgZG9uZSBieSByZXBlYXRlZGx5IHRyeWlu ZyB0byBmaW5kIGNkaXIgYXQgdGhlCiAgICAgICAgICAgICAgICAgICAgIyBiZWdpbm5pbmcu ICBFYWNoIGl0ZXJhdGlvbiByZW1vdmVzIG9uZSBmaWxlIG5hbWUKICAgICAgICAgICAgICAg ICAgICAjIGNvbXBvbmVudCBmcm9tIHRoZSBlbmQgb2YgY2Rpci4KICAgICAgICAgICAgICAg ICAgICB3aGlsZSAoJGRpcl9sZW4gPiAwICYmIGluZGV4ICgkZGVyaXZlZCwgJGNkaXIpICE9 IDApCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICMg RXZlbnR1YWxseSAkZGlyX2xlbiBiZWNvbWVzIDAuCiAgICAgICAgICAgICAgICAgICAgICAg ICRkaXJfbGVuID0gcmluZGV4ICgkZGlyLCAiLyIsICRkaXJfbGVuIC0gMikgKyAxOwogICAg ICAgICAgICAgICAgICAgICAgICAkY2RpciA9IHN1YnN0ciAoJGNkaXIsIDAsICRkaXJfbGVu KTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkZG5hbWUg PSBzdWJzdHIgKCRkZXJpdmVkLCAkZGlyX2xlbik7CiAgICAgICAgICAgICAgICAgIH0KCQlt eSAkdmFyID0gdmFyICgkZGVyaXZlZCAuICdfU0hPUlROQU1FJyk7CgkJaWYgKCR2YXIpCgkJ ewoJCSAgICAjIEZJWE1FOiBzaG91bGQgdXNlIHRoZSBzYW1lIENvbmRpdGlvbiBhcwoJCSAg ICAjIHRoZSBfU09VUkNFUyB2YXJpYWJsZS4gIEJ1dCB0aGlzIGlzIHJlYWxseQoJCSAgICAj IHNpbGx5IG92ZXJraWxsIC0tIG5vYm9keSBzaG91bGQgaGF2ZQoJCSAgICAjIGNvbmRpdGlv bmFsIHNob3J0bmFtZXMuCgkJICAgICRkbmFtZSA9ICR2YXItPnZhcmlhYmxlX3ZhbHVlOwoJ CX0KCQkkb2JqZWN0ID0gJGRuYW1lIC4gJy0nIC4gJG9iamVjdDsKCgkJcHJvZ19lcnJvciAo JGxhbmctPm5hbWUgLiAiIGZsYWdzIGRlZmluZWQgd2l0aG91dCBjb21waWxlciIpCgkJICBp ZiAhIGRlZmluZWQgJGxhbmctPmNvbXBpbGU7CgoJCSRyZW5hbWVkID0gMTsKCSAgICB9CgoJ ICAgICMgSWYgcmV3cml0ZSBzYWlkIGl0IHdhcyBvaywgcHV0IHRoZSBvYmplY3QgaW50byBh IHN1YmRpci4KCSAgICBpZiAoJGRpcmVjdG9yeSBuZSAnJykKCSAgICB7CiAgICAgICAgICAg ICAgaWYgKCRyID09IExBTkdfU1VCRElSKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAkb2JqZWN0ID0gJGRpcmVjdG9yeSAuICcvJyAuICRvYmplY3Q7CiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAjIFNpbmNlIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYXV0b21ha2Ug KDIuMCkgd2lsbAogICAgICAgICAgICAgICAgICAjIG1ha2UgdGhlIGJlaGF2aW91ciBzbyBm YXIgb25seSBhY3RpdmF0ZWQgd2l0aCB0aGUKICAgICAgICAgICAgICAgICAgIyAnc3ViZGly LW9iamVjdCcgb3B0aW9uIG1hbmRhdG9yeSwgaXQncyBiZXR0ZXIgaWYgd2UKICAgICAgICAg ICAgICAgICAgIyBzdGFydCB3YXJuaW5nIHVzZXJzIG5vdCB1c2luZyB0aGF0IG9wdGlvbi4K ICAgICAgICAgICAgICAgICAgIyBBcyBzdWdnZXN0ZWQgYnkgUGV0ZXIgSm9oYW5zc29uLCB3 ZSBzdHJpdmUgdG8gYXZvaWQKICAgICAgICAgICAgICAgICAgIyB0aGUgd2FybmluZyB3aGVu IGl0IHdvdWxkIGJlIGlycmVsZXZhbnQsIGkuZS4sIGlmCiAgICAgICAgICAgICAgICAgICMg YWxsIHNvdXJjZSBmaWxlcyBzaXQgaW4gImN1cnJlbnQiIGRpcmVjdG9yeS4KICAgICAgICAg ICAgICAgICAgbXNnX3ZhciAndW5zdXBwb3J0ZWQnLCAkdmFyLAogICAgICAgICAgICAgICAg ICAgICAgICAgICJzb3VyY2UgZmlsZSAnJGZ1bGwnIGlzIGluIGEgc3ViZGlyZWN0b3J5LCIK ICAgICAgICAgICAgICAgICAgICAgICAgICAuICJcbmJ1dCBvcHRpb24gJ3N1YmRpci1vYmpl Y3RzJyBpcyBkaXNhYmxlZCI7CiAgICAgICAgICAgICAgICAgIG1zZyAndW5zdXBwb3J0ZWQn LCBJTlRFUk5BTCwgPDwnRU9GJywgdW5pcV9zY29wZSA9PiBVU19HTE9CQUw7CnBvc3NpYmxl IGZvcndhcmQtaW5jb21wYXRpYmlsaXR5LgpBdCBsZWFzdCBhIHNvdXJjZSBmaWxlIGlzIGlu IGEgc3ViZGlyZWN0b3J5LCBidXQgdGhlICdzdWJkaXItb2JqZWN0cycKYXV0b21ha2Ugb3B0 aW9uIGhhc24ndCBiZWVuIGVuYWJsZWQuICBGb3Igbm93LCB0aGUgY29ycmVzcG9uZGluZyBv dXRwdXQKb2JqZWN0IGZpbGUocykgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIHRvcC1sZXZlbCBk aXJlY3RvcnkuICBIb3dldmVyLAp0aGlzIGJlaGF2aW91ciB3aWxsIGNoYW5nZSBpbiBmdXR1 cmUgQXV0b21ha2UgdmVyc2lvbnM6IHRoZXkgd2lsbAp1bmNvbmRpdGlvbmFsbHkgY2F1c2Ug b2JqZWN0IGZpbGVzIHRvIGJlIHBsYWNlZCBpbiB0aGUgc2FtZSBzdWJkaXJlY3RvcnkKb2Yg dGhlIGNvcnJlc3BvbmRpbmcgc291cmNlcy4KWW91IGFyZSBhZHZpc2VkIHRvIHN0YXJ0IHVz aW5nICdzdWJkaXItb2JqZWN0cycgb3B0aW9uIHRocm91Z2hvdXQgeW91cgpwcm9qZWN0LCB0 byBhdm9pZCBmdXR1cmUgaW5jb21wYXRpYmlsaXRpZXMuCkVPRgogICAgICAgICAgICAgICAg fQoJICAgIH0KCgkgICAgIyBJZiB0aGUgb2JqZWN0IGZpbGUgaGFzIGJlZW4gcmVuYW1lZCAo YmVjYXVzZSBwZXItdGFyZ2V0CgkgICAgIyBmbGFncyBhcmUgdXNlZCkgd2UgY2Fubm90IGNv bXBpbGUgdGhlIGZpbGUgd2l0aCBhbgoJICAgICMgaW5mZXJlbmNlIHJ1bGU6IHdlIG5lZWQg YW4gZXhwbGljaXQgcnVsZS4KCSAgICAjCgkgICAgIyBJZiB0aGUgc291cmNlIGlzIGluIGEg c3ViZGlyZWN0b3J5IGFuZCB0aGUgb2JqZWN0IGlzIGluCgkgICAgIyB0aGUgY3VycmVudCBk aXJlY3RvcnksIHdlIGFsc28gbmVlZCBhbiBleHBsaWNpdCBydWxlLgoJICAgICMKCSAgICAj IElmIGJvdGggc291cmNlIGFuZCBvYmplY3QgZmlsZXMgYXJlIGluIGEgc3ViZGlyZWN0b3J5 CgkgICAgIyAodGhpcyBoYXBwZW5zIHdoZW4gdGhlIHN1YmRpci1vYmplY3RzIG9wdGlvbiBp cyB1c2VkKSwKCSAgICAjIHRoZW4gdGhlIGluZmVyZW5jZSB3aWxsIHdvcmsuCgkgICAgIwoJ ICAgICMgVGhlIGxhdHRlciBjYXNlIGRlc2VydmVzIGEgaGlzdG9yaWNhbCBub3RlLiAgV2hl biB0aGUKCSAgICAjIHN1YmRpci1vYmplY3RzIG9wdGlvbiB3YXMgYWRkZWQgb24gMTk5OS0w NC0xMSBpdCB3YXMKCSAgICAjIHRob3VnaHQgdGhhdCBpbmZlcmVuY2VzIHJ1bGVzIHdvdWxk IHdvcmsgZm9yCgkgICAgIyBzdWJkaXJlY3Rvcnkgb2JqZWN0cyB0b28uICBMYXRlciwgb24g MTk5OS0xMS0yMiwKCSAgICAjIGF1dG9tYWtlIHdhcyBjaGFuZ2VkIHRvIG91dHB1dCBleHBs aWNpdCBydWxlcyBldmVuIGZvcgoJICAgICMgc3ViZGlyLW9iamVjdHMuICBOb2JvZHkgcmVt ZW1iZXJzIHdoeSwgYnV0IHRoaXMgb2NjdXJyZWQKCSAgICAjIHNvb24gYWZ0ZXIgdGhlIG1l cmdlIG9mIHRoZSB1c2VyLWRlcC1nZW4tYnJhbmNoIHNvIGl0CgkgICAgIyBtaWdodCBiZSBy ZWxhdGVkLiAgSW4gbGF0ZSAyMDAzIHBlb3BsZSBjb21wbGFpbmVkIGFib3V0CgkgICAgIyB0 aGUgc2l6ZSBvZiB0aGUgZ2VuZXJhdGVkIE1ha2VmaWxlLmlucyAobGliZ2NqLCB3aXRoCgkg ICAgIyAyMjAwKyBzdWJkaXIgb2JqZWN0cyB3YXMgcmVwb3J0ZWQgdG8gaGF2ZSBhIDlNQgoJ ICAgICMgTWFrZWZpbGUpLCBzbyB3ZSBub3cgcmVseSBvbiBpbmZlcmVuY2UgcnVsZXMgYWdh aW4uCgkgICAgIyBNYXliZSB3ZSdsbCBydW4gYWNyb3NzIHRoZSBzYW1lIGlzc3VlIGFzIGlu IHRoZSBwYXN0LAoJICAgICMgYnV0IGF0IGxlYXN0IHRoaXMgdGltZSB3ZSBjYW4gZG9jdW1l bnQgaXQuICBIb3dldmVyIHNpbmNlCgkgICAgIyBkZXBlbmRlbmN5IHRyYWNraW5nIGhhcyBl dm9sdmVkIGl0IGlzIHBvc3NpYmxlIHRoYXQKCSAgICAjIG91ciBvbGQgcHJvYmxlbSBubyBs b25nZXIgZXhpc3RzLgoJICAgICMgVXNpbmcgaW5mZXJlbmNlIHJ1bGVzIGZvciBzdWJkaXIt b2JqZWN0cyBoYXMgYmVlbiB0ZXN0ZWQKCSAgICAjIHdpdGggR05VIG1ha2UsIFNvbGFyaXMg bWFrZSwgVWx0cml4IG1ha2UsIEJTRCBtYWtlLAoJICAgICMgSFAtVVggbWFrZSwgYW5kIE9T RjEgbWFrZSBzdWNjZXNzZnVsbHkuCgkgICAgaWYgKCRyZW5hbWVkCgkJfHwgKCRkaXJlY3Rv cnkgbmUgJycgJiYgISBvcHRpb24gJ3N1YmRpci1vYmplY3RzJykKCQkjIFdlIG11c3QgYWxz byB1c2Ugc3BlY2lmaWMgcnVsZXMgZm9yIGEgbm9kaXN0XyBzb3VyY2UKCQkjIGlmIGl0cyBs YW5ndWFnZSByZXF1ZXN0cyBpdC4KCQl8fCAoJGxhbmctPm5vZGlzdF9zcGVjaWZpYyAmJiAh ICR0cmFuc2Zvcm17J0RJU1RfU09VUkNFJ30pKQoJICAgIHsKCQlteSAkb2JqX3NhbnNfZXh0 ID0gc3Vic3RyICgkb2JqZWN0LCAwLAoJCQkJCSAgIC0gbGVuZ3RoICgkdGhpc19vYmpfZXh0 KSk7CgkJbXkgJGZ1bGxfYW5zaTsKCQlpZiAoJGRpcmVjdG9yeSBuZSAnJykKCSAgICAgICAg ICB7CgkJCSRmdWxsX2Fuc2kgPSAkZGlyZWN0b3J5IC4gJy8nIC4gJGJhc2UgLiAkZXh0ZW5z aW9uOwoJICAgICAgICAgIH0KCQllbHNlCgkgICAgICAgICAgewoJCQkkZnVsbF9hbnNpID0g JGJhc2UgLiAkZXh0ZW5zaW9uOwoJICAgICAgICAgIH0KCgkJbXkgQHNwZWNpZmljcyA9ICgk ZnVsbF9hbnNpLCAkb2JqX3NhbnNfZXh0LAoJCQkJICMgT25seSB1c2UgJHRoaXNfb2JqX2V4 dCBpbiB0aGUgZGVyaXZlZAoJCQkJICMgc291cmNlIGNhc2UgYmVjYXVzZSBpbiB0aGUgb3Ro ZXIgY2FzZSB3ZQoJCQkJICMgKmRvbid0KiB3YW50ICQoT0JKRVhUKSB0byBhcHBlYXIgaGVy ZS4KCQkJCSAoJGRlcml2ZWRfc291cmNlID8gJHRoaXNfb2JqX2V4dCA6ICcubycpLAoJCQkJ ICRleHRlbnNpb24pOwoKCQkjIElmIHdlIHJlbmFtZWQgdGhlIG9iamVjdCB0aGVuIHdlIHdh bnQgdG8gdXNlIHRoZQoJCSMgcGVyLWV4ZWN1dGFibGUgZmxhZyBuYW1lLiAgQnV0IGlmIHRo aXMgaXMgc2ltcGx5IGEKCQkjIHN1YmRpciBidWlsZCB0aGVuIHdlIHN0aWxsIHdhbnQgdG8g dXNlIHRoZSBBTV8gZmxhZwoJCSMgbmFtZS4KCQlpZiAoJHJlbmFtZWQpCgkJICB7CgkJICAg IHVuc2hpZnQgQHNwZWNpZmljcywgJGRlcml2ZWQ7CgkJICAgICRhZ2dyZWdhdGUgPSAkZGVy aXZlZDsKCQkgIH0KCQllbHNlCgkJICB7CgkJICAgIHVuc2hpZnQgQHNwZWNpZmljcywgJ0FN JzsKCQkgIH0KCgkJIyBFYWNoIGl0ZW0gb24gdGhpcyBsaXN0IGlzIGEgcmVmZXJlbmNlIHRv IGEgbGlzdCBjb25zaXN0aW5nCgkJIyBvZiBmb3VyIHZhbHVlcyBmb2xsb3dlZCBieSBhZGRp dGlvbmFsIHRyYW5zZm9ybSBmbGFncyBmb3IKCQkjIGZpbGVfY29udGVudHMuICBUaGUgZm91 ciB2YWx1ZXMgYXJlIHRoZSBkZXJpdmVkIGZsYWcgcHJlZml4CgkJIyAoZS5nLiBmb3IgJ2Zv b19DRkxBR1MnLCBpdCBpcyAnZm9vJyksIHRoZSBuYW1lIG9mIHRoZQoJCSMgc291cmNlIGZp bGUsIHRoZSBiYXNlIG5hbWUgb2YgdGhlIG91dHB1dCBmaWxlLCBhbmQKCQkjIHRoZSBleHRl bnNpb24gZm9yIHRoZSBvYmplY3QgZmlsZS4KCQlwdXNoIChAeyRsYW5nX3NwZWNpZmljX2Zp bGVzeyRsYW5nLT5uYW1lfX0sCgkJICAgICAgW0BzcGVjaWZpY3MsICV0cmFuc2Zvcm1dKTsK CSAgICB9Cgl9CgllbHNpZiAoJGV4dGVuc2lvbiBlcSAkb2JqKQoJewoJICAgICMgVGhpcyBp cyBwcm9iYWJseSB0aGUgcmVzdWx0IG9mIGEgZGlyZWN0IHN1ZmZpeCBydWxlLgoJICAgICMg SW4gdGhpcyBjYXNlIHdlIGp1c3QgYWNjZXB0IHRoZSByZXdyaXRlLgoJICAgICRvYmplY3Qg PSAiJGJhc2UkZXh0ZW5zaW9uIjsKCSAgICAkb2JqZWN0ID0gIiRkaXJlY3RvcnkvJG9iamVj dCIgaWYgJGRpcmVjdG9yeSBuZSAnJzsKCSAgICAkbGlua2VyID0gJyc7Cgl9CgllbHNlCgl7 CgkgICAgIyBObyBlcnJvciBtZXNzYWdlIGhlcmUuICBVc2VkIHRvIGhhdmUgb25lLCBidXQg aXQgd2FzCgkgICAgIyB2ZXJ5IHVucG9wdWxhci4KCSAgICAjIEZJWE1FOiB3ZSBjb3VsZCBw b3RlbnRpYWxseSBkbyBtb3JlIHByb2Nlc3NpbmcgaGVyZSwKCSAgICAjIHBlcmhhcHMgdHJl YXRpbmcgdGhlIG5ldyBleHRlbnNpb24gYXMgdGhvdWdoIGl0IHdlcmUgYQoJICAgICMgbmV3 IHNvdXJjZSBleHRlbnNpb24gKGFzIGFib3ZlKS4gIFRoaXMgd291bGQgcmVxdWlyZQoJICAg ICMgbW9yZSByZXN0cnVjdHVyaW5nIHRoYW4gaXMgYXBwcm9wcmlhdGUgcmlnaHQgbm93LgoJ ICAgIG5leHQ7Cgl9CgoJZXJyX2FtICJvYmplY3QgJyRvYmplY3QnIGNyZWF0ZWQgYnkgJyRm dWxsJyBhbmQgJyRvYmplY3RfbWFweyRvYmplY3R9JyIKCSAgaWYgKGRlZmluZWQgJG9iamVj dF9tYXB7JG9iamVjdH0KCSAgICAgICYmICRvYmplY3RfbWFweyRvYmplY3R9IG5lICRmdWxs KTsKCglteSAkY29tcF92YWwgPSAoKCRvYmplY3QgPX4gL1wubG8kLykKCQkJPyBDT01QSUxF X0xJQlRPT0wgOiBDT01QSUxFX09SRElOQVJZKTsKCShteSAkY29tcF9vYmogPSAkb2JqZWN0 KSA9fiBzL1wubG8kLy5cJChPQkpFWFQpLzsKCWlmIChkZWZpbmVkICRvYmplY3RfY29tcGls YXRpb25fbWFweyRjb21wX29ian0KCSAgICAmJiAkb2JqZWN0X2NvbXBpbGF0aW9uX21hcHsk Y29tcF9vYmp9ICE9IDAKCSAgICAjIE9ubHkgc2VlIHRoZSBlcnJvciBvbmNlLgoJICAgICYm ICgkb2JqZWN0X2NvbXBpbGF0aW9uX21hcHskY29tcF9vYmp9CgkJIT0gKENPTVBJTEVfTElC VE9PTCB8IENPTVBJTEVfT1JESU5BUlkpKQoJICAgICYmICRvYmplY3RfY29tcGlsYXRpb25f bWFweyRjb21wX29ian0gIT0gJGNvbXBfdmFsKQoJICB7CgkgICAgZXJyX2FtICJvYmplY3Qg JyRjb21wX29iaicgY3JlYXRlZCBib3RoIHdpdGggbGlidG9vbCBhbmQgd2l0aG91dCI7Cgkg IH0KCSRvYmplY3RfY29tcGlsYXRpb25fbWFweyRjb21wX29ian0gfD0gJGNvbXBfdmFsOwoK CWlmIChkZWZpbmVkICRsYW5nKQoJewoJICAgICMgTGV0IHRoZSBsYW5ndWFnZSBkbyBzb21l IHNwZWNpYWwgbWFnaWMgaWYgcmVxdWlyZWQuCgkgICAgJGxhbmctPnRhcmdldF9ob29rICgk YWdncmVnYXRlLCAkb2JqZWN0LCAkZnVsbCwgJXRyYW5zZm9ybSk7Cgl9CgoJaWYgKCRkZXJp dmVkX3NvdXJjZSkKCSAgewoJICAgIHByb2dfZXJyb3IgKCRsYW5nLT5uYW1lIC4gIiBoYXMg YXV0b21hdGljIGRlcGVuZGVuY3kgdHJhY2tpbmciKQoJICAgICAgaWYgJGxhbmctPmF1dG9k ZXAgbmUgJ25vJzsKCSAgICAjIE1ha2Ugc3VyZSB0aGlzIG5ldyBzb3VyY2UgZmlsZSBpcyBo YW5kbGVkIG5leHQuICBUaGF0IHdpbGwKCSAgICAjIG1ha2UgaXQgYXBwZWFyIHRvIGJlIGF0 IHRoZSByaWdodCBwbGFjZSBpbiB0aGUgbGlzdC4KCSAgICB1bnNoaWZ0IChAZmlsZXMsICRv YmplY3QpOwoJICAgICMgRGlzdHJpYnV0ZSBkZXJpdmVkIHNvdXJjZXMgdW5sZXNzIHRoZSBz b3VyY2UgdGhleSBhcmUKCSAgICAjIGRlcml2ZWQgZnJvbSBpcyBub3QuCgkgICAgcHVzaF9k aXN0X2NvbW1vbiAoJG9iamVjdCkKCSAgICAgIHVubGVzcyAoJHRvcHBhcmVudCA9fiAvXig/ Om5vYmFzZV8pP25vZGlzdF8vKTsKCSAgICBuZXh0OwoJICB9CgoJJGxpbmtlcnNfdXNlZHsk bGlua2VyfSA9IDE7CgoJcHVzaCAoQHJlc3VsdCwgJG9iamVjdCk7CgoJaWYgKCEgZGVmaW5l ZCAkb2JqZWN0X21hcHskb2JqZWN0fSkKCXsKCSAgICBteSBAZGVwX2xpc3QgPSAoKTsKCSAg ICAkb2JqZWN0X21hcHskb2JqZWN0fSA9ICRmdWxsOwoKCSAgICAjIElmIHJlc3VsdGluZyBv YmplY3QgaXMgaW4gc3ViZGlyLCB3ZSBuZWVkIHRvIG1ha2UKCSAgICAjIHN1cmUgdGhlIHN1 YmRpciBleGlzdHMgYXQgYnVpbGQgdGltZS4KCSAgICBpZiAoJG9iamVjdCA9fiAvXC8vKQoJ ICAgIHsKCQkjIEZJWE1FOiBjaGVjayB0aGF0ICRESVJFQ1RPUlkgaXMgc29tZXdoZXJlIGlu IHRoZQoJCSMgcHJvamVjdAoKCQkjIEZvciBKYXZhLCB0aGUgd2F5IHdlJ3JlIGhhbmRsaW5n IGl0IHJpZ2h0IG5vdywgYQoJCSMgJy4uJyBjb21wb25lbnQgZG9lc24ndCBtYWtlIHNlbnNl LgoJCWlmICgkbGFuZyAmJiAkbGFuZy0+bmFtZSBlcSAnamF2YScgJiYgJG9iamVjdCA9fiAv KFwvfF4pXC5cLlwvLykKCQkgIHsKCQkgICAgZXJyX2FtICInJGZ1bGwnIHNob3VsZCBub3Qg Y29udGFpbiBhICcuLicgY29tcG9uZW50IjsKCQkgIH0KCiAgICAgICAgICAgICAgICAjIE1h a2Ugc3VyZSAqYWxsKiBvYmplY3RzIGZpbGVzIGluIHRoZSBzdWJkaXJlY3RvcnkgYXJlCiAg ICAgICAgICAgICAgICAjIHJlbW92ZWQgYnkgIm1ha2UgbW9zdGx5Y2xlYW4iLiAgTm90IG9u bHkgdGhpcyBpcyBtb3JlCiAgICAgICAgICAgICAgICAjIGVmZmljaWVudCB0aGFuIGxpc3Rp bmcgdGhlIG9iamVjdCBmaWxlcyB0byBiZSByZW1vdmVkCiAgICAgICAgICAgICAgICAjIGlu ZGl2aWR1YWxseSAod2hpY2ggd291bGQgY2F1c2UgYW4gJ3JtJyBpbnZvY2F0aW9uIGZvcgog ICAgICAgICAgICAgICAgIyBlYWNoIG9mIHRoZW0gLS0gdmVyeSBpbmVmZmljaWVudCwgc2Vl IGJ1ZyMxMDY5NyksIGl0CiAgICAgICAgICAgICAgICAjIHdvdWxkIGFsc28gbGVhdmUgc3Rh bGUgb2JqZWN0IGZpbGVzIGluIHRoZSBzdWJkaXJlY3RvcnkKICAgICAgICAgICAgICAgICMg d2hlbmV2ZXIgYSBzb3VyY2UgZmlsZSB0aGVyZSBpcyByZW1vdmVkIG9yIHJlbmFtZWQuCiAg ICAgICAgICAgICAgICAkY29tcGlsZV9jbGVhbl9maWxlc3siJGRpcmVjdG9yeS8qLlwkKE9C SkVYVCkifSA9IE1PU1RMWV9DTEVBTjsKICAgICAgICAgICAgICAgIGlmICgkb2JqZWN0ID1+ IC9cLmxvJC8pCiAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAjIElm IHdlIGhhdmUgYSBsaWJ0b29sIG9iamVjdCwgdGhlbiB3ZSBhbHNvIG11c3QgcmVtb3ZlCiAg ICAgICAgICAgICAgICAgICAgIyBhbnkgJy5sbycgb2JqZWN0cyBpbiBpdHMgc2FtZSBzdWJk aXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgICAgJGNvbXBpbGVfY2xlYW5fZmlsZXN7IiRk aXJlY3RvcnkvKi5sbyJ9ID0gTU9TVExZX0NMRUFOOwogICAgICAgICAgICAgICAgICAgICMg UmVtZW1iZXIgdG8gY2xlYW51cCAubGlicy8gaW4gdGhpcyBkaXJlY3RvcnkuCiAgICAgICAg ICAgICAgICAgICAgJGxpYnRvb2xfY2xlYW5fZGlyZWN0b3JpZXN7JGRpcmVjdG9yeX0gPSAx OwogICAgICAgICAgICAgICAgICB9CgoJCXB1c2ggKEBkZXBfbGlzdCwgcmVxdWlyZV9idWls ZF9kaXJlY3RvcnkgKCRkaXJlY3RvcnkpKTsKCgkJIyBJZiB3ZSdyZSBnZW5lcmF0aW5nIGRl cGVuZGVuY2llcywgd2UgYWxzbyB3YW50CgkJIyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgYXBw cm9wcmlhdGUgc3ViZGlyIG9mIHRoZQoJCSMgLmRlcHMgZGlyZWN0b3J5IGlzIGNyZWF0ZWQu CgkJcHVzaCAoQGRlcF9saXN0LAoJCSAgICAgIHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5ICgk ZGlyZWN0b3J5IC4gJy8kKERFUERJUiknKSkKCQkgIHVubGVzcyBvcHRpb24gJ25vLWRlcGVu ZGVuY2llcyc7CgkgICAgfQoKCSAgICBwcmV0dHlfcHJpbnRfcnVsZSAoJG9iamVjdCAuICc6 JywgIlx0IiwgQGRlcF9saXN0KQoJCWlmIHNjYWxhciBAZGVwX2xpc3QgPiAwOwoJfQoKCSMg VHJhbnNmb3JtIC5vIG9yICRvIGZpbGUgaW50byAuUCBmaWxlIChmb3IgYXV0b21hdGljCgkj IGRlcGVuZGVuY3kgY29kZSkuCiAgICAgICAgIyBQcm9wZXJseSBmbGF0dGVuIG11bHRpcGxl IGFkamFjZW50IHNsYXNoZXMsIGFzIFNvbGFyaXMgMTAgbWFrZQogICAgICAgICMgbWlnaHQg ZmFpbCBvdmVyIHRoZW0gaW4gYW4gaW5jbHVkZSBzdGF0ZW1lbnQuCiAgICAgICAgIyBMZWFk aW5nIGRvdWJsZSBzbGFzaGVzIG1heSBiZSBzcGVjaWFsLCBhcyBwZXIgUG9zaXgsIHNvIGRl YWwKICAgICAgICAjIHdpdGggdGhlbSBjYXJlZnVsbHkuCiAgICAgICAgaWYgKCRsYW5nICYm ICRsYW5nLT5hdXRvZGVwIG5lICdubycpCiAgICAgICAgewogICAgICAgICAgICBteSAkZGVw ZmlsZSA9ICRvYmplY3Q7CiAgICAgICAgICAgICRkZXBmaWxlID1+IHMvXC4oW14uXSopJC8u UCQxLzsKICAgICAgICAgICAgJGRlcGZpbGUgPX4gcy9cJFwoT0JKRVhUXCkkL28vOwogICAg ICAgICAgICBteSAkbWF5YmVfZXh0cmFfbGVhZGluZ19zbGFzaCA9ICcnOwogICAgICAgICAg ICAkbWF5YmVfZXh0cmFfbGVhZGluZ19zbGFzaCA9ICcvJyBpZiAkZGVwZmlsZSA9fiBtLF4v L1teL10sOwogICAgICAgICAgICAkZGVwZmlsZSA9fiBzLC8rLC8sZzsKICAgICAgICAgICAg bXkgJGJhc2VuYW1lID0gYmFzZW5hbWUgKCRkZXBmaWxlKTsKICAgICAgICAgICAgIyBUaGlz IG1pZ2h0IG1ha2UgJGRpcm5hbWUgZW1wdHksIGJ1dCB3ZSBhY2NvdW50IGZvciB0aGF0IGJl bG93LgogICAgICAgICAgICAobXkgJGRpcm5hbWUgPSBkaXJuYW1lICgkZGVwZmlsZSkpID1+ IHMvXC8qJC8vOwogICAgICAgICAgICAkZGlybmFtZSA9ICRtYXliZV9leHRyYV9sZWFkaW5n X3NsYXNoIC4gJGRpcm5hbWU7CiAgICAgICAgICAgICRkZXBfZmlsZXN7JGRpcm5hbWUgLiAn LyQoREVQRElSKS8nIC4gJGJhc2VuYW1lfSA9IDE7CiAgICAgICAgfQogICAgfQoKICAgIHJl dHVybiBAcmVzdWx0Owp9CgoKIyAkTElOS0VSCiMgZGVmaW5lX29iamVjdHNfZnJvbV9zb3Vy Y2VzICgkVkFSLCAkT0JKVkFSLCAkTk9ERUZJTkUsICRPTkVfRklMRSwKIyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICRPQkosICRQQVJFTlQsICRUT1BQQVJFTlQsICRXSEVSRSwg JVRSQU5TRk9STSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWZpbmUgYW4gX09CSkVD VFMgdmFyaWFibGUgZm9yIGEgX1NPVVJDRVMgdmFyaWFibGUgKG9yIHN1YnZhcmlhYmxlKQoj CiMgQXJndW1lbnRzIGFyZToKIyAgICRWQVIgaXMgdGhlIG5hbWUgb2YgdGhlIF9TT1VSQ0VT IHZhcmlhYmxlCiMgICAkT0JKVkFSIGlzIHRoZSBuYW1lIG9mIHRoZSBfT0JKRUNUUyB2YXJp YWJsZSBpZiBrbm93biAob3RoZXJ3aXNlCiMgICAgIGl0IHdpbGwgYmUgZ2VuZXJhdGVkIGFu ZCByZXR1cm5lZCkuCiMgICAkTk9ERUZJTkUgaXMgYSBib29sZWFuOiBpZiB0cnVlLCAkT0JK VkFSIHdpbGwgbm90IGJlIGRlZmluZWQgKGJ1dAojICAgICB3b3JrIGRvbmUgdG8gZGV0ZXJt aW5lIHRoZSBsaW5rZXIgd2lsbCBiZSkuCiMgICAkT05FX0ZJTEUgaXMgdGhlIGNhbm9uaWNh bCAodHJhbnNmb3JtZWQpIG5hbWUgb2Ygb2JqZWN0IHRvIGJ1aWxkCiMgICAkT0JKIGlzIHRo ZSBvYmplY3QgZXh0ZW5zaW9uIChpLmUuIGVpdGhlciAnLm8nIG9yICcubG8nKS4KIyAgICRU T1BQQVJFTlQgaXMgdGhlIF9TT1VSQ0VTIHZhcmlhYmxlIGJlaW5nIHByb2Nlc3NlZC4KIyAg ICRXSEVSRSBjb250ZXh0IGludG8gd2hpY2ggdGhpcyBkZWZpbml0aW9uIGlzIGRvbmUKIyAg ICVUUkFOU0ZPUk0gZXh0cmEgYXJndW1lbnRzIHRvIHBhc3MgdG8gZmlsZV9jb250ZW50cyB3 aGVuIHByb2R1Y2luZwojICAgICBydWxlcwojCiMgUmVzdWx0IGlzIGEgcGFpciAoJExJTktF UiwgJE9CSlZBUik6CiMgICAgJExJTktFUiBpcyBhIGJvb2xlYW4sIHRydWUgaWYgYSBsaW5r ZXIgaXMgbmVlZGVkIHRvIGRlYWwgd2l0aCB0aGUgb2JqZWN0cwpzdWIgZGVmaW5lX29iamVj dHNfZnJvbV9zb3VyY2VzCnsKICBteSAoJHZhciwgJG9ianZhciwgJG5vZGVmaW5lLCAkb25l X2ZpbGUsCiAgICAgICRvYmosICR0b3BwYXJlbnQsICR3aGVyZSwgJXRyYW5zZm9ybSkgPSBA XzsKCiAgbXkgJG5lZWRsaW5rZXIgPSAiIjsKCiAgdHJhbnNmb3JtX3ZhcmlhYmxlX3JlY3Vy c2l2ZWx5CiAgICAoJHZhciwgJG9ianZhciwgJ2FtX19vYmplY3RzJywgJG5vZGVmaW5lLCAk d2hlcmUsCiAgICAgIyBUaGUgdHJhbnNmb3JtIGNvZGUgdG8gcnVuIG9uIGVhY2ggZmlsZW5h bWUuCiAgICAgc3ViIHsKICAgICAgIG15ICgkc3VidmFyLCAkdmFsLCAkY29uZCwgJGZ1bGxf Y29uZCkgPSBAXzsKICAgICAgIG15IEB0cmFucyA9IGhhbmRsZV9zaW5nbGVfdHJhbnNmb3Jt ICgkc3VidmFyLCAkdG9wcGFyZW50LAoJCQkJCSAgICAkb25lX2ZpbGUsICRvYmosICR2YWws CgkJCQkJICAgICV0cmFuc2Zvcm0pOwogICAgICAgJG5lZWRsaW5rZXIgPSAidHJ1ZSIgaWYg QHRyYW5zOwogICAgICAgcmV0dXJuIEB0cmFuczsKICAgICB9KTsKCiAgcmV0dXJuICRuZWVk bGlua2VyOwp9CgoKIyBoYW5kbGVfc291cmNlX3RyYW5zZm9ybSAoJENBTk9OX1RBUkdFVCwg JFRBUkdFVCwgJE9CSkVYVCwgJFdIRVJFLCAlVFJBTlNGT1JNKQojIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiMgSGFuZGxlIFNPVVJDRS0+T0JKRUNUIHRyYW5zZm9ybSBmb3Igb25lIHBy b2dyYW0gb3IgbGlicmFyeS4KIyBBcmd1bWVudHMgYXJlOgojICAgY2Fub25pY2FsICh0cmFu c2Zvcm1lZCkgbmFtZSBvZiB0YXJnZXQgdG8gYnVpbGQKIyAgIGFjdHVhbCB0YXJnZXQgb2Yg b2JqZWN0IHRvIGJ1aWxkCiMgICBvYmplY3QgZXh0ZW5zaW9uIChpLmUuLCBlaXRoZXIgJy5v JyBvciAnJG8nKQojICAgbG9jYXRpb24gb2YgdGhlIHNvdXJjZSB2YXJpYWJsZQojICAgZXh0 cmEgYXJndW1lbnRzIHRvIHBhc3MgdG8gZmlsZV9jb250ZW50cyB3aGVuIHByb2R1Y2luZyBy dWxlcwojIFJldHVybiB0aGUgbmFtZSBvZiB0aGUgbGlua2VyIHZhcmlhYmxlIHRoYXQgbXVz dCBiZSB1c2VkLgojIEVtcHR5IHJldHVybiBtZWFucyBqdXN0IHVzZSAnTElOSycuCnN1YiBo YW5kbGVfc291cmNlX3RyYW5zZm9ybQp7CiAgICAjIG9uZV9maWxlIGlzIGNhbm9uaWNhbCBu YW1lLiAgdW54Zm9ybWVkIGlzIGdpdmVuIG5hbWUuICBvYmogaXMKICAgICMgb2JqZWN0IGV4 dGVuc2lvbi4KICAgIG15ICgkb25lX2ZpbGUsICR1bnhmb3JtZWQsICRvYmosICR3aGVyZSwg JXRyYW5zZm9ybSkgPSBAXzsKCiAgICBteSAkbGlua2VyID0gJyc7CgogICAgIyBObyBwb2lu dCBpbiBjb250aW51aW5nIGlmIF9PQkpFQ1RTIGlzIGRlZmluZWQuCiAgICByZXR1cm4gaWYg cmVqZWN0X3ZhciAoJG9uZV9maWxlIC4gJ19PQkpFQ1RTJywKCQkJICAkb25lX2ZpbGUgLiAn X09CSkVDVFMgc2hvdWxkIG5vdCBiZSBkZWZpbmVkJyk7CgogICAgbXkgJXVzZWRfcGZ4ID0g KCk7CiAgICBteSAkbmVlZGxpbmtlcjsKICAgICVsaW5rZXJzX3VzZWQgPSAoKTsKICAgIGZv cmVhY2ggbXkgJHByZWZpeCAoJycsICdFWFRSQV8nLCAnZGlzdF8nLCAnbm9kaXN0XycsCgkJ CSdkaXN0X0VYVFJBXycsICdub2Rpc3RfRVhUUkFfJykKICAgIHsKCW15ICR2YXJuYW1lID0g JHByZWZpeCAuICRvbmVfZmlsZSAuICJfU09VUkNFUyI7CglteSAkdmFyID0gdmFyICR2YXJu YW1lOwoJbmV4dCB1bmxlc3MgJHZhcjsKCgkjIFdlIGFyZSBnb2luZyB0byBkZWZpbmUgX09C SkVDVFMgdmFyaWFibGVzIHVzaW5nIHRoZSBwcmVmaXguCgkjIFRoZW4gd2UgZ2xvbSB0aGVt IGFsbCB0b2dldGhlci4gIFNvIHdlIGNhbid0IHVzZSB0aGUgbnVsbAoJIyBwcmVmaXggaGVy ZSBhcyB3ZSBuZWVkIGl0IGxhdGVyLgoJbXkgJHhwZnggPSAoJHByZWZpeCBlcSAnJykgPyAn YW1fJyA6ICRwcmVmaXg7CgoJIyBLZWVwIHRyYWNrIG9mIHdoaWNoIHByZWZpeGVzIHdlIHNh dy4KCSR1c2VkX3BmeHskeHBmeH0gPSAxCgkgIHVubGVzcyAkcHJlZml4ID1+IC9FWFRSQV8v OwoKCXB1c2ggQHNvdXJjZXMsICJcJCgkdmFybmFtZSkiOwoJcHVzaCBAZGlzdF9zb3VyY2Vz LCBzaGFkb3dfdW5jb25kaXRpb25hbGx5ICgkdmFybmFtZSwgJHdoZXJlKQoJICB1bmxlc3Mg KG9wdGlvbiAoJ25vLWRpc3QnKSB8fCAkcHJlZml4ID1+IC9ebm9kaXN0Xy8pOwoKCSRuZWVk bGlua2VyIHw9CgkgICAgZGVmaW5lX29iamVjdHNfZnJvbV9zb3VyY2VzICgkdmFybmFtZSwK CQkJCQkgJHhwZnggLiAkb25lX2ZpbGUgLiAnX09CSkVDVFMnLAoJCQkJCSAhISgkcHJlZml4 ID1+IC9FWFRSQV8vKSwKCQkJCQkgJG9uZV9maWxlLCAkb2JqLCAkdmFybmFtZSwgJHdoZXJl LAoJCQkJCSBESVNUX1NPVVJDRSA9PiAoJHByZWZpeCAhfiAvXm5vZGlzdF8vKSwKCQkJCQkg JXRyYW5zZm9ybSk7CiAgICB9CiAgICBpZiAoJG5lZWRsaW5rZXIpCiAgICB7CgkkbGlua2Vy IHx8PSByZXNvbHZlX2xpbmtlciAoJWxpbmtlcnNfdXNlZCk7CiAgICB9CgogICAgbXkgQGtl eXMgPSBzb3J0IGtleXMgJXVzZWRfcGZ4OwogICAgaWYgKHNjYWxhciBAa2V5cyA9PSAwKQog ICAgewoJIyBUaGUgZGVmYXVsdCBzb3VyY2UgZm9yIGxpYmZvby5sYSBpcyBsaWJmb28uYywg YnV0IGZvcgoJIyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdlIGZpcnN0IGxvb2sgYXQgbGli Zm9vX2xhLmMsCgkjIGlmIG5vIGRlZmF1bHQgc291cmNlIHN1ZmZpeCBpcyBnaXZlbi4KCW15 ICRvbGRfZGVmYXVsdF9zb3VyY2UgPSAiJG9uZV9maWxlLmMiOwoJbXkgJGV4dF92YXIgPSB2 YXIgKCdBTV9ERUZBVUxUX1NPVVJDRV9FWFQnKTsKCW15ICRkZWZhdWx0X3NvdXJjZV9leHQg PSAkZXh0X3ZhciA/IHZhcmlhYmxlX3ZhbHVlICgkZXh0X3ZhcikgOiAnLmMnOwoJbXNnX3Zh ciAoJ3Vuc3VwcG9ydGVkJywgJGV4dF92YXIsICRleHRfdmFyLT5uYW1lIC4gIiBjYW4gYXNz dW1lIGF0IG1vc3Qgb25lIHZhbHVlIikKCSAgaWYgJGRlZmF1bHRfc291cmNlX2V4dCA9fiAv W1x0IF0vOwoJKG15ICRkZWZhdWx0X3NvdXJjZSA9ICR1bnhmb3JtZWQpID1+IHMsKFwuW14u L1xcXSopPyQsJGRlZmF1bHRfc291cmNlX2V4dCw7CgkjIFRPRE86IFJlbW92ZSB0aGlzIGJh Y2t3YXJkLWNvbXBhdGliaWxpdHkgaGFjayBpbiBBdXRvbWFrZSAyLjAuCglpZiAoJG9sZF9k ZWZhdWx0X3NvdXJjZSBuZSAkZGVmYXVsdF9zb3VyY2UKCSAgICAmJiAhJGV4dF92YXIKCSAg ICAmJiAocnVsZSAkb2xkX2RlZmF1bHRfc291cmNlCgkJfHwgcnVsZSAnJChzcmNkaXIpLycg LiAkb2xkX2RlZmF1bHRfc291cmNlCgkJfHwgcnVsZSAnJHtzcmNkaXJ9LycgLiAkb2xkX2Rl ZmF1bHRfc291cmNlCgkJfHwgLWYgJG9sZF9kZWZhdWx0X3NvdXJjZSkpCgkgIHsKCSAgICBt eSAkbG9jID0gJHdoZXJlLT5jbG9uZTsKCSAgICAkbG9jLT5wb3BfY29udGV4dDsKCSAgICBt c2cgKCdvYnNvbGV0ZScsICRsb2MsCgkJICJ0aGUgZGVmYXVsdCBzb3VyY2UgZm9yICckdW54 Zm9ybWVkJyBoYXMgYmVlbiBjaGFuZ2VkICIKCQkgLiAidG8gJyRkZWZhdWx0X3NvdXJjZScu XG4oVXNpbmcgJyRvbGRfZGVmYXVsdF9zb3VyY2UnIGZvciAiCgkJIC4gImJhY2t3YXJkIGNv bXBhdGliaWxpdHkuKSIpOwoJICAgICRkZWZhdWx0X3NvdXJjZSA9ICRvbGRfZGVmYXVsdF9z b3VyY2U7CgkgIH0KCSMgSWYgYSBydWxlIGV4aXN0cyB0byBidWlsZCB0aGlzIHNvdXJjZSB3 aXRoIGEgJChzcmNkaXIpCgkjIHByZWZpeCwgdXNlIHRoYXQgcHJlZml4IGluIG91ciB2YXJp YWJsZXMgdG9vLiAgVGhpcyBpcyBmb3IKCSMgdGhlIHNha2Ugb2YgQlNEIE1ha2UuCglpZiAo cnVsZSAnJChzcmNkaXIpLycgLiAkZGVmYXVsdF9zb3VyY2UKCSAgICB8fCBydWxlICcke3Ny Y2Rpcn0vJyAuICRkZWZhdWx0X3NvdXJjZSkKCSAgewoJICAgICRkZWZhdWx0X3NvdXJjZSA9 ICckKHNyY2RpcikvJyAuICRkZWZhdWx0X3NvdXJjZTsKCSAgfQoKCWRlZmluZV92YXJpYWJs ZSAoJG9uZV9maWxlIC4gIl9TT1VSQ0VTIiwgJGRlZmF1bHRfc291cmNlLCAkd2hlcmUpOwoJ cHVzaCAoQHNvdXJjZXMsICRkZWZhdWx0X3NvdXJjZSk7CglwdXNoIChAZGlzdF9zb3VyY2Vz LCAkZGVmYXVsdF9zb3VyY2UpOwoKCSVsaW5rZXJzX3VzZWQgPSAoKTsKCW15IChAcmVzdWx0 KSA9CgkgIGhhbmRsZV9zaW5nbGVfdHJhbnNmb3JtICgkb25lX2ZpbGUgLiAnX1NPVVJDRVMn LAoJCQkJICAgJG9uZV9maWxlIC4gJ19TT1VSQ0VTJywKCQkJCSAgICRvbmVfZmlsZSwgJG9i aiwKCQkJCSAgICRkZWZhdWx0X3NvdXJjZSwgJXRyYW5zZm9ybSk7CgkkbGlua2VyIHx8PSBy ZXNvbHZlX2xpbmtlciAoJWxpbmtlcnNfdXNlZCk7CglkZWZpbmVfcHJldHR5X3ZhcmlhYmxl ICgkb25lX2ZpbGUgLiAnX09CSkVDVFMnLCBUUlVFLCAkd2hlcmUsIEByZXN1bHQpOwogICAg fQogICAgZWxzZQogICAgewoJQGtleXMgPSBtYXAgeyAnJCgnIC4gJF8gLiAkb25lX2ZpbGUg LiAnX09CSkVDVFMpJyB9IEBrZXlzOwoJZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJG9uZV9m aWxlIC4gJ19PQkpFQ1RTJywgVFJVRSwgJHdoZXJlLCBAa2V5cyk7CiAgICB9CgogICAgIyBJ ZiB3ZSB3YW50IHRvIHVzZSAnTElOSycgd2UgbXVzdCBtYWtlIHN1cmUgaXQgaXMgZGVmaW5l ZC4KICAgIGlmICgkbGlua2VyIGVxICcnKQogICAgewoJJG5lZWRfbGluayA9IDE7CiAgICB9 CgogICAgcmV0dXJuICRsaW5rZXI7Cn0KCgojIGhhbmRsZV9saWJfb2JqZWN0cyAoJFhOQU1F LCAkVkFSKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNwZWNpYWwt Y2FzZSBBTExPQ0EgYW5kIExJQk9CSlMgc3Vic3RpdHV0aW9ucyBpbiBfTERBREQgb3IgX0xJ QkFERCB2YXJpYWJsZXMuCiMgQWxzbywgZ2VuZXJhdGUgX0RFUEVOREVOQ0lFUyB2YXJpYWJs ZSBpZiBhcHByb3ByaWF0ZS4KIyBBcmd1bWVudHMgYXJlOgojICAgdHJhbnNmb3JtZWQgbmFt ZSBvZiBvYmplY3QgYmVpbmcgYnVpbHQsIG9yIGVtcHR5IHN0cmluZyBpZiBubyBvYmplY3QK IyAgIG5hbWUgb2YgX0xEQUREL19MSUJBREQtdHlwZSB2YXJpYWJsZSB0byBleGFtaW5lCiMg UmV0dXJucyAxIGlmIExJQk9CSlMgc2VlbiwgMCBvdGhlcndpc2UuCnN1YiBoYW5kbGVfbGli X29iamVjdHMKewogIG15ICgkeG5hbWUsICR2YXJuYW1lKSA9IEBfOwoKICBteSAkdmFyID0g dmFyICgkdmFybmFtZSk7CiAgcHJvZ19lcnJvciAiJyR2YXJuYW1lJyB1bmRlZmluZWQiCiAg ICB1bmxlc3MgJHZhcjsKICBwcm9nX2Vycm9yICJ1bmV4cGVjdGVkIHZhcmlhYmxlIG5hbWUg JyR2YXJuYW1lJyIKICAgIHVubGVzcyAkdmFybmFtZSA9fiAvXiguKikoPzpMSUJ8TEQpQURE JC87CiAgbXkgJHByZWZpeCA9ICQxIHx8ICdBTV8nOwoKICBteSAkc2Vlbl9saWJvYmpzID0g MDsKICBteSAkZmxhZ3ZhciA9IDA7CgogIHRyYW5zZm9ybV92YXJpYWJsZV9yZWN1cnNpdmVs eQogICAgKCR2YXJuYW1lLCAkeG5hbWUgLiAnX0RFUEVOREVOQ0lFUycsICdhbV9fREVQRU5E RU5DSUVTJywKICAgICAhICR4bmFtZSwgSU5URVJOQUwsCiAgICAgIyBUcmFuc2Zvcm1hdGlv biBmdW5jdGlvbiwgcnVuIG9uIGVhY2ggZmlsZW5hbWUuCiAgICAgc3ViIHsKICAgICAgIG15 ICgkc3VidmFyLCAkdmFsLCAkY29uZCwgJGZ1bGxfY29uZCkgPSBAXzsKCiAgICAgICBpZiAo JHZhbCA9fiAvXi0vKQoJIHsKCSAgICMgU2tpcCAtbGZvbyBhbmQgLUxkaXIgc2lsZW50bHk7 IHRoZXNlIGFyZSBleHBsaWNpdGx5IGFsbG93ZWQuCgkgICBpZiAoJHZhbCAhfiAvXi1bbExd LyAmJgoJICAgICAgICMgU2tpcCAtZGxvcGVuIGFuZCAtZGxwcmVvcGVuOyB0aGVzZSBhcmUg ZXhwbGljaXRseSBhbGxvd2VkCgkgICAgICAgIyBmb3IgTGlidG9vbCBsaWJyYXJpZXMgb3Ig cHJvZ3JhbXMuICAoQWN0dWFsbHkgd2UgYXJlIGEgYml0CgkgICAgICAgIyBsYXggaGVyZSBz aW5jZSB0aGlzIGNvZGUgYWxzbyBhcHBsaWVzIHRvIG5vbi1saWJ0b29sCgkgICAgICAgIyBs aWJyYXJpZXMgb3IgcHJvZ3JhbXMsIGZvciB3aGljaCAtZGxvcGVuIGFuZCAtZGxvcHJlb3Bl bgoJICAgICAgICMgYXJlIHB1cmUgbm9uc2Vuc2UuICBEaWFnbm9zaW5nIHRoaXMgZG9lc24n dCBzZWVtIHZlcnkKCSAgICAgICAjIGltcG9ydGFudDogdGhlIGRldmVsb3BlciB3aWxsIHF1 aWNrbHkgZ2V0IGNvbXBsYWludHMgZnJvbQoJICAgICAgICMgdGhlIGxpbmtlci4pCgkgICAg ICAgJHZhbCAhfiAvXi1kbCg/OnByZSk/b3BlbiQvICYmCgkgICAgICAgIyBPbmx5IGdldCB0 aGlzIGVycm9yIG9uY2UuCgkgICAgICAgISAkZmxhZ3ZhcikKCSAgICAgewoJICAgICAgICRm bGFndmFyID0gMTsKCSAgICAgICAjIEZJWE1FOiBzaG91bGQgZGlzcGxheSBhIHN0YWNrIG9m IG5lc3RlZCB2YXJpYWJsZXMKCSAgICAgICAjIGFzIGNvbnRleHQgd2hlbiAkdmFyICE9ICRz dWJ2YXIuCgkgICAgICAgZXJyX3ZhciAoJHZhciwgImxpbmtlciBmbGFncyBzdWNoIGFzICck dmFsJyBiZWxvbmcgaW4gIgoJCQkuICInJHtwcmVmaXh9TERGTEFHUyciKTsKCSAgICAgfQoJ ICAgcmV0dXJuICgpOwoJIH0KICAgICAgIGVsc2lmICgkdmFsICF+IC9eXEAuKlxAJC8pCgkg ewoJICAgIyBBc3N1bWUgd2UgaGF2ZSBhIGZpbGUgb2Ygc29tZSBzb3J0LCBhbmQgb3V0cHV0 IGl0IGludG8gdGhlCgkgICAjIGRlcGVuZGVuY3kgdmFyaWFibGUuICBBdXRvY29uZiBzdWJz dGl0dXRpb25zIGFyZSBub3Qgb3V0cHV0OwoJICAgIyByYXJlbHkgaXMgYSBuZXcgZGVwZW5k ZW5jeSBzdWJzdGl0dXRlZCBpbnRvIGUuZy4gZm9vX0xEQURECgkgICAjIC0tIGJ1dCBiYWQg dGhpbmdzIChlLmcuIC1sWDExKSBhcmUgcm91dGluZWx5IHN1YnN0aXR1dGVkLgoJICAgIyBO b3RlIHRoYXQgTElCT0JKUyBhbmQgQUxMT0NBIGFyZSBleGNlcHRpb25zIHRvIHRoaXMgcnVs ZSwKCSAgICMgYW5kIGhhbmRsZWQgc3BlY2lhbGx5IGJlbG93LgoJICAgcmV0dXJuICR2YWw7 CgkgfQogICAgICAgZWxzaWYgKCR2YWwgPX4gL15cQChMVCk/TElCT0JKU1xAJC8pCgkgewoJ ICAgaGFuZGxlX0xJQk9CSlMgKCRzdWJ2YXIsICRjb25kLCAkMSk7CgkgICAkc2Vlbl9saWJv YmpzID0gMTsKCSAgIHJldHVybiAkdmFsOwoJIH0KICAgICAgIGVsc2lmICgkdmFsID1+IC9e XEAoTFQpP0FMTE9DQVxAJC8pCgkgewoJICAgaGFuZGxlX0FMTE9DQSAoJHN1YnZhciwgJGNv bmQsICQxKTsKCSAgIHJldHVybiAkdmFsOwoJIH0KICAgICAgIGVsc2UKCSB7CgkgICByZXR1 cm4gKCk7CgkgfQogICAgIH0pOwoKICByZXR1cm4gJHNlZW5fbGlib2JqczsKfQoKIyBoYW5k bGVfTElCT0JKU19vcl9BTExPQ0EgKCRWQVIsICRCQVNFKQojIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVmaW5pdGlvbnMgY29tbW9uIHRvIExJQk9CSlMg YW5kIEFMTE9DQS4KIyBWQVIgc2hvdWxkIGJlIG9uZSBvZiBMSUJPQkpTLCBMVExJQk9CSlMs IEFMTE9DQSwgb3IgTFRBTExPQ0EuCiMgQkFTRSBzaG91bGQgYmUgb25lIGJhc2UgZmlsZSBu YW1lIGZyb20gQUNfTElCU09VUkNFLCBvciBhbGxvY2EuCnN1YiBoYW5kbGVfTElCT0JKU19v cl9BTExPQ0EKewogIG15ICgkdmFyLCAkYmFzZSkgPSBAXzsKCiAgbXkgJGRpciA9ICcnOwoK ICAjIElmIExJQk9CSlMgZmlsZXMgbXVzdCBiZSBidWlsdCBpbiBhbm90aGVyIGRpcmVjdG9y eSB3ZSBoYXZlCiAgIyB0byBkZWZpbmUgTElCT0JKRElSIGFuZCBlbnN1cmUgdGhlIGZpbGVz IGdldCBjbGVhbmVkLgogICMgT3RoZXJ3aXNlIExJQk9CSkRJUiBjYW4gYmUgbGVmdCB1bmRl ZmluZWQsIGFuZCB0aGUgY2xlYW5pbmcKICAjIGlzIGFjaGlldmVkIGJ5ICdybSAtZiAqLiQo T0JKRVhUKScgaW4gY29tcGlsZS5hbS4KICBpZiAoJGNvbmZpZ19saWJvYmpfZGlyCiAgICAg ICYmICRyZWxhdGl2ZV9kaXIgbmUgJGNvbmZpZ19saWJvYmpfZGlyKQogICAgewogICAgICBp ZiAob3B0aW9uICdzdWJkaXItb2JqZWN0cycpCgl7CgkgICMgSW4gdGhlIHRvcC1sZXZlbCBN YWtlZmlsZSB3ZSBkbyBub3QgdXNlICQodG9wX2J1aWxkZGlyKSwgYmVjYXVzZQoJICAjIHdl IGFyZSBhbHJlYWR5IHRoZXJlLCBhbmQgc2luY2UgdGhlIHRhcmdldHMgYXJlIGJ1aWx0IHdp dGhvdXQKCSAgIyBhICQodG9wX2J1aWxkZGlyKSwgaXQgaGVscHMgQlNEIE1ha2UgdG8gbWF0 Y2ggdGhlbSB3aXRoCgkgICMgZGVwZW5kZW5jaWVzLgoJICAkZGlyID0gIiRjb25maWdfbGli b2JqX2Rpci8iCgkgICAgaWYgJGNvbmZpZ19saWJvYmpfZGlyIG5lICcuJzsKCSAgJGRpciA9 IGJhY2tuYW1lICgkcmVsYXRpdmVfZGlyKSAuICIvJGRpciIKCSAgICBpZiAkcmVsYXRpdmVf ZGlyIG5lICcuJzsKCSAgZGVmaW5lX3ZhcmlhYmxlICgnTElCT0JKRElSJywgIiRkaXIiLCBJ TlRFUk5BTCk7CgkgIGlmICgkZGlyICYmICFkZWZpbmVkICRjbGVhbl9maWxlc3siJGRpciRi YXNlLlwkKE9CSkVYVCkifSkKCSAgICB7CgkgICAgICBteSAkZGlyc3RhbXAgPSByZXF1aXJl X2J1aWxkX2RpcmVjdG9yeSAoJGRpcik7CgkgICAgICAkb3V0cHV0X3J1bGVzIC49ICIkZGly JGJhc2UuXCQoT0JKRVhUKTogJGRpcnN0YW1wXG4iOwoJICAgICAgJG91dHB1dF9ydWxlcyAu PSAiJGRpciRiYXNlLmxvOiAkZGlyc3RhbXBcbiIKCQlpZiAoJHZhciA9fiAvXkxULyk7Cgkg ICAgfQoJICAjIGxpYnRvb2wgbWlnaHQgY3JlYXRlIC4kKE9CSkVYVCkgYXMgYSBzaWRlLWVm ZmVjdCBvZiB1c2luZwoJICAjIExUTElCT0JKUyBvciBMVEFMTE9DQS4KCSAgJGNsZWFuX2Zp bGVzeyIkZGlyJGJhc2UuXCQoT0JKRVhUKSJ9ID0gTU9TVExZX0NMRUFOOwoJICAkY2xlYW5f ZmlsZXN7IiRkaXIkYmFzZS5sbyJ9ID0gTU9TVExZX0NMRUFOCgkgICAgaWYgKCR2YXIgPX4g L15MVC8pOwoJfQogICAgICBlbHNlCgl7CgkgIGVycm9yICgiJ1wkKCR2YXIpJyBjYW5ub3Qg YmUgdXNlZCBvdXRzaWRlICckY29uZmlnX2xpYm9ial9kaXInIGlmIgoJCSAuICIgJ3N1YmRp ci1vYmplY3RzJyBpcyBub3Qgc2V0Iik7Cgl9CiAgICB9CgogIHJldHVybiAkZGlyOwp9Cgpz dWIgaGFuZGxlX0xJQk9CSlMKewogIG15ICgkdmFyLCAkY29uZCwgJGx0KSA9IEBfOwogIG15 ICRteW9iamV4dCA9ICRsdCA/ICdsbycgOiAnbyc7CiAgJGx0IHx8PSAnJzsKCiAgJHZhci0+ cmVxdWlyZXNfdmFyaWFibGVzICgiXEAke2x0fUxJQk9CSlNcQCB1c2VkIiwgJGx0IC4gJ0xJ Qk9CSlMnKQogICAgaWYgISBrZXlzICVsaWJzb3VyY2VzOwoKICBmb3JlYWNoIG15ICRpdGVy IChrZXlzICVsaWJzb3VyY2VzKQogICAgewogICAgICBteSAkZGlyID0gJyc7CiAgICAgIGlm ICgkaXRlciA9fiAvXiguKikoXC5bY2x5XSkkLykKCXsKCSAgc2F3X2V4dGVuc2lvbiAoJDIp OwoJICBzYXdfZXh0ZW5zaW9uICgnLmMnKTsKCSAgJGRpciA9IGhhbmRsZV9MSUJPQkpTX29y X0FMTE9DQSAoIiR7bHR9TElCT0JKUyIsICQxKTsKCX0KCiAgICAgIGlmICgkaXRlciA9fiAv XC5oJC8pCgl7CgkgIHJlcXVpcmVfbGlic291cmNlX3dpdGhfbWFjcm8gKCRjb25kLCAkdmFy LCBGT1JFSUdOLCAkaXRlcik7Cgl9CiAgICAgIGVsc2lmICgkaXRlciBuZSAnYWxsb2NhLmMn KQoJewoJICBteSAkcmV3cml0ZSA9ICRpdGVyOwoJICAkcmV3cml0ZSA9fiBzL1wuYyQvLlAk bXlvYmpleHQvOwoJICAkZGVwX2ZpbGVzeyRkaXIgLiAnJChERVBESVIpLycgLiAkcmV3cml0 ZX0gPSAxOwoJICAkcmV3cml0ZSA9ICJeIiAuIHF1b3RlbWV0YSAoJGl0ZXIpIC4gIlwkIjsK CSAgIyBPbmx5IHJlcXVpcmUgdGhlIGZpbGUgaWYgaXQgaXMgbm90IGEgYnVpbHQgc291cmNl LgoJICBteSAkYnMgPSB2YXIgKCdCVUlMVF9TT1VSQ0VTJyk7CgkgIGlmICghICRicyB8fCAh IGdyZXAgKC8kcmV3cml0ZS8sICRicy0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpKQoJICAg IHsKCSAgICAgIHJlcXVpcmVfbGlic291cmNlX3dpdGhfbWFjcm8gKCRjb25kLCAkdmFyLCBG T1JFSUdOLCAkaXRlcik7CgkgICAgfQoJfQogICAgfQp9CgpzdWIgaGFuZGxlX0FMTE9DQQp7 CiAgbXkgKCR2YXIsICRjb25kLCAkbHQpID0gQF87CiAgbXkgJG15b2JqZXh0ID0gJGx0ID8g J2xvJyA6ICdvJzsKICAkbHQgfHw9ICcnOwogIG15ICRkaXIgPSBoYW5kbGVfTElCT0JKU19v cl9BTExPQ0EgKCIke2x0fUFMTE9DQSIsICJhbGxvY2EiKTsKCiAgJGRpciBlcSAnJyBhbmQg JGRpciA9ICcuLyc7CiAgJHZhci0+cmVxdWlyZXNfdmFyaWFibGVzICgiXEAke2x0fUFMTE9D QVxAIHVzZWQiLCAkbHQgLiAnQUxMT0NBJyk7CiAgJGRlcF9maWxlc3skZGlyIC4gJyQoREVQ RElSKS9hbGxvY2EuUCcgLiAkbXlvYmpleHR9ID0gMTsKICByZXF1aXJlX2xpYnNvdXJjZV93 aXRoX21hY3JvICgkY29uZCwgJHZhciwgRk9SRUlHTiwgJ2FsbG9jYS5jJyk7CiAgc2F3X2V4 dGVuc2lvbiAoJy5jJyk7Cn0KCiMgQ2Fub25pY2FsaXplIHRoZSBpbnB1dCBwYXJhbWV0ZXIu CnN1YiBjYW5vbmljYWxpemUKewogICAgbXkgKCRzdHJpbmcpID0gQF87CiAgICAkc3RyaW5n ID1+IHRyL0EtWmEtejAtOV9cQC9fL2M7CiAgICByZXR1cm4gJHN0cmluZzsKfQoKIyBDYW5v bmljYWxpemUgYSBuYW1lLCBhbmQgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBub24tY2Fub25p Y2FsIG5hbWUKIyBpcyBuZXZlciB1c2VkLiAgUmV0dXJucyBjYW5vbmljYWwgbmFtZS4gIEFy Z3VtZW50cyBhcmUgbmFtZSBhbmQgYQojIGxpc3Qgb2Ygc3VmZml4ZXMgdG8gY2hlY2sgZm9y LgpzdWIgY2hlY2tfY2Fub25pY2FsX3NwZWxsaW5nCnsKICBteSAoJG5hbWUsIEBzdWZmaXhl cykgPSBAXzsKCiAgbXkgJHhuYW1lID0gY2Fub25pY2FsaXplICgkbmFtZSk7CiAgaWYgKCR4 bmFtZSBuZSAkbmFtZSkKICAgIHsKICAgICAgZm9yZWFjaCBteSAkeHQgKEBzdWZmaXhlcykK CXsKCSAgcmVqZWN0X3ZhciAoIiRuYW1lJHh0IiwgInVzZSAnJHhuYW1lJHh0Jywgbm90ICck bmFtZSR4dCciKTsKCX0KICAgIH0KCiAgcmV0dXJuICR4bmFtZTsKfQoKIyBTZXQgdXAgdGhl IGNvbXBpbGUgc3VpdGUuCnN1YiBoYW5kbGVfY29tcGlsZSAoKQp7CiAgIHJldHVybiBpZiAh ICRtdXN0X2hhbmRsZV9jb21waWxlZF9vYmplY3RzOwoKICAgICMgQm9pbGVycGxhdGUuCiAg ICBteSAkZGVmYXVsdF9pbmNsdWRlcyA9ICcnOwogICAgaWYgKCEgb3B0aW9uICdub3N0ZGlu YycpCiAgICAgIHsKCW15IEBpbmNzID0gKCctSS4nLCBzdWJzdCAoJ2FtX19pc3JjJykpOwoK CW15ICR2YXIgPSB2YXIgJ0NPTkZJR19IRUFERVInOwoJaWYgKCR2YXIpCgkgIHsKCSAgICBm b3JlYWNoIG15ICRoZHIgKHNwbGl0ICgnICcsICR2YXItPnZhcmlhYmxlX3ZhbHVlKSkKCSAg ICAgIHsKCQlwdXNoIEBpbmNzLCAnLUknIC4gZGlybmFtZSAoJGhkcik7CgkgICAgICB9Cgkg IH0KCSMgV2Ugd2FudCAnLUkuIC1JJChzcmNkaXIpJywgYnV0IHRoZSBsYXR0ZXIgLUkgaXMg cmVkdW5kYW50CgkjIGFuZCB1bmFlc3RoZXRpYyBpbiBub24tVlBBVEggYnVpbGRzLiAgV2Ug dXNlIGAtSS5AYW1fX2lzcmNAYAoJIyBpbnN0ZWFkLiAgSXQgd2lsbCBiZSByZXBsYWNlZCBi eSAnLUkuJyBvciAnLUkuIC1JJChzcmNkaXIpJy4KCSMgSXRlbXMgaW4gQ09ORklHX0hFQURF UiBhcmUgbmV2ZXIgaW4gJChzcmNkaXIpIHNvIGl0IGlzIHNhZmUKCSMgdG8ganVzdCBwdXQg QGFtX19pc3JjQCByaWdodCBhZnRlciAnLUkuJywgd2l0aG91dCBhIHNwYWNlLgoJKCRkZWZh dWx0X2luY2x1ZGVzID0gJyAnIC4gdW5pcSAoQGluY3MpKSA9fiBzLyBAL0AvOwogICAgICB9 CgogICAgbXkgKEBtb3N0bHlfcm1zLCBAZGlzdF9ybXMpOwogICAgZm9yZWFjaCBteSAkaXRl bSAoc29ydCBrZXlzICVjb21waWxlX2NsZWFuX2ZpbGVzKQogICAgewoJaWYgKCRjb21waWxl X2NsZWFuX2ZpbGVzeyRpdGVtfSA9PSBNT1NUTFlfQ0xFQU4pCgl7CgkgICAgcHVzaCAoQG1v c3RseV9ybXMsICJcdC1ybSAtZiAkaXRlbSIpOwoJfQoJZWxzaWYgKCRjb21waWxlX2NsZWFu X2ZpbGVzeyRpdGVtfSA9PSBESVNUX0NMRUFOKQoJewoJICAgIHB1c2ggKEBkaXN0X3Jtcywg Ilx0LXJtIC1mICRpdGVtIik7Cgl9CgllbHNlCgl7CgkgIHByb2dfZXJyb3IgJ2ludmFsaWQg ZW50cnkgaW4gJWNvbXBpbGVfY2xlYW5fZmlsZXMnOwoJfQogICAgfQoKICAgIG15ICgkY29t cywgJHZhcnMsICRydWxlcykgPQogICAgICBmaWxlX2NvbnRlbnRzX2ludGVybmFsICgxLCAi JGxpYmRpci9hbS9jb21waWxlLmFtIiwKCQkJICAgICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlv biwKCQkJICAgICAgJ0RFRkFVTFRfSU5DTFVERVMnID0+ICRkZWZhdWx0X2luY2x1ZGVzLAoJ CQkgICAgICAnTU9TVExZUk1TJyA9PiBqb2luICgiXG4iLCBAbW9zdGx5X3JtcyksCgkJCSAg ICAgICdESVNUUk1TJyA9PiBqb2luICgiXG4iLCBAZGlzdF9ybXMpKTsKICAgICRvdXRwdXRf dmFycyAuPSAkdmFyczsKICAgICRvdXRwdXRfcnVsZXMgLj0gIiRjb21zJHJ1bGVzIjsKfQoK IyBIYW5kbGUgbGlidG9vbCBydWxlcy4Kc3ViIGhhbmRsZV9saWJ0b29sICgpCnsKICByZXR1 cm4gdW5sZXNzIHZhciAoJ0xJQlRPT0wnKTsKCiAgIyBMaWJ0b29sIHJlcXVpcmVzIHNvbWUg ZmlsZXMsIGJ1dCBvbmx5IGF0IHRvcCBsZXZlbC4KICAjIChTdGFydGluZyB3aXRoIExpYnRv b2wgMi4wIHdlIGRvIG5vdCBoYXZlIHRvIGJvdGhlci4gIFRoZXNlCiAgIyByZXF1aXJlbWVu dHMgYXJlIGRvbmUgd2l0aCBBQ19SRVFVSVJFX0FVWF9GSUxFLikKICByZXF1aXJlX2NvbmZf ZmlsZV93aXRoX21hY3JvIChUUlVFLCAnTElCVE9PTCcsIEZPUkVJR04sIEBsaWJ0b29sX2Zp bGVzKQogICAgaWYgJHJlbGF0aXZlX2RpciBlcSAnLicgJiYgISAkbGlidG9vbF9uZXdfYXBp OwoKICBteSBAbGlidG9vbF9ybXM7CiAgZm9yZWFjaCBteSAkaXRlbSAoc29ydCBrZXlzICVs aWJ0b29sX2NsZWFuX2RpcmVjdG9yaWVzKQogICAgewogICAgICBteSAkZGlyID0gKCRpdGVt IGVxICcuJykgPyAnJyA6ICIkaXRlbS8iOwogICAgICAjIC5saWJzIGlzIGZvciBVbml4LCBf bGlicyBmb3IgRE9TLgogICAgICBwdXNoIChAbGlidG9vbF9ybXMsICJcdC1ybSAtcmYgJHtk aXJ9LmxpYnMgJHtkaXJ9X2xpYnMiKTsKICAgIH0KCiAgY2hlY2tfdXNlcl92YXJpYWJsZXMg J0xJQlRPT0xGTEFHUyc7CgogICMgT3V0cHV0IHRoZSBsaWJ0b29sIGNvbXBpbGF0aW9uIHJ1 bGVzLgogICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ2xpYnRvb2wnLAoJCQkJ ICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkJICAgTFRSTVMgPT4gam9pbiAoIlxuIiwg QGxpYnRvb2xfcm1zKSk7Cn0KCiMgQ2hlY2sgZm9yIGR1cGxpY2F0ZSB0YXJnZXRzCnN1YiBo YW5kbGVfdGFyZ2V0cyAoKQp7CiAgbXkgJXNlZW4gPSAoKTsKICBteSBAZHVwcyA9ICgpOwog IEBwcm9nbGlzdCA9IGFtX2luc3RhbGxfdmFyICgncHJvZ3MnLCAnUFJPR1JBTVMnLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnYmluJywgJ3NiaW4nLCAnbGliZXhlYycsICdw a2dsaWJleGVjJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vaW5zdCcsICdj aGVjaycpOwogIEBsaWJsaXN0ID0gYW1faW5zdGFsbF92YXIgKCdsaWJzJywgJ0xJQlJBUklF UycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xpYicsICdwa2dsaWInLCAnbm9p bnN0JywgJ2NoZWNrJyk7CiAgQGx0bGlibGlzdCA9IGFtX2luc3RhbGxfdmFyICgnbHRsaWIn LCAnTFRMSUJSQVJJRVMnLAoJCQkgICAgICAgJ25vaW5zdCcsICdsaWInLCAncGtnbGliJywg J2NoZWNrJyk7CgogICMgUmVjb3JkIGR1cGxpY2F0aW9ucyB0aGF0IG1heSBhcmlzZSBhZnRl ciBjYW5vbmljYWxpemF0aW9uIG9mIHRoZQogICMgYmFzZSBuYW1lcywgaW4gb3JkZXIgdG8g cHJldmVudCBvYmplY3QgZmlsZSBjbGFzaGVzIGluIHRoZSBwcmVzZW5jZQogICMgb2YgdGFy Z2V0LXNwZWNpZmljICpGTEFHUwogIG15IEB0YXJnZXRsaXN0ID0gKEBwcm9nbGlzdCwgQGxp Ymxpc3QsIEBsdGxpYmxpc3QpOwogIGZvcmVhY2ggbXkgJHBhaXIgKEB0YXJnZXRsaXN0KQog ICAgewogICAgICBteSAkYmFzZSA9IGNhbm9uaWNhbGl6ZSAoYmFzZW5hbWUgKEAkcGFpclsx XSkpOwogICAgICBwdXNoIChAZHVwX3Nob3J0bmFtZXMsICRiYXNlKSBpZiAoJHNlZW57JGJh c2V9KTsKICAgICAgJHNlZW57JGJhc2V9ID0gJGJhc2U7CiAgICB9Cn0KCnN1YiBoYW5kbGVf cHJvZ3JhbXMgKCkKewogIHJldHVybiBpZiAhIEBwcm9nbGlzdDsKICAkbXVzdF9oYW5kbGVf Y29tcGlsZWRfb2JqZWN0cyA9IDE7CgogIG15ICRzZWVuX2dsb2JhbF9saWJvYmpzID0KICAg IHZhciAoJ0xEQUREJykgJiYgaGFuZGxlX2xpYl9vYmplY3RzICgnJywgJ0xEQUREJyk7Cgog IGZvcmVhY2ggbXkgJHBhaXIgKEBwcm9nbGlzdCkKICAgIHsKICAgICAgbXkgKCR3aGVyZSwg JG9uZV9maWxlKSA9IEAkcGFpcjsKCiAgICAgIG15ICRzZWVuX2xpYm9ianMgPSAwOwogICAg ICBteSAkb2JqID0gJy4kKE9CSkVYVCknOwoKICAgICAgJGtub3duX3Byb2dyYW1zeyRvbmVf ZmlsZX0gPSAkd2hlcmU7CgogICAgICAjIENhbm9uaWNhbGl6ZSBuYW1lcyBhbmQgY2hlY2sg Zm9yIG1pc3NwZWxsaW5ncy4KICAgICAgbXkgJHhuYW1lID0gY2hlY2tfY2Fub25pY2FsX3Nw ZWxsaW5nICgkb25lX2ZpbGUsICdfTERBREQnLCAnX0xERkxBR1MnLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfU09VUkNFUycsICdfT0JKRUNUUycs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19ERVBFTkRF TkNJRVMnKTsKCiAgICAgICR3aGVyZS0+cHVzaF9jb250ZXh0ICgid2hpbGUgcHJvY2Vzc2lu ZyBwcm9ncmFtICckb25lX2ZpbGUnIik7CiAgICAgICR3aGVyZS0+c2V0IChJTlRFUk5BTC0+ Z2V0KTsKCiAgICAgIG15ICRsaW5rZXIgPSBoYW5kbGVfc291cmNlX3RyYW5zZm9ybSAoJHhu YW1lLCAkb25lX2ZpbGUsICRvYmosICR3aGVyZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOT05MSUJUT09MID0+IDEsIExJQlRPT0wgPT4gMCk7Cgog ICAgICBpZiAodmFyICgkeG5hbWUgLiAiX0xEQUREIikpCgl7CgkgICRzZWVuX2xpYm9ianMg PSBoYW5kbGVfbGliX29iamVjdHMgKCR4bmFtZSwgJHhuYW1lIC4gJ19MREFERCcpOwoJfQog ICAgICBlbHNlCgl7CgkgICMgVXNlciBkaWRuJ3QgZGVmaW5lIHByb2dfTERBREQgb3ZlcnJp ZGUuICBTbyBkbyBpdC4KCSAgZGVmaW5lX3ZhcmlhYmxlICgkeG5hbWUgLiAnX0xEQUREJywg JyQoTERBREQpJywgJHdoZXJlKTsKCgkgICMgVGhpcyBkb2VzIGEgYml0IHRvbyBtdWNoIHdv cmsuICBCdXQgd2UgbmVlZCBpdCB0bwoJICAjIGdlbmVyYXRlIF9ERVBFTkRFTkNJRVMgd2hl biBhcHByb3ByaWF0ZS4KCSAgaWYgKHZhciAoJ0xEQUREJykpCgkgICAgewoJICAgICAgJHNl ZW5fbGlib2JqcyA9IGhhbmRsZV9saWJfb2JqZWN0cyAoJHhuYW1lLCAnTERBREQnKTsKCSAg ICB9Cgl9CgogICAgICByZWplY3RfdmFyICgkeG5hbWUgLiAnX0xJQkFERCcsCgkJICAidXNl ICcke3huYW1lfV9MREFERCcsIG5vdCAnJHt4bmFtZX1fTElCQUREJyIpOwoKICAgICAgc2V0 X3NlZW4gKCR4bmFtZSAuICdfREVQRU5ERU5DSUVTJyk7CiAgICAgIHNldF9zZWVuICgnRVhU UkFfJyAuICR4bmFtZSAuICdfREVQRU5ERU5DSUVTJyk7CiAgICAgIHNldF9zZWVuICgkeG5h bWUgLiAnX0xERkxBR1MnKTsKCiAgICAgICMgRGV0ZXJtaW5lIHByb2dyYW0gdG8gdXNlIGZv ciBsaW5rLgogICAgICBteSgkeGxpbmssICR2bGluaykgPSBkZWZpbmVfcGVyX3RhcmdldF9s aW5rZXJfdmFyaWFibGUgKCRsaW5rZXIsICR4bmFtZSk7CiAgICAgICR2bGluayA9IHZlcmJv c2VfZmxhZyAoJHZsaW5rIHx8ICdHRU4nKTsKCiAgICAgICMgSWYgdGhlIHJlc3VsdGluZyBw cm9ncmFtIGxpZXMgaW4gYSBzdWJkaXJlY3RvcnksCiAgICAgICMgZW5zdXJlIHRoYXQgdGhl IGRpcmVjdG9yeSBleGlzdHMgYmVmb3JlIHdlIG5lZWQgaXQuCiAgICAgIG15ICRkaXJzdGFt cCA9IHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5X21heWJlICgkb25lX2ZpbGUpOwoKICAgICAg JGxpYnRvb2xfY2xlYW5fZGlyZWN0b3JpZXN7ZGlybmFtZSAoJG9uZV9maWxlKX0gPSAxOwoK ICAgICAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgncHJvZ3JhbScsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBST0dSQU0gID0+ICRvbmVfZmlsZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYUFJPR1JBTSA9PiAkeG5hbWUsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWExJTksgICAgPT4gJHhsaW5r LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFUkJPU0UgID0+ICR2 bGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVJTVEFNUCA9 PiAkZGlyc3RhbXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhF RVhUICAgPT4gJyQoRVhFRVhUKScpOwoKICAgICAgaWYgKCRzZWVuX2xpYm9ianMgfHwgJHNl ZW5fZ2xvYmFsX2xpYm9ianMpCgl7CgkgIGlmICh2YXIgKCR4bmFtZSAuICdfTERBREQnKSkK CSAgICB7CgkgICAgICBjaGVja19saWJvYmpzX3NvdXJjZXMgKCR4bmFtZSwgJHhuYW1lIC4g J19MREFERCcpOwoJICAgIH0KCSAgZWxzaWYgKHZhciAoJ0xEQUREJykpCgkgICAgewoJICAg ICAgY2hlY2tfbGlib2Jqc19zb3VyY2VzICgkeG5hbWUsICdMREFERCcpOwoJICAgIH0KCX0K ICAgIH0KfQoKCnN1YiBoYW5kbGVfbGlicmFyaWVzICgpCnsKICByZXR1cm4gaWYgISBAbGli bGlzdDsKICAkbXVzdF9oYW5kbGVfY29tcGlsZWRfb2JqZWN0cyA9IDE7CgogIG15IEBwcmVm aXggPSBhbV9wcmltYXJ5X3ByZWZpeGVzICgnTElCUkFSSUVTJywgMCwgJ2xpYicsICdwa2ds aWInLAoJCQkJICAgICdub2luc3QnLCAnY2hlY2snKTsKCiAgaWYgKEBwcmVmaXgpCiAgICB7 CiAgICAgIG15ICR2YXIgPSBydmFyICgkcHJlZml4WzBdIC4gJ19MSUJSQVJJRVMnKTsKICAg ICAgJHZhci0+cmVxdWlyZXNfdmFyaWFibGVzICgnbGlicmFyeSB1c2VkJywgJ1JBTkxJQicp OwogICAgfQoKICBkZWZpbmVfdmFyaWFibGUgKCdBUicsICdhcicsIElOVEVSTkFMKTsKICBk ZWZpbmVfdmFyaWFibGUgKCdBUkZMQUdTJywgJ2NydScsIElOVEVSTkFMKTsKICBkZWZpbmVf dmVyYm9zZV90YWd2YXIgKCdBUicpOwoKICBmb3JlYWNoIG15ICRwYWlyIChAbGlibGlzdCkK ICAgIHsKICAgICAgbXkgKCR3aGVyZSwgJG9uZWxpYikgPSBAJHBhaXI7CgogICAgICBteSAk c2Vlbl9saWJvYmpzID0gMDsKICAgICAgIyBDaGVjayB0aGF0IHRoZSBsaWJyYXJ5IGZpdHMg dGhlIHN0YW5kYXJkIG5hbWluZyBjb252ZW50aW9uLgogICAgICBteSAkYm4gPSBiYXNlbmFt ZSAoJG9uZWxpYik7CiAgICAgIGlmICgkYm4gIX4gL15saWIuKlwuYSQvKQoJewoJICAkYm4g PX4gcy9eKD86bGliKT8oLio/KSg/OlwuW14uXSopPyQvbGliJDEuYS87CgkgIG15ICRzdWdn ZXN0aW9uID0gZGlybmFtZSAoJG9uZWxpYikgLiAiLyRibiI7CgkgICRzdWdnZXN0aW9uID1+ IHN8XlwuL3x8ZzsKCSAgbXNnICgnZXJyb3ItZ251L3dhcm4nLCAkd2hlcmUsCgkgICAgICAg Iickb25lbGliJyBpcyBub3QgYSBzdGFuZGFyZCBsaWJyYXJ5IG5hbWVcbiIKCSAgICAgICAu ICJkaWQgeW91IG1lYW4gJyRzdWdnZXN0aW9uJz8iKQoJfQoKICAgICAgKCRrbm93bl9saWJy YXJpZXN7JG9uZWxpYn0gPSAkYm4pID1+IHMvXC5hJC8vOwoKICAgICAgJHdoZXJlLT5wdXNo X2NvbnRleHQgKCJ3aGlsZSBwcm9jZXNzaW5nIGxpYnJhcnkgJyRvbmVsaWInIik7CiAgICAg ICR3aGVyZS0+c2V0IChJTlRFUk5BTC0+Z2V0KTsKCiAgICAgIG15ICRvYmogPSAnLiQoT0JK RVhUKSc7CgogICAgICAjIENhbm9uaWNhbGl6ZSBuYW1lcyBhbmQgY2hlY2sgZm9yIG1pc3Nw ZWxsaW5ncy4KICAgICAgbXkgJHhsaWIgPSBjaGVja19jYW5vbmljYWxfc3BlbGxpbmcgKCRv bmVsaWIsICdfTElCQUREJywgJ19TT1VSQ0VTJywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdfT0JKRUNUUycsICdfREVQRU5ERU5DSUVTJywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfQVInKTsKCiAgICAgIGlm ICghIHZhciAoJHhsaWIgLiAnX0FSJykpCgl7CgkgIGRlZmluZV92YXJpYWJsZSAoJHhsaWIg LiAnX0FSJywgJyQoQVIpICQoQVJGTEFHUyknLCAkd2hlcmUpOwoJfQoKICAgICAgIyBHZW5l cmF0ZSBzdXBwb3J0IGZvciBjb25kaXRpb25hbCBvYmplY3QgaW5jbHVzaW9uIGluCiAgICAg ICMgbGlicmFyaWVzLgogICAgICBpZiAodmFyICgkeGxpYiAuICdfTElCQUREJykpCgl7Cgkg IGlmIChoYW5kbGVfbGliX29iamVjdHMgKCR4bGliLCAkeGxpYiAuICdfTElCQUREJykpCgkg ICAgewoJICAgICAgJHNlZW5fbGlib2JqcyA9IDE7CgkgICAgfQoJfQogICAgICBlbHNlCgl7 CgkgIGRlZmluZV92YXJpYWJsZSAoJHhsaWIgLiAiX0xJQkFERCIsICcnLCAkd2hlcmUpOwoJ fQoKICAgICAgcmVqZWN0X3ZhciAoJHhsaWIgLiAnX0xEQUREJywKCQkgICJ1c2UgJyR7eGxp Yn1fTElCQUREJywgbm90ICcke3hsaWJ9X0xEQUREJyIpOwoKICAgICAgIyBNYWtlIHN1cmUg d2UgYXQgbG9vayBhdCB0aGlzLgogICAgICBzZXRfc2VlbiAoJHhsaWIgLiAnX0RFUEVOREVO Q0lFUycpOwogICAgICBzZXRfc2VlbiAoJ0VYVFJBXycgLiAkeGxpYiAuICdfREVQRU5ERU5D SUVTJyk7CgogICAgICBoYW5kbGVfc291cmNlX3RyYW5zZm9ybSAoJHhsaWIsICRvbmVsaWIs ICRvYmosICR3aGVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PTkxJQlRP T0wgPT4gMSwgTElCVE9PTCA9PiAwKTsKCiAgICAgICMgSWYgdGhlIHJlc3VsdGluZyBsaWJy YXJ5IGxpZXMgaW4gYSBzdWJkaXJlY3RvcnksCiAgICAgICMgbWFrZSBzdXJlIHRoaXMgZGly ZWN0b3J5IHdpbGwgZXhpc3QuCiAgICAgIG15ICRkaXJzdGFtcCA9IHJlcXVpcmVfYnVpbGRf ZGlyZWN0b3J5X21heWJlICgkb25lbGliKTsKICAgICAgbXkgJHZlcmJvc2UgPSB2ZXJib3Nl X2ZsYWcgKCdBUicpOwogICAgICBteSAkc2lsZW50ID0gc2lsZW50X2ZsYWcgKCk7CgogICAg ICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCdsaWJyYXJ5JywKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoZXJlLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBWRVJCT1NFICA9PiAkdmVyYm9zZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0lMRU5UICAgPT4gJHNpbGVudCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCUkFSWSAgPT4gJG9uZWxp YiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWExJQlJBUlkgPT4g JHhsaWIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJUlNUQU1Q ID0+ICRkaXJzdGFtcCk7CgogICAgICBpZiAoJHNlZW5fbGlib2JqcykKCXsKCSAgaWYgKHZh ciAoJHhsaWIgLiAnX0xJQkFERCcpKQoJICAgIHsKCSAgICAgIGNoZWNrX2xpYm9ianNfc291 cmNlcyAoJHhsaWIsICR4bGliIC4gJ19MSUJBREQnKTsKCSAgICB9Cgl9CgogICAgICBpZiAo ISAkc2Vlbl9hcikKCXsKCSAgbXNnICgnZXh0cmEtcG9ydGFiaWxpdHknLCAkd2hlcmUsCgkg ICAgICAgIickb25lbGliJzogbGlua2luZyBsaWJyYXJpZXMgdXNpbmcgYSBub24tUE9TSVhc biIKCSAgICAgICAuICJhcmNoaXZlciByZXF1aXJlcyAnQU1fUFJPR19BUicgaW4gJyRjb25m aWd1cmVfYWMnIikKCX0KICAgIH0KfQoKCnN1YiBoYW5kbGVfbHRsaWJyYXJpZXMgKCkKewog IHJldHVybiBpZiAhIEBsdGxpYmxpc3Q7CiAgJG11c3RfaGFuZGxlX2NvbXBpbGVkX29iamVj dHMgPSAxOwoKICBteSBAcHJlZml4ID0gYW1fcHJpbWFyeV9wcmVmaXhlcyAoJ0xUTElCUkFS SUVTJywgMCwgJ2xpYicsICdwa2dsaWInLAoJCQkJICAgICdub2luc3QnLCAnY2hlY2snKTsK CiAgaWYgKEBwcmVmaXgpCiAgICB7CiAgICAgIG15ICR2YXIgPSBydmFyICgkcHJlZml4WzBd IC4gJ19MVExJQlJBUklFUycpOwogICAgICAkdmFyLT5yZXF1aXJlc192YXJpYWJsZXMgKCdM aWJ0b29sIGxpYnJhcnkgdXNlZCcsICdMSUJUT09MJyk7CiAgICB9CgogIG15ICVpbnN0ZGly cyA9ICgpOwogIG15ICVpbnN0c3ViZGlycyA9ICgpOwogIG15ICVpbnN0Y29uZHMgPSAoKTsK ICBteSAlbGlibG9jYXRpb25zID0gKCk7CSMgTG9jYXRpb24gKGluIE1ha2VmaWxlLmFtKSBv ZiBlYWNoIGxpYnJhcnkuCgogIGZvcmVhY2ggbXkgJGtleSAoQHByZWZpeCkKICAgIHsKICAg ICAgIyBHZXQgdGhlIGluc3RhbGxhdGlvbiBkaXJlY3Rvcnkgb2YgZWFjaCBsaWJyYXJ5Lgog ICAgICBteSAkZGlyID0gJGtleTsKICAgICAgbXkgJHN0cmlwX3N1YmRpciA9IDE7CiAgICAg IGlmICgkZGlyID1+IC9ebm9iYXNlXy8pCiAgICAgICAgewoJICAkZGlyID1+IHMvXm5vYmFz ZV8vLzsKCSAgJHN0cmlwX3N1YmRpciA9IDA7Cgl9CiAgICAgIG15ICR2YXIgPSBydmFyICgk a2V5IC4gJ19MVExJQlJBUklFUycpOwoKICAgICAgIyBXZSByZWplY3QgbGlicmFyaWVzIHdo aWNoIGFyZSBpbnN0YWxsZWQgaW4gc2V2ZXJhbCBwbGFjZXMKICAgICAgIyBpbiB0aGUgc2Ft ZSBjb25kaXRpb24sIGJlY2F1c2Ugd2UgY2FuIG9ubHkgc3BlY2lmeSBvbmUKICAgICAgIyAn LXJwYXRoJyBvcHRpb24uCiAgICAgICR2YXItPnRyYXZlcnNlX3JlY3Vyc2l2ZWx5Cgkoc3Vi CgkgewoJICAgbXkgKCR2YXIsICR2YWwsICRjb25kLCAkZnVsbF9jb25kKSA9IEBfOwoJICAg bXkgJGhjb25kID0gJGZ1bGxfY29uZC0+aHVtYW47CgkgICBteSAkd2hlcmUgPSAkdmFyLT5y ZGVmICgkY29uZCktPmxvY2F0aW9uOwoJICAgbXkgJGxkaXIgPSAnJzsKCSAgICRsZGlyID0g Jy8nIC4gZGlybmFtZSAoJHZhbCkKCSAgICAgaWYgKCEkc3RyaXBfc3ViZGlyKTsKCSAgICMg QSBsaWJyYXJ5IGNhbm5vdCBiZSBpbnN0YWxsZWQgaW4gZGlmZmVyZW50IGRpcmVjdG9yaWVz CgkgICAjIGluIG92ZXJsYXBwaW5nIGNvbmRpdGlvbnMuCgkgICBpZiAoZXhpc3RzICRpbnN0 Y29uZHN7JHZhbH0pCgkgICAgIHsKCSAgICAgICBteSAoJG1zZywgJGFjb25kKSA9CgkJICRp bnN0Y29uZHN7JHZhbH0tPmFtYmlndW91c19wICgkdmFsLCAkZnVsbF9jb25kKTsKCgkgICAg ICAgaWYgKCRtc2cpCgkJIHsKCQkgICBlcnJvciAoJHdoZXJlLCAkbXNnLCBwYXJ0aWFsID0+ IDEpOwoJCSAgIG15ICRkaXJ0eHQgPSAiaW5zdGFsbGVkICIgLiAoJHN0cmlwX3N1YmRpciA/ ICJpbiIgOiAiYmVsb3ciKSAuICIgJyRkaXInIjsKCQkgICAkZGlydHh0ID0gImJ1aWx0IGZv ciAnJGRpciciCgkJICAgICBpZiAkZGlyIGVxICdFWFRSQScgfHwgJGRpciBlcSAnbm9pbnN0 JyB8fCAkZGlyIGVxICdjaGVjayc7CgkJICAgbXkgJGRpcmNvbmQgPQoJCSAgICAgJGZ1bGxf Y29uZC0+dHJ1ZSA/ICIiIDogIiBpbiBjb25kaXRpb24gJGhjb25kIjsKCgkJICAgZXJyb3Ig KCR3aGVyZSwgIickdmFsJyBzaG91bGQgYmUgJGRpcnR4dCRkaXJjb25kIC4uLiIsCgkJCSAg cGFydGlhbCA9PiAxKTsKCgkJICAgbXkgJGhhY29uZCA9ICRhY29uZC0+aHVtYW47CgkJICAg bXkgJGFkaXIgPSAkaW5zdGRpcnN7JHZhbH17JGFjb25kfTsKCQkgICBteSAkYWRpcnR4dCA9 ICJpbnN0YWxsZWQgaW4gJyRhZGlyJyI7CgkJICAgJGFkaXJ0eHQgPSAiYnVpbHQgZm9yICck YWRpciciCgkJICAgICBpZiAoJGFkaXIgZXEgJ0VYVFJBJyB8fCAkYWRpciBlcSAnbm9pbnN0 JwoJCQkgfHwgJGFkaXIgZXEgJ2NoZWNrJyk7CgkJICAgbXkgJGFkaXJjb25kID0gJGFjb25k LT50cnVlID8gIiIgOiAiIGluIGNvbmRpdGlvbiAkaGFjb25kIjsKCgkJICAgbXkgJG9ubHlv bmUgPSAoJGRpciBuZSAkYWRpcikgPwoJCSAgICAgKCJcbkxpYnRvb2wgbGlicmFyaWVzIGNh biBiZSBidWlsdCBmb3Igb25seSBvbmUgIgoJCSAgICAgIC4gImRlc3RpbmF0aW9uIikgOiAi IjsKCgkJICAgZXJyb3IgKCRsaWJsb2NhdGlvbnN7JHZhbH17JGFjb25kfSwKCQkJICAiLi4u IGFuZCBzaG91bGQgYWxzbyBiZSAkYWRpcnR4dCRhZGlyY29uZC4kb25seW9uZSIpOwoJCSAg IHJldHVybjsKCQkgfQoJICAgICB9CgkgICBlbHNlCgkgICAgIHsKCSAgICAgICAkaW5zdGNv bmRzeyR2YWx9ID0gbmV3IEF1dG9tYWtlOjpEaXNqQ29uZGl0aW9uczsKCSAgICAgfQoJICAg JGluc3RkaXJzeyR2YWx9eyRmdWxsX2NvbmR9ID0gJGRpcjsKCSAgICRpbnN0c3ViZGlyc3sk dmFsfXskZnVsbF9jb25kfSA9ICRsZGlyOwoJICAgJGxpYmxvY2F0aW9uc3skdmFsfXskZnVs bF9jb25kfSA9ICR3aGVyZTsKCSAgICRpbnN0Y29uZHN7JHZhbH0gPSAkaW5zdGNvbmRzeyR2 YWx9LT5tZXJnZSAoJGZ1bGxfY29uZCk7CgkgfSwKCSBzdWIKCSB7CgkgICByZXR1cm4gKCk7 CgkgfSwKCSBza2lwX2FjX3N1YnN0ID0+IDEpOwogICAgfQoKICBmb3JlYWNoIG15ICRwYWly IChAbHRsaWJsaXN0KQogICAgewogICAgICBteSAoJHdoZXJlLCAkb25lbGliKSA9IEAkcGFp cjsKCiAgICAgIG15ICRzZWVuX2xpYm9ianMgPSAwOwogICAgICBteSAkb2JqID0gJy5sbyc7 CgogICAgICAjIENhbm9uaWNhbGl6ZSBuYW1lcyBhbmQgY2hlY2sgZm9yIG1pc3NwZWxsaW5n cy4KICAgICAgbXkgJHhsaWIgPSBjaGVja19jYW5vbmljYWxfc3BlbGxpbmcgKCRvbmVsaWIs ICdfTElCQUREJywgJ19MREZMQUdTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdfU09VUkNFUycsICdfT0JKRUNUUycsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnX0RFUEVOREVOQ0lFUycpOwoKICAgICAgIyBD aGVjayB0aGF0IHRoZSBsaWJyYXJ5IGZpdHMgdGhlIHN0YW5kYXJkIG5hbWluZyBjb252ZW50 aW9uLgogICAgICBteSAkbGlibmFtZV9yeCA9ICdebGliLipcLmxhJzsKICAgICAgbXkgJGxk dmFyID0gdmFyICgiJHt4bGlifV9MREZMQUdTIikgfHwgdmFyICgnQU1fTERGTEFHUycpOwog ICAgICBteSAkbGR2YXIyID0gdmFyICgnTERGTEFHUycpOwogICAgICBpZiAoKCRsZHZhciAm JiBncmVwICgvLW1vZHVsZS8sICRsZHZhci0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpKQoJ ICB8fCAoJGxkdmFyMiAmJiBncmVwICgvLW1vZHVsZS8sICRsZHZhcjItPnZhbHVlX2FzX2xp c3RfcmVjdXJzaXZlKSkpCgl7CgkgICMgUmVsYXggbmFtZSBjaGVja2luZyBmb3IgbGlidG9v bCBtb2R1bGVzLgoJICAkbGlibmFtZV9yeCA9ICdcLmxhJzsKCX0KCiAgICAgIG15ICRibiA9 IGJhc2VuYW1lICgkb25lbGliKTsKICAgICAgaWYgKCRibiAhfiAvJGxpYm5hbWVfcngkLykK CXsKCSAgbXkgJHR5cGUgPSAnbGlicmFyeSc7CgkgIGlmICgkbGlibmFtZV9yeCBlcSAnXC5s YScpCgkgICAgewoJICAgICAgJGJuID1+IHMvXihsaWJ8KSguKj8pKD86XC5bXi5dKik/JC8k MSQyLmxhLzsKCSAgICAgICR0eXBlID0gJ21vZHVsZSc7CgkgICAgfQoJICBlbHNlCgkgICAg ewoJICAgICAgJGJuID1+IHMvXig/OmxpYik/KC4qPykoPzpcLlteLl0qKT8kL2xpYiQxLmxh LzsKCSAgICB9CgkgIG15ICRzdWdnZXN0aW9uID0gZGlybmFtZSAoJG9uZWxpYikgLiAiLyRi biI7CgkgICRzdWdnZXN0aW9uID1+IHN8XlwuL3x8ZzsKCSAgbXNnICgnZXJyb3ItZ251L3dh cm4nLCAkd2hlcmUsCgkgICAgICAgIickb25lbGliJyBpcyBub3QgYSBzdGFuZGFyZCBsaWJ0 b29sICR0eXBlIG5hbWVcbiIKCSAgICAgICAuICJkaWQgeW91IG1lYW4gJyRzdWdnZXN0aW9u Jz8iKQoJfQoKICAgICAgKCRrbm93bl9saWJyYXJpZXN7JG9uZWxpYn0gPSAkYm4pID1+IHMv XC5sYSQvLzsKCiAgICAgICR3aGVyZS0+cHVzaF9jb250ZXh0ICgid2hpbGUgcHJvY2Vzc2lu ZyBMaWJ0b29sIGxpYnJhcnkgJyRvbmVsaWInIik7CiAgICAgICR3aGVyZS0+c2V0IChJTlRF Uk5BTC0+Z2V0KTsKCiAgICAgICMgTWFrZSBzdXJlIHdlIGxvb2sgYXQgdGhlc2UuCiAgICAg IHNldF9zZWVuICgkeGxpYiAuICdfTERGTEFHUycpOwogICAgICBzZXRfc2VlbiAoJHhsaWIg LiAnX0RFUEVOREVOQ0lFUycpOwogICAgICBzZXRfc2VlbiAoJ0VYVFJBXycgLiAkeGxpYiAu ICdfREVQRU5ERU5DSUVTJyk7CgogICAgICAjIEdlbmVyYXRlIHN1cHBvcnQgZm9yIGNvbmRp dGlvbmFsIG9iamVjdCBpbmNsdXNpb24gaW4KICAgICAgIyBsaWJyYXJpZXMuCiAgICAgIGlm ICh2YXIgKCR4bGliIC4gJ19MSUJBREQnKSkKCXsKCSAgaWYgKGhhbmRsZV9saWJfb2JqZWN0 cyAoJHhsaWIsICR4bGliIC4gJ19MSUJBREQnKSkKCSAgICB7CgkgICAgICAkc2Vlbl9saWJv YmpzID0gMTsKCSAgICB9Cgl9CiAgICAgIGVsc2UKCXsKCSAgZGVmaW5lX3ZhcmlhYmxlICgk eGxpYiAuICJfTElCQUREIiwgJycsICR3aGVyZSk7Cgl9CgogICAgICByZWplY3RfdmFyICgi JHt4bGlifV9MREFERCIsCgkJICAidXNlICcke3hsaWJ9X0xJQkFERCcsIG5vdCAnJHt4bGli fV9MREFERCciKTsKCgogICAgICBteSAkbGlua2VyID0gaGFuZGxlX3NvdXJjZV90cmFuc2Zv cm0gKCR4bGliLCAkb25lbGliLCAkb2JqLCAkd2hlcmUsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTk9OTElCVE9PTCA9PiAwLCBMSUJUT09MID0+IDEp OwoKICAgICAgIyBEZXRlcm1pbmUgcHJvZ3JhbSB0byB1c2UgZm9yIGxpbmsuCiAgICAgIG15 KCR4bGluaywgJHZsaW5rKSA9IGRlZmluZV9wZXJfdGFyZ2V0X2xpbmtlcl92YXJpYWJsZSAo JGxpbmtlciwgJHhsaWIpOwogICAgICAkdmxpbmsgPSB2ZXJib3NlX2ZsYWcgKCR2bGluayB8 fCAnR0VOJyk7CgogICAgICBteSAkcnBhdGh2YXIgPSAiYW1fJHt4bGlifV9ycGF0aCI7CiAg ICAgIG15ICRycGF0aCA9ICJcJCgkcnBhdGh2YXIpIjsKICAgICAgZm9yZWFjaCBteSAkcmNv bmQgKCRpbnN0Y29uZHN7JG9uZWxpYn0tPmNvbmRzKQoJewoJICBteSAkdmFsOwoJICBpZiAo JGluc3RkaXJzeyRvbmVsaWJ9eyRyY29uZH0gZXEgJ0VYVFJBJwoJICAgICAgfHwgJGluc3Rk aXJzeyRvbmVsaWJ9eyRyY29uZH0gZXEgJ25vaW5zdCcKCSAgICAgIHx8ICRpbnN0ZGlyc3sk b25lbGlifXskcmNvbmR9IGVxICdjaGVjaycpCgkgICAgewoJICAgICAgIyBJdCdzIGFuIEVY VFJBXyBsaWJyYXJ5LCBzbyB3ZSBjYW4ndCBzcGVjaWZ5IC1ycGF0aCwKCSAgICAgICMgYmVj YXVzZSB3ZSBkb24ndCBrbm93IHdoZXJlIHRoZSBsaWJyYXJ5IHdpbGwgZW5kIHVwLgoJICAg ICAgIyBUaGUgdXNlciBwcm9iYWJseSBrbm93cywgYnV0IGdlbmVyYWxseSBzcGVha2luZyBh dXRvbWFrZQoJICAgICAgIyBkb2Vzbid0IC0tIGFuZCBpbiBmYWN0IGNvbmZpZ3VyZSBjb3Vs ZCBkZWNpZGUKCSAgICAgICMgZHluYW1pY2FsbHkgYmV0d2VlbiB0d28gZGlmZmVyZW50IGxv Y2F0aW9ucy4KCSAgICAgICR2YWwgPSAnJzsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAg ICAkdmFsID0gKCctcnBhdGggJCgnIC4gJGluc3RkaXJzeyRvbmVsaWJ9eyRyY29uZH0gLiAn ZGlyKScpOwoJICAgICAgJHZhbCAuPSAkaW5zdHN1YmRpcnN7JG9uZWxpYn17JHJjb25kfQoJ ICAgICAgICBpZiBkZWZpbmVkICRpbnN0c3ViZGlyc3skb25lbGlifXskcmNvbmR9OwoJICAg IH0KCSAgaWYgKCRyY29uZC0+dHJ1ZSkKCSAgICB7CgkgICAgICAjIElmICRyY29uZCBpcyB0 cnVlIHRoZXJlIGlzIG9ubHkgb25lIGNvbmRpdGlvbiBhbmQKCSAgICAgICMgdGhlcmUgaXMg bm8gcG9pbnQgZGVmaW5pbmcgYW4gaGVscGVyIHZhcmlhYmxlLgoJICAgICAgJHJwYXRoID0g JHZhbDsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICBkZWZpbmVfcHJldHR5X3Zhcmlh YmxlICgkcnBhdGh2YXIsICRyY29uZCwgSU5URVJOQUwsICR2YWwpOwoJICAgIH0KCX0KCiAg ICAgICMgSWYgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGxpZXMgaW4gYSBzdWJkaXJlY3Rvcnks CiAgICAgICMgbWFrZSBzdXJlIHRoaXMgZGlyZWN0b3J5IHdpbGwgZXhpc3QuCiAgICAgIG15 ICRkaXJzdGFtcCA9IHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5X21heWJlICgkb25lbGliKTsK CiAgICAgICMgUmVtZW1iZXIgdG8gY2xlYW51cCAubGlicy8gaW4gdGhpcyBkaXJlY3Rvcnku CiAgICAgIG15ICRkaXJuYW1lID0gZGlybmFtZSAkb25lbGliOwogICAgICAkbGlidG9vbF9j bGVhbl9kaXJlY3Rvcmllc3skZGlybmFtZX0gPSAxOwoKICAgICAgJG91dHB1dF9ydWxlcyAu PSBmaWxlX2NvbnRlbnRzICgnbHRsaWJyYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAkd2hlcmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTFRMSUJSQVJZICA9PiAkb25lbGliLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFhMVExJQlJBUlkgPT4gJHhsaWIsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlBBVEggICAgICA9PiAkcnBhdGgsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgWExJTksgICAgICA9PiAkeGxpbmssCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVSQk9TRSAgICA9PiAkdmxpbmssCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRElSU1RBTVAgICA9PiAkZGly c3RhbXApOwogICAgICBpZiAoJHNlZW5fbGlib2JqcykKCXsKCSAgaWYgKHZhciAoJHhsaWIg LiAnX0xJQkFERCcpKQoJICAgIHsKCSAgICAgIGNoZWNrX2xpYm9ianNfc291cmNlcyAoJHhs aWIsICR4bGliIC4gJ19MSUJBREQnKTsKCSAgICB9Cgl9CgogICAgICBpZiAoISAkc2Vlbl9h cikKCXsKCSAgbXNnICgnZXh0cmEtcG9ydGFiaWxpdHknLCAkd2hlcmUsCgkgICAgICAgIick b25lbGliJzogbGlua2luZyBsaWJ0b29sIGxpYnJhcmllcyB1c2luZyBhIG5vbi1QT1NJWFxu IgoJICAgICAgIC4gImFyY2hpdmVyIHJlcXVpcmVzICdBTV9QUk9HX0FSJyBpbiAnJGNvbmZp Z3VyZV9hYyciKQoJfQogICAgfQp9CgojIFNlZSBpZiBhbnkgX1NPVVJDRVMgdmFyaWFibGUg d2VyZSBtaXNzcGVsbGVkLgpzdWIgY2hlY2tfdHlwb3MgKCkKewogICMgSXQgaXMgb2sgaWYg dGhlIHVzZXIgc2V0cyB0aGlzIHBhcnRpY3VsYXIgdmFyaWFibGUuCiAgc2V0X3NlZW4gJ0FN X0xERkxBR1MnOwoKICBmb3JlYWNoIG15ICRwcmltYXJ5ICgnU09VUkNFUycsICdMSUJBREQn LCAnTERBREQnLCAnTERGTEFHUycsICdERVBFTkRFTkNJRVMnKQogICAgewogICAgICBmb3Jl YWNoIG15ICR2YXIgKHZhcmlhYmxlcyAkcHJpbWFyeSkKCXsKCSAgbXkgJHZhcm5hbWUgPSAk dmFyLT5uYW1lOwoJICAjIEEgY29uZmlndXJlIHZhcmlhYmxlIGlzIGFsd2F5cyBsZWdpdGlt YXRlLgoJICBuZXh0IGlmIGV4aXN0cyAkY29uZmlndXJlX3ZhcnN7JHZhcm5hbWV9OwoKCSAg Zm9yIG15ICRjb25kICgkdmFyLT5jb25kaXRpb25zLT5jb25kcykKCSAgICB7CgkgICAgICAk dmFybmFtZSA9fiAvXig/OkVYVFJBXyk/KD86bm9iYXNlXyk/KD86ZGlzdF98bm9kaXN0Xyk/ KC4qKV9bWzphbG51bTpdXSskLzsKCSAgICAgIG1zZ192YXIgKCdzeW50YXgnLCAkdmFyLCAi dmFyaWFibGUgJyR2YXJuYW1lJyBpcyBkZWZpbmVkIGJ1dCBubyIKCQkgICAgICAgLiAiIHBy b2dyYW0gb3JcbmxpYnJhcnkgaGFzICckMScgYXMgY2Fub25pY2FsIG5hbWUiCgkJICAgICAg IC4gIiAocG9zc2libGUgdHlwbykiKQoJCXVubGVzcyAkdmFyLT5yZGVmICgkY29uZCktPnNl ZW47CgkgICAgfQoJfQogICAgfQp9CgoKc3ViIGhhbmRsZV9zY3JpcHRzICgpCnsKICAgICMg Tk9URSB3ZSBubyBsb25nZXIgYXV0b21hdGljYWxseSBjbGVhbiBTQ1JJUFRTLCBiZWNhdXNl IGl0IGlzCiAgICAjIHVzZWZ1bCB0byBzb21ldGltZXMgZGlzdHJpYnV0ZSBzY3JpcHRzIHZl cmJhdGltLiAgVGhpcyBoYXBwZW5zCiAgICAjIGUuZy4gaW4gQXV0b21ha2UgaXRzZWxmLgog ICAgYW1faW5zdGFsbF92YXIgKCctY2FuZGlzdCcsICdzY3JpcHRzJywgJ1NDUklQVFMnLAog ICAgICAgICAgICAgICAgICAgICdiaW4nLCAnc2JpbicsICdsaWJleGVjJywgJ3BrZ2xpYmV4 ZWMnLCAncGtnZGF0YScsCiAgICAgICAgICAgICAgICAgICAgJ25vaW5zdCcsICdjaGVjaycp Owp9CgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIEhhbmRsaW5nIFRleGlu Zm8gZmlsZXMuICAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCiMgKCRPVVRG SUxFLCAkVkZJTEUpCiMgc2Nhbl90ZXhpbmZvX2ZpbGUgKCRGSUxFTkFNRSkKIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojICRPVVRGSUxFICAgICAtIG5hbWUgb2YgdGhlIGlu Zm8gZmlsZSBwcm9kdWNlZCBieSAkRklMRU5BTUUuCiMgJFZGSUxFICAgICAgIC0gbmFtZSBv ZiB0aGUgdmVyc2lvbi50ZXhpIGZpbGUgdXNlZCAodW5kZWYgaWYgbm9uZSkuCnN1YiBzY2Fu X3RleGluZm9fZmlsZQp7CiAgbXkgKCRmaWxlbmFtZSkgPSBAXzsKCiAgbXkgJHRleGkgPSBu ZXcgQXV0b21ha2U6OlhGaWxlICI8ICRmaWxlbmFtZSI7CiAgdmVyYiAicmVhZGluZyAkZmls ZW5hbWUiOwoKICBteSAoJG91dGZpbGUsICR2ZmlsZSk7CiAgd2hpbGUgKCRfID0gJHRleGkt PmdldGxpbmUpCiAgICB7CiAgICAgIGlmICgvXlxAc2V0ZmlsZW5hbWUgKyhcUyspLykKCXsK CSAgIyBIb25vciBvbmx5IHRoZSBmaXJzdCBAc2V0ZmlsZW5hbWUuICAoSXQncyBwb3NzaWJs ZSB0byBoYXZlCgkgICMgbW9yZSBvY2N1cnJlbmNlcyBsYXRlciBpZiB0aGUgbWFudWFsIHNo b3dzIGV4YW1wbGVzIG9mIGhvdwoJICAjIHRvIHVzZSBAc2V0ZmlsZW5hbWUuLi4pCgkgIG5l eHQgaWYgJG91dGZpbGU7CgoJICAkb3V0ZmlsZSA9ICQxOwoJICBpZiAoaW5kZXggKCRvdXRm aWxlLCAnLicpIDwgMCkKCSAgICB7CgkgICAgICBtc2cgJ29ic29sZXRlJywgIiRmaWxlbmFt ZTokLiIsCgkgICAgICAgICAgInVzZSBvZiBzdWZmaXgtbGVzcyBpbmZvIGZpbGVzIGlzIGRp c2NvdXJhZ2VkIgoJICAgIH0KCSAgZWxzaWYgKCRvdXRmaWxlICF+IC9cLmluZm8kLykKCSAg ICB7CgkgICAgICBlcnJvciAoIiRmaWxlbmFtZTokLiIsCgkJICAgICAib3V0cHV0ICckb3V0 ZmlsZScgaGFzIHVucmVjb2duaXplZCBleHRlbnNpb24iKTsKCSAgICAgIHJldHVybjsKCSAg ICB9Cgl9CiAgICAgICMgQSAidmVyc2lvbi50ZXhpIiBmaWxlIGlzIGFjdHVhbGx5IGFueSBm aWxlIHdob3NlIG5hbWUgbWF0Y2hlcwogICAgICAjICJ2ZXJzKi50ZXhpIi4KICAgICAgZWxz aWYgKC9eXEBpbmNsdWRlXHMrKHZlcnNbXi5dKlwudGV4aSlccyokLykKCXsKCSAgJHZmaWxl ID0gJDE7Cgl9CiAgICB9CgogIGlmICghICRvdXRmaWxlKQogICAgewogICAgICAjIFJlcGxh Y2UgYSAudGV4aSBleHRlbnNpb24gd2l0aCAuaW5mbwogICAgICAkb3V0ZmlsZSA9IGJhc2Vu YW1lKCRmaWxlbmFtZSk7CiAgICAgICRvdXRmaWxlID1+IHMvXC5bXi5dKyQvLzsKICAgICAg JG91dGZpbGUgLj0gJy5pbmZvJzsKICAgIH0KCiAgcmV0dXJuICgkb3V0ZmlsZSwgJHZmaWxl KTsKfQoKCiMgKCRESVJTVEFNUCwgQENMRUFOX0ZJTEVTKQojIG91dHB1dF90ZXhpbmZvX2J1 aWxkX3J1bGVzICgkU09VUkNFLCAkREVTVCwgJElOU1JDLCBAREVQRU5ERU5DSUVTKQojIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQojIFNPVVJDRSAtIHRoZSBzb3VyY2UgVGV4aW5mbyBmaWxlCiMgREVTVCAt IHRoZSBkZXN0aW5hdGlvbiBJbmZvIGZpbGUKIyBJTlNSQyAtIHdoZXRoZXIgREVTVCBzaG91 bGQgYmUgYnVpbHQgaW4gdGhlIHNvdXJjZSB0cmVlCiMgREVQRU5ERU5DSUVTIC0ga25vd24g ZGVwZW5kZW5jaWVzCnN1YiBvdXRwdXRfdGV4aW5mb19idWlsZF9ydWxlcwp7CiAgbXkgKCRz b3VyY2UsICRkZXN0LCAkaW5zcmMsIEBkZXBzKSA9IEBfOwoKICAjIFNwbGl0ICdhLnRleGkn IGludG8gJ2EnIGFuZCAnLnRleGknLgogIG15ICgkc3BmeCwgJHNzZngpID0gKCRzb3VyY2Ug PX4gL14oLio/KShcLlteLl0qKT8kLyk7CiAgbXkgKCRkcGZ4LCAkZHNmeCkgPSAoJGRlc3Qg PX4gL14oLio/KShcLlteLl0qKT8kLyk7CgogICRzc2Z4IHx8PSAiIjsKICAkZHNmeCB8fD0g IiI7CgogICMgV2UgY2FuIG91dHB1dCB0d28ga2luZHMgb2YgcnVsZXM6IHRoZSAiZ2VuZXJp YyIgcnVsZXMgdXNlIE1ha2UKICAjIHN1ZmZpeCBydWxlcyBhbmQgYXJlIGFwcHJvcHJpYXRl IHdoZW4gJHNvdXJjZSBhbmQgJGRlc3QgZG8gbm90IGxpZQogICMgaW4gYSBzdWItZGlyZWN0 b3J5OyB0aGUgInNwZWNpZmljIiBydWxlcyBhcmUgbmVlZGVkIGluIHRoZSBvdGhlcgogICMg Y2FzZS4KICAjCiAgIyBUaGUgZm9ybWVyIGFyZSBvdXRwdXQgb25seSBvbmNlICh0aGlzIGlz IG5vdCByZWFsbHkgYXBwYXJlbnQgaGVyZSwKICAjIGJ1dCBqdXN0IHJlbWVtYmVyIHRoYXQg c29tZSBsb2dpYyBkZWVwZXIgaW4gQXV0b21ha2Ugd2lsbCBub3QKICAjIG91dHB1dCB0aGUg c2FtZSBydWxlIHR3aWNlKTsgd2hpbGUgdGhlIGxhdGVyIG5lZWQgdG8gYmUgb3V0cHV0IGZv cgogICMgZWFjaCBUZXhpbmZvIHNvdXJjZS4KICBteSAkZ2VuZXJpYzsKICBteSAkbWFrZWlu Zm9mbGFnczsKICBteSAkc2RpciA9IGRpcm5hbWUgJHNvdXJjZTsKICBpZiAoJHNkaXIgZXEg Jy4nICYmIGRpcm5hbWUgKCRkZXN0KSBlcSAnLicpCiAgICB7CiAgICAgICRnZW5lcmljID0g MTsKICAgICAgJG1ha2VpbmZvZmxhZ3MgPSAnLUkgJChzcmNkaXIpJzsKICAgIH0KICBlbHNl CiAgICB7CiAgICAgICRnZW5lcmljID0gMDsKICAgICAgJG1ha2VpbmZvZmxhZ3MgPSAiLUkg JHNkaXIgLUkgXCQoc3JjZGlyKS8kc2RpciI7CiAgICB9CgogICMgQSBkaXJlY3RvcnkgY2Fu IGNvbnRhaW4gdHdvIGtpbmRzIG9mIGluZm8gZmlsZXM6IHNvbWUgYnVpbHQgaW4gdGhlCiAg IyBzb3VyY2UgdHJlZSwgYW5kIHNvbWUgYnVpbHQgaW4gdGhlIGJ1aWxkIHRyZWUuICBUaGUg cnVsZXMgYXJlCiAgIyBkaWZmZXJlbnQgaW4gZWFjaCBjYXNlLiAgSG93ZXZlciB3ZSBjYW5u b3Qgb3V0cHV0IHR3byBkaWZmZXJlbnQKICAjIHNldCBvZiBnZW5lcmljIHJ1bGVzLiAgQmVj YXVzZSBpbi1zb3VyY2UgYnVpbGRzIGFyZSBtb3JlIHVzdWFsLCB3ZQogICMgdXNlIGdlbmVy aWMgcnVsZXMgaW4gdGhpcyBjYXNlIGFuZCBmYWxsIGJhY2sgdG8gInNwZWNpZmljIiBydWxl cwogICMgZm9yIGJ1aWxkLWRpciBidWlsZHMuICAoSXQgc2hvdWxkIG5vdCBiZSBhIHByb2Js ZW0gdG8gaW52ZXJ0IHRoaXMKICAjIGlmIG5lZWRlZC4pCiAgJGdlbmVyaWMgPSAwIHVubGVz cyAkaW5zcmM7CgogICMgV2UgY2Fubm90IHVzZSBhIHN1ZmZpeCBydWxlIHRvIGJ1aWxkIGlu Zm8gZmlsZXMgd2l0aCBhbiBlbXB0eQogICMgZXh0ZW5zaW9uLiAgT3RoZXJ3aXNlIHdlIHdv dWxkIG91dHB1dCBhIHNpbmdsZSBzdWZmaXggaW5mZXJlbmNlCiAgIyBydWxlLCB3aXRoIHNl cGFyYXRlIGRlcGVuZGVuY2llcywgYXMgaW4KICAjCiAgIyAgICAudGV4aToKICAjICAgICAg ICAgICAgICQoTUFLRUlORk8pIC4uLgogICMgICAgZm9vLmluZm86IGZvby50ZXhpCiAgIwog ICMgd2hpY2ggY29uZnVzZSBTb2xhcmlzIG1ha2UuICAoU2VlIHRoZSBBdXRvY29uZiBtYW51 YWwgZm9yCiAgIyBkZXRhaWxzLikgIFRoZXJlZm9yZSB3ZSB1c2UgYSBzcGVjaWZpYyBydWxl IGluIHRoaXMgY2FzZS4gIFRoaXMKICAjIGFwcGxpZXMgdG8gaW5mbyBmaWxlcyBvbmx5IChk dmkgYW5kIHBkZiBmaWxlcyBhbHdheXMgaGF2ZSBhbgogICMgZXh0ZW5zaW9uKS4KICBteSAk Z2VuZXJpY19pbmZvID0gKCRnZW5lcmljICYmICRkc2Z4KSA/IDEgOiAwOwoKICAjIElmIHRo ZSByZXN1bHRpbmcgZmlsZSBsaWVzIGluIGEgc3ViZGlyZWN0b3J5LAogICMgbWFrZSBzdXJl IHRoaXMgZGlyZWN0b3J5IHdpbGwgZXhpc3QuCiAgbXkgJGRpcnN0YW1wID0gcmVxdWlyZV9i dWlsZF9kaXJlY3RvcnlfbWF5YmUgKCRkZXN0KTsKCiAgbXkgJGRpcGZ4ID0gKCRpbnNyYyA/ ICckKHNyY2RpcikvJyA6ICcnKSAuICRkcGZ4OwoKICAkb3V0cHV0X3J1bGVzIC49IGZpbGVf Y29udGVudHMgKCd0ZXhpYnVpbGQnLAoJCQkJICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU1fVl9NQUtFSU5GTyAgICA9PiB2 ZXJib3NlX2ZsYWcoJ01BS0VJTkZPJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBTV9WX1RFWEkyRFZJICAgID0+IHZlcmJvc2VfZmxhZygnVEVYSTJEVkknKSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFNX1ZfVEVYSTJQREYgICAgPT4gdmVy Ym9zZV9mbGFnKCdURVhJMlBERicpLAoJCQkJICBERVBTICAgICAgICAgICAgID0+ICJAZGVw cyIsCgkJCQkgIERFU1RfUFJFRklYICAgICAgPT4gJGRwZngsCgkJCQkgIERFU1RfSU5GT19Q UkVGSVggPT4gJGRpcGZ4LAoJCQkJICBERVNUX1NVRkZJWCAgICAgID0+ICRkc2Z4LAoJCQkJ ICBESVJTVEFNUCAgICAgICAgID0+ICRkaXJzdGFtcCwKCQkJCSAgR0VORVJJQyAgICAgICAg ICA9PiAkZ2VuZXJpYywKCQkJCSAgR0VORVJJQ19JTkZPICAgICA9PiAkZ2VuZXJpY19pbmZv LAoJCQkJICBJTlNSQwkJICAgPT4gJGluc3JjLAoJCQkJICBNQUtFSU5GT0ZMQUdTICAgID0+ ICRtYWtlaW5mb2ZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0lM RU5UICAgICAgICAgICA9PiBzaWxlbnRfZmxhZygpLAoJCQkJICBTT1VSQ0UgICAgICAgICAg ID0+ICgkZ2VuZXJpYwoJCQkJCQkgICAgICAgPyAnJDwnIDogJHNvdXJjZSksCgkJCQkgIFNP VVJDRV9JTkZPICAgICAgPT4gKCRnZW5lcmljX2luZm8KCQkJCQkJICAgICAgID8gJyQ8JyA6 ICRzb3VyY2UpLAoJCQkJICBTT1VSQ0VfUkVBTCAgICAgID0+ICRzb3VyY2UsCgkJCQkgIFNP VVJDRV9TVUZGSVggICAgPT4gJHNzZngsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBURVhJUVVJRVQgICAgICAgID0+IHZlcmJvc2VfZmxhZygndGV4aW5mbycpLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVEVYSURFVk5VTEwgICAgICA9PiB2ZXJi b3NlX2ZsYWcoJ3RleGlkZXZudWxsJyksCgkJCQkgICk7CiAgcmV0dXJuICgkZGlyc3RhbXAs ICIkZHBmeC5kdmkiLCAiJGRwZngucGRmIiwgIiRkcGZ4LnBzIiwgIiRkcGZ4Lmh0bWwiKTsK fQoKCiMgKCRNT1NUTFlDTEVBTiwgJFRFWElDTEVBTiwgJE1BSU5UQ0xFQU4pCiMgaGFuZGxl X3RleGluZm9faGVscGVyICgkaW5mb190ZXhpbmZvcykKIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQojIEhhbmRsZSBhbGwgVGV4aW5mbyBzb3VyY2U7IGhlbHBl ciBmb3IgJ2hhbmRsZV90ZXhpbmZvJy4Kc3ViIGhhbmRsZV90ZXhpbmZvX2hlbHBlcgp7CiAg bXkgKCRpbmZvX3RleGluZm9zKSA9IEBfOwogIG15IChAaW5mb2Jhc2UsIEBpbmZvX2RlcHNf bGlzdCwgQHRleGlfZGVwcyk7CiAgbXkgJXZlcnNpb25zOwogIG15ICRkb25lID0gMDsKICBt eSAoQG1vc3RseV9jbGVhbnMsIEB0ZXhpX2NsZWFucywgQG1haW50X2NsZWFucykgPSAoJycs ICcnLCAnJyk7CgogICMgQnVpbGQgYSByZWdleCBtYXRjaGluZyB1c2VyLWNsZWFuZWQgZmls ZXMuCiAgbXkgJGQgPSB2YXIgJ0RJU1RDTEVBTkZJTEVTJzsKICBteSAkYyA9IHZhciAnQ0xF QU5GSUxFUyc7CiAgbXkgQGYgPSAoKTsKICBwdXNoIEBmLCAkZC0+dmFsdWVfYXNfbGlzdF9y ZWN1cnNpdmUgKGlubmVyX2V4cGFuZCA9PiAxKSBpZiAkZDsKICBwdXNoIEBmLCAkYy0+dmFs dWVfYXNfbGlzdF9yZWN1cnNpdmUgKGlubmVyX2V4cGFuZCA9PiAxKSBpZiAkYzsKICBAZiA9 IG1hcCB7IHN8W15BLVphLXpfMC05KlxbXF1cLV18XFwkJnxnOyBzfFwqfFteL10qfGc7ICRf OyB9IEBmOwogIG15ICR1c2VyX2NsZWFuZWRfZmlsZXMgPSAnXig/OicgLiBqb2luICgnfCcs IEBmKSAuICcpJCc7CgogIGZvcmVhY2ggbXkgJHRleGkKICAgICAgKCRpbmZvX3RleGluZm9z LT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSAoaW5uZXJfZXhwYW5kID0+IDEpKQogICAgewog ICAgICBteSAkaW5mb2Jhc2UgPSAkdGV4aTsKICAgICAgaWYgKCRpbmZvYmFzZSA9fiBzL1wu dGV4aSQvLykKICAgICAgICB7CiAgICAgICAgICAxOyAjIE5vdGhpbmcgbW9yZSB0byBkby4K ICAgICAgICB9CiAgICAgIGVsc2lmICgkaW5mb2Jhc2UgPX4gcy9cLih0eGl8dGV4aW5mbykk Ly8pCiAgICAgICAgewoJICBtc2dfdmFyICdvYnNvbGV0ZScsICRpbmZvX3RleGluZm9zLAoJ ICAgICAgICAgICJzdWZmaXggJy4kMScgZm9yIFRleGluZm8gZmlsZXMgaXMgZGlzY291cmFn ZWQ7IiAuCiAgICAgICAgICAgICAgICAgICIgdXNlICcudGV4aScgaW5zdGVhZCI7CiAgICAg ICAgfQogICAgICBlbHNlCgl7CgkgICMgRklYTUU6IHJlcG9ydCBsaW5lIG51bWJlci4KCSAg ZXJyX2FtICJ0ZXhpbmZvIGZpbGUgJyR0ZXhpJyBoYXMgdW5yZWNvZ25pemVkIGV4dGVuc2lv biI7CgkgIG5leHQ7Cgl9CgogICAgICBwdXNoIEBpbmZvYmFzZSwgJGluZm9iYXNlOwoKICAg ICAgIyBJZiAndmVyc2lvbi50ZXhpJyBpcyByZWZlcmVuY2VkIGJ5IGlucHV0IGZpbGUsIHRo ZW4gaW5jbHVkZQogICAgICAjIGF1dG9tYXRpYyB2ZXJzaW9uaW5nIGNhcGFiaWxpdHkuCiAg ICAgIG15ICgkb3V0X2ZpbGUsICR2dGV4aSkgPQoJc2Nhbl90ZXhpbmZvX2ZpbGUgKCIkcmVs YXRpdmVfZGlyLyR0ZXhpIikKCW9yIG5leHQ7CiAgICAgICMgRGlyZWN0b3J5IG9mIGF1eGls aWFyeSBmaWxlcyBhbmQgYnVpbGQgYnktcHJvZHVjdHMgdXNlZCBieSB0ZXhpMmR2aQogICAg ICAjIGFuZCB0ZXhpMnBkZi4KICAgICAgcHVzaCBAbW9zdGx5X2NsZWFucywgIiRpbmZvYmFz ZS50MmQiOwogICAgICBwdXNoIEBtb3N0bHlfY2xlYW5zLCAiJGluZm9iYXNlLnQycCI7Cgog ICAgICAjIElmIHRoZSBUZXhpbmZvIHNvdXJjZSBpcyBpbiBhIHN1YmRpcmVjdG9yeSwgY3Jl YXRlIHRoZQogICAgICAjIHJlc3VsdGluZyBpbmZvIGluIHRoaXMgc3ViZGlyZWN0b3J5LiAg SWYgaXQgaXMgaW4gdGhlIGN1cnJlbnQKICAgICAgIyBkaXJlY3RvcnksIHRyeSBoYXJkIHRv IG5vdCBwcmVmaXggIi4vIiBiZWNhdXNlIGl0IGJyZWFrcyB0aGUKICAgICAgIyBnZW5lcmlj IHJ1bGVzLgogICAgICBteSAkb3V0ZGlyID0gZGlybmFtZSAoJHRleGkpIC4gJy8nOwogICAg ICAkb3V0ZGlyID0gIiIgaWYgJG91dGRpciBlcSAnLi8nOwogICAgICAkb3V0X2ZpbGUgPSAg JG91dGRpciAuICRvdXRfZmlsZTsKCiAgICAgICMgVW50aWwgQXV0b21ha2UgMS42LjMsIC5p bmZvIGZpbGVzIHdlcmUgYnVpbHQgaW4gdGhlCiAgICAgICMgc291cmNlIHRyZWUuICBUaGlz IHdhcyBhbiBvYnN0YWNsZSB0byB0aGUgc3VwcG9ydCBvZgogICAgICAjIG5vbi1kaXN0cmli dXRlZCAuaW5mbyBmaWxlcywgYW5kIG5vbi1kaXN0cmlidXRlZCAudGV4aQogICAgICAjIGZp bGVzLgogICAgICAjCiAgICAgICMgKiBOb24tZGlzdHJpYnV0ZWQgLnRleGkgZmlsZXMgaXMg aW1wb3J0YW50IGluIHNvbWUgcGFja2FnZXMKICAgICAgIyAgIHdoZXJlIC50ZXhpIGZpbGVz IGFyZSBidWlsdCBhdCBtYWtlIHRpbWUsIHByb2JhYmx5IHVzaW5nCiAgICAgICMgICBvdGhl ciBiaW5hcmllcyBidWlsdCBpbiB0aGUgcGFja2FnZSBpdHNlbGYsIG1heWJlIHVzaW5nCiAg ICAgICMgICB0b29scyBvciBpbmZvcm1hdGlvbiBmb3VuZCBvbiB0aGUgYnVpbGQgaG9zdC4g IEJlY2F1c2UKICAgICAgIyAgIHRoZXNlIGZpbGVzIGFyZSBub3QgZGlzdHJpYnV0ZWQgdGhl eSBhcmUgYWx3YXlzIHJlYnVpbHQKICAgICAgIyAgIGF0IG1ha2UgdGltZTsgdGhleSBzaG91 bGQgdGhlcmVmb3JlIG5vdCBsaWUgaW4gdGhlIHNvdXJjZQogICAgICAjICAgZGlyZWN0b3J5 LiAgT25lIHBsYW4gd2FzIHRvIHN1cHBvcnQgdGhpcyB1c2luZwogICAgICAjICAgbm9kaXN0 X2luZm9fVEVYSU5GT1Mgb3Igc29tZXRoaW5nIHNpbWlsYXIuICAoRG9pbmcgdGhpcwogICAg ICAjICAgcmVxdWlyZXMgc29tZSBzYW5pdHkgY2hlY2tzLiAgRm9yIGluc3RhbmNlIEF1dG9t YWtlIHNob3VsZAogICAgICAjICAgbm90IGFsbG93OgogICAgICAjICAgICAgZGlzdF9pbmZv X1RFWElORk9TID0gZm9vLnRleGkKICAgICAgIyAgICAgIG5vZGlzdF9mb29fVEVYSU5GT1Mg PSBpbmNsdWRlZC50ZXhpCiAgICAgICMgICBiZWNhdXNlIGEgZGlzdHJpYnV0ZWQgZmlsZSBz aG91bGQgbmV2ZXIgZGVwZW5kIG9uIGEKICAgICAgIyAgIG5vbi1kaXN0cmlidXRlZCBmaWxl LikKICAgICAgIwogICAgICAjICogSWYgLnRleGkgZmlsZXMgYXJlIG5vdCBkaXN0cmlidXRl ZCwgdGhlbiAuaW5mbyBmaWxlcyBzaG91bGQKICAgICAgIyAgIG5vdCBiZSBkaXN0cmlidXRl ZCBlaXRoZXIuICBUaGVyZSBhcmUgYWxzbyBjYXNlcyB3aGVyZSBvbmUKICAgICAgIyAgIHdh bnRzIHRvIGRpc3RyaWJ1dGUgLnRleGkgZmlsZXMsIGJ1dCBkb2VzIG5vdCB3YW50IHRvCiAg ICAgICMgICBkaXN0cmlidXRlIHRoZSAuaW5mbyBmaWxlcy4gIEZvciBpbnN0YW5jZSB0aGUg VGV4aW5mbyBwYWNrYWdlCiAgICAgICMgICBkaXN0cmlidXRlcyB0aGUgdG9vbCB1c2VkIHRv IGJ1aWxkIHRoZXNlIGZpbGVzOyBpdCB3b3VsZAogICAgICAjICAgYmUgYSB3YXN0ZSBvZiBz cGFjZSB0byBkaXN0cmlidXRlIHRoZW0uICBJdCdzIG5vdCBjbGVhcgogICAgICAjICAgd2hp Y2ggc3ludGF4IHdlIHNob3VsZCB1c2UgdG8gaW5kaWNhdGUgdGhhdCAuaW5mbyBmaWxlcyBz aG91bGQKICAgICAgIyAgIG5vdCBiZSBkaXN0cmlidXRlZC4gIEFraW0gRGVtYWlsbGUgc3Vn Z2VzdGVkIHRoYXQgZXZlbnR1YWxseQogICAgICAjICAgd2Ugc3dpdGNoIHRvIGEgbmV3IHN5 bnRheDoKICAgICAgIyAgIHwgIE1heWJlIHdlIHNob3VsZCB0YWtlIHNvbWUgaW5zcGlyYXRp b24gZnJvbSB3aGF0J3MgYWxyZWFkeQogICAgICAjICAgfCAgZG9uZSBpbiB0aGUgcmVzdCBv ZiBBdXRvbWFrZS4gIE1heWJlIHRoZXJlIGlzIHRvbyBtdWNoCiAgICAgICMgICB8ICBzeW50 YWN0aWMgc3VnYXIgaGVyZSwgYW5kIHlvdSB3YW50CiAgICAgICMgICB8ICAgICBub2Rpc3Rf SU5GTyA9IGJhci5pbmZvCiAgICAgICMgICB8ICAgICBkaXN0X2Jhcl9pbmZvX1NPVVJDRVMg PSBiYXIudGV4aQogICAgICAjICAgfCAgICAgYmFyX3RleGlfREVQRU5ERU5DSUVTID0gZm9v LnRleGkKICAgICAgIyAgIHwgIHdpdGggYSBiaXQgb2YgbWFnaWMgdG8gaGF2ZSBiYXIuaW5m byByZXByZXNlbnQgdGhlIHdob2xlCiAgICAgICMgICB8ICBiYXIqaW5mbyBzZXQuICBUaGF0 J3MgYSBsb3QgbW9yZSB2ZXJib3NlIHRoYXQgdGhlIGN1cnJlbnQKICAgICAgIyAgIHwgIHNp dHVhdGlvbiwgYnV0IGl0IGlzICMgbm90IG5ldywgaGVuY2UgdGhlIHVzZXIgaGFzIGxlc3MK ICAgICAgIyAgIHwgIHRvIGxlYXJuLgogICAgICAjCSAgfAogICAgICAjICAgfCAgQnV0IHRo ZXJlIGlzIHN0aWxsIHRvbyBtdWNoIHJvb20gZm9yIG1lYW5pbmdsZXNzIHNwZWNzOgogICAg ICAjICAgfCAgICAgbm9kaXN0X0lORk8gPSBiYXIuaW5mbwogICAgICAjICAgfCAgICAgZGlz dF9iYXJfaW5mb19TT1VSQ0VTID0gYmFyLnRleGkKICAgICAgIyAgIHwgICAgIGRpc3RfUFMg PSBiYXIucHMgc29tZXRoaW5nLXdyaXR0ZW4tYnktaGFuZC5wcwogICAgICAjICAgfCAgICAg bm9kaXN0X2Jhcl9wc19TT1VSQ0VTID0gYmFyLnRleGkKICAgICAgIyAgIHwgICAgIGJhcl90 ZXhpX0RFUEVOREVOQ0lFUyA9IGZvby50ZXhpCiAgICAgICMgICB8ICBoZXJlIGJhci50ZXhp IGlzIGRpc3RfIGluIGxpbmUgMiwgYW5kIG5vZGlzdF8gaW4gNC4KICAgICAgIwogICAgICAj IEJhY2sgdG8gdGhlIHBvaW50LCBpdCBzaG91bGQgYmUgY2xlYXIgdGhhdCBpbiBvcmRlciB0 byBzdXBwb3J0CiAgICAgICMgbm9uLWRpc3RyaWJ1dGVkIC5pbmZvIGZpbGVzLCB3ZSBuZWVk IHRvIGJ1aWxkIHRoZW0gaW4gdGhlCiAgICAgICMgYnVpbGQgdHJlZSwgbm90IGluIHRoZSBz b3VyY2UgdHJlZSAobm9uLWRpc3RyaWJ1dGVkIC50ZXhpCiAgICAgICMgZmlsZXMgYXJlIGxl c3Mgb2YgYSBwcm9ibGVtLCBiZWNhdXNlIHdlIGRvIG5vdCBvdXRwdXQgYnVpbGQKICAgICAg IyBydWxlcyBmb3IgdGhlbSkuICBJbiBBdXRvbWFrZSAxLjcgLmluZm8gYnVpbGQgcnVsZXMg aGF2ZSBiZWVuCiAgICAgICMgbGFyZ2VseSBjbGVhbmVkIHVwIHNvIHRoYXQgLmluZm8gZmls ZXMgZ2V0IGFsd2F5cyBidWlsZCBpbiB0aGUKICAgICAgIyBidWlsZCB0cmVlLCBldmVuIHdo ZW4gZGlzdHJpYnV0ZWQuICBUaGUgaWRlYSB3YXMgdGhhdAogICAgICAjICAgKDEpIGlmIGR1 cmluZyBhIFZQQVRIIGJ1aWxkIHRoZSAuaW5mbyBmaWxlIHdhcyBmb3VuZCB0byBiZQogICAg ICAjICAgICAgIGFic2VudCBvciBvdXQtb2YtZGF0ZSAoaW4gdGhlIHNvdXJjZSB0cmVlIG9y IGluIHRoZQogICAgICAjICAgICAgIGJ1aWxkIHRyZWUpLCBNYWtlIHdvdWxkIHJlYnVpbGQg aXQgaW4gdGhlIGJ1aWxkIHRyZWUuCiAgICAgICMgICAgICAgSWYgYW4gdXAtdG8tZGF0ZSBz b3VyY2UtdHJlZSBvZiB0aGUgLmluZm8gZmlsZSBleGlzdGVkLAogICAgICAjICAgICAgIG1h a2Ugd291bGQgbm90IHJlYnVpbGQgaXQgaW4gdGhlIGJ1aWxkIHRyZWUuCiAgICAgICMgICAo MikgaGF2aW5nIHR3byBjb3BpZXMgb2YgLmluZm8gZmlsZXMsIG9uZSBpbiB0aGUgc291cmNl IHRyZWUKICAgICAgIyAgICAgICBhbmQgb25lIChuZXdlcikgaW4gdGhlIGJ1aWxkIHRyZWUg aXMgbm90IGEgcHJvYmxlbQogICAgICAjICAgICAgIGJlY2F1c2UgJ21ha2UgZGlzdCcgYWx3 YXlzIHBpY2sgZmlsZXMgaW4gdGhlIGJ1aWxkIHRyZWUKICAgICAgIyAgICAgICBmaXJzdC4K ICAgICAgIyBIb3dldmVyIGl0IHR1cm5lZCBvdXQgdGhlIGJlIGEgYmFkIGlkZWEgZm9yIHNl dmVyYWwgcmVhc29uczoKICAgICAgIyAgICogVHJ1NjQsIE9wZW5CU0QsIGFuZCBGcmVlQlNE IChub3QgTmV0QlNEKSBNYWtlIGRvIG5vdCBiZWhhdmUKICAgICAgIyAgICAgbGlrZSBHTlUg TWFrZSBvbiBwb2ludCAoMSkgYWJvdmUuICBUaGVzZSBpbXBsZW1lbnRhdGlvbnMKICAgICAg IyAgICAgb2YgTWFrZSB3b3VsZCBhbHdheXMgcmVidWlsZCAuaW5mbyBmaWxlcyBpbiB0aGUg YnVpbGQKICAgICAgIyAgICAgdHJlZSwgZXZlbiBpZiBzdWNoIGZpbGVzIHdlcmUgdXAgdG8g ZGF0ZSBpbiB0aGUgc291cmNlCiAgICAgICMgICAgIHRyZWUuICBDb25zZXF1ZW50bHksIGl0 IHdhcyBpbXBvc3NpYmxlIHRvIHBlcmZvcm0gYSBWUEFUSAogICAgICAjICAgICBidWlsZCBv ZiBhIHBhY2thZ2UgY29udGFpbmluZyBUZXhpbmZvIGZpbGVzIHVzaW5nIHRoZXNlCiAgICAg ICMgICAgIE1ha2UgaW1wbGVtZW50YXRpb25zLgogICAgICAjICAgICAoUmVmZXIgdG8gdGhl IEF1dG9jb25mIE1hbnVhbCwgc2VjdGlvbiAiTGltaXRhdGlvbiBvZgogICAgICAjICAgICBN YWtlIiwgcGFyYWdyYXBoICJWUEFUSCIsIGl0ZW0gInRhcmdldCBsb29rdXAiLCBmb3IKICAg ICAgIyAgICAgYW4gYWNjb3VudCBvZiB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVzZQog ICAgICAjICAgICBpbXBsZW1lbnRhdGlvbnMuKQogICAgICAjICAgKiBUaGUgR05VIENvZGlu ZyBTdGFuZGFyZHMgcmVxdWlyZSB0aGVzZSBmaWxlcyB0byBiZSBidWlsdAogICAgICAjICAg ICBpbiB0aGUgc291cmNlLXRyZWUgKHdoZW4gdGhleSBhcmUgZGlzdHJpYnV0ZWQsIHRoYXQg aXMpLgogICAgICAjICAgKiBLZWVwaW5nIGEgZnJlc2hlciBjb3B5IG9mIGRpc3RyaWJ1dGVk IGZpbGVzIGluIHRoZQogICAgICAjICAgICBidWlsZCB0cmVlIGNhbiBiZSBhbm5veWluZyBk dXJpbmcgZGV2ZWxvcG1lbnQgYmVjYXVzZQogICAgICAjICAgICAtIGlmIHRoZSBmaWxlcyBp cyBrZXB0IHVuZGVyIENWUywgeW91IHJlYWxseSB3YW50IGl0CiAgICAgICMgICAgICAgdG8g YmUgdXBkYXRlZCBpbiB0aGUgc291cmNlIHRyZWUKICAgICAgIyAgICAgLSBpdCBpcyBjb25m dXNpbmcgdGhhdCAnbWFrZSBkaXN0Y2xlYW4nIGRvZXMgbm90IGVyYXNlCiAgICAgICMgICAg ICAgYWxsIGZpbGVzIGluIHRoZSBidWlsZCB0cmVlLgogICAgICAjCiAgICAgICMgQ29uc2Vx dWVudGx5LCBzdGFydGluZyB3aXRoIEF1dG9tYWtlIDEuOCwgLmluZm8gZmlsZXMgYXJlCiAg ICAgICMgYnVpbHQgaW4gdGhlIHNvdXJjZSB0cmVlIGFnYWluLiAgQmVjYXVzZSB3ZSBzdGls bCBwbGFuIHRvCiAgICAgICMgc3VwcG9ydCBub24tZGlzdHJpYnV0ZWQgLmluZm8gZmlsZXMg YXQgc29tZSBwb2ludCwgd2UKICAgICAgIyBoYXZlIGEgc2luZ2xlIHZhcmlhYmxlICgkSU5T UkMpIHRoYXQgY29udHJvbHMgd2hldGhlcgogICAgICAjIHRoZSBjdXJyZW50IC5pbmZvIGZp bGUgbXVzdCBiZSBidWlsdCBpbiB0aGUgc291cmNlIHRyZWUKICAgICAgIyBvciBpbiB0aGUg YnVpbGQgdHJlZS4gIEFjdHVhbGx5IHRoaXMgdmFyaWFibGUgaXMgc3dpdGNoZWQKICAgICAg IyBvZmYgaW4gdHdvIGNhc2VzOgogICAgICAjICAoMSkgRm9yICcuaW5mbycgZmlsZXMgdGhh dCBhcHBlYXIgdG8gYmUgY2xlYW5lZDsgdGhpcyBpcyBmb3IKICAgICAgIyAgICAgIGJhY2t3 YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBwYWNrYWdlIHN1Y2ggYXMgVGV4aW5mbywKICAgICAg IyAgICAgIHdoaWNoIGRvIHRoaW5ncyBsaWtlCiAgICAgICMgICAgICAgIGluZm9fVEVYSU5G T1MgPSB0ZXhpbmZvLnR4aSBpbmZvLXN0bmQudGV4aSBpbmZvLnRleGkKICAgICAgIyAgICAg ICAgRElTVENMRUFORklMRVMgPSB0ZXhpbmZvIHRleGluZm8tKiBpbmZvKi5pbmZvKgogICAg ICAjICAgICAgICAjIERvIG5vdCBjcmVhdGUgaW5mbyBmaWxlcyBmb3IgZGlzdHJpYnV0aW9u LgogICAgICAjICAgICAgICBkaXN0LWluZm86CiAgICAgICMgICAgICBpbiBvcmRlciBub3Qg dG8gZGlzdHJpYnV0ZSAuaW5mbyBmaWxlcy4KICAgICAgIyAgKDIpIFdoZW4gdGhlIHVuZG9j dW1lbnRlZCBvcHRpb24gJ2luZm8taW4tYnVpbGRkaXInIGlzIGdpdmVuLgogICAgICAjICAg ICAgVGhpcyBpcyBkb25lIHRvIGFsbG93IHRoZSBkZXZlbG9wZXJzIG9mIEdDQywgR0RCLCBH TlUKICAgICAgIyAgICAgIGJpbnV0aWxzIGFuZCB0aGUgR05VIGJmZCBsaWJyYXJ5IHRvIGZv cmNlIHRoZSAnLmluZm8nIGZpbGVzCiAgICAgICMgICAgICB0byBiZSBnZW5lcmF0ZWQgaW4g dGhlIGJ1aWxkZGlyIHJhdGhlciB0aGFuIHRoZSBzcmNkaXIsIGFzCiAgICAgICMgICAgICB3 YXMgb25jZSBkb25lIHdoZW4gdGhlIChub3cgcmVtb3ZlZCkgJ2N5Z251cycgb3B0aW9uIHdh cwogICAgICAjICAgICAgZ2l2ZW4uICBTZWUgYXV0b21ha2UgYnVnIzExMDM0IGZvciBtb3Jl IGRpc2N1c3Npb24uCiAgICAgIG15ICRpbnNyYyA9IDE7CiAgICAgIG15ICRzb3V0ZGlyID0g JyQoc3JjZGlyKS8nIC4gJG91dGRpcjsKCiAgICAgIGlmIChvcHRpb24gJ2luZm8taW4tYnVp bGRkaXInKQogICAgICAgIHsKICAgICAgICAgICRpbnNyYyA9IDA7CiAgICAgICAgfQogICAg ICBlbHNpZiAoJG91dF9maWxlID1+ICR1c2VyX2NsZWFuZWRfZmlsZXMpCiAgICAgICAgewog ICAgICAgICAgJGluc3JjID0gMDsKICAgICAgICAgIG1zZyAnb2Jzb2xldGUnLCAiJGFtX2Zp bGUuYW0iLCA8PEVPRjsKT29wcyEKICAgIEl0IGFwcGVhcnMgdGhpcyBmaWxlIChvciBmaWxl cyBpbmNsdWRlZCBieSBpdCkgYXJlIHRyaWdnZXJpbmcKICAgIGFuIHVuZG9jdW1lbnRlZCwg c29vbi10by1iZS1yZW1vdmVkIGF1dG9tYWtlIGhhY2suCiAgICBGdXR1cmUgYXV0b21ha2Ug dmVyc2lvbnMgd2lsbCBubyBsb25nZXIgcGxhY2UgaW4gdGhlIGJ1aWxkZGlyCiAgICAocmF0 aGVyIHRoYW4gaW4gdGhlIHNyY2RpcikgdGhlIGdlbmVyYXRlZCAnLmluZm8nIGZpbGVzIHRo YXQKICAgIGFwcGVhciB0byBiZSBjbGVhbmVkLCBieSBlLmcuIGJlaW5nIGxpc3RlZCBpbiBD TEVBTkZJTEVTIG9yCiAgICBESVNUQ0xFQU5GSUxFUy4KICAgIElmIHlvdSB3YW50IHlvdXIg Jy5pbmZvJyBmaWxlcyB0byBiZSBwbGFjZWQgaW4gdGhlIGJ1aWxkZGlyCiAgICByYXRoZXIg dGhhbiBpbiB0aGUgc3JjZGlyLCB5b3UgaGF2ZSB0byB1c2UgdGhlIHNoaW55IG5ldwogICAg J2luZm8taW4tYnVpbGRkaXInIGF1dG9tYWtlIG9wdGlvbi4KRU9GCiAgICAgICAgfQoKICAg ICAgJG91dGRpciA9ICRzb3V0ZGlyIGlmICRpbnNyYzsKCiAgICAgICMgSWYgdXNlciBzcGVj aWZpZWQgZmlsZV9URVhJTkZPUywgdGhlbiB1c2UgdGhhdCBhcyBleHBsaWNpdAogICAgICAj IGRlcGVuZGVuY3kgbGlzdC4KICAgICAgQHRleGlfZGVwcyA9ICgpOwogICAgICBwdXNoIChA dGV4aV9kZXBzLCAiJHtzb3V0ZGlyfSR7dnRleGl9IikgaWYgJHZ0ZXhpOwoKICAgICAgbXkg JGNhbm9uaWNhbCA9IGNhbm9uaWNhbGl6ZSAoJGluZm9iYXNlKTsKICAgICAgaWYgKHZhciAo JGNhbm9uaWNhbCAuICJfVEVYSU5GT1MiKSkKCXsKCSAgcHVzaCAoQHRleGlfZGVwcywgJyQo JyAuICRjYW5vbmljYWwgLiAnX1RFWElORk9TKScpOwoJICBwdXNoX2Rpc3RfY29tbW9uICgn JCgnIC4gJGNhbm9uaWNhbCAuICdfVEVYSU5GT1MpJyk7Cgl9CgogICAgICBteSAoJGRpcnN0 YW1wLCBAY2ZpbGVzKSA9CglvdXRwdXRfdGV4aW5mb19idWlsZF9ydWxlcyAoJHRleGksICRv dXRfZmlsZSwgJGluc3JjLCBAdGV4aV9kZXBzKTsKICAgICAgcHVzaCAoQHRleGlfY2xlYW5z LCBAY2ZpbGVzKTsKCiAgICAgIHB1c2ggKEBpbmZvX2RlcHNfbGlzdCwgJG91dF9maWxlKTsK CiAgICAgICMgSWYgYSB2ZXJzKi50ZXhpIGZpbGUgaXMgbmVlZGVkLCBlbWl0IHRoZSBydWxl LgogICAgICBpZiAoJHZ0ZXhpKQoJewoJICBlcnJfYW0gKCInJHZ0ZXhpJywgaW5jbHVkZWQg aW4gJyR0ZXhpJywgIgoJCSAgLiAiYWxzbyBpbmNsdWRlZCBpbiAnJHZlcnNpb25zeyR2dGV4 aX0nIikKCSAgICBpZiBkZWZpbmVkICR2ZXJzaW9uc3skdnRleGl9OwoJICAkdmVyc2lvbnN7 JHZ0ZXhpfSA9ICR0ZXhpOwoKCSAgIyBXZSBudW1iZXIgdGhlIHN0YW1wLXZ0aSBmaWxlcy4g IFRoaXMgaXMgZG9hYmxlIHNpbmNlIHRoZQoJICAjIGFjdHVhbCBuYW1lcyBkb24ndCBtYXR0 ZXIgbXVjaC4gIFdlIG9ubHkgbnVtYmVyIHN0YXJ0aW5nCgkgICMgd2l0aCB0aGUgc2Vjb25k IG9uZSwgc28gdGhhdCB0aGUgY29tbW9uIGNhc2UgbG9va3MgbmljZS4KCSAgbXkgJHZ0aSA9 ICgkZG9uZSA/ICRkb25lIDogJ3Z0aScpOwoJICArKyRkb25lOwoKCSAgIyBUaGlzIGlzIHVn bHksIGJ1dCBpdCBpcyBvdXIgaGlzdG9yaWNhbCBwcmFjdGljZS4KCSAgaWYgKCRjb25maWdf YXV4X2Rpcl9zZXRfaW5fY29uZmlndXJlX2FjKQoJICAgIHsKCSAgICAgIHJlcXVpcmVfY29u Zl9maWxlX3dpdGhfbWFjcm8gKFRSVUUsICdpbmZvX1RFWElORk9TJywgRk9SRUlHTiwKCQkJ CQkgICAgJ21kYXRlLXNoJyk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgcmVxdWly ZV9maWxlX3dpdGhfbWFjcm8gKFRSVUUsICdpbmZvX1RFWElORk9TJywKCQkJCSAgICAgICBG T1JFSUdOLCAnbWRhdGUtc2gnKTsKCSAgICB9CgoJICBteSAkY29uZl9kaXI7CgkgIGlmICgk Y29uZmlnX2F1eF9kaXJfc2V0X2luX2NvbmZpZ3VyZV9hYykKCSAgICB7CgkgICAgICAkY29u Zl9kaXIgPSAiJGFtX2NvbmZpZ19hdXhfZGlyLyI7CgkgICAgfQoJICBlbHNlCgkgICAgewoJ ICAgICAgJGNvbmZfZGlyID0gJyQoc3JjZGlyKS8nOwoJICAgIH0KCSAgJG91dHB1dF9ydWxl cyAuPSBmaWxlX2NvbnRlbnRzICgndGV4aS12ZXJzJywKCQkJCQkgIG5ldyBBdXRvbWFrZTo6 TG9jYXRpb24sCgkJCQkJICBURVhJICAgICA9PiAkdGV4aSwKCQkJCQkgIFZUSSAgICAgID0+ ICR2dGksCgkJCQkJICBTVEFNUFZUSSA9PiAiJHtzb3V0ZGlyfXN0YW1wLSR2dGkiLAoJCQkJ CSAgVlRFWEkgICAgPT4gIiRzb3V0ZGlyJHZ0ZXhpIiwKCQkJCQkgIE1ERElSICAgID0+ICRj b25mX2RpciwKCQkJCQkgIERJUlNUQU1QID0+ICRkaXJzdGFtcCk7Cgl9CiAgICB9CgogICMg SGFuZGxlIGxvY2F0aW9uIG9mIHRleGluZm8udGV4LgogIG15ICRuZWVkX3RleGlfZmlsZSA9 IDA7CiAgbXkgJHRleGluZm9kaXI7CiAgaWYgKHZhciAoJ1RFWElORk9fVEVYJykpCiAgICB7 CiAgICAgICMgVGhlIHVzZXIgZGVmaW5lZCBURVhJTkZPX1RFWCBzbyBhc3N1bWUgaGUga25v d3Mgd2hhdCBoZSBpcwogICAgICAjIGRvaW5nLgogICAgICAkdGV4aW5mb2RpciA9ICgnJChz cmNkaXIpLycKCQkgICAgIC4gZGlybmFtZSAodmFyaWFibGVfdmFsdWUgKCdURVhJTkZPX1RF WCcpKSk7CiAgICB9CiAgZWxzaWYgKCRjb25maWdfYXV4X2Rpcl9zZXRfaW5fY29uZmlndXJl X2FjKQogICAgewogICAgICAkdGV4aW5mb2RpciA9ICRhbV9jb25maWdfYXV4X2RpcjsKICAg ICAgZGVmaW5lX3ZhcmlhYmxlICgnVEVYSU5GT19URVgnLCAiJHRleGluZm9kaXIvdGV4aW5m by50ZXgiLCBJTlRFUk5BTCk7CiAgICAgICRuZWVkX3RleGlfZmlsZSA9IDI7ICMgc28gdGhh dCB3ZSByZXF1aXJlX2NvbmZfZmlsZSBsYXRlcgogICAgfQogIGVsc2UKICAgIHsKICAgICAg JHRleGluZm9kaXIgPSAnJChzcmNkaXIpJzsKICAgICAgJG5lZWRfdGV4aV9maWxlID0gMTsK ICAgIH0KICBkZWZpbmVfdmFyaWFibGUgKCdhbV9fVEVYSU5GT19URVhfRElSJywgJHRleGlu Zm9kaXIsIElOVEVSTkFMKTsKCiAgcHVzaCAoQGRpc3RfdGFyZ2V0cywgJ2Rpc3QtaW5mbycp OwoKICBpZiAoISBvcHRpb24gJ25vLWluc3RhbGxpbmZvJykKICAgIHsKICAgICAgIyBNYWtl IHN1cmUgZG9jdW1lbnRhdGlvbiBpcyBtYWRlIGFuZCBpbnN0YWxsZWQgZmlyc3QuICBVc2UK ICAgICAgIyAkKElORk9fREVQUyksIG5vdCAnaW5mbycsIGJlY2F1c2Ugb3RoZXJ3aXNlIHJl Y3Vyc2l2ZSBtYWtlcwogICAgICAjIGdldCBydW4gdHdpY2UgZHVyaW5nICJtYWtlIGFsbCIu CiAgICAgIHVuc2hpZnQgKEBhbGwsICckKElORk9fREVQUyknKTsKICAgIH0KCiAgZGVmaW5l X2ZpbGVzX3ZhcmlhYmxlICgiRFZJUyIsIEBpbmZvYmFzZSwgJ2R2aScsIElOVEVSTkFMKTsK ICBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCJQREZTIiwgQGluZm9iYXNlLCAncGRmJywgSU5U RVJOQUwpOwogIGRlZmluZV9maWxlc192YXJpYWJsZSAoIlBTUyIsIEBpbmZvYmFzZSwgJ3Bz JywgSU5URVJOQUwpOwogIGRlZmluZV9maWxlc192YXJpYWJsZSAoIkhUTUxTIiwgQGluZm9i YXNlLCAnaHRtbCcsIElOVEVSTkFMKTsKCiAgIyBUaGlzIG5leHQgaXNuJ3Qgc3RyaWN0bHkg bmVlZGVkIG5vdyAtLSB0aGUgcGxhY2VzIHRoYXQgbG9vayBoZXJlCiAgIyBjb3VsZCBlYXNp bHkgYmUgY2hhbmdlZCB0byBsb29rIGluIGluZm9fVEVYSU5GT1MuICBCdXQgdGhpcyBpcwog ICMgcHJvYmFibHkgYmV0dGVyLCBpbiBjYXNlIG5vaW5zdF9URVhJTkZPUyBpcyBldmVyIHN1 cHBvcnRlZC4KICBkZWZpbmVfdmFyaWFibGUgKCJURVhJTkZPUyIsIHZhcmlhYmxlX3ZhbHVl ICgnaW5mb19URVhJTkZPUycpLCBJTlRFUk5BTCk7CgogICMgRG8gc29tZSBlcnJvciBjaGVj a2luZy4gIE5vdGUgdGhhdCB0aGlzIGZpbGUgaXMgbm90IHJlcXVpcmVkCiAgIyB3aGVuIGlu IEN5Z251cyBtb2RlOyBpbnN0ZWFkIHdlIGRlZmluZWQgVEVYSU5GT19URVggZXhwbGljaXRs eQogICMgdXAgYWJvdmUuCiAgaWYgKCRuZWVkX3RleGlfZmlsZSAmJiAhIG9wdGlvbiAnbm8t dGV4aW5mby50ZXgnKQogICAgewogICAgICBpZiAoJG5lZWRfdGV4aV9maWxlID4gMSkKCXsK CSAgcmVxdWlyZV9jb25mX2ZpbGVfd2l0aF9tYWNybyAoVFJVRSwgJ2luZm9fVEVYSU5GT1Mn LCBGT1JFSUdOLAoJCQkJCSd0ZXhpbmZvLnRleCcpOwoJfQogICAgICBlbHNlCgl7CgkgIHJl cXVpcmVfZmlsZV93aXRoX21hY3JvIChUUlVFLCAnaW5mb19URVhJTkZPUycsIEZPUkVJR04s CgkJCQkgICAndGV4aW5mby50ZXgnKTsKCX0KICAgIH0KCiAgcmV0dXJuIChtYWtlZmlsZV93 cmFwICgiIiwgIlx0ICAiLCBAbW9zdGx5X2NsZWFucyksCgkgIG1ha2VmaWxlX3dyYXAgKCIi LCAiXHQgICIsIEB0ZXhpX2NsZWFucyksCgkgIG1ha2VmaWxlX3dyYXAgKCIiLCAiXHQgICIs IEBtYWludF9jbGVhbnMpKTsKfQoKCnN1YiBoYW5kbGVfdGV4aW5mbyAoKQp7CiAgcmVqZWN0 X3ZhciAnVEVYSU5GT1MnLCAiJ1RFWElORk9TJyBpcyBhbiBhbmFjaHJvbmlzbTsgdXNlICdp bmZvX1RFWElORk9TJyI7CiAgIyBGSVhNRTogSSB0aGluayB0aGlzIGlzIGFuIG9ic29sZXRl IGZ1dHVyZSBmZWF0dXJlIG5hbWUuCiAgcmVqZWN0X3ZhciAnaHRtbF9URVhJTkZPUycsICJI VE1MIGdlbmVyYXRpb24gbm90IHlldCBzdXBwb3J0ZWQiOwoKICBteSAkaW5mb190ZXhpbmZv cyA9IHZhciAoJ2luZm9fVEVYSU5GT1MnKTsKICBteSAoJG1vc3RseWNsZWFuLCAkY2xlYW4s ICRtYWludGNsZWFuKSA9ICgnJywgJycsICcnKTsKICBpZiAoJGluZm9fdGV4aW5mb3MpCiAg ICB7CiAgICAgIGRlZmluZV92ZXJib3NlX3RleGluZm87CiAgICAgICgkbW9zdGx5Y2xlYW4s ICRjbGVhbiwgJG1haW50Y2xlYW4pID0gaGFuZGxlX3RleGluZm9faGVscGVyICgkaW5mb190 ZXhpbmZvcyk7CiAgICAgIGNob21wICRtb3N0bHljbGVhbjsKICAgICAgY2hvbXAgJGNsZWFu OwogICAgICBjaG9tcCAkbWFpbnRjbGVhbjsKICAgIH0KCiAgJG91dHB1dF9ydWxlcyAuPSAg ZmlsZV9jb250ZW50cyAoJ3RleGluZm9zJywKCQkJCSAgIG5ldyBBdXRvbWFrZTo6TG9jYXRp b24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU1fVl9EVklQUyAgICA9 PiB2ZXJib3NlX2ZsYWcoJ0RWSVBTJyksCgkJCQkgICBNT1NUTFlDTEVBTiAgID0+ICRtb3N0 bHljbGVhbiwKCQkJCSAgIFRFWElDTEVBTiAgICAgPT4gJGNsZWFuLAoJCQkJICAgTUFJTlRD TEVBTiAgICA9PiAkbWFpbnRjbGVhbiwKCQkJCSAgICdMT0NBTC1URVhJUycgPT4gISEkaW5m b190ZXhpbmZvcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBURVhJUVVJ RVQgICAgID0+IHZlcmJvc2VfZmxhZygndGV4aW5mbycpKTsKfQoKCnN1YiBoYW5kbGVfbWFu X3BhZ2VzICgpCnsKICByZWplY3RfdmFyICdNQU5TJywgIidNQU5TJyBpcyBhbiBhbmFjaHJv bmlzbTsgdXNlICdtYW5fTUFOUyciOwoKICAjIEZpbmQgYWxsIHRoZSBzZWN0aW9ucyBpbiB1 c2UuICBXZSBkbyB0aGlzIGJ5IGZpcnN0IGxvb2tpbmcgZm9yCiAgIyAic3RhbmRhcmQiIHNl Y3Rpb25zLCBhbmQgdGhlbiBsb29raW5nIGZvciBhbnkgYWRkaXRpb25hbAogICMgc2VjdGlv bnMgdXNlZCBpbiBtYW5fTUFOUy4KICBteSAoJXNlY3Rpb25zLCAlbm90cmFuc19zZWN0aW9u cywgJXRyYW5zX3NlY3Rpb25zLAogICAgICAlbm90cmFuc192YXJzLCAldHJhbnNfdmFycywg JW5vdHJhbnNfc2VjdF92YXJzLCAldHJhbnNfc2VjdF92YXJzKTsKICAjIFdlIGhhbmRsZSBu b2Rpc3RfIGZvciB1bmlmb3JtaXR5LiAgbWFuIHBhZ2VzIGFyZW4ndCBkaXN0cmlidXRlZAog ICMgYnkgZGVmYXVsdCBzbyBpdCBpc24ndCBhY3R1YWxseSB2ZXJ5IGltcG9ydGFudC4KICBm b3JlYWNoIG15ICRucGZ4ICgnJywgJ25vdHJhbnNfJykKICAgIHsKICAgICAgZm9yZWFjaCBt eSAkcGZ4ICgnJywgJ2Rpc3RfJywgJ25vZGlzdF8nKQoJewoJICAjIEFkZCBtb3JlIHNlY3Rp b25zIGFzIG5lZWRlZC4KCSAgZm9yZWFjaCBteSAkc2VjdGlvbiAoJzAnLi4nOScsICduJywg J2wnKQoJICAgIHsKCSAgICAgIG15ICR2YXJuYW1lID0gJG5wZnggLiAkcGZ4IC4gJ21hbicg LiAkc2VjdGlvbiAuICdfTUFOUyc7CgkgICAgICBpZiAodmFyICgkdmFybmFtZSkpCgkJewoJ CSAgJHNlY3Rpb25zeyRzZWN0aW9ufSA9IDE7CgkJICAkdmFybmFtZSA9ICckKCcgLiAkdmFy bmFtZSAuICcpJzsKCQkgIGlmICgkbnBmeCBlcSAnbm90cmFuc18nKQoJCSAgICB7CgkJICAg ICAgJG5vdHJhbnNfc2VjdGlvbnN7JHNlY3Rpb259ID0gMTsKCQkgICAgICAkbm90cmFuc19z ZWN0X3ZhcnN7JHZhcm5hbWV9ID0gMTsKCQkgICAgfQoJCSAgZWxzZQoJCSAgICB7CgkJICAg ICAgJHRyYW5zX3NlY3Rpb25zeyRzZWN0aW9ufSA9IDE7CgkJICAgICAgJHRyYW5zX3NlY3Rf dmFyc3skdmFybmFtZX0gPSAxOwoJCSAgICB9CgoJCSAgcHVzaF9kaXN0X2NvbW1vbiAoJHZh cm5hbWUpCgkJICAgIGlmICRwZnggZXEgJ2Rpc3RfJzsKCQl9CgkgICAgfQoKCSAgbXkgJHZh cm5hbWUgPSAkbnBmeCAuICRwZnggLiAnbWFuX01BTlMnOwoJICBteSAkdmFyID0gdmFyICgk dmFybmFtZSk7CgkgIGlmICgkdmFyKQoJICAgIHsKCSAgICAgIGZvcmVhY2ggKCR2YXItPnZh bHVlX2FzX2xpc3RfcmVjdXJzaXZlKQoJCXsKCQkgICMgQSBwYWdlIGxpa2UgJ2Zvby4xYycg Z29lcyBpbnRvIG1hbjFkaXIuCgkJICBpZiAoL1wuKFswLTlhLXpdKShbYS16XSopJC8pCgkJ ICAgIHsKCQkgICAgICAkc2VjdGlvbnN7JDF9ID0gMTsKCQkgICAgICBpZiAoJG5wZnggZXEg J25vdHJhbnNfJykKCQkJewoJCQkgICRub3RyYW5zX3NlY3Rpb25zeyQxfSA9IDE7CgkJCX0K CQkgICAgICBlbHNlCgkJCXsKCQkJICAkdHJhbnNfc2VjdGlvbnN7JDF9ID0gMTsKCQkJfQoJ CSAgICB9CgkJfQoKCSAgICAgICR2YXJuYW1lID0gJyQoJyAuICR2YXJuYW1lIC4gJyknOwoJ ICAgICAgaWYgKCRucGZ4IGVxICdub3RyYW5zXycpCgkJewoJCSAgJG5vdHJhbnNfdmFyc3sk dmFybmFtZX0gPSAxOwoJCX0KCSAgICAgIGVsc2UKCQl7CgkJICAkdHJhbnNfdmFyc3skdmFy bmFtZX0gPSAxOwoJCX0KCSAgICAgIHB1c2hfZGlzdF9jb21tb24gKCR2YXJuYW1lKQoJCWlm ICRwZnggZXEgJ2Rpc3RfJzsKCSAgICB9Cgl9CiAgICB9CgogIHJldHVybiB1bmxlc3MgJXNl Y3Rpb25zOwoKICBteSBAdW5zb3J0ZWRfZGVwczsKCiAgIyBCdWlsZCBzZWN0aW9uIGluZGVw ZW5kZW50IHZhcmlhYmxlcy4KICBteSAkaGF2ZV9ub3RyYW5zID0gJW5vdHJhbnNfdmFyczsK ICBteSBAbm90cmFuc19saXN0ID0gc29ydCBrZXlzICVub3RyYW5zX3ZhcnM7CiAgbXkgJGhh dmVfdHJhbnMgPSAldHJhbnNfdmFyczsKICBteSBAdHJhbnNfbGlzdCA9IHNvcnQga2V5cyAl dHJhbnNfdmFyczsKCiAgIyBOb3cgZm9yIGVhY2ggc2VjdGlvbiwgZ2VuZXJhdGUgYW4gaW5z dGFsbCBhbmQgdW5pbnN0YWxsIHJ1bGUuCiAgIyBTb3J0IHNlY3Rpb25zIHNvIG91dHB1dCBp cyBkZXRlcm1pbmlzdGljLgogIGZvcmVhY2ggbXkgJHNlY3Rpb24gKHNvcnQga2V5cyAlc2Vj dGlvbnMpCiAgICB7CiAgICAgICMgQnVpbGQgc2VjdGlvbiBkZXBlbmRlbnQgdmFyaWFibGVz LgogICAgICBteSAkbm90cmFuc19tYW5zID0gJGhhdmVfbm90cmFucyB8fCBleGlzdHMgJG5v dHJhbnNfc2VjdGlvbnN7JHNlY3Rpb259OwogICAgICBteSAkdHJhbnNfbWFucyA9ICRoYXZl X3RyYW5zIHx8IGV4aXN0cyAkdHJhbnNfc2VjdGlvbnN7JHNlY3Rpb259OwogICAgICBteSAo JW5vdHJhbnNfdGhpc19zZWN0LCAldHJhbnNfdGhpc19zZWN0KTsKICAgICAgbXkgJGV4cHIg PSAnbWFuJyAuICRzZWN0aW9uIC4gJ19NQU5TJzsKICAgICAgZm9yZWFjaCBteSAkdmFybmFt ZSAoa2V5cyAlbm90cmFuc19zZWN0X3ZhcnMpCgl7CgkgIGlmICgkdmFybmFtZSA9fiAvJGV4 cHIvKQoJICAgIHsKCSAgICAgICRub3RyYW5zX3RoaXNfc2VjdHskdmFybmFtZX0gPSAxOwoJ ICAgIH0KCX0KICAgICAgZm9yZWFjaCBteSAkdmFybmFtZSAoa2V5cyAldHJhbnNfc2VjdF92 YXJzKQoJewoJICBpZiAoJHZhcm5hbWUgPX4gLyRleHByLykKCSAgICB7CgkgICAgICAkdHJh bnNfdGhpc19zZWN0eyR2YXJuYW1lfSA9IDE7CgkgICAgfQoJfQogICAgICBteSBAbm90cmFu c19zZWN0X2xpc3QgPSBzb3J0IGtleXMgJW5vdHJhbnNfdGhpc19zZWN0OwogICAgICBteSBA dHJhbnNfc2VjdF9saXN0ID0gc29ydCBrZXlzICV0cmFuc190aGlzX3NlY3Q7CiAgICAgIEB1 bnNvcnRlZF9kZXBzID0gKGtleXMgJW5vdHJhbnNfdmFycywga2V5cyAldHJhbnNfdmFycywK ICAgICAgICAgICAgICAgICAgICAgICAga2V5cyAlbm90cmFuc190aGlzX3NlY3QsIGtleXMg JXRyYW5zX3RoaXNfc2VjdCk7CiAgICAgIG15IEBkZXBzID0gc29ydCBAdW5zb3J0ZWRfZGVw czsKICAgICAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgnbWFucycsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlv biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRUNUSU9OICAgICAg ICAgICA9PiAkc2VjdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBERVBTICAgICAgICAgICAgICA9PiAiQGRlcHMiLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5PVFJBTlNfTUFOUyAgICAgID0+ICRub3RyYW5zX21hbnMsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9UUkFOU19TRUNUX0xJU1Qg PT4gIkBub3RyYW5zX3NlY3RfbGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSEFWRV9OT1RSQU5TICAgICAgPT4gJGhhdmVfbm90cmFucywKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1RSQU5TX0xJU1QgICAgICA9PiAiQG5v dHJhbnNfbGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJB TlNfTUFOUyAgICAgICAgPT4gJHRyYW5zX21hbnMsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVFJBTlNfU0VDVF9MSVNUICAgPT4gIkB0cmFuc19zZWN0X2xpc3Qi LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBVkVfVFJBTlMgICAg ICAgID0+ICRoYXZlX3RyYW5zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFRSQU5TX0xJU1QgICAgICAgID0+ICJAdHJhbnNfbGlzdCIpOwogICAgfQoKICBAdW5z b3J0ZWRfZGVwcyAgPSAoa2V5cyAlbm90cmFuc192YXJzLCBrZXlzICV0cmFuc192YXJzLAog ICAgICAgICAgICAgICAgICAgICBrZXlzICVub3RyYW5zX3NlY3RfdmFycywga2V5cyAldHJh bnNfc2VjdF92YXJzKTsKICBteSBAbWFucyA9IHNvcnQgQHVuc29ydGVkX2RlcHM7CiAgJG91 dHB1dF92YXJzIC49IGZpbGVfY29udGVudHMgKCdtYW5zLXZhcnMnLAoJCQkJIG5ldyBBdXRv bWFrZTo6TG9jYXRpb24sCgkJCQkgTUFOUyA9PiAiQG1hbnMiKTsKCiAgcHVzaCAoQGFsbCwg JyQoTUFOUyknKQogICAgdW5sZXNzIG9wdGlvbiAnbm8taW5zdGFsbG1hbic7Cn0KCgpzdWIg aGFuZGxlX2RhdGEgKCkKewogICAgYW1faW5zdGFsbF92YXIgKCctbm9leHRyYScsICctY2Fu ZGlzdCcsICdkYXRhJywgJ0RBVEEnLAogICAgICAgICAgICAgICAgICAgICdkYXRhJywgJ2Rh dGFyb290JywgJ2RvYycsICdkdmknLCAnaHRtbCcsICdwZGYnLAogICAgICAgICAgICAgICAg ICAgICdwcycsICdzeXNjb25mJywgJ3NoYXJlZHN0YXRlJywgJ2xvY2Fsc3RhdGUnLAogICAg ICAgICAgICAgICAgICAgICdwa2dkYXRhJywgJ2xpc3AnLCAnbm9pbnN0JywgJ2NoZWNrJyk7 Cn0KCgpzdWIgaGFuZGxlX3RhZ3MgKCkKewogICAgbXkgQGNvbmZpZzsKICAgIGZvcmVhY2gg bXkgJHNwZWMgKEBjb25maWdfaGVhZGVycykKICAgICAgewogICAgICAgIG15ICgkb3V0LCBA aW5zKSA9IHNwbGl0X2NvbmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKCWZvcmVhY2ggbXkgJGlu IChAaW5zKQoJICB7CiAgICAgICAgICAgICMgSWYgdGhlIGNvbmZpZyBoZWFkZXIgc291cmNl IGlzIGluIHRoaXMgZGlyZWN0b3J5LAoJICAgICMgcmVxdWlyZSBpdC4KCSAgICBwdXNoIEBj b25maWcsIGJhc2VuYW1lICgkaW4pCiAgICAgICAgICAgICAgaWYgJHJlbGF0aXZlX2RpciBl cSBkaXJuYW1lICgkaW4pOwoJICAgfQogICAgICB9CgogICAgZGVmaW5lX3ZhcmlhYmxlICgn YW1fX3RhZ2dlZF9maWxlcycsCiAgICAgICAgICAgICAgICAgICAgICckKEhFQURFUlMpICQo U09VUkNFUykgJChUQUdTX0ZJTEVTKSAkKExJU1ApJwogICAgICAgICAgICAgICAgICAgICAu ICIgQGNvbmZpZyIsIElOVEVSTkFMKTsKCiAgICBpZiAocnZhcignYW1fX3RhZ2dlZF9maWxl cycpLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZQogICAgICAgICAgfHwgdmFyICgnRVRBR1Nf QVJHUycpIHx8IHZhciAoJ1NVQkRJUlMnKSkKICAgICAgewoJJG91dHB1dF9ydWxlcyAuPSBm aWxlX2NvbnRlbnRzICgndGFncycsIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24pOwoJc2V0X3Nl ZW4gJ1RBR1NfREVQRU5ERU5DSUVTJzsKICAgICAgfQogICAgZWxzZQogICAgICB7CiAgICAg ICAgcmVqZWN0X3ZhciAoJ1RBR1NfREVQRU5ERU5DSUVTJywKCQkgICAgIml0IGRvZXNuJ3Qg bWFrZSBzZW5zZSB0byBkZWZpbmUgJ1RBR1NfREVQRU5ERU5DSUVTJyIKCQkgICAgLiAiIHdp dGhvdXRcbnNvdXJjZXMgb3IgJ0VUQUdTX0FSR1MnIik7CgkjIEV2ZXJ5IE1ha2VmaWxlIG11 c3QgZGVmaW5lIHNvbWUgc29ydCBvZiBUQUdTIHJ1bGUuCgkjIE90aGVyd2lzZSwgaXQgd291 bGQgYmUgcG9zc2libGUgZm9yIGEgdG9wLWxldmVsICJtYWtlIFRBR1MiCgkjIHRvIGZhaWwg YmVjYXVzZSBzb21lIHN1YmRpcmVjdG9yeSBmYWlsZWQuICBEaXR0byBjdGFncyBhbmQKICAg ICAgICAjIGNzY29wZS4KICAgICAgICAkb3V0cHV0X3J1bGVzIC49CiAgICAgICAgICAidGFn cyBUQUdTOlxuXG4iIC4KICAgICAgICAgICJjdGFncyBDVEFHUzpcblxuIiAuCiAgICAgICAg ICAiY3Njb3BlIGNzY29wZWxpc3Q6XG5cbiI7CiAgICAgIH0KfQoKCiMgdXNlcl9waG9ueV9y dWxlICgkTkFNRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHVybiBmYWxzZSBp ZiBydWxlICROQU1FIGRvZXMgbm90IGV4aXN0LiAgT3RoZXJ3aXNlLAojIGRlY2xhcmUgaXQg YXMgcGhvbnksIGNvbXBsZXRlIGl0cyBkZWZpbml0aW9uIChpbiBjYXNlIGl0IGlzCiMgY29u ZGl0aW9uYWwpLCBhbmQgcmV0dXJuIGl0cyBBdXRvbWFrZTo6UnVsZSBpbnN0YW5jZS4Kc3Vi IHVzZXJfcGhvbnlfcnVsZQp7CiAgbXkgKCRuYW1lKSA9IEBfOwogIG15ICRydWxlID0gcnVs ZSAkbmFtZTsKICBpZiAoJHJ1bGUpCiAgICB7CiAgICAgIGRlcGVuZCAoJy5QSE9OWScsICRu YW1lKTsKICAgICAgIyBEZWZpbmUgJE5BTUUgaW4gYWxsIGNvbmRpdGlvbiB3aGVyZSBpdCBp cyBub3QgYWxyZWFkeSBkZWZpbmVkLAogICAgICAjIHNvIHRoYXQgaXQgaXMgYWx3YXlzIE9L IHRvIGRlcGVuZCBvbiAkTkFNRS4KICAgICAgZm9yIG15ICRjICgkcnVsZS0+bm90X2Fsd2F5 c19kZWZpbmVkX2luX2NvbmQgKFRSVUUpLT5jb25kcykKCXsKCSAgQXV0b21ha2U6OlJ1bGU6 OmRlZmluZSAoJG5hbWUsICdpbnRlcm5hbCcsIFJVTEVfQVVUT01BS0UsCgkJCQkgICRjLCBJ TlRFUk5BTCk7CgkgICRvdXRwdXRfcnVsZXMgLj0gJGMtPnN1YnN0X3N0cmluZyAuICIkbmFt ZTpcbiI7Cgl9CiAgICB9CiAgcmV0dXJuICRydWxlOwp9CgoKIyBIYW5kbGUgJ2Rpc3QnIHRh cmdldC4Kc3ViIGhhbmRsZV9kaXN0ICgpCnsKICAjIFN1YnN0aXR1dGlvbnMgZm9yIGRpc3Rk aXIuYW0KICBteSAldHJhbnNmb3JtOwoKICAjIERlZmluZSBESVNUX1NVQkRJUlMuICBUaGlz IG11c3QgYWx3YXlzIGJlIGRvbmUsIHJlZ2FyZGxlc3Mgb2YgdGhlCiAgIyBuby1kaXN0IHNl dHRpbmc6IHRhcmdldCBsaWtlICdkaXN0Y2xlYW4nIG9yICdtYWludGFpbmVyLWNsZWFuJyB1 c2UgaXQuCiAgbXkgJHN1YmRpcnMgPSB2YXIgKCdTVUJESVJTJyk7CiAgaWYgKCRzdWJkaXJz KQogICAgewogICAgICAjIElmIFNVQkRJUlMgaXMgY29uZGl0aW9uYWxseSBkZWZpbmVkLCB0 aGVuIHNldCBESVNUX1NVQkRJUlMKICAgICAgIyB0byBhbGwgcG9zc2libGUgZGlyZWN0b3Jp ZXMsIGFuZCB1c2UgaXQuICBJZiBESVNUX1NVQkRJUlMgaXMKICAgICAgIyBkZWZpbmVkLCBq dXN0IHVzZSBpdC4KCiAgICAgICMgTm90ZSB0aGF0IHdlIGNoZWNrIERJU1RfU1VCRElSUyBm aXJzdCBvbiBwdXJwb3NlLCBzbyB0aGF0CiAgICAgICMgd2UgZG9uJ3QgY2FsbCBoYXNfY29u ZGl0aW9uYWxfY29udGVudHMgZm9yIG5vdyByZWFzb24uCiAgICAgICMgKEluIHRoZSBwYXN0 IG9uZSBwcm9qZWN0IHVzZWQgc28gbWFueSBjb25kaXRpb25hbCBzdWJkaXJlY3Rvcmllcwog ICAgICAjIHRoYXQgY2FsbGluZyBoYXNfY29uZGl0aW9uYWxfY29udGVudHMgb24gU1VCRElS UyBjYXVzZWQKICAgICAgIyBhdXRvbWFrZSB0byBncm93IHRvIDE1ME1iIC0tIHRoaXMgc2hv dWxkIG5vdCBoYXBwZW4gd2l0aAogICAgICAjIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9u IG9mIGhhc19jb25kaXRpb25hbF9jb250ZW50cywKICAgICAgIyBidXQgaXQncyBtb3JlIGVm ZmljaWVudCB0byBhdm9pZCB0aGUgY2FsbCBhbnl3YXkuKQogICAgICBpZiAodmFyICgnRElT VF9TVUJESVJTJykpCgl7Cgl9CiAgICAgIGVsc2lmICgkc3ViZGlycy0+aGFzX2NvbmRpdGlv bmFsX2NvbnRlbnRzKQoJewoJICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlCgkgICAgKCdESVNU X1NVQkRJUlMnLCBUUlVFLCBJTlRFUk5BTCwKCSAgICAgdW5pcSAoJHN1YmRpcnMtPnZhbHVl X2FzX2xpc3RfcmVjdXJzaXZlKSk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgIyBXZSBhbHdheXMg ZGVmaW5lIHRoaXMgYmVjYXVzZSB0aGF0IGlzIHdoYXQgJ2Rpc3RjbGVhbicKCSAgIyB3YW50 cy4KCSAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ0RJU1RfU1VCRElSUycsIFRSVUUsIElO VEVSTkFMLAoJCQkJICAnJChTVUJESVJTKScpOwoJfQogICAgfQoKICAjIFRoZSByZW1haW5p bmcgZGVmaW5pdGlvbnMgYXJlIG9ubHkgcmVxdWlyZWQgd2hlbiBhIGRpc3QgdGFyZ2V0IGlz IHVzZWQuCiAgcmV0dXJuIGlmIG9wdGlvbiAnbm8tZGlzdCc7CgogICMgQXQgbGVhc3Qgb25l IG9mIHRoZSBhcmNoaXZlIGZvcm1hdHMgbXVzdCBiZSBlbmFibGVkLgogIGlmICgkcmVsYXRp dmVfZGlyIGVxICcuJykKICAgIHsKICAgICAgbXkgJGFyY2hpdmVfZGVmaW5lZCA9IG9wdGlv biAnbm8tZGlzdC1nemlwJyA/IDAgOiAxOwogICAgICAkYXJjaGl2ZV9kZWZpbmVkIHx8PQoJ Z3JlcCB7IG9wdGlvbiAiZGlzdC0kXyIgfSBxdyhzaGFyIHppcCB0YXJaIGJ6aXAyIGx6aXAg eHogenN0ZCk7CiAgICAgIGVycm9yIChvcHRpb24gJ25vLWRpc3QtZ3ppcCcsCgkgICAgICJu by1kaXN0LWd6aXAgc3BlY2lmaWVkIGJ1dCBubyBkaXN0LSogc3BlY2lmaWVkLFxuIgoJICAg ICAuICJhdCBsZWFzdCBvbmUgYXJjaGl2ZSBmb3JtYXQgbXVzdCBiZSBlbmFibGVkIikKCXVu bGVzcyAkYXJjaGl2ZV9kZWZpbmVkOwogICAgfQoKICAjIExvb2sgZm9yIGNvbW1vbiBmaWxl cyB0aGF0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiBkaXN0cmlidXRpb24uCiAgIyBJZiB0aGUg YXV4IGRpciBpcyBzZXQsIGFuZCBpdCBkb2VzIG5vdCBoYXZlIGEgTWFrZWZpbGUuYW0sIHRo ZW4KICAjIHdlIGNoZWNrIGZvciB0aGVzZSBmaWxlcyB0aGVyZSBhcyB3ZWxsLgogIG15ICRj aGVja19hdXggPSAwOwogIGlmICgkcmVsYXRpdmVfZGlyIGVxICcuJwogICAgICAmJiAkY29u ZmlnX2F1eF9kaXJfc2V0X2luX2NvbmZpZ3VyZV9hYykKICAgIHsKICAgICAgaWYgKCEgaXNf bWFrZV9kaXIgKCRjb25maWdfYXV4X2RpcikpCgl7CgkgICRjaGVja19hdXggPSAxOwoJfQog ICAgfQogIGZvcmVhY2ggbXkgJGNmaWxlIChAY29tbW9uX2ZpbGVzKQogICAgewogICAgICBp ZiAoZGlyX2hhc19jYXNlX21hdGNoaW5nX2ZpbGUgKCRyZWxhdGl2ZV9kaXIsICRjZmlsZSkK CSAgIyBUaGUgZmlsZSBtaWdodCBiZSBhYnNlbnQsIGJ1dCBpZiBpdCBjYW4gYmUgYnVpbHQg aXQncyBvay4KCSAgfHwgcnVsZSAkY2ZpbGUpCgl7CgkgIHB1c2hfZGlzdF9jb21tb24gKCRj ZmlsZSk7Cgl9CgogICAgICAjIERvbid0IHVzZSAnZWxzaWYnIGhlcmUgYmVjYXVzZSBhIGZp bGUgbWlnaHQgbWVhbmluZ2Z1bGx5CiAgICAgICMgYXBwZWFyIGluIGJvdGggZGlyZWN0b3Jp ZXMuCiAgICAgIGlmICgkY2hlY2tfYXV4ICYmIGRpcl9oYXNfY2FzZV9tYXRjaGluZ19maWxl ICgkY29uZmlnX2F1eF9kaXIsICRjZmlsZSkpCgl7CgkgIHB1c2hfZGlzdF9jb21tb24gKCIk Y29uZmlnX2F1eF9kaXIvJGNmaWxlIikKCX0KICAgIH0KCiAgIyBXZSBtaWdodCBjb3B5IGVs ZW1lbnRzIGZyb20gQGNvbmZpZ3VyZV9kaXN0X2NvbW1vbiB0bwogICMgQGRpc3RfY29tbW9u IGlmIHdlIHRoaW5rIHdlIG5lZWQgdG8uICBJZiB0aGUgZmlsZSBhcHBlYXJzIGluIG91cgog ICMgZGlyZWN0b3J5LCB3ZSB3b3VsZCBoYXZlIGRpc2NvdmVyZWQgaXQgYWxyZWFkeSwgc28g d2UgZG9uJ3QKICAjIGNoZWNrIHRoYXQuICBCdXQgaWYgdGhlIGZpbGUgaXMgaW4gYSBzdWJk aXIgd2l0aG91dCBhIE1ha2VmaWxlLAogICMgd2Ugd2FudCB0byBkaXN0cmlidXRlIGl0IGhl cmUgaWYgd2UgYXJlIGRvaW5nICcuJy4gIFVnbHkhCiAgIyBBbHNvLCBpbiBzb21lIGNvcm5l ciBjYXNlcywgaXQncyBwb3NzaWJsZSB0aGF0IHRoZSBmb2xsb3dpbmcgY29kZQogICMgd2ls bCBjYXVzZSB0aGUgc2FtZSBmaWxlIHRvIGFwcGVhciBpbiB0aGUgJChESVNUX0NPTU1PTikg dmFyaWFibGVzCiAgIyBvZiB0d28gZGlzdGluY3QgTWFrZWZpbGVzOyBidXQgdGhpcyBpcyBu b3QgYSBwcm9ibGVtLCBzaW5jZSB0aGUKICAjICdkaXN0ZGlyJyB0YXJnZXQgaW4gJ2xpYi9h bS9kaXN0ZGlyLmFtJyBjYW4gZGVhbCB3aXRoIHRoZSBzYW1lCiAgIyBmaWxlIGJlaW5nIGRp c3RyaWJ1dGVkIG11bHRpcGxlIHRpbWVzLgogICMgU2VlIGFsc28gYXV0b21ha2UgYnVnIzk2 NTEuCiAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nKQogICAgewogICAgICBmb3JlYWNoIG15 ICRmaWxlIChAY29uZmlndXJlX2Rpc3RfY29tbW9uKQoJewoJICBteSAkZGlyID0gZGlybmFt ZSAoJGZpbGUpOwoJICBwdXNoX2Rpc3RfY29tbW9uICgkZmlsZSkKCSAgICBpZiAoJGRpciBl cSAnLicgfHwgISBpc19tYWtlX2RpciAoJGRpcikpOwoJfQogICAgICBAY29uZmlndXJlX2Rp c3RfY29tbW9uID0gKCk7CiAgICB9CgogICMgJChhbV9fRElTVF9DT01NT04pOiBmaWxlcyB0 byBiZSBkaXN0cmlidXRlZCBhdXRvbWF0aWNhbGx5LiAgV2lsbCBiZQogICMgYXBwZW5kZWQg dG8gJChESVNUX0NPTU1PTikgaW4gdGhlIGdlbmVyYXRlZCBNYWtlZmlsZS4KICAjIFVzZSAn c29ydCcgc28gdGhhdCB0aGUgZXhwYW5zaW9uIG9mICQoRElTVF9DT01NT04pIGluIHRoZSBn ZW5lcmF0ZWQKICAjIE1ha2VmaWxlIGlzIGRldGVybWluaXN0aWMsIGluIGZhY2Ugb2YgbTQg YW5kL29yIHBlcmwgcmFuZG9taXphdGlvbnMKICAjIChzZWUgYXV0b21ha2UgYnVnIzE3OTA4 KS4KICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnYW1fX0RJU1RfQ09NTU9OJywgVFJVRSwg SU5URVJOQUwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pcSAoc29ydCBAZGlzdF9j b21tb24pKTsKCiAgIyBOb3cgdGhhdCB3ZSd2ZSBwcm9jZXNzZWQgQGRpc3RfY29tbW9uLCBk aXNhbGxvdyBmdXJ0aGVyIGF0dGVtcHRzCiAgIyB0byBtb2RpZnkgaXQuCiAgJGhhbmRsZV9k aXN0X3J1biA9IDE7CgogICR0cmFuc2Zvcm17J0RJU1RDSEVDSy1IT09LJ30gPSAhISBydWxl ICdkaXN0Y2hlY2staG9vayc7CiAgJHRyYW5zZm9ybXsnR0VUVEVYVCd9ID0gJHNlZW5fZ2V0 dGV4dCAmJiAhJHNlZW5fZ2V0dGV4dF9leHRlcm5hbDsKCiAgIyBJZiB0aGUgdGFyZ2V0ICdk aXN0LWhvb2snIGV4aXN0cywgbWFrZSBzdXJlIGl0IGlzIHJ1bi4gIFRoaXMKICAjIGFsbG93 cyB1c2VycyB0byBkbyByYW5kb20gd2VpcmQgdGhpbmdzIHRvIHRoZSBkaXN0cmlidXRpb24K ICAjIGJlZm9yZSBpdCBpcyBwYWNrYWdlZCB1cC4KICBwdXNoIChAZGlzdF90YXJnZXRzLCAn ZGlzdC1ob29rJykKICAgIGlmIHVzZXJfcGhvbnlfcnVsZSAnZGlzdC1ob29rJzsKICAkdHJh bnNmb3JteydESVNULVRBUkdFVFMnfSA9IGpvaW4gKCcgJywgQGRpc3RfdGFyZ2V0cyk7Cgog IG15ICRmbG0gPSBvcHRpb24gKCdmaWxlbmFtZS1sZW5ndGgtbWF4Jyk7CiAgbXkgJGZpbGVu YW1lX2ZpbHRlciA9ICRmbG0gPyAnLicgeCAkZmxtLT5bMV0gOiAnJzsKCiAgJG91dHB1dF9y dWxlcyAuPSBmaWxlX2NvbnRlbnRzICgnZGlzdGRpcicsCgkJCQkgIG5ldyBBdXRvbWFrZTo6 TG9jYXRpb24sCgkJCQkgICV0cmFuc2Zvcm0sCgkJCQkgIEZJTEVOQU1FX0ZJTFRFUiA9PiAk ZmlsZW5hbWVfZmlsdGVyKTsKfQoKCiMgY2hlY2tfZGlyZWN0b3J5ICgkTkFNRSwgJFdIRVJF IFssICRSRUxBVElWRV9ESVIgPSAiLiJdKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBFbnN1cmUgJE5BTUUgaXMgYSBkaXJl Y3RvcnkgKGluICRSRUxBVElWRV9ESVIpLCBhbmQgdGhhdCBpdCB1c2VzIGEgc2FuZQojIG5h bWUuICBVc2UgJFdIRVJFIGFzIGEgbG9jYXRpb24gaW4gdGhlIGRpYWdub3N0aWMsIGlmIGFu eS4Kc3ViIGNoZWNrX2RpcmVjdG9yeQp7CiAgbXkgKCRkaXIsICR3aGVyZSwgJHJlbGRpcikg PSBAXzsKICAkcmVsZGlyID0gJy4nIHVubGVzcyBkZWZpbmVkICRyZWxkaXI7CgogIGVycm9y ICR3aGVyZSwgInJlcXVpcmVkIGRpcmVjdG9yeSAkcmVsZGlyLyRkaXIgZG9lcyBub3QgZXhp c3QiCiAgICB1bmxlc3MgLWQgIiRyZWxkaXIvJGRpciI7CgogICMgSWYgYW4gJ29iai8nIGRp cmVjdG9yeSBleGlzdHMsIEJTRCBtYWtlIHdpbGwgZW50ZXIgaXQgYmVmb3JlCiAgIyByZWFk aW5nICdNYWtlZmlsZScuICBIZW5jZSB0aGUgJ01ha2VmaWxlJyBpbiB0aGUgY3VycmVudCBk aXJlY3RvcnkKICAjIHdpbGwgbm90IGJlIHJlYWQuCiAgIwogICMgICUgY2F0IE1ha2VmaWxl CiAgIyAgYWxsOgogICMgICAgICAgICAgZWNobyBIZWxsbwogICMgICUgY2F0IG9iai9NYWtl ZmlsZQogICMgIGFsbDoKICAjICAgICAgICAgIGVjaG8gV29ybGQKICAjICAlIG1ha2UgICAg ICAjIEdOVSBtYWtlCiAgIyAgZWNobyBIZWxsbwogICMgIEhlbGxvCiAgIyAgJSBwbWFrZSAg ICAgIyBCU0QgbWFrZQogICMgIGVjaG8gV29ybGQKICAjICBXb3JsZAogIG1zZyAoJ3BvcnRh YmlsaXR5JywgJHdoZXJlLAogICAgICAgIm5hbWluZyBhIHN1YmRpcmVjdG9yeSAnb2JqJyBj YXVzZXMgdHJvdWJsZXMgd2l0aCBCU0QgbWFrZSIpCiAgICBpZiAkZGlyIGVxICdvYmonOwoK ICAjICdhdXgnIGlzIHByb2JhYmx5IHRoZSBtb3N0IGltcG9ydGFudCBvZiB0aGUgZm9sbG93 aW5nIGZvcmJpZGRlbiBuYW1lLAogICMgc2luY2UgaXQncyB0ZW1wdGluZyB0byB1c2UgaXQg YXMgYW4gQUNfQ09ORklHX0FVWF9ESVIuCiAgbXNnICgncG9ydGFiaWxpdHknLCAkd2hlcmUs CiAgICAgICAibmFtZSAnJGRpcicgaXMgcmVzZXJ2ZWQgb24gVzMyIGFuZCBET1MgcGxhdGZv cm1zIikKICAgIGlmIGdyZXAgKC9eXFEkZGlyXEUkL2ksIHF3L2F1eCBscHQxIGxwdDIgbHB0 MyBjb20xIGNvbTIgY29tMyBjb200IGNvbiBwcm4vKTsKfQoKIyBjaGVja19kaXJlY3Rvcmll c19pbl92YXIgKCRWQVJJQUJMRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIyBSZWN1cnNpdmVseSBjaGVjayBhbGwgaXRlbXMgaW4gdmFyaWFibGVzICRWQVJJ QUJMRSBhcyBkaXJlY3RvcmllcwpzdWIgY2hlY2tfZGlyZWN0b3JpZXNfaW5fdmFyCnsKICBt eSAoJHZhcikgPSBAXzsKICAkdmFyLT50cmF2ZXJzZV9yZWN1cnNpdmVseQogICAgKHN1Ygog ICAgIHsKICAgICAgIG15ICgkdmFyLCAkdmFsLCAkY29uZCwgJGZ1bGxfY29uZCkgPSBAXzsK ICAgICAgIGNoZWNrX2RpcmVjdG9yeSAoJHZhbCwgJHZhci0+cmRlZiAoJGNvbmQpLT5sb2Nh dGlvbiwgJHJlbGF0aXZlX2Rpcik7CiAgICAgICByZXR1cm4gKCk7CiAgICAgfSwKICAgICB1 bmRlZiwKICAgICBza2lwX2FjX3N1YnN0ID0+IDEpOwp9CgoKc3ViIGhhbmRsZV9zdWJkaXJz ICgpCnsKICBteSAkc3ViZGlycyA9IHZhciAoJ1NVQkRJUlMnKTsKICByZXR1cm4KICAgIHVu bGVzcyAkc3ViZGlyczsKCiAgY2hlY2tfZGlyZWN0b3JpZXNfaW5fdmFyICRzdWJkaXJzOwoK ICBteSAkZHN1YmRpcnMgPSB2YXIgKCdESVNUX1NVQkRJUlMnKTsKICBjaGVja19kaXJlY3Rv cmllc19pbl92YXIgJGRzdWJkaXJzCiAgICBpZiAkZHN1YmRpcnM7CgogICRvdXRwdXRfcnVs ZXMgLj0gZmlsZV9jb250ZW50cyAoJ3N1YmRpcnMnLCBuZXcgQXV0b21ha2U6OkxvY2F0aW9u KTsKICBydmFyICgnUkVDVVJTSVZFX1RBUkdFVFMnKS0+cmRlZiAoVFJVRSktPnsncHJldHR5 J30gPSBWQVJfU09SVEVEOyAjIEdyb3NzIQp9CgoKIyAoJFJFR0VOLCBAREVQRU5ERU5DSUVT KQojIHNjYW5fYWNsb2NhbF9tNAojIC0tLS0tLS0tLS0tLS0tLQojIElmIGFjbG9jYWwubTQg Y3JlYXRpb24gaXMgYXV0b21hdGVkLCByZXR1cm4gdGhlIGxpc3Qgb2YgaXRzIGRlcGVuZGVu Y2llcy4Kc3ViIHNjYW5fYWNsb2NhbF9tNCAoKQp7CiAgbXkgJHJlZ2VuX2FjbG9jYWwgPSAw OwoKICBzZXRfc2VlbiAnQ09ORklHX1NUQVRVU19ERVBFTkRFTkNJRVMnOwogIHNldF9zZWVu ICdDT05GSUdVUkVfREVQRU5ERU5DSUVTJzsKCiAgaWYgKC1mICdhY2xvY2FsLm00JykKICAg IHsKICAgICAgZGVmaW5lX3ZhcmlhYmxlICgiQUNMT0NBTF9NNCIsICckKHRvcF9zcmNkaXIp L2FjbG9jYWwubTQnLCBJTlRFUk5BTCk7CgogICAgICBteSAkYWNsb2NhbCA9IG5ldyBBdXRv bWFrZTo6WEZpbGUgIjwgYWNsb2NhbC5tNCI7CiAgICAgIG15ICRsaW5lID0gJGFjbG9jYWwt PmdldGxpbmU7CiAgICAgICRyZWdlbl9hY2xvY2FsID0gJGxpbmUgPX4gJ2dlbmVyYXRlZCBh dXRvbWF0aWNhbGx5IGJ5IGFjbG9jYWwnOwogICAgfQoKICBteSBAYWNfZGVwcyA9ICgpOwoK ICBpZiAoc2V0X3NlZW4gKCdBQ0xPQ0FMX000X1NPVVJDRVMnKSkKICAgIHsKICAgICAgcHVz aCAoQGFjX2RlcHMsICckKEFDTE9DQUxfTTRfU09VUkNFUyknKTsKICAgICAgbXNnX3ZhciAo J29ic29sZXRlJywgJ0FDTE9DQUxfTTRfU09VUkNFUycsCgkgICAgICAgIidBQ0xPQ0FMX000 X1NPVVJDRVMnIGlzIG9ic29sZXRlLlxuIgoJICAgICAgIC4gIkl0IHNob3VsZCBiZSBzYWZl IHRvIHNpbXBseSByZW1vdmUgaXQiKTsKICAgIH0KCiAgIyBOb3RlIHRoYXQgaXQgbWlnaHQg YmUgcG9zc2libGUgdGhhdCBhY2xvY2FsLm00IGRvZXNuJ3QgZXhpc3QgYnV0CiAgIyBzaG91 bGQgYmUgYXV0by1nZW5lcmF0ZWQuICBUaGlzIGNhc2UgcHJvYmFibHkgaXNuJ3QgdmVyeQog ICMgaW1wb3J0YW50LgoKICByZXR1cm4gKCRyZWdlbl9hY2xvY2FsLCBAYWNfZGVwcyk7Cn0K CgojIEhlbHBlciBmdW5jdGlvbiBmb3IgJ3N1YnN0aXR1dGVfYWNfc3Vic3RfdmFyaWFibGVz Jy4Kc3ViIHN1YnN0aXR1dGVfYWNfc3Vic3RfdmFyaWFibGVzX3dvcmtlcgp7CiAgbXkgKCR0 b2tlbikgPSBAXzsKICByZXR1cm4gIlxAJHRva2VuXEAiIGlmIHZhciAkdG9rZW47CiAgcmV0 dXJuICJcJHskdG9rZW5cfSI7Cn0KCiMgc3Vic3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXMg KCRURVhUKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZXBs YWNlIGFueSBvY2N1cnJlbmNlIG9mICR7Rk9PfSBpbiAkVEVYVCBieSBARk9PQCBpZiBGT08g aXMgYW4gQUNfU1VCU1QKIyB2YXJpYWJsZS4Kc3ViIHN1YnN0aXR1dGVfYWNfc3Vic3RfdmFy aWFibGVzCnsKICBteSAoJHRleHQpID0gQF87CiAgJHRleHQgPX4gcy9cJFt7XShbXiBcdD06 K3t9XSspfS9zdWJzdGl0dXRlX2FjX3N1YnN0X3ZhcmlhYmxlc193b3JrZXIgKCQxKS9nZTsK ICByZXR1cm4gJHRleHQ7Cn0KCiMgQERFUEVOREVOQ0lFUwojIHByZXBlbmRfc3JjZGlyIChA SU5QVVRTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFByZXBlbmQgJChzcmNkaXIp IG9yICQodG9wX3NyY2RpcikgdG8gYWxsIEBJTlBVVFMuICBUaGUgaWRlYSBpcyB0aGF0CiMg aWYgYW4gaW5wdXQgZmlsZSBoYXMgYSBkaXJlY3RvcnkgcGFydCB0aGUgc2FtZSBhcyB0aGUg Y3VycmVudAojIGRpcmVjdG9yeSwgdGhlbiB0aGUgZGlyZWN0b3J5IHBhcnQgaXMgc2ltcGx5 IHJlcGxhY2VkIGJ5ICQoc3JjZGlyKS4KIyBCdXQgaWYgdGhlIGRpcmVjdG9yeSBwYXJ0IGlz IGRpZmZlcmVudCwgdGhlbiAkKHRvcF9zcmNkaXIpIGlzCiMgcHJlcGVuZGVkLgpzdWIgcHJl cGVuZF9zcmNkaXIKewogIG15IChAaW5wdXRzKSA9IEBfOwogIG15IEBuZXdpbnB1dHM7Cgog IGZvcmVhY2ggbXkgJHNpbmdsZSAoQGlucHV0cykKICAgIHsKICAgICAgaWYgKGRpcm5hbWUg KCRzaW5nbGUpIGVxICRyZWxhdGl2ZV9kaXIpCgl7CgkgIHB1c2ggKEBuZXdpbnB1dHMsICck KHNyY2RpcikvJyAuIGJhc2VuYW1lICgkc2luZ2xlKSk7Cgl9CiAgICAgIGVsc2UKCXsKCSAg cHVzaCAoQG5ld2lucHV0cywgJyQodG9wX3NyY2RpcikvJyAuICRzaW5nbGUpOwoJfQogICAg fQogIHJldHVybiBAbmV3aW5wdXRzOwp9CgojIEBERVBFTkRFTkNJRVMKIyByZXdyaXRlX2lu cHV0c19pbnRvX2RlcGVuZGVuY2llcyAoJE9VVFBVVCwgQElOUFVUUykKIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb21wdXRlIGEg bGlzdCBvZiBkZXBlbmRlbmNpZXMgYXBwcm9wcmlhdGUgZm9yIHRoZSByZWJ1aWxkCiMgcnVs ZSBvZgojICAgQUNfQ09ORklHX0ZJTEVTKCRPVVRQVVQ6JElOUFVUWzBdOiRJTlBVVFNbMV06 Li4uKQojIEFsc28gZGlzdHJpYnV0ZSAkSU5QVVRzIHdoaWNoIGFyZSBub3QgYnVpbHQgYnkg YW5vdGhlciBBQ19DT05GSUdfRk9Pcy4Kc3ViIHJld3JpdGVfaW5wdXRzX2ludG9fZGVwZW5k ZW5jaWVzCnsKICBteSAoJGZpbGUsIEBpbnB1dHMpID0gQF87CiAgbXkgQHJlcyA9ICgpOwoK ICBmb3IgbXkgJGkgKEBpbnB1dHMpCiAgICB7CiAgICAgICMgV2UgY2Fubm90IGNyZWF0ZSBk ZXBlbmRlbmNpZXMgb24gc2hlbGwgdmFyaWFibGVzLgogICAgICBuZXh0IGlmIChzdWJzdGl0 dXRlX2FjX3N1YnN0X3ZhcmlhYmxlcyAkaSkgPX4gL1wkLzsKCiAgICAgIGlmIChleGlzdHMg JGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskaX0gJiYgJGkgbmUgJGZpbGUpCgl7CgkgIG15 ICRkaSA9IGRpcm5hbWUgJGk7CgkgIGlmICgkZGkgZXEgJHJlbGF0aXZlX2RpcikKCSAgICB7 CgkgICAgICAkaSA9IGJhc2VuYW1lICRpOwoJICAgIH0KCSAgIyBJbiB0aGUgdG9wLWxldmVs IE1ha2VmaWxlIHdlIGRvIG5vdCB1c2UgJCh0b3BfYnVpbGRkaXIpLCBiZWNhdXNlCgkgICMg d2UgYXJlIGFscmVhZHkgdGhlcmUsIGFuZCBzaW5jZSB0aGUgdGFyZ2V0cyBhcmUgYnVpbHQg d2l0aG91dAoJICAjIGEgJCh0b3BfYnVpbGRkaXIpLCBpdCBoZWxwcyBCU0QgTWFrZSB0byBt YXRjaCB0aGVtIHdpdGgKCSAgIyBkZXBlbmRlbmNpZXMuCgkgIGVsc2lmICgkcmVsYXRpdmVf ZGlyIG5lICcuJykKCSAgICB7CgkgICAgICAkaSA9ICckKHRvcF9idWlsZGRpcikvJyAuICRp OwoJICAgIH0KCX0KICAgICAgZWxzZQoJewoJICBtc2cgKCdlcnJvcicsICRhY19jb25maWdf ZmlsZXNfbG9jYXRpb257JGZpbGV9LAoJICAgICAgICJyZXF1aXJlZCBmaWxlICckaScgbm90 IGZvdW5kIikKCSAgICB1bmxlc3MgJGkgPX4gL1wkLyB8fCBleGlzdHMgJG91dHB1dF9maWxl c3skaX0gfHwgLWYgJGk7CgkgICgkaSkgPSBwcmVwZW5kX3NyY2RpciAoJGkpOwoJICBwdXNo X2Rpc3RfY29tbW9uICgkaSk7Cgl9CiAgICAgIHB1c2ggQHJlcywgJGk7CiAgICB9CiAgcmV0 dXJuIEByZXM7Cn0KCgoKIyBoYW5kbGVfY29uZmlndXJlICgkTUFLRUZJTEVfQU0sICRNQUtF RklMRV9JTiwgJE1BS0VGSUxFLCBASU5QVVRTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSGFuZGxlIHJl bWFraW5nIGFuZCBjb25maWd1cmUgc3R1ZmYuCiMgV2UgbmVlZCB0aGUgbmFtZSBvZiB0aGUg aW5wdXQgZmlsZSwgdG8gZG8gcHJvcGVyIHJlbWFraW5nIHJ1bGVzLgpzdWIgaGFuZGxlX2Nv bmZpZ3VyZQp7CiAgbXkgKCRtYWtlZmlsZV9hbSwgJG1ha2VmaWxlX2luLCAkbWFrZWZpbGUs IEBpbnB1dHMpID0gQF87CgogIHByb2dfZXJyb3IgJ2VtcHR5IEBpbnB1dHMnCiAgICB1bmxl c3MgQGlucHV0czsKCiAgbXkgKCRyZWxfbWFrZWZpbGVfYW0sICRyZWxfbWFrZWZpbGVfaW4p ID0gcHJlcGVuZF9zcmNkaXIgKCRtYWtlZmlsZV9hbSwKCQkJCQkJCSAgICAkbWFrZWZpbGVf aW4pOwogIG15ICRyZWxfbWFrZWZpbGUgPSBiYXNlbmFtZSAkbWFrZWZpbGU7CgogIG15ICRj b2xvbl9pbmZpbGUgPSAnOicgLiBqb2luICgnOicsIEBpbnB1dHMpOwogICRjb2xvbl9pbmZp bGUgPSAnJyBpZiAkY29sb25faW5maWxlIGVxICI6JG1ha2VmaWxlLmluIjsKICBteSBAcmV3 cml0dGVuID0gcmV3cml0ZV9pbnB1dHNfaW50b19kZXBlbmRlbmNpZXMgKCRtYWtlZmlsZSwg QGlucHV0cyk7CiAgbXkgKCRyZWdlbl9hY2xvY2FsX200LCBAYWNsb2NhbF9tNF9kZXBzKSA9 IHNjYW5fYWNsb2NhbF9tNDsKICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnYW1fX2FjbG9j YWxfbTRfZGVwcycsIFRSVUUsIElOVEVSTkFMLAoJCQkgIEBjb25maWd1cmVfZGVwcywgQGFj bG9jYWxfbTRfZGVwcywKCQkJICAnJCh0b3Bfc3JjZGlyKS8nIC4gJGNvbmZpZ3VyZV9hYyk7 CiAgbXkgQGNvbmZpZ3VyZWRlcHMgPSAoJyQoYW1fX2FjbG9jYWxfbTRfZGVwcyknLCAnJChD T05GSUdVUkVfREVQRU5ERU5DSUVTKScpOwogIHB1c2ggQGNvbmZpZ3VyZWRlcHMsICckKEFD TE9DQUxfTTQpJyBpZiAtZiAnYWNsb2NhbC5tNCc7CiAgZGVmaW5lX3ByZXR0eV92YXJpYWJs ZSAoJ2FtX19jb25maWd1cmVfZGVwcycsIFRSVUUsIElOVEVSTkFMLAoJCQkgIEBjb25maWd1 cmVkZXBzKTsKCiAgbXkgJGF1dG9tYWtlX29wdGlvbnMgPSAnLS0nIC4gJHN0cmljdG5lc3Nf bmFtZSAuCgkJCSAoZ2xvYmFsX29wdGlvbiAnbm8tZGVwZW5kZW5jaWVzJyA/ICcgLS1pZ25v cmUtZGVwcycgOiAnJyk7CgogICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cwogICAg KCdjb25maWd1cmUnLAogICAgIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24sCiAgICAgTUFLRUZJ TEUgICAgICAgICAgICAgID0+ICRyZWxfbWFrZWZpbGUsCiAgICAgJ01BS0VGSUxFLURFUFMn ICAgICAgID0+ICJAcmV3cml0dGVuIiwKICAgICAnQ09ORklHLU1BS0VGSUxFJyAgICAgPT4g KCRyZWxhdGl2ZV9kaXIgZXEgJy4nKSA/ICckQCcgOiAnJChzdWJkaXIpLyRAJywKICAgICAn TUFLRUZJTEUtSU4nICAgICAgICAgPT4gJHJlbF9tYWtlZmlsZV9pbiwKICAgICAnSEFWRS1N QUtFRklMRS1JTi1ERVBTJyA9PiAoQGluY2x1ZGVfc3RhY2sgPiAwKSwKICAgICAnTUFLRUZJ TEUtSU4tREVQUycgICAgPT4gIkBpbmNsdWRlX3N0YWNrIiwKICAgICAnTUFLRUZJTEUtQU0n ICAgICAgICAgPT4gJHJlbF9tYWtlZmlsZV9hbSwKICAgICAnQVVUT01BS0UtT1BUSU9OUycg ICAgPT4gJGF1dG9tYWtlX29wdGlvbnMsCiAgICAgJ01BS0VGSUxFLUFNLVNPVVJDRVMnID0+ ICIkbWFrZWZpbGUkY29sb25faW5maWxlIiwKICAgICAnUkVHRU4tQUNMT0NBTC1NNCcgICAg PT4gJHJlZ2VuX2FjbG9jYWxfbTQsCiAgICAgVkVSQk9TRSAgICAgICAgICAgICAgID0+IHZl cmJvc2VfZmxhZyAoJ0dFTicpKTsKCiAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nKQogICAg ewogICAgICBwdXNoX2Rpc3RfY29tbW9uICgnYWNjb25maWcuaCcpCglpZiAtZiAnYWNjb25m aWcuaCc7CiAgICB9CgogICMgSWYgd2UgaGF2ZSBhIGNvbmZpZ3VyZSBoZWFkZXIsIHJlcXVp cmUgaXQuCiAgbXkgJGhkcl9pbmRleCA9IDA7CiAgbXkgQGRpc3RjbGVhbl9jb25maWc7CiAg Zm9yZWFjaCBteSAkc3BlYyAoQGNvbmZpZ19oZWFkZXJzKQogICAgewogICAgICAkaGRyX2lu ZGV4ICs9IDE7CiAgICAgICMgJENPTkZJR19IX1BBVEg6IGNvbmZpZy5oIGZyb20gdG9wIGxl dmVsLgogICAgICBteSAoJGNvbmZpZ19oX3BhdGgsIEBpbnMpID0gc3BsaXRfY29uZmlnX2Zp bGVfc3BlYyAoJHNwZWMpOwogICAgICBteSAkY29uZmlnX2hfZGlyID0gZGlybmFtZSAoJGNv bmZpZ19oX3BhdGgpOwoKICAgICAgIyBJZiB0aGUgaGVhZGVyIGlzIGluIHRoZSBjdXJyZW50 IGRpcmVjdG9yeSB3ZSB3YW50IHRvIGJ1aWxkCiAgICAgICMgdGhlIGhlYWRlciBoZXJlLiAg T3RoZXJ3aXNlLCBpZiB3ZSdyZSBhdCB0aGUgdG9wbW9zdAogICAgICAjIGRpcmVjdG9yeSBh bmQgdGhlIGhlYWRlcidzIGRpcmVjdG9yeSBkb2Vzbid0IGhhdmUgYQogICAgICAjIE1ha2Vm aWxlLCB0aGVuIHdlIGFsc28gd2FudCB0byBidWlsZCB0aGUgaGVhZGVyLgogICAgICBpZiAo JHJlbGF0aXZlX2RpciBlcSAkY29uZmlnX2hfZGlyCgkgIHx8ICgkcmVsYXRpdmVfZGlyIGVx ICcuJyAmJiAhIGlzX21ha2VfZGlyICgkY29uZmlnX2hfZGlyKSkpCgl7CgkgIG15ICgkY25f c2Fuc19kaXIsICRzdGFtcF9kaXIpOwoJICBpZiAoJHJlbGF0aXZlX2RpciBlcSAkY29uZmln X2hfZGlyKQoJICAgIHsKCSAgICAgICRjbl9zYW5zX2RpciA9IGJhc2VuYW1lICgkY29uZmln X2hfcGF0aCk7CgkgICAgICAkc3RhbXBfZGlyID0gJyc7CgkgICAgfQoJICBlbHNlCgkgICAg ewoJICAgICAgJGNuX3NhbnNfZGlyID0gJGNvbmZpZ19oX3BhdGg7CgkgICAgICBpZiAoJGNv bmZpZ19oX2RpciBlcSAnLicpCgkJewoJCSAgJHN0YW1wX2RpciA9ICcnOwoJCX0KCSAgICAg IGVsc2UKCQl7CgkJICAkc3RhbXBfZGlyID0gJGNvbmZpZ19oX2RpciAuICcvJzsKCQl9Cgkg ICAgfQoKCSAgIyBUaGlzIHdpbGwgYWxzbyBkaXN0cmlidXRlIGFsbCBpbnB1dHMuCgkgIEBp bnMgPSByZXdyaXRlX2lucHV0c19pbnRvX2RlcGVuZGVuY2llcyAoJGNvbmZpZ19oX3BhdGgs IEBpbnMpOwoKCSAgIyBDYW5ub3QgZGVmaW5lIHJlYnVpbGQgcnVsZXMgZm9yIGZpbGVuYW1l cyB3aXRoIHNoZWxsIHZhcmlhYmxlcy4KCSAgbmV4dCBpZiAoc3Vic3RpdHV0ZV9hY19zdWJz dF92YXJpYWJsZXMgJGNvbmZpZ19oX3BhdGgpID1+IC9cJC87CgoJICAjIEhlYWRlciBkZWZp bmVkIGluIHRoaXMgZGlyZWN0b3J5LgoJICBteSBAZmlsZXM7CgkgIGlmICgtZiAkY29uZmln X2hfcGF0aCAuICcudG9wJykKCSAgICB7CgkgICAgICBwdXNoIChAZmlsZXMsICIkY25fc2Fu c19kaXIudG9wIik7CgkgICAgfQoJICBpZiAoLWYgJGNvbmZpZ19oX3BhdGggLiAnLmJvdCcp CgkgICAgewoJICAgICAgcHVzaCAoQGZpbGVzLCAiJGNuX3NhbnNfZGlyLmJvdCIpOwoJICAg IH0KCgkgIHB1c2hfZGlzdF9jb21tb24gKEBmaWxlcyk7CgoJICAjIEZvciBub3csIGFjY29u ZmlnLmggY2FuIG9ubHkgYXBwZWFyIGluIHRoZSB0b3Agc3JjZGlyLgoJICBpZiAoLWYgJ2Fj Y29uZmlnLmgnKQoJICAgIHsKCSAgICAgIHB1c2ggKEBmaWxlcywgJyQodG9wX3NyY2Rpcikv YWNjb25maWcuaCcpOwoJICAgIH0KCgkgIG15ICRzdGFtcCA9ICIke3N0YW1wX2Rpcn1zdGFt cC1oJHtoZHJfaW5kZXh9IjsKCSAgJG91dHB1dF9ydWxlcyAuPQoJICAgIGZpbGVfY29udGVu dHMgKCdyZW1ha2UtaGRyJywKCQkJICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJICAg RklMRVMgICAgICAgICAgICA9PiAiQGZpbGVzIiwKCQkJICAgJ0ZJUlNULUhEUicgICAgICA9 PiAoJGhkcl9pbmRleCA9PSAxKSwKCQkJICAgQ09ORklHX0ggICAgICAgICA9PiAkY25fc2Fu c19kaXIsCgkJCSAgIENPTkZJR19ISU4gICAgICAgPT4gJGluc1swXSwKCQkJICAgQ09ORklH X0hfREVQUyAgICA9PiAiQGlucyIsCgkJCSAgIENPTkZJR19IX1BBVEggICAgPT4gJGNvbmZp Z19oX3BhdGgsCgkJCSAgIFNUQU1QICAgICAgICAgICAgPT4gIiRzdGFtcCIpOwoKCSAgcHVz aCBAZGlzdGNsZWFuX2NvbmZpZywgJGNuX3NhbnNfZGlyLCAkc3RhbXA7Cgl9CiAgICB9Cgog ICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ2NsZWFuLWhkcicsCgkJCQkgIG5l dyBBdXRvbWFrZTo6TG9jYXRpb24sCgkJCQkgIEZJTEVTID0+ICJAZGlzdGNsZWFuX2NvbmZp ZyIpCiAgICBpZiBAZGlzdGNsZWFuX2NvbmZpZzsKCiAgIyBEaXN0cmlidXRlIGFuZCBkZWZp bmUgbWtpbnN0YWxsZGlycyBvbmx5IGlmIGl0IGlzIGFscmVhZHkgcHJlc2VudAogICMgaW4g dGhlIHBhY2thZ2UsIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IChzb21lIHBlb3BsZSBt YXkgc3RpbGwKICAjIHVzZSAkKG1raW5zdGFsbGRpcnMpKS4KICAjIFRPRE86IHN0YXJ0IHdh cm5pbmcgYWJvdXQgdGhpcyBpbiBBdXRvbWFrZSAxLjE0LCBhbmQgaGF2ZQogICMgVE9ETzog QXV0b21ha2UgMi4wIGRyb3AgaXQgKGFuZCB0aGUgbWtpbnN0YWxsZGlycyBzY3JpcHQKICAj IFRPRE86IGFzIHdlbGwpLgogIG15ICRta2lkcGF0aCA9ICIkY29uZmlnX2F1eF9kaXIvbWtp bnN0YWxsZGlycyI7CiAgaWYgKC1mICRta2lkcGF0aCkKICAgIHsKICAgICAgIyBVc2UgcmVx dWlyZV9maWxlIHNvIHRoYXQgYW55IGV4aXN0aW5nIHNjcmlwdCBnZXRzIHVwZGF0ZWQKICAg ICAgIyBieSAtLWZvcmNlLW1pc3NpbmcuCiAgICAgIHJlcXVpcmVfY29uZl9maWxlICgkbWtp ZHBhdGgsIEZPUkVJR04sICdta2luc3RhbGxkaXJzJyk7CiAgICAgIGRlZmluZV92YXJpYWJs ZSAoJ21raW5zdGFsbGRpcnMnLAoJCSAgICAgICAiXCQoU0hFTEwpICRhbV9jb25maWdfYXV4 X2Rpci9ta2luc3RhbGxkaXJzIiwgSU5URVJOQUwpOwogICAgfQogIGVsc2UKICAgIHsKICAg ICAgIyBVc2UgJChpbnN0YWxsX3NoKSwgbm90ICQoTUtESVJfUCkgYmVjYXVzZSB0aGUgbGF0 dGVyIHJlcXVpcmVzCiAgICAgICMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LCBhbmQgJChta2lu c3RhbGxkaXJzKSB1c2VkIHRvIHdvcmsKICAgICAgIyBldmVuIHdpdGhvdXQgYXJndW1lbnRz IChlLmcuICQobWtpbnN0YWxsZGlycykgJChjb25kaXRpb25hbF9kaXIpKS4KICAgICAgZGVm aW5lX3ZhcmlhYmxlICgnbWtpbnN0YWxsZGlycycsICckKGluc3RhbGxfc2gpIC1kJywgSU5U RVJOQUwpOwogICAgfQoKICByZWplY3RfdmFyICgnQ09ORklHX0hFQURFUicsCgkgICAgICAi J0NPTkZJR19IRUFERVInIGlzIGFuIGFuYWNocm9uaXNtOyBub3cgZGV0ZXJtaW5lZCAiCgkg ICAgICAuICJhdXRvbWF0aWNhbGx5XG5mcm9tICckY29uZmlndXJlX2FjJyIpOwoKICBteSBA Y29uZmlnX2g7CiAgZm9yZWFjaCBteSAkc3BlYyAoQGNvbmZpZ19oZWFkZXJzKQogICAgewog ICAgICBteSAoJG91dCwgQGlucykgPSBzcGxpdF9jb25maWdfZmlsZV9zcGVjICgkc3BlYyk7 CiAgICAgICMgR2VuZXJhdGUgQ09ORklHX0hFQURFUiBkZWZpbmUuCiAgICAgIGlmICgkcmVs YXRpdmVfZGlyIGVxIGRpcm5hbWUgKCRvdXQpKQoJewoJICBwdXNoIEBjb25maWdfaCwgYmFz ZW5hbWUgKCRvdXQpOwoJfQogICAgICBlbHNlCgl7CgkgIHB1c2ggQGNvbmZpZ19oLCAiXCQo dG9wX2J1aWxkZGlyKS8kb3V0IjsKCX0KICAgIH0KICBkZWZpbmVfdmFyaWFibGUgKCJDT05G SUdfSEVBREVSIiwgIkBjb25maWdfaCIsIElOVEVSTkFMKQogICAgaWYgQGNvbmZpZ19oOwoK ICAjIE5vdyBsb29rIGZvciBvdGhlciBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSB3aGljaCBt dXN0IGJlIHJlbWFkZQogICMgYnkgY29uZmlnLnN0YXR1cywgYW5kIGdlbmVyYXRlIHJ1bGVz IGZvciB0aGVtLgogIG15IEBhY3R1YWxfb3RoZXJfZmlsZXMgPSAoKTsKICAjIFRoZXNlIGdl dCBjbGVhbmVkIG9ubHkgaW4gYSBWUEFUSCBidWlsZC4KICBteSBAYWN0dWFsX290aGVyX3Zw YXRoX2ZpbGVzID0gKCk7CiAgZm9yZWFjaCBteSAkbGZpbGUgKEBvdGhlcl9pbnB1dF9maWxl cykKICAgIHsKICAgICAgbXkgJGZpbGU7CiAgICAgIG15IEBpbnB1dHM7CiAgICAgIGlmICgk bGZpbGUgPX4gL14oW146XSopOiguKikkLykKCXsKCSAgIyBUaGlzIGlzIHRoZSAiOiIgc3lu dGF4IG9mIEFDX09VVFBVVC4KCSAgJGZpbGUgPSAkMTsKCSAgQGlucHV0cyA9IHNwbGl0ICgn OicsICQyKTsKCX0KICAgICAgZWxzZQoJewoJICAjIE5vcm1hbCB1c2FnZS4KCSAgJGZpbGUg PSAkbGZpbGU7CgkgIEBpbnB1dHMgPSAkZmlsZSAuICcuaW4nOwoJfQoKICAgICAgIyBBdXRv bWFrZSBmaWxlcyBzaG91bGQgbm90IGJlIHN0b3JlZCBpbiBoZXJlLCBidXQgaW4gJU1BS0Vf TElTVC4KICAgICAgcHJvZ19lcnJvciAoIiRsZmlsZSBpbiBcQG90aGVyX2lucHV0X2ZpbGVz XG4iCgkJICAuICJcQG90aGVyX2lucHV0X2ZpbGVzID0gKEBvdGhlcl9pbnB1dF9maWxlcyki KQoJaWYgLWYgJGZpbGUgLiAnLmFtJzsKCiAgICAgIG15ICRsb2NhbCA9IGJhc2VuYW1lICgk ZmlsZSk7CgogICAgICAjIFdlIHNraXAgZmlsZXMgdGhhdCBhcmVuJ3QgaW4gdGhpcyBkaXJl Y3RvcnkuICBIb3dldmVyLCBpZgogICAgICAjIHRoZSBmaWxlJ3MgZGlyZWN0b3J5IGRvZXMg bm90IGhhdmUgYSBNYWtlZmlsZSwgYW5kIHdlIGFyZQogICAgICAjIGN1cnJlbnRseSBkb2lu ZyAnLicsIHRoZW4gd2UgY3JlYXRlIGEgcnVsZSB0byByZWJ1aWxkIHRoZQogICAgICAjIGZp bGUgaW4gdGhlIHN1YmRpci4KICAgICAgbXkgJGZkID0gZGlybmFtZSAoJGZpbGUpOwogICAg ICBpZiAoJGZkIG5lICRyZWxhdGl2ZV9kaXIpCgl7CgkgIGlmICgkcmVsYXRpdmVfZGlyIGVx ICcuJyAmJiAhIGlzX21ha2VfZGlyICgkZmQpKQoJICAgIHsKCSAgICAgICRsb2NhbCA9ICRm aWxlOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgIG5leHQ7CgkgICAgfQoJfQoKICAg ICAgbXkgQHJld3JpdHRlbl9pbnB1dHMgPSByZXdyaXRlX2lucHV0c19pbnRvX2RlcGVuZGVu Y2llcyAoJGZpbGUsIEBpbnB1dHMpOwoKICAgICAgIyBDYW5ub3Qgb3V0cHV0IHJ1bGVzIGZv ciBzaGVsbCB2YXJpYWJsZXMuCiAgICAgIG5leHQgaWYgKHN1YnN0aXR1dGVfYWNfc3Vic3Rf dmFyaWFibGVzICRsb2NhbCkgPX4gL1wkLzsKCiAgICAgIG15ICRjb25kc3RyID0gJyc7CiAg ICAgIG15ICRjb25kID0gJGFjX2NvbmZpZ19maWxlc19jb25kaXRpb257JGxmaWxlfTsKICAg ICAgaWYgKGRlZmluZWQgJGNvbmQpCiAgICAgICAgewoJICAkY29uZHN0ciA9ICRjb25kLT5z dWJzdF9zdHJpbmc7CgkgIEF1dG9tYWtlOjpSdWxlOjpkZWZpbmUgKCRsb2NhbCwgJGNvbmZp Z3VyZV9hYywgUlVMRV9BVVRPTUFLRSwgJGNvbmQsCgkJCQkgICRhY19jb25maWdfZmlsZXNf bG9jYXRpb257JGZpbGV9KTsKICAgICAgICB9CiAgICAgICRvdXRwdXRfcnVsZXMgLj0gKCRj b25kc3RyIC4gJGxvY2FsIC4gJzogJwoJCQkuICckKHRvcF9idWlsZGRpcikvY29uZmlnLnN0 YXR1cyAnCgkJCS4gIkByZXdyaXR0ZW5faW5wdXRzXG4iCgkJCS4gJGNvbmRzdHIgLiAiXHQi CgkJCS4gJ2NkICQodG9wX2J1aWxkZGlyKSAmJiAnCgkJCS4gJyQoU0hFTEwpIC4vY29uZmln LnN0YXR1cyAnCgkJCS4gKCRyZWxhdGl2ZV9kaXIgZXEgJy4nID8gJycgOiAnJChzdWJkaXIp LycpCgkJCS4gJyRAJwoJCQkuICJcbiIpOwogICAgICBwdXNoIChAYWN0dWFsX290aGVyX2Zp bGVzLCAkbG9jYWwpOwogICAgfQoKICAjIEZvciBsaW5rcyB3ZSBzaG91bGQgY2xlYW4gZGVz dGluYXRpb25zIGFuZCBkaXN0cmlidXRlIHNvdXJjZXMuCiAgZm9yZWFjaCBteSAkc3BlYyAo QGNvbmZpZ19saW5rcykKICAgIHsKICAgICAgbXkgKCRsaW5rLCAkZmlsZSkgPSBzcGxpdCAv Oi8sICRzcGVjOwogICAgICAjIFNvbWUgcGVvcGxlIGRvIEFDX0NPTkZJR19MSU5LUygkY29t cHV0ZWQpLiAgV2Ugb25seSBoYW5kbGUKICAgICAgIyB0aGUgREVTVDpTUkMgZm9ybS4KICAg ICAgbmV4dCB1bmxlc3MgJGZpbGU7CiAgICAgIG15ICR3aGVyZSA9ICRhY19jb25maWdfZmls ZXNfbG9jYXRpb257JGxpbmt9OwoKICAgICAgIyBTa2lwIGRlc3RpbmF0aW9ucyB0aGF0IGNv bnRhaW4gc2hlbGwgdmFyaWFibGVzLgogICAgICBpZiAoKHN1YnN0aXR1dGVfYWNfc3Vic3Rf dmFyaWFibGVzICRsaW5rKSAhfiAvXCQvKQoJewoJICAjIFdlIHNraXAgbGlua3MgdGhhdCBh cmVuJ3QgaW4gdGhpcyBkaXJlY3RvcnkuICBIb3dldmVyLCBpZgoJICAjIHRoZSBsaW5rJ3Mg ZGlyZWN0b3J5IGRvZXMgbm90IGhhdmUgYSBNYWtlZmlsZSwgYW5kIHdlIGFyZQoJICAjIGN1 cnJlbnRseSBkb2luZyAnLicsIHRoZW4gd2UgYWRkIHRoZSBsaW5rIHRvIENPTkZJR19DTEVB Tl9GSUxFUwoJICAjIGluICcuJ3MgTWFrZWZpbGUuaW4uCgkgIG15ICRsb2NhbCA9IGJhc2Vu YW1lICgkbGluayk7CgkgIG15ICRmZCA9IGRpcm5hbWUgKCRsaW5rKTsKCSAgaWYgKCRmZCBu ZSAkcmVsYXRpdmVfZGlyKQoJICAgIHsKCSAgICAgIGlmICgkcmVsYXRpdmVfZGlyIGVxICcu JyAmJiAhIGlzX21ha2VfZGlyICgkZmQpKQoJCXsKCQkgICRsb2NhbCA9ICRsaW5rOwoJCX0K CSAgICAgIGVsc2UKCQl7CgkJICAkbG9jYWwgPSB1bmRlZjsKCQl9CgkgICAgfQoJICBpZiAo JGZpbGUgbmUgJGxpbmspCgkgICAgewoJICAgICAgcHVzaCBAYWN0dWFsX290aGVyX2ZpbGVz LCAkbG9jYWwgaWYgJGxvY2FsOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgIHB1c2gg QGFjdHVhbF9vdGhlcl92cGF0aF9maWxlcywgJGxvY2FsIGlmICRsb2NhbDsKCSAgICB9Cgl9 CgogICAgICAjIERvIG5vdCBwcm9jZXNzIHNvdXJjZXMgdGhhdCBjb250YWluIHNoZWxsIHZh cmlhYmxlcy4KICAgICAgaWYgKChzdWJzdGl0dXRlX2FjX3N1YnN0X3ZhcmlhYmxlcyAkZmls ZSkgIX4gL1wkLykKCXsKCSAgbXkgJGZkID0gZGlybmFtZSAoJGZpbGUpOwoKCSAgIyBXZSBk aXN0cmlidXRlIGZpbGVzIHRoYXQgYXJlIGluIHRoaXMgZGlyZWN0b3J5LgoJICAjIEF0IHRo ZSB0b3AtbGV2ZWwgKCcuJykgd2UgYWxzbyBkaXN0cmlidXRlIGZpbGVzIHdob3NlCgkgICMg ZGlyZWN0b3J5IGRvZXMgbm90IGhhdmUgYSBNYWtlZmlsZS4KCSAgaWYgKCgkZmQgZXEgJHJl bGF0aXZlX2RpcikKCSAgICAgIHx8ICgkcmVsYXRpdmVfZGlyIGVxICcuJyAmJiAhIGlzX21h a2VfZGlyICgkZmQpKSkKCSAgICB7CgkgICAgICAjIFRoZSBmb2xsb3dpbmcgd2lsbCBkaXN0 cmlidXRlICRmaWxlIGFzIGEgc2lkZS1lZmZlY3Qgd2hlbgoJICAgICAgIyBpdCBpcyBhcHBy b3ByaWF0ZSAoaS5lLiwgd2hlbiAkZmlsZSBpcyBub3QgYWxyZWFkeSBhbiBvdXRwdXQpLgoJ ICAgICAgIyBXZSBkbyBub3QgbmVlZCB0aGUgcmVzdWx0LCBqdXN0IHRoZSBzaWRlLWVmZmVj dC4KCSAgICAgIHJld3JpdGVfaW5wdXRzX2ludG9fZGVwZW5kZW5jaWVzICgkbGluaywgJGZp bGUpOwoJICAgIH0KCX0KICAgIH0KCiAgIyBUaGVzZSBmaWxlcyBnZXQgcmVtb3ZlZCBieSAi bWFrZSBkaXN0Y2xlYW4iLgogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdDT05GSUdfQ0xF QU5fRklMRVMnLCBUUlVFLCBJTlRFUk5BTCwKCQkJICBAYWN0dWFsX290aGVyX2ZpbGVzKTsK ICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnQ09ORklHX0NMRUFOX1ZQQVRIX0ZJTEVTJywg VFJVRSwgSU5URVJOQUwsCgkJCSAgQGFjdHVhbF9vdGhlcl92cGF0aF9maWxlcyk7Cn0KCnN1 YiBoYW5kbGVfaGVhZGVycyAoKQp7CiAgICBteSBAciA9IGFtX2luc3RhbGxfdmFyICgnLWRl ZmF1bHRkaXN0JywgJ2hlYWRlcicsICdIRUFERVJTJywgJ2luY2x1ZGUnLAoJCQkgICAgJ29s ZGluY2x1ZGUnLCAncGtnaW5jbHVkZScsCgkJCSAgICAnbm9pbnN0JywgJ2NoZWNrJyk7CiAg ICBmb3JlYWNoIChAcikKICAgIHsKICAgICAgbmV4dCB1bmxlc3MgJF8tPlsxXSA9fiAvXC4u KiQvOwogICAgICBzYXdfZXh0ZW5zaW9uICgkJik7CiAgICB9Cn0KCnN1YiBoYW5kbGVfZ2V0 dGV4dCAoKQp7CiAgcmV0dXJuIGlmICEgJHNlZW5fZ2V0dGV4dCB8fCAkcmVsYXRpdmVfZGly IG5lICcuJzsKCiAgbXkgJHN1YmRpcnMgPSB2YXIgJ1NVQkRJUlMnOwoKICBpZiAoISAkc3Vi ZGlycykKICAgIHsKICAgICAgZXJyX2FjICJBTV9HTlVfR0VUVEVYVCB1c2VkIGJ1dCBTVUJE SVJTIG5vdCBkZWZpbmVkIjsKICAgICAgcmV0dXJuOwogICAgfQoKICAjIFBlcmZvcm0gc29t ZSBzYW5pdHkgY2hlY2tzIHRvIGhlbHAgdXNlcnMgZ2V0IHRoZSByaWdodCBzZXR1cC4KICAj IFdlIGRpc2FibGUgdGhlc2UgdGVzdHMgd2hlbiBwby8gZG9lc24ndCBleGlzdCBpbiBvcmRl ciBub3QgdG8gZGlzYWxsb3cKICAjIHVudXN1YWwgZ2V0dGV4dCBzZXR1cHMuCiAgIwogICMg QnJ1bm8gSGFpYmxlOgogICMgfCBUaGUgaWRlYSBpczoKICAjIHwKICAjIHwgIDEpIElmIGEg cGFja2FnZSBkb2Vzbid0IGhhdmUgYSBkaXJlY3RvcnkgcG8vIGF0IHRvcCBsZXZlbCwgaXQK ICAjIHwgICAgIHdpbGwgbGlrZWx5IGhhdmUgbXVsdGlwbGUgcG8vIGRpcmVjdG9yaWVzIGlu IHN1YnBhY2thZ2VzLgogICMgfAogICMgfCAgMikgSXQgaXMgdXNlZnVsIHRvIHdhcm4gZm9y IHRoZSBhYnNlbmNlIG9mIGludGwvIGlmIEFNX0dOVV9HRVRURVhUCiAgIyB8ICAgICBpcyB1 c2VkIHdpdGhvdXQgJ2V4dGVybmFsJy4gSXQgaXMgYWxzbyB1c2VmdWwgdG8gd2FybiBmb3Ig dGhlCiAgIyB8ICAgICBwcmVzZW5jZSBvZiBpbnRsLyBpZiBBTV9HTlVfR0VUVEVYVChbZXh0 ZXJuYWxdKSBpcyB1c2VkLiBCb3RoCiAgIyB8ICAgICB3YXJuaW5ncyBhcHBseSBvbmx5IHRv IHRoZSB1c3VhbCBsYXlvdXQgb2YgcGFja2FnZXMsIHRoZXJlZm9yZQogICMgfCAgICAgdGhl eSBzaG91bGQgYm90aCBiZSBkaXNhYmxlZCBpZiBubyBwby8gZGlyZWN0b3J5IGlzIGZvdW5k IGF0CiAgIyB8ICAgICB0b3AgbGV2ZWwuCgogIGlmICgtZCAncG8nKQogICAgewogICAgICBt eSBAc3ViZGlycyA9ICRzdWJkaXJzLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZTsKCiAgICAg IG1zZ192YXIgKCdzeW50YXgnLCAkc3ViZGlycywKCSAgICAgICAiQU1fR05VX0dFVFRFWFQg dXNlZCBidXQgJ3BvJyBub3QgaW4gU1VCRElSUyIpCglpZiAhIGdyZXAgKCRfIGVxICdwbycs IEBzdWJkaXJzKTsKCiAgICAgICMgaW50bC8gaXMgbm90IHJlcXVpcmVkIHdoZW4gQU1fR05V X0dFVFRFWFQgaXMgY2FsbGVkIHdpdGggdGhlCiAgICAgICMgJ2V4dGVybmFsJyBvcHRpb24g YW5kIEFNX0dOVV9HRVRURVhUX0lOVExfU1VCRElSIGlzIG5vdCBjYWxsZWQuCiAgICAgIG1z Z192YXIgKCdzeW50YXgnLCAkc3ViZGlycywKCSAgICAgICAiQU1fR05VX0dFVFRFWFQgdXNl ZCBidXQgJ2ludGwnIG5vdCBpbiBTVUJESVJTIikKCWlmICghICgkc2Vlbl9nZXR0ZXh0X2V4 dGVybmFsICYmICEgJHNlZW5fZ2V0dGV4dF9pbnRsKQoJICAgICYmICEgZ3JlcCAoJF8gZXEg J2ludGwnLCBAc3ViZGlycykpOwoKICAgICAgIyBpbnRsLyBzaG91bGQgbm90IGJlIHVzZWQg d2l0aCBBTV9HTlVfR0VUVEVYVChbZXh0ZXJuYWxdKSwgZXhjZXB0CiAgICAgICMgaWYgQU1f R05VX0dFVFRFWFRfSU5UTF9TVUJESVIgaXMgY2FsbGVkLgogICAgICBtc2dfdmFyICgnc3lu dGF4JywgJHN1YmRpcnMsCgkgICAgICAgIidpbnRsJyBzaG91bGQgbm90IGJlIGluIFNVQkRJ UlMgd2hlbiAiCgkgICAgICAgLiAiQU1fR05VX0dFVFRFWFQoW2V4dGVybmFsXSkgaXMgdXNl ZCIpCglpZiAoJHNlZW5fZ2V0dGV4dF9leHRlcm5hbCAmJiAhICRzZWVuX2dldHRleHRfaW50 bAoJICAgICYmIGdyZXAgKCRfIGVxICdpbnRsJywgQHN1YmRpcnMpKTsKICAgIH0KCiAgcmVx dWlyZV9maWxlICgkYWNfZ2V0dGV4dF9sb2NhdGlvbiwgR05VLCAnQUJPVVQtTkxTJyk7Cn0K CiMgRW1pdCBtYWtlZmlsZSBmb290ZXIuCnN1YiBoYW5kbGVfZm9vdGVyICgpCnsKICAgIHJl amVjdF9ydWxlICgnLlNVRkZJWEVTJywKCQkgInVzZSB2YXJpYWJsZSAnU1VGRklYRVMnLCBu b3QgdGFyZ2V0ICcuU1VGRklYRVMnIik7CgogICAgIyBOb3RlOiBBSVggNC4xIC9iaW4vbWFr ZSB3aWxsIGZhaWwgaWYgYW55IHN1ZmZpeCBydWxlIGFwcGVhcnMKICAgICMgYmVmb3JlIC5T VUZGSVhFUy4gIFNvIHdlIG1ha2Ugc3VyZSB0aGF0IC5TVUZGSVhFUyBhcHBlYXJzIGJlZm9y ZQogICAgIyBhbnl0aGluZyBlbHNlLCBieSBzdGlja2luZyBpdCByaWdodCBhZnRlciB0aGUg ZGVmYXVsdDogdGFyZ2V0LgogICAgJG91dHB1dF9oZWFkZXIgLj0gIi5TVUZGSVhFUzpcbiI7 CiAgICBteSAkc3VmZml4ZXMgPSB2YXIgJ1NVRkZJWEVTJzsKICAgIG15IEBzdWZmaXhlcyA9 IEF1dG9tYWtlOjpSdWxlOjpzdWZmaXhlczsKICAgIGlmIChAc3VmZml4ZXMgfHwgJHN1ZmZp eGVzKQogICAgewoJIyBNYWtlIHN1cmUgU1VGRklYRVMgaGFzIHVuaXF1ZSBlbGVtZW50cy4g IFNvcnQgdGhlbSB0byBlbnN1cmUKCSMgdGhlIG91dHB1dCByZW1haW5zIGNvbnNpc3RlbnQu ICBIb3dldmVyLCAkKFNVRkZJWEVTKSBpcwoJIyBhbHdheXMgYXQgdGhlIHN0YXJ0IG9mIHRo ZSBsaXN0LCB1bnNvcnRlZC4gIFRoaXMgaXMgZG9uZQoJIyBiZWNhdXNlIG1ha2Ugd2lsbCBj aG9vc2UgcnVsZXMgZGVwZW5kaW5nIG9uIHRoZSBvcmRlcmluZyBvZgoJIyBzdWZmaXhlcywg YW5kIHRoaXMgbGV0cyB0aGUgdXNlciBoYXZlIHNvbWUgY29udHJvbC4gIFB1c2gKCSMgYWN0 dWFsIHN1ZmZpeGVzLCBhbmQgbm90ICQoU1VGRklYRVMpLiAgU29tZSB2ZXJzaW9ucyBvZiBt YWtlCgkjIGRvIG5vdCBsaWtlIHZhcmlhYmxlIHN1YnN0aXR1dGlvbnMgb24gdGhlIC5TVUZG SVhFUyBsaW5lLgoJbXkgQHVzZXJfc3VmZml4ZXMgPSAoJHN1ZmZpeGVzCgkJCSAgICAgPyAk c3VmZml4ZXMtPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlIDogKCkpOwoKCW15ICVzdWZmaXhl cyA9IG1hcCB7ICRfID0+IDEgfSBAc3VmZml4ZXM7CglkZWxldGUgQHN1ZmZpeGVze0B1c2Vy X3N1ZmZpeGVzfTsKCgkkb3V0cHV0X2hlYWRlciAuPSAoIi5TVUZGSVhFUzogIgoJCQkgICAu IGpvaW4gKCcgJywgQHVzZXJfc3VmZml4ZXMsIHNvcnQga2V5cyAlc3VmZml4ZXMpCgkJCSAg IC4gIlxuIik7CiAgICB9CgogICAgJG91dHB1dF90cmFpbGVyIC49IGZpbGVfY29udGVudHMg KCdmb290ZXInLCBuZXcgQXV0b21ha2U6OkxvY2F0aW9uKTsKfQoKCiMgR2VuZXJhdGUgJ21h a2UgaW5zdGFsbCcgcnVsZXMuCnN1YiBoYW5kbGVfaW5zdGFsbCAoKQp7CiAgJG91dHB1dF9y dWxlcyAuPSBmaWxlX2NvbnRlbnRzCiAgICAoJ2luc3RhbGwnLAogICAgIG5ldyBBdXRvbWFr ZTo6TG9jYXRpb24sCiAgICAgbWF5YmVfQlVJTFRfU09VUkNFUyA9PiAoc2V0X3NlZW4gKCdC VUlMVF9TT1VSQ0VTJykKCQkJICAgICA/ICgiIFwkKEJVSUxUX1NPVVJDRVMpXG4iCgkJCQku ICJcdFwkKE1BS0UpIFwkKEFNX01BS0VGTEFHUykiKQoJCQkgICAgIDogJycpLAogICAgICdp bnN0YWxsZGlycy1sb2NhbCcgPT4gKHVzZXJfcGhvbnlfcnVsZSAoJ2luc3RhbGxkaXJzLWxv Y2FsJykKCQkJICAgICA/ICcgaW5zdGFsbGRpcnMtbG9jYWwnIDogJycpLAogICAgIGFtX19p bnN0YWxsZGlycyA9PiB2YXJpYWJsZV92YWx1ZSAoJ2FtX19pbnN0YWxsZGlycycpIHx8ICcn KTsKfQoKCiMgaGFuZGxlX2FsbCAoJE1BS0VGSUxFKQojLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIyBEZWFsIHdpdGggJ2FsbCcgYW5kICdhbGwtYW0nLgpzdWIgaGFuZGxlX2FsbAp7CiAg ICBteSAoJG1ha2VmaWxlKSA9IEBfOwoKICAgICMgT3V0cHV0ICdhbGwtYW0nLgoKICAgICMg UHV0IHRoaXMgYXQgdGhlIGJlZ2lubmluZyBmb3IgdGhlIHNha2Ugb2Ygbm9uLUdOVSBtYWtl cy4gIFRoaXMKICAgICMgaXMgc3RpbGwgd3JvbmcgaWYgdGhlc2UgbWFrZXMgY2FuIHJ1biBw YXJhbGxlbCBqb2JzLiAgQnV0IGl0IGlzCiAgICAjIHJpZ2h0IGVub3VnaC4KICAgIHVuc2hp ZnQgKEBhbGwsIGJhc2VuYW1lICgkbWFrZWZpbGUpKTsKCiAgICBmb3JlYWNoIG15ICRzcGVj IChAY29uZmlnX2hlYWRlcnMpCiAgICAgIHsKCW15ICgkb3V0LCBAaW5zKSA9IHNwbGl0X2Nv bmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKCXB1c2ggKEBhbGwsIGJhc2VuYW1lICgkb3V0KSkK CSAgaWYgZGlybmFtZSAoJG91dCkgZXEgJHJlbGF0aXZlX2RpcjsKICAgICAgfQoKICAgICMg SW5zdGFsbCAnYWxsJyBob29rcy4KICAgIHB1c2ggKEBhbGwsICJhbGwtbG9jYWwiKQogICAg ICBpZiB1c2VyX3Bob255X3J1bGUgImFsbC1sb2NhbCI7CgogICAgcHJldHR5X3ByaW50X3J1 bGUgKCJhbGwtYW06IiwgIlx0XHQiLCBAYWxsKTsKICAgIGRlcGVuZCAoJy5QSE9OWScsICdh bGwtYW0nLCAnYWxsJyk7CgoKICAgICMgT3V0cHV0ICdhbGwnLgoKICAgIG15IEBsb2NhbF9o ZWFkZXJzID0gKCk7CiAgICBwdXNoIEBsb2NhbF9oZWFkZXJzLCAnJChCVUlMVF9TT1VSQ0VT KScKICAgICAgaWYgdmFyICgnQlVJTFRfU09VUkNFUycpOwogICAgZm9yZWFjaCBteSAkc3Bl YyAoQGNvbmZpZ19oZWFkZXJzKQogICAgICB7CglteSAoJG91dCwgQGlucykgPSBzcGxpdF9j b25maWdfZmlsZV9zcGVjICgkc3BlYyk7CglwdXNoIEBsb2NhbF9oZWFkZXJzLCBiYXNlbmFt ZSAoJG91dCkKCSAgaWYgZGlybmFtZSAoJG91dCkgZXEgJHJlbGF0aXZlX2RpcjsKICAgICAg fQoKICAgIGlmIChAbG9jYWxfaGVhZGVycykKICAgICAgewoJIyBXZSBuZWVkIHRvIG1ha2Ug c3VyZSBjb25maWcuaCBpcyBidWlsdCBiZWZvcmUgd2UgcmVjdXJzZS4KCSMgV2UgYWxzbyB3 YW50IHRvIG1ha2Ugc3VyZSB0aGF0IGJ1aWx0IHNvdXJjZXMgYXJlIGJ1aWx0CgkjIGJlZm9y ZSBhbnkgb3JkaW5hcnkgJ2FsbCcgdGFyZ2V0cyBhcmUgcnVuLiAgV2UgY2FuJ3QgZG8gdGhp cwoJIyBieSBjaGFuZ2luZyB0aGUgb3JkZXIgb2YgZGVwZW5kZW5jaWVzIHRvIHRoZSAiYWxs IiBiZWNhdXNlCgkjIHRoYXQgYnJlYWtzIHdoZW4gdXNpbmcgcGFyYWxsZWwgbWFrZXMuICBJ bnN0ZWFkIHdlIGhhbmRsZQoJIyB0aGluZ3MgZXhwbGljaXRseS4KCSRvdXRwdXRfYWxsIC49 ICgiYWxsOiBAbG9jYWxfaGVhZGVycyIKCQkJLiAiXG5cdCIKCQkJLiAnJChNQUtFKSAkKEFN X01BS0VGTEFHUykgJwoJCQkuICh2YXIgKCdTVUJESVJTJykgPyAnYWxsLXJlY3Vyc2l2ZScg OiAnYWxsLWFtJykKCQkJLiAiXG5cbiIpOwogICAgICAgIGRlcGVuZCAoJy5NQUtFJywgJ2Fs bCcpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRvdXRwdXRfYWxsIC49ICJhbGw6ICIg LiAodmFyICgnU1VCRElSUycpCgkJCQkgID8gJ2FsbC1yZWN1cnNpdmUnIDogJ2FsbC1hbScp IC4gIlxuXG4iOwogICAgICB9Cn0KCiMgR2VuZXJhdGUgaGVscGVyIHRhcmdldHMgZm9yIHVz ZXItZGVmaW5lZCByZWN1cnNpdmUgdGFyZ2V0cywgd2hlcmUgbmVlZGVkLgpzdWIgaGFuZGxl X3VzZXJfcmVjdXJzaW9uICgpCnsKICByZXR1cm4gdW5sZXNzIEBleHRyYV9yZWN1cnNpdmVf dGFyZ2V0czsKCiAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ2FtX19leHRyYV9yZWN1cnNp dmVfdGFyZ2V0cycsIFRSVUUsIElOVEVSTkFMLAogICAgICAgICAgICAgICAgICAgICAgICAg IG1hcCB7ICIkXy1yZWN1cnNpdmUiIH0gQGV4dHJhX3JlY3Vyc2l2ZV90YXJnZXRzKTsKICBt eSAkYXV4ID0gdmFyICgnU1VCRElSUycpID8gJ3JlY3Vyc2l2ZScgOiAnYW0nOwogIGZvcmVh Y2ggbXkgJHRhcmdldCAoQGV4dHJhX3JlY3Vyc2l2ZV90YXJnZXRzKQogICAgewogICAgICAj IFRoaXMgYWxsb3dzIHRoZSBkZWZhdWx0IHRhcmdldCdzIHJ1bGVzIHRvIGJlIG92ZXJyaWRk ZW4gaW4KICAgICAgIyBNYWtlZmlsZS5hbS4KICAgICAgdXNlcl9waG9ueV9ydWxlICgkdGFy Z2V0KTsKICAgICAgZGVwZW5kICgiJHRhcmdldCIsICIkdGFyZ2V0LSRhdXgiKTsKICAgICAg ZGVwZW5kICgiJHRhcmdldC1hbSIsICIkdGFyZ2V0LWxvY2FsIik7CiAgICAgICMgRXZlcnkg dXNlci1kZWZpbmVkIHJlY3Vyc2l2ZSB0YXJnZXQgJ2ZvbycgKm11c3QqIGhhdmUgYSB2YWxp ZAogICAgICAjIGFzc29jaWF0ZWQgJ2Zvby1sb2NhbCcgcnVsZTsgd2UgZGVmaW5lIGl0IGFz IGFuIGVtcHR5IHJ1bGUgYnkKICAgICAgIyBkZWZhdWx0LCBzbyB0aGF0IHRoZSB1c2VyIGNh biB0cmFuc3BhcmVudGx5IGV4dGVuZCBpdCBpbiBoaXMKICAgICAgIyBvd24gTWFrZWZpbGUu YW0uCiAgICAgIHByZXR0eV9wcmludF9ydWxlICgiJHRhcmdldC1sb2NhbDoiLCAnJywgJycp OwogICAgICAjICR0YXJnZXQtcmVjdXJzaXZlIG1pZ2h0IGFzIHdlbGwgYmUgdW5kZWZpbmVk LCBzbyBkbyBub3QgYWRkCiAgICAgICMgaXQgaGVyZTsgaXQncyB0YWtlbiBjYXJlIG9mIGlu IHN1YmRpcnMuYW0gYW55d2F5LgogICAgICBkZXBlbmQgKCIuUEhPTlkiLCAiJHRhcmdldC1h bSIsICIkdGFyZ2V0LWxvY2FsIik7CiAgICB9Cn0KCgojIEhhbmRsZSBjaGVjayBtZXJnZSB0 YXJnZXQgc3BlY2lhbGx5LgpzdWIgZG9fY2hlY2tfbWVyZ2VfdGFyZ2V0ICgpCnsKICAjIElu Y2x1ZGUgdXNlci1kZWZpbmVkIGxvY2FsIGZvcm0gb2YgdGFyZ2V0LgogIHB1c2ggQGNoZWNr X3Rlc3RzLCAnY2hlY2stbG9jYWwnCiAgICBpZiB1c2VyX3Bob255X3J1bGUgJ2NoZWNrLWxv Y2FsJzsKCiAgIyBUaGUgY2hlY2sgdGFyZ2V0IG11c3QgZGVwZW5kIG9uIHRoZSBsb2NhbCBl cXVpdmFsZW50IG9mCiAgIyAnYWxsJywgdG8gZW5zdXJlIGFsbCB0aGUgcHJpbWFyeSB0YXJn ZXRzIGFyZSBidWlsdC4gIFRoZW4gaXQKICAjIG11c3QgYnVpbGQgdGhlIGxvY2FsIGNoZWNr IHJ1bGVzLgogICRvdXRwdXRfcnVsZXMgLj0gImNoZWNrLWFtOiBhbGwtYW1cbiI7CiAgaWYg KEBjaGVjaykKICAgIHsKICAgICAgcHJldHR5X3ByaW50X3J1bGUgKCJcdFwkKE1BS0UpIFwk KEFNX01BS0VGTEFHUykiLCAiXHQgICIsIEBjaGVjayk7CiAgICAgIGRlcGVuZCAoJy5NQUtF JywgJ2NoZWNrLWFtJyk7CiAgICB9CgogIGlmIChAY2hlY2tfdGVzdHMpCiAgICB7CiAgICAg IHByZXR0eV9wcmludF9ydWxlICgiXHRcJChNQUtFKSBcJChBTV9NQUtFRkxBR1MpIiwgIlx0 ICAiLAoJCQkgQGNoZWNrX3Rlc3RzKTsKICAgICAgZGVwZW5kICgnLk1BS0UnLCAnY2hlY2st YW0nKTsKICAgIH0KCiAgZGVwZW5kICcuUEhPTlknLCAnY2hlY2snLCAnY2hlY2stYW0nOwog ICMgSGFuZGxlIHJlY3Vyc2lvbi4gIFdlIGhhdmUgdG8gaG9ub3IgQlVJTFRfU09VUkNFUyBs aWtlIGZvciAnYWxsOicuCiAgJG91dHB1dF9ydWxlcyAuPSAoImNoZWNrOiAiCgkJICAgIC4g KHZhciAoJ0JVSUxUX1NPVVJDRVMnKQoJCSAgICAgICA/ICJcJChCVUlMVF9TT1VSQ0VTKVxu XHRcJChNQUtFKSBcJChBTV9NQUtFRkxBR1MpICIKCQkgICAgICAgOiAnJykKCQkgICAgLiAo dmFyICgnU1VCRElSUycpID8gJ2NoZWNrLXJlY3Vyc2l2ZScgOiAnY2hlY2stYW0nKQoJCSAg ICAuICJcbiIpOwogIGRlcGVuZCAoJy5NQUtFJywgJ2NoZWNrJykKICAgIGlmIHZhciAoJ0JV SUxUX1NPVVJDRVMnKTsKfQoKIyBIYW5kbGUgYWxsICdjbGVhbicgdGFyZ2V0cy4Kc3ViIGhh bmRsZV9jbGVhbgp7CiAgbXkgKCRtYWtlZmlsZSkgPSBAXzsKCiAgIyBDbGVhbiB0aGUgZmls ZXMgbGlzdGVkIGluIHVzZXIgdmFyaWFibGVzIGlmIHRoZXkgZXhpc3QuCiAgJGNsZWFuX2Zp bGVzeyckKE1PU1RMWUNMRUFORklMRVMpJ30gPSBNT1NUTFlfQ0xFQU4KICAgIGlmIHZhciAo J01PU1RMWUNMRUFORklMRVMnKTsKICAkY2xlYW5fZmlsZXN7JyQoQ0xFQU5GSUxFUyknfSA9 IENMRUFOCiAgICBpZiB2YXIgKCdDTEVBTkZJTEVTJyk7CiAgJGNsZWFuX2ZpbGVzeyckKERJ U1RDTEVBTkZJTEVTKSd9ID0gRElTVF9DTEVBTgogICAgaWYgdmFyICgnRElTVENMRUFORklM RVMnKTsKICAkY2xlYW5fZmlsZXN7JyQoTUFJTlRBSU5FUkNMRUFORklMRVMpJ30gPSBNQUlO VEFJTkVSX0NMRUFOCiAgICBpZiB2YXIgKCdNQUlOVEFJTkVSQ0xFQU5GSUxFUycpOwoKICAj IEJ1aWx0IHNvdXJjZXMgYXJlIGF1dG9tYXRpY2FsbHkgcmVtb3ZlZCBieSBtYWludGFpbmVy LWNsZWFuLgogICRjbGVhbl9maWxlc3snJChCVUlMVF9TT1VSQ0VTKSd9ID0gTUFJTlRBSU5F Ul9DTEVBTgogICAgaWYgdmFyICgnQlVJTFRfU09VUkNFUycpOwoKICAjIENvbXB1dGUgYSBs aXN0IG9mICJybSJzIHRvIHJ1biBmb3IgZWFjaCB0YXJnZXQuCiAgbXkgJXJtcyA9IChNT1NU TFlfQ0xFQU4sIFtdLAoJICAgICBDTEVBTiwgW10sCgkgICAgIERJU1RfQ0xFQU4sIFtdLAoJ ICAgICBNQUlOVEFJTkVSX0NMRUFOLCBbXSk7CgogIGZvcmVhY2ggbXkgJGZpbGUgKGtleXMg JWNsZWFuX2ZpbGVzKQogICAgewogICAgICBteSAkd2hlbiA9ICRjbGVhbl9maWxlc3skZmls ZX07CiAgICAgIHByb2dfZXJyb3IgJ2ludmFsaWQgZW50cnkgaW4gJWNsZWFuX2ZpbGVzJwoJ dW5sZXNzIGV4aXN0cyAkcm1zeyR3aGVufTsKCiAgICAgIG15ICRybSA9ICJybSAtZiAkZmls ZSI7CiAgICAgICMgSWYgZmlsZSBpcyBhIHZhcmlhYmxlLCBtYWtlIHN1cmUgd2hlbiBkb24n dCBjYWxsICdybSAtZicgd2l0aG91dCBhcmdzLgogICAgICAkcm0gPSJ0ZXN0IC16IFwiJGZp bGVcIiB8fCAkcm0iCglpZiAoJGZpbGUgPX4gL15ccypcJChcKC4qXCl8XHsuKlx9KVxzKiQv KTsKCiAgICAgIHB1c2ggQHskcm1zeyR3aGVufX0sICJcdC0kcm1cbiI7CiAgICB9CgogICRv dXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cwogICAgKCdjbGVhbicsCiAgICAgbmV3IEF1 dG9tYWtlOjpMb2NhdGlvbiwKICAgICBNT1NUTFlDTEVBTl9STVMgICAgICA9PiBqb2luICgn Jywgc29ydCBAeyRybXN7Jk1PU1RMWV9DTEVBTn19KSwKICAgICBDTEVBTl9STVMgICAgICAg ICAgICA9PiBqb2luICgnJywgc29ydCBAeyRybXN7JkNMRUFOfX0pLAogICAgIERJU1RDTEVB Tl9STVMgICAgICAgID0+IGpvaW4gKCcnLCBzb3J0IEB7JHJtc3smRElTVF9DTEVBTn19KSwK ICAgICBNQUlOVEFJTkVSX0NMRUFOX1JNUyA9PiBqb2luICgnJywgc29ydCBAeyRybXN7Jk1B SU5UQUlORVJfQ0xFQU59fSksCiAgICAgTUFLRUZJTEUgICAgICAgICAgICAgPT4gYmFzZW5h bWUgJG1ha2VmaWxlLAogICAgICk7Cn0KCgojIFN1YnJvdXRpbmUgZm9yIGhhbmRsZV9mYWN0 b3JlZF9kZXBlbmRlbmNpZXMoKSB0byBsZXQgJy5QSE9OWScgYW5kCiMgb3RoZXIgJy5UQVJH RVRTJyBiZSBsYXN0LiAgVGhpcyBpcyBtZWFudCB0byBiZSB1c2VkIGFzIGEgY29tcGFyaXNv bgojIHN1YnJvdXRpbmUgcGFzc2VkIHRvIHRoZSBzb3J0IGJ1aWx0LWludC4Kc3ViIHRhcmdl dF9jbXAKewogIHJldHVybiAwIGlmICRhIGVxICRiOwoKICBteSAkYTEgPSBzdWJzdHIgKCRh LCAwLCAxKTsKICBteSAkYjEgPSBzdWJzdHIgKCRiLCAwLCAxKTsKICBpZiAoJGExIG5lICRi MSkKICAgIHsKICAgICAgcmV0dXJuIC0xIGlmICRiMSBlcSAnLic7CiAgICAgIHJldHVybiAx IGlmICRhMSBlcSAnLic7CiAgICB9CiAgcmV0dXJuICRhIGNtcCAkYjsKfQoKCiMgSGFuZGxl IGV2ZXJ5dGhpbmcgcmVsYXRlZCB0byBnYXRoZXJlZCB0YXJnZXRzLgpzdWIgaGFuZGxlX2Zh Y3RvcmVkX2RlcGVuZGVuY2llcyAoKQp7CiAgIyBSZWplY3QgYmFkIGhvb2tzLgogIGZvcmVh Y2ggbXkgJHV0YXJnICgndW5pbnN0YWxsLWRhdGEtbG9jYWwnLCAndW5pbnN0YWxsLWRhdGEt aG9vaycsCgkJICAgICAndW5pbnN0YWxsLWV4ZWMtbG9jYWwnLCAndW5pbnN0YWxsLWV4ZWMt aG9vaycsCgkJICAgICAndW5pbnN0YWxsLWR2aS1sb2NhbCcsCgkJICAgICAndW5pbnN0YWxs LWh0bWwtbG9jYWwnLAoJCSAgICAgJ3VuaW5zdGFsbC1pbmZvLWxvY2FsJywKCQkgICAgICd1 bmluc3RhbGwtcGRmLWxvY2FsJywKCQkgICAgICd1bmluc3RhbGwtcHMtbG9jYWwnKQogICAg ewogICAgICBteSAkeCA9ICR1dGFyZzsKICAgICAgJHggPX4gcy8tLiotLy0vOwogICAgICBy ZWplY3RfcnVsZSAoJHV0YXJnLCAidXNlICckeCcsIG5vdCAnJHV0YXJnJyIpOwogICAgfQoK ICByZWplY3RfcnVsZSAoJ2luc3RhbGwtbG9jYWwnLAoJICAgICAgICJ1c2UgJ2luc3RhbGwt ZGF0YS1sb2NhbCcgb3IgJ2luc3RhbGwtZXhlYy1sb2NhbCcsICIKCSAgICAgICAuICJub3Qg J2luc3RhbGwtbG9jYWwnIik7CgogIHJlamVjdF9ydWxlICgnaW5zdGFsbC1ob29rJywKCSAg ICAgICAidXNlICdpbnN0YWxsLWRhdGEtaG9vaycgb3IgJ2luc3RhbGwtZXhlYy1ob29rJywg IgoJICAgICAgIC4gIm5vdCAnaW5zdGFsbC1ob29rJyIpOwoKICAjIEluc3RhbGwgdGhlIC1s b2NhbCBob29rcy4KICBmb3JlYWNoIChrZXlzICVkZXBlbmRlbmNpZXMpCiAgICB7CiAgICAg ICMgSG9va3MgYXJlIGluc3RhbGxlZCBvbiB0aGUgLWFtIHRhcmdldHMuCiAgICAgIHMvLWFt JC8vIG9yIG5leHQ7CiAgICAgIGRlcGVuZCAoIiRfLWFtIiwgIiRfLWxvY2FsIikKCWlmIHVz ZXJfcGhvbnlfcnVsZSAiJF8tbG9jYWwiOwogICAgfQoKICAjIEluc3RhbGwgdGhlIC1ob29r IGhvb2tzLgogICMgRklYTUU6IFdoeSBub3QgYmUgYXMgbGliZXJhbCBhcyB3ZSBhcmUgd2l0 aCAtbG9jYWwgaG9va3M/CiAgZm9yZWFjaCAoJ2luc3RhbGwtZXhlYycsICdpbnN0YWxsLWRh dGEnLCAndW5pbnN0YWxsJykKICAgIHsKICAgICAgaWYgKHVzZXJfcGhvbnlfcnVsZSAiJF8t aG9vayIpCgl7CgkgIGRlcGVuZCAoJy5NQUtFJywgIiRfLWFtIik7CgkgIHJlZ2lzdGVyX2Fj dGlvbigiJF8tYW0iLAoJCQkgICgiXHRcQFwkKE5PUk1BTF9JTlNUQUxMKVxuIgoJCQkgICAu ICJcdFwkKE1BS0UpIFwkKEFNX01BS0VGTEFHUykgJF8taG9vayIpKTsKCX0KICAgIH0KCiAg IyBBbGwgdGhlIHJlcXVpcmVkIHRhcmdldHMgYXJlIHBob255LgogIGRlcGVuZCAoJy5QSE9O WScsIGtleXMgJXJlcXVpcmVkX3RhcmdldHMpOwoKICAjIEFjdHVhbGx5IG91dHB1dCBnYXRo ZXJlZCB0YXJnZXRzLgogIGZvcmVhY2ggKHNvcnQgdGFyZ2V0X2NtcCBrZXlzICVkZXBlbmRl bmNpZXMpCiAgICB7CiAgICAgICMgSWYgdGhlcmUgaXMgbm90aGluZyBhYm91dCB0aGlzIGd1 eSwgc2tpcCBpdC4KICAgICAgbmV4dAoJdW5sZXNzIChAeyRkZXBlbmRlbmNpZXN7JF99fQoJ CXx8ICRhY3Rpb25zeyRffQoJCXx8ICRyZXF1aXJlZF90YXJnZXRzeyRffSk7CgogICAgICAj IERlZmluZSBnYXRoZXJlZCB0YXJnZXRzIGluIHVuZGVmaW5lZCBjb25kaXRpb25zLgogICAg ICAjIEZJWE1FOiBSaWdodCBub3cgd2UgbXVzdCBoYW5kbGUgLlBIT05ZIGFzIGFuIGV4Y2Vw dGlvbiwKICAgICAgIyBiZWNhdXNlIHBlb3BsZSB3cml0ZSB0aGluZ3MgbGlrZQogICAgICAj ICAgIC5QSE9OWTogbXlwaG9ueXRhcmdldAogICAgICAjIHRvIGFwcGVuZCBkZXBlbmRlbmNp ZXMuICBUaGlzIHdvdWxkIG5vdCB3b3JrIGlmIEF1dG9tYWtlCiAgICAgICMgcmVmcmFpbmVk IGZyb20gZGVmaW5pbmcgaXRzIG93biAuUEhPTlkgdGFyZ2V0IGFzIGl0IGRvZXMKICAgICAg IyB3aXRoIG90aGVyIG92ZXJyaWRkZW4gdGFyZ2V0cy4KICAgICAgIyBMaWtld2lzZSBmb3Ig Jy5NQUtFJyBhbmQgJy5QUkVDSU9VUycuCiAgICAgIG15IEB1bmRlZmluZWRfY29uZHMgPSAo VFJVRSwpOwogICAgICBpZiAoJF8gbmUgJy5QSE9OWScgJiYgJF8gbmUgJy5NQUtFJyAmJiAk XyBuZSAnLlBSRUNJT1VTJykKCXsKCSAgQHVuZGVmaW5lZF9jb25kcyA9CgkgICAgQXV0b21h a2U6OlJ1bGU6OmRlZmluZSAoJF8sICdpbnRlcm5hbCcsCgkJCQkgICAgUlVMRV9BVVRPTUFL RSwgVFJVRSwgSU5URVJOQUwpOwoJfQogICAgICBteSBAdW5pcV9kZXBzID0gdW5pcSAoc29y dCBAeyRkZXBlbmRlbmNpZXN7JF99fSk7CiAgICAgIGZvcmVhY2ggbXkgJGNvbmQgKEB1bmRl ZmluZWRfY29uZHMpCgl7CgkgIG15ICRjb25kc3RyID0gJGNvbmQtPnN1YnN0X3N0cmluZzsK CSAgcHJldHR5X3ByaW50X3J1bGUgKCIkY29uZHN0ciRfOiIsICIkY29uZHN0clx0IiwgQHVu aXFfZGVwcyk7CgkgICRvdXRwdXRfcnVsZXMgLj0gJGFjdGlvbnN7JF99IGlmIGRlZmluZWQg JGFjdGlvbnN7JF99OwoJICAkb3V0cHV0X3J1bGVzIC49ICJcbiI7Cgl9CiAgICB9Cn0KCgpz dWIgaGFuZGxlX3Rlc3RzX2RlamFnbnUgKCkKewogICAgcHVzaCAoQGNoZWNrX3Rlc3RzLCAn Y2hlY2stREVKQUdOVScpOwogICAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgn ZGVqYWdudScsIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24pOwp9CgojIGhhbmRsZV9wZXJfc3Vm Zml4X3Rlc3QgKCRURVNUX1NVRkZJWCwgWyVUUkFOU0ZPUk1dKQojLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgaGFuZGxlX3Blcl9z dWZmaXhfdGVzdAp7CiAgbXkgKCR0ZXN0X3N1ZmZpeCwgJXRyYW5zZm9ybSkgPSBAXzsKICBt eSAoJHBmeCwgJGdlbmVyaWMsICRhbV9leGVleHQpOwogIGlmICgkdGVzdF9zdWZmaXggZXEg JycpCiAgICB7CiAgICAgICRwZnggPSAnJzsKICAgICAgJGdlbmVyaWMgPSAwOwogICAgICAk YW1fZXhlZXh0ID0gJ0ZBTFNFJzsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIHByb2dfZXJy b3IgKCJ0ZXN0IHN1ZmZpeCAnJHRlc3Rfc3VmZml4JyBsYWNrcyBsZWFkaW5nIGRvdCIpCiAg ICAgICAgdW5sZXNzICR0ZXN0X3N1ZmZpeCA9fiBtL15cLiguKikvOwogICAgICAkcGZ4ID0g dWMgKCQxKSAuICdfJzsKICAgICAgJGdlbmVyaWMgPSAxOwogICAgICAkYW1fZXhlZXh0ID0g ZXhpc3RzICRjb25maWd1cmVfdmFyc3snRVhFRVhUJ30gPyAnYW1fX0VYRUVYVCcKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ0ZBTFNF JzsKICAgIH0KICAjIFRoZSAidGVzdCBkcml2ZXIiIHByb2dyYW0sIGRlcHV0ZWQgdG8gaGFu ZGxlIHRlc3RzIHByb3RvY29sIHVzZWQgYnkKICAjIHRlc3Qgc2NyaXB0cy4gIEJ5IGRlZmF1 bHQsIGl0J3MgYXNzdW1lZCB0aGF0IG5vIHByb3RvY29sIGlzIHVzZWQsIHNvCiAgIyB3ZSBm YWxsIGJhY2sgdG8gdGhlIG9sZCBiZWhhdmlvdXIsIGltcGxlbWVudGVkIGJ5IHRoZSAndGVz dC1kcml2ZXInCiAgIyBhdXhpbGlhcnkgc2NyaXB0LgogIGlmICghIHZhciAiJHtwZnh9TE9H X0RSSVZFUiIpCiAgICB7CiAgICAgIHJlcXVpcmVfY29uZl9maWxlICgicGFyYWxsZWwtdGVz dHMiLCBGT1JFSUdOLCAndGVzdC1kcml2ZXInKTsKICAgICAgZGVmaW5lX3ZhcmlhYmxlICgi JHtwZnh9TE9HX0RSSVZFUiIsCiAgICAgICAgICAgICAgICAgICAgICAgIlwkKFNIRUxMKSAk YW1fY29uZmlnX2F1eF9kaXIvdGVzdC1kcml2ZXIiLAogICAgICAgICAgICAgICAgICAgICAg IElOVEVSTkFMKTsKICAgIH0KICBteSAkZHJpdmVyID0gJyQoJyAuICRwZnggLiAnTE9HX0RS SVZFUiknOwogIG15ICRkcml2ZXJfZmxhZ3MgPSAnJChBTV8nIC4gJHBmeCAuICdMT0dfRFJJ VkVSX0ZMQUdTKScKICAgICAgICAgICAgICAgICAgICAgICAuICcgJCgnIC4gJHBmeCAuICdM T0dfRFJJVkVSX0ZMQUdTKSc7CiAgbXkgJGNvbXBpbGUgPSAiJHtwZnh9TE9HX0NPTVBJTEUi OwogIGRlZmluZV92YXJpYWJsZSAoJGNvbXBpbGUsCiAgICAgICAgICAgICAgICAgICAnJCgn IC4gJHBmeCAuICdMT0dfQ09NUElMRVIpJwogICAgICAgICAgICAgICAgICAgICAgLiAnICQo QU1fJyAuICAkcGZ4IC4gJ0xPR19GTEFHUyknCiAgICAgICAgICAgICAgICAgICAgICAuICcg JCgnIC4gJHBmeCAuICdMT0dfRkxBR1MpJywKICAgICAgICAgICAgICAgICAgICAgSU5URVJO QUwpOwogICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ2NoZWNrMicsIG5ldyBB dXRvbWFrZTo6TG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R0VORVJJQyA9PiAkZ2VuZXJpYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBEUklWRVIgPT4gJGRyaXZlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBEUklWRVJfRkxBR1MgPT4gJGRyaXZlcl9mbGFncywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDT01QSUxFID0+ICckKCcgLiAkY29tcGlsZSAuICcpJywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWFQgPT4gJHRlc3Rfc3VmZml4LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtX19FWEVFWFQgPT4gJGFtX2V4ZWV4 dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAldHJhbnNmb3JtKTsKfQoK IyBpc192YWxpZF90ZXN0X2V4dGVuc2lvbiAoJEVYVCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIyBSZXR1cm4gdHJ1ZSBpZiAkRVhUIGNhbiBhcHBlYXIgaW4gJChURVNU X0VYVEVOU0lPTlMpLCByZXR1cm4gZmFsc2UKIyBvdGhlcndpc2UuCnN1YiBpc192YWxpZF90 ZXN0X2V4dGVuc2lvbgp7CiAgbXkgJGV4dCA9IHNoaWZ0OwogIHJldHVybiAxCiAgICBpZiAo JGV4dCA9fiAvXlwuW2EtekEtWl9dW2EtekEtWjAtOV9dKiQvKTsKICByZXR1cm4gMQogICAg aWYgKGV4aXN0cyAkY29uZmlndXJlX3ZhcnN7J0VYRUVYVCd9ICYmICRleHQgZXEgc3Vic3Qg KCdFWEVFWFQnKSk7CiAgcmV0dXJuIDA7Cn0KCgpzdWIgaGFuZGxlX3Rlc3RzICgpCnsKICBp ZiAob3B0aW9uICdkZWphZ251JykKICAgIHsKICAgICAgaGFuZGxlX3Rlc3RzX2RlamFnbnU7 CiAgICB9CiAgZWxzZQogICAgewogICAgICBmb3JlYWNoIG15ICRjICgnREVKQVRPT0wnLCAn UlVOVEVTVCcsICdSVU5URVNURkxBR1MnKQoJewoJICByZWplY3RfdmFyICgkYywgIickYycg ZGVmaW5lZCBidXQgJ2RlamFnbnUnIG5vdCBpbiAiCgkJICAgICAgLiAiJ0FVVE9NQUtFX09Q VElPTlMnIik7Cgl9CiAgICB9CgogIGlmICh2YXIgKCdURVNUUycpKQogICAgewogICAgICBw dXNoIChAY2hlY2tfdGVzdHMsICdjaGVjay1URVNUUycpOwogICAgICBteSAkY2hlY2tfZGVw cyA9ICJAY2hlY2siOwogICAgICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCdj aGVjaycsIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU0VSSUFMX1RFU1RTID0+ICEhIG9wdGlvbiAnc2VyaWFsLXRlc3Rz JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDSEVDS19ERVBTID0+ ICRjaGVja19kZXBzKTsKCiAgICAgICMgVGVzdHMgdGhhdCBhcmUga25vd24gcHJvZ3JhbXMg c2hvdWxkIGhhdmUgJChFWEVFWFQpIGFwcGVuZGVkLgogICAgICAjIEZvciBtYXRjaGluZyBw dXJwb3Nlcywgd2UgbmVlZCB0byBhZGp1c3QgWEZBSUxfVEVTVFMgYXMgd2VsbC4KICAgICAg YXBwZW5kX2V4ZWV4dCB7IGV4aXN0cyAka25vd25fcHJvZ3JhbXN7JF9bMF19IH0gJ1RFU1RT JzsKICAgICAgYXBwZW5kX2V4ZWV4dCB7IGV4aXN0cyAka25vd25fcHJvZ3JhbXN7JF9bMF19 IH0gJ1hGQUlMX1RFU1RTJwoJaWYgKHZhciAoJ1hGQUlMX1RFU1RTJykpOwoKICAgICAgaWYg KCEgb3B0aW9uICdzZXJpYWwtdGVzdHMnKQogICAgICAgIHsKCSAgZGVmaW5lX3ZhcmlhYmxl ICgnVEVTVF9TVUlURV9MT0cnLCAndGVzdC1zdWl0ZS5sb2cnLCBJTlRFUk5BTCk7CgkgIG15 ICRzdWZmID0gJy50ZXN0JzsKCSAgbXkgJGF0X2V4ZWV4dCA9ICcnOwoJICBteSAkaGFuZGxl X2V4ZWV4dCA9IGV4aXN0cyAkY29uZmlndXJlX3ZhcnN7J0VYRUVYVCd9OwoJICBpZiAoJGhh bmRsZV9leGVleHQpCgkgICAgewoJICAgICAgJGF0X2V4ZWV4dCA9IHN1YnN0ICgnRVhFRVhU Jyk7CgkgICAgICAkc3VmZiA9ICRhdF9leGVleHQgIC4gJyAnIC4gJHN1ZmY7CgkgICAgfQog ICAgICAgICAgaWYgKCEgdmFyICdURVNUX0VYVEVOU0lPTlMnKQogICAgICAgICAgICB7Cgkg ICAgICBkZWZpbmVfdmFyaWFibGUgKCdURVNUX0VYVEVOU0lPTlMnLCAkc3VmZiwgSU5URVJO QUwpOwogICAgICAgICAgICB9CiAgICAgICAgICBteSAkdmFyID0gdmFyICdURVNUX0VYVEVO U0lPTlMnOwogICAgICAgICAgIyBDdXJyZW50bHksIHdlIGFyZSBub3QgYWJsZSB0byBkZWFs IHdpdGggY29uZGl0aW9uYWwgY29udGVudHMKICAgICAgICAgICMgaW4gVEVTVF9FWFRFTlNJ T05TLgogICAgICAgICAgaWYgKCR2YXItPmhhc19jb25kaXRpb25hbF9jb250ZW50cykKICAg ICAgICAgICB7CgkgICAgIG1zZ192YXIgJ3Vuc3VwcG9ydGVkJywgJHZhciwKICAgICAgICAg ICAgICAgICAgICAgIidURVNUX0VYVEVOU0lPTlMnIGNhbm5vdCBoYXZlIGNvbmRpdGlvbmFs IGNvbnRlbnRzIjsKICAgICAgICAgICB9CgkgIG15IEB0ZXN0X3N1ZmZpeGVzID0gJHZhci0+ dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmU7CiAgICAgICAgICBpZiAoKG15IEBpbnZhbGlkX3Rl c3Rfc3VmZml4ZXMgPQogICAgICAgICAgICAgICAgICBncmVwIHsgIWlzX3ZhbGlkX3Rlc3Rf ZXh0ZW5zaW9uICRfIH0gQHRlc3Rfc3VmZml4ZXMpID4gMCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgIGVycm9yICR2YXItPnJkZWYgKFRSVUUpLT5sb2NhdGlvbiwKICAgICAgICAg ICAgICAgICAgICAiaW52YWxpZCB0ZXN0IGV4dGVuc2lvbnM6IEBpbnZhbGlkX3Rlc3Rfc3Vm Zml4ZXMiOwogICAgICAgICAgICB9CiAgICAgICAgICBAdGVzdF9zdWZmaXhlcyA9IGdyZXAg eyBpc192YWxpZF90ZXN0X2V4dGVuc2lvbiAkXyB9IEB0ZXN0X3N1ZmZpeGVzOwoJICBpZiAo JGhhbmRsZV9leGVleHQpCgkgICAgewoJICAgICAgdW5zaGlmdCAoQHRlc3Rfc3VmZml4ZXMs ICRhdF9leGVleHQpCgkgICAgICAgIHVubGVzcyAkdGVzdF9zdWZmaXhlc1swXSBlcSAkYXRf ZXhlZXh0OwoJICAgIH0KCSAgdW5zaGlmdCAoQHRlc3Rfc3VmZml4ZXMsICcnKTsKCgkgIHRy YW5zZm9ybV92YXJpYWJsZV9yZWN1cnNpdmVseQoJICAgICgnVEVTVFMnLCAnVEVTVF9MT0dT JywgJ2FtX190ZXN0bG9ncycsIDEsIElOVEVSTkFMLAoJICAgICAgc3ViIHsKCSAgICAgICAg bXkgKCRzdWJ2YXIsICR2YWwsICRjb25kLCAkZnVsbF9jb25kKSA9IEBfOwoJCW15ICRvYmog PSAkdmFsOwoJCXJldHVybiAkb2JqCgkJICBpZiAkdmFsID1+IC9eXEAuKlxAJC87CgkJJG9i aiA9fiBzL1wkXChFWEVFWFRcKSQvL287CgoJCWlmICgkdmFsID1+IC8oXCRcKCh0b3BfKT9z cmNkaXJcKSlcLy9vKQoJCSAgewoJCSAgICBtc2cgKCdlcnJvcicsICRzdWJ2YXItPnJkZWYg KCRjb25kKS0+bG9jYXRpb24sCgkJCSAidXNpbmcgJyQxJyBpbiBURVNUUyBpcyBjdXJyZW50 bHkgYnJva2VuOiAnJHZhbCciKTsKCQkgIH0KCgkJZm9yZWFjaCBteSAkdGVzdF9zdWZmaXgg KEB0ZXN0X3N1ZmZpeGVzKQoJCSAgewoJCSAgICBuZXh0CgkJICAgICAgaWYgJHRlc3Rfc3Vm Zml4IGVxICRhdF9leGVleHQgfHwgJHRlc3Rfc3VmZml4IGVxICcnOwoJCSAgICByZXR1cm4g c3Vic3RyICgkb2JqLCAwLCBsZW5ndGggKCRvYmopIC0gbGVuZ3RoICgkdGVzdF9zdWZmaXgp KSAuICcubG9nJwoJCSAgICAgIGlmIHN1YnN0ciAoJG9iaiwgLSBsZW5ndGggKCR0ZXN0X3N1 ZmZpeCkpIGVxICR0ZXN0X3N1ZmZpeDsKCQkgIH0KCQlteSAkYmFzZSA9ICRvYmo7CgkJJG9i aiAuPSAnLmxvZyc7CiAgICAgICAgICAgICAgICBoYW5kbGVfcGVyX3N1ZmZpeF90ZXN0ICgn JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9CSiA9PiAkb2Jq LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFTRSA9PiAkYmFz ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVJDRSA9PiAk dmFsKTsKCSAgICAgICAgcmV0dXJuICRvYmo7CgkgICAgICB9KTsKCgkgIG15ICRuaGVscGVy PTE7CgkgIG15ICRwcmV2ID0gJ1RFU1RTJzsKCSAgbXkgJHBvc3QgPSAnJzsKCSAgbXkgJGxh c3Rfc3VmZml4ID0gJHRlc3Rfc3VmZml4ZXNbJCN0ZXN0X3N1ZmZpeGVzXTsKCSAgbXkgJGN1 ciA9ICcnOwoJICBmb3JlYWNoIG15ICR0ZXN0X3N1ZmZpeCAoQHRlc3Rfc3VmZml4ZXMpCgkg ICAgewoJICAgICAgaWYgKCR0ZXN0X3N1ZmZpeCBlcSAkbGFzdF9zdWZmaXgpCgkgICAgICAg IHsKCQkgICRjdXIgPSAnVEVTVF9MT0dTJzsKCQl9CgkgICAgICBlbHNlCgkgICAgICAgIHsK CQkgICRjdXIgPSAnYW1fX3Rlc3RfbG9ncycgLiAkbmhlbHBlcjsKCQl9CgkgICAgICBkZWZp bmVfdmFyaWFibGUgKCRjdXIsCgkJJyQoJyAuICRwcmV2IC4gJzonIC4gJHRlc3Rfc3VmZml4 IC4gJHBvc3QgLiAnPS5sb2cpJywgSU5URVJOQUwpOwoJICAgICAgJHBvc3QgPSAnLmxvZyc7 CgkgICAgICAkcHJldiA9ICRjdXI7CgkgICAgICAkbmhlbHBlcisrOwoJICAgICAgaWYgKCR0 ZXN0X3N1ZmZpeCBuZSAkYXRfZXhlZXh0ICYmICR0ZXN0X3N1ZmZpeCBuZSAnJykKCSAgICAg ICAgewogICAgICAgICAgICAgICAgICBoYW5kbGVfcGVyX3N1ZmZpeF90ZXN0ICgkdGVzdF9z dWZmaXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9CSiA9 PiAnJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFTRSA9 PiAnJConLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTT1VS Q0UgPT4gJyQ8Jyk7CgkgICAgICAgIH0KCSAgICB9CgkgICRjbGVhbl9maWxlc3snJChURVNU X0xPR1MpJ30gPSBNT1NUTFlfQ0xFQU47CgkgICRjbGVhbl9maWxlc3snJChURVNUX0xPR1M6 LmxvZz0udHJzKSd9ID0gTU9TVExZX0NMRUFOOwoJICAkY2xlYW5fZmlsZXN7JyQoVEVTVF9T VUlURV9MT0cpJ30gPSBNT1NUTFlfQ0xFQU47Cgl9CiAgICB9Cn0KCnN1YiBoYW5kbGVfZW1h Y3NfbGlzcCAoKQp7CiAgbXkgQGVsZmlsZXMgPSBhbV9pbnN0YWxsX3ZhciAoJy1jYW5kaXN0 JywgJ2xpc3AnLCAnTElTUCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xp c3AnLCAnbm9pbnN0Jyk7CgogIHJldHVybiBpZiAhIEBlbGZpbGVzOwoKICBkZWZpbmVfcHJl dHR5X3ZhcmlhYmxlICgnYW1fX0VMRklMRVMnLCBUUlVFLCBJTlRFUk5BTCwKCQkJICBtYXAg eyAkXy0+WzFdIH0gQGVsZmlsZXMpOwogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdhbV9f RUxDRklMRVMnLCBUUlVFLCBJTlRFUk5BTCwKCQkJICAnJChhbV9fRUxGSUxFUzouZWw9LmVs YyknKTsKICAjIFRoaXMgb25lIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHVzZXJzLgogIGRlZmlu ZV9wcmV0dHlfdmFyaWFibGUgKCdFTENGSUxFUycsIFRSVUUsIElOVEVSTkFMLCAnJChMSVNQ Oi5lbD0uZWxjKScpOwoKICBwdXNoIEBhbGwsICckKEVMQ0ZJTEVTKSc7CgogIHJlcXVpcmVf dmFyaWFibGVzICgkZWxmaWxlc1swXVswXSwgIkVtYWNzIExpc3Agc291cmNlcyBzZWVuIiwg VFJVRSwKCQkgICAgICdFTUFDUycsICdsaXNwZGlyJyk7Cn0KCnN1YiBoYW5kbGVfcHl0aG9u ICgpCnsKICBteSBAcHlmaWxlcyA9IGFtX2luc3RhbGxfdmFyICgnLWRlZmF1bHRkaXN0Jywg J3B5dGhvbicsICdQWVRIT04nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdu b2luc3QnKTsKICByZXR1cm4gaWYgISBAcHlmaWxlczsKCiAgcmVxdWlyZV92YXJpYWJsZXMg KCRweWZpbGVzWzBdWzBdLCAiUHl0aG9uIHNvdXJjZXMgc2VlbiIsIFRSVUUsICdQWVRIT04n KTsKICByZXF1aXJlX2NvbmZfZmlsZSAoJHB5ZmlsZXNbMF1bMF0sIEZPUkVJR04sICdweS1j b21waWxlJyk7CiAgZGVmaW5lX3ZhcmlhYmxlICgncHlfY29tcGlsZScsICIkYW1fY29uZmln X2F1eF9kaXIvcHktY29tcGlsZSIsIElOVEVSTkFMKTsKfQoKc3ViIGhhbmRsZV9qYXZhICgp CnsKICAgIG15IEBzb3VyY2VsaXN0ID0gYW1faW5zdGFsbF92YXIgKCctY2FuZGlzdCcsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnamF2YScsICdKQVZBJywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdub2luc3QnLCAnY2hlY2snKTsK ICAgIHJldHVybiBpZiAhIEBzb3VyY2VsaXN0OwoKICAgIG15IEBwcmVmaXhlcyA9IGFtX3By aW1hcnlfcHJlZml4ZXMgKCdKQVZBJywgMSwKCQkJCSAgICAgICAgJ25vaW5zdCcsICdjaGVj aycpOwoKICAgIG15ICRkaXI7CiAgICBteSBAamF2YV9zb3VyY2VzID0gKCk7CiAgICBmb3Jl YWNoIG15ICRwcmVmaXggKEBwcmVmaXhlcykKICAgICAgewogICAgICAgIChteSAkY3VycyA9 ICRwcmVmaXgpID1+IHMvXig/Om5vYmFzZV8pPyg/OmRpc3RffG5vZGlzdF8pPy8vOwoKCW5l eHQKCSAgaWYgJGN1cnMgZXEgJ0VYVFJBJzsKCiAgICAgICAgcHVzaCBAamF2YV9zb3VyY2Vz LCAnJCgnIC4gJHByZWZpeCAuICdfSkFWQScgLiAnKSc7CgoJaWYgKGRlZmluZWQgJGRpcikK CSAgewoJICAgIGVycl92YXIgIiR7Y3Vyc31fSkFWQSIsICJtdWx0aXBsZSBfSkFWQSBwcmlt YXJpZXMgaW4gdXNlIgoJICAgICB1bmxlc3MgJGN1cnMgZXEgJGRpcjsKCSAgfQoKCSRkaXIg PSAkY3VyczsKICAgICAgfQoKICAgIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdhbV9famF2 YV9zb3VyY2VzJywgVFJVRSwgSU5URVJOQUwsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiQGphdmFfc291cmNlcyIpOwoKICAgIGlmICgkZGlyIGVxICdjaGVjaycpCiAgICAgIHsK ICAgICAgICBwdXNoIChAY2hlY2ssICJjbGFzcyRkaXIuc3RhbXAiKTsKICAgICAgfQogICAg ZWxzZQogICAgICB7CiAgICAgICAgcHVzaCAoQGFsbCwgImNsYXNzJGRpci5zdGFtcCIpOwog ICAgICB9Cn0KCgpzdWIgaGFuZGxlX21pbm9yX29wdGlvbnMgKCkKewogIGlmIChvcHRpb24g J3JlYWRtZS1hbHBoYScpCiAgICB7CiAgICAgIGlmICgkcmVsYXRpdmVfZGlyIGVxICcuJykK CXsKCSAgaWYgKCRwYWNrYWdlX3ZlcnNpb24gIX4gL14kR05JVFNfVkVSU0lPTl9QQVRURVJO JC8pCgkgICAgewoJICAgICAgbXNnICgnZXJyb3ItZ25pdHMnLCAkcGFja2FnZV92ZXJzaW9u X2xvY2F0aW9uLAoJCSAgICJ2ZXJzaW9uICckcGFja2FnZV92ZXJzaW9uJyBkb2Vzbid0IGZv bGxvdyAiIC4KCQkgICAiR25pdHMgc3RhbmRhcmRzIik7CgkgICAgfQoJICBpZiAoZGVmaW5l ZCAkMSAmJiAtZiAnUkVBRE1FLWFscGhhJykKCSAgICB7CgkgICAgICAjIFRoaXMgbWVhbnMg d2UgaGF2ZSBhbiBhbHBoYSByZWxlYXNlLiAgU2VlCgkgICAgICAjIEdOSVRTX1ZFUlNJT05f UEFUVEVSTiBmb3IgZGV0YWlscy4KCSAgICAgIHB1c2hfZGlzdF9jb21tb24gKCdSRUFETUUt YWxwaGEnKTsKCSAgICB9Cgl9CiAgICB9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgKCRPVVRQVVQsIEBJ TlBVVFMpCiMgc3BsaXRfY29uZmlnX2ZpbGVfc3BlYyAoJFNQRUMpCiMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVjb2RlIHRoZSBBdXRvY29uZiBzeW50YXggZm9yIGNv bmZpZyBmaWxlcyAoZmlsZXMsIGhlYWRlcnMsIGxpbmtzCiMgZXRjLikuCnN1YiBzcGxpdF9j b25maWdfZmlsZV9zcGVjCnsKICBteSAoJHNwZWMpID0gQF87CiAgbXkgKCRvdXRwdXQsIEBp bnB1dHMpID0gc3BsaXQgKC86LywgJHNwZWMpOwoKICBwdXNoIEBpbnB1dHMsICIkb3V0cHV0 LmluIgogICAgdW5sZXNzIEBpbnB1dHM7CgogIHJldHVybiAoJG91dHB1dCwgQGlucHV0cyk7 Cn0KCiMgJGlucHV0CiMgbG9jYXRlX2FtIChAUE9TU0lCTEVfU09VUkNFUykKIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFDX0NPTkZJR19GSUxFUyBhbGxvdyBzcGVjaWZp Y2F0aW9ucyBzdWNoIGFzIE1ha2VmaWxlOnRvcC5pbjptaWQuaW46Ym90LmluCiMgVGhpcyBm dW5jdGlvbnMgcmV0dXJucyB0aGUgZmlyc3QgKi5pbiBmaWxlIGZvciB3aGljaCBhICouYW0g ZXhpc3RzLgojIEl0IHJldHVybnMgdW5kZWYgb3RoZXJ3aXNlLgpzdWIgbG9jYXRlX2FtCnsK ICBteSAoQHJlc3QpID0gQF87CiAgbXkgJGlucHV0OwogIGZvcmVhY2ggbXkgJGZpbGUgKEBy ZXN0KQogICAgewogICAgICBpZiAoKCRmaWxlID1+IC9eKC4qKVwuaW4kLykgJiYgLWYgIiQx LmFtIikKCXsKCSAgJGlucHV0ID0gJGZpbGU7CgkgIGxhc3Q7Cgl9CiAgICB9CiAgcmV0dXJu ICRpbnB1dDsKfQoKbXkgJW1ha2VfbGlzdDsKCiMgc2Nhbl9hdXRvY29uZl9jb25maWdfZmls ZXMgKCRXSEVSRSwgJENPTkZJRy1GSUxFUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFN0dWR5ICRDT05GSUctRklMRVMgd2hpY2gg aXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIEFDX0NPTkZJR19GSUxFUwojIChvciBBQ19PVVRQ VVQpLgpzdWIgc2Nhbl9hdXRvY29uZl9jb25maWdfZmlsZXMKewogIG15ICgkd2hlcmUsICRj b25maWdfZmlsZXMpID0gQF87CgogICMgTG9vayBhdCBwb3RlbnRpYWwgTWFrZWZpbGUuYW0n cy4KICBmb3JlYWNoIChzcGxpdCAnICcsICRjb25maWdfZmlsZXMpCiAgICB7CiAgICAgICMg TXVzdCBza2lwIGVtcHR5IHN0cmluZyBmb3IgUGVybCA0LgogICAgICBuZXh0IGlmICRfIGVx ICJcXCIgfHwgJF8gZXEgJyc7CgogICAgICAjIEhhbmRsZSAkbG9jYWw6JGlucHV0IHN5bnRh eC4KICAgICAgbXkgKCRsb2NhbCwgQHJlc3QpID0gc3BsaXQgKC86Lyk7CiAgICAgIEByZXN0 ID0gKCIkbG9jYWwuaW4iLCkgdW5sZXNzIEByZXN0OwogICAgICAjIEtlZXAgaW4gc3luYyB3 aXRoIHRlc3QgJ2NvbmZmaWxlLWxlYWRpbmctZG90LnNoJy4KICAgICAgbXNnICgndW5zdXBw b3J0ZWQnLCAkd2hlcmUsCiAgICAgICAgICAgIm9taXQgbGVhZGluZyAnLi8nIGZyb20gY29u ZmlnIGZpbGUgbmFtZXMgc3VjaCBhcyAnJGxvY2FsJzsiCiAgICAgICAgICAgLiAiXG5yZW1h a2UgcnVsZXMgbWlnaHQgYmUgc3VidGx5IGJyb2tlbiBvdGhlcndpc2UiKQogICAgICAgIGlm ICgkbG9jYWwgPX4gL15cLlwvLyk7CiAgICAgIG15ICRpbnB1dCA9IGxvY2F0ZV9hbSBAcmVz dDsKICAgICAgaWYgKCRpbnB1dCkKCXsKCSAgIyBXZSBoYXZlIGEgZmlsZSB0aGF0IGF1dG9t YWtlIHNob3VsZCBnZW5lcmF0ZS4KCSAgJG1ha2VfbGlzdHskaW5wdXR9ID0gam9pbiAoJzon LCAoJGxvY2FsLCBAcmVzdCkpOwoJfQogICAgICBlbHNlCgl7CgkgICMgV2UgaGF2ZSBhIGZp bGUgdGhhdCBhdXRvbWFrZSBzaG91bGQgY2F1c2UgdG8gYmUKCSAgIyByZWJ1aWx0LCBidXQg c2hvdWxkbid0IGdlbmVyYXRlIGl0c2VsZi4KCSAgcHVzaCAoQG90aGVyX2lucHV0X2ZpbGVz LCAkXyk7Cgl9CiAgICAgICRhY19jb25maWdfZmlsZXNfbG9jYXRpb257JGxvY2FsfSA9ICR3 aGVyZTsKICAgICAgJGFjX2NvbmZpZ19maWxlc19jb25kaXRpb257JGxvY2FsfSA9CiAgICAg ICAgbmV3IEF1dG9tYWtlOjpDb25kaXRpb24gKEBjb25kX3N0YWNrKQogICAgICAgICAgaWYg KEBjb25kX3N0YWNrKTsKICAgIH0KfQoKCnN1YiBzY2FuX2F1dG9jb25mX3RyYWNlcwp7CiAg bXkgKCRmaWxlbmFtZSkgPSBAXzsKCiAgIyBNYWNyb3MgdG8gdHJhY2UsIHdpdGggdGhlaXIg bWluaW1hbCBudW1iZXIgb2YgYXJndW1lbnRzLgogICMKICAjIElNUE9SVEFOVDogSWYgeW91 IGFkZCBhIG1hY3JvIGhlcmUsIHlvdSBzaG91bGQgYWxzbyBhZGQgdGhpcyBtYWNybwogICMg PT09PT09PT09ICB0byBBdXRvbWFrZS1wcmVzZWxlY3Rpb24gaW4gYXV0b2NvbmYvbGliL2F1 dG9tNHRlLmluLgogIG15ICV0cmFjZWQgPSAoCgkJQUNfQ0FOT05JQ0FMX0JVSUxEID0+IDAs CgkJQUNfQ0FOT05JQ0FMX0hPU1QgPT4gMCwKCQlBQ19DQU5PTklDQUxfVEFSR0VUID0+IDAs CgkJQUNfQ09ORklHX0FVWF9ESVIgPT4gMSwKCQlBQ19DT05GSUdfRklMRVMgPT4gMSwKCQlB Q19DT05GSUdfSEVBREVSUyA9PiAxLAoJCUFDX0NPTkZJR19MSUJPQkpfRElSID0+IDEsCgkJ QUNfQ09ORklHX0xJTktTID0+IDEsCgkJQUNfRkNfU1JDRVhUID0+IDEsCgkJQUNfSU5JVCA9 PiAwLAoJCUFDX0xJQlNPVVJDRSA9PiAxLAoJCUFDX1JFUVVJUkVfQVVYX0ZJTEUgPT4gMSwK CQlBQ19TVUJTVF9UUkFDRSA9PiAxLAoJCUFNX0FVVE9NQUtFX1ZFUlNJT04gPT4gMSwKICAg ICAgICAgICAgICAgIEFNX1BST0dfTUtESVJfUCA9PiAwLAoJCUFNX0NPTkRJVElPTkFMID0+ IDIsCgkJQU1fRVhUUkFfUkVDVVJTSVZFX1RBUkdFVFMgPT4gMSwKCQlBTV9HTlVfR0VUVEVY VCA9PiAwLAoJCUFNX0dOVV9HRVRURVhUX0lOVExfU1VCRElSID0+IDAsCgkJQU1fSU5JVF9B VVRPTUFLRSA9PiAwLAoJCUFNX01BSU5UQUlORVJfTU9ERSA9PiAwLAoJCUFNX1BST0dfQVIg PT4gMCwKCQlfQU1fU1VCU1RfTk9UTUFLRSA9PiAxLAoJCV9BTV9DT05EX0lGID0+IDEsCgkJ X0FNX0NPTkRfRUxTRSA9PiAxLAoJCV9BTV9DT05EX0VORElGID0+IDEsCgkJTFRfU1VQUE9S VEVEX1RBRyA9PiAxLAoJCV9MVF9BQ19UQUdDT05GSUcgPT4gMCwKCQltNF9pbmNsdWRlID0+ IDEsCgkJbTRfc2luY2x1ZGUgPT4gMSwKCQlzaW5jbHVkZSA9PiAxLAoJICAgICAgKTsKCiAg bXkgJHRyYWNlcyA9ICgkRU5We0FVVE9DT05GfSB8fCAnYXV0b2NvbmYnKSAuICIgIjsKCiAg IyBVc2UgYSBzZXBhcmF0b3IgdW5saWtlbHkgdG8gYmUgdXNlZCwgbm90ICc6JywgdGhlIGRl ZmF1bHQsIHdoaWNoCiAgIyBoYXMgYSBwcmVjaXNlIG1lYW5pbmcgZm9yIEFDX0NPTkZJR19G SUxFUyBhbmQgc28gb24uCiAgJHRyYWNlcyAuPSBqb2luICgnICcsCgkJICAgbWFwIHsgIi0t dHJhY2U9JF8iIC4gJzpcJGY6XCRsOjpcJGQ6Olwkbjo6XCR7Ojp9JScgfQoJCSAgIChrZXlz ICV0cmFjZWQpKTsKCiAgbXkgJHRyYWNlZmggPSBuZXcgQXV0b21ha2U6OlhGaWxlICgiJHRy YWNlcyAkZmlsZW5hbWUgfCIpOwogIHZlcmIgInJlYWRpbmcgJHRyYWNlcyI7CgogIEBjb25k X3N0YWNrID0gKCk7CiAgbXkgJHdoZXJlOwoKICB3aGlsZSAoJF8gPSAkdHJhY2VmaC0+Z2V0 bGluZSkKICAgIHsKICAgICAgY2hvbXA7CiAgICAgIG15ICgkaGVyZSwgJGRlcHRoLCBAYXJn cykgPSBzcGxpdCAoLzo6Lyk7CiAgICAgICR3aGVyZSA9IG5ldyBBdXRvbWFrZTo6TG9jYXRp b24gJGhlcmU7CiAgICAgIG15ICRtYWNybyA9ICRhcmdzWzBdOwoKICAgICAgcHJvZ19lcnJv ciAoInVucmVxdWVzdGVkIHRyYWNlICckbWFjcm8nIikKCXVubGVzcyBleGlzdHMgJHRyYWNl ZHskbWFjcm99OwoKICAgICAgIyBTa2lwIGFuZCBkaWFnbm9zZSBtYWxmb3JtZWQgY2FsbHMu CiAgICAgIGlmICgkI2FyZ3MgPCAkdHJhY2VkeyRtYWNyb30pCgl7CgkgIG1zZyAoJ3N5bnRh eCcsICR3aGVyZSwgIm5vdCBlbm91Z2ggYXJndW1lbnRzIGZvciAkbWFjcm8iKTsKCSAgbmV4 dDsKCX0KCiAgICAgICMgQWxwaGFiZXRpY2FsIG9yZGVyaW5nIHBsZWFzZS4KICAgICAgaWYg KCRtYWNybyBlcSAnQUNfQ0FOT05JQ0FMX0JVSUxEJykKCXsKCSAgaWYgKCRzZWVuX2Nhbm9u aWNhbCA8PSBBQ19DQU5PTklDQUxfQlVJTEQpCgkgICAgewoJICAgICAgJHNlZW5fY2Fub25p Y2FsID0gQUNfQ0FOT05JQ0FMX0JVSUxEOwoJICAgIH0KCX0KICAgICAgZWxzaWYgKCRtYWNy byBlcSAnQUNfQ0FOT05JQ0FMX0hPU1QnKQoJewoJICBpZiAoJHNlZW5fY2Fub25pY2FsIDw9 IEFDX0NBTk9OSUNBTF9IT1NUKQoJICAgIHsKCSAgICAgICRzZWVuX2Nhbm9uaWNhbCA9IEFD X0NBTk9OSUNBTF9IT1NUOwoJICAgIH0KCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNf Q0FOT05JQ0FMX1RBUkdFVCcpCgl7CgkgICRzZWVuX2Nhbm9uaWNhbCA9IEFDX0NBTk9OSUNB TF9UQVJHRVQ7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FDX0NPTkZJR19BVVhfRElS JykKCXsKCSAgaWYgKCRzZWVuX2luaXRfYXV0b21ha2UpCgkgICAgewoJICAgICAgZXJyb3Ig KCR3aGVyZSwgIkFDX0NPTkZJR19BVVhfRElSIG11c3QgYmUgY2FsbGVkIGJlZm9yZSAiCgkJ ICAgICAuICJBTV9JTklUX0FVVE9NQUtFIC4uLiIsIHBhcnRpYWwgPT4gMSk7CgkgICAgICBl cnJvciAoJHNlZW5faW5pdF9hdXRvbWFrZSwgIi4uLiBBTV9JTklUX0FVVE9NQUtFIGNhbGxl ZCBoZXJlIik7CgkgICAgfQoJICAkY29uZmlnX2F1eF9kaXIgPSAkYXJnc1sxXTsKCSAgJGNv bmZpZ19hdXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMgPSAxOwoJICBjaGVja19kaXJlY3Rv cnkgKCRjb25maWdfYXV4X2RpciwgJHdoZXJlKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBl cSAnQUNfQ09ORklHX0ZJTEVTJykKCXsKCSAgIyBMb29rIGF0IHBvdGVudGlhbCBNYWtlZmls ZS5hbSdzLgoJICBzY2FuX2F1dG9jb25mX2NvbmZpZ19maWxlcyAoJHdoZXJlLCAkYXJnc1sx XSk7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FDX0NPTkZJR19IRUFERVJTJykKCXsK CSAgZm9yZWFjaCBteSAkc3BlYyAoc3BsaXQgKCcgJywgJGFyZ3NbMV0pKQoJICAgIHsKCSAg ICAgIG15ICgkZGVzdCwgQHNyYykgPSBzcGxpdCAoJzonLCAkc3BlYyk7CgkgICAgICAkYWNf Y29uZmlnX2ZpbGVzX2xvY2F0aW9ueyRkZXN0fSA9ICR3aGVyZTsKCSAgICAgIHB1c2ggQGNv bmZpZ19oZWFkZXJzLCAkc3BlYzsKCSAgICB9Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEg J0FDX0NPTkZJR19MSUJPQkpfRElSJykKCXsKCSAgJGNvbmZpZ19saWJvYmpfZGlyID0gJGFy Z3NbMV07CgkgIGNoZWNrX2RpcmVjdG9yeSAoJGNvbmZpZ19saWJvYmpfZGlyLCAkd2hlcmUp OwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DT05GSUdfTElOS1MnKQoJewoJICBm b3JlYWNoIG15ICRzcGVjIChzcGxpdCAoJyAnLCAkYXJnc1sxXSkpCgkgICAgewoJICAgICAg bXkgKCRkZXN0LCAkc3JjKSA9IHNwbGl0ICgnOicsICRzcGVjKTsKCSAgICAgICRhY19jb25m aWdfZmlsZXNfbG9jYXRpb257JGRlc3R9ID0gJHdoZXJlOwoJICAgICAgcHVzaCBAY29uZmln X2xpbmtzLCAkc3BlYzsKCSAgICB9Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FDX0ZD X1NSQ0VYVCcpCgl7CgkgIG15ICRzdWZmaXggPSAkYXJnc1sxXTsKCSAgIyBUaGVzZSBmbGFn cyBhcmUgdXNlZCBhcyAlU09VUkNFRkxBRyUgaW4gZGVwZW5kMi5hbSwKCSAgIyB3aGVyZSB0 aGUgdHJhaWxpbmcgc3BhY2UgaXMgaW1wb3J0YW50LgoJICAkc291cmNlZmxhZ3N7Jy4nIC4g JHN1ZmZpeH0gPSAnJChGQ0ZMQUdTXycgLiAkc3VmZml4IC4gJykgJwoJICAgIGlmICgkc3Vm Zml4IGVxICdmOTAnIHx8ICRzdWZmaXggZXEgJ2Y5NScgfHwgJHN1ZmZpeCBlcSAnZjAzJyB8 fCAkc3VmZml4IGVxICdmMDgnKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfSU5J VCcpCgl7CgkgIGlmIChkZWZpbmVkICRhcmdzWzJdKQoJICAgIHsKCSAgICAgICRwYWNrYWdl X3ZlcnNpb24gPSAkYXJnc1syXTsKCSAgICAgICRwYWNrYWdlX3ZlcnNpb25fbG9jYXRpb24g PSAkd2hlcmU7CgkgICAgfQoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19MSUJTT1VS Q0UnKQoJewoJICAkbGlic291cmNlc3skYXJnc1sxXX0gPSAkaGVyZTsKCX0KICAgICAgZWxz aWYgKCRtYWNybyBlcSAnQUNfUkVRVUlSRV9BVVhfRklMRScpCgl7CgkgICMgT25seSByZW1l bWJlciB0aGUgZmlyc3QgdGltZSBhIGZpbGUgaXMgcmVxdWlyZWQuCgkgICRyZXF1aXJlZF9h dXhfZmlsZXskYXJnc1sxXX0gPSAkd2hlcmUKCSAgICB1bmxlc3MgZXhpc3RzICRyZXF1aXJl ZF9hdXhfZmlsZXskYXJnc1sxXX07Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FDX1NV QlNUX1RSQUNFJykKCXsKCSAgIyBKdXN0IGNoZWNrIGZvciBhbHBoYW51bWVyaWMgaW4gQUNf U1VCU1RfVFJBQ0UuICBJZiB5b3UgZG8KCSAgIyBBQ19TVUJTVCg1KSwgdGhlbiB0b28gYmFk LgoJICAkY29uZmlndXJlX3ZhcnN7JGFyZ3NbMV19ID0gJHdoZXJlCgkgICAgaWYgJGFyZ3Nb MV0gPX4gL15cdyskLzsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fQVVUT01BS0Vf VkVSU0lPTicpCgl7CgkgIGVycm9yICgkd2hlcmUsCgkJICJ2ZXJzaW9uIG1pc21hdGNoLiAg VGhpcyBpcyBBdXRvbWFrZSAkVkVSU0lPTixcbiIgLgoJCSAiYnV0IHRoZSBkZWZpbml0aW9u IHVzZWQgYnkgdGhpcyBBTV9JTklUX0FVVE9NQUtFXG4iIC4KCQkgImNvbWVzIGZyb20gQXV0 b21ha2UgJGFyZ3NbMV0uICBZb3Ugc2hvdWxkIHJlY3JlYXRlXG4iIC4KCQkgImFjbG9jYWwu bTQgd2l0aCBhY2xvY2FsIGFuZCBydW4gYXV0b21ha2UgYWdhaW4uXG4iLAoJCSAjICQ/ID0g NjMgaXMgdXNlZCB0byBpbmRpY2F0ZSB2ZXJzaW9uIG1pc21hdGNoIHRvIG1pc3NpbmcuCgkJ IGV4aXRfY29kZSA9PiA2MykKCSAgICBpZiAkVkVSU0lPTiBuZSAkYXJnc1sxXTsKCgkgICRz ZWVuX2F1dG9tYWtlX3ZlcnNpb24gPSAxOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdB TV9QUk9HX01LRElSX1AnKQoJewoJICBtc2cgJ29ic29sZXRlJywgJHdoZXJlLCA8PCdFT0Yn OwpUaGUgJ0FNX1BST0dfTUtESVJfUCcgbWFjcm8gaXMgZGVwcmVjYXRlZCwgYW5kIGl0cyB1 c2UgaXMgZGlzY291cmFnZWQuCllvdSBzaG91bGQgdXNlIHRoZSBBdXRvY29uZi1wcm92aWRl ZCAnQUNfUFJPR19NS0RJUl9QJyBtYWNybyBpbnN0ZWFkLAphbmQgdXNlICckKE1LRElSX1Ap JyBpbnN0ZWFkIG9mICckKG1rZGlyX3ApJ2luIHlvdXIgTWFrZWZpbGUuYW0gZmlsZXMuCkVP RgoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBTV9DT05ESVRJT05BTCcpCgl7CgkgICRj b25maWd1cmVfY29uZHskYXJnc1sxXX0gPSAkd2hlcmU7Cgl9CiAgICAgIGVsc2lmICgkbWFj cm8gZXEgJ0FNX0VYVFJBX1JFQ1VSU0lWRV9UQVJHRVRTJykKCXsKICAgICAgICAgICMgRW1w dHkgbGVhZGluZy90cmFpbGluZyBmaWVsZHMgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3BsaXQs CiAgICAgICAgICAjIGhlbmNlIHRoZSBncmVwIGlzIHJlYWxseSBuZWVkZWQuCiAgICAgICAg ICBwdXNoIEBleHRyYV9yZWN1cnNpdmVfdGFyZ2V0cywKICAgICAgICAgICAgICAgZ3JlcCAo Ly4vLCAoc3BsaXQgL1xzKy8sICRhcmdzWzFdKSk7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8g ZXEgJ0FNX0dOVV9HRVRURVhUJykKCXsKCSAgJHNlZW5fZ2V0dGV4dCA9ICR3aGVyZTsKCSAg JGFjX2dldHRleHRfbG9jYXRpb24gPSAkd2hlcmU7CgkgICRzZWVuX2dldHRleHRfZXh0ZXJu YWwgPSBncmVwICgkXyBlcSAnZXh0ZXJuYWwnLCBAYXJncyk7Cgl9CiAgICAgIGVsc2lmICgk bWFjcm8gZXEgJ0FNX0dOVV9HRVRURVhUX0lOVExfU1VCRElSJykKCXsKCSAgJHNlZW5fZ2V0 dGV4dF9pbnRsID0gJHdoZXJlOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBTV9JTklU X0FVVE9NQUtFJykKCXsKCSAgJHNlZW5faW5pdF9hdXRvbWFrZSA9ICR3aGVyZTsKCSAgaWYg KGRlZmluZWQgJGFyZ3NbMl0pCgkgICAgewogICAgICAgICAgICAgIG1zZyAnb2Jzb2xldGUn LCAkd2hlcmUsIDw8J0VPRic7CkFNX0lOSVRfQVVUT01BS0U6IHR3by0gYW5kIHRocmVlLWFy Z3VtZW50cyBmb3JtcyBhcmUgZGVwcmVjYXRlZC4gIEZvciBtb3JlIGluZm8sIHNlZToKaHR0 cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFrZS9tYW51YWwvYXV0b21ha2UuaHRt bCNNb2Rlcm5pemUtQU1fMDA1ZklOSVRfMDA1ZkFVVE9NQUtFLWludm9jYXRpb24KRU9GCgkg ICAgICAkcGFja2FnZV92ZXJzaW9uID0gJGFyZ3NbMl07CgkgICAgICAkcGFja2FnZV92ZXJz aW9uX2xvY2F0aW9uID0gJHdoZXJlOwoJICAgIH0KCSAgZWxzaWYgKGRlZmluZWQgJGFyZ3Nb MV0pCgkgICAgewoJICAgICAgbXkgQG9wdHMgPSBzcGxpdCAoJyAnLCAkYXJnc1sxXSk7Cgkg ICAgICBAb3B0cyA9IG1hcCB7IHsgb3B0aW9uID0+ICRfLCB3aGVyZSA9PiAkd2hlcmUgfSB9 IEBvcHRzOwoJICAgICAgZXhpdCAkZXhpdF9jb2RlIHVubGVzcyBwcm9jZXNzX2dsb2JhbF9v cHRpb25fbGlzdCAoQG9wdHMpOwoJICAgIH0KCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAn QU1fTUFJTlRBSU5FUl9NT0RFJykKCXsKCSAgJHNlZW5fbWFpbnRfbW9kZSA9ICR3aGVyZTsK CX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fUFJPR19BUicpCgl7CgkgICRzZWVuX2Fy ID0gJHdoZXJlOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdfQU1fQ09ORF9JRicpCiAg ICAgICAgewoJICBjb25kX3N0YWNrX2lmICgnJywgJGFyZ3NbMV0sICR3aGVyZSk7CgkgIGVy cm9yICgkd2hlcmUsICJtaXNzaW5nIG00IHF1b3RpbmcsIG1hY3JvIGRlcHRoICRkZXB0aCIp CgkgICAgaWYgKCRkZXB0aCAhPSAxKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnX0FN X0NPTkRfRUxTRScpCiAgICAgICAgewoJICBjb25kX3N0YWNrX2Vsc2UgKCchJywgJGFyZ3Nb MV0sICR3aGVyZSk7CgkgIGVycm9yICgkd2hlcmUsICJtaXNzaW5nIG00IHF1b3RpbmcsIG1h Y3JvIGRlcHRoICRkZXB0aCIpCgkgICAgaWYgKCRkZXB0aCAhPSAxKTsKCX0KICAgICAgZWxz aWYgKCRtYWNybyBlcSAnX0FNX0NPTkRfRU5ESUYnKQogICAgICAgIHsKCSAgY29uZF9zdGFj a19lbmRpZiAodW5kZWYsIHVuZGVmLCAkd2hlcmUpOwoJICBlcnJvciAoJHdoZXJlLCAibWlz c2luZyBtNCBxdW90aW5nLCBtYWNybyBkZXB0aCAkZGVwdGgiKQoJICAgIGlmICgkZGVwdGgg IT0gMSk7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ19BTV9TVUJTVF9OT1RNQUtFJykK CXsKCSAgJGlnbm9yZWRfY29uZmlndXJlX3ZhcnN7JGFyZ3NbMV19ID0gJHdoZXJlOwoJfQog ICAgICBlbHNpZiAoJG1hY3JvIGVxICdtNF9pbmNsdWRlJwoJICAgICB8fCAkbWFjcm8gZXEg J200X3NpbmNsdWRlJwoJICAgICB8fCAkbWFjcm8gZXEgJ3NpbmNsdWRlJykKCXsKCSAgIyBT a2lwIG1pc3NpbmcgJ3NpbmNsdWRlJ2QgZmlsZXMuCgkgIG5leHQgaWYgJG1hY3JvIG5lICdt NF9pbmNsdWRlJyAmJiAhIC1mICRhcmdzWzFdOwoKCSAgIyBTb21lIG1vZGlmaWVkIHZlcnNp b25zIG9mIEF1dG9jb25mIGRvbid0IHVzZQoJICAjIGZyb3plbiBmaWxlcy4gIENvbnNlcXVl bnRseSBpdCdzIHBvc3NpYmxlIHRoYXQgd2Ugc2VlIGFsbAoJICAjIG00X2luY2x1ZGUncyBw ZXJmb3JtZWQgZHVyaW5nIEF1dG9jb25mJ3Mgc3RhcnR1cC4KCSAgIyBPYnZpb3VzbHkgd2Ug ZG9uJ3Qgd2FudCB0byBkaXN0cmlidXRlIEF1dG9jb25mJ3MgZmlsZXMKCSAgIyBzbyB3ZSBz a2lwIGFic29sdXRlIGZpbGVuYW1lcyBoZXJlLgoJICBwdXNoIEBjb25maWd1cmVfZGVwcywg JyQodG9wX3NyY2RpcikvJyAuICRhcmdzWzFdCgkgICAgdW5sZXNzICRoZXJlID1+IG0sXig/ Olx3Oik/W1xcL10sOwoJICAjIEtlZXAgdHJhY2sgb2YgdGhlIGdyZWF0ZXN0IHRpbWVzdGFt cC4KCSAgaWYgKC1lICRhcmdzWzFdKQoJICAgIHsKCSAgICAgIG15ICRtdGltZSA9IG10aW1l ICRhcmdzWzFdOwoJICAgICAgJGNvbmZpZ3VyZV9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcCA9 ICRtdGltZQoJCWlmICRtdGltZSA+ICRjb25maWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3Rh bXA7CgkgICAgfQoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdMVF9TVVBQT1JURURfVEFH JykKCXsKCSAgJGxpYnRvb2xfdGFnc3skYXJnc1sxXX0gPSAxOwoJICAkbGlidG9vbF9uZXdf YXBpID0gMTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnX0xUX0FDX1RBR0NPTkZJRycp Cgl7CgkgICMgX0xUX0FDX1RBR0NPTkZJRyBpcyBhbiBvbGQgbWFjcm8gcHJlc2VudCBpbiBM aWJ0b29sIDEuNS4KCSAgIyBXZSB1c2UgaXQgdG8gZGV0ZWN0IHdoZXRoZXIgdGFncyBhcmUg c3VwcG9ydGVkLiAgT3VyCgkgICMgcHJlZmVycmVkIGludGVyZmFjZSBpcyBMVF9TVVBQT1JU RURfVEFHLCBidXQgaXQgd2FzCgkgICMgaW50cm9kdWNlZCBpbiBMaWJ0b29sIDEuNi4KCSAg aWYgKDAgPT0ga2V5cyAlbGlidG9vbF90YWdzKQoJICAgIHsKCSAgICAgICMgSGFyZGNvZGUg dGhlIHRhZ3Mgc3VwcG9ydGVkIGJ5IExpYnRvb2wgMS41LgoJICAgICAgJWxpYnRvb2xfdGFn cyA9IChDQyA9PiAxLCBDWFggPT4gMSwgR0NKID0+IDEsIEY3NyA9PiAxKTsKCSAgICB9Cgl9 CiAgICB9CgogIGVycm9yICgkd2hlcmUsICJjb25kaXRpb24gc3RhY2sgbm90IHByb3Blcmx5 IGNsb3NlZCIpCiAgICBpZiAoQGNvbmRfc3RhY2spOwoKICAkdHJhY2VmaC0+Y2xvc2U7Cn0K CgojIENoZWNrIHdoZXRoZXIgd2UgdXNlICdjb25maWd1cmUuYWMnIG9yICdjb25maWd1cmUu aW4nLgojIFNjYW4gaXQgKGFuZCBwb3NzaWJseSAnYWNsb2NhbC5tNCcpIGZvciBpbnRlcmVz dGluZyB0aGluZ3MuCiMgV2UgbXVzdCBzY2FuIGFjbG9jYWwubTQgYmVjYXVzZSB0aGVyZSBt aWdodCBiZSBBQ19TVUJTVHMgYW5kIHN1Y2ggdGhlcmUuCnN1YiBzY2FuX2F1dG9jb25mX2Zp bGVzICgpCnsKICAjIFJlaW5pdGlhbGl6ZSBsaWJzb3VyY2VzIGhlcmUuICBUaGlzIGlzbid0 IHJlYWxseSBuZWNlc3NhcnksCiAgIyBzaW5jZSB3ZSBjdXJyZW50bHkgYXNzdW1lIHRoZXJl IGlzIG9ubHkgb25lIGNvbmZpZ3VyZS5hYy4gIEJ1dAogICMgdGhhdCB3b24ndCBhbHdheXMg YmUgdGhlIGNhc2UuCiAgJWxpYnNvdXJjZXMgPSAoKTsKCiAgIyBLZWVwIHRyYWNrIG9mIHRo ZSB5b3VuZ2VzdCBjb25maWd1cmUgZGVwZW5kZW5jeS4KICAkY29uZmlndXJlX2RlcHNfZ3Jl YXRlc3RfdGltZXN0YW1wID0gbXRpbWUgJGNvbmZpZ3VyZV9hYzsKICBpZiAoLWUgJ2FjbG9j YWwubTQnKQogICAgewogICAgICBteSAkbXRpbWUgPSBtdGltZSAnYWNsb2NhbC5tNCc7CiAg ICAgICRjb25maWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPSAkbXRpbWUKCWlmICRt dGltZSA+ICRjb25maWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3RhbXA7CiAgICB9CgogIHNj YW5fYXV0b2NvbmZfdHJhY2VzICgkY29uZmlndXJlX2FjKTsKCiAgQGNvbmZpZ3VyZV9pbnB1 dF9maWxlcyA9IHNvcnQga2V5cyAlbWFrZV9saXN0OwogICMgU2V0IGlucHV0IGFuZCBvdXRw dXQgZmlsZXMgaWYgbm90IHNwZWNpZmllZCBieSB1c2VyLgogIGlmICghIEBpbnB1dF9maWxl cykKICAgIHsKICAgICAgQGlucHV0X2ZpbGVzID0gQGNvbmZpZ3VyZV9pbnB1dF9maWxlczsK ICAgICAgJW91dHB1dF9maWxlcyA9ICVtYWtlX2xpc3Q7CiAgICB9CgoKICBpZiAoISAkc2Vl bl9pbml0X2F1dG9tYWtlKQogICAgewogICAgICBlcnJfYWMgKCJubyBwcm9wZXIgaW52b2Nh dGlvbiBvZiBBTV9JTklUX0FVVE9NQUtFIHdhcyBmb3VuZC5cbllvdSAiCgkgICAgICAuICJz aG91bGQgdmVyaWZ5IHRoYXQgJGNvbmZpZ3VyZV9hYyBpbnZva2VzIEFNX0lOSVRfQVVUT01B S0UsIgoJICAgICAgLiAiXG50aGF0IGFjbG9jYWwubTQgaXMgcHJlc2VudCBpbiB0aGUgdG9w LWxldmVsIGRpcmVjdG9yeSxcbiIKCSAgICAgIC4gImFuZCB0aGF0IGFjbG9jYWwubTQgd2Fz IHJlY2VudGx5IHJlZ2VuZXJhdGVkICIKCSAgICAgIC4gIih1c2luZyBhY2xvY2FsKSIpOwog ICAgfQogIGVsc2UKICAgIHsKICAgICAgaWYgKCEgJHNlZW5fYXV0b21ha2VfdmVyc2lvbikK CXsKCSAgaWYgKC1mICdhY2xvY2FsLm00JykKCSAgICB7CgkgICAgICBlcnJvciAoJHNlZW5f aW5pdF9hdXRvbWFrZSwKCQkgICAgICJ5b3VyIGltcGxlbWVudGF0aW9uIG9mIEFNX0lOSVRf QVVUT01BS0UgY29tZXMgZnJvbSAiIC4KCQkgICAgICJhblxub2xkIEF1dG9tYWtlIHZlcnNp b24uICBZb3Ugc2hvdWxkIHJlY3JlYXRlICIgLgoJCSAgICAgImFjbG9jYWwubTRcbndpdGgg YWNsb2NhbCBhbmQgcnVuIGF1dG9tYWtlIGFnYWluIiwKCQkgICAgICMgJD8gPSA2MyBpcyB1 c2VkIHRvIGluZGljYXRlIHZlcnNpb24gbWlzbWF0Y2ggdG8gbWlzc2luZy4KCQkgICAgIGV4 aXRfY29kZSA9PiA2Myk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgZXJyb3IgKCRz ZWVuX2luaXRfYXV0b21ha2UsCgkJICAgICAibm8gcHJvcGVyIGltcGxlbWVudGF0aW9uIG9m IEFNX0lOSVRfQVVUT01BS0Ugd2FzICIgLgoJCSAgICAgImZvdW5kLFxucHJvYmFibHkgYmVj YXVzZSBhY2xvY2FsLm00IGlzIG1pc3NpbmcuXG4iIC4KCQkgICAgICJZb3Ugc2hvdWxkIHJ1 biBhY2xvY2FsIHRvIGNyZWF0ZSB0aGlzIGZpbGUsIHRoZW5cbiIgLgoJCSAgICAgInJ1biBh dXRvbWFrZSBhZ2FpbiIpOwoJICAgIH0KCX0KICAgIH0KCiAgbG9jYXRlX2F1eF9kaXIgKCk7 CgogICMgTG9vayBmb3Igc29tZSBmaWxlcyB3ZSBuZWVkLiAgQWx3YXlzIGNoZWNrIGZvciB0 aGVzZS4gIFRoaXMKICAjIGNoZWNrIG11c3QgYmUgZG9uZSBmb3IgZXZlcnkgcnVuLCBldmVu IHRob3NlIHdoZXJlIHdlIGFyZSBvbmx5CiAgIyBsb29raW5nIGF0IGEgc3ViZGlyIE1ha2Vm aWxlLiAgV2UgbXVzdCBzZXQgcmVsYXRpdmVfZGlyIGZvcgogICMgcHVzaF9yZXF1aXJlZF9m aWxlIHRvIHdvcmsuCiAgIyBTb3J0IHRoZSBmaWxlcyBmb3Igc3RhYmxlIHZlcmJvc2Ugb3V0 cHV0LgogICRyZWxhdGl2ZV9kaXIgPSAnLic7CiAgZm9yZWFjaCBteSAkZmlsZSAoc29ydCBr ZXlzICVyZXF1aXJlZF9hdXhfZmlsZSkKICAgIHsKICAgICAgcmVxdWlyZV9jb25mX2ZpbGUg KCRyZXF1aXJlZF9hdXhfZmlsZXskZmlsZX0tPmdldCwgRk9SRUlHTiwgJGZpbGUpCiAgICB9 CiAgZXJyX2FtICInaW5zdGFsbC5zaCcgaXMgYW4gYW5hY2hyb25pc207IHVzZSAnaW5zdGFs bC1zaCcgaW5zdGVhZCIKICAgIGlmIC1mICRjb25maWdfYXV4X2RpciAuICcvaW5zdGFsbC5z aCc7CgogICMgUHJlc2VydmUgZGlzdF9jb21tb24gZm9yIGxhdGVyLgogIEBjb25maWd1cmVf ZGlzdF9jb21tb24gPSBAZGlzdF9jb21tb247Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgRG8gYW55IGV4 dHJhIGNoZWNraW5nIGZvciBHTlUgc3RhbmRhcmRzLgpzdWIgY2hlY2tfZ251X3N0YW5kYXJk cyAoKQp7CiAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nKQogICAgewogICAgICAjIEluIHRv cCBsZXZlbCAob3Igb25seSkgZGlyZWN0b3J5LgogICAgICByZXF1aXJlX2ZpbGUgKCIkYW1f ZmlsZS5hbSIsIEdOVSwKCQkgICAgcXcvSU5TVEFMTCBORVdTIFJFQURNRSBBVVRIT1JTIENo YW5nZUxvZy8pOwoKICAgICAgIyBBY2NlcHQgb25lIG9mIHRoZXNlIHRocmVlIGxpY2Vuc2Vz OyBkZWZhdWx0IHRvIENPUFlJTkcuCiAgICAgICMgTWFrZSBzdXJlIHdlIGRvIG5vdCBvdmVy d3JpdGUgYW4gZXhpc3RpbmcgbGljZW5zZS4KICAgICAgbXkgJGxpY2Vuc2U7CiAgICAgIGZv cmVhY2ggKHF3IC9DT1BZSU5HIENPUFlJTkcuTElCIENPUFlJTkcuTEVTU0VSLykKCXsKCSAg aWYgKC1mICRfKQoJICAgIHsKCSAgICAgICRsaWNlbnNlID0gJF87CgkgICAgICBsYXN0OwoJ ICAgIH0KCX0KICAgICAgcmVxdWlyZV9maWxlICgiJGFtX2ZpbGUuYW0iLCBHTlUsICdDT1BZ SU5HJykKCXVubGVzcyAkbGljZW5zZTsKICAgIH0KCiAgZm9yIG15ICRvcHQgKCduby1pbnN0 YWxsbWFuJywgJ25vLWluc3RhbGxpbmZvJykKICAgIHsKICAgICAgbXNnICgnZXJyb3ItZ251 Jywgb3B0aW9uICRvcHQsCgkgICAib3B0aW9uICckb3B0JyBkaXNhbGxvd2VkIGJ5IEdOVSBz dGFuZGFyZHMiKQoJaWYgb3B0aW9uICRvcHQ7CiAgICB9Cn0KCiMgRG8gYW55IGV4dHJhIGNo ZWNraW5nIGZvciBHTklUUyBzdGFuZGFyZHMuCnN1YiBjaGVja19nbml0c19zdGFuZGFyZHMg KCkKewogIGlmICgkcmVsYXRpdmVfZGlyIGVxICcuJykKICAgIHsKICAgICAgIyBJbiB0b3Ag bGV2ZWwgKG9yIG9ubHkpIGRpcmVjdG9yeS4KICAgICAgcmVxdWlyZV9maWxlICgiJGFtX2Zp bGUuYW0iLCBHTklUUywgJ1RIQU5LUycpOwogICAgfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBGdW5j dGlvbnMgdG8gaGFuZGxlIGZpbGVzIG9mIGVhY2ggbGFuZ3VhZ2UuCgojIEVhY2ggJ2xhbmdf WF9yZXdyaXRlKCRESVJFQ1RPUlksICRCQVNFLCAkRVhUKScgZnVuY3Rpb24gZm9sbG93cyBh CiMgc2ltcGxlIGZvcm11bGE6IFJldHVybiB2YWx1ZSBpcyBMQU5HX1NVQkRJUiBpZiB0aGUg cmVzdWx0aW5nIG9iamVjdAojIGZpbGUgc2hvdWxkIGJlIGluIGEgc3ViZGlyIGlmIHRoZSBz b3VyY2UgZmlsZSBpcywgTEFOR19QUk9DRVNTIGlmCiMgZmlsZSBpcyB0byBiZSBkZWFsdCB3 aXRoLCBMQU5HX0lHTk9SRSBvdGhlcndpc2UuCgojIE11Y2ggb2YgdGhlIGFjdHVhbCBwcm9j ZXNzaW5nIGlzIGhhbmRsZWQgaW4KIyBoYW5kbGVfc2luZ2xlX3RyYW5zZm9ybS4gIFRoZXNl IGZ1bmN0aW9ucyBleGlzdCBzbyB0aGF0CiMgYXV4aWxpYXJ5IGluZm9ybWF0aW9uIGNhbiBi ZSByZWNvcmRlZCBmb3IgYSBsYXRlciBjbGVhbnVwIHBhc3MuCiMgTm90ZSB0aGF0IHRoZSBj YWxscyB0byB0aGVzZSBmdW5jdGlvbnMgYXJlIGNvbXB1dGVkLCBzbyBkb24ndCBib3RoZXIK IyBzZWFyY2hpbmcgZm9yIHRoZWlyIHByZWNpc2UgbmFtZXMgaW4gdGhlIHNvdXJjZS4KCiMg VGhpcyBpcyBqdXN0IGEgY29udmVuaWVuY2UgZnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCB0 byBkZXRlcm1pbmUKIyB3aGVuIGEgc3ViZGlyIG9iamVjdCBzaG91bGQgYmUgdXNlZC4Kc3Vi IGxhbmdfc3ViX29iaiAoKQp7CiAgICByZXR1cm4gb3B0aW9uICdzdWJkaXItb2JqZWN0cycg PyBMQU5HX1NVQkRJUiA6IExBTkdfUFJPQ0VTUzsKfQoKIyBSZXdyaXRlIGEgc2luZ2xlIGhl YWRlciBmaWxlLgpzdWIgbGFuZ19oZWFkZXJfcmV3cml0ZQp7CiAgICAjIEhlYWRlciBmaWxl cyBhcmUgc2ltcGx5IGlnbm9yZWQuCiAgICByZXR1cm4gTEFOR19JR05PUkU7Cn0KCiMgUmV3 cml0ZSBhIHNpbmdsZSBWYWxhIHNvdXJjZSBmaWxlLgpzdWIgbGFuZ192YWxhX3Jld3JpdGUK ewogICAgbXkgKCRkaXJlY3RvcnksICRiYXNlLCAkZXh0KSA9IEBfOwoKICAgIChteSAkbmV3 ZXh0ID0gJGV4dCkgPX4gcy92YWxhJC9jLzsKICAgIHJldHVybiAoTEFOR19TVUJESVIsICRu ZXdleHQpOwp9CgojIFJld3JpdGUgYSBzaW5nbGUgeWFjYy95YWNjKysgZmlsZS4Kc3ViIGxh bmdfeWFjY19yZXdyaXRlCnsKICAgIG15ICgkZGlyZWN0b3J5LCAkYmFzZSwgJGV4dCkgPSBA XzsKCiAgICBteSAkciA9IGxhbmdfc3ViX29iajsKICAgIChteSAkbmV3ZXh0ID0gJGV4dCkg PX4gdHIveS9jLzsKICAgIHJldHVybiAoJHIsICRuZXdleHQpOwp9CnN1YiBsYW5nX3lhY2N4 eF9yZXdyaXRlIHsgbGFuZ195YWNjX3Jld3JpdGUgKEBfKTsgfTsKCiMgUmV3cml0ZSBhIHNp bmdsZSBsZXgvbGV4KysgZmlsZS4Kc3ViIGxhbmdfbGV4X3Jld3JpdGUKewogICAgbXkgKCRk aXJlY3RvcnksICRiYXNlLCAkZXh0KSA9IEBfOwoKICAgIG15ICRyID0gbGFuZ19zdWJfb2Jq OwogICAgKG15ICRuZXdleHQgPSAkZXh0KSA9fiB0ci9sL2MvOwogICAgcmV0dXJuICgkciwg JG5ld2V4dCk7Cn0Kc3ViIGxhbmdfbGV4eHhfcmV3cml0ZSB7IGxhbmdfbGV4X3Jld3JpdGUg KEBfKTsgfTsKCiMgUmV3cml0ZSBhIHNpbmdsZSBKYXZhIGZpbGUuCnN1YiBsYW5nX2phdmFf cmV3cml0ZQp7CiAgICByZXR1cm4gTEFOR19TVUJESVI7Cn0KCiMgVGhlIGxhbmdfWF9maW5p c2ggZnVuY3Rpb25zIGFyZSBjYWxsZWQgYWZ0ZXIgYWxsIHNvdXJjZSBmaWxlCiMgcHJvY2Vz c2luZyBpcyBkb25lLiAgRWFjaCBzaG91bGQgaGFuZGxlIGRlZmluaW5nIHJ1bGVzIGZvciB0 aGUKIyBsYW5ndWFnZSwgZXRjLiAgQSBmaW5pc2ggZnVuY3Rpb24gaXMgb25seSBjYWxsZWQg aWYgYSBzb3VyY2UgZmlsZSBvZgojIHRoZSBhcHByb3ByaWF0ZSB0eXBlIGhhcyBiZWVuIHNl ZW4uCgpzdWIgbGFuZ192YWxhX2ZpbmlzaF90YXJnZXQKewogIG15ICgkc2VsZiwgJG5hbWUp ID0gQF87CgogIG15ICRkZXJpdmVkID0gY2Fub25pY2FsaXplICgkbmFtZSk7CiAgbXkgJHZh ciA9IHZhciAiJHtkZXJpdmVkfV9TT1VSQ0VTIjsKICByZXR1cm4gdW5sZXNzICR2YXI7Cgog IG15IEB2YWxhX3NvdXJjZXMgPSBncmVwIHsgL1wuKHZhbGF8dmFwaSkkLyB9ICgkdmFyLT52 YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSk7CgogICMgRm9yIGF1dG9tYWtlIGJ1ZyMxMTIyOS4K ICByZXR1cm4gdW5sZXNzIEB2YWxhX3NvdXJjZXM7CgogIGZvcmVhY2ggbXkgJHZhbGFfZmls ZSAoQHZhbGFfc291cmNlcykKICAgIHsKICAgICAgbXkgJGNfZmlsZSA9ICR2YWxhX2ZpbGU7 CiAgICAgIGlmICgkY19maWxlID1+IHMvKC4qKVwudmFsYSQvJDEuYy8pCiAgICAgICAgewog ICAgICAgICAgJGNfZmlsZSA9ICJcJChzcmNkaXIpLyRjX2ZpbGUiOwogICAgICAgICAgJG91 dHB1dF9ydWxlcyAuPSAiJGNfZmlsZTogXCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3Rh bXBcbiIKICAgICAgICAgICAgLiAiXHRcQGlmIHRlc3QgLWYgXCRAOyB0aGVuIDo7IGVsc2Ug cm0gLWYgXCQoc3JjZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3RhbXA7IGZpXG4iCiAgICAgICAg ICAgIC4gIlx0XEBpZiB0ZXN0IC1mIFwkQDsgdGhlbiA6OyBlbHNlIFxcXG4iCiAgICAgICAg ICAgIC4gIlx0ICBcJChNQUtFKSBcJChBTV9NQUtFRkxBR1MpIFwkKHNyY2RpcikvJHtkZXJp dmVkfV92YWxhLnN0YW1wOyBcXFxuIgogICAgICAgICAgICAuICJcdGZpXG4iOwoJICAkY2xl YW5fZmlsZXN7JGNfZmlsZX0gPSBNQUlOVEFJTkVSX0NMRUFOOwogICAgICAgIH0KICAgIH0K CiAgIyBBZGQgcmVidWlsZCBydWxlcyBmb3IgZ2VuZXJhdGVkIGhlYWRlciBhbmQgdmFwaSBm aWxlcwogIG15ICRmbGFncyA9IHZhciAoJGRlcml2ZWQgLiAnX1ZBTEFGTEFHUycpOwogIGlm ICgkZmxhZ3MpCiAgICB7CiAgICAgIG15ICRsYXN0ZmxhZyA9ICcnOwogICAgICBmb3JlYWNo IG15ICRmbGFnICgkZmxhZ3MtPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlKQoJewoJICBpZiAo Z3JlcCAoLyRsYXN0ZmxhZy8sICgnLUgnLCAnLWgnLCAnLS1oZWFkZXInLCAnLS1pbnRlcm5h bC1oZWFkZXInLAoJICAgICAgICAgICAgICAgICAgICAgICAgICAnLS12YXBpJywgJy0taW50 ZXJuYWwtdmFwaScsICctLWdpcicpKSkKCSAgICB7CgkgICAgICBteSAkaGVhZGVyZmlsZSA9 ICJcJChzcmNkaXIpLyRmbGFnIjsKCSAgICAgICRvdXRwdXRfcnVsZXMgLj0gIiRoZWFkZXJm aWxlOiBcJChzcmNkaXIpLyR7ZGVyaXZlZH1fdmFsYS5zdGFtcFxuIgoJCS4gIlx0XEBpZiB0 ZXN0IC1mIFwkQDsgdGhlbiA6OyBlbHNlIHJtIC1mIFwkKHNyY2RpcikvJHtkZXJpdmVkfV92 YWxhLnN0YW1wOyBmaVxuIgoJCS4gIlx0XEBpZiB0ZXN0IC1mIFwkQDsgdGhlbiA6OyBlbHNl IFxcXG4iCgkJLiAiXHQgIFwkKE1BS0UpIFwkKEFNX01BS0VGTEFHUykgXCQoc3JjZGlyKS8k e2Rlcml2ZWR9X3ZhbGEuc3RhbXA7IFxcXG4iCgkJLiAiXHRmaVxuIjsKCgkgICAgICAjIHZh bGFjIGlzIG5vdCB1c2VkIHdoZW4gYnVpbGRpbmcgZnJvbSBkaXN0IHRhcmJhbGxzCgkgICAg ICAjIGRpc3RyaWJ1dGUgdGhlIGdlbmVyYXRlZCBmaWxlcwoJICAgICAgcHVzaF9kaXN0X2Nv bW1vbiAoJGhlYWRlcmZpbGUpOwoJICAgICAgJGNsZWFuX2ZpbGVzeyRoZWFkZXJmaWxlfSA9 IE1BSU5UQUlORVJfQ0xFQU47CgkgICAgfQoJICAkbGFzdGZsYWcgPSAkZmxhZzsKCX0KICAg IH0KCiAgbXkgJGNvbXBpbGUgPSAkc2VsZi0+Y29tcGlsZTsKCiAgIyBSZXdyaXRlIGVhY2gg b2NjdXJyZW5jZSBvZiAnQU1fVkFMQUZMQUdTJyBpbiB0aGUgY29tcGlsZQogICMgcnVsZSBp bnRvICcke2Rlcml2ZWR9X1ZBTEFGTEFHUycgaWYgaXQgZXhpc3RzLgogIG15ICR2YWwgPSAi JHtkZXJpdmVkfV9WQUxBRkxBR1MiOwogICRjb21waWxlID1+IHMvXChBTV9WQUxBRkxBR1Nc KS9cKCR2YWxcKS8KICAgIGlmIHNldF9zZWVuICgkdmFsKTsKCiAgIyBWQUxBRkxBR1MgaXMg YSB1c2VyIHZhcmlhYmxlIChwZXIgR05VIFN0YW5kYXJkcyksCiAgIyBpdCBzaG91bGQgbm90 IGJlIG92ZXJyaWRkZW4gaW4gdGhlIE1ha2VmaWxlLi4uCiAgY2hlY2tfdXNlcl92YXJpYWJs ZXMgJ1ZBTEFGTEFHUyc7CgogIG15ICRkaXJuYW1lID0gZGlybmFtZSAoJG5hbWUpOwoKICAj IE9ubHkgZ2VuZXJhdGUgQyBjb2RlLCBkbyBub3QgcnVuIEMgY29tcGlsZXIKICAkY29tcGls ZSAuPSAiIC1DIjsKCiAgbXkgJHZlcmJvc2UgPSB2ZXJib3NlX2ZsYWcgKCdWQUxBQycpOwog IG15ICRzaWxlbnQgPSBzaWxlbnRfZmxhZyAoKTsKICBteSAkc3RhbXBmaWxlID0gIlwkKHNy Y2RpcikvJHtkZXJpdmVkfV92YWxhLnN0YW1wIjsKCiAgJG91dHB1dF9ydWxlcyAuPQogICAg IlwkKHNyY2RpcikvJHtkZXJpdmVkfV92YWxhLnN0YW1wOiBAdmFsYV9zb3VyY2VzXG4iLgoj IFNpbmNlIHRoZSBDIGZpbGVzIGdlbmVyYXRlZCBmcm9tIHRoZSB2YWxhIHNvdXJjZXMgZGVw ZW5kIG9uIHRoZQojICR7ZGVyaXZlZH1fdmFsYS5zdGFtcCBmaWxlLCB3ZSBtdXN0IGVuc3Vy ZSBpdHMgdGltZXN0YW1wIGlzIG9sZGVyIHRoYW4KIyB0aG9zZSBvZiB0aGUgQyBmaWxlcyBn ZW5lcmF0ZWQgYnkgdGhlIHZhbGFjIGludm9jYXRpb24gYmVsb3cgKHRoaXMgaXMKIyBlc3Bl Y2lhbGx5IGltcG9ydGFudCBvbiBzeXN0ZW1zIHdpdGggc3ViLXNlY29uZCB0aW1lc3RhbXAg cmVzb2x1dGlvbikuCiMgVGh1cyB3ZSBuZWVkIHRvIGNyZWF0ZSB0aGUgc3RhbXAgZmlsZSAq YmVmb3JlKiBpbnZva2luZyB2YWxhYywgYW5kIHRvCiMgbW92ZSBpdCB0byBpdHMgZmluYWwg bG9jYXRpb24gb25seSBhZnRlciB2YWxhYyBoYXMgYmVlbiBpbnZva2VkLgogICAgIlx0JHtz aWxlbnR9cm0gLWYgXCRcQCAmJiBlY2hvIHN0YW1wID4gXCRcQC10XG4iLgogICAgIlx0JHt2 ZXJib3NlfVwkKGFtX19jZCkgXCQoc3JjZGlyKSAmJiAkY29tcGlsZSBAdmFsYV9zb3VyY2Vz XG4iLgogICAgIlx0JHtzaWxlbnR9bXYgLWYgXCRcQC10IFwkXEBcbiI7CgogIHB1c2hfZGlz dF9jb21tb24gKCRzdGFtcGZpbGUpOwoKICAkY2xlYW5fZmlsZXN7JHN0YW1wZmlsZX0gPSBN QUlOVEFJTkVSX0NMRUFOOwp9CgojIEFkZCBvdXRwdXQgcnVsZXMgdG8gaW52b2tlIHZhbGFj IGFuZCBjcmVhdGUgc3RhbXAgZmlsZSBhcyBhIHdpdG5lc3MKIyB0byBoYW5kbGUgbXVsdGlw bGUgb3V0cHV0cy4gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYWZ0ZXIgYWxsIHNvdXJjZQoj IGZpbGUgcHJvY2Vzc2luZyBpcyBkb25lLgpzdWIgbGFuZ192YWxhX2ZpbmlzaCAoKQp7CiAg bXkgKCRzZWxmKSA9IEBfOwoKICBmb3JlYWNoIG15ICRwcm9nIChrZXlzICVrbm93bl9wcm9n cmFtcykKICAgIHsKICAgICAgbGFuZ192YWxhX2ZpbmlzaF90YXJnZXQgKCRzZWxmLCAkcHJv Zyk7CiAgICB9CgogIHdoaWxlIChteSAoJG5hbWUpID0gZWFjaCAla25vd25fbGlicmFyaWVz KQogICAgewogICAgICBsYW5nX3ZhbGFfZmluaXNoX3RhcmdldCAoJHNlbGYsICRuYW1lKTsK ICAgIH0KfQoKIyBUaGUgYnVpbHQgLmMgZmlsZXMgc2hvdWxkIGJlIGNsZWFuZWQgb25seSBv biBtYWludGFpbmVyLWNsZWFuCiMgYXMgdGhlIC5jIGZpbGVzIGFyZSBkaXN0cmlidXRlZC4g VGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZm9yIGVhY2gKIyAudmFsYSBzb3VyY2UgZmlsZS4K c3ViIGxhbmdfdmFsYV90YXJnZXRfaG9vawp7CiAgbXkgKCRzZWxmLCAkYWdncmVnYXRlLCAk b3V0cHV0LCAkaW5wdXQsICV0cmFuc2Zvcm0pID0gQF87CgogICRjbGVhbl9maWxlc3skb3V0 cHV0fSA9IE1BSU5UQUlORVJfQ0xFQU47Cn0KCiMgVGhpcyBpcyBhIHlhY2MgaGVscGVyIHdo aWNoIGlzIGNhbGxlZCB3aGVuZXZlciB3ZSBoYXZlIGRlY2lkZWQgdG8KIyBjb21waWxlIGEg eWFjYyBmaWxlLgpzdWIgbGFuZ195YWNjX3RhcmdldF9ob29rCnsKICAgIG15ICgkc2VsZiwg JGFnZ3JlZ2F0ZSwgJG91dHB1dCwgJGlucHV0LCAldHJhbnNmb3JtKSA9IEBfOwoKICAgICMg SWYgc29tZSByZWxldmFudCAqWUZMQUdTIHZhcmlhYmxlIGNvbnRhaW5zIHRoZSAnLWQnIGZs YWcsIHdlJ2xsCiAgICAjIGhhdmUgdG8gdG8gZ2VuZXJhdGUgc3BlY2lhbCBjb2RlLgogICAg bXkgJHlmbGFnc19jb250YWluc19taW51c19kID0gMDsKCiAgICBmb3JlYWNoIG15ICRwZngg KCIiLCAiJHthZ2dyZWdhdGV9XyIpCiAgICAgIHsKCW15ICR5ZmxhZ3N2YXIgPSB2YXIgKCIk e3BmeH1ZRkxBR1MiKTsKCW5leHQgdW5sZXNzICR5ZmxhZ3N2YXI7CgkjIFdlIGNhbm5vdCB3 b3JrIHJlbGlhYmx5IHdpdGggY29uZGl0aW9uYWxseS1kZWZpbmVkIFlGTEFHUy4KCWlmICgk eWZsYWdzdmFyLT5oYXNfY29uZGl0aW9uYWxfY29udGVudHMpCgkgIHsKCSAgICBtc2dfdmFy ICgndW5zdXBwb3J0ZWQnLCAkeWZsYWdzdmFyLAoJICAgICAgICAgICAgICInJHtwZnh9WUZM QUdTJyBjYW5ub3QgaGF2ZSBjb25kaXRpb25hbCBjb250ZW50cyIpOwoJICB9CgllbHNlCgkg IHsKCSAgICAkeWZsYWdzX2NvbnRhaW5zX21pbnVzX2QgPSAxCgkgICAgICBpZiBncmVwICgv Xi1kJC8sICR5ZmxhZ3N2YXItPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlKTsKCSAgfQogICAg ICB9CgogICAgaWYgKCR5ZmxhZ3NfY29udGFpbnNfbWludXNfZCkKICAgICAgewoJIyBGb3Vu ZCBhICctZCcgdGhhdCBhcHBsaWVzIHRvIHRoZSBjb21waWxhdGlvbiBvZiB0aGlzIGZpbGUu CgkjIEFkZCBhIGRlcGVuZGVuY3kgZm9yIHRoZSBnZW5lcmF0ZWQgaGVhZGVyIGZpbGUsIGFu ZCBhcnJhbmdlCgkjIGZvciB0aGF0IGZpbGUgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGRpc3Ry aWJ1dGlvbi4KCgkjIFRoZSBleHRlbnNpb24gb2YgdGhlIG91dHB1dCBmaWxlIChlLmcuLCAn LmMnIG9yICcuY3h4JykuCgkjIFdlJ2xsIG5lZWQgaXQgdG8gY29tcHV0ZSB0aGUgbmFtZSBv ZiB0aGUgZ2VuZXJhdGVkIGhlYWRlciBmaWxlLgoJKG15ICRvdXRwdXRfZXh0ID0gYmFzZW5h bWUgKCRvdXRwdXQpKSA9fiBzLy4qKFwuW14uXSspJC8kMS87CgoJIyBXZSBrbm93IHRoYXQg YSB5YWNjIGlucHV0IHNob3VsZCBiZSB0dXJuZWQgaW50byBlaXRoZXIgYSBDIG9yCgkjIEMr KyBvdXRwdXQgZmlsZS4gIFdlIGRlcGVuZCBvbiB0aGlzIGZhY3QgKGhlcmUgYW5kIGluIHlh Y2MuYW0pLAoJIyBzbyBjaGVjayB0aGF0IGl0IHJlYWxseSBob2xkcy4KCW15ICRsYW5nID0g JGxhbmd1YWdlc3skZXh0ZW5zaW9uX21hcHskb3V0cHV0X2V4dH19OwoJcHJvZ19lcnJvciAi aW52YWxpZCBvdXRwdXQgbmFtZSAnJG91dHB1dCcgZm9yIHlhY2MgZmlsZSAnJGlucHV0JyIK CSAgaWYgKCEkbGFuZyB8fCAoJGxhbmctPm5hbWUgbmUgJ2MnICYmICRsYW5nLT5uYW1lIG5l ICdjeHgnKSk7CgoJKG15ICRoZWFkZXJfZXh0ID0gJG91dHB1dF9leHQpID1+IHMvYy9oL2c7 CiAgICAgICAgIyBRdW90ZSAkb3V0cHV0X2V4dCBpbiB0aGUgcmVnZXhwLCBzbyB0aGF0IGRv dHMgaW4gaXQgYXJlIHRha2VuCiAgICAgICAgIyBhcyBsaXRlcmFsIGRvdHMsIG5vdCBhcyBt ZXRhY2hhcmFjdGVycy4KCShteSAkaGVhZGVyID0gJG91dHB1dCkgPX4gcy9cUSRvdXRwdXRf ZXh0XEUkLyRoZWFkZXJfZXh0LzsKCglmb3JlYWNoIG15ICRjb25kIChBdXRvbWFrZTo6UnVs ZTo6ZGVmaW5lICgke2hlYWRlcn0sICdpbnRlcm5hbCcsCgkJCQkJCSAgUlVMRV9BVVRPTUFL RSwgVFJVRSwKCQkJCQkJICBJTlRFUk5BTCkpCgkgIHsKCSAgICBteSAkY29uZHN0ciA9ICRj b25kLT5zdWJzdF9zdHJpbmc7CgkgICAgJG91dHB1dF9ydWxlcyAuPQoJICAgICAgIiRjb25k c3RyJHtoZWFkZXJ9OiAkb3V0cHV0XG4iCgkgICAgICAjIFJlY292ZXIgZnJvbSByZW1vdmFs IG9mICRoZWFkZXIKCSAgICAgIC4gIiRjb25kc3RyXHRcQGlmIHRlc3QgISAtZiBcJEA7IHRo ZW4gcm0gLWYgJG91dHB1dDsgZWxzZSA6OyBmaVxuIgoJICAgICAgLiAiJGNvbmRzdHJcdFxA aWYgdGVzdCAhIC1mIFwkQDsgdGhlbiBcJChNQUtFKSBcJChBTV9NQUtFRkxBR1MpICRvdXRw dXQ7IGVsc2UgOjsgZmlcbiI7CgkgIH0KCSMgRGlzdHJpYnV0ZSB0aGUgZ2VuZXJhdGVkIGZp bGUsIHVubGVzcyBpdHMgLnkgc291cmNlIHdhcwoJIyBsaXN0ZWQgaW4gYSBub2Rpc3RfIHZh cmlhYmxlLiAgKGhhbmRsZV9zb3VyY2VfdHJhbnNmb3JtKCkKCSMgd2lsbCBzZXQgRElTVF9T T1VSQ0UuKQoJcHVzaF9kaXN0X2NvbW1vbiAoJGhlYWRlcikKCSAgaWYgJHRyYW5zZm9ybXsn RElTVF9TT1VSQ0UnfTsKCgkjIFRoZSBHTlUgcnVsZXMgc2F5IHRoYXQgeWFjYy9sZXggb3V0 cHV0IGZpbGVzIHNob3VsZCBiZSByZW1vdmVkCgkjIGJ5IG1haW50YWluZXItY2xlYW4uICBI b3dldmVyLCBpZiB0aGUgZmlsZXMgYXJlIG5vdCBkaXN0cmlidXRlZCwKCSMgdGhlbiB3ZSB3 YW50IHRvIHJlbW92ZSB0aGVtIHdpdGggIm1ha2UgY2xlYW4iOyBvdGhlcndpc2UsCgkjICJt YWtlIGRpc3RjaGVjayIgd2lsbCBmYWlsLgoJJGNsZWFuX2ZpbGVzeyRoZWFkZXJ9ID0gJHRy YW5zZm9ybXsnRElTVF9TT1VSQ0UnfSA/IE1BSU5UQUlORVJfQ0xFQU4gOiBDTEVBTjsKICAg ICAgfQogICAgIyBTZWUgdGhlIGNvbW1lbnQgYWJvdmUgZm9yICRIRUFERVIuCiAgICAkY2xl YW5fZmlsZXN7JG91dHB1dH0gPSAkdHJhbnNmb3JteydESVNUX1NPVVJDRSd9ID8gTUFJTlRB SU5FUl9DTEVBTiA6IENMRUFOOwp9CgojIFRoaXMgaXMgYSBsZXggaGVscGVyIHdoaWNoIGlz IGNhbGxlZCB3aGVuZXZlciB3ZSBoYXZlIGRlY2lkZWQgdG8KIyBjb21waWxlIGEgbGV4IGZp bGUuCnN1YiBsYW5nX2xleF90YXJnZXRfaG9vawp7CiAgICBteSAoJHNlbGYsICRhZ2dyZWdh dGUsICRvdXRwdXQsICRpbnB1dCwgJXRyYW5zZm9ybSkgPSBAXzsKICAgICMgVGhlIEdOVSBy dWxlcyBzYXkgdGhhdCB5YWNjL2xleCBvdXRwdXQgZmlsZXMgc2hvdWxkIGJlIHJlbW92ZWQK ICAgICMgYnkgbWFpbnRhaW5lci1jbGVhbi4gIEhvd2V2ZXIsIGlmIHRoZSBmaWxlcyBhcmUg bm90IGRpc3RyaWJ1dGVkLAogICAgIyB0aGVuIHdlIHdhbnQgdG8gcmVtb3ZlIHRoZW0gd2l0 aCAibWFrZSBjbGVhbiI7IG90aGVyd2lzZSwKICAgICMgIm1ha2UgZGlzdGNoZWNrIiB3aWxs IGZhaWwuCiAgICAkY2xlYW5fZmlsZXN7JG91dHB1dH0gPSAkdHJhbnNmb3JteydESVNUX1NP VVJDRSd9ID8gTUFJTlRBSU5FUl9DTEVBTiA6IENMRUFOOwp9CgojIFRoaXMgaXMgYSBoZWxw ZXIgZm9yIGJvdGggbGV4IGFuZCB5YWNjLgpzdWIgeWFjY19sZXhfZmluaXNoX2hlbHBlciAo KQp7CiAgcmV0dXJuIGlmIGRlZmluZWQgJGxhbmd1YWdlX3NjcmF0Y2h7J2xleC15YWNjLWRv bmUnfTsKICAkbGFuZ3VhZ2Vfc2NyYXRjaHsnbGV4LXlhY2MtZG9uZSd9ID0gMTsKCiAgIyBG SVhNRTogZm9yIG5vdywgbm8gbGluZSBudW1iZXIuCiAgcmVxdWlyZV9jb25mX2ZpbGUgKCRj b25maWd1cmVfYWMsIEZPUkVJR04sICd5bHdyYXAnKTsKICBkZWZpbmVfdmFyaWFibGUgKCdZ TFdSQVAnLCAiJGFtX2NvbmZpZ19hdXhfZGlyL3lsd3JhcCIsIElOVEVSTkFMKTsKfQoKc3Vi IGxhbmdfeWFjY19maW5pc2ggKCkKewogIHJldHVybiBpZiBkZWZpbmVkICRsYW5ndWFnZV9z Y3JhdGNoeyd5YWNjLWRvbmUnfTsKICAkbGFuZ3VhZ2Vfc2NyYXRjaHsneWFjYy1kb25lJ30g PSAxOwoKICByZWplY3RfdmFyICdZQUNDRkxBR1MnLCAiJ1lBQ0NGTEFHUycgb2Jzb2xldGU7 IHVzZSAnWUZMQUdTJyBpbnN0ZWFkIjsKCiAgeWFjY19sZXhfZmluaXNoX2hlbHBlcjsKfQoK CnN1YiBsYW5nX2xleF9maW5pc2ggKCkKewogIHJldHVybiBpZiBkZWZpbmVkICRsYW5ndWFn ZV9zY3JhdGNoeydsZXgtZG9uZSd9OwogICRsYW5ndWFnZV9zY3JhdGNoeydsZXgtZG9uZSd9 ID0gMTsKCiAgeWFjY19sZXhfZmluaXNoX2hlbHBlcjsKfQoKCiMgR2l2ZW4gYSBoYXNoIHRh YmxlIG9mIGxpbmtlciBuYW1lcywgcGljayB0aGUgbmFtZSB0aGF0IGhhcyB0aGUgbW9zdAoj IHByZWNlZGVuY2UuICBUaGlzIGlzIGxhbWUsIGJ1dCBzb21ldGhpbmcgaGFzIHRvIGhhdmUg Z2xvYmFsCiMga25vd2xlZGdlIGluIG9yZGVyIHRvIGVsaW1pbmF0ZSB0aGUgY29uZmxpY3Qu ICBBZGQgbW9yZSBsaW5rZXJzIGFzCiMgcmVxdWlyZWQuCnN1YiByZXNvbHZlX2xpbmtlcgp7 CiAgICBteSAoJWxpbmtlcnMpID0gQF87CgogICAgZm9yZWFjaCBteSAkbCAocXcoR0NKTElO SyBPQkpDWFhMSU5LIENYWExJTksgRjc3TElOSyBGQ0xJTksgT0JKQ0xJTksgVVBDTElOSykp CiAgICB7CglyZXR1cm4gJGwgaWYgZGVmaW5lZCAkbGlua2Vyc3skbH07CiAgICB9CiAgICBy ZXR1cm4gJ0xJTksnOwp9CgojIENhbGxlZCB0byBpbmRpY2F0ZSB0aGF0IGFuIGV4dGVuc2lv biB3YXMgdXNlZC4Kc3ViIHNhd19leHRlbnNpb24KewogICAgbXkgKCRleHQpID0gQF87CiAg ICAkZXh0ZW5zaW9uX3NlZW57JGV4dH0gPSAxOwp9CgojIHJlZ2lzdGVyX2xhbmd1YWdlICgl QVRUUklCVVRFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJlZ2lzdGVy IGEgc2luZ2xlIGxhbmd1YWdlLgojIEVhY2ggJUFUVFJJQlVURSBpcyBvZiB0aGUgZm9ybSBB VFRSSUJVVEUgPT4gVkFMVUUuCnN1YiByZWdpc3Rlcl9sYW5ndWFnZQp7CiAgbXkgKCVvcHRp b24pID0gQF87CgogICMgU2V0IHRoZSBkZWZhdWx0cy4KICAkb3B0aW9ueydhdXRvZGVwJ30g PSAnbm8nCiAgICB1bmxlc3MgZGVmaW5lZCAkb3B0aW9ueydhdXRvZGVwJ307CiAgJG9wdGlv bnsnbGlua2VyJ30gPSAnJwogICAgdW5sZXNzIGRlZmluZWQgJG9wdGlvbnsnbGlua2VyJ307 CiAgJG9wdGlvbnsnZmxhZ3MnfSA9IFtdCiAgICB1bmxlc3MgZGVmaW5lZCAkb3B0aW9ueydm bGFncyd9OwogICRvcHRpb257J291dHB1dF9leHRlbnNpb25zJ30gPSBzdWIgeyByZXR1cm4g KCAnLiQoT0JKRVhUKScsICcubG8nICkgfQogICAgdW5sZXNzIGRlZmluZWQgJG9wdGlvbnsn b3V0cHV0X2V4dGVuc2lvbnMnfTsKICAkb3B0aW9ueydub2Rpc3Rfc3BlY2lmaWMnfSA9IDAK ICAgIHVubGVzcyBkZWZpbmVkICRvcHRpb257J25vZGlzdF9zcGVjaWZpYyd9OwoKICBteSAk bGFuZyA9IG5ldyBBdXRvbWFrZTo6TGFuZ3VhZ2UgKCVvcHRpb24pOwoKICAjIEZpbGwgaW5k ZXhlcy4KICAkZXh0ZW5zaW9uX21hcHskX30gPSAkbGFuZy0+bmFtZSBmb3JlYWNoIEB7JGxh bmctPmV4dGVuc2lvbnN9OwogICRsYW5ndWFnZXN7JGxhbmctPm5hbWV9ID0gJGxhbmc7CiAg bXkgJGxpbmsgPSAkbGFuZy0+bGlua2VyOwogIGlmICgkbGluaykKICAgIHsKICAgICAgaWYg KGV4aXN0cyAkbGlua19sYW5ndWFnZXN7JGxpbmt9KQoJewoJICBwcm9nX2Vycm9yICgiJyRs aW5rJyBoYXMgZGlmZmVyZW50IGRlZmluaXRpb25zIGluICIKCQkgICAgICAuICRsYW5nLT5u YW1lIC4gIiBhbmQgIiAuICRsaW5rX2xhbmd1YWdlc3skbGlua30tPm5hbWUpCgkgICAgaWYg JGxhbmctPmxpbmsgbmUgJGxpbmtfbGFuZ3VhZ2VzeyRsaW5rfS0+bGluazsKCX0KICAgICAg ZWxzZQoJewoJICAkbGlua19sYW5ndWFnZXN7JGxpbmt9ID0gJGxhbmc7Cgl9CiAgICB9Cgog ICMgVXBkYXRlIHRoZSBwYXR0ZXJuIG9mIGtub3duIGV4dGVuc2lvbnMuCiAgYWNjZXB0X2V4 dGVuc2lvbnMgKEB7JGxhbmctPmV4dGVuc2lvbnN9KTsKCiAgIyBVcGRhdGUgdGhlIHN1ZmZp eCBydWxlcyBtYXAuCiAgZm9yZWFjaCBteSAkc3VmZml4IChAeyRsYW5nLT5leHRlbnNpb25z fSkKICAgIHsKICAgICAgZm9yZWFjaCBteSAkZGVzdCAoJGxhbmctPm91dHB1dF9leHRlbnNp b25zLT4oJHN1ZmZpeCkpCgl7CgkgIHJlZ2lzdGVyX3N1ZmZpeF9ydWxlIChJTlRFUk5BTCwg JHN1ZmZpeCwgJGRlc3QpOwoJfQogICAgfQp9CgojIGRlcml2ZV9zdWZmaXggKCRFWFQsICRP QkopCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIHVz ZWQgdG8gZmluZCBhIHBhdGggZnJvbSBhIHVzZXItc3BlY2lmaWVkIHN1ZmZpeCAkRVhUCiMg dG8gJE9CSiBvciB0byBzb21lIG90aGVyIHN1ZmZpeCB3ZSByZWNvZ25pemUgaW50ZXJuYWxs eSwgZS5nLiAnY2MnLgpzdWIgZGVyaXZlX3N1ZmZpeAp7CiAgbXkgKCRzb3VyY2VfZXh0LCAk b2JqKSA9IEBfOwoKICB3aGlsZSAoISRleHRlbnNpb25fbWFweyRzb3VyY2VfZXh0fSAmJiAk c291cmNlX2V4dCBuZSAkb2JqKQogICAgewogICAgICBteSAkbmV3X3NvdXJjZV9leHQgPSBu ZXh0X2luX3N1ZmZpeF9jaGFpbiAoJHNvdXJjZV9leHQsICRvYmopOwogICAgICBsYXN0IGlm IG5vdCBkZWZpbmVkICRuZXdfc291cmNlX2V4dDsKICAgICAgJHNvdXJjZV9leHQgPSAkbmV3 X3NvdXJjZV9leHQ7CiAgICB9CgogIHJldHVybiAkc291cmNlX2V4dDsKfQoKCiMgUHJldHR5 LXByaW50IHNvbWV0aGluZyBhbmQgYXBwZW5kIHRvICckb3V0cHV0X3J1bGVzJy4Kc3ViIHBy ZXR0eV9wcmludF9ydWxlCnsKICAgICRvdXRwdXRfcnVsZXMgLj0gbWFrZWZpbGVfd3JhcCAo c2hpZnQsIHNoaWZ0LCBAXyk7Cn0KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoKIyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgSGFuZGxpbmcgdGhlIGNvbmRpdGlvbmFsIHN0YWNr LiAgIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCgojICRTVFJJ TkcKIyBtYWtlX2NvbmRpdGlvbmFsX3N0cmluZyAoJE5FR0FURSwgJENPTkQpCiMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgbWFrZV9jb25kaXRpb25h bF9zdHJpbmcKewogIG15ICgkbmVnYXRlLCAkY29uZCkgPSBAXzsKICAkY29uZCA9ICIke2Nv bmR9X1RSVUUiCiAgICB1bmxlc3MgJGNvbmQgPX4gL15UUlVFfEZBTFNFJC87CiAgJGNvbmQg PSBBdXRvbWFrZTo6Q29uZGl0aW9uOjpjb25kaXRpb25hbF9uZWdhdGUgKCRjb25kKQogICAg aWYgJG5lZ2F0ZTsKICByZXR1cm4gJGNvbmQ7Cn0KCgpteSAlX2FtX21hY3JvX2Zvcl9jb25k ID0KICAoCiAgQU1ERVAgPT4gIm9uZSBvZiB0aGUgY29tcGlsZXIgdGVzdHNcbiIKCSAgIC4g IiAgICBBQ19QUk9HX0NDLCBBQ19QUk9HX0NYWCwgQUNfUFJPR19PQkpDLCBBQ19QUk9HX09C SkNYWCxcbiIKCSAgIC4gIiAgICBBTV9QUk9HX0FTLCBBTV9QUk9HX0dDSiwgQU1fUFJPR19V UEMiLAogIGFtX19mYXN0ZGVwQ0MgPT4gJ0FDX1BST0dfQ0MnLAogIGFtX19mYXN0ZGVwQ0NB UyA9PiAnQU1fUFJPR19BUycsCiAgYW1fX2Zhc3RkZXBDWFggPT4gJ0FDX1BST0dfQ1hYJywK ICBhbV9fZmFzdGRlcEdDSiA9PiAnQU1fUFJPR19HQ0onLAogIGFtX19mYXN0ZGVwT0JKQyA9 PiAnQUNfUFJPR19PQkpDJywKICBhbV9fZmFzdGRlcE9CSkNYWCA9PiAnQUNfUFJPR19PQkpD WFgnLAogIGFtX19mYXN0ZGVwVVBDID0+ICdBTV9QUk9HX1VQQycKICApOwoKIyAkQ09ORAoj IGNvbmRfc3RhY2tfaWYgKCRORUdBVEUsICRDT05ELCAkV0hFUkUpCiMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGNvbmRfc3RhY2tfaWYKewogIG15ICgk bmVnYXRlLCAkY29uZCwgJHdoZXJlKSA9IEBfOwoKICBpZiAoISAkY29uZmlndXJlX2NvbmR7 JGNvbmR9ICYmICRjb25kICF+IC9eVFJVRXxGQUxTRSQvKQogICAgewogICAgICBteSAkdGV4 dCA9ICIkY29uZCBkb2VzIG5vdCBhcHBlYXIgaW4gQU1fQ09ORElUSU9OQUwiOwogICAgICBt eSAkc2NvcGUgPSBVU19MT0NBTDsKICAgICAgaWYgKGV4aXN0cyAkX2FtX21hY3JvX2Zvcl9j b25keyRjb25kfSkKCXsKCSAgbXkgJG1hYyA9ICRfYW1fbWFjcm9fZm9yX2NvbmR7JGNvbmR9 OwoJICAkdGV4dCAuPSAiXG4gIFRoZSB1c3VhbCB3YXkgdG8gZGVmaW5lICckY29uZCcgaXMg dG8gYWRkICI7CgkgICR0ZXh0IC49ICgkbWFjID1+IC8gLykgPyAkbWFjIDogIickbWFjJyI7 CgkgICR0ZXh0IC49ICJcbiAgdG8gJyRjb25maWd1cmVfYWMnIGFuZCBydW4gJ2FjbG9jYWwn IGFuZCAnYXV0b2NvbmYnIGFnYWluIjsKCSAgIyBUaGVzZSB3YXJuaW5ncyBhcHBlYXIgaW4g QXV0b21ha2UgZmlsZXMgKGRlcGVuZDIuYW0pLAoJICAjIHNvIHRoZXJlIGlzIG5vIG5lZWQg dG8gZGlzcGxheSB0aGVtIG1vcmUgdGhhbiBvbmNlOgoJICAkc2NvcGUgPSBVU19HTE9CQUw7 Cgl9CiAgICAgIGVycm9yICR3aGVyZSwgJHRleHQsIHVuaXFfc2NvcGUgPT4gJHNjb3BlOwog ICAgfQoKICBwdXNoIChAY29uZF9zdGFjaywgbWFrZV9jb25kaXRpb25hbF9zdHJpbmcgKCRu ZWdhdGUsICRjb25kKSk7CgogIHJldHVybiBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiAoQGNv bmRfc3RhY2spOwp9CgoKIyAkQ09ORAojIGNvbmRfc3RhY2tfZWxzZSAoJE5FR0FURSwgJENP TkQsICRXSEVSRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CnN1YiBjb25kX3N0YWNrX2Vsc2UKewogIG15ICgkbmVnYXRlLCAkY29uZCwgJHdoZXJlKSA9 IEBfOwoKICBpZiAoISBAY29uZF9zdGFjaykKICAgIHsKICAgICAgZXJyb3IgJHdoZXJlLCAi ZWxzZSB3aXRob3V0IGlmIjsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQoKICAkY29uZF9z dGFja1skI2NvbmRfc3RhY2tdID0KICAgIEF1dG9tYWtlOjpDb25kaXRpb246OmNvbmRpdGlv bmFsX25lZ2F0ZSAoJGNvbmRfc3RhY2tbJCNjb25kX3N0YWNrXSk7CgogICMgSWYgJENPTkQg aXMgZ2l2ZW4sIGNoZWNrIGFnYWluc3QgaXQuCiAgaWYgKGRlZmluZWQgJGNvbmQpCiAgICB7 CiAgICAgICRjb25kID0gbWFrZV9jb25kaXRpb25hbF9zdHJpbmcgKCRuZWdhdGUsICRjb25k KTsKCiAgICAgIGVycm9yICgkd2hlcmUsICJlbHNlIHJlbWluZGVyICgkbmVnYXRlJGNvbmQp IGluY29tcGF0aWJsZSB3aXRoICIKCSAgICAgLiAiY3VycmVudCBjb25kaXRpb25hbDogJGNv bmRfc3RhY2tbJCNjb25kX3N0YWNrXSIpCglpZiAkY29uZF9zdGFja1skI2NvbmRfc3RhY2td IG5lICRjb25kOwogICAgfQoKICByZXR1cm4gbmV3IEF1dG9tYWtlOjpDb25kaXRpb24gKEBj b25kX3N0YWNrKTsKfQoKCiMgJENPTkQKIyBjb25kX3N0YWNrX2VuZGlmICgkTkVHQVRFLCAk Q09ORCwgJFdIRVJFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCnN1YiBjb25kX3N0YWNrX2VuZGlmCnsKICBteSAoJG5lZ2F0ZSwgJGNvbmQsICR3aGVy ZSkgPSBAXzsKICBteSAkb2xkX2NvbmQ7CgogIGlmICghIEBjb25kX3N0YWNrKQogICAgewog ICAgICBlcnJvciAkd2hlcmUsICJlbmRpZiB3aXRob3V0IGlmIjsKICAgICAgcmV0dXJuIFRS VUU7CiAgICB9CgogICMgSWYgJENPTkQgaXMgZ2l2ZW4sIGNoZWNrIGFnYWluc3QgaXQuCiAg aWYgKGRlZmluZWQgJGNvbmQpCiAgICB7CiAgICAgICRjb25kID0gbWFrZV9jb25kaXRpb25h bF9zdHJpbmcgKCRuZWdhdGUsICRjb25kKTsKCiAgICAgIGVycm9yICgkd2hlcmUsICJlbmRp ZiByZW1pbmRlciAoJG5lZ2F0ZSRjb25kKSBpbmNvbXBhdGlibGUgd2l0aCAiCgkgICAgIC4g ImN1cnJlbnQgY29uZGl0aW9uYWw6ICRjb25kX3N0YWNrWyQjY29uZF9zdGFja10iKQoJaWYg JGNvbmRfc3RhY2tbJCNjb25kX3N0YWNrXSBuZSAkY29uZDsKICAgIH0KCiAgcG9wIEBjb25k X3N0YWNrOwoKICByZXR1cm4gbmV3IEF1dG9tYWtlOjpDb25kaXRpb24gKEBjb25kX3N0YWNr KTsKfQoKCgoKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBIYW5kbGluZyB0 aGUgdmFyaWFibGVzLiAgIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgoKIyBk ZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgkVkFSLCAkQ09ORCwgJFdIRVJFLCBAVkFMVUUpCiMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoj IExpa2UgZGVmaW5lX3ZhcmlhYmxlLCBidXQgdGhlIHZhbHVlIGlzIGEgbGlzdCwgYW5kIHRo ZSB2YXJpYWJsZSBtYXkKIyBiZSBkZWZpbmVkIGNvbmRpdGlvbmFsbHkuICBUaGUgc2Vjb25k IGFyZ3VtZW50IGlzIHRoZSBjb25kaXRpb24KIyB1bmRlciB3aGljaCB0aGUgdmFsdWUgc2hv dWxkIGJlIGRlZmluZWQ7IHRoaXMgc2hvdWxkIGJlIHRoZSBlbXB0eQojIHN0cmluZyB0byBk ZWZpbmUgdGhlIHZhcmlhYmxlIHVuY29uZGl0aW9uYWxseS4gIFRoZSB0aGlyZCBhcmd1bWVu dAojIGlzIGEgbGlzdCBob2xkaW5nIHRoZSB2YWx1ZXMgdG8gdXNlIGZvciB0aGUgdmFyaWFi bGUuICBUaGUgdmFsdWUgaXMKIyBwcmV0dHkgcHJpbnRlZCBpbiB0aGUgb3V0cHV0IGZpbGUu CnN1YiBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlCnsKICAgIG15ICgkdmFyLCAkY29uZCwgJHdo ZXJlLCBAdmFsdWUpID0gQF87CgogICAgaWYgKCEgdmFyZGVmICgkdmFyLCAkY29uZCkpCiAg ICB7CglBdXRvbWFrZTo6VmFyaWFibGU6OmRlZmluZSAoJHZhciwgVkFSX0FVVE9NQUtFLCAn JywgJGNvbmQsICJAdmFsdWUiLAoJCQkJICAgICcnLCAkd2hlcmUsIFZBUl9QUkVUVFkpOwoJ cnZhciAoJHZhciktPnJkZWYgKCRjb25kKS0+c2V0X3NlZW47CiAgICB9Cn0KCgojIGRlZmlu ZV92YXJpYWJsZSAoJFZBUiwgJFZBTFVFLCAkV0hFUkUpCiMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWZpbmUgYSBuZXcgQXV0b21ha2UgTWFrZWZpbGUg dmFyaWFibGUgVkFSIHRvIFZBTFVFLCBidXQgb25seSBpZgojIG5vdCBhbHJlYWR5IGRlZmlu ZWQuCnN1YiBkZWZpbmVfdmFyaWFibGUKewogICAgbXkgKCR2YXIsICR2YWx1ZSwgJHdoZXJl KSA9IEBfOwogICAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJHZhciwgVFJVRSwgJHdoZXJl LCAkdmFsdWUpOwp9CgoKIyBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCRWQVIsIFxAQkFTRU5B TUUsICRFWFRFTlNJT04sICRXSEVSRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWZpbmUgdGhlICRWQVIgd2hp Y2ggY29udGVudCBpcyB0aGUgbGlzdCBvZiBmaWxlIG5hbWVzIGNvbXBvc2VkIG9mCiMgYSBA QkFTRU5BTUUgYW5kIHRoZSAkRVhURU5TSU9OLgpzdWIgZGVmaW5lX2ZpbGVzX3ZhcmlhYmxl ICgkXEAkJCkKewogIG15ICgkdmFyLCAkYmFzZW5hbWUsICRleHRlbnNpb24sICR3aGVyZSkg PSBAXzsKICBkZWZpbmVfdmFyaWFibGUgKCR2YXIsCgkJICAgam9pbiAoJyAnLCBtYXAgeyAi JF8uJGV4dGVuc2lvbiIgfSBAJGJhc2VuYW1lKSwKCQkgICAkd2hlcmUpOwp9CgoKIyBMaWtl IGRlZmluZV92YXJpYWJsZSwgYnV0IGRlZmluZSBhIHZhcmlhYmxlIHRvIGJlIHRoZSBjb25m aWd1cmUKIyBzdWJzdGl0dXRpb24gYnkgdGhlIHNhbWUgbmFtZS4Kc3ViIGRlZmluZV9jb25m aWd1cmVfdmFyaWFibGUKewogIG15ICgkdmFyKSA9IEBfOwogICMgU29tZSB2YXJpYWJsZXMg d2UgZG8gbm90IHdhbnQgdG8gb3V0cHV0LiAgRm9yIGluc3RhbmNlIGl0CiAgIyB3b3VsZCBi ZSBhIGJhZCBpZGVhIHRvIG91dHB1dCBgVSA9IEBVQGAgd2hlbiBgQFVAYCBjYW4gYmUKICAj IHN1YnN0aXR1dGVkIGFzIGBcYC4KICBteSAkcHJldHR5ID0gZXhpc3RzICRpZ25vcmVkX2Nv bmZpZ3VyZV92YXJzeyR2YXJ9ID8gVkFSX1NJTEVOVCA6IFZBUl9BU0lTOwogIEF1dG9tYWtl OjpWYXJpYWJsZTo6ZGVmaW5lICgkdmFyLCBWQVJfQ09ORklHVVJFLCAnJywgVFJVRSwgc3Vi c3QgKCR2YXIpLAoJCQkgICAgICAnJywgJGNvbmZpZ3VyZV92YXJzeyR2YXJ9LCAkcHJldHR5 KTsKfQoKCiMgZGVmaW5lX2NvbXBpbGVyX3ZhcmlhYmxlICgkTEFORykKIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIERlZmluZSBhIGNvbXBpbGVyIHZhcmlhYmxlLiAg V2UgYWxzbyBoYW5kbGUgZGVmaW5pbmcgdGhlICdMVCcKIyB2ZXJzaW9uIG9mIHRoZSBjb21t YW5kIHdoZW4gdXNpbmcgbGlidG9vbC4Kc3ViIGRlZmluZV9jb21waWxlcl92YXJpYWJsZQp7 CiAgICBteSAoJGxhbmcpID0gQF87CgogICAgbXkgKCR2YXIsICR2YWx1ZSkgPSAoJGxhbmct PmNvbXBpbGVyLCAkbGFuZy0+Y29tcGlsZSk7CiAgICBteSAkbGlidG9vbF90YWcgPSAnJzsK ICAgICRsaWJ0b29sX3RhZyA9ICctLXRhZz0nIC4gJGxhbmctPmxpYnRvb2xfdGFnIC4gJyAn CiAgICAgIGlmICRsYW5nLT5saWJ0b29sX3RhZyAmJiBleGlzdHMgJGxpYnRvb2xfdGFnc3sk bGFuZy0+bGlidG9vbF90YWd9OwogICAgZGVmaW5lX3ZhcmlhYmxlICgkdmFyLCAkdmFsdWUs IElOVEVSTkFMKTsKICAgIGlmICh2YXIgKCdMSUJUT09MJykpCiAgICAgIHsKCW15ICR2ZXJi b3NlID0gZGVmaW5lX3ZlcmJvc2VfbGlidG9vbCAoKTsKCWRlZmluZV92YXJpYWJsZSAoIkxU JHZhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAiXCQoTElCVE9PTCkgJHZlcmJvc2Ug JGxpYnRvb2xfdGFnXCQoQU1fTElCVE9PTEZMQUdTKSIKICAgICAgICAgICAgICAgICAgICAg ICAgIC4gIiBcJChMSUJUT09MRkxBR1MpIC0tbW9kZT1jb21waWxlICR2YWx1ZSIsCiAgICAg ICAgICAgICAgICAgICAgICAgICBJTlRFUk5BTCk7CiAgICAgIH0KICAgIGRlZmluZV92ZXJi b3NlX3RhZ3ZhciAoJGxhbmctPmNjZXIgfHwgJ0dFTicpOwp9CgoKc3ViIGRlZmluZV9saW5r ZXJfdmFyaWFibGUKewogICAgbXkgKCRsYW5nKSA9IEBfOwoKICAgIG15ICRsaWJ0b29sX3Rh ZyA9ICcnOwogICAgJGxpYnRvb2xfdGFnID0gJy0tdGFnPScgLiAkbGFuZy0+bGlidG9vbF90 YWcgLiAnICcKICAgICAgaWYgJGxhbmctPmxpYnRvb2xfdGFnICYmIGV4aXN0cyAkbGlidG9v bF90YWdzeyRsYW5nLT5saWJ0b29sX3RhZ307CiAgICAjIENDTEQgPSAkKENDKS4KICAgIGRl ZmluZV92YXJpYWJsZSAoJGxhbmctPmxkZXIsICRsYW5nLT5sZCwgSU5URVJOQUwpOwogICAg IyBDQ0xJTksgPSAkKENDTEQpIGJsYWggYmxhaC4uLgogICAgbXkgJGxpbmsgPSAnJzsKICAg IGlmICh2YXIgKCdMSUJUT09MJykpCiAgICAgIHsKCW15ICR2ZXJib3NlID0gZGVmaW5lX3Zl cmJvc2VfbGlidG9vbCAoKTsKCSRsaW5rID0gIlwkKExJQlRPT0wpICR2ZXJib3NlICRsaWJ0 b29sX3RhZ1wkKEFNX0xJQlRPT0xGTEFHUykgIgoJCS4gIlwkKExJQlRPT0xGTEFHUykgLS1t b2RlPWxpbmsgIjsKICAgICAgfQogICAgZGVmaW5lX3ZhcmlhYmxlICgkbGFuZy0+bGlua2Vy LCAkbGluayAuICRsYW5nLT5saW5rLCBJTlRFUk5BTCk7CiAgICBkZWZpbmVfdmFyaWFibGUg KCRsYW5nLT5jb21waWxlciwgJGxhbmcsIElOVEVSTkFMKTsKICAgIGRlZmluZV92ZXJib3Nl X3RhZ3ZhciAoJGxhbmctPmxkZXIgfHwgJ0dFTicpOwp9CgpzdWIgZGVmaW5lX3Blcl90YXJn ZXRfbGlua2VyX3ZhcmlhYmxlCnsKICBteSAoJGxpbmtlciwgJHRhcmdldCkgPSBAXzsKCiAg IyBJZiB0aGUgdXNlciB3cm90ZSBhIGN1c3RvbSBsaW5rIGNvbW1hbmQsIHdlIGRvbid0IGRl ZmluZSBvdXJzLgogIHJldHVybiAiJHt0YXJnZXR9X0xJTksiCiAgICBpZiBzZXRfc2VlbiAi JHt0YXJnZXR9X0xJTksiOwoKICBteSAkeGxpbmsgPSAkbGlua2VyID8gJGxpbmtlciA6ICdM SU5LJzsKCiAgbXkgJGxhbmcgPSAkbGlua19sYW5ndWFnZXN7JHhsaW5rfTsKICBwcm9nX2Vy cm9yICJVbmtub3duIGxhbmd1YWdlIGZvciBsaW5rZXIgdmFyaWFibGUgJyR4bGluayciCiAg ICB1bmxlc3MgJGxhbmc7CgogIG15ICRsaW5rX2NvbW1hbmQgPSAkbGFuZy0+bGluazsKICBp ZiAodmFyICdMSUJUT09MJykKICAgIHsKICAgICAgbXkgJGxpYnRvb2xfdGFnID0gJyc7CiAg ICAgICRsaWJ0b29sX3RhZyA9ICctLXRhZz0nIC4gJGxhbmctPmxpYnRvb2xfdGFnIC4gJyAn CglpZiAkbGFuZy0+bGlidG9vbF90YWcgJiYgZXhpc3RzICRsaWJ0b29sX3RhZ3N7JGxhbmct PmxpYnRvb2xfdGFnfTsKCiAgICAgIG15ICR2ZXJib3NlID0gZGVmaW5lX3ZlcmJvc2VfbGli dG9vbCAoKTsKICAgICAgJGxpbmtfY29tbWFuZCA9CgkiXCQoTElCVE9PTCkgJHZlcmJvc2Ug JGxpYnRvb2xfdGFnXCQoQU1fTElCVE9PTEZMQUdTKSBcJChMSUJUT09MRkxBR1MpICIKCS4g Ii0tbW9kZT1saW5rICIgLiAkbGlua19jb21tYW5kOwogICAgfQoKICAjIFJld3JpdGUgZWFj aCBvY2N1cnJlbmNlIG9mICdBTV8kZmxhZycgaW4gdGhlIGxpbmsKICAjIGNvbW1hbmQgaW50 byAnJHtkZXJpdmVkfV8kZmxhZycgaWYgaXQgZXhpc3RzLgogIG15ICRvcmlnX2NvbW1hbmQg PSAkbGlua19jb21tYW5kOwogIG15IEBmbGFncyA9IChAeyRsYW5nLT5mbGFnc30sICdMREZM QUdTJyk7CiAgcHVzaCBAZmxhZ3MsICdMSUJUT09MRkxBR1MnIGlmIHZhciAnTElCVE9PTCc7 CiAgZm9yIG15ICRmbGFnIChAZmxhZ3MpCiAgICB7CiAgICAgIG15ICR2YWwgPSAiJHt0YXJn ZXR9XyRmbGFnIjsKICAgICAgJGxpbmtfY29tbWFuZCA9fiBzL1woQU1fJGZsYWdcKS9cKCR2 YWxcKS8KCWlmIHNldF9zZWVuICgkdmFsKTsKICAgIH0KCiAgIyBJZiB0aGUgY29tcHV0ZWQg Y29tbWFuZCBpcyB0aGUgc2FtZSBhcyB0aGUgZ2VuZXJpYyBjb21tYW5kLCB1c2UKICAjIHRo ZSBjb21tYW5kIGxpbmtlciB2YXJpYWJsZS4KICByZXR1cm4gKCRsYW5nLT5saW5rZXIsICRs YW5nLT5sZGVyKQogICAgaWYgJGxpbmtfY29tbWFuZCBlcSAkb3JpZ19jb21tYW5kOwoKICBk ZWZpbmVfdmFyaWFibGUgKCIke3RhcmdldH1fTElOSyIsICRsaW5rX2NvbW1hbmQsIElOVEVS TkFMKTsKICByZXR1cm4gKCIke3RhcmdldH1fTElOSyIsICRsYW5nLT5sZGVyKTsKfQoKIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwoKIyBjaGVja190cmFpbGluZ19zbGFzaCAoJFdIRVJFLCAkTElORSkKIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZXR1cm4gMSBpZmYgJExJTkUg ZW5kcyB3aXRoIGEgc2xhc2guCiMgTWlnaHQgbW9kaWZ5ICRMSU5FLgpzdWIgY2hlY2tfdHJh aWxpbmdfc2xhc2ggKCRcJCkKewogIG15ICgkd2hlcmUsICRsaW5lKSA9IEBfOwoKICAjIEln bm9yZSAnIyMnIGxpbmVzLgogIHJldHVybiAwIGlmICQkbGluZSA9fiAvJElHTk9SRV9QQVRU RVJOL287CgogICMgQ2F0Y2ggYW5kIGZpeCBhIGNvbW1vbiBlcnJvci4KICBtc2cgInN5bnRh eCIsICR3aGVyZSwgIndoaXRlc3BhY2UgZm9sbG93aW5nIHRyYWlsaW5nIGJhY2tzbGFzaCIK ICAgIGlmICQkbGluZSA9fiBzL1xcXHMrXG4kL1xcXG4vOwoKICByZXR1cm4gJCRsaW5lID1+ IC9cXCQvOwp9CgoKIyByZWFkX2FtX2ZpbGUgKCRBTUZJTEUsICRXSEVSRSwgJFJFTERJUikK IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZWFkICRBTUZJ TEUgZmlsZSBuYW1lIHdoaWNoIGlzIGxvY2F0ZWQgaW4gJFJFTERJUiwgYW5kIHNldCB1cAoj IGdsb2JhbCB2YXJpYWJsZXMgcmVzZXR0ZWQgYnkgJyZnZW5lcmF0ZV9tYWtlZmlsZScuICBT aW11bHRhbmVvdXNseQojIGNvcHkgbGluZXMgZnJvbSAkQU1GSUxFIGludG8gJyRvdXRwdXRf dHJhaWxlcicsIG9yIGRlZmluZSB2YXJpYWJsZXMKIyBhcyBhcHByb3ByaWF0ZS4KIwojIE5P VEU6IFdlIHB1dCBydWxlcyBpbiB0aGUgdHJhaWxlciBzZWN0aW9uLiAgV2Ugd2FudCB1c2Vy IHJ1bGVzIHRvCiMgY29tZSBhZnRlciBvdXIgZ2VuZXJhdGVkIHN0dWZmLgpzdWIgcmVhZF9h bV9maWxlCnsKICAgIG15ICgkYW1maWxlLCAkd2hlcmUsICRyZWxkaXIpID0gQF87CiAgICBt eSAkY2Fub25fcmVsZGlyID0gJmNhbm9uaWNhbGl6ZSAoJHJlbGRpcik7CgogICAgbXkgJGFt X2ZpbGUgPSBuZXcgQXV0b21ha2U6OlhGaWxlICgiPCAkYW1maWxlIik7CiAgICB2ZXJiICJy ZWFkaW5nICRhbWZpbGUiOwoKICAgICMgS2VlcCB0cmFjayBvZiB0aGUgeW91bmdlc3Qgb3V0 cHV0IGRlcGVuZGVuY3kuCiAgICBteSAkbXRpbWUgPSBtdGltZSAkYW1maWxlOwogICAgJG91 dHB1dF9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcCA9ICRtdGltZQogICAgICBpZiAkbXRpbWUg PiAkb3V0cHV0X2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wOwoKICAgIG15ICRzcGFjaW5nID0g Jyc7CiAgICBteSAkY29tbWVudCA9ICcnOwogICAgbXkgJGJsYW5rID0gMDsKICAgIG15ICRz YXdfYmsgPSAwOwogICAgbXkgJHZhcl9sb29rID0gVkFSX0FTSVM7CgogICAgdXNlIGNvbnN0 YW50IElOX1ZBUl9ERUYgPT4gMDsKICAgIHVzZSBjb25zdGFudCBJTl9SVUxFX0RFRiA9PiAx OwogICAgdXNlIGNvbnN0YW50IElOX0NPTU1FTlQgPT4gMjsKICAgIG15ICRwcmV2X3N0YXRl ID0gSU5fUlVMRV9ERUY7CgogICAgd2hpbGUgKCRfID0gJGFtX2ZpbGUtPmdldGxpbmUpCiAg ICB7Cgkkd2hlcmUtPnNldCAoIiRhbWZpbGU6JC4iKTsKCWlmICgvJElHTk9SRV9QQVRURVJO L28pCgl7CgkgICAgIyBNZXJlbHkgZGVsZXRlIGNvbW1lbnRzIGJlZ2lubmluZyB3aXRoIHR3 byBoYXNoZXMuCgl9CgllbHNpZiAoLyRXSElURV9QQVRURVJOL28pCgl7CgkgICAgZXJyb3Ig JHdoZXJlLCAiYmxhbmsgbGluZSBmb2xsb3dpbmcgdHJhaWxpbmcgYmFja3NsYXNoIgoJICAg ICAgaWYgJHNhd19iazsKCSAgICAjIFN0aWNrIGEgc2luZ2xlIHdoaXRlIGxpbmUgYmVmb3Jl IHRoZSBpbmNvbWluZyBtYWNybyBvciBydWxlLgoJICAgICRzcGFjaW5nID0gIlxuIjsKCSAg ICAkYmxhbmsgPSAxOwoJICAgICMgRmx1c2ggYWxsIGNvbW1lbnRzIHNlZW4gc28gZmFyLgoJ ICAgIGlmICgkY29tbWVudCBuZSAnJykKCSAgICB7CgkJJG91dHB1dF92YXJzIC49ICRjb21t ZW50OwoJCSRjb21tZW50ID0gJyc7CgkgICAgfQoJfQoJZWxzaWYgKC8kQ09NTUVOVF9QQVRU RVJOL28pCgl7CgkgICAgIyBTdGljayBjb21tZW50cyBiZWZvcmUgdGhlIGluY29taW5nIG1h Y3JvIG9yIHJ1bGUuICBNYWtlCgkgICAgIyBzdXJlIGEgYmxhbmsgbGluZSBwcmVjZWRlcyB0 aGUgZmlyc3QgYmxvY2sgb2YgY29tbWVudHMuCgkgICAgJHNwYWNpbmcgPSAiXG4iIHVubGVz cyAkYmxhbms7CgkgICAgJGJsYW5rID0gMTsKCSAgICAkY29tbWVudCAuPSAkc3BhY2luZyAu ICRfOwoJICAgICRzcGFjaW5nID0gJyc7CgkgICAgJHByZXZfc3RhdGUgPSBJTl9DT01NRU5U OwoJfQoJZWxzZQoJewoJICAgIGxhc3Q7Cgl9Cgkkc2F3X2JrID0gY2hlY2tfdHJhaWxpbmdf c2xhc2ggKCR3aGVyZSwgJF8pOwogICAgfQoKICAgICMgV2Ugc2F2ZSB0aGUgY29uZGl0aW9u YWwgc3RhY2sgb24gZW50cnksIGFuZCB0aGVuIGNoZWNrIHRvIG1ha2UKICAgICMgc3VyZSBp dCBpcyB0aGUgc2FtZSBvbiBleGl0LiAgVGhpcyBsZXRzIHVzIGNvbmRpdGlvbmFsbHkgaW5j bHVkZQogICAgIyBvdGhlciBmaWxlcy4KICAgIG15IEBzYXZlZF9jb25kX3N0YWNrID0gQGNv bmRfc3RhY2s7CiAgICBteSAkY29uZCA9IG5ldyBBdXRvbWFrZTo6Q29uZGl0aW9uIChAY29u ZF9zdGFjayk7CgogICAgbXkgJGxhc3RfdmFyX25hbWUgPSAnJzsKICAgIG15ICRsYXN0X3Zh cl90eXBlID0gJyc7CiAgICBteSAkbGFzdF92YXJfdmFsdWUgPSAnJzsKICAgIG15ICRsYXN0 X3doZXJlOwogICAgIyBGSVhNRTogc2hvdWxkbid0IHVzZSAkXyBpbiB0aGlzIGxvb3A7IGl0 IGlzIHRvbyBiaWcuCiAgICB3aGlsZSAoJF8pCiAgICB7Cgkkd2hlcmUtPnNldCAoIiRhbWZp bGU6JC4iKTsKCgkjIE1ha2Ugc3VyZSB0aGUgbGluZSBpcyBcbi10ZXJtaW5hdGVkLgoJY2hv bXA7CgkkXyAuPSAiXG4iOwoKCSMgRG9uJ3QgbG9vayBhdCBNQUlOVEFJTkVSX01PREVfVFJV RSBoZXJlLiAgVGhhdCBzaG91bGRuJ3QgYmUKCSMgdXNlZCBieSB1c2Vycy4gIEBNQUlOVEAg aXMgYW4gYW5hY2hyb25pc20gbm93LgoJJF8gPX4gcy9cQE1BSU5UXEAvL2cKCSAgICB1bmxl c3MgJHNlZW5fbWFpbnRfbW9kZTsKCglteSAkbmV3X3Nhd19iayA9IGNoZWNrX3RyYWlsaW5n X3NsYXNoICgkd2hlcmUsICRfKTsKCglpZiAoJHJlbGRpciBlcSAnLicpCgkgIHsKCSAgICAj IElmIHByZXNlbnQsIGVhdCB0aGUgZm9sbG93aW5nICdfJyBvciAnLycsIGNvbnZlcnRpbmcK CSAgICAjICIlcmVsZGlyJS9mb28iIGFuZCAiJWNhbm9uX3JlbGRpciVfZm9vIiBpbnRvIHBs YWluICJmb28iCgkgICAgIyB3aGVuICRyZWxkaXIgaXMgJy4nLgoJICAgICRfID1+IHMsJShE fHJlbGRpciklLywsZzsKCSAgICAkXyA9fiBzLCUoQ3xjYW5vbl9yZWxkaXIpJV8sLGc7Cgkg IH0KCSRfID1+IHMvJShEfHJlbGRpciklLyR7cmVsZGlyfS9nOwoJJF8gPX4gcy8lKEN8Y2Fu b25fcmVsZGlyKSUvJHtjYW5vbl9yZWxkaXJ9L2c7CgoJaWYgKC8kSUdOT1JFX1BBVFRFUk4v bykKCXsKCSAgICAjIE1lcmVseSBkZWxldGUgY29tbWVudHMgYmVnaW5uaW5nIHdpdGggdHdv IGhhc2hlcy4KCgkgICAgIyBLZWVwIGFueSBiYWNrc2xhc2ggZnJvbSB0aGUgcHJldmlvdXMg bGluZS4KCSAgICAkbmV3X3Nhd19iayA9ICRzYXdfYms7Cgl9CgllbHNpZiAoLyRXSElURV9Q QVRURVJOL28pCgl7CgkgICAgIyBTdGljayBhIHNpbmdsZSB3aGl0ZSBsaW5lIGJlZm9yZSB0 aGUgaW5jb21pbmcgbWFjcm8gb3IgcnVsZS4KCSAgICAkc3BhY2luZyA9ICJcbiI7CgkgICAg ZXJyb3IgJHdoZXJlLCAiYmxhbmsgbGluZSBmb2xsb3dpbmcgdHJhaWxpbmcgYmFja3NsYXNo IgoJICAgICAgaWYgJHNhd19iazsKCX0KCWVsc2lmICgvJENPTU1FTlRfUEFUVEVSTi9vKQoJ ewoJICAgIGVycm9yICR3aGVyZSwgImNvbW1lbnQgZm9sbG93aW5nIHRyYWlsaW5nIGJhY2tz bGFzaCIKCSAgICAgIGlmICRzYXdfYmsgJiYgJHByZXZfc3RhdGUgIT0gSU5fQ09NTUVOVDsK CgkgICAgIyBTdGljayBjb21tZW50cyBiZWZvcmUgdGhlIGluY29taW5nIG1hY3JvIG9yIHJ1 bGUuCgkgICAgJGNvbW1lbnQgLj0gJHNwYWNpbmcgLiAkXzsKCSAgICAkc3BhY2luZyA9ICcn OwoJICAgICRwcmV2X3N0YXRlID0gSU5fQ09NTUVOVDsKCX0KCWVsc2lmICgkc2F3X2JrKQoJ ewoJICAgIGlmICgkcHJldl9zdGF0ZSA9PSBJTl9SVUxFX0RFRikKCSAgICB7CgkgICAgICBt eSAkY29uZCA9IG5ldyBBdXRvbWFrZTo6Q29uZGl0aW9uIEBjb25kX3N0YWNrOwoJICAgICAg JG91dHB1dF90cmFpbGVyIC49ICRjb25kLT5zdWJzdF9zdHJpbmc7CgkgICAgICAkb3V0cHV0 X3RyYWlsZXIgLj0gJF87CgkgICAgfQoJICAgIGVsc2lmICgkcHJldl9zdGF0ZSA9PSBJTl9D T01NRU5UKQoJICAgIHsKCQkjIElmIHRoZSBsaW5lIGRvZXNuJ3Qgc3RhcnQgd2l0aCBhICcj JywgYWRkIGl0LgoJCSMgV2UgZG8gdGhpcyBiZWNhdXNlIGEgY29udGludWVkIGNvbW1lbnQg bGlrZQoJCSMgICAjIEEgPSBmb28gXAoJCSMgICAgICAgICBiYXIgXAoJCSMgICAgICAgICBi YXoKCQkjIGlzIG5vdCBwb3J0YWJsZS4gIEJTRCBtYWtlIGRvZXNuJ3QgaG9ub3IKCQkjIGVz Y2FwZWQgbmV3bGluZXMgaW4gY29tbWVudHMuCgkJcy9eIz8vIy87CgkJJGNvbW1lbnQgLj0g JHNwYWNpbmcgLiAkXzsKCSAgICB9CgkgICAgZWxzZSAjICRwcmV2X3N0YXRlID09IElOX1ZB Ul9ERUYKCSAgICB7CgkgICAgICAkbGFzdF92YXJfdmFsdWUgLj0gJyAnCgkJdW5sZXNzICRs YXN0X3Zhcl92YWx1ZSA9fiAvXHMkLzsKCSAgICAgICRsYXN0X3Zhcl92YWx1ZSAuPSAkXzsK CgkgICAgICBpZiAoIS9cXCQvKQoJCXsKCQkgIEF1dG9tYWtlOjpWYXJpYWJsZTo6ZGVmaW5l ICgkbGFzdF92YXJfbmFtZSwgVkFSX01BS0VGSUxFLAoJCQkJCSAgICAgICRsYXN0X3Zhcl90 eXBlLCAkY29uZCwKCQkJCQkgICAgICAkbGFzdF92YXJfdmFsdWUsICRjb21tZW50LAoJCQkJ CSAgICAgICRsYXN0X3doZXJlLCBWQVJfQVNJUykKCQkgICAgaWYgJGNvbmQgIT0gRkFMU0U7 CgkJICAkY29tbWVudCA9ICRzcGFjaW5nID0gJyc7CgkJfQoJICAgIH0KCX0KCgllbHNpZiAo LyRJRl9QQVRURVJOL28pCgkgIHsKCSAgICAkY29uZCA9IGNvbmRfc3RhY2tfaWYgKCQxLCAk MiwgJHdoZXJlKTsKCSAgfQoJZWxzaWYgKC8kRUxTRV9QQVRURVJOL28pCgkgIHsKCSAgICAk Y29uZCA9IGNvbmRfc3RhY2tfZWxzZSAoJDEsICQyLCAkd2hlcmUpOwoJICB9CgllbHNpZiAo LyRFTkRJRl9QQVRURVJOL28pCgkgIHsKCSAgICAkY29uZCA9IGNvbmRfc3RhY2tfZW5kaWYg KCQxLCAkMiwgJHdoZXJlKTsKCSAgfQoKCWVsc2lmICgvJFJVTEVfUEFUVEVSTi9vKQoJewoJ ICAgICMgRm91bmQgYSBydWxlLgoJICAgICRwcmV2X3N0YXRlID0gSU5fUlVMRV9ERUY7CgoJ ICAgICMgRm9yIG5vdyB3ZSBoYXZlIHRvIG91dHB1dCBhbGwgZGVmaW5pdGlvbnMgb2YgdXNl ciBydWxlcwoJICAgICMgYW5kIGNhbid0IGRpYWdub3NlIGR1cGxpY2F0ZXMgKHNlZSB0aGUg Y29tbWVudCBpbgoJICAgICMgQXV0b21ha2U6OlJ1bGU6OmRlZmluZSkuIFNvIHdlIGdvIG9u IGFuZCBpZ25vcmUgdGhlIHJldHVybiB2YWx1ZS4KCSAgICBBdXRvbWFrZTo6UnVsZTo6ZGVm aW5lICgkMSwgJGFtZmlsZSwgUlVMRV9VU0VSLCAkY29uZCwgJHdoZXJlKTsKCgkgICAgY2hl Y2tfdmFyaWFibGVfZXhwYW5zaW9ucyAoJF8sICR3aGVyZSk7CgoJICAgICRvdXRwdXRfdHJh aWxlciAuPSAkY29tbWVudCAuICRzcGFjaW5nOwoJICAgIG15ICRjb25kID0gbmV3IEF1dG9t YWtlOjpDb25kaXRpb24gQGNvbmRfc3RhY2s7CgkgICAgJG91dHB1dF90cmFpbGVyIC49ICRj b25kLT5zdWJzdF9zdHJpbmc7CgkgICAgJG91dHB1dF90cmFpbGVyIC49ICRfOwoJICAgICRj b21tZW50ID0gJHNwYWNpbmcgPSAnJzsKCX0KCWVsc2lmICgvJEFTU0lHTk1FTlRfUEFUVEVS Ti9vKQoJewoJICAgICMgRm91bmQgYSBtYWNybyBkZWZpbml0aW9uLgoJICAgICRwcmV2X3N0 YXRlID0gSU5fVkFSX0RFRjsKCSAgICAkbGFzdF92YXJfbmFtZSA9ICQxOwoJICAgICRsYXN0 X3Zhcl90eXBlID0gJDI7CgkgICAgJGxhc3RfdmFyX3ZhbHVlID0gJDM7CgkgICAgJGxhc3Rf d2hlcmUgPSAkd2hlcmUtPmNsb25lOwoJICAgIGlmICgkMyBuZSAnJyAmJiBzdWJzdHIgKCQz LCAtMSkgZXEgIlxcIikKCSAgICAgIHsKCQkjIFdlIHByZXNlcnZlIHRoZSAnXCcgYmVjYXVz ZSBvdGhlcndpc2UgdGhlIGxvbmcgbGluZXMKCQkjIHRoYXQgYXJlIGdlbmVyYXRlZCB3aWxs IGJlIHRydW5jYXRlZCBieSBicm9rZW4KCQkjICdzZWQncy4KCQkkbGFzdF92YXJfdmFsdWUg PSAkMyAuICJcbiI7CgkgICAgICB9CgkgICAgIyBOb3JtYWxseSB3ZSB0cnkgdG8gb3V0cHV0 IHZhcmlhYmxlIGRlZmluaXRpb25zIGluIHRoZQoJICAgICMgc2FtZSBmb3JtYXQgdGhleSB3 ZXJlIGlucHV0LiAgSG93ZXZlciwgUE9TSVggY29tcGxpYW50CgkgICAgIyBzeXN0ZW1zIGFy ZSBub3QgcmVxdWlyZWQgdG8gc3VwcG9ydCBsaW5lcyBsb25nZXIgdGhhbgoJICAgICMgMjA0 OCBieXRlcyAobW9zdCBub3RhYmx5LCBzb21lIHNlZCBpbXBsZW1lbnRhdGlvbiBhcmUKCSAg ICAjIGxpbWl0ZWQgdG8gNDAwMCBieXRlcywgYW5kIHNlZCBpcyB1c2VkIGJ5IGNvbmZpZy5z dGF0dXMKCSAgICAjIHRvIHJld3JpdGUgTWFrZWZpbGUuaW4gaW50byBNYWtlZmlsZSkuICBN b3Jlb3ZlciBub2JvZHkKCSAgICAjIHdvdWxkIHJlYWxseSB3cml0ZSBzdWNoIGxvbmcgbGlu ZXMgYnkgaGFuZCBzaW5jZSBpdCBpcwoJICAgICMgaGFyZGx5IG1haW50YWluYWJsZS4gIFNv IGlmIGEgbGluZSBpcyBsb25nZXIgdGhhdCAxMDAwCgkgICAgIyBieXRlcyAoYW4gYXJiaXRy YXJ5IGxpbWl0KSwgYXNzdW1lIGl0IGhhcyBiZWVuCgkgICAgIyBhdXRvbWF0aWNhbGx5IGdl bmVyYXRlZCBieSBzb21lIHRvb2xzLCBhbmQgZmxhdHRlbiB0aGUKCSAgICAjIHZhcmlhYmxl IGRlZmluaXRpb24uICBPdGhlcndpc2UsIGtlZXAgdGhlIHZhcmlhYmxlIGFzIGl0CgkgICAg IyBhcyBiZWVuIGlucHV0LgoJICAgICR2YXJfbG9vayA9IFZBUl9QUkVUVFkgaWYgbGVuZ3Ro ICgkbGFzdF92YXJfdmFsdWUpID49IDEwMDA7CgoJICAgIGlmICghL1xcJC8pCgkgICAgICB7 CgkJQXV0b21ha2U6OlZhcmlhYmxlOjpkZWZpbmUgKCRsYXN0X3Zhcl9uYW1lLCBWQVJfTUFL RUZJTEUsCgkJCQkJICAgICRsYXN0X3Zhcl90eXBlLCAkY29uZCwKCQkJCQkgICAgJGxhc3Rf dmFyX3ZhbHVlLCAkY29tbWVudCwKCQkJCQkgICAgJGxhc3Rfd2hlcmUsICR2YXJfbG9vaykK CQkgIGlmICRjb25kICE9IEZBTFNFOwoJCSRjb21tZW50ID0gJHNwYWNpbmcgPSAnJzsKCQkk dmFyX2xvb2sgPSBWQVJfQVNJUzsKCSAgICAgIH0KCX0KCWVsc2lmICgvJElOQ0xVREVfUEFU VEVSTi9vKQoJewoJICAgIG15ICRwYXRoID0gJDE7CgoJICAgIGlmICgkcGF0aCA9fiBzL15c JFwodG9wX3NyY2RpclwpXC8vLykKCSAgICAgIHsKCQlwdXNoIChAaW5jbHVkZV9zdGFjaywg IlwkXCh0b3Bfc3JjZGlyXCkvJHBhdGgiKTsKCQkjIERpc3RyaWJ1dGUgYW55IGluY2x1ZGVk IGZpbGUuCgoJCSMgQWx3YXlzIHVzZSB0aGUgJCh0b3Bfc3JjZGlyKSBwcmVmaXggaW4gRElT VF9DT01NT04sCgkJIyBvdGhlcndpc2UgT1NGIG1ha2Ugd2lsbCBpbXBsaWNpdGx5IGNvcHkg dGhlIGluY2x1ZGVkCgkJIyBmaWxlIGluIHRoZSBidWlsZCB0cmVlIGR1cmluZyAibWFrZSBk aXN0ZGlyIiB0byBzYXRpc2Z5CgkJIyB0aGUgZGVwZW5kZW5jeS4KCQkjIChzdWJkaXItYW0t Y29uZC5zaCBhbmQgc3ViZGlyLWFjLWNvbmQuc2ggd2lsbCBmYWlsKQoJCXB1c2hfZGlzdF9j b21tb24gKCJcJFwodG9wX3NyY2RpclwpLyRwYXRoIik7CgkgICAgICB9CgkgICAgZWxzZQoJ ICAgICAgewoJCSRwYXRoID1+IHMvXCRcKHNyY2RpclwpXC8vLzsKCQlwdXNoIChAaW5jbHVk ZV9zdGFjaywgIlwkXChzcmNkaXJcKS8kcGF0aCIpOwoJCSMgQWx3YXlzIHVzZSB0aGUgJChz cmNkaXIpIHByZWZpeCBpbiBESVNUX0NPTU1PTiwKCQkjIG90aGVyd2lzZSBPU0YgbWFrZSB3 aWxsIGltcGxpY2l0bHkgY29weSB0aGUgaW5jbHVkZWQKCQkjIGZpbGUgaW4gdGhlIGJ1aWxk IHRyZWUgZHVyaW5nICJtYWtlIGRpc3RkaXIiIHRvIHNhdGlzZnkKCQkjIHRoZSBkZXBlbmRl bmN5LgoJCSMgKHN1YmRpci1hbS1jb25kLnNoIGFuZCBzdWJkaXItYWMtY29uZC5zaCB3aWxs IGZhaWwpCgkJcHVzaF9kaXN0X2NvbW1vbiAoIlwkXChzcmNkaXJcKS8kcGF0aCIpOwoJCSRw YXRoID0gJHJlbGF0aXZlX2RpciAuICIvIiAuICRwYXRoIGlmICRyZWxhdGl2ZV9kaXIgbmUg Jy4nOwoJICAgICAgfQoJICAgIG15ICRuZXdfcmVsZGlyID0gRmlsZTo6U3BlYy0+YWJzMnJl bCAoJHBhdGgsICRyZWxhdGl2ZV9kaXIpOwoJICAgICRuZXdfcmVsZGlyID0gJy4nIGlmICRu ZXdfcmVsZGlyICF+IHMsL1teL10qJCwsOwoJICAgICR3aGVyZS0+cHVzaF9jb250ZXh0ICgi JyRwYXRoJyBpbmNsdWRlZCBmcm9tIGhlcmUiKTsKCSAgICByZWFkX2FtX2ZpbGUgKCRwYXRo LCAkd2hlcmUsICRuZXdfcmVsZGlyKTsKCSAgICAkd2hlcmUtPnBvcF9jb250ZXh0OwoJfQoJ ZWxzZQoJewoJICAgICMgVGhpcyBpc24ndCBhbiBlcnJvcjsgaXQgaXMgcHJvYmFibHkgYSBj b250aW51ZWQgcnVsZS4KCSAgICAjIEluIGZhY3QsIHRoaXMgaXMgd2hhdCB3ZSBhc3N1bWUu CgkgICAgJHByZXZfc3RhdGUgPSBJTl9SVUxFX0RFRjsKCSAgICBjaGVja192YXJpYWJsZV9l eHBhbnNpb25zICgkXywgJHdoZXJlKTsKCSAgICAkb3V0cHV0X3RyYWlsZXIgLj0gJGNvbW1l bnQgLiAkc3BhY2luZzsKCSAgICBteSAkY29uZCA9IG5ldyBBdXRvbWFrZTo6Q29uZGl0aW9u IEBjb25kX3N0YWNrOwoJICAgICRvdXRwdXRfdHJhaWxlciAuPSAkY29uZC0+c3Vic3Rfc3Ry aW5nOwoJICAgICRvdXRwdXRfdHJhaWxlciAuPSAkXzsKCSAgICAkY29tbWVudCA9ICRzcGFj aW5nID0gJyc7CgkgICAgZXJyb3IgJHdoZXJlLCAiJyMnIGNvbW1lbnQgYXQgc3RhcnQgb2Yg cnVsZSBpcyB1bnBvcnRhYmxlIgoJICAgICAgaWYgJF8gPX4gL15cdFxzKlwjLzsKCX0KCgkk c2F3X2JrID0gJG5ld19zYXdfYms7CgkkXyA9ICRhbV9maWxlLT5nZXRsaW5lOwogICAgfQoK ICAgICRvdXRwdXRfdHJhaWxlciAuPSAkY29tbWVudDsKCiAgICBlcnJvciAoJHdoZXJlLCAi dHJhaWxpbmcgYmFja3NsYXNoIG9uIGxhc3QgbGluZSIpCiAgICAgIGlmICRzYXdfYms7Cgog ICAgZXJyb3IgKCR3aGVyZSwgKEBjb25kX3N0YWNrID8gInVudGVybWluYXRlZCBjb25kaXRp b25hbHM6IEBjb25kX3N0YWNrIgoJCSAgICA6ICJ0b28gbWFueSBjb25kaXRpb25hbHMgY2xv c2VkIGluIGluY2x1ZGUgZmlsZSIpKQogICAgICBpZiAiQHNhdmVkX2NvbmRfc3RhY2siIG5l ICJAY29uZF9zdGFjayI7Cn0KCgojIEEgaGVscGVyIGZvciByZWFkX21haW5fYW1fZmlsZSB3 aGljaCBpbml0aWFsaXplcyBjb25maWd1cmUgdmFyaWFibGVzCiMgYW5kIHZhcmlhYmxlcyBm cm9tIGhlYWRlci12YXJzLmFtLgpzdWIgZGVmaW5lX3N0YW5kYXJkX3ZhcmlhYmxlcyAoKQp7 CiAgbXkgJHNhdmVkX291dHB1dF92YXJzID0gJG91dHB1dF92YXJzOwogIG15ICgkY29tbWVu dHMsIHVuZGVmLCAkcnVsZXMpID0KICAgIGZpbGVfY29udGVudHNfaW50ZXJuYWwgKDEsICIk bGliZGlyL2FtL2hlYWRlci12YXJzLmFtIiwKCQkJICAgIG5ldyBBdXRvbWFrZTo6TG9jYXRp b24pOwoKICBmb3JlYWNoIG15ICR2YXIgKHNvcnQga2V5cyAlY29uZmlndXJlX3ZhcnMpCiAg ICB7CiAgICAgIGRlZmluZV9jb25maWd1cmVfdmFyaWFibGUgKCR2YXIpOwogICAgfQoKICAk b3V0cHV0X3ZhcnMgLj0gJGNvbW1lbnRzIC4gJHJ1bGVzOwp9CgoKIyByZWFkX21haW5fYW1f ZmlsZSAoJE1BS0VGSUxFX0FNLCAkTUFLRUZJTEVfSU4pCiMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgcmVhZF9tYWluX2FtX2ZpbGUKewog ICAgbXkgKCRhbWZpbGUsICRpbmZpbGUpID0gQF87CgogICAgIyBUaGlzIHN1cHBvcnRzIHRo ZSBzdHJhbmdlIHZhcmlhYmxlIHRyaWNrcyB3ZSBhcmUgYWJvdXQgdG8gcGxheS4KICAgIHBy b2dfZXJyb3IgKCJ2YXJpYWJsZSBkZWZpbmVkIGJlZm9yZSByZWFkX21haW5fYW1fZmlsZVxu IiAuIHZhcmlhYmxlc19kdW1wICgpKQogICAgICBpZiAoc2NhbGFyICh2YXJpYWJsZXMpID4g MCk7CgogICAgIyBHZW5lcmF0ZSBjb3B5cmlnaHQgaGVhZGVyIGZvciBnZW5lcmF0ZWQgTWFr ZWZpbGUuaW4uCiAgICAjIFdlIGRvIGRpc2NhcmQgdGhlIG91dHB1dCBvZiBwcmVkZWZpbmVk IHZhcmlhYmxlcywgaGFuZGxlZCBiZWxvdy4KICAgICRvdXRwdXRfdmFycyA9ICgiIyAiIC4g YmFzZW5hbWUgKCRpbmZpbGUpIC4gIiBnZW5lcmF0ZWQgYnkgYXV0b21ha2UgIgoJCSAgIC4g JFZFUlNJT04gLiAiIGZyb20gIiAuIGJhc2VuYW1lICgkYW1maWxlKSAuICIuXG4iKTsKICAg ICRvdXRwdXRfdmFycyAuPSAnIyAnIC4gc3Vic3QgKCdjb25maWd1cmVfaW5wdXQnKSAuICJc biI7CiAgICAkb3V0cHV0X3ZhcnMgLj0gJGdlbl9jb3B5cmlnaHQ7CgogICAgIyBXZSB3YW50 IHRvIHByZWRlZmluZSBhcyBtYW55IHZhcmlhYmxlcyBhcyBwb3NzaWJsZS4gIFRoaXMgbGV0 cwogICAgIyB0aGUgdXNlciBzZXQgdGhlbSB3aXRoICcrPScgaW4gTWFrZWZpbGUuYW0uCiAg ICBkZWZpbmVfc3RhbmRhcmRfdmFyaWFibGVzOwoKICAgICMgUmVhZCB1c2VyIGZpbGUsIHdo aWNoIG1pZ2h0IG92ZXJyaWRlIHNvbWUgb2Ygb3VyIHZhbHVlcy4KICAgIHJlYWRfYW1fZmls ZSAoJGFtZmlsZSwgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwgJy4nKTsKfQoKCgojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCgojICRTVFJJTkcKIyBmbGF0dGVuICgkT1JJR0lOQUxfU1RSSU5HKQojIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBmbGF0dGVuCnsKICAkXyA9IHNoaWZ0OwoKICBzL1xc XG4vL3NvbWc7CiAgcy9ccysvIC9nOwogIHMvXiAvLzsKICBzLyAkLy87CgogIHJldHVybiAk XzsKfQoKCiMgdHJhbnNmb3JtX3Rva2VuICgkVE9LRU4sIFwlUEFJUlMsICRLRVkpCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0dXJuIHRoZSB2YWx1 ZSBhc3NvY2lhdGVkIHRvICRLRVkgaW4gJVBBSVJTLCBhcyB1c2VkIG9uICRUT0tFTgojICh3 aGljaCBzaG91bGQgYmUgP0tFWT8gb3IgYW55IG9mIHRoZSBzcGVjaWFsICUlIHJlcXVlc3Rz KS4uCnN1YiB0cmFuc2Zvcm1fdG9rZW4gKCRcJSQpCnsKICBteSAoJHRva2VuLCAkdHJhbnNm b3JtLCAka2V5KSA9IEBfOwogIG15ICRyZXMgPSAkdHJhbnNmb3JtLT57JGtleX07CiAgcHJv Z19lcnJvciAiVW5rbm93biBrZXkgJyRrZXknIGluICckdG9rZW4nIiB1bmxlc3MgZGVmaW5l ZCAkcmVzOwogIHJldHVybiAkcmVzOwp9CgoKIyB0cmFuc2Zvcm0gKCRUT0tFTiwgXCVQQUlS UykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJZiAoJFRPS0VOLCAkVkFMKSBp cyBpbiAlUEFJUlM6CiMgICAtIHJlcGxhY2VzICVLRVklIHdpdGggJFZBTCwKIyAgIC0gZW5h Ymxlcy9kaXNhYmxlcyA/S0VZPyBhbmQgPyFLRVk/LAojICAgLSByZXBsYWNlcyAlP0tFWSUg d2l0aCBUUlVFIG9yIEZBTFNFLgpzdWIgdHJhbnNmb3JtICgkXCUpCnsKICBteSAoJHRva2Vu LCAkdHJhbnNmb3JtKSA9IEBfOwoKICAjICVLRVklLgogICMgTXVzdCBiZSBiZWZvcmUgdGhl IGZvbGxvd2luZyBwYXR0ZXJuIHRvIGV4Y2x1ZGUgdGhlIGNhc2UKICAjIHdoZW4gdGhlcmUg aXMgbmVpdGhlciBJRlRSVUUgbm9yIElGRkFMU0UuCiAgaWYgKCR0b2tlbiA9fiAvXiUoW1x3 XC1dKyklJC8pCiAgICB7CiAgICAgIHJldHVybiB0cmFuc2Zvcm1fdG9rZW4gKCR0b2tlbiwg JSR0cmFuc2Zvcm0sICQxKTsKICAgIH0KICAjICU/S0VZJS4KICBlbHNpZiAoJHRva2VuID1+ IC9eJVw/KFtcd1wtXSspJSQvKQogICAgewogICAgICByZXR1cm4gdHJhbnNmb3JtX3Rva2Vu ICgkdG9rZW4sICUkdHJhbnNmb3JtLCAkMSkgPyAnVFJVRScgOiAnRkFMU0UnOwogICAgfQog ICMgP0tFWT8gYW5kID8hS0VZPy4KICBlbHNpZiAoJHRva2VuID1+IC9eIFw/ICghPykgKFtc d1wtXSspIFw/ICQveCkKICAgIHsKICAgICAgbXkgJG5lZyA9ICgkMSBlcSAnIScpID8gMSA6 IDA7CiAgICAgIG15ICR2YWwgPSB0cmFuc2Zvcm1fdG9rZW4gKCR0b2tlbiwgJSR0cmFuc2Zv cm0sICQyKTsKICAgICAgcmV0dXJuICghISR2YWwgPT0gJG5lZykgPyAnIyMlJyA6ICcnOwog ICAgfQogIGVsc2UKICAgIHsKICAgICAgcHJvZ19lcnJvciAiVW5rbm93biByZXF1ZXN0IGZv cm1hdDogJHRva2VuIjsKICAgIH0KfQoKIyAkVEVYVAojIHByZXByb2Nlc3NfZmlsZSAoJE1B S0VGSUxFLCBbJVRSQU5TRk9STV0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIyBMb2FkIGEgJE1BS0VGSUxFLCBhcHBseSB0aGUgJVRSQU5TRk9STSwg YW5kIHJldHVybiB0aGUgcmVzdWx0LgojIE5vIGV4dHJhIHBhcnNpbmcgb3IgcG9zdC1wcm9j ZXNzaW5nIGlzIGRvbmUgKGkuZS4sIHJlY29nbml0aW9uIG9mCiMgcnVsZXMgZGVjbGFyYXRp b24gb3Igb2YgbWFrZSB2YXJpYWJsZXMgZGVmaW5pdGlvbnMpLgpzdWIgcHJlcHJvY2Vzc19m aWxlCnsKICBteSAoJGZpbGUsICV0cmFuc2Zvcm0pID0gQF87CgogICMgQ29tcGxldGUgJXRy YW5zZm9ybSB3aXRoIGdsb2JhbCBvcHRpb25zLgogICMgTm90ZSB0aGF0ICV0cmFuc2Zvcm0g Z29lcyBsYXN0LCBzbyBpdCBvdmVycmlkZXMgZ2xvYmFsIG9wdGlvbnMuCiAgJXRyYW5zZm9y bSA9ICggJ01BSU5UQUlORVItTU9ERScKCQkgPT4gJHNlZW5fbWFpbnRfbW9kZSA/IHN1YnN0 ICgnTUFJTlRBSU5FUl9NT0RFX1RSVUUnKSA6ICcnLAoKCQkgJ1haJyAgICAgICAgICA9PiAh ISBvcHRpb24gJ2Rpc3QteHonLAoJCSAnTFpJUCcgICAgICAgID0+ICEhIG9wdGlvbiAnZGlz dC1semlwJywKCQkgJ0JaSVAyJyAgICAgICA9PiAhISBvcHRpb24gJ2Rpc3QtYnppcDInLAoJ CSAnQ09NUFJFU1MnICAgID0+ICEhIG9wdGlvbiAnZGlzdC10YXJaJywKCQkgJ0daSVAnICAg ICAgICA9PiAgISBvcHRpb24gJ25vLWRpc3QtZ3ppcCcsCgkJICdTSEFSJyAgICAgICAgPT4g ISEgb3B0aW9uICdkaXN0LXNoYXInLAoJCSAnWklQJyAgICAgICAgID0+ICEhIG9wdGlvbiAn ZGlzdC16aXAnLAoJCSAnWlNURCcgICAgICAgID0+ICEhIG9wdGlvbiAnZGlzdC16c3RkJywK CgkJICdJTlNUQUxMLUlORk8nID0+ICAhIG9wdGlvbiAnbm8taW5zdGFsbGluZm8nLAoJCSAn SU5TVEFMTC1NQU4nICA9PiAgISBvcHRpb24gJ25vLWluc3RhbGxtYW4nLAoJCSAnQ0stTkVX UycgICAgICA9PiAhISBvcHRpb24gJ2NoZWNrLW5ld3MnLAoKCQkgJ1NVQkRJUlMnICAgICAg PT4gISEgdmFyICgnU1VCRElSUycpLAoJCSAnVE9QRElSX1AnICAgICA9PiAkcmVsYXRpdmVf ZGlyIGVxICcuJywKCgkJICdCVUlMRCcgICAgPT4gKCRzZWVuX2Nhbm9uaWNhbCA+PSBBQ19D QU5PTklDQUxfQlVJTEQpLAoJCSAnSE9TVCcgICAgID0+ICgkc2Vlbl9jYW5vbmljYWwgPj0g QUNfQ0FOT05JQ0FMX0hPU1QpLAoJCSAnVEFSR0VUJyAgID0+ICgkc2Vlbl9jYW5vbmljYWwg Pj0gQUNfQ0FOT05JQ0FMX1RBUkdFVCksCgoJCSAnTElCVE9PTCcgICAgICA9PiAhISB2YXIg KCdMSUJUT09MJyksCgkJICdOT05MSUJUT09MJyAgID0+IDEsCgkJJXRyYW5zZm9ybSk7Cgog IGlmICghIGRlZmluZWQgKCRfID0gJGFtX2ZpbGVfY2FjaGV7JGZpbGV9KSkKICAgIHsKICAg ICAgdmVyYiAicmVhZGluZyAkZmlsZSI7CiAgICAgICMgU3dhbGxvdyB0aGUgd2hvbGUgZmls ZS4KICAgICAgbXkgJGZjX2ZpbGUgPSBuZXcgQXV0b21ha2U6OlhGaWxlICI8ICRmaWxlIjsK ICAgICAgbXkgJHNhdmVkX2RvbGxhcl9zbGFzaCA9ICQvOwogICAgICB1bmRlZiAkLzsKICAg ICAgJF8gPSAkZmNfZmlsZS0+Z2V0bGluZTsKICAgICAgJC8gPSAkc2F2ZWRfZG9sbGFyX3Ns YXNoOwogICAgICAkZmNfZmlsZS0+Y2xvc2U7CiAgICAgICMgUmVtb3ZlICMjLWNvbW1lbnRz LgogICAgICAjIEJlc2lkZXMgd2UgZG9uJ3QgbmVlZCBtb3JlIHRoYW4gdHdvIGNvbnNlY3V0 aXZlIG5ldy1saW5lcy4KICAgICAgcy8oPzokSUdOT1JFX1BBVFRFUk58KD88PVxuXG4pXG4r KS8vZ29tOwogICAgICAjIFJlbWVtYmVyIHRoZSBjb250ZW50cyBvZiB0aGUganVzdC1yZWFk IGZpbGUuCiAgICAgICRhbV9maWxlX2NhY2hleyRmaWxlfSA9ICRfOwogICAgfQoKICAjIFN1 YnN0aXR1dGUgQXV0b21ha2UgdGVtcGxhdGUgdG9rZW5zLgogIHMvKD86ICUgXD8/IFtcd1wt XSsgJQogICAgICB8IFw/ICE/IFtcd1wtXSsgXD8KICAgICkvdHJhbnNmb3JtKCQmLCAldHJh bnNmb3JtKS9nZXg7CiAgIyB0cmFuc2Zvcm0oKSBtYXkgaGF2ZSBhZGRlZCBzb21lICMjJS1j b21tZW50cyB0byBzdHJpcC4KICAjICh3ZSB1c2UgJyMjJScgaW5zdGVhZCBvZiAnIyMnIHNv IHdlIGNhbiBkaXN0aW5ndWlzaCAjIyUjIyUjIyUgZnJvbQogICMgIyMjIyMjIyBhbmQgZG8g bm90IHJlbW92ZSB0aGUgbGF0dGVyLikKICBzL15bIFx0XSooPzojIyUpKy4qXG4vL2dtOwoK ICByZXR1cm4gJF87Cn0KCgojIEBQQVJBR1JBUEhTCiMgbWFrZV9wYXJhZ3JhcGhzICgkTUFL RUZJTEUsIFslVFJBTlNGT1JNXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQojIExvYWQgYSAkTUFLRUZJTEUsIGFwcGx5IHRoZSAlVFJBTlNGT1JNLCBh bmQgcmV0dXJuIGl0IGFzIGEgbGlzdCBvZgojIHBhcmFncmFwaHMuCnN1YiBtYWtlX3BhcmFn cmFwaHMKewogIG15ICgkZmlsZSwgJXRyYW5zZm9ybSkgPSBAXzsKICAkdHJhbnNmb3Jte0ZJ UlNUfSA9ICEkdHJhbnNmb3JtZWRfZmlsZXN7JGZpbGV9OwogICR0cmFuc2Zvcm1lZF9maWxl c3skZmlsZX0gPSAxOwoKICBteSBAbGluZXMgPSBzcGxpdCAvKD88IVxcKVxuLywgcHJlcHJv Y2Vzc19maWxlICgkZmlsZSwgJXRyYW5zZm9ybSk7CiAgbXkgQHJlczsKCiAgd2hpbGUgKGRl ZmluZWQgKCRfID0gc2hpZnQgQGxpbmVzKSkKICAgIHsKICAgICAgbXkgJHBhcmFncmFwaCA9 ICRfOwogICAgICAjIElmIHdlIGFyZSBhIHJ1bGUsIGVhdCBhcyBsb25nIGFzIHdlIHN0YXJ0 IHdpdGggYSB0YWIuCiAgICAgIGlmICgvJFJVTEVfUEFUVEVSTi9zbW8pCgl7CgkgIHdoaWxl IChkZWZpbmVkICgkXyA9IHNoaWZ0IEBsaW5lcykgJiYgJF8gPX4gL15cdC8pCgkgICAgewoJ ICAgICAgJHBhcmFncmFwaCAuPSAiXG4kXyI7CgkgICAgfQoJICB1bnNoaWZ0IChAbGluZXMs ICRfKTsKCX0KCiAgICAgICMgSWYgd2UgYXJlIGEgY29tbWVudHMsIGVhdCBhcyBtdWNoIGNv bW1lbnRzIGFzIHlvdSBjYW4uCiAgICAgIGVsc2lmICgvJENPTU1FTlRfUEFUVEVSTi9zbW8p Cgl7CgkgIHdoaWxlIChkZWZpbmVkICgkXyA9IHNoaWZ0IEBsaW5lcykKCQkgJiYgJF8gPX4g LyRDT01NRU5UX1BBVFRFUk4vc21vKQoJICAgIHsKCSAgICAgICRwYXJhZ3JhcGggLj0gIlxu JF8iOwoJICAgIH0KCSAgdW5zaGlmdCAoQGxpbmVzLCAkXyk7Cgl9CgogICAgICBwdXNoIEBy ZXMsICRwYXJhZ3JhcGg7CiAgICB9CgogIHJldHVybiBAcmVzOwp9CgoKCiMgKCRDT01NRU5U LCAkVkFSSUFCTEVTLCAkUlVMRVMpCiMgZmlsZV9jb250ZW50c19pbnRlcm5hbCAoJElTX0FN LCAkRklMRSwgJFdIRVJFLCBbJVRSQU5TRk9STV0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0dXJuIGNvbnRl bnRzIG9mIGEgZmlsZSBmcm9tICRsaWJkaXIvYW0sIGF1dG9tYXRpY2FsbHkgc2tpcHBpbmcK IyBtYWNyb3Mgb3IgcnVsZXMgd2hpY2ggYXJlIGFscmVhZHkga25vd24uICRJU19BTSBpZmYg dGhlIGNhbGxlciBpcwojIHJlYWRpbmcgYW4gQXV0b21ha2UgZmlsZSAoYXMgb3Bwb3NlZCB0 byB0aGUgdXNlcidzIE1ha2VmaWxlLmFtKS4Kc3ViIGZpbGVfY29udGVudHNfaW50ZXJuYWwK ewogICAgbXkgKCRpc19hbSwgJGZpbGUsICR3aGVyZSwgJXRyYW5zZm9ybSkgPSBAXzsKCiAg ICAkd2hlcmUtPnNldCAoJGZpbGUpOwoKICAgIG15ICRyZXN1bHRfdmFycyA9ICcnOwogICAg bXkgJHJlc3VsdF9ydWxlcyA9ICcnOwogICAgbXkgJGNvbW1lbnQgPSAnJzsKICAgIG15ICRz cGFjaW5nID0gJyc7CgogICAgIyBUaGUgZm9sbG93aW5nIGZsYWdzIGFyZSB1c2VkIHRvIHRy YWNrIHJ1bGVzIHNwYW5uaW5nIGFjcm9zcwogICAgIyBtdWx0aXBsZSBwYXJhZ3JhcGhzLgog ICAgbXkgJGlzX3J1bGUgPSAwOwkJIyAxIGlmIHdlIGFyZSBwcm9jZXNzaW5nIGEgcnVsZS4K ICAgIG15ICRkaXNjYXJkX3J1bGUgPSAwOwkjIDEgaWYgdGhlIGN1cnJlbnQgcnVsZSBzaG91 bGQgbm90IGJlIG91dHB1dC4KCiAgICAjIFdlIHNhdmUgdGhlIGNvbmRpdGlvbmFsIHN0YWNr IG9uIGVudHJ5LCBhbmQgdGhlbiBjaGVjayB0byBtYWtlCiAgICAjIHN1cmUgaXQgaXMgdGhl IHNhbWUgb24gZXhpdC4gIFRoaXMgbGV0cyB1cyBjb25kaXRpb25hbGx5IGluY2x1ZGUKICAg ICMgb3RoZXIgZmlsZXMuCiAgICBteSBAc2F2ZWRfY29uZF9zdGFjayA9IEBjb25kX3N0YWNr OwogICAgbXkgJGNvbmQgPSBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiAoQGNvbmRfc3RhY2sp OwoKICAgIGZvcmVhY2ggKG1ha2VfcGFyYWdyYXBocyAoJGZpbGUsICV0cmFuc2Zvcm0pKQog ICAgewoJIyBGSVhNRTogbm8gbGluZSBudW1iZXIgYXZhaWxhYmxlLgoJJHdoZXJlLT5zZXQg KCRmaWxlKTsKCgkjIFNhbml0eSBjaGVja3MuCgllcnJvciAkd2hlcmUsICJibGFuayBsaW5l IGZvbGxvd2luZyB0cmFpbGluZyBiYWNrc2xhc2g6XG4kXyIKCSAgaWYgL1xcJC87CgllcnJv ciAkd2hlcmUsICJjb21tZW50IGZvbGxvd2luZyB0cmFpbGluZyBiYWNrc2xhc2g6XG4kXyIK CSAgaWYgL1xcIy87CgoJaWYgKC9eJC8pCgl7CgkgICAgJGlzX3J1bGUgPSAwOwoJICAgICMg U3RpY2sgZW1wdHkgbGluZSBiZWZvcmUgdGhlIGluY29taW5nIG1hY3JvIG9yIHJ1bGUuCgkg ICAgJHNwYWNpbmcgPSAiXG4iOwoJfQoJZWxzaWYgKC8kQ09NTUVOVF9QQVRURVJOL21zbykK CXsKCSAgICAkaXNfcnVsZSA9IDA7CgkgICAgIyBTdGljayBjb21tZW50cyBiZWZvcmUgdGhl IGluY29taW5nIG1hY3JvIG9yIHJ1bGUuCgkgICAgJGNvbW1lbnQgPSAiJF9cbiI7Cgl9CgoJ IyBIYW5kbGUgaW5jbHVzaW9uIG9mIG90aGVyIGZpbGVzLgoJZWxzaWYgKC8kSU5DTFVERV9Q QVRURVJOL28pCgl7CgkgICAgaWYgKCRjb25kICE9IEZBTFNFKQoJICAgICAgewoJCW15ICRm aWxlID0gKCRpc19hbSA/ICIkbGliZGlyL2FtLyIgOiAnJykgLiAkMTsKCQkkd2hlcmUtPnB1 c2hfY29udGV4dCAoIickZmlsZScgaW5jbHVkZWQgZnJvbSBoZXJlIik7CgkJIyBOLWFyeSAn Lj0nIGZhaWxzLgoJCW15ICgkY29tLCAkdmFycywgJHJ1bGVzKQoJCSAgPSBmaWxlX2NvbnRl bnRzX2ludGVybmFsICgkaXNfYW0sICRmaWxlLCAkd2hlcmUsICV0cmFuc2Zvcm0pOwoJCSR3 aGVyZS0+cG9wX2NvbnRleHQ7CgkJJGNvbW1lbnQgLj0gJGNvbTsKCQkkcmVzdWx0X3ZhcnMg Lj0gJHZhcnM7CgkJJHJlc3VsdF9ydWxlcyAuPSAkcnVsZXM7CgkgICAgICB9Cgl9CgoJIyBI YW5kbGluZyB0aGUgY29uZGl0aW9uYWxzLgoJZWxzaWYgKC8kSUZfUEFUVEVSTi9vKQoJICB7 CgkgICAgJGNvbmQgPSBjb25kX3N0YWNrX2lmICgkMSwgJDIsICRmaWxlKTsKCSAgfQoJZWxz aWYgKC8kRUxTRV9QQVRURVJOL28pCgkgIHsKCSAgICAkY29uZCA9IGNvbmRfc3RhY2tfZWxz ZSAoJDEsICQyLCAkZmlsZSk7CgkgIH0KCWVsc2lmICgvJEVORElGX1BBVFRFUk4vbykKCSAg ewoJICAgICRjb25kID0gY29uZF9zdGFja19lbmRpZiAoJDEsICQyLCAkZmlsZSk7CgkgIH0K CgkjIEhhbmRsaW5nIHJ1bGVzLgoJZWxzaWYgKC8kUlVMRV9QQVRURVJOL21zbykKCXsKCSAg JGlzX3J1bGUgPSAxOwoJICAkZGlzY2FyZF9ydWxlID0gMDsKCSAgIyBTZXBhcmF0ZSByZWxh dGlvbnNoaXAgZnJvbSBvcHRpb25hbCBhY3Rpb25zOiB0aGUgZmlyc3QKCSAgIyBgbmV3LWxp bmUgdGFiIiBub3QgcHJlY2VkZWQgYnkgYmFja3NsYXNoIChjb250aW51YXRpb24KCSAgIyBs aW5lKS4KCSAgbXkgJHBhcmFncmFwaCA9ICRfOwoJICAvXiguKj8pKD86KD88IVxcKVxuKFx0 LiopKT8kL3M7CgkgIG15ICgkcmVsYXRpb25zaGlwLCAkYWN0aW9ucykgPSAoJDEsICQyIHx8 ICcnKTsKCgkgICMgU2VwYXJhdGUgdGFyZ2V0cyBmcm9tIGRlcGVuZGVuY2llczogdGhlIGZp cnN0IGNvbG9uLgoJICAkcmVsYXRpb25zaGlwID1+IC9eKFteOl0rXFMrKSAqOiAqKC4qKSQv c29tOwoJICBteSAoJHRhcmdldHMsICRkZXBlbmRlbmNpZXMpID0gKCQxLCAkMik7CgkgICMg UmVtb3ZlIHRoZSBlc2NhcGVkIG5ldyBsaW5lcy4KCSAgIyBJIGRvbid0IGtub3cgd2h5LCBi dXQgSSBoYXZlIHRvIHVzZSBhIHRtcCAkZmxhdF9kZXBzLgoJICBteSAkZmxhdF9kZXBzID0g ZmxhdHRlbiAoJGRlcGVuZGVuY2llcyk7CgkgIG15IEBkZXBzID0gc3BsaXQgKCcgJywgJGZs YXRfZGVwcyk7CgoJICBmb3JlYWNoIChzcGxpdCAoJyAnLCAkdGFyZ2V0cykpCgkgICAgewoJ ICAgICAgIyBGSVhNRTogMS4gV2UgYXJlIG5vdCByb2J1c3QgdG8gcGVvcGxlIGRlZmluaW5n IHNldmVyYWwgdGFyZ2V0cwoJICAgICAgIyBhdCBvbmNlLCBvbmx5IHNvbWUgb2YgdGhlbSBi ZWluZyBpbiAlZGVwZW5kZW5jaWVzLiAgVGhlCgkgICAgICAjIGFjdGlvbnMgZnJvbSB0aGUg dGFyZ2V0cyBpbiAlZGVwZW5kZW5jaWVzIGFyZSB1c3VhbGx5IGdlbmVyYXRlZAoJICAgICAg IyBmcm9tIHRoZSBjb250ZW50IG9mICVhY3Rpb25zLCBidXQgaWYgc29tZSB0YXJnZXRzIGlu ICR0YXJnZXRzCgkgICAgICAjIGFyZSBub3QgaW4gJWRlcGVuZGVuY2llcyB0aGUgRUxTRSBi cmFuY2ggd2lsbCBvdXRwdXQKCSAgICAgICMgYSBydWxlIGZvciBhbGwgJHRhcmdldHMgKGku ZS4gdGhlIHRhcmdldHMgd2hpY2ggYXJlIGJvdGgKCSAgICAgICMgaW4gJWRlcGVuZGVuY2ll cyBhbmQgJHRhcmdldHMgd2lsbCBoYXZlIHR3byBydWxlcykuCgoJICAgICAgIyBGSVhNRTog Mi4gVGhlIGxvZ2ljIGhlcmUgaXMgbm90IGFibGUgdG8gb3V0cHV0IGEKCSAgICAgICMgbXVs dGktcGFyYWdyYXBoIHJ1bGUgc2V2ZXJhbCB0aW1lIChlLmcuIGZvciBlYWNoIGNvbmRpdGlv bgoJICAgICAgIyBpdCBpcyBkZWZpbmVkIGZvcikgYmVjYXVzZSBpdCBvbmx5IGtub3dzIHRo ZSBmaXJzdCBwYXJhZ3JhcGguCgoJICAgICAgIyBGSVhNRTogMy4gV2UgYXJlIG5vdCByb2J1 c3QgdG8gcGVvcGxlIGRlZmluaW5nIGEgc3Vic2V0CgkgICAgICAjIG9mIGEgcHJldmlvdXNs eSBkZWZpbmVkICJtdWx0aXBsZS10YXJnZXQiIHJ1bGUuICBFLmcuCgkgICAgICAjICdmb286 JyBhZnRlciAnZm9vIGJhcjonLgoKCSAgICAgICMgT3V0cHV0IG9ubHkgaWYgbm90IGluIEZB TFNFLgoJICAgICAgaWYgKGRlZmluZWQgJGRlcGVuZGVuY2llc3skX30gJiYgJGNvbmQgIT0g RkFMU0UpCgkJewoJCSAgZGVwZW5kICgkXywgQGRlcHMpOwoJCSAgcmVnaXN0ZXJfYWN0aW9u ICgkXywgJGFjdGlvbnMpOwoJCX0KCSAgICAgIGVsc2UKCQl7CgkJICAjIEZyZWUtbGFuY2Ug ZGVwZW5kZW5jeS4gIE91dHB1dCB0aGUgcnVsZSBmb3IgYWxsIHRoZQoJCSAgIyB0YXJnZXRz IGluc3RlYWQgb2Ygb25lIGJ5IG9uZS4KCQkgIG15IEB1bmRlZmluZWRfY29uZHMgPQoJCSAg ICBBdXRvbWFrZTo6UnVsZTo6ZGVmaW5lICgkdGFyZ2V0cywgJGZpbGUsCgkJCQkJICAgICRp c19hbSA/IFJVTEVfQVVUT01BS0UgOiBSVUxFX1VTRVIsCgkJCQkJICAgICRjb25kLCAkd2hl cmUpOwoJCSAgZm9yIG15ICR1bmRlZmluZWRfY29uZCAoQHVuZGVmaW5lZF9jb25kcykKCQkg ICAgewoJCSAgICAgIG15ICRjb25kcGFyYWdyYXBoID0gJHBhcmFncmFwaDsKCQkgICAgICAk Y29uZHBhcmFncmFwaCA9fiBzL14vJHVuZGVmaW5lZF9jb25kLT5zdWJzdF9zdHJpbmcvZ21l OwoJCSAgICAgICRyZXN1bHRfcnVsZXMgLj0gIiRzcGFjaW5nJGNvbW1lbnQkY29uZHBhcmFn cmFwaFxuIjsKCQkgICAgfQoJCSAgaWYgKHNjYWxhciBAdW5kZWZpbmVkX2NvbmRzID09IDAp CgkJICAgIHsKCQkgICAgICAjIFJlbWVtYmVyIHRvIGRpc2NhcmQgbmV4dCBwYXJhZ3JhcGhz CgkJICAgICAgIyBpZiB0aGV5IGJlbG9uZyB0byB0aGlzIHJ1bGUuCgkJICAgICAgIyAoYnV0 IHNlZSBhbHNvIEZJWE1FOiAjMiBhYm92ZS4pCgkJICAgICAgJGRpc2NhcmRfcnVsZSA9IDE7 CgkJICAgIH0KCQkgICRjb21tZW50ID0gJHNwYWNpbmcgPSAnJzsKCQkgIGxhc3Q7CgkJfQoJ ICAgIH0KCX0KCgllbHNpZiAoLyRBU1NJR05NRU5UX1BBVFRFUk4vbXNvKQoJewoJICAgIG15 ICgkdmFyLCAkdHlwZSwgJHZhbCkgPSAoJDEsICQyLCAkMyk7CgkgICAgZXJyb3IgJHdoZXJl LCAidmFyaWFibGUgJyR2YXInIHdpdGggdHJhaWxpbmcgYmFja3NsYXNoIgoJICAgICAgaWYg L1xcJC87CgoJICAgICRpc19ydWxlID0gMDsKCgkgICAgQXV0b21ha2U6OlZhcmlhYmxlOjpk ZWZpbmUgKCR2YXIsCgkJCQkJJGlzX2FtID8gVkFSX0FVVE9NQUtFIDogVkFSX01BS0VGSUxF LAoJCQkJCSR0eXBlLCAkY29uZCwgJHZhbCwgJGNvbW1lbnQsICR3aGVyZSwKCQkJCQlWQVJf QVNJUykKCSAgICAgIGlmICRjb25kICE9IEZBTFNFOwoKCSAgICAkY29tbWVudCA9ICRzcGFj aW5nID0gJyc7Cgl9CgllbHNlCgl7CgkgICAgIyBUaGlzIGlzbid0IGFuIGVycm9yOyBpdCBp cyBwcm9iYWJseSBzb21lIHRva2VucyB3aGljaAoJICAgICMgY29uZmlndXJlIGlzIHN1cHBv c2VkIHRvIHJlcGxhY2UsIHN1Y2ggYXMgJ0BTRVQtTUFLRUAnLAoJICAgICMgb3Igc29tZSBw YXJ0IG9mIGEgcnVsZSBjdXQgYnkgYW4gaWYvZW5kaWYuCgkgICAgaWYgKCEgJGNvbmQtPmZh bHNlICYmICEgKCRpc19ydWxlICYmICRkaXNjYXJkX3J1bGUpKQoJICAgICAgewoJCXMvXi8k Y29uZC0+c3Vic3Rfc3RyaW5nL2dtZTsKCQkkcmVzdWx0X3J1bGVzIC49ICIkc3BhY2luZyRj b21tZW50JF9cbiI7CgkgICAgICB9CgkgICAgJGNvbW1lbnQgPSAkc3BhY2luZyA9ICcnOwoJ fQogICAgfQoKICAgIGVycm9yICgkd2hlcmUsIEBjb25kX3N0YWNrID8KCSAgICJ1bnRlcm1p bmF0ZWQgY29uZGl0aW9uYWxzOiBAY29uZF9zdGFjayIgOgoJICAgInRvbyBtYW55IGNvbmRp dGlvbmFscyBjbG9zZWQgaW4gaW5jbHVkZSBmaWxlIikKICAgICAgaWYgIkBzYXZlZF9jb25k X3N0YWNrIiBuZSAiQGNvbmRfc3RhY2siOwoKICAgIHJldHVybiAoJGNvbW1lbnQsICRyZXN1 bHRfdmFycywgJHJlc3VsdF9ydWxlcyk7Cn0KCgojICRDT05URU5UUwojIGZpbGVfY29udGVu dHMgKCRCQVNFTkFNRSwgJFdIRVJFLCBbJVRSQU5TRk9STV0pCiMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZXR1cm4gY29udGVudHMgb2Yg YSBmaWxlIGZyb20gJGxpYmRpci9hbSwgYXV0b21hdGljYWxseSBza2lwcGluZwojIG1hY3Jv cyBvciBydWxlcyB3aGljaCBhcmUgYWxyZWFkeSBrbm93bi4Kc3ViIGZpbGVfY29udGVudHMK ewogICAgbXkgKCRiYXNlbmFtZSwgJHdoZXJlLCAldHJhbnNmb3JtKSA9IEBfOwogICAgbXkg KCRjb21tZW50cywgJHZhcmlhYmxlcywgJHJ1bGVzKSA9CiAgICAgIGZpbGVfY29udGVudHNf aW50ZXJuYWwgKDEsICIkbGliZGlyL2FtLyRiYXNlbmFtZS5hbSIsICR3aGVyZSwKCQkJICAg ICAgJXRyYW5zZm9ybSk7CiAgICByZXR1cm4gIiRjb21tZW50cyR2YXJpYWJsZXMkcnVsZXMi Owp9CgoKIyBAUFJFRklYCiMgYW1fcHJpbWFyeV9wcmVmaXhlcyAoJFBSSU1BUlksICRDQU5f RElTVCwgQFBSRUZJWEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIyBGaW5kIGFsbCB2YXJpYWJsZSBwcmVmaXhlcyB0aGF0IGFy ZSB1c2VkIGZvciBpbnN0YWxsIGRpcmVjdG9yaWVzLiAgQQojIHByZWZpeCAnemFyJyBxdWFs aWZpZXMgaWZmOgojCiMgKiAnemFyZGlyJyBpcyBhIHZhcmlhYmxlLgojICogJ3phcl9QUklN QVJZJyBpcyBhIHZhcmlhYmxlLgojCiMgQXMgYSBzaWRlIGVmZmVjdCwgaXQgbG9va3MgZm9y IG1pc3NwZWxsaW5ncy4gIEl0IGlzIGFuIGVycm9yIHRvIGhhdmUKIyBhIHZhcmlhYmxlIGVu ZGluZyBpbiBhICJyZXNlcnZlZCIgc3VmZml4IHdob3NlIHByZWZpeCBpcyB1bmtub3duLCBl LmcuCiMgImJuaV9QUk9HUkFNUyIuICBIb3dldmVyLCB1bnVzdWFsIHByZWZpeGVzIGFyZSBh bGxvd2VkIGlmIGEgdmFyaWFibGUKIyBvZiB0aGUgc2FtZSBuYW1lICh3aXRoICJkaXIiIGFw cGVuZGVkKSBleGlzdHMuICBGb3IgaW5zdGFuY2UsIGlmIHRoZQojIHZhcmlhYmxlICJ6YXJk aXIiIGlzIGRlZmluZWQsIHRoZW4gInphcl9QUk9HUkFNUyIgYmVjb21lcyB2YWxpZC4KIyBU aGlzIGlzIHRvIHByb3ZpZGUgYSBsaXR0bGUgZXh0cmEgZmxleGliaWxpdHkgaW4gdGhvc2Ug Y2FzZXMgd2hpY2gKIyBuZWVkIGl0LgpzdWIgYW1fcHJpbWFyeV9wcmVmaXhlcwp7CiAgbXkg KCRwcmltYXJ5LCAkY2FuX2Rpc3QsIEBwcmVmaXhlcykgPSBAXzsKCiAgbG9jYWwgJF87CiAg bXkgJXZhbGlkID0gbWFwIHsgJF8gPT4gMCB9IEBwcmVmaXhlczsKICAkdmFsaWR7J0VYVFJB J30gPSAwOwogIGZvcmVhY2ggbXkgJHZhciAodmFyaWFibGVzICRwcmltYXJ5KQogICAgewog ICAgICAjIEF1dG9tYWtlIGlzIGFsbG93ZWQgdG8gZGVmaW5lIHZhcmlhYmxlcyB0aGF0IGxv b2sgbGlrZSBwcmltYXJpZXMKICAgICAgIyBidXQgd2hpY2ggYXJlbid0LiAgRS5nLiBJTlNU QUxMX3NoX0RBVEEuCiAgICAgICMgQXV0b2NvbmYgY2FuIGFsc28gZGVmaW5lIHZhcmlhYmxl cyBsaWtlIElOU1RBTExfREFUQSwgc28KICAgICAgIyBpZ25vcmUgYWxsIGNvbmZpZ3VyZSB2 YXJpYWJsZXMgKGF0IGxlYXN0IHRob3NlIHdoaWNoIGFyZSBub3QKICAgICAgIyByZWRlZmlu ZWQgaW4gTWFrZWZpbGUuYW0pLgogICAgICAjIEZJWE1FOiBXZSBzaG91bGQgbWFrZSBzdXJl IHRoYXQgdGhlc2UgdmFyaWFibGVzIGFyZSBub3QKICAgICAgIyBjb25kaXRpb25hbGx5IGRl ZmluZWQgKG9yIGVsc2UgYWRqdXN0IHRoZSBjb25kaXRpb24gYmVsb3cpLgogICAgICBteSAk ZGVmID0gJHZhci0+ZGVmIChUUlVFKTsKICAgICAgbmV4dCBpZiAkZGVmICYmICRkZWYtPm93 bmVyICE9IFZBUl9NQUtFRklMRTsKCiAgICAgIG15ICR2YXJuYW1lID0gJHZhci0+bmFtZTsK CiAgICAgIGlmICgkdmFybmFtZSA9fiAvXihub2Jhc2VfKT8oZGlzdF98bm9kaXN0Xyk/KC4q KV9bWzphbG51bTpdXSskLykKCXsKCSAgbXkgKCRiYXNlLCAkZGlzdCwgJFgpID0gKCQxIHx8 ICcnLCAkMiB8fCAnJywgJDMgfHwgJycpOwoJICBpZiAoJGRpc3QgbmUgJycgJiYgISAkY2Fu X2Rpc3QpCgkgICAgewoJICAgICAgZXJyX3ZhciAoJHZhciwKCQkgICAgICAgImludmFsaWQg dmFyaWFibGUgJyR2YXJuYW1lJzogJ2Rpc3QnIGlzIGZvcmJpZGRlbiIpOwoJICAgIH0KCSAg IyBTdGFuZGFyZCBkaXJlY3RvcmllcyBtdXN0IGJlIGV4cGxpY2l0bHkgYWxsb3dlZC4KCSAg ZWxzaWYgKCEgZGVmaW5lZCAkdmFsaWR7JFh9ICYmIGV4aXN0cyAkc3RhbmRhcmRfcHJlZml4 eyRYfSkKCSAgICB7CgkgICAgICBlcnJfdmFyICgkdmFyLAoJCSAgICAgICAiJyR7WH1kaXIn IGlzIG5vdCBhIGxlZ2l0aW1hdGUgZGlyZWN0b3J5ICIgLgoJCSAgICAgICAiZm9yICckcHJp bWFyeSciKTsKCSAgICB9CgkgICMgQSBub3QgZXhwbGljaXRseSB2YWxpZCBkaXJlY3Rvcnkg aXMgYWxsb3dlZCBpZiBYZGlyIGlzIGRlZmluZWQuCgkgIGVsc2lmICghIGRlZmluZWQgJHZh bGlkeyRYfSAmJgoJCSAkdmFyLT5yZXF1aXJlc192YXJpYWJsZXMgKCInJHZhcm5hbWUnIGlz IHVzZWQiLCAiJHtYfWRpciIpKQoJICAgIHsKCSAgICAgICMgTm90aGluZyB0byBkby4gIEFu eSBlcnJvciBtZXNzYWdlIGhhcyBiZWVuIG91dHB1dAoJICAgICAgIyBieSAkdmFyLT5yZXF1 aXJlc192YXJpYWJsZXMuCgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgIyBFbnN1cmUg YWxsIGV4dGVuZGVkIHByZWZpeGVzIGFyZSBhY3R1YWxseSB1c2VkLgoJICAgICAgJHZhbGlk eyIkYmFzZSRkaXN0JFgifSA9IDE7CgkgICAgfQoJfQogICAgICBlbHNlCgl7CgkgIHByb2df ZXJyb3IgInVuZXhwZWN0ZWQgdmFyaWFibGUgbmFtZTogJHZhcm5hbWUiOwoJfQogICAgfQoK ICAjIFJldHVybiBvbmx5IHRob3NlIHdoaWNoIGFyZSBhY3R1YWxseSBkZWZpbmVkLgogIHJl dHVybiBzb3J0IGdyZXAgeyB2YXIgKCRfIC4gJ18nIC4gJHByaW1hcnkpIH0ga2V5cyAldmFs aWQ7Cn0KCgojIGFtX2luc3RhbGxfdmFyICgtT1BUSU9OLi4uLCBmaWxlLCBIT1csIHdoZXJl Li4uKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQojCiMgSGFuZGxlICd3aGVyZV9IT1cnIHZhcmlhYmxlIG1hZ2ljLiAgRG9lcyBhbGwgbG9v a3VwcywgZ2VuZXJhdGVzCiMgaW5zdGFsbCBjb2RlLCBhbmQgcG9zc2libHkgZ2VuZXJhdGVz IGNvZGUgdG8gZGVmaW5lIHRoZSBwcmltYXJ5CiMgdmFyaWFibGUuICBUaGUgZmlyc3QgYXJn dW1lbnQgaXMgdGhlIG5hbWUgb2YgdGhlIC5hbSBmaWxlIHRvIG11bmdlLAojIHRoZSBzZWNv bmQgYXJndW1lbnQgaXMgdGhlIHByaW1hcnkgdmFyaWFibGUgKGUuZy4gSEVBREVSUyksIGFu ZCBhbGwKIyBzdWJzZXF1ZW50IGFyZ3VtZW50cyBhcmUgcG9zc2libGUgaW5zdGFsbGF0aW9u IGxvY2F0aW9ucy4KIwojIFJldHVybnMgbGlzdCBvZiBbJGxvY2F0aW9uLCAkdmFsdWVdIHBh aXJzLCB3aGVyZQojICR2YWx1ZSdzIGFyZSB0aGUgdmFsdWVzIGluIGFsbCB3aGVyZV9IT1cg dmFyaWFibGUsIGFuZCAkbG9jYXRpb24KIyB0aGVyZSBhc3NvY2lhdGVkIGxvY2F0aW9uICh0 aGUgcGxhY2UgaGVyZSB0aGVpciBwYXJlbnQgdmFyaWFibGVzIHdlcmUKIyBkZWZpbmVkKS4K IwojIEZJWE1FOiB0aGlzIHNob3VsZCBiZSByZXdyaXR0ZW4gdG8gYmUgY2xlYW5lci4gIEl0 IHNob3VsZCBiZSBicm9rZW4KIyB1cCBpbnRvIG11bHRpcGxlIGZ1bmN0aW9ucy4KIwpzdWIg YW1faW5zdGFsbF92YXIKewogIG15IChAYXJncykgPSBAXzsKCiAgbXkgJGRvX3JlcXVpcmUg PSAxOwogIG15ICRjYW5fZGlzdCA9IDA7CiAgbXkgJGRlZmF1bHRfZGlzdCA9IDA7CiAgd2hp bGUgKEBhcmdzKQogICAgewogICAgICBpZiAoJGFyZ3NbMF0gZXEgJy1ub2V4dHJhJykKCXsK CSAgJGRvX3JlcXVpcmUgPSAwOwoJfQogICAgICBlbHNpZiAoJGFyZ3NbMF0gZXEgJy1jYW5k aXN0JykKCXsKCSAgJGNhbl9kaXN0ID0gMTsKCX0KICAgICAgZWxzaWYgKCRhcmdzWzBdIGVx ICctZGVmYXVsdGRpc3QnKQoJewoJICAkZGVmYXVsdF9kaXN0ID0gMTsKCSAgJGNhbl9kaXN0 ID0gMTsKCX0KICAgICAgZWxzaWYgKCRhcmdzWzBdICF+IC9eLS8pCgl7CgkgIGxhc3Q7Cgl9 CiAgICAgIHNoaWZ0IChAYXJncyk7CiAgICB9CgogIG15ICgkZmlsZSwgJHByaW1hcnksIEBw cmVmaXgpID0gQGFyZ3M7CgogICMgTm93IHRoYXQgY29uZmlndXJlIHN1YnN0aXR1dGlvbnMg YXJlIGFsbG93ZWQgaW4gd2hlcmVfSE9XCiAgIyB2YXJpYWJsZXMsIGl0IGlzIGFuIGVycm9y IHRvIGFjdHVhbGx5IGRlZmluZSB0aGUgcHJpbWFyeS4gIFdlCiAgIyBhbGxvdyAnSkFWQScs IGFzIGl0IGlzIGN1c3RvbWFyaWx5IHVzZWQgdG8gbWVhbiB0aGUgSmF2YQogICMgaW50ZXJw cmV0ZXIuICBUaGlzIGlzIGJ1dCBvbmUgb2Ygc2V2ZXJhbCBKYXZhIGhhY2tzLiAgU2ltaWxh cmx5LAogICMgJ1BZVEhPTicgaXMgY3VzdG9tYXJpbHkgdXNlZCB0byBtZWFuIHRoZSBQeXRo b24gaW50ZXJwcmV0ZXIuCiAgcmVqZWN0X3ZhciAkcHJpbWFyeSwgIickcHJpbWFyeScgaXMg YW4gYW5hY2hyb25pc20iCiAgICB1bmxlc3MgJHByaW1hcnkgZXEgJ0pBVkEnIHx8ICRwcmlt YXJ5IGVxICdQWVRIT04nOwoKICAjIEdldCB0aGUgcHJlZml4ZXMgd2hpY2ggYXJlIHZhbGlk IGFuZCBhY3R1YWxseSB1c2VkLgogIEBwcmVmaXggPSBhbV9wcmltYXJ5X3ByZWZpeGVzICgk cHJpbWFyeSwgJGNhbl9kaXN0LCBAcHJlZml4KTsKCiAgIyBJZiBhIHByaW1hcnkgaW5jbHVk ZXMgYSBjb25maWd1cmUgc3Vic3RpdHV0aW9uLCB0aGVuIHRoZSBFWFRSQV8KICAjIGZvcm0g aXMgcmVxdWlyZWQuICBPdGhlcndpc2Ugd2UgY2FuJ3QgcHJvcGVybHkgZG8gb3VyIGpvYi4K ICBteSAkcmVxdWlyZV9leHRyYTsKCiAgbXkgQHVzZWQgPSAoKTsKICBteSBAcmVzdWx0ID0g KCk7CgogIGZvcmVhY2ggbXkgJFggKEBwcmVmaXgpCiAgICB7CiAgICAgIG15ICRub2Rpcl9u YW1lID0gJFg7CiAgICAgIG15ICRvbmVfbmFtZSA9ICRYIC4gJ18nIC4gJHByaW1hcnk7CiAg ICAgIG15ICRvbmVfdmFyID0gdmFyICRvbmVfbmFtZTsKCiAgICAgIG15ICRzdHJpcF9zdWJk aXIgPSAxOwogICAgICAjIElmIHN1YmRpciBwcmVmaXggc2hvdWxkIGJlIHByZXNlcnZlZCwg ZG8gc28uCiAgICAgIGlmICgkbm9kaXJfbmFtZSA9fiAvXm5vYmFzZV8vKQoJewoJICAkc3Ry aXBfc3ViZGlyID0gMDsKCSAgJG5vZGlyX25hbWUgPX4gcy9ebm9iYXNlXy8vOwoJfQoKICAg ICAgIyBJZiBmaWxlcyBzaG91bGQgYmUgZGlzdHJpYnV0ZWQsIGRvIHNvLgogICAgICBteSAk ZGlzdF9wID0gMDsKICAgICAgaWYgKCRjYW5fZGlzdCkKCXsKCSAgJGRpc3RfcCA9ICgoJGRl ZmF1bHRfZGlzdCAmJiAkbm9kaXJfbmFtZSAhfiAvXm5vZGlzdF8vKQoJCSAgICAgfHwgKCEg JGRlZmF1bHRfZGlzdCAmJiAkbm9kaXJfbmFtZSA9fiAvXmRpc3RfLykpOwoJICAkbm9kaXJf bmFtZSA9fiBzL14oZGlzdHxub2Rpc3QpXy8vOwoJfQoKCiAgICAgICMgVXNlIHRoZSBsb2Nh dGlvbiBvZiB0aGUgY3VycmVudGx5IHByb2Nlc3NlZCB2YXJpYWJsZS4KICAgICAgIyBXZSBh cmUgbm90IHByb2Nlc3NpbmcgYSBwYXJ0aWN1bGFyIGNvbmRpdGlvbiwgc28gcGljayB0aGUg Zmlyc3QKICAgICAgIyBhdmFpbGFibGUuCiAgICAgIG15ICR0bXBjb25kID0gJG9uZV92YXIt PmNvbmRpdGlvbnMtPm9uZV9jb25kOwogICAgICBteSAkd2hlcmUgPSAkb25lX3Zhci0+cmRl ZiAoJHRtcGNvbmQpLT5sb2NhdGlvbi0+Y2xvbmU7CgogICAgICAjIEFwcGVuZCBhY3R1YWwg Y29udGVudHMgb2Ygd2hlcmVfUFJJTUFSWSB2YXJpYWJsZSB0bwogICAgICAjIEByZXN1bHQs IHNraXBwaW5nIEBzdWJzdGl0dXRpb25zQC4KICAgICAgZm9yZWFjaCBteSAkbG9jdmFscyAo JG9uZV92YXItPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlIChsb2NhdGlvbiA9PiAxKSkKCXsK CSAgbXkgKCRsb2MsICR2YWx1ZSkgPSBAJGxvY3ZhbHM7CgkgICMgU2tpcCBjb25maWd1cmUg c3Vic3RpdHV0aW9ucy4KCSAgaWYgKCR2YWx1ZSA9fiAvXlxALipcQCQvKQoJICAgIHsKCSAg ICAgIGlmICgkbm9kaXJfbmFtZSBlcSAnRVhUUkEnKQoJCXsKCQkgIGVycm9yICgkd2hlcmUs CgkJCSAiJyRvbmVfbmFtZScgY29udGFpbnMgY29uZmlndXJlIHN1YnN0aXR1dGlvbiwgIgoJ CQkgLiAiYnV0IHNob3VsZG4ndCIpOwoJCX0KCSAgICAgICMgQ2hlY2sgaGVyZSB0byBtYWtl IHN1cmUgdmFyaWFibGVzIGRlZmluZWQgaW4KCSAgICAgICMgY29uZmlndXJlLmFjIGRvIG5v dCBpbXBseSB0aGF0IEVYVFJBX1BSSU1BUlkKCSAgICAgICMgbXVzdCBiZSBkZWZpbmVkLgoJ ICAgICAgZWxzaWYgKCEgZGVmaW5lZCAkY29uZmlndXJlX3ZhcnN7JG9uZV9uYW1lfSkKCQl7 CgkJICAkcmVxdWlyZV9leHRyYSA9ICRvbmVfbmFtZQoJCSAgICBpZiAkZG9fcmVxdWlyZTsK CQl9CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgIyBTdHJpcCBhbnkgJChFWEVFWFQp IHN1ZmZpeCB0aGUgdXNlciBtaWdodCBoYXZlIGFkZGVkLAogICAgICAgICAgICAgICMgb3Ig dGhpcyB3aWxsIGNvbmZ1c2UgaGFuZGxlX3NvdXJjZV90cmFuc2Zvcm0oKSBhbmQKICAgICAg ICAgICAgICAjIGNoZWNrX2Nhbm9uaWNhbF9zcGVsbGluZygpLgoJICAgICAgIyBXZSdsbCBh ZGQgJChFWEVFWFQpIGJhY2sgbGF0ZXIgYW55d2F5LgoJICAgICAgIyBEbyBpdCBoZXJlIHJh dGhlciB0aGFuIGluIGhhbmRsZV9wcm9ncmFtcyBzbyB0aGUKICAgICAgICAgICAgICAjIHVu aXF1aWZ5aW5nIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbiB3b3Jrcy4KCSAgICAgICR7 JGxvY3ZhbHN9WzFdID1+IHMvXCRcKEVYRUVYVFwpJC8vCgkgICAgICAgIGlmICRwcmltYXJ5 IGVxICdQUk9HUkFNUyc7CgoJICAgICAgcHVzaCAoQHJlc3VsdCwgJGxvY3ZhbHMpOwoJICAg IH0KCX0KICAgICAgIyBBIGJsYXRhbnQgaGFjazogd2UgcmV3cml0ZSBlYWNoIF9QUk9HUkFN UyBwcmltYXJ5IHRvIGluY2x1ZGUKICAgICAgIyBFWEVFWFQuCiAgICAgIGFwcGVuZF9leGVl eHQgeyAxIH0gJG9uZV9uYW1lCglpZiAkcHJpbWFyeSBlcSAnUFJPR1JBTVMnOwogICAgICAj ICJFWFRSQSIgc2hvdWxkbid0IGJlIHVzZWQgd2hlbiBnZW5lcmF0aW5nIGNsZWFuIHRhcmdl dHMsCiAgICAgICMgYWxsLCBvciBpbnN0YWxsIHRhcmdldHMuICBXZSB1c2VkIHRvIHdhcm4g aWYgRVhUUkFfRk9PIHdhcwogICAgICAjIGRlZmluZWQgdXNlbGVzc2x5LCBidXQgdGhpcyB3 YXMgYW5ub3lpbmcuCiAgICAgIG5leHQKCWlmICRub2Rpcl9uYW1lIGVxICdFWFRSQSc7Cgog ICAgICBpZiAoJG5vZGlyX25hbWUgZXEgJ2NoZWNrJykKCXsKCSAgcHVzaCAoQGNoZWNrLCAn JCgnIC4gJG9uZV9uYW1lIC4gJyknKTsKCX0KICAgICAgZWxzZQoJewoJICBwdXNoIChAdXNl ZCwgJyQoJyAuICRvbmVfbmFtZSAuICcpJyk7Cgl9CgogICAgICAjIElzIHRoaXMgdG8gYmUg aW5zdGFsbGVkPwogICAgICBteSAkaW5zdGFsbF9wID0gJG5vZGlyX25hbWUgbmUgJ25vaW5z dCcgJiYgJG5vZGlyX25hbWUgbmUgJ2NoZWNrJzsKCiAgICAgICMgSWYgc28sIHdpdGggaW5z dGFsbC1leGVjPyAob3IgaW5zdGFsbC1kYXRhPykuCiAgICAgIG15ICRleGVjX3AgPSAoJG5v ZGlyX25hbWUgPX4gLyRFWEVDX0RJUl9QQVRURVJOL28pOwoKICAgICAgbXkgJGNoZWNrX29w dGlvbnNfcCA9ICRpbnN0YWxsX3AgJiYgISEgb3B0aW9uICdzdGQtb3B0aW9ucyc7CgogICAg ICAjIFVzZSB0aGUgbG9jYXRpb24gb2YgdGhlIGN1cnJlbnRseSBwcm9jZXNzZWQgdmFyaWFi bGUgYXMgY29udGV4dC4KICAgICAgJHdoZXJlLT5wdXNoX2NvbnRleHQgKCJ3aGlsZSBwcm9j ZXNzaW5nICckb25lX25hbWUnIik7CgogICAgICAjIFRoZSB2YXJpYWJsZSBjb250YWluaW5n IGFsbCBmaWxlcyB0byBkaXN0cmlidXRlLgogICAgICBteSAkZGlzdHZhciA9ICJcJCgkb25l X25hbWUpIjsKICAgICAgJGRpc3R2YXIgPSBzaGFkb3dfdW5jb25kaXRpb25hbGx5ICgkb25l X25hbWUsICR3aGVyZSkKCWlmICgkZGlzdF9wICYmICRvbmVfdmFyLT5oYXNfY29uZGl0aW9u YWxfY29udGVudHMpOwoKICAgICAgIyBTaW5ndWxhciBmb3JtIG9mICRQUklNQVJZLgogICAg ICAobXkgJG9uZV9wcmltYXJ5ID0gJHByaW1hcnkpID1+IHMvUyQvLzsKICAgICAgJG91dHB1 dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgkZmlsZSwgJHdoZXJlLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBSSU1BUlkgICAgID0+ICRwcmltYXJ5LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9ORV9QUklNQVJZID0+ICRvbmVf cHJpbWFyeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVIgICAg ICAgICA9PiAkWCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBORElS ICAgICAgICA9PiAkbm9kaXJfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCQVNFICAgICAgICA9PiAkc3RyaXBfc3ViZGlyLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVYRUMgICAgICAgID0+ICRleGVjX3AsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5TVEFMTCAgICAgPT4gJGluc3RhbGxf cCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVNUICAgICAgICA9 PiAkZGlzdF9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1RW QVIgICAgID0+ICRkaXN0dmFyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdDSy1PUFRTJyAgID0+ICRjaGVja19vcHRpb25zX3ApOwogICAgfQoKICAjIFRoZSBK QVZBIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIEphdmEgaW50ZXJwcmV0 ZXIuCiAgIyBUaGUgUFlUSE9OIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhl IFB5dGhvbiBpbnRlcnByZXRlci4KICBpZiAoQHVzZWQgJiYgJHByaW1hcnkgbmUgJ0pBVkEn ICYmICRwcmltYXJ5IG5lICdQWVRIT04nKQogICAgewogICAgICAjIERlZmluZSBpdC4KICAg ICAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJHByaW1hcnksIFRSVUUsIElOVEVSTkFMLCBA dXNlZCk7CiAgICAgICRvdXRwdXRfdmFycyAuPSAiXG4iOwogICAgfQoKICBlcnJfdmFyICgk cmVxdWlyZV9leHRyYSwKCSAgICInJHJlcXVpcmVfZXh0cmEnIGNvbnRhaW5zIGNvbmZpZ3Vy ZSBzdWJzdGl0dXRpb24sXG4iCgkgICAuICJidXQgJ0VYVFJBXyRwcmltYXJ5JyBub3QgZGVm aW5lZCIpCiAgICBpZiAoJHJlcXVpcmVfZXh0cmEgJiYgISB2YXIgKCdFWFRSQV8nIC4gJHBy aW1hcnkpKTsKCiAgIyBQdXNoIGhlcmUgYmVjYXVzZSBQUklNQVJZIG1pZ2h0IGJlIGNvbmZp Z3VyZSB0aW1lIGRldGVybWluZWQuCiAgcHVzaCAoQGFsbCwgJyQoJyAuICRwcmltYXJ5IC4g JyknKQogICAgaWYgQHVzZWQgJiYgJHByaW1hcnkgbmUgJ0pBVkEnICYmICRwcmltYXJ5IG5l ICdQWVRIT04nOwoKICAjIE1ha2UgdGhlIHJlc3VsdCB1bmlxdWUuICBUaGlzIGxldHMgdGhl IHVzZXIgdXNlIGNvbmRpdGlvbmFscyBpbgogICMgYSBuYXR1cmFsIHdheSwgYnV0IHN0aWxs IGxldHMgdXMgcHJvZ3JhbSBsYXppbHkgLS0gd2UgZG9uJ3QgaGF2ZQogICMgdG8gd29ycnkg YWJvdXQgaGFuZGxpbmcgYSBwYXJ0aWN1bGFyIG9iamVjdCBtb3JlIHRoYW4gb25jZS4KICAj IFdlIHdpbGwga2VlcCBvbmx5IG9uZSBsb2NhdGlvbiBwZXIgb2JqZWN0LgogIG15ICVyZXN1 bHQgPSAoKTsKICBmb3IgbXkgJHBhaXIgKEByZXN1bHQpCiAgICB7CiAgICAgIG15ICgkbG9j LCAkdmFsKSA9IEAkcGFpcjsKICAgICAgJHJlc3VsdHskdmFsfSA9ICRsb2M7CiAgICB9CiAg bXkgQGwgPSBzb3J0IGtleXMgJXJlc3VsdDsKICByZXR1cm4gbWFwIHsgWyRyZXN1bHR7JF99 LT5jbG9uZSwgJF9dIH0gQGw7Cn0KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIEVhY2gga2V5IGluIHRoaXMg aGFzaCBpcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBob2xkaW5nIGEKIyBNYWtlZmlsZS5p bi4gIFRoZXNlIHZhcmlhYmxlcyBhcmUgbG9jYWwgdG8gJ2lzX21ha2VfZGlyJy4KbXkgJW1h a2VfZGlycyA9ICgpOwpteSAkbWFrZV9kaXJzX3NldCA9IDA7CgojIGlzX21ha2VfZGlyICgk RElSRUNUT1JZKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgaXNfbWFrZV9kaXIK ewogICAgbXkgKCRkaXIpID0gQF87CiAgICBpZiAoISAkbWFrZV9kaXJzX3NldCkKICAgIHsK CWZvcmVhY2ggbXkgJGl0ZXIgKEBjb25maWd1cmVfaW5wdXRfZmlsZXMpCgl7CgkgICAgJG1h a2VfZGlyc3tkaXJuYW1lICgkaXRlcil9ID0gMTsKCX0KCSMgV2UgYWxzbyB3YW50IHRvIG5v dGljZSBNYWtlZmlsZS5pbidzLgoJZm9yZWFjaCBteSAkaXRlciAoQG90aGVyX2lucHV0X2Zp bGVzKQoJewoJICAgIGlmICgkaXRlciA9fiAvTWFrZWZpbGVcLmluJC8pCgkgICAgewoJCSRt YWtlX2RpcnN7ZGlybmFtZSAoJGl0ZXIpfSA9IDE7CgkgICAgfQoJfQoJJG1ha2VfZGlyc19z ZXQgPSAxOwogICAgfQogICAgcmV0dXJuIGRlZmluZWQgJG1ha2VfZGlyc3skZGlyfTsKfQoK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKIyBGaW5kIHRoZSBhdXggZGlyLiAgVGhpcyBzaG91bGQgbWF0Y2ggdGhl IGFsZ29yaXRobSB1c2VkIGJ5CiMgLi9jb25maWd1cmUuIChTZWUgdGhlIEF1dG9jb25mIGRv Y3VtZW50YXRpb24gZm9yIGZvcgojIEFDX0NPTkZJR19BVVhfRElSLikKc3ViIGxvY2F0ZV9h dXhfZGlyICgpCnsKICBpZiAoISAkY29uZmlnX2F1eF9kaXJfc2V0X2luX2NvbmZpZ3VyZV9h YykKICAgIHsKICAgICAgIyBUaGUgZGVmYXVsdCBhdXhpbGlhcnkgZGlyZWN0b3J5IGlzIHRo ZSBmaXJzdAogICAgICAjIG9mIC4sIC4uLCBvciAuLi8uLiB0aGF0IGNvbnRhaW5zIGluc3Rh bGwtc2guCiAgICAgICMgQXNzdW1lIC4gaWYgaW5zdGFsbC1zaCBkb2Vzbid0IGV4aXN0IHll dC4KICAgICAgZm9yIG15ICRkaXIgKHF3ICguIC4uIC4uLy4uKSkKCXsKCSAgaWYgKC1mICIk ZGlyL2luc3RhbGwtc2giKQoJICAgIHsKCSAgICAgICRjb25maWdfYXV4X2RpciA9ICRkaXI7 CgkgICAgICBsYXN0OwoJICAgIH0KCX0KICAgICAgJGNvbmZpZ19hdXhfZGlyID0gJy4nIHVu bGVzcyAkY29uZmlnX2F1eF9kaXI7CiAgICB9CiAgIyBBdm9pZCB1bnNpZ2h0bHkgJy8uJ3Mu CiAgJGFtX2NvbmZpZ19hdXhfZGlyID0KICAgICckKHRvcF9zcmNkaXIpJyAuICgkY29uZmln X2F1eF9kaXIgZXEgJy4nID8gIiIgOiAiLyRjb25maWdfYXV4X2RpciIpOwogICRhbV9jb25m aWdfYXV4X2RpciA9fiBzLC8qJCwsOwp9CgoKIyBwdXNoX3JlcXVpcmVkX2ZpbGUgKCRESVIs ICRGSUxFLCAkRlVMTEZJTEUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQojIFB1c2ggdGhlIGdpdmVuIGZpbGUgb250byBESVNUX0NPTU1PTi4Kc3Vi IHB1c2hfcmVxdWlyZWRfZmlsZQp7CiAgbXkgKCRkaXIsICRmaWxlLCAkZnVsbGZpbGUpID0g QF87CgogICMgSWYgdGhlIGZpbGUgdG8gYmUgZGlzdHJpYnV0ZWQgaXMgaW4gdGhlIHNhbWUg ZGlyZWN0b3J5IG9mIHRoZQogICMgY3VycmVudGx5IHByb2Nlc3NlZCBNYWtlZmlsZS5hbSwg dGhlbiB3ZSB3YW50IHRvIGRpc3RyaWJ1dGUgaXQKICAjIGZyb20gdGhpcyBzYW1lIE1ha2Vm aWxlLmFtLgogIGlmICgkZGlyIGVxICRyZWxhdGl2ZV9kaXIpCiAgICB7CiAgICAgIHB1c2hf ZGlzdF9jb21tb24gKCRmaWxlKTsKICAgIH0KICAjIFRoaXMgaXMgbmVlZGVkIHRvIGFsbG93 IGEgY29uc3RydWN0IGluIGEgbm9uLXRvcC1sZXZlbCBNYWtlZmlsZS5hbQogICMgdG8gcmVx dWlyZSBhIGZpbGUgaW4gdGhlIGJ1aWxkLWF1eCBkaXJlY3RvcnkgKHNlZSBhdCBsZWFzdCB0 aGUgdGVzdAogICMgc2NyaXB0ICd0ZXN0LWRyaXZlci1pcy1kaXN0cmlidXRlZC5zaCcpLiAg VGhpcyBpcyByZWxhdGVkIHRvIHRoZQogICMgYXV0b21ha2UgYnVnIzk1NDYuICBOb3RlIHRo YXQgdGhlIHVzZSBvZiAkY29uZmlnX2F1eF9kaXIgaW5zdGVhZAogICMgb2YgJGFtX2NvbmZp Z19hdXhfZGlyIGhlcmUgaXMgZGVsaWJlcmF0ZSBhbmQgbmVjZXNzYXJ5LgogIGVsc2lmICgk ZGlyIGVxICRjb25maWdfYXV4X2RpcikKICAgIHsKICAgICAgcHVzaF9kaXN0X2NvbW1vbiAo IiRhbV9jb25maWdfYXV4X2Rpci8kZmlsZSIpOwogICAgfQogICMgRklYTUU6IGFub3RoZXIg c3BhY2lhbCBjYXNlLCBmb3IgQUNfTElCT0JKL0FDX0xJQlNPVVJDRSBzdXBwb3J0LgogICMg V2UgcHJvYmFibHkgbmVlZCBzb21lIHJlZmFjdG9yaW5nIG9mIHRoaXMgZnVuY3Rpb24gYW5k IGl0cyBjYWxsZXJzLAogICMgdG8gaGF2ZSBhIG1vcmUgZXhwbGljaXQgYW5kIHN5c3RlbWF0 aWMgaGFuZGxpbmcgb2YgYWxsIHRoZSBzcGVjaWFsCiAgIyBjYXNlczsgYnV0LCBzaW5jZSB0 aGVyZSBhcmUgb25seSB0d28gb2YgdGhlbSwgdGhpcyBpcyBsb3ctcHJpb3JpdHkKICAjIEFU TS4KICBlbHNpZiAoJGNvbmZpZ19saWJvYmpfZGlyICYmICRkaXIgZXEgJGNvbmZpZ19saWJv YmpfZGlyKQogICAgewogICAgICAjIEF2b2lkIHVuc2lnaHRseSAnLy4ncy4KICAgICAgbXkg JGFtX2NvbmZpZ19saWJvYmpfZGlyID0KICAgICAgICAnJCh0b3Bfc3JjZGlyKScgLgogICAg ICAgICgkY29uZmlnX2xpYm9ial9kaXIgZXEgJy4nID8gIiIgOiAiLyRjb25maWdfbGlib2Jq X2RpciIpOwogICAgICAkYW1fY29uZmlnX2xpYm9ial9kaXIgPX4gc3wvKiR8fDsKICAgICAg cHVzaF9kaXN0X2NvbW1vbiAoIiRhbV9jb25maWdfbGlib2JqX2Rpci8kZmlsZSIpOwogICAg fQogIGVsc2lmICgkcmVsYXRpdmVfZGlyIGVxICcuJyAmJiAhIGlzX21ha2VfZGlyICgkZGly KSkKICAgIHsKICAgICAgIyBJZiB3ZSBhcmUgZG9pbmcgdGhlIHRvcG1vc3QgZGlyZWN0b3J5 LCBhbmQgdGhlIGZpbGUgaXMgaW4gYQogICAgICAjIHN1YmRpciB3aGljaCBkb2VzIG5vdCBo YXZlIGEgTWFrZWZpbGUsIHRoZW4gd2UgZGlzdHJpYnV0ZSBpdAogICAgICAjIGhlcmUuCgog ICAgICAjIElmIGEgcmVxdWlyZWQgZmlsZSBpcyBhYm92ZSB0aGUgc291cmNlIHRyZWUsIGl0 IGlzIGltcG9ydGFudAogICAgICAjIHRvIHByZWZpeCBpdCB3aXRoICckKHNyY2RpciknIHNv IHRoYXQgbm8gVlBBVEggc2VhcmNoIGlzCiAgICAgICMgcGVyZm9ybWVkLiAgT3RoZXJ3aXNl IHByb2JsZW1zIG9jY3VyIHdpdGggTWFrZSBpbXBsZW1lbnRhdGlvbnMKICAgICAgIyB0aGF0 IHJld3JpdGUgYW5kIHNpbXBsaWZ5IHJ1bGVzIHdob3NlIGRlcGVuZGVuY2llcyBhcmUgZm91 bmQgaW4gYQogICAgICAjIFZQQVRIIGxvY2F0aW9uLiAgSGVyZSBpcyBhbiBleGFtcGxlIHdp dGggT1NGMS9UcnU2NCBNYWtlLgogICAgICAjCiAgICAgICMgICAlIGNhdCBNYWtlZmlsZQog ICAgICAjICAgVlBBVEggPSBzdWIKICAgICAgIyAgIGRpc3RkaXI6IC4uL2EKICAgICAgIwkg ICAgICAgICAgZWNobyAuLi9hCiAgICAgICMgICAlIGxzCiAgICAgICMgICBNYWtlZmlsZSBh CiAgICAgICMgICAlIG1ha2UKICAgICAgIyAgIGVjaG8gYQogICAgICAjICAgYQogICAgICAj CiAgICAgICMgRGVwZW5kZW5jeSAnLi4vYScgd2FzIGZvdW5kIGluICdzdWIvLi4vYScsIGJ1 dCB0aGlzIG1ha2UKICAgICAgIyBpbXBsZW1lbnRhdGlvbiBzaW1wbGlmaWVkIGl0IGFzICdh Jy4gIChOb3RlIHRoYXQgdGhlIHN1Yi8KICAgICAgIyBkaXJlY3RvcnkgZG9lcyBub3QgZXZl biBleGlzdC4pCiAgICAgICMKICAgICAgIyBUaGlzIGtpbmQgb2YgVlBBVEggcmV3cml0aW5n IHNlZW1zIGhhcmQgdG8gY2FuY2VsLiAgVGhlCiAgICAgICMgZGlzdGRpci5hbSBoYWNrIGFn YWluc3QgVlBBVEggcmV3cml0aW5nIHdvcmtzIG9ubHkgd2hlbiBubwogICAgICAjIHNpbXBs aWZpY2F0aW9uIGlzIGRvbmUsIGkuZS4sIGZvciBkZXBlbmRlbmNpZXMgd2hpY2ggYXJlIGlu CiAgICAgICMgc3ViZGlyZWN0b3JpZXMsIG5vdCBpbiBlbmNsb3NpbmcgZGlyZWN0b3JpZXMu ICBIZW5jZSwgaW4KICAgICAgIyB0aGUgbGF0dGVyIGNhc2Ugd2UgdXNlIGEgZnVsbCBwYXRo IHRvIG1ha2Ugc3VyZSBubyBWUEFUSAogICAgICAjIHNlYXJjaCBvY2N1cnMuCiAgICAgICRm dWxsZmlsZSA9ICckKHNyY2RpcikvJyAuICRmdWxsZmlsZQoJaWYgJGRpciA9fiBtLF5cLlwu KD86JHwvKSw7CgogICAgICBwdXNoX2Rpc3RfY29tbW9uICgkZnVsbGZpbGUpOwogICAgfQog IGVsc2UKICAgIHsKICAgICAgcHJvZ19lcnJvciAiYSBNYWtlZmlsZSBpbiByZWxhdGl2ZSBk aXJlY3RvcnkgJHJlbGF0aXZlX2RpciAiIC4KICAgICAgICAgICAgICAgICAiY2FuJ3QgYWRk IGZpbGVzIGluIGRpcmVjdG9yeSAkZGlyIHRvIERJU1RfQ09NTU9OIjsKICAgIH0KfQoKCiMg SWYgYSBmaWxlIG5hbWUgYXBwZWFycyBhcyBhIGtleSBpbiB0aGlzIGhhc2gsIHRoZW4gaXQg aGFzIGFscmVhZHkKIyBiZWVuIGNoZWNrZWQgZm9yLiAgVGhpcyBhbGxvd3MgdXMgbm90IHRv IHJlcG9ydCB0aGUgc2FtZSBlcnJvciBtb3JlCiMgdGhhbiBvbmNlLgpteSAlcmVxdWlyZWRf ZmlsZV9ub3RfZm91bmQgPSAoKTsKCiMgcmVxdWlyZWRfZmlsZV9jaGVja19vcl9jb3B5ICgk V0hFUkUsICRESVJFQ1RPUlksICRGSUxFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBWZXJpZnkgdGhhdCB0aGUgZmlsZSBt dXN0IGV4aXN0IGluICRESVJFQ1RPUlksIG9yIGluc3RhbGwgaXQuCnN1YiByZXF1aXJlZF9m aWxlX2NoZWNrX29yX2NvcHkKewogIG15ICgkd2hlcmUsICRkaXIsICRmaWxlKSA9IEBfOwoK ICBteSAkZnVsbGZpbGUgPSAiJGRpci8kZmlsZSI7CiAgbXkgJGZvdW5kX2l0ID0gMDsKICBt eSAkZGFuZ2xpbmdfc3ltID0gMDsKCiAgaWYgKC1sICRmdWxsZmlsZSAmJiAhIC1mICRmdWxs ZmlsZSkKICAgIHsKICAgICAgJGRhbmdsaW5nX3N5bSA9IDE7CiAgICB9CiAgZWxzaWYgKGRp cl9oYXNfY2FzZV9tYXRjaGluZ19maWxlICgkZGlyLCAkZmlsZSkpCiAgICB7CiAgICAgICRm b3VuZF9pdCA9IDE7CiAgICB9CgogICMgJy0tZm9yY2UtbWlzc2luZycgb25seSBoYXMgYW4g ZWZmZWN0IGlmICctLWFkZC1taXNzaW5nJyBpcwogICMgc3BlY2lmaWVkLgogIHJldHVybgog ICAgaWYgJGZvdW5kX2l0ICYmICghICRhZGRfbWlzc2luZyB8fCAhICRmb3JjZV9taXNzaW5n KTsKCiAgIyBJZiB3ZSd2ZSBhbHJlYWR5IGxvb2tlZCBmb3IgaXQsIHdlJ3JlIGRvbmUuICBZ b3UgbWlnaHQgd29uZGVyIHdoeSB3ZQogICMgZG9uJ3QgZG8gdGhpcyBiZWZvcmUgc2VhcmNo aW5nIGZvciB0aGUgZmlsZS4gIElmIHdlIGRvIHRoYXQsIHRoZW4KICAjIHNvbWV0aGluZyBs aWtlIEFDX09VVFBVVChbc3ViZGlyL2ZvbyBmb29dKSB3aWxsIGZhaWwgdG8gcHV0ICdmb28u aW4nCiAgIyBpbnRvICQoRElTVF9DT01NT04pLgogIGlmICghICRmb3VuZF9pdCkKICAgIHsK ICAgICAgcmV0dXJuIGlmIGRlZmluZWQgJHJlcXVpcmVkX2ZpbGVfbm90X2ZvdW5keyRmdWxs ZmlsZX07CiAgICAgICRyZXF1aXJlZF9maWxlX25vdF9mb3VuZHskZnVsbGZpbGV9ID0gMTsK ICAgIH0KICBpZiAoJGRhbmdsaW5nX3N5bSAmJiAkYWRkX21pc3NpbmcpCiAgICB7CiAgICAg IHVubGluayAoJGZ1bGxmaWxlKTsKICAgIH0KCiAgbXkgJHRyYWlsZXIgPSAnJzsKICBteSAk dHJhaWxlcjIgPSAnJzsKICBteSAkc3VwcHJlc3MgPSAwOwoKICAjIE9ubHkgaW5zdGFsbCBt aXNzaW5nIGZpbGVzIGFjY29yZGluZyB0byBvdXIgZGVzaXJlZAogICMgc3RyaWN0bmVzcyBs ZXZlbC4KICBteSAkbWVzc2FnZSA9ICJyZXF1aXJlZCBmaWxlICckZnVsbGZpbGUnIG5vdCBm b3VuZCI7CiAgaWYgKCRhZGRfbWlzc2luZykKICAgIHsKICAgICAgaWYgKC1mICIkbGliZGly LyRmaWxlIikKICAgICAgICB7CiAgICAgICAgICAkc3VwcHJlc3MgPSAxOwoKICAgICAgICAg ICMgSW5zdGFsbCB0aGUgbWlzc2luZyBmaWxlLiAgU3ltbGluayBpZiB3ZQogICAgICAgICAg IyBjYW4sIGNvcHkgaWYgd2UgbXVzdC4gIE5vdGU6IGRlbGV0ZSB0aGUgZmlsZQogICAgICAg ICAgIyBmaXJzdCwgaW4gY2FzZSBpdCBpcyBhIGRhbmdsaW5nIHN5bWxpbmsuCiAgICAgICAg ICAkbWVzc2FnZSA9ICJpbnN0YWxsaW5nICckZnVsbGZpbGUnIjsKCiAgICAgICAgICAjIFRo ZSBsaWNlbnNlIGZpbGUgc2hvdWxkIG5vdCBiZSB2b2xhdGlsZS4KICAgICAgICAgIGlmICgk ZmlsZSBlcSAiQ09QWUlORyIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAkbWVzc2Fn ZSAuPSAiIHVzaW5nIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYzIGZpbGUiOwogICAg ICAgICAgICAgICR0cmFpbGVyMiA9ICJcbiAgICBDb25zaWRlciBhZGRpbmcgdGhlIENPUFlJ TkcgZmlsZSIKICAgICAgICAgICAgICAgICAgICAgICAgLiAiIHRvIHRoZSB2ZXJzaW9uIGNv bnRyb2wgc3lzdGVtIgogICAgICAgICAgICAgICAgICAgICAgICAuICJcbiAgICBmb3IgeW91 ciBjb2RlLCB0byBhdm9pZCBxdWVzdGlvbnMiCiAgICAgICAgICAgICAgICAgICAgICAgIC4g IiBhYm91dCB3aGljaCBsaWNlbnNlIHlvdXIgcHJvamVjdCB1c2VzIjsKICAgICAgICAgICAg fQoKICAgICAgICAgICMgV2luZG93cyBQZXJsIHdpbGwgaGFuZyBpZiB3ZSB0cnkgdG8gZGVs ZXRlIGEKICAgICAgICAgICMgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCiAgICAgICAgICB1 bmxpbmsgKCRmdWxsZmlsZSkgaWYgLWYgJGZ1bGxmaWxlOwogICAgICAgICAgaWYgKCRzeW1s aW5rX2V4aXN0cyAmJiAhICRjb3B5X21pc3NpbmcpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICBpZiAoISBzeW1saW5rICgiJGxpYmRpci8kZmlsZSIsICRmdWxsZmlsZSkKICAgICAg ICAgICAgICAgICAgfHwgISAtZSAkZnVsbGZpbGUpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICRzdXBwcmVzcyA9IDA7CiAgICAgICAgICAgICAgICAgICR0cmFpbGVy ID0gIjsgZXJyb3Igd2hpbGUgbWFraW5nIGxpbms6ICQhIjsKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQogICAgICAgICAgZWxzaWYgKHN5c3RlbSAoJ2NwJywgIiRsaWJkaXIv JGZpbGUiLCAkZnVsbGZpbGUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgJHN1cHBy ZXNzID0gMDsKICAgICAgICAgICAgICAkdHJhaWxlciA9ICJcbiAgICBlcnJvciB3aGlsZSBj b3B5aW5nIjsKICAgICAgICAgICAgfQogICAgICAgICAgc2V0X2Rpcl9jYWNoZV9maWxlICgk ZGlyLCAkZmlsZSk7CiAgICAgICAgfQogICAgfQogIGVsc2UKICAgIHsKICAgICAgJHRyYWls ZXIgPSAiXG4gICdhdXRvbWFrZSAtLWFkZC1taXNzaW5nJyBjYW4gaW5zdGFsbCAnJGZpbGUn IgogICAgICAgIGlmIC1mICIkbGliZGlyLyRmaWxlIjsKICAgIH0KCiAgIyBJZiAtLWZvcmNl LW1pc3Npbmcgd2FzIHNwZWNpZmllZCwgYW5kIHdlIGhhdmUKICAjIGFjdHVhbGx5IGZvdW5k IHRoZSBmaWxlLCB0aGVuIGRvIG5vdGhpbmcuCiAgcmV0dXJuCiAgICBpZiAkZm91bmRfaXQg JiYgJGZvcmNlX21pc3Npbmc7CgogICMgSWYgd2UgY291bGRuJ3QgaW5zdGFsbCB0aGUgZmls ZSwgYnV0IGl0IGlzIGEgdGFyZ2V0IGluCiAgIyB0aGUgTWFrZWZpbGUsIGRvbid0IHByaW50 IGFueXRoaW5nLiAgVGhpcyBhbGxvd3MgZmlsZXMKICAjIGxpa2UgUkVBRE1FLCBBVVRIT1JT LCBvciBUSEFOS1MgdG8gYmUgZ2VuZXJhdGVkLgogIHJldHVybgogICAgaWYgISRzdXBwcmVz cyAmJiBydWxlICRmaWxlOwoKICBtc2cgKCRzdXBwcmVzcyA/ICdub3RlJyA6ICdlcnJvcics ICR3aGVyZSwgIiRtZXNzYWdlJHRyYWlsZXIkdHJhaWxlcjIiKTsKfQoKCiMgcmVxdWlyZV9m aWxlX2ludGVybmFsICgkV0hFUkUsICRNWVNUUklDVCwgJERJUkVDVE9SWSwgJFFVRVVFLCBA RklMRVMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVmVyaWZ5IHRoYXQgdGhlIGZpbGUgbXVzdCBl eGlzdCBpbiAkRElSRUNUT1JZLCBvciBpbnN0YWxsIGl0LgojICRNWVNUUklDVCBpcyB0aGUg c3RyaWN0bmVzcyBsZXZlbCBhdCB3aGljaCB0aGlzIGZpbGUgYmVjb21lcyByZXF1aXJlZC4K IyBXb3JrZXIgdGhyZWFkcyBtYXkgcXVldWUgdXAgdGhlIGFjdGlvbiB0byBiZSBzZXJpYWxp emVkIGJ5IHRoZSBtYXN0ZXIsCiMgaWYgJFFVRVVFIGlzIHRydWUKc3ViIHJlcXVpcmVfZmls ZV9pbnRlcm5hbAp7CiAgbXkgKCR3aGVyZSwgJG15c3RyaWN0LCAkZGlyLCAkcXVldWUsIEBm aWxlcykgPSBAXzsKCiAgcmV0dXJuCiAgICB1bmxlc3MgJHN0cmljdG5lc3MgPj0gJG15c3Ry aWN0OwoKICBmb3JlYWNoIG15ICRmaWxlIChAZmlsZXMpCiAgICB7CiAgICAgIHB1c2hfcmVx dWlyZWRfZmlsZSAoJGRpciwgJGZpbGUsICIkZGlyLyRmaWxlIik7CiAgICAgIGlmICgkcXVl dWUpCiAgICAgICAgewogICAgICAgICAgcXVldWVfcmVxdWlyZWRfZmlsZV9jaGVja19vcl9j b3B5ICgkcmVxdWlyZWRfY29uZl9maWxlX3F1ZXVlLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBRVUVVRV9DT05GX0ZJTEUsICRyZWxhdGl2ZV9kaXIs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGVyZSwg JG15c3RyaWN0LCBAZmlsZXMpOwogICAgICAgIH0KICAgICAgZWxzZQogICAgICAgIHsKICAg ICAgICAgIHJlcXVpcmVkX2ZpbGVfY2hlY2tfb3JfY29weSAoJHdoZXJlLCAkZGlyLCAkZmls ZSk7CiAgICAgICAgfQogICAgfQp9CgojIHJlcXVpcmVfZmlsZSAoJFdIRVJFLCAkTVlTVFJJ Q1QsIEBGSUxFUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CnN1YiByZXF1aXJlX2ZpbGUKewogICAgbXkgKCR3aGVyZSwgJG15c3RyaWN0LCBAZmlsZXMp ID0gQF87CiAgICByZXF1aXJlX2ZpbGVfaW50ZXJuYWwgKCR3aGVyZSwgJG15c3RyaWN0LCAk cmVsYXRpdmVfZGlyLCAwLCBAZmlsZXMpOwp9CgojIHJlcXVpcmVfZmlsZV93aXRoX21hY3Jv ICgkQ09ORCwgJE1BQ1JPLCAkTVlTVFJJQ1QsIEBGSUxFUykKIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiByZXF1aXJl X2ZpbGVfd2l0aF9tYWNybwp7CiAgICBteSAoJGNvbmQsICRtYWNybywgJG15c3RyaWN0LCBA ZmlsZXMpID0gQF87CiAgICAkbWFjcm8gPSBydmFyICgkbWFjcm8pIHVubGVzcyByZWYgJG1h Y3JvOwogICAgcmVxdWlyZV9maWxlICgkbWFjcm8tPnJkZWYgKCRjb25kKS0+bG9jYXRpb24s ICRteXN0cmljdCwgQGZpbGVzKTsKfQoKIyByZXF1aXJlX2xpYnNvdXJjZV93aXRoX21hY3Jv ICgkQ09ORCwgJE1BQ1JPLCAkTVlTVFJJQ1QsIEBGSUxFUykKIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZXF1 aXJlIGFuIEFDX0xJQlNPVVJDRWQgZmlsZS4gIElmIEFDX0NPTkZJR19MSUJPQkpfRElSIHdh cyBjYWxsZWQsIGl0CiMgbXVzdCBiZSBpbiB0aGF0IGRpcmVjdG9yeS4gIE90aGVyd2lzZSBl eHBlY3QgaXQgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgpzdWIgcmVxdWlyZV9saWJzb3Vy Y2Vfd2l0aF9tYWNybwp7CiAgICBteSAoJGNvbmQsICRtYWNybywgJG15c3RyaWN0LCBAZmls ZXMpID0gQF87CiAgICAkbWFjcm8gPSBydmFyICgkbWFjcm8pIHVubGVzcyByZWYgJG1hY3Jv OwogICAgaWYgKCRjb25maWdfbGlib2JqX2RpcikKICAgICAgewoJcmVxdWlyZV9maWxlX2lu dGVybmFsICgkbWFjcm8tPnJkZWYgKCRjb25kKS0+bG9jYXRpb24sICRteXN0cmljdCwKCQkJ ICAgICAgICRjb25maWdfbGlib2JqX2RpciwgMCwgQGZpbGVzKTsKICAgICAgfQogICAgZWxz ZQogICAgICB7CglyZXF1aXJlX2ZpbGUgKCRtYWNyby0+cmRlZiAoJGNvbmQpLT5sb2NhdGlv biwgJG15c3RyaWN0LCBAZmlsZXMpOwogICAgICB9Cn0KCiMgcXVldWVfcmVxdWlyZWRfZmls ZV9jaGVja19vcl9jb3B5ICgkUVVFVUUsICRLRVksICRESVIsICRXSEVSRSwKIyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRNWVNUUklDVCwgQEZJTEVTKQojIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCnN1YiBxdWV1ZV9yZXF1aXJlZF9maWxlX2NoZWNrX29yX2NvcHkKewogICAgbXkgKCRx dWV1ZSwgJGtleSwgJGRpciwgJHdoZXJlLCAkbXlzdHJpY3QsIEBmaWxlcykgPSBAXzsKICAg IG15IEBzZXJpYWxfbG9jOwogICAgaWYgKHJlZiAkd2hlcmUpCiAgICAgIHsKICAgICAgICBA c2VyaWFsX2xvYyA9IChRVUVVRV9MT0NBVElPTiwgJHdoZXJlLT5zZXJpYWxpemUgKCkpOwog ICAgICB9CiAgICBlbHNlCiAgICAgIHsKICAgICAgICBAc2VyaWFsX2xvYyA9IChRVUVVRV9T VFJJTkcsICR3aGVyZSk7CiAgICAgIH0KICAgICRxdWV1ZS0+ZW5xdWV1ZSAoJGtleSwgJGRp ciwgQHNlcmlhbF9sb2MsICRteXN0cmljdCwgMCArIEBmaWxlcywgQGZpbGVzKTsKfQoKIyBy ZXF1aXJlX3F1ZXVlZF9maWxlX2NoZWNrX29yX2NvcHkgKCRRVUVVRSkKIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIHJlcXVpcmVfcXVldWVkX2Zp bGVfY2hlY2tfb3JfY29weQp7CiAgICBteSAoJHF1ZXVlKSA9IEBfOwogICAgbXkgJHdoZXJl OwogICAgbXkgJGRpciA9ICRxdWV1ZS0+ZGVxdWV1ZSAoKTsKICAgIG15ICRsb2Nfa2V5ID0g JHF1ZXVlLT5kZXF1ZXVlICgpOwogICAgaWYgKCRsb2Nfa2V5IGVxIFFVRVVFX0xPQ0FUSU9O KQogICAgICB7Cgkkd2hlcmUgPSBBdXRvbWFrZTo6TG9jYXRpb246OmRlc2VyaWFsaXplICgk cXVldWUpOwogICAgICB9CiAgICBlbHNpZiAoJGxvY19rZXkgZXEgUVVFVUVfU1RSSU5HKQog ICAgICB7Cgkkd2hlcmUgPSAkcXVldWUtPmRlcXVldWUgKCk7CiAgICAgIH0KICAgIGVsc2UK ICAgICAgewoJcHJvZ19lcnJvciAidW5leHBlY3RlZCBrZXkgJGxvY19rZXkiOwogICAgICB9 CiAgICBteSAkbXlzdHJpY3QgPSAkcXVldWUtPmRlcXVldWUgKCk7CiAgICBteSAkbmZpbGVz ID0gJHF1ZXVlLT5kZXF1ZXVlICgpOwogICAgbXkgQGZpbGVzOwogICAgcHVzaCBAZmlsZXMs ICRxdWV1ZS0+ZGVxdWV1ZSAoKQogICAgICBmb3JlYWNoICgxIC4uICRuZmlsZXMpOwogICAg cmV0dXJuCiAgICAgIHVubGVzcyAkc3RyaWN0bmVzcyA+PSAkbXlzdHJpY3Q7CiAgICBmb3Jl YWNoIG15ICRmaWxlIChAZmlsZXMpCiAgICAgIHsKICAgICAgICByZXF1aXJlZF9maWxlX2No ZWNrX29yX2NvcHkgKCR3aGVyZSwgJGNvbmZpZ19hdXhfZGlyLCAkZmlsZSk7CiAgICAgIH0K fQoKIyByZXF1aXJlX2NvbmZfZmlsZSAoJFdIRVJFLCAkTVlTVFJJQ1QsIEBGSUxFUykKIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMb29rcyBp biBjb25maWd1cmF0aW9uIHBhdGgsIGFzIHNwZWNpZmllZCBieSBBQ19DT05GSUdfQVVYX0RJ Ui4Kc3ViIHJlcXVpcmVfY29uZl9maWxlCnsKICAgIG15ICgkd2hlcmUsICRteXN0cmljdCwg QGZpbGVzKSA9IEBfOwogICAgbXkgJHF1ZXVlID0gZGVmaW5lZCAkcmVxdWlyZWRfY29uZl9m aWxlX3F1ZXVlID8gMSA6IDA7CiAgICByZXF1aXJlX2ZpbGVfaW50ZXJuYWwgKCR3aGVyZSwg JG15c3RyaWN0LCAkY29uZmlnX2F1eF9kaXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICRxdWV1ZSwgQGZpbGVzKTsKfQoKCiMgcmVxdWlyZV9jb25mX2ZpbGVfd2l0aF9tYWNybyAo JENPTkQsICRNQUNSTywgJE1ZU1RSSUNULCBARklMRVMpCiMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiByZXF1 aXJlX2NvbmZfZmlsZV93aXRoX21hY3JvCnsKICAgIG15ICgkY29uZCwgJG1hY3JvLCAkbXlz dHJpY3QsIEBmaWxlcykgPSBAXzsKICAgIHJlcXVpcmVfY29uZl9maWxlIChydmFyICgkbWFj cm8pLT5yZGVmICgkY29uZCktPmxvY2F0aW9uLAoJCSAgICAgICAkbXlzdHJpY3QsIEBmaWxl cyk7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKCiMgcmVxdWlyZV9idWlsZF9kaXJlY3RvcnkgKCRESVJFQ1RP UlkpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRW1pdCBydWxl cyB0byBjcmVhdGUgJERJUkVDVE9SWSBpZiBuZWVkZWQsIGFuZCByZXR1cm4KIyB0aGUgZmls ZSB0aGF0IGFueSB0YXJnZXQgcmVxdWlyaW5nIHRoaXMgZGlyZWN0b3J5IHNob3VsZCBiZSBt YWRlCiMgZGVwZW5kZW50IHVwb24uCiMgV2UgZG9uJ3Qgd2FudCB0byBlbWl0IHRoZSBydWxl IHR3aWNlLCBhbmQgd2FudCB0byByZXVzZSBpdAojIGZvciBkaXJlY3RvcmllcyB3aXRoIGVx dWl2YWxlbnQgbmFtZXMgKGUuZy4sICdmb28vYmFyJyBhbmQgJy4vZm9vLy9iYXInKS4Kc3Vi IHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5CnsKICBteSAkZGlyZWN0b3J5ID0gc2hpZnQ7Cgog IHJldHVybiAkZGlyZWN0b3J5X21hcHskZGlyZWN0b3J5fSBpZiBleGlzdHMgJGRpcmVjdG9y eV9tYXB7JGRpcmVjdG9yeX07CgogIG15ICRjZGlyID0gRmlsZTo6U3BlYy0+Y2Fub25wYXRo ICgkZGlyZWN0b3J5KTsKCiAgaWYgKGV4aXN0cyAkZGlyZWN0b3J5X21hcHskY2Rpcn0pCiAg ICB7CiAgICAgIG15ICRzdGFtcCA9ICRkaXJlY3RvcnlfbWFweyRjZGlyfTsKICAgICAgJGRp cmVjdG9yeV9tYXB7JGRpcmVjdG9yeX0gPSAkc3RhbXA7CiAgICAgIHJldHVybiAkc3RhbXA7 CiAgICB9CgogIG15ICRkaXJzdGFtcCA9ICIkY2Rpci9cJChhbV9fZGlyc3RhbXApIjsKCiAg JGRpcmVjdG9yeV9tYXB7JGRpcmVjdG9yeX0gPSAkZGlyc3RhbXA7CiAgJGRpcmVjdG9yeV9t YXB7JGNkaXJ9ID0gJGRpcnN0YW1wOwoKICAjIFNldCBhIHZhcmlhYmxlIGZvciB0aGUgZGly c3RhbXAgYmFzZW5hbWUuCiAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ2FtX19kaXJzdGFt cCcsIFRSVUUsIElOVEVSTkFMLAoJCQkgICckKGFtX19sZWFkaW5nX2RvdClkaXJzdGFtcCcp OwoKICAjIERpcmVjdG9yeSBtdXN0IGJlIHJlbW92ZWQgYnkgJ21ha2UgZGlzdGNsZWFuJy4K ICAkY2xlYW5fZmlsZXN7JGRpcnN0YW1wfSA9IERJU1RfQ0xFQU47CgogICRvdXRwdXRfcnVs ZXMgLj0gKCIkZGlyc3RhbXA6XG4iCgkJICAgIC4gIlx0XEBcJChNS0RJUl9QKSAkZGlyZWN0 b3J5XG4iCgkJICAgIC4gIlx0XEA6ID4gJGRpcnN0YW1wXG4iKTsKCiAgcmV0dXJuICRkaXJz dGFtcDsKfQoKIyByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeV9tYXliZSAoJEZJTEUpCiMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIElmICRGSUxFIGxpZXMgaW4g YSBzdWJkaXJlY3RvcnksIGVtaXQgYSBydWxlIHRvIGNyZWF0ZSB0aGlzCiMgZGlyZWN0b3J5 IGFuZCByZXR1cm4gdGhlIGZpbGUgdGhhdCAkRklMRSBzaG91bGQgYmUgbWFkZQojIGRlcGVu ZGVudCB1cG9uLiAgT3RoZXJ3aXNlLCBqdXN0IHJldHVybiB0aGUgZW1wdHkgc3RyaW5nLgpz dWIgcmVxdWlyZV9idWlsZF9kaXJlY3RvcnlfbWF5YmUKewogICAgbXkgJGZpbGUgPSBzaGlm dDsKICAgIG15ICRkaXJlY3RvcnkgPSBkaXJuYW1lICgkZmlsZSk7CgogICAgaWYgKCRkaXJl Y3RvcnkgbmUgJy4nKQogICAgewoJcmV0dXJuIHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5ICgk ZGlyZWN0b3J5KTsKICAgIH0KICAgIGVsc2UKICAgIHsKCXJldHVybiAnJzsKICAgIH0KfQoK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKIyBQdXNoIGEgbGlzdCBvZiBmaWxlcyBvbnRvICdAZGlzdF9jb21tb24n LgpzdWIgcHVzaF9kaXN0X2NvbW1vbgp7CiAgcHJvZ19lcnJvciAicHVzaF9kaXN0X2NvbW1v biBydW4gYWZ0ZXIgaGFuZGxlX2Rpc3QiCiAgICBpZiAkaGFuZGxlX2Rpc3RfcnVuOwogIHB1 c2ggQGRpc3RfY29tbW9uLCBAXzsKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgZ2VuZXJhdGVfbWFrZWZp bGUgKCRNQUtFRklMRV9BTSwgJE1BS0VGSUxFX0lOKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBHZW5lcmF0ZSBhIE1ha2VmaWxlLmluIGdp dmVuIHRoZSBuYW1lIG9mIHRoZSBjb3JyZXNwb25kaW5nIE1ha2VmaWxlIGFuZAojIHRoZSBu YW1lIG9mIHRoZSBmaWxlIG91dHB1dCBieSBjb25maWcuc3RhdHVzLgpzdWIgZ2VuZXJhdGVf bWFrZWZpbGUKewogIG15ICgkbWFrZWZpbGVfYW0sICRtYWtlZmlsZV9pbikgPSBAXzsKCiAg IyBSZXNldCBhbGwgdGhlIE1ha2VmaWxlLmFtIHJlbGF0ZWQgdmFyaWFibGVzLgogIGluaXRp YWxpemVfcGVyX2lucHV0OwoKICAjIEFVVE9NQUtFX09QVElPTlMgY2FuIGNvbnRhaW5zIC1X IGZsYWdzIHRvIGRpc2FibGUgb3IgZW5hYmxlCiAgIyB3YXJuaW5ncyBmb3IgdGhpcyBmaWxl LiAgU28gaG9sZCBhbnkgd2FybmluZyBpc3N1ZWQgYmVmb3JlCiAgIyB3ZSBoYXZlIHByb2Nl c3NlZCBBVVRPTUFLRV9PUFRJT05TLgogIGJ1ZmZlcl9tZXNzYWdlcyAoJ3dhcm5pbmcnKTsK CiAgIyAkT1VUUFVUIGlzIGVuY29kZWQuICBJZiBpdCBjb250YWlucyBhICI6IiB0aGVuIHRo ZSBmaXJzdCBlbGVtZW50CiAgIyBpcyB0aGUgcmVhbCBvdXRwdXQgZmlsZSwgYW5kIGFsbCBy ZW1haW5pbmcgZWxlbWVudHMgYXJlIGlucHV0CiAgIyBmaWxlcy4gIFdlIGRvbid0IHNjYW4g b3Igb3RoZXJ3aXNlIGRlYWwgd2l0aCB0aGVzZSBpbnB1dCBmaWxlcywKICAjIG90aGVyIHRo YW4gdG8gbWFyayB0aGVtIGFzIGRlcGVuZGVuY2llcy4gIFNlZSB0aGUgc3Vicm91dGluZQog ICMgJ3NjYW5fYXV0b2NvbmZfZmlsZXMnIGZvciBkZXRhaWxzLgogIG15ICgkbWFrZWZpbGUs IEBpbnB1dHMpID0gc3BsaXQgKC86LywgJG91dHB1dF9maWxlc3skbWFrZWZpbGVfaW59KTsK CiAgJHJlbGF0aXZlX2RpciA9IGRpcm5hbWUgKCRtYWtlZmlsZSk7CgogIHJlYWRfbWFpbl9h bV9maWxlICgkbWFrZWZpbGVfYW0sICRtYWtlZmlsZV9pbik7CiAgaWYgKG5vdCBoYW5kbGVf b3B0aW9ucykKICAgIHsKICAgICAgIyBQcm9jZXNzIGJ1ZmZlcmVkIHdhcm5pbmdzLgogICAg ICBmbHVzaF9tZXNzYWdlczsKICAgICAgIyBGYXRhbCBlcnJvci4gIEp1c3QgcmV0dXJuLCBz byB3ZSBjYW4gY29udGludWUgd2l0aCBuZXh0IGZpbGUuCiAgICAgIHJldHVybjsKICAgIH0K ICAjIFByb2Nlc3MgYnVmZmVyZWQgd2FybmluZ3MuCiAgZmx1c2hfbWVzc2FnZXM7CgogICMg VGhlcmUgYXJlIGEgZmV3IGluc3RhbGwtcmVsYXRlZCB2YXJpYWJsZXMgdGhhdCB5b3Ugc2hv dWxkIG5vdCBkZWZpbmUuCiAgZm9yZWFjaCBteSAkdmFyICgnUFJFX0lOU1RBTEwnLCAnUE9T VF9JTlNUQUxMJywgJ05PUk1BTF9JTlNUQUxMJykKICAgIHsKICAgICAgbXkgJHYgPSB2YXIg JHZhcjsKICAgICAgaWYgKCR2KQoJewoJICBteSAkZGVmID0gJHYtPmRlZiAoVFJVRSk7Cgkg IHByb2dfZXJyb3IgIiR2YXIgbm90IGRlZmluZWQgaW4gY29uZGl0aW9uIFRSVUUiCgkgICAg dW5sZXNzICRkZWY7CgkgIHJlamVjdF92YXIgJHZhciwgIickdmFyJyBzaG91bGQgbm90IGJl IGRlZmluZWQiCgkgICAgaWYgJGRlZi0+b3duZXIgIT0gVkFSX0FVVE9NQUtFOwoJfQogICAg fQoKICAjIENhdGNoIHNvbWUgb2Jzb2xldGUgdmFyaWFibGVzLgogIG1zZ192YXIgKCdvYnNv bGV0ZScsICdJTkNMVURFUycsCgkgICAiJ0lOQ0xVREVTJyBpcyB0aGUgb2xkIG5hbWUgZm9y ICdBTV9DUFBGTEFHUycgKG9yICcqX0NQUEZMQUdTJykiKQogICAgaWYgdmFyICgnSU5DTFVE RVMnKTsKCiAgIyBNdXN0IGRvIHRoaXMgYWZ0ZXIgcmVhZGluZyAuYW0gZmlsZS4KICBkZWZp bmVfdmFyaWFibGUgKCdzdWJkaXInLCAkcmVsYXRpdmVfZGlyLCBJTlRFUk5BTCk7CgogICMg SWYgRElTVF9TVUJESVJTIGlzIGRlZmluZWQsIG1ha2Ugc3VyZSBTVUJESVJTIGlzLCBzbyB0 aGF0CiAgIyByZWN1cnNpdmUgcnVsZXMgYXJlIGVuYWJsZWQuCiAgZGVmaW5lX3ByZXR0eV92 YXJpYWJsZSAoJ1NVQkRJUlMnLCBUUlVFLCBJTlRFUk5BTCwgJycpCiAgICBpZiB2YXIgJ0RJ U1RfU1VCRElSUycgJiYgISB2YXIgJ1NVQkRJUlMnOwoKICAjIENoZWNrIGZpcnN0LCBiZWNh dXNlIHdlIG1pZ2h0IG1vZGlmeSBzb21lIHN0YXRlLgogIGNoZWNrX2dudV9zdGFuZGFyZHM7 CiAgY2hlY2tfZ25pdHNfc3RhbmRhcmRzOwoKICBoYW5kbGVfY29uZmlndXJlICgkbWFrZWZp bGVfYW0sICRtYWtlZmlsZV9pbiwgJG1ha2VmaWxlLCBAaW5wdXRzKTsKICBoYW5kbGVfZ2V0 dGV4dDsKCiAgaGFuZGxlX3RhcmdldHM7CiAgaGFuZGxlX2xpYnJhcmllczsKICBoYW5kbGVf bHRsaWJyYXJpZXM7CiAgaGFuZGxlX3Byb2dyYW1zOwogIGhhbmRsZV9zY3JpcHRzOwoKICBo YW5kbGVfc2lsZW50OwoKICAjIFRoZXNlIG11c3QgYmUgcnVuIGFmdGVyIGFsbCB0aGUgc291 cmNlcyBhcmUgc2Nhbm5lZC4gIFRoZXkgdXNlCiAgIyB2YXJpYWJsZXMgZGVmaW5lZCBieSBo YW5kbGVfbGlicmFyaWVzKCksIGhhbmRsZV9sdGxpYnJhcmllcygpLAogICMgb3IgaGFuZGxl X3Byb2dyYW1zKCkuCiAgaGFuZGxlX2NvbXBpbGU7CiAgaGFuZGxlX2xhbmd1YWdlczsKICBo YW5kbGVfbGlidG9vbDsKCiAgIyBWYXJpYWJsZXMgdXNlZCBieSBkaXN0ZGlyLmFtIGFuZCB0 YWdzLmFtLgogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdTT1VSQ0VTJywgVFJVRSwgSU5U RVJOQUwsIEBzb3VyY2VzKTsKICBpZiAoISBvcHRpb24gJ25vLWRpc3QnKQogICAgewogICAg ICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnRElTVF9TT1VSQ0VTJywgVFJVRSwgSU5URVJO QUwsIEBkaXN0X3NvdXJjZXMpOwogICAgfQoKICBoYW5kbGVfdGV4aW5mbzsKICBoYW5kbGVf ZW1hY3NfbGlzcDsKICBoYW5kbGVfcHl0aG9uOwogIGhhbmRsZV9qYXZhOwogIGhhbmRsZV9t YW5fcGFnZXM7CiAgaGFuZGxlX2RhdGE7CiAgaGFuZGxlX2hlYWRlcnM7CiAgaGFuZGxlX3N1 YmRpcnM7CiAgaGFuZGxlX3VzZXJfcmVjdXJzaW9uOwogIGhhbmRsZV90YWdzOwogIGhhbmRs ZV9taW5vcl9vcHRpb25zOwogICMgTXVzdCBjb21lIGFmdGVyIGhhbmRsZV9wcm9ncmFtcyBz byB0aGF0ICVrbm93bl9wcm9ncmFtcyBpcyB1cC10by1kYXRlLgogIGhhbmRsZV90ZXN0czsK CiAgIyBUaGlzIG11c3QgY29tZSBhZnRlciBtb3N0IG90aGVyIHJ1bGVzLgogIGhhbmRsZV9k aXN0OwoKICBoYW5kbGVfZm9vdGVyOwogIGRvX2NoZWNrX21lcmdlX3RhcmdldDsKICBoYW5k bGVfYWxsICgkbWFrZWZpbGUpOwoKICAjIEZJWE1FOiBHcm9zcyEKICBpZiAodmFyICgnbGli X0xUTElCUkFSSUVTJykgJiYgdmFyICgnYmluX1BST0dSQU1TJykpCiAgICB7CiAgICAgICRv dXRwdXRfcnVsZXMgLj0gImluc3RhbGwtYmluUFJPR1JBTVM6IGluc3RhbGwtbGliTFRMSUJS QVJJRVNcblxuIjsKICAgIH0KICBpZiAodmFyICgnbm9iYXNlX2xpYl9MVExJQlJBUklFUycp ICYmIHZhciAoJ2Jpbl9QUk9HUkFNUycpKQogICAgewogICAgICAkb3V0cHV0X3J1bGVzIC49 ICJpbnN0YWxsLWJpblBST0dSQU1TOiBpbnN0YWxsLW5vYmFzZV9saWJMVExJQlJBUklFU1xu XG4iOwogICAgfQoKICBoYW5kbGVfaW5zdGFsbDsKICBoYW5kbGVfY2xlYW4gKCRtYWtlZmls ZSk7CiAgaGFuZGxlX2ZhY3RvcmVkX2RlcGVuZGVuY2llczsKCiAgIyBDb21lcyBsYXN0LCBi ZWNhdXNlIGFsbCB0aGUgYWJvdmUgcHJvY2VkdXJlcyBtYXkgaGF2ZQogICMgZGVmaW5lZCBv ciBvdmVycmlkZGVuIHZhcmlhYmxlcy4KICAkb3V0cHV0X3ZhcnMgLj0gb3V0cHV0X3Zhcmlh YmxlczsKCiAgY2hlY2tfdHlwb3M7CgogIGlmICgkZXhpdF9jb2RlICE9IDApCiAgICB7CiAg ICAgIHZlcmIgIm5vdCB3cml0aW5nICRtYWtlZmlsZV9pbiBiZWNhdXNlIG9mIGVhcmxpZXIg ZXJyb3JzIjsKICAgICAgcmV0dXJuOwogICAgfQoKICBteSAkYW1fcmVsYXRpdmVfZGlyID0g ZGlybmFtZSAoJG1ha2VmaWxlX2FtKTsKICBta2RpciAoJGFtX3JlbGF0aXZlX2RpciwgMDc1 NSkgaWYgISAtZCAkYW1fcmVsYXRpdmVfZGlyOwoKICAjIFdlIG1ha2Ugc3VyZSB0aGF0ICdh bGw6JyBpcyB0aGUgZmlyc3QgdGFyZ2V0LgogIG15ICRvdXRwdXQgPQogICAgIiRvdXRwdXRf dmFycyRvdXRwdXRfYWxsJG91dHB1dF9oZWFkZXIkb3V0cHV0X3J1bGVzJG91dHB1dF90cmFp bGVyIjsKCiAgIyBEZWNpZGUgd2hldGhlciB3ZSBtdXN0IHVwZGF0ZSB0aGUgb3V0cHV0IGZp bGUgb3Igbm90LgogICMgV2UgaGF2ZSB0byB1cGRhdGUgaW4gdGhlIGZvbGxvd2luZyBzaXR1 YXRpb25zLgogICMgICogJGZvcmNlX2dlbmVyYXRpb24gaXMgc2V0LgogICMgICogYW55IG9m IHRoZSBvdXRwdXQgZGVwZW5kZW5jaWVzIGlzIHlvdW5nZXIgdGhhbiB0aGUgb3V0cHV0CiAg IyAgKiB0aGUgY29udGVudHMgb2YgdGhlIG91dHB1dCBpcyBkaWZmZXJlbnQgKHRoaXMgY2Fu IGhhcHBlbgogICMgICAgaWYgdGhlIHByb2plY3QgaGFzIGJlZW4gcG9wdWxhdGVkIHdpdGgg YSBmaWxlIGxpc3RlZCBpbgogICMgICAgQGNvbW1vbl9maWxlcyBzaW5jZSB0aGUgbGFzdCBy dW4pLgogICMgT3V0cHV0J3MgZGVwZW5kZW5jaWVzIGFyZSBzcGxpdCBpbiB0d28gc2V0czoK ICAjICAqIGRlcGVuZGVuY2llcyB3aGljaCBhcmUgYWxzbyBjb25maWd1cmUgZGVwZW5kZW5j aWVzCiAgIyAgICBUaGVzZSBkbyBub3QgY2hhbmdlIGJldHdlZW4gZWFjaCBNYWtlZmlsZS5h bQogICMgICogb3RoZXIgZGVwZW5kZW5jaWVzLCBzcGVjaWZpYyB0byB0aGUgTWFrZWZpbGUu YW0gYmVpbmcgcHJvY2Vzc2VkCiAgIyAgICAoc3VjaCBhcyB0aGUgTWFrZWZpbGUuYW0gaXRz ZWxmLCBvciBhbnkgTWFrZWZpbGUgZnJhZ21lbnQKICAjICAgIGl0IGluY2x1ZGVzKS4KICBt eSAkdGltZXN0YW1wID0gbXRpbWUgJG1ha2VmaWxlX2luOwogIGlmICghICRmb3JjZV9nZW5l cmF0aW9uCiAgICAgICYmICRjb25maWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPCAk dGltZXN0YW1wCiAgICAgICYmICRvdXRwdXRfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPCAk dGltZXN0YW1wCiAgICAgICYmICRvdXRwdXQgZXEgY29udGVudHMgKCRtYWtlZmlsZV9pbikp CiAgICB7CiAgICAgIHZlcmIgIiRtYWtlZmlsZV9pbiB1bmNoYW5nZWQiOwogICAgICAjIE5v IG5lZWQgdG8gdXBkYXRlLgogICAgICByZXR1cm47CiAgICB9CgogIGlmICgtZSAkbWFrZWZp bGVfaW4pCiAgICB7CiAgICAgIHVubGluayAoJG1ha2VmaWxlX2luKQoJb3IgZmF0YWwgImNh bm5vdCByZW1vdmUgJG1ha2VmaWxlX2luOiAkISI7CiAgICB9CgogIG15ICRnbV9maWxlID0g bmV3IEF1dG9tYWtlOjpYRmlsZSAiPiAkbWFrZWZpbGVfaW4iOwogIHZlcmIgImNyZWF0aW5n ICRtYWtlZmlsZV9pbiI7CiAgcHJpbnQgJGdtX2ZpbGUgJG91dHB1dDsKfQoKCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCgojIEhlbHBlciBmdW5jdGlvbiBmb3IgdXNhZ2UoKS4Kc3ViIHByaW50X2F1dG9kaXN0 X2ZpbGVzCnsKICBteSBAbGNvbW0gPSB1bmlxIChzb3J0IEBfKTsKCiAgbXkgQGZvdXI7CiAg Zm9ybWF0IFVTQUdFX0ZPUk1BVCA9CiAgQDw8PDw8PDw8PDw8PDw8PDwgICBAPDw8PDw8PDw8 PDw8PDw8PCAgIEA8PDw8PDw8PDw8PDw8PDw8ICAgQDw8PDw8PDw8PDw8PDw8PDwKICAkZm91 clswXSwgICAgICAgICAgICRmb3VyWzFdLCAgICAgICAgICAgJGZvdXJbMl0sICAgICAgICAg ICAkZm91clszXQouCiAgbG9jYWwgJH4gPSAiVVNBR0VfRk9STUFUIjsKCiAgbXkgJGNvbHMg PSA0OwogIG15ICRyb3dzID0gaW50KEBsY29tbSAvICRjb2xzKTsKICBteSAkcmVzdCA9IEBs Y29tbSAlICRjb2xzOwoKICBpZiAoJHJlc3QpCiAgICB7CiAgICAgICRyb3dzKys7CiAgICB9 CiAgZWxzZQogICAgewogICAgICAkcmVzdCA9ICRjb2xzOwogICAgfQoKICBmb3IgKG15ICR5 ID0gMDsgJHkgPCAkcm93czsgJHkrKykKICAgIHsKICAgICAgQGZvdXIgPSAoIiIsICIiLCAi IiwgIiIpOwogICAgICBmb3IgKG15ICR4ID0gMDsgJHggPCAkY29sczsgJHgrKykKICAgICAg ICB7CiAgICAgICAgICBsYXN0IGlmICR5ICsgMSA9PSAkcm93cyAmJiAkeCA9PSAkcmVzdDsK CiAgICAgICAgICBteSAkaWR4ID0gKCgkeCA+ICRyZXN0KQogICAgICAgICAgICAgICA/ICAo JHJvd3MgKiAkcmVzdCArICgkcm93cyAtIDEpICogKCR4IC0gJHJlc3QpKQogICAgICAgICAg ICAgICA6ICgkcm93cyAqICR4KSk7CgogICAgICAgICAgJGlkeCArPSAkeTsKICAgICAgICAg ICRmb3VyWyR4XSA9ICRsY29tbVskaWR4XTsKICAgICAgICB9CiAgICAgIHdyaXRlOwogICAg fQp9CgoKc3ViIHVzYWdlICgpCnsKICAgIHByaW50ICJVc2FnZTogJDAgW09QVElPTl0uLi4g W01ha2VmaWxlXS4uLgoKR2VuZXJhdGUgTWFrZWZpbGUuaW4gZm9yIGNvbmZpZ3VyZSBmcm9t IE1ha2VmaWxlLmFtLgoKT3BlcmF0aW9uIG1vZGVzOgogICAgICAtLWhlbHAgICAgICAgICAg ICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAogICAgICAtLXZlcnNpb24gICAgICAg ICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CiAgLXYsIC0tdmVyYm9zZSAg ICAgICAgICAgIHZlcmJvc2VseSBsaXN0IGZpbGVzIHByb2Nlc3NlZAogICAgICAtLW5vLWZv cmNlICAgICAgICAgICBvbmx5IHVwZGF0ZSBNYWtlZmlsZS5pbidzIHRoYXQgYXJlIG91dCBv ZiBkYXRlCiAgLVcsIC0td2FybmluZ3M9Q0FURUdPUlkgIHJlcG9ydCB0aGUgd2FybmluZ3Mg ZmFsbGluZyBpbiBDQVRFR09SWQoKRGVwZW5kZW5jeSB0cmFja2luZzoKICAtaSwgLS1pZ25v cmUtZGVwcyAgICAgIGRpc2FibGUgZGVwZW5kZW5jeSB0cmFja2luZyBjb2RlCiAgICAgIC0t aW5jbHVkZS1kZXBzICAgICBlbmFibGUgZGVwZW5kZW5jeSB0cmFja2luZyBjb2RlCgpGbGF2 b3JzOgogICAgICAtLWZvcmVpZ24gICAgICAgICAgc2V0IHN0cmljdG5lc3MgdG8gZm9yZWln bgogICAgICAtLWduaXRzICAgICAgICAgICAgc2V0IHN0cmljdG5lc3MgdG8gZ25pdHMKICAg ICAgLS1nbnUgICAgICAgICAgICAgIHNldCBzdHJpY3RuZXNzIHRvIGdudQoKTGlicmFyeSBm aWxlczoKICAtYSwgLS1hZGQtbWlzc2luZyAgICAgIGFkZCBtaXNzaW5nIHN0YW5kYXJkIGZp bGVzIHRvIHBhY2thZ2UKICAgICAgLS1saWJkaXI9RElSICAgICAgIHNldCBkaXJlY3Rvcnkg c3RvcmluZyBsaWJyYXJ5IGZpbGVzCiAgICAgIC0tcHJpbnQtbGliZGlyICAgICBwcmludCBk aXJlY3Rvcnkgc3RvcmluZyBsaWJyYXJ5IGZpbGVzCiAgLWMsIC0tY29weSAgICAgICAgICAg ICB3aXRoIC1hLCBjb3B5IG1pc3NpbmcgZmlsZXMgKGRlZmF1bHQgaXMgc3ltbGluaykKICAt ZiwgLS1mb3JjZS1taXNzaW5nICAgIGZvcmNlIHVwZGF0ZSBvZiBzdGFuZGFyZCBmaWxlcwoK IjsKICAgIEF1dG9tYWtlOjpDaGFubmVsRGVmczo6dXNhZ2U7CgogICAgcHJpbnQgIlxuRmls ZXMgYXV0b21hdGljYWxseSBkaXN0cmlidXRlZCBpZiBmb3VuZCAiIC4KICAgICAgICAgICIo YWx3YXlzKTpcbiI7CiAgICBwcmludF9hdXRvZGlzdF9maWxlcyBAY29tbW9uX2ZpbGVzOwog ICAgcHJpbnQgIlxuRmlsZXMgYXV0b21hdGljYWxseSBkaXN0cmlidXRlZCBpZiBmb3VuZCAi IC4KICAgICAgICAgICIodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKTpcbiI7CiAgICBwcmlu dF9hdXRvZGlzdF9maWxlcyBAY29tbW9uX3NvbWV0aW1lczsKCiAgICBwcmludCAnClJlcG9y dCBidWdzIHRvIDxidWctYXV0b21ha2VAZ251Lm9yZz4uCkdOVSBBdXRvbWFrZSBob21lIHBh Z2U6IDxodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2F1dG9tYWtlLz4uCkdlbmVyYWwg aGVscCB1c2luZyBHTlUgc29mdHdhcmU6IDxodHRwczovL3d3dy5nbnUub3JnL2dldGhlbHAv Pi4KJzsKCiAgICAjIC0taGVscCBhbHdheXMgcmV0dXJucyAwIHBlciBHTlUgc3RhbmRhcmRz LgogICAgZXhpdCAwOwp9CgoKc3ViIHZlcnNpb24gKCkKewogIHByaW50IDw8RU9GOwphdXRv bWFrZSAoR05VICRQQUNLQUdFKSAkVkVSU0lPTgpDb3B5cmlnaHQgKEMpICRSRUxFQVNFX1lF QVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BMdjIrOiBHTlUg R1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cHM6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC0y LjAuaHRtbD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUgdG8gY2hhbmdl IGFuZCByZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0 ZW50IHBlcm1pdHRlZCBieSBsYXcuCgpXcml0dGVuIGJ5IFRvbSBUcm9tZXkgPHRyb21leVxA cmVkaGF0LmNvbT4KICAgICAgIGFuZCBBbGV4YW5kcmUgRHVyZXQtTHV0eiA8YWRsXEBnbnUu b3JnPi4KRU9GCiAgIyAtLXZlcnNpb24gYWx3YXlzIHJldHVybnMgMCBwZXIgR05VIHN0YW5k YXJkcy4KICBleGl0IDA7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgUGFyc2UgY29tbWFuZCBsaW5lLgpz dWIgcGFyc2VfYXJndW1lbnRzICgpCnsKICBteSAkc3RyaWN0ID0gJ2dudSc7CiAgbXkgJGln bm9yZV9kZXBzID0gMDsKICBteSBAd2FybmluZ3MgPSAoKTsKCiAgbXkgJWNsaV9vcHRpb25z ID0KICAgICgKICAgICAndmVyc2lvbicgPT4gXCZ2ZXJzaW9uLAogICAgICdoZWxwJyAgICA9 PiBcJnVzYWdlLAogICAgICdsaWJkaXI9cycJPT4gXCRsaWJkaXIsCiAgICAgJ3ByaW50LWxp YmRpcicgICAgID0+IHN1YiB7IHByaW50ICIkbGliZGlyXG4iOyBleGl0IDA7IH0sCiAgICAg J2dudScJCT0+IHN1YiB7ICRzdHJpY3QgPSAnZ251JzsgfSwKICAgICAnZ25pdHMnCQk9PiBz dWIgeyAkc3RyaWN0ID0gJ2duaXRzJzsgfSwKICAgICAnZm9yZWlnbicJCT0+IHN1YiB7ICRz dHJpY3QgPSAnZm9yZWlnbic7IH0sCiAgICAgJ2luY2x1ZGUtZGVwcycJPT4gc3ViIHsgJGln bm9yZV9kZXBzID0gMDsgfSwKICAgICAnaXxpZ25vcmUtZGVwcycJPT4gc3ViIHsgJGlnbm9y ZV9kZXBzID0gMTsgfSwKICAgICAnbm8tZm9yY2UnCT0+IHN1YiB7ICRmb3JjZV9nZW5lcmF0 aW9uID0gMDsgfSwKICAgICAnZnxmb3JjZS1taXNzaW5nJyAgPT4gXCRmb3JjZV9taXNzaW5n LAogICAgICdhfGFkZC1taXNzaW5nJwk9PiBcJGFkZF9taXNzaW5nLAogICAgICdjfGNvcHkn CQk9PiBcJGNvcHlfbWlzc2luZywKICAgICAndnx2ZXJib3NlJwk9PiBzdWIgeyBzZXR1cF9j aGFubmVsICd2ZXJiJywgc2lsZW50ID0+IDA7IH0sCiAgICAgJ1d8d2FybmluZ3M9cycgICAg ID0+IFxAd2FybmluZ3MsCiAgICAgKTsKCiAgdXNlIEF1dG9tYWtlOjpHZXRvcHQgKCk7CiAg QXV0b21ha2U6OkdldG9wdDo6cGFyc2Vfb3B0aW9ucyAlY2xpX29wdGlvbnM7CgogIHNldF9z dHJpY3RuZXNzICgkc3RyaWN0KTsKICBteSAkY2xpX3doZXJlID0gbmV3IEF1dG9tYWtlOjpM b2NhdGlvbjsKICBzZXRfZ2xvYmFsX29wdGlvbiAoJ25vLWRlcGVuZGVuY2llcycsICRjbGlf d2hlcmUpIGlmICRpZ25vcmVfZGVwczsKICBmb3IgbXkgJHdhcm5pbmcgKEB3YXJuaW5ncykK ICAgIHsKICAgICAgcGFyc2Vfd2FybmluZ3MgKCctVycsICR3YXJuaW5nKTsKICAgIH0KCiAg cmV0dXJuIHVubGVzcyBAQVJHVjsKCiAgbXkgJGVycnNwZWMgPSAwOwogIGZvcmVhY2ggbXkg JGFyZyAoQEFSR1YpCiAgICB7CiAgICAgIGZhdGFsICgiZW1wdHkgYXJndW1lbnRcblRyeSAn JDAgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiIpCglpZiAoJGFyZyBlcSAnJyk7Cgog ICAgICAjIEhhbmRsZSAkbG9jYWw6JGlucHV0IHN5bnRheC4KICAgICAgbXkgKCRsb2NhbCwg QHJlc3QpID0gc3BsaXQgKC86LywgJGFyZyk7CiAgICAgIEByZXN0ID0gKCIkbG9jYWwuaW4i LCkgdW5sZXNzIEByZXN0OwogICAgICBteSAkaW5wdXQgPSBsb2NhdGVfYW0gQHJlc3Q7CiAg ICAgIGlmICgkaW5wdXQpCgl7CgkgIHB1c2ggQGlucHV0X2ZpbGVzLCAkaW5wdXQ7CgkgICRv dXRwdXRfZmlsZXN7JGlucHV0fSA9IGpvaW4gKCc6JywgKCRsb2NhbCwgQHJlc3QpKTsKCX0K ICAgICAgZWxzZQoJewoJICBlcnJvciAibm8gQXV0b21ha2UgaW5wdXQgZmlsZSBmb3VuZCBm b3IgJyRhcmcnIjsKCSAgJGVycnNwZWMgPSAxOwoJfQogICAgfQogIGZhdGFsICJubyBpbnB1 dCBmaWxlIGZvdW5kIGFtb25nIHN1cHBsaWVkIGFyZ3VtZW50cyIKICAgIGlmICRlcnJzcGVj ICYmICEgQGlucHV0X2ZpbGVzOwp9CgoKIyBoYW5kbGVfbWFrZWZpbGUgKCRNQUtFRklMRSkK IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGhhbmRsZV9tYWtlZmlsZQp7CiAg bXkgKCRmaWxlKSA9ICBAXzsKICAoJGFtX2ZpbGUgPSAkZmlsZSkgPX4gcy9cLmluJC8vOwog IGlmICghIC1mICgkYW1fZmlsZSAuICcuYW0nKSkKICAgIHsKICAgICAgZXJyb3IgIickYW1f ZmlsZS5hbScgZG9lcyBub3QgZXhpc3QiOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgIyBB bnkgd2FybmluZyBzZXR0aW5nIG5vdyBsb2NhbCB0byB0aGlzIE1ha2VmaWxlLmFtLgogICAg ICBkdXBfY2hhbm5lbF9zZXR1cDsKCiAgICAgIGdlbmVyYXRlX21ha2VmaWxlICgkYW1fZmls ZSAuICcuYW0nLCAkZmlsZSk7CgogICAgICAjIEJhY2sgb3V0IGFueSB3YXJuaW5nIHNldHRp bmcuCiAgICAgIGRyb3BfY2hhbm5lbF9zZXR1cDsKICAgIH0KfQoKIyBEZWFsIHdpdGggYWxs IG1ha2VmaWxlcywgd2l0aG91dCB0aHJlYWRzLgpzdWIgaGFuZGxlX21ha2VmaWxlc19zZXJp YWwgKCkKewogIGZvcmVhY2ggbXkgJGZpbGUgKEBpbnB1dF9maWxlcykKICAgIHsKICAgICAg aGFuZGxlX21ha2VmaWxlICgkZmlsZSk7CiAgICB9Cn0KCiMgTG9naWMgZm9yIGRlY2lkaW5n IGhvdyBtYW55IHdvcmtlciB0aHJlYWRzIHRvIHVzZS4Kc3ViIGdldF9udW1iZXJfb2ZfdGhy ZWFkcyAoKQp7CiAgbXkgJG50aHJlYWRzID0gJEVOVnsnQVVUT01BS0VfSk9CUyd9IHx8IDA7 CgogICRudGhyZWFkcyA9IDAKICAgIHVubGVzcyAkbnRocmVhZHMgPX4gL15bMC05XSskLzsK CiAgIyBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gdXNlIG1vcmUgdGhyZWFkcyB0aGFuIG1h a2VmaWxlcywKICBteSAkbWF4X3RocmVhZHMgPSBAaW5wdXRfZmlsZXM7CgogIGlmICgkbnRo cmVhZHMgPiAkbWF4X3RocmVhZHMpCiAgICB7CiAgICAgICRudGhyZWFkcyA9ICRtYXhfdGhy ZWFkczsKICAgIH0KICByZXR1cm4gJG50aHJlYWRzOwp9CgojIGhhbmRsZV9tYWtlZmlsZXNf dGhyZWFkZWQgKCROVEhSRUFEUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiMgRGVhbCB3aXRoIGFsbCBtYWtlZmlsZXMsIHVzaW5nIHRocmVhZHMuICBUaGUg Z2VuZXJhbCBzdHJhdGVneSBpcyB0bwojIHNwYXduIE5USFJFQURTIHdvcmtlciB0aHJlYWRz LCBkaXNwYXRjaCBtYWtlZmlsZXMgdG8gdGhlbSwgYW5kIGxldCB0aGUKIyB3b3JrZXIgdGhy ZWFkcyBwdXNoIGJhY2sgZXZlcnl0aGluZyB0aGF0IG5lZWRzIHNlcmlhbGl6YXRpb246CiMg KiB3YXJuaW5nIGFuZCAobm9ybWFsKSBlcnJvciBtZXNzYWdlcywgZm9yIHN0YWJsZSBzdGRl cnIgb3V0cHV0CiMgICBvcmRlciBhbmQgY29udGVudCAoYXZvaWRpbmcgZHVwbGljYXRlcywg Zm9yIGV4YW1wbGUpLAojICogcmFjZXMgd2hlbiBpbnN0YWxsaW5nIGF1eCBmaWxlcyAoYW5k IHJlc3BlY3RpdmUgbWVzc2FnZXMpLAojICogcmFjZXMgd2hlbiBjb2xsZWN0aW5nIGF1eCBm aWxlcyBmb3IgZGlzdHJpYnV0aW9uLgojCiMgVGhlIGxhdHRlciByZXF1aXJlcyB0aGF0IHRo ZSBtYWtlZmlsZSB0aGF0IGRlYWxzIHdpdGggdGhlIGF1eCBkaXIKIyBmaWxlcyBiZSBoYW5k bGVkIGxhc3QsIGRvbmUgYnkgdGhlIG1hc3RlciB0aHJlYWQuCnN1YiBoYW5kbGVfbWFrZWZp bGVzX3RocmVhZGVkCnsKICBteSAoJG50aHJlYWRzKSA9IEBfOwoKICAjIFRoZSBmaWxlIHF1 ZXVlIGRpc3RyaWJ1dGVzIGFsbCBtYWtlZmlsZXMsIHRoZSBtZXNzYWdlIHF1ZXVlcwogICMg Y29sbGVjdCBhbGwgc2VyaWFsaXphdGlvbnMgbmVlZGVkIGZvciByZXNwZWN0aXZlIGZpbGVz LgogIG15ICRmaWxlX3F1ZXVlID0gVGhyZWFkOjpRdWV1ZS0+bmV3OwogIG15ICVtc2dfcXVl dWVzOwogIGZvcmVhY2ggbXkgJGZpbGUgKEBpbnB1dF9maWxlcykKICAgIHsKICAgICAgJG1z Z19xdWV1ZXN7JGZpbGV9ID0gVGhyZWFkOjpRdWV1ZS0+bmV3OwogICAgfQoKICB2ZXJiICJz cGF3bmluZyAkbnRocmVhZHMgd29ya2VyIHRocmVhZHMiOwogIG15IEB0aHJlYWRzID0gKDEg Li4gJG50aHJlYWRzKTsKICBmb3JlYWNoIG15ICR0IChAdGhyZWFkcykKICAgIHsKICAgICAg JHQgPSB0aHJlYWRzLT5uZXcgKHN1YgoJewoJICB3aGlsZSAobXkgJGZpbGUgPSAkZmlsZV9x dWV1ZS0+ZGVxdWV1ZSkKCSAgICB7CgkgICAgICB2ZXJiICJoYW5kbGluZyAkZmlsZSI7Cgkg ICAgICBteSAkcXVldWUgPSAkbXNnX3F1ZXVlc3skZmlsZX07CgkgICAgICBzZXR1cF9jaGFu bmVsX3F1ZXVlICgkcXVldWUsIFFVRVVFX01FU1NBR0UpOwoJICAgICAgJHJlcXVpcmVkX2Nv bmZfZmlsZV9xdWV1ZSA9ICRxdWV1ZTsKCSAgICAgIGhhbmRsZV9tYWtlZmlsZSAoJGZpbGUp OwoJICAgICAgJHF1ZXVlLT5lbnF1ZXVlICh1bmRlZik7CgkgICAgICBzZXR1cF9jaGFubmVs X3F1ZXVlICh1bmRlZiwgdW5kZWYpOwoJICAgICAgJHJlcXVpcmVkX2NvbmZfZmlsZV9xdWV1 ZSA9IHVuZGVmOwoJICAgIH0KCSAgcmV0dXJuICRleGl0X2NvZGU7Cgl9KTsKICAgIH0KCiAg IyBRdWV1ZSBhbGwgbWFrZWZpbGVzLgogIHZlcmIgInF1ZXVpbmcgIiAuIEBpbnB1dF9maWxl cyAuICIgaW5wdXQgZmlsZXMiOwogICRmaWxlX3F1ZXVlLT5lbnF1ZXVlIChAaW5wdXRfZmls ZXMsICh1bmRlZikgeCBAdGhyZWFkcyk7CgogICMgQ29sbGVjdCBhbmQgcHJvY2VzcyBzZXJp YWxpemF0aW9ucy4KICBmb3JlYWNoIG15ICRmaWxlIChAaW5wdXRfZmlsZXMpCiAgICB7CiAg ICAgIHZlcmIgImRlcXVldWluZyBtZXNzYWdlcyBmb3IgIiAuICRmaWxlOwogICAgICByZXNl dF9sb2NhbF9kdXBsaWNhdGVzICgpOwogICAgICBteSAkcXVldWUgPSAkbXNnX3F1ZXVlc3sk ZmlsZX07CiAgICAgIHdoaWxlIChteSAka2V5ID0gJHF1ZXVlLT5kZXF1ZXVlKQoJewoJICBp ZiAoJGtleSBlcSBRVUVVRV9NRVNTQUdFKQoJICAgIHsKCSAgICAgIHBvcF9jaGFubmVsX3F1 ZXVlICgkcXVldWUpOwoJICAgIH0KCSAgZWxzaWYgKCRrZXkgZXEgUVVFVUVfQ09ORl9GSUxF KQoJICAgIHsKCSAgICAgIHJlcXVpcmVfcXVldWVkX2ZpbGVfY2hlY2tfb3JfY29weSAoJHF1 ZXVlKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICBwcm9nX2Vycm9yICJ1bmV4cGVj dGVkIGtleSAka2V5IjsKCSAgICB9Cgl9CiAgICB9CgogIGZvcmVhY2ggbXkgJHQgKEB0aHJl YWRzKQogICAgewogICAgICBteSBAZXhpdF90aHJlYWQgPSAkdC0+am9pbjsKICAgICAgJGV4 aXRfY29kZSA9ICRleGl0X3RocmVhZFswXQoJaWYgKCRleGl0X3RocmVhZFswXSA+ICRleGl0 X2NvZGUpOwogICAgfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIFBhcnNlIHRoZSBXQVJOSU5HUyBlbnZp cm9ubWVudCB2YXJpYWJsZS4KcGFyc2VfV0FSTklOR1M7CgojIFBhcnNlIGNvbW1hbmQgbGlu ZS4KcGFyc2VfYXJndW1lbnRzOwoKJGNvbmZpZ3VyZV9hYyA9IHJlcXVpcmVfY29uZmlndXJl X2FjOwoKIyBEbyBjb25maWd1cmUuYWMgc2NhbiBvbmx5IG9uY2UuCnNjYW5fYXV0b2NvbmZf ZmlsZXM7CgppZiAoISBAaW5wdXRfZmlsZXMpCiAgewogICAgbXkgJG1zZyA9ICcnOwogICAg JG1zZyA9ICJcbkRpZCB5b3UgZm9yZ2V0IEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGVdKSBp biAkY29uZmlndXJlX2FjPyIKICAgICAgaWYgLWYgJ01ha2VmaWxlLmFtJzsKICAgIGZhdGFs ICgibm8gJ01ha2VmaWxlLmFtJyBmb3VuZCBmb3IgYW55IGNvbmZpZ3VyZSBvdXRwdXQkbXNn Iik7CiAgfQoKbXkgJG50aHJlYWRzID0gZ2V0X251bWJlcl9vZl90aHJlYWRzICgpOwoKaWYg KCRwZXJsX3RocmVhZHMgJiYgJG50aHJlYWRzID49IDEpCiAgewogICAgaGFuZGxlX21ha2Vm aWxlc190aHJlYWRlZCAoJG50aHJlYWRzKTsKICB9CmVsc2UKICB7CiAgICBoYW5kbGVfbWFr ZWZpbGVzX3NlcmlhbCAoKTsKICB9CgpleGl0ICRleGl0X2NvZGU7CisgdGVzdCAwIC1lcSAw CisgX2FtX2V4aXQgNzcKKyBzZXQgK2UKKyB0ZXN0IDc3ID0gNzcKKyBhbV9fdGVzdF9za2lw cGVkPXllcworIGV4aXQgNzcKKyBleGl0IDc3CisgYW1fZXhpdF90cmFwIDc3CisgZXhpdF9z dGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCA3NyAtZXEgMAorIGtlZXBfdGVzdGRp cnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClNLSVAg dC9nZXQtc3lzY29uZi5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKWEZBSUw6IHQvcG0vQ29uZDIK PT09PT09PT09PT09PT09PT0KCidBdXRvbWFrZTo6Q29uZGl0aW9uPUhBU0goMHg1NjM5MmJm ZWYwYTgpJyBpcyBhIHJlZmVyZW5jZSwgZXhwZWN0ZWQgYSBzdHJpbmcgYXQgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9saWIvQXV0b21ha2UvQ29uZGl0aW9uLnBt IGxpbmUgMTg4LgoJQXV0b21ha2U6OkNvbmRpdGlvbjo6bmV3KCJBdXRvbWFrZTo6Q29uZGl0 aW9uIiwgQXV0b21ha2U6OkNvbmRpdGlvbj1IQVNIKDB4NTYzOTJiZmVmMGE4KSkgY2FsbGVk IGF0IC4vdC9wbS9Db25kMi5wbCBsaW5lIDIyClhGQUlMIHQvcG0vQ29uZDIucGwgKGV4aXQg c3RhdHVzOiAyNTUpCgpYRkFJTDogdC9wbS9Db25kMwo9PT09PT09PT09PT09PT09PQoKJ0F1 dG9tYWtlOjpDb25kaXRpb249SEFTSCgweDU2NDc4NjlhYzg5MCknIGRvZXMgbm90IGxvb2sg bGlrZSBhIGNvbmRpdGlvbiBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL2xpYi9BdXRvbWFrZS9Db25kaXRpb24ucG0gbGluZSAxOTAuCglBdXRvbWFrZTo6Q29u ZGl0aW9uOjpuZXcoIkF1dG9tYWtlOjpDb25kaXRpb24iLCAiQXV0b21ha2U6OkNvbmRpdGlv bj1IQVNIKDB4NTY0Nzg2OWFjODkwKSIpIGNhbGxlZCBhdCAuL3QvcG0vQ29uZDMucGwgbGlu ZSAyMgpYRkFJTCB0L3BtL0NvbmQzLnBsIChleGl0IHN0YXR1czogMjU1KQoKWEZBSUw6IHQv cG0vRGlzakNvbjIKPT09PT09PT09PT09PT09PT09PT0KCidBdXRvbWFrZTo6RGlzakNvbmRp dGlvbnM9SEFTSCgweDU1ODAxMGYxOThhOCknIGlzbid0IGFuIEF1dG9tYWtlOjpDb25kaXRp b24gYXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9saWIvQXV0b21h a2UvRGlzakNvbmRpdGlvbnMucG0gbGluZSAxNTEuCglBdXRvbWFrZTo6RGlzakNvbmRpdGlv bnM6Om5ldygiQXV0b21ha2U6OkRpc2pDb25kaXRpb25zIiwgQXV0b21ha2U6OkRpc2pDb25k aXRpb25zPUhBU0goMHg1NTgwMTBmMTk4YTgpKSBjYWxsZWQgYXQgLi90L3BtL0Rpc2pDb24y LnBsIGxpbmUgMjQKWEZBSUwgdC9wbS9EaXNqQ29uMi5wbCAoZXhpdCBzdGF0dXM6IDI1NSkK ClhGQUlMOiB0L3BtL0Rpc2pDb24zCj09PT09PT09PT09PT09PT09PT09CgonQXV0b21ha2U6 OkNvbmRpdGlvbj1IQVNIKDB4NTVhZGEwMTE5ODkwKScgaXNuJ3QgYSByZWZlcmVuY2UgYXQg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9saWIvQXV0b21ha2UvRGlz akNvbmRpdGlvbnMucG0gbGluZSAxNTAuCglBdXRvbWFrZTo6RGlzakNvbmRpdGlvbnM6Om5l dygiQXV0b21ha2U6OkRpc2pDb25kaXRpb25zIiwgIkF1dG9tYWtlOjpDb25kaXRpb249SEFT SCgweDU1YWRhMDExOTg5MCkiKSBjYWxsZWQgYXQgLi90L3BtL0Rpc2pDb24zLnBsIGxpbmUg MjMKWEZBSUwgdC9wbS9EaXNqQ29uMy5wbCAoZXhpdCBzdGF0dXM6IDI1NSkKClhGQUlMOiB0 L3BtL1ZlcnNpb24yCj09PT09PT09PT09PT09PT09PT09CgpWZXJzaW9uMi5wbDogZXJyb3I6 IHZlcnNpb24gaXMgaW5jb3JyZWN0OiAKVmVyc2lvbjIucGw6IFBsZWFzZSBjb250YWN0IDxi dWctYXV0b21ha2VAZ251Lm9yZz4uCiBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL2xpYi9BdXRvbWFrZS9DaGFubmVscy5wbSBsaW5lIDY2Mi4KCUF1dG9tYWtl OjpDaGFubmVsczo6bXNnKCJhdXRvbWFrZSIsICIiLCAidmVyc2lvbiBpcyBpbmNvcnJlY3Q6 ICIpIGNhbGxlZCBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2xp Yi9BdXRvbWFrZS9DaGFubmVsRGVmcy5wbSBsaW5lIDIxMgoJQXV0b21ha2U6OkNoYW5uZWxE ZWZzOjpwcm9nX2Vycm9yKCJ2ZXJzaW9uIGlzIGluY29ycmVjdDogIikgY2FsbGVkIGF0IC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL0F1dG9tYWtlL1ZlcnNp b24ucG0gbGluZSAxMjYKCUF1dG9tYWtlOjpWZXJzaW9uOjpjaGVjaygiIiwgIjEuMi4zIikg Y2FsbGVkIGF0IC4vdC9wbS9WZXJzaW9uMi5wbCBsaW5lIDIwClhGQUlMIHQvcG0vVmVyc2lv bjIucGwgKGV4aXQgc3RhdHVzOiAyNTUpCgpYRkFJTDogdC9wbS9WZXJzaW9uMwo9PT09PT09 PT09PT09PT09PT09PQoKVmVyc2lvbjMucGw6IGVycm9yOiByZXF1aXJlZCB2ZXJzaW9uIGlz IGluY29ycmVjdDogClZlcnNpb24zLnBsOiBQbGVhc2UgY29udGFjdCA8YnVnLWF1dG9tYWtl QGdudS5vcmc+LgogYXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9s aWIvQXV0b21ha2UvQ2hhbm5lbHMucG0gbGluZSA2NjIuCglBdXRvbWFrZTo6Q2hhbm5lbHM6 Om1zZygiYXV0b21ha2UiLCAiIiwgInJlcXVpcmVkIHZlcnNpb24gaXMgaW5jb3JyZWN0OiAi KSBjYWxsZWQgYXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9saWIv QXV0b21ha2UvQ2hhbm5lbERlZnMucG0gbGluZSAyMTIKCUF1dG9tYWtlOjpDaGFubmVsRGVm czo6cHJvZ19lcnJvcigicmVxdWlyZWQgdmVyc2lvbiBpcyBpbmNvcnJlY3Q6ICIpIGNhbGxl ZCBhdCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2xpYi9BdXRvbWFr ZS9WZXJzaW9uLnBtIGxpbmUgMTMxCglBdXRvbWFrZTo6VmVyc2lvbjo6Y2hlY2soIjEuMi4z IiwgIiIpIGNhbGxlZCBhdCAuL3QvcG0vVmVyc2lvbjMucGwgbGluZSAyMApYRkFJTCB0L3Bt L1ZlcnNpb24zLnBsIChleGl0IHN0YXR1czogMjU1KQoKUEFTUzogdC9pbnN0c3BjCj09PT09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2Nv bDogdGFwClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2Jp bjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYv YmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NU TTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFi aS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBhbGxfdGVz dF9uYW1lc19saXN0PQorIGJ1aWxkZGlyX3hmYWlscz0KKyBkZXN0ZGlyX3hmYWlscz0KKyBi cz0ICisgY3I9DQorIGZmPQwKKyBodD0JCisgbGY9CgorIGRlZj1kZWZpbmVfcHJvYmxlbWF0 aWNfc3RyaW5nCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBzcXVvdGUgJyBmYWlsLWJ1 aWxkZGlyIGZhaWwtZGVzdGRpcgorIHRzdD1zcXVvdGUKKyBzaGlmdAorIGV2YWwgaW5zdHNw Y19fc3F1b3RlPSQxCisgaW5zdHNwY19fc3F1b3RlPScKKyBzaGlmdAorIGFsbF90ZXN0X25h bWVzX2xpc3Q9IHNxdW90ZQorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxk ZGlyIGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJu IDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGly IGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlm dAorIHJldHVybiAwCisgZGVzdGRpcl94ZmFpbHM9IHNxdW90ZQorIGRlZmluZV9wcm9ibGVt YXRpY19zdHJpbmcgZHF1b3RlICIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyB0c3Q9 ZHF1b3RlCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2RxdW90ZT0kMQorIGluc3RzcGNfX2Rx dW90ZT0iCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlCisg aXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisg aXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWls cz0gc3F1b3RlIGRxdW90ZQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRk aXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAw CisgZGVzdGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUKKyBkZWZpbmVfcHJvYmxlbWF0aWNf c3RyaW5nIGJxdW90ZSBgIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgdHN0PWJxdW90 ZQorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19icXVvdGU9JDEKKyBpbnN0c3BjX19icXVvdGU9 YAorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUK KyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIK KyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAwCisgYnVpbGRkaXJfeGZh aWxzPSBzcXVvdGUgZHF1b3RlIGJxdW90ZQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZh aWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAor IHJldHVybiAwCisgZGVzdGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUgYnF1b3RlCisgZGVm aW5lX3Byb2JsZW1hdGljX3N0cmluZyBzaGFycCAjIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0 ZGlyCisgdHN0PXNoYXJwCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3NoYXJwPSQxCisgaW5z dHNwY19fc2hhcnA9IworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWls ZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVy biAwCisgYnVpbGRkaXJfeGZhaWxzPSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycAorIGlz X2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRl bT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAwCisgZGVzdGRpcl94ZmFpbHM9IHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBk b2xsYXIgJCBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgorIHRzdD1kb2xsYXIKKyBzaGlm dAorIGV2YWwgaW5zdHNwY19fZG9sbGFyPSQxCisgaW5zdHNwY19fZG9sbGFyPSQKKyBzaGlm dAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhcgorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVz dGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDAKKyBidWlsZGRp cl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhcgorIGlzX2luX2xp c3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWls LWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAwCisgZGVzdGRpcl94ZmFpbHM9IHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhcgorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcg YmFuZyAhCisgdHN0PWJhbmcKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fYmFuZz0kMQorIGlu c3RzcGNfX2Jhbmc9IQorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRk aXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlz dCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEK KyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGJzbGFzaCBcIGZhaWwtYnVpbGRkaXIKKyB0 c3Q9YnNsYXNoCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2JzbGFzaD0kMQorIGluc3RzcGNf X2JzbGFzaD1cCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3Rl IGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2gKKyBpc19pbl9saXN0IGZhaWwtYnVp bGRkaXIgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0 dXJuIDAKKyBidWlsZGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBic2xhc2gKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpciBmYWlsLWJ1aWxkZGlyCisg aXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1h dGljX3N0cmluZyBhbXBlcnNhbmQgJiBmYWlsLWJ1aWxkZGlyCisgdHN0PWFtcGVyc2FuZAor IHNoaWZ0CisgZXZhbCBpbnN0c3BjX19hbXBlcnNhbmQ9JDEKKyBpbnN0c3BjX19hbXBlcnNh bmQ9JgorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVv dGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZAorIGlzX2luX2xpc3QgZmFp bC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQK KyByZXR1cm4gMAorIGJ1aWxkZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpciBm YWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisg ZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBwZXJjZW50ICUKKyB0c3Q9cGVyY2VudAorIHNo aWZ0CisgZXZhbCBpbnN0c3BjX19wZXJjZW50PSQxCisgaW5zdHNwY19fcGVyY2VudD0lCisg c2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQKKyBpc19pbl9saXN0IGZh aWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisg aXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0Cisg cmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGxlZnRwYXIgKAorIHRzdD1s ZWZ0cGFyCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2xlZnRwYXI9JDEKKyBpbnN0c3BjX19s ZWZ0cGFyPSgKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUg YnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0 cGFyCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisg c2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWls LWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmlu ZyByaWdodHBhciApCisgdHN0PXJpZ2h0cGFyCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3Jp Z2h0cGFyPSQxCisgaW5zdHNwY19fcmlnaHRwYXI9KQorIHNoaWZ0CisgYWxsX3Rlc3RfbmFt ZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNo IGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIKKyBpc19pbl9saXN0IGZhaWwt YnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNf aW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHBpcGUgfAorIHRzdD1waXBlCisg c2hpZnQKKyBldmFsIGluc3RzcGNfX3BpcGU9JDEKKyBpbnN0c3BjX19waXBlPXwKKyBzaGlm dAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBp cGUKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBz aGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwt ZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5n IGNhcmV0IF4KKyB0c3Q9Y2FyZXQKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fY2FyZXQ9JDEK KyBpbnN0c3BjX19jYXJldD1eCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0CisgaXNfaW5fbGlzdCBmYWlsLWJ1 aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2lu X2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVy biAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyB0aWxkZSB+CisgdHN0PXRpbGRlCisg c2hpZnQKKyBldmFsIGluc3RzcGNfX3RpbGRlPSQxCisgaW5zdHNwY19fdGlsZGU9fgorIHNo aWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIg cGlwZSBjYXJldCB0aWxkZQorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFp bC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRp cgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9i bGVtYXRpY19zdHJpbmcgcW1hcmsgPworIHRzdD1xbWFyaworIHNoaWZ0CisgZXZhbCBpbnN0 c3BjX19xbWFyaz0kMQorIGluc3RzcGNfX3FtYXJrPT8KKyBzaGlmdAorIGFsbF90ZXN0X25h bWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFz aCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUg cW1hcmsKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIK KyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZh aWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3Ry aW5nIHN0YXIgKgorIHRzdD1zdGFyCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3N0YXI9JDEK KyBpbnN0c3BjX19zdGFyPSoKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90 ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVy Y2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhcgorIGlz X2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0Cisg cmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGly Cisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcGx1cyAr CisgdHN0PXBsdXMKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcGx1cz0kMQorIGluc3RzcGNf X3BsdXM9KworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBi cXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRw YXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMKKyBpc19pbl9s aXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVy biAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNo aWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIG1pbnVzIC0KKyB0 c3Q9bWludXMKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fbWludXM9JDEKKyBpbnN0c3BjX19t aW51cz0tCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBh ciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cworIGlz X2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0Cisg cmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGly Cisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgY29tbWEg LAorIHRzdD1jb21tYQorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19jb21tYT0kMQorIGluc3Rz cGNfX2NvbW1hPSwKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBs ZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVz IGNvbW1hCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGly Cisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1m YWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0 cmluZyBjb2xvbiA6CisgdHN0PWNvbG9uCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2NvbG9u PSQxCisgaW5zdHNwY19fY29sb249OgorIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0g c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2Fu ZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFy IHBsdXMgbWludXMgY29tbWEgY29sb24KKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBp dGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWls LWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZp bmVfcHJvYmxlbWF0aWNfc3RyaW5nIHNlbWljb2wgOworIHRzdD1zZW1pY29sCisgc2hpZnQK KyBldmFsIGluc3RzcGNfX3NlbWljb2w9JDEKKyBpbnN0c3BjX19zZW1pY29sPTsKKyBzaGlm dAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBp cGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWlj b2wKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBz aGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwt ZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5n IGVxdWFsID0KKyB0c3Q9ZXF1YWwKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fZXF1YWw9JDEK KyBpbnN0c3BjX19lcXVhbD09Cisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1 cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsCisgaXNfaW5fbGlzdCBmYWlsLWJ1 aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2lu X2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVy biAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBsZXNzIDwKKyB0c3Q9bGVzcworIHNo aWZ0CisgZXZhbCBpbnN0c3BjX19sZXNzPSQxCisgaW5zdHNwY19fbGVzcz08Cisgc2hpZnQK KyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBl IGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29s IGVxdWFsIGxlc3MKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVp bGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBp dGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0 aWNfc3RyaW5nIG1vcmUgPgorIHRzdD1tb3JlCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX21v cmU9JDEKKyBpbnN0c3BjX19tb3JlPT4KKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9 IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNh bmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3Rh ciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlCisgaXNf aW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyBy ZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIK KyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBhdCBACisg dHN0PWF0Cisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2F0PSQxCisgaW5zdHNwY19fYXQ9QAor IHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRw YXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24g c2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIK KyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBm YWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBk ZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGxxYnJhY2sgWworIHRzdD1scWJyYWNrCisgc2hp ZnQKKyBldmFsIGluc3RzcGNfX2xxYnJhY2s9JDEKKyBpbnN0c3BjX19scWJyYWNrPVsKKyBz aGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw IGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFy IHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNl bWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sKKyBpc19pbl9saXN0IGZhaWwtYnVp bGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5f bGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJu IDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHJxYnJhY2sgXQorIHRzdD1ycWJyYWNr Cisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3JxYnJhY2s9JDEKKyBpbnN0c3BjX19ycWJyYWNr PV0KKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJp Z2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNv bG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjaworIGlzX2lu X2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisg c2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbGNicmFjayB7 CisgdHN0PWxjYnJhY2sKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fbGNicmFjaz0kMQorIGlu c3RzcGNfX2xjYnJhY2s9eworIHNoaWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJj ZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMg bWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBy cWJyYWNrIGxjYnJhY2sKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwt YnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIK KyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxl bWF0aWNfc3RyaW5nIHJjYnJhY2sgfQorIHRzdD1yY2JyYWNrCisgc2hpZnQKKyBldmFsIGlu c3RzcGNfX3JjYnJhY2s9JDEKKyBpbnN0c3BjX19yY2JyYWNrPX0KKyBzaGlmdAorIGFsbF90 ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5n IGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQg dGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwg bGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sKKyBpc19pbl9s aXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVy biAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNo aWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHNwYWNlICAKKyB0 c3Q9c3BhY2UKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fc3BhY2U9JDEKKyBpbnN0c3BjX19z cGFjZT0gCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBh ciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21t YSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNi cmFjayByY2JyYWNrIHNwYWNlCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1m YWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0 ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyB0YWIgCQorIHRzdD10YWIKKyBzaGlmdAorIGV2YWwgaW5zdHNw Y19fdGFiPSQxCisgaW5zdHNwY19fdGFiPQkKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xp c3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBl cnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsg c3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0 IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiCisgaXNfaW5fbGlz dCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4g MQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlm dAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBsaW5lZmVlZCAKIGZh aWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgdHN0PWxpbmVmZWVkCisgc2hpZnQKKyBldmFs IGluc3RzcGNfX2xpbmVmZWVkPSQxCisgaW5zdHNwY19fbGluZWZlZWQ9CgorIHNoaWZ0Cisg YWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBj YXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBl cXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFj ZSB0YWIgbGluZWZlZWQKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWlsZGRp ciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAw CisgYnVpbGRkaXJfeGZhaWxzPSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg YnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZAorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZh aWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAor IHJldHVybiAwCisgZGVzdGRpcl94ZmFpbHM9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw IGRvbGxhciBsaW5lZmVlZAorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYmFja3NwYWNl IAgKKyB0c3Q9YmFja3NwYWNlCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2JhY2tzcGFjZT0k MQorIGluc3RzcGNfX2JhY2tzcGFjZT0ICisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0 PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJz YW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0 YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBs cWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNr c3BhY2UKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIK KyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZh aWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3Ry aW5nIGZvcm1mZWVkIAwKKyB0c3Q9Zm9ybWZlZWQKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f Zm9ybWZlZWQ9JDEKKyBpbnN0c3BjX19mb3JtZmVlZD0MCisgc2hpZnQKKyBhbGxfdGVzdF9u YW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xh c2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRl IHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3Mg bW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5l ZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBp dGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWls LWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZp bmVfcHJvYmxlbWF0aWNfc3RyaW5nIGNhcnJpYWdlcmV0IA0KKyB0c3Q9Y2FycmlhZ2VyZXQK KyBzaGlmdAorIGV2YWwgaW5zdHNwY19fY2FycmlhZ2VyZXQ9JDEKKyBpbnN0c3BjX19jYXJy aWFnZXJldD0NCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3Rl IGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVm dHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBj b21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sg bGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQg Y2FycmlhZ2VyZXQKKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVp bGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBp dGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0 aWNfc3RyaW5nIHF1YWRyaWdyYXBoMCBAJnRAIGZhaWwtYnVpbGRkaXIKKyB0c3Q9cXVhZHJp Z3JhcGgwCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX3F1YWRyaWdyYXBoMD0kMQorIGluc3Rz cGNfX3F1YWRyaWdyYXBoMD1AJnRACisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5k IHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIg cGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJy YWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3Bh Y2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwCisgaXNfaW5fbGlzdCBmYWls LWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAor IHJldHVybiAwCisgYnVpbGRkaXJfeGZhaWxzPSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAKKyBpc19p bl9saXN0IGZhaWwtZGVzdGRpciBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIK KyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBxdWFkcmln cmFwaDEgQDw6QAorIHRzdD1xdWFkcmlncmFwaDEKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19f cXVhZHJpZ3JhcGgxPSQxCisgaW5zdHNwY19fcXVhZHJpZ3JhcGgxPUA8OkAKKyBzaGlmdAor IGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUg Y2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wg ZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3Bh Y2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmln cmFwaDAgcXVhZHJpZ3JhcGgxCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1m YWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0 ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3By b2JsZW1hdGljX3N0cmluZyBxdWFkcmlncmFwaDIgQDo+QAorIHRzdD1xdWFkcmlncmFwaDIK KyBzaGlmdAorIGV2YWwgaW5zdHNwY19fcXVhZHJpZ3JhcGgyPSQxCisgaW5zdHNwY19fcXVh ZHJpZ3JhcGgyPUA6PkAKKyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2Vu dCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1p bnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFi cmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3Jt ZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBo MgorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNo aWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1k ZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcg cXVhZHJpZ3JhcGgzIEBTfEAKKyB0c3Q9cXVhZHJpZ3JhcGgzCisgc2hpZnQKKyBldmFsIGlu c3RzcGNfX3F1YWRyaWdyYXBoMz0kMQorIGluc3RzcGNfX3F1YWRyaWdyYXBoMz1AU3xACisg c2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBh ciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBz ZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2Jy YWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQg cXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzCisg aXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQK KyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3Rk aXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBxdWFk cmlncmFwaDQgQCU6QAorIHRzdD1xdWFkcmlncmFwaDQKKyBzaGlmdAorIGV2YWwgaW5zdHNw Y19fcXVhZHJpZ3JhcGg0PSQxCisgaW5zdHNwY19fcXVhZHJpZ3JhcGg0PUAlOkAKKyBzaGlm dAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBp cGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWlj b2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sg c3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFk cmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMgcXVhZHJp Z3JhcGg0CisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRlbT1mYWlsLWJ1aWxkZGly Cisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCisgaXRlbT1m YWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5lX3Byb2JsZW1hdGljX3N0 cmluZyBhX2IgYSBiCisgdHN0PWFfYgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19hX2I9JDEK KyBpbnN0c3BjX19hX2I9YSBiCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1 cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNr IHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2Ug Zm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmln cmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IKKyBpc19pbl9saXN0IGZhaWwt YnVpbGRkaXIKKyBpdGVtPWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAxCisgaXNf aW5fbGlzdCBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0CisgcmV0 dXJuIDEKKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGFfX2IgYSAgYgorIHRzdD1hX19i Cisgc2hpZnQKKyBldmFsIGluc3RzcGNfX2FfX2I9JDEKKyBpbnN0c3BjX19hX19iPWEgIGIK KyBzaGlmdAorIGFsbF90ZXN0X25hbWVzX2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo YXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0 cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9u IHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJj YnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJl dCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMg cXVhZHJpZ3JhcGg0IGFfYiBhX19iCisgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCisgaXRl bT1mYWlsLWJ1aWxkZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGlzX2luX2xpc3QgZmFpbC1k ZXN0ZGlyCisgaXRlbT1mYWlsLWRlc3RkaXIKKyBzaGlmdAorIHJldHVybiAxCisgZGVmaW5l X3Byb2JsZW1hdGljX3N0cmluZyBhX2xmX2IgYQpiIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0 ZGlyCisgdHN0PWFfbGZfYgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19hX2xmX2I9JDEKKyBp bnN0c3BjX19hX2xmX2I9YQpiCisgc2hpZnQKKyBhbGxfdGVzdF9uYW1lc19saXN0PSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1 cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNr IHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2Ug Zm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmln cmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IKKyBpc19p bl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVt PWZhaWwtYnVpbGRkaXIKKyBzaGlmdAorIHJldHVybiAwCisgYnVpbGRkaXJfeGZhaWxzPSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5l ZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFp bC1idWlsZGRpciBmYWlsLWRlc3RkaXIKKyBpdGVtPWZhaWwtZGVzdGRpcgorIHNoaWZ0Cisg cmV0dXJuIDAKKyBkZXN0ZGlyX3hmYWlscz0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgZG90 ZG90ZG90IC4uLgorIHRzdD1kb3Rkb3Rkb3QKKyBzaGlmdAorIGV2YWwgaW5zdHNwY19fZG90 ZG90ZG90PSQxCisgaW5zdHNwY19fZG90ZG90ZG90PS4uLgorIHNoaWZ0CisgYWxsX3Rlc3Rf bmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNs YXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxk ZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNz IG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGlu ZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFk cmlncmFwaDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQgYV9iIGFf X2IgYV9sZl9iIGRvdGRvdGRvdAorIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgorIGl0ZW09 ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBpc19pbl9saXN0IGZhaWwtZGVz dGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyByZXR1cm4gMQorIGRlZmluZV9w cm9ibGVtYXRpY19zdHJpbmcgZG9zZHJpdmUgYToKKyB0c3Q9ZG9zZHJpdmUKKyBzaGlmdAor IGV2YWwgaW5zdHNwY19fZG9zZHJpdmU9JDEKKyBpbnN0c3BjX19kb3Nkcml2ZT1hOgorIHNo aWZ0CisgYWxsX3Rlc3RfbmFtZXNfbGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg ZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIg cGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2Vt aWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFj ayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1 YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBxdWFk cmlncmFwaDQgYV9iIGFfX2IgYV9sZl9iIGRvdGRvdGRvdCBkb3Nkcml2ZQorIGlzX2luX2xp c3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJu IDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hp ZnQKKyByZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbWlzY2dsb2IxID9b YS16XSoKKyB0c3Q9bWlzY2dsb2IxCisgc2hpZnQKKyBldmFsIGluc3RzcGNfX21pc2NnbG9i MT0kMQorIGluc3RzcGNfX21pc2NnbG9iMT0/W2Etel0qCisgc2hpZnQKKyBhbGxfdGVzdF9u YW1lc19saXN0PSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xh c2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRl IHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3Mg bW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5l ZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRy aWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9f YiBhX2xmX2IgZG90ZG90ZG90IGRvc2RyaXZlIG1pc2NnbG9iMQorIGlzX2luX2xpc3QgZmFp bC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBp c19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hpZnQKKyBy ZXR1cm4gMQorIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbWlzY2dsb2IyIC4qP1swLTld CisgdHN0PW1pc2NnbG9iMgorIHNoaWZ0CisgZXZhbCBpbnN0c3BjX19taXNjZ2xvYjI9JDEK KyBpbnN0c3BjX19taXNjZ2xvYjI9Lio/WzAtOV0KKyBzaGlmdAorIGFsbF90ZXN0X25hbWVz X2xpc3Q9IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBh bXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1h cmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3Jl IGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVk IGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3Jh cGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMgcXVhZHJpZ3JhcGg0IGFfYiBhX19iIGFf bGZfYiBkb3Rkb3Rkb3QgZG9zZHJpdmUgbWlzY2dsb2IxIG1pc2NnbG9iMgorIGlzX2luX2xp c3QgZmFpbC1idWlsZGRpcgorIGl0ZW09ZmFpbC1idWlsZGRpcgorIHNoaWZ0CisgcmV0dXJu IDEKKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgorIGl0ZW09ZmFpbC1kZXN0ZGlyCisgc2hp ZnQKKyByZXR1cm4gMQorIHVuc2V0IGRlZgorIHRlc3QgMCAtZ3QgMAorIHRlc3RfbmFtZXNf bGlzdD0gc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFt cGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFy ayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUg YXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQg YmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFw aDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMyBxdWFkcmlncmFwaDQgYV9iIGFfX2IgYV9s Zl9iIGRvdGRvdGRvdCBkb3Nkcml2ZSBtaXNjZ2xvYjEgbWlzY2dsb2IyCisgcGxhbl8gOTQK KyB0ZXN0IDEgLWVxIDAKKyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHhub25lICE9IHhub25lCisg dGVzdCB4OTQgPSB4dW5rbm93bgorIHRlc3QgeDk0ID0geGxhdGVyCisgdGVzdCB4OTQgPSB4 bGF6eQorIHRlc3QgeDk0ID0geG5vdworIHRlc3QgOTQgLWdlIDAKKyBwbGFubmVkXz05NAor IGVjaG8gMS4uOTQKMS4uOTQKKyBwd2QKKyBvY3dkPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIGNyZWF0ZV9pbnB1dF9kYXRhCisgbWtk aXIgc3ViCisgdW5pbmRlbnQKKyB0ZXN0IHggPSB4CisgcHJpbnRmICVzXG4gCiAgL14kL2Ig ICAgICAgICAgICAgICAgICAgICMgTm90aGluZyB0byBkbyBmb3IgZW1wdHkgbGluZXMuCiAg eCAgICAgICAgICAgICAgICAgICAgICAgICMgR2V0IHg8aW5kZW50PiBpbnRvIHBhdHRlcm4g c3BhY2UuCiAgL14kL3sgICAgICAgICAgICAgICAgICAgICMgTm8gcHJpb3IgeDxpbmRlbnQ+ LCBnbyBwcmVwYXJlIGl0LgogICAgZyAgICAgICAgICAgICAgICAgICAgICAjIENvcHkgdGhp cyAxc3Qgbm9uLWJsYW5rIGxpbmUgaW50byBwYXR0ZXJuIHNwYWNlLgogICAgcy9eXChbCSBd KlwpLioveFwxLyAgICMgUHJlcGFyZSB4PGluZGVudD4gaW4gcGF0dGVybiBzcGFjZS4KICB9 ICAgICAgICAgICAgICAgICAgICAgICAgIyBOb3c6IHg8aW5kZW50PiBpbiBwYXR0ZXJuIGFu ZCA8bGluZT4gaW4gaG9sZC4KICBHICAgICAgICAgICAgICAgICAgICAgICAgIyBCdWlsZCB4 PGluZGVudD5cbjxsaW5lPiBpbiBwYXR0ZXJuIHNwYWNlLCBhbmQKICBoICAgICAgICAgICAg ICAgICAgICAgICAgIyBkdXBsaWNhdGUgaXQgaW50byBob2xkIHNwYWNlLgogIHMvXG4uKiQv LyAgICAgICAgICAgICAgICAjIFJlc3RvcmUgeDxpbmRlbnQ+IGluIHBhdHRlcm4gc3BhY2Us IGFuZAogIHggICAgICAgICAgICAgICAgICAgICAgICAjIGV4Y2hhbmdlIHdpdGggdGhlIGFi b3ZlIGR1cGxpY2F0ZSBpbiBob2xkIHNwYWNlLgogIHMvXnhcKC4qXClcblwxLy8gICAgICAg ICAjIFJlbW92ZSBsZWFkaW5nIDxpbmRlbnQ+IGZyb20gPGxpbmU+LgogIHMvXnguKlxuLy8g ICAgICAgICAgICAgICAjIFJlc3RvcmUgPGxpbmU+IHdoZW4gdGhlcmUgaXMgbm8gbGVhZGlu ZyA8aW5kZW50Pi4KCisgc2VkIC1lIHMvICAqIyAuKi8vCisgc2VkX3VuaW5kZW50X3Byb2c9 CiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9 CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxu Ly8KKyBzZWQgCiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4q L3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwog IHMvXnguKlxuLy8KKyA6CisgOgorIDoKKyA6CisgOgorIDoKKyB1bmluZGVudAorIHRlc3Qg eAogIC9eJC9iCiAgeAogIC9eJC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94XDEvCiAg fQogIEcKICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBzL154Lipc bi8vID0geAorIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChbCSBd KlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwpXG5c MS8vCiAgcy9eeC4qXG4vLworIHVuaW5kZW50CisgdGVzdCB4CiAgL14kL2IKICB4CiAgL14k L3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiok Ly8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8gPSB4Cisgc2VkIAogIC9e JC9iCiAgeAogIC9eJC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94XDEvCiAgfQogIEcK ICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBzL154Lipcbi8vCisg YWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEuMTYgLS1mb3Jl aWduIC1XZXJyb3IgLVdhbGwgLWEKY29uZmlndXJlLmFjOjU6IGluc3RhbGxpbmcgJy4vYXIt bGliJworIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3BjX19zcXVvdGV9CisgdGVzdF9zdHJp bmc9JworIHRlc3QgeCcgPSB4CisgbWtkaXIgLi8nCisgYnVpbGQ9Li8nCisgZGVzdD0vaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z cXVvdGUKKyBjZCAuLycKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8nLXByZWZp eApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2lu c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u IGNvbmZpZ3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVjdG9yeSBu YW1lCisgcj1ub3Qgb2sKKyBkZXNjcmlwdGlvbj1zcXVvdGUgaW4gYnVpbGRkaXIKKyBleHBl Y3RlZF90b19mYWlsIGJ1aWxkIHNxdW90ZQorIGlzX2luX2xpc3Qgc3F1b3RlIHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1 YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXNxdW90ZQorIHNoaWZ0CisgcmV0dXJuIDAKKyBk aXJlY3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1 bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBzcXVv dGUgaW4gYnVpbGRkaXIKKyBzZXQgK3gKbm90IG9rIDEgLSBzcXVvdGUgaW4gYnVpbGRkaXIg IyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCAx IC0gc3F1b3RlIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24K KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg c2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXNxdW90ZQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycKKyBta2Rp ciBidWlsZC1zcXVvdGUKKyBjZCBidWlsZC1zcXVvdGUKKyByPW9rCisgLi4vY29uZmlndXJl IC0tcHJlZml4IC8nLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0 YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUg R05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcu Li4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v bmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhl IGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNv bmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu ZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lP Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5j Cm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAg LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291 cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1 IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERF U1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3F1b3RlLycgZmlsZT0uLycgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc3F1b3RlwqDCuwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2ZvbycKICggY2Qg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNxdW90ZS8nLyctcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3Rl LycvJy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycv Jy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVv dGUvJy8nLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3F1b3RlLycvJy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIv bm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNxdW90ZS8nLyctcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3F1b3RlLycvJy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNxdW90ZS8nLyctcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViJwpt YWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXNxdW90ZcKgwrsK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8uLyctcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCm1h a2U6ICoqKiBbTWFrZWZpbGU6MTE0NTogdGVzdC1pbnN0XSBFcnJvciAxCisgcj1ub3Qgb2sK KyBkZXNjcmlwdGlvbj1zcXVvdGUgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVz dCBzcXVvdGUKKyBpc19pbl9saXN0IHNxdW90ZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1zcXVvdGUKKyBzaGlmdAorIHJldHVy biAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u CisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24g LS0gc3F1b3RlIGluIGRlc3RkaXIKKyBzZXQgK3gKbm90IG9rIDIgLSBzcXVvdGUgaW4gZGVz dGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMu dGFwIDIgLSBzcXVvdGUgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0 aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGggYnVz dGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fZHF1b3RlfQorIHRl c3Rfc3RyaW5nPSIKKyB0ZXN0IHgiID0geAorIG1rZGlyIC4vIgorIGJ1aWxkPS4vIgorIGRl c3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZHF1b3RlCisgY2QgLi8iCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAv Ii1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg c2FuZS4uLiBjb25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJl Y3RvcnkgbmFtZQorIHI9bm90IG9rCisgZGVzY3JpcHRpb249ZHF1b3RlIGluIGJ1aWxkZGly CisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBkcXVvdGUKKyBpc19pbl9saXN0IGRxdW90ZSBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5l ZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1kcXVvdGUKKyBzaGlmdAorIHJldHVy biAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u CisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24g LS0gZHF1b3RlIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm5vdCBvayAzIC0gZHF1b3RlIGluIGJ1 aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNw Yy50YXAgMyAtIGRxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBGb3Igc2hlbGxzIHdpdGgg YnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1kcXVvdGUKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRxdW90ZS8i CisgbWtkaXIgYnVpbGQtZHF1b3RlCisgY2QgYnVpbGQtZHF1b3RlCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvIi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh ZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdr CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBh bmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0 aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVu ZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNr aW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFu bGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJp bnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9z b3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1n IC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9i YXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5h CmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNl LmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRxdW90ZS8iIGZpbGU9Li8iIG1ha2UgdGVzdC1pbnN0Cm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWRxdW90ZcKgwrsK L2Jpbi9iYXNoOiAtYzogbGlnbmUgMjM6IGZpbiBkZSBmaWNoaWVyIChFT0YpIHByw6ltYXR1 csOpZSBsb3JzIGRlIGxhIHJlY2hlcmNoZSBkdSDCqyAiIMK7IGNvcnJlc3BvbmRhbnQKL2Jp bi9iYXNoOiAtYzogbGlnbmUgMjY6IGVycmV1ciBkZSBzeW50YXhlIDogZmluIGRlIGZpY2hp ZXIgcHLDqW1hdHVyw6llCm1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NTYzOiBpbnN0YWxsLWRp c3RfZm9vZXhlY1NDUklQVFNdIEVycm9yIDEKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1kcXVvdGXCoMK7Cm1ha2U6ICoqKiBbTWFrZWZpbGU6MTAwMjog aW5zdGFsbC1hbV0gRXJyb3IgMgorIHI9bm90IG9rCisgZGVzY3JpcHRpb249ZHF1b3RlIGlu IGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgZHF1b3RlCisgaXNfaW5fbGlzdCBk cXVvdGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZf YgorIGl0ZW09ZHF1b3RlCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisg cmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRP RE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGRxdW90ZSBpbiBkZXN0ZGlyCisg c2V0ICt4Cm5vdCBvayA0IC0gZHF1b3RlIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRp bmcgbGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA0IC0gZHF1b3RlIGluIGRlc3Rk aXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qg b2sgPSBvaworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0 X3N0cmluZz0ke2luc3RzcGNfX2JxdW90ZX0KKyB0ZXN0X3N0cmluZz1gCisgdGVzdCB4YCA9 IHgKKyBta2RpciAuL2AKKyBidWlsZD0uL2AKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJxdW90ZQorIGNkIC4vYAor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL2AtcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJv cjogdW5zYWZlIGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPW5vdCBvawor IGRlc2NyaXB0aW9uPWJxdW90ZSBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVp bGQgYnF1b3RlCisgaXNfaW5fbGlzdCBicXVvdGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf YgorIGl0ZW09YnF1b3RlCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisg cmVhc29uPWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRP RE8gLXIgbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGJxdW90ZSBpbiBidWlsZGRpcgor IHNldCAreApub3Qgb2sgNSAtIGJxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFu ZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDUgLSBicXVvdGUgaW4gYnVp bGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBu b3Qgb2sgPSBvaworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9 YnVpbGQtYnF1b3RlCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1icXVvdGUvYAorIG1rZGlyIGJ1aWxkLWJxdW90ZQor IGNkIGJ1aWxkLWJxdW90ZQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL2AtcHJl Zml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4v aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUu Li4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtk aXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVz dGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcg d2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29t cGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBz dWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4u LiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tp bmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4u IHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBn Y2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBp bnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcg dGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUK Y29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3Jl YXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1h bmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNL QUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAt RFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEu MFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBz L3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291 cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3Vy Y2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1 Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5h IHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1icXVvdGUv YCBmaWxlPS4vYCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9idWlsZC1icXVvdGXCoMK7Ci9iaW4vYmFzaDogLWM6IGxpZ25lIDIz OiBmaW4gZGUgZmljaGllciAoRU9GKSBwcsOpbWF0dXLDqWUgbG9ycyBkZSBsYSByZWNoZXJj aGUgZHUgwqsgYCDCuyBjb3JyZXNwb25kYW50Ci9iaW4vYmFzaDogLWM6IGxpZ25lIDI2OiBl cnJldXIgZGUgc3ludGF4ZSA6IGZpbiBkZSBmaWNoaWVyIHByw6ltYXR1csOpZQptYWtlWzFd OiAqKiogW01ha2VmaWxlOjU2MzogaW5zdGFsbC1kaXN0X2Zvb2V4ZWNTQ1JJUFRTXSBFcnJv ciAxCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYnF1b3Rl wqDCuwptYWtlOiAqKiogW01ha2VmaWxlOjEwMDI6IGluc3RhbGwtYW1dIEVycm9yIDIKKyBy PW5vdCBvaworIGRlc2NyaXB0aW9uPWJxdW90ZSBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9f ZmFpbCBkZXN0IGJxdW90ZQorIGlzX2luX2xpc3QgYnF1b3RlIHNxdW90ZSBkcXVvdGUgYnF1 b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWJxdW90ZQorIHNoaWZ0 CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxp bWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGlt aXRhdGlvbiAtLSBicXVvdGUgaW4gZGVzdGRpcgorIHNldCAreApub3Qgb2sgNiAtIGJxdW90 ZSBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQv aW5zdHNwYy50YXAgNiAtIGJxdW90ZSBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5n IGxpbWl0YXRpb24KKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMg d2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3BjX19zaGFy cH0KKyB0ZXN0X3N0cmluZz0jCisgdGVzdCB4IyA9IHgKKyBta2RpciAuLyMKKyBidWlsZD0u LyMKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNoYXJwCisgY2QgLi8jCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXBy ZWZpeCAvIy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l bnQgaXMgc2FuZS4uLiBjb25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2lu ZyBkaXJlY3RvcnkgbmFtZQorIHI9bm90IG9rCisgZGVzY3JpcHRpb249c2hhcnAgaW4gYnVp bGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHNoYXJwCisgaXNfaW5fbGlzdCBzaGFy cCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBs aW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1zaGFycAorIHNoaWZ0CisgcmV0 dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1sb25nLXN0YW5kaW5nIGxpbWl0YXRp b24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlv biAtLSBzaGFycCBpbiBidWlsZGRpcgorIHNldCAreApub3Qgb2sgNyAtIHNoYXJwIGluIGJ1 aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNw Yy50YXAgNyAtIHNoYXJwIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0 YXRpb24KKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyByZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBi dXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXNoYXJwCisgZGVzdD0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jCisg bWtkaXIgYnVpbGQtc2hhcnAKKyBjZCBidWlsZC1zaGFycAorIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggLyMtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4 IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGlu Y2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0 aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNw Y1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNl LmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBz b3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisg REVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zaGFycC8jIGZpbGU9Li8jIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDog b24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXNoYXJwwqDCuwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv YmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8v Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNo YXJwLyMvL2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycgJiYgcmFubGliIGxpYmJhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hh cnAvIy8vZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1Yi8nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2Zvby9zdWIv JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c2hhcnAvIy8vZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNoYXJwLyMvL2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28n ICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAv Iy8vZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1Yi8nCiAgL3Vzci9i aW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28vc3ViLycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c2hhcnAvIy8vZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc2hhcnAvIy8vZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJw LyMvL2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zaGFycC8jLy9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lw ZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2J1aWxkLXNoYXJwwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvLi8jLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5oJwptYWtlOiAqKiogW01ha2VmaWxlOjExNDU6IHRlc3Qt aW5zdF0gRXJyb3IgMQorIHI9bm90IG9rCisgZGVzY3JpcHRpb249c2hhcnAgaW4gZGVzdGRp cgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBzaGFycAorIGlzX2luX2xpc3Qgc2hhcnAgc3F1 b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09 c2hhcnAKKyBzaGlmdAorIHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uCisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25n LXN0YW5kaW5nIGxpbWl0YXRpb24gLS0gc2hhcnAgaW4gZGVzdGRpcgorIHNldCAreApub3Qg b2sgOCAtIHNoYXJwIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlv bgpYRkFJTDogdC9pbnN0c3BjLnRhcCA4IC0gc2hhcnAgaW4gZGVzdGRpciAjIFRPRE8gbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBG b3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5z dHNwY19fZG9sbGFyfQorIHRlc3Rfc3RyaW5nPSQKKyB0ZXN0IHgkID0geAorIG1rZGlyIC4v JAorIGJ1aWxkPS4vJAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyCisgY2QgLi8kCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvJC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBjb25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJz b2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQorIHI9bm90IG9rCisgZGVzY3JpcHRpb249 ZG9sbGFyIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBkb2xsYXIKKyBp c19pbl9saXN0IGRvbGxhciBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNs YXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1kb2xs YXIKKyBzaGlmdAorIHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1z dGFuZGluZyBsaW1pdGF0aW9uCisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0 YW5kaW5nIGxpbWl0YXRpb24gLS0gZG9sbGFyIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm5vdCBv ayA5IC0gZG9sbGFyIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRp b24KWEZBSUw6IHQvaW5zdHNwYy50YXAgOSAtIGRvbGxhciBpbiBidWlsZGRpciAjIFRPRE8g bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMK KyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisg OiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1kb2xsYXIK KyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvbGxhci8kCisgbWtkaXIgYnVpbGQtZG9sbGFyCisgY2QgYnVpbGQtZG9s bGFyCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvJC1wcmVmaXgKY2hlY2tpbmcg Zm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tp bmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0 IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4u IG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv biB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdj YyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5 bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcg Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmls ZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFs bApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwi aW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9 XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBz L3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAt ZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQph ciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0g LWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kIGZpbGU9Li8kIG1h a2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLWRvbGxhcsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9w cmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycgJiYgcmFubGliIGxp YmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogIC91 c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9sbGFyLyQvcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFy LyQvcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xp Ym5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxh ci8kL3ByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxh ci8kL3ByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvbGxhci8kL3ByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxh ci8kL3ByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz ZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xs YXIvJC9wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxh ci8kL3ByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9sbGFyLyQvcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIv JC9wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9idWlsZC1kb2xsYXLCoMK7CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvLi8kLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5oJwptYWtlOiAqKiogW01ha2VmaWxlOjExNDU6IHRlc3Qt aW5zdF0gRXJyb3IgMQorIHI9bm90IG9rCisgZGVzY3JpcHRpb249ZG9sbGFyIGluIGRlc3Rk aXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgZG9sbGFyCisgaXNfaW5fbGlzdCBkb2xsYXIg c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0 ZW09ZG9sbGFyCisgc2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisgcmVhc29u PWxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIg bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uIC0tIGRvbGxhciBpbiBkZXN0ZGlyCisgc2V0ICt4 Cm5vdCBvayAxMCAtIGRvbGxhciBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxp bWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgMTAgLSBkb2xsYXIgaW4gZGVzdGRpciAj IFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9 IG9rCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBldmFsIHRlc3Rfc3Ry aW5nPSR7aW5zdHNwY19fYmFuZ30KKyB0ZXN0X3N0cmluZz0hCisgdGVzdCB4ISA9IHgKKyBt a2RpciAuLyEKKyBidWlsZD0uLyEKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcKKyBjZCAuLyEKKyByPW9rCisg Li4vY29uZmlndXJlIC0tcHJlZml4IC8hLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29t cGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhl ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJl YWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4u IGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNr aW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29y a3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUg bmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApj aGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2Nj IGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJ U08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRz IC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIK Y2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZv ciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBu ZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25m aWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tB R0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBB Q0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBc IiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FH RT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1N VCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5v IC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdj YyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGli YmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9i YXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJu b2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZyBmaWxlPS4vISBtYWtlIHRlc3QtaW5zdAptYWtl WzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8hwqDCuwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJi YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9m b28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXBy ZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv IS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXBy ZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh bmcvIS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFuZy8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv IS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9v L3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLyHCoMK7CnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFuZy8uLyEtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8u LyEtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgv Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YW5nLy4vIS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1w cmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9z dWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vbm9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YW5nLy4vIS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5n Ly4vIS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXBy ZWZpeC9mb28vbGliYmFzZS5hJworIGRlc2NyaXB0aW9uPWJhbmcgaW4gYnVpbGRkaXIKKyBl eHBlY3RlZF90b19mYWlsIGJ1aWxkIGJhbmcKKyBpc19pbl9saXN0IGJhbmcgc3F1b3RlIGRx dW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVh ZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09YmFuZworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJl Y3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBiYW5nIGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm9rIDExIC0gYmFuZyBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDExIC0gYmFuZyBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1f cmZfIC4vISAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYW5nCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8hIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWJhbmcKKyBybSAtcmYgLi8hIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgLi8hCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0 aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWJhbmcKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIQor IG1rZGlyIGJ1aWxkLWJhbmcKKyBjZCBidWlsZC1iYW5nCisgcj1vaworIC4uL2NvbmZpZ3Vy ZSAtLXByZWZpeCAvIS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52 aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtk aXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg bWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5v dXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hl dGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhl IEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu b25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5j bHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kg c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRo ZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpj b25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp bmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJp bnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJ T049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2Uu YwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAg IC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv dXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNy dSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBE RVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJhbmcvISBmaWxlPS4vISBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1iYW5nwqDCuwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v c3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1 Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEv IS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWJhbmcvIS8hLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXBy ZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZp eC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWIvJwogIC91c3Iv YmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWIv JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vL3N1YicK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWJhbmfCoMK7CnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYmFuZy8hLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFu Zy8hLy4vIS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLy4vIS1wcmVm aXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLy4vIS1wcmVmaXgvZm9v L2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9zdWIvbm9i YXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9ub2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYmFuZy8hLy4vIS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFuZy8hLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFuZy8hLy4vIS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8h LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28v c3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9s aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vbGliYmFz ZS5hJworIGRlc2NyaXB0aW9uPWJhbmcgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwg ZGVzdCBiYW5nCisgaXNfaW5fbGlzdCBiYW5nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw IGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVtPWJhbmcKKyBzaGlmdAorIHJldHVybiAx CisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gYmFuZyBp biBkZXN0ZGlyCisgc2V0ICt4Cm9rIDEyIC0gYmFuZyBpbiBkZXN0ZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgMTIgLSBiYW5nIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvawor IHJtX3JmXyBidWlsZC1iYW5nIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1S IHUrcnd4IGJ1aWxkLWJhbmcgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hCisgcm0gLXJmIGJ1aWxkLWJhbmcgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFu Zy8hCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLWJhbmcKKyB0ZXN0IC1l IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhbmcvIQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAt ZS4KKyBldmFsIHRlc3Rfc3RyaW5nPSR7aW5zdHNwY19fYnNsYXNofQorIHRlc3Rfc3RyaW5n PVwKKyB0ZXN0IHhcID0geAorIG1rZGlyIC4vXAorIGJ1aWxkPS4vXAorIGRlc3Q9L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNs YXNoCisgY2QgLi9cCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvXC1wcmVmaXgK Y2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0 YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBj b25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFt ZQorIHI9bm90IG9rCisgZGVzY3JpcHRpb249YnNsYXNoIGluIGJ1aWxkZGlyCisgZXhwZWN0 ZWRfdG9fZmFpbCBidWlsZCBic2xhc2gKKyBpc19pbl9saXN0IGJzbGFzaCBzcXVvdGUgZHF1 b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFk cmlncmFwaDAgYV9sZl9iCisgaXRlbT1ic2xhc2gKKyBzaGlmdAorIHJldHVybiAwCisgZGly ZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgcmVzdWx0 XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24gLS0gYnNsYXNo IGluIGJ1aWxkZGlyCisgc2V0ICt4Cm5vdCBvayAxMyAtIGJzbGFzaCBpbiBidWlsZGRpciAj IFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDEz IC0gYnNsYXNoIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24K KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg c2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWJzbGFzaAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wKKyBta2Rp ciBidWlsZC1ic2xhc2gKKyBjZCBidWlsZC1ic2xhc2gKKyByPW9rCisgLi4vY29uZmlndXJl IC0tcHJlZml4IC9cLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0 YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2Rp ciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tp bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBt YWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mu Li4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNo ZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91 dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0 aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUg R05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcu Li4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v bmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0 b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhl IGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNv bmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNv bmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu ZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImlu c3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lP Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0Vf QlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNc IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5j Cm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAg LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291 cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1 IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERF U1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYnNsYXNoL1wgZmlsZT0uL1wgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYnNsYXNowqDCuwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2ZvbycKICggY2Qg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJzbGFzaC9cL1wtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNo L1wvXC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wv XC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli bm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xh c2gvXC9cLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YnNsYXNoL1wvXC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIv bm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJzbGFzaC9cL1wtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YnNsYXNoL1wvXC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJzbGFzaC9cL1wtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViJwpt YWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWJzbGFzaMKgwrsK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJz bGFzaC9cLy4vXC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJz bGFzaC9cLy4vXC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNo L1wvLi9cLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9c LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wt cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZp eC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9z dWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249 YnNsYXNoIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgYnNsYXNoCisgaXNf aW5fbGlzdCBic2xhc2ggc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVm ZWVkIGFfbGZfYgorIGl0ZW09YnNsYXNoCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2 ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGJzbGFzaCBpbiBkZXN0ZGly Cisgc2V0ICt4Cm9rIDE0IC0gYnNsYXNoIGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRh cCAxNCAtIGJzbGFzaCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMK KyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9y Zl8gYnVpbGQtYnNsYXNoIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIg dStyd3ggYnVpbGQtYnNsYXNoIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cCisgcm0gLXJmIGJ1aWxkLWJzbGFzaCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1ic2xhc2gvXAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1ic2xhc2gK KyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJzbGFzaC9cCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBi dXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3BjX19hbXBlcnNhbmR9 CisgdGVzdF9zdHJpbmc9JgorIHRlc3QgeCYgPSB4CisgbWtkaXIgLi8mCisgYnVpbGQ9Li8m CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hbXBlcnNhbmQKKyBjZCAuLyYKKyByPW9rCisgLi4vY29uZmlndXJlIC0t cHJlZml4IC8mLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIGNvbmZpZ3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0ZSB3b3Jr aW5nIGRpcmVjdG9yeSBuYW1lCisgcj1ub3Qgb2sKKyBkZXNjcmlwdGlvbj1hbXBlcnNhbmQg aW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGFtcGVyc2FuZAorIGlzX2lu X2xpc3QgYW1wZXJzYW5kIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xh c2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWFtcGVy c2FuZAorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1sb25n LXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxvbmct c3RhbmRpbmcgbGltaXRhdGlvbiAtLSBhbXBlcnNhbmQgaW4gYnVpbGRkaXIKKyBzZXQgK3gK bm90IG9rIDE1IC0gYW1wZXJzYW5kIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5n IGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgMTUgLSBhbXBlcnNhbmQgaW4gYnVp bGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBu b3Qgb2sgPSBvaworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9 YnVpbGQtYW1wZXJzYW5kCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJgorIG1rZGlyIGJ1aWxkLWFt cGVyc2FuZAorIGNkIGJ1aWxkLWFtcGVyc2FuZAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1w cmVmaXggLyYtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwu Li4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25t ZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1w Li4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ug c3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBn Y2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNo ZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIg d2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9i amVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUg QyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBu ZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0 aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUg ZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl IG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJj aGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5s aWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmln dXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmln LnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRl cGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwi MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdS RVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1E VkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAt TVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYg LWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBz dWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2Uu byAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3Vi L2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJ Uj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hbXBlcnNhbmQvJiBmaWxlPS4vJiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1hbXBlcnNhbmTCoMK7CiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vJyAmJiByYW5saWIg bGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zv bycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28vc3ViLycKIC91 c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1w cmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1w ZXJzYW5kLyYvJi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJl Zml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNh bmQvJi8mLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8m LXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFt cGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLD qXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvYnVpbGQtYW1wZXJzYW5kwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2Fu ZC8mLy4vJi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNh bmQvJi8uLyYtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQv Ji8uLyYtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8m LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYv Li8mLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8u LyYtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8uLyYt cHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4v Ji1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8uLyYt cHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vc3ViL2xp Ym5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL2xp Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj1hbXBlcnNhbmQgaW4gZGVzdGRpcgorIGV4cGVjdGVk X3RvX2ZhaWwgZGVzdCBhbXBlcnNhbmQKKyBpc19pbl9saXN0IGFtcGVyc2FuZCBzcXVvdGUg ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1hbXBl cnNhbmQKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1 bHRfIG9rIC1EICAtciAgLS0gYW1wZXJzYW5kIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgMTYg LSBhbXBlcnNhbmQgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDE2IC0gYW1wZXJz YW5kIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBp bmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1h bXBlcnNhbmQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3 eCBidWlsZC1hbXBlcnNhbmQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYKKyBybSAtcmYgYnVpbGQtYW1wZXJz YW5kIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFtcGVyc2FuZC8mCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxk LWFtcGVyc2FuZAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYKKyByZXR1cm4gMAorIDogRm9y IHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX3BlcmNlbnR9CisgdGVzdF9zdHJpbmc9JQorIHRlc3QgeCUgPSB4CisgbWtkaXIgLi8l CisgYnVpbGQ9Li8lCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50CisgY2QgLi8lCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvJS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh ZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdr CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBh bmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0 aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVu ZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNr aW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFu bGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJp bnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9z b3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1n IC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9i YXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5h CmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNl LmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBlcmNlbnQgZmlsZT0uLyUgbWFrZSB0ZXN0LWluc3QKbWFrZVsx XcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvJcKgwrsKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvJS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu dC8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2Zv by9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJj ZW50LyUtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJj ZW50LyUtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2Zvbycg JiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50 LyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9v L3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUt cHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBl cmNlbnQvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w ZXJjZW50LyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJj ZW50LyUtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvJS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8lwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vc3ViL25v YmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGVyY2VudC8uLyUtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50 Ly4vJS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8u LyUtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8uLyUtcHJl Zml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28v c3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1wZXJj ZW50IGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBwZXJjZW50CisgaXNf aW5fbGlzdCBwZXJjZW50IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xh c2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXBlcmNl bnQKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRf IG9rIC1EICAtciAgLS0gcGVyY2VudCBpbiBidWlsZGRpcgorIHNldCAreApvayAxNyAtIHBl cmNlbnQgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAxNyAtIHBlcmNlbnQgaW4g YnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLyUgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu dAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vJSAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Cisgcm0g LXJmIC4vJSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1wZXJjZW50CisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vJQor IHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcGVyY2VudAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVz dGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1wZXJjZW50CisgZGVzdD0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUK KyBta2RpciBidWlsZC1wZXJjZW50CisgY2QgYnVpbGQtcGVyY2VudAorIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggLyUtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg dGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBl bmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVj a2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi aW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNv dXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4v c291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAt ZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25v YmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNl LmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2Uu YQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFz ZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUgZmlsZT0uLyUgbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcGVyY2VudMKg wrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycgJiYgcmFubGliIGxp YmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1 Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nICYmIHJhbmxpYiBz dWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28vc3ViLycK ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl bnQvJS8lLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8l LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJj ZW50LyUvJS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0 dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1wZXJjZW50wqDCuwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBl cmNlbnQvJS8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVy Y2VudC8lLy4vJS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQv JS8uLyUtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUt cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUtcHJl Zml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9m b28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9m b28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9zdWIvbm9i YXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9ub2Jhc2UnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1w ZXJjZW50IGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgcGVyY2VudAorIGlz X2luX2xpc3QgcGVyY2VudCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGlu ZWZlZWQgYV9sZl9iCisgaXRlbT1wZXJjZW50Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVj dGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHBlcmNlbnQgaW4gZGVz dGRpcgorIHNldCAreApvayAxOCAtIHBlcmNlbnQgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDE4IC0gcGVyY2VudCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gYnVpbGQtcGVyY2VudCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUKKyB0ZXN0IDIgLWd0IDAKKyBj aG1vZCAtUiB1K3J3eCBidWlsZC1wZXJjZW50IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJQorIHJtIC1yZiBidWls ZC1wZXJjZW50IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBlcmNlbnQvJQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBi dWlsZC1wZXJjZW50CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUKKyByZXR1cm4gMAorIDogRm9y IHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX2xlZnRwYXJ9CisgdGVzdF9zdHJpbmc9KAorIHRlc3QgeCggPSB4CisgbWtkaXIgLi8o CisgYnVpbGQ9Li8oCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCisgY2QgLi8oCisgcj1vaworIC4uL2Nv bmZpZ3VyZSAtLXByZWZpeCAvKC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGli bGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh ZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdr CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBm b3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNp bmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4 OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBh bmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0 aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVu ZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNr aW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFu bGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0 YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJp bnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291 cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9z b3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1n IC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9i YXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5h CmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNl LmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxlZnRwYXIgZmlsZT0uLyggbWFrZSB0ZXN0LWluc3QKbWFrZVsx XcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvKMKgwrsKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvKC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh ci8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2Zv by9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0 cGFyLygtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0 cGFyLygtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2Zvbycg JiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFy LygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9v L3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygt cHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s ZWZ0cGFyLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0 cGFyLygtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvKC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci8owqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vc3ViL25v YmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8uLygtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFy Ly4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8u LygtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJl Zml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28v c3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1sZWZ0 cGFyIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBsZWZ0cGFyCisgaXNf aW5fbGlzdCBsZWZ0cGFyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xh c2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWxlZnRw YXIKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRf IG9rIC1EICAtciAgLS0gbGVmdHBhciBpbiBidWlsZGRpcgorIHNldCAreApvayAxOSAtIGxl ZnRwYXIgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAxOSAtIGxlZnRwYXIgaW4g YnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLyggL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh cgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vKCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCisgcm0g LXJmIC4vKCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZWZ0cGFyCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vKAor IHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVmdHBhcgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVz dGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1sZWZ0cGFyCisgZGVzdD0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygK KyBta2RpciBidWlsZC1sZWZ0cGFyCisgY2QgYnVpbGQtbGVmdHBhcgorIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggLygtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1 aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3 awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Ig c3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVz aW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNj ZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBD ODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMg YW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg dGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBl bmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVj a2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJh bmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czog ZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9O QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FH RV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1E UEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi aW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNv dXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4v c291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAt ZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25v YmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNl LmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2Uu YQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFz ZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLyggZmlsZT0uLyggbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbGVmdHBhcsKg wrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycgJiYgcmFubGliIGxp YmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vL3N1 Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nICYmIHJhbmxpYiBz dWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViLycK ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw YXIvKC8oLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVmdHBhci8oLygtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8o LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVmdHBhci8oLygtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0 cGFyLygvKC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0 dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1sZWZ0cGFywqDCuwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl ZnRwYXIvKC8uLygtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVm dHBhci8oLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv KC8uLygtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygt cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJl Zml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9m b28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9m b28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9zdWIvbm9i YXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9ub2Jhc2UnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1s ZWZ0cGFyIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgbGVmdHBhcgorIGlz X2luX2xpc3QgbGVmdHBhciBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGlu ZWZlZWQgYV9sZl9iCisgaXRlbT1sZWZ0cGFyCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVj dGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGxlZnRwYXIgaW4gZGVz dGRpcgorIHNldCAreApvayAyMCAtIGxlZnRwYXIgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDIwIC0gbGVmdHBhciBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gYnVpbGQtbGVmdHBhciAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygKKyB0ZXN0IDIgLWd0IDAKKyBj aG1vZCAtUiB1K3J3eCBidWlsZC1sZWZ0cGFyIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKAorIHJtIC1yZiBidWls ZC1sZWZ0cGFyIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlZnRwYXIvKAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBi dWlsZC1sZWZ0cGFyCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygKKyByZXR1cm4gMAorIDogRm9y IHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX3JpZ2h0cGFyfQorIHRlc3Rfc3RyaW5nPSkKKyB0ZXN0IHgpID0geAorIG1rZGlyIC4v KQorIGJ1aWxkPS4vKQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIKKyBjZCAuLykKKyByPW9rCisgLi4v Y29uZmlndXJlIC0tcHJlZml4IC8pLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0 aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQt c2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdh d2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5n IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3Mu Li4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt ZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1 c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFj Y2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08g Qzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1j IGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz IHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVw ZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hl Y2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciBy YW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdl ciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcu c3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0Vf TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAt RFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1c Imluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBz b3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4u L3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAg LWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9u b2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNl LmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jh c2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIgZmlsZT0uLykgbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvKcKgwrsKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg Li4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28nCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1yaWdodHBhci8pLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwg LWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy LyktcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNl LnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykt cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5v YmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRw YXIvKS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJp Z2h0cGFyLyktcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25v YmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1yaWdodHBhci8pLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJp Z2h0cGFyLyktcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9zdWInCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1yaWdodHBhci8pLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8pwqDCuwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y aWdodHBhci8uLyktcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh ci8uLyktcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXBy ZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4 L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9z dWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL25v YmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRw YXIvLi8pLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0 cGFyLy4vKS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy Ly4vKS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1yaWdodHBhciBpbiBi dWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcmlnaHRwYXIKKyBpc19pbl9saXN0 IHJpZ2h0cGFyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1w ZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXJpZ2h0cGFyCisg c2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAgLXIgIC0tIHJpZ2h0cGFyIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDIxIC0gcmlnaHRw YXIgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAyMSAtIHJpZ2h0cGFyIGluIGJ1 aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8pIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy CisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8pIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyCisgcm0g LXJmIC4vKSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhcgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLykK KyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJpZ2h0cGFyCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBi dXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXJpZ2h0cGFyCisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh ci8pCisgbWtkaXIgYnVpbGQtcmlnaHRwYXIKKyBjZCBidWlsZC1yaWdodHBhcgorIHI9b2sK KyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyktcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3 b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmls ZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBn Y2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFu ZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcg Zm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJl IG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0 YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIg LU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNl Lm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8K Z2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8g c3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9s aWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJu b2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp Ym5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pIGZpbGU9Li8pIG1ha2UgdGVzdC1p bnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXJp Z2h0cGFywqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLykt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0 cGFyLykvKS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28n ICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8p LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRw YXIvKS8pLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vL3N1 Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy LykvKS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLykt cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRw YXIvKS8pLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1yaWdodHBhci8pLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgv Zm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8p LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLXJpZ2h0cGFywqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZp eC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZp eC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zv by9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9zdWIv bm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL25v YmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9ub2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtcmln aHRwYXIvKS8uLyktcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y aWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1yaWdo dHBhciBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHJpZ2h0cGFyCisgaXNf aW5fbGlzdCByaWdodHBhciBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGlu ZWZlZWQgYV9sZl9iCisgaXRlbT1yaWdodHBhcgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJl Y3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSByaWdodHBhciBpbiBk ZXN0ZGlyCisgc2V0ICt4Cm9rIDIyIC0gcmlnaHRwYXIgaW4gZGVzdGRpcgpQQVNTOiB0L2lu c3RzcGMudGFwIDIyIC0gcmlnaHRwYXIgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9 IG9rCisgcm1fcmZfIGJ1aWxkLXJpZ2h0cGFyIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykKKyB0ZXN0IDIgLWd0 IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1yaWdodHBhciAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pCisgcm0g LXJmIGJ1aWxkLXJpZ2h0cGFyIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgYnVpbGQtcmlnaHRwYXIKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykKKyByZXR1 cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0 cmluZz0ke2luc3RzcGNfX3BpcGV9CisgdGVzdF9zdHJpbmc9fAorIHRlc3QgeHwgPSB4Cisg bWtkaXIgLi98CisgYnVpbGQ9Li98CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlCisgY2QgLi98Cisgcj1vawor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvfC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNv bXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRo ZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhy ZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdv cmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxl IG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAK Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdj YyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQg SVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5k cyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw b3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5n IGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFy CmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBm b3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29u ZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh dHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNL QUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAt TVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2Uu byAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Qbwpn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBz dWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xp YmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v YmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli bm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUgZmlsZT0uL3wgbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvfMKgwrsKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli YmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgv Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1w cmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zvby9zdWIvJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBl L3wtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1w cmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w aXBlL3wtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBpcGUvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBl L3wtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zv by9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci98wqDCuwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBpcGUvLi98LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv Li98LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4 L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbm9i YXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL25vYmFzZS5kYXQn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGlwZS8uL3wtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wt cHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28v c3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlw ZS8uL3wtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1w cmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1waXBlIGluIGJ1aWxkZGlyCisg ZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBwaXBlCisgaXNfaW5fbGlzdCBwaXBlIHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1 YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXBpcGUKKyBzaGlmdAorIHJldHVybiAxCisgZGly ZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcGlwZSBpbiBidWls ZGRpcgorIHNldCAreApvayAyMyAtIHBpcGUgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3Bj LnRhcCAyMyAtIHBpcGUgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJt X3JmXyAuL3wgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcGlwZQorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vfCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1waXBlCisgcm0gLXJmIC4vfCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0 IC1lIC4vfAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZQorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdp dGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1waXBlCisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wK KyBta2RpciBidWlsZC1waXBlCisgY2QgYnVpbGQtcGlwZQorIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggL3wtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4 IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGlu Y2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0 aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNw Y1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNl LmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBz b3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisg REVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1waXBlL3wgZmlsZT0uL3wgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcGlwZcKgwrsKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGlwZS98L3wtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98 L3wtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1waXBlL3wvfC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zvby9zdWIv JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1w cmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nICYmIHJhbmxpYiBz dWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zvby9zdWIn CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1waXBlwqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBp cGUvfC8uL3wtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC8uL3wtcHJl Zml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC8uL3wtcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4v fC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9v L3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28v bGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1waXBlIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWls IGRlc3QgcGlwZQorIGlzX2luX2xpc3QgcGlwZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1waXBlCisgc2hpZnQKKyByZXR1cm4g MQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHBpcGUg aW4gZGVzdGRpcgorIHNldCAreApvayAyNCAtIHBpcGUgaW4gZGVzdGRpcgpQQVNTOiB0L2lu c3RzcGMudGFwIDI0IC0gcGlwZSBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gYnVpbGQtcGlwZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAt UiB1K3J3eCBidWlsZC1waXBlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfAorIHJtIC1yZiBidWlsZC1waXBlIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBp cGUvfAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1waXBlCisgdGVzdCAt ZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1waXBlL3wKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQg LWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2NhcmV0fQorIHRlc3Rfc3RyaW5n PV4KKyB0ZXN0IHheID0geAorIG1rZGlyIC4vXgorIGJ1aWxkPS4vXgorIGRlc3Q9L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy ZXQKKyBjZCAuL14KKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9eLXByZWZpeApj aGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3Rh bGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll cwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1w CmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMg JChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2 YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRo ZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVy IGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4 IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21w aWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpj aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBn Y2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdo ZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMg KEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpj aGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJm YWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQg Z2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZp Z3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5n IE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwor IG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFS TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9T VFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNL QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAt SS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3Vy Y2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5U cG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8g IApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGli YmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJh c2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3Vy Y2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQgZmlsZT0u L14gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvXsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJl Zml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC9eLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJl dC9eLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJyAmJiBy YW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWIvJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWInCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC9eLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKg OiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9ewqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0 Ly4vXi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14t cHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zv by9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vc3ViL25vYmFz ZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbm9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8u L14tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vbm9i YXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cmV0Ly4vXi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jYXJldCBpbiBi dWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgY2FyZXQKKyBpc19pbl9saXN0IGNh cmV0IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5k IGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWNhcmV0Cisgc2hpZnQKKyBy ZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0t IGNhcmV0IGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDI1IC0gY2FyZXQgaW4gYnVpbGRkaXIK UEFTUzogdC9pbnN0c3BjLnRhcCAyNSAtIGNhcmV0IGluIGJ1aWxkZGlyCisgY2QgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFt X2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0 ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9eIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0CisgdGVzdCAyIC1ndCAwCisgY2ht b2QgLVIgdStyd3ggLi9eIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Cisgcm0gLXJmIC4vXiAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldAorIF9hbV9y bXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL14KKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0CisgcmV0dXJu IDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWNh cmV0CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC9eCisgbWtkaXIgYnVpbGQtY2FyZXQKKyBjZCBidWlsZC1j YXJldAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL14tcHJlZml4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp b24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBn Y2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0 eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBh bGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1c Imluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u ICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8g LWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVw cy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAg LWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEK YXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eIGZpbGU9Li9eIG1h a2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLWNhcmV0wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14v Xi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1Yi8nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5h ICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxs IC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC9eL14tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1YicKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY2FyZXQvXi9eLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWNhcmV0wqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FyZXQvXi8uL14tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8u L14tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4v Xi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJl Zml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zvby9u b2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zvby9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8u L14tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8u L14tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1w cmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jYXJldCBpbiBkZXN0ZGlyCisg ZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGNhcmV0CisgaXNfaW5fbGlzdCBjYXJldCBzcXVvdGUg ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1jYXJl dAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8g b2sgLUQgIC1yICAtLSBjYXJldCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDI2IC0gY2FyZXQg aW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDI2IC0gY2FyZXQgaW4gZGVzdGRpcgor IGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp cgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJl dHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWNhcmV0IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14K KyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1jYXJldCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e Cisgcm0gLXJmIGJ1aWxkLWNhcmV0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14KKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgYnVpbGQtY2FyZXQKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14KKyByZXR1cm4gMAor IDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0k e2luc3RzcGNfX3RpbGRlfQorIHRlc3Rfc3RyaW5nPX4KKyB0ZXN0IHh+ID0geAorIG1rZGly IC4vfgorIGJ1aWxkPS4vfgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKKyBjZCAuL34KKyByPW9rCisgLi4v Y29uZmlndXJlIC0tcHJlZml4IC9+LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0 aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBi dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQt c2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdh d2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5n IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3Mu Li4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt ZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9y IHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1 c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFj Y2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08g Qzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1j IGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz IHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVw ZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hl Y2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciBy YW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdl ciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcu c3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0Vf TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAt RFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1c Imluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBz b3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4u L3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAg LWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9u b2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNl LmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jh c2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUgZmlsZT0uL34gbWFrZSB0ZXN0LWluc3QKbWFrZVsx XcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvfsKgwrsKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRp bGRlL34tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli YmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZp eC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUv fi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRl L34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXRpbGRlL34tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28vc3ViJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRpbGRlL34tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi L25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC10aWxkZS9+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1 Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRp bGRlL34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRpbGRlL34tcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+ LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGls ZGUvfi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9+wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGlsZGUvLi9+LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGls ZGUvLi9+LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34t cHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zv by9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL25v YmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRl Ly4vfi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9m b28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9v L2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj10aWxkZSBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2Zh aWwgYnVpbGQgdGlsZGUKKyBpc19pbl9saXN0IHRpbGRlIHNxdW90ZSBkcXVvdGUgYnF1b3Rl IHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBh X2xmX2IKKyBpdGVtPXRpbGRlCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHRpbGRlIGluIGJ1aWxkZGlyCisgc2V0 ICt4Cm9rIDI3IC0gdGlsZGUgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAyNyAt IHRpbGRlIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9+ IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRpbGRlCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi9+IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRl Cisgcm0gLXJmIC4vfiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10aWxkZQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAu L34KKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRpbGRlCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBi dXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLXRpbGRlCisgZGVzdD0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Cisg bWtkaXIgYnVpbGQtdGlsZGUKKyBjZCBidWlsZC10aWxkZQorIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggL34tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4 IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGlu Y2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0 aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNw Y1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNl LmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBz b3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisg REVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10aWxkZS9+IGZpbGU9Li9+IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDog b24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXRpbGRlwqDCuwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2 NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogKCBjZCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGlsZGUvfi9+LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBz dWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10 aWxkZS9+L34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVm aXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34vfi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+ L34tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34vfi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgv Zm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRp bGRlL34vfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZp eC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRl L34vfi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34t cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmgg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+ LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34vfi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34v fi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lw ZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2J1aWxkLXRpbGRlwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXBy ZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZp eC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNl LmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL25vYmFzZS5kYXQn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGlsZGUvfi8uL34tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34v Li9+LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1w cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9zdWIvbGlibm9i YXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9saWJub2Jhc2Uu YScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBk ZXNjcmlwdGlvbj10aWxkZSBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHRp bGRlCisgaXNfaW5fbGlzdCB0aWxkZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs YXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT10aWxkZQorIHNoaWZ0CisgcmV0dXJuIDEKKyBk aXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSB0aWxkZSBpbiBk ZXN0ZGlyCisgc2V0ICt4Cm9rIDI4IC0gdGlsZGUgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDI4IC0gdGlsZGUgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisg cm1fcmZfIGJ1aWxkLXRpbGRlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34KKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAt UiB1K3J3eCBidWlsZC10aWxkZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Cisgcm0gLXJmIGJ1aWxkLXRpbGRlIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRpbGRlL34KKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtdGlsZGUKKyB0 ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRpbGRlL34KKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3Rl ZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3FtYXJrfQorIHRlc3Rf c3RyaW5nPT8KKyB0ZXN0IHg/ID0geAorIG1rZGlyIC4vPworIGJ1aWxkPS4vPworIGRlc3Q9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcW1hcmsKKyBjZCAuLz8KKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8/LXBy ZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmlu L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l Li4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21r ZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtl IHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5l c3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5n IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Ig c3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMu Li4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5n IGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4u LiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4g Z2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikg aW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5n IHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21t YW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFD S0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVw cy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3Nv dXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291 cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBz dWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsg ZmlsZT0uLz8gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLD qXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvP8KgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZp eC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNl LmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJr Lz8tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNl LnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFt YXJrLz8tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xbWFyay8/LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9v JyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJr Lz8tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9z dWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9z dWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xbWFyay8/LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8/wqDCuwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXFtYXJrLy4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy ay8uLz8tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8uLz8tcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vc3Vi L25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vbm9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8uLz8tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9m b28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2Jhc2UnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1xbWFy ayBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcW1hcmsKKyBpc19pbl9s aXN0IHFtYXJrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1w ZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXFtYXJrCisgc2hp ZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAg LXIgIC0tIHFtYXJrIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDI5IC0gcW1hcmsgaW4gYnVp bGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAyOSAtIHFtYXJrIGluIGJ1aWxkZGlyCisgY2Qg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisg bm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJu IDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8/IC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrCisgdGVzdCAyIC1ndCAw CisgY2htb2QgLVIgdStyd3ggLi8/IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrCisgcm0gLXJmIC4vPyAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyawor IF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLz8KKyB0ZXN0IC1lIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrCisg cmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1 aWxkLXFtYXJrCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/CisgbWtkaXIgYnVpbGQtcW1hcmsKKyBjZCBi dWlsZC1xbWFyaworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLz8tcHJlZml4CmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hl dGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNo ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisg bWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJO QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJj ZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRw byAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAg CmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJi YXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFz ZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/IGZpbGU9 Li8/IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2J1aWxkLXFtYXJrwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy ay8/Lz8tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFt YXJrLz8vPy1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nICYm IHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZp eC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1 Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1 YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5v YmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1Yi8nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1 YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28vc3Vi JwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLXFtYXJrwqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcW1hcmsvPy8uLz8tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy8uLz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy ay8/Ly4vPy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8u Lz8tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJlZml4 L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy8uLz8tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcW1h cmsvPy8uLz8tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/ Ly4vPy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1xbWFyayBpbiBkZXN0 ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHFtYXJrCisgaXNfaW5fbGlzdCBxbWFyayBz cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRl bT1xbWFyaworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJl c3VsdF8gb2sgLUQgIC1yICAtLSBxbWFyayBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDMwIC0g cW1hcmsgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDMwIC0gcW1hcmsgaW4gZGVz dGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXFtYXJrIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFt YXJrLz8KKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1xbWFyayAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x bWFyay8/Cisgcm0gLXJmIGJ1aWxkLXFtYXJrIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8KKyBfYW1fcm1yZl9zdGF0 dXM9MAorIHRlc3QgLWUgYnVpbGQtcW1hcmsKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8KKyByZXR1 cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0 cmluZz0ke2luc3RzcGNfX3N0YXJ9CisgdGVzdF9zdHJpbmc9KgorIHRlc3QgeCogPSB4Cisg bWtkaXIgLi8qCisgYnVpbGQ9Li8qCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyCisgY2QgLi8qCisgcj1vawor IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvKi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNv bXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRo ZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhy ZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVj a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdv cmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxl IG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAK Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdj YyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQg SVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5k cyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw b3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5n IGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFy CmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBm b3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUg bmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29u ZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh dHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNL QUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQ QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB R0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAt TVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2Uu byAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Qbwpn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBz dWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xp YmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v YmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli bm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIgZmlsZT0uLyogbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvKsKgwrsKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli YmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgv Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1w cmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zvby9zdWIvJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFy LyotcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1w cmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1z dGFyLyotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXN0YXIvKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFy LyotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zv by9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8qwqDCuwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXN0YXIvLi8qLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIv Li8qLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4 L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbm9i YXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5kYXQn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3Rhci8uLyotcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyot cHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9mb28v c3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL25vYmFzZScK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rh ci8uLyotcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1w cmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1zdGFyIGluIGJ1aWxkZGlyCisg ZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBzdGFyCisgaXNfaW5fbGlzdCBzdGFyIHNxdW90ZSBk cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1 YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXN0YXIKKyBzaGlmdAorIHJldHVybiAxCisgZGly ZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gc3RhciBpbiBidWls ZGRpcgorIHNldCAreApvayAzMSAtIHN0YXIgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3Bj LnRhcCAzMSAtIHN0YXIgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJt X3JmXyAuLyogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3RhcgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vKiAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zdGFyCisgcm0gLXJmIC4vKiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0 IC1lIC4vKgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3RhcgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdp dGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1zdGFyCisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyoK KyBta2RpciBidWlsZC1zdGFyCisgY2QgYnVpbGQtc3RhcgorIHI9b2sKKyAuLi9jb25maWd1 cmUgLS1wcmVmaXggLyotcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4 IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGlu Y2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0 aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNw Y1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNl LmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBz b3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisg REVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zdGFyLyogZmlsZT0uLyogbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc3RhcsKgwrsKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3Rhci8qLyotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8q LyotcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zdGFyLyovKi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2Zvby9zdWIv JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1w cmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nICYmIHJhbmxpYiBz dWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2Zvby9zdWIn CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3Rhci8qLyotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vL3N1YicKbWFr ZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1zdGFywqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0 YXIvKi8uLyotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8uLyotcHJl Zml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXN0YXIvKi8uLyotcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4v Ki1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9v L3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28v bGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1zdGFyIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWls IGRlc3Qgc3RhcgorIGlzX2luX2xpc3Qgc3RhciBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFy cCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1zdGFyCisgc2hpZnQKKyByZXR1cm4g MQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHN0YXIg aW4gZGVzdGRpcgorIHNldCAreApvayAzMiAtIHN0YXIgaW4gZGVzdGRpcgpQQVNTOiB0L2lu c3RzcGMudGFwIDMyIC0gc3RhciBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVz dGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sK KyBybV9yZl8gYnVpbGQtc3RhciAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyoKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAt UiB1K3J3eCBidWlsZC1zdGFyIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKgorIHJtIC1yZiBidWlsZC1zdGFyIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXN0 YXIvKgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1zdGFyCisgdGVzdCAt ZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zdGFyLyoKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQg LWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3BsdXN9CisgdGVzdF9zdHJpbmc9 KworIHRlc3QgeCsgPSB4CisgbWtkaXIgLi8rCisgYnVpbGQ9Li8rCisgZGVzdD0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVz CisgY2QgLi8rCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvKy1wcmVmaXgKY2hl Y2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy aWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGls aW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0 aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChH TlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdl bmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1 cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBN YWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBt YWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv IC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAK Z2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJh c2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMgZmlsZT0uLysg bWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvK8KgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKICggY2Qg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBsdXMvKy1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi L2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8r LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zvby9zdWIv JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zvby9z dWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGx1cy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBs dXMvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1wbHVzLystcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1w cmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8r wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcGx1cy8uLystcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLyst cHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVm aXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu c2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBs dXMvLi8rLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1w cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL2Jh c2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1w bHVzIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBwbHVzCisgaXNfaW5f bGlzdCBwbHVzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1w ZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXBsdXMKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gcGx1cyBpbiBidWlsZGRpcgorIHNldCAreApvayAzMyAtIHBsdXMgaW4gYnVpbGRk aXIKUEFTUzogdC9pbnN0c3BjLnRhcCAzMyAtIHBsdXMgaW4gYnVpbGRkaXIKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3Qg YW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQor IHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLysgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cworIHRlc3QgMiAtZ3QgMAorIGNo bW9kIC1SIHUrcnd4IC4vKyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzCisgcm0gLXJmIC4vKyAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzCisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vKworIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cworIHJldHVybiAw CisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1wbHVz CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1wbHVzLysKKyBta2RpciBidWlsZC1wbHVzCisgY2QgYnVpbGQtcGx1cwor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLystcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysgZmlsZT0uLysgbWFrZSB0ZXN0 LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQt cGx1c8KgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9v JwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vJwogIC91c3IvYmluL2lu c3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8r LystcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNl LnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1w bHVzLysvKy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5h ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZp eC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGx1cy8rLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZp eC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv Ky8rLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cGx1cy8rLystcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8r LystcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1w cmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvC oC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9i dWlsZC1wbHVzwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9zdWIv bm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL25vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBs dXMvKy8uLystcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8r LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXBy ZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zv by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9zdWIvbm9i YXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1 cy8rLy4vKy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVz LysvLi8rLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4v Ky1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1wbHVzIGluIGRlc3RkaXIK KyBleHBlY3RlZF90b19mYWlsIGRlc3QgcGx1cworIGlzX2luX2xpc3QgcGx1cyBzcXVvdGUg ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1wbHVz Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBv ayAtRCAgLXIgIC0tIHBsdXMgaW4gZGVzdGRpcgorIHNldCAreApvayAzNCAtIHBsdXMgaW4g ZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDM0IC0gcGx1cyBpbiBkZXN0ZGlyCisgY2Qg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisg bm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJu IDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtcGx1cyAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysKKyB0ZXN0 IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1wbHVzIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKworIHJtIC1y ZiBidWlsZC1wbHVzIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXBsdXMvKworIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBi dWlsZC1wbHVzCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysKKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX21p bnVzfQorIHRlc3Rfc3RyaW5nPS0KKyB0ZXN0IHgtID0geAorIG1rZGlyIC4vLQorIGJ1aWxk PS4vLQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWludXMKKyBjZCAuLy0KKyByPW9rCisgLi4vY29uZmlndXJlIC0t cHJlZml4IC8tLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl IHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUg bmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dl dGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl Lm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RE SVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWludXMgZmlsZT0uLy0gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvLcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVz Ly0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aW51cy8tLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28nICYmIHJh bmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9v JwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1pbnVzLy0tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVz Ly0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xp Ym5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv LS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0t cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWludXMvLS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0t cHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgv Zm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8twqDCuwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aW51cy8uLy0tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZp eC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNl LnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pbnVzLy4vLS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv Li8tLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgv Zm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vc3ViL2xpYm5v YmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNj cmlwdGlvbj1taW51cyBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgbWlu dXMKKyBpc19pbl9saXN0IG1pbnVzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh ciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVt PW1pbnVzCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVz dWx0XyBvayAtRCAgLXIgIC0tIG1pbnVzIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDM1IC0g bWludXMgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAzNSAtIG1pbnVzIGluIGJ1 aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8tIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzCisg dGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8tIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzCisgcm0gLXJmIC4v LSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taW51cworIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLy0KKyB0ZXN0IC1l IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1pbnVzCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1l LgorIGJ1aWxkPWJ1aWxkLW1pbnVzCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tCisgbWtkaXIgYnVpbGQt bWludXMKKyBjZCBidWlsZC1taW51cworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXgg Ly0tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vz ci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlz IHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9i aW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y dHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hl Y2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5n IGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBm aWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21w aWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQK Y2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0 aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdj Yy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIg KGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hl Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4u IGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1 czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVz IGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1E UEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIg LURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9 XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lP Tj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1G IC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRl cHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFz ZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJt IC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxp YiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5v YmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aW51cy8tIGZpbGU9Li8tIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFu cyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLW1pbnVzwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWludXMvLS8tLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNl LnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVz Ly0vLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJi YXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXBy ZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlu dXMvLS8tLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWludXMvLS8tLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1w cmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1w cmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJyAmJiByYW5s aWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViLycK ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgv Zm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8t LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0v LS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1w cmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXBy ZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8Kg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1 aWxkLW1pbnVzwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vc3Vi L25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vbm9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8uLy0tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWludXMvLS8uLy0tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51 cy8tLy4vLS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv LS8uLy0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8uLy0t cHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9m b28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL25v YmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS8uLy0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWludXMvLS8uLy0tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1t aW51cyBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IG1pbnVzCisgaXNfaW5f bGlzdCBtaW51cyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQg YV9sZl9iCisgaXRlbT1taW51cworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9Cisg cmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBtaW51cyBpbiBkZXN0ZGlyCisgc2V0 ICt4Cm9rIDM2IC0gbWludXMgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDM2IC0g bWludXMgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxk LW1pbnVzIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pbnVzLy0KKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWls ZC1taW51cyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taW51cy8tCisgcm0gLXJmIGJ1aWxkLW1pbnVzIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0KKyBf YW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtbWludXMKKyB0ZXN0IC1lIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1p bnVzLy0KKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisg ZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2NvbW1hfQorIHRlc3Rfc3RyaW5nPSwKKyB0 ZXN0IHgsID0geAorIG1rZGlyIC4vLAorIGJ1aWxkPS4vLAorIGRlc3Q9L2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEKKyBj ZCAuLywKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8sLXByZWZpeApjaGVja2lu ZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMK Y2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVj a2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtF KS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJs ZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhl IEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1 bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4 ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcu Li4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2lu ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0 aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIg Z2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBz dHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2lu ZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4u IGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJh dGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTog Y3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2Vm aWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2Ug YWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1c Imluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9 XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VS TD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUku LiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBv IC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRl cHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5h CmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpy bSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAK cmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEgZmlsZT0uLywgbWFr ZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv LMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28nCiAoIGNk ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jb21tYS8sLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLywtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zv by9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21t YS8sLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXBy ZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJyAmJiByYW5saWIg c3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWIvJwogIC91c3Iv YmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1Yi8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNvbW1hLywtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWInCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21t YS8sLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBx dWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8swqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4 L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j b21tYS8uLywtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1h Ly4vLC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJl Zml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vbm9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29tbWEvLi8sLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLy4vLC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4v LC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jb21tYSBpbiBidWlsZGRp cgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgY29tbWEKKyBpc19pbl9saXN0IGNvbW1hIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVm ZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWNvbW1hCisgc2hpZnQKKyByZXR1cm4g MQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGNvbW1h IGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDM3IC0gY29tbWEgaW4gYnVpbGRkaXIKUEFTUzog dC9pbnN0c3BjLnRhcCAzNyAtIGNvbW1hIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBp bmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9r ID0gb2sKKyBybV9yZl8gLi8sIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIg dStyd3ggLi8sIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbW1hCisgcm0gLXJmIC4vLCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYQorIF9hbV9ybXJmX3N0 YXR1cz0wCisgdGVzdCAtZSAuLywKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hCisgcmV0dXJuIDAKKyA6 IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWNvbW1hCisg ZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8sCisgbWtkaXIgYnVpbGQtY29tbWEKKyBjZCBidWlsZC1jb21tYQor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLywtcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sIGZpbGU9Li8sIG1ha2UgdGVz dC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxk LWNvbW1hwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bW1hLywvLC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBz dWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNvbW1hLywvLC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21t YS8sLywtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4v c3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29t bWEvLC8sLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWNvbW1hwqDCuwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNvbW1hLywvLi8sLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv LC8uLywtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1wcmVm aXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9ub2Jhc2Uu c2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21t YS8sLy4vLC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJl Zml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJl Zml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgv Zm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jb21tYSBpbiBkZXN0ZGlyCisgZXhwZWN0 ZWRfdG9fZmFpbCBkZXN0IGNvbW1hCisgaXNfaW5fbGlzdCBjb21tYSBzcXVvdGUgZHF1b3Rl IGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1jb21tYQorIHNo aWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQg IC1yICAtLSBjb21tYSBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDM4IC0gY29tbWEgaW4gZGVz dGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDM4IC0gY29tbWEgaW4gZGVzdGRpcgorIGNkIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5v dCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAx CisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWNvbW1hIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywKKyB0ZXN0 IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1jb21tYSAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sCisgcm0g LXJmIGJ1aWxkLWNvbW1hIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3Qg LWUgYnVpbGQtY29tbWEKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywKKyByZXR1cm4gMAorIDogRm9y IHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3Rz cGNfX2NvbG9ufQorIHRlc3Rfc3RyaW5nPToKKyB0ZXN0IHg6ID0geAorIG1rZGlyIC4vOgor IGNkIC4vOgorIGJ1aWxkPS4vOgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KKyBjZCAuLzoKKyByPW9rCisg Li4vY29uZmlndXJlIC0tcHJlZml4IC86LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29t cGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhl ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJl YWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4u IGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNr aW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29y a3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUg bmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApj aGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2Nj IGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJ U08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRz IC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcg ZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIK Y2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZv ciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBu ZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25m aWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tB R0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBB Q0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBc IiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FH RT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1N VCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5v IC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdj YyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1 Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGli YmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9i YXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJu b2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24gZmlsZT0uLzogbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvOsKgwrsKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v c3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNvbG9uLzotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXBy ZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29s b24vOi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWIvJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28vc3ViJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5h ICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jb2xvbi86LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u L3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNvbG9uLzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k YXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xv bi86LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29sb24vOi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVy dG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci86wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9ub2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29sb24vLi86LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y29sb24vLi86LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8u LzotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4 L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9v L25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bG9uLy4vOi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZp eC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgv Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj1jb2xvbiBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgYnVpbGQgY29sb24KKyBpc19pbl9saXN0IGNvbG9uIHNxdW90ZSBkcXVvdGUgYnF1 b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBo MCBhX2xmX2IKKyBpdGVtPWNvbG9uCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0K KyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGNvbG9uIGluIGJ1aWxkZGlyCisg c2V0ICt4Cm9rIDM5IC0gY29sb24gaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAz OSAtIGNvbG9uIGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g Li86IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbG9uCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi86IC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bG9uCisgcm0gLXJmIC4vOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAt ZSAuLzoKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0 aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWNvbG9uCisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 CisgbWtkaXIgYnVpbGQtY29sb24KKyBjZCBidWlsZC1jb2xvbgorIHI9b2sKKyAuLi9jb25m aWd1cmUgLS1wcmVmaXggLzotcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4u IGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3Vm Zml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5n IHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODku Li4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5k IC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhl IGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRl bmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2lu ZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxp Yi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRo YW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0 dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhl Y3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1F PVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9W RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFD S0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5z dHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJj ZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291 cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAt TzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFz ZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQph ciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5h CisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1jb2xvbi86IGZpbGU9Li86IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3C oDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWNvbG9uwqDCuwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29sb24vOi86LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jb2xvbi86LzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1w cmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2gg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xv bi86LzotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVm aXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXBy ZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNv bG9uLzovOi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Lzot cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh dCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86 LzotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v Oi86LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u LzovOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSBy w6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2J1aWxkLWNvbG9uwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovLi86 LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovLi86LXBy ZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zv by9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9zdWIvbm9i YXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL25vYmFzZS5k YXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u LzovLi86LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4v Oi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgv Zm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9zdWIvbGli bm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9saWJub2Jh c2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL2xpYmJhc2UuYScK KyBkZXNjcmlwdGlvbj1jb2xvbiBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0 IGNvbG9uCisgaXNfaW5fbGlzdCBjb2xvbiBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBk b2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1jb2xvbgorIHNoaWZ0CisgcmV0dXJuIDEK KyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBjb2xvbiBp biBkZXN0ZGlyCisgc2V0ICt4Cm9rIDQwIC0gY29sb24gaW4gZGVzdGRpcgpQQVNTOiB0L2lu c3RzcGMudGFwIDQwIC0gY29sb24gaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rl c3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9r Cisgcm1fcmZfIGJ1aWxkLWNvbG9uIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzoKKyB0ZXN0IDIgLWd0IDAKKyBjaG1v ZCAtUiB1K3J3eCBidWlsZC1jb2xvbiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Cisgcm0gLXJmIGJ1aWxkLWNvbG9u IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNvbG9uLzoKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtY29sb24K KyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNvbG9uLzoKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1 c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3NlbWljb2x9Cisg dGVzdF9zdHJpbmc9OworIHRlc3QgeDsgPSB4CisgbWtkaXIgLi87CisgYnVpbGQ9Li87Cisg ZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zZW1pY29sCisgY2QgLi87Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZp eCAvOy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg aXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4g L2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw b3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpj aGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBm b3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0 IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv bXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRl ZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJl Y3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2Yg Z2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZl ciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpj aGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUu Li4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3Rh dHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmls ZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBc IiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJT SU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAt TUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAu ZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9i YXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAK cm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFu bGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGli bm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNlbWljb2wgZmlsZT0uLzsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBk YW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvO8KgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wv Oy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c2VtaWNvbC87LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJl Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sLzstcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1w cmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wv Oy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zvby9zdWIvJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zv by9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9s aWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9i aW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zvby9zdWIv JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zv by9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9v L3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci87wqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c2VtaWNvbC8uLzstcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8u LzstcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLy4v Oy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJl Zml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9u b2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8u LzstcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8u LzstcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1w cmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1zZW1pY29sIGluIGJ1aWxkZGly CisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBzZW1pY29sCisgaXNfaW5fbGlzdCBzZW1pY29s IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxp bmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXNlbWljb2wKKyBzaGlmdAorIHJl dHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0g c2VtaWNvbCBpbiBidWlsZGRpcgorIHNldCAreApvayA0MSAtIHNlbWljb2wgaW4gYnVpbGRk aXIKUEFTUzogdC9pbnN0c3BjLnRhcCA0MSAtIHNlbWljb2wgaW4gYnVpbGRkaXIKKyBjZCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBu b3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLzsgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbAorIHRlc3QgMiAtZ3Qg MAorIGNobW9kIC1SIHUrcnd4IC4vOyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sCisgcm0gLXJmIC4vOyAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1p Y29sCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vOworIHRlc3QgLWUgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2Vt aWNvbAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBi dWlsZD1idWlsZC1zZW1pY29sCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsKKyBta2RpciBidWlsZC1z ZW1pY29sCisgY2QgYnVpbGQtc2VtaWNvbAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVm aXggLzstcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g L3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4u IC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNr aW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVj dCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBj b21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVk ZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVy Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGly ZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9m IGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2 ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIK Y2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJl Li4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0 YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZp bGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w XCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBP UlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVS U0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAg LU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYg LmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIv YmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAg CnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xp Ym5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0v aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zZW1pY29sLzsgZmlsZT0uLzsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtc2VtaWNvbMKgwrsKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2Vt aWNvbC87LzstcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv bm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2Vt aWNvbC87LzstcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKICggY2Qg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEg KQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Lzst cHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2Zvby9zdWInCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s LzsvOy1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9idWlsZC1zZW1pY29swqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVm aXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zv by9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9ub2Jh c2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vc3ViL25vYmFzZS5z aCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2Vt aWNvbC87Ly4vOy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4v Oy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsv Li87LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4v Oy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1zZW1pY29sIGluIGRlc3Rk aXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3Qgc2VtaWNvbAorIGlzX2luX2xpc3Qgc2VtaWNv bCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisg aXRlbT1zZW1pY29sCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249 CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHNlbWljb2wgaW4gZGVzdGRpcgorIHNldCAreApv ayA0MiAtIHNlbWljb2wgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQyIC0gc2Vt aWNvbCBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQt c2VtaWNvbCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLzsKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBi dWlsZC1zZW1pY29sIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOworIHJtIC1yZiBidWlsZC1zZW1pY29sIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNl bWljb2wvOworIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1zZW1pY29sCisg dGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zZW1pY29sLzsKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1 c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2VxdWFsfQorIHRl c3Rfc3RyaW5nPT0KKyB0ZXN0IHg9ID0geAorIG1rZGlyIC4vPQorIGJ1aWxkPS4vPQorIGRl c3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZXF1YWwKKyBjZCAuLz0KKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC89 LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3Iv YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz YW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmlu L21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBt YWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBD IGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBm b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBj cm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmls ZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGls ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNr aW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2 ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2Mu Li4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChh cikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBk b25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6 IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBj b21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBB Q0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1E UEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwi XCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049 XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAu ZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBz L3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ug c291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAt ZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1 YWwgZmlsZT0uLz0gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvPcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXBy ZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogIC91c3Iv YmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVx dWFsLz0tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWVxdWFsLz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5h ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgv Zm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVx dWFsLz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zv by9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1w cmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zv by9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci89wqDCuwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1l cXVhbC8uLz0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0t cHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28v c3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vbm9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9iYXNlLmRhdCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC8uLz0tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4v PS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZp eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1l cXVhbCBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgZXF1YWwKKyBpc19p bl9saXN0IGVxdWFsIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2gg YW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWVxdWFsCisg c2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAt RCAgLXIgIC0tIGVxdWFsIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDQzIC0gZXF1YWwgaW4g YnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA0MyAtIGVxdWFsIGluIGJ1aWxkZGlyCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi89IC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsCisgdGVzdCAyIC1n dCAwCisgY2htb2QgLVIgdStyd3ggLi89IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsCisgcm0gLXJmIC4vPSAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVh bAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLz0KKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs CisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxk PWJ1aWxkLWVxdWFsCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89CisgbWtkaXIgYnVpbGQtZXF1YWwKKyBj ZCBidWlsZC1lcXVhbAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLz0tcHJlZml4 CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hl dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGls ZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZm aXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNv bXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcg d2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHll cyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2Mz CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRl cmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhh dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29u ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9U QVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBB Q0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwi IC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3Nv dXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl LlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu byAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9s aWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli YmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89IGZp bGU9Li89IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lw ZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2J1aWxkLWVxdWFswqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89 LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1l cXVhbC89Lz0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28n ICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXBy ZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89 LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9v L3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vL3N1Yi8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9v L3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28v c3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWVxdWFs wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1l cXVhbC89Ly4vPS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv PS8uLz0tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJl Zml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJlZml4L2Zv by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vc3ViL25v YmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL25vYmFzZScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVh bC89Ly4vPS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1lcXVhbCBpbiBk ZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGVxdWFsCisgaXNfaW5fbGlzdCBlcXVh bCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisg aXRlbT1lcXVhbAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQor IHJlc3VsdF8gb2sgLUQgIC1yICAtLSBlcXVhbCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDQ0 IC0gZXF1YWwgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQ0IC0gZXF1YWwgaW4g ZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0 ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWVxdWFsIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWVxdWFsLz0KKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1lcXVhbCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1lcXVhbC89Cisgcm0gLXJmIGJ1aWxkLWVxdWFsIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0KKyBfYW1fcm1yZl9z dGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtZXF1YWwKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0KKyBy ZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0 X3N0cmluZz0ke2luc3RzcGNfX2xlc3N9CisgdGVzdF9zdHJpbmc9PAorIHRlc3QgeDwgPSB4 CisgbWtkaXIgLi88CisgYnVpbGQ9Li88CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzCisgY2QgLi88Cisgcj1v aworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvPC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNE LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3 ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpj aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy IHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm aWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3 ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2Nl cHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0 YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBz dXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNr aW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4u IGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2lu ZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQ QUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wg MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBB Q0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1P MiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3Vy Y2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q bwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAt byBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3Vi L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xp Ym5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv bGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MgZmlsZT0uLzwgbWFrZSB0ZXN0LWluc3QK bWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvPMKgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVm aXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2Zvby9zdWIvJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s ZXNzLzwtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv PC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sZXNzLzwtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s ZXNzLzwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4 L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci88wqDCuwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlc3MvLi88LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxl c3MvLi88LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIv bm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL25vYmFzZS5k YXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVzcy8uLzwtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8u LzwtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9m b28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bGVzcy8uLzwtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4v PC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1sZXNzIGluIGJ1aWxkZGly CisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBsZXNzCisgaXNfaW5fbGlzdCBsZXNzIHNxdW90 ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVk IHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWxlc3MKKyBzaGlmdAorIHJldHVybiAxCisg ZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gbGVzcyBpbiBi dWlsZGRpcgorIHNldCAreApvayA0NSAtIGxlc3MgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0 c3BjLnRhcCA0NSAtIGxlc3MgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0 ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvawor IHJtX3JmXyAuLzwgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbGVzcworIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4v PCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZXNzCisgcm0gLXJmIC4vPCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIC4vPAorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcworIHJldHVybiAwCisgOiBGb3Igc2hlbGxz IHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1sZXNzCisgZGVzdD0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNz LzwKKyBta2RpciBidWlsZC1sZXNzCisgY2QgYnVpbGQtbGVzcworIHI9b2sKKyAuLi9jb25m aWd1cmUgLS1wcmVmaXggLzwtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4u IGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3Vm Zml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5n IHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODku Li4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5k IC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhl IGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRl bmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2lu ZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxp Yi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRo YW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0 dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhl Y3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1F PVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9W RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFD S0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5z dHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJj ZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291 cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAt TzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFz ZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQph ciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5h CisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sZXNzLzwgZmlsZT0uLzwgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKg OiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbGVzc8KgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVz cy88LzwtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwv PC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zvby9z dWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwv PC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1w cmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nICYmIHJhbmxp YiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28vc3ViLycKICAv dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zvby9z dWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1sZXNzwqDCuwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4v PC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC8uLzwt cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC8uLzwtcHJlZml4 L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vc3Vi L25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88 Ly4vPC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgv Zm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9m b28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL2xp YmJhc2UuYScKKyBkZXNjcmlwdGlvbj1sZXNzIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19m YWlsIGRlc3QgbGVzcworIGlzX2luX2xpc3QgbGVzcyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBz aGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1sZXNzCisgc2hpZnQKKyByZXR1 cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGxl c3MgaW4gZGVzdGRpcgorIHNldCAreApvayA0NiAtIGxlc3MgaW4gZGVzdGRpcgpQQVNTOiB0 L2luc3RzcGMudGFwIDQ2IC0gbGVzcyBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdf dGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0g b2sKKyBybV9yZl8gYnVpbGQtbGVzcyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwKKyB0ZXN0IDIgLWd0IDAKKyBjaG1v ZCAtUiB1K3J3eCBidWlsZC1sZXNzIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPAorIHJtIC1yZiBidWlsZC1sZXNzIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWxlc3MvPAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1sZXNzCisgdGVz dCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sZXNzLzwKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBz ZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX21vcmV9CisgdGVzdF9zdHJp bmc9PgorIHRlc3QgeD4gPSB4CisgbWtkaXIgLi8+CisgYnVpbGQ9Li8+CisgZGVzdD0vaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t b3JlCisgY2QgLi8+Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvPi1wcmVmaXgK Y2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0 YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAt cApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQg dmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0 aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxl ciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8K Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3 aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVz IChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK Y2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVy ZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0 IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25m aWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGlu ZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMK KyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RB Uk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf U1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFD S0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIg LUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291 cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2Uu VHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5v ICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xp YmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJi YXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUgZmlsZT0u Lz4gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvPsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9y ZS8+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9z dWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4t cHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zv by9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJu b2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0 ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUv Pi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci8+wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vc3ViL25vYmFzZS5o Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8u Lz4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1w cmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvLi8+LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4v Pi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNl LmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlv bj1tb3JlIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBtb3JlCisgaXNf aW5fbGlzdCBtb3JlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2gg YW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPW1vcmUKKyBz aGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICAtciAgLS0gbW9yZSBpbiBidWlsZGRpcgorIHNldCAreApvayA0NyAtIG1vcmUgaW4gYnVp bGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA0NyAtIG1vcmUgaW4gYnVpbGRkaXIKKyBjZCAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBu b3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLz4gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZQorIHRlc3QgMiAtZ3QgMAor IGNobW9kIC1SIHUrcnd4IC4vPiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlCisgcm0gLXJmIC4vPiAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlCisgX2Ft X3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vPgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZQorIHJldHVy biAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1t b3JlCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1tb3JlLz4KKyBta2RpciBidWlsZC1tb3JlCisgY2QgYnVpbGQtbW9y ZQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLz4tcHJlZml4CmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5n IGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0 YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24g dG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2Mg dW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxl KQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZv ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIK Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwK Z2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImlu c3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi XCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAg ICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMg LW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9z b3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcg LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIg Y3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1m IHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4gZmlsZT0uLz4gbWFrZSB0 ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVp bGQtbW9yZcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgv Zm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9y ZS8+Lz4tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1tb3JlLz4vPi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXBy ZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXBy ZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1v cmUvPi8+LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9y ZS8+Lz4tcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWInCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4v Pi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9idWlsZC1tb3JlwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9z dWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL25vYmFz ZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4v Li8+LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+ LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4 L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9zdWIv bm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9ub2Jhc2UnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bW9yZS8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t b3JlLz4vLi8+LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+ Ly4vPi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1tb3JlIGluIGRlc3Rk aXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgbW9yZQorIGlzX2luX2xpc3QgbW9yZSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1t b3JlCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0 XyBvayAtRCAgLXIgIC0tIG1vcmUgaW4gZGVzdGRpcgorIHNldCAreApvayA0OCAtIG1vcmUg aW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQ4IC0gbW9yZSBpbiBkZXN0ZGlyCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly Cisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtbW9yZSAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4KKyB0 ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1tb3JlIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPgorIHJt IC1yZiBidWlsZC1tb3JlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAt ZSBidWlsZC1tb3JlCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4KKyByZXR1cm4gMAorIDogRm9yIHNo ZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNf X2F0fQorIHRlc3Rfc3RyaW5nPUAKKyB0ZXN0IHhAID0geAorIG1rZGlyIC4vQAorIGJ1aWxk PS4vQAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYXQKKyBjZCAuL0AKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJl Zml4IC9ALXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRp cmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hp dmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEu MFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQ T1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1Q IC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1m IC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3Vi L2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8g IApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9s aWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQgZmlsZT0uL0AgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5z IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvQMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28n CiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0At cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWIvJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28vc3ViJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvQC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0At cHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YXQvQC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0 L0AtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWInCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9AwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL3N1 Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YXQvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9A LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zv by9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9zdWIvbm9iYXNl LnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4v QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9m b28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4v QC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1hdCBpbiBidWlsZGRpcgor IGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgYXQKKyBpc19pbl9saXN0IGF0IHNxdW90ZSBkcXVv dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRy aWdyYXBoMCBhX2xmX2IKKyBpdGVtPWF0Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2 ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGF0IGluIGJ1aWxkZGlyCisg c2V0ICt4Cm9rIDQ5IC0gYXQgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA0OSAt IGF0IGluIGJ1aWxkZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi9AIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWF0CisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi9AIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0Cisgcm0gLXJm IC4vQCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hdAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuL0AKKyB0ZXN0IC1l IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWF0CisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgor IGJ1aWxkPWJ1aWxkLWF0CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ACisgbWtkaXIgYnVpbGQtYXQKKyBjZCBi dWlsZC1hdAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0AtcHJlZml4CmNoZWNr aW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAt YwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNo ZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlh Ymxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0 aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2Yg ZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGlu Zy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhl ciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05V IHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNr aW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2Uu Li4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5l cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJl OiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFr ZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFr ZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1F PVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0Vf VVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAt SS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5U cG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAu ZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdj YyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNl LmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5h CnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AIGZpbGU9Li9AIG1h a2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLWF0wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h dC9AL0AtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9v L3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0Av QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xp Ym5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0 YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvQC9ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k YXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0Av QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQv QC9ALXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2J1aWxkLWF0wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vc3Vi L25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0AtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYXQvQC8uL0AtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h dC9ALy4vQC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0At cHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0AtcHJlZml4L2Zvby9ub2Jh c2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0AtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hdC9ALy4vQC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1w cmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0AtcHJlZml4L2Zvby9zdWIv bGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0AtcHJlZml4L2Zvby9saWJub2Jh c2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBk ZXNjcmlwdGlvbj1hdCBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGF0Cisg aXNfaW5fbGlzdCBhdCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZl ZWQgYV9sZl9iCisgaXRlbT1hdAorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9Cisg cmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBhdCBpbiBkZXN0ZGlyCisgc2V0ICt4 Cm9rIDUwIC0gYXQgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDUwIC0gYXQgaW4g ZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0 ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLWF0IC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0 L0AKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1hdCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ACisg cm0gLXJmIGJ1aWxkLWF0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWF0L0AKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUg YnVpbGQtYXQKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3 aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2xxYnJh Y2t9CisgdGVzdF9zdHJpbmc9WworIHRlc3QgeFsgPSB4CisgbWtkaXIgLi9bCisgYnVpbGQ9 Li9bCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1scWJyYWNrCisgY2QgLi9bCisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvWy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNU RElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxxYnJhY2sgZmlsZT0uL1sgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBl bnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvW8KgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxx YnJhY2svWy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNr L1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVm aXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh Y2svWy1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxx YnJhY2svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2Zvby9zdWIvJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJl Zml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycgJiYgcmFubGli IHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1Yi8nCiAg L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1st cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJl Zml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9bwqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbHFicmFjay8uL1stcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFi cmFjay8uL1stcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJy YWNrLy4vWy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8u L1stcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJlZml4 L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFi cmFjay8uL1stcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFi cmFjay8uL1stcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNr Ly4vWy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1scWJyYWNrIGluIGJ1 aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBscWJyYWNrCisgaXNfaW5fbGlzdCBs cWJyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJz YW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWxxYnJhY2sKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gbHFicmFjayBpbiBidWlsZGRpcgorIHNldCAreApvayA1MSAtIGxxYnJhY2sgaW4g YnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA1MSAtIGxxYnJhY2sgaW4gYnVpbGRkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuL1sgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjaworIHRlc3Qg MiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vWyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrCisgcm0gLXJmIC4vWyAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1scWJyYWNrCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vWworIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbHFicmFjaworIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAt ZS4KKyBidWlsZD1idWlsZC1scWJyYWNrCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1sKKyBta2RpciBi dWlsZC1scWJyYWNrCisgY2QgYnVpbGQtbHFicmFjaworIHI9b2sKKyAuLi9jb25maWd1cmUg LS1wcmVmaXggL1stcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0 CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH TlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRv Z2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1 ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1N RCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAt byBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVT VERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1scWJyYWNrL1sgZmlsZT0uL1sgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbHFicmFja8KgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbHFicmFjay9bL1stcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbHFicmFjay9bL1stcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9b L1stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj ay9bL1stcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s cWJyYWNrL1svWy1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1scWJyYWNrwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8u L1stcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4v Wy1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zv by9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj ay9bLy4vWy1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJy YWNrL1svLi9bLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj ay9bLy4vWy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1scWJyYWNrIGlu IGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgbHFicmFjaworIGlzX2luX2xpc3Qg bHFicmFjayBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9s Zl9iCisgaXRlbT1scWJyYWNrCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGxxYnJhY2sgaW4gZGVzdGRpcgorIHNl dCAreApvayA1MiAtIGxxYnJhY2sgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDUy IC0gbHFicmFjayBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g YnVpbGQtbHFicmFjayAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1sKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCBidWlsZC1scWJyYWNrIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWworIHJtIC1yZiBidWlsZC1scWJyYWNr IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxxYnJhY2svWworIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1scWJy YWNrCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1sKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3 aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3JxYnJh Y2t9CisgdGVzdF9zdHJpbmc9XQorIHRlc3QgeF0gPSB4CisgbWtkaXIgLi9dCisgYnVpbGQ9 Li9dCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrCisgY2QgLi9dCisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvXS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNU RElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJxYnJhY2sgZmlsZT0uL10gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBl bnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvXcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJx YnJhY2svXS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNr L10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVm aXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJh Y2svXS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJx YnJhY2svXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zvby9zdWIvJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJl Zml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycgJiYgcmFubGli IHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1Yi8nCiAg L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJl Zml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9dwqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcnFicmFjay8uL10tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFi cmFjay8uL10tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJy YWNrLy4vXS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8u L10tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4 L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFi cmFjay8uL10tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFi cmFjay8uL10tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNr Ly4vXS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1ycWJyYWNrIGluIGJ1 aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBycWJyYWNrCisgaXNfaW5fbGlzdCBy cWJyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJz YW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXJxYnJhY2sKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gcnFicmFjayBpbiBidWlsZGRpcgorIHNldCAreApvayA1MyAtIHJxYnJhY2sgaW4g YnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA1MyAtIHJxYnJhY2sgaW4gYnVpbGRkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuL10gL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjaworIHRlc3Qg MiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vXSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrCisgcm0gLXJmIC4vXSAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1ycWJyYWNrCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vXQorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcnFicmFjaworIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAt ZS4KKyBidWlsZD1idWlsZC1ycWJyYWNrCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10KKyBta2RpciBi dWlsZC1ycWJyYWNrCisgY2QgYnVpbGQtcnFicmFjaworIHI9b2sKKyAuLi9jb25maWd1cmUg LS1wcmVmaXggL10tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0 CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH TlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRv Z2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1 ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1N RCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAt byBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVT VERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1ycWJyYWNrL10gZmlsZT0uL10gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcnFicmFja8KgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcnFicmFjay9dL10tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcnFicmFjay9dL10tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9d L10tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFj ay9dL10tcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y cWJyYWNrL10vXS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1ycWJyYWNrwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS8u L10tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLy4v XS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS8uL10tcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLy4vXS1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS8uL10tcHJlZml4L2Zv by9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS8uL10tcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vLi9dLXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS8uL10tcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJxYnJhY2svXS8uL10tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJxYnJhY2svXS8uL10tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcnFicmFjay9dLy4vXS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFj ay9dLy4vXS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJy YWNrL10vLi9dLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFj ay9dLy4vXS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1ycWJyYWNrIGlu IGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgcnFicmFjaworIGlzX2luX2xpc3Qg cnFicmFjayBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9s Zl9iCisgaXRlbT1ycWJyYWNrCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHJxYnJhY2sgaW4gZGVzdGRpcgorIHNl dCAreApvayA1NCAtIHJxYnJhY2sgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDU0 IC0gcnFicmFjayBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g YnVpbGQtcnFicmFjayAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10KKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCBidWlsZC1ycWJyYWNrIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXQorIHJtIC1yZiBidWlsZC1ycWJyYWNr IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJxYnJhY2svXQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1ycWJy YWNrCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10KKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3 aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2xjYnJh Y2t9CisgdGVzdF9zdHJpbmc9eworIHRlc3QgeHsgPSB4CisgbWtkaXIgLi97CisgYnVpbGQ9 Li97CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sY2JyYWNrCisgY2QgLi97Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvey1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNU RElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWxjYnJhY2sgZmlsZT0uL3sgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBl bnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIve8KgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxj YnJhY2svey1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNr L3stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVm aXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJh Y2svey1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxj YnJhY2svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2Zvby9zdWIvJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJl Zml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbycgJiYgcmFubGli IHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1Yi8nCiAg L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3st cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJl Zml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3stcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci97wqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbGNicmFjay8uL3stcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNi cmFjay8uL3stcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2Jy YWNrLy4vey1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8u L3stcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8uL3stcHJlZml4 L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay8uL3stcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svLi97LXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sY2JyYWNrLy4vey1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNi cmFjay8uL3stcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNi cmFjay8uL3stcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNr Ly4vey1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1sY2JyYWNrIGluIGJ1 aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBsY2JyYWNrCisgaXNfaW5fbGlzdCBs Y2JyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJz YW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWxjYnJhY2sKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gbGNicmFjayBpbiBidWlsZGRpcgorIHNldCAreApvayA1NSAtIGxjYnJhY2sgaW4g YnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA1NSAtIGxjYnJhY2sgaW4gYnVpbGRkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuL3sgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjaworIHRlc3Qg MiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4veyAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrCisgcm0gLXJmIC4veyAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1sY2JyYWNrCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4veworIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGNicmFjaworIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAt ZS4KKyBidWlsZD1idWlsZC1sY2JyYWNrCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3sKKyBta2RpciBi dWlsZC1sY2JyYWNrCisgY2QgYnVpbGQtbGNicmFjaworIHI9b2sKKyAuLi9jb25maWd1cmUg LS1wcmVmaXggL3stcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0 CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH TlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRv Z2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1 ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1N RCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAt byBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVT VERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1sY2JyYWNrL3sgZmlsZT0uL3sgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbGNicmFja8KgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGNicmFjay97L3stcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGNicmFjay97L3stcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97 L3stcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey97LXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFj ay97L3stcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svey1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97L3stcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1s Y2JyYWNrL3svey1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1sY2JyYWNrwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey8u L3stcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97Ly4v ey1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey8uL3stcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFjay97Ly4vey1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey8uL3stcHJlZml4L2Zv by9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey8uL3stcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3svLi97LXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2svey8uL3stcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWxjYnJhY2svey8uL3stcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWxjYnJhY2svey8uL3stcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbGNicmFjay97Ly4vey1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFj ay97Ly4vey1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1sY2Jy YWNrL3svLi97LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGNicmFj ay97Ly4vey1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1sY2JyYWNrIGlu IGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgbGNicmFjaworIGlzX2luX2xpc3Qg bGNicmFjayBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9s Zl9iCisgaXRlbT1sY2JyYWNrCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGxjYnJhY2sgaW4gZGVzdGRpcgorIHNl dCAreApvayA1NiAtIGxjYnJhY2sgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDU2 IC0gbGNicmFjayBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g YnVpbGQtbGNicmFjayAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3sKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCBidWlsZC1sY2JyYWNrIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWxjYnJhY2sveworIHJtIC1yZiBidWlsZC1sY2JyYWNr IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWxjYnJhY2sveworIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1sY2Jy YWNrCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1sY2JyYWNrL3sKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3 aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3JjYnJh Y2t9CisgdGVzdF9zdHJpbmc9fQorIHRlc3QgeH0gPSB4CisgbWtkaXIgLi99CisgYnVpbGQ9 Li99CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1yY2JyYWNrCisgY2QgLi99Cisgcj1vaworIC4uL2NvbmZpZ3VyZSAt LXByZWZpeCAvfS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFs bC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg LXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Yg b2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdO VSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4u IHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l IG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9n ZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5 bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJh bmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcg ZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0 c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049 XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JV R1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1v IHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJj ZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBz dWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNU RElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXJjYnJhY2sgZmlsZT0uL30gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBl bnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvfcKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJj YnJhY2svfS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNr L30tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz ZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVm aXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJh Y2svfS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJj YnJhY2svfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2Zvby9zdWIvJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJl Zml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycgJiYgcmFubGli IHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1Yi8nCiAg L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30t cHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJl Zml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci99wqDC uwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcmNicmFjay8uL30tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNi cmFjay8uL30tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2Jy YWNrLy4vfS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8u L30tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJlZml4 L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay8uL30tcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svLi99LXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yY2JyYWNrLy4vfS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNi cmFjay8uL30tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNi cmFjay8uL30tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNr Ly4vfS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1yY2JyYWNrIGluIGJ1 aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCByY2JyYWNrCisgaXNfaW5fbGlzdCBy Y2JyYWNrIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJz YW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXJjYnJhY2sKKyBzaGlm dAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAt ciAgLS0gcmNicmFjayBpbiBidWlsZGRpcgorIHNldCAreApvayA1NyAtIHJjYnJhY2sgaW4g YnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA1NyAtIHJjYnJhY2sgaW4gYnVpbGRkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuL30gL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjaworIHRlc3Qg MiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vfSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrCisgcm0gLXJmIC4vfSAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1yY2JyYWNrCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vfQorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmNicmFjaworIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAt ZS4KKyBidWlsZD1idWlsZC1yY2JyYWNrCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30KKyBta2RpciBi dWlsZC1yY2JyYWNrCisgY2QgYnVpbGQtcmNicmFjaworIHI9b2sKKyAuLi9jb25maWd1cmUg LS1wcmVmaXggL30tcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0 CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH TlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRv Z2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1 ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1N RCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAt byBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVT VERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1yY2JyYWNrL30gZmlsZT0uL30gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcmNicmFja8KgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vJwog KCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vJwogIC91c3IvYmlu L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmNicmFjay99L30tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmNicmFjay99L30tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28vc3Vi LycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99 L30tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS99LXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFj ay99L30tcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vfS1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99L30tcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1y Y2JyYWNrL30vfS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1yY2JyYWNrwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS8u L30tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99Ly4v fS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS8uL30tcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFjay99Ly4vfS1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS8uL30tcHJlZml4L2Zv by9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS8uL30tcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vc3ViL25v YmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30vLi99LXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfS8uL30tcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXJjYnJhY2svfS8uL30tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXJjYnJhY2svfS8uL30tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcmNicmFjay99Ly4vfS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFj ay99Ly4vfS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1yY2Jy YWNrL30vLi99LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcmNicmFj ay99Ly4vfS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1yY2JyYWNrIGlu IGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgcmNicmFjaworIGlzX2luX2xpc3Qg cmNicmFjayBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9s Zl9iCisgaXRlbT1yY2JyYWNrCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyBy ZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIHJjYnJhY2sgaW4gZGVzdGRpcgorIHNl dCAreApvayA1OCAtIHJjYnJhY2sgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDU4 IC0gcmNicmFjayBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8g YnVpbGQtcmNicmFjayAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30KKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCBidWlsZC1yY2JyYWNrIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXJjYnJhY2svfQorIHJtIC1yZiBidWlsZC1yY2JyYWNr IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXJjYnJhY2svfQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1yY2Jy YWNrCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1yY2JyYWNrL30KKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3 aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3NwYWNl fQorIHRlc3Rfc3RyaW5nPSAKKyB0ZXN0IHggID0geAorIG1rZGlyIC4vIAorIGJ1aWxkPS4v IAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3Qtc3BhY2UKKyBjZCAuLyAKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJl Zml4IC8gLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRp cmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hp dmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEu MFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQ T1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1Q IC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1m IC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3Vi L2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8g IApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9s aWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3Qtc3BhY2UgZmlsZT0uLyAgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBk YW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvIMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFj ZS8gLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28nICYmIHJhbmxp YiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9vJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNwYWNlLyAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z dWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAt cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5v YmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXNwYWNlLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Bh Y2UvIC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNwYWNlLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAtcHJl Zml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC1wcmVmaXgvZm9v L3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8gwqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFj ZS8uLyAtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZp eC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9m b28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9iYXNl LmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNo Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8uLyAtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNw YWNlLy4vIC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8g LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvLi8gLXByZWZpeC9mb28vc3ViL2xpYm5vYmFz ZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXNwYWNlLy4vIC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlw dGlvbj1zcGFjZSBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgc3BhY2UK KyBpc19pbl9saXN0IHNwYWNlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi c2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXNw YWNlCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0 XyBvayAtRCAgLXIgIC0tIHNwYWNlIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDU5IC0gc3Bh Y2UgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA1OSAtIHNwYWNlIGluIGJ1aWxk ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJz CisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gLi8gIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlCisgdGVz dCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8gIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlCisgcm0gLXJmIC4vICAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zcGFjZQorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSAuLyAKKyB0ZXN0IC1lIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXNwYWNlCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgor IGJ1aWxkPWJ1aWxkLXNwYWNlCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gCisgbWtkaXIgYnVpbGQtc3Bh Y2UKKyBjZCBidWlsZC1zcGFjZQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLyAt cHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9i aW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNh bmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4v bWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg bmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tp bmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMg Y29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNy b3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxl cy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hl Y2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZl Li4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4u LiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFy KSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tp bmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQ QUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJc IiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5k ZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMv c291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBz b3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1m IHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBz dWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFj ZS8gIGZpbGU9Li8gIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBs ZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2J1aWxkLXNwYWNlwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Bh Y2UvIC8gLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNo ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAv IC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl LmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZp eC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2Uv IC8gLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3Bh Y2UvIC8gLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vL3N1Yi8nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vJyAmJiByYW5saWIg c3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViLycKICAv dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLyAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVm aXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvIC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8gLXByZWZp eC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxk LXNwYWNlwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28vc3ViL25v YmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28vbm9iYXNlLmgn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8uLyAtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC8uLyAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt c3BhY2UvIC8uLyAtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8g Ly4vIC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8u LyAtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qtc3BhY2UvIC8uLyAtcHJl Zml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAvLi8gLXByZWZpeC9mb28v c3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL25vYmFz ZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC8uLyAtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3Qtc3BhY2UvIC8uLyAtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1zcGFjZS8gLy4vIC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1zcGFj ZSBpbiBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IHNwYWNlCisgaXNfaW5fbGlz dCBzcGFjZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9s Zl9iCisgaXRlbT1zcGFjZQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBzcGFjZSBpbiBkZXN0ZGlyCisgc2V0ICt4 Cm9rIDYwIC0gc3BhY2UgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDYwIC0gc3Bh Y2UgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIGJ1aWxkLXNw YWNlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXNwYWNlLyAKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1z cGFjZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1zcGFjZS8gCisgcm0gLXJmIGJ1aWxkLXNwYWNlIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNlLyAKKyBfYW1f cm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgYnVpbGQtc3BhY2UKKyB0ZXN0IC1lIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXNwYWNl LyAKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZh bCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3RhYn0KKyB0ZXN0X3N0cmluZz0JCisgdGVzdCB4 CSA9IHgKKyBta2RpciAuLwkKKyBidWlsZD0uLwkKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYgorIGNkIC4vCQor IHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLwktcHJlZml4CmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRw dXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5k ZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBh ci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmls ZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2Nj IC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3Rz cGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg LURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8g c291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy Y2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8y ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1 IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1 Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIgZmlsZT0uLwkgbWFrZSB0ZXN0LWlu c3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvCcKgwrsKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGFiLwktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv bGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4 L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1w cmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkt cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5v YmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZp eC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt dGFiLwktcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28v c3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC10YWIvCS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAu Li9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwktcHJl Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz ZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC10YWIvCS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci8JwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8uLwktcHJlZml4L2Zvby9z dWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL25vYmFzZS5o Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRhYi8uLwktcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGFiLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh Yi8uLwktcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8uLwktcHJl Zml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vc3Vi L25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRhYi8uLwktcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXRhYi8uLwktcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8u LwktcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9v L2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2Uu YScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10YWIvLi8JLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3Qg ICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGFiLy4vCS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj10 YWIgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHRhYgorIGlzX2luX2xp c3QgdGFiIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJz YW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXRhYgorIHNoaWZ0Cisg cmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAt LSB0YWIgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgNjEgLSB0YWIgaW4gYnVpbGRkaXIKUEFT UzogdC9pbnN0c3BjLnRhcCA2MSAtIHRhYiBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBv ayA9IG9rCisgcm1fcmZfIC4vCSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1 K3J3eCAuLwkgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiCisgcm0gLXJmIC4vCSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIKKyBfYW1fcm1yZl9zdGF0dXM9 MAorIHRlc3QgLWUgLi8JCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIKKyByZXR1cm4gMAorIDogRm9yIHNo ZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtdGFiCisgZGVzdD0vaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10 YWIvCQorIG1rZGlyIGJ1aWxkLXRhYgorIGNkIGJ1aWxkLXRhYgorIHI9b2sKKyAuLi9jb25m aWd1cmUgLS1wcmVmaXggLwktcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxk IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZl IG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4u IGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3Vm Zml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5n IHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODku Li4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5k IC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhl IGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRl bmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2lu ZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxp Yi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRo YW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0 dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhl Y3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1F PVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9W RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFD S0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5z dHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJj ZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291 cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAt TzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFz ZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEg c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQph ciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5h CisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC10YWIvCSBmaWxlPS4vCSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6 IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC10YWLCoMK7CiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u L3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC10YWIvCS8JLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh Yi8JLwktcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10 YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28vc3ViLycKIC91c3Iv YmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9v L3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vL3N1YicK ICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXRhYi8JLwktcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg Li4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC10YWIvCS8JLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8JLXByZWZp eC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2Uu ZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC10YWIvCS8JLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFi LwkvCS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvCS1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXRhYi8JLwktcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBl cnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvYnVpbGQtdGFiwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4vCS1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zvby9u b2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zvby9iYXNlLmgnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC10YWIvCS8uLwktcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8u LwktcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4vCS1w cmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC10YWIvCS8uLwktcHJlZml4L2Zv by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4vCS1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkvLi8JLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXRhYi8JLy4vCS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkv Li8JLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4v CS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRhYi8JLy4vCS1wcmVm aXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj10YWIgaW4gZGVzdGRpcgorIGV4cGVj dGVkX3RvX2ZhaWwgZGVzdCB0YWIKKyBpc19pbl9saXN0IHRhYiBzcXVvdGUgZHF1b3RlIGJx dW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT10YWIKKyBzaGlmdAor IHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAg LS0gdGFiIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgNjIgLSB0YWIgaW4gZGVzdGRpcgpQQVNT OiB0L2luc3RzcGMudGFwIDYyIC0gdGFiIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sg PSBvaworIHJtX3JmXyBidWlsZC10YWIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkKKyB0ZXN0IDIgLWd0IDAKKyBjaG1v ZCAtUiB1K3J3eCBidWlsZC10YWIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtdGFiLwkKKyBybSAtcmYgYnVpbGQtdGFiIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXRh Yi8JCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLXRhYgorIHRlc3QgLWUg L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtdGFiLwkKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUu CisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2xpbmVmZWVkfQorIHRlc3Rfc3RyaW5n PQoKKyB0ZXN0IHgKID0geAorIG1rZGlyIC4vCgorIGJ1aWxkPS4vCgorIGRlc3Q9L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbGlu ZWZlZWQKKyBjZCAuLwoKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8KLXByZWZp eApjb25maWd1cmU6IGVycm9yOiBwd2QgZG9lcyBub3QgcmVwb3J0IG5hbWUgb2Ygd29ya2lu ZyBkaXJlY3RvcnkKKyByPW5vdCBvaworIGRlc2NyaXB0aW9uPWxpbmVmZWVkIGluIGJ1aWxk ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBsaW5lZmVlZAorIGlzX2luX2xpc3QgbGlu ZWZlZWQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNh bmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09bGluZWZlZWQKKyBzaGlm dAorIHJldHVybiAwCisgZGlyZWN0aXZlPVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBs aW1pdGF0aW9uCisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxp bWl0YXRpb24gLS0gbGluZWZlZWQgaW4gYnVpbGRkaXIKKyBzZXQgK3gKbm90IG9rIDYzIC0g bGluZWZlZWQgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpY RkFJTDogdC9pbnN0c3BjLnRhcCA2MyAtIGxpbmVmZWVkIGluIGJ1aWxkZGlyICMgVE9ETyBs b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgbm90IG9rID0gb2sKKyA6 IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLWxpbmVmZWVk CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1saW5lZmVlZC8KCisgbWtkaXIgYnVpbGQtbGluZWZlZWQKKyBjZCBidWls ZC1saW5lZmVlZAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLwotcHJlZml4CmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hl dGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNo ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCmNv bmZpZy5zdGF0dXM6IGVycm9yOiBpbiBgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWxpbmVmZWVkJzoKY29uZmlnLnN0YXR1czog ZXJyb3I6IFNvbWV0aGluZyB3ZW50IHdyb25nIGJvb3RzdHJhcHBpbmcgbWFrZWZpbGUgZnJh Z21lbnRzCiAgICBmb3IgYXV0b21hdGljIGRlcGVuZGVuY3kgdHJhY2tpbmcuICBJZiBHTlUg bWFrZSB3YXMgbm90IHVzZWQsIGNvbnNpZGVyCiAgICByZS1ydW5uaW5nIHRoZSBjb25maWd1 cmUgc2NyaXB0IHdpdGggTUFLRT0iZ21ha2UiIChvciB3aGF0ZXZlciBpcwogICAgbmVjZXNz YXJ5KS4gIFlvdSBjYW4gYWxzbyB0cnkgcmUtcnVubmluZyBjb25maWd1cmUgd2l0aCB0aGUK ICAgICctLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZycgb3B0aW9uIHRvIGF0IGxlYXN0 IGJlIGFibGUgdG8gYnVpbGQKICAgIHRoZSBwYWNrYWdlIChhbGJlaXQgd2l0aG91dCBzdXBw b3J0IGZvciBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZykuClNlZSBgY29uZmlnLmxv ZycgZm9yIG1vcmUgZGV0YWlscworIHI9bm90IG9rCisgZGVzY3JpcHRpb249bGluZWZlZWQg aW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBsaW5lZmVlZAorIGlzX2luX2xp c3QgbGluZWZlZWQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVk IGFfbGZfYgorIGl0ZW09bGluZWZlZWQKKyBzaGlmdAorIHJldHVybiAwCisgZGlyZWN0aXZl PVRPRE8KKyByZWFzb249bG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCisgcmVzdWx0XyBub3Qg b2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24gLS0gbGluZWZlZWQgaW4g ZGVzdGRpcgorIHNldCAreApub3Qgb2sgNjQgLSBsaW5lZmVlZCBpbiBkZXN0ZGlyICMgVE9E TyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgNjQgLSBs aW5lZmVlZCBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyBj ZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIK KyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1 cm4gMQorIHRlc3Qgbm90IG9rID0gb2sKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0 IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3BjX19iYWNrc3BhY2V9CisgdGVzdF9z dHJpbmc9CAorIHRlc3QgeAggPSB4CisgbWtkaXIgLi8ICisgYnVpbGQ9Li8ICisgZGVzdD0v aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYWNrc3BhY2UKKyBjZCAuLwgKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8I LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3Iv YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz YW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmlu L21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBt YWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNr aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBD IGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBm b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBj cm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmls ZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGls ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNr aW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2 ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2Mu Li4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChh cikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNr aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBk b25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6 IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBj b21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBB Q0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1E UEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwi XCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049 XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAu ZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBz L3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ug c291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAt ZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg c3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFj a3NwYWNlIGZpbGU9Li8IIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFu cyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyLwjCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2Uv CC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFja3NwYWNlLwgtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8I LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2Uu YSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXBy ZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFj a3NwYWNlLwgtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9m b28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFj a3NwYWNlLwgtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1w cmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3Bh Y2UvCC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNl ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1iYWNrc3BhY2UvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YmFja3NwYWNlLwgtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3ViJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhY2tzcGFjZS8ILXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgtcHJlZml4L2Zvby9z dWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvCMKgwrsKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tz cGFjZS8uLwgtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNr c3BhY2UvLi8ILXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3Bh Y2UvLi8ILXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4v CC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4v CC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXBy ZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9m b28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvLi8ILXByZWZpeC9mb28v bm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLy4vCC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8uLwgtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVz Y3JpcHRpb249YmFja3NwYWNlIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWls ZCBiYWNrc3BhY2UKKyBpc19pbl9saXN0IGJhY2tzcGFjZSBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAg YV9sZl9iCisgaXRlbT1iYWNrc3BhY2UKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gYmFja3NwYWNlIGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm9rIDY1IC0gYmFja3NwYWNlIGluIGJ1aWxkZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgNjUgLSBiYWNrc3BhY2UgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sg PSBvaworIHJtX3JmXyAuLwggL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlCisgdGVzdCAyIC1ndCAwCisgY2htb2Qg LVIgdStyd3ggLi8IIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZQorIHJtIC1yZiAuLwggL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlCisg X2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vCAorIHRlc3QgLWUgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl CisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxk PWJ1aWxkLWJhY2tzcGFjZQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgKKyBta2RpciBidWlsZC1i YWNrc3BhY2UKKyBjZCBidWlsZC1iYWNrc3BhY2UKKyByPW9rCisgLi4vY29uZmlndXJlIC0t cHJlZml4IC8ILXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl IHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUg bmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dl dGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl Lm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RE SVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYmFja3NwYWNlLwggZmlsZT0uLwggbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYmFja3NwYWNlwqDCuwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJl Zml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2ZvbycgJiYgcmFubGli IGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9m b28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1Yi8nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgt cHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1 YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJh Y2tzcGFjZS8ILwgtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8ILXBy ZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3Nw YWNlLwgvCC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9i YXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCC8ILXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvCC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgv CC1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILwgtcHJlZml4L2Zvby9z dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1i YWNrc3BhY2UvCC8ILXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSBy w6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2J1aWxkLWJhY2tzcGFjZcKgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3Bh Y2UvCC8uLwgtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3Nw YWNlLwgvLi8ILXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNl LwgvLi8ILXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILy4v CC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8I Ly4vCC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgv Li8ILXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvLi8I LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8u LwgtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYmFja3NwYWNlLwgvLi8I LXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILy4vCC1wcmVm aXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zv by9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ILy4vCC1wcmVmaXgvZm9vL3N1Yi9s aWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9s aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1iYWNrc3BhY2UvCC8uLwgtcHJlZml4L2Zvby9s aWJiYXNlLmEnCisgZGVzY3JpcHRpb249YmFja3NwYWNlIGluIGRlc3RkaXIKKyBleHBlY3Rl ZF90b19mYWlsIGRlc3QgYmFja3NwYWNlCisgaXNfaW5fbGlzdCBiYWNrc3BhY2Ugc3F1b3Rl IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09YmFj a3NwYWNlCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVz dWx0XyBvayAtRCAgLXIgIC0tIGJhY2tzcGFjZSBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDY2 IC0gYmFja3NwYWNlIGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA2NiAtIGJhY2tz cGFjZSBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQt YmFja3NwYWNlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ICisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdSty d3ggYnVpbGQtYmFja3NwYWNlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ICisgcm0gLXJmIGJ1aWxkLWJhY2tz cGFjZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1iYWNrc3BhY2UvCAorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWls ZC1iYWNrc3BhY2UKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWJhY2tzcGFjZS8ICisgcmV0dXJuIDAKKyA6IEZv ciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0 c3BjX19mb3JtZmVlZH0KKyB0ZXN0X3N0cmluZz0MCisgdGVzdCB4DCA9IHgKKyBta2RpciAu LwwKKyBidWlsZD0uLwwKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkCisgY2QgLi8MCisgcj1vaworIC4u L2NvbmZpZ3VyZSAtLXByZWZpeCAvDC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIg YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFk LXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBn YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu ZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZv ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBh Y2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAt YyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0 cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRl cGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNo ZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3 ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmln LnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVz OiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtlIGFsbApnY2MgLURQQUNLQUdF X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIg LURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9 XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAu Li9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2Mg IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjICAtZyAtTzIgICAtbyBzdWIv bm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjcnUgc3ViL2xpYmJh c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFz ZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9i YXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkIGZpbGU9Li8MIG1ha2UgdGVzdC1pbnN0Cm1h a2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLwzCoMK7CiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxs IC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFz ZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8M LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1m ZWVkLwwtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1m b3JtZmVlZC8MLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9u b2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg Li4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1m b3JtZmVlZC8MLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLXByZWZpeC9mb28vc3ViJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZm9ybWZlZWQvDC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g NjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwtcHJlZml4L2Zvby9zdWInCm1h a2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvDMKgwrsKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Zm9ybWZlZWQvLi8MLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvLi8MLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1w cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1w cmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZp eC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28v c3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9u b2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvLi8MLXByZWZpeC9mb28vYmFzZS5z aCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWZvcm1mZWVkLy4vDC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1mb3JtZmVlZC8uLwwtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1m ZWVkLy4vDC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3Jt ZmVlZC8uLwwtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8uLwwtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249Zm9ybWZlZWQgaW4g YnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGZvcm1mZWVkCisgaXNfaW5fbGlz dCBmb3JtZmVlZCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFt cGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1mb3JtZmVlZAor IHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgIC1yICAtLSBmb3JtZmVlZCBpbiBidWlsZGRpcgorIHNldCAreApvayA2NyAtIGZvcm1m ZWVkIGluIGJ1aWxkZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNjcgLSBmb3JtZmVlZCBpbiBi dWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0 ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vDCAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vDCAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZAorIHJt IC1yZiAuLwwgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi8M CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1mb3JtZmVlZAorIHJldHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGgg YnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1mb3JtZmVlZAorIGRlc3Q9L2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZl ZWQvDAorIG1rZGlyIGJ1aWxkLWZvcm1mZWVkCisgY2QgYnVpbGQtZm9ybWZlZWQKKyByPW9r CisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8MLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0Qt Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNo ZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIg d29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZp bGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u IApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tp bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdl IGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg Z2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2Vw dCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3Rh bmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tp bmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4g YXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5n IGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFy ZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9j b25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5z dGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBB Q0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAx LjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFD S0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8y IC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJj ZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBv CmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1v IHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIv bGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGli bm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9s aWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDCBmaWxlPS4vDCBtYWtlIHRlc3Qt aW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1m b3JtZmVlZMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8M LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3Jt ZmVlZC8MLwwtcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwv DC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1m ZWVkLwwvDC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2Zvby9z dWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVl ZC8MLwwtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8M LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1mb3JtZmVlZC8MLwwtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwt cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1m ZWVkLwwvDC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9i YXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZm9ybWZlZWQvDC8MLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4 L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLwwtcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvDC1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwv DC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9idWlsZC1mb3JtZmVlZMKgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVm aXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9m b28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vc3Vi L25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9u b2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vYmFz ZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9zdWIvbm9i YXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vbm9iYXNl LnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vYmFzZS5zaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MLy4vDC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWZv cm1mZWVkLwwvLi8MLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWZvcm1mZWVkLwwvLi8MLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Zm9ybWZlZWQvDC8uLwwtcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249Zm9y bWZlZWQgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBmb3JtZmVlZAorIGlz X2luX2xpc3QgZm9ybWZlZWQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxp bmVmZWVkIGFfbGZfYgorIGl0ZW09Zm9ybWZlZWQKKyBzaGlmdAorIHJldHVybiAxCisgZGly ZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gZm9ybWZlZWQgaW4g ZGVzdGRpcgorIHNldCAreApvayA2OCAtIGZvcm1mZWVkIGluIGRlc3RkaXIKUEFTUzogdC9p bnN0c3BjLnRhcCA2OCAtIGZvcm1mZWVkIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sg PSBvaworIHJtX3JmXyBidWlsZC1mb3JtZmVlZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MCisgdGVzdCAyIC1n dCAwCisgY2htb2QgLVIgdStyd3ggYnVpbGQtZm9ybWZlZWQgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZm9ybWZlZWQvDAorIHJt IC1yZiBidWlsZC1mb3JtZmVlZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MCisgX2FtX3JtcmZfc3RhdHVzPTAK KyB0ZXN0IC1lIGJ1aWxkLWZvcm1mZWVkCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1mb3JtZmVlZC8MCisgcmV0 dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9z dHJpbmc9JHtpbnN0c3BjX19jYXJyaWFnZXJldH0KKyB0ZXN0X3N0cmluZz0NCisgdGVzdCB4 DSA9IHgKKyBta2RpciAuLw0KKyBidWlsZD0uLw0KKyBkZXN0PS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Cisg Y2QgLi8NCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvDS1wcmVmaXgKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUg c3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtl IGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0IGZpbGU9 Li8NIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0 b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyLw3CoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJl dC8NLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVm aXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJp YWdlcmV0Lw0tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFn ZXJldC8NLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXBy ZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJyaWFnZXJldC8NLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJl dC8NLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s aWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9p bnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9zdWIv JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8N LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJy aWFnZXJldC8NLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8N LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9m b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0 ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJyaWFnZXJldC8NLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FycmlhZ2VyZXQvDS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2Vy ZXQvDS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9z dWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3C oDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvDcKgwrsKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJy aWFnZXJldC8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy cmlhZ2VyZXQvLi8NLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fycmlh Z2VyZXQvLi8NLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0 Ly4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdl cmV0Ly4vDS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2Vy ZXQvLi8NLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQv Li8NLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJl dC8uLw0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQv Li8NLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0t cHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1w cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4 L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Ly4vDS1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zv by9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8uLw0tcHJlZml4L2Zv by9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249Y2FycmlhZ2VyZXQgaW4gYnVpbGRkaXIKKyBl eHBlY3RlZF90b19mYWlsIGJ1aWxkIGNhcnJpYWdlcmV0CisgaXNfaW5fbGlzdCBjYXJyaWFn ZXJldCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2Fu ZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1jYXJyaWFnZXJldAorIHNo aWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQg IC1yICAtLSBjYXJyaWFnZXJldCBpbiBidWlsZGRpcgorIHNldCAreApvayA2OSAtIGNhcnJp YWdlcmV0IGluIGJ1aWxkZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNjkgLSBjYXJyaWFnZXJl dCBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vDSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJyaWFnZXJldAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vDSAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJy aWFnZXJldAorIHJtIC1yZiAuLw0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQKKyBfYW1fcm1yZl9zdGF0dXM9 MAorIHRlc3QgLWUgLi8NCisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldAorIHJldHVybiAwCisg OiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1jYXJyaWFn ZXJldAorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDQorIG1rZGlyIGJ1aWxkLWNhcnJpYWdlcmV0 CisgY2QgYnVpbGQtY2FycmlhZ2VyZXQKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4 IC8NLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91 c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAv YmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNo ZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZv ciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2lu ZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3Qg ZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29t cGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNo ZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVk CmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVj dGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBn Y2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVy IChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNo ZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4u LiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0 dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxl cyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAt RFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwi IC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JU PVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJ T049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1N RiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5k ZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jh c2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApy bSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5s aWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJu b2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FycmlhZ2VyZXQvDSBmaWxlPS4vDSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVu dHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1jYXJyaWFnZXJldMKgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8N Lw0tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJyAm JiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0v DS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJp YWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQv DS8NLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJl Zml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFn ZXJldC8NLw0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2Zvby9zdWInCiAo IGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJu b2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1Yi8n CiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0t cHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDS8NLXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy cmlhZ2VyZXQvDS8NLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu Li9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtY2FycmlhZ2VyZXQvDS8NLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4 L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NLw0tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJp YWdlcmV0Lw0vDS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9idWlsZC1jYXJyaWFnZXJldMKgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFn ZXJldC8NLy4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJy aWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJp YWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdl cmV0Lw0vLi8NLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy cmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy cmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWNhcnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1j YXJyaWFnZXJldC8NLy4vDS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy cmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNhcnJpYWdl cmV0Lw0vLi8NLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWNh cnJpYWdlcmV0Lw0vLi8NLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt Y2FycmlhZ2VyZXQvDS8uLw0tcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249 Y2FycmlhZ2VyZXQgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBjYXJyaWFn ZXJldAorIGlzX2luX2xpc3QgY2FycmlhZ2VyZXQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh cnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09Y2FycmlhZ2VyZXQKKyBzaGlmdAor IHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAg LS0gY2FycmlhZ2VyZXQgaW4gZGVzdGRpcgorIHNldCAreApvayA3MCAtIGNhcnJpYWdlcmV0 IGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA3MCAtIGNhcnJpYWdlcmV0IGluIGRl c3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRp cnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1jYXJyaWFnZXJl dCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1jYXJyaWFnZXJldC8NCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggYnVp bGQtY2FycmlhZ2VyZXQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtY2FycmlhZ2VyZXQvDQorIHJtIC1yZiBidWlsZC1jYXJyaWFn ZXJldCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1jYXJyaWFnZXJldC8NCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1 aWxkLWNhcnJpYWdlcmV0CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJyaWFnZXJldC8NCisgcmV0dXJuIDAK KyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9 JHtpbnN0c3BjX19xdWFkcmlncmFwaDB9CisgdGVzdF9zdHJpbmc9QCZ0QAorIHRlc3QgeEAm dEAgPSB4CisgbWtkaXIgLi9AJnRACisgYnVpbGQ9Li9AJnRACisgZGVzdD0vaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDAKKyBjZCAuL0AmdEAKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9AJnRA LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3Iv YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz YW5lLi4uIGNvbmZpZ3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRpcmVj dG9yeSBuYW1lCisgcj1ub3Qgb2sKKyBkZXNjcmlwdGlvbj1xdWFkcmlncmFwaDAgaW4gYnVp bGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHF1YWRyaWdyYXBoMAorIGlzX2luX2xp c3QgcXVhZHJpZ3JhcGgwIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xh c2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXF1YWRy aWdyYXBoMAorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1s b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBxdWFkcmlncmFwaDAgaW4gYnVpbGRkaXIKKyBz ZXQgK3gKbm90IG9rIDcxIC0gcXVhZHJpZ3JhcGgwIGluIGJ1aWxkZGlyICMgVE9ETyBsb25n LXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgNzEgLSBxdWFkcmln cmFwaDAgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBub3Qgb2sgPSBvaworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQg LWUuCisgYnVpbGQ9YnVpbGQtcXVhZHJpZ3JhcGgwCisgZGVzdD0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAv QCZ0QAorIG1rZGlyIGJ1aWxkLXF1YWRyaWdyYXBoMAorIGNkIGJ1aWxkLXF1YWRyaWdyYXBo MAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0AmdEAtcHJlZml4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp b24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBn Y2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0 eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBh bGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1c Imluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u ICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8g LWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVw cy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAg LWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEK YXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QCBm aWxlPS4vQCZ0QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFwaDDCoMK7CiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgw L0AmdEAvQCZ0QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2ZvbycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZp eC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0Am dEAvQCZ0QC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0Am dEAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAt cHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAv QCZ0QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0 QC9AJnRALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0 QC9AJnRALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0 QC9AJnRALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC9AJnRALXByZWZpeC9mb28v c3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvQCZ0QC1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmgg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMC9AJnRAL0AmdEAtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDog b24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcXVhZHJpZ3JhcGgwwqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zv by9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9AJnRA LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgw L0AmdEAvLi9AJnRALXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL25vYmFz ZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDAvQCZ0QC8uL0AmdEAtcHJlZml4L2Zv by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAvLi9A JnRALXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRA Ly4vQCZ0QC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0Am dEAvLi9AJnRALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMC9AJnRALy4vQCZ0QC1wcmVmaXgvZm9vL2xpYmJhc2UuYScK KyBkZXNjcmlwdGlvbj1xdWFkcmlncmFwaDAgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2Zh aWwgZGVzdCBxdWFkcmlncmFwaDAKKyBpc19pbl9saXN0IHF1YWRyaWdyYXBoMCBzcXVvdGUg ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1xdWFk cmlncmFwaDAKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyBy ZXN1bHRfIG9rIC1EICAtciAgLS0gcXVhZHJpZ3JhcGgwIGluIGRlc3RkaXIKKyBzZXQgK3gK b2sgNzIgLSBxdWFkcmlncmFwaDAgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDcy IC0gcXVhZHJpZ3JhcGgwIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJt X3JmXyBidWlsZC1xdWFkcmlncmFwaDAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAKKyB0ZXN0IDIg LWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1xdWFkcmlncmFwaDAgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgwL0AmdEAKKyBybSAtcmYgYnVpbGQtcXVhZHJpZ3JhcGgwIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMC9A JnRACisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLXF1YWRyaWdyYXBoMAor IHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgwL0AmdEAKKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3F1 YWRyaWdyYXBoMX0KKyB0ZXN0X3N0cmluZz1APDpACisgdGVzdCB4QDw6QCA9IHgKKyBta2Rp ciAuL0A8OkAKKyBjZCAuL0A8OkAKKyBidWlsZD0uL0A8OkAKKyBkZXN0PS9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMQorIGNkIC4vQDw6QAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0A8OkAt cHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9i aW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNh bmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4v bWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg bmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tp bmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMg Y29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNy b3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxl cy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hl Y2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZl Li4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4u LiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFy KSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tp bmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQ QUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJc IiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5k ZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMv c291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBz b3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1m IHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBz dWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDEgZmlsZT0uL0A8OkAgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRy ZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvQDw6QMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1 Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2ZvbycgJiYgcmFu bGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1w cmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMS9APDpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEv QDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAt cHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNo ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgv Zm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nICYmIHJh bmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx L0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx L0A8OkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgxL0A8OkAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9APDpA wqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zvby9zdWIv bm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJlZml4L2Zv by9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAtcHJl Zml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS8uL0A8OkAt cHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvLi9APDpA LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEv Li9APDpALXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MS8uL0A8OkAtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo MS8uL0A8OkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMS8uL0A8OkAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgxLy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgx Ly4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDEvLi9APDpALXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgxLy4vQDw6QC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlv bj1xdWFkcmlncmFwaDEgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHF1 YWRyaWdyYXBoMQorIGlzX2luX2xpc3QgcXVhZHJpZ3JhcGgxIHNxdW90ZSBkcXVvdGUgYnF1 b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBo MCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBoMQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJl Y3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFwaDEg aW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgNzMgLSBxdWFkcmlncmFwaDEgaW4gYnVpbGRkaXIK UEFTUzogdC9pbnN0c3BjLnRhcCA3MyAtIHF1YWRyaWdyYXBoMSBpbiBidWlsZGRpcgorIGNk IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgor IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVy biAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vQDw6QCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEKKyB0 ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuL0A8OkAgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxCisg cm0gLXJmIC4vQDw6QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRl c3QgLWUgLi9APDpACisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEKKyByZXR1cm4gMAorIDog Rm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtcXVhZHJpZ3Jh cGgxCisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QAorIG1rZGlyIGJ1aWxkLXF1YWRyaWdy YXBoMQorIGNkIGJ1aWxkLXF1YWRyaWdyYXBoMQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1w cmVmaXggL0A8OkAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGly IC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4u LiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0 CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9m IG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBH TlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9u ZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRv Z2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1 ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0 eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUg YXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5n IGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5z dHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9C VUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1N RCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMK bXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAt byBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy Y2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUg c3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVT VERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QCBmaWxlPS4vQDw6QCBtYWtlIHRlc3QtaW5zdApt YWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmln cmFwaDHCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpALXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgv Zm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vJyAmJiBy YW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA L0A8OkAtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3Rh bGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpA LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpA LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1 Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9A PDpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9A PDpALXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6 QC9APDpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6 QC9APDpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv YmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvQDw6QC9APDpALXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgxL0A8OkAvQDw6QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpAL0A8OkAt cHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKr wqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv YnVpbGQtcXVhZHJpZ3JhcGgxwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpA Ly4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvQDw6QC8uL0A8OkAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDEvQDw6QC8uL0A8OkAtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vbm9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC8uL0A8OkAtcHJlZml4 L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDEvQDw6QC8uL0A8OkAt cHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9A PDpALy4vQDw6QC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDEvQDw6QC8uL0A8OkAtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVmaXgvZm9vL2Jhc2UnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAvLi9APDpALXByZWZpeC9mb28vc3ViL2xp Ym5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4vQDw6QC1wcmVm aXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpALy4v QDw6QC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1xdWFkcmlncmFwaDEg aW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBxdWFkcmlncmFwaDEKKyBpc19p bl9saXN0IHF1YWRyaWdyYXBoMSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg bGluZWZlZWQgYV9sZl9iCisgaXRlbT1xdWFkcmlncmFwaDEKKyBzaGlmdAorIHJldHVybiAx CisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcXVhZHJp Z3JhcGgxIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgNzQgLSBxdWFkcmlncmFwaDEgaW4gZGVz dGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDc0IC0gcXVhZHJpZ3JhcGgxIGluIGRlc3RkaXIK KyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBy ZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1xdWFkcmlncmFwaDEgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgxL0A8OkAKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWls ZC1xdWFkcmlncmFwaDEgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8OkAKKyBybSAtcmYgYnVpbGQtcXVh ZHJpZ3JhcGgxIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMS9APDpACisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIGJ1aWxkLXF1YWRyaWdyYXBoMQorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgxL0A8 OkAKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZh bCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3F1YWRyaWdyYXBoMn0KKyB0ZXN0X3N0cmluZz1A Oj5ACisgdGVzdCB4QDo+QCA9IHgKKyBta2RpciAuL0A6PkAKKyBjZCAuL0A6PkAKKyBidWls ZD0uL0A6PkAKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMgorIGNkIC4vQDo+QAorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggL0A6PkAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3 b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmls ZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBn Y2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFu ZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcg Zm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJl IG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0 YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIg LU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNl Lm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8K Z2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8g c3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9s aWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJu b2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp Ym5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIgZmlsZT0uL0A6PkAgbWFrZSB0 ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvQDo+ QMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIv QDo+QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAt cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5h ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgyL0A6PkAtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3Rh bGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMi9AOj5ALXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDIvQDo+QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v c3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4L2ZvbycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAt cHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAtcHJlZml4 L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5o ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBx dWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9AOj5AwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMi8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28vbm9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9iYXNlLnNo Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbm9i YXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi8uL0A6PkAtcHJlZml4L2Zvby9ub2Jh c2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL2Jhc2Un CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgvZm9vL3N1Yi9saWJu b2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvLi9AOj5ALXByZWZpeC9mb28v bGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyLy4vQDo+QC1wcmVmaXgv Zm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1xdWFkcmlncmFwaDIgaW4gYnVpbGRkaXIK KyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHF1YWRyaWdyYXBoMgorIGlzX2luX2xpc3QgcXVh ZHJpZ3JhcGgyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1w ZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBo MgorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8g b2sgLUQgIC1yICAtLSBxdWFkcmlncmFwaDIgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgNzUg LSBxdWFkcmlncmFwaDIgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA3NSAtIHF1 YWRyaWdyYXBoMiBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZf IC4vQDo+QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDIKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3 eCAuL0A6PkAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyCisgcm0gLXJmIC4vQDo+QCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDIKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi9AOj5ACisgdGVzdCAtZSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDIKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQg LWUuCisgYnVpbGQ9YnVpbGQtcXVhZHJpZ3JhcGgyCisgZGVzdD0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIv QDo+QAorIG1rZGlyIGJ1aWxkLXF1YWRyaWdyYXBoMgorIGNkIGJ1aWxkLXF1YWRyaWdyYXBo MgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0A6PkAtcHJlZml4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp b24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBn Y2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0 eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBh bGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1c Imluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u ICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8g LWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVw cy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAg LWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEK YXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QCBm aWxlPS4vQDo+QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFwaDLCoMK7CiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs IC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy L0A6PkAvQDo+QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2ZvbycKICAvdXNyL2Jp bi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZp eC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6 PkAvQDo+QC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6 PkAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAt cHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAv QDo+QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+ QC9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+ QC9AOj5ALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+ QC9AOj5ALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u L3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC9AOj5ALXByZWZpeC9mb28v c3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvQDo+QC1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmgg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoMi9AOj5AL0A6PkAtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDog b24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcXVhZHJpZ3JhcGgywqDCuwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zv by9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9AOj5A LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgy L0A6PkAvLi9AOj5ALXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL25vYmFz ZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDIvQDo+QC8uL0A6PkAtcHJlZml4L2Zv by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAvLi9A Oj5ALXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5A Ly4vQDo+QC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6 PkAvLi9AOj5ALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMi9AOj5ALy4vQDo+QC1wcmVmaXgvZm9vL2xpYmJhc2UuYScK KyBkZXNjcmlwdGlvbj1xdWFkcmlncmFwaDIgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2Zh aWwgZGVzdCBxdWFkcmlncmFwaDIKKyBpc19pbl9saXN0IHF1YWRyaWdyYXBoMiBzcXVvdGUg ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1xdWFk cmlncmFwaDIKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyBy ZXN1bHRfIG9rIC1EICAtciAgLS0gcXVhZHJpZ3JhcGgyIGluIGRlc3RkaXIKKyBzZXQgK3gK b2sgNzYgLSBxdWFkcmlncmFwaDIgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDc2 IC0gcXVhZHJpZ3JhcGgyIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGly cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJt X3JmXyBidWlsZC1xdWFkcmlncmFwaDIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAKKyB0ZXN0IDIg LWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1xdWFkcmlncmFwaDIgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgyL0A6PkAKKyBybSAtcmYgYnVpbGQtcXVhZHJpZ3JhcGgyIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMi9A Oj5ACisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLXF1YWRyaWdyYXBoMgor IHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgyL0A6PkAKKyByZXR1cm4gMAorIDogRm9yIHNoZWxs cyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3F1 YWRyaWdyYXBoM30KKyB0ZXN0X3N0cmluZz1AU3xACisgdGVzdCB4QFN8QCA9IHgKKyBta2Rp ciAuL0BTfEAKKyBidWlsZD0uL0BTfEAKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMworIGNkIC4v QFN8QAorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0BTfEAtcHJlZml4CmNoZWNr aW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAt YwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNo ZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hl Y2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B S0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlh Ymxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0 aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVm YXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2Yg ZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGlu Zy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNr aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBv cHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhl ciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3 aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05V IHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNr aW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2Uu Li4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5l cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJl OiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFr ZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFr ZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1F PVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklO Rz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0Vf VVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAt SS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5U cG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAu ZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdj YyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNl LmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5h CnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMgZmls ZT0uL0BTfEAgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLD qXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvQFN8QMKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2Zvby9z dWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgz L0BTfEAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3Vi L2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli bm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28v c3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xALXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBo My9AU3xALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv YmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAtcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgzL0BTfEAtcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgzL0BTfEAtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg Li4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9AU3xAwqDCuwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9iYXNlLmgnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu ZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9ub2Jh c2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZpeC9mb28v c3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9AU3xALXByZWZp eC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJl Zml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAtcHJl Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy8uL0BTfEAt cHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1w cmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzLy4vQFN8QC1wcmVm aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvLi9A U3xALXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgz Ly4vQFN8QC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1xdWFkcmlncmFw aDMgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHF1YWRyaWdyYXBoMwor IGlzX2luX2xpc3QgcXVhZHJpZ3JhcGgzIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv bGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBp dGVtPXF1YWRyaWdyYXBoMworIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVh c29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBxdWFkcmlncmFwaDMgaW4gYnVpbGRkaXIK KyBzZXQgK3gKb2sgNzcgLSBxdWFkcmlncmFwaDMgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0 c3BjLnRhcCA3NyAtIHF1YWRyaWdyYXBoMyBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVw aW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBv ayA9IG9rCisgcm1fcmZfIC4vQFN8QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMKKyB0ZXN0IDIgLWd0IDAK KyBjaG1vZCAtUiB1K3J3eCAuL0BTfEAgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzCisgcm0gLXJmIC4vQFN8 QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1xdWFkcmlncmFwaDMKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi9AU3xA CisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3 aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtcXVhZHJpZ3JhcGgzCisgZGVzdD0v aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDMvQFN8QAorIG1rZGlyIGJ1aWxkLXF1YWRyaWdyYXBoMworIGNkIGJ1 aWxkLXF1YWRyaWdyYXBoMworIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0BTfEAt cHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9i aW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNh bmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4v bWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg bmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tp bmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMg Y29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNy b3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxl cy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hl Y2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZl Li4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4u LiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFy KSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tp bmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czog Y3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv bW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQ QUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJc IiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1c IjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5k ZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMv c291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBz b3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1m IHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBz dWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFz ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDMvQFN8QCBmaWxlPS4vQFN8QCBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9u IGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1xdWFkcmlncmFwaDPCoMK7CiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8 QC9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8 QC9AU3xALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xp YmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vJwogKCBjZCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFz ZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4 L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMv QFN8QC9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMv QFN8QC9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMv QFN8QC9AU3xALXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi L25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1Yi8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28v c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu YSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9m b28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGgzL0BTfEAvQFN8QC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDMvQFN8QC9AU3xALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFs bCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC9A U3xALXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BT fEAvQFN8QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BT fEAvQFN8QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAu Li9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xAL0BTfEAtcHJlZml4L2Zvby9z dWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtcXVhZHJp Z3JhcGgzwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVm aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8u L0BTfEAtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMv QFN8QC8uL0BTfEAtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3Jh cGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8uL0BTfEAtcHJlZml4L2Zvby9z dWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1w cmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDMvQFN8QC8u L0BTfEAtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9A U3xALy4vQFN8QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJp Z3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGgzL0BTfEAvLi9AU3xALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0 ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgvZm9vL2xpYm5v YmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoMy9AU3xALy4vQFN8QC1wcmVmaXgv Zm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1xdWFkcmlncmFwaDMgaW4gZGVzdGRpcgor IGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBxdWFkcmlncmFwaDMKKyBpc19pbl9saXN0IHF1YWRy aWdyYXBoMyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9s Zl9iCisgaXRlbT1xdWFkcmlncmFwaDMKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gcXVhZHJpZ3JhcGgzIGluIGRl c3RkaXIKKyBzZXQgK3gKb2sgNzggLSBxdWFkcmlncmFwaDMgaW4gZGVzdGRpcgpQQVNTOiB0 L2luc3RzcGMudGFwIDc4IC0gcXVhZHJpZ3JhcGgzIGluIGRlc3RkaXIKKyBjZCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1f a2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRl c3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1xdWFkcmlncmFwaDMgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgz L0BTfEAKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1xdWFkcmlncmFw aDMgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAKKyBybSAtcmYgYnVpbGQtcXVhZHJpZ3JhcGgzIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoMy9AU3xACisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxk LXF1YWRyaWdyYXBoMworIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGgzL0BTfEAKKyByZXR1cm4g MAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmlu Zz0ke2luc3RzcGNfX3F1YWRyaWdyYXBoNH0KKyB0ZXN0X3N0cmluZz1AJTpACisgdGVzdCB4 QCU6QCA9IHgKKyBta2RpciAuL0AlOkAKKyBjZCAuL0AlOkAKKyBidWlsZD0uL0AlOkAKKyBk ZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoNAorIGNkIC4vQCU6QAorIHI9b2sKKyAuLi9jb25maWd1cmUg LS1wcmVmaXggL0AlOkAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1r ZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4 IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g bm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1v IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGlu Y2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5 IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0 aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0 aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJT SU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNw Y1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5v IC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNl LmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIg ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBz b3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291 cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj cnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisg REVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDQgZmlsZT0uL0AlOkAgbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvQCU6QMKgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJl Zml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jh c2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVh ZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu Li9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1Yi8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDQvQCU6QC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXBy ZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9A JTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1w cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoNC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2Zvby9z dWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAtcHJlZml4L2Zvby9zdWInCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9AJTpAwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAt cHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4v QCU6QC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC8u L0AlOkAtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4v QCU6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoNC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LXF1YWRyaWdyYXBoNC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVz dCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvLi9AJTpALXByZWZpeC9mb28vbGlibm9iYXNlLmEn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0Ly4vQCU6QC1wcmVmaXgvZm9vL2xpYmJhc2Uu YScKKyBkZXNjcmlwdGlvbj1xdWFkcmlncmFwaDQgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90 b19mYWlsIGJ1aWxkIHF1YWRyaWdyYXBoNAorIGlzX2luX2xpc3QgcXVhZHJpZ3JhcGg0IHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVm ZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPXF1YWRyaWdyYXBoNAorIHNoaWZ0Cisg cmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAt LSBxdWFkcmlncmFwaDQgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgNzkgLSBxdWFkcmlncmFw aDQgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA3OSAtIHF1YWRyaWdyYXBoNCBp biBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vQCU6QCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDQKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuL0AlOkAgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGg0Cisgcm0gLXJmIC4vQCU6QCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQKKyBfYW1fcm1y Zl9zdGF0dXM9MAorIHRlc3QgLWUgLi9AJTpACisgdGVzdCAtZSAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQK KyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9 YnVpbGQtcXVhZHJpZ3JhcGg0CisgZGVzdD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QAorIG1rZGly IGJ1aWxkLXF1YWRyaWdyYXBoNAorIGNkIGJ1aWxkLXF1YWRyaWdyYXBoNAorIHI9b2sKKyAu Li9jb25maWd1cmUgLS1wcmVmaXggL0AlOkAtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1j b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0 aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRo cmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su Li4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3 b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmls ZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2lu ZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBn Y2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0 IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFu ZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2lu ZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcg Zm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJl IG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0 YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFD S0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1E UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEu MFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL QUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIg LU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNl Lm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8K Z2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8g c3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9s aWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJu b2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xp Ym5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QCBmaWxlPS4vQCU6QCBt YWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9idWlsZC1xdWFkcmlncmFwaDTCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9i YXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvYmluL21r ZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0Al OkAvQCU6QC1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1w cmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j IHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28vc3ViLycK IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0 L0AlOkAvQCU6QC1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmln cmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt bSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1wcmVm aXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFk cmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxs IC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1x dWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZp eC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2Uu ZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC9AJTpALXByZWZpeC9mb28vc3ViJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvQCU6QC1wcmVmaXgvZm9vL3N1YicKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdy YXBoNC9AJTpAL0AlOkAtcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvYnVpbGQtcXVhZHJpZ3JhcGg0wqDCuwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1 YWRyaWdyYXBoNC9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9ub2Jhc2UuaCcK dGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9iYXNl LmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9mb28v c3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpA LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6 QC8uL0AlOkAtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1xdWFkcmlncmFw aDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1xdWFkcmlncmFwaDQvQCU6QC8uL0AlOkAtcHJlZml4L2Zvby9iYXNlLnNoJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXByZWZpeC9m b28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpALy4vQCU6QC1wcmVm aXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAvLi9AJTpALXBy ZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9A JTpALy4vQCU6QC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRy aWdyYXBoNC9AJTpALy4vQCU6QC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlv bj1xdWFkcmlncmFwaDQgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBxdWFk cmlncmFwaDQKKyBpc19pbl9saXN0IHF1YWRyaWdyYXBoNCBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1xdWFkcmlncmFwaDQKKyBz aGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1E ICAtciAgLS0gcXVhZHJpZ3JhcGg0IGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgODAgLSBxdWFk cmlncmFwaDQgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDgwIC0gcXVhZHJpZ3Jh cGg0IGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBp bmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1x dWFkcmlncmFwaDQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAKKyB0ZXN0IDIgLWd0IDAKKyBjaG1v ZCAtUiB1K3J3eCBidWlsZC1xdWFkcmlncmFwaDQgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtcXVhZHJpZ3JhcGg0L0AlOkAKKyBy bSAtcmYgYnVpbGQtcXVhZHJpZ3JhcGg0IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LXF1YWRyaWdyYXBoNC9AJTpACisgX2FtX3Jt cmZfc3RhdHVzPTAKKyB0ZXN0IC1lIGJ1aWxkLXF1YWRyaWdyYXBoNAorIHRlc3QgLWUgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt cXVhZHJpZ3JhcGg0L0AlOkAKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3Rl ZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2FfYn0KKyB0ZXN0X3N0 cmluZz1hIGIKKyB0ZXN0IHhhIGIgPSB4CisgbWtkaXIgLi9hIGIKKyBidWlsZD0uL2EgYgor IGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9iCisgY2QgLi9hIGIKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4 IC9hIGItcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g L3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4u IC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcg Zm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNr aW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2Ug YXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVj dCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBj b21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVk ZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVy Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGly ZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9m IGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2 ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIK Y2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJl Li4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0 YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZp bGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wi IC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w XCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBP UlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVS U0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAg LU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYg LmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIv YmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAg CnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJh bmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xp Ym5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0v aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IgZmlsZT0uL2EgYiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRh bnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9hIGLCoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBi LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X2IvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9i L2EgYi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vJyAmJiByYW5s aWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2ZvbycK ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX2IvYSBiLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v c3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBi LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu b2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIt cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX2IvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXBy ZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf Yi9hIGItcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZp eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X2IvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9m b28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLXBy ZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGItcHJlZml4L2Zv by9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYSBiwqDCuwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X2IvLi9hIGItcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXBy ZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZp eC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9zdWIvbm9iYXNl LnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX2IvLi9hIGItcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfYi8uL2EgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4v YSBiLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgv Zm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iLy4vYSBiLXByZWZpeC9mb28vc3ViL2xpYm5v YmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYi8uL2EgYi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNj cmlwdGlvbj1hX2IgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGFfYgor IGlzX2luX2xpc3QgYV9iIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xh c2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWFfYgor IHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sg LUQgIC1yICAtLSBhX2IgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgODEgLSBhX2IgaW4gYnVp bGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA4MSAtIGFfYiBpbiBidWlsZGRpcgorIGNkIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5v dCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAx CisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vYSBiIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYgorIHRlc3QgMiAtZ3QgMAor IGNobW9kIC1SIHUrcnd4IC4vYSBiIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYgorIHJtIC1yZiAuL2EgYiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IKKyBf YW1fcm1yZl9zdGF0dXM9MAorIHRlc3QgLWUgLi9hIGIKKyB0ZXN0IC1lIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYgorIHJl dHVybiAwCisgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWls ZC1hX2IKKyBkZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWFfYi9hIGIKKyBta2RpciBidWlsZC1hX2IKKyBjZCBidWlsZC1h X2IKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9hIGItcHJlZml4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp b24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBn Y2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0 eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBh bGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwi aW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1c Imluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJM PVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u ICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8g LWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVw cy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAg LWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEK YXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiIGZpbGU9Li9hIGIg bWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvYnVpbGQtYV9iwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4 L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIv YSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgv Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf Yi9hIGIvYSBiLXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9v JyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBi LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2Eg Yi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vL3N1Yi8n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBi LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vL3N1YicK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9h IGIvYSBiLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2Iv YSBiL2EgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJl Zml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9i L2EgYi9hIGItcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi9h IGItcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf Yi9hIGIvYSBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z dWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9iL2EgYi9hIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIv YSBiLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1 Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiL2EgYi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X2IvYSBiL2EgYi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvYSBiLXByZWZpeC9mb28vc3ViJwptYWtl WzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWFfYsKgwrsKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX2IvYSBiLy4vYSBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX2IvYSBiLy4vYSBiLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9h IGIvLi9hIGItcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2Iv YSBiLy4vYSBiLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBi Ly4vYSBiLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2Eg Yi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2Eg Yi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXBy ZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXByZWZpeC9m b28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX2IvYSBiLy4vYSBiLXByZWZpeC9mb28v bm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9iL2EgYi8uL2EgYi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfYi9hIGIvLi9hIGItcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVz Y3JpcHRpb249YV9iIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgYV9iCisg aXNfaW5fbGlzdCBhX2Igc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVm ZWVkIGFfbGZfYgorIGl0ZW09YV9iCisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0K KyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGFfYiBpbiBkZXN0ZGlyCisgc2V0 ICt4Cm9rIDgyIC0gYV9iIGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA4MiAtIGFf YiBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5n X3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtYV9i IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWFfYi9hIGIKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1hX2Ig L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtYV9iL2EgYgorIHJtIC1yZiBidWlsZC1hX2IgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9iL2EgYgorIF9hbV9ybXJmX3N0 YXR1cz0wCisgdGVzdCAtZSBidWlsZC1hX2IKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfYi9hIGIKKyByZXR1 cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0 cmluZz0ke2luc3RzcGNfX2FfX2J9CisgdGVzdF9zdHJpbmc9YSAgYgorIHRlc3QgeGEgIGIg PSB4CisgbWtkaXIgLi9hICBiCisgYnVpbGQ9Li9hICBiCisgZGVzdD0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iCisgY2Qg Li9hICBiCisgcj1vaworIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvYSAgYi1wcmVmaXgKY2hl Y2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxs IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApj aGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQo TUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy aWFibGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBk ZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBv ZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGls aW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl Y2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2Nj IG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0 aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5n IHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChH TlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hl Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdl bmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1 cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBN YWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBt YWtlIGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUku IC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv IC5kZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAK Z2NjICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJh c2UuYQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNl Lm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IgZmlsZT0uL2Eg IGIgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvYSAgYsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9v JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXBy ZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycKIC91 c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIt cHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vJyAmJiByYW5saWIg bGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vJwog IC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWIvJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0 NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWInCiAoIGNk ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSAp CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAt YyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9t a2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYV9fYi9hICBiLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt YV9fYi9hICBiLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2Zvby9zdWInCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1hX19iL2EgIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfX2IvYSAgYi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi1wcmVmaXgvZm9vL3N1YicKbWFrZVsx XcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9hICBiwqDCuwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfX2IvLi9hICBiLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf X2IvLi9hICBiLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2Eg IGItcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4 L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgv Zm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9ub2Jh c2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9ub2Jhc2Uuc2gn CnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfX2IvLi9hICBiLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX19iLy4vYSAgYi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4v YSAgYi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4 L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi8uL2EgIGItcHJlZml4 L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iLy4vYSAgYi1wcmVmaXgvZm9v L2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1hX19iIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRf dG9fZmFpbCBidWlsZCBhX19iCisgaXNfaW5fbGlzdCBhX19iIHNxdW90ZSBkcXVvdGUgYnF1 b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBo MCBhX2xmX2IKKyBpdGVtPWFfX2IKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQor IHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gYV9fYiBpbiBidWlsZGRpcgorIHNl dCAreApvayA4MyAtIGFfX2IgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA4MyAt IGFfX2IgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tl ZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuL2Eg IGIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtYV9fYgorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vYSAgYiAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1h X19iCisgcm0gLXJmIC4vYSAgYiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0 IC1lIC4vYSAgYgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxz IHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1hX19iCisgZGVzdD0vaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19i L2EgIGIKKyBta2RpciBidWlsZC1hX19iCisgY2QgYnVpbGQtYV9fYgorIHI9b2sKKyAuLi9j b25maWd1cmUgLS1wcmVmaXggL2EgIGItcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21w YXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVh ZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g Z2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp bmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBu YW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJl IHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElT TyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMg LWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y dHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBk ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpj aGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZp Zy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1 czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FH RV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFD S0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwi IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF PVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1U IHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8g Li4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2Nj ICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAgLWcgLU8yICAgLW8gc3Vi L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJi YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jh c2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5v YmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIgZmlsZT0uL2EgIGIgbWFrZSB0ZXN0LWlu c3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtYV9f YsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAv dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19i L2EgIGIvYSAgYi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4 L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2Eg IGIvYSAgYi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2Eg IGIvYSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGIt cHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNo ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9h ICBiL2EgIGItcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAg c3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9i YXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28vc3ViLycKICAv dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZp eC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi9hICBiLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFf X2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIv YSAgYi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfX2IvYSAgYi9hICBiLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2Eg IGIvYSAgYi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAu Li9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2Zvby9zdWInCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtYV9fYi9hICBiL2EgIGItcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvYSAgYi1wcmVm aXgvZm9vL3N1YicKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWls ZC1hX19iwqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9z dWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLy4vYSAgYi1wcmVmaXgvZm9v L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9u b2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9u b2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9i YXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9hICBiLXByZWZpeC9mb28vc3Vi L25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9hICBiLXByZWZpeC9mb28v bm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9i YXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9zdWIv bm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYi8uL2EgIGItcHJlZml4L2Zvby9ub2Jh c2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLy4vYSAgYi1wcmVmaXgvZm9vL2Jhc2UnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtYV9fYi9hICBiLy4vYSAgYi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2Uu YScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIvLi9hICBiLXByZWZpeC9mb28vbGlibm9iYXNl LmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtYV9fYi9hICBiLy4vYSAgYi1wcmVmaXgvZm9vL2xpYmJhc2Uu YScKKyBkZXNjcmlwdGlvbj1hX19iIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRl c3QgYV9fYgorIGlzX2luX2xpc3QgYV9fYiBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBk b2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1hX19iCisgc2hpZnQKKyByZXR1cm4gMQor IGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIGFfX2IgaW4g ZGVzdGRpcgorIHNldCAreApvayA4NCAtIGFfX2IgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3Rz cGMudGFwIDg0IC0gYV9fYiBpbiBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRp cnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBy bV9yZl8gYnVpbGQtYV9fYiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1hX19iL2EgIGIKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAt UiB1K3J3eCBidWlsZC1hX19iIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWFfX2IvYSAgYgorIHJtIC1yZiBidWlsZC1hX19iIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWFfX2IvYSAgYgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1hX19iCisg dGVzdCAtZSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1hX19iL2EgIGIKKyByZXR1cm4gMAorIDogRm9yIHNoZWxscyB3aXRoIGJ1 c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2FfbGZfYn0KKyB0 ZXN0X3N0cmluZz1hCmIKKyB0ZXN0IHhhCmIgPSB4CisgbWtkaXIgLi9hCmIKKyBidWlsZD0u L2EKYgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtYV9sZl9iCisgY2QgLi9hCmIKKyByPW9rCisgLi4vY29uZmlndXJl IC0tcHJlZml4IC9hCmItcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu c3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu dmlyb25tZW50IGlzIHNhbmUuLi4gY29uZmlndXJlOiBlcnJvcjogdW5zYWZlIGFic29sdXRl IHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUKKyByPW5vdCBvaworIGRlc2NyaXB0aW9uPWFfbGZf YiBpbiBidWlsZGRpcgorIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgYV9sZl9iCisgaXNfaW5f bGlzdCBhX2xmX2Igc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBh bXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgorIGl0ZW09YV9sZl9iCisg c2hpZnQKKyByZXR1cm4gMAorIGRpcmVjdGl2ZT1UT0RPCisgcmVhc29uPWxvbmctc3RhbmRp bmcgbGltaXRhdGlvbgorIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIgbG9uZy1zdGFuZGlu ZyBsaW1pdGF0aW9uIC0tIGFfbGZfYiBpbiBidWlsZGRpcgorIHNldCAreApub3Qgb2sgODUg LSBhX2xmX2IgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpY RkFJTDogdC9pbnN0c3BjLnRhcCA4NSAtIGFfbGZfYiBpbiBidWlsZGRpciAjIFRPRE8gbG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBh bV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG5vdCBvayA9IG9rCisgOiBG b3Igc2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1hX2xmX2IKKyBk ZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWFfbGZfYi9hCmIKKyBta2RpciBidWlsZC1hX2xmX2IKKyBjZCBidWlsZC1hX2xm X2IKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9hCmItcHJlZml4CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp b24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBn Y2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0 eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0 ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZp bGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCmNvbmZpZy5z dGF0dXM6IGVycm9yOiBpbiBgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2J1aWxkLWFfbGZfYic6CmNvbmZpZy5zdGF0dXM6IGVycm9yOiBT b21ldGhpbmcgd2VudCB3cm9uZyBib290c3RyYXBwaW5nIG1ha2VmaWxlIGZyYWdtZW50cwog ICAgZm9yIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRyYWNraW5nLiAgSWYgR05VIG1ha2Ugd2Fz IG5vdCB1c2VkLCBjb25zaWRlcgogICAgcmUtcnVubmluZyB0aGUgY29uZmlndXJlIHNjcmlw dCB3aXRoIE1BS0U9ImdtYWtlIiAob3Igd2hhdGV2ZXIgaXMKICAgIG5lY2Vzc2FyeSkuICBZ b3UgY2FuIGFsc28gdHJ5IHJlLXJ1bm5pbmcgY29uZmlndXJlIHdpdGggdGhlCiAgICAnLS1k aXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcnIG9wdGlvbiB0byBhdCBsZWFzdCBiZSBhYmxl IHRvIGJ1aWxkCiAgICB0aGUgcGFja2FnZSAoYWxiZWl0IHdpdGhvdXQgc3VwcG9ydCBmb3Ig YXV0b21hdGljIGRlcGVuZGVuY3kgdHJhY2tpbmcpLgpTZWUgYGNvbmZpZy5sb2cnIGZvciBt b3JlIGRldGFpbHMKKyByPW5vdCBvaworIGRlc2NyaXB0aW9uPWFfbGZfYiBpbiBkZXN0ZGly CisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGFfbGZfYgorIGlzX2luX2xpc3QgYV9sZl9iIHNx dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKKyBpdGVt PWFfbGZfYgorIHNoaWZ0CisgcmV0dXJuIDAKKyBkaXJlY3RpdmU9VE9ETworIHJlYXNvbj1s b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KKyByZXN1bHRfIG5vdCBvayAtRCBUT0RPIC1yIGxv bmctc3RhbmRpbmcgbGltaXRhdGlvbiAtLSBhX2xmX2IgaW4gZGVzdGRpcgorIHNldCAreApu b3Qgb2sgODYgLSBhX2xmX2IgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1p dGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDg2IC0gYV9sZl9iIGluIGRlc3RkaXIgIyBU T0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBub3Qgb2sgPSBv aworIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmlu Zz0ke2luc3RzcGNfX2RvdGRvdGRvdH0KKyB0ZXN0X3N0cmluZz0uLi4KKyB0ZXN0IHguLi4g PSB4CisgbWtkaXIgLi8uLi4KKyBidWlsZD0uLy4uLgorIGRlc3Q9L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Cisg Y2QgLi8uLi4KKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8uLi4tcHJlZml4CmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXgg b2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNo ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdj YyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hl dGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2lu ZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNo ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBn ZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCisg bWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJO QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU UklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tB R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1J LiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJj ZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRw byAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAg CmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJi YXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFz ZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNvdXJj ZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QgZmls ZT0uLy4uLiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci8uLi7CoMK7CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rk b3Rkb3QvLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4u LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2Uu YSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4u Li1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9i YXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3Qv Li4uLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFz ZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rk b3Rkb3QvLi4uLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vL3N1YicKICgg Y2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh c2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28vc3ViLycKICAvdXNy L2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zv by9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rk b3QvLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rk b3QvLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXBy ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh c2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90 ZG90ZG90Ly4uLi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4tcHJlZml4L2Zvby9zdWInCm1h a2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvLi4uwqDCuwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvdGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90 ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG90ZG90ZG90Ly4vLi4uLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Rkb3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rk b3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv dGRvdGRvdC8uLy4uLi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rk b3Rkb3QvLi8uLi4tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRv dC8uLy4uLi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90 Ly4vLi4uLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4u Li1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4vLi4uLXByZWZp eC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1w cmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLy4uLi1w cmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1kb3Rkb3Rkb3QgaW4gYnVpbGRk aXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGRvdGRvdGRvdAorIGlzX2luX2xpc3QgZG90 ZG90ZG90IHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJz YW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKKyBpdGVtPWRvdGRvdGRvdAorIHNo aWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQg IC1yICAtLSBkb3Rkb3Rkb3QgaW4gYnVpbGRkaXIKKyBzZXQgK3gKb2sgODcgLSBkb3Rkb3Rk b3QgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA4NyAtIGRvdGRvdGRvdCBpbiBi dWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2VlcGluZ190ZXN0 ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vLi4uIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRv dGRvdAorIHRlc3QgMiAtZ3QgMAorIGNobW9kIC1SIHUrcnd4IC4vLi4uIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRv dAorIHJtIC1yZiAuLy4uLiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRl c3QgLWUgLi8uLi4KKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdAorIHJldHVybiAwCisgOiBGb3Ig c2hlbGxzIHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1kb3Rkb3Rkb3QKKyBk ZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4KKyBta2RpciBidWlsZC1kb3Rkb3Rkb3QKKyBjZCBidWls ZC1kb3Rkb3Rkb3QKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8uLi4tcHJlZml4 CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5z dGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g eWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0 cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hl dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGls ZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZm aXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNv bXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9y IGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcg d2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHll cyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2Mz CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRl cmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhh dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29u ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz CisgbWFrZSBhbGwKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9U QVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF X1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBB Q0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwi IC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3Nv dXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl LlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu byAgCmdjYyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9s aWJiYXNlLmEKYXIgY3J1IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli YmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjcnUgc3ViL2xpYm5vYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCisgREVTVERJUj0vaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3Qv Li4uIGZpbGU9Li8uLi4gbWFrZSB0ZXN0LWluc3QKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5z IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtZG90ZG90ZG90wqDCuwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg Li4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28nCiAvYmlu L21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4u LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vJyAm JiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4v Li4uLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90 ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRv dC8uLi4vLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4u Ly4uLi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jh c2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXBy ZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2Zvbycg JiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rk b3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4u Li8uLi4tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz ZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg LWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLi4tcHJlZml4 L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rk b3QvLi4uLy4uLi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4u Li8uLi4tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4u LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u b2Jhc2UuZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vL3N1YicKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4uLXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4uLi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu c3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi4u LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2J1aWxkLWRvdGRvdGRvdMKgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4u LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4v Li8uLi4tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rkb3QvLi4u Ly4vLi4uLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4v Li8uLi4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rkb3Rk b3QvLi4uLy4vLi4uLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Rk b3Rkb3QvLi4uLy4vLi4uLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG90 ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4uLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1m ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4uLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAh IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb3Rkb3Rkb3QvLi4uLy4vLi4uLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAg LWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRl c3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLi8uLy4uLi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5h Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4vLi8uLi4tcHJlZml4L2Zvby9saWJiYXNl LmEnCisgZGVzY3JpcHRpb249ZG90ZG90ZG90IGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19m YWlsIGRlc3QgZG90ZG90ZG90CisgaXNfaW5fbGlzdCBkb3Rkb3Rkb3Qgc3F1b3RlIGRxdW90 ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09ZG90ZG90ZG90 Cisgc2hpZnQKKyByZXR1cm4gMQorIGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBv ayAtRCAgLXIgIC0tIGRvdGRvdGRvdCBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDg4IC0gZG90 ZG90ZG90IGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA4OCAtIGRvdGRvdGRvdCBp biBkZXN0ZGlyCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyCisgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rl c3RkaXJzCisgcmV0dXJuIDEKKyB0ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtZG90ZG90 ZG90IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvdGRvdGRvdC8uLi4KKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCBi dWlsZC1kb3Rkb3Rkb3QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG90ZG90ZG90Ly4uLgorIHJtIC1yZiBidWlsZC1kb3Rkb3Rk b3QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtZG90ZG90ZG90Ly4uLgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWls ZC1kb3Rkb3Rkb3QKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvdGRvdGRvdC8uLi4KKyByZXR1cm4gMAorIDog Rm9yIHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgZXZhbCB0ZXN0X3N0cmluZz0ke2lu c3RzcGNfX2Rvc2RyaXZlfQorIHRlc3Rfc3RyaW5nPWE6CisgdGVzdCB4YTogPSB4CisgbWtk aXIgLi9hOgorIGNkIC4vYToKKyBidWlsZD0uL2E6CisgZGVzdD0vaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZQorIGNk IC4vYToKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC9hOi1wcmVmaXgKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRo ZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBl eGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVj a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9w dGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVy IGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUg c3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tp bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6 IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKKyBtYWtl IGFsbApnY2MgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9 XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRw byAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k ZXBzL3NvdXJjZS5QbwpnY2MgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj ICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu YQphciBjcnUgc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNydSBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKKyBERVNURElSPS9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlIGZpbGU9Li9h OiBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9hOsKgwrsKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28n CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1w cmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycK IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2 ZS9hOi1wcmVmaXgvZm9vJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycgJiYg cmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVm aXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6 LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWIvJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVm aXgvZm9vL3N1Yi8nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWInCiAvdXNy L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nICYm IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUv YTotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9m b28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZl L2E6LXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6LXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvc2RyaXZlL2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2 ZS9hOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jh c2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv c2RyaXZlL2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1w cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9i YXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTotcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJp dmUvYTotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4v c3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXcKg OiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9hOsKgwrsKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nk cml2ZS8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2Ry aXZlLy4vYTotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8u L2E6LXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJl Zml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8uL2E6LXBy ZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8uL2E6LXByZWZp eC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9v L3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9v L25vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vYmFz ZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFz ZScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS8uL2E6LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9zZHJpdmUvLi9hOi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LWRvc2RyaXZlLy4vYTotcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249ZG9z ZHJpdmUgaW4gYnVpbGRkaXIKKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGRvc2RyaXZlCisg aXNfaW5fbGlzdCBkb3Nkcml2ZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg YnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1k b3Nkcml2ZQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9CisgcmVhc29uPQorIHJl c3VsdF8gb2sgLUQgIC1yICAtLSBkb3Nkcml2ZSBpbiBidWlsZGRpcgorIHNldCAreApvayA4 OSAtIGRvc2RyaXZlIGluIGJ1aWxkZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgODkgLSBkb3Nk cml2ZSBpbiBidWlsZGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgYW1fa2Vl cGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisgcm1fcmZfIC4vYTog L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9zZHJpdmUKKyB0ZXN0IDIgLWd0IDAKKyBjaG1vZCAtUiB1K3J3eCAuL2E6IC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv c2RyaXZlCisgcm0gLXJmIC4vYTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUKKyBfYW1fcm1yZl9zdGF0dXM9MAor IHRlc3QgLWUgLi9hOgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUKKyByZXR1cm4gMAorIDogRm9y IHNoZWxscyB3aXRoIGJ1c3RlZCBzZXQgLWUuCisgYnVpbGQ9YnVpbGQtZG9zZHJpdmUKKyBk ZXN0PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlL2E6CisgbWtkaXIgYnVpbGQtZG9zZHJpdmUKKyBjZCBidWlsZC1k b3Nkcml2ZQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL2E6LXByZWZpeApjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNo ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg b3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRo ZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdO VSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVj a2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2Vu ZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1h a2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1h a2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4g LUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8g LmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn Y2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFz ZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTogZmls ZT0uL2E6IG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lw ZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2J1aWxkLWRvc2RyaXZlwqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJp dmUvYTovYTotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uu c2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg IHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAoIGNkICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAgL3Vzci9iaW4v aW5zdGFsbCAtYyBzdWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvYmluL21rZGly IC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28v c3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6 L2E6LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2Zv bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nk cml2ZS9hOi9hOi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTov YTotcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG9zZHJpdmUvYTovYTotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0 IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0 YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgv Zm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovYTotcHJlZml4L2ZvbycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28vc3ViJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi9hOi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6L2E6 LXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9hOi9hOi1wcmVmaXgv Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmgg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LWRvc2RyaXZlL2E6L2E6LXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1aXR0 ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLWRvc2RyaXZlwqDCuwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv c2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt ZG9zZHJpdmUvYTovLi9hOi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv c2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJp dmUvYTovLi9hOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv c2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv c2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nk cml2ZS9hOi8uL2E6LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1k b3Nkcml2ZS9hOi8uL2E6LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRv c2RyaXZlL2E6Ly4vYTotcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2Ry aXZlL2E6Ly4vYTotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2Ry aXZlL2E6Ly4vYTotcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUv YTovLi9hOi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYTovLi9h Oi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1kb3Nkcml2ZS9h Oi8uL2E6LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUv YTovLi9hOi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKKyBkZXNjcmlwdGlvbj1kb3Nkcml2ZSBp biBkZXN0ZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGRvc2RyaXZlCisgaXNfaW5fbGlz dCBkb3Nkcml2ZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQg YV9sZl9iCisgaXRlbT1kb3Nkcml2ZQorIHNoaWZ0CisgcmV0dXJuIDEKKyBkaXJlY3RpdmU9 CisgcmVhc29uPQorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBkb3Nkcml2ZSBpbiBkZXN0ZGly Cisgc2V0ICt4Cm9rIDkwIC0gZG9zZHJpdmUgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMu dGFwIDkwIC0gZG9zZHJpdmUgaW4gZGVzdGRpcgorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpcgorIG5vdCBhbV9rZWVwaW5nX3Rlc3Rk aXJzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAxCisgdGVzdCBvayA9IG9rCisg cm1fcmZfIGJ1aWxkLWRvc2RyaXZlIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6CisgdGVzdCAyIC1ndCAwCisg Y2htb2QgLVIgdStyd3ggYnVpbGQtZG9zZHJpdmUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYToKKyBybSAtcmYg YnVpbGQtZG9zZHJpdmUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtZG9zZHJpdmUvYToKKyBfYW1fcm1yZl9zdGF0dXM9MAorIHRl c3QgLWUgYnVpbGQtZG9zZHJpdmUKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LWRvc2RyaXZlL2E6CisgcmV0dXJu IDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJp bmc9JHtpbnN0c3BjX19taXNjZ2xvYjF9CisgdGVzdF9zdHJpbmc9P1thLXpdKgorIHRlc3Qg eD9bYS16XSogPSB4CisgbWtkaXIgLi8/W2Etel0qCisgYnVpbGQ9Li8/W2Etel0qCisgZGVz dD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taXNjZ2xvYjEKKyBjZCAuLz9bYS16XSoKKyByPW9rCisgLi4vY29uZmlndXJlIC0t cHJlZml4IC8/W2Etel0qLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp bnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBl bnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBt a2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBn Y2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBh Lm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZp eCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0 aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMg LWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4u IG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAt byB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBp bmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5j eSBzdHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcg dGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIu Li4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFu IGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVz CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1 dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1c Imluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVS U0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tB R0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3Rz cGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2Uu byAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJj ZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8y ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ug c291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNv dXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIg Y3J1IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQor IERFU1RESVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxIGZpbGU9Li8/W2Etel0qIG1ha2UgdGVzdC1pbnN0Cm1h a2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyLz9bYS16XSrCoMK7CiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL3Vzci9i aW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJl Zml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9m b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0q LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1 Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwg LWMgLi4vc3ViL25vYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2Zvby9z dWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28vc3ViJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IxLz9bYS16XSotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpd Ki1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIC9iaW4vbWtkaXIg LXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFs bCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi8n CiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEv P1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16 XSotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl LmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRp ci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjEvP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9m b28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSotcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLXByZWZpeC9mb28vc3Vi JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSotcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvP1thLXpdKsKgwrsKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/ W2Etel0qLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i MS8uLz9bYS16XSotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvLi8/W2Etel0qLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i MS8uLz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1t aXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg ISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9mb28vYmFzZS5zaCcKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvLi8/W2Etel0qLXByZWZpeC9mb28vbm9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9iYXNlJwp0ZXN0 ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9zdWIvbGlibm9iYXNl LmEnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLy4vP1thLXpdKi1wcmVmaXgvZm9vL2xpYm5v YmFzZS5hJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8uLz9bYS16XSotcHJlZml4L2Zvby9s aWJiYXNlLmEnCisgZGVzY3JpcHRpb249bWlzY2dsb2IxIGluIGJ1aWxkZGlyCisgZXhwZWN0 ZWRfdG9fZmFpbCBidWlsZCBtaXNjZ2xvYjEKKyBpc19pbl9saXN0IG1pc2NnbG9iMSBzcXVv dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVl ZCBxdWFkcmlncmFwaDAgYV9sZl9iCisgaXRlbT1taXNjZ2xvYjEKKyBzaGlmdAorIHJldHVy biAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gbWlz Y2dsb2IxIGluIGJ1aWxkZGlyCisgc2V0ICt4Cm9rIDkxIC0gbWlzY2dsb2IxIGluIGJ1aWxk ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgOTEgLSBtaXNjZ2xvYjEgaW4gYnVpbGRkaXIKKyBj ZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIK KyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1 cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyAuLz9bYS16XSogL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxCisg dGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggLi8/W2Etel0qIC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMQor IHJtIC1yZiAuLz9bYS16XSogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0 ZXN0IC1lIC4vP1thLXpdKgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxCisgcmV0dXJuIDAKKyA6 IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGJ1aWxkPWJ1aWxkLW1pc2NnbG9i MQorIGRlc3Q9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSoKKyBta2RpciBidWlsZC1taXNjZ2xvYjEK KyBjZCBidWlsZC1taXNjZ2xvYjEKKyByPW9rCisgLi4vY29uZmlndXJlIC0tcHJlZml4IC8/ W2Etel0qLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5n IGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVj a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdl IGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMg Y29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVl ZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhl ci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRp cmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv ZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hp dmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3Vy ZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBm aWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNc IiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEu MFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQ T1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZF UlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1Q IC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1m IC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3Vi L2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8g IApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApy YW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9s aWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9 L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWlzY2dsb2IxLz9bYS16XSogZmlsZT0uLz9bYS16XSogbWFrZSB0ZXN0LWluc3QKbWFr ZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvYnVpbGQtbWlzY2dsb2Ix wqDCuwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVm aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt YyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSot cHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4 L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBz dWIvYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9v L3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2Nn bG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAt cCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vL3N1YicKIC91c3Iv YmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/ W2Etel0qLz9bYS16XSotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1th LXpdKi8/W2Etel0qLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgv Zm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh bGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1th LXpdKi1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSov P1thLXpdKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi L2Jhc2UuaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vJwog L2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9v L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWlzY2dsb2IxLz9bYS16XSovP1thLXpdKi1wcmVmaXgvZm9vL3N1YicKIC9iaW4vbWtk aXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLz9bYS16XSotcHJlZml4L2Zvby9zdWIn CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjEvP1thLXpdKi8/W2Etel0qLXByZWZpeC9mb28vc3ViJwptYWtlWzFdwqA6IG9uIHF1 aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2J1aWxkLW1pc2NnbG9iMcKgwrsKdGVzdCAgIC1mICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjEvP1thLXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgn CnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28v bm9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEu MTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXBy ZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1th LXpdKi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i MS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rl c3QtbWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vYmFzZS5kYXQnCnRl c3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3Rz cGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSovLi8/W2Etel0qLXByZWZpeC9mb28vc3Vi L25vYmFzZS5zaCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8uLz9bYS16XSot cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IxLz9bYS16XSov Li8/W2Etel0qLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEv P1thLXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9iYXNlJwp0 ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qLy4vP1thLXpdKi1wcmVmaXgvZm9vL3N1 Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1thLXpdKi8uLz9bYS16 XSotcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjEvP1th LXpdKi8uLz9bYS16XSotcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVzY3JpcHRpb249bWlz Y2dsb2IxIGluIGRlc3RkaXIKKyBleHBlY3RlZF90b19mYWlsIGRlc3QgbWlzY2dsb2IxCisg aXNfaW5fbGlzdCBtaXNjZ2xvYjEgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy IGxpbmVmZWVkIGFfbGZfYgorIGl0ZW09bWlzY2dsb2IxCisgc2hpZnQKKyByZXR1cm4gMQor IGRpcmVjdGl2ZT0KKyByZWFzb249CisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIG1pc2NnbG9i MSBpbiBkZXN0ZGlyCisgc2V0ICt4Cm9rIDkyIC0gbWlzY2dsb2IxIGluIGRlc3RkaXIKUEFT UzogdC9pbnN0c3BjLnRhcCA5MiAtIG1pc2NnbG9iMSBpbiBkZXN0ZGlyCisgY2QgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyCisgbm90IGFt X2tlZXBpbmdfdGVzdGRpcnMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDEKKyB0 ZXN0IG9rID0gb2sKKyBybV9yZl8gYnVpbGQtbWlzY2dsb2IxIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Et el0qCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIgdStyd3ggYnVpbGQtbWlzY2dsb2IxIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMS8/W2Etel0qCisgcm0gLXJmIGJ1aWxkLW1pc2NnbG9iMSAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjEvP1thLXpdKgorIF9hbV9ybXJmX3N0YXR1cz0wCisgdGVzdCAtZSBidWlsZC1taXNjZ2xv YjEKKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMS8/W2Etel0qCisgcmV0dXJuIDAKKyA6IEZvciBz aGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgorIGV2YWwgdGVzdF9zdHJpbmc9JHtpbnN0c3Bj X19taXNjZ2xvYjJ9CisgdGVzdF9zdHJpbmc9Lio/WzAtOV0KKyB0ZXN0IHguKj9bMC05XSA9 IHgKKyBta2RpciAuLy4qP1swLTldCisgYnVpbGQ9Li8uKj9bMC05XQorIGRlc3Q9L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IyCisgY2QgLi8uKj9bMC05XQorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXgg Ly4qP1swLTldLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxs Li4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAt cC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcg d2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl IHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4g Z2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApj aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05V IEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUg bmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dl dGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFu bGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk ZXBmaWxlcyBjb21tYW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3Rz cGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAt RFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12 IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8g c3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl Lm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5v IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1 Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RE SVI9L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyIGZpbGU9Li8uKj9bMC05XSBtYWtlIHRlc3QtaW5zdAptYWtlWzFd wqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8uKj9bMC05XcKgwrsKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL3Vzci9iaW4v aW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKICggY2QgJy9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05 XS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMg c3ViL2Jhc2UgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2Rp ciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1w ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIv ZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5z dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4 L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZp eC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2Zv by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjIvLio/WzAtOV0tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vz ci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJl Zml4L2Zvby9zdWIvJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXBy ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg Jy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9k ZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3Qt bWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t IDY0NCAuLi9zdWIvYmFzZS5oICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0tcHJlZml4L2ZvbycK IC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jp bi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2lu c3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLXByZWZpeC9mb28vc3ViJwogL3Vz ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjIvLio/WzAtOV0tcHJlZml4L2Zvby9zdWInCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjIvLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8u Kj9bMC05XS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAu Li9zdWIvbm9iYXNlLmggJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci8uKj9bMC05XcKgwrsKdGVz dCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNw Yy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu aCcKdGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFz ZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTldLXByZWZpeC9mb28vYmFz ZS5oJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTldLXByZWZpeC9mb28vc3Vi L25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4 L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4qP1swLTldLXBy ZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0t cHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uLy4q P1swLTldLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8u Ly4qP1swLTldLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Li8uKj9bMC05XS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9i Mi8uLy4qP1swLTldLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMi8uLy4qP1swLTldLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyLy4vLio/WzAtOV0tcHJlZml4L2Zvby9saWJiYXNlLmEnCisgZGVz Y3JpcHRpb249bWlzY2dsb2IyIGluIGJ1aWxkZGlyCisgZXhwZWN0ZWRfdG9fZmFpbCBidWls ZCBtaXNjZ2xvYjIKKyBpc19pbl9saXN0IG1pc2NnbG9iMiBzcXVvdGUgZHF1b3RlIGJxdW90 ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAg YV9sZl9iCisgaXRlbT1taXNjZ2xvYjIKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZl PQorIHJlYXNvbj0KKyByZXN1bHRfIG9rIC1EICAtciAgLS0gbWlzY2dsb2IyIGluIGJ1aWxk ZGlyCisgc2V0ICt4Cm9rIDkzIC0gbWlzY2dsb2IyIGluIGJ1aWxkZGlyClBBU1M6IHQvaW5z dHNwYy50YXAgOTMgLSBtaXNjZ2xvYjIgaW4gYnVpbGRkaXIKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGlu Z190ZXN0ZGlycworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sg PSBvaworIHJtX3JmXyAuLy4qP1swLTldIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMgorIHRlc3QgMiAtZ3QgMAor IGNobW9kIC1SIHUrcnd4IC4vLio/WzAtOV0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyCisgcm0gLXJmIC4vLio/ WzAtOV0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IyCisgX2FtX3JtcmZfc3RhdHVzPTAKKyB0ZXN0IC1lIC4vLio/ WzAtOV0KKyB0ZXN0IC1lIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMgorIHJldHVybiAwCisgOiBGb3Igc2hlbGxz IHdpdGggYnVzdGVkIHNldCAtZS4KKyBidWlsZD1idWlsZC1taXNjZ2xvYjIKKyBkZXN0PS9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMi8uKj9bMC05XQorIG1rZGlyIGJ1aWxkLW1pc2NnbG9iMgorIGNkIGJ1aWxk LW1pc2NnbG9iMgorIHI9b2sKKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLy4qP1swLTldLXBy ZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmlu L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l Li4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21r ZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtl IHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5l c3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5n IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Ig c3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMu Li4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIu Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5n IGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5vbmUgbmVlZGVkCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4u LiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MuLi4g Z2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikg aW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5n IHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21t YW5kcworIG1ha2UgYWxsCmdjYyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB R0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFD S0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIg LURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIx LjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVw cy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3Nv dXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291 cmNlLm8gIApnY2MgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBz dWIvbGliYmFzZS5hCmFyIGNydSBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi L2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3J1IHN1Yi9saWJub2Jhc2Uu YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQorIERFU1RESVI9L2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IyLy4qP1swLTldIGZpbGU9Li8uKj9bMC05XSBtYWtlIHRlc3QtaW5zdAptYWtlWzFdwqA6 IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9idWlsZC1taXNjZ2xvYjLCoMK7CiAv YmluL21rZGlyIC1wICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zv bycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8u Kj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j IC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTld LXByZWZpeC9mb28nCiAoIGNkICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJl Zml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxs IC1jIHN1Yi9iYXNlICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zv bycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVm aXgvZm9vJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTld LXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5z aCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28vc3ViLycKIC9i aW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9p bnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9v JwogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZp eC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2Uu YSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28vc3ViJwogKCBj ZCAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nICYmIHJhbmxp YiBzdWIvbGlibm9iYXNlLmEgKQogL2Jpbi9ta2RpciAtcCAnL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1sw LTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIv Lio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwg LWMgc3ViL25vYmFzZSAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9m b28vc3ViLycKIC9iaW4vbWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05 XS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu ZGF0ICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4v bWtkaXIgLXAgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vJwog L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Iy Ly4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNj Z2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2ZvbycKIC9iaW4vbWtkaXIgLXAgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMi8uKj9bMC05XS8uKj9bMC05XS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4q P1swLTldLy4qP1swLTldLXByZWZpeC9mb28vc3ViJwogL2Jpbi9ta2RpciAtcCAnL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlz Y2dsb2IyLy4qP1swLTldLy4qP1swLTldLXByZWZpeC9mb28nCiAvYmluL21rZGlyIC1wICcv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVz dC1taXNjZ2xvYjIvLio/WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp bi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/ WzAtOV0vLio/WzAtOV0tcHJlZml4L2Zvby9zdWInCm1ha2VbMV3CoDogb24gcXVpdHRlIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIvYnVpbGQtbWlzY2dsb2IywqDCuwp0ZXN0ICAgLWYgJy9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2Nn bG9iMi8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0 ICEgLWYgJy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3Bj LmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vbm9i YXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4vLio/WzAtOV0tcHJl Zml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4vLio/ WzAtOV0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xv YjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt ZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGly L2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLmRh dCcKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv aW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgv Zm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4v Lio/WzAtOV0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3Nk My9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2Iy Ly4qP1swLTldLy4vLio/WzAtOV0tcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0 LW1pc2NnbG9iMi8uKj9bMC05XS8uLy4qP1swLTldLXByZWZpeC9mb28vc3ViL25vYmFzZScK dGVzdCAhIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5z dHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9v L25vYmFzZScKdGVzdCAgIC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvaW5zdHNwYy5kaXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1w cmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldLy4vLio/ WzAtOV0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2ds b2IyLy4qP1swLTldLy4vLio/WzAtOV0tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAg IC1mICcvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvaW5zdHNwYy5k aXIvZGVzdC1taXNjZ2xvYjIvLio/WzAtOV0vLi8uKj9bMC05XS1wcmVmaXgvZm9vL2xpYmJh c2UuYScKKyBkZXNjcmlwdGlvbj1taXNjZ2xvYjIgaW4gZGVzdGRpcgorIGV4cGVjdGVkX3Rv X2ZhaWwgZGVzdCBtaXNjZ2xvYjIKKyBpc19pbl9saXN0IG1pc2NnbG9iMiBzcXVvdGUgZHF1 b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCisgaXRlbT1taXNjZ2xv YjIKKyBzaGlmdAorIHJldHVybiAxCisgZGlyZWN0aXZlPQorIHJlYXNvbj0KKyByZXN1bHRf IG9rIC1EICAtciAgLS0gbWlzY2dsb2IyIGluIGRlc3RkaXIKKyBzZXQgK3gKb2sgOTQgLSBt aXNjZ2xvYjIgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDk0IC0gbWlzY2dsb2Iy IGluIGRlc3RkaXIKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvaW5zdHNwYy5kaXIKKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycworIGFtX2tlZXBpbmdf dGVzdGRpcnMKKyByZXR1cm4gMQorIHRlc3Qgb2sgPSBvaworIHJtX3JmXyBidWlsZC1taXNj Z2xvYjIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMu ZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldCisgdGVzdCAyIC1ndCAwCisgY2htb2QgLVIg dStyd3ggYnVpbGQtbWlzY2dsb2IyIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9pbnN0c3BjLmRpci9kZXN0LW1pc2NnbG9iMi8uKj9bMC05XQorIHJtIC1yZiBi dWlsZC1taXNjZ2xvYjIgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4qP1swLTldCisgX2FtX3JtcmZfc3RhdHVz PTAKKyB0ZXN0IC1lIGJ1aWxkLW1pc2NnbG9iMgorIHRlc3QgLWUgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2luc3RzcGMuZGlyL2Rlc3QtbWlzY2dsb2IyLy4q P1swLTldCisgcmV0dXJuIDAKKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgc2V0IC1lLgor IDoKKyBhbV9leGl0X3RyYXAgMAorIGV4aXRfc3RhdHVzPTAKKyBzZXQgK2UKKyBjZCAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCB0YXAgPSB0YXAKKyB0 ZXN0IDk0ID0gbGF0ZXIKKyB0ZXN0IDAgLWVxIDAKKyB0ZXN0IDc3IC1lcSA5NAorIGtlZXBf dGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4 CgpQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXIKPT09PT09PT09PT09PT09PT09PT09PT09CgpS dW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiB0YXAKUEFUSCA9 IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2Nh bC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3Jh bW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11 cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlyLmRpcgorIHBsYW5fIDcKKyB0 ZXN0IDEgLWVxIDAKKyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHhub25lICE9IHhub25lCisgdGVz dCB4NyA9IHh1bmtub3duCisgdGVzdCB4NyA9IHhsYXRlcgorIHRlc3QgeDcgPSB4bGF6eQor IHRlc3QgeDcgPSB4bm93CisgdGVzdCA3IC1nZSAwCisgcGxhbm5lZF89NworIGVjaG8gMS4u NwoxLi43CisgcHdkCisgb2N3ZD0vaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvYWNsb2NhbC1tYWNyb2Rpci5kaXIKKyB1bnNldCBBQ0xPQ0FMX1BBVEgKKyB0Y291 bnQ9MAorIHI9aW52YWxpZAorIGRlc2NyaXB0aW9uPQorIGRpcmVjdGl2ZT0KKyB0ZXN0X2Jl Z2luIEFDX0NPTkZJR19NQUNST19ESVIgaXMgaG9ub3JlZAorIHRlc3QgLW4gCisgcj1vawor IGRlc2NyaXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVIgaXMgaG9ub3JlZAorIGRpcmVjdGl2 ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVIgaXMgaG9ub3JlZAorIHNoaWZ0CisgdGNv dW50PTEKKyB0ZXN0IDEgLWd0IDAKKyBta2RpciAxLmQKKyBjZCAxLmQKKyBjYXQKKyBta2Rp ciBtYWNyby1kaXIKKyBlY2hvIEFDX0RFRlVOKFtNWV9GT09dLCBbOjpteTo6Zm9vOjpdKQor IGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW21hY3Jv LWRpci9mb28ubTRdKSBhY2xvY2FsLm00Cm00X2luY2x1ZGUoW21hY3JvLWRpci9mb28ubTRd KQorIGF1dG9jb25mCisgbm90IC9iaW4vZ3JlcCAtRiBNWV9GT08gY29uZmlndXJlCisgL2Jp bi9ncmVwIC1GIE1ZX0ZPTyBjb25maWd1cmUKKyAvYmluL2dyZXAgLUYgOjpteTo6Zm9vOjog Y29uZmlndXJlCjo6bXk6OmZvbzo6CisgdGVzdF9lbmQKKyB0ZXN0IC16IEFDX0NPTkZJR19N QUNST19ESVIgaXMgaG9ub3JlZAorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlyLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0tIEFD X0NPTkZJR19NQUNST19ESVIgaXMgaG9ub3JlZAorIHNldCAreApvayAxIC0gQUNfQ09ORklH X01BQ1JPX0RJUiBpcyBob25vcmVkClBBU1M6IHQvYWNsb2NhbC1tYWNyb2Rpci50YXAgMSAt IEFDX0NPTkZJR19NQUNST19ESVIgaXMgaG9ub3JlZAorIHRlc3QgLXogCisgdGVzdCBvayA9 IG9rCisgcm0gLXJmIDEuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9IGRlc2NyaXB0aW9uPQor IHRlc3RfYmVnaW4gQUNfQ09ORklHX01BQ1JPX0RJUihbZm9vXSkgaW50ZXJhY3Rpb24gd2l0 aCAtLWluc3RhbGwKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdf TUFDUk9fRElSKFtmb29dKSBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbAorIGRpcmVjdGl2 ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGludGVyYWN0aW9uIHdpdGgg LS1pbnN0YWxsCisgc2hpZnQKKyB0Y291bnQ9MgorIHRlc3QgMiAtZ3QgMAorIG1rZGlyIDIu ZAorIGNkIDIuZAorIGNhdAorIG1rZGlyIHN5cy1kaXIgdGhlLWRpcgorIGVjaG8gQUNfREVG VU4oW1RIRV9NQUNST10sIFs6XSkKKyB0ZXN0ICEgLXIgdGhlLWRpci9teS5tNAorIGFjbG9j YWwtMS4xNiAtV2Vycm9yIC0taW5zdGFsbCAtLXN5c3RlbS1hY2RpciAuL3N5cy1kaXIKYWNs b2NhbC0xLjE2OiBpbnN0YWxsaW5nICd0aGUtZGlyL215Lm00JyBmcm9tICdzeXMtZGlyL215 Lm00JworIGRpZmYgc3lzLWRpci9teS5tNCB0aGUtZGlyL215Lm00CisgdGVzdF9lbmQKKyB0 ZXN0IC16IEFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGludGVyYWN0aW9uIHdpdGggLS1p bnN0YWxsCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2Fj bG9jYWwtbWFjcm9kaXIuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gQUNfQ09ORklHX01BQ1JP X0RJUihbZm9vXSkgaW50ZXJhY3Rpb24gd2l0aCAtLWluc3RhbGwKKyBzZXQgK3gKb2sgMiAt IEFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGludGVyYWN0aW9uIHdpdGggLS1pbnN0YWxs ClBBU1M6IHQvYWNsb2NhbC1tYWNyb2Rpci50YXAgMiAtIEFDX0NPTkZJR19NQUNST19ESVIo W2Zvb10pIGludGVyYWN0aW9uIHdpdGggLS1pbnN0YWxsCisgdGVzdCAteiAKKyB0ZXN0IG9r ID0gb2sKKyBybSAtcmYgMi5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249 CisgdGVzdF9iZWdpbiAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJ UgorIHRlc3QgLW4gCisgcj1vaworIGRlc2NyaXB0aW9uPSctSScgb3B0aW9uIHdpbnMgb3Zl ciBBQ19DT05GSUdfTUFDUk9fRElSCisgZGlyZWN0aXZlPQorIGVjaG8gJy1JJyBvcHRpb24g d2lucyBvdmVyIEFDX0NPTkZJR19NQUNST19ESVIKKyBzaGlmdAorIHRjb3VudD0zCisgdGVz dCAzIC1ndCAwCisgbWtkaXIgMy5kCisgY2QgMy5kCisgY2F0CisgbWtkaXIgZGlyMSBkaXIy CisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgWzo6a286OmtvOjpdKQorIGVjaG8gQUNfREVG VU4oW01ZX0ZPT10sIFs6Om9rOjpvazo6XSkKKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtSSBk aXIyCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvMi5tNF0pIGFjbG9jYWwubTQK bTRfaW5jbHVkZShbZGlyMi8yLm00XSkKKyBub3QgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUo W2RpcjEvMS5tNF0pIGFjbG9jYWwubTQKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGly MS8xLm00XSkgYWNsb2NhbC5tNAorIGF1dG9jb25mCisgbm90IC9iaW4vZ3JlcCAtRiA6Omtv Ojprbzo6IGNvbmZpZ3VyZQorIC9iaW4vZ3JlcCAtRiA6OmtvOjprbzo6IGNvbmZpZ3VyZQor IC9iaW4vZ3JlcCAtRiA6Om9rOjpvazo6IGNvbmZpZ3VyZQo6Om9rOjpvazo6CisgdGVzdF9l bmQKKyB0ZXN0IC16ICctSScgb3B0aW9uIHdpbnMgb3ZlciBBQ19DT05GSUdfTUFDUk9fRElS CisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwt bWFjcm9kaXIuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gJy1JJyBvcHRpb24gd2lucyBvdmVy IEFDX0NPTkZJR19NQUNST19ESVIKKyBzZXQgK3gKb2sgMyAtICctSScgb3B0aW9uIHdpbnMg b3ZlciBBQ19DT05GSUdfTUFDUk9fRElSClBBU1M6IHQvYWNsb2NhbC1tYWNyb2Rpci50YXAg MyAtICctSScgb3B0aW9uIHdpbnMgb3ZlciBBQ19DT05GSUdfTUFDUk9fRElSCisgdGVzdCAt eiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgMy5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0g ZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSKFtmb29dKSBj YW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9vJworIHRlc3QgLW4gCisgcj1vaworIGRlc2NyaXB0 aW9uPUFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGNhbiBjcmVhdGUgZGlyZWN0b3J5ICdm b28nCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUihbZm9vXSkgY2Fu IGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBzaGlmdAorIHRjb3VudD00CisgdGVzdCA0IC1n dCAwCisgbWtkaXIgNC5kCisgY2QgNC5kCisgY2F0CisgbWtkaXIgYWNkaXIKKyBlY2hvIEFD X0RFRlVOKFtNWV9NQUNST10sIFs6XSkKKyB0ZXN0ICEgLWQgZm9vCisgYWNsb2NhbC0xLjE2 IC1XZXJyb3IgLS1pbnN0YWxsIC0tc3lzdGVtLWFjZGlyIC4vYWNkaXIKYWNsb2NhbC0xLjE2 OiBpbnN0YWxsaW5nICdmb28vYmFyLm00JyBmcm9tICdhY2Rpci9iYXIubTQnCisgZGlmZiBh Y2Rpci9iYXIubTQgZm9vL2Jhci5tNAorIHRlc3RfZW5kCisgdGVzdCAteiBBQ19DT05GSUdf TUFDUk9fRElSKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9vJworIGNkIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlyLmRp cgorIHJlc3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNST19ESVIoW2Zvb10pIGNhbiBj cmVhdGUgZGlyZWN0b3J5ICdmb28nCisgc2V0ICt4Cm9rIDQgLSBBQ19DT05GSUdfTUFDUk9f RElSKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9vJwpQQVNTOiB0L2FjbG9jYWwt bWFjcm9kaXIudGFwIDQgLSBBQ19DT05GSUdfTUFDUk9fRElSKFtmb29dKSBjYW4gY3JlYXRl IGRpcmVjdG9yeSAnZm9vJworIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDQu ZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNf Q09ORklHX01BQ1JPX0RJUihbbm9uLWV4aXN0ZW50XSkgd2FybnMgd2l0aCAtV3Vuc3VwcG9y dGVkCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJ Uihbbm9uLWV4aXN0ZW50XSkgd2FybnMgd2l0aCAtV3Vuc3VwcG9ydGVkCisgZGlyZWN0aXZl PQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUihbbm9uLWV4aXN0ZW50XSkgd2FybnMgd2l0 aCAtV3Vuc3VwcG9ydGVkCisgc2hpZnQKKyB0Y291bnQ9NQorIHRlc3QgNSAtZ3QgMAorIG1r ZGlyIDUuZAorIGNkIDUuZAorIGNhdAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC1Xbm8tZXJy b3IKKyBjYXQgc3RkZXJyCmFjbG9jYWwtMS4xNjogd2FybmluZzogY291bGRuJ3Qgb3BlbiBk aXJlY3RvcnkgJ25vbi1leGlzdGVudCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyBn cmVwIGNvdWxkbid0IG9wZW4gZGlyZWN0b3J5ICdub24tZXhpc3RlbnQnIHN0ZGVycgphY2xv Y2FsLTEuMTY6IHdhcm5pbmc6IGNvdWxkbid0IG9wZW4gZGlyZWN0b3J5ICdub24tZXhpc3Rl bnQnOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgdGVzdCAtZiBhY2xvY2FsLm00Cisg cm0gLXJmIGFjbG9jYWwubTQgYXV0b200dGUuY2FjaGUKKyBhY2xvY2FsLTEuMTYgLVdlcnJv ciAtV2Vycm9yIC1Xbm8tdW5zdXBwb3J0ZWQKKyB0ZXN0IC1mIGFjbG9jYWwubTQKKyB0ZXN0 X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUihbbm9uLWV4aXN0ZW50XSkgd2Fy bnMgd2l0aCAtV3Vuc3VwcG9ydGVkCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2FjbG9jYWwtbWFjcm9kaXIuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0g QUNfQ09ORklHX01BQ1JPX0RJUihbbm9uLWV4aXN0ZW50XSkgd2FybnMgd2l0aCAtV3Vuc3Vw cG9ydGVkCisgc2V0ICt4Cm9rIDUgLSBBQ19DT05GSUdfTUFDUk9fRElSKFtub24tZXhpc3Rl bnRdKSB3YXJucyB3aXRoIC1XdW5zdXBwb3J0ZWQKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGly LnRhcCA1IC0gQUNfQ09ORklHX01BQ1JPX0RJUihbbm9uLWV4aXN0ZW50XSkgd2FybnMgd2l0 aCAtV3Vuc3VwcG9ydGVkCisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAtcmYgNS5k Cisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19D T05GSUdfTUFDUk9fRElSKFtub3QtZXhpc3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkg bm90LWV4aXN0CisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01B Q1JPX0RJUihbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG5vdC1leGlz dAorIGRpcmVjdGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVIoW25vdC1leGlzdF0p IGFuZCBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyBzaGlmdAorIHRjb3VudD02 CisgdGVzdCA2IC1ndCAwCisgbWtkaXIgNi5kCisgY2QgNi5kCisgY2F0CisgY2F0CisgYWNs b2NhbC0xLjE2IC1XZXJyb3IgLVduby1lcnJvcgorIGNhdCBzdGRlcnIKYWNsb2NhbC0xLjE2 OiB3YXJuaW5nOiBjb3VsZG4ndCBvcGVuIGRpcmVjdG9yeSAnbm90LWV4aXN0JzogTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeQorIGdyZXAgLWMgY291bGRuJ3Qgb3BlbiBkaXJlY3Rvcnkg J25vdC1leGlzdCcgc3RkZXJyCisgdGVzdCAxIC1lcSAxCisgdGVzdF9lbmQKKyB0ZXN0IC16 IEFDX0NPTkZJR19NQUNST19ESVIoW25vdC1leGlzdF0pIGFuZCBBQ0xPQ0FMX0FNRkxBR1Mg PSAtSSBub3QtZXhpc3QKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvYWNsb2NhbC1tYWNyb2Rpci5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSBBQ19DT05G SUdfTUFDUk9fRElSKFtub3QtZXhpc3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90 LWV4aXN0Cisgc2V0ICt4Cm9rIDYgLSBBQ19DT05GSUdfTUFDUk9fRElSKFtub3QtZXhpc3Rd KSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90LWV4aXN0ClBBU1M6IHQvYWNsb2NhbC1t YWNyb2Rpci50YXAgNiAtIEFDX0NPTkZJR19NQUNST19ESVIoW25vdC1leGlzdF0pIGFuZCBB Q0xPQ0FMX0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBv aworIHJtIC1yZiA2LmQKKyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyBl Y2hvIEFDX0lOSVQgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBhdXRvY29uZiAtby9kZXYvbnVs bCAtCi9kZXYvbnVsbDoxNjcxOiBlcnJvcjogcG9zc2libHkgdW5kZWZpbmVkIG1hY3JvOiBB Q19DT05GSUdfTUFDUk9fRElSUwogICAgICBJZiB0aGlzIHRva2VuIGFuZCBvdGhlcnMgYXJl IGxlZ2l0aW1hdGUsIHBsZWFzZSB1c2UgbTRfcGF0dGVybl9hbGxvdy4KICAgICAgU2VlIHRo ZSBBdXRvY29uZiBkb2N1bWVudGF0aW9uLgorIHNraXBfIC1yIGF1dG9jb25mIGlzIHRvbyBv bGQgKEFDX0NPTkZJR19NQUNST19ESVJTIG5vdCBkZWZpbmVkKQorIHJlc3VsdF8gb2sgLUQg U0tJUCAtciBhdXRvY29uZiBpcyB0b28gb2xkIChBQ19DT05GSUdfTUFDUk9fRElSUyBub3Qg ZGVmaW5lZCkKKyBzZXQgK3gKb2sgNyAjIFNLSVAgYXV0b2NvbmYgaXMgdG9vIG9sZCAoQUNf Q09ORklHX01BQ1JPX0RJUlMgbm90IGRlZmluZWQpClNLSVA6IHQvYWNsb2NhbC1tYWNyb2Rp ci50YXAgNyAjIFNLSVAgYXV0b2NvbmYgaXMgdG9vIG9sZCAoQUNfQ09ORklHX01BQ1JPX0RJ UlMgbm90IGRlZmluZWQpCisgOgorIGFtX2V4aXRfdHJhcCAwCisgZXhpdF9zdGF0dXM9MAor IHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0 ZXN0IHRhcCA9IHRhcAorIHRlc3QgNyA9IGxhdGVyCisgdGVzdCAwIC1lcSAwCisgdGVzdCA2 IC1lcSA3Cisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDAKKyBzZXQgK3gKClBBU1M6IHQvYWNsb2NhbC1tYWNyb2RpcnMKPT09PT09PT09PT09 PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90 b2NvbDogdGFwClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L2JpbjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUv aHYvYmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJl L1NUTTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUt ZWFiaS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMu ZGlyCisgcGxhbl8gMTUKKyB0ZXN0IDEgLWVxIDAKKyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHhu b25lICE9IHhub25lCisgdGVzdCB4MTUgPSB4dW5rbm93bgorIHRlc3QgeDE1ID0geGxhdGVy CisgdGVzdCB4MTUgPSB4bGF6eQorIHRlc3QgeDE1ID0geG5vdworIHRlc3QgMTUgLWdlIDAK KyBwbGFubmVkXz0xNQorIGVjaG8gMS4uMTUKMS4uMTUKKyBwd2QKKyBvY3dkPS9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIK KyB1bnNldCBBQ0xPQ0FMX1BBVEgKKyB0Y291bnQ9MAorIHI9aW52YWxpZAorIGRlc2NyaXB0 aW9uPQorIGRpcmVjdGl2ZT0KKyB0ZXN0X2JlZ2luIEFDX0NPTkZJR19NQUNST19ESVJTIGlz IGhvbm9yZWQKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFD Uk9fRElSUyBpcyBob25vcmVkCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JP X0RJUlMgaXMgaG9ub3JlZAorIHNoaWZ0CisgdGNvdW50PTEKKyB0ZXN0IDEgLWd0IDAKKyBt a2RpciAxLmQKKyBjZCAxLmQKKyBjYXQKKyBta2RpciBtYWNyby1kaXIKKyBlY2hvIEFDX0RF RlVOKFtNWV9GT09dLCBbOjpteTo6Zm9vOjpdKQorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisg L2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW21hY3JvLWRpci9mb28ubTRdKSBhY2xvY2FsLm00 Cm00X2luY2x1ZGUoW21hY3JvLWRpci9mb28ubTRdKQorIGF1dG9jb25mCisgbm90IC9iaW4v Z3JlcCAtRiBNWV9GT08gY29uZmlndXJlCisgL2Jpbi9ncmVwIC1GIE1ZX0ZPTyBjb25maWd1 cmUKKyAvYmluL2dyZXAgLUYgOjpteTo6Zm9vOjogY29uZmlndXJlCjo6bXk6OmZvbzo6Cisg dGVzdF9lbmQKKyB0ZXN0IC16IEFDX0NPTkZJR19NQUNST19ESVJTIGlzIGhvbm9yZWQKKyBj ZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNy b2RpcnMuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gQUNfQ09ORklHX01BQ1JPX0RJUlMgaXMg aG9ub3JlZAorIHNldCAreApvayAxIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgaXMgaG9ub3Jl ZApQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCAxIC0gQUNfQ09ORklHX01BQ1JPX0RJ UlMgaXMgaG9ub3JlZAorIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDEuZAor IHI9aW52YWxpZCBkaXJlY3RpdmU9IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNfQ09O RklHX01BQ1JPX0RJUlMgc2V2ZXJhbCBhcmd1bWVudHMKKyB0ZXN0IC1uIAorIHI9b2sKKyBk ZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGFyZ3VtZW50cworIGRp cmVjdGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgYXJndW1lbnRz Cisgc2hpZnQKKyB0Y291bnQ9MgorIHRlc3QgMiAtZ3QgMAorIG1rZGlyIDIuZAorIGNkIDIu ZAorIGNhdAorIHRocmVlX2RpcnNfY2hlY2sKKyBta2RpciBkaXIxIGRpcjIgZGlyMworIGVj aG8gQUNfREVGVU4oW01ZX0ZPT10sIFs6Om15Ojpmb286Ol0pCisgZWNobyBBQ19ERUZVTihb TVlfQkFSXSwgWyEhbXkhIWJhciEhXSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVpdLCBbPT1t eT09YmF6PT1dKQorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgL2Jpbi9ncmVwIC1GIG00X2lu Y2x1ZGUoW2RpcjEvZm9vLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIxL2Zvby5t NF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkgYWNsb2NhbC5t NAptNF9pbmNsdWRlKFtkaXIyL3phcC5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUo W2RpcjMvMC5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMy8wLm00XSkKKyBhdXRv Y29uZgorIG5vdCAvYmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUKKyAv YmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUKKyAvYmluL2dyZXAgLUYg OjpteTo6Zm9vOjogY29uZmlndXJlCjo6bXk6OmZvbzo6CisgL2Jpbi9ncmVwIC1GICEhbXkh IWJhciEhIGNvbmZpZ3VyZQohIW15ISFiYXIhIQorIC9iaW4vZ3JlcCAtRiA9PW15PT1iYXo9 PSBjb25maWd1cmUKPT1teT09YmF6PT0KKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklH X01BQ1JPX0RJUlMgc2V2ZXJhbCBhcmd1bWVudHMKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBv ayAtRCAgLS0gQUNfQ09ORklHX01BQ1JPX0RJUlMgc2V2ZXJhbCBhcmd1bWVudHMKKyBzZXQg K3gKb2sgMiAtIEFDX0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgYXJndW1lbnRzClBBU1M6 IHQvYWNsb2NhbC1tYWNyb2RpcnMudGFwIDIgLSBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZl cmFsIGFyZ3VtZW50cworIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDIuZAor IHI9aW52YWxpZCBkaXJlY3RpdmU9IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNfQ09O RklHX01BQ1JPX0RJUlMgc2V2ZXJhbCBjYWxscworIHRlc3QgLW4gCisgcj1vaworIGRlc2Ny aXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVJTIHNldmVyYWwgY2FsbHMKKyBkaXJlY3RpdmU9 CisgZWNobyBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGNhbGxzCisgc2hpZnQKKyB0 Y291bnQ9MworIHRlc3QgMyAtZ3QgMAorIG1rZGlyIDMuZAorIGNkIDMuZAorIGNhdAorIHRo cmVlX2RpcnNfY2hlY2sKKyBta2RpciBkaXIxIGRpcjIgZGlyMworIGVjaG8gQUNfREVGVU4o W01ZX0ZPT10sIFs6Om15Ojpmb286Ol0pCisgZWNobyBBQ19ERUZVTihbTVlfQkFSXSwgWyEh bXkhIWJhciEhXSkKKyBlY2hvIEFDX0RFRlVOKFtNWV9CQVpdLCBbPT1teT09YmF6PT1dKQor IGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjEv Zm9vLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIxL2Zvby5tNF0pCisgL2Jpbi9n cmVwIC1GIG00X2luY2x1ZGUoW2RpcjIvemFwLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRl KFtkaXIyL3phcC5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjMvMC5tNF0p IGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMy8wLm00XSkKKyBhdXRvY29uZgorIG5vdCAv YmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUKKyAvYmluL2dyZXAgLUUg TVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUKKyAvYmluL2dyZXAgLUYgOjpteTo6Zm9vOjog Y29uZmlndXJlCjo6bXk6OmZvbzo6CisgL2Jpbi9ncmVwIC1GICEhbXkhIWJhciEhIGNvbmZp Z3VyZQohIW15ISFiYXIhIQorIC9iaW4vZ3JlcCAtRiA9PW15PT1iYXo9PSBjb25maWd1cmUK PT1teT09YmF6PT0KKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09ORklHX01BQ1JPX0RJUlMg c2V2ZXJhbCBjYWxscworIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSBBQ19DT05G SUdfTUFDUk9fRElSUyBzZXZlcmFsIGNhbGxzCisgc2V0ICt4Cm9rIDMgLSBBQ19DT05GSUdf TUFDUk9fRElSUyBzZXZlcmFsIGNhbGxzClBBU1M6IHQvYWNsb2NhbC1tYWNyb2RpcnMudGFw IDMgLSBBQ19DT05GSUdfTUFDUk9fRElSUyBzZXZlcmFsIGNhbGxzCisgdGVzdCAteiAKKyB0 ZXN0IG9rID0gb2sKKyBybSAtcmYgMy5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3Jp cHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyBleHRyYSB3aGl0ZXNw YWNlCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJ UlMgZXh0cmEgd2hpdGVzcGFjZQorIGRpcmVjdGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNS T19ESVJTIGV4dHJhIHdoaXRlc3BhY2UKKyBzaGlmdAorIHRjb3VudD00CisgdGVzdCA0IC1n dCAwCisgbWtkaXIgNC5kCisgY2QgNC5kCisgYnNsYXNoPVwKKyBjYXQKKyB0aHJlZV9kaXJz X2NoZWNrCisgbWtkaXIgZGlyMSBkaXIyIGRpcjMKKyBlY2hvIEFDX0RFRlVOKFtNWV9GT09d LCBbOjpteTo6Zm9vOjpdKQorIGVjaG8gQUNfREVGVU4oW01ZX0JBUl0sIFshIW15ISFiYXIh IV0pCisgZWNobyBBQ19ERUZVTihbTVlfQkFaXSwgWz09bXk9PWJhej09XSkKKyBhY2xvY2Fs LTEuMTYgLVdlcnJvcgorIC9iaW4vZ3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIxL2Zvby5tNF0p IGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMS9mb28ubTRdKQorIC9iaW4vZ3JlcCAtRiBt NF9pbmNsdWRlKFtkaXIyL3phcC5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMi96 YXAubTRdKQorIC9iaW4vZ3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIzLzAubTRdKSBhY2xvY2Fs Lm00Cm00X2luY2x1ZGUoW2RpcjMvMC5tNF0pCisgYXV0b2NvbmYKKyBub3QgL2Jpbi9ncmVw IC1FIE1ZXyhGT098QkFSfEJBWikgY29uZmlndXJlCisgL2Jpbi9ncmVwIC1FIE1ZXyhGT098 QkFSfEJBWikgY29uZmlndXJlCisgL2Jpbi9ncmVwIC1GIDo6bXk6OmZvbzo6IGNvbmZpZ3Vy ZQo6Om15Ojpmb286OgorIC9iaW4vZ3JlcCAtRiAhIW15ISFiYXIhISBjb25maWd1cmUKISFt eSEhYmFyISEKKyAvYmluL2dyZXAgLUYgPT1teT09YmF6PT0gY29uZmlndXJlCj09bXk9PWJh ej09CisgdGVzdF9lbmQKKyB0ZXN0IC16IEFDX0NPTkZJR19NQUNST19ESVJTIGV4dHJhIHdo aXRlc3BhY2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv YWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gQUNfQ09ORklHX01B Q1JPX0RJUlMgZXh0cmEgd2hpdGVzcGFjZQorIHNldCAreApvayA0IC0gQUNfQ09ORklHX01B Q1JPX0RJUlMgZXh0cmEgd2hpdGVzcGFjZQpQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRh cCA0IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgZXh0cmEgd2hpdGVzcGFjZQorIHRlc3QgLXog CisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDQuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9IGRl c2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNfQ09ORklHX01BQ1JPX0RJUlMgcHJlY2VkZW5j ZQorIHRlc3QgLW4gCisgcj1vaworIGRlc2NyaXB0aW9uPUFDX0NPTkZJR19NQUNST19ESVJT IHByZWNlZGVuY2UKKyBkaXJlY3RpdmU9CisgZWNobyBBQ19DT05GSUdfTUFDUk9fRElSUyBw cmVjZWRlbmNlCisgc2hpZnQKKyB0Y291bnQ9NQorIHRlc3QgNSAtZ3QgMAorIG1rZGlyIDUu ZAorIGNkIDUuZAorIGNhdAorIG1rZGlyIGRpcjEgZGlyMiBkaXIzCisgZWNobyBBQ19ERUZV TihbTVlfRk9PXSwgW09LLUZvb10pCisgZWNobyBBQ19ERUZVTihbTVlfRk9PXSwgW0tPLUZv b10pCisgZWNobyBBQ19ERUZVTihbTVlfQkFSXSwgW09LLUJhcl0pCisgZWNobyBBQ19ERUZV TihbTVlfQkFSXSwgW0tPLUJhcl0pCisgZWNobyBBQ19ERUZVTihbTVlfQkFaXSwgW09LLUJh el0pCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShb ZGlyMS9iLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIxL2IubTRdKQorIC9iaW4v Z3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIyLzEubTRdKSBhY2xvY2FsLm00Cm00X2luY2x1ZGUo W2RpcjIvMS5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjMveC5tNF0pIGFj bG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMy94Lm00XSkKKyAvYmluL2dyZXAgLUYgLWMgbTRf aW5jbHVkZShbZGlyMSBhY2xvY2FsLm00CisgdGVzdCAxIC1lcSAxCisgL2Jpbi9ncmVwIC1G IC1jIG00X2luY2x1ZGUoW2RpcjIgYWNsb2NhbC5tNAorIHRlc3QgMSAtZXEgMQorIC9iaW4v Z3JlcCAtRiAtYyBtNF9pbmNsdWRlKFtkaXIzIGFjbG9jYWwubTQKKyB0ZXN0IDEgLWVxIDEK KyBhdXRvY29uZgorIG5vdCAvYmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1 cmUKKyAvYmluL2dyZXAgLUUgTVlfKEZPT3xCQVJ8QkFaKSBjb25maWd1cmUKKyAvYmluL2dy ZXAgLUYgT0stRm9vIGNvbmZpZ3VyZQpPSy1Gb28KKyAvYmluL2dyZXAgLUYgT0stQmFyIGNv bmZpZ3VyZQpPSy1CYXIKKyAvYmluL2dyZXAgLUYgT0stQmF6IGNvbmZpZ3VyZQpPSy1CYXoK KyBub3QgL2Jpbi9ncmVwIC1GIEtPLSBjb25maWd1cmUKKyAvYmluL2dyZXAgLUYgS08tIGNv bmZpZ3VyZQorIHRlc3RfZW5kCisgdGVzdCAteiBBQ19DT05GSUdfTUFDUk9fRElSUyBwcmVj ZWRlbmNlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2Fj bG9jYWwtbWFjcm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNS T19ESVJTIHByZWNlZGVuY2UKKyBzZXQgK3gKb2sgNSAtIEFDX0NPTkZJR19NQUNST19ESVJT IHByZWNlZGVuY2UKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlycy50YXAgNSAtIEFDX0NPTkZJ R19NQUNST19ESVJTIHByZWNlZGVuY2UKKyB0ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJt IC1yZiA1LmQKKyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2Jl Z2luIEFDX0NPTkZJR19NQUNST19ESVJTIGludGVyYWN0aW9uIHdpdGggLS1pbnN0YWxsCisg dGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJUlMgaW50 ZXJhY3Rpb24gd2l0aCAtLWluc3RhbGwKKyBkaXJlY3RpdmU9CisgZWNobyBBQ19DT05GSUdf TUFDUk9fRElSUyBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbAorIHNoaWZ0CisgdGNvdW50 PTYKKyB0ZXN0IDYgLWd0IDAKKyBta2RpciA2LmQKKyBjZCA2LmQKKyBjYXQKKyBta2RpciBz eXMtZGlyIHRoZS1kaXIKKyBlY2hvIEFDX0RFRlVOKFtUSEVfTUFDUk9dLCBbOl0pCisgdGVz dCAhIC1yIHRoZS1kaXIvbXkubTQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtLWluc3RhbGwg LS1zeXN0ZW0tYWNkaXIgLi9zeXMtZGlyCmFjbG9jYWwtMS4xNjogaW5zdGFsbGluZyAndGhl LWRpci9teS5tNCcgZnJvbSAnc3lzLWRpci9teS5tNCcKKyBkaWZmIHN5cy1kaXIvbXkubTQg dGhlLWRpci9teS5tNAorIHRlc3RfZW5kCisgdGVzdCAteiBBQ19DT05GSUdfTUFDUk9fRElS UyBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFsbAorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIKKyByZXN1bHRfIG9r IC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyBpbnRlcmFjdGlvbiB3aXRoIC0taW5zdGFs bAorIHNldCAreApvayA2IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMgaW50ZXJhY3Rpb24gd2l0 aCAtLWluc3RhbGwKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlycy50YXAgNiAtIEFDX0NPTkZJ R19NQUNST19ESVJTIGludGVyYWN0aW9uIHdpdGggLS1pbnN0YWxsCisgdGVzdCAteiAKKyB0 ZXN0IG9rID0gb2sKKyBybSAtcmYgNi5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3Jp cHRpb249CisgdGVzdF9iZWdpbiBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGFyZ3Vt ZW50cyBhbmQgLS1pbnN0YWxsCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249c2V2 ZXJhbCBBQ19DT05GSUdfTUFDUk9fRElSUyBhcmd1bWVudHMgYW5kIC0taW5zdGFsbAorIGRp cmVjdGl2ZT0KKyBlY2hvIHNldmVyYWwgQUNfQ09ORklHX01BQ1JPX0RJUlMgYXJndW1lbnRz IGFuZCAtLWluc3RhbGwKKyBzaGlmdAorIHRjb3VudD03CisgdGVzdCA3IC1ndCAwCisgbWtk aXIgNy5kCisgY2QgNy5kCisgY2F0CisgdHdvX2RpcnNfaW5zdGFsbF9jaGVjaworIG1rZGly IHN5cy1kaXIgZGlyMSBkaXIyCisgZWNobyBBQ19ERUZVTihbVEhFX01BQ1JPXSwgWzpdKQor IGVjaG8gQUNfREVGVU4oW0FYX0ZPT10sIFs6XSkKKyB0ZXN0ICEgLXIgZGlyMS9teS5tNAor IGFjbG9jYWwtMS4xNiAtV2Vycm9yIC0taW5zdGFsbCAtLXN5c3RlbS1hY2RpciAuL3N5cy1k aXIKYWNsb2NhbC0xLjE2OiBpbnN0YWxsaW5nICdkaXIxL215Lm00JyBmcm9tICdzeXMtZGly L215Lm00JworIGRpZmYgc3lzLWRpci9teS5tNCBkaXIxL215Lm00CisgdGVzdCAhIC1lIGRp cjIvbXkubTQKKyAvYmluL2dyZXAgLUYgbTRfaW5jbHVkZShbZGlyMS9teS5tNF0pIGFjbG9j YWwubTQKbTRfaW5jbHVkZShbZGlyMS9teS5tNF0pCisgL2Jpbi9ncmVwIC1GIG00X2luY2x1 ZGUoW2RpcjIvemFwLm00XSkgYWNsb2NhbC5tNAptNF9pbmNsdWRlKFtkaXIyL3phcC5tNF0p CisgdGVzdF9lbmQKKyB0ZXN0IC16IHNldmVyYWwgQUNfQ09ORklHX01BQ1JPX0RJUlMgYXJn dW1lbnRzIGFuZCAtLWluc3RhbGwKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0g c2V2ZXJhbCBBQ19DT05GSUdfTUFDUk9fRElSUyBhcmd1bWVudHMgYW5kIC0taW5zdGFsbAor IHNldCAreApvayA3IC0gc2V2ZXJhbCBBQ19DT05GSUdfTUFDUk9fRElSUyBhcmd1bWVudHMg YW5kIC0taW5zdGFsbApQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCA3IC0gc2V2ZXJh bCBBQ19DT05GSUdfTUFDUk9fRElSUyBhcmd1bWVudHMgYW5kIC0taW5zdGFsbAorIHRlc3Qg LXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDcuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9 IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gc2V2ZXJhbCBBQ19DT05GSUdfTUFDUk9fRElS UyBjYWxscyBhbmQgLS1pbnN0YWxsCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249 c2V2ZXJhbCBBQ19DT05GSUdfTUFDUk9fRElSUyBjYWxscyBhbmQgLS1pbnN0YWxsCisgZGly ZWN0aXZlPQorIGVjaG8gc2V2ZXJhbCBBQ19DT05GSUdfTUFDUk9fRElSUyBjYWxscyBhbmQg LS1pbnN0YWxsCisgc2hpZnQKKyB0Y291bnQ9OAorIHRlc3QgOCAtZ3QgMAorIG1rZGlyIDgu ZAorIGNkIDguZAorIGNhdAorIHR3b19kaXJzX2luc3RhbGxfY2hlY2sKKyBta2RpciBzeXMt ZGlyIGRpcjEgZGlyMgorIGVjaG8gQUNfREVGVU4oW1RIRV9NQUNST10sIFs6XSkKKyBlY2hv IEFDX0RFRlVOKFtBWF9GT09dLCBbOl0pCisgdGVzdCAhIC1yIGRpcjEvbXkubTQKKyBhY2xv Y2FsLTEuMTYgLVdlcnJvciAtLWluc3RhbGwgLS1zeXN0ZW0tYWNkaXIgLi9zeXMtZGlyCmFj bG9jYWwtMS4xNjogaW5zdGFsbGluZyAnZGlyMS9teS5tNCcgZnJvbSAnc3lzLWRpci9teS5t NCcKKyBkaWZmIHN5cy1kaXIvbXkubTQgZGlyMS9teS5tNAorIHRlc3QgISAtZSBkaXIyL215 Lm00CisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjEvbXkubTRdKSBhY2xvY2FsLm00 Cm00X2luY2x1ZGUoW2RpcjEvbXkubTRdKQorIC9iaW4vZ3JlcCAtRiBtNF9pbmNsdWRlKFtk aXIyL3phcC5tNF0pIGFjbG9jYWwubTQKbTRfaW5jbHVkZShbZGlyMi96YXAubTRdKQorIHRl c3RfZW5kCisgdGVzdCAteiBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGNhbGxzIGFu ZCAtLWluc3RhbGwKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gc2V2ZXJhbCBB Q19DT05GSUdfTUFDUk9fRElSUyBjYWxscyBhbmQgLS1pbnN0YWxsCisgc2V0ICt4Cm9rIDgg LSBzZXZlcmFsIEFDX0NPTkZJR19NQUNST19ESVJTIGNhbGxzIGFuZCAtLWluc3RhbGwKUEFT UzogdC9hY2xvY2FsLW1hY3JvZGlycy50YXAgOCAtIHNldmVyYWwgQUNfQ09ORklHX01BQ1JP X0RJUlMgY2FsbHMgYW5kIC0taW5zdGFsbAorIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisg cm0gLXJmIDguZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9IGRlc2NyaXB0aW9uPQorIHRlc3Rf YmVnaW4gJy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NPTkZJR19NQUNST19ESVJTCisgdGVz dCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249Jy1JJyBvcHRpb24gd2lucyBvdmVyIEFDX0NP TkZJR19NQUNST19ESVJTCisgZGlyZWN0aXZlPQorIGVjaG8gJy1JJyBvcHRpb24gd2lucyBv dmVyIEFDX0NPTkZJR19NQUNST19ESVJTCisgc2hpZnQKKyB0Y291bnQ9OQorIHRlc3QgOSAt Z3QgMAorIG1rZGlyIDkuZAorIGNkIDkuZAorIGNhdAorIG1rZGlyIGRpcjEgZGlyMgorIGVj aG8gQUNfREVGVU4oW01ZX0ZPT10sIFs6OmtvOjprbzo6XSkKKyBlY2hvIEFDX0RFRlVOKFtN WV9GT09dLCBbOjpvazo6b2s6Ol0pCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLUkgZGlyMgor IC9iaW4vZ3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIyLzIubTRdKSBhY2xvY2FsLm00Cm00X2lu Y2x1ZGUoW2RpcjIvMi5tNF0pCisgbm90IC9iaW4vZ3JlcCAtRiBtNF9pbmNsdWRlKFtkaXIx LzEubTRdKSBhY2xvY2FsLm00CisgL2Jpbi9ncmVwIC1GIG00X2luY2x1ZGUoW2RpcjEvMS5t NF0pIGFjbG9jYWwubTQKKyBhdXRvY29uZgorIG5vdCAvYmluL2dyZXAgLUYgOjprbzo6a286 OiBjb25maWd1cmUKKyAvYmluL2dyZXAgLUYgOjprbzo6a286OiBjb25maWd1cmUKKyAvYmlu L2dyZXAgLUYgOjpvazo6b2s6OiBjb25maWd1cmUKOjpvazo6b2s6OgorIHRlc3RfZW5kCisg dGVzdCAteiAnLUknIG9wdGlvbiB3aW5zIG92ZXIgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBj ZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYWNsb2NhbC1tYWNy b2RpcnMuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gJy1JJyBvcHRpb24gd2lucyBvdmVyIEFD X0NPTkZJR19NQUNST19ESVJTCisgc2V0ICt4Cm9rIDkgLSAnLUknIG9wdGlvbiB3aW5zIG92 ZXIgQUNfQ09ORklHX01BQ1JPX0RJUlMKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlycy50YXAg OSAtICctSScgb3B0aW9uIHdpbnMgb3ZlciBBQ19DT05GSUdfTUFDUk9fRElSUworIHRlc3Qg LXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDkuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9 IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVnaW4gQUNfQ09ORklHX01BQ1JPX0RJUlMoW2Zvb10p IGNhbiBjcmVhdGUgZGlyZWN0b3J5ICdmb28nCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3Jp cHRpb249QUNfQ09ORklHX01BQ1JPX0RJUlMoW2Zvb10pIGNhbiBjcmVhdGUgZGlyZWN0b3J5 ICdmb28nCisgZGlyZWN0aXZlPQorIGVjaG8gQUNfQ09ORklHX01BQ1JPX0RJUlMoW2Zvb10p IGNhbiBjcmVhdGUgZGlyZWN0b3J5ICdmb28nCisgc2hpZnQKKyB0Y291bnQ9MTAKKyB0ZXN0 IDEwIC1ndCAwCisgbWtkaXIgMTAuZAorIGNkIDEwLmQKKyBjYXQKKyBta2RpciBhY2Rpcgor IGVjaG8gQUNfREVGVU4oW01ZX01BQ1JPXSwgWzpdKQorIHRlc3QgISAtZCBmb28KKyBhY2xv Y2FsLTEuMTYgLVdlcnJvciAtLWluc3RhbGwgLS1zeXN0ZW0tYWNkaXIgLi9hY2RpcgphY2xv Y2FsLTEuMTY6IGluc3RhbGxpbmcgJ2Zvby9iYXIubTQnIGZyb20gJ2FjZGlyL2Jhci5tNCcK KyBkaWZmIGFjZGlyL2Jhci5tNCBmb28vYmFyLm00CisgdGVzdF9lbmQKKyB0ZXN0IC16IEFD X0NPTkZJR19NQUNST19ESVJTKFtmb29dKSBjYW4gY3JlYXRlIGRpcmVjdG9yeSAnZm9vJwor IGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1h Y3JvZGlycy5kaXIKKyByZXN1bHRfIG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyhb Zm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyBzZXQgK3gKb2sgMTAgLSBBQ19D T05GSUdfTUFDUk9fRElSUyhbZm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKUEFT UzogdC9hY2xvY2FsLW1hY3JvZGlycy50YXAgMTAgLSBBQ19DT05GSUdfTUFDUk9fRElSUyhb Zm9vXSkgY2FuIGNyZWF0ZSBkaXJlY3RvcnkgJ2ZvbycKKyB0ZXN0IC16IAorIHRlc3Qgb2sg PSBvaworIHJtIC1yZiAxMC5kCisgcj1pbnZhbGlkIGRpcmVjdGl2ZT0gZGVzY3JpcHRpb249 CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50XSkgd2Fy bnMgKDEpCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JP X0RJUlMoW25vbi1leGlzdGVudF0pIHdhcm5zICgxKQorIGRpcmVjdGl2ZT0KKyBlY2hvIEFD X0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMSkKKyBzaGlmdAor IHRjb3VudD0xMQorIHRlc3QgMTEgLWd0IDAKKyBta2RpciAxMS5kCisgY2QgMTEuZAorIGNh dAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yIC1Xbm8tZXJyb3IKKyBjYXQgc3RkZXJyCmFjbG9j YWwtMS4xNjogd2FybmluZzogY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ25vbi1leGlzdGVu dCc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKKyBncmVwIGNvdWxkbid0IG9wZW4gZGly ZWN0b3J5ICdub24tZXhpc3RlbnQnIHN0ZGVycgphY2xvY2FsLTEuMTY6IHdhcm5pbmc6IGNv dWxkbid0IG9wZW4gZGlyZWN0b3J5ICdub24tZXhpc3RlbnQnOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CisgdGVzdCAtZiBhY2xvY2FsLm00Cisgcm0gLXJmIGFjbG9jYWwubTQgYXV0 b200dGUuY2FjaGUKKyBhY2xvY2FsLTEuMTYgLVdlcnJvciAtV2Vycm9yIC1Xbm8tdW5zdXBw b3J0ZWQKKyB0ZXN0IC1mIGFjbG9jYWwubTQKKyB0ZXN0X2VuZAorIHRlc3QgLXogQUNfQ09O RklHX01BQ1JPX0RJUlMoW25vbi1leGlzdGVudF0pIHdhcm5zICgxKQorIGNkIC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hY2xvY2FsLW1hY3JvZGlycy5kaXIK KyByZXN1bHRfIG9rIC1EICAtLSBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm9uLWV4aXN0ZW50 XSkgd2FybnMgKDEpCisgc2V0ICt4Cm9rIDExIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25v bi1leGlzdGVudF0pIHdhcm5zICgxKQpQQVNTOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRhcCAx MSAtIEFDX0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMSkKKyB0 ZXN0IC16IAorIHRlc3Qgb2sgPSBvaworIHJtIC1yZiAxMS5kCisgcj1pbnZhbGlkIGRpcmVj dGl2ZT0gZGVzY3JpcHRpb249CisgdGVzdF9iZWdpbiBBQ19DT05GSUdfTUFDUk9fRElSUyhb bm9uLWV4aXN0ZW50XSkgd2FybnMgKDIpCisgdGVzdCAtbiAKKyByPW9rCisgZGVzY3JpcHRp b249QUNfQ09ORklHX01BQ1JPX0RJUlMoW25vbi1leGlzdGVudF0pIHdhcm5zICgyKQorIGRp cmVjdGl2ZT0KKyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3 YXJucyAoMikKKyBzaGlmdAorIHRjb3VudD0xMgorIHRlc3QgMTIgLWd0IDAKKyBta2RpciAx Mi5kCisgY2QgMTIuZAorIGNhdAorIG1rZGlyIGRpci1vaworIG5vdCBhY2xvY2FsLTEuMTYg LVdlcnJvcgorIGNhdCBzdGRlcnIKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgphY2xvY2FsLTEu MTY6IGVycm9yOiBjb3VsZG4ndCBvcGVuIGRpcmVjdG9yeSAnZGlyLWtvJzogTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeQorIGdyZXAgY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ2Rpci1r bycgc3RkZXJyCmFjbG9jYWwtMS4xNjogZXJyb3I6IGNvdWxkbid0IG9wZW4gZGlyZWN0b3J5 ICdkaXIta28nOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cisgbm90IGdyZXAgZGlyLW9r IHN0ZGVycgorIGdyZXAgZGlyLW9rIHN0ZGVycgorIHRlc3QgISAtZSBhY2xvY2FsLm00Cisg dGVzdF9lbmQKKyB0ZXN0IC16IEFDX0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRd KSB3YXJucyAoMikKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYWNsb2NhbC1tYWNyb2RpcnMuZGlyCisgcmVzdWx0XyBvayAtRCAgLS0gQUNfQ09ORklH X01BQ1JPX0RJUlMoW25vbi1leGlzdGVudF0pIHdhcm5zICgyKQorIHNldCAreApvayAxMiAt IEFDX0NPTkZJR19NQUNST19ESVJTKFtub24tZXhpc3RlbnRdKSB3YXJucyAoMikKUEFTUzog dC9hY2xvY2FsLW1hY3JvZGlycy50YXAgMTIgLSBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm9u LWV4aXN0ZW50XSkgd2FybnMgKDIpCisgdGVzdCAteiAKKyB0ZXN0IG9rID0gb2sKKyBybSAt cmYgMTIuZAorIHI9aW52YWxpZCBkaXJlY3RpdmU9IGRlc2NyaXB0aW9uPQorIHRlc3RfYmVn aW4gQUNfQ09ORklHX01BQ1JPX0RJUlMoW2V4aXN0ZW50IG5vbi1leGlzdGVudF0pIGVycm9y cyBvdXQKKyB0ZXN0IC1uIAorIHI9b2sKKyBkZXNjcmlwdGlvbj1BQ19DT05GSUdfTUFDUk9f RElSUyhbZXhpc3RlbnQgbm9uLWV4aXN0ZW50XSkgZXJyb3JzIG91dAorIGRpcmVjdGl2ZT0K KyBlY2hvIEFDX0NPTkZJR19NQUNST19ESVJTKFtleGlzdGVudCBub24tZXhpc3RlbnRdKSBl cnJvcnMgb3V0Cisgc2hpZnQKKyB0Y291bnQ9MTMKKyB0ZXN0IDEzIC1ndCAwCisgbWtkaXIg MTMuZAorIGNkIDEzLmQKKyBjYXQKKyBta2RpciBkaXItb2sKKyBub3QgYWNsb2NhbC0xLjE2 IC1XZXJyb3IgLVdub25lIC0taW5zdGFsbAorIGNhdCBzdGRlcnIKKyBhY2xvY2FsLTEuMTYg LVdlcnJvciAtV25vbmUgLS1pbnN0YWxsCmFjbG9jYWwtMS4xNjogZXJyb3I6IGNvdWxkbid0 IG9wZW4gZGlyZWN0b3J5ICdkaXIta28nOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cisg Z3JlcCBjb3VsZG4ndCBvcGVuIGRpcmVjdG9yeSAnZGlyLWtvJyBzdGRlcnIKYWNsb2NhbC0x LjE2OiBlcnJvcjogY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ2Rpci1rbyc6IE5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkKKyB0ZXN0ICEgLWUgZGlyLWtvCisgdGVzdF9lbmQKKyB0ZXN0 IC16IEFDX0NPTkZJR19NQUNST19ESVJTKFtleGlzdGVudCBub24tZXhpc3RlbnRdKSBlcnJv cnMgb3V0CisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2Fj bG9jYWwtbWFjcm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNS T19ESVJTKFtleGlzdGVudCBub24tZXhpc3RlbnRdKSBlcnJvcnMgb3V0Cisgc2V0ICt4Cm9r IDEzIC0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW2V4aXN0ZW50IG5vbi1leGlzdGVudF0pIGVy cm9ycyBvdXQKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlycy50YXAgMTMgLSBBQ19DT05GSUdf TUFDUk9fRElSUyhbZXhpc3RlbnQgbm9uLWV4aXN0ZW50XSkgZXJyb3JzIG91dAorIHRlc3Qg LXogCisgdGVzdCBvayA9IG9rCisgcm0gLXJmIDEzLmQKKyByPWludmFsaWQgZGlyZWN0aXZl PSBkZXNjcmlwdGlvbj0KKyB0ZXN0X2JlZ2luIEFDX0NPTkZJR19NQUNST19ESVJTKFtub3Qt ZXhpc3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90LWV4aXN0CisgdGVzdCAtbiAK KyByPW9rCisgZGVzY3JpcHRpb249QUNfQ09ORklHX01BQ1JPX0RJUlMoW25vdC1leGlzdF0p IGFuZCBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKKyBkaXJlY3RpdmU9CisgZWNo byBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxfQU1GTEFH UyA9IC1JIG5vdC1leGlzdAorIHNoaWZ0CisgdGNvdW50PTE0CisgdGVzdCAxNCAtZ3QgMAor IG1rZGlyIDE0LmQKKyBjZCAxNC5kCisgY2F0CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJy b3IgLVduby1lcnJvcgorIGNhdCBzdGRlcnIKYWNsb2NhbC0xLjE2OiB3YXJuaW5nOiBjb3Vs ZG4ndCBvcGVuIGRpcmVjdG9yeSAnbm90LWV4aXN0JzogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQorIGdyZXAgLWMgY291bGRuJ3Qgb3BlbiBkaXJlY3RvcnkgJ25vdC1leGlzdCcgc3Rk ZXJyCisgdGVzdCAxIC1lcSAxCisgdGVzdF9lbmQKKyB0ZXN0IC16IEFDX0NPTkZJR19NQUNS T19ESVJTKFtub3QtZXhpc3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90LWV4aXN0 CisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2FjbG9jYWwt bWFjcm9kaXJzLmRpcgorIHJlc3VsdF8gb2sgLUQgIC0tIEFDX0NPTkZJR19NQUNST19ESVJT KFtub3QtZXhpc3RdKSBhbmQgQUNMT0NBTF9BTUZMQUdTID0gLUkgbm90LWV4aXN0Cisgc2V0 ICt4Cm9rIDE0IC0gQUNfQ09ORklHX01BQ1JPX0RJUlMoW25vdC1leGlzdF0pIGFuZCBBQ0xP Q0FMX0FNRkxBR1MgPSAtSSBub3QtZXhpc3QKUEFTUzogdC9hY2xvY2FsLW1hY3JvZGlycy50 YXAgMTQgLSBBQ19DT05GSUdfTUFDUk9fRElSUyhbbm90LWV4aXN0XSkgYW5kIEFDTE9DQUxf QU1GTEFHUyA9IC1JIG5vdC1leGlzdAorIHRlc3QgLXogCisgdGVzdCBvayA9IG9rCisgcm0g LXJmIDE0LmQKKyByPWludmFsaWQgZGlyZWN0aXZlPSBkZXNjcmlwdGlvbj0KKyBlY2hvIEFD X0lOSVQgQUNfQ09ORklHX01BQ1JPX0RJUlMKKyBhdXRvY29uZiAtby9kZXYvbnVsbCAtCi9k ZXYvbnVsbDoxNjcxOiBlcnJvcjogcG9zc2libHkgdW5kZWZpbmVkIG1hY3JvOiBBQ19DT05G SUdfTUFDUk9fRElSUwogICAgICBJZiB0aGlzIHRva2VuIGFuZCBvdGhlcnMgYXJlIGxlZ2l0 aW1hdGUsIHBsZWFzZSB1c2UgbTRfcGF0dGVybl9hbGxvdy4KICAgICAgU2VlIHRoZSBBdXRv Y29uZiBkb2N1bWVudGF0aW9uLgorIHNraXBfIC1yIGF1dG9jb25mIGlzIHRvbyBvbGQgKEFD X0NPTkZJR19NQUNST19ESVJTIG5vdCBkZWZpbmVkKQorIHJlc3VsdF8gb2sgLUQgU0tJUCAt ciBhdXRvY29uZiBpcyB0b28gb2xkIChBQ19DT05GSUdfTUFDUk9fRElSUyBub3QgZGVmaW5l ZCkKKyBzZXQgK3gKb2sgMTUgIyBTS0lQIGF1dG9jb25mIGlzIHRvbyBvbGQgKEFDX0NPTkZJ R19NQUNST19ESVJTIG5vdCBkZWZpbmVkKQpTS0lQOiB0L2FjbG9jYWwtbWFjcm9kaXJzLnRh cCAxNSAjIFNLSVAgYXV0b2NvbmYgaXMgdG9vIG9sZCAoQUNfQ09ORklHX01BQ1JPX0RJUlMg bm90IGRlZmluZWQpCisgOgorIGFtX2V4aXRfdHJhcCAwCisgZXhpdF9zdGF0dXM9MAorIHNl dCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0 IHRhcCA9IHRhcAorIHRlc3QgMTUgPSBsYXRlcgorIHRlc3QgMCAtZXEgMAorIHRlc3QgMTQg LWVxIDE1Cisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDAKKyBzZXQgK3gKClhGQUlMOiB0L2FsbAo9PT09PT09PT09PT0KClJ1bm5pbmcgZnJv bSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vz ci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9i aW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmlu Oi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9hbGwuZGlyCisgdGFyZ2V0cz1hbGwgaW5zdGFsbC1leGVjIGluc3RhbGwt ZGF0YSB1bmluc3RhbGwKKyBlY2hvIGFsbCBpbnN0YWxsLWV4ZWMgaW5zdGFsbC1kYXRhIHVu aW5zdGFsbDoKKyBzZWQgLWUgcy9bIDpdLy1sb2NhbCYvZworIGNhdCBNYWtlZmlsZS5hbQph bGwtbG9jYWwgaW5zdGFsbC1leGVjLWxvY2FsIGluc3RhbGwtZGF0YS1sb2NhbCB1bmluc3Rh bGwtbG9jYWw6CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjE2IC0tZm9y ZWlnbiAtV2Vycm9yIC1XYWxsCisgZ3JlcCBhbGwtbG9jYWwgTWFrZWZpbGUuaW4KYWxsLWxv Y2FsIGluc3RhbGwtZXhlYy1sb2NhbCBpbnN0YWxsLWRhdGEtbG9jYWwgdW5pbnN0YWxsLWxv Y2FsOgorIGdyZXAgYWxsLWFtOi4qYWxsLWxvY2FsIE1ha2VmaWxlLmluCisgYW1fZXhpdF90 cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAor IGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisg c2V0ICt4ClhGQUlMIHQvYWxsLnNoIChleGl0IHN0YXR1czogMSkKClNLSVA6IHQvYW1oZWxs by1jcm9zcy1jb21waWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgphbWhlbGxv LWNyb3NzLWNvbXBpbGU6IHJ1bm5pbmcgaTU4Ni1taW5ndzMybXN2Yy1nY2MgLS12ZXJzaW9u Ci4vdC9hbWhlbGxvLWNyb3NzLWNvbXBpbGUuc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogaTU4Ni1taW5ndzMybXN2 Yy1nY2M6IG5vdCBmb3VuZApTS0lQIHQvYW1oZWxsby1jcm9zcy1jb21waWxlLnNoIChleGl0 IHN0YXR1czogNzcpCgpTS0lQOiB0L2FyLWxpYjVhCj09PT09PT09PT09PT09PT0KCmFyLWxp YjVhOiBydW5uaW5nIGxpYiAtb3V0OmRlZnN0ZXN0LmxpYgouL3QvYXItbGliNWEuc2g6IDg3 MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5p dC5zaDogbGliOiBub3QgZm91bmQKU0tJUCB0L2FyLWxpYjVhLnNoIChleGl0IHN0YXR1czog NzcpCgpQQVNTOiB0L2F1eGRpci1jb21wdXRlZAo9PT09PT09PT09PT09PT09PT09PT09PQoK UnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogdGFwClBBVEgg PSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9j YWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dy YW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMt dXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYXV4ZGlyLWNvbXB1dGVkLmRpcgorIHBsYW5fIDMKKyB0 ZXN0IDEgLWVxIDAKKyB0ZXN0IDEgLWdlIDIKKyB0ZXN0IHhub25lICE9IHhub25lCisgdGVz dCB4MyA9IHh1bmtub3duCisgdGVzdCB4MyA9IHhsYXRlcgorIHRlc3QgeDMgPSB4bGF6eQor IHRlc3QgeDMgPSB4bm93CisgdGVzdCAzIC1nZSAwCisgcGxhbm5lZF89MworIGVjaG8gMS4u MwoxLi4zCisgY2F0CisgOgorIGNvbW1hbmRfb2tfIGFjbG9jYWwgYWNsb2NhbC0xLjE2IC1X ZXJyb3IKKyB0YXBfZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCAzIC1ndCAwCisg dGFwX2Rlc2NyaXB0aW9uXz1hY2xvY2FsCisgc2hpZnQKKyB0ZXN0IDIgLWd0IDAKKyBicmVh aworIHRhcF9yZXN1bHRfPW9rCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyByZXN1bHRfIG9r IC1EICAtciAgLS0gYWNsb2NhbAorIHNldCAreApvayAxIC0gYWNsb2NhbApQQVNTOiB0L2F1 eGRpci1jb21wdXRlZC50YXAgMSAtIGFjbG9jYWwKKyBjb21tYW5kX29rXyBhdXRvbWFrZSAt YSAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbiBhdXRvbWFrZS0xLjE2IC0t Zm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCisgdGFwX2RpcmVjdGl2ZV89IHRhcF9yZWFzb25f PQorIHRlc3QgMTAgLWd0IDAKKyB0YXBfZGVzY3JpcHRpb25fPWF1dG9tYWtlIC1hCisgc2hp ZnQKKyB0ZXN0IDkgLWd0IDAKKyB0YXBfZGlyZWN0aXZlXz1UT0RPCisgc2hpZnQKKyBzaGlm dAorIHRlc3QgNyAtZ3QgMAorIHRhcF9yZWFzb25fPWxvbmctc3RhbmRpbmcgbGltaXRhdGlv bgorIHNoaWZ0Cisgc2hpZnQKKyB0ZXN0IDUgLWd0IDAKKyBicmVhaworIHRhcF9yZXN1bHRf PW9rCisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtYQpjb25maWd1 cmUuYWM6MjogZXJyb3I6IHJlcXVpcmVkIGRpcmVjdG9yeSAuLyRmb28gZG9lcyBub3QgZXhp c3QKY29uZmlndXJlLmFjOjM6IGVycm9yOiBpbnN0YWxsaW5nICckZm9vL2luc3RhbGwtc2gn OyBlcnJvciB3aGlsZSBtYWtpbmcgbGluazogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj b25maWd1cmUuYWM6MzogZXJyb3I6IGluc3RhbGxpbmcgJyRmb28vbWlzc2luZyc7IGVycm9y IHdoaWxlIG1ha2luZyBsaW5rOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisgdGFwX3Jl c3VsdF89bm90IG9rCisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBsb25nLXN0YW5kaW5n IGxpbWl0YXRpb24gLS0gYXV0b21ha2UgLWEKKyBzZXQgK3gKbm90IG9rIDIgLSBhdXRvbWFr ZSAtYSAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2F1eGRpci1j b21wdXRlZC50YXAgMiAtIGF1dG9tYWtlIC1hICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0 YXRpb24KKyBjb21tYW5kX29rXyBhdXRvbWFrZSAtRCBUT0RPIC1yIGxvbmctc3RhbmRpbmcg bGltaXRhdGlvbiBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsCisgdGFw X2RpcmVjdGl2ZV89IHRhcF9yZWFzb25fPQorIHRlc3QgOSAtZ3QgMAorIHRhcF9kZXNjcmlw dGlvbl89YXV0b21ha2UKKyBzaGlmdAorIHRlc3QgOCAtZ3QgMAorIHRhcF9kaXJlY3RpdmVf PVRPRE8KKyBzaGlmdAorIHNoaWZ0CisgdGVzdCA2IC1ndCAwCisgdGFwX3JlYXNvbl89bG9u Zy1zdGFuZGluZyBsaW1pdGF0aW9uCisgc2hpZnQKKyBzaGlmdAorIHRlc3QgNCAtZ3QgMAor IGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vy cm9yIC1XYWxsCmNvbmZpZ3VyZS5hYzoyOiBlcnJvcjogcmVxdWlyZWQgZGlyZWN0b3J5IC4v JGZvbyBkb2VzIG5vdCBleGlzdApjb25maWd1cmUuYWM6MzogZXJyb3I6IHJlcXVpcmVkIGZp bGUgJyRmb28vaW5zdGFsbC1zaCcgbm90IGZvdW5kCmNvbmZpZ3VyZS5hYzozOiAgICdhdXRv bWFrZSAtLWFkZC1taXNzaW5nJyBjYW4gaW5zdGFsbCAnaW5zdGFsbC1zaCcKY29uZmlndXJl LmFjOjM6IGVycm9yOiByZXF1aXJlZCBmaWxlICckZm9vL21pc3NpbmcnIG5vdCBmb3VuZApj b25maWd1cmUuYWM6MzogICAnYXV0b21ha2UgLS1hZGQtbWlzc2luZycgY2FuIGluc3RhbGwg J21pc3NpbmcnCisgdGFwX3Jlc3VsdF89bm90IG9rCisgcmVzdWx0XyBub3Qgb2sgLUQgVE9E TyAtciBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24gLS0gYXV0b21ha2UKKyBzZXQgK3gKbm90 IG9rIDMgLSBhdXRvbWFrZSAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlM OiB0L2F1eGRpci1jb21wdXRlZC50YXAgMyAtIGF1dG9tYWtlICMgVE9ETyBsb25nLXN0YW5k aW5nIGxpbWl0YXRpb24KKyA6CisgYW1fZXhpdF90cmFwIDAKKyBleGl0X3N0YXR1cz0wCisg c2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRl c3QgdGFwID0gdGFwCisgdGVzdCAzID0gbGF0ZXIKKyB0ZXN0IDAgLWVxIDAKKyB0ZXN0IDEg LWVxIDMKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1 cm4gMAorIHNldCAreAoKWEZBSUw6IHQvYXV4ZGlyLXByMTkzMTEKPT09PT09PT09PT09PT09 PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6 IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmlu Oi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9i aW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RN MzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJp LTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9hdXhkaXItcHIxOTMxMS5kaXIKKyBj YXQKKyA6CisgbWtkaXIgYnVpbGQtYXV4CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRv bWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3VyZS5hYzoyOiBp bnN0YWxsaW5nICdidWlsZC1hdXgvY29tcGlsZScKY29uZmlndXJlLmFjOjQ6IGluc3RhbGxp bmcgJ2J1aWxkLWF1eC9pbnN0YWxsLXNoJwpjb25maWd1cmUuYWM6NDogaW5zdGFsbGluZyAn YnVpbGQtYXV4L21pc3NpbmcnCisgYXV0b2NvbmYKKyB0ZXN0IC1mIGJ1aWxkLWF1eC9jb21w aWxlCisgdGVzdCAtZiBidWlsZC1hdXgvaW5zdGFsbC1zaAorIC4vY29uZmlndXJlCmNoZWNr aW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29y a3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUg bmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApj aGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcg Zm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHdlIGFy ZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2Nj IGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJ U08gQzg5Li4uIG5vbmUgbmVlZGVkCmNvbmZpZ3VyZTogZXJyb3I6IGNhbm5vdCBmaW5kIGlu c3RhbGwtc2gsIGluc3RhbGwuc2gsIG9yIHNodG9vbCBpbiAiLiIgIi4vLi4iICIuLy4uLy4u IgorIGFtX2V4aXRfdHJhcCAxCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0 ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyByZXR1cm4gMAorIHNldCAreApYRkFJTCB0L2F1eGRpci1wcjE5MzExLnNoIChleGl0IHN0 YXR1czogMSkKClNLSVA6IHQvY29tcGlsZTQKPT09PT09PT09PT09PT09PQoKY29tcGlsZTQ6 IHJ1bm5pbmcgY2wgLT8KLi90L2NvbXBpbGU0LnNoOiA3Nzk6IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGNsOiBub3QgZm91bmQK U0tJUCB0L2NvbXBpbGU0LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2NvbXBpbGU1 Cj09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3Qg UHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDov aG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0z MkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0t bm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdk Ci9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jb21waWxlNS5kaXIK KyBnZXRfc2hlbGxfc2NyaXB0IGNvbXBpbGUKKyBhbV9zb3VyY2U9Y29tcGlsZSBhbV90YXJn ZXQ9Y29tcGlsZQorIHRlc3QgISAtZiBjb21waWxlCisgcm0gLWYgY29tcGlsZQorIHRlc3Qg eCA9IHh5ZXMKKyBjcCAtZiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L2xpYi9jb21waWxlIGNvbXBpbGUKKyBzZWQgMTBxIGNvbXBpbGUKIyEgL2Jpbi9zaAojIFdy YXBwZXIgZm9yIGNvbXBpbGVycyB3aGljaCBkbyBub3QgdW5kZXJzdGFuZCAnLWMgLW8nLgoK c2NyaXB0dmVyc2lvbj0yMDE4LTAzLTA3LjAzOyAjIFVUQwoKIyBDb3B5cmlnaHQgKEMpIDE5 OTktMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBXcml0dGVuIGJ5IFRv bSBUcm9tZXkgPHRyb21leUBjeWdudXMuY29tPi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKyB1bnNldCBhbV90YXJnZXQgYW1fc291cmNlCisgY2F0CisgY2htb2Qg K3ggLi9jbAorIGNhdAorIDoKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9j b25mCisgYXV0b21ha2UtMS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtYQpjb25maWd1 cmUuYWM6NDogaW5zdGFsbGluZyAnLi9jb25maWcuZ3Vlc3MnCmNvbmZpZ3VyZS5hYzo0OiBp bnN0YWxsaW5nICcuL2NvbmZpZy5zdWInCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9y IGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3Ig Z2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHll cwpjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGludXgtZ251CmNo ZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4geDg2XzY0LXBjLWxpbnV4LWdudQpjaGVja2lu ZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9u ZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBj cmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBjaGVja19ob3N0Cisg LiAuL2NoZWNrX2hvc3QKKyBza2lwXyB0YXJnZXQgT1MgaXMgbm90IE1pbkdXCisgd2Fybl8g Y29tcGlsZTU6IHNraXBwZWQgdGVzdDogdGFyZ2V0IE9TIGlzIG5vdCBNaW5HVworIGVjaG8g Y29tcGlsZTU6IHNraXBwZWQgdGVzdDogdGFyZ2V0IE9TIGlzIG5vdCBNaW5HVworIF9hbV9l eGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMK KyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3 Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgor IHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcwor IGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvY29tcGls ZTUuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvY29tcGlsZTcKPT09PT09PT09PT09 PT09PQoKY29tcGlsZTc6IHJ1bm5pbmcgaWNsIC0/Ci4vdC9jb21waWxlNy5zaDogNzkwOiAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNo OiBpY2w6IG5vdCBmb3VuZApTS0lQIHQvY29tcGlsZTcuc2ggKGV4aXQgc3RhdHVzOiA3NykK ClhGQUlMOiB0L2NvbmQxNwo9PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxs Y2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2Jp bjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUv aHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VH R0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9jb25kMTcuZGlyCisgY2F0CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRv bWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCk1ha2VmaWxlLmFtOiBlcnJv cjogb2JqZWN0ICdmb28uJChPQkpFWFQpJyBjcmVhdGVkIGJ5ICdmb28uY2MnIGFuZCAnZm9v LmMnCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAor IHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGly cworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvY29uZDE3LnNoIChleGl0IHN0YXR1czog MSkKClBBU1M6IHQvY3Njb3BlCj09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFs bGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiB0YXAKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2Jp bjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUv aHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VH R0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9jc2NvcGUuZGlyCisgcGxhbl8gMTgKKyB0ZXN0IDEgLWVxIDAKKyB0ZXN0IDEgLWdlIDIK KyB0ZXN0IHhub25lICE9IHhub25lCisgdGVzdCB4MTggPSB4dW5rbm93bgorIHRlc3QgeDE4 ID0geGxhdGVyCisgdGVzdCB4MTggPSB4bGF6eQorIHRlc3QgeDE4ID0geG5vdworIHRlc3Qg MTggLWdlIDAKKyBwbGFubmVkXz0xOAorIGVjaG8gMS4uMTgKMS4uMTgKKyBwd2QKKyBvY3dk PS9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyCisg Y2F0CisgbWtkaXIgc3ViIHN1Yi9zdWJzdWIKKyBjYXQKKyBjYXQKKyBlY2hvIGludCBmb29f ZnVuYyAoKSB7IHJldHVybiAwOyB9CisgZWNobyBpbnQgbWFpbiAoKSB7IHJldHVybiAwOyB9 CisgY2F0CisgOgorIGVjaG8gaW50IG1haW4gKCkgeyByZXR1cm4gMDsgfQorIGFjbG9jYWwt MS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vy cm9yIC1XYWxsIC1pIC1hCisgY3Njb3BlIC1xIC0tdmVyc2lvbgouL3QvY3Njb3BlLnRhcDog NzI6IC4vdC9jc2NvcGUudGFwOiBjc2NvcGU6IG5vdCBmb3VuZAorIGhhdmVfY3Njb3BlPW5v CisgdXNpbmdfZ21ha2UKKyBtYWtlIC0tdmVyc2lvbiAtdgorIGdyZXAgR05VCkdOVSBNYWtl IDQuMi4xCkxpY2VuY2UgR1BMdjMrwqA6IEdOVSBHUEwgdmVyc2lvbiAzIG91IHVsdMOpcmll dXJlIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KKyBhbV9fdXNpbmdfZ21h a2U9eWVzCisgcmV0dXJuIDAKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvY3Njb3BlLmRpcgorIHBmeD1yZWxhdGl2ZSBWUEFUSAorIG1rZGlyIGJ1aWxk CisgY2QgYnVpbGQKKyBteV9jb25maWd1cmUgLi4KKyBjb21tYW5kX29rXyBbcmVsYXRpdmUg VlBBVEhdIGNvbmZpZ3VyZSAuLi9jb25maWd1cmUgRU1BQ1M9bm8gLS13aXRoLWxpc3BkaXI9 L3doby9jYXJlcworIHRhcF9kaXJlY3RpdmVfPSB0YXBfcmVhc29uXz0KKyB0ZXN0IDQgLWd0 IDAKKyB0YXBfZGVzY3JpcHRpb25fPVtyZWxhdGl2ZSBWUEFUSF0gY29uZmlndXJlCisgc2hp ZnQKKyB0ZXN0IDMgLWd0IDAKKyBicmVhaworIHRhcF9yZXN1bHRfPW9rCisgLi4vY29uZmln dXJlIEVNQUNTPW5vIC0td2l0aC1saXNwZGlyPS93aG8vY2FyZXMKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9y IGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3Ig Z2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHll cwpjaGVja2luZyBmb3IgZW1hY3MuLi4gbm8KY2hlY2tpbmcgd2hlcmUgLmVsYyBmaWxlcyBz aG91bGQgZ28uLi4gL3doby9jYXJlcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBh cmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu c3RhdHVzOiBjcmVhdGluZyBzdWIvTWFrZWZpbGUKKyByZXN1bHRfIG9rIC1EICAtciAgLS0g W3JlbGF0aXZlIFZQQVRIXSBjb25maWd1cmUKKyBzZXQgK3gKb2sgMSAtIFtyZWxhdGl2ZSBW UEFUSF0gY29uZmlndXJlClBBU1M6IHQvY3Njb3BlLnRhcCAxIC0gW3JlbGF0aXZlIFZQQVRI XSBjb25maWd1cmUKKyB0ZXN0X2NzY29wZQorIHI9b2sKKyBtYWtlIC1uIGNzY29wZQpybSAt ZiBjc2NvcGUuZmlsZXMKZmFpbD07IFwKaWYgKHRhcmdldF9vcHRpb249azsgY2FzZSAke3Rh cmdldF9vcHRpb24tfSBpbiA/KSA7OyAqKSBlY2hvICJhbV9fbWFrZV9ydW5uaW5nX3dpdGhf b3B0aW9uOiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCIgInRhcmdldCBvcHRpb24gJyR7dGFy Z2V0X29wdGlvbi19JyBzcGVjaWZpZWQiID4mMjsgZXhpdCAxOzsgZXNhYzsgaGFzX29wdD1u bzsgc2FuZV9tYWtlZmxhZ3M9JE1BS0VGTEFHUzsgaWYgeyBpZiB0ZXN0IC16ICcwJzsgdGhl biBmYWxzZTsgZWxpZiB0ZXN0IC1uICd4ODZfNjQtcGMtbGludXgtZ251JzsgdGhlbiB0cnVl OyBlbGlmIHRlc3QgLW4gJzQuMi4xJyAmJiB0ZXN0IC1uICcvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9idWlsZCc7IHRoZW4gdHJ1ZTsgZWxz ZSBmYWxzZTsgZmk7IH07IHRoZW4gc2FuZV9tYWtlZmxhZ3M9JE1GTEFHUzsgZWxzZSBjYXNl ICRNQUtFRkxBR1MgaW4gKlxcW1wgXAldKikgYnM9XFw7IHNhbmVfbWFrZWZsYWdzPWBwcmlu dGYgJyVzXG4nICIkTUFLRUZMQUdTIiB8IHNlZCAicy8kYnMkYnNbJGJzICRicwldKi8vZyJg OzsgZXNhYzsgZmk7IHNraXBfbmV4dD1ubzsgc3RyaXBfdHJhaWxvcHQgKCkgeyBmbGc9YHBy aW50ZiAnJXNcbicgIiRmbGciIHwgc2VkICJzLyQxLiokLy8iYDsgfTsgZm9yIGZsZyBpbiAk c2FuZV9tYWtlZmxhZ3M7IGRvIHRlc3QgJHNraXBfbmV4dCA9IHllcyAmJiB7IHNraXBfbmV4 dD1ubzsgY29udGludWU7IH07IGNhc2UgJGZsZyBpbiAqPSp8LS0qKSBjb250aW51ZTs7IC0q SSkgc3RyaXBfdHJhaWxvcHQgJ0knOyBza2lwX25leHQ9eWVzOzsgLSpJPyopIHN0cmlwX3Ry YWlsb3B0ICdJJzs7IC0qTykgc3RyaXBfdHJhaWxvcHQgJ08nOyBza2lwX25leHQ9eWVzOzsg LSpPPyopIHN0cmlwX3RyYWlsb3B0ICdPJzs7IC0qbCkgc3RyaXBfdHJhaWxvcHQgJ2wnOyBz a2lwX25leHQ9eWVzOzsgLSpsPyopIHN0cmlwX3RyYWlsb3B0ICdsJzs7IC1bZEVEbV0pIHNr aXBfbmV4dD15ZXM7OyAtW0pUXSkgc2tpcF9uZXh0PXllczs7IGVzYWM7IGNhc2UgJGZsZyBp biAqJHRhcmdldF9vcHRpb24qKSBoYXNfb3B0PXllczsgYnJlYWs7OyBlc2FjOyBkb25lOyB0 ZXN0ICRoYXNfb3B0ID0geWVzKTsgdGhlbiBcCiAgZmFpbGNvbT0nZmFpbD15ZXMnOyBcCmVs c2UgXAogIGZhaWxjb209J2V4aXQgMSc7IFwKZmk7IFwKZG90X3NlZW49bm87IFwKdGFyZ2V0 PWBlY2hvIGNzY29wZWxpc3QtcmVjdXJzaXZlIHwgc2VkIHMvLXJlY3Vyc2l2ZS8vYDsgXApj YXNlICJjc2NvcGVsaXN0LXJlY3Vyc2l2ZSIgaW4gXAogIGRpc3RjbGVhbi0qIHwgbWFpbnRh aW5lci1jbGVhbi0qKSBsaXN0PSdzdWInIDs7IFwKICAqKSBsaXN0PSdzdWInIDs7IFwKZXNh YzsgXApmb3Igc3ViZGlyIGluICRsaXN0OyBkbyBcCiAgZWNobyAiTWFraW5nICR0YXJnZXQg aW4gJHN1YmRpciI7IFwKICBpZiB0ZXN0ICIkc3ViZGlyIiA9ICIuIjsgdGhlbiBcCiAgICBk b3Rfc2Vlbj15ZXM7IFwKICAgIGxvY2FsX3RhcmdldD0iJHRhcmdldC1hbSI7IFwKICBlbHNl IFwKICAgIGxvY2FsX3RhcmdldD0iJHRhcmdldCI7IFwKICBmaTsgXAogIChDRFBBVEg9IiR7 WlNIX1ZFUlNJT04rLn06IiAmJiBjZCAkc3ViZGlyICYmIG1ha2UgICRsb2NhbF90YXJnZXQp IFwKICB8fCBldmFsICRmYWlsY29tOyBcCmRvbmU7IFwKaWYgdGVzdCAiJGRvdF9zZWVuIiA9 ICJubyI7IHRoZW4gXAogIG1ha2UgICIkdGFyZ2V0LWFtIiB8fCBleGl0IDE7IFwKZmk7IHRl c3QgLXogIiRmYWlsIgpNYWtpbmcgY3Njb3BlbGlzdCBpbiBzdWIKbWFrZVsxXcKgOiBvbiBl bnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9idWlsZC9zdWLCoMK7Ci9iaW4vbWtkaXIgLXAg c3Vic3ViCmVjaG8gJ2ludCBnZW5lcmF0ZWRfc3Vic3ViICgpIHsgcmV0dXJuIDA7IH0nID4g c3Vic3ViL2dlbi5jCmxpc3Q9JyBzdWJzdWIvZGlzdC5jIHN1YnN1Yi9nZW4uYyAgJzsgXApj YXNlICIuLi8uLi9zdWIiIGluIFwKICBbXFwvXSogfCA/OltcXC9dKikgc2Rpcj0iLi4vLi4v c3ViIiA7OyBcCiAgKikgc2Rpcj1zdWIvLi4vLi4vc3ViIDs7IFwKZXNhYzsgXApmb3IgaSBp biAkbGlzdDsgZG8gXAogIGlmIHRlc3QgLWYgIiRpIjsgdGhlbiBcCiAgICBlY2hvICJzdWIv JGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwKICBmaTsgXApkb25lID4+ IC4uL2NzY29wZS5maWxlcwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDC q8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIv YnVpbGQvc3ViwqDCuwptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUg wqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGly L2J1aWxkwqDCuwpsaXN0PScgZm9vLmMgYmFyLmNwcCBiYXouZjkwICBmb28uZWwnOyBcCmNh c2UgIi4uIiBpbiBcCiAgW1xcL10qIHwgPzpbXFwvXSopIHNkaXI9Ii4uIiA7OyBcCiAgKikg c2Rpcj0uLy4uIDs7IFwKZXNhYzsgXApmb3IgaSBpbiAkbGlzdDsgZG8gXAogIGlmIHRlc3Qg LWYgIiRpIjsgdGhlbiBcCiAgICBlY2hvICIuLyRpIjsgXAogIGVsc2UgXAogICAgZWNobyAi JHNkaXIvJGkiOyBcCiAgZmk7IFwKZG9uZSA+PiAuL2NzY29wZS5maWxlcwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGTCoMK7CnRlc3QgISAtcyBjc2NvcGUu ZmlsZXMgXAogIHx8IGNzY29wZSAtYiAtcSAgIC1pIGNzY29wZS5maWxlcyAKKyByZXN1bHRf IG9rIFtyZWxhdGl2ZSBWUEFUSF0gbWFrZSAtbiBjc2NvcGUKKyBzZXQgK3gKb2sgMiAtIFty ZWxhdGl2ZSBWUEFUSF0gbWFrZSAtbiBjc2NvcGUKUEFTUzogdC9jc2NvcGUudGFwIDIgLSBb cmVsYXRpdmUgVlBBVEhdIG1ha2UgLW4gY3Njb3BlCisgdGVzdCBubyA9IG5vCisgdG91Y2gg Y3Njb3BlLmZpbGVzIGNzY29wZS5vdXQgY3Njb3BlLmluLm91dCBjc2NvcGUucG8ub3V0Cisg c2tpcF9yb3dfIDMgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNr aXBfY291bnRfPTMKKyBzaGlmdAorIHNlcV8gMworIHNlcV9maXJzdD0xIHNlcV9pbmNyPTEg c2VxX2xhc3Q9MworIGk9MQorIHRlc3QgMSAtbGUgMworIGVjaG8gMQorIGk9MgorIHRlc3Qg MiAtbGUgMworIGVjaG8gMgorIGk9MworIHRlc3QgMyAtbGUgMworIGVjaG8gMworIGk9NAor IHRlc3QgNCAtbGUgMworIHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFp bGFibGUKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFt IGF2YWlsYWJsZQorIHNldCAreApvayAzICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dy YW0gYXZhaWxhYmxlClNLSVA6IHQvY3Njb3BlLnRhcCAzICMgU0tJUCBubyBwcm9wZXIgY3Nj b3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2tpcF8gLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9n cmFtIGF2YWlsYWJsZQorIHJlc3VsdF8gb2sgLUQgU0tJUCAtciBubyBwcm9wZXIgY3Njb3Bl IHByb2dyYW0gYXZhaWxhYmxlCisgc2V0ICt4Cm9rIDQgIyBTS0lQIG5vIHByb3BlciBjc2Nv cGUgcHJvZ3JhbSBhdmFpbGFibGUKU0tJUDogdC9jc2NvcGUudGFwIDQgIyBTS0lQIG5vIHBy b3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBza2lwXyAtciBubyBwcm9wZXIgY3Nj b3BlIHByb2dyYW0gYXZhaWxhYmxlCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIG5vIHByb3Bl ciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBzZXQgK3gKb2sgNSAjIFNLSVAgbm8gcHJv cGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQpTS0lQOiB0L2NzY29wZS50YXAgNSAjIFNL SVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHJldHVybiAwCisgdGVz dF9jbGVhbnVwCisgcj1vaworIHRlc3QgLWYgY29uZmlndXJlCisgbWFrZSBkaXN0Y2xlYW5j aGVjawpNYWtpbmcgZGlzdGNsZWFuIGluIHN1YgptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMg bGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9jc2NvcGUuZGlyL2J1aWxkL3N1YsKgwrsKdGVzdCAteiAiYmFyIiB8fCBybSAtZiBi YXIKdGVzdCAteiAic3Vic3ViL2dlbi5jIiB8fCBybSAtZiBzdWJzdWIvZ2VuLmMKcm0gLWYg Ki4Kcm0gLWYgc3Vic3ViLyouCnJtIC1mICoudGFiLmMKdGVzdCAteiAiIiB8fCBybSAtZiAK dGVzdCAuID0gIi4uLy4uL3N1YiIgfHwgdGVzdCAteiAiIiB8fCBybSAtZiAKcm0gLWYgc3Vi c3ViLy5kaXJzdGFtcApybSAtZiBUQUdTIElEIEdUQUdTIEdSVEFHUyBHU1lNUyBHUEFUSCB0 YWdzCnJtIC1mIE1ha2VmaWxlCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRp ci9idWlsZC9zdWLCoMK7Cm1ha2VbMV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2ly ZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5k aXIvYnVpbGTCoMK7CnRlc3QgLXogImZvbyIgfHwgcm0gLWYgZm9vCnJtIC1mIGZvby5lbGMK cm0gLWYgKi4Kcm0gLWYgKi50YWIuYwp0ZXN0IC16ICIiIHx8IHJtIC1mIAp0ZXN0IC4gPSAi Li4iIHx8IHRlc3QgLXogIiIgfHwgcm0gLWYgCnJtIC1mIFRBR1MgSUQgR1RBR1MgR1JUQUdT IEdTWU1TIEdQQVRIIHRhZ3MKcm0gLWYgY3Njb3BlLm91dCBjc2NvcGUuaW4ub3V0IGNzY29w ZS5wby5vdXQgY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDogb24gcXVpdHRlIGxlIHLDqXBlcnRv aXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3Bl LmRpci9idWlsZMKgwrsKcm0gLWYgY29uZmlnLnN0YXR1cyBjb25maWcuY2FjaGUgY29uZmln LmxvZyBjb25maWd1cmUubGluZW5vIGNvbmZpZy5zdGF0dXMubGluZW5vCnJtIC1mIE1ha2Vm aWxlCisgdGVzdCAhIC1lIGNzY29wZS5maWxlcworIHRlc3QgISAtZSBjc2NvcGUub3V0Cisg dGVzdCAhIC1lIGNzY29wZS5pbi5vdXQKKyB0ZXN0ICEgLWUgY3Njb3BlLnBvLm91dAorIHJl c3VsdF8gb2sgW3JlbGF0aXZlIFZQQVRIXSBtYWtlIGRpc3RjaGVjaworIHNldCAreApvayA2 IC0gW3JlbGF0aXZlIFZQQVRIXSBtYWtlIGRpc3RjaGVjawpQQVNTOiB0L2NzY29wZS50YXAg NiAtIFtyZWxhdGl2ZSBWUEFUSF0gbWFrZSBkaXN0Y2hlY2sKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpcgorIHBmeD1hYnNvbHV0ZSBW UEFUSAorIG1rZGlyIGJ1aWxkMgorIGNkIGJ1aWxkMgorIG15X2NvbmZpZ3VyZSAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpcgorIGNvbW1hbmRf b2tfIFthYnNvbHV0ZSBWUEFUSF0gY29uZmlndXJlIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2NvbmZpZ3VyZSBFTUFDUz1ubyAtLXdpdGgt bGlzcGRpcj0vd2hvL2NhcmVzCisgdGFwX2RpcmVjdGl2ZV89IHRhcF9yZWFzb25fPQorIHRl c3QgNCAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89W2Fic29sdXRlIFZQQVRIXSBjb25maWd1 cmUKKyBzaGlmdAorIHRlc3QgMyAtZ3QgMAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9jb25m aWd1cmUgRU1BQ1M9bm8gLS13aXRoLWxpc3BkaXI9L3doby9jYXJlcwpjaGVja2luZyBmb3Ig YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tp bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm b3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZv ciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5 ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g eWVzCmNoZWNraW5nIGZvciBlbWFjcy4uLiBubwpjaGVja2luZyB3aGVyZSAuZWxjIGZpbGVz IHNob3VsZCBnby4uLiAvd2hvL2NhcmVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVz IGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcg Li9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZp Zy5zdGF0dXM6IGNyZWF0aW5nIHN1Yi9NYWtlZmlsZQorIHJlc3VsdF8gb2sgLUQgIC1yICAt LSBbYWJzb2x1dGUgVlBBVEhdIGNvbmZpZ3VyZQorIHNldCAreApvayA3IC0gW2Fic29sdXRl IFZQQVRIXSBjb25maWd1cmUKUEFTUzogdC9jc2NvcGUudGFwIDcgLSBbYWJzb2x1dGUgVlBB VEhdIGNvbmZpZ3VyZQorIHRlc3RfY3Njb3BlCisgcj1vaworIG1ha2UgLW4gY3Njb3BlCnJt IC1mIGNzY29wZS5maWxlcwpmYWlsPTsgXAppZiAodGFyZ2V0X29wdGlvbj1rOyBjYXNlICR7 dGFyZ2V0X29wdGlvbi19IGluID8pIDs7ICopIGVjaG8gImFtX19tYWtlX3J1bm5pbmdfd2l0 aF9vcHRpb246IGludGVybmFsIGVycm9yOiBpbnZhbGlkIiAidGFyZ2V0IG9wdGlvbiAnJHt0 YXJnZXRfb3B0aW9uLX0nIHNwZWNpZmllZCIgPiYyOyBleGl0IDE7OyBlc2FjOyBoYXNfb3B0 PW5vOyBzYW5lX21ha2VmbGFncz0kTUFLRUZMQUdTOyBpZiB7IGlmIHRlc3QgLXogJzAnOyB0 aGVuIGZhbHNlOyBlbGlmIHRlc3QgLW4gJ3g4Nl82NC1wYy1saW51eC1nbnUnOyB0aGVuIHRy dWU7IGVsaWYgdGVzdCAtbiAnNC4yLjEnICYmIHRlc3QgLW4gJy9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1aWxkMic7IHRoZW4gdHJ1ZTsg ZWxzZSBmYWxzZTsgZmk7IH07IHRoZW4gc2FuZV9tYWtlZmxhZ3M9JE1GTEFHUzsgZWxzZSBj YXNlICRNQUtFRkxBR1MgaW4gKlxcW1wgXAldKikgYnM9XFw7IHNhbmVfbWFrZWZsYWdzPWBw cmludGYgJyVzXG4nICIkTUFLRUZMQUdTIiB8IHNlZCAicy8kYnMkYnNbJGJzICRicwldKi8v ZyJgOzsgZXNhYzsgZmk7IHNraXBfbmV4dD1ubzsgc3RyaXBfdHJhaWxvcHQgKCkgeyBmbGc9 YHByaW50ZiAnJXNcbicgIiRmbGciIHwgc2VkICJzLyQxLiokLy8iYDsgfTsgZm9yIGZsZyBp biAkc2FuZV9tYWtlZmxhZ3M7IGRvIHRlc3QgJHNraXBfbmV4dCA9IHllcyAmJiB7IHNraXBf bmV4dD1ubzsgY29udGludWU7IH07IGNhc2UgJGZsZyBpbiAqPSp8LS0qKSBjb250aW51ZTs7 IC0qSSkgc3RyaXBfdHJhaWxvcHQgJ0knOyBza2lwX25leHQ9eWVzOzsgLSpJPyopIHN0cmlw X3RyYWlsb3B0ICdJJzs7IC0qTykgc3RyaXBfdHJhaWxvcHQgJ08nOyBza2lwX25leHQ9eWVz OzsgLSpPPyopIHN0cmlwX3RyYWlsb3B0ICdPJzs7IC0qbCkgc3RyaXBfdHJhaWxvcHQgJ2wn OyBza2lwX25leHQ9eWVzOzsgLSpsPyopIHN0cmlwX3RyYWlsb3B0ICdsJzs7IC1bZEVEbV0p IHNraXBfbmV4dD15ZXM7OyAtW0pUXSkgc2tpcF9uZXh0PXllczs7IGVzYWM7IGNhc2UgJGZs ZyBpbiAqJHRhcmdldF9vcHRpb24qKSBoYXNfb3B0PXllczsgYnJlYWs7OyBlc2FjOyBkb25l OyB0ZXN0ICRoYXNfb3B0ID0geWVzKTsgdGhlbiBcCiAgZmFpbGNvbT0nZmFpbD15ZXMnOyBc CmVsc2UgXAogIGZhaWxjb209J2V4aXQgMSc7IFwKZmk7IFwKZG90X3NlZW49bm87IFwKdGFy Z2V0PWBlY2hvIGNzY29wZWxpc3QtcmVjdXJzaXZlIHwgc2VkIHMvLXJlY3Vyc2l2ZS8vYDsg XApjYXNlICJjc2NvcGVsaXN0LXJlY3Vyc2l2ZSIgaW4gXAogIGRpc3RjbGVhbi0qIHwgbWFp bnRhaW5lci1jbGVhbi0qKSBsaXN0PSdzdWInIDs7IFwKICAqKSBsaXN0PSdzdWInIDs7IFwK ZXNhYzsgXApmb3Igc3ViZGlyIGluICRsaXN0OyBkbyBcCiAgZWNobyAiTWFraW5nICR0YXJn ZXQgaW4gJHN1YmRpciI7IFwKICBpZiB0ZXN0ICIkc3ViZGlyIiA9ICIuIjsgdGhlbiBcCiAg ICBkb3Rfc2Vlbj15ZXM7IFwKICAgIGxvY2FsX3RhcmdldD0iJHRhcmdldC1hbSI7IFwKICBl bHNlIFwKICAgIGxvY2FsX3RhcmdldD0iJHRhcmdldCI7IFwKICBmaTsgXAogIChDRFBBVEg9 IiR7WlNIX1ZFUlNJT04rLn06IiAmJiBjZCAkc3ViZGlyICYmIG1ha2UgICRsb2NhbF90YXJn ZXQpIFwKICB8fCBldmFsICRmYWlsY29tOyBcCmRvbmU7IFwKaWYgdGVzdCAiJGRvdF9zZWVu IiA9ICJubyI7IHRoZW4gXAogIG1ha2UgICIkdGFyZ2V0LWFtIiB8fCBleGl0IDE7IFwKZmk7 IHRlc3QgLXogIiRmYWlsIgpNYWtpbmcgY3Njb3BlbGlzdCBpbiBzdWIKbWFrZVsxXcKgOiBv biBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpci9idWlsZDIvc3ViwqDCuwovYmluL21rZGly IC1wIHN1YnN1YgplY2hvICdpbnQgZ2VuZXJhdGVkX3N1YnN1YiAoKSB7IHJldHVybiAwOyB9 JyA+IHN1YnN1Yi9nZW4uYwpsaXN0PScgc3Vic3ViL2Rpc3QuYyBzdWJzdWIvZ2VuLmMgICc7 IFwKY2FzZSAiL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29w ZS5kaXIvc3ViIiBpbiBcCiAgW1xcL10qIHwgPzpbXFwvXSopIHNkaXI9Ii9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL3N1YiIgOzsgXAogICop IHNkaXI9c3ViLy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2Nv cGUuZGlyL3N1YiA7OyBcCmVzYWM7IFwKZm9yIGkgaW4gJGxpc3Q7IGRvIFwKICBpZiB0ZXN0 IC1mICIkaSI7IHRoZW4gXAogICAgZWNobyAic3ViLyRpIjsgXAogIGVsc2UgXAogICAgZWNo byAiJHNkaXIvJGkiOyBcCiAgZmk7IFwKZG9uZSA+PiAuLi9jc2NvcGUuZmlsZXMKbWFrZVsx XcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL2J1aWxkMi9zdWLCoMK7Cm1ha2VbMV3C oDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQywqDCuwpsaXN0PScgZm9v LmMgYmFyLmNwcCBiYXouZjkwICBmb28uZWwnOyBcCmNhc2UgIi9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyIiBpbiBcCiAgW1xcL10qIHwgPzpb XFwvXSopIHNkaXI9Ii9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9j c2NvcGUuZGlyIiA7OyBcCiAgKikgc2Rpcj0uLy9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyIDs7IFwKZXNhYzsgXApmb3IgaSBpbiAkbGlzdDsg ZG8gXAogIGlmIHRlc3QgLWYgIiRpIjsgdGhlbiBcCiAgICBlY2hvICIuLyRpIjsgXAogIGVs c2UgXAogICAgZWNobyAiJHNkaXIvJGkiOyBcCiAgZmk7IFwKZG9uZSA+PiAuL2NzY29wZS5m aWxlcwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQywqDCuwp0 ZXN0ICEgLXMgY3Njb3BlLmZpbGVzIFwKICB8fCBjc2NvcGUgLWIgLXEgICAtaSBjc2NvcGUu ZmlsZXMgCisgcmVzdWx0XyBvayBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgLW4gY3Njb3BlCisg c2V0ICt4Cm9rIDggLSBbYWJzb2x1dGUgVlBBVEhdIG1ha2UgLW4gY3Njb3BlClBBU1M6IHQv Y3Njb3BlLnRhcCA4IC0gW2Fic29sdXRlIFZQQVRIXSBtYWtlIC1uIGNzY29wZQorIHRlc3Qg bm8gPSBubworIHRvdWNoIGNzY29wZS5maWxlcyBjc2NvcGUub3V0IGNzY29wZS5pbi5vdXQg Y3Njb3BlLnBvLm91dAorIHNraXBfcm93XyAzIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3Jh bSBhdmFpbGFibGUKKyBza2lwX2NvdW50Xz0zCisgc2hpZnQKKyBzZXFfIDMKKyBzZXFfZmly c3Q9MSBzZXFfaW5jcj0xIHNlcV9sYXN0PTMKKyBpPTEKKyB0ZXN0IDEgLWxlIDMKKyBlY2hv IDEKKyBpPTIKKyB0ZXN0IDIgLWxlIDMKKyBlY2hvIDIKKyBpPTMKKyB0ZXN0IDMgLWxlIDMK KyBlY2hvIDMKKyBpPTQKKyB0ZXN0IDQgLWxlIDMKKyBza2lwXyAtciBubyBwcm9wZXIgY3Nj b3BlIHByb2dyYW0gYXZhaWxhYmxlCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIG5vIHByb3Bl ciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBzZXQgK3gKb2sgOSAjIFNLSVAgbm8gcHJv cGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQpTS0lQOiB0L2NzY29wZS50YXAgOSAjIFNL SVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNraXBfIC1yIG5vIHBy b3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIg bm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQorIHNldCAreApvayAxMCAjIFNL SVAgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQpTS0lQOiB0L2NzY29wZS50 YXAgMTAgIyBTS0lQIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBza2lw XyAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgcmVzdWx0XyBvayAt RCBTS0lQIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBzZXQgK3gK b2sgMTEgIyBTS0lQIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKU0tJUDog dC9jc2NvcGUudGFwIDExICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxh YmxlCisgcmV0dXJuIDAKKyB0ZXN0X2NsZWFudXAKKyByPW9rCisgdGVzdCAtZiBjb25maWd1 cmUKKyBtYWtlIGRpc3RjbGVhbmNoZWNrCk1ha2luZyBkaXN0Y2xlYW4gaW4gc3ViCm1ha2Vb MV3CoDogb24gZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvYnVpbGQyL3N1YsKgwrsKdGVz dCAteiAiYmFyIiB8fCBybSAtZiBiYXIKdGVzdCAteiAic3Vic3ViL2dlbi5jIiB8fCBybSAt ZiBzdWJzdWIvZ2VuLmMKcm0gLWYgKi4Kcm0gLWYgc3Vic3ViLyouCnJtIC1mICoudGFiLmMK dGVzdCAteiAiIiB8fCBybSAtZiAKdGVzdCAuID0gIi9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyL3N1YiIgfHwgdGVzdCAteiAiIiB8fCBybSAt ZiAKcm0gLWYgc3Vic3ViLy5kaXJzdGFtcApybSAtZiBUQUdTIElEIEdUQUdTIEdSVEFHUyBH U1lNUyBHUEFUSCB0YWdzCnJtIC1mIE1ha2VmaWxlCm1ha2VbMV3CoDogb24gcXVpdHRlIGxl IHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvY3Njb3BlLmRpci9idWlsZDIvc3ViwqDCuwptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMg bGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9jc2NvcGUuZGlyL2J1aWxkMsKgwrsKdGVzdCAteiAiZm9vIiB8fCBybSAtZiBmb28K cm0gLWYgZm9vLmVsYwpybSAtZiAqLgpybSAtZiAqLnRhYi5jCnRlc3QgLXogIiIgfHwgcm0g LWYgCnRlc3QgLiA9ICIvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv Y3Njb3BlLmRpciIgfHwgdGVzdCAteiAiIiB8fCBybSAtZiAKcm0gLWYgVEFHUyBJRCBHVEFH UyBHUlRBR1MgR1NZTVMgR1BBVEggdGFncwpybSAtZiBjc2NvcGUub3V0IGNzY29wZS5pbi5v dXQgY3Njb3BlLnBvLm91dCBjc2NvcGUuZmlsZXMKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUg csOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv dC9jc2NvcGUuZGlyL2J1aWxkMsKgwrsKcm0gLWYgY29uZmlnLnN0YXR1cyBjb25maWcuY2Fj aGUgY29uZmlnLmxvZyBjb25maWd1cmUubGluZW5vIGNvbmZpZy5zdGF0dXMubGluZW5vCnJt IC1mIE1ha2VmaWxlCisgdGVzdCAhIC1lIGNzY29wZS5maWxlcworIHRlc3QgISAtZSBjc2Nv cGUub3V0CisgdGVzdCAhIC1lIGNzY29wZS5pbi5vdXQKKyB0ZXN0ICEgLWUgY3Njb3BlLnBv Lm91dAorIHJlc3VsdF8gb2sgW2Fic29sdXRlIFZQQVRIXSBtYWtlIGRpc3RjaGVjaworIHNl dCAreApvayAxMiAtIFthYnNvbHV0ZSBWUEFUSF0gbWFrZSBkaXN0Y2hlY2sKUEFTUzogdC9j c2NvcGUudGFwIDEyIC0gW2Fic29sdXRlIFZQQVRIXSBtYWtlIGRpc3RjaGVjaworIGNkIC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlyCisgcGZ4 PWluLXRyZWUgYnVpbGQKKyBteV9jb25maWd1cmUgLgorIGNvbW1hbmRfb2tfIFtpbi10cmVl IGJ1aWxkXSBjb25maWd1cmUgLi9jb25maWd1cmUgRU1BQ1M9bm8gLS13aXRoLWxpc3BkaXI9 L3doby9jYXJlcworIHRhcF9kaXJlY3RpdmVfPSB0YXBfcmVhc29uXz0KKyB0ZXN0IDQgLWd0 IDAKKyB0YXBfZGVzY3JpcHRpb25fPVtpbi10cmVlIGJ1aWxkXSBjb25maWd1cmUKKyBzaGlm dAorIHRlc3QgMyAtZ3QgMAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyAuL2NvbmZpZ3Vy ZSBFTUFDUz1ubyAtLXdpdGgtbGlzcGRpcj0vd2hvL2NhcmVzCmNoZWNraW5nIGZvciBhIEJT RC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3 aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBh IHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpj aGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMK Y2hlY2tpbmcgZm9yIGVtYWNzLi4uIG5vCmNoZWNraW5nIHdoZXJlIC5lbGMgZmlsZXMgc2hv dWxkIGdvLi4uIC93aG8vY2FyZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJl IG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0 YXR1czogY3JlYXRpbmcgc3ViL01ha2VmaWxlCisgcmVzdWx0XyBvayAtRCAgLXIgIC0tIFtp bi10cmVlIGJ1aWxkXSBjb25maWd1cmUKKyBzZXQgK3gKb2sgMTMgLSBbaW4tdHJlZSBidWls ZF0gY29uZmlndXJlClBBU1M6IHQvY3Njb3BlLnRhcCAxMyAtIFtpbi10cmVlIGJ1aWxkXSBj b25maWd1cmUKKyB0ZXN0X2NzY29wZQorIHI9b2sKKyBtYWtlIC1uIGNzY29wZQpybSAtZiBj c2NvcGUuZmlsZXMKZmFpbD07IFwKaWYgKHRhcmdldF9vcHRpb249azsgY2FzZSAke3Rhcmdl dF9vcHRpb24tfSBpbiA/KSA7OyAqKSBlY2hvICJhbV9fbWFrZV9ydW5uaW5nX3dpdGhfb3B0 aW9uOiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCIgInRhcmdldCBvcHRpb24gJyR7dGFyZ2V0 X29wdGlvbi19JyBzcGVjaWZpZWQiID4mMjsgZXhpdCAxOzsgZXNhYzsgaGFzX29wdD1ubzsg c2FuZV9tYWtlZmxhZ3M9JE1BS0VGTEFHUzsgaWYgeyBpZiB0ZXN0IC16ICcwJzsgdGhlbiBm YWxzZTsgZWxpZiB0ZXN0IC1uICd4ODZfNjQtcGMtbGludXgtZ251JzsgdGhlbiB0cnVlOyBl bGlmIHRlc3QgLW4gJzQuMi4xJyAmJiB0ZXN0IC1uICcvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpcic7IHRoZW4gdHJ1ZTsgZWxzZSBmYWxzZTsg Zmk7IH07IHRoZW4gc2FuZV9tYWtlZmxhZ3M9JE1GTEFHUzsgZWxzZSBjYXNlICRNQUtFRkxB R1MgaW4gKlxcW1wgXAldKikgYnM9XFw7IHNhbmVfbWFrZWZsYWdzPWBwcmludGYgJyVzXG4n ICIkTUFLRUZMQUdTIiB8IHNlZCAicy8kYnMkYnNbJGJzICRicwldKi8vZyJgOzsgZXNhYzsg Zmk7IHNraXBfbmV4dD1ubzsgc3RyaXBfdHJhaWxvcHQgKCkgeyBmbGc9YHByaW50ZiAnJXNc bicgIiRmbGciIHwgc2VkICJzLyQxLiokLy8iYDsgfTsgZm9yIGZsZyBpbiAkc2FuZV9tYWtl ZmxhZ3M7IGRvIHRlc3QgJHNraXBfbmV4dCA9IHllcyAmJiB7IHNraXBfbmV4dD1ubzsgY29u dGludWU7IH07IGNhc2UgJGZsZyBpbiAqPSp8LS0qKSBjb250aW51ZTs7IC0qSSkgc3RyaXBf dHJhaWxvcHQgJ0knOyBza2lwX25leHQ9eWVzOzsgLSpJPyopIHN0cmlwX3RyYWlsb3B0ICdJ Jzs7IC0qTykgc3RyaXBfdHJhaWxvcHQgJ08nOyBza2lwX25leHQ9eWVzOzsgLSpPPyopIHN0 cmlwX3RyYWlsb3B0ICdPJzs7IC0qbCkgc3RyaXBfdHJhaWxvcHQgJ2wnOyBza2lwX25leHQ9 eWVzOzsgLSpsPyopIHN0cmlwX3RyYWlsb3B0ICdsJzs7IC1bZEVEbV0pIHNraXBfbmV4dD15 ZXM7OyAtW0pUXSkgc2tpcF9uZXh0PXllczs7IGVzYWM7IGNhc2UgJGZsZyBpbiAqJHRhcmdl dF9vcHRpb24qKSBoYXNfb3B0PXllczsgYnJlYWs7OyBlc2FjOyBkb25lOyB0ZXN0ICRoYXNf b3B0ID0geWVzKTsgdGhlbiBcCiAgZmFpbGNvbT0nZmFpbD15ZXMnOyBcCmVsc2UgXAogIGZh aWxjb209J2V4aXQgMSc7IFwKZmk7IFwKZG90X3NlZW49bm87IFwKdGFyZ2V0PWBlY2hvIGNz Y29wZWxpc3QtcmVjdXJzaXZlIHwgc2VkIHMvLXJlY3Vyc2l2ZS8vYDsgXApjYXNlICJjc2Nv cGVsaXN0LXJlY3Vyc2l2ZSIgaW4gXAogIGRpc3RjbGVhbi0qIHwgbWFpbnRhaW5lci1jbGVh bi0qKSBsaXN0PSdzdWInIDs7IFwKICAqKSBsaXN0PSdzdWInIDs7IFwKZXNhYzsgXApmb3Ig c3ViZGlyIGluICRsaXN0OyBkbyBcCiAgZWNobyAiTWFraW5nICR0YXJnZXQgaW4gJHN1YmRp ciI7IFwKICBpZiB0ZXN0ICIkc3ViZGlyIiA9ICIuIjsgdGhlbiBcCiAgICBkb3Rfc2Vlbj15 ZXM7IFwKICAgIGxvY2FsX3RhcmdldD0iJHRhcmdldC1hbSI7IFwKICBlbHNlIFwKICAgIGxv Y2FsX3RhcmdldD0iJHRhcmdldCI7IFwKICBmaTsgXAogIChDRFBBVEg9IiR7WlNIX1ZFUlNJ T04rLn06IiAmJiBjZCAkc3ViZGlyICYmIG1ha2UgICRsb2NhbF90YXJnZXQpIFwKICB8fCBl dmFsICRmYWlsY29tOyBcCmRvbmU7IFwKaWYgdGVzdCAiJGRvdF9zZWVuIiA9ICJubyI7IHRo ZW4gXAogIG1ha2UgICIkdGFyZ2V0LWFtIiB8fCBleGl0IDE7IFwKZmk7IHRlc3QgLXogIiRm YWlsIgpNYWtpbmcgY3Njb3BlbGlzdCBpbiBzdWIKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5z IGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvY3Njb3BlLmRpci9zdWLCoMK7Ci9iaW4vbWtkaXIgLXAgc3Vic3ViCmVjaG8gJ2lu dCBnZW5lcmF0ZWRfc3Vic3ViICgpIHsgcmV0dXJuIDA7IH0nID4gc3Vic3ViL2dlbi5jCmxp c3Q9JyBzdWJzdWIvZGlzdC5jIHN1YnN1Yi9nZW4uYyAgJzsgXApjYXNlICIuIiBpbiBcCiAg W1xcL10qIHwgPzpbXFwvXSopIHNkaXI9Ii4iIDs7IFwKICAqKSBzZGlyPXN1Yi8uIDs7IFwK ZXNhYzsgXApmb3IgaSBpbiAkbGlzdDsgZG8gXAogIGlmIHRlc3QgLWYgIiRpIjsgdGhlbiBc CiAgICBlY2hvICJzdWIvJGkiOyBcCiAgZWxzZSBcCiAgICBlY2hvICIkc2Rpci8kaSI7IFwK ICBmaTsgXApkb25lID4+IC4uL2NzY29wZS5maWxlcwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBs ZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2NzY29wZS5kaXIvc3ViwqDCuwptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9j c2NvcGUuZGlywqDCuwpsaXN0PScgZm9vLmMgYmFyLmNwcCBiYXouZjkwICBmb28uZWwnOyBc CmNhc2UgIi4iIGluIFwKICBbXFwvXSogfCA/OltcXC9dKikgc2Rpcj0iLiIgOzsgXAogICop IHNkaXI9Li8uIDs7IFwKZXNhYzsgXApmb3IgaSBpbiAkbGlzdDsgZG8gXAogIGlmIHRlc3Qg LWYgIiRpIjsgdGhlbiBcCiAgICBlY2hvICIuLyRpIjsgXAogIGVsc2UgXAogICAgZWNobyAi JHNkaXIvJGkiOyBcCiAgZmk7IFwKZG9uZSA+PiAuL2NzY29wZS5maWxlcwptYWtlWzFdwqA6 IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXLCoMK7CnRlc3QgISAtcyBjc2NvcGUuZmlsZXMg XAogIHx8IGNzY29wZSAtYiAtcSAgIC1pIGNzY29wZS5maWxlcyAKKyByZXN1bHRfIG9rIFtp bi10cmVlIGJ1aWxkXSBtYWtlIC1uIGNzY29wZQorIHNldCAreApvayAxNCAtIFtpbi10cmVl IGJ1aWxkXSBtYWtlIC1uIGNzY29wZQpQQVNTOiB0L2NzY29wZS50YXAgMTQgLSBbaW4tdHJl ZSBidWlsZF0gbWFrZSAtbiBjc2NvcGUKKyB0ZXN0IG5vID0gbm8KKyB0b3VjaCBjc2NvcGUu ZmlsZXMgY3Njb3BlLm91dCBjc2NvcGUuaW4ub3V0IGNzY29wZS5wby5vdXQKKyBza2lwX3Jv d18gMyAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgc2tpcF9jb3Vu dF89MworIHNoaWZ0Cisgc2VxXyAzCisgc2VxX2ZpcnN0PTEgc2VxX2luY3I9MSBzZXFfbGFz dD0zCisgaT0xCisgdGVzdCAxIC1sZSAzCisgZWNobyAxCisgaT0yCisgdGVzdCAyIC1sZSAz CisgZWNobyAyCisgaT0zCisgdGVzdCAzIC1sZSAzCisgZWNobyAzCisgaT00CisgdGVzdCA0 IC1sZSAzCisgc2tpcF8gLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9ncmFtIGF2YWlsYWJsZQor IHJlc3VsdF8gb2sgLUQgU0tJUCAtciBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxh YmxlCisgc2V0ICt4Cm9rIDE1ICMgU0tJUCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZh aWxhYmxlClNLSVA6IHQvY3Njb3BlLnRhcCAxNSAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBw cm9ncmFtIGF2YWlsYWJsZQorIHNraXBfIC1yIG5vIHByb3BlciBjc2NvcGUgcHJvZ3JhbSBh dmFpbGFibGUKKyByZXN1bHRfIG9rIC1EIFNLSVAgLXIgbm8gcHJvcGVyIGNzY29wZSBwcm9n cmFtIGF2YWlsYWJsZQorIHNldCAreApvayAxNiAjIFNLSVAgbm8gcHJvcGVyIGNzY29wZSBw cm9ncmFtIGF2YWlsYWJsZQpTS0lQOiB0L2NzY29wZS50YXAgMTYgIyBTS0lQIG5vIHByb3Bl ciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBza2lwXyAtciBubyBwcm9wZXIgY3Njb3Bl IHByb2dyYW0gYXZhaWxhYmxlCisgcmVzdWx0XyBvayAtRCBTS0lQIC1yIG5vIHByb3BlciBj c2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKKyBzZXQgK3gKb2sgMTcgIyBTS0lQIG5vIHByb3Bl ciBjc2NvcGUgcHJvZ3JhbSBhdmFpbGFibGUKU0tJUDogdC9jc2NvcGUudGFwIDE3ICMgU0tJ UCBubyBwcm9wZXIgY3Njb3BlIHByb2dyYW0gYXZhaWxhYmxlCisgcmV0dXJuIDAKKyB0ZXN0 X2NsZWFudXAKKyByPW9rCisgdGVzdCAtZiBjb25maWd1cmUKKyBtYWtlIGRpc3RjbGVhbgpN YWtpbmcgZGlzdGNsZWFuIGluIHN1YgptYWtlWzFdwqA6IG9uIGVudHJlIGRhbnMgbGUgcsOp cGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9j c2NvcGUuZGlyL3N1YsKgwrsKdGVzdCAteiAiYmFyIiB8fCBybSAtZiBiYXIKdGVzdCAteiAi c3Vic3ViL2dlbi5jIiB8fCBybSAtZiBzdWJzdWIvZ2VuLmMKcm0gLWYgKi4Kcm0gLWYgc3Vi c3ViLyouCnJtIC1mICoudGFiLmMKdGVzdCAteiAiIiB8fCBybSAtZiAKdGVzdCAuID0gIi4i IHx8IHRlc3QgLXogIiIgfHwgcm0gLWYgCnJtIC1mIHN1YnN1Yi8uZGlyc3RhbXAKcm0gLWYg VEFHUyBJRCBHVEFHUyBHUlRBR1MgR1NZTVMgR1BBVEggdGFncwpybSAtZiBNYWtlZmlsZQpt YWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2NzY29wZS5kaXIvc3ViwqDCuwptYWtlWzFdwqA6 IG9uIGVudHJlIGRhbnMgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9jc2NvcGUuZGlywqDCuwp0ZXN0IC16ICJmb28iIHx8IHJt IC1mIGZvbwpybSAtZiBmb28uZWxjCnJtIC1mICouCnJtIC1mICoudGFiLmMKdGVzdCAteiAi IiB8fCBybSAtZiAKdGVzdCAuID0gIi4iIHx8IHRlc3QgLXogIiIgfHwgcm0gLWYgCnJtIC1m IFRBR1MgSUQgR1RBR1MgR1JUQUdTIEdTWU1TIEdQQVRIIHRhZ3MKcm0gLWYgY3Njb3BlLm91 dCBjc2NvcGUuaW4ub3V0IGNzY29wZS5wby5vdXQgY3Njb3BlLmZpbGVzCm1ha2VbMV3CoDog b24gcXVpdHRlIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvY3Njb3BlLmRpcsKgwrsKcm0gLWYgY29uZmlnLnN0YXR1cyBjb25m aWcuY2FjaGUgY29uZmlnLmxvZyBjb25maWd1cmUubGluZW5vIGNvbmZpZy5zdGF0dXMubGlu ZW5vCnJtIC1mIE1ha2VmaWxlCisgdGVzdCAhIC1lIGNzY29wZS5maWxlcworIHRlc3QgISAt ZSBjc2NvcGUub3V0CisgdGVzdCAhIC1lIGNzY29wZS5pbi5vdXQKKyB0ZXN0ICEgLWUgY3Nj b3BlLnBvLm91dAorIHJlc3VsdF8gb2sgW2luLXRyZWUgYnVpbGRdIG1ha2UgZGlzdGNoZWNr Cisgc2V0ICt4Cm9rIDE4IC0gW2luLXRyZWUgYnVpbGRdIG1ha2UgZGlzdGNoZWNrClBBU1M6 IHQvY3Njb3BlLnRhcCAxOCAtIFtpbi10cmVlIGJ1aWxkXSBtYWtlIGRpc3RjaGVjaworIDoK KyBhbV9leGl0X3RyYXAgMAorIGV4aXRfc3RhdHVzPTAKKyBzZXQgK2UKKyBjZCAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCB0YXAgPSB0YXAKKyB0ZXN0 IDE4ID0gbGF0ZXIKKyB0ZXN0IDAgLWVxIDAKKyB0ZXN0IDkgLWVxIDE4Cisga2VlcF90ZXN0 ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBzZXQgK3gKClNL SVA6IHQvY3Njb3BlMwo9PT09PT09PT09PT09PT0KCmNzY29wZTM6IHJ1bm5pbmcgY3Njb3Bl IC0tdmVyc2lvbgouL3QvY3Njb3BlMy5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBjc2NvcGU6IG5vdCBmb3VuZApT S0lQIHQvY3Njb3BlMy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9kaXN0LXRhcloK PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3Qg UHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDov aG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0z MkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0t bm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdk Ci9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9kaXN0LXRhclouZGly CisgZWNobyBhYWFhYWFhYWFhYWFhYWFhYWFhYWEKKyBlY2hvIGFhYWFhYWFhYWFhYWFhYWFh YWFhYQorIGVjaG8gYWFhYWFhYWFhYWFhYWFhYWFhYWFhCisgZWNobyBhYWFhYWFhYWFhYWFh YWFhYWFhYWEKKyBlY2hvIGFhYWFhYWFhYWFhYWFhYWFhYWFhYQorIGVjaG8gYWFhYWFhYWFh YWFhYWFhYWFhYWFhCisgZWNobyBhYWFhYWFhYWFhYWFhYWFhYWFhYWEKKyBlY2hvIGFhYWFh YWFhYWFhYWFhYWFhYWFhYQorIGNvbXByZXNzIC1jCi4vdC9kaXN0LXRhclouc2g6IDMxOiAu L3QvZGlzdC10YXJaLnNoOiBjb21wcmVzczogbm90IGZvdW5kCisgc2tpcF8gY2Fubm90IGZp bmQgYSB3b3JraW5nICdjb21wcmVzcycgcHJvZ3JhbQorIHdhcm5fIGRpc3QtdGFyWjogc2tp cHBlZCB0ZXN0OiBjYW5ub3QgZmluZCBhIHdvcmtpbmcgJ2NvbXByZXNzJyBwcm9ncmFtCisg ZWNobyBkaXN0LXRhclo6IHNraXBwZWQgdGVzdDogY2Fubm90IGZpbmQgYSB3b3JraW5nICdj b21wcmVzcycgcHJvZ3JhbQorIF9hbV9leGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3 CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMKKyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRf dHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVx IDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4g MAorIHNldCAreApTS0lQIHQvZGlzdC10YXJaLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQ OiB0L2Rpc3Qtc2hhcgo9PT09PT09PT09PT09PT09PQoKZGlzdC1zaGFyOiBydW5uaW5nIHNo YXIgLS12ZXJzaW9uCi4vdC9kaXN0LXNoYXIuc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogc2hhcjogbm90IGZvdW5k ClNLSVAgdC9kaXN0LXNoYXIuc2ggKGV4aXQgc3RhdHVzOiA3NykKClhGQUlMOiB0L2Rpc3Qt cHIxMDk3NjUKPT09PT09PT09PT09PT09PT09PT09PQoKZGlzdC1wcjEwOTc2NTogcnVubmlu ZyBiemlwMiAtLWhlbHAKYnppcDIsIGEgYmxvY2stc29ydGluZyBmaWxlIGNvbXByZXNzb3Iu ICBWZXJzaW9uIDEuMC44LCAxMy1KdWwtMjAxOS4KCiAgIHVzYWdlOiBiemlwMiBbZmxhZ3Mg YW5kIGlucHV0IGZpbGVzIGluIGFueSBvcmRlcl0KCiAgIC1oIC0taGVscCAgICAgICAgICAg cHJpbnQgdGhpcyBtZXNzYWdlCiAgIC1kIC0tZGVjb21wcmVzcyAgICAgZm9yY2UgZGVjb21w cmVzc2lvbgogICAteiAtLWNvbXByZXNzICAgICAgIGZvcmNlIGNvbXByZXNzaW9uCiAgIC1r IC0ta2VlcCAgICAgICAgICAga2VlcCAoZG9uJ3QgZGVsZXRlKSBpbnB1dCBmaWxlcwogICAt ZiAtLWZvcmNlICAgICAgICAgIG92ZXJ3cml0ZSBleGlzdGluZyBvdXRwdXQgZmlsZXMKICAg LXQgLS10ZXN0ICAgICAgICAgICB0ZXN0IGNvbXByZXNzZWQgZmlsZSBpbnRlZ3JpdHkKICAg LWMgLS1zdGRvdXQgICAgICAgICBvdXRwdXQgdG8gc3RhbmRhcmQgb3V0CiAgIC1xIC0tcXVp ZXQgICAgICAgICAgc3VwcHJlc3Mgbm9uY3JpdGljYWwgZXJyb3IgbWVzc2FnZXMKICAgLXYg LS12ZXJib3NlICAgICAgICBiZSB2ZXJib3NlIChhIDJuZCAtdiBnaXZlcyBtb3JlKQogICAt TCAtLWxpY2Vuc2UgICAgICAgIGRpc3BsYXkgc29mdHdhcmUgdmVyc2lvbiAmIGxpY2Vuc2UK ICAgLVYgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHNvZnR3YXJlIHZlcnNpb24gJiBsaWNl bnNlCiAgIC1zIC0tc21hbGwgICAgICAgICAgdXNlIGxlc3MgbWVtb3J5IChhdCBtb3N0IDI1 MDBrKQogICAtMSAuLiAtOSAgICAgICAgICAgIHNldCBibG9jayBzaXplIHRvIDEwMGsgLi4g OTAwawogICAtLWZhc3QgICAgICAgICAgICAgIGFsaWFzIGZvciAtMQogICAtLWJlc3QgICAg ICAgICAgICAgIGFsaWFzIGZvciAtOQoKICAgSWYgaW52b2tlZCBhcyBgYnppcDInLCBkZWZh dWx0IGFjdGlvbiBpcyB0byBjb21wcmVzcy4KICAgICAgICAgICAgICBhcyBgYnVuemlwMics ICBkZWZhdWx0IGFjdGlvbiBpcyB0byBkZWNvbXByZXNzLgogICAgICAgICAgICAgIGFzIGBi emNhdCcsIGRlZmF1bHQgYWN0aW9uIGlzIHRvIGRlY29tcHJlc3MgdG8gc3Rkb3V0LgoKICAg SWYgbm8gZmlsZSBuYW1lcyBhcmUgZ2l2ZW4sIGJ6aXAyIGNvbXByZXNzZXMgb3IgZGVjb21w cmVzc2VzCiAgIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gc3RhbmRhcmQgb3V0cHV0LiAgWW91 IGNhbiBjb21iaW5lCiAgIHNob3J0IGZsYWdzLCBzbyBgLXYgLTQnIG1lYW5zIHRoZSBzYW1l IGFzIC12NCBvciAtNHYsICZjLgoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVz dCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4 Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NU TTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFy bS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBw d2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2Rpc3QtcHIxMDk3 NjUuZGlyCisgZWNobyBBQ19PVVRQVVQKKyA6CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBh dXRvY29uZgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyAuL2Nv bmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3Iv YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz YW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmlu L21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBt YWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVz IGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcg Li9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFr ZSBkaXN0LWd6aXAgZGlzdC1iemlwMgptYWtlICBkaXN0ZGlyLWFtCm1ha2VbMV3CoDogb24g ZW50cmUgZGFucyBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L2Rpc3QtcHIxMDk3NjUuZGlywqDCuwppZiB0ZXN0IC1kICJkaXN0 LXByMTA5NzY1LTEuMCI7IHRoZW4gZmluZCAiZGlzdC1wcjEwOTc2NS0xLjAiIC10eXBlIGQg ISAtcGVybSAtMjAwIC1leGVjIGNobW9kIHUrdyB7fSAnOycgJiYgcm0gLXJmICJkaXN0LXBy MTA5NzY1LTEuMCIgfHwgeyBzbGVlcCA1ICYmIHJtIC1yZiAiZGlzdC1wcjEwOTc2NS0xLjAi OyB9OyBlbHNlIDo7IGZpCnRlc3QgLWQgImRpc3QtcHIxMDk3NjUtMS4wIiB8fCBta2RpciAi ZGlzdC1wcjEwOTc2NS0xLjAiCnRlc3QgLW4gIiIgXAp8fCBmaW5kICJkaXN0LXByMTA5NzY1 LTEuMCIgLXR5cGUgZCAhIC1wZXJtIC03NTUgXAoJLWV4ZWMgY2htb2QgdStyd3gsZ28rcngg e30gXDsgLW8gXAogICEgLXR5cGUgZCAhIC1wZXJtIC00NDQgLWxpbmtzIDEgLWV4ZWMgY2ht b2QgYStyIHt9IFw7IC1vIFwKICAhIC10eXBlIGQgISAtcGVybSAtNDAwIC1leGVjIGNobW9k IGErciB7fSBcOyAtbyBcCiAgISAtdHlwZSBkICEgLXBlcm0gLTQ0NCAtZXhlYyAvYmluL2Jh c2ggL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2Rpc3QtcHIxMDk3 NjUuZGlyL2luc3RhbGwtc2ggLWMgLW0gYStyIHt9IHt9IFw7IFwKfHwgY2htb2QgLVIgYSty ICJkaXN0LXByMTA5NzY1LTEuMCIKbWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9p cmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9kaXN0LXBy MTA5NzY1LmRpcsKgwrsKdGFyZGlyPWRpc3QtcHIxMDk3NjUtMS4wICYmICR7VEFSLXRhcn0g Y2hvZiAtICIkdGFyZGlyIiB8IGV2YWwgR1pJUD0gZ3ppcCAtLWJlc3QgLWMgPmRpc3QtcHIx MDk3NjUtMS4wLnRhci5negppZiB0ZXN0IC1kICJkaXN0LXByMTA5NzY1LTEuMCI7IHRoZW4g ZmluZCAiZGlzdC1wcjEwOTc2NS0xLjAiIC10eXBlIGQgISAtcGVybSAtMjAwIC1leGVjIGNo bW9kIHUrdyB7fSAnOycgJiYgcm0gLXJmICJkaXN0LXByMTA5NzY1LTEuMCIgfHwgeyBzbGVl cCA1ICYmIHJtIC1yZiAiZGlzdC1wcjEwOTc2NS0xLjAiOyB9OyBlbHNlIDo7IGZpCnRhcmRp cj1kaXN0LXByMTA5NzY1LTEuMCAmJiAke1RBUi10YXJ9IGNob2YgLSAiJHRhcmRpciIgfCBC WklQMj0ke0JaSVAyLS05fSBiemlwMiAtYyA+ZGlzdC1wcjEwOTc2NS0xLjAudGFyLmJ6Mgp0 YXI6IGRpc3QtcHIxMDk3NjUtMS4wIDogc3RhdCBpbXBvc3NpYmxlOiBBdWN1biBmaWNoaWVy IG91IGRvc3NpZXIgZGUgY2UgdHlwZQp0YXI6IEFycsOqdCBhdmVjIGNvZGUgZCfDqWNoZWMg w6AgY2F1c2UgZGVzIGVycmV1cnMgcHLDqWPDqWRlbnRlcwppZiB0ZXN0IC1kICJkaXN0LXBy MTA5NzY1LTEuMCI7IHRoZW4gZmluZCAiZGlzdC1wcjEwOTc2NS0xLjAiIC10eXBlIGQgISAt cGVybSAtMjAwIC1leGVjIGNobW9kIHUrdyB7fSAnOycgJiYgcm0gLXJmICJkaXN0LXByMTA5 NzY1LTEuMCIgfHwgeyBzbGVlcCA1ICYmIHJtIC1yZiAiZGlzdC1wcjEwOTc2NS0xLjAiOyB9 OyBlbHNlIDo7IGZpCisgZ3ppcCAtZGMgZGlzdC1wcjEwOTc2NS0xLjAudGFyLmd6CisgdGFy IHRmIC0KKyBjYXQgb25lCmRpc3QtcHIxMDk3NjUtMS4wLwpkaXN0LXByMTA5NzY1LTEuMC9h Y2xvY2FsLm00CmRpc3QtcHIxMDk3NjUtMS4wL2luc3RhbGwtc2gKZGlzdC1wcjEwOTc2NS0x LjAvbWlzc2luZwpkaXN0LXByMTA5NzY1LTEuMC9jb25maWd1cmUKZGlzdC1wcjEwOTc2NS0x LjAvZGVwY29tcApkaXN0LXByMTA5NzY1LTEuMC9jb21waWxlCmRpc3QtcHIxMDk3NjUtMS4w L2NvbmZpZ3VyZS5hYwpkaXN0LXByMTA5NzY1LTEuMC9NYWtlZmlsZS5pbgpkaXN0LXByMTA5 NzY1LTEuMC9NYWtlZmlsZS5hbQorIGJ6aXAyIC1kYyBkaXN0LXByMTA5NzY1LTEuMC50YXIu Z3oKKyB0YXIgdGYgLQpiemlwMjogZGlzdC1wcjEwOTc2NS0xLjAudGFyLmd6IGlzIG5vdCBh IGJ6aXAyIGZpbGUuCnRhcjogQ2VjaSBuZSByZXNzZW1ibGUgcGFzIMOgIHVuZSBhcmNoaXZl IGRlIHR5cGUgwqsgdGFyIMK7CnRhcjogQXJyw6p0IGF2ZWMgY29kZSBkJ8OpY2hlYyDDoCBj YXVzZSBkZXMgZXJyZXVycyBwcsOpY8OpZGVudGVzCisgY2F0IHR3bworIF9hbV9leGl0IDEK KyBzZXQgK2UKKyB0ZXN0IDc3ID0gMQorIGV4aXQgMQorIGV4aXQgMQorIGFtX2V4aXRfdHJh cCAxCisgZXhpdF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDEgLWVxIDAKKyBr ZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNl dCAreApYRkFJTCB0L2Rpc3QtcHIxMDk3NjUuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDog dC9kaXN0Y2hlY2stcHIxMDQ3MAo9PT09PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5n IGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmlu Oi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIy LjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRl L2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvZGlzdGNoZWNrLXByMTA0NzAuZGlyCisgbWtkaXIgZm9vLmQKKyBz bGVlcCAxCisgc2ggLWMgY2QgZm9vLmQgJiYgc2xlZXAgJzQnCisgcm0gLXJmIGZvby5kCisg c2tpcF8gc3lzdGVtIGlzIGFibGUgdG8gcmVtb3ZlICJpbiB1c2UiIGRpcmVjdG9yaWVzCisg d2Fybl8gZGlzdGNoZWNrLXByMTA0NzA6IHNraXBwZWQgdGVzdDogc3lzdGVtIGlzIGFibGUg dG8gcmVtb3ZlICJpbiB1c2UiIGRpcmVjdG9yaWVzCisgZWNobyBkaXN0Y2hlY2stcHIxMDQ3 MDogc2tpcHBlZCB0ZXN0OiBzeXN0ZW0gaXMgYWJsZSB0byByZW1vdmUgImluIHVzZSIgZGly ZWN0b3JpZXMKKyBfYW1fZXhpdCA3NworIHNldCArZQorIHRlc3QgNzcgPSA3NworIGFtX190 ZXN0X3NraXBwZWQ9eWVzCisgZXhpdCA3NworIGV4aXQgNzcKKyBhbV9leGl0X3RyYXAgNzcK KyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDc3IC1lcSAwCisga2Vl cF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBzZXQg K3gKU0tJUCB0L2Rpc3RjaGVjay1wcjEwNDcwLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQ OiB0L2ZvcnQyCj09PT09PT09PT09PT0KClNLSVAgdC9mb3J0Mi5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9mb3J0NAo9PT09PT09PT09PT09CgpTS0lQIHQvZm9ydDQuc2ggKGV4 aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvZm9ydDUKPT09PT09PT09PT09PQoKZm9ydDU6IHJ1 bm5pbmcgbGlidG9vbGl6ZSAtLXZlcnNpb24KbGlidG9vbGl6ZSAoR05VIGxpYnRvb2wpIDIu NC42CldyaXR0ZW4gYnkgR2FyeSBWLiBWYXVnaGFuIDxnYXJ5QGdudS5vcmc+LCAyMDAzCgpD b3B5cmlnaHQgKEMpIDIwMTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMg aXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9u cy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgpTS0lQIHQvZm9ydDUuc2gg KGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvZ2NqNAo9PT09PT09PT09PT0KClNLSVAgdC9n Y2o0LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2djajYKPT09PT09PT09PT09CgpT S0lQIHQvZ2NqNi5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9nZXR0ZXh0LWJhc2lj cwo9PT09PT09PT09PT09PT09PT09PT09CgpnZXR0ZXh0LWJhc2ljczogcnVubmluZyBnZXR0 ZXh0IC0tdmVyc2lvbgpnZXR0ZXh0IChHTlUgZ2V0dGV4dC1ydW50aW1lKSAwLjIwLjIKQ29w eXJpZ2h0IChDKSAxOTk1LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxp Y2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6Ly9nbnUu b3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUg ZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFO VFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBVbHJpY2gg RHJlcHBlci4KU0tJUCB0L2dldHRleHQtYmFzaWNzLnNoIChleGl0IHN0YXR1czogNzcpCgpT S0lQOiB0L2dldHRleHQtY29uZmlnLXJwYXRoCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KCmdldHRleHQtY29uZmlnLXJwYXRoOiBydW5uaW5nIGdldHRleHQgLS12ZXJzaW9uCmdl dHRleHQgKEdOVSBnZXR0ZXh0LXJ1bnRpbWUpIDAuMjAuMgpDb3B5cmlnaHQgKEMpIDE5OTUt MjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mys6IEdO VSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwczovL2dudS5vcmcvbGljZW5zZXMvZ3Bs Lmh0bWw+ClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBh bmQgcmVkaXN0cmlidXRlIGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVu dCBwZXJtaXR0ZWQgYnkgbGF3LgrDiWNyaXQgcGFyIFVscmljaCBEcmVwcGVyLgpTS0lQIHQv Z2V0dGV4dC1jb25maWctcnBhdGguc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvZ2V0 dGV4dC1leHRlcm5hbC1wcjMzOAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmdl dHRleHQtZXh0ZXJuYWwtcHIzMzg6IHJ1bm5pbmcgZ2V0dGV4dCAtLXZlcnNpb24KZ2V0dGV4 dCAoR05VIGdldHRleHQtcnVudGltZSkgMC4yMC4yCkNvcHlyaWdodCAoQykgMTk5NS0yMDIw IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpMaWNlbnNlIEdQTHYzKzogR05VIEdQ TCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHBzOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRt bD4KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCBy ZWRpc3RyaWJ1dGUgaXQuClRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBl cm1pdHRlZCBieSBsYXcuCsOJY3JpdCBwYXIgVWxyaWNoIERyZXBwZXIuClNLSVAgdC9nZXR0 ZXh0LWV4dGVybmFsLXByMzM4LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2dldHRl eHQtaW50bC1zdWJkaXIKPT09PT09PT09PT09PT09PT09PT09PT09PT09CgpnZXR0ZXh0LWlu dGwtc3ViZGlyOiBydW5uaW5nIGdldHRleHQgLS12ZXJzaW9uCmdldHRleHQgKEdOVSBnZXR0 ZXh0LXJ1bnRpbWUpIDAuMjAuMgpDb3B5cmlnaHQgKEMpIDE5OTUtMjAyMCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAz IG9yIGxhdGVyIDxodHRwczovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw+ClRoaXMgaXMg ZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRl IGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkg bGF3LgrDiWNyaXQgcGFyIFVscmljaCBEcmVwcGVyLgpTS0lQIHQvZ2V0dGV4dC1pbnRsLXN1 YmRpci5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9nZXR0ZXh0LXByMzgxCj09PT09 PT09PT09PT09PT09PT09PQoKZ2V0dGV4dC1wcjM4MTogcnVubmluZyBnZXR0ZXh0IC0tdmVy c2lvbgpnZXR0ZXh0IChHTlUgZ2V0dGV4dC1ydW50aW1lKSAwLjIwLjIKQ29weXJpZ2h0IChD KSAxOTk1LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BM djMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6Ly9nbnUub3JnL2xpY2Vu c2VzL2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBj aGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRo ZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBVbHJpY2ggRHJlcHBlci4K U0tJUCB0L2dldHRleHQtcHIzODEuc2ggKGV4aXQgc3RhdHVzOiA3NykKClhGQUlMOiB0L2lu c3RkaXItY29uZDIKPT09PT09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3Rh bGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2Jpbjov YmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9t ZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9T RUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2luc3RkaXItY29uZDIuZGlyCisgY2F0CisgOgorIDoKKyBjYXQKKyBhY2xvY2FsLTEu MTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBh dXRvY29uZgorIHB3ZAorIC4vY29uZmlndXJlIC0tcHJlZml4PS9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0ZGlyLWNvbmQyLmRpci9pbnN0CmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMK Y29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBtYWtlIGluc3RhbGxkaXJzCmZv ciBkaXIgaW4gIi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0 ZGlyLWNvbmQyLmRpci9pbnN0L2xpYmV4ZWMvaW5zdGRpci1jb25kMiIgIi9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9pbnN0ZGlyLWNvbmQyLmRpci9pbnN0L3No YXJlL2luc3RkaXItY29uZDIiOyBkbyBcCiAgdGVzdCAteiAiJGRpciIgfHwgL2Jpbi9ta2Rp ciAtcCAiJGRpciI7IFwKZG9uZQorIHRlc3QgISAtZSBpbnN0CisgZmluZCBpbnN0Cmluc3QK aW5zdC9zaGFyZQppbnN0L3NoYXJlL2luc3RkaXItY29uZDIKaW5zdC9saWJleGVjCmluc3Qv bGliZXhlYy9pbnN0ZGlyLWNvbmQyCisgX2FtX2V4aXQgMQorIHNldCArZQorIHRlc3QgNzcg PSAxCisgZXhpdCAxCisgZXhpdCAxCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0x Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgor IHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisg YW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvaW5zdGRp ci1jb25kMi5zaCAoZXhpdCBzdGF0dXM6IDEpCgpTS0lQOiB0L2luc3RkaXItamF2YQo9PT09 PT09PT09PT09PT09PT09PQoKaW5zdGRpci1qYXZhOiBydW5uaW5nIGphdmFjIC12ZXJzaW9u IC1oZWxwCi4vdC9pbnN0ZGlyLWphdmEuc2g6IDg2MTogL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogamF2YWM6IG5vdCBmb3VuZApT S0lQIHQvaW5zdGRpci1qYXZhLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2luc3Rk aXItbGlzcAo9PT09PT09PT09PT09PT09PT09PQoKaW5zdGRpci1saXNwOiBydW5uaW5nIGVt YWNzIC0tdmVyc2lvbgouL3QvaW5zdGRpci1saXNwLnNoOiA5OTM6IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3Qg Zm91bmQKU0tJUCB0L2luc3RkaXItbGlzcC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDog dC9pbnN0ZmFpbC1qYXZhCj09PT09PT09PT09PT09PT09PT09PQoKaW5zdGZhaWwtamF2YTog cnVubmluZyBqYXZhYyAtdmVyc2lvbiAtaGVscAouL3QvaW5zdGZhaWwtamF2YS5zaDogODYx OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0 LnNoOiBqYXZhYzogbm90IGZvdW5kClNLSVAgdC9pbnN0ZmFpbC1qYXZhLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L2phdmEKPT09PT09PT09PT09CgpqYXZhOiBydW5uaW5nIGph dmFjIC12ZXJzaW9uIC1oZWxwCi4vdC9qYXZhLnNoOiA4NjE6IC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGphdmFjOiBub3QgZm91 bmQKU0tJUCB0L2phdmEuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvamF2YS1jaGVj awo9PT09PT09PT09PT09PT09PT0KCmphdmEtY2hlY2s6IHJ1bm5pbmcgamF2YWMgLXZlcnNp b24gLWhlbHAKLi90L2phdmEtY2hlY2suc2g6IDg2MTogL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogamF2YWM6IG5vdCBmb3VuZApT S0lQIHQvamF2YS1jaGVjay5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9qYXZhLWNs ZWFuCj09PT09PT09PT09PT09PT09PQoKamF2YS1jbGVhbjogcnVubmluZyBqYXZhYyAtdmVy c2lvbiAtaGVscAouL3QvamF2YS1jbGVhbi5zaDogODYxOiAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBqYXZhYzogbm90IGZvdW5k ClNLSVAgdC9qYXZhLWNsZWFuLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2phdmEt Y29tcGlsZS1pbnN0YWxsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmphdmEtY29t cGlsZS1pbnN0YWxsOiBydW5uaW5nIGphdmFjIC12ZXJzaW9uIC1oZWxwCi4vdC9qYXZhLWNv bXBpbGUtaW5zdGFsbC5zaDogODYxOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBqYXZhYzogbm90IGZvdW5kClNLSVAgdC9qYXZh LWNvbXBpbGUtaW5zdGFsbC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9qYXZhLWNv bXBpbGUtcnVuLWZsYXQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmphdmEtY29t cGlsZS1ydW4tZmxhdDogcnVubmluZyBqYXZhIC12ZXJzaW9uIC1oZWxwCm9wZW5qZGsgdmVy c2lvbiAiMS44LjBfMjUyIgpPcGVuSkRLIFJ1bnRpbWUgRW52aXJvbm1lbnQgKGJ1aWxkIDEu OC4wXzI1Mi04dTI1Mi1iMDktMX5kZWI5dTEtYjA5KQpPcGVuSkRLIDY0LUJpdCBTZXJ2ZXIg Vk0gKGJ1aWxkIDI1LjI1Mi1iMDksIG1peGVkIG1vZGUpCmphdmEtY29tcGlsZS1ydW4tZmxh dDogcnVubmluZyBqYXZhYyAtdmVyc2lvbiAtaGVscAouL3QvamF2YS1jb21waWxlLXJ1bi1m bGF0LnNoOiA4NjE6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9h eC90ZXN0LWluaXQuc2g6IGphdmFjOiBub3QgZm91bmQKU0tJUCB0L2phdmEtY29tcGlsZS1y dW4tZmxhdC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9qYXZhLWNvbXBpbGUtcnVu LW5lc3RlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpqYXZhLWNvbXBpbGUt cnVuLW5lc3RlZDogcnVubmluZyBqYXZhIC12ZXJzaW9uIC1oZWxwCm9wZW5qZGsgdmVyc2lv biAiMS44LjBfMjUyIgpPcGVuSkRLIFJ1bnRpbWUgRW52aXJvbm1lbnQgKGJ1aWxkIDEuOC4w XzI1Mi04dTI1Mi1iMDktMX5kZWI5dTEtYjA5KQpPcGVuSkRLIDY0LUJpdCBTZXJ2ZXIgVk0g KGJ1aWxkIDI1LjI1Mi1iMDksIG1peGVkIG1vZGUpCmphdmEtY29tcGlsZS1ydW4tbmVzdGVk OiBydW5uaW5nIGphdmFjIC12ZXJzaW9uIC1oZWxwCi4vdC9qYXZhLWNvbXBpbGUtcnVuLW5l c3RlZC5zaDogODYxOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv YXgvdGVzdC1pbml0LnNoOiBqYXZhYzogbm90IGZvdW5kClNLSVAgdC9qYXZhLWNvbXBpbGUt cnVuLW5lc3RlZC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9qYXZhLWVtcHR5LWNs YXNzcGF0aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpqYXZhLWVtcHR5LWNsYXNz cGF0aDogcnVubmluZyBqYXZhYyAtdmVyc2lvbiAtaGVscAouL3QvamF2YS1lbXB0eS1jbGFz c3BhdGguc2g6IDg2MTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2F4L3Rlc3QtaW5pdC5zaDogamF2YWM6IG5vdCBmb3VuZApTS0lQIHQvamF2YS1lbXB0eS1j bGFzc3BhdGguc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvamF2YS1leHRyYQo9PT09 PT09PT09PT09PT09PT0KCmphdmEtZXh0cmE6IHJ1bm5pbmcgamF2YWMgLXZlcnNpb24gLWhl bHAKLi90L2phdmEtZXh0cmEuc2g6IDg2MTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogamF2YWM6IG5vdCBmb3VuZApTS0lQIHQv amF2YS1leHRyYS5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9qYXZhLW5vYmFzZQo9 PT09PT09PT09PT09PT09PT09CgpqYXZhLW5vYmFzZTogcnVubmluZyBqYXZhYyAtdmVyc2lv biAtaGVscAouL3QvamF2YS1ub2Jhc2Uuc2g6IDg2MTogL2hvbWUvaHYvc3NkMy9zb3VyY2Vz L2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogamF2YWM6IG5vdCBmb3VuZApT S0lQIHQvamF2YS1ub2Jhc2Uuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvamF2YS1u b2luc3QKPT09PT09PT09PT09PT09PT09PQoKamF2YS1ub2luc3Q6IHJ1bm5pbmcgamF2YWMg LXZlcnNpb24gLWhlbHAKLi90L2phdmEtbm9pbnN0LnNoOiA4NjE6IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGphdmFjOiBub3Qg Zm91bmQKU0tJUCB0L2phdmEtbm9pbnN0LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0 L2phdmEtcmVidWlsZAo9PT09PT09PT09PT09PT09PT09PQoKamF2YS1yZWJ1aWxkOiBydW5u aW5nIGphdmFjIC12ZXJzaW9uIC1oZWxwCi4vdC9qYXZhLXJlYnVpbGQuc2g6IDg2MTogL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDog amF2YWM6IG5vdCBmb3VuZApTS0lQIHQvamF2YS1yZWJ1aWxkLnNoIChleGl0IHN0YXR1czog NzcpCgpTS0lQOiB0L2phdmEtdW5pbnN0YWxsCj09PT09PT09PT09PT09PT09PT09PT0KCmph dmEtdW5pbnN0YWxsOiBydW5uaW5nIGphdmFjIC12ZXJzaW9uIC1oZWxwCi4vdC9qYXZhLXVu aW5zdGFsbC5zaDogODYxOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYXgvdGVzdC1pbml0LnNoOiBqYXZhYzogbm90IGZvdW5kClNLSVAgdC9qYXZhLXVuaW5z dGFsbC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKWEZBSUw6IHQvbGV4LXN1Ym9iai1ub2RlcAo9 PT09PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBu bwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUv aHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9n Y2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGlu aworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvbGV4LXN1 Ym9iai1ub2RlcC5kaXIKKyBjYXQKKyBjYXQKKyBta2RpciBzdWIxIHN1YjIKKyBjYXQKKyBj cCBzdWIxL3MxLmwgc3ViMi9zMi5sCisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29u ZgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLWEKY29uZmlndXJl LmFjOiBpbnN0YWxsaW5nICcuL3lsd3JhcCcKKyBta2RpciBidWlsZAorIGNkIGJ1aWxkCisg Li4vY29uZmlndXJlIC0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nCmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5n IGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4u LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBj b21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0 YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBu bwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdo ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcg d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24g dG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2Mg dW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxl KQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBub25lCmNoZWNraW5nIGZv ciBmbGV4Li4uIGxleApjaGVja2luZyBsZXggb3V0cHV0IGZpbGUgcm9vdC4uLiBsZXgueXkK Y2hlY2tpbmcgbGV4IGxpYnJhcnkuLi4gLWxmbApjaGVja2luZyB3aGV0aGVyIHl5dGV4dCBp cyBhIHBvaW50ZXIuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBu ZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25m aWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0 dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcworIG1ha2Ugc3ViMS9zMS5jCi9iaW4v YmFzaCAuLi95bHdyYXAgLi4vc3ViMS9zMS5sIGxleC55eS5jIHN1YjEvczEuYyAtLSBsZXgg IAouLi95bHdyYXA6IGxpZ25lIDIwNjogLi4vc3ViMS9zMS5jOiBBdWN1biBmaWNoaWVyIG91 IGRvc3NpZXIgZGUgY2UgdHlwZQptYWtlOiAqKiogW01ha2VmaWxlOjQ0MDogc3ViMS9zMS5j XSBFcnJvciAxCisgYW1fZXhpdF90cmFwIDIKKyBleGl0X3N0YXR1cz0yCisgc2V0ICtlCisg Y2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9 IHRhcAorIHRlc3QgMiAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvbGV4LXN1Ym9iai1ub2RlcC5z aCAoZXhpdCBzdGF0dXM6IDIpCgpTS0lQOiB0L2xpc3AzCj09PT09PT09PT09PT0KCmxpc3Az OiBydW5uaW5nIGVtYWNzIC0tdmVyc2lvbgouL3QvbGlzcDMuc2g6IDk5MzogL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogZW1hY3M6 IG5vdCBmb3VuZApTS0lQIHQvbGlzcDMuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQv bGlzcDQKPT09PT09PT09PT09PQoKbGlzcDQ6IHJ1bm5pbmcgZW1hY3MgLS12ZXJzaW9uCi4v dC9saXNwNC5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4y L3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczogbm90IGZvdW5kClNLSVAgdC9saXNwNC5zaCAo ZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9saXNwNQo9PT09PT09PT09PT09CgpsaXNwNTog cnVubmluZyBlbWFjcyAtLXZlcnNpb24KLi90L2xpc3A1LnNoOiA5OTM6IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBu b3QgZm91bmQKU0tJUCB0L2xpc3A1LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2xp c3A2Cj09PT09PT09PT09PT0KCmxpc3A2OiBydW5uaW5nIGVtYWNzIC0tdmVyc2lvbgouL3Qv bGlzcDYuc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2F4L3Rlc3QtaW5pdC5zaDogZW1hY3M6IG5vdCBmb3VuZApTS0lQIHQvbGlzcDYuc2ggKGV4 aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcDgKPT09PT09PT09PT09PQoKbGlzcDg6IGRl dGVybWluZSB3aGV0aGVyIG1ha2UgaXMgR05VIG1ha2UKR05VIE1ha2UgNC4yLjEKTGljZW5j ZSBHUEx2MyvCoDogR05VIEdQTCB2ZXJzaW9uIDMgb3UgdWx0w6lyaWV1cmUgPGh0dHA6Ly9n bnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpsaXNwODogcnVubmluZyBlbWFjcyAtLXZlcnNp b24KLi90L2xpc3A4LnNoOiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0L2xpc3A4 LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2xpc3AtcmVhZG9ubHktc3JjZGlyCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KCmxpc3AtcmVhZG9ubHktc3JjZGlyOiBydW5u aW5nIGVtYWNzIC0tdmVyc2lvbgouL3QvbGlzcC1yZWFkb25seS1zcmNkaXIuc2g6IDk5Mzog L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5z aDogZW1hY3M6IG5vdCBmb3VuZApTS0lQIHQvbGlzcC1yZWFkb25seS1zcmNkaXIuc2ggKGV4 aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcC1sb2FkcGF0aAo9PT09PT09PT09PT09PT09 PT09PT0KCmxpc3AtbG9hZHBhdGg6IHJ1bm5pbmcgZW1hY3MgLS12ZXJzaW9uCi4vdC9saXNw LWxvYWRwYXRoLnNoOiA5OTM6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3QgZm91bmQKU0tJUCB0L2xpc3AtbG9h ZHBhdGguc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcC1zdWJkaXIKPT09PT09 PT09PT09PT09PT09PQoKbGlzcC1zdWJkaXI6IHJ1bm5pbmcgZW1hY3MgLS12ZXJzaW9uCi4v dC9saXNwLXN1YmRpci5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczogbm90IGZvdW5kClNLSVAgdC9saXNw LXN1YmRpci5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9saXNwLXN1YmRpcjIKPT09 PT09PT09PT09PT09PT09PT0KCmxpc3Atc3ViZGlyMjogcnVubmluZyBlbWFjcyAtLXZlcnNp b24KLi90L2xpc3Atc3ViZGlyMi5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0 b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczogbm90IGZvdW5kClNLSVAg dC9saXNwLXN1YmRpcjIuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvbGlzcC1zdWJk aXItbWl4Cj09PT09PT09PT09PT09PT09PT09PT09CgpsaXNwLXN1YmRpci1taXg6IHJ1bm5p bmcgZW1hY3MgLS12ZXJzaW9uCi4vdC9saXNwLXN1YmRpci1taXguc2g6IDk5MzogL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogZW1h Y3M6IG5vdCBmb3VuZApTS0lQIHQvbGlzcC1zdWJkaXItbWl4LnNoIChleGl0IHN0YXR1czog NzcpCgpTS0lQOiB0L2xpc3BkcnkKPT09PT09PT09PT09PT09CgpsaXNwZHJ5OiBydW5uaW5n IGVtYWNzIC0tdmVyc2lvbgouL3QvbGlzcGRyeS5zaDogOTkzOiAvaG9tZS9odi9zc2QzL3Nv dXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBlbWFjczogbm90IGZv dW5kClNLSVAgdC9saXNwZHJ5LnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L2xpc3At cHIxMTgwNgo9PT09PT09PT09PT09PT09PT09PQoKbGlzcC1wcjExODA2OiBydW5uaW5nIGVt YWNzIC0tdmVyc2lvbgouL3QvbGlzcC1wcjExODA2LnNoOiA5OTM6IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGVtYWNzOiBub3Qg Zm91bmQKU0tJUCB0L2xpc3AtcHIxMTgwNi5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDog dC9tYW42Cj09PT09PT09PT09PQoKbWFuNjogcnVubmluZyBoZWxwMm1hbiAtLXZlcnNpb24K Li90L21hbjYuc2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L2F4L3Rlc3QtaW5pdC5zaDogaGVscDJtYW46IG5vdCBmb3VuZApTS0lQIHQvbWFuNi5z aCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9vYmpjLW1pbmlkZW1vCj09PT09PT09PT09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2Nv bDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9i aW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2 L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9T VE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVh YmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamMtbWluaWRlbW8uZGlyCisg Y2F0CisgY2F0CisgY2F0CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyA6IFdlIGhh dmUgYSBtb2Rlcm4gZW5vdWdoIGF1dG9jb25mLCBnbyBhaGVhZC4KKyBhY2xvY2FsLTEuMTYg LVdlcnJvcgorIGF1dG9jb25mCisgYXV0b2hlYWRlcgorIGF1dG9tYWtlLTEuMTYgLS1mb3Jl aWduIC1XZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZwpwYXJhbGxlbC10ZXN0czogaW5zdGFs bGluZyAnLi90ZXN0LWRyaXZlcicKKyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0Qt Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl dGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0 aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNo ZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIE9iamVjdGl2ZSBD IGNvbXBpbGVyIHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqYy1taW5pZGVtby5kaXInOgpjb25m aWd1cmU6IGVycm9yOiBPYmplY3RpdmUgQyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1 dGFibGVzClNlZSBgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0YWlscworIGFtX2V4aXRfdHJh cCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAK KyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAor IHNldCAreApTS0lQIHQvb2JqYy1taW5pZGVtby5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJ UDogdC9vYmpjLWZsYWdzCj09PT09PT09PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3Rh bGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2Jpbjov YmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9t ZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9T RUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu Mi90L29iamMtZmxhZ3MuZGlyCisgY2F0CisgY2F0CisgdW5pbmRlbnQKKyB0ZXN0IHggPSB4 CisgcHJpbnRmICVzXG4gCiAgL14kL2IgICAgICAgICAgICAgICAgICAgICMgTm90aGluZyB0 byBkbyBmb3IgZW1wdHkgbGluZXMuCiAgeCAgICAgICAgICAgICAgICAgICAgICAgICMgR2V0 IHg8aW5kZW50PiBpbnRvIHBhdHRlcm4gc3BhY2UuCiAgL14kL3sgICAgICAgICAgICAgICAg ICAgICMgTm8gcHJpb3IgeDxpbmRlbnQ+LCBnbyBwcmVwYXJlIGl0LgogICAgZyAgICAgICAg ICAgICAgICAgICAgICAjIENvcHkgdGhpcyAxc3Qgbm9uLWJsYW5rIGxpbmUgaW50byBwYXR0 ZXJuIHNwYWNlLgogICAgcy9eXChbCSBdKlwpLioveFwxLyAgICMgUHJlcGFyZSB4PGluZGVu dD4gaW4gcGF0dGVybiBzcGFjZS4KICB9ICAgICAgICAgICAgICAgICAgICAgICAgIyBOb3c6 IHg8aW5kZW50PiBpbiBwYXR0ZXJuIGFuZCA8bGluZT4gaW4gaG9sZC4KICBHICAgICAgICAg ICAgICAgICAgICAgICAgIyBCdWlsZCB4PGluZGVudD5cbjxsaW5lPiBpbiBwYXR0ZXJuIHNw YWNlLCBhbmQKICBoICAgICAgICAgICAgICAgICAgICAgICAgIyBkdXBsaWNhdGUgaXQgaW50 byBob2xkIHNwYWNlLgogIHMvXG4uKiQvLyAgICAgICAgICAgICAgICAjIFJlc3RvcmUgeDxp bmRlbnQ+IGluIHBhdHRlcm4gc3BhY2UsIGFuZAogIHggICAgICAgICAgICAgICAgICAgICAg ICAjIGV4Y2hhbmdlIHdpdGggdGhlIGFib3ZlIGR1cGxpY2F0ZSBpbiBob2xkIHNwYWNlLgog IHMvXnhcKC4qXClcblwxLy8gICAgICAgICAjIFJlbW92ZSBsZWFkaW5nIDxpbmRlbnQ+IGZy b20gPGxpbmU+LgogIHMvXnguKlxuLy8gICAgICAgICAgICAgICAjIFJlc3RvcmUgPGxpbmU+ IHdoZW4gdGhlcmUgaXMgbm8gbGVhZGluZyA8aW5kZW50Pi4KCisgc2VkIC1lIHMvICAqIyAu Ki8vCisgc2VkX3VuaW5kZW50X3Byb2c9CiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcKICAg IHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAgcy9e eFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8KKyBzZWQgCiAgL14kL2IKICB4CiAgL14kL3sK ICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8K ICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8KKyB1bmluZGVudAorIHRlc3Qg eAogIC9eJC9iCiAgeAogIC9eJC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94XDEvCiAg fQogIEcKICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBzL154Lipc bi8vID0geAorIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChbCSBd KlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwpXG5c MS8vCiAgcy9eeC4qXG4vLworIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBh dXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCisgL2Jpbi9ncmVwIC1G IE9CSkNGTEFHUyBNYWtlZmlsZS5pbgpmb280X0xJTksgPSAkKE9CSkNMRCkgJChmb280X09C SkNGTEFHUykgJChPQkpDRkxBR1MpICQoQU1fTERGTEFHUykgXAoJJChBTV9DUFBGTEFHUykg JChDUFBGTEFHUykgJChBTV9PQkpDRkxBR1MpICQoT0JKQ0ZMQUdTKQpPQkpDTElOSyA9ICQo T0JKQ0xEKSAkKEFNX09CSkNGTEFHUykgJChPQkpDRkxBR1MpICQoQU1fTERGTEFHUykgXApP QkpDRkxBR1MgPSBAT0JKQ0ZMQUdTQApBTV9PQkpDRkxBR1MgPSAtRFZBTFVFPTIgLURFUlJP Uj0xCmZvbzRfT0JKQ0ZMQUdTID0gLURWQUxVRT00IC1ERVJST1I9MQpAYW1fX2Zhc3RkZXBP QkpDX1RSVUVACSQoQU1fVl9PQkpDKSQoT0JKQykgJChERUZTKSAkKERFRkFVTFRfSU5DTFVE RVMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoZm9vNF9PQkpD RkxBR1MpICQoT0JKQ0ZMQUdTKSAtTVQgZm9vNC1mb280Lm8gLU1EIC1NUCAtTUYgJChERVBE SVIpL2ZvbzQtZm9vNC5UcG8gLWMgLW8gZm9vNC1mb280Lm8gYHRlc3QgLWYgJ2ZvbzQubScg fHwgZWNobyAnJChzcmNkaXIpLydgZm9vNC5tCkBhbV9fZmFzdGRlcE9CSkNfRkFMU0VACSQo QU1fVl9PQkpDQGFtX19ub2RlcEApJChPQkpDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURF UykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChmb280X09CSkNG TEFHUykgJChPQkpDRkxBR1MpIC1jIC1vIGZvbzQtZm9vNC5vIGB0ZXN0IC1mICdmb280Lm0n IHx8IGVjaG8gJyQoc3JjZGlyKS8nYGZvbzQubQpAYW1fX2Zhc3RkZXBPQkpDX1RSVUVACSQo QU1fVl9PQkpDKSQoT0JKQykgJChERUZTKSAkKERFRkFVTFRfSU5DTFVERVMpICQoSU5DTFVE RVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoZm9vNF9PQkpDRkxBR1MpICQoT0JK Q0ZMQUdTKSAtTVQgZm9vNC1mb280Lm9iaiAtTUQgLU1QIC1NRiAkKERFUERJUikvZm9vNC1m b280LlRwbyAtYyAtbyBmb280LWZvbzQub2JqIGBpZiB0ZXN0IC1mICdmb280Lm0nOyB0aGVu ICQoQ1lHUEFUSF9XKSAnZm9vNC5tJzsgZWxzZSAkKENZR1BBVEhfVykgJyQoc3JjZGlyKS9m b280Lm0nOyBmaWAKQGFtX19mYXN0ZGVwT0JKQ19GQUxTRUAJJChBTV9WX09CSkNAYW1fX25v ZGVwQCkkKE9CSkMpICQoREVGUykgJChERUZBVUxUX0lOQ0xVREVTKSAkKElOQ0xVREVTKSAk KEFNX0NQUEZMQUdTKSAkKENQUEZMQUdTKSAkKGZvbzRfT0JKQ0ZMQUdTKSAkKE9CSkNGTEFH UykgLWMgLW8gZm9vNC1mb280Lm9iaiBgaWYgdGVzdCAtZiAnZm9vNC5tJzsgdGhlbiAkKENZ R1BBVEhfVykgJ2ZvbzQubSc7IGVsc2UgJChDWUdQQVRIX1cpICckKHNyY2RpcikvZm9vNC5t JzsgZmlgCisgZ3JlcCBcJChPQkpDRkxBR1MpLipcJChBTV9PQkpDRkxBR1MpIE1ha2VmaWxl LmluCisgZ3JlcCBcJChPQkpDRkxBR1MpLipcJChmb28uKl9PQkpDRkxBR1MpIE1ha2VmaWxl LmluCisgZ3JlcCBcJChmb28uKl9PQkpDRkxBR1MpLipcJChBTV9PQkpDRkxBR1MpIE1ha2Vm aWxlLmluCisgLi9jb25maWd1cmUgT0JKQ0ZMQUdTPS1VRVJST1IKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9y IGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3Ig Z2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHll cwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBPYmplY3Rp dmUgQyBjb21waWxlciB3b3Jrcy4uLiBubwpjb25maWd1cmU6IGVycm9yOiBpbiBgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamMtZmxhZ3MuZGlyJzoKY29u ZmlndXJlOiBlcnJvcjogT2JqZWN0aXZlIEMgY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVj dXRhYmxlcwpTZWUgYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMKKyBhbV9leGl0X3Ry YXAgNzcKKyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291 cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDc3IC1lcSAw Cisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDAK KyBzZXQgK3gKU0tJUCB0L29iamMtZmxhZ3Muc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6 IHQvb2JqYy1kZXBzCj09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNo ZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46 L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2 L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dF Ui9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv b2JqYy1kZXBzLmRpcgorIGNhdAorIGNhdAorIGNhdAorIGNhdAorIGNhdAorIGFjbG9jYWwt MS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vy cm9yIC1XYWxsIC0tYWRkLW1pc3NpbmcKKyAuL2NvbmZpZ3VyZSAtLWVuYWJsZS1kZXBlbmRl bmN5LXRyYWNraW5nCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g L3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50 IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4u IC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3Vw cG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK Y2hlY2tpbmcgd2hldGhlciB0aGUgT2JqZWN0aXZlIEMgY29tcGlsZXIgd29ya3MuLi4gbm8K Y29uZmlndXJlOiBlcnJvcjogaW4gYC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9vYmpjLWRlcHMuZGlyJzoKY29uZmlndXJlOiBlcnJvcjogT2JqZWN0aXZlIEMg Y29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcwpTZWUgYGNvbmZpZy5sb2cnIGZv ciBtb3JlIGRldGFpbHMKKyBhbV9leGl0X3RyYXAgNzcKKyBleGl0X3N0YXR1cz03NworIHNl dCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0 IG5vbmUgPSB0YXAKKyB0ZXN0IDc3IC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9r ZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBzZXQgK3gKU0tJUCB0L29iamMtZGVwcy5z aCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9vYmpjeHgtbWluaWRlbW8KPT09PT09PT09 PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJv dG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9t ZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1 YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9u ZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9vYmpjeHgtbWluaWRlbW8u ZGlyCisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBh dXRvY29uZgorIGF1dG9oZWFkZXIKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9y IC1XYWxsIC0tYWRkLW1pc3NpbmcKcGFyYWxsZWwtdGVzdHM6IGluc3RhbGxpbmcgJy4vdGVz dC1kcml2ZXInCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg aW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg bWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRo ZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyBmb3Ig ZysrLi4uIGcrKwpjaGVja2luZyB3aGV0aGVyIHRoZSBPYmplY3RpdmUgQysrIGNvbXBpbGVy IHdvcmtzLi4uIG5vCmNvbmZpZ3VyZTogZXJyb3I6IGluIGAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3Qvb2JqY3h4LW1pbmlkZW1vLmRpcic6CmNvbmZpZ3VyZTog ZXJyb3I6IE9iamVjdGl2ZSBDKysgY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxl cwpTZWUgYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMKKyBhbV9leGl0X3RyYXAgNzcK KyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDc3IC1lcSAwCisga2Vl cF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBzZXQg K3gKU0tJUCB0L29iamN4eC1taW5pZGVtby5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDog dC9vYmpjeHgtZmxhZ3MKPT09PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0 YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46 L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hv bWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQv U0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9vYmpjeHgtZmxhZ3MuZGlyCisgY2F0CisgY2F0CisgdW5pbmRlbnQKKyB0ZXN0IHgg PSB4CisgcHJpbnRmICVzXG4gCiAgL14kL2IgICAgICAgICAgICAgICAgICAgICMgTm90aGlu ZyB0byBkbyBmb3IgZW1wdHkgbGluZXMuCiAgeCAgICAgICAgICAgICAgICAgICAgICAgICMg R2V0IHg8aW5kZW50PiBpbnRvIHBhdHRlcm4gc3BhY2UuCiAgL14kL3sgICAgICAgICAgICAg ICAgICAgICMgTm8gcHJpb3IgeDxpbmRlbnQ+LCBnbyBwcmVwYXJlIGl0LgogICAgZyAgICAg ICAgICAgICAgICAgICAgICAjIENvcHkgdGhpcyAxc3Qgbm9uLWJsYW5rIGxpbmUgaW50byBw YXR0ZXJuIHNwYWNlLgogICAgcy9eXChbCSBdKlwpLioveFwxLyAgICMgUHJlcGFyZSB4PGlu ZGVudD4gaW4gcGF0dGVybiBzcGFjZS4KICB9ICAgICAgICAgICAgICAgICAgICAgICAgIyBO b3c6IHg8aW5kZW50PiBpbiBwYXR0ZXJuIGFuZCA8bGluZT4gaW4gaG9sZC4KICBHICAgICAg ICAgICAgICAgICAgICAgICAgIyBCdWlsZCB4PGluZGVudD5cbjxsaW5lPiBpbiBwYXR0ZXJu IHNwYWNlLCBhbmQKICBoICAgICAgICAgICAgICAgICAgICAgICAgIyBkdXBsaWNhdGUgaXQg aW50byBob2xkIHNwYWNlLgogIHMvXG4uKiQvLyAgICAgICAgICAgICAgICAjIFJlc3RvcmUg eDxpbmRlbnQ+IGluIHBhdHRlcm4gc3BhY2UsIGFuZAogIHggICAgICAgICAgICAgICAgICAg ICAgICAjIGV4Y2hhbmdlIHdpdGggdGhlIGFib3ZlIGR1cGxpY2F0ZSBpbiBob2xkIHNwYWNl LgogIHMvXnhcKC4qXClcblwxLy8gICAgICAgICAjIFJlbW92ZSBsZWFkaW5nIDxpbmRlbnQ+ IGZyb20gPGxpbmU+LgogIHMvXnguKlxuLy8gICAgICAgICAgICAgICAjIFJlc3RvcmUgPGxp bmU+IHdoZW4gdGhlcmUgaXMgbm8gbGVhZGluZyA8aW5kZW50Pi4KCisgc2VkIC1lIHMvICAq IyAuKi8vCisgc2VkX3VuaW5kZW50X3Byb2c9CiAgL14kL2IKICB4CiAgL14kL3sKICAgIGcK ICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiokLy8KICB4CiAg cy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8KKyBzZWQgCiAgL14kL2IKICB4CiAgL14k L3sKICAgIGcKICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KICB9CiAgRwogIGgKICBzL1xuLiok Ly8KICB4CiAgcy9eeFwoLipcKVxuXDEvLwogIHMvXnguKlxuLy8KKyB1bmluZGVudAorIHRl c3QgeAogIC9eJC9iCiAgeAogIC9eJC97CiAgICBnCiAgICBzL15cKFsJIF0qXCkuKi94XDEv CiAgfQogIEcKICBoCiAgcy9cbi4qJC8vCiAgeAogIHMvXnhcKC4qXClcblwxLy8KICBzL154 Lipcbi8vID0geAorIHNlZCAKICAvXiQvYgogIHgKICAvXiQvewogICAgZwogICAgcy9eXChb CSBdKlwpLioveFwxLwogIH0KICBHCiAgaAogIHMvXG4uKiQvLwogIHgKICBzL154XCguKlwp XG5cMS8vCiAgcy9eeC4qXG4vLworIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYK KyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCisgL2Jpbi9ncmVw IC1GIE9CSkNYWEZMQUdTIE1ha2VmaWxlLmluCmZvbzRfTElOSyA9ICQoT0JKQ1hYTEQpICQo Zm9vNF9PQkpDWFhGTEFHUykgJChPQkpDWFhGTEFHUykgXAoJJChBTV9DUFBGTEFHUykgJChD UFBGTEFHUykgJChBTV9PQkpDWFhGTEFHUykgJChPQkpDWFhGTEFHUykKT0JKQ1hYTElOSyA9 ICQoT0JKQ1hYTEQpICQoQU1fT0JKQ1hYRkxBR1MpICQoT0JKQ1hYRkxBR1MpIFwKT0JKQ1hY RkxBR1MgPSBAT0JKQ1hYRkxBR1NACkFNX09CSkNYWEZMQUdTID0gLURWQUxVRT0yIC1ERVJS T1I9MQpmb280X09CSkNYWEZMQUdTID0gLURWQUxVRT00IC1ERVJST1I9MQpAYW1fX2Zhc3Rk ZXBPQkpDWFhfVFJVRUAJJChBTV9WX09CSkNYWCkkKE9CSkNYWCkgJChERUZTKSAkKERFRkFV TFRfSU5DTFVERVMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQo Zm9vNF9PQkpDWFhGTEFHUykgJChPQkpDWFhGTEFHUykgLU1UIGZvbzQtZm9vNC5vIC1NRCAt TVAgLU1GICQoREVQRElSKS9mb280LWZvbzQuVHBvIC1jIC1vIGZvbzQtZm9vNC5vIGB0ZXN0 IC1mICdmb280Lm1tJyB8fCBlY2hvICckKHNyY2RpcikvJ2Bmb280Lm1tCkBhbV9fZmFzdGRl cE9CSkNYWF9GQUxTRUAJJChBTV9WX09CSkNYWEBhbV9fbm9kZXBAKSQoT0JKQ1hYKSAkKERF RlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChD UFBGTEFHUykgJChmb280X09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAtYyAtbyBmb280 LWZvbzQubyBgdGVzdCAtZiAnZm9vNC5tbScgfHwgZWNobyAnJChzcmNkaXIpLydgZm9vNC5t bQpAYW1fX2Zhc3RkZXBPQkpDWFhfVFJVRUAJJChBTV9WX09CSkNYWCkkKE9CSkNYWCkgJChE RUZTKSAkKERFRkFVTFRfSU5DTFVERVMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQo Q1BQRkxBR1MpICQoZm9vNF9PQkpDWFhGTEFHUykgJChPQkpDWFhGTEFHUykgLU1UIGZvbzQt Zm9vNC5vYmogLU1EIC1NUCAtTUYgJChERVBESVIpL2ZvbzQtZm9vNC5UcG8gLWMgLW8gZm9v NC1mb280Lm9iaiBgaWYgdGVzdCAtZiAnZm9vNC5tbSc7IHRoZW4gJChDWUdQQVRIX1cpICdm b280Lm1tJzsgZWxzZSAkKENZR1BBVEhfVykgJyQoc3JjZGlyKS9mb280Lm1tJzsgZmlgCkBh bV9fZmFzdGRlcE9CSkNYWF9GQUxTRUAJJChBTV9WX09CSkNYWEBhbV9fbm9kZXBAKSQoT0JK Q1hYKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNMVURFUykgJChBTV9DUFBG TEFHUykgJChDUFBGTEFHUykgJChmb280X09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAt YyAtbyBmb280LWZvbzQub2JqIGBpZiB0ZXN0IC1mICdmb280Lm1tJzsgdGhlbiAkKENZR1BB VEhfVykgJ2ZvbzQubW0nOyBlbHNlICQoQ1lHUEFUSF9XKSAnJChzcmNkaXIpL2ZvbzQubW0n OyBmaWAKKyBncmVwIFwkKE9CSkNYWEZMQUdTKS4qXCQoQU1fT0JKQ1hYRkxBR1MpIE1ha2Vm aWxlLmluCisgZ3JlcCBcJChPQkpDWFhGTEFHUykuKlwkKGZvby4qX09CSkNYWEZMQUdTKSBN YWtlZmlsZS5pbgorIGdyZXAgXCQoZm9vLipfT0JKQ1hYRkxBR1MpLipcJChBTV9PQkpDWFhG TEFHUykgTWFrZWZpbGUuaW4KKyAuL2NvbmZpZ3VyZSBPQkpDWFhGTEFHUz0tVUVSUk9SCmNo ZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs bCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVz CmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAK Y2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAk KE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGcrKy4uLiBnKysKY2hlY2tpbmcgd2hldGhl ciB0aGUgT2JqZWN0aXZlIEMrKyBjb21waWxlciB3b3Jrcy4uLiBubwpjb25maWd1cmU6IGVy cm9yOiBpbiBgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamN4 eC1mbGFncy5kaXInOgpjb25maWd1cmU6IGVycm9yOiBPYmplY3RpdmUgQysrIGNvbXBpbGVy IGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKU2VlIGBjb25maWcubG9nJyBmb3IgbW9yZSBk ZXRhaWxzCisgYW1fZXhpdF90cmFwIDc3CisgZXhpdF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBj ZCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0g dGFwCisgdGVzdCA3NyAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190 ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClNLSVAgdC9vYmpjeHgtZmxhZ3Muc2ggKGV4 aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvb2JqY3h4LWRlcHMKPT09PT09PT09PT09PT09PT09 PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQ QVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNy L2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQ cm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5 LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamN4eC1kZXBzLmRpcgorIGNhdAorIGNhdAor IGNhdAorIGNhdAorIGNhdAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBh dXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC0tYWRkLW1pc3NpbmcKKyAu L2NvbmZpZ3VyZSAtLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nCmNoZWNraW5nIGZvciBh IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu ZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZv ciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9y IGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHll cwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIGcrKy4uLiBnKysKY2hlY2tpbmcgd2hldGhlciB0aGUgT2JqZWN0 aXZlIEMrKyBjb21waWxlciB3b3Jrcy4uLiBubwpjb25maWd1cmU6IGVycm9yOiBpbiBgL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L29iamN4eC1kZXBzLmRpcic6 CmNvbmZpZ3VyZTogZXJyb3I6IE9iamVjdGl2ZSBDKysgY29tcGlsZXIgY2Fubm90IGNyZWF0 ZSBleGVjdXRhYmxlcwpTZWUgYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMKKyBhbV9l eGl0X3RyYXAgNzcKKyBleGl0X3N0YXR1cz03NworIHNldCArZQorIGNkIC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDc3 IC1lcSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0 dXJuIDAKKyBzZXQgK3gKU0tJUCB0L29iamN4eC1kZXBzLnNoIChleGl0IHN0YXR1czogNzcp CgpTS0lQOiB0L29iamMtbWVnYWRlbW8KPT09PT09PT09PT09PT09PT09PT09CgpvYmpjLW1l Z2FkZW1vOiBydW5uaW5nIGxpYnRvb2xpemUgLS12ZXJzaW9uCmxpYnRvb2xpemUgKEdOVSBs aWJ0b29sKSAyLjQuNgpXcml0dGVuIGJ5IEdhcnkgVi4gVmF1Z2hhbiA8Z2FyeUBnbnUub3Jn PiwgMjAwMwoKQ29weXJpZ2h0IChDKSAyMDE1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5n IGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KUnVubmlu ZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hv bWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2Jp bjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVy Mi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0 ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1 dG9tYWtlLTEuMTYuMi90L29iamMtbWVnYWRlbW8uZGlyCisgY2F0CisgY2F0CisgbGlidG9v bGl6ZQpsaWJ0b29saXplOiBwdXR0aW5nIGF1eGlsaWFyeSBmaWxlcyBpbiBBQ19DT05GSUdf QVVYX0RJUiwgJ2J1aWxkLWF1eCcuCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSAnYnVpbGQt YXV4L2x0bWFpbi5zaCcKbGlidG9vbGl6ZTogcHV0dGluZyBtYWNyb3MgaW4gQUNfQ09ORklH X01BQ1JPX0RJUlMsICdtNCcuCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSAnbTQvbGlidG9v bC5tNCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlICdtNC9sdG9wdGlvbnMubTQnCmxpYnRv b2xpemU6IGxpbmtpbmcgZmlsZSAnbTQvbHRzdWdhci5tNCcKbGlidG9vbGl6ZTogbGlua2lu ZyBmaWxlICdtNC9sdHZlcnNpb24ubTQnCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSAnbTQv bHR+b2Jzb2xldGUubTQnCmxpYnRvb2xpemU6IENvbnNpZGVyIGFkZGluZyAnLUkgbTQnIHRv IEFDTE9DQUxfQU1GTEFHUyBpbiBNYWtlZmlsZS5hbS4KKyBhY2xvY2FsLTEuMTYgLVdlcnJv cgorIGF1dG9oZWFkZXIKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1X ZXJyb3IgLVdhbGwgLS1hZGQtbWlzc2luZwpjb25maWd1cmUuYWM6OTogaW5zdGFsbGluZyAn YnVpbGQtYXV4L2FyLWxpYicKY29uZmlndXJlLmFjOjk6IGluc3RhbGxpbmcgJ2J1aWxkLWF1 eC9jb21waWxlJwpjb25maWd1cmUuYWM6MTA6IGluc3RhbGxpbmcgJ2J1aWxkLWF1eC9jb25m aWcuZ3Vlc3MnCmNvbmZpZ3VyZS5hYzoxMDogaW5zdGFsbGluZyAnYnVpbGQtYXV4L2NvbmZp Zy5zdWInCmNvbmZpZ3VyZS5hYzo3OiBpbnN0YWxsaW5nICdidWlsZC1hdXgvaW5zdGFsbC1z aCcKY29uZmlndXJlLmFjOjc6IGluc3RhbGxpbmcgJ2J1aWxkLWF1eC9taXNzaW5nJwpNYWtl ZmlsZS5hbTogaW5zdGFsbGluZyAnYnVpbGQtYXV4L2RlcGNvbXAnCisgY2F0CisgY2F0Cisg Y2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgY2F0CisgLi9jb25m aWd1cmUKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jp bi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2Fu ZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9t a2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFr ZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBu ZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg dGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBmb3Ig Z2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHll cwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4g YS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcg dGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRz IC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4u LiBub25lIG5lZWRlZApjaGVja2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtYyBhbmQg LW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4u IGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIp IGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQt cGMtbGludXgtZ251CmNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4geDg2XzY0LXBjLWxp bnV4LWdudQpjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncy4uLiBwcmludGYKY2hlY2tp bmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0Li4uIC9iaW4vc2Vk CmNoZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZS4uLiAv YmluL2dyZXAKY2hlY2tpbmcgZm9yIGVncmVwLi4uIC9iaW4vZ3JlcCAtRQpjaGVja2luZyBm b3IgZmdyZXAuLi4gL2Jpbi9ncmVwIC1GCmNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGdjYy4u LiAvdXNyL2xvY2FsL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkCmNoZWNraW5nIGlmIHRo ZSBsaW5rZXIgKC91c3IvbG9jYWwveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQpIGlzIEdO VSBsZC4uLiB5ZXMKY2hlY2tpbmcgZm9yIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxp c3RlciAobm0pLi4uIC91c3IvbG9jYWwvYmluL25tIC1CCmNoZWNraW5nIHRoZSBuYW1lIGxp c3RlciAoL3Vzci9sb2NhbC9iaW4vbm0gLUIpIGludGVyZmFjZS4uLiBCU0Qgbm0KY2hlY2tp bmcgd2hldGhlciBsbiAtcyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgdGhlIG1heGltdW0gbGVu Z3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuLi4gMTU3Mjg2NApjaGVja2luZyBob3cg dG8gY29udmVydCB4ODZfNjQtcGMtbGludXgtZ251IGZpbGUgbmFtZXMgdG8geDg2XzY0LXBj LWxpbnV4LWdudSBmb3JtYXQuLi4gZnVuY19jb252ZXJ0X2ZpbGVfbm9vcApjaGVja2luZyBo b3cgdG8gY29udmVydCB4ODZfNjQtcGMtbGludXgtZ251IGZpbGUgbmFtZXMgdG8gdG9vbGNo YWluIGZvcm1hdC4uLiBmdW5jX2NvbnZlcnRfZmlsZV9ub29wCmNoZWNraW5nIGZvciAvdXNy L2xvY2FsL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xkIG9wdGlvbiB0byByZWxvYWQgb2Jq ZWN0IGZpbGVzLi4uIC1yCmNoZWNraW5nIGZvciBvYmpkdW1wLi4uIG9iamR1bXAKY2hlY2tp bmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzLi4uIHBhc3NfYWxsCmNo ZWNraW5nIGZvciBkbGx0b29sLi4uIG5vCmNoZWNraW5nIGhvdyB0byBhc3NvY2lhdGUgcnVu dGltZSBhbmQgbGluayBsaWJyYXJpZXMuLi4gcHJpbnRmICVzXG4KY2hlY2tpbmcgZm9yIGFy Y2hpdmVyIEBGSUxFIHN1cHBvcnQuLi4gQApjaGVja2luZyBmb3Igc3RyaXAuLi4gc3RyaXAK Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgY29tbWFuZCB0byBwYXJz ZSAvdXNyL2xvY2FsL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBnY2Mgb2JqZWN0Li4uIG9rCmNo ZWNraW5nIGZvciBzeXNyb290Li4uIG5vCmNoZWNraW5nIGZvciBhIHdvcmtpbmcgZGQuLi4g L2Jpbi9kZApjaGVja2luZyBob3cgdG8gdHJ1bmNhdGUgYmluYXJ5IHBpcGVzLi4uIC9iaW4v ZGQgYnM9NDA5NiBjb3VudD0xCmNoZWNraW5nIGZvciBtdC4uLiBtdApjaGVja2luZyBpZiBt dCBpcyBhIG1hbmlmZXN0IHRvb2wuLi4gbm8KY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBw cmVwcm9jZXNzb3IuLi4gZ2NjIC1FCmNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVz Li4uIHllcwpjaGVja2luZyBmb3Igc3lzL3R5cGVzLmguLi4geWVzCmNoZWNraW5nIGZvciBz eXMvc3RhdC5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RkbGliLmguLi4geWVzCmNoZWNraW5n IGZvciBzdHJpbmcuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIG1lbW9yeS5oLi4uIHllcwpjaGVj a2luZyBmb3Igc3RyaW5ncy5oLi4uIHllcwpjaGVja2luZyBmb3IgaW50dHlwZXMuaC4uLiB5 ZXMKY2hlY2tpbmcgZm9yIHN0ZGludC5oLi4uIHllcwpjaGVja2luZyBmb3IgdW5pc3RkLmgu Li4geWVzCmNoZWNraW5nIGZvciBkbGZjbi5oLi4uIHllcwpjaGVja2luZyBmb3Igb2JqZGly Li4uIC5saWJzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAtZm5vLXJ0dGkgLWZuby1leGNl cHRpb25zLi4uIG5vCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4u IC1mUElDIC1EUElDCmNoZWNraW5nIGlmIGdjYyBQSUMgZmxhZyAtZlBJQyAtRFBJQyB3b3Jr cy4uLiB5ZXMKY2hlY2tpbmcgaWYgZ2NjIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MuLi4g eWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4geWVzCmNoZWNr aW5nIGlmIGdjYyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4gKGNhY2hlZCkgeWVzCmNoZWNr aW5nIHdoZXRoZXIgdGhlIGdjYyBsaW5rZXIgKC91c3IvbG9jYWwveDg2XzY0LXBjLWxpbnV4 LWdudS9iaW4vbGQgLW0gZWxmX3g4Nl82NCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4u LiB5ZXMKY2hlY2tpbmcgd2hldGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2Vk IGluLi4uIG5vCmNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiBH TlUvTGludXggbGQuc28KY2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMg aW50byBwcm9ncmFtcy4uLiBpbW1lZGlhdGUKY2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcg bGlicmFyaWVzIGlzIHBvc3NpYmxlLi4uIHllcwpjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBv cnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQg c2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzdGF0 aWMgbGlicmFyaWVzLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIChjYWNoZWQpIGdjYwpj aGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4gKGNh Y2hlZCkgeWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4gKGNhY2hlZCkg eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIChjYWNo ZWQpIG5vbmUgbmVlZGVkCmNoZWNraW5nIHdoZXRoZXIgZ2NjIHVuZGVyc3RhbmRzIC1jIGFu ZCAtbyB0b2dldGhlci4uLiAoY2FjaGVkKSB5ZXMKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls ZSBvZiBnY2MuLi4gKGNhY2hlZCkgZ2NjMwpjaGVja2luZyBmb3IgZysrLi4uIGcrKwpjaGVj a2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlci4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBnKysgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZGVwZW5k ZW5jeSBzdHlsZSBvZiBnKysuLi4gZ2NjMwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDKysg cHJlcHJvY2Vzc29yLi4uIGcrKyAtRQpjaGVja2luZyBmb3IgbGQgdXNlZCBieSBnKysuLi4g L3Vzci9sb2NhbC94ODZfNjQtcGMtbGludXgtZ251L2Jpbi9sZCAtbSBlbGZfeDg2XzY0CmNo ZWNraW5nIGlmIHRoZSBsaW5rZXIgKC91c3IvbG9jYWwveDg2XzY0LXBjLWxpbnV4LWdudS9i aW4vbGQgLW0gZWxmX3g4Nl82NCkgaXMgR05VIGxkLi4uIHllcwpjaGVja2luZyB3aGV0aGVy IHRoZSBnKysgbGlua2VyICgvdXNyL2xvY2FsL3g4Nl82NC1wYy1saW51eC1nbnUvYmluL2xk IC1tIGVsZl94ODZfNjQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNr aW5nIGZvciBnKysgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uIC1mUElDIC1EUElDCmNoZWNr aW5nIGlmIGcrKyBQSUMgZmxhZyAtZlBJQyAtRFBJQyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcg aWYgZysrIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGcr KyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4geWVzCmNoZWNraW5nIGlmIGcrKyBzdXBwb3J0 cyAtYyAtbyBmaWxlLm8uLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGcr KyBsaW5rZXIgKC91c3IvbG9jYWwveDg2XzY0LXBjLWxpbnV4LWdudS9iaW4vbGQgLW0gZWxm X3g4Nl82NCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgZHlu YW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIChjYWNoZWQpIEdOVS9MaW51eCBsZC5z bwpjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1z Li4uIGltbWVkaWF0ZQpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy IHdlIGFyZSB1c2luZyB0aGUgR05VIE9iamVjdGl2ZSBDIGNvbXBpbGVyLi4uIG5vCmNoZWNr aW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4gbm8KY2hlY2tpbmcgZGVwZW5kZW5jeSBz dHlsZSBvZiBnY2MuLi4gZ2NjMwpjaGVja2luZyBmb3IgZysrLi4uIGcrKwpjaGVja2luZyB3 aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIE9iamVjdGl2ZSBDKysgY29tcGlsZXIuLi4g bm8KY2hlY2tpbmcgd2hldGhlciBnKysgYWNjZXB0cyAtZy4uLiBubwpjaGVja2luZyBkZXBl bmRlbmN5IHN0eWxlIG9mIGcrKy4uLiBnY2MzCmNoZWNraW5nIHdoZXRoZXIgdGhlIE9iamVj dGl2ZSBDIGNvbXBpbGVyIHJlYWxseSB3b3Jrcy4uLiBubwpjaGVja2luZyB3aGV0aGVyIHRo ZSBPYmplY3RpdmUgQysrIGNvbXBpbGVyIHJlYWxseSB3b3Jrcy4uLiBubwpjb25maWd1cmU6 IGVycm9yOiBjb3VsZG4ndCBmaW5kIGEgd29ya2luZyBPYmplY3RpdmUgQyBjb21waWxlcgor IGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRl c3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMK KyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvb2JqYy1tZWdhZGVtby5zaCAoZXhpdCBzdGF0 dXM6IDc3KQoKWEZBSUw6IHQvb2JqZXh0LXByMTAxMjgKPT09PT09PT09PT09PT09PT09PT09 PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUK UEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vz ci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJl UHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAx OS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9vYmpleHQtcHIxMDEyOC5kaXIKKyBlY2hvIEFD X09VVFBVVAorIGNhdAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b21ha2UtMS4xNiAt LWZvcmVpZ24gLVdlcnJvciAtV2FsbAorIGF1dG9jb25mCisgLi9jb25maWd1cmUKY2hlY2tp bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j CmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl Y2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVj a2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFi bGVzLi4uIHllcwpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQorIG1ha2UgdGVzdAppcyAgPT0g Zm9vLmZhc2wKbWFrZTogKioqIFtNYWtlZmlsZTo2NzU6IHRlc3RdIEVycm9yIDEKKyBhbV9l eGl0X3RyYXAgMgorIGV4aXRfc3RhdHVzPTIKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCAyIC1l cSAwCisga2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJu IDAKKyBzZXQgK3gKWEZBSUwgdC9vYmpleHQtcHIxMDEyOC5zaCAoZXhpdCBzdGF0dXM6IDIp CgpYRkFJTDogdC9vdmVycmlkZS1jb25kaXRpb25hbC0yCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9j b2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIv YmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9o di9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUv U1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1l YWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9vdmVycmlkZS1jb25kaXRpb25h bC0yLmRpcgorIGNhdAorIGNhdAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgQVVUT01BS0Vf ZmFpbHMKKyBBVVRPTUFLRV9ydW4gLWUgMQorIGFtX19kZXNjPQorIGFtX19leHBfcmM9MAor IHRlc3QgMiAtZ3QgMAorIGFtX19leHBfcmM9MQorIHNoaWZ0Cisgc2hpZnQKKyB0ZXN0IDAg LWd0IDAKKyBhbV9fZ290X3JjPTAKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9y IC1XYWxsCisgY2F0IHN0ZGVycgorIGNhdCBzdGRvdXQKKyB0ZXN0IG5vbmUgPSBub25lCisg dGVzdCAwIC1lcSAxCisgX2FtX2V4aXQgMQorIHNldCArZQorIHRlc3QgNzcgPSAxCisgZXhp dCAxCisgZXhpdCAxCisgYW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtl CisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9u ZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGlu Z190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4ClhGQUlMIHQvb3ZlcnJpZGUtY29uZGl0 aW9uYWwtMi5zaCAoZXhpdCBzdGF0dXM6IDEpCgpYRkFJTDogdC9vdmVycmlkZS1jb25kaXRp b25hbC1wcjEzOTQwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClJ1 bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9 IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2Nh bC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3Jh bW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11 cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNl cy9hdXRvbWFrZS0xLjE2LjIvdC9vdmVycmlkZS1jb25kaXRpb25hbC1wcjEzOTQwLmRpcgor IGNhdAorIGNhdAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b21ha2UtMS4xNiAtLWZv cmVpZ24gLVdlcnJvciAtV2FsbCAtYQphdXRvbWFrZS0xLjE2OiB3YXJuaW5ncyBhcmUgdHJl YXRlZCBhcyBlcnJvcnMKTWFrZWZpbGUuYW06ODogd2FybmluZzogYWxsLWxvY2FsIHdhcyBh bHJlYWR5IGRlZmluZWQgaW4gY29uZGl0aW9uIEZPTywgd2hpY2ggaXMgaW5jbHVkZWQgaW4g Y29uZGl0aW9uIFRSVUUgLi4uCk1ha2VmaWxlLmFtOjU6IC4uLiAnYWxsLWxvY2FsJyBwcmV2 aW91c2x5IGRlZmluZWQgaGVyZQorIGFtX2V4aXRfdHJhcCAxCisgZXhpdF9zdGF0dXM9MQor IHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIKKyB0 ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApYRkFJTCB0L292ZXJyaWRl LWNvbmRpdGlvbmFsLXByMTM5NDAuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdC9weXRo b24tdmlydHVhbGVudgo9PT09PT09PT09PT09PT09PT09PT09PT09CgpweXRob24tdmlydHVh bGVudjogcnVubmluZyBweXRob24gLVYKUHl0aG9uIDIuNy4xMwpweXRob24tdmlydHVhbGVu djogcnVubmluZyB2aXJ0dWFsZW52IC0tdmVyc2lvbgouL3QvcHl0aG9uLXZpcnR1YWxlbnYu c2g6IDk5MzogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rl c3QtaW5pdC5zaDogdmlydHVhbGVudjogbm90IGZvdW5kClNLSVAgdC9weXRob24tdmlydHVh bGVudi5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKWEZBSUw6IHQvcmVtYWtlLWFtLXByMTAxMTEK PT09PT09PT09PT09PT09PT09PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6 IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9t ZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJN L2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pM aW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9yZW1h a2UtYW0tcHIxMDExMS5kaXIKKyBjYXQKKyA6CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJy b3IKKyBhdXRvY29uZgorIGF1dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwK KyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4u LiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1 cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVk IGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3Jl YXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxl CisgbWFrZSBkaXN0ZGlyCm1ha2UgIGRpc3RkaXItYW0KbWFrZVsxXcKgOiBvbiBlbnRyZSBk YW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2Ut MS4xNi4yL3QvcmVtYWtlLWFtLXByMTAxMTEuZGlywqDCuwppZiB0ZXN0IC1kICJyZW1ha2Ut YW0tcHIxMDExMS0xLjAiOyB0aGVuIGZpbmQgInJlbWFrZS1hbS1wcjEwMTExLTEuMCIgLXR5 cGUgZCAhIC1wZXJtIC0yMDAgLWV4ZWMgY2htb2QgdSt3IHt9ICc7JyAmJiBybSAtcmYgInJl bWFrZS1hbS1wcjEwMTExLTEuMCIgfHwgeyBzbGVlcCA1ICYmIHJtIC1yZiAicmVtYWtlLWFt LXByMTAxMTEtMS4wIjsgfTsgZWxzZSA6OyBmaQp0ZXN0IC1kICJyZW1ha2UtYW0tcHIxMDEx MS0xLjAiIHx8IG1rZGlyICJyZW1ha2UtYW0tcHIxMDExMS0xLjAiCnRlc3QgLW4gIiIgXAp8 fCBmaW5kICJyZW1ha2UtYW0tcHIxMDExMS0xLjAiIC10eXBlIGQgISAtcGVybSAtNzU1IFwK CS1leGVjIGNobW9kIHUrcnd4LGdvK3J4IHt9IFw7IC1vIFwKICAhIC10eXBlIGQgISAtcGVy bSAtNDQ0IC1saW5rcyAxIC1leGVjIGNobW9kIGErciB7fSBcOyAtbyBcCiAgISAtdHlwZSBk ICEgLXBlcm0gLTQwMCAtZXhlYyBjaG1vZCBhK3Ige30gXDsgLW8gXAogICEgLXR5cGUgZCAh IC1wZXJtIC00NDQgLWV4ZWMgL2Jpbi9iYXNoIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9yZW1ha2UtYW0tcHIxMDExMS5kaXIvaW5zdGFsbC1zaCAtYyAtbSBh K3Ige30ge30gXDsgXAp8fCBjaG1vZCAtUiBhK3IgInJlbWFrZS1hbS1wcjEwMTExLTEuMCIK bWFrZVsxXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9yZW1ha2UtYW0tcHIxMDExMS5kaXLCoMK7Cisg Y2QgcmVtYWtlLWFtLXByMTAxMTEtMS4wCisgbWtkaXIgYnVpbGQKKyBjZCBidWlsZAorIC4u L2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91 c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAv YmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhl ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv cnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRp bmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisg cm0gLWYgLi4vZm9vYmFyLmFtCisgbWFrZQptYWtlOiByaWVuIMOgIGZhaXJlIHBvdXIgwqvC oGFsbMKgwrsuCisgZ3JlcCA9IGZvb2JhciB3YXMgaGVyZSA9IC4uL01ha2VmaWxlLmluCisg YW1fZXhpdF90cmFwIDEKKyBleGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3Qg MSAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJl dHVybiAwCisgc2V0ICt4ClhGQUlMIHQvcmVtYWtlLWFtLXByMTAxMTEuc2ggKGV4aXQgc3Rh dHVzOiAxKQoKWEZBSUw6IHQvcmVtYWtlLW00LXByMTAxMTEKPT09PT09PT09PT09PT09PT09 PT09PT09PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6 IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmlu Oi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9i aW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RN MzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJp LTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2 L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9yZW1ha2UtbTQtcHIxMDExMS5kaXIK KyBjYXQKKyA6CisgY2F0CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IKKyBhdXRvY29uZgorIGF1 dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyAuL2NvbmZpZ3VyZQpjaGVj a2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwg LWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpj aGVja2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNo ZWNraW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChN QUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp YWJsZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0 aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3Rh dHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgbWFrZSBkaXN0ZGlyCm1h a2UgIGRpc3RkaXItYW0KbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJl IMKrwqAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvcmVtYWtlLW00 LXByMTAxMTEuZGlywqDCuwppZiB0ZXN0IC1kICJyZW1ha2UtbTQtcHIxMDExMS0xLjAiOyB0 aGVuIGZpbmQgInJlbWFrZS1tNC1wcjEwMTExLTEuMCIgLXR5cGUgZCAhIC1wZXJtIC0yMDAg LWV4ZWMgY2htb2QgdSt3IHt9ICc7JyAmJiBybSAtcmYgInJlbWFrZS1tNC1wcjEwMTExLTEu MCIgfHwgeyBzbGVlcCA1ICYmIHJtIC1yZiAicmVtYWtlLW00LXByMTAxMTEtMS4wIjsgfTsg ZWxzZSA6OyBmaQp0ZXN0IC1kICJyZW1ha2UtbTQtcHIxMDExMS0xLjAiIHx8IG1rZGlyICJy ZW1ha2UtbTQtcHIxMDExMS0xLjAiCnRlc3QgLW4gIiIgXAp8fCBmaW5kICJyZW1ha2UtbTQt cHIxMDExMS0xLjAiIC10eXBlIGQgISAtcGVybSAtNzU1IFwKCS1leGVjIGNobW9kIHUrcnd4 LGdvK3J4IHt9IFw7IC1vIFwKICAhIC10eXBlIGQgISAtcGVybSAtNDQ0IC1saW5rcyAxIC1l eGVjIGNobW9kIGErciB7fSBcOyAtbyBcCiAgISAtdHlwZSBkICEgLXBlcm0gLTQwMCAtZXhl YyBjaG1vZCBhK3Ige30gXDsgLW8gXAogICEgLXR5cGUgZCAhIC1wZXJtIC00NDQgLWV4ZWMg L2Jpbi9iYXNoIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9yZW1h a2UtbTQtcHIxMDExMS5kaXIvaW5zdGFsbC1zaCAtYyAtbSBhK3Ige30ge30gXDsgXAp8fCBj aG1vZCAtUiBhK3IgInJlbWFrZS1tNC1wcjEwMTExLTEuMCIKbWFrZVsxXcKgOiBvbiBxdWl0 dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0x LjE2LjIvdC9yZW1ha2UtbTQtcHIxMDExMS5kaXLCoMK7CisgY2QgcmVtYWtlLW00LXByMTAx MTEtMS4wCisgbWtkaXIgYnVpbGQKKyBjZCBidWlsZAorIC4uL2NvbmZpZ3VyZQpjaGVja2lu ZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMK Y2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVj a2luZyBmb3IgYSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNr aW5nIGZvciBnYXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtF KS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJs ZXMuLi4geWVzCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFu IGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVz CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCisgcm0gLWYgLi4vZm9vYmFyLm00 CisgbWFrZQptYWtlOiByaWVuIMOgIGZhaXJlIHBvdXIgwqvCoGFsbMKgwrsuCisgZ3JlcCA6 IGZvb2JhciB3YXMgaGVyZSA6IC4uL2NvbmZpZ3VyZQorIGFtX2V4aXRfdHJhcCAxCisgZXhp dF9zdGF0dXM9MQorIHNldCArZQorIGNkIC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFr ZS0xLjE2LjIKKyB0ZXN0IG5vbmUgPSB0YXAKKyB0ZXN0IDEgLWVxIDAKKyBrZWVwX3Rlc3Rk aXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApYRkFJ TCB0L3JlbWFrZS1tNC1wcjEwMTExLnNoIChleGl0IHN0YXR1czogMSkKClhGQUlMOiB0L3Jl bWFrZS10aW1pbmctYnVnLXByODM2NQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KClJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUK UEFUSCA9IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vz ci9sb2NhbC9iaW46L3Vzci9iaW46L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJl UHJvZ3JhbW1lcjIuMi9iaW46L2hvbWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAx OS1xMy11cGRhdGUvYmluOi9vcHQvU0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9yZW1ha2UtdGltaW5nLWJ1Zy1wcjgzNjUuZGly Cisgc3RhdCAvZGV2L251bGwKICBGaWNoaWVywqA6IC9kZXYvbnVsbAogICBUYWlsbGXCoDog MCAgICAgICAgIAlCbG9jc8KgOiAwICAgICAgICAgIEJsb2NzIGQnRS9TwqA6IDQwOTYgICBm aWNoaWVyIHNww6ljaWFsIGRlIGNhcmFjdMOocmVzClDDqXJpcGjDqXJpcXVlwqA6IDZoLzZk CUluxZN1ZMKgOiAyMDUxICAgICAgICBMaWVuc8KgOiAxICAgICBUeXBlIGRlIHDDqXJpcGgu wqA6IDEsMwpBY2PDqHPCoDogKDA2NjYvY3J3LXJ3LXJ3LSkgIFVJRMKgOiAoICAgIDAvICAg IHJvb3QpICAgR0lEwqA6ICggICAgMC8gICAgcm9vdCkKIEFjY8Ooc8KgOiAyMDIwLTA1LTA1 IDExOjMzOjQ1LjgyOTk5OTk4MSArMDIwMApNb2RpZi7CoDogMjAyMC0wNS0wNSAxMTozMzo0 NS44Mjk5OTk5ODEgKzAyMDAKQ2hhbmd0wqA6IDIwMjAtMDUtMDUgMTE6MzM6NDUuODI5OTk5 OTgxICswMjAwCiAgQ3LDqcOpwqA6IC0KKyBzdGF0PXN0YXQKKyBjYXQKKyA6CisgYWNsb2Nh bC0xLjE2IC1XZXJyb3IKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxs CisgYXV0b2NvbmYKKyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJs ZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWls ZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm ZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIGdhd2sK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hl dGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHRo YXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNv bmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0 aW5nIE1ha2VmaWxlCisgbWFrZSBNYWtlZmlsZQptYWtlOiDCq8KgTWFrZWZpbGXCoMK7IGVz dCDDoCBqb3VyLgorIC9iaW4vZ3JlcCAtRSBGT09CQVJ8emFyZG96IE1ha2VmaWxlCisgZWNo byBBQ19TVUJTVChbRk9PQkFSXSkKKyBzdGF0IGNvbmZpZy5zdGF0dXMgTWFrZWZpbGUgY29u ZmlndXJlLmFjCiAgRmljaGllcsKgOiBjb25maWcuc3RhdHVzCiAgIFRhaWxsZcKgOiAyNTc1 NCAgICAgCUJsb2NzwqA6IDU2ICAgICAgICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZpY2hp ZXIKUMOpcmlwaMOpcmlxdWXCoDogODMxaC8yMDk3ZAlJbsWTdWTCoDogMzA1NDQ1MCAgICAg TGllbnPCoDogMQpBY2PDqHPCoDogKDA3NTUvLXJ3eHIteHIteCkgIFVJRMKgOiAoIDEwMDAv ICAgICAgaHYpICAgR0lEwqA6ICggMTAwMC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIwLTA1 LTA1IDIxOjMwOjMzLjgzNzkwMDkzNSArMDIwMApNb2RpZi7CoDogMjAyMC0wNS0wNSAyMToz MDozMy44Njc5MDA3NjAgKzAyMDAKQ2hhbmd0wqA6IDIwMjAtMDUtMDUgMjE6MzA6MzMuODY3 OTAwNzYwICswMjAwCiAgQ3LDqcOpwqA6IC0KICBGaWNoaWVywqA6IE1ha2VmaWxlCiAgIFRh aWxsZcKgOiAxNzk3OSAgICAgCUJsb2NzwqA6IDQwICAgICAgICAgQmxvY3MgZCdFL1PCoDog NDA5NiAgIGZpY2hpZXIKUMOpcmlwaMOpcmlxdWXCoDogODMxaC8yMDk3ZAlJbsWTdWTCoDog MzI3ODc1NCAgICAgTGllbnPCoDogMQpBY2PDqHPCoDogKDA2NDQvLXJ3LXItLXItLSkgIFVJ RMKgOiAoIDEwMDAvICAgICAgaHYpICAgR0lEwqA6ICggMTAwMC8gICAgICBodikKIEFjY8Oo c8KgOiAyMDIwLTA1LTA1IDIxOjMwOjMzLjg4NzkwMDY0MyArMDIwMApNb2RpZi7CoDogMjAy MC0wNS0wNSAyMTozMDozMy44ODc5MDA2NDMgKzAyMDAKQ2hhbmd0wqA6IDIwMjAtMDUtMDUg MjE6MzA6MzMuODg3OTAwNjQzICswMjAwCiAgQ3LDqcOpwqA6IC0KICBGaWNoaWVywqA6IGNv bmZpZ3VyZS5hYwogICBUYWlsbGXCoDogMTMxICAgICAgIAlCbG9jc8KgOiA4ICAgICAgICAg IEJsb2NzIGQnRS9TwqA6IDQwOTYgICBmaWNoaWVyClDDqXJpcGjDqXJpcXVlwqA6IDgzMWgv MjA5N2QJSW7Fk3VkwqA6IDMwNTQ0NDMgICAgIExpZW5zwqA6IDEKQWNjw6hzwqA6ICgwNjQ0 Ly1ydy1yLS1yLS0pICBVSUTCoDogKCAxMDAwLyAgICAgIGh2KSAgIEdJRMKgOiAoIDEwMDAv ICAgICAgaHYpCiBBY2PDqHPCoDogMjAyMC0wNS0wNSAyMTozMDozMi4yMDc5MTA1MzIgKzAy MDAKTW9kaWYuwqA6IDIwMjAtMDUtMDUgMjE6MzA6MzMuODk3OTAwNTgyICswMjAwCkNoYW5n dMKgOiAyMDIwLTA1LTA1IDIxOjMwOjMzLjg5NzkwMDU4MiArMDIwMAogIENyw6nDqcKgOiAt Cisgc2xlZXAgMgorIHRvdWNoIGNvbmZpZy5zdGF0dXMKKyB0b3VjaCAtciBjb25maWcuc3Rh dHVzIGNvbmZpZy5zdGF0dXMgTWFrZWZpbGUgY29uZmlndXJlLmFjCisgc3RhdCBjb25maWcu c3RhdHVzIE1ha2VmaWxlIGNvbmZpZ3VyZS5hYwogIEZpY2hpZXLCoDogY29uZmlnLnN0YXR1 cwogICBUYWlsbGXCoDogMjU3NTQgICAgIAlCbG9jc8KgOiA1NiAgICAgICAgIEJsb2NzIGQn RS9TwqA6IDQwOTYgICBmaWNoaWVyClDDqXJpcGjDqXJpcXVlwqA6IDgzMWgvMjA5N2QJSW7F k3VkwqA6IDMwNTQ0NTAgICAgIExpZW5zwqA6IDEKQWNjw6hzwqA6ICgwNzU1Ly1yd3hyLXhy LXgpICBVSUTCoDogKCAxMDAwLyAgICAgIGh2KSAgIEdJRMKgOiAoIDEwMDAvICAgICAgaHYp CiBBY2PDqHPCoDogMjAyMC0wNS0wNSAyMTozMDozNS45MDc4ODg3NTEgKzAyMDAKTW9kaWYu wqA6IDIwMjAtMDUtMDUgMjE6MzA6MzUuOTA3ODg4NzUxICswMjAwCkNoYW5ndMKgOiAyMDIw LTA1LTA1IDIxOjMwOjM1LjkwNzg4ODc1MSArMDIwMAogIENyw6nDqcKgOiAtCiAgRmljaGll csKgOiBNYWtlZmlsZQogICBUYWlsbGXCoDogMTc5NzkgICAgIAlCbG9jc8KgOiA0MCAgICAg ICAgIEJsb2NzIGQnRS9TwqA6IDQwOTYgICBmaWNoaWVyClDDqXJpcGjDqXJpcXVlwqA6IDgz MWgvMjA5N2QJSW7Fk3VkwqA6IDMyNzg3NTQgICAgIExpZW5zwqA6IDEKQWNjw6hzwqA6ICgw NjQ0Ly1ydy1yLS1yLS0pICBVSUTCoDogKCAxMDAwLyAgICAgIGh2KSAgIEdJRMKgOiAoIDEw MDAvICAgICAgaHYpCiBBY2PDqHPCoDogMjAyMC0wNS0wNSAyMTozMDozNS45MDc4ODg3NTEg KzAyMDAKTW9kaWYuwqA6IDIwMjAtMDUtMDUgMjE6MzA6MzUuOTA3ODg4NzUxICswMjAwCkNo YW5ndMKgOiAyMDIwLTA1LTA1IDIxOjMwOjM1LjkwNzg4ODc1MSArMDIwMAogIENyw6nDqcKg OiAtCiAgRmljaGllcsKgOiBjb25maWd1cmUuYWMKICAgVGFpbGxlwqA6IDEzMSAgICAgICAJ QmxvY3PCoDogOCAgICAgICAgICBCbG9jcyBkJ0UvU8KgOiA0MDk2ICAgZmljaGllcgpQw6ly aXBow6lyaXF1ZcKgOiA4MzFoLzIwOTdkCUluxZN1ZMKgOiAzMDU0NDQzICAgICBMaWVuc8Kg OiAxCkFjY8Ooc8KgOiAoMDY0NC8tcnctci0tci0tKSAgVUlEwqA6ICggMTAwMC8gICAgICBo dikgICBHSUTCoDogKCAxMDAwLyAgICAgIGh2KQogQWNjw6hzwqA6IDIwMjAtMDUtMDUgMjE6 MzA6MzUuOTA3ODg4NzUxICswMjAwCk1vZGlmLsKgOiAyMDIwLTA1LTA1IDIxOjMwOjM1Ljkw Nzg4ODc1MSArMDIwMApDaGFuZ3TCoDogMjAyMC0wNS0wNSAyMTozMDozNS45MDc4ODg3NTEg KzAyMDAKICBDcsOpw6nCoDogLQorIGNhdAorIGNhdAorIGNhdAorIGNobW9kIGEreCBhY2xv Y2FsLXdyYXAgYXV0b21ha2Utd3JhcCBhdXRvY29uZi13cmFwCisgcnVuX21ha2UgTWFrZWZp bGUgQUNMT0NBTD0uL2FjbG9jYWwtd3JhcCBBVVRPTUFLRT0uL2F1dG9tYWtlLXdyYXAgQVVU T0NPTkY9Li9hdXRvY29uZi13cmFwCisgYW1fX21ha2VfcmVkaXJlY3Rfc3Rkb3V0PW5vCisg YW1fX21ha2VfcmVkaXJlY3Rfc3RkZXJyPW5vCisgYW1fX21ha2VfcmVkaXJlY3Rfc3RkYWxs PW5vCisgYW1fX21ha2VfZmxhZ3M9CisgYW1fX21ha2VfcmNfZXhwPTAKKyBhbV9tYWtlX3Jj PTAKKyB0ZXN0IDQgLWd0IDAKKyBicmVhaworIHVzaW5nX2dtYWtlCisgbWFrZSAtLXZlcnNp b24gLXYKKyBncmVwIEdOVQpHTlUgTWFrZSA0LjIuMQpMaWNlbmNlIEdQTHYzK8KgOiBHTlUg R1BMIHZlcnNpb24gMyBvdSB1bHTDqXJpZXVyZSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMv Z3BsLmh0bWw+CisgYW1fX3VzaW5nX2dtYWtlPXllcworIHJldHVybiAwCisgOgorIHRlc3Qg eCAhPSB4CisgOiBleGVjIG1ha2UgTWFrZWZpbGUgQUNMT0NBTD0uL2FjbG9jYWwtd3JhcCBB VVRPTUFLRT0uL2F1dG9tYWtlLXdyYXAgQVVUT0NPTkY9Li9hdXRvY29uZi13cmFwCisgc2V0 ICt4CkNEUEFUSD0iJHtaU0hfVkVSU0lPTisufToiICYmIGNkIC4gJiYgLi9hY2xvY2FsLXdy YXAgCisgQVVUT0NPTkY9YXV0b2NvbmYKKyBleHBvcnQgQVVUT0NPTkYKKyBhY2xvY2FsLTEu MTYgLVdlcnJvcgorIHRvdWNoIC1yIGNvbmZpZy5zdGF0dXMgYWNsb2NhbC5tNAorIHN0YXQg YWNsb2NhbC5tNAogIEZpY2hpZXLCoDogYWNsb2NhbC5tNAogICBUYWlsbGXCoDogMjczMTYg ICAgIAlCbG9jc8KgOiA1NiAgICAgICAgIEJsb2NzIGQnRS9TwqA6IDQwOTYgICBmaWNoaWVy ClDDqXJpcGjDqXJpcXVlwqA6IDgzMWgvMjA5N2QJSW7Fk3VkwqA6IDMwNTQ0NDUgICAgIExp ZW5zwqA6IDEKQWNjw6hzwqA6ICgwNjQ0Ly1ydy1yLS1yLS0pICBVSUTCoDogKCAxMDAwLyAg ICAgIGh2KSAgIEdJRMKgOiAoIDEwMDAvICAgICAgaHYpCiBBY2PDqHPCoDogMjAyMC0wNS0w NSAyMTozMDozNS45MDc4ODg3NTEgKzAyMDAKTW9kaWYuwqA6IDIwMjAtMDUtMDUgMjE6MzA6 MzUuOTA3ODg4NzUxICswMjAwCkNoYW5ndMKgOiAyMDIwLTA1LTA1IDIxOjMwOjM2LjA3Nzg4 Nzc1MiArMDIwMAogIENyw6nDqcKgOiAtCiBjZCAuICYmIC4vYXV0b21ha2Utd3JhcCAtLWZv cmVpZ24KKyBBVVRPQ09ORj1hdXRvY29uZgorIGV4cG9ydCBBVVRPQ09ORgorIGF1dG9tYWtl LTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwgLS1mb3JlaWduCisgdG91Y2ggLXIgY29u ZmlnLnN0YXR1cyBNYWtlZmlsZS5pbgorIHN0YXQgTWFrZWZpbGUuaW4KICBGaWNoaWVywqA6 IE1ha2VmaWxlLmluCiAgIFRhaWxsZcKgOiAxNzAzMSAgICAgCUJsb2NzwqA6IDQwICAgICAg ICAgQmxvY3MgZCdFL1PCoDogNDA5NiAgIGZpY2hpZXIKUMOpcmlwaMOpcmlxdWXCoDogODMx aC8yMDk3ZAlJbsWTdWTCoDogMzA1NDQ0NiAgICAgTGllbnPCoDogMQpBY2PDqHPCoDogKDA2 NDQvLXJ3LXItLXItLSkgIFVJRMKgOiAoIDEwMDAvICAgICAgaHYpICAgR0lEwqA6ICggMTAw MC8gICAgICBodikKIEFjY8Ooc8KgOiAyMDIwLTA1LTA1IDIxOjMwOjM1LjkwNzg4ODc1MSAr MDIwMApNb2RpZi7CoDogMjAyMC0wNS0wNSAyMTozMDozNS45MDc4ODg3NTEgKzAyMDAKQ2hh bmd0wqA6IDIwMjAtMDUtMDUgMjE6MzA6MzYuMzQ3ODg2MTYwICswMjAwCiAgQ3LDqcOpwqA6 IC0KQ0RQQVRIPSIke1pTSF9WRVJTSU9OKy59OiIgJiYgY2QgLiAmJiAuL2F1dG9jb25mLXdy YXAKKyBhdXRvY29uZgorIHRvdWNoIC1yIGNvbmZpZy5zdGF0dXMgY29uZmlndXJlCisgc3Rh dCBjb25maWd1cmUKICBGaWNoaWVywqA6IGNvbmZpZ3VyZQogICBUYWlsbGXCoDogMTA0ODE5 ICAgIAlCbG9jc8KgOiAyMDggICAgICAgIEJsb2NzIGQnRS9TwqA6IDQwOTYgICBmaWNoaWVy ClDDqXJpcGjDqXJpcXVlwqA6IDgzMWgvMjA5N2QJSW7Fk3VkwqA6IDMwNTQ0NTQgICAgIExp ZW5zwqA6IDEKQWNjw6hzwqA6ICgwNzU1Ly1yd3hyLXhyLXgpICBVSUTCoDogKCAxMDAwLyAg ICAgIGh2KSAgIEdJRMKgOiAoIDEwMDAvICAgICAgaHYpCiBBY2PDqHPCoDogMjAyMC0wNS0w NSAyMTozMDozNS45MDc4ODg3NTEgKzAyMDAKTW9kaWYuwqA6IDIwMjAtMDUtMDUgMjE6MzA6 MzUuOTA3ODg4NzUxICswMjAwCkNoYW5ndMKgOiAyMDIwLTA1LTA1IDIxOjMwOjM2LjQ2Nzg4 NTQ1NSArMDIwMAogIENyw6nDqcKgOiAtCm1ha2U6IMKrwqBNYWtlZmlsZcKgwrsgZXN0IMOg IGpvdXIuCisgdGVzdCAwIC1lcSAyNTMKKyB0ZXN0IG5vID0geWVzCisgdGVzdCBubyA9IHll cworIHRlc3Qgbm8gPSB5ZXMKKyB0ZXN0IDAgLWdlIDAKKyB0ZXN0IDAgLWxlIDI1NQorIHRl c3QgMCAtZXEgMAorIGdyZXAgXkZPT0JBUiA9IE1ha2VmaWxlLmluCkZPT0JBUiA9IEBGT09C QVJACisgZ3JlcCBeRk9PQkFSICo9ICp6YXJkb3ogKiQgTWFrZWZpbGUKKyBhbV9leGl0X3Ry YXAgMQorIGV4aXRfc3RhdHVzPTEKKyBzZXQgK2UKKyBjZCAvaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yCisgdGVzdCBub25lID0gdGFwCisgdGVzdCAxIC1lcSAwCisg a2VlcF90ZXN0ZGlycz15ZXMKKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCisgcmV0dXJuIDAKKyBz ZXQgK3gKWEZBSUwgdC9yZW1ha2UtdGltaW5nLWJ1Zy1wcjgzNjUuc2ggKGV4aXQgc3RhdHVz OiAxKQoKU0tJUDogdC9zaWxlbnQtZjc3Cj09PT09PT09PT09PT09PT09PQoKU0tJUCB0L3Np bGVudC1mNzcuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvc2lsZW50LWY5MAo9PT09 PT09PT09PT09PT09PT0KClNLSVAgdC9zaWxlbnQtZjkwLnNoIChleGl0IHN0YXR1czogNzcp CgpTS0lQOiB0L3NpbGVudC1tYW55LWxhbmd1YWdlcwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQoKU0tJUCB0L3NpbGVudC1tYW55LWxhbmd1YWdlcy5zaCAoZXhpdCBzdGF0dXM6 IDc3KQoKU0tJUDogdC9zdWJkaXItY29uZC1nZXR0ZXh0Cj09PT09PT09PT09PT09PT09PT09 PT09PT09PQoKc3ViZGlyLWNvbmQtZ2V0dGV4dDogcnVubmluZyBnZXR0ZXh0IC0tdmVyc2lv bgpnZXR0ZXh0IChHTlUgZ2V0dGV4dC1ydW50aW1lKSAwLjIwLjIKQ29weXJpZ2h0IChDKSAx OTk1LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxpY2Vuc2UgR1BMdjMr OiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8aHR0cHM6Ly9nbnUub3JnL2xpY2Vuc2Vz L2dwbC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFu Z2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBl eHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4Kw4ljcml0IHBhciBVbHJpY2ggRHJlcHBlci4KU0tJ UCB0L3N1YmRpci1jb25kLWdldHRleHQuc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQv c3Vib2JqLXByMTM5MjgtbW9yZS1sYW5ncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KClNLSVAgdC9zdWJvYmotcHIxMzkyOC1tb3JlLWxhbmdzLnNoIChleGl0IHN0YXR1 czogNzcpCgpQQVNTOiB0L3RhcC1iYWQtcHJvZwo9PT09PT09PT09PT09PT09PT09PQoKUnVu bmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2NvbDogdGFwClBBVEggPSAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwv YmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1t ZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBk YXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMv YXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9nLmRpcgorIGZldGNoX3RhcF9kcml2ZXIK KyBBTV9UQVBfQVdLPWdhd2sKKyBleHBvcnQgQU1fVEFQX0FXSworIGdldF9zaGVsbF9zY3Jp cHQgdGFwLWRyaXZlci5zaCB0YXAtZHJpdmVyCisgYW1fc291cmNlPXRhcC1kcml2ZXIuc2gg YW1fdGFyZ2V0PXRhcC1kcml2ZXIKKyB0ZXN0ICEgLWYgdGFwLWRyaXZlcgorIHRlc3QgeCA9 IHh5ZXMKKyBjcCAtZiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2xp Yi90YXAtZHJpdmVyLnNoIHRhcC1kcml2ZXIKKyBzZWQgMTBxIHRhcC1kcml2ZXIKIyEgL2Jp bi9zaAojIENvcHlyaWdodCAoQykgMjAxMS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9w dGlvbikKIyBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg dW5zZXQgYW1fdGFyZ2V0IGFtX3NvdXJjZQorIHBsYW5fIDYKKyB0ZXN0IDEgLWVxIDAKKyB0 ZXN0IDEgLWdlIDIKKyB0ZXN0IHhub25lICE9IHhub25lCisgdGVzdCB4NiA9IHh1bmtub3du CisgdGVzdCB4NiA9IHhsYXRlcgorIHRlc3QgeDYgPSB4bGF6eQorIHRlc3QgeDYgPSB4bm93 CisgdGVzdCA2IC1nZSAwCisgcGxhbm5lZF89NgorIGVjaG8gMS4uNgoxLi42CisgY2F0Cisg Y2F0CisgY2F0CisgY3Agbm9leGVjLnRlc3Qgbm9yZWFkLnRlc3QKKyBjaG1vZCBhLXIgbm9y ZWFkLnRlc3QKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9jb25mCisgYXV0b21ha2Ut MS4xNiAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbAorIC4vY29uZmlndXJlCmNoZWNraW5nIGZv ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVj a2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5n IGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcg Zm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4u IHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4u LiB5ZXMKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKKyBjb21tYW5kX29rXyAibWFrZSBjaGVj ayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cyBydW5fbWFrZSAtTyAtZSBGQUlMIGNo ZWNrCisgdGFwX2RpcmVjdGl2ZV89IHRhcF9yZWFzb25fPQorIHRlc3QgNiAtZ3QgMAorIHRh cF9kZXNjcmlwdGlvbl89Im1ha2UgY2hlY2siIHJldHVybnMgbm9uLXplcm8gZXhpdCBzdGF0 dXMKKyBzaGlmdAorIHRlc3QgNSAtZ3QgMAorIGJyZWFrCisgdGFwX3Jlc3VsdF89b2sKKyBy dW5fbWFrZSAtTyAtZSBGQUlMIGNoZWNrCisgYW1fX21ha2VfcmVkaXJlY3Rfc3Rkb3V0PW5v CisgYW1fX21ha2VfcmVkaXJlY3Rfc3RkZXJyPW5vCisgYW1fX21ha2VfcmVkaXJlY3Rfc3Rk YWxsPW5vCisgYW1fX21ha2VfZmxhZ3M9CisgYW1fX21ha2VfcmNfZXhwPTAKKyBhbV9tYWtl X3JjPTAKKyB0ZXN0IDQgLWd0IDAKKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRvdXQ9eWVzCisg c2hpZnQKKyB0ZXN0IDMgLWd0IDAKKyBhbV9fbWFrZV9yY19leHA9RkFJTAorIHNoaWZ0Cisg c2hpZnQKKyB0ZXN0IDEgLWd0IDAKKyBicmVhaworIHVzaW5nX2dtYWtlCisgZ3JlcCBHTlUK KyBtYWtlIC0tdmVyc2lvbiAtdgpHTlUgTWFrZSA0LjIuMQpMaWNlbmNlIEdQTHYzK8KgOiBH TlUgR1BMIHZlcnNpb24gMyBvdSB1bHTDqXJpZXVyZSA8aHR0cDovL2dudS5vcmcvbGljZW5z ZXMvZ3BsLmh0bWw+CisgYW1fX3VzaW5nX2dtYWtlPXllcworIHJldHVybiAwCisgOgorIHRl c3QgeCAhPSB4CisgOiBleGVjIG1ha2UgY2hlY2sKKyBzZXQgK3gKbWFrZVsyXTogKioqIFtN YWtlZmlsZTo0NzU6IHRlc3Qtc3VpdGUubG9nXSBFcnJvciAxCm1ha2VbMV06ICoqKiBbTWFr ZWZpbGU6NTgzOiBjaGVjay1URVNUU10gRXJyb3IgMgptYWtlOiAqKiogW01ha2VmaWxlOjc4 MTogY2hlY2stYW1dIEVycm9yIDIKKyBhbV9tYWtlX3JjPTIKKyB0ZXN0IDIgLWVxIDI1Mwor IHRlc3Qgbm8gPSB5ZXMKKyB0ZXN0IHllcyA9IHllcworIGNhdCBzdGRvdXQKbWFrZSAgY2hl Y2stVEVTVFMKbWFrZVsxXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAv aG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9nLmRp csKgwrsKbWFrZVsyXcKgOiBvbiBlbnRyZSBkYW5zIGxlIHLDqXBlcnRvaXJlIMKrwqAvaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdGFwLWJhZC1wcm9nLmRpcsKg wrsKRVJST1I6IG5vbmUudGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub25lLnRl c3QgLSBleGl0ZWQgd2l0aCBzdGF0dXMgMTI3IChjb21tYW5kIG5vdCBmb3VuZD8pCkVSUk9S OiBub3JlYWQudGVzdCAtIG1pc3NpbmcgdGVzdCBwbGFuCkVSUk9SOiBub3JlYWQudGVzdCAt IGV4aXRlZCB3aXRoIHN0YXR1cyAxMjYKRVJST1I6IG5vZXhlYy50ZXN0IC0gbWlzc2luZyB0 ZXN0IHBsYW4KRVJST1I6IG5vZXhlYy50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ClRlc3RzdWl0ZSBzdW1tYXJ5IGZvciB0YXAtYmFkLXBy b2cgMS4wCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBUT1RBTDogNgojIFBBU1M6ICAwCiMg U0tJUDogIDAKIyBYRkFJTDogMAojIEZBSUw6ICAwCiMgWFBBU1M6IDAKIyBFUlJPUjogNgo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ClNlZSAuL3Rlc3Qtc3VpdGUubG9nCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KbWFrZVsyXcKgOiBvbiBxdWl0dGUgbGUgcsOpcGVydG9pcmUgwqvCoC9o b21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC90YXAtYmFkLXByb2cuZGly wqDCuwptYWtlWzFdwqA6IG9uIHF1aXR0ZSBsZSByw6lwZXJ0b2lyZSDCq8KgL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3RhcC1iYWQtcHJvZy5kaXLCoMK7Cisg dGVzdCBubyA9IHllcworIHRlc3QgMiAtZ3QgMAorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSAi bWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBleGl0IHN0YXR1cworIHNldCAreApvayAx IC0gIm1ha2UgY2hlY2siIHJldHVybnMgbm9uLXplcm8gZXhpdCBzdGF0dXMKUEFTUzogdC90 YXAtYmFkLXByb2cudGFwIDEgLSAibWFrZSBjaGVjayIgcmV0dXJucyBub24temVybyBleGl0 IHN0YXR1cworIGNvbW1hbmRfb2tfIG5vbi1leGlzdGVudCB0ZXN0IGlzIHJlcG9ydGVkIGdy ZXAgXkVSUk9SOiBub25lXC50ZXN0IHN0ZG91dAorIHRhcF9kaXJlY3RpdmVfPSB0YXBfcmVh c29uXz0KKyB0ZXN0IDQgLWd0IDAKKyB0YXBfZGVzY3JpcHRpb25fPW5vbi1leGlzdGVudCB0 ZXN0IGlzIHJlcG9ydGVkCisgc2hpZnQKKyB0ZXN0IDMgLWd0IDAKKyBicmVhaworIHRhcF9y ZXN1bHRfPW9rCisgZ3JlcCBeRVJST1I6IG5vbmVcLnRlc3Qgc3Rkb3V0CkVSUk9SOiBub25l LnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9uZS50ZXN0IC0gZXhpdGVkIHdp dGggc3RhdHVzIDEyNyAoY29tbWFuZCBub3QgZm91bmQ/KQorIHJlc3VsdF8gb2sgLUQgIC1y ICAtLSBub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZAorIHNldCAreApvayAyIC0gbm9u LWV4aXN0ZW50IHRlc3QgaXMgcmVwb3J0ZWQKUEFTUzogdC90YXAtYmFkLXByb2cudGFwIDIg LSBub24tZXhpc3RlbnQgdGVzdCBpcyByZXBvcnRlZAorIGRlc2M9bm9uLWV4ZWN1dGFibGUg dGVzdCBpcyByZXBvcnRlZAorIC4vbm9leGVjLnRlc3QKLi90L3RhcC1iYWQtcHJvZy50YXA6 IDYyOiAuL3QvdGFwLWJhZC1wcm9nLnRhcDogLi9ub2V4ZWMudGVzdDogUGVybWlzc2lvbiBk ZW5pZWQKKyBjb21tYW5kX29rXyBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkIC0t IGdyZXAgXkVSUk9SOiBub2V4ZWNcLnRlc3Qgc3Rkb3V0CisgdGFwX2RpcmVjdGl2ZV89IHRh cF9yZWFzb25fPQorIHRlc3QgNSAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89bm9uLWV4ZWN1 dGFibGUgdGVzdCBpcyByZXBvcnRlZAorIHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgc2hpZnQK KyBicmVhaworIHRhcF9yZXN1bHRfPW9rCisgZ3JlcCBeRVJST1I6IG5vZXhlY1wudGVzdCBz dGRvdXQKRVJST1I6IG5vZXhlYy50ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6IG5v ZXhlYy50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgorIHJlc3VsdF8gb2sgLUQgIC1y ICAtLSBub24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkCisgc2V0ICt4Cm9rIDMgLSBu b24tZXhlY3V0YWJsZSB0ZXN0IGlzIHJlcG9ydGVkClBBU1M6IHQvdGFwLWJhZC1wcm9nLnRh cCAzIC0gbm9uLWV4ZWN1dGFibGUgdGVzdCBpcyByZXBvcnRlZAorIGRlc2M9bm9uLXJlYWRh YmxlIHRlc3QgaXMgcmVwb3J0ZWQKKyB0ZXN0IC1yIG5vcmVhZC50ZXN0CisgY29tbWFuZF9v a18gbm9uLXJlYWRhYmxlIHRlc3QgaXMgcmVwb3J0ZWQgLS0gZ3JlcCBeRVJST1I6IG5vcmVh ZFwudGVzdCBzdGRvdXQKKyB0YXBfZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCA1 IC1ndCAwCisgdGFwX2Rlc2NyaXB0aW9uXz1ub24tcmVhZGFibGUgdGVzdCBpcyByZXBvcnRl ZAorIHNoaWZ0CisgdGVzdCA0IC1ndCAwCisgc2hpZnQKKyBicmVhaworIHRhcF9yZXN1bHRf PW9rCisgZ3JlcCBeRVJST1I6IG5vcmVhZFwudGVzdCBzdGRvdXQKRVJST1I6IG5vcmVhZC50 ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4KRVJST1I6IG5vcmVhZC50ZXN0IC0gZXhpdGVkIHdp dGggc3RhdHVzIDEyNgorIHJlc3VsdF8gb2sgLUQgIC1yICAtLSBub24tcmVhZGFibGUgdGVz dCBpcyByZXBvcnRlZAorIHNldCAreApvayA0IC0gbm9uLXJlYWRhYmxlIHRlc3QgaXMgcmVw b3J0ZWQKUEFTUzogdC90YXAtYmFkLXByb2cudGFwIDQgLSBub24tcmVhZGFibGUgdGVzdCBp cyByZXBvcnRlZAorIGNvbW1hbmRfb2tfIG5vIHNwdXJpb3VzICJtaXNzaW5nIHBsYW4iIG1l c3NhZ2UgLUQgVE9ETyAtLSBub3QgZ3JlcCBtaXNzaW5nLiogcGxhbiBzdGRvdXQKKyB0YXBf ZGlyZWN0aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCA4IC1ndCAwCisgdGFwX2Rlc2NyaXB0 aW9uXz1ubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNzYWdlCisgc2hpZnQKKyB0ZXN0 IDcgLWd0IDAKKyB0YXBfZGlyZWN0aXZlXz1UT0RPCisgc2hpZnQKKyBzaGlmdAorIHRlc3Qg NSAtZ3QgMAorIHNoaWZ0CisgYnJlYWsKKyB0YXBfcmVzdWx0Xz1vaworIG5vdCBncmVwIG1p c3NpbmcuKiBwbGFuIHN0ZG91dAorIGdyZXAgbWlzc2luZy4qIHBsYW4gc3Rkb3V0CkVSUk9S OiBub25lLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9yZWFkLnRlc3QgLSBt aXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9leGVjLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxh bgorIHRhcF9yZXN1bHRfPW5vdCBvaworIHJlc3VsdF8gbm90IG9rIC1EIFRPRE8gLXIgIC0t IG5vIHNwdXJpb3VzICJtaXNzaW5nIHBsYW4iIG1lc3NhZ2UKKyBzZXQgK3gKbm90IG9rIDUg LSBubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNzYWdlICMgVE9ETwpYRkFJTDogdC90 YXAtYmFkLXByb2cudGFwIDUgLSBubyBzcHVyaW91cyAibWlzc2luZyBwbGFuIiBtZXNzYWdl ICMgVE9ETworIGNvbW1hbmRfb2tfIG5vIHNwdXJpb3VzIHJlc3VsdHMgLUQgVE9ETyAtciBz dGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIgY291bnRfdGVzdF9yZXN1bHRzIHRvdGFsPTMgcGFz cz0wIGZhaWw9MCB4cGFzcz0wIHhmYWlsPTAgc2tpcD0wIGVycm9yPTMKKyB0YXBfZGlyZWN0 aXZlXz0gdGFwX3JlYXNvbl89CisgdGVzdCAxMyAtZ3QgMAorIHRhcF9kZXNjcmlwdGlvbl89 bm8gc3B1cmlvdXMgcmVzdWx0cworIHNoaWZ0CisgdGVzdCAxMiAtZ3QgMAorIHRhcF9kaXJl Y3RpdmVfPVRPRE8KKyBzaGlmdAorIHNoaWZ0CisgdGVzdCAxMCAtZ3QgMAorIHRhcF9yZWFz b25fPXN0aWxsIGdldCAibWlzc2luZyBwbGFuIgorIHNoaWZ0Cisgc2hpZnQKKyB0ZXN0IDgg LWd0IDAKKyBicmVhaworIHRhcF9yZXN1bHRfPW9rCisgY291bnRfdGVzdF9yZXN1bHRzIHRv dGFsPTMgcGFzcz0wIGZhaWw9MCB4cGFzcz0wIHhmYWlsPTAgc2tpcD0wIGVycm9yPTMKKyB0 b3RhbD1FUlIgcGFzcz1FUlIgZmFpbD1FUlIgeHBhc3M9RVJSIHhmYWlsPUVSUiBza2lwPUVS UiBlcnJvcj1FUlIKKyBldmFsIHRvdGFsPTMgcGFzcz0wIGZhaWw9MCB4cGFzcz0wIHhmYWls PTAgc2tpcD0wIGVycm9yPTMKKyB0b3RhbD0zIHBhc3M9MCBmYWlsPTAgeHBhc3M9MCB4ZmFp bD0wIHNraXA9MCBlcnJvcj0zCisgL2Jpbi9ncmVwIC1FIC1pICh0b3RhbHx4P3Bhc3N8eD9m YWlsfHNraXB8ZXJyb3IpIHN0ZG91dApFUlJPUjogbm9uZS50ZXN0IC0gbWlzc2luZyB0ZXN0 IHBsYW4KRVJST1I6IG5vbmUudGVzdCAtIGV4aXRlZCB3aXRoIHN0YXR1cyAxMjcgKGNvbW1h bmQgbm90IGZvdW5kPykKRVJST1I6IG5vcmVhZC50ZXN0IC0gbWlzc2luZyB0ZXN0IHBsYW4K RVJST1I6IG5vcmVhZC50ZXN0IC0gZXhpdGVkIHdpdGggc3RhdHVzIDEyNgpFUlJPUjogbm9l eGVjLnRlc3QgLSBtaXNzaW5nIHRlc3QgcGxhbgpFUlJPUjogbm9leGVjLnRlc3QgLSBleGl0 ZWQgd2l0aCBzdGF0dXMgMTI2CiMgVE9UQUw6IDYKIyBQQVNTOiAgMAojIFNLSVA6ICAwCiMg WEZBSUw6IDAKIyBGQUlMOiAgMAojIFhQQVNTOiAwCiMgRVJST1I6IDYKKyByYz0wCisgc2V0 ICtlCisgZ3JlcCAtYyBeUEFTUzogc3Rkb3V0CisgdGVzdCAwIC1lcSAwCisgZ3JlcCAtYyBe WEZBSUw6IHN0ZG91dAorIHRlc3QgMCAtZXEgMAorIGdyZXAgLWMgXlNLSVA6IHN0ZG91dAor IHRlc3QgMCAtZXEgMAorIGdyZXAgLWMgXkZBSUw6IHN0ZG91dAorIHRlc3QgMCAtZXEgMAor IGdyZXAgLWMgXlhQQVNTOiBzdGRvdXQKKyB0ZXN0IDAgLWVxIDAKKyBncmVwIC1jIF5FUlJP Ujogc3Rkb3V0CisgdGVzdCA2IC1lcSAzCisgcmM9MQorIGdyZXAgXiMgVE9UQUw6ICAqMyQg c3Rkb3V0CisgcmM9MQorIGdyZXAgXiMgUEFTUzogICowJCBzdGRvdXQKIyBQQVNTOiAgMAor IGdyZXAgXiMgWEZBSUw6ICAqMCQgc3Rkb3V0CiMgWEZBSUw6IDAKKyBncmVwIF4jIFNLSVA6 ICAqMCQgc3Rkb3V0CiMgU0tJUDogIDAKKyBncmVwIF4jIEZBSUw6ICAqMCQgc3Rkb3V0CiMg RkFJTDogIDAKKyBncmVwIF4jIFhQQVNTOiAgKjAkIHN0ZG91dAojIFhQQVNTOiAwCisgZ3Jl cCBeIyBFUlJPUjogICozJCBzdGRvdXQKKyByYz0xCisgdGVzdCAxIC1lcSAwCisgdGFwX3Jl c3VsdF89bm90IG9rCisgcmVzdWx0XyBub3Qgb2sgLUQgVE9ETyAtciBzdGlsbCBnZXQgIm1p c3NpbmcgcGxhbiIgLS0gbm8gc3B1cmlvdXMgcmVzdWx0cworIHNldCAreApub3Qgb2sgNiAt IG5vIHNwdXJpb3VzIHJlc3VsdHMgIyBUT0RPIHN0aWxsIGdldCAibWlzc2luZyBwbGFuIgpY RkFJTDogdC90YXAtYmFkLXByb2cudGFwIDYgLSBubyBzcHVyaW91cyByZXN1bHRzICMgVE9E TyBzdGlsbCBnZXQgIm1pc3NpbmcgcGxhbiIKKyA6CisgYW1fZXhpdF90cmFwIDAKKyBleGl0 X3N0YXR1cz0wCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMgorIHRlc3QgdGFwID0gdGFwCisgdGVzdCA2ID0gbGF0ZXIKKyB0ZXN0IDAgLWVx IDAKKyB0ZXN0IDQgLWVxIDYKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVz dGRpcnMKKyByZXR1cm4gMAorIHNldCAreAoKU0tJUDogdC90YWdzdWIKPT09PT09PT09PT09 PT0KCnRhZ3N1YjogcnVubmluZyBldGFncyAtLXZlcnNpb24gLW8gL2Rldi9udWxsCi4vdC90 YWdzdWIuc2g6IDc5OTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L2F4L3Rlc3QtaW5pdC5zaDogZXRhZ3M6IG5vdCBmb3VuZApTS0lQIHQvdGFnc3ViLnNoIChl eGl0IHN0YXR1czogNzcpCgpGQUlMOiB0L3RhZ3MtbGlzcC1zcGFjZQo9PT09PT09PT09PT09 PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazogbm8KVGVzdCBQcm90b2Nv bDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi9i aW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4Oi9ob21lL2h2 L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmluOi9ob21lL2h2L1NUTTMyQ3ViZS9T VE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9odi9BUk0vZ2NjLWFybS1ub25lLWVh YmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdHRVIvSkxpbmsKKyBwd2QKL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L3RhZ3MtbGlzcC1zcGFjZS5kaXIK KyBjYXQKKyBjYXQKKyB0b3VjaCBjb25maWcuaC5pbgorIHRvdWNoIHRoZS1hbXRlc3QtbW9k ZS5lbAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2NvbmYKKyBhdXRvbWFrZS0xLjE2 IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsCisgLi9jb25maWd1cmUKY2hlY2tpbmcgZm9yIGEg QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9y IGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3Ig Z2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVz CmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHll cwpjaGVja2luZyBmb3IgZW1hY3MuLi4gbm8KY2hlY2tpbmcgZm9yIHhlbWFjcy4uLiBubwpj aGVja2luZyB3aGVyZSAuZWxjIGZpbGVzIHNob3VsZCBnby4uLiAke2RhdGFkaXJ9L2VtYWNz L3NpdGUtbGlzcApjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhh biBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1 cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBjcmVh dGluZyBjb25maWcuaAorIHJ1bl9tYWtlIC1PIC1FIHRhZ3MKKyBhbV9fbWFrZV9yZWRpcmVj dF9zdGRvdXQ9bm8KKyBhbV9fbWFrZV9yZWRpcmVjdF9zdGRlcnI9bm8KKyBhbV9fbWFrZV9y ZWRpcmVjdF9zdGRhbGw9bm8KKyBhbV9fbWFrZV9mbGFncz0KKyBhbV9fbWFrZV9yY19leHA9 MAorIGFtX21ha2VfcmM9MAorIHRlc3QgMyAtZ3QgMAorIGFtX19tYWtlX3JlZGlyZWN0X3N0 ZG91dD15ZXMKKyBzaGlmdAorIHRlc3QgMiAtZ3QgMAorIGFtX19tYWtlX3JlZGlyZWN0X3N0 ZGVycj15ZXMKKyBzaGlmdAorIHRlc3QgMSAtZ3QgMAorIGJyZWFrCisgdXNpbmdfZ21ha2UK KyBtYWtlIC0tdmVyc2lvbiAtdgorIGdyZXAgR05VCkdOVSBNYWtlIDQuMi4xCkxpY2VuY2Ug R1BMdjMrwqA6IEdOVSBHUEwgdmVyc2lvbiAzIG91IHVsdMOpcmlldXJlIDxodHRwOi8vZ251 Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD4KKyBhbV9fdXNpbmdfZ21ha2U9eWVzCisgcmV0dXJu IDAKKyA6CisgdGVzdCB4ICE9IHgKKyA6IGV4ZWMgbWFrZSB0YWdzCisgc2V0ICt4CisgYW1f bWFrZV9yYz0yCisgdGVzdCAyIC1lcSAyNTMKKyB0ZXN0IG5vID0geWVzCisgdGVzdCB5ZXMg PSB5ZXMKKyBjYXQgc3Rkb3V0CihDRFBBVEg9IiR7WlNIX1ZFUlNJT04rLn06IiAmJiBjZCAu ICYmIC9iaW4vYmFzaCAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3Qv dGFncy1saXNwLXNwYWNlLmRpci9taXNzaW5nIGF1dG9oZWFkZXIpCnJtIC1mIHN0YW1wLWgx CnRvdWNoIGNvbmZpZy5oLmluCnNldCB4OyBcCmhlcmU9YHB3ZGA7IFwKbGlzdD0nICAgdGhl LWFtdGVzdC1tb2RlLmVsIGNvbmZpZy5oLmluJzsgdW5pcXVlPWBmb3IgaSBpbiAkbGlzdDsg ZG8gaWYgdGVzdCAtZiAiJGkiOyB0aGVuIGVjaG8gJGk7IGVsc2UgZWNobyAuLyRpOyBmaTsg ZG9uZSB8IGdhd2sgJyBCRUdJTiB7IG5vbmVtcHR5ID0gMDsgfSB7IGl0ZW1zWyQwXSA9IDE7 IG5vbmVtcHR5ID0gMTsgfSBFTkQgeyBpZiAobm9uZW1wdHkpIHsgZm9yIChpIGluIGl0ZW1z KSBwcmludCBpOyB9OyB9ICdgOyBcCnNoaWZ0OyBcCmlmIHRlc3QgLXogIiQqJHVuaXF1ZSI7 IHRoZW4gOjsgZWxzZSBcCiAgdGVzdCAtbiAiJHVuaXF1ZSIgfHwgdW5pcXVlPSRlbXB0eV9m aXg7IFwKICBpZiB0ZXN0ICQjIC1ndCAwOyB0aGVuIFwKICAgIGV0YWdzICAgIFwKICAgICAg IiRAIiAkdW5pcXVlOyBcCiAgZWxzZSBcCiAgICBldGFncyAgICBcCiAgICAgICR1bmlxdWU7 IFwKICBmaTsgXApmaQorIHRlc3QgeWVzID0geWVzCisgY2F0IHN0ZGVycgovYmluL2Jhc2g6 IGxpZ25lIDExOiBldGFncyA6IGNvbW1hbmRlIGludHJvdXZhYmxlCm1ha2U6ICoqKiBbTWFr ZWZpbGU6Mzg0OiB0YWdzLWFtXSBFcnJvciAxMjcKKyB0ZXN0IDAgLWdlIDAKKyB0ZXN0IDAg LWxlIDI1NQorIHRlc3QgMiAtZXEgMAorIHJldHVybiAxCisgYW1fZXhpdF90cmFwIDEKKyBl eGl0X3N0YXR1cz0xCisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgMSAtZXEgMAorIGtlZXBfdGVz dGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIHJldHVybiAwCisgc2V0ICt4CkZB SUwgdC90YWdzLWxpc3Atc3BhY2Uuc2ggKGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdC90YWdz LXByMTIzNzIKPT09PT09PT09PT09PT09PT09PT0KCnRhZ3MtcHIxMjM3MjogcnVubmluZyBl dGFncyAtLXZlcnNpb24gLW8gL2Rldi9udWxsCi4vdC90YWdzLXByMTIzNzIuc2g6IDc5OTog L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5z aDogZXRhZ3M6IG5vdCBmb3VuZApTS0lQIHQvdGFncy1wcjEyMzcyLnNoIChleGl0IHN0YXR1 czogNzcpCgpTS0lQOiB0L3VwYwo9PT09PT09PT09PQoKUnVubmluZyBmcm9tIGluc3RhbGxj aGVjazogbm8KVGVzdCBQcm90b2NvbDogbm9uZQpQQVRIID0gL2hvbWUvaHYvc3NkMy9zb3Vy Y2VzL2F1dG9tYWtlLTEuMTYuMi9iaW46L2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtl LTEuMTYuMi90L2F4Oi9ob21lL2h2L2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmlu Oi9ob21lL2h2L1NUTTMyQ3ViZS9TVE0zMkN1YmVQcm9ncmFtbWVyMi4yL2JpbjovaG9tZS9o di9BUk0vZ2NjLWFybS1ub25lLWVhYmktOC0yMDE5LXEzLXVwZGF0ZS9iaW46L29wdC9TRUdH RVIvSkxpbmsKKyBwd2QKL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90 L3VwYy5kaXIKKyBjYXQKKyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1 dG9tYWtlLTEuMTYgLS1mb3JlaWduIC1XZXJyb3IgLVdhbGwKKyBhdXRvY29uZgorIC4vY29u ZmlndXJlCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9i aW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNh bmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4v bWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1h a2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg bmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz IHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZm9y IGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5 ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4u IGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3Vm Zml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5n IHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0 cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODku Li4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBnY2MgdW5kZXJzdGFuZHMgLWMgYW5k IC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4u LiBnY2MzCmNoZWNraW5nIGZvciB1cGNjLi4uIG5vCmNoZWNraW5nIGZvciB1cGMuLi4gbm8K Y29uZmlndXJlOiBlcnJvcjogbm8gVW5pZmllZCBQYXJhbGxlbCBDIGNvbXBpbGVyIHdhcyBm b3VuZAorIF9hbV9leGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rf c2tpcHBlZD15ZXMKKyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4 aXRfc3RhdHVzPTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9t YWtlLTEuMTYuMgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rl c3RkaXJzPXllcworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApT S0lQIHQvdXBjLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L3VwYzMKPT09PT09PT09 PT09CgpSdW5uaW5nIGZyb20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25l ClBBVEggPSAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9t ZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91 c3IvbG9jYWwvYmluOi91c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3Vi ZVByb2dyYW1tZXIyLjIvYmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIw MTktcTMtdXBkYXRlL2Jpbjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2Qz L3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvdXBjMy5kaXIKKyBjYXQKKyBjYXQKKyBjYXQK KyBjYXQKKyBjYXQKKyBhY2xvY2FsLTEuMTYgLVdlcnJvcgorIGF1dG9tYWtlLTEuMTYgLS1m b3JlaWduIC1XZXJyb3IgLVdhbGwKKyBhdXRvY29uZgorIC4vY29uZmlndXJlCmNoZWNraW5n IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpj aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tp bmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVs dCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhl Y3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tp bmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp b24gdG8gYWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgd2hldGhlciBn Y2MgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0 aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0 eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5n IGZvciB1cGNjLi4uIG5vCmNoZWNraW5nIGZvciB1cGMuLi4gbm8KY29uZmlndXJlOiBlcnJv cjogbm8gVW5pZmllZCBQYXJhbGxlbCBDIGNvbXBpbGVyIHdhcyBmb3VuZAorIF9hbV9leGl0 IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMKKyBl eGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisg c2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRl c3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvdXBjMy5zaCAo ZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC92YWxhLWhlYWRlcnMKPT09PT09PT09PT09PT09 PT09PT0KCnZhbGEtaGVhZGVyczogcnVubmluZyBwa2ctY29uZmlnIC0tdmVyc2lvbgowLjI5 CnZhbGEtaGVhZGVyczogcnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtaGVhZGVy cy5zaDogOTc1OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgv dGVzdC1pbml0LnNoOiB2YWxhYzogbm90IGZvdW5kClNLSVAgdC92YWxhLWhlYWRlcnMuc2gg KGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvdmFsYS1saWJzCj09PT09PT09PT09PT09PT09 Cgp2YWxhLWxpYnM6IHJ1bm5pbmcgdmFsYWMgLS12ZXJzaW9uCi4vdC92YWxhLWxpYnMuc2g6 IDk3NTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3Qt aW5pdC5zaDogdmFsYWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1saWJzLnNoIChleGl0IHN0 YXR1czogNzcpCgpTS0lQOiB0L3ZhbGEtbWl4Cj09PT09PT09PT09PT09PT0KCnZhbGEtbWl4 OiBydW5uaW5nIHZhbGFjIC0tdmVyc2lvbgouL3QvdmFsYS1taXguc2g6IDk3NTogL2hvbWUv aHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogdmFs YWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1taXguc2ggKGV4aXQgc3RhdHVzOiA3NykKClNL SVA6IHQvdmFsYS1taXgyCj09PT09PT09PT09PT09PT09Cgp2YWxhLW1peDI6IHJ1bm5pbmcg dmFsYWMgLS12ZXJzaW9uCi4vdC92YWxhLW1peDIuc2g6IDk3NTogL2hvbWUvaHYvc3NkMy9z b3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogdmFsYWM6IG5vdCBm b3VuZApTS0lQIHQvdmFsYS1taXgyLnNoIChleGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L3Zh bGEtbm9uLXJlY3Vyc2l2ZS1zZXR1cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQoKdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwOiBydW5uaW5nIHBrZy1jb25maWcgLS12ZXJz aW9uCjAuMjkKdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwOiBydW5uaW5nIHZhbGFjIC0tdmVy c2lvbgouL3QvdmFsYS1ub24tcmVjdXJzaXZlLXNldHVwLnNoOiA5NzU6IC9ob21lL2h2L3Nz ZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IHZhbGFjOiBu b3QgZm91bmQKU0tJUCB0L3ZhbGEtbm9uLXJlY3Vyc2l2ZS1zZXR1cC5zaCAoZXhpdCBzdGF0 dXM6IDc3KQoKU0tJUDogdC92YWxhLXBhcmFsbGVsCj09PT09PT09PT09PT09PT09PT09PQoK dmFsYS1wYXJhbGxlbDogcnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcGFyYWxs ZWwuc2g6IDk3NTogL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4 L3Rlc3QtaW5pdC5zaDogdmFsYWM6IG5vdCBmb3VuZApTS0lQIHQvdmFsYS1wYXJhbGxlbC5z aCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC92YWxhLXBlci10YXJnZXQtZmxhZ3MKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KCnZhbGEtcGVyLXRhcmdldC1mbGFnczogcnVu bmluZyBwa2ctY29uZmlnIC0tdmVyc2lvbgowLjI5CnZhbGEtcGVyLXRhcmdldC1mbGFnczog cnVubmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcGVyLXRhcmdldC1mbGFncy5zaDog OTc1OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1p bml0LnNoOiB2YWxhYzogbm90IGZvdW5kClNLSVAgdC92YWxhLXBlci10YXJnZXQtZmxhZ3Mu c2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvdmFsYS1yZWN1cnNpdmUtc2V0dXAKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PQoKdmFsYS1yZWN1cnNpdmUtc2V0dXA6IHJ1bm5p bmcgcGtnLWNvbmZpZyAtLXZlcnNpb24KMC4yOQp2YWxhLXJlY3Vyc2l2ZS1zZXR1cDogcnVu bmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtcmVjdXJzaXZlLXNldHVwLnNoOiA5NzU6 IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQu c2g6IHZhbGFjOiBub3QgZm91bmQKU0tJUCB0L3ZhbGEtcmVjdXJzaXZlLXNldHVwLnNoIChl eGl0IHN0YXR1czogNzcpCgpTS0lQOiB0L3ZhbGEtdmFwaQo9PT09PT09PT09PT09PT09PQoK dmFsYS12YXBpOiBydW5uaW5nIHBrZy1jb25maWcgLS12ZXJzaW9uCjAuMjkKdmFsYS12YXBp OiBydW5uaW5nIHZhbGFjIC0tdmVyc2lvbgouL3QvdmFsYS12YXBpLnNoOiA5NzU6IC9ob21l L2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IHZh bGFjOiBub3QgZm91bmQKU0tJUCB0L3ZhbGEtdmFwaS5zaCAoZXhpdCBzdGF0dXM6IDc3KQoK U0tJUDogdC92YWxhLXZwYXRoCj09PT09PT09PT09PT09PT09PQoKdmFsYS12cGF0aDogcnVu bmluZyB2YWxhYyAtLXZlcnNpb24KLi90L3ZhbGEtdnBhdGguc2g6IDk3NTogL2hvbWUvaHYv c3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMi90L2F4L3Rlc3QtaW5pdC5zaDogdmFsYWM6 IG5vdCBmb3VuZApTS0lQIHQvdmFsYS12cGF0aC5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJ UDogdC9nZXR0ZXh0LW1hY3Jvcwo9PT09PT09PT09PT09PT09PT09PT09CgpSdW5uaW5nIGZy b20gaW5zdGFsbGNoZWNrOiBubwpUZXN0IFByb3RvY29sOiBub25lClBBVEggPSAvaG9tZS9o di9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL2JpbjovaG9tZS9odi9zc2QzL3NvdXJj ZXMvYXV0b21ha2UtMS4xNi4yL3QvYXg6L2hvbWUvaHYvYmluOi91c3IvbG9jYWwvYmluOi91 c3IvYmluOi9iaW46L2hvbWUvaHYvU1RNMzJDdWJlL1NUTTMyQ3ViZVByb2dyYW1tZXIyLjIv YmluOi9ob21lL2h2L0FSTS9nY2MtYXJtLW5vbmUtZWFiaS04LTIwMTktcTMtdXBkYXRlL2Jp bjovb3B0L1NFR0dFUi9KTGluaworIHB3ZAovaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21h a2UtMS4xNi4yL3QvZ2V0dGV4dC1tYWNyb3MuZGlyCisgZWNobyAjIEF1dG9tYXRpY2FsbHkg Z2VuZXJhdGVkIGJ5IGdldHRleHQtbWFjcm9zLgorIGVjaG8gOgorIGVjaG8gQUNMT0NBTF9B TUZMQUdTID0gLUkgbTQKKyBleHRyYWN0X3Byb2dyYW1fdmVyc2lvbiBhdXRvcG9pbnQKKyBh dXRvcG9pbnQgLS12ZXJzaW9uCisgc2VkIDFxCisgL3Vzci9iaW4vcGVybCAtbmUgLyhcZCg/ OlwuXGQrKSspLyBhbmQgcHJpbnQgIiQxXG4iCisgYXV0b3BvaW50X3ZlcnNpb249MC4yMC4y CisgdGVzdCAtbiAwLjIwLjIKKyBjYXQKKyBhdXRvcG9pbnQgLS1mb3JjZQphdXRvcG9pbnQ6 ICoqKiBBTV9HTlVfR0VUVEVYVCB3aXRob3V0ICdleHRlcm5hbCcgYXJndW1lbnQgaXMgbm8g bG9uZ2VyIHN1cHBvcnRlZCBpbiB2ZXJzaW9uIDAuMjAuMgphdXRvcG9pbnQ6ICoqKiBTdG9w LgorIHJtIC1yZiBtNAorIG1rZGlyIG00CisgYWNsb2NhbC0xLjE2IC1XZXJyb3IgLVduby1z eW50YXggLUkgbTQgLS1pbnN0YWxsCmFjbG9jYWwtMS4xNjogd2FybmluZ3MgYXJlIHRyZWF0 ZWQgYXMgZXJyb3JzCmNvbmZpZ3VyZS5hYzo0OiB3YXJuaW5nOiBtYWNybyAnQU1fR05VX0dF VFRFWFQnIG5vdCBmb3VuZCBpbiBsaWJyYXJ5CmNvbmZpZ3VyZS5hYzo1OiB3YXJuaW5nOiBt YWNybyAnQU1fR05VX0dFVFRFWFRfVkVSU0lPTicgbm90IGZvdW5kIGluIGxpYnJhcnkKKyBl Y2hvIHNraXBfYWxsXyAiY291bGRuJ3QgZmluZCBvciBnZXQgZ2V0dGV4dCBtYWNyb3MiCisg Y2F0CisgLiAuL2dldC5zaAorIDoKKyBza2lwX2FsbF8gY291bGRuJ3QgZmluZCBvciBnZXQg Z2V0dGV4dCBtYWNyb3MKKyBza2lwXyBjb3VsZG4ndCBmaW5kIG9yIGdldCBnZXR0ZXh0IG1h Y3JvcworIHdhcm5fIGdldHRleHQtbWFjcm9zOiBza2lwcGVkIHRlc3Q6IGNvdWxkbid0IGZp bmQgb3IgZ2V0IGdldHRleHQgbWFjcm9zCisgZWNobyBnZXR0ZXh0LW1hY3Jvczogc2tpcHBl ZCB0ZXN0OiBjb3VsZG4ndCBmaW5kIG9yIGdldCBnZXR0ZXh0IG1hY3JvcworIF9hbV9leGl0 IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15ZXMKKyBl eGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVzPTc3Cisg c2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYuMgorIHRl c3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXllcworIGFt X2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvZ2V0dGV4dC1t YWNyb3Muc2ggKGV4aXQgc3RhdHVzOiA3NykKClNLSVA6IHQvY29tcGlsZTQtdwo9PT09PT09 PT09PT09PT09PT0KCi4vdC9jb21waWxlNC13LnNoOiB3aWxsIHNvdXJjZSAuL3QvY29tcGls ZTQuc2gKY29tcGlsZTQtdzogcnVubmluZyBjbCAtPwouL3QvY29tcGlsZTQtdy5zaDogNzc5 OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0 LnNoOiBjbDogbm90IGZvdW5kClNLSVAgdC9jb21waWxlNC13LnNoIChleGl0IHN0YXR1czog NzcpCgpTS0lQOiB0L2NvbXBpbGU1LXcKPT09PT09PT09PT09PT09PT09CgouL3QvY29tcGls ZTUtdy5zaDogd2lsbCBzb3VyY2UgLi90L2NvbXBpbGU1LnNoClJ1bm5pbmcgZnJvbSBpbnN0 YWxsY2hlY2s6IG5vClRlc3QgUHJvdG9jb2w6IG5vbmUKUEFUSCA9IC9ob21lL2h2L3NzZDMv c291cmNlcy9hdXRvbWFrZS0xLjE2LjIvYmluOi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heDovaG9tZS9odi9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci9iaW46 L2JpbjovaG9tZS9odi9TVE0zMkN1YmUvU1RNMzJDdWJlUHJvZ3JhbW1lcjIuMi9iaW46L2hv bWUvaHYvQVJNL2djYy1hcm0tbm9uZS1lYWJpLTgtMjAxOS1xMy11cGRhdGUvYmluOi9vcHQv U0VHR0VSL0pMaW5rCisgcHdkCi9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2 LjIvdC9jb21waWxlNS13LmRpcgorIGdldF9zaGVsbF9zY3JpcHQgY29tcGlsZQorIGFtX3Nv dXJjZT1jb21waWxlIGFtX3RhcmdldD1jb21waWxlCisgdGVzdCAhIC1mIGNvbXBpbGUKKyBy bSAtZiBjb21waWxlCisgdGVzdCB4eWVzID0geHllcworIHNlZCAxc3wjIS4qfCMhIC9iaW4v c2h8IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRvbWFrZS0xLjE2LjIvbGliL2NvbXBpbGUK KyBjaG1vZCBhK3ggY29tcGlsZQorIHNlZCAxMHEgY29tcGlsZQojISAvYmluL3NoCiMgV3Jh cHBlciBmb3IgY29tcGlsZXJzIHdoaWNoIGRvIG5vdCB1bmRlcnN0YW5kICctYyAtbycuCgpz Y3JpcHR2ZXJzaW9uPTIwMTgtMDMtMDcuMDM7ICMgVVRDCgojIENvcHlyaWdodCAoQykgMTk5 OS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgojIFdyaXR0ZW4gYnkgVG9t IFRyb21leSA8dHJvbWV5QGN5Z251cy5jb20+LgojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorIHVuc2V0IGFtX3RhcmdldCBhbV9zb3VyY2UKKyBjYXQKKyBjaG1vZCAr eCAuL2NsCisgY2F0CisgOgorIGNhdAorIGFjbG9jYWwtMS4xNiAtV2Vycm9yCisgYXV0b2Nv bmYKKyBhdXRvbWFrZS0xLjE2IC0tZm9yZWlnbiAtV2Vycm9yIC1XYWxsIC1hCmNvbmZpZ3Vy ZS5hYzo0OiBpbnN0YWxsaW5nICcuL2NvbmZpZy5ndWVzcycKY29uZmlndXJlLmFjOjQ6IGlu c3RhbGxpbmcgJy4vY29uZmlnLnN1YicKKyAuL2NvbmZpZ3VyZQpjaGVja2luZyBmb3IgYSBC U0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig YSB0aHJlYWQtc2FmZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBn YXdrLi4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMK Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVz CmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIHg4Nl82NC1wYy1saW51eC1nbnUKY2hl Y2tpbmcgaG9zdCBzeXN0ZW0gdHlwZS4uLiB4ODZfNjQtcGMtbGludXgtZ251CmNoZWNraW5n IHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNy ZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIGNoZWNrX2hvc3QKKyAu IC4vY2hlY2tfaG9zdAorIHNraXBfIHRhcmdldCBPUyBpcyBub3QgTWluR1cKKyB3YXJuXyBj b21waWxlNS13OiBza2lwcGVkIHRlc3Q6IHRhcmdldCBPUyBpcyBub3QgTWluR1cKKyBlY2hv IGNvbXBpbGU1LXc6IHNraXBwZWQgdGVzdDogdGFyZ2V0IE9TIGlzIG5vdCBNaW5HVworIF9h bV9leGl0IDc3Cisgc2V0ICtlCisgdGVzdCA3NyA9IDc3CisgYW1fX3Rlc3Rfc2tpcHBlZD15 ZXMKKyBleGl0IDc3CisgZXhpdCA3NworIGFtX2V4aXRfdHJhcCA3NworIGV4aXRfc3RhdHVz PTc3Cisgc2V0ICtlCisgY2QgL2hvbWUvaHYvc3NkMy9zb3VyY2VzL2F1dG9tYWtlLTEuMTYu MgorIHRlc3Qgbm9uZSA9IHRhcAorIHRlc3QgNzcgLWVxIDAKKyBrZWVwX3Rlc3RkaXJzPXll cworIGFtX2tlZXBpbmdfdGVzdGRpcnMKKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvY29t cGlsZTUtdy5zaCAoZXhpdCBzdGF0dXM6IDc3KQoKU0tJUDogdC9jb21waWxlNy13Cj09PT09 PT09PT09PT09PT09PQoKLi90L2NvbXBpbGU3LXcuc2g6IHdpbGwgc291cmNlIC4vdC9jb21w aWxlNy5zaApjb21waWxlNy13OiBydW5uaW5nIGljbCAtPwouL3QvY29tcGlsZTctdy5zaDog NzkwOiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1p bml0LnNoOiBpY2w6IG5vdCBmb3VuZApTS0lQIHQvY29tcGlsZTctdy5zaCAoZXhpdCBzdGF0 dXM6IDc3KQoKU0tJUDogdC9kZXBjb21wLWx0LW1ha2VkZXBlbmQKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KCmRlcGNvbXAtbHQtbWFrZWRlcGVuZDogcnVubmluZyBtYWtlZGVw ZW5kIC1mLQouL3QvZGVwY29tcC1sdC1tYWtlZGVwZW5kLnRhcDogODc4OiAvaG9tZS9odi9z c2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVzdC1pbml0LnNoOiBtYWtlZGVw ZW5kOiBub3QgZm91bmQKMS4uMCAjIFNLSVAgcmVxdWlyZWQgcHJvZ3JhbSAnbWFrZWRlcGVu ZCcgbm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQtbWFrZWRlcGVuZC50YXAgLSBy ZXF1aXJlZCBwcm9ncmFtICdtYWtlZGVwZW5kJyBub3QgYXZhaWxhYmxlCgpTS0lQOiB0L2Rl cGNvbXAtbHQtbXN2Y21zeXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09CgpkZXBjb21w LWx0LW1zdmNtc3lzOiBydW5uaW5nIGNsIC0/Ci4vdC9kZXBjb21wLWx0LW1zdmNtc3lzLnRh cDogNzc5OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4xNi4yL3QvYXgvdGVz dC1pbml0LnNoOiBjbDogbm90IGZvdW5kCjEuLjAgIyBTS0lQIE1pY3Jvc29mdCBDIGNvbXBp bGVyICdjbCcgbm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQtbXN2Y21zeXMudGFw IC0gTWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlCgpTS0lQOiB0L2Rl cGNvbXAtbHQtbXN2aXN1YWxjcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cgpk ZXBjb21wLWx0LW1zdmlzdWFsY3BwOiBydW5uaW5nIGNsIC0/Ci4vdC9kZXBjb21wLWx0LW1z dmlzdWFsY3BwLnRhcDogNzc5OiAvaG9tZS9odi9zc2QzL3NvdXJjZXMvYXV0b21ha2UtMS4x Ni4yL3QvYXgvdGVzdC1pbml0LnNoOiBjbDogbm90IGZvdW5kCjEuLjAgIyBTS0lQIE1pY3Jv c29mdCBDIGNvbXBpbGVyICdjbCcgbm90IGF2YWlsYWJsZQpTS0lQOiB0L2RlcGNvbXAtbHQt bXN2aXN1YWxjcHAudGFwIC0gTWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxh YmxlCgpTS0lQOiB0L2RlcGNvbXAtbWFrZWRlcGVuZAo9PT09PT09PT09PT09PT09PT09PT09 PT09PQoKZGVwY29tcC1tYWtlZGVwZW5kOiBydW5uaW5nIG1ha2VkZXBlbmQgLWYtCi4vdC9k ZXBjb21wLW1ha2VkZXBlbmQudGFwOiA4Nzg6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IG1ha2VkZXBlbmQ6IG5vdCBmb3VuZAox Li4wICMgU0tJUCByZXF1aXJlZCBwcm9ncmFtICdtYWtlZGVwZW5kJyBub3QgYXZhaWxhYmxl ClNLSVA6IHQvZGVwY29tcC1tYWtlZGVwZW5kLnRhcCAtIHJlcXVpcmVkIHByb2dyYW0gJ21h a2VkZXBlbmQnIG5vdCBhdmFpbGFibGUKClNLSVA6IHQvZGVwY29tcC1tc3ZjbXN5cwo9PT09 PT09PT09PT09PT09PT09PT09PT0KCmRlcGNvbXAtbXN2Y21zeXM6IHJ1bm5pbmcgY2wgLT8K Li90L2RlcGNvbXAtbXN2Y21zeXMudGFwOiA3Nzk6IC9ob21lL2h2L3NzZDMvc291cmNlcy9h dXRvbWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGNsOiBub3QgZm91bmQKMS4uMCAj IFNLSVAgTWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlClNLSVA6IHQv ZGVwY29tcC1tc3ZjbXN5cy50YXAgLSBNaWNyb3NvZnQgQyBjb21waWxlciAnY2wnIG5vdCBh dmFpbGFibGUKClNLSVA6IHQvZGVwY29tcC1tc3Zpc3VhbGNwcAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT0KCmRlcGNvbXAtbXN2aXN1YWxjcHA6IHJ1bm5pbmcgY2wgLT8KLi90L2Rl cGNvbXAtbXN2aXN1YWxjcHAudGFwOiA3Nzk6IC9ob21lL2h2L3NzZDMvc291cmNlcy9hdXRv bWFrZS0xLjE2LjIvdC9heC90ZXN0LWluaXQuc2g6IGNsOiBub3QgZm91bmQKMS4uMCAjIFNL SVAgTWljcm9zb2Z0IEMgY29tcGlsZXIgJ2NsJyBub3QgYXZhaWxhYmxlClNLSVA6IHQvZGVw Y29tcC1tc3Zpc3VhbGNwcC50YXAgLSBNaWNyb3NvZnQgQyBjb21waWxlciAnY2wnIG5vdCBh dmFpbGFibGUKCg== --------------0962EA26158FB517BE9084E5-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 06 18:34:32 2020 Received: (at 41101) by debbugs.gnu.org; 6 May 2020 22:34:33 +0000 Received: from localhost ([127.0.0.1]:41514 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jWScT-00005l-36 for submit@debbugs.gnu.org; Wed, 06 May 2020 18:34:32 -0400 Received: from freefriends.org ([96.88.95.60]:58728) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jWScR-00005Y-66; Wed, 06 May 2020 18:34:23 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 046MYLqq010109 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 6 May 2020 16:34:21 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 046MYL6d010108; Wed, 6 May 2020 16:34:21 -0600 Date: Wed, 6 May 2020 16:34:21 -0600 Message-Id: <202005062234.046MYL6d010108@freefriends.org> From: Karl Berry To: hviarouge@free.fr Subject: Re: bug#41101: FAIL: t/tags-lisp-space.sh In-Reply-To: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 41101 Cc: 41101@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Subject: bug#41101: FAIL: t/tags-lisp-space.sh Well, this didn't include the actual error, but I'm guessing you don't have etags installed. I made this fix in the development sources a little while ago, if the failure is troubling you. --thanks, karl. --- a/t/tags-lisp-space.sh +++ b/t/tags-lisp-space.sh @@ -18,7 +18,7 @@ # if there are CONFIG_HEADERS. # See automake bug#38139. -required='' +required=etags . test-init.sh # some AC_CONFIG_FILES header is needed to trigger the bug. From unknown Thu Sep 11 14:35:11 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 04 Jun 2020 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator