From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0FF5742C97 for ; Mon, 12 Jun 2023 13:36:07 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 07E094014F; Mon, 12 Jun 2023 13:36:07 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id E59C54014F for ; Mon, 12 Jun 2023 13:36:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686569763; x=1718105763; h=message-id:date:mime-version:subject:from:to:cc; bh=L7le7jDDz2gmWQUVxAwhLDxICG/TZtpkmwVbdC5DJGo=; b=Hu4ai1aFMeV70HxefsVDJwfKuo9eqxxqOTMnAw8/3WNTJwmDoqPt7Pdf Bi1RGNOTaG57qJsI8ilkde4virMA4ImnaCb4oL8RRgc954zFxbiUSZVGk oU8LOky7qzpIANqY71TyDYm8EedyaQNrsVOvFES/+LqZY7GvvYepOP8Tm eM4X5D/I+d7EX1SOS/Et62VHhy5RsCSOq6AnIo7NBmQaVzXn6J4dCTy0O 91xGqgSO/1HH09UMP93/W3yHe//VjO9SUPcPt0n9weFlsflpoDx4fWCBy RP1RhOOX2i9uJw0vhyGlqxFmgcRZO0sgL1WxEl5VnS3EIsn+Gox6Ykxb3 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="360499247" X-IronPort-AV: E=Sophos;i="6.00,236,1681196400"; d="scan'208";a="360499247" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2023 04:36:01 -0700 Message-Id: Date: 12 Jun 2023 04:35:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10738"; a="740995337" X-IronPort-AV: E=Sophos;i="6.00,236,1681196400"; d="scan'208";a="740995337" Received: from unknown (HELO [10.239.252.161]) ([10.239.252.161]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jun 2023 04:35:47 -0700 Content-Type: multipart/alternative; boundary="===============5404530759582677121==" MIME-Version: 1.0 Subject: [dpdk-test-report] |FAILURE| pw(128507) sid(28454) job(PER_PATCH_BUILD7880)[v6] gro : ipv6 changes to support GRO for TCP/ipv6 From: sys_stv@intel.com To: test-report@dpdk.org, kumaraparamesh92@gmail.com Cc: X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org --===============5404530759582677121== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 ClRlc3QtTGFiZWw6IEludGVsLWNvbXBpbGF0aW9uClRlc3QtU3RhdHVzOiBGQUlMVVJFCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8xMjg1MDcKCl9Db21waWxhdGlvbiBpc3N1ZXNfCgpTdWJtaXR0ZXI6 IEt1bWFyYSBQYXJhbWVzaHdhcmFuIDxrdW1hcmFwYXJhbWVzaDkyQGdtYWlsLmNvbT4KRGF0ZTog MjAyMy0wNi0xMiAxMToyMzozNApSZXBseV9tYWlsOiA8MjAyMzA2MTIxMTIzMzQuNzE5MTQtMS1r dW1hcmFwYXJhbWVzaDkyQGdtYWlsLmNvbT4KCkRQREsgZ2l0IGJhc2VsaW5lOiBSZXBvOmRwZGss IENvbW1pdElEOiBkMDUxYWE1YjYyNzFhNTZmMDFjODQ5Mjc3OTVkMTlhNzVhZDg2MDYwCgoKTWVz b24gQnVpbGQgU3VtbWFyeTogMjUgQnVpbGRzIERvbmUsIDAgU3VjY2Vzc2Z1bCwgMjUgRmFpbHVy ZXMsIDAgQmxvY2tlZAoKKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rCnwgb3MgICAgICAgICAgICAgICAgfCBnY2Mtc3RhdGljIHwgY2xhbmctc3Rh dGljIHwgaWNjLXN0YXRpYyB8IGdjYy1zaGFyZWQgfCBnY2MtZGVidWcgfCBkb2N1bWVudCB8IGdj Yy0xNmJ5dGUgfAorLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSsKfCBPcGVuQW5vbGlzOC44LTY0ICB8IGZhaWwgICAgICAgfCAgICAgICAgICAgICAg fCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAg ICAgICB8CnwgRnJlZUJTRDEzLTY0ICAgICAgfCBmYWlsICAgICAgIHwgZmFpbCAgICAgICAgIHwg ICAgICAgICAgICB8IGZhaWwgICAgICAgfCBmYWlsICAgICAgfCAgICAgICAgICB8ICAgICAgICAg ICAgfAp8IFJIRUw5Mi02NCAgICAgICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAgICAgICB8ICAg ICAgICAgICAgfCBmYWlsICAgICAgIHwgZmFpbCAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAg IHwKfCBTVVNFMTUtNjQgICAgICAgICB8IGZhaWwgICAgICAgfCBmYWlsICAgICAgICAgfCAgICAg ICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8 CnwgQ0JMLU1hcmluZXIyLjAtNjQgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAg ICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAp8 IFVCMjAwNC02NCAgICAgICAgIHwgZmFpbCAgICAgICB8ICAgICAgICAgICAgICB8ICAgICAgICAg ICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBV QjIyMDQtMzIgICAgICAgICB8IGZhaWwgICAgICAgfCAgICAgICAgICAgICAgfCAgICAgICAgICAg IHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8CnwgUkhF TDg3LTY0ICAgICAgICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8 ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAp8IFVCMjIw NC02NCAgICAgICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAgICAgICB8ICAgICAgICAgICAgfCAg ICAgICAgICAgIHwgICAgICAgICAgIHwgZmFpbCAgICAgfCBmYWlsICAgICAgIHwKfCBDZW50T1M3 OS02NCAgICAgICB8IGZhaWwgICAgICAgfCAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAg ICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8CnwgUkhFTDkyLTY0 UnQgICAgICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAg ICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAp8IFVCMjMwNC02NCAg ICAgICAgIHwgZmFpbCAgICAgICB8ICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAg ICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBGQzM4LTY0ICAgICAg ICAgICB8IGZhaWwgICAgICAgfCBmYWlsICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAg ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8CnwgVUIyMjA0LTY0UnQgICAg ICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAg fCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKCkNvbW1lbnRzOiAKQmVjYXVzZSBv ZiBEUERLIGJ1ZyAoaHR0cHM6Ly9idWdzLmRwZGsub3JnL3Nob3dfYnVnLmNnaT9pZD05MjgpLApB bGwgdGhlIGRwZGstbmV4dC0qIGJyYW5jaCBhZGQgYERkaXNhYmxlX2RyaXZlcnM9ZXZlbnQvY254 a2Agb3B0aW9uIHdoZW4gYnVpbGQgd2l0aCBJQ0MgY29tcGxpZXIuIAogClRlc3QgZW52aXJvbm1l bnQgYW5kIGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6CgoKT1M6IE9wZW5Bbm9saXM4LjgtNjQKCUtl cm5lbCBWZXJzaW9uOiA1LjEwLjEzNC0xMy5hbjgueDg2XzY0CglHQ0MgVmVyc2lvbjogZ2NjIChH Q0MpIDguNS4wIDIwMjEwNTE0IChBbm9saXMgOC41LjAtMTAuMC4zKQoJQ2xhbmcgVmVyc2lvbjog MTMuMC4xIChBbm9saXMgMTMuMC4xLTIuMC4yLm1vZHVsZSthbjguNy4wKzEwOTk2KzE1ODhmMDY4 KQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCk9TOiBGcmVlQlNEMTMtNjQKCUtlcm5lbCBW ZXJzaW9uOiAxMy4yLVJFTEVBU0UKCUdDQyBWZXJzaW9uOiBnY2MgKEZyZWVCU0QgUG9ydHMgQ29s bGVjdGlvbikgMTIuMi4wCglDbGFuZyBWZXJzaW9uOiAxNC4wLjUgKGh0dHBzOi8vZ2l0aHViLmNv bS9sbHZtL2xsdm0tcHJvamVjdC5naXQgbGx2bW9yZy0xNC4wLjUtMC1nYzEyMzg2YWUyNDdjKQoJ eDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCgl4ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZwoJeDg2 XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjK3NoYXJlZAoJeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjK2Rl YnVnCgpPUzogUkhFTDkyLTY0CglLZXJuZWwgVmVyc2lvbjogNS4xNC4wLTI4NC4xMS4xLmVsOV8y Lng4Nl82NAoJR0NDIFZlcnNpb246IGdjYyAoR0NDKSAxMS4zLjEgMjAyMjExMjEgKFJlZCBIYXQg MTEuMy4xLTQpCglDbGFuZyBWZXJzaW9uOiAxNS4wLjcgKFJlZCBIYXQgMTUuMC43LTIuZWw5KQoJ eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcK CXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK3NoYXJlZAoJeDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MrZGVidWcKCk9TOiBTVVNFMTUtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjE0LjIxLTE1MDQw MC4yMi1kZWZhdWx0CglHQ0MgVmVyc2lvbjogZ2NjIChTVVNFIExpbnV4KSA3LjUuMAoJQ2xhbmcg VmVyc2lvbjogMTEuMC4xCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgl4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYwoKT1M6IENCTC1NYXJpbmVyMi4wLTY0CglLZXJuZWwgVmVyc2lvbjog NS4xNS41NS4xXzJlOWE0ZjkrCglHQ0MgVmVyc2lvbjogZ2NjIChHQ0MpIDExLjIuMAoJQ2xhbmcg VmVyc2lvbjogTkEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogVUIyMDA0LTY0CglL ZXJuZWwgVmVyc2lvbjogNS44LjAtNDgtZ2VuZXJpYwoJR0NDIFZlcnNpb246IGdjYyAoVWJ1bnR1 IDEwLjMuMC0xdWJ1bnR1MX4yMC4wNCkgMTAuMy4wCglDbGFuZyBWZXJzaW9uOiAxMC4wLjAtNHVi dW50dTEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogVUIyMjA0LTMyCglLZXJuZWwg VmVyc2lvbjogNS4xNS4wLTU4LWdlbmVyaWMKCUdDQyBWZXJzaW9uOiBnY2MgKFVidW50dSAxMS4z LjAtMXVidW50dTF+MjIuMDQpIDExLjMuMAoJQ2xhbmcgVmVyc2lvbjogTkEKCWk2ODYtbmF0aXZl LWxpbnV4YXBwLWdjYwoKT1M6IFJIRUw4Ny02NAoJS2VybmVsIFZlcnNpb246IDQuMTguMC00MjUu My4xLmVsOC54ODZfNjQKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgOC41LjAgMjAyMTA1MTQgKFJl ZCBIYXQgOC41LjAtMTUpCglDbGFuZyBWZXJzaW9uOiBOQQoJeDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MKCk9TOiBVQjIyMDQtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjE1LjAtNTgtZ2VuZXJpYwoJ R0NDIFZlcnNpb246IGdjYyAoVWJ1bnR1IDExLjMuMC0xdWJ1bnR1MX4yMi4wNCkgMTEuMy4wCglD bGFuZyBWZXJzaW9uOiAxNC4wLjAtMXVidW50dTEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj KzE2Ynl0ZQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCXg4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZG9jCgpPUzogQ2VudE9TNzktNjQKCUtl cm5lbCBWZXJzaW9uOiAzLjEwLjAtMTE2MC44MS4xLmVsNy54ODZfNjQKCUdDQyBWZXJzaW9uOiBn Y2MgKEdDQykgNC44LjUgMjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtNDQpCglDbGFuZyBWZXJzaW9u OiAzLjQuMiAodGFncy9SRUxFQVNFXzM0L2RvdDItZmluYWwpCgl4ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYwoKT1M6IFJIRUw5Mi02NFJ0CglLZXJuZWwgVmVyc2lvbjogNS4xNC4wLTI4NC4xMS4x LnJ0MTQuMjk2LmVsOV8yLng4Nl82NAoJR0NDIFZlcnNpb246IGdjYyAoR0NDKSAxMS4zLjEgMjAy MjExMjEgKFJlZCBIYXQgMTEuMy4xLTQpCglDbGFuZyBWZXJzaW9uOiAxNS4wLjcgKFJlZCBIYXQg MTUuMC43LTIuZWw5KQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCk9TOiBVQjIzMDQtNjQK CUtlcm5lbCBWZXJzaW9uOiA2LjIuMC0yMC1nZW5lcmljCglHQ0MgVmVyc2lvbjogZ2NjIChVYnVu dHUgMTIuMi4wLTE3dWJ1bnR1MSkgMTIuMi4wCglDbGFuZyBWZXJzaW9uOiBOQQoJeDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MKCk9TOiBGQzM4LTY0CglLZXJuZWwgVmVyc2lvbjogNi4yLjktMzAw LmZjMzgueDg2XzY0CglHQ0MgVmVyc2lvbjogZ2NjIChHQ0MpIDEzLjAuMSAyMDIzMDQwMSAoUmVk IEhhdCAxMy4wLjEtMCkKCUNsYW5nIFZlcnNpb246IDE2LjAuMCAoRmVkb3JhIDE2LjAuMC0yLmZj MzgpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1j bGFuZwoKT1M6IFVCMjIwNC02NFJ0CglLZXJuZWwgVmVyc2lvbjogNS4xNS4xMTEtcnQ2MwoJR0ND IFZlcnNpb246IGdjYyAoVWJ1bnR1IDExLjMuMC0xdWJ1bnR1MX4yMi4wNCkgMTEuMy4wCglDbGFu ZyBWZXJzaW9uOiAxNC4wLjAtMXVidW50dTEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgoK CipCdWlsZCBGYWlsZWQgIzE6Ck9TOiBPcGVuQW5vbGlzOC44LTY0ClRhcmdldDogeDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8u Yy5vIApnY2MgLUlsaWIvbGlicnRlX2dyby5hLnAgLUlsaWIgLUkuLi9saWIgLUlsaWIvZ3JvIC1J Li4vbGliL2dybyAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVk ZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9l YWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9p bmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUku Li9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4u L2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRo ZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JbGliL21idWYgLUku Li9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4u L2xpYi9yaW5nIC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1mZGlhZ25vc3RpY3MtY29sb3I9 YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJh IC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0 ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3Np bmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdv bGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJp Y3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLXBhY2tlZC1ub3QtYWxp Z25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMg LW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9B UEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWxpYi5n cm8gLU1EIC1NUSBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIC1NRiBsaWIvbGli cnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vLmQgLW8gbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19y dGVfZ3JvLmMubyAtYyAuLi9saWIvZ3JvL3J0ZV9ncm8uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20g Li4vbGliL2dyby9ydGVfZ3JvLmM6MTE6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDogSW4gZnVuY3Rp b24g4oCYaXNfc2FtZV90Y3A2X2Zsb3figJk6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6NDY6 IGVycm9yOiBleHBlY3RlZCDigJgp4oCZIGJlZm9yZSDigJhyZXR1cm7igJkKICBpZiAobWVtY21w KCZrMS0+c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQogICAgIH4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKQogICByZXR1cm4gMDsKICAgfn5+fn5+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0NjoyOiBlcnJvcjog dGhpcyDigJhpZuKAmSBjbGF1c2UgZG9lcyBub3QgZ3VhcmQuLi4gWy1XZXJyb3I9bWlzbGVhZGlu Zy1pbmRlbnRhdGlvbl0KICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIs IDE2KQogIF5+Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDogbm90ZTogLi4udGhpcyBzdGF0ZW1l bnQsIGJ1dCB0aGUgbGF0dGVyIGlzIG1pc2xlYWRpbmdseSBpbmRlbnRlZCBhcyBpZiBpdCB3ZXJl IGd1YXJkZWQgYnkgdGhlIOKAmGlm4oCZCiB9CiAKLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6 IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0 CiB9CiBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZ3JvL3J0ZV9ncm8uYzoxMToKLi4v bGliL2dyby9ncm9fdGNwNi5oOjE0NDoxMzogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJh2dGNf Zmxvd19kaWZm4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBydGVfYmUzMl90IHZ0Y19m bG93X2RpZmY7CiAgICAgICAgICAgICBefn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRlX2dyby5j OjUxMDoxOiBlcnJvcjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcg bm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJuLXR5cGVdCiB9CiBeCmNjMTogYWxsIHdhcm5pbmdzIGJl aW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyMjEvMzEwN10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9s aWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF90aW1lcl9hZGFwdGVyLmMubwpb MjIyLzMxMDddIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dwdWRldi5hLnAvZ3B1ZGV2 X2dwdWRldi5jLm8KWzIyMy8zMTA3XSBHZW5lcmF0aW5nIGxpYi9lZmQuc3ltX2NoayB3aXRoIGEg Y3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMjQv MzEwN10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcF9p bnRlcm5hbC5jLm8KWzIyNS8zMTA3XSBHZW5lcmF0aW5nIHN5bWJvbCBmaWxlIGxpYi9saWJydGVf ZWFsLnNvLjIzLjIucC9saWJydGVfZWFsLnNvLjIzLjIuc3ltYm9scwpbMjI2LzMxMDddIENvbXBp bGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRk ZXYuYy5vClsyMjcvMzEwN10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYu YS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jLm8KWzIyOC8zMTA3XSBHZW5l cmF0aW5nIGxpYi9jcnlwdG9kZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBw ZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMjkvMzEwN10gR2VuZXJhdGluZyBsaWIv ZXRoZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRv IGNhcHR1cmUgb3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAj MjoKT1M6IEZyZWVCU0QxMy02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYwpGQUlM RUQ6IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gCmdjYyAtSWxpYi9saWJydGVf Z3JvLmEucCAtSWxpYiAtSS4uL2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4uIC1J Y29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRl IC1JbGliL2VhbC9mcmVlYnNkL2luY2x1ZGUgLUkuLi9saWIvZWFsL2ZyZWVic2QvaW5jbHVkZSAt SWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9j b21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2 YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGli L3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRl diAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9t ZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL21l dGVyIC1JLi4vbGliL21ldGVyIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZG U0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNs dWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3Jt YXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1X bWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlv biAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3Vu ZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXBh Y2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8temVy by1sZW5ndGgtYm91bmRzIC1EX0dOVV9TT1VSQ0UgLURfX0JTRF9WSVNJQkxFIC1mUElDIC1tYXJj aD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1N RCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9n cm8uYS5wL2dyb19ydGVfZ3JvLmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dy by5jLm8gLWMgLi4vbGliL2dyby9ydGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xp Yi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uICdp c19zYW1lX3RjcDZfZmxvdyc6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6NTM6IGVycm9yOiBl eHBlY3RlZCAnKScgYmVmb3JlICdyZXR1cm4nCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZr MS0+c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgICAgfiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAxNDcgfCAgICAgICAg ICAgICAgICAgcmV0dXJuIDA7CiAgICAgIHwgICAgICAgICAgICAgICAgIH5+fn5+fiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBub3Rl OiAnLVdtaXNsZWFkaW5nLWluZGVudGF0aW9uJyBpcyBkaXNhYmxlZCBmcm9tIHRoaXMgcG9pbnQg b253YXJkcywgc2luY2UgY29sdW1uLXRyYWNraW5nIHdhcyBkaXNhYmxlZCBkdWUgdG8gdGhlIHNp emUgb2YgdGhlIGNvZGUvaGVhZGVycwogIDE0NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNy Y19hZGRyLCAmazItPnNyY19hZGRyLCAxNikKICAgICAgfCAgICAgICAgIF5+Ci4uL2xpYi9ncm8v Z3JvX3RjcDYuaDoxNDY6OTogbm90ZTogYWRkaW5nICctZmxhcmdlLXNvdXJjZS1maWxlcycgd2ls bCBhbGxvdyBmb3IgbW9yZSBjb2x1bW4tdHJhY2tpbmcgc3VwcG9ydCwgYXQgdGhlIGV4cGVuc2Ug b2YgY29tcGlsYXRpb24gdGltZSBhbmQgbWVtb3J5Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDox OiBlcnJvcjogZXhwZWN0ZWQgZGVjbGFyYXRpb24gb3Igc3RhdGVtZW50IGF0IGVuZCBvZiBpbnB1 dAogIDUxMCB8IH0KICAgICAgfCBeCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MjA6IGVycm9y OiB1bnVzZWQgdmFyaWFibGUgJ3Z0Y19mbG93X2RpZmYnIFstV2Vycm9yPXVudXNlZC12YXJpYWJs ZV0KICAxNDQgfCAgICAgICAgIHJ0ZV9iZTMyX3QgdnRjX2Zsb3dfZGlmZjsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fgouLi9saWIvZ3JvL3J0ZV9ncm8uYzo1MTA6MTog ZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lk IFstV2Vycm9yPXJldHVybi10eXBlXQogIDUxMCB8IH0KICAgICAgfCBeCmNjMTogYWxsIHdhcm5p bmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyMTIvMTg2Nl0gQ29tcGlsaW5nIEMgb2JqZWN0 IGxpYi9saWJydGVfZ3B1ZGV2LmEucC9ncHVkZXZfZ3B1ZGV2LmMubwpbMjEzLzE4NjZdIENvbXBp bGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dyb190Y3BfaW50ZXJuYWwuYy5v ClsyMTQvMTg2Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3Jv X3RjcDQuYy5vClsyMTUvMTg2Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRk ZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzIxNi8xODY2XSBDb21waWxpbmcgQyBv YmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50X2V0aF9yeF9h ZGFwdGVyLmMubwpbMjE3LzE4NjZdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5h LnAvZ3JvX2dyb190Y3A2LmMubwpGQUlMRUQ6IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3Rj cDYuYy5vIApnY2MgLUlsaWIvbGlicnRlX2dyby5hLnAgLUlsaWIgLUkuLi9saWIgLUlsaWIvZ3Jv IC1JLi4vbGliL2dybyAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5j bHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvZnJlZWJzZC9pbmNsdWRlIC1JLi4v bGliL2VhbC9mcmVlYnNkL2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2Vh bC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIv ZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJp Y3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1J bGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWxpYi9t YnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3Jp bmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtZmRpYWdub3N0aWNz LWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2gg LVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdk ZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkg LVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRl cm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJl IC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNz LW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZp ZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1E X19CU0RfVklTSUJMRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQ SSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19E RUZBVUxUX0xPR1RZUEU9bGliLmdybyAtTUQgLU1RIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3Jv X3RjcDYuYy5vIC1NRiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dyb190Y3A2LmMuby5kIC1vIGxp Yi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDYuYy5vIC1jIC4uL2xpYi9ncm8vZ3JvX3RjcDYu YwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9ncm9fdGNwNi5jOjk6Ci4uL2xpYi9n cm8vZ3JvX3RjcDYuaDogSW4gZnVuY3Rpb24gJ2lzX3NhbWVfdGNwNl9mbG93JzoKLi4vbGliL2dy by9ncm9fdGNwNi5oOjE0Njo1MzogZXJyb3I6IGV4cGVjdGVkICcpJyBiZWZvcmUgJ3JldHVybicK ICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5zcmNfYWRkciwg MTYpCiAgICAgIHwgICAgICAgICAgICB+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKQogIDE0NyB8ICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgfCAg ICAgICAgICAgICAgICAgfn5+fn5+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAouLi9s aWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6ICctV21pc2xlYWRpbmctaW5kZW50YXRpb24n IGlzIGRpc2FibGVkIGZyb20gdGhpcyBwb2ludCBvbndhcmRzLCBzaW5jZSBjb2x1bW4tdHJhY2tp bmcgd2FzIGRpc2FibGVkIGR1ZSB0byB0aGUgc2l6ZSBvZiB0aGUgY29kZS9oZWFkZXJzCiAgMTQ2 IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQog ICAgICB8ICAgICAgICAgXn4KLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBub3RlOiBhZGRp bmcgJy1mbGFyZ2Utc291cmNlLWZpbGVzJyB3aWxsIGFsbG93IGZvciBtb3JlIGNvbHVtbi10cmFj a2luZyBzdXBwb3J0LCBhdCB0aGUgZXhwZW5zZSBvZiBjb21waWxhdGlvbiB0aW1lIGFuZCBtZW1v cnkKLi4vbGliL2dyby9ncm9fdGNwNi5jOjI2NjoxOiBlcnJvcjogZXhwZWN0ZWQgZGVjbGFyYXRp b24gb3Igc3RhdGVtZW50IGF0IGVuZCBvZiBpbnB1dAogIDI2NiB8IH0KICAgICAgfCBeCi4uL2xp Yi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MjA6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ3Z0Y19mbG93 X2RpZmYnIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICAxNDQgfCAgICAgICAgIHJ0ZV9iZTMy X3QgdnRjX2Zsb3dfZGlmZjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fgouLi9saWIvZ3JvL2dyb190Y3A2LmM6MjY2OjE6IGVycm9yOiBubyByZXR1cm4gc3RhdGVtZW50 IGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcj1yZXR1cm4tdHlwZV0KICAy NjYgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9y cwpbMjE4LzE4NjZdIEdlbmVyYXRpbmcgbGliL2NyeXB0b2Rldi5zeW1fY2hrIHdpdGggYSBjdXN0 b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzIxOS8xODY2 XSBHZW5lcmF0aW5nIGxpYi9ldGhkZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdy YXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMjAvMTg2Nl0gR2VuZXJhdGluZyBs aWIvZWFsLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRv IGNhcHR1cmUgb3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAj MzoKT1M6IEZyZWVCU0QxMy02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nCkZB SUxFRDogbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAKY2xhbmcgLUlsaWIvbGli cnRlX2dyby5hLnAgLUlsaWIgLUkuLi9saWIgLUlsaWIvZ3JvIC1JLi4vbGliL2dybyAtSS4gLUku LiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5j bHVkZSAtSWxpYi9lYWwvZnJlZWJzZC9pbmNsdWRlIC1JLi4vbGliL2VhbC9mcmVlYnNkL2luY2x1 ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9l YWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxp Yi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAt SWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9l dGhkZXYgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUls aWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxp Yi9tZXRlciAtSS4uL2xpYi9tZXRlciAtZmNvbG9yLWRpYWdub3N0aWNzIC1EX0ZJTEVfT0ZGU0VU X0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRl IHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQt bm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlz c2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAt V3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVm IC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLW1pc3Np bmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLURfX0JTRF9WSVNJQkxFIC1mUElD IC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxf QVBJIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9bGliLmdybyAtRFJURV9BTk5PVEFURV9MT0NL UyAtV3RocmVhZC1zYWZldHkgLU1EIC1NUSBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8u Yy5vIC1NRiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vLmQgLW8gbGliL2xpYnJ0 ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtYyAuLi9saWIvZ3JvL3J0ZV9ncm8uYwpJbiBmaWxl IGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9ydGVfZ3JvLmM6MTE6Ci4uL2xpYi9ncm8vZ3JvX3Rj cDYuaDoxNDc6MzogZXJyb3I6IGV4cGVjdGVkICcpJwogICAgICAgICAgICAgICAgcmV0dXJuIDA7 CiAgICAgICAgICAgICAgICBeCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6NTogbm90ZTogdG8g bWF0Y2ggdGhpcyAnKCcKICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+c3Jj X2FkZHIsIDE2KQogICAgICAgICAgIF4KLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0OTozOiBlcnJv cjogZXhwZWN0ZWQgJyknCiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAg IF4KLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0ODo1OiBub3RlOiB0byBtYXRjaCB0aGlzICcoJwog ICAgICAgIGlmIChtZW1jbXAoJmsxLT5kc3RfYWRkciwgJmsyLT5kc3RfYWRkciwgMTYpCiAgICAg ICAgICAgXgoyIGVycm9ycyBnZW5lcmF0ZWQuClsyMTEvMTg2Nl0gQ29tcGlsaW5nIEMgb2JqZWN0 IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF90aW1lcl9hZGFwdGVy LmMubwpbMjEyLzE4NjZdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5hLnAvZ3Jv X2dyb190Y3BfaW50ZXJuYWwuYy5vClsyMTMvMTg2Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9s aWJydGVfZ3B1ZGV2LmEucC9ncHVkZXZfZ3B1ZGV2LmMubwpbMjE0LzE4NjZdIENvbXBpbGluZyBD IG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3J4 X2FkYXB0ZXIuYy5vClsyMTUvMTg2Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3Jv LmEucC9ncm9fZ3JvX3RjcDQuYy5vClsyMTYvMTg2Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9s aWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzIxNy8xODY2XSBH ZW5lcmF0aW5nIGxpYi9jcnlwdG9kZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdy YXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMTgvMTg2Nl0gR2VuZXJhdGluZyBs aWIvZXRoZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29u IHRvIGNhcHR1cmUgb3V0cHV0KQpbMjE5LzE4NjZdIEdlbmVyYXRpbmcgbGliL2VhbC5zeW1fY2hr IHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1 dCkKbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzQ6Ck9TOiBGcmVlQlNE MTMtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2Mrc2hhcmVkCkZBSUxFRDogbGli L2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAKZ2NjIC1JbGliL2xpYnJ0ZV9ncm8uYS5w IC1JbGliIC1JLi4vbGliIC1JbGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25maWcg LUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIv ZWFsL2ZyZWVic2QvaW5jbHVkZSAtSS4uL2xpYi9lYWwvZnJlZWJzZC9pbmNsdWRlIC1JbGliL2Vh bC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAt SS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1J Li4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1l dHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGli L25ldCAtSS4uL2xpYi9uZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wg LUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0ZXIgLUku Li9saWIvbWV0ZXIgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklU Uz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRl X2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25s aXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5n LXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9p bnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3 cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5v dC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0 aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtRF9fQlNEX1ZJU0lCTEUgLWZQSUMgLW1hcmNoPW5hdGl2 ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3Jt YXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWxpYi5ncm8gLU1EIC1NUSBs aWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIC1NRiBsaWIvbGlicnRlX2dyby5hLnAv Z3JvX3J0ZV9ncm8uYy5vLmQgLW8gbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAt YyAuLi9saWIvZ3JvL3J0ZV9ncm8uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9y dGVfZ3JvLmM6MTE6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDogSW4gZnVuY3Rpb24gJ2lzX3NhbWVf dGNwNl9mbG93JzoKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo1MzogZXJyb3I6IGV4cGVjdGVk ICcpJyBiZWZvcmUgJ3JldHVybicKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNf YWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICAgICB+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogIDE0NyB8ICAgICAgICAgICAgICAg ICByZXR1cm4gMDsKICAgICAgfCAgICAgICAgICAgICAgICAgfn5+fn5+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6ICctV21p c2xlYWRpbmctaW5kZW50YXRpb24nIGlzIGRpc2FibGVkIGZyb20gdGhpcyBwb2ludCBvbndhcmRz LCBzaW5jZSBjb2x1bW4tdHJhY2tpbmcgd2FzIGRpc2FibGVkIGR1ZSB0byB0aGUgc2l6ZSBvZiB0 aGUgY29kZS9oZWFkZXJzCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIs ICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgXn4KLi4vbGliL2dyby9ncm9fdGNw Ni5oOjE0Njo5OiBub3RlOiBhZGRpbmcgJy1mbGFyZ2Utc291cmNlLWZpbGVzJyB3aWxsIGFsbG93 IGZvciBtb3JlIGNvbHVtbi10cmFja2luZyBzdXBwb3J0LCBhdCB0aGUgZXhwZW5zZSBvZiBjb21w aWxhdGlvbiB0aW1lIGFuZCBtZW1vcnkKLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9y OiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAgNTEw IHwgfQogICAgICB8IF4KLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0NDoyMDogZXJyb3I6IHVudXNl ZCB2YXJpYWJsZSAndnRjX2Zsb3dfZGlmZicgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDE0 NCB8ICAgICAgICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjog bm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJy b3I9cmV0dXJuLXR5cGVdCiAgNTEwIHwgfQogICAgICB8IF4KY2MxOiBhbGwgd2FybmluZ3MgYmVp bmcgdHJlYXRlZCBhcyBlcnJvcnMKWzIxMS8xNzcxXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xp YnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50X3RpbWVyX2FkYXB0ZXIuYy5vClsy MTIvMTc3MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3B1ZGV2LmEucC9ncHVkZXZf Z3B1ZGV2LmMubwpbMjEzLzE3NzFdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5h LnAvZ3JvX2dyb190Y3BfaW50ZXJuYWwuYy5vClsyMTQvMTc3MV0gQ29tcGlsaW5nIEMgb2JqZWN0 IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDQuYy5vClsyMTUvMTc3MV0gQ29tcGlsaW5n IEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF9ldGhf cnhfYWRhcHRlci5jLm8KWzIxNi8xNzcxXSBHZW5lcmF0aW5nIGxpYi9jcnlwdG9kZXYuc3ltX2No ayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRw dXQpClsyMTcvMTc3MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5w L2V2ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzIxOC8xNzcxXSBHZW5lcmF0aW5nIGxpYi9ldGhk ZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2Fw dHVyZSBvdXRwdXQpClsyMTkvMTc3MV0gR2VuZXJhdGluZyBsaWIvZWFsLnN5bV9jaGsgd2l0aCBh IGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpuaW5q YTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjNToKT1M6IEZyZWVCU0QxMy02NApU YXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytkZWJ1ZwpGQUlMRUQ6IGxpYi9saWJydGVf Z3JvLmEucC9ncm9fcnRlX2dyby5jLm8gCmdjYyAtSWxpYi9saWJydGVfZ3JvLmEucCAtSWxpYiAt SS4uL2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29u ZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9mcmVl YnNkL2luY2x1ZGUgLUkuLi9saWIvZWFsL2ZyZWVic2QvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2lu Y2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIv ZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9r dmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4u L2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9uZXQgLUku Li9saWIvbmV0IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGli L21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL21ldGVyIC1JLi4vbGliL21l dGVyIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdh bGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25m aWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJh bCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXIt YXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUt c3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxp Z25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91 bmRzIC1EX0dOVV9TT1VSQ0UgLURfX0JTRF9WSVNJQkxFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURB TExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAtTVEgbGliL2xp YnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19y dGVfZ3JvLmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4v bGliL2dyby9ydGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dy by5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uICdpc19zYW1lX3RjcDZf Zmxvdyc6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6NTM6IGVycm9yOiBleHBlY3RlZCAnKScg YmVmb3JlICdyZXR1cm4nCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIs ICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgICAgfiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAxNDcgfCAgICAgICAgICAgICAgICAgcmV0 dXJuIDA7CiAgICAgIHwgICAgICAgICAgICAgICAgIH5+fn5+fiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBub3RlOiAnLVdtaXNsZWFk aW5nLWluZGVudGF0aW9uJyBpcyBkaXNhYmxlZCBmcm9tIHRoaXMgcG9pbnQgb253YXJkcywgc2lu Y2UgY29sdW1uLXRyYWNraW5nIHdhcyBkaXNhYmxlZCBkdWUgdG8gdGhlIHNpemUgb2YgdGhlIGNv ZGUvaGVhZGVycwogIDE0NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRyLCAmazIt PnNyY19hZGRyLCAxNikKICAgICAgfCAgICAgICAgIF5+Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDox NDY6OTogbm90ZTogYWRkaW5nICctZmxhcmdlLXNvdXJjZS1maWxlcycgd2lsbCBhbGxvdyBmb3Ig bW9yZSBjb2x1bW4tdHJhY2tpbmcgc3VwcG9ydCwgYXQgdGhlIGV4cGVuc2Ugb2YgY29tcGlsYXRp b24gdGltZSBhbmQgbWVtb3J5Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjogZXhw ZWN0ZWQgZGVjbGFyYXRpb24gb3Igc3RhdGVtZW50IGF0IGVuZCBvZiBpbnB1dAogIDUxMCB8IH0K ICAgICAgfCBeCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MjA6IGVycm9yOiB1bnVzZWQgdmFy aWFibGUgJ3Z0Y19mbG93X2RpZmYnIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICAxNDQgfCAg ICAgICAgIHJ0ZV9iZTMyX3QgdnRjX2Zsb3dfZGlmZjsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fgouLi9saWIvZ3JvL3J0ZV9ncm8uYzo1MTA6MTogZXJyb3I6IG5vIHJl dHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yPXJl dHVybi10eXBlXQogIDUxMCB8IH0KICAgICAgfCBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRy ZWF0ZWQgYXMgZXJyb3JzClsyMTMvMTg2Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVf ZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jLm8KWzIxNC8x ODY2XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZf cnRlX2V2ZW50ZGV2LmMubwpbMjE1LzE4NjZdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRl X2dyby5hLnAvZ3JvX2dyb190Y3BfaW50ZXJuYWwuYy5vClsyMTYvMTg2Nl0gQ29tcGlsaW5nIEMg b2JqZWN0IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDQuYy5vClsyMTcvMTg2Nl0gR2Vu ZXJhdGluZyBsaWIvY29tcHJlc3NkZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdy YXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMTgvMTg2Nl0gR2VuZXJhdGluZyBs aWIvZ3B1ZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29u IHRvIGNhcHR1cmUgb3V0cHV0KQpbMjE5LzE4NjZdIEdlbmVyYXRpbmcgbGliL2NyeXB0b2Rldi5z eW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJl IG91dHB1dCkKWzIyMC8xODY2XSBHZW5lcmF0aW5nIGxpYi9ldGhkZXYuc3ltX2NoayB3aXRoIGEg Y3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMjEv MTg2Nl0gR2VuZXJhdGluZyBsaWIvZWFsLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3 cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoK CgoKKkJ1aWxkIEZhaWxlZCAjNjoKT1M6IFJIRUw5Mi02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjCkZBSUxFRDogbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAK Z2NjIC1JbGliL2xpYnJ0ZV9ncm8uYS5wIC1JbGliIC1JLi4vbGliIC1JbGliL2dybyAtSS4uL2xp Yi9ncm8gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUku Li9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xp bnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVk ZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGli L2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIv bWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAt SS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGli L21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIv cmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5 cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vy cm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1X Zm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRl Y2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0 eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXBy b3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1t ZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxp emVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1u YXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8t Zm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAt TVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8u YS5wL2dyb19ydGVfZ3JvLmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5j Lm8gLWMgLi4vbGliL2dyby9ydGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9n cm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uIOKAmGlz X3NhbWVfdGNwNl9mbG934oCZOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2OjUzOiBlcnJvcjog ZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgMTQ2IHwgICAgICAgICBpZiAo bWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAg ICAgfiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAxNDcg fCAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgIHwgICAgICAgICAgICAgICAgIH5+fn5+ fiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0 Njo5OiBub3RlOiDigJgtV21pc2xlYWRpbmctaW5kZW50YXRpb27igJkgaXMgZGlzYWJsZWQgZnJv bSB0aGlzIHBvaW50IG9ud2FyZHMsIHNpbmNlIGNvbHVtbi10cmFja2luZyB3YXMgZGlzYWJsZWQg ZHVlIHRvIHRoZSBzaXplIG9mIHRoZSBjb2RlL2hlYWRlcnMKICAxNDYgfCAgICAgICAgIGlmICht ZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICBe fgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6IGFkZGluZyDigJgtZmxhcmdlLXNv dXJjZS1maWxlc+KAmSB3aWxsIGFsbG93IGZvciBtb3JlIGNvbHVtbi10cmFja2luZyBzdXBwb3J0 LCBhdCB0aGUgZXhwZW5zZSBvZiBjb21waWxhdGlvbiB0aW1lIGFuZCBtZW1vcnkKLi4vbGliL2dy by9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1l bnQgYXQgZW5kIG9mIGlucHV0CiAgNTEwIHwgfQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0OjIw OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHZ0Y19mbG93X2RpZmbigJkgWy1XZXJyb3I9dW51 c2VkLXZhcmlhYmxlXQogIDE0NCB8ICAgICAgICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRlX2dy by5jOjUxMDoxOiBlcnJvcjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5p bmcgbm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJuLXR5cGVdCiAgNTEwIHwgfQogICAgICB8IF4KY2Mx OiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzIxNS8zMTExXSBHZW5lcmF0 aW5nIHN5bWJvbCBmaWxlIGxpYi9saWJydGVfZWFsLnNvLjIzLjIucC9saWJydGVfZWFsLnNvLjIz LjIuc3ltYm9scwpbMjE2LzMxMTFdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50 ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYy5vClsyMTcvMzExMV0g Q29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcF9pbnRlcm5h bC5jLm8KWzIxOC8zMTExXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5h LnAvZXZlbnRkZXZfcnRlX2V2ZW50ZGV2LmMubwpbMjE5LzMxMTFdIEdlbmVyYXRpbmcgbGliL2V0 aGRldi5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBj YXB0dXJlIG91dHB1dCkKWzIyMC8zMTExXSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgbGliL2xpYnJ0 ZV9kaXN0cmlidXRvci5hClsyMjEvMzExMV0gTGlua2luZyBzdGF0aWMgdGFyZ2V0IGxpYi9saWJy dGVfZWZkLmEKWzIyMi8zMTExXSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgbGliL2xpYnJ0ZV9jcnlw dG9kZXYuYQpbMjIzLzMxMTFdIExpbmtpbmcgc3RhdGljIHRhcmdldCBsaWIvbGlicnRlX2dwdWRl di5hCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICM3OgpPUzogUkhFTDky LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGxpYi9saWJy dGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gCmNsYW5nIC1JbGliL2xpYnJ0ZV9ncm8uYS5wIC1J bGliIC1JLi4vbGliIC1JbGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25maWcgLUku Li9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFs L2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9p bmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGli L2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIv a3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUku Li9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1J Li4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xp Yi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9t ZXRlciAtZmNvbG9yLWRpYWdub3N0aWNzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdp bnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nh c3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1h dC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1X bmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdz aWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAt V25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6 ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRB TF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIu Z3JvIC1EUlRFX0FOTk9UQVRFX0xPQ0tTIC1XdGhyZWFkLXNhZmV0eSAtTUQgLU1RIGxpYi9saWJy dGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLU1GIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRl X2dyby5jLm8uZCAtbyBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIC1jIC4uL2xp Yi9ncm8vcnRlX2dyby5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZ3JvL3J0ZV9ncm8u YzoxMToKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0NzozOiBlcnJvcjogZXhwZWN0ZWQgJyknCiAg ICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgIF4KLi4vbGliL2dyby9ncm9f dGNwNi5oOjE0Njo1OiBub3RlOiB0byBtYXRjaCB0aGlzICcoJwogICAgICAgIGlmIChtZW1jbXAo JmsxLT5zcmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgICAgICAgXgouLi9saWIvZ3Jv L2dyb190Y3A2Lmg6MTQ5OjM6IGVycm9yOiBleHBlY3RlZCAnKScKICAgICAgICAgICAgICAgIHJl dHVybiAwOwogICAgICAgICAgICAgICAgXgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ4OjU6IG5v dGU6IHRvIG1hdGNoIHRoaXMgJygnCiAgICAgICAgaWYgKG1lbWNtcCgmazEtPmRzdF9hZGRyLCAm azItPmRzdF9hZGRyLCAxNikKICAgICAgICAgICBeCjIgZXJyb3JzIGdlbmVyYXRlZC4KWzI1NS8z MDc2XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNC5j Lm8KWzI1Ni8zMDc2XSBHZW5lcmF0aW5nIHN5bWJvbCBmaWxlIGxpYi9saWJydGVfY29tcHJlc3Nk ZXYuc28uMjMuMi5wL2xpYnJ0ZV9jb21wcmVzc2Rldi5zby4yMy4yLnN5bWJvbHMKWzI1Ny8zMDc2 XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwX2ludGVy bmFsLmMubwpbMjU4LzMwNzZdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dwdWRldi5h LnAvZ3B1ZGV2X2dwdWRldi5jLm8KWzI1OS8zMDc2XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xp YnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNi5jLm8KRkFJTEVEOiBsaWIvbGlicnRlX2dyby5hLnAv Z3JvX2dyb190Y3A2LmMubyAKY2xhbmcgLUlsaWIvbGlicnRlX2dyby5hLnAgLUlsaWIgLUkuLi9s aWIgLUlsaWIvZ3JvIC1JLi4vbGliL2dybyAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAt SWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5j bHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUku Li9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1v biAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUls aWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxl bWV0cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9uZXQgLUkuLi9saWIvbmV0 IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wg LUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1mY29s b3ItZGlhZ25vc3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNo IC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1X ZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5 IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0 ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFy ZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVz cy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05V X1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFM TE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWxpYi5ncm8gLURSVEVf QU5OT1RBVEVfTE9DS1MgLVd0aHJlYWQtc2FmZXR5IC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5w L2dyb19ncm9fdGNwNi5jLm8gLU1GIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDYuYy5v LmQgLW8gbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNi5jLm8gLWMgLi4vbGliL2dyby9n cm9fdGNwNi5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZ3JvL2dyb190Y3A2LmM6OToK Li4vbGliL2dyby9ncm9fdGNwNi5oOjE0NzozOiBlcnJvcjogZXhwZWN0ZWQgJyknCiAgICAgICAg ICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgIF4KLi4vbGliL2dyby9ncm9fdGNwNi5o OjE0Njo1OiBub3RlOiB0byBtYXRjaCB0aGlzICcoJwogICAgICAgIGlmIChtZW1jbXAoJmsxLT5z cmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgICAgICAgXgouLi9saWIvZ3JvL2dyb190 Y3A2Lmg6MTQ5OjM6IGVycm9yOiBleHBlY3RlZCAnKScKICAgICAgICAgICAgICAgIHJldHVybiAw OwogICAgICAgICAgICAgICAgXgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ4OjU6IG5vdGU6IHRv IG1hdGNoIHRoaXMgJygnCiAgICAgICAgaWYgKG1lbWNtcCgmazEtPmRzdF9hZGRyLCAmazItPmRz dF9hZGRyLCAxNikKICAgICAgICAgICBeCjIgZXJyb3JzIGdlbmVyYXRlZC4KWzI2MC8zMDc2XSBD b21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2 ZW50X3RpbWVyX2FkYXB0ZXIuYy5vClsyNjEvMzA3Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9s aWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzI2Mi8zMDc2XSBH ZW5lcmF0aW5nIGxpYi9jcnlwdG9kZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdy YXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyNjMvMzA3Nl0gQ29tcGlsaW5nIEMg b2JqZWN0IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3VkcDQuYy5vCm5pbmphOiBidWlsZCBz dG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICM4OgpPUzogUkhFTDkyLTY0ClRhcmdldDogeDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2Mrc2hhcmVkCkZBSUxFRDogbGliL2xpYnJ0ZV9ncm8uYS5wL2dy b19ydGVfZ3JvLmMubyAKZ2NjIC1JbGliL2xpYnJ0ZV9ncm8uYS5wIC1JbGliIC1JLi4vbGliIC1J bGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIv ZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUg LUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGli L2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUls aWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21l dHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5 IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWxp Yi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGli L3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtZmRpYWdub3N0 aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1w Y2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwg LVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJp dHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1l eHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21w YXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRy ZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5n LWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNF IC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5U RVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQ RT1saWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtTUYg bGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEu cC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGliL2dyby9ydGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6IElu IGZ1bmN0aW9uIOKAmGlzX3NhbWVfdGNwNl9mbG934oCZOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6 MTQ2OjUzOiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgMTQ2 IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQog ICAgICB8ICAgICAgICAgICAgfiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICkKICAxNDcgfCAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgIHwgICAgICAg ICAgICAgICAgIH5+fn5+fiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLi4vbGliL2dy by9ncm9fdGNwNi5oOjE0Njo5OiBub3RlOiDigJgtV21pc2xlYWRpbmctaW5kZW50YXRpb27igJkg aXMgZGlzYWJsZWQgZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMsIHNpbmNlIGNvbHVtbi10cmFja2lu ZyB3YXMgZGlzYWJsZWQgZHVlIHRvIHRoZSBzaXplIG9mIHRoZSBjb2RlL2hlYWRlcnMKICAxNDYg fCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAg ICAgIHwgICAgICAgICBefgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6IGFkZGlu ZyDigJgtZmxhcmdlLXNvdXJjZS1maWxlc+KAmSB3aWxsIGFsbG93IGZvciBtb3JlIGNvbHVtbi10 cmFja2luZyBzdXBwb3J0LCBhdCB0aGUgZXhwZW5zZSBvZiBjb21waWxhdGlvbiB0aW1lIGFuZCBt ZW1vcnkKLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJh dGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAgNTEwIHwgfQogICAgICB8IF4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dy b190Y3A2Lmg6MTQ0OjIwOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHZ0Y19mbG93X2RpZmbi gJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDE0NCB8ICAgICAgICAgcnRlX2JlMzJfdCB2 dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+Ci4u L2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBm dW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJuLXR5cGVdCiAgNTEwIHwg fQogICAgICB8IF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzI1 NC8yOTcwXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNw NC5jLm8KWzI1NS8yOTcwXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dy b19ncm9fdGNwX2ludGVybmFsLmMubwpbMjU2LzI5NzBdIEdlbmVyYXRpbmcgbGliL2V0aGRldi5z eW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJl IG91dHB1dCkKWzI1Ny8yOTcwXSBHZW5lcmF0aW5nIGxpYi9ncHVkZXYuc3ltX2NoayB3aXRoIGEg Y3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyNTgv Mjk3MF0gR2VuZXJhdGluZyBsaWIvY29tcHJlc3NkZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNv bW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyNTkvMjk3MF0gQ29t cGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDYuYy5vCkZBSUxF RDogbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNi5jLm8gCmdjYyAtSWxpYi9saWJydGVf Z3JvLmEucCAtSWxpYiAtSS4uL2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4uIC1J Y29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRl IC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGli L2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1v biAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3Zhcmdz IC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVs ZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1J bGliL25ldCAtSS4uL2xpYi9uZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBv b2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0ZXIg LUkuLi9saWIvbWV0ZXIgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRf QklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUg cnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1u b25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1X cG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYg LVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2Vk LW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxl bmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQ RVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9bGliLmdybyAtTUQgLU1RIGxpYi9saWJydGVfZ3Jv LmEucC9ncm9fZ3JvX3RjcDYuYy5vIC1NRiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dyb190Y3A2 LmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDYuYy5vIC1jIC4uL2xpYi9n cm8vZ3JvX3RjcDYuYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9ncm9fdGNwNi5j Ojk6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDogSW4gZnVuY3Rpb24g4oCYaXNfc2FtZV90Y3A2X2Zs b3figJk6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6NTM6IGVycm9yOiBleHBlY3RlZCDigJgp 4oCZIGJlZm9yZSDigJhyZXR1cm7igJkKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5z cmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICAgICB+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogIDE0NyB8ICAgICAgICAgICAg ICAgICByZXR1cm4gMDsKICAgICAgfCAgICAgICAgICAgICAgICAgfn5+fn5+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6IOKA mC1XbWlzbGVhZGluZy1pbmRlbnRhdGlvbuKAmSBpcyBkaXNhYmxlZCBmcm9tIHRoaXMgcG9pbnQg b253YXJkcywgc2luY2UgY29sdW1uLXRyYWNraW5nIHdhcyBkaXNhYmxlZCBkdWUgdG8gdGhlIHNp emUgb2YgdGhlIGNvZGUvaGVhZGVycwogIDE0NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNy Y19hZGRyLCAmazItPnNyY19hZGRyLCAxNikKICAgICAgfCAgICAgICAgIF5+Ci4uL2xpYi9ncm8v Z3JvX3RjcDYuaDoxNDY6OTogbm90ZTogYWRkaW5nIOKAmC1mbGFyZ2Utc291cmNlLWZpbGVz4oCZ IHdpbGwgYWxsb3cgZm9yIG1vcmUgY29sdW1uLXRyYWNraW5nIHN1cHBvcnQsIGF0IHRoZSBleHBl bnNlIG9mIGNvbXBpbGF0aW9uIHRpbWUgYW5kIG1lbW9yeQouLi9saWIvZ3JvL2dyb190Y3A2LmM6 MjY2OjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9m IGlucHV0CiAgMjY2IHwgfQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9n cm8vZ3JvX3RjcDYuYzo5OgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0OjIwOiBlcnJvcjogdW51 c2VkIHZhcmlhYmxlIOKAmHZ0Y19mbG93X2RpZmbigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxl XQogIDE0NCB8ICAgICAgICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuYzoyNjY6MTog ZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lk IFstV2Vycm9yPXJldHVybi10eXBlXQogIDI2NiB8IH0KICAgICAgfCBeCmNjMTogYWxsIHdhcm5p bmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyNjAvMjk3MF0gQ29tcGlsaW5nIEMgb2JqZWN0 IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3VkcDQuYy5vClsyNjEvMjk3MF0gR2VuZXJhdGlu ZyBsaWIvY3J5cHRvZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5 IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbMjYyLzI5NzBdIEdlbmVyYXRpbmcgbGliL2V2ZW50 ZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNh cHR1cmUgb3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjOToK T1M6IFJIRUw5Mi02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK2RlYnVnCkZB SUxFRDogbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAKZ2NjIC1JbGliL2xpYnJ0 ZV9ncm8uYS5wIC1JbGliIC1JLi4vbGliIC1JbGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4g LUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1 ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUls aWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29t bW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFy Z3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90 ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYg LUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVt cG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRl ciAtSS4uL2xpYi9tZXRlciAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNF VF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMiAtZyAtaW5j bHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9y bWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAt V21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRp b24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1 bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1w YWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXpl cm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExP V19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0 ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVf Z3JvLmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGli L2dyby9ydGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5j OjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uIOKAmGlzX3NhbWVfdGNwNl9m bG934oCZOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2OjUzOiBlcnJvcjogZXhwZWN0ZWQg4oCY KeKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+ c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgICAgfiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAxNDcgfCAgICAgICAgICAg ICAgICAgcmV0dXJuIDA7CiAgICAgIHwgICAgICAgICAgICAgICAgIH5+fn5+fiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBub3RlOiDi gJgtV21pc2xlYWRpbmctaW5kZW50YXRpb27igJkgaXMgZGlzYWJsZWQgZnJvbSB0aGlzIHBvaW50 IG9ud2FyZHMsIHNpbmNlIGNvbHVtbi10cmFja2luZyB3YXMgZGlzYWJsZWQgZHVlIHRvIHRoZSBz aXplIG9mIHRoZSBjb2RlL2hlYWRlcnMKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5z cmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICBefgouLi9saWIvZ3Jv L2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6IGFkZGluZyDigJgtZmxhcmdlLXNvdXJjZS1maWxlc+KA mSB3aWxsIGFsbG93IGZvciBtb3JlIGNvbHVtbi10cmFja2luZyBzdXBwb3J0LCBhdCB0aGUgZXhw ZW5zZSBvZiBjb21waWxhdGlvbiB0aW1lIGFuZCBtZW1vcnkKLi4vbGliL2dyby9ydGVfZ3JvLmM6 NTEwOjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9m IGlucHV0CiAgNTEwIHwgfQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9n cm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0OjIwOiBlcnJvcjogdW51 c2VkIHZhcmlhYmxlIOKAmHZ0Y19mbG93X2RpZmbigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxl XQogIDE0NCB8ICAgICAgICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBl cnJvcjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQg Wy1XZXJyb3I9cmV0dXJuLXR5cGVdCiAgNTEwIHwgfQogICAgICB8IF4KY2MxOiBhbGwgd2Fybmlu Z3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzIxMy8zMTExXSBDb21waWxpbmcgQyBvYmplY3Qg bGliL2xpYnJ0ZV9ncHVkZXYuYS5wL2dwdWRldl9ncHVkZXYuYy5vClsyMTQvMzExMV0gTGlua2lu ZyBzdGF0aWMgdGFyZ2V0IGxpYi9saWJydGVfZWZkLmEKWzIxNS8zMTExXSBMaW5raW5nIHN0YXRp YyB0YXJnZXQgbGliL2xpYnJ0ZV9jcnlwdG9kZXYuYQpbMjE2LzMxMTFdIENvbXBpbGluZyBDIG9i amVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfdGltZXJfYWRh cHRlci5jLm8KWzIxNy8zMTExXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5w L2dyb19ncm9fdGNwX2ludGVybmFsLmMubwpbMjE4LzMxMTFdIEdlbmVyYXRpbmcgbGliL2VhbC5z eW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJl IG91dHB1dCkKWzIxOS8zMTExXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRl di5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50ZGV2LmMubwpbMjIwLzMxMTFdIENvbXBpbGluZyBDIG9i amVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3J4X2Fk YXB0ZXIuYy5vClsyMjEvMzExMV0gR2VuZXJhdGluZyBsaWIvZXRoZGV2LnN5bV9jaGsgd2l0aCBh IGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpuaW5q YTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTA6Ck9TOiBTVVNFMTUtNjQKVGFy Z2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkZBSUxFRDogbGliL2xpYnJ0ZV9ncm8u YS5wL2dyb19ydGVfZ3JvLmMubyAKY2xhbmcgLUlsaWIvbGlicnRlX2dyby5hLnAgLUlsaWIgLUku Li9saWIgLUlsaWIvZ3JvIC1JLi4vbGliL2dybyAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZp ZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgv aW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUg LUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2Nv bW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3Mg LUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90 ZWxlbWV0cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9uZXQgLUkuLi9saWIv bmV0IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBv b2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1m Y29sb3ItZGlhZ25vc3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQt cGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFs IC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3Vy aXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQt ZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29t cGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRk cmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURf R05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAt REFMTE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWxpYi5ncm8gLURS VEVfQU5OT1RBVEVfTE9DS1MgLVd0aHJlYWQtc2FmZXR5IC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8u YS5wL2dyb19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMu by5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGliL2dyby9y dGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgou Li9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ3OjM6IGVycm9yOiBleHBlY3RlZCAnKScKICAgICAgICAg ICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgICAgXgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6 MTQ2OjU6IG5vdGU6IHRvIG1hdGNoIHRoaXMgJygnCiAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNy Y19hZGRyLCAmazItPnNyY19hZGRyLCAxNikKICAgICAgICAgICBeCi4uL2xpYi9ncm8vZ3JvX3Rj cDYuaDoxNDk6MzogZXJyb3I6IGV4cGVjdGVkICcpJwogICAgICAgICAgICAgICAgcmV0dXJuIDA7 CiAgICAgICAgICAgICAgICBeCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDg6NTogbm90ZTogdG8g bWF0Y2ggdGhpcyAnKCcKICAgICAgICBpZiAobWVtY21wKCZrMS0+ZHN0X2FkZHIsICZrMi0+ZHN0 X2FkZHIsIDE2KQogICAgICAgICAgIF4KMiBlcnJvcnMgZ2VuZXJhdGVkLgpbMjIxLzMxNTddIEdl bmVyYXRpbmcgc3ltYm9sIGZpbGUgbGliL2xpYnJ0ZV9lYWwuc28uMjMuMi5wL2xpYnJ0ZV9lYWwu c28uMjMuMi5zeW1ib2xzClsyMjIvMzE1N10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVf ZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF90aW1lcl9hZGFwdGVyLmMubwpbMjIzLzMx NTddIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dwdWRldi5hLnAvZ3B1ZGV2X2dwdWRl di5jLm8KWzIyNC8zMTU3XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dy b19ncm9fdGNwNC5jLm8KWzIyNS8zMTU3XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9n cm8uYS5wL2dyb19ncm9fdGNwX2ludGVybmFsLmMubwpbMjI2LzMxNTddIENvbXBpbGluZyBDIG9i amVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3J4X2Fk YXB0ZXIuYy5vClsyMjcvMzE1N10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRk ZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzIyOC8zMTU3XSBHZW5lcmF0aW5nIGxp Yi9ldGhkZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24g dG8gY2FwdHVyZSBvdXRwdXQpClsyMjkvMzE1N10gR2VuZXJhdGluZyBsaWIvY3J5cHRvZGV2LnN5 bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUg b3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTE6Ck9TOiBT VVNFMTUtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGxpYi9s aWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gCmdjYyAtSWxpYi9saWJydGVfZ3JvLmEucCAt SWxpYiAtSS4uL2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4uIC1JY29uZmlnIC1J Li4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2Vh bC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYv aW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xp Yi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGli L2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1J Li4vbGliL3RlbGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGliL25ldCAt SS4uL2xpYi9uZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9s aWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0ZXIgLUkuLi9saWIv bWV0ZXIgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAt V2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZp Zy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFs IC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3Rv dHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1h cml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1z dHJpbmdzIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJ QyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFM X0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9bGli LmdybyAtTUQgLU1RIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLU1GIGxpYi9s aWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8uZCAtbyBsaWIvbGlicnRlX2dyby5hLnAvZ3Jv X3J0ZV9ncm8uYy5vIC1jIC4uL2xpYi9ncm8vcnRlX2dyby5jCkluIGZpbGUgaW5jbHVkZWQgZnJv bSAuLi9saWIvZ3JvL3J0ZV9ncm8uYzoxMTowOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6IEluIGZ1 bmN0aW9uIOKAmGlzX3NhbWVfdGNwNl9mbG934oCZOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ3 OjM6IGVycm9yOiBleHBlY3RlZCDigJgp4oCZIGJlZm9yZSDigJhyZXR1cm7igJkKICAgcmV0dXJu IDA7CiAgIF5+fn5+fgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2OjI6IGVycm9yOiB0aGlzIOKA mGlm4oCZIGNsYXVzZSBkb2VzIG5vdCBndWFyZC4uLiBbLVdlcnJvcj1taXNsZWFkaW5nLWluZGVu dGF0aW9uXQogIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAg Xn4KLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjA6IG5vdGU6IC4uLnRoaXMgc3RhdGVtZW50LCBi dXQgdGhlIGxhdHRlciBpcyBtaXNsZWFkaW5nbHkgaW5kZW50ZWQgYXMgaWYgaXQgd2VyZSBndWFy ZGVkIGJ5IHRoZSDigJhpZuKAmQogfQogCi4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJv cjogZXhwZWN0ZWQgZGVjbGFyYXRpb24gb3Igc3RhdGVtZW50IGF0IGVuZCBvZiBpbnB1dAogfQog XgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9ydGVfZ3JvLmM6MTE6MDoKLi4vbGli L2dyby9ncm9fdGNwNi5oOjE0NDoxMzogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJh2dGNfZmxv d19kaWZm4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBydGVfYmUzMl90IHZ0Y19mbG93 X2RpZmY7CiAgICAgICAgICAgICBefn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUx MDoxOiBlcnJvcjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9u LXZvaWQgWy1XZXJyb3I9cmV0dXJuLXR5cGVdCiB9CiBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5n IHRyZWF0ZWQgYXMgZXJyb3JzClsyMTYvMzE1NV0gR2VuZXJhdGluZyBsaWIvZWZkLnN5bV9jaGsg d2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0 KQpbMjE3LzMxNTVdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dy b190Y3BfaW50ZXJuYWwuYy5vClsyMTgvMzE1NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJy dGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF90aW1lcl9hZGFwdGVyLmMubwpbMjE5 LzMxNTVdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRl dl9ydGVfZXZlbnRkZXYuYy5vClsyMjAvMzE1NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJy dGVfZ3B1ZGV2LmEucC9ncHVkZXZfZ3B1ZGV2LmMubwpbMjIxLzMxNTVdIENvbXBpbGluZyBDIG9i amVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3J4X2Fk YXB0ZXIuYy5vClsyMjIvMzE1NV0gR2VuZXJhdGluZyBsaWIvY3J5cHRvZGV2LnN5bV9jaGsgd2l0 aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpb MjIzLzMxNTVdIEdlbmVyYXRpbmcgbGliL2V0aGRldi5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29t bWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzIyNC8zMTU1XSBHZW5l cmF0aW5nIGxpYi9lYWwuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkg bWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQg RmFpbGVkICMxMjoKT1M6IENCTC1NYXJpbmVyMi4wLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MKRkFJTEVEOiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIApn Y2MgLUlsaWIvbGlicnRlX2dyby5hLnAgLUlsaWIgLUkuLi9saWIgLUlsaWIvZ3JvIC1JLi4vbGli L2dybyAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4u L2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGlu dXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRl IC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIv ZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9t ZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRoZGV2IC1J Li4vbGliL2V0aGRldiAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JbGliL21idWYgLUkuLi9saWIv bWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9y aW5nIC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlz IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJy b3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdm b3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVj bGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5 bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJv dG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1l bWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6 ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91bmRzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5h dGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWxpYi5ncm8gLU1EIC1N USBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIC1NRiBsaWIvbGlicnRlX2dyby5h LnAvZ3JvX3J0ZV9ncm8uYy5vLmQgLW8gbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMu byAtYyAuLi9saWIvZ3JvL3J0ZV9ncm8uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dy by9ydGVfZ3JvLmM6MTE6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDogSW4gZnVuY3Rpb24gJ2lzX3Nh bWVfdGNwNl9mbG93JzoKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo1MzogZXJyb3I6IGV4cGVj dGVkICcpJyBiZWZvcmUgJ3JldHVybicKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5z cmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICAgICB+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogIDE0NyB8ICAgICAgICAgICAg ICAgICByZXR1cm4gMDsKICAgICAgfCAgICAgICAgICAgICAgICAgfn5+fn5+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6ICct V21pc2xlYWRpbmctaW5kZW50YXRpb24nIGlzIGRpc2FibGVkIGZyb20gdGhpcyBwb2ludCBvbndh cmRzLCBzaW5jZSBjb2x1bW4tdHJhY2tpbmcgd2FzIGRpc2FibGVkIGR1ZSB0byB0aGUgc2l6ZSBv ZiB0aGUgY29kZS9oZWFkZXJzCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2Fk ZHIsICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgXn4KLi4vbGliL2dyby9ncm9f dGNwNi5oOjE0Njo5OiBub3RlOiBhZGRpbmcgJy1mbGFyZ2Utc291cmNlLWZpbGVzJyB3aWxsIGFs bG93IGZvciBtb3JlIGNvbHVtbi10cmFja2luZyBzdXBwb3J0LCBhdCB0aGUgZXhwZW5zZSBvZiBj b21waWxhdGlvbiB0aW1lIGFuZCBtZW1vcnkKLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVy cm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAg NTEwIHwgfQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dy by5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0OjIwOiBlcnJvcjogdW51c2VkIHZhcmlh YmxlICd2dGNfZmxvd19kaWZmJyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgMTQ0IHwgICAg ICAgICBydGVfYmUzMl90IHZ0Y19mbG93X2RpZmY7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn4KLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBubyByZXR1 cm4gc3RhdGVtZW50IGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcj1yZXR1 cm4tdHlwZV0KICA1MTAgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVh dGVkIGFzIGVycm9ycwpbMjE1LzMxMDldIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dy by5hLnAvZ3JvX2dyb190Y3BfaW50ZXJuYWwuYy5vClsyMTYvMzEwOV0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGxpYi9saWJydGVfZ3B1ZGV2LmEucC9ncHVkZXZfZ3B1ZGV2LmMubwpbMjE3LzMxMDldIENv bXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZl bnRfdGltZXJfYWRhcHRlci5jLm8KWzIxOC8zMTA5XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xp YnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNC5jLm8KWzIxOS8zMTA5XSBDb21waWxpbmcgQyBvYmpl Y3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50ZGV2LmMubwpbMjIw LzMxMDldIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRl dl9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYy5vClsyMjEvMzEwOV0gR2VuZXJhdGluZyBsaWIv Y3J5cHRvZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29u IHRvIGNhcHR1cmUgb3V0cHV0KQpbMjIyLzMxMDldIEdlbmVyYXRpbmcgbGliL2V0aGRldi5zeW1f Y2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91 dHB1dCkKWzIyMy8zMTA5XSBHZW5lcmF0aW5nIGxpYi9lYWwuc3ltX2NoayB3aXRoIGEgY3VzdG9t IGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpCm5pbmphOiBidWls ZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxMzoKT1M6IFVCMjAwNC02NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19y dGVfZ3JvLmMubyAKZ2NjIC1JbGliL2xpYnJ0ZV9ncm8uYS5wIC1JbGliIC1JLi4vbGliIC1JbGli L2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFs L2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUku Li9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2Vh bC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIv ZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJp Y3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1J bGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWxpYi9t YnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3Jp bmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtZmRpYWdub3N0aWNz LWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2gg LVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdk ZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkg LVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRl cm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJl IC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNz LW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZp ZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1m UElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJO QUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1s aWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtTUYgbGli L2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9n cm9fcnRlX2dyby5jLm8gLWMgLi4vbGliL2dyby9ydGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6IEluIGZ1 bmN0aW9uIOKAmGlzX3NhbWVfdGNwNl9mbG934oCZOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2 OjQ2OiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgMTQ2IHwg IGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAg IH4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAxNDcgfCAgIHJldHVy biAwOwogICAgICB8ICAgfn5+fn5+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0NjoyOiBlcnJvcjogdGhpcyDigJhpZuKAmSBjbGF1 c2UgZG9lcyBub3QgZ3VhcmQuLi4gWy1XZXJyb3I9bWlzbGVhZGluZy1pbmRlbnRhdGlvbl0KICAx NDYgfCAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRyLCAmazItPnNyY19hZGRyLCAxNikKICAgICAg fCAgXn4KLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOiBub3RlOiAuLi50aGlzIHN0YXRlbWVudCwg YnV0IHRoZSBsYXR0ZXIgaXMgbWlzbGVhZGluZ2x5IGluZGVudGVkIGFzIGlmIGl0IHdlcmUgZ3Vh cmRlZCBieSB0aGUg4oCYaWbigJkKICA1MTAgfCB9CiAgICAgIHwgCi4uL2xpYi9ncm8vcnRlX2dy by5jOjUxMDoxOiBlcnJvcjogZXhwZWN0ZWQgZGVjbGFyYXRpb24gb3Igc3RhdGVtZW50IGF0IGVu ZCBvZiBpbnB1dAogIDUxMCB8IH0KICAgICAgfCBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9s aWIvZ3JvL3J0ZV9ncm8uYzoxMToKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0NDoxMzogZXJyb3I6 IHVudXNlZCB2YXJpYWJsZSDigJh2dGNfZmxvd19kaWZm4oCZIFstV2Vycm9yPXVudXNlZC12YXJp YWJsZV0KICAxNDQgfCAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn4KLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBubyBy ZXR1cm4gc3RhdGVtZW50IGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcj1y ZXR1cm4tdHlwZV0KICA1MTAgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwpbMjE1LzMxNTddIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRl X2NyeXB0b2Rldi5hLnAvY3J5cHRvZGV2X3J0ZV9jcnlwdG9kZXYuYy5vClsyMTYvMzE1N10gR2Vu ZXJhdGluZyBlYWwuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVz b24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMTcvMzE1N10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9s aWJydGVfZ3B1ZGV2LmEucC9ncHVkZXZfZ3B1ZGV2LmMubwpbMjE4LzMxNTddIEdlbmVyYXRpbmcg ZWZkLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNh cHR1cmUgb3V0cHV0KQpbMjE5LzMxNTddIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2 ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYy5vClsyMjAvMzE1 N10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0 ZV9ldmVudF90aW1lcl9hZGFwdGVyLmMubwpbMjIxLzMxNTddIENvbXBpbGluZyBDIG9iamVjdCBs aWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRkZXYuYy5vClsyMjIvMzE1 N10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0 ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jLm8KWzIyMy8zMTU3XSBHZW5lcmF0aW5nIGV0aGRldi5z eW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJl IG91dHB1dCkKbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE0OgpPUzog VUIyMjA0LTMyClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogbGliL2xp YnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAKZ2NjIC1JbGliL2xpYnJ0ZV9ncm8uYS5wIC1J bGliIC1JLi4vbGliIC1JbGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25maWcgLUku Li9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFs L2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9p bmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGli L2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIv a3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUku Li9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1J Li4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xp Yi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9t ZXRlciAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1X YWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmln LmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwg LVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90 eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFy aXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0 cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWdu ZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5k cyAtV25vLXBvaW50ZXItdG8taW50LWNhc3QgLURfR05VX1NPVVJDRSAtbTMyIC1mUElDIC1tYXJj aD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1N RCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9n cm8uYS5wL2dyb19ydGVfZ3JvLmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dy by5jLm8gLWMgLi4vbGliL2dyby9ydGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xp Yi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uIOKA mGlzX3NhbWVfdGNwNl9mbG934oCZOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2OjUzOiBlcnJv cjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCYcmV0dXJu4oCZCiAgMTQ2IHwgICAgICAgICBp ZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAg ICAgICAgfiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAx NDcgfCAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgIHwgICAgICAgICAgICAgICAgIH5+ fn5+fiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5o OjE0Njo5OiBub3RlOiDigJgtV21pc2xlYWRpbmctaW5kZW50YXRpb27igJkgaXMgZGlzYWJsZWQg ZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMsIHNpbmNlIGNvbHVtbi10cmFja2luZyB3YXMgZGlzYWJs ZWQgZHVlIHRvIHRoZSBzaXplIG9mIHRoZSBjb2RlL2hlYWRlcnMKICAxNDYgfCAgICAgICAgIGlm IChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAg ICBefgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6IGFkZGluZyDigJgtZmxhcmdl LXNvdXJjZS1maWxlc+KAmSB3aWxsIGFsbG93IGZvciBtb3JlIGNvbHVtbi10cmFja2luZyBzdXBw b3J0LCBhdCB0aGUgZXhwZW5zZSBvZiBjb21waWxhdGlvbiB0aW1lIGFuZCBtZW1vcnkKLi4vbGli L2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0 ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAgNTEwIHwgfQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0 OjIwOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHZ0Y19mbG93X2RpZmbigJkgWy1XZXJyb3I9 dW51c2VkLXZhcmlhYmxlXQogIDE0NCB8ICAgICAgICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZm OwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRl X2dyby5jOjUxMDoxOiBlcnJvcjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1 cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJuLXR5cGVdCiAgNTEwIHwgfQogICAgICB8IF4K Y2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzIxMy8yMjE1XSBHZW5l cmF0aW5nIGxpYi9lYWwuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkg bWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMTQvMjIxNV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxp Yi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcF9pbnRlcm5hbC5jLm8KWzIxNS8yMjE1XSBDb21w aWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncHVkZXYuYS5wL2dwdWRldl9ncHVkZXYuYy5vClsy MTYvMjIxNV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3Rj cDYuYy5vCkZBSUxFRDogbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNi5jLm8gCmdjYyAt SWxpYi9saWJydGVfZ3JvLmEucCAtSWxpYiAtSS4uL2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3Jv IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGli L2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9p bmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUls aWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwg LUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJp Y3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9s aWIvZXRoZGV2IC1JbGliL25ldCAtSS4uL2xpYi9uZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVm IC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3Jpbmcg LUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURf RklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAt TzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1h dCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJh dGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1k ZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5 cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVy IC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMg LVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLVduby1wb2ludGVyLXRvLWludC1jYXN0IC1EX0dOVV9T T1VSQ0UgLW0zMiAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAt REFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZB VUxUX0xPR1RZUEU9bGliLmdybyAtTUQgLU1RIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3Rj cDYuYy5vIC1NRiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dyb190Y3A2LmMuby5kIC1vIGxpYi9s aWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDYuYy5vIC1jIC4uL2xpYi9ncm8vZ3JvX3RjcDYuYwpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9ncm9fdGNwNi5jOjk6Ci4uL2xpYi9ncm8v Z3JvX3RjcDYuaDogSW4gZnVuY3Rpb24g4oCYaXNfc2FtZV90Y3A2X2Zsb3figJk6Ci4uL2xpYi9n cm8vZ3JvX3RjcDYuaDoxNDY6NTM6IGVycm9yOiBleHBlY3RlZCDigJgp4oCZIGJlZm9yZSDigJhy ZXR1cm7igJkKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5z cmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICAgICB+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQogIDE0NyB8ICAgICAgICAgICAgICAgICByZXR1cm4gMDsK ICAgICAgfCAgICAgICAgICAgICAgICAgfn5+fn5+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6IOKAmC1XbWlzbGVhZGluZy1p bmRlbnRhdGlvbuKAmSBpcyBkaXNhYmxlZCBmcm9tIHRoaXMgcG9pbnQgb253YXJkcywgc2luY2Ug Y29sdW1uLXRyYWNraW5nIHdhcyBkaXNhYmxlZCBkdWUgdG8gdGhlIHNpemUgb2YgdGhlIGNvZGUv aGVhZGVycwogIDE0NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRyLCAmazItPnNy Y19hZGRyLCAxNikKICAgICAgfCAgICAgICAgIF5+Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6 OTogbm90ZTogYWRkaW5nIOKAmC1mbGFyZ2Utc291cmNlLWZpbGVz4oCZIHdpbGwgYWxsb3cgZm9y IG1vcmUgY29sdW1uLXRyYWNraW5nIHN1cHBvcnQsIGF0IHRoZSBleHBlbnNlIG9mIGNvbXBpbGF0 aW9uIHRpbWUgYW5kIG1lbW9yeQouLi9saWIvZ3JvL2dyb190Y3A2LmM6MjY2OjE6IGVycm9yOiBl eHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAgMjY2IHwg fQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vZ3JvX3RjcDYuYzo5 OgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0OjIwOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKA mHZ0Y19mbG93X2RpZmbigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDE0NCB8ICAgICAg ICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuYzoyNjY6MTogZXJyb3I6IG5vIHJldHVy biBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yPXJldHVy bi10eXBlXQogIDI2NiB8IH0KICAgICAgfCBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0 ZWQgYXMgZXJyb3JzClsyMTcvMjIxNV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZl bnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzIxOC8yMjE1XSBDb21waWxpbmcg QyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNC5jLm8KWzIxOS8yMjE1XSBD b21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyLmMubwpbMjIwLzIyMTVdIEdlbmVyYXRpbmcgbGliL2NyeXB0b2Rl di5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0 dXJlIG91dHB1dCkKWzIyMS8yMjE1XSBHZW5lcmF0aW5nIGxpYi9ldGhkZXYuc3ltX2NoayB3aXRo IGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpCm5p bmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxNToKT1M6IFJIRUw4Ny02NApU YXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogbGliL2xpYnJ0ZV9ncm8u YS5wL2dyb19ydGVfZ3JvLmMubyAKZ2NjIC1JbGliL2xpYnJ0ZV9ncm8uYS5wIC1JbGliIC1JLi4v bGliIC1JbGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcg LUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2lu Y2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1J Li4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21t b24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1J bGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVs ZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1JLi4vbGliL25l dCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29s IC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtZmRp YWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxs IC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmgg LVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdm b3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBl cyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRo IC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmlu Z3MgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVy cyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxf QVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9H X0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19y dGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMuby5kIC1vIGxp Yi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGliL2dyby9ydGVfZ3JvLmMK SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3Jv L2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uIOKAmGlzX3NhbWVfdGNwNl9mbG934oCZOgouLi9saWIv Z3JvL2dyb190Y3A2Lmg6MTQ2OjQ2OiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCY cmV0dXJu4oCZCiAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRyLCAmazItPnNyY19hZGRyLCAxNikK ICAgICB+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgcmV0dXJuIDA7CiAgIH5+ fn5+fiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi4uL2xpYi9ncm8vZ3Jv X3RjcDYuaDoxNDY6MjogZXJyb3I6IHRoaXMg4oCYaWbigJkgY2xhdXNlIGRvZXMgbm90IGd1YXJk Li4uIFstV2Vycm9yPW1pc2xlYWRpbmctaW5kZW50YXRpb25dCiAgaWYgKG1lbWNtcCgmazEtPnNy Y19hZGRyLCAmazItPnNyY19hZGRyLCAxNikKICBefgouLi9saWIvZ3JvL3J0ZV9ncm8uYzo1MTA6 IG5vdGU6IC4uLnRoaXMgc3RhdGVtZW50LCBidXQgdGhlIGxhdHRlciBpcyBtaXNsZWFkaW5nbHkg aW5kZW50ZWQgYXMgaWYgaXQgd2VyZSBndWFyZGVkIGJ5IHRoZSDigJhpZuKAmQogfQogCi4uL2xp Yi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjogZXhwZWN0ZWQgZGVjbGFyYXRpb24gb3Igc3Rh dGVtZW50IGF0IGVuZCBvZiBpbnB1dAogfQogXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGli L2dyby9ydGVfZ3JvLmM6MTE6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MTM6IGVycm9yOiB1 bnVzZWQgdmFyaWFibGUg4oCYdnRjX2Zsb3dfZGlmZuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFi bGVdCiAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fgouLi9saWIvZ3JvL3J0ZV9ncm8uYzo1MTA6MTogZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQg aW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yPXJldHVybi10eXBlXQogfQog XgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMjE0LzMwMjVdIENv bXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dwdWRldi5hLnAvZ3B1ZGV2X2dwdWRldi5jLm8K WzIxNS8zMDI1XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZl bnRkZXZfcnRlX2V2ZW50X3RpbWVyX2FkYXB0ZXIuYy5vClsyMTYvMzAyNV0gQ29tcGlsaW5nIEMg b2JqZWN0IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcF9pbnRlcm5hbC5jLm8KWzIxNy8z MDI1XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNC5j Lm8KWzIxOC8zMDI1XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAv ZXZlbnRkZXZfcnRlX2V2ZW50ZGV2LmMubwpbMjE5LzMwMjVdIENvbXBpbGluZyBDIG9iamVjdCBs aWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIu Yy5vClsyMjAvMzAyNV0gR2VuZXJhdGluZyBjcnlwdG9kZXYuc3ltX2NoayB3aXRoIGEgbWVzb25f ZXhlLnB5IGN1c3RvbSBjb21tYW5kClsyMjEvMzAyNV0gR2VuZXJhdGluZyBlYWwuc3ltX2NoayB3 aXRoIGEgbWVzb25fZXhlLnB5IGN1c3RvbSBjb21tYW5kClsyMjIvMzAyNV0gR2VuZXJhdGluZyBl dGhkZXYuc3ltX2NoayB3aXRoIGEgbWVzb25fZXhlLnB5IGN1c3RvbSBjb21tYW5kCm5pbmphOiBi dWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxNjoKT1M6IFVCMjIwNC02NApUYXJnZXQ6 IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjKzE2Ynl0ZQpGQUlMRUQ6IGxpYi9saWJydGVfZ3Jv LmEucC9ncm9fcnRlX2dyby5jLm8gCmdjYyAtSWxpYi9saWJydGVfZ3JvLmEucCAtSWxpYiAtSS4u L2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmln IC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9p bmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAt SS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29t bW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAt SWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3Rl bGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGliL25ldCAtSS4uL2xpYi9u ZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9v bCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIgLWZk aWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2lu dmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2Fz dC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0 LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdu ZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3Np Z24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1X bm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8t bWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05V X1NPVVJDRSAtRFJURV9MSUJSVEVfSTQwRV8xNkJZVEVfUlhfREVTQyAtRFJURV9MSUJSVEVfSUNF XzE2QllURV9SWF9ERVNDIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxf QVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9H X0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19y dGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMuby5kIC1vIGxp Yi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGliL2dyby9ydGVfZ3JvLmMK SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3Jv L2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uIOKAmGlzX3NhbWVfdGNwNl9mbG934oCZOgouLi9saWIv Z3JvL2dyb190Y3A2Lmg6MTQ2OjUzOiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCY cmV0dXJu4oCZCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+ c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgICAgfiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICkKICAxNDcgfCAgICAgICAgICAgICAgICAgcmV0dXJuIDA7 CiAgICAgIHwgICAgICAgICAgICAgICAgIH5+fn5+fiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBub3RlOiDigJgtV21pc2xlYWRpbmct aW5kZW50YXRpb27igJkgaXMgZGlzYWJsZWQgZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMsIHNpbmNl IGNvbHVtbi10cmFja2luZyB3YXMgZGlzYWJsZWQgZHVlIHRvIHRoZSBzaXplIG9mIHRoZSBjb2Rl L2hlYWRlcnMKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5z cmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICBefgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2 Ojk6IG5vdGU6IGFkZGluZyDigJgtZmxhcmdlLXNvdXJjZS1maWxlc+KAmSB3aWxsIGFsbG93IGZv ciBtb3JlIGNvbHVtbi10cmFja2luZyBzdXBwb3J0LCBhdCB0aGUgZXhwZW5zZSBvZiBjb21waWxh dGlvbiB0aW1lIGFuZCBtZW1vcnkKLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBl eHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAgNTEwIHwg fQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjEx OgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0OjIwOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKA mHZ0Y19mbG93X2RpZmbigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDE0NCB8ICAgICAg ICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjogbm8gcmV0dXJu IHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJu LXR5cGVdCiAgNTEwIHwgfQogICAgICB8IF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRl ZCBhcyBlcnJvcnMKWzI1OS8zMTYzXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncHVk ZXYuYS5wL2dwdWRldl9ncHVkZXYuYy5vClsyNjAvMzE2M10gQ29tcGlsaW5nIEMgb2JqZWN0IGxp Yi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDYuYy5vCkZBSUxFRDogbGliL2xpYnJ0ZV9ncm8u YS5wL2dyb19ncm9fdGNwNi5jLm8gCmdjYyAtSWxpYi9saWJydGVfZ3JvLmEucCAtSWxpYiAtSS4u L2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmln IC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9p bmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAt SS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29t bW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAt SWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3Rl bGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGliL25ldCAtSS4uL2xpYi9u ZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9v bCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIgLWZk aWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2lu dmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2Fz dC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0 LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdu ZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3Np Z24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1X bm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8t bWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05V X1NPVVJDRSAtRFJURV9MSUJSVEVfSTQwRV8xNkJZVEVfUlhfREVTQyAtRFJURV9MSUJSVEVfSUNF XzE2QllURV9SWF9ERVNDIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxf QVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9H X0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19n cm9fdGNwNi5jLm8gLU1GIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDYuYy5vLmQgLW8g bGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNi5jLm8gLWMgLi4vbGliL2dyby9ncm9fdGNw Ni5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZ3JvL2dyb190Y3A2LmM6OToKLi4vbGli L2dyby9ncm9fdGNwNi5oOiBJbiBmdW5jdGlvbiDigJhpc19zYW1lX3RjcDZfZmxvd+KAmToKLi4v bGliL2dyby9ncm9fdGNwNi5oOjE0Njo1MzogZXJyb3I6IGV4cGVjdGVkIOKAmCnigJkgYmVmb3Jl IOKAmHJldHVybuKAmQogIDE0NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRyLCAm azItPnNyY19hZGRyLCAxNikKICAgICAgfCAgICAgICAgICAgIH4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgMTQ3IHwgICAgICAgICAgICAgICAgIHJldHVy biAwOwogICAgICB8ICAgICAgICAgICAgICAgICB+fn5+fn4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6OTogbm90ZTog4oCYLVdtaXNsZWFk aW5nLWluZGVudGF0aW9u4oCZIGlzIGRpc2FibGVkIGZyb20gdGhpcyBwb2ludCBvbndhcmRzLCBz aW5jZSBjb2x1bW4tdHJhY2tpbmcgd2FzIGRpc2FibGVkIGR1ZSB0byB0aGUgc2l6ZSBvZiB0aGUg Y29kZS9oZWFkZXJzCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZr Mi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgXn4KLi4vbGliL2dyby9ncm9fdGNwNi5o OjE0Njo5OiBub3RlOiBhZGRpbmcg4oCYLWZsYXJnZS1zb3VyY2UtZmlsZXPigJkgd2lsbCBhbGxv dyBmb3IgbW9yZSBjb2x1bW4tdHJhY2tpbmcgc3VwcG9ydCwgYXQgdGhlIGV4cGVuc2Ugb2YgY29t cGlsYXRpb24gdGltZSBhbmQgbWVtb3J5Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuYzoyNjY6MTogZXJy b3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIG9yIHN0YXRlbWVudCBhdCBlbmQgb2YgaW5wdXQKICAy NjYgfCB9CiAgICAgIHwgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9ncm9fdGNw Ni5jOjk6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MjA6IGVycm9yOiB1bnVzZWQgdmFyaWFi bGUg4oCYdnRjX2Zsb3dfZGlmZuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgMTQ0IHwg ICAgICAgICBydGVfYmUzMl90IHZ0Y19mbG93X2RpZmY7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn4KLi4vbGliL2dyby9ncm9fdGNwNi5jOjI2NjoxOiBlcnJvcjogbm8g cmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3I9 cmV0dXJuLXR5cGVdCiAgMjY2IHwgfQogICAgICB8IF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcg dHJlYXRlZCBhcyBlcnJvcnMKWzI2MS8zMTYzXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0 ZV9ncm8uYS5wL2dyb19ncm9fdGNwX2ludGVybmFsLmMubwpbMjYyLzMxNjNdIENvbXBpbGluZyBD IG9iamVjdCBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dyb190Y3A0LmMubwpbMjYzLzMxNjNdIENv bXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dyb191ZHA0LmMubwpbMjY0 LzMxNjNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRl dl9ydGVfZXZlbnRfdGltZXJfYWRhcHRlci5jLm8KWzI2NS8zMTYzXSBDb21waWxpbmcgQyBvYmpl Y3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50X2V0aF9yeF9hZGFw dGVyLmMubwpbMjY2LzMxNjNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2 LmEucC9ldmVudGRldl9ydGVfZXZlbnRkZXYuYy5vClsyNjcvMzE2M10gR2VuZXJhdGluZyBsaWIv Y3J5cHRvZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29u IHRvIGNhcHR1cmUgb3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxl ZCAjMTc6Ck9TOiBVQjIyMDQtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpG QUlMRUQ6IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gCmdjYyAtSWxpYi9saWJy dGVfZ3JvLmEucCAtSWxpYiAtSS4uL2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4u IC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNs dWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1J bGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2Nv bW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3Zh cmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIv dGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2 IC1JbGliL25ldCAtSS4uL2xpYi9uZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21l bXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0 ZXIgLUkuLi9saWIvbWV0ZXIgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZT RVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1 ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1h dC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdt aXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9u IC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5k ZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFj a2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJv LWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1df RVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0 aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9bGliLmdybyAtTUQgLU1RIGxpYi9saWJydGVf Z3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLU1GIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dy by5jLm8uZCAtbyBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIC1jIC4uL2xpYi9n cm8vcnRlX2dyby5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZ3JvL3J0ZV9ncm8uYzox MToKLi4vbGliL2dyby9ncm9fdGNwNi5oOiBJbiBmdW5jdGlvbiDigJhpc19zYW1lX3RjcDZfZmxv d+KAmToKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo1MzogZXJyb3I6IGV4cGVjdGVkIOKAmCni gJkgYmVmb3JlIOKAmHJldHVybuKAmQogIDE0NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNy Y19hZGRyLCAmazItPnNyY19hZGRyLCAxNikKICAgICAgfCAgICAgICAgICAgIH4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgMTQ3IHwgICAgICAgICAgICAg ICAgIHJldHVybiAwOwogICAgICB8ICAgICAgICAgICAgICAgICB+fn5+fn4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6OTogbm90ZTog4oCY LVdtaXNsZWFkaW5nLWluZGVudGF0aW9u4oCZIGlzIGRpc2FibGVkIGZyb20gdGhpcyBwb2ludCBv bndhcmRzLCBzaW5jZSBjb2x1bW4tdHJhY2tpbmcgd2FzIGRpc2FibGVkIGR1ZSB0byB0aGUgc2l6 ZSBvZiB0aGUgY29kZS9oZWFkZXJzCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3Jj X2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgXn4KLi4vbGliL2dyby9n cm9fdGNwNi5oOjE0Njo5OiBub3RlOiBhZGRpbmcg4oCYLWZsYXJnZS1zb3VyY2UtZmlsZXPigJkg d2lsbCBhbGxvdyBmb3IgbW9yZSBjb2x1bW4tdHJhY2tpbmcgc3VwcG9ydCwgYXQgdGhlIGV4cGVu c2Ugb2YgY29tcGlsYXRpb24gdGltZSBhbmQgbWVtb3J5Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUx MDoxOiBlcnJvcjogZXhwZWN0ZWQgZGVjbGFyYXRpb24gb3Igc3RhdGVtZW50IGF0IGVuZCBvZiBp bnB1dAogIDUxMCB8IH0KICAgICAgfCBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZ3Jv L3J0ZV9ncm8uYzoxMToKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0NDoyMDogZXJyb3I6IHVudXNl ZCB2YXJpYWJsZSDigJh2dGNfZmxvd19kaWZm4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0K ICAxNDQgfCAgICAgICAgIHJ0ZV9iZTMyX3QgdnRjX2Zsb3dfZGlmZjsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fgouLi9saWIvZ3JvL3J0ZV9ncm8uYzo1MTA6MTogZXJy b3I6IG5vIHJldHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFst V2Vycm9yPXJldHVybi10eXBlXQogIDUxMCB8IH0KICAgICAgfCBeCmNjMTogYWxsIHdhcm5pbmdz IGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyMzgvMzE1OV0gR2VuZXJhdGluZyBzeW1ib2wgZmls ZSBsaWIvbGlicnRlX21idWYuc28uMjMuMi5wL2xpYnJ0ZV9tYnVmLnNvLjIzLjIuc3ltYm9scwpb MjM5LzMxNTldIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dwdWRldi5hLnAvZ3B1ZGV2 X2dwdWRldi5jLm8KWzI0MC8zMTU5XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8u YS5wL2dyb19ncm9fdGNwX2ludGVybmFsLmMubwpbMjQxLzMxNTldIENvbXBpbGluZyBDIG9iamVj dCBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dyb190Y3A0LmMubwpbMjQyLzMxNTldIENvbXBpbGlu ZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfdGlt ZXJfYWRhcHRlci5jLm8KWzI0My8zMTU5XSBHZW5lcmF0aW5nIGxpYi9ldGhkZXYuc3ltX2NoayB3 aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQp ClsyNDQvMzE1OV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2 ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzI0NS8zMTU5XSBDb21waWxpbmcgQyBvYmplY3QgbGli L2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMu bwpbMjQ2LzMxNTldIEdlbmVyYXRpbmcgbGliL2NyeXB0b2Rldi5zeW1fY2hrIHdpdGggYSBjdXN0 b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKbmluamE6IGJ1 aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE4OgpPUzogVUIyMjA0LTY0ClRhcmdldDog eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGxpYi9saWJydGVfZ3JvLmEucC9n cm9fcnRlX2dyby5jLm8gCmNsYW5nIC1JbGliL2xpYnJ0ZV9ncm8uYS5wIC1JbGliIC1JLi4vbGli IC1JbGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUls aWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1 ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4v bGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24g LUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGli L21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1l dHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAt SWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1J bGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtZmNvbG9y LWRpYWdub3N0aWNzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAt V2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2Rl cHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAt V21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVy bnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUg LVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mt b2YtcGFja2VkLW1lbWJlciAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9T T1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExP V19JTlRFUk5BTF9BUEkgLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1EUlRFX0FO Tk9UQVRFX0xPQ0tTIC1XdGhyZWFkLXNhZmV0eSAtTUQgLU1RIGxpYi9saWJydGVfZ3JvLmEucC9n cm9fcnRlX2dyby5jLm8gLU1GIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8uZCAt byBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIC1jIC4uL2xpYi9ncm8vcnRlX2dy by5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZ3JvL3J0ZV9ncm8uYzoxMToKLi4vbGli L2dyby9ncm9fdGNwNi5oOjE0NzozOiBlcnJvcjogZXhwZWN0ZWQgJyknCiAgICAgICAgICAgICAg ICByZXR1cm4gMDsKICAgICAgICAgICAgICAgIF4KLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo1 OiBub3RlOiB0byBtYXRjaCB0aGlzICcoJwogICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRk ciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgICAgICAgXgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6 MTQ5OjM6IGVycm9yOiBleHBlY3RlZCAnKScKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAg ICAgICAgICAgICAgXgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ4OjU6IG5vdGU6IHRvIG1hdGNo IHRoaXMgJygnCiAgICAgICAgaWYgKG1lbWNtcCgmazEtPmRzdF9hZGRyLCAmazItPmRzdF9hZGRy LCAxNikKICAgICAgICAgICBeCjIgZXJyb3JzIGdlbmVyYXRlZC4KWzI0NC8zMTU5XSBMaW5raW5n IHRhcmdldCBsaWIvbGlicnRlX25ldC5zby4yMy4yClsyNDUvMzE1OV0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF90aW1lcl9hZGFw dGVyLmMubwpbMjQ2LzMxNTldIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5hLnAv Z3JvX2dyb190Y3BfaW50ZXJuYWwuYy5vClsyNDcvMzE1OV0gTGlua2luZyB0YXJnZXQgbGliL2xp YnJ0ZV9iYmRldi5zby4yMy4yClsyNDgvMzE1OV0gTGlua2luZyB0YXJnZXQgbGliL2xpYnJ0ZV9j b21wcmVzc2Rldi5zby4yMy4yClsyNDkvMzE1OV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJy dGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzI1MC8zMTU5XSBDb21w aWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNi5jLm8KRkFJTEVE OiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX2dyb190Y3A2LmMubyAKY2xhbmcgLUlsaWIvbGlicnRl X2dyby5hLnAgLUlsaWIgLUkuLi9saWIgLUlsaWIvZ3JvIC1JLi4vbGliL2dybyAtSS4gLUkuLiAt SWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVk ZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxp Yi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21t b24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJn cyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3Rl bGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAt SWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1w b29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL21ldGVy IC1JLi4vbGliL21ldGVyIC1mY29sb3ItZGlhZ25vc3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02 NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2Nv bmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRl cmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXBy b3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRl ci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0 ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVs ZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1df RVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVGQVVMVF9M T0dUWVBFPWxpYi5ncm8gLURSVEVfQU5OT1RBVEVfTE9DS1MgLVd0aHJlYWQtc2FmZXR5IC1NRCAt TVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNi5jLm8gLU1GIGxpYi9saWJydGVfZ3Jv LmEucC9ncm9fZ3JvX3RjcDYuYy5vLmQgLW8gbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNw Ni5jLm8gLWMgLi4vbGliL2dyby9ncm9fdGNwNi5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9s aWIvZ3JvL2dyb190Y3A2LmM6OToKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0NzozOiBlcnJvcjog ZXhwZWN0ZWQgJyknCiAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgIF4K Li4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo1OiBub3RlOiB0byBtYXRjaCB0aGlzICcoJwogICAg ICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgICAg ICAgXgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ5OjM6IGVycm9yOiBleHBlY3RlZCAnKScKICAg ICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgICAgXgouLi9saWIvZ3JvL2dyb190 Y3A2Lmg6MTQ4OjU6IG5vdGU6IHRvIG1hdGNoIHRoaXMgJygnCiAgICAgICAgaWYgKG1lbWNtcCgm azEtPmRzdF9hZGRyLCAmazItPmRzdF9hZGRyLCAxNikKICAgICAgICAgICBeCjIgZXJyb3JzIGdl bmVyYXRlZC4KWzI1MS8zMTU5XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5w L2dyb19ncm9fdGNwNC5jLm8KWzI1Mi8zMTU5XSBHZW5lcmF0aW5nIGxpYi9jcnlwdG9kZXYuc3lt X2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBv dXRwdXQpCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxOToKT1M6IFVC MjIwNC02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZG9jCkZBSUxFRDogbGliL2xp YnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAKZ2NjIC1JbGliL2xpYnJ0ZV9ncm8uYS5wIC1J bGliIC1JLi4vbGliIC1JbGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25maWcgLUku Li9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFs L2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9p bmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGli L2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIv a3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUku Li9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbmV0IC1J Li4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xp Yi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4uL2xpYi9t ZXRlciAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1X YWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmln LmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwg LVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90 eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFy aXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0 cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWdu ZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5k cyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxf QVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9H X0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19y dGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMuby5kIC1vIGxp Yi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGliL2dyby9ydGVfZ3JvLmMK SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIvZ3Jv L2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uIOKAmGlzX3NhbWVfdGNwNl9mbG934oCZOgouLi9saWIv Z3JvL2dyb190Y3A2Lmg6MTQ2OjUzOiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCY cmV0dXJu4oCZCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+ c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgICAgfiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICkKICAxNDcgfCAgICAgICAgICAgICAgICAgcmV0dXJuIDA7 CiAgICAgIHwgICAgICAgICAgICAgICAgIH5+fn5+fiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBub3RlOiDigJgtV21pc2xlYWRpbmct aW5kZW50YXRpb27igJkgaXMgZGlzYWJsZWQgZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMsIHNpbmNl IGNvbHVtbi10cmFja2luZyB3YXMgZGlzYWJsZWQgZHVlIHRvIHRoZSBzaXplIG9mIHRoZSBjb2Rl L2hlYWRlcnMKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwgJmsyLT5z cmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICBefgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2 Ojk6IG5vdGU6IGFkZGluZyDigJgtZmxhcmdlLXNvdXJjZS1maWxlc+KAmSB3aWxsIGFsbG93IGZv ciBtb3JlIGNvbHVtbi10cmFja2luZyBzdXBwb3J0LCBhdCB0aGUgZXhwZW5zZSBvZiBjb21waWxh dGlvbiB0aW1lIGFuZCBtZW1vcnkKLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBl eHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAgNTEwIHwg fQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjEx OgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0OjIwOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKA mHZ0Y19mbG93X2RpZmbigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDE0NCB8ICAgICAg ICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjogbm8gcmV0dXJu IHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJu LXR5cGVdCiAgNTEwIHwgfQogICAgICB8IF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRl ZCBhcyBlcnJvcnMKWzIyNi8zMTI2XSBMaW5raW5nIHRhcmdldCBsaWIvbGlicnRlX3BjaS5zby4y My4yClsyMjcvMzEyNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3B1ZGV2LmEucC9n cHVkZXZfZ3B1ZGV2LmMubwpbMjI4LzMxMjZdIEdlbmVyYXRpbmcgc3ltYm9sIGZpbGUgbGliL2xp YnJ0ZV9yaW5nLnNvLjIzLjIucC9saWJydGVfcmluZy5zby4yMy4yLnN5bWJvbHMKWzIyOS8zMTI2 XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRl X2V2ZW50X3RpbWVyX2FkYXB0ZXIuYy5vClsyMzAvMzEyNl0gR2VuZXJhdGluZyBzeW1ib2wgZmls ZSBsaWIvbGlicnRlX21ldGVyLnNvLjIzLjIucC9saWJydGVfbWV0ZXIuc28uMjMuMi5zeW1ib2xz ClsyMzEvMzEyNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2 ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8KWzIzMi8zMTI2XSBDb21waWxpbmcgQyBvYmplY3QgbGli L2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMu bwpbMjMzLzMxMjZdIEdlbmVyYXRpbmcgbGliL2NyeXB0b2Rldi5zeW1fY2hrIHdpdGggYSBjdXN0 b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzIzNC8zMTI2 XSBHZW5lcmF0aW5nIGxpYi9ldGhkZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdy YXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpCm5pbmphOiBidWlsZCBzdG9wcGVkCgoK CgoqQnVpbGQgRmFpbGVkICMyMDoKT1M6IENlbnRPUzc5LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5v IApnY2MgLUlsaWIvbGlicnRlX2dyby5hLnAgLUlsaWIgLUkuLi9saWIgLUlsaWIvZ3JvIC1JLi4v bGliL2dybyAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAt SS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwv bGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNs dWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9s aWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xp Yi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRoZGV2 IC1JLi4vbGliL2V0aGRldiAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JbGliL21idWYgLUkuLi9s aWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xp Yi9yaW5nIC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQg LVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25m aWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJh bCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXIt YXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUt c3RyaW5ncyAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQ SUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5B TF9BUEkgLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0 ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVf Z3JvLmMuby5kIC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGli L2dyby9ydGVfZ3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5j OjExOjA6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDogSW4gZnVuY3Rpb24gJ2lzX3NhbWVfdGNwNl9m bG93JzoKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0NzozOiBlcnJvcjogZXhwZWN0ZWQgJyknIGJl Zm9yZSAncmV0dXJuJwogICByZXR1cm4gMDsKICAgXgouLi9saWIvZ3JvL3J0ZV9ncm8uYzo1MTA6 MTogZXJyb3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIG9yIHN0YXRlbWVudCBhdCBlbmQgb2YgaW5w dXQKIH0KIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOjA6 Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MTM6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ3Z0 Y19mbG93X2RpZmYnIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBydGVfYmUzMl90IHZ0Y19m bG93X2RpZmY7CiAgICAgICAgICAgICBeCi4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJv cjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1X ZXJyb3I9cmV0dXJuLXR5cGVdCiB9CiBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQg YXMgZXJyb3JzClsyMTIvMzEwNF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRk ZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5jLm8KWzIxMy8zMTA0XSBD b21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwX2ludGVybmFs LmMubwpbMjE0LzMxMDRdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dwdWRldi5hLnAv Z3B1ZGV2X2dwdWRldi5jLm8KWzIxNS8zMTA0XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0 ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50X3RpbWVyX2FkYXB0ZXIuYy5vClsyMTYv MzEwNF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2 X3J0ZV9ldmVudGRldi5jLm8KWzIxNy8zMTA0XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0 ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMubwpbMjE4 LzMxMDRdIEdlbmVyYXRpbmcgbGliL2NyeXB0b2Rldi5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29t bWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzIxOS8zMTA0XSBHZW5l cmF0aW5nIGxpYi9ldGhkZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQg YnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsyMjAvMzEwNF0gR2VuZXJhdGluZyBsaWIvZWFs LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1 cmUgb3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMjE6Ck9T OiBSSEVMOTItNjRSdApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDog bGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAKZ2NjIC1JbGliL2xpYnJ0ZV9ncm8u YS5wIC1JbGliIC1JLi4vbGliIC1JbGliL2dybyAtSS4uL2xpYi9ncm8gLUkuIC1JLi4gLUljb25m aWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUls aWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFs L3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1J Li4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUku Li9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0 cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIv bmV0IC1JLi4vbGliL25ldCAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAt SS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9tZXRlciAtSS4u L2xpYi9tZXRlciAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRT PTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVf Y29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxp dGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3Npbmct cHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2lu dGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dy aXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90 LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3Ro LWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklN RU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURS VEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1saWIuZ3JvIC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5w L2dyb19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMuby5k IC1vIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGliL2dyby9ydGVf Z3JvLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9s aWIvZ3JvL2dyb190Y3A2Lmg6IEluIGZ1bmN0aW9uIOKAmGlzX3NhbWVfdGNwNl9mbG934oCZOgou Li9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2OjUzOiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZv cmUg4oCYcmV0dXJu4oCZCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIs ICZrMi0+c3JjX2FkZHIsIDE2KQogICAgICB8ICAgICAgICAgICAgfiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAxNDcgfCAgICAgICAgICAgICAgICAgcmV0 dXJuIDA7CiAgICAgIHwgICAgICAgICAgICAgICAgIH5+fn5+fiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBub3RlOiDigJgtV21pc2xl YWRpbmctaW5kZW50YXRpb27igJkgaXMgZGlzYWJsZWQgZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMs IHNpbmNlIGNvbHVtbi10cmFja2luZyB3YXMgZGlzYWJsZWQgZHVlIHRvIHRoZSBzaXplIG9mIHRo ZSBjb2RlL2hlYWRlcnMKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRkciwg JmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICBefgouLi9saWIvZ3JvL2dyb190Y3A2 Lmg6MTQ2Ojk6IG5vdGU6IGFkZGluZyDigJgtZmxhcmdlLXNvdXJjZS1maWxlc+KAmSB3aWxsIGFs bG93IGZvciBtb3JlIGNvbHVtbi10cmFja2luZyBzdXBwb3J0LCBhdCB0aGUgZXhwZW5zZSBvZiBj b21waWxhdGlvbiB0aW1lIGFuZCBtZW1vcnkKLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVy cm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAg NTEwIHwgfQogICAgICB8IF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dy by5jOjExOgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ0OjIwOiBlcnJvcjogdW51c2VkIHZhcmlh YmxlIOKAmHZ0Y19mbG93X2RpZmbigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDE0NCB8 ICAgICAgICAgcnRlX2JlMzJfdCB2dGNfZmxvd19kaWZmOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjogbm8g cmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3I9 cmV0dXJuLXR5cGVdCiAgNTEwIHwgfQogICAgICB8IF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcg dHJlYXRlZCBhcyBlcnJvcnMKWzIxNi8zMTExXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0 ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50X3RpbWVyX2FkYXB0ZXIuYy5vClsyMTcv MzExMV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3B1ZGV2LmEucC9ncHVkZXZfZ3B1 ZGV2LmMubwpbMjE4LzMxMTFdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5hLnAv Z3JvX2dyb190Y3BfaW50ZXJuYWwuYy5vClsyMTkvMzExMV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxp Yi9saWJydGVfZ3JvLmEucC9ncm9fZ3JvX3RjcDQuYy5vClsyMjAvMzExMV0gQ29tcGlsaW5nIEMg b2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVudGRldi5jLm8K WzIyMS8zMTExXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZl bnRkZXZfcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMubwpbMjIyLzMxMTFdIEdlbmVyYXRpbmcg bGliL2NyeXB0b2Rldi5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBt ZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzIyMy8zMTExXSBHZW5lcmF0aW5nIGxpYi9lYWwuc3lt X2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBv dXRwdXQpClsyMjQvMzExMV0gR2VuZXJhdGluZyBsaWIvZXRoZGV2LnN5bV9jaGsgd2l0aCBhIGN1 c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpuaW5qYTog YnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMjI6Ck9TOiBVQjIzMDQtNjQKVGFyZ2V0 OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGxpYi9saWJydGVfZ3JvLmEucC9n cm9fcnRlX2dyby5jLm8gCmdjYyAtSWxpYi9saWJydGVfZ3JvLmEucCAtSWxpYiAtSS4uL2xpYiAt SWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGli L2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRl IC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xp Yi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1J bGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9t ZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRy eSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGliL25ldCAtSS4uL2xpYi9uZXQgLUls aWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxp Yi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIgLWZkaWFnbm9z dGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQt cGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFs IC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3Vy aXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQt ZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29t cGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRk cmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2lu Zy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJD RSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lO VEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZ UEU9bGliLmdybyAtTUQgLU1RIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLU1G IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8uZCAtbyBsaWIvbGlicnRlX2dyby5h LnAvZ3JvX3J0ZV9ncm8uYy5vIC1jIC4uL2xpYi9ncm8vcnRlX2dyby5jCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi9saWIvZ3JvL3J0ZV9ncm8uYzoxMToKLi4vbGliL2dyby9ncm9fdGNwNi5oOiBJ biBmdW5jdGlvbiDigJhpc19zYW1lX3RjcDZfZmxvd+KAmToKLi4vbGliL2dyby9ncm9fdGNwNi5o OjE0Njo1MzogZXJyb3I6IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKAmHJldHVybuKAmQogIDE0 NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRyLCAmazItPnNyY19hZGRyLCAxNikK ICAgICAgfCAgICAgICAgICAgIH4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApCiAgMTQ3IHwgICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICB8ICAgICAg ICAgICAgICAgICB+fn5+fn4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi4uL2xpYi9n cm8vZ3JvX3RjcDYuaDoxNDY6OTogbm90ZTog4oCYLVdtaXNsZWFkaW5nLWluZGVudGF0aW9u4oCZ IGlzIGRpc2FibGVkIGZyb20gdGhpcyBwb2ludCBvbndhcmRzLCBzaW5jZSBjb2x1bW4tdHJhY2tp bmcgd2FzIGRpc2FibGVkIGR1ZSB0byB0aGUgc2l6ZSBvZiB0aGUgY29kZS9oZWFkZXJzCiAgMTQ2 IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+c3JjX2FkZHIsIDE2KQog ICAgICB8ICAgICAgICAgXn4KLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBub3RlOiBhZGRp bmcg4oCYLWZsYXJnZS1zb3VyY2UtZmlsZXPigJkgd2lsbCBhbGxvdyBmb3IgbW9yZSBjb2x1bW4t dHJhY2tpbmcgc3VwcG9ydCwgYXQgdGhlIGV4cGVuc2Ugb2YgY29tcGlsYXRpb24gdGltZSBhbmQg bWVtb3J5Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjogZXhwZWN0ZWQgZGVjbGFy YXRpb24gb3Igc3RhdGVtZW50IGF0IGVuZCBvZiBpbnB1dAogIDUxMCB8IH0KICAgICAgfCBeCi4u L2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MjA6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYdnRj X2Zsb3dfZGlmZuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgMTQ0IHwgICAgICAgICBy dGVfYmUzMl90IHZ0Y19mbG93X2RpZmY7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn4KLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBubyByZXR1cm4gc3Rh dGVtZW50IGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcj1yZXR1cm4tdHlw ZV0KICA1MTAgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwpbMjQ0LzMxNTldIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2 LmEucC9ldmVudGRldl9ydGVfZXZlbnRfY3J5cHRvX2FkYXB0ZXIuYy5vClsyNDUvMzE1OV0gQ29t cGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZXZlbnRkZXYuYS5wL2V2ZW50ZGV2X3J0ZV9ldmVu dF90aW1lcl9hZGFwdGVyLmMubwpbMjQ2LzMxNTldIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGli cnRlX2dwdWRldi5hLnAvZ3B1ZGV2X2dwdWRldi5jLm8KWzI0Ny8zMTU5XSBDb21waWxpbmcgQyBv YmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwX2ludGVybmFsLmMubwpbMjQ4LzMx NTldIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9y dGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYy5vClsyNDkvMzE1OV0gR2VuZXJhdGluZyBsaWIvZXRo ZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNh cHR1cmUgb3V0cHV0KQpbMjUwLzMxNTldIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2 ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRkZXYuYy5vClsyNTEvMzE1OV0gR2VuZXJhdGlu ZyBsaWIvY3J5cHRvZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5 IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbMjUyLzMxNTldIENvbXBpbGluZyBDIG9iamVjdCBs aWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIu Yy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMyMzoKT1M6IEZDMzgt NjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGxpYi9saWJydGVf Z3JvLmEucC9ncm9fcnRlX2dyby5jLm8gCmdjYyAtSWxpYi9saWJydGVfZ3JvLmEucCAtSWxpYiAt SS4uL2xpYiAtSWxpYi9ncm8gLUkuLi9saWIvZ3JvIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29u ZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51 eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVk ZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwv Y29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJn cyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGli L3RlbGVtZXRyeSAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGliL25ldCAtSS4uL2xp Yi9uZXQgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVt cG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIg LWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAt V2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1X Y2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9y bWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMg LVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAt V3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdz IC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1X bm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURf R05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAt REFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZB VUxUX0xPR1RZUEU9bGliLmdybyAtTUQgLU1RIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dy by5jLm8gLU1GIGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8uZCAtbyBsaWIvbGli cnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIC1jIC4uL2xpYi9ncm8vcnRlX2dyby5jCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZ3JvL3J0ZV9ncm8uYzoxMToKLi4vbGliL2dyby9ncm9f dGNwNi5oOiBJbiBmdW5jdGlvbiDigJhpc19zYW1lX3RjcDZfZmxvd+KAmToKLi4vbGliL2dyby9n cm9fdGNwNi5oOjE0Njo1MzogZXJyb3I6IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKAmHJldHVy buKAmQogIDE0NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRyLCAmazItPnNyY19h ZGRyLCAxNikKICAgICAgfCAgICAgICAgICAgIH4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgMTQ3IHwgICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAg ICB8ICAgICAgICAgICAgICAgICB+fn5+fn4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6OTogbm90ZTog4oCYLVdtaXNsZWFkaW5nLWluZGVu dGF0aW9u4oCZIGlzIGRpc2FibGVkIGZyb20gdGhpcyBwb2ludCBvbndhcmRzLCBzaW5jZSBjb2x1 bW4tdHJhY2tpbmcgd2FzIGRpc2FibGVkIGR1ZSB0byB0aGUgc2l6ZSBvZiB0aGUgY29kZS9oZWFk ZXJzCiAgMTQ2IHwgICAgICAgICBpZiAobWVtY21wKCZrMS0+c3JjX2FkZHIsICZrMi0+c3JjX2Fk ZHIsIDE2KQogICAgICB8ICAgICAgICAgXn4KLi4vbGliL2dyby9ncm9fdGNwNi5oOjE0Njo5OiBu b3RlOiBhZGRpbmcg4oCYLWZsYXJnZS1zb3VyY2UtZmlsZXPigJkgd2lsbCBhbGxvdyBmb3IgbW9y ZSBjb2x1bW4tdHJhY2tpbmcgc3VwcG9ydCwgYXQgdGhlIGV4cGVuc2Ugb2YgY29tcGlsYXRpb24g dGltZSBhbmQgbWVtb3J5Ci4uL2xpYi9ncm8vcnRlX2dyby5jOjUxMDoxOiBlcnJvcjogZXhwZWN0 ZWQgZGVjbGFyYXRpb24gb3Igc3RhdGVtZW50IGF0IGVuZCBvZiBpbnB1dAogIDUxMCB8IH0KICAg ICAgfCBeCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MjA6IGVycm9yOiB1bnVzZWQgdmFyaWFi bGUg4oCYdnRjX2Zsb3dfZGlmZuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgMTQ0IHwg ICAgICAgICBydGVfYmUzMl90IHZ0Y19mbG93X2RpZmY7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn4KLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBubyBy ZXR1cm4gc3RhdGVtZW50IGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcj1y ZXR1cm4tdHlwZV0KICA1MTAgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwpbMjE2LzMzMjJdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRl X2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfdGltZXJfYWRhcHRlci5jLm8KWzIxNy8z MzIyXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwX2lu dGVybmFsLmMubwpbMjE4LzMzMjJdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dwdWRl di5hLnAvZ3B1ZGV2X2dwdWRldi5jLm8KWzIxOS8zMzIyXSBDb21waWxpbmcgQyBvYmplY3QgbGli L2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNC5jLm8KWzIyMC8zMzIyXSBDb21waWxpbmcgQyBv YmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50ZGV2LmMubwpb MjIxLzMzMjJdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVu dGRldl9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYy5vClsyMjIvMzMyMl0gR2VuZXJhdGluZyBs aWIvY3J5cHRvZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1l c29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbMjIzLzMzMjJdIEdlbmVyYXRpbmcgbGliL2VhbC5zeW1f Y2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91 dHB1dCkKWzIyNC8zMzIyXSBHZW5lcmF0aW5nIGxpYi9ldGhkZXYuc3ltX2NoayB3aXRoIGEgY3Vz dG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpCm5pbmphOiBi dWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMyNDoKT1M6IEZDMzgtNjQKVGFyZ2V0OiB4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkZBSUxFRDogbGliL2xpYnJ0ZV9ncm8uYS5wL2dy b19ydGVfZ3JvLmMubyAKY2xhbmcgLUlsaWIvbGlicnRlX2dyby5hLnAgLUlsaWIgLUkuLi9saWIg LUlsaWIvZ3JvIC1JLi4vbGliL2dybyAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxp Yi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVk ZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9s aWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAt SWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIv bWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0 cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1J bGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUls aWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1mY29sb3It ZGlhZ25vc3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1X ZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVw cmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1X bWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJu cyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAt V3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1v Zi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NP VVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9X X0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWxpYi5ncm8gLURSVEVfQU5O T1RBVEVfTE9DS1MgLVd0aHJlYWQtc2FmZXR5IC1NRCAtTVEgbGliL2xpYnJ0ZV9ncm8uYS5wL2dy b19ydGVfZ3JvLmMubyAtTUYgbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMuby5kIC1v IGxpYi9saWJydGVfZ3JvLmEucC9ncm9fcnRlX2dyby5jLm8gLWMgLi4vbGliL2dyby9ydGVfZ3Jv LmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9ncm8vcnRlX2dyby5jOjExOgouLi9saWIv Z3JvL2dyb190Y3A2Lmg6MTQ3OjM6IGVycm9yOiBleHBlY3RlZCAnKScKICAgICAgICAgICAgICAg IHJldHVybiAwOwogICAgICAgICAgICAgICAgXgouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2OjU6 IG5vdGU6IHRvIG1hdGNoIHRoaXMgJygnCiAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRy LCAmazItPnNyY19hZGRyLCAxNikKICAgICAgICAgICBeCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDox NDk6MzogZXJyb3I6IGV4cGVjdGVkICcpJwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAg ICAgICAgICAgICBeCi4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDg6NTogbm90ZTogdG8gbWF0Y2gg dGhpcyAnKCcKICAgICAgICBpZiAobWVtY21wKCZrMS0+ZHN0X2FkZHIsICZrMi0+ZHN0X2FkZHIs IDE2KQogICAgICAgICAgIF4KMiBlcnJvcnMgZ2VuZXJhdGVkLgpbMjE1LzMzMThdIENvbXBpbGlu ZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfdGlt ZXJfYWRhcHRlci5jLm8KWzIxNi8zMzE4XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9n cm8uYS5wL2dyb19ncm9fdGNwX2ludGVybmFsLmMubwpbMjE3LzMzMThdIENvbXBpbGluZyBDIG9i amVjdCBsaWIvbGlicnRlX2dwdWRldi5hLnAvZ3B1ZGV2X2dwdWRldi5jLm8KWzIxOC8zMzE4XSBD b21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2 ZW50ZGV2LmMubwpbMjE5LzMzMThdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2dyby5h LnAvZ3JvX2dyb190Y3A0LmMubwpbMjIwLzMzMThdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGli cnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYy5vClsy MjEvMzMxOF0gR2VuZXJhdGluZyBsaWIvZWFsLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5k ICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbMjIyLzMzMThdIEdlbmVyYXRp bmcgbGliL2NyeXB0b2Rldi5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBi eSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzIyMy8zMzE4XSBHZW5lcmF0aW5nIGxpYi9ldGhk ZXYuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2Fw dHVyZSBvdXRwdXQpCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMyNToK T1M6IFVCMjIwNC02NFJ0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVE OiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5vIApnY2MgLUlsaWIvbGlicnRlX2dy by5hLnAgLUlsaWIgLUkuLi9saWIgLUlsaWIvZ3JvIC1JLi4vbGliL2dybyAtSS4gLUkuLiAtSWNv bmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAt SWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9l YWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24g LUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAt SS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVt ZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxp Yi9uZXQgLUkuLi9saWIvbmV0IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29s IC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL21ldGVyIC1J Li4vbGliL21ldGVyIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJ VFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0 ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9u bGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3Bv aW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1X d3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1u b3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8temVyby1sZW5n dGgtYm91bmRzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVS SU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt RFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWxpYi5ncm8gLU1EIC1NUSBsaWIvbGlicnRlX2dyby5h LnAvZ3JvX3J0ZV9ncm8uYy5vIC1NRiBsaWIvbGlicnRlX2dyby5hLnAvZ3JvX3J0ZV9ncm8uYy5v LmQgLW8gbGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ydGVfZ3JvLmMubyAtYyAuLi9saWIvZ3JvL3J0 ZV9ncm8uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9ydGVfZ3JvLmM6MTE6Ci4u L2xpYi9ncm8vZ3JvX3RjcDYuaDogSW4gZnVuY3Rpb24g4oCYaXNfc2FtZV90Y3A2X2Zsb3figJk6 Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDY6NTM6IGVycm9yOiBleHBlY3RlZCDigJgp4oCZIGJl Zm9yZSDigJhyZXR1cm7igJkKICAxNDYgfCAgICAgICAgIGlmIChtZW1jbXAoJmsxLT5zcmNfYWRk ciwgJmsyLT5zcmNfYWRkciwgMTYpCiAgICAgIHwgICAgICAgICAgICB+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogIDE0NyB8ICAgICAgICAgICAgICAgICBy ZXR1cm4gMDsKICAgICAgfCAgICAgICAgICAgICAgICAgfn5+fn5+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAouLi9saWIvZ3JvL2dyb190Y3A2Lmg6MTQ2Ojk6IG5vdGU6IOKAmC1XbWlz bGVhZGluZy1pbmRlbnRhdGlvbuKAmSBpcyBkaXNhYmxlZCBmcm9tIHRoaXMgcG9pbnQgb253YXJk cywgc2luY2UgY29sdW1uLXRyYWNraW5nIHdhcyBkaXNhYmxlZCBkdWUgdG8gdGhlIHNpemUgb2Yg dGhlIGNvZGUvaGVhZGVycwogIDE0NiB8ICAgICAgICAgaWYgKG1lbWNtcCgmazEtPnNyY19hZGRy LCAmazItPnNyY19hZGRyLCAxNikKICAgICAgfCAgICAgICAgIF5+Ci4uL2xpYi9ncm8vZ3JvX3Rj cDYuaDoxNDY6OTogbm90ZTogYWRkaW5nIOKAmC1mbGFyZ2Utc291cmNlLWZpbGVz4oCZIHdpbGwg YWxsb3cgZm9yIG1vcmUgY29sdW1uLXRyYWNraW5nIHN1cHBvcnQsIGF0IHRoZSBleHBlbnNlIG9m IGNvbXBpbGF0aW9uIHRpbWUgYW5kIG1lbW9yeQouLi9saWIvZ3JvL3J0ZV9ncm8uYzo1MTA6MTog ZXJyb3I6IGV4cGVjdGVkIGRlY2xhcmF0aW9uIG9yIHN0YXRlbWVudCBhdCBlbmQgb2YgaW5wdXQK ICA1MTAgfCB9CiAgICAgIHwgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2dyby9ydGVf Z3JvLmM6MTE6Ci4uL2xpYi9ncm8vZ3JvX3RjcDYuaDoxNDQ6MjA6IGVycm9yOiB1bnVzZWQgdmFy aWFibGUg4oCYdnRjX2Zsb3dfZGlmZuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgMTQ0 IHwgICAgICAgICBydGVfYmUzMl90IHZ0Y19mbG93X2RpZmY7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn4KLi4vbGliL2dyby9ydGVfZ3JvLmM6NTEwOjE6IGVycm9yOiBu byByZXR1cm4gc3RhdGVtZW50IGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJv cj1yZXR1cm4tdHlwZV0KICA1MTAgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWlu ZyB0cmVhdGVkIGFzIGVycm9ycwpbMjIwLzMxNjNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGli cnRlX2V2ZW50ZGV2LmEucC9ldmVudGRldl9ydGVfZXZlbnRfdGltZXJfYWRhcHRlci5jLm8KWzIy MS8zMTYzXSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9ncHVkZXYuYS5wL2dwdWRldl9n cHVkZXYuYy5vClsyMjIvMzE2M10gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfZ3JvLmEu cC9ncm9fZ3JvX3RjcF9pbnRlcm5hbC5jLm8KWzIyMy8zMTYzXSBDb21waWxpbmcgQyBvYmplY3Qg bGliL2xpYnJ0ZV9ncm8uYS5wL2dyb19ncm9fdGNwNC5jLm8KWzIyNC8zMTYzXSBDb21waWxpbmcg QyBvYmplY3QgbGliL2xpYnJ0ZV9ldmVudGRldi5hLnAvZXZlbnRkZXZfcnRlX2V2ZW50ZGV2LmMu bwpbMjI1LzMxNjNdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX2V2ZW50ZGV2LmEucC9l dmVudGRldl9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYy5vClsyMjYvMzE2M10gR2VuZXJhdGlu ZyBsaWIvY3J5cHRvZGV2LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5 IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbMjI3LzMxNjNdIEdlbmVyYXRpbmcgbGliL2VhbC5z eW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJl IG91dHB1dCkKWzIyOC8zMTYzXSBHZW5lcmF0aW5nIGxpYi9ldGhkZXYuc3ltX2NoayB3aXRoIGEg Y3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpCm5pbmph OiBidWlsZCBzdG9wcGVkCgoKRFBESyBTVFYgdGVhbQo= --===============5404530759582677121==--