From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA7C6C001DC for ; Wed, 12 Jul 2023 05:30:10 +0000 (UTC) Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [217.70.183.201]) by mx.groups.io with SMTP id smtpd.web10.931.1689139803685746643 for ; Tue, 11 Jul 2023 22:30:05 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@moto-timo.dev header.s=gm1 header.b=FbuFQAtw; spf=pass (domain: moto-timo.dev, ip: 217.70.183.201, mailfrom: auh@moto-timo.dev) Received: by mail.gandi.net (Postfix) with ESMTPSA id EB6731BF205 for ; Wed, 12 Jul 2023 05:29:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=moto-timo.dev; s=gm1; t=1689139801; h=from:from:reply-to:subject:subject:to:to:cc:mime-version:mime-version: content-type:content-type; bh=0/oSdWwjWKRJLTtMATugpZy4x/vf67pi4F6BRmNfm6k=; b=FbuFQAtwrkqRwGssAL3D9X2EI/TQXk8iR8Elbawhn24L0EV56GxmIaGbH75+Fr7sCMcbux uyDXbNcoHN5Kkj2mv45yfulbJrfwlnXRVPgTqm9+8G3rk6tiCG0vX5k7+2di0Qoj7iGmE1 O+Zw3YWhNP3nj4L8BsERJ6u0HCBoIGQ0hQaID6dropyBLlXc35MWokuLZ/hW50x+ksZ/QA Zm1iNKMqyXWcyKbRBsWF+N610eFSaO3WhHpIEmf92BKcLIkeFIXRPCE6ysqAPd9joJbxzJ CD22twPetFE5Oh/CO8vXF6jzjKsVBR7hffVFrQz7GzUizeOkUa8dzuqzw+a6Tg== Content-Type: multipart/mixed; boundary="===============0987472265722282529==" MIME-Version: 1.0 From: auh@moto-timo.dev To: openembedded-devel@lists.openembedded.org Subject: [AUH] python3-behave: upgrading to 6 FAILED X-GND-Sasl: auh@moto-timo.dev List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 12 Jul 2023 05:30:10 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/103748 Message-Id: <20230712053010.DA7C6C001DC@smtp.lore.kernel.org> Date: Wed, 12 Jul 2023 05:30:10 +0000 (UTC) --===============0987472265722282529== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 SGVsbG8sCgp0aGlzIGVtYWlsIGlzIGEgbm90aWZpY2F0aW9uIGZyb20gdGhlIEF1dG8gVXBncmFk ZSBIZWxwZXIKdGhhdCB0aGUgYXV0b21hdGljIGF0dGVtcHQgdG8gdXBncmFkZSB0aGUgcmVjaXBl ICpweXRob24zLWJlaGF2ZSogdG8gKjYqIGhhcyBGYWlsZWQoZG9fY29tcGlsZSkuCgpEZXRhaWxl ZCBlcnJvciBpbmZvcm1hdGlvbjoKCmRvX2NvbXBpbGUgZmFpbGVkCgoKCk5leHQgc3RlcHM6CiAg ICAtIGFwcGx5IHRoZSBwYXRjaDogZ2l0IGFtIDAwMDEtcHl0aG9uMy1iZWhhdmUtdXBncmFkZS0x LjIuNi1naXQ5NTIwMTE5Mzc2MDQ2YWVmZjczOC5wYXRjaAogICAgLSBjaGVjayB0aGUgY2hhbmdl cyB0byB1cHN0cmVhbSBwYXRjaGVzIGFuZCBzdW1tYXJpemUgdGhlbSBpbiB0aGUgY29tbWl0IG1l c3NhZ2UsCiAgICAtIGNvbXBpbGUgYW4gaW1hZ2UgdGhhdCBjb250YWlucyB0aGUgcGFja2FnZQog ICAgLSBwZXJmb3JtIHNvbWUgYmFzaWMgc2FuaXR5IHRlc3RzCiAgICAtIGFtZW5kIHRoZSBwYXRj aCBhbmQgc2lnbiBpdCBvZmY6IGdpdCBjb21taXQgLXMgLS1yZXNldC1hdXRob3IgLS1hbWVuZAog ICAgLSBzZW5kIGl0IHRvIHRoZSBhcHByb3ByaWF0ZSBtYWlsaW5nIGxpc3QKCkFsdGVybmF0aXZl bHksIGlmIHlvdSBiZWxpZXZlIHRoZSByZWNpcGUgc2hvdWxkIG5vdCBiZSB1cGdyYWRlZCBhdCB0 aGlzIHRpbWUsCnlvdSBjYW4gZmlsbCBSRUNJUEVfTk9fVVBEQVRFX1JFQVNPTiBpbiByZXNwZWN0 aXZlIHJlY2lwZSBmaWxlIHNvIHRoYXQKYXV0b21hdGljIHVwZ3JhZGVzIHdvdWxkIG5vIGxvbmdl ciBiZSBhdHRlbXB0ZWQuCgpQbGVhc2UgcmV2aWV3IHRoZSBhdHRhY2hlZCBmaWxlcyBmb3IgZnVy dGhlciBpbmZvcm1hdGlvbiBhbmQgYnVpbGQvdXBkYXRlIGZhaWx1cmVzLgpBbnkgcHJvYmxlbSBw bGVhc2UgZmlsZSBhIGJ1ZyBhdCBodHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvZW50 ZXJfYnVnLmNnaT9wcm9kdWN0PUF1dG9tYXRlZCUyMFVwZGF0ZSUyMEhhbmRsZXIKClJlZ2FyZHMs ClRoZSBVcGdyYWRlIEhlbHBlcgoKLS0gPjggLS0KRnJvbSA4MTVkNTNjZDlhMDk1YjBiNjdkYzZm OThhZDlhN2ZhMjUxZWRlZmJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBVcGdyYWRl IEhlbHBlciA8YXVoQG1vdG8tdGltby5kZXY+CkRhdGU6IFR1ZSwgMTEgSnVsIDIwMjMgMTc6MTI6 MjUgLTA1MDAKU3ViamVjdDogW1BBVENIXSBweXRob24zLWJlaGF2ZTogdXBncmFkZQogMS4yLjYr Z2l0OTUyMDExOTM3NjA0NmFlZmY3MzgwNGI1ZjFlYTA1ZDg3YTYzZjM3MCAtPiA2CgotLS0KIC4u LmlvT3V0bGluZUJ1aWxkZXItd2FzLW5vdC1jb3B5aW5nLWRlcy5wYXRjaCB8ICAgMjIgKwogLi4u LzAwMDItVVBEQVRFLUZJWEVELTcyNS5wYXRjaCAgICAgICAgICAgICAgIHwgICAyMSArCiAuLi5T VC10by12ZXJpZnktdGhhdC1pc3N1ZS03MjUtaXMtZml4ZWQucGF0Y2ggfCAgIDYwICsKIC4uLnRl ci1jb3VudHMtY29tcHV0YXRpb24td2hlbi1SdWxlcy1hci5wYXRjaCB8ICAzNDIgKwogLi4ucHJp bnRfc3VtbWFyeS1TaW1wbGlmeS1pZi1SdWxlcy1hcmUtLnBhdGNoIHwgICA2MCArCiAuLi5yLUFk ZC1iYXNpYy1zdXBwb3J0LW91dHB1dC1mb3ItUnVsZXMucGF0Y2ggfCAgMzk1ICsKIC4uLk1QLVZF UlNJT04tMS4yLjcuZGV2MS13YXMtMS4yLjcuZGV2MC5wYXRjaCB8ICAgNjcgKwogLi4uLzAwMDgt Q29ycmVjdC1leGFtcGxlcy1hbmQtZG9jc3RyaW5nLnBhdGNoIHwgICA0MSArCiAuLi51cmUucnVu X2l0ZW1zLXByb2Nlc3Npbmctd2l0aC1SdWxlLXMucGF0Y2ggfCAgIDU4ICsKIC4uLi1zcGhpbngt aW50bC1zdXBwb3J0LWZvci1SRUFEVEhFRE9DUy5wYXRjaCB8ICAgNTggKwogLi4uZW50LXBhY2th Z2UtdmVyc2lvbnMtaW4tcmVxdWlyZW1lbnRzLnBhdGNoIHwgICA4MSArCiAuLi4vMDAxMi1kb2Nz LWNvbmYucHktdHdlYWtzLnBhdGNoICAgICAgICAgICAgfCAgIDMwICsKIC4uLmxsZWQtYWZ0ZXJf cnVsZS1ob29rLXdhcy1hZnRlcl9hZnRlci5wYXRjaCB8ICAgMzAgKwogLi4uZC1oaW50cy1vbi1H aGVya2luLXY2LWdyYW1tYXItaXNzdWVzLnBhdGNoIHwgICA0NSArCiAuLi4vMDAxNS1SRUFETUUt UmVTVC10d2Vha3MucGF0Y2ggICAgICAgICAgICAgfCAgIDE4ICsKIC4uLjAxNi1FeGFtcGxlLXVz aW5nLUdoZXJraW4tdjYtZ3JhbW1hci5wYXRjaCB8ICAyMjggKwogLi4uLzAwMTctUFJFUEFSRS1Q eXRob24tMy44LXN1cHBvcnQucGF0Y2ggICAgIHwgICAzOSArCiAuLi54LWxvZ2dpbmcuRm9ybWF0 dGVyLXZhbGlkYXRlLXByb2JsZW0ucGF0Y2ggfCAgIDIyICsKIC4uLmFyaWx5LW1vdmUtcHkzOC1k ZXYtdG8tZnJvbnQtYnVpbGQtZi5wYXRjaCB8ICAgMjggKwogLi4uVHdlYWtzLWZvci1mYXN0ZXIt YnVpbGRzLXRlbXBvcmFyaWx5LnBhdGNoIHwgICAzNSArCiAuLi44LWxvZ2dpbmcuRm9ybWF0dGVy LnZhbGlkYXRlLXByb2JsZW0ucGF0Y2ggfCAgIDQ3ICsKIC4uLm9uLTMuOC1hc3luY2lvLmNvcm91 dGluZS1pcy1kZXByZWNhdC5wYXRjaCB8ICAgNDIgKwogLi4uLzAwMjMtVVBEQVRFLUFkZC03NTUt aW5mby5wYXRjaCAgICAgICAgICAgIHwgICAyNCArCiAuLi50ZWQtdG8tZG9jc3RyaW5nLWV4YW1w bGUtYW5kLXdlaXJkLWIucGF0Y2ggfCAgIDI1ICsKIC4uLnBlLXNlcXVlbmNlLXdhcm5pbmdzLXct cmVnZXgtcGF0dGVybi5wYXRjaCB8ICAgMjkgKwogLi4uTlVQLU1vdmUtZGVwcmVjYXRlZC10YWct bWF0Y2hlci1jbGFzLnBhdGNoIHwgMTAyMCArKysKIC4uLi9weXRob24zLWJlaGF2ZS8wMDI3LUNv bW1lbnQtdHdlYWtzLnBhdGNoICB8ICAgMzAgKwogLi4uLXJlbGF0ZWQtdG8taW52YWxpZC1lc2Nh cGVzLWluLXJlZ2V4LnBhdGNoIHwgICA3OSArCiAuLi5vdWxkLW5vdC1icmVhay1jb25maWd1cmVk LXJlcnVuLXNldHQucGF0Y2ggfCAgIDczICsKIC4uLmxlcy1hbmQtZmFpbGluZy1zY2VuYXJpb3Mt ZW5hYmxlLXZpYS5wYXRjaCB8ICAgMzYgKwogLi4uX3Y2LVR3ZWFrLVNjZW5hcmlvT3V0bGluZS1F eGFtcGxlcy10LnBhdGNoIHwgICAyNyArCiAuLi4vMDAzMi1BZGQtaW5mby1vbi1tZXJnZWQtcHVs bC01ODgucGF0Y2ggICAgfCAgIDIxICsKIC4uLjMtVHdlYWstdGVzdHMtcmVxdWlyZWQtYnktcHl0 ZXN0LTUuMC5wYXRjaCB8ICAgOTcgKwogLi4uc3QtaW5zdGVhZC1vZi1ub3NlLXRvLXJlbW92ZS1u b3NlLmltLnBhdGNoIHwgIDE4MCArCiAuLi5ZLW5vc2UtdG8tYXZvaWQtbm9zZS5pbXBvcnRlci13 YXJuaW4ucGF0Y2ggfCAxODE1ICsrKysKIC4uLjAwMzYtRklYLVJlbW92ZS10ZXN0LWZyb20tcHl0 ZXN0LXJ1bi5wYXRjaCB8ICAgMjIgKwogLi4ub24tQWRkLXN1cHBvcnQtZm9yLVNjZW5hcmlvLWNv bnRhaW5lLnBhdGNoIHwgIDY1MiArKwogLi4udGlvbi1mb3ItU2VsZWN0LWJ5LWxvY2F0aW9uLWZv ci1TY2VuLnBhdGNoIHwgICA1OCArCiAuLi4vMDAzOS10ZXN0cy1GaXgtd2FybmluZ3MtZm9yLXB5 dGhvbjMucGF0Y2ggfCAgIDUwICsKIC4uLmFnLWV4cHJlc3Npb25zLTEuMS4yLXRvLWZpeC13YXJu aW5ncy5wYXRjaCB8ICAgNTUgKwogLi4uRU5ULVN1cHBvcnQtZW1vamlzLWluLWZlYXR1cmUtZmls ZXMtLnBhdGNoIHwgICA5MSArCiAuLi52YWxpZC1lc2NhcGUtY2hhci1pbi1yZWdleC13LXB5dGhv bjMucGF0Y2ggfCAgMjUwICsKIC4uLjMtRXhhbXBsZS1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTc1 Ni5wYXRjaCB8ICAzMzUgKwogLi4uWC1weXRob24zLjgtcmVncmVzc2lvbnMtb24tQ0ktc2VydmVy LnBhdGNoIHwgIDQ4OSArCiAuLi4vMDA0NS1VUERBVEUtTWFyay1pc3N1ZS03NTUtYXMtZml4ZWQu cGF0Y2ggfCAgIDQ2ICsKIC4uLkRBVEUtQ3VjdW1iZXItZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi5w YXRjaCB8ICAgNTcgKwogLi4udWxlLWtleXdvcmQtdHJhbnNsYXRpb24taW4tcG9ydHVndWVzLnBh dGNoIHwgIDIwMiArCiAuLi4tZ2VuZXJhdGUtZnJvbS1naGVya2luLWxhbmd1YWdlcy5qc28ucGF0 Y2ggfCAgMTQxICsKIC4uLm1pbmctdG8tZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRj aCB8ICAzMjIgKwogLi4uNTAtRVhBTVBMRS1DbGVhbnVwLUdoZXJraW4tdjYtUkVBRE1FLnBhdGNo IHwgICA2NCArCiAuLi5mb3ItZmVhdHVyZS5iYWNrZ3JvdW5kLWluaGVyaXRhbmNlLWYucGF0Y2gg fCAxNTEwICsrKwogLi4uLUFkZC1zdXBwb3J0LWZvci1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNo IHwgIDI2OSArCiAuLi4vMDA1My1Vc2UtcnVudGltZS1jb25zdHJhaW50cy5wYXRjaCAgICAgICAg fCAgMTk2ICsKIC4uLjAwNTQtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaCB8 IDM5MzcgKysrKysrKysKIC4uLjAwNTUtQ0xFQU5VUC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5w YXRjaCB8ICA3MzYgKysKIC4uLnJmb3JtLW1vcmUtR2hlcmtpbi12Ni1jaGVja3MtYW5kLXJ1bi5w YXRjaCB8ICAxNTUgKwogLi4uLWFuZC1weXRob24tbW9kdWxlLW9sZC13YXMtYnJva2VuLW5vLnBh dGNoIHwgICA3MiArCiAuLi4vMDA1OC1VVElMLUZvcm1hdHRpbmctdHdlYWtzLnBhdGNoICAgICAg ICAgfCAgIDIyICsKIC4uLmUtdXNlX2ZpeHR1cmVfYnlfdGFnLWRpZG4tdC1yZXR1cm4tdC5wYXRj aCB8ICAgMjMgKwogLi4uLzAwNjAtQWRkZWQtaXNzdWUtdW5pdC10ZXN0LnBhdGNoICAgICAgICAg IHwgICA2MiArCiAuLi5lLXB1bGwtcmVxdWVzdC03Njctd2l0aC1taW5vci10d2Vha3MucGF0Y2gg fCAgIDYwICsKIC4uLnN1ZS03NjYtUHJldHR5Rm9ybWF0dGVyLVVuaWNvZGVFcnJvci5wYXRjaCB8 ICAgODMgKwogLi4uZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoIHwg ICA3NCArCiAuLi5lbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2ggfCAg IDIxICsKIC4uLi8wMDY1LU5pYmJsZS1UcmF2aXNDSS10by13YWtlLXVwLnBhdGNoICAgICB8ICAg MjEgKwogLi4uLzAwNjYtVHdlYWstcHl0ZXN0LXZlcnNpb24tc2VsZWN0aW9uLnBhdGNoIHwgICAz NyArCiAuLi5maWd1cmF0aW9uLXRvLXNpbGVuY2UtSlVuaXQtWE1MLWRpYWwucGF0Y2ggfCAgIDM3 ICsKIC4uLmUtdGVzdC1mb3Itd2lsZGNhcmQtcGF0dGVybi1tYXRjaGluZy5wYXRjaCB8ICAgNTYg KwogLi4uQVRFLWRlcGVuZGVuY2llcy1wYXRoLnB5LXBhdGgtcHl0ZXN0LnBhdGNoIHwgIDE0MSAr CiAuLi5lcHJlY2F0ZWRXYXJuaW5nLWZyb20tZGlzdHV0aWxzLXBhY2sucGF0Y2ggfCAgIDI1ICsK IC4uLi1BZGQtQ29udGV4dE1vZGUtZW51bS1yZWxhdGVkLXRvLTc5Ny5wYXRjaCB8ICAyMTYgKwog Li4uLzAwNzItQ2xlYW51cC1jb21tZW50cy5wYXRjaCAgICAgICAgICAgICAgIHwgICAyMiArCiAu Li5waGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0ZXBzM3gucHkucGF0Y2ggfCAgIDI5ICsKIC4u Li1wYXJzZV9leHByZXNzaW9ucy13YXMtcGFyc2VfYnVpbHRpbi5wYXRjaCB8ICAxODUgKwogLi4u c3Npb24tYWRkLWxpbmtzLXRvLXBhcnNlX3R5cGUtbW9kdWxlLnBhdGNoIHwgICA0MCArCiAuLi5N UC1WRVJTSU9OLTEuMi43LmRldjItd2FzLTEuMi43LmRldjEucGF0Y2ggfCAgIDY1ICsKIC4uLmxl YW51cHMtcmVsYXRlZC10by1xdWVzdGlvbi1pbi04MDAtUC5wYXRjaCB8ICAyMjMgKwogLi4ueS1u YW1lLXVzZXMtcmVnZXgtcGF0dGVybi1yZWxhdGVkLXRvLnBhdGNoIHwgICA4MiArCiAuLi5uY2Ut cHJvYmxlbS1jb3B5LXBhc3RlLWluLVJ1bGUtY2xhc3MucGF0Y2ggfCAgIDM0ICsKIC4uLkFQSS1k ZXNjcmlwdGlvbi1mb3ItUnVubmVyLU9wZXJhdGlvbi5wYXRjaCB8ICAxOTUgKwogLi4uMDA4MS1G SVgtRE9DUy1SdW5uZXItb3BlcmF0aW9ucy10eXBvLnBhdGNoIHwgICAyMiArCiAuLi5lbWVudC1D b250ZXh0LmFkZF9jbGVhbnVwLXdpdGgtbGF5ZXIucGF0Y2ggfCAgMjk1ICsKIC4uLjguMC1wYXJz ZS12ZXJzaW9ucy0xLjE2LjAtLi0xLjE3LngtaC5wYXRjaCB8ICAgMzcgKwogLi4uRHVwbGljYXRl ZC1zdGVwcy1BbWJpZ3VvdXNTdGVwRXJyb3JzLnBhdGNoIHwgICAzNCArCiAuLi4vMDA4NS1BZGQt cmVub3ZhdGUuanNvbi5wYXRjaCAgICAgICAgICAgICAgfCAgIDIxICsKIC4uLjA4Ni1QUlBFUEFS RS1SRU5PVkFURS1XaXRoLWFkYXB0aW9ucy5wYXRjaCB8ICAxNzUgKwogLi4uLzAwODctUGluLWRl cGVuZGVuY2llcy5wYXRjaCAgICAgICAgICAgICAgIHwgICAzNiArCiAuLi50ZS1FeHRlbmQtcGlw LXJlcXVpcmVtZW50cy1maWxlLWxpc3QucGF0Y2ggfCAgIDMxICsKIC4uLklOLVJFUVVJUkVNRU5U Uy1FeHRlbmQtdG8tYWxsLXBsYWNlcy5wYXRjaCB8ICAgOTIgKwogLi4uX2NsZWFudXAtcmVwbGFj ZXMtX3Rhc2tsZXRfY2xlYW51cC1yLnBhdGNoIHwgODExNiArKysrKysrKysrKysrKysrKwogLi4u bmdlLWNvZGUtYmxvY2tzLWZyb20tYmFzaC10by1jb25zb2xlLnBhdGNoIHwgICAzNiArCiAuLi4v MDA5Mi1GaXgtdHlwby1pbi10dXRvcmlhbC5wYXRjaCAgICAgICAgICAgfCAgIDI0ICsKIC4uLm50 cy1Vc2UtUHlIYW1jcmVzdC0yLjAtZm9yLXB5dGhvbjIuNy5wYXRjaCB8ICAgODAgKwogLi4uLzAw OTQtVVBEQVRFLVBSLTg3Ny13YXMtbWVyZ2VkLnBhdGNoICAgICAgIHwgICAyMSArCiAuLi4vMDA5 NS1jYXBpdGFsaXppbmctc3RlcHMucGF0Y2ggICAgICAgICAgICAgfCAgIDI4ICsKIC4uLmRldmVs b3AudXBkYXRlLWdoZXJraW4tdGhhdC1hYm9ydGVkLS5wYXRjaCB8ICAgNTYgKwogLi4uYWluc3Qt UG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMtODY3LnBhdGNoIHwgICAyMiArCiAuLi4wOTgtQWRk LUNvbnRleHQuYXR0YWNoLWRvY3MtYW5kLXRlc3QucGF0Y2ggfCAgMTMyICsKIC4uLi8wMDk5LUFk ZC1Db250cmlidXRpbmctY2hhcHRlci5wYXRjaCAgICAgICB8ICAxMjUgKwogLi4uYXB0LVRveC10 YXJnZXQtZm9yLWJ1aWxkaW5nLXRoZS1kb2NzLnBhdGNoIHwgICAzNCArCiAuLi50aW9uLUhUTUwt Zm9ybWF0dGVyLWluLWRvY3VtZW50YXRpb24ucGF0Y2ggfCAgIDgzICsKIC4uLmxlLWhpZ2hsaWdo dGluZy1mb3ItcGlwLWluc3RhbGwtZG9jcy5wYXRjaCB8ICAgMjIgKwogLi4ub2NzLWZpeC1zaW1w bGUtdHlwby10dW9yaWFsLXR1dG9yaWFsLnBhdGNoIHwgICA1MiArCiAuLi50LWZvci1weXRob24z LjktYnktdXNpbmctYWN0aXZlLXRhZ3MucGF0Y2ggfCAgMjI3ICsKIC4uLi8wMTA1LVBSRUZFUi1w eXRob24zLWZyb20tbm93LW9uLnBhdGNoICAgICB8ICAgMTkgKwogLi4uLzAxMDYtUkVNT1ZFLWlu dm9rZS1zY3JpcHRzLnBhdGNoICAgICAgICAgIHwgICA0MSArCiAuLi5YLURlcHJlY2F0ZWQtd2Fy bmluZ3MtZm9yLVB5dGhvbi0zLngucGF0Y2ggfCAgMTI0ICsKIC4uLmxlbXMtaW4tdmlydHVhbGVu dnMtdy1iZWhhdmU0Y21kMC1zdC5wYXRjaCB8ICAgMTggKwogLi4uLzAxMDktRklYLUFjdGl2ZS10 YWctbG9naWMucGF0Y2ggICAgICAgICAgIHwgIDg3NSArKwogLi4uLzAxMTAtRklYLVRlc3RzLXct bW9yZS5mZWF0dXJlcy5wYXRjaCAgICAgIHwgICA1NiArCiAuLi5GSVgtU29tZS1yZWdyZXNzaW9u cy13aXRoLVB5dGhvbi0zLjkucGF0Y2ggfCAgNzQxICsrCiAuLi4vMDExMi1kb2NzLVVwZGF0ZS1u ZXctYW5kLW5vdGV3b3J0aHkucGF0Y2ggfCAgIDg0ICsKIC4uLmVscGVyLWZ1bmN0aW9uLXRvLXBy aW50LXRoZS1jdXJyZW50LS5wYXRjaCB8ICAyNzggKwogLi4ua2luLWxhbmd1YWdlcy5qc29uLWZy b20tY3VjdW1iZXItcmVwLnBhdGNoIHwgIDU0MSArKwogLi4uVEUtQ0hBTkdFUy1SZWxhdGVkLXRv LVBSLTg5NS1hbmQtODI3LnBhdGNoIHwgICAyMiArCiAuLi5yLXB5dGhvbi0yLjctYnVpbGRzLW1v Y2stNC4wLW9ubHktZm8ucGF0Y2ggfCAgIDM5ICsKIC4uLi10by11c2UtYS1jdXN0b20tcnVubmVy LWluLXRoZS1iZWhhdi5wYXRjaCB8ICAxMjYgKwogLi4ubGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgt Y29sb3ItYWx3YXlzLnBhdGNoIHwgICA1OSArCiAuLi5sb3Itd2l0aC1uby12YWx1ZS1mb2xsb3dl ZC1ieS1wb3NhcmcucGF0Y2ggfCAgIDQzICsKIC4uLi8wMTIwLUFkZC1CRUhBVkVfQ09MT1ItZW52 LXZhci5wYXRjaCAgICAgICB8ICAgMzEgKwogLi4uMTIxLWZpeC1tYWxmb3JtZWQtdGFibGUtcm93 cy13YXJuaW5nLnBhdGNoIHwgICAzMyArCiAuLi4tOTU1LXNldHVwLVJlbW92ZS1hdHRyaWJ1dGUt dXNlXzJ0bzMucGF0Y2ggfCAgIDQyICsKIC4uLi8wMTIzLUFkZC1pbmZvLWZvci1maXhlZC1pc3N1 ZS05NTUucGF0Y2ggICB8ICAgMjEgKwogLi4uL3B5dGhvbi9weXRob24zLWJlaGF2ZV8xLjIuNi5i YiAgICAgICAgICAgIHwgIDEyOSArLQogMTI0IGZpbGVzIGNoYW5nZWQsIDI5ODA4IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMS1GSVhFUy03MjUtU2NlbmFy aW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNvcHlpbmctZGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAwMi1VUERBVEUtRklYRUQtNzI1LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMy1BREQtVEVTVC10 by12ZXJpZnktdGhhdC1pc3N1ZS03MjUtaXMtZml4ZWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA0 LUZJWC1TdW1tYXJ5UmVwb3J0ZXItY291bnRzLWNvbXB1dGF0aW9uLXdoZW4tUnVsZXMtYXIucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDA1LVN1bW1hcnlSZXBvcnRlci5wcmludF9zdW1tYXJ5LVNpbXBs aWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA2LUZvcm1hdHRlci1BZGQt YmFzaWMtc3VwcG9ydC1vdXRwdXQtZm9yLVJ1bGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNy1C VU1QLVZFUlNJT04tMS4yLjcuZGV2MS13YXMtMS4yLjcuZGV2MC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMDgtQ29ycmVjdC1leGFtcGxlcy1hbmQtZG9jc3RyaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAwOS1GSVgtZmVhdHVyZS5ydW5faXRlbXMtcHJvY2Vzc2luZy13aXRoLVJ1bGUtcy5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMTAtZG9jcy1EaXNhYmxlLXNwaGlueC1pbnRsLXN1cHBvcnQtZm9yLVJF QURUSEVET0NTLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMS1DbGVhbnVwLURlcGVuZGVudC1wYWNr YWdlLXZlcnNpb25zLWluLXJlcXVpcmVtZW50cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTItZG9j cy1jb25mLnB5LXR3ZWFrcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTMtRklYLU1pc3NwZWxsZWQt YWZ0ZXJfcnVsZS1ob29rLXdhcy1hZnRlcl9hZnRlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTQt QWRkLWhpbnRzLW9uLUdoZXJraW4tdjYtZ3JhbW1hci1pc3N1ZXMucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDE1LVJFQURNRS1SZVNULXR3ZWFrcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTYtRXhhbXBs ZS11c2luZy1HaGVya2luLXY2LWdyYW1tYXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE3LVBSRVBB UkUtUHl0aG9uLTMuOC1zdXBwb3J0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxOC1weTMuOC1Ucnkt dG8tZml4LWxvZ2dpbmcuRm9ybWF0dGVyLXZhbGlkYXRlLXByb2JsZW0ucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDE5LXRyYXZpcy5jaS1UZW1wb3JhcmlseS1tb3ZlLXB5MzgtZGV2LXRvLWZyb250LWJ1 aWxkLWYucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIwLXRyYXZpcy5jaS1Ud2Vha3MtZm9yLWZhc3Rl ci1idWlsZHMtdGVtcG9yYXJpbHkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIxLUZJWC1weTMuOC1s b2dnaW5nLkZvcm1hdHRlci52YWxpZGF0ZS1wcm9ibGVtLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAy Mi1QUkVQQVJFLUZPUi1QeXRob24tMy44LWFzeW5jaW8uY29yb3V0aW5lLWlzLWRlcHJlY2F0LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZvLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAyNC1GSVgtV0FSTklORy1SZWxhdGVkLXRvLWRvY3N0cmluZy1leGFtcGxlLWFuZC13 ZWlyZC1iLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNS1GSVgtaW52YWxpZC1lc2NhcGUtc2VxdWVu Y2Utd2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJuLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNi1ERVBS RUNBVElORy1DTEVBTlVQLU1vdmUtZGVwcmVjYXRlZC10YWctbWF0Y2hlci1jbGFzLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAyNy1Db21tZW50LXR3ZWFrcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjgt RklYLXdhcm5pbmdzLXJlbGF0ZWQtdG8taW52YWxpZC1lc2NhcGVzLWluLXJlZ2V4LnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAyOS1TdGVwcy1jYXRhbG9nLXNob3VsZC1ub3QtYnJlYWstY29uZmlndXJl ZC1yZXJ1bi1zZXR0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzMC1BZGQtZmVhdHVyZS13LXJ1bGVz LWFuZC1mYWlsaW5nLXNjZW5hcmlvcy1lbmFibGUtdmlhLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAz MS1leGFtcGxlcy1naGVya2luX3Y2LVR3ZWFrLVNjZW5hcmlvT3V0bGluZS1FeGFtcGxlcy10LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAzMi1BZGQtaW5mby1vbi1tZXJnZWQtcHVsbC01ODgucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDMzLVR3ZWFrLXRlc3RzLXJlcXVpcmVkLWJ5LXB5dGVzdC01LjAucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDM0LUNMRUFOVVAtVXNlLXB5dGVzdC1pbnN0ZWFkLW9mLW5vc2Ut dG8tcmVtb3ZlLW5vc2UuaW0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM1LVJFTU9WRS1ERVBFTkRF TkNZLW5vc2UtdG8tYXZvaWQtbm9zZS5pbXBvcnRlci13YXJuaW4ucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDM2LUZJWC1SZW1vdmUtdGVzdC1mcm9tLXB5dGVzdC1ydW4ucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDM3LVNlbGVjdC1ieS1sb2NhdGlvbi1BZGQtc3VwcG9ydC1mb3ItU2NlbmFyaW8tY29udGFp bmUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM4LWRvY3MtQWRkLWRlc2NyaXB0aW9uLWZvci1TZWxl Y3QtYnktbG9jYXRpb24tZm9yLVNjZW4ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM5LXRlc3RzLUZp eC13YXJuaW5ncy1mb3ItcHl0aG9uMy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDAtVXNlLWN1Y3Vt YmVyLXRhZy1leHByZXNzaW9ucy0xLjEuMi10by1maXgtd2FybmluZ3MucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDQxLU1FTlRJT04tRU5IQU5DRU1FTlQtU3VwcG9ydC1lbW9qaXMtaW4tZmVhdHVyZS1m aWxlcy0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQyLUZJWC1JbnZhbGlkLWVzY2FwZS1jaGFyLWlu LXJlZ2V4LXctcHl0aG9uMy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDMtRXhhbXBsZS1yZWxhdGVk LXRvLXF1ZXN0aW9uLWluLTc1Ni5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDQtRklYLXB5dGhvbjMu OC1yZWdyZXNzaW9ucy1vbi1DSS1zZXJ2ZXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ1LVVQREFU RS1NYXJrLWlzc3VlLTc1NS1hcy1maXhlZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDYtVVBEQVRF LUN1Y3VtYmVyLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ3 LWdoZXJraW4tQWRkaW5nLVJ1bGUta2V5d29yZC10cmFuc2xhdGlvbi1pbi1wb3J0dWd1ZXMucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDQ4LVR3ZWFrcy10by11cGRhdGUtZ2VuZXJhdGUtZnJvbS1naGVy a2luLWxhbmd1YWdlcy5qc28ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ5LUVYQU1QTEUtVHdlYWst bmFtaW5nLXRvLWZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDUwLUVYQU1QTEUtQ2xlYW51cC1HaGVya2luLXY2LVJFQURNRS5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNTEtSW1wcm92ZS1zdXBwb3J0LWZvci1mZWF0dXJlLmJhY2tncm91bmQtaW5oZXJpdGFu Y2UtZi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTItQWRkLXN1cHBvcnQtZm9yLXJ1bnRpbWUtY29u c3RyYWludHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUzLVVzZS1ydW50aW1lLWNvbnN0cmFpbnRz LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA1NC1DTEVBTlVQLVJlbW92ZS1kZXByZWNhdGVkLXBhcnRz LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA1NS1DTEVBTlVQLVJlbW92ZS1kZXByZWNhdGVkLXBhcnRz LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ni1tb3JlLmZlYXR1cmVzLVBlcmZvcm0tbW9yZS1HaGVy a2luLXY2LWNoZWNrcy1hbmQtcnVuLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ny1VVElMLUNvcnJl Y3QtVVJMLWFuZC1weXRob24tbW9kdWxlLW9sZC13YXMtYnJva2VuLW5vLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA1OC1VVElMLUZvcm1hdHRpbmctdHdlYWtzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1 OS1GaXhlZC1hLWJ1Zy13aGVyZS11c2VfZml4dHVyZV9ieV90YWctZGlkbi10LXJldHVybi10LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA2MC1BZGRlZC1pc3N1ZS11bml0LXRlc3QucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDYxLU1lcmdlLXB1bGwtcmVxdWVzdC03Njctd2l0aC1taW5vci10d2Vha3MucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDYyLUNIRUNLLUlzc3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXItVW5p Y29kZUVycm9yLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2My1GSVgtaXNzdWUtNzcyLVNjZW5hcmlv T3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2NC1G SVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA2NS1OaWJibGUtVHJhdmlzQ0ktdG8td2FrZS11cC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwNjYtVHdlYWstcHl0ZXN0LXZlcnNpb24tc2VsZWN0aW9uLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA2Ny1Ud2Vhay1weXRlc3QtY29uZmlndXJhdGlvbi10by1zaWxlbmNlLUpVbml0 LVhNTC1kaWFsLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OC1BZGQtYmFzaWMtZmVhdHVyZS10ZXN0 LWZvci13aWxkY2FyZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OS1V UERBVEUtZGVwZW5kZW5jaWVzLXBhdGgucHktcGF0aC1weXRlc3QucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDcwLXB5dGVzdC1EaXNhYmxlLURlcHJlY2F0ZWRXYXJuaW5nLWZyb20tZGlzdHV0aWxzLXBh Y2sucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcxLUNMRUFOVVAtQWRkLUNvbnRleHRNb2RlLWVudW0t cmVsYXRlZC10by03OTcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcyLUNsZWFudXAtY29tbWVudHMu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDczLUZJWC1zcGhpbngtYnVpbGQtcHJvYmxlbS1hc3luY19z dGVwczN4LnB5LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NC1kb2NzLVJlbmFtZS1wYWdlLXBhcnNl X2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWlsdGluLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NS1k b2NzLXBhcnNlX2V4cHJlc3Npb24tYWRkLWxpbmtzLXRvLXBhcnNlX3R5cGUtbW9kdWxlLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA3Ni1CVU1QLVZFUlNJT04tMS4yLjcuZGV2Mi13YXMtMS4yLjcuZGV2 MS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzctR2hlcmtpbi1wYXJzZXItQ2xlYW51cHMtcmVsYXRl ZC10by1xdWVzdGlvbi1pbi04MDAtUC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzgtQ2xhcmlmeS1z ZWxlY3QtYnktbmFtZS11c2VzLXJlZ2V4LXBhdHRlcm4tcmVsYXRlZC10by5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNzktRklYLUNyb3NzLXJlZmVyZW5jZS1wcm9ibGVtLWNvcHktcGFzdGUtaW4tUnVs ZS1jbGFzcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODAtRE9DUy1VcGRhdGUtQVBJLWRlc2NyaXB0 aW9uLWZvci1SdW5uZXItT3BlcmF0aW9uLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4MS1GSVgtRE9D Uy1SdW5uZXItb3BlcmF0aW9ucy10eXBvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Mi1pc3N1ZS03 NDAtRW5oYW5jZW1lbnQtQ29udGV4dC5hZGRfY2xlYW51cC13aXRoLWxheWVyLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA4My1VUERBVEUtcGFyc2UtMS4xOC4wLXBhcnNlLXZlcnNpb25zLTEuMTYuMC0u LTEuMTcueC1oLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4NC1SRUxBVEVELVRPLUR1cGxpY2F0ZWQt c3RlcHMtQW1iaWd1b3VzU3RlcEVycm9ycy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODUtQWRkLXJl bm92YXRlLmpzb24ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg2LVBSUEVQQVJFLVJFTk9WQVRFLVdp dGgtYWRhcHRpb25zLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA4OC1yZW5vdmF0ZS1FeHRlbmQtcGlwLXJlcXVpcmVtZW50cy1m aWxlLWxpc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg5LVBJTi1SRVFVSVJFTUVOVFMtRXh0ZW5k LXRvLWFsbC1wbGFjZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkwLXRhc2tzLUFkZC1pbnZva2Vf Y2xlYW51cC1yZXBsYWNlcy1fdGFza2xldF9jbGVhbnVwLXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDkxLURvY3MtY2hhbmdlLWNvZGUtYmxvY2tzLWZyb20tYmFzaC10by1jb25zb2xlLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA5Mi1GaXgtdHlwby1pbi10dXRvcmlhbC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwOTMtcHkucmVxdWlyZW1lbnRzLVVzZS1QeUhhbWNyZXN0LTIuMC1mb3ItcHl0aG9uMi43LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA5NC1VUERBVEUtUFItODc3LXdhcy1tZXJnZWQucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDk1LWNhcGl0YWxpemluZy1zdGVwcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw OTYtRklYLWludm9rZS10YXNrLWRldmVsb3AudXBkYXRlLWdoZXJraW4tdGhhdC1hYm9ydGVkLS5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTctVGVzdC1hZ2FpbnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQt VHJhdmlzLTg2Ny5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTgtQWRkLUNvbnRleHQuYXR0YWNoLWRv Y3MtYW5kLXRlc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk5LUFkZC1Db250cmlidXRpbmctY2hh cHRlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDAtQWRhcHQtVG94LXRhcmdldC1mb3ItYnVpbGRp bmctdGhlLWRvY3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAxLU1lbnRpb24tSFRNTC1mb3JtYXR0 ZXItaW4tZG9jdW1lbnRhdGlvbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDItVXNlLWNvbnNvbGUt aGlnaGxpZ2h0aW5nLWZvci1waXAtaW5zdGFsbC1kb2NzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEw My1kb2NzLWZpeC1zaW1wbGUtdHlwby10dW9yaWFsLXR1dG9yaWFsLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDEwNC1BZGQtc3VwcG9ydC1mb3ItcHl0aG9uMy45LWJ5LXVzaW5nLWFjdGl2ZS10YWdzLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDEwNS1QUkVGRVItcHl0aG9uMy1mcm9tLW5vdy1vbi5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAxMDYtUkVNT1ZFLWludm9rZS1zY3JpcHRzLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDEwNy1GSVgtRGVwcmVjYXRlZC13YXJuaW5ncy1mb3ItUHl0aG9uLTMueC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMDgtRklYLVB5dGhvbjItcHJvYmxlbXMtaW4tdmlydHVhbGVudnMtdy1iZWhh dmU0Y21kMC1zdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDktRklYLUFjdGl2ZS10YWctbG9naWMu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMTEwLUZJWC1UZXN0cy13LW1vcmUuZmVhdHVyZXMucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMTExLUZJWC1Tb21lLXJlZ3Jlc3Npb25zLXdpdGgtUHl0aG9uLTMuOS5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTItZG9jcy1VcGRhdGUtbmV3LWFuZC1ub3Rld29ydGh5LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDExMy1BZGQtZGlhZ25vc3RpYy1oZWxwZXItZnVuY3Rpb24tdG8t cHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNC1VUERBVEUtaTE4bi1n aGVya2luLWxhbmd1YWdlcy5qc29uLWZyb20tY3VjdW1iZXItcmVwLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDExNS1VUERBVEUtQ0hBTkdFUy1SZWxhdGVkLXRvLVBSLTg5NS1hbmQtODI3LnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDExNi1GSVgtQ0ktVFJBVklTLUZvci1weXRob24tMi43LWJ1aWxkcy1tb2Nr LTQuMC1vbmx5LWZvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNy1BZGRzLXRoZS1hYmlsaXR5LXRv LXVzZS1hLWN1c3RvbS1ydW5uZXItaW4tdGhlLWJlaGF2LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEx OC1BbGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29sb3ItYWx3YXlzLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDExOS1BbGxvdy1jb2xvci13aXRoLW5vLXZhbHVlLWZvbGxvd2VkLWJ5LXBvc2FyZy5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAxMjAtQWRkLUJFSEFWRV9DT0xPUi1lbnYtdmFyLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDEyMS1maXgtbWFsZm9ybWVkLXRhYmxlLXJvd3Mtd2FybmluZy5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMjItRklYLTk1NS1zZXR1cC1SZW1vdmUtYXR0cmlidXRlLXVzZV8ydG8zLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDEyMy1BZGQtaW5mby1mb3ItZml4ZWQtaXNzdWUtOTU1LnBhdGNo CgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAwMS1GSVhFUy03MjUtU2NlbmFyaW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNv cHlpbmctZGVzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAwMS1GSVhFUy03MjUtU2NlbmFyaW9PdXRsaW5lQnVpbGRlci13YXMtbm90 LWNvcHlpbmctZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u NWM0OWNjMDBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMS1GSVhFUy03MjUtU2NlbmFyaW9PdXRsaW5lQnVp bGRlci13YXMtbm90LWNvcHlpbmctZGVzLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gYjk0 MWYzNTNjMTI5ZjczOTM0ODUzMDgyZjNmM2EwMWNlYmU2Zjk0NCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogTW9uLCAxMSBNYXIgMjAxOSAyMjozNzowNCArMDEwMAorU3ViamVjdDogW1BBVENIXSBG SVhFUyAjNzI1OiBTY2VuYXJpb091dGxpbmVCdWlsZGVyIHdhcyBub3QgY29weWluZworIGRlc2Ny aXB0aW9uIHRvIGNyZWF0ZWQgU2NlbmFyaW8uCisKKy0tLQorIGJlaGF2ZS9tb2RlbC5weSB8IDEg KworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZl L21vZGVsLnB5IGIvYmVoYXZlL21vZGVsLnB5CitpbmRleCA0YWQ0YjlkLi45ZGQ2OGZkIDEwMDY0 NAorLS0tIGEvYmVoYXZlL21vZGVsLnB5CisrKysgYi9iZWhhdmUvbW9kZWwucHkKK0BAIC0xMTk2 LDYgKzExOTYsNyBAQCBjbGFzcyBTY2VuYXJpb091dGxpbmVCdWlsZGVyKG9iamVjdCk6CisgICAg ICAgICAgICAgICAgIHNjZW5hcmlvLmZlYXR1cmUgPSBzY2VuYXJpb19vdXRsaW5lLmZlYXR1cmUK KyAgICAgICAgICAgICAgICAgc2NlbmFyaW8ucGFyZW50ID0gc2NlbmFyaW9fb3V0bGluZQorICAg ICAgICAgICAgICAgICBzY2VuYXJpby5iYWNrZ3JvdW5kID0gc2NlbmFyaW9fb3V0bGluZS5iYWNr Z3JvdW5kCisrICAgICAgICAgICAgICAgIHNjZW5hcmlvLmRlc2NyaXB0aW9uID0gc2NlbmFyaW9f b3V0bGluZS5kZXNjcmlwdGlvbgorICAgICAgICAgICAgICAgICBzY2VuYXJpby5fcm93ID0gcm93 ICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisgICAgICAgICAgICAgICAg IHNjZW5hcmlvcy5hcHBlbmQoc2NlbmFyaW8pCisgICAgICAgICByZXR1cm4gc2NlbmFyaW9zCmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDAyLVVQREFURS1GSVhFRC03MjUucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAyLVVQREFURS1GSVhFRC03MjUucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4yYmU2ODExZmIKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDAyLVVQREFURS1GSVhFRC03MjUucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRnJvbSAw ZTI2YmJhZTFmOWY4ZDYwYzNhYjk0NzBiMzY4NWFmMWRkZTViNmQ4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+ CitEYXRlOiBNb24sIDExIE1hciAyMDE5IDIyOjQwOjEzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hd IFVQREFURTogRklYRUQgIzcyNQorCistLS0KKyBDSEFOR0VTLnJzdCB8IDEgKworIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFO R0VTLnJzdAoraW5kZXggYzExODQwZi4uZDZlOTZhZiAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0 CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTMyLDYgKzMyLDcgQEAgRU5IQU5DRU1FTlRTOgorIAor IEZJWEVEOgorIAorKyogaXNzdWUgIzcyNTogU2NlbmFyaW8gT3V0bGluZSBkZXNjcmlwdGlvbiBs aW5lcyBzZWVtIHRvIGJlIGlnbm9yZWQgKHN1Ym1pdHRlZCBieTogbml6d2l6KQorICogaXNzdWUg IzcxMzogQmFja2dyb3VuZCBzZWN0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBkZXNjcmlwdGlvbiAocHJv dmlkZWQgYnk6IGRnb3UpCisgKiBwdWxsICAjNjU3OiBBbGxvdyBhc3luYyBzdGVwcyB3aXRoIHRp bWVvdXRzIHRvIGZhaWwgd2hlbiB0aGV5IHJhaXNlIGV4Y2VwdGlvbnMgKHByb3ZpZGVkIGJ5OiBB TFNjaHdhbG0pCisgKiBpc3N1ZSAjNjMxOiBTY2VuYXJpb091dGxpbmUgdmFyaWFibGVzIG5vdCBw b3NzaWJsZSBpbiB0YWJsZSBoZWFkaW5ncyAocHJvdmlkZWQgYnk6IG1zY2huZWxsZSwgcHVsbCAj NjQyKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAwMy1BREQtVEVTVC10by12ZXJpZnktdGhhdC1pc3N1ZS03MjUtaXMtZml4 ZWQucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDAzLUFERC1URVNULXRvLXZlcmlmeS10aGF0LWlzc3VlLTcyNS1pcy1maXhlZC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjNlNGY2ZmRmMgotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMDMtQURELVRFU1QtdG8tdmVyaWZ5LXRoYXQtaXNzdWUtNzI1LWlzLWZpeGVkLnBh dGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gNjYzMjRmOGRjNzQ3MTVhNTAxOGQxZWNlZDIyNTU1 N2M0MGJkN2FjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAxMSBNYXIgMjAxOSAyMzow ODowMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBBREQgVEVTVCB0byB2ZXJpZnkgdGhhdCBpc3N1 ZSAjNzI1IGlzIGZpeGVkLgorCistLS0KKyB0ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3MjUucHkg fCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQs IDQ0IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvaXNzdWVzL3Rlc3Rf aXNzdWUwNzI1LnB5CisKK2RpZmYgLS1naXQgYS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3MjUu cHkgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3MjUucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwLi43NDc5ZjU5CistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy9pc3N1 ZXMvdGVzdF9pc3N1ZTA3MjUucHkKK0BAIC0wLDAgKzEsNDQgQEAKKysjIC0qLSBjb2Rpbmc6IFVU Ri04IC0qLQorKyIiIgorK2h0dHBzOi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVoYXZlL2lzc3Vlcy83 MjUKKysKKytBTkFMWVNJUzoKKystLS0tLS0tLS0tCisrCisrU2NlbmFyaW9PdXRsaW5lQnVpbGRl ciBkaWQgbm90IGNvcHkgU2NlbmFyaW9PdXRsaW5lLmRlc2NyaXB0aW9uCisrdG8gdGhlIFNjZW5h cmlvcyB0aGF0IHdlcmUgY3JlYXRlZCBmcm9tIHRoZSBTY2VuYXJpb091dGxpbmUuCisrIiIiCisr CisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9u CisrZnJvbSBiZWhhdmUucGFyc2VyIGltcG9ydCBwYXJzZV9mZWF0dXJlCisrCisrCisrZGVmIHRl c3RfaXNzdWUoKToKKysgICAgIiIiVmVyaWZpZXMgdGhhdCBpc3N1ZSAjNzI1IGlzIGZpeGVkLiIi IgorKyAgICB0ZXh0ID0gdScnJworK0ZlYXR1cmU6IFNjZW5hcmlvT3V0bGluZSB3aXRoIGRlc2Ny aXB0aW9uCisrCisrICBTY2VuYXJpbyBPdXRsaW5lOiBTT18xCisrICAgIERlc2NyaXB0aW9uIGxp bmUgMSBmb3IgU2NlbmFyaW9PdXRsaW5lLgorKyAgICBEZXNjcmlwdGlvbiBsaW5lIDIgZm9yIFNj ZW5hcmlvT3V0bGluZS4KKysKKysgICAgR2l2ZW4gYSBzdGVwIHdpdGggIjxuYW1lPiIKKysgICAg CisrICAgIEV4YW1wbGVzOgorKyAgICAgIHwgbmFtZSAgfAorKyAgICAgIHwgQWxpY2UgfAorKyAg ICAgIHwgQm9iICAgfAorKycnJy5sc3RyaXAoKQorKyAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVy ZSh0ZXh0KQorKyAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAxCisrICAgIHNj ZW5hcmlvX291dGxpbmVfMSA9IGZlYXR1cmUuc2NlbmFyaW9zWzBdCisrICAgIGFzc2VydCBsZW4o c2NlbmFyaW9fb3V0bGluZV8xLnNjZW5hcmlvcykgPT0gMgorKyAgICAjIC0tIEhJTlQ6IExhc3Qg bGluZSB0cmlnZ2VycyBidWlsZGluZyBvZiB0aGUgU2NlbmFyaW9zIGZyb20gU2NlbmFyaW9PdXRs aW5lLgorKworKyAgICBleHBlY3RlZF9kZXNjcmlwdGlvbiA9IFsKKysgICAgICAgICJEZXNjcmlw dGlvbiBsaW5lIDEgZm9yIFNjZW5hcmlvT3V0bGluZS4iLAorKyAgICAgICAgIkRlc2NyaXB0aW9u IGxpbmUgMiBmb3IgU2NlbmFyaW9PdXRsaW5lLiIsCisrICAgIF0KKysgICAgYXNzZXJ0IHNjZW5h cmlvX291dGxpbmVfMS5kZXNjcmlwdGlvbiA9PSBleHBlY3RlZF9kZXNjcmlwdGlvbgorKyAgICBh c3NlcnQgc2NlbmFyaW9fb3V0bGluZV8xLnNjZW5hcmlvc1swXS5kZXNjcmlwdGlvbiA9PSBleHBl Y3RlZF9kZXNjcmlwdGlvbgorKyAgICBhc3NlcnQgc2NlbmFyaW9fb3V0bGluZV8xLnNjZW5hcmlv c1sxXS5kZXNjcmlwdGlvbiA9PSBleHBlY3RlZF9kZXNjcmlwdGlvbgpkaWZmIC0tZ2l0IGEvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNC1GSVgt U3VtbWFyeVJlcG9ydGVyLWNvdW50cy1jb21wdXRhdGlvbi13aGVuLVJ1bGVzLWFyLnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNC1G SVgtU3VtbWFyeVJlcG9ydGVyLWNvdW50cy1jb21wdXRhdGlvbi13aGVuLVJ1bGVzLWFyLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZWM1NWVmYjUwCi0tLSAvZGV2 L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAwNC1GSVgtU3VtbWFyeVJlcG9ydGVyLWNvdW50cy1jb21wdXRhdGlvbi13aGVuLVJ1 bGVzLWFyLnBhdGNoCkBAIC0wLDAgKzEsMzQyIEBACitGcm9tIDc0ZDUzOWI4NmNhNTJlODMyNTUx ODNkOTZiOTNmZjc0OTI3NTFiNmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgMTMgTWFy IDIwMTkgMDg6Mjk6MDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBTdW1tYXJ5UmVwb3J0 ZXIgY291bnRzIGNvbXB1dGF0aW9uIHdoZW4gUnVsZXMgYXJlIHVzZWQuCisKKy0tLQorIGJlaGF2 ZS9tb2RlbC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzOSArKystLS0KKyBi ZWhhdmUvcmVwb3J0ZXIvc3VtbWFyeS5weSAgICAgICAgICAgICAgICAgICAgfCAxMTQgKysrKysr KysrKysrKystLS0tCisgLi4uL3VuaXQve3JlcG9ydGVycyA9PiByZXBvcnRlcn0vX19pbml0X18u cHkgIHwgICAwCisgLi4uL3tyZXBvcnRlcnMgPT4gcmVwb3J0ZXJ9L3Rlc3Rfc3VtbWFyeS5weSAg IHwgICA0ICsKKyA0IGZpbGVzIGNoYW5nZWQsIDExNiBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlv bnMoLSkKKyByZW5hbWUgdGVzdHMvdW5pdC97cmVwb3J0ZXJzID0+IHJlcG9ydGVyfS9fX2luaXRf Xy5weSAoMTAwJSkKKyByZW5hbWUgdGVzdHMvdW5pdC97cmVwb3J0ZXJzID0+IHJlcG9ydGVyfS90 ZXN0X3N1bW1hcnkucHkgKDk5JSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBiL2Jl aGF2ZS9tb2RlbC5weQoraW5kZXggOWRkNjhmZC4uNjIzODMxMyAxMDA2NDQKKy0tLSBhL2JlaGF2 ZS9tb2RlbC5weQorKysrIGIvYmVoYXZlL21vZGVsLnB5CitAQCAtMTQ0LDE4ICsxNDQsMTggQEAg Y2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxl KToKKyAgICAgICAgIHNlbGYuaG9va19mYWlsZWQgPSBGYWxzZQorICAgICAgICAgc2VsZi5ydW5f c3RhcnR0aW1lID0gMAorICAgICAgICAgc2VsZi5ydW5fZW5kdGltZSA9IDAKKy0gICAgICAgIGZv ciBzY2VuYXJpbyBpbiBzZWxmLnNjZW5hcmlvczoKKy0gICAgICAgICAgICBzY2VuYXJpby5yZXNl dCgpCisrICAgICAgICBmb3IgcnVuX2l0ZW0gaW4gc2VsZi5ydW5faXRlbXM6CisrICAgICAgICAg ICAgcnVuX2l0ZW0ucmVzZXQoKQorIAorICAgICBkZWYgX19pdGVyX18oc2VsZik6CistICAgICAg ICByZXR1cm4gaXRlcihzZWxmLnNjZW5hcmlvcykKKysgICAgICAgIHJldHVybiBpdGVyKHNlbGYu cnVuX2l0ZW1zKQorIAorICAgICBkZWYgYWRkX3NjZW5hcmlvKHNlbGYsIHNjZW5hcmlvKToKKyAg ICAgICAgIGZlYXR1cmUgPSBnZXRhdHRyKHNlbGYsICJmZWF0dXJlIiwgTm9uZSkKKyAgICAgICAg IGlmIGlzaW5zdGFuY2Uoc2VsZiwgRmVhdHVyZSk6CisgICAgICAgICAgICAgZmVhdHVyZSA9IHNl bGYKKyAKKy0gICAgICAgIHNjZW5hcmlvLnBhcmVudCA9IHNlbGYgICAgICAjIFhYWC1ORVcKKysg ICAgICAgIHNjZW5hcmlvLnBhcmVudCA9IHNlbGYKKyAgICAgICAgIHNjZW5hcmlvLmZlYXR1cmUg PSBmZWF0dXJlCisgICAgICAgICBzY2VuYXJpby5iYWNrZ3JvdW5kID0gc2VsZi5iYWNrZ3JvdW5k CisgICAgICAgICBzZWxmLnNjZW5hcmlvcy5hcHBlbmQoc2NlbmFyaW8pCitAQCAtMTc0LDE3ICsx NzQsMTcgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBS ZXBsYXlhYmxlKToKKyAKKyAgICAgICAgIHNraXBwZWQgPSBUcnVlCisgICAgICAgICBwYXNzZWRf Y291bnQgPSAwCistICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2VsZi5zY2VuYXJpb3M6CistICAg ICAgICAgICAgc2NlbmFyaW9fc3RhdHVzID0gc2NlbmFyaW8uc3RhdHVzCistICAgICAgICAgICAg aWYgc2NlbmFyaW9fc3RhdHVzID09IFN0YXR1cy5mYWlsZWQ6CisrICAgICAgICBmb3IgcnVuX2l0 ZW0gaW4gc2VsZi5ydW5faXRlbXM6CisrICAgICAgICAgICAgcnVuX2l0ZW1fc3RhdHVzID0gcnVu X2l0ZW0uc3RhdHVzCisrICAgICAgICAgICAgaWYgcnVuX2l0ZW1fc3RhdHVzID09IFN0YXR1cy5m YWlsZWQ6CisgICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXMuZmFpbGVkCistICAgICAgICAg ICAgZWxpZiBzY2VuYXJpb19zdGF0dXMgPT0gU3RhdHVzLnVudGVzdGVkOgorKyAgICAgICAgICAg IGVsaWYgcnVuX2l0ZW1fc3RhdHVzID09IFN0YXR1cy51bnRlc3RlZDoKKyAgICAgICAgICAgICAg ICAgaWYgcGFzc2VkX2NvdW50ID4gMDoKKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBTdGF0 dXMuZmFpbGVkICAjIEFCT1JURUQ6IFNvbWUgcGFzc2VkLCBub3cgdW50ZXN0ZWQuCisgICAgICAg ICAgICAgICAgIHJldHVybiBTdGF0dXMudW50ZXN0ZWQKKy0gICAgICAgICAgICBpZiBzY2VuYXJp b19zdGF0dXMgIT0gU3RhdHVzLnNraXBwZWQ6CisrICAgICAgICAgICAgaWYgcnVuX2l0ZW1fc3Rh dHVzICE9IFN0YXR1cy5za2lwcGVkOgorICAgICAgICAgICAgICAgICBza2lwcGVkID0gRmFsc2UK Ky0gICAgICAgICAgICBpZiBzY2VuYXJpb19zdGF0dXMgPT0gU3RhdHVzLnBhc3NlZDoKKysgICAg ICAgICAgICBpZiBydW5faXRlbV9zdGF0dXMgPT0gU3RhdHVzLnBhc3NlZDoKKyAgICAgICAgICAg ICAgICAgcGFzc2VkX2NvdW50ICs9IDEKKyAKKyAgICAgICAgIGlmIHNraXBwZWQ6CitAQCAtMjE3 LDE0ICsyMTcsMTkgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVt ZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICIiIgorICAgICAgICAgIyBUT0RPOiBCZXR0ZXIg dXNlIHNlbGYucnVuX2l0ZW1zCisgICAgICAgICBhbGxfc2NlbmFyaW9zID0gW10KKy0gICAgICAg IGZvciBzY2VuYXJpbyBpbiBzZWxmLnNjZW5hcmlvczoKKy0gICAgICAgICAgICBpZiBpc2luc3Rh bmNlKHNjZW5hcmlvLCBTY2VuYXJpb091dGxpbmUpOgorLSAgICAgICAgICAgICAgICBzY2VuYXJp b19vdXRsaW5lID0gc2NlbmFyaW8KKysgICAgICAgICMgZm9yIHNjZW5hcmlvIGluIHNlbGYuc2Nl bmFyaW9zOgorKyAgICAgICAgZm9yIHJ1bl9pdGVtIGluIHNlbGYucnVuX2l0ZW1zOgorKyAgICAg ICAgICAgIGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFJ1bGUpOgorKyAgICAgICAgICAgICAgICBy dWxlID0gcnVuX2l0ZW0KKysgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5leHRlbmQocnVs ZS53YWxrX3NjZW5hcmlvcyh3aXRoX291dGxpbmVzPXdpdGhfb3V0bGluZXMpKQorKyAgICAgICAg ICAgIGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvT3V0bGluZSk6CisrICAgICAgICAg ICAgICAgIHNjZW5hcmlvX291dGxpbmUgPSBydW5faXRlbQorICAgICAgICAgICAgICAgICBpZiB3 aXRoX291dGxpbmVzOgorICAgICAgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQo c2NlbmFyaW9fb3V0bGluZSkKKyAgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5leHRlbmQo c2NlbmFyaW9fb3V0bGluZS5zY2VuYXJpb3MpCisgICAgICAgICAgICAgZWxzZToKKy0gICAgICAg ICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQoc2NlbmFyaW8pCisrICAgICAgICAgICAgICAg IGFzc2VydCBpc2luc3RhbmNlKHJ1bl9pdGVtLCBTY2VuYXJpbykKKysgICAgICAgICAgICAgICAg YWxsX3NjZW5hcmlvcy5hcHBlbmQocnVuX2l0ZW0pCisgICAgICAgICByZXR1cm4gYWxsX3NjZW5h cmlvcworIAorICAgICBkZWYgc2hvdWxkX3J1bihzZWxmLCBjb25maWc9Tm9uZSk6CitAQCAtMjg1 LDkgKzI5MCw5IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVu dCwgUmVwbGF5YWJsZSk6CisgICAgICAgICBzZWxmLmNsZWFyX3N0YXR1cygpCisgICAgICAgICBz ZWxmLnNob3VsZF9za2lwID0gVHJ1ZQorICAgICAgICAgc2VsZi5za2lwX3JlYXNvbiA9IHJlYXNv bgorLSAgICAgICAgZm9yIHNjZW5hcmlvIGluIHNlbGYuc2NlbmFyaW9zOgorLSAgICAgICAgICAg IHNjZW5hcmlvLnNraXAocmVhc29uLCByZXF1aXJlX25vdF9leGVjdXRlZCkKKy0gICAgICAgIGlm IG5vdCBzZWxmLnNjZW5hcmlvczoKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBzZWxmLnJ1bl9p dGVtczoKKysgICAgICAgICAgICBydW5faXRlbS5za2lwKHJlYXNvbiwgcmVxdWlyZV9ub3RfZXhl Y3V0ZWQpCisrICAgICAgICBpZiBub3Qgc2VsZi5ydW5faXRlbXM6CisgICAgICAgICAgICAgIyAt LSBTUEVDSUFMIENBU0U6IEZlYXR1cmUgd2l0aG91dCBzY2VuYXJpb3MKKyAgICAgICAgICAgICBz ZWxmLnNldF9zdGF0dXMoU3RhdHVzLnNraXBwZWQpCisgICAgICAgICBhc3NlcnQgc2VsZi5zdGF0 dXMgaW4gc2VsZi5maW5hbF9zdGF0dXMgIzwgc2tpcHBlZCwgZmFpbGVkIG9yIHBhc3NlZC4KK2Rp ZmYgLS1naXQgYS9iZWhhdmUvcmVwb3J0ZXIvc3VtbWFyeS5weSBiL2JlaGF2ZS9yZXBvcnRlci9z dW1tYXJ5LnB5CitpbmRleCBjODJkYWExLi4yY2NkYzhmIDEwMDY0NAorLS0tIGEvYmVoYXZlL3Jl cG9ydGVyL3N1bW1hcnkucHkKKysrKyBiL2JlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5CitAQCAt NiwyNSArNiw1MiBAQCBQcm92aWRlcyBhIHN1bW1hcnkgYWZ0ZXIgZWFjaCB0ZXN0IHJ1bi4KKyBm cm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHByaW50X2Z1 bmN0aW9uCisgaW1wb3J0IHN5cworIGZyb20gdGltZSBpbXBvcnQgdGltZSBhcyB0aW1lX25vdwor LWZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBTY2VuYXJpb091dGxpbmUKKytmcm9tIGJlaGF2ZS5t b2RlbCBpbXBvcnQgUnVsZSwgU2NlbmFyaW9PdXRsaW5lICAjIE1BWUJFOiBTY2VuYXJpbworIGZy b20gYmVoYXZlLm1vZGVsX2NvcmUgaW1wb3J0IFN0YXR1cworIGZyb20gYmVoYXZlLnJlcG9ydGVy LmJhc2UgaW1wb3J0IFJlcG9ydGVyCisgZnJvbSBiZWhhdmUuZm9ybWF0dGVyLmJhc2UgaW1wb3J0 IFN0cmVhbU9wZW5lcgorIAorIAorLSMgLS0gRElTQUJMRUQ6IG9wdGlvbmFsX3N0ZXBzID0gKCd1 bnRlc3RlZCcsICd1bmRlZmluZWQnKQorLW9wdGlvbmFsX3N0ZXBzID0gKFN0YXR1cy51bnRlc3Rl ZCwpICMgTUFZQkU6IFN0YXR1cy51bmRlZmluZWQKKy1zdGF0dXNfb3JkZXIgPSAoU3RhdHVzLnBh c3NlZCwgU3RhdHVzLmZhaWxlZCwgU3RhdHVzLnNraXBwZWQsCisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysjIENPTlNUQU5UUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgLS0gRElTQUJMRUQ6 IE9QVElPTkFMX1NURVBTID0gKCd1bnRlc3RlZCcsICd1bmRlZmluZWQnKQorK09QVElPTkFMX1NU RVBTID0gKFN0YXR1cy51bnRlc3RlZCwpICMgTUFZQkU6IFN0YXR1cy51bmRlZmluZWQKKytTVEFU VVNfT1JERVIgPSAoU3RhdHVzLnBhc3NlZCwgU3RhdHVzLmZhaWxlZCwgU3RhdHVzLnNraXBwZWQs CisgICAgICAgICAgICAgICAgIFN0YXR1cy51bmRlZmluZWQsIFN0YXR1cy51bnRlc3RlZCkKKyAK KyAKKy1kZWYgZm9ybWF0X3N1bW1hcnkoc3RhdGVtZW50X3R5cGUsIHN1bW1hcnkpOgorKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisrIyBVVElMSVRZIEZVTkNUSU9OUzoKKysjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorK2RlZiBwbHVyYWxpemUod29yZCwgY291bnQ9MSwgc3VmZml4PSJzIik6CisrICAgIGlm IGNvdW50ID09IDE6CisrICAgICAgICByZXR1cm4gd29yZAorKyAgICAjIC0tIE9USEVSV0lTRToK KysgICAgcmV0dXJuICJ7MH17MX0iLmZvcm1hdCh3b3JkLCBzdWZmaXgpCisrCisrCisrZGVmIGNv bXB1dGVfc3VtbWFyeV9zdW0oc3VtbWFyeSk6CisrICAgICIiIkNvbXB1dGUgc3VtIG9mIGFsbCBz dW1tYXJ5IGNvdW50cyAoZXhjZXB0OiBhbGwpCisrCisrICAgIDpwYXJhbSBzdW1tYXJ5OiBTdW1t YXJ5IGNvdW50cyAoYXMgZGljdCkuCisrICAgIDpyZXR1cm46IFN1bSBvZiBhbGwgY291bnRzIChh cyBpbnRlZ2VyKS4KKysgICAgIiIiCisrICAgIGNvdW50c19zdW0gPSAwCisrICAgIGZvciBuYW1l LCBjb3VudCBpbiBzdW1tYXJ5Lml0ZW1zKCk6CisrICAgICAgICBpZiBuYW1lID09ICJhbGwiOgor KyAgICAgICAgICAgIGNvbnRpbnVlICAgICMgSUdOT1JFIElULgorKyAgICAgICAgY291bnRzX3N1 bSArPSBjb3VudAorKyAgICByZXR1cm4gY291bnRzX3N1bQorKworKworK2RlZiBmb3JtYXRfc3Vt bWFyeTAoc3RhdGVtZW50X3R5cGUsIHN1bW1hcnkpOgorICAgICBwYXJ0cyA9IFtdCistICAgIGZv ciBzdGF0dXMgaW4gc3RhdHVzX29yZGVyOgorKyAgICBmb3Igc3RhdHVzIGluIFNUQVRVU19PUkRF UjoKKyAgICAgICAgIGlmIHN0YXR1cy5uYW1lIG5vdCBpbiBzdW1tYXJ5OgorICAgICAgICAgICAg IGNvbnRpbnVlCisgICAgICAgICBjb3VudHMgPSBzdW1tYXJ5W3N0YXR1cy5uYW1lXQorLSAgICAg ICAgaWYgc3RhdHVzIGluIG9wdGlvbmFsX3N0ZXBzIGFuZCBjb3VudHMgPT0gMDoKKysgICAgICAg IGlmIHN0YXR1cyBpbiBPUFRJT05BTF9TVEVQUyBhbmQgY291bnRzID09IDA6CisgICAgICAgICAg ICAgIyAtLSBTSE9XLU9OTFk6IEZvciByZWxldmFudCBjb3VudHMsIHN1cHByZXNzOiB1bnRlc3Rl ZCBpdGVtcywgZXRjLgorICAgICAgICAgICAgIGNvbnRpbnVlCisgCitAQCAtNDAsMTEgKzY3LDIz IEBAIGRlZiBmb3JtYXRfc3VtbWFyeShzdGF0ZW1lbnRfdHlwZSwgc3VtbWFyeSk6CisgICAgIHJl dHVybiAiLCAiLmpvaW4ocGFydHMpICsgIlxuIgorIAorIAorLWRlZiBwbHVyYWxpemUod29yZCwg Y291bnQ9MSwgc3VmZml4PSJzIik6CistICAgIGlmIGNvdW50ID09IDE6CistICAgICAgICByZXR1 cm4gd29yZAorLSAgICAjIC0tIE9USEVSV0lTRToKKy0gICAgcmV0dXJuICJ7MH17MX0iLmZvcm1h dCh3b3JkLCBzdWZmaXgpCisrZGVmIGZvcm1hdF9zdW1tYXJ5KHN0YXRlbWVudF90eXBlLCBzdW1t YXJ5KToKKysgICAgcGFydHMgPSBbXQorKyAgICBmb3Igc3RhdHVzIGluIFNUQVRVU19PUkRFUjoK KysgICAgICAgIGlmIHN0YXR1cy5uYW1lIG5vdCBpbiBzdW1tYXJ5OgorKyAgICAgICAgICAgIGNv bnRpbnVlCisrICAgICAgICBjb3VudHMgPSBzdW1tYXJ5W3N0YXR1cy5uYW1lXQorKyAgICAgICAg aWYgc3RhdHVzIGluIE9QVElPTkFMX1NURVBTIGFuZCBjb3VudHMgPT0gMDoKKysgICAgICAgICAg ICAjIC0tIFNIT1ctT05MWTogRm9yIHJlbGV2YW50IGNvdW50cywgc3VwcHJlc3M6IHVudGVzdGVk IGl0ZW1zLCBldGMuCisrICAgICAgICAgICAgY29udGludWUKKysKKysgICAgICAgIG5hbWUgPSBz dGF0dXMubmFtZQorKyAgICAgICAgaWYgc3RhdHVzLm5hbWUgPT0gInBhc3NlZCI6CisrICAgICAg ICAgICAgc3RhdGVtZW50ID0gcGx1cmFsaXplKHN0YXRlbWVudF90eXBlLCBjb3VudHMpCisrICAg ICAgICAgICAgbmFtZSA9IHUiJXMgcGFzc2VkIiAlIHN0YXRlbWVudAorKyAgICAgICAgcGFydCA9 IHUiJWQgJXMiICUgKGNvdW50cywgbmFtZSkKKysgICAgICAgIHBhcnRzLmFwcGVuZChwYXJ0KQor KyAgICByZXR1cm4gIiwgIi5qb2luKHBhcnRzKSArICJcbiIKKyAKKyAKKyAjIC0tIFBSRVBBUkVE OgorQEAgLTYwLDE4ICs5OSwxNiBAQCBkZWYgZm9ybWF0X3N1bW1hcnkyKHN0YXRlbWVudF90eXBl LCBzdW1tYXJ5LCBlbmQ9IlxuIik6CisgICAgIDpyZXR1cm46CisgICAgICIiIgorICAgICBwYXJ0 cyA9IFtdCistICAgIGNvdW50c19zdW0gPSAwCistICAgIGZvciBzdGF0dXMgaW4gc3RhdHVzX29y ZGVyOgorKyAgICBmb3Igc3RhdHVzIGluIFNUQVRVU19PUkRFUjoKKyAgICAgICAgIGlmIHN0YXR1 cy5uYW1lIG5vdCBpbiBzdW1tYXJ5OgorICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICBj b3VudHMgPSBzdW1tYXJ5W3N0YXR1cy5uYW1lXQorLSAgICAgICAgaWYgc3RhdHVzIGluIG9wdGlv bmFsX3N0ZXBzIGFuZCBjb3VudHMgPT0gMDoKKysgICAgICAgIGlmIHN0YXR1cyBpbiBPUFRJT05B TF9TVEVQUyBhbmQgY291bnRzID09IDA6CisgICAgICAgICAgICAgIyAtLSBTSE9XLU9OTFk6IEZv ciByZWxldmFudCBjb3VudHMsIHN1cHByZXNzOiB1bnRlc3RlZCBpdGVtcywgZXRjLgorICAgICAg ICAgICAgIGNvbnRpbnVlCistCistICAgICAgICBjb3VudHNfc3VtICs9IGNvdW50cworICAgICAg ICAgcGFydHMuYXBwZW5kKChzdGF0dXMubmFtZSwgY291bnRzKSkKKyAKKysgICAgY291bnRzX3N1 bSA9IHN1bW1hcnlbImFsbCJdCisgICAgIHN0YXRlbWVudCA9IHBsdXJhbGl6ZShzdGF0ZW1lbnRf dHlwZSwgc3VtKQorICAgICBwYXJ0c190ZXh0ID0gIiwgIi5qb2luKFsiezB9OiB7MX0iLmZvcm1h dChuYW1lLCB2YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG5hbWUsIHZh bHVlIGluIHBhcnRzXSkKK0BAIC03OSw2ICsxMTYsOSBAQCBkZWYgZm9ybWF0X3N1bW1hcnkyKHN0 YXRlbWVudF90eXBlLCBzdW1tYXJ5LCBlbmQ9IlxuIik6CisgICAgICAgICBjb3VudD1jb3VudHNf c3VtLCBzdGF0ZW1lbnQ9c3RhdGVtZW50LCBwYXJ0cz1wYXJ0c190ZXh0LCBlbmQ9ZW5kKQorIAor IAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBSRVBPUlRFUlM6CisrIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyBjbGFzcyBTdW1tYXJ5UmVwb3J0ZXIoUmVwb3J0ZXIpOgorICAgICBzaG93X2ZhaWxl ZF9zY2VuYXJpb3MgPSBUcnVlCisgICAgIG91dHB1dF9zdHJlYW1fbmFtZSA9ICJzdGRvdXQiCitA QCAtODgsNiArMTI4LDcgQEAgY2xhc3MgU3VtbWFyeVJlcG9ydGVyKFJlcG9ydGVyKToKKyAgICAg ICAgIHN0cmVhbSA9IGdldGF0dHIoc3lzLCBzZWxmLm91dHB1dF9zdHJlYW1fbmFtZSwgc3lzLnN0 ZGVycikKKyAgICAgICAgIHNlbGYuc3RyZWFtID0gU3RyZWFtT3BlbmVyLmVuc3VyZV9zdHJlYW1f d2l0aF9lbmNvZGVyKHN0cmVhbSkKKyAgICAgICAgIHN1bW1hcnlfemVyb19kYXRhID0geworKyAg ICAgICAgICAgICJhbGwiOiAwLAorICAgICAgICAgICAgIFN0YXR1cy5wYXNzZWQubmFtZTogMCwK KyAgICAgICAgICAgICBTdGF0dXMuZmFpbGVkLm5hbWU6IDAsCisgICAgICAgICAgICAgU3RhdHVz LnNraXBwZWQubmFtZTogMCwKK0BAIC0xMjIsMTAgKzE2MywyMiBAQCBjbGFzcyBTdW1tYXJ5UmVw b3J0ZXIoUmVwb3J0ZXIpOgorICAgICAgICAgZm9yIHNjZW5hcmlvIGluIHNlbGYuZmFpbGVkX3Nj ZW5hcmlvczoKKyAgICAgICAgICAgICBzdHJlYW0ud3JpdGUodSIgICVzICAlc1xuIiAlIChzY2Vu YXJpby5sb2NhdGlvbiwgc2NlbmFyaW8ubmFtZSkpCisgCisrICAgIGRlZiBjb21wdXRlX3N1bW1h cnlfc3VtcyhzZWxmKToKKysgICAgICAgICIiIihSZSlDb21wdXRlIHN1bW1hcnkgc3VtIG9mIGFs bCBjb3VudHMgKGV4Y2VwdDogYWxsKS4iIiIKKysgICAgICAgIHN1bW1hcmllcyA9IFsKKysgICAg ICAgICAgICBzZWxmLmZlYXR1cmVfc3VtbWFyeSwKKysgICAgICAgICAgICBzZWxmLnJ1bGVfc3Vt bWFyeSwKKysgICAgICAgICAgICBzZWxmLnNjZW5hcmlvX3N1bW1hcnksCisrICAgICAgICAgICAg c2VsZi5zdGVwX3N1bW1hcnkKKysgICAgICAgIF0KKysgICAgICAgIGZvciBzdW1tYXJ5IGluIHN1 bW1hcmllczoKKysgICAgICAgICAgICBzdW1tYXJ5WyJhbGwiXSA9IGNvbXB1dGVfc3VtbWFyeV9z dW0oc3VtbWFyeSkKKysKKyAgICAgZGVmIHByaW50X3N1bW1hcnkoc2VsZiwgc3RyZWFtPU5vbmUs IHdpdGhfZHVyYXRpb249VHJ1ZSk6CisgICAgICAgICBpZiBzdHJlYW0gaXMgTm9uZToKKyAgICAg ICAgICAgICBzdHJlYW0gPSBzZWxmLnN0cmVhbQorIAorKyAgICAgICAgc2VsZi5jb21wdXRlX3N1 bW1hcnlfc3VtcygpCisgICAgICAgICBzdHJlYW0ud3JpdGUoZm9ybWF0X3N1bW1hcnkoImZlYXR1 cmUiLCBzZWxmLmZlYXR1cmVfc3VtbWFyeSkpCisgICAgICAgICBydWxlc19zdW1tYXJ5ID0gZm9y bWF0X3N1bW1hcnkoInJ1bGUiLCBzZWxmLnJ1bGVfc3VtbWFyeSkKKyAgICAgICAgIGlmIHNlbGYu c2hvd19ydWxlcyBhbmQgbm90IHJ1bGVzX3N1bW1hcnkuc3RyaXAoKS5zdGFydHN3aXRoKCIwIik6 CitAQCAtMTQ1LDEzICsxOTgsNyBAQCBjbGFzcyBTdW1tYXJ5UmVwb3J0ZXIoUmVwb3J0ZXIpOgor ICAgICAgICAgICAgICMgLS0gRElTQ09WRVI6IFRFU1QtUlVOIHN0YXJ0ZWQuCisgICAgICAgICAg ICAgc2VsZi50ZXN0cnVuX3N0YXJ0ZWQoKQorIAorLSAgICAgICAgc2VsZi5mZWF0dXJlX3N1bW1h cnlbZmVhdHVyZS5zdGF0dXMubmFtZV0gKz0gMQorLSAgICAgICAgc2VsZi5kdXJhdGlvbiArPSBm ZWF0dXJlLmR1cmF0aW9uCistICAgICAgICBmb3Igc2NlbmFyaW8gaW4gZmVhdHVyZToKKy0gICAg ICAgICAgICBpZiBpc2luc3RhbmNlKHNjZW5hcmlvLCBTY2VuYXJpb091dGxpbmUpOgorLSAgICAg ICAgICAgICAgICBzZWxmLnByb2Nlc3Nfc2NlbmFyaW9fb3V0bGluZShzY2VuYXJpbykKKy0gICAg ICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBzZWxmLnByb2Nlc3Nfc2NlbmFyaW8oc2Nl bmFyaW8pCisrICAgICAgICBzZWxmLnByb2Nlc3NfZmVhdHVyZShmZWF0dXJlKQorIAorICAgICBk ZWYgZW5kKHNlbGYpOgorICAgICAgICAgc2VsZi50ZXN0cnVuX2ZpbmlzaGVkKCkKK0BAIC0xNjQs NiArMjExLDI1IEBAIGNsYXNzIFN1bW1hcnlSZXBvcnRlcihSZXBvcnRlcik6CisgICAgICAgICAj IC0tIFNIT1cgU1VNTUFSWSBDT1VOVFM6CisgICAgICAgICBzZWxmLnByaW50X3N1bW1hcnkoKQor IAorKyAgICBkZWYgcHJvY2Vzc19ydW5faXRlbXNfZm9yKHNlbGYsIHBhcmVudCk6CisrICAgICAg ICBmb3IgcnVuX2l0ZW0gaW4gcGFyZW50OgorKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocnVu X2l0ZW0sIFJ1bGUpOgorKyAgICAgICAgICAgICAgICBzZWxmLnByb2Nlc3NfcnVsZShydW5faXRl bSkKKysgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvT3V0bGlu ZSk6CisrICAgICAgICAgICAgICAgIHNlbGYucHJvY2Vzc19zY2VuYXJpb19vdXRsaW5lKHJ1bl9p dGVtKQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgICMgYXNzZXJ0IGlzaW5z dGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKQorKyAgICAgICAgICAgICAgICBzZWxmLnByb2Nlc3Nf c2NlbmFyaW8ocnVuX2l0ZW0pCisrCisrICAgIGRlZiBwcm9jZXNzX2ZlYXR1cmUoc2VsZiwgZmVh dHVyZSk6CisrICAgICAgICBzZWxmLmR1cmF0aW9uICs9IGZlYXR1cmUuZHVyYXRpb24KKysgICAg ICAgIHNlbGYuZmVhdHVyZV9zdW1tYXJ5W2ZlYXR1cmUuc3RhdHVzLm5hbWVdICs9IDEKKysgICAg ICAgIHNlbGYucHJvY2Vzc19ydW5faXRlbXNfZm9yKGZlYXR1cmUpCisrCisrICAgIGRlZiBwcm9j ZXNzX3J1bGUoc2VsZiwgcnVsZSk6CisrICAgICAgICBzZWxmLnJ1bGVfc3VtbWFyeVtydWxlLnN0 YXR1cy5uYW1lXSArPSAxCisrICAgICAgICBzZWxmLnByb2Nlc3NfcnVuX2l0ZW1zX2ZvcihydWxl KQorKworICAgICBkZWYgcHJvY2Vzc19zY2VuYXJpbyhzZWxmLCBzY2VuYXJpbyk6CisgICAgICAg ICBpZiBzY2VuYXJpby5zdGF0dXMgPT0gU3RhdHVzLmZhaWxlZDoKKyAgICAgICAgICAgICBzZWxm LmZhaWxlZF9zY2VuYXJpb3MuYXBwZW5kKHNjZW5hcmlvKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Vu aXQvcmVwb3J0ZXJzL19faW5pdF9fLnB5IGIvdGVzdHMvdW5pdC9yZXBvcnRlci9fX2luaXRfXy5w eQorc2ltaWxhcml0eSBpbmRleCAxMDAlCityZW5hbWUgZnJvbSB0ZXN0cy91bml0L3JlcG9ydGVy cy9fX2luaXRfXy5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvcmVwb3J0ZXIvX19pbml0X18ucHkK K2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3JlcG9ydGVycy90ZXN0X3N1bW1hcnkucHkgYi90ZXN0 cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5weQorc2ltaWxhcml0eSBpbmRleCA5OSUKK3Jl bmFtZSBmcm9tIHRlc3RzL3VuaXQvcmVwb3J0ZXJzL3Rlc3Rfc3VtbWFyeS5weQorcmVuYW1lIHRv IHRlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CitpbmRleCAwMjE1NGRiLi45N2Fk YmI1IDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC9yZXBvcnRlcnMvdGVzdF9zdW1tYXJ5LnB5Cisr KysgYi90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5weQorQEAgLTEyMCw2ICsxMjAs NyBAQCBjbGFzcyBUZXN0U3VtbWFyeVJlcG9ydGVyKG9iamVjdCk6CisgICAgICAgICByZXBvcnRl ci5lbmQoKQorIAorICAgICAgICAgZXhwZWN0ZWQgPSB7CisrICAgICAgICAgICAgImFsbCI6IDUs CisgICAgICAgICAgICAgU3RhdHVzLnBhc3NlZC5uYW1lOiAyLAorICAgICAgICAgICAgIFN0YXR1 cy5mYWlsZWQubmFtZTogMSwKKyAgICAgICAgICAgICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAxLAor QEAgLTE1Niw2ICsxNTcsNyBAQCBjbGFzcyBUZXN0U3VtbWFyeVJlcG9ydGVyKG9iamVjdCk6Cisg ICAgICAgICByZXBvcnRlci5lbmQoKQorIAorICAgICAgICAgZXhwZWN0ZWQgPSB7CisrICAgICAg ICAgICAgImFsbCI6IDUsCisgICAgICAgICAgICAgU3RhdHVzLnBhc3NlZC5uYW1lOiAxLAorICAg ICAgICAgICAgIFN0YXR1cy5mYWlsZWQubmFtZTogMiwKKyAgICAgICAgICAgICBTdGF0dXMuc2tp cHBlZC5uYW1lOiAxLAorQEAgLTIwMSw2ICsyMDMsNyBAQCBjbGFzcyBUZXN0U3VtbWFyeVJlcG9y dGVyKG9iamVjdCk6CisgICAgICAgICByZXBvcnRlci5lbmQoKQorIAorICAgICAgICAgZXhwZWN0 ZWQgPSB7CisrICAgICAgICAgICAgImFsbCI6IDcsCisgICAgICAgICAgICAgU3RhdHVzLnBhc3Nl ZC5uYW1lOiAyLAorICAgICAgICAgICAgIFN0YXR1cy5mYWlsZWQubmFtZTogMywKKyAgICAgICAg ICAgICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAyLAorQEAgLTI0MSw2ICsyNDQsNyBAQCBjbGFzcyBU ZXN0U3VtbWFyeVJlcG9ydGVyKG9iamVjdCk6CisgICAgICAgICByZXBvcnRlci5lbmQoKQorIAor ICAgICAgICAgZXhwZWN0ZWQgPSB7CisrICAgICAgICAgICAgImFsbCI6IDUsCisgICAgICAgICAg ICAgU3RhdHVzLnBhc3NlZC5uYW1lOiAyLAorICAgICAgICAgICAgIFN0YXR1cy5mYWlsZWQubmFt ZTogMSwKKyAgICAgICAgICAgICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAxLApkaWZmIC0tZ2l0IGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNS1T dW1tYXJ5UmVwb3J0ZXIucHJpbnRfc3VtbWFyeS1TaW1wbGlmeS1pZi1SdWxlcy1hcmUtLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAw NS1TdW1tYXJ5UmVwb3J0ZXIucHJpbnRfc3VtbWFyeS1TaW1wbGlmeS1pZi1SdWxlcy1hcmUtLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMmNiZjAyOTI1Ci0tLSAv ZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAwNS1TdW1tYXJ5UmVwb3J0ZXIucHJpbnRfc3VtbWFyeS1TaW1wbGlmeS1pZi1S dWxlcy1hcmUtLnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gZGIxZWFkOTkxOTI0ZmI3MWQ4 N2UwMmFhNDNmZmE3M2VhZTYwNTk0ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGpl bmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCAxMyBN YXIgMjAxOSAwODo0MTozNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBTdW1tYXJ5UmVwb3J0ZXIu cHJpbnRfc3VtbWFyeTogU2ltcGxpZnkgaWYgUnVsZXMgYXJlIHVzZWQuCisKKy0tLQorIGJlaGF2 ZS9yZXBvcnRlci9zdW1tYXJ5LnB5ICAgICAgICAgIHwgNyArKysrLS0tCisgdGVzdHMvdW5pdC9y ZXBvcnRlci90ZXN0X3N1bW1hcnkucHkgfCA2ICsrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNyBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3JlcG9y dGVyL3N1bW1hcnkucHkgYi9iZWhhdmUvcmVwb3J0ZXIvc3VtbWFyeS5weQoraW5kZXggMmNjZGM4 Zi4uMDkyODVlYSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5CisrKysg Yi9iZWhhdmUvcmVwb3J0ZXIvc3VtbWFyeS5weQorQEAgLTE3OSwxMSArMTc5LDEyIEBAIGNsYXNz IFN1bW1hcnlSZXBvcnRlcihSZXBvcnRlcik6CisgICAgICAgICAgICAgc3RyZWFtID0gc2VsZi5z dHJlYW0KKyAKKyAgICAgICAgIHNlbGYuY29tcHV0ZV9zdW1tYXJ5X3N1bXMoKQorKyAgICAgICAg aGFzX3J1bGVzID0gKHNlbGYucnVsZV9zdW1tYXJ5WyJhbGwiXSA+IDApCisrCisgICAgICAgICBz dHJlYW0ud3JpdGUoZm9ybWF0X3N1bW1hcnkoImZlYXR1cmUiLCBzZWxmLmZlYXR1cmVfc3VtbWFy eSkpCistICAgICAgICBydWxlc19zdW1tYXJ5ID0gZm9ybWF0X3N1bW1hcnkoInJ1bGUiLCBzZWxm LnJ1bGVfc3VtbWFyeSkKKy0gICAgICAgIGlmIHNlbGYuc2hvd19ydWxlcyBhbmQgbm90IHJ1bGVz X3N1bW1hcnkuc3RyaXAoKS5zdGFydHN3aXRoKCIwIik6CisrICAgICAgICBpZiBzZWxmLnNob3df cnVsZXMgYW5kIGhhc19ydWxlczoKKyAgICAgICAgICAgICAjIC0tIEhJTlQ6IFNob3cgb25seSBy dWxlcywgaWYgYW55IGV4aXN0cy4KKy0gICAgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZShydWxl c19zdW1tYXJ5KQorKyAgICAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKGZvcm1hdF9zdW1tYXJ5 KCJydWxlIiwgc2VsZi5ydWxlX3N1bW1hcnkpKQorICAgICAgICAgc3RyZWFtLndyaXRlKGZvcm1h dF9zdW1tYXJ5KCJzY2VuYXJpbyIsIHNlbGYuc2NlbmFyaW9fc3VtbWFyeSkpCisgICAgICAgICBz dHJlYW0ud3JpdGUoZm9ybWF0X3N1bW1hcnkoInN0ZXAiLCBzZWxmLnN0ZXBfc3VtbWFyeSkpCisg CitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1hcnkucHkgYi90ZXN0 cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5weQoraW5kZXggOTdhZGJiNS4uZDRlODViNSAx MDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CisrKysgYi90 ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5weQorQEAgLTE2NCw3ICsxNjQsNyBAQCBj bGFzcyBUZXN0U3VtbWFyeVJlcG9ydGVyKG9iamVjdCk6CisgICAgICAgICAgICAgU3RhdHVzLnVu dGVzdGVkLm5hbWU6IDEsCisgICAgICAgICB9CisgCistICAgICAgICBzY2VuYXJpb19pbmRleCA9 IDIKKysgICAgICAgIHNjZW5hcmlvX2luZGV4ID0gMSAgIyAtLSBISU5UOiBJbmRleCBmb3Igc2Nl bmFyaW9zIGlmIG5vIFJ1bGVzIGFyZSB1c2VkLgorICAgICAgICAgZXhwZWN0ZWRfcGFydHMgPSAo InNjZW5hcmlvIiwgZXhwZWN0ZWQpCisgICAgICAgICBhc3NlcnQgZm9ybWF0X3N1bW1hcnkuY2Fs bF9hcmdzX2xpc3Rbc2NlbmFyaW9faW5kZXhdWzBdID09IGV4cGVjdGVkX3BhcnRzCisgCitAQCAt MjA5LDcgKzIwOSw3IEBAIGNsYXNzIFRlc3RTdW1tYXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAgICAg ICAgICAgICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAyLAorICAgICAgICAgICAgIFN0YXR1cy51bnRl c3RlZC5uYW1lOiAwLAorICAgICAgICAgfQorLSAgICAgICAgc2NlbmFyaW9faW5kZXggPSAyCisr ICAgICAgICBzY2VuYXJpb19pbmRleCA9IDEgICMgLS0gSElOVDogSW5kZXggZm9yIHNjZW5hcmlv cyBpZiBubyBSdWxlcyBhcmUgdXNlZC4KKyAgICAgICAgIGV4cGVjdGVkX3BhcnRzID0gKCJzY2Vu YXJpbyIsIGV4cGVjdGVkKQorICAgICAgICAgYXNzZXJ0IGZvcm1hdF9zdW1tYXJ5LmNhbGxfYXJn c19saXN0W3NjZW5hcmlvX2luZGV4XVswXSA9PSBleHBlY3RlZF9wYXJ0cworIAorQEAgLTI1Miw2 ICsyNTIsNiBAQCBjbGFzcyBUZXN0U3VtbWFyeVJlcG9ydGVyKG9iamVjdCk6CisgICAgICAgICAg ICAgU3RhdHVzLnVuZGVmaW5lZC5uYW1lOiAxLAorICAgICAgICAgfQorIAorLSAgICAgICAgc3Rl cF9pbmRleCA9IDMKKysgICAgICAgIHN0ZXBfaW5kZXggPSAyICAjIEhJTlQ6IEluZGV4IGZvciBz dGVwcyBpZiBub3QgcnVsZXMgYXJlIHVzZWQuCisgICAgICAgICBleHBlY3RlZF9wYXJ0cyA9ICgi c3RlcCIsIGV4cGVjdGVkKQorICAgICAgICAgYXNzZXJ0IGZvcm1hdF9zdW1tYXJ5LmNhbGxfYXJn c19saXN0W3N0ZXBfaW5kZXhdWzBdID09IGV4cGVjdGVkX3BhcnRzCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA2LUZvcm1h dHRlci1BZGQtYmFzaWMtc3VwcG9ydC1vdXRwdXQtZm9yLVJ1bGVzLnBhdGNoIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNi1Gb3JtYXR0ZXIt QWRkLWJhc2ljLXN1cHBvcnQtb3V0cHV0LWZvci1SdWxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLmJjZmUzMTViZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDYtRm9ybWF0 dGVyLUFkZC1iYXNpYy1zdXBwb3J0LW91dHB1dC1mb3ItUnVsZXMucGF0Y2gKQEAgLTAsMCArMSwz OTUgQEAKK0Zyb20gMjQ4MTFiNjMxZTBlZWQ5MjM0Nzg4MGYxZGFjM2Y5MzJmNGI0NmY5ZCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogV2VkLCAxMyBNYXIgMjAxOSAyMzowODoxOSArMDEwMAorU3Vi amVjdDogW1BBVENIXSBGb3JtYXR0ZXI6IEFkZCBiYXNpYyBzdXBwb3J0L291dHB1dCBmb3IgUnVs ZXMuCisKKy0tLQorIGJlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weSAgICAgfCAxOCArKysrKy0tLS0t LQorIGJlaGF2ZS9mb3JtYXR0ZXIvcGxhaW4ucHkgICAgfCA2MyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0KKyBiZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5weSAgIHwgMzMgKysr KysrKysrKysrKysrLS0tLQorIGJlaGF2ZS9mb3JtYXR0ZXIvcHJvZ3Jlc3MucHkgfCAxOCArKysr KysrKysrLQorIGJlaGF2ZS9tb2RlbC5weSAgICAgICAgICAgICAgfCAxNCArKysrLS0tLQorIDUg ZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvYmVoYXZlL2Zvcm1hdHRlci9iYXNlLnB5IGIvYmVoYXZlL2Zvcm1hdHRlci9iYXNl LnB5CitpbmRleCBmNzI2OGZhLi5hOGI5ZjdjIDEwMDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRl ci9iYXNlLnB5CisrKysgYi9iZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkKK0BAIC0xMjksMTUgKzEy OSw2IEBAIGNsYXNzIEZvcm1hdHRlcihvYmplY3QpOgorICAgICAgICAgIiIiCisgICAgICAgICBw YXNzCisgCistICAgIGRlZiBiYWNrZ3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgorLSAgICAgICAg IiIiQ2FsbGVkIHdoZW4gYSAoRmVhdHVyZSkgQmFja2dyb3VuZCBpcyBwcm92aWRlZC4KKy0gICAg ICAgIENhbGxlZCBhZnRlciA6bWV0aG9kOmBmZWF0dXJlKClgIGlzIGNhbGxlZC4KKy0gICAgICAg IENhbGxlZCBiZWZvcmUgcHJvY2Vzc2luZyBhbnkgc2NlbmFyaW9zIG9yIHNjZW5hcmlvIG91dGxp bmVzLgorLQorLSAgICAgICAgOnBhcmFtIGJhY2tncm91bmQ6ICBCYWNrZ3JvdW5kIG9iamVjdCAo YXMgOmNsYXNzOmBiZWhhdmUubW9kZWwuQmFja2dyb3VuZGApCistICAgICAgICAiIiIKKy0gICAg ICAgIHBhc3MKKy0KKyAgICAgZGVmIHJ1bGUoc2VsZiwgcnVsZSk6CisgICAgICAgICAiIiJDYWxs ZWQgYmVmb3JlIGEgcnVsZSBpcyBleGVjdXRlZC4KKyAKK0BAIC0xNTMsNiArMTQ0LDE1IEBAIGNs YXNzIEZvcm1hdHRlcihvYmplY3QpOgorICAgICAjICAgICAiIiIKKyAgICAgIyAgICAgcGFzcwor IAorKyAgICBkZWYgYmFja2dyb3VuZChzZWxmLCBiYWNrZ3JvdW5kKToKKysgICAgICAgICIiIkNh bGxlZCB3aGVuIGEgKEZlYXR1cmUpIEJhY2tncm91bmQgaXMgcHJvdmlkZWQuCisrICAgICAgICBD YWxsZWQgYWZ0ZXIgOm1ldGhvZDpgZmVhdHVyZSgpYCBpcyBjYWxsZWQuCisrICAgICAgICBDYWxs ZWQgYmVmb3JlIHByb2Nlc3NpbmcgYW55IHNjZW5hcmlvcyBvciBzY2VuYXJpbyBvdXRsaW5lcy4K KysKKysgICAgICAgIDpwYXJhbSBiYWNrZ3JvdW5kOiAgQmFja2dyb3VuZCBvYmplY3QgKGFzIDpj bGFzczpgYmVoYXZlLm1vZGVsLkJhY2tncm91bmRgKQorKyAgICAgICAgIiIiCisrICAgICAgICBw YXNzCisrCisgICAgIGRlZiBzY2VuYXJpbyhzZWxmLCBzY2VuYXJpbyk6CisgICAgICAgICAiIiJD YWxsZWQgYmVmb3JlIGEgc2NlbmFyaW8gaXMgZXhlY3V0ZWQgKG9yIFNjZW5hcmlvT3V0bGluZSBz Y2VuYXJpb3MpLgorIAorZGlmZiAtLWdpdCBhL2JlaGF2ZS9mb3JtYXR0ZXIvcGxhaW4ucHkgYi9i ZWhhdmUvZm9ybWF0dGVyL3BsYWluLnB5CitpbmRleCA5ZjFmODMzLi5lNzIwODI5IDEwMDY0NAor LS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9wbGFpbi5weQorKysrIGIvYmVoYXZlL2Zvcm1hdHRlci9w bGFpbi5weQorQEAgLTIzLDYgKzIzLDggQEAgY2xhc3MgUGxhaW5Gb3JtYXR0ZXIoRm9ybWF0dGVy KToKKyAKKyAgICAgU0hPV19NVUxUSV9MSU5FID0gVHJ1ZQorICAgICBTSE9XX1RBR1MgPSBGYWxz ZQorKyAgICBTSE9XX1JVTEVTID0gVHJ1ZQorKyAgICBTSE9XX0JBQ0tHUk9VTkRTID0gVHJ1ZQor ICAgICBTSE9XX0FMSUdORURfS0VZV09SRFMgPSBGYWxzZQorICAgICBERUZBVUxUX0lOREVOVF9T SVpFID0gMgorICAgICBSQUlTRV9PVVRQVVRfRVJST1JTID0gVHJ1ZQorQEAgLTM1LDYgKzM3LDcg QEAgY2xhc3MgUGxhaW5Gb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAgICAgICAgIHNlbGYuc2hvd19h bGlnbmVkX2tleXdvcmRzID0gc2VsZi5TSE9XX0FMSUdORURfS0VZV09SRFMKKyAgICAgICAgIHNl bGYuc2hvd190YWdzID0gc2VsZi5TSE9XX1RBR1MKKyAgICAgICAgIHNlbGYuaW5kZW50X3NpemUg PSBzZWxmLkRFRkFVTFRfSU5ERU5UX1NJWkUKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0g Tm9uZQorICAgICAgICAgIyAtLSBFTlNVUkU6IE91dHB1dCBzdHJlYW0gaXMgb3Blbi4KKyAgICAg ICAgIHNlbGYuc3RyZWFtID0gc2VsZi5vcGVuKCkKKyAgICAgICAgIHNlbGYucHJpbnRlciA9IE1v ZGVsUHJpbnRlcihzZWxmLnN0cmVhbSkKK0BAIC00OSw2ICs1MiwxMCBAQCBjbGFzcyBQbGFpbkZv cm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgICAgICAgICBvZmZzZXQgPSAyCisgICAgICAg ICAgICAgaW5kZW50YXRpb24gPSBtYWtlX2luZGVudGF0aW9uKDMgKiBzZWxmLmluZGVudF9zaXpl ICsgb2Zmc2V0KQorICAgICAgICAgICAgIHNlbGYuX211bHRpbGluZV9pbmRlbnRhdGlvbiA9IGlu ZGVudGF0aW9uCisrCisrICAgICAgICBpZiBzZWxmLmN1cnJlbnRfcnVsZToKKysgICAgICAgICAg ICBpbmRlbnRfZXh0cmEgPSBtYWtlX2luZGVudGF0aW9uKHNlbGYuaW5kZW50X3NpemUpCisrICAg ICAgICAgICAgcmV0dXJuIHNlbGYuX211bHRpbGluZV9pbmRlbnRhdGlvbiArIGluZGVudF9leHRy YQorICAgICAgICAgcmV0dXJuIHNlbGYuX211bHRpbGluZV9pbmRlbnRhdGlvbgorIAorICAgICBk ZWYgcmVzZXRfc3RlcHMoc2VsZik6CitAQCAtNjAsMzcgKzY3LDY5IEBAIGNsYXNzIFBsYWluRm9y bWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICAgICAgdGV4dCA9ICIgQCIuam9pbih0YWdzKQor ICAgICAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUiJXNAJXNcbiIgJSAoaW5kZW50LCB0ZXh0 KSkKKyAKKysgICAgZGVmIHdyaXRlX2VudGl0eShzZWxmLCBlbnRpdHksIGluZGVudD0iIiwgaGFz X3RhZ3M9VHJ1ZSk6CisrICAgICAgICBpZiBoYXNfdGFnczoKKysgICAgICAgICAgICBzZWxmLndy aXRlX3RhZ3MoZW50aXR5LnRhZ3MsIGluZGVudCkKKysgICAgICAgIHRleHQgPSB1IiVzJXM6ICVz XG4iICUgKGluZGVudCwgZW50aXR5LmtleXdvcmQsIGVudGl0eS5uYW1lKQorKyAgICAgICAgc2Vs Zi5zdHJlYW0ud3JpdGUodGV4dCkKKysKKyAgICAgIyAtLSBJTVBMRU1FTlQtSU5URVJGQUNFIEZP UjogRm9ybWF0dGVyCisgICAgIGRlZiBmZWF0dXJlKHNlbGYsIGZlYXR1cmUpOgorKyAgICAgICAg c2VsZi5jdXJyZW50X3J1bGUgPSBOb25lCisgICAgICAgICBzZWxmLnJlc2V0X3N0ZXBzKCkKKy0g ICAgICAgIHNlbGYud3JpdGVfdGFncyhmZWF0dXJlLnRhZ3MpCistICAgICAgICBzZWxmLnN0cmVh bS53cml0ZSh1IiVzOiAlc1xuIiAlIChmZWF0dXJlLmtleXdvcmQsIGZlYXR1cmUubmFtZSkpCisr ICAgICAgICBzZWxmLndyaXRlX2VudGl0eShmZWF0dXJlKQorKyAgICAgICAgIyBzZWxmLndyaXRl X3RhZ3MoZmVhdHVyZS50YWdzKQorKyAgICAgICAgIyBzZWxmLnN0cmVhbS53cml0ZSh1IiVzOiAl c1xuIiAlIChmZWF0dXJlLmtleXdvcmQsIGZlYXR1cmUubmFtZSkpCisgCistICAgIGRlZiBiYWNr Z3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgorKyAgICBkZWYgcnVsZShzZWxmLCBydWxlKToKKysg ICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gcnVsZQorICAgICAgICAgc2VsZi5yZXNldF9zdGVw cygpCisgICAgICAgICBpbmRlbnQgPSBtYWtlX2luZGVudGF0aW9uKHNlbGYuaW5kZW50X3NpemUp CistICAgICAgICB0ZXh0ID0gdSIlcyVzOiAlc1xuIiAlIChpbmRlbnQsIGJhY2tncm91bmQua2V5 d29yZCwgYmFja2dyb3VuZC5uYW1lKQorLSAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodGV4dCkK KysgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUiXG4iKQorKyAgICAgICAgc2VsZi53cml0ZV9l bnRpdHkocnVsZSwgaW5kZW50KQorKyAgICAgICAgIyBzZWxmLnN0cmVhbS53cml0ZSh1IiVzJXM6 ICVzXG4iICUgKGluZGVudCwgcnVsZS5rZXl3b3JkLCBydWxlLm5hbWUpKQorKworKyAgICBkZWYg YmFja2dyb3VuZChzZWxmLCBiYWNrZ3JvdW5kKToKKysgICAgICAgIHNlbGYucmVzZXRfc3RlcHMo KQorKyAgICAgICAgaWYgbm90IHNlbGYuU0hPV19CQUNLR1JPVU5EUzoKKysgICAgICAgICAgICBy ZXR1cm4KKysKKysgICAgICAgIGluZGVudF9leHRyYSA9IDAKKysgICAgICAgIGlmIHNlbGYuY3Vy cmVudF9ydWxlOgorKyAgICAgICAgICAgIGluZGVudF9leHRyYSA9IHNlbGYuaW5kZW50X3NpemUK KysKKysgICAgICAgIGluZGVudCA9IG1ha2VfaW5kZW50YXRpb24oc2VsZi5pbmRlbnRfc2l6ZSAr IGluZGVudF9leHRyYSkKKysgICAgICAgIHNlbGYud3JpdGVfZW50aXR5KGJhY2tncm91bmQsIGlu ZGVudCwgaGFzX3RhZ3M9RmFsc2UpCisrICAgICAgICAjIHRleHQgPSB1IiVzJXM6ICVzXG4iICUg KGluZGVudCwgYmFja2dyb3VuZC5rZXl3b3JkLCBiYWNrZ3JvdW5kLm5hbWUpCisrICAgICAgICAj IHNlbGYuc3RyZWFtLndyaXRlKHRleHQpCisgCisgICAgIGRlZiBzY2VuYXJpbyhzZWxmLCBzY2Vu YXJpbyk6CisrICAgICAgICBpbmRlbnRfZXh0cmEgPSAwCisrICAgICAgICBpZiBzZWxmLmN1cnJl bnRfcnVsZToKKysgICAgICAgICAgICBpbmRlbnRfZXh0cmEgPSBzZWxmLmluZGVudF9zaXplCisr CisgICAgICAgICBzZWxmLnJlc2V0X3N0ZXBzKCkKKyAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRl KHUiXG4iKQorLSAgICAgICAgaW5kZW50ID0gbWFrZV9pbmRlbnRhdGlvbihzZWxmLmluZGVudF9z aXplKQorLSAgICAgICAgdGV4dCA9IHUiJXMlczogJXNcbiIgJSAoaW5kZW50LCBzY2VuYXJpby5r ZXl3b3JkLCBzY2VuYXJpby5uYW1lKQorLSAgICAgICAgc2VsZi53cml0ZV90YWdzKHNjZW5hcmlv LnRhZ3MsIGluZGVudCkKKy0gICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHRleHQpCisrICAgICAg ICBpbmRlbnQgPSBtYWtlX2luZGVudGF0aW9uKHNlbGYuaW5kZW50X3NpemUgKyBpbmRlbnRfZXh0 cmEpCisrICAgICAgICBzZWxmLndyaXRlX2VudGl0eShzY2VuYXJpbywgaW5kZW50KQorKyAgICAg ICAgIyB0ZXh0ID0gdSIlcyVzOiAlc1xuIiAlIChpbmRlbnQsIHNjZW5hcmlvLmtleXdvcmQsIHNj ZW5hcmlvLm5hbWUpCisrICAgICAgICAjIHNlbGYud3JpdGVfdGFncyhzY2VuYXJpby50YWdzLCBp bmRlbnQpCisrICAgICAgICAjIHNlbGYuc3RyZWFtLndyaXRlKHRleHQpCisgCisgICAgIGRlZiBz dGVwKHNlbGYsIHN0ZXApOgorICAgICAgICAgc2VsZi5zdGVwcy5hcHBlbmQoc3RlcCkKKyAKKyAg ICAgZGVmIHJlc3VsdChzZWxmLCBzdGVwKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUHJvY2Vz cyB0aGUgcmVzdWx0IG9mIGEgc3RlcCAoYWZ0ZXIgc3RlcCBleGVjdXRpb24pLgorKyAgICAgICAg IiIiUHJvY2VzcyB0aGUgcmVzdWx0IG9mIGEgc3RlcCAoYWZ0ZXIgc3RlcCBleGVjdXRpb24pLgor IAorICAgICAgICAgOnBhcmFtIHN0ZXA6ICAgU3RlcCBvYmplY3Qgd2l0aCByZXN1bHQgdG8gcHJv Y2Vzcy4KKyAgICAgICAgICIiIgorKyAgICAgICAgaW5kZW50X2V4dHJhID0gMAorKyAgICAgICAg aWYgc2VsZi5jdXJyZW50X3J1bGU6CisrICAgICAgICAgICAgaW5kZW50X2V4dHJhID0gc2VsZi5p bmRlbnRfc2l6ZQorKworICAgICAgICAgc3RlcCA9IHNlbGYuc3RlcHMucG9wKDApCistICAgICAg ICBpbmRlbnQgPSBtYWtlX2luZGVudGF0aW9uKDIgKiBzZWxmLmluZGVudF9zaXplKQorKyAgICAg ICAgaW5kZW50ID0gbWFrZV9pbmRlbnRhdGlvbigyICogc2VsZi5pbmRlbnRfc2l6ZSArIGluZGVu dF9leHRyYSkKKyAgICAgICAgIGlmIHNlbGYuc2hvd19hbGlnbmVkX2tleXdvcmRzOgorICAgICAg ICAgICAgICMgLS0gUklHSFQtQUxJR04gS0VZV09SRFMgKG1heC4ga2V5d29yZCB3aWR0aDogNik6 CisgICAgICAgICAgICAgdGV4dCA9IHUiJXMlNnMgJXMgLi4uICIgJSAoaW5kZW50LCBzdGVwLmtl eXdvcmQsIHN0ZXAubmFtZSkKK2RpZmYgLS1naXQgYS9iZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5w eSBiL2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5CitpbmRleCBiNmYwZWFjLi43OTRlMWQ3IDEw MDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9wcmV0dHkucHkKKysrKyBiL2JlaGF2ZS9mb3Jt YXR0ZXIvcHJldHR5LnB5CitAQCAtNiw3ICs2LDcgQEAgZnJvbSBiZWhhdmUuZm9ybWF0dGVyLmFu c2lfZXNjYXBlcyBpbXBvcnQgZXNjYXBlcywgdXAKKyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYmFz ZSBpbXBvcnQgRm9ybWF0dGVyCisgZnJvbSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgU3RhdHVz CisgZnJvbSBiZWhhdmUubW9kZWxfZGVzY3JpYmUgaW1wb3J0IGVzY2FwZV9jZWxsLCBlc2NhcGVf dHJpcGxlX3F1b3RlcworLWZyb20gYmVoYXZlLnRleHR1dGlsIGltcG9ydCBpbmRlbnQsIHRleHQg YXMgX3RleHQKKytmcm9tIGJlaGF2ZS50ZXh0dXRpbCBpbXBvcnQgaW5kZW50LCBtYWtlX2luZGVu dGF0aW9uLCB0ZXh0IGFzIF90ZXh0CisgaW1wb3J0IHNpeAorIGZyb20gc2l4Lm1vdmVzIGltcG9y dCByYW5nZSwgemlwCisgCitAQCAtODYsNiArODYsNyBAQCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIo Rm9ybWF0dGVyKToKKyAKKyAgICAgZGVmIHJlc2V0KHNlbGYpOgorICAgICAgICAgIyAtLSBVTlVT RUQ6IHNlbGYudGFnX3N0YXRlbWVudCA9IE5vbmUKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxl ID0gTm9uZQorICAgICAgICAgc2VsZi5zdGVwcyA9IFtdCisgICAgICAgICBzZWxmLl91cmkgPSBO b25lCisgICAgICAgICBzZWxmLl9tYXRjaCA9IE5vbmUKK0BAIC05OSw3ICsxMDAsOSBAQCBjbGFz cyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAKKyAgICAgZGVmIGZlYXR1cmUoc2VsZiwg ZmVhdHVyZSk6CisgICAgICAgICAjc2VsZi5wcmludF9jb21tZW50cyhmZWF0dXJlLmNvbW1lbnRz LCAnJykKKy0gICAgICAgIHNlbGYucHJpbnRfdGFncyhmZWF0dXJlLnRhZ3MsICcnKQorKyAgICAg ICAgc2VsZi5jdXJyZW50X3J1bGUgPSBOb25lCisrICAgICAgICBwcmVmaXggPSAiIgorKyAgICAg ICAgc2VsZi5wcmludF90YWdzKGZlYXR1cmUudGFncywgcHJlZml4KQorICAgICAgICAgc2VsZi5z dHJlYW0ud3JpdGUodSIlczogJXMiICUgKGZlYXR1cmUua2V5d29yZCwgZmVhdHVyZS5uYW1lKSkK KyAgICAgICAgIGlmIHNlbGYuc2hvd19zb3VyY2U6CisgICAgICAgICAgICAgIyBweWxpbnQ6IGRp c2FibGU9cmVkZWZpbmVkLWJ1aWx0aW4KK0BAIC0xMDksNiArMTEyLDExIEBAIGNsYXNzIFByZXR0 eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgc2VsZi5wcmludF9kZXNjcmlwdGlvbihm ZWF0dXJlLmRlc2NyaXB0aW9uLCAiICAiLCBGYWxzZSkKKyAgICAgICAgIHNlbGYuc3RyZWFtLmZs dXNoKCkKKyAKKysgICAgZGVmIHJ1bGUoc2VsZiwgcnVsZSk6CisrICAgICAgICBzZWxmLnJlcGxh eSgpCisrICAgICAgICBzZWxmLmN1cnJlbnRfcnVsZSA9IHJ1bGUKKysgICAgICAgIHNlbGYuc3Rh dGVtZW50ID0gcnVsZQorKworICAgICBkZWYgYmFja2dyb3VuZChzZWxmLCBiYWNrZ3JvdW5kKToK KyAgICAgICAgIHNlbGYucmVwbGF5KCkKKyAgICAgICAgIHNlbGYuc3RhdGVtZW50ID0gYmFja2dy b3VuZAorQEAgLTE3Niw2ICsxODQsMTAgQEAgY2xhc3MgUHJldHR5Rm9ybWF0dGVyKEZvcm1hdHRl cik6CisgICAgICAgICBzZWxmLnN0cmVhbS5mbHVzaCgpCisgCisgICAgIGRlZiB0YWJsZShzZWxm LCB0YWJsZSk6CisrICAgICAgICBwcmVmaXggPSB1IiAgICAgICIKKysgICAgICAgIGlmIHNlbGYu Y3VycmVudF9ydWxlOgorKyAgICAgICAgICAgIHByZWZpeCArPSB1IiAgIgorKworICAgICAgICAg Y2VsbF9sZW5ndGhzID0gW10KKyAgICAgICAgIGFsbF9yb3dzID0gW3RhYmxlLmhlYWRpbmdzXSAr IHRhYmxlLnJvd3MKKyAgICAgICAgIGZvciByb3cgaW4gYWxsX3Jvd3M6CitAQCAtMTg5LDcgKzIw MSw3IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgZm9yIGks IHJvdyBpbiBlbnVtZXJhdGUoYWxsX3Jvd3MpOgorICAgICAgICAgICAgICNmb3IgY29tbWVudCBp biByb3cuY29tbWVudHM6CisgICAgICAgICAgICAgIyAgICBzZWxmLnN0cmVhbS53cml0ZSgiICAg ICAgJXNcbiIgJSBjb21tZW50LnZhbHVlKQorLSAgICAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRl KCIgICAgICB8IikKKysgICAgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzfCIgJSBwcmVm aXgpCisgICAgICAgICAgICAgZm9yIGosIChjZWxsLCBtYXhfbGVuZ3RoKSBpbiBlbnVtZXJhdGUo emlwKHJvdywgbWF4X2xlbmd0aHMpKToKKyAgICAgICAgICAgICAgICAgc2VsZi5zdHJlYW0ud3Jp dGUoIiAiKQorICAgICAgICAgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZShzZWxmLmNvbG9yKGNl bGwsIE5vbmUsIGopKQorQEAgLTIwMiw2ICsyMTQsOCBAQCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIo Rm9ybWF0dGVyKToKKyAgICAgICAgICNzZWxmLnN0cmVhbS53cml0ZSgnICAgICAgIiIiJyArIGRv Y19zdHJpbmcuY29udGVudF90eXBlICsgJ1xuJykKKyAgICAgICAgIGRvY19zdHJpbmcgPSBfdGV4 dChkb2Nfc3RyaW5nKQorICAgICAgICAgcHJlZml4ID0gdSIgICAgICAiCisrICAgICAgICBpZiBz ZWxmLmN1cnJlbnRfcnVsZToKKysgICAgICAgICAgICBwcmVmaXggKz0gdSIgICIKKyAgICAgICAg IHNlbGYuc3RyZWFtLndyaXRlKHUnJXMiIiJcbicgJSBwcmVmaXgpCisgICAgICAgICBkb2Nfc3Ry aW5nID0gZXNjYXBlX3RyaXBsZV9xdW90ZXMoaW5kZW50KGRvY19zdHJpbmcsIHByZWZpeCkpCisg ICAgICAgICBzZWxmLnN0cmVhbS53cml0ZShkb2Nfc3RyaW5nKQorQEAgLTI1MSwxMiArMjY1LDE2 IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgaWYgc2VsZi5z dGF0ZW1lbnQgaXMgTm9uZToKKyAgICAgICAgICAgICByZXR1cm4KKyAKKysgICAgICAgIHByZWZp eCA9IHUiICAiCisrICAgICAgICBpZiBzZWxmLmN1cnJlbnRfcnVsZSBhbmQgc2VsZi5zdGF0ZW1l bnQudHlwZSAhPSAicnVsZSI6CisrICAgICAgICAgICAgcHJlZml4ICs9IHByZWZpeAorKworICAg ICAgICAgc2VsZi5jYWxjdWxhdGVfbG9jYXRpb25faW5kZW50YXRpb25zKCkKKyAgICAgICAgIHNl bGYuc3RyZWFtLndyaXRlKHUiXG4iKQorICAgICAgICAgI3NlbGYucHJpbnRfY29tbWVudHMoc2Vs Zi5zdGF0ZW1lbnQuY29tbWVudHMsICIgICIpCisgICAgICAgICBpZiBoYXNhdHRyKHNlbGYuc3Rh dGVtZW50LCAidGFncyIpOgorLSAgICAgICAgICAgIHNlbGYucHJpbnRfdGFncyhzZWxmLnN0YXRl bWVudC50YWdzLCB1IiAgIikKKy0gICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUiICAlczogJXMg IiAlIChzZWxmLnN0YXRlbWVudC5rZXl3b3JkLAorKyAgICAgICAgICAgIHNlbGYucHJpbnRfdGFn cyhzZWxmLnN0YXRlbWVudC50YWdzLCBwcmVmaXgpCisrICAgICAgICBzZWxmLnN0cmVhbS53cml0 ZSh1IiVzJXM6ICVzICIgJSAocHJlZml4LCBzZWxmLnN0YXRlbWVudC5rZXl3b3JkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RhdGVtZW50Lm5hbWUp KQorIAorICAgICAgICAgbG9jYXRpb24gPSBzZWxmLmluZGVudGVkX3RleHQoc2l4LnRleHRfdHlw ZShzZWxmLnN0YXRlbWVudC5sb2NhdGlvbiksIFRydWUpCitAQCAtMjc5LDggKzI5NywxMSBAQCBj bGFzcyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAgICAgICAgIHRleHRfZm9ybWF0ID0g c2VsZi5mb3JtYXQoc3RhdHVzLm5hbWUpCisgICAgICAgICBhcmdfZm9ybWF0ID0gc2VsZi5hcmdf Zm9ybWF0KHN0YXR1cy5uYW1lKQorIAorKyAgICAgICAgcHJlZml4ID0gdSIgICAgIgorKyAgICAg ICAgaWYgc2VsZi5jdXJyZW50X3J1bGU6CisrICAgICAgICAgICAgcHJlZml4ICs9IHUiICAiCisg ICAgICAgICAjc2VsZi5wcmludF9jb21tZW50cyhzdGVwLmNvbW1lbnRzLCAiICAgICIpCistICAg ICAgICBzZWxmLnN0cmVhbS53cml0ZSgiICAgICIpCisrICAgICAgICBzZWxmLnN0cmVhbS53cml0 ZShwcmVmaXgpCisgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh0ZXh0X2Zvcm1hdC50ZXh0KHN0 ZXAua2V5d29yZCArICIgIikpCisgICAgICAgICBsaW5lX2xlbmd0aCA9IDUgKyBsZW4oc3RlcC5r ZXl3b3JkKQorIAorZGlmZiAtLWdpdCBhL2JlaGF2ZS9mb3JtYXR0ZXIvcHJvZ3Jlc3MucHkgYi9i ZWhhdmUvZm9ybWF0dGVyL3Byb2dyZXNzLnB5CitpbmRleCA2ZDhhZGY2Li4zYjQ3MWVkIDEwMDY0 NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9wcm9ncmVzcy5weQorKysrIGIvYmVoYXZlL2Zvcm1h dHRlci9wcm9ncmVzcy5weQorQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgUHJvZ3Jlc3NGb3JtYXR0 ZXJCYXNlKEZvcm1hdHRlcik6CisgICAgICAgICBzZWxmLnN0ZXBzID0gW10KKyAgICAgICAgIHNl bGYuZmFpbHVyZXMgPSBbXQorICAgICAgICAgc2VsZi5jdXJyZW50X2ZlYXR1cmUgPSBOb25lCisr ICAgICAgICBzZWxmLmN1cnJlbnRfcnVsZSA9IE5vbmUKKyAgICAgICAgIHNlbGYuY3VycmVudF9z Y2VuYXJpbyA9IE5vbmUKKyAgICAgICAgIHNlbGYuc2hvd190aW1pbmdzID0gY29uZmlnLnNob3df dGltaW5ncyBhbmQgc2VsZi5zaG93X3RpbWluZ3MKKyAKK0BAIC01MCwxNCArNTEsMTkgQEAgY2xh c3MgUHJvZ3Jlc3NGb3JtYXR0ZXJCYXNlKEZvcm1hdHRlcik6CisgICAgICAgICBzZWxmLnN0ZXBz ID0gW10KKyAgICAgICAgIHNlbGYuZmFpbHVyZXMgPSBbXQorICAgICAgICAgc2VsZi5jdXJyZW50 X2ZlYXR1cmUgPSBOb25lCisrICAgICAgICBzZWxmLmN1cnJlbnRfcnVsZSA9IE5vbmUKKyAgICAg ICAgIHNlbGYuY3VycmVudF9zY2VuYXJpbyA9IE5vbmUKKyAKKyAgICAgIyAtLSBGT1JNQVRURVIg QVBJOgorICAgICBkZWYgZmVhdHVyZShzZWxmLCBmZWF0dXJlKToKKysgICAgICAgIHNlbGYuY3Vy cmVudF9ydWxlID0gTm9uZQorICAgICAgICAgc2VsZi5jdXJyZW50X2ZlYXR1cmUgPSBmZWF0dXJl CisgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSgiJXMgICIgJSBzaXgudGV4dF90eXBlKGZlYXR1 cmUuZmlsZW5hbWUpKQorICAgICAgICAgc2VsZi5zdHJlYW0uZmx1c2goKQorIAorKyAgICBkZWYg cnVsZShzZWxmLCBydWxlKToKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gcnVsZQorKwor ICAgICBkZWYgYmFja2dyb3VuZChzZWxmLCBiYWNrZ3JvdW5kKToKKyAgICAgICAgIHBhc3MKKyAK K0BAIC0yMTksOSArMjI1LDE2IEBAIGNsYXNzIFNjZW5hcmlvU3RlcFByb2dyZXNzRm9ybWF0dGVy KFN0ZXBQcm9ncmVzc0Zvcm1hdHRlcik6CisgCisgICAgICMgLS0gRk9STUFUVEVSIEFQSToKKyAg ICAgZGVmIGZlYXR1cmUoc2VsZiwgZmVhdHVyZSk6CisrICAgICAgICBzZWxmLmN1cnJlbnRfcnVs ZSA9IE5vbmUKKyAgICAgICAgIHNlbGYuY3VycmVudF9mZWF0dXJlID0gZmVhdHVyZQorICAgICAg ICAgc2VsZi5zdHJlYW0ud3JpdGUodSIlcyAgICAjICVzIiAlIChmZWF0dXJlLm5hbWUsIGZlYXR1 cmUuZmlsZW5hbWUpKQorIAorKyAgICBkZWYgcnVsZShzZWxmLCBydWxlKToKKysgICAgICAgIHNl bGYuY3VycmVudF9ydWxlID0gcnVsZQorKyAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSJcblxu ICAlczogJXMgICAgIyAlcyIgJQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHJ1bGUua2V5 d29yZCwgcnVsZS5uYW1lLCBydWxlLmxvY2F0aW9uKSkKKysgICAgICAgIHNlbGYuc3RyZWFtLmZs dXNoKCkKKysKKyAgICAgZGVmIHNjZW5hcmlvKHNlbGYsIHNjZW5hcmlvKToKKyAgICAgICAgICIi IlByb2Nlc3MgdGhlIG5leHQgc2NlbmFyaW8uIiIiCisgICAgICAgICAjIC0tIExBU1QgU0NFTkFS SU86IFJlcG9ydCBmYWlsdXJlcyAoaWYgYW55KS4KK0BAIC0yMzEsOSArMjQ0LDEyIEBAIGNsYXNz IFNjZW5hcmlvU3RlcFByb2dyZXNzRm9ybWF0dGVyKFN0ZXBQcm9ncmVzc0Zvcm1hdHRlcik6Cisg ICAgICAgICBhc3NlcnQgbm90IHNlbGYuZmFpbHVyZXMKKyAgICAgICAgIHNlbGYuY3VycmVudF9z Y2VuYXJpbyA9IHNjZW5hcmlvCisgICAgICAgICBzY2VuYXJpb19uYW1lID0gc2NlbmFyaW8ubmFt ZQorKyAgICAgICAgcHJlZml4ID0gc2VsZi5zY2VuYXJpb19wcmVmaXgKKysgICAgICAgIGlmIHNl bGYuY3VycmVudF9ydWxlOgorKyAgICAgICAgICAgIHByZWZpeCArPSB1IiAgIgorICAgICAgICAg aWYgc2NlbmFyaW9fbmFtZToKKyAgICAgICAgICAgICBzY2VuYXJpb19uYW1lICs9ICIgIgorLSAg ICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSIlcyVzICIgJSAoc2VsZi5zY2VuYXJpb19wcmVmaXgs IHNjZW5hcmlvX25hbWUpKQorKyAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSIlcyVzICIgJSAo cHJlZml4LCBzY2VuYXJpb19uYW1lKSkKKyAgICAgICAgIHNlbGYuc3RyZWFtLmZsdXNoKCkKKyAK KyAgICAgIyAtLSBESVNBQkxFRDoKK2RpZmYgLS1naXQgYS9iZWhhdmUvbW9kZWwucHkgYi9iZWhh dmUvbW9kZWwucHkKK2luZGV4IDYyMzgzMTMuLjMwODQ4NTAgMTAwNjQ0CistLS0gYS9iZWhhdmUv bW9kZWwucHkKKysrKyBiL2JlaGF2ZS9tb2RlbC5weQorQEAgLTMxOCwxMCArMzE4LDEwIEBAIGNs YXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6 CisgICAgICAgICBydW5uZXIuY29udGV4dC50YWdzID0gc2V0KHNlbGYudGFncykKKyAKKyAgICAg ICAgIHNraXBfZW50aXR5X3VudGVzdGVkID0gcnVubmVyLmFib3J0ZWQKKy0gICAgICAgIHJ1bl9l bnRpdHkgPSBzZWxmLnNob3VsZF9ydW4ocnVubmVyLmNvbmZpZykKKysgICAgICAgIHNob3VsZF9y dW5fZW50aXR5ID0gc2VsZi5zaG91bGRfcnVuKHJ1bm5lci5jb25maWcpCisgICAgICAgICBmYWls ZWRfY291bnQgPSAwCisgICAgICAgICBob29rc19jYWxsZWQgPSBGYWxzZQorLSAgICAgICAgaWYg bm90IHJ1bm5lci5jb25maWcuZHJ5X3J1biBhbmQgcnVuX2VudGl0eToKKysgICAgICAgIGlmIG5v dCBydW5uZXIuY29uZmlnLmRyeV9ydW4gYW5kIHNob3VsZF9ydW5fZW50aXR5OgorICAgICAgICAg ICAgIGhvb2tzX2NhbGxlZCA9IFRydWUKKyAgICAgICAgICAgICBmb3IgdGFnIGluIHNlbGYudGFn czoKKyAgICAgICAgICAgICAgICAgcnVubmVyLnJ1bl9ob29rKCJiZWZvcmVfdGFnIiwgcnVubmVy LmNvbnRleHQsIHRhZykKK0BAIC0zMzIsMTAgKzMzMiwxMCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRh aW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgICAgICMg LS0gUkUtRVZBTFVBVEUgU0hPVUxELVJVTiBTVEFURToKKyAgICAgICAgICAgICAjIEhvb2sgbWF5 IGNhbGwgZW50aXR5Lm1hcmtfc2tpcHBlZCgpIHRvIGV4Y2x1ZGUgaXQuCisgICAgICAgICAgICAg c2tpcF9lbnRpdHlfdW50ZXN0ZWQgPSBzZWxmLmhvb2tfZmFpbGVkIG9yIHJ1bm5lci5hYm9ydGVk CistICAgICAgICAgICAgcnVuX2VudGl0eSA9IHNlbGYuc2hvdWxkX3J1bigpCisrICAgICAgICAg ICAgc2hvdWxkX3J1bl9lbnRpdHkgPSBzZWxmLnNob3VsZF9ydW4oKQorIAorICAgICAgICAgIyBy dW4gdGhpcyBlbnRpdHkgaWYgdGhlIHRhZ3Mgc2F5IHNvIG9yIGFueSBvbmUgb2YgaXRzIHNjZW5h cmlvcworLSAgICAgICAgaWYgcnVuX2VudGl0eSBvciBydW5uZXIuY29uZmlnLnNob3dfc2tpcHBl ZDoKKysgICAgICAgIGlmIHNob3VsZF9ydW5fZW50aXR5IG9yIHJ1bm5lci5jb25maWcuc2hvd19z a2lwcGVkOgorICAgICAgICAgICAgIGZvciBmb3JtYXR0ZXIgaW4gcnVubmVyLmZvcm1hdHRlcnM6 CisgICAgICAgICAgICAgICAgIGZvcm1hdHRlcl9jYWxsYmFjayA9IGdldGF0dHIoZm9ybWF0dGVy LCBlbnRpdHlfbmFtZSwgTm9uZSkKKyAgICAgICAgICAgICAgICAgaWYgZm9ybWF0dGVyX2NhbGxi YWNrOgorQEAgLTM2Myw3ICszNjMsNyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRT dGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgICAgICAgICAgICAgICAgIGJy ZWFrCisgCisgICAgICAgICBzZWxmLmNsZWFyX3N0YXR1cygpICAjIC0tIEVORk9SQ0U6IGNvbXB1 dGVfc3RhdHVzKCkgYWZ0ZXIgcnVuLgorLSAgICAgICAgaWYgbm90IHNlbGYucnVuX2l0ZW1zIGFu ZCBub3QgcnVuX2VudGl0eToKKysgICAgICAgIGlmIG5vdCBzZWxmLnJ1bl9pdGVtcyBhbmQgbm90 IHNob3VsZF9ydW5fZW50aXR5OgorICAgICAgICAgICAgICMgLS0gU1BFQ0lBTCBDQVNFOiBGZWF0 dXJlIHdpdGhvdXQgc2NlbmFyaW9zCisgICAgICAgICAgICAgc2VsZi5zZXRfc3RhdHVzKFN0YXR1 cy5za2lwcGVkKQorIAorQEAgLTM4Miw3ICszODIsNyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5l cihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgICAgICMgLS0g Q0xFQU5VUC1FUlJPUjoKKyAgICAgICAgICAgICBzZWxmLnNldF9zdGF0dXMoU3RhdHVzLmZhaWxl ZCkKKyAKKy0gICAgICAgIGlmIHJ1bl9lbnRpdHkgb3IgcnVubmVyLmNvbmZpZy5zaG93X3NraXBw ZWQ6CisrICAgICAgICBpZiBzaG91bGRfcnVuX2VudGl0eSBvciBydW5uZXIuY29uZmlnLnNob3df c2tpcHBlZDoKKyAgICAgICAgICAgICBjYWxsYmFja19uYW1lID0gInswfV9maW5pc2hlZCIuZm9y bWF0KGVudGl0eV9uYW1lKQorICAgICAgICAgICAgIGlmIGVudGl0eV9uYW1lID09ICJmZWF0dXJl IjoKKyAgICAgICAgICAgICAgICAgY2FsbGJhY2tfbmFtZSA9ICJlb2YiCitAQCAtNjA4LDcgKzYw OCw2IEBAIGNsYXNzIFJ1bGUoU2NlbmFyaW9Db250YWluZXIpOgorICAgICAuLiB2ZXJzaW9uYWRk ZWQ6OiAxLjIuNworICAgICAuLiBfYGZlYXR1cmVgOiBnaGVya2luLmh0bWwjcnVsZQorICAgICAi IiIKKy0KKyAgICAgdHlwZSA9ICJydWxlIgorIAorICAgICBkZWYgX19pbml0X18oc2VsZiwgZmls ZW5hbWUsIGxpbmUsIGtleXdvcmQsIG5hbWUsIHRhZ3M9Tm9uZSwKK0BAIC02MjUsNyArNjI0LDYg QEAgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRhaW5lcik6CisgICAgICAgICAgICAgKHNlbGYubmFt ZSwgbGVuKHNlbGYuc2NlbmFyaW9zKSkKKyAKKyAKKy0KKyBjbGFzcyBCYWNrZ3JvdW5kKEJhc2lj U3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgIiIiQSBgYmFja2dyb3VuZGBfIHBhcnNlZCBm cm9tIGEgKmZlYXR1cmUgZmlsZSouCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA3LUJVTVAtVkVSU0lPTi0xLjIuNy5k ZXYxLXdhcy0xLjIuNy5kZXYwLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNy1CVU1QLVZFUlNJT04tMS4yLjcuZGV2MS13YXMtMS4y LjcuZGV2MC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI4ZTgw NDI2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDctQlVNUC1WRVJTSU9OLTEuMi43LmRldjEtd2FzLTEuMi43 LmRldjAucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSAxOWE0MTM0NTk2MjE3NTQwODMyZWQz OTRkNzkwZDdiNTA5ZWM4NjVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDEzIE1hciAy MDE5IDIzOjExOjUwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEJVTVAtVkVSU0lPTjogMS4yLjcu ZGV2MSAod2FzOiAxLjIuNy5kZXYwKQorCistLS0KKyAuYnVtcHZlcnNpb24uY2ZnICAgfCAyICst CisgVkVSU0lPTi50eHQgICAgICAgIHwgMiArLQorIGJlaGF2ZS9fX2luaXRfXy5weSB8IDIgKy0K KyBweXRlc3QuaW5pICAgICAgICAgfCAyICstCisgc2V0dXAucHkgICAgICAgICAgIHwgMiArLQor IDUgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvLmJ1bXB2ZXJzaW9uLmNmZyBiLy5idW1wdmVyc2lvbi5jZmcKK2luZGV4IGYzODdk NDMuLmFjOTEzYzIgMTAwNjQ0CistLS0gYS8uYnVtcHZlcnNpb24uY2ZnCisrKysgYi8uYnVtcHZl cnNpb24uY2ZnCitAQCAtMSw1ICsxLDUgQEAKKyBbYnVtcHZlcnNpb25dCistY3VycmVudF92ZXJz aW9uID0gMS4yLjcuZGV2MAorK2N1cnJlbnRfdmVyc2lvbiA9IDEuMi43LmRldjEKKyBmaWxlcyA9 IGJlaGF2ZS9fX2luaXRfXy5weSBzZXR1cC5weSBWRVJTSU9OLnR4dCBweXRlc3QuaW5pIC5idW1w dmVyc2lvbi5jZmcKKyBwYXJzZSA9ICg/UDxtYWpvcj5cZCspXC4oP1A8bWlub3I+XGQrKVwuKD9Q PHBhdGNoPlxkKykoP1A8ZHJvcD5cdyopCisgc2VyaWFsaXplID0ge21ham9yfS57bWlub3J9Lntw YXRjaH17ZHJvcH0KK2RpZmYgLS1naXQgYS9WRVJTSU9OLnR4dCBiL1ZFUlNJT04udHh0CitpbmRl eCA0ZTYzZWVmLi5jMGVmMzZiIDEwMDY0NAorLS0tIGEvVkVSU0lPTi50eHQKKysrKyBiL1ZFUlNJ T04udHh0CitAQCAtMSArMSBAQAorLTEuMi43LmRldjAKKysxLjIuNy5kZXYxCitkaWZmIC0tZ2l0 IGEvYmVoYXZlL19faW5pdF9fLnB5IGIvYmVoYXZlL19faW5pdF9fLnB5CitpbmRleCA4ODg4MzU1 Li4zMWU0ZTU1IDEwMDY0NAorLS0tIGEvYmVoYXZlL19faW5pdF9fLnB5CisrKysgYi9iZWhhdmUv X19pbml0X18ucHkKK0BAIC0yOSw0ICsyOSw0IEBAIF9fYWxsX18gPSBbCisgICAgICMgLS0gREVQ UkVDQVRJTkc6CisgICAgICJzdGVwX21hdGNoZXIiCisgXQorLV9fdmVyc2lvbl9fID0gIjEuMi43 LmRldjAiCisrX192ZXJzaW9uX18gPSAiMS4yLjcuZGV2MSIKK2RpZmYgLS1naXQgYS9weXRlc3Qu aW5pIGIvcHl0ZXN0LmluaQoraW5kZXggNzBlMTBjZC4uMTdhZDM4OCAxMDA2NDQKKy0tLSBhL3B5 dGVzdC5pbmkKKysrKyBiL3B5dGVzdC5pbmkKK0BAIC0yMCw3ICsyMCw3IEBAIG1pbnZlcnNpb24g ICAgPSAyLjgKKyB0ZXN0cGF0aHMgICAgID0gdGVzdCB0ZXN0cworIHB5dGhvbl9maWxlcyAgPSB0 ZXN0XyoucHkKKyBhZGRvcHRzID0gLS1tZXRhZGF0YSBQQUNLQUdFX1VOREVSX1RFU1QgYmVoYXZl CistICAgIC0tbWV0YWRhdGEgUEFDS0FHRV9WRVJTSU9OIDEuMi43LmRldjAKKysgICAgLS1tZXRh ZGF0YSBQQUNLQUdFX1ZFUlNJT04gMS4yLjcuZGV2MQorICAgICAtLWh0bWw9YnVpbGQvdGVzdGlu Zy9yZXBvcnQuaHRtbCAtLXNlbGYtY29udGFpbmVkLWh0bWwKKyAgICAgLS1qdW5pdC14bWw9YnVp bGQvdGVzdGluZy9yZXBvcnQueG1sCisgbWFya2VycyA9CitkaWZmIC0tZ2l0IGEvc2V0dXAucHkg Yi9zZXR1cC5weQoraW5kZXggY2IzYjMzOC4uYzVhZjI2MiAxMDA2NDQKKy0tLSBhL3NldHVwLnB5 CisrKysgYi9zZXR1cC5weQorQEAgLTU1LDcgKzU1LDcgQEAgZGVmIGZpbmRfcGFja2FnZXNfYnlf cm9vdF9wYWNrYWdlKHdoZXJlKToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgc2V0dXAoCisg ICAgIG5hbWU9ImJlaGF2ZSIsCistICAgIHZlcnNpb249IjEuMi43LmRldjAiLAorKyAgICB2ZXJz aW9uPSIxLjIuNy5kZXYxIiwKKyAgICAgZGVzY3JpcHRpb249ImJlaGF2ZSBpcyBiZWhhdmlvdXIt ZHJpdmVuIGRldmVsb3BtZW50LCBQeXRob24gc3R5bGUiLAorICAgICBsb25nX2Rlc2NyaXB0aW9u PWRlc2NyaXB0aW9uLAorICAgICBhdXRob3I9IkplbnMgRW5nZWwsIEJlbm5vIFJpY2UgYW5kIFJp Y2hhcmQgSm9uZXMiLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAwOC1Db3JyZWN0LWV4YW1wbGVzLWFuZC1kb2NzdHJpbmcu cGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDA4LUNvcnJlY3QtZXhhbXBsZXMtYW5kLWRvY3N0cmluZy5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjlhYjZjZWUxNQotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDgtQ29y cmVjdC1leGFtcGxlcy1hbmQtZG9jc3RyaW5nLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20g MjlkM2VmNGQzZmY4YzgzNmJjNTkyYjkyNjg3YTI4YmY4NzNkMGUwYyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgorRGF0ZTogVGh1LCAxNCBNYXIgMjAxOSAyMjoxNDo1NCArMDEwMAorU3ViamVjdDogW1BBVENI XSBDb3JyZWN0IGV4YW1wbGVzIGFuZCBkb2NzdHJpbmcKKworLS0tCisgYmVoYXZlL2NvbnRyaWIv c2NlbmFyaW9fYXV0b3JldHJ5LnB5IHwgMiArLQorIGJlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weSAg ICAgICAgICAgICB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29udHJpYi9zY2VuYXJpb19hdXRv cmV0cnkucHkgYi9iZWhhdmUvY29udHJpYi9zY2VuYXJpb19hdXRvcmV0cnkucHkKK2luZGV4IDJi N2Y5NGYuLjI1OTJkMTAgMTAwNjQ0CistLS0gYS9iZWhhdmUvY29udHJpYi9zY2VuYXJpb19hdXRv cmV0cnkucHkKKysrKyBiL2JlaGF2ZS9jb250cmliL3NjZW5hcmlvX2F1dG9yZXRyeS5weQorQEAg LTI0LDcgKzI0LDcgQEAgRVhBTVBMRToKKyAgICAgZnJvbSBiZWhhdmUuY29udHJpYi5zY2VuYXJp b19hdXRvcmV0cnkgaW1wb3J0IHBhdGNoX3NjZW5hcmlvX3dpdGhfYXV0b3JldHJ5CisgCisgICAg IGRlZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBmZWF0dXJlKToKKy0gICAgICAgIGZvciBzY2Vu YXJpbyBpbiBmZWF0dXJlLnNjZW5hcmlvczoKKysgICAgICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0 dXJlLndhbGtfc2NlbmFyaW9zKCk6CisgICAgICAgICAgICAgaWYgImF1dG9yZXRyeSIgaW4gc2Nl bmFyaW8uZWZmZWN0aXZlX3RhZ3M6CisgICAgICAgICAgICAgICAgIHBhdGNoX3NjZW5hcmlvX3dp dGhfYXV0b3JldHJ5KHNjZW5hcmlvLCBtYXhfYXR0ZW1wdHM9MikKKyAKK2RpZmYgLS1naXQgYS9i ZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkgYi9iZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkKK2luZGV4 IGE4YjlmN2MuLjdmNTlhZDQgMTAwNjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkK KysrKyBiL2JlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weQorQEAgLTc0LDExICs3NCwxMiBAQCBjbGFz cyBGb3JtYXR0ZXIob2JqZWN0KToKKyAKKyAgICAgUHJvY2Vzc2luZyBMb2dpYyAoc2ltcGxpZmll ZCwgd2l0aG91dCBTY2VuYXJpb091dGxpbmUgYW5kIHNraXAgbG9naWMpOjoKKyAKKysgICAgICAg ICMgLS0gSElOVDogUnVsZSBwcm9jZXNzaW5nIGlzIG1pc3NpbmcuCisgICAgICAgICBmb3IgZmVh dHVyZSBpbiBydW5uZXIuZmVhdHVyZXM6CisgICAgICAgICAgICAgZm9ybWF0dGVyID0gbWFrZV9m b3JtYXR0ZXJzKC4uLikKKyAgICAgICAgICAgICBmb3JtYXR0ZXIudXJpKGZlYXR1cmUuZmlsZW5h bWUpCisgICAgICAgICAgICAgZm9ybWF0dGVyLmZlYXR1cmUoZmVhdHVyZSkKKy0gICAgICAgICAg ICBmb3Igc2NlbmFyaW8gaW4gZmVhdHVyZS5zY2VuYXJpb3M6CisrICAgICAgICAgICAgZm9yIHNj ZW5hcmlvIGluIGZlYXR1cmUud2Fsa19zY2VuYXJpb3MoKToKKyAgICAgICAgICAgICAgICAgZm9y bWF0dGVyLnNjZW5hcmlvKHNjZW5hcmlvKQorICAgICAgICAgICAgICAgICBmb3Igc3RlcCBpbiBz Y2VuYXJpby5hbGxfc3RlcHM6CisgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZXIuc3RlcChz dGVwKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAwOS1GSVgtZmVhdHVyZS5ydW5faXRlbXMtcHJvY2Vzc2luZy13aXRoLVJ1 bGUtcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMDktRklYLWZlYXR1cmUucnVuX2l0ZW1zLXByb2Nlc3Npbmctd2l0aC1SdWxlLXMu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wYzcwY2M1NjYKLS0t IC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDA5LUZJWC1mZWF0dXJlLnJ1bl9pdGVtcy1wcm9jZXNzaW5nLXdpdGgtUnVs ZS1zLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gZGVlNTI2NjgyMGFhYmNmZTA5ZDEwM2Nm MDA3YmIyNmI5ZGI1NDg0OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMg PGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVGh1LCAxNCBNYXIgMjAx OSAyMjoxNTozNCArMDEwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IGZlYXR1cmUucnVuX2l0ZW1z IHByb2Nlc3Npbmcgd2l0aCBSdWxlKHMpLgorCistLS0KKyBiZWhhdmUvcmVwb3J0ZXIvanVuaXQu cHkgfCAyNCArKysrKysrKysrKysrKysrLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTYgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9yZXBvcnRl ci9qdW5pdC5weSBiL2JlaGF2ZS9yZXBvcnRlci9qdW5pdC5weQoraW5kZXggNDhlMTQxMS4uOTAx ODM5OSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9yZXBvcnRlci9qdW5pdC5weQorKysrIGIvYmVoYXZl L3JlcG9ydGVyL2p1bml0LnB5CitAQCAtNzUsNyArNzUsNyBAQCBpbXBvcnQgY29kZWNzCisgZnJv bSB4bWwuZXRyZWUgaW1wb3J0IEVsZW1lbnRUcmVlCisgZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0 ZXRpbWUKKyBmcm9tIGJlaGF2ZS5yZXBvcnRlci5iYXNlIGltcG9ydCBSZXBvcnRlcgorLWZyb20g YmVoYXZlLm1vZGVsIGltcG9ydCBTY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lLCBTdGVwCisrZnJv bSBiZWhhdmUubW9kZWwgaW1wb3J0IFJ1bGUsIFNjZW5hcmlvLCBTY2VuYXJpb091dGxpbmUsIFN0 ZXAKKyBmcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBTdGF0dXMKKyBmcm9tIGJlaGF2ZS5m b3JtYXR0ZXIgaW1wb3J0IGFuc2lfZXNjYXBlcworIGZyb20gYmVoYXZlLm1vZGVsX2Rlc2NyaWJl IGltcG9ydCBNb2RlbERlc2NyaXB0b3IKK0BAIC0yMzYsMTMgKzIzNiw4IEBAIGNsYXNzIEpVbml0 UmVwb3J0ZXIoUmVwb3J0ZXIpOgorICAgICAgICAgZmVhdHVyZV9uYW1lID0gZmVhdHVyZS5uYW1l IG9yIGZlYXR1cmVfZmlsZW5hbWUKKyAgICAgICAgIHN1aXRlLnNldCh1J25hbWUnLCB1JyVzLiVz JyAlIChjbGFzc25hbWUsIGZlYXR1cmVfbmFtZSkpCisgCistICAgICAgICAjIC0tIEJVSUxELVRF U1RDQVNFUzogRnJvbSBzY2VuYXJpb3MKKy0gICAgICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0dXJl OgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSk6 CistICAgICAgICAgICAgICAgIHNjZW5hcmlvX291dGxpbmUgPSBzY2VuYXJpbworLSAgICAgICAg ICAgICAgICBzZWxmLl9wcm9jZXNzX3NjZW5hcmlvX291dGxpbmUoc2NlbmFyaW9fb3V0bGluZSwg cmVwb3J0KQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHNlbGYuX3Byb2Nl c3Nfc2NlbmFyaW8oc2NlbmFyaW8sIHJlcG9ydCkKKysgICAgICAgICMgLS0gQlVJTEQtVEVTVENB U0VTOiBGcm9tIHJ1bl9pdGVtcyAoYW5kIHNjZW5hcmlvcykKKysgICAgICAgIHNlbGYuX3Byb2Nl c3NfcnVuX2l0ZW1zX2ZvcihmZWF0dXJlLCByZXBvcnQpCisgCisgICAgICAgICAjIC0tIEFERCBU RVNUQ0FTRVMgdG8gdGVzdHN1aXRlOgorICAgICAgICAgZm9yIHRlc3RjYXNlIGluIHJlcG9ydC50 ZXN0Y2FzZXM6CitAQCAtNDU3LDYgKzQ1MiwxOSBAQCBjbGFzcyBKVW5pdFJlcG9ydGVyKFJlcG9y dGVyKToKKyAgICAgICAgIGlmIHNjZW5hcmlvLnN0YXR1cyAhPSBTdGF0dXMuc2tpcHBlZCBvciBz ZWxmLnNob3dfc2tpcHBlZDoKKyAgICAgICAgICAgICByZXBvcnQudGVzdGNhc2VzLmFwcGVuZChj YXNlKQorIAorKyAgICBkZWYgX3Byb2Nlc3NfcnVuX2l0ZW1zX2ZvcihzZWxmLCBwYXJlbnQsIHJl cG9ydCk6CisrICAgICAgICBmb3IgcnVuX2l0ZW0gaW4gcGFyZW50LnJ1bl9pdGVtczoKKysgICAg ICAgICAgICBpZiBpc2luc3RhbmNlKHJ1bl9pdGVtLCBSdWxlKToKKysgICAgICAgICAgICAgICAg c2VsZi5fcHJvY2Vzc19ydWxlKHJ1bl9pdGVtLCByZXBvcnQpCisrICAgICAgICAgICAgZWxpZiBp c2luc3RhbmNlKHJ1bl9pdGVtLCBTY2VuYXJpb091dGxpbmUpOgorKyAgICAgICAgICAgICAgICBz ZWxmLl9wcm9jZXNzX3NjZW5hcmlvX291dGxpbmUocnVuX2l0ZW0sIHJlcG9ydCkKKysgICAgICAg ICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShydW5faXRlbSwg U2NlbmFyaW8pCisrICAgICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3Nfc2NlbmFyaW8ocnVuX2l0 ZW0sIHJlcG9ydCkKKysKKysgICAgZGVmIF9wcm9jZXNzX3J1bGUoc2VsZiwgcnVsZSwgcmVwb3J0 KToKKysgICAgICAgIHNlbGYuX3Byb2Nlc3NfcnVuX2l0ZW1zX2ZvcihydWxlLCByZXBvcnQpCisr CisgICAgIGRlZiBfcHJvY2Vzc19zY2VuYXJpb19vdXRsaW5lKHNlbGYsIHNjZW5hcmlvX291dGxp bmUsIHJlcG9ydCk6CisgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzY2VuYXJpb19vdXRsaW5l LCBTY2VuYXJpb091dGxpbmUpCisgICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2NlbmFyaW9fb3V0 bGluZToKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMTAtZG9jcy1EaXNhYmxlLXNwaGlueC1pbnRsLXN1cHBvcnQtZm9yLVJF QURUSEVET0NTLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAxMC1kb2NzLURpc2FibGUtc3BoaW54LWludGwtc3VwcG9ydC1mb3ItUkVB RFRIRURPQ1MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xMjJi N2U5ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDEwLWRvY3MtRGlzYWJsZS1zcGhpbngtaW50bC1zdXBwb3J0 LWZvci1SRUFEVEhFRE9DUy5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIGI0YTQwYzRkZjU4 NzJiMGM5YzcyOTNiM2E5ZmEwNTdlMjA4MzYxZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1 biwgMjYgTWF5IDIwMTkgMTQ6NDA6MzggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZG9jczogRGlz YWJsZSBzcGhpbngtaW50bCBzdXBwb3J0IGZvciBSRUFEVEhFRE9DUy4KKworLS0tCisgZG9jcy9j b25mLnB5IHwgMTcgKysrKysrKysrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvY29uZi5weSBiL2Rv Y3MvY29uZi5weQoraW5kZXggZDM4ZGI3YS4uZjlkZmI2YSAxMDA2NDQKKy0tLSBhL2RvY3MvY29u Zi5weQorKysrIGIvZG9jcy9jb25mLnB5CitAQCAtMyw2ICszLDcgQEAKKyAjIFNQSElOWCBDT05G SUdVUkFUSU9OOiBiZWhhdmUgZG9jdW1lbnRhdGlvbiBidWlsZCBjb25maWd1cmF0aW9uIGZpbGUK KyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CisgCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmlu dF9mdW5jdGlvbgorIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0IHN5cworIGltcG9ydCBpbXBvcnRs aWIKK0BAIC0xMyw2ICsxNCwxMyBAQCBpbXBvcnQgaW1wb3J0bGliCisgIyBkb2N1bWVudGF0aW9u IHJvb3QsIHVzZSBvcy5wYXRoLmFic3BhdGggdG8gbWFrZSBpdCBhYnNvbHV0ZSwgbGlrZSBzaG93 biBoZXJlLgorIHN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmFic3BhdGgoIi4uIikpCisgCisr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIERFVEVDVCBCVUlMRCBDT05URVhUCisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKytPTl9SRUFEVEhFRE9DUyA9IG9zLmVudmlyb24uZ2V0KCJSRUFE VEhFRE9DUyIsIE5vbmUpID09ICJUcnVlIgorK1VTRV9TUEhJTlhfSU5URVJOQVRJT05BTCA9IG5v dCBPTl9SRUFEVEhFRE9DUworKworKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBFWFRF TlNJT05TIENPTkZJR1VSQVRJT04KKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTgyLDgg KzkwLDEwIEBAIG1hc3Rlcl9kb2MgPSAiaW5kZXgiCisgIyAtLSBNVUxUSS1MQU5HVUFHRSBTVVBQ T1JUOiBlbiwgLi4uCisgIyBTRUU6IGh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC9zcGhpbngtaW50 bC8KKyAjIFNFRTogaHR0cHM6Ly9naXRodWIuY29tL3NwaGlueC1kb2Mvc3BoaW54LWludGwvCist bG9jYWxlX2RpcnMgPSBbImxvY2FsZS8iXSAgICMgcGF0aCBpcyBleGFtcGxlIGJ1dCByZWNvbW1l bmRlZC4KKy1nZXR0ZXh0X2NvbXBhY3QgPSBGYWxzZSAgICAgIyBvcHRpb25hbC4KKytpZiBVU0Vf U1BISU5YX0lOVEVSTkFUSU9OQUw6CisrICAgIGxvY2FsZV9kaXJzID0gWyJsb2NhbGUvIl0gICAj IHBhdGggaXMgZXhhbXBsZSBidXQgcmVjb21tZW5kZWQuCisrICAgIGdldHRleHRfY29tcGFjdCA9 IEZhbHNlICAgICAjIG9wdGlvbmFsLgorKyAgICBwcmludCgiVVNFIFNQSElOWC1JTlRMOiBsb2Nh bGVfZGlycz0lcyIgJSAiLCIuam9pbihsb2NhbGVfZGlycykpCisgCisgIyBTVEVQUzoKKyAjICAg bWFrZSBnZXR0ZXh0CitAQCAtMTU1LDggKzE2NSw3IEBAIHRvZG9faW5jbHVkZV90b2RvcyA9IEZh bHNlCisgaHRtbF90aGVtZSA9ICJrciIKKyBodG1sX3RoZW1lID0gImJvb3RzdHJhcCIKKyAKKy1v bl9ydGQgPSBvcy5lbnZpcm9uLmdldCgiUkVBRFRIRURPQ1MiLCBOb25lKSA9PSAiVHJ1ZSIKKy1p ZiBvbl9ydGQ6CisraWYgT05fUkVBRFRIRURPQ1M6CisgICAgIGh0bWxfdGhlbWUgPSAiZGVmYXVs dCIKKyAKKyBpZiBodG1sX3RoZW1lID09ICJib290c3RyYXAiOgpkaWZmIC0tZ2l0IGEvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMS1DbGVhbnVw LURlcGVuZGVudC1wYWNrYWdlLXZlcnNpb25zLWluLXJlcXVpcmVtZW50cy5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTEtQ2xlYW51 cC1EZXBlbmRlbnQtcGFja2FnZS12ZXJzaW9ucy1pbi1yZXF1aXJlbWVudHMucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43MjY0MDJhOGUKLS0tIC9kZXYvbnVsbAor KysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDExLUNsZWFudXAtRGVwZW5kZW50LXBhY2thZ2UtdmVyc2lvbnMtaW4tcmVxdWlyZW1lbnRzLnBh dGNoCkBAIC0wLDAgKzEsODEgQEAKK0Zyb20gZmZiZDk4NDBkMmMyZTI3M2EwY2UyZWE4ZmUyMGFm YWQwMzRiZGViMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVGh1LCAxOCBBcHIgMjAxOSAxOTow Mjo0MyArMDIwMAorU3ViamVjdDogW1BBVENIXSBDbGVhbnVwOiBEZXBlbmRlbnQgcGFja2FnZSB2 ZXJzaW9ucyBpbiByZXF1aXJlbWVudHMuCisKKy0tLQorIHB5LnJlcXVpcmVtZW50cy9iYXNpYy50 eHQgICB8IDIgKy0KKyBweS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQgfCA0ICsrLS0KKyBweS5y ZXF1aXJlbWVudHMvdGVzdGluZy50eHQgfCAyICstCisgc2V0dXAucHkgICAgICAgICAgICAgICAg ICAgIHwgNiArKystLS0KKyA0IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQgYi9weS5y ZXF1aXJlbWVudHMvYmFzaWMudHh0CitpbmRleCA5ZWViY2FkLi4zYjcxYmZiIDEwMDY0NAorLS0t IGEvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2Jhc2lj LnR4dAorQEAgLTExLDcgKzExLDcgQEAKKyBjdWN1bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4x LjEKKyBwYXJzZSA+PSAxLjguMgorIHBhcnNlX3R5cGUgPj0gMC40LjIKKy1zaXggPj0gMS4xMS4w Cisrc2l4ID49IDEuMTIuMAorIAorIHRyYWNlYmFjazI7ICBweXRob25fdmVyc2lvbiA8ICczLjAn CisgY29udGV4dGxpYjIgICAgICMgTUFZQkU6IHB5dGhvbl92ZXJzaW9uIDwgJzMuNScKK2RpZmYg LS1naXQgYS9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQgYi9weS5yZXF1aXJlbWVudHMvZGV2 ZWxvcC50eHQKK2luZGV4IGM1NWQzY2QuLjNkZWVkYzcgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJl bWVudHMvZGV2ZWxvcC50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAorQEAg LTUsOCArNSw4IEBACisgIyAtLSBCVUlMRC1UT09MOgorICMgUFJFUEFSRSBVU0FHRTogaW52b2tl CisgIyBBTFJFQURZOiBzaXggPj0gMS4xMS4wCistaW52b2tlID49IDAuMjEuMAorLXBhdGgucHkg Pj0gMTAuMQorK2ludm9rZSA+PSAxLjIuMAorK3BhdGgucHkgPj0gMTEuNS4wCisgcGF0aGxpYjsg ICAgcHl0aG9uX3ZlcnNpb24gPD0gJzMuNCcKKyBweWNtZAorIAorZGlmZiAtLWdpdCBhL3B5LnJl cXVpcmVtZW50cy90ZXN0aW5nLnR4dCBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAoraW5k ZXggNTg3NmUyOS4uMzgwNmQzOSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5n LnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitAQCAtMTIsNCArMTIsNCBA QCBQeUhhbWNyZXN0ID49IDEuOQorIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRlc3RzIChhcyBw cm9vZiBvZiBjb25jZXB0KQorICMgTk9URTogcGF0aC5weS0xMC4xIGlzIHJlcXVpcmVkIGZvciBw eXRob24yLjYKKy1wYXRoLnB5ID49IDEwLjEKKytwYXRoLnB5ID49IDExLjUuMAorZGlmZiAtLWdp dCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IGM1YWYyNjIuLmFjN2JkZGYgMTAwNjQ0Cist LS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC03OSw3ICs3OSw3IEBAIHNldHVwKAor ICAgICAgICAgImN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucyA+PSAxLjEuMSIsCisgICAgICAgICAi cGFyc2UgPj0gMS44LjIiLAorICAgICAgICAgInBhcnNlX3R5cGUgPj0gMC40LjIiLAorLSAgICAg ICAgInNpeCA+PSAxLjExLjAiLAorKyAgICAgICAgInNpeCA+PSAxLjEyLjAiLAorICAgICAgICAg InRyYWNlYmFjazI7IHB5dGhvbl92ZXJzaW9uIDwgJzMuMCciLAorICAgICAgICAgImVudW0zNDsg cHl0aG9uX3ZlcnNpb24gPCAnMy40JyIsCisgICAgICAgICAjIC0tIFBSRVBBUkVEOgorQEAgLTkz LDcgKzkzLDcgQEAgc2V0dXAoCisgICAgICAgICAibm9zZSA+PSAxLjMiLAorICAgICAgICAgIm1v Y2sgPj0gMS4xIiwKKyAgICAgICAgICJQeUhhbWNyZXN0ID49IDEuOCIsCistICAgICAgICAicGF0 aC5weSA+PSAxMC4xIgorKyAgICAgICAgInBhdGgucHkgPj0gMTEuNS4wIgorICAgICBdLAorICAg ICBjbWRjbGFzcyA9IHsKKyAgICAgICAgICJiZWhhdmVfdGVzdCI6IGJlaGF2ZV90ZXN0LAorQEAg LTExMCw3ICsxMTAsNyBAQCBzZXR1cCgKKyAgICAgICAgICAgICAicHl0ZXN0LWNvdiIsCisgICAg ICAgICAgICAgInRveCIsCisgICAgICAgICAgICAgImludm9rZSA+PSAxLjIuMCIsCistICAgICAg ICAgICAgInBhdGgucHkgPj0gMTAuMSIsCisrICAgICAgICAgICAgInBhdGgucHkgPj0gMTEuNS4w IiwKKyAgICAgICAgICAgICAicHljbWQiLAorICAgICAgICAgICAgICJwYXRobGliOyBweXRob25f dmVyc2lvbiA8PSAnMy40JyIsCisgICAgICAgICAgICAgIm1vZGVybml6ZSA+PSAwLjUiLApkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDAxMi1kb2NzLWNvbmYucHktdHdlYWtzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMi1kb2NzLWNvbmYucHktdHdlYWtzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMjJjNmM2YmI2Ci0tLSAv ZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAxMi1kb2NzLWNvbmYucHktdHdlYWtzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAK K0Zyb20gNDMwZDE5MTIzYjNhN2FkYzIxMDc1YjFiZWZkYThiNTUwYjdlYjY0MSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogU3VuLCAyNiBNYXkgMjAxOSAxNDo1NToyMCArMDIwMAorU3ViamVjdDog W1BBVENIXSBkb2NzOiBjb25mLnB5IHR3ZWFrcy4KKworLS0tCisgZG9jcy9jb25mLnB5IHwgMyAr LS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9kb2NzL2NvbmYucHkgYi9kb2NzL2NvbmYucHkKK2luZGV4IGY5ZGZiNmEuLmY3 YzJjMjQgMTAwNjQ0CistLS0gYS9kb2NzL2NvbmYucHkKKysrKyBiL2RvY3MvY29uZi5weQorQEAg LTE4LDcgKzE4LDcgQEAgc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguYWJzcGF0aCgiLi4iKSkK KyAjIERFVEVDVCBCVUlMRCBDT05URVhUCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBPTl9S RUFEVEhFRE9DUyA9IG9zLmVudmlyb24uZ2V0KCJSRUFEVEhFRE9DUyIsIE5vbmUpID09ICJUcnVl IgorLVVTRV9TUEhJTlhfSU5URVJOQVRJT05BTCA9IG5vdCBPTl9SRUFEVEhFRE9DUworK1VTRV9T UEhJTlhfSU5URVJOQVRJT05BTCA9IFRydWUKKyAKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorQEAgLTE2NCw3ICsxNjQsNiBAQCB0b2RvX2luY2x1ZGVfdG9kb3MgPSBGYWxzZQorICMgYSBs aXN0IG9mIGJ1aWx0aW4gdGhlbWVzLgorIGh0bWxfdGhlbWUgPSAia3IiCisgaHRtbF90aGVtZSA9 ICJib290c3RyYXAiCistCisgaWYgT05fUkVBRFRIRURPQ1M6CisgICAgIGh0bWxfdGhlbWUgPSAi ZGVmYXVsdCIKKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTMtRklYLU1pc3NwZWxsZWQtYWZ0ZXJfcnVsZS1ob29rLXdh cy1hZnRlcl9hZnRlci5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMTMtRklYLU1pc3NwZWxsZWQtYWZ0ZXJfcnVsZS1ob29rLXdhcy1h ZnRlcl9hZnRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmFh NjdiZDJmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTMtRklYLU1pc3NwZWxsZWQtYWZ0ZXJfcnVsZS1ob29r LXdhcy1hZnRlcl9hZnRlci5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIDVlYTFmMWI0N2Mx NGNmOWFlYWJlN2Q4ZTIyNTExZDU0YjE1ZTVmMWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNh dCwgOCBKdW4gMjAxOSAyMDoxMToyMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IE1pc3Nw ZWxsZWQgYWZ0ZXJfcnVsZSBob29rICh3YXM6IGFmdGVyX2FmdGVyKQorCistLS0KKyBkb2NzL2Nv bnRleHRfYXR0cmlidXRlcy5yc3QgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvY29udGV4dF9hdHRyaWJ1 dGVzLnJzdCBiL2RvY3MvY29udGV4dF9hdHRyaWJ1dGVzLnJzdAoraW5kZXggYTQ4MTdkMS4uMTYz NjY0YiAxMDA2NDQKKy0tLSBhL2RvY3MvY29udGV4dF9hdHRyaWJ1dGVzLnJzdAorKysrIGIvZG9j cy9jb250ZXh0X2F0dHJpYnV0ZXMucnN0CitAQCAtMjMsNiArMjMsNyBAQCBjb25maWcgICAgICAg ICAgdGVzdCBydW4gIDpjbGFzczpgfmJlaGF2ZS5jb25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb25g ICBDb25maWd1cgorIGFib3J0ZWQgICAgICAgICB0ZXN0IHJ1biAgYm9vbCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNldCB0byB0cnVlIGlmIHRlc3QgcnVuIGlzIGFi b3J0ZWQgYnkgdGhlIHVzZXIuCisgZmFpbGVkICAgICAgICAgIHRlc3QgcnVuICBib29sICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2V0IHRvIHRydWUgaWYgYSBzdGVw IGZhaWxzLgorIGZlYXR1cmUgICAgICAgICBmZWF0dXJlICAgOmNsYXNzOmB+YmVoYXZlLm1vZGVs LkZlYXR1cmVgICAgICAgICAgICAgICAgIEN1cnJlbnQgZmVhdHVyZS4KKytydWxlICAgICAgICAg ICAgcnVsZSAgICAgIDpjbGFzczpgfmJlaGF2ZS5tb2RlbC5GZWF0dXJlYCAgICAgICAgICAgICAg ICBDdXJyZW50IHJ1bGUuCisgdGFncyAgICAgICAgICAgIGZlYXR1cmUsICBsaXN0PDpjbGFzczpg fmJlaGF2ZS5tb2RlbC5UYWdgPiAgICAgICAgICAgICAgRWZmZWN0aXZlIHRhZ3Mgb2YgY3VycmVu dCBmZWF0dXJlLCBydWxlLCBzY2VuYXJpbywgc2NlbmFyaW8gb3V0bGluZS4KKyAgICAgICAgICAg ICAgICAgcnVsZSwKKyAgICAgICAgICAgICAgICAgc2NlbmFyaW8KK0BAIC02Miw3ICs2Myw3IEBA IEhvb2sgICAgOmZ1bmM6YGFmdGVyX3RhZ3NgICAgICAgICAgIGZlYXR1cmUsIHJ1bGUgb3Igc2Nl bmFyaW8KKyBIb29rICAgIDpmdW5jOmBiZWZvcmVfZmVhdHVyZWAgICAgICBmZWF0dXJlCisgSG9v ayAgICA6ZnVuYzpgYWZ0ZXJfZmVhdHVyZWAgICAgICAgZmVhdHVyZQorIEhvb2sgICAgOmZ1bmM6 YGJlZm9yZV9ydWxlYCAgICAgICAgIHJ1bGUKKy1Ib29rICAgIDpmdW5jOmBhZnRlcl9hZnRlcmAg ICAgICAgICBydWxlCisrSG9vayAgICA6ZnVuYzpgYWZ0ZXJfcnVsZWAgICAgICAgICAgcnVsZQor IEhvb2sgICAgOmZ1bmM6YGJlZm9yZV9zY2VuYXJpb2AgICAgIHNjZW5hcmlvCisgSG9vayAgICA6 ZnVuYzpgYWZ0ZXJfc2NlbmFyaW9gICAgICAgc2NlbmFyaW8KKyBIb29rICAgIDpmdW5jOmBiZWZv cmVfc3RlcGAgICAgICAgICBzY2VuYXJpbwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNC1BZGQtaGludHMtb24tR2hlcmtp bi12Ni1ncmFtbWFyLWlzc3Vlcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTQtQWRkLWhpbnRzLW9uLUdoZXJraW4tdjYtZ3JhbW1h ci1pc3N1ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43MzIy MjE2Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDE0LUFkZC1oaW50cy1vbi1HaGVya2luLXY2LWdyYW1tYXIt aXNzdWVzLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gMTRlNGM4OGU5YmQxYTEyYTJmMDgx ZGZiMjcwOWRmOWY3ODEwNmNhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA4IEp1biAy MDE5IDIwOjEyOjIzICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBoaW50cyBvbiBHaGVya2lu IHY2IGdyYW1tYXIgaXNzdWVzLgorCistLS0KKyBkb2NzL2NvbmYucHkgICAgICAgICAgICAgICAg ICAgICAgIHwgNCArKystCisgZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdCB8IDgg KysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKKworZGlmZiAtLWdpdCBhL2RvY3MvY29uZi5weSBiL2RvY3MvY29uZi5weQoraW5kZXggZjdj MmMyNC4uZTU1ZmIyMSAxMDA2NDQKKy0tLSBhL2RvY3MvY29uZi5weQorKysrIGIvZG9jcy9jb25m LnB5CitAQCAtNTQsOSArNTQsMTEgQEAgZm9yIG9wdGlvbmFsX21vZHVsZV9uYW1lIGluIG9wdGlv bmFsX2V4dGVuc2lvbnM6CisgZXh0bGlua3MgPSB7CisgICAgICJweXBpIjogKCJodHRwczovL3B5 cGkub3JnL3Byb2plY3QvJXMiLCAiIiksCisgICAgICJnaXRodWIiOiAoImh0dHBzOi8vZ2l0aHVi LmNvbS8lcyIsICJnaXRodWI6LyIpLAorLSAgICAiaXNzdWUiOiAgKCJodHRwczovL2dpdGh1Yi5j b20vYmVoYXZlL2JlaGF2ZS9pc3N1ZS8lcyIsICJpc3N1ZSAjIiksCisrICAgICJpc3N1ZSI6ICAo Imh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVoYXZlL2lzc3Vlcy8lcyIsICJpc3N1ZSAjIiks CisgICAgICJ5b3V0dWJlIjogKCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PSVzIiwg InlvdXR1YmU6dmlkZW89IiksCisgICAgICJiZWhhdmUiOiAoImh0dHBzOi8vZ2l0aHViLmNvbS9i ZWhhdmUvYmVoYXZlIiwgTm9uZSksCisrICAgICJjdWN1bWJlciI6ICgiaHR0cHM6Ly9naXRodWIu Y29tL2N1Y3VtYmVyL2N1Y3VtYmVyLyIsIE5vbmUpLAorKyAgICAiY3VjdW1iZXIuaXNzdWUiOiAo Imh0dHBzOi8vZ2l0aHViLmNvbS9jdWN1bWJlci9jdWN1bWJlci9pc3N1ZXMvJXMiLCAiaXNzdWUg IyIpLAorIH0KKyAKKyBpbnRlcnNwaGlueF9tYXBwaW5nID0geworZGlmZiAtLWdpdCBhL2RvY3Mv bmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QgYi9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92 MS4yLjcucnN0CitpbmRleCA0NTFlZDhjLi44MGQ5NTc2IDEwMDY0NAorLS0tIGEvZG9jcy9uZXdf YW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorKysrIGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlf djEuMi43LnJzdAorQEAgLTkyLDUgKzkyLDEzIEBAIE92ZXJ2aWV3IG9mIHRoZSBgRXhhbXBsZSBN YXBwaW5nYF8gY29uY2VwdHM6CisgICAgICogaHR0cHM6Ly9saXNhY3Jpc3Bpbi5jb20vMjAxNi8w Ni8wMi9leHBlcmltZW50LWV4YW1wbGUtbWFwcGluZy8KKyAgICAgKiBodHRwczovL3RvYnl0aGV0 ZXN0ZXJibG9nLndvcmRwcmVzcy5jb20vMjAxNi8wNS8yNS9ob3ctdG8tZG8tZXhhbXBsZS1tYXBw aW5nLworIAorKy4uIGhpbnQ6OiAqKkdoZXJraW4gdjYgR3JhbW1hciBJc3N1ZXMqKgorKworKyAg ICAqIDpjdWN1bWJlci5pc3N1ZTpgNjMyYDogUnVsZSB0YWdzIGFyZSBjdXJyZW50bHkgb25seSBz dXBwb3J0ZWQgaW4gYGJlaGF2ZWAuCisrICAgICAgVGhlIEN1Y3VtYmVyIEdoZXJraW4gdjYgZ3Jh bW1hciBjdXJyZW50bHkgbGFja3MgdGhpcyBmdW5jdGlvbmFsaXR5LgorKworKyAgICAqIDpjdWN1 bWJlci5pc3N1ZTpgNTkwYDogUnVsZSBCYWNrZ3JvdW5kOgorKyAgICAgIEEgcHJvcG9zYWwgaXMg cGVuZGluZyB0byByZW1vdmUgUnVsZSBCYWNrZ3JvdW5kcyBhZ2FpbgorKworIAorIC4uIGluY2x1 ZGU6OiBfY29udGVudC50YWdfZXhwcmVzc2lvbnNfdjIucnN0CmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE1LVJFQURNRS1S ZVNULXR3ZWFrcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMTUtUkVBRE1FLVJlU1QtdHdlYWtzLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMDRlNDVmM2YzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNS1SRUFE TUUtUmVTVC10d2Vha3MucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorRnJvbSAxMmQzN2VjNmFmNDZk M2VkYjgwNjY3OTE4M2FiMjEzOGU0ZjFmNWJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQs IDggSnVuIDIwMTkgMjA6MTM6MDggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUkVBRE1FOiBSZVNU IHR3ZWFrcworCistLS0KKyBldGMvZ2hlcmtpbi9SRUFETUUucnN0IHwgMSArCisgMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9ldGMvZ2hlcmtpbi9SRUFETUUu cnN0IGIvZXRjL2doZXJraW4vUkVBRE1FLnJzdAoraW5kZXggYWQzY2VkYi4uN2VjMjEwOCAxMDA2 NDQKKy0tLSBhL2V0Yy9naGVya2luL1JFQURNRS5yc3QKKysrKyBiL2V0Yy9naGVya2luL1JFQURN RS5yc3QKK0BAIC0xLDMgKzEsNCBAQAorIFNPVVJDRToKKysKKyAqIGh0dHBzOi8vZ2l0aHViLmNv bS9jdWN1bWJlci9jdWN1bWJlci9ibG9iL21hc3Rlci9naGVya2luL2doZXJraW4tbGFuZ3VhZ2Vz Lmpzb24KKyAqIGh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jdWN1bWJlci9jdWN1 bWJlci9tYXN0ZXIvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE2LUV4 YW1wbGUtdXNpbmctR2hlcmtpbi12Ni1ncmFtbWFyLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNi1FeGFtcGxlLXVzaW5nLUdoZXJr aW4tdjYtZ3JhbW1hci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LmNiYmNmZDU0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTYtRXhhbXBsZS11c2luZy1HaGVya2luLXY2LWdy YW1tYXIucGF0Y2gKQEAgLTAsMCArMSwyMjggQEAKK0Zyb20gZWFiY2Y3M2YwZTdmMjZlZjAyMWNl ZjMwOTUwYzdiYjNkMjQ0MjIyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA4IEp1biAy MDE5IDIwOjE2OjAxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEV4YW1wbGUgdXNpbmcgR2hlcmtp biB2NiBncmFtbWFyLgorCistLS0KKyBleGFtcGxlcy9naGVya2luX3Y2L1JFQURNRS5yc3QgICAg ICAgICAgICAgICAgfCAxOCArKysrKysrKworIGV4YW1wbGVzL2doZXJraW5fdjYvYmVoYXZlLmlu aSAgICAgICAgICAgICAgICB8IDQyICsrKysrKysrKysrKysrKysrKysKKyBleGFtcGxlcy9naGVy a2luX3Y2L2ZlYXR1cmVzL3J1bGVfMS5mZWF0dXJlICAgfCA0MiArKysrKysrKysrKysrKysrKysr CisgZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZSAgIHwgNDIgKysr KysrKysrKysrKysrKysrKworIC4uLi9mZWF0dXJlcy9zdGVwcy9leGFtcGxlX3N0ZXBzLnB5ICAg ICAgICAgICB8IDIxICsrKysrKysrKysKKyAuLi4vZ2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9w ZXJzb25fc3RlcHMucHkgfCAgNyArKysrCisgNiBmaWxlcyBjaGFuZ2VkLCAxNzIgaW5zZXJ0aW9u cygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9naGVya2luX3Y2L1JFQURNRS5yc3QK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZ2hlcmtpbl92Ni9iZWhhdmUuaW5pCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8xLmZlYXR1 cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxl XzIuZmVhdHVyZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1 cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMv Z2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wZXJzb25fc3RlcHMucHkKKworZGlmZiAtLWdpdCBh L2V4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdCBiL2V4YW1wbGVzL2doZXJraW5fdjYvUkVB RE1FLnJzdAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjU4MTk5ZGQKKy0t LSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdAorQEAgLTAs MCArMSwxOCBAQAorK0doZXJraW4gdjYgRXhhbXBsZXMKKys9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor KworKworK1NDUkFUQ0hQQUQ6IFByb2JsZW1zCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKyst IFN1bW1hcnlSZXBvcnRlcjogU2hvd3Mgd3JvbmcgY291bnRzIHdoZW4gUnVsZXMgYXJlIHByZXNl bnQ6OgorKworKyAgICAuLi4KKysgICAgMCBmZWF0dXJlcyBwYXNzZWQsIDAgZmFpbGVkLCAxIHNr aXBwZWQgWFhYCisrICAgIDMgcnVsZXMgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCisrICAg IDUgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAxMyBzdGVwcyBw YXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDAgdW5kZWZpbmVkCisrCisrCisrLSBGb3JtYXR0 ZXJzOiBQcmV0dHlGb3JtYXR0ZXIsIFBsYWluRm9ybWF0dGVyIChhdCBsZWFzdCkgbmVlZCBSdWxl IHN1cHBvcnQKKysKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9naGVya2luX3Y2L2JlaGF2ZS5pbmkg Yi9leGFtcGxlcy9naGVya2luX3Y2L2JlaGF2ZS5pbmkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi40NWMwZjBkCistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9naGVy a2luX3Y2L2JlaGF2ZS5pbmkKK0BAIC0wLDAgKzEsNDIgQEAKKysjID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisrIyBCRUhBVkUgQ09ORklHVVJBVElPTgorKyMgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysj IEZJTEU6IC5iZWhhdmVyYywgYmVoYXZlLmluaSwgc2V0dXAuY2ZnLCB0b3guaW5pCisrIworKyMg U0VFIEFMU086CisrIyAgKiBodHRwOi8vcGFja2FnZXMucHl0aG9uLm9yZy9iZWhhdmUvYmVoYXZl Lmh0bWwjY29uZmlndXJhdGlvbi1maWxlcworKyMgICogaHR0cHM6Ly9naXRodWIuY29tL2JlaGF2 ZS9iZWhhdmUKKysjICAqIGh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9iZWhhdmUvCisrIyA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorKworK1tiZWhhdmVdCisrZGVmYXVsdF90YWdzID0gbm90IChA eGZhaWwgb3IgQG5vdF9pbXBsZW1lbnRlZCkKKytzaG93X3NraXBwZWQgPSBmYWxzZQorK2Zvcm1h dCAgID0gcmVydW4KKysgICAgcHJvZ3Jlc3MzCisrb3V0ZmlsZXMgPSByZXJ1bi50eHQKKysgICAg cmVwb3J0cy9yZXBvcnRfcHJvZ3Jlc3MzLnR4dAorK2p1bml0ID0gdHJ1ZQorK2xvZ2dpbmdfbGV2 ZWwgPSBJTkZPCisrIyBsb2dnaW5nX2Zvcm1hdCA9IExPRy4lKGxldmVsbmFtZSktOHMgICUobmFt ZSktMTBzOiAlKG1lc3NhZ2UpcworKyMgbG9nZ2luZ19mb3JtYXQgPSBMT0cuJShsZXZlbG5hbWUp LThzICAlKGFzY3RpbWUpcyAgJShuYW1lKS0xMHM6ICUobWVzc2FnZSlzCisrCisrIyAtLSBBTExV UkUtRk9STUFUVEVSIFJFUVVJUkVTOgorKyMgYnJldyBpbnN0YWxsIGFsbHVyZQorKyMgcGlwIGlu c3RhbGwgYWxsdXJlLWJlaGF2ZQorKyMgQUxMVVJFX1JFUE9SVFNfRElSPWFsbHVyZS5yZXBvcnRz CisrIyBiZWhhdmUgLWYgYWxsdXJlIC1vICRBTExVUkVfUkVQT1JUU19ESVIgLi4uCisrIyBhbGx1 cmUgc2VydmUgJEFMTFVSRV9SRVBPUlRTX0RJUgorKyMKKysjIFNFRSBBTFNPOgorKyMgKiBodHRw czovL2dpdGh1Yi5jb20vYWxsdXJlLWZyYW1ld29yay9hbGx1cmUyCisrIyAqIGh0dHBzOi8vZ2l0 aHViLmNvbS9hbGx1cmUtZnJhbWV3b3JrL2FsbHVyZS1weXRob24KKytbYmVoYXZlLmZvcm1hdHRl cnNdCisrYWxsdXJlID0gYWxsdXJlX2JlaGF2ZS5mb3JtYXR0ZXI6QWxsdXJlRm9ybWF0dGVyCisr CisrIyBQUkVQQVJFRDoKKysjICBbYmVoYXZlXQorKyMgIGZvcm1hdCA9IC4uLiBtaXNzaW5nX3N0 ZXBzIC4uLgorKyMgIG91dHB1dCA9IC4uLiBmZWF0dXJlcy9zdGVwcy9taXNzaW5nX3N0ZXBzLnB5 IC4uLgorKyMgIFtiZWhhdmUuZm9ybWF0dGVyc10KKysjICBtaXNzaW5nX3N0ZXBzID0gYmVoYXZl LmNvbnRyaWIuZm9ybWF0dGVyX21pc3Npbmdfc3RlcHM6TWlzc2luZ1N0ZXBzRm9ybWF0dGVyCitk aWZmIC0tZ2l0IGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzEuZmVhdHVyZSBi L2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8xLmZlYXR1cmUKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5hODAyZTE5CistLS0gL2Rldi9udWxsCisrKysgYi9l eGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMS5mZWF0dXJlCitAQCAtMCwwICsxLDQy IEBACisrRmVhdHVyZTogR2hlcmtpbiB2NiBFeGFtcGxlIC0tIHdpdGggUnVsZXMKKysgIEZlYXR1 cmUgZGVzY3JpcHRpb24gbGluZSAxLgorKworKyAgQmFja2dyb3VuZDogRmVhdHVyZS5CYWNrZ3Jv dW5kCisrICAgIEdpdmVuIGZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEKKysKKysgIFJ1bGU6IFIx ICh3aXRoIFJ1bGUuQmFja2dyb3VuZCkKKysgICAgUnVsZSBSMSBkZXNjcmlwdGlvbiBsaW5lIDEu CisrCisrICAgIEJhY2tncm91bmQ6IFIxLkJhY2tncm91bmQKKysgICAgICBHaXZlbiBydWxlIFIx IGJhY2tncm91bmQgc3RlcF8xCisrICAgICAgV2hlbiAgcnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBf MgorKworKyAgICBFeGFtcGxlOiBSMS5TY2VuYXJpb18xCisrICAgICAgV2hlbiBydWxlIFIxIHNj ZW5hcmlvXzEgc3RlcF8xCisrICAgICAgVGhlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8yCisr CisrICAgIEV4YW1wbGU6IFIxLlNjZW5hcmlvXzIKKysgICAgICBHaXZlbiBydWxlIFIxIHNjZW5h cmlvXzIgc3RlcF8xCisrICAgICAgVGhlbiAgcnVsZSBSMSBzY2VuYXJpb18yIHN0ZXBfMgorKwor KyAgUnVsZTogUjIgKHdpdGhvdXQgUnVsZS5CYWNrZ3JvdW5kKQorKyAgICBSdWxlIFIyIGRlc2Ny aXB0aW9uIGxpbmUgMS4KKysKKysgICAgRXhhbXBsZTogUjIuU2NlbmFyaW9fMQorKyAgICAgIFdo ZW4gcnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMQorKyAgICAgIFRoZW4gcnVsZSBSMiBzY2VuYXJp b18xIHN0ZXBfMgorKworKworKyAgUnVsZTogUjMgKHdpdGggZW1wdHkgUnVsZS5CYWNrZ3JvdW5k KQorKyAgICBSdWxlIFIzIGRlc2NyaXB0aW9uIGxpbmUgMS4KKysgICAgUnVsZSBSMyBkZXNjcmlw dGlvbiBsaW5lIDIuCisrCisrICAgIEJhY2tncm91bmQ6IFIzLkVtcHR5QmFja2dyb3VuZAorKwor KyAgICBTY2VuYXJpbyBUZW1wbGF0ZTogUjMuU2NlbmFyaW8KKysgICAgICBHaXZlbiBhIHBlcnNv biBuYW1lZCAiPG5hbWU+IgorKworKyAgICAgIEV4YW1wbGVzOgorKyAgICAgICAgfCBuYW1lICB8 CisrICAgICAgICB8IEFsaWNlIHwKKysgICAgICAgIHwgQm9iICAgfAorZGlmZiAtLWdpdCBhL2V4 YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8yLmZlYXR1cmUgYi9leGFtcGxlcy9naGVy a2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMC4uYTgwMmUxOQorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZ2hlcmtp bl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZQorQEAgLTAsMCArMSw0MiBAQAorK0ZlYXR1cmU6 IEdoZXJraW4gdjYgRXhhbXBsZSAtLSB3aXRoIFJ1bGVzCisrICBGZWF0dXJlIGRlc2NyaXB0aW9u IGxpbmUgMS4KKysKKysgIEJhY2tncm91bmQ6IEZlYXR1cmUuQmFja2dyb3VuZAorKyAgICBHaXZl biBmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xCisrCisrICBSdWxlOiBSMSAod2l0aCBSdWxlLkJh Y2tncm91bmQpCisrICAgIFJ1bGUgUjEgZGVzY3JpcHRpb24gbGluZSAxLgorKworKyAgICBCYWNr Z3JvdW5kOiBSMS5CYWNrZ3JvdW5kCisrICAgICAgR2l2ZW4gcnVsZSBSMSBiYWNrZ3JvdW5kIHN0 ZXBfMQorKyAgICAgIFdoZW4gIHJ1bGUgUjEgYmFja2dyb3VuZCBzdGVwXzIKKysKKysgICAgRXhh bXBsZTogUjEuU2NlbmFyaW9fMQorKyAgICAgIFdoZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBf MQorKyAgICAgIFRoZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMgorKworKyAgICBFeGFtcGxl OiBSMS5TY2VuYXJpb18yCisrICAgICAgR2l2ZW4gcnVsZSBSMSBzY2VuYXJpb18yIHN0ZXBfMQor KyAgICAgIFRoZW4gIHJ1bGUgUjEgc2NlbmFyaW9fMiBzdGVwXzIKKysKKysgIFJ1bGU6IFIyICh3 aXRob3V0IFJ1bGUuQmFja2dyb3VuZCkKKysgICAgUnVsZSBSMiBkZXNjcmlwdGlvbiBsaW5lIDEu CisrCisrICAgIEV4YW1wbGU6IFIyLlNjZW5hcmlvXzEKKysgICAgICBXaGVuIHJ1bGUgUjIgc2Nl bmFyaW9fMSBzdGVwXzEKKysgICAgICBUaGVuIHJ1bGUgUjIgc2NlbmFyaW9fMSBzdGVwXzIKKysK KysKKysgIFJ1bGU6IFIzICh3aXRoIGVtcHR5IFJ1bGUuQmFja2dyb3VuZCkKKysgICAgUnVsZSBS MyBkZXNjcmlwdGlvbiBsaW5lIDEuCisrICAgIFJ1bGUgUjMgZGVzY3JpcHRpb24gbGluZSAyLgor KworKyAgICBCYWNrZ3JvdW5kOiBSMy5FbXB0eUJhY2tncm91bmQKKysKKysgICAgU2NlbmFyaW8g VGVtcGxhdGU6IFIzLlNjZW5hcmlvCisrICAgICAgR2l2ZW4gYSBwZXJzb24gbmFtZWQgIjxuYW1l PiIKKysKKysgICAgICBFeGFtcGxlczoKKysgICAgICAgIHwgbmFtZSAgfAorKyAgICAgICAgfCBB bGljZSB8CisrICAgICAgICB8IEJvYiAgIHwKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9naGVya2lu X3Y2L2ZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMucHkgYi9leGFtcGxlcy9naGVya2luX3Y2 L2ZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi5mNDgyMmYzCistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9naGVy a2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMucHkKK0BAIC0wLDAgKzEsMjEgQEAK KysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1 dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2Zyb20gYmVoYXZlIGltcG9ydCBzdGVwCisrCisr CisrQHN0ZXAodSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF97c3RlcF9pZDpkfScpCisrZGVmIHN0 ZXBfcnVsZV9iYWNrZ3JvdW5kKGN0eCwgc3RlcF9pZCk6CisrICAgIHByaW50KCJmZWF0dXJlIGJh Y2tncm91bmQgc3RlcF97MH0iLmZvcm1hdChzdGVwX2lkKSkKKysKKysKKytAc3RlcCh1J3J1bGUg e3J1bGVfaWQ6d30gYmFja2dyb3VuZCBzdGVwX3tzdGVwX2lkOmR9JykKKytkZWYgc3RlcF9ydWxl X2JhY2tncm91bmQoY3R4LCBydWxlX2lkLCBzdGVwX2lkKToKKysgICAgcHJpbnQoInJ1bGUgezB9 IGJhY2tncm91bmQgc3RlcF97MX0iLmZvcm1hdChydWxlX2lkLCBzdGVwX2lkKSkKKysKKysKKytA c3RlcCh1J3J1bGUge3J1bGVfaWQ6d30gc2NlbmFyaW9fe3NjZW5hcmlvX2lkOmR9IHN0ZXBfe3N0 ZXBfaWQ6ZH0nKQorK2RlZiBzdGVwX3J1bGVfc2NlbmFyaW8oY3R4LCBydWxlX2lkLCBzY2VuYXJp b19pZCwgc3RlcF9pZCk6CisrICAgIHByaW50KCJydWxlIHswfSBzY2VuYXJpb197MX0gc3RlcF97 Mn0iLmZvcm1hdCgKKysgICAgICAgIHJ1bGVfaWQsIHNjZW5hcmlvX2lkLCBzdGVwX2lkKSkKKysK KysKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3BlcnNv bl9zdGVwcy5weSBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvcGVyc29uX3N0 ZXBzLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNzE0YWMwMQorLS0t IC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wZXJz b25fc3RlcHMucHkKK0BAIC0wLDAgKzEsNyBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisr ZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuCisrCisrCisrQGdpdmVuKHUnYSBwZXJzb24gbmFtZWQg IntuYW1lfSInKQorK2RlZiBzdGVwX2dpdmVuX3BlcnNvbl93aXRoX25hbWUoY3R4LCBuYW1lKToK KysgICAgcGFzcwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAxNy1QUkVQQVJFLVB5dGhvbi0zLjgtc3VwcG9ydC5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTct UFJFUEFSRS1QeXRob24tMy44LXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi43YzZlOWI1MjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE3LVBSRVBBUkUtUHl0aG9u LTMuOC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gNWU1MjliOWFlMTdjMTUy MzFmOTg5YzE3ZmUxYTA5ODk3ZWRmNjQ3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA4 IEp1biAyMDE5IDIwOjM5OjQyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFBSRVBBUkU6IFB5dGhv bi0zLjggc3VwcG9ydAorCistLS0KKyAudHJhdmlzLnltbCB8IDggKysrKystLS0KKyAxIGZpbGUg Y2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv LnRyYXZpcy55bWwgYi8udHJhdmlzLnltbAoraW5kZXggNzAxNWI4OC4uZDhmMjQ0MyAxMDA2NDQK Ky0tLSBhLy50cmF2aXMueW1sCisrKysgYi8udHJhdmlzLnltbAorQEAgLTEsMTIgKzEsMTQgQEAK KyBsYW5ndWFnZTogcHl0aG9uCisgc3VkbzogZmFsc2UKKytkaXN0OiB4ZW5pYWwgICAjIHJlcXVp cmVkIGZvciBQeXRob24gPj0gMy43CisgcHl0aG9uOgorLSAgLSAiMy42IgorKyAgLSAiMy43Igor ICAgLSAiMi43IgorKyAgLSAiMy42IgorICAgLSAiMy41IgorICAgLSAicHlweSIKKyAgIC0gInB5 cHkzIgorLSAgLSAiMy43LWRldiIKKysgIC0gIjMuOC1kZXYiCisgCisgIyAtLSBESVNBQkxFRDoK KyAjICAtICJuaWdodGx5IgorQEAgLTE5LDcgKzIxLDcgQEAgcHl0aG9uOgorICMgLS0gVEVTVC1C QUxMT046IENoZWNrIGlmIFB5dGhvbiAzLjYgaXMgYWN0dWFsbHkgUHl0aG9uIDMuNS4xIG9yIG5l d2VyCisgbWF0cml4OgorICAgYWxsb3dfZmFpbHVyZXM6CistICAgIC0gcHl0aG9uOiAiMy43LWRl diIKKysgICAgLSBweXRob246ICIzLjgtZGV2IgorICAgICAtIHB5dGhvbjogIm5pZ2h0bHkiCisg CisgY2FjaGU6CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDE4LXB5My44LVRyeS10by1maXgtbG9nZ2luZy5Gb3JtYXR0ZXIt dmFsaWRhdGUtcHJvYmxlbS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTgtcHkzLjgtVHJ5LXRvLWZpeC1sb2dnaW5nLkZvcm1hdHRl ci12YWxpZGF0ZS1wcm9ibGVtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uNGZlNTk2YTJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxOC1weTMuOC1UcnktdG8tZml4LWxvZ2dp bmcuRm9ybWF0dGVyLXZhbGlkYXRlLXByb2JsZW0ucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJv bSBjMDQ2YzNhMzEzMjJjN2MyOWZmNmQ3ZjYxNzJkZjQxZGEzNTMwNjgzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTM6MTc6MTAgKzAyMDAKK1N1YmplY3Q6IFtQQVRD SF0gcHkzLjg6IFRyeSB0byBmaXggbG9nZ2luZy5Gb3JtYXR0ZXIgdmFsaWRhdGUgcHJvYmxlbQor CistLS0KKyB0ZXN0cy91bml0L3Rlc3RfY2FwdHVyZS5weSB8IDIgKysKKyAxIGZpbGUgY2hhbmdl ZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfY2FwdHVy ZS5weSBiL3Rlc3RzL3VuaXQvdGVzdF9jYXB0dXJlLnB5CitpbmRleCBhYzI2NTVlLi5kOWEzZjNh IDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X2NhcHR1cmUucHkKKysrKyBiL3Rlc3RzL3Vu aXQvdGVzdF9jYXB0dXJlLnB5CitAQCAtMjAsNiArMjAsOCBAQCBkZWYgY3JlYXRlX2NhcHR1cmVf Y29udHJvbGxlcihjb25maWc9Tm9uZSk6CisgICAgICAgICBjb25maWcubG9nX2NhcHR1cmUgPSBU cnVlCisgICAgICAgICBjb25maWcubG9nZ2luZ19maWx0ZXIgPSBOb25lCisgICAgICAgICBjb25m aWcubG9nZ2luZ19sZXZlbCA9ICJJTkZPIgorKyAgICAgICAgY29uZmlnLmxvZ2dpbmdfZm9ybWF0 ID0gIiUobGV2ZWxuYW1lKXM6JShuYW1lKXM6JShtZXNzYWdlKXMiCisrICAgICAgICBjb25maWcu bG9nZ2luZ19kYXRlZm10ID0gTm9uZQorICAgICByZXR1cm4gQ2FwdHVyZUNvbnRyb2xsZXIoY29u ZmlnKQorIAorIGRlZiBzZXR1cF9jYXB0dXJlX2NvbnRyb2xsZXIoY2FwdHVyZV9jb250cm9sbGVy LCBjb250ZXh0PU5vbmUpOgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxOS10cmF2aXMuY2ktVGVtcG9yYXJpbHktbW92ZS1w eTM4LWRldi10by1mcm9udC1idWlsZC1mLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxOS10cmF2aXMuY2ktVGVtcG9yYXJpbHktbW92 ZS1weTM4LWRldi10by1mcm9udC1idWlsZC1mLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uMTIxZGE3MDk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxOS10cmF2aXMuY2ktVGVt cG9yYXJpbHktbW92ZS1weTM4LWRldi10by1mcm9udC1idWlsZC1mLnBhdGNoCkBAIC0wLDAgKzEs MjggQEAKK0Zyb20gZmJlNmIyOTM3MDg3ZGIxMWY5NmUyMWIzNmE1NDAyNzBkN2MyYjE2NSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAyMDE5IDEzOjE5OjU4ICswMjAwCitTdWJq ZWN0OiBbUEFUQ0hdIHRyYXZpcy5jaTogVGVtcG9yYXJpbHkgbW92ZSBweTM4LWRldiB0byBmcm9u dCAoYnVpbGQgZmlyc3QpLgorCistLS0KKyAudHJhdmlzLnltbCB8IDIgKy0KKyAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhLy50cmF2 aXMueW1sIGIvLnRyYXZpcy55bWwKK2luZGV4IGQ4ZjI0NDMuLjM1YmNlOGMgMTAwNjQ0CistLS0g YS8udHJhdmlzLnltbAorKysrIGIvLnRyYXZpcy55bWwKK0BAIC0yLDEzICsyLDEzIEBAIGxhbmd1 YWdlOiBweXRob24KKyBzdWRvOiBmYWxzZQorIGRpc3Q6IHhlbmlhbCAgICMgcmVxdWlyZWQgZm9y IFB5dGhvbiA+PSAzLjcKKyBweXRob246CisrICAtICIzLjgtZGV2IgorICAgLSAiMy43IgorICAg LSAiMi43IgorICAgLSAiMy42IgorICAgLSAiMy41IgorICAgLSAicHlweSIKKyAgIC0gInB5cHkz IgorLSAgLSAiMy44LWRldiIKKyAKKyAjIC0tIERJU0FCTEVEOgorICMgIC0gIm5pZ2h0bHkiCmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDIwLXRyYXZpcy5jaS1Ud2Vha3MtZm9yLWZhc3Rlci1idWlsZHMtdGVtcG9yYXJpbHku cGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDIwLXRyYXZpcy5jaS1Ud2Vha3MtZm9yLWZhc3Rlci1idWlsZHMtdGVtcG9yYXJpbHkucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5jZjlhZmY3MDEKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDIwLXRyYXZpcy5jaS1Ud2Vha3MtZm9yLWZhc3Rlci1idWlsZHMtdGVtcG9yYXJp bHkucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA0MTUyNWM3NDg0MTM0MDVkMGZhZjZjOGZj OWEzNDUwNDdlMzFhMWE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkg MTM6MjY6MTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdHJhdmlzLmNpOiBUd2Vha3MgZm9yIGZh c3RlciBidWlsZHMgKHRlbXBvcmFyaWx5KS4KKworLS0tCisgLnRyYXZpcy55bWwgfCAxMiArKysr KystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8udHJhdmlzLnltbAoraW5kZXggMzViY2U4 Yy4uZmJjMzUyMCAxMDA2NDQKKy0tLSBhLy50cmF2aXMueW1sCisrKysgYi8udHJhdmlzLnltbAor QEAgLTUsMTUgKzUsMTUgQEAgcHl0aG9uOgorICAgLSAiMy44LWRldiIKKyAgIC0gIjMuNyIKKyAg IC0gIjIuNyIKKy0gIC0gIjMuNiIKKy0gIC0gIjMuNSIKKy0gIC0gInB5cHkiCistICAtICJweXB5 MyIKKysKKysjIC0tIERJU0FCTEUtVEVNUE9SQVJJTFk6IEVuc3VyZSBmYXN0ZXIgYnVpbGRzCisr IyAgLSAiMy42IgorKyMgIC0gIjMuNSIKKysjICAtICJweXB5IgorKyMgIC0gInB5cHkzIgorIAor ICMgLS0gRElTQUJMRUQ6CisgIyAgLSAibmlnaHRseSIKKy0jICAtICIzLjQiCistIyAgLSAiMy4z IgorICMKKyAjIE5PVyBTVVBQT1JURUQ6ICIzLjUiID0+IHB5dGhvbiAzLjUuMiAoPj0gMy41LjEp CisgIyBOT1RFOiBuaWdodGx5ID0gMy43LWRldgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyMS1GSVgtcHkzLjgtbG9nZ2lu Zy5Gb3JtYXR0ZXIudmFsaWRhdGUtcHJvYmxlbS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjEtRklYLXB5My44LWxvZ2dpbmcuRm9y bWF0dGVyLnZhbGlkYXRlLXByb2JsZW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi41ZmIxMTc2YWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIxLUZJWC1weTMuOC1sb2dnaW5n LkZvcm1hdHRlci52YWxpZGF0ZS1wcm9ibGVtLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20g ZmVkNGJiMzI3MzYzM2U1ZjgxZmM4YmEyMWM4YjYyMjU1YzdlZWZjZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgorRGF0ZTogU3VuLCA5IEp1biAyMDE5IDEzOjQyOjIwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hd IEZJWCBweTMuODogbG9nZ2luZy5Gb3JtYXR0ZXIudmFsaWRhdGUoKSBwcm9ibGVtLgorCistLS0K KyB0ZXN0L3Rlc3RfcnVubmVyLnB5IHwgNiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNl cnRpb25zKCspCisKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfcnVubmVyLnB5IGIvdGVzdC90ZXN0 X3J1bm5lci5weQoraW5kZXggNTdjOTQ0NS4uNjY0NzI4MyAxMDA2NDQKKy0tLSBhL3Rlc3QvdGVz dF9ydW5uZXIucHkKKysrKyBiL3Rlc3QvdGVzdF9ydW5uZXIucHkKK0BAIC0yODYsNiArMjg2LDcg QEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgZXFfKCJ0 aGluZyIgaW4gc2VsZi5jb250ZXh0LCBUcnVlKQorICAgICAgICAgZGVsIHNlbGYuY29udGV4dC50 aGluZworIAorKworIGNsYXNzIEV4YW1wbGVTdGVwcyhvYmplY3QpOgorICAgICB0ZXh0ID0gTm9u ZQorICAgICB0YWJsZSA9IE5vbmUKK0BAIC0zMjAsNiArMzIxLDcgQEAgY2xhc3MgRXhhbXBsZVN0 ZXBzKG9iamVjdCk6CisgICAgICAgICBmb3Iga2V5d29yZCwgcGF0dGVybiwgZnVuYyBpbiBzdGVw X2RlZmluaXRpb25zOgorICAgICAgICAgICAgIHN0ZXBfcmVnaXN0cnkuYWRkX3N0ZXBfZGVmaW5p dGlvbihrZXl3b3JkLCBwYXR0ZXJuLCBmdW5jKQorIAorKworIGNsYXNzIFRlc3RDb250ZXh0X0V4 ZWN1dGVTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICIiIgorICAgICBUZXN0IHRoZSBi ZWhhdmUucnVubmVyLkNvbnRleHQuZXhlY3V0ZV9zdGVwcygpIGZ1bmN0aW9uYWxpdHkuCitAQCAt MzQxLDYgKzM0Myw4IEBAIGNsYXNzIFRlc3RDb250ZXh0X0V4ZWN1dGVTdGVwcyh1bml0dGVzdC5U ZXN0Q2FzZSk6CisgICAgICAgICBydW5uZXJfLmNvbmZpZy5zdGRvdXRfY2FwdHVyZSA9IEZhbHNl CisgICAgICAgICBydW5uZXJfLmNvbmZpZy5zdGRlcnJfY2FwdHVyZSA9IEZhbHNlCisgICAgICAg ICBydW5uZXJfLmNvbmZpZy5sb2dfY2FwdHVyZSA9IEZhbHNlCisrICAgICAgICBydW5uZXJfLmNv bmZpZy5sb2dnaW5nX2Zvcm1hdCA9IE5vbmUKKysgICAgICAgIHJ1bm5lcl8uY29uZmlnLmxvZ2dp bmdfZGF0ZWZtdCA9IE5vbmUKKyAgICAgICAgIHJ1bm5lcl8uc3RlcF9yZWdpc3RyeSA9IHNlbGYu c3RlcF9yZWdpc3RyeQorIAorICAgICAgICAgc2VsZi5jb250ZXh0ID0gcnVubmVyLkNvbnRleHQo cnVubmVyXykKK0BAIC02NTgsNiArNjYyLDggQEAgY2xhc3MgVGVzdFJ1bldpdGhQYXRocyh1bml0 dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBzZWxmLmNvbmZpZy5sb2dnaW5nX2ZpbHRlciA9IE5v bmUKKyAgICAgICAgIHNlbGYuY29uZmlnLm91dHB1dHMgPSBbTW9jaygpLCBTdHJlYW1PcGVuZXIo c3RyZWFtPXN5cy5zdGRvdXQpXQorICAgICAgICAgc2VsZi5jb25maWcuZm9ybWF0ID0gWyJwbGFp biIsICJwcm9ncmVzcyJdCisrICAgICAgICBzZWxmLmNvbmZpZy5sb2dnaW5nX2Zvcm1hdCA9IE5v bmUKKysgICAgICAgIHNlbGYuY29uZmlnLmxvZ2dpbmdfZGF0ZWZtdCA9IE5vbmUKKyAgICAgICAg IHNlbGYucnVubmVyID0gcnVubmVyLlJ1bm5lcihzZWxmLmNvbmZpZykKKyAgICAgICAgIHNlbGYu bG9hZF9ob29rcyA9IHNlbGYucnVubmVyLmxvYWRfaG9va3MgPSBNb2NrKCkKKyAgICAgICAgIHNl bGYubG9hZF9zdGVwX2RlZmluaXRpb25zID0gc2VsZi5ydW5uZXIubG9hZF9zdGVwX2RlZmluaXRp b25zID0gTW9jaygpCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDIyLVBSRVBBUkUtRk9SLVB5dGhvbi0zLjgtYXN5bmNpby5j b3JvdXRpbmUtaXMtZGVwcmVjYXQucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIyLVBSRVBBUkUtRk9SLVB5dGhvbi0zLjgtYXN5bmNp by5jb3JvdXRpbmUtaXMtZGVwcmVjYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi5iNDY4NDY0NzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIyLVBSRVBBUkUtRk9SLVB5dGhv bi0zLjgtYXN5bmNpby5jb3JvdXRpbmUtaXMtZGVwcmVjYXQucGF0Y2gKQEAgLTAsMCArMSw0MiBA QAorRnJvbSBkNTRkOGMwMzhhN2U1ZjlkMjE2OGRhYTZlMTMzNjJkMWRmN2QxN2E1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTM6NTg6MjIgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSF0gUFJFUEFSRSBGT1I6IFB5dGhvbiAzLjgsIEBhc3luY2lvLmNvcm91dGluZSBpcyBk ZXByZWNhdGVkCisgc2luY2UgcHkzOC4KKworLS0tCisgdGVzdHMvYXBpL190ZXN0X2FzeW5jX3N0 ZXAzNC5weSB8IDkgKysrKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL2FwaS9fdGVzdF9hc3luY19zdGVw MzQucHkgYi90ZXN0cy9hcGkvX3Rlc3RfYXN5bmNfc3RlcDM0LnB5CitpbmRleCA4MjQyYmU3Li4x YzBjMzFmIDEwMDY0NAorLS0tIGEvdGVzdHMvYXBpL190ZXN0X2FzeW5jX3N0ZXAzNC5weQorKysr IGIvdGVzdHMvYXBpL190ZXN0X2FzeW5jX3N0ZXAzNC5weQorQEAgLTM3LDEzICszNywxNiBAQCBm cm9tIC50ZXN0aW5nX3N1cHBvcnRfYXN5bmMgaW1wb3J0IEFzeW5jU3RlcFRoZW9yeQorICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRFU1QgTUFSS0VSUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrIyBERVBSRUNBVEVEOiBAYXN5bmNpby5jb3JvdXRpbmUgZGVjb3JhdG9yIChzaW5jZTog UHl0aG9uID49IDMuOCkKKyBfcHl0aG9uX3ZlcnNpb24gPSBmbG9hdCgiJXMuJXMiICUgc3lzLnZl cnNpb25faW5mb1s6Ml0pCistcHkzNF9vcl9uZXdlciA9IHB5dGVzdC5tYXJrLnNraXBpZihfcHl0 aG9uX3ZlcnNpb24gPCAzLjQsIHJlYXNvbj0iTmVlZHMgUHl0aG9uID49IDMuNCIpCisrcmVxdWly ZXNfcHkzNF90b19weTM3ID0gcHl0ZXN0Lm1hcmsuc2tpcGlmKG5vdCAoMy40IDw9IF9weXRob25f dmVyc2lvbiA8IDMuOCksCisrICAgIHJlYXNvbj0iU3VwcG9ydGVkIG9ubHkgZm9yIHB5dGhvbi52 ZXJzaW9uczogMy40IC4uIDMuNyAoaW5jbHVzaXZlKSIpCisrCisgCisgIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICMgVEVTVFNVSVRFOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1AcHkzNF9v cl9uZXdlcgorK0ByZXF1aXJlc19weTM0X3RvX3B5MzcKKyBjbGFzcyBUZXN0QXN5bmNTdGVwRGVj b3JhdG9yUHkzNChvYmplY3QpOgorIAorICAgICBkZWYgdGVzdF9zdGVwX2RlY29yYXRvcl9hc3lu Y19ydW5fdW50aWxfY29tcGxldGUyKHNlbGYpOgorQEAgLTEyOCw3ICsxMzEsNyBAQCBjbGFzcyBU ZXN0QXN5bmNDb250ZXh0KG9iamVjdCk6CisgICAgICAgICBhc3NlcnQgYXN5bmNfY29udGV4dC5s b29wIGlzIGxvb3AwCisgCisgCistQHB5MzRfb3JfbmV3ZXIKKytAcmVxdWlyZXNfcHkzNF90b19w eTM3CisgY2xhc3MgVGVzdEFzeW5jU3RlcFJ1blB5MzQob2JqZWN0KToKKyAgICAgIiIiRW5zdXJl IHRoYXQgZXhlY3V0aW9uIG9mIGFzeW5jLXN0ZXBzIHdvcmtzIGFzIGV4cGVjdGVkLiIiIgorIApk aWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZvLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZv LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNTZiOGJkNmM3Ci0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZvLnBhdGNoCkBAIC0wLDAgKzEsMjQg QEAKK0Zyb20gZGI2NmVlY2Y0YzUzMDFjYTQ1ZGI5ZjcxYzdiMmMzYzI2ZDU5MjdhMSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAyMDE5IDE0OjA2OjE0ICswMjAwCitTdWJqZWN0 OiBbUEFUQ0hdIFVQREFURTogQWRkICM3NTUgaW5mbworCistLS0KKyBDSEFOR0VTLnJzdCB8IDQg KysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL0NI QU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGQ2ZTk2YWYuLmE5MWUyMmEgMTAwNjQ0Cist LS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0zMCw2ICszMCwxMCBAQCBF TkhBTkNFTUVOVFM6CisgKiBpc3N1ZSAjNjc1OiBGZWF0dXJlIGZpbGVzIGNhbm5vdCBiZSBmb3Vu ZCB3aXRoaW4gc3ltbGluayBkaXJlY3RvcmllcyAocHJvdmlkZWQgYnk6IHNtYWRuZXNzLCBwdWxs ICM2ODApCisgCisgCisrUEFSVElBTExZIEZJWEVEOgorKworKyogaXNzdWUgIzc1NTogRmFpbHVy ZXMgd2l0aCBQeXRob24gMy44IChzdWJtaXR0ZWQgYnk6IGhyb25jb2spCisrCisgRklYRUQ6Cisg CisgKiBpc3N1ZSAjNzI1OiBTY2VuYXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxpbmVzIHNlZW0g dG8gYmUgaWdub3JlZCAoc3VibWl0dGVkIGJ5OiBuaXp3aXopCmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI0LUZJWC1XQVJO SU5HLVJlbGF0ZWQtdG8tZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdlaXJkLWIucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI0LUZJWC1X QVJOSU5HLVJlbGF0ZWQtdG8tZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdlaXJkLWIucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi44Zjk0NjRhMmQKLS0tIC9kZXYvbnVs bAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDI0LUZJWC1XQVJOSU5HLVJlbGF0ZWQtdG8tZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdlaXJk LWIucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJvbSA0NjdiMjIzZGM4NGY1MjkzM2IyNzgyY2U5 ZDExNmU4OWQ0OGEyNmYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkg MTQ6Mjc6MjMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYLVdBUk5JTkc6IFJlbGF0ZWQgdG8g ZG9jc3RyaW5nLWV4YW1wbGUgYW5kIHdlaXJkIGJhY2tzbGFzaAorIHVzYWdlLgorCistLS0KKyBi ZWhhdmUvbWF0Y2hlcnMucHkgfCA0ICstLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvbWF0Y2hlcnMucHkgYi9i ZWhhdmUvbWF0Y2hlcnMucHkKK2luZGV4IGM4OTZmNTIuLjBmZWUwYzcgMTAwNjQ0CistLS0gYS9i ZWhhdmUvbWF0Y2hlcnMucHkKKysrKyBiL2JlaGF2ZS9tYXRjaGVycy5weQorQEAgLTI2MSw5ICsy NjEsNyBAQCBjbGFzcyBDRlBhcnNlTWF0Y2hlcihQYXJzZU1hdGNoZXIpOgorIAorIAorIGRlZiBy ZWdpc3Rlcl90eXBlKCoqa3cpOgorLSAgICAjIHB5bGludDogZGlzYWJsZT1hbm9tYWxvdXMtYmFj a3NsYXNoLWluLXN0cmluZworLSAgICAjIFJFUVVJUkVELUJZOiBjb2RlIGV4YW1wbGUKKy0gICAg IiIiUmVnaXN0ZXJzIGEgY3VzdG9tIHR5cGUgdGhhdCB3aWxsIGJlIGF2YWlsYWJsZSB0byAicGFy c2UiCisrICAgIHIiIiJSZWdpc3RlcnMgYSBjdXN0b20gdHlwZSB0aGF0IHdpbGwgYmUgYXZhaWxh YmxlIHRvICJwYXJzZSIKKyAgICAgZm9yIHR5cGUgY29udmVyc2lvbiBkdXJpbmcgc3RlcCBtYXRj aGluZy4KKyAKKyAgICAgQ29udmVydGVycyBzaG91bGQgYmUgc3VwcGxpZWQgYXMgYGBuYW1lPWNh bGxhYmxlYGAgYXJndW1lbnRzIChvciBhcyBkaWN0KS4KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjUtRklYLWludmFsaWQt ZXNjYXBlLXNlcXVlbmNlLXdhcm5pbmdzLXctcmVnZXgtcGF0dGVybi5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjUtRklYLWludmFs aWQtZXNjYXBlLXNlcXVlbmNlLXdhcm5pbmdzLXctcmVnZXgtcGF0dGVybi5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjkyMTNjY2QyZQotLS0gL2Rldi9udWxsCisr KyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw MjUtRklYLWludmFsaWQtZXNjYXBlLXNlcXVlbmNlLXdhcm5pbmdzLXctcmVnZXgtcGF0dGVybi5w YXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDExZWEyYzQ1ZDViODhjOTJiMjVhYjhlODAyN2E5 MzFkZjgxYzJhYmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxNDoz Nzo0MSArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IGludmFsaWQgZXNjYXBlIHNlcXVlbmNl IHdhcm5pbmdzICh3LyByZWdleCBwYXR0ZXJucykuCisKKy0tLQorIHRlc3RzL3VuaXQvdGVzdF9i ZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxfcHJvYy5weSB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy91 bml0L3Rlc3RfYmVoYXZlNGNtZF9jb21tYW5kX3NoZWxsX3Byb2MucHkgYi90ZXN0cy91bml0L3Rl c3RfYmVoYXZlNGNtZF9jb21tYW5kX3NoZWxsX3Byb2MucHkKK2luZGV4IGFhZTVlOWYuLmM0NWFi M2IgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfYmVoYXZlNGNtZF9jb21tYW5kX3NoZWxs X3Byb2MucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxf cHJvYy5weQorQEAgLTEsNSArMSw1IEBACisgIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKy0iIiIK KytyIiIiCisgCisgUmVndWxhciBleHByZXNzaW9ucyBmb3Igd2lucGF0aDoKKyBodHRwOi8vcmVn ZXhsaWIuY29tL1NlYXJjaC5hc3B4P2s9ZmlsZStuYW1lCitAQCAtNjEsNyArNjEsNyBAQCBsaW5l X3Byb2Nlc3Nvcl9pb2Vycm9ycyA9IFsKKyAKKyBsaW5lX3Byb2Nlc3Nvcl90cmFjZWJhY2sgPSBb CisgICAgIEV4Y2VwdGlvbldpdGhQYXRoTm9ybWFsaXplcigKKy0gICAgICAgICdeXHMqRmlsZSAi KD9QPHBhdGg+LiopIiwgbGluZSBcZCssIGluICcsCisrICAgICAgICByJ15ccypGaWxlICIoP1A8 cGF0aD4uKikiLCBsaW5lIFxkKywgaW4gJywKKyAgICAgICAgICcgIEZpbGUgIicpLAorICAgICBC ZWhhdmVXaW5Db21tYW5kT3V0cHV0UHJvY2Vzc29yLmxpbmVfcHJvY2Vzc29yc1s0XSwKKyBdCmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDI2LURFUFJFQ0FUSU5HLUNMRUFOVVAtTW92ZS1kZXByZWNhdGVkLXRhZy1tYXRjaGVy LWNsYXMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDI2LURFUFJFQ0FUSU5HLUNMRUFOVVAtTW92ZS1kZXByZWNhdGVkLXRhZy1tYXRj aGVyLWNsYXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi42N2Vh ODg2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDI2LURFUFJFQ0FUSU5HLUNMRUFOVVAtTW92ZS1kZXByZWNh dGVkLXRhZy1tYXRjaGVyLWNsYXMucGF0Y2gKQEAgLTAsMCArMSwxMDIwIEBACitGcm9tIDcyMjc5 ZDg3MzcyY2YyMWQ5ODBjNDBkMDFmY2UyZjU5YmI3MzQ4ODQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0Rh dGU6IFN1biwgOSBKdW4gMjAxOSAxNjowNDo0MyArMDIwMAorU3ViamVjdDogW1BBVENIXSBERVBS RUNBVElORy1DTEVBTlVQOiBNb3ZlIGRlcHJlY2F0ZWQgdGFnIG1hdGNoZXIgY2xhc3NlcworCist IGJlaGF2ZS50YWdfbWF0Y2hlci5Pbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorLSBiZWhhdmUu dGFnX21hdGNoZXIuT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIKKwordG8gImJlaGF2ZS5h dHRpYy50YWdfbWF0Y2hlciIuCitNb3ZlIHJlbGF0ZWQgdW5pdCB0ZXN0cyB0byAidGVzdHMuYXR0 aWMvdW5pdC90ZXN0X3RhZ19tYXRjaGVyLnB5Ii4KKy0tLQorIGJlaGF2ZS9hdHRpYy9fX2luaXRf Xy5weSAgICAgICAgICAgICB8ICAgMAorIGJlaGF2ZS9hdHRpYy90YWdfbWF0Y2hlci5weSAgICAg ICAgICB8IDE4MSArKysrKysrKysrKysrKysrKworIGJlaGF2ZS90YWdfbWF0Y2hlci5weSAgICAg ICAgICAgICAgICB8IDE4OSArLS0tLS0tLS0tLS0tLS0tLS0KKyB0ZXN0cy5hdHRpYy9fX2luaXRf Xy5weSAgICAgICAgICAgICAgfCAgIDAKKyB0ZXN0cy5hdHRpYy91bml0L19faW5pdF9fLnB5ICAg ICAgICAgfCAgIDAKKyB0ZXN0cy5hdHRpYy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkgfCAyODAg KysrKysrKysrKysrKysrKysrKysrKysrKysrCisgdGVzdHMvdW5pdC90ZXN0X3RhZ19tYXRjaGVy LnB5ICAgICAgIHwgMjc5ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgNyBmaWxlcyBjaGFu Z2VkLCA0NzAgaW5zZXJ0aW9ucygrKSwgNDU5IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEw MDY0NCBiZWhhdmUvYXR0aWMvX19pbml0X18ucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmVoYXZl L2F0dGljL3RhZ19tYXRjaGVyLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzLmF0dGljL19f aW5pdF9fLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzLmF0dGljL3VuaXQvX19pbml0X18u cHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMuYXR0aWMvdW5pdC90ZXN0X3RhZ19tYXRjaGVy LnB5CisKK2RpZmYgLS1naXQgYS9iZWhhdmUvYXR0aWMvX19pbml0X18ucHkgYi9iZWhhdmUvYXR0 aWMvX19pbml0X18ucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5lNjlk ZTI5CitkaWZmIC0tZ2l0IGEvYmVoYXZlL2F0dGljL3RhZ19tYXRjaGVyLnB5IGIvYmVoYXZlL2F0 dGljL3RhZ19tYXRjaGVyLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4u ZjA3ZGNiZgorLS0tIC9kZXYvbnVsbAorKysrIGIvYmVoYXZlL2F0dGljL3RhZ19tYXRjaGVyLnB5 CitAQCAtMCwwICsxLDE4MSBAQAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFBST1RPVFlQ SU5HIENMQVNTRVM6IFNob3VsZCBubyBsb25nZXIgYmUgdXNlZAorKyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKysKKytpbXBvcnQgd2FybmluZ3MKKytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBv cnQgVGFnTWF0Y2hlcgorKworKworK2NsYXNzIE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyKFRh Z01hdGNoZXIpOgorKyAgICAiIiIKKysgICAgUHJvdmlkZXMgYSB0YWcgbWF0Y2hlciB0aGF0IGFs bG93cyB0byBkZXRlcm1pbmUgaWYgZmVhdHVyZS9zY2VuYXJpbworKyAgICBzaG91bGQgcnVuIG9y IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHRoZSBydW4tc2V0IChhdCBydW50aW1lKS4KKysKKysg ICAgLi4gZGVwcmVjYXRlZDo6IFVzZSA6Y2xhc3M6YEFjdGl2ZVRhZ01hdGNoZXJgIGluc3RlYWQu CisrCisrICAgIEVYQU1QTEU6CisrICAgIC0tLS0tLS0tCisrCisrICAgIFJ1biBzb21lIHNjZW5h cmlvcyBvbmx5IHdoZW4gcnVudGltZSBjb25kaXRpb25zIGFyZSBtZXQ6CisrCisrICAgICAgKiBS dW4gc2NlbmFyaW8gQWxpY2Ugb25seSBvbiBXaW5kb3dzIE9TCisrICAgICAgKiBSdW4gc2NlbmFy aW8gQm9iIG9ubHkgb24gTUFDT1NYCisrCisrICAgIC4uIGNvZGUtYmxvY2s6OiBnaGVya2luCisr CisrICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2FsaWNlLmZlYXR1cmUKKysgICAgICAgICMg VEFHIFNDSEVNQTogQG9ubHkud2l0aF97Y2F0ZWdvcnl9PXtjdXJyZW50X3ZhbHVlfQorKyAgICAg ICAgRmVhdHVyZToKKysKKysgICAgICAgICAgQG9ubHkud2l0aF9vcz13aW4zMgorKyAgICAgICAg ICBTY2VuYXJpbzogQWxpY2UgKFJ1biBvbmx5IG9uIFdpbmRvd3MpCisrICAgICAgICAgICAgR2l2 ZW4gSSBkbyBzb21ldGhpbmcKKysgICAgICAgICAgICAuLi4KKysKKysgICAgICAgICAgQG9ubHku d2l0aF9vcz1kYXJ3aW4KKysgICAgICAgICAgU2NlbmFyaW86IEJvYiAoUnVuIG9ubHkgb24gTUFD T1NYKQorKyAgICAgICAgICAgIEdpdmVuIEkgZG8gc29tZXRoaW5nIGVsc2UKKysgICAgICAgICAg ICAuLi4KKysKKysKKysgICAgLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAgICAgICAgIyAt LSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKyAgICAgICAgZnJvbSBiZWhhdmUudGFn X21hdGNoZXIgaW1wb3J0IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyCisrICAgICAgICBpbXBv cnQgc3lzCisrCisrICAgICAgICAjIC0tIE1BVENIRVMgVEFHUzogQG9ubHkud2l0aF97Y2F0ZWdv cnl9PSogPSBAb25seS53aXRoX29zPSoKKysgICAgICAgIGFjdGl2ZV90YWdfbWF0Y2hlciA9IE9u bHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyKCJvcyIsIHN5cy5wbGF0Zm9ybSkKKysKKysgICAgICAg IGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pOgorKyAgICAgICAgICAgIGlm IGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2 ZV90YWdzKToKKysgICAgICAgICAgICAgICAgc2NlbmFyaW8uc2tpcCgpICAgIzwgTEFURS1FWENM VURFIGZyb20gcnVuLXNldC4KKysgICAgIiIiCisrICAgIHRhZ19wcmVmaXggPSAib25seS53aXRo XyIKKysgICAgdmFsdWVfc2VwYXJhdG9yID0gIj0iCisrCisrICAgIGRlZiBfX2luaXRfXyhzZWxm LCBjYXRlZ29yeSwgdmFsdWUsIHRhZ19wcmVmaXg9Tm9uZSwgdmFsdWVfc2VwPU5vbmUpOgorKyAg ICAgICAgd2FybmluZ3Mud2FybigiVXNlIEFjdGl2ZVRhZ01hdGNoZXIgaW5zdGVhZC4iLCBEZXBy ZWNhdGlvbldhcm5pbmcpCisrICAgICAgICBzdXBlcihPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hl ciwgc2VsZikuX19pbml0X18oKQorKyAgICAgICAgc2VsZi5hY3RpdmVfdGFnID0gc2VsZi5tYWtl X2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgdmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ19wcmVmaXgsIHZhbHVlX3NlcCkKKysgICAgICAg IHNlbGYuY2F0ZWdvcnlfdGFnX3ByZWZpeCA9IHNlbGYubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdv cnksIE5vbmUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRhZ19wcmVmaXgsIHZhbHVlX3NlcCkKKysKKysgICAgZGVmIHNob3VsZF9l eGNsdWRlX3dpdGgoc2VsZiwgdGFncyk6CisrICAgICAgICBjYXRlZ29yeV90YWdzID0gc2VsZi5z ZWxlY3RfY2F0ZWdvcnlfdGFncyh0YWdzKQorKyAgICAgICAgaWYgY2F0ZWdvcnlfdGFncyBhbmQg c2VsZi5hY3RpdmVfdGFnIG5vdCBpbiBjYXRlZ29yeV90YWdzOgorKyAgICAgICAgICAgIHJldHVy biBUcnVlCisrICAgICAgICAjIC0tIE9USEVSV0lTRTogZmVhdHVyZS9zY2VuYXJpbyB3aXRoIHRo ZXNlcyB0YWdzIHNob3VsZCBydW4uCisrICAgICAgICByZXR1cm4gRmFsc2UKKysKKysgICAgZGVm IHNlbGVjdF9jYXRlZ29yeV90YWdzKHNlbGYsIHRhZ3MpOgorKyAgICAgICAgcmV0dXJuIFt0YWcg IGZvciB0YWcgaW4gdGFncworKyAgICAgICAgICAgICAgICBpZiB0YWcuc3RhcnRzd2l0aChzZWxm LmNhdGVnb3J5X3RhZ19wcmVmaXgpXQorKworKyAgICBAY2xhc3NtZXRob2QKKysgICAgZGVmIG1h a2VfY2F0ZWdvcnlfdGFnKGNscywgY2F0ZWdvcnksIHZhbHVlPU5vbmUsIHRhZ19wcmVmaXg9Tm9u ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlX3NlcD1Ob25lKToKKysgICAgICAg IGlmIHRhZ19wcmVmaXggaXMgTm9uZToKKysgICAgICAgICAgICB0YWdfcHJlZml4ID0gY2xzLnRh Z19wcmVmaXgKKysgICAgICAgIGlmIHZhbHVlX3NlcCBpcyBOb25lOgorKyAgICAgICAgICAgIHZh bHVlX3NlcCA9IGNscy52YWx1ZV9zZXBhcmF0b3IKKysgICAgICAgIHZhbHVlID0gdmFsdWUgb3Ig IiIKKysgICAgICAgIHJldHVybiAiJXMlcyVzJXMiICUgKHRhZ19wcmVmaXgsIGNhdGVnb3J5LCB2 YWx1ZV9zZXAsIHZhbHVlKQorKworKworK2NsYXNzIE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRj aGVyKFRhZ01hdGNoZXIpOgorKyAgICAiIiIKKysgICAgUHJvdmlkZXMgYSB0YWcgbWF0Y2hlciB0 aGF0IG1hdGNoZXMgYW55IGNhdGVnb3J5IHRoYXQgZm9sbG93cyB0aGUKKysgICAgIkBvbmx5Lndp dGhfIiB0YWcgc2NoZW1hIGFuZCBkZXRlcm1pbmVzIGlmIGl0IHNob3VsZCBydW4gb3IKKysgICAg c2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIHJ1bi1zZXQgKGF0IHJ1bnRpbWUpLgorKworKyAg ICBUQUcgU0NIRU1BOiBAb25seS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorKworKyAgICAuLiBz ZWVhbHNvOjogT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKysgICAgLi4gZGVwcmVjYXRlZDo6 IFVzZSA6Y2xhc3M6YEFjdGl2ZVRhZ01hdGNoZXJgIGluc3RlYWQuCisrCisrICAgIEVYQU1QTEU6 CisrICAgIC0tLS0tLS0tCisrCisrICAgIFJ1biBzb21lIHNjZW5hcmlvcyBvbmx5IHdoZW4gcnVu dGltZSBjb25kaXRpb25zIGFyZSBtZXQ6CisrCisrICAgICAgKiBSdW4gc2NlbmFyaW8gQWxpY2Ug b25seSBvbiBXaW5kb3dzIE9TCisrICAgICAgKiBSdW4gc2NlbmFyaW8gQm9iIG9ubHkgd2l0aCBi cm93c2VyIENocm9tZQorKworKyAgICAuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorKworKyAgICAg ICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9hbGljZS5mZWF0dXJlCisrICAgICAgICAjIFRBRyBTQ0hF TUE6IEBvbmx5LndpdGhfe2NhdGVnb3J5fT17Y3VycmVudF92YWx1ZX0KKysgICAgICAgIEZlYXR1 cmU6CisrCisrICAgICAgICAgIEBvbmx5LndpdGhfb3M9d2luMzIKKysgICAgICAgICAgU2NlbmFy aW86IEFsaWNlIChSdW4gb25seSBvbiBXaW5kb3dzKQorKyAgICAgICAgICAgIEdpdmVuIEkgZG8g c29tZXRoaW5nCisrICAgICAgICAgICAgLi4uCisrCisrICAgICAgICAgIEBvbmx5LndpdGhfYnJv d3Nlcj1jaHJvbWUKKysgICAgICAgICAgU2NlbmFyaW86IEJvYiAoUnVuIG9ubHkgd2l0aCBXZWIt QnJvd3NlciBDaHJvbWUpCisrICAgICAgICAgICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcgZWxzZQor KyAgICAgICAgICAgIC4uLgorKworKworKyAgICAuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisrCisr ICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrICAgICAgICBmcm9t IGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIK KysgICAgICAgIGltcG9ydCBzeXMKKysKKysgICAgICAgICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzog QG9ubHkud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKysgICAgICAgICMgTk9URTogYWN0aXZlX3Rh Z192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBjdXJyZW50IGNhdGVnb3J5IHZhbHVlcy4KKysgICAg ICAgIGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgPSB7CisrICAgICAgICAgICAgImJyb3dzZXIi OiBvcy5lbnZpcm9uLmdldCgiQkVIQVZFX0JST1dTRVIiLCAiY2hyb21lIiksCisrICAgICAgICAg ICAgIm9zIjogICAgICBzeXMucGxhdGZvcm0sCisrICAgICAgICB9CisrICAgICAgICBhY3RpdmVf dGFnX21hdGNoZXIgPSBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcihhY3RpdmVfdGFnX3Zh bHVlX3Byb3ZpZGVyKQorKworKyAgICAgICAgZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBz Y2VuYXJpbyk6CisrICAgICAgICAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3MpOgorKyAgICAgICAgICAgICAgICBzY2Vu YXJpby5za2lwKCkgICAjPCBMQVRFLUVYQ0xVREUgZnJvbSBydW4tc2V0LgorKyAgICAiIiIKKysK KysgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlX3Byb3ZpZGVyLCB0YWdfcHJlZml4PU5vbmUs IHZhbHVlX3NlcD1Ob25lKToKKysgICAgICAgIHdhcm5pbmdzLndhcm4oIlVzZSBBY3RpdmVUYWdN YXRjaGVyIGluc3RlYWQuIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorKyAgICAgICAgc3VwZXIoT25s eVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIsIHNlbGYpLl9faW5pdF9fKCkKKysgICAgICAgIGlm IHZhbHVlX3NlcCBpcyBOb25lOgorKyAgICAgICAgICAgIHZhbHVlX3NlcCA9IE9ubHlXaXRoQ2F0 ZWdvcnlUYWdNYXRjaGVyLnZhbHVlX3NlcGFyYXRvcgorKyAgICAgICAgc2VsZi52YWx1ZV9wcm92 aWRlciA9IHZhbHVlX3Byb3ZpZGVyCisrICAgICAgICBzZWxmLnRhZ19wcmVmaXggPSB0YWdfcHJl Zml4IG9yIE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLnRhZ19wcmVmaXgKKysgICAgICAgIHNl bGYudmFsdWVfc2VwYXJhdG9yID0gdmFsdWVfc2VwCisrCisrICAgIGRlZiBzaG91bGRfZXhjbHVk ZV93aXRoKHNlbGYsIHRhZ3MpOgorKyAgICAgICAgZXhjbHVkZV9kZWNpc2lvbl9tYXAgPSB7fQor KyAgICAgICAgZm9yIGNhdGVnb3J5X3RhZyBpbiBzZWxmLnNlbGVjdF9jYXRlZ29yeV90YWdzKHRh Z3MpOgorKyAgICAgICAgICAgIGNhdGVnb3J5LCB2YWx1ZSA9IHNlbGYucGFyc2VfY2F0ZWdvcnlf dGFnKGNhdGVnb3J5X3RhZykKKysgICAgICAgICAgICBhY3RpdmVfdmFsdWUgPSBzZWxmLnZhbHVl X3Byb3ZpZGVyLmdldChjYXRlZ29yeSwgTm9uZSkKKysgICAgICAgICAgICBpZiBhY3RpdmVfdmFs dWUgaXMgTm9uZToKKysgICAgICAgICAgICAgICAgIyAtLSBDQVNFOiBVbmtub3duIGNhdGVnb3J5 LCBpZ25vcmUgaXQuCisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrICAgICAgICAgICAgZWxp ZiBhY3RpdmVfdmFsdWUgPT0gdmFsdWU6CisrICAgICAgICAgICAgICAgICMgLS0gQ0FTRTogQWN0 aXZlIGNhdGVnb3J5IHZhbHVlIHNlbGVjdGVkLCBkZWNpc2lvbiBzaG91bGQgcnVuLgorKyAgICAg ICAgICAgICAgICBleGNsdWRlX2RlY2lzaW9uX21hcFtjYXRlZ29yeV0gPSBGYWxzZQorKyAgICAg ICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgICMgLS0gQ0FTRTogSW5hY3RpdmUgY2F0ZWdv cnkgdmFsdWUgc2VsZWN0ZWQsIG1heSBleGNsdWRlIGl0LgorKyAgICAgICAgICAgICAgICBpZiBj YXRlZ29yeSBub3QgaW4gZXhjbHVkZV9kZWNpc2lvbl9tYXA6CisrICAgICAgICAgICAgICAgICAg ICBleGNsdWRlX2RlY2lzaW9uX21hcFtjYXRlZ29yeV0gPSBUcnVlCisrICAgICAgICByZXR1cm4g YW55KGV4Y2x1ZGVfZGVjaXNpb25fbWFwLnZhbHVlcygpKQorKworKyAgICBkZWYgc2VsZWN0X2Nh dGVnb3J5X3RhZ3Moc2VsZiwgdGFncyk6CisrICAgICAgICByZXR1cm4gW3RhZyAgZm9yIHRhZyBp biB0YWdzCisrICAgICAgICAgICAgICAgIGlmIHRhZy5zdGFydHN3aXRoKHNlbGYudGFnX3ByZWZp eCldCisrCisrICAgIGRlZiBwYXJzZV9jYXRlZ29yeV90YWcoc2VsZiwgdGFnKToKKysgICAgICAg IGFzc2VydCB0YWcgYW5kIHRhZy5zdGFydHN3aXRoKHNlbGYudGFnX3ByZWZpeCkKKysgICAgICAg IGNhdGVnb3J5X3ZhbHVlID0gdGFnW2xlbihzZWxmLnRhZ19wcmVmaXgpOl0KKysgICAgICAgIGlm IHNlbGYudmFsdWVfc2VwYXJhdG9yIGluIGNhdGVnb3J5X3ZhbHVlOgorKyAgICAgICAgICAgIGNh dGVnb3J5LCB2YWx1ZSA9IGNhdGVnb3J5X3ZhbHVlLnNwbGl0KHNlbGYudmFsdWVfc2VwYXJhdG9y LCAxKQorKyAgICAgICAgZWxzZToKKysgICAgICAgICAgICAjIC0tIE9PUFM6IFRBRyBTQ0hFTUEg Rk9STUFUIE1JU01BVENICisrICAgICAgICAgICAgY2F0ZWdvcnkgPSBjYXRlZ29yeV92YWx1ZQor KyAgICAgICAgICAgIHZhbHVlID0gTm9uZQorKyAgICAgICAgcmV0dXJuIGNhdGVnb3J5LCB2YWx1 ZQorZGlmZiAtLWdpdCBhL2JlaGF2ZS90YWdfbWF0Y2hlci5weSBiL2JlaGF2ZS90YWdfbWF0Y2hl ci5weQoraW5kZXggZjFmOTU1Yi4uNWY5ZGNlMCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS90YWdfbWF0 Y2hlci5weQorKysrIGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CitAQCAtMSw5ICsxLDEyIEBACist IyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyIiIgor K0NvbnRhaW5zIGNsYXNzZXMgYW5kIGZ1bmN0aW9uYWxpdHkgdG8gcHJvdmlkZSBhIHNraXAtaWYg bG9naWMgYmFzZWQgb24gdGFncworK2luIGZlYXR1cmUgZmlsZXMuCisrIiIiCisgCisgZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBpbXBvcnQgcmUKKyBpbXBvcnQgb3Bl cmF0b3IKKy1pbXBvcnQgd2FybmluZ3MKKyBpbXBvcnQgc2l4CisgCisgCitAQCAtMzQsMTAgKzM3 LDEwIEBAIGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisgICAgICIiIlByb3Zp ZGVzIGFuIGFjdGl2ZSB0YWcgbWF0Y2hlciBmb3IgbWFueSBjYXRlZ29yaWVzLgorIAorICAgICBU QUcgU0NIRU1BOgorLSAgICAgICogYWN0aXZlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CistICAg ICAgKiBub3RfYWN0aXZlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisgICAgICAgKiB1c2Uud2l0 aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKyAgICAgICAqIG5vdC53aXRoX3tjYXRlZ29yeX09e3ZhbHVl fQorKyAgICAgICogYWN0aXZlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisrICAgICAgKiBub3Rf YWN0aXZlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CisgICAgICAgKiBvbmx5LndpdGhfe2NhdGVn b3J5fT17dmFsdWV9ICAgICAgICAoTk9URTogRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpCisg CisgICAgIFRBRyBMT0dJQworQEAgLTI4NSwxODEgKzI4OCwzIEBAIGRlZiBzZXR1cF9hY3RpdmVf dGFnX3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlcywgZGF0YSk6CisgICAgIGZvciBjYXRlZ29yeSBp biBsaXN0KGFjdGl2ZV90YWdfdmFsdWVzLmtleXMoKSk6CisgICAgICAgICBpZiBjYXRlZ29yeSBp biBkYXRhOgorICAgICAgICAgICAgIGFjdGl2ZV90YWdfdmFsdWVzW2NhdGVnb3J5XSA9IGRhdGFb Y2F0ZWdvcnldCistCistCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgUFJPVE9UWVBJTkcg Q0xBU1NFUzoKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistY2xhc3MgT25seVdpdGhDYXRlZ29y eVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CistICAgICIiIgorLSAgICBQcm92aWRlcyBhIHRhZyBt YXRjaGVyIHRoYXQgYWxsb3dzIHRvIGRldGVybWluZSBpZiBmZWF0dXJlL3NjZW5hcmlvCistICAg IHNob3VsZCBydW4gb3Igc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIHJ1bi1zZXQgKGF0IHJ1 bnRpbWUpLgorLQorLSAgICAuLiBkZXByZWNhdGVkOjogVXNlIDpjbGFzczpgQWN0aXZlVGFnTWF0 Y2hlcmAgaW5zdGVhZC4KKy0KKy0gICAgRVhBTVBMRToKKy0gICAgLS0tLS0tLS0KKy0KKy0gICAg UnVuIHNvbWUgc2NlbmFyaW9zIG9ubHkgd2hlbiBydW50aW1lIGNvbmRpdGlvbnMgYXJlIG1ldDoK Ky0KKy0gICAgICAqIFJ1biBzY2VuYXJpbyBBbGljZSBvbmx5IG9uIFdpbmRvd3MgT1MKKy0gICAg ICAqIFJ1biBzY2VuYXJpbyBCb2Igb25seSBvbiBNQUNPU1gKKy0KKy0gICAgLi4gY29kZS1ibG9j azo6IGdoZXJraW4KKy0KKy0gICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvYWxpY2UuZmVhdHVy ZQorLSAgICAgICAgIyBUQUcgU0NIRU1BOiBAb25seS53aXRoX3tjYXRlZ29yeX09e2N1cnJlbnRf dmFsdWV9CistICAgICAgICBGZWF0dXJlOgorLQorLSAgICAgICAgICBAb25seS53aXRoX29zPXdp bjMyCistICAgICAgICAgIFNjZW5hcmlvOiBBbGljZSAoUnVuIG9ubHkgb24gV2luZG93cykKKy0g ICAgICAgICAgICBHaXZlbiBJIGRvIHNvbWV0aGluZworLSAgICAgICAgICAgIC4uLgorLQorLSAg ICAgICAgICBAb25seS53aXRoX29zPWRhcndpbgorLSAgICAgICAgICBTY2VuYXJpbzogQm9iIChS dW4gb25seSBvbiBNQUNPU1gpCistICAgICAgICAgICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcgZWxz ZQorLSAgICAgICAgICAgIC4uLgorLQorLQorLSAgICAuLiBjb2RlLWJsb2NrOjogcHl0aG9uCist CistICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2Vudmlyb25tZW50LnB5CistICAgICAgICBm cm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIK Ky0gICAgICAgIGltcG9ydCBzeXMKKy0KKy0gICAgICAgICMgLS0gTUFUQ0hFUyBUQUdTOiBAb25s eS53aXRoX3tjYXRlZ29yeX09KiA9IEBvbmx5LndpdGhfb3M9KgorLSAgICAgICAgYWN0aXZlX3Rh Z19tYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoIm9zIiwgc3lzLnBsYXRmb3Jt KQorLQorLSAgICAgICAgZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6Cist ICAgICAgICAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoc2Nl bmFyaW8uZWZmZWN0aXZlX3RhZ3MpOgorLSAgICAgICAgICAgICAgICBzY2VuYXJpby5za2lwKCkg ICAjPCBMQVRFLUVYQ0xVREUgZnJvbSBydW4tc2V0LgorLSAgICAiIiIKKy0gICAgdGFnX3ByZWZp eCA9ICJvbmx5LndpdGhfIgorLSAgICB2YWx1ZV9zZXBhcmF0b3IgPSAiPSIKKy0KKy0gICAgZGVm IF9faW5pdF9fKHNlbGYsIGNhdGVnb3J5LCB2YWx1ZSwgdGFnX3ByZWZpeD1Ob25lLCB2YWx1ZV9z ZXA9Tm9uZSk6CistICAgICAgICB3YXJuaW5ncy53YXJuKCJVc2UgQWN0aXZlVGFnTWF0Y2hlciBp bnN0ZWFkLiIsIERlcHJlY2F0aW9uV2FybmluZykKKy0gICAgICAgIHN1cGVyKE9ubHlXaXRoQ2F0 ZWdvcnlUYWdNYXRjaGVyLCBzZWxmKS5fX2luaXRfXygpCistICAgICAgICBzZWxmLmFjdGl2ZV90 YWcgPSBzZWxmLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB2YWx1ZSwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnX3ByZWZpeCwgdmFsdWVf c2VwKQorLSAgICAgICAgc2VsZi5jYXRlZ29yeV90YWdfcHJlZml4ID0gc2VsZi5tYWtlX2NhdGVn b3J5X3RhZyhjYXRlZ29yeSwgTm9uZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFnX3ByZWZpeCwgdmFsdWVfc2VwKQorLQorLSAg ICBkZWYgc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmLCB0YWdzKToKKy0gICAgICAgIGNhdGVnb3J5 X3RhZ3MgPSBzZWxmLnNlbGVjdF9jYXRlZ29yeV90YWdzKHRhZ3MpCistICAgICAgICBpZiBjYXRl Z29yeV90YWdzIGFuZCBzZWxmLmFjdGl2ZV90YWcgbm90IGluIGNhdGVnb3J5X3RhZ3M6CistICAg ICAgICAgICAgcmV0dXJuIFRydWUKKy0gICAgICAgICMgLS0gT1RIRVJXSVNFOiBmZWF0dXJlL3Nj ZW5hcmlvIHdpdGggdGhlc2VzIHRhZ3Mgc2hvdWxkIHJ1bi4KKy0gICAgICAgIHJldHVybiBGYWxz ZQorLQorLSAgICBkZWYgc2VsZWN0X2NhdGVnb3J5X3RhZ3Moc2VsZiwgdGFncyk6CistICAgICAg ICByZXR1cm4gW3RhZyAgZm9yIHRhZyBpbiB0YWdzCistICAgICAgICAgICAgICAgIGlmIHRhZy5z dGFydHN3aXRoKHNlbGYuY2F0ZWdvcnlfdGFnX3ByZWZpeCldCistCistICAgIEBjbGFzc21ldGhv ZAorLSAgICBkZWYgbWFrZV9jYXRlZ29yeV90YWcoY2xzLCBjYXRlZ29yeSwgdmFsdWU9Tm9uZSwg dGFnX3ByZWZpeD1Ob25lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVfc2VwPU5v bmUpOgorLSAgICAgICAgaWYgdGFnX3ByZWZpeCBpcyBOb25lOgorLSAgICAgICAgICAgIHRhZ19w cmVmaXggPSBjbHMudGFnX3ByZWZpeAorLSAgICAgICAgaWYgdmFsdWVfc2VwIGlzIE5vbmU6Cist ICAgICAgICAgICAgdmFsdWVfc2VwID0gY2xzLnZhbHVlX3NlcGFyYXRvcgorLSAgICAgICAgdmFs dWUgPSB2YWx1ZSBvciAiIgorLSAgICAgICAgcmV0dXJuICIlcyVzJXMlcyIgJSAodGFnX3ByZWZp eCwgY2F0ZWdvcnksIHZhbHVlX3NlcCwgdmFsdWUpCistCistCistY2xhc3MgT25seVdpdGhBbnlD YXRlZ29yeVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CistICAgICIiIgorLSAgICBQcm92aWRlcyBh IHRhZyBtYXRjaGVyIHRoYXQgbWF0Y2hlcyBhbnkgY2F0ZWdvcnkgdGhhdCBmb2xsb3dzIHRoZQor LSAgICAiQG9ubHkud2l0aF8iIHRhZyBzY2hlbWEgYW5kIGRldGVybWluZXMgaWYgaXQgc2hvdWxk IHJ1biBvcgorLSAgICBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSB0aGUgcnVuLXNldCAoYXQgcnVu dGltZSkuCistCistICAgIFRBRyBTQ0hFTUE6IEBvbmx5LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9 CistCistICAgIC4uIHNlZWFsc286OiBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlcgorLSAgICAu LiBkZXByZWNhdGVkOjogVXNlIDpjbGFzczpgQWN0aXZlVGFnTWF0Y2hlcmAgaW5zdGVhZC4KKy0K Ky0gICAgRVhBTVBMRToKKy0gICAgLS0tLS0tLS0KKy0KKy0gICAgUnVuIHNvbWUgc2NlbmFyaW9z IG9ubHkgd2hlbiBydW50aW1lIGNvbmRpdGlvbnMgYXJlIG1ldDoKKy0KKy0gICAgICAqIFJ1biBz Y2VuYXJpbyBBbGljZSBvbmx5IG9uIFdpbmRvd3MgT1MKKy0gICAgICAqIFJ1biBzY2VuYXJpbyBC b2Igb25seSB3aXRoIGJyb3dzZXIgQ2hyb21lCistCistICAgIC4uIGNvZGUtYmxvY2s6OiBnaGVy a2luCistCistICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2FsaWNlLmZlYXR1cmUKKy0gICAg ICAgICMgVEFHIFNDSEVNQTogQG9ubHkud2l0aF97Y2F0ZWdvcnl9PXtjdXJyZW50X3ZhbHVlfQor LSAgICAgICAgRmVhdHVyZToKKy0KKy0gICAgICAgICAgQG9ubHkud2l0aF9vcz13aW4zMgorLSAg ICAgICAgICBTY2VuYXJpbzogQWxpY2UgKFJ1biBvbmx5IG9uIFdpbmRvd3MpCistICAgICAgICAg ICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcKKy0gICAgICAgICAgICAuLi4KKy0KKy0gICAgICAgICAg QG9ubHkud2l0aF9icm93c2VyPWNocm9tZQorLSAgICAgICAgICBTY2VuYXJpbzogQm9iIChSdW4g b25seSB3aXRoIFdlYi1Ccm93c2VyIENocm9tZSkKKy0gICAgICAgICAgICBHaXZlbiBJIGRvIHNv bWV0aGluZyBlbHNlCistICAgICAgICAgICAgLi4uCistCistCistICAgIC4uIGNvZGUtYmxvY2s6 OiBweXRob24KKy0KKy0gICAgICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkK Ky0gICAgICAgIGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBPbmx5V2l0aEFueUNhdGVn b3J5VGFnTWF0Y2hlcgorLSAgICAgICAgaW1wb3J0IHN5cworLQorLSAgICAgICAgIyAtLSBNQVRD SEVTIEFOWSBUQUdTOiBAb25seS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorLSAgICAgICAgIyBO T1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyIHByb3ZpZGVzIGN1cnJlbnQgY2F0ZWdvcnkg dmFsdWVzLgorLSAgICAgICAgYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsKKy0gICAgICAg ICAgICAiYnJvd3NlciI6IG9zLmVudmlyb24uZ2V0KCJCRUhBVkVfQlJPV1NFUiIsICJjaHJvbWUi KSwKKy0gICAgICAgICAgICAib3MiOiAgICAgIHN5cy5wbGF0Zm9ybSwKKy0gICAgICAgIH0KKy0g ICAgICAgIGFjdGl2ZV90YWdfbWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVy KGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIpCistCistICAgICAgICBkZWYgYmVmb3JlX3NjZW5h cmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKy0gICAgICAgICAgICBpZiBhY3RpdmVfdGFnX21hdGNo ZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CistICAgICAg ICAgICAgICAgIHNjZW5hcmlvLnNraXAoKSAgICM8IExBVEUtRVhDTFVERSBmcm9tIHJ1bi1zZXQu CistICAgICIiIgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWVfcHJvdmlkZXIsIHRh Z19wcmVmaXg9Tm9uZSwgdmFsdWVfc2VwPU5vbmUpOgorLSAgICAgICAgd2FybmluZ3Mud2Fybigi VXNlIEFjdGl2ZVRhZ01hdGNoZXIgaW5zdGVhZC4iLCBEZXByZWNhdGlvbldhcm5pbmcpCistICAg ICAgICBzdXBlcihPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlciwgc2VsZikuX19pbml0X18o KQorLSAgICAgICAgaWYgdmFsdWVfc2VwIGlzIE5vbmU6CistICAgICAgICAgICAgdmFsdWVfc2Vw ID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIudmFsdWVfc2VwYXJhdG9yCistICAgICAgICBz ZWxmLnZhbHVlX3Byb3ZpZGVyID0gdmFsdWVfcHJvdmlkZXIKKy0gICAgICAgIHNlbGYudGFnX3By ZWZpeCA9IHRhZ19wcmVmaXggb3IgT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIudGFnX3ByZWZp eAorLSAgICAgICAgc2VsZi52YWx1ZV9zZXBhcmF0b3IgPSB2YWx1ZV9zZXAKKy0KKy0gICAgZGVm IHNob3VsZF9leGNsdWRlX3dpdGgoc2VsZiwgdGFncyk6CistICAgICAgICBleGNsdWRlX2RlY2lz aW9uX21hcCA9IHt9CistICAgICAgICBmb3IgY2F0ZWdvcnlfdGFnIGluIHNlbGYuc2VsZWN0X2Nh dGVnb3J5X3RhZ3ModGFncyk6CistICAgICAgICAgICAgY2F0ZWdvcnksIHZhbHVlID0gc2VsZi5w YXJzZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnlfdGFnKQorLSAgICAgICAgICAgIGFjdGl2ZV92YWx1 ZSA9IHNlbGYudmFsdWVfcHJvdmlkZXIuZ2V0KGNhdGVnb3J5LCBOb25lKQorLSAgICAgICAgICAg IGlmIGFjdGl2ZV92YWx1ZSBpcyBOb25lOgorLSAgICAgICAgICAgICAgICAjIC0tIENBU0U6IFVu a25vd24gY2F0ZWdvcnksIGlnbm9yZSBpdC4KKy0gICAgICAgICAgICAgICAgY29udGludWUKKy0g ICAgICAgICAgICBlbGlmIGFjdGl2ZV92YWx1ZSA9PSB2YWx1ZToKKy0gICAgICAgICAgICAgICAg IyAtLSBDQVNFOiBBY3RpdmUgY2F0ZWdvcnkgdmFsdWUgc2VsZWN0ZWQsIGRlY2lzaW9uIHNob3Vs ZCBydW4uCistICAgICAgICAgICAgICAgIGV4Y2x1ZGVfZGVjaXNpb25fbWFwW2NhdGVnb3J5XSA9 IEZhbHNlCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgIyAtLSBDQVNFOiBJ bmFjdGl2ZSBjYXRlZ29yeSB2YWx1ZSBzZWxlY3RlZCwgbWF5IGV4Y2x1ZGUgaXQuCistICAgICAg ICAgICAgICAgIGlmIGNhdGVnb3J5IG5vdCBpbiBleGNsdWRlX2RlY2lzaW9uX21hcDoKKy0gICAg ICAgICAgICAgICAgICAgIGV4Y2x1ZGVfZGVjaXNpb25fbWFwW2NhdGVnb3J5XSA9IFRydWUKKy0g ICAgICAgIHJldHVybiBhbnkoZXhjbHVkZV9kZWNpc2lvbl9tYXAudmFsdWVzKCkpCistCistICAg IGRlZiBzZWxlY3RfY2F0ZWdvcnlfdGFncyhzZWxmLCB0YWdzKToKKy0gICAgICAgIHJldHVybiBb dGFnICBmb3IgdGFnIGluIHRhZ3MKKy0gICAgICAgICAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgo c2VsZi50YWdfcHJlZml4KV0KKy0KKy0gICAgZGVmIHBhcnNlX2NhdGVnb3J5X3RhZyhzZWxmLCB0 YWcpOgorLSAgICAgICAgYXNzZXJ0IHRhZyBhbmQgdGFnLnN0YXJ0c3dpdGgoc2VsZi50YWdfcHJl Zml4KQorLSAgICAgICAgY2F0ZWdvcnlfdmFsdWUgPSB0YWdbbGVuKHNlbGYudGFnX3ByZWZpeCk6 XQorLSAgICAgICAgaWYgc2VsZi52YWx1ZV9zZXBhcmF0b3IgaW4gY2F0ZWdvcnlfdmFsdWU6Cist ICAgICAgICAgICAgY2F0ZWdvcnksIHZhbHVlID0gY2F0ZWdvcnlfdmFsdWUuc3BsaXQoc2VsZi52 YWx1ZV9zZXBhcmF0b3IsIDEpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICMgLS0gT09Q UzogVEFHIFNDSEVNQSBGT1JNQVQgTUlTTUFUQ0gKKy0gICAgICAgICAgICBjYXRlZ29yeSA9IGNh dGVnb3J5X3ZhbHVlCistICAgICAgICAgICAgdmFsdWUgPSBOb25lCistICAgICAgICByZXR1cm4g Y2F0ZWdvcnksIHZhbHVlCitkaWZmIC0tZ2l0IGEvdGVzdHMuYXR0aWMvX19pbml0X18ucHkgYi90 ZXN0cy5hdHRpYy9fX2luaXRfXy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAuLmU2OWRlMjkKK2RpZmYgLS1naXQgYS90ZXN0cy5hdHRpYy91bml0L19faW5pdF9fLnB5IGIv dGVzdHMuYXR0aWMvdW5pdC9fX2luaXRfXy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAuLmU2OWRlMjkKK2RpZmYgLS1naXQgYS90ZXN0cy5hdHRpYy91bml0L3Rlc3RfdGFn X21hdGNoZXIucHkgYi90ZXN0cy5hdHRpYy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kNzY3ZmE3CistLS0gL2Rldi9udWxsCisr KysgYi90ZXN0cy5hdHRpYy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkKK0BAIC0wLDAgKzEsMjgw IEBACisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgUFJPVE9UWVBJTkcgQ0xBU1NFUyAoZGVw cmVjYXRpbmcpIC0tIFNob3VsZCBubyBsb25nZXIgYmUgdXNlZC4KKysjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrCisraW1wb3J0IHdhcm5pbmdzCisrZnJvbSB1bml0dGVzdCBpbXBvcnQgVGVzdENh c2UKKytmcm9tIGJlaGF2ZS5hdHRpYy50YWdfbWF0Y2hlciBpbXBvcnQgXAorKyAgICBPbmx5V2l0 aENhdGVnb3J5VGFnTWF0Y2hlciwgIE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyCisrCisr CisrY2xhc3MgVGVzdE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyKFRlc3RDYXNlKToKKysgICAg VGFnTWF0Y2hlciA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyCisrCisrICAgIGRlZiBzZXRV cChzZWxmKToKKysgICAgICAgIGNhdGVnb3J5ID0gInh4eCIKKysgICAgICAgIHdpdGggd2Fybmlu Z3MuY2F0Y2hfd2FybmluZ3MoKToKKysgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIo Imlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKysgICAgICAgICAgICBzZWxmLnRhZ19tYXRj aGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoY2F0ZWdvcnksICJhbGljZSIpCisrICAg ICAgICBzZWxmLmVuYWJsZWRfdGFnID0gc2VsZi5UYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFn KGNhdGVnb3J5LCAiYWxpY2UiKQorKyAgICAgICAgc2VsZi5zaW1pbGFyX3RhZyA9IHNlbGYuVGFn TWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImFsaWNlMiIpCisrICAgICAgICBz ZWxmLm90aGVyX3RhZyA9IHNlbGYuVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29y eSwgIm90aGVyIikKKysgICAgICAgIHNlbGYuY2F0ZWdvcnkgPSBjYXRlZ29yeQorKworKyAgICBk ZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90 YWcoc2VsZik6CisrICAgICAgICB0YWdzID0gWyBzZWxmLmVuYWJsZWRfdGFnIF0KKysgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVf d2l0aCh0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJu c19mYWxzZV93aXRoX2VuYWJsZWRfdGFnX2FuZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdGVzdF9w YXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVy X3RhZyBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAgICAgICAgICAoWyBzZWxmLm90aGVyX3RhZywg c2VsZi5lbmFibGVkX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAgICAgIChbICJmb28i LCBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVyX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRs ZSIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJu czoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVy LnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRf ZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90YWcoc2VsZik6CisrICAgICAg ICB0YWdzID0gWyBzZWxmLm90aGVyX3RhZyBdCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRy dWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKysKKysgICAg ZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3dpdGhfb3RoZXJfdGFn X2FuZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAg ICAoWyBzZWxmLm90aGVyX3RhZywgImZvbyIgXSwgImNhc2U6IGZpcnN0IiksCisrICAgICAgICAg ICAgKFsgImZvbyIsIHNlbGYub3RoZXJfdGFnIF0sICJjYXNlOiBsYXN0IiksCisrICAgICAgICAg ICAgKFsgImZvbyIsIHNlbGYub3RoZXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisr ICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAg ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRf ZXhjbHVkZV93aXRoKHRhZ3MpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0 YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVf d2l0aF9fcmV0dXJuc190cnVlX3dpdGhfc2ltaWxhcl90YWcoc2VsZik6CisrICAgICAgICB0YWdz ID0gWyBzZWxmLnNpbWlsYXJfdGFnIF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwg c2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorKworKyAgICBkZWYg dGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX2FuZF9t b3JlKHNlbGYpOgorKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyBz ZWxmLnNpbWlsYXJfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAgICAgICAgICAo WyAiZm9vIiwgc2VsZi5zaW1pbGFyX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAgICAg IChbICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisr ICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAg ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRf ZXhjbHVkZV93aXRoKHRhZ3MpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0 YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVf d2l0aF9fcmV0dXJuc19mYWxzZV93aXRob3V0X2NhdGVnb3J5X3RhZyhzZWxmKToKKysgICAgICAg IHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICJjYXNlOiBO byB0YWdzIiksCisrICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICJjYXNlOiBPbmUgdGFnIiks CisrICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICJjYXNlOiBUd28gdGFncyIpLAorKyAg ICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAg ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRh Z3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfcnVuX3dpdGhf X25lZ2F0ZXNfcmVzdWx0X29mX3Nob3VsZF9leGNsdWRlX3dpdGgoc2VsZik6CisrICAgICAgICB0 ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIF0sICAgICAgICAgICAgICAgICAgICJj YXNlOiBObyB0YWdzIiksCisrICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICAgICAgICAgImNh c2U6IE9uZSBub24tY2F0ZWdvcnkgdGFnIiksCisrICAgICAgICAgICAgKFsgImZvbyIsICJiYXIi IF0sICAgICAgImNhc2U6IFR3byBub24tY2F0ZWdvcnkgdGFncyIpLAorKyAgICAgICAgICAgIChb IHNlbGYuZW5hYmxlZF90YWcgXSwgICAiY2FzZTogZW5hYmxlZCB0YWciKSwKKysgICAgICAgICAg ICAoWyBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVyX3RhZyBdLCAgImNhc2U6IGVuYWJsZWQg YW5kIG90aGVyIHRhZyIpLAorKyAgICAgICAgICAgIChbIHNlbGYuZW5hYmxlZF90YWcsICJmb28i IF0sICAgICJjYXNlOiBlbmFibGVkIGFuZCBmb28gdGFnIiksCisrICAgICAgICAgICAgKFsgc2Vs Zi5vdGhlcl90YWcgXSwgICAgICAgICAgICAiY2FzZTogb3RoZXIgdGFnIiksCisrICAgICAgICAg ICAgKFsgc2VsZi5vdGhlcl90YWcsICJmb28iIF0sICAgICAiY2FzZTogb3RoZXIgYW5kIGZvbyB0 YWciKSwKKysgICAgICAgICAgICAoWyBzZWxmLnNpbWlsYXJfdGFnIF0sICAgICAgICAgICJjYXNl OiBzaW1pbGFyIHRhZyIpLAorKyAgICAgICAgICAgIChbICJmb28iLCBzZWxmLnNpbWlsYXJfdGFn IF0sICAgImNhc2U6IGZvbyBhbmQgc2ltaWxhciB0YWciKSwKKysgICAgICAgIF0KKysgICAgICAg IGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgcmVzdWx0MSA9 IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX3J1bl93aXRoKHRhZ3MpCisrICAgICAgICAgICAgcmVz dWx0MiA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0MSwgbm90IHJlc3VsdDIsICIlczogdGFncz0l cyIgJSAoY2FzZSwgdGFncykpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChub3QgcmVz dWx0MSwgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVm IHRlc3RfbWFrZV9jYXRlZ29yeV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFnX3ByZWZpeF93aXRo b3V0X3ZhbHVlKHNlbGYpOgorKyAgICAgICAgY2F0ZWdvcnkgPSAieHh4IgorKyAgICAgICAgdGFn MSA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5 KQorKyAgICAgICAgdGFnMiA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLm1ha2VfY2F0ZWdv cnlfdGFnKGNhdGVnb3J5LCBOb25lKQorKyAgICAgICAgdGFnMyA9IE9ubHlXaXRoQ2F0ZWdvcnlU YWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB2YWx1ZT1Ob25lKQorKyAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD0iLCB0YWcxKQorKyAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD0iLCB0YWcyKQorKyAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbCgib25seS53aXRoX3h4eD0iLCB0YWczKQorKyAgICAgICAgc2VsZi5hc3NlcnRUcnVl KHRhZzEuc3RhcnRzd2l0aChPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci50YWdfcHJlZml4KSkK KysKKysgICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29yeV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFn X3dpdGhfdmFsdWUoc2VsZik6CisrICAgICAgICBjYXRlZ29yeSA9ICJ4eHgiCisrICAgICAgICB0 YWcxID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdv cnksICJhbGljZSIpCisrICAgICAgICB0YWcyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIu bWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJib2IiKQorKyAgICAgICAgc2VsZi5hc3NlcnRF cXVhbCgib25seS53aXRoX3h4eD1hbGljZSIsIHRhZzEpCisrICAgICAgICBzZWxmLmFzc2VydEVx dWFsKCJvbmx5LndpdGhfeHh4PWJvYiIsIHRhZzIpCisrCisrICAgIGRlZiB0ZXN0X21ha2VfY2F0 ZWdvcnlfdGFnX19yZXR1cm5zX2NhdGVnb3J5X3RhZ193aXRoX3RhZ19wcmVmaXgoc2VsZik6Cisr ICAgICAgICBteV90YWdfcHJlZml4ID0gIk9OTFlfV0lUSC4iCisrICAgICAgICBjYXRlZ29yeSA9 ICJ4eHgiCisrICAgICAgICBUYWdNYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIK KysgICAgICAgIHRhZzAgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB0 YWdfcHJlZml4PW15X3RhZ19wcmVmaXgpCisrICAgICAgICB0YWcxID0gVGFnTWF0Y2hlci5tYWtl X2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImFsaWNlIiwgbXlfdGFnX3ByZWZpeCkKKysgICAgICAg IHRhZzIgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYm9iIiwgdGFn X3ByZWZpeD1teV90YWdfcHJlZml4KQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiT05MWV9X SVRILnh4eD0iLCB0YWcwKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiT05MWV9XSVRILnh4 eD1hbGljZSIsIHRhZzEpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJPTkxZX1dJVEgueHh4 PWJvYiIsIHRhZzIpCisrICAgICAgICBzZWxmLmFzc2VydFRydWUodGFnMS5zdGFydHN3aXRoKG15 X3RhZ19wcmVmaXgpKQorKworKyAgICBkZWYgdGVzdF9jdG9yX193aXRoX3RhZ19wcmVmaXgoc2Vs Zik6CisrICAgICAgICB0YWdfcHJlZml4ID0gIk9OTFlfV0lUSC4iCisrICAgICAgICB0YWdfbWF0 Y2hlciA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyKCJ4eHgiLCAiYWxpY2UiLCB0YWdfcHJl Zml4KQorKworKyAgICAgICAgdGFncyA9IFsiZm9vIiwgIk9OTFlfV0lUSC54eHg9Zm9vIiwgIm9u bHkud2l0aF94eHg9YmFyIiwgImJhciJdCisrICAgICAgICBhY3R1YWxfdGFncyA9IHRhZ19tYXRj aGVyLnNlbGVjdF9jYXRlZ29yeV90YWdzKHRhZ3MpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFs KFsiT05MWV9XSVRILnh4eD1mb28iXSwgYWN0dWFsX3RhZ3MpCisrCisrCisrY2xhc3MgVHJhaXRz NE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKG9iamVjdCk6CisrICAgICIiIlRlc3QgZGF0 YSBmb3IgT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIuIiIiCisrCisrICAgIFRhZ01hdGNo ZXIwID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKysgICAgVGFnTWF0Y2hlciA9IE9ubHlX aXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyCisrICAgIGNhdGVnb3J5MV9lbmFibGVkX3RhZyA9IFRh Z01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2UiKQorKyAgICBjYXRlZ29y eTFfc2ltaWxhcl90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImFs aWNlMiIpCisrICAgIGNhdGVnb3J5MV9kaXNhYmxlZF90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2Nh dGVnb3J5X3RhZygiZm9vIiwgImJvYiIpCisrICAgIGNhdGVnb3J5Ml9lbmFibGVkX3RhZyA9IFRh Z01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJiYXIiLCAiQk9CIikKKysgICAgY2F0ZWdvcnky X3NpbWlsYXJfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJCT0Iy IikKKysgICAgY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdv cnlfdGFnKCJiYXIiLCAiQ0hBUkxZIikKKysgICAgdW5rbm93bl9jYXRlZ29yeV90YWcgPSBUYWdN YXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiVU5LTk9XTiIsICJvbmUiKQorKworKworK2NsYXNz IFRlc3RPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcihUZXN0Q2FzZSk6CisrICAgIFRhZ01h dGNoZXIgPSBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgorKyAgICB0cmFpdHMgPSBUcmFp dHM0T25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIKKysKKysgICAgZGVmIHNldFVwKHNlbGYp OgorKyAgICAgICAgdmFsdWVfcHJvdmlkZXIgPSB7CisrICAgICAgICAgICAgImZvbyI6ICJhbGlj ZSIsCisrICAgICAgICAgICAgImJhciI6ICJCT0IiLAorKyAgICAgICAgfQorKyAgICAgICAgd2l0 aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorKyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBs ZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorKyAgICAgICAgICAgIHNlbGYu dGFnX21hdGNoZXIgPSBzZWxmLlRhZ01hdGNoZXIodmFsdWVfcHJvdmlkZXIpCisrCisrICAgICMg ZGVmIHRlc3RfZGVwcmVjYXRpbmdfd2FybmluZ19pc19pc3N1ZWQoc2VsZik6CisrICAgICMgICAg IHZhbHVlX3Byb3ZpZGVyID0geyJmb28iOiAiYWxpY2UifQorKyAgICAjICAgICB3aXRoIHdhcm5p bmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyByZWNvcmRlcjoKKysgICAgIyAgICAg ICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiYWx3YXlzIiwgRGVwcmVjYXRpb25XYXJuaW5nKQor KyAgICAjICAgICAgICAgdGFnX21hdGNoZXIgPSBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hl cih2YWx1ZV9wcm92aWRlcikKKysgICAgIyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJl Y29yZGVyKSwgMSkKKysgICAgIyAgICAgICAgIGxhc3Rfd2FybmluZyA9IHJlY29yZGVyWy0xXQor KyAgICAjICAgICAgICAgYXNzZXJ0IGlzc3ViY2xhc3MobGFzdF93YXJuaW5nLmNhdGVnb3J5LCBE ZXByZWNhdGlvbldhcm5pbmcpCisrICAgICMgICAgICAgICBhc3NlcnQgImRlcHJlY2F0ZWQiIGlu IHN0cihsYXN0X3dhcm5pbmcubWVzc2FnZSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1 ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX2VuYWJsZWRfdGFnKHNlbGYpOgorKyAgICAgICAg dHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRhZ3MxID0gWyB0cmFpdHMuY2F0ZWdvcnkx X2VuYWJsZWRfdGFnIF0KKysgICAgICAgIHRhZ3MyID0gWyB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJs ZWRfdGFnIF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNo ZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzMSkpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFs KEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFnczIpKQorKwor KyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5h YmxlZF90YWdfYW5kX21vcmUoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cwor KyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdv cnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAiY2FzZTog Zmlyc3QiKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywg dHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAg ICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdv cnkxX2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorKyAgICAgICAgXQor KyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dp dGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUg KGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1 cm5zX3RydWVfd2l0aF9vdGhlcl90YWcoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRy YWl0cworKyAgICAgICAgdGFncyA9IFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXQor KyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhf X3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZ19hbmRfbW9yZShzZWxmKToKKysgICAgICAgIHRy YWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAg ICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmly c3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90 YWcgXSwgImNhc2U6IGxhc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVn b3J5MV9kaXNhYmxlZF90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKysgICAgICAgIF0K KysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dp dGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUg KGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1 cm5zX3RydWVfd2l0aF9zaW1pbGFyX3RhZyhzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYu dHJhaXRzCisrICAgICAgICB0YWdzID0gWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0K KysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRf ZXhjbHVkZV93aXRoKHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRo X19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX2FuZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdHJh aXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAg ICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZywgImZvbyIgXSwgImNhc2U6IGZpcnN0 IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcg XSwgImNhc2U6IGxhc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5 MV9zaW1pbGFyX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorKyAgICAgICAgXQorKyAg ICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxm LmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0 YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2Fz ZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNf ZmFsc2Vfd2l0aG91dF9jYXRlZ29yeV90YWcoc2VsZik6CisrICAgICAgICB0ZXN0X3BhdHRlcm5z ID0gWworKyAgICAgICAgICAgIChbIF0sICAgICAgICAgICAiY2FzZTogTm8gdGFncyIpLAorKyAg ICAgICAgICAgIChbICJmb28iIF0sICAgICAiY2FzZTogT25lIHRhZyIpLAorKyAgICAgICAgICAg IChbICJmb28iLCAiYmFyIiBdLCAiY2FzZTogVHdvIHRhZ3MiKSwKKysgICAgICAgIF0KKysgICAg ICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgc2VsZi5h c3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRh Z3MpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNl LCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19m YWxzZV93aXRoX3Vua25vd25fY2F0ZWdvcnlfdGFnKHNlbGYpOgorKyAgICAgICAgIiIiVGFncyBm cm9tIHVua25vd24gY2F0ZWdvcmllcywgbm90IHN1cHBvcnRlZCBieSB2YWx1ZV9wcm92aWRlciwK KysgICAgICAgIHNob3VsZCBub3QgYmUgZXhjbHVkZWQuCisrICAgICAgICAiIiIKKysgICAgICAg IHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0YWdzID0gWyB0cmFpdHMudW5rbm93bl9j YXRlZ29yeV90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX1VOS05P V049b25lIiwgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnKQorKyAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbChOb25lLCBzZWxmLnRhZ19tYXRjaGVyLnZhbHVlX3Byb3ZpZGVyLmdldCgiVU5LTk9X TiIpKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5z aG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVk ZV93aXRoX19jb21iaW5hdGlvbnNfb2ZfMl9jYXRlZ29yaWVzKHNlbGYpOgorKyAgICAgICAgdHJh aXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAg ICAgKCJjYXNlIDAwOiAyIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAg ICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rp c2FibGVkX3RhZ10pLAorKyAgICAgICAgICAgICgiY2FzZSAwMTogZGlzYWJsZWQgYW5kIGVuYWJs ZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5 MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWddKSwKKysgICAgICAg ICAgICAoImNhc2UgMTA6IGVuYWJsZWQgYW5kIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVl LAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5j YXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNlIDExOiAyIGVuYWJs ZWQgY2F0ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyAtLSBTSE9VTEQtUlVOCisrICAgICAgICAgICAg IFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVk X3RhZ10pLAorKyAgICAgICAgICAgICMgLS0gU1BFQ0lBTCBDQVNFOiBXaXRoIHVua25vd24gY2F0 ZWdvcnkKKysgICAgICAgICAgICAoImNhc2UgMHg6IGRpc2FibGVkIGFuZCB1bmtub3duIGNhdGVn b3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJs ZWRfdGFnLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWddKSwKKysgICAgICAgICAgICAoImNh c2UgMXg6IGVuYWJsZWQgYW5kIHVua25vd24gY2F0ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyBTSE9V TEQtUlVOCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJh aXRzLnVua25vd25fY2F0ZWdvcnlfdGFnXSksCisrICAgICAgICBdCisrICAgICAgICBmb3IgY2Fz ZSwgZXhwZWN0ZWQsIHRhZ3MgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBhY3R1YWxf cmVzdWx0ID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisrICAg ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgYWN0dWFsX3Jlc3VsdCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisr CisrICAgIGRlZiB0ZXN0X3Nob3VsZF9ydW5fd2l0aF9fbmVnYXRlc19yZXN1bHRfb2Zfc2hvdWxk X2V4Y2x1ZGVfd2l0aChzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAg ICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIF0sICAgICAgICAgICAgICAg ICAgICJjYXNlOiBObyB0YWdzIiksCisrICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICAgICAg ICAgImNhc2U6IE9uZSBub24tY2F0ZWdvcnkgdGFnIiksCisrICAgICAgICAgICAgKFsgImZvbyIs ICJiYXIiIF0sICAgICAgImNhc2U6IFR3byBub24tY2F0ZWdvcnkgdGFncyIpLAorKyAgICAgICAg ICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcgXSwgICAiY2FzZTogZW5hYmxlZCB0 YWciKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFp dHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAgImNhc2U6IGVuYWJsZWQgYW5kIG90aGVyIHRh ZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsICJmb28i IF0sICAgICJjYXNlOiBlbmFibGVkIGFuZCBmb28gdGFnIiksCisrICAgICAgICAgICAgKFsgdHJh aXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgICAgICAgICAgICAiY2FzZTogb3RoZXIgdGFn IiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJmb28i IF0sICAgICAiY2FzZTogb3RoZXIgYW5kIGZvbyB0YWciKSwKKysgICAgICAgICAgICAoWyB0cmFp dHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0sICAgICAgICAgICJjYXNlOiBzaW1pbGFyIHRhZyIp LAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0s ICAgImNhc2U6IGZvbyBhbmQgc2ltaWxhciB0YWciKSwKKysgICAgICAgIF0KKysgICAgICAgIGZv ciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgcmVzdWx0MSA9IHNl bGYudGFnX21hdGNoZXIuc2hvdWxkX3J1bl93aXRoKHRhZ3MpCisrICAgICAgICAgICAgcmVzdWx0 MiA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0MSwgbm90IHJlc3VsdDIsICIlczogdGFncz0lcyIg JSAoY2FzZSwgdGFncykpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChub3QgcmVzdWx0 MSwgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKK2RpZmYgLS1naXQgYS90 ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkgYi90ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNo ZXIucHkKK2luZGV4IGM1ZDIyNjYuLmEwNGMxZDQgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rl c3RfdGFnX21hdGNoZXIucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQor QEAgLTgsMTIgKzgsMTMgQEAgVW5pdCB0ZXN0cyBmb3IgYWN0aXZlIHRhZy1tYXRjaGVyIChtb2Q6 YGJlaGF2ZS50YWdfbWF0Y2hlcmApLgorICIiIgorIAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQg YWJzb2x1dGVfaW1wb3J0CistZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0ICoKKyBmcm9t IG1vY2sgaW1wb3J0IE1vY2sKKyBmcm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0Q2FzZQorIGltcG9y dCB3YXJuaW5ncworIGltcG9ydCBweXRlc3QKKyAKKytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBp bXBvcnQgKgorKworIAorIGNsYXNzIFRyYWl0czRBY3RpdmVUYWdNYXRjaGVyKG9iamVjdCk6Cisg ICAgIFRhZ01hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyCitAQCAtNDYwLDI3OSArNDYxLDMgQEAg Y2xhc3MgVGVzdENvbXBvc2l0ZVRhZ01hdGNoZXIoVGVzdENhc2UpOgorICAgICAgICAgICAgIGFj dHVhbF90cnVlX2NvdW50ID0gc2VsZi5jb3VudF90YWdfbWF0Y2hlcl93aXRoX3Jlc3VsdCgKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmN0YWdfbWF0Y2hlci50YWdf bWF0Y2hlcnMsIHRhZ3MsIFRydWUpCisgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBh Y3R1YWxfdHJ1ZV9jb3VudCkKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQUk9U T1RZUElORyBDTEFTU0VTIChkZXByZWNhdGluZykKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist Y2xhc3MgVGVzdE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyKFRlc3RDYXNlKToKKy0gICAgVGFn TWF0Y2hlciA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyCistCistICAgIGRlZiBzZXRVcChz ZWxmKToKKy0gICAgICAgIGNhdGVnb3J5ID0gInh4eCIKKy0gICAgICAgIHdpdGggd2FybmluZ3Mu Y2F0Y2hfd2FybmluZ3MoKToKKy0gICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImln bm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKy0gICAgICAgICAgICBzZWxmLnRhZ19tYXRjaGVy ID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoY2F0ZWdvcnksICJhbGljZSIpCistICAgICAg ICBzZWxmLmVuYWJsZWRfdGFnID0gc2VsZi5UYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNh dGVnb3J5LCAiYWxpY2UiKQorLSAgICAgICAgc2VsZi5zaW1pbGFyX3RhZyA9IHNlbGYuVGFnTWF0 Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImFsaWNlMiIpCistICAgICAgICBzZWxm Lm90aGVyX3RhZyA9IHNlbGYuVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwg Im90aGVyIikKKy0gICAgICAgIHNlbGYuY2F0ZWdvcnkgPSBjYXRlZ29yeQorLQorLSAgICBkZWYg dGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWco c2VsZik6CistICAgICAgICB0YWdzID0gWyBzZWxmLmVuYWJsZWRfdGFnIF0KKy0gICAgICAgIHNl bGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0 aCh0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19m YWxzZV93aXRoX2VuYWJsZWRfdGFnX2FuZF9tb3JlKHNlbGYpOgorLSAgICAgICAgdGVzdF9wYXR0 ZXJucyA9IFsKKy0gICAgICAgICAgICAoWyBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVyX3Rh ZyBdLCAiY2FzZTogZmlyc3QiKSwKKy0gICAgICAgICAgICAoWyBzZWxmLm90aGVyX3RhZywgc2Vs Zi5lbmFibGVkX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorLSAgICAgICAgICAgIChbICJmb28iLCBz ZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVyX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIp LAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoK Ky0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNo b3VsZF9leGNsdWRlX3dpdGgodGFncyksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi JXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhj bHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90YWcoc2VsZik6CistICAgICAgICB0 YWdzID0gWyBzZWxmLm90aGVyX3RhZyBdCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUs IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKy0KKy0gICAgZGVm IHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3dpdGhfb3RoZXJfdGFnX2Fu ZF9tb3JlKHNlbGYpOgorLSAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAo WyBzZWxmLm90aGVyX3RhZywgImZvbyIgXSwgImNhc2U6IGZpcnN0IiksCistICAgICAgICAgICAg KFsgImZvbyIsIHNlbGYub3RoZXJfdGFnIF0sICJjYXNlOiBsYXN0IiksCistICAgICAgICAgICAg KFsgImZvbyIsIHNlbGYub3RoZXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCistICAg ICAgICBdCistICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHRhZ3MpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdz PSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0 aF9fcmV0dXJuc190cnVlX3dpdGhfc2ltaWxhcl90YWcoc2VsZik6CistICAgICAgICB0YWdzID0g WyBzZWxmLnNpbWlsYXJfdGFnIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2Vs Zi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorLQorLSAgICBkZWYgdGVz dF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX2FuZF9tb3Jl KHNlbGYpOgorLSAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAoWyBzZWxm LnNpbWlsYXJfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKy0gICAgICAgICAgICAoWyAi Zm9vIiwgc2VsZi5zaW1pbGFyX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorLSAgICAgICAgICAgIChb ICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCistICAg ICAgICBdCistICAgICAgICBmb3IgdGFncywgY2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHRhZ3MpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdz PSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0 aF9fcmV0dXJuc19mYWxzZV93aXRob3V0X2NhdGVnb3J5X3RhZyhzZWxmKToKKy0gICAgICAgIHRl c3RfcGF0dGVybnMgPSBbCistICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICJjYXNlOiBObyB0 YWdzIiksCistICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICJjYXNlOiBPbmUgdGFnIiksCist ICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICJjYXNlOiBUd28gdGFncyIpLAorLSAgICAg ICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgodGFncyksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9 JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfcnVuX3dpdGhfX25l Z2F0ZXNfcmVzdWx0X29mX3Nob3VsZF9leGNsdWRlX3dpdGgoc2VsZik6CistICAgICAgICB0ZXN0 X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChbIF0sICAgICAgICAgICAgICAgICAgICJjYXNl OiBObyB0YWdzIiksCistICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICAgICAgICAgImNhc2U6 IE9uZSBub24tY2F0ZWdvcnkgdGFnIiksCistICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0s ICAgICAgImNhc2U6IFR3byBub24tY2F0ZWdvcnkgdGFncyIpLAorLSAgICAgICAgICAgIChbIHNl bGYuZW5hYmxlZF90YWcgXSwgICAiY2FzZTogZW5hYmxlZCB0YWciKSwKKy0gICAgICAgICAgICAo WyBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVyX3RhZyBdLCAgImNhc2U6IGVuYWJsZWQgYW5k IG90aGVyIHRhZyIpLAorLSAgICAgICAgICAgIChbIHNlbGYuZW5hYmxlZF90YWcsICJmb28iIF0s ICAgICJjYXNlOiBlbmFibGVkIGFuZCBmb28gdGFnIiksCistICAgICAgICAgICAgKFsgc2VsZi5v dGhlcl90YWcgXSwgICAgICAgICAgICAiY2FzZTogb3RoZXIgdGFnIiksCistICAgICAgICAgICAg KFsgc2VsZi5vdGhlcl90YWcsICJmb28iIF0sICAgICAiY2FzZTogb3RoZXIgYW5kIGZvbyB0YWci KSwKKy0gICAgICAgICAgICAoWyBzZWxmLnNpbWlsYXJfdGFnIF0sICAgICAgICAgICJjYXNlOiBz aW1pbGFyIHRhZyIpLAorLSAgICAgICAgICAgIChbICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnIF0s ICAgImNhc2U6IGZvbyBhbmQgc2ltaWxhciB0YWciKSwKKy0gICAgICAgIF0KKy0gICAgICAgIGZv ciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CistICAgICAgICAgICAgcmVzdWx0MSA9IHNl bGYudGFnX21hdGNoZXIuc2hvdWxkX3J1bl93aXRoKHRhZ3MpCistICAgICAgICAgICAgcmVzdWx0 MiA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorLSAgICAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0MSwgbm90IHJlc3VsdDIsICIlczogdGFncz0lcyIg JSAoY2FzZSwgdGFncykpCistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChub3QgcmVzdWx0 MSwgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0gICAgZGVmIHRl c3RfbWFrZV9jYXRlZ29yeV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFnX3ByZWZpeF93aXRob3V0 X3ZhbHVlKHNlbGYpOgorLSAgICAgICAgY2F0ZWdvcnkgPSAieHh4IgorLSAgICAgICAgdGFnMSA9 IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5KQor LSAgICAgICAgdGFnMiA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlf dGFnKGNhdGVnb3J5LCBOb25lKQorLSAgICAgICAgdGFnMyA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdN YXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB2YWx1ZT1Ob25lKQorLSAgICAgICAg c2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD0iLCB0YWcxKQorLSAgICAgICAgc2VsZi5h c3NlcnRFcXVhbCgib25seS53aXRoX3h4eD0iLCB0YWcyKQorLSAgICAgICAgc2VsZi5hc3NlcnRF cXVhbCgib25seS53aXRoX3h4eD0iLCB0YWczKQorLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRh ZzEuc3RhcnRzd2l0aChPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlci50YWdfcHJlZml4KSkKKy0K Ky0gICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29yeV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFnX3dp dGhfdmFsdWUoc2VsZik6CistICAgICAgICBjYXRlZ29yeSA9ICJ4eHgiCistICAgICAgICB0YWcx ID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnks ICJhbGljZSIpCistICAgICAgICB0YWcyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFr ZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJib2IiKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh bCgib25seS53aXRoX3h4eD1hbGljZSIsIHRhZzEpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFs KCJvbmx5LndpdGhfeHh4PWJvYiIsIHRhZzIpCistCistICAgIGRlZiB0ZXN0X21ha2VfY2F0ZWdv cnlfdGFnX19yZXR1cm5zX2NhdGVnb3J5X3RhZ193aXRoX3RhZ19wcmVmaXgoc2VsZik6CistICAg ICAgICBteV90YWdfcHJlZml4ID0gIk9OTFlfV0lUSC4iCistICAgICAgICBjYXRlZ29yeSA9ICJ4 eHgiCistICAgICAgICBUYWdNYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKy0g ICAgICAgIHRhZzAgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB0YWdf cHJlZml4PW15X3RhZ19wcmVmaXgpCistICAgICAgICB0YWcxID0gVGFnTWF0Y2hlci5tYWtlX2Nh dGVnb3J5X3RhZyhjYXRlZ29yeSwgImFsaWNlIiwgbXlfdGFnX3ByZWZpeCkKKy0gICAgICAgIHRh ZzIgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYm9iIiwgdGFnX3By ZWZpeD1teV90YWdfcHJlZml4KQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiT05MWV9XSVRI Lnh4eD0iLCB0YWcwKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiT05MWV9XSVRILnh4eD1h bGljZSIsIHRhZzEpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJPTkxZX1dJVEgueHh4PWJv YiIsIHRhZzIpCistICAgICAgICBzZWxmLmFzc2VydFRydWUodGFnMS5zdGFydHN3aXRoKG15X3Rh Z19wcmVmaXgpKQorLQorLSAgICBkZWYgdGVzdF9jdG9yX193aXRoX3RhZ19wcmVmaXgoc2VsZik6 CistICAgICAgICB0YWdfcHJlZml4ID0gIk9OTFlfV0lUSC4iCistICAgICAgICB0YWdfbWF0Y2hl ciA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyKCJ4eHgiLCAiYWxpY2UiLCB0YWdfcHJlZml4 KQorLQorLSAgICAgICAgdGFncyA9IFsiZm9vIiwgIk9OTFlfV0lUSC54eHg9Zm9vIiwgIm9ubHku d2l0aF94eHg9YmFyIiwgImJhciJdCistICAgICAgICBhY3R1YWxfdGFncyA9IHRhZ19tYXRjaGVy LnNlbGVjdF9jYXRlZ29yeV90YWdzKHRhZ3MpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsi T05MWV9XSVRILnh4eD1mb28iXSwgYWN0dWFsX3RhZ3MpCistCistCistY2xhc3MgVHJhaXRzNE9u bHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKG9iamVjdCk6CistICAgICIiIlRlc3QgZGF0YSBm b3IgT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIuIiIiCistCistICAgIFRhZ01hdGNoZXIw ID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKy0gICAgVGFnTWF0Y2hlciA9IE9ubHlXaXRo QW55Q2F0ZWdvcnlUYWdNYXRjaGVyCistICAgIGNhdGVnb3J5MV9lbmFibGVkX3RhZyA9IFRhZ01h dGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2UiKQorLSAgICBjYXRlZ29yeTFf c2ltaWxhcl90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImFsaWNl MiIpCistICAgIGNhdGVnb3J5MV9kaXNhYmxlZF90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVn b3J5X3RhZygiZm9vIiwgImJvYiIpCistICAgIGNhdGVnb3J5Ml9lbmFibGVkX3RhZyA9IFRhZ01h dGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJiYXIiLCAiQk9CIikKKy0gICAgY2F0ZWdvcnkyX3Np bWlsYXJfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJCT0IyIikK Ky0gICAgY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlf dGFnKCJiYXIiLCAiQ0hBUkxZIikKKy0gICAgdW5rbm93bl9jYXRlZ29yeV90YWcgPSBUYWdNYXRj aGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiVU5LTk9XTiIsICJvbmUiKQorLQorLQorLWNsYXNzIFRl c3RPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcihUZXN0Q2FzZSk6CistICAgIFRhZ01hdGNo ZXIgPSBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgorLSAgICB0cmFpdHMgPSBUcmFpdHM0 T25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIKKy0KKy0gICAgZGVmIHNldFVwKHNlbGYpOgor LSAgICAgICAgdmFsdWVfcHJvdmlkZXIgPSB7CistICAgICAgICAgICAgImZvbyI6ICJhbGljZSIs CistICAgICAgICAgICAgImJhciI6ICJCT0IiLAorLSAgICAgICAgfQorLSAgICAgICAgd2l0aCB3 YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorLSAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZp bHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorLSAgICAgICAgICAgIHNlbGYudGFn X21hdGNoZXIgPSBzZWxmLlRhZ01hdGNoZXIodmFsdWVfcHJvdmlkZXIpCistCistICAgICMgZGVm IHRlc3RfZGVwcmVjYXRpbmdfd2FybmluZ19pc19pc3N1ZWQoc2VsZik6CistICAgICMgICAgIHZh bHVlX3Byb3ZpZGVyID0geyJmb28iOiAiYWxpY2UifQorLSAgICAjICAgICB3aXRoIHdhcm5pbmdz LmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyByZWNvcmRlcjoKKy0gICAgIyAgICAgICAg IHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiYWx3YXlzIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorLSAg ICAjICAgICAgICAgdGFnX21hdGNoZXIgPSBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcih2 YWx1ZV9wcm92aWRlcikKKy0gICAgIyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlY29y ZGVyKSwgMSkKKy0gICAgIyAgICAgICAgIGxhc3Rfd2FybmluZyA9IHJlY29yZGVyWy0xXQorLSAg ICAjICAgICAgICAgYXNzZXJ0IGlzc3ViY2xhc3MobGFzdF93YXJuaW5nLmNhdGVnb3J5LCBEZXBy ZWNhdGlvbldhcm5pbmcpCistICAgICMgICAgICAgICBhc3NlcnQgImRlcHJlY2F0ZWQiIGluIHN0 cihsYXN0X3dhcm5pbmcubWVzc2FnZSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVf d2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX2VuYWJsZWRfdGFnKHNlbGYpOgorLSAgICAgICAgdHJh aXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRhZ3MxID0gWyB0cmFpdHMuY2F0ZWdvcnkxX2Vu YWJsZWRfdGFnIF0KKy0gICAgICAgIHRhZ3MyID0gWyB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRf dGFnIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIu c2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzMSkpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZh bHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFnczIpKQorLQorLSAg ICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxl ZF90YWdfYW5kX21vcmUoc2VsZik6CistICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworLSAg ICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkx X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAiY2FzZTogZmly c3QiKSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJh aXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBdLCAiY2FzZTogbGFzdCIpLAorLSAgICAgICAgICAg IChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkx X2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorLSAgICAgICAgXQorLSAg ICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICBzZWxm LmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgo dGFncyksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNh c2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5z X3RydWVfd2l0aF9vdGhlcl90YWcoc2VsZik6CistICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0 cworLSAgICAgICAgdGFncyA9IFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXQorLSAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgodGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3Jl dHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZ19hbmRfbW9yZShzZWxmKToKKy0gICAgICAgIHRyYWl0 cyA9IHNlbGYudHJhaXRzCistICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAgICAg IChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3Qi KSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcg XSwgImNhc2U6IGxhc3QiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5 MV9kaXNhYmxlZF90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKy0gICAgICAgIF0KKy0g ICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CistICAgICAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgo dGFncyksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNh c2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5z X3RydWVfd2l0aF9zaW1pbGFyX3RhZyhzZWxmKToKKy0gICAgICAgIHRyYWl0cyA9IHNlbGYudHJh aXRzCistICAgICAgICB0YWdzID0gWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0KKy0g ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19y ZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX2FuZF9tb3JlKHNlbGYpOgorLSAgICAgICAgdHJhaXRz ID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCistICAgICAgICAgICAg KFsgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZywgImZvbyIgXSwgImNhc2U6IGZpcnN0Iiks CistICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwg ImNhc2U6IGxhc3QiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9z aW1pbGFyX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorLSAgICAgICAgXQorLSAgICAg ICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICBzZWxmLmFz c2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdz KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwg dGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFs c2Vfd2l0aG91dF9jYXRlZ29yeV90YWcoc2VsZik6CistICAgICAgICB0ZXN0X3BhdHRlcm5zID0g WworLSAgICAgICAgICAgIChbIF0sICAgICAgICAgICAiY2FzZTogTm8gdGFncyIpLAorLSAgICAg ICAgICAgIChbICJmb28iIF0sICAgICAiY2FzZTogT25lIHRhZyIpLAorLSAgICAgICAgICAgIChb ICJmb28iLCAiYmFyIiBdLCAiY2FzZTogVHdvIHRhZ3MiKSwKKy0gICAgICAgIF0KKy0gICAgICAg IGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CistICAgICAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3Mp LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0 YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxz ZV93aXRoX3Vua25vd25fY2F0ZWdvcnlfdGFnKHNlbGYpOgorLSAgICAgICAgIiIiVGFncyBmcm9t IHVua25vd24gY2F0ZWdvcmllcywgbm90IHN1cHBvcnRlZCBieSB2YWx1ZV9wcm92aWRlciwKKy0g ICAgICAgIHNob3VsZCBub3QgYmUgZXhjbHVkZWQuCistICAgICAgICAiIiIKKy0gICAgICAgIHRy YWl0cyA9IHNlbGYudHJhaXRzCistICAgICAgICB0YWdzID0gWyB0cmFpdHMudW5rbm93bl9jYXRl Z29yeV90YWcgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX1VOS05PV049 b25lIiwgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnKQorLSAgICAgICAgc2VsZi5hc3NlcnRF cXVhbChOb25lLCBzZWxmLnRhZ19tYXRjaGVyLnZhbHVlX3Byb3ZpZGVyLmdldCgiVU5LTk9XTiIp KQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91 bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93 aXRoX19jb21iaW5hdGlvbnNfb2ZfMl9jYXRlZ29yaWVzKHNlbGYpOgorLSAgICAgICAgdHJhaXRz ID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCistICAgICAgICAgICAg KCJjYXNlIDAwOiAyIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorLSAgICAgICAgICAg ICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2Fi bGVkX3RhZ10pLAorLSAgICAgICAgICAgICgiY2FzZSAwMTogZGlzYWJsZWQgYW5kIGVuYWJsZWQg Y2F0ZWdvcnkgdGFncyIsIFRydWUsCistICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9k aXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWddKSwKKy0gICAgICAgICAg ICAoImNhc2UgMTA6IGVuYWJsZWQgYW5kIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAor LSAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRl Z29yeTJfZGlzYWJsZWRfdGFnXSksCistICAgICAgICAgICAgKCJjYXNlIDExOiAyIGVuYWJsZWQg Y2F0ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyAtLSBTSE9VTEQtUlVOCistICAgICAgICAgICAgIFsg dHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3Rh Z10pLAorLSAgICAgICAgICAgICMgLS0gU1BFQ0lBTCBDQVNFOiBXaXRoIHVua25vd24gY2F0ZWdv cnkKKy0gICAgICAgICAgICAoImNhc2UgMHg6IGRpc2FibGVkIGFuZCB1bmtub3duIGNhdGVnb3J5 IHRhZ3MiLCBUcnVlLAorLSAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRf dGFnLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWddKSwKKy0gICAgICAgICAgICAoImNhc2Ug MXg6IGVuYWJsZWQgYW5kIHVua25vd24gY2F0ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyBTSE9VTEQt UlVOCistICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRz LnVua25vd25fY2F0ZWdvcnlfdGFnXSksCistICAgICAgICBdCistICAgICAgICBmb3IgY2FzZSwg ZXhwZWN0ZWQsIHRhZ3MgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICBhY3R1YWxfcmVz dWx0ID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCistICAgICAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgYWN0dWFsX3Jlc3VsdCwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCistCist ICAgIGRlZiB0ZXN0X3Nob3VsZF9ydW5fd2l0aF9fbmVnYXRlc19yZXN1bHRfb2Zfc2hvdWxkX2V4 Y2x1ZGVfd2l0aChzZWxmKToKKy0gICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCistICAgICAg ICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChbIF0sICAgICAgICAgICAgICAgICAg ICJjYXNlOiBObyB0YWdzIiksCistICAgICAgICAgICAgKFsgImZvbyIgXSwgICAgICAgICAgICAg ImNhc2U6IE9uZSBub24tY2F0ZWdvcnkgdGFnIiksCistICAgICAgICAgICAgKFsgImZvbyIsICJi YXIiIF0sICAgICAgImNhc2U6IFR3byBub24tY2F0ZWdvcnkgdGFncyIpLAorLSAgICAgICAgICAg IChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcgXSwgICAiY2FzZTogZW5hYmxlZCB0YWci KSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMu Y2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAgImNhc2U6IGVuYWJsZWQgYW5kIG90aGVyIHRhZyIp LAorLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsICJmb28iIF0s ICAgICJjYXNlOiBlbmFibGVkIGFuZCBmb28gdGFnIiksCistICAgICAgICAgICAgKFsgdHJhaXRz LmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgICAgICAgICAgICAiY2FzZTogb3RoZXIgdGFnIiks CistICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJmb28iIF0s ICAgICAiY2FzZTogb3RoZXIgYW5kIGZvbyB0YWciKSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMu Y2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0sICAgICAgICAgICJjYXNlOiBzaW1pbGFyIHRhZyIpLAor LSAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0sICAg ImNhc2U6IGZvbyBhbmQgc2ltaWxhciB0YWciKSwKKy0gICAgICAgIF0KKy0gICAgICAgIGZvciB0 YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CistICAgICAgICAgICAgcmVzdWx0MSA9IHNlbGYu dGFnX21hdGNoZXIuc2hvdWxkX3J1bl93aXRoKHRhZ3MpCistICAgICAgICAgICAgcmVzdWx0MiA9 IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorLSAgICAgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0MSwgbm90IHJlc3VsdDIsICIlczogdGFncz0lcyIgJSAo Y2FzZSwgdGFncykpCistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChub3QgcmVzdWx0MSwg cmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjctQ29t bWVudC10d2Vha3MucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDI3LUNvbW1lbnQtdHdlYWtzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uYzQxMDY4Yzk2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNy1Db21tZW50 LXR3ZWFrcy5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIDM2MmU3NzhlNWU1NzA1NGI0NTA5 OWYxNDMyYWJlYTE4MTk4N2QzYzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4g MjAxOSAxOToyNDoxNCArMDIwMAorU3ViamVjdDogW1BBVENIXSBDb21tZW50IHR3ZWFrcworCist LS0KKyBiZWhhdmUvcnVubmVyLnB5IHwgNyArKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3J1bm5lci5w eSBiL2JlaGF2ZS9ydW5uZXIucHkKK2luZGV4IGYwZjA3N2EuLmYyMDljYjAgMTAwNjQ0CistLS0g YS9iZWhhdmUvcnVubmVyLnB5CisrKysgYi9iZWhhdmUvcnVubmVyLnB5CitAQCAtMTY3LDEwICsx NjcsMTUgQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorICAgICAgICAgc2VsZi5fcmVjb3JkID0g e30KKyAgICAgICAgIHNlbGYuX29yaWdpbiA9IHt9CisgICAgICAgICBzZWxmLl9tb2RlID0gc2Vs Zi5CRUhBVkUKKysKKysgICAgICAgICMgLS0gTU9ERUwgRU5USVRZIFJFRkVSRU5DRVMvU1VQUE9S VDoKKyAgICAgICAgIHNlbGYuZmVhdHVyZSA9IE5vbmUKKy0gICAgICAgICMgLS0gUkVDSEVDSzog SWYgbmVlZGVkCisrICAgICAgICAjIERJU0FCTEVEOiBzZWxmLnJ1bGUgPSBOb25lCisrICAgICAg ICAjIERJU0FCTEVEOiBzZWxmLnNjZW5hcmlvID0gTm9uZQorICAgICAgICAgc2VsZi50ZXh0ID0g Tm9uZQorICAgICAgICAgc2VsZi50YWJsZSA9IE5vbmUKKysKKysgICAgICAgICMgLS0gUlVOVElN RSBTVVBQT1JUOgorICAgICAgICAgc2VsZi5zdGRvdXRfY2FwdHVyZSA9IE5vbmUKKyAgICAgICAg IHNlbGYuc3RkZXJyX2NhcHR1cmUgPSBOb25lCisgICAgICAgICBzZWxmLmxvZ19jYXB0dXJlID0g Tm9uZQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAyOC1GSVgtd2FybmluZ3MtcmVsYXRlZC10by1pbnZhbGlkLWVzY2FwZXMt aW4tcmVnZXgucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDI4LUZJWC13YXJuaW5ncy1yZWxhdGVkLXRvLWludmFsaWQtZXNjYXBlcy1p bi1yZWdleC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjhmMGFk M2E4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjgtRklYLXdhcm5pbmdzLXJlbGF0ZWQtdG8taW52YWxpZC1l c2NhcGVzLWluLXJlZ2V4LnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK0Zyb20gZDg5MmY4MWUzYmQz ZTk3OWQzNjc3YzM5YzNhOWVmYzQwMTMxYjQ1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3Vu LCA5IEp1biAyMDE5IDE5OjMyOjEwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWCB3YXJuaW5n cyByZWxhdGVkIHRvIGludmFsaWQgZXNjYXBlcyBpbiByZWdleC4KKworLS0tCisgYmVoYXZlNGNt ZDAvY29tbWFuZF9zaGVsbF9wcm9jLnB5ICAgICAgICAgICB8ICAzICsrLQorIGZlYXR1cmVzL3N0 ZXBzL2JlaGF2ZV9zZWxlY3RfZmlsZXNfc3RlcHMucHkgfCAyNCArKysrKysrKysrKysrLS0tLS0t LS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvYmVoYXZlNGNtZDAvY29tbWFuZF9zaGVsbF9wcm9jLnB5IGIvYmVoYXZl NGNtZDAvY29tbWFuZF9zaGVsbF9wcm9jLnB5CitpbmRleCAwN2YxYzg0Li4wM2NhNTVhIDEwMDc1 NQorLS0tIGEvYmVoYXZlNGNtZDAvY29tbWFuZF9zaGVsbF9wcm9jLnB5CisrKysgYi9iZWhhdmU0 Y21kMC9jb21tYW5kX3NoZWxsX3Byb2MucHkKK0BAIC0yNTEsNiArMjUxLDcgQEAgY2xhc3MgQmVo YXZlV2luQ29tbWFuZE91dHB1dFByb2Nlc3NvcihMaW5lQ29tbWFuZE91dHB1dFByb2Nlc3Nvcik6 CisgICAgICAgICAgICAgIk5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnk6ICcoP1A8cGF0aD4uKikn IiwKKyAgICAgICAgICAgICAiW0Vycm5vIDJdIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnk6Iiks ICAjIElPRXJyb3IKKyAgICAgICAgIEV4Y2VwdGlvbldpdGhQYXRoTm9ybWFsaXplcigKKy0gICAg ICAgICAgICAnXlxzKkZpbGUgIig/UDxwYXRoPi4qKSIsIGxpbmUgXGQrLCBpbiAnLAorKyAgICAg ICAgICAgICMgV0FTOiAnXlxzKkZpbGUgIig/UDxwYXRoPi4qKSIsIGxpbmUgXGQrLCBpbiAnLAor KyAgICAgICAgICAgIHInXlxzKkZpbGUgIig/UDxwYXRoPi4qKSIsIGxpbmUgXGQrLCBpbiAnLAor ICAgICAgICAgICAgICdGaWxlICInKSwKKyAgICAgXQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3N0 ZXBzL2JlaGF2ZV9zZWxlY3RfZmlsZXNfc3RlcHMucHkgYi9mZWF0dXJlcy9zdGVwcy9iZWhhdmVf c2VsZWN0X2ZpbGVzX3N0ZXBzLnB5CitpbmRleCA0MzE2NzRlLi4wZDJjZDJlIDEwMDY0NAorLS0t IGEvZmVhdHVyZXMvc3RlcHMvYmVoYXZlX3NlbGVjdF9maWxlc19zdGVwcy5weQorKysrIGIvZmVh dHVyZXMvc3RlcHMvYmVoYXZlX3NlbGVjdF9maWxlc19zdGVwcy5weQorQEAgLTEsMjkgKzEsMzQg QEAKKyAjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorLSIiIgorKyMgRE9DU1RSSU5HLU5FRURTLVJF R0VYLVNUUklORy1QUkVGSVg6IER1ZSB0byBleGFtcGxlIHcvIHdpbGRjYXJkIHBhdHRlcm4uCisr cicnJworIFByb3ZpZGVzIHN0ZXAgZGVmaW5pdGlvbnMgdGhhdCB0ZXN0IGhvdyB0aGUgYmVoYXZl IHJ1bm5lciBzZWxlY3RzIGZlYXR1cmUgZmlsZXMuCisgCisgRVhBTVBMRToKKysKKysuLiBjb2Rl LWJsb2NrOjogZ2hlcmtpbgorKworICAgICBHaXZlbiBiZWhhdmUgaGFzIHRoZSBmb2xsb3dpbmcg ZmVhdHVyZSBmaWxlc2V0OgorLSAgICAgICcnJworKyAgICAgICIiIgorICAgICAgIGZlYXR1cmVz L2FsaWNlLmZlYXR1cmUKKyAgICAgICBmZWF0dXJlcy9ib2IuZmVhdHVyZQorICAgICAgIGZlYXR1 cmVzL2JhcmJpLmZlYXR1cmUKKy0gICAgICAnJycKKysgICAgICAiIiIKKyAgICAgV2hlbiBiZWhh dmUgaW5jbHVkZXMgZmVhdHVyZSBmaWxlcyB3aXRoICJmZWF0dXJlcy9hLipcLmZlYXR1cmUiCisg ICAgIEFuZCAgYmVoYXZlIGV4Y2x1ZGVzIGZlYXR1cmUgZmlsZXMgd2l0aCAiZmVhdHVyZXMvYi4q XC5mZWF0dXJlIgorICAgICBUaGVuIHRoZSBmb2xsb3dpbmcgZmVhdHVyZSBmaWxlcyBhcmUgc2Vs ZWN0ZWQ6CistICAgICAgJycnCisrICAgICAgIiIiCisgICAgICAgZmVhdHVyZXMvYWxpY2UuZmVh dHVyZQorLSAgICAgICcnJworLSIiIgorKyAgICAgICIiIgorKycnJworIAorIGZyb20gX19mdXR1 cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CistZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCB3 aGVuLCB0aGVuCistZnJvbSBiZWhhdmUucnVubmVyX3V0aWwgaW1wb3J0IEZlYXR1cmVMaXN0UGFy c2VyCistZnJvbSBoYW1jcmVzdCBpbXBvcnQgYXNzZXJ0X3RoYXQsIGVxdWFsX3RvCisgZnJvbSBj b3B5IGltcG9ydCBjb3B5CisgaW1wb3J0IHJlCisgaW1wb3J0IHNpeAorK2Zyb20gaGFtY3Jlc3Qg aW1wb3J0IGFzc2VydF90aGF0LCBlcXVhbF90bworK2Zyb20gYmVoYXZlIGltcG9ydCBnaXZlbiwg d2hlbiwgdGhlbgorK2Zyb20gYmVoYXZlLnJ1bm5lcl91dGlsIGltcG9ydCBGZWF0dXJlTGlzdFBh cnNlcgorKworIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFNURVAgVVRJTFM6CitAQCAt NDcsNiArNTIsNyBAQCBjbGFzcyBCYXNpY0JlaGF2ZVJ1bm5lcihvYmplY3QpOgorICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyAjIFNURVAgREVGSU5JVElPTlM6CisgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorKyMgcHlsaW50OiBkaXNhYmxlPWludmFsaWQtbmFtZQorIEBnaXZlbignYmVoYXZlIGhh cyB0aGUgZm9sbG93aW5nIGZlYXR1cmUgZmlsZXNldCcpCisgZGVmIHN0ZXBfZ2l2ZW5fYmVoYXZl X2hhc19mZWF0dXJlX2ZpbGVzZXQoY29udGV4dCk6CisgICAgIGFzc2VydCBjb250ZXh0LnRleHQg aXMgbm90IE5vbmUsICJSRVFVSVJFOiB0ZXh0IgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOS1TdGVwcy1jYXRhbG9nLXNo b3VsZC1ub3QtYnJlYWstY29uZmlndXJlZC1yZXJ1bi1zZXR0LnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOS1TdGVwcy1jYXRhbG9n LXNob3VsZC1ub3QtYnJlYWstY29uZmlndXJlZC1yZXJ1bi1zZXR0LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZTJkODZjYTk5Ci0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOS1T dGVwcy1jYXRhbG9nLXNob3VsZC1ub3QtYnJlYWstY29uZmlndXJlZC1yZXJ1bi1zZXR0LnBhdGNo CkBAIC0wLDAgKzEsNzMgQEAKK0Zyb20gMTFjNGFjODYyYmRjZTkwMWVmMTk4NjQ1MzJlZjZkMTdh ODU3OTljZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEVkdmluIExpbmdlIDxlZHZp bi5saW5nZUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDMxIEp1bCAyMDE3IDE3OjA1OjE4ICswMjAw CitTdWJqZWN0OiBbUEFUQ0hdIFN0ZXBzLWNhdGFsb2cgc2hvdWxkIG5vdCBicmVhayBjb25maWd1 cmVkIHJlcnVuIHNldHRpbmdzCisKKy0tLQorIGJlaGF2ZS9jb25maWd1cmF0aW9uLnB5ICAgICAg ICAgICAgICAgICAgfCAgNSArKysrLQorIGZlYXR1cmVzL2Zvcm1hdHRlci5yZXJ1bi5mZWF0dXJl ICAgICAgICAgfCAxNyArKysrKysrKysrKysrKysrKworIGZlYXR1cmVzL2Zvcm1hdHRlci5zdGVw c19jYXRhbG9nLmZlYXR1cmUgfCAxMyArKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAz NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29u ZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitpbmRleCA0OWIxZGZmLi44 NjFmODlmIDEwMDY0NAorLS0tIGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL2JlaGF2 ZS9jb25maWd1cmF0aW9uLnB5CitAQCAtNjAxLDcgKzYwMSwxMCBAQCBjbGFzcyBDb25maWd1cmF0 aW9uKG9iamVjdCk6CisgICAgICAgICBpZiBzZWxmLnN0ZXBzX2NhdGFsb2c6CisgICAgICAgICAg ICAgIyAtLSBTSE9XIFNURVAtQ0FUQUxPRzogQXMgc3RlcCBzdW1tYXJ5LgorICAgICAgICAgICAg IHNlbGYuZGVmYXVsdF9mb3JtYXQgPSAic3RlcHMuY2F0YWxvZyIKKy0gICAgICAgICAgICBzZWxm LmZvcm1hdCA9IFsic3RlcHMuY2F0YWxvZyJdCisrICAgICAgICAgICAgaWYgc2VsZi5mb3JtYXQ6 CisrICAgICAgICAgICAgICAgIHNlbGYuZm9ybWF0LmFwcGVuZCgic3RlcHMuY2F0YWxvZyIpCisr ICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgc2VsZi5mb3JtYXQgPSBbInN0ZXBz LmNhdGFsb2ciXQorICAgICAgICAgICAgIHNlbGYuZHJ5X3J1biA9IFRydWUKKyAgICAgICAgICAg ICBzZWxmLnN1bW1hcnkgPSBGYWxzZQorICAgICAgICAgICAgIHNlbGYuc2hvd19za2lwcGVkID0g RmFsc2UKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9mb3JtYXR0ZXIucmVydW4uZmVhdHVyZSBiL2Zl YXR1cmVzL2Zvcm1hdHRlci5yZXJ1bi5mZWF0dXJlCitpbmRleCAxZTY0NWYxLi5iOWQ3ZTFiIDEw MDY0NAorLS0tIGEvZmVhdHVyZXMvZm9ybWF0dGVyLnJlcnVuLmZlYXR1cmUKKysrKyBiL2ZlYXR1 cmVzL2Zvcm1hdHRlci5yZXJ1bi5mZWF0dXJlCitAQCAtMjk0LDMgKzI5NCwyMCBAQCBGZWF0dXJl OiBSZXJ1biBGb3JtYXR0ZXIKKyAgICAgICAgICAgICBmZWF0dXJlcy9ib2IuZmVhdHVyZToxMwor ICAgICAgICAgICAgICIiIgorICAgICAgICAgQW5kIG5vdGUgdGhhdCAidGhlIHNlY29uZCBSZXJ1 bkZvcm1hdHRlciBvdmVyd3JpdGVzIHRoZSBvdXRwdXQgb2YgdGhlIGZpcnN0IG9uZSIKKysKKysg ICAgQHdpdGguYmVoYXZlX2NvbmZpZ2ZpbGUKKysgICAgU2NlbmFyaW86IFJlcnVuRm9ybWF0dGVy IHdpdGggc3RlcHMtY2F0YWxvZworKyAgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJiZWhhdmUu aW5pIiB3aXRoOgorKyAgICAgICAgICAgICIiIgorKyAgICAgICAgICAgIFtiZWhhdmVdCisrICAg ICAgICAgICAgZm9ybWF0ICAgPSByZXJ1bgorKyAgICAgICAgICAgIG91dGZpbGVzID0gcmVydW4u dHh0CisrICAgICAgICAgICAgIiIiCisrICAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1zdGVw cy1jYXRhbG9nIGZlYXR1cmVzLyIKKysKKysgICAgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0 aDoKKysgICAgICAgICAgICAiIiIKKysgICAgICAgICAgICBHaXZlbiBhIHN0ZXAgcGFzc2VzCisr ICAgICAgICAgICAgIiIiCisrICAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJyZXJ1bi50eHQiIGRv ZXMgbm90IGV4aXN0CisrCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvZm9ybWF0dGVyLnN0ZXBzX2Nh dGFsb2cuZmVhdHVyZSBiL2ZlYXR1cmVzL2Zvcm1hdHRlci5zdGVwc19jYXRhbG9nLmZlYXR1cmUK K2luZGV4IDA5NTkxYmYuLjkzNmQ3ZjQgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9mb3JtYXR0ZXIu c3RlcHNfY2F0YWxvZy5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy9mb3JtYXR0ZXIuc3RlcHNfY2F0 YWxvZy5mZWF0dXJlCitAQCAtOTgsMyArOTgsMTYgQEAgRmVhdHVyZTogU3RlcHMgQ2F0YWxvZyBG b3JtYXR0ZXIKKyAgICAgICAgICAgIiIiCisgICAgICAgICBCdXQgbm90ZSB0aGF0ICJ0aGUgc3Rl cCBkZWZpbml0aW9ucyBhcmUgb3JkZXJlZCBieSBzdGVwIHR5cGUiCisgICAgICAgICBBbmQgbm90 ZSB0aGF0ICInV2hlbiBJIHZpc2l0IHtwZXJzb259JyBoYXMgbm8gZG9jLXN0cmluZyIKKysKKysK KysgICAgU2NlbmFyaW86IFN0ZXBzIGNhdGFsb2cgZm9ybWF0dGVyIGlzIHVzZWQgZm9yIG91dHB1 dCBldmVuIHdoZW4gb3RoZXIgZm9ybWF0dGVyIGlzIHNwZWNpZmllZAorKyAgICAgICAgV2hlbiBJ IHJ1biAiYmVoYXZlIC0tc3RlcHMtY2F0YWxvZyAtZiBwbGFpbiBmZWF0dXJlcy8iCisrICAgICAg ICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisrICAgICAgICAgICIiIgorKyAgICAgICAgICBH aXZlbiB7cGVyc29ufSBsaXZlcyBpbiB7Y2l0eX0KKysgICAgICAgICAgICAgIFNldHVwIHRoZSBk YXRhIHdoZXJlIGEgcGVyc29uIGxpdmVzIGFuZCBzdG9yZSBpbiB0aGUgZGF0YWJhc2UuCisrCisr ICAgICAgICAgICAgICA6cGFyYW0gcGVyc29uOiAgUGVyc29uJ3MgbmFtZSAoYXMgc3RyaW5nKS4K KysgICAgICAgICAgICAgIDpwYXJhbSBjaXR5OiAgICBDaXR5IHdoZXJlIHRoZSBwZXJzb24gbGl2 ZXMgKGFzIHN0cmluZykuCisrICAgICAgICAgICIiIgorKwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzMC1BZGQtZmVhdHVy ZS13LXJ1bGVzLWFuZC1mYWlsaW5nLXNjZW5hcmlvcy1lbmFibGUtdmlhLnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzMC1BZGQtZmVh dHVyZS13LXJ1bGVzLWFuZC1mYWlsaW5nLXNjZW5hcmlvcy1lbmFibGUtdmlhLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZjA1MGM5Yzg1Ci0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAzMC1BZGQtZmVhdHVyZS13LXJ1bGVzLWFuZC1mYWlsaW5nLXNjZW5hcmlvcy1lbmFibGUtdmlh LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gNTAyMzgyNDMwZjFiZWU4ZDBhOTAzMWZjNzA1 NDE0ODgyMjRhMTAyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGpl bmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAxIEp1bCAyMDE5IDIy OjA3OjE5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBmZWF0dXJlIHcvIHJ1bGVzIGFuZCBm YWlsaW5nIHNjZW5hcmlvcyAoZW5hYmxlIHZpYQorIHRhZ3M9ZmFpbCBvciB0YWdzPXhmYWlsKS4K KworLS0tCisgLi4uL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV9mYWlscy5mZWF0dXJlICAgIHwg MTkgKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCsp CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV9m YWlscy5mZWF0dXJlCisKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVz L3J1bGVfZmFpbHMuZmVhdHVyZSBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV9m YWlscy5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uN2UzODcy ZQorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxl X2ZhaWxzLmZlYXR1cmUKK0BAIC0wLDAgKzEsMTkgQEAKKytAZmFpbAorK0ZlYXR1cmU6IFdpdGgg UnVsZShzKSBhbmQgRmFpbGluZyBTY2VuYXJpbyhzKQorKworKyAgSElOVDogQ29udGFpbnMgZmFp bGluZyBzY2VuYXJpb3MgKGJ5IGludGVudGlvbikuCisrCisrICBAeGZhaWwKKysgIFNjZW5hcmlv OiBGMCAtLSBGYWlscworKyAgICBXaGVuIHNvbWUgc3RlcCBmYWlscworKworKyAgUnVsZTogRmFp bHMgaW4gU2NlbmFyaW8gRjIKKysKKysgICAgU2NlbmFyaW86IEYxCisrICAgICAgR2l2ZW4gYSBz dGVwIHBhc3NlcworKworKyAgICBAeGZhaWwKKysgICAgU2NlbmFyaW86IEYyIC0tIEZhaWxzCisr ICAgICAgR2l2ZW4gYW5vdGhlciBzdGVwIHBhc3NlcworKyAgICAgIFdoZW4gYSBzdGVwIGZhaWxz CisrICAgICAgVGhlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMxLWV4YW1wbGVzLWdo ZXJraW5fdjYtVHdlYWstU2NlbmFyaW9PdXRsaW5lLUV4YW1wbGVzLXQucGF0Y2ggYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMxLWV4YW1wbGVz LWdoZXJraW5fdjYtVHdlYWstU2NlbmFyaW9PdXRsaW5lLUV4YW1wbGVzLXQucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi42ZjcxNzI5ZjUKLS0tIC9kZXYvbnVsbAor KysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDMxLWV4YW1wbGVzLWdoZXJraW5fdjYtVHdlYWstU2NlbmFyaW9PdXRsaW5lLUV4YW1wbGVzLXQu cGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSBkY2JiYTg2NDIwOWU4Nzg0ZWNhYTVhMWNmODBi MzQ2YjM5YjJhNWQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVu aXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDEgSnVsIDIwMTkgMjI6 MTE6MTMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZXhhbXBsZXMvZ2hlcmtpbl92NjogVHdlYWsg U2NlbmFyaW9PdXRsaW5lIEV4YW1wbGVzIHRpdGxlcy4KKworLS0tCisgZXhhbXBsZXMvZ2hlcmtp bl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZSB8IDcgKysrKysrLQorIDEgZmlsZSBjaGFuZ2Vk LCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8yLmZlYXR1cmUgYi9leGFtcGxlcy9naGVya2luX3Y2 L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlCitpbmRleCBhODAyZTE5Li44YjhiYjA0IDEwMDY0NAor LS0tIGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZQorKysrIGIv ZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZQorQEAgLTM2LDcgKzM2 LDEyIEBAIEZlYXR1cmU6IEdoZXJraW4gdjYgRXhhbXBsZSAtLSB3aXRoIFJ1bGVzCisgICAgIFNj ZW5hcmlvIFRlbXBsYXRlOiBSMy5TY2VuYXJpbworICAgICAgIEdpdmVuIGEgcGVyc29uIG5hbWVk ICI8bmFtZT4iCisgCistICAgICAgRXhhbXBsZXM6CisrICAgICAgRXhhbXBsZXM6IFIzLkUxCisg ICAgICAgICB8IG5hbWUgIHwKKyAgICAgICAgIHwgQWxpY2UgfAorICAgICAgICAgfCBCb2IgICB8 CisrCisrICAgICAgRXhhbXBsZXM6IFIzLkUyCisrICAgICAgICB8IG5hbWUgIHwKKysgICAgICAg IHwgQ2hhcmx5IHwKKysgICAgICAgIHwgRG9ybyAgIHwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzItQWRkLWluZm8tb24t bWVyZ2VkLXB1bGwtNTg4LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAzMi1BZGQtaW5mby1vbi1tZXJnZWQtcHVsbC01ODgucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi40ZDQ0ZmVhMDgKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDMyLUFkZC1pbmZvLW9uLW1lcmdlZC1wdWxsLTU4OC5wYXRjaApAQCAtMCwwICsxLDIx IEBACitGcm9tIDljOWJiMWU2MzIwYTZmZmJhYzBiMTcxZDljZjk4Y2JiMzExMTA0ZWIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHku Z2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMSBKdWwgMjAxOSAwODowNjo0MyArMDIwMAorU3ViamVj dDogW1BBVENIXSBBZGQgaW5mbyBvbiBtZXJnZWQgcHVsbCAjNTg4CisKKy0tLQorIENIQU5HRVMu cnN0IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQg YS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCBhOTFlMjJhLi4zZDgwNWIzIDEwMDY0 NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtMzYsNiArMzYsNyBA QCBQQVJUSUFMTFkgRklYRUQ6CisgCisgRklYRUQ6CisgCisrKiBwdWxsICAjNTg4OiBTdGVwcy1j YXRhbG9nIGFyZ3VtZW50IHNob3VsZCBub3QgYnJlYWsgY29uZmlndXJlZCByZXJ1biBzZXR0aW5n cyAocHJvdmlkZWQgYnk6IExlZ28zKQorICogaXNzdWUgIzcyNTogU2NlbmFyaW8gT3V0bGluZSBk ZXNjcmlwdGlvbiBsaW5lcyBzZWVtIHRvIGJlIGlnbm9yZWQgKHN1Ym1pdHRlZCBieTogbml6d2l6 KQorICogaXNzdWUgIzcxMzogQmFja2dyb3VuZCBzZWN0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBkZXNj cmlwdGlvbiAocHJvdmlkZWQgYnk6IGRnb3UpCisgKiBwdWxsICAjNjU3OiBBbGxvdyBhc3luYyBz dGVwcyB3aXRoIHRpbWVvdXRzIHRvIGZhaWwgd2hlbiB0aGV5IHJhaXNlIGV4Y2VwdGlvbnMgKHBy b3ZpZGVkIGJ5OiBBTFNjaHdhbG0pCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMzLVR3ZWFrLXRlc3RzLXJlcXVpcmVkLWJ5 LXB5dGVzdC01LjAucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDMzLVR3ZWFrLXRlc3RzLXJlcXVpcmVkLWJ5LXB5dGVzdC01LjAucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xZmRkYTNhN2QKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDMzLVR3ZWFrLXRlc3RzLXJlcXVpcmVkLWJ5LXB5dGVzdC01LjAucGF0Y2gKQEAg LTAsMCArMSw5NyBAQAorRnJvbSA4ZmUxYmMzMDVhZWVhNWQ4NmRlMWIzYzVkZmNkMmU3OTg0ZmM1 MTQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vy cy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBGcmksIDUgSnVsIDIwMTkgMDg6Mjc6NDQgKzAy MDAKK1N1YmplY3Q6IFtQQVRDSF0gVHdlYWsgdGVzdHMsIHJlcXVpcmVkIGJ5IHB5dGVzdCA+PSA1 LjAuIFdpdGggcHl0ZXN0LnJhaXNlcworIHVzZSBzdHIoZS52YWx1ZSkgaW5zdGVhZCBvZiBzdHIo ZSkgaW4gc29tZSBjYXNlcy4KKworLS0tCisgdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNDU4LnB5 ICAgICAgfCAgMiArLQorIHRlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2NsZWFudXBzLnB5IHwgIDIg Ky0KKyB0ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkgICAgICAgICB8IDI0ICsrKysrKysrKysr KysrKy0tLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTEgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA0NTgucHkg Yi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA0NTgucHkKK2luZGV4IDE4NTNhZDYuLmY2NmY2ZDMg MTAwNjQ0CistLS0gYS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA0NTgucHkKKysrKyBiL3Rlc3Rz L2lzc3Vlcy90ZXN0X2lzc3VlMDQ1OC5weQorQEAgLTQ4LDcgKzQ4LDcgQEAgZGVmIHRlc3RfaXNz dWUoZXhjZXB0aW9uX2NsYXNzLCBtZXNzYWdlKToKKyAgICAgICAgIHJhaXNlX2V4Y2VwdGlvbihl eGNlcHRpb25fY2xhc3MsIG1lc3NhZ2UpCisgCisgICAgICMgLS0gU0hPVUxEIE5PVCBSQUlTRSBF WENFUFRJT04gSEVSRToKKy0gICAgdGV4dCA9IF90ZXh0KGUpCisrICAgIHRleHQgPSBfdGV4dChl LnZhbHVlKQorICAgICAjIC0tIERJQUdOT1NUSUNTOgorICAgICBwcmludCh1InRleHQiKyB0ZXh0 KQorICAgICBwcmludCh1ImV4Y2VwdGlvbjogJXMiICUgZSkKK2RpZmYgLS1naXQgYS90ZXN0cy91 bml0L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weSBiL3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2Ns ZWFudXBzLnB5CitpbmRleCBiMGU4YWU2Li5iZjBhYjUwIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5p dC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0 X2NsZWFudXBzLnB5CitAQCAtMTUzLDcgKzE1Myw3IEBAIGNsYXNzIFRlc3RDb250ZXh0Q2xlYW51 cChvYmplY3QpOgorICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEFzc2VydGlvbkVycm9yKSBh cyBlOgorICAgICAgICAgICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4dCk6Cisg ICAgICAgICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFudXAobm9uX2NhbGxhYmxlKQorLSAgICAg ICAgYXNzZXJ0ICJSRVFVSVJFUzogY2FsbGFibGUoY2xlYW51cF9mdW5jKSIgaW4gc3RyKGUpCisr ICAgICAgICBhc3NlcnQgIlJFUVVJUkVTOiBjYWxsYWJsZShjbGVhbnVwX2Z1bmMpIiBpbiBzdHIo ZS52YWx1ZSkKKyAKKyAgICAgZGVmIHRlc3Rfb25fY2xlYW51cF9lcnJvcl9fcHJpbnRzX2Vycm9y X2J5X2RlZmF1bHQoc2VsZiwgY2Fwc3lzKToKKyAgICAgICAgIGRlZiBiYWRfY2xlYW51cF9mdW5j KCk6CitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X3RleHR1dGlsLnB5IGIvdGVzdHMvdW5p dC90ZXN0X3RleHR1dGlsLnB5CitpbmRleCBmN2Y2NDJjLi5lMDVlOWFkIDEwMDY0NAorLS0tIGEv dGVzdHMvdW5pdC90ZXN0X3RleHR1dGlsLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfdGV4dHV0 aWwucHkKK0BAIC0yMTQsOSArMjE0LDExIEBAIGNsYXNzIFRlc3RPYmplY3RUb1RleHRDb252ZXJz aW9uKG9iamVjdCk6CisgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoQXNzZXJ0aW9uRXJyb3Ip IGFzIGU6CisgICAgICAgICAgICAgYXNzZXJ0IEZhbHNlLCBtZXNzYWdlCisgCistICAgICAgICB0 ZXh0MiA9IHRleHQoZSkKKy0gICAgICAgIGV4cGVjdGVkID0gdSJBc3NlcnRpb25FcnJvcjogJXMi ICUgbWVzc2FnZQorLSAgICAgICAgYXNzZXJ0IHRleHQyLmVuZHN3aXRoKGV4cGVjdGVkKQorKyAg ICAgICAgIyAtLSBGT1I6IHB5dGVzdCA8IDUuMAorKyAgICAgICAgIyBleHBlY3RlZCA9IHUiQXNz ZXJ0aW9uRXJyb3I6ICVzIiAlIG1lc3NhZ2UKKysgICAgICAgIHRleHQyID0gdGV4dChlLnZhbHVl KQorKyAgICAgICAgYXNzZXJ0IHUiQXNzZXJ0aW9uRXJyb3IiIGluIHRleHQoZSkKKysgICAgICAg IGFzc2VydCBtZXNzYWdlIGluIHRleHQyLCAiT09QUzogdGV4dD0lciIgJSB0ZXh0MgorIAorICAg ICBAcmVxdWlyZXNfcHl0aG9uMgorICAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoIm1lc3Nh Z2UiLCBbCitAQCAtMjM2LDEwICsyMzgsMTEgQEAgY2xhc3MgVGVzdE9iamVjdFRvVGV4dENvbnZl cnNpb24ob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgYXNzZXJ0IGV4cGVjdGVkX2RlY29kZV9l cnJvciBpbiBzdHIodW5pX2Vycm9yKQorICAgICAgICAgICAgICAgICBhc3NlcnQgRmFsc2UsIGJ5 dGVzX21lc3NhZ2UuZGVjb2RlKHNlbGYuRU5DT0RJTkcpCisgCisrICAgICAgICAjIC0tIEZPUjog cHl0ZXN0IDwgNS4wCisrICAgICAgICAjIGV4cGVjdGVkID0gdSJBc3NlcnRpb25FcnJvcjogJXMi ICUgbWVzc2FnZQorICAgICAgICAgcHJpbnQoImRlY29kZV9lcnJvcl9vY2N1cmVkKGFzY2lpKT0l cyIgJSBkZWNvZGVfZXJyb3Jfb2NjdXJlZCkKKy0gICAgICAgIHRleHQyID0gdGV4dChlKQorLSAg ICAgICAgZXhwZWN0ZWQgPSB1IkFzc2VydGlvbkVycm9yOiAlcyIgJSBtZXNzYWdlCistICAgICAg ICBhc3NlcnQgdGV4dDIuZW5kc3dpdGgoZXhwZWN0ZWQpCisrICAgICAgICB0ZXh0MiA9IHRleHQo ZS52YWx1ZSkKKysgICAgICAgIGFzc2VydCBtZXNzYWdlIGluIHRleHQyLCAiT09QUzogdGV4dD0l ciIgJSB0ZXh0MgorIAorICAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImV4Y2VwdGlvbl9j bGFzcywgbWVzc2FnZSIsIFsKKyAgICAgICAgIChBc3NlcnRpb25FcnJvciwgdSLDhHJnZXJuaXMi KSwKK0BAIC0yNTEsMTAgKzI1NCwxMyBAQCBjbGFzcyBUZXN0T2JqZWN0VG9UZXh0Q29udmVyc2lv bihvYmplY3QpOgorICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKGV4Y2VwdGlvbl9jbGFzcykg YXMgZToKKyAgICAgICAgICAgICByYWlzZSBleGNlcHRpb25fY2xhc3MobWVzc2FnZSkKKyAKKy0g ICAgICAgIHRleHQyID0gdGV4dChlKQorKyAgICAgICAgIyAtLSBGT1I6IHB5dGVzdCA8IDUuMAor KyAgICAgICAgIyBleHBlY3RlZCA9IHUiQXNzZXJ0aW9uRXJyb3I6ICVzIiAlIG1lc3NhZ2UKKysg ICAgICAgIHRleHQyID0gdGV4dChlLnZhbHVlKQorICAgICAgICAgZXhwZWN0ZWQgPSB1IiVzOiAl cyIgJSAoZXhjZXB0aW9uX2NsYXNzLl9fbmFtZV9fLCBtZXNzYWdlKQorICAgICAgICAgYXNzZXJ0 IGlzaW5zdGFuY2UodGV4dDIsIHNpeC50ZXh0X3R5cGUpCistICAgICAgICBhc3NlcnQgdGV4dDIu ZW5kc3dpdGgoZXhwZWN0ZWQpCisrICAgICAgICBhc3NlcnQgZXhjZXB0aW9uX2NsYXNzLl9fbmFt ZV9fIGluIHN0cihlKQorKyAgICAgICAgYXNzZXJ0IG1lc3NhZ2UgaW4gdGV4dDIsICJPT1BTOiB0 ZXh0PSVyIiAlIHRleHQyCisgCisgICAgIEByZXF1aXJlc19weXRob24yCisgICAgIEBweXRlc3Qu bWFyay5wYXJhbWV0cml6ZSgiZXhjZXB0aW9uX2NsYXNzLCBtZXNzYWdlIiwgWworQEAgLTI2OCw3 ICsyNzQsNyBAQCBjbGFzcyBUZXN0T2JqZWN0VG9UZXh0Q29udmVyc2lvbihvYmplY3QpOgorICAg ICAgICAgd2l0aCBweXRlc3QucmFpc2VzKGV4Y2VwdGlvbl9jbGFzcykgYXMgZToKKyAgICAgICAg ICAgICByYWlzZSBleGNlcHRpb25fY2xhc3MoYnl0ZXNfbWVzc2FnZSkKKyAKKy0gICAgICAgIHRl eHQyID0gdGV4dChlKQorKyAgICAgICAgdGV4dDIgPSB0ZXh0KGUudmFsdWUpCisgICAgICAgICB1 bmljb2RlX21lc3NhZ2UgPSBieXRlc19tZXNzYWdlLmRlY29kZShzZWxmLkVOQ09ESU5HKQorICAg ICAgICAgZXhwZWN0ZWQgPSB1IiVzOiAlcyIgJSAoZXhjZXB0aW9uX2NsYXNzLl9fbmFtZV9fLCB1 bmljb2RlX21lc3NhZ2UpCisgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSh0ZXh0Miwgc2l4LnRl eHRfdHlwZSkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMzQtQ0xFQU5VUC1Vc2UtcHl0ZXN0LWluc3RlYWQtb2Ytbm9zZS10 by1yZW1vdmUtbm9zZS5pbS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzQtQ0xFQU5VUC1Vc2UtcHl0ZXN0LWluc3RlYWQtb2Ytbm9z ZS10by1yZW1vdmUtbm9zZS5pbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjdhNDdjN2ZlNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzQtQ0xFQU5VUC1Vc2UtcHl0ZXN0LWlu c3RlYWQtb2Ytbm9zZS10by1yZW1vdmUtbm9zZS5pbS5wYXRjaApAQCAtMCwwICsxLDE4MCBAQAor RnJvbSBkY2UwZTQwYzk2ODlhOGQ0ZmU3MWM5YjJlOGU0ZGVjZDcyZGNmNTc0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBGcmksIDUgSnVsIDIwMTkgMDg6NDU6NTEgKzAyMDAKK1N1YmplY3Q6IFtQ QVRDSF0gQ0xFQU5VUDogVXNlIHB5dGVzdCBpbnN0ZWFkIG9mIG5vc2UgdG8gcmVtb3ZlIG5vc2Uu aW1wb3J0ZXIKKyBEZXByZWNhdGlvbldhcm5pbmcuCisKKy0tLQorIHRlc3RzL3VuaXQvdGVzdF9p bXBvcnRlci5weSB8IDE2MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAx IGZpbGUgY2hhbmdlZCwgMTYzIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVz dHMvdW5pdC90ZXN0X2ltcG9ydGVyLnB5CisKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3Rf aW1wb3J0ZXIucHkgYi90ZXN0cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mM2Y0ZTJjCistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0 cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkKK0BAIC0wLDAgKzEsMTYzIEBACisrIyAtKi0gY29kaW5n OiB1dGYtOCAtKi0KKysiIiIKKytUZXN0cyBmb3IgYmVoYXZlLmltcG9ydGluZy4KKytUaGUgbW9k dWxlIHByb3ZpZGVzIGEgbGF6eS1sb2FkaW5nL2ltcG9ydGluZyBtZWNoYW5pc20uCisrIiIiCisr CisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKytpbXBvcnQgcHl0ZXN0 CisrZnJvbSBiZWhhdmUuaW1wb3J0ZXIgaW1wb3J0IExhenlPYmplY3QsIExhenlEaWN0LCBsb2Fk X21vZHVsZSwgcGFyc2Vfc2NvcGVkX25hbWUKKytmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYmFzZSBp bXBvcnQgRm9ybWF0dGVyCisraW1wb3J0IHN5cworK2ltcG9ydCB0eXBlcworKyMgaW1wb3J0IHVu aXR0ZXN0CisrCisrCisrY2xhc3MgVGVzdFRoZW9yeShvYmplY3QpOgorKyAgICAiIiJNYXJrZXIg Zm9yIHRlc3QtdGhlb3J5IGNsYXNzZXMgYXMgc3ludGFjdGljIHN1Z2FyLiIiIgorKyAgICBwYXNz CisrCisrCisrY2xhc3MgSW1wb3J0TW9kdWxlVGhlb3J5KFRlc3RUaGVvcnkpOgorKyAgICAiIiIK KysgICAgUHJvdmlkZXMgYSB0ZXN0IHRoZW9yeSBmb3IgaW1wb3J0aW5nIG1vZHVsZXMuCisrICAg ICIiIgorKworKyAgICBAY2xhc3NtZXRob2QKKysgICAgZGVmIGVuc3VyZV9tb2R1bGVfaXNfbm90 X2ltcG9ydGVkKGNscywgbW9kdWxlX25hbWUpOgorKyAgICAgICAgaWYgbW9kdWxlX25hbWUgaW4g c3lzLm1vZHVsZXM6CisrICAgICAgICAgICAgZGVsIHN5cy5tb2R1bGVzW21vZHVsZV9uYW1lXQor KyAgICAgICAgY2xzLmFzc2VydF9tb2R1bGVfaXNfbm90X2ltcG9ydGVkKG1vZHVsZV9uYW1lKQor KworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiBhc3NlcnRfbW9kdWxlX2lzX2ltcG9ydGVk KG1vZHVsZV9uYW1lKToKKysgICAgICAgIG1vZHVsZSA9IHN5cy5tb2R1bGVzLmdldChtb2R1bGVf bmFtZSwgTm9uZSkKKysgICAgICAgIGFzc2VydCBtb2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlcwor KyAgICAgICAgYXNzZXJ0IG1vZHVsZSBpcyBub3QgTm9uZQorKworKyAgICBAc3RhdGljbWV0aG9k CisrICAgIGRlZiBhc3NlcnRfbW9kdWxlX2lzX25vdF9pbXBvcnRlZChtb2R1bGVfbmFtZSk6Cisr ICAgICAgICBhc3NlcnQgbW9kdWxlX25hbWUgbm90IGluIHN5cy5tb2R1bGVzCisrCisrICAgIEBz dGF0aWNtZXRob2QKKysgICAgZGVmIGFzc2VydF9tb2R1bGVfd2l0aF9uYW1lKG1vZHVsZSwgbmFt ZSk6CisrICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtb2R1bGUsIHR5cGVzLk1vZHVsZVR5cGUp CisrICAgICAgICBhc3NlcnQgbW9kdWxlLl9fbmFtZV9fID09IG5hbWUKKysKKysKKytjbGFzcyBU ZXN0TG9hZE1vZHVsZShvYmplY3QpOgorKyAgICB0aGVvcnkgPSBJbXBvcnRNb2R1bGVUaGVvcnkK KysKKysgICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3Nob3VsZF9mYWlsX2Zvcl91bmtub3duX21v ZHVsZShzZWxmKToKKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhJbXBvcnRFcnJvcikgYXMg ZToKKysgICAgICAgICAgICBsb2FkX21vZHVsZSgiX191bmtub3duX21vZHVsZV9fIikKKysgICAg ICAgICMgT0xEOiBhc3NlcnRfcmFpc2VzKEltcG9ydEVycm9yLCBsb2FkX21vZHVsZSwgIl9fdW5r bm93bl9tb2R1bGVfXyIpCisrCisrICAgIGRlZiB0ZXN0X2xvYWRfbW9kdWxlX19zaG91bGRfc3Vj Y2VlZF9mb3JfYWxyZWFkeV9pbXBvcnRlZF9tb2R1bGUoc2VsZik6CisrICAgICAgICBtb2R1bGVf bmFtZSA9ICJiZWhhdmUuaW1wb3J0ZXIiCisrICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9k dWxlX2lzX2ltcG9ydGVkKG1vZHVsZV9uYW1lKQorKworKyAgICAgICAgbW9kdWxlID0gbG9hZF9t b2R1bGUobW9kdWxlX25hbWUpCisrICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX3dp dGhfbmFtZShtb2R1bGUsIG1vZHVsZV9uYW1lKQorKyAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0 X21vZHVsZV9pc19pbXBvcnRlZChtb2R1bGVfbmFtZSkKKysKKysgICAgZGVmIHRlc3RfbG9hZF9t b2R1bGVfX3Nob3VsZF9zdWNjZWVkX2Zvcl9leGlzdGluZ19tb2R1bGUoc2VsZik6CisrICAgICAg ICBtb2R1bGVfbmFtZSA9ICJ0ZXN0Ll9pbXBvcnRlcl9jYW5kaWRhdGUiCisrICAgICAgICBzZWxm LnRoZW9yeS5lbnN1cmVfbW9kdWxlX2lzX25vdF9pbXBvcnRlZChtb2R1bGVfbmFtZSkKKysKKysg ICAgICAgIG1vZHVsZSA9IGxvYWRfbW9kdWxlKG1vZHVsZV9uYW1lKQorKyAgICAgICAgc2VsZi50 aGVvcnkuYXNzZXJ0X21vZHVsZV93aXRoX25hbWUobW9kdWxlLCBtb2R1bGVfbmFtZSkKKysgICAg ICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisr CisrCisrY2xhc3MgVGVzdExhenlPYmplY3Qob2JqZWN0KToKKysKKysgICAgZGVmIHRlc3RfZ2V0 X19zaG91bGRfc3VjY2VlZF9mb3Jfa25vd25fb2JqZWN0KHNlbGYpOgorKyAgICAgICAgbGF6eSA9 IExhenlPYmplY3QoImJlaGF2ZS5pbXBvcnRlciIsICJMYXp5T2JqZWN0IikKKysgICAgICAgIHZh bHVlID0gbGF6eS5nZXQoKQorKyAgICAgICAgYXNzZXJ0IHZhbHVlIGlzIExhenlPYmplY3QKKysK KysgICAgICAgIGxhenkyID0gTGF6eU9iamVjdCgiYmVoYXZlLmltcG9ydGVyOkxhenlPYmplY3Qi KQorKyAgICAgICAgdmFsdWUyID0gbGF6eTIuZ2V0KCkKKysgICAgICAgIGFzc2VydCB2YWx1ZTIg aXMgTGF6eU9iamVjdAorKworKyAgICAgICAgbGF6eTMgPSBMYXp5T2JqZWN0KCJiZWhhdmUuZm9y bWF0dGVyLnN0ZXBzIiwgIlN0ZXBzRm9ybWF0dGVyIikKKysgICAgICAgIHZhbHVlMyA9IGxhenkz LmdldCgpCisrICAgICAgICBhc3NlcnQgaXNzdWJjbGFzcyh2YWx1ZTMsIEZvcm1hdHRlcikKKysK KysgICAgZGVmIHRlc3RfZ2V0X19zaG91bGRfZmFpbF9mb3JfdW5rbm93bl9tb2R1bGUoc2VsZik6 CisrICAgICAgICBsYXp5ID0gTGF6eU9iamVjdCgiX191bmtub3duX21vZHVsZV9fIiwgInh4eCIp CisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoSW1wb3J0RXJyb3IpOgorKyAgICAgICAgICAg IGxhenkuZ2V0KCkKKysKKysgICAgZGVmIHRlc3RfZ2V0X19zaG91bGRfZmFpbF9mb3JfdW5rbm93 bl9vYmplY3RfaW5fbW9kdWxlKHNlbGYpOgorKyAgICAgICAgbGF6eSA9IExhenlPYmplY3QoInRl c3QuX2ltcG9ydGVyX2NhbmRpZGF0ZSIsICJ4eHgiKQorKyAgICAgICAgd2l0aCBweXRlc3QucmFp c2VzKEltcG9ydEVycm9yKToKKysgICAgICAgICAgICBsYXp5LmdldCgpCisrCisrCisrY2xhc3Mg TGF6eURpY3RUaGVvcnkoVGVzdFRoZW9yeSk6CisrCisrICAgIEBzdGF0aWNtZXRob2QKKysgICAg ZGVmIHNhZmVfZ2V0aXRlbShkYXRhLCBrZXkpOgorKyAgICAgICAgcmV0dXJuIGRpY3QuX19nZXRp dGVtX18oZGF0YSwga2V5KQorKworKyAgICBAY2xhc3NtZXRob2QKKysgICAgZGVmIGFzc2VydF9p dGVtX2lzX2xhenkoY2xzLCBkYXRhLCBrZXkpOgorKyAgICAgICAgdmFsdWUgPSBjbHMuc2FmZV9n ZXRpdGVtKGRhdGEsIGtleSkKKysgICAgICAgIGNscy5hc3NlcnRfaXNfbGF6eV9vYmplY3QodmFs dWUpCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgYXNzZXJ0X2l0ZW1faXNfbm90X2xh enkoY2xzLCBkYXRhLCBrZXkpOgorKyAgICAgICAgdmFsdWUgPSBjbHMuc2FmZV9nZXRpdGVtKGRh dGEsIGtleSkKKysgICAgICAgIGNscy5hc3NlcnRfaXNfbm90X2xhenlfb2JqZWN0KHZhbHVlKQor KworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiBhc3NlcnRfaXNfbGF6eV9vYmplY3Qob2Jq KToKKysgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG9iaiwgTGF6eU9iamVjdCkKKysKKysgICAg QHN0YXRpY21ldGhvZAorKyAgICBkZWYgYXNzZXJ0X2lzX25vdF9sYXp5X29iamVjdChvYmopOgor KyAgICAgICAgYXNzZXJ0IG5vdCBpc2luc3RhbmNlKG9iaiwgTGF6eU9iamVjdCkKKysKKysKKytj bGFzcyBUZXN0TGF6eURpY3Qob2JqZWN0KToKKysgICAgdGhlb3J5ID0gTGF6eURpY3RUaGVvcnkK KysKKysgICAgZGVmIHRlc3RfdW5rbm93bl9pdGVtX2FjY2Vzc19fc2hvdWxkX3JhaXNlX2tleWVy cm9yKHNlbGYpOgorKyAgICAgICAgbGF6eV9kaWN0ID0gTGF6eURpY3QoeyJhbGljZSI6IDQyfSkK KysgICAgICAgIGl0ZW1fYWNjZXNzID0gbGFtYmRhIGtleTogbGF6eV9kaWN0W2tleV0KKysgICAg ICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhLZXlFcnJvcik6CisrICAgICAgICAgICAgaXRlbV9hY2Nl c3MoInVua25vd24iKQorKworKyAgICBkZWYgdGVzdF9wbGFpbl9pdGVtX2FjY2Vzc19fc2hvdWxk X3N1Y2NlZWQoc2VsZik6CisrICAgICAgICB0aGVvcnkgPSBMYXp5RGljdFRoZW9yeQorKyAgICAg ICAgbGF6eV9kaWN0ID0gTGF6eURpY3QoeyJhbGljZSI6IDQyfSkKKysgICAgICAgIHRoZW9yeS5h c3NlcnRfaXRlbV9pc19ub3RfbGF6eShsYXp5X2RpY3QsICJhbGljZSIpCisrCisrICAgICAgICB2 YWx1ZSA9IGxhenlfZGljdFsiYWxpY2UiXQorKyAgICAgICAgYXNzZXJ0IHZhbHVlID09IDQyCisr CisrICAgIGRlZiB0ZXN0X2xhenlfaXRlbV9hY2Nlc3NfX3Nob3VsZF9sb2FkX29iamVjdChzZWxm KToKKysgICAgICAgIEltcG9ydE1vZHVsZVRoZW9yeS5lbnN1cmVfbW9kdWxlX2lzX25vdF9pbXBv cnRlZCgiaW5zcGVjdCIpCisrICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNlIjog TGF6eU9iamVjdCgiaW5zcGVjdDppc21vZHVsZSIpfSkKKysgICAgICAgIHNlbGYudGhlb3J5LmFz c2VydF9pdGVtX2lzX2xhenkobGF6eV9kaWN0LCAiYWxpY2UiKQorKyAgICAgICAgc2VsZi50aGVv cnkuYXNzZXJ0X2l0ZW1faXNfbGF6eShsYXp5X2RpY3QsICJhbGljZSIpCisrCisrICAgICAgICB2 YWx1ZSA9IGxhenlfZGljdFsiYWxpY2UiXQorKyAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X2lz X25vdF9sYXp5X29iamVjdCh2YWx1ZSkKKysgICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9pdGVt X2lzX25vdF9sYXp5KGxhenlfZGljdCwgImFsaWNlIikKKysKKysgICAgZGVmIHRlc3RfbGF6eV9p dGVtX2FjY2Vzc19fc2hvdWxkX2ZhaWxfd2l0aF91bmtub3duX21vZHVsZShzZWxmKToKKysgICAg ICAgIGxhenlfZGljdCA9IExhenlEaWN0KHsiYm9iIjogTGF6eU9iamVjdCgiX191bmtub3duX21v ZHVsZV9fIiwgInh4eCIpfSkKKysgICAgICAgIGl0ZW1fYWNjZXNzID0gbGFtYmRhIGtleTogbGF6 eV9kaWN0W2tleV0KKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhJbXBvcnRFcnJvcik6Cisr ICAgICAgICAgICAgaXRlbV9hY2Nlc3MoImJvYiIpCisrCisrICAgIGRlZiB0ZXN0X2xhenlfaXRl bV9hY2Nlc3NfX3Nob3VsZF9mYWlsX3dpdGhfdW5rbm93bl9vYmplY3Qoc2VsZik6CisrICAgICAg ICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7CisrICAgICAgICAgICAgImJvYiI6IExhenlPYmplY3Qo ImJlaGF2ZS5pbXBvcnRlciIsICJYVW5rbm93biIpCisrICAgICAgICB9KQorKyAgICAgICAgaXRl bV9hY2Nlc3MgPSBsYW1iZGEga2V5OiBsYXp5X2RpY3Rba2V5XQorKyAgICAgICAgd2l0aCBweXRl c3QucmFpc2VzKEltcG9ydEVycm9yKToKKysgICAgICAgICAgICBpdGVtX2FjY2VzcygiYm9iIikK ZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMzUtUkVNT1ZFLURFUEVOREVOQ1ktbm9zZS10by1hdm9pZC1ub3NlLmltcG9ydGVy LXdhcm5pbi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMzUtUkVNT1ZFLURFUEVOREVOQ1ktbm9zZS10by1hdm9pZC1ub3NlLmltcG9y dGVyLXdhcm5pbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjMz NzM4NDU5ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzUtUkVNT1ZFLURFUEVOREVOQ1ktbm9zZS10by1hdm9p ZC1ub3NlLmltcG9ydGVyLXdhcm5pbi5wYXRjaApAQCAtMCwwICsxLDE4MTUgQEAKK0Zyb20gNjVi MTdjY2JlYTFhMTdiMjZlNjE5MWExZDczMzYwODhkMGRkNDE4MSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogU2F0LCA2IEp1bCAyMDE5IDA5OjEwOjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFJF TU9WRS1ERVBFTkRFTkNZOiBub3NlICh0byBhdm9pZCBub3NlLmltcG9ydGVyIHdhcm5pbmdzKQor CitSZXBsYWNlIG5vc2UgdGVzdC1mcmFtZXdvcmsgZnVuY3Rpb25hbGl0eSB3LyBweXRlc3QuCitN b3ZlIHRlc3QvKi5weSA9PiB0ZXN0cy91bml0LyoucHkKKy0tLQorIE1BTklGRVNULmluICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiAtCisgY29uZnRlc3QucHkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEzICsrCisgaW52b2tlLnlhbWwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKKyBweS5yZXF1aXJlbWVudHMvY2ku dG94LnR4dCAgICAgICAgICAgICAgICAgICAgfCAgIDkgKworIHB5LnJlcXVpcmVtZW50cy9jaS50 cmF2aXMudHh0ICAgICAgICAgICAgICAgICB8ICAgMSAtCisgcHkucmVxdWlyZW1lbnRzL2RldmVs b3AudHh0ICAgICAgICAgICAgICAgICAgIHwgICAxIC0KKyBweS5yZXF1aXJlbWVudHMvdGVzdGlu Zy50eHQgICAgICAgICAgICAgICAgICAgfCAgIDMgKy0KKyBweXRlc3QuaW5pICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKy0KKyBzZXR1cC5weSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDggKy0KKyB0YXNrcy90ZXN0LnB5ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyB0ZXN0L19faW5pdF9fLnB5ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDAKKyB0ZXN0L3Rlc3RfaW1wb3J0ZXIucHkgICAg ICAgICAgICAgICAgICAgICAgICAgfCAxNTEgLS0tLS0tLS0tLS0tLQorIHt0ZXN0ID0+IHRlc3Rz L3VuaXR9L19pbXBvcnRlcl9jYW5kaWRhdGUucHkgICB8ICAgMAorIHRlc3RzL3VuaXQvcmVwb3J0 ZXIvdGVzdF9zdW1tYXJ5LnB5ICAgICAgICAgICB8ICAgMiAtCisgLi4uL3Rlc3RfdGFnX2V4cHJl c3Npb25fdjFfcGFydDEucHkgICAgICAgICAgIHwgIDE3ICstCisgLi4uL3Rlc3RfdGFnX2V4cHJl c3Npb25fdjFfcGFydDIucHkgICAgICAgICAgIHwgIDE4ICstCisge3Rlc3QgPT4gdGVzdHMvdW5p dH0vdGVzdF9hbnNpX2VzY2FwZXMucHkgICAgIHwgIDE0ICstCisge3Rlc3QgPT4gdGVzdHMvdW5p dH0vdGVzdF9jb25maWd1cmF0aW9uLnB5ICAgIHwgIDc1ICsrKy0tLQorIHt0ZXN0ID0+IHRlc3Rz L3VuaXR9L3Rlc3RfZm9ybWF0dGVyLnB5ICAgICAgICB8ICAxNSArLQorIC4uLi91bml0fS90ZXN0 X2Zvcm1hdHRlcl9wcm9ncmVzcy5weSAgICAgICAgICB8ICAgNyArCisge3Rlc3QgPT4gdGVzdHMv dW5pdH0vdGVzdF9mb3JtYXR0ZXJfcmVydW4ucHkgIHwgIDEyICstCisge3Rlc3QgPT4gdGVzdHMv dW5pdH0vdGVzdF9mb3JtYXR0ZXJfdGFncy5weSAgIHwgICA5ICsKKyB0ZXN0cy91bml0L3Rlc3Rf aW1wb3J0ZXIucHkgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyB7dGVzdCA9PiB0ZXN0cy91 bml0fS90ZXN0X2xvZ19jYXB0dXJlLnB5ICAgICAgfCAgIDkgKy0KKyB7dGVzdCA9PiB0ZXN0cy91 bml0fS90ZXN0X21hdGNoZXJzLnB5ICAgICAgICAgfCAgMjQgKy0KKyB0ZXN0cy91bml0L3Rlc3Rf cGFyc2VyLnB5ICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQorIHt0ZXN0ID0+IHRlc3RzL3Vu aXR9L3Rlc3RfcnVubmVyLnB5ICAgICAgICAgICB8IDIxMyArKysrKysrKysrLS0tLS0tLS0KKyB7 dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X3N0ZXBfcmVnaXN0cnkucHkgICAgfCAgIDUgKy0KKyB0 ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkgICAgICAgICAgICAgICAgICAgfCAgMTIgKy0KKyB0 b3guaW5pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTkgKy0KKyAz MCBmaWxlcyBjaGFuZ2VkLCAyODMgaW5zZXJ0aW9ucygrKSwgMzY5IGRlbGV0aW9ucygtKQorIGNy ZWF0ZSBtb2RlIDEwMDY0NCBweS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorIGRlbGV0ZSBtb2Rl IDEwMDY0NCB0ZXN0L19faW5pdF9fLnB5CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRlc3QvdGVzdF9p bXBvcnRlci5weQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS9faW1wb3J0ZXJfY2FuZGlk YXRlLnB5ICgxMDAlKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2Fuc2lfZXNj YXBlcy5weSAoODQlKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2NvbmZpZ3Vy YXRpb24ucHkgKDcyJSkKKyByZW5hbWUge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0 ZXIucHkgKDk0JSkKKyByZW5hbWUge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0ZXJf cHJvZ3Jlc3MucHkgKDk5JSkKKyByZW5hbWUge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9mb3Jt YXR0ZXJfcmVydW4ucHkgKDk0JSkKKyByZW5hbWUge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9m b3JtYXR0ZXJfdGFncy5weSAoOTklKQorIHJlbmFtZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0 X2xvZ19jYXB0dXJlLnB5ICg4NyUpCisgcmVuYW1lIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3Rf bWF0Y2hlcnMucHkgKDkzJSkKKyByZW5hbWUge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9ydW5u ZXIucHkgKDgyJSkKKyByZW5hbWUge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9zdGVwX3JlZ2lz dHJ5LnB5ICg5NSUpCisKK2RpZmYgLS1naXQgYS9NQU5JRkVTVC5pbiBiL01BTklGRVNULmluCitp bmRleCA0OWNiN2M2Li42MGMyNjAxIDEwMDY0NAorLS0tIGEvTUFOSUZFU1QuaW4KKysrKyBiL01B TklGRVNULmluCitAQCAtMzMsNSArMzMsMyBAQCByZWN1cnNpdmUtaW5jbHVkZSBweS5yZXF1aXJl bWVudHMgICoudHh0CisgCisgcHJ1bmUgLnRveAorIHBydW5lIC52ZW52KgorLXBydW5lIHBhdmVy X2V4dAorLWV4Y2x1ZGUgcGF2ZW1lbnQucHkKK2RpZmYgLS1naXQgYS9jb25mdGVzdC5weSBiL2Nv bmZ0ZXN0LnB5CitpbmRleCA3YjNhODgzLi43MWEzYmQwIDEwMDY0NAorLS0tIGEvY29uZnRlc3Qu cHkKKysrKyBiL2NvbmZ0ZXN0LnB5CitAQCAtMTAsNiArMTAsMTAgQEAgQWRkIHByb2plY3Qtc3Bl Y2lmaWMgaW5mb3JtYXRpb24uCisgaW1wb3J0IGJlaGF2ZQorIGltcG9ydCBweXRlc3QKKyAKKysK KysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgUFlURVNUIEZJWFRVUkVTOgorKyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgQHB5dGVzdC5maXh0dXJlKGF1dG91c2U9VHJ1ZSkKKyBkZWYgX2Fubm90YXRl X2Vudmlyb25tZW50KHJlcXVlc3QpOgorICAgICAiIiJBZGQgcHJvamVjdC1zcGVjaWZpYyBpbmZv cm1hdGlvbiB0byB0ZXN0LXJ1biBlbnZpcm9ubWVudDoKK0BAIC0yNSwzICsyOSwxMiBAQCBkZWYg X2Fubm90YXRlX2Vudmlyb25tZW50KHJlcXVlc3QpOgorICAgICAgICAgYmVoYXZlX3ZlcnNpb24g PSBiZWhhdmUuX192ZXJzaW9uX18KKyAgICAgICAgIGVudmlyb25tZW50LmFwcGVuZCgoImJlaGF2 ZSIsIGJlaGF2ZV92ZXJzaW9uKSkKKyAKKytfcHl0ZXN0X3ZlcnNpb24gPSBweXRlc3QuX192ZXJz aW9uX18KKytpZiBfcHl0ZXN0X3ZlcnNpb24gPj0gIjUuMCI6CisrICAgICMgLS0gU1VQUE9SVEVE IFNJTkNFOiBweXRlc3QgNS4wCisrICAgIEBweXRlc3QuZml4dHVyZShzY29wZT0ic2Vzc2lvbiIs IGF1dG91c2U9VHJ1ZSkKKysgICAgZGVmIGxvZ19nbG9iYWxfZW52X2ZhY3RzKHJlY29yZF90ZXN0 c3VpdGVfcHJvcGVydHkpOgorKyAgICAgICAgIyBTRUU6IGh0dHBzOi8vZG9jcy5weXRlc3Qub3Jn L2VuL2xhdGVzdC91c2FnZS5odG1sCisrICAgICAgICBiZWhhdmVfdmVyc2lvbiA9IGJlaGF2ZS5f X3ZlcnNpb25fXworKyAgICAgICAgcmVjb3JkX3Rlc3RzdWl0ZV9wcm9wZXJ0eSgiQkVIQVZFX1ZF UlNJT04iLCBiZWhhdmVfdmVyc2lvbikKKysKK2RpZmYgLS1naXQgYS9pbnZva2UueWFtbCBiL2lu dm9rZS55YW1sCitpbmRleCA0ZjIxMzI4Li4zZTkzY2ZjIDEwMDY0NAorLS0tIGEvaW52b2tlLnlh bWwKKysrKyBiL2ludm9rZS55YW1sCitAQCAtMjMsNiArMjMsNyBAQCBzcGhpbng6CisgICAgIGxh bmd1YWdlczoKKyAgICAgICAtIGRlCisgICAgICAgIyBQUkVQQVJFRDogLSB6aC1DTgorKworIGNs ZWFudXA6CisgICAgIGV4dHJhX2RpcmVjdG9yaWVzOgorICAgICAgIC0gImJ1aWxkIgorZGlmZiAt LWdpdCBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRv eC50eHQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi42YjNiM2FlCistLS0g L2Rldi9udWxsCisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorQEAgLTAsMCArMSw5 IEBACisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIyBCRUhBVkU6IFBZVEhPTiBQQUNLQUdFIFJF UVVJUkVNRU5UUzogY2kudG94LnR4dAorKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKworK3B5dGVz dCA+PSA0LjIKKytweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyttb2NrID49IDIuMAorK1B5SGFtY3Jl c3QgPj0gMS45CisrcGF0aC5weSA+PSAxMC4xCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRz L2NpLnRyYXZpcy50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAoraW5kZXggMWNj MDIzOS4uNzNkNjVmNiAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0 CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorQEAgLTEsNSArMSw0IEBACisg bW9jaworLW5vc2UKKyBQeUhhbWNyZXN0ID49IDEuOQorIHB5dGVzdCA+PSAzLjAKKyBweXRlc3Qt aHRtbCA+PSAxLjE5LjAKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQg Yi9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKK2luZGV4IDNkZWVkYzcuLmQ4MjMzODkgMTAw NjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKKysrKyBiL3B5LnJlcXVpcmVt ZW50cy9kZXZlbG9wLnR4dAorQEAgLTE0LDcgKzE0LDYgQEAgcHljbWQKKyBidW1wdmVyc2lvbiA+ PSAwLjQuMAorIAorICMgLS0gREVWRUxPUE1FTlQgU1VQUE9SVDoKKy0jIFBSRVBBUkVEOiBub3Nl LWNvdiA+PSAxLjQKKyB0b3ggICA+PSAxLjguMQorIGNvdmVyYWdlID49IDQuMgorIHB5dGVzdC1j b3YKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgYi9weS5yZXF1aXJl bWVudHMvdGVzdGluZy50eHQKK2luZGV4IDM4MDZkMzkuLmE0MTg3MzkgMTAwNjQ0CistLS0gYS9w eS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5n LnR4dAorQEAgLTQsOSArNCw4IEBACisgCisgIyAtLSBURVNUSU5HOiBVbml0IHRlc3RzIGFuZCBi ZWhhdmUgc2VsZi10ZXN0cy4KKyAjIFBSRVBBUkVELUZVVFVSRTogYmVoYXZlNGNtZDAsIGJlaGF2 ZTRjbWQKKy1weXRlc3QgPj0gMy4wCisrcHl0ZXN0ID49IDQuMgorIHB5dGVzdC1odG1sID49IDEu MTkuMAorLW5vc2UgID49IDEuMworIG1vY2sgID49IDIuMAorIFB5SGFtY3Jlc3QgPj0gMS45Cisg CitkaWZmIC0tZ2l0IGEvcHl0ZXN0LmluaSBiL3B5dGVzdC5pbmkKK2luZGV4IDE3YWQzODguLmE2 ODY1OTYgMTAwNjQ0CistLS0gYS9weXRlc3QuaW5pCisrKysgYi9weXRlc3QuaW5pCitAQCAtMTYs OCArMTYsOCBAQAorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorIFtweXRlc3RdCistbWludmVy c2lvbiAgICA9IDIuOAorLXRlc3RwYXRocyAgICAgPSB0ZXN0IHRlc3RzCisrbWludmVyc2lvbiAg ICA9IDQuMgorK3Rlc3RwYXRocyAgICAgPSB0ZXN0cworIHB5dGhvbl9maWxlcyAgPSB0ZXN0Xyou cHkKKyBhZGRvcHRzID0gLS1tZXRhZGF0YSBQQUNLQUdFX1VOREVSX1RFU1QgYmVoYXZlCisgICAg IC0tbWV0YWRhdGEgUEFDS0FHRV9WRVJTSU9OIDEuMi43LmRldjEKK0BAIC0yNiw2ICsyNiw3IEBA IGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBBQ0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUKKyBtYXJrZXJz ID0KKyAgICAgc21va2UKKyAgICAgc2xvdworKworICMgLS0gQkFDS1dBUkQgQ09NUEFUSUJJTElU WTogcHl0ZXN0IDwgMi44Cistbm9yZWN1cnNlZGlycyA9IC5naXQgLnRveCBidWlsZCBkaXN0IHB5 LnJlcXVpcmVtZW50cyB0bXAqIF9XT1JLU1BBQ0UKKysjIG5vcmVjdXJzZWRpcnMgPSAuZ2l0IC50 b3ggYnVpbGQgZGlzdCBweS5yZXF1aXJlbWVudHMgdG1wKiBfV09SS1NQQUNFCisgCitkaWZmIC0t Z2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggYWM3YmRkZi4uOWM3NTYwZCAxMDA2NDQK Ky0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTg2LDEzICs4NiwxMSBAQCBzZXR1 cCgKKyAgICAgICAgICJ3aW5fdW5pY29kZV9jb25zb2xlOyBweXRob25fdmVyc2lvbiA8ICczLjYn IiwKKyAgICAgICAgICJjb2xvcmFtYSIsCisgICAgIF0sCistICAgIHRlc3Rfc3VpdGU9Im5vc2Uu Y29sbGVjdG9yIiwKKyAgICAgdGVzdHNfcmVxdWlyZT1bCistICAgICAgICAicHl0ZXN0ID49IDMu MCIsCisrICAgICAgICAicHl0ZXN0ID49IDQuMiIsCisgICAgICAgICAicHl0ZXN0LWh0bWwgPj0g MS4xOS4wIiwKKy0gICAgICAgICJub3NlID49IDEuMyIsCisgICAgICAgICAibW9jayA+PSAxLjEi LAorLSAgICAgICAgIlB5SGFtY3Jlc3QgPj0gMS44IiwKKysgICAgICAgICJQeUhhbWNyZXN0ID49 IDEuOSIsCisgICAgICAgICAicGF0aC5weSA+PSAxMS41LjAiCisgICAgIF0sCisgICAgIGNtZGNs YXNzID0geworQEAgLTEwNSw3ICsxMDMsNyBAQCBzZXR1cCgKKyAgICAgICAgIF0sCisgICAgICAg ICAiZGV2ZWxvcCI6IFsKKyAgICAgICAgICAgICAiY292ZXJhZ2UiLAorLSAgICAgICAgICAgICJw eXRlc3QgPj0gMy4wIiwKKysgICAgICAgICAgICAicHl0ZXN0ID49IDQuMiIsCisgICAgICAgICAg ICAgInB5dGVzdC1odG1sID49IDEuMTkuMCIsCisgICAgICAgICAgICAgInB5dGVzdC1jb3YiLAor ICAgICAgICAgICAgICJ0b3giLAorZGlmZiAtLWdpdCBhL3Rhc2tzL3Rlc3QucHkgYi90YXNrcy90 ZXN0LnB5CitpbmRleCAwNmViMTc1Li5iZmEyZDgwIDEwMDY0NAorLS0tIGEvdGFza3MvdGVzdC5w eQorKysrIGIvdGFza3MvdGVzdC5weQorQEAgLTE3Miw3ICsxNzIsNyBAQCBuYW1lc3BhY2UuY29u ZmlndXJlKHsKKyAgICAgICAgIH0sCisgICAgIH0sCisgICAgICJweXRlc3QiOiB7CistICAgICAg ICAic2NvcGVzIjogICBbInRlc3QiLCAidGVzdHMiXSwKKysgICAgICAgICJzY29wZXMiOiAgIFsi dGVzdHMiXSwKKyAgICAgICAgICJhcmdzIjogICAiIiwKKyAgICAgICAgICJvcHRpb25zIjogIiIs ICAjIC0tIE5PVEU6ICBPdmVyaWRlIGluIGNvbmZpZ2ZpbGUgImludm9rZS55YW1sIgorICAgICB9 LAorZGlmZiAtLWdpdCBhL3Rlc3QvX19pbml0X18ucHkgYi90ZXN0L19faW5pdF9fLnB5CitkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGU2OWRlMjkuLjAwMDAwMDAKK2RpZmYgLS1naXQg YS90ZXN0L3Rlc3RfaW1wb3J0ZXIucHkgYi90ZXN0L3Rlc3RfaW1wb3J0ZXIucHkKK2RlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYmFjYTIxYS4uMDAwMDAwMAorLS0tIGEvdGVzdC90ZXN0 X2ltcG9ydGVyLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSwxNTEgKzAsMCBAQAorLSMgLSotIGNv ZGluZzogdXRmLTggLSotCistIiIiCistVGVzdHMgZm9yIGJlaGF2ZS5pbXBvcnRpbmcuCistVGhl IG1vZHVsZSBwcm92aWRlcyBhIGxhenktbG9hZGluZy9pbXBvcnRpbmcgbWVjaGFuaXNtLgorLSIi IgorLQorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CistZnJvbSBiZWhh dmUuaW1wb3J0ZXIgaW1wb3J0IExhenlPYmplY3QsIExhenlEaWN0LCBsb2FkX21vZHVsZSwgcGFy c2Vfc2NvcGVkX25hbWUKKy1mcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYmFzZSBpbXBvcnQgRm9ybWF0 dGVyCistZnJvbSBub3NlLnRvb2xzIGltcG9ydCBlcV8sIGFzc2VydF9yYWlzZXMKKy1pbXBvcnQg c3lzCistaW1wb3J0IHR5cGVzCistIyBpbXBvcnQgdW5pdHRlc3QKKy0KKy0KKy1jbGFzcyBUZXN0 VGhlb3J5KG9iamVjdCk6IHBhc3MKKy1jbGFzcyBJbXBvcnRNb2R1bGVUaGVvcnkoVGVzdFRoZW9y eSk6CistICAgICIiIgorLSAgICBQcm92aWRlcyBhIHRlc3QgdGhlb3J5IGZvciBpbXBvcnRpbmcg bW9kdWxlcy4KKy0gICAgIiIiCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgZW5zdXJl X21vZHVsZV9pc19ub3RfaW1wb3J0ZWQoY2xzLCBtb2R1bGVfbmFtZSk6CistICAgICAgICBpZiBt b2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlczoKKy0gICAgICAgICAgICBkZWwgc3lzLm1vZHVsZXNb bW9kdWxlX25hbWVdCistICAgICAgICBjbHMuYXNzZXJ0X21vZHVsZV9pc19ub3RfaW1wb3J0ZWQo bW9kdWxlX25hbWUpCistCistICAgIEBzdGF0aWNtZXRob2QKKy0gICAgZGVmIGFzc2VydF9tb2R1 bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpOgorLSAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVs ZXMuZ2V0KG1vZHVsZV9uYW1lLCBOb25lKQorLSAgICAgICAgYXNzZXJ0IG1vZHVsZV9uYW1lIGlu IHN5cy5tb2R1bGVzCistICAgICAgICBhc3NlcnQgbW9kdWxlIGlzIG5vdCBOb25lCistCistICAg IEBzdGF0aWNtZXRob2QKKy0gICAgZGVmIGFzc2VydF9tb2R1bGVfaXNfbm90X2ltcG9ydGVkKG1v ZHVsZV9uYW1lKToKKy0gICAgICAgIGFzc2VydCBtb2R1bGVfbmFtZSBub3QgaW4gc3lzLm1vZHVs ZXMKKy0KKy0gICAgQHN0YXRpY21ldGhvZAorLSAgICBkZWYgYXNzZXJ0X21vZHVsZV93aXRoX25h bWUobW9kdWxlLCBuYW1lKToKKy0gICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG1vZHVsZSwgdHlw ZXMuTW9kdWxlVHlwZSkKKy0gICAgICAgIGVxXyhtb2R1bGUuX19uYW1lX18sIG5hbWUpCistCist CistY2xhc3MgVGVzdExvYWRNb2R1bGUob2JqZWN0KToKKy0gICAgdGhlb3J5ID0gSW1wb3J0TW9k dWxlVGhlb3J5CistCistICAgIGRlZiB0ZXN0X2xvYWRfbW9kdWxlX19zaG91bGRfZmFpbF9mb3Jf dW5rbm93bl9tb2R1bGUoc2VsZik6CistICAgICAgICBhc3NlcnRfcmFpc2VzKEltcG9ydEVycm9y LCBsb2FkX21vZHVsZSwgIl9fdW5rbm93bl9tb2R1bGVfXyIpCistCistICAgIGRlZiB0ZXN0X2xv YWRfbW9kdWxlX19zaG91bGRfc3VjY2VlZF9mb3JfYWxyZWFkeV9pbXBvcnRlZF9tb2R1bGUoc2Vs Zik6CistICAgICAgICBtb2R1bGVfbmFtZSA9ICJiZWhhdmUuaW1wb3J0ZXIiCistICAgICAgICBz ZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX2lzX2ltcG9ydGVkKG1vZHVsZV9uYW1lKQorLQorLSAg ICAgICAgbW9kdWxlID0gbG9hZF9tb2R1bGUobW9kdWxlX25hbWUpCistICAgICAgICBzZWxmLnRo ZW9yeS5hc3NlcnRfbW9kdWxlX3dpdGhfbmFtZShtb2R1bGUsIG1vZHVsZV9uYW1lKQorLSAgICAg ICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV9pc19pbXBvcnRlZChtb2R1bGVfbmFtZSkKKy0K Ky0gICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3Nob3VsZF9zdWNjZWVkX2Zvcl9leGlzdGluZ19t b2R1bGUoc2VsZik6CistICAgICAgICBtb2R1bGVfbmFtZSA9ICJ0ZXN0Ll9pbXBvcnRlcl9jYW5k aWRhdGUiCistICAgICAgICBzZWxmLnRoZW9yeS5lbnN1cmVfbW9kdWxlX2lzX25vdF9pbXBvcnRl ZChtb2R1bGVfbmFtZSkKKy0KKy0gICAgICAgIG1vZHVsZSA9IGxvYWRfbW9kdWxlKG1vZHVsZV9u YW1lKQorLSAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV93aXRoX25hbWUobW9kdWxl LCBtb2R1bGVfbmFtZSkKKy0gICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVfaXNfaW1w b3J0ZWQobW9kdWxlX25hbWUpCistCistY2xhc3MgVGVzdExhenlPYmplY3Qob2JqZWN0KToKKy0K Ky0gICAgZGVmIHRlc3RfZ2V0X19zaG91bGRfc3VjY2VlZF9mb3Jfa25vd25fb2JqZWN0KHNlbGYp OgorLSAgICAgICAgbGF6eSA9IExhenlPYmplY3QoImJlaGF2ZS5pbXBvcnRlciIsICJMYXp5T2Jq ZWN0IikKKy0gICAgICAgIHZhbHVlID0gbGF6eS5nZXQoKQorLSAgICAgICAgYXNzZXJ0IHZhbHVl IGlzIExhenlPYmplY3QKKy0KKy0gICAgICAgIGxhenkyID0gTGF6eU9iamVjdCgiYmVoYXZlLmlt cG9ydGVyOkxhenlPYmplY3QiKQorLSAgICAgICAgdmFsdWUyID0gbGF6eTIuZ2V0KCkKKy0gICAg ICAgIGFzc2VydCB2YWx1ZTIgaXMgTGF6eU9iamVjdAorLQorLSAgICAgICAgbGF6eTMgPSBMYXp5 T2JqZWN0KCJiZWhhdmUuZm9ybWF0dGVyLnN0ZXBzIiwgIlN0ZXBzRm9ybWF0dGVyIikKKy0gICAg ICAgIHZhbHVlMyA9IGxhenkzLmdldCgpCistICAgICAgICBhc3NlcnQgaXNzdWJjbGFzcyh2YWx1 ZTMsIEZvcm1hdHRlcikKKy0KKy0gICAgZGVmIHRlc3RfZ2V0X19zaG91bGRfZmFpbF9mb3JfdW5r bm93bl9tb2R1bGUoc2VsZik6CistICAgICAgICBsYXp5ID0gTGF6eU9iamVjdCgiX191bmtub3du X21vZHVsZV9fIiwgInh4eCIpCistICAgICAgICBhc3NlcnRfcmFpc2VzKEltcG9ydEVycm9yLCBs YXp5LmdldCkKKy0KKy0gICAgZGVmIHRlc3RfZ2V0X19zaG91bGRfZmFpbF9mb3JfdW5rbm93bl9v YmplY3RfaW5fbW9kdWxlKHNlbGYpOgorLSAgICAgICAgbGF6eSA9IExhenlPYmplY3QoInRlc3Qu X2ltcG9ydGVyX2NhbmRpZGF0ZSIsICJ4eHgiKQorLSAgICAgICAgYXNzZXJ0X3JhaXNlcyhJbXBv cnRFcnJvciwgbGF6eS5nZXQpCistCistCistY2xhc3MgTGF6eURpY3RUaGVvcnkoVGVzdFRoZW9y eSk6CistCistICAgIEBzdGF0aWNtZXRob2QKKy0gICAgZGVmIHNhZmVfZ2V0aXRlbShkYXRhLCBr ZXkpOgorLSAgICAgICAgcmV0dXJuIGRpY3QuX19nZXRpdGVtX18oZGF0YSwga2V5KQorLQorLSAg ICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIGFzc2VydF9pdGVtX2lzX2xhenkoY2xzLCBkYXRhLCBr ZXkpOgorLSAgICAgICAgdmFsdWUgPSBjbHMuc2FmZV9nZXRpdGVtKGRhdGEsIGtleSkKKy0gICAg ICAgIGNscy5hc3NlcnRfaXNfbGF6eV9vYmplY3QodmFsdWUpCistCistICAgIEBjbGFzc21ldGhv ZAorLSAgICBkZWYgYXNzZXJ0X2l0ZW1faXNfbm90X2xhenkoY2xzLCBkYXRhLCBrZXkpOgorLSAg ICAgICAgdmFsdWUgPSBjbHMuc2FmZV9nZXRpdGVtKGRhdGEsIGtleSkKKy0gICAgICAgIGNscy5h c3NlcnRfaXNfbm90X2xhenlfb2JqZWN0KHZhbHVlKQorLQorLSAgICBAc3RhdGljbWV0aG9kCist ICAgIGRlZiBhc3NlcnRfaXNfbGF6eV9vYmplY3Qob2JqKToKKy0gICAgICAgIGFzc2VydCBpc2lu c3RhbmNlKG9iaiwgTGF6eU9iamVjdCkKKy0KKy0gICAgQHN0YXRpY21ldGhvZAorLSAgICBkZWYg YXNzZXJ0X2lzX25vdF9sYXp5X29iamVjdChvYmopOgorLSAgICAgICAgYXNzZXJ0IG5vdCBpc2lu c3RhbmNlKG9iaiwgTGF6eU9iamVjdCkKKy0KKy0KKy1jbGFzcyBUZXN0TGF6eURpY3Qob2JqZWN0 KToKKy0gICAgdGhlb3J5ID0gTGF6eURpY3RUaGVvcnkKKy0KKy0gICAgZGVmIHRlc3RfdW5rbm93 bl9pdGVtX2FjY2Vzc19fc2hvdWxkX3JhaXNlX2tleWVycm9yKHNlbGYpOgorLSAgICAgICAgbGF6 eV9kaWN0ID0gTGF6eURpY3QoeyJhbGljZSI6IDQyfSkKKy0gICAgICAgIGl0ZW1fYWNjZXNzID0g bGFtYmRhIGtleTogbGF6eV9kaWN0W2tleV0KKy0gICAgICAgIGFzc2VydF9yYWlzZXMoS2V5RXJy b3IsIGl0ZW1fYWNjZXNzLCAidW5rbm93biIpCistCistICAgIGRlZiB0ZXN0X3BsYWluX2l0ZW1f YWNjZXNzX19zaG91bGRfc3VjY2VlZChzZWxmKToKKy0gICAgICAgIHRoZW9yeSA9IExhenlEaWN0 VGhlb3J5CistICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNlIjogNDJ9KQorLSAg ICAgICAgdGhlb3J5LmFzc2VydF9pdGVtX2lzX25vdF9sYXp5KGxhenlfZGljdCwgImFsaWNlIikK Ky0KKy0gICAgICAgIHZhbHVlID0gbGF6eV9kaWN0WyJhbGljZSJdCistICAgICAgICBlcV8odmFs dWUsIDQyKQorLQorLSAgICBkZWYgdGVzdF9sYXp5X2l0ZW1fYWNjZXNzX19zaG91bGRfbG9hZF9v YmplY3Qoc2VsZik6CistICAgICAgICBJbXBvcnRNb2R1bGVUaGVvcnkuZW5zdXJlX21vZHVsZV9p c19ub3RfaW1wb3J0ZWQoImluc3BlY3QiKQorLSAgICAgICAgbGF6eV9kaWN0ID0gTGF6eURpY3Qo eyJhbGljZSI6IExhenlPYmplY3QoImluc3BlY3Q6aXNtb2R1bGUiKX0pCistICAgICAgICBzZWxm LnRoZW9yeS5hc3NlcnRfaXRlbV9pc19sYXp5KGxhenlfZGljdCwgImFsaWNlIikKKy0gICAgICAg IHNlbGYudGhlb3J5LmFzc2VydF9pdGVtX2lzX2xhenkobGF6eV9kaWN0LCAiYWxpY2UiKQorLQor LSAgICAgICAgdmFsdWUgPSBsYXp5X2RpY3RbImFsaWNlIl0KKy0gICAgICAgIHNlbGYudGhlb3J5 LmFzc2VydF9pc19ub3RfbGF6eV9vYmplY3QodmFsdWUpCistICAgICAgICBzZWxmLnRoZW9yeS5h c3NlcnRfaXRlbV9pc19ub3RfbGF6eShsYXp5X2RpY3QsICJhbGljZSIpCistCistICAgIGRlZiB0 ZXN0X2xhenlfaXRlbV9hY2Nlc3NfX3Nob3VsZF9mYWlsX3dpdGhfdW5rbm93bl9tb2R1bGUoc2Vs Zik6CistICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7ImJvYiI6IExhenlPYmplY3QoIl9f dW5rbm93bl9tb2R1bGVfXyIsICJ4eHgiKX0pCistICAgICAgICBpdGVtX2FjY2VzcyA9IGxhbWJk YSBrZXk6IGxhenlfZGljdFtrZXldCistICAgICAgICBhc3NlcnRfcmFpc2VzKEltcG9ydEVycm9y LCBpdGVtX2FjY2VzcywgImJvYiIpCistCistICAgIGRlZiB0ZXN0X2xhenlfaXRlbV9hY2Nlc3Nf X3Nob3VsZF9mYWlsX3dpdGhfdW5rbm93bl9vYmplY3Qoc2VsZik6CistICAgICAgICBsYXp5X2Rp Y3QgPSBMYXp5RGljdCh7CistICAgICAgICAgICAgImJvYiI6IExhenlPYmplY3QoImJlaGF2ZS5p bXBvcnRlciIsICJYVW5rbm93biIpCistICAgICAgICB9KQorLSAgICAgICAgaXRlbV9hY2Nlc3Mg PSBsYW1iZGEga2V5OiBsYXp5X2RpY3Rba2V5XQorLSAgICAgICAgYXNzZXJ0X3JhaXNlcyhJbXBv cnRFcnJvciwgaXRlbV9hY2Nlc3MsICJib2IiKQorZGlmZiAtLWdpdCBhL3Rlc3QvX2ltcG9ydGVy X2NhbmRpZGF0ZS5weSBiL3Rlc3RzL3VuaXQvX2ltcG9ydGVyX2NhbmRpZGF0ZS5weQorc2ltaWxh cml0eSBpbmRleCAxMDAlCityZW5hbWUgZnJvbSB0ZXN0L19pbXBvcnRlcl9jYW5kaWRhdGUucHkK K3JlbmFtZSB0byB0ZXN0cy91bml0L19pbXBvcnRlcl9jYW5kaWRhdGUucHkKK2RpZmYgLS1naXQg YS90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5weSBiL3Rlc3RzL3VuaXQvcmVwb3J0 ZXIvdGVzdF9zdW1tYXJ5LnB5CitpbmRleCBkNGU4NWI1Li42Yjk0N2JkIDEwMDY0NAorLS0tIGEv dGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1hcnkucHkKKysrKyBiL3Rlc3RzL3VuaXQvcmVw b3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CitAQCAtNCw4ICs0LDYgQEAgZnJvbSBfX2Z1dHVyZV9fIGlt cG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uCisgaW1wb3J0IHN5cworIGltcG9ydCBweXRl c3QKKyBmcm9tIG1vY2sgaW1wb3J0IE1vY2ssIHBhdGNoCistIyBOT1QtTkVFREVEOiBmcm9tIG5v c2UudG9vbHMgaW1wb3J0ICoKKy0KKyBmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgU2NlbmFyaW9P dXRsaW5lLCBTY2VuYXJpbworIGZyb20gYmVoYXZlLm1vZGVsX2NvcmUgaW1wb3J0IFN0YXR1cwor IGZyb20gYmVoYXZlLnJlcG9ydGVyLnN1bW1hcnkgaW1wb3J0IFN1bW1hcnlSZXBvcnRlciwgZm9y bWF0X3N1bW1hcnkKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3RhZ19leHByZXNzaW9uL3Rlc3Rf dGFnX2V4cHJlc3Npb25fdjFfcGFydDEucHkgYi90ZXN0cy91bml0L3RhZ19leHByZXNzaW9uL3Rl c3RfdGFnX2V4cHJlc3Npb25fdjFfcGFydDEucHkKK2luZGV4IDYxOWM3MTAuLjU2ZmI4NWQgMTAw NjQ0CistLS0gYS90ZXN0cy91bml0L3RhZ19leHByZXNzaW9uL3Rlc3RfdGFnX2V4cHJlc3Npb25f djFfcGFydDEucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhw cmVzc2lvbl92MV9wYXJ0MS5weQorQEAgLTIsNyArMiw3IEBACisgCisgZnJvbSBfX2Z1dHVyZV9f IGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBmcm9tIGJlaGF2ZS50YWdfZXhwcmVzc2lvbiBpbXBv cnQgVGFnRXhwcmVzc2lvbgorLWZyb20gbm9zZSBpbXBvcnQgdG9vbHMKKytpbXBvcnQgcHl0ZXN0 CisgaW1wb3J0IHVuaXR0ZXN0CisgCisgCitAQCAtNDc2LDMxICs0NzYsMzQgQEAgY2xhc3MgVGVz dFRhZ0V4cHJlc3Npb25Gb28zT3JOb3RCYXI0QW5kWmFwNSh1bml0dGVzdC5UZXN0Q2FzZSk6Cisg ICAgICAgICBzZWxmLmUgPSBUYWdFeHByZXNzaW9uKFsnZm9vOjMsLWJhcicsICd6YXA6NSddKQor IAorICAgICBkZWYgdGVzdF9zaG91bGRfY291bnRfdGFnc19mb3JfcG9zaXRpdmVfdGFncyhzZWxm KToKKy0gICAgICAgIHRvb2xzLmVxXyhzZWxmLmUubGltaXRzLCB7J2Zvbyc6IDMsICd6YXAnOiA1 fSkKKysgICAgICAgIGFzc2VydCBzZWxmLmUubGltaXRzID09IHsnZm9vJzogMywgJ3phcCc6IDV9 CisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9tYXRjaF9mb29femFwKHNlbGYpOgorICAgICAgICAg YXNzZXJ0IHNlbGYuZS5jaGVjayhbJ2ZvbycsICd6YXAnXSkKKyAKKysKKyBjbGFzcyBUZXN0VGFn RXhwcmVzc2lvblBhcnNpbmcodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICBkZWYgc2V0VXAoc2Vs Zik6CisgICAgICAgICBzZWxmLmUgPSBUYWdFeHByZXNzaW9uKFsnIGZvbzozICwgLWJhciAnLCAn IHphcDo1ICddKQorIAorICAgICBkZWYgdGVzdF9zaG91bGRfaGF2ZV9saW1pdHMoc2VsZik6Cist ICAgICAgICB0b29scy5lcV8oc2VsZi5lLmxpbWl0cywgeyd6YXAnOiA1LCAnZm9vJzogM30pCisr ICAgICAgICBhc3NlcnQgc2VsZi5lLmxpbWl0cyA9PSB7J3phcCc6IDUsICdmb28nOiAzfQorKwor IAorIGNsYXNzIFRlc3RUYWdFeHByZXNzaW9uVGFnTGltaXRzKHVuaXR0ZXN0LlRlc3RDYXNlKToK KyAgICAgZGVmIHRlc3Rfc2hvdWxkX2JlX2NvdW50ZWRfZm9yX25lZ2F0aXZlX3RhZ3Moc2VsZik6 CisgICAgICAgICBlID0gVGFnRXhwcmVzc2lvbihbJy10b2RvOjMnXSkKKy0gICAgICAgIHRvb2xz LmVxXyhlLmxpbWl0cywgeyd0b2RvJzogM30pCisrICAgICAgICBhc3NlcnQgZS5saW1pdHMgPT0g eyd0b2RvJzogM30KKyAKKyAgICAgZGVmIHRlc3Rfc2hvdWxkX2JlX2NvdW50ZWRfZm9yX3Bvc2l0 aXZlX3RhZ3Moc2VsZik6CisgICAgICAgICBlID0gVGFnRXhwcmVzc2lvbihbJ3RvZG86MyddKQor LSAgICAgICAgdG9vbHMuZXFfKGUubGltaXRzLCB7J3RvZG8nOiAzfSkKKysgICAgICAgIGFzc2Vy dCBlLmxpbWl0cyA9PSB7J3RvZG8nOiAzfQorIAorICAgICBkZWYgdGVzdF9zaG91bGRfcmFpc2Vf YW5fZXJyb3JfZm9yX2luY29uc2lzdGVudF9saW1pdHMoc2VsZik6CistICAgICAgICB0b29scy5h c3NlcnRfcmFpc2VzKEV4Y2VwdGlvbiwgVGFnRXhwcmVzc2lvbiwgWyd0b2RvOjMnLCAnLXRvZG86 NCddKQorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEV4Y2VwdGlvbik6CisrICAgICAgICAg ICAgXyA9IFRhZ0V4cHJlc3Npb24oWyd0b2RvOjMnLCAnLXRvZG86NCddKQorIAorICAgICBkZWYg dGVzdF9zaG91bGRfYWxsb3dfZHVwbGljYXRlX2NvbnNpc3RlbnRfbGltaXRzKHNlbGYpOgorICAg ICAgICAgZSA9IFRhZ0V4cHJlc3Npb24oWyd0b2RvOjMnLCAnLXRvZG86MyddKQorLSAgICAgICAg dG9vbHMuZXFfKGUubGltaXRzLCB7J3RvZG8nOiAzfSkKKysgICAgICAgIGFzc2VydCBlLmxpbWl0 cyA9PSB7J3RvZG8nOiAzfQorIAorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGFnX2V4cHJlc3Np b24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0Mi5weSBiL3Rlc3RzL3VuaXQvdGFnX2V4cHJl c3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0Mi5weQoraW5kZXggNjkwMjM1Yi4uY2Y2 MTlkYSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhw cmVzc2lvbl92MV9wYXJ0Mi5weQorKysrIGIvdGVzdHMvdW5pdC90YWdfZXhwcmVzc2lvbi90ZXN0 X3RhZ19leHByZXNzaW9uX3YxX3BhcnQyLnB5CitAQCAtNiwxMCArNiwxMSBAQCBSRVFVSVJFUzog UHl0aG9uID49IDIuNiwgYmVjYXVzZSBpdGVydG9vbHMuY29tYmluYXRpb25zKCkgaXMgdXNlZC4K KyAiIiIKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorLWZyb20g YmVoYXZlLnRhZ19leHByZXNzaW9uIGltcG9ydCBUYWdFeHByZXNzaW9uCistZnJvbSBub3NlIGlt cG9ydCB0b29scworIGltcG9ydCBpdGVydG9vbHMKKyBmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFu Z2UKKytpbXBvcnQgcHl0ZXN0CisrZnJvbSBiZWhhdmUudGFnX2V4cHJlc3Npb24gaW1wb3J0IFRh Z0V4cHJlc3Npb24KKysKKyAKKyBoYXNfY29tYmluYXRpb25zID0gaGFzYXR0cihpdGVydG9vbHMs ICJjb21iaW5hdGlvbnMiKQorIGlmIGhhc19jb21iaW5hdGlvbnM6CitAQCAtMzEsNiArMzIsNyBA QCBpZiBoYXNfY29tYmluYXRpb25zOgorICAgICAgICAgICAgIHJldHVybiAiQCIgKyAiIEAiLmpv aW4odGFncykKKyAgICAgICAgIHJldHVybiBOT19UQUdTCisgCisrCisgICAgIFRlc3RDYXNlID0g b2JqZWN0CisgICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAjIFRFU1Q6IGFsbF9jb21i aW5hdGlvbnMoKSB0ZXN0IGhlbHBlcgorQEAgLTQ1LDggKzQ3LDggQEAgaWYgaGFzX2NvbWJpbmF0 aW9uczoKKyAgICAgICAgICAgICAgICAgKCdAb25lJywgJ0B0d28nKSwKKyAgICAgICAgICAgICBd CisgICAgICAgICAgICAgYWN0dWFsID0gYWxsX2NvbWJpbmF0aW9ucyhpdGVtcykKKy0gICAgICAg ICAgICB0b29scy5lcV8oYWN0dWFsLCBleHBlY3RlZCkKKy0gICAgICAgICAgICB0b29scy5lcV8o bGVuKGFjdHVhbCksIDQpCisrICAgICAgICAgICAgYXNzZXJ0IGFjdHVhbCA9PSBleHBlY3RlZAor KyAgICAgICAgICAgIGFzc2VydCBsZW4oYWN0dWFsKSA9PSA0CisgCisgICAgICAgICBkZWYgdGVz dF9hbGxfY29tYmluYXRpb25zX3dpdGhfM3ZhbHVlcyhzZWxmKToKKyAgICAgICAgICAgICBpdGVt cyA9ICJAb25lIEB0d28gQHRocmVlIi5zcGxpdCgpCitAQCAtNjEsOCArNjMsOCBAQCBpZiBoYXNf Y29tYmluYXRpb25zOgorICAgICAgICAgICAgICAgICAoJ0BvbmUnLCAnQHR3bycsICdAdGhyZWUn KSwKKyAgICAgICAgICAgICBdCisgICAgICAgICAgICAgYWN0dWFsID0gYWxsX2NvbWJpbmF0aW9u cyhpdGVtcykKKy0gICAgICAgICAgICB0b29scy5lcV8oYWN0dWFsLCBleHBlY3RlZCkKKy0gICAg ICAgICAgICB0b29scy5lcV8obGVuKGFjdHVhbCksIDgpCisrICAgICAgICAgICAgYXNzZXJ0IGFj dHVhbCA9PSBleHBlY3RlZAorKyAgICAgICAgICAgIGFzc2VydCBsZW4oYWN0dWFsKSA9PSA4Cisg CisgCisgICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTc0LDEzICs3NiwxMyBAQCBpZiBo YXNfY29tYmluYXRpb25zOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRhZ19jb21iaW5hdGlvbnMsIGV4cGVjdGVkKToKKyAgICAgICAgICAgICBtYXRjaGVkID0g WyBtYWtlX3RhZ3NfbGluZShjKSBmb3IgYyBpbiB0YWdfY29tYmluYXRpb25zCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpZiB0YWdfZXhwcmVzc2lvbi5jaGVjayhjKSBdCistICAg ICAgICAgICAgdG9vbHMuZXFfKG1hdGNoZWQsIGV4cGVjdGVkKQorKyAgICAgICAgICAgIGFzc2Vy dCBtYXRjaGVkID09IGV4cGVjdGVkCisgCisgICAgICAgICBkZWYgYXNzZXJ0X3RhZ19leHByZXNz aW9uX21pc21hdGNoZXMoc2VsZiwgdGFnX2V4cHJlc3Npb24sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdfY29tYmluYXRpb25zLCBleHBlY3RlZCk6Cisg ICAgICAgICAgICAgbWlzbWF0Y2hlZCA9IFsgbWFrZV90YWdzX2xpbmUoYykgZm9yIGMgaW4gdGFn X2NvbWJpbmF0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHRh Z19leHByZXNzaW9uLmNoZWNrKGMpIF0KKy0gICAgICAgICAgICB0b29scy5lcV8obWlzbWF0Y2hl ZCwgZXhwZWN0ZWQpCisrICAgICAgICAgICAgYXNzZXJ0IG1pc21hdGNoZWQgPT0gZXhwZWN0ZWQK KyAKKyAKKyAgICAgY2xhc3MgVGVzdFRhZ0V4cHJlc3Npb25XaXRoMVRlcm0oVGFnRXhwcmVzc2lv blRlc3RDYXNlKToKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5IGIvdGVz dHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQorc2ltaWxhcml0eSBpbmRleCA4NCUKK3JlbmFt ZSBmcm9tIHRlc3QvdGVzdF9hbnNpX2VzY2FwZXMucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rl c3RfYW5zaV9lc2NhcGVzLnB5CitpbmRleCA3NzU2NGZkLi45NjlmM2E5IDEwMDY0NAorLS0tIGEv dGVzdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Fuc2lfZXNj YXBlcy5weQorQEAgLTcsNyArNyw3IEBACisgIyAgIFcwNjIxICAgUmVkZWZpbmluZyBuYW1lIC4u LiBmcm9tIG91dGVyIHNjb3BlCisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9p bXBvcnQKKy1mcm9tIG5vc2UgaW1wb3J0IHRvb2xzCisraW1wb3J0IHB5dGVzdAorIGZyb20gYmVo YXZlLmZvcm1hdHRlciBpbXBvcnQgYW5zaV9lc2NhcGVzCisgaW1wb3J0IHVuaXR0ZXN0CisgZnJv bSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlCitAQCAtNDQsMzAgKzQ0LDMwIEBAIGNsYXNzIFN0cmlw RXNjYXBlc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorIAorICAgICBkZWYgdGVzdF9zaG91bGRf cmV0dXJuX3NhbWVfdGV4dF93aXRob3V0X2VzY2FwZXMoc2VsZik6CisgICAgICAgICBmb3IgdGV4 dCBpbiBzZWxmLlRFWFRTOgorLSAgICAgICAgICAgIHRvb2xzLmVxXyh0ZXh0LCBhbnNpX2VzY2Fw ZXMuc3RyaXBfZXNjYXBlcyh0ZXh0KSkKKysgICAgICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNp X2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0ZXh0KQorIAorICAgICBkZWYgdGVzdF9zaG91bGRfcmV0 dXJuX2VtcHR5X3N0cmluZ19mb3JfYW55X2Fuc2lfZXNjYXBlKHNlbGYpOgorICAgICAgICAgIyBY WFgtSkUtQ0hFQ0stUFkyMzogSWYgbGlzdCgpIGlzIHJlYWxseSBuZWVkZWQuCisgICAgICAgICBm b3IgdGV4dCBpbiBsaXN0KGFuc2lfZXNjYXBlcy5jb2xvcnMudmFsdWVzKCkpOgorLSAgICAgICAg ICAgIHRvb2xzLmVxXygiIiwgYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkpCisrICAg ICAgICAgICAgYXNzZXJ0ICIiID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCisg ICAgICAgICBmb3IgdGV4dCBpbiBsaXN0KGFuc2lfZXNjYXBlcy5lc2NhcGVzLnZhbHVlcygpKToK Ky0gICAgICAgICAgICB0b29scy5lcV8oIiIsIGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRl eHQpKQorKyAgICAgICAgICAgIGFzc2VydCAiIiA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBl cyh0ZXh0KQorIAorIAorICAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfY29sb3JfZXNjYXBlc19m cm9tX3RleHQoc2VsZik6CisgICAgICAgICBmb3IgdGV4dCBpbiBzZWxmLlRFWFRTOgorICAgICAg ICAgICAgIGNvbG9yZWRfdGV4dCA9IHNlbGYuY29sb3JpemVfdGV4dCh0ZXh0LCBzZWxmLkFMTF9D T0xPUlMpCistICAgICAgICAgICAgdG9vbHMuZXFfKHRleHQsIGFuc2lfZXNjYXBlcy5zdHJpcF9l c2NhcGVzKGNvbG9yZWRfdGV4dCkpCisrICAgICAgICAgICAgYXNzZXJ0IHRleHQgPT0gYW5zaV9l c2NhcGVzLnN0cmlwX2VzY2FwZXMoY29sb3JlZF90ZXh0KQorICAgICAgICAgICAgIHNlbGYuYXNz ZXJ0Tm90RXF1YWwodGV4dCwgY29sb3JlZF90ZXh0KQorIAorICAgICAgICAgICAgIGZvciBjb2xv ciBpbiBzZWxmLkFMTF9DT0xPUlM6CisgICAgICAgICAgICAgICAgIGNvbG9yZWRfdGV4dCA9IHNl bGYuY29sb3JpemUodGV4dCwgY29sb3IpCistICAgICAgICAgICAgICAgIHRvb2xzLmVxXyh0ZXh0 LCBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpKQorKyAgICAgICAgICAg ICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3Rl eHQpCisgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodGV4dCwgY29sb3JlZF90 ZXh0KQorIAorICAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfY3Vyc29yX3VwX2VzY2FwZXNfZnJv bV90ZXh0KHNlbGYpOgorICAgICAgICAgZm9yIHRleHQgaW4gc2VsZi5URVhUUzoKKyAgICAgICAg ICAgICBmb3IgY3Vyc29yX3VwIGluIHNlbGYuQ1VSU09SX1VQUzoKKyAgICAgICAgICAgICAgICAg Y29sb3JlZF90ZXh0ID0gY3Vyc29yX3VwICsgdGV4dCArIGFuc2lfZXNjYXBlcy5lc2NhcGVzWyJy ZXNldCJdCistICAgICAgICAgICAgICAgIHRvb2xzLmVxXyh0ZXh0LCBhbnNpX2VzY2FwZXMuc3Ry aXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgdGV4dCA9 PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpCisgICAgICAgICAgICAg ICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodGV4dCwgY29sb3JlZF90ZXh0KQorZGlmZiAtLWdpdCBh L3Rlc3QvdGVzdF9jb25maWd1cmF0aW9uLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2NvbmZpZ3VyYXRp b24ucHkKK3NpbWlsYXJpdHkgaW5kZXggNzIlCityZW5hbWUgZnJvbSB0ZXN0L3Rlc3RfY29uZmln dXJhdGlvbi5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9jb25maWd1cmF0aW9uLnB5Citp bmRleCBlNjgyOGUzLi5jOTZjZjYzIDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X2NvbmZpZ3VyYXRp b24ucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9jb25maWd1cmF0aW9uLnB5CitAQCAtMiw3ICsy LDcgQEAgaW1wb3J0IG9zLnBhdGgKKyBpbXBvcnQgc3lzCisgaW1wb3J0IHRlbXBmaWxlCisgaW1w b3J0IHNpeAorLWZyb20gbm9zZS50b29scyBpbXBvcnQgKgorK2ltcG9ydCBweXRlc3QKKyBmcm9t IGJlaGF2ZSBpbXBvcnQgY29uZmlndXJhdGlvbgorIGZyb20gYmVoYXZlLmNvbmZpZ3VyYXRpb24g aW1wb3J0IENvbmZpZ3VyYXRpb24sIFVzZXJEYXRhCisgZnJvbSB1bml0dGVzdCBpbXBvcnQgVGVz dENhc2UKK0BAIC0zNiw2ICszNiw3IEBAIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJ3aW4i KToKKyAgICAgICAgIFJPT1RESVJfUFJFRklYX0RFRkFVTFQgPSBST09URElSX1BSRUZJWF9ERUZB VUxULmxvd2VyKCkKKyAgICAgUk9PVERJUl9QUkVGSVggPSBvcy5lbnZpcm9uLmdldCgiQkVIQVZF X1JPT1RESVJfUFJFRklYIiwgUk9PVERJUl9QUkVGSVhfREVGQVVMVCkKKyAKKysKKyBjbGFzcyBU ZXN0Q29uZmlndXJhdGlvbihvYmplY3QpOgorIAorICAgICBkZWYgdGVzdF9yZWFkX2ZpbGUoc2Vs Zik6CitAQCAtNDYsMTkgKzQ3LDE5IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uKG9iamVjdCk6 CisgCisgICAgICAgICAjIC0tIFdJTkRPV1MtUkVRVUlSRVM6IG5vcm1wYXRoCisgICAgICAgICBk ID0gY29uZmlndXJhdGlvbi5yZWFkX2NvbmZpZ3VyYXRpb24odG4pCistICAgICAgICBlcV8oZFsi b3V0ZmlsZXMiXSwgWworKyAgICAgICAgYXNzZXJ0IGRbIm91dGZpbGVzIl0gPT1bCisgICAgICAg ICAgICAgb3MucGF0aC5ub3JtcGF0aChST09URElSX1BSRUZJWCArICIvYWJzb2x1dGUvcGF0aDEi KSwKKyAgICAgICAgICAgICBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbih0bmRpciwgInJl bGF0aXZlL3BhdGgyIikpLAorLSAgICAgICAgXSkKKy0gICAgICAgIGVxXyhkWyJwYXRocyJdLCBb CisrICAgICAgICBdCisrICAgICAgICBhc3NlcnQgZFsicGF0aHMiXSA9PSBbCisgICAgICAgICAg ICAgb3MucGF0aC5ub3JtcGF0aChST09URElSX1BSRUZJWCArICIvYWJzb2x1dGUvcGF0aDMiKSwK KyAgICAgICAgICAgICBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbih0bmRpciwgInJlbGF0 aXZlL3BhdGg0IikpLAorLSAgICAgICAgICAgIF0pCistICAgICAgICBlcV8oZFsiZm9ybWF0Il0s IFsicHJldHR5IiwgInRhZy1jb3VudGVyIl0pCistICAgICAgICBlcV8oZFsiZGVmYXVsdF90YWdz Il0sIFsiQGZvbyx+QGJhciIsICJAemFwIl0pCistICAgICAgICBlcV8oZFsic3Rkb3V0X2NhcHR1 cmUiXSwgRmFsc2UpCistICAgICAgICBva18oImJvZ3VzIiBub3QgaW4gZCkKKy0gICAgICAgIGVx XyhkWyJ1c2VyZGF0YSJdLCB7ImZvbyI6ICJiYXIiLCAiYW5zd2VyIjogIjQyIn0pCisrICAgICAg ICAgICAgXQorKyAgICAgICAgYXNzZXJ0IGRbImZvcm1hdCJdID09IFsicHJldHR5IiwgInRhZy1j b3VudGVyIl0KKysgICAgICAgIGFzc2VydCBkWyJkZWZhdWx0X3RhZ3MiXSA9PSBbIkBmb28sfkBi YXIiLCAiQHphcCJdCisrICAgICAgICBhc3NlcnQgZFsic3Rkb3V0X2NhcHR1cmUiXSA9PSBGYWxz ZQorKyAgICAgICAgYXNzZXJ0ICJib2d1cyIgbm90IGluIGQKKysgICAgICAgIGFzc2VydCBkWyJ1 c2VyZGF0YSJdID09IHsiZm9vIjogImJhciIsICJhbnN3ZXIiOiAiNDIifQorIAorICAgICBkZWYg ZW5zdXJlX3N0YWdlX2Vudmlyb25tZW50X2lzX25vdF9zZXQoc2VsZik6CisgICAgICAgICBpZiAi QkVIQVZFX1NUQUdFIiBpbiBvcy5lbnZpcm9uOgorQEAgLTY5LDI2ICs3MCwyNiBAQCBjbGFzcyBU ZXN0Q29uZmlndXJhdGlvbihvYmplY3QpOgorICAgICAgICAgc2VsZi5lbnN1cmVfc3RhZ2VfZW52 aXJvbm1lbnRfaXNfbm90X3NldCgpCisgICAgICAgICBhc3NlcnQgIkJFSEFWRV9TVEFHRSIgbm90 IGluIG9zLmVudmlyb24KKyAgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oIiIpCistICAg ICAgICBlcV8oInN0ZXBzIiwgY29uZmlnLnN0ZXBzX2RpcikKKy0gICAgICAgIGVxXygiZW52aXJv bm1lbnQucHkiLCBjb25maWcuZW52aXJvbm1lbnRfZmlsZSkKKysgICAgICAgIGFzc2VydCAic3Rl cHMiID09IGNvbmZpZy5zdGVwc19kaXIKKysgICAgICAgIGFzc2VydCAiZW52aXJvbm1lbnQucHki ID09IGNvbmZpZy5lbnZpcm9ubWVudF9maWxlCisgCisgICAgIGRlZiB0ZXN0X3NldHRpbmdzX3dp dGhfc3RhZ2Uoc2VsZik6CisgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKFsiLS1zdGFn ZT1TVEFHRTEiXSkKKy0gICAgICAgIGVxXygiU1RBR0UxX3N0ZXBzIiwgY29uZmlnLnN0ZXBzX2Rp cikKKy0gICAgICAgIGVxXygiU1RBR0UxX2Vudmlyb25tZW50LnB5IiwgY29uZmlnLmVudmlyb25t ZW50X2ZpbGUpCisrICAgICAgICBhc3NlcnQgIlNUQUdFMV9zdGVwcyIgPT0gY29uZmlnLnN0ZXBz X2RpcgorKyAgICAgICAgYXNzZXJ0ICJTVEFHRTFfZW52aXJvbm1lbnQucHkiID09IGNvbmZpZy5l bnZpcm9ubWVudF9maWxlCisgCisgICAgIGRlZiB0ZXN0X3NldHRpbmdzX3dpdGhfc3RhZ2VfYW5k X2VudnZhcihzZWxmKToKKyAgICAgICAgIG9zLmVudmlyb25bIkJFSEFWRV9TVEFHRSJdID0gIlNU QUdFMiIKKyAgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oWyItLXN0YWdlPVNUQUdFMSJd KQorLSAgICAgICAgZXFfKCJTVEFHRTFfc3RlcHMiLCBjb25maWcuc3RlcHNfZGlyKQorLSAgICAg ICAgZXFfKCJTVEFHRTFfZW52aXJvbm1lbnQucHkiLCBjb25maWcuZW52aXJvbm1lbnRfZmlsZSkK KysgICAgICAgIGFzc2VydCAiU1RBR0UxX3N0ZXBzIiA9PSBjb25maWcuc3RlcHNfZGlyCisrICAg ICAgICBhc3NlcnQgIlNUQUdFMV9lbnZpcm9ubWVudC5weSIgPT0gY29uZmlnLmVudmlyb25tZW50 X2ZpbGUKKyAgICAgICAgIGRlbCBvcy5lbnZpcm9uWyJCRUhBVkVfU1RBR0UiXQorIAorICAgICBk ZWYgdGVzdF9zZXR0aW5nc193aXRoX3N0YWdlX2Zyb21fZW52dmFyKHNlbGYpOgorICAgICAgICAg b3MuZW52aXJvblsiQkVIQVZFX1NUQUdFIl0gPSAiU1RBR0UyIgorICAgICAgICAgY29uZmlnID0g Q29uZmlndXJhdGlvbigiIikKKy0gICAgICAgIGVxXygiU1RBR0UyX3N0ZXBzIiwgY29uZmlnLnN0 ZXBzX2RpcikKKy0gICAgICAgIGVxXygiU1RBR0UyX2Vudmlyb25tZW50LnB5IiwgY29uZmlnLmVu dmlyb25tZW50X2ZpbGUpCisrICAgICAgICBhc3NlcnQgIlNUQUdFMl9zdGVwcyIgPT0gY29uZmln LnN0ZXBzX2RpcgorKyAgICAgICAgYXNzZXJ0ICJTVEFHRTJfZW52aXJvbm1lbnQucHkiID09IGNv bmZpZy5lbnZpcm9ubWVudF9maWxlCisgICAgICAgICBkZWwgb3MuZW52aXJvblsiQkVIQVZFX1NU QUdFIl0KKyAKKyAKK0BAIC0xMDEsMzMgKzEwMiwzMyBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlv blVzZXJEYXRhKFRlc3RDYXNlKToKKyAgICAgICAgICAgICAiLS1kZWZpbmU9YmFyPWJhcl92YWx1 ZSIsCisgICAgICAgICAgICAgIi0tZGVmaW5lIiwgImJhej1CQVpfVkFMVUUiLAorICAgICAgICAg XSkKKy0gICAgICAgIGVxXygiZm9vX3ZhbHVlIiwgY29uZmlnLnVzZXJkYXRhWyJmb28iXSkKKy0g ICAgICAgIGVxXygiYmFyX3ZhbHVlIiwgY29uZmlnLnVzZXJkYXRhWyJiYXIiXSkKKy0gICAgICAg IGVxXygiQkFaX1ZBTFVFIiwgY29uZmlnLnVzZXJkYXRhWyJiYXoiXSkKKysgICAgICAgIGFzc2Vy dCAiZm9vX3ZhbHVlIiA9PSBjb25maWcudXNlcmRhdGFbImZvbyJdCisrICAgICAgICBhc3NlcnQg ImJhcl92YWx1ZSIgPT0gY29uZmlnLnVzZXJkYXRhWyJiYXIiXQorKyAgICAgICAgYXNzZXJ0ICJC QVpfVkFMVUUiID09IGNvbmZpZy51c2VyZGF0YVsiYmF6Il0KKyAKKyAgICAgZGVmIHRlc3RfY21k bGluZV9kZWZpbmVzX292ZXJyaWRlX2NvbmZpZ2ZpbGUoc2VsZik6CisgICAgICAgICB1c2VyZGF0 YV9pbml0ID0geyJmb28iOiAiWFhYIiwgImJhciI6ICJaWloiLCAiYmF6IjogNDJ9CisgICAgICAg ICBjb25maWcgPSBDb25maWd1cmF0aW9uKAorICAgICAgICAgICAgICAgICAgICAgIi1EIGZvbz1m b29fdmFsdWUgLS1kZWZpbmUgYmFyPTEyMyIsCisgICAgICAgICAgICAgICAgICAgICBsb2FkX2Nv bmZpZz1GYWxzZSwgdXNlcmRhdGE9dXNlcmRhdGFfaW5pdCkKKy0gICAgICAgIGVxXygiZm9vX3Zh bHVlIiwgY29uZmlnLnVzZXJkYXRhWyJmb28iXSkKKy0gICAgICAgIGVxXygiMTIzIiwgY29uZmln LnVzZXJkYXRhWyJiYXIiXSkKKy0gICAgICAgIGVxXyg0MiwgY29uZmlnLnVzZXJkYXRhWyJiYXoi XSkKKysgICAgICAgIGFzc2VydCAiZm9vX3ZhbHVlIiA9PSBjb25maWcudXNlcmRhdGFbImZvbyJd CisrICAgICAgICBhc3NlcnQgIjEyMyIgPT0gY29uZmlnLnVzZXJkYXRhWyJiYXIiXQorKyAgICAg ICAgYXNzZXJ0IDQyID09IGNvbmZpZy51c2VyZGF0YVsiYmF6Il0KKyAKKyAgICAgZGVmIHRlc3Rf Y21kbGluZV9kZWZpbmVzX3dpdGhvdXRfdmFsdWVfYXJlX3RydWUoc2VsZik6CisgICAgICAgICBj b25maWcgPSBDb25maWd1cmF0aW9uKCItRCBmb28gLS1kZWZpbmUgYmFyIC1EYmF6IikKKy0gICAg ICAgIGVxXygidHJ1ZSIsIGNvbmZpZy51c2VyZGF0YVsiZm9vIl0pCistICAgICAgICBlcV8oInRy dWUiLCBjb25maWcudXNlcmRhdGFbImJhciJdKQorLSAgICAgICAgZXFfKCJ0cnVlIiwgY29uZmln LnVzZXJkYXRhWyJiYXoiXSkKKy0gICAgICAgIGVxXyhUcnVlLCBjb25maWcudXNlcmRhdGEuZ2V0 Ym9vbCgiZm9vIikpCisrICAgICAgICBhc3NlcnQgInRydWUiID09IGNvbmZpZy51c2VyZGF0YVsi Zm9vIl0KKysgICAgICAgIGFzc2VydCAidHJ1ZSIgPT0gY29uZmlnLnVzZXJkYXRhWyJiYXIiXQor KyAgICAgICAgYXNzZXJ0ICJ0cnVlIiA9PSBjb25maWcudXNlcmRhdGFbImJheiJdCisrICAgICAg ICBhc3NlcnQgVHJ1ZSA9PSBjb25maWcudXNlcmRhdGEuZ2V0Ym9vbCgiZm9vIikKKyAKKyAgICAg ZGVmIHRlc3RfY21kbGluZV9kZWZpbmVzX3dpdGhfZW1wdHlfdmFsdWUoc2VsZik6CisgICAgICAg ICBjb25maWcgPSBDb25maWd1cmF0aW9uKCItRCBmb289IikKKy0gICAgICAgIGVxXygiIiwgY29u ZmlnLnVzZXJkYXRhWyJmb28iXSkKKysgICAgICAgIGFzc2VydCAiIiA9PSBjb25maWcudXNlcmRh dGFbImZvbyJdCisgCisgICAgIGRlZiB0ZXN0X2NtZGxpbmVfZGVmaW5lc193aXRoX2Fzc2lnbl9j aGFyYWN0ZXJfYXNfdmFsdWUoc2VsZik6CisgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9u KCItRCBmb289YmFyPWJheiIpCistICAgICAgICBlcV8oImJhcj1iYXoiLCBjb25maWcudXNlcmRh dGFbImZvbyJdKQorKyAgICAgICAgYXNzZXJ0ICJiYXI9YmF6IiA9PSBjb25maWcudXNlcmRhdGFb ImZvbyJdCisgCisgICAgIGRlZiB0ZXN0X2NtZGxpbmVfZGVmaW5lc19fd2l0aF9xdW90ZWRfbmFt ZV92YWx1ZV9wYWlyKHNlbGYpOgorICAgICAgICAgY21kbGluZXMgPSBbCitAQCAtMTM2LDcgKzEz Nyw3IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uVXNlckRhdGEoVGVzdENhc2UpOgorICAgICAg ICAgXQorICAgICAgICAgZm9yIGNtZGxpbmUgaW4gY21kbGluZXM6CisgICAgICAgICAgICAgY29u ZmlnID0gQ29uZmlndXJhdGlvbihjbWRsaW5lLCBsb2FkX2NvbmZpZz1GYWxzZSkKKy0gICAgICAg ICAgICBlcV8oY29uZmlnLnVzZXJkYXRhLCBkaWN0KHBlcnNvbj0iQWxpY2UgYW5kIEJvYiIpKQor KyAgICAgICAgICAgIGFzc2VydCBjb25maWcudXNlcmRhdGEgPT0gZGljdChwZXJzb249IkFsaWNl IGFuZCBCb2IiKQorIAorICAgICBkZWYgdGVzdF9jbWRsaW5lX2RlZmluZXNfX3dpdGhfcXVvdGVk X3ZhbHVlKHNlbGYpOgorICAgICAgICAgY21kbGluZXMgPSBbCitAQCAtMTQ1LDcgKzE0Niw3IEBA IGNsYXNzIFRlc3RDb25maWd1cmF0aW9uVXNlckRhdGEoVGVzdENhc2UpOgorICAgICAgICAgXQor ICAgICAgICAgZm9yIGNtZGxpbmUgaW4gY21kbGluZXM6CisgICAgICAgICAgICAgY29uZmlnID0g Q29uZmlndXJhdGlvbihjbWRsaW5lLCBsb2FkX2NvbmZpZz1GYWxzZSkKKy0gICAgICAgICAgICBl cV8oY29uZmlnLnVzZXJkYXRhLCBkaWN0KHBlcnNvbj0iQWxpY2UgYW5kIEJvYiIpKQorKyAgICAg ICAgICAgIGFzc2VydCBjb25maWcudXNlcmRhdGEgPT0gZGljdChwZXJzb249IkFsaWNlIGFuZCBC b2IiKQorIAorICAgICBkZWYgdGVzdF9zZXR1cF91c2VyZGF0YShzZWxmKToKKyAgICAgICAgIGNv bmZpZyA9IENvbmZpZ3VyYXRpb24oIiIsIGxvYWRfY29uZmlnPUZhbHNlKQorQEAgLTE1NCw3ICsx NTUsNyBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvblVzZXJEYXRhKFRlc3RDYXNlKToKKyAgICAg ICAgIGNvbmZpZy5zZXR1cF91c2VyZGF0YSgpCisgCisgICAgICAgICBleHBlY3RlZF9kYXRhID0g ZGljdChwZXJzb24xPSJBbGljZSIsIHBlcnNvbjI9IkNoYXJseSIpCistICAgICAgICBlcV8oY29u ZmlnLnVzZXJkYXRhLCBleHBlY3RlZF9kYXRhKQorKyAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2Vy ZGF0YSA9PSBleHBlY3RlZF9kYXRhCisgCisgICAgIGRlZiB0ZXN0X3VwZGF0ZV91c2VyZGF0YV9f d2l0aF9jbWRsaW5lX2RlZmluZXMoc2VsZik6CisgICAgICAgICAjIC0tIE5PVEU6IGNtZGxpbmUg ZGVmaW5lcyBhcmUgcmVhcHBsaWVkLgorQEAgLTE2Myw4ICsxNjQsOCBAQCBjbGFzcyBUZXN0Q29u ZmlndXJhdGlvblVzZXJEYXRhKFRlc3RDYXNlKToKKyAgICAgICAgIGNvbmZpZy51cGRhdGVfdXNl cmRhdGEoZGljdChwZXJzb24xPSJBbGljZSIsIHBlcnNvbjI9IkJvYiIpKQorIAorICAgICAgICAg ZXhwZWN0ZWRfZGF0YSA9IGRpY3QocGVyc29uMT0iQWxpY2UiLCBwZXJzb24yPSJCZWEiLCBwZXJz b24zPSJDaGFybHkiKQorLSAgICAgICAgZXFfKGNvbmZpZy51c2VyZGF0YSwgZXhwZWN0ZWRfZGF0 YSkKKy0gICAgICAgIGVxXyhjb25maWcudXNlcmRhdGFfZGVmaW5lcywgWygicGVyc29uMiIsICJC ZWEiKV0pCisrICAgICAgICBhc3NlcnQgY29uZmlnLnVzZXJkYXRhID09IGV4cGVjdGVkX2RhdGEK KysgICAgICAgIGFzc2VydCBjb25maWcudXNlcmRhdGFfZGVmaW5lcyA9PSBbKCJwZXJzb24yIiwg IkJlYSIpXQorIAorICAgICBkZWYgdGVzdF91cGRhdGVfdXNlcmRhdGFfX3dpdGhvdXRfY21kbGlu ZV9kZWZpbmVzKHNlbGYpOgorICAgICAgICAgY29uZmlnID0gQ29uZmlndXJhdGlvbigiIiwgbG9h ZF9jb25maWc9RmFsc2UpCitAQCAtMTcyLDUgKzE3Myw1IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0 aW9uVXNlckRhdGEoVGVzdENhc2UpOgorICAgICAgICAgY29uZmlnLnVwZGF0ZV91c2VyZGF0YShk aWN0KHBlcnNvbjE9IkFsaWNlIiwgcGVyc29uMj0iQm9iIikpCisgCisgICAgICAgICBleHBlY3Rl ZF9kYXRhID0gZGljdChwZXJzb24xPSJBbGljZSIsIHBlcnNvbjI9IkJvYiIsIHBlcnNvbjM9IkNo YXJseSIpCistICAgICAgICBlcV8oY29uZmlnLnVzZXJkYXRhLCBleHBlY3RlZF9kYXRhKQorLSAg ICAgICAgc2VsZi5hc3NlcnRGYWxzZShjb25maWcudXNlcmRhdGFfZGVmaW5lcykKKysgICAgICAg IGFzc2VydCBjb25maWcudXNlcmRhdGEgPT0gZXhwZWN0ZWRfZGF0YQorKyAgICAgICAgYXNzZXJ0 IGNvbmZpZy51c2VyZGF0YV9kZWZpbmVzIGlzIE5vbmUKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3Rf Zm9ybWF0dGVyLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlci5weQorc2ltaWxhcml0eSBp bmRleCA5NCUKK3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9mb3JtYXR0ZXIucHkKK3JlbmFtZSB0byB0 ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyLnB5CitpbmRleCA0MmU1ZjBkLi5jMWEwOTQ1IDEwMDY0 NAorLS0tIGEvdGVzdC90ZXN0X2Zvcm1hdHRlci5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Zv cm1hdHRlci5weQorQEAgLTYsOSArNiw4IEBAIGltcG9ydCBzeXMKKyBpbXBvcnQgdGVtcGZpbGUK KyBpbXBvcnQgdW5pdHRlc3QKKyBpbXBvcnQgc2l4CisraW1wb3J0IHB5dGVzdAorIGZyb20gbW9j ayBpbXBvcnQgTW9jaywgcGF0Y2gKKy1mcm9tIG5vc2UudG9vbHMgaW1wb3J0ICogICAgIyBweWxp bnQ6IGRpc2FibGU9d2lsZGNhcmQtaW1wb3J0LCB1bnVzZWQtd2lsZGNhcmQtaW1wb3J0CistCisg ZnJvbSBiZWhhdmUuZm9ybWF0dGVyLl9yZWdpc3RyeSBpbXBvcnQgbWFrZV9mb3JtYXR0ZXJzCisg ZnJvbSBiZWhhdmUuZm9ybWF0dGVyIGltcG9ydCBwcmV0dHkKKyBmcm9tIGJlaGF2ZS5mb3JtYXR0 ZXIuYmFzZSBpbXBvcnQgU3RyZWFtT3BlbmVyCitAQCAtMzUsNyArMzQsNyBAQCBjbGFzcyBUZXN0 R2V0VGVybWluYWxTaXplKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIHBsYXRmb3JtID0g c3lzLnBsYXRmb3JtCisgICAgICAgICBzeXMucGxhdGZvcm0gPSAid2luZG93cyIKKyAKKy0gICAg ICAgIGVxXyhwcmV0dHkuZ2V0X3Rlcm1pbmFsX3NpemUoKSwgKDgwLCAyNCkpCisrICAgICAgICBh c3NlcnQgcHJldHR5LmdldF90ZXJtaW5hbF9zaXplKCkgPT0gKDgwLCAyNCkKKyAKKyAgICAgICAg IHN5cy5wbGF0Zm9ybSA9IHBsYXRmb3JtCisgCitAQCAtNDYsNyArNDUsNyBAQCBjbGFzcyBUZXN0 R2V0VGVybWluYWxTaXplKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgIGV4Y2VwdCBJbXBv cnRFcnJvcjoKKyAgICAgICAgICAgICBwYXNzCisgCistICAgICAgICBlcV8ocHJldHR5LmdldF90 ZXJtaW5hbF9zaXplKCksICg4MCwgMjQpKQorKyAgICAgICAgYXNzZXJ0IHByZXR0eS5nZXRfdGVy bWluYWxfc2l6ZSgpID09ICg4MCwgMjQpCisgCisgICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbl9pbl9p b2N0bChzZWxmKToKKyAgICAgICAgIHRyeToKK0BAIC01OSw3ICs1OCw3IEBAIGNsYXNzIFRlc3RH ZXRUZXJtaW5hbFNpemUodW5pdHRlc3QuVGVzdENhc2UpOgorIAorICAgICAgICAgc2VsZi5pb2N0 bC5zaWRlX2VmZmVjdCA9IHJhaXNlcgorIAorLSAgICAgICAgZXFfKHByZXR0eS5nZXRfdGVybWlu YWxfc2l6ZSgpLCAoODAsIDI0KSkKKysgICAgICAgIGFzc2VydCBwcmV0dHkuZ2V0X3Rlcm1pbmFs X3NpemUoKSA9PSAoODAsIDI0KQorICAgICAgICAgc2VsZi5pb2N0bC5hc3NlcnRfY2FsbGVkX3dp dGgoMCwgdGVybWlvcy5USU9DR1dJTlNaLCBzZWxmLnplcm9fc3RydWN0KQorIAorICAgICBkZWYg dGVzdF9oYXBweV9wYXRoKHNlbGYpOgorQEAgLTcwLDcgKzY5LDcgQEAgY2xhc3MgVGVzdEdldFRl cm1pbmFsU2l6ZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgCisgICAgICAgICBzZWxmLmlvY3RsLnJl dHVybl92YWx1ZSA9IHN0cnVjdC5wYWNrKCJISEhIIiwgMTcsIDIzLCA1LCA1KQorIAorLSAgICAg ICAgZXFfKHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgpLCAoMjMsIDE3KSkKKysgICAgICAgIGFz c2VydCBwcmV0dHkuZ2V0X3Rlcm1pbmFsX3NpemUoKSA9PSAoMjMsIDE3KQorICAgICAgICAgc2Vs Zi5pb2N0bC5hc3NlcnRfY2FsbGVkX3dpdGgoMCwgdGVybWlvcy5USU9DR1dJTlNaLCBzZWxmLnpl cm9fc3RydWN0KQorIAorICAgICBkZWYgdGVzdF96ZXJvX3NpemVfZmFsbGJhY2soc2VsZik6CitA QCAtODEsNyArODAsNyBAQCBjbGFzcyBUZXN0R2V0VGVybWluYWxTaXplKHVuaXR0ZXN0LlRlc3RD YXNlKToKKyAKKyAgICAgICAgIHNlbGYuaW9jdGwucmV0dXJuX3ZhbHVlID0gc2VsZi56ZXJvX3N0 cnVjdAorIAorLSAgICAgICAgZXFfKHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgpLCAoODAsIDI0 KSkKKysgICAgICAgIGFzc2VydCBwcmV0dHkuZ2V0X3Rlcm1pbmFsX3NpemUoKSA9PSAoODAsIDI0 KQorICAgICAgICAgc2VsZi5pb2N0bC5hc3NlcnRfY2FsbGVkX3dpdGgoMCwgdGVybWlvcy5USU9D R1dJTlNaLCBzZWxmLnplcm9fc3RydWN0KQorIAorIAorQEAgLTIwNCw3ICsyMDMsNyBAQCBjbGFz cyBUZXN0VGFnc0NvdW50KEZvcm1hdHRlclRlc3RzKToKKyAgICAgICAgIHAuZmVhdHVyZShmKQor ICAgICAgICAgcC5zY2VuYXJpbyhzKQorIAorLSAgICAgICAgZXFfKHAudGFnX2NvdW50cywgeyJo YW0iOiBbZiwgc10sICJzcGFtIjogW2ZdLCAiZm9vIjogW3NdfSkKKysgICAgICAgIGFzc2VydCBw LnRhZ19jb3VudHMgPT0geyJoYW0iOiBbZiwgc10sICJzcGFtIjogW2ZdLCAiZm9vIjogW3NdfQor IAorIAorIGNsYXNzIE11bHRpcGxlRm9ybWF0dGVyc1Rlc3RzKEZvcm1hdHRlclRlc3RzKToKK2Rp ZmYgLS1naXQgYS90ZXN0L3Rlc3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5IGIvdGVzdHMvdW5pdC90 ZXN0X2Zvcm1hdHRlcl9wcm9ncmVzcy5weQorc2ltaWxhcml0eSBpbmRleCA5OSUKK3JlbmFtZSBm cm9tIHRlc3QvdGVzdF9mb3JtYXR0ZXJfcHJvZ3Jlc3MucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0 L3Rlc3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5CitpbmRleCAyOWM4ZTY4Li4xOWNkZjY0IDEwMDY0 NAorLS0tIGEvdGVzdC90ZXN0X2Zvcm1hdHRlcl9wcm9ncmVzcy5weQorKysrIGIvdGVzdHMvdW5p dC90ZXN0X2Zvcm1hdHRlcl9wcm9ncmVzcy5weQorQEAgLTksNiArOSw3IEBAIGZyb20gX19mdXR1 cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgZnJvbSAudGVzdF9mb3JtYXR0ZXIgaW1wb3J0 IEZvcm1hdHRlclRlc3RzIGFzIEZvcm1hdHRlclRlc3QKKyBmcm9tIC50ZXN0X2Zvcm1hdHRlciBp bXBvcnQgTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdHMgYXMgTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdAor IAorKworIGNsYXNzIFRlc3RTY2VuYXJpb1Byb2dyZXNzRm9ybWF0dGVyKEZvcm1hdHRlclRlc3Qp OgorICAgICBmb3JtYXR0ZXJfbmFtZSA9ICJwcm9ncmVzcyIKKyAKK0BAIC0yMCwyMCArMjEsMjYg QEAgY2xhc3MgVGVzdFN0ZXBQcm9ncmVzc0Zvcm1hdHRlcihGb3JtYXR0ZXJUZXN0KToKKyBjbGFz cyBUZXN0UHJldHR5QW5kU2NlbmFyaW9Qcm9ncmVzcyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToK KyAgICAgZm9ybWF0dGVycyA9IFsncHJldHR5JywgJ3Byb2dyZXNzJ10KKyAKKysKKyBjbGFzcyBU ZXN0UGxhaW5BbmRTY2VuYXJpb1Byb2dyZXNzKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAg ICBmb3JtYXR0ZXJzID0gWydwbGFpbicsICdwcm9ncmVzcyddCisgCisrCisgY2xhc3MgVGVzdEpT T05BbmRTY2VuYXJpb1Byb2dyZXNzKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3Jt YXR0ZXJzID0gWydqc29uJywgJ3Byb2dyZXNzJ10KKyAKKysKKyBjbGFzcyBUZXN0UHJldHR5QW5k U3RlcFByb2dyZXNzKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0g WydwcmV0dHknLCAncHJvZ3Jlc3MyJ10KKyAKKysKKyBjbGFzcyBUZXN0UGxhaW5BbmRTdGVwUHJv Z3Jlc3MoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbJ3BsYWlu JywgJ3Byb2dyZXNzMiddCisgCisrCisgY2xhc3MgVGVzdEpTT05BbmRTdGVwUHJvZ3Jlc3MoTXVs dGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbJ2pzb24nLCAncHJvZ3Jl c3MyJ10KKyAKKysKKyBjbGFzcyBUZXN0U2NlbmFyaW9Qcm9ncmVzc0FuZFN0ZXBQcm9ncmVzcyhN dWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsncHJvZ3Jlc3MnLCAn cHJvZ3Jlc3MyJ10KK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfZm9ybWF0dGVyX3JlcnVuLnB5IGIv dGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl9yZXJ1bi5weQorc2ltaWxhcml0eSBpbmRleCA5NCUK K3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9mb3JtYXR0ZXJfcmVydW4ucHkKK3JlbmFtZSB0byB0ZXN0 cy91bml0L3Rlc3RfZm9ybWF0dGVyX3JlcnVuLnB5CitpbmRleCA2MzU3ZjkyLi4xNTQ1ODhmIDEw MDY0NAorLS0tIGEvdGVzdC90ZXN0X2Zvcm1hdHRlcl9yZXJ1bi5weQorKysrIGIvdGVzdHMvdW5p dC90ZXN0X2Zvcm1hdHRlcl9yZXJ1bi5weQorQEAgLTgsNyArOCw3IEBAIGZyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgZnJvbSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQg U3RhdHVzCisgZnJvbSAudGVzdF9mb3JtYXR0ZXIgaW1wb3J0IEZvcm1hdHRlclRlc3RzIGFzIEZv cm1hdHRlclRlc3QsIF90ZgorIGZyb20gLnRlc3RfZm9ybWF0dGVyIGltcG9ydCBNdWx0aXBsZUZv cm1hdHRlcnNUZXN0cyBhcyBNdWx0aXBsZUZvcm1hdHRlcnNUZXN0CistZnJvbSBub3NlLnRvb2xz IGltcG9ydCAqCisrCisgCisgY2xhc3MgVGVzdFJlcnVuRm9ybWF0dGVyKEZvcm1hdHRlclRlc3Qp OgorICAgICBmb3JtYXR0ZXJfbmFtZSA9ICJyZXJ1biIKK0BAIC0yNiw3ICsyNiw3IEBAIGNsYXNz IFRlc3RSZXJ1bkZvcm1hdHRlcihGb3JtYXR0ZXJUZXN0KToKKyAgICAgICAgICAgICBwLnNjZW5h cmlvKHNjZW5hcmlvKQorICAgICAgICAgICAgIGFzc2VydCBzY2VuYXJpby5zdGF0dXMgPT0gU3Rh dHVzLnBhc3NlZAorICAgICAgICAgcC5lb2YoKQorLSAgICAgICAgZXFfKFtdLCBwLmZhaWxlZF9z Y2VuYXJpb3MpCisrICAgICAgICBhc3NlcnQgW10gPT0gcC5mYWlsZWRfc2NlbmFyaW9zCisgICAg ICAgICAjIC0tIEVNSVQgUkVQT1JUOgorICAgICAgICAgcC5jbG9zZSgpCisgCitAQCAtNDksNyAr NDksNyBAQCBjbGFzcyBUZXN0UmVydW5Gb3JtYXR0ZXIoRm9ybWF0dGVyVGVzdCk6CisgICAgICAg ICBhc3NlcnQgc2NlbmFyaW9zWzBdLnN0YXR1cyA9PSBTdGF0dXMucGFzc2VkCisgICAgICAgICBh c3NlcnQgc2NlbmFyaW9zWzFdLnN0YXR1cyA9PSBTdGF0dXMuZmFpbGVkCisgICAgICAgICBwLmVv ZigpCistICAgICAgICBlcV8oWyBmYWlsaW5nX3NjZW5hcmlvIF0sIHAuZmFpbGVkX3NjZW5hcmlv cykKKysgICAgICAgIGFzc2VydCBbIGZhaWxpbmdfc2NlbmFyaW8gXSA9PSBwLmZhaWxlZF9zY2Vu YXJpb3MKKyAgICAgICAgICMgLS0gRU1JVCBSRVBPUlQ6CisgICAgICAgICBwLmNsb3NlKCkKKyAK K0BAIC03Niw3ICs3Niw3IEBAIGNsYXNzIFRlc3RSZXJ1bkZvcm1hdHRlcihGb3JtYXR0ZXJUZXN0 KToKKyAgICAgICAgIGFzc2VydCBzY2VuYXJpb3NbMV0uc3RhdHVzID09IFN0YXR1cy5wYXNzZWQK KyAgICAgICAgIGFzc2VydCBzY2VuYXJpb3NbMl0uc3RhdHVzID09IFN0YXR1cy5mYWlsZWQKKyAg ICAgICAgIHAuZW9mKCkKKy0gICAgICAgIGVxXyhbIGZhaWxpbmdfc2NlbmFyaW8xLCBmYWlsaW5n X3NjZW5hcmlvMiBdLCBwLmZhaWxlZF9zY2VuYXJpb3MpCisrICAgICAgICBhc3NlcnQgWyBmYWls aW5nX3NjZW5hcmlvMSwgZmFpbGluZ19zY2VuYXJpbzIgXSA9PSBwLmZhaWxlZF9zY2VuYXJpb3MK KyAgICAgICAgICMgLS0gRU1JVCBSRVBPUlQ6CisgICAgICAgICBwLmNsb3NlKCkKKyAKK0BAIC04 NCwxNCArODQsMTggQEAgY2xhc3MgVGVzdFJlcnVuRm9ybWF0dGVyKEZvcm1hdHRlclRlc3QpOgor IGNsYXNzIFRlc3RSZXJ1bkFuZFByZXR0eUZvcm1hdHRlcnMoTXVsdGlwbGVGb3JtYXR0ZXJzVGVz dCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgInByZXR0eSJdCisgCisrCisgY2xhc3Mg VGVzdFJlcnVuQW5kUGxhaW5Gb3JtYXR0ZXJzKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAg ICBmb3JtYXR0ZXJzID0gWyJyZXJ1biIsICJwbGFpbiJdCisgCisrCisgY2xhc3MgVGVzdFJlcnVu QW5kU2NlbmFyaW9Qcm9ncmVzc0Zvcm1hdHRlcnMoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6Cisg ICAgIGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgInByb2dyZXNzIl0KKyAKKysKKyBjbGFzcyBUZXN0 UmVydW5BbmRTdGVwUHJvZ3Jlc3NGb3JtYXR0ZXJzKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgor ICAgICBmb3JtYXR0ZXJzID0gWyJyZXJ1biIsICJwcm9ncmVzczIiXQorIAorKworIGNsYXNzIFRl c3RSZXJ1bkFuZEpzb25Gb3JtYXR0ZXIoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZv cm1hdHRlcnMgPSBbInJlcnVuIiwgImpzb24iXQorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9mb3Jt YXR0ZXJfdGFncy5weSBiL3Rlc3RzL3VuaXQvdGVzdF9mb3JtYXR0ZXJfdGFncy5weQorc2ltaWxh cml0eSBpbmRleCA5OSUKK3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9mb3JtYXR0ZXJfdGFncy5weQor cmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9mb3JtYXR0ZXJfdGFncy5weQoraW5kZXggNTEyNWQ1 MS4uOWY5NTM3NCAxMDA2NDQKKy0tLSBhL3Rlc3QvdGVzdF9mb3JtYXR0ZXJfdGFncy5weQorKysr IGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl90YWdzLnB5CitAQCAtOSwxMiArOSwxNCBAQCBm cm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIGZyb20gLnRlc3RfZm9ybWF0 dGVyIGltcG9ydCBGb3JtYXR0ZXJUZXN0cyBhcyBGb3JtYXR0ZXJUZXN0CisgZnJvbSAudGVzdF9m b3JtYXR0ZXIgaW1wb3J0IE11bHRpcGxlRm9ybWF0dGVyc1Rlc3RzIGFzIE11bHRpcGxlRm9ybWF0 dGVyc1Rlc3QKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBGT1JNQVRURVIgVEVT VFM6IFdpdGggVGFnQ291bnRGb3JtYXR0ZXIKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgY2xh c3MgVGVzdFRhZ3NDb3VudEZvcm1hdHRlcihGb3JtYXR0ZXJUZXN0KToKKyAgICAgZm9ybWF0dGVy X25hbWUgPSAidGFncyIKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBGT1JNQVRU RVIgVEVTVFM6IFdpdGggVGFnTG9jYXRpb25Gb3JtYXR0ZXIKKyAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCitAQCAtMjgsMTIgKzMwLDE1IEBAIGNsYXNzIFRlc3RUYWdzTG9jYXRpb25Gb3JtYXR0ZXIo Rm9ybWF0dGVyVGVzdCk6CisgY2xhc3MgVGVzdFByZXR0eUFuZFRhZ3NDb3VudChNdWx0aXBsZUZv cm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsicHJldHR5IiwgInRhZ3MiXQorIAor KworIGNsYXNzIFRlc3RQbGFpbkFuZFRhZ3NDb3VudChNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToK KyAgICAgZm9ybWF0dGVycyA9IFsicGxhaW4iLCAidGFncyJdCisgCisrCisgY2xhc3MgVGVzdEpT T05BbmRUYWdzQ291bnQoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMg PSBbImpzb24iLCAidGFncyJdCisgCisrCisgY2xhc3MgVGVzdFJlcnVuQW5kVGFnc0NvdW50KE11 bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWyJyZXJ1biIsICJ0YWdz Il0KKyAKK0BAIC00NCwxNCArNDksMTggQEAgY2xhc3MgVGVzdFJlcnVuQW5kVGFnc0NvdW50KE11 bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorIGNsYXNzIFRlc3RQcmV0dHlBbmRUYWdzTG9jYXRpb24o TXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInByZXR0eSIsICJ0 YWdzLmxvY2F0aW9uIl0KKyAKKysKKyBjbGFzcyBUZXN0UGxhaW5BbmRUYWdzTG9jYXRpb24oTXVs dGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInBsYWluIiwgInRhZ3Mu bG9jYXRpb24iXQorIAorKworIGNsYXNzIFRlc3RKU09OQW5kVGFnc0xvY2F0aW9uKE11bHRpcGxl Rm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWyJqc29uIiwgInRhZ3MubG9jYXRp b24iXQorIAorKworIGNsYXNzIFRlc3RSZXJ1bkFuZFRhZ3NMb2NhdGlvbihNdWx0aXBsZUZvcm1h dHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsicmVydW4iLCAidGFncy5sb2NhdGlvbiJd CisgCisrCisgY2xhc3MgVGVzdFRhZ3NDb3VudEFuZFRhZ3NMb2NhdGlvbihNdWx0aXBsZUZvcm1h dHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsidGFncyIsICJ0YWdzLmxvY2F0aW9uIl0K K2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkgYi90ZXN0cy91bml0L3Rl c3RfaW1wb3J0ZXIucHkKK2luZGV4IGYzZjRlMmMuLjA1NWI5ZmIgMTAwNjQ0CistLS0gYS90ZXN0 cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5w eQorQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgVGVzdExvYWRNb2R1bGUob2JqZWN0KToKKyAgICAg ICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisg CisgICAgIGRlZiB0ZXN0X2xvYWRfbW9kdWxlX19zaG91bGRfc3VjY2VlZF9mb3JfZXhpc3Rpbmdf bW9kdWxlKHNlbGYpOgorLSAgICAgICAgbW9kdWxlX25hbWUgPSAidGVzdC5faW1wb3J0ZXJfY2Fu ZGlkYXRlIgorKyAgICAgICAgbW9kdWxlX25hbWUgPSAidGVzdHMudW5pdC5faW1wb3J0ZXJfY2Fu ZGlkYXRlIgorICAgICAgICAgc2VsZi50aGVvcnkuZW5zdXJlX21vZHVsZV9pc19ub3RfaW1wb3J0 ZWQobW9kdWxlX25hbWUpCisgCisgICAgICAgICBtb2R1bGUgPSBsb2FkX21vZHVsZShtb2R1bGVf bmFtZSkKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfbG9nX2NhcHR1cmUucHkgYi90ZXN0cy91bml0 L3Rlc3RfbG9nX2NhcHR1cmUucHkKK3NpbWlsYXJpdHkgaW5kZXggODclCityZW5hbWUgZnJvbSB0 ZXN0L3Rlc3RfbG9nX2NhcHR1cmUucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rlc3RfbG9nX2Nh cHR1cmUucHkKK2luZGV4IGJmZGJlZDcuLmJmMTg3NGMgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3Rf bG9nX2NhcHR1cmUucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9sb2dfY2FwdHVyZS5weQorQEAg LTEsMTEgKzEsMTAgQEAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwg d2l0aF9zdGF0ZW1lbnQKKy0KKy1mcm9tIG5vc2UudG9vbHMgaW1wb3J0ICoKKytpbXBvcnQgcHl0 ZXN0CisgZnJvbSBtb2NrIGltcG9ydCBwYXRjaAorLQorIGZyb20gYmVoYXZlLmxvZ19jYXB0dXJl IGltcG9ydCBMb2dnaW5nQ2FwdHVyZQorIGZyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZQorIAor KworIGNsYXNzIFRlc3RMb2dDYXB0dXJlKG9iamVjdCk6CisgICAgIGRlZiB0ZXN0X2dldF92YWx1 ZV9yZXR1cm5zX2FsbF9sb2dfcmVjb3JkcyhzZWxmKToKKyAgICAgICAgIGNsYXNzIEZha2VDb25m aWcob2JqZWN0KToKK0BAIC0yMyw3ICsyMiw3IEBAIGNsYXNzIFRlc3RMb2dDYXB0dXJlKG9iamVj dCk6CisgICAgICAgICAgICAgZm9ybWF0LnJldHVybl92YWx1ZSA9ICdmb28nCisgICAgICAgICAg ICAgZXhwZWN0ZWQgPSAnXG4nLmpvaW4oWydmb28nXSAqIGxlbihmYWtlX3JlY29yZHMpKQorIAor LSAgICAgICAgICAgIGVxXyhoYW5kbGVyLmdldHZhbHVlKCksIGV4cGVjdGVkKQorKyAgICAgICAg ICAgIGFzc2VydCBoYW5kbGVyLmdldHZhbHVlKCkgPT0gZXhwZWN0ZWQKKyAKKyAgICAgICAgICAg ICBjYWxscyA9IFthcmdzWzBdWzBdIGZvciBhcmdzIGluIGZvcm1hdC5jYWxsX2FyZ3NfbGlzdF0K Ky0gICAgICAgICAgICBlcV8oY2FsbHMsIGZha2VfcmVjb3JkcykKKysgICAgICAgICAgICBhc3Nl cnQgY2FsbHMgPT0gZmFrZV9yZWNvcmRzCitkaWZmIC0tZ2l0IGEvdGVzdC90ZXN0X21hdGNoZXJz LnB5IGIvdGVzdHMvdW5pdC90ZXN0X21hdGNoZXJzLnB5CitzaW1pbGFyaXR5IGluZGV4IDkzJQor cmVuYW1lIGZyb20gdGVzdC90ZXN0X21hdGNoZXJzLnB5CityZW5hbWUgdG8gdGVzdHMvdW5pdC90 ZXN0X21hdGNoZXJzLnB5CitpbmRleCBiZmUwNGZjLi44MTU1ODFjIDEwMDY0NAorLS0tIGEvdGVz dC90ZXN0X21hdGNoZXJzLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfbWF0Y2hlcnMucHkKK0BA IC0xLDcgKzEsNyBAQAorICMgLSotIGNvZGluZzogVVRGLTggLSotCisgZnJvbSBfX2Z1dHVyZV9f IGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHdpdGhfc3RhdGVtZW50CisraW1wb3J0IHB5dGVzdAor IGZyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKKy1mcm9tIG5vc2UudG9vbHMgaW1wb3J0ICog ICMgcHlsaW50OiBkaXNhYmxlPXdpbGRjYXJkLWltcG9ydCwgdW51c2VkLXdpbGRjYXJkLWltcG9y dAorIGltcG9ydCBwYXJzZQorIGZyb20gYmVoYXZlLm1hdGNoZXJzIGltcG9ydCBNYXRjaCwgTWF0 Y2hlciwgUGFyc2VNYXRjaGVyLCBSZWdleE1hdGNoZXIsIFwKKyAgICAgU2ltcGxpZmllZFJlZ2V4 TWF0Y2hlciwgQ3VjdW1iZXJSZWdleE1hdGNoZXIKK0BAIC04MCw3ICs4MCw3IEBAIGNsYXNzIFRl c3RQYXJzZU1hdGNoZXIob2JqZWN0KToKKyAgICAgICAgICAgICBhc3NlcnQgbS5mdW5jIGlzIGZ1 bmMKKyAgICAgICAgICAgICBhcmdzID0gbS5hcmd1bWVudHMKKyAgICAgICAgICAgICBoYXZlID0g WyhhLnN0YXJ0LCBhLmVuZCwgYS5vcmlnaW5hbCwgYS52YWx1ZSwgYS5uYW1lKSBmb3IgYSBpbiBh cmdzXQorLSAgICAgICAgICAgIGVxXyhoYXZlLCBleHBlY3RlZCkKKysgICAgICAgICAgICBhc3Nl cnQgaGF2ZSA9PSBleHBlY3RlZAorIAorICAgICBkZWYgdGVzdF9uYW1lZF9hcmd1bWVudHMoc2Vs Zik6CisgICAgICAgICB0ZXh0ID0gImhhcyBhIHtzdHJpbmd9LCBhbiB7aW50ZWdlcjpkfSBhbmQg YSB7ZGVjaW1hbDpmfSIKK0BAIC04OSwxMSArODksMTEgQEAgY2xhc3MgVGVzdFBhcnNlTWF0Y2hl cihvYmplY3QpOgorIAorICAgICAgICAgbSA9IG1hdGNoZXIubWF0Y2goImhhcyBhIGZvbywgYW4g MTEgYW5kIGEgMy4xNDE1OSIpCisgICAgICAgICBtLnJ1bihjb250ZXh0KQorLSAgICAgICAgZXFf KHNlbGYucmVjb3JkZWRfYXJncywgKChjb250ZXh0LCksIHsKKysgICAgICAgIGFzc2VydCBzZWxm LnJlY29yZGVkX2FyZ3MsICgoY29udGV4dCwpID09IHsKKyAgICAgICAgICAgICAnc3RyaW5nJzog J2ZvbycsCisgICAgICAgICAgICAgJ2ludGVnZXInOiAxMSwKKyAgICAgICAgICAgICAnZGVjaW1h bCc6IDMuMTQxNTkKKy0gICAgICAgIH0pKQorKyAgICAgICAgfSkKKyAKKyAgICAgZGVmIHRlc3Rf cG9zaXRpb25hbF9hcmd1bWVudHMoc2VsZik6CisgICAgICAgICB0ZXh0ID0gImhhcyBhIHt9LCBh biB7OmR9IGFuZCBhIHs6Zn0iCitAQCAtMTAyLDcgKzEwMiw3IEBAIGNsYXNzIFRlc3RQYXJzZU1h dGNoZXIob2JqZWN0KToKKyAKKyAgICAgICAgIG0gPSBtYXRjaGVyLm1hdGNoKCJoYXMgYSBmb28s IGFuIDExIGFuZCBhIDMuMTQxNTkiKQorICAgICAgICAgbS5ydW4oY29udGV4dCkKKy0gICAgICAg IGVxXyhzZWxmLnJlY29yZGVkX2FyZ3MsICgoY29udGV4dCwgJ2ZvbycsIDExLCAzLjE0MTU5KSwg e30pKQorKyAgICAgICAgYXNzZXJ0IHNlbGYucmVjb3JkZWRfYXJncyA9PSAoKGNvbnRleHQsICdm b28nLCAxMSwgMy4xNDE1OSksIHt9KQorIAorIGNsYXNzIFRlc3RSZWdleE1hdGNoZXIob2JqZWN0 KToKKyAgICAgIyBweWxpbnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lLCBuby1zZWxmLXVzZQorQEAg LTE1MSw3ICsxNTEsNyBAQCBjbGFzcyBUZXN0UmVnZXhNYXRjaGVyKG9iamVjdCk6CisgICAgICAg ICBhc3NlcnQgbS5mdW5jIGlzIGZ1bmMKKyAgICAgICAgIGFyZ3MgPSBtLmFyZ3VtZW50cworICAg ICAgICAgaGF2ZSA9IFsoYS5zdGFydCwgYS5lbmQsIGEub3JpZ2luYWwsIGEudmFsdWUsIGEubmFt ZSkgZm9yIGEgaW4gYXJnc10KKy0gICAgICAgIGVxXyhoYXZlLCBleHBlY3RlZCkKKysgICAgICAg IGFzc2VydCBoYXZlID09IGV4cGVjdGVkCisgCisgCisgCitAQCAtMTc5LDE3ICsxNzksMTcgQEAg Y2xhc3MgVGVzdFNpbXBsaWZpZWRSZWdleE1hdGNoZXIoVGVzdFJlZ2V4TWF0Y2hlcik6CisgICAg ICAgICBhc3NlcnQgaXNpbnN0YW5jZShtYXRjaGVkMSwgTWF0Y2gpCisgICAgICAgICBhc3NlcnQg aXNpbnN0YW5jZShtYXRjaGVkMiwgTWF0Y2gpCisgCistICAgIEByYWlzZXMoQXNzZXJ0aW9uRXJy b3IpCisgICAgIGRlZiB0ZXN0X3N0ZXBfc2hvdWxkX25vdF91c2VfcmVnZXhfYmVnaW5fbWFya2Vy KHNlbGYpOgorLSAgICAgICAgU2ltcGxpZmllZFJlZ2V4TWF0Y2hlcihOb25lLCAiXkkgZG8gc29t ZXRoaW5nIikKKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhBc3NlcnRpb25FcnJvcik6Cisr ICAgICAgICAgICAgU2ltcGxpZmllZFJlZ2V4TWF0Y2hlcihOb25lLCAiXkkgZG8gc29tZXRoaW5n IikKKyAKKy0gICAgQHJhaXNlcyhBc3NlcnRpb25FcnJvcikKKyAgICAgZGVmIHRlc3Rfc3RlcF9z aG91bGRfbm90X3VzZV9yZWdleF9lbmRfbWFya2VyKHNlbGYpOgorLSAgICAgICAgU2ltcGxpZmll ZFJlZ2V4TWF0Y2hlcihOb25lLCAiSSBkbyBzb21ldGhpbmckIikKKysgICAgICAgIHdpdGggcHl0 ZXN0LnJhaXNlcyhBc3NlcnRpb25FcnJvcik6CisrICAgICAgICAgICAgU2ltcGxpZmllZFJlZ2V4 TWF0Y2hlcihOb25lLCAiSSBkbyBzb21ldGhpbmckIikKKyAKKy0gICAgQHJhaXNlcyhBc3NlcnRp b25FcnJvcikKKyAgICAgZGVmIHRlc3Rfc3RlcF9zaG91bGRfbm90X3VzZV9yZWdleF9iZWdpbl9h bmRfZW5kX21hcmtlcihzZWxmKToKKy0gICAgICAgIFNpbXBsaWZpZWRSZWdleE1hdGNoZXIoTm9u ZSwgIl5JIGRvIHNvbWV0aGluZyQiKQorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEFzc2Vy dGlvbkVycm9yKToKKysgICAgICAgICAgICBTaW1wbGlmaWVkUmVnZXhNYXRjaGVyKE5vbmUsICJe SSBkbyBzb21ldGhpbmckIikKKyAKKyAKKyBjbGFzcyBUZXN0Q3VjdW1iZXJSZWdleE1hdGNoZXIo VGVzdFJlZ2V4TWF0Y2hlcik6CitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5w eSBiL3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkKK2luZGV4IDU2MDNhNGIuLmVjYmIxYmYgMTAw NjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5CisrKysgYi90ZXN0cy91bml0L3Rl c3RfcGFyc2VyLnB5CitAQCAtNyw3ICs3LDYgQEAgVW5pdCB0ZXN0cyBmb3IgR2hlcmtpbiBwYXJz ZXI6IDptb2Q6YGJlaGF2ZS5wYXJzZXJgLgorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1 dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBweXRlc3QKKyBmcm9tIGJlaGF2ZSBp bXBvcnQgaTE4biwgbW9kZWwsIHBhcnNlcgorLSMgTk9ULU5FRURFRDogZnJvbSBub3NlLnRvb2xz IGltcG9ydCAqCisgCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RpZmYgLS1naXQgYS90ZXN0 L3Rlc3RfcnVubmVyLnB5IGIvdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weQorc2ltaWxhcml0eSBp bmRleCA4MiUKK3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9ydW5uZXIucHkKK3JlbmFtZSB0byB0ZXN0 cy91bml0L3Rlc3RfcnVubmVyLnB5CitpbmRleCA2NjQ3MjgzLi4wMzBkZmZhIDEwMDY0NAorLS0t IGEvdGVzdC90ZXN0X3J1bm5lci5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weQor QEAgLTExLDEwICsxMSw4IEBAIGltcG9ydCB0ZW1wZmlsZQorIGltcG9ydCB1bml0dGVzdAorIGlt cG9ydCBzaXgKKyBmcm9tIHNpeCBpbXBvcnQgU3RyaW5nSU8KKy0KKytpbXBvcnQgcHl0ZXN0Cisg ZnJvbSBtb2NrIGltcG9ydCBNb2NrLCBwYXRjaAorLWZyb20gbm9zZS50b29scyBpbXBvcnQgKiAg IyBweWxpbnQ6IGRpc2FibGU9d2lsZGNhcmQtaW1wb3J0LCB1bnVzZWQtd2lsZGNhcmQtaW1wb3J0 CistCisgZnJvbSBiZWhhdmUgaW1wb3J0IHJ1bm5lcl91dGlsCisgZnJvbSBiZWhhdmUubW9kZWwg aW1wb3J0IFRhYmxlCisgZnJvbSBiZWhhdmUuc3RlcF9yZWdpc3RyeSBpbXBvcnQgU3RlcFJlZ2lz dHJ5CitAQCAtMzksMzEgKzM3LDMxIEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RD YXNlKToKKyAgICAgZGVmIHRlc3RfdXNlcl9tb2RlX3NoYWxsX3Jlc3RvcmVfYmVoYXZlX21vZGUo c2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IE5vIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICAg ICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKy0gICAgICAgIGVxXyhz ZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxfbW9kZSkKKysgICAgICAgIGFzc2VydCBzZWxmLmNv bnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51 c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2Rl LCBydW5uZXIuQ29udGV4dC5VU0VSKQorKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQu X21vZGUgPT0gcnVubmVyLkNvbnRleHQuVVNFUgorICAgICAgICAgICAgIHNlbGYuY29udGV4dC50 aGluZyA9ICJzdHVmZiIKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxf bW9kZSkKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2Rl CisgCisgICAgIGRlZiB0ZXN0X3VzZXJfbW9kZV9zaGFsbF9yZXN0b3JlX2JlaGF2ZV9tb2RlX2lm X2Fzc2VydF9mYWlscyhzZWxmKToKKyAgICAgICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250 ZXh0LkJFSEFWRQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2Rl KQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAg ICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0aF91c2Vy X21vZGUoKToKKy0gICAgICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgcnVubmVy LkNvbnRleHQuVVNFUikKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9k ZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisgICAgICAgICAgICAgICAgIGFzc2VydCBGYWxzZSwg IlhGQUlMIgorICAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9yOgorLSAgICAgICAgICAgIGVx XyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxfbW9kZSkKKysgICAgICAgICAgICBhc3NlcnQg c2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2Vy X21vZGVfc2hhbGxfcmVzdG9yZV9iZWhhdmVfbW9kZV9pZl9leGNlcHRpb25faXNfcmFpc2VkKHNl bGYpOgorICAgICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRleHQuQkVIQVZFCistICAg ICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBpbml0aWFsX21vZGUpCisrICAgICAgICBhc3Nl cnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorICAgICAgICAgdHJ5OgorICAg ICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAg ICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBydW5uZXIuQ29udGV4dC5VU0VSKQor KyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250 ZXh0LlVTRVIKKyAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJYRkFJTCIpCisg ICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRl eHQuX21vZGUsIGluaXRpYWxfbW9kZSkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0 Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2Vfd2l0aF91c2VyX21v ZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2RlKHNlbGYpOgorICAgICAgICAgIyAtLSBDQVNF OiBObyBleGNlcHRpb24gaXMgcmFpc2VkLgorQEAgLTcxLDkgKzY5LDkgQEAgY2xhc3MgVGVzdENv bnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVy LkNvbnRleHQuQkVIQVZFCisgICAgICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21v ZGUKKyAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJfbW9kZSgpOgorLSAg ICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIHJ1bm5lci5Db250ZXh0LlVTRVIpCisr ICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5V U0VSCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorLSAgICAgICAg ZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2RlKQorKyAgICAgICAgYXNzZXJ0IHNl bGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAgZGVmIHRlc3RfdXNlX3dp dGhfdXNlcl9tb2RlX19zaGFsbF9yZXN0b3JlX2luaXRpYWxfbW9kZV93aXRoX2Vycm9yKHNlbGYp OgorICAgICAgICAgIyAtLSBDQVNFOiBFeGNlcHRpb24gaXMgcmFpc2VkLgorQEAgLTgyLDEwICs4 MCwxMCBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBz ZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAgICAgICAg ICAgICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAgICAg ICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgcnVubmVyLkNvbnRleHQuVVNFUikKKysgICAg ICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5V U0VSCisgICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiWEZBSUwiKQorICAgICAg ICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKKy0gICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9t b2RlLCBpbml0aWFsX21vZGUpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9k ZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAgZGVmIHRlc3RfdXNlX3dpdGhfYmVoYXZlX21vZGVf X3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2RlKHNlbGYpOgorICAgICAgICAgIyAtLSBDQVNFOiBO byBleGNlcHRpb24gaXMgcmFpc2VkLgorQEAgLTkzLDkgKzkxLDkgQEAgY2xhc3MgVGVzdENvbnRl eHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNv bnRleHQuVVNFUgorICAgICAgICAgc2VsZi5jb250ZXh0Ll9tb2RlID0gaW5pdGlhbF9tb2RlCisg ICAgICAgICB3aXRoIHNlbGYuY29udGV4dC5fdXNlX3dpdGhfYmVoYXZlX21vZGUoKToKKy0gICAg ICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBydW5uZXIuQ29udGV4dC5CRUhBVkUpCisr ICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5C RUhBVkUKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCistICAgICAg ICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBpbml0aWFsX21vZGUpCisrICAgICAgICBhc3NlcnQg c2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2Vf d2l0aF9iZWhhdmVfbW9kZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGVfd2l0aF9lcnJvcihz ZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTogRXhjZXB0aW9uIGlzIHJhaXNlZC4KK0BAIC0xMDQs MjIgKzEwMiwyMiBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAg ICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAg ICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC5fdXNlX3dpdGhfYmVoYXZlX21vZGUoKToKKy0g ICAgICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgcnVubmVyLkNvbnRleHQuQkVI QVZFKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5l ci5Db250ZXh0LkJFSEFWRQorICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlhG QUlMIikKKyAgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CistICAgICAgICAgICAgZXFfKHNl bGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2RlKQorKyAgICAgICAgICAgIGFzc2VydCBzZWxm LmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgCisgICAgIGRlZiB0ZXN0X2NvbnRleHRf Y29udGFpbnMoc2VsZik6CistICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIEZh bHNlKQorKyAgICAgICAgYXNzZXJ0ICJ0aGluZyIgbm90IGluIHNlbGYuY29udGV4dAorICAgICAg ICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorLSAgICAgICAgZXFfKCJ0aGluZyIgaW4g c2VsZi5jb250ZXh0LCBUcnVlKQorKyAgICAgICAgYXNzZXJ0ICJ0aGluZyIgaW4gc2VsZi5jb250 ZXh0CisgICAgICAgICBzZWxmLmNvbnRleHQuX3B1c2goKQorLSAgICAgICAgZXFfKCJ0aGluZyIg aW4gc2VsZi5jb250ZXh0LCBUcnVlKQorKyAgICAgICAgYXNzZXJ0ICJ0aGluZyIgaW4gc2VsZi5j b250ZXh0CisgCisgICAgIGRlZiB0ZXN0X2F0dHJpYnV0ZV9zZXRfYXRfdXBwZXJfbGV2ZWxfdmlz aWJsZV9hdF9sb3dlcl9sZXZlbChzZWxmKToKKyAgICAgICAgIHNlbGYuY29udGV4dC50aGluZyA9 ICJzdHVmZiIKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCistICAgICAgICBlcV8oc2Vs Zi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50 aGluZyA9PSAic3R1ZmYiCisgCisgICAgIGRlZiB0ZXN0X2F0dHJpYnV0ZV9zZXRfYXRfbG93ZXJf bGV2ZWxfbm90X3Zpc2libGVfYXRfdXBwZXJfbGV2ZWwoc2VsZik6CisgICAgICAgICBzZWxmLmNv bnRleHQuX3B1c2goKQorQEAgLTEzMCwxNiArMTI4LDE2IEBAIGNsYXNzIFRlc3RDb250ZXh0KHVu aXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgZGVmIHRlc3RfYXR0cmlidXRlc19zZXRfYXRfdXBwZXJf bGV2ZWxfdmlzaWJsZV9hdF9sb3dlcl9sZXZlbChzZWxmKToKKyAgICAgICAgIHNlbGYuY29udGV4 dC50aGluZyA9ICJzdHVmZiIKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCistICAgICAg ICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQorKyAgICAgICAgYXNzZXJ0IHNlbGYu Y29udGV4dC50aGluZyA9PSAic3R1ZmYiCisgICAgICAgICBzZWxmLmNvbnRleHQub3RoZXJfdGhp bmcgPSAibW9yZSBzdHVmZiIKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCistICAgICAg ICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQorLSAgICAgICAgZXFfKHNlbGYuY29u dGV4dC5vdGhlcl90aGluZywgIm1vcmUgc3R1ZmYiKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29u dGV4dC50aGluZyA9PSAic3R1ZmYiCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Lm90aGVy X3RoaW5nID09ICJtb3JlIHN0dWZmIgorICAgICAgICAgc2VsZi5jb250ZXh0LnRoaXJkX3RoaW5n ID0gIndvbWJhdHMiCisgICAgICAgICBzZWxmLmNvbnRleHQuX3B1c2goKQorLSAgICAgICAgZXFf KHNlbGYuY29udGV4dC50aGluZywgInN0dWZmIikKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQu b3RoZXJfdGhpbmcsICJtb3JlIHN0dWZmIikKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGhp cmRfdGhpbmcsICJ3b21iYXRzIikKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGhpbmcg PT0gInN0dWZmIgorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5vdGhlcl90aGluZyA9PSAi bW9yZSBzdHVmZiIKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGhpcmRfdGhpbmcgPT0g IndvbWJhdHMiCisgCisgICAgIGRlZiB0ZXN0X2F0dHJpYnV0ZXNfc2V0X2F0X2xvd2VyX2xldmVs X25vdF92aXNpYmxlX2F0X3VwcGVyX2xldmVsKHNlbGYpOgorICAgICAgICAgc2VsZi5jb250ZXh0 LnRoaW5nID0gInN0dWZmIgorQEAgLTE0OSwxNyArMTQ3LDE3IEBAIGNsYXNzIFRlc3RDb250ZXh0 KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCisg ICAgICAgICBzZWxmLmNvbnRleHQudGhpcmRfdGhpbmcgPSAid29tYmF0cyIKKy0gICAgICAgIGVx XyhzZWxmLmNvbnRleHQudGhpbmcsICJzdHVmZiIpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0 Lm90aGVyX3RoaW5nLCAibW9yZSBzdHVmZiIpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRo aXJkX3RoaW5nLCAid29tYmF0cyIpCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRoaW5n ID09ICJzdHVmZiIKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQub3RoZXJfdGhpbmcgPT0g Im1vcmUgc3R1ZmYiCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRoaXJkX3RoaW5nID09 ICJ3b21iYXRzIgorIAorICAgICAgICAgc2VsZi5jb250ZXh0Ll9wb3AoKQorLSAgICAgICAgZXFf KHNlbGYuY29udGV4dC50aGluZywgInN0dWZmIikKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQu b3RoZXJfdGhpbmcsICJtb3JlIHN0dWZmIikKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQu dGhpbmcgPT0gInN0dWZmIgorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5vdGhlcl90aGlu ZyA9PSAibW9yZSBzdHVmZiIKKyAgICAgICAgIGFzc2VydCBnZXRhdHRyKHNlbGYuY29udGV4dCwg InRoaXJkX3RoaW5nIiwgTm9uZSkgaXMgTm9uZSwgIiVzIGlzIG5vdCBOb25lIiAlIHNlbGYuY29u dGV4dC50aGlyZF90aGluZworIAorICAgICAgICAgc2VsZi5jb250ZXh0Ll9wb3AoKQorLSAgICAg ICAgZXFfKHNlbGYuY29udGV4dC50aGluZywgInN0dWZmIikKKysgICAgICAgIGFzc2VydCBzZWxm LmNvbnRleHQudGhpbmcgPT0gInN0dWZmIgorICAgICAgICAgYXNzZXJ0IGdldGF0dHIoc2VsZi5j b250ZXh0LCAib3RoZXJfdGhpbmciLCBOb25lKSBpcyBOb25lLCAiJXMgaXMgbm90IE5vbmUiICUg c2VsZi5jb250ZXh0Lm90aGVyX3RoaW5nCisgICAgICAgICBhc3NlcnQgZ2V0YXR0cihzZWxmLmNv bnRleHQsICJ0aGlyZF90aGluZyIsIE5vbmUpIGlzIE5vbmUsICIlcyBpcyBub3QgTm9uZSIgJSBz ZWxmLmNvbnRleHQudGhpcmRfdGhpbmcKKyAKK0BAIC0yNzAsMjEgKzI2OCwyMiBAQCBjbGFzcyBU ZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBhc3NlcnQgZmlsZW5hbWUg aW4gaW5mbywgIiVyIG5vdCBpbiAlciIgJSAoZmlsZW5hbWUsIGluZm8pCisgCisgICAgIGRlZiB0 ZXN0X2NvbnRleHRfZGVsZXRhYmxlKHNlbGYpOgorLSAgICAgICAgZXFfKCJ0aGluZyIgaW4gc2Vs Zi5jb250ZXh0LCBGYWxzZSkKKysgICAgICAgIGFzc2VydCAidGhpbmciIG5vdCBpbiBzZWxmLmNv bnRleHQKKyAgICAgICAgIHNlbGYuY29udGV4dC50aGluZyA9ICJzdHVmZiIKKy0gICAgICAgIGVx XygidGhpbmciIGluIHNlbGYuY29udGV4dCwgVHJ1ZSkKKysgICAgICAgIGFzc2VydCAidGhpbmci IGluIHNlbGYuY29udGV4dAorICAgICAgICAgZGVsIHNlbGYuY29udGV4dC50aGluZworLSAgICAg ICAgZXFfKCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBGYWxzZSkKKysgICAgICAgIGFzc2VydCAi dGhpbmciIG5vdCBpbiBzZWxmLmNvbnRleHQKKyAKKy0gICAgQHJhaXNlcyhBdHRyaWJ1dGVFcnJv cikKKysgICAgIyBPTEQ6IEByYWlzZXMoQXR0cmlidXRlRXJyb3IpCisgICAgIGRlZiB0ZXN0X2Nv bnRleHRfZGVsZXRhYmxlX3JhaXNlcyhzZWxmKToKKyAgICAgICAgICMgcHlsaW50OiBkaXNhYmxl PXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAgIGVxXygidGhpbmciIGluIHNlbGYuY29udGV4dCwg RmFsc2UpCisrICAgICAgICBhc3NlcnQgInRoaW5nIiBub3QgaW4gc2VsZi5jb250ZXh0CisgICAg ICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCistICAgICAgICBlcV8oInRoaW5nIiBp biBzZWxmLmNvbnRleHQsIFRydWUpCisrICAgICAgICBhc3NlcnQgInRoaW5nIiBpbiBzZWxmLmNv bnRleHQKKyAgICAgICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCistICAgICAgICBlcV8oInRoaW5n IiBpbiBzZWxmLmNvbnRleHQsIFRydWUpCistICAgICAgICBkZWwgc2VsZi5jb250ZXh0LnRoaW5n CisrICAgICAgICBhc3NlcnQgInRoaW5nIiBpbiBzZWxmLmNvbnRleHQKKysgICAgICAgIHdpdGgg cHl0ZXN0LnJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisrICAgICAgICAgICAgZGVsIHNlbGYuY29u dGV4dC50aGluZworIAorIAorIGNsYXNzIEV4YW1wbGVTdGVwcyhvYmplY3QpOgorQEAgLTM2Miw3 ICszNjEsNyBAQCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAiIiIubHN0cmlwKCkKKyAgICAgICAgIHdp dGggcGF0Y2goImJlaGF2ZS5zdGVwX3JlZ2lzdHJ5LnJlZ2lzdHJ5Iiwgc2VsZi5zdGVwX3JlZ2lz dHJ5KToKKyAgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmNvbnRleHQuZXhlY3V0ZV9zdGVwcyhk b2MpCistICAgICAgICAgICAgZXFfKHJlc3VsdCwgVHJ1ZSkKKysgICAgICAgICAgICBhc3NlcnQg cmVzdWx0IGlzIFRydWUKKyAKKyAgICAgZGVmIHRlc3RfZXhlY3V0ZV9zdGVwc193aXRoX2ZhaWxp bmdfc3RlcChzZWxmKToKKyAgICAgICAgIGRvYyA9IHUiIiIKK0BAIC0zNzQsNyArMzczLDcgQEAg VGhlbiBhIHN0ZXAgcGFzc2VzCisgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICBy ZXN1bHQgPSBzZWxmLmNvbnRleHQuZXhlY3V0ZV9zdGVwcyhkb2MpCisgICAgICAgICAgICAgZXhj ZXB0IEFzc2VydGlvbkVycm9yIGFzIGU6CistICAgICAgICAgICAgICAgIG9rXygiRkFJTEVEIFNV Qi1TVEVQOiBXaGVuIGEgc3RlcCBmYWlscyIgaW4gX3RleHQoZSkpCisrICAgICAgICAgICAgICAg IGFzc2VydCAiRkFJTEVEIFNVQi1TVEVQOiBXaGVuIGEgc3RlcCBmYWlscyIgaW4gX3RleHQoZSkK KyAKKyAgICAgZGVmIHRlc3RfZXhlY3V0ZV9zdGVwc193aXRoX3VuZGVmaW5lZF9zdGVwKHNlbGYp OgorICAgICAgICAgZG9jID0gdSIiIgorQEAgLTM4Niw3ICszODUsNyBAQCBUaGVuIGEgc3RlcCBw YXNzZXMKKyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYu Y29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKyAgICAgICAgICAgICBleGNlcHQgQXNzZXJ0aW9u RXJyb3IgYXMgZToKKy0gICAgICAgICAgICAgICAgb2tfKCJVTkRFRklORUQgU1VCLVNURVA6IFdo ZW4gYSBzdGVwIGlzIHVuZGVmaW5lZCIgaW4gX3RleHQoZSkpCisrICAgICAgICAgICAgICAgIGFz c2VydCAiVU5ERUZJTkVEIFNVQi1TVEVQOiBXaGVuIGEgc3RlcCBpcyB1bmRlZmluZWQiIGluIF90 ZXh0KGUpCisgCisgICAgIGRlZiB0ZXN0X2V4ZWN1dGVfc3RlcHNfd2l0aF90ZXh0KHNlbGYpOgor ICAgICAgICAgZG9jID0gdScnJworQEAgLTQwMSw4ICs0MDAsOCBAQCBUaGVuIGEgc3RlcCBwYXNz ZXMKKyAgICAgICAgIHdpdGggcGF0Y2goImJlaGF2ZS5zdGVwX3JlZ2lzdHJ5LnJlZ2lzdHJ5Iiwg c2VsZi5zdGVwX3JlZ2lzdHJ5KToKKyAgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmNvbnRleHQu ZXhlY3V0ZV9zdGVwcyhkb2MpCisgICAgICAgICAgICAgZXhwZWN0ZWRfdGV4dCA9ICJMb3JlbSBp cHN1bVxuSXBzdW0gbG9yZW0iCistICAgICAgICAgICAgZXFfKHJlc3VsdCwgVHJ1ZSkKKy0gICAg ICAgICAgICBlcV8oZXhwZWN0ZWRfdGV4dCwgRXhhbXBsZVN0ZXBzLnRleHQpCisrICAgICAgICAg ICAgYXNzZXJ0IHJlc3VsdCBpcyBUcnVlCisrICAgICAgICAgICAgYXNzZXJ0IGV4cGVjdGVkX3Rl eHQgPT0gRXhhbXBsZVN0ZXBzLnRleHQKKyAKKyAgICAgZGVmIHRlc3RfZXhlY3V0ZV9zdGVwc193 aXRoX3RhYmxlKHNlbGYpOgorICAgICAgICAgZG9jID0gdSIiIgorQEAgLTQxOSw4ICs0MTgsOCBA QCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAgICAgICAgICAgICAgIFt1IkFsaWNlIiwgdSIx MiJdLAorICAgICAgICAgICAgICAgICAgICAgW3UiQm9iIiwgICB1IjIzIl0sCisgICAgICAgICAg ICAgXSkKKy0gICAgICAgICAgICBlcV8ocmVzdWx0LCBUcnVlKQorLSAgICAgICAgICAgIGVxXyhl eHBlY3RlZF90YWJsZSwgRXhhbXBsZVN0ZXBzLnRhYmxlKQorKyAgICAgICAgICAgIGFzc2VydCBy ZXN1bHQgaXMgVHJ1ZQorKyAgICAgICAgICAgIGFzc2VydCBleHBlY3RlZF90YWJsZSA9PSBFeGFt cGxlU3RlcHMudGFibGUKKyAKKyAgICAgZGVmIHRlc3RfY29udGV4dF90YWJsZV9pc19yZXN0b3Jl ZF9hZnRlcl9leGVjdXRlX3N0ZXBzX3dpdGhvdXRfdGFibGUoc2VsZik6CisgICAgICAgICBkb2Mg PSB1IiIiCitAQCAtNDMxLDcgKzQzMCw3IEBAIFRoZW4gYSBzdGVwIHBhc3NlcworICAgICAgICAg ICAgIG9yaWdpbmFsX3RhYmxlID0gIjxPUklHSU5BTF9UQUJMRT4iCisgICAgICAgICAgICAgc2Vs Zi5jb250ZXh0LnRhYmxlID0gb3JpZ2luYWxfdGFibGUKKyAgICAgICAgICAgICBzZWxmLmNvbnRl eHQuZXhlY3V0ZV9zdGVwcyhkb2MpCistICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC50YWJs ZSwgb3JpZ2luYWxfdGFibGUpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50YWJs ZSA9PSBvcmlnaW5hbF90YWJsZQorIAorICAgICBkZWYgdGVzdF9jb250ZXh0X3RhYmxlX2lzX3Jl c3RvcmVkX2FmdGVyX2V4ZWN1dGVfc3RlcHNfd2l0aF90YWJsZShzZWxmKToKKyAgICAgICAgIGRv YyA9IHUiIiIKK0BAIC00NDUsNyArNDQ0LDcgQEAgVGhlbiBhIHN0ZXAgcGFzc2VzCisgICAgICAg ICAgICAgb3JpZ2luYWxfdGFibGUgPSAiPE9SSUdJTkFMX1RBQkxFPiIKKyAgICAgICAgICAgICBz ZWxmLmNvbnRleHQudGFibGUgPSBvcmlnaW5hbF90YWJsZQorICAgICAgICAgICAgIHNlbGYuY29u dGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKy0gICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRh YmxlLCBvcmlnaW5hbF90YWJsZSkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRh YmxlID09IG9yaWdpbmFsX3RhYmxlCisgCisgICAgIGRlZiB0ZXN0X2NvbnRleHRfdGV4dF9pc19y ZXN0b3JlZF9hZnRlcl9leGVjdXRlX3N0ZXBzX3dpdGhvdXRfdGV4dChzZWxmKToKKyAgICAgICAg IGRvYyA9IHUiIiIKK0BAIC00NTYsNyArNDU1LDcgQEAgVGhlbiBhIHN0ZXAgcGFzc2VzCisgICAg ICAgICAgICAgb3JpZ2luYWxfdGV4dCA9ICI8T1JJR0lOQUxfVEVYVD4iCisgICAgICAgICAgICAg c2VsZi5jb250ZXh0LnRleHQgPSBvcmlnaW5hbF90ZXh0CisgICAgICAgICAgICAgc2VsZi5jb250 ZXh0LmV4ZWN1dGVfc3RlcHMoZG9jKQorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGV4 dCwgb3JpZ2luYWxfdGV4dCkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRleHQg PT0gb3JpZ2luYWxfdGV4dAorIAorICAgICBkZWYgdGVzdF9jb250ZXh0X3RleHRfaXNfcmVzdG9y ZWRfYWZ0ZXJfZXhlY3V0ZV9zdGVwc193aXRoX3RleHQoc2VsZik6CisgICAgICAgICBkb2MgPSB1 JycnCitAQCAtNDcxLDEwICs0NzAsMTAgQEAgV2hlbiBhIHN0ZXAgd2l0aCB0ZXh0OgorICAgICAg ICAgICAgIG9yaWdpbmFsX3RleHQgPSAiPE9SSUdJTkFMX1RFWFQ+IgorICAgICAgICAgICAgIHNl bGYuY29udGV4dC50ZXh0ID0gb3JpZ2luYWxfdGV4dAorICAgICAgICAgICAgIHNlbGYuY29udGV4 dC5leGVjdXRlX3N0ZXBzKGRvYykKKy0gICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRleHQs IG9yaWdpbmFsX3RleHQpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50ZXh0ID09 IG9yaWdpbmFsX3RleHQKKyAKKyAKKy0gICAgQHJhaXNlcyhWYWx1ZUVycm9yKQorKyAgICAjIE9M RDogQHJhaXNlcyhWYWx1ZUVycm9yKQorICAgICBkZWYgdGVzdF9leGVjdXRlX3N0ZXBzX3Nob3Vs ZF9mYWlsX3doZW5fY2FsbGVkX3dpdGhvdXRfZmVhdHVyZShzZWxmKToKKyAgICAgICAgIGRvYyA9 IHUiIiIKKyBHaXZlbiBhIHBhc3NlcworQEAgLTQ4Miw3ICs0ODEsOCBAQCBUaGVuIGEgc3RlcCBw YXNzZXMKKyAiIiIubHN0cmlwKCkKKyAgICAgICAgIHdpdGggcGF0Y2goImJlaGF2ZS5zdGVwX3Jl Z2lzdHJ5LnJlZ2lzdHJ5Iiwgc2VsZi5zdGVwX3JlZ2lzdHJ5KToKKyAgICAgICAgICAgICBzZWxm LmNvbnRleHQuZmVhdHVyZSA9IE5vbmUKKy0gICAgICAgICAgICBzZWxmLmNvbnRleHQuZXhlY3V0 ZV9zdGVwcyhkb2MpCisrICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKFZhbHVlRXJyb3Ip OgorKyAgICAgICAgICAgICAgICBzZWxmLmNvbnRleHQuZXhlY3V0ZV9zdGVwcyhkb2MpCisgCisg CisgZGVmIGNyZWF0ZV9tb2NrX2NvbmZpZygpOgorQEAgLTU4OCwxMSArNTg4LDExIEBAIGNsYXNz IFRlc3RSdW5uZXIob2JqZWN0KToKKyAgICAgICAgIHIuc2V0dXBfY2FwdHVyZSgpCisgICAgICAg ICByLnN0YXJ0X2NhcHR1cmUoKQorIAorLSAgICAgICAgZXFfKHN5cy5zdGRvdXQsIHIuY2FwdHVy ZV9jb250cm9sbGVyLnN0ZG91dF9jYXB0dXJlKQorKyAgICAgICAgYXNzZXJ0IHN5cy5zdGRvdXQg PT0gci5jYXB0dXJlX2NvbnRyb2xsZXIuc3Rkb3V0X2NhcHR1cmUKKyAKKyAgICAgICAgIHIuc3Rv cF9jYXB0dXJlKCkKKyAKKy0gICAgICAgIGVxXyhzeXMuc3Rkb3V0LCBuZXdfc3Rkb3V0KQorKyAg ICAgICAgYXNzZXJ0IHN5cy5zdGRvdXQgPT0gbmV3X3N0ZG91dAorIAorICAgICAgICAgc3lzLnN0 ZG91dCA9IG9sZF9zdGRvdXQKKyAKK0BAIC02MDUsMTEgKzYwNSwxMSBAQCBjbGFzcyBUZXN0UnVu bmVyKG9iamVjdCk6CisgCisgICAgICAgICByLnN0YXJ0X2NhcHR1cmUoKQorIAorLSAgICAgICAg ZXFfKHN5cy5zdGRvdXQsIG9sZF9zdGRvdXQpCisrICAgICAgICBhc3NlcnQgc3lzLnN0ZG91dCA9 PSBvbGRfc3Rkb3V0CisgCisgICAgICAgICByLnN0b3BfY2FwdHVyZSgpCisgCistICAgICAgICBl cV8oc3lzLnN0ZG91dCwgb2xkX3N0ZG91dCkKKysgICAgICAgIGFzc2VydCBzeXMuc3Rkb3V0ID09 IG9sZF9zdGRvdXQKKyAKKyAgICAgZGVmIHRlc3RfdGVhcmRvd25fY2FwdHVyZV9yZW1vdmVzX2xv Z190YXAoc2VsZik6CisgICAgICAgICByID0gcnVubmVyLlJ1bm5lcihNb2NrKCkpCitAQCAtNjMz LDcgKzYzMyw3IEBAIGNsYXNzIFRlc3RSdW5uZXIob2JqZWN0KToKKyAgICAgICAgICMgcHlsaW50 OiBkaXNhYmxlPXRvby1tYW55LWZvcm1hdC1hcmdzCisgICAgICAgICBhc3NlcnQgInNwYW0iIGlu IGwsICcic3BhbSIgdmFyaWFibGUgbm90IHNldCBpbiBsb2NhbHMgKCVyKScgJSAoZywgbCkKKyAg ICAgICAgICMgcHlsaW50OiBlbmFibGU9dG9vLW1hbnktZm9ybWF0LWFyZ3MKKy0gICAgICAgIGVx XyhsWyJzcGFtIl0sIGZuKQorKyAgICAgICAgYXNzZXJ0IGxbInNwYW0iXSA9PSBmbgorIAorICAg ICBkZWYgdGVzdF9ydW5fcmV0dXJuc190cnVlX2lmX2V2ZXJ5dGhpbmdfcGFzc2VkKHNlbGYpOgor ICAgICAgICAgciA9IHJ1bm5lci5SdW5uZXIoTW9jaygpKQorQEAgLTY5NCwxMSArNjk0LDExIEBA IGNsYXNzIFRlc3RSdW5XaXRoUGF0aHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgc2Vs Zi5ydW5uZXIuY29udGV4dCA9IE1vY2soKQorICAgICAgICAgc2VsZi5ydW5uZXIucnVuX3dpdGhf cGF0aHMoKQorIAorLSAgICAgICAgZXFfKHNlbGYucnVuX2hvb2suY2FsbF9hcmdzX2xpc3QsIFsK KysgICAgICAgIGFzc2VydCBzZWxmLnJ1bl9ob29rLmNhbGxfYXJnc19saXN0ID09IFsKKyAgICAg ICAgICAgICAoKCksIHt9KSwKKyAgICAgICAgICAgICAoKCJiZWZvcmVfYWxsIiwgc2VsZi5ydW5u ZXIuY29udGV4dCksIHt9KSwKKyAgICAgICAgICAgICAoKCJhZnRlcl9hbGwiLCBzZWxmLnJ1bm5l ci5jb250ZXh0KSwge30pLAorLSAgICAgICAgXSkKKysgICAgICAgIF0KKyAKKyAgICAgQHBhdGNo KCJiZWhhdmUucGFyc2VyLnBhcnNlX2ZpbGUiKQorICAgICBAcGF0Y2goIm9zLnBhdGguYWJzcGF0 aCIpCitAQCAtNzI0LDggKzcyNCw4IEBAIGNsYXNzIFRlc3RSdW5XaXRoUGF0aHModW5pdHRlc3Qu VGVzdENhc2UpOgorIAorICAgICAgICAgZXhwZWN0ZWRfcGFyc2VfZmlsZV9hcmdzID0gXAorICAg ICAgICAgICAgIFsoKHgudXBwZXIoKSwpLCB7Imxhbmd1YWdlIjogImZyaXR6In0pIGZvciB4IGlu IGZlYXR1cmVfbG9jYXRpb25zXQorLSAgICAgICAgZXFfKHBhcnNlX2ZpbGUuY2FsbF9hcmdzX2xp c3QsIGV4cGVjdGVkX3BhcnNlX2ZpbGVfYXJncykKKy0gICAgICAgIGVxXyhzZWxmLnJ1bm5lci5m ZWF0dXJlcywgW2ZlYXR1cmVdICogMykKKysgICAgICAgIGFzc2VydCBwYXJzZV9maWxlLmNhbGxf YXJnc19saXN0ID09IGV4cGVjdGVkX3BhcnNlX2ZpbGVfYXJncworKyAgICAgICAgYXNzZXJ0IHNl bGYucnVubmVyLmZlYXR1cmVzID09IFtmZWF0dXJlXSAqIDMKKyAKKyAKKyBjbGFzcyBGc01vY2so b2JqZWN0KToKK0BAIC04MjksOSArODI5LDEyIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5 KG9iamVjdCk6CisgCisgICAgICAgICAjIHdpbGwgbG9vayBmb3IgYSAiZmVhdHVyZXMiIGRpcmVj dG9yeSBhbmQgbm90IGZpbmQgb25lCisgICAgICAgICB3aXRoIHBhdGNoKCJvcy5wYXRoIiwgZnMp OgorLSAgICAgICAgICAgIGFzc2VydF9yYWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMp CisrICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAg ICAgICAgICAgci5zZXR1cF9wYXRocygpCisrICAgICAgICAgICAgIyBPTEQ6IGFzc2VydF9yYWlz ZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMpCisgCistICAgICAgICBva18oKCJpc2RpciIs IG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMp CisrICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVy ZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMKKysgICAgICAgICMgb2tfKCgiaXNkaXIiLCBvcy5w YXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorIAor ICAgICBkZWYgdGVzdF9kZWZhdWx0X3BhdGhfbm9fZmVhdHVyZXMoc2VsZik6CisgICAgICAgICBj b25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTg0Miw3ICs4NDUsOSBAQCBjbGFzcyBU ZXN0RmVhdHVyZURpcmVjdG9yeShvYmplY3QpOgorICAgICAgICAgZnMgPSBGc01vY2soImZlYXR1 cmVzL3N0ZXBzLyIpCisgICAgICAgICB3aXRoIHBhdGNoKCJvcy5wYXRoIiwgZnMpOgorICAgICAg ICAgICAgIHdpdGggcGF0Y2goIm9zLndhbGsiLCBmcy53YWxrKToKKy0gICAgICAgICAgICAgICAg YXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKysgICAgICAgICAgICAg ICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAg IHIuc2V0dXBfcGF0aHMoKQorKyAgICAgICAgICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhD b25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKyAKKyAgICAgZGVmIHRlc3RfZGVmYXVsdF9wYXRo KHNlbGYpOgorICAgICAgICAgY29uZmlnID0gY3JlYXRlX21vY2tfY29uZmlnKCkKK0BAIC04NTcs NyArODYyLDcgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3Rvcnkob2JqZWN0KToKKyAgICAgICAg ICAgICAgICAgd2l0aCByLnBhdGhfbWFuYWdlcjoKKyAgICAgICAgICAgICAgICAgICAgIHIuc2V0 dXBfcGF0aHMoKQorIAorLSAgICAgICAgZXFfKHIuYmFzZV9kaXIsIG9zLnBhdGguYWJzcGF0aCgi ZmVhdHVyZXMiKSkKKysgICAgICAgIGFzc2VydCByLmJhc2VfZGlyID09IG9zLnBhdGguYWJzcGF0 aCgiZmVhdHVyZXMiKQorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2ZpbGUoc2Vs Zik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTg3MiwxMCAr ODc3LDEyIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5KG9iamVjdCk6CisgICAgICAgICAg ICAgd2l0aCBwYXRjaCgib3Mud2FsayIsIGZzLndhbGspOgorICAgICAgICAgICAgICAgICB3aXRo IHIucGF0aF9tYW5hZ2VyOgorICAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCist ICAgICAgICBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3RlcHMiKSkgaW4g ZnMuY2FsbHMpCistICAgICAgICBva18oKCJpc2ZpbGUiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwg ImZvby5mZWF0dXJlIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBv cy5wYXRoLmpvaW4oZnMuYmFzZSwgInN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAgICAgICBhc3Nl cnQgKCJpc2ZpbGUiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZvby5mZWF0dXJlIikpIGluIGZz LmNhbGxzCisrICAgICAgICAjIE9MRDogb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFz ZSwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAgIyBPTEQ6IG9rXygoImlzZmlsZSIs IG9zLnBhdGguam9pbihmcy5iYXNlLCAiZm9vLmZlYXR1cmUiKSkgaW4gZnMuY2FsbHMpCisgCist ICAgICAgICBlcV8oci5iYXNlX2RpciwgZnMuYmFzZSkKKysgICAgICAgIGFzc2VydCByLmJhc2Vf ZGlyID09IGZzLmJhc2UKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRfZmVhdHVyZV9maWxlX25v X3N0ZXBzKHNlbGYpOgorICAgICAgICAgY29uZmlnID0gY3JlYXRlX21vY2tfY29uZmlnKCkKK0BA IC04ODgsNyArODk1LDkgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3Rvcnkob2JqZWN0KToKKyAg ICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBmcyk6CisgICAgICAgICAgICAgd2l0aCBwYXRj aCgib3Mud2FsayIsIGZzLndhbGspOgorICAgICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5h Z2VyOgorLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5z ZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhDb25m aWdFcnJvcik6CisrICAgICAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisrICAg ICAgICAgICAgICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1 cF9wYXRocykKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRfZmVhdHVyZV9kaXJlY3Rvcnkoc2Vs Zik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTkwMyw5ICs5 MTIsMTAgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3Rvcnkob2JqZWN0KToKKyAgICAgICAgICAg ICAgICAgd2l0aCByLnBhdGhfbWFuYWdlcjoKKyAgICAgICAgICAgICAgICAgICAgIHIuc2V0dXBf cGF0aHMoKQorIAorLSAgICAgICAgb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwg InNwYW0iLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBhc3NlcnQgKCJpc2RpciIs IG9zLnBhdGguam9pbihmcy5iYXNlLCAic3BhbSIsICJzdGVwcyIpKSBpbiBmcy5jYWxscworKyAg ICAgICAgIyBPTEQgb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iLCAi c3RlcHMiKSkgaW4gZnMuY2FsbHMpCisgCistICAgICAgICBlcV8oci5iYXNlX2Rpciwgb3MucGF0 aC5qb2luKGZzLmJhc2UsICJzcGFtIikpCisrICAgICAgICBhc3NlcnQgci5iYXNlX2RpciA9PSBv cy5wYXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iKQorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9m ZWF0dXJlX2RpcmVjdG9yeV9ub19zdGVwcyhzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0 ZV9tb2NrX2NvbmZpZygpCitAQCAtOTE3LDkgKzkyNywxMiBAQCBjbGFzcyBUZXN0RmVhdHVyZURp cmVjdG9yeShvYmplY3QpOgorIAorICAgICAgICAgd2l0aCBwYXRjaCgib3MucGF0aCIsIGZzKToK KyAgICAgICAgICAgICB3aXRoIHBhdGNoKCJvcy53YWxrIiwgZnMud2Fsayk6CistICAgICAgICAg ICAgICAgIGFzc2VydF9yYWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMpCisrICAgICAg ICAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhDb25maWdFcnJvcik6CisrICAgICAgICAgICAg ICAgICAgICByLnNldHVwX3BhdGhzKCkKKysgICAgICAgICAgICAgICAgIyBPTEQ6IGFzc2VydF9y YWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMpCisgCistICAgICAgICBva18oKCJpc2Rp ciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3BhbSIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykK KysgICAgICAgIGFzc2VydCAoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJzcGFtIiwg InN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAgICAgICAjIE9MRDogb2tfKCgiaXNkaXIiLCBvcy5w YXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisgCisgICAg IGRlZiB0ZXN0X3N1cHBsaWVkX2ZlYXR1cmVfZGlyZWN0b3J5X21pc3Npbmcoc2VsZik6CisgICAg ICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTkzMSw3ICs5NDQsOSBAQCBj bGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeShvYmplY3QpOgorIAorICAgICAgICAgd2l0aCBwYXRj aCgib3MucGF0aCIsIGZzKToKKyAgICAgICAgICAgICB3aXRoIHBhdGNoKCJvcy53YWxrIiwgZnMu d2Fsayk6CistICAgICAgICAgICAgICAgIGFzc2VydF9yYWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0 dXBfcGF0aHMpCisrICAgICAgICAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhDb25maWdFcnJv cik6CisrICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKysgICAgICAgICAgICAg ICAgIyBPTEQ6IGFzc2VydF9yYWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMpCisgCisg CisgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3RvcnlMYXlvdXQyKG9iamVjdCk6CitAQCAtOTU1LDcg Kzk3MCw3IEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5TGF5b3V0MihvYmplY3QpOgorICAg ICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorICAgICAgICAgICAgICAgICAgICAg ci5zZXR1cF9wYXRocygpCisgCistICAgICAgICBlcV8oci5iYXNlX2Rpciwgb3MucGF0aC5hYnNw YXRoKCJmZWF0dXJlcyIpKQorKyAgICAgICAgYXNzZXJ0IHIuYmFzZV9kaXIgPT0gb3MucGF0aC5h YnNwYXRoKCJmZWF0dXJlcyIpCisgCisgICAgIGRlZiB0ZXN0X3N1cHBsaWVkX3Jvb3RfZGlyZWN0 b3J5KHNlbGYpOgorICAgICAgICAgY29uZmlnID0gY3JlYXRlX21vY2tfY29uZmlnKCkKK0BAIC05 NzUsOCArOTkwLDkgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3RvcnlMYXlvdXQyKG9iamVjdCk6 CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6CisgICAgICAgICAgICAgICAg ICAgICByLnNldHVwX3BhdGhzKCkKKyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5q b2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKy0gICAgICAg IGVxXyhyLmJhc2VfZGlyLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIikpCisrICAg ICAgICAjIE9MRDogb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVz IiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBvcy5w YXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAg ICAgICBhc3NlcnQgci5iYXNlX2RpciA9PSBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVz IikKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRfcm9vdF9kaXJlY3Rvcnlfbm9fc3RlcHMoc2Vs Zik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQorQEAgLTk5MywxMCAr MTAwOSwxMyBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeUxheW91dDIob2JqZWN0KToKKyAg ICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBmcyk6CisgICAgICAgICAgICAgd2l0aCBwYXRj aCgib3Mud2FsayIsIGZzLndhbGspOgorICAgICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5h Z2VyOgorLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5z ZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhDb25m aWdFcnJvcik6CisrICAgICAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisrICAg ICAgICAgICAgICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1 cF9wYXRocykKKyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2Us ICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKy0gICAgICAgIGVxXyhyLmJhc2Vf ZGlyLCBOb25lKQorKyAgICAgICAgIyBPTEQ6IG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZz LmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKysgICAgICAgIGFzc2Vy dCAoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBp biBmcy5jYWxscworKyAgICAgICAgYXNzZXJ0IHIuYmFzZV9kaXIgaXMgTm9uZQorIAorIAorICAg ICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2ZpbGUoc2VsZik6CitAQCAtMTAxOCw5ICsxMDM3 LDExIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5TGF5b3V0MihvYmplY3QpOgorICAgICAg ICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorICAgICAgICAgICAgICAgICAgICAgci5z ZXR1cF9wYXRocygpCisgCistICAgICAgICBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5i YXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgIGluIGZzLmNhbGxzKQorLSAgICAgICAgb2tfKCgi aXNmaWxlIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJncm91cDEiLCAiZm9v LmZlYXR1cmUiKSkgaW4gZnMuY2FsbHMpCistICAgICAgICBlcV8oci5iYXNlX2RpciwgZnMuam9p bihmcy5iYXNlLCAiZmVhdHVyZXMiKSkKKysgICAgICAgICMgT0xEOiBva18oKCJpc2RpciIsIG9z LnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgIGluIGZzLmNhbGxzKQor KyAgICAgICAgIyBPTEQ6IG9rXygoImlzZmlsZSIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVh dHVyZXMiLCAiZ3JvdXAxIiwgImZvby5mZWF0dXJlIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAg YXNzZXJ0ICgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBz IikpICBpbiBmcy5jYWxscworKyAgICAgICAgYXNzZXJ0ICgiaXNmaWxlIiwgb3MucGF0aC5qb2lu KGZzLmJhc2UsICJmZWF0dXJlcyIsICJncm91cDEiLCAiZm9vLmZlYXR1cmUiKSkgaW4gZnMuY2Fs bHMKKysgICAgICAgIGFzc2VydCByLmJhc2VfZGlyID09IGZzLmpvaW4oZnMuYmFzZSwgImZlYXR1 cmVzIikKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRfZmVhdHVyZV9maWxlX25vX3N0ZXBzKHNl bGYpOgorICAgICAgICAgY29uZmlnID0gY3JlYXRlX21vY2tfY29uZmlnKCkKK0BAIC0xMDM3LDcg KzEwNTgsOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeUxheW91dDIob2JqZWN0KToKKyAg ICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBmcyk6CisgICAgICAgICAgICAgd2l0aCBwYXRj aCgib3Mud2FsayIsIGZzLndhbGspOgorICAgICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5h Z2VyOgorLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5z ZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhDb25m aWdFcnJvcik6CisrICAgICAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisrICAg ICAgICAgICAgICAgICAgICAjIE9MRCBhc3NlcnRfcmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVw X3BhdGhzKQorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2RpcmVjdG9yeShzZWxm KToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZpZygpCitAQCAtMTA1Nyw4ICsx MDgwLDkgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3RvcnlMYXlvdXQyKG9iamVjdCk6CisgICAg ICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFnZXI6CisgICAgICAgICAgICAgICAgICAgICBy LnNldHVwX3BhdGhzKCkKKyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZz LmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKy0gICAgICAgIGVxXyhy LmJhc2VfZGlyLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIikpCisrICAgICAgICAj IE9MRDogb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0 ZXBzIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBvcy5wYXRoLmpv aW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAgICAgICBh c3NlcnQgci5iYXNlX2RpciA9PSBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIikKKyAK KyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRfZmVhdHVyZV9kaXJlY3Rvcnlfbm9fc3RlcHMoc2Vs Zik6CitAQCAtMTA3NSw2ICsxMDk5LDkgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3RvcnlMYXlv dXQyKG9iamVjdCk6CisgCisgICAgICAgICB3aXRoIHBhdGNoKCJvcy5wYXRoIiwgZnMpOgorICAg ICAgICAgICAgIHdpdGggcGF0Y2goIm9zLndhbGsiLCBmcy53YWxrKToKKy0gICAgICAgICAgICAg ICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKysgICAgICAgICAg ICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAgICAgICAgICAg ICAgIHIuc2V0dXBfcGF0aHMoKQorKyAgICAgICAgICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNl cyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwg b3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykK KysgICAgICAgICMgT0xEOiBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVh dHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBhc3NlcnQgKCJpc2RpciIs IG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMK K2RpZmYgLS1naXQgYS90ZXN0L3Rlc3Rfc3RlcF9yZWdpc3RyeS5weSBiL3Rlc3RzL3VuaXQvdGVz dF9zdGVwX3JlZ2lzdHJ5LnB5CitzaW1pbGFyaXR5IGluZGV4IDk1JQorcmVuYW1lIGZyb20gdGVz dC90ZXN0X3N0ZXBfcmVnaXN0cnkucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rlc3Rfc3RlcF9y ZWdpc3RyeS5weQoraW5kZXggZjViNWE0ZC4uNmY4NTcyOSAxMDA2NDQKKy0tLSBhL3Rlc3QvdGVz dF9zdGVwX3JlZ2lzdHJ5LnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3Rfc3RlcF9yZWdpc3RyeS5w eQorQEAgLTIsNyArMiw2IEBACisgIyBweWxpbnQ6IGRpc2FibGU9dW51c2VkLXdpbGRjYXJkLWlt cG9ydAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCB3aXRoX3N0YXRl bWVudAorIGZyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKKy1mcm9tIG5vc2UudG9vbHMgaW1w b3J0ICogICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXdpbGRjYXJkLWltcG9ydAorIGZyb20gc2l4 Lm1vdmVzIGltcG9ydCByYW5nZSAgICAgIyBweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVkLWJ1aWx0 aW4KKyBmcm9tIGJlaGF2ZSBpbXBvcnQgc3RlcF9yZWdpc3RyeQorIAorQEAgLTI2LDcgKzI1LDcg QEAgY2xhc3MgVGVzdFN0ZXBSZWdpc3RyeShvYmplY3QpOgorIAorICAgICAgICAgICAgICAgICBy ZWdpc3RyeS5hZGRfc3RlcF9kZWZpbml0aW9uKHN0ZXBfdHlwZS51cHBlcigpLCBwYXR0ZXJuLCBm dW5jKQorICAgICAgICAgICAgICAgICBnZXRfbWF0Y2hlci5hc3NlcnRfY2FsbGVkX3dpdGgoZnVu YywgcGF0dGVybikKKy0gICAgICAgICAgICAgICAgZXFfKGwsIFttYWdpY19vYmplY3RdKQorKyAg ICAgICAgICAgICAgICBhc3NlcnQgbCA9PSBbbWFnaWNfb2JqZWN0XQorIAorICAgICBkZWYgdGVz dF9maW5kX21hdGNoX3dpdGhfc3BlY2lmaWNfc3RlcF90eXBlX2Fsc29fc2VhcmNoZXNfZ2VuZXJp YyhzZWxmKToKKyAgICAgICAgIHJlZ2lzdHJ5ID0gc3RlcF9yZWdpc3RyeS5TdGVwUmVnaXN0cnko KQorQEAgLTgwLDcgKzc5LDcgQEAgY2xhc3MgVGVzdFN0ZXBSZWdpc3RyeShvYmplY3QpOgorIAor ICAgICAgICAgYXNzZXJ0IHJlZ2lzdHJ5LmZpbmRfbWF0Y2goc3RlcCkgaXMgbWFnaWNfb2JqZWN0 CisgICAgICAgICBmb3IgbW9jayBpbiBzdGVwX2RlZnNbNjpdOgorLSAgICAgICAgICAgIGVxXyht b2NrLm1hdGNoLmNhbGxfY291bnQsIDApCisrICAgICAgICAgICAgYXNzZXJ0IG1vY2subWF0Y2gu Y2FsbF9jb3VudCA9PSAwCisgCisgICAgICMgcHlsaW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcK KyAgICAgQHBhdGNoLm9iamVjdChzdGVwX3JlZ2lzdHJ5LnJlZ2lzdHJ5LCAnYWRkX3N0ZXBfZGVm aW5pdGlvbicpCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X3RleHR1dGlsLnB5IGIvdGVz dHMvdW5pdC90ZXN0X3RleHR1dGlsLnB5CitpbmRleCBlMDVlOWFkLi4zZmZhYjNjIDEwMDY0NAor LS0tIGEvdGVzdHMvdW5pdC90ZXN0X3RleHR1dGlsLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3Rf dGV4dHV0aWwucHkKK0BAIC05LDYgKzksMTAgQEAgaW1wb3J0IHB5dGVzdAorIGltcG9ydCBjb2Rl Y3MKKyBpbXBvcnQgc2l4CisgCisrCisrcHl0ZXN0X3ZlcnNpb24gPSBweXRlc3QuX192ZXJzaW9u X18KKysKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBURVNUIFNVUFBPUlQ6CisgIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTI2Myw2ICsyNjcsNyBAQCBjbGFzcyBUZXN0T2JqZWN0 VG9UZXh0Q29udmVyc2lvbihvYmplY3QpOgorICAgICAgICAgYXNzZXJ0IG1lc3NhZ2UgaW4gdGV4 dDIsICJPT1BTOiB0ZXh0PSVyIiAlIHRleHQyCisgCisgICAgIEByZXF1aXJlc19weXRob24yCisr ICAgIEBweXRlc3QubWFyay5za2lwaWYocHl0ZXN0X3ZlcnNpb24gPj0gIjUuMCIsIHJlYXNvbj0i RmFpbHMgd2l0aCBweXRlc3QgNS4wIikKKyAgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJl eGNlcHRpb25fY2xhc3MsIG1lc3NhZ2UiLCBbCisgICAgICAgICAoQXNzZXJ0aW9uRXJyb3IsIHUi w4RyZ2VybmlzIiksCisgICAgICAgICAoUnVudGltZUVycm9yLCB1IsOcYmVybcO8dGlnIiksCitA QCAtMjc0LDEwICsyNzksMTUgQEAgY2xhc3MgVGVzdE9iamVjdFRvVGV4dENvbnZlcnNpb24ob2Jq ZWN0KToKKyAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhleGNlcHRpb25fY2xhc3MpIGFzIGU6 CisgICAgICAgICAgICAgcmFpc2UgZXhjZXB0aW9uX2NsYXNzKGJ5dGVzX21lc3NhZ2UpCisgCist ICAgICAgICB0ZXh0MiA9IHRleHQoZS52YWx1ZSkKKysgICAgICAgICMgLS0gUkVRVUlSRVM6IHB5 dGVzdCA8IDUuMAorKyAgICAgICAgIyBISU5UOiBweXRlc3QgPj0gNS4wIG5lZWRzOiB0ZXh0KGUu dmFsdWUpCisrICAgICAgICAjIE5FVzogIHRleHQyID0gdGV4dChlLnZhbHVlKSAgICMgQ2F1c2Vz IHByb2JsZW1zIHcvIGRlY29kaW5nIGFuZCBjb21wYXJpc29uLgorKyAgICAgICAgYXNzZXJ0IGlz aW5zdGFuY2UoZS52YWx1ZSwgRXhjZXB0aW9uKQorKyAgICAgICAgdGV4dDIgPSB0ZXh0KGUpCisg ICAgICAgICB1bmljb2RlX21lc3NhZ2UgPSBieXRlc19tZXNzYWdlLmRlY29kZShzZWxmLkVOQ09E SU5HKQorICAgICAgICAgZXhwZWN0ZWQgPSB1IiVzOiAlcyIgJSAoZXhjZXB0aW9uX2NsYXNzLl9f bmFtZV9fLCB1bmljb2RlX21lc3NhZ2UpCisgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSh0ZXh0 Miwgc2l4LnRleHRfdHlwZSkKKysgICAgICAgIGFzc2VydCB1bmljb2RlX21lc3NhZ2UgaW4gdGV4 dDIKKyAgICAgICAgIGFzc2VydCB0ZXh0Mi5lbmRzd2l0aChleHBlY3RlZCkKKyAgICAgICAgICMg LS0gRElBR05PU1RJQ1M6CisgICAgICAgICBwcmludCh1InRleHQyOiAiKyB0ZXh0MikKK2RpZmYg LS1naXQgYS90b3guaW5pIGIvdG94LmluaQoraW5kZXggMzkyYmIzOS4uZDJmYmNlMiAxMDA2NDQK Ky0tLSBhL3RveC5pbmkKKysrKyBiL3RveC5pbmkKK0BAIC02NywxNyArNjcsMTEgQEAgZGVwcz0K KyBpbnN0YWxsX2NvbW1hbmQgPSBwaXAgaW5zdGFsbCAtVSB7b3B0c30ge3BhY2thZ2VzfQorIGNo YW5nZWRpciA9IHt0b3hpbmlkaXJ9CisgY29tbWFuZHM9CistICAgIHB5dGVzdCB7cG9zYXJnczp0 ZXN0IHRlc3RzfQorKyAgICBweXRlc3Qge3Bvc2FyZ3M6dGVzdHN9CisgICAgIGJlaGF2ZSAtLWZv cm1hdD1wcm9ncmVzcyB7cG9zYXJnczpmZWF0dXJlc30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXBy b2dyZXNzIHtwb3NhcmdzOnRvb2xzL3Rlc3QtZmVhdHVyZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1h dD1wcm9ncmVzcyB7cG9zYXJnczppc3N1ZS5mZWF0dXJlc30KKy1kZXBzPQorLSAgICBweXRlc3Q+ PTMuMAorLSAgICBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKy0gICAgbm9zZT49MS4zCistICAgIG1v Y2s+PTIuMAorLSAgICBQeUhhbWNyZXN0Pj0xLjkKKy0gICAgcGF0aC5weSA+PSAxMC4xCisrZGVw cz0gLXIge3RveGluaWRpcn0vcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQKKyBzZXRlbnYgPQor ICAgICAgUFlUSE9OUEFUSCA9IHt0b3hpbmlkaXJ9CisgCitAQCAtOTcsMTMgKzkxLDEyIEBAIGNo YW5nZWRpciA9IHtlbnZkaXJ9CisgY29tbWFuZHM9CisgICAgIGJlaGF2ZSAtLXZlcnNpb24KKyAg ICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5dHJlZSAuLi8uLi9iZWhhdmU0Y21kMCAu CistICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weXRyZWUgLi4vLi4vdGVzdCAuCisg ICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weXRyZWUgLi4vLi4vdGVzdHMgLgorICAg ICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHl0cmVlIC4uLy4uL2ZlYXR1cmVzIC4KKyAg ICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5dHJlZSAuLi8uLi90b29scyAgLgorICAg ICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHl0cmVlIC4uLy4uL2lzc3VlLmZlYXR1cmVz IC4KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5IC4uLy4uL2JlaGF2ZS5pbmkg LgorLSAgICBweXRlc3Qge3Bvc2FyZ3M6dGVzdCB0ZXN0c30KKysgICAgcHl0ZXN0IHtwb3Nhcmdz OnRlc3RzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJvZ3Jlc3Mge3Bvc2FyZ3M6ZmVhdHVyZXN9 CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVzcyB7cG9zYXJnczp0b29scy90ZXN0LWZlYXR1 cmVzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJvZ3Jlc3Mge3Bvc2FyZ3M6aXNzdWUuZmVhdHVy ZXN9CitAQCAtMTE5LDE4ICsxMTIsMTYgQEAgY2hhbmdlZGlyID0ge2VudmRpcn0KKyBjb21tYW5k cz0KKyAgICAgYmVoYXZlIC0tdmVyc2lvbgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5 IGNvcHl0cmVlIC4uLy4uL2JlaGF2ZTRjbWQwIC4KKy0gICAge3RveGluaWRpcn0vYmluL3RveGNt ZC5weSBjb3B5dHJlZSAuLi8uLi90ZXN0IC4KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5w eSBjb3B5dHJlZSAuLi8uLi90ZXN0cyAuCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkg Y29weXRyZWUgLi4vLi4vZmVhdHVyZXMgLgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5 IGNvcHl0cmVlIC4uLy4uL3Rvb2xzICAuCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkg Y29weXRyZWUgLi4vLi4vaXNzdWUuZmVhdHVyZXMgLgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94 Y21kLnB5IGNvcHkgLi4vLi4vYmVoYXZlLmluaSAuCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hj bWQucHkgMnRvMyAtdyAtbiAtLW5vLWRpZmZzIGJlaGF2ZTRjbWQwCistICAgIHt0b3hpbmlkaXJ9 L2Jpbi90b3hjbWQucHkgMnRvMyAtdyAtbiAtLW5vLWRpZmZzIHRlc3QKKyAgICAge3RveGluaWRp cn0vYmluL3RveGNtZC5weSAydG8zIC13IC1uIC0tbm8tZGlmZnMgdG9vbHMKKyAgICAge3RveGlu aWRpcn0vYmluL3RveGNtZC5weSAydG8zIC13IC1uIC0tbm8tZGlmZnMgZmVhdHVyZXMKKyAgICAg e3RveGluaWRpcn0vYmluL3RveGNtZC5weSAydG8zIC13IC1uIC0tbm8tZGlmZnMgaXNzdWUuZmVh dHVyZXMKKy0gICAgcHl0ZXN0IHtwb3NhcmdzOnRlc3QgdGVzdHN9CisrICAgIHB5dGVzdCB7cG9z YXJnczp0ZXN0c30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOmZlYXR1 cmVzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJvZ3Jlc3Mge3Bvc2FyZ3M6dG9vbHMvdGVzdC1m ZWF0dXJlc30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOmlzc3VlLmZl YXR1cmVzfQorQEAgLTE0OCw3ICsxMzksNyBAQCBzZXRlbnYgPQorIFt0ZXN0ZW52Omp5MjddCisg YmFzZXB5dGhvbj0ganl0aG9uCisgY29tbWFuZHM9CistICAgIHB5dGVzdCB7cG9zYXJnczp0ZXN0 IHRlc3RzfQorKyAgICBweXRlc3Qge3Bvc2FyZ3M6dGVzdHN9CisgICAgIGJlaGF2ZSAtLWZvcm1h dD1wcm9ncmVzcyB7cG9zYXJnczpmZWF0dXJlc30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dy ZXNzIHtwb3NhcmdzOnRvb2xzL3Rlc3QtZmVhdHVyZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1w cm9ncmVzcyB7cG9zYXJnczppc3N1ZS5mZWF0dXJlc30KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzYtRklYLVJlbW92ZS10 ZXN0LWZyb20tcHl0ZXN0LXJ1bi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzYtRklYLVJlbW92ZS10ZXN0LWZyb20tcHl0ZXN0LXJ1 bi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjdmZTQ1MWIyZgot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMzYtRklYLVJlbW92ZS10ZXN0LWZyb20tcHl0ZXN0LXJ1bi5wYXRjaApA QCAtMCwwICsxLDIyIEBACitGcm9tIDJjODg2ZDIwMWMxOTA4NWFiNTIwNjVkNDdlNGY4NmE4MmE3 N2Y5OTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdWwgMjAxOSAwOToxNzo1NCAr MDIwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IFJlbW92ZSB0ZXN0LyBmcm9tIHB5dGVzdCBydW4u CisKKy0tLQorIC50cmF2aXMueW1sIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8udHJhdmlz LnltbAoraW5kZXggZmJjMzUyMC4uYzYwMjdlMCAxMDA2NDQKKy0tLSBhLy50cmF2aXMueW1sCisr KysgYi8udHJhdmlzLnltbAorQEAgLTM1LDcgKzM1LDcgQEAgaW5zdGFsbDoKKyAKKyBzY3JpcHQ6 CisgICAtIHB5dGhvbiAtLXZlcnNpb24KKy0gIC0gcHl0ZXN0IHRlc3QgdGVzdHMKKysgIC0gcHl0 ZXN0IHRlc3RzCisgICAtIGJlaGF2ZSAtZiBwcm9ncmVzcyAtLWp1bml0IGZlYXR1cmVzLworICAg LSBiZWhhdmUgLWYgcHJvZ3Jlc3MgLS1qdW5pdCB0b29scy90ZXN0LWZlYXR1cmVzLworICAgLSBi ZWhhdmUgLWYgcHJvZ3Jlc3MgLS1qdW5pdCBpc3N1ZS5mZWF0dXJlcy8KZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzctU2Vs ZWN0LWJ5LWxvY2F0aW9uLUFkZC1zdXBwb3J0LWZvci1TY2VuYXJpby1jb250YWluZS5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzct U2VsZWN0LWJ5LWxvY2F0aW9uLUFkZC1zdXBwb3J0LWZvci1TY2VuYXJpby1jb250YWluZS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjNlOWE0NmEwYwotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMzctU2VsZWN0LWJ5LWxvY2F0aW9uLUFkZC1zdXBwb3J0LWZvci1TY2VuYXJpby1j b250YWluZS5wYXRjaApAQCAtMCwwICsxLDY1MiBAQAorRnJvbSA1N2E5Y2MwZTFjOTliMGVkMmVj NWRiZmQzZmNmY2U0NTZjZmUxM2M4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDYgSnVs IDIwMTkgMDk6NTA6NDYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gU2VsZWN0LWJ5LWxvY2F0aW9u OiBBZGQgc3VwcG9ydCBmb3IgIlNjZW5hcmlvIGNvbnRhaW5lciIKKyAoRmVhdHVyZSwgUnVsZSwg U2NlbmFyaW9PdXRsaW5lKSAocmVsYXRlZCB0bzogIzM5MSkKKworLS0tCisgQ0hBTkdFUy5yc3Qg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgYmVoYXZlL21vZGVs LnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQ5ICsrKy0tCisgYmVoYXZlL3J1 bm5lcl91dGlsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTg2ICsrKysrKysrKysrKysr KysrLQorIC4uLi5zZWxlY3Rfc2NlbmFyaW9zX2J5X2ZpbGVfbG9jYXRpb24uZmVhdHVyZSB8ICAy NyArKy0KKyBweXRlc3QuaW5pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDIgKy0KKyB0ZXN0cy91bml0L3Rlc3RfcnVubmVyX3V0aWwucHkgICAgICAgICAgICAgICAgfCAx NzUgKysrKysrKysrKysrKysrKworIDYgZmlsZXMgY2hhbmdlZCwgNDE2IGluc2VydGlvbnMoKyks IDI1IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy91bml0L3Rlc3RfcnVu bmVyX3V0aWwucHkKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2lu ZGV4IDNkODA1YjMuLjAxYmQxYmQgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hB TkdFUy5yc3QKK0BAIC0yOCw3ICsyOCw3IEBAIEVOSEFOQ0VNRU5UUzoKKyAqIFVzZSBgY3VjdW1i ZXItdGFnLWV4cHJlc3Npb25zYF8gd2l0aCB0YWctbWF0Y2hpbmcgZXh0ZW5zaW9uIChzdXBlcmNl ZWRzOiBvbGQtc3R5bGUgdGFnLWV4cHJlc3Npb25zKQorICogaXNzdWUgIzY3ODogU2NlbmFyaW8g T3V0bGluZTogU3VwcG9ydCB0YWdzIHdpdGggY29tbWFzIGFuZCBzZW1pY29sb25zIChwcm92aWRl ZCBieTogbGF3bm1vd2VybGF0dGUsIHB1bGwgIzY3OSkKKyAqIGlzc3VlICM2NzU6IEZlYXR1cmUg ZmlsZXMgY2Fubm90IGJlIGZvdW5kIHdpdGhpbiBzeW1saW5rIGRpcmVjdG9yaWVzIChwcm92aWRl ZCBieTogc21hZG5lc3MsIHB1bGwgIzY4MCkKKy0KKysqIFNlbGVjdC1ieS1sb2NhdGlvbjogQWRk IHN1cHBvcnQgZm9yICJTY2VuYXJpbyBjb250YWluZXIiIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJp b091dGxpbmUpIChyZWxhdGVkIHRvOiAjMzkxKQorIAorIFBBUlRJQUxMWSBGSVhFRDoKKyAKK2Rp ZmYgLS1naXQgYS9iZWhhdmUvbW9kZWwucHkgYi9iZWhhdmUvbW9kZWwucHkKK2luZGV4IDMwODQ4 NTAuLjdmYzUzNGEgMTAwNjQ0CistLS0gYS9iZWhhdmUvbW9kZWwucHkKKysrKyBiL2JlaGF2ZS9t b2RlbC5weQorQEAgLTU1LDExICs1NSwxMSBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdB bmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAuLiBhdHRyaWJ1dGU6OiBrZXl3 b3JkCisgCisgICAgICAgIFRoaXMgaXMgdGhlIGtleXdvcmQgYXMgc2VlbiBpbiB0aGUgKmZlYXR1 cmUgZmlsZSouIEluIEVuZ2xpc2ggdGhpcyB3aWxsCistICAgICAgIGJlICJGZWF0dXJlIi4KKysg ICAgICAgYmUgIkZlYXR1cmUiIG9yICJSdWxlIi4KKyAKKyAgICAgLi4gYXR0cmlidXRlOjogbmFt ZQorIAorLSAgICAgICBUaGUgbmFtZSBvZiB0aGUgZmVhdHVyZSAodGhlIHRleHQgYWZ0ZXIgIkZl YXR1cmUiLikKKysgICAgICAgVGhlIG5hbWUgKG9yIHRpdGxlKSBvZiB0aGUgbW9kZWwgZW50aXR5 ICh0aGUgdGV4dCBhZnRlciB0aGUga2V5d29yZC4pCisgCisgICAgIC4uIGF0dHJpYnV0ZTo6IGRl c2NyaXB0aW9uCisgCitAQCAtOTMsMTIgKzkzLDE2IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVy KFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgCisgICAgICAgIFN0YXR1cy51 bnRlc3RlZAorICAgICAgICAgIFRoZSBmZWF0dXJlIHdhcyBoYXMgbm90IGJlZW4gY29tcGxldGVs eSB0ZXN0ZWQgeWV0LgorKworICAgICAgICBTdGF0dXMuc2tpcHBlZAorLSAgICAgICAgIE9uZSBv ciBtb3JlIHN0ZXBzIG9mIHRoaXMgZmVhdHVyZSB3YXMgcGFzc2VkIG92ZXIgZHVyaW5nIHRlc3Rp bmcuCisrICAgICAgICAgVGhlIGV4ZWN1dGlvbiBvZiB0aGlzIG1vZGVsIGVudGl0eSAoZmVhdHVy ZSBvciBydWxlKQorKyAgICAgICAgIHNob3VsZCBiZSAvIHdhcyBza2lwcGVkIChleGNsdWRlZCBm cm9tIHRoZSB0ZXN0IHJ1bikuCisrCisgICAgICAgIFN0YXR1cy5wYXNzZWQKKy0gICAgICAgICBU aGUgZmVhdHVyZSB3YXMgdGVzdGVkIHN1Y2Nlc3NmdWxseS4KKysgICAgICAgICBUaGUgbW9kZWwg ZW50aXR5IChmZWF0dXJlIG9yIHJ1bGUpIHdhcyB0ZXN0ZWQgc3VjY2Vzc2Z1bGx5LgorKworICAg ICAgICBTdGF0dXMuZmFpbGVkCistICAgICAgICAgT25lIG9yIG1vcmUgc3RlcHMgb2YgdGhpcyBm ZWF0dXJlIGZhaWxlZC4KKysgICAgICAgICBPbmUgb3IgbW9yZSBydW4gaXRlbXMgb2YgdGhpcyBt b2RlbCBlbnRpdHkgZmFpbGVkLgorIAorICAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDEuMi42 CisgICAgICAgICAgICAgVXNlIFN0YXR1cyBlbnVtIGNsYXNzICh3YXM6IHN0cmluZykuCitAQCAt MTQ3LDYgKzE1MSwxMSBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0 ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgZm9yIHJ1bl9pdGVtIGluIHNlbGYucnVuX2l0 ZW1zOgorICAgICAgICAgICAgIHJ1bl9pdGVtLnJlc2V0KCkKKyAKKysgICAgZGVmIF9zZXR1cF9j b250ZXh0X2Zvcl9ydW4oc2VsZiwgY29udGV4dCk6CisrICAgICAgICAiIiJTZXR1cC9Jbml0IHJ1 bm5lciBjb250ZXh0IGZvciBydW4uIiIiCisrICAgICAgICAjIC0tIE9WRVJSSURERU46IEJ5IGRl cml2ZWQgY2xhc3Nlcy4KKysgICAgICAgIHBhc3MKKysKKyAgICAgZGVmIF9faXRlcl9fKHNlbGYp OgorICAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5ydW5faXRlbXMpCisgCitAQCAtMjA0LDcgKzIx Myw3IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVw bGF5YWJsZSk6CisgICAgICAgICAjIGZlYXR1cmVfZHVyYXRpb24gPSBzZWxmLnJ1bl9lbmR0aW1l IC0gc2VsZi5ydW5fc3RhcnR0aW1lCisgICAgICAgICByZXR1cm4gZmVhdHVyZV9kdXJhdGlvbgor IAorLSAgICBkZWYgd2Fsa19zY2VuYXJpb3Moc2VsZiwgd2l0aF9vdXRsaW5lcz1GYWxzZSk6Cisr ICAgIGRlZiB3YWxrX3NjZW5hcmlvcyhzZWxmLCB3aXRoX291dGxpbmVzPUZhbHNlLCB3aXRoX3J1 bGVzPUZhbHNlKToKKyAgICAgICAgICIiIlByb3ZpZGVzIGEgZmxhdCBsaXN0IG9mIGFsbCBzY2Vu YXJpb3Mgb2YgdGhpcyBTY2VuYXJpb0NvbnRhaW5lci4KKyAgICAgICAgIEEgU2NlbmFyaW9PdXRs aW5lIGVsZW1lbnQgYWRkcyBpdHMgc2NlbmFyaW9zIHRvIHRoaXMgbGlzdC4KKyAgICAgICAgIEJ1 dCB0aGUgU2NlbmFyaW9PdXRsaW5lIGVsZW1lbnQgaXRzZWxmIGlzIG9ubHkgYWRkZWQgd2hlbiBz cGVjaWZpZWQuCitAQCAtMjE1LDIwICsyMjQsMjAgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIo VGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIDpwYXJhbSB3aXRo X291dGxpbmVzOiBJZiBTY2VuYXJpb091dGxpbmUgaXRlbXMgc2hvdWxkIGJlIGFkZGVkLCB0b28u CisgICAgICAgICA6cmV0dXJuOiBMaXN0IG9mIGFsbCBzY2VuYXJpb3Mgb2YgdGhpcyBmZWF0dXJl LgorICAgICAgICAgIiIiCistICAgICAgICAjIFRPRE86IEJldHRlciB1c2Ugc2VsZi5ydW5faXRl bXMKKyAgICAgICAgIGFsbF9zY2VuYXJpb3MgPSBbXQorLSAgICAgICAgIyBmb3Igc2NlbmFyaW8g aW4gc2VsZi5zY2VuYXJpb3M6CisgICAgICAgICBmb3IgcnVuX2l0ZW0gaW4gc2VsZi5ydW5faXRl bXM6CisgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShydW5faXRlbSwgUnVsZSk6CisgICAgICAg ICAgICAgICAgIHJ1bGUgPSBydW5faXRlbQorKyAgICAgICAgICAgICAgICBpZiB3aXRoX3J1bGVz OgorKyAgICAgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQocnVsZSkKKyAgICAg ICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5leHRlbmQocnVsZS53YWxrX3NjZW5hcmlvcyh3aXRo X291dGxpbmVzPXdpdGhfb3V0bGluZXMpKQorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocnVu X2l0ZW0sIFNjZW5hcmlvT3V0bGluZSk6CisrICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHJ1 bl9pdGVtLCBTY2VuYXJpb091dGxpbmUpOgorICAgICAgICAgICAgICAgICBzY2VuYXJpb19vdXRs aW5lID0gcnVuX2l0ZW0KKyAgICAgICAgICAgICAgICAgaWYgd2l0aF9vdXRsaW5lczoKKyAgICAg ICAgICAgICAgICAgICAgIGFsbF9zY2VuYXJpb3MuYXBwZW5kKHNjZW5hcmlvX291dGxpbmUpCisg ICAgICAgICAgICAgICAgIGFsbF9zY2VuYXJpb3MuZXh0ZW5kKHNjZW5hcmlvX291dGxpbmUuc2Nl bmFyaW9zKQorICAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIGFzc2VydCBpc2lu c3RhbmNlKHJ1bl9pdGVtLCBTY2VuYXJpbykKKysgICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5z dGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKSwgIk9PUFM6ICVyIiAlIHJ1bl9pdGVtCisgICAgICAg ICAgICAgICAgIGFsbF9zY2VuYXJpb3MuYXBwZW5kKHJ1bl9pdGVtKQorICAgICAgICAgcmV0dXJu IGFsbF9zY2VuYXJpb3MKKyAKK0BAIC0yNzQsOSArMjgzLDkgQEAgY2xhc3MgU2NlbmFyaW9Db250 YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIGFzc2Vy dCBzZWxmLnN0YXR1cyA9PSBTdGF0dXMuc2tpcHBlZCBvciBzZWxmLmhvb2tfZmFpbGVkCisgCisg ICAgIGRlZiBza2lwKHNlbGYsIHJlYXNvbj1Ob25lLCByZXF1aXJlX25vdF9leGVjdXRlZD1GYWxz ZSk6CistICAgICAgICAiIiJTa2lwIGV4ZWN1dGluZyB0aGlzIGZlYXR1cmUgb3IgdGhlIHJlbWFp bmluZyBwYXJ0cyBvZiBpdC4KKy0gICAgICAgIE5vdGUgdGhhdCB0aGlzIGZlYXR1cmUgbWF5IGJl IGFscmVhZHkgcGFydGx5IGV4ZWN1dGVkCistICAgICAgICB3aGVuIHRoaXMgZnVuY3Rpb24gaXMg Y2FsbGVkLgorKyAgICAgICAgIiIiU2tpcCBleGVjdXRpbmcgdGhpcyBtb2RlbCBlbnRpdHkgb3Ig dGhlIHJlbWFpbmluZyBwYXJ0cyBvZiBpdC4KKysgICAgICAgIE5vdGUgdGhhdCB0aGlzIG1vZGVs IGVudGl0eSAoZmVhdHVyZSBvciBydWxlKSBtYXkgYmUgYWxyZWFkeSBwYXJ0bHkKKysgICAgICAg IGV4ZWN1dGVkIHdoZW4gdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQuCisgCisgICAgICAgICA6cGFy YW0gcmVhc29uOiAgT3B0aW9uYWwgcmVhc29uIHdoeSBmZWF0dXJlIHNob3VsZCBiZSBza2lwcGVk IChhcyBzdHJpbmcpLgorICAgICAgICAgOnBhcmFtIHJlcXVpcmVfbm90X2V4ZWN1dGVkOiBPcHRp b25hbCwgcmVxdWlyZXMgdGhhdCBmZWF0dXJlIGlzIG5vdAorQEAgLTMxNCw4ICszMjMsOCBAQCBj bGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUp OgorICAgICAgICAgaG9va19hZnRlcl9lbnRpdHkgPSAiYWZ0ZXJfezB9Ii5mb3JtYXQoZW50aXR5 X25hbWUpCisgCisgICAgICAgICBydW5uZXIuY29udGV4dC5fcHVzaChsYXllcl9uYW1lPWVudGl0 eV9uYW1lKSAgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAg IHJ1bm5lci5jb250ZXh0LmZlYXR1cmUgPSBzZWxmCisgICAgICAgICBydW5uZXIuY29udGV4dC50 YWdzID0gc2V0KHNlbGYudGFncykKKysgICAgICAgIHNlbGYuX3NldHVwX2NvbnRleHRfZm9yX3J1 bihydW5uZXIuY29udGV4dCkKKyAKKyAgICAgICAgIHNraXBfZW50aXR5X3VudGVzdGVkID0gcnVu bmVyLmFib3J0ZWQKKyAgICAgICAgIHNob3VsZF9ydW5fZW50aXR5ID0gc2VsZi5zaG91bGRfcnVu KHJ1bm5lci5jb25maWcpCitAQCAtNDk3LDYgKzUwNiw5IEBAIGNsYXNzIEZlYXR1cmUoU2NlbmFy aW9Db250YWluZXIpOgorICAgICAgICAgICAgIChzZWxmLm5hbWUsIGxlbihzZWxmLnJ1bl9pdGVt cyksCisgICAgICAgICAgICAgIGxlbihzZWxmLnJ1bGVzKSwgbGVuKHNlbGYuc2NlbmFyaW9zKSkK KyAKKysgICAgZGVmIF9zZXR1cF9jb250ZXh0X2Zvcl9ydW4oc2VsZiwgY29udGV4dCk6CisrICAg ICAgICBjb250ZXh0LmZlYXR1cmUgPSBzZWxmCisrCisgICAgIGRlZiBhZGRfcnVsZShzZWxmLCBy dWxlKToKKyAgICAgICAgICIiIkFkZCBhIHJ1bGUgdG8gdGhpcyBmZWF0dXJlLiIiIgorICAgICAg ICAgZmVhdHVyZSA9IHNlbGYKK0BAIC02MTksNiArNjMxLDkgQEAgY2xhc3MgUnVsZShTY2VuYXJp b0NvbnRhaW5lcik6CisgICAgICAgICBzZWxmLnBhcmVudCA9IHBhcmVudAorICAgICAgICAgc2Vs Zi5mZWF0dXJlID0gcGFyZW50CisgCisrICAgIGRlZiBfc2V0dXBfY29udGV4dF9mb3JfcnVuKHNl bGYsIGNvbnRleHQpOgorKyAgICAgICAgY29udGV4dC5ydWxlID0gc2VsZgorKworICAgICBkZWYg X19yZXByX18oc2VsZik6CisgICAgICAgICByZXR1cm4gJzxSdWxlICIlcyI6ICVkIHNjZW5hcmlv KHMpPicgJSBcCisgICAgICAgICAgICAgKHNlbGYubmFtZSwgbGVuKHNlbGYuc2NlbmFyaW9zKSkK K0BAIC02NjQsNiArNjc5LDEwIEBAIGNsYXNzIEJhY2tncm91bmQoQmFzaWNTdGF0ZW1lbnQsIFJl cGxheWFibGUpOgorIAorICAgICAuLiBfYGJhY2tncm91bmRgOiBnaGVya2luLmh0bWwjYmFja2dy b3VuZHMKKyAgICAgIiIiCisrICAgICMgVE9ETzogQmFja2dyb3VuZCBpbmhlcml0YW5jZQorKyAg ICAjIFJ1bGUuYmFja2dyb3VuZCBzaG91bGQgaW5oZXJpdCBpdHMgRmVhdHVyZS5iYWNrZ3JvdW5k IHN0ZXBzIChpZiBhdmFpbGFibGUpCisrICAgICMgUnVsZS5iYWNrZ3JvdW5kID0gRmVhdHVyZS5i YWNrZ3JvdW5kIGlmZiBub3QgUnVsZS5iYWNrZ3JvdW5kIGV4aXN0cyAoQUxSRUFEWS1TT0xWRUQp CisrICAgICMgUnVsZSBtYXkgb3ZlcnJpZGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSBtZWNoYW5p c20KKyAgICAgdHlwZSA9ICJiYWNrZ3JvdW5kIgorIAorICAgICBkZWYgX19pbml0X18oc2VsZiwg ZmlsZW5hbWUsIGxpbmUsIGtleXdvcmQsIG5hbWUsIHN0ZXBzPU5vbmUsIGRlc2NyaXB0aW9uPU5v bmUpOgorQEAgLTc5Niw3ICs4MTUsNyBAQCBjbGFzcyBTY2VuYXJpbyhUYWdBbmRTdGF0dXNTdGF0 ZW1lbnQsIFJlcGxheWFibGUpOgorIAorICAgICBAcHJvcGVydHkKKyAgICAgZGVmIGJhY2tncm91 bmRfc3RlcHMoc2VsZik6CistICAgICAgICAiIiJQcm92aWRlIGJhY2tncm91bmQgc3RlcHMgaWYg ZmVhdHVyZSBoYXMgYSBiYWNrZ3JvdW5kLgorKyAgICAgICAgIiIiUHJvdmlkZSBiYWNrZ3JvdW5k IHN0ZXBzIGlmIGZlYXR1cmUvcnVsZSBoYXMgYSBiYWNrZ3JvdW5kLgorICAgICAgICAgTGF6eSBp bml0IHRoYXQgY29waWVzIHRoZSBiYWNrZ3JvdW5kIHN0ZXBzLgorIAorICAgICAgICAgTm90ZSB0 aGF0IGEgY29weSBvZiB0aGUgYmFja2dyb3VuZCBzdGVwcyBpcyBuZWVkZWQgdG8gZW5zdXJlCitk aWZmIC0tZ2l0IGEvYmVoYXZlL3J1bm5lcl91dGlsLnB5IGIvYmVoYXZlL3J1bm5lcl91dGlsLnB5 CitpbmRleCAyMjEwZjc4Li43ZTA4MDdmIDEwMDY0NAorLS0tIGEvYmVoYXZlL3J1bm5lcl91dGls LnB5CisrKysgYi9iZWhhdmUvcnVubmVyX3V0aWwucHkKK0BAIC01OCw2ICs1OCwxMDAgQEAgY2xh c3MgRmlsZUxvY2F0aW9uUGFyc2VyKG9iamVjdCk6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ICMgQ0xBU1NFUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZnJvbSBjb2xsZWN0aW9ucyBp bXBvcnQgT3JkZXJlZERpY3QKKytmcm9tIC5tb2RlbCBpbXBvcnQgRmVhdHVyZSwgUnVsZSwgU2Nl bmFyaW9PdXRsaW5lLCBTY2VuYXJpbworKworKworK2NsYXNzIEZlYXR1cmVMaW5lRGF0YWJhc2Uo b2JqZWN0KToKKysgICAgIiIiSGVscGVyIGNsYXNzIHRoYXQgc3VwcG9ydHMgc2VsZWN0LWJ5LWxv Y2F0aW9uIG1lY2hhbmlzbSAoRmlsZUxvY2F0aW9uKQorKyAgICB3aXRoaW4gYSBmZWF0dXJlIGZp bGUgYnkgc3RvcmluZyB0aGUgZmVhdHVyZSBsaW5lIG51bWJlcnMgZm9yIGVhY2ggZW50aXR5Lgor KworKyAgICBSRVNQT05TSUJJTElUWShzKToKKysKKysgICAgKiBDYW4gdXNlIHRoZSBsaW5lIG51 bWJlciB0byBzZWxlY3QgdGhlIGJlc3QgbWF0Y2hpbmcgZW50aXR5KHMpIGluIGEgZmVhdHVyZQor KyAgICAqIEltcGxlbWVudHMgdGhlIHNlbGVjdC1ieS1sb2NhdGlvbiBtZWNoYW5pc20gZm9yIGVh Y2ggZW50aXR5IGluIHRoZSBmZWF0dXJlCisrICAgICIiIgorKworKyAgICBkZWYgX19pbml0X18o c2VsZiwgZW50aXR5PU5vbmUsIGxpbmVfZGF0YT1Ob25lKToKKysgICAgICAgIGlmIGVudGl0eSBh bmQgbm90IGxpbmVfZGF0YToKKysgICAgICAgICAgICBsaW5lX2RhdGEgPSBzZWxmLm1ha2VfbGlu ZV9kYXRhX2ZvcihlbnRpdHkpCisrICAgICAgICBzZWxmLmVudGl0eSA9IGVudGl0eQorKyAgICAg ICAgc2VsZi5kYXRhID0gT3JkZXJlZERpY3QobGluZV9kYXRhIG9yIFtdKQorKyAgICAgICAgc2Vs Zi5fbGluZV9udW1iZXJzID0gTm9uZQorKyAgICAgICAgc2VsZi5fbGluZV9lbnRpdGllcyA9IE5v bmUKKysKKysgICAgZGVmIHNlbGVjdF9ydW5faXRlbV9ieV9saW5lKHNlbGYsIGxpbmUpOgorKyAg ICAgICAgIiIiU2VsZWN0IG9uZSBydW4taXRlbXMgYnkgdXNpbmcgdGhlIGxpbmUgbnVtYmVyLgor KworKyAgICAgICAgKiBFeGFjdCBtYXRjaCByZXR1cm5zIHJ1bi10aW1lIGVudGl0eSAoRmVhdHVy ZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lLCBTY2VuYXJpbykKKysgICAgICAgICogQW55IG90aGVy IGxpbmUgaW4gYmV0d2VlbiB1c2VzIHRoZSBwcmVkZWNlc3NvciBlbnRpdHkKKysKKysgICAgICAg IDpwYXJhbSBsaW5lOiBMaW5lIG51bWJlciBpbiBGZWF0dXJlIGZpbGUgKGFzIGludCkKKysgICAg ICAgIDpyZXR1cm46IFNlbGVjdGVkIHJ1bi1pdGVtIG9iamVjdC4KKysgICAgICAgICIiIgorKyAg ICAgICAgcnVuX2l0ZW0gPSBzZWxmLmRhdGEuZ2V0KGxpbmUsIE5vbmUpCisrICAgICAgICBpZiBy dW5faXRlbSBpcyBOb25lOgorKyAgICAgICAgICAgICMgLS0gQ0FTRTogQkVTVC1NQVRDSCBpbiBv cmRlcmVkIGxpbmUgZGF0YWJhc2UKKysgICAgICAgICAgICBpZiBzZWxmLl9saW5lX251bWJlcnMg aXMgTm9uZToKKysgICAgICAgICAgICAgICAgc2VsZi5fbGluZV9udW1iZXJzID0gbGlzdChzZWxm LmRhdGEua2V5cygpKQorKyAgICAgICAgICAgICAgICBzZWxmLl9saW5lX2VudGl0aWVzID0gbGlz dChzZWxmLmRhdGEudmFsdWVzKCkpCisrCisrICAgICAgICAgICAgcG9zID0gYmlzZWN0KHNlbGYu X2xpbmVfbnVtYmVycywgbGluZSkgLSAxCisrICAgICAgICAgICAgaWYgcG9zIDwgMDoKKysgICAg ICAgICAgICAgICAgcG9zID0gMAorKyAgICAgICAgICAgIHJ1bl9pdGVtID0gc2VsZi5fbGluZV9l bnRpdGllc1twb3NdCisrICAgICAgICByZXR1cm4gcnVuX2l0ZW0KKysKKysgICAgZGVmIHNlbGVj dF9zY2VuYXJpb3NfYnlfbGluZShzZWxmLCBsaW5lKToKKysgICAgICAgICIiIlNlbGVjdCBvbmUg b3IgbW9yZSBzY2VuYXJpb3MgYnkgdXNpbmcgdGhlIGxpbmUgbnVtYmVyLgorKworKyAgICAgICAg KiBsaW5lID0gMDogU2VsZWN0cyBhbGwgc2NlbmFyaW9zIGluIHRoZSBGZWF0dXJlIGZpbGUKKysg ICAgICAgICogRmVhdHVyZSAvIFJ1bGUgLyBTY2VuYXJpb091dGxpbmUubG9jYXRpb24ubGluZSBz ZWxlY3RzIGl0cyBzY2VuYXJpb3MKKysgICAgICAgICogU2NlbmFyaW8ubG9jYXRpb24ubGluZSBz ZWxlY3RzIHRoZSBTY2VuYXJpbworKyAgICAgICAgKiBBbnkgb3RoZXIgbGluZXMgdXNlIHRoZSBw cmVkZWNlc3NvciBlbnRpdHkgKGFuZCBpdHMgc2NlbmFyaW9zKQorKworKyAgICAgICAgOnBhcmFt IGxpbmU6IExpbmUgbnVtYmVyIGluIEZlYXR1cmUgZmlsZSAoYXMgaW50KQorKyAgICAgICAgOnJl dHVybjogTGlzdCBvZiBzZWxlY3RlZCBzY2VuYXJpb3MKKysgICAgICAgICIiIgorKyAgICAgICAg cnVuX2l0ZW0gPSBzZWxmLnNlbGVjdF9ydW5faXRlbV9ieV9saW5lKGxpbmUpCisrICAgICAgICBz Y2VuYXJpb3MgPSBbXQorKyAgICAgICAgaWYgaXNpbnN0YW5jZShydW5faXRlbSwgRmVhdHVyZSk6 CisrICAgICAgICAgICAgc2NlbmFyaW9zID0gbGlzdChydW5faXRlbS53YWxrX3NjZW5hcmlvcygp KQorKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKHJ1bl9pdGVtLCBSdWxlKToKKysgICAgICAgICAg ICBzY2VuYXJpb3MgPSBsaXN0KHJ1bl9pdGVtLndhbGtfc2NlbmFyaW9zKCkpCisrICAgICAgICBl bGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvT3V0bGluZSk6CisrICAgICAgICAgICAg c2NlbmFyaW9zID0gbGlzdChydW5faXRlbS5zY2VuYXJpb3MpCisrICAgICAgICBlbGlmIGlzaW5z dGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKToKKysgICAgICAgICAgICBzY2VuYXJpb3MgPSBbcnVu X2l0ZW1dCisrICAgICAgICByZXR1cm4gc2NlbmFyaW9zCisrCisrICAgIEBjbGFzc21ldGhvZAor KyAgICBkZWYgbWFrZV9saW5lX2RhdGFfZm9yKGNscywgZW50aXR5KToKKysgICAgICAgIGxpbmVf ZGF0YSA9IFtdCisrICAgICAgICBydW5faXRlbXMgPSBbXQorKyAgICAgICAgaWYgaXNpbnN0YW5j ZShlbnRpdHksIEZlYXR1cmUpOgorKyAgICAgICAgICAgIGxpbmVfZGF0YS5hcHBlbmQoKDAsIGVu dGl0eSkpCisrICAgICAgICAgICAgcnVuX2l0ZW1zID0gZW50aXR5LnJ1bl9pdGVtcworKyAgICAg ICAgZWxpZiBpc2luc3RhbmNlKGVudGl0eSwgUnVsZSk6CisrICAgICAgICAgICAgcnVuX2l0ZW1z ID0gZW50aXR5LnJ1bl9pdGVtcworKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGVudGl0eSwgU2Nl bmFyaW9PdXRsaW5lKToKKysgICAgICAgICAgICBydW5faXRlbXMgPSBlbnRpdHkuc2NlbmFyaW9z CisrCisrICAgICAgICBsaW5lX2RhdGEuYXBwZW5kKChlbnRpdHkubG9jYXRpb24ubGluZSwgZW50 aXR5KSkKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBydW5faXRlbXM6CisrICAgICAgICAgICAg bGluZV9kYXRhLmV4dGVuZChjbHMubWFrZV9saW5lX2RhdGFfZm9yKHJ1bl9pdGVtKSkKKysgICAg ICAgICMgLS0gTUFZQkU6CisrICAgICAgICAjIGlmIGlzaW5zdGFuY2UoZW50aXR5LCBTY2VuYXJp b091dGxpbmUpIGFuZCBydW5faXRlbXM6CisrICAgICAgICAjICAgICAjIC0tIFNQRUNJQUwgQ0FT RTogTGluZXMgYWZ0ZXIgbGFzdCBFeGFtcGxlcyByb3cgPT4gVXNlIFNjZW5hcmlvT3V0bGluZQor KyAgICAgICAgIyAgICAgbGluZV9kYXRhLmFwcGVuZCgocnVuX2l0ZW1zWy0xXS5sb2NhdGlvbi5s aW5lICsgMSwgZW50aXR5KSkKKysgICAgICAgIHJldHVybiBzb3J0ZWQobGluZV9kYXRhKQorKwor KyAgICBAY2xhc3NtZXRob2QKKysgICAgZGVmIG1ha2UoY2xzLCBlbnRpdHkpOgorKyAgICAgICAg cmV0dXJuIGNscyhlbnRpdHksIGNscy5tYWtlX2xpbmVfZGF0YV9mb3IoZW50aXR5KSkKKysKKysK KysKKyBjbGFzcyBGZWF0dXJlU2NlbmFyaW9Mb2NhdGlvbkNvbGxlY3RvcihvYmplY3QpOgorICAg ICAiIiIKKyAgICAgQ29sbGVjdHMgRmlsZUxvY2F0aW9uIG9iamVjdHMgZm9yIGEgZmVhdHVyZS4K K0BAIC0yMDAsNiArMjk0LDk0IEBAIGNsYXNzIEZlYXR1cmVTY2VuYXJpb0xvY2F0aW9uQ29sbGVj dG9yKG9iamVjdCk6CisgICAgICAgICByZXR1cm4gc2VsZi5mZWF0dXJlCisgCisgCisrY2xhc3Mg RmVhdHVyZVNjZW5hcmlvTG9jYXRpb25Db2xsZWN0b3IxKEZlYXR1cmVTY2VuYXJpb0xvY2F0aW9u Q29sbGVjdG9yKToKKysKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgc2VsZWN0X3NjZW5h cmlvX2xpbmVfZm9yKGxpbmUsIHNjZW5hcmlvX2xpbmVzKToKKysgICAgICAgICIiIgorKyAgICAg ICAgU2VsZWN0IHNjZW5hcmlvIGxpbmUgZm9yIGFueSBnaXZlbiBsaW5lLgorKworKyAgICAgICAg QUxHT1JJVEhNOiBzY2VuYXJpby5saW5lIDw9IGxpbmUgPCBuZXh0X3NjZW5hcmlvLmxpbmUKKysK KysgICAgICAgIDpwYXJhbSBsaW5lOiAgQSBsaW5lIG51bWJlciBpbiB0aGUgZmlsZSAoYXMgbnVt YmVyKS4KKysgICAgICAgIDpwYXJhbSBzY2VuYXJpb19saW5lczogU29ydGVkIGxpc3Qgb2Ygc2Nl bmFyaW8gbGluZXMuCisrICAgICAgICA6cmV0dXJuOiBTY2VuYXJpby5saW5lIChmaXJzdCBsaW5l KSBmb3IgdGhlIGdpdmVuIGxpbmUuCisrICAgICAgICAiIiIKKysgICAgICAgIGlmIG5vdCBzY2Vu YXJpb19saW5lczoKKysgICAgICAgICAgICByZXR1cm4gMCAgICAjIC0tIFNlbGVjdCBhbGwgc2Nl bmFyaW9zLgorKyAgICAgICAgcG9zID0gYmlzZWN0KHNjZW5hcmlvX2xpbmVzLCBsaW5lKSAtIDEK KysgICAgICAgIGlmIHBvcyA8IDA6CisrICAgICAgICAgICAgcG9zID0gMAorKyAgICAgICAgcmV0 dXJuIHNjZW5hcmlvX2xpbmVzW3Bvc10KKysKKysgICAgZGVmIGRpc2NvdmVyX3NlbGVjdGVkX3Nj ZW5hcmlvcyhzZWxmLCBzdHJpY3Q9RmFsc2UpOgorKyAgICAgICAgIiIiCisrICAgICAgICBEaXNj b3ZlcnMgc2VsZWN0ZWQgc2NlbmFyaW9zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBmaWxlIGxvY2F0 aW9ucy4KKysgICAgICAgIEluIGFkZGl0aW9uOgorKyAgICAgICAgICAqIGRpc2NvdmVyIGFsbCBz Y2VuYXJpb3MKKysgICAgICAgICAgKiBhdXRvLWNvcnJlY3QgQkFEIExJTkUtTlVNQkVSUworKwor KyAgICAgICAgOnBhcmFtIHN0cmljdDogIElmIHRydWUsIHJhaXNlcyBleGNlcHRpb24gaWYgZmls ZSBsb2NhdGlvbiBpcyBpbnZhbGlkLgorKyAgICAgICAgOnJldHVybjogTGlzdCBvZiBzZWxlY3Rl ZCBzY2VuYXJpb3Mgb2YgdGhpcyBmZWF0dXJlIChhcyBzZXQpLgorKyAgICAgICAgOnJhaXNlcyBJ bnZhbGlkRmlsZUxvY2F0aW9uRXJyb3I6CisrICAgICAgICAgICAgSWYgZmlsZSBsb2NhdGlvbiBp cyBubyBleGFjdGx5IGNvcnJlY3QgYW5kIHN0cmljdCBpcyB0cnVlLgorKyAgICAgICAgIiIiCisr ICAgICAgICBhc3NlcnQgc2VsZi5mZWF0dXJlCisrICAgICAgICBpZiBub3Qgc2VsZi5hbGxfc2Nl bmFyaW9zOgorKyAgICAgICAgICAgIHNlbGYuYWxsX3NjZW5hcmlvcyA9IHNlbGYuZmVhdHVyZS53 YWxrX3NjZW5hcmlvcygpCisrCisrICAgICAgICAjIC0tIFNURVA6IENoZWNrIGlmIGxpbmVzIGFy ZSBjb3JyZWN0LgorKyAgICAgICAgZXhpc3RpbmdfbGluZXMgPSBbc2NlbmFyaW8ubGluZSBmb3Ig c2NlbmFyaW8gaW4gc2VsZi5hbGxfc2NlbmFyaW9zXQorKyAgICAgICAgc2VsZWN0ZWRfbGluZXMg PSBsaXN0KHNlbGYuc2NlbmFyaW9fbGluZXMpCisrICAgICAgICBmb3IgbGluZSBpbiBzZWxlY3Rl ZF9saW5lczoKKysgICAgICAgICAgICBuZXdfbGluZSA9IHNlbGYuc2VsZWN0X3NjZW5hcmlvX2xp bmVfZm9yKGxpbmUsIGV4aXN0aW5nX2xpbmVzKQorKyAgICAgICAgICAgIGlmIG5ld19saW5lICE9 IGxpbmU6CisrICAgICAgICAgICAgICAgICMgLS0gQVVUTy1DT1JSRUNUIEJBRC1MSU5FOgorKyAg ICAgICAgICAgICAgICBzZWxmLnNjZW5hcmlvX2xpbmVzLnJlbW92ZShsaW5lKQorKyAgICAgICAg ICAgICAgICBzZWxmLnNjZW5hcmlvX2xpbmVzLmFkZChuZXdfbGluZSkKKysgICAgICAgICAgICAg ICAgaWYgc3RyaWN0OgorKyAgICAgICAgICAgICAgICAgICAgbXNnID0gIlNjZW5hcmlvIGxvY2F0 aW9uICcuLi46JWQnIHNob3VsZCBiZTogJyVzOiVkJyIgJSBcCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAobGluZSwgc2VsZi5maWxlbmFtZSwgbmV3X2xpbmUpCisrICAgICAgICAgICAgICAg ICAgICByYWlzZSBJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3IobXNnKQorKworKyAgICAgICAgIyAt LSBTVEVQOiBEZXRlcm1pbmUgc2VsZWN0ZWQgc2NlbmFyaW9zIGFuZCBzdG9yZSB0aGVtLgorKyAg ICAgICAgc2NlbmFyaW9fbGluZXMgPSBzZXQoc2VsZi5zY2VuYXJpb19saW5lcykKKysgICAgICAg IHNlbGVjdGVkX3NjZW5hcmlvcyA9IHNldCgpCisrICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2Vs Zi5hbGxfc2NlbmFyaW9zOgorKyAgICAgICAgICAgIGlmIHNjZW5hcmlvLmxpbmUgaW4gc2NlbmFy aW9fbGluZXM6CisrICAgICAgICAgICAgICAgIHNlbGVjdGVkX3NjZW5hcmlvcy5hZGQoc2NlbmFy aW8pCisrICAgICAgICAgICAgICAgIHNjZW5hcmlvX2xpbmVzLnJlbW92ZShzY2VuYXJpby5saW5l KQorKyAgICAgICAgIyAtLSBDSEVDSyBBTEwgQVJFIFJFU09MVkVEOgorKyAgICAgICAgYXNzZXJ0 IG5vdCBzY2VuYXJpb19saW5lcworKyAgICAgICAgcmV0dXJuIHNlbGVjdGVkX3NjZW5hcmlvcwor KworKworK2NsYXNzIEZlYXR1cmVTY2VuYXJpb0xvY2F0aW9uQ29sbGVjdG9yMihGZWF0dXJlU2Nl bmFyaW9Mb2NhdGlvbkNvbGxlY3Rvcik6CisrCisrICAgIGRlZiBkaXNjb3Zlcl9zZWxlY3RlZF9z Y2VuYXJpb3Moc2VsZiwgc3RyaWN0PUZhbHNlKToKKysgICAgICAgICIiIkRpc2NvdmVycyBzZWxl Y3RlZCBzY2VuYXJpb3MgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGZpbGUgbG9jYXRpb25zLgorKyAg ICAgICAgSW4gYWRkaXRpb246CisrICAgICAgICAgICogZGlzY292ZXIgYWxsIHNjZW5hcmlvcwor KyAgICAgICAgICAqIGF1dG8tY29ycmVjdCBCQUQgTElORS1OVU1CRVJTCisrCisrICAgICAgICA6 cGFyYW0gc3RyaWN0OiAgSWYgdHJ1ZSwgcmFpc2VzIGV4Y2VwdGlvbiBpZiBmaWxlIGxvY2F0aW9u IGlzIGludmFsaWQuCisrICAgICAgICA6cmV0dXJuOiBMaXN0IG9mIHNlbGVjdGVkIHNjZW5hcmlv cyBvZiB0aGlzIGZlYXR1cmUgKGFzIHNldCkuCisrICAgICAgICA6cmFpc2VzIEludmFsaWRGaWxl TG9jYXRpb25FcnJvcjoKKysgICAgICAgICAgICBJZiBmaWxlIGxvY2F0aW9uIGlzIG5vIGV4YWN0 bHkgY29ycmVjdCBhbmQgc3RyaWN0IGlzIHRydWUuCisrICAgICAgICAiIiIKKysgICAgICAgIGFz c2VydCBzZWxmLmZlYXR1cmUKKysgICAgICAgIGlmIG5vdCBzZWxmLmFsbF9zY2VuYXJpb3M6Cisr ICAgICAgICAgICAgc2VsZi5hbGxfc2NlbmFyaW9zID0gc2VsZi5mZWF0dXJlLndhbGtfc2NlbmFy aW9zKCkKKysKKysgICAgICAgIGxpbmVfZGF0YWJhc2UgPSBGZWF0dXJlTGluZURhdGFiYXNlLm1h a2Uoc2VsZi5mZWF0dXJlKQorKyAgICAgICAgc2VsZWN0ZWRfbGluZXMgPSBsaXN0KHNlbGYuc2Nl bmFyaW9fbGluZXMpCisrICAgICAgICBzZWxlY3RlZF9zY2VuYXJpb3MgPSBzZXQoKQorKyAgICAg ICAgZm9yIGxpbmUgaW4gc2VsZWN0ZWRfbGluZXM6CisrICAgICAgICAgICAgbW9yZV9zY2VuYXJp b3MgPSBsaW5lX2RhdGFiYXNlLnNlbGVjdF9zY2VuYXJpb3NfYnlfbGluZShsaW5lKQorKyAgICAg ICAgICAgIHNlbGVjdGVkX3NjZW5hcmlvcy51cGRhdGUobW9yZV9zY2VuYXJpb3MpCisrICAgICAg ICByZXR1cm4gc2VsZWN0ZWRfc2NlbmFyaW9zCisrCisrCisgY2xhc3MgRmVhdHVyZUxpc3RQYXJz ZXIob2JqZWN0KToKKyAgICAgIiIiCisgICAgIFJlYWQgdGV4dHVhbCBmaWxlLCBhbGEgJ0BmZWF0 dXJlcy50eHQnLiBUaGlzIGZpbGUgY29udGFpbnM6CitAQCAtMzA0LDcgKzQ4Niw3IEBAIGRlZiBw YXJzZV9mZWF0dXJlcyhmZWF0dXJlX2ZpbGVzLCBsYW5ndWFnZT1Ob25lKToKKyAgICAgOnBhcmFt IGxhbmd1YWdlOiAgICAgIERlZmF1bHQgbGFuZ3VhZ2UgdG8gdXNlLgorICAgICA6cmV0dXJuOiBM aXN0IG9mIGZlYXR1cmUgb2JqZWN0cy4KKyAgICAgIiIiCistICAgIHNjZW5hcmlvX2NvbGxlY3Rv ciA9IEZlYXR1cmVTY2VuYXJpb0xvY2F0aW9uQ29sbGVjdG9yKCkKKysgICAgc2NlbmFyaW9fY29s bGVjdG9yID0gRmVhdHVyZVNjZW5hcmlvTG9jYXRpb25Db2xsZWN0b3IyKCkKKyAgICAgZmVhdHVy ZXMgPSBbXQorICAgICBmb3IgbG9jYXRpb24gaW4gZmVhdHVyZV9maWxlczoKKyAgICAgICAgIGlm IG5vdCBpc2luc3RhbmNlKGxvY2F0aW9uLCBGaWxlTG9jYXRpb24pOgorQEAgLTMxNSw3ICs0OTcs NyBAQCBkZWYgcGFyc2VfZmVhdHVyZXMoZmVhdHVyZV9maWxlcywgbGFuZ3VhZ2U9Tm9uZSk6Cisg ICAgICAgICAgICAgc2NlbmFyaW9fY29sbGVjdG9yLmFkZF9sb2NhdGlvbihsb2NhdGlvbikKKyAg ICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgZWxpZiBzY2VuYXJpb19jb2xsZWN0b3IuZmVh dHVyZToKKy0gICAgICAgICAgICAjIC0tIEFERCBDVVJSRU5UIEZFQVRVUkU6IEFzIGNvbGxlY3Rp b24gb2Ygc2NlbmFyaW9zLgorKyAgICAgICAgICAgICMgLS0gTkVXIEZFQVRVUkUgREVURUNURUQ6 IEFkZCBjdXJyZW50IGZlYXR1cmUuCisgICAgICAgICAgICAgY3VycmVudF9mZWF0dXJlID0gc2Nl bmFyaW9fY29sbGVjdG9yLmJ1aWxkX2ZlYXR1cmUoKQorICAgICAgICAgICAgIGZlYXR1cmVzLmFw cGVuZChjdXJyZW50X2ZlYXR1cmUpCisgICAgICAgICAgICAgc2NlbmFyaW9fY29sbGVjdG9yLmNs ZWFyKCkKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9ydW5uZXIuc2VsZWN0X3NjZW5hcmlvc19ieV9m aWxlX2xvY2F0aW9uLmZlYXR1cmUgYi9mZWF0dXJlcy9ydW5uZXIuc2VsZWN0X3NjZW5hcmlvc19i eV9maWxlX2xvY2F0aW9uLmZlYXR1cmUKK2luZGV4IGY2MGM0M2YuLjY5ZTIzZmUgMTAwNjQ0Cist LS0gYS9mZWF0dXJlcy9ydW5uZXIuc2VsZWN0X3NjZW5hcmlvc19ieV9maWxlX2xvY2F0aW9uLmZl YXR1cmUKKysrKyBiL2ZlYXR1cmVzL3J1bm5lci5zZWxlY3Rfc2NlbmFyaW9zX2J5X2ZpbGVfbG9j YXRpb24uZmVhdHVyZQorQEAgLTEzLDE1ICsxMywyOCBAQCBGZWF0dXJlOiBTZWxlY3QgU2NlbmFy aW9zIGJ5IEZpbGUgTG9jYXRpb24KKyAgICAgLiAgICogQSBmaWxlIGxvY2F0aW9uIHdpdGggZmls ZW5hbWUgYnV0IHdpdGhvdXQgbGluZSBudW1iZXIKKyAgICAgLiAgICAgcmVmZXJzIHRvIHRoZSBj b21wbGV0ZSBmaWxlCisgICAgIC4gICAqIEEgZmlsZSBsb2NhdGlvbiB3aXRoIGxpbmUgbnVtYmVy IDAgKHplcm8pIHJlZmVycyB0byB0aGUgY29tcGxldGUgZmlsZQorKyAgICAuICAgKiBBIGZpbGUg bG9jYXRpb24gd2l0aGluIGEgc2NlbmFyaW8gY29udGFpbmVyIChGZWF0dXJlLCBSdWxlLCBTY2Vu YXJpb091dGxpbmUpLAorKyAgICAuICAgICB0aGF0IGRvZXMgbm90IHJlZmVyIHRvIHRoZSBmaWxl IGxvY2F0aW9uIHdpdGhpbiBhIHNjZW5hcmlvLAorKyAgICAuICAgICBzZWxlY3RzIGFsbCBzY2Vu YXJpb3Mgb2YgdGhpcyBzY2VuYXJpbyBjb250YWluZXIuCisgICAgIC4KKyAgICAgLiBTUEVDSUZJ Q0FUSU9OOiBTY2VuYXJpbyBzZWxlY3Rpb24gYnkgZmlsZSBsb2NhdGlvbnMKKyAgICAgLiAgICog c2NlbmFyaW8ubGluZSA9PSBmaWxlX2xvY2F0aW9uLmxpbmUgc2VsZWN0cyBzY2VuYXJpbyAocHJl ZmVycmVkIG1ldGhvZCkuCisgICAgIC4gICAqIEFueSBsaW5lIG51bWJlciBpbiB0aGUgZm9sbG93 aW5nIHJhbmdlIGlzIGFjY2VwdGFibGU6CistICAgIC4gICAgICAgIHNjZW5hcmlvLmxpbmUgPD0g ZmlsZV9sb2NhdGlvbi5saW5lIDwgbmV4dF9zY2VuYXJpby5saW5lCistICAgIC4gICAqIFRoZSBm aXJzdCBzY2VuYXJpbyBpcyBzZWxlY3RlZCwKKy0gICAgLiAgICAgaWYgdGhlIGZpbGUgbG9jYXRp b24gbGluZSBudW1iZXIgaXMgbGVzcyB0aGFuIGZpcnN0IHNjZW5hcmlvLmxpbmUuCisrICAgIC4g ICAgICAgIHNjZW5hcmlvLmxpbmUgPD0gZmlsZV9sb2NhdGlvbi5saW5lIDwgbmV4dF9lbnRpdHku bGluZSAobWF5YmU6IHNjZW5hcmlvKQorKyAgICAuICAgKiBJZiB0aGUgZmlsZSBsb2NhdGlvbiBs aW5lIG51bWJlciBpcyBsZXNzIHRoYW4gZmlyc3Qgc2NlbmFyaW8ubGluZSwKKysgICAgLiAgICAg dGhlIHByZWNlZWRpbmcgc2NlbmFyaW8gY29udGFpbmVyIChGZWF0dXJlIG9yIFJ1bGUpIGlzIHNl bGVjdGVkLgorICAgICAuICAgKiBUaGUgbGFzdCBzY2VuYXJpbyBpcyBzZWxlY3RlZCwKKyAgICAg LiAgICAgaWYgdGhlIGZpbGUgbG9jYXRpb24gbGluZSBudW1iZXIgaXMgZ3JlYXRlciB0aGFuIHRo ZSBsaW5lcyBpbiB0aGUgZmlsZS4KKysgICAgLiAgICogRm9yIFNjZW5hcmlvT3V0bGluZS5zY2Vu YXJpb3M6CisrICAgIC4gICAgICAgICBzY2VuYXJpby5saW5lID09IFNjZW5hcmlvT3V0bGluZS5l eGFtcGxlc1t4XS5yb3cubGluZQorKyAgICAuICAgICBUaGUgbGluZSBudW1iZXIgb2YgdGhlIEV4 YW1wbGVzIHJvdyB0aGF0IGNyZWF0ZWQgdGhlIHNjZW5hcmlvIGlzIGFzc2lnbmVkIHRvIGl0Lgor KyAgICAuCisrICAgIC4gU1BFQ0lGSUNBVElPTjogIlNjZW5hcmlvIGNvbnRhaW5lciIgc2VsZWN0 aW9uIGJ5IGZpbGUgbG9jYXRpb25zCisrICAgIC4gICAqIFNjZW5hcmlvIGNvbnRhaW5lcnMgYXJl OiBGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUKKysgICAgLiAgICogQSBmaWxlIGxvY2F0 aW9uIHRoYXQgcG9pbnRzIGludG8gdGhlIG1hdGNoaW5nIHJhbmdlIG9mIGEgc2NlbmFyaW8gY29u dGFpbmVyLAorKyAgICAuICAgICBzZWxlY3RzIGFsbCBzY2VuYXJpb3MgLyBydW4taXRlbXMgd2l0 aGluIHRoaXMgc2NlbmFyaW8gY29udGFpbmVyLgorKyAgICAuICAgKiBBbnkgbGluZSBudW1iZXIg aW4gdGhlIGZvbGxvd2luZyByYW5nZSBzZWxlY3RzIHRoZSBzY2VuYXJpbyBjb250YWluZXI6Cisr ICAgIC4gICAgICAgIGVudGl0eS5saW5lIDw9IGZpbGVfbG9jYXRpb24ubGluZSA8IG5leHRfZW50 aXR5LmxpbmUgKG1heWJlOiBjaGlsZCkKKyAgICAgLgorICAgICAuIFNQRUNJRklDQVRJT046IFJ1 bm5lciB3aXRoIHNjZW5hcmlvIGxvY2F0aW9ucyAoZmlsZSBsb2NhdGlvbnMpCisgICAgIC4gICAq IEFkamFjZW50IGZpbGUgbG9jYXRpb25zIGFyZSBtZXJnZWQgaWYgdGhleSByZWZlciB0byB0aGUg c2FtZSBmaWxlLCBsaWtlOgorQEAgLTE2MiwyMiArMTc1LDI0IEBAIEZlYXR1cmU6IFNlbGVjdCBT Y2VuYXJpb3MgYnkgRmlsZSBMb2NhdGlvbgorICAgICAgICAgICAgICIiIgorIAorICAgICBAZmls ZV9sb2NhdGlvbi5zZWxlY3RfZmlyc3QKKy0gICAgU2NlbmFyaW86IFNlbGVjdCBmaXJzdCBzY2Vu YXJpbyBpZiBsaW5lIG51bWJlciBpcyBzbWFsbGVyIHRoYW4gZmlyc3Qgc2NlbmFyaW8gbGluZQor KyAgICBTY2VuYXJpbzogU2VsZWN0IGFsbCBzY2VuYXJpb3MgaWYgbGluZSBudW1iZXIgaXMgc21h bGxlciB0aGFuIGZpcnN0IHNjZW5hcmlvIGxpbmUKKyAKKyAgICAgICBDQVNFOiAwIDwgZmlsZV9s b2NhdGlvbi5saW5lIDwgZmlyc3Rfc2NlbmFyaW8ubGluZQorKyAgICAgIEhJTlQ6IEFueSBsaW5l IG51bWJlciBvdXRzaWRlIG9mIGEgc2NlbmFyaW8gbWF5IHBvaW50IGludG8gYSAic2NlbmFyaW8g Y29udGFpbmVyIi4KKysgICAgICAgICAgICBJbiB0aGlzIGNhc2UsIGFsbCB0aGUgc2NlbmFyaW9z IG9mIHRoZSBzY2VuYXJpbyBjb250YWluZXIgYXJlIHNlbGVjdGVkLgorIAorICAgICAgICAgV2hl biBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tZHJ5LXJ1biAtLW5vLXNraXBwZWQgZmVhdHVyZXMv YWxpY2UuZmVhdHVyZToxIgorICAgICAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAg ICAgICAgICAgICIiIgorICAgICAgICAgICAgIDAgZmVhdHVyZXMgcGFzc2VkLCAwIGZhaWxlZCwg MCBza2lwcGVkLCAxIHVudGVzdGVkCistICAgICAgICAgICAgMCBzY2VuYXJpb3MgcGFzc2VkLCAw IGZhaWxlZCwgMSBza2lwcGVkLCAxIHVudGVzdGVkCisrICAgICAgICAgICAgMCBzY2VuYXJpb3Mg cGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkLCAyIHVudGVzdGVkCisgICAgICAgICAgICAgIiIi CisgICAgICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorICAgICAg ICAgICAgICIiIgorICAgICAgICAgICAgIEZlYXR1cmU6IEFsaWNlCisgICAgICAgICAgICAgICBT Y2VuYXJpbzogQWxpY2UgRmlyc3QKKyAgICAgICAgICAgICAiIiIKKy0gICAgICAgIEJ1dCB0aGUg Y29tbWFuZCBvdXRwdXQgc2hvdWxkIG5vdCBjb250YWluOgorKyAgICAgICAgQnV0IHRoZSBjb21t YW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoKKyAgICAgICAgICAgICAiIiIKKyAgICAgICAgICAg ICBTY2VuYXJpbzogQWxpY2UgTGFzdAorICAgICAgICAgICAgICIiIgorZGlmZiAtLWdpdCBhL3B5 dGVzdC5pbmkgYi9weXRlc3QuaW5pCitpbmRleCBhNjg2NTk2Li5mZjJhOGEyIDEwMDY0NAorLS0t IGEvcHl0ZXN0LmluaQorKysrIGIvcHl0ZXN0LmluaQorQEAgLTE2LDcgKzE2LDcgQEAKKyAjID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKyAKKyBbcHl0ZXN0XQorLW1pbnZlcnNpb24gICAgPSA0LjIKKytt aW52ZXJzaW9uICAgID0gMi44CisgdGVzdHBhdGhzICAgICA9IHRlc3RzCisgcHl0aG9uX2ZpbGVz ICA9IHRlc3RfKi5weQorIGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBBQ0tBR0VfVU5ERVJfVEVTVCBi ZWhhdmUKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfcnVubmVyX3V0aWwucHkgYi90ZXN0 cy91bml0L3Rlc3RfcnVubmVyX3V0aWwucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwLi5iNTAxOWI4CistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy91bml0L3Rlc3RfcnVu bmVyX3V0aWwucHkKK0BAIC0wLDAgKzEsMTc1IEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0K KysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rp b24KKytmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdAorK2Zyb20gYmVoYXZlLnJ1 bm5lcl91dGlsIGltcG9ydCBGZWF0dXJlTGluZURhdGFiYXNlCisrZnJvbSBiZWhhdmUucGFyc2Vy IGltcG9ydCBwYXJzZV9mZWF0dXJlCisrZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IEZlYXR1cmUs IFJ1bGUsIFNjZW5hcmlvT3V0bGluZSwgU2NlbmFyaW8sIEJhY2tncm91bmQKKytpbXBvcnQgcHl0 ZXN0CisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFRFU1QgREFU QTogRmVhdHVyZUxpbmVEYXRhYmFzZQorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisrZmVhdHVyZV90ZXh0MSA9IHUiIiIKKysgICAgRmVhdHVyZTogQWxpY2UKKysgICAgICAgIEJh Y2tncm91bmQ6IEFsaWNlLkJhY2tncm91bmQKKysgICAgICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5k IHN0ZXAgcGFzc2VzCisrICAgICAgICAgIAorKyAgICAgICAgU2NlbmFyaW86IEExCisrICAgICAg ICAgIEdpdmVuIGEgc2NlbmFyaW8gc3RlcCBwYXNzZXMKKysKKysgICAgICAgIFNjZW5hcmlvOiBB MgorKyAgICAgICAgICBHaXZlbiBhIHNjZW5hcmlvIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIFdo ZW4gYSBzY2VuYXJpbyBzdGVwIHBhc3NlcworKyAgICAiIiIKKysKKytmZWF0dXJlX3RleHRfd2l0 aF9zY2VuYXJpb19vdXRsaW5lID0gdSIiIgorKyAgICBGZWF0dXJlOiBCb2IKKysgICAgCisrICAg ICAgICBTY2VuYXJpbyBPdXRsaW5lOiBCb2IuU09fMl88cm93LmlkPgorKyAgICAgICAgICBHaXZl biBhIHBlcnNvbiB3aXRoIG5hbWUgIjxOYW1lPiIKKysgICAgICAgICAgVGhlbiB0aGUgcGVyc29u IGlzIGJvcm4gaW4gPEJpcnRoeWVhcj4KKysgICAgICAgIAorKyAgICAgICAgICBFeGFtcGxlczoK KysgICAgICAgICAgICB8IE5hbWUgIHwgQmlydGh5ZWFyIHwKKysgICAgICAgICAgICB8IEFsaWNl IHwgIDE5OTAgICAgIHwKKysgICAgICAgICAgICB8IEJvYiAgIHwgIDE5OTEgICAgIHwKKysgICAg ICAgICAgICAKKysgICAgICAgIFNjZW5hcmlvOiBCb2IuUzMKKysgICAgICAgICAgR2l2ZW4gYSBz Y2VuYXJpbyBzdGVwIHBhc3NlcworKyAgICAgICAgICBXaGVuIGEgc2NlbmFyaW8gc3RlcCBwYXNz ZXMKKysgICAgIiIiCisrCisrZmVhdHVyZV90ZXh0X3dpdGhfcnVsZSA9IHUiIiIKKysgICAgRmVh dHVyZTogQ2hhcmx5CisrICAgICAgICBCYWNrZ3JvdW5kOiBDaGFybHkuQmFja2dyb3VuZAorKyAg ICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNzZXMKKysKKysgICAgICAgIFNjZW5h cmlvOiBDMQorKyAgICAgICAgICBHaXZlbiBhIHNjZW5hcmlvIHN0ZXAgcGFzc2VzCisrCisrICAg ICAgICBSdWxlOiBDaGFybHkuUnVsZV8xCisrCisrICAgICAgICAgIFNjZW5hcmlvOiBSdWxlXzEu QzIKKysgICAgICAgICAgICBHaXZlbiBhIHNjZW5hcmlvIHN0ZXAgcGFzc2VzCisrICAgICAgICAg ICAgV2hlbiBhIHNjZW5hcmlvIHN0ZXAgcGFzc2VzCisrICAgICIiIgorKworK2ZlYXR1cmVfZmls ZV9tYXAgPSB7CisrICAgICJiYXNpYy5mZWF0dXJlIjogZmVhdHVyZV90ZXh0MSwKKysgICAgInNj ZW5hcmlvX291dGxpbmUuZmVhdHVyZSI6IGZlYXR1cmVfdGV4dF93aXRoX3NjZW5hcmlvX291dGxp bmUsCisrICAgICJydWxlLmZlYXR1cmUiOiBmZWF0dXJlX3RleHRfd2l0aF9ydWxlLAorK30KKysK KysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVEVTVCBTVUlURSBGT1I6IEZl YXR1cmVMaW5lRGF0YWJhc2UKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2Ns YXNzIFRlc3RGZWF0dXJlTGluZURhdGFiYXNlKG9iamVjdCk6CisrICAgIGRlZiB0ZXN0X21ha2Uo c2VsZik6CisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZShmZWF0dXJlX3RleHQxLnN0 cmlwKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZT0iZmVhdHVy ZXMvQWxpY2UuZmVhdHVyZSIpCisrICAgICAgICBzY2VuYXJpb18wID0gZmVhdHVyZS5zY2VuYXJp b3NbMF0KKysgICAgICAgIHNjZW5hcmlvXzEgPSBmZWF0dXJlLnNjZW5hcmlvc1sxXQorKworKyAg ICAgICAgbGluZV9kYXRhYmFzZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFrZShmZWF0dXJlKQor KyAgICAgICAgZXhwZWN0ZWQgPSBPcmRlcmVkRGljdChbCisrICAgICAgICAgICAgKDAsIGZlYXR1 cmUpLAorKyAgICAgICAgICAgIChmZWF0dXJlLmxvY2F0aW9uLmxpbmUsIGZlYXR1cmUpLAorKyAg ICAgICAgICAgIChzY2VuYXJpb18wLmxpbmUsIHNjZW5hcmlvXzApLAorKyAgICAgICAgICAgIChz Y2VuYXJpb18xLmxpbmUsIHNjZW5hcmlvXzEpLAorKyAgICAgICAgXSkKKysgICAgICAgIGFzc2Vy dCBsaW5lX2RhdGFiYXNlLmRhdGEgPT0gZXhwZWN0ZWQKKysgICAgICAgIGFzc2VydCBmZWF0dXJl LmxvY2F0aW9uLmxpbmUgPT0gMQorKworKyAgICBkZWYgdGVzdF9tYWtlX193aXRoX3NjZW5hcmlv X291dGxpbmUoc2VsZik6CisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZShmZWF0dXJl X3RleHRfd2l0aF9zY2VuYXJpb19vdXRsaW5lLnN0cmlwKCksCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmaWxlbmFtZT0iZmVhdHVyZXMvQm9iLmZlYXR1cmUiKQorKyAgICAgICAg c2NlbmFyaW9zID0gZmVhdHVyZS53YWxrX3NjZW5hcmlvcyh3aXRoX291dGxpbmVzPVRydWUpCisr ICAgICAgICBzY2VuYXJpb19vdXRsaW5lID0gc2NlbmFyaW9zWzBdCisrICAgICAgICBhc3NlcnQg c2NlbmFyaW9fb3V0bGluZSBpcyBmZWF0dXJlLnJ1bl9pdGVtc1swXQorKyAgICAgICAgc2NlbmFy aW9fMSA9IHNjZW5hcmlvc1sxXQorKyAgICAgICAgc2NlbmFyaW9fMiA9IHNjZW5hcmlvc1syXQor KyAgICAgICAgc2NlbmFyaW9fMyA9IHNjZW5hcmlvc1szXQorKworKyAgICAgICAgbGluZV9kYXRh YmFzZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFrZShmZWF0dXJlKQorKyAgICAgICAgZXhwZWN0 ZWQgPSBPcmRlcmVkRGljdChbCisrICAgICAgICAgICAgKDAsIGZlYXR1cmUpLAorKyAgICAgICAg ICAgIChmZWF0dXJlLmxvY2F0aW9uLmxpbmUsIGZlYXR1cmUpLAorKyAgICAgICAgICAgIChzY2Vu YXJpb19vdXRsaW5lLmxpbmUsIHNjZW5hcmlvX291dGxpbmUpLAorKyAgICAgICAgICAgIChzY2Vu YXJpb18xLmxpbmUsIHNjZW5hcmlvXzEpLAorKyAgICAgICAgICAgIChzY2VuYXJpb18yLmxpbmUs IHNjZW5hcmlvXzIpLAorKyAgICAgICAgICAgIChzY2VuYXJpb18zLmxpbmUsIHNjZW5hcmlvXzMp LAorKyAgICAgICAgXSkKKysgICAgICAgIGFzc2VydCBsaW5lX2RhdGFiYXNlLmRhdGEgPT0gZXhw ZWN0ZWQKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLmxvY2F0aW9uLmxpbmUgPCBzY2VuYXJpb19v dXRsaW5lLmxvY2F0aW9uLmxpbmUKKysgICAgICAgIGFzc2VydCBzY2VuYXJpb19vdXRsaW5lLmxv Y2F0aW9uLmxpbmUgPCBzY2VuYXJpb18xLmxvY2F0aW9uLmxpbmUKKysgICAgICAgIGFzc2VydCBz Y2VuYXJpb18xLmxvY2F0aW9uLmxpbmUgPCBzY2VuYXJpb18yLmxvY2F0aW9uLmxpbmUKKysgICAg ICAgIGFzc2VydCBzY2VuYXJpb18yLmxvY2F0aW9uLmxpbmUgPCBzY2VuYXJpb18zLmxvY2F0aW9u LmxpbmUKKysKKysKKysgICAgZGVmIHRlc3Rfc2VsZWN0X3J1bl9pdGVtc19ieV9saW5lX19mZWF0 dXJlX2xpbmVfc2VsZWN0c19mZWF0dXJlKHNlbGYpOgorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNl X2ZlYXR1cmUoZmVhdHVyZV90ZXh0MSwgZmlsZW5hbWU9ImZlYXR1cmVzL0FsaWNlLmZlYXR1cmUi KQorKyAgICAgICAgbGluZV9kYXRhYmFzZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFrZShmZWF0 dXJlKQorKyAgICAgICAgc2VsZWN0ZWQgPSBsaW5lX2RhdGFiYXNlLnNlbGVjdF9ydW5faXRlbV9i eV9saW5lKGZlYXR1cmUubG9jYXRpb24ubGluZSkKKysgICAgICAgIGFzc2VydCBzZWxlY3RlZCBp cyBmZWF0dXJlCisrICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShzZWxlY3RlZCwgRmVhdHVyZSkK KysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJmaWxlbmFtZSIsIFsKKysgICAgICAg ICJiYXNpYy5mZWF0dXJlIiwgInNjZW5hcmlvX291dGxpbmUuZmVhdHVyZSIsICJydWxlLmZlYXR1 cmUiCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X3NlbGVjdF9ydW5faXRlbXNfYnlfbGluZV9fZW50 aXR5X2xpbmVfc2VsZWN0c19lbnRpdHkoc2VsZiwgZmlsZW5hbWUpOgorKyAgICAgICAgZmVhdHVy ZV90ZXh0ID0gZmVhdHVyZV9maWxlX21hcFtmaWxlbmFtZV0KKysgICAgICAgIGZlYXR1cmUgPSBw YXJzZV9mZWF0dXJlKGZlYXR1cmVfdGV4dCwgZmlsZW5hbWU9ZmlsZW5hbWUpCisrICAgICAgICBs aW5lX2RhdGFiYXNlID0gRmVhdHVyZUxpbmVEYXRhYmFzZS5tYWtlKGZlYXR1cmUpCisrICAgICAg ICBsYXN0X2xpbmUgPSAwCisrICAgICAgICBhbGxfcnVuX2l0ZW1zID0gZmVhdHVyZS53YWxrX3Nj ZW5hcmlvcyh3aXRoX291dGxpbmVzPVRydWUsIHdpdGhfcnVsZXM9VHJ1ZSkKKysgICAgICAgIGZv ciBydW5faXRlbSBpbiBhbGxfcnVuX2l0ZW1zOgorKyAgICAgICAgICAgIHNlbGVjdGVkID0gbGlu ZV9kYXRhYmFzZS5zZWxlY3RfcnVuX2l0ZW1fYnlfbGluZShydW5faXRlbS5sb2NhdGlvbi5saW5l KQorKyAgICAgICAgICAgIGFzc2VydCBzZWxlY3RlZCBpcyBydW5faXRlbQorKyAgICAgICAgICAg IGFzc2VydCBsYXN0X2xpbmUgPCBzZWxlY3RlZC5sb2NhdGlvbi5saW5lCisrICAgICAgICAgICAg bGFzdF9saW5lID0gcnVuX2l0ZW0ubG9jYXRpb24ubGluZQorKworKyAgICBAcHl0ZXN0Lm1hcmsu cGFyYW1ldHJpemUoImZpbGVuYW1lIiwgWworKyAgICAgICAgImJhc2ljLmZlYXR1cmUiLCAic2Nl bmFyaW9fb3V0bGluZS5mZWF0dXJlIiwgInJ1bGUuZmVhdHVyZSIKKysgICAgXSkKKysgICAgZGVm IHRlc3Rfc2VsZWN0X3J1bl9pdGVtc19ieV9saW5lX19saW5lX2JlZm9yZV9lbnRpdHlfc2VsZWN0 c19sYXN0X2VudGl0eShzZWxmLCBmaWxlbmFtZSk6CisrICAgICAgICBmZWF0dXJlX3RleHQgPSBm ZWF0dXJlX2ZpbGVfbWFwW2ZpbGVuYW1lXQorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1 cmUoZmVhdHVyZV90ZXh0LCBmaWxlbmFtZT1maWxlbmFtZSkKKysgICAgICAgIGxpbmVfZGF0YWJh c2UgPSBGZWF0dXJlTGluZURhdGFiYXNlLm1ha2UoZmVhdHVyZSkKKysgICAgICAgIGFsbF9ydW5f aXRlbXMgPSBmZWF0dXJlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9VHJ1ZSwgd2l0aF9y dWxlcz1UcnVlKQorKyAgICAgICAgbGFzdF9ydW5faXRlbSA9IGZlYXR1cmUKKysgICAgICAgIGZv ciBydW5faXRlbSBpbiBhbGxfcnVuX2l0ZW1zOgorKyAgICAgICAgICAgIHByZWRlY2Vzc29yX2xp bmUgPSBydW5faXRlbS5sb2NhdGlvbi5saW5lIC0gMQorKyAgICAgICAgICAgIHNlbGVjdGVkID0g bGluZV9kYXRhYmFzZS5zZWxlY3RfcnVuX2l0ZW1fYnlfbGluZShwcmVkZWNlc3Nvcl9saW5lKQor KyAgICAgICAgICAgIGFzc2VydCBzZWxlY3RlZCBpcyBsYXN0X3J1bl9pdGVtCisrICAgICAgICAg ICAgYXNzZXJ0IHNlbGVjdGVkIGlzIG5vdCBydW5faXRlbQorKyAgICAgICAgICAgIGxhc3RfcnVu X2l0ZW0gPSBydW5faXRlbQorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImZpbGVu YW1lIiwgWworKyAgICAgICAgImJhc2ljLmZlYXR1cmUiLCAic2NlbmFyaW9fb3V0bGluZS5mZWF0 dXJlIiwgInJ1bGUuZmVhdHVyZSIKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfc2VsZWN0X3J1bl9p dGVtc19ieV9saW5lX19saW5lX2FmdGVyX2VudGl0eV9zZWxlY3RzX2VudGl0eShzZWxmLCBmaWxl bmFtZSk6CisrICAgICAgICAjIC0tIEhJTlQ6IEluIG1vc3QgY2FzZXMKKysgICAgICAgICMgRVhD RVBUOgorKyAgICAgICAgIyAgICogU2NlbmFyaW9zIG9mIFNjZW5hcmlvT3V0bGluZTogc2NlbmFy aW8ubGluZSA9PSBTTy5leGFtcGxlcy5yb3cubGluZQorKyAgICAgICAgIyAgICogRW1wdHkgZW50 aXR5IHdpdGhvdXQgc3RlcHMgaXMgZGlyZWN0bHkgZm9sbG93ZWQgYnkgb3RoZXIgZW50aXR5Cisr ICAgICAgICBmZWF0dXJlX3RleHQgPSBmZWF0dXJlX2ZpbGVfbWFwW2ZpbGVuYW1lXQorKyAgICAg ICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUoZmVhdHVyZV90ZXh0LCBmaWxlbmFtZT1maWxlbmFt ZSkKKysgICAgICAgIGxpbmVfZGF0YWJhc2UgPSBGZWF0dXJlTGluZURhdGFiYXNlLm1ha2UoZmVh dHVyZSkKKysgICAgICAgIGFsbF9ydW5faXRlbXMgPSBmZWF0dXJlLndhbGtfc2NlbmFyaW9zKHdp dGhfb3V0bGluZXM9VHJ1ZSwgd2l0aF9ydWxlcz1UcnVlKQorKyAgICAgICAgZmlsZV9lbmRfbGlu ZSA9IGFsbF9ydW5faXRlbXNbLTFdLmxvY2F0aW9uLmxpbmUgKyAxMDAwCisrICAgICAgICBmb3Ig aW5kZXgsIHJ1bl9pdGVtIGluIGVudW1lcmF0ZShhbGxfcnVuX2l0ZW1zKToKKysgICAgICAgICAg ICBuZXh0X2xpbmUgPSBydW5faXRlbS5sb2NhdGlvbi5saW5lICsgMQorKyAgICAgICAgICAgIG5l eHRfZW50aXR5X2xpbmUgPSBmaWxlX2VuZF9saW5lCisrICAgICAgICAgICAgaWYgaW5kZXgrMSA8 IGxlbihhbGxfcnVuX2l0ZW1zKToKKysgICAgICAgICAgICAgICAgbmV4dF9lbnRpdHkgPSBhbGxf cnVuX2l0ZW1zW2luZGV4KzFdCisrICAgICAgICAgICAgICAgIG5leHRfZW50aXR5X2xpbmUgPSBu ZXh0X2VudGl0eS5saW5lCisrICAgICAgICAgICAgaWYgbmV4dF9saW5lID49IG5leHRfZW50aXR5 X2xpbmU6CisrICAgICAgICAgICAgICAgICMgLS0gRVhDTFVERTogU2NlbmFyaW9zIGluIGEgU2Nl bmFyaW9PdXRsaW5lCisrICAgICAgICAgICAgICAgIHByaW50KCJFWENMVURFRDogJXM6ICVzIChs aW5lPSVzKSIgJQorKyAgICAgICAgICAgICAgICAgICAgICAocnVuX2l0ZW0ua2V5d29yZCwgcnVu X2l0ZW0ubmFtZSwgcnVuX2l0ZW0ubGluZSkpCisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisr CisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaW5lX2RhdGFiYXNlLnNlbGVjdF9ydW5faXRlbV9i eV9saW5lKG5leHRfbGluZSkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZWN0ZWQgaXMgcnVuX2l0 ZW0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMzgtZG9jcy1BZGQtZGVzY3JpcHRpb24tZm9yLVNlbGVjdC1ieS1sb2NhdGlv bi1mb3ItU2Nlbi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMzgtZG9jcy1BZGQtZGVzY3JpcHRpb24tZm9yLVNlbGVjdC1ieS1sb2Nh dGlvbi1mb3ItU2Nlbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LjE0Mzk0NjAzZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzgtZG9jcy1BZGQtZGVzY3JpcHRpb24tZm9yLVNl bGVjdC1ieS1sb2NhdGlvbi1mb3ItU2Nlbi5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIGE2 Mzg4YzBlOTdlNDM3OGE0ZWY2MjgzNjFhNDZmZjZkMDJkMzE1OWUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4K K0RhdGU6IFNhdCwgNiBKdWwgMjAxOSAxMDo1MDo1NCArMDIwMAorU3ViamVjdDogW1BBVENIXSBk b2NzOiBBZGQgZGVzY3JpcHRpb24gZm9yICJTZWxlY3QtYnktbG9jYXRpb24gZm9yIFNjZW5hcmlv CisgQ29udGFpbmVycyIKKworLS0tCisgZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJz dCB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAz MyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92 MS4yLjcucnN0IGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAoraW5kZXggODBk OTU3Ni4uZmYxY2QxZiAxMDA2NDQKKy0tLSBhL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIu Ny5yc3QKKysrKyBiL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QKK0BAIC03LDYg KzcsNyBAQCBTdW1tYXJ5OgorICogVXNlL1N1cHBvcnQgOnB5cGk6YGN1Y3VtYmVyLXRhZy1leHBy ZXNzaW9uc2AgKHN1cGVyY2VlZDogb2xkLXN0eWxlIHRhZy1leHByZXNzaW9ucykKKyAqIDpweXBp OmBjdWN1bWJlci10YWctZXhwcmVzc2lvbnNgIGFyZSBleHRlbmRlZCBieSAidGFnLW1hdGNoaW5n IgorICAgdG8gbWF0Y2ggcGFydGlhbCB0YWcgbmFtZXMsIGxpa2U6IGBgQGZvby4qYGAKKysqIGBT ZWxlY3QtYnktbG9jYXRpb24gZm9yIFNjZW5hcmlvIENvbnRhaW5lcnNgXyAoRmVhdHVyZSwgUnVs ZSwgU2NlbmFyaW9PdXRsaW5lKQorIAorIC4uIF9gRXhhbXBsZSBNYXBwaW5nYDogaHR0cHM6Ly9j dWN1bWJlci5pby9ibG9nL2V4YW1wbGUtbWFwcGluZy1pbnRyb2R1Y3Rpb24vCisgLi4gX2BFeGFt cGxlIE1hcHBpbmcgV2ViaW5hcmA6IGh0dHBzOi8vY3VjdW1iZXIuaW8vYmxvZy9leGFtcGxlLW1h cHBpbmctd2ViaW5hci8KK0BAIC0xMDIsMyArMTAzLDM1IEBAIE92ZXJ2aWV3IG9mIHRoZSBgRXhh bXBsZSBNYXBwaW5nYF8gY29uY2VwdHM6CisgCisgCisgLi4gaW5jbHVkZTo6IF9jb250ZW50LnRh Z19leHByZXNzaW9uc192Mi5yc3QKKysKKysKKytTZWxlY3QtYnktbG9jYXRpb24gZm9yIFNjZW5h cmlvIENvbnRhaW5lcnMKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrSW4gdGhlIHBhc3Qs IGl0IHdhcyBhbHJlYWR5IHBvc3NpYmxlIHRvIHNjZW5hcmlvKHMpIGJ5IHVzaW5nIGl0cyAqKmZp bGUtbG9jYXRpb24qKi4KKysKKytBICoqZmlsZS1sb2NhdGlvbioqIGhhcyB0aGUgc2NoZW1hOiBg YDxGSUxFTkFNRT46PExJTkVfTlVNQkVSPmBgLgorK0V4YW1wbGU6IGBgZmVhdHVyZXMvYWxpY2Uu ZmVhdHVyZToxMmBgCisrKHJlZmVycyB0byBgYGxpbmUgMTJgYCBpbiBgYGZlYXR1cmVzL2FsaWNl LmZlYXR1cmVgYCBmaWxlKS4KKysKKytSdWxlcyB0byBzZWxlY3QgKipTY2VuYXJpb3MqKiBieSB1 c2luZyB0aGUgZmlsZS1sb2NhdGlvbjoKKysKKysqICoqU2NlbmFyaW86KiogVXNlIGEgZmlsZS1s b2NhdGlvbiB0aGF0IHBvaW50cyB0byB0aGUga2V5d29yZC90aXRsZSBvciBpdHMgc3RlcHMKKysg ICh1bnRpbCBuZXh0IFNjZW5hcmlvL0VudGl0eSBzdGFydHMpLgorKworKyogKipTY2VuYXJpbyBv ZiBhIFNjZW5hcmlvT3V0bGluZToqKgorKyAgVXNlIHRoZSBmaWxlLWxvY2F0aW9uIG9mIGl0cyBF eGFtcGxlcyByb3cuCisrCisrTm93IHlvdSBjYW4gc2VsZWN0IGFsbCBlbnRpdGllcyBvZiBhICoq U2NlbmFyaW8gQ29udGFpbmVyKiogKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSk6Cisr CisrKiAqKkZlYXR1cmU6KioKKysgIFVzZSBmaWxlLWxvY2F0aW9uIGJlZm9yZSBmaXJzdCBjb250 YWluZWQgZW50aXR5L1NjZW5hcmlvIHN0YXJ0cy4KKysKKysqICoqUnVsZToqKgorKyAgVXNlIGZp bGUtbG9jYXRpb24gZnJvbSBrZXl3b3JkL3RpdGxlIGxpbmUgdG8gbGluZSBiZWZvcmUgaXRzIGZp cnN0IFNjZW5hcmlvL0JhY2tncm91bmQuCisrCisrKiAqKlNjZW5hcmlvT3V0bGluZToqKgorKyAg VXNlIGZpbGUtbG9jYXRpb24gZnJvbSBrZXl3b3JkL3RpdGxlIGxpbmUgdG8gbGluZSBiZWZvcmUg aXRzIEV4YW1wbGVzIHJvd3MuCisrCisrQSBmaWxlLWxvY2F0aW9uIGludG8gYSAqKlNjZW5hcmlv IENvbnRhaW5lcioqIHNlbGVjdHMgYWxsIGl0cyBlbnRpdGllcworKyhTY2VuYXJpb3MsIC4uLiku CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDM5LXRlc3RzLUZpeC13YXJuaW5ncy1mb3ItcHl0aG9uMy5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzktdGVzdHMt Rml4LXdhcm5pbmdzLWZvci1weXRob24zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uMmI4MGQ1ZGYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzOS10ZXN0cy1GaXgtd2Fybmlu Z3MtZm9yLXB5dGhvbjMucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSA5M2Y1Nzg2OTg4NDRk NzI3NmU1YjJmMjg3ZWU3ZmYzYmNmYzA0OWJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQs IDYgSnVsIDIwMTkgMTM6MzU6NTEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdGVzdHM6IEZpeCB3 YXJuaW5ncyBmb3IgcHl0aG9uMy4KKworLS0tCisgdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwMzM2 LnB5IHwgIDEgKworIHRlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkgICAgICB8IDExICsrKysrKyst LS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTAzMzYucHkgYi90ZXN0cy9pc3N1 ZXMvdGVzdF9pc3N1ZTAzMzYucHkKK2luZGV4IGViNGMzZmQuLjA5MjAxYWUgMTAwNjQ0CistLS0g YS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTAzMzYucHkKKysrKyBiL3Rlc3RzL2lzc3Vlcy90ZXN0 X2lzc3VlMDMzNi5weQorQEAgLTUyLDYgKzUyLDcgQEAgQXNzZXJ0aW9uRXJyb3IKKyAgICAgICAg ICAgICBhc3NlcnQgZmlsZV9saW5lX3RleHQgaW4gdGV4dDIKKyAKKyAgICAgIyBAcmVxdWlyZV9w eXRob24yCisrICAgIEBweXRlc3QubWFyay5maWx0ZXJ3YXJuaW5ncygiaWdub3JlOmludmFsaWQg ZXNjYXBlIHNlcXVlbmNlIikKKyAgICAgZGVmIHRlc3RfX3Byb2JsZW1fZXhpc3RzX3dpdGhfcHJv YmxlbWF0aWNfZW5jb2Rpbmcoc2VsZik6CisgICAgICAgICAiIiJUZXN0IGVuc3VyZXMgdGhhdCBw cm9ibGVtIGV4aXN0cyB3aXRoIGVuY29kaW5nPXVuaWNvZGUtZXNjYXBlIiIiCisgICAgICAgICAj IC0tIE5PVEU6IEV4cGxpY2l0IHVzZSBvZiBwcm9ibGVtYXRpYyBlbmNvZGluZworZGlmZiAtLWdp dCBhL3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkgYi90ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5 CitpbmRleCBlY2JiMWJmLi4wMTAwNmY5IDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X3Bh cnNlci5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5weQorQEAgLTU2NCwxNiArNTY0 LDE5IEBAIEZlYXR1cmU6IFN0dWZmCisgICAgICAgICAgICAgKCd0aGVuJywgJ1RoZW4nLCAnc3R1 ZmYgaXMgaW4gYnVja2V0cycsIE5vbmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAKKysgICAgQHB5 dGVzdC5tYXJrLmZpbHRlcndhcm5pbmdzKCJpZ25vcmU6aW52YWxpZCBlc2NhcGUgc2VxdWVuY2Ui KQorICAgICBkZWYgdGVzdF9wYXJzZXNfZmVhdHVyZV93aXRoX3RhYmxlX2FuZF9lc2NhcGVkX3Bp cGVfaW5fY2VsbF92YWx1ZXMoc2VsZik6CisrICAgICAgICAjIC0tIEhJTlQgcHkzNzogRGVwcmVj YXRpb25XYXJuaW5nOiBpbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSAnXHwnCisrICAgICAgICAjIFVT RTogRG91YmxlIGVzY2FwZWQtYmFja3NsYXNoZXMuCisgICAgICAgICBkb2MgPSB1JycnCisgRmVh dHVyZToKKyAgIFNjZW5hcmlvOgorICAgICBHaXZlbiB3ZSBoYXZlIHNwZWNpYWwgY2VsbCB2YWx1 ZXM6CisgICAgICAgfCBuYW1lICAgfCB2YWx1ZSAgICB8CistICAgICAgfCBhbGljZSAgfCBvbmVc fHR3byB8CistICAgICAgfCBib2IgICAgfFx8b25lICAgICB8CistICAgICAgfCBjaGFybHkgfCAg ICAgb25lXHx8CistICAgICAgfCBkb3JvICAgfCBvbmVcfHR3b1x8dGhyZWVcfGZvdXIgfAorKyAg ICAgIHwgYWxpY2UgIHwgb25lXFx8dHdvIHwKKysgICAgICB8IGJvYiAgICB8XFx8b25lICAgICB8 CisrICAgICAgfCBjaGFybHkgfCAgICAgb25lXFx8fAorKyAgICAgIHwgZG9ybyAgIHwgb25lXFx8 dHdvXFx8dGhyZWVcXHxmb3VyIHwKKyAnJycubHN0cmlwKCkKKyAgICAgICAgIGZlYXR1cmUgPSBw YXJzZXIucGFyc2VfZmVhdHVyZShkb2MpCisgICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2Nl bmFyaW9zKSA9PSAxCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDQwLVVzZS1jdWN1bWJlci10YWctZXhwcmVzc2lvbnMtMS4x LjItdG8tZml4LXdhcm5pbmdzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA0MC1Vc2UtY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zLTEu MS4yLXRvLWZpeC13YXJuaW5ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjg1YzFiYzE2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDAtVXNlLWN1Y3VtYmVyLXRhZy1leHBy ZXNzaW9ucy0xLjEuMi10by1maXgtd2FybmluZ3MucGF0Y2gKQEAgLTAsMCArMSw1NSBAQAorRnJv bSAyMWEzOTliZjZlMmUyZWIwOWM5OGQxNzNmMWQwOTc1YmNlY2JmMWU1IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CitEYXRlOiBTYXQsIDYgSnVsIDIwMTkgMTM6MzY6NTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRD SF0gVXNlIGN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucyAxLjEuMiAodG8gZml4IHdhcm5pbmdzKS4K KworcHkucmVxdWlyZW1lbnRzOiBBZGQgdHdpbmUsIGJ1bXAydmVyc2lvbgorLS0tCisgcHkucmVx dWlyZW1lbnRzL2Jhc2ljLnR4dCAgIHwgMiArLQorIHB5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4 dCB8IDYgKysrKystCisgc2V0dXAucHkgICAgICAgICAgICAgICAgICAgIHwgMiArLQorIDMgZmls ZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQK K2luZGV4IDNiNzFiZmIuLmFkNWI5YTYgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvYmFz aWMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CitAQCAtOCw3ICs4LDcgQEAK KyAjICAqIGh0dHA6Ly93d3cucGlwLWluc3RhbGxlci5vcmcvCisgIyA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisgCistY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zID49IDEuMS4xCisrY3VjdW1iZXItdGFn LWV4cHJlc3Npb25zID49IDEuMS4yCisgcGFyc2UgPj0gMS44LjIKKyBwYXJzZV90eXBlID49IDAu NC4yCisgc2l4ID49IDEuMTIuMAorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9w LnR4dCBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAoraW5kZXggZDgyMzM4OS4uYTE2ZDdi ZiAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAorKysrIGIvcHkucmVx dWlyZW1lbnRzL2RldmVsb3AudHh0CitAQCAtMTEsNyArMTEsMTEgQEAgcGF0aGxpYjsgICAgcHl0 aG9uX3ZlcnNpb24gPD0gJzMuNCcKKyBweWNtZAorIAorICMgLS0gQ09ORklHVVJBVElPTiBNQU5B R0VNRU5UIChoZWxwZXJzKToKKy1idW1wdmVyc2lvbiA+PSAwLjQuMAorKyMgRk9STUVSOiBidW1w dmVyc2lvbiA+PSAwLjQuMAorK2J1bXAydmVyc2lvbiA+PSAwLjUuNgorKworKyMgLS0gUkVMRUFT RSBNQU5BR0VNRU5UOiBQdXNoIHBhY2thZ2UgdG8gcHlwaS4KKyt0d2luZSA+PSAxLjEzLjAKKyAK KyAjIC0tIERFVkVMT1BNRU5UIFNVUFBPUlQ6CisgdG94ICAgPj0gMS44LjEKK2RpZmYgLS1naXQg YS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA5Yzc1NjBkLi5jZWE0MzkyIDEwMDY0NAorLS0t IGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNzYsNyArNzYsNyBAQCBzZXR1cCgKKyAg ICAgIyBTVVBQT1JUOiBweXRob24yLjcsIHB5dGhvbjMuMyAob3IgaGlnaGVyKQorICAgICBweXRo b25fcmVxdWlyZXM9Ij49Mi43LCAhPTMuMC4qLCAhPTMuMS4qLCAhPTMuMi4qIiwKKyAgICAgaW5z dGFsbF9yZXF1aXJlcz1bCistICAgICAgICAiY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zID49IDEu MS4xIiwKKysgICAgICAgICJjdWN1bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjIiLAorICAg ICAgICAgInBhcnNlID49IDEuOC4yIiwKKyAgICAgICAgICJwYXJzZV90eXBlID49IDAuNC4yIiwK KyAgICAgICAgICJzaXggPj0gMS4xMi4wIiwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDEtTUVOVElPTi1FTkhBTkNFTUVO VC1TdXBwb3J0LWVtb2ppcy1pbi1mZWF0dXJlLWZpbGVzLS5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDEtTUVOVElPTi1FTkhBTkNF TUVOVC1TdXBwb3J0LWVtb2ppcy1pbi1mZWF0dXJlLWZpbGVzLS5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjZkNjlmNDc1NAotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDEtTUVO VElPTi1FTkhBTkNFTUVOVC1TdXBwb3J0LWVtb2ppcy1pbi1mZWF0dXJlLWZpbGVzLS5wYXRjaApA QCAtMCwwICsxLDkxIEBACitGcm9tIDFkM2MyODhhMmVlZDhjYWVmMjQzNTZlMmE5MjQ4MzQyNWJl ZTAzNzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdWwgMjAxOSAxNDoxODoxNiAr MDIwMAorU3ViamVjdDogW1BBVENIXSBNRU5USU9OIEVOSEFOQ0VNRU5UOiBTdXBwb3J0IGVtb2pp cyBpbiBmZWF0dXJlIGZpbGVzIGFuZAorIHN0ZXBzLgorCistLS0KKyBDSEFOR0VTLnJzdCAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDMgKystCisgZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEu Mi43LnJzdCB8IDE3ICsrKysrKysrKysrKysrKysrCisgZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0 dXJlICAgICAgICB8ICA3ICsrKysrKysKKyBmZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBz LnB5IHwgMTAgKysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBmZWF0dXJlcy9pMThuX2Vtb2ppLmZl YXR1cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZmVhdHVyZXMvc3RlcHMvaTE4bl9lbW9qaV9zdGVw cy5weQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggMDFi ZDFiZC4uZDE2NTI3NSAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJz dAorQEAgLTI0LDggKzI0LDkgQEAgR09BTFM6CisgRU5IQU5DRU1FTlRTOgorIAorICogQWRkIHN1 cHBvcnQgZm9yIEdoZXJraW4gdjYgZ3JhbW1hciBhbmQgc3ludGF4IGluIGBgKi5mZWF0dXJlYGAg ZmlsZXMKKy0qIFVzZSBjdWN1bWJlciAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgbm93IChzaW1w bGlmeTogR2hlcmtpbiB2NiBhbGlhc2VzLCBsYW5ndWFnZSB1c2FnZSkKKyAqIFVzZSBgY3VjdW1i ZXItdGFnLWV4cHJlc3Npb25zYF8gd2l0aCB0YWctbWF0Y2hpbmcgZXh0ZW5zaW9uIChzdXBlcmNl ZWRzOiBvbGQtc3R5bGUgdGFnLWV4cHJlc3Npb25zKQorKyogVXNlIGN1Y3VtYmVyICJnaGVya2lu LWxhbmd1YWdlcy5qc29uIiBub3cgKHNpbXBsaWZ5OiBHaGVya2luIHY2IGFsaWFzZXMsIGxhbmd1 YWdlIHVzYWdlKQorKyogU3VwcG9ydCBlbW9qaXMgaW4gYGAqLmZlYXR1cmVgYCBmaWxlcyBhbmQg c3RlcHMKKyAqIGlzc3VlICM2Nzg6IFNjZW5hcmlvIE91dGxpbmU6IFN1cHBvcnQgdGFncyB3aXRo IGNvbW1hcyBhbmQgc2VtaWNvbG9ucyAocHJvdmlkZWQgYnk6IGxhd25tb3dlcmxhdHRlLCBwdWxs ICM2NzkpCisgKiBpc3N1ZSAjNjc1OiBGZWF0dXJlIGZpbGVzIGNhbm5vdCBiZSBmb3VuZCB3aXRo aW4gc3ltbGluayBkaXJlY3RvcmllcyAocHJvdmlkZWQgYnk6IHNtYWRuZXNzLCBwdWxsICM2ODAp CisgKiBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBzdXBwb3J0IGZvciAiU2NlbmFyaW8gY29udGFp bmVyIiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKSAocmVsYXRlZCB0bzogIzM5MSkK K2RpZmYgLS1naXQgYS9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0IGIvZG9jcy9u ZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAoraW5kZXggZmYxY2QxZi4uYjcyNDJmNyAxMDA2 NDQKKy0tLSBhL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QKKysrKyBiL2RvY3Mv bmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QKK0BAIC04LDYgKzgsNyBAQCBTdW1tYXJ5Ogor ICogOnB5cGk6YGN1Y3VtYmVyLXRhZy1leHByZXNzaW9uc2AgYXJlIGV4dGVuZGVkIGJ5ICJ0YWct bWF0Y2hpbmciCisgICB0byBtYXRjaCBwYXJ0aWFsIHRhZyBuYW1lcywgbGlrZTogYGBAZm9vLipg YAorICogYFNlbGVjdC1ieS1sb2NhdGlvbiBmb3IgU2NlbmFyaW8gQ29udGFpbmVyc2BfIChGZWF0 dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpCisrKiBgU3VwcG9ydCBmb3IgZW1vamlzIGluIGZl YXR1cmUgZmlsZXMgYW5kIHN0ZXBzYF8KKyAKKyAuLiBfYEV4YW1wbGUgTWFwcGluZ2A6IGh0dHBz Oi8vY3VjdW1iZXIuaW8vYmxvZy9leGFtcGxlLW1hcHBpbmctaW50cm9kdWN0aW9uLworIC4uIF9g RXhhbXBsZSBNYXBwaW5nIFdlYmluYXJgOiBodHRwczovL2N1Y3VtYmVyLmlvL2Jsb2cvZXhhbXBs ZS1tYXBwaW5nLXdlYmluYXIvCitAQCAtMTM1LDMgKzEzNiwxOSBAQCBOb3cgeW91IGNhbiBzZWxl Y3QgYWxsIGVudGl0aWVzIG9mIGEgKipTY2VuYXJpbyBDb250YWluZXIqKiAoRmVhdHVyZSwgUnVs ZSwgU2NlbgorIAorIEEgZmlsZS1sb2NhdGlvbiBpbnRvIGEgKipTY2VuYXJpbyBDb250YWluZXIq KiBzZWxlY3RzIGFsbCBpdHMgZW50aXRpZXMKKyAoU2NlbmFyaW9zLCAuLi4pLgorKworKworK1N1 cHBvcnQgZm9yIEVtb2ppcyBpbiBGZWF0dXJlIEZpbGVzIGFuZCBTdGVwcworKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKysKKysqIEVtb2ppcyBjYW4gbm93IGJlIHVzZWQgaW4gYGAqLmZlYXR1cmVg YCBmaWxlcy4KKysqIEVtb2ppcyBjYW4gbm93IGJlIHVzZWQgaW4gc3RlcCBkZWZpbml0aW9ucy4K KysqIFlvdSBjYW4gbm93IHVzZSBgYGxhbmd1YWdlPWVtb2ppIChlbSlgYCBpbiBgYCouZmVhdHVy ZWBgIGZpbGVzIDstKQorKworKy4uIGxpdGVyYWxpbmNsdWRlOjogLi4vZmVhdHVyZXMvaTE4bl9l bW9qaS5mZWF0dXJlCisrICAgIDpwcmVwZW5kOiAgIyAtLSBGSUxFOiBmZWF0dXJlcy9pMThuX2Vt b2ppLmZlYXR1cmUKKysgICAgOmxhbmd1YWdlOiBnaGVya2luCisrCisrLi4gbGl0ZXJhbGluY2x1 ZGU6OiAuLi9mZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5CisrICAgIDpwcmVwZW5k OiAgIyAtLSBGSUxFOiBmZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5CisrICAgIDps YW5ndWFnZTogcHl0aG9uCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJl IGIvZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMC4uZGIyM2FjMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZmVhdHVyZXMvaTE4bl9l bW9qaS5mZWF0dXJlCitAQCAtMCwwICsxLDcgQEAKKysjIGxhbmd1YWdlOiBlbQorKyMgU09VUkNF OiBodHRwczovL2dpdGh1Yi5jb20vY3VjdW1iZXIvY3VjdW1iZXIvYmxvYi9tYXN0ZXIvZ2hlcmtp bi90ZXN0ZGF0YS9nb29kL2kxOG5fZW1vamkuZmVhdHVyZQorKworK/Cfk5o6IPCfmYjwn5mJ8J+Z igorKworKyAg8J+TlTog8J+SgworKyAgICDwn5iQ8J+OuAorZGlmZiAtLWdpdCBhL2ZlYXR1cmVz L3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkgYi9mZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0 ZXBzLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzgxZDJiYgorLS0t IC9kZXYvbnVsbAorKysrIGIvZmVhdHVyZXMvc3RlcHMvaTE4bl9lbW9qaV9zdGVwcy5weQorQEAg LTAsMCArMSwxMCBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIyBORUVERUQtQlk6IGZl YXR1cmVzL2kxOG5fZW1vamkuZmVhdHVyZQorKworK2Zyb20gYmVoYXZlIGltcG9ydCBnaXZlbgor KworK0BnaXZlbih1J/CfjrgnKQorK2RlZiBzdGVwX2ltcGwoY29udGV4dCk6CisrICAgICIiIlN0 ZXAgaW1wbGVtZW50YXRpb24gZXhhbXBsZSB3aXRoIGVtb2ppKHMpLiIiIgorKyAgICBwYXNzCisr CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDQyLUZJWC1JbnZhbGlkLWVzY2FwZS1jaGFyLWluLXJlZ2V4LXctcHl0aG9uMy5w YXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwNDItRklYLUludmFsaWQtZXNjYXBlLWNoYXItaW4tcmVnZXgtdy1weXRob24zLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMDBkYjRhNjI3Ci0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA0Mi1GSVgtSW52YWxpZC1lc2NhcGUtY2hhci1pbi1yZWdleC13LXB5dGhvbjMucGF0Y2gK QEAgLTAsMCArMSwyNTAgQEAKK0Zyb20gMjgxYmIxOWE0NzU2NmMwMWNlNDRlNzE4NDY0MDcyOGJi NTZkNGRlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNA dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA2IEp1bCAyMDE5IDE5OjA2OjEx ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogSW52YWxpZCBlc2NhcGUgY2hhciAoaW4gcmVn ZXgpIHcvIHB5dGhvbjMuCisKKy0tLQorIGJlaGF2ZS9mb3JtYXR0ZXIvYW5zaV9lc2NhcGVzLnB5 IHwgIDUzICsrKysrKysrLS0tLQorIHRlc3RzL3VuaXQvdGVzdF9hbnNpX2VzY2FwZXMucHkgIHwg MTQ0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEy MiBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9m b3JtYXR0ZXIvYW5zaV9lc2NhcGVzLnB5IGIvYmVoYXZlL2Zvcm1hdHRlci9hbnNpX2VzY2FwZXMu cHkKK2luZGV4IDZjOTNlNmMuLjNlYzg0ZGIgMTAwNjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVy L2Fuc2lfZXNjYXBlcy5weQorKysrIGIvYmVoYXZlL2Zvcm1hdHRlci9hbnNpX2VzY2FwZXMucHkK K0BAIC03LDYgKzcsOSBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAor IGltcG9ydCBvcworIGltcG9ydCByZQorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBNT0RV TEUgREFUQQorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgY29sb3JzID0geworICAgICAiYmxhY2si OiAgICAgICAgdSJceDFiWzMwbSIsCisgICAgICJyZWQiOiAgICAgICAgICB1Ilx4MWJbMzFtIiwK K0BAIC0zOCwyNyArNDEsNDggQEAgZXNjYXBlcyA9IHsKKyAgICAgInVwIjogICAgICAgICAgIHUi XHgxYlsxQSIsCisgfQorIAorLWlmICJHSEVSS0lOX0NPTE9SUyIgaW4gb3MuZW52aXJvbjoKKy0g ICAgbmV3X2FsaWFzZXMgPSBbcC5zcGxpdCgiPSIpIGZvciBwIGluIG9zLmVudmlyb25bIkdIRVJL SU5fQ09MT1JTIl0uc3BsaXQoIjoiKV0KKy0gICAgYWxpYXNlcy51cGRhdGUoZGljdChuZXdfYWxp YXNlcykpCisgCistZm9yIGFsaWFzIGluIGFsaWFzZXM6CistICAgIGVzY2FwZXNbYWxpYXNdID0g IiIuam9pbihbY29sb3JzW2NdIGZvciBjIGluIGFsaWFzZXNbYWxpYXNdLnNwbGl0KCIsIildKQor LSAgICBhcmdfYWxpYXMgPSBhbGlhcyArICJfYXJnIgorLSAgICBhcmdfc2VxID0gYWxpYXNlcy5n ZXQoYXJnX2FsaWFzLCBhbGlhc2VzW2FsaWFzXSArICIsYm9sZCIpCistICAgIGVzY2FwZXNbYXJn X2FsaWFzXSA9ICIiLmpvaW4oW2NvbG9yc1tjXSBmb3IgYyBpbiBhcmdfc2VxLnNwbGl0KCIsIild KQorKyMgLS0gTkVFREVELUZPUjogc3RyaXBfZXNjYXBlcygpLCAuLi4KKytfQU5TSV9FU0NBUEVf UEFUVEVSTiA9IHJlLmNvbXBpbGUodSJceDFiXFxbXFxkK1ttQV0iLCByZS5VTklDT0RFKQorIAor IAorLSMgcHlsaW50OiBkaXNhYmxlPWFub21hbG91cy1iYWNrc2xhc2gtaW4tc3RyaW5nCisrCisr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIE1PRFVMRSBTRVRVUAorKyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrZGVmIF9zZXR1cF9tb2R1bGUoKToKKysgICAgIiIiU2V0dXAgdGhlIHJlbWFpbmluZyBB TlNJIGNvbG9yIGFsaWFzZXMgYW5kIEFOU0kgZXNjYXBlIHNlcXVlbmNlcy4KKysKKysgICAgLi4g bm90ZTo6IE1heSBtb2RpZnkvZXh0ZW5kIHRoZSBtb2R1bGUgYXR0cmlidXRlczoKKysKKysgICAg ICAgICogOmF0dHI6YGFsaWFzZXNgCisrICAgICAgICAqIDphdHRyOmBlc2NhcGVzYAorKyAgICAi IiIKKysgICAgIyBNQVlCRTogZ2xvYmFsIGFsaWFzZXMsIGVzY2FwZXMKKysgICAgaWYgIkdIRVJL SU5fQ09MT1JTIiBpbiBvcy5lbnZpcm9uOgorKyAgICAgICAgbmV3X2FsaWFzZXMgPSBbcC5zcGxp dCgiPSIpIGZvciBwIGluIG9zLmVudmlyb25bIkdIRVJLSU5fQ09MT1JTIl0uc3BsaXQoIjoiKV0K KysgICAgICAgIGFsaWFzZXMudXBkYXRlKGRpY3QobmV3X2FsaWFzZXMpKQorKworKyAgICBmb3Ig YWxpYXMgaW4gYWxpYXNlczoKKysgICAgICAgIGVzY2FwZXNbYWxpYXNdID0gIiIuam9pbihbY29s b3JzW2NdIGZvciBjIGluIGFsaWFzZXNbYWxpYXNdLnNwbGl0KCIsIildKQorKyAgICAgICAgYXJn X2FsaWFzID0gYWxpYXMgKyAiX2FyZyIKKysgICAgICAgIGFyZ19zZXEgPSBhbGlhc2VzLmdldChh cmdfYWxpYXMsIGFsaWFzZXNbYWxpYXNdICsgIixib2xkIikKKysgICAgICAgIGVzY2FwZXNbYXJn X2FsaWFzXSA9ICIiLmpvaW4oW2NvbG9yc1tjXSBmb3IgYyBpbiBhcmdfc2VxLnNwbGl0KCIsIild KQorKworKworKyMgLS0gT05DRTogRHVyaW5nIG1vZHVsZS1pbXBvcnQuCisrX3NldHVwX21vZHVs ZSgpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEZVTkNUSU9OUzoKKysjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIGRlZiB1cChuKToKKyAgICAgcmV0dXJuIHUiXHgxYlslZEEiICUgbgor IAorIAorLV9BTlNJX0VTQ0FQRV9QQVRURVJOID0gcmUuY29tcGlsZSh1Ilx4MWJcW1xkK1ttQV0i LCByZS5VTklDT0RFKQorLSMgcHlsaW50OiBlbmFibGU9YW5vbWFsb3VzLWJhY2tzbGFzaC1pbi1z dHJpbmcKKyBkZWYgc3RyaXBfZXNjYXBlcyh0ZXh0KToKKy0gICAgIiIiCistICAgIFJlbW92ZXMg QU5TSSBlc2NhcGUgc2VxdWVuY2VzIGZyb20gdGV4dCAoaWYgYW55IGFyZSBjb250YWluZWQpLgor KyAgICAiIiJSZW1vdmVzIEFOU0kgZXNjYXBlIHNlcXVlbmNlcyBmcm9tIHRleHQgKGlmIGFueSBh cmUgY29udGFpbmVkKS4KKyAKKyAgICAgOnBhcmFtIHRleHQ6IFRleHQgdGhhdCBtYXkgb3IgbWF5 IG5vdCBjb250YWluIEFOU0kgZXNjYXBlIHNlcXVlbmNlcy4KKyAgICAgOnJldHVybjogVGV4dCB3 aXRob3V0IEFOU0kgZXNjYXBlIHNlcXVlbmNlcy4KK0BAIC02Nyw4ICs5MSw3IEBAIGRlZiBzdHJp cF9lc2NhcGVzKHRleHQpOgorIAorIAorIGRlZiB1c2VfYW5zaV9lc2NhcGVfY29sb3Jib2xkX2Nv bXBvc2l0ZXMoKTogICAgICMgcHJhZ21hOiBubyBjb3ZlcgorLSAgICAiIiIKKy0gICAgUGF0Y2gg Zm9yICJzcGhpbnhjb250cmliLWFuc2kiIHRvIHByb2Nlc3MgdGhlIGZvbGxvd2luZyBBTlNJIGVz Y2FwZXMKKysgICAgIiIiUGF0Y2ggZm9yICJzcGhpbnhjb250cmliLWFuc2kiIHRvIHByb2Nlc3Mg dGhlIGZvbGxvd2luZyBBTlNJIGVzY2FwZXMKKyAgICAgY29ycmVjdGx5IChzZXQtY29sb3Igc2V0 LWJvbGQgc2VxdWVuY2VzKToKKyAKKyAgICAgICAgIEVTQ1t7Y29sb3J9bUVTQ1sxbSAgPT4gRVND W3tjb2xvcn07MW0KK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5 IGIvdGVzdHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQoraW5kZXggOTY5ZjNhOS4uNGZiNzhj MiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9hbnNpX2VzY2FwZXMucHkKKysrKyBiL3Rl c3RzL3VuaXQvdGVzdF9hbnNpX2VzY2FwZXMucHkKK0BAIC05LDY1ICs5LDg5IEBACisgZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBpbXBvcnQgcHl0ZXN0CisgZnJvbSBi ZWhhdmUuZm9ybWF0dGVyIGltcG9ydCBhbnNpX2VzY2FwZXMKKy1pbXBvcnQgdW5pdHRlc3QKKyBm cm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKKyAKKy1jbGFzcyBTdHJpcEVzY2FwZXNUZXN0KHVu aXR0ZXN0LlRlc3RDYXNlKToKKy0gICAgQUxMX0NPTE9SUyA9IGxpc3QoYW5zaV9lc2NhcGVzLmNv bG9ycy5rZXlzKCkpCistICAgIENVUlNPUl9VUFMgPSBbIGFuc2lfZXNjYXBlcy51cChjb3VudCkg IGZvciBjb3VudCBpbiByYW5nZSgxMCkgXQorLSAgICBURVhUUyA9IFsKKy0gICAgICAgIHUibG9y ZW0gaXBzdW0iLAorLSAgICAgICAgdSJBbGljZVxuQm9iXG5DaGFybHlcbkRlbm5pcyIsCistICAg IF0KKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBjb2xvcml6ZShjbHMsIHRleHQsIGNv bG9yKToKKy0gICAgICAgIGNvbG9yX2VzY2FwZSA9ICIiCistICAgICAgICBpZiBjb2xvcjoKKy0g ICAgICAgICAgICBjb2xvcl9lc2NhcGUgPSBhbnNpX2VzY2FwZXMuY29sb3JzW2NvbG9yXQorLSAg ICAgICAgcmV0dXJuIGNvbG9yX2VzY2FwZSArIHRleHQgKyBhbnNpX2VzY2FwZXMuZXNjYXBlc1si cmVzZXQiXQorLQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIGNvbG9yaXplX3RleHQoY2xz LCB0ZXh0LCBjb2xvcnM9Tm9uZSk6CistICAgICAgICBpZiBub3QgY29sb3JzOgorLSAgICAgICAg ICAgIGNvbG9ycyA9IFtdCistICAgICAgICBjb2xvcnNfc2l6ZSA9IGxlbihjb2xvcnMpCistICAg ICAgICBjb2xvcl9pbmRleCA9IDAKKy0gICAgICAgIGNvbG9yZWRfY2hhcnMgPSBbXQorLSAgICAg ICAgZm9yIGNoYXIgaW4gdGV4dDoKKy0gICAgICAgICAgICBjb2xvciA9IGNvbG9yc1tjb2xvcl9p bmRleF0KKy0gICAgICAgICAgICBjb2xvcmVkX2NoYXJzLmFwcGVuZChjbHMuY29sb3JpemUoY2hh ciwgY29sb3IpKQorLSAgICAgICAgICAgIGNvbG9yX2luZGV4ICs9IDEKKy0gICAgICAgICAgICBp ZiBjb2xvcl9pbmRleCA+PSBjb2xvcnNfc2l6ZToKKy0gICAgICAgICAgICAgICAgY29sb3JfaW5k ZXggPSAwCistICAgICAgICByZXR1cm4gIiIuam9pbihjb2xvcmVkX2NoYXJzKQorLQorLSAgICBk ZWYgdGVzdF9zaG91bGRfcmV0dXJuX3NhbWVfdGV4dF93aXRob3V0X2VzY2FwZXMoc2VsZik6Cist ICAgICAgICBmb3IgdGV4dCBpbiBzZWxmLlRFWFRTOgorLSAgICAgICAgICAgIGFzc2VydCB0ZXh0 ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCistCistICAgIGRlZiB0ZXN0X3No b3VsZF9yZXR1cm5fZW1wdHlfc3RyaW5nX2Zvcl9hbnlfYW5zaV9lc2NhcGUoc2VsZik6CistICAg ICAgICAjIFhYWC1KRS1DSEVDSy1QWTIzOiBJZiBsaXN0KCkgaXMgcmVhbGx5IG5lZWRlZC4KKy0g ICAgICAgIGZvciB0ZXh0IGluIGxpc3QoYW5zaV9lc2NhcGVzLmNvbG9ycy52YWx1ZXMoKSk6Cist ICAgICAgICAgICAgYXNzZXJ0ICIiID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQp CistICAgICAgICBmb3IgdGV4dCBpbiBsaXN0KGFuc2lfZXNjYXBlcy5lc2NhcGVzLnZhbHVlcygp KToKKy0gICAgICAgICAgICBhc3NlcnQgIiIgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMo dGV4dCkKKy0KKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX3N0cmlwX2NvbG9yX2VzY2FwZXNfZnJv bV90ZXh0KHNlbGYpOgorLSAgICAgICAgZm9yIHRleHQgaW4gc2VsZi5URVhUUzoKKy0gICAgICAg ICAgICBjb2xvcmVkX3RleHQgPSBzZWxmLmNvbG9yaXplX3RleHQodGV4dCwgc2VsZi5BTExfQ09M T1JTKQorLSAgICAgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2Nh cGVzKGNvbG9yZWRfdGV4dCkKKy0gICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHRleHQs IGNvbG9yZWRfdGV4dCkKKy0KKy0gICAgICAgICAgICBmb3IgY29sb3IgaW4gc2VsZi5BTExfQ09M T1JTOgorLSAgICAgICAgICAgICAgICBjb2xvcmVkX3RleHQgPSBzZWxmLmNvbG9yaXplKHRleHQs IGNvbG9yKQorLSAgICAgICAgICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3Ry aXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpCistICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90 RXF1YWwodGV4dCwgY29sb3JlZF90ZXh0KQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBf Y3Vyc29yX3VwX2VzY2FwZXNfZnJvbV90ZXh0KHNlbGYpOgorLSAgICAgICAgZm9yIHRleHQgaW4g c2VsZi5URVhUUzoKKy0gICAgICAgICAgICBmb3IgY3Vyc29yX3VwIGluIHNlbGYuQ1VSU09SX1VQ UzoKKy0gICAgICAgICAgICAgICAgY29sb3JlZF90ZXh0ID0gY3Vyc29yX3VwICsgdGV4dCArIGFu c2lfZXNjYXBlcy5lc2NhcGVzWyJyZXNldCJdCistICAgICAgICAgICAgICAgIGFzc2VydCB0ZXh0 ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkKKy0gICAgICAgICAg ICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh0ZXh0LCBjb2xvcmVkX3RleHQpCisrCisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyMgVEVTVCBTVVBQT1JUIGFuZCBURVNUIERBVEEKKysjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrVEVYVFMgPSBbCisrICAgIHUibG9yZW0gaXBzdW0iLAorKyAgICB1IkFsaWNl IGFuZCBCb2IiLAorKyAgICB1IkFsaWNlXG5Cb2IiLAorK10KKytBTExfQ09MT1JTID0gbGlzdChh bnNpX2VzY2FwZXMuY29sb3JzLmtleXMoKSkKKytDVVJTT1JfVVBTID0gW2Fuc2lfZXNjYXBlcy51 cChjb3VudCkgZm9yIGNvdW50IGluIHJhbmdlKDEwKV0KKysKKysKKytkZWYgY29sb3JpemUodGV4 dCwgY29sb3IpOgorKyAgICBjb2xvcl9lc2NhcGUgPSAiIgorKyAgICBpZiBjb2xvcjoKKysgICAg ICAgIGNvbG9yX2VzY2FwZSA9IGFuc2lfZXNjYXBlcy5jb2xvcnNbY29sb3JdCisrICAgIHJldHVy biBjb2xvcl9lc2NhcGUgKyB0ZXh0ICsgYW5zaV9lc2NhcGVzLmVzY2FwZXNbInJlc2V0Il0KKysK KysKKytkZWYgY29sb3JpemVfdGV4dCh0ZXh0LCBjb2xvcnM9Tm9uZSk6CisrICAgIGlmIG5vdCBj b2xvcnM6CisrICAgICAgICBjb2xvcnMgPSBbXQorKyAgICBjb2xvcnNfc2l6ZSA9IGxlbihjb2xv cnMpCisrICAgIGNvbG9yX2luZGV4ID0gMAorKyAgICBjb2xvcmVkX2NoYXJzID0gW10KKysgICAg Zm9yIGNoYXIgaW4gdGV4dDoKKysgICAgICAgIGNvbG9yID0gY29sb3JzW2NvbG9yX2luZGV4XQor KyAgICAgICAgY29sb3JlZF9jaGFycy5hcHBlbmQoY29sb3JpemUoY2hhciwgY29sb3IpKQorKyAg ICAgICAgY29sb3JfaW5kZXggKz0gMQorKyAgICAgICAgaWYgY29sb3JfaW5kZXggPj0gY29sb3Jz X3NpemU6CisrICAgICAgICAgICAgY29sb3JfaW5kZXggPSAwCisrICAgIHJldHVybiAiIi5qb2lu KGNvbG9yZWRfY2hhcnMpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVEVTVCBTVUlU RQorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgdGVzdF9tb2R1bGVfc2V0dXAoKToKKysgICAg IiIiRW5zdXJlIHRoYXQgdGhlIG1vZHVsZSBzZXR1cCAoYWxpYXNlcywgZXNjYXBlcykgb2NjdXJl ZC4iIiIKKysgICAgIyBjb2xvcnNfY291bnQgPSBsZW4oYW5zaV9lc2NhcGVzLmNvbG9ycykKKysg ICAgYWxpYXNlc19jb3VudCA9IGxlbihhbnNpX2VzY2FwZXMuYWxpYXNlcykKKysgICAgZXNjYXBl c19jb3VudCA9IGxlbihhbnNpX2VzY2FwZXMuZXNjYXBlcykKKysgICAgYXNzZXJ0IGVzY2FwZXNf Y291bnQgPj0gKDIgKyBhbGlhc2VzX2NvdW50ICsgYWxpYXNlc19jb3VudCkKKysKKysKKytjbGFz cyBUZXN0U3RyaXBFc2NhcGVzKG9iamVjdCk6CisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0 cml6ZSgidGV4dCIsIFRFWFRTKQorKyAgICBkZWYgdGVzdF9zaG91bGRfcmV0dXJuX3NhbWVfdGV4 dF93aXRob3V0X2VzY2FwZXMoc2VsZiwgdGV4dCk6CisrICAgICAgICBhc3NlcnQgdGV4dCA9PSBh bnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0ZXh0KQorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFy YW1ldHJpemUoInRleHQiLCBhbnNpX2VzY2FwZXMuY29sb3JzLnZhbHVlcygpKQorKyAgICBkZWYg dGVzdF9zaG91bGRfcmV0dXJuX2VtcHR5X3N0cmluZ19mb3JfYW55X2Fuc2lfZXNjYXBlX2NvbG9y KHNlbGYsIHRleHQpOgorKyAgICAgICAgYXNzZXJ0ICIiID09IGFuc2lfZXNjYXBlcy5zdHJpcF9l c2NhcGVzKHRleHQpCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgidGV4dCIsIGFu c2lfZXNjYXBlcy5lc2NhcGVzLnZhbHVlcygpKQorKyAgICBkZWYgdGVzdF9zaG91bGRfcmV0dXJu X2VtcHR5X3N0cmluZ19mb3JfYW55X2Fuc2lfZXNjYXBlKHNlbGYsIHRleHQpOgorKyAgICAgICAg YXNzZXJ0ICIiID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCisrCisrICAgIEBw eXRlc3QubWFyay5wYXJhbWV0cml6ZSgidGV4dCIsIFRFWFRTKQorKyAgICBkZWYgdGVzdF9zaG91 bGRfc3RyaXBfY29sb3JfZXNjYXBlc19mcm9tX2FsbF9jb2xvcmVkX3RleHQoc2VsZiwgdGV4dCk6 CisrICAgICAgICBjb2xvcmVkX3RleHQgPSBjb2xvcml6ZV90ZXh0KHRleHQsIEFMTF9DT0xPUlMp CisrICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xv cmVkX3RleHQpCisrICAgICAgICBhc3NlcnQgdGV4dCAhPSBjb2xvcmVkX3RleHQKKysKKysgICAg QHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ0ZXh0IiwgVEVYVFMpCisrICAgIEBweXRlc3QubWFy ay5wYXJhbWV0cml6ZSgiY29sb3IiLCBBTExfQ09MT1JTKQorKyAgICBkZWYgdGVzdF9zaG91bGRf c3RyaXBfY29sb3JfZXNjYXBlc19mcm9tX3RleHQoc2VsZiwgdGV4dCwgY29sb3IpOgorKyAgICAg ICAgY29sb3JlZF90ZXh0ID0gY29sb3JpemUodGV4dCwgY29sb3IpCisrICAgICAgICBhc3NlcnQg dGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpCisrICAgICAg ICBhc3NlcnQgdGV4dCAhPSBjb2xvcmVkX3RleHQKKysKKysgICAgICAgIGNvbG9yZWRfdGV4dDIg PSBjb2xvcml6ZSh0ZXh0LCBjb2xvcikgKyB0ZXh0CisrICAgICAgICB0ZXh0MiA9IHRleHQgKyB0 ZXh0CisrICAgICAgICBhc3NlcnQgdGV4dDIgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMo Y29sb3JlZF90ZXh0MikKKysgICAgICAgIGFzc2VydCB0ZXh0MiAhPSBjb2xvcmVkX3RleHQyCisr CisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgidGV4dCIsIFRFWFRTKQorKyAgICBAcHl0 ZXN0Lm1hcmsucGFyYW1ldHJpemUoImN1cnNvcl91cCIsIENVUlNPUl9VUFMpCisrICAgIGRlZiB0 ZXN0X3Nob3VsZF9zdHJpcF9jdXJzb3JfdXBfZXNjYXBlc19mcm9tX3RleHQoc2VsZiwgdGV4dCwg Y3Vyc29yX3VwKToKKysgICAgICAgIGNvbG9yZWRfdGV4dCA9IGN1cnNvcl91cCArIHRleHQgKyBh bnNpX2VzY2FwZXMuZXNjYXBlc1sicmVzZXQiXQorKyAgICAgICAgYXNzZXJ0IHRleHQgPT0gYW5z aV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMoY29sb3JlZF90ZXh0KQorKyAgICAgICAgYXNzZXJ0IHRl eHQgIT0gY29sb3JlZF90ZXh0CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQzLUV4YW1wbGUtcmVsYXRlZC10by1xdWVzdGlv bi1pbi03NTYucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDQzLUV4YW1wbGUtcmVsYXRlZC10by1xdWVzdGlvbi1pbi03NTYucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi44MmJmOGJiMDgKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDQzLUV4YW1wbGUtcmVsYXRlZC10by1xdWVzdGlvbi1pbi03NTYucGF0Y2gKQEAgLTAs MCArMSwzMzUgQEAKK0Zyb20gOGFiMmZmODc1MzgyYTkyYTFhNzJjZjgyYTM0NmM0YWNmMmVjNjg1 OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMu bm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA2IEp1bCAyMDE5IDE5OjE1OjQ0ICswMjAw CitTdWJqZWN0OiBbUEFUQ0hdIEV4YW1wbGUgcmVsYXRlZCB0byBxdWVzdGlvbiBpbiAjNzU2CisK Ky0tLQorIC4uLi9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvUkVBRE1FLnJzdCAgICB8IDEx NiArKysrKysrKysrKysrKysrKysKKyAuLi4vYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5 ICAgICAgICAgICAgfCAgIDAKKyAuLi4vYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tn cm91bmQucHkgfCAgODAgKysrKysrKysrKysrCisgLi4uL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5 ICAgICAgICAgICAgICAgICAgIHwgIDM1ICsrKysrKworIC4uLi9mZWF0dXJlcy9leGFtcGxlLmZl YXR1cmUgICAgICAgICAgICAgICAgICB8ICAxOCArKysKKyAuLi4vZmVhdHVyZXMvc3RlcHMvYmFz aWNfc3RlcHMucHkgICAgICAgICAgICAgfCAgMTMgKysKKyAuLi4vZmVhdHVyZXMvc3RlcHMvdXNl X3N0ZXBsaWJfYmVoYXZlNGNtZC5weSAgfCAgMTIgKysKKyA3IGZpbGVzIGNoYW5nZWQsIDI3NCBp bnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJp ZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2Zp eHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0X18ucHkK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5k L2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3JvdW5kLnB5CisgY3JlYXRlIG1vZGUg MTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZp cm9ubWVudC5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRl X2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy9iYXNp Y19zdGVwcy5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRl X2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weQorCitk aWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JFQURNRS5y c3QgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvUkVBRE1FLnJzdAorbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjljMTUwY2MKKy0tLSAvZGV2L251bGwK KysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CitA QCAtMCwwICsxLDExNiBAQAorK0VYQU1QTEU6IE92ZXJyaWRlIC8gRGlzYWJsZSBCYWNrZ3JvdW5k IEluaGVyaXRhbmNlIE1lY2hhbmlzbSBmb3IgU2NlbmFyaW8KKys9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CisrCisrOlJFTEFURUQtVE86ICM3NTYKKysKKytUaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRo ZSBCYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBpbiBHaGVya2luCisrY2FuIGJlIGRp c2FibGVkIGluIGBgYmVoYXZlYGAuCisrCisrUGFydHMgb2YgdGhlIHJlY2lwZToKKysKKysqIGZl YXR1cmVzL2V4YW1wbGUuZmVhdHVyZSAoRmVhdHVyZSBmaWxlIGFzIGV4YW1wbGUpCisrKiBmZWF0 dXJlcy9lbnZpcm9ubWVudC5weSAoZ2x1ZSBjb2RlIGFuZCBob29rcyBmb3IgZml4dHVyZS10YWcg LyBmaXh0dXJlKQorKyogYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkg KGZpeHR1cmUgaW1wbGVtZW50YXRpb24sIHdvcmtob3JzZSkKKysKKysKKysuLiB3YXJuaW5nOjog QkVXQVJFOiBUaGlzIHNob3dzIHlvdSBob3cgY2FuIGRvIGl0LCBub3QgdGhhdCB5b3Ugc2hvdWxk IGRvIGl0CisrCisrICAgIEJFVFRFUjoKKysKKysgICAgKiBVc2UgUnVsZXMgdG8gZ3JvdXAgU2Nl bmFyaW9zLCBlYWNoIHdpdGggaXRzIG93biBCYWNrZ3JvdW5kIChpbiBHaGVya2luIHY2KQorKyAg ICAqIFNwbGl0IEZlYXR1cmUgYXNwZWN0cyBpbnRvIG11bHRpcGxlIGZlYXR1cmUgZmlsZXMgKGlm IG5lZWRlZCkKKysgICAgKiAuLi4gKHNlZSBpc3N1ZSAjNzU2IGFib3ZlKQorKworKworK0V4cGxh bmF0aW9uCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrRXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRl IGEgYmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJsZSB0aGUKKytiYWNrZ3JvdW5kIGluaGVyaXRhbmNl IG1lY2hhbmlzbSBieSB1c2luZyBhIGZpeHR1cmUgLyBmaXh0dXJlLXRhZy4KKytUaGUgZml4dHVy ZS10YWcgIkBpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQiIG1hcmtzIHRoZQorK2xv Y2F0aW9uIGluIEdoZXJraW4gKHdoaWNoIFNjZW5hcmlvKSB3aGVyZSB0aGUgZml4dHVyZSBzaG91 bGQgYmUgdXNlZAorKworKy4uIGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisrICAgICMgLS0gRklM RTogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCisrICAgIEZlYXR1cmU6IFNob3cgaG93IEBmaXh0 dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIGlzIHVzZWQKKysKKysgICAgICAgIEJhY2tn cm91bmQ6CisrICAgICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwCisrCisrICAgICAgICBT Y2VuYXJpbzogQWxpY2UKKysgICAgICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzCisrICAgICAgICAg IEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisr ICAgICAgICBAZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kCisrICAgICAgICBTY2Vu YXJpbzogQm9iCisrICAgICAgICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVw CisrICAgICAgICAgIFdoZW4gYW5vdGhlciBzdGVwIHBhc3NlcworKyAgICAgICAgICBBbmQgbm90 ZSB0aGF0ICJOTy1CQUNLR1JPVU5EIFNURVBTIGFyZSBleGVjdXRlZCBoZXJlIgorKworK1doZW4g dGhlIGZlYXR1cmUgaXMgZXhlY3V0ZWQsIHlvdSBzZWUgdGhhdDoKKysKKysqIEZpcnN0IFNjZW5h cmlvICJBbGljZSI6IEJhY2tncm91bmQgc3RlcHMgYXJlIGluaGVyaXRlZCBhbmQgZXhlY3V0ZWQg Zmlyc3QuCisrKiBTZWNvbmQgU2NlbmFyaW8gIkJvYiI6IE5vIEJhY2tncm91bmQgc3RlcCBpcyBl eGVjdXRlZC4KKysKKysuLiBjb2RlLWJsb2NrOjogc2gKKysKKysgICAgJCAuLi8uLi9iaW4vYmVo YXZlIC1mIHBsYWluIGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorKyAgICBGZWF0dXJlOiBPdmVy cmlkZSB0aGUgQmFja2dyb3VuZCBJbmhlcml0YW5jZSBNZWNoYW5pc20gaW4gc29tZSBTY2VuYXJp b3MKKysgICAgICBCYWNrZ3JvdW5kOgorKworKyAgICAgIFNjZW5hcmlvOiBBbGljZQorKyAgICAg ICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKysgICAgICAgIFdo ZW4gYSBzdGVwIHBhc3NlcyAuLi4gcGFzc2VkCisrICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNr Z3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJlIiAuLi4gcGFzc2VkCisrICAgIEZJWFRVUkUt SElOVDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjogQm9iCisrCisrICAgICAgU2NlbmFyaW86IEJv YgorKyAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAgLi4uIHBhc3Nl ZAorKyAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKysgICAgICAg IEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiIC4u LiBwYXNzZWQKKysKKysgICAgMSBmZWF0dXJlIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAor KyAgICAyIHNjZW5hcmlvcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgNiBzdGVw cyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDAgdW5kZWZpbmVkCisrCisrCisrVGhlIGVu dmlyb25tZW50IGZpbGUgcHJvdmlkZXMgdGhlIGdsdWUgY29kZSB0aGF0IHRoZSBmaXh0dXJlIGlz IGNhbGxlZDoKKysKKysuLiBjb2RlLWJsb2NrOjogcHl0aG9uCisrCisrICAgICMgLS0gRklMRTog ZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysgICAgZnJvbSBiZWhhdmVfZml4dHVyZV9saWIub3Zl cnJpZGVfYmFja2dyb3VuZCBpbXBvcnQgYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQKKysgICAg ZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFnCisrCisrICAgICMg LS0gRklYVFVSRSBSRUdJU1RSWToKKysgICAgZml4dHVyZV9yZWdpc3RyeSA9IHsKKysgICAgICAg ICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFj a2dyb3VuZCwKKysgICAgfQorKworKyAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrICAgICMg SE9PS1M6CisrICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysgICAgZGVmIGJlZm9yZV90YWco Y29udGV4dCwgdGFnKToKKysgICAgICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgor KyAgICAgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0 dXJlX3JlZ2lzdHJ5KQorKworKworKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKysKKysgICAgIyAt LSBGSUxFOiBiZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weSAoZml4dHVy ZSBpbXBsZW1lbnRhdGlvbikKKysgICAgZnJvbSBiZWhhdmUgaW1wb3J0IGZpeHR1cmUKKysKKysg ICAgQGZpeHR1cmUobmFtZT0iZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZCIpCisr ICAgIGRlZiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZChjdHgpOgorKyAgICAgICAgIyAtLSBT RVRVUC1QQVJULU9OTFk6IERpc2FibGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSAoZm9yIHNjZW5h cmlvcyBvbmx5KS4KKysgICAgICAgIGN1cnJlbnRfc2NlbmFyaW8gPSBjdHguc2NlbmFyaW8KKysg ICAgICAgIGlmIGN1cnJlbnRfc2NlbmFyaW86CisrICAgICAgICAgICAgYmVoYXZlX2Rpc2FibGVf YmFja2dyb3VuZF9pbmhlcml0YW5jZV9mb3Jfc2NlbmFyaW8oY3VycmVudF9zY2VuYXJpbykKKysK KysgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyAgICAjIEJFSEFWRSBVVElMSVRZOgorKyAg ICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrICAgIGRlZiBiZWhhdmVfZGlzYWJsZV9iYWNrZ3Jv dW5kX2luaGVyaXRhbmNlX2Zvcl9zY2VuYXJpbyhzY2VuYXJpbyk6CisrICAgICAgICBwcmludCgi RklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiAlcyIgJSBzY2VuYXJpby5uYW1l KQorKyAgICAgICAgc2NlbmFyaW8uYmFja2dyb3VuZCA9IE5vbmUKK2RpZmYgLS1naXQgYS9leGFt cGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL19faW5p dF9fLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0 dXJlX2xpYi9fX2luaXRfXy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAu LmU2OWRlMjkKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91 bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkgYi9leGFtcGxlcy9m aXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2Jh Y2tncm91bmQucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi42YzU3MmNm CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91 bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkKK0BAIC0wLDAgKzEs ODAgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyMgUkVMQVRFRC1UTzogIzc1NgorKyIi IgorK0V4YW1wbGUgY29kZSBob3cgdG8gcHJvdmlkZSBhIGJlaGF2ZSBmaXh0dXJlIHRvIGRpc2Fi bGUgdGhlCisrYmFja2dyb3VuZCBpbmhlcml0YW5jZSBtZWNoYW5pc20uCisrCisrLi4gY29kZS1i bG9jazo6IGdoZXJraW4KKysKKysgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9leGFtcGxlLmZlYXR1 cmUKKysgICAgRmVhdHVyZTogU2hvdyBob3cgQGZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tn cm91bmQgaXMgdXNlZAorKworKyAgICAgICAgQmFja2dyb3VuZDoKKysgICAgICAgICAgR2l2ZW4g YSBiYWNrZ3JvdW5kIHN0ZXAKKysKKysgICAgICAgIFNjZW5hcmlvOiBBbGljZQorKyAgICAgICAg ICBXaGVuIGEgc3RlcCBwYXNzZXMKKysgICAgICAgICAgQW5kIG5vdGUgdGhhdCAiQmFja2dyb3Vu ZCBzdGVwcyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysKKysgICAgICAgIEBmaXh0dXJlLmJlaGF2ZS5v dmVyaWRlX2JhY2tncm91bmQKKysgICAgICAgIFNjZW5hcmlvOiBCb2IKKysgICAgICAgICAgR2l2 ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAKKysgICAgICAgICAgV2hlbiBhbm90aGVy IHN0ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RF UFMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAg ICAjIC0tIEZJTEU6IGZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrICAgIGZyb20gYmVoYXZlX2Zp eHR1cmVfbGliLm92ZXJyaWRlX2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9vdmVycmlkZV9iYWNr Z3JvdW5kCisrICAgIGZyb20gYmVoYXZlLmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5X3Rh ZworKworKyAgICAjIC0tIEZJWFRVUkUgUkVHSVNUUlk6CisrICAgIGZpeHR1cmVfcmVnaXN0cnkg PSB7CisrICAgICAgICAiZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kIjogYmVoYXZl X292ZXJyaWRlX2JhY2tncm91bmQsCisrICAgIH0KKysKKysgICAgZGVmIGJlZm9yZV90YWcoY29u dGV4dCwgdGFnKToKKysgICAgICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgorKyAg ICAgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJl X3JlZ2lzdHJ5KQorKworKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVf aW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2Zyb20gYmVoYXZlIGltcG9ydCBmaXh0dXJlCisrCisr CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQkVIQVZFIEZJWFRVUkVTOgorKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKytAZml4dHVyZShuYW1lPSJmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9i YWNrZ3JvdW5kIikKKytkZWYgYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQoY3R4KToKKysgICAg IiIiT3ZlcnJpZGUgdGhlIEJhY2tncm91bmQgaW5oZXJpbnRhbmNlIG1lY2hhbmlzbS4KKysgICAg SWYgYSBGZWF0dXJlIC8gUnVsZSBCYWNrZ3JvdW5kIGV4aXN0cyBpbiBhIEZlYXR1cmUsCisrICAg IGFsbCBjb250YWluZWQgU2NlbmFyaW9zIGluaGVyaXQgdGhlIEJhY2tncm91bmQncyBzdGVwcy4K KysKKysgICAgVGhpcyBmaXh0dXJlIGRpc2FibGVzIHRoaXMgbWVjaGFuaXNtLgorKyAgICBUaGUg dGFnZ2VkIEdoZXJraW4gZWxlbWVudCB3aWxsIG5vIGxvbmdlciBpbmhlcml0IHRoZSBiYWNrZ3Jv dW5kIHN0ZXBzLgorKworKyAgICA6cGFyYW0gY3R4OiBDb250ZXh0IG9iamVjdCB0byB1c2UgKGR1 cmluZyBhIHRlc3QgcnVuKS4KKysgICAgIiIiCisrICAgICMgLS0gU0VUVVAtUEFSVC1PTkxZOiBE aXNhYmxlIGJhY2tncm91bmQgaW5oZXJpdGFuY2UgKGZvciBzY2VuYXJpb3Mgb25seSkuCisrICAg IGN1cnJlbnRfc2NlbmFyaW8gPSBjdHguc2NlbmFyaW8KKysgICAgaWYgY3VycmVudF9zY2VuYXJp bzoKKysgICAgICAgIGJlaGF2ZV9kaXNhYmxlX2JhY2tncm91bmRfaW5oZXJpdGFuY2VfZm9yX3Nj ZW5hcmlvKGN1cnJlbnRfc2NlbmFyaW8pCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor KyMgQkVIQVZFIFVUSUxJVFk6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiBiZWhhdmVf ZGlzYWJsZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2Zvcl9zY2VuYXJpbyhzY2VuYXJpbyk6Cisr ICAgIHByaW50KCJGSVhUVVJFLUhJTlQ6IERJU0FCTEUtQkFDS0dST1VORCBGT1I6ICVzIiAlIHNj ZW5hcmlvLm5hbWUpCisrICAgIHNjZW5hcmlvLmJhY2tncm91bmQgPSBOb25lCisrICAgICMgc2Nl bmFyaW8uX2JhY2tncm91bmRfc3RlcHMgPSBbXQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysjIE1PRFVMRSBTUEVDSUZJQzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZml4dHVy ZV9yZWdpc3RyeSA9IHsKKysgICAgImZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZCI6 IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kLAorK30KK2RpZmYgLS1naXQgYS9leGFtcGxlcy9m aXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgYi9leGFt cGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43YTRiNzM1CistLS0gL2Rldi9u dWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMv ZW52aXJvbm1lbnQucHkKK0BAIC0wLDAgKzEsMzUgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0q LQorKyMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKytpbXBvcnQgb3MucGF0aAor K2ltcG9ydCBzeXMKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBQWVRIT04gUEFUSCBT RVRVUDoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrSEVSRSA9IG9zLnBhdGguZGlybmFtZShf X2ZpbGVfXykKKytUT1BBID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihIRVJFLCAiLi4i KSkKKysKKytkZWYgc2V0dXBfcHl0aG9uX3BhdGgoKToKKysgICAgc3lzLnBhdGguaW5zZXJ0KDAs IFRPUEEpCisrCisrc2V0dXBfcHl0aG9uX3BhdGgoKQorKworKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysjIE5PUk1BTCBQQVJUOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytmcm9tIGJlaGF2 ZV9maXh0dXJlX2xpYi5vdmVycmlkZV9iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVfb3ZlcnJpZGVf YmFja2dyb3VuZAorK2Zyb20gYmVoYXZlLmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5X3Rh ZworKworKyMgLS0gRklYVFVSRSBSRUdJU1RSWToKKytmaXh0dXJlX3JlZ2lzdHJ5ID0geworKyAg ICAiZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kIjogYmVoYXZlX292ZXJyaWRlX2Jh Y2tncm91bmQsCisrfQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEhPT0tTOgor KyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgor KyAgICBpZiB0YWcuc3RhcnRzd2l0aCgiZml4dHVyZS4iKToKKysgICAgICAgIHJldHVybiB1c2Vf Zml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKworZGlmZiAt LWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9leGFt cGxlLmZlYXR1cmUgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVy ZXMvZXhhbXBsZS5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4u NWRkZDg3NAorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9i YWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorQEAgLTAsMCArMSwxOCBAQAorK0Zl YXR1cmU6IE92ZXJyaWRlIHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBpbiBz b21lIFNjZW5hcmlvcworKworKyAgLiBCRVdBUkU6CisrICAuICAgVGhpcyBpcyBvbmx5IGFuIGV4 YW1wbGUgaG93IHRoaXMgY2FuIGJlIGRvbmUgKFBST09GLU9GLUNPTkNFUFQpLgorKyAgLiAgIFRo aXMgaXMgbm90IGFuIGV4YW1wbGUgdGhhdCB5b3Ugc2hvdWxkIGRvIHRoaXMgISEhCisrCisrICAg IEJhY2tncm91bmQ6CisrICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzCisrCisr ICAgIFNjZW5hcmlvOiBBbGljZQorKyAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcworKyAgICAgIEFu ZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrICAg IEBmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQKKysgICAgU2NlbmFyaW86IEJvYgor KyAgICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwCisrICAgICAgV2hlbiBh bm90aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBT VEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92 ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkgYi9leGFtcGxl cy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMu cHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zNGYyMTA3CistLS0gL2Rl di9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVy ZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkKK0BAIC0wLDAgKzEsMTMgQEAKKytmcm9tIGJlaGF2ZSBp bXBvcnQgZ2l2ZW4sIHN0ZXAKKysKKysjIEBzdGVwKHUne3dvcmR9IHN0ZXAgcGFzc2VzJykKKysj IGRlZiBzdGVwX3Bhc3Nlc193aXRoX3dvcmQoY29udGV4dCwgd29yZCk6CisrIyAgICAgcGFzcwor KworK0BzdGVwKHUne3dvcmR9IGJhY2tncm91bmQgc3RlcCBwYXNzZXMnKQorK2RlZiBzdGVwX2Jh Y2tncm91bmRfc3RlcF9wYXNzZXMoY29udGV4dCwgd29yZCk6CisrICAgIHBhc3MKKysKKytAZ2l2 ZW4odSdJIG5lZWQge3dvcmR9IHNjZW5hcmlvIHNldHVwJykKKytkZWYgc3RlcF9naXZlbl9pX25l ZWRfc2NlbmFyaW9fc2V0dXAoY29udGV4dCwgd29yZCk6CisrICAgIHBhc3MKK2RpZmYgLS1naXQg YS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNl X3N0ZXBsaWJfYmVoYXZlNGNtZC5weSBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dy b3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5CituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYmMzMmEzMgorLS0tIC9kZXYvbnVsbAorKysrIGIv ZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9z dGVwbGliX2JlaGF2ZTRjbWQucHkKK0BAIC0wLDAgKzEsMTIgQEAKKysjIC0qLSBjb2Rpbmc6IHV0 Zi04IC0qLQorKyIiIgorK1VzZSBiZWhhdmU0Y21kMCBzdGVwIGxpYnJhcnkgKHByZWRlY2Vzc29y IG9mIGJlaGF2ZTRjbWQpLgorKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1 dGVfaW1wb3J0CisrCisrIyAtLSBSRUdJU1RFUi1TVEVQUyBGUk9NIFNURVAtTElCUkFSWToKKysj IGltcG9ydCBiZWhhdmU0Y21kMC5fX2FsbF9zdGVwc19fCisrIyBpbXBvcnQgYmVoYXZlNGNtZDAu ZmFpbGluZ19zdGVwcworK2ltcG9ydCBiZWhhdmU0Y21kMC5wYXNzaW5nX3N0ZXBzCisraW1wb3J0 IGJlaGF2ZTRjbWQwLm5vdGVfc3RlcHMKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDQtRklYLXB5dGhvbjMuOC1yZWdyZXNz aW9ucy1vbi1DSS1zZXJ2ZXIucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ0LUZJWC1weXRob24zLjgtcmVncmVzc2lvbnMtb24tQ0kt c2VydmVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYzM4M2Uz OWY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA0NC1GSVgtcHl0aG9uMy44LXJlZ3Jlc3Npb25zLW9uLUNJLXNl cnZlci5wYXRjaApAQCAtMCwwICsxLDQ4OSBAQAorRnJvbSA2NGU1OGU1NzIxZjRmY2NjOWNkZjQ5 YjUyNDI3MTI2NWEwYzc3NmU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDcgSnVsIDIw MTkgMTI6NDM6MTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYOiBweXRob24zLjggcmVncmVz c2lvbnMgb24gQ0kgc2VydmVyCisKK0lzc3VlcyB3LyBweXRob24zLjg6CisqIFRyYWNlYmFjazog TGluZSBudW1iZXJzIG9mIHN0ZXAgZnVuY3Rpb25zIGRpZmZlciAoKzEpCisqIEpVbml0IFhNTDog QXR0cmlidXRlIG9yZGVyaW5nIG9mIFhNTCBlbGVtZW50IGRpZmZlcnMgKGluIG91dHB1dCkKKy0t LQorIGJlaGF2ZS5pbmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArLQorIGZlYXR1 cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAgICAgICAgfCAxNCArKysrKysKKyBmZWF0dXJlcy9z dGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlIHwgMjAgKysrKy0tLS0KKyBpc3N1ZS5mZWF0dXJl cy9lbnZpcm9ubWVudC5weSAgICAgICAgIHwgMzggKysrKysrKysrKysrLS0tCisgaXNzdWUuZmVh dHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUgICAgICB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysr KworIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlICAgICAgfCA3MCArKysrKysrKysr KysrKysrKysrKysrKysrKysKKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZSAgICAg IHwgNDkgKysrKysrKysrKysrKysrKysrKworIHRveC5pbmkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQorIDggZmlsZXMgY2hhbmdlZCwgMjQyIGluc2VydGlvbnMoKyksIDE4 IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlLmluaSBiL2JlaGF2ZS5pbmkKK2lu ZGV4IDQ1YzBmMGQuLjk1MjI0MGQgMTAwNjQ0CistLS0gYS9iZWhhdmUuaW5pCisrKysgYi9iZWhh dmUuaW5pCitAQCAtMTUsOCArMTUsOSBAQCBzaG93X3NraXBwZWQgPSBmYWxzZQorIGZvcm1hdCAg ID0gcmVydW4KKyAgICAgcHJvZ3Jlc3MzCisgb3V0ZmlsZXMgPSByZXJ1bi50eHQKKy0gICAgcmVw b3J0cy9yZXBvcnRfcHJvZ3Jlc3MzLnR4dAorKyAgICBidWlsZC9iZWhhdmUucmVwb3J0cy9yZXBv cnRfcHJvZ3Jlc3MzLnR4dAorIGp1bml0ID0gdHJ1ZQorK2p1bml0X2RpcmVjdG9yeSA9IGJ1aWxk L2JlaGF2ZS5yZXBvcnRzCisgbG9nZ2luZ19sZXZlbCA9IElORk8KKyAjIGxvZ2dpbmdfZm9ybWF0 ID0gTE9HLiUobGV2ZWxuYW1lKS04cyAgJShuYW1lKS0xMHM6ICUobWVzc2FnZSlzCisgIyBsb2dn aW5nX2Zvcm1hdCA9IExPRy4lKGxldmVsbmFtZSktOHMgICUoYXNjdGltZSlzICAlKG5hbWUpLTEw czogJShtZXNzYWdlKXMKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2Zl YXR1cmVzL2Vudmlyb25tZW50LnB5CitpbmRleCA0NzQ0ZTg5Li4zNzY5ZWU0IDEwMDY0NAorLS0t IGEvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysrKyBiL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5 CitAQCAtMSw1ICsxLDcgQEAKKyAjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyMgRklMRTogZmVh dHVyZXMvZW52aXJvbmVtbnQucHkKKyAKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRl X2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKyBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQg QWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKyBmcm9tIGJlaGF2ZTRj bWQwLnNldHVwX2NvbW1hbmRfc2hlbGwgaW1wb3J0IHNldHVwX2NvbW1hbmRfc2hlbGxfcHJvY2Vz c29yczRiZWhhdmUKKyBpbXBvcnQgcGxhdGZvcm0KK0BAIC0yMCw2ICsyMiwxNSBAQCBhY3RpdmVf dGFnX3ZhbHVlX3Byb3ZpZGVyID0geworIH0KKyBhY3RpdmVfdGFnX21hdGNoZXIgPSBBY3RpdmVU YWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIpCisgCisrCisrZGVmIHByaW50X2Fj dGl2ZV90YWdzX3N1bW1hcnkoKToKKysgICAgYWN0aXZlX3RhZ19kYXRhID0gYWN0aXZlX3RhZ192 YWx1ZV9wcm92aWRlcgorKyAgICBwcmludCgiQUNUSVZFLVRBRyBTVU1NQVJZOiIpCisrICAgIHBy aW50KCJ1c2Uud2l0aF9weXRob24udmVyc2lvbj0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJw eXRob24udmVyc2lvbiIpKQorKyAgICAjIHByaW50KCJ1c2Uud2l0aF9vcz0lcyIgJSBhY3RpdmVf dGFnX2RhdGEuZ2V0KCJvcyIpKQorKyAgICBwcmludCgpCisrCisrCisgIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICMgSE9PS1M6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTMwLDExICs0 MSwxNCBAQCBkZWYgYmVmb3JlX2FsbChjb250ZXh0KToKKyAgICAgc2V0dXBfcHl0aG9uX3BhdGgo KQorICAgICBzZXR1cF9jb250ZXh0X3dpdGhfZ2xvYmFsX3BhcmFtc190ZXN0KGNvbnRleHQpCisg ICAgIHNldHVwX2NvbW1hbmRfc2hlbGxfcHJvY2Vzc29yczRiZWhhdmUoKQorKyAgICBwcmludF9h Y3RpdmVfdGFnc19zdW1tYXJ5KCkKKysKKyAKKyBkZWYgYmVmb3JlX2ZlYXR1cmUoY29udGV4dCwg ZmVhdHVyZSk6CisgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRo KGZlYXR1cmUudGFncyk6CisgICAgICAgICBmZWF0dXJlLnNraXAocmVhc29uPWFjdGl2ZV90YWdf bWF0Y2hlci5leGNsdWRlX3JlYXNvbikKKyAKKysKKyBkZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRl eHQsIHNjZW5hcmlvKToKKyAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRl X3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3MpOgorICAgICAgICAgc2NlbmFyaW8uc2tpcChy ZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorZGlmZiAtLWdpdCBhL2Zl YXR1cmVzL3N0ZXAuZHVwbGljYXRlZF9zdGVwLmZlYXR1cmUgYi9mZWF0dXJlcy9zdGVwLmR1cGxp Y2F0ZWRfc3RlcC5mZWF0dXJlCitpbmRleCA1OTg4OGIwLi4zOTZjY2EyIDEwMDY0NAorLS0tIGEv ZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvc3Rl cC5kdXBsaWNhdGVkX3N0ZXAuZmVhdHVyZQorQEAgLTMyLDExICszMiwxMSBAQCBGZWF0dXJlOiBE dXBsaWNhdGVkIFN0ZXAgRGVmaW5pdGlvbnMKKyAgICAgICAgIEFtYmlndW91c1N0ZXA6IEBnaXZl bignSSBjYWxsIEFsaWNlJykgaGFzIGFscmVhZHkgYmVlbiBkZWZpbmVkIGluCisgICAgICAgICBl eGlzdGluZyBzdGVwIEBnaXZlbignSSBjYWxsIEFsaWNlJykgYXQgZmVhdHVyZXMvc3RlcHMvYWxp Y2Vfc3RlcHMucHk6MworICAgICAgICAgIiIiCistICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQg c2hvdWxkIGNvbnRhaW46CistICAgICAgICAiIiIKKy0gICAgICAgIEZpbGUgImZlYXR1cmVzL3N0 ZXBzL2FsaWNlX3N0ZXBzLnB5IiwgbGluZSA3LCBpbiA8bW9kdWxlPgorLSAgICAgICAgQGdpdmVu KHUnSSBjYWxsIEFsaWNlJykKKy0gICAgICAgICIiIgorKyAgICAjIC0tIERJU0FCTEVEOiBQeXRo b24gMy44IHRyYWNlYmFjayBsaW5lIG51bWJlcnMgZGlmZmVyIHcvIGRlY29yYXRvcnMgKCsxKS4K KysgICAgIyBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorKyAgICAjICAg ICIiIgorKyAgICAjICAgIEZpbGUgImZlYXR1cmVzL3N0ZXBzL2FsaWNlX3N0ZXBzLnB5IiwgbGlu ZSA3LCBpbiA8bW9kdWxlPgorKyAgICAjICAgICIiIgorIAorIAorICAgU2NlbmFyaW86IER1cGxp Y2F0ZWQgU3RlcCBEZWZpbml0aW9uIGluIGFub3RoZXIgRmlsZQorQEAgLTcwLDExICs3MCwxMSBA QCBGZWF0dXJlOiBEdXBsaWNhdGVkIFN0ZXAgRGVmaW5pdGlvbnMKKyAgICAgICAgIEFtYmlndW91 c1N0ZXA6IEBnaXZlbignSSBjYWxsIEJvYicpIGhhcyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBpbgor ICAgICAgICAgZXhpc3Rpbmcgc3RlcCBAZ2l2ZW4oJ0kgY2FsbCBCb2InKSBhdCBmZWF0dXJlcy9z dGVwcy9ib2IxX3N0ZXBzLnB5OjMKKyAgICAgICAgICIiIgorLSAgICBBbmQgdGhlIGNvbW1hbmQg b3V0cHV0IHNob3VsZCBjb250YWluOgorLSAgICAgICAgIiIiCistICAgICAgICBGaWxlICJmZWF0 dXJlcy9zdGVwcy9ib2IyX3N0ZXBzLnB5IiwgbGluZSAzLCBpbiA8bW9kdWxlPgorLSAgICAgICAg QGdpdmVuKCdJIGNhbGwgQm9iJykKKy0gICAgICAgICIiIgorKyAgICAjIC0tIERJU0FCTEVEOiBQ eXRob24gMy44IHRyYWNlYmFjayBsaW5lIG51bWJlcnMgZGlmZmVyIHcvIGRlY29yYXRvcnMgKCsx KS4KKysgICAgIyBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorKyAgICAj ICAgICIiIgorKyAgICAjICAgIEZpbGUgImZlYXR1cmVzL3N0ZXBzL2JvYjJfc3RlcHMucHkiLCBs aW5lIDMsIGluIDxtb2R1bGU+CisrICAgICMgICAgIiIiCisgCisgICBAeGZhaWwKKyAgIFNjZW5h cmlvOiBEdXBsaWNhdGVkIFNhbWUgU3RlcCBEZWZpbml0aW9uIHZpYSBpbXBvcnQgZnJvbSBhbm90 aGVyIEZpbGUKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2lz c3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitpbmRleCAyZGZlYzc1Li43ZTQ4ZWUwIDEwMDY0 NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysrKyBiL2lzc3VlLmZlYXR1 cmVzL2Vudmlyb25tZW50LnB5CitAQCAtMSw1ICsxLDUgQEAKKyAjIC0qLSBjb2Rpbmc6IFVURi04 IC0qLQorLSMgRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysjIEZJTEU6IGlzc3VlLmZl YXR1cmVzL2Vudmlyb25lbW50LnB5CisgIyBweWxpbnQ6IGRpc2FibGU9dW51c2VkLWFyZ3VtZW50 CisgIiIiCisgRnVuY3Rpb25hbGl0eToKK0BAIC03LDE3ICs3LDIwIEBAIEZ1bmN0aW9uYWxpdHk6 CisgICAqIGFjdGl2ZSB0YWdzCisgIiIiCisgCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmlu dF9mdW5jdGlvbgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBw cmludF9mdW5jdGlvbgorIGltcG9ydCBzeXMKKyBpbXBvcnQgcGxhdGZvcm0KKyBpbXBvcnQgb3Mu cGF0aAorIGltcG9ydCBzaXgKKyBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZl VGFnTWF0Y2hlcgorIGZyb20gYmVoYXZlNGNtZDAuc2V0dXBfY29tbWFuZF9zaGVsbCBpbXBvcnQg c2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3JzNGJlaGF2ZQorLSMgUFJFUEFSRUQ6CistIyBm cm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKysj IFBSRVBBUkVEOiBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgc2V0dXBfYWN0aXZlX3Rh Z192YWx1ZXMKKyAKKyAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVEVTVCBTVVBQT1JUOiBG b3IgQWN0aXZlIFRhZ3MKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRlZiByZXF1aXJlX3Rvb2wo dG9vbF9uYW1lKToKKyAgICAgIiIiQ2hlY2sgaWYgYSB0b29sIChhbiBleGVjdXRhYmxlIHByb2dy YW0pIGlzIHByb3ZpZGVkIG9uIHRoaXMgcGxhdGZvcm0uCisgCitAQCAtNDUsMTIgKzQ4LDE0IEBA IGRlZiByZXF1aXJlX3Rvb2wodG9vbF9uYW1lKToKKyAgICAgIyBwcmludCgiVE9PTC1OT1QtRk9V TkQ6ICVzIiAlIHRvb2xfbmFtZSkKKyAgICAgcmV0dXJuIEZhbHNlCisgCisrCisgZGVmIGFzX2Jv b2xfc3RyaW5nKHZhbHVlKToKKyAgICAgaWYgYm9vbCh2YWx1ZSk6CisgICAgICAgICByZXR1cm4g InllcyIKKyAgICAgZWxzZToKKyAgICAgICAgIHJldHVybiAibm8iCisgCisrCisgZGVmIGRpc2Nv dmVyX2NpX3NlcnZlcigpOgorICAgICAjIHB5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUKKyAg ICAgY2lfc2VydmVyID0gIm5vbmUiCitAQCAtNjcsMTIgKzcyLDE3IEBAIGRlZiBkaXNjb3Zlcl9j aV9zZXJ2ZXIoKToKKyAgICAgcmV0dXJuIGNpX3NlcnZlcgorIAorIAorKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrIyBCRUhBVkUgU1VQUE9SVDogQWN0aXZlIFRhZ3MKKysjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzogQHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVl fQorICMgTk9URTogYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBjYXRlZ29yeSB2 YWx1ZXMgZm9yIGFjdGl2ZSB0YWdzLgorK3B5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52 ZXJzaW9uX2luZm9bOjJdCisgYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsKKyAgICAgInBs YXRmb3JtIjogc3lzLnBsYXRmb3JtLAorICAgICAicHl0aG9uMiI6IHN0cihzaXguUFkyKS5sb3dl cigpLAorICAgICAicHl0aG9uMyI6IHN0cihzaXguUFkzKS5sb3dlcigpLAorKyAgICAicHl0aG9u LnZlcnNpb24iOiBweXRob25fdmVyc2lvbiwKKyAgICAgIyAtLSBweXRob24uaW1wbGVtZW50YXRp b246IGNweXRob24sIHB5cHksIGp5dGhvbiwgaXJvbnB5dGhvbgorICAgICAicHl0aG9uLmltcGxl bWVudGF0aW9uIjogcGxhdGZvcm0ucHl0aG9uX2ltcGxlbWVudGF0aW9uKCkubG93ZXIoKSwKKyAg ICAgInB5cHkiOiAgICBzdHIoIl9fcHlweV9fIiBpbiBzeXMubW9kdWxlcykubG93ZXIoKSwKK0BA IC04MiwxNyArOTIsMzMgQEAgYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsKKyB9CisgYWN0 aXZlX3RhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3Zp ZGVyKQorIAorKworK2RlZiBwcmludF9hY3RpdmVfdGFnc19zdW1tYXJ5KCk6CisrICAgIGFjdGl2 ZV90YWdfZGF0YSA9IGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIKKysgICAgcHJpbnQoIkFDVElW RS1UQUcgU1VNTUFSWToiKQorKyAgICBwcmludCgidXNlLndpdGhfcHl0aG9uLnZlcnNpb249JXMi ICUgYWN0aXZlX3RhZ19kYXRhLmdldCgicHl0aG9uLnZlcnNpb24iKSkKKysgICAgIyBwcmludCgi dXNlLndpdGhfcGxhdGZvcm09JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgicGxhdGZvcm0iKSkK KysgICAgIyBwcmludCgidXNlLndpdGhfb3M9JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgib3Mi KSkKKysgICAgcHJpbnQoKQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBCRUhBVkUg SE9PS1M6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkZWYgYmVmb3JlX2FsbChjb250ZXh0KToK KyAgICAgIyAtLSBTRVRVUCBBQ1RJVkUtVEFHIE1BVENIRVIgKHdpdGggdXNlcmRhdGEpOgorICAg ICAjIFVTRTogYmVoYXZlIC1EIGJyb3dzZXI9c2FmYXJpIC4uLgorLSAgICAjIE5PVC1ORUVERUQ6 IHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIsCistICAg ICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5jb25maWcudXNl cmRhdGEpCisrICAgICMgTk9ULU5FRURFRDoKKysgICAgIyBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVl cyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBjb250ZXh0LmNvbmZpZy51c2VyZGF0YSkKKyAg ICAgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3JzNGJlaGF2ZSgpCisrICAgIHByaW50X2Fj dGl2ZV90YWdzX3N1bW1hcnkoKQorKworIAorIGRlZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBm ZWF0dXJlKToKKyAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgo ZmVhdHVyZS50YWdzKToKKyAgICAgICAgIGZlYXR1cmUuc2tpcChyZWFzb249YWN0aXZlX3RhZ19t YXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorIAorKworIGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4 dCwgc2NlbmFyaW8pOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVf d2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CisgICAgICAgICBzY2VuYXJpby5za2lwKHJl YXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCitkaWZmIC0tZ2l0IGEvaXNz dWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAu ZmVhdHVyZQoraW5kZXggZGMxZWJlNy4uODFjYjZlMiAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1 cmVzL2lzc3VlMDMzMC5mZWF0dXJlCisrKysgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVh dHVyZQorQEAgLTcwLDYgKzcwLDcgQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2Vu YXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAgICAgQW5k IG5vdGUgdGhhdCAiYm9iLmZlYXR1cmUgaXMgc2tpcHBlZCIKKyAKKyAKKysgIEBub3Qud2l0aF9w eXRob24udmVyc2lvbj0zLjgKKyAgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQg ZmVhdHVyZSBpcyBjcmVhdGVkIHdpdGggLS1zaG93LXNraXBwZWQKKyAgICAgV2hlbiBJIHJ1biAi YmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQgQGFsaWNlX2FuZF9ib2IuZmVh dHVyZXNldCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorQEAgLTgzLDYgKzg0LDIz IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBp biBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgICAgICAgPHRlc3RzdWl0ZSBlcnJvcnM9IjAi IGZhaWx1cmVzPSIwIiBuYW1lPSJib2IuQm9iIiBza2lwcGVkPSIxIiB0ZXN0cz0iMSIgdGltZT0i MC4wIj4KKyAgICAgICAiIiIKKyAKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysg IFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgZmVhdHVyZSBpcyBjcmVhdGVkIHdp dGggLS1zaG93LXNraXBwZWQKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRh ZzEgLS1zaG93LXNraXBwZWQgQGFsaWNlX2FuZF9ib2IuZmVhdHVyZXNldCIKKysgICAgVGhlbiBp dCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICIiIgorKyAgICAgIDEgZmVhdHVyZSBwYXNzZWQs IDAgZmFpbGVkLCAxIHNraXBwZWQKKysgICAgICAiIiIKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAi dGVzdF9yZXN1bHRzL1RFU1RTLWFsaWNlLnhtbCIgZXhpc3RzCisrICAgIEFuZCBhIGZpbGUgbmFt ZWQgInRlc3RfcmVzdWx0cy9URVNUUy1ib2IueG1sIiBleGlzdHMKKysgICAgQW5kIHRoZSBmaWxl ICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtYm9iLnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgIiIi CisrICAgICAgPHRlc3RzdWl0ZSBuYW1lPSJib2IuQm9iIiB0ZXN0cz0iMSIgZXJyb3JzPSIwIiBm YWlsdXJlcz0iMCIgc2tpcHBlZD0iMSIgdGltZT0iMC4wIj4KKysgICAgICAiIiIKKysgICAgICAj IC0tIEhJTlQgRk9SOiBQeXRob24gPCAzLjgKKysgICAgICAjIDx0ZXN0c3VpdGUgZXJyb3JzPSIw IiBmYWlsdXJlcz0iMCIgbmFtZT0iYm9iLkJvYiIgc2tpcHBlZD0iMSIgdGVzdHM9IjEiIHRpbWU9 IjAuMCI+CisrCisrICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICBTY2VuYXJpbzog SnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIHNjZW5hcmlvIGlzIG5laXRoZXIgc2hvd24gbm9yIGNv dW50ZWQgd2l0aCAtLW5vLXNraXBwZWQKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQg LXQgQHRhZzEgLS1uby1za2lwcGVkIgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitA QCAtMTAyLDcgKzEyMCwzMCBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlv cyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworICAgICAgICIiIgor ICAgICBBbmQgbm90ZSB0aGF0ICJDaGFybHkyIGlzIHRoZSBza2lwcGVkIHNjZW5hcmlvbiBpbiBj aGFybHkuZmVhdHVyZSIKKyAKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgIFNj ZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBzaG93 biBub3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZAorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUg LS1qdW5pdCAtdCBAdGFnMSAtLW5vLXNraXBwZWQiCisrICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mg d2l0aDoKKysgICAgICAiIiIKKysgICAgICAyIGZlYXR1cmVzIHBhc3NlZCwgMCBmYWlsZWQsIDEg c2tpcHBlZAorKyAgICAgIDIgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWlsZWQsIDIgc2tpcHBlZAor KyAgICAgICIiIgorKyAgICBBbmQgYSBmaWxlIG5hbWVkICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtYWxp Y2UueG1sIiBleGlzdHMKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAidGVzdF9yZXN1bHRzL1RFU1RT LWNoYXJseS54bWwiIGV4aXN0cworKyAgICBBbmQgdGhlIGZpbGUgInRlc3RfcmVzdWx0cy9URVNU Uy1jaGFybHkueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAiIiIKKysgICAgICA8dGVzdHN1 aXRlIG5hbWU9ImNoYXJseS5DaGFybHkiIHRlc3RzPSIxIiBlcnJvcnM9IjAiIGZhaWx1cmVzPSIw IiBza2lwcGVkPSIwIgorKyAgICAgICIiIgorKyAgICAgICMgLS0gSElOVCBGT1I6IFB5dGhvbiA8 IDMuOAorKyAgICAgICMgPHRlc3RzdWl0ZSBlcnJvcnM9IjAiIGZhaWx1cmVzPSIwIiBuYW1lPSJj aGFybHkuQ2hhcmx5IiBza2lwcGVkPSIwIiB0ZXN0cz0iMSIKKysgICAgQW5kIHRoZSBmaWxlICJ0 ZXN0X3Jlc3VsdHMvVEVTVFMtY2hhcmx5LnhtbCIgc2hvdWxkIG5vdCBjb250YWluOgorKyAgICAg ICIiIgorKyAgICAgIDx0ZXN0Y2FzZSBjbGFzc25hbWU9ImNoYXJseS5DaGFybHkiIG5hbWU9IkNo YXJseTIiCisrICAgICAgIiIiCisrICAgIEFuZCBub3RlIHRoYXQgIkNoYXJseTIgaXMgdGhlIHNr aXBwZWQgc2NlbmFyaW9uIGluIGNoYXJseS5mZWF0dXJlIgorKworIAorKyAgQG5vdC53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuOAorICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBz Y2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisgICAgIFdo ZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIgorICAgICBU aGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtMTIyLDMgKzE2MywyNiBAQCBGZWF0dXJlOiBJ c3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0 cyB3aGVuIC0tbm8tcworICAgICAgICIiIgorICAgICBBbmQgbm90ZSB0aGF0ICJDaGFybHkyIGlz IHRoZSBza2lwcGVkIHNjZW5hcmlvbiBpbiBjaGFybHkuZmVhdHVyZSIKKyAKKysKKysgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNr aXBwZWQgc2NlbmFyaW8gaXMgc2hvd24gYW5kIGNvdW50ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAor KyAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ctc2tpcHBlZCIK KysgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICIiIgorKyAgICAgIDIgZmVh dHVyZXMgcGFzc2VkLCAwIGZhaWxlZCwgMSBza2lwcGVkCisrICAgICAgMiBzY2VuYXJpb3MgcGFz c2VkLCAwIGZhaWxlZCwgMiBza2lwcGVkCisrICAgICAgIiIiCisrICAgIEFuZCBhIGZpbGUgbmFt ZWQgInRlc3RfcmVzdWx0cy9URVNUUy1hbGljZS54bWwiIGV4aXN0cworKyAgICBBbmQgYSBmaWxl IG5hbWVkICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtY2hhcmx5LnhtbCIgZXhpc3RzCisrICAgIEFuZCB0 aGUgZmlsZSAidGVzdF9yZXN1bHRzL1RFU1RTLWNoYXJseS54bWwiIHNob3VsZCBjb250YWluOgor KyAgICAgICIiIgorKyAgICAgIDx0ZXN0c3VpdGUgbmFtZT0iY2hhcmx5LkNoYXJseSIgdGVzdHM9 IjIiIGVycm9ycz0iMCIgZmFpbHVyZXM9IjAiIHNraXBwZWQ9IjEiCisrICAgICAgIiIiCisrICAg ICAgIyBISU5UOiBQeXRob24gPCAzLjgKKysgICAgICAjIDx0ZXN0c3VpdGUgZXJyb3JzPSIwIiBm YWlsdXJlcz0iMCIgbmFtZT0iY2hhcmx5LkNoYXJseSIgc2tpcHBlZD0iMSIgdGVzdHM9IjIiCisr ICAgIEFuZCB0aGUgZmlsZSAidGVzdF9yZXN1bHRzL1RFU1RTLWNoYXJseS54bWwiIHNob3VsZCBj b250YWluOgorKyAgICAgICIiIgorKyAgICAgIDx0ZXN0Y2FzZSBjbGFzc25hbWU9ImNoYXJseS5D aGFybHkiIG5hbWU9IkNoYXJseTIiIHN0YXR1cz0ic2tpcHBlZCIKKysgICAgICAiIiIKKysgICAg QW5kIG5vdGUgdGhhdCAiQ2hhcmx5MiBpcyB0aGUgc2tpcHBlZCBzY2VuYXJpb24gaW4gY2hhcmx5 LmZlYXR1cmUiCisrCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1 cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZQoraW5kZXggYTJlZDg5Mi4uOTAx YmRlYyAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCisrKysg Yi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZQorQEAgLTU4LDYgKzU4LDcgQEAgRmVh dHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVu aXRSZXBvcnRlcgorICAgICAgICAgYmVoYXZlLnJlcG9ydGVyLmp1bml0LnNob3dfaG9zdG5hbWUg PSBGYWxzZQorICAgICAgICAgIiIiCisgCisrICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0z LjgKKyAgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkKKyAgICAg ICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9iZWZvcmVfc2Nl bmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoK K0BAIC04Niw2ICs4Nyw0MCBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFy aW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgICAgICAgQW5kIG5vdGUgdGhhdCAi dGhlIHRyYWNlYmFjayBpcyBjb250YWluZWQgaW4gdGhlIFhNTCBlbGVtZW50IDxlcnJvci8+Igor IAorIAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIFNjZW5hcmlvOiBI b29rIGVycm9yIGluIGJlZm9yZV9zY2VuYXJpbygpCisrICAgICAgV2hlbiBJIHJ1biAiYmVoYXZl IC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUuZmVhdHVy ZSIKKysgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CisrICAgICAgICAiIiIKKysgICAg ICAgIDAgc2NlbmFyaW9zIHBhc3NlZCwgMSBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAgICAgIiIi CisrICAgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoKKysgICAgICAg ICIiIgorKyAgICAgICAgSE9PSy1FUlJPUiBpbiBiZWZvcmVfc2NlbmFyaW86IFJ1bnRpbWVFcnJv cjogT09QUworKyAgICAgICAgIiIiCisrICAgICAgQW5kIHRoZSBmaWxlICJyZXBvcnRzL1RFU1RT LWJlZm9yZV9zY2VuYXJpb19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAi IiIKKysgICAgICAgIDx0ZXN0c3VpdGUgbmFtZT0iYmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUuQWxp Y2UiIHRlc3RzPSIxIiBlcnJvcnM9IjEiIGZhaWx1cmVzPSIwIiBza2lwcGVkPSIwIgorKyAgICAg ICAgIiIiCisrICAgICAgICAjIC0tIEhJTlQgRk9SOiBQeXRob24gPCAzLjgKKysgICAgICAgICMg PHRlc3RzdWl0ZSBlcnJvcnM9IjEiIGZhaWx1cmVzPSIwIiBuYW1lPSJiZWZvcmVfc2NlbmFyaW9f ZmFpbHVyZS5BbGljZSIgc2tpcHBlZD0iMCIgdGVzdHM9IjEiCisrICAgICAgQW5kIHRoZSBmaWxl ICJyZXBvcnRzL1RFU1RTLWJlZm9yZV9zY2VuYXJpb19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRh aW46CisrICAgICAgICAiIiIKKysgICAgICAgIDxlcnJvciB0eXBlPSJSdW50aW1lRXJyb3IiIG1l c3NhZ2U9IkhPT0stRVJST1IgaW4gYmVmb3JlX3NjZW5hcmlvOiBSdW50aW1lRXJyb3I6IE9PUFMi PgorKyAgICAgICAgIiIiCisrICAgICAgICAjIC0tIEhJTlQgRk9SOiBQeXRob24gPCAzLjgKKysg ICAgICAgICMgPGVycm9yIG1lc3NhZ2U9IkhPT0stRVJST1IgaW4gYmVmb3JlX3NjZW5hcmlvOiBS dW50aW1lRXJyb3I6IE9PUFMiIHR5cGU9IlJ1bnRpbWVFcnJvciI+CisrICAgICAgQW5kIHRoZSBm aWxlICJyZXBvcnRzL1RFU1RTLWJlZm9yZV9zY2VuYXJpb19mYWlsdXJlLnhtbCIgc2hvdWxkIGNv bnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAgIEZpbGUgImZlYXR1cmVzL2Vudmlyb25tZW50 LnB5IiwgbGluZSA2LCBpbiBiZWZvcmVfc2NlbmFyaW8KKysgICAgICAgICAgY2F1c2VfaG9va19m YWlsdXJlKCkKKysgICAgICAgIEZpbGUgImZlYXR1cmVzL2Vudmlyb25tZW50LnB5IiwgbGluZSAy LCBpbiBjYXVzZV9ob29rX2ZhaWx1cmUKKysgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJP T1BTIikKKysgICAgICAgICIiIgorKyAgICAgIEFuZCBub3RlIHRoYXQgInRoZSB0cmFjZWJhY2sg aXMgY29udGFpbmVkIGluIHRoZSBYTUwgZWxlbWVudCA8ZXJyb3IvPiIKKysKKysKKysgICAgQG5v dC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBh ZnRlcl9zY2VuYXJpbygpCisgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVu aXQgZmVhdHVyZXMvYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4g aXQgc2hvdWxkIGZhaWwgd2l0aDoKK0BAIC0xMTQsMyArMTQ5LDM4IEBAIEZlYXR1cmU6IElzc3Vl ICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJpbyBob29rLWVycm9ycyB3aXRoIEpVbml0UmVwb3J0ZXIK KyAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJPT1BTIikKKyAgICAgICAgICIiIgorICAg ICAgIEFuZCBub3RlIHRoYXQgInRoZSB0cmFjZWJhY2sgaXMgY29udGFpbmVkIGluIHRoZSBYTUwg ZWxlbWVudCA8ZXJyb3IvPiIKKysKKysKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OAorKyAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBhZnRlcl9zY2VuYXJpbygpCisrICAgICAg V2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYWZ0ZXJfc2NlbmFy aW9fZmFpbHVyZS5mZWF0dXJlIgorKyAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKysg ICAgICAgICIiIgorKyAgICAgICAgMCBzY2VuYXJpb3MgcGFzc2VkLCAxIGZhaWxlZCwgMCBza2lw cGVkCisrICAgICAgICAiIiIKKysgICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBj b250YWluOgorKyAgICAgICAgIiIiCisrICAgICAgICAgIFNjZW5hcmlvOiBCMQorKyAgICAgICAg ICAgIEdpdmVuIGFub3RoZXIgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAorKyAgICAgICAgSE9PSy1F UlJPUiBpbiBhZnRlcl9zY2VuYXJpbzogUnVudGltZUVycm9yOiBPT1BTCisrICAgICAgICAiIiIK KysgICAgICBBbmQgdGhlIGZpbGUgInJlcG9ydHMvVEVTVFMtYWZ0ZXJfc2NlbmFyaW9fZmFpbHVy ZS54bWwiIHNob3VsZCBjb250YWluOgorKyAgICAgICAgIiIiCisrICAgICAgICA8dGVzdHN1aXRl IG5hbWU9ImFmdGVyX3NjZW5hcmlvX2ZhaWx1cmUuQm9iIiB0ZXN0cz0iMSIgZXJyb3JzPSIxIiBm YWlsdXJlcz0iMCIgc2tpcHBlZD0iMCIKKysgICAgICAgICIiIgorKyAgICAgICAgIyAtLSBISU5U IEZPUjogUHl0aG9uIDwgMy44CisrICAgICAgICAjIDx0ZXN0c3VpdGUgZXJyb3JzPSIxIiBmYWls dXJlcz0iMCIgbmFtZT0iYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5Cb2IiIHNraXBwZWQ9IjAiIHRl c3RzPSIxIgorKyAgICAgIEFuZCB0aGUgZmlsZSAicmVwb3J0cy9URVNUUy1hZnRlcl9zY2VuYXJp b19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAgIDxl cnJvciB0eXBlPSJSdW50aW1lRXJyb3IiIG1lc3NhZ2U9IkhPT0stRVJST1IgaW4gYWZ0ZXJfc2Nl bmFyaW86IFJ1bnRpbWVFcnJvcjogT09QUyI+CisrICAgICAgICAiIiIKKysgICAgICAgICMgLS0g SElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAgICAgICAgIyA8ZXJyb3IgbWVzc2FnZT0iSE9PSy1F UlJPUiBpbiBhZnRlcl9zY2VuYXJpbzogUnVudGltZUVycm9yOiBPT1BTIiB0eXBlPSJSdW50aW1l RXJyb3IiPgorKyAgICAgIEFuZCB0aGUgZmlsZSAicmVwb3J0cy9URVNUUy1hZnRlcl9zY2VuYXJp b19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAgIEZp bGUgImZlYXR1cmVzL2Vudmlyb25tZW50LnB5IiwgbGluZSAxMCwgaW4gYWZ0ZXJfc2NlbmFyaW8K KysgICAgICAgICAgY2F1c2VfaG9va19mYWlsdXJlKCkKKysgICAgICAgIEZpbGUgImZlYXR1cmVz L2Vudmlyb25tZW50LnB5IiwgbGluZSAyLCBpbiBjYXVzZV9ob29rX2ZhaWx1cmUKKysgICAgICAg ICAgcmFpc2UgUnVudGltZUVycm9yKCJPT1BTIikKKysgICAgICAgICIiIgorKyAgICAgIEFuZCBu b3RlIHRoYXQgInRoZSB0cmFjZWJhY2sgaXMgY29udGFpbmVkIGluIHRoZSBYTUwgZWxlbWVudCA8 ZXJyb3IvPiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZSBi L2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlCitpbmRleCBmODA2NDBlLi40NmY5NmU5 IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKKysrKyBiL2lz c3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlCitAQCAtMjQsNiArMjQsNyBAQCBGZWF0dXJl OiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQg WE1MIHJlcG9ydHMKKyAgICAgICAgICIiIgorIAorIAorKyAgICBAbm90LndpdGhfcHl0aG9uLnZl cnNpb249My44CisgICAgIFNjZW5hcmlvOiBVc2UgZmFpbGluZyBhc3NlcnRhdGlvbiBpbiBhIEpV bml0IFhNTCByZXBvcnQKKyAgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxz MS5mZWF0dXJlIiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtNDQsNiArNDUsMzEgQEAgRmVhdHVy ZTogSXNzdWUgIzQ1NyAtLSBEb3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3NhZ2VzIG9mIEpVbml0 IFhNTCByZXBvcnRzCisgICAgICAgICA8ZmFpbHVyZSBtZXNzYWdlPSJGQUlMRUQ6IE15IG5hbWUg aXMgJnF1b3Q7QWxpY2UmcXVvdDsiCisgICAgICAgICAiIiIKKyAKKysgICAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuOAorKyAgICBTY2VuYXJpbzogVXNlIGZhaWxpbmcgYXNzZXJ0YXRpb24g aW4gYSBKVW5pdCBYTUwgcmVwb3J0CisrICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJl cy9mYWlsczEuZmVhdHVyZSIgd2l0aDoKKysgICAgICAgICIiIgorKyAgICAgICAgRmVhdHVyZToK KysgICAgICAgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgICAgICAgR2l2ZW4gYSBzdGVwIGZh aWxzIHdpdGggbWVzc2FnZToKKysgICAgICAgICAgICAgICcnJworKyAgICAgICAgICAgICAgTXkg bmFtZSBpcyAiQWxpY2UiCisrICAgICAgICAgICAgICAnJycKKysgICAgICAgICIiIgorKyAgICAg IFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IGZlYXR1cmVzL2ZhaWxzMS5mZWF0dXJlIgorKyAg ICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKysgICAgICAgICIiIgorKyAgICAgICAgMCBz Y2VuYXJpb3MgcGFzc2VkLCAxIGZhaWxlZCwgMCBza2lwcGVkCisrICAgICAgICAiIiIKKysgICAg ICBBbmQgdGhlIGZpbGUgInJlcG9ydHMvVEVTVFMtZmFpbHMxLnhtbCIgc2hvdWxkIGNvbnRhaW46 CisrICAgICAgICAiIiIKKysgICAgICAgIDxmYWlsdXJlIHR5cGU9IkFzc2VydGlvbkVycm9yIiBt ZXNzYWdlPSJGQUlMRUQ6IE15IG5hbWUgaXMgJnF1b3Q7QWxpY2UmcXVvdDsiPgorKyAgICAgICAg IiIiCisrICAgICAgICAjIC0tIEhJTlQgRk9SOiBQeXRob24gPCAzLjgKKysgICAgICAgICMgPGZh aWx1cmUgbWVzc2FnZT0iRkFJTEVEOiBNeSBuYW1lIGlzICZxdW90O0FsaWNlJnF1b3Q7IgorKwor KworKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAgIFNjZW5hcmlvOiBVc2Ug ZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydAorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1l ZCAiZmVhdHVyZXMvZmFpbHMyLmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC02Mywz ICs4OSwyNiBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3Ig bWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAgICAgICAgICIiIgorICAgICAgICAgPGVy cm9yIG1lc3NhZ2U9Ik15IG5hbWUgaXMgJnF1b3Q7Qm9iJnF1b3Q7IGFuZCAmbHQ7aGVyZSZndDsg SSBhbSIKKyAgICAgICAgICIiIgorKworKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44 CisrICAgIFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydAorKyAg ICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMyLmZlYXR1cmUiIHdpdGg6Cisr ICAgICAgICAiIiIKKysgICAgICAgIEZlYXR1cmU6CisrICAgICAgICAgIFNjZW5hcmlvOiBCb2IK KysgICAgICAgICAgICBHaXZlbiBhIHN0ZXAgZmFpbHMgd2l0aCBlcnJvciBhbmQgbWVzc2FnZToK KysgICAgICAgICAgICAgICcnJworKyAgICAgICAgICAgICAgTXkgbmFtZSBpcyAiQm9iIiBhbmQg PGhlcmU+IEkgYW0KKysgICAgICAgICAgICAgICcnJworKyAgICAgICAgIiIiCisrICAgICAgV2hl biBJIHJ1biAiYmVoYXZlIC0tanVuaXQgZmVhdHVyZXMvZmFpbHMyLmZlYXR1cmUiCisrICAgICAg VGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorKyAgICAgICAgIiIiCisrICAgICAgICAwIHNjZW5h cmlvcyBwYXNzZWQsIDEgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgICAgICIiIgorKyAgICAgIEFu ZCB0aGUgZmlsZSAicmVwb3J0cy9URVNUUy1mYWlsczIueG1sIiBzaG91bGQgY29udGFpbjoKKysg ICAgICAgICIiIgorKyAgICAgICAgPGVycm9yIHR5cGU9IlJ1bnRpbWVFcnJvciIgbWVzc2FnZT0i TXkgbmFtZSBpcyAmcXVvdDtCb2ImcXVvdDsgYW5kICZsdDtoZXJlJmd0OyBJIGFtIj4KKysgICAg ICAgICIiIgorKyAgICAgICAgIyAtLSBISU5UIEZPUjogUHl0aG9uIDwgMy44CisrICAgICAgICAj IDxlcnJvciBtZXNzYWdlPSJNeSBuYW1lIGlzICZxdW90O0JvYiZxdW90OyBhbmQgJmx0O2hlcmUm Z3Q7IEkgYW0iCitkaWZmIC0tZ2l0IGEvdG94LmluaSBiL3RveC5pbmkKK2luZGV4IGQyZmJjZTIu LmI4MjU5MjEgMTAwNjQ0CistLS0gYS90b3guaW5pCisrKysgYi90b3guaW5pCitAQCAtMjgsNyAr MjgsNyBAQAorIAorIFt0b3hdCisgbWludmVyc2lvbiAgID0gMi4zCistZW52bGlzdCAgICAgID0g cHkyNywgcHkzNywgcHkzNiwgcHkzNSwgcHkzNCwgcHkzMywgcHlweSwgZG9jcworK2Vudmxpc3Qg ICAgICA9IHB5MjcsIHB5MzcsIHB5MzgsIHB5MzYsIHB5MzUsIHB5cHksIGRvY3MKKyBza2lwX21p c3NpbmdfaW50ZXJwcmV0ZXJzID0gVHJ1ZQorIHNpdGVwYWNrYWdlcyA9IEZhbHNlCisgaW5kZXhz ZXJ2ZXIgPQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA0NS1VUERBVEUtTWFyay1pc3N1ZS03NTUtYXMtZml4ZWQucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ1 LVVQREFURS1NYXJrLWlzc3VlLTc1NS1hcy1maXhlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLjYwNmMxMzE4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDUtVVBEQVRFLU1h cmstaXNzdWUtNzU1LWFzLWZpeGVkLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gYWQ3MjNi YTdlN2MyMjA0YmJkMjkxMTVlOTY3ZDI0OTgyN2QzYzhmNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0 ZTogU3VuLCA3IEp1bCAyMDE5IDEyOjU5OjU3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVQREFU RTogTWFyayBpc3N1ZSAjNzU1IGFzIGZpeGVkLgorCistLS0KKyBDSEFOR0VTLnJzdCB8IDExICsr KystLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGQxNjUy NzUuLjMxMmNiYmEgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QK K0BAIC0yNywyOCArMjcsMjUgQEAgRU5IQU5DRU1FTlRTOgorICogVXNlIGBjdWN1bWJlci10YWct ZXhwcmVzc2lvbnNgXyB3aXRoIHRhZy1tYXRjaGluZyBleHRlbnNpb24gKHN1cGVyY2VlZHM6IG9s ZC1zdHlsZSB0YWctZXhwcmVzc2lvbnMpCisgKiBVc2UgY3VjdW1iZXIgImdoZXJraW4tbGFuZ3Vh Z2VzLmpzb24iIG5vdyAoc2ltcGxpZnk6IEdoZXJraW4gdjYgYWxpYXNlcywgbGFuZ3VhZ2UgdXNh Z2UpCisgKiBTdXBwb3J0IGVtb2ppcyBpbiBgYCouZmVhdHVyZWBgIGZpbGVzIGFuZCBzdGVwcwor KyogU2VsZWN0LWJ5LWxvY2F0aW9uOiBBZGQgc3VwcG9ydCBmb3IgIlNjZW5hcmlvIGNvbnRhaW5l ciIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSkgKHJlbGF0ZWQgdG86ICMzOTEpCisg KiBpc3N1ZSAjNjc4OiBTY2VuYXJpbyBPdXRsaW5lOiBTdXBwb3J0IHRhZ3Mgd2l0aCBjb21tYXMg YW5kIHNlbWljb2xvbnMgKHByb3ZpZGVkIGJ5OiBsYXdubW93ZXJsYXR0ZSwgcHVsbCAjNjc5KQor ICogaXNzdWUgIzY3NTogRmVhdHVyZSBmaWxlcyBjYW5ub3QgYmUgZm91bmQgd2l0aGluIHN5bWxp bmsgZGlyZWN0b3JpZXMgKHByb3ZpZGVkIGJ5OiBzbWFkbmVzcywgcHVsbCAjNjgwKQorLSogU2Vs ZWN0LWJ5LWxvY2F0aW9uOiBBZGQgc3VwcG9ydCBmb3IgIlNjZW5hcmlvIGNvbnRhaW5lciIgKEZl YXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSkgKHJlbGF0ZWQgdG86ICMzOTEpCistCistUEFS VElBTExZIEZJWEVEOgorLQorLSogaXNzdWUgIzc1NTogRmFpbHVyZXMgd2l0aCBQeXRob24gMy44 IChzdWJtaXR0ZWQgYnk6IGhyb25jb2spCisgCisgRklYRUQ6CisgCistKiBwdWxsICAjNTg4OiBT dGVwcy1jYXRhbG9nIGFyZ3VtZW50IHNob3VsZCBub3QgYnJlYWsgY29uZmlndXJlZCByZXJ1biBz ZXR0aW5ncyAocHJvdmlkZWQgYnk6IExlZ28zKQorKyogaXNzdWUgIzc1NTogRmFpbHVyZXMgd2l0 aCBQeXRob24gMy44IChzdWJtaXR0ZWQgYnk6IGhyb25jb2spCisgKiBpc3N1ZSAjNzI1OiBTY2Vu YXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxpbmVzIHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0 dGVkIGJ5OiBuaXp3aXopCisgKiBpc3N1ZSAjNzEzOiBCYWNrZ3JvdW5kIHNlY3Rpb24gZG9lc24n dCBzdXBwb3J0IGRlc2NyaXB0aW9uIChwcm92aWRlZCBieTogZGdvdSkKKyAqIHB1bGwgICM2NTc6 IEFsbG93IGFzeW5jIHN0ZXBzIHdpdGggdGltZW91dHMgdG8gZmFpbCB3aGVuIHRoZXkgcmFpc2Ug ZXhjZXB0aW9ucyAocHJvdmlkZWQgYnk6IEFMU2Nod2FsbSkKKyAqIGlzc3VlICM2MzE6IFNjZW5h cmlvT3V0bGluZSB2YXJpYWJsZXMgbm90IHBvc3NpYmxlIGluIHRhYmxlIGhlYWRpbmdzIChwcm92 aWRlZCBieTogbXNjaG5lbGxlLCBwdWxsICM2NDIpCisgKiBpc3N1ZSAjNjE5OiBDb250ZXh0IF9f Z2V0YXR0cl9fIHNob3VsZCByYWlzZSBBdHRyaWJ1dGVFcnJvciBpbnN0ZWFkIG9mIEtleUVycm9y IChzdWJtaXR0ZWQgYnk6IGFueG9kaW8pCisrKiBwdWxsICAjNTg4OiBTdGVwcy1jYXRhbG9nIGFy Z3VtZW50IHNob3VsZCBub3QgYnJlYWsgY29uZmlndXJlZCByZXJ1biBzZXR0aW5ncyAocHJvdmlk ZWQgYnk6IExlZ28zKQorIAorIE1JTk9SOgorIAorKyogcHVsbCAgIzY2MDogRml4IG1pbm9yIHR5 cG9zIChwcm92aWRlZCBieTogcnJ1ZXRoKQorICogcHVsbCAgIzY1NTogVXNlIHB5dGVzdCBpbnN0 ZWFkIG9mIHB5LnRlc3QgcGVyIHVwc3RyZWFtIHJlY29tbWVuZGF0aW9uIChwcm92aWRlZCBieTog c2NvcCkKKyAqIGlzc3VlICM2NTQ6IHRveC5pbmk6IHB5cGkucHl0aG9uLm9yZyAtPiBweXBpLm9y ZyAoc3VibWl0dGVkIGJ5OiBwcmFkeXVuc2cpCistKiBwdWxsICAjNjYwOiBGaXggbWlub3IgdHlw b3MgKHByb3ZpZGVkIGJ5OiBycnVldGgpCisgCisgRE9DVU1FTlRBVElPTjoKKyAKZGlmZiAtLWdp dCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw NDYtVVBEQVRFLUN1Y3VtYmVyLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24ucGF0Y2ggYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ2LVVQREFURS1D dWN1bWJlci1naGVya2luLWxhbmd1YWdlcy5qc29uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uMDVjMzMwODlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Ni1VUERBVEUtQ3Vj dW1iZXItZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi5wYXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9t IDhjMDJjZTJhYmJhYjY1Y2ZhNGQ1YjBmMzA2YmY5ZTQ3MzVhNzE5NWQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KK0RhdGU6IFN1biwgNyBKdWwgMjAxOSAyMzozNTo0NSArMDIwMAorU3ViamVjdDogW1BBVENI XSBVUERBVEU6IEN1Y3VtYmVyIGdoZXJraW4tbGFuZ3VhZ2VzLmpzb24KKworLS0tCisgYmVoYXZl L2kxOG4ucHkgICAgICAgICAgICAgICAgICAgICB8IDUgKysrKy0KKyBldGMvZ2hlcmtpbi9naGVy a2luLWxhbmd1YWdlcy5qc29uIHwgNiArKysrKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9pMThuLnB5IGIv YmVoYXZlL2kxOG4ucHkKK2luZGV4IDllYjlhYWIuLjcyMWM0YzMgMTAwNjQ0CistLS0gYS9iZWhh dmUvaTE4bi5weQorKysrIGIvYmVoYXZlL2kxOG4ucHkKK0BAIC0zODIsNiArMzgyLDkgQEAgbGFu Z3VhZ2VzID0gXAorICAgICAgICAgJ2ZlYXR1cmUnOiBbJ0ZvbmN0aW9ubmFsaXTDqSddLAorICAg ICAgICAgJ2dpdmVuJzogWycqICcsCisgICAgICAgICAgICAgICAgICAgJ1NvaXQgJywKKysgICAg ICAgICAgICAgICAgICAnU2FjaGFudCBxdWUgJywKKysgICAgICAgICAgICAgICAgICAiU2FjaGFu dCBxdSciLAorKyAgICAgICAgICAgICAgICAgICdTYWNoYW50ICcsCisgICAgICAgICAgICAgICAg ICAgJ0V0YW50IGRvbm7DqSBxdWUgJywKKyAgICAgICAgICAgICAgICAgICAiRXRhbnQgZG9ubsOp IHF1JyIsCisgICAgICAgICAgICAgICAgICAgJ0V0YW50IGRvbm7DqSAnLAorQEAgLTM5OSw3ICs0 MDIsNyBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAgICAncnVsZSc6IFsnUsOoZ2xlJ10sCisgICAg ICAgICAnc2NlbmFyaW8nOiBbJ0V4ZW1wbGUnLCAnU2PDqW5hcmlvJ10sCisgICAgICAgICAnc2Nl bmFyaW9fb3V0bGluZSc6IFsnUGxhbiBkdSBzY8OpbmFyaW8nLCAnUGxhbiBkdSBTY8OpbmFyaW8n XSwKKy0gICAgICAgICd0aGVuJzogWycqICcsICdBbG9ycyAnXSwKKysgICAgICAgICd0aGVuJzog WycqICcsICdBbG9ycyAnLCAnRG9uYyAnXSwKKyAgICAgICAgICd3aGVuJzogWycqICcsICdRdWFu ZCAnLCAnTG9yc3F1ZSAnLCAiTG9yc3F1JyJdfSwKKyAgJ2dhJzogeydhbmQnOiBbJyogJywgJ0Fn dXMnXSwKKyAgICAgICAgICdiYWNrZ3JvdW5kJzogWydDw7pscmEnXSwKK2RpZmYgLS1naXQgYS9l dGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uIGIvZXRjL2doZXJraW4vZ2hlcmtpbi1s YW5ndWFnZXMuanNvbgoraW5kZXggYjA4ZTBmNS4uOTEzY2ZhYyAxMDA2NDQKKy0tLSBhL2V0Yy9n aGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KKysrKyBiL2V0Yy9naGVya2luL2doZXJraW4t bGFuZ3VhZ2VzLmpzb24KK0BAIC0xMjU2LDYgKzEyNTYsOSBAQAorICAgICAiZ2l2ZW4iOiBbCisg ICAgICAgIiogIiwKKyAgICAgICAiU29pdCAiLAorKyAgICAgICJTYWNoYW50IHF1ZSAiLAorKyAg ICAgICJTYWNoYW50IHF1JyIsCisrICAgICAgIlNhY2hhbnQgIiwKKyAgICAgICAiRXRhbnQgZG9u bsOpIHF1ZSAiLAorICAgICAgICJFdGFudCBkb25uw6kgcXUnIiwKKyAgICAgICAiRXRhbnQgZG9u bsOpICIsCitAQCAtMTI4NCw3ICsxMjg3LDggQEAKKyAgICAgXSwKKyAgICAgInRoZW4iOiBbCisg ICAgICAgIiogIiwKKy0gICAgICAiQWxvcnMgIgorKyAgICAgICJBbG9ycyAiLAorKyAgICAgICJE b25jICIKKyAgICAgXSwKKyAgICAgIndoZW4iOiBbCisgICAgICAgIiogIiwKZGlmZiAtLWdpdCBh L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDct Z2hlcmtpbi1BZGRpbmctUnVsZS1rZXl3b3JkLXRyYW5zbGF0aW9uLWluLXBvcnR1Z3Vlcy5wYXRj aCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw NDctZ2hlcmtpbi1BZGRpbmctUnVsZS1rZXl3b3JkLXRyYW5zbGF0aW9uLWluLXBvcnR1Z3Vlcy5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmViYmFhNzJlZAotLS0g L2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwNDctZ2hlcmtpbi1BZGRpbmctUnVsZS1rZXl3b3JkLXRyYW5zbGF0aW9uLWlu LXBvcnR1Z3Vlcy5wYXRjaApAQCAtMCwwICsxLDIwMiBAQAorRnJvbSBjZjdiMTQ0YzkxN2Y1YmMw NjdkZDhmZDJhNGQ5OGM4NTk4NDlkYmYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog amVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDgg SnVsIDIwMTkgMDA6Mzg6MjYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZ2hlcmtpbjogQWRkaW5n IFJ1bGUga2V5d29yZCB0cmFuc2xhdGlvbiBpbiBwb3J0dWd1ZXNlIGFuZAorIHNwYW5pc2ggdG8g Z2hlcmtpbi1sYW5ndWFnZXMuanNvbgorCisqIEludGVncmF0ZSBjaGFuZ2VzIGJhc2VkIG9uIG1l cmdlZCBjdWN1bWJlciBwdWxsLXJlcXVlc3QgIzYyMQorKiBVcGRhdGUgImdoZXJraW4tbGFuZ3Vh Z2VzLmpzb24iCisqIFVwZGF0ZSAiYmVoYXZlL2kxOG4ucHkiIChnZW5lcmF0ZWQgZnJvbTogZ2hl cmtpbi1sYW5ndWFnZXMuanNvbikKKworUkVMQVRFRC1UTzogcHVsbCAjNzUxIChzYW1lOyB1c2lu ZyB0aGUgb2ZmaWNpYWwgd2F5KQorLS0tCisgQ0hBTkdFUy5yc3QgICAgICAgICAgICAgICAgICAg ICAgICB8ICAxICsKKyBiZWhhdmUvZml4dHVyZS5weSAgICAgICAgICAgICAgICAgIHwgIDEgLQor IGJlaGF2ZS9pMThuLnB5ICAgICAgICAgICAgICAgICAgICAgfCAgNCArLS0KKyBldGMvZ2hlcmtp bi9naGVya2luLWxhbmd1YWdlcy5qc29uIHwgIDQgKy0tCisgaW52b2tlLnlhbWwgICAgICAgICAg ICAgICAgICAgICAgICB8ICA0ICsrKworIHRhc2tzL19faW5pdF9fLnB5ICAgICAgICAgICAgICAg ICAgfCAgMyArKworIHRhc2tzL2RldmVsb3AucHkgICAgICAgICAgICAgICAgICAgfCA1OCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyB0YXNrcy9weS5yZXF1aXJlbWVudHMudHh0ICAg ICAgICAgIHwgIDMgKysKKyA4IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDUgZGVs ZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRhc2tzL2RldmVsb3AucHkKKworZGlmZiAt LWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IDMxMmNiYmEuLjE1YTRlZjkg MTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC00Myw2ICs0 Myw3IEBAIEZJWEVEOgorIAorIE1JTk9SOgorIAorKyogcHVsbCAgIzc1MTogZ2hlcmtpbjogQWRk aW5nIFJ1bGUga2V5d29yZCB0cmFuc2xhdGlvbiBpbiBwb3J0dWd1ZXNlIGFuZCBzcGFuaXNoIHRv IGdoZXJraW4tbGFuZ3VhZ2VzLmpzb24gKHByb3ZpZGVkIGJ5OiBkdW5vc3NhdXJvKQorICogcHVs bCAgIzY2MDogRml4IG1pbm9yIHR5cG9zIChwcm92aWRlZCBieTogcnJ1ZXRoKQorICogcHVsbCAg IzY1NTogVXNlIHB5dGVzdCBpbnN0ZWFkIG9mIHB5LnRlc3QgcGVyIHVwc3RyZWFtIHJlY29tbWVu ZGF0aW9uIChwcm92aWRlZCBieTogc2NvcCkKKyAqIGlzc3VlICM2NTQ6IHRveC5pbmk6IHB5cGku cHl0aG9uLm9yZyAtPiBweXBpLm9yZyAoc3VibWl0dGVkIGJ5OiBwcmFkeXVuc2cpCitkaWZmIC0t Z2l0IGEvYmVoYXZlL2ZpeHR1cmUucHkgYi9iZWhhdmUvZml4dHVyZS5weQoraW5kZXggMjEwOTNi MC4uM2E5ZjFiYyAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9maXh0dXJlLnB5CisrKysgYi9iZWhhdmUv Zml4dHVyZS5weQorQEAgLTM0OCw3ICszNDgsNiBAQCBkZWYgdXNlX2NvbXBvc2l0ZV9maXh0dXJl X3dpdGgoY29udGV4dCwgZml4dHVyZV9mdW5jc193aXRoX3BhcmFtcyk6CisgICAgIHJldHVybiBj b21wb3NpdGVfZml4dHVyZQorIAorIAorLQorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMg REVDT1JBVE9SUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RpZmYgLS1naXQgYS9iZWhh dmUvaTE4bi5weSBiL2JlaGF2ZS9pMThuLnB5CitpbmRleCA3MjFjNGMzLi4yNzgxYWZlIDEwMDY0 NAorLS0tIGEvYmVoYXZlL2kxOG4ucHkKKysrKyBiL2JlaGF2ZS9pMThuLnB5CitAQCAtMzMxLDcg KzMzMSw3IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICdnaXZlbic6IFsnKiAnLCAnRGFkbyAn LCAnRGFkYSAnLCAnRGFkb3MgJywgJ0RhZGFzICddLAorICAgICAgICAgJ25hbWUnOiAnU3Bhbmlz aCcsCisgICAgICAgICAnbmF0aXZlJzogJ2VzcGHDsW9sJywKKy0gICAgICAgICdydWxlJzogWydS dWxlJ10sCisrICAgICAgICAncnVsZSc6IFsnUmVnbGEnXSwKKyAgICAgICAgICdzY2VuYXJpbyc6 IFsnRWplbXBsbycsICdFc2NlbmFyaW8nXSwKKyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzog WydFc3F1ZW1hIGRlbCBlc2NlbmFyaW8nXSwKKyAgICAgICAgICd0aGVuJzogWycqICcsICdFbnRv bmNlcyAnXSwKK0BAIC03NjIsNyArNzYyLDcgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ2dp dmVuJzogWycqICcsICdEYWRvICcsICdEYWRhICcsICdEYWRvcyAnLCAnRGFkYXMgJ10sCisgICAg ICAgICAnbmFtZSc6ICdQb3J0dWd1ZXNlJywKKyAgICAgICAgICduYXRpdmUnOiAncG9ydHVndcOq cycsCistICAgICAgICAncnVsZSc6IFsnUnVsZSddLAorKyAgICAgICAgJ3J1bGUnOiBbJ1JlZ3Jh J10sCisgICAgICAgICAnc2NlbmFyaW8nOiBbJ0V4ZW1wbG8nLCAnQ2Vuw6FyaW8nLCAnQ2VuYXJp byddLAorICAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ0VzcXVlbWEgZG8gQ2Vuw6FyaW8n LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0VzcXVlbWEgZG8gQ2VuYXJpbycsCitk aWZmIC0tZ2l0IGEvZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiBiL2V0Yy9naGVy a2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KK2luZGV4IDkxM2NmYWMuLjI5Y2JjYTEgMTAwNjQ0 CistLS0gYS9ldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCisrKysgYi9ldGMvZ2hl cmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCitAQCAtMTA4NCw3ICsxMDg0LDcgQEAKKyAgICAg Im5hbWUiOiAiU3BhbmlzaCIsCisgICAgICJuYXRpdmUiOiAiZXNwYcOxb2wiLAorICAgICAicnVs ZSI6IFsKKy0gICAgICAiUnVsZSIKKysgICAgICAiUmVnbGEiCisgICAgIF0sCisgICAgICJzY2Vu YXJpbyI6IFsKKyAgICAgICAiRWplbXBsbyIsCitAQCAtMjU1Myw3ICsyNTUzLDcgQEAKKyAgICAg Im5hbWUiOiAiUG9ydHVndWVzZSIsCisgICAgICJuYXRpdmUiOiAicG9ydHVndcOqcyIsCisgICAg ICJydWxlIjogWworLSAgICAgICJSdWxlIgorKyAgICAgICJSZWdyYSIKKyAgICAgXSwKKyAgICAg InNjZW5hcmlvIjogWworICAgICAgICJFeGVtcGxvIiwKK2RpZmYgLS1naXQgYS9pbnZva2UueWFt bCBiL2ludm9rZS55YW1sCitpbmRleCAzZTkzY2ZjLi5kNmYxNDFjIDEwMDY0NAorLS0tIGEvaW52 b2tlLnlhbWwKKysrKyBiL2ludm9rZS55YW1sCitAQCAtMzgsNiArMzgsMTAgQEAgY2xlYW51cDoK KyAgICAgICAtICJfX1dPUktESVJfXyIKKyAgICAgICAtIHJlcG9ydHMKKyAKKysgICAgZXh0cmFf ZmlsZXM6CisrICAgICAgLSAiZXRjL2doZXJraW4vZ2hlcmtpbiouanNvbi5TQVZFRCIKKysgICAg ICAtICJldGMvZ2hlcmtpbi9pMThuLnB5IgorKworIGNsZWFudXBfYWxsOgorICAgICBleHRyYV9k aXJlY3RvcmllczoKKyAgICAgICAtIC5oeXBvdGhlc2lzCitkaWZmIC0tZ2l0IGEvdGFza3MvX19p bml0X18ucHkgYi90YXNrcy9fX2luaXRfXy5weQoraW5kZXggOTY5YTk0YS4uYTU3MjQ2NSAxMDA2 NDQKKy0tLSBhL3Rhc2tzL19faW5pdF9fLnB5CisrKysgYi90YXNrcy9fX2luaXRfXy5weQorQEAg LTM5LDYgKzM5LDggQEAgZnJvbSAuIGltcG9ydCBfdGFza2xldF9jbGVhbnVwIGFzIGNsZWFudXAK KyBmcm9tIC4gaW1wb3J0IGRvY3MKKyBmcm9tIC4gaW1wb3J0IHRlc3QKKyBmcm9tIC4gaW1wb3J0 IHJlbGVhc2UKKytmcm9tIC4gaW1wb3J0IGRldmVsb3AKKysKKyAKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgIyBUQVNLUzoKK0BAIC01Niw2ICs1OCw3IEBAIG5hbWVzcGFjZS5hZGRfY29sbGVj dGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKGNsZWFudXApLCBuYW1lPSJjbGVhbnVwIikKKyBu YW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVsZShkb2NzKSkKKyBu YW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVsZSh0ZXN0KSkKKyBu YW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVsZShyZWxlYXNlKSkK KytuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVsZShkZXZlbG9w KSkKKyBjbGVhbnVwLmNsZWFudXBfdGFza3MuYWRkX3Rhc2soY2xlYW51cC5jbGVhbl9weXRob24p CisgCisgY2xlYW51cC5jbGVhbnVwX3Rhc2tzLmFkZF90YXNrKGNsZWFudXAuY2xlYW5fcHl0aG9u KQorZGlmZiAtLWdpdCBhL3Rhc2tzL2RldmVsb3AucHkgYi90YXNrcy9kZXZlbG9wLnB5CituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYjA4ZGYwZQorLS0tIC9kZXYvbnVsbAor KysrIGIvdGFza3MvZGV2ZWxvcC5weQorQEAgLTAsMCArMSw1OCBAQAorKyMgLSotIGNvZGluZzog VVRGLTggLSotCisrIiIiCisrRGV2ZWxvcG1lbnQgdGFza3MKKysiIiIKKysKKytmcm9tIF9fZnV0 dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKytmcm9tIGludm9r ZSBpbXBvcnQgQ29sbGVjdGlvbiwgdGFzaworK2Zyb20gaW52b2tlLnV0aWwgaW1wb3J0IGNkCisr ZnJvbSBwYXRoIGltcG9ydCBQYXRoCisraW1wb3J0IHJlcXVlc3RzCisrCisrIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorKyMgQ09OU1RBTlRTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytHSEVS S0lOX0xBTkdVQUdFU19VUkwgPSAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2N1 Y3VtYmVyL2N1Y3VtYmVyL21hc3Rlci9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24iCisr CisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVEFTS1M6CisrIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorK0B0YXNrKG5hbWU9InVwZGF0ZV9naGVya2luIikgIyBUT08tTE9OR1M6IGFsaWFz ZXM9WyJ1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMiXSkKKytkZWYgdXBkYXRlX2doZXJraW5fbGFu Z3VhZ2VzKGN0eCk6CisrICAgICIiIlVwZGF0ZSAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgZmls ZSBmcm9tIGN1Y3VtYmVyLXJlcG8uIiIiCisrICAgIHdpdGggY2QoImV0Yy9naGVya2luIik6Cisr ICAgICAgICAjIC0tIEJBQ0tVUC1GSUxFOgorKyAgICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfZmls ZSA9IFBhdGgoImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iKQorKyAgICAgICAgZ2hlcmtpbl9sYW5n dWFnZXNfZmlsZS5jb3B5KCJnaGVya2luLWxhbmd1YWdlcy5qc29uLlNBVkVEIikKKysKKysgICAg ICAgIHByaW50KCdEb3dubG9hZGluZyAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgZnJvbSBnaXRo dWI6Y3VjdW1iZXIgLi4uJykKKysgICAgICAgIGRvd25sb2FkX3JlcXVlc3QgPSByZXF1ZXN0cy5n ZXQoR0hFUktJTl9MQU5HVUFHRVNfVVJMKQorKyAgICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfbmV3 ZmlsZSA9IFBhdGgoImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24uTkVXIikKKysgICAgICAgIGFzc2Vy dCBkb3dubG9hZF9yZXF1ZXN0Lm9rCisrICAgICAgICBwcmludCgnRG93bmxvYWQgZmluaXNoZWQ6 IE9LIChzaXplPXswfSknLmZvcm1hdChsZW4oZG93bmxvYWRfcmVxdWVzdC5jb250ZW50KSkpCisr ICAgICAgICB3aXRoIG9wZW4oZ2hlcmtpbl9sYW5ndWFnZXNfbmV3ZmlsZSwgIndiIikgYXMgZjoK KysgICAgICAgICAgICBmLndyaXRlKGRvd25sb2FkX3JlcXVlc3QuY29udGVudCkKKysgICAgICAg IGdoZXJraW5fbGFuZ3VhZ2VzX25ld2ZpbGUucmVuYW1lKCJnaGVya2luLWxhbmd1YWdlcy5qc29u IikKKysKKysgICAgICAgIHByaW50KCdHZW5lcmF0aW5nICJpMThuLnB5IiAuLi4nKQorKyAgICAg ICAgY3R4LnJ1bigiLi9jb252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5IikKKysKKysKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBUQVNLIEhFTFBFUlM6CisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorK2RlZiBwcmludF9wYWNrYWdlcyhwYWNrYWdlcyk6CisrICAgIHByaW50KCJQQUNLQUdF U1slZF06IiAlIGxlbihwYWNrYWdlcykpCisrICAgIGZvciBwYWNrYWdlIGluIHBhY2thZ2VzOgor KyAgICAgICAgcGFja2FnZV9zaXplID0gcGFja2FnZS5zdGF0KCkuc3Rfc2l6ZQorKyAgICAgICAg cGFja2FnZV90aW1lID0gcGFja2FnZS5zdGF0KCkuc3RfbXRpbWUKKysgICAgICAgIHByaW50KCIg IC0gJXMgIChzaXplPSVzKSIgJSAocGFja2FnZSwgcGFja2FnZV9zaXplKSkKKysKKysKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBUQVNLIENPTkZJR1VSQVRJT046CisrIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorK25hbWVzcGFjZSA9IENvbGxlY3Rpb24oKQorK25hbWVzcGFjZS5hZGRfdGFz ayh1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMpCisrbmFtZXNwYWNlLmNvbmZpZ3VyZSh7fSkKK2Rp ZmYgLS1naXQgYS90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0IGIvdGFza3MvcHkucmVxdWlyZW1l bnRzLnR4dAoraW5kZXggZTc3MmQ1ZS4uYTc3ZDNiYyAxMDA2NDQKKy0tLSBhL3Rhc2tzL3B5LnJl cXVpcmVtZW50cy50eHQKKysrKyBiL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKK0BAIC0xNiwz ICsxNiw2IEBAIHNpeCA+PSAxLjEyLjAKKyAjIC0tIFBZVEhPTjIgQkFDS1BPUlRTOgorIHBhdGhs aWI7ICAgIHB5dGhvbl92ZXJzaW9uIDw9ICczLjQnCisgYmFja3BvcnRzLnNodXRpbF93aGljaDsg cHl0aG9uX3ZlcnNpb24gPD0gJzMuMycKKysKKysjIC0tIFNFQ1RJT046IGRldmVsb3AKKytyZXF1 ZXN0cwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA0OC1Ud2Vha3MtdG8tdXBkYXRlLWdlbmVyYXRlLWZyb20tZ2hlcmtpbi1s YW5ndWFnZXMuanNvLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA0OC1Ud2Vha3MtdG8tdXBkYXRlLWdlbmVyYXRlLWZyb20tZ2hlcmtp bi1sYW5ndWFnZXMuanNvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uOTM5YTA5MDFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0OC1Ud2Vha3MtdG8tdXBkYXRlLWdlbmVyYXRl LWZyb20tZ2hlcmtpbi1sYW5ndWFnZXMuanNvLnBhdGNoCkBAIC0wLDAgKzEsMTQxIEBACitGcm9t IDA4NGY4MjNmZGE1OTM5NDQyZjQ4ZWIzNGQ5OWMwZWQ0OGQ2NzUwOTcgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KK0RhdGU6IE1vbiwgOCBKdWwgMjAxOSAwMTowNzoxMSArMDIwMAorU3ViamVjdDogW1BBVENI XSBUd2Vha3MgdG8gdXBkYXRlL2dlbmVyYXRlIGZyb20gZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgor CistLS0KKyBldGMvZ2hlcmtpbi9jb252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5IHwgMTYgKysr KysrKy0tLS0KKyB0YXNrcy9kZXZlbG9wLnB5ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzQg KysrKysrKysrKystLS0tLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25z KCspLCAyMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2V0Yy9naGVya2luL2NvbnZlcnRf Z2hlcmtpbi1sYW5ndWFnZXMucHkgYi9ldGMvZ2hlcmtpbi9jb252ZXJ0X2doZXJraW4tbGFuZ3Vh Z2VzLnB5CitpbmRleCAxODAzY2E2Li45ZWY5YjBjIDEwMDc1NQorLS0tIGEvZXRjL2doZXJraW4v Y29udmVydF9naGVya2luLWxhbmd1YWdlcy5weQorKysrIGIvZXRjL2doZXJraW4vY29udmVydF9n aGVya2luLWxhbmd1YWdlcy5weQorQEAgLTY4LDcgKzY4LDcgQEAgZGVmIHlhbWxfbm9ybWFsaXpl KGRhdGEpOgorICAgICByZXR1cm4gZGF0YQorIAorIAorLWRlZiBkYXRhX25vcm1hbGl6ZShkYXRh KToKKytkZWYgZGF0YV9ub3JtYWxpemUoZGF0YSwgdmVyYm9zZT1GYWxzZSk6CisgICAgICIiIk5v cm1hbGl6ZSAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgZGF0YSBpbnRvIGludGVybmFsIGZvcm1h dCwKKyAgICAgbmVlZGVkIGJ5IGJlaGF2ZS4iCisgCitAQCAtNzYsNyArNzYsOCBAQCBkZWYgZGF0 YV9ub3JtYWxpemUoZGF0YSk6CisgICAgIDpyZXR1cm46IE5vcm1hbGl6ZWQgZGF0YSAoYXMgZGlj dGlvbmFyeSkuCisgICAgICIiIgorICAgICBmb3IgbGFuZ3VhZ2UgaW4gZGF0YToKKy0gICAgICAg IHByaW50KCJMYW5ndWFnZTogJXMgLi4uIiAlIGxhbmd1YWdlKQorKyAgICAgICAgaWYgdmVyYm9z ZToKKysgICAgICAgICAgICBwcmludCgiTGFuZ3VhZ2U6ICVzIC4uLiIgJSBsYW5ndWFnZSkKKyAg ICAgICAgICMgLS0gU1RFUDogTm9ybWFsaXplIGF0dHJpYnV0ZSAic2NlbmFyaW9PdXRsaW5lIiA9 PiAic2NlbmFyaW9fb3V0bGluZSIKKyAgICAgICAgIGxhbmdfa2V5d29yZHMgPSBkYXRhW2xhbmd1 YWdlXQorICAgICAgICAgbGFuZ19rZXl3b3Jkc1t1InNjZW5hcmlvX291dGxpbmUiXSA9IGxhbmdf a2V5d29yZHNbdSJzY2VuYXJpb091dGxpbmUiXQorQEAgLTEwNyw3ICsxMDgsNyBAQCBkZWYgZGF0 YV9ub3JtYWxpemUoZGF0YSk6CisgCisgCisgZGVmIGdoZXJraW5fbGFuZ3VhZ2VzX3RvX3B5dGhv bl9tb2R1bGUoZ2hlcmtpbl9sYW5ndWFnZXNfcGF0aCwgb3V0cHV0X2ZpbGU9Tm9uZSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZz1Ob25lKToKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZz1Ob25lLCB2ZXJib3Nl PUZhbHNlKToKKyAgICAgIiIiV29ya2hvcnNlLgorICAgICBQZXJmb3JtcyB0aGUgY29udmVyc2lv biBmcm9tICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiB0byAiaTE4bi5weSIuCisgICAgIFdyaXRl cyBvdXRwdXQgdG8gZmlsZSBvciBjb25zb2xlIChzdGRvdXQpLgorQEAgLTExNSw2ICsxMTYsNyBA QCBkZWYgZ2hlcmtpbl9sYW5ndWFnZXNfdG9fcHl0aG9uX21vZHVsZShnaGVya2luX2xhbmd1YWdl c19wYXRoLCBvdXRwdXRfZmlsZT1Ob25lLAorICAgICA6cGFyYW0gZ2hlcmtpbl9sYW5ndWFnZXNf cGF0aDogRmlsZSBwYXRoIGZvciBKU09OIGZpbGUuCisgICAgIDpwYXJhbSBvdXRwdXRfZmlsZTog ICAgIE91dHB1dCBmaWxlbmFtZSAob3IgU1RET1VUIGZvcjogTm9uZSwgInN0ZG91dCIsICItIikK KyAgICAgOnBhcmFtIGVuY29kaW5nOiAgICAgICAgT3B0aW9uYWwgb3V0cHV0IGVuY29kaW5nIHRv IHVzZSAoZGVmYXVsdDogVVRGLTgpLgorKyAgICA6cGFyYW0gdmVyYm9zZTogICAgICAgICBFbmFi bGUgdmVyYm9zZSBtb2RlIChhcyBib29sOyBvcHRpb25hbCkuCisgICAgICIiIgorICAgICBpZiBl bmNvZGluZyBpcyBOb25lOgorICAgICAgICAgZW5jb2RpbmcgPSAiVVRGLTgiCitAQCAtMTIyLDcg KzEyNCw3IEBAIGRlZiBnaGVya2luX2xhbmd1YWdlc190b19weXRob25fbW9kdWxlKGdoZXJraW5f bGFuZ3VhZ2VzX3BhdGgsIG91dHB1dF9maWxlPU5vbmUsCisgICAgICMgLS0gU1RFUCAxOiBMb2Fk IEpTT04gZGF0YS4KKyAgICAganNvbl9lbmNvZGluZyA9ICJVVEYtOCIKKyAgICAgbGFuZ3VhZ2Vz ID0ganNvbi5sb2FkKG9wZW4oZ2hlcmtpbl9sYW5ndWFnZXNfcGF0aCwgZW5jb2Rpbmc9anNvbl9l bmNvZGluZykpCistICAgIGxhbmd1YWdlcyA9IGRhdGFfbm9ybWFsaXplKGxhbmd1YWdlcykKKysg ICAgbGFuZ3VhZ2VzID0gZGF0YV9ub3JtYWxpemUobGFuZ3VhZ2VzLCB2ZXJib3NlPXZlcmJvc2Up CisgICAgICMgbGFuZ3VhZ2VzID0geWFtbF9ub3JtYWxpemUobGFuZ3VhZ2VzKQorIAorICAgICAj IC0tIFNURVAgMjogR2VuZXJhdGUgcHl0aG9uIG1vZHVsZSB3aXRoIGkxOG4gZGF0YS4KK0BAIC0x NzgsNiArMTgwLDkgQEAgZGVmIG1haW4oYXJncz1Ob25lKToKKyAgICAgcGFyc2VyLmFkZF9hcmd1 bWVudCgiLWUiLCAiLS1lbmNvZGluZyIsIGRlc3Q9ImVuY29kaW5nIiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICBkZWZhdWx0PSJVVEYtOCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgaGVs cD0iT3V0cHV0IGVuY29kaW5nLiIpCisrICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tdmVyYm9z ZSIsIGRlc3Q9InZlcmJvc2UiLCBkZWZhdWx0PUZhbHNlLAorKyAgICAgICAgICAgICAgICAgICAg ICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0i RW5hYmxlIHZlcmJvc2UgbW9kZS4iKQorICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCJvdXRwdXRf ZmlsZSIsIGRlZmF1bHQ9ImkxOG4ucHkiLCBuYXJncz0iPyIsCisgICAgICAgICAgICAgICAgIGhl bHA9IkZpbGVuYW1lIG9mIFB5dGhvbiBJMThOIG1vZHVsZSAoYXMgb3V0cHV0KS4iKQorICAgICBw YXJzZXIuYWRkX2FyZ3VtZW50KCItLXZlcnNpb24iLCBhY3Rpb249InZlcnNpb24iLCB2ZXJzaW9u PV9fdmVyc2lvbl9fKQorQEAgLTE5MSw3ICsxOTYsOCBAQCBkZWYgbWFpbihhcmdzPU5vbmUpOgor ICAgICB0cnk6CisgICAgICAgICBwcmludCgiV3JpdGluZyAlcyAuLiIgJSBvcHRpb25zLm91dHB1 dF9maWxlKQorICAgICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfdG9fcHl0aG9uX21vZHVsZShvcHRp b25zLmpzb25fZmlsZSwgb3B0aW9ucy5vdXRwdXRfZmlsZSwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2Rpbmc9b3B0aW9ucy5lbmNvZGluZykKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2Rpbmc9b3B0aW9ucy5l bmNvZGluZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy Ym9zZT1vcHRpb25zLnZlcmJvc2UpCisgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAg ICAgIG1lc3NhZ2UgPSAiJXM6ICVzIiAlIChlLl9fY2xhc3NfXy5fX25hbWVfXywgZSkKKyAgICAg ICAgIHN5cy5leGl0KG1lc3NhZ2UpCitkaWZmIC0tZ2l0IGEvdGFza3MvZGV2ZWxvcC5weSBiL3Rh c2tzL2RldmVsb3AucHkKK2luZGV4IGIwOGRmMGUuLjlhMjEzNjMgMTAwNjQ0CistLS0gYS90YXNr cy9kZXZlbG9wLnB5CisrKysgYi90YXNrcy9kZXZlbG9wLnB5CitAQCAtMTgsOSArMTgsMTUgQEAg R0hFUktJTl9MQU5HVUFHRVNfVVJMID0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNv bS9jdWN1bWJlci9jdWN1bWJlci9tYXMKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBUQVNL UzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistQHRhc2sobmFtZT0idXBkYXRlX2doZXJraW4i KSAjIFRPTy1MT05HUzogYWxpYXNlcz1bInVwZGF0ZV9naGVya2luX2xhbmd1YWdlcyJdKQorLWRl ZiB1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMoY3R4KToKKy0gICAgIiIiVXBkYXRlICJnaGVya2lu LWxhbmd1YWdlcy5qc29uIiBmaWxlIGZyb20gY3VjdW1iZXItcmVwby4iIiIKKytAdGFzaworK2Rl ZiB1cGRhdGVfZ2hlcmtpbihjdHgsIGRyeV9ydW49RmFsc2UpOgorKyAgICAiIiJVcGRhdGUgImdo ZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGZpbGUgZnJvbSBjdWN1bWJlci1yZXBvLgorKworKyAgICAq IERvd25sb2FkICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBmcm9tIGN1Y3VtYmVyIHJlcG8KKysg ICAgKiBVcGRhdGUgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iCisrICAgICogR2VuZXJhdGUgImkx OG4ucHkiIGZpbGUgZnJvbSAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIKKysgICAgKiBVcGRhdGUg ImJlaGF2ZS9pMThuLnB5IiBmaWxlIChvcHRpb25hbDsgbm90IGluIGRyeS1ydW4gbW9kZSkKKysg ICAgIiIiCisgICAgIHdpdGggY2QoImV0Yy9naGVya2luIik6CisgICAgICAgICAjIC0tIEJBQ0tV UC1GSUxFOgorICAgICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfZmlsZSA9IFBhdGgoImdoZXJraW4t bGFuZ3VhZ2VzLmpzb24iKQorQEAgLTI4LDMxICszNCwyMyBAQCBkZWYgdXBkYXRlX2doZXJraW5f bGFuZ3VhZ2VzKGN0eCk6CisgCisgICAgICAgICBwcmludCgnRG93bmxvYWRpbmcgImdoZXJraW4t bGFuZ3VhZ2VzLmpzb24iIGZyb20gZ2l0aHViOmN1Y3VtYmVyIC4uLicpCisgICAgICAgICBkb3du bG9hZF9yZXF1ZXN0ID0gcmVxdWVzdHMuZ2V0KEdIRVJLSU5fTEFOR1VBR0VTX1VSTCkKKy0gICAg ICAgIGdoZXJraW5fbGFuZ3VhZ2VzX25ld2ZpbGUgPSBQYXRoKCJnaGVya2luLWxhbmd1YWdlcy5q c29uLk5FVyIpCisgICAgICAgICBhc3NlcnQgZG93bmxvYWRfcmVxdWVzdC5vaworICAgICAgICAg cHJpbnQoJ0Rvd25sb2FkIGZpbmlzaGVkOiBPSyAoc2l6ZT17MH0pJy5mb3JtYXQobGVuKGRvd25s b2FkX3JlcXVlc3QuY29udGVudCkpKQorLSAgICAgICAgd2l0aCBvcGVuKGdoZXJraW5fbGFuZ3Vh Z2VzX25ld2ZpbGUsICJ3YiIpIGFzIGY6CisrICAgICAgICB3aXRoIG9wZW4oZ2hlcmtpbl9sYW5n dWFnZXNfZmlsZSwgIndiIikgYXMgZjoKKyAgICAgICAgICAgICBmLndyaXRlKGRvd25sb2FkX3Jl cXVlc3QuY29udGVudCkKKy0gICAgICAgIGdoZXJraW5fbGFuZ3VhZ2VzX25ld2ZpbGUucmVuYW1l KCJnaGVya2luLWxhbmd1YWdlcy5qc29uIikKKyAKKyAgICAgICAgIHByaW50KCdHZW5lcmF0aW5n ICJpMThuLnB5IiAuLi4nKQorICAgICAgICAgY3R4LnJ1bigiLi9jb252ZXJ0X2doZXJraW4tbGFu Z3VhZ2VzLnB5IikKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBUQVNLIEhFTFBF UlM6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWRlZiBwcmludF9wYWNrYWdlcyhwYWNrYWdl cyk6CistICAgIHByaW50KCJQQUNLQUdFU1slZF06IiAlIGxlbihwYWNrYWdlcykpCistICAgIGZv ciBwYWNrYWdlIGluIHBhY2thZ2VzOgorLSAgICAgICAgcGFja2FnZV9zaXplID0gcGFja2FnZS5z dGF0KCkuc3Rfc2l6ZQorLSAgICAgICAgcGFja2FnZV90aW1lID0gcGFja2FnZS5zdGF0KCkuc3Rf bXRpbWUKKy0gICAgICAgIHByaW50KCIgIC0gJXMgIChzaXplPSVzKSIgJSAocGFja2FnZSwgcGFj a2FnZV9zaXplKSkKKysgICAgICAgIGN0eC5ydW4oImRpZmYgaTE4bi5weSAuLi8uLi9iZWhhdmUv aTE4bi5weSIpCisrICAgICAgICBpZiBub3QgZHJ5X3J1bjoKKysgICAgICAgICAgICBwcmludCgi VXBkYXRpbmcgYmVoYXZlL2kxOG4ucHkgLi4uIikKKysgICAgICAgICAgICBQYXRoKCJpMThuLnB5 IikubW92ZSgiLi4vLi4vYmVoYXZlL2kxOG4ucHkiKQorIAorIAorICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAjIFRBU0sgQ09ORklHVVJBVElPTjoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr IyBUT08tTE9ORzogYWxpYXNlcz1bInVwZGF0ZV9naGVya2luX2xhbmd1YWdlcyJdKQorIG5hbWVz cGFjZSA9IENvbGxlY3Rpb24oKQorLW5hbWVzcGFjZS5hZGRfdGFzayh1cGRhdGVfZ2hlcmtpbl9s YW5ndWFnZXMpCisrbmFtZXNwYWNlLmFkZF90YXNrKHVwZGF0ZV9naGVya2luKQorIG5hbWVzcGFj ZS5jb25maWd1cmUoe30pCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ5LUVYQU1QTEUtVHdlYWstbmFtaW5nLXRvLWZpeHR1 cmUuYmVoYXZlLm5vX2JhY2tncm91bmQucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ5LUVYQU1QTEUtVHdlYWstbmFtaW5nLXRvLWZp eHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi44ZDk1NmNkZDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ5LUVYQU1QTEUtVHdlYWst bmFtaW5nLXRvLWZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQucGF0Y2gKQEAgLTAsMCArMSwz MjIgQEAKK0Zyb20gZDNlZjA2YzJkZmU0NGIyMjg2YjQyYjdkZGNjNjZmN2M5ZTZhYTI0NSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogVHVlLCA5IEp1bCAyMDE5IDA4OjEwOjI2ICswMjAwCitTdWJq ZWN0OiBbUEFUQ0hdIEVYQU1QTEU6IFR3ZWFrIG5hbWluZyB0byBAZml4dHVyZS5iZWhhdmUubm9f YmFja2dyb3VuZCAod2FzOgorIC5vdmVycmlkZV9iYWNrZ3JvdW5kKQorCistLS0KKyBleGFtcGxl cy9maXh0dXJlLm5vX2JhY2tncm91bmQvUkVBRE1FLnJzdCAgICAgfCAxMTAgKysrKysrKysrKysr KysrKysrCisgLi4uL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weSAgICAgICAgICAgIHwg ICAwCisgLi4uL2JlaGF2ZV9maXh0dXJlX2xpYi9ub19iYWNrZ3JvdW5kLnB5ICAgICAgIHwgIDcy ICsrKysrKysrKysrKworIC4uLi9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgICAgICAgICAgICAg ICAgICB8ICAzNSArKysrKysKKyAuLi4vZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlICAgICAgICAg ICAgICAgICAgfCAgMTggKysrCisgLi4uL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5ICAg ICAgICAgICAgIHwgIDEzICsrKworIC4uLi9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhh dmU0Y21kLnB5ICB8ICAxMiArKworIDcgZmlsZXMgY2hhbmdlZCwgMjYwIGluc2VydGlvbnMoKykK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL1JFQURN RS5yc3QKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5k L2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFt cGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL25vX2JhY2tncm91 bmQucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5k L2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2Zp eHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jh c2ljX3N0ZXBzLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUubm9fYmFj a2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5CisKK2RpZmYg LS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvUkVBRE1FLnJzdCBiL2V4YW1w bGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9SRUFETUUucnN0CituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMC4uNDI0M2YxMAorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMv Zml4dHVyZS5ub19iYWNrZ3JvdW5kL1JFQURNRS5yc3QKK0BAIC0wLDAgKzEsMTEwIEBACisrRVhB TVBMRTogRGlzYWJsZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBmb3IgU2NlbmFy aW8KKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrOlJFTEFURUQtVE86ICM3NTYKKysKKytU aGlzIGV4YW1wbGUgc2hvd3MgaG93IHRoZSBCYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlz bSBpbiBHaGVya2luCisrY2FuIGJlIGRpc2FibGVkIGluIGBgYmVoYXZlYGAuCisrCisrUGFydHMg b2YgdGhlIHJlY2lwZToKKysKKysqIGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZSAoRmVhdHVyZSBm aWxlIGFzIGV4YW1wbGUpCisrKiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weSAoZ2x1ZSBjb2RlIGFu ZCBob29rcyBmb3IgZml4dHVyZS10YWcgLyBmaXh0dXJlKQorKyogYmVoYXZlX2ZpeHR1cmVfbGli L25vX2JhY2tncm91bmQucHkgKGZpeHR1cmUgaW1wbGVtZW50YXRpb24sIHdvcmtob3JzZSkKKysK KysKKysuLiB3YXJuaW5nOjogQkVXQVJFOiBUaGlzIHNob3dzIHlvdSBob3cgY2FuIGRvIGl0LCBu b3QgdGhhdCB5b3Ugc2hvdWxkIGRvIGl0CisrCisrICAgIEJFVFRFUjoKKysKKysgICAgKiBVc2Ug UnVsZXMgdG8gZ3JvdXAgU2NlbmFyaW9zLCBlYWNoIHdpdGggaXRzIG93biBCYWNrZ3JvdW5kIChp biBHaGVya2luIHY2KQorKyAgICAqIFNwbGl0IEZlYXR1cmUgYXNwZWN0cyBpbnRvIG11bHRpcGxl IGZlYXR1cmUgZmlsZXMgKGlmIG5lZWRlZCkKKysgICAgKiAuLi4gKHNlZSBpc3N1ZSAjNzU2IGFi b3ZlKQorKworKworK0V4cGxhbmF0aW9uCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrRXhhbXBsZSBj b2RlIGhvdyB0byBwcm92aWRlIGEgYmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJsZSB0aGUKKytiYWNr Z3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBieSB1c2luZyBhIGZpeHR1cmUgLyBmaXh0dXJl LXRhZy4KKytUaGUgZml4dHVyZS10YWcgIkBmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kIiBt YXJrcyB0aGUKKytsb2NhdGlvbiBpbiBHaGVya2luICh3aGljaCBTY2VuYXJpbykgd2hlcmUgdGhl IGZpeHR1cmUgc2hvdWxkIGJlIHVzZWQKKysKKysuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorKwor KyAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorKyAgICBGZWF0dXJlOiBT aG93IGhvdyBAZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZCBpcyB1c2VkCisrCisrICAgICAg ICBCYWNrZ3JvdW5kOgorKyAgICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcAorKworKyAg ICAgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcworKyAg ICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJl IgorKworKyAgICAgICAgQGZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQKKysgICAgICAgIFNj ZW5hcmlvOiBCb2IKKysgICAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0 dXAKKysgICAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBu b3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrV2hl biB0aGUgZmVhdHVyZSBpcyBleGVjdXRlZCwgeW91IHNlZSB0aGF0OgorKworKyogRmlyc3QgU2Nl bmFyaW8gIkFsaWNlIjogQmFja2dyb3VuZCBzdGVwcyBhcmUgaW5oZXJpdGVkIGFuZCBleGVjdXRl ZCBmaXJzdC4KKysqIFNlY29uZCBTY2VuYXJpbyAiQm9iIjogTm8gQmFja2dyb3VuZCBzdGVwIGlz IGV4ZWN1dGVkLgorKworKy4uIGNvZGUtYmxvY2s6OiBzaAorKworKyAgICAkIC4uLy4uL2Jpbi9i ZWhhdmUgLWYgcGxhaW4gZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCisrICAgIEZlYXR1cmU6IE92 ZXJyaWRlIHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBpbiBzb21lIFNjZW5h cmlvcworKyAgICAgIEJhY2tncm91bmQ6CisrCisrICAgICAgU2NlbmFyaW86IEFsaWNlCisrICAg ICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAorKyAgICAgICAg V2hlbiBhIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKysgICAgICAgIEFuZCBub3RlIHRoYXQgIkJh Y2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiIC4uLiBwYXNzZWQKKysgICAgRklYVFVS RS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiBCb2IKKysKKysgICAgICBTY2VuYXJpbzog Qm9iCisrICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cCAuLi4gcGFz c2VkCisrICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMgLi4uIHBhc3NlZAorKyAgICAg ICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIg Li4uIHBhc3NlZAorKworKyAgICAxIGZlYXR1cmUgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVk CisrICAgIDIgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICA2IHN0 ZXBzIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZCwgMCB1bmRlZmluZWQKKysKKysKKytUaGUg ZW52aXJvbm1lbnQgZmlsZSBwcm92aWRlcyB0aGUgZ2x1ZSBjb2RlIHRoYXQgdGhlIGZpeHR1cmUg aXMgY2FsbGVkOgorKworKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKysKKysgICAgIyAtLSBGSUxF OiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKyAgICBmcm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5u b19iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVfbm9fYmFja2dyb3VuZAorKyAgICBmcm9tIGJlaGF2 ZS5maXh0dXJlIGltcG9ydCB1c2VfZml4dHVyZV9ieV90YWcKKysKKysgICAgIyAtLSBGSVhUVVJF IFJFR0lTVFJZOgorKyAgICBmaXh0dXJlX3JlZ2lzdHJ5ID0geworKyAgICAgICAgImZpeHR1cmUu YmVoYXZlLm5vX2JhY2tncm91bmQiOiBiZWhhdmVfbm9fYmFja2dyb3VuZCwKKysgICAgfQorKwor KyAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrICAgICMgSE9PS1M6CisrICAgICMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKysgICAgZGVmIGJlZm9yZV90YWcoY29udGV4dCwgdGFnKToKKysgICAg ICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgorKyAgICAgICAgICAgIHJldHVybiB1 c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKworKwor Ky4uIGNvZGUtYmxvY2s6OiBweXRob24KKysKKysgICAgIyAtLSBGSUxFOiBiZWhhdmVfZml4dHVy ZV9saWIvbm9fYmFja2dyb3VuZC5weSAoZml4dHVyZSBpbXBsZW1lbnRhdGlvbikKKysgICAgZnJv bSBiZWhhdmUgaW1wb3J0IGZpeHR1cmUKKysKKysgICAgQGZpeHR1cmUobmFtZT0iZml4dHVyZS5i ZWhhdmUubm9fYmFja2dyb3VuZCIpCisrICAgIGRlZiBiZWhhdmVfbm9fYmFja2dyb3VuZChjdHgp OgorKyAgICAgICAgIyAtLSBTRVRVUC1QQVJULU9OTFk6IERpc2FibGUgYmFja2dyb3VuZCBpbmhl cml0YW5jZSAoZm9yIHNjZW5hcmlvcyBvbmx5KS4KKysgICAgICAgIGN1cnJlbnRfc2NlbmFyaW8g PSBjdHguc2NlbmFyaW8KKysgICAgICAgIGlmIGN1cnJlbnRfc2NlbmFyaW86CisrICAgICAgICAg ICAgcHJpbnQoIkZJWFRVUkUtSElOVDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjogJXMiICUgY3Vy cmVudF9zY2VuYXJpby5uYW1lKQorKyAgICAgICAgICAgIGN1cnJlbnRfc2NlbmFyaW8udXNlX2Jh Y2tncm91bmQgPSBGYWxzZQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dy b3VuZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0X18ucHkgYi9leGFtcGxlcy9maXh0dXJlLm5v X2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5CituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZTY5ZGUyOQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2Zp eHR1cmUubm9fYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvbm9fYmFja2dyb3VuZC5weSBi L2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvbm9fYmFj a2dyb3VuZC5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ3YmQwYjUK Ky0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9iZWhh dmVfZml4dHVyZV9saWIvbm9fYmFja2dyb3VuZC5weQorQEAgLTAsMCArMSw3MiBAQAorKyMgLSot IGNvZGluZzogVVRGLTggLSotCisrIyBSRUxBVEVELVRPOiAjNzU2CisrIiIiCisrRXhhbXBsZSBj b2RlIGhvdyB0byBwcm92aWRlIGEgYmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJsZSB0aGUKKytiYWNr Z3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KKysKKysuLiBjb2RlLWJsb2NrOjogZ2hlcmtp bgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorKyAgICBGZWF0 dXJlOiBTaG93IGhvdyBAZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZCBpcyB1c2Vk CisrCisrICAgICAgICBCYWNrZ3JvdW5kOgorKyAgICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQg c3RlcAorKworKyAgICAgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgICAgIFdoZW4gYSBzdGVw IHBhc3NlcworKyAgICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBl eGVjdXRlZCBoZXJlIgorKworKyAgICAgICAgQGZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQK KysgICAgICAgIFNjZW5hcmlvOiBCb2IKKysgICAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIg c2NlbmFyaW8gc2V0dXAKKysgICAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCisrICAg ICAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhl cmUiCisrCisrLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1 cmVzL2Vudmlyb25tZW50LnB5CisrICAgIGZyb20gYmVoYXZlX2ZpeHR1cmVfbGliLm92ZXJyaWRl X2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kCisrICAgIGZyb20g YmVoYXZlLmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5X3RhZworKworKyAgICAjIC0tIEZJ WFRVUkUgUkVHSVNUUlk6CisrICAgIGZpeHR1cmVfcmVnaXN0cnkgPSB7CisrICAgICAgICAiZml4 dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZCI6IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kLAor KyAgICB9CisrCisrICAgIGRlZiBiZWZvcmVfdGFnKGNvbnRleHQsIHRhZyk6CisrICAgICAgICBp ZiB0YWcuc3RhcnRzd2l0aCgiZml4dHVyZS4iKToKKysgICAgICAgICAgICByZXR1cm4gdXNlX2Zp eHR1cmVfYnlfdGFnKHRhZywgY29udGV4dCwgZml4dHVyZV9yZWdpc3RyeSkKKysKKysiIiIKKysK Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24K Kytmcm9tIGJlaGF2ZSBpbXBvcnQgZml4dHVyZQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysjIEJFSEFWRSBGSVhUVVJFUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrQGZpeHR1 cmUobmFtZT0iZml4dHVyZS5iZWhhdmUub25vX2JhY2tncm91bmQiKQorK2RlZiBiZWhhdmVfbm9f YmFja2dyb3VuZChjdHgpOgorKyAgICAiIiJPdmVycmlkZSB0aGUgQmFja2dyb3VuZCBpbmhlcmlu dGFuY2UgbWVjaGFuaXNtLgorKyAgICBJZiBhIEZlYXR1cmUgLyBSdWxlIEJhY2tncm91bmQgZXhp c3RzIGluIGEgRmVhdHVyZSwKKysgICAgYWxsIGNvbnRhaW5lZCBTY2VuYXJpb3MgaW5oZXJpdCB0 aGUgQmFja2dyb3VuZCdzIHN0ZXBzLgorKworKyAgICBUaGlzIGZpeHR1cmUgZGlzYWJsZXMgdGhp cyBtZWNoYW5pc20uCisrICAgIFRoZSB0YWdnZWQgR2hlcmtpbiBlbGVtZW50IHdpbGwgbm8gbG9u Z2VyIGluaGVyaXQgdGhlIGJhY2tncm91bmQgc3RlcHMuCisrCisrICAgIDpwYXJhbSBjdHg6IENv bnRleHQgb2JqZWN0IHRvIHVzZSAoZHVyaW5nIGEgdGVzdCBydW4pLgorKyAgICAiIiIKKysgICAg IyAtLSBTRVRVUC1QQVJULU9OTFk6IERpc2FibGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSAoZm9y IHNjZW5hcmlvcyBvbmx5KS4KKysgICAgY3VycmVudF9zY2VuYXJpbyA9IGN0eC5zY2VuYXJpbwor KyAgICBpZiBjdXJyZW50X3NjZW5hcmlvOgorKyAgICAgICAgcHJpbnQoIkZJWFRVUkUtSElOVDog RElTQUJMRS1CQUNLR1JPVU5EIEZPUjogJXMiICUgY3VycmVudF9zY2VuYXJpby5uYW1lKQorKyAg ICAgICAgY3VycmVudF9zY2VuYXJpby51c2VfYmFja2dyb3VuZCA9IEZhbHNlCisrCisrCisrIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgTU9EVUxFIFNQRUNJRklDOgorKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKytmaXh0dXJlX3JlZ2lzdHJ5ID0geworKyAgICAiZml4dHVyZS5iZWhhdmUubm9f YmFja2dyb3VuZCI6IGJlaGF2ZV9ub19iYWNrZ3JvdW5kLAorK30KK2RpZmYgLS1naXQgYS9leGFt cGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgYi9leGFt cGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4xODg1N2I5CistLS0gL2Rldi9udWxsCisr KysgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQu cHkKK0BAIC0wLDAgKzEsMzUgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyMgLS0gRklM RTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKytpbXBvcnQgb3MucGF0aAorK2ltcG9ydCBzeXMK KysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBQWVRIT04gUEFUSCBTRVRVUDoKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrSEVSRSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKytU T1BBID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihIRVJFLCAiLi4iKSkKKysKKytkZWYg c2V0dXBfcHl0aG9uX3BhdGgoKToKKysgICAgc3lzLnBhdGguaW5zZXJ0KDAsIFRPUEEpCisrCisr c2V0dXBfcHl0aG9uX3BhdGgoKQorKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIE5PUk1B TCBQQVJUOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytmcm9tIGJlaGF2ZV9maXh0dXJlX2xp Yi5ub19iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVfbm9fYmFja2dyb3VuZAorK2Zyb20gYmVoYXZl LmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5X3RhZworKworKyMgLS0gRklYVFVSRSBSRUdJ U1RSWToKKytmaXh0dXJlX3JlZ2lzdHJ5ID0geworKyAgICAiZml4dHVyZS5iZWhhdmUubm9fYmFj a2dyb3VuZCI6IGJlaGF2ZV9ub19iYWNrZ3JvdW5kLAorK30KKysKKysKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrIyBIT09LUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIGJlZm9y ZV90YWcoY29udGV4dCwgdGFnKToKKysgICAgaWYgdGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6 CisrICAgICAgICByZXR1cm4gdXNlX2ZpeHR1cmVfYnlfdGFnKHRhZywgY29udGV4dCwgZml4dHVy ZV9yZWdpc3RyeSkKKysKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91 bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlIGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3Jv dW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAuLjIwMjU3MTYKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUu bm9fYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKK0BAIC0wLDAgKzEsMTggQEAK KytGZWF0dXJlOiBEaXNhYmxlIHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBp biBzb21lIFNjZW5hcmlvcworKworKyAgLiBCRVdBUkU6CisrICAuICAgVGhpcyBpcyBvbmx5IGFu IGV4YW1wbGUgaG93IHRoaXMgY2FuIGJlIGRvbmUgKFBST09GLU9GLUNPTkNFUFQpLgorKyAgLiAg IFRoaXMgaXMgbm90IGFuIGV4YW1wbGUgdGhhdCB5b3Ugc2hvdWxkIGRvIHRoaXMgISEhCisrCisr ICAgIEJhY2tncm91bmQ6CisrICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzCisr CisrICAgIFNjZW5hcmlvOiBBbGljZQorKyAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcworKyAgICAg IEFuZCBub3RlIHRoYXQgIkJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisr ICAgIEBmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kCisrICAgIFNjZW5hcmlvOiBCb2IKKysg ICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cAorKyAgICAgIFdoZW4gYW5v dGhlciBzdGVwIHBhc3NlcworKyAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RF UFMgYXJlIGV4ZWN1dGVkIGhlcmUiCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5ub19i YWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5IGIvZXhhbXBsZXMvZml4dHVy ZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5CituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzRmMjEwNworLS0tIC9kZXYvbnVsbAorKysrIGIv ZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBz LnB5CitAQCAtMCwwICsxLDEzIEBACisrZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCBzdGVwCisr CisrIyBAc3RlcCh1J3t3b3JkfSBzdGVwIHBhc3NlcycpCisrIyBkZWYgc3RlcF9wYXNzZXNfd2l0 aF93b3JkKGNvbnRleHQsIHdvcmQpOgorKyMgICAgIHBhc3MKKysKKytAc3RlcCh1J3t3b3JkfSBi YWNrZ3JvdW5kIHN0ZXAgcGFzc2VzJykKKytkZWYgc3RlcF9iYWNrZ3JvdW5kX3N0ZXBfcGFzc2Vz KGNvbnRleHQsIHdvcmQpOgorKyAgICBwYXNzCisrCisrQGdpdmVuKHUnSSBuZWVkIHt3b3JkfSBz Y2VuYXJpbyBzZXR1cCcpCisrZGVmIHN0ZXBfZ2l2ZW5faV9uZWVkX3NjZW5hcmlvX3NldHVwKGNv bnRleHQsIHdvcmQpOgorKyAgICBwYXNzCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5u b19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkgYi9l eGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJf YmVoYXZlNGNtZC5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmJjMzJh MzIKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9m ZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5CitAQCAtMCwwICsxLDEyIEBA CisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysiIiIKKytVc2UgYmVoYXZlNGNtZDAgc3RlcCBs aWJyYXJ5IChwcmVkZWNlc3NvciBvZiBiZWhhdmU0Y21kKS4KKysiIiIKKysKKytmcm9tIF9fZnV0 dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorKworKyMgLS0gUkVHSVNURVItU1RFUFMgRlJP TSBTVEVQLUxJQlJBUlk6CisrIyBpbXBvcnQgYmVoYXZlNGNtZDAuX19hbGxfc3RlcHNfXworKyMg aW1wb3J0IGJlaGF2ZTRjbWQwLmZhaWxpbmdfc3RlcHMKKytpbXBvcnQgYmVoYXZlNGNtZDAucGFz c2luZ19zdGVwcworK2ltcG9ydCBiZWhhdmU0Y21kMC5ub3RlX3N0ZXBzCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUwLUVY QU1QTEUtQ2xlYW51cC1HaGVya2luLXY2LVJFQURNRS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTAtRVhBTVBMRS1DbGVhbnVwLUdo ZXJraW4tdjYtUkVBRE1FLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uYjYzMGQ0OGU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1MC1FWEFNUExFLUNsZWFudXAtR2hlcmtpbi12 Ni1SRUFETUUucGF0Y2gKQEAgLTAsMCArMSw2NCBAQAorRnJvbSBiNTJkN2M1ZDAxNDE5NzFmMmU3 NDVlYzgwNmY4MjllMmM3Yzg5N2NmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDkgSnVs IDIwMTkgMDg6MjA6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRVhBTVBMRTogQ2xlYW51cCBH aGVya2luIHY2IFJFQURNRQorCistLS0KKyBleGFtcGxlcy9naGVya2luX3Y2L1JFQURNRS5yc3Qg ICAgICAgICAgICAgICAgfCAyMyArKysrKysrKysrKy0tLS0tLS0tCisgLi4uL2ZlYXR1cmVzL3N0 ZXBzL3Bhc3Npbmdfc3RlcHMucHkgICAgICAgICAgIHwgMTEgKysrKysrKysrCisgMiBmaWxlcyBj aGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEw MDY0NCBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3Bhc3Npbmdfc3RlcHMucHkK KworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdCBiL2V4YW1wbGVz L2doZXJraW5fdjYvUkVBRE1FLnJzdAoraW5kZXggNTgxOTlkZC4uOTlhZjFjNSAxMDA2NDQKKy0t LSBhL2V4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdAorKysrIGIvZXhhbXBsZXMvZ2hlcmtp bl92Ni9SRUFETUUucnN0CitAQCAtMiwxNyArMiwyMiBAQCBHaGVya2luIHY2IEV4YW1wbGVzCisg PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKyAKKyAKKy1TQ1JBVENIUEFEOiBQcm9ibGVtcworLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisrUHJvdmlkZXMgZXhhbXBsZShzKSBvZiBHaGVya2luIHY2IGFkZGl0 aW9uczoKKyAKKy0tIFN1bW1hcnlSZXBvcnRlcjogU2hvd3Mgd3JvbmcgY291bnRzIHdoZW4gUnVs ZXMgYXJlIHByZXNlbnQ6OgorKyogUnVsZSBjb25jZXB0CisrKiBOZXcgYWxpYXNlcyBmb3IgR2hl cmtpbiBrZXl3b3JkcyAoU2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSkKKyAKKy0gICAgLi4uCist ICAgIDAgZmVhdHVyZXMgcGFzc2VkLCAwIGZhaWxlZCwgMSBza2lwcGVkIFhYWAorLSAgICAzIHJ1 bGVzIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorLSAgICA1IHNjZW5hcmlvcyBwYXNzZWQs IDAgZmFpbGVkLCAwIHNraXBwZWQKKy0gICAgMTMgc3RlcHMgcGFzc2VkLCAwIGZhaWxlZCwgMCBz a2lwcGVkLCAwIHVuZGVmaW5lZAorK1J1bGUgZnVuY3Rpb25hbGl0eToKKyAKKysqIEEgUnVsZSBp cyBhIHNjZW5hcmlvIGNvbnRhaW5lciBzaW1pbGFyIHRvIGEgRmVhdHVyZQorKyogQSBGZWF0dXJl IG1heSBjb250YWluIG1hbnkgUnVsZXMKKysqIEEgUnVsZSBtYXkgbm90IGNvbnRhaW4gb3RoZXIg UnVsZXMKKysqIEEgUnVsZSBtYXkgY29udGFpbiBhIEJhY2tncm91bmQgKGFuZCBpbmhlcml0cyBp dHMgRmVhdHVyZSBCYWNrZ3JvdW5kKQorKyogQSBSdWxlIGluaGVyaXRzIGl0cyBGZWF0dXJlIEJh Y2tncm91bmQgaWYgaXQgaGFzIG5vIEJhY2tncm91bmQKKysqIEEgUnVsZSBtYXkgY29udGFpbiBt YW55IFNjZW5hcmlvcyBhbmQvb3IgU2NlbmFyaW9PdXRsaW5lcworKyogQSBSdWxlIG1heSBoYXZl IHRhZ3MKKyAKKy0tIEZvcm1hdHRlcnM6IFByZXR0eUZvcm1hdHRlciwgUGxhaW5Gb3JtYXR0ZXIg KGF0IGxlYXN0KSBuZWVkIFJ1bGUgc3VwcG9ydAorK05ldyBrZXl3b3JkIGFsaWFzZXM6CisgCisr KiAiU2NlbmFyaW8gVGVtcGxhdGUiIGZvciAiU2NlbmFyaW8gT3V0bGluZSIKKysqICJFeGFtcGxl IiBmb3IgIlNjZW5hcmlvIgorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVy ZXMvc3RlcHMvcGFzc2luZ19zdGVwcy5weSBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMv c3RlcHMvcGFzc2luZ19zdGVwcy5weQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAuLjI3MTRjYjEKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVh dHVyZXMvc3RlcHMvcGFzc2luZ19zdGVwcy5weQorQEAgLTAsMCArMSwxMSBAQAorKyMgLSotIGNv ZGluZzogVVRGLTggLSotCisrCisrZnJvbSBiZWhhdmUgaW1wb3J0IHN0ZXAKKysKKytAc3RlcCh1 J3t3b3JkfSBzdGVwIHBhc3NlcycpCisrZGVmIHN0ZXBfcGFzc2VzKGN0eCwgd29yZCk6CisrICAg IHBhc3MKKysKKytAc3RlcCh1J3t3b3JkfSBzdGVwIGZhaWxzJykKKytkZWYgc3RlcF9mYWlscyhj dHgsIHdvcmQpOgorKyAgICBhc3NlcnQgRmFsc2UsICJYRkFJTC1TVEVQOiB7MH0gc3RlcCBmYWls cyIuZm9ybWF0KHdvcmQpCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUxLUltcHJvdmUtc3VwcG9ydC1mb3ItZmVhdHVyZS5i YWNrZ3JvdW5kLWluaGVyaXRhbmNlLWYucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUxLUltcHJvdmUtc3VwcG9ydC1mb3ItZmVhdHVy ZS5iYWNrZ3JvdW5kLWluaGVyaXRhbmNlLWYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi43NjRmZjc4NjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUxLUltcHJvdmUtc3VwcG9y dC1mb3ItZmVhdHVyZS5iYWNrZ3JvdW5kLWluaGVyaXRhbmNlLWYucGF0Y2gKQEAgLTAsMCArMSwx NTEwIEBACitGcm9tIDRmMDEzYjk0OWY2NTI4ZWM3MDEwNWMxZmI4ZTI5MmYyM2UzYTEzYzggTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgMTAgSnVsIDIwMTkgMjI6Mzg6MTMgKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSF0gSW1wcm92ZSBzdXBwb3J0IGZvciBmZWF0dXJlLmJhY2tncm91bmQgaW5o ZXJpdGFuY2UgZm9yCisgcnVsZS5iYWNrZ3JvdW5kLgorCistLS0KKyAuZ2l0aWdub3JlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKworIGJlaGF2ZS9tb2RlbC5weSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIzMCArKysrKysrKysrLS0KKyBiZWhhdmUv cGFyc2VyLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDkgKy0KKyAuLi4vZml4 dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QgICAgfCAxMTYgLS0tLS0tCisgLi4u L2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weSAgICAgICAgICAgIHwgICAwCisgLi4uL2Jl aGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3JvdW5kLnB5IHwgIDgwIC0tLS0tCisgLi4u L2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAgICAgICAgICAgIHwgIDM1IC0tCisgLi4u L2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZSAgICAgICAgICAgICAgICAgIHwgIDE4IC0KKyAuLi4v ZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkgICAgICAgICAgICAgfCAgMTMgLQorIC4uLi9m ZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5ICB8ICAxMiAtCisgc2V0dXAu cHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKKyB0ZXN0cy91 bml0L3Rlc3RfbW9kZWwucHkgICAgICAgICAgICAgICAgICAgICAgfCAxMTcgKy0tLS0tCisgdGVz dHMvdW5pdC90ZXN0X21vZGVsMi5weSAgICAgICAgICAgICAgICAgICAgIHwgICA0IC0KKyB0ZXN0 cy91bml0L3Rlc3RfbW9kZWxfY29yZS5weSAgICAgICAgICAgICAgICAgfCAxMTYgKysrKystCisg dGVzdHMvdW5pdC90ZXN0X3BhcnNlcl9naGVya2luX3Y2LnB5ICAgICAgICAgIHwgMzM5ICsrKysr KysrKysrKysrKysrLQorIDE1IGZpbGVzIGNoYW5nZWQsIDY0NSBpbnNlcnRpb25zKCspLCA0NDgg ZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJp ZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CisgZGVsZXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2Zp eHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0X18ucHkK KyBkZWxldGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5k L2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3JvdW5kLnB5CisgZGVsZXRlIG1vZGUg MTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZp cm9ubWVudC5weQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRl X2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCisgZGVsZXRlIG1vZGUgMTAwNjQ0 IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy9iYXNp Y19zdGVwcy5weQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRl X2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weQorCitk aWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKK2luZGV4IDYxOTZhNmQuLjljNWMz M2QgMTAwNjQ0CistLS0gYS8uZ2l0aWdub3JlCisrKysgYi8uZ2l0aWdub3JlCitAQCAtNyw2ICs3 LDkgQEAgYnVpbGQvCisgZGlzdC8KKyBfX3B5Y2FjaGVfXy8KKyBfX1dPUktESVJfXy8KKytfXyov CisrX18qLnR4dAorK19fKi5yc3QKKyBfYnVpbGQvCisgX1dPUktTUEFDRS8KKyByZXBvcnRzLwor ZGlmZiAtLWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBiL2JlaGF2ZS9tb2RlbC5weQoraW5kZXggN2Zj NTM0YS4uNjlmMzhhYiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9tb2RlbC5weQorKysrIGIvYmVoYXZl L21vZGVsLnB5CitAQCAtMjksNiArMjksMzYgQEAgZWxzZToKKyAgICAgaW1wb3J0IHRyYWNlYmFj aworIAorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBNT0RFTCBVVElMSVRJRVM6CisrIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgcmVzZXRfc3RlcHMoc3RlcHMpOgorKyAgICBmb3Igc3Rl cCBpbiBzdGVwczoKKysgICAgICAgIHN0ZXAucmVzZXQoKQorKyAgICByZXR1cm4gc3RlcHMKKysK KysKKytkZWYgY29weV9zdGVwcyhzdGVwcyk6CisrICAgICIiIkNvcHkgc3RlcHM7IG5lZWRlZCBp ZiBzdGVwcyBzaG91bGQgYmUgdXNlZCBpbiBtdWx0aXBsZSBydW4gY29udGV4dHMuCisrCisrICAg IDpwYXJhbSBzdGVwczogICAgICAgTGlzdCBvZiBzdGVwcyB0byBjb3B5LgorKyAgICA6cmV0dXJu OiBMaXN0IG9mIGNvcGllZCBzdGVwcy4KKysgICAgIiIiCisrICAgIHJldHVybiBbY29weS5jb3B5 KHN0ZXApIGZvciBzdGVwIGluIHN0ZXBzXQorKworKworK2RlZiBjb3B5X2FuZF9yZXNldF9zdGVw cyhzdGVwcyk6CisrICAgICIiIkNvcHkgc3RlcHMgYW5kIHJlc2V0IGVhY2ggc3RlcCAoc3RhdHVz LCBkdXJhdGlvbiwgZXRjLikKKysKKysgICAgOnBhcmFtIHN0ZXBzOiAgICAgICBMaXN0IG9mIHN0 ZXBzIHRvIGNvcHkuCisrICAgIDpyZXR1cm46IExpc3Qgb2YgY29waWVkIHN0ZXBzLgorKyAgICAi IiIKKysgICAgcmV0dXJuIHJlc2V0X3N0ZXBzKGNvcHlfc3RlcHMoc3RlcHMpKQorKworKworKyMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBNT0RFTCBDTEFTU0VTOgorKyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBs YXlhYmxlKToKKyAgICAgIiIiQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgbW9kZWwgZWxlbWVudHMK KyAgICAgdGhhdCBjb250YWlucyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZToKK0BAIC0xOTgsOCAr MjI4LDggQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBS ZXBsYXlhYmxlKToKKyAKKyAgICAgICAgIGlmIHNraXBwZWQ6CisgICAgICAgICAgICAgcmV0dXJu IFN0YXR1cy5za2lwcGVkCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHJldHVybiBTdGF0 dXMucGFzc2VkCisrICAgICAgICAjIC0tIE9USEVSV0lTRToKKysgICAgICAgIHJldHVybiBTdGF0 dXMucGFzc2VkCisgCisgICAgIEBwcm9wZXJ0eQorICAgICBkZWYgZHVyYXRpb24oc2VsZik6CitA QCAtMjMwLDcgKzI2MCw4IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0 YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgICAgIHJ1bGUgPSBydW5faXRlbQor ICAgICAgICAgICAgICAgICBpZiB3aXRoX3J1bGVzOgorICAgICAgICAgICAgICAgICAgICAgYWxs X3NjZW5hcmlvcy5hcHBlbmQocnVsZSkKKy0gICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5l eHRlbmQocnVsZS53YWxrX3NjZW5hcmlvcyh3aXRoX291dGxpbmVzPXdpdGhfb3V0bGluZXMpKQor KyAgICAgICAgICAgICAgICBzY2VuYXJpb3MgPSBydWxlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0 bGluZXM9d2l0aF9vdXRsaW5lcykKKysgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5leHRl bmQoc2NlbmFyaW9zKQorICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2Nl bmFyaW9PdXRsaW5lKToKKyAgICAgICAgICAgICAgICAgc2NlbmFyaW9fb3V0bGluZSA9IHJ1bl9p dGVtCisgICAgICAgICAgICAgICAgIGlmIHdpdGhfb3V0bGluZXM6CitAQCAtMjQxLDYgKzI3Miwx NiBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxh eWFibGUpOgorICAgICAgICAgICAgICAgICBhbGxfc2NlbmFyaW9zLmFwcGVuZChydW5faXRlbSkK KyAgICAgICAgIHJldHVybiBhbGxfc2NlbmFyaW9zCisgCisrICAgIGRlZiBpdGVyX3NjZW5hcmlv cyhzZWxmKToKKysgICAgICAgIHJldHVybiBpdGVyKHNlbGYud2Fsa19zY2VuYXJpb3MoKSkKKysK KysgICAgZGVmIGl0ZXJfc2NlbmFyaW9fb3V0bGluZXMoc2VsZik6CisrICAgICAgICByZXR1cm4g aXRlcihbeCBmb3IgeCBpbiBzZWxmLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9VHJ1ZSkK KysgICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHgsIFNjZW5hcmlvT3V0bGluZSld KQorKworKyAgICBkZWYgaXRlcl9ydWxlcyhzZWxmKToKKysgICAgICAgIHJldHVybiBpdGVyKFt4 IGZvciB4IGluIHNlbGYucnVuX2l0ZW1zIGlmIGlzaW5zdGFuY2UoeCwgUnVsZSldKQorKworICAg ICBkZWYgc2hvdWxkX3J1bihzZWxmLCBjb25maWc9Tm9uZSk6CisgICAgICAgICAiIiIKKyAgICAg ICAgIERldGVybWluZXMgaWYgdGhpcyBGZWF0dXJlIChhbmQgaXRzIHNjZW5hcmlvcykgc2hvdWxk IHJ1bi4KK0BAIC0zMTIsNyArMzUzLDcgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5k U3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIDpwYXJhbSBydW5uZXI6ICBS dW5uZXIgdG8gdXNlLgorICAgICAgICAgOnJldHVybjogVHJ1ZSwgaWYgdGVzdC1ydW4gZmFpbGVk LgorICAgICAgICAgIiIiCistICAgICAgICAjIHB5bGludDogZGlzYWJsZT10b28tbWFueS1icmFu Y2hlcworKyAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9dG9vLW1hbnktYnJhbmNoZXMsIHRvby1t YW55LWxvY2FscywgdG9vLW1hbnktc3RhdGVtZW50cworICAgICAgICAgIyBNQVlCRTogc2VsZi5y ZXNldCgpCisgICAgICAgICBzZWxmLmNsZWFyX3N0YXR1cygpCisgICAgICAgICBzZWxmLmhvb2tf ZmFpbGVkID0gRmFsc2UKK0BAIC0zODcsNyArNDI4LDcgQEAgY2xhc3MgU2NlbmFyaW9Db250YWlu ZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICMgLS0gUEVS Rk9STSBDT05URVhUIENMRUFOVVA6IE1heSByYWlzZSBjbGVhbnVwIGVycm9ycy4KKyAgICAgICAg IHRyeToKKyAgICAgICAgICAgICBydW5uZXIuY29udGV4dC5fcG9wKCkgICAgICAgIyBweWxpbnQ6 IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKysg ICAgICAgIGV4Y2VwdCBFeGNlcHRpb246ICAgICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9 YnJvYWQtZXhjZXB0CisgICAgICAgICAgICAgIyAtLSBDTEVBTlVQLUVSUk9SOgorICAgICAgICAg ICAgIHNlbGYuc2V0X3N0YXR1cyhTdGF0dXMuZmFpbGVkKQorIAorQEAgLTUwOSwxNiArNTUwLDI4 IEBAIGNsYXNzIEZlYXR1cmUoU2NlbmFyaW9Db250YWluZXIpOgorICAgICBkZWYgX3NldHVwX2Nv bnRleHRfZm9yX3J1bihzZWxmLCBjb250ZXh0KToKKyAgICAgICAgIGNvbnRleHQuZmVhdHVyZSA9 IHNlbGYKKyAKKysgICAgZGVmIGFkZF9iYWNrZ3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgorKyAg ICAgICAgc2VsZi5iYWNrZ3JvdW5kID0gYmFja2dyb3VuZAorKyAgICAgICAgc2VsZi5iYWNrZ3Jv dW5kLnBhcmVudCA9IHNlbGYKKysKKyAgICAgZGVmIGFkZF9ydWxlKHNlbGYsIHJ1bGUpOgorLSAg ICAgICAgIiIiQWRkIGEgcnVsZSB0byB0aGlzIGZlYXR1cmUuIiIiCisrICAgICAgICAiIiJBZGQg YSBydWxlIHRvIHRoaXMgZmVhdHVyZSAoc3VwcG9ydGVkIGluOiBHaGVya2luIHY2KS4KKysKKysg ICAgICAgIC4uIHZlcnNpb25hZGRlZDogMS4yLjcKKysgICAgICAgICIiIgorICAgICAgICAgZmVh dHVyZSA9IHNlbGYKKyAgICAgICAgIHJ1bGUucGFyZW50ID0gZmVhdHVyZQorICAgICAgICAgcnVs ZS5mZWF0dXJlID0gZmVhdHVyZQorLSAgICAgICAgaWYgbm90IHJ1bGUuYmFja2dyb3VuZDoKKy0g ICAgICAgICAgICAjIC0tIE1BWUJFOiBJbmhlcml0IGZlYXR1cmUuYmFja2dyb3VuZCBpZiB0aGUg cnVsZSBoYXMgbm8gYmFja2dyb3VuZC4KKy0gICAgICAgICAgICBydWxlLmJhY2tncm91bmQgPSBz ZWxmLmJhY2tncm91bmQKKyAgICAgICAgIHNlbGYucnVsZXMuYXBwZW5kKHJ1bGUpCisgICAgICAg ICBzZWxmLnJ1bl9pdGVtcy5hcHBlbmQocnVsZSkKKysgICAgICAgIGlmIHNlbGYuYmFja2dyb3Vu ZDoKKysgICAgICAgICAgICAjIC0tIEVOU1VSRTogUnVsZSBpbmhlcml0cyBmZWF0dXJlLmJhY2tn cm91bmQuCisrICAgICAgICAgICAgaWYgbm90IHJ1bGUuYmFja2dyb3VuZDoKKysgICAgICAgICAg ICAgICAgIyAtLSBFTlNVUkU6IFJ1bGUgaGFzIGEgZGVmYXVsdCBiYWNrZ3JvdW5kLgorKyAgICAg ICAgICAgICAgICAjIE5lY2Vzc2FyeSB0byBpbmhlcml0IGZlYXR1cmUuYmFja2dyb3VuZCAob3Ig ZGlzYWJsZSBpdCkuCisrICAgICAgICAgICAgICAgIHJ1bGVfZGVmYXVsdF9iYWNrZ3JvdW5kID0g QmFja2dyb3VuZChydWxlLmZpbGVuYW1lLCBydWxlLmxpbmUpCisrICAgICAgICAgICAgICAgIHJ1 bGUuYWRkX2JhY2tncm91bmQocnVsZV9kZWZhdWx0X2JhY2tncm91bmQpCisrICAgICAgICAgICAg cnVsZS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9iYWNrZ3JvdW5kID0gc2VsZi5iYWNrZ3JvdW5kCisg CisgCisgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRhaW5lcik6CitAQCAtNjMwLDYgKzY4Myw3IEBA IGNsYXNzIFJ1bGUoU2NlbmFyaW9Db250YWluZXIpOgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGVzY3JpcHRpb24sIHNjZW5hcmlvcywgYmFja2dyb3VuZCkKKyAgICAgICAg IHNlbGYucGFyZW50ID0gcGFyZW50CisgICAgICAgICBzZWxmLmZlYXR1cmUgPSBwYXJlbnQKKysg ICAgICAgIHNlbGYuX3VzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlID0gVHJ1ZQorIAorICAgICBk ZWYgX3NldHVwX2NvbnRleHRfZm9yX3J1bihzZWxmLCBjb250ZXh0KToKKyAgICAgICAgIGNvbnRl eHQucnVsZSA9IHNlbGYKK0BAIC02MzgsMTAgKzY5Miw0MyBAQCBjbGFzcyBSdWxlKFNjZW5hcmlv Q29udGFpbmVyKToKKyAgICAgICAgIHJldHVybiAnPFJ1bGUgIiVzIjogJWQgc2NlbmFyaW8ocyk+ JyAlIFwKKyAgICAgICAgICAgICAoc2VsZi5uYW1lLCBsZW4oc2VsZi5zY2VuYXJpb3MpKQorIAor KyAgICBkZWYgYWRkX2JhY2tncm91bmQoc2VsZiwgYmFja2dyb3VuZCwgaW5oZXJpdGVkPU5vbmUp OgorKyAgICAgICAgaWYgaW5oZXJpdGVkIGlzIE5vbmU6CisrICAgICAgICAgICAgZmVhdHVyZSA9 IHNlbGYuZmVhdHVyZSBvciBzZWxmLnBhcmVudAorKyAgICAgICAgICAgIGluaGVyaXRlZCA9IGZl YXR1cmUuYmFja2dyb3VuZAorKworKyAgICAgICAgc2VsZi5iYWNrZ3JvdW5kID0gYmFja2dyb3Vu ZAorKyAgICAgICAgc2VsZi5iYWNrZ3JvdW5kLmluaGVyaXRlZF9iYWNrZ3JvdW5kID0gaW5oZXJp dGVkCisrICAgICAgICBzZWxmLmJhY2tncm91bmQudXNlX2luaGVyaXRhbmNlID0gc2VsZi51c2Vf YmFja2dyb3VuZF9pbmhlcml0YW5jZQorKyAgICAgICAgc2VsZi5iYWNrZ3JvdW5kLnBhcmVudCA9 IHNlbGYKKysgICAgICAgICMgLS0gRU5TVVJFOiBOb3JtYWxseSBiYWNrZ3JvdW5kIGlzIGFkZGVk IGJlZm9yZSBzY2VuYXJpb3MuCisrICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2VsZi53YWxrX3Nj ZW5hcmlvcygpOgorKyAgICAgICAgICAgIHNjZW5hcmlvLmJhY2tncm91bmQgPSBzZWxmLmJhY2tn cm91bmQKKysKKysgICAgQHByb3BlcnR5CisrICAgIGRlZiB1c2VfYmFja2dyb3VuZF9pbmhlcml0 YW5jZShzZWxmKToKKysgICAgICAgIHJldHVybiBzZWxmLl91c2VfYmFja2dyb3VuZF9pbmhlcml0 YW5jZQorKworKyAgICBAdXNlX2JhY2tncm91bmRfaW5oZXJpdGFuY2Uuc2V0dGVyCisrICAgIGRl ZiB1c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZShzZWxmLCB2YWx1ZSk6CisrICAgICAgICBzZWxm Ll91c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZSA9IHZhbHVlCisrICAgICAgICBpZiBzZWxmLmJh Y2tncm91bmQ6CisrICAgICAgICAgICAgc2VsZi5iYWNrZ3JvdW5kLnVzZV9pbmhlcml0YW5jZSA9 IHZhbHVlCisrCisgCisgY2xhc3MgQmFja2dyb3VuZChCYXNpY1N0YXRlbWVudCwgUmVwbGF5YWJs ZSk6CisgICAgICIiIkEgYGJhY2tncm91bmRgXyBwYXJzZWQgZnJvbSBhICpmZWF0dXJlIGZpbGUq LgorIAorKyAgICBCZWhhdmlvdXI6CisrCisrICAgICogRWFjaCBzY2VuYXJpbyBvZiBhIHNjZW5h cmlvIGNvbnRhaW5lciAoRmVhdHVyZSwgUnVsZSkKKysgICAgICBpbmhlcml0cyB0aGUgQmFja2dy b3VuZCBvZiBpdHMgc2NlbmFyaW8gY29udGFpbmVyCisrICAgICogQmFja2dyb3VuZCBzdGVwcyBp biBhIHNjZW5hcmlvIGFyZSBleGVjdXRlZCBiZWZvcmUgc2NlbmFyaW8gc3RlcHMKKysgICAgKiBS dWxlIEJhY2tncm91bmQgaW5oZXJpdHMgdGhlIEZlYXR1cmUgQmFja2dyb3VuZCAob3V0ZXIgYmFj a2dyb3VuZCkgaWYgYW55CisrICAgICogSW5oZXJpdGVkIEJhY2tncm91bmQgc3RlcHMgYXJlIHVz ZWQvZXhlY3V0ZWQgZmlyc3QKKysgICAgKiBPcHRpb25hbGx5LCBiYWNrZ3JvdW5kIGluaGVyaXRh bmNlIGNhbiBiZSBkaXNhYmxlZAorKyAgICAgIChub3JtYWxseTogYnkgdXNpbmcgYSBmaXh0dXJl L2ZpeHR1cmUtdGFnKQorKworICAgICBUaGUgYXR0cmlidXRlcyBhcmU6CisgCisgICAgIC4uIGF0 dHJpYnV0ZTo6IGtleXdvcmQKK0BAIC02NzksMjMgKzc2Niw2NSBAQCBjbGFzcyBCYWNrZ3JvdW5k KEJhc2ljU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAKKyAgICAgLi4gX2BiYWNrZ3JvdW5kYDog Z2hlcmtpbi5odG1sI2JhY2tncm91bmRzCisgICAgICIiIgorLSAgICAjIFRPRE86IEJhY2tncm91 bmQgaW5oZXJpdGFuY2UKKy0gICAgIyBSdWxlLmJhY2tncm91bmQgc2hvdWxkIGluaGVyaXQgaXRz IEZlYXR1cmUuYmFja2dyb3VuZCBzdGVwcyAoaWYgYXZhaWxhYmxlKQorLSAgICAjIFJ1bGUuYmFj a2dyb3VuZCA9IEZlYXR1cmUuYmFja2dyb3VuZCBpZmYgbm90IFJ1bGUuYmFja2dyb3VuZCBleGlz dHMgKEFMUkVBRFktU09MVkVEKQorLSAgICAjIFJ1bGUgbWF5IG92ZXJyaWRlIGJhY2tncm91bmQg aW5oZXJpdGFuY2UgbWVjaGFuaXNtCisgICAgIHR5cGUgPSAiYmFja2dyb3VuZCIKKyAKKy0gICAg ZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBsaW5lLCBrZXl3b3JkLCBuYW1lLCBzdGVwcz1O b25lLCBkZXNjcmlwdGlvbj1Ob25lKToKKysgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1l LCBsaW5lLCBrZXl3b3JkPXUiQmFja2dyb3VuZCIsIG5hbWU9dSIiLAorKyAgICAgICAgICAgICAg ICAgc3RlcHM9Tm9uZSwgZGVzY3JpcHRpb249Tm9uZSk6CisgICAgICAgICBzdXBlcihCYWNrZ3Jv dW5kLCBzZWxmKS5fX2luaXRfXyhmaWxlbmFtZSwgbGluZSwga2V5d29yZCwgbmFtZSkKKyAgICAg ICAgIHNlbGYuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbiBvciBbXQorICAgICAgICAgc2VsZi5z dGVwcyA9IHN0ZXBzIG9yIFtdCisrICAgICAgICBzZWxmLmluaGVyaXRlZF9iYWNrZ3JvdW5kID0g Tm9uZQorKyAgICAgICAgc2VsZi5faW5oZXJpdGVkX3N0ZXBzID0gTm9uZQorKyAgICAgICAgc2Vs Zi5fdXNlX2luaGVyaXRhbmNlID0gVHJ1ZQorIAorLSAgICBkZWYgX19yZXByX18oc2VsZik6Cist ICAgICAgICByZXR1cm4gJzxCYWNrZ3JvdW5kICIlcyI+JyAlIHNlbGYubmFtZQorKyAgICBAcHJv cGVydHkKKysgICAgZGVmIHVzZV9pbmhlcml0YW5jZShzZWxmKToKKysgICAgICAgICIiIkluZGlj YXRlcyBpZiB0aGlzIEJhY2tncm91bmQgc2hvdWxkIGluaGVyaXQgZnJvbSBhbiBvdXRlciBCYWNr Z3JvdW5kLgorKyAgICAgICAgQmFja2dyb3VuZCBpbmhlcml0YW5jZSBtZWNoYW5pc20gaXMgZW5h YmxlZCAocGVyIGRlZmF1bHQpLgorKyAgICAgICAgT3B0aW9uYWxseSwgdGhpcyBtZWNoYW5pc20g Y2FuIGJlIGRpc2FibGVkIChvciBvdmVycmlkZGVuKS4KKyAKKy0gICAgZGVmIF9faXRlcl9fKHNl bGYpOgorKyAgICAgICAgOnJldHVybjogQ3VycmVudCBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIHN0 YXRlIChhcyBib29sKS4KKysKKysgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAg ICAgICAiIiIKKysgICAgICAgIHJldHVybiBzZWxmLl91c2VfaW5oZXJpdGFuY2UKKysKKysgICAg QHVzZV9pbmhlcml0YW5jZS5zZXR0ZXIKKysgICAgZGVmIHVzZV9pbmhlcml0YW5jZShzZWxmLCB2 YWx1ZSk6CisrICAgICAgICAiIiJFbmFibGUvZGlzYWJsZSBiYWNrZ3JvdW5kIGluaGVyaXRhbmNl IG1lY2hhbmlzbSBmb3IgdGhpcyBCYWNrZ3JvdW5kLgorKworKyAgICAgICAgOnBhcmFtIHZhbHVl OiAgIE5ldyB2YWx1ZSAoYXMgYm9vbCkuCisrCisrICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAx LjIuNworKyAgICAgICAgIiIiCisrICAgICAgICAjIC0tIEVOU1VSRTogaW5oZXJpdGVkX3N0ZXBz IGFyZSByZWluaXRpYWxpemVkIChsYXRlcikuCisrICAgICAgICBzZWxmLl91c2VfaW5oZXJpdGFu Y2UgPSBib29sKHZhbHVlKQorKyAgICAgICAgc2VsZi5faW5oZXJpdGVkX3N0ZXBzID0gTm9uZQor KworKyAgICBAcHJvcGVydHkKKysgICAgZGVmIGluaGVyaXRlZF9zdGVwcyhzZWxmKToKKysgICAg ICAgICMgdmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAgICAgIGlmIHNlbGYuX2luaGVyaXRlZF9z dGVwcyBpcyBOb25lOgorKyAgICAgICAgICAgICMgLS0gTEFaWS1JTklUOiBTdXBwb3J0IGVuYWJs ZS9kaXNhYmxlIHRoZSBpbmhlcml0YW5jZSBtZWNoYW5pc20uCisrICAgICAgICAgICAgc3RlcHMg PSBbXQorKyAgICAgICAgICAgIGlmIHNlbGYuaW5oZXJpdGVkX2JhY2tncm91bmQgYW5kIHNlbGYu X3VzZV9pbmhlcml0YW5jZToKKysgICAgICAgICAgICAgICAgc3RlcHMgPSBjb3B5X2FuZF9yZXNl dF9zdGVwcyhzZWxmLmluaGVyaXRlZF9iYWNrZ3JvdW5kLnN0ZXBzKQorKyAgICAgICAgICAgIHNl bGYuX2luaGVyaXRlZF9zdGVwcyA9IHN0ZXBzCisrICAgICAgICByZXR1cm4gc2VsZi5faW5oZXJp dGVkX3N0ZXBzCisrCisrICAgIGRlZiBpdGVyX3N0ZXBzKHNlbGYpOgorKyAgICAgICAgIiIiUmV0 dXJucyBpdGVyYXRvciB0byBhbGwgc3RlcHMsIGluY2x1ZGluZyBpbmhlcml0ZWQgc3RlcHMgKGlm IGFueSkuCisrCisrICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxLjIuNworKyAgICAgICAgIiIi CisrICAgICAgICBpZiBzZWxmLmluaGVyaXRlZF9zdGVwczoKKysgICAgICAgICAgICByZXR1cm4g aXRlcnRvb2xzLmNoYWluKHNlbGYuaW5oZXJpdGVkX3N0ZXBzLCBzZWxmLnN0ZXBzKQorICAgICAg ICAgcmV0dXJuIGl0ZXIoc2VsZi5zdGVwcykKKyAKKysgICAgQHByb3BlcnR5CisrICAgIGRlZiBh bGxfc3RlcHMoc2VsZik6CisrICAgICAgICByZXR1cm4gc2VsZi5pdGVyX3N0ZXBzKCkKKysKKyAg ICAgQHByb3BlcnR5CisgICAgIGRlZiBkdXJhdGlvbihzZWxmKToKKyAgICAgICAgIGR1cmF0aW9u ID0gMAorQEAgLTcwMyw2ICs4MzIsMTIgQEAgY2xhc3MgQmFja2dyb3VuZChCYXNpY1N0YXRlbWVu dCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgZHVyYXRpb24gKz0gc3RlcC5kdXJhdGlvbgor ICAgICAgICAgcmV0dXJuIGR1cmF0aW9uCisgCisrICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKysg ICAgICAgIHJldHVybiAnPEJhY2tncm91bmQgIiVzIj4nICUgc2VsZi5uYW1lCisrCisrICAgIGRl ZiBfX2l0ZXJfXyhzZWxmKToKKysgICAgICAgIHJldHVybiBzZWxmLml0ZXJfc3RlcHMoKQorKwor IAorIGNsYXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6Cisg ICAgICIiIkEgYHNjZW5hcmlvYF8gcGFyc2VkIGZyb20gYSAqZmVhdHVyZSBmaWxlKi4KK0BAIC03 OTksNiArOTM0LDcgQEAgY2xhc3MgU2NlbmFyaW8oVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBs YXlhYmxlKToKKyAgICAgICAgIHNlbGYuZmVhdHVyZSA9IE5vbmUgICMgUkVGRVItVE86IG93bmVy PUZlYXR1cmUKKyAgICAgICAgIHNlbGYuaG9va19mYWlsZWQgPSBGYWxzZQorICAgICAgICAgc2Vs Zi5fYmFja2dyb3VuZF9zdGVwcyA9IE5vbmUKKysgICAgICAgIHNlbGYuX3VzZV9iYWNrZ3JvdW5k ID0gVHJ1ZQorICAgICAgICAgc2VsZi5fcm93ID0gTm9uZQorICAgICAgICAgc2VsZi53YXNfZHJ5 X3J1biA9IEZhbHNlCisgCitAQCAtODEzLDYgKzk0OSwyNyBAQCBjbGFzcyBTY2VuYXJpbyhUYWdB bmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgZm9yIHN0ZXAgaW4gc2Vs Zi5hbGxfc3RlcHM6CisgICAgICAgICAgICAgc3RlcC5yZXNldCgpCisgCisrICAgIEBwcm9wZXJ0 eQorKyAgICBkZWYgdXNlX2JhY2tncm91bmQoc2VsZik6CisrICAgICAgICAiIiJJbmRpY2F0ZXMg aWYgdGhlIGJhY2tncm91bmQgaXMvd291bGQgYmUgdXNlZCAoaWYgYW55IGV4aXN0cykuCisrICAg ICAgICBOT1RFOiBUaGUgQmFja2dyb3VuZCAoc3RlcHMpIGFyZSBub3JtYWxseSB1c2VkLgorKwor KyAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS4yLjcKKysgICAgICAgICIiIgorKyAgICAgICAg cmV0dXJuIHNlbGYuX3VzZV9iYWNrZ3JvdW5kCisrCisrICAgIEB1c2VfYmFja2dyb3VuZC5zZXR0 ZXIKKysgICAgZGVmIHVzZV9iYWNrZ3JvdW5kKHNlbGYsIHZhbHVlKToKKysgICAgICAgICIiIkVu YWJsZS9kaXNhYmxlIHRoZSB1c2FnZSBvZiB0aGUgYmFja2dyb3VuZCAoc3RlcHMpLgorKworKyAg ICAgICAgOnBhcmFtIHZhbHVlOiAgTmV3IHZhbHVlIChhcyBib29sKS4KKysKKysgICAgICAgIC4u IHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAgICAgICAiIiIKKysgICAgICAgICMgLS0gRU5TVVJF OiBiYWNrZ3JvdW5kX3N0ZXBzIGFyZSByZWluaXRpYWxpemVkLgorKyAgICAgICAgc2VsZi5fdXNl X2JhY2tncm91bmQgPSB2YWx1ZQorKyAgICAgICAgc2VsZi5fYmFja2dyb3VuZF9zdGVwcyA9IE5v bmUKKysKKyAgICAgQHByb3BlcnR5CisgICAgIGRlZiBiYWNrZ3JvdW5kX3N0ZXBzKHNlbGYpOgor ICAgICAgICAgIiIiUHJvdmlkZSBiYWNrZ3JvdW5kIHN0ZXBzIGlmIGZlYXR1cmUvcnVsZSBoYXMg YSBiYWNrZ3JvdW5kLgorQEAgLTgyOCwyNCArOTg1LDI5IEBAIGNsYXNzIFNjZW5hcmlvKFRhZ0Fu ZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgIyBFYWNoIHNjZW5h cmlvIG5lZWRzIG93biBiYWNrZ3JvdW5kLnN0ZXBzLgorICAgICAgICAgICAgICMgT3RoZXJ3aXNl LCBiYWNrZ3JvdW5kIHN0ZXAgc3RhdHVzIG9mIHRoZSBsYXN0LXJ1biBzY2VuYXJpbyBpcyB1c2Vk LgorICAgICAgICAgICAgIHN0ZXBzID0gW10KKy0gICAgICAgICAgICBpZiBzZWxmLmJhY2tncm91 bmQ6CistICAgICAgICAgICAgICAgIHN0ZXBzID0gW2NvcHkuY29weShzdGVwKSBmb3Igc3RlcCBp biBzZWxmLmJhY2tncm91bmQuc3RlcHNdCisrICAgICAgICAgICAgaWYgc2VsZi5iYWNrZ3JvdW5k IGFuZCBzZWxmLnVzZV9iYWNrZ3JvdW5kOgorKyAgICAgICAgICAgICAgICBzdGVwcyA9IGNvcHlf YW5kX3Jlc2V0X3N0ZXBzKHNlbGYuYmFja2dyb3VuZC5hbGxfc3RlcHMpCisgICAgICAgICAgICAg c2VsZi5fYmFja2dyb3VuZF9zdGVwcyA9IHN0ZXBzCisgICAgICAgICByZXR1cm4gc2VsZi5fYmFj a2dyb3VuZF9zdGVwcworIAorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIGFsbF9zdGVwcyhzZWxm KToKKy0gICAgICAgICIiIlJldHVybnMgaXRlcmF0b3IgdG8gYWxsIHN0ZXBzLCBpbmNsdWRpbmcg YmFja2dyb3VuZCBzdGVwcyBpZiBhbnkuIiIiCisrICAgIGRlZiBpdGVyX3N0ZXBzKHNlbGYpOgor KyAgICAgICAgIiIiUmV0dXJucyBpdGVyYXRvciB0byBhbGwgc3RlcHMsIGluY2x1ZGluZyBiYWNr Z3JvdW5kIHN0ZXBzIGlmIGFueS4KKysKKysgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43 CisrICAgICAgICAiIiIKKyAgICAgICAgIGlmIHNlbGYuYmFja2dyb3VuZCBpcyBub3QgTm9uZToK KyAgICAgICAgICAgICByZXR1cm4gaXRlcnRvb2xzLmNoYWluKHNlbGYuYmFja2dyb3VuZF9zdGVw cywgc2VsZi5zdGVwcykKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmV0dXJuIGl0ZXIo c2VsZi5zdGVwcykKKysgICAgICAgIHJldHVybiBpdGVyKHNlbGYuc3RlcHMpCisrCisrICAgIEBw cm9wZXJ0eQorKyAgICBkZWYgYWxsX3N0ZXBzKHNlbGYpOgorKyAgICAgICAgcmV0dXJuIHNlbGYu aXRlcl9zdGVwcygpCisgCisgICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIHJldHVy biAnPFNjZW5hcmlvICIlcyI+JyAlIHNlbGYubmFtZQorIAorICAgICBkZWYgX19pdGVyX18oc2Vs Zik6CistICAgICAgICByZXR1cm4gc2VsZi5hbGxfc3RlcHMKKysgICAgICAgIHJldHVybiBzZWxm Lml0ZXJfc3RlcHMoKQorIAorICAgICBkZWYgY29tcHV0ZV9zdGF0dXMoc2VsZik6CisgICAgICAg ICAiIiJDb21wdXRlIHRoZSBzdGF0dXMgb2YgdGhlIHNjZW5hcmlvIGZyb20gaXRzIHN0ZXBzCitA QCAtODYyLDkgKzEwMjQsOCBAQCBjbGFzcyBTY2VuYXJpbyhUYWdBbmRTdGF0dXNTdGF0ZW1lbnQs IFJlcGxheWFibGUpOgorICAgICAgICAgICAgICAgICAgICAgIyAtLSBTUEVDSUFMIENBU0U6IElu IGRyeS1ydW4gd2l0aCB1bmRlZmluZWQtc3RlcCBkaXNjb3ZlcnkKKyAgICAgICAgICAgICAgICAg ICAgICMgICAgVW5kZWZpbmVkIHN0ZXBzIHNob3VsZCBub3QgY2F1c2UgZmFpbGVkIHNjZW5hcmlv LgorICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1cy51bnRlc3RlZAorLSAgICAgICAg ICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICAgICAgIyAtLSBOT1JNQUxMWTogVW5kZWZp bmVkIHN0ZXBzIGNhdXNlIGZhaWxlZCBzY2VuYXJpby4KKy0gICAgICAgICAgICAgICAgICAgIHJl dHVybiBTdGF0dXMuZmFpbGVkCisrICAgICAgICAgICAgICAgICMgLS0gTk9STUFMTFk6IFVuZGVm aW5lZCBzdGVwcyBjYXVzZSBmYWlsZWQgc2NlbmFyaW8uCisrICAgICAgICAgICAgICAgIHJldHVy biBTdGF0dXMuZmFpbGVkCisgICAgICAgICAgICAgZWxpZiBzdGVwLnN0YXR1cyAhPSBTdGF0dXMu cGFzc2VkOgorICAgICAgICAgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1saW5lLXRvby1sb25n CisgICAgICAgICAgICAgICAgIGFzc2VydCBzdGVwLnN0YXR1cyBpbiAoU3RhdHVzLmZhaWxlZCwg U3RhdHVzLnNraXBwZWQsIFN0YXR1cy51bnRlc3RlZCkKK0BAIC0xMDI5LDcgKzExOTAsNiBAQCBj bGFzcyBTY2VuYXJpbyhUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAg ICAgICAgICAgICAgICAgIyBCVVQ6IERldGVjdCBhbGwgcmVtYWluaW5nIHVuZGVmaW5lZCBzdGVw cy4KKyAgICAgICAgICAgICAgICAgICAgIHN0ZXAuc3RhdHVzID0gU3RhdHVzLnNraXBwZWQKKyAg ICAgICAgICAgICAgICAgICAgIGlmIGRyeV9ydW5fc2NlbmFyaW86CistICAgICAgICAgICAgICAg ICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVkLXZhcmlhYmxlLXR5cGUKKyAgICAg ICAgICAgICAgICAgICAgICAgICBzdGVwLnN0YXR1cyA9IFN0YXR1cy51bnRlc3RlZAorICAgICAg ICAgICAgICAgICAgICAgZm91bmRfc3RlcF9tYXRjaCA9IHJ1bm5lci5zdGVwX3JlZ2lzdHJ5LmZp bmRfbWF0Y2goc3RlcCkKKyAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBmb3VuZF9zdGVwX21h dGNoOgorQEAgLTEwNjcsNyArMTIyNyw3IEBAIGNsYXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0 YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAjIC0tIFBFUkZPUk0gQ09OVEVYVC1DTEVB TlVQOiBNYXkgcmFpc2UgY2xlYW51cCBlcnJvcnMuCisgICAgICAgICB0cnk6CisgICAgICAgICAg ICAgcnVubmVyLmNvbnRleHQuX3BvcCgpICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3Rl ZC1hY2Nlc3MKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisrICAgICAgICBleGNlcHQgRXhj ZXB0aW9uOiAgICAgICAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPWJyb2FkLWV4Y2VwdAorICAg ICAgICAgICAgIHNlbGYuc2V0X3N0YXR1cyhTdGF0dXMuZmFpbGVkKQorICAgICAgICAgICAgIGZh aWxlZCA9IFRydWUKKyAKK0BAIC0xMTc2LDkgKzEzMzYsOSBAQCBjbGFzcyBTY2VuYXJpb091dGxp bmVCdWlsZGVyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gdSI8JXM+ IiAlIG5hbWUKKyAgICAgICAgICAgICAgICAgZm9yIGksIGNlbGwgaW4gZW51bWVyYXRlKG5ld19z dGVwLnRhYmxlLmhlYWRpbmdzKToKKyAgICAgICAgICAgICAgICAgICAgIG5ld19zdGVwLnRhYmxl LmhlYWRpbmdzW2ldID0gY2VsbC5yZXBsYWNlKHBsYWNlaG9sZGVyLCB2YWx1ZSkKKy0gICAgICAg ICAgICAgICAgZm9yIHJvdyBpbiBuZXdfc3RlcC50YWJsZToKKy0gICAgICAgICAgICAgICAgICAg IGZvciBpLCBjZWxsIGluIGVudW1lcmF0ZShyb3cuY2VsbHMpOgorLSAgICAgICAgICAgICAgICAg ICAgICAgIHJvdy5jZWxsc1tpXSA9IGNlbGwucmVwbGFjZShwbGFjZWhvbGRlciwgdmFsdWUpCisr ICAgICAgICAgICAgICAgIGZvciBzdGVwX3JvdyBpbiBuZXdfc3RlcC50YWJsZToKKysgICAgICAg ICAgICAgICAgICAgIGZvciBpLCBjZWxsIGluIGVudW1lcmF0ZShzdGVwX3Jvdy5jZWxscyk6Cisr ICAgICAgICAgICAgICAgICAgICAgICAgc3RlcF9yb3cuY2VsbHNbaV0gPSBjZWxsLnJlcGxhY2Uo cGxhY2Vob2xkZXIsIHZhbHVlKQorICAgICAgICAgcmV0dXJuIG5ld19zdGVwCisgCisgICAgIGRl ZiBidWlsZF9zY2VuYXJpb3Moc2VsZiwgc2NlbmFyaW9fb3V0bGluZSk6CitAQCAtMTY0MCw3ICsx ODAwLDYgQEAgY2xhc3MgU3RlcChCYXNpY1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAg ICAgICAgICAgIG1hdGNoLnJ1bihydW5uZXIuY29udGV4dCkKKyAgICAgICAgICAgICAgICAgaWYg c2VsZi5zdGF0dXMgPT0gU3RhdHVzLnVudGVzdGVkOgorICAgICAgICAgICAgICAgICAgICAgIyAt LSBOT1RFOiBFeGVjdXRlZCBzdGVwIG1heSBoYXZlIHNraXBwZWQgc2NlbmFyaW8gYW5kIGl0c2Vs Zi4KKy0gICAgICAgICAgICAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXJlZGVmaW5lZC12YXJp YWJsZS10eXBlCisgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0YXR1cyA9IFN0YXR1cy5wYXNz ZWQKKyAgICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQgYXMgZToKKyAgICAgICAg ICAgICAgICAgcnVubmVyLmFib3J0ZWQgPSBUcnVlCitAQCAtMTgxNSw4ICsxOTc0LDcgQEAgY2xh c3MgVGFibGUoUmVwbGF5YWJsZSk6CisgICAgICAgICAiIiIKKyAgICAgICAgIGlmIHNlbGYuaGFz X2NvbHVtbihjb2x1bW5fbmFtZSk6CisgICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2V0X2NvbHVt bl9pbmRleChjb2x1bW5fbmFtZSkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmV0dXJu IHNlbGYuYWRkX2NvbHVtbihjb2x1bW5fbmFtZSkKKysgICAgICAgIHJldHVybiBzZWxmLmFkZF9j b2x1bW4oY29sdW1uX25hbWUpCisgCisgICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAg IHJldHVybiAiPFRhYmxlOiAlZHglZD4iICUgKGxlbihzZWxmLmhlYWRpbmdzKSwgbGVuKHNlbGYu cm93cykpCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3BhcnNlci5weSBiL2JlaGF2ZS9wYXJzZXIucHkK K2luZGV4IDk5M2M5ZGMuLjUyMGY2NzggMTAwNjQ0CistLS0gYS9iZWhhdmUvcGFyc2VyLnB5Cisr KysgYi9iZWhhdmUvcGFyc2VyLnB5CitAQCAtMjQ5LDcgKzI0OSw2IEBAIGNsYXNzIFBhcnNlcihv YmplY3QpOgorICAgICAgICAgc2VsZi5ydWxlID0gcnVsZQorICAgICAgICAgc2VsZi5zY2VuYXJp b19jb250YWluZXIgPSBydWxlCisgICAgICAgICBzZWxmLnN0YXRlbWVudCA9IHJ1bGUKKy0gICAg ICAgICMgTUFZQkU6IHNlbGYuYmFja2dyb3VuZCA9IE5vbmUKKyAgICAgICAgIHNlbGYuZmVhdHVy ZS5hZGRfcnVsZShzZWxmLnN0YXRlbWVudCkKKyAgICAgICAgICMgLS0gUkVTRVQgU1RBVEU6Cisg ICAgICAgICBzZWxmLnRhZ3MgPSBbXQorQEAgLTI1OCwxMSArMjU3LDE1IEBAIGNsYXNzIFBhcnNl cihvYmplY3QpOgorICAgICAgICAgaWYgc2VsZi50YWdzOgorICAgICAgICAgICAgIG1zZyA9IHUi QmFja2dyb3VuZCBzdXBwb3J0cyBubyB0YWdzOiBAJXMiICUgKHUiIEAiLmpvaW4oc2VsZi50YWdz KSkKKyAgICAgICAgICAgICByYWlzZSBQYXJzZXJFcnJvcihtc2csIHNlbGYubGluZSwgc2VsZi5m aWxlbmFtZSwgbGluZSkKKysgICAgICAgIGVsaWYgc2VsZi5zY2VuYXJpb19jb250YWluZXIgYW5k IHNlbGYuc2NlbmFyaW9fY29udGFpbmVyLmJhY2tncm91bmQ6CisrICAgICAgICAgICAgaWYgc2Vs Zi5zY2VuYXJpb19jb250YWluZXIuYmFja2dyb3VuZC5zdGVwczoKKysgICAgICAgICAgICAgICAg IyAtLSBISU5UOiBSdWxlIG1heSBoYXZlIGRlZmF1bHQgYmFja2dyb3VuZCB3L28gc3RlcHMuCisr ICAgICAgICAgICAgICAgIG1zZyA9IHUiU2Vjb25kIEJhY2tncm91bmQgKGNhbiBoYXZlIG9ubHkg b25lKSIKKysgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IobXNnLCBzZWxmLmxpbmUs IHNlbGYuZmlsZW5hbWUsIGxpbmUpCisgICAgICAgICBuYW1lID0gbGluZVtsZW4oa2V5d29yZCkg KyAxOl0uc3RyaXAoKQorICAgICAgICAgYmFja2dyb3VuZCA9IG1vZGVsLkJhY2tncm91bmQoc2Vs Zi5maWxlbmFtZSwgc2VsZi5saW5lLCBrZXl3b3JkLCBuYW1lKQorKyAgICAgICAgc2VsZi5zY2Vu YXJpb19jb250YWluZXIuYWRkX2JhY2tncm91bmQoYmFja2dyb3VuZCkKKyAgICAgICAgIHNlbGYu c3RhdGVtZW50ID0gYmFja2dyb3VuZAorLSAgICAgICAgc2VsZi5zY2VuYXJpb19jb250YWluZXIu YmFja2dyb3VuZCA9IGJhY2tncm91bmQKKy0gICAgICAgICMgT0xEOiBzZWxmLmZlYXR1cmUuYmFj a2dyb3VuZCA9IHNlbGYuc3RhdGVtZW50CisgCisgICAgIGRlZiBfYnVpbGRfc2NlbmFyaW9fc3Rh dGVtZW50KHNlbGYsIGtleXdvcmQsIGxpbmUpOgorICAgICAgICAgbmFtZSA9IGxpbmVbbGVuKGtl eXdvcmQpICsgMTpdLnN0cmlwKCkKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJy aWRlX2JhY2tncm91bmQvUkVBRE1FLnJzdCBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFj a2dyb3VuZC9SRUFETUUucnN0CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDljMTUw Y2MuLjAwMDAwMDAKKy0tLSBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9S RUFETUUucnN0CisrKysgL2Rldi9udWxsCitAQCAtMSwxMTYgKzAsMCBAQAorLUVYQU1QTEU6IE92 ZXJyaWRlIC8gRGlzYWJsZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBmb3IgU2Nl bmFyaW8KKy09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistCistOlJFTEFURUQtVE86ICM3NTYKKy0K Ky1UaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRoZSBCYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hh bmlzbSBpbiBHaGVya2luCistY2FuIGJlIGRpc2FibGVkIGluIGBgYmVoYXZlYGAuCistCistUGFy dHMgb2YgdGhlIHJlY2lwZToKKy0KKy0qIGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZSAoRmVhdHVy ZSBmaWxlIGFzIGV4YW1wbGUpCistKiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weSAoZ2x1ZSBjb2Rl IGFuZCBob29rcyBmb3IgZml4dHVyZS10YWcgLyBmaXh0dXJlKQorLSogYmVoYXZlX2ZpeHR1cmVf bGliL292ZXJyaWRlX2JhY2tncm91bmQucHkgKGZpeHR1cmUgaW1wbGVtZW50YXRpb24sIHdvcmto b3JzZSkKKy0KKy0KKy0uLiB3YXJuaW5nOjogQkVXQVJFOiBUaGlzIHNob3dzIHlvdSBob3cgY2Fu IGRvIGl0LCBub3QgdGhhdCB5b3Ugc2hvdWxkIGRvIGl0CistCistICAgIEJFVFRFUjoKKy0KKy0g ICAgKiBVc2UgUnVsZXMgdG8gZ3JvdXAgU2NlbmFyaW9zLCBlYWNoIHdpdGggaXRzIG93biBCYWNr Z3JvdW5kIChpbiBHaGVya2luIHY2KQorLSAgICAqIFNwbGl0IEZlYXR1cmUgYXNwZWN0cyBpbnRv IG11bHRpcGxlIGZlYXR1cmUgZmlsZXMgKGlmIG5lZWRlZCkKKy0gICAgKiAuLi4gKHNlZSBpc3N1 ZSAjNzU2IGFib3ZlKQorLQorLQorLUV4cGxhbmF0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistCist RXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRlIGEgYmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJsZSB0 aGUKKy1iYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBieSB1c2luZyBhIGZpeHR1cmUg LyBmaXh0dXJlLXRhZy4KKy1UaGUgZml4dHVyZS10YWcgIkBpeHR1cmUuYmVoYXZlLm92ZXJyaWRl X2JhY2tncm91bmQiIG1hcmtzIHRoZQorLWxvY2F0aW9uIGluIEdoZXJraW4gKHdoaWNoIFNjZW5h cmlvKSB3aGVyZSB0aGUgZml4dHVyZSBzaG91bGQgYmUgdXNlZAorLQorLS4uIGNvZGUtYmxvY2s6 OiBnaGVya2luCistCistICAgICMgLS0gRklMRTogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCist ICAgIEZlYXR1cmU6IFNob3cgaG93IEBmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5k IGlzIHVzZWQKKy0KKy0gICAgICAgIEJhY2tncm91bmQ6CistICAgICAgICAgIEdpdmVuIGEgYmFj a2dyb3VuZCBzdGVwCistCistICAgICAgICBTY2VuYXJpbzogQWxpY2UKKy0gICAgICAgICAgV2hl biBhIHN0ZXAgcGFzc2VzCistICAgICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3Rl cHMgYXJlIGV4ZWN1dGVkIGhlcmUiCistCistICAgICAgICBAZml4dHVyZS5iZWhhdmUub3Zlcmlk ZV9iYWNrZ3JvdW5kCistICAgICAgICBTY2VuYXJpbzogQm9iCistICAgICAgICAgIEdpdmVuIEkg bmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwCistICAgICAgICAgIFdoZW4gYW5vdGhlciBzdGVw IHBhc3NlcworLSAgICAgICAgICBBbmQgbm90ZSB0aGF0ICJOTy1CQUNLR1JPVU5EIFNURVBTIGFy ZSBleGVjdXRlZCBoZXJlIgorLQorLVdoZW4gdGhlIGZlYXR1cmUgaXMgZXhlY3V0ZWQsIHlvdSBz ZWUgdGhhdDoKKy0KKy0qIEZpcnN0IFNjZW5hcmlvICJBbGljZSI6IEJhY2tncm91bmQgc3RlcHMg YXJlIGluaGVyaXRlZCBhbmQgZXhlY3V0ZWQgZmlyc3QuCistKiBTZWNvbmQgU2NlbmFyaW8gIkJv YiI6IE5vIEJhY2tncm91bmQgc3RlcCBpcyBleGVjdXRlZC4KKy0KKy0uLiBjb2RlLWJsb2NrOjog c2gKKy0KKy0gICAgJCAuLi8uLi9iaW4vYmVoYXZlIC1mIHBsYWluIGZlYXR1cmVzL2V4YW1wbGUu ZmVhdHVyZQorLSAgICBGZWF0dXJlOiBPdmVycmlkZSB0aGUgQmFja2dyb3VuZCBJbmhlcml0YW5j ZSBNZWNoYW5pc20gaW4gc29tZSBTY2VuYXJpb3MKKy0gICAgICBCYWNrZ3JvdW5kOgorLQorLSAg ICAgIFNjZW5hcmlvOiBBbGljZQorLSAgICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAgcGFz c2VzIC4uLiBwYXNzZWQKKy0gICAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcyAuLi4gcGFzc2VkCist ICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJl IiAuLi4gcGFzc2VkCistICAgIEZJWFRVUkUtSElOVDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjog Qm9iCistCistICAgICAgU2NlbmFyaW86IEJvYgorLSAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3Ro ZXIgc2NlbmFyaW8gc2V0dXAgLi4uIHBhc3NlZAorLSAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAg cGFzc2VzIC4uLiBwYXNzZWQKKy0gICAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQg U1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiIC4uLiBwYXNzZWQKKy0KKy0gICAgMSBmZWF0dXJlIHBh c3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorLSAgICAyIHNjZW5hcmlvcyBwYXNzZWQsIDAgZmFp bGVkLCAwIHNraXBwZWQKKy0gICAgNiBzdGVwcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQs IDAgdW5kZWZpbmVkCistCistCistVGhlIGVudmlyb25tZW50IGZpbGUgcHJvdmlkZXMgdGhlIGds dWUgY29kZSB0aGF0IHRoZSBmaXh0dXJlIGlzIGNhbGxlZDoKKy0KKy0uLiBjb2RlLWJsb2NrOjog cHl0aG9uCistCistICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKy0gICAg ZnJvbSBiZWhhdmVfZml4dHVyZV9saWIub3ZlcnJpZGVfYmFja2dyb3VuZCBpbXBvcnQgYmVoYXZl X292ZXJyaWRlX2JhY2tncm91bmQKKy0gICAgZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNl X2ZpeHR1cmVfYnlfdGFnCistCistICAgICMgLS0gRklYVFVSRSBSRUdJU1RSWToKKy0gICAgZml4 dHVyZV9yZWdpc3RyeSA9IHsKKy0gICAgICAgICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tn cm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZCwKKy0gICAgfQorLQorLSAgICAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCistICAgICMgSE9PS1M6CistICAgICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKy0gICAgZGVmIGJlZm9yZV90YWcoY29udGV4dCwgdGFnKToKKy0gICAgICAgIGlmIHRh Zy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgorLSAgICAgICAgICAgIHJldHVybiB1c2VfZml4dHVy ZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorLQorLQorLS4uIGNvZGUt YmxvY2s6OiBweXRob24KKy0KKy0gICAgIyAtLSBGSUxFOiBiZWhhdmVfZml4dHVyZV9saWIvb3Zl cnJpZGVfYmFja2dyb3VuZC5weSAoZml4dHVyZSBpbXBsZW1lbnRhdGlvbikKKy0gICAgZnJvbSBi ZWhhdmUgaW1wb3J0IGZpeHR1cmUKKy0KKy0gICAgQGZpeHR1cmUobmFtZT0iZml4dHVyZS5iZWhh dmUub3ZlcnJpZGVfYmFja2dyb3VuZCIpCistICAgIGRlZiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dy b3VuZChjdHgpOgorLSAgICAgICAgIyAtLSBTRVRVUC1QQVJULU9OTFk6IERpc2FibGUgYmFja2dy b3VuZCBpbmhlcml0YW5jZSAoZm9yIHNjZW5hcmlvcyBvbmx5KS4KKy0gICAgICAgIGN1cnJlbnRf c2NlbmFyaW8gPSBjdHguc2NlbmFyaW8KKy0gICAgICAgIGlmIGN1cnJlbnRfc2NlbmFyaW86Cist ICAgICAgICAgICAgYmVoYXZlX2Rpc2FibGVfYmFja2dyb3VuZF9pbmhlcml0YW5jZV9mb3Jfc2Nl bmFyaW8oY3VycmVudF9zY2VuYXJpbykKKy0KKy0gICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor LSAgICAjIEJFSEFWRSBVVElMSVRZOgorLSAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAg IGRlZiBiZWhhdmVfZGlzYWJsZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2Zvcl9zY2VuYXJpbyhz Y2VuYXJpbyk6CistICAgICAgICBwcmludCgiRklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9V TkQgRk9SOiAlcyIgJSBzY2VuYXJpby5uYW1lKQorLSAgICAgICAgc2NlbmFyaW8uYmFja2dyb3Vu ZCA9IE5vbmUKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91 bmQvYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVy cmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weQorZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCBlNjlkZTI5Li4wMDAwMDAwCitkaWZmIC0tZ2l0IGEvZXhh bXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVy cmlkZV9iYWNrZ3JvdW5kLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5k L2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3JvdW5kLnB5CitkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDZjNTcyY2YuLjAwMDAwMDAKKy0tLSBhL2V4YW1wbGVzL2ZpeHR1 cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dy b3VuZC5weQorKysrIC9kZXYvbnVsbAorQEAgLTEsODAgKzAsMCBAQAorLSMgLSotIGNvZGluZzog VVRGLTggLSotCistIyBSRUxBVEVELVRPOiAjNzU2CistIiIiCistRXhhbXBsZSBjb2RlIGhvdyB0 byBwcm92aWRlIGEgYmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJsZSB0aGUKKy1iYWNrZ3JvdW5kIGlu aGVyaXRhbmNlIG1lY2hhbmlzbS4KKy0KKy0uLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorLQorLSAg ICAjIC0tIEZJTEU6IGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorLSAgICBGZWF0dXJlOiBTaG93 IGhvdyBAZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZCBpcyB1c2VkCistCistICAg ICAgICBCYWNrZ3JvdW5kOgorLSAgICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcAorLQor LSAgICAgICAgU2NlbmFyaW86IEFsaWNlCistICAgICAgICAgIFdoZW4gYSBzdGVwIHBhc3Nlcwor LSAgICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBo ZXJlIgorLQorLSAgICAgICAgQGZpeHR1cmUuYmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZAorLSAg ICAgICAgU2NlbmFyaW86IEJvYgorLSAgICAgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2Vu YXJpbyBzZXR1cAorLSAgICAgICAgICBXaGVuIGFub3RoZXIgc3RlcCBwYXNzZXMKKy0gICAgICAg ICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIK Ky0KKy0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCistCistICAgICMgLS0gRklMRTogZmVhdHVyZXMv ZW52aXJvbm1lbnQucHkKKy0gICAgZnJvbSBiZWhhdmVfZml4dHVyZV9saWIub3ZlcnJpZGVfYmFj a2dyb3VuZCBpbXBvcnQgYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQKKy0gICAgZnJvbSBiZWhh dmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFnCistCistICAgICMgLS0gRklYVFVS RSBSRUdJU1RSWToKKy0gICAgZml4dHVyZV9yZWdpc3RyeSA9IHsKKy0gICAgICAgICJmaXh0dXJl LmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZCwK Ky0gICAgfQorLQorLSAgICBkZWYgYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgorLSAgICAgICAg aWYgdGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6CistICAgICAgICAgICAgcmV0dXJuIHVzZV9m aXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZpeHR1cmVfcmVnaXN0cnkpCistCistIiIiCist CistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9u CistZnJvbSBiZWhhdmUgaW1wb3J0IGZpeHR1cmUKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCistIyBCRUhBVkUgRklYVFVSRVM6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLUBmaXh0 dXJlKG5hbWU9ImZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQiKQorLWRlZiBiZWhh dmVfb3ZlcnJpZGVfYmFja2dyb3VuZChjdHgpOgorLSAgICAiIiJPdmVycmlkZSB0aGUgQmFja2dy b3VuZCBpbmhlcmludGFuY2UgbWVjaGFuaXNtLgorLSAgICBJZiBhIEZlYXR1cmUgLyBSdWxlIEJh Y2tncm91bmQgZXhpc3RzIGluIGEgRmVhdHVyZSwKKy0gICAgYWxsIGNvbnRhaW5lZCBTY2VuYXJp b3MgaW5oZXJpdCB0aGUgQmFja2dyb3VuZCdzIHN0ZXBzLgorLQorLSAgICBUaGlzIGZpeHR1cmUg ZGlzYWJsZXMgdGhpcyBtZWNoYW5pc20uCistICAgIFRoZSB0YWdnZWQgR2hlcmtpbiBlbGVtZW50 IHdpbGwgbm8gbG9uZ2VyIGluaGVyaXQgdGhlIGJhY2tncm91bmQgc3RlcHMuCistCistICAgIDpw YXJhbSBjdHg6IENvbnRleHQgb2JqZWN0IHRvIHVzZSAoZHVyaW5nIGEgdGVzdCBydW4pLgorLSAg ICAiIiIKKy0gICAgIyAtLSBTRVRVUC1QQVJULU9OTFk6IERpc2FibGUgYmFja2dyb3VuZCBpbmhl cml0YW5jZSAoZm9yIHNjZW5hcmlvcyBvbmx5KS4KKy0gICAgY3VycmVudF9zY2VuYXJpbyA9IGN0 eC5zY2VuYXJpbworLSAgICBpZiBjdXJyZW50X3NjZW5hcmlvOgorLSAgICAgICAgYmVoYXZlX2Rp c2FibGVfYmFja2dyb3VuZF9pbmhlcml0YW5jZV9mb3Jfc2NlbmFyaW8oY3VycmVudF9zY2VuYXJp bykKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBCRUhBVkUgVVRJTElUWToKKy0j IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistZGVmIGJlaGF2ZV9kaXNhYmxlX2JhY2tncm91bmRfaW5o ZXJpdGFuY2VfZm9yX3NjZW5hcmlvKHNjZW5hcmlvKToKKy0gICAgcHJpbnQoIkZJWFRVUkUtSElO VDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjogJXMiICUgc2NlbmFyaW8ubmFtZSkKKy0gICAgc2Nl bmFyaW8uYmFja2dyb3VuZCA9IE5vbmUKKy0gICAgIyBzY2VuYXJpby5fYmFja2dyb3VuZF9zdGVw cyA9IFtdCistCistCistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSMgTU9EVUxFIFNQRUNJRklD OgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1maXh0dXJlX3JlZ2lzdHJ5ID0geworLSAgICAi Zml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kIjogYmVoYXZlX292ZXJyaWRlX2JhY2tn cm91bmQsCistfQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dy b3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVf YmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCA3YTRiNzM1Li4wMDAwMDAwCistLS0gYS9leGFtcGxlcy9maXh0dXJlLm92ZXJy aWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysrKyAvZGV2L251bGwKK0BA IC0xLDM1ICswLDAgQEAKKy0jIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorLSMgLS0gRklMRTogZmVh dHVyZXMvZW52aXJvbm1lbnQucHkKKy1pbXBvcnQgb3MucGF0aAorLWltcG9ydCBzeXMKKy0KKy0j IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQWVRIT04gUEFUSCBTRVRVUDoKKy0jIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCistSEVSRSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKy1UT1BBID0g b3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihIRVJFLCAiLi4iKSkKKy0KKy1kZWYgc2V0dXBf cHl0aG9uX3BhdGgoKToKKy0gICAgc3lzLnBhdGguaW5zZXJ0KDAsIFRPUEEpCistCistc2V0dXBf cHl0aG9uX3BhdGgoKQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIE5PUk1BTCBQQVJU OgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1mcm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5vdmVy cmlkZV9iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZAorLWZyb20g YmVoYXZlLmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5X3RhZworLQorLSMgLS0gRklYVFVS RSBSRUdJU1RSWToKKy1maXh0dXJlX3JlZ2lzdHJ5ID0geworLSAgICAiZml4dHVyZS5iZWhhdmUu b3ZlcmlkZV9iYWNrZ3JvdW5kIjogYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQsCistfQorLQor LQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEhPT0tTOgorLSMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKy1kZWYgYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgorLSAgICBpZiB0YWcuc3RhcnRz d2l0aCgiZml4dHVyZS4iKToKKy0gICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFn LCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorLQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2Zp eHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUgYi9leGFt cGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJl CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDVkZGQ4NzQuLjAwMDAwMDAKKy0tLSBh L2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZl YXR1cmUKKysrKyAvZGV2L251bGwKK0BAIC0xLDE4ICswLDAgQEAKKy1GZWF0dXJlOiBPdmVycmlk ZSB0aGUgQmFja2dyb3VuZCBJbmhlcml0YW5jZSBNZWNoYW5pc20gaW4gc29tZSBTY2VuYXJpb3MK Ky0KKy0gIC4gQkVXQVJFOgorLSAgLiAgIFRoaXMgaXMgb25seSBhbiBleGFtcGxlIGhvdyB0aGlz IGNhbiBiZSBkb25lIChQUk9PRi1PRi1DT05DRVBUKS4KKy0gIC4gICBUaGlzIGlzIG5vdCBhbiBl eGFtcGxlIHRoYXQgeW91IHNob3VsZCBkbyB0aGlzICEhIQorLQorLSAgICBCYWNrZ3JvdW5kOgor LSAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwIHBhc3NlcworLQorLSAgICBTY2VuYXJpbzog QWxpY2UKKy0gICAgICBXaGVuIGEgc3RlcCBwYXNzZXMKKy0gICAgICBBbmQgbm90ZSB0aGF0ICJC YWNrZ3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJlIgorLQorLSAgICBAZml4dHVyZS5iZWhh dmUub3ZlcmlkZV9iYWNrZ3JvdW5kCistICAgIFNjZW5hcmlvOiBCb2IKKy0gICAgICBHaXZlbiBJ IG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cAorLSAgICAgIFdoZW4gYW5vdGhlciBzdGVwIHBh c3NlcworLSAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1 dGVkIGhlcmUiCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3Jv dW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVy cmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5CitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDM0ZjIxMDcuLjAwMDAwMDAKKy0tLSBhL2V4YW1wbGVzL2Zp eHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weQor KysrIC9kZXYvbnVsbAorQEAgLTEsMTMgKzAsMCBAQAorLWZyb20gYmVoYXZlIGltcG9ydCBnaXZl biwgc3RlcAorLQorLSMgQHN0ZXAodSd7d29yZH0gc3RlcCBwYXNzZXMnKQorLSMgZGVmIHN0ZXBf cGFzc2VzX3dpdGhfd29yZChjb250ZXh0LCB3b3JkKToKKy0jICAgICBwYXNzCistCistQHN0ZXAo dSd7d29yZH0gYmFja2dyb3VuZCBzdGVwIHBhc3NlcycpCistZGVmIHN0ZXBfYmFja2dyb3VuZF9z dGVwX3Bhc3Nlcyhjb250ZXh0LCB3b3JkKToKKy0gICAgcGFzcworLQorLUBnaXZlbih1J0kgbmVl ZCB7d29yZH0gc2NlbmFyaW8gc2V0dXAnKQorLWRlZiBzdGVwX2dpdmVuX2lfbmVlZF9zY2VuYXJp b19zZXR1cChjb250ZXh0LCB3b3JkKToKKy0gICAgcGFzcworZGlmZiAtLWdpdCBhL2V4YW1wbGVz L2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9i ZWhhdmU0Y21kLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1 cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggYmMzMmEzMi4uMDAwMDAwMAorLS0tIGEvZXhhbXBsZXMvZml4dHVyZS5vdmVy cmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkK KysrKyAvZGV2L251bGwKK0BAIC0xLDEyICswLDAgQEAKKy0jIC0qLSBjb2Rpbmc6IHV0Zi04IC0q LQorLSIiIgorLVVzZSBiZWhhdmU0Y21kMCBzdGVwIGxpYnJhcnkgKHByZWRlY2Vzc29yIG9mIGJl aGF2ZTRjbWQpLgorLSIiIgorLQorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1w b3J0CistCistIyAtLSBSRUdJU1RFUi1TVEVQUyBGUk9NIFNURVAtTElCUkFSWToKKy0jIGltcG9y dCBiZWhhdmU0Y21kMC5fX2FsbF9zdGVwc19fCistIyBpbXBvcnQgYmVoYXZlNGNtZDAuZmFpbGlu Z19zdGVwcworLWltcG9ydCBiZWhhdmU0Y21kMC5wYXNzaW5nX3N0ZXBzCistaW1wb3J0IGJlaGF2 ZTRjbWQwLm5vdGVfc3RlcHMKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRl eCBjZWE0MzkyLi44ZGUzZWMwIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5 CitAQCAtMTMxLDYgKzEzMSw3IEBAIHNldHVwKAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1 YWdlIDo6IFB5dGhvbiA6OiAzLjUiLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6 IFB5dGhvbiA6OiAzLjYiLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhv biA6OiAzLjciLAorKyAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAz LjgiLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1l bnRhdGlvbiA6OiBDUHl0aG9uIiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQ eXRob24gOjogSW1wbGVtZW50YXRpb24gOjogSnl0aG9uIiwKKyAgICAgICAgICJQcm9ncmFtbWlu ZyBMYW5ndWFnZSA6OiBQeXRob24gOjogSW1wbGVtZW50YXRpb24gOjogUHlQeSIsCitkaWZmIC0t Z2l0IGEvdGVzdHMvdW5pdC90ZXN0X21vZGVsLnB5IGIvdGVzdHMvdW5pdC90ZXN0X21vZGVsLnB5 CitpbmRleCBjMWZjNDI0Li4yMWQ2YzI3IDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X21v ZGVsLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfbW9kZWwucHkKK0BAIC04LDcgKzgsNyBAQCBm cm9tIG1vY2sgaW1wb3J0IE1vY2ssIHBhdGNoCisgaW1wb3J0IHNpeAorIGZyb20gc2l4Lm1vdmVz IGltcG9ydCByYW5nZSAgICAgIyBweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVkLWJ1aWx0aW4KKyBm cm9tIHNpeC5tb3ZlcyBpbXBvcnQgemlwICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXJlZGVmaW5l ZC1idWlsdGluCistZnJvbSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgRmlsZUxvY2F0aW9uLCBT dGF0dXMKKytmcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBTdGF0dXMKKyBmcm9tIGJlaGF2 ZS5tb2RlbCBpbXBvcnQgRmVhdHVyZSwgU2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSwgU3RlcAor IGZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBUYWJsZSwgUm93CisgZnJvbSBiZWhhdmUubWF0Y2hl cnMgaW1wb3J0IE5vTWF0Y2gKK0BAIC0yMCwxOSArMjAsMTIgQEAgZnJvbSBiZWhhdmUgaW1wb3J0 IHN0ZXBfcmVnaXN0cnkKKyAKKyBpZiBzaXguUFkyOgorICAgICAjIHB5bGludDogZGlzYWJsZT11 bnVzZWQtaW1wb3J0CistICAgIGltcG9ydCB0cmFjZWJhY2syIGFzIHRyYWNlYmFjaworICAgICB0 cmFjZWJhY2tfbW9kbmFtZSA9ICJ0cmFjZWJhY2syIgorIGVsc2U6CisgICAgICMgcHlsaW50OiBk aXNhYmxlPXVudXNlZC1pbXBvcnQKKy0gICAgaW1wb3J0IHRyYWNlYmFjaworICAgICB0cmFjZWJh Y2tfbW9kbmFtZSA9ICJ0cmFjZWJhY2siCisgCisgCistCistIyAtLSBDT05WRU5JRU5DRS1BTElB UzoKKy1fdGV4dCA9IHNpeC50ZXh0X3R5cGUKKy0KKy0KKyBjbGFzcyBUZXN0RmVhdHVyZVJ1bih1 bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICMgcHlsaW50OiBkaXNhYmxlPWludmFsaWQtbmFtZQor IAorQEAgLTc2OSwxMTEgKzc2MiwzIEBAIGNsYXNzIFRlc3RNb2RlbFJvdyh1bml0dGVzdC5UZXN0 Q2FzZSk6CisgICAgICAgICBhc3NlcnQgZGF0YTFbIm5hbWUiXSA9PSB1IkFsaWNlIgorICAgICAg ICAgYXNzZXJ0IGRhdGExWyJzZXgiXSA9PSB1ImZlbWFsZSIKKyAgICAgICAgIGFzc2VydCBkYXRh MVsiYWdlIl0gPT0gdSIxMiIKKy0KKy0KKy1jbGFzcyBUZXN0RmlsZUxvY2F0aW9uKHVuaXR0ZXN0 LlRlc3RDYXNlKToKKy0gICAgIyBweWxpbnQ6IGRpc2FibGU9aW52YWxpZC1uYW1lCistICAgIG9y ZGVyZWRfbG9jYXRpb25zMSA9IFsKKy0gICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxp Y2UuZmVhdHVyZSIsIDEpLAorLSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5m ZWF0dXJlIiwgNSksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1 cmUiLCAxMCksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUi LCAxMSksCistICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAx MDApLAorLSAgICBdCistICAgIG9yZGVyZWRfbG9jYXRpb25zMiA9IFsKKy0gICAgICAgIEZpbGVM b2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDEpLAorLSAgICAgICAgRmlsZUxvY2F0 aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgMTApLAorLSAgICAgICAgRmlsZUxvY2F0aW9u KCJmZWF0dXJlcy9ib2IuZmVhdHVyZSIsIDUpLAorLSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0 dXJlcy9jaGFybHkuZmVhdHVyZSIsIE5vbmUpLAorLSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0 dXJlcy9jaGFybHkuZmVhdHVyZSIsIDApLAorLSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJl cy9jaGFybHkuZmVhdHVyZSIsIDEwMCksCistICAgIF0KKy0gICAgc2FtZV9sb2NhdGlvbnMgPSBb CistICAgICAgICAoRmlsZUxvY2F0aW9uKCJhbGljZS5mZWF0dXJlIiksCistICAgICAgICAgRmls ZUxvY2F0aW9uKCJhbGljZS5mZWF0dXJlIiwgTm9uZSksCistICAgICAgICApLAorLSAgICAgICAg KEZpbGVMb2NhdGlvbigiYWxpY2UuZmVhdHVyZSIsIDEwKSwKKy0gICAgICAgICBGaWxlTG9jYXRp b24oImFsaWNlLmZlYXR1cmUiLCAxMCksCistICAgICAgICApLAorLSAgICAgICAgKEZpbGVMb2Nh dGlvbigiZmVhdHVyZXMvYm9iLmZlYXR1cmUiLCAxMSksCistICAgICAgICAgRmlsZUxvY2F0aW9u KCJmZWF0dXJlcy9ib2IuZmVhdHVyZSIsIDExKSwKKy0gICAgICAgICksCistICAgIF0KKy0KKy0g ICAgZGVmIHRlc3RfY29tcGFyZV9lcXVhbChzZWxmKToKKy0gICAgICAgIGZvciB2YWx1ZTEsIHZh bHVlMiBpbiBzZWxmLnNhbWVfbG9jYXRpb25zOgorLSAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEg PT0gdmFsdWUyCistCistICAgIGRlZiB0ZXN0X2NvbXBhcmVfZXF1YWxfd2l0aF9zdHJpbmcoc2Vs Zik6CistICAgICAgICBmb3IgbG9jYXRpb24gaW4gc2VsZi5vcmRlcmVkX2xvY2F0aW9uczI6Cist ICAgICAgICAgICAgYXNzZXJ0IGxvY2F0aW9uID09IGxvY2F0aW9uLmZpbGVuYW1lCistICAgICAg ICAgICAgYXNzZXJ0IGxvY2F0aW9uLmZpbGVuYW1lID09IGxvY2F0aW9uCistCistICAgIGRlZiB0 ZXN0X2NvbXBhcmVfbm90X2VxdWFsKHNlbGYpOgorLSAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUy IGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6CistICAgICAgICAgICAgYXNzZXJ0IG5vdCh2YWx1ZTEg IT0gdmFsdWUyKSAgICAjIHB5bGludDogZGlzYWJsZT11bm5lZWRlZC1ub3QsIHN1cGVyZmx1b3Vz LXBhcmVucworLQorLSAgICAgICAgZm9yIGxvY2F0aW9ucyBpbiBbc2VsZi5vcmRlcmVkX2xvY2F0 aW9uczEsIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyXToKKy0gICAgICAgICAgICBmb3IgdmFsdWUx LCB2YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywgbG9jYXRpb25zWzE6XSk6CistICAgICAgICAgICAg ICAgIGFzc2VydCB2YWx1ZTEgIT0gdmFsdWUyCistCistICAgIGRlZiB0ZXN0X2NvbXBhcmVfbGVz c190aGFuKHNlbGYpOgorLSAgICAgICAgZm9yIGxvY2F0aW9ucyBpbiBbc2VsZi5vcmRlcmVkX2xv Y2F0aW9uczEsIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyXToKKy0gICAgICAgICAgICBmb3IgdmFs dWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywgbG9jYXRpb25zWzE6XSk6CistICAgICAgICAg ICAgICAgIGFzc2VydCB2YWx1ZTEgPCB2YWx1ZTIsICJGQUlMRUQ6ICVzIDwgJXMiICUgKF90ZXh0 KHZhbHVlMSksIF90ZXh0KHZhbHVlMikpCistICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEg IT0gdmFsdWUyCistCistICAgIGRlZiB0ZXN0X2NvbXBhcmVfbGVzc190aGFuX3dpdGhfc3RyaW5n KHNlbGYpOgorLSAgICAgICAgbG9jYXRpb25zID0gc2VsZi5vcmRlcmVkX2xvY2F0aW9uczIKKy0g ICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpd KToKKy0gICAgICAgICAgICBpZiB2YWx1ZTEuZmlsZW5hbWUgPT0gdmFsdWUyLmZpbGVuYW1lOgor LSAgICAgICAgICAgICAgICBjb250aW51ZQorLSAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPCB2 YWx1ZTIuZmlsZW5hbWUsIFwKKy0gICAgICAgICAgICAgICAgICAgIkZBSUxFRDogJXMgPCAlcyIg JSAoX3RleHQodmFsdWUxKSwgX3RleHQodmFsdWUyLmZpbGVuYW1lKSkKKy0gICAgICAgICAgICBh c3NlcnQgdmFsdWUxLmZpbGVuYW1lIDwgdmFsdWUyLCBcCistICAgICAgICAgICAgICAgICAgICJG QUlMRUQ6ICVzIDwgJXMiICUgKF90ZXh0KHZhbHVlMS5maWxlbmFtZSksIF90ZXh0KHZhbHVlMikp CistCistICAgIGRlZiB0ZXN0X2NvbXBhcmVfZ3JlYXRlcl90aGFuKHNlbGYpOgorLSAgICAgICAg Zm9yIGxvY2F0aW9ucyBpbiBbc2VsZi5vcmRlcmVkX2xvY2F0aW9uczEsIHNlbGYub3JkZXJlZF9s b2NhdGlvbnMyXToKKy0gICAgICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0 aW9ucywgbG9jYXRpb25zWzE6XSk6CistICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTIgPiB2 YWx1ZTEsICJGQUlMRUQ6ICVzID4gJXMiICUgKF90ZXh0KHZhbHVlMiksIF90ZXh0KHZhbHVlMSkp CistICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTIgIT0gdmFsdWUxCistCistICAgIGRlZiB0 ZXN0X2NvbXBhcmVfbGVzc19vcl9lcXVhbChzZWxmKToKKy0gICAgICAgIGZvciB2YWx1ZTEsIHZh bHVlMiBpbiBzZWxmLnNhbWVfbG9jYXRpb25zOgorLSAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEg PD0gdmFsdWUyLCAiRkFJTEVEOiAlcyA8PSAlcyIgJSAoX3RleHQodmFsdWUxKSwgX3RleHQodmFs dWUyKSkKKy0gICAgICAgICAgICBhc3NlcnQgdmFsdWUxID09IHZhbHVlMgorLQorLSAgICAgICAg Zm9yIGxvY2F0aW9ucyBpbiBbc2VsZi5vcmRlcmVkX2xvY2F0aW9uczEsIHNlbGYub3JkZXJlZF9s b2NhdGlvbnMyXToKKy0gICAgICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0 aW9ucywgbG9jYXRpb25zWzE6XSk6CistICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPD0g dmFsdWUyLCAiRkFJTEVEOiAlcyA8PSAlcyIgJSAoX3RleHQodmFsdWUxKSwgX3RleHQodmFsdWUy KSkKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSAhPSB2YWx1ZTIKKy0KKy0gICAgZGVm IHRlc3RfY29tcGFyZV9ncmVhdGVyX29yX2VxdWFsKHNlbGYpOgorLSAgICAgICAgZm9yIHZhbHVl MSwgdmFsdWUyIGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6CistICAgICAgICAgICAgYXNzZXJ0IHZh bHVlMiA+PSB2YWx1ZTEsICJGQUlMRUQ6ICVzID49ICVzIiAlIChfdGV4dCh2YWx1ZTIpLCBfdGV4 dCh2YWx1ZTEpKQorLSAgICAgICAgICAgIGFzc2VydCB2YWx1ZTIgPT0gdmFsdWUxCistCistICAg ICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRl cmVkX2xvY2F0aW9uczJdOgorLSAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAo bG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVl MiA+PSB2YWx1ZTEsICJGQUlMRUQ6ICVzID49ICVzIiAlIChfdGV4dCh2YWx1ZTIpLCBfdGV4dCh2 YWx1ZTEpKQorLSAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUyICE9IHZhbHVlMQorLQorLSAg ICBkZWYgdGVzdF9maWxlbmFtZV9zaG91bGRfYmVfc2FtZV9hc19zZWxmKHNlbGYpOgorLSAgICAg ICAgZm9yIGxvY2F0aW9uIGluIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyOgorLSAgICAgICAgICAg IGFzc2VydCBsb2NhdGlvbiA9PSBsb2NhdGlvbi5maWxlbmFtZQorLSAgICAgICAgICAgIGFzc2Vy dCBsb2NhdGlvbi5maWxlbmFtZSA9PSBsb2NhdGlvbgorLQorLSAgICBkZWYgdGVzdF9zdHJpbmdf Y29udmVyc2lvbihzZWxmKToKKy0gICAgICAgIGZvciBsb2NhdGlvbiBpbiBzZWxmLm9yZGVyZWRf bG9jYXRpb25zMjoKKy0gICAgICAgICAgICBleHBlY3RlZCA9IHUiJXM6JXMiICUgKGxvY2F0aW9u LmZpbGVuYW1lLCBsb2NhdGlvbi5saW5lKQorLSAgICAgICAgICAgIGlmIGxvY2F0aW9uLmxpbmUg aXMgTm9uZToKKy0gICAgICAgICAgICAgICAgZXhwZWN0ZWQgPSBsb2NhdGlvbi5maWxlbmFtZQor LSAgICAgICAgICAgIGFzc2VydCBzaXgudGV4dF90eXBlKGxvY2F0aW9uKSA9PSBleHBlY3RlZAor LQorLSAgICBkZWYgdGVzdF9yZXByX2NvbnZlcnNpb24oc2VsZik6CistICAgICAgICBmb3IgbG9j YXRpb24gaW4gc2VsZi5vcmRlcmVkX2xvY2F0aW9uczI6CistICAgICAgICAgICAgZXhwZWN0ZWQg PSB1JzxGaWxlTG9jYXRpb246IGZpbGVuYW1lPSIlcyIsIGxpbmU9JXM+JyAlIFwKKy0gICAgICAg ICAgICAgICAgICAgICAgIChsb2NhdGlvbi5maWxlbmFtZSwgbG9jYXRpb24ubGluZSkKKy0gICAg ICAgICAgICBhY3R1YWwgPSByZXByKGxvY2F0aW9uKQorLSAgICAgICAgICAgIGFzc2VydCBhY3R1 YWwgPT0gZXhwZWN0ZWQsICJGQUlMRUQ6ICVzID09ICVzIiAlIChhY3R1YWwsIGV4cGVjdGVkKQor ZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9tb2RlbDIucHkgYi90ZXN0cy91bml0L3Rlc3Rf bW9kZWwyLnB5CitpbmRleCA3ODg0YjkwLi5hODZiODBlIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5p dC90ZXN0X21vZGVsMi5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X21vZGVsMi5weQorQEAgLTM1 LDEwICszNSw2IEBAIGRlZiBzdGVwX3RvX3RleHQoc3RlcCwgaW5kZW50YXRpb249IiAgICAiKToK KyAgICAgcmV0dXJuIHN0ZXBfdGV4dC5yc3RyaXAoKQorIAorIAorLSMgLS0gUFlURVNUIE1BUktF UlMvQU5OT1RBVElPTlM6Cistbm90X2ltcGxlbWVudGVkX3lldCA9IHB5dGVzdC5tYXJrLnNraXAo Ik5PVC1JTVBMRU1FTlRFRC1ZRVQiKQorLQorLQorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMg VEVTVCBTVUlURToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RpZmYgLS1naXQgYS90ZXN0cy91 bml0L3Rlc3RfbW9kZWxfY29yZS5weSBiL3Rlc3RzL3VuaXQvdGVzdF9tb2RlbF9jb3JlLnB5Citp bmRleCBiNWYyMGM0Li4zY2I1ZWZhIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X21vZGVs X2NvcmUucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9tb2RlbF9jb3JlLnB5CitAQCAtNCwxMCAr NCwxNiBAQAorICIiIgorIAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24K Ky1mcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9ydCBTdGF0dXMKKytpbXBvcnQgc2l4CisrZnJv bSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgU3RhdHVzLCBGaWxlTG9jYXRpb24KKyBpbXBvcnQg cHl0ZXN0CisgCisgCisrIyAtLSBDT05WRU5JRU5DRS1BTElBUzoKKytfdGV4dCA9IHNpeC50ZXh0 X3R5cGUKKysKKysKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBURVNUUzoKKyAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtNTQsMyArNjAsMTExIEBAIGNsYXNzIFRlc3RTdGF0dXMo b2JqZWN0KToKKyAgICAgZGVmIHRlc3RfZnJvbV9uYW1lX193aXRoX3Vua25vd25fbmFtZV9yYWlz ZXNfbG9va3VwZXJyb3Ioc2VsZiwgdW5rbm93bl9uYW1lKToKKyAgICAgICAgIHdpdGggcHl0ZXN0 LnJhaXNlcyhMb29rdXBFcnJvcik6CisgICAgICAgICAgICAgU3RhdHVzLmZyb21fbmFtZSh1bmtu b3duX25hbWUpCisrCisrCisrY2xhc3MgVGVzdEZpbGVMb2NhdGlvbihvYmplY3QpOgorKyAgICAj IHB5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUKKysgICAgb3JkZXJlZF9sb2NhdGlvbnMxID0g WworKyAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgMSksCisr ICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCA1KSwKKysgICAg ICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDEwKSwKKysgICAgICAg IEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDExKSwKKysgICAgICAgIEZp bGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDEwMCksCisrICAgIF0KKysgICAg b3JkZXJlZF9sb2NhdGlvbnMyID0gWworKyAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9h bGljZS5mZWF0dXJlIiwgMSksCisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNl LmZlYXR1cmUiLCAxMCksCisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2JvYi5mZWF0 dXJlIiwgNSksCisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2NoYXJseS5mZWF0dXJl IiwgTm9uZSksCisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2NoYXJseS5mZWF0dXJl IiwgMCksCisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2NoYXJseS5mZWF0dXJlIiwg MTAwKSwKKysgICAgXQorKyAgICBzYW1lX2xvY2F0aW9ucyA9IFsKKysgICAgICAgIChGaWxlTG9j YXRpb24oImFsaWNlLmZlYXR1cmUiKSwKKysgICAgICAgICBGaWxlTG9jYXRpb24oImFsaWNlLmZl YXR1cmUiLCBOb25lKSwKKysgICAgICAgICksCisrICAgICAgICAoRmlsZUxvY2F0aW9uKCJhbGlj ZS5mZWF0dXJlIiwgMTApLAorKyAgICAgICAgIEZpbGVMb2NhdGlvbigiYWxpY2UuZmVhdHVyZSIs IDEwKSwKKysgICAgICAgICksCisrICAgICAgICAoRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9ib2Iu ZmVhdHVyZSIsIDExKSwKKysgICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVzL2JvYi5mZWF0 dXJlIiwgMTEpLAorKyAgICAgICAgKSwKKysgICAgXQorKworKyAgICBkZWYgdGVzdF9jb21wYXJl X2VxdWFsKHNlbGYpOgorKyAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHNlbGYuc2FtZV9s b2NhdGlvbnM6CisrICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA9PSB2YWx1ZTIKKysKKysgICAg ZGVmIHRlc3RfY29tcGFyZV9lcXVhbF93aXRoX3N0cmluZyhzZWxmKToKKysgICAgICAgIGZvciBs b2NhdGlvbiBpbiBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMjoKKysgICAgICAgICAgICBhc3NlcnQg bG9jYXRpb24gPT0gbG9jYXRpb24uZmlsZW5hbWUKKysgICAgICAgICAgICBhc3NlcnQgbG9jYXRp b24uZmlsZW5hbWUgPT0gbG9jYXRpb24KKysKKysgICAgZGVmIHRlc3RfY29tcGFyZV9ub3RfZXF1 YWwoc2VsZik6CisrICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xvY2F0 aW9uczoKKysgICAgICAgICAgICBhc3NlcnQgbm90KHZhbHVlMSAhPSB2YWx1ZTIpICAgICMgcHls aW50OiBkaXNhYmxlPXVubmVlZGVkLW5vdCwgc3VwZXJmbHVvdXMtcGFyZW5zCisrCisrICAgICAg ICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVk X2xvY2F0aW9uczJdOgorKyAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9j YXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSAh PSB2YWx1ZTIKKysKKysgICAgZGVmIHRlc3RfY29tcGFyZV9sZXNzX3RoYW4oc2VsZik6CisrICAg ICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRl cmVkX2xvY2F0aW9uczJdOgorKyAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAo bG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVl MSA8IHZhbHVlMiwgIkZBSUxFRDogJXMgPCAlcyIgJSAoX3RleHQodmFsdWUxKSwgX3RleHQodmFs dWUyKSkKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSAhPSB2YWx1ZTIKKysKKysgICAg ZGVmIHRlc3RfY29tcGFyZV9sZXNzX3RoYW5fd2l0aF9zdHJpbmcoc2VsZik6CisrICAgICAgICBs b2NhdGlvbnMgPSBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMgorKyAgICAgICAgZm9yIHZhbHVlMSwg dmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorKyAgICAgICAgICAgIGlm IHZhbHVlMS5maWxlbmFtZSA9PSB2YWx1ZTIuZmlsZW5hbWU6CisrICAgICAgICAgICAgICAgIGNv bnRpbnVlCisrICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8IHZhbHVlMi5maWxlbmFtZSwgXAor KyAgICAgICAgICAgICAgICAgICAiRkFJTEVEOiAlcyA8ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBf dGV4dCh2YWx1ZTIuZmlsZW5hbWUpKQorKyAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEuZmlsZW5h bWUgPCB2YWx1ZTIsIFwKKysgICAgICAgICAgICAgICAgICAgIkZBSUxFRDogJXMgPCAlcyIgJSAo X3RleHQodmFsdWUxLmZpbGVuYW1lKSwgX3RleHQodmFsdWUyKSkKKysKKysgICAgZGVmIHRlc3Rf Y29tcGFyZV9ncmVhdGVyX3RoYW4oc2VsZik6CisrICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtz ZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorKyAgICAg ICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpd KToKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiA+IHZhbHVlMSwgIkZBSUxFRDogJXMg PiAlcyIgJSAoX3RleHQodmFsdWUyKSwgX3RleHQodmFsdWUxKSkKKysgICAgICAgICAgICAgICAg YXNzZXJ0IHZhbHVlMiAhPSB2YWx1ZTEKKysKKysgICAgZGVmIHRlc3RfY29tcGFyZV9sZXNzX29y X2VxdWFsKHNlbGYpOgorKyAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHNlbGYuc2FtZV9s b2NhdGlvbnM6CisrICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8PSB2YWx1ZTIsICJGQUlMRUQ6 ICVzIDw9ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIpKQorKyAgICAgICAgICAg IGFzc2VydCB2YWx1ZTEgPT0gdmFsdWUyCisrCisrICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtz ZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorKyAgICAg ICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpd KToKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8PSB2YWx1ZTIsICJGQUlMRUQ6ICVz IDw9ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIpKQorKyAgICAgICAgICAgICAg ICBhc3NlcnQgdmFsdWUxICE9IHZhbHVlMgorKworKyAgICBkZWYgdGVzdF9jb21wYXJlX2dyZWF0 ZXJfb3JfZXF1YWwoc2VsZik6CisrICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gc2VsZi5z YW1lX2xvY2F0aW9uczoKKysgICAgICAgICAgICBhc3NlcnQgdmFsdWUyID49IHZhbHVlMSwgIkZB SUxFRDogJXMgPj0gJXMiICUgKF90ZXh0KHZhbHVlMiksIF90ZXh0KHZhbHVlMSkpCisrICAgICAg ICAgICAgYXNzZXJ0IHZhbHVlMiA9PSB2YWx1ZTEKKysKKysgICAgICAgIGZvciBsb2NhdGlvbnMg aW4gW3NlbGYub3JkZXJlZF9sb2NhdGlvbnMxLCBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMl06Cisr ICAgICAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9u c1sxOl0pOgorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUyID49IHZhbHVlMSwgIkZBSUxF RDogJXMgPj0gJXMiICUgKF90ZXh0KHZhbHVlMiksIF90ZXh0KHZhbHVlMSkpCisrICAgICAgICAg ICAgICAgIGFzc2VydCB2YWx1ZTIgIT0gdmFsdWUxCisrCisrICAgIGRlZiB0ZXN0X2ZpbGVuYW1l X3Nob3VsZF9iZV9zYW1lX2FzX3NlbGYoc2VsZik6CisrICAgICAgICBmb3IgbG9jYXRpb24gaW4g c2VsZi5vcmRlcmVkX2xvY2F0aW9uczI6CisrICAgICAgICAgICAgYXNzZXJ0IGxvY2F0aW9uID09 IGxvY2F0aW9uLmZpbGVuYW1lCisrICAgICAgICAgICAgYXNzZXJ0IGxvY2F0aW9uLmZpbGVuYW1l ID09IGxvY2F0aW9uCisrCisrICAgIGRlZiB0ZXN0X3N0cmluZ19jb252ZXJzaW9uKHNlbGYpOgor KyAgICAgICAgZm9yIGxvY2F0aW9uIGluIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyOgorKyAgICAg ICAgICAgIGV4cGVjdGVkID0gdSIlczolcyIgJSAobG9jYXRpb24uZmlsZW5hbWUsIGxvY2F0aW9u LmxpbmUpCisrICAgICAgICAgICAgaWYgbG9jYXRpb24ubGluZSBpcyBOb25lOgorKyAgICAgICAg ICAgICAgICBleHBlY3RlZCA9IGxvY2F0aW9uLmZpbGVuYW1lCisrICAgICAgICAgICAgYXNzZXJ0 IHNpeC50ZXh0X3R5cGUobG9jYXRpb24pID09IGV4cGVjdGVkCisrCisrICAgIGRlZiB0ZXN0X3Jl cHJfY29udmVyc2lvbihzZWxmKToKKysgICAgICAgIGZvciBsb2NhdGlvbiBpbiBzZWxmLm9yZGVy ZWRfbG9jYXRpb25zMjoKKysgICAgICAgICAgICBleHBlY3RlZCA9IHUnPEZpbGVMb2NhdGlvbjog ZmlsZW5hbWU9IiVzIiwgbGluZT0lcz4nICUgXAorKyAgICAgICAgICAgICAgICAgICAgICAgKGxv Y2F0aW9uLmZpbGVuYW1lLCBsb2NhdGlvbi5saW5lKQorKyAgICAgICAgICAgIGFjdHVhbCA9IHJl cHIobG9jYXRpb24pCisrICAgICAgICAgICAgYXNzZXJ0IGFjdHVhbCA9PSBleHBlY3RlZCwgIkZB SUxFRDogJXMgPT0gJXMiICUgKGFjdHVhbCwgZXhwZWN0ZWQpCitkaWZmIC0tZ2l0IGEvdGVzdHMv dW5pdC90ZXN0X3BhcnNlcl9naGVya2luX3Y2LnB5IGIvdGVzdHMvdW5pdC90ZXN0X3BhcnNlcl9n aGVya2luX3Y2LnB5CitpbmRleCA5OTFhNTdkLi40M2UzZDQxIDEwMDY0NAorLS0tIGEvdGVzdHMv dW5pdC90ZXN0X3BhcnNlcl9naGVya2luX3Y2LnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfcGFy c2VyX2doZXJraW5fdjYucHkKK0BAIC0yMjcsNyArMjI3LDkgQEAgRmVhdHVyZTogV2l0aCBSdWxl CisgICAgICAgICBhc3NlcnQgcnVsZTEuZGVzY3JpcHRpb24gPT0gW10KKyAgICAgICAgIGFzc2Vy dCBydWxlMS50YWdzID09IFtdCisgICAgICAgICBhc3NlcnQgbGVuKHJ1bGUxLnNjZW5hcmlvcykg PT0gMQorLSAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgZmVhdHVyZS5iYWNrZ3Jv dW5kCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3QgZmVhdHVyZS5iYWNr Z3JvdW5kCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZC5pbmhlcml0ZWRfc3RlcHMg PT0gZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBhc3NlcnQgbGlzdChydWxlMS5i YWNrZ3JvdW5kLmFsbF9zdGVwcykgPT0gZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzCisgICAgICAg ICBhc3NlcnRfY29tcGFyZV9zdGVwcyhydWxlMS5zY2VuYXJpb3NbMF0uYWxsX3N0ZXBzLCBbCisg ICAgICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIsICJmZWF0dXJlIGJhY2tncm91bmQgc3RlcCAx IiwgTm9uZSwgTm9uZSksCisgICAgICAgICAgICAgKCJ3aGVuIiwgIldoZW4iLCAiZmVhdHVyZSBi YWNrZ3JvdW5kIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAorQEAgLTIzNSw3ICsyMzcsNyBAQCBGZWF0 dXJlOiBXaXRoIFJ1bGUKKyAgICAgICAgICAgICAoIndoZW4iLCAiV2hlbiIsICJzY2VuYXJpbyBz dGVwIDIiLCBOb25lLCBOb25lKSwKKyAgICAgICAgIF0pCisgCistICAgIGRlZiB0ZXN0X3BhcnNl c19ydWxlX3dpdGhfYmFja2dyb3VuZF9zaG91bGRfbm90X2luaGVyaXRfZmVhdHVyZV9iYWNrZ3Jv dW5kKHNlbGYpOgorKyAgICBkZWYgdGVzdF9wYXJzZXNfcnVsZV93aXRoX2JhY2tncm91bmRfaW5o ZXJpdHNfZmVhdHVyZV9iYWNrZ3JvdW5kKHNlbGYpOgorICAgICAgICAgIiIiSWYgYSBSdWxlIGhh cyBubyBCYWNrZ3JvdW5kLAorICAgICAgICAgaXQgaW5oZXJpdHMgdGhlIEZlYXR1cmUncyBCYWNr Z3JvdW5kIChpZiBvbmUgZXhpc3RzKS4KKyAgICAgICAgICIiIgorQEAgLTI2OSwxMyArMjcxLDE1 IEBAIEZlYXR1cmU6IFdpdGggUnVsZQorICAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQg aXMgbm90IE5vbmUKKyAgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0 dXJlLmJhY2tncm91bmQKKyAgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxLnNjZW5h cmlvc1swXS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgImZl YXR1cmUgYmFja2dyb3VuZCBzdGVwIDEiLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAoIndo ZW4iLCAgIldoZW4iLCAgImZlYXR1cmUgYmFja2dyb3VuZCBzdGVwIDIiLCBOb25lLCBOb25lKSwK KyAgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgInJ1bGUgYmFja2dyb3VuZCBzdGVwIDEi LCBOb25lLCBOb25lKSwKKy0gICAgICAgICAgICAoIndoZW4iLCAiV2hlbiIsICJydWxlIGJhY2tn cm91bmQgc3RlcCAyIiwgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKCJ3aGVuIiwgICJXaGVu IiwgICJydWxlIGJhY2tncm91bmQgc3RlcCAyIiwgTm9uZSwgTm9uZSksCisgICAgICAgICAgICAg KCJnaXZlbiIsICJHaXZlbiIsICJzY2VuYXJpbyBzdGVwIDEiLCBOb25lLCBOb25lKSwKKy0gICAg ICAgICAgICAoIndoZW4iLCAiV2hlbiIsICJzY2VuYXJpbyBzdGVwIDIiLCBOb25lLCBOb25lKSwK KysgICAgICAgICAgICAoIndoZW4iLCAgIldoZW4iLCAgInNjZW5hcmlvIHN0ZXAgMiIsIE5vbmUs IE5vbmUpLAorICAgICAgICAgXSkKKyAKKy0gICAgZGVmIHRlc3RfcGFyc2VzX3J1bGVfd2l0aF9l bXB0eV9iYWNrZ3JvdW5kX3ByZXZlbnRzX2luaGVyaXRpbmdfZmVhdHVyZV9iYWNrZ3JvdW5kKHNl bGYpOgorKyAgICBkZWYgdGVzdF9wYXJzZXNfcnVsZV93aXRoX2VtcHR5X2JhY2tncm91bmRfaW5o ZXJpdHNfZmVhdHVyZV9iYWNrZ3JvdW5kKHNlbGYpOgorICAgICAgICAgIiIiQSBSdWxlIGhhcyBl bXB0eSBCYWNrZ3JvdW5kICh3aXRob3V0IGFueSBzdGVwcykgcHJldmVudHMgdGhhdAorICAgICAg ICAgRmVhdHVyZSBCYWNrZ3JvdW5kIGlzIGluaGVyaXRlZCAoaWYgb25lIGV4aXN0cykuCisgICAg ICAgICAiIiIKK0BAIC0zMDgsOCArMzEyLDEwIEBAIEZlYXR1cmU6IFdpdGggUnVsZQorICAgICAg ICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IGZlYXR1cmUuYmFja2dyb3VuZAorICAg ICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQubmFtZSA9PSAiUnVsZV9SM0MuRW1wdHlfQmFj a2dyb3VuZCIKKyAgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxLnNjZW5hcmlvc1sw XS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgImZlYXR1cmUg YmFja2dyb3VuZCBzdGVwIDEiLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAoIndoZW4iLCAg IldoZW4iLCAgImZlYXR1cmUgYmFja2dyb3VuZCBzdGVwIDIiLCBOb25lLCBOb25lKSwKKyAgICAg ICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgInNjZW5hcmlvIHN0ZXAgMSIsIE5vbmUsIE5vbmUp LAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgInNjZW5hcmlvIHN0ZXAgMiIsIE5vbmUs IE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICJzY2VuYXJpbyBzdGVwIDIi LCBOb25lLCBOb25lKSwKKyAgICAgICAgIF0pCisgCisgICAgIGRlZiB0ZXN0X3BhcnNlc19ydWxl X3dpdGhfc2NlbmFyaW8oc2VsZik6CitAQCAtNTU4LDYgKzU2NCw3IEBAIEZlYXR1cmU6IFdpdGgg UnVsZQorICAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgJ3N0ZXAgdXNlcyAiMiInLCBOb25l LCBOb25lKSwKKyAgICAgICAgIF0pCisgCisrICAgICMgQGNoZWNrLmR1cGxpY2F0ZWQKKyAgICAg ZGVmIHRlc3RfcGFyc2VfYmFja2dyb3VuZF9zY2VuYXJpb19hbmRfcnVsZXMoc2VsZik6CisgICAg ICAgICAiIiJISU5UOiBTb21lIFNjZW5hcmlvcyBtYXkgZXhpc3QgYmVmb3JlIHRoZSBmaXJzdCBS dWxlLiIiIgorICAgICAgICAgdGV4dCA9IHUnJycKK0BAIC02MDYsMTAgKzYxMywxMCBAQCBGZWF0 dXJlOiBXaXRoIFNjZW5hcmlvcyBhbmQgUnVsZXMKKyAgICAgICAgIGFzc2VydCBzY2VuYXJpbzEu dGFncyA9PSBbXQorICAgICAgICAgYXNzZXJ0IHNjZW5hcmlvMS5kZXNjcmlwdGlvbiA9PSBbXQor ICAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMoc2NlbmFyaW8xLmFsbF9zdGVwcywgWworLSAg ICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMScs IE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgICAnZmVhdHVyZSBi YWNrZ3JvdW5kIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgiZ2l2ZW4iLCAi R2l2ZW4iLCAnc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKy0gICAgICAgICAgICAo IndoZW4iLCAiV2hlbiIsICAgJ3NjZW5hcmlvXzEgc3RlcF8yJywgTm9uZSwgTm9uZSksCisrICAg ICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8x JywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUid2hlbiIsIHUiV2hlbiIsICAgdSdmZWF0 dXJlIGJhY2tncm91bmQgc3RlcF8yJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2 ZW4iLCB1IkdpdmVuIiwgdSdzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAg ICAgICAgICh1IndoZW4iLCB1IldoZW4iLCAgIHUnc2NlbmFyaW9fMSBzdGVwXzInLCBOb25lLCBO b25lKSwKKyAgICAgICAgIF0pCisgCisgICAgICAgICBhc3NlcnQgcnVsZTEubmFtZSA9PSAiUjEi CitAQCAtNjIzLDkgKzYzMCwxMSBAQCBGZWF0dXJlOiBXaXRoIFNjZW5hcmlvcyBhbmQgUnVsZXMK KyAgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEucGFyZW50IGlzIHJ1bGUxCisgICAgICAg ICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmZlYXR1cmUgaXMgZmVhdHVyZQorICAgICAgICAgYXNz ZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTFfc2NlbmFyaW8xLmFsbF9zdGVwcywgWworKyAgICAgICAg ICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMScsIE5vbmUs IE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICAnZmVhdHVyZSBiYWNrZ3Jv dW5kIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorICAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4i LCAncnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorICAgICAgICAgICAg ICgiZ2l2ZW4iLCAiR2l2ZW4iLCAncnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5v bmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVuIiwgICAncnVsZSBSMSBzY2VuYXJpb18x IHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIsICAiV2hlbiIsICAn cnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAK KyAgICAgICAgIGFzc2VydCBydWxlMi5uYW1lID09ICJSMiIKK0BAIC02MzMsMTYgKzY0MiwzMTgg QEAgRmVhdHVyZTogV2l0aCBTY2VuYXJpb3MgYW5kIFJ1bGVzCisgICAgICAgICBhc3NlcnQgcnVs ZTIuZmVhdHVyZSBpcyBmZWF0dXJlCisgICAgICAgICBhc3NlcnQgcnVsZTIuZGVzY3JpcHRpb24g PT0gW10KKyAgICAgICAgIGFzc2VydCBydWxlMi50YWdzID09IFtdCistICAgICAgICBhc3NlcnQg cnVsZTIuYmFja2dyb3VuZCBpcyBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBy dWxlMi5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2Vy dCBsaXN0KHJ1bGUyLmJhY2tncm91bmQuaW5oZXJpdGVkX3N0ZXBzKSA9PSBsaXN0KGZlYXR1cmUu YmFja2dyb3VuZC5zdGVwcykKKysgICAgICAgIGFzc2VydCBsaXN0KHJ1bGUyLmJhY2tncm91bmQu YWxsX3N0ZXBzKSA9PSBsaXN0KGZlYXR1cmUuYmFja2dyb3VuZC5zdGVwcykKKyAgICAgICAgIGFz c2VydCBsZW4ocnVsZTIuc2NlbmFyaW9zKSA9PSAxCisgICAgICAgICBhc3NlcnQgcnVsZTJfc2Nl bmFyaW8xLm5hbWUgPT0gIlIyLlNjZW5hcmlvXzEiCisgICAgICAgICBhc3NlcnQgcnVsZTJfc2Nl bmFyaW8xLnBhcmVudCBpcyBydWxlMgorICAgICAgICAgYXNzZXJ0IHJ1bGUyX3NjZW5hcmlvMS5m ZWF0dXJlIGlzIGZlYXR1cmUKKyAgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUyX3Nj ZW5hcmlvMS5hbGxfc3RlcHMsIFsKKyAgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgJ2Zl YXR1cmUgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKy0gICAgICAgICAgICAoIndo ZW4iLCAiV2hlbiIsICAgJ2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzInLCBOb25lLCBOb25lKSwK KysgICAgICAgICAgICAoIndoZW4iLCAgIldoZW4iLCAgJ2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVw XzInLCBOb25lLCBOb25lKSwKKyAgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgJ3J1bGUg UjIgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKy0gICAgICAgICAgICAoIndoZW4i LCAiV2hlbiIsICAgJ3J1bGUgUjIgc2NlbmFyaW9fMSBzdGVwXzInLCBOb25lLCBOb25lKSwKKysg ICAgICAgICAgICAoIndoZW4iLCAgIldoZW4iLCAgJ3J1bGUgUjIgc2NlbmFyaW9fMSBzdGVwXzIn LCBOb25lLCBOb25lKSwKKysgICAgICAgIF0pCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KysjIFRFU1QgU1VJVEU6IFZlcmlmeSBGZWF0dXJlIEJhY2tncm91bmQgdG8gUnVsZSBCYWNrZ3Jv dW5kIEluaGVyaXRhbmNlCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytjbGFzcyBUZXN0UGFyc2Vy NEJhY2tncm91bmQob2JqZWN0KToKKysgICAgIiIiVmVyaWZ5IGZlYXR1cmUuYmFja2dyb3VuZCB0 byBydWxlLmJhY2tncm91bmQgaW5oZXJpdGFuY2UsIGV0Yy4iIiIKKysKKysgICAgZGVmIHRlc3Rf cGFyc2VfX25vcnVsZV9zY2VuYXJpb3NfdXNlX2ZlYXR1cmVfYmFja2dyb3VuZChzZWxmKToKKysg ICAgICAgICIiIkFGRkVDVEVEOiBTY2VuYXJpb3Mgb3V0c2lkZSBvZiBydWxlcyAoYmVmb3JlIGZp cnN0IHJ1bGUpLiIiIgorKyAgICAgICAgdGV4dCA9IHUnJycKKysgICAgICAgICAgICBGZWF0dXJl OiBXaXRoIFNjZW5hcmlvcyBhbmQgUnVsZXMKKysgICAgICAgICAgICAKKysgICAgICAgICAgICAg IEJhY2tncm91bmQ6IEZlYXR1cmUuQmFja2dyb3VuZAorKyAgICAgICAgICAgICAgICBHaXZlbiBm ZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xCisrICAgICAgICAgICAgCisrICAgICAgICAgICAgICBT Y2VuYXJpbzogU2NlbmFyaW9fMQorKyAgICAgICAgICAgICAgICBHaXZlbiBzY2VuYXJpb18xIHN0 ZXBfMQorKyAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgUnVsZTogUjEKKysgICAgICAgICAg ICAgICAgU2NlbmFyaW86IFIxLlNjZW5hcmlvXzEKKysgICAgICAgICAgICAgICAgICBHaXZlbiBy dWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgICAgICAgJycnLmxzdHJpcCgpCisrICAg ICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQorKyAgICAgICAgYXNzZXJ0IGZlYXR1 cmUubmFtZSA9PSAiV2l0aCBTY2VuYXJpb3MgYW5kIFJ1bGVzIgorKyAgICAgICAgYXNzZXJ0IGZl YXR1cmUuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJl LnNjZW5hcmlvcykgPT0gMQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bGVzKSA9PSAx CisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVuX2l0ZW1zKSA9PSAyCisrCisrICAgICAg ICBzY2VuYXJpbzEgPSBmZWF0dXJlLnNjZW5hcmlvc1swXQorKyAgICAgICAgcnVsZTEgPSBmZWF0 dXJlLnJ1bGVzWzBdCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5ydW5faXRlbXMgPT0gW3NjZW5h cmlvMSwgcnVsZTFdCisrCisrICAgICAgICBhc3NlcnQgc2NlbmFyaW8xLm5hbWUgPT0gIlNjZW5h cmlvXzEiCisrICAgICAgICBhc3NlcnQgc2NlbmFyaW8xLmJhY2tncm91bmQgaXMgZmVhdHVyZS5i YWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgc2NlbmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0g ZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhz Y2VuYXJpbzEuYWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwg dSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAg KHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdzY2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAor KyAgICAgICAgXSkKKysKKysgICAgZGVmIHRlc3RfcGFyc2VfX25vcnVsZV9zY2VuYXJpb3Nfd2l0 aF9kaXNhYmxlZF9iYWNrZ3JvdW5kKHNlbGYpOgorKyAgICAgICAgIiIiQUZGRUNURUQ6IFNjZW5h cmlvcyBvdXRzaWRlIG9mIHJ1bGVzIChiZWZvcmUgZmlyc3QgcnVsZSkuIiIiCisrICAgICAgICB0 ZXh0ID0gdScnJworKyAgICAgICAgICAgIEZlYXR1cmU6IFNjZW5hcmlvIHdpdGggZGlzYWJsZWQg YmFja2dyb3VuZAorKyAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgQmFja2dyb3VuZDogRmVh dHVyZS5CYWNrZ3JvdW5kCisrICAgICAgICAgICAgICAgIEdpdmVuIGZlYXR1cmUgYmFja2dyb3Vu ZCBzdGVwXzEKKysgICAgICAgICAgICAKKysgICAgICAgICAgICAgIEBmaXh0dXJlLmJlaGF2ZS5k aXNhYmxlX2JhY2tncm91bmQKKysgICAgICAgICAgICAgIFNjZW5hcmlvOiBTY2VuYXJpb18xCisr ICAgICAgICAgICAgICAgIEdpdmVuIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgICAgICAgCisr ICAgICAgICAgICAgICBTY2VuYXJpbzogU2NlbmFyaW9fMgorKyAgICAgICAgICAgICAgICBHaXZl biBzY2VuYXJpb18yIHN0ZXBfMQorKyAgICAgICAgICAgICcnJy5sc3RyaXAoKQorKyAgICAgICAg ZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUodGV4dCkKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLm5h bWUgPT0gIlNjZW5hcmlvIHdpdGggZGlzYWJsZWQgYmFja2dyb3VuZCIKKysgICAgICAgIGFzc2Vy dCBmZWF0dXJlLmJhY2tncm91bmQgaXMgbm90IE5vbmUKKysgICAgICAgIGFzc2VydCBsZW4oZmVh dHVyZS5zY2VuYXJpb3MpID09IDIKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydW5faXRl bXMpID09IDIKKysKKysgICAgICAgIHNjZW5hcmlvMSA9IGZlYXR1cmUuc2NlbmFyaW9zWzBdCisr ICAgICAgICBzY2VuYXJpbzIgPSBmZWF0dXJlLnNjZW5hcmlvc1sxXQorKyAgICAgICAgYXNzZXJ0 IGZlYXR1cmUucnVuX2l0ZW1zID09IFtzY2VuYXJpbzEsIHNjZW5hcmlvMl0KKysKKysgICAgICAg IHNjZW5hcmlvMS51c2VfYmFja2dyb3VuZCA9IEZhbHNlICAgICMgLS0gRklYVFVSRS1FRkZFQ1Qg KHNpbXVsYXRlZCkKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzEubmFtZSA9PSAiU2NlbmFyaW9f MSIKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBmZWF0dXJlLmJhY2tn cm91bmQKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyAhPSBmZWF0 dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzEuYmFja2dyb3Vu ZF9zdGVwcyA9PSBbXQorKyAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMoc2NlbmFyaW8xLmFs bF9zdGVwcywgWworKyAgICAgICAgICAgICh1ImdpdmVuIiwgdSJHaXZlbiIsIHUnc2NlbmFyaW9f MSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgIF0pCisrCisrICAgICAgICAjIC0tIEVO U1VSRTogRGlzYWJsaW5nIG9mIGJhY2tncm91bmQgaGFzIG5vIGVmZmVjdCBvbiBvdGhlciBzY2Vu YXJpb3MuCisrICAgICAgICBhc3NlcnQgc2NlbmFyaW8yLm5hbWUgPT0gIlNjZW5hcmlvXzIiCisr ICAgICAgICBhc3NlcnQgc2NlbmFyaW8yLmJhY2tncm91bmQgaXMgZmVhdHVyZS5iYWNrZ3JvdW5k CisrICAgICAgICBhc3NlcnQgc2NlbmFyaW8yLmJhY2tncm91bmRfc3RlcHMgPT0gZmVhdHVyZS5i YWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhzY2VuYXJpbzIu YWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdmZWF0dXJl IGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2ZW4i LCB1IkdpdmVuIiwgdSdzY2VuYXJpb18yIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAg XSkKKysKKysgICAgZGVmIHRlc3RfcGFyc2VfX3J1bGVfc2NlbmFyaW9zX2luaGVyaXRfZmVhdHVy ZV9iYWNrZ3JvdW5kX3dpdGhvdXRfcnVsZV9iYWNrZ3JvdW5kKHNlbGYpOgorKyAgICAgICAgdGV4 dCA9IHUnJycKKysgICAgICAgICAgICBGZWF0dXJlOiBXaXRoIEJhY2tncm91bmQgYW5kIFJ1bGUK KysgICAgCisrICAgICAgICAgICAgICBCYWNrZ3JvdW5kOiBGZWF0dXJlLkJhY2tncm91bmQKKysg ICAgICAgICAgICAgICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMQorKyAgICAKKysg ICAgICAgICAgICAgIFJ1bGU6IFIxCisrICAgICAgICAgICAgICAgIFNjZW5hcmlvOiBSMS5TY2Vu YXJpb18xCisrICAgICAgICAgICAgICAgICAgR2l2ZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBf MQorKyAgICAgICAgICAgICcnJy5sc3RyaXAoKQorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2Zl YXR1cmUodGV4dCkKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLm5hbWUgPT0gIldpdGggQmFja2dy b3VuZCBhbmQgUnVsZSIKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLmJhY2tncm91bmQgaXMgbm90 IE5vbmUKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5zY2VuYXJpb3MpID09IDAKKysgICAg ICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydWxlcykgPT0gMQorKyAgICAgICAgYXNzZXJ0IGxlbihm ZWF0dXJlLnJ1bl9pdGVtcykgPT0gMQorKworKyAgICAgICAgcnVsZTEgPSBmZWF0dXJlLnJ1bGVz WzBdCisrICAgICAgICBydWxlMV9zY2VuYXJpbzEgPSBydWxlMS5zY2VuYXJpb3NbMF0KKysgICAg ICAgIGFzc2VydCBmZWF0dXJlLnJ1bl9pdGVtcyA9PSBbcnVsZTFdCisrCisrICAgICAgICBhc3Nl cnQgcnVsZTFfc2NlbmFyaW8xLm5hbWUgPT0gIlIxLlNjZW5hcmlvXzEiCisrICAgICAgICBhc3Nl cnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQgaXMgbm90IE5vbmUKKysgICAgICAgICMgYXNz ZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQK KysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBmZWF0 dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUx X3NjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4i LCB1J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgICAg ICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25l LCBOb25lKSwKKysgICAgICAgIF0pCisrCisrICAgIGRlZiB0ZXN0X3BhcnNlX19ydWxlX3NjZW5h cmlvc19pbmhlcml0X2ZlYXR1cmVfYmFja2dyb3VuZF93aXRoX3J1bGVfYmFja2dyb3VuZChzZWxm KToKKysgICAgICAgIHRleHQgPSB1JycnCisrICAgICAgICAgICAgRmVhdHVyZTogV2l0aCBGZWF0 dXJlLkJhY2tncm91bmQgYW5kIFJ1bGUuQmFja2dyb3VuZAorKworKyAgICAgICAgICAgICAgQmFj a2dyb3VuZDogRmVhdHVyZS5CYWNrZ3JvdW5kCisrICAgICAgICAgICAgICAgIEdpdmVuIGZlYXR1 cmUgYmFja2dyb3VuZCBzdGVwXzEKKysKKysgICAgICAgICAgICAgIFJ1bGU6IFIxCisrICAgICAg ICAgICAgICAgIEJhY2tncm91bmQ6IFIxLkJhY2tncm91bmQKKysgICAgICAgICAgICAgICAgICBH aXZlbiBydWxlIFIxIGJhY2tncm91bmQgc3RlcF8xCisrICAgICAgICAgICAgICAgIAorKyAgICAg ICAgICAgICAgICBTY2VuYXJpbzogUjEuU2NlbmFyaW9fMQorKyAgICAgICAgICAgICAgICAgIEdp dmVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICAgICAgICAnJycubHN0cmlwKCkK KysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKHRleHQpCisrICAgICAgICBhc3NlcnQg ZmVhdHVyZS5uYW1lID09ICJXaXRoIEZlYXR1cmUuQmFja2dyb3VuZCBhbmQgUnVsZS5CYWNrZ3Jv dW5kIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAg ICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0gMAorKyAgICAgICAgYXNzZXJ0 IGxlbihmZWF0dXJlLnJ1bGVzKSA9PSAxCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVu X2l0ZW1zKSA9PSAxCisrCisrICAgICAgICBydWxlMSA9IGZlYXR1cmUucnVsZXNbMF0KKysgICAg ICAgIHJ1bGUxX3NjZW5hcmlvMSA9IHJ1bGUxLnNjZW5hcmlvc1swXQorKyAgICAgICAgYXNzZXJ0 IGZlYXR1cmUucnVuX2l0ZW1zID09IFtydWxlMV0KKysKKysgICAgICAgIGFzc2VydCBydWxlMS5i YWNrZ3JvdW5kIGlzIG5vdCBOb25lCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBp cyBub3QgZmVhdHVyZS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3Vu ZC5pbmhlcml0ZWRfc3RlcHMgPT0gZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBh c3NlcnQgbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFsbF9zdGVwcykgIT0gZmVhdHVyZS5iYWNrZ3Jv dW5kLnN0ZXBzCisrCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLm5hbWUgPT0gIlIx LlNjZW5hcmlvXzEiCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQg aXMgcnVsZTEuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNr Z3JvdW5kX3N0ZXBzID09IGxpc3QocnVsZTEuYmFja2dyb3VuZC5hbGxfc3RlcHMpCisrICAgICAg ICBhc3NlcnRfY29tcGFyZV9zdGVwcyhydWxlMV9zY2VuYXJpbzEuYWxsX3N0ZXBzLCBbCisrICAg ICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8x JywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdydWxl IFIxIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2 ZW4iLCB1IkdpdmVuIiwgdSdydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xJywgTm9uZSwgTm9uZSks CisrICAgICAgICBdKQorKworKyAgICBkZWYgdGVzdF9wYXJzZV9fcnVsZV9zY2VuYXJpb3Nfd2l0 aF9ydWxlX2JhY2tncm91bmRfd2hlbl9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2lzX2Rpc2FibGVk KHNlbGYpOgorKyAgICAgICAgIyAtLSBISU5UOiBCYWNrZ3JvdW5kIGluaGVyaXRhbmNlIGlzIGVu YWJsZWQgKGJ5IGRlZmF1bHQpLgorKyAgICAgICAgdGV4dCA9IHUnJycKKysgICAgICAgICAgICBG ZWF0dXJlOiBXaXRoIEZlYXR1cmUgQmFja2dyb3VuZCBJbmhlcml0YW5jZSBkaXNhYmxlZAorKwor KyAgICAgICAgICAgICAgQmFja2dyb3VuZDogRmVhdHVyZS5CYWNrZ3JvdW5kCisrICAgICAgICAg ICAgICAgIEdpdmVuIGZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEKKysKKysgICAgICAgICAgICAg IEBmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5kCisrICAgICAgICAgICAgICBSdWxl OiBSMQorKyAgICAgICAgICAgICAgICBCYWNrZ3JvdW5kOiBSMS5CYWNrZ3JvdW5kCisrICAgICAg ICAgICAgICAgICAgR2l2ZW4gcnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMQorKworKyAgICAgICAg ICAgICAgICBTY2VuYXJpbzogUjEuU2NlbmFyaW9fMQorKyAgICAgICAgICAgICAgICAgIEdpdmVu IHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICAgICAgICAnJycubHN0cmlwKCkKKysg ICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKHRleHQpCisrICAgICAgICBhc3NlcnQgZmVh dHVyZS5uYW1lID09ICJXaXRoIEZlYXR1cmUgQmFja2dyb3VuZCBJbmhlcml0YW5jZSBkaXNhYmxl ZCIKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLmJhY2tncm91bmQgaXMgbm90IE5vbmUKKysgICAg ICAgIGFzc2VydCBsZW4oZmVhdHVyZS5zY2VuYXJpb3MpID09IDAKKysgICAgICAgIGFzc2VydCBs ZW4oZmVhdHVyZS5ydWxlcykgPT0gMQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bl9p dGVtcykgPT0gMQorKworKyAgICAgICAgcnVsZTEgPSBmZWF0dXJlLnJ1bGVzWzBdCisrICAgICAg ICBydWxlMV9zY2VuYXJpbzEgPSBydWxlMS5zY2VuYXJpb3NbMF0KKysgICAgICAgIGFzc2VydCBm ZWF0dXJlLnJ1bl9pdGVtcyA9PSBbcnVsZTFdCisrCisrICAgICAgICBydWxlMS51c2VfYmFja2dy b3VuZF9pbmhlcml0YW5jZSA9IEZhbHNlICAjIEZJWFRVUkUtRUZGRUNUIChzaW11bGF0ZWQpCisr ICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNz ZXJ0IHJ1bGUxLmJhY2tncm91bmQudXNlX2luaGVyaXRhbmNlIGlzIEZhbHNlCisrICAgICAgICBh c3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3QgZmVhdHVyZS5iYWNrZ3JvdW5kCisrICAgICAg ICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZC5pbmhlcml0ZWRfc3RlcHMgPT0gW10KKysgICAgICAg IGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVwcyAhPSBmZWF0dXJlLmJhY2tn cm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydCBsaXN0KHJ1bGUxLmJhY2tncm91bmQuYWxsX3N0 ZXBzKSAhPSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysKKysgICAgICAgIGFzc2VydCBydWxl MV9zY2VuYXJpbzEubmFtZSA9PSAiUjEuU2NlbmFyaW9fMSIKKysgICAgICAgIGFzc2VydCBydWxl MV9zY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBydWxlMS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3Nl cnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0gcnVsZTEuYmFja2dyb3VuZC5z dGVwcworKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzID09 IGxpc3QocnVsZTEuYmFja2dyb3VuZC5hbGxfc3RlcHMpCisrICAgICAgICBhc3NlcnRfY29tcGFy ZV9zdGVwcyhydWxlMV9zY2VuYXJpbzEuYWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAgKHUiZ2l2 ZW4iLCB1IkdpdmVuIiwgdSdydWxlIFIxIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSks CisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdydWxlIFIxIHNjZW5hcmlvXzEg c3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICBdKQorKworKyAgICBkZWYgdGVzdF9wYXJz ZV9fcnVsZV9zY2VuYXJpb3Nfd2l0aG91dF9ydWxlX2JhY2tncm91bmRfd2hlbl9iYWNrZ3JvdW5k X2luaGVyaXRhbmNlX2lzX2Rpc2FibGVkX3dpdGhvdXQoc2VsZik6CisrICAgICAgICAjIC0tIEhJ TlQ6IEJhY2tncm91bmQgaW5oZXJpdGFuY2UgaXMgZW5hYmxlZCAoYnkgZGVmYXVsdCkuCisrICAg ICAgICB0ZXh0ID0gdScnJworKyAgICAgICAgICAgIEZlYXR1cmU6IFdpdGggRmVhdHVyZSBCYWNr Z3JvdW5kIEluaGVyaXRhbmNlIGRpc2FibGVkCisrCisrICAgICAgICAgICAgICBCYWNrZ3JvdW5k OiBGZWF0dXJlLkJhY2tncm91bmQKKysgICAgICAgICAgICAgICAgR2l2ZW4gZmVhdHVyZSBiYWNr Z3JvdW5kIHN0ZXBfMQorKworKyAgICAgICAgICAgICAgQGZpeHR1cmUuYmVoYXZlLm92ZXJyaWRl X2JhY2tncm91bmQKKysgICAgICAgICAgICAgIFJ1bGU6IFIxCisrICAgICAgICAgICAgICAgIFNj ZW5hcmlvOiBSMS5TY2VuYXJpb18xCisrICAgICAgICAgICAgICAgICAgR2l2ZW4gcnVsZSBSMSBz Y2VuYXJpb18xIHN0ZXBfMQorKyAgICAgICAgICAgICcnJy5sc3RyaXAoKQorKyAgICAgICAgZmVh dHVyZSA9IHBhcnNlX2ZlYXR1cmUodGV4dCkKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLm5hbWUg PT0gIldpdGggRmVhdHVyZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIGRpc2FibGVkIgorKyAgICAg ICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0 IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0gMAorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJl LnJ1bGVzKSA9PSAxCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVuX2l0ZW1zKSA9PSAx CisrCisrICAgICAgICBydWxlMSA9IGZlYXR1cmUucnVsZXNbMF0KKysgICAgICAgIHJ1bGUxX3Nj ZW5hcmlvMSA9IHJ1bGUxLnNjZW5hcmlvc1swXQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUucnVu X2l0ZW1zID09IFtydWxlMV0KKysKKysgICAgICAgIHJ1bGUxLnVzZV9iYWNrZ3JvdW5kX2luaGVy aXRhbmNlID0gRmFsc2UgICMgRklYVFVSRS1FRkZFQ1QgKHNpbXVsYXRlZCkKKysgICAgICAgIGFz c2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lCisrICAgICAgICBhc3NlcnQgcnVsZTEu YmFja2dyb3VuZC51c2VfaW5oZXJpdGFuY2UgaXMgRmFsc2UKKysgICAgICAgIGFzc2VydCBydWxl MS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBy dWxlMS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVwcyA9PSBbXQorKworKyAgICAgICAgYXNzZXJ0 IHJ1bGUxX3NjZW5hcmlvMS5uYW1lID09ICJSMS5TY2VuYXJpb18xIgorKyAgICAgICAgYXNzZXJ0 IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIHJ1bGUxLmJhY2tncm91bmQKKysgICAgICAg IGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBydWxlMS5iYWNrZ3Jv dW5kLnN0ZXBzCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmRfc3Rl cHMgPT0gbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFsbF9zdGVwcykKKysgICAgICAgIGFzc2VydF9j b21wYXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAo dSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBO b25lKSwKKysgICAgICAgIF0pCisrCisrICAgIGRlZiB0ZXN0X3BhcnNlX19ydWxlX3NjZW5hcmlv c193aXRob3V0X2ZlYXR1cmVfYmFja2dyb3VuZF9hbmRfd2l0aF9ydWxlX2JhY2tncm91bmQoc2Vs Zik6CisrICAgICAgICB0ZXh0ID0gdScnJworKyAgICAgICAgICAgIEZlYXR1cmU6IFdpdGhvdXQg RmVhdHVyZS5CYWNrZ3JvdW5kIGFuZCB3aXRoIFJ1bGUuQmFja2dyb3VuZAorKworKyAgICAgICAg ICAgICAgUnVsZTogUjEKKysgICAgICAgICAgICAgICAgQmFja2dyb3VuZDogUjEuQmFja2dyb3Vu ZAorKyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1bGUgUjEgYmFja2dyb3VuZCBzdGVwXzEKKysK KysgICAgICAgICAgICAgICAgU2NlbmFyaW86IFIxLlNjZW5hcmlvXzEKKysgICAgICAgICAgICAg ICAgICBHaXZlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgICAgICAgJycnLmxz dHJpcCgpCisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQorKyAgICAgICAg YXNzZXJ0IGZlYXR1cmUubmFtZSA9PSAiV2l0aG91dCBGZWF0dXJlLkJhY2tncm91bmQgYW5kIHdp dGggUnVsZS5CYWNrZ3JvdW5kIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBp cyBOb25lCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAwCisrICAg ICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVsZXMpID09IDEKKysgICAgICAgIGFzc2VydCBsZW4o ZmVhdHVyZS5ydW5faXRlbXMpID09IDEKKysKKysgICAgICAgIHJ1bGUxID0gZmVhdHVyZS5ydWxl c1swXQorKyAgICAgICAgcnVsZTFfc2NlbmFyaW8xID0gcnVsZTEuc2NlbmFyaW9zWzBdCisrICAg ICAgICBhc3NlcnQgZmVhdHVyZS5ydW5faXRlbXMgPT0gW3J1bGUxXQorKworKyAgICAgICAgYXNz ZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IE5vbmUKKysgICAgICAgIGFzc2VydCBydWxlMS5i YWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxl MS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVwcyA9PSBbXQorKworKyAgICAgICAgYXNzZXJ0IHJ1 bGUxX3NjZW5hcmlvMS5uYW1lID09ICJSMS5TY2VuYXJpb18xIgorKyAgICAgICAgYXNzZXJ0IHJ1 bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIHJ1bGUxLmJhY2tncm91bmQKKysgICAgICAgIGFz c2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBydWxlMS5iYWNrZ3JvdW5k LnN0ZXBzCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmRfc3RlcHMg PT0gbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFsbF9zdGVwcykKKysgICAgICAgIGFzc2VydF9jb21w YXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJn aXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25l KSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgc2NlbmFyaW9f MSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgIF0pCisrCisrICAgIGRlZiB0ZXN0X3Bh cnNlX19ydWxlX3NjZW5hcmlvc193aXRob3V0X2ZlYXR1cmVfYW5kX3J1bGVfYmFja2dyb3VuZChz ZWxmKToKKysgICAgICAgIHRleHQgPSB1JycnCisrICAgICAgICAgICAgRmVhdHVyZTogV2l0aG91 dCBGZWF0dXJlLkJhY2tncm91bmQgYW5kIFJ1bGUuQmFja2dyb3VuZAorKworKyAgICAgICAgICAg ICAgUnVsZTogUjEKKysgICAgICAgICAgICAgICAgU2NlbmFyaW86IFIxLlNjZW5hcmlvXzEKKysg ICAgICAgICAgICAgICAgICBHaXZlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAg ICAgICAgJycnLmxzdHJpcCgpCisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0 KQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubmFtZSA9PSAiV2l0aG91dCBGZWF0dXJlLkJhY2tn cm91bmQgYW5kIFJ1bGUuQmFja2dyb3VuZCIKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLmJhY2tn cm91bmQgaXMgTm9uZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0g MAorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bGVzKSA9PSAxCisrICAgICAgICBhc3Nl cnQgbGVuKGZlYXR1cmUucnVuX2l0ZW1zKSA9PSAxCisrCisrICAgICAgICBydWxlMSA9IGZlYXR1 cmUucnVsZXNbMF0KKysgICAgICAgIHJ1bGUxX3NjZW5hcmlvMSA9IHJ1bGUxLnNjZW5hcmlvc1sw XQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUucnVuX2l0ZW1zID09IFtydWxlMV0KKysKKysgICAg ICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIE5vbmUKKysKKysgICAgICAgIGFzc2VydCBy dWxlMV9zY2VuYXJpbzEubmFtZSA9PSAiUjEuU2NlbmFyaW9fMSIKKysgICAgICAgIGFzc2VydCBy dWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBOb25lCisrICAgICAgICBhc3NlcnQgcnVsZTFf c2NlbmFyaW8xLmJhY2tncm91bmQgaXMgcnVsZTEuYmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0 IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzID09IFtdCisrICAgICAgICBhc3NlcnRf Y29tcGFyZV9zdGVwcyhydWxlMV9zY2VuYXJpbzEuYWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAg KHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xJywgTm9uZSwg Tm9uZSksCisgICAgICAgICBdKQorIAorIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Mi1BZGQtc3VwcG9ydC1mb3ItcnVu dGltZS1jb25zdHJhaW50cy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTItQWRkLXN1cHBvcnQtZm9yLXJ1bnRpbWUtY29uc3RyYWlu dHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45NjRiODNlNjkK LS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDUyLUFkZC1zdXBwb3J0LWZvci1ydW50aW1lLWNvbnN0cmFpbnRzLnBh dGNoCkBAIC0wLDAgKzEsMjY5IEBACitGcm9tIDI2ZTQzMWM4MjFjMjYwYTk4MWNhOGVkMjhmMjEz MzBjOGVmMTdhZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgMTMgSnVsIDIwMTkgMTM6 MTg6MDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHN1cHBvcnQgZm9yIHJ1bnRpbWUgY29u c3RyYWludHMuCisKKy0tLQorIC5idW1wdmVyc2lvbi5jZmcgICAgICAgICAgICAgICAgIHwgIDIg Ky0KKyBiZWhhdmUvX19pbml0X18ucHkgICAgICAgICAgICAgICB8ICAyICstCisgYmVoYXZlL19f bWFpbl9fLnB5ICAgICAgICAgICAgICAgfCAxMyArKysrKy0tLS0KKyBiZWhhdmUvYXBpL3J1bnRp bWVfY29uc3RyYWludC5weSB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisg YmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgICAgICAgICAgfCAgNCAtLS0KKyBiZWhhdmUvZXhjZXB0 aW9uLnB5ICAgICAgICAgICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBi ZWhhdmUvcnVubmVyLnB5ICAgICAgICAgICAgICAgICB8ICAyICstCisgYmVoYXZlL3J1bm5lcl91 dGlsLnB5ICAgICAgICAgICAgfCAxNyArKy0tLS0tLS0tLS0KKyBiZWhhdmUvdmVyc2lvbi5weSAg ICAgICAgICAgICAgICB8ICAyICsrCisgdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weSAgICAgICAg fCAgMiArLQorIDEwIGZpbGVzIGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlv bnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmVoYXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQu cHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmVoYXZlL2V4Y2VwdGlvbi5weQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBiZWhhdmUvdmVyc2lvbi5weQorCitkaWZmIC0tZ2l0IGEvLmJ1bXB2ZXJzaW9uLmNm ZyBiLy5idW1wdmVyc2lvbi5jZmcKK2luZGV4IGFjOTEzYzIuLmE1ZDNkMmYgMTAwNjQ0CistLS0g YS8uYnVtcHZlcnNpb24uY2ZnCisrKysgYi8uYnVtcHZlcnNpb24uY2ZnCitAQCAtMSw2ICsxLDYg QEAKKyBbYnVtcHZlcnNpb25dCisgY3VycmVudF92ZXJzaW9uID0gMS4yLjcuZGV2MQorLWZpbGVz ID0gYmVoYXZlL19faW5pdF9fLnB5IHNldHVwLnB5IFZFUlNJT04udHh0IHB5dGVzdC5pbmkgLmJ1 bXB2ZXJzaW9uLmNmZworK2ZpbGVzID0gYmVoYXZlL3ZlcnNpb24ucHkgc2V0dXAucHkgVkVSU0lP Ti50eHQgcHl0ZXN0LmluaSAuYnVtcHZlcnNpb24uY2ZnCisgcGFyc2UgPSAoP1A8bWFqb3I+XGQr KVwuKD9QPG1pbm9yPlxkKylcLig/UDxwYXRjaD5cZCspKD9QPGRyb3A+XHcqKQorIHNlcmlhbGl6 ZSA9IHttYWpvcn0ue21pbm9yfS57cGF0Y2h9e2Ryb3B9CisgY29tbWl0ID0gRmFsc2UKK2RpZmYg LS1naXQgYS9iZWhhdmUvX19pbml0X18ucHkgYi9iZWhhdmUvX19pbml0X18ucHkKK2luZGV4IDMx ZTRlNTUuLjUzYTUzMzcgMTAwNjQ0CistLS0gYS9iZWhhdmUvX19pbml0X18ucHkKKysrKyBiL2Jl aGF2ZS9fX2luaXRfXy5weQorQEAgLTIwLDYgKzIwLDcgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9y dCBhYnNvbHV0ZV9pbXBvcnQKKyBmcm9tIGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCAqICAg ICAgIyBweWxpbnQ6IGRpc2FibGU9d2lsZGNhcmQtaW1wb3J0CisgZnJvbSBiZWhhdmUubWF0Y2hl cnMgaW1wb3J0IHVzZV9zdGVwX21hdGNoZXIsIHN0ZXBfbWF0Y2hlciwgcmVnaXN0ZXJfdHlwZQor IGZyb20gYmVoYXZlLmZpeHR1cmUgaW1wb3J0IGZpeHR1cmUsIHVzZV9maXh0dXJlCisrZnJvbSBi ZWhhdmUudmVyc2lvbiBpbXBvcnQgVkVSU0lPTiBhcyBfX3ZlcnNpb25fXworIAorICMgcHlsaW50 OiBkaXNhYmxlPXVuZGVmaW5lZC1hbGwtdmFyaWFibGUKKyBfX2FsbF9fID0gWworQEAgLTI5LDQg KzMwLDMgQEAgX19hbGxfXyA9IFsKKyAgICAgIyAtLSBERVBSRUNBVElORzoKKyAgICAgInN0ZXBf bWF0Y2hlciIKKyBdCistX192ZXJzaW9uX18gPSAiMS4yLjcuZGV2MSIKK2RpZmYgLS1naXQgYS9i ZWhhdmUvX19tYWluX18ucHkgYi9iZWhhdmUvX19tYWluX18ucHkKK2luZGV4IGMzNDBiMjUuLjNj YWUzNmQgMTAwNjQ0CistLS0gYS9iZWhhdmUvX19tYWluX18ucHkKKysrKyBiL2JlaGF2ZS9fX21h aW5fXy5weQorQEAgLTQsMTIgKzQsMTMgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0 ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IGNvZGVjcworIGltcG9ydCBzeXMKKyBp bXBvcnQgc2l4CistZnJvbSBiZWhhdmUgaW1wb3J0IF9fdmVyc2lvbl9fCistZnJvbSBiZWhhdmUu Y29uZmlndXJhdGlvbiBpbXBvcnQgQ29uZmlndXJhdGlvbiwgQ29uZmlnRXJyb3IKKytmcm9tIGJl aGF2ZS52ZXJzaW9uIGltcG9ydCBWRVJTSU9OIGFzIEJFSEFWRV9WRVJTSU9OCisrZnJvbSBiZWhh dmUuY29uZmlndXJhdGlvbiBpbXBvcnQgQ29uZmlndXJhdGlvbgorK2Zyb20gYmVoYXZlLmV4Y2Vw dGlvbiBpbXBvcnQgQ29uc3RyYWludEVycm9yLCBDb25maWdFcnJvciwgXAorKyAgICBGaWxlTm90 Rm91bmRFcnJvciwgSW52YWxpZEZpbGVMb2NhdGlvbkVycm9yLCBJbnZhbGlkRmlsZW5hbWVFcnJv cgorIGZyb20gYmVoYXZlLnBhcnNlciBpbXBvcnQgUGFyc2VyRXJyb3IKKyBmcm9tIGJlaGF2ZS5y dW5uZXIgaW1wb3J0IFJ1bm5lcgorLWZyb20gYmVoYXZlLnJ1bm5lcl91dGlsIGltcG9ydCBwcmlu dF91bmRlZmluZWRfc3RlcF9zbmlwcGV0cywgcmVzZXRfcnVudGltZSwgXAorLSAgICBJbnZhbGlk RmlsZUxvY2F0aW9uRXJyb3IsIEludmFsaWRGaWxlbmFtZUVycm9yLCBGaWxlTm90Rm91bmRFcnJv cgorK2Zyb20gYmVoYXZlLnJ1bm5lcl91dGlsIGltcG9ydCBwcmludF91bmRlZmluZWRfc3RlcF9z bmlwcGV0cywgcmVzZXRfcnVudGltZQorIGZyb20gYmVoYXZlLnRleHR1dGlsIGltcG9ydCBjb21w dXRlX3dvcmRzX21heHNpemUsIHRleHQgYXMgX3RleHQKKyAKKyAKK0BAIC02Miw3ICs2Myw3IEBA IGRlZiBydW5fYmVoYXZlKGNvbmZpZywgcnVubmVyX2NsYXNzPU5vbmUpOgorICAgICAgICAgcnVu bmVyX2NsYXNzID0gUnVubmVyCisgCisgICAgIGlmIGNvbmZpZy52ZXJzaW9uOgorLSAgICAgICAg cHJpbnQoImJlaGF2ZSAiICsgX192ZXJzaW9uX18pCisrICAgICAgICBwcmludCgiYmVoYXZlICIg KyBCRUhBVkVfVkVSU0lPTikKKyAgICAgICAgIHJldHVybiAwCisgCisgICAgIGlmIGNvbmZpZy50 YWdzX2hlbHA6CitAQCAtMTEwLDYgKzExMSw4IEBAIGRlZiBydW5fYmVoYXZlKGNvbmZpZywgcnVu bmVyX2NsYXNzPU5vbmUpOgorICAgICAgICAgcHJpbnQodSJJbnZhbGlkRmlsZUxvY2F0aW9uRXJy b3I6ICVzIiAlIGUpCisgICAgIGV4Y2VwdCBJbnZhbGlkRmlsZW5hbWVFcnJvciBhcyBlOgorICAg ICAgICAgcHJpbnQodSJJbnZhbGlkRmlsZW5hbWVFcnJvcjogJXMiICUgZSkKKysgICAgZXhjZXB0 IENvbnN0cmFpbnRFcnJvciBhcyBlOgorKyAgICAgICAgcHJpbnQodSJDb25zdHJhaW50RXJyb3I6 ICVzIiAlIGUpCisgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICMgLS0gRElB R05PU1RJQ1M6CisgICAgICAgICB0ZXh0ID0gX3RleHQoZSkKK2RpZmYgLS1naXQgYS9iZWhhdmUv YXBpL3J1bnRpbWVfY29uc3RyYWludC5weSBiL2JlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJhaW50 LnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzEwZTUyOQorLS0tIC9k ZXYvbnVsbAorKysrIGIvYmVoYXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQucHkKK0BAIC0wLDAg KzEsNDUgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyIiIgorK1NpbXBsaWZpZXMgdG8g c3BlY2lmeSBydW50aW1lIGNvbnN0cmFpbnRzIGluCisrCisrKiBmZWF0dXJlcy9lbnZpcm9ubWVu dC5weSBmaWxlCisrKiBmZWF0dXJlcy9zdGVwcy8qLnB5IiBmaWxlcworKyIiIgorKworK2Zyb20g X19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisrZnJvbSBiZWhhdmUuZXhjZXB0aW9u IGltcG9ydCBDb25zdHJhaW50RXJyb3IKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMg VVRJTElUWSBGVU5DVElPTlM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgcmVxdWlyZV9t aW5fcHl0aG9uX3ZlcnNpb24obWluaW1hbF92ZXJzaW9uKToKKysgICAgIiIiU2ltcGxpZmllcyB0 byBzcGVjaWZ5IHRoZSBtaW5pbWFsIHB5dGhvbiB2ZXJzaW9uIHRoYXQgaXMgcmVxdWlyZWQuCisr CisrICAgIDpwYXJhbSBtaW5pbWFsX3ZlcnNpb246IE1pbmltdW0gdmVyc2lvbiAoYXMgc3RyaW5n LCB0dXBsZSkKKysgICAgOnJhaXNlczogYmVoYXZlLmV4Y2VwdGlvbi5Db25zdHJhaW50RXJyb3IK KysgICAgIiIiCisrICAgIGltcG9ydCBzaXgKKysgICAgaW1wb3J0IHN5cworKyAgICBweXRob25f dmVyc2lvbiA9IHN5cy52ZXJzaW9uX2luZm8KKysgICAgaWYgaXNpbnN0YW5jZShtaW5pbWFsX3Zl cnNpb24sIHNpeC5zdHJpbmdfdHlwZXMpOgorKyAgICAgICAgcHl0aG9uX3ZlcnNpb24gPSAiJXMu JXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKysgICAgZWxpZiBub3QgaXNpbnN0YW5jZShtaW5p bWFsX3ZlcnNpb24sIHR1cGxlKToKKysgICAgICAgIHJhaXNlIFR5cGVFcnJvcigic3RyaW5nIG9y IHR1cGxlICh3YXM6ICVzKSIgJSB0eXBlKG1pbmltYWxfdmVyc2lvbikpCisrCisrICAgIGlmIHB5 dGhvbl92ZXJzaW9uIDwgbWluaW1hbF92ZXJzaW9uOgorKyAgICAgICAgcmFpc2UgQ29uc3RyYWlu dEVycm9yKCJweXRob24gPj0gJXMgZXhwZWN0ZWQgKHdhczogJXMpIiAlIFwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAobWluaW1hbF92ZXJzaW9uLCBweXRob25fdmVyc2lvbikpCisr CisrCisrZGVmIHJlcXVpcmVfbWluX2JlaGF2ZV92ZXJzaW9uKG1pbmltYWxfdmVyc2lvbik6Cisr ICAgICIiIlNpbXBsaWZpZXMgdG8gc3BlY2lmeSB0aGUgbWluaW1hbCBiZWhhdmUgdmVyc2lvbiB0 aGF0IGlzIHJlcXVpcmVkLgorKworKyAgICA6cGFyYW0gbWluaW1hbF92ZXJzaW9uOiBNaW5pbXVt IHZlcnNpb24gKGFzIHN0cmluZywgdHVwbGUpCisrICAgIDpyYWlzZXM6IGJlaGF2ZS5leGNlcHRp b24uQ29uc3RyYWludEVycm9yCisrICAgICIiIgorKyAgICAjIC0tIFNJTVBMSVNUSUMgSU1QTEVN RU5UQVRJT046CisrICAgIGZyb20gYmVoYXZlLnZlcnNpb24gaW1wb3J0IFZFUlNJT04gYXMgYmVo YXZlX3ZlcnNpb24KKysgICAgaWYgYmVoYXZlX3ZlcnNpb24gPCBtaW5pbWFsX3ZlcnNpb246Cisr ICAgICAgICByYWlzZSBDb25zdHJhaW50RXJyb3IoImJlaGF2ZSA+PSAlcyBleHBlY3RlZCAod2Fz OiAlcykiICUgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtaW5pbWFsX3ZlcnNp b24sIGJlaGF2ZV92ZXJzaW9uKSkKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29uZmlndXJhdGlvbi5w eSBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitpbmRleCA4NjFmODlmLi5iZDhiMDM5IDEwMDY0 NAorLS0tIGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL2JlaGF2ZS9jb25maWd1cmF0 aW9uLnB5CitAQCAtNjIsMTAgKzYyLDYgQEAgY2xhc3MgTG9nTGV2ZWwob2JqZWN0KToKKyAgICAg ICAgIHJldHVybiBsb2dnaW5nLmdldExldmVsTmFtZShsZXZlbCkKKyAKKyAKKy1jbGFzcyBDb25m aWdFcnJvcihFeGNlcHRpb24pOgorLSAgICBwYXNzCistCistCisgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICMgQ09ORklHVVJBVElPTiBTQ0hFTUE6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ZGlmZiAtLWdpdCBhL2JlaGF2ZS9leGNlcHRpb24ucHkgYi9iZWhhdmUvZXhjZXB0aW9uLnB5Citu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYmEyMTIwNgorLS0tIC9kZXYvbnVs bAorKysrIGIvYmVoYXZlL2V4Y2VwdGlvbi5weQorQEAgLTAsMCArMSw0MCBAQAorKyMgLSotIGNv ZGluZzogVVRGLTggLSotCisrIiIiCisrQmVoYXZlIGV4Y2VwdGlvbiBjbGFzc2VzLgorKworKy4u IHZlcnNpb25hZGRlZDo6IDEuMi43CisrIiIiCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KysjIEVYQ0VQVElPTi9FUlJPUiBDTEFTU0VTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY2xh c3MgQ29uc3RyYWludEVycm9yKFJ1bnRpbWVFcnJvcik6CisrICAgICIiIlVzZWQgaWYgYSBjb25z dHJhaW50L3ByZWNvbmRpdGlvbiBpcyBub3QgZnVsZmlsbGVkIGF0IHJ1bnRpbWUuCisrCisrICAg IC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAgICIiIgorKworKworK2NsYXNzIENvbmZpZ0Vy cm9yKEV4Y2VwdGlvbik6CisrICAgICIiIlVzZWQgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgKHBh cnRpYWxseSkgaW52YWxpZC4iIiIKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgRVhD RVBUSU9OL0VSUk9SIENMQVNTRVM6IFJlbGF0ZWQgdG8gRmlsZSBIYW5kbGluZworKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrY2xhc3MgRmlsZU5vdEZvdW5kRXJyb3IoTG9va3VwRXJyb3IpOgorKyAg ICAiIiJVc2VkIGlmIGEgc3BlY2lmaWVkIGZpbGUgd2FzIG5vdCBmb3VuZC4iIiIKKysKKysKKytj bGFzcyBJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3IoTG9va3VwRXJyb3IpOgorKyAgICAiIiJVc2Vk IGlmIGEgOmNsYXNzOmBiZWhhdmUubW9kZWxfY29yZS5GaWxlTG9jYXRpb25gIGlzIGludmFsaWQu CisrICAgIFRoaXMgb2NjdXJzIGlmIHRoZSBmaWxlIGxvY2F0aW9uIGlzIG5vIGV4YWN0bHkgY29y cmVjdCBhbmQKKysgICAgc3RyaWN0IGNoZWNraW5nIGlzIGVuYWJsZWQuCisrICAgICIiIgorKwor KworK2NsYXNzIEludmFsaWRGaWxlbmFtZUVycm9yKFZhbHVlRXJyb3IpOgorKyAgICAiIiJVc2Vk IGlmIGEgZmlsZW5hbWUgZG9lcyBub3QgaGF2ZSB0aGUgZXhwZWN0ZWQgZmlsZSBleHRlbnNpb24s IGV0Yy4iIiIKKysKKysKK2RpZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyLnB5IGIvYmVoYXZlL3J1 bm5lci5weQoraW5kZXggZjIwOWNiMC4uY2JlZGI1YSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9ydW5u ZXIucHkKKysrKyBiL2JlaGF2ZS9ydW5uZXIucHkKK0BAIC0xNSw3ICsxNSw3IEBAIGltcG9ydCBz aXgKKyAKKyBmcm9tIGJlaGF2ZS5fdHlwZXMgaW1wb3J0IEV4Y2VwdGlvblV0aWwKKyBmcm9tIGJl aGF2ZS5jYXB0dXJlIGltcG9ydCBDYXB0dXJlQ29udHJvbGxlcgorLWZyb20gYmVoYXZlLmNvbmZp Z3VyYXRpb24gaW1wb3J0IENvbmZpZ0Vycm9yCisrZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9y dCBDb25maWdFcnJvcgorIGZyb20gYmVoYXZlLmZvcm1hdHRlci5fcmVnaXN0cnkgaW1wb3J0IG1h a2VfZm9ybWF0dGVycworIGZyb20gYmVoYXZlLnJ1bm5lcl91dGlsIGltcG9ydCBcCisgICAgIGNv bGxlY3RfZmVhdHVyZV9sb2NhdGlvbnMsIHBhcnNlX2ZlYXR1cmVzLCBcCitkaWZmIC0tZ2l0IGEv YmVoYXZlL3J1bm5lcl91dGlsLnB5IGIvYmVoYXZlL3J1bm5lcl91dGlsLnB5CitpbmRleCA3ZTA4 MDdmLi44MGI5OWEwIDEwMDY0NAorLS0tIGEvYmVoYXZlL3J1bm5lcl91dGlsLnB5CisrKysgYi9i ZWhhdmUvcnVubmVyX3V0aWwucHkKK0BAIC0xMSwyNiArMTEsMTMgQEAgaW1wb3J0IHJlCisgaW1w b3J0IHN5cworIGZyb20gc2l4IGltcG9ydCBzdHJpbmdfdHlwZXMKKyBmcm9tIGJlaGF2ZSBpbXBv cnQgcGFyc2VyCisrZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9ydCBcCisrICAgIEZpbGVOb3RG b3VuZEVycm9yLCBJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3IsIEludmFsaWRGaWxlbmFtZUVycm9y CisgZnJvbSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgRmlsZUxvY2F0aW9uCisgZnJvbSBiZWhh dmUudGV4dHV0aWwgaW1wb3J0IGVuc3VyZV9zdHJlYW1fd2l0aF9lbmNvZGVyCisgIyBMQVpZOiBm cm9tIGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCBzZXR1cF9zdGVwX2RlY29yYXRvcnMKKyAK KyAKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBFWENFUFRJT05TOgorLSMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKy1jbGFzcyBGaWxlTm90Rm91bmRFcnJvcihMb29rdXBFcnJvcik6CistICAg IHBhc3MKKy0KKy0KKy1jbGFzcyBJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3IoTG9va3VwRXJyb3Ip OgorLSAgICBwYXNzCistCistCistY2xhc3MgSW52YWxpZEZpbGVuYW1lRXJyb3IoVmFsdWVFcnJv cik6CistICAgIHBhc3MKKy0KKy0KKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBDTEFTUzog RmlsZUxvY2F0aW9uUGFyc2VyCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGlmZiAtLWdpdCBh L2JlaGF2ZS92ZXJzaW9uLnB5IGIvYmVoYXZlL3ZlcnNpb24ucHkKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwLi5iMTljYjVlCistLS0gL2Rldi9udWxsCisrKysgYi9iZWhhdmUv dmVyc2lvbi5weQorQEAgLTAsMCArMSwyIEBACisrIyAtLSBCRUhBVkUtVkVSU0lPTjoKKytWRVJT SU9OID0gIjEuMi43LmRldjEiCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5w eSBiL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkKK2luZGV4IDAzMGRmZmEuLmYwZDAzY2QgMTAw NjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CisrKysgYi90ZXN0cy91bml0L3Rl c3RfcnVubmVyLnB5CitAQCAtMTcsNyArMTcsNyBAQCBmcm9tIGJlaGF2ZSBpbXBvcnQgcnVubmVy X3V0aWwKKyBmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgVGFibGUKKyBmcm9tIGJlaGF2ZS5zdGVw X3JlZ2lzdHJ5IGltcG9ydCBTdGVwUmVnaXN0cnkKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgcGFyc2Vy LCBydW5uZXIKKy1mcm9tIGJlaGF2ZS5jb25maWd1cmF0aW9uIGltcG9ydCBDb25maWdFcnJvcgor K2Zyb20gYmVoYXZlLmV4Y2VwdGlvbiBpbXBvcnQgQ29uZmlnRXJyb3IKKyBmcm9tIGJlaGF2ZS5m b3JtYXR0ZXIuYmFzZSBpbXBvcnQgU3RyZWFtT3BlbmVyCisgCisgCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUzLVVzZS1y dW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA1My1Vc2UtcnVudGltZS1jb25zdHJhaW50cy5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjhhMDc1MDViZgotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNTMtVXNlLXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2gKQEAgLTAsMCArMSwxOTYgQEAK K0Zyb20gNTkxNzkxNGU0MTVjNzI4ZTEzMGQ4MjhjYzFlZDRlMjE5OWIxZmNkYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogU2F0LCAxMyBKdWwgMjAxOSAxMzoxOToxMyArMDIwMAorU3ViamVjdDog W1BBVENIXSBVc2UgcnVudGltZSBjb25zdHJhaW50cworCistLS0KKyAuLi4vZmVhdHVyZXMvYXN5 bmNfZGlzcGF0Y2guZmVhdHVyZSAgICAgICAgICAgfCAgMiArKworIC4uLi9hc3luY19zdGVwL2Zl YXR1cmVzL2FzeW5jX3J1bi5mZWF0dXJlICAgICB8ICAyICsrCisgZXhhbXBsZXMvYXN5bmNfc3Rl cC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgIHwgMTMgKysrKysrKysrCisgLi4uL3thc3luY19z dGVwczM0LnB5ID0+IF9hc3luY19zdGVwczM0LnB5fSAgIHwgIDYgKysrLQorIC4uLi97YXN5bmNf c3RlcHMzNS5weSA9PiBfYXN5bmNfc3RlcHMzNS5weX0gICB8ICAzICstCisgLi4uL2ZlYXR1cmVz L3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5ICAgIHwgMjkgKysrKysrKysrKysrKysrLS0t LQorIC4uLi9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5ICB8IDEyICsr KysrKysrCisgNyBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygt KQorIHJlbmFtZSBleGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL3thc3luY19zdGVw czM0LnB5ID0+IF9hc3luY19zdGVwczM0LnB5fSAoNTglKQorIHJlbmFtZSBleGFtcGxlcy9hc3lu Y19zdGVwL2ZlYXR1cmVzL3N0ZXBzL3thc3luY19zdGVwczM1LnB5ID0+IF9hc3luY19zdGVwczM1 LnB5fSAoOTUlKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1 cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5CisKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUgYi9leGFtcGxlcy9hc3luY19zdGVw L2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUKK2luZGV4IDQxNmQzZDEuLjE4ZTk4Njkg MTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNo LmZlYXR1cmUKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0 Y2guZmVhdHVyZQorQEAgLTEsNiArMSw4IEBACisgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu NAorIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKyBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My42CisrQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworK0B1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjgKKyBGZWF0dXJlOgorICAgU2NlbmFyaW86CisgICAgIEdpdmVuIEkgZGlzcGF0 Y2ggYW4gYXN5bmMtY2FsbCB3aXRoIHBhcmFtICJBbGljZSIKK2RpZmYgLS1naXQgYS9leGFtcGxl cy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX3J1bi5mZWF0dXJlIGIvZXhhbXBsZXMvYXN5bmNf c3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZQoraW5kZXggOWY1MDZiNC4uMjliOGZhNyAx MDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1 cmUKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUK K0BAIC0xLDYgKzEsOCBAQAorIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjQKKyBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My41CisgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorK0B1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKytAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44 CisgRmVhdHVyZToKKyAgIFNjZW5hcmlvOgorICAgICBHaXZlbiBhbiBhc3luYy1zdGVwIHdhaXRz IDAuMyBzZWNvbmRzCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9l bnZpcm9ubWVudC5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQu cHkKK2luZGV4IDlkNDMwMmIuLjAyYzRkOTIgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrKysgYi9leGFtcGxlcy9hc3luY19zdGVwL2Zl YXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAtMSw4ICsxLDE4IEBACisgIyAtKi0gY29kaW5nOiBV VEYtOCAtKi0KKyAKKyBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0 Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKytmcm9tIGJlaGF2ZS5hcGkucnVudGltZV9j b25zdHJhaW50IGltcG9ydCByZXF1aXJlX21pbl9weXRob25fdmVyc2lvbgorIGltcG9ydCBzeXMK KyAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBSRVFVSVJFOiBweXRob24gPj0gMy40Cisr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK3JlcXVpcmVfbWluX3B5dGhvbl92ZXJzaW9uKCIzLjQi KQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFNVUFBPUlQ6IEFjdGl2ZS10YWdz CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzogQHVzZS53 aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICMgTk9URTogYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRl ciBwcm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMgZm9yIGFjdGl2ZSB0YWdzLgorIHB5dGhvbl92ZXJz aW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCitAQCAtMTEsNiArMjEsNyBAQCBh Y3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0geworIH0KKyBhY3RpdmVfdGFnX21hdGNoZXIgPSBB Y3RpdmVUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIpCisgCisrCisgIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICMgSE9PS1M6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAg LTE4LDEwICsyOSwxMiBAQCBkZWYgYmVmb3JlX2FsbChjb250ZXh0KToKKyAgICAgIyAtLSBTRVRV UCBBQ1RJVkUtVEFHIE1BVENIRVIgKHdpdGggdXNlcmRhdGEpOgorICAgICBzZXR1cF9hY3RpdmVf dGFnX3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBjb250ZXh0LmNvbmZpZy51c2Vy ZGF0YSkKKyAKKysKKyBkZWYgYmVmb3JlX2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSk6CisgICAg IGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKGZlYXR1cmUudGFncyk6 CisgICAgICAgICBmZWF0dXJlLnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRl X3JlYXNvbikKKyAKKysKKyBkZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKToK KyAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoc2NlbmFyaW8u ZWZmZWN0aXZlX3RhZ3MpOgorICAgICAgICAgc2NlbmFyaW8uc2tpcChyZWFzb249YWN0aXZlX3Rh Z19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNC5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQucHkKK3NpbWlsYXJpdHkgaW5kZXggNTglCity ZW5hbWUgZnJvbSBleGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBz MzQucHkKK3JlbmFtZSB0byBleGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3lu Y19zdGVwczM0LnB5CitpbmRleCBjNDk2MmFiLi41NTY1MDBmIDEwMDY0NAorLS0tIGEvZXhhbXBs ZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM0LnB5CisrKysgYi9leGFt cGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVwczM0LnB5CitAQCAtMSw4 ICsxLDEyIEBACistIyAtLSBSRVFVSVJFUzogUHl0aG9uID49IDMuNAorKyMgLS0gUkVRVUlSRVM6 IFB5dGhvbiA+PSAzLjQgYW5kIFB5dGhvbiA8IDMuOAorKyMgSElOVDogRGVjb3JhdG9yIEBhc3lu Y2lvLmNvcm91dGluZSBpcyBwcm9oaWJpdGVkIGluIHB5dGhvbiAzLjgKKysjIFVTRTogIEFzeW5j IGdlbmVyYXRvci9jb3JvdXRpbmUgaW5zdGVhZC4KKysKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgc3Rl cAorIGZyb20gYmVoYXZlLmFwaS5hc3luY19zdGVwIGltcG9ydCBhc3luY19ydW5fdW50aWxfY29t cGxldGUKKyBpbXBvcnQgYXN5bmNpbworIAorKyMgLS0gVVNBQkxFIEZPUjogIjMuNCIgPD0gcHl0 aG9uX3ZlcnNpb24gPCAiMy44IgorIEBzdGVwKCdhbiBhc3luYy1zdGVwIHdhaXRzIHtkdXJhdGlv bjpmfSBzZWNvbmRzJykKKyBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlCisgQGFzeW5jaW8uY29y b3V0aW5lCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9h c3luY19zdGVwczM1LnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5 bmNfc3RlcHMzNS5weQorc2ltaWxhcml0eSBpbmRleCA5NSUKK3JlbmFtZSBmcm9tIGV4YW1wbGVz L2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNS5weQorcmVuYW1lIHRvIGV4 YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzUucHkKK2luZGV4 IDAxOGQ1ZWYuLmVkY2JlMGUgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1 cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzUucHkKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVh dHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzUucHkKK0BAIC0xLDQgKzEsNSBAQAorICMgLS0gUkVR VUlSRVM6IFB5dGhvbiA+PSAzLjUKKysKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgc3RlcAorIGZyb20g YmVoYXZlLmFwaS5hc3luY19zdGVwIGltcG9ydCBhc3luY19ydW5fdW50aWxfY29tcGxldGUKKyBp bXBvcnQgYXN5bmNpbworQEAgLTYsNSArNyw1IEBAIGltcG9ydCBhc3luY2lvCisgQHN0ZXAoJ2Fu IGFzeW5jLXN0ZXAgd2FpdHMge2R1cmF0aW9uOmZ9IHNlY29uZHMnKQorIEBhc3luY19ydW5fdW50 aWxfY29tcGxldGUKKyBhc3luYyBkZWYgc3RlcF9hc3luY19zdGVwX3dhaXRzX3NlY29uZHNfcHkz NShjb250ZXh0LCBkdXJhdGlvbik6CistICAgICIiIlNpbXBsZSBleGFtcGxlIG9mIGEgY29yb3V0 aW5lIGFzIGFzeW5jLXN0ZXAgKGluIFB5dGhvbiAzLjUpIiIiCisrICAgICIiIlNpbXBsZSBleGFt cGxlIG9mIGEgY29yb3V0aW5lIGFzIGFzeW5jLXN0ZXAgKGluIFB5dGhvbiAzLjUgb3IgbmV3ZXIp IiIiCisgICAgIGF3YWl0IGFzeW5jaW8uc2xlZXAoZHVyYXRpb24pCitkaWZmIC0tZ2l0IGEvZXhh bXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5weSBi L2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMu cHkKK2luZGV4IGI5YjZlMTUuLjIyMmU1NGQgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5CisrKysgYi9leGFtcGxl cy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5CitAQCAt MSwyMSArMSwzOCBAQAorICMgLSotIGNvZGluZzogVVRGLTggLSotCistIyBSRVFVSVJFUzogUHl0 aG9uID49IDMuNQorKyMgUkVRVUlSRVM6IFB5dGhvbiA+PSAzLjQvMy41CisraW1wb3J0IHN5cwor IGZyb20gYmVoYXZlIGltcG9ydCBnaXZlbiwgdGhlbiwgc3RlcAorLWZyb20gYmVoYXZlLmFwaS5h c3luY19zdGVwIGltcG9ydCB1c2Vfb3JfY3JlYXRlX2FzeW5jX2NvbnRleHQsIEFzeW5jQ29udGV4 dAorK2Zyb20gYmVoYXZlLmFwaS5hc3luY19zdGVwIGltcG9ydCB1c2Vfb3JfY3JlYXRlX2FzeW5j X2NvbnRleHQKKyBmcm9tIGhhbWNyZXN0IGltcG9ydCBhc3NlcnRfdGhhdCwgZXF1YWxfdG8sIGVt cHR5CisgaW1wb3J0IGFzeW5jaW8KKyAKKy1AYXN5bmNpby5jb3JvdXRpbmUKKy1kZWYgYXN5bmNf ZnVuYyhwYXJhbSk6CistICAgIHlpZWxkIGZyb20gYXN5bmNpby5zbGVlcCgwLjIpCistICAgIHJl dHVybiBzdHIocGFyYW0pLnVwcGVyKCkKKyAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQVNZ TkMgRVhBTVBMRSBGVU5DVElPTjoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK3B5dGhvbl92ZXJz aW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCisraWYgcHl0aG9uX3ZlcnNpb24g Pj0gIjMuNSI6CisrICAgIGFzeW5jIGRlZiBhc3luY19mdW5jKHBhcmFtKToKKysgICAgICAgIGF3 YWl0IGFzeW5jaW8uc2xlZXAoMC4yKQorKyAgICAgICAgcmV0dXJuIHN0cihwYXJhbSkudXBwZXIo KQorK2Vsc2U6CisrICAgICMgLS0gSElOVDogRGVjb3JhdG9yIEBhc3luY2lvLmNvcm91dGluZSBp cyBwcm9oaWJpdGVkIGluIHB5dGhvbiAzLjgKKysgICAgQGFzeW5jaW8uY29yb3V0aW5lCisrICAg IGRlZiBhc3luY19mdW5jKHBhcmFtKToKKysgICAgICAgIHlpZWxkIGZyb20gYXN5bmNpby5zbGVl cCgwLjIpCisrICAgICAgICByZXR1cm4gc3RyKHBhcmFtKS51cHBlcigpCisrCisrCisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKysjIFNURVBTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQGdpdmVu KCdJIGRpc3BhdGNoIGFuIGFzeW5jLWNhbGwgd2l0aCBwYXJhbSAie3BhcmFtfSInKQorIGRlZiBz dGVwX2Rpc3BhdGNoX2FzeW5jX2NhbGwoY29udGV4dCwgcGFyYW0pOgorICAgICBhc3luY19jb250 ZXh0ID0gdXNlX29yX2NyZWF0ZV9hc3luY19jb250ZXh0KGNvbnRleHQsICJhc3luY19jb250ZXh0 MSIpCisgICAgIHRhc2sgPSBhc3luY19jb250ZXh0Lmxvb3AuY3JlYXRlX3Rhc2soYXN5bmNfZnVu YyhwYXJhbSkpCisgICAgIGFzeW5jX2NvbnRleHQudGFza3MuYXBwZW5kKHRhc2spCisgCisrCisg QHRoZW4oJ3RoZSBjb2xsZWN0ZWQgcmVzdWx0IG9mIHRoZSBhc3luYy1jYWxscyBpcyAie2V4cGVj dGVkfSInKQorIGRlZiBzdGVwX2NvbGxlY3RlZF9hc3luY19jYWxsX3Jlc3VsdF9pcyhjb250ZXh0 LCBleHBlY3RlZCk6CisgICAgIGFzeW5jX2NvbnRleHQgPSBjb250ZXh0LmFzeW5jX2NvbnRleHQx CitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19z dGVwcy5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMu cHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kYzAzYzcyCistLS0gL2Rl di9udWxsCisrKysgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0 ZXBzLnB5CitAQCAtMCwwICsxLDEyIEBACisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysjIFJF UVVJUkVTOiBQeXRob24gPj0gMy40LzMuNQorKyIiIlB5dGhvbiBpbXBvcnQtYmFycmllciBmb3Ig cHl0aG9uMiBvciBweXRob24gPCAzLjQuIiIiCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBh YnNvbHV0ZV9pbXBvcnQKKytpbXBvcnQgc3lzCisrCisrcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMi ICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKytpZiBweXRob25fdmVyc2lvbiA+PSAiMy41IjoKKysg ICAgaW1wb3J0IF9hc3luY19zdGVwczM1CisrZWxpZiBweXRob25fdmVyc2lvbiA9PSAiMy40IjoK KysgICAgaW1wb3J0IF9hc3luY19zdGVwczM0CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU0LUNMRUFOVVAtUmVtb3ZlLWRl cHJlY2F0ZWQtcGFydHMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDU0LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5hZWJiNjg1ODkKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDU0LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2gKQEAgLTAs MCArMSwzOTM3IEBACitGcm9tIDQ4NGFmOWYyYmUzODY4ZjkwYWU3MzZjMDQwMzMyZGNkYzA0YjVk MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJz Lm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgMTMgSnVsIDIwMTkgMTM6MjA6MzggKzAy MDAKK1N1YmplY3Q6IFtQQVRDSF0gQ0xFQU5VUDogUmVtb3ZlIGRlcHJlY2F0ZWQgcGFydHMuCisK Ky0tLQorIC5hdHRpYy9jb252ZXJ0X2kxOG5feWFtbC5weSB8ICAgNzcgKworIC5hdHRpYy9pMThu LnltbCAgICAgICAgICAgICB8ICA2MzUgKysrKysrKworIGJpbi9naGVya2luLWxhbmd1YWdlcy5q c29uICB8IDMxOTMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAzIGZpbGVz IGNoYW5nZWQsIDcxMiBpbnNlcnRpb25zKCspLCAzMTkzIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBt b2RlIDEwMDc1NSAuYXR0aWMvY29udmVydF9pMThuX3lhbWwucHkKKyBjcmVhdGUgbW9kZSAxMDA2 NDQgLmF0dGljL2kxOG4ueW1sCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGJpbi9naGVya2luLWxhbmd1 YWdlcy5qc29uCisKK2RpZmYgLS1naXQgYS8uYXR0aWMvY29udmVydF9pMThuX3lhbWwucHkgYi8u YXR0aWMvY29udmVydF9pMThuX3lhbWwucHkKK25ldyBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCAw MDAwMDAwLi5kNmE2NzEzCistLS0gL2Rldi9udWxsCisrKysgYi8uYXR0aWMvY29udmVydF9pMThu X3lhbWwucHkKK0BAIC0wLDAgKzEsNzcgQEAKKysjIS91c3IvYmluL2VudiBweXRob24KKysjIC0q LSBjb2Rpbmc6IFVURi04IC0qLQorKyMgVVNBR0U6IGNvbnZlcnRfaTE4bl95YW1sLnB5IFstLWRh dGE9aTE4bi55bWxdIGJlaGF2ZS9pMThuLnB5CisrIiIiCisrR2VuZXJhdGVzIEkxOE4gcHl0aG9u IG1vZHVsZSBiYXNlZCBvbiBZQU1MIGRlc2NyaXB0aW9uIChpMThuLnltbCkuCisrCisrUkVRVUlS RVM6CisrICAqIGFyZ3BhcnNlCisrICAqIHNpeAorKyAgKiBQeVlBTUwKKysiIiIKKysKKytmcm9t IF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKytpbXBv cnQgYXJncGFyc2UKKytpbXBvcnQgb3MucGF0aAorK2ltcG9ydCBzaXgKKytpbXBvcnQgc3lzCisr aW1wb3J0IHBwcmludAorK2ltcG9ydCB5YW1sCisrCisrSEVSRSA9IG9zLnBhdGguZGlybmFtZShf X2ZpbGVfXykKKytOQU1FID0gb3MucGF0aC5iYXNlbmFtZShfX2ZpbGVfXykKKytfX3ZlcnNpb25f XyA9ICIxLjAiCisrCisrZGVmIHlhbWxfbm9ybWFsaXplKGRhdGEpOgorKyAgICBmb3IgcGFydCBp biBkYXRhOgorKyAgICAgICAga2V5d29yZHMgPSBkYXRhW3BhcnRdCisrICAgICAgICBmb3IgayBp biBrZXl3b3JkczoKKysgICAgICAgICAgICB2ID0ga2V5d29yZHNba10KKysgICAgICAgICAgICAj IGJsb29keSBZQU1MIHBhcnNlciByZXR1cm5zIGEgbWl4dHVyZSBvZiB1bmljb2RlIGFuZCBzdHIK KysgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh2LCBzaXgudGV4dF90eXBlKToKKysgICAg ICAgICAgICAgICAgdiA9IHYuZGVjb2RlKCJVVEYtOCIpCisrICAgICAgICAgICAga2V5d29yZHNb a10gPSB2LnNwbGl0KCJ8IikKKysgICAgcmV0dXJuIGRhdGEKKysKKytkZWYgbWFpbihhcmdzPU5v bmUpOgorKyAgICBpZiBhcmdzIGlzIE5vbmU6CisrICAgICAgICBhcmdzID0gc3lzLmFyZ3ZbMTpd CisrICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKHByb2c9TkFNRSwKKysgICAg ICAgICAgICAgICAgZGVzY3JpcHRpb249IkdlbmVyYXRlIHB5dGhvbiBtb2R1bGUgaTE4biBmcm9t IFlBTUwgYmFzZWQgZGF0YSIpCisrICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi1kIiwgIi0tZGF0 YSIsIGRlc3Q9InlhbWxfZmlsZSIsCisrICAgICAgICAgICAgICAgIGRlZmF1bHQ9b3MucGF0aC5q b2luKEhFUkUsICJpMThuLnltbCIpLAorKyAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGkx OG4ueW1sIGZpbGUgKFlBTUwgZmlsZSkuIikKKysgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgib3V0 cHV0X2ZpbGUiLCBkZWZhdWx0PSJzdGRvdXQiLAorKyAgICAgICAgICAgICAgICBoZWxwPSJGaWxl bmFtZSBvZiBQeXRob24gSTE4TiBtb2R1bGUgKGFzIG91dHB1dCkuIikKKysgICAgcGFyc2VyLmFk ZF9hcmd1bWVudCgiLS12ZXJzaW9uIiwgYWN0aW9uPSJ2ZXJzaW9uIiwgdmVyc2lvbj1fX3ZlcnNp b25fXykKKysKKysgICAgb3B0aW9ucyA9IHBhcnNlci5wYXJzZV9hcmdzKGFyZ3MpCisrICAgIGlm IG5vdCBvcy5wYXRoLmlzZmlsZShvcHRpb25zLnlhbWxfZmlsZSk6CisrICAgICAgICBwYXJzZXIu ZXJyb3IoIllBTUwgZmlsZSBub3QgZm91bmQ6ICVzIiAlIG9wdGlvbnMueWFtbF9maWxlKQorKwor KyAgICAjIC0tIFNURVAgMTogTG9hZCBZQU1MIGRhdGEuCisrICAgIGxhbmd1YWdlcyA9IHlhbWwu bG9hZChvcGVuKG9wdGlvbnMueWFtbF9maWxlKSkKKysgICAgbGFuZ3VhZ2VzID0geWFtbF9ub3Jt YWxpemUobGFuZ3VhZ2VzKQorKworKyAgICAjIC0tIFNURVAgMjogR2VuZXJhdGUgcHl0aG9uIG1v ZHVsZSB3aXRoIGkxOG4gZGF0YS4KKysgICAgY29udGVudHMgPSB1IiIiIyAtKi0gY29kaW5nOiBV VEYtOCAtKi0KKysjIC0tIEZJTEUgR0VORVJBVEVEIEJZOiBjb252ZXJ0X2kxOG5feWFtbC5weSB3 aXRoIGkxOG4ueW1sCisrIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZworKworK2xhbmd1 YWdlcyA9IFxcCisrIiIiCisrICAgIGlmIG9wdGlvbnMub3V0cHV0X2ZpbGUgaW4gKCItIiwgInN0 ZG91dCIpOgorKyAgICAgICAgaTE4bl9weSA9IHN5cy5zdGRvdXQKKysgICAgICAgIHNob3VsZF9j bG9zZSA9IEZhbHNlCisrICAgIGVsc2U6CisrICAgICAgICBpMThuX3B5ID0gb3BlbihvcHRpb25z Lm91dHB1dF9maWxlLCAidyIpCisrICAgICAgICBzaG91bGRfY2xvc2UgPSBUcnVlCisrICAgIGkx OG5fcHkud3JpdGUoY29udGVudHMuZW5jb2RlKCJVVEYtOCIpKQorKyAgICBpMThuX3B5LndyaXRl KHBwcmludC5wZm9ybWF0KGxhbmd1YWdlcykuZW5jb2RlKCJVVEYtOCIpKQorKyAgICBpMThuX3B5 LndyaXRlKHUiXG4iKQorKyAgICBpZiBzaG91bGRfY2xvc2U6CisrICAgICAgICBpMThuX3B5LmNs b3NlKCkKKysgICAgcmV0dXJuIDAKKysKKytpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorKyAg ICBzeXMuZXhpdChtYWluKCkpCitkaWZmIC0tZ2l0IGEvLmF0dGljL2kxOG4ueW1sIGIvLmF0dGlj L2kxOG4ueW1sCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uODIzNDVhNAor LS0tIC9kZXYvbnVsbAorKysrIGIvLmF0dGljL2kxOG4ueW1sCitAQCAtMCwwICsxLDYzNSBAQAor KyMgZW5jb2Rpbmc6IFVURi04CisrIworKyMgV2UgdXNlIElTTyA2MzktMSAobGFuZ3VhZ2UpIGFu ZCBJU08gMzE2NiBhbHBoYS0yIChyZWdpb24gLSBpZiBhcHBsaWNhYmxlKToKKysjIGh0dHA6Ly9l bi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9JU09fNjM5LTFfY29kZXMKKysjIGh0dHA6Ly9l bi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzMxNjYtMQorKyMKKysjIElmIHlvdSB3YW50IHNldmVy YWwgYWxpYXNlcyBmb3IgYSBrZXl3b3JkLCBqdXN0IHNlcGFyYXRlIHRoZW0KKysjIHdpdGggYSB8 IGNoYXJhY3Rlci4gVGhlICogaXMgYSBzdGVwIGtleXdvcmQgYWxpYXMgZm9yIGFsbCB0cmFuc2xh dGlvbnMuCisrIworKyMgSWYgeW91IGRvICpub3QqIHdhbnQgYSB0cmFpbGluZyBzcGFjZSBhZnRl ciBhIGtleXdvcmQsIGVuZCBpdCB3aXRoIGEgPCBjaGFyYWN0ZXIuCisrIyAoU2VlIENoaW5lc2Ug Zm9yIGV4YW1wbGVzKS4KKysjCisrIyBUaGlzIGZpbGUgY29weXJpZ2h0IChjKSAyMDA5LTIwMTEg TWlrZSBTYXNzYWssIEdyZWdvcnkgSG5hdGl1aywgQXNsYWsgSGVsbGVzw7h5CisrIworKyMgUGVy bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g b2J0YWluaW5nCisrIyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUKKysjICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0 d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcKKysjIHdpdGhvdXQgbGltaXRhdGlv biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwKKysjIGRp c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0bworKyMgcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisrIyB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cisr IworKyMgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp Y2Ugc2hhbGwgYmUKKysjIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorKyMKKysjIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorKyMgRVhQUkVTUyBPUiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisrIyBN RVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorKyMg Tk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklH SFQgSE9MREVSUyBCRQorKyMgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIg TElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTgorKyMgT0YgQ09OVFJBQ1QsIFRPUlQgT1Ig T1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OCisrIyBXSVRI IFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FS RS4KKysKKysiZW4iOgorKyAgbmFtZTogRW5nbGlzaAorKyAgbmF0aXZlOiBFbmdsaXNoCisrICBm ZWF0dXJlOiBGZWF0dXJlCisrICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kCisrICBzY2VuYXJpbzog U2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFNjZW5hcmlvIE91dGxpbmV8U2NlbmFyaW8g VGVtcGxhdGUKKysgIGV4YW1wbGVzOiBFeGFtcGxlc3xTY2VuYXJpb3MKKysgIGdpdmVuOiAiKnxH aXZlbiIKKysgIHdoZW46ICIqfFdoZW4iCisrICB0aGVuOiAiKnxUaGVuIgorKyAgYW5kOiAiKnxB bmQiCisrICBidXQ6ICIqfEJ1dCIKKysKKysjIFBsZWFzZSBrZWVwIHRoZSBncmFtbWFycyBpbiBh bHBoYWJldGljYWwgb3JkZXIgYnkgbmFtZSBmcm9tIGhlcmUgYW5kIGRvd24uCisrCisrImFyIjoK KysgIG5hbWU6IEFyYWJpYworKyAgbmF0aXZlOiDYp9mE2LnYsdio2YrYqQorKyAgZmVhdHVyZTog 2K7Yp9i12YrYqQorKyAgYmFja2dyb3VuZDog2KfZhNiu2YTZgdmK2KkKKysgIHNjZW5hcmlvOiDY s9mK2YbYp9ix2YrZiAorKyAgc2NlbmFyaW9fb3V0bGluZTog2LPZitmG2KfYsdmK2Ygg2YXYrti3 2LcKKysgIGV4YW1wbGVzOiDYp9mF2KvZhNipCisrICBnaXZlbjogIip82KjZgdix2LYiCisrICB3 aGVuOiAiKnzZhdiq2Yl82LnZhtiv2YXYpyIKKysgIHRoZW46ICIqfNin2LDYp9mLfNir2YUiCisr ICBhbmQ6ICIqfNmIIgorKyAgYnV0OiAiKnzZhNmD2YYiCisrImJnIjoKKysgIG5hbWU6IEJ1bGdh cmlhbgorKyAgbmF0aXZlOiDQsdGK0LvQs9Cw0YDRgdC60LgKKysgIGZlYXR1cmU6INCk0YPQvdC6 0YbQuNC+0L3QsNC70L3QvtGB0YIKKysgIGJhY2tncm91bmQ6INCf0YDQtdC00LjRgdGC0L7RgNC4 0Y8KKysgIHNjZW5hcmlvOiDQodGG0LXQvdCw0YDQuNC5CisrICBzY2VuYXJpb19vdXRsaW5lOiDQ oNCw0LzQutCwINC90LAg0YHRhtC10L3QsNGA0LjQuQorKyAgZXhhbXBsZXM6INCf0YDQuNC80LXR gNC4CisrICBnaXZlbjogIip80JTQsNC00LXQvdC+IgorKyAgd2hlbjogIip80JrQvtCz0LDRgtC+ IgorKyAgdGhlbjogIip80KLQviIKKysgIGFuZDogIip80JgiCisrICBidXQ6ICIqfNCd0L4iCisr ImNhIjoKKysgIG5hbWU6IENhdGFsYW4KKysgIG5hdGl2ZTogY2F0YWzDoAorKyAgYmFja2dyb3Vu ZDogUmVyZWZvbnN8QW50ZWNlZGVudHMKKysgIGZlYXR1cmU6IENhcmFjdGVyw61zdGljYXxGdW5j aW9uYWxpdGF0CisrICBzY2VuYXJpbzogRXNjZW5hcmkKKysgIHNjZW5hcmlvX291dGxpbmU6IEVz cXVlbWEgZGUgbCdlc2NlbmFyaQorKyAgZXhhbXBsZXM6IEV4ZW1wbGVzCisrICBnaXZlbjogIip8 RG9uYXR8RG9uYWRhfEF0w6hzfEF0ZXNhIgorKyAgd2hlbjogIip8UXVhbiIKKysgIHRoZW46ICIq fEFsZXNob3Jlc3xDYWwiCisrICBhbmQ6ICIqfEkiCisrICBidXQ6ICIqfFBlcsOyIgorKyJjeS1H QiI6CisrICBuYW1lOiBXZWxzaAorKyAgbmF0aXZlOiBDeW1yYWVnCisrICBiYWNrZ3JvdW5kOiBD ZWZuZGlyCisrICBmZWF0dXJlOiBBcndlZGQKKysgIHNjZW5hcmlvOiBTY2VuYXJpbworKyAgc2Nl bmFyaW9fb3V0bGluZTogU2NlbmFyaW8gQW1saW5lbGxvbAorKyAgZXhhbXBsZXM6IEVuZ2hyZWlm ZnRpYXUKKysgIGdpdmVuOiAiKnxBbnJoZWdlZGlnIGEiCisrICB3aGVuOiAiKnxQcnlkIgorKyAg dGhlbjogIip8WW5hIgorKyAgYW5kOiAiKnxBIgorKyAgYnV0OiAiKnxPbmQiCisrImNzIjoKKysg IG5hbWU6IEN6ZWNoCisrICBuYXRpdmU6IMSMZXNreQorKyAgZmVhdHVyZTogUG/FvmFkYXZlawor KyAgYmFja2dyb3VuZDogUG96YWTDrXxLb250ZXh0CisrICBzY2VuYXJpbzogU2PDqW7DocWZCisr ICBzY2VuYXJpb19vdXRsaW5lOiBOw6HEjXJ0IFNjw6luw6HFmWV8T3Nub3ZhIHNjw6luw6HFmWUK KysgIGV4YW1wbGVzOiBQxZnDrWtsYWR5CisrICBnaXZlbjogIip8UG9rdWR8WmEgcMWZZWRwb2ts YWR1IgorKyAgd2hlbjogIip8S2R5xb4iCisrICB0aGVuOiAiKnxQYWsiCisrICBhbmQ6ICIqfEF8 QSB0YWvDqSIKKysgIGJ1dDogIip8QWxlIgorKyJkYSI6CisrICBuYW1lOiBEYW5pc2gKKysgIG5h dGl2ZTogZGFuc2sKKysgIGZlYXR1cmU6IEVnZW5za2FiCisrICBiYWNrZ3JvdW5kOiBCYWdncnVu ZAorKyAgc2NlbmFyaW86IFNjZW5hcmllCisrICBzY2VuYXJpb19vdXRsaW5lOiBBYnN0cmFrdCBT Y2VuYXJpbworKyAgZXhhbXBsZXM6IEVrc2VtcGxlcgorKyAgZ2l2ZW46ICIqfEdpdmV0IgorKyAg d2hlbjogIip8TsOlciIKKysgIHRoZW46ICIqfFPDpSIKKysgIGFuZDogIip8T2ciCisrICBidXQ6 ICIqfE1lbiIKKysiZGUiOgorKyAgbmFtZTogR2VybWFuCisrICBuYXRpdmU6IERldXRzY2gKKysg IGZlYXR1cmU6IEZ1bmt0aW9uYWxpdMOkdAorKyAgYmFja2dyb3VuZDogR3J1bmRsYWdlCisrICBz Y2VuYXJpbzogU3plbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFN6ZW5hcmlvZ3J1bmRyaXNz CisrICBleGFtcGxlczogQmVpc3BpZWxlCisrICBnaXZlbjogIip8QW5nZW5vbW1lbnxHZWdlYmVu IHNlaSIKKysgIHdoZW46ICIqfFdlbm4iCisrICB0aGVuOiAiKnxEYW5uIgorKyAgYW5kOiAiKnxV bmQiCisrICBidXQ6ICIqfEFiZXIiCisrImVuLWF1IjoKKysgIG5hbWU6IEF1c3RyYWxpYW4KKysg IG5hdGl2ZTogQXVzdHJhbGlhbgorKyAgZmVhdHVyZTogQ3Jpa2V5CisrICBiYWNrZ3JvdW5kOiBC YWNrZ3JvdW5kCisrICBzY2VuYXJpbzogTWF0ZQorKyAgc2NlbmFyaW9fb3V0bGluZTogQmxva2Vz CisrICBleGFtcGxlczogQ29iYmVyCisrICBnaXZlbjogIip8WWEga25vdyBob3ciCisrICB3aGVu OiAiKnxXaGVuIgorKyAgdGhlbjogIip8WWEgZ290dGEiCisrICBhbmQ6ICIqfE4iCisrICBidXQ6 ICIqfENlcHQiCisrImVuLWxvbCI6CisrICBuYW1lOiBMT0xDQVQKKysgIG5hdGl2ZTogTE9MQ0FU CisrICBmZWF0dXJlOiBPSCBIQUkKKysgIGJhY2tncm91bmQ6IEI0CisrICBzY2VuYXJpbzogTUlT SFVOCisrICBzY2VuYXJpb19vdXRsaW5lOiBNSVNIVU4gU1JTTFkKKysgIGV4YW1wbGVzOiBFWEFN UExaCisrICBnaXZlbjogIip8SSBDQU4gSEFaIgorKyAgd2hlbjogIip8V0VOIgorKyAgdGhlbjog Iip8REVOIgorKyAgYW5kOiAiKnxBTiIKKysgIGJ1dDogIip8QlVUIgorKyJlbi1waXJhdGUiOgor KyAgbmFtZTogUGlyYXRlCisrICBuYXRpdmU6IFBpcmF0ZQorKyAgZmVhdHVyZTogQWhveSBtYXRl eSEKKysgIGJhY2tncm91bmQ6IFlvLWhvLWhvCisrICBzY2VuYXJpbzogSGVhdmUgdG8KKysgIHNj ZW5hcmlvX291dGxpbmU6IFNoaXZlciBtZSB0aW1iZXJzCisrICBleGFtcGxlczogRGVhZCBtZW4g dGVsbCBubyB0YWxlcworKyAgZ2l2ZW46ICIqfEdhbmd3YXkhIgorKyAgd2hlbjogIip8QmxpbWV5 ISIKKysgIHRoZW46ICIqfExldCBnbyBhbmQgaGF1bCIKKysgIGFuZDogIip8QXllIgorKyAgYnV0 OiAiKnxBdmFzdCEiCisrImVuLVNjb3VzZSI6CisrICBuYW1lOiBTY291c2UKKysgIG5hdGl2ZTog U2NvdXNlCisrICBmZWF0dXJlOiBGZWF0dXJlCisrICBiYWNrZ3JvdW5kOiAiRGlzIGlzIHdoYXQg d2VudCBkb3duIgorKyAgc2NlbmFyaW86ICJUaGUgdGhpbmcgb2YgaXQgaXMiCisrICBzY2VuYXJp b19vdXRsaW5lOiAiV2hhcnJpbWVhbiBpcyIKKysgIGV4YW1wbGVzOiBFeGFtcGxlcworKyAgZ2l2 ZW46ICIqfEdpdnVufFlvdXNlIGtub3cgd2hlbiB5b3VzZSBnb3QiCisrICB3aGVuOiAiKnxXdW58 WW91c2Uga25vdyBsaWtlIHdoZW4iCisrICB0aGVuOiAiKnxEdW58RGVuIHlvdXNlIGdvdHRhIgor KyAgYW5kOiAiKnxBbiIKKysgIGJ1dDogIip8QnVoIgorKyJlbi10eCI6CisrICBuYW1lOiBUZXhh bgorKyAgbmF0aXZlOiBUZXhhbgorKyAgZmVhdHVyZTogRmVhdHVyZQorKyAgYmFja2dyb3VuZDog QmFja2dyb3VuZAorKyAgc2NlbmFyaW86IFNjZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBB bGwgeSdhbGwKKysgIGV4YW1wbGVzOiBFeGFtcGxlcworKyAgZ2l2ZW46ICIqfEdpdmVuIHknYWxs IgorKyAgd2hlbjogIip8V2hlbiB5J2FsbCIKKysgIHRoZW46ICIqfFRoZW4geSdhbGwiCisrICBh bmQ6ICIqfEFuZCB5J2FsbCIKKysgIGJ1dDogIip8QnV0IHknYWxsIgorKyJlbyI6CisrICBuYW1l OiBFc3BlcmFudG8KKysgIG5hdGl2ZTogRXNwZXJhbnRvCisrICBmZWF0dXJlOiBUcmFqdG8KKysg IGJhY2tncm91bmQ6IEZvbm8KKysgIHNjZW5hcmlvOiBTY2VuYXJvCisrICBzY2VuYXJpb19vdXRs aW5lOiBLb250dXJvIGRlIGxhIHNjZW5hcm8KKysgIGV4YW1wbGVzOiBFa3plbXBsb2oKKysgIGdp dmVuOiAiKnxEb25pdGHEtW8iCisrICB3aGVuOiAiKnxTZSIKKysgIHRoZW46ICIqfERvIgorKyAg YW5kOiAiKnxLYWoiCisrICBidXQ6ICIqfFNlZCIKKysiZXMiOgorKyAgbmFtZTogU3BhbmlzaAor KyAgbmF0aXZlOiBlc3Bhw7FvbAorKyAgYmFja2dyb3VuZDogQW50ZWNlZGVudGVzCisrICBmZWF0 dXJlOiBDYXJhY3RlcsOtc3RpY2EKKysgIHNjZW5hcmlvOiBFc2NlbmFyaW8KKysgIHNjZW5hcmlv X291dGxpbmU6IEVzcXVlbWEgZGVsIGVzY2VuYXJpbworKyAgZXhhbXBsZXM6IEVqZW1wbG9zCisr ICBnaXZlbjogIip8RGFkb3xEYWRhfERhZG9zfERhZGFzIgorKyAgd2hlbjogIip8Q3VhbmRvIgor KyAgdGhlbjogIip8RW50b25jZXMiCisrICBhbmQ6ICIqfFkiCisrICBidXQ6ICIqfFBlcm8iCisr ImV0IjoKKysgIG5hbWU6IEVzdG9uaWFuCisrICBuYXRpdmU6IGVlc3RpIGtlZWwKKysgIGZlYXR1 cmU6IE9tYWR1cworKyAgYmFja2dyb3VuZDogVGF1c3QKKysgIHNjZW5hcmlvOiBTdHNlbmFhcml1 bQorKyAgc2NlbmFyaW9fb3V0bGluZTogUmFhbXN0c2VuYWFyaXVtCisrICBleGFtcGxlczogSnVo dHVtaWQKKysgIGdpdmVuOiAiKnxFZWxkYWRlcyIKKysgIHdoZW46ICIqfEt1aSIKKysgIHRoZW46 ICIqfFNpaXMiCisrICBhbmQ6ICIqfEphIgorKyAgYnV0OiAiKnxLdWlkIgorKyJmaSI6CisrICBu YW1lOiBGaW5uaXNoCisrICBuYXRpdmU6IHN1b21pCisrICBmZWF0dXJlOiBPbWluYWlzdXVzCisr ICBiYWNrZ3JvdW5kOiBUYXVzdGEKKysgIHNjZW5hcmlvOiBUYXBhdXMKKysgIHNjZW5hcmlvX291 dGxpbmU6IFRhcGF1c2FpaGlvCisrICBleGFtcGxlczogVGFwYXVrc2V0CisrICBnaXZlbjogIip8 T2xldGV0YWFuIgorKyAgd2hlbjogIip8S3VuIgorKyAgdGhlbjogIip8TmlpbiIKKysgIGFuZDog Iip8SmEiCisrICBidXQ6ICIqfE11dHRhIgorKyJmciI6CisrICBuYW1lOiBGcmVuY2gKKysgIG5h dGl2ZTogZnJhbsOnYWlzCisrICBmZWF0dXJlOiBGb25jdGlvbm5hbGl0w6kKKysgIGJhY2tncm91 bmQ6IENvbnRleHRlCisrICBzY2VuYXJpbzogU2PDqW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5l OiBQbGFuIGR1IHNjw6luYXJpb3xQbGFuIGR1IFNjw6luYXJpbworKyAgZXhhbXBsZXM6IEV4ZW1w bGVzCisrICBnaXZlbjogIip8U29pdHxFdGFudCBkb25uw6l8RXRhbnQgZG9ubsOpZXxFdGFudCBk b25uw6lzfEV0YW50IGRvbm7DqWVzfMOJdGFudCBkb25uw6l8w4l0YW50IGRvbm7DqWV8w4l0YW50 IGRvbm7DqXN8w4l0YW50IGRvbm7DqWVzIgorKyAgd2hlbjogIip8UXVhbmR8TG9yc3F1ZXxMb3Jz cXUnPCIKKysgIHRoZW46ICIqfEFsb3JzIgorKyAgYW5kOiAiKnxFdCIKKysgIGJ1dDogIip8TWFp cyIKKysiZ2wiOgorKyAgbmFtZTogR2FsaWNpYW4KKysgIG5hdGl2ZTogZ2FsZWdvCisrICBmZWF0 dXJlOiBDYXJhY3RlcsOtc3RpY2EKKysgIGJhY2tncm91bmQ6IENvbnRleHRvCisrICBzY2VuYXJp bzogRXNjZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiAiRXNib3pvIGRvIGVzY2VuYXJpbyIK KysgIGV4YW1wbGVzOiBFeGVtcGxvcworKyAgZ2l2ZW46ICIqfERhZG98RGFkYXxEYWRvc3xEYWRh cyIKKysgIHdoZW46ICIqfENhbmRvIgorKyAgdGhlbjogIip8RW50w7NufExvZ28iCisrICBhbmQ6 ICIqfEUiCisrICBidXQ6ICIqfE1haXN8UGVybyIKKysKKysiaGUiOgorKyAgbmFtZTogSGVicmV3 CisrICBuYXRpdmU6INei15HXqNeZ16oKKysgIGZlYXR1cmU6INeq15vXldeg15QKKysgIGJhY2tn cm91bmQ6INeo16fXogorKyAgc2NlbmFyaW86INeq16jXl9eZ16kKKysgIHNjZW5hcmlvX291dGxp bmU6INeq15HXoNeZ16og16rXqNeX15nXqQorKyAgZXhhbXBsZXM6INeT15XXktee15DXldeqCisr ICBnaXZlbjogIip815HXlNeZ16DXqtefIgorKyAgd2hlbjogIip815vXkNep16giCisrICB0aGVu OiAiKnzXkNeWfNeQ15bXmSIKKysgIGFuZDogIip815XXktedIgorKyAgYnV0OiAiKnzXkNeR15wi CisrImhyIjoKKysgIG5hbWU6IENyb2F0aWFuCisrICBuYXRpdmU6IGhydmF0c2tpCisrICBmZWF0 dXJlOiBPc29iaW5hfE1vZ3XEh25vc3R8TW9ndWNub3N0CisrICBiYWNrZ3JvdW5kOiBQb3phZGlu YQorKyAgc2NlbmFyaW86IFNjZW5hcmlqCisrICBzY2VuYXJpb19vdXRsaW5lOiBTa2ljYXxLb25j ZXB0CisrICBleGFtcGxlczogUHJpbWplcml8U2NlbmFyaWppCisrICBnaXZlbjogIip8WmFkYW58 WmFkYW5pfFphZGFubyIKKysgIHdoZW46ICIqfEthZGF8S2FkIgorKyAgdGhlbjogIip8T25kYSIK KysgIGFuZDogIip8SSIKKysgIGJ1dDogIip8QWxpIgorKyJodSI6CisrICBuYW1lOiBIdW5nYXJp YW4KKysgIG5hdGl2ZTogbWFneWFyCisrICBmZWF0dXJlOiBKZWxsZW16xZEKKysgIGJhY2tncm91 bmQ6IEjDoXR0w6lyCisrICBzY2VuYXJpbzogRm9yZ2F0w7Nrw7ZueXYKKysgIHNjZW5hcmlvX291 dGxpbmU6IEZvcmdhdMOza8O2bnl2IHbDoXpsYXQKKysgIGV4YW1wbGVzOiBQw6lsZMOhaworKyAg Z2l2ZW46ICIqfEFtZW5ueWliZW58QWRvdHQiCisrICB3aGVuOiAiKnxNYWpkfEhhfEFtaWtvciIK KysgIHRoZW46ICIqfEFra29yIgorKyAgYW5kOiAiKnzDiXMiCisrICBidXQ6ICIqfERlIgorKyJp ZCI6CisrICBuYW1lOiBJbmRvbmVzaWFuCisrICBuYXRpdmU6IEJhaGFzYSBJbmRvbmVzaWEKKysg IGZlYXR1cmU6IEZpdHVyCisrICBiYWNrZ3JvdW5kOiBEYXNhcgorKyAgc2NlbmFyaW86IFNrZW5h cmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBTa2VuYXJpbyBrb25zZXAKKysgIGV4YW1wbGVzOiBD b250b2gKKysgIGdpdmVuOiAiKnxEZW5nYW4iCisrICB3aGVuOiAiKnxLZXRpa2EiCisrICB0aGVu OiAiKnxNYWthIgorKyAgYW5kOiAiKnxEYW4iCisrICBidXQ6ICIqfFRhcGkiCisrImlzIjoKKysg IG5hbWU6IEljZWxhbmRpYworKyAgbmF0aXZlOiDDjXNsZW5za2EKKysgIGZlYXR1cmU6IEVpZ2lu bGVpa2kKKysgIGJhY2tncm91bmQ6IEJha2dydW5udXIKKysgIHNjZW5hcmlvOiBBdGJ1csOwYXLD oXMKKysgIHNjZW5hcmlvX291dGxpbmU6IEzDvXNpbmcgQXRidXLDsGFyw6FzYXJ8TMO9c2luZyBE w6ZtYQorKyAgZXhhbXBsZXM6IETDpm1pfEF0YnVyw7BhcsOhc2lyCisrICBnaXZlbjogIip8RWYi CisrICB3aGVuOiAiKnzDnmVnYXIiCisrICB0aGVuOiAiKnzDnsOhIgorKyAgYW5kOiAiKnxPZyIK KysgIGJ1dDogIip8RW4iCisrIml0IjoKKysgIG5hbWU6IEl0YWxpYW4KKysgIG5hdGl2ZTogaXRh bGlhbm8KKysgIGZlYXR1cmU6IEZ1bnppb25hbGl0w6AKKysgIGJhY2tncm91bmQ6IENvbnRlc3Rv CisrICBzY2VuYXJpbzogU2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IFNjaGVtYSBkZWxs byBzY2VuYXJpbworKyAgZXhhbXBsZXM6IEVzZW1waQorKyAgZ2l2ZW46ICIqfERhdG98RGF0YXxE YXRpfERhdGUiCisrICB3aGVuOiAiKnxRdWFuZG8iCisrICB0aGVuOiAiKnxBbGxvcmEiCisrICBh bmQ6ICIqfEUiCisrICBidXQ6ICIqfE1hIgorKyJqYSI6CisrICBuYW1lOiBKYXBhbmVzZQorKyAg bmF0aXZlOiDml6XmnKzoqp4KKysgIGZlYXR1cmU6IOODleOCo+ODvOODgeODo3zmqZ/og70KKysg IGJhY2tncm91bmQ6IOiDjOaZrworKyAgc2NlbmFyaW86IOOCt+ODiuODquOCqgorKyAgc2NlbmFy aW9fb3V0bGluZTog44K344OK44Oq44Kq44Ki44Km44OI44Op44Kk44OzfOOCt+ODiuODquOCquOD huODs+ODl+ODrOODvOODiHzjg4bjg7Pjg5fjg6x844K344OK44Oq44Kq44OG44Oz44OX44OsCisr ICBleGFtcGxlczog5L6LfOOCteODs+ODl+ODqworKyAgZ2l2ZW46ICIqfOWJjeaPkDwiCisrICB3 aGVuOiAiKnzjgoLjgZc8IgorKyAgdGhlbjogIip844Gq44KJ44GwPCIKKysgIGFuZDogIip844GL 44GkPCIKKysgIGJ1dDogIip844GX44GL44GXPHzkvYbjgZc8fOOBn+OBoOOBlzwiCisrImtvIjoK KysgIG5hbWU6IEtvcmVhbgorKyAgbmF0aXZlOiDtlZzqta3slrQKKysgIGJhY2tncm91bmQ6IOuw sOqyvQorKyAgZmVhdHVyZTog6riw64qlCisrICBzY2VuYXJpbzog7Iuc64KY66as7JikCisrICBz Y2VuYXJpb19vdXRsaW5lOiDsi5zrgpjrpqzsmKQg6rCc7JqUCisrICBleGFtcGxlczog7JiICisr ICBnaXZlbjogIip87KGw6rG0PHzrqLzsoIA8IgorKyAgd2hlbjogIip866eM7J28PHzrp4zslb08 IgorKyAgdGhlbjogIip86re465+s66m0PCIKKysgIGFuZDogIip86re466as6rOgPCIKKysgIGJ1 dDogIip87ZWY7KeA66eMPHzri6g8IgorKyJsdCI6CisrICBuYW1lOiBMaXRodWFuaWFuCisrICBu YXRpdmU6IGxpZXR1dmnFsyBrYWxiYQorKyAgZmVhdHVyZTogU2F2eWLElworKyAgYmFja2dyb3Vu ZDogS29udGVrc3RhcworKyAgc2NlbmFyaW86IFNjZW5hcmlqdXMKKysgIHNjZW5hcmlvX291dGxp bmU6IFNjZW5hcmlqYXVzIMWhYWJsb25hcworKyAgZXhhbXBsZXM6IFBhdnl6ZMW+aWFpfFNjZW5h cmlqYWl8VmFyaWFudGFpCisrICBnaXZlbjogIip8RHVvdGEiCisrICB3aGVuOiAiKnxLYWkiCisr ICB0aGVuOiAiKnxUYWRhIgorKyAgYW5kOiAiKnxJciIKKysgIGJ1dDogIip8QmV0IgorKyJsdSI6 CisrICBuYW1lOiBMdXhlbWJ1cmdpc2gKKysgIG5hdGl2ZTogTMOrdHplYnVlcmdlc2NoCisrICBm ZWF0dXJlOiBGdW5rdGlvbmFsaXTDqWl0CisrICBiYWNrZ3JvdW5kOiBIYW5uZXJncm9uZAorKyAg c2NlbmFyaW86IFN6ZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBQbGFuZyB2dW0gU3plbmFy aW8KKysgIGV4YW1wbGVzOiBCZWlzcGlsbGVyCisrICBnaXZlbjogIip8dWdlaG9sbCIKKysgIHdo ZW46ICIqfHdhbm4iCisrICB0aGVuOiAiKnxkYW5uIgorKyAgYW5kOiAiKnxhbnxhIgorKyAgYnV0 OiAiKnxhd2VyfG3DpCIKKysibHYiOgorKyAgbmFtZTogTGF0dmlhbgorKyAgbmF0aXZlOiBsYXR2 aWXFoXUKKysgIGZlYXR1cmU6IEZ1bmtjaW9uYWxpdMSBdGV8RsSrxI1hCisrICBiYWNrZ3JvdW5k OiBLb250ZWtzdHN8U2l0dcSBY2lqYQorKyAgc2NlbmFyaW86IFNjZW7EgXJpanMKKysgIHNjZW5h cmlvX291dGxpbmU6IFNjZW7EgXJpanMgcMSTYyBwYXJhdWdhCisrICBleGFtcGxlczogUGllbcST cml8UGFyYXVncworKyAgZ2l2ZW46ICIqfEthZCIKKysgIHdoZW46ICIqfEphIgorKyAgdGhlbjog Iip8VGFkIgorKyAgYW5kOiAiKnxVbiIKKysgIGJ1dDogIip8QmV0IgorKyJubCI6CisrICBuYW1l OiBEdXRjaAorKyAgbmF0aXZlOiBOZWRlcmxhbmRzCisrICBmZWF0dXJlOiBGdW5jdGlvbmFsaXRl aXQKKysgIGJhY2tncm91bmQ6IEFjaHRlcmdyb25kCisrICBzY2VuYXJpbzogU2NlbmFyaW8KKysg IHNjZW5hcmlvX291dGxpbmU6IEFic3RyYWN0IFNjZW5hcmlvCisrICBleGFtcGxlczogVm9vcmJl ZWxkZW4KKysgIGdpdmVuOiAiKnxHZWdldmVufFN0ZWwiCisrICB3aGVuOiAiKnxBbHMiCisrICB0 aGVuOiAiKnxEYW4iCisrICBhbmQ6ICIqfEVuIgorKyAgYnV0OiAiKnxNYWFyIgorKyJubyI6Cisr ICBuYW1lOiBOb3J3ZWdpYW4KKysgIG5hdGl2ZTogbm9yc2sKKysgIGZlYXR1cmU6IEVnZW5za2Fw CisrICBiYWNrZ3JvdW5kOiBCYWtncnVubgorKyAgc2NlbmFyaW86IFNjZW5hcmlvCisrICBzY2Vu YXJpb19vdXRsaW5lOiBTY2VuYXJpb21hbHxBYnN0cmFrdCBTY2VuYXJpbworKyAgZXhhbXBsZXM6 IEVrc2VtcGxlcgorKyAgZ2l2ZW46ICIqfEdpdHQiCisrICB3aGVuOiAiKnxOw6VyIgorKyAgdGhl bjogIip8U8OlIgorKyAgYW5kOiAiKnxPZyIKKysgIGJ1dDogIip8TWVuIgorKyJwbCI6CisrICBu YW1lOiBQb2xpc2gKKysgIG5hdGl2ZTogcG9sc2tpCisrICBmZWF0dXJlOiBXxYJhxZtjaXdvxZvE hworKyAgYmFja2dyb3VuZDogWmHFgm/FvGVuaWEKKysgIHNjZW5hcmlvOiBTY2VuYXJpdXN6Cisr ICBzY2VuYXJpb19vdXRsaW5lOiBTemFibG9uIHNjZW5hcml1c3phCisrICBleGFtcGxlczogUHJ6 eWvFgmFkeQorKyAgZ2l2ZW46ICIqfFpha8WCYWRhasSFY3xNYWrEhWMiCisrICB3aGVuOiAiKnxK ZcW8ZWxpfEplxZtsaSIKKysgIHRoZW46ICIqfFd0ZWR5IgorKyAgYW5kOiAiKnxPcmF6fEkiCisr ICBidXQ6ICIqfEFsZSIKKysicHQiOgorKyAgbmFtZTogUG9ydHVndWVzZQorKyAgbmF0aXZlOiBw b3J0dWd1w6pzCisrICBiYWNrZ3JvdW5kOiBDb250ZXh0bworKyAgZmVhdHVyZTogRnVuY2lvbmFs aWRhZGUKKysgIHNjZW5hcmlvOiBDZW7DoXJpb3xDZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5l OiBFc3F1ZW1hIGRvIENlbsOhcmlvfEVzcXVlbWEgZG8gQ2VuYXJpbworKyAgZXhhbXBsZXM6IEV4 ZW1wbG9zCisrICBnaXZlbjogIip8RGFkb3xEYWRhfERhZG9zfERhZGFzIgorKyAgd2hlbjogIip8 UXVhbmRvIgorKyAgdGhlbjogIip8RW50w6NvfEVudGFvIgorKyAgYW5kOiAiKnxFIgorKyAgYnV0 OiAiKnxNYXMiCisrInJvIjoKKysgIG5hbWU6IFJvbWFuaWFuCisrICBuYXRpdmU6IHJvbcOibsSD CisrICBiYWNrZ3JvdW5kOiBDb250ZXh0CisrICBmZWF0dXJlOiBGdW5jdGlvbmFsaXRhdGV8RnVu Y8ibaW9uYWxpdGF0ZXxGdW5jxaNpb25hbGl0YXRlCisrICBzY2VuYXJpbzogU2NlbmFyaXUKKysg IHNjZW5hcmlvX291dGxpbmU6IFN0cnVjdHVyYSBzY2VuYXJpdXxTdHJ1Y3R1csSDIHNjZW5hcml1 CisrICBleGFtcGxlczogRXhlbXBsZQorKyAgZ2l2ZW46ICIqfERhdGUgZmlpbmR8RGF0IGZpaW5k fERhdGkgZmlpbmR8RGHIm2kgZmlpbmR8RGHFo2kgZmlpbmQiCisrICB3aGVuOiAiKnxDYW5kfEPD om5kIgorKyAgdGhlbjogIip8QXR1bmNpIgorKyAgYW5kOiAiKnxTaXzImGl8xZ5pIgorKyAgYnV0 OiAiKnxEYXIiCisrInJ1IjoKKysgIG5hbWU6IFJ1c3NpYW4KKysgIG5hdGl2ZTog0YDRg9GB0YHQ utC40LkKKysgIGZlYXR1cmU6INCk0YPQvdC60YbQuNGPfNCk0YPQvdC60YbQuNC+0L3QsNC7fNCh 0LLQvtC50YHRgtCy0L4KKysgIGJhY2tncm91bmQ6INCf0YDQtdC00YvRgdGC0L7RgNC40Y980JrQ vtC90YLQtdC60YHRggorKyAgc2NlbmFyaW86INCh0YbQtdC90LDRgNC40LkKKysgIHNjZW5hcmlv X291dGxpbmU6INCh0YLRgNGD0LrRgtGD0YDQsCDRgdGG0LXQvdCw0YDQuNGPCisrICBleGFtcGxl czog0J/RgNC40LzQtdGA0YsKKysgIGdpdmVuOiAiKnzQlNC+0L/Rg9GB0YLQuNC8fNCU0LDQvdC+ fNCf0YPRgdGC0YwiCisrICB3aGVuOiAiKnzQldGB0LvQuHzQmtC+0LPQtNCwIgorKyAgdGhlbjog Iip80KLQvnzQotC+0LPQtNCwIgorKyAgYW5kOiAiKnzQmHzQmiDRgtC+0LzRgyDQttC1IgorKyAg YnV0OiAiKnzQndC+fNCQIgorKyJzdiI6CisrICBuYW1lOiBTd2VkaXNoCisrICBuYXRpdmU6IFN2 ZW5za2EKKysgIGZlYXR1cmU6IEVnZW5za2FwCisrICBiYWNrZ3JvdW5kOiBCYWtncnVuZAorKyAg c2NlbmFyaW86IFNjZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBBYnN0cmFrdCBTY2VuYXJp b3xTY2VuYXJpb21hbGwKKysgIGV4YW1wbGVzOiBFeGVtcGVsCisrICBnaXZlbjogIip8R2l2ZXQi CisrICB3aGVuOiAiKnxOw6RyIgorKyAgdGhlbjogIip8U8OlIgorKyAgYW5kOiAiKnxPY2giCisr ICBidXQ6ICIqfE1lbiIKKysic2siOgorKyAgbmFtZTogU2xvdmFrCisrICBuYXRpdmU6IFNsb3Zl bnNreQorKyAgZmVhdHVyZTogUG/FvmlhZGF2a2EKKysgIGJhY2tncm91bmQ6IFBvemFkaWUKKysg IHNjZW5hcmlvOiBTY2Vuw6FyCisrICBzY2VuYXJpb19vdXRsaW5lOiBOw6HEjXJ0IFNjZW7DoXJ1 CisrICBleGFtcGxlczogUHLDrWtsYWR5CisrICBnaXZlbjogIip8UG9raWHEviIKKysgIHdoZW46 ICIqfEtlxI8iCisrICB0aGVuOiAiKnxUYWsiCisrICBhbmQ6ICIqfEEiCisrICBidXQ6ICIqfEFs ZSIKKysic3ItTGF0biI6CisrICBuYW1lOiBTZXJiaWFuIChMYXRpbikKKysgIG5hdGl2ZTogU3Jw c2tpIChMYXRpbmljYSkKKysgIGZlYXR1cmU6IEZ1bmtjaW9uYWxub3N0fE1vZ3XEh25vc3R8TW9n dWNub3N0fE9zb2JpbmEKKysgIGJhY2tncm91bmQ6IEtvbnRla3N0fE9zbm92YXxQb3phZGluYQor KyAgc2NlbmFyaW86IFNjZW5hcmlvfFByaW1lcgorKyAgc2NlbmFyaW9fb3V0bGluZTogU3RydWt0 dXJhIHNjZW5hcmlqYXxTa2ljYXxLb25jZXB0CisrICBleGFtcGxlczogUHJpbWVyaXxTY2VuYXJp amkKKysgIGdpdmVuOiAiKnxaYWRhdG98WmFkYXRlfFphdGF0aSIKKysgIHdoZW46ICIqfEthZGF8 S2FkIgorKyAgdGhlbjogIip8T25kYSIKKysgIGFuZDogIip8SSIKKysgIGJ1dDogIip8QWxpIgor KyJzci1DeXJsIjoKKysgIG5hbWU6IFNlcmJpYW4KKysgIG5hdGl2ZTog0KHRgNC/0YHQutC4Cisr ICBmZWF0dXJlOiDQpNGD0L3QutGG0LjQvtC90LDQu9C90L7RgdGCfNCc0L7Qs9GD0ZvQvdC+0YHR gnzQntGB0L7QsdC40L3QsAorKyAgYmFja2dyb3VuZDog0JrQvtC90YLQtdC60YHRgnzQntGB0L3Q vtCy0LB80J/QvtC30LDQtNC40L3QsAorKyAgc2NlbmFyaW86INCh0YbQtdC90LDRgNC40L580J/R gNC40LzQtdGACisrICBzY2VuYXJpb19vdXRsaW5lOiDQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC1 0L3QsNGA0LjRmNCwfNCh0LrQuNGG0LB80JrQvtC90YbQtdC/0YIKKysgIGV4YW1wbGVzOiDQn9GA 0LjQvNC10YDQuHzQodGG0LXQvdCw0YDQuNGY0LgKKysgIGdpdmVuOiAiKnzQl9Cw0LTQsNGC0L58 0JfQsNC00LDRgtC1fNCX0LDQtNCw0YLQuCIKKysgIHdoZW46ICIqfNCa0LDQtNCwfNCa0LDQtCIK KysgIHRoZW46ICIqfNCe0L3QtNCwIgorKyAgYW5kOiAiKnzQmCIKKysgIGJ1dDogIip80JDQu9C4 IgorKyJ0ciI6CisrICBuYW1lOiBUdXJraXNoCisrICBuYXRpdmU6IFTDvHJrw6dlCisrICBmZWF0 dXJlOiDDlnplbGxpaworKyAgYmFja2dyb3VuZDogR2XDp21pxZ8KKysgIHNjZW5hcmlvOiBTZW5h cnlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBTZW5hcnlvIHRhc2xhxJ/EsQorKyAgZXhhbXBsZXM6 IMOWcm5la2xlcgorKyAgZ2l2ZW46ICIqfERpeWVsaW0ga2kiCisrICB3aGVuOiAiKnxFxJ9lciBr aSIKKysgIHRoZW46ICIqfE8gemFtYW4iCisrICBhbmQ6ICIqfFZlIgorKyAgYnV0OiAiKnxGYWth dHxBbWEiCisrInVrIjoKKysgIG5hbWU6IFVrcmFpbmlhbgorKyAgbmF0aXZlOiDQo9C60YDQsNGX 0L3RgdGM0LrQsAorKyAgZmVhdHVyZTog0KTRg9C90LrRhtGW0L7QvdCw0LsKKysgIGJhY2tncm91 bmQ6INCf0LXRgNC10LTRg9C80L7QstCwCisrICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0ZbQuQor KyAgc2NlbmFyaW9fb3V0bGluZTog0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNGW0Y4K KysgIGV4YW1wbGVzOiDQn9GA0LjQutC70LDQtNC4CisrICBnaXZlbjogIip80J/RgNC40L/Rg9GB 0YLQuNC80L580J/RgNC40L/Rg9GB0YLQuNC80L4sINGJ0L580J3QtdGF0LDQuXzQlNCw0L3QviIK KysgIHdoZW46ICIqfNCv0LrRidC+fNCa0L7Qu9C4IgorKyAgdGhlbjogIip80KLQvnzQotC+0LTR liIKKysgIGFuZDogIip80IZ80JAg0YLQsNC60L7QtnzQotCwIgorKyAgYnV0OiAiKnzQkNC70LUi CisrInV6IjoKKysgIG5hbWU6IFV6YmVrCisrICBuYXRpdmU6INCj0LfQsdC10LrRh9CwCisrICBm ZWF0dXJlOiDQpNGD0L3QutGG0LjQvtC90LDQuworKyAgYmFja2dyb3VuZDog0KLQsNGA0LjRhQor KyAgc2NlbmFyaW86INCh0YbQtdC90LDRgNC40LkKKysgIHNjZW5hcmlvX291dGxpbmU6INCh0YbQ tdC90LDRgNC40Lkg0YHRgtGA0YPQutGC0YPRgNCw0YHQuAorKyAgZXhhbXBsZXM6INCc0LjRgdC+ 0LvQu9Cw0YAKKysgIGdpdmVuOiAiKnzQkNCz0LDRgCIKKysgIHdoZW46ICIqfNCQ0LPQsNGAIgor KyAgdGhlbjogIip80KPQvdC00LAiCisrICBhbmQ6ICIqfNCS0LAiCisrICBidXQ6ICIqfNCb0LXQ utC40L180JHQuNGA0L7QunzQkNC80LzQviIKKysidmkiOgorKyAgbmFtZTogVmlldG5hbWVzZQor KyAgbmF0aXZlOiBUaeG6v25nIFZp4buHdAorKyAgZmVhdHVyZTogVMOtbmggbsSDbmcKKysgIGJh Y2tncm91bmQ6IELhu5FpIGPhuqNuaAorKyAgc2NlbmFyaW86IFTDrG5oIGh14buRbmd8S+G7i2No IGLhuqNuCisrICBzY2VuYXJpb19vdXRsaW5lOiBLaHVuZyB0w6xuaCBodeG7kW5nfEtodW5nIGvh u4tjaCBi4bqjbgorKyAgZXhhbXBsZXM6IEThu68gbGnhu4d1CisrICBnaXZlbjogIip8Qmnhur90 fENobyIKKysgIHdoZW46ICIqfEtoaSIKKysgIHRoZW46ICIqfFRow6wiCisrICBhbmQ6ICIqfFbD oCIKKysgIGJ1dDogIip8TmjGsG5nIgorKyJ6aC1DTiI6CisrICBuYW1lOiBDaGluZXNlIHNpbXBs aWZpZWQKKysgIG5hdGl2ZTog566A5L2T5Lit5paHCisrICBmZWF0dXJlOiDlip/og70KKysgIGJh Y2tncm91bmQ6IOiDjOaZrworKyAgc2NlbmFyaW86IOWcuuaZrworKyAgc2NlbmFyaW9fb3V0bGlu ZTog5Zy65pmv5aSn57qyCisrICBleGFtcGxlczog5L6L5a2QCisrICBnaXZlbjogIip85YGH5aaC PCIKKysgIHdoZW46ICIqfOW9kzwiCisrICB0aGVuOiAiKnzpgqPkuYg8IgorKyAgYW5kOiAiKnzo gIzkuJQ8IgorKyAgYnV0OiAiKnzkvYbmmK88IgorKyJ6aC1UVyI6CisrICBuYW1lOiBDaGluZXNl IHRyYWRpdGlvbmFsCisrICBuYXRpdmU6IOe5gemrlOS4reaWhworKyAgZmVhdHVyZTog5Yqf6IO9 CisrICBiYWNrZ3JvdW5kOiDog4zmma8KKysgIHNjZW5hcmlvOiDloLTmma985YqH5pysCisrICBz Y2VuYXJpb19vdXRsaW5lOiDloLTmma/lpKfntrF85YqH5pys5aSn57axCisrICBleGFtcGxlczog 5L6L5a2QCisrICBnaXZlbjogIip85YGH6KitPCIKKysgIHdoZW46ICIqfOeVtjwiCisrICB0aGVu OiAiKnzpgqPpurw8IgorKyAgYW5kOiAiKnzogIzkuJQ8fOS4puS4lDwiCisrICBidXQ6ICIqfOS9 huaYrzwiCitkaWZmIC0tZ2l0IGEvYmluL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24gYi9iaW4vZ2hl cmtpbi1sYW5ndWFnZXMuanNvbgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBkMmQ1 ZTkzLi4wMDAwMDAwCistLS0gYS9iaW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorKysrIC9kZXYv bnVsbAorQEAgLTEsMzE5MyArMCwwIEBACisteworLSAgImFmIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIkVuICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBb CistICAgICAgIkFndGVyZ3JvbmQiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiog IiwKKy0gICAgICAiTWFhciAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi Vm9vcmJlZWxkZSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmtzaWUi LAorLSAgICAgICJCZXNpZ2hlaWQgQmVob2VmdGUiLAorLSAgICAgICJWZXJtb8OrIgorLSAgICBd LAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiR2VnZXdlICIKKy0gICAg XSwKKy0gICAgIm5hbWUiOiAiQWZyaWthYW5zIiwKKy0gICAgIm5hdGl2ZSI6ICJBZnJpa2FhbnMi LAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNpdHVhc2llIgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTaXR1YXNpZSBVaXRlZW5zZXR0aW5nIgorLSAg ICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYW4gIgorLSAgICBd LAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJXYW5uZWVyICIKKy0gICAg XQorLSAgfSwKKy0gICJhbSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLUtdW+ICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItS/1bjVttW/ 1aXWhNW91b8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi 1LLVodW11oEgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItWV1oDVq9W2 1aHVr9W21aXWgCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgItWW1bjWgtW2 1a/WgdWr1bjVttWh1azVuNaC1anVtdW41oLVtiIsCistICAgICAgItWA1aHVv9Wv1bjWgtWp1bXV uNaC1bYiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLU tNWr1oHVuNaC1oQgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJBcm1lbmlhbiIsCistICAgICJu YXRpdmUiOiAi1bDVodW11aXWgNWl1bYiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgItWN 1oHVpdW21aHWgCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi 1Y3WgdWl1bbVodaA1asg1a/VodW81bjWgtaB1b7VodaB1oTVqCIKKy0gICAgXSwKKy0gICAgInRo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi1LHVutWhICIKKy0gICAgXSwKKy0gICAgIndo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi1LXVqdWlICIsCistICAgICAgItS11oDVoiAi CistICAgIF0KKy0gIH0sCistICAiYXIiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi2YggIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi2KfZ hNiu2YTZgdmK2KkiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi2YTZg9mGICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLYp9mF2KvZ hNipIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi2K7Yp9i12YrYqSIKKy0g ICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItio2YHYsdi2ICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiQXJhYmljIiwKKy0gICAgIm5hdGl2ZSI6ICLYp9mE2LnY sdio2YrYqSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi2LPZitmG2KfYsdmK2YgiCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgItiz2YrZhtin2LHZitmI INmF2K7Yt9i3IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLYp9iw2KfZiyAiLAorLSAgICAgICLYq9mFICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi2YXYqtmJICIsCistICAgICAgIti52YbYr9mF2KcgIgorLSAg ICBdCistICB9LAorLSAgImFzdCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJZICIsCistICAgICAgIllhICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCist ICAgICAgIkFudGVjZWRlbnRlcyIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJQZXJ1ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJF eGVtcGxvcyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkNhcmF1dGVyw61z dGljYSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkTD oXUgIiwKKy0gICAgICAiRGFkYSAiLAorLSAgICAgICJEYW9zICIsCistICAgICAgIkRhZXMgIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJBc3R1cmlhbiIsCistICAgICJuYXRpdmUiOiAiYXN0dXJp YW51IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJDYXN1IgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJFc2JvenUgZGVsIGNhc3UiCistICAgIF0sCist ICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkVudMOzcyAiCistICAgIF0sCist ICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkN1YW5kbyAiCistICAgIF0KKy0g IH0sCistICAiYXoiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVsmZ ICIsCistICAgICAgIkjJmW0gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAg ICAiS2XDp21pxZ8iLAorLSAgICAgICJLb250ZWtzdCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJBbW1hICIsCistICAgICAgIkFuY2FxICIKKy0gICAgXSwK Ky0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJOw7xtdW7JmWzJmXIiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICLDlnrJmWxsaWsiCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUdXRhcSBraSAiLAorLSAgICAgICJWZXJpbGlyICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiQXplcmJhaWphbmkiLAorLSAgICAibmF0aXZlIjogIkF6 yZlyYmF5Y2FuY2EiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNzZW5hcmkiCistICAg IF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNzZW5hcmluaW4gc3RydWt0 dXJ1IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPIGhh bGRhICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAixo9n yZlyICIsCistICAgICAgIk7JmSB2YXh0IGtpICIKKy0gICAgXQorLSAgfSwKKy0gICJiZyI6IHsK Ky0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQmCAiCistICAgIF0sCistICAg ICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQn9GA0LXQtNC40YHRgtC+0YDQuNGPIgorLSAgICBd LAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgItCd0L4gIgorLSAgICBdLAor LSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItCf0YDQuNC80LXRgNC4IgorLSAgICBdLAorLSAg ICAiZmVhdHVyZSI6IFsKKy0gICAgICAi0KTRg9C90LrRhtC40L7QvdCw0LvQvdC+0YHRgiIKKy0g ICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCU0LDQtNC10L3Q viAiCistICAgIF0sCistICAgICJuYW1lIjogIkJ1bGdhcmlhbiIsCistICAgICJuYXRpdmUiOiAi 0LHRitC70LPQsNGA0YHQutC4IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLQodGG0LXQ vdCw0YDQuNC5IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQ oNCw0LzQutCwINC90LAg0YHRhtC10L3QsNGA0LjQuSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAi0KLQviAiCistICAgIF0sCistICAgICJ3aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgItCa0L7Qs9Cw0YLQviAiCistICAgIF0KKy0gIH0sCistICAi Ym0iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGFuICIKKy0gICAg XSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkxhdGFyIEJlbGFrYW5nIgorLSAgICBd LAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIlRldGFwaSAiLAorLSAgICAg ICJUYXBpICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJDb250b2giCist ICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGdW5nc2kiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEaWJlcmkgIiwKKy0gICAgICAiQmFn aSAiCistICAgIF0sCistICAgICJuYW1lIjogIk1hbGF5IiwKKy0gICAgIm5hdGl2ZSI6ICJCYWhh c2EgTWVsYXl1IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTZW5hcmlvIiwKKy0gICAg ICAiU2l0dWFzaSIsCistICAgICAgIktlYWRhYW4iCistICAgIF0sCistICAgICJzY2VuYXJpb091 dGxpbmUiOiBbCistICAgICAgIktlcmFuZ2thIFNlbmFyaW8iLAorLSAgICAgICJLZXJhbmdrYSBT aXR1YXNpIiwKKy0gICAgICAiS2VyYW5na2EgS2VhZGFhbiIsCistICAgICAgIkdhcmlzIFBhbmR1 YW4gU2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiTWFrYSAiLAorLSAgICAgICJLZW11ZGlhbiAiCistICAgIF0sCistICAgICJ3aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIkFwYWJpbGEgIgorLSAgICBdCistICB9LAorLSAgImJzIjog eworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkkgIiwKKy0gICAgICAiQSAi CistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJQb3phZGluYSIKKy0gICAg XSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbGkgIgorLSAgICBdLAor LSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlByaW1qZXJpIgorLSAgICBdLAorLSAgICAiZmVh dHVyZSI6IFsKKy0gICAgICAiS2FyYWt0ZXJpc3Rpa2EiCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYXRvICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAi Qm9zbmlhbiIsCistICAgICJuYXRpdmUiOiAiQm9zYW5za2kiLAorLSAgICAic2NlbmFyaW8iOiBb CistICAgICAgIlNjZW5hcmlqdSIsCistICAgICAgIlNjZW5hcmlvIgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTY2VuYXJpanUtb2JyaXMiLAorLSAgICAgICJT Y2VuYXJpby1vdXRsaW5lIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJaYXRpbSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIkthZGEgIgorLSAgICBdCistICB9LAorLSAgImNhIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIkkgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsK Ky0gICAgICAiUmVyZWZvbnMiLAorLSAgICAgICJBbnRlY2VkZW50cyIKKy0gICAgXSwKKy0gICAg ImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJQZXLDsiAiCistICAgIF0sCistICAgICJl eGFtcGxlcyI6IFsKKy0gICAgICAiRXhlbXBsZXMiCistICAgIF0sCistICAgICJmZWF0dXJlIjog WworLSAgICAgICJDYXJhY3RlcsOtc3RpY2EiLAorLSAgICAgICJGdW5jaW9uYWxpdGF0IgorLSAg ICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRG9uYXQgIiwKKy0g ICAgICAiRG9uYWRhICIsCistICAgICAgIkF0w6hzICIsCistICAgICAgIkF0ZXNhICIKKy0gICAg XSwKKy0gICAgIm5hbWUiOiAiQ2F0YWxhbiIsCistICAgICJuYXRpdmUiOiAiY2F0YWzDoCIsCist ICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiRXNjZW5hcmkiCistICAgIF0sCistICAgICJzY2Vu YXJpb091dGxpbmUiOiBbCistICAgICAgIkVzcXVlbWEgZGUgbCdlc2NlbmFyaSIKKy0gICAgXSwK Ky0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWxlc2hvcmVzICIsCistICAg ICAgIkNhbCAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg IlF1YW4gIgorLSAgICBdCistICB9LAorLSAgImNzIjogeworLSAgICAiYW5kIjogWworLSAgICAg ICIqICIsCistICAgICAgIkEgdGFrw6kgIiwKKy0gICAgICAiQSAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICJQb3phZMOtIiwKKy0gICAgICAiS29udGV4dCIKKy0gICAg XSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbGUgIgorLSAgICBdLAor LSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlDFmcOta2xhZHkiCistICAgIF0sCistICAgICJm ZWF0dXJlIjogWworLSAgICAgICJQb8W+YWRhdmVrIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAiUG9rdWQgIiwKKy0gICAgICAiWmEgcMWZZWRwb2tsYWR1 ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQ3plY2giLAorLSAgICAibmF0aXZlIjogIsSMZXNr eSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2PDqW7DocWZIgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJOw6HEjXJ0IFNjw6luw6HFmWUiLAorLSAg ICAgICJPc25vdmEgc2PDqW7DocWZZSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAiUGFrICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiS2R5xb4gIgorLSAgICBdCistICB9LAorLSAgImN5LUdCIjogeworLSAgICAi YW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkEgIgorLSAgICBdLAorLSAgICAiYmFja2dy b3VuZCI6IFsKKy0gICAgICAiQ2VmbmRpciIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJPbmQgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAg ICAgIkVuZ2hyZWlmZnRpYXUiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJB cndlZGQiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJB bnJoZWdlZGlnIGEgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJXZWxzaCIsCistICAgICJuYXRp dmUiOiAiQ3ltcmFlZyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaW8iCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNjZW5hcmlvIEFtbGlu ZWxsb2wiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIllu YSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlByeWQg IgorLSAgICBdCistICB9LAorLSAgImRhIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIs CistICAgICAgIk9nICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkJh Z2dydW5kIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIk1l biAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRWtzZW1wbGVyIgorLSAg ICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRWdlbnNrYWIiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJHaXZldCAiCistICAgIF0sCistICAg ICJuYW1lIjogIkRhbmlzaCIsCistICAgICJuYXRpdmUiOiAiZGFuc2siLAorLSAgICAic2NlbmFy aW8iOiBbCistICAgICAgIlNjZW5hcmllIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5l IjogWworLSAgICAgICJBYnN0cmFrdCBTY2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAiU8OlICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiTsOlciAiCistICAgIF0KKy0gIH0sCistICAiZGUiOiB7Cist ICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVW5kICIKKy0gICAgXSwKKy0gICAg ImJhY2tncm91bmQiOiBbCistICAgICAgIkdydW5kbGFnZSIKKy0gICAgXSwKKy0gICAgImJ1dCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBYmVyICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVz IjogWworLSAgICAgICJCZWlzcGllbGUiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICJGdW5rdGlvbmFsaXTDpHQiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJBbmdlbm9tbWVuICIsCistICAgICAgIkdlZ2ViZW4gc2VpICIsCistICAg ICAgIkdlZ2ViZW4gc2VpZW4gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJHZXJtYW4iLAorLSAg ICAibmF0aXZlIjogIkRldXRzY2giLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlN6ZW5h cmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTemVuYXJp b2dydW5kcmlzcyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiRGFubiAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg Ildlbm4gIgorLSAgICBdCistICB9LAorLSAgImVsIjogeworLSAgICAiYW5kIjogWworLSAgICAg ICIqICIsCistICAgICAgIs6azrHOuSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWwor LSAgICAgICLOpc+Az4zOss6xzrjPgc6/IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAg ICIqICIsCistICAgICAgIs6RzrvOu86sICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWwor LSAgICAgICLOoM6xz4HOsc60zrXOr86zzrzOsc+EzrEiLAorLSAgICAgICLOo861zr3OrM+BzrnO sSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIs6Uz4XOvc6xz4TPjM+EzrfP hM6xIiwKKy0gICAgICAizpvOtc65z4TOv8+Fz4HOs86vzrEiCistICAgIF0sCistICAgICJnaXZl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLOlM61zrTOv868zq3Ovc6/z4UgIgorLSAgICBd LAorLSAgICAibmFtZSI6ICJHcmVlayIsCistICAgICJuYXRpdmUiOiAizpXOu867zrfOvc65zrrO rCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAizqPOtc69zqzPgc65zr8iCistICAgIF0s CistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIs6gzrXPgc65zrPPgc6xz4bOriDO o861zr3Osc+Bzq/Ov8+FIiwKKy0gICAgICAizqDOtc+Bzq/Os8+BzrHOvM68zrEgzqPOtc69zrHP gc6vzr/PhSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi zqTPjM+EzrUgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLOjM+EzrHOvSAiCistICAgIF0KKy0gIH0sCistICAiZW0iOiB7CistICAgICJhbmQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi8J+YgiIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBb CistICAgICAgIvCfkqQiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAi8J+YlCIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLwn5OTIgor LSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi8J+TmiIKKy0gICAgXSwKKy0gICAg ImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIvCfmJAiCistICAgIF0sCistICAgICJu YW1lIjogIkVtb2ppIiwKKy0gICAgIm5hdGl2ZSI6ICLwn5iAIiwKKy0gICAgInNjZW5hcmlvIjog WworLSAgICAgICLwn5OVIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAg ICAgICLwn5OWIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLwn5mPIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLw n46sIgorLSAgICBdCistICB9LAorLSAgImVuIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIq ICIsCistICAgICAgIkFuZCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAg ICJCYWNrZ3JvdW5kIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAg ICAgIkJ1dCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXhhbXBsZXMi LAorLSAgICAgICJTY2VuYXJpb3MiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAg ICJGZWF0dXJlIiwKKy0gICAgICAiQnVzaW5lc3MgTmVlZCIsCistICAgICAgIkFiaWxpdHkiCist ICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJHaXZlbiAiCist ICAgIF0sCistICAgICJuYW1lIjogIkVuZ2xpc2giLAorLSAgICAibmF0aXZlIjogIkVuZ2xpc2gi LAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlvIgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTY2VuYXJpbyBPdXRsaW5lIiwKKy0gICAgICAi U2NlbmFyaW8gVGVtcGxhdGUiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIlRoZW4gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJXaGVuICIKKy0gICAgXQorLSAgfSwKKy0gICJlbi1TY291c2UiOiB7CistICAgICJh bmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQW4gIgorLSAgICBdLAorLSAgICAiYmFja2dy b3VuZCI6IFsKKy0gICAgICAiRGlzIGlzIHdoYXQgd2VudCBkb3duIgorLSAgICBdLAorLSAgICAi YnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkJ1aCAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAiRXhhbXBsZXMiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWwor LSAgICAgICJGZWF0dXJlIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiR2l2dW4gIiwKKy0gICAgICAiWW91c2Uga25vdyB3aGVuIHlvdXNlIGdvdCAiCist ICAgIF0sCistICAgICJuYW1lIjogIlNjb3VzZSIsCistICAgICJuYXRpdmUiOiAiU2NvdXNlIiwK Ky0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJUaGUgdGhpbmcgb2YgaXQgaXMiCistICAgIF0s CistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIldoYXJyaW1lYW4gaXMiCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkR1biAiLAorLSAgICAg ICJEZW4geW91c2UgZ290dGEgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJXdW4gIiwKKy0gICAgICAiWW91c2Uga25vdyBsaWtlIHdoZW4gIgorLSAgICBd CistICB9LAorLSAgImVuLWF1IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAg ICAgIlRvbyByaWdodCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJG aXJzdCBvZmYiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi WWVhaCBuYWggIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIllvdSdsbCB3 YW5uYSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIlByZXR0eSBtdWNoIgor LSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiWSdrbm93ICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiQXVzdHJhbGlhbiIsCistICAgICJuYXRpdmUiOiAiQXVz dHJhbGlhbiIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiQXd3dywgbG9vayBtYXRlIgor LSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJSZWNrb24gaXQncyBs aWtlIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJCdXQg YXQgdGhlIGVuZCBvZiB0aGUgZGF5IEkgcmVja29uICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAiSXQncyBqdXN0IHVuYmVsaWV2YWJsZSAiCistICAgIF0K Ky0gIH0sCistICAiZW4tbG9sIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAg ICAgIkFOICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkI0IgorLSAg ICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkJVVCAiCistICAgIF0s CistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRVhBTVBMWiIKKy0gICAgXSwKKy0gICAgImZl YXR1cmUiOiBbCistICAgICAgIk9IIEhBSSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAg ICAgICIqICIsCistICAgICAgIkkgQ0FOIEhBWiAiCistICAgIF0sCistICAgICJuYW1lIjogIkxP TENBVCIsCistICAgICJuYXRpdmUiOiAiTE9MQ0FUIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICJNSVNIVU4iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAg Ik1JU0hVTiBTUlNMWSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiREVOICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiV0VOICIKKy0gICAgXQorLSAgfSwKKy0gICJlbi1vbGQiOiB7CistICAgICJhbmQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiT25kICIsCistICAgICAgIjcgIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAiQWVyIiwKKy0gICAgICAiw4ZyIgorLSAgICBdLAorLSAg ICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFjICIKKy0gICAgXSwKKy0gICAgImV4 YW1wbGVzIjogWworLSAgICAgICJTZSB0aGUiLAorLSAgICAgICJTZSDDvmUiLAorLSAgICAgICJT ZSDDsGUiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJId2FldCIsCistICAg ICAgIkh3w6Z0IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiVGh1cmggIiwKKy0gICAgICAiw551cmggIiwKKy0gICAgICAiw5B1cmggIgorLSAgICBdLAor LSAgICAibmFtZSI6ICJPbGQgRW5nbGlzaCIsCistICAgICJuYXRpdmUiOiAiRW5nbGlzYyIsCist ICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU3dhIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9P dXRsaW5lIjogWworLSAgICAgICJTd2EgaHdhZXIgc3dhIiwKKy0gICAgICAiU3dhIGh3w6ZyIHN3 YSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVGhhICIs CistICAgICAgIsOeYSAiLAorLSAgICAgICLDkGEgIiwKKy0gICAgICAiVGhhIHRoZSAiLAorLSAg ICAgICLDnmEgw75lICIsCistICAgICAgIsOQYSDDsGUgIgorLSAgICBdLAorLSAgICAid2hlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUaGEgIiwKKy0gICAgICAiw55hICIsCistICAgICAg IsOQYSAiCistICAgIF0KKy0gIH0sCistICAiZW4tcGlyYXRlIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIkF5ZSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjog WworLSAgICAgICJZby1oby1obyIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJBdmFzdCEgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAg IkRlYWQgbWVuIHRlbGwgbm8gdGFsZXMiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICJBaG95IG1hdGV5ISIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIs CistICAgICAgIkdhbmd3YXkhICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiUGlyYXRlIiwKKy0g ICAgIm5hdGl2ZSI6ICJQaXJhdGUiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIkhlYXZl IHRvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTaGl2ZXIg bWUgdGltYmVycyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiTGV0IGdvIGFuZCBoYXVsICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiQmxpbWV5ISAiCistICAgIF0KKy0gIH0sCistICAiZW8iOiB7CistICAgICJh bmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS2FqICIKKy0gICAgXSwKKy0gICAgImJhY2tn cm91bmQiOiBbCistICAgICAgIkZvbm8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiU2VkICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAg ICJFa3plbXBsb2oiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJUcmFqdG8i CistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEb25pdGHE tW8gIiwKKy0gICAgICAiS29tZW5jZSAiCistICAgIF0sCistICAgICJuYW1lIjogIkVzcGVyYW50 byIsCistICAgICJuYXRpdmUiOiAiRXNwZXJhbnRvIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICJTY2VuYXJvIiwKKy0gICAgICAiS2F6byIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0 bGluZSI6IFsKKy0gICAgICAiS29udHVybyBkZSBsYSBzY2VuYXJvIiwKKy0gICAgICAiU2tpem8i LAorLSAgICAgICJLYXpvLXNraXpvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJEbyAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIlNlICIKKy0gICAgXQorLSAgfSwKKy0gICJlcyI6IHsKKy0gICAgImFuZCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJZICIsCistICAgICAgIkUgIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAiQW50ZWNlZGVudGVzIgorLSAgICBdLAorLSAgICAiYnV0 IjogWworLSAgICAgICIqICIsCistICAgICAgIlBlcm8gIgorLSAgICBdLAorLSAgICAiZXhhbXBs ZXMiOiBbCistICAgICAgIkVqZW1wbG9zIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0g ICAgICAiQ2FyYWN0ZXLDrXN0aWNhIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAiRGFkbyAiLAorLSAgICAgICJEYWRhICIsCistICAgICAgIkRhZG9zICIs CistICAgICAgIkRhZGFzICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiU3BhbmlzaCIsCistICAg ICJuYXRpdmUiOiAiZXNwYcOxb2wiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIkVzY2Vu YXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiRXNxdWVt YSBkZWwgZXNjZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJFbnRvbmNlcyAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIkN1YW5kbyAiCistICAgIF0KKy0gIH0sCistICAiZXQiOiB7CistICAgICJhbmQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAiSmEgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3Vu ZCI6IFsKKy0gICAgICAiVGF1c3QiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiog IiwKKy0gICAgICAiS3VpZCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi SnVodHVtaWQiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJPbWFkdXMiCist ICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJFZWxkYWRlcyAi CistICAgIF0sCistICAgICJuYW1lIjogIkVzdG9uaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJlZXN0 aSBrZWVsIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTdHNlbmFhcml1bSIKKy0gICAg XSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiUmFhbXN0c2VuYWFyaXVtIgor LSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJTaWlzICIKKy0g ICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS3VpICIKKy0gICAg XQorLSAgfSwKKy0gICJmYSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLZiCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLYstmF24zZhtmH IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgItin2YXYpyAi CistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi2YbZhdmI2YbZhyDZh9inIgor LSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi2YjZkNuM2pjar9uMIgorLSAgICBd LAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2KjYpyDZgdix2LYgIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJQZXJzaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLZgdin2LHY s9uMIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLYs9mG2KfYsduM2YgiCistICAgIF0s CistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgItin2YTar9mI24wg2LPZhtin2LHb jNmIIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLYotmG 2q/Yp9mHICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi 2YfZhtqv2KfZhduMICIKKy0gICAgXQorLSAgfSwKKy0gICJmaSI6IHsKKy0gICAgImFuZCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJKYSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjog WworLSAgICAgICJUYXVzdGEiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiTXV0dGEgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlRh cGF1a3NldCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIk9taW5haXN1dXMi CistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPbGV0ZXRh YW4gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJGaW5uaXNoIiwKKy0gICAgIm5hdGl2ZSI6ICJz dW9taSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiVGFwYXVzIgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJUYXBhdXNhaWhpbyIKKy0gICAgXSwKKy0g ICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTmlpbiAiCistICAgIF0sCistICAg ICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkt1biAiCistICAgIF0KKy0gIH0sCist ICAiZnIiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRXQgcXVlICIs CistICAgICAgIkV0IHF1JyIsCistICAgICAgIkV0ICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91 bmQiOiBbCistICAgICAgIkNvbnRleHRlIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAg ICIqICIsCistICAgICAgIk1haXMgcXVlICIsCistICAgICAgIk1haXMgcXUnIiwKKy0gICAgICAi TWFpcyAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXhlbXBsZXMiCist ICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGb25jdGlvbm5hbGl0w6kiCistICAg IF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJTb2l0ICIsCistICAg ICAgIkV0YW50IGRvbm7DqSBxdWUgIiwKKy0gICAgICAiRXRhbnQgZG9ubsOpIHF1JyIsCistICAg ICAgIkV0YW50IGRvbm7DqSAiLAorLSAgICAgICJFdGFudCBkb25uw6llICIsCistICAgICAgIkV0 YW50IGRvbm7DqXMgIiwKKy0gICAgICAiRXRhbnQgZG9ubsOpZXMgIiwKKy0gICAgICAiw4l0YW50 IGRvbm7DqSBxdWUgIiwKKy0gICAgICAiw4l0YW50IGRvbm7DqSBxdSciLAorLSAgICAgICLDiXRh bnQgZG9ubsOpICIsCistICAgICAgIsOJdGFudCBkb25uw6llICIsCistICAgICAgIsOJdGFudCBk b25uw6lzICIsCistICAgICAgIsOJdGFudCBkb25uw6llcyAiCistICAgIF0sCistICAgICJuYW1l IjogIkZyZW5jaCIsCistICAgICJuYXRpdmUiOiAiZnJhbsOnYWlzIiwKKy0gICAgInNjZW5hcmlv IjogWworLSAgICAgICJTY8OpbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgIlBsYW4gZHUgc2PDqW5hcmlvIiwKKy0gICAgICAiUGxhbiBkdSBTY8OpbmFy aW8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkFsb3Jz ICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiUXVhbmQg IiwKKy0gICAgICAiTG9yc3F1ZSAiLAorLSAgICAgICJMb3JzcXUnIgorLSAgICBdCistICB9LAor LSAgImdhIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkFndXMiCist ICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJDw7pscmEiCistICAgIF0sCist ICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWNoIgorLSAgICBdLAorLSAgICAi ZXhhbXBsZXMiOiBbCistICAgICAgIlNhbXBsYcOtIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6 IFsKKy0gICAgICAiR27DqSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIs CistICAgICAgIkN1aXIgaSBnY8OhcyBnbyIsCistICAgICAgIkN1aXIgaSBnY8OhcyBuYWNoIiwK Ky0gICAgICAiQ3VpciBpIGdjw6FzIGd1ciIsCistICAgICAgIkN1aXIgaSBnY8OhcyBuw6FyIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJJcmlzaCIsCistICAgICJuYXRpdmUiOiAiR2FlaWxnZSIs CistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiQ8OhcyIKKy0gICAgXSwKKy0gICAgInNjZW5h cmlvT3V0bGluZSI6IFsKKy0gICAgICAiQ8OhcyBBY2hvbWFpciIKKy0gICAgXSwKKy0gICAgInRo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQW5zaW4iCistICAgIF0sCistICAgICJ3aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgIk51YWlyIGEiLAorLSAgICAgICJOdWFpciBuYWNo IiwKKy0gICAgICAiTnVhaXIgYmEiLAorLSAgICAgICJOdWFpciBuw6FyIgorLSAgICBdCistICB9 LAorLSAgImdqIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuCqheCq qOCrhyAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLgqqzgq4fgqpXg qpfgq43gqrDgqr7gqongqqjgq43gqqEiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAi4Kqq4KqjICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAg ICAgICLgqongqqbgqr7gqrngqrDgqqPgq4siCistICAgIF0sCistICAgICJmZWF0dXJlIjogWwor LSAgICAgICLgqrLgqpXgq43gqrfgqqMiLAorLSAgICAgICLgqrXgq43gqq/gqr7gqqrgqr7gqrAg 4Kqc4Kqw4KuC4KqwIiwKKy0gICAgICAi4KqV4KuN4Kq34Kqu4Kqk4Kq+IgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KqG4Kqq4KuH4KqyIOCqm+CrhyAi CistICAgIF0sCistICAgICJuYW1lIjogIkd1amFyYXRpIiwKKy0gICAgIm5hdGl2ZSI6ICLgqpfg q4HgqpzgqrDgqr7gqqTgq4AiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuCquOCrjeCq peCqv+CqpOCqvyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi 4Kqq4Kqw4Kq/4Kqm4KuN4Kqm4Kq24KuN4KqvIOCqsOCrguCqquCqsOCrh+CqluCqviIsCistICAg ICAgIuCqquCqsOCqv+CqpuCrjeCqpuCqtuCrjeCqryDgqqLgqr7gqoLgqprgq4siCistICAgIF0s CistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCqquCqm+CrgCAiCistICAg IF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCqleCrjeCqr+CqvuCq sOCrhyAiCistICAgIF0KKy0gIH0sCistICAiZ2wiOiB7CistICAgICJhbmQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiRSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAg ICJDb250ZXh0byIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJNYWlzICIsCistICAgICAgIlBlcm8gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCist ICAgICAgIkV4ZW1wbG9zIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiQ2Fy YWN0ZXLDrXN0aWNhIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiRGFkbyAiLAorLSAgICAgICJEYWRhICIsCistICAgICAgIkRhZG9zICIsCistICAgICAg IkRhZGFzICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiR2FsaWNpYW4iLAorLSAgICAibmF0aXZl IjogImdhbGVnbyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiRXNjZW5hcmlvIgorLSAg ICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJFc2Jvem8gZG8gZXNjZW5h cmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJFbnTD s24gIiwKKy0gICAgICAiTG9nbyAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIkNhbmRvICIKKy0gICAgXQorLSAgfSwKKy0gICJoZSI6IHsKKy0gICAgImFu ZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLXldeS150gIgorLSAgICBdLAorLSAgICAiYmFj a2dyb3VuZCI6IFsKKy0gICAgICAi16jXp9eiIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAg ICAgICIqICIsCistICAgICAgIteQ15HXnCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsK Ky0gICAgICAi15PXldeS157XkNeV16oiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICLXqteb15XXoNeUIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi15HXlNeZ16DXqtefICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiSGVicmV3IiwK Ky0gICAgIm5hdGl2ZSI6ICLXoteR16jXmdeqIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAg ICLXqteo15fXmdepIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICLXqteR16DXmdeqINeq16jXl9eZ16kiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIteQ15YgIiwKKy0gICAgICAi15DXlteZICIKKy0gICAgXSwKKy0gICAg IndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi15vXkNep16ggIgorLSAgICBdCistICB9 LAorLSAgImhpIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuCklOCk sCAiLAorLSAgICAgICLgpKTgpKXgpL4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsK Ky0gICAgICAi4KSq4KWD4KS34KWN4KSg4KSt4KWC4KSu4KS/IgorLSAgICBdLAorLSAgICAiYnV0 IjogWworLSAgICAgICIqICIsCistICAgICAgIuCkquCksCAiLAorLSAgICAgICLgpKrgpLDgpKjg pY3gpKTgpYEgIiwKKy0gICAgICAi4KSV4KS/4KSo4KWN4KSk4KWBICIKKy0gICAgXSwKKy0gICAg ImV4YW1wbGVzIjogWworLSAgICAgICLgpIngpKbgpL7gpLngpLDgpKMiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICLgpLDgpYLgpKog4KSy4KWH4KSWIgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KSF4KSX4KSwICIsCistICAgICAg IuCkr+CkpuCkvyAiLAorLSAgICAgICLgpJrgpYLgpILgpJXgpL8gIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJIaW5kaSIsCistICAgICJuYXRpdmUiOiAi4KS54KS/4KSC4KSm4KWAIiwKKy0gICAg InNjZW5hcmlvIjogWworLSAgICAgICLgpKrgpLDgpL/gpKbgpYPgpLbgpY3gpK8iCistICAgIF0s CistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIuCkquCksOCkv+CkpuClg+CktuCl jeCkryDgpLDgpYLgpKrgpLDgpYfgpJbgpL4iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAg ICAgICIqICIsCistICAgICAgIuCkpOCkrCAiLAorLSAgICAgICLgpKTgpKbgpL4gIgorLSAgICBd LAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgpJzgpKwgIiwKKy0gICAg ICAi4KSV4KSm4KS+ICIKKy0gICAgXQorLSAgfSwKKy0gICJociI6IHsKKy0gICAgImFuZCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJJICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBb CistICAgICAgIlBvemFkaW5hIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgIkFsaSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHJp bWplcmkiLAorLSAgICAgICJTY2VuYXJpamkiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWwor LSAgICAgICJPc29iaW5hIiwKKy0gICAgICAiTW9ndcSHbm9zdCIsCistICAgICAgIk1vZ3Vjbm9z dCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlphZGFu ICIsCistICAgICAgIlphZGFuaSAiLAorLSAgICAgICJaYWRhbm8gIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJDcm9hdGlhbiIsCistICAgICJuYXRpdmUiOiAiaHJ2YXRza2kiLAorLSAgICAic2Nl bmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlqIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRs aW5lIjogWworLSAgICAgICJTa2ljYSIsCistICAgICAgIktvbmNlcHQiCistICAgIF0sCistICAg ICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk9uZGEgIgorLSAgICBdLAorLSAgICAi d2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLYWRhICIsCistICAgICAgIkthZCAiCist ICAgIF0KKy0gIH0sCistICAiaHQiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiQWsgIiwKKy0gICAgICAiRXBpICIsCistICAgICAgIkUgIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAiS29udMOoa3MiLAorLSAgICAgICJJc3RvcmlrIgorLSAg ICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIk1lbiAiCistICAgIF0s CistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRWd6YW5wIgorLSAgICBdLAorLSAgICAiZmVh dHVyZSI6IFsKKy0gICAgICAiS2FyYWt0ZXJpc3RpayIsCistICAgICAgIk1hayIsCistICAgICAg IkZvbmtzeW9uYWxpdGUiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJTaXBvemUgIiwKKy0gICAgICAiU2lwb3plIGtlICIsCistICAgICAgIlNpcG96ZSBL ZSAiCistICAgIF0sCistICAgICJuYW1lIjogIkNyZW9sZSIsCistICAgICJuYXRpdmUiOiAia3Jl ecOybCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2VuYXJ5byIKKy0gICAgXSwKKy0g ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiUGxhbiBzZW5hcnlvIiwKKy0gICAgICAi UGxhbiBTZW5hcnlvIiwKKy0gICAgICAiU2VuYXJ5byBkZXNrcmlwc3lvbiIsCistICAgICAgIlNl bmFyeW8gRGVza3JpcHN5b24iLAorLSAgICAgICJEeWFncmFtIHNlbmFyeW8iLAorLSAgICAgICJE eWFncmFtIFNlbmFyeW8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIkzDqCBzYSBhICIsCistICAgICAgIkxlIHNhIGEgIgorLSAgICBdLAorLSAgICAid2hl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJMw6ggIiwKKy0gICAgICAiTGUgIgorLSAgICBd CistICB9LAorLSAgImh1IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAg IsOJcyAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJIw6F0dMOpciIK Ky0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEZSAiCistICAg IF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUMOpbGTDoWsiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICJKZWxsZW16xZEiCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbWVubnlpYmVuICIsCistICAgICAgIkFkb3R0ICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiSHVuZ2FyaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJtYWd5 YXIiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIkZvcmdhdMOza8O2bnl2IgorLSAgICBd LAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJGb3JnYXTDs2vDtm55diB2w6F6 bGF0IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBa2tv ciAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk1hamQg IiwKKy0gICAgICAiSGEgIiwKKy0gICAgICAiQW1pa29yICIKKy0gICAgXQorLSAgfSwKKy0gICJp ZCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYW4gIgorLSAgICBd LAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiRGFzYXIiCistICAgIF0sCistICAgICJi dXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVGFwaSAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAiQ29udG9oIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0g ICAgICAiRml0dXIiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJEZW5nYW4gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJJbmRvbmVzaWFuIiwKKy0gICAg Im5hdGl2ZSI6ICJCYWhhc2EgSW5kb25lc2lhIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAg ICJTa2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi U2tlbmFyaW8ga29uc2VwIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJNYWthICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiS2V0aWthICIKKy0gICAgXQorLSAgfSwKKy0gICJpcyI6IHsKKy0gICAgImFuZCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJPZyAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjog WworLSAgICAgICJCYWtncnVubnVyIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIq ICIsCistICAgICAgIkVuICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJE w6ZtaSIsCistICAgICAgIkF0YnVyw7BhcsOhc2lyIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6 IFsKKy0gICAgICAiRWlnaW5sZWlraSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIkVmICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiSWNlbGFuZGljIiwK Ky0gICAgIm5hdGl2ZSI6ICLDjXNsZW5za2EiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAg IkF0YnVyw7BhcsOhcyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAg ICAiTMO9c2luZyBBdGJ1csOwYXLDoXNhciIsCistICAgICAgIkzDvXNpbmcgRMOmbWEiCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIsOew6EgIgorLSAgICBd LAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLDnmVnYXIgIgorLSAgICBd CistICB9LAorLSAgIml0IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAg IkUgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQ29udGVzdG8iCist ICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWEgIgorLSAgICBd LAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkVzZW1waSIKKy0gICAgXSwKKy0gICAgImZl YXR1cmUiOiBbCistICAgICAgIkZ1bnppb25hbGl0w6AiCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYXRvICIsCistICAgICAgIkRhdGEgIiwKKy0gICAg ICAiRGF0aSAiLAorLSAgICAgICJEYXRlICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiSXRhbGlh biIsCistICAgICJuYXRpdmUiOiAiaXRhbGlhbm8iLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgIlNjZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICJTY2hlbWEgZGVsbG8gc2NlbmFyaW8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIkFsbG9yYSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAg ICIqICIsCistICAgICAgIlF1YW5kbyAiCistICAgIF0KKy0gIH0sCistICAiamEiOiB7CistICAg ICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi44GL44GkIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAi6IOM5pmvIgorLSAgICBdLAorLSAgICAiYnV0IjogWwor LSAgICAgICIqICIsCistICAgICAgIuOBl+OBi+OBlyIsCistICAgICAgIuS9huOBlyIsCistICAg ICAgIuOBn+OBoOOBlyIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLkvosi LAorLSAgICAgICLjgrXjg7Pjg5fjg6siCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICLjg5XjgqPjg7zjg4Hjg6MiLAorLSAgICAgICLmqZ/og70iCistICAgIF0sCistICAgICJn aXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLliY3mj5AiCistICAgIF0sCistICAgICJu YW1lIjogIkphcGFuZXNlIiwKKy0gICAgIm5hdGl2ZSI6ICLml6XmnKzoqp4iLAorLSAgICAic2Nl bmFyaW8iOiBbCistICAgICAgIuOCt+ODiuODquOCqiIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlv T3V0bGluZSI6IFsKKy0gICAgICAi44K344OK44Oq44Kq44Ki44Km44OI44Op44Kk44OzIiwKKy0g ICAgICAi44K344OK44Oq44Kq44OG44Oz44OX44Os44O844OIIiwKKy0gICAgICAi44OG44Oz44OX 44OsIiwKKy0gICAgICAi44K344OK44Oq44Kq44OG44Oz44OX44OsIgorLSAgICBdLAorLSAgICAi dGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLjgarjgonjgbAiCistICAgIF0sCistICAg ICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuOCguOBlyIKKy0gICAgXQorLSAgfSwK Ky0gICJqdiI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJMYW4gIgor LSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiRGFzYXIiCistICAgIF0sCist ICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVGFwaSAiLAorLSAgICAgICJOYW5n aW5nICIsCistICAgICAgIkFuYW5naW5nICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWwor LSAgICAgICJDb250byIsCistICAgICAgIkNvbnRvbmUiCistICAgIF0sCistICAgICJmZWF0dXJl IjogWworLSAgICAgICJGaXR1ciIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIk5hbGlrYSAiLAorLSAgICAgICJOYWxpa2FuaW5nICIKKy0gICAgXSwKKy0g ICAgIm5hbWUiOiAiSmF2YW5lc2UiLAorLSAgICAibmF0aXZlIjogIkJhc2EgSmF3YSIsCistICAg ICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2tlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJp b091dGxpbmUiOiBbCistICAgICAgIktvbnNlcCBza2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInRo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTmp1ayAiLAorLSAgICAgICJCYW5qdXIgIgor LSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNYW5hd2EgIiwK Ky0gICAgICAiTWVuYXdhICIKKy0gICAgXQorLSAgfSwKKy0gICJrYSI6IHsKKy0gICAgImFuZCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLhg5Phg5AiCistICAgIF0sCistICAgICJiYWNrZ3Jv dW5kIjogWworLSAgICAgICLhg5nhg53hg5zhg6Lhg5Thg6Xhg6Hhg6Lhg5giCistICAgIF0sCist ICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4YOb4YOQ4YOSwq3hg6Dhg5Dhg5si CistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi4YOb4YOQ4YOS4YOQ4YOa4YOY 4YOX4YOU4YOR4YOYIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi4YOX4YOV 4YOY4YOh4YOU4YOR4YOQIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi4YOb4YOd4YOq4YOU4YOb4YOj4YOa4YOYIgorLSAgICBdLAorLSAgICAibmFtZSI6 ICJHZW9yZ2lhbiIsCistICAgICJuYXRpdmUiOiAi4YOl4YOQ4YOg4YOX4YOV4YOU4YOa4YOYIiwK Ky0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLhg6Hhg6rhg5Thg5zhg5Dhg6Dhg5jhg6EiCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIuGDoeGDquGDlOGDnOGD kOGDoOGDmOGDoSDhg5zhg5jhg5vhg6Phg6jhg5giCistICAgIF0sCistICAgICJ0aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIuGDm+GDkOGDqOGDmOGDnCIKKy0gICAgXSwKKy0gICAgIndo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4YOg4YOd4YOT4YOU4YOh4YOQ4YOqIgorLSAg ICBdCistICB9LAorLSAgImtuIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAg ICAgIuCyruCypOCzjeCypOCzgSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAg ICAgICLgsrngsr/gsqjgs43gsqjgs4bgsrLgs4YiCistICAgIF0sCistICAgICJidXQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi4LKG4LKm4LKw4LOGICIKKy0gICAgXSwKKy0gICAgImV4YW1w bGVzIjogWworLSAgICAgICLgsongsqbgsr7gsrngsrDgsqPgs4bgspfgsrPgs4EiCistICAgIF0s CistICAgICJmZWF0dXJlIjogWworLSAgICAgICLgsrngs4bgsprgs43gsprgsrMiCistICAgIF0s CistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgsqjgsr/gs5XgsqHgsr/g sqYgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJLYW5uYWRhIiwKKy0gICAgIm5hdGl2ZSI6ICLg spXgsqjgs43gsqjgsqEiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuCyleCypeCyvuCy uOCyvuCysOCyvuCyguCytiIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAi4LK14LK/4LK14LKw4LKj4LOGIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICLgsqjgsoLgsqTgsrAgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLgsrjgs43gsqXgsr/gsqTgsr/gsq/gsqjgs43gsqjgs4Eg IgorLSAgICBdCistICB9LAorLSAgImtvIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIs CistICAgICAgIuq3uOumrOqzoCIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAg ICAgIuuwsOqyvSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLtlZjsp4Drp4wiLAorLSAgICAgICLri6giCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsK Ky0gICAgICAi7JiIIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi6riw64ql IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi7KGw6rG0 IiwKKy0gICAgICAi66i87KCAIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJLb3JlYW4iLAorLSAg ICAibmF0aXZlIjogIu2VnOq1reyWtCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi7Iuc 64KY66as7JikIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLs i5zrgpjrpqzsmKQg6rCc7JqUIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLqt7jrn6zrqbQiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIuunjOydvCIsCistICAgICAgIuunjOyVvSIKKy0gICAgXQorLSAgfSwKKy0g ICJsdCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJJciAiCistICAg IF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJLb250ZWtzdGFzIgorLSAgICBdLAor LSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkJldCAiCistICAgIF0sCistICAg ICJleGFtcGxlcyI6IFsKKy0gICAgICAiUGF2eXpkxb5pYWkiLAorLSAgICAgICJTY2VuYXJpamFp IiwKKy0gICAgICAiVmFyaWFudGFpIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAg ICAiU2F2eWLElyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIkR1b3RhICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiTGl0aHVhbmlhbiIsCistICAgICJu YXRpdmUiOiAibGlldHV2acWzIGthbGJhIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJT Y2VuYXJpanVzIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJT Y2VuYXJpamF1cyDFoWFibG9uYXMiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIlRhZGEgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJLYWkgIgorLSAgICBdCistICB9LAorLSAgImx1IjogeworLSAgICAiYW5kIjog WworLSAgICAgICIqICIsCistICAgICAgImFuICIsCistICAgICAgImEgIgorLSAgICBdLAorLSAg ICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiSGFubmVyZ3JvbmQiCistICAgIF0sCistICAgICJi dXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiYXdlciAiLAorLSAgICAgICJtw6QgIgorLSAg ICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkJlaXNwaWxsZXIiCistICAgIF0sCist ICAgICJmZWF0dXJlIjogWworLSAgICAgICJGdW5rdGlvbmFsaXTDqWl0IgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAidWdlaG9sbCAiCistICAgIF0sCist ICAgICJuYW1lIjogIkx1eGVtYnVyZ2lzaCIsCistICAgICJuYXRpdmUiOiAiTMOrdHplYnVlcmdl c2NoIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTemVuYXJpbyIKKy0gICAgXSwKKy0g ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiUGxhbmcgdnVtIFN6ZW5hcmlvIgorLSAg ICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJkYW5uICIKKy0gICAg XSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAid2FubiAiCistICAgIF0K Ky0gIH0sCistICAibHYiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi VW4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiS29udGVrc3RzIiwK Ky0gICAgICAiU2l0dcSBY2lqYSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJCZXQgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlBp ZW3Ek3JpIiwKKy0gICAgICAiUGFyYXVncyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCist ICAgICAgIkZ1bmtjaW9uYWxpdMSBdGUiLAorLSAgICAgICJGxKvEjWEiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLYWQgIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJMYXR2aWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJsYXR2aWXFoXUiLAorLSAgICAic2Nl bmFyaW8iOiBbCistICAgICAgIlNjZW7EgXJpanMiCistICAgIF0sCistICAgICJzY2VuYXJpb091 dGxpbmUiOiBbCistICAgICAgIlNjZW7EgXJpanMgcMSTYyBwYXJhdWdhIgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUYWQgIgorLSAgICBdLAorLSAgICAi d2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJKYSAiCistICAgIF0KKy0gIH0sCistICAi bWstQ3lybCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQmCAiCist ICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQmtC+0L3RgtC10LrRgdGCIiwK Ky0gICAgICAi0KHQvtC00YDQttC40L3QsCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICLQndC+ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAg ICAgICLQn9GA0LjQvNC10YDQuCIsCistICAgICAgItCh0YbQtdC90LDRgNC40ZjQsCIKKy0gICAg XSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgItCk0YPQvdC60YbQuNC+0L3QsNC70L3QvtGB 0YIiLAorLSAgICAgICLQkdC40LfQvdC40YEg0L/QvtGC0YDQtdCx0LAiLAorLSAgICAgICLQnNC+ 0LbQvdC+0YHRgiIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgItCU0LDQtNC10L3QviAiLAorLSAgICAgICLQlNCw0LTQtdC90LAgIgorLSAgICBdLAorLSAg ICAibmFtZSI6ICJNYWNlZG9uaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLQnNCw0LrQtdC00L7QvdGB 0LrQuCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGA0LjQviIsCist ICAgICAgItCd0LAg0L/RgNC40LzQtdGAIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5l IjogWworLSAgICAgICLQn9GA0LXQs9C70LXQtCDQvdCwINGB0YbQtdC90LDRgNC40ZjQsCIsCist ICAgICAgItCh0LrQuNGG0LAiLAorLSAgICAgICLQmtC+0L3RhtC10L/RgiIKKy0gICAgXSwKKy0g ICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KLQvtCz0LDRiCAiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCa0L7Qs9CwICIKKy0gICAg XQorLSAgfSwKKy0gICJtay1MYXRuIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCist ICAgICAgIkkgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiS29udGVr c3QiLAorLSAgICAgICJTb2RyemhpbmEiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiTm8gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAg IlByaW1lcmkiLAorLSAgICAgICJTY2VuYXJpYSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBb CistICAgICAgIkZ1bmtjaW9uYWxub3N0IiwKKy0gICAgICAiQml6bmlzIHBvdHJlYmEiLAorLSAg ICAgICJNb3pobm9zdCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIkRhZGVubyAiLAorLSAgICAgICJEYWRlbmEgIgorLSAgICBdLAorLSAgICAibmFtZSI6 ICJNYWNlZG9uaWFuIChMYXRpbikiLAorLSAgICAibmF0aXZlIjogIk1ha2Vkb25za2kgKExhdGlu aWNhKSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaW8iLAorLSAgICAgICJO YSBwcmltZXIiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlBy ZWdsZWQgbmEgc2NlbmFyaWphIiwKKy0gICAgICAiU2tpY2EiLAorLSAgICAgICJLb25jZXB0Igor LSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUb2dhc2ggIgor LSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLb2dhICIKKy0g ICAgXQorLSAgfSwKKy0gICJtbiI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICLQnNOp0L0gIiwKKy0gICAgICAi0KLRjdCz0Y3RjdC0ICIKKy0gICAgXSwKKy0gICAgImJh Y2tncm91bmQiOiBbCistICAgICAgItCQ0LPRg9GD0LvQs9CwIgorLSAgICBdLAorLSAgICAiYnV0 IjogWworLSAgICAgICIqICIsCistICAgICAgItCT0Y3RhdC00Y3RjSAiLAorLSAgICAgICLQpdCw 0YDQuNC9ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLQotGD0YXQsNC5 0LvQsdCw0LsiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLQpNGD0L3QutGG IiwKKy0gICAgICAi0KTRg9C90LrRhtC40L7QvdCw0LsiCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLTqNCz06nQs9C00YHTqdC9INC90YwgIiwKKy0gICAg ICAi0JDQvdGFICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiTW9uZ29saWFuIiwKKy0gICAgIm5h dGl2ZSI6ICLQvNC+0L3Qs9C+0LsiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgItCh0YbQ tdC90LDRgCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi0KHR htC10L3QsNGA0YvQvSDRgtOp0LvTqdCy0LvTqdCz06nTqSIKKy0gICAgXSwKKy0gICAgInRoZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KLRjdCz0Y3RhdGN0LQgIiwKKy0gICAgICAi0q7S r9C90LjQuSDQtNCw0YDQsNCwICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAi0KXRjdGA0Y3QsiAiCistICAgIF0KKy0gIH0sCistICAibmwiOiB7CistICAg ICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRW4gIgorLSAgICBdLAorLSAgICAiYmFj a2dyb3VuZCI6IFsKKy0gICAgICAiQWNodGVyZ3JvbmQiCistICAgIF0sCistICAgICJidXQiOiBb CistICAgICAgIiogIiwKKy0gICAgICAiTWFhciAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6 IFsKKy0gICAgICAiVm9vcmJlZWxkZW4iCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICJGdW5jdGlvbmFsaXRlaXQiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJHZWdldmVuICIsCistICAgICAgIlN0ZWwgIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJEdXRjaCIsCistICAgICJuYXRpdmUiOiAiTmVkZXJsYW5kcyIsCistICAgICJzY2Vu YXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxp bmUiOiBbCistICAgICAgIkFic3RyYWN0IFNjZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYW4gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJBbHMgIiwKKy0gICAgICAiV2FubmVlciAiCistICAgIF0K Ky0gIH0sCistICAibm8iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi T2cgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQmFrZ3J1bm4iCist ICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWVuICIKKy0gICAg XSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFa3NlbXBsZXIiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICJFZ2Vuc2thcCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgIkdpdHQgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJO b3J3ZWdpYW4iLAorLSAgICAibmF0aXZlIjogIm5vcnNrIiwKKy0gICAgInNjZW5hcmlvIjogWwor LSAgICAgICJTY2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAiU2NlbmFyaW9tYWwiLAorLSAgICAgICJBYnN0cmFrdCBTY2VuYXJpbyIKKy0gICAgXSwK Ky0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiU8OlICIKKy0gICAgXSwKKy0g ICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTsOlciAiCistICAgIF0KKy0gIH0s CistICAicGEiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4KiF4Kik 4KmHICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuCoquCov+Com+Cp i+ColeCpnCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLg qKrgqLAgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuCoieCopuCovuCo ueCosOCoqOCovuCogiIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuColuCo vuCouOCpgOCoheCopCIsCistICAgICAgIuCoruCpgeCoueCovuCoguCopuCosOCoviIsCistICAg ICAgIuCoqOColeCotiDgqKjgqYHgqLngqL7gqLAiCistICAgIF0sCistICAgICJnaXZlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLgqJzgqYfgqJXgqLAgIiwKKy0gICAgICAi4Kic4Ki/4Ki1 4KmH4KiCIOColeCovyAiCistICAgIF0sCistICAgICJuYW1lIjogIlBhbmphYmkiLAorLSAgICAi bmF0aXZlIjogIuCoquCpsOConOCovuCorOCpgCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAg ICAi4Kiq4Kif4KiV4Kil4Ki+IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWwor LSAgICAgICLgqKrgqJ/gqJXgqKXgqL4g4Kii4Ki+4KiC4Kia4Ki+IiwKKy0gICAgICAi4Kiq4Kif 4KiV4Kil4Ki+IOCosOCpguCoqiDgqLDgqYfgqJbgqL4iCistICAgIF0sCistICAgICJ0aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgIuCopOCopiAiCistICAgIF0sCistICAgICJ3aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgIuConOCopuCpi+CogiAiCistICAgIF0KKy0gIH0sCist ICAicGwiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiT3JheiAiLAor LSAgICAgICJJICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIlphxYJv xbxlbmlhIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFs ZSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHJ6eWvFgmFkeSIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIlfFgmHFm2Npd2/Fm8SHIiwKKy0gICAg ICAiRnVua2NqYSIsCistICAgICAgIkFzcGVrdCIsCistICAgICAgIlBvdHJ6ZWJhIGJpem5lc293 YSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlpha8WC YWRhasSFYyAiLAorLSAgICAgICJNYWrEhWMgIiwKKy0gICAgICAiWmFrxYJhZGFqxIVjLCDFvGUg IgorLSAgICBdLAorLSAgICAibmFtZSI6ICJQb2xpc2giLAorLSAgICAibmF0aXZlIjogInBvbHNr aSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaXVzeiIKKy0gICAgXSwKKy0g ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiU3phYmxvbiBzY2VuYXJpdXN6YSIKKy0g ICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiV3RlZHkgIgorLSAg ICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJKZcW8ZWxpICIsCist ICAgICAgIkplxZtsaSAiLAorLSAgICAgICJHZHkgIiwKKy0gICAgICAiS2llZHkgIgorLSAgICBd CistICB9LAorLSAgInB0IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAg IkUgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQ29udGV4dG8iLAor LSAgICAgICJDZW7DoXJpbyBkZSBGdW5kbyIsCistICAgICAgIkNlbmFyaW8gZGUgRnVuZG8iLAor LSAgICAgICJGdW5kbyIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJNYXMgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkV4ZW1wbG9z IiwKKy0gICAgICAiQ2Vuw6FyaW9zIiwKKy0gICAgICAiQ2VuYXJpb3MiCistICAgIF0sCistICAg ICJmZWF0dXJlIjogWworLSAgICAgICJGdW5jaW9uYWxpZGFkZSIsCistICAgICAgIkNhcmFjdGVy w61zdGljYSIsCistICAgICAgIkNhcmFjdGVyaXN0aWNhIgorLSAgICBdLAorLSAgICAiZ2l2ZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGFkbyAiLAorLSAgICAgICJEYWRhICIsCistICAg ICAgIkRhZG9zICIsCistICAgICAgIkRhZGFzICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiUG9y dHVndWVzZSIsCistICAgICJuYXRpdmUiOiAicG9ydHVndcOqcyIsCistICAgICJzY2VuYXJpbyI6 IFsKKy0gICAgICAiQ2Vuw6FyaW8iLAorLSAgICAgICJDZW5hcmlvIgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJFc3F1ZW1hIGRvIENlbsOhcmlvIiwKKy0gICAg ICAiRXNxdWVtYSBkbyBDZW5hcmlvIiwKKy0gICAgICAiRGVsaW5lYcOnw6NvIGRvIENlbsOhcmlv IiwKKy0gICAgICAiRGVsaW5lYWNhbyBkbyBDZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJFbnTDo28gIiwKKy0gICAgICAiRW50YW8gIgorLSAg ICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJRdWFuZG8gIgorLSAg ICBdCistICB9LAorLSAgInJvIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAg ICAgIlNpICIsCistICAgICAgIsiYaSAiLAorLSAgICAgICLFnmkgIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAiQ29udGV4dCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJEYXIgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBb CistICAgICAgIkV4ZW1wbGUiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJG dW5jdGlvbmFsaXRhdGUiLAorLSAgICAgICJGdW5jyJtpb25hbGl0YXRlIiwKKy0gICAgICAiRnVu Y8WjaW9uYWxpdGF0ZSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIkRhdGUgZmlpbmQgIiwKKy0gICAgICAiRGF0IGZpaW5kICIsCistICAgICAgIkRhdMSD IGZpaW5kIiwKKy0gICAgICAiRGF0aSBmaWluZCAiLAorLSAgICAgICJEYcibaSBmaWluZCAiLAor LSAgICAgICJEYcWjaSBmaWluZCAiCistICAgIF0sCistICAgICJuYW1lIjogIlJvbWFuaWFuIiwK Ky0gICAgIm5hdGl2ZSI6ICJyb23Dom7EgyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi U2NlbmFyaXUiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlN0 cnVjdHVyYSBzY2VuYXJpdSIsCistICAgICAgIlN0cnVjdHVyxIMgc2NlbmFyaXUiCistICAgIF0s CistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkF0dW5jaSAiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkNhbmQgIiwKKy0gICAgICAi Q8OibmQgIgorLSAgICBdCistICB9LAorLSAgInJ1IjogeworLSAgICAiYW5kIjogWworLSAgICAg ICIqICIsCistICAgICAgItCYICIsCistICAgICAgItCaINGC0L7QvNGDINC20LUgIiwKKy0gICAg ICAi0KLQsNC60LbQtSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQ n9GA0LXQtNGL0YHRgtC+0YDQuNGPIiwKKy0gICAgICAi0JrQvtC90YLQtdC60YHRgiIKKy0gICAg XSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQndC+ICIsCistICAgICAg ItCQICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLQn9GA0LjQvNC10YDR iyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgItCk0YPQvdC60YbQuNGPIiwK Ky0gICAgICAi0KTRg9C90LrRhtC40L7QvdCw0LvRjNC90L7RgdGC0YwiLAorLSAgICAgICLQpNGD 0L3QutGG0LjQvtC90LDQuyIsCistICAgICAgItCh0LLQvtC50YHRgtCy0L4iCistICAgIF0sCist ICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQlNC+0L/Rg9GB0YLQuNC8ICIs CistICAgICAgItCU0LDQvdC+ICIsCistICAgICAgItCf0YPRgdGC0YwgIiwKKy0gICAgICAi0JXR gdC70LggIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJSdXNzaWFuIiwKKy0gICAgIm5hdGl2ZSI6 ICLRgNGD0YHRgdC60LjQuSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi0KHRhtC10L3Q sNGA0LjQuSIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi0KHR gtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNC40Y8iCistICAgIF0sCistICAgICJ0aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgItCi0L4gIiwKKy0gICAgICAi0JfQsNGC0LXQvCAiLAor LSAgICAgICLQotC+0LPQtNCwICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAi0JrQvtCz0LTQsCAiCistICAgIF0KKy0gIH0sCistICAic2siOiB7CistICAg ICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQSAiLAorLSAgICAgICJBIHRpZcW+ICIs CistICAgICAgIkEgdGFrdGllxb4gIiwKKy0gICAgICAiQSB6w6Fyb3ZlxYggIgorLSAgICBdLAor LSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiUG96YWRpZSIKKy0gICAgXSwKKy0gICAgImJ1 dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbGUgIgorLSAgICBdLAorLSAgICAiZXhhbXBs ZXMiOiBbCistICAgICAgIlByw61rbGFkeSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCist ICAgICAgIlBvxb5pYWRhdmthIiwKKy0gICAgICAiRnVua2NpYSIsCistICAgICAgIlZsYXN0bm9z xaUiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJQb2tp YcS+ICIsCistICAgICAgIlphIHByZWRwb2tsYWR1ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAi U2xvdmFrIiwKKy0gICAgIm5hdGl2ZSI6ICJTbG92ZW5za3kiLAorLSAgICAic2NlbmFyaW8iOiBb CistICAgICAgIlNjZW7DoXIiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgIk7DocSNcnQgU2NlbsOhcnUiLAorLSAgICAgICJOw6HEjXJ0IFNjZW7DoXJhIiwKKy0g ICAgICAiT3Nub3ZhIFNjZW7DoXJhIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJUYWsgIiwKKy0gICAgICAiUG90b20gIgorLSAgICBdLAorLSAgICAid2hl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLZcSPICIsCistICAgICAgIkFrICIKKy0gICAg XQorLSAgfSwKKy0gICJzbCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiSW4gIiwKKy0gICAg ICAiVGVyICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIktvbnRla3N0 IiwKKy0gICAgICAiT3Nub3ZhIiwKKy0gICAgICAiT3phZGplIgorLSAgICBdLAorLSAgICAiYnV0 IjogWworLSAgICAgICJUb2RhICIsCistICAgICAgIkFtcGFrICIsCistICAgICAgIlZlbmRhciAi CistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHJpbWVyaSIsCistICAgICAg IlNjZW5hcmlqaSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmtjaW9u YWxub3N0IiwKKy0gICAgICAiRnVua2NpamEiLAorLSAgICAgICJNb8W+bm9zdGkiLAorLSAgICAg ICJNb3pub3N0aSIsCistICAgICAgIkxhc3Rub3N0IiwKKy0gICAgICAiWm5hxI1pbG5vc3QiCist ICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiRGFubyAiLAorLSAgICAgICJQb2Rhbm8g IiwKKy0gICAgICAiWmFyYWRpICIsCistICAgICAgIlByaXZ6ZXRvICIKKy0gICAgXSwKKy0gICAg Im5hbWUiOiAiU2xvdmVuaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJTbG92ZW5za2kiLAorLSAgICAi c2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlqIiwKKy0gICAgICAiUHJpbWVyIgorLSAgICBd LAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTdHJ1a3R1cmEgc2NlbmFyaWph IiwKKy0gICAgICAiU2tpY2EiLAorLSAgICAgICJLb25jZXB0IiwKKy0gICAgICAiT3JpcyBzY2Vu YXJpamEiLAorLSAgICAgICJPc251dGVrIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAg ICAiTmF0byAiLAorLSAgICAgICJQb3RlbSAiLAorLSAgICAgICJUYWtyYXQgIgorLSAgICBdLAor LSAgICAid2hlbiI6IFsKKy0gICAgICAiS28gIiwKKy0gICAgICAiQ2UgIiwKKy0gICAgICAixIxl ICIsCistICAgICAgIkthZGFyICIKKy0gICAgXQorLSAgfSwKKy0gICJzci1DeXJsIjogeworLSAg ICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgItCYICIKKy0gICAgXSwKKy0gICAgImJh Y2tncm91bmQiOiBbCistICAgICAgItCa0L7QvdGC0LXQutGB0YIiLAorLSAgICAgICLQntGB0L3Q vtCy0LAiLAorLSAgICAgICLQn9C+0LfQsNC00LjQvdCwIgorLSAgICBdLAorLSAgICAiYnV0Ijog WworLSAgICAgICIqICIsCistICAgICAgItCQ0LvQuCAiCistICAgIF0sCistICAgICJleGFtcGxl cyI6IFsKKy0gICAgICAi0J/RgNC40LzQtdGA0LgiLAorLSAgICAgICLQodGG0LXQvdCw0YDQuNGY 0LgiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLQpNGD0L3QutGG0LjQvtC9 0LDQu9C90L7RgdGCIiwKKy0gICAgICAi0JzQvtCz0YPRm9C90L7RgdGCIiwKKy0gICAgICAi0J7R gdC+0LHQuNC90LAiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICLQl9CwINC00LDRgtC+ICIsCistICAgICAgItCX0LAg0LTQsNGC0LUgIiwKKy0gICAgICAi 0JfQsCDQtNCw0YLQuCAiCistICAgIF0sCistICAgICJuYW1lIjogIlNlcmJpYW4iLAorLSAgICAi bmF0aXZlIjogItCh0YDQv9GB0LrQuCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi0KHR htC10L3QsNGA0LjQviIsCistICAgICAgItCf0YDQuNC80LXRgCIKKy0gICAgXSwKKy0gICAgInNj ZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDR gNC40ZjQsCIsCistICAgICAgItCh0LrQuNGG0LAiLAorLSAgICAgICLQmtC+0L3RhtC10L/RgiIK Ky0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0J7QvdC00LAg IgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQmtCw0LTQ sCAiLAorLSAgICAgICLQmtCw0LQgIgorLSAgICBdCistICB9LAorLSAgInNyLUxhdG4iOiB7Cist ICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiSSAiCistICAgIF0sCistICAgICJi YWNrZ3JvdW5kIjogWworLSAgICAgICJLb250ZWtzdCIsCistICAgICAgIk9zbm92YSIsCistICAg ICAgIlBvemFkaW5hIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAg ICAgIkFsaSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHJpbWVyaSIs CistICAgICAgIlNjZW5hcmlqaSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAg IkZ1bmtjaW9uYWxub3N0IiwKKy0gICAgICAiTW9ndcSHbm9zdCIsCistICAgICAgIk1vZ3Vjbm9z dCIsCistICAgICAgIk9zb2JpbmEiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJaYSBkYXRvICIsCistICAgICAgIlphIGRhdGUgIiwKKy0gICAgICAiWmEg ZGF0aSAiCistICAgIF0sCistICAgICJuYW1lIjogIlNlcmJpYW4gKExhdGluKSIsCistICAgICJu YXRpdmUiOiAiU3Jwc2tpIChMYXRpbmljYSkiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAg IlNjZW5hcmlvIiwKKy0gICAgICAiUHJpbWVyIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRs aW5lIjogWworLSAgICAgICJTdHJ1a3R1cmEgc2NlbmFyaWphIiwKKy0gICAgICAiU2tpY2EiLAor LSAgICAgICJLb25jZXB0IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICJPbmRhICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiS2FkYSAiLAorLSAgICAgICJLYWQgIgorLSAgICBdCistICB9LAorLSAgInN2Ijogewor LSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIk9jaCAiCistICAgIF0sCistICAg ICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJCYWtncnVuZCIKKy0gICAgXSwKKy0gICAgImJ1dCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNZW4gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMi OiBbCistICAgICAgIkV4ZW1wZWwiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAg ICJFZ2Vuc2thcCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIkdpdmV0ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiU3dlZGlzaCIsCistICAgICJuYXRp dmUiOiAiU3ZlbnNrYSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaW8iCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkFic3RyYWt0IFNjZW5h cmlvIiwKKy0gICAgICAiU2NlbmFyaW9tYWxsIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJTw6UgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJOw6RyICIKKy0gICAgXQorLSAgfSwKKy0gICJ0YSI6IHsKKy0gICAg ImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgrq7gr4fgrrLgr4Hgrq7gr40gICIsCist ICAgICAgIuCuruCuseCvjeCuseCvgeCuruCvjSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5k IjogWworLSAgICAgICLgrqrgrr/grqngr43grqngrqPgrr8iCistICAgIF0sCistICAgICJidXQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAi4K6G4K6p4K6+4K6y4K+NICAiCistICAgIF0sCist ICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi4K6O4K6f4K+B4K6k4K+N4K6k4K+B4K6V4K+N4K6V 4K6+4K6f4K+N4K6f4K+B4K6V4K6z4K+NIiwKKy0gICAgICAi4K6V4K6+4K6f4K+N4K6a4K6/4K6V 4K6z4K+NIiwKKy0gICAgICAiIOCuqOCuv+CusuCviOCuruCviOCuleCus+Cuv+CusuCvjSIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuCuheCuruCvjeCumuCuruCvjSIsCist ICAgICAgIuCuteCuo+Cuv+CulSDgrqTgr4fgrrXgr4giLAorLSAgICAgICLgrqTgrr/grrHgrqng r40iCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgrpXg r4bgrr7grp/gr4HgrpXgr43grpXgrqrgr43grqrgrp/gr43grp8gIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJUYW1pbCIsCistICAgICJuYXRpdmUiOiAi4K6k4K6u4K6/4K604K+NIiwKKy0gICAg InNjZW5hcmlvIjogWworLSAgICAgICLgrpXgrr7grp/gr43grprgrr8iCistICAgIF0sCistICAg ICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIuCuleCuvuCun+CvjeCumuCuvyDgrprgr4Hg rrDgr4HgrpXgr43grpXgrq7gr40iLAorLSAgICAgICLgrpXgrr7grp/gr43grprgrr8g4K614K6+ 4K6w4K+N4K6q4K+N4K6q4K+B4K6w4K+BIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICLgroXgrqrgr43grqrgr4bgrr7grrTgr4HgrqTgr4EgIgorLSAgICBd LAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgro7grqrgr43grqrgr4fg rr7grqTgr4EgIgorLSAgICBdCistICB9LAorLSAgInRoIjogeworLSAgICAiYW5kIjogWworLSAg ICAgICIqICIsCistICAgICAgIuC5geC4peC4sCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5k IjogWworLSAgICAgICLguYHguJnguKfguITguLTguJQiCistICAgIF0sCistICAgICJidXQiOiBb CistICAgICAgIiogIiwKKy0gICAgICAi4LmB4LiV4LmIICIKKy0gICAgXSwKKy0gICAgImV4YW1w bGVzIjogWworLSAgICAgICLguIrguLjguJTguILguK3guIfguJXguLHguKfguK3guKLguYjguLLg uIciLAorLSAgICAgICLguIrguLjguJTguILguK3guIfguYDguKvguJXguLjguIHguLLguKPguJPg uYwiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLguYLguITguKPguIfguKvg uKXguLHguIEiLAorLSAgICAgICLguITguKfguLLguKHguJXguYnguK3guIfguIHguLLguKPguJfg uLLguIfguJjguLjguKPguIHguLTguIgiLAorLSAgICAgICLguITguKfguLLguKHguKrguLLguKHg uLLguKPguJYiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLguIHguLPguKvguJnguJTguYPguKvguYkgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJUaGFp IiwKKy0gICAgIm5hdGl2ZSI6ICLguYTguJfguKIiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgIuC5gOC4q+C4leC4uOC4geC4suC4o+C4k+C5jCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlv T3V0bGluZSI6IFsKKy0gICAgICAi4Liq4Lij4Li44Lib4LmA4Lir4LiV4Li44LiB4Liy4Lij4LiT 4LmMIiwKKy0gICAgICAi4LmC4LiE4Lij4LiH4Liq4Lij4LmJ4Liy4LiH4LiC4Lit4LiH4LmA4Lir 4LiV4Li44LiB4Liy4Lij4LiT4LmMIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICLguJTguLHguIfguJnguLHguYnguJkgIgorLSAgICBdLAorLSAgICAid2hl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLguYDguKHguLfguYjguK0gIgorLSAgICBdCist ICB9LAorLSAgInRsIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuCw ruCwsOCwv+Cwr+CxgSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLg sKjgsYfgsKrgsKXgsY3gsK/gsIIiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiog IiwKKy0gICAgICAi4LCV4LC+4LCo4LC/ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWwor LSAgICAgICLgsIngsKbgsL7gsLngsLDgsKPgsLLgsYEiCistICAgIF0sCistICAgICJmZWF0dXJl IjogWworLSAgICAgICLgsJfgsYHgsKPgsK7gsYEiCistICAgIF0sCistICAgICJnaXZlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLgsJrgsYbgsKrgsY3gsKrgsKzgsKHgsL/gsKjgsKbgsL8g IgorLSAgICBdLAorLSAgICAibmFtZSI6ICJUZWx1Z3UiLAorLSAgICAibmF0aXZlIjogIuCwpOCx huCwsuCxgeCwl+CxgSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi4LC44LCo4LGN4LCo 4LC/4LC14LGH4LC24LCCIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAg ICAgICLgsJXgsKXgsKjgsIIiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIuCwheCwquCxjeCwquCxgeCwoeCxgSAiCistICAgIF0sCistICAgICJ3aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgIuCwiCDgsKrgsLDgsL/gsLjgsY3gsKXgsL/gsKTgsL/g sLLgsYsgIgorLSAgICBdCistICB9LAorLSAgInRsaCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICInZWogIiwKKy0gICAgICAibGF0bGggIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAibW8nIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAg ICAgICIqICIsCistICAgICAgIidhY2ggIiwKKy0gICAgICAiJ2EgIgorLSAgICBdLAorLSAgICAi ZXhhbXBsZXMiOiBbCistICAgICAgImdoYW50b0giLAorLSAgICAgICJsdXRtZXkiCistICAgIF0s CistICAgICJmZWF0dXJlIjogWworLSAgICAgICJRYXAiLAorLSAgICAgICJRdSdtZUggJ3V0IiwK Ky0gICAgICAicGVyYm9naCIsCistICAgICAgInBvUWJvZ2ggbWFsamEnIiwKKy0gICAgICAibGFI IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiZ2h1JyBu b2JsdScgIiwKKy0gICAgICAiRGFIIGdodScgYmVqbHUnICIKKy0gICAgXSwKKy0gICAgIm5hbWUi OiAiS2xpbmdvbiIsCistICAgICJuYXRpdmUiOiAidGxoSW5nYW4iLAorLSAgICAic2NlbmFyaW8i OiBbCistICAgICAgImx1dCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAibHV0IGNob3ZuYXRsaCIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAidmFqICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAicWFTREknICIKKy0gICAgXQorLSAgfSwKKy0gICJ0ciI6IHsKKy0gICAgImFuZCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJWZSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5k IjogWworLSAgICAgICJHZcOnbWnFnyIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJGYWthdCAiLAorLSAgICAgICJBbWEgIgorLSAgICBdLAorLSAgICAiZXhh bXBsZXMiOiBbCistICAgICAgIsOWcm5la2xlciIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBb CistICAgICAgIsOWemVsbGlrIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiRGl5ZWxpbSBraSAiCistICAgIF0sCistICAgICJuYW1lIjogIlR1cmtpc2gi LAorLSAgICAibmF0aXZlIjogIlTDvHJrw6dlIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAg ICJTZW5hcnlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJT ZW5hcnlvIHRhc2xhxJ/EsSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiTyB6YW1hbiAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIkXEn2VyIGtpICIKKy0gICAgXQorLSAgfSwKKy0gICJ0dCI6IHsKKy0gICAgImFu ZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLSutOZ0LwgIiwKKy0gICAgICAi0JLTmSAiCist ICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQmtC10YDQtdGIIgorLSAgICBd LAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgItCb05nQutC40L0gIiwKKy0g ICAgICAi05jQvNC80LAgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItKu 0YDQvdOZ0LrQu9OZ0YAiLAorLSAgICAgICLQnNC40YHQsNC70LvQsNGAIgorLSAgICBdLAorLSAg ICAiZmVhdHVyZSI6IFsKKy0gICAgICAi0JzTqdC80LrQuNC90LvQtdC6IiwKKy0gICAgICAi0q7Q t9C10L3Rh9OZ0LvQtdC60LvQtdC70LXQuiIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAg ICAgICIqICIsCistICAgICAgItOY0LnRgtC40LogIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJU YXRhciIsCistICAgICJuYXRpdmUiOiAi0KLQsNGC0LDRgNGH0LAiLAorLSAgICAic2NlbmFyaW8i OiBbCistICAgICAgItCh0YbQtdC90LDRgNC40LkiCistICAgIF0sCistICAgICJzY2VuYXJpb091 dGxpbmUiOiBbCistICAgICAgItCh0YbQtdC90LDRgNC40LnQvdGL0qMg0YLTqdC30LXQu9C10YjQ tSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0J3TmdGC 0LjSl9OZ0LTTmSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAg ICAgItOY0LPTmdGAICIKKy0gICAgXQorLSAgfSwKKy0gICJ1ayI6IHsKKy0gICAgImFuZCI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLQhiAiLAorLSAgICAgICLQkCDRgtCw0LrQvtC2ICIsCist ICAgICAgItCi0LAgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi0J/Q tdGA0LXQtNGD0LzQvtCy0LAiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAi0JDQu9C1ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLQ n9GA0LjQutC70LDQtNC4IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi0KTR g9C90LrRhtGW0L7QvdCw0LsiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLQn9GA0LjQv9GD0YHRgtC40LzQviAiLAorLSAgICAgICLQn9GA0LjQv9GD0YHR gtC40LzQviwg0YnQviAiLAorLSAgICAgICLQndC10YXQsNC5ICIsCistICAgICAgItCU0LDQvdC+ ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiVWtyYWluaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLQ o9C60YDQsNGX0L3RgdGM0LrQsCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi0KHRhtC1 0L3QsNGA0ZbQuSIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi 0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNGW0Y4iCistICAgIF0sCistICAgICJ0aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgItCi0L4gIiwKKy0gICAgICAi0KLQvtC00ZYgIgor LSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQr9C60YnQviAi LAorLSAgICAgICLQmtC+0LvQuCAiCistICAgIF0KKy0gIH0sCistICAidXIiOiB7CistICAgICJh bmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2KfZiNixICIKKy0gICAgXSwKKy0gICAgImJh Y2tncm91bmQiOiBbCistICAgICAgItm+2LMg2YXZhti42LEiCistICAgIF0sCistICAgICJidXQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAi2YTbjNqp2YYgIgorLSAgICBdLAorLSAgICAiZXhh bXBsZXMiOiBbCistICAgICAgItmF2KvYp9mE24zauiIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUi OiBbCistICAgICAgIti12YTYp9it24zYqiIsCistICAgICAgItqp2KfYsdmI2KjYp9ixINqp24wg 2LbYsdmI2LHYqiIsCistICAgICAgItiu2LXZiNi124zYqiIKKy0gICAgXSwKKy0gICAgImdpdmVu IjogWworLSAgICAgICIqICIsCistICAgICAgItin2q/YsSAiLAorLSAgICAgICLYqNin2YTZgdix 2LYgIiwKKy0gICAgICAi2YHYsdi2INqp24zYpyAiCistICAgIF0sCistICAgICJuYW1lIjogIlVy ZHUiLAorLSAgICAibmF0aXZlIjogItin2LHYr9mIIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICLZhdmG2LjYsdmG2KfZhduBIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjog WworLSAgICAgICLZhdmG2LjYsSDZhtin2YXbkiDaqdinINiu2KfaqduBIgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZvtq+2LEgIiwKKy0gICAgICAi2KrY qCAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItis2Kgg IgorLSAgICBdCistICB9LAorLSAgInV6IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIs CistICAgICAgItCS0LAgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi 0KLQsNGA0LjRhSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLQm9C10LrQuNC9ICIsCistICAgICAgItCR0LjRgNC+0LogIiwKKy0gICAgICAi0JDQvNC80L4g IgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItCc0LjRgdC+0LvQu9Cw0YAi CistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQ uyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCQ0LPQ sNGAICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiVXpiZWsiLAorLSAgICAibmF0aXZlIjogItCj 0LfQsdC10LrRh9CwIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLQodGG0LXQvdCw0YDQ uNC5IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQodGG0LXQ vdCw0YDQuNC5INGB0YLRgNGD0LrRgtGD0YDQsNGB0LgiCistICAgIF0sCistICAgICJ0aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgItCj0L3QtNCwICIKKy0gICAgXSwKKy0gICAgIndoZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JDQs9Cw0YAgIgorLSAgICBdCistICB9LAorLSAg InZpIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIlbDoCAiCistICAg IF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJC4buRaSBj4bqjbmgiCistICAgIF0s CistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTmjGsG5nICIKKy0gICAgXSwK Ky0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJE4buvIGxp4buHdSIKKy0gICAgXSwKKy0gICAg ImZlYXR1cmUiOiBbCistICAgICAgIlTDrW5oIG7Eg25nIgorLSAgICBdLAorLSAgICAiZ2l2ZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAiQmnhur90ICIsCistICAgICAgIkNobyAiCistICAg IF0sCistICAgICJuYW1lIjogIlZpZXRuYW1lc2UiLAorLSAgICAibmF0aXZlIjogIlRp4bq/bmcg Vmnhu4d0IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJUw6xuaCBodeG7kW5nIiwKKy0g ICAgICAiS+G7i2NoIGLhuqNuIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWwor LSAgICAgICJLaHVuZyB0w6xuaCBodeG7kW5nIiwKKy0gICAgICAiS2h1bmcga+G7i2NoIGLhuqNu IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUaMOsICIK Ky0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS2hpICIKKy0g ICAgXQorLSAgfSwKKy0gICJ6aC1DTiI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICLogIzkuJQiLAorLSAgICAgICLlubbkuJQiLAorLSAgICAgICLlkIzml7YiCistICAg IF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLog4zmma8iCistICAgIF0sCistICAg ICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi5L2G5pivIgorLSAgICBdLAorLSAgICAi ZXhhbXBsZXMiOiBbCistICAgICAgIuS+i+WtkCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBb CistICAgICAgIuWKn+iDvSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIs CistICAgICAgIuWBh+WmgiIsCistICAgICAgIuWBh+iuviIsCistICAgICAgIuWBh+WumiIKKy0g ICAgXSwKKy0gICAgIm5hbWUiOiAiQ2hpbmVzZSBzaW1wbGlmaWVkIiwKKy0gICAgIm5hdGl2ZSI6 ICLnroDkvZPkuK3mlociLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuWcuuaZryIsCist ICAgICAgIuWJp+acrCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAg ICAi5Zy65pmv5aSn57qyIiwKKy0gICAgICAi5Ymn5pys5aSn57qyIgorLSAgICBdLAorLSAgICAi dGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLpgqPkuYgiCistICAgIF0sCistICAgICJ3 aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuW9kyIKKy0gICAgXQorLSAgfSwKKy0gICJ6 aC1UVyI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLogIzkuJQiLAor LSAgICAgICLkuKbkuJQiLAorLSAgICAgICLlkIzmmYIiCistICAgIF0sCistICAgICJiYWNrZ3Jv dW5kIjogWworLSAgICAgICLog4zmma8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAi5L2G5pivIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAg ICAgIuS+i+WtkCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuWKn+iDvSIK Ky0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuWBh+WmgiIs CistICAgICAgIuWBh+iorSIsCistICAgICAgIuWBh+WumiIKKy0gICAgXSwKKy0gICAgIm5hbWUi OiAiQ2hpbmVzZSB0cmFkaXRpb25hbCIsCistICAgICJuYXRpdmUiOiAi57mB6auU5Lit5paHIiwK Ky0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLloLTmma8iLAorLSAgICAgICLliofmnKwiCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIuWgtOaZr+Wkp+e2sSIs CistICAgICAgIuWKh+acrOWkp+e2sSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAi6YKj6bq8IgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICLnlbYiCistICAgIF0KKy0gIH0KKy19CmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU1LUNMRUFOVVAt UmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU1LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQt cGFydHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xMDFhODg3 ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDU1LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0 Y2gKQEAgLTAsMCArMSw3MzYgQEAKK0Zyb20gZjY2YTlmZDFiZjdjMmVkMTE3ZmU2OTdiODBhMGVh NGIwNzE3NzNmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCAxMyBKdWwgMjAxOSAxMzoy MToyNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBDTEVBTlVQOiBSZW1vdmUgZGVwcmVjYXRlZCBw YXJ0cy4KKworLS0tCisgYmluL2NvbnZlcnRfaTE4bl95YW1sLnB5IHwgIDc3IC0tLS0tCisgYmlu L2kxOG4ueW1sICAgICAgICAgICAgIHwgNjM1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNzEyIGRlbGV0aW9ucygtKQorIGRlbGV0ZSBt b2RlIDEwMDc1NSBiaW4vY29udmVydF9pMThuX3lhbWwucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQg YmluL2kxOG4ueW1sCisKK2RpZmYgLS1naXQgYS9iaW4vY29udmVydF9pMThuX3lhbWwucHkgYi9i aW4vY29udmVydF9pMThuX3lhbWwucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQoraW5kZXgg ZDZhNjcxMy4uMDAwMDAwMAorLS0tIGEvYmluL2NvbnZlcnRfaTE4bl95YW1sLnB5CisrKysgL2Rl di9udWxsCitAQCAtMSw3NyArMCwwIEBACistIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCistIyAtKi0g Y29kaW5nOiBVVEYtOCAtKi0KKy0jIFVTQUdFOiBjb252ZXJ0X2kxOG5feWFtbC5weSBbLS1kYXRh PWkxOG4ueW1sXSBiZWhhdmUvaTE4bi5weQorLSIiIgorLUdlbmVyYXRlcyBJMThOIHB5dGhvbiBt b2R1bGUgYmFzZWQgb24gWUFNTCBkZXNjcmlwdGlvbiAoaTE4bi55bWwpLgorLQorLVJFUVVJUkVT OgorLSAgKiBhcmdwYXJzZQorLSAgKiBzaXgKKy0gICogUHlZQU1MCistIiIiCistCistZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCistaW1wb3J0 IGFyZ3BhcnNlCistaW1wb3J0IG9zLnBhdGgKKy1pbXBvcnQgc2l4CistaW1wb3J0IHN5cworLWlt cG9ydCBwcHJpbnQKKy1pbXBvcnQgeWFtbAorLQorLUhFUkUgPSBvcy5wYXRoLmRpcm5hbWUoX19m aWxlX18pCistTkFNRSA9IG9zLnBhdGguYmFzZW5hbWUoX19maWxlX18pCistX192ZXJzaW9uX18g PSAiMS4wIgorLQorLWRlZiB5YW1sX25vcm1hbGl6ZShkYXRhKToKKy0gICAgZm9yIHBhcnQgaW4g ZGF0YToKKy0gICAgICAgIGtleXdvcmRzID0gZGF0YVtwYXJ0XQorLSAgICAgICAgZm9yIGsgaW4g a2V5d29yZHM6CistICAgICAgICAgICAgdiA9IGtleXdvcmRzW2tdCistICAgICAgICAgICAgIyBi bG9vZHkgWUFNTCBwYXJzZXIgcmV0dXJucyBhIG1peHR1cmUgb2YgdW5pY29kZSBhbmQgc3RyCist ICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uodiwgc2l4LnRleHRfdHlwZSk6CistICAgICAg ICAgICAgICAgIHYgPSB2LmRlY29kZSgiVVRGLTgiKQorLSAgICAgICAgICAgIGtleXdvcmRzW2td ID0gdi5zcGxpdCgifCIpCistICAgIHJldHVybiBkYXRhCistCistZGVmIG1haW4oYXJncz1Ob25l KToKKy0gICAgaWYgYXJncyBpcyBOb25lOgorLSAgICAgICAgYXJncyA9IHN5cy5hcmd2WzE6XQor LSAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihwcm9nPU5BTUUsCistICAgICAg ICAgICAgICAgIGRlc2NyaXB0aW9uPSJHZW5lcmF0ZSBweXRob24gbW9kdWxlIGkxOG4gZnJvbSBZ QU1MIGJhc2VkIGRhdGEiKQorLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItZCIsICItLWRhdGEi LCBkZXN0PSJ5YW1sX2ZpbGUiLAorLSAgICAgICAgICAgICAgICBkZWZhdWx0PW9zLnBhdGguam9p bihIRVJFLCAiaTE4bi55bWwiKSwKKy0gICAgICAgICAgICAgICAgaGVscD0iUGF0aCB0byBpMThu LnltbCBmaWxlIChZQU1MIGZpbGUpLiIpCistICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIm91dHB1 dF9maWxlIiwgZGVmYXVsdD0ic3Rkb3V0IiwKKy0gICAgICAgICAgICAgICAgaGVscD0iRmlsZW5h bWUgb2YgUHl0aG9uIEkxOE4gbW9kdWxlIChhcyBvdXRwdXQpLiIpCistICAgIHBhcnNlci5hZGRf YXJndW1lbnQoIi0tdmVyc2lvbiIsIGFjdGlvbj0idmVyc2lvbiIsIHZlcnNpb249X192ZXJzaW9u X18pCistCistICAgIG9wdGlvbnMgPSBwYXJzZXIucGFyc2VfYXJncyhhcmdzKQorLSAgICBpZiBu b3Qgb3MucGF0aC5pc2ZpbGUob3B0aW9ucy55YW1sX2ZpbGUpOgorLSAgICAgICAgcGFyc2VyLmVy cm9yKCJZQU1MIGZpbGUgbm90IGZvdW5kOiAlcyIgJSBvcHRpb25zLnlhbWxfZmlsZSkKKy0KKy0g ICAgIyAtLSBTVEVQIDE6IExvYWQgWUFNTCBkYXRhLgorLSAgICBsYW5ndWFnZXMgPSB5YW1sLmxv YWQob3BlbihvcHRpb25zLnlhbWxfZmlsZSkpCistICAgIGxhbmd1YWdlcyA9IHlhbWxfbm9ybWFs aXplKGxhbmd1YWdlcykKKy0KKy0gICAgIyAtLSBTVEVQIDI6IEdlbmVyYXRlIHB5dGhvbiBtb2R1 bGUgd2l0aCBpMThuIGRhdGEuCistICAgIGNvbnRlbnRzID0gdSIiIiMgLSotIGNvZGluZzogVVRG LTggLSotCistIyAtLSBGSUxFIEdFTkVSQVRFRCBCWTogY29udmVydF9pMThuX3lhbWwucHkgd2l0 aCBpMThuLnltbAorLSMgcHlsaW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcKKy0KKy1sYW5ndWFn ZXMgPSBcXAorLSIiIgorLSAgICBpZiBvcHRpb25zLm91dHB1dF9maWxlIGluICgiLSIsICJzdGRv dXQiKToKKy0gICAgICAgIGkxOG5fcHkgPSBzeXMuc3Rkb3V0CistICAgICAgICBzaG91bGRfY2xv c2UgPSBGYWxzZQorLSAgICBlbHNlOgorLSAgICAgICAgaTE4bl9weSA9IG9wZW4ob3B0aW9ucy5v dXRwdXRfZmlsZSwgInciKQorLSAgICAgICAgc2hvdWxkX2Nsb3NlID0gVHJ1ZQorLSAgICBpMThu X3B5LndyaXRlKGNvbnRlbnRzLmVuY29kZSgiVVRGLTgiKSkKKy0gICAgaTE4bl9weS53cml0ZShw cHJpbnQucGZvcm1hdChsYW5ndWFnZXMpLmVuY29kZSgiVVRGLTgiKSkKKy0gICAgaTE4bl9weS53 cml0ZSh1IlxuIikKKy0gICAgaWYgc2hvdWxkX2Nsb3NlOgorLSAgICAgICAgaTE4bl9weS5jbG9z ZSgpCistICAgIHJldHVybiAwCistCistaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKy0gICAg c3lzLmV4aXQobWFpbigpKQorZGlmZiAtLWdpdCBhL2Jpbi9pMThuLnltbCBiL2Jpbi9pMThuLnlt bAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA4MjM0NWE0Li4wMDAwMDAwCistLS0g YS9iaW4vaTE4bi55bWwKKysrKyAvZGV2L251bGwKK0BAIC0xLDYzNSArMCwwIEBACistIyBlbmNv ZGluZzogVVRGLTgKKy0jCistIyBXZSB1c2UgSVNPIDYzOS0xIChsYW5ndWFnZSkgYW5kIElTTyAz MTY2IGFscGhhLTIgKHJlZ2lvbiAtIGlmIGFwcGxpY2FibGUpOgorLSMgaHR0cDovL2VuLndpa2lw ZWRpYS5vcmcvd2lraS9MaXN0X29mX0lTT182MzktMV9jb2RlcworLSMgaHR0cDovL2VuLndpa2lw ZWRpYS5vcmcvd2lraS9JU09fMzE2Ni0xCistIworLSMgSWYgeW91IHdhbnQgc2V2ZXJhbCBhbGlh c2VzIGZvciBhIGtleXdvcmQsIGp1c3Qgc2VwYXJhdGUgdGhlbQorLSMgd2l0aCBhIHwgY2hhcmFj dGVyLiBUaGUgKiBpcyBhIHN0ZXAga2V5d29yZCBhbGlhcyBmb3IgYWxsIHRyYW5zbGF0aW9ucy4K Ky0jCistIyBJZiB5b3UgZG8gKm5vdCogd2FudCBhIHRyYWlsaW5nIHNwYWNlIGFmdGVyIGEga2V5 d29yZCwgZW5kIGl0IHdpdGggYSA8IGNoYXJhY3Rlci4KKy0jIChTZWUgQ2hpbmVzZSBmb3IgZXhh bXBsZXMpLgorLSMKKy0jIFRoaXMgZmlsZSBjb3B5cmlnaHQgKGMpIDIwMDktMjAxMSBNaWtlIFNh c3NhaywgR3JlZ29yeSBIbmF0aXVrLCBBc2xhayBIZWxsZXPDuHkKKy0jCistIyBQZXJtaXNzaW9u IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p bmcKKy0jIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRp b24gZmlsZXMgKHRoZQorLSMgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdp dGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworLSMgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSBy aWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorLSMgZGlzdHJpYnV0 ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRv CistIyBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8g ZG8gc28sIHN1YmplY3QgdG8KKy0jIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKy0jCistIyBU aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFs bCBiZQorLSMgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv ZiB0aGUgU29mdHdhcmUuCistIworLSMgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIs IFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCistIyBFWFBSRVNTIE9SIElNUExJRUQsIElO Q0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKy0jIE1FUkNIQU5U QUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECistIyBOT05JTkZS SU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE RVJTIEJFCistIyBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJ VFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OCistIyBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJ U0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04KKy0jIFdJVEggVEhFIFNP RlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorLQor LSJlbiI6CistICBuYW1lOiBFbmdsaXNoCistICBuYXRpdmU6IEVuZ2xpc2gKKy0gIGZlYXR1cmU6 IEZlYXR1cmUKKy0gIGJhY2tncm91bmQ6IEJhY2tncm91bmQKKy0gIHNjZW5hcmlvOiBTY2VuYXJp bworLSAgc2NlbmFyaW9fb3V0bGluZTogU2NlbmFyaW8gT3V0bGluZXxTY2VuYXJpbyBUZW1wbGF0 ZQorLSAgZXhhbXBsZXM6IEV4YW1wbGVzfFNjZW5hcmlvcworLSAgZ2l2ZW46ICIqfEdpdmVuIgor LSAgd2hlbjogIip8V2hlbiIKKy0gIHRoZW46ICIqfFRoZW4iCistICBhbmQ6ICIqfEFuZCIKKy0g IGJ1dDogIip8QnV0IgorLQorLSMgUGxlYXNlIGtlZXAgdGhlIGdyYW1tYXJzIGluIGFscGhhYmV0 aWNhbCBvcmRlciBieSBuYW1lIGZyb20gaGVyZSBhbmQgZG93bi4KKy0KKy0iYXIiOgorLSAgbmFt ZTogQXJhYmljCistICBuYXRpdmU6INin2YTYudix2KjZitipCistICBmZWF0dXJlOiDYrtin2LXZ itipCistICBiYWNrZ3JvdW5kOiDYp9mE2K7ZhNmB2YrYqQorLSAgc2NlbmFyaW86INiz2YrZhtin 2LHZitmICistICBzY2VuYXJpb19vdXRsaW5lOiDYs9mK2YbYp9ix2YrZiCDZhdiu2LfYtworLSAg ZXhhbXBsZXM6INin2YXYq9mE2KkKKy0gIGdpdmVuOiAiKnzYqNmB2LHYtiIKKy0gIHdoZW46ICIq fNmF2KrZiXzYudmG2K/ZhdinIgorLSAgdGhlbjogIip82KfYsNin2Yt82KvZhSIKKy0gIGFuZDog Iip82YgiCistICBidXQ6ICIqfNmE2YPZhiIKKy0iYmciOgorLSAgbmFtZTogQnVsZ2FyaWFuCist ICBuYXRpdmU6INCx0YrQu9Cz0LDRgNGB0LrQuAorLSAgZmVhdHVyZTog0KTRg9C90LrRhtC40L7Q vdCw0LvQvdC+0YHRggorLSAgYmFja2dyb3VuZDog0J/RgNC10LTQuNGB0YLQvtGA0LjRjworLSAg c2NlbmFyaW86INCh0YbQtdC90LDRgNC40LkKKy0gIHNjZW5hcmlvX291dGxpbmU6INCg0LDQvNC6 0LAg0L3QsCDRgdGG0LXQvdCw0YDQuNC5CistICBleGFtcGxlczog0J/RgNC40LzQtdGA0LgKKy0g IGdpdmVuOiAiKnzQlNCw0LTQtdC90L4iCistICB3aGVuOiAiKnzQmtC+0LPQsNGC0L4iCistICB0 aGVuOiAiKnzQotC+IgorLSAgYW5kOiAiKnzQmCIKKy0gIGJ1dDogIip80J3QviIKKy0iY2EiOgor LSAgbmFtZTogQ2F0YWxhbgorLSAgbmF0aXZlOiBjYXRhbMOgCistICBiYWNrZ3JvdW5kOiBSZXJl Zm9uc3xBbnRlY2VkZW50cworLSAgZmVhdHVyZTogQ2FyYWN0ZXLDrXN0aWNhfEZ1bmNpb25hbGl0 YXQKKy0gIHNjZW5hcmlvOiBFc2NlbmFyaQorLSAgc2NlbmFyaW9fb3V0bGluZTogRXNxdWVtYSBk ZSBsJ2VzY2VuYXJpCistICBleGFtcGxlczogRXhlbXBsZXMKKy0gIGdpdmVuOiAiKnxEb25hdHxE b25hZGF8QXTDqHN8QXRlc2EiCistICB3aGVuOiAiKnxRdWFuIgorLSAgdGhlbjogIip8QWxlc2hv cmVzfENhbCIKKy0gIGFuZDogIip8SSIKKy0gIGJ1dDogIip8UGVyw7IiCistImN5LUdCIjoKKy0g IG5hbWU6IFdlbHNoCistICBuYXRpdmU6IEN5bXJhZWcKKy0gIGJhY2tncm91bmQ6IENlZm5kaXIK Ky0gIGZlYXR1cmU6IEFyd2VkZAorLSAgc2NlbmFyaW86IFNjZW5hcmlvCistICBzY2VuYXJpb19v dXRsaW5lOiBTY2VuYXJpbyBBbWxpbmVsbG9sCistICBleGFtcGxlczogRW5naHJlaWZmdGlhdQor LSAgZ2l2ZW46ICIqfEFucmhlZ2VkaWcgYSIKKy0gIHdoZW46ICIqfFByeWQiCistICB0aGVuOiAi KnxZbmEiCistICBhbmQ6ICIqfEEiCistICBidXQ6ICIqfE9uZCIKKy0iY3MiOgorLSAgbmFtZTog Q3plY2gKKy0gIG5hdGl2ZTogxIxlc2t5CistICBmZWF0dXJlOiBQb8W+YWRhdmVrCistICBiYWNr Z3JvdW5kOiBQb3phZMOtfEtvbnRleHQKKy0gIHNjZW5hcmlvOiBTY8OpbsOhxZkKKy0gIHNjZW5h cmlvX291dGxpbmU6IE7DocSNcnQgU2PDqW7DocWZZXxPc25vdmEgc2PDqW7DocWZZQorLSAgZXhh bXBsZXM6IFDFmcOta2xhZHkKKy0gIGdpdmVuOiAiKnxQb2t1ZHxaYSBwxZllZHBva2xhZHUiCist ICB3aGVuOiAiKnxLZHnFviIKKy0gIHRoZW46ICIqfFBhayIKKy0gIGFuZDogIip8QXxBIHRha8Op IgorLSAgYnV0OiAiKnxBbGUiCistImRhIjoKKy0gIG5hbWU6IERhbmlzaAorLSAgbmF0aXZlOiBk YW5zaworLSAgZmVhdHVyZTogRWdlbnNrYWIKKy0gIGJhY2tncm91bmQ6IEJhZ2dydW5kCistICBz Y2VuYXJpbzogU2NlbmFyaWUKKy0gIHNjZW5hcmlvX291dGxpbmU6IEFic3RyYWt0IFNjZW5hcmlv CistICBleGFtcGxlczogRWtzZW1wbGVyCistICBnaXZlbjogIip8R2l2ZXQiCistICB3aGVuOiAi KnxOw6VyIgorLSAgdGhlbjogIip8U8OlIgorLSAgYW5kOiAiKnxPZyIKKy0gIGJ1dDogIip8TWVu IgorLSJkZSI6CistICBuYW1lOiBHZXJtYW4KKy0gIG5hdGl2ZTogRGV1dHNjaAorLSAgZmVhdHVy ZTogRnVua3Rpb25hbGl0w6R0CistICBiYWNrZ3JvdW5kOiBHcnVuZGxhZ2UKKy0gIHNjZW5hcmlv OiBTemVuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogU3plbmFyaW9ncnVuZHJpc3MKKy0gIGV4 YW1wbGVzOiBCZWlzcGllbGUKKy0gIGdpdmVuOiAiKnxBbmdlbm9tbWVufEdlZ2ViZW4gc2VpIgor LSAgd2hlbjogIip8V2VubiIKKy0gIHRoZW46ICIqfERhbm4iCistICBhbmQ6ICIqfFVuZCIKKy0g IGJ1dDogIip8QWJlciIKKy0iZW4tYXUiOgorLSAgbmFtZTogQXVzdHJhbGlhbgorLSAgbmF0aXZl OiBBdXN0cmFsaWFuCistICBmZWF0dXJlOiBDcmlrZXkKKy0gIGJhY2tncm91bmQ6IEJhY2tncm91 bmQKKy0gIHNjZW5hcmlvOiBNYXRlCistICBzY2VuYXJpb19vdXRsaW5lOiBCbG9rZXMKKy0gIGV4 YW1wbGVzOiBDb2JiZXIKKy0gIGdpdmVuOiAiKnxZYSBrbm93IGhvdyIKKy0gIHdoZW46ICIqfFdo ZW4iCistICB0aGVuOiAiKnxZYSBnb3R0YSIKKy0gIGFuZDogIip8TiIKKy0gIGJ1dDogIip8Q2Vw dCIKKy0iZW4tbG9sIjoKKy0gIG5hbWU6IExPTENBVAorLSAgbmF0aXZlOiBMT0xDQVQKKy0gIGZl YXR1cmU6IE9IIEhBSQorLSAgYmFja2dyb3VuZDogQjQKKy0gIHNjZW5hcmlvOiBNSVNIVU4KKy0g IHNjZW5hcmlvX291dGxpbmU6IE1JU0hVTiBTUlNMWQorLSAgZXhhbXBsZXM6IEVYQU1QTFoKKy0g IGdpdmVuOiAiKnxJIENBTiBIQVoiCistICB3aGVuOiAiKnxXRU4iCistICB0aGVuOiAiKnxERU4i CistICBhbmQ6ICIqfEFOIgorLSAgYnV0OiAiKnxCVVQiCistImVuLXBpcmF0ZSI6CistICBuYW1l OiBQaXJhdGUKKy0gIG5hdGl2ZTogUGlyYXRlCistICBmZWF0dXJlOiBBaG95IG1hdGV5IQorLSAg YmFja2dyb3VuZDogWW8taG8taG8KKy0gIHNjZW5hcmlvOiBIZWF2ZSB0bworLSAgc2NlbmFyaW9f b3V0bGluZTogU2hpdmVyIG1lIHRpbWJlcnMKKy0gIGV4YW1wbGVzOiBEZWFkIG1lbiB0ZWxsIG5v IHRhbGVzCistICBnaXZlbjogIip8R2FuZ3dheSEiCistICB3aGVuOiAiKnxCbGltZXkhIgorLSAg dGhlbjogIip8TGV0IGdvIGFuZCBoYXVsIgorLSAgYW5kOiAiKnxBeWUiCistICBidXQ6ICIqfEF2 YXN0ISIKKy0iZW4tU2NvdXNlIjoKKy0gIG5hbWU6IFNjb3VzZQorLSAgbmF0aXZlOiBTY291c2UK Ky0gIGZlYXR1cmU6IEZlYXR1cmUKKy0gIGJhY2tncm91bmQ6ICJEaXMgaXMgd2hhdCB3ZW50IGRv d24iCistICBzY2VuYXJpbzogIlRoZSB0aGluZyBvZiBpdCBpcyIKKy0gIHNjZW5hcmlvX291dGxp bmU6ICJXaGFycmltZWFuIGlzIgorLSAgZXhhbXBsZXM6IEV4YW1wbGVzCistICBnaXZlbjogIip8 R2l2dW58WW91c2Uga25vdyB3aGVuIHlvdXNlIGdvdCIKKy0gIHdoZW46ICIqfFd1bnxZb3VzZSBr bm93IGxpa2Ugd2hlbiIKKy0gIHRoZW46ICIqfER1bnxEZW4geW91c2UgZ290dGEiCistICBhbmQ6 ICIqfEFuIgorLSAgYnV0OiAiKnxCdWgiCistImVuLXR4IjoKKy0gIG5hbWU6IFRleGFuCistICBu YXRpdmU6IFRleGFuCistICBmZWF0dXJlOiBGZWF0dXJlCistICBiYWNrZ3JvdW5kOiBCYWNrZ3Jv dW5kCistICBzY2VuYXJpbzogU2NlbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IEFsbCB5J2Fs bAorLSAgZXhhbXBsZXM6IEV4YW1wbGVzCistICBnaXZlbjogIip8R2l2ZW4geSdhbGwiCistICB3 aGVuOiAiKnxXaGVuIHknYWxsIgorLSAgdGhlbjogIip8VGhlbiB5J2FsbCIKKy0gIGFuZDogIip8 QW5kIHknYWxsIgorLSAgYnV0OiAiKnxCdXQgeSdhbGwiCistImVvIjoKKy0gIG5hbWU6IEVzcGVy YW50bworLSAgbmF0aXZlOiBFc3BlcmFudG8KKy0gIGZlYXR1cmU6IFRyYWp0bworLSAgYmFja2dy b3VuZDogRm9ubworLSAgc2NlbmFyaW86IFNjZW5hcm8KKy0gIHNjZW5hcmlvX291dGxpbmU6IEtv bnR1cm8gZGUgbGEgc2NlbmFybworLSAgZXhhbXBsZXM6IEVremVtcGxvagorLSAgZ2l2ZW46ICIq fERvbml0YcS1byIKKy0gIHdoZW46ICIqfFNlIgorLSAgdGhlbjogIip8RG8iCistICBhbmQ6ICIq fEthaiIKKy0gIGJ1dDogIip8U2VkIgorLSJlcyI6CistICBuYW1lOiBTcGFuaXNoCistICBuYXRp dmU6IGVzcGHDsW9sCistICBiYWNrZ3JvdW5kOiBBbnRlY2VkZW50ZXMKKy0gIGZlYXR1cmU6IENh cmFjdGVyw61zdGljYQorLSAgc2NlbmFyaW86IEVzY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGlu ZTogRXNxdWVtYSBkZWwgZXNjZW5hcmlvCistICBleGFtcGxlczogRWplbXBsb3MKKy0gIGdpdmVu OiAiKnxEYWRvfERhZGF8RGFkb3N8RGFkYXMiCistICB3aGVuOiAiKnxDdWFuZG8iCistICB0aGVu OiAiKnxFbnRvbmNlcyIKKy0gIGFuZDogIip8WSIKKy0gIGJ1dDogIip8UGVybyIKKy0iZXQiOgor LSAgbmFtZTogRXN0b25pYW4KKy0gIG5hdGl2ZTogZWVzdGkga2VlbAorLSAgZmVhdHVyZTogT21h ZHVzCistICBiYWNrZ3JvdW5kOiBUYXVzdAorLSAgc2NlbmFyaW86IFN0c2VuYWFyaXVtCistICBz Y2VuYXJpb19vdXRsaW5lOiBSYWFtc3RzZW5hYXJpdW0KKy0gIGV4YW1wbGVzOiBKdWh0dW1pZAor LSAgZ2l2ZW46ICIqfEVlbGRhZGVzIgorLSAgd2hlbjogIip8S3VpIgorLSAgdGhlbjogIip8U2lp cyIKKy0gIGFuZDogIip8SmEiCistICBidXQ6ICIqfEt1aWQiCistImZpIjoKKy0gIG5hbWU6IEZp bm5pc2gKKy0gIG5hdGl2ZTogc3VvbWkKKy0gIGZlYXR1cmU6IE9taW5haXN1dXMKKy0gIGJhY2tn cm91bmQ6IFRhdXN0YQorLSAgc2NlbmFyaW86IFRhcGF1cworLSAgc2NlbmFyaW9fb3V0bGluZTog VGFwYXVzYWloaW8KKy0gIGV4YW1wbGVzOiBUYXBhdWtzZXQKKy0gIGdpdmVuOiAiKnxPbGV0ZXRh YW4iCistICB3aGVuOiAiKnxLdW4iCistICB0aGVuOiAiKnxOaWluIgorLSAgYW5kOiAiKnxKYSIK Ky0gIGJ1dDogIip8TXV0dGEiCistImZyIjoKKy0gIG5hbWU6IEZyZW5jaAorLSAgbmF0aXZlOiBm cmFuw6dhaXMKKy0gIGZlYXR1cmU6IEZvbmN0aW9ubmFsaXTDqQorLSAgYmFja2dyb3VuZDogQ29u dGV4dGUKKy0gIHNjZW5hcmlvOiBTY8OpbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IFBsYW4g ZHUgc2PDqW5hcmlvfFBsYW4gZHUgU2PDqW5hcmlvCistICBleGFtcGxlczogRXhlbXBsZXMKKy0g IGdpdmVuOiAiKnxTb2l0fEV0YW50IGRvbm7DqXxFdGFudCBkb25uw6llfEV0YW50IGRvbm7DqXN8 RXRhbnQgZG9ubsOpZXN8w4l0YW50IGRvbm7DqXzDiXRhbnQgZG9ubsOpZXzDiXRhbnQgZG9ubsOp c3zDiXRhbnQgZG9ubsOpZXMiCistICB3aGVuOiAiKnxRdWFuZHxMb3JzcXVlfExvcnNxdSc8Igor LSAgdGhlbjogIip8QWxvcnMiCistICBhbmQ6ICIqfEV0IgorLSAgYnV0OiAiKnxNYWlzIgorLSJn bCI6CistICBuYW1lOiBHYWxpY2lhbgorLSAgbmF0aXZlOiBnYWxlZ28KKy0gIGZlYXR1cmU6IENh cmFjdGVyw61zdGljYQorLSAgYmFja2dyb3VuZDogQ29udGV4dG8KKy0gIHNjZW5hcmlvOiBFc2Nl bmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6ICJFc2Jvem8gZG8gZXNjZW5hcmlvIgorLSAgZXhh bXBsZXM6IEV4ZW1wbG9zCistICBnaXZlbjogIip8RGFkb3xEYWRhfERhZG9zfERhZGFzIgorLSAg d2hlbjogIip8Q2FuZG8iCistICB0aGVuOiAiKnxFbnTDs258TG9nbyIKKy0gIGFuZDogIip8RSIK Ky0gIGJ1dDogIip8TWFpc3xQZXJvIgorLQorLSJoZSI6CistICBuYW1lOiBIZWJyZXcKKy0gIG5h dGl2ZTog16LXkdeo15nXqgorLSAgZmVhdHVyZTog16rXm9eV16DXlAorLSAgYmFja2dyb3VuZDog 16jXp9eiCistICBzY2VuYXJpbzog16rXqNeX15nXqQorLSAgc2NlbmFyaW9fb3V0bGluZTog16rX kdeg15nXqiDXqteo15fXmdepCistICBleGFtcGxlczog15PXldeS157XkNeV16oKKy0gIGdpdmVu OiAiKnzXkdeU15nXoNeq158iCistICB3aGVuOiAiKnzXm9eQ16nXqCIKKy0gIHRoZW46ICIqfNeQ 15Z815DXlteZIgorLSAgYW5kOiAiKnzXldeS150iCistICBidXQ6ICIqfNeQ15HXnCIKKy0iaHIi OgorLSAgbmFtZTogQ3JvYXRpYW4KKy0gIG5hdGl2ZTogaHJ2YXRza2kKKy0gIGZlYXR1cmU6IE9z b2JpbmF8TW9ndcSHbm9zdHxNb2d1Y25vc3QKKy0gIGJhY2tncm91bmQ6IFBvemFkaW5hCistICBz Y2VuYXJpbzogU2NlbmFyaWoKKy0gIHNjZW5hcmlvX291dGxpbmU6IFNraWNhfEtvbmNlcHQKKy0g IGV4YW1wbGVzOiBQcmltamVyaXxTY2VuYXJpamkKKy0gIGdpdmVuOiAiKnxaYWRhbnxaYWRhbml8 WmFkYW5vIgorLSAgd2hlbjogIip8S2FkYXxLYWQiCistICB0aGVuOiAiKnxPbmRhIgorLSAgYW5k OiAiKnxJIgorLSAgYnV0OiAiKnxBbGkiCistImh1IjoKKy0gIG5hbWU6IEh1bmdhcmlhbgorLSAg bmF0aXZlOiBtYWd5YXIKKy0gIGZlYXR1cmU6IEplbGxlbXrFkQorLSAgYmFja2dyb3VuZDogSMOh dHTDqXIKKy0gIHNjZW5hcmlvOiBGb3JnYXTDs2vDtm55dgorLSAgc2NlbmFyaW9fb3V0bGluZTog Rm9yZ2F0w7Nrw7ZueXYgdsOhemxhdAorLSAgZXhhbXBsZXM6IFDDqWxkw6FrCistICBnaXZlbjog Iip8QW1lbm55aWJlbnxBZG90dCIKKy0gIHdoZW46ICIqfE1hamR8SGF8QW1pa29yIgorLSAgdGhl bjogIip8QWtrb3IiCistICBhbmQ6ICIqfMOJcyIKKy0gIGJ1dDogIip8RGUiCistImlkIjoKKy0g IG5hbWU6IEluZG9uZXNpYW4KKy0gIG5hdGl2ZTogQmFoYXNhIEluZG9uZXNpYQorLSAgZmVhdHVy ZTogRml0dXIKKy0gIGJhY2tncm91bmQ6IERhc2FyCistICBzY2VuYXJpbzogU2tlbmFyaW8KKy0g IHNjZW5hcmlvX291dGxpbmU6IFNrZW5hcmlvIGtvbnNlcAorLSAgZXhhbXBsZXM6IENvbnRvaAor LSAgZ2l2ZW46ICIqfERlbmdhbiIKKy0gIHdoZW46ICIqfEtldGlrYSIKKy0gIHRoZW46ICIqfE1h a2EiCistICBhbmQ6ICIqfERhbiIKKy0gIGJ1dDogIip8VGFwaSIKKy0iaXMiOgorLSAgbmFtZTog SWNlbGFuZGljCistICBuYXRpdmU6IMONc2xlbnNrYQorLSAgZmVhdHVyZTogRWlnaW5sZWlraQor LSAgYmFja2dyb3VuZDogQmFrZ3J1bm51cgorLSAgc2NlbmFyaW86IEF0YnVyw7BhcsOhcworLSAg c2NlbmFyaW9fb3V0bGluZTogTMO9c2luZyBBdGJ1csOwYXLDoXNhcnxMw71zaW5nIETDpm1hCist ICBleGFtcGxlczogRMOmbWl8QXRidXLDsGFyw6FzaXIKKy0gIGdpdmVuOiAiKnxFZiIKKy0gIHdo ZW46ICIqfMOeZWdhciIKKy0gIHRoZW46ICIqfMOew6EiCistICBhbmQ6ICIqfE9nIgorLSAgYnV0 OiAiKnxFbiIKKy0iaXQiOgorLSAgbmFtZTogSXRhbGlhbgorLSAgbmF0aXZlOiBpdGFsaWFubwor LSAgZmVhdHVyZTogRnVuemlvbmFsaXTDoAorLSAgYmFja2dyb3VuZDogQ29udGVzdG8KKy0gIHNj ZW5hcmlvOiBTY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogU2NoZW1hIGRlbGxvIHNjZW5h cmlvCistICBleGFtcGxlczogRXNlbXBpCistICBnaXZlbjogIip8RGF0b3xEYXRhfERhdGl8RGF0 ZSIKKy0gIHdoZW46ICIqfFF1YW5kbyIKKy0gIHRoZW46ICIqfEFsbG9yYSIKKy0gIGFuZDogIip8 RSIKKy0gIGJ1dDogIip8TWEiCistImphIjoKKy0gIG5hbWU6IEphcGFuZXNlCistICBuYXRpdmU6 IOaXpeacrOiqngorLSAgZmVhdHVyZTog44OV44Kj44O844OB44OjfOapn+iDvQorLSAgYmFja2dy b3VuZDog6IOM5pmvCistICBzY2VuYXJpbzog44K344OK44Oq44KqCistICBzY2VuYXJpb19vdXRs aW5lOiDjgrfjg4rjg6rjgqrjgqLjgqbjg4jjg6njgqTjg7N844K344OK44Oq44Kq44OG44Oz44OX 44Os44O844OIfOODhuODs+ODl+ODrHzjgrfjg4rjg6rjgqrjg4bjg7Pjg5fjg6wKKy0gIGV4YW1w bGVzOiDkvot844K144Oz44OX44OrCistICBnaXZlbjogIip85YmN5o+QPCIKKy0gIHdoZW46ICIq fOOCguOBlzwiCistICB0aGVuOiAiKnzjgarjgonjgbA8IgorLSAgYW5kOiAiKnzjgYvjgaQ8Igor LSAgYnV0OiAiKnzjgZfjgYvjgZc8fOS9huOBlzx844Gf44Gg44GXPCIKKy0ia28iOgorLSAgbmFt ZTogS29yZWFuCistICBuYXRpdmU6IO2VnOq1reyWtAorLSAgYmFja2dyb3VuZDog67Cw6rK9Cist ICBmZWF0dXJlOiDquLDriqUKKy0gIHNjZW5hcmlvOiDsi5zrgpjrpqzsmKQKKy0gIHNjZW5hcmlv X291dGxpbmU6IOyLnOuCmOumrOyYpCDqsJzsmpQKKy0gIGV4YW1wbGVzOiDsmIgKKy0gIGdpdmVu OiAiKnzsobDqsbQ8fOuovOyggDwiCistICB3aGVuOiAiKnzrp4zsnbw8fOunjOyVvTwiCistICB0 aGVuOiAiKnzqt7jrn6zrqbQ8IgorLSAgYW5kOiAiKnzqt7jrpqzqs6A8IgorLSAgYnV0OiAiKnzt lZjsp4Drp4w8fOuLqDwiCistImx0IjoKKy0gIG5hbWU6IExpdGh1YW5pYW4KKy0gIG5hdGl2ZTog bGlldHV2acWzIGthbGJhCistICBmZWF0dXJlOiBTYXZ5YsSXCistICBiYWNrZ3JvdW5kOiBLb250 ZWtzdGFzCistICBzY2VuYXJpbzogU2NlbmFyaWp1cworLSAgc2NlbmFyaW9fb3V0bGluZTogU2Nl bmFyaWphdXMgxaFhYmxvbmFzCistICBleGFtcGxlczogUGF2eXpkxb5pYWl8U2NlbmFyaWphaXxW YXJpYW50YWkKKy0gIGdpdmVuOiAiKnxEdW90YSIKKy0gIHdoZW46ICIqfEthaSIKKy0gIHRoZW46 ICIqfFRhZGEiCistICBhbmQ6ICIqfElyIgorLSAgYnV0OiAiKnxCZXQiCistImx1IjoKKy0gIG5h bWU6IEx1eGVtYnVyZ2lzaAorLSAgbmF0aXZlOiBMw6t0emVidWVyZ2VzY2gKKy0gIGZlYXR1cmU6 IEZ1bmt0aW9uYWxpdMOpaXQKKy0gIGJhY2tncm91bmQ6IEhhbm5lcmdyb25kCistICBzY2VuYXJp bzogU3plbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IFBsYW5nIHZ1bSBTemVuYXJpbworLSAg ZXhhbXBsZXM6IEJlaXNwaWxsZXIKKy0gIGdpdmVuOiAiKnx1Z2Vob2xsIgorLSAgd2hlbjogIip8 d2FubiIKKy0gIHRoZW46ICIqfGRhbm4iCistICBhbmQ6ICIqfGFufGEiCistICBidXQ6ICIqfGF3 ZXJ8bcOkIgorLSJsdiI6CistICBuYW1lOiBMYXR2aWFuCistICBuYXRpdmU6IGxhdHZpZcWhdQor LSAgZmVhdHVyZTogRnVua2Npb25hbGl0xIF0ZXxGxKvEjWEKKy0gIGJhY2tncm91bmQ6IEtvbnRl a3N0c3xTaXR1xIFjaWphCistICBzY2VuYXJpbzogU2NlbsSBcmlqcworLSAgc2NlbmFyaW9fb3V0 bGluZTogU2NlbsSBcmlqcyBwxJNjIHBhcmF1Z2EKKy0gIGV4YW1wbGVzOiBQaWVtxJNyaXxQYXJh dWdzCistICBnaXZlbjogIip8S2FkIgorLSAgd2hlbjogIip8SmEiCistICB0aGVuOiAiKnxUYWQi CistICBhbmQ6ICIqfFVuIgorLSAgYnV0OiAiKnxCZXQiCistIm5sIjoKKy0gIG5hbWU6IER1dGNo CistICBuYXRpdmU6IE5lZGVybGFuZHMKKy0gIGZlYXR1cmU6IEZ1bmN0aW9uYWxpdGVpdAorLSAg YmFja2dyb3VuZDogQWNodGVyZ3JvbmQKKy0gIHNjZW5hcmlvOiBTY2VuYXJpbworLSAgc2NlbmFy aW9fb3V0bGluZTogQWJzdHJhY3QgU2NlbmFyaW8KKy0gIGV4YW1wbGVzOiBWb29yYmVlbGRlbgor LSAgZ2l2ZW46ICIqfEdlZ2V2ZW58U3RlbCIKKy0gIHdoZW46ICIqfEFscyIKKy0gIHRoZW46ICIq fERhbiIKKy0gIGFuZDogIip8RW4iCistICBidXQ6ICIqfE1hYXIiCistIm5vIjoKKy0gIG5hbWU6 IE5vcndlZ2lhbgorLSAgbmF0aXZlOiBub3JzaworLSAgZmVhdHVyZTogRWdlbnNrYXAKKy0gIGJh Y2tncm91bmQ6IEJha2dydW5uCistICBzY2VuYXJpbzogU2NlbmFyaW8KKy0gIHNjZW5hcmlvX291 dGxpbmU6IFNjZW5hcmlvbWFsfEFic3RyYWt0IFNjZW5hcmlvCistICBleGFtcGxlczogRWtzZW1w bGVyCistICBnaXZlbjogIip8R2l0dCIKKy0gIHdoZW46ICIqfE7DpXIiCistICB0aGVuOiAiKnxT w6UiCistICBhbmQ6ICIqfE9nIgorLSAgYnV0OiAiKnxNZW4iCistInBsIjoKKy0gIG5hbWU6IFBv bGlzaAorLSAgbmF0aXZlOiBwb2xza2kKKy0gIGZlYXR1cmU6IFfFgmHFm2Npd2/Fm8SHCistICBi YWNrZ3JvdW5kOiBaYcWCb8W8ZW5pYQorLSAgc2NlbmFyaW86IFNjZW5hcml1c3oKKy0gIHNjZW5h cmlvX291dGxpbmU6IFN6YWJsb24gc2NlbmFyaXVzemEKKy0gIGV4YW1wbGVzOiBQcnp5a8WCYWR5 CistICBnaXZlbjogIip8WmFrxYJhZGFqxIVjfE1hasSFYyIKKy0gIHdoZW46ICIqfEplxbxlbGl8 SmXFm2xpIgorLSAgdGhlbjogIip8V3RlZHkiCistICBhbmQ6ICIqfE9yYXp8SSIKKy0gIGJ1dDog Iip8QWxlIgorLSJwdCI6CistICBuYW1lOiBQb3J0dWd1ZXNlCistICBuYXRpdmU6IHBvcnR1Z3XD qnMKKy0gIGJhY2tncm91bmQ6IENvbnRleHRvCistICBmZWF0dXJlOiBGdW5jaW9uYWxpZGFkZQor LSAgc2NlbmFyaW86IENlbsOhcmlvfENlbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IEVzcXVl bWEgZG8gQ2Vuw6FyaW98RXNxdWVtYSBkbyBDZW5hcmlvCistICBleGFtcGxlczogRXhlbXBsb3MK Ky0gIGdpdmVuOiAiKnxEYWRvfERhZGF8RGFkb3N8RGFkYXMiCistICB3aGVuOiAiKnxRdWFuZG8i CistICB0aGVuOiAiKnxFbnTDo298RW50YW8iCistICBhbmQ6ICIqfEUiCistICBidXQ6ICIqfE1h cyIKKy0icm8iOgorLSAgbmFtZTogUm9tYW5pYW4KKy0gIG5hdGl2ZTogcm9tw6JuxIMKKy0gIGJh Y2tncm91bmQ6IENvbnRleHQKKy0gIGZlYXR1cmU6IEZ1bmN0aW9uYWxpdGF0ZXxGdW5jyJtpb25h bGl0YXRlfEZ1bmPFo2lvbmFsaXRhdGUKKy0gIHNjZW5hcmlvOiBTY2VuYXJpdQorLSAgc2NlbmFy aW9fb3V0bGluZTogU3RydWN0dXJhIHNjZW5hcml1fFN0cnVjdHVyxIMgc2NlbmFyaXUKKy0gIGV4 YW1wbGVzOiBFeGVtcGxlCistICBnaXZlbjogIip8RGF0ZSBmaWluZHxEYXQgZmlpbmR8RGF0aSBm aWluZHxEYcibaSBmaWluZHxEYcWjaSBmaWluZCIKKy0gIHdoZW46ICIqfENhbmR8Q8OibmQiCist ICB0aGVuOiAiKnxBdHVuY2kiCistICBhbmQ6ICIqfFNpfMiYaXzFnmkiCistICBidXQ6ICIqfERh ciIKKy0icnUiOgorLSAgbmFtZTogUnVzc2lhbgorLSAgbmF0aXZlOiDRgNGD0YHRgdC60LjQuQor LSAgZmVhdHVyZTog0KTRg9C90LrRhtC40Y980KTRg9C90LrRhtC40L7QvdCw0Lt80KHQstC+0LnR gdGC0LLQvgorLSAgYmFja2dyb3VuZDog0J/RgNC10LTRi9GB0YLQvtGA0LjRj3zQmtC+0L3RgtC1 0LrRgdGCCistICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0LjQuQorLSAgc2NlbmFyaW9fb3V0bGlu ZTog0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNC40Y8KKy0gIGV4YW1wbGVzOiDQn9GA 0LjQvNC10YDRiworLSAgZ2l2ZW46ICIqfNCU0L7Qv9GD0YHRgtC40Lx80JTQsNC90L580J/Rg9GB 0YLRjCIKKy0gIHdoZW46ICIqfNCV0YHQu9C4fNCa0L7Qs9C00LAiCistICB0aGVuOiAiKnzQotC+ fNCi0L7Qs9C00LAiCistICBhbmQ6ICIqfNCYfNCaINGC0L7QvNGDINC20LUiCistICBidXQ6ICIq fNCd0L580JAiCistInN2IjoKKy0gIG5hbWU6IFN3ZWRpc2gKKy0gIG5hdGl2ZTogU3ZlbnNrYQor LSAgZmVhdHVyZTogRWdlbnNrYXAKKy0gIGJhY2tncm91bmQ6IEJha2dydW5kCistICBzY2VuYXJp bzogU2NlbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IEFic3RyYWt0IFNjZW5hcmlvfFNjZW5h cmlvbWFsbAorLSAgZXhhbXBsZXM6IEV4ZW1wZWwKKy0gIGdpdmVuOiAiKnxHaXZldCIKKy0gIHdo ZW46ICIqfE7DpHIiCistICB0aGVuOiAiKnxTw6UiCistICBhbmQ6ICIqfE9jaCIKKy0gIGJ1dDog Iip8TWVuIgorLSJzayI6CistICBuYW1lOiBTbG92YWsKKy0gIG5hdGl2ZTogU2xvdmVuc2t5Cist ICBmZWF0dXJlOiBQb8W+aWFkYXZrYQorLSAgYmFja2dyb3VuZDogUG96YWRpZQorLSAgc2NlbmFy aW86IFNjZW7DoXIKKy0gIHNjZW5hcmlvX291dGxpbmU6IE7DocSNcnQgU2NlbsOhcnUKKy0gIGV4 YW1wbGVzOiBQcsOta2xhZHkKKy0gIGdpdmVuOiAiKnxQb2tpYcS+IgorLSAgd2hlbjogIip8S2XE jyIKKy0gIHRoZW46ICIqfFRhayIKKy0gIGFuZDogIip8QSIKKy0gIGJ1dDogIip8QWxlIgorLSJz ci1MYXRuIjoKKy0gIG5hbWU6IFNlcmJpYW4gKExhdGluKQorLSAgbmF0aXZlOiBTcnBza2kgKExh dGluaWNhKQorLSAgZmVhdHVyZTogRnVua2Npb25hbG5vc3R8TW9ndcSHbm9zdHxNb2d1Y25vc3R8 T3NvYmluYQorLSAgYmFja2dyb3VuZDogS29udGVrc3R8T3Nub3ZhfFBvemFkaW5hCistICBzY2Vu YXJpbzogU2NlbmFyaW98UHJpbWVyCistICBzY2VuYXJpb19vdXRsaW5lOiBTdHJ1a3R1cmEgc2Nl bmFyaWphfFNraWNhfEtvbmNlcHQKKy0gIGV4YW1wbGVzOiBQcmltZXJpfFNjZW5hcmlqaQorLSAg Z2l2ZW46ICIqfFphZGF0b3xaYWRhdGV8WmF0YXRpIgorLSAgd2hlbjogIip8S2FkYXxLYWQiCist ICB0aGVuOiAiKnxPbmRhIgorLSAgYW5kOiAiKnxJIgorLSAgYnV0OiAiKnxBbGkiCistInNyLUN5 cmwiOgorLSAgbmFtZTogU2VyYmlhbgorLSAgbmF0aXZlOiDQodGA0L/RgdC60LgKKy0gIGZlYXR1 cmU6INCk0YPQvdC60YbQuNC+0L3QsNC70L3QvtGB0YJ80JzQvtCz0YPRm9C90L7RgdGCfNCe0YHQ vtCx0LjQvdCwCistICBiYWNrZ3JvdW5kOiDQmtC+0L3RgtC10LrRgdGCfNCe0YHQvdC+0LLQsHzQ n9C+0LfQsNC00LjQvdCwCistICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0LjQvnzQn9GA0LjQvNC1 0YAKKy0gIHNjZW5hcmlvX291dGxpbmU6INCh0YLRgNGD0LrRgtGD0YDQsCDRgdGG0LXQvdCw0YDQ uNGY0LB80KHQutC40YbQsHzQmtC+0L3RhtC10L/RggorLSAgZXhhbXBsZXM6INCf0YDQuNC80LXR gNC4fNCh0YbQtdC90LDRgNC40ZjQuAorLSAgZ2l2ZW46ICIqfNCX0LDQtNCw0YLQvnzQl9Cw0LTQ sNGC0LV80JfQsNC00LDRgtC4IgorLSAgd2hlbjogIip80JrQsNC00LB80JrQsNC0IgorLSAgdGhl bjogIip80J7QvdC00LAiCistICBhbmQ6ICIqfNCYIgorLSAgYnV0OiAiKnzQkNC70LgiCistInRy IjoKKy0gIG5hbWU6IFR1cmtpc2gKKy0gIG5hdGl2ZTogVMO8cmvDp2UKKy0gIGZlYXR1cmU6IMOW emVsbGlrCistICBiYWNrZ3JvdW5kOiBHZcOnbWnFnworLSAgc2NlbmFyaW86IFNlbmFyeW8KKy0g IHNjZW5hcmlvX291dGxpbmU6IFNlbmFyeW8gdGFzbGHEn8SxCistICBleGFtcGxlczogw5ZybmVr bGVyCistICBnaXZlbjogIip8RGl5ZWxpbSBraSIKKy0gIHdoZW46ICIqfEXEn2VyIGtpIgorLSAg dGhlbjogIip8TyB6YW1hbiIKKy0gIGFuZDogIip8VmUiCistICBidXQ6ICIqfEZha2F0fEFtYSIK Ky0idWsiOgorLSAgbmFtZTogVWtyYWluaWFuCistICBuYXRpdmU6INCj0LrRgNCw0ZfQvdGB0YzQ utCwCistICBmZWF0dXJlOiDQpNGD0L3QutGG0ZbQvtC90LDQuworLSAgYmFja2dyb3VuZDog0J/Q tdGA0LXQtNGD0LzQvtCy0LAKKy0gIHNjZW5hcmlvOiDQodGG0LXQvdCw0YDRltC5CistICBzY2Vu YXJpb19vdXRsaW5lOiDQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA0ZbRjgorLSAgZXhh bXBsZXM6INCf0YDQuNC60LvQsNC00LgKKy0gIGdpdmVuOiAiKnzQn9GA0LjQv9GD0YHRgtC40LzQ vnzQn9GA0LjQv9GD0YHRgtC40LzQviwg0YnQvnzQndC10YXQsNC5fNCU0LDQvdC+IgorLSAgd2hl bjogIip80K/QutGJ0L580JrQvtC70LgiCistICB0aGVuOiAiKnzQotC+fNCi0L7QtNGWIgorLSAg YW5kOiAiKnzQhnzQkCDRgtCw0LrQvtC2fNCi0LAiCistICBidXQ6ICIqfNCQ0LvQtSIKKy0idXoi OgorLSAgbmFtZTogVXpiZWsKKy0gIG5hdGl2ZTog0KPQt9Cx0LXQutGH0LAKKy0gIGZlYXR1cmU6 INCk0YPQvdC60YbQuNC+0L3QsNC7CistICBiYWNrZ3JvdW5kOiDQotCw0YDQuNGFCistICBzY2Vu YXJpbzog0KHRhtC10L3QsNGA0LjQuQorLSAgc2NlbmFyaW9fb3V0bGluZTog0KHRhtC10L3QsNGA 0LjQuSDRgdGC0YDRg9C60YLRg9GA0LDRgdC4CistICBleGFtcGxlczog0JzQuNGB0L7Qu9C70LDR gAorLSAgZ2l2ZW46ICIqfNCQ0LPQsNGAIgorLSAgd2hlbjogIip80JDQs9Cw0YAiCistICB0aGVu OiAiKnzQo9C90LTQsCIKKy0gIGFuZDogIip80JLQsCIKKy0gIGJ1dDogIip80JvQtdC60LjQvXzQ kdC40YDQvtC6fNCQ0LzQvNC+IgorLSJ2aSI6CistICBuYW1lOiBWaWV0bmFtZXNlCistICBuYXRp dmU6IFRp4bq/bmcgVmnhu4d0CistICBmZWF0dXJlOiBUw61uaCBuxINuZworLSAgYmFja2dyb3Vu ZDogQuG7kWkgY+G6o25oCistICBzY2VuYXJpbzogVMOsbmggaHXhu5FuZ3xL4buLY2ggYuG6o24K Ky0gIHNjZW5hcmlvX291dGxpbmU6IEtodW5nIHTDrG5oIGh14buRbmd8S2h1bmcga+G7i2NoIGLh uqNuCistICBleGFtcGxlczogROG7ryBsaeG7h3UKKy0gIGdpdmVuOiAiKnxCaeG6v3R8Q2hvIgor LSAgd2hlbjogIip8S2hpIgorLSAgdGhlbjogIip8VGjDrCIKKy0gIGFuZDogIip8VsOgIgorLSAg YnV0OiAiKnxOaMawbmciCistInpoLUNOIjoKKy0gIG5hbWU6IENoaW5lc2Ugc2ltcGxpZmllZAor LSAgbmF0aXZlOiDnroDkvZPkuK3mlocKKy0gIGZlYXR1cmU6IOWKn+iDvQorLSAgYmFja2dyb3Vu ZDog6IOM5pmvCistICBzY2VuYXJpbzog5Zy65pmvCistICBzY2VuYXJpb19vdXRsaW5lOiDlnLrm ma/lpKfnurIKKy0gIGV4YW1wbGVzOiDkvovlrZAKKy0gIGdpdmVuOiAiKnzlgYflpoI8IgorLSAg d2hlbjogIip85b2TPCIKKy0gIHRoZW46ICIqfOmCo+S5iDwiCistICBhbmQ6ICIqfOiAjOS4lDwi CistICBidXQ6ICIqfOS9huaYrzwiCistInpoLVRXIjoKKy0gIG5hbWU6IENoaW5lc2UgdHJhZGl0 aW9uYWwKKy0gIG5hdGl2ZTog57mB6auU5Lit5paHCistICBmZWF0dXJlOiDlip/og70KKy0gIGJh Y2tncm91bmQ6IOiDjOaZrworLSAgc2NlbmFyaW86IOWgtOaZr3zliofmnKwKKy0gIHNjZW5hcmlv X291dGxpbmU6IOWgtOaZr+Wkp+e2sXzliofmnKzlpKfntrEKKy0gIGV4YW1wbGVzOiDkvovlrZAK Ky0gIGdpdmVuOiAiKnzlgYfoqK08IgorLSAgd2hlbjogIip855W2PCIKKy0gIHRoZW46ICIqfOmC o+m6vDwiCistICBhbmQ6ICIqfOiAjOS4lDx85Lim5LiUPCIKKy0gIGJ1dDogIip85L2G5pivPCIK ZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNTYtbW9yZS5mZWF0dXJlcy1QZXJmb3JtLW1vcmUtR2hlcmtpbi12Ni1jaGVja3Mt YW5kLXJ1bi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwNTYtbW9yZS5mZWF0dXJlcy1QZXJmb3JtLW1vcmUtR2hlcmtpbi12Ni1jaGVj a3MtYW5kLXJ1bi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI1 YmFjMjJjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTYtbW9yZS5mZWF0dXJlcy1QZXJmb3JtLW1vcmUtR2hl cmtpbi12Ni1jaGVja3MtYW5kLXJ1bi5wYXRjaApAQCAtMCwwICsxLDE1NSBAQAorRnJvbSA2NWVj OWQ1ZDY5MjUxNzQ2YTI3MjNmN2QyNDU1YzIzMTY2ZjNkMWE5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBTYXQsIDEzIEp1bCAyMDE5IDEzOjIyOjIxICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIG1v cmUuZmVhdHVyZXM6IFBlcmZvcm0gbW9yZSBHaGVya2luIHY2IGNoZWNrcyBhbmQgcnVuCisgZXhh bXBsZXMuCisKKy0tLQorIGludm9rZS55YW1sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IDEwICsrLS0tCisgbW9yZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgICAgICAgICAg ICAgICAgIHwgMjggKysrKysrKysrKysrKworIC4uLi9mb3JtYXR0ZXIuanNvbi52YWxpZGF0ZV9v dXRwdXQuZmVhdHVyZSAgICB8IDIyICsrKysrKysrKy0KKyBtb3JlLmZlYXR1cmVzL3J1bl9leGFt cGxlcy5mZWF0dXJlICAgICAgICAgICAgfCA0MSArKysrKysrKysrKysrKysrKysrCisgNCBmaWxl cyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0 IG1vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUKKworZGlmZiAtLWdpdCBhL2ludm9r ZS55YW1sIGIvaW52b2tlLnlhbWwKK2luZGV4IGQ2ZjE0MWMuLmEzMjM0NWUgMTAwNjQ0CistLS0g YS9pbnZva2UueWFtbAorKysrIGIvaW52b2tlLnlhbWwKK0BAIC0yNCwxMyArMjQsNiBAQCBzcGhp bng6CisgICAgICAgLSBkZQorICAgICAgICMgUFJFUEFSRUQ6IC0gemgtQ04KKyAKKy1jbGVhbnVw OgorLSAgICBleHRyYV9kaXJlY3RvcmllczoKKy0gICAgICAtICJidWlsZCIKKy0gICAgICAtICJk aXN0IgorLSAgICAgIC0gIl9fV09SS0RJUl9fIgorLSAgICAgIC0gcmVwb3J0cworLQorIGNsZWFu dXA6CisgICAgIGV4dHJhX2RpcmVjdG9yaWVzOgorICAgICAgIC0gImJ1aWxkIgorQEAgLTQ3LDYg KzQwLDkgQEAgY2xlYW51cF9hbGw6CisgICAgICAgLSAuaHlwb3RoZXNpcworICAgICAgIC0gLnB5 dGVzdF9jYWNoZQorIAorKyAgICBleHRyYV9maWxlczoKKysgICAgICAtICIqKi90ZXN0cnVuKi5q c29uIgorKworIGJlaGF2ZV90ZXN0OgorICAgICBzY29wZXM6CisgICAgICAgLSBmZWF0dXJlcwor ZGlmZiAtLWdpdCBhL21vcmUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgYi9tb3JlLmZlYXR1cmVz L2Vudmlyb25tZW50LnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uOWQ0 MzAyYgorLS0tIC9kZXYvbnVsbAorKysrIGIvbW9yZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weQor QEAgLTAsMCArMSwyOCBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrCisrZnJvbSBiZWhh dmUudGFnX21hdGNoZXIgaW1wb3J0IEFjdGl2ZVRhZ01hdGNoZXIsIHNldHVwX2FjdGl2ZV90YWdf dmFsdWVzCisraW1wb3J0IHN5cworKworKyMgLS0gTUFUQ0hFUyBBTlkgVEFHUzogQHVzZS53aXRo X3tjYXRlZ29yeX09e3ZhbHVlfQorKyMgTk9URTogYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciBw cm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMgZm9yIGFjdGl2ZSB0YWdzLgorK3B5dGhvbl92ZXJzaW9u ID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCisrYWN0aXZlX3RhZ192YWx1ZV9wcm92 aWRlciA9IHsKKysgICAgInB5dGhvbi52ZXJzaW9uIjogcHl0aG9uX3ZlcnNpb24sCisrfQorK2Fj dGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92 aWRlcikKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBIT09LUzoKKysjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrZGVmIGJlZm9yZV9hbGwoY29udGV4dCk6CisrICAgICMgLS0gU0VUVVAg QUNUSVZFLVRBRyBNQVRDSEVSICh3aXRoIHVzZXJkYXRhKToKKysgICAgc2V0dXBfYWN0aXZlX3Rh Z192YWx1ZXMoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwgY29udGV4dC5jb25maWcudXNlcmRh dGEpCisrCisrZGVmIGJlZm9yZV9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpOgorKyAgICBpZiBh Y3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChmZWF0dXJlLnRhZ3MpOgorKyAg ICAgICAgZmVhdHVyZS5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFz b24pCisrCisrZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6CisrICAgIGlm IGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2 ZV90YWdzKToKKysgICAgICAgIHNjZW5hcmlvLnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hl ci5leGNsdWRlX3JlYXNvbikKKysKK2RpZmYgLS1naXQgYS9tb3JlLmZlYXR1cmVzL2Zvcm1hdHRl ci5qc29uLnZhbGlkYXRlX291dHB1dC5mZWF0dXJlIGIvbW9yZS5mZWF0dXJlcy9mb3JtYXR0ZXIu anNvbi52YWxpZGF0ZV9vdXRwdXQuZmVhdHVyZQoraW5kZXggYTVmOGFiNi4uMzE1NTBkNSAxMDA2 NDQKKy0tLSBhL21vcmUuZmVhdHVyZXMvZm9ybWF0dGVyLmpzb24udmFsaWRhdGVfb3V0cHV0LmZl YXR1cmUKKysrKyBiL21vcmUuZmVhdHVyZXMvZm9ybWF0dGVyLmpzb24udmFsaWRhdGVfb3V0cHV0 LmZlYXR1cmUKK0BAIC0zNCw0ICszNCwyNCBAQCBGZWF0dXJlOiBWYWxpZGF0ZSBKU09OIEZvcm1h dHRlciBPdXRwdXQKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAgICAgICAgIiIi CisgICAgICAgICB2YWxpZGF0ZTogdGVzdHJ1bjMuanNvbiAuLi4gT0sKKy0gICAgICAgICIiIgor XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrICAgICAgICAiIiIKKysKKysgIEBnaGVya2lu X3Y2CisrICBTY2VuYXJpbzogVmFsaWRhdGUgSlNPTiBvdXRwdXQgZnJvbSBleGFtcGxlL2doZXJr aW5fdjYvIHRlc3QgcnVuCisrICAgIEdpdmVuIEkgdXNlIHRoZSBkaXJlY3RvcnkgImV4YW1wbGVz L2doZXJraW5fdjYiIGFzIHdvcmtpbmcgZGlyZWN0b3J5CisrICAgIFdoZW4gSSBydW4gImJlaGF2 ZSAtZiBqc29uIC1vIHRlc3RydW5fZ2hlcmtpbjZfMS5qc29uIGZlYXR1cmVzLyIKKysgICAgV2hl biBJIHJ1biAiLi4vLi4vYmluL2pzb25zY2hlbWFfdmFsaWRhdGUucHkgdGVzdHJ1bl9naGVya2lu Nl8xLmpzb24iCisrICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKysgICAgICAgICIiIgor KyAgICAgICAgdmFsaWRhdGU6IHRlc3RydW5fZ2hlcmtpbjZfMS5qc29uIC4uLiBPSworKyAgICAg ICAgIiIiCisrCisrICBAZ2hlcmtpbl92NgorKyAgU2NlbmFyaW86IFZhbGlkYXRlIEpTT04gb3V0 cHV0IGZyb20gZXhhbXBsZS9naGVya2luX3Y2LyB0ZXN0IHJ1biAoY2FzZTogcGFydGx5IGZhaWxp bmcpCisrICAgIEdpdmVuIEkgdXNlIHRoZSBkaXJlY3RvcnkgImV4YW1wbGVzL2doZXJraW5fdjYi IGFzIHdvcmtpbmcgZGlyZWN0b3J5CisrICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLXRhZ3M9ZmFp bCAtZiBqc29uIC1vIHRlc3RydW5fZ2hlcmtpbjZfMi5qc29uIGZlYXR1cmVzLyIKKysgICAgV2hl biBJIHJ1biAiLi4vLi4vYmluL2pzb25zY2hlbWFfdmFsaWRhdGUucHkgdGVzdHJ1bl9naGVya2lu Nl8yLmpzb24iCisrICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKysgICAgICAgICIiIgor KyAgICAgICAgdmFsaWRhdGU6IHRlc3RydW5fZ2hlcmtpbjZfMi5qc29uIC4uLiBPSworKyAgICAg ICAgIiIiCitkaWZmIC0tZ2l0IGEvbW9yZS5mZWF0dXJlcy9ydW5fZXhhbXBsZXMuZmVhdHVyZSBi L21vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUKK25ldyBmaWxlIG1vZGUgMTAwNjQ0 CitpbmRleCAwMDAwMDAwLi40Nzc4ODY2CistLS0gL2Rldi9udWxsCisrKysgYi9tb3JlLmZlYXR1 cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlCitAQCAtMCwwICsxLDQxIEBACisrRmVhdHVyZTogRW5z dXJlIHRoYXQgYWxsIGV4YW1wbGVzIGFyZSB1c2FibGUKKysKKysgIFNjZW5hcmlvIE91dGxpbmU6 IFVzZSA8ZXhhbXBsZV9kaXI+CisrICAgIEdpdmVuIEkgdXNlIHRoZSBkaXJlY3RvcnkgIjxleGFt cGxlX2Rpcj4iIGFzIHdvcmtpbmcgZGlyZWN0b3J5CisrICAgIFdoZW4gSSBydW4gImJlaGF2ZSA8 YmVoYXZlX2NtZGxpbmU+IgorKyAgICBUaGVuIGl0IHNob3VsZCA8b3V0Y29tZT4KKysKKysgICAg RXhhbXBsZXM6CisrICAgICAgfCBleGFtcGxlX2RpciAgICAgICAgIHwgYmVoYXZlX2NtZGxpbmUg ICAgICAgIHwgb3V0Y29tZSB8CisrICAgICAgfCBleGFtcGxlcy9lbnZfdmFycyAgIHwgZmVhdHVy ZXMvICAgICAgICAgICAgIHwgcGFzcyAgICB8CisrICAgICAgfCBleGFtcGxlcy9maXh0dXJlLm5v X2JhY2tncm91bmQgfCBmZWF0dXJlcy8gIHwgcGFzcyAgICB8CisrICAgICAgfCBleGFtcGxlcy9n aGVya2luX3Y2IHwgZmVhdHVyZXMvICAgICAgICAgICAgIHwgcGFzcyAgICB8CisrCisrCisrICBT Y2VuYXJpbzogZXhhbXBsZXMvZ2hlcmtpbl92NiAtLSBAeGZhaWwgcGFydHMKKysgICAgR2l2ZW4g SSB1c2UgdGhlIGRpcmVjdG9yeSAiZXhhbXBsZXMvZ2hlcmtpbl92NiIgYXMgd29ya2luZyBkaXJl Y3RvcnkKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tdGFncz1mYWlsIGZlYXR1cmVzLyIKKysg ICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorKyAgICAgICIiIgorKyAgICAgIDAgZmVhdHVy ZXMgcGFzc2VkLCAxIGZhaWxlZCwgMiBza2lwcGVkCisrICAgICAgMCBydWxlcyBwYXNzZWQsIDEg ZmFpbGVkLCA2IHNraXBwZWQKKysgICAgICAxIHNjZW5hcmlvIHBhc3NlZCwgMiBmYWlsZWQsIDEy IHNraXBwZWQKKysgICAgICAyIHN0ZXBzIHBhc3NlZCwgMiBmYWlsZWQsIDM5IHNraXBwZWQsIDAg dW5kZWZpbmVkCisrICAgICAgIiIiCisrICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxk IGNvbnRhaW46CisrICAgICAgIiIiCisrICAgICAgRmFpbGluZyBzY2VuYXJpb3M6CisrICAgICAg ICBmZWF0dXJlcy9ydWxlX2ZhaWxzLmZlYXR1cmU6NyAgRjAgLS0gRmFpbHMKKysgICAgICAgIGZl YXR1cmVzL3J1bGVfZmFpbHMuZmVhdHVyZToxNiAgRjIgLS0gRmFpbHMKKysgICAgICAiIiIKKysK KysKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjQKKysgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjUKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKysgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjcKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysg IFNjZW5hcmlvOiBleGFtcGxlcy9hc3luY19zdGVwIChuZWVkczogcHkzNCBvciBuZXdlcikKKysg ICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVjdG9yeSAiZXhhbXBsZXMvYXN5bmNfc3RlcCIgYXMgd29y a2luZyBkaXJlY3RvcnkKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIGZlYXR1cmVzLyIKKysgICAg VGhlbiBpdCBzaG91bGQgcGFzcwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ny1VVElMLUNvcnJlY3QtVVJMLWFuZC1weXRo b24tbW9kdWxlLW9sZC13YXMtYnJva2VuLW5vLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ny1VVElMLUNvcnJlY3QtVVJMLWFuZC1w eXRob24tbW9kdWxlLW9sZC13YXMtYnJva2VuLW5vLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uNzk3MTgyNjFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ny1VVElMLUNvcnJl Y3QtVVJMLWFuZC1weXRob24tbW9kdWxlLW9sZC13YXMtYnJva2VuLW5vLnBhdGNoCkBAIC0wLDAg KzEsNzIgQEAKK0Zyb20gZGEwYTg4ZjUzMTFlNDE4MWE5YzI0YTU4NTNmNjM5MjIwOWRjZWFiZSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9y ZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCAxMyBKdWwgMjAxOSAxMzozOTo0OSArMDIwMAor U3ViamVjdDogW1BBVENIXSBVVElMOiBDb3JyZWN0IFVSTCBhbmQgcHl0aG9uIG1vZHVsZSAob2xk IHdhcyBicm9rZW4sIG5vCisgbG9uZ2VyIGV4aXN0cykuCisKKy0tLQorIGJpbi9iZWhhdmUyY3Vj dW1iZXJfanNvbi5weSB8IDE5ICsrKysrKysrKysrKy0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwg MTIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Jpbi9iZWhh dmUyY3VjdW1iZXJfanNvbi5weSBiL2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5weQoraW5kZXgg NzM4ZTQ0NC4uNTQxMDYxZSAxMDA3NTUKKy0tLSBhL2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5w eQorKysrIGIvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5CitAQCAtMyw5ICszLDEwIEBACisg IyBDT05WRVJUOiBiZWhhdmUgSlNPTiBkaWFsZWN0IHRvIGN1Y3VtYmVyIEpTT04gZGlhbGVjdAor ICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKyAjIFNUQVRVUzogX19QUk9UT1RZUEVfXworLSMgUkVR VUlSRVM6IFB5dGhvbiA+PSAyLjYKKy0jIFJFUVVJUkVTOiBodHRwczovL2dpdGh1Yi5jb20vYmVo YWxmaW5jL2IyYy8KKy0jIFNFRTogaHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvaXNz dWVzLzI2NyNpc3N1ZWNvbW1lbnQtMjQ5NjA3MTkxCisrIyBSRVFVSVJFUzogUHl0aG9uID49IDIu NworKyMgUkVRVUlSRVM6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhbGYtb3NzL2JlaGF2ZTJjdWN1 bWJlcgorKyMgU0VFOgorKyMgKiBodHRwczovL2dpdGh1Yi5jb20vYmVoYXZlL2JlaGF2ZS9pc3N1 ZXMvMjY3I2lzc3VlY29tbWVudC0yNTE3NDY1NjUKKyAjID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisg IiIiCisgQ29udmVydCBhIGZpbGUgd2l0aCBiZWhhdmUgSlNPTiBkYXRhIGludG8gYSBmaWxlIHdp dGggY3VjdW1iZXIgSlNPTiBkYXRhLgorQEAgLTE3LDE1ICsxOCwxNiBAQCBpbXBvcnQganNvbgor IGltcG9ydCBzeXMKKyBpbXBvcnQgb3MucGF0aAorIHRyeToKKy0gICAgaW1wb3J0IGIyYworKyAg ICBpbXBvcnQgYmVoYXZlMmN1Y3VtYmVyCisgZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICBwcmlu dCgiUkVRVUlSRTogaHR0cHM6Ly9naXRodWIuY29tL2JlaGFsZmluYy9iMmMvICAobm90IGluc3Rh bGxlZCB5ZXQpIikKKy0gICAgcHJpbnQoIklOU1RBTEw6IHBpcCBpbnN0YWxsIGIyYyIpCisrICAg IHByaW50KCJSRVFVSVJFOiBodHRwczovL2dpdGh1Yi5jb20vYmVoYWxmLW9zcy9iZWhhdmUyY3Vj dW1iZXIgKG5vdCBpbnN0YWxsZWQgeWV0KSIpCisrICAgIHByaW50KCJJTlNUQUxMOiBwaXAgaW5z dGFsbCBiZWhhdmUyY3VjdW1iZXIiKQorICAgICBzeXMuZXhpdCgyKQorIAorIAorIE5BTUUgPSBv cy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9fKQorIAorKworIGRlZiBjb252ZXJ0X2JlaGF2ZV90b19j dWN1bWJlcl9qc29uKGJlaGF2ZV9maWxlbmFtZSwgY3VjdW1iZXJfZmlsZW5hbWUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2Rpbmc9IlVURi04IiwgcHJldHR5PVRy dWUpOgorICAgICAiIiJDb252ZXJ0IGJlaGF2ZSBKU09OIGRpYWxlY3QgaW50byBjdWN1bWJlciBK U09OIGRpYWxlY3QuCitAQCAtMzksMTIgKzQxLDE0IEBAIGRlZiBjb252ZXJ0X2JlaGF2ZV90b19j dWN1bWJlcl9qc29uKGJlaGF2ZV9maWxlbmFtZSwgY3VjdW1iZXJfZmlsZW5hbWUsCisgCisgICAg IHdpdGggb3BlbihiZWhhdmVfZmlsZW5hbWUsICJyIikgYXMgYmVoYXZlX2pzb246CisgICAgICAg ICB3aXRoIG9wZW4oY3VjdW1iZXJfZmlsZW5hbWUsICJ3KyIpIGFzIG91dHB1dF9maWxlOgorLSAg ICAgICAgICAgIGN1Y3VtYmVyX2pzb24gPSBiMmMuY29udmVydChqc29uLmxvYWQoYmVoYXZlX2pz b24sIGVuY29kaW5nKSkKKysgICAgICAgICAgICBiZWhhdmVfanNvbiA9IGpzb24ubG9hZChiZWhh dmVfanNvbiwgZW5jb2RpbmcpCisrICAgICAgICAgICAgY3VjdW1iZXJfanNvbiA9IGJlaGF2ZTJj dWN1bWJlci5jb252ZXJ0KGJlaGF2ZV9qc29uKQorICAgICAgICAgICAgICMgY3VjdW1iZXJfdGV4 dCA9IGpzb24uZHVtcHMoY3VjdW1iZXJfanNvbiwgKipkdW1wX2t3YXJncykKKyAgICAgICAgICAg ICAjIG91dHB1dF9maWxlLndyaXRlKGN1Y3VtYmVyX3RleHQpCisgICAgICAgICAgICAganNvbi5k dW1wKGN1Y3VtYmVyX2pzb24sIG91dHB1dF9maWxlLCAqKmR1bXBfa3dhcmdzKQorICAgICByZXR1 cm4gMAorIAorKworIGRlZiBtYWluKGFyZ3M9Tm9uZSk6CisgICAgICIiIk1haW4gZnVuY3Rpb24g dG8gcnVuIHRoZSBzY3JpcHQuIiIiCisgICAgIGlmIGFyZ3MgaXMgTm9uZToKK0BAIC01OCw2ICs2 Miw3IEBAIGRlZiBtYWluKGFyZ3M9Tm9uZSk6CisgICAgIGN1Y3VtYmVyX2ZpbGVuYW1lID0gYXJn c1sxXQorICAgICByZXR1cm4gY29udmVydF9iZWhhdmVfdG9fY3VjdW1iZXJfanNvbihiZWhhdmVf ZmlsZW5hbWUsIGN1Y3VtYmVyX2ZpbGVuYW1lKQorIAorKworICMgLS0gQVVUTy1NQUlOOgorIGlm IF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgIHN5cy5leGl0KG1haW4oKSkKZGlmZiAtLWdp dCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw NTgtVVRJTC1Gb3JtYXR0aW5nLXR3ZWFrcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTgtVVRJTC1Gb3JtYXR0aW5nLXR3ZWFrcy5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjRiNzA4ZmE5NAotLS0g L2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwNTgtVVRJTC1Gb3JtYXR0aW5nLXR3ZWFrcy5wYXRjaApAQCAtMCwwICsxLDIy IEBACitGcm9tIDcwOWQ3YzM2MDRjYzhmOTU4ZGJkNjM2MGM2NmNhYmY2MTI0MTljOTkgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHku Z2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgMTMgSnVsIDIwMTkgMTM6NDA6NDYgKzAyMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gVVRJTDogRm9ybWF0dGluZyB0d2Vha3MuCisKKy0tLQorIGJpbi9iZWhhdmUy Y3VjdW1iZXJfanNvbi5weSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5w eSBiL2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5weQoraW5kZXggNTQxMDYxZS4uODkzYTVlZiAx MDA3NTUKKy0tLSBhL2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5weQorKysrIGIvYmluL2JlaGF2 ZTJjdWN1bWJlcl9qc29uLnB5CitAQCAtMjAsNyArMjAsNyBAQCBpbXBvcnQgb3MucGF0aAorIHRy eToKKyAgICAgaW1wb3J0IGJlaGF2ZTJjdWN1bWJlcgorIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKy0g ICAgcHJpbnQoIlJFUVVJUkU6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhbGYtb3NzL2JlaGF2ZTJj dWN1bWJlciAobm90IGluc3RhbGxlZCB5ZXQpIikKKysgICAgcHJpbnQoIlJFUVVJUkU6IGh0dHBz Oi8vZ2l0aHViLmNvbS9iZWhhbGYtb3NzL2JlaGF2ZTJjdWN1bWJlciIpCisgICAgIHByaW50KCJJ TlNUQUxMOiBwaXAgaW5zdGFsbCBiZWhhdmUyY3VjdW1iZXIiKQorICAgICBzeXMuZXhpdCgyKQor IApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA1OS1GaXhlZC1hLWJ1Zy13aGVyZS11c2VfZml4dHVyZV9ieV90YWctZGlkbi10 LXJldHVybi10LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA1OS1GaXhlZC1hLWJ1Zy13aGVyZS11c2VfZml4dHVyZV9ieV90YWctZGlk bi10LXJldHVybi10LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u ZmYwYTQyMzhmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OS1GaXhlZC1hLWJ1Zy13aGVyZS11c2VfZml4dHVy ZV9ieV90YWctZGlkbi10LXJldHVybi10LnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zyb20gYzUw NzgwNGE2MTBlMDlhYWFiZTdjNWRhNzY2NTg1N2NlNzk0NzczNiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEpvbi1QaWVycmUgR2VudGlsIDxqZ2VudGlsQHNlYmlzdGFyLm5ldD4KK0Rh dGU6IFRodSwgMSBBdWcgMjAxOSAxMToyMTozNiAtMDUwMAorU3ViamVjdDogW1BBVENIXSBGaXhl ZCBhIGJ1ZyB3aGVyZSB1c2VfZml4dHVyZV9ieV90YWcgZGlkbid0IHJldHVybiB0aGUgYWN0dWFs CisgZml4dHVyZSBpZiB0aGUgcmVnaXN0cnkgZW50cnkgd2FzIGp1c3QgYSBkaXJlY3QgZnVuY3Rp b24uCisKKy0tLQorIGJlaGF2ZS9maXh0dXJlLnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAx IGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2ZpeHR1 cmUucHkgYi9iZWhhdmUvZml4dHVyZS5weQoraW5kZXggM2E5ZjFiYy4uNTFlMThiZiAxMDA2NDQK Ky0tLSBhL2JlaGF2ZS9maXh0dXJlLnB5CisrKysgYi9iZWhhdmUvZml4dHVyZS5weQorQEAgLTI3 Miw3ICsyNzIsNyBAQCBkZWYgdXNlX2ZpeHR1cmVfYnlfdGFnKHRhZywgY29udGV4dCwgZml4dHVy ZV9yZWdpc3RyeSk6CisgCisgICAgIGlmIGNhbGxhYmxlKGZpeHR1cmVfZGF0YSk6CisgICAgICAg ICBmaXh0dXJlX2Z1bmMgPSBmaXh0dXJlX2RhdGEKKy0gICAgICAgIHVzZV9maXh0dXJlKGZpeHR1 cmVfZnVuYywgY29udGV4dCkKKysgICAgICAgIHJldHVybiB1c2VfZml4dHVyZShmaXh0dXJlX2Z1 bmMsIGNvbnRleHQpCisgICAgIGVsaWYgaXNpbnN0YW5jZShmaXh0dXJlX2RhdGEsICh0dXBsZSwg bGlzdCkpOgorICAgICAgICAgYXNzZXJ0IGxlbihmaXh0dXJlX2RhdGEpID09IDMKKyAgICAgICAg IGZpeHR1cmVfZnVuYywgZml4dHVyZV9hcmdzLCBmaXh0dXJlX2t3YXJncyA9IGZpeHR1cmVfZGF0 YQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA2MC1BZGRlZC1pc3N1ZS11bml0LXRlc3QucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDYwLUFkZGVkLWlzc3VlLXVu aXQtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmIzNWJh MTQ0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjAtQWRkZWQtaXNzdWUtdW5pdC10ZXN0LnBhdGNoCkBAIC0w LDAgKzEsNjIgQEAKK0Zyb20gZWU0Nzg0ZWZiYmYxY2JkMTgzOTBlMmRkMzZmNjFkZWUxYjAwMzg1 OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvbi1QaWVycmUgR2VudGlsIDxqZ2Vu dGlsQHNlYmlzdGFyLm5ldD4KK0RhdGU6IFRodSwgMSBBdWcgMjAxOSAxMTo0ODowOCAtMDUwMAor U3ViamVjdDogW1BBVENIXSBBZGRlZCBpc3N1ZSB1bml0IHRlc3QKKworLS0tCisgdGVzdHMvaXNz dWVzL3Rlc3RfaXNzdWUwNzY3LnB5IHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKworIDEgZmlsZSBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAw NjQ0IHRlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDc2Ny5weQorCitkaWZmIC0tZ2l0IGEvdGVzdHMv aXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5IGIvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5 CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMWRlMzU4OQorLS0tIC9kZXYv bnVsbAorKysrIGIvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5CitAQCAtMCwwICsxLDQ2 IEBACisrIiIiCisraHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvaXNzdWVzLzc2Nwor KworK1doZW4gdHJ5aW5nIHRvIGRvIHNvbWV0aGluZyBsaWtlOjoKKysKKysgICAgZml4dHVyZV9y ZWdpc3RyeSA9IHsnZml4dHVyZS5mb28nOiBmb29fZml4dHVyZX0KKysgICAgZiA9IHVzZV9maXh0 dXJlX2J5X3RhZygnZml4dHVyZS5mb28nLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKwor K0JlaGF2ZSByZXR1cm5zIG5vdGhpbmcuIDo6CisrCisrICAgIHJlcHIoZikKKysgICAgJ05vbmUn CisrCisrVGhpcyBzZWVtcyB0byBiZSBhbiBvdmVyc2lnaHQuCisrIiIiCisrCisrZnJvbSBtb2Nr IGltcG9ydCBNb2NrCisrCisrZGVmIHRlc3RfaXNzdWVfNzY3X3VzZV9mZWF0dXJlX2J5X3RhZ19o YXNfbm9fcmV0dXJuKCk6CisrICAgICIiIlZlcmlmaWVzIHRoYXQgaXNzdWUgIzc2NyBpcyBmaXhl ZC4iIiIKKysgICAgZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgZml4dHVyZSwgdXNlX2ZpeHR1 cmVfYnlfdGFnCisrICAgIGZyb20gYmVoYXZlLnJ1bm5lciBpbXBvcnQgQ29udGV4dAorKworKyAg ICBAZml4dHVyZShuYW1lPSdmaXh0dXJlLmZvbycpCisrICAgIGRlZiBmb29fZml4dHVyZShjb250 ZXh0LCAqYXJncywgKiprd2FyZ3MpOgorKyAgICAgICAgY29udGV4dC5mb28gPSAnZm9vJworKyAg ICAgICAgcmV0dXJuIGNvbnRleHQuZm9vCisrCisrICAgICMgLS0gU0NIRU1BIDE6IGZpeHR1cmVf ZnVuYworKyAgICBmaXh0dXJlX3JlZ2lzdHJ5MSA9IHsKKysgICAgICAgICJmaXh0dXJlLmZvbyI6 IGZvb19maXh0dXJlCisrICAgIH0KKysgICAgIyAtLSBTQ0hFTUEgMjogZml4dHVyZV9mdW5jLCBm aXh0dXJlX2FyZ3MsIGZpeHR1cmVfa3dhcmdzCisrICAgIGZpeHR1cmVfcmVnaXN0cnkyID0gewor KyAgICAgICAgImZpeHR1cmUuZm9vIjogKGZvb19maXh0dXJlLCAoKSwge30pCisrICAgIH0KKysK KysgICAgY29udGV4dCA9IENvbnRleHQocnVubmVyPU1vY2soKSkKKysgICAgZjEgPSB1c2VfZml4 dHVyZV9ieV90YWcoJ2ZpeHR1cmUuZm9vJywgY29udGV4dCwgZml4dHVyZV9yZWdpc3RyeTEpCisr ICAgIGFzc2VydCBmMSA9PSAnZm9vJworKyAgICBhc3NlcnQgY29udGV4dC5mb28gaXMgZjEKKysK KysgICAgY29udGV4dCA9IENvbnRleHQocnVubmVyPU1vY2soKSkKKysgICAgZjIgPSB1c2VfZml4 dHVyZV9ieV90YWcoJ2ZpeHR1cmUuZm9vJywgY29udGV4dCwgZml4dHVyZV9yZWdpc3RyeTIpCisr ICAgIGFzc2VydCBmMiA9PSAnZm9vJworKyAgICBhc3NlcnQgY29udGV4dC5mb28gaXMgZjIKZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNjEtTWVyZ2UtcHVsbC1yZXF1ZXN0LTc2Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjEt TWVyZ2UtcHVsbC1yZXF1ZXN0LTc2Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI1OWViYWJlMQotLS0gL2Rldi9udWxsCisrKyBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjEt TWVyZ2UtcHVsbC1yZXF1ZXN0LTc2Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaApAQCAtMCwwICsx LDYwIEBACitGcm9tIDJjM2MyYTQyMTdkMDMzYzNmNzE1NzA0Njc2NWUwODg4YmRlM2JmYmQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgNyBBdWcgMjAxOSAyMzoxNDo1OSArMDIwMAorU3Vi amVjdDogW1BBVENIXSBNZXJnZSBwdWxsLXJlcXVlc3QgIzc2NyB3aXRoIG1pbm9yIHR3ZWFrcy4g RklYOgorIHVzZV9maXh0dXJlX2J5X3RhZyBkaWRuJ3QgcmV0dXJuIHRoZSBhY3R1YWwgZml4dHVy ZSBpbiBhbGwgY2FzZXMuCisKKy0tLQorIENIQU5HRVMucnN0ICAgICAgICAgICAgICAgICAgICB8 ICAxICsKKyB0ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkgfCAxNyArKysrKysrKystLS0t LS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IDE1YTRlZjku LjdhOTE2M2YgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BA IC00Myw2ICs0Myw3IEBAIEZJWEVEOgorIAorIE1JTk9SOgorIAorKyogcHVsbCAgIzc2NzogRklY OiB1c2VfZml4dHVyZV9ieV90YWcgZGlkbid0IHJldHVybiB0aGUgYWN0dWFsIGZpeHR1cmUgaW4g YWxsIGNhc2VzIChwcm92aWRlZCBieTogamdlbnRpbCkKKyAqIHB1bGwgICM3NTE6IGdoZXJraW46 IEFkZGluZyBSdWxlIGtleXdvcmQgdHJhbnNsYXRpb24gaW4gcG9ydHVndWVzZSBhbmQgc3Bhbmlz aCB0byBnaGVya2luLWxhbmd1YWdlcy5qc29uIChwcm92aWRlZCBieTogZHVub3NzYXVybykKKyAq IHB1bGwgICM2NjA6IEZpeCBtaW5vciB0eXBvcyAocHJvdmlkZWQgYnk6IHJydWV0aCkKKyAqIHB1 bGwgICM2NTU6IFVzZSBweXRlc3QgaW5zdGVhZCBvZiBweS50ZXN0IHBlciB1cHN0cmVhbSByZWNv bW1lbmRhdGlvbiAocHJvdmlkZWQgYnk6IHNjb3ApCitkaWZmIC0tZ2l0IGEvdGVzdHMvaXNzdWVz L3Rlc3RfaXNzdWUwNzY3LnB5IGIvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5CitpbmRl eCAxZGUzNTg5Li40MDFkYmQwIDEwMDY0NAorLS0tIGEvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUw NzY3LnB5CisrKysgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3NjcucHkKK0BAIC0xNSwxMSAr MTUsMTIgQEAgVGhpcyBzZWVtcyB0byBiZSBhbiBvdmVyc2lnaHQuCisgIiIiCisgCisgZnJvbSBt b2NrIGltcG9ydCBNb2NrCisrZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgZml4dHVyZSwgdXNl X2ZpeHR1cmVfYnlfdGFnCisrZnJvbSBiZWhhdmUucnVubmVyIGltcG9ydCBDb250ZXh0CisrCisg CisgZGVmIHRlc3RfaXNzdWVfNzY3X3VzZV9mZWF0dXJlX2J5X3RhZ19oYXNfbm9fcmV0dXJuKCk6 CisgICAgICIiIlZlcmlmaWVzIHRoYXQgaXNzdWUgIzc2NyBpcyBmaXhlZC4iIiIKKy0gICAgZnJv bSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgZml4dHVyZSwgdXNlX2ZpeHR1cmVfYnlfdGFnCistICAg IGZyb20gYmVoYXZlLnJ1bm5lciBpbXBvcnQgQ29udGV4dAorIAorICAgICBAZml4dHVyZShuYW1l PSdmaXh0dXJlLmZvbycpCisgICAgIGRlZiBmb29fZml4dHVyZShjb250ZXh0LCAqYXJncywgKipr d2FyZ3MpOgorQEAgLTM2LDExICszNywxMSBAQCBkZWYgdGVzdF9pc3N1ZV83NjdfdXNlX2ZlYXR1 cmVfYnlfdGFnX2hhc19ub19yZXR1cm4oKToKKyAgICAgfQorIAorICAgICBjb250ZXh0ID0gQ29u dGV4dChydW5uZXI9TW9jaygpKQorLSAgICBmMSA9IHVzZV9maXh0dXJlX2J5X3RhZygnZml4dHVy ZS5mb28nLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MSkKKy0gICAgYXNzZXJ0IGYxID09ICdm b28nCistICAgIGFzc2VydCBjb250ZXh0LmZvbyBpcyBmMQorKyAgICBmaXh0dXJlMSA9IHVzZV9m aXh0dXJlX2J5X3RhZygiZml4dHVyZS5mb28iLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MSkK KysgICAgYXNzZXJ0IGZpeHR1cmUxID09ICJmb28iCisrICAgIGFzc2VydCBjb250ZXh0LmZvbyBp cyBmaXh0dXJlMQorIAorICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorLSAg ICBmMiA9IHVzZV9maXh0dXJlX2J5X3RhZygnZml4dHVyZS5mb28nLCBjb250ZXh0LCBmaXh0dXJl X3JlZ2lzdHJ5MikKKy0gICAgYXNzZXJ0IGYyID09ICdmb28nCistICAgIGFzc2VydCBjb250ZXh0 LmZvbyBpcyBmMgorKyAgICBmaXh0dXJlMiA9IHVzZV9maXh0dXJlX2J5X3RhZygiZml4dHVyZS5m b28iLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MikKKysgICAgYXNzZXJ0IGZpeHR1cmUyID09 ICJmb28iCisrICAgIGFzc2VydCBjb250ZXh0LmZvbyBpcyBmaXh0dXJlMgpkaWZmIC0tZ2l0IGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2Mi1D SEVDSy1Jc3N1ZS03NjYtUHJldHR5Rm9ybWF0dGVyLVVuaWNvZGVFcnJvci5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjItQ0hFQ0st SXNzdWUtNzY2LVByZXR0eUZvcm1hdHRlci1Vbmljb2RlRXJyb3IucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wYjhmNjM0MDgKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDYyLUNI RUNLLUlzc3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXItVW5pY29kZUVycm9yLnBhdGNoCkBAIC0wLDAg KzEsODMgQEAKK0Zyb20gMjAzNGYyZDMzYjI0ZDQzYzlmMGMxMjBhY2U1NzhjYTUzNjU2ZmFiNiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9y ZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCA3IEF1ZyAyMDE5IDIzOjU1OjA1ICswMjAwCitT dWJqZWN0OiBbUEFUQ0hdIENIRUNLOiBJc3N1ZSAjNzY2IC0tIFByZXR0eUZvcm1hdHRlcjogVW5p Y29kZUVycm9yCisKKy0tLQorIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDc2Ni5mZWF0dXJlICAgICAg ICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysKKyBpc3N1ZS5mZWF0dXJlcy9zdGVwcy9p c3N1ZTA3NjZfc3RlcHMucHkgfCAxMiArKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNl cnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGlzc3VlLmZlYXR1cmVzL2lzc3VlMDc2Ni5m ZWF0dXJlCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGlzc3VlLmZlYXR1cmVzL3N0ZXBzL2lzc3VlMDc2 Nl9zdGVwcy5weQorCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzY2LmZlYXR1 cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA3NjYuZmVhdHVyZQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAuLjk0ZDQ0ZDgKKy0tLSAvZGV2L251bGwKKysrKyBiL2lzc3VlLmZl YXR1cmVzL2lzc3VlMDc2Ni5mZWF0dXJlCitAQCAtMCwwICsxLDQ3IEBACisrQGlzc3VlCisrQG5v dF9yZXByb2R1Y2libGUKKytGZWF0dXJlOiBJc3N1ZSAjNzY2IC0tIFVuaWNvZGVFbmNvZGVFcnJv ciBpbiBQcmV0dHlGb3JtYXR0ZXIKKysKKysgIEV4cGxvcmUgdGhlIGRlc2NyaWJlZCBwcm9ibGVt LgorKworKyAgU2NlbmFyaW8gT3V0bGluZToKKysgICAgR2l2ZW4gYSBzdGVwIHdpdGggbmFtZT0i PG5hbWU+IgorKworKyAgICBFeGFtcGxlczoKKysgICAgICB8wqBuYW1lIHwgdmFsdWUgfCBjb21t ZW50IHwKKysgICAgICB8IPCfmIQgICB8IDEyMyAgIHwgVXNlIGVtb3RpY29uIChzbWlsZXkpIGlu IGEgdGFibGUgfAorKworKyAgU2NlbmFyaW86CisrICAgIEdpdmVuIGEgc3RlcCB3aXRoIHRhYmxl IGRhdGE6CisrICAgICAgfMKgbmFtZSB8IHZhbHVlIHwgY29tbWVudCB8CisrICAgICAgfCDwn5iE ICAgfCAxMjMgICB8IFVzZSBlbW90aWNvbiAoc21pbGV5KSBpbiBhIHRhYmxlIHwKKysKKysgIFNj ZW5hcmlvOiBFeHBsb3JlIHByb2JsZW0gYnkgdXNpbmcgdGhlIHByZXR0eSBmb3JtYXR0ZXIKKysg ICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAi ZmVhdHVyZXMvc3luZHJvbWVfNzY2LmZlYXR1cmUiIHdpdGg6CisrICAgICAgIiIiCisrICAgICAg RmVhdHVyZTogQWxpY2UKKysgICAgICAgIFNjZW5hcmlvIE91dGxpbmU6CisrICAgICAgICAgIEdp dmVuIGEgc3RlcCB3aXRoIG5hbWU9IjxuYW1lPiIKKysKKysgICAgICAgICAgRXhhbXBsZXM6Cisr ICAgICAgICAgICAgfMKgbmFtZSB8IHZhbHVlIHwgY29tbWVudCB8CisrICAgICAgICAgICAgfCDw n5iEICAgfCAxMjMgICB8IFVzZSBlbW90aWNvbiAoc21pbGV5KSBpbiBhIHRhYmxlIHwKKysgICAg ICAiIiIKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvaXNzdWU3NjZfc3Rl cHMucHkiIHdpdGg6CisrICAgICAgIiIiCisrICAgICAgZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVu CisrCisrICAgICAgQGdpdmVuKHUnYSBzdGVwIHdpdGggbmFtZT0ie25hbWV9IicpCisrICAgICAg ZGVmIHN0ZXBfd2l0aF90YWJsZV9kYXRhKGN0eCwgbmFtZSk6CisrICAgICAgICAgIHBhc3MKKysg ICAgICAiIiIKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHByZXR0eSBmZWF0dXJlcy9zeW5k cm9tZV83NjYuZmVhdHVyZSIKKysgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAg ICIiIgorKyAgICAgIDEgZmVhdHVyZSBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAg ICAxIHNjZW5hcmlvIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAgIDEgc3RlcCBw YXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDAgdW5kZWZpbmUKKysgICAgICAiIiIKKysgICAg QW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgbm90IGNvbnRhaW4gIlVuaWNvZGVFbmNvZGVF cnJvciIKKysgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgbm90IGNvbnRhaW4gIlRy YWNlYmFjayIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9zdGVwcy9pc3N1ZTA3NjZfc3Rl cHMucHkgYi9pc3N1ZS5mZWF0dXJlcy9zdGVwcy9pc3N1ZTA3NjZfc3RlcHMucHkKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zM2VkMzE3CistLS0gL2Rldi9udWxsCisrKysg Yi9pc3N1ZS5mZWF0dXJlcy9zdGVwcy9pc3N1ZTA3NjZfc3RlcHMucHkKK0BAIC0wLDAgKzEsMTIg QEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQg cHJpbnRfZnVuY3Rpb24KKytmcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4KKysKKytAZ2l2ZW4odSdh IHN0ZXAgd2l0aCB0YWJsZSBkYXRhJykKKytkZWYgc3RlcF93aXRoX3RhYmxlX2RhdGEoY3R4KToK KysgICAgYXNzZXJ0IGN0eC50YWJsZSBpcyBub3QgTm9uZSwgIlJFUVVJUkU6IHN0ZXAudGFibGUi CisrCisrQGdpdmVuKHUnYSBzdGVwIHdpdGggbmFtZT0ie25hbWV9IicpCisrZGVmIHN0ZXBfd2l0 aF90YWJsZV9kYXRhKGN0eCwgbmFtZSk6CisrICAgIHByaW50KHUibmFtZToge30iLmZvcm1hdChu YW1lKSkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNjMtRklYLWlzc3VlLTc3Mi1TY2VuYXJpb091dGxpbmUuRXhhbXBsZXMt d2l0aG91dC10YWJsZS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNjMtRklYLWlzc3VlLTc3Mi1TY2VuYXJpb091dGxpbmUuRXhhbXBs ZXMtd2l0aG91dC10YWJsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLmZmYTI2NWVlZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjMtRklYLWlzc3VlLTc3Mi1TY2VuYXJpb091 dGxpbmUuRXhhbXBsZXMtd2l0aG91dC10YWJsZS5wYXRjaApAQCAtMCwwICsxLDc0IEBACitGcm9t IDgyMDY1ZTk5OWJmYzEyNTQ2MWMyZTNkYjE3ODU2YmY1YTEzODQ0NDMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNv bT4KK0RhdGU6IFN1biwgMjIgU2VwIDIwMTkgMTg6MDg6MjIgKzAyMDAKK1N1YmplY3Q6IFtQQVRD SF0gRklYIGlzc3VlICM3NzI6IFNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcyB3aXRob3V0IHRhYmxl LgorCistLS0KKyBiZWhhdmUvbW9kZWwucHkgICAgICAgICAgICAgICAgICB8ICA4ICsrKysrKyst CisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzcyLmZlYXR1cmUgfCAzMSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGlzc3VlLmZlYXR1cmVzL2lzc3VlMDc3Mi5m ZWF0dXJlCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvbW9kZWwucHkgYi9iZWhhdmUvbW9kZWwucHkK K2luZGV4IDY5ZjM4YWIuLmY0NmQyYzIgMTAwNjQ0CistLS0gYS9iZWhhdmUvbW9kZWwucHkKKysr KyBiL2JlaGF2ZS9tb2RlbC5weQorQEAgLTEwLDcgKzEwLDcgQEAgVGhpcyBtb2R1bGUgcHJvdmlk ZXMgdGhlIG1vZGVsIGVsZW1lbnQgY2xhc3MgdGhhdCByZXByZXNlbnQgYSBiZWhhdmUgbW9kZWw6 CisgKiAuLi4KKyAiIiIKKyAKKy1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9y dCwgd2l0aF9zdGF0ZW1lbnQKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9y dCwgd2l0aF9zdGF0ZW1lbnQsIHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IGNvcHkKKyBpbXBvcnQg ZGlmZmxpYgorIGltcG9ydCBsb2dnaW5nCitAQCAtMTM1NSw2ICsxMzU1LDEyIEBAIGNsYXNzIFNj ZW5hcmlvT3V0bGluZUJ1aWxkZXIob2JqZWN0KToKKyAgICAgICAgICAgICBleGFtcGxlLmluZGV4 ID0gZXhhbXBsZV9pbmRleCsxCisgICAgICAgICAgICAgcGFyYW1zWyJleGFtcGxlcy5uYW1lIl0g PSBleGFtcGxlLm5hbWUKKyAgICAgICAgICAgICBwYXJhbXNbImV4YW1wbGVzLmluZGV4Il0gPSBf dGV4dChleGFtcGxlLmluZGV4KQorKyAgICAgICAgICAgIGlmIG5vdCBleGFtcGxlLnRhYmxlOgor KyAgICAgICAgICAgICAgICAjIC0tIFNZTkRST01FOiBFeGFtcGxlcyBrZXl3b3JkIHdpdGhvdXQg dGFibGUKKysgICAgICAgICAgICAgICAgcHJpbnQoIkVSUk9SOiBTY2VuYXJpb091dGxpbmUuRXhh bXBsZXM6IEhhcyBOTy1UQUJMRSBzeW5kcm9tZSAoezB9KSJcCisrICAgICAgICAgICAgICAgICAg ICAgIC5mb3JtYXQoZXhhbXBsZS5sb2NhdGlvbikpCisrICAgICAgICAgICAgICAgIGNvbnRpbnVl CisrCisgICAgICAgICAgICAgZm9yIHJvd19pbmRleCwgcm93IGluIGVudW1lcmF0ZShleGFtcGxl LnRhYmxlKToKKyAgICAgICAgICAgICAgICAgcm93LmluZGV4ID0gcm93X2luZGV4KzEKKyAgICAg ICAgICAgICAgICAgcm93LmlkID0gIiVkLiVkIiAlIChleGFtcGxlLmluZGV4LCByb3cuaW5kZXgp CitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzcyLmZlYXR1cmUgYi9pc3N1ZS5m ZWF0dXJlcy9pc3N1ZTA3NzIuZmVhdHVyZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAuLmViYTBlYTUKKy0tLSAvZGV2L251bGwKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3Vl MDc3Mi5mZWF0dXJlCitAQCAtMCwwICsxLDMxIEBACisrQGlzc3VlCisrRmVhdHVyZTogSXNzdWUg Izc3MiAtLSBTeW5kcm9tZTogU2NlbmFyaW9PdXRsaW5lIHdpdGggRXhhbXBsZXMga2V5d29yZCB3 L28gVGFibGUKKysKKysKKysKKysgIEJhY2tncm91bmQ6IFNldHVwCisrICAgIEdpdmVuIGEgbmV3 IHdvcmtpbmcgZGlyZWN0b3J5CisrICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N5bmRy b21lXzc3Mi5mZWF0dXJlIiB3aXRoOgorKyAgICAgICIiIgorKyAgICAgIEZlYXR1cmU6IEV4YW1w bGVzIHdpdGhvdXQgdGFibGUKKysKKysgICAgICAgIFNjZW5hcmlvIE91dGxpbmU6CisrICAgICAg ICAgIEdpdmVuIGEgc3RlcCBwYXNzZXMKKysgICAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFz c2VzCisrCisrICAgICAgICAgIEV4YW1wbGVzOiBXaXRob3V0IHRhYmxlCisrICAgICAgIiIiCisr ICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwX2xpYnJhcnkucHki IHdpdGg6CisrICAgICAgIiIiCisrICAgICAgIyAtLSBSRVVTRSBTVEVQUzoKKysgICAgICBpbXBv cnQgYmVoYXZlNGNtZDAucGFzc2luZ19zdGVwcworKyAgICAgICIiIgorKworKyAgU2NlbmFyaW86 IFVzZSBTY2VuYXJpb091dGxpbmUgd2l0aCBFeGFtcGxlcyBrZXl3b3JkIHdpdGhvdXQgdGFibGUK KysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIGZlYXR1cmVzL3N5bmRyb21lXzc3Mi5m ZWF0dXJlIgorKyAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisrICAgICAgIiIiCisrICAg ICAgRmVhdHVyZTogRXhhbXBsZXMgd2l0aG91dCB0YWJsZQorKyAgICAgIEVSUk9SOiBTY2VuYXJp b091dGxpbmUuRXhhbXBsZXM6IEhhcyBOTy1UQUJMRSBzeW5kcm9tZSAoZmVhdHVyZXMvc3luZHJv bWVfNzcyLmZlYXR1cmU6NykKKysgICAgICAiIiIKKysgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1 dCBzaG91bGQgbm90IGNvbnRhaW4gIlBhcnNlciBmYWlsdXJlIGluIHN0YXRlIgpkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2 NC1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA2NC1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxl LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMjQzY2I4MmQwCi0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA2NC1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13 aXRob3V0LXRhYmxlLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Zyb20gMWQ0NTg0NWZmYjlhMzBj YTY2ODA2YmExNjViZWE1NGY3ZDQzY2Q0NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAy MiBTZXAgMjAxOSAxODowOTo1MCArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVggaXNzdWUgIzc3 MjogU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzIHdpdGhvdXQgdGFibGUuCisKKy0tLQorIENIQU5H RVMucnN0IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1n aXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCA3YTkxNjNmLi5iYTRkYWFkIDEw MDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtMzMsNiArMzMs NyBAQCBFTkhBTkNFTUVOVFM6CisgCisgRklYRUQ6CisgCisrKiBpc3N1ZSAjNzcyOiBTY2VuYXJp b091dGxpbmUuRXhhbXBsZXMgd2l0aG91dCB0YWJsZSAoc3VibWl0dGVkIGJ5OiBUaGUtUUEtR2Vl aykKKyAqIGlzc3VlICM3NTU6IEZhaWx1cmVzIHdpdGggUHl0aG9uIDMuOCAoc3VibWl0dGVkIGJ5 OiBocm9uY29rKQorICogaXNzdWUgIzcyNTogU2NlbmFyaW8gT3V0bGluZSBkZXNjcmlwdGlvbiBs aW5lcyBzZWVtIHRvIGJlIGlnbm9yZWQgKHN1Ym1pdHRlZCBieTogbml6d2l6KQorICogaXNzdWUg IzcxMzogQmFja2dyb3VuZCBzZWN0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBkZXNjcmlwdGlvbiAocHJv dmlkZWQgYnk6IGRnb3UpCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY1LU5pYmJsZS1UcmF2aXNDSS10by13YWtlLXVwLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA2NS1OaWJibGUtVHJhdmlzQ0ktdG8td2FrZS11cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLjY4M2VkOTI3NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjUtTmliYmxlLVRy YXZpc0NJLXRvLXdha2UtdXAucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRnJvbSA1YzE4MWUwN2Nh MGZkYTJlYTI2Y2Y4Yzg5NDlkZDhiYWFhMmJlOTUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBX ZWQsIDExIERlYyAyMDE5IDA4OjIzOjA4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIE5pYmJsZSBU cmF2aXNDSSB0byB3YWtlIHVwLgorCistLS0KKyAudHJhdmlzLnltbCB8IDEgKworIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8udHJh dmlzLnltbAoraW5kZXggYzYwMjdlMC4uNzgxYTYxMCAxMDA2NDQKKy0tLSBhLy50cmF2aXMueW1s CisrKysgYi8udHJhdmlzLnltbAorQEAgLTYsNiArNiw3IEBAIHB5dGhvbjoKKyAgIC0gIjMuNyIK KyAgIC0gIjIuNyIKKyAKKysKKyAjIC0tIERJU0FCTEUtVEVNUE9SQVJJTFk6IEVuc3VyZSBmYXN0 ZXIgYnVpbGRzCisgIyAgLSAiMy42IgorICMgIC0gIjMuNSIKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjYtVHdlYWstcHl0 ZXN0LXZlcnNpb24tc2VsZWN0aW9uLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2Ni1Ud2Vhay1weXRlc3QtdmVyc2lvbi1zZWxlY3Rp b24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xNDNjMTc4ZDAK LS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDY2LVR3ZWFrLXB5dGVzdC12ZXJzaW9uLXNlbGVjdGlvbi5wYXRjaApA QCAtMCwwICsxLDM3IEBACitGcm9tIGJhNmY3Njg3M2RhZGVhZDY0YmU1N2MyMTViYTJmN2ViNDBk MGVhNmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgMTEgRGVjIDIwMTkgMDg6MzA6MTEg KzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVHdlYWsgcHl0ZXN0IHZlcnNpb24gc2VsZWN0aW9uCisK Ky0tLQorIHB5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0IHwgMyArKy0KKyBzZXR1cC5weSAg ICAgICAgICAgICAgICAgICAgICB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2ku dHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitpbmRleCA3M2Q2NWY2 Li41ZjMxODAyIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKKysr KyBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitAQCAtMSw2ICsxLDcgQEAKKyBtb2Nr CisgUHlIYW1jcmVzdCA+PSAxLjkKKy1weXRlc3QgPj0gMy4wCisrcHl0ZXN0IDwgIDUuMDsgcHl0 aG9uX3ZlcnNpb24gPCAgJzMuMCcKKytweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAn My4wJworIHB5dGVzdC1odG1sID49IDEuMTkuMAorIAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRl c3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQorZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAu cHkKK2luZGV4IDhkZTNlYzAuLjc1ZDY4NDcgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIv c2V0dXAucHkKK0BAIC04Nyw3ICs4Nyw4IEBAIHNldHVwKAorICAgICAgICAgImNvbG9yYW1hIiwK KyAgICAgXSwKKyAgICAgdGVzdHNfcmVxdWlyZT1bCistICAgICAgICAicHl0ZXN0ID49IDQuMiIs CisrICAgICAgICAicHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCciLCAjID49 IDQuMgorKyAgICAgICAgInB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnIiwK KyAgICAgICAgICJweXRlc3QtaHRtbCA+PSAxLjE5LjAiLAorICAgICAgICAgIm1vY2sgPj0gMS4x IiwKKyAgICAgICAgICJQeUhhbWNyZXN0ID49IDEuOSIsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY3LVR3ZWFrLXB5dGVz dC1jb25maWd1cmF0aW9uLXRvLXNpbGVuY2UtSlVuaXQtWE1MLWRpYWwucGF0Y2ggYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY3LVR3ZWFrLXB5 dGVzdC1jb25maWd1cmF0aW9uLXRvLXNpbGVuY2UtSlVuaXQtWE1MLWRpYWwucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5mMGU2NDI2MzQKLS0tIC9kZXYvbnVsbAor KysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDY3LVR3ZWFrLXB5dGVzdC1jb25maWd1cmF0aW9uLXRvLXNpbGVuY2UtSlVuaXQtWE1MLWRpYWwu cGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA3YmQ2MzJlMTFhNWFiNzVjZWMzZTIwNzIyY2Y4 ZmEzY2ViYjE5ODNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVu aXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDExIERlYyAyMDE5IDA4 OjM3OjExICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFR3ZWFrIHB5dGVzdCBjb25maWd1cmF0aW9u IHRvIHNpbGVuY2UgSlVuaXQgWE1MIGRpYWxlY3QKKyB3YXJuaW5nLgorCistLS0KKyBweXRlc3Qu aW5pIHwgNyArKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcHl0ZXN0LmluaSBiL3B5dGVzdC5pbmkKK2luZGV4IGZm MmE4YTIuLjIyODI3OWMgMTAwNjQ0CistLS0gYS9weXRlc3QuaW5pCisrKysgYi9weXRlc3QuaW5p CitAQCAtMTYsOSArMTYsMTAgQEAKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyBbcHl0ZXN0 XQorLW1pbnZlcnNpb24gICAgPSAyLjgKKyttaW52ZXJzaW9uICAgID0gNC4yCisgdGVzdHBhdGhz ICAgICA9IHRlc3RzCisgcHl0aG9uX2ZpbGVzICA9IHRlc3RfKi5weQorK2p1bml0X2ZhbWlseSA9 IHh1bml0MgorIGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBBQ0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUK KyAgICAgLS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJT04gMS4yLjcuZGV2MQorICAgICAtLWh0bWw9 YnVpbGQvdGVzdGluZy9yZXBvcnQuaHRtbCAtLXNlbGYtY29udGFpbmVkLWh0bWwKK0BAIC0yNyw2 ICsyOCwxMCBAQCBtYXJrZXJzID0KKyAgICAgc21va2UKKyAgICAgc2xvdworIAorKyMgLS0gUFJF UEFSRUQ6CisrIyBmaWx0ZXJ3YXJuaW5ncyA9CisrIyAgICBpZ25vcmU6LippbnZhbGlkIGVzY2Fw ZSBzZXF1ZW5jZS4qOkRlcHJlY2F0aW9uV2FybmluZworKworICMgLS0gQkFDS1dBUkQgQ09NUEFU SUJJTElUWTogcHl0ZXN0IDwgMi44CisgIyBub3JlY3Vyc2VkaXJzID0gLmdpdCAudG94IGJ1aWxk IGRpc3QgcHkucmVxdWlyZW1lbnRzIHRtcCogX1dPUktTUEFDRQorIApkaWZmIC0tZ2l0IGEvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OC1BZGQt YmFzaWMtZmVhdHVyZS10ZXN0LWZvci13aWxkY2FyZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OC1B ZGQtYmFzaWMtZmVhdHVyZS10ZXN0LWZvci13aWxkY2FyZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uOTdkYjQwNTgwCi0tLSAvZGV2 L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA2OC1BZGQtYmFzaWMtZmVhdHVyZS10ZXN0LWZvci13aWxkY2FyZC1wYXR0ZXJuLW1h dGNoaW5nLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gNTZjNGVlMzRiNDAzZDY5ZWQzYzcw OTJlZGVlOTVhZTZmM2I2ZmQ3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAxNSBEZWMg MjAxOSAxNTo1MDozNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBBZGQgYmFzaWMgZmVhdHVyZS10 ZXN0IGZvciB3aWxkY2FyZCBwYXR0ZXJuLW1hdGNoaW5nIHRoYXQgaXMKKyBzdXBwb3J0ZWQgYnkg Y3VjdW1iZXItdGFnLWV4cHJlc3Npb25zIChweXRob24tb25seSkuCisKKy0tLQorIC4uLi90YWdz LnRhZ19leHByZXNzaW9uX3YyLndpbGRjYXJkcy5mZWF0dXJlICB8IDM5ICsrKysrKysrKysrKysr KysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEw MDY0NCBmZWF0dXJlcy90YWdzLnRhZ19leHByZXNzaW9uX3YyLndpbGRjYXJkcy5mZWF0dXJlCisK K2RpZmYgLS1naXQgYS9mZWF0dXJlcy90YWdzLnRhZ19leHByZXNzaW9uX3YyLndpbGRjYXJkcy5m ZWF0dXJlIGIvZmVhdHVyZXMvdGFncy50YWdfZXhwcmVzc2lvbl92Mi53aWxkY2FyZHMuZmVhdHVy ZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjM3MmE3MzEKKy0tLSAvZGV2 L251bGwKKysrKyBiL2ZlYXR1cmVzL3RhZ3MudGFnX2V4cHJlc3Npb25fdjIud2lsZGNhcmRzLmZl YXR1cmUKK0BAIC0wLDAgKzEsMzkgQEAKKytGZWF0dXJlOiBUYWcgRXhwcmVzc2lvbiB2MiBFeHRl bnNpb246IFdpbGRjYXJkcyBmb3IgdGFnIG1hdGNoaW5nCisrCisrICBBcyBhIHRlc3RlcgorKyAg SSB3YW50IHRvIHVzZSBhIHdpbGRjYXJkIHBhdHRlcm4gdG8gc2VsZWN0IHRhZ3MgZm9sbG93aW5n IGEgbmFtaW5nIHNjaGVtZQorKyAgU28gdGhhdCBpdCBpcyBzaW1wbGVyIHRvIHNlbGVjdCBhIHN1 YnNldCBvZiBzY2VuYXJpb3MgYW5kIGZlYXR1cmVzLgorKworKyAgLiBTUEVDSUZJQ0FUSU9OOiBX aWxkY2FyZHMgaW4gdGFnLWV4cHJlc3Npb25zIHYyCisrICAuICAgKiBVc2UgZmlsZS1uYW1lIG1h dGNoaW5nIHdpbGRjYXJkcyAoZm5tYXRjaCk6ICosID8KKysgIC4gICAqIGEgdGFnIGV4cHJlc3Np b24gaXMgYSBib29sZWFuIGV4cHJlc3Npb24KKysgIC4gICAqIGEgdGFnIGV4cHJlc3Npb24gc3Vw cG9ydHMgdGhlIG9wZXJhdG9yczogYW5kLCBvciwgbm90CisrICAuICAgKiBhIHRhZyBleHByZXNz aW9uIHN1cHBvcnRzICcoJyBhbmQgJyknIGZvciBncm91cGluZyBleHByZXNzaW9ucworKyAgLgor KyAgLiBFWEFNUExFUzoKKysgIC4gICB8IFRhZyBleHByZXNzaW9uICAgICAgICAgIHwgQ29tbWVu dCB8CisrICAuICAgfCBAZm9vLiogICAgICAgICAgICAgICAgICB8IE1hdGNoZXMgYW55IHRhZ3Mg dGhhdCBzdGFydCB3aXRoICJAZm9vLiIgfAorKyAgLiAgIHwgbm90IEBmb28uKiAgICAgICAgICAg ICAgfCBFeGNsdWRlcyBhbnkgZWxlbWVudCB0aGF0IGhhdmUgdGFncyB0aGF0IHN0YXJ0IHdpdGgg IkBmb28uIiB8CisrCisrCisrICBTY2VuYXJpbzogU2VsZWN0IHRhZ3MgdGhhdCBtYXRjaCB0aGUg IkBmb28uKiIgcGF0dGVybgorKyAgICBHaXZlbiB0aGUgdGFnIGV4cHJlc3Npb24gIkBmb28uKiIK KysgICAgVGhlbiB0aGUgdGFnIGV4cHJlc3Npb24gc2VsZWN0cyBlbGVtZW50cyB3aXRoIHRhZ3M6 CisrICAgICAgICB8IHRhZ3MgICAgICAgICAgfCBzZWxlY3RlZD8gfAorKyAgICAgICAgfCAgICAg ICAgICAgICAgIHwgICBubyAgICAgIHwKKysgICAgICAgIHwgQGZvbyAgICAgICAgICB8ICAgbm8g ICAgICB8CisrICAgICAgICB8IEBmb28ub25lICAgICAgfCAgIHllcyAgICAgfAorKyAgICAgICAg fCBAZm9vLnR3byAgICAgIHwgICB5ZXMgICAgIHwKKysgICAgICAgIHwgQG90aGVyICAgICAgICB8 ICAgbm8gICAgICB8CisrICAgICAgICB8IEBmb28uMyBAb3RoZXIgfCAgIHllcyAgICAgfAorKwor KyAgU2NlbmFyaW86IFNlbGVjdCB0YWdzIHRoYXQgZG8gbm90IG1hdGNoIHRoZSAiQGZvby4qIiBw YXR0ZXJuCisrICAgIEdpdmVuIHRoZSB0YWcgZXhwcmVzc2lvbiAibm90IEBmb28uKiIKKysgICAg VGhlbiB0aGUgdGFnIGV4cHJlc3Npb24gc2VsZWN0cyBlbGVtZW50cyB3aXRoIHRhZ3M6CisrICAg ICAgICB8IHRhZ3MgICAgICAgICAgfCBzZWxlY3RlZD8gfAorKyAgICAgICAgfCAgICAgICAgICAg ICAgIHwgICB5ZXMgICAgIHwKKysgICAgICAgIHwgQGZvbyAgICAgICAgICB8ICAgeWVzICAgICB8 CisrICAgICAgICB8IEBmb28ub25lICAgICAgfCAgIG5vICAgICAgfAorKyAgICAgICAgfCBAZm9v LnR3byAgICAgIHwgICBubyAgICAgIHwKKysgICAgICAgIHwgQG90aGVyICAgICAgICB8ICAgeWVz ICAgICB8CisrICAgICAgICB8IEBmb28uMyBAb3RoZXIgfCAgIG5vICAgICAgfApkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2 OS1VUERBVEUtZGVwZW5kZW5jaWVzLXBhdGgucHktcGF0aC1weXRlc3QucGF0Y2ggYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY5LVVQREFURS1k ZXBlbmRlbmNpZXMtcGF0aC5weS1wYXRoLXB5dGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLjFjZGY3MDk0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjktVVBEQVRFLWRl cGVuZGVuY2llcy1wYXRoLnB5LXBhdGgtcHl0ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTQxIEBACitG cm9tIGZmMWYxZTc0ZjVmODFlYjYzNGQ3MmQ0NzJjZTE4ZjhkNTQzYmYzYzAgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KK0RhdGU6IFN1biwgMTUgRGVjIDIwMTkgMjA6MTI6MTQgKzAxMDAKK1N1YmplY3Q6IFtQ QVRDSF0gVVBEQVRFOiBkZXBlbmRlbmNpZXMgKHBhdGgucHkgPD0+IHBhdGgsIHB5dGVzdCwgLi4u KQorCistLS0KKyBweS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCAgICB8ICA4ICsrKysrKy0tCisg cHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgfCAxMSArKysrKysrKy0tLQorIHB5LnJlcXVp cmVtZW50cy9kZXZlbG9wLnR4dCAgIHwgIDUgKysrKy0KKyBweS5yZXF1aXJlbWVudHMvdGVzdGlu Zy50eHQgICB8ICA3ICsrKysrLS0KKyBzZXR1cC5weSAgICAgICAgICAgICAgICAgICAgICB8ICA2 ICsrKystLQorIHRhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQgICAgIHwgIDUgKysrKy0KKyA2IGZp bGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0t Z2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudG94 LnR4dAoraW5kZXggNmIzYjNhZS4uNDAwMWJjMiAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50 cy9jaS50b3gudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorQEAgLTIsOCAr MiwxMiBAQAorICMgQkVIQVZFOiBQWVRIT04gUEFDS0FHRSBSRVFVSVJFTUVOVFM6IGNpLnRveC50 eHQKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKy1weXRlc3QgPj0gNC4yCisrcHl0ZXN0IDwg IDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcgIyBweXRlc3QgPj0gNC4yCisrcHl0ZXN0ID49 IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyBt b2NrID49IDIuMAorIFB5SGFtY3Jlc3QgPj0gMS45CistcGF0aC5weSA+PSAxMC4xCisrCisrIyAt LSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFt ZWQgZm9yIHB5dGhvbjMpCisrcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICcz LjUnCisrcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUnCitkaWZmIC0t Z2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgYi9weS5yZXF1aXJlbWVudHMvY2ku dHJhdmlzLnR4dAoraW5kZXggNWYzMTgwMi4uZGU0MTIwYSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVp cmVtZW50cy9jaS50cmF2aXMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4 dAorQEAgLTEsMTIgKzEsMTcgQEAKKy1tb2NrCistUHlIYW1jcmVzdCA+PSAxLjkKKysjID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKysjIFBZVEhPTiBQQUNLQUdFIFJFUVVJUkVNRU5UUyBGT1I6IGJlaGF2 ZSAtLSBjaS50cmF2aXMudHh0CisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgcHl0ZXN0IDwgIDUu MDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyBweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lv biA+PSAnMy4wJworIHB5dGVzdC1odG1sID49IDEuMTkuMAorK21vY2sgID49IDIuMAorK1B5SGFt Y3Jlc3QgPj0gMS45CisgCisgIyAtLSBORUVERUQ6IEJ5IHNvbWUgdGVzdHMgKGFzIHByb29mIG9m IGNvbmNlcHQpCisgIyBOT1RFOiBwYXRoLnB5LTEwLjEgaXMgcmVxdWlyZWQgZm9yIHB5dGhvbjIu NgorLXBhdGgucHkgPj0gMTAuMQorKyMgSElOVDogcGF0aC5weSA9PiBwYXRoIChweXRob24taW5z dGFsbC1wYWNrYWdlIHdhcyByZW5hbWVkIGZvciBweXRob24zKQorK3BhdGgucHkgPj0gMTEuNS4w OyBweXRob25fdmVyc2lvbiA8ICAnMy41JworK3BhdGggPj0gMTMuMS4wOyAgICBweXRob25fdmVy c2lvbiA+PSAnMy41JworIAorICMgLS0gTk9URTogVHJhdmlzLkNJIHR3ZWFrIHJlbGF0ZWQgdy8g aW52YWxpZCBsaW5lY2FjaGUyIHRlc3RzLgorICMgICAgVGhpcyBwcm9ibGVtIGRvZXMgbm90IGV4 aXN0IGlmIHlvdSB1c2UgcGlwLgorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9w LnR4dCBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAoraW5kZXggYTE2ZDdiZi4uYTkyZWU1 ZiAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAorKysrIGIvcHkucmVx dWlyZW1lbnRzL2RldmVsb3AudHh0CitAQCAtNiwxMCArNiwxMyBAQAorICMgUFJFUEFSRSBVU0FH RTogaW52b2tlCisgIyBBTFJFQURZOiBzaXggPj0gMS4xMS4wCisgaW52b2tlID49IDEuMi4wCist cGF0aC5weSA+PSAxMS41LjAKKyBwYXRobGliOyAgICBweXRob25fdmVyc2lvbiA8PSAnMy40Jwor IHB5Y21kCisgCisrIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBh Y2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisrcGF0aC5weSA+PSAxMS41LjA7IHB5dGhv bl92ZXJzaW9uIDwgICczLjUnCisrcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49 ICczLjUnCisrCisgIyAtLSBDT05GSUdVUkFUSU9OIE1BTkFHRU1FTlQgKGhlbHBlcnMpOgorICMg Rk9STUVSOiBidW1wdmVyc2lvbiA+PSAwLjQuMAorIGJ1bXAydmVyc2lvbiA+PSAwLjUuNgorZGlm ZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCBiL3B5LnJlcXVpcmVtZW50cy90 ZXN0aW5nLnR4dAoraW5kZXggYTQxODczOS4uODViMDkwOCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVp cmVtZW50cy90ZXN0aW5nLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitA QCAtNCwxMSArNCwxNCBAQAorIAorICMgLS0gVEVTVElORzogVW5pdCB0ZXN0cyBhbmQgYmVoYXZl IHNlbGYtdGVzdHMuCisgIyBQUkVQQVJFRC1GVVRVUkU6IGJlaGF2ZTRjbWQwLCBiZWhhdmU0Y21k CistcHl0ZXN0ID49IDQuMgorK3B5dGVzdCA8ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAn ICMgcHl0ZXN0ID49IDQuMgorK3B5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAn CisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisgbW9jayAgPj0gMi4wCisgUHlIYW1jcmVzdCA+PSAx LjkKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkK KyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42CistcGF0aC5w eSA+PSAxMS41LjAKKysjIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFj a2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKytwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9u X3ZlcnNpb24gPCAgJzMuNScKKytwYXRoID49IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0g JzMuNScKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA3NWQ2ODQ3Li4y YWZjMTQ3IDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNzcsNyAr NzcsNyBAQCBzZXR1cCgKKyAgICAgcHl0aG9uX3JlcXVpcmVzPSI+PTIuNywgIT0zLjAuKiwgIT0z LjEuKiwgIT0zLjIuKiIsCisgICAgIGluc3RhbGxfcmVxdWlyZXM9WworICAgICAgICAgImN1Y3Vt YmVyLXRhZy1leHByZXNzaW9ucyA+PSAxLjEuMiIsCistICAgICAgICAicGFyc2UgPj0gMS44LjIi LAorKyAgICAgICAgInBhcnNlID49IDEuOS4xIiwKKyAgICAgICAgICJwYXJzZV90eXBlID49IDAu NC4yIiwKKyAgICAgICAgICJzaXggPj0gMS4xMi4wIiwKKyAgICAgICAgICJ0cmFjZWJhY2syOyBw eXRob25fdmVyc2lvbiA8ICczLjAnIiwKK0BAIC05Miw3ICs5Miw5IEBAIHNldHVwKAorICAgICAg ICAgInB5dGVzdC1odG1sID49IDEuMTkuMCIsCisgICAgICAgICAibW9jayA+PSAxLjEiLAorICAg ICAgICAgIlB5SGFtY3Jlc3QgPj0gMS45IiwKKy0gICAgICAgICJwYXRoLnB5ID49IDExLjUuMCIK KysgICAgICAgICMgLS0gSElOVDogcGF0aC5weSA9PiBwYXRoIChweXRob24taW5zdGFsbC1wYWNr YWdlIHdhcyByZW5hbWVkIGZvciBweXRob24zKQorKyAgICAgICAgInBhdGgucHkgPj0gMTEuNS4w OyBweXRob25fdmVyc2lvbiA8ICAnMy41JyIsCisrICAgICAgICAicGF0aCA+PSAxMy4xLjA7ICAg IHB5dGhvbl92ZXJzaW9uID49ICczLjUnIiwKKyAgICAgXSwKKyAgICAgY21kY2xhc3MgPSB7Cisg ICAgICAgICAiYmVoYXZlX3Rlc3QiOiBiZWhhdmVfdGVzdCwKK2RpZmYgLS1naXQgYS90YXNrcy9w eS5yZXF1aXJlbWVudHMudHh0IGIvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAoraW5kZXggYTc3 ZDNiYy4uODEwZjgzNCAxMDA2NDQKKy0tLSBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKKysr KyBiL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKK0BAIC05LDEwICs5LDEzIEBACisgIyA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CisgCisgaW52b2tlID49IDEuMi4wCistcGF0aC5weSA+PSAxMS41LjAK KyBweWNtZAorIHNpeCA+PSAxLjEyLjAKKyAKKysjIC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAo cHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykKKytwYXRoLnB5 ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKKytwYXRoID49IDEzLjEuMDsgICAg cHl0aG9uX3ZlcnNpb24gPj0gJzMuNScKKysKKyAjIC0tIFBZVEhPTjIgQkFDS1BPUlRTOgorIHBh dGhsaWI7ICAgIHB5dGhvbl92ZXJzaW9uIDw9ICczLjQnCisgYmFja3BvcnRzLnNodXRpbF93aGlj aDsgcHl0aG9uX3ZlcnNpb24gPD0gJzMuMycKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzAtcHl0ZXN0LURpc2FibGUtRGVw cmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMtcGFjay5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzAtcHl0ZXN0LURpc2FibGUt RGVwcmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMtcGFjay5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmRmNWIwZDM3MgotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzAtcHl0 ZXN0LURpc2FibGUtRGVwcmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMtcGFjay5wYXRjaApA QCAtMCwwICsxLDI1IEBACitGcm9tIDQ1MWY4OGFiNWQxZWE3ZGE5NzM3ZWY3MDFhNDMwOTk2MzUx NmYzYzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMTUgRGVjIDIwMTkgMjA6MTY6NDMg KzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gcHl0ZXN0OiBEaXNhYmxlIERlcHJlY2F0ZWRXYXJuaW5n IGZyb20gZGlzdHV0aWxzIHBhY2thZ2UuCisKKy0tLQorIHB5dGVzdC5pbmkgfCA1ICsrKy0tCisg MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL3B5dGVzdC5pbmkgYi9weXRlc3QuaW5pCitpbmRleCAyMjgyNzljLi5iOWYyODFhIDEw MDY0NAorLS0tIGEvcHl0ZXN0LmluaQorKysrIGIvcHl0ZXN0LmluaQorQEAgLTI5LDggKzI5LDkg QEAgbWFya2VycyA9CisgICAgIHNsb3cKKyAKKyAjIC0tIFBSRVBBUkVEOgorLSMgZmlsdGVyd2Fy bmluZ3MgPQorLSMgICAgaWdub3JlOi4qaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UuKjpEZXByZWNh dGlvbldhcm5pbmcKKytmaWx0ZXJ3YXJuaW5ncyA9CisrICAgaWdub3JlOi4qdGhlIGltcCBtb2R1 bGUgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaW1wb3J0bGliLio6RGVwcmVjYXRpb25XYXJu aW5nCisrIyAgIGlnbm9yZTouKmludmFsaWQgZXNjYXBlIHNlcXVlbmNlLio6RGVwcmVjYXRpb25X YXJuaW5nCisgCisgIyAtLSBCQUNLV0FSRCBDT01QQVRJQklMSVRZOiBweXRlc3QgPCAyLjgKKyAj IG5vcmVjdXJzZWRpcnMgPSAuZ2l0IC50b3ggYnVpbGQgZGlzdCBweS5yZXF1aXJlbWVudHMgdG1w KiBfV09SS1NQQUNFCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDcxLUNMRUFOVVAtQWRkLUNvbnRleHRNb2RlLWVudW0tcmVs YXRlZC10by03OTcucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDcxLUNMRUFOVVAtQWRkLUNvbnRleHRNb2RlLWVudW0tcmVsYXRlZC10 by03OTcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xMjJhNjNh ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDcxLUNMRUFOVVAtQWRkLUNvbnRleHRNb2RlLWVudW0tcmVsYXRl ZC10by03OTcucGF0Y2gKQEAgLTAsMCArMSwyMTYgQEAKK0Zyb20gMzdmZDE5YjU2YmEzMTYzNGEz NDM0OWQ5NTYxMjBiNmE1ODk4ZTJkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGpl bmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAxNSBE ZWMgMjAxOSAyMToyMDoxOCArMDEwMAorU3ViamVjdDogW1BBVENIXSBDTEVBTlVQOiBBZGQgQ29u dGV4dE1vZGUgZW51bSByZWxhdGVkIHRvICM3OTcKKworQWRkIENvbnRleHRNb2RlIGVudW0gdG8g Y2xlYW51cCB3ZWlyZG5lc3MgcmVsYXRlZCB0byBpc3N1ZSAjNzk3LgorUHJlLWV4aXN0aW5nIENv bnRleHQuQkVIQVZFL1VTRVIgY29uc3RhbnRzIG92ZXJzaGFkb3dlZCB1c2VyIGF0dHJpYnV0ZXMK K2luIENvbnRleHQuYXR0cmlidXRlIHJldHJpZXZhbCBjYXNlLgorLS0tCisgYmVoYXZlL3J1bm5l ci5weSAgICAgICAgICB8IDMzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQorIHRl c3RzL3VuaXQvdGVzdF9ydW5uZXIucHkgfCAyOSArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LQorIDIgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyLnB5IGIvYmVoYXZlL3J1bm5lci5weQoraW5kZXgg Y2JlZGI1YS4uYmNmNGFiMiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9ydW5uZXIucHkKKysrKyBiL2Jl aGF2ZS9ydW5uZXIucHkKK0BAIC0yMSw2ICsyMSw3IEBAIGZyb20gYmVoYXZlLnJ1bm5lcl91dGls IGltcG9ydCBcCisgICAgIGNvbGxlY3RfZmVhdHVyZV9sb2NhdGlvbnMsIHBhcnNlX2ZlYXR1cmVz LCBcCisgICAgIGV4ZWNfZmlsZSwgbG9hZF9zdGVwX21vZHVsZXMsIFBhdGhNYW5hZ2VyCisgZnJv bSBiZWhhdmUuc3RlcF9yZWdpc3RyeSBpbXBvcnQgcmVnaXN0cnkgYXMgdGhlX3N0ZXBfcmVnaXN0 cnkKKytmcm9tIGVudW0gaW1wb3J0IEVudW0KKyAKKyBpZiBzaXguUFkyOgorICAgICAjIC0tIFVT RSBQWVRIT04zIEJBQ0tQT1JUOiBXaXRoIHVuaWNvZGUgdHJhY2ViYWNrIHN1cHBvcnQuCitAQCAt NDUsNiArNDYsMTYgQEAgY2xhc3MgQ29udGV4dE1hc2tXYXJuaW5nKFVzZXJXYXJuaW5nKToKKyAg ICAgcGFzcworIAorIAorK2NsYXNzIENvbnRleHRNb2RlKEVudW0pOgorKyAgICAiIiJVc2VkIHRv IGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIHR3byB1c2FnZSBtb2RlcyB3aGlsZSB1c2luZyB0aGUg Y29udGV4dDoKKysKKysgICAgKiBCRUhBVkU6IEluZGljYXRlcyAiYmVoYXZlIiAoaW50ZXJuYWwp IG1vZGUKKysgICAgKiBVU0VSOiBJbmRpY2F0ZXMgInVzZXIiIG1vZGUgKGluIHN0ZXBzLCBob29r cywgZml4dHVyZXMsIC4uLikKKysgICAgIiIiCisrICAgIEJFSEFWRSA9IDEKKysgICAgVVNFUiA9 IDIKKysKKysKKyBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgICIiIkhvbGQgY29udGV4dHVh bCBpbmZvcm1hdGlvbiBkdXJpbmcgdGhlIHJ1bm5pbmcgb2YgdGVzdHMuCisgCitAQCAtMTQ3LDgg KzE1OCw4IEBAIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAgICAgLi4gX2Bjb25maWd1cmF0aW9u IGZpbGUgc2VjdGlvbiBuYW1lc2A6IGJlaGF2ZS5odG1sI2NvbmZpZ3VyYXRpb24tZmlsZXMKKyAg ICAgIiIiCisgICAgICMgcHlsaW50OiBkaXNhYmxlPXRvby1tYW55LWluc3RhbmNlLWF0dHJpYnV0 ZXMKKy0gICAgQkVIQVZFID0gImJlaGF2ZSIKKy0gICAgVVNFUiA9ICJ1c2VyIgorKyAgICAjIEJF SEFWRSA9ICJiZWhhdmUiCisrICAgICMgVVNFUiA9ICJ1c2VyIgorICAgICBGQUlMX09OX0NMRUFO VVBfRVJST1JTID0gVHJ1ZQorIAorICAgICBkZWYgX19pbml0X18oc2VsZiwgcnVubmVyKToKK0BA IC0xNjYsNyArMTc3LDcgQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorICAgICAgICAgc2VsZi5f c3RhY2sgPSBbZF0KKyAgICAgICAgIHNlbGYuX3JlY29yZCA9IHt9CisgICAgICAgICBzZWxmLl9v cmlnaW4gPSB7fQorLSAgICAgICAgc2VsZi5fbW9kZSA9IHNlbGYuQkVIQVZFCisrICAgICAgICBz ZWxmLl9tb2RlID0gQ29udGV4dE1vZGUuQkVIQVZFCisgCisgICAgICAgICAjIC0tIE1PREVMIEVO VElUWSBSRUZFUkVOQ0VTL1NVUFBPUlQ6CisgICAgICAgICBzZWxmLmZlYXR1cmUgPSBOb25lCitA QCAtMjYwLDExICsyNzEsMTEgQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorIAorICAgICBkZWYg X3VzZV93aXRoX2JlaGF2ZV9tb2RlKHNlbGYpOgorICAgICAgICAgIiIiUHJvdmlkZXMgYSBjb250 ZXh0IG1hbmFnZXIgZm9yIHVzaW5nIHRoZSBjb250ZXh0IGluIEJFSEFWRSBtb2RlLiIiIgorLSAg ICAgICAgcmV0dXJuIHVzZV9jb250ZXh0X3dpdGhfbW9kZShzZWxmLCBDb250ZXh0LkJFSEFWRSkK KysgICAgICAgIHJldHVybiB1c2VfY29udGV4dF93aXRoX21vZGUoc2VsZiwgQ29udGV4dE1vZGUu QkVIQVZFKQorIAorICAgICBkZWYgdXNlX3dpdGhfdXNlcl9tb2RlKHNlbGYpOgorICAgICAgICAg IiIiUHJvdmlkZXMgYSBjb250ZXh0IG1hbmFnZXIgZm9yIHVzaW5nIHRoZSBjb250ZXh0IGluIFVT RVIgbW9kZS4iIiIKKy0gICAgICAgIHJldHVybiB1c2VfY29udGV4dF93aXRoX21vZGUoc2VsZiwg Q29udGV4dC5VU0VSKQorKyAgICAgICAgcmV0dXJuIHVzZV9jb250ZXh0X3dpdGhfbW9kZShzZWxm LCBDb250ZXh0TW9kZS5VU0VSKQorIAorICAgICBkZWYgdXNlcl9tb2RlKHNlbGYpOgorICAgICAg ICAgd2FybmluZ3Mud2FybigiVXNlICd1c2Vfd2l0aF91c2VyX21vZGUoKScgaW5zdGVhZCIsCitA QCAtMjkxLDExICszMDIsMTEgQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorIAorICAgICBkZWYg X2VtaXRfd2FybmluZyhzZWxmLCBhdHRyLCBwYXJhbXMpOgorICAgICAgICAgbXNnID0gIiIKKy0g ICAgICAgIGlmIHNlbGYuX21vZGUgaXMgc2VsZi5CRUhBVkUgYW5kIHNlbGYuX29yaWdpblthdHRy XSBpcyBub3Qgc2VsZi5CRUhBVkU6CisrICAgICAgICBpZiBzZWxmLl9tb2RlIGlzIENvbnRleHRN b2RlLkJFSEFWRSBhbmQgc2VsZi5fb3JpZ2luW2F0dHJdIGlzIG5vdCBDb250ZXh0TW9kZS5CRUhB VkU6CisgICAgICAgICAgICAgbXNnID0gImJlaGF2ZSBydW5uZXIgaXMgbWFza2luZyBjb250ZXh0 IGF0dHJpYnV0ZSAnJShhdHRyKXMnICIgXAorICAgICAgICAgICAgICAgICAgICJvcmlnaW5hbGx5 IHNldCBpbiAlKGZ1bmN0aW9uKXMgKCUoZmlsZW5hbWUpczolKGxpbmUpcykiCistICAgICAgICBl bGlmIHNlbGYuX21vZGUgaXMgc2VsZi5VU0VSOgorLSAgICAgICAgICAgIGlmIHNlbGYuX29yaWdp blthdHRyXSBpcyBub3Qgc2VsZi5VU0VSOgorKyAgICAgICAgZWxpZiBzZWxmLl9tb2RlIGlzIENv bnRleHRNb2RlLlVTRVI6CisrICAgICAgICAgICAgaWYgc2VsZi5fb3JpZ2luW2F0dHJdIGlzIG5v dCBDb250ZXh0TW9kZS5VU0VSOgorICAgICAgICAgICAgICAgICBtc2cgPSAidXNlciBjb2RlIGlz IG1hc2tpbmcgY29udGV4dCBhdHRyaWJ1dGUgJyUoYXR0cilzJyAiIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgIm9yaWdpbmFsbHkgc2V0IGJ5IGJlaGF2ZSIKKyAgICAgICAgICAgICBlbGlmIHNl bGYuX2NvbmZpZy52ZXJib3NlOgorQEAgLTQ0MiwxMyArNDUzLDEzIEBAIGNsYXNzIENvbnRleHQo b2JqZWN0KToKKyAKKyBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorIGRlZiB1c2VfY29udGV4 dF93aXRoX21vZGUoY29udGV4dCwgbW9kZSk6CistICAgICIiIlN3aXRjaCBjb250ZXh0IHRvIEJF SEFWRSBvciBVU0VSIG1vZGUuCisrICAgICIiIlN3aXRjaCBjb250ZXh0IHRvIENvbnRleHRNb2Rl LkJFSEFWRSBvciBDb250ZXh0TW9kZS5VU0VSIG1vZGUuCisgICAgIFByb3ZpZGVzIGEgY29udGV4 dCBtYW5hZ2VyIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiB0aGUgdHdvIGNvbnRleHQgbW9kZXMuCisg CisgICAgIC4uIHNvdXJjZWNvZGU6OiBweXRob24KKyAKKyAgICAgICAgIGNvbnRleHQgPSBDb250 ZXh0KCkKKy0gICAgICAgIHdpdGggdXNlX2NvbnRleHRfd2l0aF9tb2RlKGNvbnRleHQsIENvbnRl eHQuQkVIQVZFKToKKysgICAgICAgIHdpdGggdXNlX2NvbnRleHRfd2l0aF9tb2RlKGNvbnRleHQs IENvbnRleHRNb2RlLkJFSEFWRSk6CisgICAgICAgICAgICAgLi4uICAgICAjIERvIHNvbWV0aGlu ZworICAgICAgICAgIyAtLSBQT1NUQ09ORElUSU9OOiBPcmlnaW5hbCBjb250ZXh0Ll9tb2RlIGlz IHJlc3RvcmVkLgorIAorQEAgLTQ1Niw3ICs0NjcsNyBAQCBkZWYgdXNlX2NvbnRleHRfd2l0aF9t b2RlKGNvbnRleHQsIG1vZGUpOgorICAgICA6cGFyYW0gbW9kZTogICAgIE1vZGUgdG8gYXBwbHkg dG8gY29udGV4dCBvYmplY3QuCisgICAgICIiIgorICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90 ZWN0ZWQtYWNjZXNzCistICAgIGFzc2VydCBtb2RlIGluIChDb250ZXh0LkJFSEFWRSwgQ29udGV4 dC5VU0VSKQorKyAgICBhc3NlcnQgbW9kZSBpbiAoQ29udGV4dE1vZGUuQkVIQVZFLCBDb250ZXh0 TW9kZS5VU0VSKQorICAgICBjdXJyZW50X21vZGUgPSBjb250ZXh0Ll9tb2RlCisgICAgIHRyeToK KyAgICAgICAgIGNvbnRleHQuX21vZGUgPSBtb2RlCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90 ZXN0X3J1bm5lci5weSBiL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkKK2luZGV4IGYwZDAzY2Qu LmJlYWZmOGYgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CisrKysgYi90 ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CitAQCAtMTcsNiArMTcsNyBAQCBmcm9tIGJlaGF2ZSBp bXBvcnQgcnVubmVyX3V0aWwKKyBmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgVGFibGUKKyBmcm9t IGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCBTdGVwUmVnaXN0cnkKKyBmcm9tIGJlaGF2ZSBp bXBvcnQgcGFyc2VyLCBydW5uZXIKKytmcm9tIGJlaGF2ZS5ydW5uZXIgaW1wb3J0IENvbnRleHRN b2RlCisgZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9ydCBDb25maWdFcnJvcgorIGZyb20gYmVo YXZlLmZvcm1hdHRlci5iYXNlIGltcG9ydCBTdHJlYW1PcGVuZXIKKyAKK0BAIC0zNiwyOSArMzcs MjkgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorIAorICAgICBkZWYg dGVzdF91c2VyX21vZGVfc2hhbGxfcmVzdG9yZV9iZWhhdmVfbW9kZShzZWxmKToKKyAgICAgICAg ICMgLS0gQ0FTRTogTm8gZXhjZXB0aW9uIGlzIHJhaXNlZC4KKy0gICAgICAgIGluaXRpYWxfbW9k ZSA9IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorKyAgICAgICAgaW5pdGlhbF9tb2RlID0gQ29udGV4 dE1vZGUuQkVIQVZFCisgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRp YWxfbW9kZQorICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQudXNlX3dpdGhfdXNlcl9tb2RlKCk6 CistICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4 dC5VU0VSCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBDb250ZXh0 TW9kZS5VU0VSCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorICAg ICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAg ZGVmIHRlc3RfdXNlcl9tb2RlX3NoYWxsX3Jlc3RvcmVfYmVoYXZlX21vZGVfaWZfYXNzZXJ0X2Zh aWxzKHNlbGYpOgorLSAgICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRleHQuQkVIQVZF CisrICAgICAgICBpbml0aWFsX21vZGUgPSBDb250ZXh0TW9kZS5CRUhBVkUKKyAgICAgICAgIGFz c2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgICAgICAgICB0cnk6Cisg ICAgICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQudXNlX3dpdGhfdXNlcl9tb2RlKCk6CistICAg ICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQu VVNFUgorKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IENvbnRl eHRNb2RlLlVTRVIKKyAgICAgICAgICAgICAgICAgYXNzZXJ0IEZhbHNlLCAiWEZBSUwiCisgICAg ICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6CisgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29u dGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAgZGVmIHRlc3RfdXNlcl9tb2RlX3No YWxsX3Jlc3RvcmVfYmVoYXZlX21vZGVfaWZfZXhjZXB0aW9uX2lzX3JhaXNlZChzZWxmKToKKy0g ICAgICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorKyAgICAgICAgaW5p dGlhbF9tb2RlID0gQ29udGV4dE1vZGUuQkVIQVZFCisgICAgICAgICBhc3NlcnQgc2VsZi5jb250 ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHdp dGggc2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAgICAgICAgICBh c3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKysgICAgICAg ICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBDb250ZXh0TW9kZS5VU0VSCisg ICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiWEZBSUwiKQorICAgICAgICAgZXhj ZXB0IFJ1bnRpbWVFcnJvcjoKKyAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2Rl ID09IGluaXRpYWxfbW9kZQorQEAgLTY2LDIxICs2NywyMSBAQCBjbGFzcyBUZXN0Q29udGV4dCh1 bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIGRlZiB0ZXN0X3VzZV93aXRoX3VzZXJfbW9kZV9fc2hh bGxfcmVzdG9yZV9pbml0aWFsX21vZGUoc2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IE5vIGV4 Y2VwdGlvbiBpcyByYWlzZWQuCisgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQt YWNjZXNzCistICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKysg ICAgICAgIGluaXRpYWxfbW9kZSA9IENvbnRleHRNb2RlLkJFSEFWRQorICAgICAgICAgc2VsZi5j b250ZXh0Ll9tb2RlID0gaW5pdGlhbF9tb2RlCisgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51 c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9t b2RlID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250 ZXh0Ll9tb2RlID09IENvbnRleHRNb2RlLlVTRVIKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQu dGhpbmcgPSAic3R1ZmYiCisgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGlu aXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91c2Vfd2l0aF91c2VyX21vZGVfX3NoYWxsX3Jl c3RvcmVfaW5pdGlhbF9tb2RlX3dpdGhfZXJyb3Ioc2VsZik6CisgICAgICAgICAjIC0tIENBU0U6 IEV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0 ZWQtYWNjZXNzCistICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5CRUhBVkUK KysgICAgICAgIGluaXRpYWxfbW9kZSA9IENvbnRleHRNb2RlLkJFSEFWRQorICAgICAgICAgc2Vs Zi5jb250ZXh0Ll9tb2RlID0gaW5pdGlhbF9tb2RlCisgICAgICAgICB0cnk6CisgICAgICAgICAg ICAgd2l0aCBzZWxmLmNvbnRleHQudXNlX3dpdGhfdXNlcl9tb2RlKCk6CistICAgICAgICAgICAg ICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuVVNFUgorKyAg ICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IENvbnRleHRNb2RlLlVT RVIKKyAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJYRkFJTCIpCisgICAgICAg ICBleGNlcHQgUnVudGltZUVycm9yOgorICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQu X21vZGUgPT0gaW5pdGlhbF9tb2RlCitAQCAtODgsMjEgKzg5LDIxIEBAIGNsYXNzIFRlc3RDb250 ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgZGVmIHRlc3RfdXNlX3dpdGhfYmVoYXZlX21v ZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2RlKHNlbGYpOgorICAgICAgICAgIyAtLSBDQVNF OiBObyBleGNlcHRpb24gaXMgcmFpc2VkLgorICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJv dGVjdGVkLWFjY2VzcworLSAgICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRleHQuVVNF UgorKyAgICAgICAgaW5pdGlhbF9tb2RlID0gQ29udGV4dE1vZGUuVVNFUgorICAgICAgICAgc2Vs Zi5jb250ZXh0Ll9tb2RlID0gaW5pdGlhbF9tb2RlCisgICAgICAgICB3aXRoIHNlbGYuY29udGV4 dC5fdXNlX3dpdGhfYmVoYXZlX21vZGUoKToKKy0gICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250 ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorKyAgICAgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQuX21vZGUgPT0gQ29udGV4dE1vZGUuQkVIQVZFCisgICAgICAgICAgICAgc2Vs Zi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5f bW9kZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAgZGVmIHRlc3RfdXNlX3dpdGhfYmVoYXZlX21v ZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2RlX3dpdGhfZXJyb3Ioc2VsZik6CisgICAgICAg ICAjIC0tIENBU0U6IEV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICAgICAgICAjIHB5bGludDogZGlz YWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29u dGV4dC5VU0VSCisrICAgICAgICBpbml0aWFsX21vZGUgPSBDb250ZXh0TW9kZS5VU0VSCisgICAg ICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAg ICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC5fdXNlX3dpdGhfYmVoYXZlX21vZGUoKToKKy0g ICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4 dC5CRUhBVkUKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBD b250ZXh0TW9kZS5CRUhBVkUKKyAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJY RkFJTCIpCisgICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgorICAgICAgICAgICAgIGFzc2Vy dCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcyLUNsZWFudXAt Y29tbWVudHMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDcyLUNsZWFudXAtY29tbWVudHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi45YjBlNzdkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcyLUNsZWFudXAt Y29tbWVudHMucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbSAxYzNlYWIwZmVkMWQwZWIzM2Rh NjRlYjU2OGU0Mjk3MTgyMjY1NWRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERl YyAyMDE5IDIxOjI1OjAwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIENsZWFudXAgY29tbWVudHMK KworLS0tCisgYmVoYXZlL3J1bm5lci5weSB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9ydW5uZXIucHkgYi9iZWhhdmUvcnVubmVy LnB5CitpbmRleCBiY2Y0YWIyLi42YjIwOTM3IDEwMDY0NAorLS0tIGEvYmVoYXZlL3J1bm5lci5w eQorKysrIGIvYmVoYXZlL3J1bm5lci5weQorQEAgLTE1OCw4ICsxNTgsNiBAQCBjbGFzcyBDb250 ZXh0KG9iamVjdCk6CisgICAgIC4uIF9gY29uZmlndXJhdGlvbiBmaWxlIHNlY3Rpb24gbmFtZXNg OiBiZWhhdmUuaHRtbCNjb25maWd1cmF0aW9uLWZpbGVzCisgICAgICIiIgorICAgICAjIHB5bGlu dDogZGlzYWJsZT10b28tbWFueS1pbnN0YW5jZS1hdHRyaWJ1dGVzCistICAgICMgQkVIQVZFID0g ImJlaGF2ZSIKKy0gICAgIyBVU0VSID0gInVzZXIiCisgICAgIEZBSUxfT05fQ0xFQU5VUF9FUlJP UlMgPSBUcnVlCisgCisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBydW5uZXIpOgpkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3 My1GSVgtc3BoaW54LWJ1aWxkLXByb2JsZW0tYXN5bmNfc3RlcHMzeC5weS5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzMtRklYLXNw aGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0ZXBzM3gucHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi43OTc1NWRhYTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDczLUZJWC1z cGhpbngtYnVpbGQtcHJvYmxlbS1hc3luY19zdGVwczN4LnB5LnBhdGNoCkBAIC0wLDAgKzEsMjkg QEAKK0Zyb20gZjk5Nzc5NjllN2ZhYmFkNTY0NGI1N2Y1MzQ2Mjk1NGVkMDk3ZTY2ZSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogU3VuLCAxNSBEZWMgMjAxOSAyMTo1MTo0NyArMDEwMAorU3ViamVj dDogW1BBVENIXSBGSVg6IHNwaGlueC1idWlsZCBwcm9ibGVtOiBhc3luY19zdGVwczN4LnB5CisK Ky0tLQorIGRvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNi5yc3QgfCA0ICsrLS0KKyAxIGZp bGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi42LnJzdCBiL2RvY3MvbmV3X2FuZF9ub3Rl d29ydGh5X3YxLjIuNi5yc3QKK2luZGV4IDg0OGM0MDkuLjJjOGU4NjUgMTAwNjQ0CistLS0gYS9k b2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjYucnN0CisrKysgYi9kb2NzL25ld19hbmRfbm90 ZXdvcnRoeV92MS4yLjYucnN0CitAQCAtMzI1LDEzICszMjUsMTMgQEAgQSBzaW1wbGUgZXhhbXBs ZSBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBhc3luYy1zdGVwcyBpcyBzaG93biBmb3I6 CisgKiBQeXRob24gMy41IHdpdGggbmV3IGBgYXN5bmNgYC9gYGF3YWl0YGAga2V5d29yZHMKKyAq IFB5dGhvbiAzLjQgd2l0aCBgYEBhc3luY2lvLmNvcm91dGluZWBgIGRlY29yYXRvciBhbmQgYGB5 aWVsZCBmcm9tYGAga2V5d29yZAorIAorLS4uIGxpdGVyYWxpbmNsdWRlOjogLi4vZXhhbXBsZXMv YXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM1LnB5CisrLi4gbGl0ZXJhbGlu Y2x1ZGU6OiAuLi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVw czM1LnB5CisgICAgIDpsYW5ndWFnZTogcHl0aG9uCisgICAgIDpwcmVwZW5kOgorICAgICAgICAg IyAtLSBGSUxFOiBmZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM1LnB5CisgCisgCistLi4gbGl0 ZXJhbGluY2x1ZGU6OiAuLi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5j X3N0ZXBzMzQucHkKKysuLiBsaXRlcmFsaW5jbHVkZTo6IC4uL2V4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQucHkKKyAgICAgOmxhbmd1YWdlOiBweXRob24K KyAgICAgOnByZXBlbmQ6CisgICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL3N0ZXBzL2FzeW5j X3N0ZXBzMzQucHkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzQtZG9jcy1SZW5hbWUtcGFnZS1wYXJzZV9leHByZXNzaW9u cy13YXMtcGFyc2VfYnVpbHRpbi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzQtZG9jcy1SZW5hbWUtcGFnZS1wYXJzZV9leHByZXNz aW9ucy13YXMtcGFyc2VfYnVpbHRpbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjQ0NGVkNWQxNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzQtZG9jcy1SZW5hbWUtcGFnZS1w YXJzZV9leHByZXNzaW9ucy13YXMtcGFyc2VfYnVpbHRpbi5wYXRjaApAQCAtMCwwICsxLDE4NSBA QAorRnJvbSA3MDk0M2Q5ZmFlNzVjY2UyMDQwNTJhYzBmNDk4ZTYwM2YxYzdmNGM0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAyMDE5IDIxOjUyOjUzICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIGRvY3M6IFJlbmFtZSBwYWdlICdwYXJzZV9leHByZXNzaW9ucycgKHdhczoKKyBw YXJzZV9idWlsdGluX3R5cGVzKSBhbmQgdXBkYXRlIHRhYmxlIHRvIGN1cnJlbnQgcGFyc2UtMS4x Mi4xCisKKy0tLQorIGRvY3MvYXBwZW5kaXgucnN0ICAgICAgICAgICAgfCAgMiArLQorIGRvY3Mv cGFyc2VfYnVpbHRpbl90eXBlcy5yc3QgfCA1OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBk b2NzL3BhcnNlX2V4cHJlc3Npb25zLnJzdCAgIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCA2MCBkZWxl dGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgZG9jcy9wYXJzZV9idWlsdGluX3R5cGVzLnJz dAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL3BhcnNlX2V4cHJlc3Npb25zLnJzdAorCitkaWZm IC0tZ2l0IGEvZG9jcy9hcHBlbmRpeC5yc3QgYi9kb2NzL2FwcGVuZGl4LnJzdAoraW5kZXggOGMw Y2IwNS4uNzliNTQ1NSAxMDA2NDQKKy0tLSBhL2RvY3MvYXBwZW5kaXgucnN0CisrKysgYi9kb2Nz L2FwcGVuZGl4LnJzdAorQEAgLTExLDcgKzExLDcgQEAgQXBwZW5kaXgKKyAKKyAgICAgZm9ybWF0 dGVycworICAgICBjb250ZXh0X2F0dHJpYnV0ZXMKKy0gICAgcGFyc2VfYnVpbHRpbl90eXBlcwor KyAgICBwYXJzZV9leHByZXNzaW9ucworICAgICByZWd1bGFyX2V4cHJlc3Npb25zCisgICAgIHRl c3RfZG9tYWlucworICAgICBiZWhhdmVfZWNvc3lzdGVtCitkaWZmIC0tZ2l0IGEvZG9jcy9wYXJz ZV9idWlsdGluX3R5cGVzLnJzdCBiL2RvY3MvcGFyc2VfYnVpbHRpbl90eXBlcy5yc3QKK2RlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMzJlMThlYy4uMDAwMDAwMAorLS0tIGEvZG9jcy9w YXJzZV9idWlsdGluX3R5cGVzLnJzdAorKysrIC9kZXYvbnVsbAorQEAgLTEsNTkgKzAsMCBAQAor LS4uIF9pZC5hcHBlbmRpeC5wYXJzZV9idWlsdGluX3R5cGVzOgorLQorLVByZWRlZmluZWQgRGF0 YSBUeXBlcyBpbiBgYHBhcnNlYGAKKy09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0KKy06cHlwaTpg YmVoYXZlYCB1c2VzIHRoZSA6cHlwaTpgcGFyc2VgIG1vZHVsZSAoaW52ZXJzZSBvZiBQeXRob24g YHN0cmluZy5mb3JtYXRgXykKKy11bmRlciB0aGUgaG9vZHMgdG8gcGFyc2UgcGFyYW1ldGVycyBp biBzdGVwIGRlZmluaXRpb25zLgorLVRoaXMgbGVhZHMgdG8gcmF0aGVyIHNpbXBsZSBhbmQgcmVh ZGFibGUgcGFyc2UgZXhwcmVzc2lvbnMgZm9yIHN0ZXAgcGFyYW1ldGVycy4KKy0KKy0uLiBjb2Rl LWJsb2NrOjogcHl0aG9uCistCistICAgICMgLS0gRklMRTogZmVhdHVyZXMvc3RlcHMvdHlwZV90 cmFuc2Zvcm1fZXhhbXBsZV9zdGVwcy5weQorLSAgICBmcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4K Ky0KKy0gICAgQGdpdmVuKCdJIGhhdmUge251bWJlcjpkfSBmcmllbmRzJykgICM8IENvbnZlcnQg J251bWJlcicgaW50byBpbnQgdHlwZS4KKy0gICAgZGVmIHN0ZXBfZ2l2ZW5faV9oYXZlX251bWJl cl9mcmllbmRzKGNvbnRleHQsIG51bWJlcik6CistICAgICAgICBhc3NlcnQgbnVtYmVyID4gMAor LSAgICAgICAgLi4uCistCistVGhlcmVmb3JlLCB0aGUgZm9sbG93aW5nIGBgcGFyc2UgdHlwZXNg YCBhcmUgYWxyZWFkeSBzdXBwb3J0ZWQKKy1pbiBzdGVwIGRlZmluaXRpb25zIHdpdGhvdXQgcmVn aXN0cmF0aW9uIG9mIGFueSAqdXNlci1kZWZpbmVkIHR5cGUqOgorLQorLQorLT09PT09ID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09CistVHlw ZSAgQ2hhcmFjdGVycyBNYXRjaGVkICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQgVHlw ZQorLT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09 PT09PT09PT09CistIHcgICAgTGV0dGVycyBhbmQgdW5kZXJzY29yZSAgICAgICAgICAgICAgICAg ICAgICBzdHIKKy0gVyAgICBOb24tbGV0dGVyIGFuZCB1bmRlcnNjb3JlICAgICAgICAgICAgICAg ICAgIHN0cgorLSBzICAgIFdoaXRlc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyCistIFMgICAgTm9uLXdoaXRlc3BhY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIKKy0gZCAgICBEaWdpdHMgKGVmZmVjdGl2ZWx5IGludGVnZXIgbnVtYmVycykgICAgICAg IGludAorLSBEICAgIE5vbi1kaWdpdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RyCistIG4gICAgTnVtYmVycyB3aXRoIHRob3VzYW5kcyBzZXBhcmF0b3JzICgsIG9yIC4pICBp bnQKKy0gJSAgICBQZXJjZW50YWdlIChjb252ZXJ0ZWQgdG8gdmFsdWUvMTAwLjApICAgICAgIGZs b2F0CistIGYgICAgRml4ZWQtcG9pbnQgbnVtYmVycyAgICAgICAgICAgICAgICAgICAgICAgICBm bG9hdAorLSBlICAgIEZsb2F0aW5nLXBvaW50IG51bWJlcnMgd2l0aCBleHBvbmVudCAgICAgICAg ZmxvYXQKKy0gICAgICBlLmcuIDEuMWUtMTAsIE5BTiAoYWxsIGNhc2UgaW5zZW5zaXRpdmUpCist IGcgICAgR2VuZXJhbCBudW1iZXIgZm9ybWF0IChlaXRoZXIgZCwgZiBvciBlKSAgICBmbG9hdAor LSBiICAgIEJpbmFyeSBudW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50Cist IG8gICAgT2N0YWwgbnVtYmVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQKKy0g eCAgICBIZXhhZGVjaW1hbCBudW1iZXJzIChsb3dlciBhbmQgdXBwZXIgY2FzZSkgIGludAorLSB0 aSAgIElTTyA4NjAxIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWUK Ky0gICAgICBlLmcuIDE5NzItMDEtMjBUMTA6MjE6MzZaCistIHRlICAgUkZDMjgyMiBlLW1haWwg Zm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICBkYXRldGltZQorLSAgICAgIGUuZy4gTW9uLCAy MCBKYW4gMTk3MiAxMDoyMTozNiArMTAwMAorLSB0ZyAgIEdsb2JhbCAoZGF5L21vbnRoKSBmb3Jt YXQgZGF0ZS90aW1lICAgICAgICAgZGF0ZXRpbWUKKy0gICAgICBlLmcuIDIwLzEvMTk3MiAxMDoy MTozNiBBTSArMTowMAorLSB0YSAgIFVTIChtb250aC9kYXkpIGZvcm1hdCBkYXRlL3RpbWUgICAg ICAgICAgICAgZGF0ZXRpbWUKKy0gICAgICBlLmcuIDEvMjAvMTk3MiAxMDoyMTozNiBQTSArMTA6 MzAKKy0gdGMgICBjdGltZSgpIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICAgICAgICAgICAgIGRh dGV0aW1lCistICAgICAgZS5nLiBTdW4gU2VwIDE2IDAxOjAzOjUyIDE5NzMKKy0gdGggICBIVFRQ IGxvZyBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lCistICAgICAg ZS5nLiAyMS9Ob3YvMjAxMTowMDowNzoxMSArMDAwMAorLSB0dCAgIFRpbWUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZQorLSAgICAgIGUuZy4gMTA6MjE6MzYgUE0g LTU6MzAKKy09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ID09PT09PT09PT09PQorLQorLQorLS4uIF9zdHJpbmcuZm9ybWF0OiBodHRwczovL2RvY3MucHl0 aG9uLm9yZy8zL2xpYnJhcnkvc3RyaW5nLmh0bWwjZm9ybWF0LXN0cmluZy1zeW50YXgKK2RpZmYg LS1naXQgYS9kb2NzL3BhcnNlX2V4cHJlc3Npb25zLnJzdCBiL2RvY3MvcGFyc2VfZXhwcmVzc2lv bnMucnN0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzZjYTU0OQorLS0t IC9kZXYvbnVsbAorKysrIGIvZG9jcy9wYXJzZV9leHByZXNzaW9ucy5yc3QKK0BAIC0wLDAgKzEs ODcgQEAKKysuLiBfaWQuYXBwZW5kaXgucGFyc2VfZXhwcmVzc2lvbnM6CisrCisrPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CisrUGFyc2UgRXhwcmVzc2lvbnMKKys9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K KysKKysuLiBpbmRleDo6IHBhcnNlIGV4cHJlc3Npb25zLCByZWdleHAKKysKKytgUGFyc2UgZXhw cmVzc2lvbnNgXyBhcmUgYSBzaW1wbGlmaWVkIGZvcm0gb2YgcmVndWxhciBleHByZXNzaW9ucy4K KytUaGUgYWN0dWFsIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBoaWRkZW4gYmVoaW5kIHRoZSAqKnR5 cGUqKiBuYW1lIC8gaGludC4KKysKKytgUGFyc2UgZXhwcmVzc2lvbnNgXyBhcmUgdXNlZCBpbiBz dGVwIGRlZmluaXRpb25zIGFzIGEgc2ltcGxpZmllZCBhbHRlcm5hdGl2ZQorK3RvIHJlZ3VsYXIg ZXhwcmVzc2lvbnMuIFRoZXkgYXJlIHVzZWQgZm9yIHBhcmFtZXRlcnMgYW5kIHR5cGUgY29udmVy c2lvbnMKKysod2hpY2ggYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiBw YXR0ZXJucykuCisrCisrLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAgICAjIC0tIEZJTEU6 IGZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMucHkKKysgICAgZnJvbSBiZWhhdmUgaW1wb3J0 IHdoZW4KKysKKysgICAgQHdoZW4oJ3dlIGltcGxlbWVudCB7bnVtYmVyOmR9IHRlc3RzJykKKysg ICAgZGVmIHN0ZXBfaW1wbChjb250ZXh0LCBudW1iZXIpOiAgIyAtLSBOT1RFOiBudW1iZXIgaXMg Y29udmVydGVkIGludG8gaW50ZWdlcgorKyAgICAgICAgYXNzZXJ0IG51bWJlciA+IDEgb3IgbnVt YmVyID09IDAKKysgICAgICAgIGNvbnRleHQudGVzdHNfY291bnQgPSBudW1iZXIKKysKKytUaGUg Zm9sbG93aW5nIHRhYmxlcyBwcm92aWRlIGEgb3ZlcnZpZXcgb2YgdGhlIGBwYXJzZSBleHByZXNz aW9uc2BfIHN5bnRheC4KKytTZWUgYWxzbyBgUHl0aG9uIHJlZ3VsYXIgZXhwcmVzc2lvbnNgXyBk ZXNjcmlwdGlvbiBpbiB0aGUgUHl0aG9uIGByZSBtb2R1bGVgXy4KKysKKys9PT09PSA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09CisrVHlwZSAgQ2hh cmFjdGVycyBNYXRjaGVkICAgICAgICAgICAgICAgICAgICAgICAgICBPdXRwdXQKKys9PT09PSA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09CisrbCAg ICAgTGV0dGVycyAoQVNDSUkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIKKyt3ICAg ICBMZXR0ZXJzLCBudW1iZXJzIGFuZCB1bmRlcnNjb3JlICAgICAgICAgICAgIHN0cgorK1cgICAg IE5vdCBsZXR0ZXJzLCBudW1iZXJzIGFuZCB1bmRlcnNjb3JlICAgICAgICAgc3RyCisrcyAgICAg V2hpdGVzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIKKytTICAgICBO b24td2hpdGVzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cgorK2QgICAgIERp Z2l0cyAoZWZmZWN0aXZlbHkgaW50ZWdlciBudW1iZXJzKSAgICAgICAgaW50CisrRCAgICAgTm9u LWRpZ2l0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIKKytuICAgICBOdW1i ZXJzIHdpdGggdGhvdXNhbmRzIHNlcGFyYXRvcnMgKCwgb3IgLikgIGludAorKyUgICAgIFBlcmNl bnRhZ2UgKGNvbnZlcnRlZCB0byB2YWx1ZS8xMDAuMCkgICAgICAgZmxvYXQKKytmICAgICBGaXhl ZC1wb2ludCBudW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0CisrRiAgICAgRGVj aW1hbCBudW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNpbWFsCisrZSAgICAg RmxvYXRpbmctcG9pbnQgbnVtYmVycyB3aXRoIGV4cG9uZW50ICAgICAgICBmbG9hdAorKyAgICAg IGUuZy4gMS4xZS0xMCwgTkFOIChhbGwgY2FzZSBpbnNlbnNpdGl2ZSkKKytnICAgICBHZW5lcmFs IG51bWJlciBmb3JtYXQgKGVpdGhlciBkLCBmIG9yIGUpICAgIGZsb2F0CisrYiAgICAgQmluYXJ5 IG51bWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQKKytvICAgICBPY3RhbCBu dW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludAorK3ggICAgIEhleGFkZWNp bWFsIG51bWJlcnMgKGxvd2VyIGFuZCB1cHBlciBjYXNlKSAgaW50CisrdGkgICAgSVNPIDg2MDEg Zm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICAgICAgICBkYXRldGltZQorKyAgICAgIGUuZy4g MTk3Mi0wMS0yMFQxMDoyMTozNlogKCJUIiBhbmQgIloiCisrICAgICAgb3B0aW9uYWwpCisrdGUg ICAgUkZDMjgyMiBlLW1haWwgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICBkYXRldGltZQor KyAgICAgIGUuZy4gTW9uLCAyMCBKYW4gMTk3MiAxMDoyMTozNiArMTAwMAorK3RnICAgIEdsb2Jh bCAoZGF5L21vbnRoKSBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAgZGF0ZXRpbWUKKysgICAgICBl LmcuIDIwLzEvMTk3MiAxMDoyMTozNiBBTSArMTowMAorK3RhICAgIFVTIChtb250aC9kYXkpIGZv cm1hdCBkYXRlL3RpbWUgICAgICAgICAgICAgZGF0ZXRpbWUKKysgICAgICBlLmcuIDEvMjAvMTk3 MiAxMDoyMTozNiBQTSArMTA6MzAKKyt0YyAgICBjdGltZSgpIGZvcm1hdCBkYXRlL3RpbWUgICAg ICAgICAgICAgICAgICAgIGRhdGV0aW1lCisrICAgICAgZS5nLiBTdW4gU2VwIDE2IDAxOjAzOjUy IDE5NzMKKyt0aCAgICBIVFRQIGxvZyBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAgICAgICAgICAg IGRhdGV0aW1lCisrICAgICAgZS5nLiAyMS9Ob3YvMjAxMTowMDowNzoxMSArMDAwMAorK3RzICAg IExpbnV4IHN5c3RlbSBsb2cgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgZGF0ZXRpbWUKKysg ICAgICBlLmcuIE5vdiAgOSAwMzozNzo0NAorK3R0ICAgIFRpbWUgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGltZQorKyAgICAgIGUuZy4gMTA6MjE6MzYgUE0gLTU6MzAK Kys9PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09 PT09CisrCisrCisrPT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorK0NhcmRpbmFsaXR5ICAg ICAgICAgICAgRGVzY3JpcHRpb24KKys9PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrYGA/ YGAgICAgICAgICAgICAgICAgICAgUGF0dGVybiB3aXRoIGNhcmRpbmFsaXR5IDAuLjE6IG9wdGlv bmFsIHBhcnQgKHF1ZXN0aW9uIG1hcmspLgorK2BgKmBgICAgICAgICAgICAgICAgICAgIFBhdHRl cm4gd2l0aCBjYXJkaW5hbGl0eSB6ZXJvIG9yIG1vcmUsIDAuLiAoYXN0ZXJpc2spLgorK2BgK2Bg ICAgICAgICAgICAgICAgICAgIFBhdHRlcm4gd2l0aCBjYXJkaW5hbGl0eSBvbmUgb3IgbW9yZSwg MS4uIChwbHVzIHNpZ24pLgorK2Bge219YGAgICAgICAgICAgICAgICAgIE1hdGNoZXMgYGBtYGAg cmVwZXRpdGlvbnMgb2YgYSBwYXR0ZXJuLgorK2Bge20sbn1gYCAgICAgICAgICAgICAgIE1hdGNo ZXMgZnJvbSBgYG1gYCB0byBgYG5gYCByZXBldGl0aW9ucyBvZiBhIHBhdHRlcm4uCisrYGBbQS1a YS16XStgYCAgICAgICAgICAgRVhBTVBMRTogTWF0Y2hlcyBvbmUgb3IgbW9yZSBhbHBoYWJldGlj YWwgY2hhcmFjdGVycy4KKys9PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrCisrLi4g X3BhcnNlIG1vZHVsZTogaHR0cHM6Ly9naXRodWIuY29tL3IxY2hhcmRqMG4zcy9wYXJzZQorKy4u IF9zdHJpbmcuZm9ybWF0OiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvc3RyaW5n Lmh0bWwjZm9ybWF0LXN0cmluZy1zeW50YXgKKysKKysuLiBfcmUgbW9kdWxlOiBodHRwczovL2Rv Y3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvcmUuaHRtbCNtb2R1bGUtcmUKKysuLiBfUHl0aG9uIHJl Z3VsYXIgZXhwcmVzc2lvbnM6IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9yZS5o dG1sI21vZHVsZS1yZQorKy4uIF9gcmVndWxhciBleHByZXNzaW9uc2A6IGh0dHBzOi8vZW4ud2lr aXBlZGlhLm9yZy93aWtpL1JlZ3VsYXJfZXhwcmVzc2lvbgorKwpkaWZmIC0tZ2l0IGEvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NS1kb2NzLXBh cnNlX2V4cHJlc3Npb24tYWRkLWxpbmtzLXRvLXBhcnNlX3R5cGUtbW9kdWxlLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NS1kb2Nz LXBhcnNlX2V4cHJlc3Npb24tYWRkLWxpbmtzLXRvLXBhcnNlX3R5cGUtbW9kdWxlLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNmJkZjE1MWZlCi0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA3NS1kb2NzLXBhcnNlX2V4cHJlc3Npb24tYWRkLWxpbmtzLXRvLXBhcnNlX3R5cGUtbW9k dWxlLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gZjI3MDQxNDlhZTFiYzExYjAxYjZiZTg1 NGEyOGYxNzhlMjBkMDBlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMg PGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAxNSBEZWMgMjAx OSAyMjowODowNSArMDEwMAorU3ViamVjdDogW1BBVENIXSBkb2NzOiBwYXJzZV9leHByZXNzaW9u LCBhZGQgbGlua3MgdG8gcGFyc2VfdHlwZSBtb2R1bGUgYW5kCisgQ2FyZGluYWxpdHlGaWVsZCBz dXBwb3J0LgorCistLS0KKyBkb2NzL3BhcnNlX2V4cHJlc3Npb25zLnJzdCB8IDcgKysrKy0tLQor IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9kb2NzL3BhcnNlX2V4cHJlc3Npb25zLnJzdCBiL2RvY3MvcGFyc2VfZXhwcmVzc2lv bnMucnN0CitpbmRleCAzNmNhNTQ5Li4zODEwMjIyIDEwMDY0NAorLS0tIGEvZG9jcy9wYXJzZV9l eHByZXNzaW9ucy5yc3QKKysrKyBiL2RvY3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0CitAQCAtNjUs NiArNjUsOCBAQCB0dCAgICBUaW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRpbWUKKyAgICAgICBlLmcuIDEwOjIxOjM2IFBNIC01OjMwCisgPT09PT0gPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PQorIAorK0lmIGBwYXJz ZV90eXBlYF8gbW9kdWxlIGlzIHVzZWQsIHRoZSBjYXJkaW5hbGl0eSBvZiBhIHR5cGUgY2FuIGJl IHNwZWNpZmllZCwgdG9vCisrKGJ5IHVzaW5nIHRoZSBgQ2FyZGluYWxpdHlGaWVsZGBfIHN1cHBv cnQpOgorIAorID09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyBDYXJkaW5hbGl0eSAgICAg ICAgICAgIERlc2NyaXB0aW9uCitAQCAtNzIsMTQgKzc0LDEzIEBAIENhcmRpbmFsaXR5ICAgICAg ICAgICAgRGVzY3JpcHRpb24KKyBgYD9gYCAgICAgICAgICAgICAgICAgICBQYXR0ZXJuIHdpdGgg Y2FyZGluYWxpdHkgMC4uMTogb3B0aW9uYWwgcGFydCAocXVlc3Rpb24gbWFyaykuCisgYGAqYGAg ICAgICAgICAgICAgICAgICAgUGF0dGVybiB3aXRoIGNhcmRpbmFsaXR5IHplcm8gb3IgbW9yZSwg MC4uIChhc3RlcmlzaykuCisgYGArYGAgICAgICAgICAgICAgICAgICAgUGF0dGVybiB3aXRoIGNh cmRpbmFsaXR5IG9uZSBvciBtb3JlLCAxLi4gKHBsdXMgc2lnbikuCistYGB7bX1gYCAgICAgICAg ICAgICAgICAgTWF0Y2hlcyBgYG1gYCByZXBldGl0aW9ucyBvZiBhIHBhdHRlcm4uCistYGB7bSxu fWBgICAgICAgICAgICAgICAgTWF0Y2hlcyBmcm9tIGBgbWBgIHRvIGBgbmBgIHJlcGV0aXRpb25z IG9mIGEgcGF0dGVybi4KKy1gYFtBLVphLXpdK2BgICAgICAgICAgICBFWEFNUExFOiBNYXRjaGVz IG9uZSBvciBtb3JlIGFscGhhYmV0aWNhbCBjaGFyYWN0ZXJzLgorID09PT09PT09PT09PT09PT09 PT09PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKyAKKyAKKyAuLiBfcGFyc2UgbW9kdWxlOiBodHRwczovL2dpdGh1Yi5jb20v cjFjaGFyZGowbjNzL3BhcnNlCisrLi4gX3BhcnNlX3R5cGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9q ZW5pc3lzL3BhcnNlX3R5cGUKKyAuLiBfc3RyaW5nLmZvcm1hdDogaHR0cHM6Ly9kb2NzLnB5dGhv bi5vcmcvMy9saWJyYXJ5L3N0cmluZy5odG1sI2Zvcm1hdC1zdHJpbmctc3ludGF4CisrLi4gX0Nh cmRpbmFsaXR5RmllbGQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5pc3lzL3BhcnNlX3R5cGUvYmxv Yi9tYXN0ZXIvUkVBRE1FLnJzdCNleHRlbmRlZC1wYXJzZXItd2l0aC1jYXJkaW5hbGl0eWZpZWxk LXN1cHBvcnQKKyAKKyAuLiBfcmUgbW9kdWxlOiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xp YnJhcnkvcmUuaHRtbCNtb2R1bGUtcmUKKyAuLiBfUHl0aG9uIHJlZ3VsYXIgZXhwcmVzc2lvbnM6 IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGlicmFyeS9yZS5odG1sI21vZHVsZS1yZQpkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA3Ni1CVU1QLVZFUlNJT04tMS4yLjcuZGV2Mi13YXMtMS4yLjcuZGV2MS5wYXRjaCBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzYtQlVN UC1WRVJTSU9OLTEuMi43LmRldjItd2FzLTEuMi43LmRldjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lNzEwNTZlMWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc2LUJVTVAt VkVSU0lPTi0xLjIuNy5kZXYyLXdhcy0xLjIuNy5kZXYxLnBhdGNoCkBAIC0wLDAgKzEsNjUgQEAK K0Zyb20gOTU4MTI0MzdlYmEwMTU0YjkxMTA4ODkwZGQ1M2FhYjk2MTVmNzg2MCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogVGh1LCAxOSBEZWMgMjAxOSAxMjozMTo0NyArMDEwMAorU3ViamVjdDog W1BBVENIXSBCVU1QLVZFUlNJT046IDEuMi43LmRldjIgKHdhczogMS4yLjcuZGV2MSkKKworLS0t CisgLmJ1bXB2ZXJzaW9uLmNmZyAgfCAyICstCisgVkVSU0lPTi50eHQgICAgICAgfCAyICstCisg YmVoYXZlL3ZlcnNpb24ucHkgfCAyICstCisgcHl0ZXN0LmluaSAgICAgICAgfCAyICstCisgc2V0 dXAucHkgICAgICAgICAgfCAyICstCisgNSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS8uYnVtcHZlcnNpb24uY2ZnIGIvLmJ1bXB2 ZXJzaW9uLmNmZworaW5kZXggYTVkM2QyZi4uNGYyYmI3NiAxMDA2NDQKKy0tLSBhLy5idW1wdmVy c2lvbi5jZmcKKysrKyBiLy5idW1wdmVyc2lvbi5jZmcKK0BAIC0xLDUgKzEsNSBAQAorIFtidW1w dmVyc2lvbl0KKy1jdXJyZW50X3ZlcnNpb24gPSAxLjIuNy5kZXYxCisrY3VycmVudF92ZXJzaW9u ID0gMS4yLjcuZGV2MgorIGZpbGVzID0gYmVoYXZlL3ZlcnNpb24ucHkgc2V0dXAucHkgVkVSU0lP Ti50eHQgcHl0ZXN0LmluaSAuYnVtcHZlcnNpb24uY2ZnCisgcGFyc2UgPSAoP1A8bWFqb3I+XGQr KVwuKD9QPG1pbm9yPlxkKylcLig/UDxwYXRjaD5cZCspKD9QPGRyb3A+XHcqKQorIHNlcmlhbGl6 ZSA9IHttYWpvcn0ue21pbm9yfS57cGF0Y2h9e2Ryb3B9CitkaWZmIC0tZ2l0IGEvVkVSU0lPTi50 eHQgYi9WRVJTSU9OLnR4dAoraW5kZXggYzBlZjM2Yi4uYzRlNzVmNiAxMDA2NDQKKy0tLSBhL1ZF UlNJT04udHh0CisrKysgYi9WRVJTSU9OLnR4dAorQEAgLTEgKzEgQEAKKy0xLjIuNy5kZXYxCisr MS4yLjcuZGV2MgorZGlmZiAtLWdpdCBhL2JlaGF2ZS92ZXJzaW9uLnB5IGIvYmVoYXZlL3ZlcnNp b24ucHkKK2luZGV4IGIxOWNiNWUuLjY3ZjRhNDEgMTAwNjQ0CistLS0gYS9iZWhhdmUvdmVyc2lv bi5weQorKysrIGIvYmVoYXZlL3ZlcnNpb24ucHkKK0BAIC0xLDIgKzEsMiBAQAorICMgLS0gQkVI QVZFLVZFUlNJT046CistVkVSU0lPTiA9ICIxLjIuNy5kZXYxIgorK1ZFUlNJT04gPSAiMS4yLjcu ZGV2MiIKK2RpZmYgLS1naXQgYS9weXRlc3QuaW5pIGIvcHl0ZXN0LmluaQoraW5kZXggYjlmMjgx YS4uZGYyYTgxZiAxMDA2NDQKKy0tLSBhL3B5dGVzdC5pbmkKKysrKyBiL3B5dGVzdC5pbmkKK0BA IC0yMSw3ICsyMSw3IEBAIHRlc3RwYXRocyAgICAgPSB0ZXN0cworIHB5dGhvbl9maWxlcyAgPSB0 ZXN0XyoucHkKKyBqdW5pdF9mYW1pbHkgPSB4dW5pdDIKKyBhZGRvcHRzID0gLS1tZXRhZGF0YSBQ QUNLQUdFX1VOREVSX1RFU1QgYmVoYXZlCistICAgIC0tbWV0YWRhdGEgUEFDS0FHRV9WRVJTSU9O IDEuMi43LmRldjEKKysgICAgLS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJT04gMS4yLjcuZGV2Mgor ICAgICAtLWh0bWw9YnVpbGQvdGVzdGluZy9yZXBvcnQuaHRtbCAtLXNlbGYtY29udGFpbmVkLWh0 bWwKKyAgICAgLS1qdW5pdC14bWw9YnVpbGQvdGVzdGluZy9yZXBvcnQueG1sCisgbWFya2VycyA9 CitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggMmFmYzE0Ny4uMjNmNjY1 NCAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTU1LDcgKzU1LDcg QEAgZGVmIGZpbmRfcGFja2FnZXNfYnlfcm9vdF9wYWNrYWdlKHdoZXJlKToKKyAjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgc2V0dXAoCisgICAgIG5hbWU9ImJlaGF2ZSIsCistICAgIHZlcnNpb249 IjEuMi43LmRldjEiLAorKyAgICB2ZXJzaW9uPSIxLjIuNy5kZXYyIiwKKyAgICAgZGVzY3JpcHRp b249ImJlaGF2ZSBpcyBiZWhhdmlvdXItZHJpdmVuIGRldmVsb3BtZW50LCBQeXRob24gc3R5bGUi LAorICAgICBsb25nX2Rlc2NyaXB0aW9uPWRlc2NyaXB0aW9uLAorICAgICBhdXRob3I9IkplbnMg RW5nZWwsIEJlbm5vIFJpY2UgYW5kIFJpY2hhcmQgSm9uZXMiLApkaWZmIC0tZ2l0IGEvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3Ny1HaGVya2lu LXBhcnNlci1DbGVhbnVwcy1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTgwMC1QLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3Ny1HaGVy a2luLXBhcnNlci1DbGVhbnVwcy1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTgwMC1QLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDI0NGVlYTIyCi0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA3Ny1HaGVya2luLXBhcnNlci1DbGVhbnVwcy1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTgw MC1QLnBhdGNoCkBAIC0wLDAgKzEsMjIzIEBACitGcm9tIGRjZGU0YmIyZTFiMzJkNjc2YmIwZmYx NmRlODBkZmRmN2RmNmIwODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lz IDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IEZyaSwgMjAgRGVjIDIw MTkgMTY6NDU6NDYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gR2hlcmtpbiBwYXJzZXI6IENsZWFu dXBzIHJlbGF0ZWQgdG8gcXVlc3Rpb24gaW4gIzgwMAorIChQYXJzZUVycm9yIHVzYWdlKQorCist LS0KKyBDSEFOR0VTLnJzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsK KyBiZWhhdmUvcGFyc2VyLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQxICsrKysr KysrKysrKystLS0tLS0tCisgZmVhdHVyZXMvYmFja2dyb3VuZC5mZWF0dXJlICAgICAgICAgICAg ICAgICAgfCAgNCArLQorIGZlYXR1cmVzL3BhcnNlci5iYWNrZ3JvdW5kLnNhZF9jYXNlcy5mZWF0 dXJlIHwgMTAgKystLS0KKyBmZWF0dXJlcy9wYXJzZXIuZmVhdHVyZS5zYWRfY2FzZXMuZmVhdHVy ZSAgICB8ICA2ICstLQorIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDE0OC5mZWF0dXJlICAgICAgICAg ICAgIHwgIDIgKy0KKyA2IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDI2IGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXgg YmE0ZGFhZC4uNTY1MzQ5MiAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VT LnJzdAorQEAgLTQ0LDYgKzQ0LDcgQEAgRklYRUQ6CisgCisgTUlOT1I6CisgCisrKiBpc3N1ZSAj ODAwOiBDbGVhbnVwcyByZWxhdGVkIHRvIEdoZXJraW4gcGFyc2VyL1BhcnNlRXJyb3IgcXVlc3Rp b24gKHN1Ym1pdHRlZCBieTogb3RzdGFudGVwbHopCisgKiBwdWxsICAjNzY3OiBGSVg6IHVzZV9m aXh0dXJlX2J5X3RhZyBkaWRuJ3QgcmV0dXJuIHRoZSBhY3R1YWwgZml4dHVyZSBpbiBhbGwgY2Fz ZXMgKHByb3ZpZGVkIGJ5OiBqZ2VudGlsKQorICogcHVsbCAgIzc1MTogZ2hlcmtpbjogQWRkaW5n IFJ1bGUga2V5d29yZCB0cmFuc2xhdGlvbiBpbiBwb3J0dWd1ZXNlIGFuZCBzcGFuaXNoIHRvIGdo ZXJraW4tbGFuZ3VhZ2VzLmpzb24gKHByb3ZpZGVkIGJ5OiBkdW5vc3NhdXJvKQorICogcHVsbCAg IzY2MDogRml4IG1pbm9yIHR5cG9zIChwcm92aWRlZCBieTogcnJ1ZXRoKQorZGlmZiAtLWdpdCBh L2JlaGF2ZS9wYXJzZXIucHkgYi9iZWhhdmUvcGFyc2VyLnB5CitpbmRleCA1MjBmNjc4Li41OGM2 OGJlIDEwMDY0NAorLS0tIGEvYmVoYXZlL3BhcnNlci5weQorKysrIGIvYmVoYXZlL3BhcnNlci5w eQorQEAgLTEzMiwxMyArMTMyLDI0IEBAIGRlZiBwYXJzZV90YWdzKHRleHQpOgorIAorIAorIGNs YXNzIFBhcnNlckVycm9yKEV4Y2VwdGlvbik6CistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtZXNz YWdlLCBsaW5lLCBmaWxlbmFtZT1Ob25lLCBsaW5lX3RleHQ9Tm9uZSk6CistICAgICAgICBpZiBs aW5lOgorLSAgICAgICAgICAgIG1lc3NhZ2UgKz0gdSIgYXQgbGluZSAlZCIgJSBsaW5lCistICAg ICAgICAgICAgaWYgbGluZV90ZXh0OgorLSAgICAgICAgICAgICAgICBtZXNzYWdlICs9IHUnOiAi JXMiJyAlIGxpbmVfdGV4dC5zdHJpcCgpCisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVmIG1h a2VfYW5ub3RhdGVkKG1lc3NhZ2UsIGxpbmVfbnVtYmVyLCBsaW5lX3RleHQ9Tm9uZSwgcmVhc29u PU5vbmUpOgorKyAgICAgICAgIiIiTWFrZSBhbm5vdGF0ZWQgbWVzc2FnZSBlbnJpY2hlZCB3LyBs aW5lX251bWJlciwgbGluZV90ZXh0LiIiIgorKyAgICAgICAgaWYgbGluZV9udW1iZXI6CisrICAg ICAgICAgICAgbWVzc2FnZSArPSB1IiBhdCBsaW5lICVkIiAlIGxpbmVfbnVtYmVyCisrICAgICAg ICBpZiBsaW5lX3RleHQ6CisrICAgICAgICAgICAgbWVzc2FnZSArPSB1JzogIiVzIicgJSBsaW5l X3RleHQuc3RyaXAoKQorKyAgICAgICAgaWYgcmVhc29uOgorKyAgICAgICAgICAgIG1lc3NhZ2Ug Kz0gdSJcblJFQVNPTjogJXMiICUgcmVhc29uCisrICAgICAgICByZXR1cm4gbWVzc2FnZQorKwor KyAgICBkZWYgX19pbml0X18oc2VsZiwgbWVzc2FnZSwgbGluZSwgZmlsZW5hbWU9Tm9uZSwgbGlu ZV90ZXh0PU5vbmUsCisrICAgICAgICAgICAgICAgICByZWFzb249Tm9uZSwgdXNlX2Fubm90YXRl ZF9tZXNzYWdlPVRydWUpOgorKyAgICAgICAgaWYgdXNlX2Fubm90YXRlZF9tZXNzYWdlOgorKyAg ICAgICAgICAgIG1lc3NhZ2UgPSBzZWxmLm1ha2VfYW5ub3RhdGVkKG1lc3NhZ2UsIGxpbmUsIGxp bmVfdGV4dCwgcmVhc29uKQorKworICAgICAgICAgc3VwZXIoUGFyc2VyRXJyb3IsIHNlbGYpLl9f aW5pdF9fKG1lc3NhZ2UpCistICAgICAgICBzZWxmLmxpbmUgPSBsaW5lCisrICAgICAgICBzZWxm LmxpbmUgPSBsaW5lICAgICMgTGluZSBudW1iZXIgb2YgcGFyc2UgZmFpbHVyZS4KKyAgICAgICAg IHNlbGYubGluZV90ZXh0ID0gbGluZV90ZXh0CisgICAgICAgICBzZWxmLmZpbGVuYW1lID0gZmls ZW5hbWUKKyAKK0BAIC0zODYsMTQgKzM5NywxMyBAQCBjbGFzcyBQYXJzZXIob2JqZWN0KToKKyAg ICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCisgICAgICAgICAgICAgbXNnID0gdSJQYXJz ZXIgaW4gdW5rbm93biBzdGF0ZSAlczsiICUgc2VsZi5zdGF0ZQorICAgICAgICAgICAgIHJhaXNl IFBhcnNlckVycm9yKG1zZywgc2VsZi5saW5lLCBzZWxmLmZpbGVuYW1lLCBsaW5lKQorKworICAg ICAgICAgaWYgbm90IGZ1bmMobGluZSk6CisgICAgICAgICAgICAgbGluZSA9IGxpbmUuc3RyaXAo KQorLSAgICAgICAgICAgIG1zZyA9IHUnXG5QYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSAlcywgYXQg bGluZSAlZDogIiVzIlxuJyAlIFwKKy0gICAgICAgICAgICAgICAgICAoc2VsZi5zdGF0ZSwgc2Vs Zi5saW5lLCBsaW5lKQorKyAgICAgICAgICAgIG1zZyA9IHUnXG5QYXJzZXIgZmFpbHVyZSBpbiBz dGF0ZT0lcycgJSBzZWxmLnN0YXRlCisgICAgICAgICAgICAgcmVhc29uID0gc2VsZi5hc2tfcGFy c2VfZmFpbHVyZV9vcmFjbGUobGluZSkKKy0gICAgICAgICAgICBpZiByZWFzb246CistICAgICAg ICAgICAgICAgIG1zZyArPSB1IlJFQVNPTjogJXMiICUgcmVhc29uCistICAgICAgICAgICAgcmFp c2UgUGFyc2VyRXJyb3IobXNnLCBOb25lLCBzZWxmLmZpbGVuYW1lKQorKyAgICAgICAgICAgIHJh aXNlIFBhcnNlckVycm9yKG1zZywgc2VsZi5saW5lLCBzZWxmLmZpbGVuYW1lLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpbmVfdGV4dD1saW5lLCByZWFzb249cmVhc29uKQorIAor ICAgICBkZWYgYWN0aW9uX2luaXQoc2VsZiwgbGluZSk6CisgICAgICAgICBsaW5lID0gbGluZS5z dHJpcCgpCitAQCAtNjQyLDcgKzY1Miw3IEBAIGNsYXNzIFBhcnNlcihvYmplY3QpOgorICAgICAg ICAgICAgIHNlbGYudGFibGUgPSBtb2RlbC5UYWJsZShjZWxscywgc2VsZi5saW5lKQorICAgICAg ICAgZWxzZToKKyAgICAgICAgICAgICBpZiBsZW4oY2VsbHMpICE9IGxlbihzZWxmLnRhYmxlLmhl YWRpbmdzKToKKy0gICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IodSJNYWxmb3JtZWQg dGFibGUiLCBzZWxmLmxpbmUpCisrICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlckVycm9yKHUi TWFsZm9ybWVkIHRhYmxlIiwgc2VsZi5saW5lLCBzZWxmLmZpbGVuYW1lKQorICAgICAgICAgICAg ICAgICAjIE1BWUJFOiBzZWxmLmZpbGVuYW1lKQorICAgICAgICAgICAgIHNlbGYudGFibGUuYWRk X3JvdyhjZWxscywgc2VsZi5saW5lKQorICAgICAgICAgcmV0dXJuIFRydWUKK0BAIC03MDQsOCAr NzE0LDggQEAgY2xhc3MgUGFyc2VyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIGJyZWFrICAg IyAtLSBDT01NRU5UOiBTa2lwIHJlc3Qgb2YgbGluZS4KKyAgICAgICAgICAgICBlbHNlOgorICAg ICAgICAgICAgICAgICAjIC0tIEJBRC1UQUc6IEFib3J0IGhlcmUuCistICAgICAgICAgICAgICAg IHJhaXNlIFBhcnNlckVycm9yKHUidGFnOiAlcyAobGluZTogJXMpIiAlICh3b3JkLCBsaW5lKSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5saW5lLCBzZWxmLmZpbGVu YW1lKQorKyAgICAgICAgICAgICAgICBtZXNzYWdlID0gdSJ0YWc6ICVzIChsaW5lOiAlcykiICUg KHdvcmQsIGxpbmUpCisrICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlckVycm9yKG1lc3NhZ2Us IHNlbGYubGluZSwgc2VsZi5maWxlbmFtZSkKKyAgICAgICAgIHJldHVybiB0YWdzCisgCisgICAg IGRlZiBwYXJzZV9zdGVwKHNlbGYsIGxpbmUpOgorQEAgLTcyMyw3ICs3MzMsOCBAQCBjbGFzcyBQ YXJzZXIob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgc3RlcF90ZXh0X2FmdGVyX2tleXdvcmQg PSBsaW5lW2xlbihrdyk6XS5zdHJpcCgpCisgICAgICAgICAgICAgICAgIGlmIHN0ZXBfdHlwZSBp biAoImFuZCIsICJidXQiKToKKyAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmxhc3Rf c3RlcDoKKy0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBQYXJzZXJFcnJvcih1Ik5vIHBy ZXZpb3VzIHN0ZXAiLCBzZWxmLmxpbmUpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ug UGFyc2VyRXJyb3IodSJObyBwcmV2aW91cyBzdGVwIiwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmUsIHNlbGYuZmlsZW5hbWUpCisgICAgICAgICAg ICAgICAgICAgICBzdGVwX3R5cGUgPSBzZWxmLmxhc3Rfc3RlcAorICAgICAgICAgICAgICAgICBl bHNlOgorICAgICAgICAgICAgICAgICAgICAgc2VsZi5sYXN0X3N0ZXAgPSBzdGVwX3R5cGUKK2Rp ZmYgLS1naXQgYS9mZWF0dXJlcy9iYWNrZ3JvdW5kLmZlYXR1cmUgYi9mZWF0dXJlcy9iYWNrZ3Jv dW5kLmZlYXR1cmUKK2luZGV4IGIyZjU4MzMuLjY1YzQ4ODIgMTAwNjQ0CistLS0gYS9mZWF0dXJl cy9iYWNrZ3JvdW5kLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL2JhY2tncm91bmQuZmVhdHVyZQor QEAgLTM2Miw3ICszNjIsNyBAQCBGZWF0dXJlOiBCYWNrZ3JvdW5kCisgICAgIFdoZW4gSSBydW4g ImJlaGF2ZSAtZiBwbGFpbiAtVCBmZWF0dXJlcy9iYWNrZ3JvdW5kX3NhZF9leGFtcGxlMS5mZWF0 dXJlIgorICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CisgICAgICAgICAiIiIKKy0gICAg ICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlIHN0ZXBzLCBhdCBsaW5lIDU6ICJCYWNrZ3JvdW5k OiBCMSIKKysgICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlPXN0ZXBzIGF0IGxpbmUgNTog IkJhY2tncm91bmQ6IEIxIgorICAgICAgICAgUkVBU09OOiBCYWNrZ3JvdW5kIG1heSBub3Qgb2Nj dXIgYWZ0ZXIgU2NlbmFyaW8vU2NlbmFyaW9PdXRsaW5lLgorICAgICAgICAgIiIiCisgCitAQCAt Mzg3LDYgKzM4Nyw2IEBAIEZlYXR1cmU6IEJhY2tncm91bmQKKyAgICAgV2hlbiBJIHJ1biAiYmVo YXZlIC1mIHBsYWluIC1UIGZlYXR1cmVzL2JhY2tncm91bmRfc2FkX2V4YW1wbGUyLmZlYXR1cmUi CisgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorLSAgICAgICAg UGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgc3RlcHMsIGF0IGxpbmUgNTogIkJhY2tncm91bmQ6IEIy IChYRkFJTCkiCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT1zdGVwcyBhdCBsaW5l IDU6ICJCYWNrZ3JvdW5kOiBCMiAoWEZBSUwpIgorICAgICAgICAgUkVBU09OOiBCYWNrZ3JvdW5k IHNob3VsZCBub3QgYmUgdXNlZCBoZXJlLgorICAgICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvZmVh dHVyZXMvcGFyc2VyLmJhY2tncm91bmQuc2FkX2Nhc2VzLmZlYXR1cmUgYi9mZWF0dXJlcy9wYXJz ZXIuYmFja2dyb3VuZC5zYWRfY2FzZXMuZmVhdHVyZQoraW5kZXggMzc5NTZhZC4uZWIyMzRhZSAx MDA2NDQKKy0tLSBhL2ZlYXR1cmVzL3BhcnNlci5iYWNrZ3JvdW5kLnNhZF9jYXNlcy5mZWF0dXJl CisrKysgYi9mZWF0dXJlcy9wYXJzZXIuYmFja2dyb3VuZC5zYWRfY2FzZXMuZmVhdHVyZQorQEAg LTM3LDcgKzM3LDcgQEAgRmVhdHVyZTogRW5zdXJlIHRoYXQgQkFEL1NBRCBVc2UgY2FzZXMgb2Yg QmFja2dyb3VuZCBhcmUgZGV0ZWN0ZWQKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGgK KyAgICAgICAgICIiIgorICAgICAgICAgRmFpbGVkIHRvIHBhcnNlICJ7X19XT1JLRElSX199L2Zl YXR1cmVzL3N5bmRyb21lLmJhY2tncm91bmRfd2l0aF90YWdzLmZlYXR1cmUiOgorLSAgICAgICAg UGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgdGFnZ2FibGVfc3RhdGVtZW50LCBhdCBsaW5lIDQ6ICJC YWNrZ3JvdW5kOiBPb3BzLi4uIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9dGFn Z2FibGVfc3RhdGVtZW50IGF0IGxpbmUgNDogIkJhY2tncm91bmQ6IE9vcHMuLi4iCisgICAgICAg ICBSRUFTT046IEJhY2tncm91bmQgZG9lcyBub3Qgc3VwcG9ydCB0YWdzLgorICAgICAgICAgIiIi CisgCitAQCAtNTcsNyArNTcsNyBAQCBGZWF0dXJlOiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVzZSBj YXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBkZXRlY3RlZAorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZh aWwgd2l0aAorICAgICAgICAgIiIiCisgICAgICAgICBGYWlsZWQgdG8gcGFyc2UgIntfX1dPUktE SVJfX30vZmVhdHVyZXMvc3luZHJvbWUuYmFja2dyb3VuZF9hZnRlcl9zY2VuYXJpby5mZWF0dXJl IjoKKy0gICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlIHN0ZXBzLCBhdCBsaW5lIDY6ICJC YWNrZ3JvdW5kOiBPb3BzLCB0b28gbGF0ZSAoYWZ0ZXIgU2NlbmFyaW8pIgorKyAgICAgICAgUGFy c2VyIGZhaWx1cmUgaW4gc3RhdGU9c3RlcHMgYXQgbGluZSA2OiAiQmFja2dyb3VuZDogT29wcywg dG9vIGxhdGUgKGFmdGVyIFNjZW5hcmlvKSIKKyAgICAgICAgIFJFQVNPTjogQmFja2dyb3VuZCBt YXkgbm90IG9jY3VyIGFmdGVyIFNjZW5hcmlvL1NjZW5hcmlvT3V0bGluZS4KKyAgICAgICAgICIi IgorIAorQEAgLTc3LDcgKzc3LDcgQEAgRmVhdHVyZTogRW5zdXJlIHRoYXQgQkFEL1NBRCBVc2Ug Y2FzZXMgb2YgQmFja2dyb3VuZCBhcmUgZGV0ZWN0ZWQKKyAgICAgICBXaGVuIEkgcnVuICJiZWhh dmUgLWYgcGxhaW4gLVQgZmVhdHVyZXMvc3luZHJvbWUudGFnZ2VkX2JhY2tncm91bmRfYWZ0ZXJf c2NlbmFyaW8uZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGgKKyAgICAg ICAgICIiIgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgdGFnZ2FibGVfc3RhdGVt ZW50LCBhdCBsaW5lIDc6ICJCYWNrZ3JvdW5kOiBPb3BzLCB0b28gbGF0ZSAoYWZ0ZXIgU2NlbmFy aW8pIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9dGFnZ2FibGVfc3RhdGVtZW50 IGF0IGxpbmUgNzogIkJhY2tncm91bmQ6IE9vcHMsIHRvbyBsYXRlIChhZnRlciBTY2VuYXJpbyki CisgICAgICAgICBSRUFTT046IEJhY2tncm91bmQgbWF5IG5vdCBvY2N1ciBhZnRlciBTY2VuYXJp by9TY2VuYXJpb091dGxpbmUuCisgICAgICAgICAiIiIKKyAKK0BAIC0xMDAsNyArMTAwLDcgQEAg RmVhdHVyZTogRW5zdXJlIHRoYXQgQkFEL1NBRCBVc2UgY2FzZXMgb2YgQmFja2dyb3VuZCBhcmUg ZGV0ZWN0ZWQKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLVQgZmVhdHVyZXMv c3luZHJvbWUuYmFja2dyb3VuZF9hZnRlcl9zY2VuYXJpb19vdXRsaW5lLmZlYXR1cmUiCisgICAg ICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoCisgICAgICAgICAiIiIKKy0gICAgICAgIFBhcnNl ciBmYWlsdXJlIGluIHN0YXRlIHN0ZXBzLCBhdCBsaW5lIDEwOiAiQmFja2dyb3VuZDogT29wcywg dG9vIGxhdGUgKGFmdGVyIFNjZW5hcmlvIE91dGxpbmUpIgorKyAgICAgICAgUGFyc2VyIGZhaWx1 cmUgaW4gc3RhdGU9c3RlcHMgYXQgbGluZSAxMDogIkJhY2tncm91bmQ6IE9vcHMsIHRvbyBsYXRl IChhZnRlciBTY2VuYXJpbyBPdXRsaW5lKSIKKyAgICAgICAgIFJFQVNPTjogQmFja2dyb3VuZCBt YXkgbm90IG9jY3VyIGFmdGVyIFNjZW5hcmlvL1NjZW5hcmlvT3V0bGluZS4KKyAgICAgICAgICIi IgorIAorQEAgLTEyNCw2ICsxMjQsNiBAQCBGZWF0dXJlOiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVz ZSBjYXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBkZXRlY3RlZAorICAgICAgIFdoZW4gSSBydW4gImJl aGF2ZSAtZiBwbGFpbiAtVCBmZWF0dXJlcy9zeW5kcm9tZS5iYWNrZ3JvdW5kX2FmdGVyX3NjZW5h cmlvX291dGxpbmUuZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGgKKyAg ICAgICAgICIiIgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgdGFnZ2FibGVfc3Rh dGVtZW50LCBhdCBsaW5lIDExOiAiQmFja2dyb3VuZDogT29wcywgdG9vIGxhdGUgKGFmdGVyIFNj ZW5hcmlvIE91dGxpbmUpIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9dGFnZ2Fi bGVfc3RhdGVtZW50IGF0IGxpbmUgMTE6ICJCYWNrZ3JvdW5kOiBPb3BzLCB0b28gbGF0ZSAoYWZ0 ZXIgU2NlbmFyaW8gT3V0bGluZSkiCisgICAgICAgICBSRUFTT046IEJhY2tncm91bmQgbWF5IG5v dCBvY2N1ciBhZnRlciBTY2VuYXJpby9TY2VuYXJpb091dGxpbmUuCisgICAgICAgICAiIiIKK2Rp ZmYgLS1naXQgYS9mZWF0dXJlcy9wYXJzZXIuZmVhdHVyZS5zYWRfY2FzZXMuZmVhdHVyZSBiL2Zl YXR1cmVzL3BhcnNlci5mZWF0dXJlLnNhZF9jYXNlcy5mZWF0dXJlCitpbmRleCBkODlkOWI3Li4w ZTEyZDlmIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvcGFyc2VyLmZlYXR1cmUuc2FkX2Nhc2VzLmZl YXR1cmUKKysrKyBiL2ZlYXR1cmVzL3BhcnNlci5mZWF0dXJlLnNhZF9jYXNlcy5mZWF0dXJlCitA QCAtODQsNyArODQsNyBAQCBGZWF0dXJlOiBQYXJzaW5nIGEgRmVhdHVyZSBGaWxlIHdpdGhvdXQg YSBGZWF0dXJlIG9yIHdpdGggc2V2ZXJhbCBGZWF0dXJlcworICAgICAgIFRoZW4gaXQgc2hvdWxk IGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorICAgICAgICAgRmFpbGVkIHRvIHBhcnNlICJ7X19X T1JLRElSX199L2ZlYXR1cmVzL29ubHlfdGV4dC5mZWF0dXJlIjoKKy0gICAgICAgIFBhcnNlciBm YWlsdXJlIGluIHN0YXRlIGluaXQsIGF0IGxpbmUgMTogIlRoaXMgRmlsZTogQ29udGFpbnMgb25s eSB0ZXh0IHdpdGhvdXQga2V5d29yZHMuIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3Rh dGU9aW5pdCBhdCBsaW5lIDE6ICJUaGlzIEZpbGU6IENvbnRhaW5zIG9ubHkgdGV4dCB3aXRob3V0 IGtleXdvcmRzLiIKKyAgICAgICAgIFJFQVNPTjogTm8gZmVhdHVyZSBmb3VuZC4KKyAgICAgICAg ICIiIgorIAorQEAgLTEwMyw3ICsxMDMsNyBAQCBGZWF0dXJlOiBQYXJzaW5nIGEgRmVhdHVyZSBG aWxlIHdpdGhvdXQgYSBGZWF0dXJlIG9yIHdpdGggc2V2ZXJhbCBGZWF0dXJlcworICAgICAgIFRo ZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorICAgICAgICAgRmFpbGVkIHRv IHBhcnNlICJ7X19XT1JLRElSX199L2ZlYXR1cmVzL25ha2VkX3NjZW5hcmlvX29ubHkuZmVhdHVy ZSI6CistICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSBpbml0LCBhdCBsaW5lIDE6ICJT Y2VuYXJpbzoiCisrICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT1pbml0IGF0IGxpbmUg MTogIlNjZW5hcmlvOiIKKyAgICAgICAgIFJFQVNPTjogU2NlbmFyaW8gbWF5IG5vdCBvY2N1ciBi ZWZvcmUgRmVhdHVyZS4KKyAgICAgICAgICIiIgorIAorQEAgLTEzOSw2ICsxMzksNiBAQCBGZWF0 dXJlOiBQYXJzaW5nIGEgRmVhdHVyZSBGaWxlIHdpdGhvdXQgYSBGZWF0dXJlIG9yIHdpdGggc2V2 ZXJhbCBGZWF0dXJlcworICAgICAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CisgICAg ICAgICAgICAgIiIiCisgICAgICAgICAgICAgRmFpbGVkIHRvIHBhcnNlICJ7X19XT1JLRElSX199 L2ZlYXR1cmVzL3R3b19mZWF0dXJlcy5mZWF0dXJlIjoKKy0gICAgICAgICAgICBQYXJzZXIgZmFp bHVyZSBpbiBzdGF0ZSBzdGVwcywgYXQgbGluZSA3OiAiRmVhdHVyZTogRjIiCisrICAgICAgICAg ICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9c3RlcHMgYXQgbGluZSA3OiAiRmVhdHVyZTogRjIi CisgICAgICAgICAgICAgUkVBU09OOiBNdWx0aXBsZSBmZWF0dXJlcyBpbiBvbmUgZmlsZSBhcmUg bm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0 dXJlcy9pc3N1ZTAxNDguZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDE0OC5mZWF0dXJl CitpbmRleCA0Mzg3Nzk1Li42NjdkMTk2IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNz dWUwMTQ4LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDE0OC5mZWF0dXJlCitA QCAtNjcsNyArNjcsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjMTQ4OiBTdWJzdGVwcyBkbyBub3QgZmFp bAorICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorICAgICAgICAg IiIiCisgICAgICAgICBQYXJzZXJFcnJvcjogRmFpbGVkIHRvIHBhcnNlIDxzdHJpbmc+OgorLSAg ICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgc3RlcHMsIGF0IGxpbmUgMjogIkkgZG8gc29t ZXRoaW5nIHN0dXBpZCIKKysgICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlPXN0ZXBzIGF0 IGxpbmUgMjogIkkgZG8gc29tZXRoaW5nIHN0dXBpZCIKKyAgICAgICAgICIiIgorIAorIApkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA3OC1DbGFyaWZ5LXNlbGVjdC1ieS1uYW1lLXVzZXMtcmVnZXgtcGF0dGVybi1yZWxhdGVk LXRvLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA3OC1DbGFyaWZ5LXNlbGVjdC1ieS1uYW1lLXVzZXMtcmVnZXgtcGF0dGVybi1yZWxh dGVkLXRvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNjBlOWU5 MzA5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA3OC1DbGFyaWZ5LXNlbGVjdC1ieS1uYW1lLXVzZXMtcmVnZXgt cGF0dGVybi1yZWxhdGVkLXRvLnBhdGNoCkBAIC0wLDAgKzEsODIgQEAKK0Zyb20gMjMwYjViZjgx ODRiZWIwMmEzZmEyNjc4ZGVmN2YxMWFjZjkxNmUzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTog U3VuLCA5IEZlYiAyMDIwIDIwOjMwOjUzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIENsYXJpZnkg c2VsZWN0LWJ5LW5hbWUgdXNlcyByZWdleCBwYXR0ZXJuIChyZWxhdGVkIHRvOiBpc3N1ZQorICM4 MTApCisKK0NsYXJpZml5IHNlbGVjdC1ieS1uYW1lIHVzZXMgcmVnZXggcGF0dGVybjoKKworKiBB ZGFwdCBjb21tYW5kLWxpbmUgb3B0aW9uIC0tbmFtZSBoZWxwIHRleHQKKyogVXBkYXRlIGNvbW1h bmQtbGluZSBhcmdzIGRvY3MgZm9yIGJlaGF2ZQorLS0tCisgQ0hBTkdFUy5yc3QgICAgICAgICAg ICAgfCAgNCArKysrCisgYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgfCAxMCArKysrKy0tLS0tCisg ZG9jcy9iZWhhdmUucnN0ICAgICAgICAgfCAxMiArKysrKystLS0tLS0KKyAzIGZpbGVzIGNoYW5n ZWQsIDE1IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ0hB TkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggNTY1MzQ5Mi4uZDBiZjZmZCAxMDA2NDQKKy0t LSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTMxLDYgKzMxLDEwIEBAIEVO SEFOQ0VNRU5UUzoKKyAqIGlzc3VlICM2Nzg6IFNjZW5hcmlvIE91dGxpbmU6IFN1cHBvcnQgdGFn cyB3aXRoIGNvbW1hcyBhbmQgc2VtaWNvbG9ucyAocHJvdmlkZWQgYnk6IGxhd25tb3dlcmxhdHRl LCBwdWxsICM2NzkpCisgKiBpc3N1ZSAjNjc1OiBGZWF0dXJlIGZpbGVzIGNhbm5vdCBiZSBmb3Vu ZCB3aXRoaW4gc3ltbGluayBkaXJlY3RvcmllcyAocHJvdmlkZWQgYnk6IHNtYWRuZXNzLCBwdWxs ICM2ODApCisgCisrQ0xBUklGSUNBVElPTjoKKysKKysqIGlzc3VlICM4MTA6IENsYXJpZnkgc2Vs ZWN0LWJ5LW5hbWUgdXNpbmcgcmVnZXggcGF0dGVybiAoc3VibWl0dGVkIGJ5OiB4di1jaHJpcy13 KQorKworIEZJWEVEOgorIAorICogaXNzdWUgIzc3MjogU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVz IHdpdGhvdXQgdGFibGUgKHN1Ym1pdHRlZCBieTogVGhlLVFBLUdlZWspCitkaWZmIC0tZ2l0IGEv YmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQoraW5kZXgg YmQ4YjAzOS4uNjVlMmUzZSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5Cisr KysgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorQEAgLTE2NCwxMSArMTY0LDExIEBAIG9wdGlv bnMgPSBbCisgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGUgYSBjb25maWd1cmF0aW9uIGZpbGUg c2V0dGluZy4iIiIpKSwKKyAKKyAgICAgKCgiLW4iLCAiLS1uYW1lIiksCistICAgICBkaWN0KGFj dGlvbj0iYXBwZW5kIiwKKy0gICAgICAgICAgaGVscD0iIiJPbmx5IGV4ZWN1dGUgdGhlIGZlYXR1 cmUgZWxlbWVudHMgd2hpY2ggbWF0Y2ggcGFydAorLSAgICAgICAgICAgICAgICAgIG9mIHRoZSBn aXZlbiBuYW1lLiBJZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiBtb3JlCistICAgICAgICAgICAgICAg ICAgdGhhbiBvbmNlLCBpdCB3aWxsIG1hdGNoIGFnYWluc3QgYWxsIHRoZSBnaXZlbgorLSAgICAg ICAgICAgICAgICAgIG5hbWVzLiIiIikpLAorKyAgICAgZGljdChhY3Rpb249ImFwcGVuZCIsIG1l dGF2YXI9Ik5BTUVfUEFUVEVSTiIsCisrICAgICAgICAgIGhlbHA9IiIiU2VsZWN0IGZlYXR1cmUg ZWxlbWVudHMgKHNjZW5hcmlvcywgLi4uKSB0byBydW4KKysgICAgICAgICAgICAgICAgICB3aGlj aCBtYXRjaCBwYXJ0IG9mIHRoZSBnaXZlbiBuYW1lIChyZWdleCBwYXR0ZXJuKS4KKysgICAgICAg ICAgICAgICAgICBJZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiBtb3JlIHRoYW4gb25jZSwKKysgICAg ICAgICAgICAgICAgICBpdCB3aWxsIG1hdGNoIGFnYWluc3QgYWxsIHRoZSBnaXZlbiBuYW1lcy4i IiIpKSwKKyAKKyAgICAgKCgiLS1uby1jYXB0dXJlIiwpLAorICAgICAgZGljdChhY3Rpb249InN0 b3JlX2ZhbHNlIiwgZGVzdD0ic3Rkb3V0X2NhcHR1cmUiLAorZGlmZiAtLWdpdCBhL2RvY3MvYmVo YXZlLnJzdCBiL2RvY3MvYmVoYXZlLnJzdAoraW5kZXggZGZiMzkwYS4uMjVjZTUyMyAxMDA2NDQK Ky0tLSBhL2RvY3MvYmVoYXZlLnJzdAorKysrIGIvZG9jcy9iZWhhdmUucnN0CitAQCAtOTUsOSAr OTUsOSBAQCBZb3UgbWF5IHNlZSB0aGUgc2FtZSBpbmZvcm1hdGlvbiBwcmVzZW50ZWQgYmVsb3cg YXQgYW55IHRpbWUgdXNpbmcgYGBiZWhhdmUKKyAKKyAuLiBvcHRpb246OiAtbiwgLS1uYW1lCisg CistICAgIE9ubHkgZXhlY3V0ZSB0aGUgZmVhdHVyZSBlbGVtZW50cyB3aGljaCBtYXRjaCBwYXJ0 IG9mIHRoZSBnaXZlbiBuYW1lLgorLSAgICBJZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiBtb3JlIHRo YW4gb25jZSwgaXQgd2lsbCBtYXRjaCBhZ2FpbnN0IGFsbAorLSAgICB0aGUgZ2l2ZW4gbmFtZXMu CisrICAgIFNlbGVjdCBmZWF0dXJlIGVsZW1lbnRzIChzY2VuYXJpb3MsIC4uLikgdG8gcnVuIHdo aWNoIG1hdGNoIHBhcnQgb2YKKysgICAgdGhlIGdpdmVuIG5hbWUgKHJlZ2V4IHBhdHRlcm4pLiBJ ZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiBtb3JlIHRoYW4KKysgICAgb25jZSwgaXQgd2lsbCBtYXRj aCBhZ2FpbnN0IGFsbCB0aGUgZ2l2ZW4gbmFtZXMuCisgCisgLi4gb3B0aW9uOjogLS1uby1jYXB0 dXJlCisgCitAQCAtNDQ5LDkgKzQ0OSw5IEBAIENvbmZpZ3VyYXRpb24gUGFyYW1ldGVycworIAor IC4uIGRlc2NyaWJlOjogbmFtZSA6IHNlcXVlbmNlPHRleHQ+CisgCistICAgIE9ubHkgZXhlY3V0 ZSB0aGUgZmVhdHVyZSBlbGVtZW50cyB3aGljaCBtYXRjaCBwYXJ0IG9mIHRoZSBnaXZlbiBuYW1l LgorLSAgICBJZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiBtb3JlIHRoYW4gb25jZSwgaXQgd2lsbCBt YXRjaCBhZ2FpbnN0IGFsbAorLSAgICB0aGUgZ2l2ZW4gbmFtZXMuCisrICAgIFNlbGVjdCBmZWF0 dXJlIGVsZW1lbnRzIChzY2VuYXJpb3MsIC4uLikgdG8gcnVuIHdoaWNoIG1hdGNoIHBhcnQgb2YK KysgICAgdGhlIGdpdmVuIG5hbWUgKHJlZ2V4IHBhdHRlcm4pLiBJZiB0aGlzIG9wdGlvbiBpcyBn aXZlbiBtb3JlIHRoYW4KKysgICAgb25jZSwgaXQgd2lsbCBtYXRjaCBhZ2FpbnN0IGFsbCB0aGUg Z2l2ZW4gbmFtZXMuCisgCisgLi4gaW5kZXg6OgorICAgICBzaW5nbGU6IGNvbmZpZ3VyYXRpb24g cGFyYW07IHN0ZG91dF9jYXB0dXJlCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc5LUZJWC1Dcm9zcy1yZWZlcmVuY2UtcHJv YmxlbS1jb3B5LXBhc3RlLWluLVJ1bGUtY2xhc3MucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc5LUZJWC1Dcm9zcy1yZWZlcmVuY2Ut cHJvYmxlbS1jb3B5LXBhc3RlLWluLVJ1bGUtY2xhc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi5iZDU1Y2E1ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDc5LUZJWC1Dcm9z cy1yZWZlcmVuY2UtcHJvYmxlbS1jb3B5LXBhc3RlLWluLVJ1bGUtY2xhc3MucGF0Y2gKQEAgLTAs MCArMSwzNCBAQAorRnJvbSBlNTU1NjlkMGEzZmQxYWE2NTNmZDcwMjcwNWUwOTM1OWJkZDkwNjg1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5u b3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDEzIEFwciAyMDIwIDEwOjMxOjU0ICswMjAw CitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogQ3Jvc3MtcmVmZXJlbmNlIHByb2JsZW0gKGNvcHkrcGFz dGUpIGluIFJ1bGUgY2xhc3MKKyBkb2NzdHJpbmcuCisKKy0tLQorIGJlaGF2ZS9tb2RlbC5weSB8 IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBiL2JlaGF2ZS9tb2RlbC5weQoraW5k ZXggZjQ2ZDJjMi4uY2I2OWY5ZSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9tb2RlbC5weQorKysrIGIv YmVoYXZlL21vZGVsLnB5CitAQCAtODQsOCArODQsOCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5l cihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorIAorICAgICAuLiBhdHRyaWJ1 dGU6OiBrZXl3b3JkCisgCistICAgICAgIFRoaXMgaXMgdGhlIGtleXdvcmQgYXMgc2VlbiBpbiB0 aGUgKmZlYXR1cmUgZmlsZSouIEluIEVuZ2xpc2ggdGhpcyB3aWxsCistICAgICAgIGJlICJGZWF0 dXJlIiBvciAiUnVsZSIuCisrICAgICAgIFRoaXMgaXMgdGhlIGtleXdvcmQgYXMgc2VlbiBpbiB0 aGUgKmZlYXR1cmUgZmlsZSouCisrICAgICAgIEluIEVuZ2xpc2ggdGhpcyB3aWxsIGJlICJGZWF0 dXJlIiBvciAiUnVsZSIuCisgCisgICAgIC4uIGF0dHJpYnV0ZTo6IG5hbWUKKyAKK0BAIC02NzEs NyArNjcxLDcgQEAgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRhaW5lcik6CisgCisgCisgICAgIC4u IHZlcnNpb25hZGRlZDo6IDEuMi43CistICAgIC4uIF9gZmVhdHVyZWA6IGdoZXJraW4uaHRtbCNy dWxlCisrICAgIC4uIF9gcnVsZWA6IGdoZXJraW4uaHRtbCNydWxlCisgICAgICIiIgorICAgICB0 eXBlID0gInJ1bGUiCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgwLURPQ1MtVXBkYXRlLUFQSS1kZXNjcmlwdGlvbi1m b3ItUnVubmVyLU9wZXJhdGlvbi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODAtRE9DUy1VcGRhdGUtQVBJLWRlc2NyaXB0aW9uLWZv ci1SdW5uZXItT3BlcmF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uZGE3YjJiZTYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4MC1ET0NTLVVwZGF0ZS1BUEktZGVzY3Jp cHRpb24tZm9yLVJ1bm5lci1PcGVyYXRpb24ucGF0Y2gKQEAgLTAsMCArMSwxOTUgQEAKK0Zyb20g N2I1ZjZmMjdhMjgxNzE0YzZmZWY4ZTYwOTQxNmI3ZjQwNWU4YjFiYSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgorRGF0ZTogTW9uLCAxMyBBcHIgMjAyMCAxMDozMzo0NCArMDIwMAorU3ViamVjdDogW1BBVENI XSBET0NTOiBVcGRhdGUgQVBJIGRlc2NyaXB0aW9uIGZvciAiUnVubmVyIE9wZXJhdGlvbiIuCisK KyogUHJvdmlkZSBkZXNjcmlwdGlvbiBHaGVya2luIGdyYW1tYXIgY29udGFpbm1lbnRzCisqIEFk ZCBkZXNjcmlwdGlvbiBmb3IgUnVsZShzKS4KKy0tLQorIGRvY3MvYXBpLnJzdCB8IDEzNyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUg Y2hhbmdlZCwgOTYgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9kb2NzL2FwaS5yc3QgYi9kb2NzL2FwaS5yc3QKK2luZGV4IDVlNGI3YjQuLjM5ZmE3NTUgMTAw NjQ0CistLS0gYS9kb2NzL2FwaS5yc3QKKysrKyBiL2RvY3MvYXBpLnJzdAorQEAgLTE5NiwyNCAr MTk2LDM0IEBAIEVudmlyb25tZW50IEZpbGUgRnVuY3Rpb25zCisgVGhlIGVudmlyb25tZW50LnB5 IG1vZHVsZSBtYXkgZGVmaW5lIGNvZGUgdG8gcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgY2VydGFpbgor IGV2ZW50cyBkdXJpbmcgeW91ciB0ZXN0aW5nOgorIAorLSoqYmVmb3JlX3N0ZXAoY29udGV4dCwg c3RlcCksIGFmdGVyX3N0ZXAoY29udGV4dCwgc3RlcCkqKgorLSAgVGhlc2UgcnVuIGJlZm9yZSBh bmQgYWZ0ZXIgZXZlcnkgc3RlcC4gVGhlIHN0ZXAgcGFzc2VkIGluIGlzIGFuIGluc3RhbmNlCist ICBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuU3RlcGAuCisrKipiZWZvcmVfYWxsKGNvbnRleHQp LCBhZnRlcl9hbGwoY29udGV4dCkqKgorKyAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgdGhl IHdob2xlIHNob290aW5nIG1hdGNoLgorKworKyoqYmVmb3JlX2ZlYXR1cmUoY29udGV4dCwgZmVh dHVyZSksIGFmdGVyX2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSkqKgorKyAgVGhlc2UgcnVuIGJl Zm9yZSBhbmQgYWZ0ZXIgZWFjaCBmZWF0dXJlIGlzIGV4ZWN1dGVkLgorKyAgVGhlIGZlYXR1cmUg b2JqZWN0LCB0aGF0IGlzIHBhc3NlZCBpbiwgaXMgYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB+YmVo YXZlLm1vZGVsLkZlYXR1cmVgLgorKworKyoqYmVmb3JlX3J1bGUoY29udGV4dCwgcnVsZSksIGFm dGVyX3J1bGUoY29udGV4dCwgcnVsZSkqKgorKyAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIg ZWFjaCBydWxlIGlzIGV4ZWN1cmVkLgorKyAgVGhlIHJ1bGUgb2JqZWN0LCB0aGF0IGlzIHBhc3Nl ZCBpbiwgaXMgYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB+YmVoYXZlLm1vZGVsLlJ1bGVgLgorIAor ICoqYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKSwgYWZ0ZXJfc2NlbmFyaW8oY29u dGV4dCwgc2NlbmFyaW8pKioKKy0gIFRoZXNlIHJ1biBiZWZvcmUgYW5kIGFmdGVyIGVhY2ggc2Nl bmFyaW8gaXMgcnVuLiBUaGUgc2NlbmFyaW8gcGFzc2VkIGluIGlzIGFuCistICBpbnN0YW5jZSBv ZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuU2NlbmFyaW9gLgorKyAgVGhlc2UgcnVuIGJlZm9yZSBh bmQgYWZ0ZXIgZWFjaCBzY2VuYXJpbyBpcyBydW4uCisrICBUaGUgc2NlbmFyaW8gb2JqZWN0LCB0 aGF0IGlzIHBhc3NlZCBpbiwgaXMgYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB+YmVoYXZlLm1vZGVs LlNjZW5hcmlvYC4KKyAKKy0qKmJlZm9yZV9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpLCBhZnRl cl9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpKioKKy0gIFRoZXNlIHJ1biBiZWZvcmUgYW5kIGFm dGVyIGVhY2ggZmVhdHVyZSBmaWxlIGlzIGV4ZXJjaXNlZC4gVGhlIGZlYXR1cmUKKy0gIHBhc3Nl ZCBpbiBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuRmVhdHVyZWAuCisr KipiZWZvcmVfc3RlcChjb250ZXh0LCBzdGVwKSwgYWZ0ZXJfc3RlcChjb250ZXh0LCBzdGVwKSoq CisrICBUaGVzZSBydW4gYmVmb3JlIGFuZCBhZnRlciBldmVyeSBzdGVwLgorKyAgVGhlIHN0ZXAg b2JqZWN0LCB0aGF0IGlzIHBhc3NlZCBpbiwgaXMgYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB+YmVo YXZlLm1vZGVsLlN0ZXBgLgorIAorICoqYmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpLCBhZnRlcl90 YWcoY29udGV4dCwgdGFnKSoqCisgICBUaGVzZSBydW4gYmVmb3JlIGFuZCBhZnRlciBhIHNlY3Rp b24gdGFnZ2VkIHdpdGggdGhlIGdpdmVuIG5hbWUuIFRoZXkgYXJlCisgICBpbnZva2VkIGZvciBl YWNoIHRhZyBlbmNvdW50ZXJlZCBpbiB0aGUgb3JkZXIgdGhleSdyZSBmb3VuZCBpbiB0aGUKKy0g IGZlYXR1cmUgZmlsZS4gU2VlICA6cmVmOmBjb250cm9sbGluZyB0aGluZ3Mgd2l0aCB0YWdzYC4g VGhlIHRhZyBwYXNzZWQgaW4gaXMKKy0gIGFuIGluc3RhbmNlIG9mIDpjbGFzczpgfmJlaGF2ZS5t b2RlbC5UYWdgIGFuZCBiZWNhdXNlIGl0J3MgYSBzdWJjbGFzcyBvZgorLSAgc3RyaW5nIHlvdSBj YW4gZG8gc2ltcGxlIHRlc3RzIGxpa2U6CisrICBmZWF0dXJlIGZpbGUuIFNlZSAgOnJlZjpgY29u dHJvbGxpbmcgdGhpbmdzIHdpdGggdGFnc2AuCisrCisrICBUYWdnYWJsZSBzdGF0ZW1lbnRzIGFy ZTogRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSwgRXhhbXBsZXMuCisr CisrICBUaGUgdGFnLCB0aGF0IGlzIHBhc3NlZCBpbiwgaXMgYW4gaW5zdGFuY2Ugb2YgOmNsYXNz OmB+YmVoYXZlLm1vZGVsLlRhZ2AgYW5kCisrICBiZWNhdXNlIGl0J3MgYSBzdWJjbGFzcyBvZiBz dHJpbmcgeW91IGNhbiBkbyBzaW1wbGUgdGVzdHMgbGlrZToKKyAKKyAgIC4uIGNvZGUtYmxvY2s6 OiBweXRob24KKyAKK0BAIC0yMjcsOCArMjM3LDYgQEAgZXZlbnRzIGR1cmluZyB5b3VyIHRlc3Rp bmc6CisgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgIGNvbnRleHQuYnJv d3NlciA9IHdlYmRyaXZlci5QbGFpblZhbmlsbGEoKQorIAorLSoqYmVmb3JlX2FsbChjb250ZXh0 KSwgYWZ0ZXJfYWxsKGNvbnRleHQpKioKKy0gIFRoZXNlIHJ1biBiZWZvcmUgYW5kIGFmdGVyIHRo ZSB3aG9sZSBzaG9vdGluZyBtYXRjaC4KKyAKKyAKKyBTb21lIFVzZWZ1bCBFbnZpcm9ubWVudCBJ ZGVhcworQEAgLTMxMSw0MiArMzE5LDg3IEBAIFVzZSBGaXh0dXJlcworIFJ1bm5lciBPcGVyYXRp b24KKyA9PT09PT09PT09PT09PT09CisgCistR2l2ZW4gYWxsIHRoZSBjb2RlIHRoYXQgY291bGQg YmUgcnVuIGJ5ICpiZWhhdmUqLCB0aGlzIGlzIHRoZSBvcmRlciBpbgorLXdoaWNoIHRoYXQgY29k ZSBpcyBpbnZva2VkIChpZiB0aGV5IGV4aXN0LikKKytUaGUgZXhlY3V0aW9uIG9mIGNvZGUgaXMg YmFzZWQgb24gdGhlIEdoZXJraW4gZGVzY3JpcHRpb24gaW4gYCouZmVhdHVyZWAgZmlsZXMuCisr VGhlIGZvbGxvd2luZyBzZWN0aW9uIHByb3ZpZGVzIGEgc2hvcnQgb3ZlcnZpZXcgb2YgdGhlIGhp ZXJhcmNoaWNhbCBjb250YWlubWVudAorK3RoYXQgaXMgcG9zc2libGUgaW4gdGhlIEdoZXJraW4g Z3JhbW1lcjoKKyAKKyAuLiBwYXJzZWQtbGl0ZXJhbDo6CisgCistICAgIGJlZm9yZV9hbGwKKy0g ICAgZm9yIGZlYXR1cmUgaW4gYWxsX2ZlYXR1cmVzOgorLSAgICAgICAgYmVmb3JlX2ZlYXR1cmUK Ky0gICAgICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0dXJlLnNjZW5hcmlvczoKKy0gICAgICAgICAg ICBiZWZvcmVfc2NlbmFyaW8KKy0gICAgICAgICAgICBmb3Igc3RlcCBpbiBzY2VuYXJpby5zdGVw czoKKy0gICAgICAgICAgICAgICAgYmVmb3JlX3N0ZXAKKy0gICAgICAgICAgICAgICAgICAgIHN0 ZXAucnVuKCkKKy0gICAgICAgICAgICAgICAgYWZ0ZXJfc3RlcAorLSAgICAgICAgICAgIGFmdGVy X3NjZW5hcmlvCistICAgICAgICBhZnRlcl9mZWF0dXJlCistICAgIGFmdGVyX2FsbAorKyAgICAj IC0tIFNJTVBMSUZJRUQgR0hFUktJTiBHUkFNTUFSIChmb3IgR2hlcmtpbiB2Nik6CisrICAgICMg Q0FSRElOQUxJVFkgREVDT1JBVE9SOiAnKicgbWVhbnMgMC4uTiAobWFueSksICc/JyBtZWFucyAw Li4xIChvcHRpb25hbCkKKysgICAgIyBFWEFNUExFOiBGZWF0dXJlCisrICAgICMgICBBIEZlYXR1 cmUgY2FuIGhhdmUgbWFueSBUYWdzIChhcyBUYWdnYWJsZVN0YXRlbWVudDogemVybyBvciBtb3Jl IHRhZ3MgYmVmb3JlIGl0cyBrZXl3b3JkKS4KKysgICAgIyAgIEEgRmVhdHVyZSBjYW4gaGF2ZSBh biBvcHRpb25hbCBCYWNrZ3JvdW5kLgorKyAgICAjICAgQSBGZWF0dXJlIGNhbiBoYXZlIG1hbnkg U2NlbmFyaW8ocyksIG1lYW5pbmcgemVybyBvciBtb3JlIFNjZW5hcmlvcy4KKysgICAgIyAgIEEg RmVhdHVyZSBjYW4gaGF2ZSBtYW55IFNjZW5hcmlvT3V0bGluZShzKS4KKysgICAgIyAgIEEgRmVh dHVyZSBjYW4gaGF2ZSBtYW55IFJ1bGUocykuCisrICAgIEZlYXR1cmUoVGFnZ2FibGVTdGF0ZW1l bnQpOgorKyAgICAgICAgQmFja2dyb3VuZD8KKysgICAgICAgIFNjZW5hcmlvKgorKyAgICAgICAg U2NlbmFyaW9PdXRsaW5lKgorKyAgICAgICAgUnVsZSoKKysKKysgICAgQmFja2dyb3VuZDoKKysg ICAgICAgIFN0ZXAqICAgICAgICAgICAjIEJhY2tncm91bmQgc3RlcHMgYXJlIGluamVjdGVkIGlu dG8gYW55IFNjZW5hcmlvIG9mIGl0cyBzY29wZS4KKysKKysgICAgU2NlbmFyaW8oVGFnZ2FibGVT dGF0ZW1lbnQpOgorKyAgICAgICAgU3RlcCoKKyAKKy1JZiB0aGUgZmVhdHVyZSBjb250YWlucyBz Y2VuYXJpbyBvdXRsaW5lcyB0aGVuIHRoZXJlIGlzIGFuIGFkZGl0aW9uYWwgbG9vcAorLW92ZXIg YWxsIHRoZSBzY2VuYXJpb3MgaW4gdGhlIG91dGxpbmUgbWFraW5nIHRoZSBydW5uaW5nIGxvb2sg bGlrZSB0aGlzOgorKyAgICBTY2VuYXJpb091dGxpbmUoU2NlbmFyaW9UZW1wbGF0ZVdpdGhQbGFj ZWhvbGRlcnMpOgorKyAgICAgICAgU2NlbmFyaW8qICAgICAgICMgUmVuZGVyZWQgVGVtcGxhdGUg YnkgdXNpbmcgU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLnJvd3MgcGxhY2Vob2xkZXIgdmFsdWVz LgorKworKyAgICBSdWxlKFRhZ2dhYmxlU3RhdGVtZW50KToKKysgICAgICAgIEJhY2tncm91bmQ/ ICAgICAjIEJlaGF2ZS1zcGVjaWZpYyBleHRlbnNpb24gKGFmdGVyIHJlbW92YWwgZnJvbSBmaW5h bCBHaGVya2luIHY2KS4KKysgICAgICAgIFNjZW5hcmlvKgorKyAgICAgICAgU2NlbmFyaW9PdXRs aW5lKgorKworKworK0dpdmVuIGFsbCB0aGUgY29kZSB0aGF0IGNvdWxkIGJlIHJ1biBieSAqYmVo YXZlKiwKKyt0aGlzIGlzIHRoZSBvcmRlciBpbiB3aGljaCB0aGF0IGNvZGUgaXMgaW52b2tlZCAo aWYgdGhleSBleGlzdC4pCisgCisgLi4gcGFyc2VkLWxpdGVyYWw6OgorIAorLSAgICBiZWZvcmVf YWxsCisrICAgICMgLS0gUFNFVURPLUNPREU6CisrICAgICMgSE9PSzogYmVmb3JlX3RhZygpLCBh ZnRlcl90YWcoKSBpcyBjYWxsZWQgZm9yIEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvCisrICAgIGN0 eCA9IGNyZWF0ZUNvbnRleHQoKQorKyAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3JlX2FsbChj dHgpCisgICAgIGZvciBmZWF0dXJlIGluIGFsbF9mZWF0dXJlczoKKy0gICAgICAgIGJlZm9yZV9m ZWF0dXJlCistICAgICAgICBmb3Igb3V0bGluZSBpbiBmZWF0dXJlLnNjZW5hcmlvczoKKy0gICAg ICAgICAgICBmb3Igc2NlbmFyaW8gaW4gb3V0bGluZS5zY2VuYXJpb3M6CistICAgICAgICAgICAg ICAgIGJlZm9yZV9zY2VuYXJpbworLSAgICAgICAgICAgICAgICBmb3Igc3RlcCBpbiBzY2VuYXJp by5zdGVwczoKKy0gICAgICAgICAgICAgICAgICAgIGJlZm9yZV9zdGVwCistICAgICAgICAgICAg ICAgICAgICAgICAgc3RlcC5ydW4oKQorLSAgICAgICAgICAgICAgICAgICAgYWZ0ZXJfc3RlcAor LSAgICAgICAgICAgICAgICBhZnRlcl9zY2VuYXJpbworLSAgICAgICAgYWZ0ZXJfZmVhdHVyZQor LSAgICBhZnRlcl9hbGwKKysgICAgICAgIGZvciB0YWcgaW4gZmVhdHVyZS50YWdzOiBjYWxsLW9w dGlvbmFsLWhvb2sgYmVmb3JlX3RhZyhjdHgsIHRhZykKKysgICAgICAgIGNhbGwtb3B0aW9uYWwt aG9vayBiZWZvcmVfZmVhdHVyZShjdHgsIGZlYXR1cmUpCisrICAgICAgICBmb3IgcnVuX2l0ZW0g aW4gZmVhdHVyZS5ydW5faXRlbXM6ICAjIENBTiBCRTogUnVsZSwgU2NlbmFyaW8sIFNjZW5hcmlv T3V0bGluZQorKyAgICAgICAgICAgIGV4ZWN1dGVfcnVuX2l0ZW0oY3R4LCBydW5faXRlbSkKKysg ICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl9mZWF0dXJlKGN0eCwgZmVhdHVyZSkKKysg ICAgICAgIGZvciB0YWcgaW4gZmVhdHVyZS50YWdzOiBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJf dGFnKGN0eCwgdGFnKQorKyAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJfYWxsKGN0eCkKKysK KysgICAgZnVuY3Rpb24gZXhlY3V0ZV9ydW5faXRlbShydW5faXRlbSwgY3R4KToKKysgICAgICAg IGlmIHJ1bl9pdGVtIGlzYSBSdWxlOgorKyAgICAgICAgICAgICMgLS0gQ0FTRTogUnVsZQorKyAg ICAgICAgICAgIHJ1bGUgPSBydW5faXRlbQorKyAgICAgICAgICAgIGZvciB0YWcgaW4gcnVsZS50 YWdzOiBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3JlX3RhZyhjdHgsIHRhZykKKysgICAgICAgICAg ICBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3JlX3J1bGUoY3R4LCBydWxlKQorKyAgICAgICAgICAg IGZvciBydW5faXRlbSBpbiBydWxlLnJ1bl9pdGVtczogICAgICMgQ0FOIEJFOiBTY2VuYXJpbywg U2NlbmFyaW9PdXRsaW5lCisrICAgICAgICAgICAgICAgIGV4ZWN1dGVfcnVuX2l0ZW0ocnVuX2l0 ZW0sIGN0eCkKKysgICAgICAgICAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJfcnVsZShjdHgs IHJ1bGUpCisrICAgICAgICAgICAgZm9yIHRhZyBpbiBydWxlLnRhZ3M6IGNhbGwtb3B0aW9uYWwt aG9vayBhZnRlcl90YWcoY3R4LCB0YWcpCisrICAgICAgICBlbHNlIGlmIHJ1bl9pdGVtIGlzYSBT Y2VuYXJpb091dGxpbmU6CisrICAgICAgICAgICAgIyAtLSBDQVNFOiBTY2VuYXJpb091dGxpbmUK KysgICAgICAgICAgICAjIEhJTlQ6IEFsbCBTY2VuYXJpb3MgYXJlIGFscmVhZHkgY3JlYXRlZCBm cm9tIEV4YW1wbGUocykgcm93cy4KKysgICAgICAgICAgICBzY2VuYXJpb19vdXRsaW5lID0gcnVu X2l0ZW0KKysgICAgICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2NlbmFyaW9fb3V0bGluZS5zY2Vu YXJpb3M6CisrICAgICAgICAgICAgICAgIGV4ZWN1dGVfcnVuX2l0ZW0oc2NlbmFyaW8sIGN0eCkK KysgICAgICAgIGVsc2UgaWYgcnVuX2l0ZW0gaXNhIFNjZW5hcmlvOgorKyAgICAgICAgICAgICMg LS0gQ0FTRTogU2NlbmFyaW8KKysgICAgICAgICAgICAjIEhJTlQ6IEJhY2tncm91bmQgc3RlcHMg YXJlIGluamVjdGVkIGJlZm9yZSBzY2VuYXJpbyBzdGVwcy4KKysgICAgICAgICAgICBzY2VuYXJp byA9IHJ1bl9pdGVtCisrICAgICAgICAgICAgZm9yIHRhZyBpbiBzY2VuYXJpby50YWdzOiBjYWxs LW9wdGlvbmFsLWhvb2sgYmVmb3JlX3RhZyhjdHgsIHRhZykKKysgICAgICAgICAgICBjYWxsLW9w dGlvbmFsLWhvb2sgYmVmb3JlX3NjZW5hcmlvKGN0eCwgc2NlbmFyaW8pCisrICAgICAgICAgICAg Zm9yIHN0ZXAgaW4gc2NlbmFyaW8uc3RlcHM6CisrICAgICAgICAgICAgICAgIGNhbGwtb3B0aW9u YWwtaG9vayBiZWZvcmVfc3RlcChjdHgsIHN0ZXApCisrICAgICAgICAgICAgICAgIHN0ZXAucnVu KGN0eCkKKysgICAgICAgICAgICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGFmdGVyX3N0ZXAoY3R4 LCBzdGVwKQorKyAgICAgICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl9zY2VuYXJpbyhj dHgsIHNjZW5hcmlvKQorKyAgICAgICAgICAgIGZvciB0YWcgaW4gc2NlbmFyaW8udGFnczogY2Fs bC1vcHRpb25hbC1ob29rIGFmdGVyX3RhZyhjdHgsIHRhZykKKyAKKyAKKyBNb2RlbCBPYmplY3Rz CitAQCAtMzk3LDYgKzQ1MCw4IEBAIGJlOgorIAorIC4uIGF1dG9jbGFzczo6IGJlaGF2ZS5tb2Rl bC5GZWF0dXJlCisgCisrLi4gYXV0b2NsYXNzOjogYmVoYXZlLm1vZGVsLlJ1bGUKKysKKyAuLiBh dXRvY2xhc3M6OiBiZWhhdmUubW9kZWwuQmFja2dyb3VuZAorIAorIC4uIGF1dG9jbGFzczo6IGJl aGF2ZS5tb2RlbC5TY2VuYXJpbwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4MS1GSVgtRE9DUy1SdW5uZXItb3BlcmF0aW9u cy10eXBvLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA4MS1GSVgtRE9DUy1SdW5uZXItb3BlcmF0aW9ucy10eXBvLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uM2I2YjgzYTFiCi0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA4MS1GSVgtRE9DUy1SdW5uZXItb3BlcmF0aW9ucy10eXBvLnBhdGNoCkBAIC0wLDAgKzEsMjIg QEAKK0Zyb20gMDdhZDc5NThlYWI5NmE0ZGFkYWU1MTRmN2Y5NjNmYTczZDM1NjE5MSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogTW9uLCAxMyBBcHIgMjAyMCAxMDozODoxNyArMDIwMAorU3ViamVj dDogW1BBVENIXSBGSVggRE9DUzogUnVubmVyIG9wZXJhdGlvbnMgdHlwby4KKworLS0tCisgZG9j cy9hcGkucnN0IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9hcGkucnN0IGIvZG9jcy9hcGkucnN0CitpbmRl eCAzOWZhNzU1Li40NzYzYWQ2IDEwMDY0NAorLS0tIGEvZG9jcy9hcGkucnN0CisrKysgYi9kb2Nz L2FwaS5yc3QKK0BAIC0zNjcsNyArMzY3LDcgQEAgdGhpcyBpcyB0aGUgb3JkZXIgaW4gd2hpY2gg dGhhdCBjb2RlIGlzIGludm9rZWQgKGlmIHRoZXkgZXhpc3QuKQorICAgICAgICAgZm9yIHRhZyBp biBmZWF0dXJlLnRhZ3M6IGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfdGFnKGN0eCwgdGFnKQor ICAgICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGJlZm9yZV9mZWF0dXJlKGN0eCwgZmVhdHVyZSkK KyAgICAgICAgIGZvciBydW5faXRlbSBpbiBmZWF0dXJlLnJ1bl9pdGVtczogICMgQ0FOIEJFOiBS dWxlLCBTY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lCistICAgICAgICAgICAgZXhlY3V0ZV9ydW5f aXRlbShjdHgsIHJ1bl9pdGVtKQorKyAgICAgICAgICAgIGV4ZWN1dGVfcnVuX2l0ZW0ocnVuX2l0 ZW0sIGN0eCkKKyAgICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl9mZWF0dXJlKGN0eCwg ZmVhdHVyZSkKKyAgICAgICAgIGZvciB0YWcgaW4gZmVhdHVyZS50YWdzOiBjYWxsLW9wdGlvbmFs LWhvb2sgYWZ0ZXJfdGFnKGN0eCwgdGFnKQorICAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJf YWxsKGN0eCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwODItaXNzdWUtNzQwLUVuaGFuY2VtZW50LUNvbnRleHQuYWRkX2Ns ZWFudXAtd2l0aC1sYXllci5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwODItaXNzdWUtNzQwLUVuaGFuY2VtZW50LUNvbnRleHQuYWRk X2NsZWFudXAtd2l0aC1sYXllci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjg0M2Y1MzExMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODItaXNzdWUtNzQwLUVuaGFuY2VtZW50 LUNvbnRleHQuYWRkX2NsZWFudXAtd2l0aC1sYXllci5wYXRjaApAQCAtMCwwICsxLDI5NSBAQAor RnJvbSAyY2YxMDIxNWI1ZThmY2JiOTE2MmJkZTQ4NDU2YjYwNzg2ZDgyOGNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBXZWQsIDIzIFNlcCAyMDIwIDIzOjIyOjQ1ICswMjAwCitTdWJqZWN0OiBb UEFUQ0hdIGlzc3VlICM3NDA6IEVuaGFuY2VtZW50OiBDb250ZXh0LmFkZF9jbGVhbnVwKCkgd2l0 aAorIGxheWVyLW5hbWUKKworQ29udGV4dC5hZGRfY2xlYW51cCgpIGNhbiBjaG9vc2Ugd2hpY2gg Y2xlYW51cCBsYXllciB0byB1c2UgKG91dGVyIGxheWVyKS4KK1RoaXMgcHJvdmlkZXMgdGhlIHBv c3NpYmlsaXR5IHRoYXQgYSBjbGVhbnVwLWZ1bmNpb24sIHJlZ2lzdGVyZWQgd2l0aAorQ29udGV4 dC5hZGRfY2xlYW51cChjbGVhbnVwX2Z1bmMsIC4uLikgdG8gYmUgY2FsbGVkIHVwb24gbGVhdmlu ZwordGhlIG91dGVyIGNvbnRleHQgc3RhY2sgZnJhbWVzLgorCitTdWJtaXR0ZWQgYnk6IG5pendp egorUmVxdWVzdGVkIGJ5OiBkY3Ztb29sZQorLS0tCisgQ0hBTkdFUy5yc3QgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNyArKysKKyBiZWhhdmUvbW9kZWwucHkgICAgICAgICAgICAgICAgICAg ICB8ICA0ICstCisgYmVoYXZlL3J1bm5lci5weSAgICAgICAgICAgICAgICAgICAgfCA0NSArKysr KysrKysrKystLS0KKyB0ZXN0cy91bml0L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weSB8IDg2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKystCisgNCBmaWxlcyBjaGFuZ2VkLCAxMzAgaW5zZXJ0 aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NI QU5HRVMucnN0CitpbmRleCBkMGJmNmZkLi5kNzU4MzY0IDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5y c3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtMjgsNiArMjgsNyBAQCBFTkhBTkNFTUVOVFM6Cisg KiBVc2UgY3VjdW1iZXIgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIG5vdyAoc2ltcGxpZnk6IEdo ZXJraW4gdjYgYWxpYXNlcywgbGFuZ3VhZ2UgdXNhZ2UpCisgKiBTdXBwb3J0IGVtb2ppcyBpbiBg YCouZmVhdHVyZWBgIGZpbGVzIGFuZCBzdGVwcworICogU2VsZWN0LWJ5LWxvY2F0aW9uOiBBZGQg c3VwcG9ydCBmb3IgIlNjZW5hcmlvIGNvbnRhaW5lciIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlv T3V0bGluZSkgKHJlbGF0ZWQgdG86ICMzOTEpCisrKiBpc3N1ZSAjNzQwOiBFbmhhbmNlbWVudDog cG9zc2liaWxpdHkgdG8gYWRkIGNsZWFudXAgdG8gYmUgY2FsbGVkIHVwb24gbGVhdmluZyBvdXRl ciBjb250ZXh0IHN0YWNrIGZyYW1lcyAoc3VibWl0dGVkIGJ5OiBuaXp3aXosIGRjdm1vb2xlKQor ICogaXNzdWUgIzY3ODogU2NlbmFyaW8gT3V0bGluZTogU3VwcG9ydCB0YWdzIHdpdGggY29tbWFz IGFuZCBzZW1pY29sb25zIChwcm92aWRlZCBieTogbGF3bm1vd2VybGF0dGUsIHB1bGwgIzY3OSkK KyAqIGlzc3VlICM2NzU6IEZlYXR1cmUgZmlsZXMgY2Fubm90IGJlIGZvdW5kIHdpdGhpbiBzeW1s aW5rIGRpcmVjdG9yaWVzIChwcm92aWRlZCBieTogc21hZG5lc3MsIHB1bGwgIzY4MCkKKyAKK0BA IC02NSw2ICs2NiwxMiBAQCBET0NVTUVOVEFUSU9OOgorICogcHVsbCAgIzY4NDogRml4IHR5cG8g aW4gImluc3RhbGwucnN0IiAocHJvdmlkZWQgYnk6IG1zdHJlZCkKKyAqIHB1bGwgICM2Mjg6IENo YW5nZWQgcHl0aG9uaG9zdGVkLm9yZyBsaW5rcyB0byByZWFkdGhlZG9jcy5pbyAocHJvdmlkZWQg Ynk6IGNocmlzYnJha2UpCisgCisrQlJFQUtJTkcgQ0hBTkdFUyAobmFtaW5nKToKKysKKysqIGJl aGF2ZS5ydW5uZXIuQ29udGV4dC5fcHVzaChsYXllcj1Ob25lKTogV2FzIENvbnRleHQuX3B1c2go bGF5ZXJfbmFtZT1Ob25lKQorKyogYmVoYXZlLnJ1bm5lci5zY29wZWRfY29udGV4dF9sYXllcihj b250ZXh0LCBsYXllcj1Ob25lKToKKysgIFdhcyBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0 LmxheWVyX25hbWU9Tm9uZSkKKysKKyAKKyAuLiBfYGN1Y3VtYmVyLXRhZy1leHByZXNzaW9uc2A6 IGh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC9jdWN1bWJlci10YWctZXhwcmVzc2lvbnMvCisgCitk aWZmIC0tZ2l0IGEvYmVoYXZlL21vZGVsLnB5IGIvYmVoYXZlL21vZGVsLnB5CitpbmRleCBjYjY5 ZjllLi5mMWVjNzI1IDEwMDY0NAorLS0tIGEvYmVoYXZlL21vZGVsLnB5CisrKysgYi9iZWhhdmUv bW9kZWwucHkKK0BAIC0zNjMsNyArMzYzLDcgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFn QW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIGhvb2tfYmVmb3JlX2Vu dGl0eSA9ICJiZWZvcmVfezB9Ii5mb3JtYXQoZW50aXR5X25hbWUpCisgICAgICAgICBob29rX2Fm dGVyX2VudGl0eSA9ICJhZnRlcl97MH0iLmZvcm1hdChlbnRpdHlfbmFtZSkKKyAKKy0gICAgICAg IHJ1bm5lci5jb250ZXh0Ll9wdXNoKGxheWVyX25hbWU9ZW50aXR5X25hbWUpICAgICAgIyBweWxp bnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworKyAgICAgICAgcnVubmVyLmNvbnRleHQuX3B1 c2gobGF5ZXI9ZW50aXR5X25hbWUpICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFj Y2VzcworICAgICAgICAgcnVubmVyLmNvbnRleHQudGFncyA9IHNldChzZWxmLnRhZ3MpCisgICAg ICAgICBzZWxmLl9zZXR1cF9jb250ZXh0X2Zvcl9ydW4ocnVubmVyLmNvbnRleHQpCisgCitAQCAt MTEzNiw3ICsxMTM2LDcgQEAgY2xhc3MgU2NlbmFyaW8oVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBS ZXBsYXlhYmxlKToKKyAgICAgICAgIGRyeV9ydW5fc2NlbmFyaW8gPSBydW5fc2NlbmFyaW8gYW5k IHJ1bm5lci5jb25maWcuZHJ5X3J1bgorICAgICAgICAgc2VsZi53YXNfZHJ5X3J1biA9IGRyeV9y dW5fc2NlbmFyaW8KKyAKKy0gICAgICAgIHJ1bm5lci5jb250ZXh0Ll9wdXNoKGxheWVyX25hbWU9 InNjZW5hcmlvIikgICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisrICAg ICAgICBydW5uZXIuY29udGV4dC5fcHVzaChsYXllcj0ic2NlbmFyaW8iKSAgICAgICMgcHlsaW50 OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKyAgICAgICAgIHJ1bm5lci5jb250ZXh0LnNjZW5h cmlvID0gc2VsZgorICAgICAgICAgcnVubmVyLmNvbnRleHQudGFncyA9IHNldChzZWxmLmVmZmVj dGl2ZV90YWdzKQorIAorZGlmZiAtLWdpdCBhL2JlaGF2ZS9ydW5uZXIucHkgYi9iZWhhdmUvcnVu bmVyLnB5CitpbmRleCA2YjIwOTM3Li5kMDFiZmYwIDEwMDY0NAorLS0tIGEvYmVoYXZlL3J1bm5l ci5weQorKysrIGIvYmVoYXZlL3J1bm5lci5weQorQEAgLTE0NSw3ICsxNDUsNyBAQCBjbGFzcyBD b250ZXh0KG9iamVjdCk6CisgICAgIHRyaWVzIHRvIG92ZXJ3cml0ZSBhIHVzZXItc2V0IHZhcmlh YmxlLgorIAorICAgICBZb3UgbWF5IHVzZSB0aGUgImluIiBvcGVyYXRvciB0byB0ZXN0IHdoZXRo ZXIgYSBjZXJ0YWluIHZhbHVlIGhhcyBiZWVuIHNldAorLSAgICBvbiB0aGUgY29udGV4dCwgZm9y IGV4YW1wbGU6CisrICAgIG9uIHRoZSBjb250ZXh0LCBmb3IgZXhhbXBsZTo6CisgCisgICAgICAg ICAiZmVhdHVyZSIgaW4gY29udGV4dAorIAorQEAgLTE1OCw2ICsxNTgsNyBAQCBjbGFzcyBDb250 ZXh0KG9iamVjdCk6CisgICAgIC4uIF9gY29uZmlndXJhdGlvbiBmaWxlIHNlY3Rpb24gbmFtZXNg OiBiZWhhdmUuaHRtbCNjb25maWd1cmF0aW9uLWZpbGVzCisgICAgICIiIgorICAgICAjIHB5bGlu dDogZGlzYWJsZT10b28tbWFueS1pbnN0YW5jZS1hdHRyaWJ1dGVzCisrICAgIExBWUVSX05BTUVT ID0gWyJ0ZXN0cnVuIiwgImZlYXR1cmUiLCAicnVsZSIsICJzY2VuYXJpbyJdCisgICAgIEZBSUxf T05fQ0xFQU5VUF9FUlJPUlMgPSBUcnVlCisgCisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBydW5u ZXIpOgorQEAgLTI0NSwxNiArMjQ2LDE1IEBAIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAgICAg ICAgICAgICBkZWwgY2xlYW51cF9lcnJvcnMgICMgLS0gRU5TVVJFOiBSZWxlYXNlIG90aGVyIGV4 Y2VwdGlvbiBmcmFtZXMuCisgICAgICAgICAgICAgc2l4LnJlcmFpc2UoKmZpcnN0X2NsZWFudXBf ZXJyb19pbmZvKQorIAorLQorLSAgICBkZWYgX3B1c2goc2VsZiwgbGF5ZXJfbmFtZT1Ob25lKToK KysgICAgZGVmIF9wdXNoKHNlbGYsIGxheWVyPU5vbmUpOgorICAgICAgICAgIiIiUHVzaCBhIG5l dyBsYXllciBvbiB0aGUgY29udGV4dCBzdGFjay4KKy0gICAgICAgIEhJTlQ6IFVzZSBsYXllcl9u YW1lIHZhbHVlczogInNjZW5hcmlvIiwgImZlYXR1cmUiLCAidGVzdHJ1biIuCisrICAgICAgICBI SU5UOiBVc2UgbGF5ZXIgdmFsdWVzOiAidGVzdHJ1biIsICJmZWF0dXJlIiwgInJ1bGUsICJzY2Vu YXJpbyIuCisgCistICAgICAgICA6cGFyYW0gbGF5ZXJfbmFtZTogICBMYXllciBuYW1lIHRvIHVz ZSAob3IgTm9uZSkuCisrICAgICAgICA6cGFyYW0gbGF5ZXI6ICAgTGF5ZXIgbmFtZSB0byB1c2Ug KG9yIE5vbmUpLgorICAgICAgICAgIiIiCisgICAgICAgICBpbml0aWFsX2RhdGEgPSB7IkBjbGVh bnVwcyI6IFtdfQorLSAgICAgICAgaWYgbGF5ZXJfbmFtZToKKy0gICAgICAgICAgICBpbml0aWFs X2RhdGFbIkBsYXllciJdID0gbGF5ZXJfbmFtZQorKyAgICAgICAgaWYgbGF5ZXI6CisrICAgICAg ICAgICAgaW5pdGlhbF9kYXRhWyJAbGF5ZXIiXSA9IGxheWVyCisgICAgICAgICBzZWxmLl9zdGFj ay5pbnNlcnQoMCwgaW5pdGlhbF9kYXRhKQorIAorICAgICBkZWYgX3BvcChzZWxmKToKK0BAIC00 MjYsNiArNDI2LDIwIEBAIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAgICAgICAgICAgICBzZWxm LnRleHQgPSBvcmlnaW5hbF90ZXh0CisgICAgICAgICByZXR1cm4gVHJ1ZQorIAorKyAgICBkZWYg X3NlbGVjdF9zdGFja19mcmFtZV9ieV9sYXllcihzZWxmLCBsYXllcik6CisrICAgICAgICAiIiJT ZWxlY3QgY29udGV4dCBzdGFjayBmcmFtZSBieSBsYXllciBuYW1lLgorKworKyAgICAgICAgOnBh cmFtIGxheWVyOiAgIExheWVyIG5hbWUgKGFzIHN0cmluZykuCisrICAgICAgICA6cmV0dXJuOiBT ZWxlY3RlZCBmcmFtZSBvYmplY3QgKGlmIGFueSkKKysgICAgICAgIDpyYWlzZXM6IExvb2t1cEVy cm9yLCBpZiBsYXllciB3YXMgbm90IGZvdW5kLgorKyAgICAgICAgIiIiCisrICAgICAgICBmb3Ig ZnJhbWUgaW4gc2VsZi5fc3RhY2s6CisrICAgICAgICAgICAgZnJhbWVfbGF5ZXIgPSBmcmFtZS5n ZXQoIkBsYXllciIsIE5vbmUpCisrICAgICAgICAgICAgaWYgbGF5ZXIgPT0gZnJhbWVfbGF5ZXI6 CisrICAgICAgICAgICAgICAgIHJldHVybiBmcmFtZQorKyAgICAgICAgIyAtLSBPT1BTLCBOT1Qg Rk9VTkQ6CisrICAgICAgICByYWlzZSBMb29rdXBFcnJvcigiQ29udGV4dC5zdGFjazogbGF5ZXI9 JXMgbm90IGZvdW5kIiAlIGxheWVyKQorKworICAgICBkZWYgYWRkX2NsZWFudXAoc2VsZiwgY2xl YW51cF9mdW5jLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgIiIiQWRkcyBhIGNsZWFudXAg ZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiA6bWV0aDpgQ29udGV4dC5fcG9wKClgCisgICAg ICAgICBpcyBjYWxsZWQuIFRoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZXItY2xlYW51cHMuCitAQCAt NDMzLDEwICs0NDcsMjEgQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorICAgICAgICAgOnBhcmFt IGNsZWFudXBfZnVuYzogICAgQ2FsbGFibGUgZnVuY3Rpb24KKyAgICAgICAgIDpwYXJhbSBhcmdz OiAgICAgICAgICAgIEFyZ3MgZm9yIGNsZWFudXBfZnVuYygpIGNhbGwgKG9wdGlvbmFsKS4KKyAg ICAgICAgIDpwYXJhbSBrd2FyZ3M6ICAgICAgICAgIEt3YXJncyBmb3IgY2xlYW51cF9mdW5jKCkg Y2FsbCAob3B0aW9uYWwpLgorKworKyAgICAgICAgLi4gbm90ZTo6IFJFU0VSVkVEIDpvYmo6YGxh eWVyYCA6IG9wdGlvbmFsLXN0cmluZworKworKyAgICAgICAgICAgIFRoZSBrZXl3b3JkIGFyZ3Vt ZW50IGBgbGF5ZXI9IkxBWUVSX05BTUUiYGAgY2FuIHRvIGJlIHVzZWQgdG8KKysgICAgICAgICAg ICBhc3NpZ24gdGhlIDpvYmo6YGNsZWFudXBfZnVuY2AgdG8gc3BlY2lmaWMgYSBsYXllciBvbiB0 aGUgY29udGV4dCBzdGFjaworKyAgICAgICAgICAgIChpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGxh eWVyKS4KKysKKysgICAgICAgICAgICBLbm93biBsYXllciBuYW1lcyBhcmU6ICJ0ZXN0cnVuIiwg ImZlYXR1cmUiLCAicnVsZSIsICJzY2VuYXJpbyIKKysKKysgICAgICAgIC4uIHNlZWFsc286OiA6 YXR0cjpgLkNvbnRleHQuTEFZRVJfTkFNRVNgCisgICAgICAgICAiIiIKKyAgICAgICAgICMgTUFZ QkU6CisgICAgICAgICBhc3NlcnQgY2FsbGFibGUoY2xlYW51cF9mdW5jKSwgIlJFUVVJUkVTOiBj YWxsYWJsZShjbGVhbnVwX2Z1bmMpIgorICAgICAgICAgYXNzZXJ0IHNlbGYuX3N0YWNrCisrICAg ICAgICBsYXllciA9IGt3YXJncy5wb3AoImxheWVyIiwgTm9uZSkKKyAgICAgICAgIGlmIGFyZ3Mg b3Iga3dhcmdzOgorICAgICAgICAgICAgIGRlZiBpbnRlcm5hbF9jbGVhbnVwX2Z1bmMoKToKKyAg ICAgICAgICAgICAgICAgY2xlYW51cF9mdW5jKCphcmdzLCAqKmt3YXJncykKK0BAIC00NDQsNiAr NDY5LDggQEAgY2xhc3MgQ29udGV4dChvYmplY3QpOgorICAgICAgICAgICAgIGludGVybmFsX2Ns ZWFudXBfZnVuYyA9IGNsZWFudXBfZnVuYworIAorICAgICAgICAgY3VycmVudF9mcmFtZSA9IHNl bGYuX3N0YWNrWzBdCisrICAgICAgICBpZiBsYXllcjoKKysgICAgICAgICAgICBjdXJyZW50X2Zy YW1lID0gc2VsZi5fc2VsZWN0X3N0YWNrX2ZyYW1lX2J5X2xheWVyKGxheWVyKQorICAgICAgICAg aWYgY2xlYW51cF9mdW5jIG5vdCBpbiBjdXJyZW50X2ZyYW1lWyJAY2xlYW51cHMiXToKKyAgICAg ICAgICAgICAjIC0tIEFWT0lEIERVUExJQ0FURVM6CisgICAgICAgICAgICAgY3VycmVudF9mcmFt ZVsiQGNsZWFudXBzIl0uYXBwZW5kKGludGVybmFsX2NsZWFudXBfZnVuYykKK0BAIC00NzcsNyAr NTA0LDcgQEAgZGVmIHVzZV9jb250ZXh0X3dpdGhfbW9kZShjb250ZXh0LCBtb2RlKToKKyAKKyAK KyBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorLWRlZiBzY29wZWRfY29udGV4dF9sYXllcihj b250ZXh0LCBsYXllcl9uYW1lPU5vbmUpOgorK2RlZiBzY29wZWRfY29udGV4dF9sYXllcihjb250 ZXh0LCBsYXllcj1Ob25lKToKKyAgICAgIiIiUHJvdmlkZXMgY29udGV4dCBtYW5hZ2VyIGZvciBj b250ZXh0IGxheWVyIChwdXNoL2RvLXNvbWV0aGluZy9wb3AgY3ljbGUpLgorIAorICAgICAuLiBj b2RlLWJsb2NrOjoKK0BAIC00ODcsNyArNTE0LDcgQEAgZGVmIHNjb3BlZF9jb250ZXh0X2xheWVy KGNvbnRleHQsIGxheWVyX25hbWU9Tm9uZSk6CisgICAgICIiIgorICAgICAjIHB5bGludDogZGlz YWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisgICAgIHRyeToKKy0gICAgICAgIGNvbnRleHQuX3B1c2go bGF5ZXJfbmFtZSkKKysgICAgICAgIGNvbnRleHQuX3B1c2gobGF5ZXIpCisgICAgICAgICB5aWVs ZCBjb250ZXh0CisgICAgIGZpbmFsbHk6CisgICAgICAgICBjb250ZXh0Ll9wb3AoKQorZGlmZiAt LWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2NsZWFudXBzLnB5IGIvdGVzdHMvdW5pdC90 ZXN0X2NvbnRleHRfY2xlYW51cHMucHkKK2luZGV4IGJmMGFiNTAuLmMzMmM1NzIgMTAwNjQ0Cist LS0gYS90ZXN0cy91bml0L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weQorKysrIGIvdGVzdHMvdW5p dC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkKK0BAIC0yMyw2ICsyMyw5IEBAIGltcG9ydCBweXRl c3QKKyBkZWYgY2xlYW51cF9mdW5jKCk6CisgICAgIHBhc3MKKyAKKytkZWYgY2xlYW51cF9mdW5j X3dpdGhfYXJncygqYXJncywgKiprd2FyZ3MpOgorKyAgICBwYXNzCisrCisgY2xhc3MgQ2xlYW51 cEZ1bmN0aW9uKG9iamVjdCk6CisgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lPSJDTEVBTlVQ LUZVTkMiLCBsaXN0ZW5lcj1Ob25lKToKKyAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKK0BAIC00 Miw3ICs0NSw2IEBAIGNsYXNzIENhbGxMaXN0ZW5lcihvYmplY3QpOgorICAgICAgICAgc2VsZi5j b2xsZWN0ZWQuYXBwZW5kKG1lc3NhZ2UpCisgCisgCistCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAjIFRFU1RTOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMTQ1LDYgKzE0Nywy NCBAQCBjbGFzcyBUZXN0Q29udGV4dENsZWFudXAob2JqZWN0KToKKyAgICAgICAgIG15X2NsZWFu dXBfQjJNLmFzc2VydF9jYWxsZWRfb25jZSgpCisgICAgICAgICBteV9jbGVhbnVwX0IzTS5hc3Nl cnRfY2FsbGVkX29uY2UoKQorIAorKyAgICBkZWYgdGVzdF9hZGRfY2xlYW51cF93aXRoX2FyZ3Mo c2VsZik6CisrICAgICAgICBteV9jbGVhbnVwID0gTW9jayhzcGVjPWNsZWFudXBfZnVuY193aXRo X2FyZ3MpCisrICAgICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICAg ICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0KToKKysgICAgICAgICAgICBjb250 ZXh0LmFkZF9jbGVhbnVwKG15X2NsZWFudXAsIDEsIDIsIDMpCisrICAgICAgICAgICAgbXlfY2xl YW51cC5hc3NlcnRfbm90X2NhbGxlZCgpCisrICAgICAgICAjIENBTExTLUhFUkU6IGNvbnRleHQu X3BvcCgpCisrICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDEsIDIs IDMpCisrCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfYXJnc19hbmRfa3dhcmdzKHNl bGYpOgorKyAgICAgICAgbXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVhbnVwX2Z1bmNfd2l0aF9h cmdzKQorKyAgICAgICAgY29udGV4dCA9IENvbnRleHQocnVubmVyPU1vY2soKSkKKysgICAgICAg IHdpdGggc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4dCk6CisrICAgICAgICAgICAgY29udGV4 dC5hZGRfY2xlYW51cChteV9jbGVhbnVwLCAxLCAyLCAzLCBuYW1lPSJhbGljZSIpCisrICAgICAg ICAgICAgbXlfY2xlYW51cC5hc3NlcnRfbm90X2NhbGxlZCgpCisrICAgICAgICAjIENBTExTLUhF UkU6IGNvbnRleHQuX3BvcCgpCisrICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRfb25j ZV93aXRoKDEsIDIsIDMsIG5hbWU9ImFsaWNlIikKKysKKyAgICAgZGVmIHRlc3RfYWRkX2NsZWFu dXBfX3JlamVjdHNfbm9uY2FsbGFibGVfY2xlYW51cF9mdW5jKHNlbGYpOgorICAgICAgICAgY2xh c3MgTm9uQ2FsbGFibGUob2JqZWN0KTogcGFzcworICAgICAgICAgbm9uX2NhbGxhYmxlID0gTm9u Q2FsbGFibGUoKQorQEAgLTIxOCwzICsyMzgsNjcgQEAgY2xhc3MgVGVzdENvbnRleHRDbGVhbnVw KG9iamVjdCk6CisgICAgICAgICBhc3NlcnQgY29sbGVjdF9jbGVhbnVwX2Vycm9yLmNvbGxlY3Rl ZFswXVs6LTFdID09IGV4cGVjdGVkWzBdWzotMV0KKyAgICAgICAgIGFzc2VydCBjb2xsZWN0X2Ns ZWFudXBfZXJyb3IuY29sbGVjdGVkWzFdWzotMV0gPT0gZXhwZWN0ZWRbMV1bOi0xXQorIAorKwor K2NsYXNzIFRlc3RDb250ZXh0Q2xlYW51cFdpdGhMYXllcihvYmplY3QpOgorKyAgICAiIiJUZXN0 cyA6bWV0aDpgYmVoYXZlLnJ1bm5lci5Db250ZXh0LmFkZF9jbGVhbnVwKClgCisrICAgIHdpdGgg bGF5ZXIgcGFyYW1ldGVyLgorKworKyAgICA6bWV0aDpgY2xlYW51cF9mdW5jKClgIGlzIGNhbGxl ZCB3aGVuIENvbnRleHQgbGF5ZXIgaXMgcmVtb3ZlZC9wb3BwZWQuCisrICAgICIiIgorKworKyAg ICBkZWYgdGVzdF9hZGRfY2xlYW51cF93aXRoX2tub3duX2xheWVyKHNlbGYpOgorKyAgICAgICAg bXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVhbnVwX2Z1bmMpCisrICAgICAgICBjb250ZXh0ID0g Q29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXll cihjb250ZXh0LCBsYXllcj0ic2NlbmFyaW8iKToKKysgICAgICAgICAgICBjb250ZXh0LmFkZF9j bGVhbnVwKG15X2NsZWFudXAsIGxheWVyPSJzY2VuYXJpbyIpCisrICAgICAgICAgICAgbXlfY2xl YW51cC5hc3NlcnRfbm90X2NhbGxlZCgpCisrICAgICAgICAjIENBTExTLUhFUkU6IGNvbnRleHQu X3BvcCgpCisrICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRfb25jZSgpCisrCisrICAg IGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfa25vd25fbGF5ZXJfYW5kX2FyZ3Moc2VsZik6Cisr ICAgICAgICBteV9jbGVhbnVwID0gTW9jayhzcGVjPWNsZWFudXBfZnVuY193aXRoX2FyZ3MpCisr ICAgICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICAgICAgd2l0aCBz Y29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj0ic2NlbmFyaW8iKToKKysgICAgICAg ICAgICBjb250ZXh0LmFkZF9jbGVhbnVwKG15X2NsZWFudXAsIDEsIDIsIDMsIGxheWVyPSJzY2Vu YXJpbyIpCisrICAgICAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfbm90X2NhbGxlZCgpCisrICAg ICAgICAjIENBTExTLUhFUkU6IGNvbnRleHQuX3BvcCgpCisrICAgICAgICBteV9jbGVhbnVwLmFz c2VydF9jYWxsZWRfb25jZV93aXRoKDEsIDIsIDMpCisrCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVh bnVwX3dpdGhfa25vd25fbGF5ZXJfYW5kX2t3YXJncyhzZWxmKToKKysgICAgICAgIG15X2NsZWFu dXAgPSBNb2NrKHNwZWM9Y2xlYW51cF9mdW5jX3dpdGhfYXJncykKKysgICAgICAgIGNvbnRleHQg PSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAgICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xh eWVyKGNvbnRleHQsIGxheWVyPSJzY2VuYXJpbyIpOgorKyAgICAgICAgICAgIGNvbnRleHQuYWRk X2NsZWFudXAobXlfY2xlYW51cCwgbGF5ZXI9InNjZW5hcmlvIiwgbmFtZT0iYWxpY2UiKQorKyAg ICAgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X25vdF9jYWxsZWQoKQorKyAgICAgICAgIyBDQUxM Uy1IRVJFOiBjb250ZXh0Ll9wb3AoKQorKyAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfY2FsbGVk X29uY2Vfd2l0aChuYW1lPSJhbGljZSIpCisrCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dp dGhfa25vd25fZGVlcGVyX2xheWVyMihzZWxmKToKKysgICAgICAgIG15X2NsZWFudXAgPSBNb2Nr KHNwZWM9Y2xlYW51cF9mdW5jKQorKyAgICAgICAgY29udGV4dCA9IENvbnRleHQocnVubmVyPU1v Y2soKSkKKysgICAgICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4dCwgbGF5ZXI9 ImZlYXR1cmUiKToKKysgICAgICAgICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRl eHQsIGxheWVyPSJzY2VuYXJpbyIpOgorKyAgICAgICAgICAgICAgICBjb250ZXh0LmFkZF9jbGVh bnVwKG15X2NsZWFudXAsIGxheWVyPSJmZWF0dXJlIikKKysgICAgICAgICAgICBteV9jbGVhbnVw LmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAgICAgICMgQ0FMTFMtSEVSRTogY29udGV4dC5fcG9w KCkKKysgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X2NhbGxlZF9vbmNlKCkKKysKKysgICAgZGVm IHRlc3RfYWRkX2NsZWFudXBfd2l0aF9rbm93bl9kZWVwZXJfbGF5ZXIzKHNlbGYpOgorKyAgICAg ICAgbXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVhbnVwX2Z1bmMpCisrICAgICAgICBjb250ZXh0 ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9s YXllcihjb250ZXh0LCBsYXllcj0idGVzdHJ1biIpOgorKyAgICAgICAgICAgIHdpdGggc2NvcGVk X2NvbnRleHRfbGF5ZXIoY29udGV4dCwgbGF5ZXI9ImZlYXR1cmUiKToKKysgICAgICAgICAgICAg ICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj0ic2NlbmFyaW8iKToK KysgICAgICAgICAgICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlfY2xlYW51cCwgbGF5 ZXI9ImZlYXR1cmUiKQorKyAgICAgICAgICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2Fs bGVkKCkKKysgICAgICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRfb25jZSgpICAgICAj IExFRlQ6IGxheWVyPSJmZWF0dXJlIgorKyAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfY2FsbGVk X29uY2UoKQorKworKyAgICBkZWYgdGVzdF9hZGRfY2xlYW51cF93aXRoX3Vua25vd25fbGF5ZXJf cmFpc2VzX2xvb2t1cF9lcnJvcihzZWxmKToKKysgICAgICAgICIiIkNsZWFudXAgZnVuY3Rpb24g aXMgbm90IHJlZ2lzdGVyZWQiIiIKKysgICAgICAgIG15X2NsZWFudXAgPSBNb2NrKHNwZWM9Y2xl YW51cF9mdW5jKQorKyAgICAgICAgY29udGV4dCA9IENvbnRleHQocnVubmVyPU1vY2soKSkKKysg ICAgICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4dCk6ICAgIyBDQUxMUy1IRVJF OiBjb250ZXh0Ll9wdXNoKCkKKysgICAgICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMoTG9va3Vw RXJyb3IpIGFzIGVycm9yOgorKyAgICAgICAgICAgICAgICBjb250ZXh0LmFkZF9jbGVhbnVwKG15 X2NsZWFudXAsIGxheWVyPSJvdGhlciIpCisrICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3Rf Y2FsbGVkKCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwODMtVVBEQVRFLXBhcnNlLTEuMTguMC1wYXJzZS12ZXJzaW9ucy0x LjE2LjAtLi0xLjE3LngtaC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwODMtVVBEQVRFLXBhcnNlLTEuMTguMC1wYXJzZS12ZXJzaW9u cy0xLjE2LjAtLi0xLjE3LngtaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLmQwM2E3Y2NhZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODMtVVBEQVRFLXBhcnNlLTEuMTguMC1w YXJzZS12ZXJzaW9ucy0xLjE2LjAtLi0xLjE3LngtaC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitG cm9tIGE1M2U4MmZhOTYzNjk2OTg4Yzc0M2FhY2EyMzQxMzkwMzMyZTdlM2IgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KK0RhdGU6IFR1ZSwgMjAgT2N0IDIwMjAgMjI6NDA6NDYgKzAyMDAKK1N1YmplY3Q6IFtQ QVRDSF0gVVBEQVRFOiBwYXJzZSA+PSAxLjE4LjAgKHBhcnNlIHZlcnNpb25zOiAxLjE2LjAgLi4g MS4xNy54IGhhcworIGEgcHJvYmxlbTsgcGFyc2UgaXNzdWUgIzExOSwgIzEyMSkKKworLS0tCisg cHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCB8IDIgKy0KKyBzZXR1cC5weSAgICAgICAgICAgICAg ICAgIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCBiL3B5LnJlcXVp cmVtZW50cy9iYXNpYy50eHQKK2luZGV4IGFkNWI5YTYuLmY5NzY3NDggMTAwNjQ0CistLS0gYS9w eS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0 CitAQCAtOSw3ICs5LDcgQEAKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyBjdWN1bWJlci10 YWctZXhwcmVzc2lvbnMgPj0gMS4xLjIKKy1wYXJzZSA+PSAxLjguMgorK3BhcnNlID49IDEuMTgu MAorIHBhcnNlX3R5cGUgPj0gMC40LjIKKyBzaXggPj0gMS4xMi4wCisgCitkaWZmIC0tZ2l0IGEv c2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggMjNmNjY1NC4uZmQ4OWJkYSAxMDA2NDQKKy0tLSBh L3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTc3LDcgKzc3LDcgQEAgc2V0dXAoCisgICAg IHB5dGhvbl9yZXF1aXJlcz0iPj0yLjcsICE9My4wLiosICE9My4xLiosICE9My4yLioiLAorICAg ICBpbnN0YWxsX3JlcXVpcmVzPVsKKyAgICAgICAgICJjdWN1bWJlci10YWctZXhwcmVzc2lvbnMg Pj0gMS4xLjIiLAorLSAgICAgICAgInBhcnNlID49IDEuOS4xIiwKKysgICAgICAgICJwYXJzZSA+ PSAxLjE4LjAiLAorICAgICAgICAgInBhcnNlX3R5cGUgPj0gMC40LjIiLAorICAgICAgICAgInNp eCA+PSAxLjEyLjAiLAorICAgICAgICAgInRyYWNlYmFjazI7IHB5dGhvbl92ZXJzaW9uIDwgJzMu MCciLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA4NC1SRUxBVEVELVRPLUR1cGxpY2F0ZWQtc3RlcHMtQW1iaWd1b3VzU3Rl cEVycm9ycy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwODQtUkVMQVRFRC1UTy1EdXBsaWNhdGVkLXN0ZXBzLUFtYmlndW91c1N0ZXBF cnJvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zMjMwNGUz NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDg0LVJFTEFURUQtVE8tRHVwbGljYXRlZC1zdGVwcy1BbWJpZ3Vv dXNTdGVwRXJyb3JzLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gZmIzZjQzNzM1ZjdjOWI4 MzYzOTQwNTk1ZDEyZDdiNTk1NDRmNjRjMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAy IE5vdiAyMDIwIDE3OjUwOjEwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFJFTEFURUQgVE86IER1 cGxpY2F0ZWQgc3RlcHMvQW1iaWd1b3VzU3RlcEVycm9ycworCisqIFJlbW92ZSBAeGZhaWwgZnJv bSB0aGlyZCBzY2VuYXJpbyAoaXQgd29ya2VkIGFscmVhZHkgZm9yIHNvbWUgdGltZSkuCisqIEFk ZGVkIG1vcmUgZGV0YWlsbGVkIGRlc2NyaXB0aW9uIHRvIHRoaXJkIHNjZW5hcmlvLgorLS0tCisg ZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVhdHVyZSB8IDExICsrKysrKysrKystCisg MSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAt LWdpdCBhL2ZlYXR1cmVzL3N0ZXAuZHVwbGljYXRlZF9zdGVwLmZlYXR1cmUgYi9mZWF0dXJlcy9z dGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlCitpbmRleCAzOTZjY2EyLi5mMjA0MzA3IDEwMDY0 NAorLS0tIGEvZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVhdHVyZQorKysrIGIvZmVh dHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVhdHVyZQorQEAgLTc2LDggKzc2LDE3IEBAIEZl YXR1cmU6IER1cGxpY2F0ZWQgU3RlcCBEZWZpbml0aW9ucworICAgICAjICAgIEZpbGUgImZlYXR1 cmVzL3N0ZXBzL2JvYjJfc3RlcHMucHkiLCBsaW5lIDMsIGluIDxtb2R1bGU+CisgICAgICMgICAg IiIiCisgCistICBAeGZhaWwKKysKKyAgIFNjZW5hcmlvOiBEdXBsaWNhdGVkIFNhbWUgU3RlcCBE ZWZpbml0aW9uIHZpYSBpbXBvcnQgZnJvbSBhbm90aGVyIEZpbGUKKysKKysgICAgVkVSSUZZIFRI QVQ6IER1cGxpY2F0ZWQgc3RlcC1kZXRlY3Rpb24gd29ya3MuCisrICAgIER1cGxpY2F0ZWQgc3Rl cC1yZWdpc3RyYXRpb24gb2NjdXJlZCB0aHJvdWdoIGEgdHdpY2UgaW1wb3J0ZWQgc3RlcC1tb2R1 bGU6CisrICAgIEZpcnN0IHJlZ2lzdHJhdGlvbiBtYXkgb2NjdXJzIGJ5IHN0ZXAtbG9hZGluZyB0 aGUgc3RlcC1tb2R1bGUsCisrICAgIHNlY29uZCByZWdpc3RyYXRpb24gZHVlIHRvIGltcG9ydCBv ZiBmaXJzdCBzdGVwLW1vZHVsZS4KKysKKysgICAgVGhlIHN0ZXAgcmVnaXN0cnkgZGV0ZWN0cyB0 aGF0IHRoZSBzYW1lIHN0ZXAtZnVuY3Rpb24gc2hvdWxkIGJlIHJlZ2lzdGVyZWQKKysgICAgYW5v dGhlciB0aW1lIGFuZCBpZ25vcmVzIGl0IChzdGVwIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCkuCisr CisgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgIEFuZCBhIGZpbGUgbmFt ZWQgImZlYXR1cmVzL3N0ZXBzL2NoYXJseTFfc3RlcHMucHkiIHdpdGg6CisgICAgICAgIiIiCmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDg1LUFkZC1yZW5vdmF0ZS5qc29uLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4NS1BZGQtcmVub3ZhdGUuanNvbi5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjhiMGYyMmQ4ZgotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwODUtQWRkLXJlbm92YXRlLmpzb24ucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRnJv bSBkNjViMzg5NTNiZmUxY2MzNDZhMjU0OGE4ZTYxNzIyOWRmODcwNThiIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogUmVub3ZhdGUgQm90IDxib3RAcmVub3ZhdGVhcHAuY29tPgorRGF0 ZTogV2VkLCA0IE5vdiAyMDIwIDA4OjQzOjMyICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBy ZW5vdmF0ZS5qc29uCisKKy0tLQorIHJlbm92YXRlLmpzb24gfCA1ICsrKysrCisgMSBmaWxlIGNo YW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCByZW5vdmF0ZS5qc29u CisKK2RpZmYgLS1naXQgYS9yZW5vdmF0ZS5qc29uIGIvcmVub3ZhdGUuanNvbgorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmY0NWQ4ZjEKKy0tLSAvZGV2L251bGwKKysrKyBi L3Jlbm92YXRlLmpzb24KK0BAIC0wLDAgKzEsNSBAQAorK3sKKysgICJleHRlbmRzIjogWworKyAg ICAiY29uZmlnOmJhc2UiCisrICBdCisrfQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4Ni1QUlBFUEFSRS1SRU5PVkFURS1X aXRoLWFkYXB0aW9ucy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwODYtUFJQRVBBUkUtUkVOT1ZBVEUtV2l0aC1hZGFwdGlvbnMucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zOWE2ZDc2YzIKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDg2LVBSUEVQQVJFLVJFTk9WQVRFLVdpdGgtYWRhcHRpb25zLnBhdGNoCkBAIC0w LDAgKzEsMTc1IEBACitGcm9tIDYxZjNhMzQxYjdhY2NkMDU4MGFmN2M3YjJlOGRiNGNiNmE3ZjRi ZWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJz Lm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgNCBOb3YgMjAyMCAxMDoyODo1OSArMDEw MAorU3ViamVjdDogW1BBVENIXSBQUlBFUEFSRS1SRU5PVkFURTogV2l0aCBhZGFwdGlvbnMKKwor KiBQcm92aWRlIGxvY2F0aW9ucy9wYXR0ZXJucyBmb3IgcGlwIHJlcXVpcmVtZW50cyBmaWxlKHMp CisqIE1vdmUgInJlbm92YXRlLmpzb24iIHRvICIuZ2l0aHViLyIKKy0tLQorIC5naXRodWIvcmVu b3ZhdGUuanNvbiAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrKysrCisgTUFOSUZF U1QuaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0tCisgaXNzdWUu ZmVhdHVyZXMvUkVBRE1FLnJzdCAgICAgICAgICAgICAgICAgICAgIHwgMzIgKysrKysrKysrKysr KysrKysrKworIGlzc3VlLmZlYXR1cmVzL1JFQURNRS50eHQgICAgICAgICAgICAgICAgICAgICB8 IDE3IC0tLS0tLS0tLS0KKyAuLi4ve3JlcXVpcmVtZW50cy50eHQgPT4gcHkucmVxdWlyZW1lbnRz LnR4dH0gfCAgNyArKy0tCisgcHkucmVxdWlyZW1lbnRzL3tSRUFETUUudHh0ID0+IFJFQURNRS5y c3R9ICAgIHwgIDAKKyBweS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgICAgICAgICAgICAgICAg ICAgfCAgNCArKy0KKyByZW5vdmF0ZS5qc29uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNSAtLS0KKyA4IGZpbGVzIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDI5IGRlbGV0 aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCAuZ2l0aHViL3Jlbm92YXRlLmpzb24KKyBjcmVh dGUgbW9kZSAxMDA2NDQgaXNzdWUuZmVhdHVyZXMvUkVBRE1FLnJzdAorIGRlbGV0ZSBtb2RlIDEw MDY0NCBpc3N1ZS5mZWF0dXJlcy9SRUFETUUudHh0CisgcmVuYW1lIGlzc3VlLmZlYXR1cmVzL3ty ZXF1aXJlbWVudHMudHh0ID0+IHB5LnJlcXVpcmVtZW50cy50eHR9ICg4MiUpCisgcmVuYW1lIHB5 LnJlcXVpcmVtZW50cy97UkVBRE1FLnR4dCA9PiBSRUFETUUucnN0fSAoMTAwJSkKKyBkZWxldGUg bW9kZSAxMDA2NDQgcmVub3ZhdGUuanNvbgorCitkaWZmIC0tZ2l0IGEvLmdpdGh1Yi9yZW5vdmF0 ZS5qc29uIGIvLmdpdGh1Yi9yZW5vdmF0ZS5qc29uCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMC4uMzM5OWEwMAorLS0tIC9kZXYvbnVsbAorKysrIGIvLmdpdGh1Yi9yZW5vdmF0 ZS5qc29uCitAQCAtMCwwICsxLDEzIEBACisreworKyAgImV4dGVuZHMiOiBbCisrICAgICJjb25m aWc6YmFzZSIKKysgIF0sCisrICAicGlwX3JlcXVpcmVtZW50cyI6IHsKKysgICAgImZpbGVNYXRj aCI6IFsKKysgICAgICAgICJweS5yZXF1aXJlbWVudHMvYWxsLnR4dCIsCisrICAgICAgICAicHku cmVxdWlyZW1lbnRzLyoudHh0IiwKKysgICAgICAgICJ0YXNrcy9weS5yZXF1aXJlbWVudHMudHh0 IiwKKysgICAgICAgICJpc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0IgorKyAgICBd CisrfQorK30KK2RpZmYgLS1naXQgYS9NQU5JRkVTVC5pbiBiL01BTklGRVNULmluCitpbmRleCA2 MGMyNjAxLi44NGQyMGY0IDEwMDY0NAorLS0tIGEvTUFOSUZFU1QuaW4KKysrKyBiL01BTklGRVNU LmluCitAQCAtMjgsOCArMjgsOCBAQCByZWN1cnNpdmUtaW5jbHVkZSB0YXNrcyAgICAgICAgICou cHkgKi56aXAgKi50eHQgKi5yc3QKKyByZWN1cnNpdmUtaW5jbHVkZSB0b29scyAgICAgICAgICou ZmVhdHVyZSAqLnB5ICoueW1sICouc2gKKyByZWN1cnNpdmUtaW5jbHVkZSBmZWF0dXJlcyAgICAg ICouZmVhdHVyZSAqLnB5ICoudHh0CisgcmVjdXJzaXZlLWluY2x1ZGUgaXNzdWUuZmVhdHVyZXMg ICouZmVhdHVyZSAqLnB5ICoudHh0CistcmVjdXJzaXZlLWluY2x1ZGUgbW9yZS5mZWF0dXJlcyAq LmZlYXR1cmUgKi5weSAqLnR4dAorLXJlY3Vyc2l2ZS1pbmNsdWRlIHB5LnJlcXVpcmVtZW50cyAg Ki50eHQKKytyZWN1cnNpdmUtaW5jbHVkZSBtb3JlLmZlYXR1cmVzICouZmVhdHVyZSAqLnB5ICou dHh0ICoucnN0CisrcmVjdXJzaXZlLWluY2x1ZGUgcHkucmVxdWlyZW1lbnRzICAqLnR4dCAqLnJz dAorIAorIHBydW5lIC50b3gKKyBwcnVuZSAudmVudioKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0 dXJlcy9SRUFETUUucnN0IGIvaXNzdWUuZmVhdHVyZXMvUkVBRE1FLnJzdAorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjFkMWQ5ODAKKy0tLSAvZGV2L251bGwKKysrKyBiL2lz c3VlLmZlYXR1cmVzL1JFQURNRS5yc3QKK0BAIC0wLDAgKzEsMzIgQEAKKytpc3N1ZS5mZWF0dXJl czoKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrOlJlcXVpcmVzOiBQeXRob24gPj0gMi43 IG9yIFB5dGhvbiA+PSAzLjUKKysKKytUaGlzIGRpcmVjdG9yeSBjb250YWlucyBiZWhhdmUgc2Vs Zi10ZXN0cyB0byBlbnN1cmUgdGhhdCBiZWhhdmUgcmVsYXRlZAorK2lzc3VlcyBhcmUgZml4ZWQu CisrCisrUFJPQ0VEVVJFOgorKworKyAgICAqIE9OQ0U6IEluc3RhbGwgcHl0aG9uIHJlcXVpcmVt ZW50cyAoInB5LnJlcXVpcmVtZW50cy50eHQiKQorKyAgICAqIFJ1biB0aGUgdGVzdHMgd2l0aCBi ZWhhdmUKKysKKysuLiBjb2RlLWJsb2NrOjogc2hlbGwKKysKKysgICAgIyAtLSBGT1I6CisrICAg ICMgcGlwOiAgRm9yIHB5dGhvbjIuNyBvciBweXRob24zIChkZXBlbmRzIG9uIHBsYXRmb3JtIGFu ZC9vciB1c2VyKSkKKysgICAgIyBwaXAzOiBGb3IgcHl0aG9uMworKyAgICBwaXAgIGluc3RhbGwg LVUgLXIgaXNzdWUuZmVhdHVyZXMvdGVzdGluZy50eHQKKysgICAgcGlwMyBpbnN0YWxsIC1VIC1y IGlzc3VlLmZlYXR1cmVzL3Rlc3RpbmcudHh0CisrCisrCisrQUxURVJOQVRJVkU6CisrCisrLi4g Y29kZS1ibG9jazo6IHNoZWxsCisrCisrICAgIHBpcCAgaW5zdGFsbCAtVSAtciBweS5yZXF1aXJl bWVudHMvdGVzdGluZy50eHQKKysgICAgcGlwMyBpbnN0YWxsIC1VIC1yIHB5LnJlcXVpcmVtZW50 cy90ZXN0aW5nLnR4dAorKworKy4uIGNvZGUtYmxvY2s6OiBzaGVsbAorKworKyAgICBiaW4vYmVo YXZlIC1mIHByb2dyZXNzIGlzc3VlLmZlYXR1cmVzLworZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1 cmVzL1JFQURNRS50eHQgYi9pc3N1ZS5mZWF0dXJlcy9SRUFETUUudHh0CitkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IGFmNDk5ZjMuLjAwMDAwMDAKKy0tLSBhL2lzc3VlLmZlYXR1cmVz L1JFQURNRS50eHQKKysrKyAvZGV2L251bGwKK0BAIC0xLDE3ICswLDAgQEAKKy1pc3N1ZS5mZWF0 dXJlczoKKy09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistCistOlN0YXR1czogICBQUkVQQVJFRCAo Zml4ZXMgYXJlIGJlaW5nIGFwcGxpZWQpLgorLTpSZXF1aXJlczogUHl0aG9uID49IDIuNiAoZHVl IHRvIHN0ZXAgaW1wbGVtZW50YXRpb25zKQorLQorLVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIGJl aGF2ZSBzZWxmLXRlc3RzIHRvIGVuc3VyZSB0aGF0IGJlaGF2ZSByZWxhdGVkCistaXNzdWVzIGFy ZSBmaXhlZC4KKy0KKy1QUk9DRURVUkU6CistCistICAgICogT05DRTogSW5zdGFsbCBweXRob24g cmVxdWlyZW1lbnRzICgicmVxdWlyZW1lbnRzLnR4dCIpCistICAgICogUnVuIHRoZSB0ZXN0cyB3 aXRoIGJlaGF2ZQorLQorLTo6CistCistICAgIGJpbi9iZWhhdmUgLWYgcHJvZ3Jlc3MgaXNzdWUu ZmVhdHVyZXMvCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvcmVxdWlyZW1lbnRzLnR4dCBi L2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQKK3NpbWlsYXJpdHkgaW5kZXggODIl CityZW5hbWUgZnJvbSBpc3N1ZS5mZWF0dXJlcy9yZXF1aXJlbWVudHMudHh0CityZW5hbWUgdG8g aXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAoraW5kZXggZDBjNGJhYi4uZjBkZWY5 ZCAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL3JlcXVpcmVtZW50cy50eHQKKysrKyBiL2lz c3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQKK0BAIC0xLDEyICsxLDExIEBACisgIyA9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CisgIyBQWVRIT04gUEFDS0FHRSBSRVFVSVJFTUVOVFM6IEZvciBy dW5uaW5nIGlzc3VlLmZlYXR1cmVzLworICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLSMgUkVRVUlS RVM6IFB5dGhvbiA+PSAyLjUKKy0jIFJFUVVJUkVTOiBQeXRob24gPj0gMy4yCisrIyBSRVFVSVJF UzogUHl0aG9uID49IDIuNworKyMgUkVRVUlSRVM6IFB5dGhvbiA+PSAzLjUKKyAjIERFU0NSSVBU SU9OOgorICMgICAgcGlwIGluc3RhbGwgLXIgPFRISVNfRklMRT4KKyAjCisgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CisgCistUHlIYW1jcmVzdCA+PSAxLjYKKy0KKytQeUhhbWNyZXN0ID49IDIuMC4y CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL1JFQURNRS50eHQgYi9weS5yZXF1aXJlbWVu dHMvUkVBRE1FLnJzdAorc2ltaWxhcml0eSBpbmRleCAxMDAlCityZW5hbWUgZnJvbSBweS5yZXF1 aXJlbWVudHMvUkVBRE1FLnR4dAorcmVuYW1lIHRvIHB5LnJlcXVpcmVtZW50cy9SRUFETUUucnN0 CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0IGIvcHkucmVxdWlyZW1l bnRzL3Rlc3RpbmcudHh0CitpbmRleCA4NWIwOTA4Li41Y2NkZGE4IDEwMDY0NAorLS0tIGEvcHku cmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50 eHQKK0BAIC04LDEwICs4LDEyIEBAIHB5dGVzdCA8ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICcz LjAnICMgcHl0ZXN0ID49IDQuMgorIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICcz LjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisgbW9jayAgPj0gMi4wCistUHlIYW1jcmVzdCA+ PSAxLjkKKytQeUhhbWNyZXN0ID49IDIuMC4yCisgCisgIyAtLSBORUVERUQ6IEJ5IHNvbWUgdGVz dHMgKGFzIHByb29mIG9mIGNvbmNlcHQpCisgIyBOT1RFOiBwYXRoLnB5LTEwLjEgaXMgcmVxdWly ZWQgZm9yIHB5dGhvbjIuNgorICMgSElOVDogcGF0aC5weSA9PiBwYXRoIChweXRob24taW5zdGFs bC1wYWNrYWdlIHdhcyByZW5hbWVkIGZvciBweXRob24zKQorIHBhdGgucHkgPj0gMTEuNS4wOyBw eXRob25fdmVyc2lvbiA8ICAnMy41JworIHBhdGggPj0gMTMuMS4wOyAgICBweXRob25fdmVyc2lv biA+PSAnMy41JworKworKy1yIC4uL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQK K2RpZmYgLS1naXQgYS9yZW5vdmF0ZS5qc29uIGIvcmVub3ZhdGUuanNvbgorZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCBmNDVkOGYxLi4wMDAwMDAwCistLS0gYS9yZW5vdmF0ZS5qc29u CisrKysgL2Rldi9udWxsCitAQCAtMSw1ICswLDAgQEAKKy17CistICAiZXh0ZW5kcyI6IFsKKy0g ICAgImNvbmZpZzpiYXNlIgorLSAgXQorLX0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODctUGluLWRlcGVuZGVuY2llcy5w YXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwODctUGluLWRlcGVuZGVuY2llcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLmVlZWJkN2JlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODctUGluLWRlcGVuZGVuY2llcy5w YXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDkyNzE2Njg0Nzc1NzRiMzE3YzcyMDk5ZWFiNTg3 ZjUxNmFlMDgyZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSZW5vdmF0ZSBCb3Qg PGJvdEByZW5vdmF0ZWFwcC5jb20+CitEYXRlOiBXZWQsIDQgTm92IDIwMjAgMDk6MzI6MzQgKzAw MDAKK1N1YmplY3Q6IFtQQVRDSF0gUGluIGRlcGVuZGVuY2llcworCistLS0KKyBpc3N1ZS5mZWF0 dXJlcy9weS5yZXF1aXJlbWVudHMudHh0IHwgMiArLQorIHRhc2tzL3B5LnJlcXVpcmVtZW50cy50 eHQgICAgICAgICAgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVt ZW50cy50eHQgYi9pc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0CitpbmRleCBmMGRl ZjlkLi4zOGY0NTJkIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRz LnR4dAorKysrIGIvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorQEAgLTgsNCAr OCw0IEBACisgIworICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorLVB5SGFtY3Jlc3QgPj0gMi4w LjIKKytQeUhhbWNyZXN0PT0yLjAuMgorZGlmZiAtLWdpdCBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50 cy50eHQgYi90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0CitpbmRleCA4MTBmODM0Li45YzgyZDEx IDEwMDY0NAorLS0tIGEvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAorKysrIGIvdGFza3MvcHku cmVxdWlyZW1lbnRzLnR4dAorQEAgLTgsOSArOCw5IEBACisgIyAgKiBodHRwOi8vd3d3LnBpcC1p bnN0YWxsZXIub3JnLworICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorLWludm9rZSA+PSAxLjIu MAorK2ludm9rZT09MS40LjEKKyBweWNtZAorLXNpeCA+PSAxLjEyLjAKKytzaXg9PTEuMTUuMAor IAorICMgLS0gSElOVDogcGF0aC5weSA9PiBwYXRoIChweXRob24taW5zdGFsbC1wYWNrYWdlIHdh cyByZW5hbWVkIGZvciBweXRob24zKQorIHBhdGgucHkgPj0gMTEuNS4wOyBweXRob25fdmVyc2lv biA8ICAnMy41JwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA4OC1yZW5vdmF0ZS1FeHRlbmQtcGlwLXJlcXVpcmVtZW50cy1m aWxlLWxpc3QucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDg4LXJlbm92YXRlLUV4dGVuZC1waXAtcmVxdWlyZW1lbnRzLWZpbGUtbGlz dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjMzZWM4Mzg0OAot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwODgtcmVub3ZhdGUtRXh0ZW5kLXBpcC1yZXF1aXJlbWVudHMtZmlsZS1s aXN0LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gODVkMWYwMDlkOTMzZDM1NmU2NWE1NDhm MjllNGQ1YTFlNzhhNzJkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMg PGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCA0IE5vdiAyMDIw IDEwOjU0OjAyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlbm92YXRlOiBFeHRlbmQgcGlwIHJl cXVpcmVtZW50cyBmaWxlIGxpc3QuCisKKy0tLQorIC5naXRodWIvcmVub3ZhdGUuanNvbiB8IDkg KysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhLy5naXRodWIvcmVub3ZhdGUuanNvbiBiLy5naXRodWIvcmVub3Zh dGUuanNvbgoraW5kZXggMzM5OWEwMC4uOWI3MmY3NiAxMDA2NDQKKy0tLSBhLy5naXRodWIvcmVu b3ZhdGUuanNvbgorKysrIGIvLmdpdGh1Yi9yZW5vdmF0ZS5qc29uCitAQCAtNCwxMCArNCwxNSBA QAorICAgXSwKKyAgICJwaXBfcmVxdWlyZW1lbnRzIjogeworICAgICAiZmlsZU1hdGNoIjogWwor LSAgICAgICAgInB5LnJlcXVpcmVtZW50cy9hbGwudHh0IiwKKyAgICAgICAgICJweS5yZXF1aXJl bWVudHMvKi50eHQiLAorKyAgICAgICAgInB5LnJlcXVpcmVtZW50cy9hbGwudHh0IiwKKysgICAg ICAgICJweS5yZXF1aXJlbWVudHMvYmFzaWMudHh0IiwKKysgICAgICAgICJweS5yZXF1aXJlbWVu dHMvZGV2ZWxvcC50eHQiLAorKyAgICAgICAgInB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCIs CisrICAgICAgICAicHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQiLAorKyAgICAgICAgInB5LnJl cXVpcmVtZW50cy9jaS50cmF2aXMudHh0IiwKKyAgICAgICAgICJ0YXNrcy9weS5yZXF1aXJlbWVu dHMudHh0IiwKKyAgICAgICAgICJpc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0Igor ICAgICBdCistfQorKyAgfQorIH0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODktUElOLVJFUVVJUkVNRU5UUy1FeHRlbmQt dG8tYWxsLXBsYWNlcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwODktUElOLVJFUVVJUkVNRU5UUy1FeHRlbmQtdG8tYWxsLXBsYWNl cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjc1OGJkOTg3OAot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwODktUElOLVJFUVVJUkVNRU5UUy1FeHRlbmQtdG8tYWxsLXBsYWNlcy5w YXRjaApAQCAtMCwwICsxLDkyIEBACitGcm9tIGE0NWVmNjIxNDQwMzZiNDgxZTg0MzJiY2QyNjk4 YTVmN2JmY2RkZDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgNCBOb3YgMjAyMCAxMDo1 NDo0OCArMDEwMAorU3ViamVjdDogW1BBVENIXSBQSU4gUkVRVUlSRU1FTlRTOiBFeHRlbmQgdG8g YWxsIHBsYWNlcy4gUElOTkVEOiBpbnZva2UsIHNpeCwKKyBQeUhhbWNyZXN0CisKKy0tLQorIGlz c3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQgfCAyICstCisgcHkucmVxdWlyZW1lbnRz L2Jhc2ljLnR4dCAgICAgICAgICB8IDIgKy0KKyBweS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCAg ICAgICAgIHwgMiArLQorIHB5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0ICAgICAgfCAyICst CisgcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0ICAgICAgICB8IDQgKy0tLQorIHB5LnJlcXVp cmVtZW50cy90ZXN0aW5nLnR4dCAgICAgICAgfCAyICstCisgNiBmaWxlcyBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJl cy9weS5yZXF1aXJlbWVudHMudHh0IGIvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4 dAoraW5kZXggMzhmNDUyZC4uNmUzY2Y4MyAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL3B5 LnJlcXVpcmVtZW50cy50eHQKKysrKyBiL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50 eHQKK0BAIC04LDQgKzgsNCBAQAorICMKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKy1QeUhh bWNyZXN0PT0yLjAuMgorK1B5SGFtY3Jlc3QgPT0gMi4wLjIKK2RpZmYgLS1naXQgYS9weS5yZXF1 aXJlbWVudHMvYmFzaWMudHh0IGIvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAoraW5kZXggZjk3 Njc0OC4uNmM2NDRlMCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKKysr KyBiL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKK0BAIC0xMSw3ICsxMSw3IEBACisgY3VjdW1i ZXItdGFnLWV4cHJlc3Npb25zID49IDEuMS4yCisgcGFyc2UgPj0gMS4xOC4wCisgcGFyc2VfdHlw ZSA+PSAwLjQuMgorLXNpeCA+PSAxLjEyLjAKKytzaXggPT0gMS4xNS4wCisgCisgdHJhY2ViYWNr MjsgIHB5dGhvbl92ZXJzaW9uIDwgJzMuMCcKKyBjb250ZXh0bGliMiAgICAgIyBNQVlCRTogcHl0 aG9uX3ZlcnNpb24gPCAnMy41JworZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gu dHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQKK2luZGV4IDQwMDFiYzIuLjIwYWU3OTEg MTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorKysrIGIvcHkucmVxdWly ZW1lbnRzL2NpLnRveC50eHQKK0BAIC02LDcgKzYsNyBAQCBweXRlc3QgPCAgNS4wOyBweXRob25f dmVyc2lvbiA8ICAnMy4wJyAjIHB5dGVzdCA+PSA0LjIKKyBweXRlc3QgPj0gNS4wOyBweXRob25f dmVyc2lvbiA+PSAnMy4wJworIHB5dGVzdC1odG1sID49IDEuMTkuMAorIG1vY2sgPj0gMi4wCist UHlIYW1jcmVzdCA+PSAxLjkKKytQeUhhbWNyZXN0ID09IDIuMC4yCisgCisgIyAtLSBISU5UOiBw YXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5 dGhvbjMpCisgcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCitkaWZm IC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgYi9weS5yZXF1aXJlbWVudHMv Y2kudHJhdmlzLnR4dAoraW5kZXggZGU0MTIwYS4uYzY5NDQ1YyAxMDA2NDQKKy0tLSBhL3B5LnJl cXVpcmVtZW50cy9jaS50cmF2aXMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlz LnR4dAorQEAgLTUsNyArNSw3IEBAIHB5dGVzdCA8ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICcz LjAnCisgcHl0ZXN0ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKyBweXRlc3QtaHRt bCA+PSAxLjE5LjAKKyBtb2NrICA+PSAyLjAKKy1QeUhhbWNyZXN0ID49IDEuOQorK1B5SGFtY3Jl c3QgPT0gMi4wLjIKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2Yg Y29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42 CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0IGIvcHkucmVxdWlyZW1l bnRzL2RldmVsb3AudHh0CitpbmRleCBhOTJlZTVmLi5lN2RjNDE4IDEwMDY0NAorLS0tIGEvcHku cmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50 eHQKK0BAIC0zLDkgKzMsNyBAQAorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorICMgLS0gQlVJ TEQtVE9PTDoKKy0jIFBSRVBBUkUgVVNBR0U6IGludm9rZQorLSMgQUxSRUFEWTogc2l4ID49IDEu MTEuMAorLWludm9rZSA+PSAxLjIuMAorK2ludm9rZSA9PSAxLjQuMQorIHBhdGhsaWI7ICAgIHB5 dGhvbl92ZXJzaW9uIDw9ICczLjQnCisgcHljbWQKKyAKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJl bWVudHMvdGVzdGluZy50eHQgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK2luZGV4IDVj Y2RkYTguLmQzYmNhMTggMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQK KysrKyBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorQEAgLTgsNyArOCw3IEBAIHB5dGVz dCA8ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAnICMgcHl0ZXN0ID49IDQuMgorIHB5dGVz dCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4w CisgbW9jayAgPj0gMi4wCistUHlIYW1jcmVzdCA+PSAyLjAuMgorK1B5SGFtY3Jlc3QgPT0gMi4w LjIKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkK KyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42CmRpZmYgLS1n aXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDkwLXRhc2tzLUFkZC1pbnZva2VfY2xlYW51cC1yZXBsYWNlcy1fdGFza2xldF9jbGVhbnVwLXIu cGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDkwLXRhc2tzLUFkZC1pbnZva2VfY2xlYW51cC1yZXBsYWNlcy1fdGFza2xldF9jbGVhbnVw LXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45YzY3MzU4ODYK LS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDkwLXRhc2tzLUFkZC1pbnZva2VfY2xlYW51cC1yZXBsYWNlcy1fdGFz a2xldF9jbGVhbnVwLXIucGF0Y2gKQEAgLTAsMCArMSw4MTE2IEBACitGcm9tIGRjOTFkNTUyYmE0 NWRkMzQwMjJmMzdhNGQ0ZjMyOGQ1ZGU1YzFlMTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdl ZCwgNCBOb3YgMjAyMCAyMToxODoxMiArMDEwMAorU3ViamVjdDogW1BBVENIXSB0YXNrczogQWRk IGludm9rZV9jbGVhbnVwIChyZXBsYWNlczogX3Rhc2tsZXRfY2xlYW51cCksCisgcmVtb3ZlIF92 ZW5kb3IvIGRpcmVjdG9yeS4KKworLS0tCisgcHkucmVxdWlyZW1lbnRzL2RvY3MudHh0ICB8ICAg IDMgKy0KKyB0YXNrcy9fX2luaXRfXy5weSAgICAgICAgIHwgICAxMCArLQorIHRhc2tzL19zZXR1 cC5weSAgICAgICAgICAgfCAgIDEwICstCisgdGFza3MvX3Rhc2tsZXRfY2xlYW51cC5weSB8ICAy OTUgLS0tLS0tLQorIHRhc2tzL192ZW5kb3IvUkVBRE1FLnJzdCAgfCAgIDM1IC0KKyB0YXNrcy9f dmVuZG9yL2ludm9rZS56aXAgIHwgIEJpbiAxNzIyODEgLT4gMCBieXRlcworIHRhc2tzL192ZW5k b3IvcGF0aC5weSAgICAgfCAxNzI1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyB0YXNrcy9fdmVuZG9yL3BhdGhsaWIucHkgIHwgMTI4MCAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyB0YXNrcy9fdmVuZG9yL3NpeC5weSAgICAgIHwgIDg2OCAtLS0tLS0tLS0tLS0t LS0tLS0tCisgdGFza3MvZG9jcy5weSAgICAgICAgICAgICB8ICAgMzMgKy0KKyB0YXNrcy9pbnZv a2VfY2xlYW51cC5weSAgIHwgIDQ0NyArKysrKysrKysrCisgdGFza3MvcHkucmVxdWlyZW1lbnRz LnR4dCB8ICAgIDIgKy0KKyB0YXNrcy9yZWxlYXNlLnB5ICAgICAgICAgIHwgICAgMiArLQorIHRh c2tzL3Rlc3QucHkgICAgICAgICAgICAgfCAgICAzICstCisgMTQgZmlsZXMgY2hhbmdlZCwgNDk3 IGluc2VydGlvbnMoKyksIDQyMTYgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRh c2tzL190YXNrbGV0X2NsZWFudXAucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGFza3MvX3ZlbmRv ci9SRUFETUUucnN0CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRhc2tzL192ZW5kb3IvaW52b2tlLnpp cAorIGRlbGV0ZSBtb2RlIDEwMDY0NCB0YXNrcy9fdmVuZG9yL3BhdGgucHkKKyBkZWxldGUgbW9k ZSAxMDA2NDQgdGFza3MvX3ZlbmRvci9wYXRobGliLnB5CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRh c2tzL192ZW5kb3Ivc2l4LnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRhc2tzL2ludm9rZV9jbGVh bnVwLnB5CisKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvZG9jcy50eHQgYi9weS5yZXF1 aXJlbWVudHMvZG9jcy50eHQKK2luZGV4IDY4MzliYTkuLjEzODRlMDAgMTAwNjQ0CistLS0gYS9w eS5yZXF1aXJlbWVudHMvZG9jcy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9kb2NzLnR4dAor QEAgLTMsNyArMyw4IEBACisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIyBSRVFVSVJFUzogcGlw ID49IDguMAorIAorLVNwaGlueCA+PSAxLjYKKytzcGhpbnggPj0gMS42Cisrc3BoaW54LWF1dG9i dWlsZAorIHNwaGlueF9ib290c3RyYXBfdGhlbWUgPj0gMC42LjAKKyAKKyAjIC0tIFNVUFBPUlQ6 IHNwaGlueC1kb2MgdHJhbnNsYXRpb25zIChwcmVwYXJlZCkKK2RpZmYgLS1naXQgYS90YXNrcy9f X2luaXRfXy5weSBiL3Rhc2tzL19faW5pdF9fLnB5CitpbmRleCBhNTcyNDY1Li45YWU4OTliIDEw MDY0NAorLS0tIGEvdGFza3MvX19pbml0X18ucHkKKysrKyBiL3Rhc2tzL19faW5pdF9fLnB5CitA QCAtMjAsNyArMjAsNyBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAor IGZyb20gLiBpbXBvcnQgX3NldHVwICAgICMgcHlsaW50OiBkaXNhYmxlPXdyb25nLWltcG9ydC1v cmRlcgorIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0IHN5cworLUlOVk9LRV9NSU5WRVJTSU9OID0g IjEuMi4wIgorK0lOVk9LRV9NSU5WRVJTSU9OID0gIjEuNC4wIgorIF9zZXR1cC5zZXR1cF9wYXRo KCkKKyBfc2V0dXAucmVxdWlyZV9pbnZva2VfbWludmVyc2lvbihJTlZPS0VfTUlOVkVSU0lPTikK KyAKK0BAIC0zNSw3ICszNSw4IEBAIGltcG9ydCBzeXMKKyBmcm9tIGludm9rZSBpbXBvcnQgQ29s bGVjdGlvbgorIAorICMgLS0gVEFTSy1MSUJSQVJZOgorLWZyb20gLiBpbXBvcnQgX3Rhc2tsZXRf Y2xlYW51cCBhcyBjbGVhbnVwCisrIyBQUkVQQVJFRDogaW1wb3J0IGludm9rZV9jbGVhbnVwIGFz IGNsZWFudXAKKytmcm9tIC4gaW1wb3J0IGludm9rZV9jbGVhbnVwIGFzIGNsZWFudXAKKyBmcm9t IC4gaW1wb3J0IGRvY3MKKyBmcm9tIC4gaW1wb3J0IHRlc3QKKyBmcm9tIC4gaW1wb3J0IHJlbGVh c2UKK0BAIC01MiwxOSArNTMsMTggQEAgZnJvbSAuIGltcG9ydCBkZXZlbG9wCisgIyBUQVNLIENP TkZJR1VSQVRJT046CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5hbWVzcGFjZSA9IENvbGxl Y3Rpb24oKQorLSMgRElTQUJMRUQ6IG5hbWVzcGFjZS5hZGRfdGFzayhjbGVhbi5jbGVhbikKKy0j IERJU0FCTEVEOiBuYW1lc3BhY2UuYWRkX3Rhc2soY2xlYW4uY2xlYW5fYWxsKQorIG5hbWVzcGFj ZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKGNsZWFudXApLCBuYW1lPSJj bGVhbnVwIikKKyBuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVs ZShkb2NzKSkKKyBuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVs ZSh0ZXN0KSkKKyBuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVs ZShyZWxlYXNlKSkKKyBuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21v ZHVsZShkZXZlbG9wKSkKKy1jbGVhbnVwLmNsZWFudXBfdGFza3MuYWRkX3Rhc2soY2xlYW51cC5j bGVhbl9weXRob24pCisgCisrIyAtLSBFTlNVUkU6IHB5dGhvbiBjbGVhbnVwIGlzIHVzZWQgZm9y IHRoaXMgcHJvamVjdC4KKyBjbGVhbnVwLmNsZWFudXBfdGFza3MuYWRkX3Rhc2soY2xlYW51cC5j bGVhbl9weXRob24pCisgCisgIyAtLSBJTkpFQ1Q6IGNsZWFuIGNvbmZpZ3VyYXRpb24gaW50byB0 aGlzIG5hbWVzcGFjZQorIG5hbWVzcGFjZS5jb25maWd1cmUoY2xlYW51cC5uYW1lc3BhY2UuY29u ZmlndXJhdGlvbigpKQorK25hbWVzcGFjZS5jb25maWd1cmUodGVzdC5uYW1lc3BhY2UuY29uZmln dXJhdGlvbigpKQorIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJ3aW4iKToKKyAgICAgIyAt LSBPVkVSUklERSBTRVRUSU5HUzogRm9yIHBsYXRmb3JtPXdpbjMyLCAuLi4gKFdpbmRvd3MpCisg ICAgIGZyb20gLl9jb21wYXRfc2h1dGlsIGltcG9ydCB3aGljaAorZGlmZiAtLWdpdCBhL3Rhc2tz L19zZXR1cC5weSBiL3Rhc2tzL19zZXR1cC5weQoraW5kZXggZWRhNWNhOS4uZTY5ZWM4MiAxMDA2 NDQKKy0tLSBhL3Rhc2tzL19zZXR1cC5weQorKysrIGIvdGFza3MvX3NldHVwLnB5CitAQCAtMTQs NyArMTQsNyBAQCBpbXBvcnQgc3lzCisgSEVSRSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykK KyBUQVNLU19WRU5ET1JfRElSID0gb3MucGF0aC5qb2luKEhFUkUsICJfdmVuZG9yIikKKyBJTlZP S0VfQlVORExFID0gb3MucGF0aC5qb2luKFRBU0tTX1ZFTkRPUl9ESVIsICJpbnZva2UuemlwIikK Ky1JTlZPS0VfQlVORExFX1ZFUlNJT04gPSAiMC4xMy4wIiAgICAjIHB5bGludDogZGlzYWJsZT1p bnZhbGlkLW5hbWUKKytJTlZPS0VfQlVORExFX1ZFUlNJT04gPSAiMS40LjAiCisgCisgREVCVUdf U1lTUEFUSCA9IEZhbHNlCisgCitAQCAtMjUsNiArMjUsNyBAQCBERUJVR19TWVNQQVRIID0gRmFs c2UKKyBjbGFzcyBWZXJzaW9uUmVxdWlyZW1lbnRFcnJvcihTeXN0ZW1FeGl0KToKKyAgICAgcGFz cworIAorKworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEZVTkNUSU9OUzoKKyAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCitAQCAtMzIsNyArMzMsNyBAQCBkZWYgc2V0dXBfcGF0aChpbnZva2Vf bWludmVyc2lvbj1Ob25lKToKKyAgICAgIiIiU2V0dXAgcHl0aG9uIHNlYXJjaCBhbmQgYWRkIGBg VEFTS1NfVkVORE9SX0RJUmBgIChpZiBhdmFpbGFibGUpLiIiIgorICAgICAjIHByaW50KCJJTlZP S0UudGFza3M6IHNldHVwX3BhdGgiKQorICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihUQVNLU19W RU5ET1JfRElSKToKKy0gICAgICAgIHByaW50KCJTS0lQOiBUQVNLU19WRU5ET1JfRElSPSVzIGlz IG1pc3NpbmciICUgVEFTS1NfVkVORE9SX0RJUikKKysgICAgICAgICMgU0lMRU5UOiBwcmludCgi U0tJUDogVEFTS1NfVkVORE9SX0RJUj0lcyBpcyBtaXNzaW5nIiAlIG9zLnBhdGgucmVscGF0aChU QVNLU19WRU5ET1JfRElSKSkKKyAgICAgICAgIHJldHVybgorICAgICBlbGlmIG9zLnBhdGguYWJz cGF0aChUQVNLU19WRU5ET1JfRElSKSBpbiBzeXMucGF0aDoKKyAgICAgICAgICMgLS0gU0VUVVAg QUxSRUFEWSBET05FOgorQEAgLTg2LDYgKzg3LDcgQEAgZGVmIHJlcXVpcmVfaW52b2tlX21pbnZl cnNpb24obWluX3ZlcnNpb24sIHZlcmJvc2U9RmFsc2UpOgorICAgICAgICAgb3MuZW52aXJvblsi SU5WT0tFX1ZFUlNJT04iXSA9IGludm9rZV92ZXJzaW9uCisgICAgICAgICBwcmludCgiVVNJTkc6 IGludm9rZS52ZXJzaW9uPSVzIiAlIGludm9rZV92ZXJzaW9uKQorIAorKworIGRlZiBuZWVkX3Zl bmRvcl9idW5kbGVzKGludm9rZV9taW52ZXJzaW9uPU5vbmUpOgorICAgICBpbnZva2VfbWludmVy c2lvbiA9IGludm9rZV9taW52ZXJzaW9uIG9yICIwLjAuMCIKKyAgICAgbmVlZF92ZW5kb3JfYW5z d2VycyA9IFtdCitAQCAtMTAyLDYgKzEwNCw3IEBAIGRlZiBuZWVkX3ZlbmRvcl9idW5kbGVzKGlu dm9rZV9taW52ZXJzaW9uPU5vbmUpOgorICAgICAjIHJldHVybiBuZWVkX2J1bmRsZTEgb3IgbmVl ZF9idW5kbGUyCisgICAgIHJldHVybiBhbnkobmVlZF92ZW5kb3JfYW5zd2VycykKKyAKKysKKyBk ZWYgbmVlZF92ZW5kb3JfYnVuZGxlX2ludm9rZShpbnZva2VfbWludmVyc2lvbj0iMC4wLjAiKToK KyAgICAgIyAtLSBSRVFVSVJFOiBpbnZva2UKKyAgICAgdHJ5OgorQEAgLTExNiw2ICsxMTksNyBA QCBkZWYgbmVlZF92ZW5kb3JfYnVuZGxlX2ludm9rZShpbnZva2VfbWludmVyc2lvbj0iMC4wLjAi KToKKyAgICAgICAgIG5lZWRfYnVuZGxlID0gVHJ1ZQorICAgICByZXR1cm4gbmVlZF9idW5kbGUK KyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBVVElMSVRZIEZVTkNUSU9OUzoKKyAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMTI1LDExICsxMjksMTMgQEAgZGVmIHNldHVwX3Bh dGhfZm9yX2J1bmRsZShidW5kbGVfcGF0aCwgcG9zPTApOgorICAgICAgICAgcmV0dXJuIFRydWUK KyAgICAgcmV0dXJuIEZhbHNlCisgCisrCisgZGVmIHN5c3BhdGhfaW5zZXJ0KHBvcywgcGF0aCk6 CisgICAgIGlmIHBhdGggaW4gc3lzLnBhdGg6CisgICAgICAgICBzeXMucGF0aC5yZW1vdmUocGF0 aCkKKyAgICAgc3lzLnBhdGguaW5zZXJ0KHBvcywgcGF0aCkKKyAKKysKKyBkZWYgc3lzcGF0aF9h cHBlbmQocGF0aCk6CisgICAgIGlmIHBhdGggaW4gc3lzLnBhdGg6CisgICAgICAgICBzeXMucGF0 aC5yZW1vdmUocGF0aCkKK2RpZmYgLS1naXQgYS90YXNrcy9fdGFza2xldF9jbGVhbnVwLnB5IGIv dGFza3MvX3Rhc2tsZXRfY2xlYW51cC5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAyOTk5YmM2Li4wMDAwMDAwCistLS0gYS90YXNrcy9fdGFza2xldF9jbGVhbnVwLnB5CisrKysg L2Rldi9udWxsCitAQCAtMSwyOTUgKzAsMCBAQAorLSMgLSotIGNvZGluZzogVVRGLTggLSotCist IiIiCistUHJvdmlkZXMgY2xlYW51cCB0YXNrcyBmb3IgaW52b2tlIGJ1aWxkIHNjcmlwdHMgKGFz IGdlbmVyaWMgaW52b2tlIHRhc2tsZXQpLgorLVNpbXBsaWZpZXMgd3JpdGluZyBjb21tb24sIGNv bXBvc2FibGUgYW5kIGV4dGVuZGFibGUgY2xlYW51cCB0YXNrcy4KKy0KKy1QWVRIT04gUEFDS0FH RSBSRVFVSVJFTUVOVFM6CistKiBwYXRoLnB5ID49IDguMi4xICAoYXMgcGF0aC1vYmplY3QgYWJz dHJhY3Rpb24pCistKiBwYXRobGliIChmb3IgYW50LWxpa2Ugd2lsZGNhcmQgcGF0dGVybnM7IHNp bmNlOiBweXRob24gPiAzLjUpCistKiBweWNtZCAocmVxdWlyZWQtYnk6IGNsZWFuX3B5dGhvbigp KQorLQorLWNsZWFuIHRhc2s6IEFkZCBBZGRpdGlvbmFsIERpcmVjdG9yaWVzIGFuZCBGaWxlcyB0 byBiZSByZW1vdmVkCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLQorLUNyZWF0ZSBhbiBpbnZv a2UgY29uZmlndXJhdGlvbiBmaWxlIChZQU1MIG9mIEpTT04pIHdpdGggdGhlIGFkZGl0aW9uYWwK Ky1jb25maWd1cmF0aW9uIGRhdGE6CistCistLi4gY29kZS1ibG9jazo6IHlhbWwKKy0KKy0gICAg IyAtLSBGSUxFOiBpbnZva2UueWFtbAorLSAgICAjIFVTRTogY2xlYW4uZGlyZWN0b3JpZXMsIGNs ZWFuLmZpbGVzIHRvIG92ZXJyaWRlIGN1cnJlbnQgY29uZmlndXJhdGlvbi4KKy0gICAgY2xlYW46 CistICAgICAgICBleHRyYV9kaXJlY3RvcmllczoKKy0gICAgICAgICAgICAtICoqL3RtcC8KKy0g ICAgICAgIGV4dHJhX2ZpbGVzOgorLSAgICAgICAgICAgIC0gKiovKi5sb2cKKy0gICAgICAgICAg ICAtICoqLyouYmFrCistCistCistUmVnaXN0cmF0aW9uIG9mIENsZWFudXAgVGFza3MKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0KKy1PdGhlciB0YXNrIG1vZHVsZXMgb2Z0ZW4g aGF2ZSBhbiBvd24gY2xlYW51cCB0YXNrIHRvIHJlY292ZXIgdGhlIGNsZWFuIHN0YXRlLgorLVRo ZSA6bWV0aDpgY2xlYW5gIHRhc2ssIHRoYXQgaXMgcHJvdmlkZWQgaGVyZSwgc3VwcG9ydHMgdGhl IHJlZ2lzdHJhdGlvbgorLW9mIGFkZGl0aW9uYWwgY2xlYW51cCB0YXNrcy4gVGhlcmVmb3JlLCB3 aGVuIHRoZSA6bWV0aDpgY2xlYW5gIHRhc2sgaXMgZXhlY3V0ZWQsCistYWxsIHJlZ2lzdGVyZWQg Y2xlYW51cCB0YXNrcyB3aWxsIGJlIGV4ZWN1dGVkLgorLQorLUVYQU1QTEU6OgorLQorLSAgICAj IC0tIEZJTEU6IHRhc2tzL2RvY3MucHkKKy0gICAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNv bHV0ZV9pbXBvcnQKKy0gICAgZnJvbSBpbnZva2UgaW1wb3J0IHRhc2ssIENvbGxlY3Rpb24KKy0g ICAgZnJvbSB0YXNrbGV0X2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGly cworLQorLSAgICBAdGFzaworLSAgICBkZWYgY2xlYW4oY3R4LCBkcnlfcnVuPUZhbHNlKToKKy0g ICAgICAgICJDbGVhbnVwIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uIGFydGlmYWN0cy4iCistICAg ICAgICBjbGVhbnVwX2RpcnMoWyJidWlsZC9kb2NzIl0pCistCistICAgIG5hbWVzcGFjZSA9IENv bGxlY3Rpb24oY2xlYW4pCistICAgIC4uLgorLQorLSAgICAjIC0tIFJFR0lTVEVSIENMRUFOVVAg VEFTSzoKKy0gICAgY2xlYW51cF90YXNrcy5hZGRfdGFzayhjbGVhbiwgImNsZWFuX2RvY3MiKQor LSAgICBjbGVhbnVwX3Rhc2tzLmNvbmZpZ3VyZShuYW1lc3BhY2UuY29uZmlndXJhdGlvbigpKQor LSIiIgorLQorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9m dW5jdGlvbgorLWltcG9ydCBvcy5wYXRoCistaW1wb3J0IHN5cworLWltcG9ydCBwYXRobGliCist ZnJvbSBpbnZva2UgaW1wb3J0IHRhc2ssIENvbGxlY3Rpb24KKy1mcm9tIGludm9rZS5leGVjdXRv ciBpbXBvcnQgRXhlY3V0b3IKKy1mcm9tIGludm9rZS5leGNlcHRpb25zIGltcG9ydCBFeGl0LCBG YWlsdXJlLCBVbmV4cGVjdGVkRXhpdAorLWZyb20gcGF0aCBpbXBvcnQgUGF0aAorLQorLQorLSMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENMRUFOVVAgVVRJTElUSUVTOgorLSMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKy1kZWYgY2xlYW51cF9hY2NlcHRfb2xkX2NvbmZpZyhjdHgpOgorLSAgICBj dHguY2xlYW51cC5kaXJlY3Rvcmllcy5leHRlbmQoY3R4LmNsZWFuLmRpcmVjdG9yaWVzIG9yIFtd KQorLSAgICBjdHguY2xlYW51cC5leHRyYV9kaXJlY3Rvcmllcy5leHRlbmQoY3R4LmNsZWFuLmV4 dHJhX2RpcmVjdG9yaWVzIG9yIFtdKQorLSAgICBjdHguY2xlYW51cC5maWxlcy5leHRlbmQoY3R4 LmNsZWFuLmZpbGVzIG9yIFtdKQorLSAgICBjdHguY2xlYW51cC5leHRyYV9maWxlcy5leHRlbmQo Y3R4LmNsZWFuLmV4dHJhX2ZpbGVzIG9yIFtdKQorLQorLSAgICBjdHguY2xlYW51cF9hbGwuZGly ZWN0b3JpZXMuZXh0ZW5kKGN0eC5jbGVhbl9hbGwuZGlyZWN0b3JpZXMgb3IgW10pCistICAgIGN0 eC5jbGVhbnVwX2FsbC5leHRyYV9kaXJlY3Rvcmllcy5leHRlbmQoY3R4LmNsZWFuX2FsbC5leHRy YV9kaXJlY3RvcmllcyBvciBbXSkKKy0gICAgY3R4LmNsZWFudXBfYWxsLmZpbGVzLmV4dGVuZChj dHguY2xlYW5fYWxsLmZpbGVzIG9yIFtdKQorLSAgICBjdHguY2xlYW51cF9hbGwuZXh0cmFfZmls ZXMuZXh0ZW5kKGN0eC5jbGVhbl9hbGwuZXh0cmFfZmlsZXMgb3IgW10pCistCistCistZGVmIGV4 ZWN1dGVfY2xlYW51cF90YXNrcyhjdHgsIGNsZWFudXBfdGFza3MsIGRyeV9ydW49RmFsc2UpOgor LSAgICAiIiJFeGVjdXRlIHNldmVyYWwgY2xlYW51cCB0YXNrcyBhcyBwYXJ0IG9mIHRoZSBjbGVh bnVwLgorLQorLSAgICBSRVFVSVJFUzogYGBjbGVhbihjdHgsIGRyeV9ydW49RmFsc2UpYGAgc2ln bmF0dXJlIGluIGNsZWFudXAgdGFza3MuCistCistICAgIDpwYXJhbSBjdHg6ICAgICAgICAgICAg IENvbnRleHQgb2JqZWN0IGZvciB0aGUgdGFza3MuCistICAgIDpwYXJhbSBjbGVhbnVwX3Rhc2tz OiAgIENvbGxlY3Rpb24gb2YgY2xlYW51cCB0YXNrcyAoYXMgQ29sbGVjdGlvbikuCistICAgIDpw YXJhbSBkcnlfcnVuOiAgICAgICAgIEluZGljYXRlcyBkcnktcnVuIG1vZGUgKGJvb2wpCistICAg ICIiIgorLSAgICAjIHB5bGludDogZGlzYWJsZT1yZWRlZmluZWQtb3V0ZXItbmFtZQorLSAgICBl eGVjdXRvciA9IEV4ZWN1dG9yKGNsZWFudXBfdGFza3MsIGN0eC5jb25maWcpCistICAgIGZhaWx1 cmVfY291bnQgPSAwCistICAgIGZvciBjbGVhbnVwX3Rhc2sgaW4gY2xlYW51cF90YXNrcy50YXNr czoKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBwcmludCgiQ0xFQU5VUCBUQVNLOiAlcyIg JSBjbGVhbnVwX3Rhc2spCistICAgICAgICAgICAgZXhlY3V0b3IuZXhlY3V0ZSgoY2xlYW51cF90 YXNrLCBkaWN0KGRyeV9ydW49ZHJ5X3J1bikpKQorLSAgICAgICAgZXhjZXB0IChFeGl0LCBGYWls dXJlLCBVbmV4cGVjdGVkRXhpdCkgYXMgZToKKy0gICAgICAgICAgICBwcmludCgiRkFJTFVSRSBp biBDTEVBTlVQIFRBU0s6ICVzIChHUkFDRUZVTExZLUlHTk9SRUQpIiAlIGNsZWFudXBfdGFzaykK Ky0gICAgICAgICAgICBmYWlsdXJlX2NvdW50ICs9IDEKKy0KKy0gICAgaWYgZmFpbHVyZV9jb3Vu dDoKKy0gICAgICAgIHByaW50KCJDTEVBTlVQIFRBU0tTOiAlZCBmYWlsdXJlKHMpIG9jY3VyZWQi ICUgZmFpbHVyZV9jb3VudCkKKy0KKy0KKy1kZWYgY2xlYW51cF9kaXJzKHBhdHRlcm5zLCBkcnlf cnVuPUZhbHNlLCB3b3JrZGlyPSIuIik6CistICAgICIiIlJlbW92ZSBkaXJlY3RvcmllcyAoYW5k IHRoZWlyIGNvbnRlbnRzKSByZWN1cnNpdmVseS4KKy0gICAgU2tpcHMgcmVtb3ZhbCBpZiBkaXJl Y3RvcmllcyBkb2VzIG5vdCBleGlzdC4KKy0KKy0gICAgOnBhcmFtIHBhdHRlcm5zOiAgICBEaXJl Y3RvcnkgbmFtZSBwYXR0ZXJucywgbGlrZSAiKiovdG1wKiIgKGFzIGxpc3QpLgorLSAgICA6cGFy YW0gZHJ5X3J1bjogICAgIERyeS1ydW4gbW9kZSBpbmRpY2F0b3IgKGFzIGJvb2wpLgorLSAgICA6 cGFyYW0gd29ya2RpcjogICAgIEN1cnJlbnQgd29yayBkaXJlY3RvcnkgKGRlZmF1bHQ9Ii4iKQor LSAgICAiIiIKKy0gICAgY3VycmVudF9kaXIgPSBQYXRoKHdvcmtkaXIpCistICAgIHB5dGhvbl9i YXNlZGlyID0gUGF0aChQYXRoKHN5cy5leGVjdXRhYmxlKS5kaXJuYW1lKCkpLmpvaW5wYXRoKCIu LiIpLmFic3BhdGgoKQorLSAgICB3YXJuMl9jb3VudGVyID0gMAorLSAgICBmb3IgZGlyX3BhdHRl cm4gaW4gcGF0dGVybnM6CistICAgICAgICBmb3IgZGlyZWN0b3J5IGluIHBhdGhfZ2xvYihkaXJf cGF0dGVybiwgY3VycmVudF9kaXIpOgorLSAgICAgICAgICAgIGRpcmVjdG9yeTIgPSBkaXJlY3Rv cnkuYWJzcGF0aCgpCistICAgICAgICAgICAgaWYgc3lzLmV4ZWN1dGFibGUuc3RhcnRzd2l0aChk aXJlY3RvcnkyKToKKy0gICAgICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28t bG9uZworLSAgICAgICAgICAgICAgICBwcmludCgiU0tJUC1TVUlDSURFOiAnJXMnIGNvbnRhaW5z IGN1cnJlbnQgcHl0aG9uIGV4ZWN1dGFibGUiICUgZGlyZWN0b3J5KQorLSAgICAgICAgICAgICAg ICBjb250aW51ZQorLSAgICAgICAgICAgIGVsaWYgZGlyZWN0b3J5Mi5zdGFydHN3aXRoKHB5dGhv bl9iYXNlZGlyKToKKy0gICAgICAgICAgICAgICAgIyAtLSBQUk9URUNUIENVUlJFTlRMWSBVU0VE IFZJUlRVQUwgRU5WSVJPTk1FTlQ6CistICAgICAgICAgICAgICAgIGlmIHdhcm4yX2NvdW50ZXIg PD0gNDoKKy0gICAgICAgICAgICAgICAgICAgIHByaW50KCJTS0lQLVNVSUNJREU6ICclcyciICUg ZGlyZWN0b3J5KQorLSAgICAgICAgICAgICAgICB3YXJuMl9jb3VudGVyICs9IDEKKy0gICAgICAg ICAgICAgICAgY29udGludWUKKy0KKy0gICAgICAgICAgICBpZiBub3QgZGlyZWN0b3J5LmlzZGly KCk6CistICAgICAgICAgICAgICAgIHByaW50KCJSTVRSRUU6ICVzIChTS0lQUEVEOiBOb3QgYSBk aXJlY3RvcnkpIiAlIGRpcmVjdG9yeSkKKy0gICAgICAgICAgICAgICAgY29udGludWUKKy0KKy0g ICAgICAgICAgICBpZiBkcnlfcnVuOgorLSAgICAgICAgICAgICAgICBwcmludCgiUk1UUkVFOiAl cyAoZHJ5LXJ1bikiICUgZGlyZWN0b3J5KQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAg ICAgICAgIHByaW50KCJSTVRSRUU6ICVzIiAlIGRpcmVjdG9yeSkKKy0gICAgICAgICAgICAgICAg ZGlyZWN0b3J5LnJtdHJlZV9wKCkKKy0KKy0KKy1kZWYgY2xlYW51cF9maWxlcyhwYXR0ZXJucywg ZHJ5X3J1bj1GYWxzZSwgd29ya2Rpcj0iLiIpOgorLSAgICAiIiJSZW1vdmUgZmlsZXMgb3IgZmls ZXMgc2VsZWN0ZWQgYnkgZmlsZSBwYXR0ZXJucy4KKy0gICAgU2tpcHMgcmVtb3ZhbCBpZiBmaWxl IGRvZXMgbm90IGV4aXN0LgorLQorLSAgICA6cGFyYW0gcGF0dGVybnM6ICAgIEZpbGUgcGF0dGVy bnMsIGxpa2UgIioqLyoucHljIiAoYXMgbGlzdCkuCistICAgIDpwYXJhbSBkcnlfcnVuOiAgICAg RHJ5LXJ1biBtb2RlIGluZGljYXRvciAoYXMgYm9vbCkuCistICAgIDpwYXJhbSB3b3JrZGlyOiAg ICAgQ3VycmVudCB3b3JrIGRpcmVjdG9yeSAoZGVmYXVsdD0iLiIpCistICAgICIiIgorLSAgICBj dXJyZW50X2RpciA9IFBhdGgod29ya2RpcikKKy0gICAgcHl0aG9uX2Jhc2VkaXIgPSBQYXRoKFBh dGgoc3lzLmV4ZWN1dGFibGUpLmRpcm5hbWUoKSkuam9pbnBhdGgoIi4uIikuYWJzcGF0aCgpCist ICAgIGVycm9yX21lc3NhZ2UgPSBOb25lCistICAgIGVycm9yX2NvdW50ID0gMAorLSAgICBmb3Ig ZmlsZV9wYXR0ZXJuIGluIHBhdHRlcm5zOgorLSAgICAgICAgZm9yIGZpbGVfIGluIHBhdGhfZ2xv YihmaWxlX3BhdHRlcm4sIGN1cnJlbnRfZGlyKToKKy0gICAgICAgICAgICBpZiBmaWxlXy5hYnNw YXRoKCkuc3RhcnRzd2l0aChweXRob25fYmFzZWRpcik6CistICAgICAgICAgICAgICAgICMgLS0g UFJPVEVDVCBDVVJSRU5UTFkgVVNFRCBWSVJUVUFMIEVOVklST05NRU5UOgorLSAgICAgICAgICAg ICAgICBjb250aW51ZQorLSAgICAgICAgICAgIGlmIG5vdCBmaWxlXy5pc2ZpbGUoKToKKy0gICAg ICAgICAgICAgICAgcHJpbnQoIlJFTU9WRTogJXMgKFNLSVBQRUQ6IE5vdCBhIGZpbGUpIiAlIGZp bGVfKQorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLQorLSAgICAgICAgICAgIGlmIGRyeV9y dW46CistICAgICAgICAgICAgICAgIHByaW50KCJSRU1PVkU6ICVzIChkcnktcnVuKSIgJSBmaWxl XykKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBwcmludCgiUkVNT1ZFOiAl cyIgJSBmaWxlXykKKy0gICAgICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICAgICAg ZmlsZV8ucmVtb3ZlX3AoKQorLSAgICAgICAgICAgICAgICBleGNlcHQgb3MuZXJyb3IgYXMgZToK Ky0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiJXM6ICVzIiAlIChlLl9fY2xhc3NfXy5f X25hbWVfXywgZSkKKy0gICAgICAgICAgICAgICAgICAgIHByaW50KG1lc3NhZ2UgKyAiIGJhc2Vk aXI6ICIrIHB5dGhvbl9iYXNlZGlyKQorLSAgICAgICAgICAgICAgICAgICAgZXJyb3JfY291bnQg Kz0gMQorLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGVycm9yX21lc3NhZ2U6CistICAgICAg ICAgICAgICAgICAgICAgICAgZXJyb3JfbWVzc2FnZSA9IG1lc3NhZ2UKKy0gICAgaWYgRmFsc2Ug YW5kIGVycm9yX21lc3NhZ2U6CistICAgICAgICBjbGFzcyBDbGVhbnVwRXJyb3IoUnVudGltZUVy cm9yKToKKy0gICAgICAgICAgICBwYXNzCistICAgICAgICByYWlzZSBDbGVhbnVwRXJyb3IoZXJy b3JfbWVzc2FnZSkKKy0KKy0KKy1kZWYgcGF0aF9nbG9iKHBhdHRlcm4sIGN1cnJlbnRfZGlyPU5v bmUpOgorLSAgICAiIiJVc2UgcGF0aGxpYiBmb3IgYW50LWxpa2UgcGF0dGVybnMsIGxpa2U6ICIq Ki8qLnB5IgorLQorLSAgICA6cGFyYW0gcGF0dGVybjogICAgICBGaWxlL2RpcmVjdG9yeSBwYXR0 ZXJuIHRvIHVzZSAoYXMgc3RyaW5nKS4KKy0gICAgOnBhcmFtIGN1cnJlbnRfZGlyOiAgQ3VycmVu dCB3b3JraW5nIGRpcmVjdG9yeSAoYXMgUGF0aCwgcGF0aGxpYi5QYXRoLCBzdHIpCistICAgIDpy ZXR1cm4gUmVzb2x2ZWQgUGF0aCAoYXMgcGF0aC5QYXRoKS4KKy0gICAgIiIiCistICAgIGlmIG5v dCBjdXJyZW50X2RpcjoKKy0gICAgICAgIGN1cnJlbnRfZGlyID0gcGF0aGxpYi5QYXRoLmN3ZCgp CistICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoY3VycmVudF9kaXIsIHBhdGhsaWIuUGF0aCk6Cist ICAgICAgICAjIC0tIENBU0U6IHN0cmluZywgcGF0aC5QYXRoIChzdHJpbmctbGlrZSkKKy0gICAg ICAgIGN1cnJlbnRfZGlyID0gcGF0aGxpYi5QYXRoKHN0cihjdXJyZW50X2RpcikpCistCistICAg IGZvciBwIGluIGN1cnJlbnRfZGlyLmdsb2IocGF0dGVybik6CistICAgICAgICB5aWVsZCBQYXRo KHN0cihwKSkKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBHRU5FUklDIENMRUFO VVAgVEFTS1M6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLUB0YXNrCistZGVmIGNsZWFuKGN0 eCwgZHJ5X3J1bj1GYWxzZSk6CistICAgICIiIkNsZWFudXAgdGVtcG9yYXJ5IGRpcnMvZmlsZXMg dG8gcmVnYWluIGEgY2xlYW4gc3RhdGUuIiIiCistICAgIGNsZWFudXBfYWNjZXB0X29sZF9jb25m aWcoY3R4KQorLSAgICBkaXJlY3RvcmllcyA9IGN0eC5jbGVhbnVwLmRpcmVjdG9yaWVzIG9yIFtd CistICAgIGRpcmVjdG9yaWVzLmV4dGVuZChjdHguY2xlYW51cC5leHRyYV9kaXJlY3RvcmllcyBv ciBbXSkKKy0gICAgZmlsZXMgPSBjdHguY2xlYW51cC5maWxlcyBvciBbXQorLSAgICBmaWxlcy5l eHRlbmQoY3R4LmNsZWFudXAuZXh0cmFfZmlsZXMgb3IgW10pCistCistICAgICMgLS0gUEVSRk9S TSBDTEVBTlVQOgorLSAgICBleGVjdXRlX2NsZWFudXBfdGFza3MoY3R4LCBjbGVhbnVwX3Rhc2tz LCBkcnlfcnVuPWRyeV9ydW4pCistICAgIGNsZWFudXBfZGlycyhkaXJlY3RvcmllcywgZHJ5X3J1 bj1kcnlfcnVuKQorLSAgICBjbGVhbnVwX2ZpbGVzKGZpbGVzLCBkcnlfcnVuPWRyeV9ydW4pCist CistCistQHRhc2sobmFtZT0iYWxsIiwgYWxpYXNlcz0oImRpc3RjbGVhbiIsKSkKKy1kZWYgY2xl YW5fYWxsKGN0eCwgZHJ5X3J1bj1GYWxzZSk6CistICAgICIiIkNsZWFuIHVwIGV2ZXJ5dGhpbmcs IGV2ZW4gdGhlIHByZWNpb3VzIHN0dWZmLgorLSAgICBOT1RFOiBjbGVhbiB0YXNrIGlzIGV4ZWN1 dGVkIGZpcnN0LgorLSAgICAiIiIKKy0gICAgY2xlYW51cF9hY2NlcHRfb2xkX2NvbmZpZyhjdHgp CistICAgIGRpcmVjdG9yaWVzID0gY3R4LmNvbmZpZy5jbGVhbnVwX2FsbC5kaXJlY3RvcmllcyBv ciBbXQorLSAgICBkaXJlY3Rvcmllcy5leHRlbmQoY3R4LmNvbmZpZy5jbGVhbnVwX2FsbC5leHRy YV9kaXJlY3RvcmllcyBvciBbXSkKKy0gICAgZmlsZXMgPSBjdHguY29uZmlnLmNsZWFudXBfYWxs LmZpbGVzIG9yIFtdCistICAgIGZpbGVzLmV4dGVuZChjdHguY29uZmlnLmNsZWFudXBfYWxsLmV4 dHJhX2ZpbGVzIG9yIFtdKQorLQorLSAgICAjIC0tIFBFUkZPUk0gQ0xFQU5VUDoKKy0gICAgIyBI SU5UOiBSZW1vdmUgbm93IGRpcmVjdG9yaWVzLCBmaWxlcyBmaXJzdCBiZWZvcmUgY2xlYW51cC10 YXNrcy4KKy0gICAgY2xlYW51cF9kaXJzKGRpcmVjdG9yaWVzLCBkcnlfcnVuPWRyeV9ydW4pCist ICAgIGNsZWFudXBfZmlsZXMoZmlsZXMsIGRyeV9ydW49ZHJ5X3J1bikKKy0gICAgZXhlY3V0ZV9j bGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51cF9hbGxfdGFza3MsIGRyeV9ydW49ZHJ5X3J1bikKKy0g ICAgY2xlYW4oY3R4LCBkcnlfcnVuPWRyeV9ydW4pCistCistCistQHRhc2sobmFtZT0icHl0aG9u IikKKy1kZWYgY2xlYW5fcHl0aG9uKGN0eCwgZHJ5X3J1bj1GYWxzZSk6CistICAgICIiIkNsZWFu dXAgcHl0aG9uIHJlbGF0ZWQgZmlsZXMvZGlyczogKi5weWMsICoucHlvLCAuLi4iIiIKKy0gICAg IyBNQVlCRSBOT1Q6ICIqKi9fX3B5Y2FjaGVfXyIKKy0gICAgY2xlYW51cF9kaXJzKFsiYnVpbGQi LCAiZGlzdCIsICIqLmVnZy1pbmZvIiwgIioqL19fcHljYWNoZV9fIl0sCistICAgICAgICAgICAg ICAgICBkcnlfcnVuPWRyeV9ydW4pCistICAgIGlmIG5vdCBkcnlfcnVuOgorLSAgICAgICAgY3R4 LnJ1bigicHkuY2xlYW51cCIpCistICAgIGNsZWFudXBfZmlsZXMoWyIqKi8qLnB5YyIsICIqKi8q LnB5byIsICIqKi8qJHB5LmNsYXNzIl0sIGRyeV9ydW49ZHJ5X3J1bikKKy0KKy0KKy0jIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCistIyBUQVNLIENPTkZJR1VSQVRJT046CistIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorLUNMRUFOVVBfRU1QVFlfQ09ORklHID0geworLSAgICAiZGlyZWN0b3JpZXMiOiBb XSwKKy0gICAgImZpbGVzIjogW10sCistICAgICJleHRyYV9kaXJlY3RvcmllcyI6IFtdLAorLSAg ICAiZXh0cmFfZmlsZXMiOiBbXSwKKy19CistZGVmIG1ha2VfY2xlYW51cF9jb25maWcoKiprd2Fy Z3MpOgorLSAgICBjb25maWdfZGF0YSA9IENMRUFOVVBfRU1QVFlfQ09ORklHLmNvcHkoKQorLSAg ICBjb25maWdfZGF0YS51cGRhdGUoa3dhcmdzKQorLSAgICByZXR1cm4gY29uZmlnX2RhdGEKKy0K Ky0KKy1uYW1lc3BhY2UgPSBDb2xsZWN0aW9uKGNsZWFuX2FsbCwgY2xlYW5fcHl0aG9uKQorLW5h bWVzcGFjZS5hZGRfdGFzayhjbGVhbiwgZGVmYXVsdD1UcnVlKQorLW5hbWVzcGFjZS5jb25maWd1 cmUoeworLSAgICAiY2xlYW51cCI6IG1ha2VfY2xlYW51cF9jb25maWcoCistICAgICAgICBmaWxl cz1bIiouYmFrIiwgIioubG9nIiwgIioudG1wIiwgIioqLy5EU19TdG9yZSIsICIqKi8qLn4qfiJd CistICAgICksCistICAgICJjbGVhbnVwX2FsbCI6IG1ha2VfY2xlYW51cF9jb25maWcoCistICAg ICAgICBkaXJlY3Rvcmllcz1bIi52ZW52KiIsICIudG94IiwgImRvd25sb2FkcyIsICJ0bXAiXQor LSAgICApLAorLSAgICAjIC0tIEJBQ0tXQVJELUNPTVBBVElCTEU6IE9MRC1TVFlMRQorLSAgICAi Y2xlYW4iOiAgICAgQ0xFQU5VUF9FTVBUWV9DT05GSUcuY29weSgpLAorLSAgICAiY2xlYW5fYWxs IjogQ0xFQU5VUF9FTVBUWV9DT05GSUcuY29weSgpLAorLX0pCistCistCistIyAtLSBFWFRFTlNJ T04tUE9JTlQ6IENMRUFOVVAgVEFTS1MgKGNhbGxlZCBieTogY2xlYW4sIGNsZWFuX2FsbCB0YXNr KQorLSMgTk9URTogQ2FuIGJlIHVzZWQgYnkgb3RoZXIgdGFza2xldHMgdG8gcmVnaXN0ZXIgY2xl YW51cCB0YXNrcy4KKy1jbGVhbnVwX3Rhc2tzID0gQ29sbGVjdGlvbigiY2xlYW51cF90YXNrcyIp CistY2xlYW51cF9hbGxfdGFza3MgPSBDb2xsZWN0aW9uKCJjbGVhbnVwX2FsbF90YXNrcyIpCist CistIyAtLSBFWFRFTkQgTk9STUFMIENMRUFOVVAtVEFTS1M6CistIyBESVNBQkxFRDogY2xlYW51 cF90YXNrcy5hZGRfdGFzayhjbGVhbl9weXRob24pCistIworLSMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKy0jIEVYVEVOU0lPTi1QT0lOVDogQ09ORklHVVJBVElPTiBIRUxQRVJTOiBDYW4gYmUgdXNl ZCBmcm9tIG90aGVyIHRhc2sgbW9kdWxlcworLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1kZWYg Y29uZmlnX2FkZF9jbGVhbnVwX2RpcnMoZGlyZWN0b3JpZXMpOgorLSAgICAjIHB5bGludDogZGlz YWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgIHRoZV9jbGVhbnVwX2RpcmVjdG9yaWVzID0gbmFt ZXNwYWNlLl9jb25maWd1cmF0aW9uWyJjbGVhbiJdWyJkaXJlY3RvcmllcyJdCistICAgIHRoZV9j bGVhbnVwX2RpcmVjdG9yaWVzLmV4dGVuZChkaXJlY3RvcmllcykKKy0KKy1kZWYgY29uZmlnX2Fk ZF9jbGVhbnVwX2ZpbGVzKGZpbGVzKToKKy0gICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVk LWFjY2VzcworLSAgICB0aGVfY2xlYW51cF9maWxlcyA9IG5hbWVzcGFjZS5fY29uZmlndXJhdGlv blsiY2xlYW4iXVsiZmlsZXMiXQorLSAgICB0aGVfY2xlYW51cF9maWxlcy5leHRlbmQoZmlsZXMp CitkaWZmIC0tZ2l0IGEvdGFza3MvX3ZlbmRvci9SRUFETUUucnN0IGIvdGFza3MvX3ZlbmRvci9S RUFETUUucnN0CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDY4ZmMwNmEuLjAwMDAw MDAKKy0tLSBhL3Rhc2tzL192ZW5kb3IvUkVBRE1FLnJzdAorKysrIC9kZXYvbnVsbAorQEAgLTEs MzUgKzAsMCBAQAorLXRhc2tzL192ZW5kb3I6IEJ1bmRsZWQgdmVuZG9yIHBhcnRzIC0tIG5lZWRl ZCBieSB0YXNrcworLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0KKy1UaGlzIGRpcmVjdG9yeSBj b250YWlucyBidW5kbGVkIGFyY2hpdmVzIHRoYXQgbWF5IGJlIG5lZWRlZCB0byBydW4gdGhlIHRh c2tzLgorLUVzcGVjaWFsbHksIGl0IGNvbnRhaW5zIGFuIGV4ZWN1dGFibGUgImludm9rZS56aXAi IGFyY2hpdmUuCistVGhpcyBhcmNoaXZlIGNhbiBiZSB1c2VkIHdoZW4gaW52b2tlIGlzIG5vdCBp bnN0YWxsZWQuCistCistVG8gZXhlY3V0ZSBpbnZva2UgZnJvbSB0aGUgYnVuZGxlZCBaSVAgYXJj aGl2ZTo6CistCistCistICAgIHB5dGhvbiAtbSB0YXNrcy9fdmVuZG9yL2ludm9rZS56aXAgLS1o ZWxwCistICAgIHB5dGhvbiAtbSB0YXNrcy9fdmVuZG9yL2ludm9rZS56aXAgLS12ZXJzaW9uCist CistCistRXhhbXBsZSBmb3IgYSBsb2NhbCAiYmluL2ludm9rZSIgc2NyaXB0IGluIGEgVU5JWCBs aWtlIHBsYXRmb3JtIGVudmlyb25tZW50OjoKKy0KKy0gICAgIyEvYmluL2Jhc2gKKy0gICAgIyBS VU4gSU5WT0tFOiBGcm9tIGJ1bmRsZWQgWklQIGZpbGUuCistCistICAgIEhFUkU9JChkaXJuYW1l ICQwKQorLQorLSAgICBweXRob24gJHtIRVJFfS8uLi90YXNrcy9fdmVuZG9yL2ludm9rZS56aXAg JCoKKy0KKy1FeGFtcGxlIGZvciBhIGxvY2FsICJiaW4vaW52b2tlLmNtZCIgc2NyaXB0IGluIGEg V2luZG93cyBlbnZpcm9ubWVudDo6CistCistICAgIEBlY2hvIG9mZgorLSAgICBSRU0gPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0gICAgUkVNIFJVTiBJTlZPS0U6IEZyb20gYnVuZGxlZCBaSVAgZmlsZS4K Ky0gICAgUkVNID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CistCistICAgIHNldGxvY2FsCistICAgIHNldCBI RVJFPSV+ZHAwCistICAgIGlmIG5vdCBkZWZpbmVkIFBZVEhPTiAgIHNldCBQWVRIT049cHl0aG9u CistCistICAgICVQWVRIT04lICVIRVJFJS4uL3Rhc2tzL192ZW5kb3IvaW52b2tlLnppcCAiJSoi CitkaWZmIC0tZ2l0IGEvdGFza3MvX3ZlbmRvci9pbnZva2UuemlwIGIvdGFza3MvX3ZlbmRvci9p bnZva2UuemlwCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGJkMTk0MTI4OWI0Mjdi NmNkNmJlYWYxODhjODVkZWY1OGVlNGNlMzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAKK0dJVCBiaW5hcnkgcGF0Y2gKK2xpdGVyYWwgMAorSGNtVj9kMDAwMDEKKwor bGl0ZXJhbCAxNzIyODEKK3pjbVpefVcyfFVGeDMjJT53ciQoQ1pRSGhPK3FQfW53ciQleSt1bldk bSVlJUwqU1dvdFQyKCgqTXlpckFHZ3JuXworekA+ME1ja08yU25mVm82VHtHWX1EYHZMPk4yQyVT b3dYLXN6USZFTmgwT25EWFFQKStNUUZuMk4wc3NWZzBSI1g1Cit6TEhfcnR7NkImSm4heTJWb3Vl ZEJuaF9IWGZkQnlQSz4re3x8MEFITVhKS3BNdGZ4bjdAOX1ATUBLdDVoKlo9QUwKK3pmMyNlYndy c2NQcD8mN207Q0ZAPTJrKmgyWHZoYHdgUG8ycEkoYXJEck49YV9DemVSa2MmQGpeSFhEITdaUXpT agorem9aYTJzI1p5PEE8NHdoeVdpZW5YRW49U0lWYkMlYk9DfW5QOWdfZ1AwZDBRNU1LKHF4bURi Mz1pOWFxcG5aaG09Cit6WnxkckFuWj98PktPdXRTQWlTOSM7Tmg1THh1dlcqKHkjKGtmZFM1JkVM fDx9cjB1UEl6OV83THdrOFk3U0F+PjsKK3p1bmNmJllnbkcjUmVwQmYlI2ZURHEkaFR0MSt0UVNS YXRFNVhoYGRNc1NzYWxPWUMqOEV3S309RWYxdU92YyRPeAoreis9YlE+UmYmSTZqQTdMMjBkdXRg cWVTR3xBJHZWaERgOFV8ell1aiomRnZ+fiZxKHYzY2g/NjNwWTN9RVJ6Izg2Cit6NGNqNXo5QntN TmV0IU9KSEJ1M3xuIUZZVys/YmBTcFpIc1RsUT48eyZDMEp7KlBzaHp4cHhuJj1kO0FEaDJlTiMK K3o/SU9DZkNAdz1wX3JAbWB5eVM1bGhIeW9EZHlEJUlRdjZoVz9rdnZPXmpFYUs4XlEyIyFeanxV QkBDMEllJGg9UworemM9Qn4qVHhuMjRRVV8zS09ELWA3aWRgTlkqZHd+JC1Rc2IqYmFpI3otYkx8 ZDB0QERmPkV7TTU7XiZgRTR1cyVuCit6UCVMb2R2KD12bW92ZC0rPGN0cW9gITJ6a01DbWRUXjB9 TmdebGB7bj45PT9VMFAjZSlCQllmUEZDN2B0aDQ1YGoKK3phKnprYmE+LW95dVJlcnA3Tm1sY1FF akcqM2FSaExrJCtTYjg5TjkjdCtGLTNVXj5xNzVaezAtNHAlOFVzTD9gQAoreiF6RlVSaklTKUxv bDZPNmFoYSVPcmJlVUt6aGpIYEpsdGxVPypaSVErMDNoalBWPWZycyMrVkxwKjspNllydTh+Cit6 PzNYKmAxbnBSIzVVS0ZSVWJrMCt6UiUyIzxuczRmOSFxO0piKjt5aT53RHorWnJfaml7bH4zTnxK Kjc+TjByYT4KK3omJHxsJCN7WUR5dEJJcU5nYE1xeHlPcntQY1dZRH1vZkhrXz9EU21KK19jbkdU JTIwSCR+XnROMHpMREIweyM0UAoreldZfDw3QCQmUVhiSz9Xa0JlTnFDNm16NmhxJS1wMmcwcSNT QmpFb2k4fVNlYzNENVJEb2wtO3FmRXEzVTBPYkZhCit6amdnKFR3VFk0UXxKYUpTK0sxWnpRYUJ9 QUhjbmZ1c1h3YFQwaThAI2xQTVhfRklqZHc5VTA5elNzaCEmT1lWMlIKK3pfcn1FSCFQTHlpNk50 cSZIbCZ8aHVpWEh7ZkQmNjl3V1RwNjI8K19hYmFOaG4jJkkkYHU5aitTV29XNTtaZV5xRworelht bD8mS0ZhU282X0s0UEtNNzU2NlIjYz94WXhDe2dPOSlhYVIhWHRKNmxgI192VntnT3w7andQQ3Ao K1Q0c0xeCit6P0pnXnM7QnBwYXplVkFgKDB1TDdjRjUzMWIlKDt4PXliMG9aP0w3UXJKQW0rYnhm WEw7TjA3fnkka2tUVHdPKXwKK3peb0N2ciFCeV4zSm18WjZtJG53azJ7WHh4cHFrWEtUNTdEQGJq QGF5S1R8bEBaZmIofiZobD5tPTgofm05YkN5KworekloIVNgcmdWQEU4ZzhWZUBNNWw9PVM9ODlC ZThsTWRqbShgJFh3fW5HVH1JU0Z6KiE1V15WPyl3ZWA/SVkzJlJ5Cit6OEIrbU1wdSQyLS1lflVK eio0T3dfWV5eKGtXWGJvd3JGP00tbmlrIWNpWHV2O1kqYSs2ektsR3NNNWMqRHZyOD4KK3okPE40 Z0licTtzUUB5RikqaiNiMEVZQXtSYnQ+YTB8QWEkZktURnNzZllkfEo+c0VYUT9jZ1l6ekZ3e1pw LUd3UworekBKbTxoVyZvfGsycHsjTCFuKSp0SFkkO2A8UXFffnFAI2ozMiMxMHhLdVZoRV8rNFZY dkpGKElYMzF6PTRJKjE1Cit6UG5qMCtXLVImYXBkel9Pd0RlUG4/LWc5VDZtWmR+KX15R2Atb151 XzNSckFVeFNXPF8/JTtATyQtbVo5PjFIUDwKK3pSJFUxLUkkZWQlU2g7TCU0Y1p9ez9JWUlqTTN2 U29xXzNEKnlgKjhpbDtBbz9KejAxTis9Mk9lSkpncjErfXpySworekkxb0t+YDEtPEpId2FNM2R1 ZChtOURIJVp6TSs1d3B4VWB1ezk+c0NvPlchaGZgQ2VeZi0tV1dvMHZYcVhgP3NOCit6TXpVPH5w T1c7JjZ8UGdPcn55ME5vNiVjMiVER1dVTCtXdzRrbVJeJEBNNEZYKSQoRmB3anNCNmZ9SHxBPyVv IUwKK3ozZTQodXdJJklReGt3T1VqVGZ9SjxXbSgpciNPYW4obUBkZXRgMkdlR1BWWkJUdlZFaE1S YmJneiY+Z0JeYEp3JAoremNIYjU1Yn5zLV9lT1dlU01AS1VIJWp0cVJOfXVFKzhqemcyeGlyenY8 V1FKWkw/PyQ7YnZSR0FVRnp1KipNOTtYCit6VGZMXnpTRnp+UnpGSDxBPmN3eCZyI3wkKjd6JEda MUtoPDhSRHJZZkIkUnNyOCRaYHh4b0c1eU9NJHtUZjxzbWgKK3pBdkFGOVhhPjd2Y2xsNUIybzB1 NThQTjltYCRGQkBZNjBiUThIRSQoPDZRLXwqZVAzSzhfO3tPakhYOTBOcyM5fQorem1hbXlXeWFA I1ckQT8rTmY4JlJJU3pCUmBDKEowPVUyejQ4TGQ4aWx6KmwweUgzSGU4a3c9UihKMGRAVlQrPUps Cit6RDZqeGlKa0l3fGw4PDEqY3FBRGloeDlNU3ReK35jSWt5TmdBUUpDdHR3VCRqXlRQKStaTyRV YSVFa0hAVEpUZmwKK3pPc3Ykb0VDQH0qZTU2IWdFVXg3OUdGTH5kY285fUBBfl9pZVBle2FeM2dC ZmVSKlFSVERYcVJQVHYyV0AhOzE+VQorej9IfE9tQ0AobTZlckRjS0h8VmJkaXN3R2x6YnJUU200 eDxZY0hUP0UjQiU8ckxjJER7QmpIelFteClzdDR9Pz5eCit6Unp8R2w5KUBXcVhCNz1iRXNmSXI2 RyVSe0U4WHdmb3BNWllyRStAeyQpQ21fYF50JENfdTFvX3EoMkpYM1FuUG8KK3o9THt4KmBfeSpU LSF6bGcxRkVfWi19VGBVe2BDdkFANkx5YHtEQ1IwVUUja3h2PTI4YnBKO0NlI2F8Nmlma3g1cAor emVqWlZ2TD5qKipjISorWCZ1bFd6P3tuKmdAP2gxIzwleWwpV2hmOHNyZ24qdz8ocT9BWkUtdW1E Wl5FfWRgMV96Cit6PEhpby0kYVZqS21gS0ZHZHBAdGZQMmImSUo0SjRXbzRmRHM5aURIWih+cFZp e0NJZjtYJShHNF5wOzc5a1lFJHsKK3pLRW1PbCNJe2pZdlZSR0AmZSM0Tk9FQXdmaGApZGs0e198 eWppNFApd20oSVYtWjNuUGRkTlklRiszb1puXnB7ZQorejQ7bCNUJVF5NmNOZlQpUnxIPm9mNWxW alI4RkMqe3RSVVVXTUR5azZ5aXJWX3AjJHwoOVVqVDFNZD5vXlJPPWU1Cit6cHdAZ05SbCFqfWp+ UishKyp+UWdST2tNX0A1JXQ0IWVyZFlNen0+LWJCMFlfZCtgMFIwYjJNU1dtMGRTdSV1fjIKK3o1 RmlyQipKaVYwWUliSns0WEJCTz8tVzZDZDhXNDR0az1zaSl2ITZRNkZROV9IKVhQe1h3fShVITtQ bTx1NFhoKgorekl9cSZ5TCgjZiNtaUc8K0l2dTUzSWspSGM/eDYwbWQjUUVfe1dKQWpaVVpWRj5T MnpHS3AzYHYoMEptUVZaVkBoCit6PmNId1I7ITl8aiZLSV9yPUk+fiNgN31ze0pDcndITDFHdlpf TFB3SiN6bXFgLUVBUUEpYnlPN2UyYURwSHdkcDUKK3oqKVotMDU2anVBNmo5Tn4pVGY8WFctJUxr PXxWZT9QeTg1fEM4RyRZTUQyMSY7bCh5O3BUeyN8NERreFBEISVYJAoremp3JXYwdE0qQW5DcTZB X2xOTDQlent1UUJ1e0RDSmhLen47NFh7dFpIXldZe1lmVUxsTTZhKzN5fkhaLVlIQGpLCit6azZH MUs/NylBRWBATEU1JDVMOW5qVmhXS0tHRWtRKHU9N1I5YFQpeVQ5RT5hZ1J6V0dORkN3MDtoWWYj eGUjQjYKK3p2UmU+SDAodU8tMHFsKj9rYWA8Kih4WWNvO0VJSio2aH1Dfld7PT5zaDVyd3dDQ25E PkMyWSY3Q35SRExwaG4xTworelZpZCRGckJ+S2FVdz1UfHpVU0Q7dW1XMi16R1BRTHpra1ooWTRl Nn5jTCkjYCRBbjFtP31pbF54VjwzVjUkI1B3Cit6P2N9PEdlZ2hLfjhZdXBBJmJzJUI1U2RBKmh6 PD5ZNnh7JVJSMSlWb212dzxYRTQyNTRKT3lrKT8zOEhSTjRUc3MKK3poKkd+NyYqZmsrWHwmbiVZ JXxSWiZpdCtPLWlrajVKZlEtb2s/dm9UV3ZPYTJVUjtOXk8zOVY9KWZWfiNscSpzSworekh+KFZQ WSpvcCVKSjhSZC1LQ3xRdWQ8Xl9QXyhCUWs9aHQtYi1acXZifnhMZEghVlI2dE5zWD8hdklSQjU3 QG9qCit6T0kjZVY8Tmp4dmFsZEtOMmcmXzx4TEFKcllkMUo5VX1TV09leShsRT03fWYlOTBATFEy ZEMhem9NbzV+PklkVG0KK3omensyYThvKXxIQWQoayhHdmhFPGUwenFKSnVPTiVlWTFndzJGeS08 PXpeeiFmT3hDJHQ9P3N0dnxie25hRmFXYworemAkYChNZz1NZlZLSyZLazhiQkBzaCFDRzB3R3I+ MURXK0I0ano/Wj4wME9zdFo9S2UwdzVoRDlKSEFRcElTQEhXCit6RTVSOExGXyN3SE96dTEwe25t eU0mPC1VRm5LKHZMQ0JPa2xMemxoRTU4WTFKVzBWM3ZGbWdNbj5xbnAqWVh5VW4KK3pIZ3gxM15i KlNTRGpoJnsqWWo9LWEwfW9WMmczLXViJTxGXmxkKXVEVkp9Pm9wPSFPcC0tflkme3c9YTA5T19I QworejVzdnJUO0VfZz56PXxkQEQ5QnNfI3NQTlEwbkh+eWRTU2JEVDQmUF5vXylPOF97YTBoWEYt Mlgze2M8blJhO0BLCit6X0YkUV9nUCFecjNzNnB2aURVazV6MWJRYldIb2V9MCFjPWdVVihfbXE8 MEM2MzY+bm4rJlFIMWxYZDR0S2hfLWYKK3pCMFJWZEM3OGNLNURAdXlRSm90bE9NIU5pZmF6ITA+ fHRyX00tenZWMVRJLT0hXk5Zfk5OMXgpb00zKnpiM1peTgorekVOPHtEYHFVaSMlUH5acUZiMHk/ S2xAYmNmV2Z9dih1LWVSJVZSYkxEPz1zRGxWRXprI2VZMT93OWEmVkdNdTE5Cit6bE1mcUx5P20t QG1ib01yJCZmSj1zVl5sRlVJQkxqJSl1QjkhPHVBP2FuM3lZQEBXeFMjd2IoQVBRWlZfbT9MMEwK K3ppcVJnIWVabkp6Z2w5JVk0XnBUcUl8X0tpY2QjZzcrWn43YGYkdGRQUkRrTkQ0OD1GdXVyNClo Kl54PGlla0AhPQoremd5PkxNZVpwY1hMWXlUM01qY2p9T0UpI1c3U3Z0RVFIJCVYcj87UmFPYlo1 e2hSKDk1UT9FWjIoKnwhbCtFTFlsCit6aCpsN1dDWnpUMXp1JG5Nc0Y4SCRYNnEzajw4TilodUdy MnZwRWZlM0s5Wm1VSW99RiFrd3ItKTBVRChHJlUjT1MKK3pjXnhSUEReTj9EMVN7WihwREE0Jk9y MWR0ZyZQQzNWQmsqYF9lJS0yeDtPLT9eSVkzdVNCKCluY3FmbXBBOzMqYworekl5RGNxQmRqPH4w cUplR3pNJm40LSlWSWRhSHo1MW1icSp5SXolO3g2O1d2KVc7TEJDa0ZGSCF1JilzJlNTZl9qCit6 Nj0kYXphZ3tPV0xlQHFwX3tpSCE1aUsoZERGdFp+T1pFM3d7d1FINSFyJW05VmMjIUFRUVZaTHND RUhKYXJpSmcKK3pefDFWTEB5dVE1Xkc5djVuKmszOXpLOG5rdT1OdDBsPWdtJmw/OXFkYSR2YnlC X05pQVIoPz99K3ZNVmVaWmVDUworenRMdnF2elowdFFmUDwqQW5VT1dwP1JAKjxpR35vI2NpR0c0 djRpNSptMl4kOVpfPGA2TDI4MCF5YWRxYGlPTnp5Cit6P011R3trIyRnRVJqcj8tbjFhQ3JoXll6 TUxgYmRiZ1hyRkcyV1V3b0IpVkJjP1BjZmRyKVYkVm01RHVUbk9jI2YKK3poRDRockBCayFgSWxU TXBqaUNyNmU4bjZoKUFqbGI1SlZ5NT5yanhoe3pBbH5vTylrO3ohOCVwVkxmTmsyQXd4cQoremUw Vmt+VjZFfj5gaD8pVSkqZHA2TnhZYkErO2haMGFTU089NmB+am50MmU8NWgycjhPJmB+Qkc2VzRQ Xk9vVyk0Cit6WiNaRDJUM058RyRQS0IlKUdAOUhMS1VnPD5sUXhQZ21EZDVtUUs+amlJMylzaDco bn0lM15CMFRYQkN3bD4zeD4KK3prWF5TMUtIMypGZUdWPU14bH12dl9lQzA/WGRqWEh4UnBJOCNi Jm5lTTJJIThGdXQ+NGRkQFlOUG1TWSgrTyp6ZQorekZ6REZ5elFzS1FzY1olKnY4ZmRNSiRuSXBZ MFlnREw3aWJzX1ZUdz1AcFJwcD8zTjZHYjUmbTNYaztfbC03JUE8Cit6eyFvez9MNGtgKjckNmsz JHZzaV84aVYrcWt0ZnZQc0VMVTRyQjlKUTd3ZWtZb1J2PiFMNEFXTWoxVnUqRm0mfFkKK3pzZVU1 SGc2eExqKnNrTTRPbFFUTmF6LUp4PnJ5ZktmcD44MG48eTJ4Sn56cHZfamdkc3p2YUFqQSlZP2M2 blFGRgoreklkKz9mdHNjbkZzO1ZeMyVgJmBaNjBoX3FRT2soKDA/JkhgenNJSHQ1dHIqSldGbSM2 VFRoODFiUylrcEFUY00zCit6SkVfQVRwX2UyWTdKOE1+aitFeGJDQ0FSQ1lrVVB2ZilwVihEak1Y a3klPlk3PSZWalZTKW81U3AxYEtuYzV0MDMKK3poTmk4cTUzKCFMbV5+T2hiUDU4eGo3PG5oNGZu b0w0USRGNk5iTFJoN3pMRUxtRW5Sa1JNaVZMXjdZd1N2K2w5OAorekFWdWM7a3tCSitwSUo0ZWhO OFVHcFlafG8xQGdXVFJNMV5PIVk2LXgpQVE5Wm1qbWowbXw1aGdXfFhgIUBJSmdjCit6WDZNS0B2 UC1SQylXUF98VmgtP2x0WilPS2xaPWdTZ3gyPzxedUkqKV5LQVNUSEpAOFQtTVdXIyVyTVFjRVA2 TXsKK3otRGVqeWZpdTcwalVFMSZ5ZktkTyohNHxVZ0UxeFFVPntvcWoxQ1dsZnooJk16Ml9mKT0j SDtkU2pCQ0UzT0FfbgorenJXfCUoWDxXKUxkVzkqTTRVamN1bkkjd3FyRFF1cHotRCMyZ2d5WnY9 Z0o3QE5EbF9kPzJnQ2R1OWZ7TnpgSnEtCit6d0VHMWlzNX15e15nV3NYPFohcm15Jj01cTBCVlVZ ME1eTSlxSnFudUJQYkNGN2xTOUZXciU1aE0rK3pOTUc3RTIKK3pjfVJLeyolLVUySXhYaUR7cVls Y3R5P2JFOD1eUkNQc2ZPVXxKdVBiZnpPKkJFPmdkN1Z6KXlmWSNwTFomKiZnLQorem0haF9uVGFy d1VuN0lMa25ua3o2YjFsN0M9OWBKMndzTCohR3EwQmY5QVItViNecSQ9VUNFb0d6byh3TT5xcCp3 Cit6QGZKUGMoe0pAPmJBZ0JXJUs1N0FIJlUyJks9RDlnM20yVmxla3RFdHZLLWVZTU49YDxGQlZF dHMxVlhMe090TUwKK3pKYz45Ujs8VXFETzQpZDkyREI3cW9nNWdXKGZRen49RkQqeGlIIW9fIW4w a0JyR3R+VGA+QnNCOTY5RyQzPWAybAorenZ3RHFISHteZXo1PXBTdD9jdSNEaDhPLUQrZVQzVSR4 JmpFQV5oRz01bDxwciVSNEpUY05TO0M0NypsST9fVHB8Cit6KUpxezc9MHw7K1coS2JgKXI5Xk9S K1ctQlpOVTt6QVFaQEBqP1hmVUNzUSt1SG95REglRDJUKGo9K0ZeJEc5R3IKK3pAJlJsJHgwVDVW P3EpITY+X2ZWKCU7dmloci15aEghe3wzP0olJFA7T35PKyhwTWZZezhld01hcUlFPiQxdX01PQor ek19WXFCQFk/NVklRnp4JXhvNnNtT2ZGanlTNGU0WiQkZ292Oz4mTkQmNGJEQTkjVH1Uc2Q0YDx6 emVyOD1MZCZRCit6I2FPRHZwRCMqKHQ5YShaVzJiRiRXeFpoaWczQGBPTSl3KihXfDJvWDY0dWwj OCNwTnc3ZDtmXz9KQWBHKSk+MD8KK3p1bUE+M19AWWQoNm1JR3JYezNSNCRjbj5fKX4mYFp1aWdA VUZSMzNEKkBhZEAtPDF5WSlZVVUyJDcxRmkqXzBCTAoreigqaUlncSFAXlI9bCRASygkZVJybkhL el5pOzR0PChNIV9wdV42MUZ5OHRnNWxubk9mJiRpXl9wbkdNfGA9cFhkCit6KF9PO2I2ezNhV1Qk cWl3R1U/TzNvdXltNyRwV1NhWlBIbn4lcHMzbSRBWD5AIyhhQC1lR0VtYypuMlpMXzdraWYKK3pX ZiR4bmZWR3M3PjFMdDw1eWY5Pj8wNCNsVVhvQXVoI14obnhVZW5eYEpuazNKTnhiNkw4SzZYWit4 PF5lMlVjfQorenBeNHp+cSlaTjFveiRWNE9yWldBYUklbERzOFVTdTxsfnI/Y0UzbXpiOzBPT2g9 VEEzNXNFNkspKSk3aXNwJEIkCit6VlR9cX1KUlQtVSM5VGYkT2lZI3NYUmxNPE44O3dXdj5TdGxs YktoJUdFezhDLW9FSWtARXl9V0J9S2FlT0hQXiUKK3o/fTdkPT9DWEJ6MCtealBjUWBxMTl6czxV bllVZCVGSENsRmJkXzZ5JndgfGF5Sm5ocXZlOyslU0RvNWoqVCMoeworekxwUFlsK2B0JXNJRChK S3BBRHQ8KCVKVWpEd19nS2R6NE5yYWtXNiQmP3ZPdEVzbzBpQW5lN3daUm94Z2ZTbSZyCit6c3Qr NXZ7WEQ8Knd9SnI2Xk1KYV5yOH1HZWxYJTdKYzJ2fiQ4X1ZnRl5VfVJsWFhrK1VfdGtPNntBO3Iw dDNpWkAKK3pZenBkbTdYdFlhUzZPcFgrRTczeHZYe15IO21+NWZgd0AjVEJwa2lFQjdgRVRIbk1K fjwmfU5IX3ZqOXxucjRscQoremNzRWtoWGxCalRzOShfa2dtMz9xZDY5Y1R5NyZFeWk0RWNZdWtn KnQmY0AhXyNNJEooIT8qdlIjNEFOakRydClxCit6eTd5QnBlfEJJb3h8KEB5PH1GIWJ2SDhOdEc7 Mnc9USVXaiVNeDc4UlFQVjV5cjRNYWlzTCtfcSMlRnlZNSs0YE8KK3pBOHl7VUwlVW0xWFV3P0FI c25+bzsmJERVRG1nZS0mNUpiVExLXlVFeEB6fFV2c0YoMm1BSTZIbzRhflZBZVdEdQoremYybVFZ TCVuYmA8VUNlVllvNDFvISlJelBOfkF+eWpEJTBeT1BteHNfLU1fezBPfkVxVm8xLWIjdT1WXzVl Zz97Cit6K2t5TUMjezVXTnJ0UH5IQVpZRzIoUGYoJkg3YipoMFd+K0Y0SFRUQlRLfnFVcjEtP0ZT KkBiPTFjZjdVan5jKmwKK3paaHpJJTBjMXNzLUxocT04ZHdvTHF2RjFZcjUtNWArWT94M3VlQ1ZP OX5nKyU0S21uVThPNzxgaFc9eW1YLW01OQorelhaLSRLJilJZEtxWig0WjF+Tj4pIWVjREJ5NW5V ezJZPSYxV2p0VjhwdmJ4Sz19KWlzWl9iYUcjXkZgJGhCZiFaCit6Qllnanp4bGtuRWdoP1FfRUQr OFApNip0cGM/d3ordkdLZUpuTnA/XjczcE1QWlFlIXo1byk7Uz1Rcz5LYDE/MnwKK3pzVHdOcGJF eDdyN1ZAR1k4TF5kczBSKTN8bEA3K2E9VHkwSUV8YG5mRUo/WG90KD5PJVI4VTV+NlZoVDxNO2Zr RgorelRJfiRDTyVUN2swam0rTlI4P1gyTUU0SytHK2NUYFk4TjMoZTFWRSRXTmdyJj1QSD9qQSFI VWZUKilmbVpqR0tkCit6Yjw3Q1lEZSpQMFIqaFBMQSRCSVRsdFdUREVFeiVHLTUrQkY2dGJIfEBJ aUxCYG9GTj07fWtoeil9Q1d+anV1O0YKK3phWX54ez4yZlYxNzckZ0hZblVhZjIjSmd4S1koXkUm YGMpYUtsdUtoYEcoMnVlPXdRWGpvOGRHe2NifT5nQTIkYQorejBzLT9fRndKVnAyP0UoVGpwI2Qr WWE1Tyh5YDJYeCVNaHdTUW5ZNV9lcSFBd1NUZkBRJDI9LU4rYVR5SUs9RDYlCit6cXEmVz9uUj5q VSorUVhtVEBWdXMxVyhqLXlzRTZMckVaQ3QmWktuIzZiRF9VYmZLQ2g+dWJzQ2VMV0lCe3NrME0K K3pfUV99OUNDWWdsWWU0Ti0haEVGcmVGcDJqVEI8bllKRig3VCg1JlVRWiprcV5YRCgtZ0hBJjFV Sz81QSFlfD49Sgorem5lQGZiNUpJMilENCgqZDJLMT8kUWdNeyNGQElYUER0MH5hK3A8NWZnZGhh PHtgeE1tO3ZFWkFDUGw7T1JySFFyCit6ajQlKiZBekRuakEkdnJ+eTxDSihDT3FwMkNRQzhyeWhI e0lLS0JXdW9gay1eKFAkYXA3TXVzUDR7VVhiazlkezkKK3pDZD4mdlBIRDhyQUhoTFQ9NDR2MVZt cngwMjRfZD0pRXd4XipETGY/TTtWa0JlR2lETipfdnxQbCRxVkBDTTNaJgorenZKZXdyd0NEY3Vv MC1tQ0l6V0dSRzdyOzJhdjM8SWFGUSkmYFQ8V318QlclWDtSSVhNbzllV2crNGx4TWdRXik+Cit6 IUo/NCY8cnNmfThsYntteEdOODcjP1orZWRMa01heih4bnw0diFRezw5dERjKzh1P3FXJVlrTitD dFpVe1BfS04KK3p2cFQqUmo1OHxZdzAlX3VWVyo1ZzglcXEwSnxPa3FOfV9ge0cwU0FHVGFIYkl0 Ul5YeGNeayg0OHxubDNoLX5nWgoreig1WE52TW4hSnhNSSE7SGsjI1h5OSRwXnxQdSFNP0Y2SE1T czt5ZEsmUzlJb2w/eGZTdkZeJmBeU09KSXV7PihSCit6RTk1UTkzUUsxeXl8fjNrZn1ObzFZQGEq V0dMMWJTbXg8Uj16MnJ7fGdSalJXXld8T2ExOUNeeSVPbG9XcW9TKzwKK3pwSHpnUXlrNmhpNjh+ SUVfRyo/JXs+Nj0tTFZaIz5YYUtpaUwwOEY+Wk5ETU42Xy00UGxvWDNHQUQmVEJEOFVDVAoreiM7 Z1J7UU1DQV91RFNnLS1RKUN1KnZVX0EkNlliK049KG48M0BrT2NRLUhIQVM4eyYkKDZ+WDBhU3d+ QVIjMXBRCit6S21HPldEJW5FWF9tfHskYWJNeiEmKURPI0ApaEE1UWtGQnMqbX5KeE1sUHxGRU1Z IWk7IUpSelYoJVNjTEtfZ0oKK3pkQ295VmhtRz4oYCFMZzNjcyMrUHg7NVhAZDFObHVMZmF2Nzl7 MjE4dnNyfTVUcGJVcD9yQUlHK2UkYy1LJkwmZgorejtVNHQ0MjVZd354biZmdG8/MiVqWXpyYnBy PktVJVk4PEAlN041PncjbjZOJF48SEBLOXd0SWdqIUhZfGktWUV6Cit6V1Y9d09FbEs5PjA3S3hX NTU5czBKQiohPmB5aClhKV9yWn1IZlkjSm92aFJmSUd1LUEpLUd+WjxEdUFfcT9HR30KK3pPRG92 aHsjTGo1NGVVUnlBbXxeNWRGP1Z3VjhhRmdmWUFafmZkOE5QIWA5VG8/N3RnPD0+SlkoZGJJREh3 cGJUYAorelp1QHstT2VyWitHT2s+OT1gSzR1dj0/X3pIYipsXlpPJSY1NjM3dH4pcz4yNGBLKyVU SiRfJUBAXms8fCMzeUMlCit6YXdfYFBOZHJhPDh+QWN7MEgkQlU4WkRJLWFid0xnelBfej1QKyNz RWRBRjJMYSglX1orQlliK2lsLXd4RCZhZzwKK3omJH49KHBMUGduN2g2fFhHTWVMVG9mQUAxWjFs fEIlcl5lPzZ8VmloODlKMW5uXm9eSD80SWVCeDFhTE9JX3FBMgorelp2OEJAO0tiV2k3SlZJak5j Q31SaUc4d2ZuMXN+RXJta2krKSp5YiVxK1o9a3ZYXk0mQy1xN182KTRia09zdUo+Cit6czZzdTlf d2VAZWBaYDQzSkw7cyQ+P3I+b1B9Rl5xMnMmQ2dRMCE2UWAwbEVIemlBR0Nee21Ceik/aD0oRypN dTYKK3o8c2tHKVRhbj9wVkh1UHckIWV1c3spOThAQSFCbjtrXjYqfUNpYFR9Tm5hcDU0YTlCayRl bElhV2xaTi1zTjJnaQoreiFlbnxGZCUoIW1DfE1lYklyKTJhTkxuPiVTUWo8Z2R3ZW9JUz1lZ2hP STtpRihDVXhBaXduMmVZP1ZkYk14KXFjCit6K2pqYSs1Y2lLPFlARGRfXj81JVpVWUBhO25WQ3U4 dUM7Z351PkhOTj9CPGY0ZGFtUU5uMH1nX258cHVWYk4wPCYKK3pOb3k0KlQtJkZpWU9TMWlETjsl P20zWStIVy1jYT5ENkJ3JERPRnV+WStOX3FRZ0kkdC1vPHVLdn1xKXNlTFRgTworelgoN3kjVElu UVNnM2hkfXU1anRpcGtrQy1OeG5wLSM2U31ocHtlT3phQSZiRiVDVWhlNnRLKiYqR3FLVXowe1BV Cit6JTR0QH4qKlg3V2tKe0ZMaXhhIVZWOTJjNTNkUCpMWjhSPXg/Tms4RV5jOEsrKUtPe08hdWN9 YCp+bkNxSEVkcmgKK3omTXMoOFFEZnkmayhvTm8oMl9WUG13NDZnXz17bGtgYnR9eXcpVX1wcDtx K1RAfmcrPEVxRjVvI3doWWk/KFJucAorel9wX0lPYGN2bTNCI0dETkYoJjZGZWs5dUUkMX07Qzdw X0Ikaz89N3M+KTdHXzh3TkxaO3NLJSluUlQlZnQjJXRyCit6VG1sNGYmQmJiTmtqWUxwJGwpdyle MUZJc04/KXYxZnFtUDlVJDt5TzZFbHBkbHE2fTZxU2wkdDN7T1d6PSlre08KK3pVfjhuOTZxRVJ6 eG9qTmpVfjVqM3JqZnVoYitTeDhvVHJpVitQUlRaO1JIZFNNZ2w+U09YfFUrX0JPQGpxVW9wVQor ejtLYEtwSzFXI09vd25WMzJVST9nUVBpaTZJN0UrcEQzcU1OSSlgPFQ7T1gtR2F1cCh9MXB+dGpC XnNPNlBPV1Q+Cit6QD04Y0liQGpxOylmcVBkazdXM2F0O0YqUks5WllpPTIzZj85anNLPHFCPHNo TWdnJXtXKTcyUFY9RmQjMFU+KDYKK3ooRGNFe2gzJC00KFByTVQrVndeJUJ3d31DTzBCZFNre1Y1 Q0NJMFopeFkkZjdsZl9+akQkR1I3WkZud0dne3N2PgorekxnNjFvUDB8UFNufTRhM28hWWh4dT1L RUFPYzJifTYhYGAqU1ZIQ2omS31yYjJIJDk5VjBoSF9LXzAreEUtOFRNCit6OF4yeWhAaWIoI2FE UldPNG0oN0IzSVBYX215aiV6QXFFSCRpSjJ+SWliM0I/aCZeVnNXRGFyX3EoR3QmZz0/ZnsKK3pA N0phdzw0X3JTZm1Vcz5iZWg5O2JtMmNJbFd8N09FcmYyKFlCRjlfT1IyY19zQWZYMFh+KTg5cUJX a19gI1ZJbworejAlckNJSmp4RmNkIU49ZGkmMzFCRzN6Kj8rTndRa1AyVXJCTm1gcnYhRHs4WUd+ dmtUI2lvREZiYTxVTiFXV2Z5Cit6JFN0KW9LO3RQNUV2JXVXeW1ZfV9fNzZ9cTIlMF5SNXNXb35p OSlOYCh6REM0N1pZM3wmPC1icSZ2e1NQZ3tBVkwKK3o8IzhQWGoxTTh1Jm9tS1JqYm4tclk1Y2wh Yzk+R2dsfEtlayVTVmVfX1plKnpvbkQ3el5LQCRvZ3J8e0B1I3cwcAorek1ATzNyVFRZVlp0bFU/ R2dpP2lETk05enNuX2hMKShNZmMlMih9UVM0QHhKIVRuOWlFJUNkc0hAN3FqeHg/Xm1QCit6QWhJ QFYyWn1zKTZBJXYjV159YW0+UHRTOTlOVFlwd2gyT2t4YDZgKSpHMHBNYEhJekdoK2lMQiltKX4y QXhmbTcKK3p3aWV2aTg3TmNSMiVnKFpYPT1GbjUtWm9RVytpVFU5b002eSEjOVNaRjEyZXNsRHct eU49clprZFJwQy1MekY4UgorekU5PF5fOFN7TGk7cSkxazc1RU5XMHR0a2tzP3xyNyVoOWR+aGh7 P1dEJXFWR29Zcm53QyYlakdTeyFGUzBvMUo+Cit6cWdfNzd1Qk5oZEk1b24kY2hTLXFqOF9Pe0kr PnQjSGJLbzFkSmgyXyh5Sm49UHFHenJ4T0ErXmdIMylgUXh9WUYKK3o2O3t7dCU3PnBVUFVvb3hw PU5ne2twX0FSMCp8Wn5vbjhQblAoczlHYTRQekJiWTcwUmJVKm1XXmYmJmJGKiU5VworejBQZjlj TldmeTc2O29WakFTUTh7S3xjPWQ/TEhCP1BTWFI4aGhuLVhnQzhTOFRZX1pGWCg7Z3o9eDshXkx3 Z1Z6Cit6QFJYKmFtJT4oOGRSUVJ2Z3VNSnZfZHJ4bU5vN1FAen1XUzYoMmxCLVhIJjIjYXZDdj1n I3FKWmQkZzVCLW47cn4KK3pUWTQkQjd0YH4lIWZgQjtOQTdFTnpzTztQWUQ7K3Y0c0hzRk02WV9j b0xBbyN5THczJWJLV3JfTUVnRzE/M1lWLQorenFpe0d0c1Q+dU8kTXhQS1IxQyFQakp3YXRBTCpB fSNmbGt5eU5mYjY0VUQkfWF1aW1SOWA2bz1sR0pRXyYkZ0dICit6S35XUSFaN1BIbiN4VDZQPEE2 OFdpYjhLUV5acGB7OzI7T197b2JjUTRHXl5FX3I+P3ByOCY3c25yc3FFTylCU00KK3o0fGxmKGh1 fSYybT1pPWo9cnpieUVgfS1DSi11OXh0T1J+MW9UQzhpMmJqd2xuOXYoT0QyYjYhdW1UflBSSXFq PQorelNWfl9uNnJCbCZpZWp9JWoxfHZpJCtYXzhyNjkyUm96NE0qd3A/NlNSS2JkfnU1e2UkeTZs QGNEQ3RAU2V1WXRQCit6MGtlUzV2Xz5qNDxuSnBMYkFTdkVUaHNYMDQtd0tOamEpKnN7SzJpdTFL Q2p4WUB9Y3xfSzEtTl5gIy0hIzxSLVcKK3pZYjwlNUxeXihNQiVJaG5IWSQyOFQrQUEmOU1ka1hZ THwzUE8hfTQzKW9tfSt0QkpxRD99dH57enExPDRBVjJJSworelZIWFU/VUdPX3BYWnk9TClzJncy UDZRMHt4NFgzYHE1bylYantWNTxPWn4/V191a3xaLUFtR0pqZ15mRWVyWXV3Cit6YFY5OXVBKyVT RWRpRn5paTxOc0xgREZNRjQkJmEmUFZPMU1pMUs4RUR3REoqdnlxU3RCNGZvXkVuOFZ7eXhicm8K K3oxaUwqQDZ1flV7QjFOPUcxWUEqclVgfj9USl9oV1ZLZDJPcDxlLT9DIVUtdn1JYys7clM9cWo3 JSNNQ1FrTXljTgorenZ6clNgbnh5YmRjS0g1NSppKXg8Iz1WdipzOW5YS3Q1a2QlN2dCZlM5Mnp3 aHtOUFdmQmxZOUlWfGk3cEkoPGtECit6bGxWRD5pMlpPVWhwanwqbHFXUSk1RXB4QHdSJVY8QFRx MEI/aVp3TVBEXjc7TUNlMU0/NiFKUE9QSiRTcXthQmwKK3ojVGk5U2lFJCh1NTxCRXgzMHVRKFJ+ SGh+TEReS2ZBYW1PdEw4NG5NYUtJfldHekpQMzFlIzVQSTRERX5Ec3s3YAoreio2NSRsUGY5OXY2 PysjdzBPTkpMK1E8a2FlS0IwbVgzUVVyZVlWPS1AYFdOanBVYD8lbXZUUEh8NSYjMFhAMnxmCit6 bGlqSVNWVkgzP3RfdTZ2blo3aU5IKVQ9VlA9dFZRV0ZJR2s5Mjsrbmt9Jm00RE8qRl9rfksmSlF0 R2lDWnpAc0UKK3pMVWk8R3dKI3ZgOVMlKy1DYGw7fEZpYGEoPWUyT2hRJSZDWDZSN0kkV2hWMDwy TjI5K097enBYTUw8R2RJRVBxKgorenRTT0VveiZLfV5NJCRsXjQ3ZV9FcDRzK0p2MnQ+ZGNDPmMt aWxEY1NYR1N+amBhTkVzPmNYU35sQUV9JU1hcVBNCit6MEY/LWsxUzhlKythRXFQWDFrbURFPi11 MmRjclUzaWdAWVJKViYxSz5tbkQlZ1BJWGJLeDwjS2gpZm5HRz4wI24KK3pTSkMpSWw8QHhFbVFk UH1TSWpFMVJrZSk7KXNQd2FDdVAjQ3l5bmI0bWVBVSYmUWp4QktDTE85TjN5e0A5eiV0Mgorej99 Mk0qSSNJTm9yPm9sPlZxVG9aRUZoTSR3OFp5YnhlazFvXz5rV3RhSj5aKzk7WShAQmpmYEVsZnFv YElSLSR6Cit6RTFwVTRkSGpLTjt6PCVVdSRHdVo0LXxmRDdCKGNkaHA4K1FoWnokRnVsO1o0KldD NllQPmJ5Y2tsLUBWTUtncHwKK3o2YzlvZk9RdS1fWU94cSghT0p4eUdGelB7KF9UcDxxbHhyYzVp YjEyQ2hPaXM5TGlkLWt4Wl4wKm5kYD0kR0pJJAorejhOUVE4NkVITVlHNmB9QCVGOUomam5NJUA+ Y3R2MWk1fVo0bkFQTjhPKV9tXzwwRC1QKzcxbkZkOz91ZDB9SGQkCit6SV85OHckI2UmQG0yNE5Y ZTYrYGxPezZVaFpZRnw3c29tOCROb3smWENpMmohNCErYTw3ci0wP2sqfEBHKWpMQzUKK3o1P280 cmd4YSNCMz50SkJhMXphRnFrJGlfbTIhMkdOfiNJeFNQKjNJdWBkYDA2X3VkRTkqVDghZmlIPUIw XmVFYgoreikqTm9sV3E2dHw/IWRxQiRDbilKcHRmMyRnJWNBWDstZmplQUpsWjw7ZSo3ZDI+Q0tV OGRhfX5gWlI8eWxAb21CCit6dkE7cVFqQj1EU0JHXnBMMFFuSTBoRGx+U29KczhHPV5ZSU9vN3Z2 N1R4YTxFYHxGTD4zfWdIcXFtZHIyai02YkkKK3plNjYpPWZgYGg8MiQyMyNlOXkkP0IwNitiPT8z X29RSiYjXkI5QU0hTitDWjltd2kpKzZlK2ZDQj9AJTFSJXt3SgorenA3UmB8JXt6Tk8hYXlqXmgx SXorbnxYZG1AKCske3hrXjhJSnthZXEkZ01pYFdKTmJ+R0xMelF1RSNeS0lYS0c1Cit6PzVmX1ZM cGBZTWUtRGpRTyhzOUVGR3lLOVQ3dGA1eCRqKkNGN2opcEU8RzA4aGZobjVlSjxJRV5Xaj0ycH0/ X3IKK3ojQUYzP0U2ZFJNZGJrPFYzSjFVOGxxP2BFN1RZZDRkTEtZYytgX14xYVElWUQ+e2I5QEBR P3NmQEwqXk9LZlYtKworemhWMGRpZ35fO1Y7eSNAbGRNV2RRbDw7cDFMUSU1bEN8TWIkNW9wMShK bXJHdlNISHMyK0pDYDdLLUdHODZpTjVKCit6TWs/RU4hKTBoRS04Pl58e2RgNjRXIzZhRk5sQCpW OCRsa292MDYpZy1FU2ApIW1JdCZ7cCF0ZVEmMDBhUmIqV1QKK3pWUnZCR2I8MGRePE5wJmFYM0My bnU/JUhfbCZKWCtmPHVVQTd2bWljdnRrUHQjc1dKUS0wQFk1aDd4dWB0a0dpTQorenUpdXpMT0xB JWhqeHh9TCl9UCkzP29tMjlXTytQbzkoOz1UOURxPmdsY3w5MDV8cWEoWldWfUF6RlRrMWklU1JZ Cit6TjdHdSl2cU8xJEhGKj9mOVpRU34jMXtJP0Fhc2BAIX4leUxxP2gwfDQ8THxEVnZtai1SQGpn eS13fEtGS0VVT00KK3pyJEZyb3JVfjZRJWdVWWw8cH5FPnc0MGR7bEJOSDw1UEpMJjNDdTwjRTdg JjdgVzVGYklhKDdabCVARE84d1pXLQoreih5clY4MlMqVyVHKnZWWj52JGYlcTEwRDJQIVhQYj9m OHA0aDxfM1pvXlpUKkN5X2g7UHM1X0V4QGY0Nm9eKHEjCit6LX1xKGgod3dLMUlTNW1UQGxPIVQq VzNYK1NJSkhlNXlaKCs0KW1jaXdRa2E+TG4+KWFBOUlDa19GVUktMXBrbUYKK3pYYzx5O0M+fk0z WGlweTB7MzZqMWZUTFlnVlNTZV9fZjcmUUp6MT1raldLUlQ4V3o0Zkh0dXxrdjQhfHQyfVQ7RQor ekBldDU5KnN9YzN1bVNLYS13WjRFJU5FNTMzRkBoTWNGZH1XdUdfPUlpayNZPlolPWwkRGotOUpx V0dWbkxaSX01Cit6K3x1WFFVLSFyN3R1e0tuWjxtKEZHamE0OGBwWnJFKSRMJSowQkkrZVVPdm93 UHVaUjZ5clpmTXVWMTgoUz13TH4KK3o5SFVMI29AJmNzZTd8WkZFMnBINHJ3QilKJV9uUVRxVyFk YE1Oezk0PHw/O1hQdEloX21DfjhkRlhZSSRVVzFGagoremZ+PVdgeGUybyFvOU9kTkRpfnY+YW0h a1JiUm9yZT16fVZDIypLO31CMENNbzJUd2JJWiZ7Xkk9NCYzUTx6e3R5Cit6QTZlYVleMnZiTVdi YD9pN21eNDUmVH1hODMzMEJVJGJpeDN2VlhnTz9OMVNXWiR+MEpjamtrY3gwR3VMI3lPbVgKK3pB RDU1ZzV3USNMPy1xJT1oNClJWHllZGtPK3lmQEdXJWp9RUtrYylweTlMbHptdEw2clB3OFQ2eXFx PUtfZEpOVAoreng3cyNKb3VHLSkofHlWbFoqTkdIVmlqeFB4KFdKfkZwOW1KYzluWj5VKmAwNmJG NnlCc2NNUGI4fmtjcDg1fHVvCit6JDxeTDJDJmBaRVQzIyRYK3pGdX1LVi0+aHM7Szc4ezgrZG5k cz1rQ1VFeTA7cHNKUDdASlpaNTQ7SFJJUUx9fjAKK3pNY25NQ29FZVpVaFZ6O1RZMyF7MGNtbVY4 ZCZ2amcqVztKTFZGVSlTJnlIbz5CPk9xKl9pejVqUyZ6cGQhdTtUYworemswT1dLTCl6Zy1iRXJv fF49Zm49JT5PRUtKWHd3WlNod3pzZm5Ibmt4VDxmb3QwLVprdmp8TDtqZk8+UUthYWJfCit6WDhq UyF7bElKUzwwYTlUbSpzfXgyPTEjTjslZSFaTC1WZmU2QnJyMlNLQkdPMW1xXjxhUnwyeHRvV3Bo IUh0bDAKK3pyQFBmeXtNaiE8Ulc5ZjAmaTMpX249KWl7PmEoQzJiR1ZEWVR2dlIhaEB5b0p5O29L dGZpPWJsZF56XiR1Yns9Ugorens2WGlYRV5ZWW8+Iz1gPTl3QURVWTd2WGJKVD5fREN5ISl8TT1r SFAma3NjTURLdEYkSDAmOyQxIU9WNjBKQzl1Cit6eDA/TVY1MWlPOyZHMVl5dD8rKXtRQ2RLbj4l VVFreWFAQUlGQj5jV3QrVHc/Xz9FQHU2bnVjUmdtLXluLXIzKF8KK3pLWmdkTTExbW4lUVpNIXc3 WmtSezMtYH5mdChubjJKJSlsO2hLTHtQZE1MVkVZQUdvc1IoSlVjQkFAfishJFl+Zworel9yNlQ/ dzt4e2VfZ0U1SXQ9I3oqYypkVHstbkJOYyZ0cnd8aDlabz53TkMzITBqe3VhO2NQeHBzMjEoNEBE NDNqCit6OEFrV1VvRmluenkwNHU2QypocDkyJitkb2p4ZW5ubVo2NyU+UGB9VytxTXkyTk1FV0Fa V2preFMzKH0tX0ZjXkkKK3pyIWg4bjhCY30xKSRnISRgQGU4YD44T2xxWntuNT0mI1BVb09lZ0hY N1k4OzdDNUJjSj0/K0djQnJrX1pZcFRCRgorel5vNkRLa09ifEFiaUl3P3ZyVC1scCtyYiUzTzAz dkdzUVg2TVdgYDl5eUp6OSM0e1ZxWmtLPWUpRFlHWF5pckxUCit6ODlHdVpvMkV8VGcwZXA5bjhi WSk1b3ItSzZaSUBaLXVYSEwpcTVRRURCRm9BcHBNY2JZe34/eUw5TnJGSkU0QkkKK3pZWU5tNm00 dCQ3Yz5VfCNab1hYeGBfZHIqWEY1U2gyKldrT0tfPVhuMVZjPnhJTjBeb0wmPXB6dnEhJGA7WUlq dworeihDYz9uSk5kTHw1cnRqMHhKQDVMIV5MUDdmYkBRJiotTGF6dXgoMjxoRHFOfHo/fk9BIXVV Ri09YW92IStLc0V7Cit6an1YLWVucXdFNUFWIWk0cjgkbDt2ZDlfUGE8QUF1WGxrKylNe015UE9C JDc1bmxFejNCJk9+a0g1QlFhNTxIO34KK3pUIzJ0UGQ2Ty00JEVPPyNuaCNUIXdpNU9WeyhTd3g+ KWNGcF5GNXRqR3VWLTUrdmhpX1NFOVl9aHU3O2NqbSFEKgorej88N0RVRG1KV0MrcTB4T05jSlZT PG41TihqKlhOdnI9c1RxPlMzWkY8Jk1eaStqdT8kWWphSDlzaW17NFpWVjl3Cit6eWJNazFXQWZ3 PEY4eUo+KlM3QWFLWStLeHc/JUVgMWFrJW9NU2JCMHpQUWB2bjBtJiV0PEhJT3RYWHFFMFVfMEgK K3ohNnhsfWZrdUFvZWhnKFNIWDJFRzxPMz49THJXe1RVREw2c2QkTEdvKF49Z2s0OXNPdTVmeVMw RXhAcD1oQHU9WQorenZPcnpydUh1WGBremVkQUMrYHpKVGpDcFMxVHJ7ais7Nj9qVzVQMjg4Z3JY KFBmWVVxY2JtQmc8O1hUKVZMT3EqCit6PjMrQDFgK2Fge1FlVSRMQ2RRLW83dTA3cmRHM15NN2tk WWViUmBeI3N+K15DcXREQ0dpcyhYKkdUOD4yNVQ+bmgKK3ohRzdaa200OFI8bklCMnJSfTA4TGhy OUdLUEhuNTkoa2AqdnhPTmIleFN7UkIpNGVkMjdIY35hS05rJWA9S0lEOworelh9K0A1bVRSYVFW dnx2Q0RzMCMmOFo8OWdBSjJlcGEwZX5mX21AeWRGRTxZZFEjRU4+UDFLWD18NkJuXz9INGtGCit6 enIjJU02flhzdFA2JEAzeyNkTDdgbkh8dzk0Ul4rMzRqNlVsaXJqM0JyKy1iV0NHMXw3Qnd5Smdr ckpJZGkySHIKK3pvRCN1IXBDYHoxWSZoKHMkVXEoOXdDc1BHbz9SaklEXjYwQUxuMDV9WWEoQH4h Q1g4UGEtOzl2P0ZueGZ0SVFQaQorekNtcFdBP3JPJGF7U2xYPFgtN2kmQkAlT3Rnd3R+QGNLJDEz Uz9qPWJ5RmM4KlZVeGFqZ1hjaCQ8U1VIOThtI3ZnCit6WmFOeXhTNklSQDBDNiRaTiZERWtrZng2 UD4rSEtHMFdJOT1pUV42JCMwNj9Ney0/OFFuS2pLdzJ0fiU+YmFQQ2IKK3peZHpQOT9hV3dld0Fr bkJqP0ZYcHJtKFVAeXBoc15pVEJEMVgpKm4yWUNGel5VVy0pd1hPUTRqYTsoQl8lY24+WAorelpo JEYwcjxOaUQ/QjR5WUhAWDRxWTY9OURmVCp2JiQ7VUczKldVYytNUjVLbiE4ampIJio0dXBlcUFm RWE2MCVaCit6WHkoMUJZMHJeZFRzUytCQWcmbldpQEF1T3Y5SWdLOD4wPD5WT0o3VV8ySDNeU19f MWtnPShKT09Jaj02QyktYygKK3oqSzx0Xlh9cil4U1FpVENpWCN7Jndhb01STUMpNzRqek8qVE9X PS1ud3E5JEZuYXtAaTw5aSkzbj5sdmBEWiZ+LQorejhTWUtUV2ZURDRFenNrNXVnPzVpUEZZSWJs dk5FV3R8dVVoYklKLWBhTFcoTnFncmJxN1BzM0RaT2A0Sl52elFJCit6ITlkR3Y2NVJYOS1+MlRH a2tjVkhvQ1E1ektlVXRYOWJPVXpuMjxvY0gwVCRVPSR5PHU0KTwoP2ctb3Myb35jV1IKK3o4cXJp VnpFNGN7Z1k3TEpsVlg/JE0/NVc9NCNXT31fd1RiT3taUno7TnorQHElT3w4fiZiMDw+ZkFWJFA0 dnEzeAorenpoTjYmdU89Jk4+eUZ1LSYqOH5yYzIxOTk/KVptb25qPiVOMWtxcmwpO2J4QHt0fkBh OTcmK1YmQTBGTjFncT5VCit6XnQ3P0pMQ2AqMjAjQFBod35DO1dxeWwzZEUqPG5uUmskeHh3d15G ZUNPanZTZmNpYVduVDNOK0dpMDMtMV5XcSoKK3ozcGlSfXtiMn5hazJlJWhpciRxK2lYZzBQbF96 OzEtfE1scytTP0B0dU1MX2JyV0YqI2BXOU9OPilpNCNzTWk3UAorelpKJEZwMldEQHhJUXs3Kksj Qio9eDVQbEJDdjRGPUJKNFlDVTtSTV8zTyMtSWdwemlgREJ1WnpPaylZQjBjLU07Cit6PzZ7Wlk/ I3ZHQG57S25gKDclSH1efDdDU2RqSmlhOFJBYzdGRWNVY0pmU2MkS3UzQjtDY1ZpKEY1TmtZblk3 QVkKK3puI0dod0BhNGZXaTh1UGR1S2Vhdz0kOGR5TzQtUEI9MWtJdSZ9O3VqIUZ6MGlwQ1AobW5P NlFLIzF+cmp5JFMyTworeiYkdVB+TE1aWkdRSCFPJGRCY3whSUFgV25VfWohUHlhUj1LSEM+VitF eCs5bSU7b3ZuXz4+b01DbWRSV3kmTHY7Cit6VFM/SDNgezU1NyFhNT55SnFlNyVUZT9+citGVlI8 WGN+RCVjSGgwJUx1KlR9Z29ZSU5oNVBmZHtMYHs9K3wkKyYKK3pAPiR5Uj9uWnZVO0tQekoqRGZy TSNIKSpKP2hUaXVReVAjK3xBV25WJmd3UzA7bXtIZ1hJNlEyWHVeIUVyOENRUworeiMpYllgJS19 d3dyflM3RV9Ve3tlOyNELUBDakRhcXJ4NCM/NEE0UGUlO2hXNyN7Mn1eR0VlU0BvRHdHeilfMER9 Cit6ZXlUfWxTP3U7aGxBOzg2SkdrNDRKIzIyclJzK0pvcVkjbm4kM1MhX1R+YHdnNTRDNyNUUUVN M15RWjRLSlgySloKK3pfYX5kP0dlLXx9Tzw3OCl3JiEoMktpRlF5WkF1eypFSSk4akRhNHg7bWF2 M0xRRkg0X2QyckhnKiV2OEBRPHsxPgoremRqdFpCdTlRJE1jTDt5bk1ySlJLYTxRNiYkWG5KP29Y Tjd3eU02QFokRXg7ejl1d2c8N3dzdnYyMiVDUWk2dGRPCit6Ozc/TkI5OEw3dzQ+TCE2RmRZXiNH WGB3UUoxRGNjPDFXSCRgRlBSO01BTkEtR3phUD5Uc1BRREhSJlpOTX05KEEKK3p0NkRlQTEteXc5 c1hPa2hzJXJ+Rzw8Sj5HUXItX2tDN3ZVMVMhQmVVRzw7bTwtVWFNcj05TWJYNyEobGZKJW1WRAor ejV6b1UlI08tMXxfa2pwMHlrekkoNkhkeTdCc3dsMklAYHF0TmY1c3ByUGY7M2l+UG8qcVVfJjJL Pm5qK2ZLcXUqCit6ZF5femx3Pzc2JWRDSGt1OTtqYSkzYT5yYDdaWSZgdj4jQXslN2I/PEctT1Em bmZ2JnJzPzckSlBfM2hWRnZnQCkKK3pUM2p6IU5PTGImKT8yQUlHeWJ4P2BPaXE2ZkFkVkd3WWR2 JVZiTCsrSylRMFc7eEpadzsqYEdUZVpVdjUjfnhJWQorelMwPFV5aTFxOzk5Kn5SV14rcmdjPyQk VE81O1M3UkYzQm9oQ1RWcjNLZXhSISkzSDNzX2V6PnUpWlcyTS1xezc2Cit6RTRgP1ZmRGFDcyVe Y2BvWXcoZ194TDxZJGVLdV5ZRVJCak9RdU1KKSYxYXkxU0piTHJ6WTJtd0tKd3NCWEFOR0AKK3pk SGxFbT52OzFHdkFjRm9zfUpvR2lRanhkejJRNm1JPTZiR0clWXh5WitwaXVMa2phT2F9cGhpSGBE cnEoOXVfNgorelE5JlV1cEopVTA4dWYzVG9idkAtbFkhJWpDZ1RRTj12OX1NTy16QjJsRTA9PmM2 Kn4wSlZOY0R6NFAxV0FMQml6Cit6V0VwNzk4LW5zfTtQVXkxdTwmXjFQV15EbCpKK0g4YyRAJHFr NGsqQURaUn1JP2VRVjR4JFVGaFNGfnpYcD02JlEKK3pPO3h2NzE+N047WlJ2em5nZFQ/KCZ2RDA3 VEJvNyNPQlVGcm5PMlVYI0NZVTZ5fVA2SW9AJW42MT5EY3dYN2V4SQorelRMbnZiKU5oK1Q8R1Fo VmJaPmFTV3BuSj9fQ3JwYV9EJCVGN2xjQHJKQXQ7YVQ4MyskWnV8b04yUzcmdDFDVzB7Cit6TGdr fDIwUlJ9TzBSUnlHRjk3TG07X20kNDFYQWdMQ3krVXNIZy1wJjJ0VClhNEome3QkbH1oS0ZIJH1a dShuUXMKK3ooV2ZXeiQ1SVBfNGtOV0NxOXRnak5OQjFBS0RJdW1yeFVkazhFST0wVVdnTzh2VUFl UmF4K1grbTBOOT43bm9DQQorelolTEV0U35AeTdtUnNkRC1tVVlicFI2YUJSfS1kbW1FRlEtdm97 dWF1dUBuYE19SHlEJl9wNj07NUhoJXA2a0FCCit6aWg3cjBlJm5+KHFXWSR+aUF5YVJ3S3tLUz56 cV5EU35ra1ZTfjtIZWRmOTNSV2xwdVd4UVV5R2kqKkhlUWNFZzYKK3pQeFE4ZyYlRkp6Km5VISpZ IWo5MjtVczF6aV5pcDhlNEx6O2pATE9YSHF6NWZTRkFkRXlBPEJFczhQU19gZyZLKQoremJnLVc5 NC18NSZiV309SmBfeVV8Vm0xOzEye2JwcD1TVkZJdjI7PHpkPTBNcysjKi1XU19UcjhPS2ZETTVW ZXB5Cit6clE3NlokfGN2UiV9bEo7VS1BYD84YUlvdlFycjU8ayM0b0F6VmErX2dxYy00a1MyOzw8 aWx2Z2ZqMmRpSlZiYjAKK3pXOzJyKj19MFhte0U0ZDtaWUxeSW1fJkM8U1VhTlo4ZSpaWiZ3OzZX VWJmeH03JHNjQ180bUZTNj1vb35eczY/OAorejAtfj5FNHdlVTItUF9zVmNWciY2aipGWHZERTh+ elhDN3dEcCFyeG9DaCYqcmZwZHNrWCVNTE5fKl81UGszWV4/Cit6bFdNUlZ4QSg9YXxFe2k1UXZg NnRqI2Ria2lDVGI9NGpZRj1FRV5SJC0tPEpEVkU8TWBaY2tGMHpFUytob25oa0QKK3pGLSRHVkQ0 QlYhaWAkQFJseVY0fHt+aiQ7czhgWlJaQDdveCkzQ3I0UElAVHVxfUg9ZGk7cUk9PSQlSnhWKk9R IworemwkK1R8VTtOem45dSlmdiEjIXVILUwqRzRRcDBHRUxvSTBQKT01OTxDSDRoQ2JoTEBWI2Nl dmk2d2A8ZHl3MjZRCit6JGk+O1A1QEs1bXFrTEZEaH57MiNmbkItTVRpUS1CcXBgOHJlYFJvOWNB RD9uUlh2QCMxR3x1aiQ2MkBTQyZlYX0KK3o4d189UjJXel89KCZ4fSNHNiV1ZkUoWlo9NVh7SUM7 bzdgNThAK1Emdi1SeWAwZ0gpb1ltUmYlKzxhMH1VKCtSWAorekI2I21WJXwoUUh2Rl8qTFJPVU8z MVY+WXk1Mj1LQWtkZmdFZXpVM1NBfVMkI1liJT5ecjQwe1NDfEQ1JFotKTYkCit6Rn5AWEdTRVVE NiY9UXZAa0V9U3ZGOFJiUSlMTl98ODBHQXZBYUBFPjtnSFF0I35iK0R6XiZmKE1HP0QoM3t2PGIK K3p1OGNPQzxic2VvXjdvQDxoRmt0JlVzaFBuUjl8fFNLMGpHc0pZUFQ1QT1ASXUwRX1Rb0cmSTdl YVlVZmg8T0ZgcAorejM+XlJnNH5KLWteMkpNJF9XKD5fSmBZOCMhKmE5SklWaiNOcnd2PDl0JW03 M0RYXm5UXnxne3BFOUBzcHNsKjBaCit6cT1TKjhQJSpueGJNTUltdT5DP1FraW9sJV94JWB4PD92 aXJCS2ozKmZaanMoOEZHfV9nU1ZQQFdBUClpcEhyUDgKK3pLPiQqXjBiTFdkbHcpSUEldTZVaWt+ WFU3dTdpSVJnZnd1QzNUVHRfaENsUllwVUJtYWRJazl1bzlEZ2V2WFBQcQorenswdExJPksoeHc0 aElgKmJTeV91K2lDb3lvOHk1YWIpO2NFNDRjN3ZHRj98TTZgPlRBLWh3cDVkM0NQNl4wbEt0Cit6 bzgzc1Noa2c3RStHIy1yWihQO1FGekomWG52bEw9TVh7RVNQNE0zeExyJlB7Z0ArV2VLcmg1Yihp T0V3YXJERUgKK3ptV3VCX1V7Z2ZPSVNnOz9xflFiI0pnSXEoYjFgam1XU25+eSRTbkVlX19jfEh6 b0c9ZERZOG5DPSNtIXQxZHdXVQoreilwRFBJPllXJG9HSE4wUV4zfUAoVkpWYkplMSNEdnpscX1X cHpKTVVzTTNKe2x6XjxHayV4JXplYFZTPyZuVjN7Cit6Q0xoKU4rdkZuaj5+bHl7cDNtfHRZJWYz K0JfX3olakR3cH5aLUU4YD1BYUJ5M0gjYkdaVVdRfCpOYGBoQU1YcCkKK3pvdSppeSp8dlgwZThn VzNsZFVGO2p0VXdMIXtlTDxHcHNqMmUreihTQ0QjMT53QT5lVklkcHUye0g/SXNLSmIzVworenMz YzBNK1B3dUFvZGs1YFM3NU90VzMqSVFrJnUtUWp0Pns7bW95Z0xmcGckYUVKMFNYTEx9aEFQLT5u TnFqcWUrCit6N29sREBDWSpYP0xIUkAjX1BPTn57QEo0JlombGY8RjV7QXZ8SFA2Nkg8Zz1TdmZR S0ckSzFZNCRIYEJMJnJkVmwKK3phek8hcXR7YDFyeXdCYHFEJHZ9d00qY0lQd0BIMHdkO3hSIWhg YCpIK0ozN3oqckprUmMzcChxNj0+Iyk0alBzcgorel5kZVklazY1Zm8lPWhaUC1RKz1sWXpMZ2ZF eSZJd1NPenhgV0V2MEtyfl9aVVJEWV5VdkEhMSsyanx5RDNeUHcpCit6dzNxO2Z6SkZtMkZZRlor OyhqaSMoYipXdCFee0coaSg3aks+SmwqbHZ4bDg9WXxJa15RUXtHZm0reTFiNzQ4JkAKK3p2dVVR Wj1ISTRaezI4Vz1vdz1sK2wkJHhJPVFGKW1hcCF+bTU9ZyNnOFVlM15HOHA/MjR0X1UlXig/T0Zz dT1PYgoreip+eiVRZXNiUSE5fkRLWlJnPTBpU0ZZe15Adnx2RTA+OWpZdHh2WCkjVU1iM3ktK2FI YzIxNE9eXlojeXtFRGh7Cit6NUlsdVlMQXhqZXtDJipQajBXalo7UFpWd2FkVSVTbk5gRm85NiEy RENUWXZiWCVCUWRjVSpNa3VrVnZLXzg+JjgKK3p1dyFtO0EtPUBXc2pEZlQpVGxJKTdFOSh5VGc8 YSVgUHVzVEspVi05U2hJU3ZidGI2KTNsZ2JIS2RuRCU+dHY/bQorejJvOzExaH1XITFPYl9rYUV7 e0JzRDk2YFV0MDJYQ2JqSGlxcmB9dFZoI0Q/ckhoI21jQkdFUGp6d1prN3F4OHBgCit6ZWtCST1a TndGNEJ3Ylo3diltNUtMXz82bVFoQnA4R14pTU47a0htIShFJWFhYGhnYDVKKTlqZ0N5fVE+UXdv SlgKK3pLQk5reiZCRGo+O0clX1lgTVJ3Y2JlPT8tJWdKanhRUVlUcUMrX1lKODNoTyYjdSEzPG9Z TEJXJGNCUHF2T1NBcQorejVaSVdOcUp5TTwqRUVkZ2R8O0t3TGBDRVhfRENANjhBYzthZFJ1eHcq RVNlSUNDJlZsYVclP2l5dTUlOD1FN2o+Cit6PW1JdkJEK3crZmw3SkZ6OEkkbi08O0ZxYUx6TzVq MTElQHNNOXQhfjU/Y1ZtZX42QlRwPjdqXilgUHtYMmwoWGkKK3p7fl8kMXFDXlh9RVlaeDl3ciQo Q1pRSGk8cTsxPV9aUUhoTytuSn0mZWY2c0R0KipZXmR5TSN2dV84VnFWJEQ1Sworeno0NmxyPzVZ KWlKO3smI1BffGR6S051PmUkRipCTlN9LTlZYiVkITdGKi1rQUFTUm9gZSkyVUhQRHFwRlR3JWZI Cit6NENiKElmKCprZDleb3VqNzdUMVFvajIyPklIfHxgP05hWFpLM0VJJnIwa05QblQjKGRyeGU9 dT5KMEwkZ3hae0MKK3p5YnpSJl40MUNvQmxUPjtFJmcpKXRmal91bW85SUJaKnU8fiQyUXZUeEFL JSE7eDMmfW9yPz8leXJ6TS1hRTdvdAorel9aSFU0YFI5VmRvUHg3YnRRPmFJYFRoI1R2NUArK2xj MjB4NVN6YV5JeT5UQUVFcnhMX21CfnEmMEB3MFpGZGslCit6QXRERFowbXptVyl2aDdQS29JSzUk QC1CVTM5SiopbVN3aEQ5MElWdiRPTD4lQDxAQDdFY2xXKTFhWSpCYGN2YGcKK3pkWmNFYktGRClX Y3hJYDlZdW9jeUlQJGdLKFhgMUVhWVpBanl4Zn5pUnkkQmN5OCQ8P19AUnUlSXU8aklvRTA/VAor elVWJFU9aG44JDAwO2pXbCM/Z3xhKl9RXzJDaVN6MDI+SHN3K1IhN0stZjJueElxN2x6QyZxQyta V3A4I0YrPEdGCit6aFg/OHJaOSVfamRkPTdDSzR7U1BIZ1FabG9BTFM8aC04azlocis4KzVPbE9i dDB1Vl84KF52Nk4mM1poUXtHQzQKK3pHc3R0YDUyKDYmN1RrLXQxRERLMWJaJVYkbjRJd1F1YT0j KFVrVzR4NFhQbysyTzlIRkA3fmkhdXtZKHZ2YTdybQorenZydiFSRXhMK21ANkleRXJGaTA3Uj9v U2VNVm4wYXNTPW4wNk9SIStHZSgoMUZjcUlxOHV8VyZ8MzFKZFB9dEBFCit6JUJJRU0yd35fR1Fg Z0UqJF9RdHRDN3lZWkg8UVZtTHtjZSF0c0BVV29vb3tXazBtb18tbHJIe1FxKGhgQjJodFYKK3o3 P015NTUyKHhDT2UlPnxablVUbzMqXnBTYntrUiRNbG9ITHA7ejB7TFYlMkhKWUZgNmVgWiR+IzhM PkEwcDdOYworejlsJm96bVhMYkUmT1ZeVlN3anZXM0R1cGlPZXBIYm5ESkY1cl5PPFR4OGpaRFVr cHJoeWE0Kn1MTytkX2BZcDBfCit6VkVoMk5qSWFhM1lQXnwkbV9SN0M3KVQ8ZzByJFlZOzgyNTlG cmkyUWlRU05wYksqbWY9RHFDfTtlOUpMQyNfaEEKK3poa0VndysyUTxFXncoWT1sanstST82Qy14 U2ZlYWAyaFVtKyhHcCNHM31DfkU8cyFEajRKcW5vdTg2bCRWKEFVeworeiMyK3E+WGI8cXY4blh+ UGdMZDA+SyFucjhMc3w/OCRsUmgzYThPSUwzKHRIdzd1N1MpJCMoUkd0PGRvIzFJUUJHCit6X2Fp JjE2KisyaF8lUjxnK0hrXnx3b1VgMC1MWFpFOERjOSNqISs+WHltMnotaHA8PkYoKzZiXyleJXF4 Zio2R0gKK3pTZk9RaUlhUUhVQGs0ZGFMLUEkRTQmc0lWYCpZRTchTW0kYnpNZmZfM1RtWGY2bk9n SEliMUleZlR+VnEjLXNnOAorejBQLThZSGg1SGU/d2piOUtaRWIxVnlDfS1qfmpWJig0QT1gVGVv Z01FWilhX2NsaGhzRzx+aHZafW48JXM9NDB+Cit6VHZrNzBWQWJRNHpyWDBIeiglQU97ZHFJfmF2 KDVlQGRqK2JCZVhLPCVON0p5dz5HZ3JyNkVMWkhIPncpKjVjX08KK3pPekIlP3lDKXsrMGRlNGh4 YEVWbThXRSlfJlRHeFV6ZDE3UzlLTjZ8X3lmY2k3b1UlJCYhNik8T3ptOX5eUzRreworel5PbllA ciZKMnRoaiFlTT00TTJ9Nm0ldVdNXkNXPllTWnNrOUZXaSVGazlQUVpfT3Zrb3hhYVQ8Jk1vfU1K PWswCit6JCZxQzEqdDVVbDN3Z3ZsdGArKigjeVlsZzF7O0NpQUVgT18hRURkNUo5N3ROdks7UilG UGcyTzklN3xTTmYrY0YKK3pXeFAhXmZmVlVzMlM/fVd3TjlpTk5tN0N5MEt8PGBvRkdYKGQ3dU9K NTlAV3l7R2RVfSUrbF4tUXp6Vl80c2JLQgorempfQGJ8KnYqR2E5anhVNUJPSkMwYz1RU29YY24o SHF7N2RxOVFFJHdufXhAeiRTYD5yNHNVUGA2aXREWFJsUCM7Cit6STAkSmI9QWdFXlQha2hCJUZw eEFFNyYqTV5JKnNJRXBWUk0kPExVTyNWYz9VN19qKE1pRjRzQEwjajtDREotMjEKK3omYl4jXyNG ZjR+PUxpa3FuIWZgfHUoYzlLZz8lUGNSMUBWRHdQWDBaJiZ1WUpmWl8mN1NPSj98SkNDISM9bUE/ fgoreiNKZklSM1dtTDQoJkNSJXFvZWg4JX41fCpAezJXViVhI3VfSj8oJS1zSnghViQ1Q35gV0NA RGUrYW1+NjtZbz0qCit6b0x4PXNTMXJAIXs/ej1xRmR6e3E3c0R3WHU7fCFEQmQqPEFiPnJUU3JI NCREMWwhZ05zcU1UVDlxaFQ+OHUtPk4KK3pnWTRHS3JGTzU2emVubm1jUzhsSll+KF9zcTszSyE9 bWN+bytlZEU0QVVkYHhsfU4xSWM2R3Q9Ykl7dXwxRipROQorej92PDJKSiY2Iz9PdGVJQUtqPyRA STk1ditOWHtETzxJWis8SDhKNitKKzlmJGhFQ0g4bUIrRWcmaXF3RTs7VzVyCit6PFhFKXlQVERq VTV9IXZyTThGbnhHbFJjTC1kZ1EjbzdzSkBtMzwxQlQ5c2R5I3l6Mm1gTXpibUQ/dmlxI2h2VWEK K3orbUhIZWhwVGlTPyp9UU9uV0Zhcm4+fXAxUm5OcHxqRW1lQkRiPSRwZEJVSm1EP3FiUGxWQUBI SkxNYiR2cnx+dworemJkb2gzU0xST3MoMWVuRjcwNEo0UkQ2TzBMbXYzY1orUkE8OUhhNmdiNiVZ dHJ3NUdxcEY7ZjNXdG14Y3lSVHliCit6PWtFUWMwN35VWXMkXnF+KUpQYWpAZjJEdERnTC1Saj1o akYjdlNJX0tsIVRgKzJJZExVSHJLUnNEQEJIPDApQnUKK3o1O291UnNaWVVAeWBjSzVfVTIwNCRO SUNNe2p2eWRiOF5XcDJlTmd1Pl8hcXglYlEmb0p6aChXJH57fVNXYW9+YAorelhVTXZIaU8wQXhG VUlPOWEjeU0qSk9sR2woUDAkY0k5V2M8aGYxPzsoY0p+TmMxZSghdk1sdWFHNDZUKGljOGA1Cit6 ZWNHRTI8KHBCNCFXXiNWU1owT3NTPUlBbTMlPVl9aTZleHpRUHY2RTY1diNyWU1iJVd3PjRnJSVo Kmk8KE1uangKK3p3K3dTTS1tX2MmYGIwWW9jb258XzVMbHAjV3Fpcj8rfExRZGptelI2UlhHfVct a2xGJEQkUms9MW1vVW8oam1JZAorekI0MnB0a3AqJHdifjJBRjJGZkpFb19uSns8T2pMYFdFfllV aTZjYE4kbCt8YVRZMFBLd2JifFhPeWo2KVJDbkZyCit6Jkc+TDNaJlhQJFlhRl5WX0VCMkoxQkVB fSVkXk8tJCpXelVmcUtfSipCMGo/P3RFVyE0JGhubCNrPGZyTm1qMVYKK3pXWFVaMGo2NHU0cFFw WjJwYmNCOTViaGd8RHdgP2lffXl2cEMxZFZDUmNDcGtBV1oxcEMqSXsmQFI5bFYlP34mSQorek5B STdvI3k9IUJ7SSlvK0FBY25fKXFmPjZGI20pI09sKTJNNlZtdU0+WThZXnplWV4jQFpQSXhiK0Mw UVN8WGMwCit6bkJ4OTxtKWtka0VoM0FrUHs5N3VRcUVKTnNMak81UHl0X2BJUnFsPDM1eH40SHBV MX5UfUB9fiopeWpUUkdnQHEKK3pFbmY9aXVUcmVXKl8hbz5FbjZOczdQbG1xPm9vNXJTeSF2Nys4 TnZ2eWpZJGhLWDxMa24pSChxT1ZZSlVLeCF8KworelRHVyF1RnpqJXpWcD9vREN0dG9xKE1fcGEx RGZMc1pfQk9HPClXSWgqQH1qSnZ6TTkodVlYQjRKc3pudEJrdUl5Cit6ckRpaTFicH1TZFFFXnEq MTkrflA3PXdzV3Uye041VmY4K1NqQypUQUt+N29LMXwyN0tSaXYkIypWSDc0WVA5JVEKK3psdkgm PkhyUzhlMEMkQDJLbDU8P2QxNT1EPj1ZMm5uRjNKJSlod3gxQkFzQn15d1FqYXQxOCp9KDs1RzJB aDRCTQorektxNyZKK1JJNzsySEo8LT02bEYjYm92UHNyPCMzXz1QXkRydSY3JnRuMGRufmZlODBJ c2FEeWhDdnQlezEhN1BzCit6b1E0Vz1VMGUmZjlPMFN1YXhvMU1zWHFEam83Y21mZ1lKdXc+Kyk0 YndIc2RiZCh5ND5BalJuWEswTGViNWZSO20KK3pyQiN3RmtXODZyQ1VUNTJBOG0mWllTWTN2bXR7 Ym1VdkdSTjBaJnsoMippSCE2ODhDRVBNczxkM2gjd2U0aXA4Zworem4qM05iTWNGfEV6SE82Jlhm NGB9S21SVThXN3NYYXBiQSZrNCUxfmRpaSNeQFR2TUZ8ISolcnsyS3gqZXFFKmw/Cit6ZDhaTUV0 LTwmT2tUam1KWVNhaDNLYyZ5U0p0VlBvRkhWQ0F7UGBKbGZFKD0oI0FqUStkYmE9b2ZXYHFIbS1w bVEKK3p3PT03a0gxYTVaaHpeSmJ6PjdDNU9LK3Zwa1hGO3klP3hkQWdUZF9qO2k0aEBtWE0qViFv eF91KVhnJn0lJU1xbgorejZBP1NlUllKRk10ZXgmelhfUiVWZGpJWH1vNDVWJHZUP15PMWgoeT5K fG91aGozR2tzciFDbjhtUlZacm8rbDQqCit6KXtTeEBfUEhtO3NDKl5mNyFJLU4rJnFefDJxUCpY PX1kcV9kejBZZD9oYlUxYUloR2gzK1Y/ZV9KVkBIKDR9PlkKK3plcj49X2U5eyYhdSkoPX1uOSh0 VSl0KFl5WkReOGx7Rzc/ME9MSDFOJEt4e212T25EdGZFUiFWekZ0dUVpIXg+aworekViJiQ0QVh7 TGQmQDRXMz5kOGdVP1lgdEs7MzI5cHR2OGZUWkQ3aUMjeTJXOz5xRyg4eFI5Kk9QKXNkb20zRDJR Cit6JW9zLW5RUmBtbCt6Z2BwJCY5dilSTHhnLTFVYismJEBuOVhOQCRMeHFVaUF5NHh9dkVQZXR8 Um8pKEleYlE/fFQKK3pJSnM3PVNiSnZlJnYlb0B0STR4aXtse0pQbzlqPXpUa2w2IzJIcERjbWY5 dF5rPClKWjhJMiEoPz9qQzl1ey1hXworek9PbXQpdTFNaXRrKmgyYmUyaWt+WmdnOEFjQyQ3ajhC ODxvMi19NCFfYnpgT2s4ezlpPXt9V2dQKERrV1Zwb2hMCit6TCY+Mj9EfkMmN3s7cyl5OyE+Q2FP NWFWfXspIzIxZm1mSTVqWFFAZnhqNWZeNGZ6UkQ0fXVvS3NlMHBrUEdXPyEKK3ohJkZCMSstZD0y ZTRMbTlsbHdjUGFRajwpLVgpK31zT3cjWCZjWE1FZDhnNUBHblNqb195bFUjPEZ6ZGEmKUI9cQor emBMS3k0WUAyWXhuYClmVSZCMEFPc0Nrfj1TbHMrX2dYdGUtb0kybDZQPnxob01SdWp3K0NtPzBa KjA0Z01pRUd4Cit6e1BAMVdWSkMkakFeYk0hTUZaK2dTIV4zZi1CWD1OU0UyPnB3WUNvNGp0QH1f fEFna2ZHdjRUbk5vcm5LNXR8fFEKK3ptJVBzZnYrO184KzdLWkdKKDJVQW1wKipsPTA1U15IYU9B WUhMMk4xX2FCfHs2TVpPeGZSSjstMS04MTImPCl1JgorenlAN3klR35Na3RNJDhzZ2JiUVhEayg7 KmMja1BVI2Q8MEMrYChpRjJMWXRwQitsdC16Q3drTzw3dmB2LVpIN04mCit6Tjs9OXB7cFNvWHh+ UDkqRl9yPVlaPFVhejVGbyROUyRgYzhgdDhSJihzTFI5KDJiSUJMOXt9WkhzbWkzI1MpYmoKK3pp WUgkSEQ2Xi0yLUNhczlYWG1mLXtUaiMpPU0mZz5icEpUOWdjZ3hnPSlpbVhhaGFPKVRXdElEMTF6 U1oqMU0yVgorejl0MX1yPzR0d0BzK30wX2E/N194I3dPMGxgemYoZkklPCkzT3dJdFZLblQkbWde I2NeQjNrfW9aaShySkdBRGpvCit6ZGsmcE5NfktOKzchfF4zV0tseV5yV2lYfkZMMTk4KkI/fUtG VGlxdU1wQlpwaTF7Y3FWamE0PFlpUVZWVFlBZmAKK3pxdn00YU1UdCpaeipZQig7bEhyI3BLJXFy JlYqU1lEPil5KEZUd1NVPEwwcWpoPjh1d2NKMXFMP1VJWlorPENYcAoremMqPmFpMV4zU2pCPXMq WVVNO2cxVUlxO1NQPU5wNmU5MjdRajc7cVJWTjIlcHBaQUZFe31+IWoqNyltNyMpfGs7Cit6cXZ2 MTJMe15AaGVzdUdmdDJNSWY8bmNhTmwtUEZkeWJ1SypBMipaJT48blA4RkA0bSMrWCF7MTsrcFUl TyRlYikKK3pqciNkOzF5I0N1ZWlYWGx0XzB6ZFRPTFJrZ3tuYzN0d2Z0SFpUbTdvO1hybVJmdm1h b21MdWBpK01KaCpuPjs2Wgorek9vXnUwN0J+QE02Q2JZYUAlN0wkPDdKYWZlbXVUfW5ATDlGRGR5 IV4mIVZiNCFPXmFTMjl+OUV3eW8/JnFeKkU2Cit6cF9JI295OFBXQXBlaiFEUnskbDtTb2p6YTlJ VU5+ZUpud0s0ciU+VjYydVE/O1NJbXwqNC1jbDc9QmxgdlJBfGkKK3pTMkh5I2xRQG57bk1RQTZJ KU1uTUF1NFhyQ3BhbTIrezJxaDhSdGdEKUV2S1ZCampoTHlpbUtqM0RQandrR2pGZQorejlMa1JA Q3ZsVEI8TTk0QWh3Xz5AOTs4QytWLURoR0AmJT1JPkUqTGN1VWtkPiVlUT9hOzw7bGtTZy1hfUho R2d8Cit6dk1wJUY7YUZWUV9sWWBSPj56PDYxVEdDej95WnNNUGNYSGxgdF9CKEI3JTN6PC1sQGct N3NaQylCXjRjKHFeNHIKK3o4alc+QWRQTT9lTTMwKD1PeS17NDZtPD9HM1FFO3EqYjEyeEdkQHZp QUJATXxRemVEb04hT1VNWUF+dn4ocSNPfgorei1iMlRPO1dZVzdYPXJAb0VWQjE2R0ROfFJlcmoy ZFQ7I0JlYjFxJXtsQHB7fDlRWk1Eeio7NkEhUitFPHlVPkprCit6LWJVQko7fDJaRz5PWVFMVTU0 TFcyXlpTWDJpYmwlem4wfmFfc359WDNjKEUyLWcmdTs5VVpyYFgmOSYjVjVFXmoKK3pXUDRoams4 WEg4dTx2eDdUbiQ8TWhEX3RGTyFkdkYtYmtVKzRFZmRMLXo1Tk0oTHMyZyRoTURgSHFnUFRiZkVz bQorejw2e0ZlOSYzSjg9fjxXO2MhdVNAT2VhIUw2MDktKTtEXm4/emQkcGIxTj41QG9sTTM8UHtm b0dCKStJN1RGR3BKCit6YCNzb2xyPEtPIUU0en1YWnU/eXgmbXRNJU99UzN1bUVEUylSaz5SPDNx TTh5T2JPMXImfUpgVmtqMmB1allnWjcKK3orSnt6JWFJZE80ak1ycmFnI0N5TkZlX3FgV3lnRjA2 JEY4LVc+c3glWHFDO18kc3NgenFseWJWZm1qVXt1UjRnZQorejJXe35YSUlwfD84VDQlZSRUTygk VVc3fT9Tand0QkhaQS1pMXRxajlaeiNEVFVieyFsel8/JXg/KmJSKE1iR1k/Cit6RmhlSj9lSzs1 RTtEQks8M1RKYEdTNDVZJSErfF9ecFk+TkZ5WFQrYiRITlYxT3kzP2w8VFEjSnY3e0g3eCUkVmEK K3pUZC0oNVZnST5oWkNRMXwwODk+cGAzZVZGV25nfVBSfitUJitFNFZZQFUhJHk7YClCbl45KHdT XklQYW9lKDhiTQorejJjeWduYjhyazg4NyNxPk1RMH02anQ7a0hoZXZOJVh0IyZBUX0tYGljdzAw UWt4I3Ixaj9CT1pqIzMhKSlQO0ZiCit6MT9tJSFIJGMrOHp6cTlOPllzPnY+fTM5anJaXjdmVntU M1JwaURKe3AkdjkqQ2B2JjNGaEc9b1dQekdWNl9eK2kKK3pLSHFia15uamJpMTNKQUBncT9hVkl+ YWVjR0QybC17QztTRzdrQk1tVFVjfHt4VlFMRDFjS1J8MV9TS1EtZFI5QQorejcpRSY5bkBEYzg1 MndzSCVVTCN0OXdmIWVpIzw2Kio/Wmg9bXxpK1BAeEYmZ2ZUcEw8ayhJMllGYnYyKnR+Nl5vCit6 aGpOXztIKzs+IVkkdmk1a31WUnhZN1AjZT5RdXYoc18tXmV0OGp1X1lIY0BBaFZyMkVRSSFDeHZL U15YUkhWVDMKK3p2JFR7aiNBelplTCt0MGJQX2Y3IV9VfT5vYVNXO2o9bUZzfkdRfXoxb19DeSNs clZaWFUkP2UyQUhnSXlvakM3KAorejdxQyFYKlc9SnhPbCRBRTMqdXtaUHlJY3M/MG9XSGB1NVo5 QCRSKmpWWCRBeiMpI1FvQilyXzs2RnluZW54YFdaCit6T2tYfmU2Kn1IO29eTFVZcygzJkN4OXM+ MyRzN0R4WmJPY0Z2R0EzWHRpK2g8U242bF8/PyEyUFYkVDlmSlR5V1YKK3psVTU/PTFRY3doQmJ4 WEVZVSN8JnFDPGhpMWV4VjNyNilDel5xR0ExJUw+eTNAJH5Ja0ZXTWB3bCNhZmZ7RSRnPAorelZS fW1+KXZSMnZpdm1wQTBDfXBqT1pmRmw+WTtnQ0Q/YFFBI0kkS3VsYCZYOE8jfjsjbEhjfEBiVGpW Y3pKQk9gCit6KUg8TkY/JiFWSnk8b2A9aTRrJnxVMnFpTFJOVX44KEo+a1ZnRkRPa0ZlKHp5KktH USZfRVokVVIrTX5GUncheD0KK3phY01laDRPZllaWHN9bjt3PDdBQ1FfJWJ4PWFKRX1MfGNvdStR fUFmRStBbn4zTnAxLXUheFA2M09OX1JLcG5rOQorenBGKiVDZW94OC1UJnw+bmMrSCNUSGNLRDdO PVpIfEx1REAkdlJJYjd7fm1gSWpWdjxwcE5gQ0xDTH5rR19weCNyCit6cmcma1g9YEoyb1AhSSM2 MHE3d3c/QihmaXIzM30mUDFWS1VSUSNsSFReZURqKFI/ZSpXdmdLUEoqSFdGUHZBbTgKK3o1NDZe bkM/elA1RkRAPkRHOV9MX3pUZHItKkt9N3BUTV8+MjteQlBGITZMYWYhcmFRY0FTdVZ8V1lQQVhi T14zZworekpPSlY7aEQhcXlDPlZeTkt8QHQqRy02TWArTW49RDUtIzRlPnpPNWcrVX40JkRxaFIh Pmg0OFk3ZXVUeSNhR01mCit6TXY4YkYoZWBfe1Z7YWtRdCVRUDYwZHdNYjs+Y3deaUpYbjV6YGt7 c1ZiQkhBQzhTdFQja05wc2x6QE1UQnReZVcKK3o2MCNwdzlTZzUjPCMrRHtvc3o3REBsMUEzUG9h aXJtRT4/V3IkV1MwZDRSUEw1WGA7b3lQV3U0PFAwJUp4M1Y3VAorekZLN1lWcHVBRV4rNmFDXjRz bytReXx4SkFFNVdWaEI/UWZkVTw2YmR2dDhrQWd7PDBFdCtKb2UtUEs7Kj8pRUkoCit6PT03NE0r a0s0O3BFUStIbVlLQmJwLXpxTlQkPHNqRTM7Y1pRTDFCNjR4WXorLXFhNlp4K1ZCdTdSfV9qZDY0 WHMKK3p7cjx2entXXj80anJtR34+bGI0VmR4clY+LSQ2MDklXlZrSz1FM3ttdjJlJldtfEU1WDwz Pk9ncDYrelYjS1VXdAorelQ7PVNEVj9gdyYjKWF5a2wpbXkyd1FCbT8pMyQ8ZVZqR0VmNDNzTGdi N1BtZmhLUm1VMDA9b1ZWfntraTBxYigrCit6czkwKlN1dEZ7fEFiJGNoUT09Y21LKlhkSFVrZCpD UzFzOVooR016NXhyZ3owV3ZxbkN4N35wZHduejtAXiUhT1oKK3o+Q2lOcWEldFdvK0NFWkM9c0tX RFVVZmBNQXkhV3dwP0Zvfk9AP3hUalE7QSNlMU8lfGxHZVFHOVJfYEVENlF3UAoremEkK3E+cnky YVhNKSt7KDdydHVRKjAqTlc3fXwtODZvXlE0IU9zbmlid348Zzl2PyF9KCNpdTB4KzVwUzdGdWd6 Cit6IW9ZT0wxdF8tQTJUcS1odE9DNWZeYjc7SSY2ODNALVd8WiprfVMzJHUyRjYjYUU3V043UihC VzgxMTh6cExSJlIKK3o3IW88LTs5I0A+a1ZxN2dMRDNCQmg5Tj4kOTM4dk89b0V+Xjw5JEh2cl5Q cUxLb0pJVWFtYnckY3ZGalI2N1gkYAorenh8Wklse3A9VWtFPkkoUVNURDFMKTd0NkF0Rm1vWlVZ bjFmeTZYQl54bzlKZWtTZ0h2ajk+emNXRz4xJFdWa2N4Cit6cmNLdFpIUzZjTyZ0NUAwQE1RS2w/ SysyKCRjOE10TU59P1BSWTY8X2Zra0QzJFViMilpO0R4dTIqRGNLbUJUWTsKK3pnTVp6PVNZTGNT KDdKflc/Y3oodCFJV3JZbV55WFBRcXlmeF4jSUg2MHBsdlRYPz52KTA1VUcqX2QqYGkxKEdJRAor eiNvI0tkajRpez47N3JYeksrUSpBKlR9ZVRWVW9Jazd7MyVqRCFDPz9uenRfaiN1anVUNSVQXj9h SWJ3RmFzMCsrCit6YmEtWEgyOTMmUmA3SnJXMSt8dlRQJlZ1bj0qKStgZEslSGVATV5CKmZScy1o QihIbjRNTzlIa2dFalMoIVhBVUMKK3pnbzBLQyFPPiV7bGZRam5YUmRURyo5d2JQRyVkNjJNKy09 RXd3RSNwWmFmQk80bVQlMEkoOXR0YD5eO3syXkQ1JAorelU2fjBYNCRHJlhQI0JxNjchYiRMdTE2 dWdYb0RQdlN3RF9oZTBTPUBrSHBzUWczKWVtezZSYzFKXkZ5TUFea31oCit6LUYkUj11WEZQPSQ1 aWxyPClrRGZsYz49Vykxb0F3ZHdPTjVtX1V1YShhPTAqdUpOa1JKJH5wS0NOKTMyZShudWQKK3o2 VzdHWk5gVWxJSjdPPUgrRFh+TzlXWU88SHtPPihPVnYhLUstZDhOKlJlZG4zVCV1IUNiNGVNam9v aEVuTG9+OQorem5vRlVGSnp8TmwhQXNweSZIR0ZyK3Z+SUpHc2pXfXV6bklRekZiQG5ub2VxZXs3 SXh3RFNPJG1DeHhmLUVNSCVWCit6KndefEJsanQ3JihtMlM/WDF3Jk1FcUlTIXIwPXB3YHNta153 azx6bVRqKStvdl9NSW96Xz1KQGpnUS1sIXZ7ZFMKK3opZ0FNZmI7bWw+UyMpanQkIVlpPi1mLU8+ Xl89VUFsSi1NMmkjNjEpSHtOaWNzTmpgRXVfeyFZaUFHUEloPHZ9SworekNlYU5uaGNzRmRXYTZ3 eSlafmwmPU1SUEZTZDJTQSZicUxTTzlnSmAqXkk3YUZ+dUt6bE9YMUtXRSZAUmtRO3tkCit6eHda PG57RXZ8NWI9MGx6UilTZDRhPWNfd1gpfFVQZH51eGF5Sk0+dXoxQWlYSDgma2orbmJhIytsKkpt IUVuWEwKK3pvKkFBZVNnPHZEVitaTkE/eSRyUzxwJF9PaHphNzdtKFl6IWBsRE9qJmF1WFI0ODxX cHZrPilJcjZ6S1ZNQDJDQworeiswYWdNaWhQQF91ek4rM3ZVdCpJc0kocyQ/QUt5fm1ebS1fMlh6 bykhSWVuNnE+cE5WKjJsZXtBV00ybGJKKHNqCit6I15ZREpCMTIpcyN7PDwqQiVZO0F3QFM0VUpy bTtTaUJvVDsrLTV9cTd7Njw+UUdWMkcld2B5JkRiX09eT18leFAKK3phPn44JjZzSypmMzc9TT5e V2YhUVB+OEA9O3Veaj4xKDhJUDxwTUpOX0NFPmhlVWNAYThUbklYM2grJmolbT9zIworejs3dmQ/ Pl54WHloeVAqPXtTVmx6Z1ZsTj85MH55Nz9yKyFnRlNnSm9aWUQtOSZVVExmKzRLQjY+YFlWM1pq Jjk9Cit6WFNRfilneHw9XyMpVGBrLV8pO1E4WDhueDhxNkheUXkhUnNXfWNPLXBeVClRZVcmMkI2 RWp6NmxDWHFwaSUmUkIKK3plQ1gqJUhkSkgxRFA2O3NHRkNUPWhhVDREdS1LMUZ5QGo2cF5GaVk4 QyNJZ05Wd1pgUStuK3RYTDZxb0tsZ31SYworeiVNeX55Vm95Z0wxJnRJYWhnZFBSYHslfEEkVkNM I2tLPTtfTGJfdDdnQnl8S1hme3tWNzJrQGpTdnkpXy1xaDY4Cit6dVU4PXdXVipRJCMyS3lnPHJp e1JlMzIhUXdaakd8LUxHTnxDWWo/UVVFRS1JKXMranVhNUlaJDN2NjxDNl47VUIKK3pFRkV7VUVg KWJrUmpwP0QyNkVzcyZFYD9va2BgNjJfcDBiPVAtcWxPQjN3THw7X3QpNXNkQzNnXzt2fkBkJSV2 VAorelktUjd5JlR7MU14YDx4VWRfflR1Y05wYSs+U3RlTldKR0F9cmReMFQ8KW4hQk82OGlZIzIw ZU5iQ1VBQmFjPzZQCit6RGtnN1JlYiNvbHgzZ0Z5b0N1WWRkZTJ0R1hlRSQlK0d1d344SlA0eCt2 S09gMVh2Q3NpXjAxVEhXSGZhTmswNnYKK3pBRUA8PkBFJTBRRT9KUyEzZClZUCF0PzRuSGxDVDsy TUh+KT57VVZLN1ZYc09ZTVMra1R1UHxJKUt9KkVwTEBWfQoremZjRiZpQmF7aXRlclglNEtXVEEq azsoVWxtSFVDRVl4TmZfcmwxVVE1NX4hNSkkNTJiN09tNXxEbzNGZGBBTVY4Cit6NW51WXZsSVZH SURGfThLcmVsRUtIQGA5V2tBIykjK3c9NilpPC1mUDcwUz1WRn03XkMtQ1c8QjJgX0NrOTBsUkgK K3oranpOUXh3M0RDWCRnWH52OC1MMkMhUiU1MT9wdCs4Qn00Wit6e2lTSTkxWU05Pj5ySHtmUyp2 JFVFVURQUysqPQoremwtYFlkKVN8UzhMJmMpaSZ1K0tPZk12R3FWciEpflE3TU45MkNrYnVHNjA2 VE9mS2orSjc1RFZGaHRkXmY2Zk0zCit6QD43aDM4Tm5CTzYxSG1JJERuOUtTTEVTV0lJPXZgPm9Q a3E7MiQ7RVRIRXdCeWk4MkVqQU0yfEdrYG1aK3xjSXAKK3pMbHw4emBAb293QWhQY0c7aW02UW1Y N0p0NH13LU9nRlVGXjlwZ2VueUszd0M7JFFBUktlTEY/UndxdFg9PVlJQQoreihsRnxeNlpqY2xX ZFMqMmUtNDN8cHNuZDNrMDlsPjUmODZoWVktYDBSI0dAWmJVS080a3U5KlFPPV9iNlN5dWZECit6 JWVHLTZQdjJfYyU2ZiNoNWg0ZT8lfT5wdmRwSWhxQmNLXmphPWFySkM1eU5OWWtZenNnelI5eThZ OUhBJHF3YW4KK3poPkRMRCp7O2hIdT01K3dobExsUHdXSX4tMjB8IyFpIzhONXA1cTlwcDNrfEs+ QnQreVB8JlFkc20rRG1PWV4jeworelEmSzZWWE4wPGsmKk1iO0VrOGQhKjdXcXc9YE5WTmoma2tj K1lHPGtHbUJQQntUYG04P2VHN3AjJiZSX2sjYnUqCit6Vj44eFp7cVNXbDFgak18Wnl4ODVpOF8j QitEWVkpdjZFJCh0c3k8WT1LWnI2PDw8ZCVKeld9dEo7LXVaUERLbm8KK3piV0RmfDspQXAkQ0p4 NntMczE0e3g7PHVCV011TkhkVjM5dHhXTUJJbmxUc2ROayZVRWZYWTZUQjNKfGAmbCVRVAorejhm WHlXIXVEdDFgbzRCVyFydFRiZXdoSyNAZl5aJk5aTzFOaVdoX35Ae05UKzQ3SEcmUXhDZDk3N2l8 S2cxezlDCit6SlpGdiZERygleXg9al47TTVtayhNNTBvRE0lbDtAK1A/d0p6QWhqXkdkN09fbmFx SCFxTyhFYXU8cW11IXZlY3MKK3pQP3JeaSNKYnM3PSRHcF5WQGoyRmVee1UtSlRYISlJdXx2aUVe K1l8aChOZFdmXnlqXkY+LV5ndmojdVJsdlRiWgoremFAUD1OaWE1R1c+RDNhUkFhTnFDS1gydTch RjFLeSR8OUZ9OHE3MHA9e0tkfDgxTW8zOzd9c3hGSUVhTF9fYC16Cit6QHEtQD0/clVkQnBGbkJM Kkw+MXRtRipgb2hrQ3h3RjMpYDllbz07SV41c1RLQjRGUm9PfShxdiQqNnx0cl5aQDMKK3p1UHZ6 aXNhdzFnWnxUSFImTFNoJWYoam1jUksmWnRwLT1mRilzc0gmOzdsLW9BXlBwODc/WCl7M0E+P0Y3 UDZ3UAorekJ7OWs5O0ZkYVZjV3AtPWJkQkhrQEZLYnskZ3VURmdid041NTE4dXxgOW07KDFwOz1n Xzk+OVU5OyllLSNGV2llCit6PkVmPEMtQWgrNHNAKzdoayk9SndOYiFeXl5HallHMDFFSmtFIyhj eXVZNkl8ODspUUdTTDRtP3tgdkIybHlzNnUKK3pEKVB0dGBXUWdOXjIwQlpjMjtGWTFycmE1RzRY bFRoTyt5fjRqT09ZVn44Tl84QE9jMndgJWtQbWBHWWk1bzJIKQorenpKMV9abmFuJD53IXNRRDlT O0ZiOFNxQUgmNXtKZjtXJWUzTlIySm5DMk4mc0w8TVVeI0QwN0JCVVBzKG59X2dICit6Z2gpMm09 JHk7YyslaVdxRCVab0lzRlN4PEVIQlg2b3x7RXFLS3koa3N7VlJQK1cxUyQ3SUpYTnJxd2EwZkMl WjcKK3pzV3NQO3stXllXRV5AISU7ZkwqWko0MDxHTUN3UHRVQD1uMzU5R2E2aiZpUlgmZ3pibXBV NXYpcG5vZk5iVk82IworemNeQWNrZ1ZVSkc1SU9NamlOeHFOSkIxQnZmMmx+RGkqLWVjQkBVYWVI aTRecnU8JHw3XkFYRjU/P2Y9aiNEQlM9Cit6ZzJUT2JCZlJHRmRIMDB0ezRUNFBaak1TQkMhdjBm JD5yUSpGXmVfezEpUE1xdn52U1gjIT81NkxBcTtzazNfXkkKK3p0SU9STEx1Zj1ZPzV4ZFJmfEQw O09MR0ctPnV6aFpHeGIxK3h0X0F4cDZYNmNDZ0t1IXcyQ0kzITNCeTEpO3FZWAoreiR4TTRRcz5V WWF1ezItYCpqK1kxNXpNNm5VbH07NnIjKyM1K154RkNaQWVwQUxxUEJ3RGR4KWQrUiVVaHB0clg8 Cit6c2dmWlE4ZEw8O1g+d1Z2MX4qRDJXLVFQJFVycTdQR0QybmNvQX1pa09NVCNWTDh0dyt7ZzZL Pm5hMz8rRmFOdG8KK3pIdWBkUUpVfHZ5Y1ZSaVR1eTh4dil2RzhGVnZxd2o7VyV3XlEoXmxoKl9F JHAoezM8VmdxajRleFU9fG0oQjZRYAorenEtO3VsZjlsfiFDIyFNRDJmQn11bGt6ZUkmM24+XnNh WDFqWn10V3cxTVZAQCFIPlM0bXooZnFCcGlxQVlfYX02Cit6OTVxRWJwcFlDNiZfNC1OKUJGQitq RE1+ZypAPHttPWhBeFZfN31ObkFDQEo2bTw2d0ReTmxoXilJJSVSWioxcE0KK3piPVVAISFMamhX dDtqe1piZCVJYWZ1UWFMWmdRUFB0JWZ3KSRZakhkO0N1RU5Lc0kkNlA4dj9eZEY4U3sofkROKQor ejFQRGI9dzNeUkEyPXZeVWF6d2ZzcCQkI3V5bUt9a1dZZzBfOUptRlchbCgtYjNXfFV2SDtjO3hy PVgoUjU5M1pMCit6Jn1veisjWUgqPTZvTWYwSEFUI2NaTnVOfD9SeDBYXyp3Rm1IfVk7QTleT1I/ dTNVOSg3bDFgSHlzMTJNd0o2SEAKK3pKTDUzaUV3YEBDYUViK3kqQ0RlTVlqQn1nVkFybG1eTj5W c2xMUjNaKXJZRlo8ampwNmgyeT93enhwNCU9Q0daMQorenApVGpoIU5faDFpYkxSU3c3TVlFPTA8 UikxdlliM3hySmchSU9DZnY9bHAxa2QybVNVP3dIJVY0bjhkQ2ZGYnhDCit6fDcyWlk/Uk19SVQ9 I0o0I0UhWFN7RWxTem1rfjJuUV5sPFRVQnlnJUFlRz45fDJeelR4TEdHcGFVbi1rVWIhPFMKK3px aCtyQ0YhRCFod0Q9aGQyZFFXSlV8VmNLbXBlZjhoIzdSVT9jd0E1QG1yXj9ELTRWPndROSRhSVMz eylQSDdMfgorekdYKFRjZSpBVlk/cj4mKCEwKEQ8UWcmNitBTV9YUHRBK35WMmt8bFAkdkFIQEhy a192TkV9U1ZOVnNDQWdJVW19Cit6MmdQeThiJSp5OHJYQ3xvKTYmZFI9b2tsNGwlYGtldDhWfjxG dC0zbEhSPSFDSW1FPiRgPEFtTzhpaH5YU01uY1EKK3otKzJCX3Jue0hRZkZ9Wng3ZEQhSG82dGlV TXV9Wlp1dkx6OVphWSElQGw+WmkrYm8zN1ZWTGI8blU7YEM7PFJraQorejJQNCVtUD94cnxXX05W TGpFfC00ckghLShHJXN8eVVjZTV1ckg2VUg1aE5pMiNQYmd2P0hsQmY0MmBEVDBedmN9Cit6LT8k XnZyJjUjNk1GYStQJG5hPTVIKz02cXF7IW5aZSlPWFgjSmMlMiZ8aismMiZlezEqY0poRGxIOWFe KGVOaSMKK3pNfno9WWc/fm1yK3dhe0gqaD87ezEzcnNWV29jd1RAeCklfjZZbUE4MEI2ZUB1dVB0 Xih6fkZaJEd4YT9RVl5WQworenpmMERFWiQ/RCtfWGctKUdpP084cHNTcTJgbiQ/NihsaFd7JkI2 TV9VR0JfbEVnNkthKnZLQ3NFLUcmdklTQXliCit6STtCWWluV0s/ckhBbHYwOT4wPCgxTU98VyM2 NTtHKXtRQCZCV3ZPZV9VWSEhN3VGQjhgbXhmX2BEZ3d7b19HcmsKK3pTWHNeIUtLcG01eDdqZnRY IVNnbmZEX0QjXiR+TGszM2JJPUI+YDBJcjhJWlNrVTAhMl5TSERQMFNpel9BfFMmOworemd0c0p2 QDdRaXwqeXN4Xl4xLVMxMXdmJjE/UW85ZHQ4PkNnWmw7NXFoNXlrMHtFTnJmS09YZ2xFXzVqV05H MUEmCit6YEVNUiQpXi1OUUNqWU18ZVhgblMlcUE8bV9wNiQ4UiVrT3xaSmNmbkQqYz5EMH5HTEBI NipoRFphYG13JGJfakgKK3pxRHE0MUQjZ2J3a0k9O3B1KzZ1ajZuMEt+Uj1TWDhZSUEpfmwtQWtY V2NGdzduPGxsUm04MngyNTtFb0VoVmx8XgoreiYmX1RWPkJYJHteNEFydTN+cUVVbislRTg7PmN3 SVEtYjkjSGZwNFpEKXtNSEtZMDFvI0ZnKnAkbiRpLW9kI3t7Cit6ey1eNzA3Zk8xbUlpKlNzbEA4 OUN4JEZAUCU5PjxBbUxuYH5FJXRTPVFXQntVdklTJG1yXypvVyYtP3dzbzlFQmEKK3ooOVR1N29n VXZVb31IZX5MSys/U3toWTAzIW5BKDR7elBwS2xfUlZRO3Fyflg1JmJXQnQoOU8obTE3WGsmYzgy Sgorej1iRllrRWUqPEtLRm59e1d1I0NaTntiOWUlWk45UnNeOEklIz5zWnAhOV9rakZFRGxJOHB4 Vzh3JHY8UkhvaGd1Cit6RCQ/d2FJdV4hQ1d6SXNTZyk9Y2xJJmpDYyVgP0laUyU1PTY7M2hgXmo9 PWh8bDhpQllsKSVkRnpfKCpaYHxxVl4KK3pPezN4UyFrPkdvan44REhscm0xeWN3elc1UntPQ0cj V0tBLUdSMlBSJWxUcSltbWNDVHhEZnN2e20rTHo9cWU2XworeiYlWXZIYCRWbGdSN094TytPdzRP Z0dDTUlZPGJXbWNRbVo3YGJnQlFoS150Nm0zTjdyMiUzfmh4Q2xwLUBjbSgyCit6SHl5UFItfWNM TiNNKUpTbkt2anlpUkRIPlVySUZgI34wO2lsYkNhO1VuQUxnKU9WRW91ZmhNJmQ8YVY3eEU2ak0K K3pHQllxTGpuMGNsRUxuP3RhLUo5SGY3VzV7PmNRWUJMUGQmOzZPSyRfZDdBUkc0bUJPSGpEez9i Tm4xYHhITTdpKQorejx4KDArRGFfVEg1bzxpX1V1KWtrRHt4IUVjUEBsV2opQDQ8YHJ1KENBN0dF Uigze1UkKzBgSWVZR1ZaZTNEWSE/Cit6SW1wQkVKa24lMTw5PWQtbUAkSVV6OVhyJjM8Wih4cm9a antrWmNEQUQxWmRRS0RpYFNzM3NwX2llWD9RcSgjeTUKK3pJI2U0R01NUVhMS3BTQWopKDY3RnpP LStfdEVLR2d0Y1lMJmxaajgka0d5YkNVeSpGOSlZTG9KaSEyVEozbkJ5WQoremFfektMR09pNXp8 R2ArJVpNSzFVaH5zRChHJm0hMzhiPVUyTnFgWEM2dzw7Yj17RXxIVSRZKkR5OX1wKm9ZIT5YCit6 ZDRmTT89S0ZEYDNhYG0oQE9pZGV3QUdtJT0kLVo9PkpUeiVTYjVuPEY7JkV2PXVCVnNoNWVNfV84 LTNBM3FfTHQKK3psJGlxd2NnPyZxND5ufFhMVHRJXmM4eHxaKWdQN0dibSFGMVk1dzMrJmgyeH1w SHIyPURQdWtwdU4kNl94fVZEJAoremIyY3d6TEJgTVJIPXJ3b3V0Z04xYXRYNnBtKWkpKj5GZ1Bg RHs/OyRxJS0hOzV2YWRDM2ZSLXVPLVA/NHJpeE9rCit6Ym4pR3BIU3RGMkg2YFFnYipgUVBfTjg1 YlhSWitBI35kZntNLTQ1UHhwPWY2YHppXlZqIyYjaUg/TFpwdDxhQz4KK3pmYEhtVzJ3PnNQZ1Fo dEhwbFR7WGdLeWs4bn48fUVeR2RwTVAyPXB7WSN4PVUlZyFZOyRvaD83aVh+JHgtT0RkKAorel80 TCNwM0thPXgpJTFzaUMjKTg4VS1DR2FoVUZ9dis4bERMbWJXX3tYOW1kKlVVdXEwO1Fma04/ZWRS ZmBhWiklCit6TWd2OFYqczlSNURPZSF4eE1NRFlYT3hBRClWXmVePTFlPEclcHZheiVLbXcrOHJ7 fElCPU07ZWFRTmVkJDYzK1kKK3pSeyFYIXRrVGZWe2NvIWU2V2ZmaTM9fEkrM0lUKW4kN2VWXyhZ SDJvMUl4ZHE3Ozxze3lkOXJsZVoyN0xIMnFxTAorenJqLT5RUElUcl5tRHNBYnIrSzcyV0IkI2tL UHRBdFVVJUlLQ0tAO24oLUl+NGM3X35YVzchNl4kNHd0eUVaQXdeCit6QHdAeVUxb1o7ck0jPXpF NnlMfVhAejtAZ2RVe0QqN0hsbXxVPHpHZkw+PT0+cjl3aCM4KGBGKWVBSFpSI3hvdlMKK3psOzRf cTNjV1Q0Q0wxU25wZm9odV5le21mbF9rfTZBLUktPi1EOEhPKHJPbUxvVmdFXm05Vn1+Jkt4QD9l YnNaVgorelFQTj9CajFrb35VX0gmS2lwbFptMl49aWplbzl8Iz5ZdD5QVTJzZXtvaUdEP0dyJG42 UTQrPHY/VTR4SztFMlY+Cit6ZXwzbGEkSH4yZyh2bGVZSD0lM3Y/fH1VJGleO35vOz1kQlF7dFhs KDZDKGdRS28ya1M+SiZrY051SVFZJiY3N0wKK3o2PEhLN1ljKTVPV1RBT31PO1p4IWBAWUFRIXZI JGRISXtmNF5rQ1piSTs1WiRJVjdeR2ZRU1pXcE9CQXNQRCV8bworejtIciRsZTFoOE97MX1PeUh2 T3d4UVokcXp3ZzV5KFVBJllTVFFEJXkxN0khcCU9WmtTRSF2M0cmTjlAWnJfOXRYCit6KTItZTEk Jl9sUl8odTs7P0N0LXtgfSZXWnk/LXB9P0BJcGJgPEVyejgjcD9kSVF+YzYtYW5TfmV+c0p3JDJA eWEKK3pRa2Y9eVhCem9DRiNmcVV8TmxKeWQrT2Y1KmA/JkRlaDVFKVh5OEFwMnpPK0xhRTNzeF95 U0kkZG42Z2NielVPZQoremN0Mm0pSF8ld2hofEUrS0BkSF9eM1phbUJ6JHF9MV9LT05APVhYKGBT fm9mT3AlSXtSUnNBTzVQJE58MjRLISFXCit6U0tSUiU8ZFFHJEJHSTBOSzZhYTFqanE0YCR0KENy LUI9SmM8R2E4QjA1Z0JOMV49XmQxNGxDIzh4ITBBKCV0PT0KK3p4fSNNVT9FYz0kZX1UNVBiQXVG NjRVMU5gVDNTQD1ZdH1zVVUoOXtEMGZHZjI4LV94T3hEdncqMGJqNCVAcldjTworenZUU19uTnA0 Pl5IPVZJIUQrd0E8WU5vNSM/VCtPO1VkUFJvcyVVPF8jMWRiUmtlMSFNT3Z9ezheNFJLalVoVD0m Cit6WVQ5bXolbDtUR1Y4YnVtUm1Ib2ZpSD1wUzEpIVZQWTV2dSRAKyF0Z3RGNTxaPz58eTFEMGlL MFhxSTREKkJkQFAKK3o2IyZ+SmN8SGd9RDV5YWxXe1MraVBROStxVWxRdEk5I0F7KiFoIXR9KXE1 aSFAWTwyJkxXbSQ8THZtbUsqS2k0XgoremVmU3BiK3s2ZiRiJTh1d3tVSmh3dHohWn1WKmRTJXg5 RztWSDVJbUtsZGtjRGhWOF5qQVNRb1pzYnRHY3FhSUcyCit6X3YlQ2ZubUdEantZWD09JXQxaCZe VmQrcUxYRCg5JGN1bmlGQHAweSFQVXVkKm5qcDJRQjYxUTBwXmR5O31fQWwKK3pwMndSdD1kcEdq OSs/eSgoeSojY2ZSQ1M2QUhvKkZAfGgyO2l2SCNkX1BPe2V4SnRqK3ZTI1BIZ2ZOezdNRyFMKAor enZsPz1BWiVYVmA4Vj9CT19LNlNLZDVaI2kmdGVMOW5GJSZUQU1HZWloVn43aThlUEtGTXtxZ0px THtOeD1BJSk/Cit6c2hoPT1sTlBTPi1BeU4reSZxS2NTMHIkQVA3MWtIUVlQSk5BaSEtdmt+SkFS NHQ7YlVxeCVESEUzdjdwNFU3elIKK3oxcWU8Tk1SMjF1PkI9bnEjN2p0ZDskTjNmNVQqcnRoWitp QFM0QVQ/K2Rtd011PHljcy0xIW5wQyN5fmh6ISQ+TgoremY5MS1lJDR+QH5uYXhkY0Q5eWFTdDAt JTNTKT59MSU5RUdiNlVBLXVQR043STw2Qk4od3ZfUTdYX0wjbmw0RGk1Cit6aEF6eyR0Ym1eMElz fWRQQSNnLW8/Pmt5VUc+Xn4qOz0/cjN2PF9EfTUlfGlkMnR1ZihscGl+MGV2K15GU199YCkKK3op aHRyS1ZtYUFsa0FwZTlwZXB+K1dCKFNYLXI3aXxoJjZgMGpWSWAzI0J3TFJTTTBAaTtKczlUK1Q2 c2NCNnZAeAorenNES347RTRjKCZyflJWallsPjhXLVIqQkt5UmA/cUJUVjxsQWVBM29HVVA9c2wh QDN8ci1wWnF8MWNMdjIrRkFMCit6ZnIhJkNjYXNLMlhuYGdnZzJtQDN7MFN1aytEOUhnM3Fffm5X K3klMnlzRVFzeUcqYV5pPzQ/bCVpKy15VzljX30KK3pOfFFyKHI1PXBZNDI4Um9lI19afW9wJDZ3 Y0lCME05X0h8dkF7KEpSZTBwUEshLVJ8XzlralFGUHhlRH5ATTJJUAorem04P05LM0d4bWBBc0kr OCl+eEZ6azxDXyspZG9DMiVxKnAqc0VmVCRtckJHPUlIKkxXJSZ5SW13YHQ+M1B4IyR0Cit6NC0j dmFpfGd5PEBwWFJnSihSYCk+NzJAPGdFQGdIMkNTQ3lFPThvYmtTWnw0TjVWKFUmPHReP2k9MjRY Tk1SQyEKK3pIKUZxMj5oQmVqVVUhZmhJMWdzS01Odn4pbXMyWjRUNFApSHo2QVlBXylIIXFXNmZi QFhsOUZtVz5pQDBnITFYNgorekc4fn5xSHAobj9JUWpfOWckbFljLT1GSXJEa3lHWGtMMiNtenls ZFZUVXpkaz1PQmVAYzhMM3NUTTFofk81XnI8Cit6R0ZlIyNKPlY5LWZeYyt3cEBLWW0oKzE7dHVm XmA4TkEhRWl8TG57aT03IUp6IS1meU1FVU5YRlYyTFZ4NWM0JXEKK3pjZGRQZSN0ay1gKzFJaTFZ UGVGWS0tQD5fZHdRWEdtRFgtcmpOQX1NMX40KlRQRGFrXm1QKHJ6NDQ4KntPVlFieAorenMrWT8q Kl89Ql57RisoSnQ2eFAxbzZyKXRXTXhIMkR5WkJZclg1JnFSYzNYI2leVFY3UmZRdlcwNzxMeSVe O3BGCit6Rl9JMGdtT15WMV9Vbz9ee3QtX01PeyklWm1lYntyZzZQanZGVjJ9X3EtQVRLXiElRUhZ Y2BtYFAhdylzPz03QEgKK3p8SiNXdlk0KkI3e0lfKiFDanRPS3t+c3M0ayk3P28zWUd1T2Z0anJO QThmMX1KJTM2amx3KSEwaDBoYT8pPk1odworej81VSMrKkBSMilKR1p8Zms7RnNEYFM1dShZPjl0 LVdAJlo3Ql5eJl9ee2Y7N1pWZEh1eWl1Y2V1NE9LUlRxfDVnCit6bVI9NEZ3PT1USUNxMCp5T0s3 Wkk9Qk82SXVVRVVEZU1lTHB3dzx8Xyt1bEFALWFaY3czS1hzT0hQX2NQSWF6S3EKK3pCJTU3TEcp KkUhWjxkWk8xbyFrUndPM2dLYSp+PXxzJn4qMS1geH5qLWZ1MVNDWCk7Sk4oe05OPE5+YWpeaX59 YworenIzJj9pcEllKEE3YHN1TUV4JipxeWxIZWx3JHBqJDJ5K19TQktzR0E3JjclOGpAfjYlbFdY Iy17Z0BicXNIeXVDCit6Nk1Sb2dYTk58QV9qWXc2WmF9dUdSM2s8czVPdm5GWV58fnJaM1FBcytQ YWl4cTE/VW9zM2h3Tys9MHV2VHN1RTkKK3pNYj5NVGsoe2Z4QUs8VClwbiFwY09BaFlDbiV2PWs5 bUFjXj5TbWZnUihGRztpPHwoe0J6fUU0WXBiOUxAUyVxOAorekQlJktaYWtzbFdUPFFxcnJ+ZWd1 OWwmY2RWbilCNmJgfmVYP2BreVBTbykoQnRnSzg9ZDRTQG53fWReTm5HKSZ0Cit6ZEpqNVViSHY/ QWQtP0h2bnEkQl5JWmdVdnBKQC1xVlVycTZZTmZGPy1xZnE9N1A8SyRvYWk/SCEwI3RwQnhNVk4K K3o0dlNUPkd7aXZ+a3hnLWlYezJ4S3dyblUwczJqdlRLTnFeS1FBVSpSMGBFVWI5KykpeGsxZWFW STBqIUIhaTY2UQoremJsU2tMcT92fU8raWJiTUZzZyZSSjNrOz87KVo4I2FPO35iVVorJWElayt+ VWBAfipRPnowXiohaGVjKWdfLV42Cit6OzNSeVgodlU/YCRkUXhYZWE9KlQ7TnBnYkNhViVxczxO blpkRGx3Yko0Q3dpb09RcStCKmlgWlBeQ0B+Q3xIM24KK3pEYTJPPEltZVk3VTEqVzlSZERuNj1O fT1WQ1luRmliYFNfQ0I/enpKWX5wN0wke1I8Y1VsKGNGc0lXdzFJI24peQorelAqe2RPVjhuLTV0 JGhabEVISiohNUhPQmtVcEBPRl89cDgzVmFDMmduMj5AYk1qWHgmaUU2JW1XJDI5cClsOzM+Cit6 Kj5HaGc9aCE+SFh9Q0ZGTVV6e315U3hFMWkhZHRgQi1iX1hTbVNWYTFDPkVnPnRUV2l2Ky1XRmM1 dnVGVn4jQ1UKK3p7WipkLXMjaCkkdll+cX1WWnltTU9NaW5vLWxvKGIwI1deKWdpYkNMX1BJNSNT PEF3RlJsSTM8VCM+UjghQUU+JAorenBfZSZBa1A2eE9SaXRgVG1TK0xNVlJ3dU07ZC14UWdsbmx7 Z0tWfDhecGtUP3VKdTRmc0hTXiZ2YTRMRUlmSEdeCit6TD1+TTstMzFLR285KGNoQXd2fkVORTB6 MztmZERyVl4rREJSbnRHUTsrI3BkYkY7b3RKfVc7SFV0TGI2ZEJuXikKK3oqaj5mLVcpal54N2VH KGp7ITJZJG1sR0lzcCNFSyhaRGFack1BQ0BJQiYrS09obl53V0Q7bHxCYj1YKnZVOU1POQorenFi WkU+WX1ley1HaGJQXzVPPklzO3FLaDlwT0syWUcmZ2QxM0QzNzRgfmZZfVVpU2tITyN2ZGFkbDdX XypSey1GCit6OW8+R0psO1I7KDJCTGkrcWBCbiVOSGgoQlpFIzd0RiRWfTRqNVB2cDQqO0ZwcG5I NExeUDBwP2YmdDZFUFU0VTwKK3pCdWRaKUt7VEEhKHdGNVhPT3xAYWRmfTY2UWYqITJKZS1XSU1g MV8/bjN5en04Rm4lR05GaT0rbGZlZElEc1VxXworekBwPVI/MSVPc01XNzQ5YjczTV9JMj9KPGNF WVFxZFMre0BSUDY/KDZTN0tBelBEWVpaWmA7KEJAM2Awd0tUVktnCit6QCs2WChmVDZ1fnQ0SCYq X3I4LUBGcXhKNWp5UmwhRDc/bz4zbXhpXyttLTM0JnslUkZGdHYld15nV3BwNDcrJHUKK3pkQSlw eVchNEZ1Z2V+UmxOIzU/WjwxSExFP1ZnLVJDbVY0MyhXJCNTYGlHX0ZLR2VHZUFZampsIStMNyVR VntmbAorej96PUdMQ3ZiZjN7en41IzteQm8xdFV5UTF6R1E3SVBMbDRFQ3pGfHVGLXI2aEk3bHsl YnVJWkxyYkVfTE0xRzhRCit6RDB4clU4eik5Rz9rNDB4YDd2MnhDZ0NwNmA4Rzw3UkA2YGArSFNM NlpgVzdHMytacC1wbWdhM29VWWhTYVpfVigKK3pSZmRqLWdeKz9YOCZaRVhKU3AmTykySDlEMGVu RmZMK1NlS2F1VHxBNXheJW16PGhqJXZ0dC1LbSVDM35oVShrfQorengoVkUwWkMjJUY8RUkycURr fCMkKnBWWEdqUGR7PUVHQ1FtUW11fT4xbCp5Kjdfd3pgVmc1cksoLVNEZHF8PW0xCit6MD1lXyg8 Z2V8KmxAYWpean5xJmNgQUUhdWslNGFQZXZzJU8kQVhCaT41JCkmUUo0PVpGa2tCVlYyQW8wejs9 V1oKK3pKMDVhUDtUJFIqQVpyRFc8dl41akRqSyNEUWJUSmdLcnFAV1JSS1BnJilGWSVOa3QwZVh0 UlQmZ3NWI1Y2RVlBVworemgwUDN3ZWpVX21OT2UwXzd8RlooMDBTQktHfHhwX08jPUlnO2QhWVlw ZWd9NSNfVU0teEZyYnI5ZF5BMDJMZnxwCit6VmJMUCYpWCh1R0JaP3FaYTkhRSkkbk0wUTh9UnxM SGx0SUBuX0dkJUVHSkYqalpXTUdMJD9QT1d7bzNMdUNjXlAKK3plI3BfbWsxUjhXajdUcSlNSUh0 KGVlRUtPWHB2MjlDLWQlbUIpfjtjYkgzJStzJHREZUopUUAkQTFvUWo+V3Buegoreno1VjFZRzdW JjZiM2p7JT1MeEZDWXwxT0FEPFRCTDQlSF4yS2JgWXNmS2h5YE9HcEpySFJnZ1FReVRmdSV3b29W Cit6eTxhbXhiLTdOVjdZO0xSZyNOU2tBbTV1QmpFK3pCJVJOYH16RHBhNiVLQGlpJl5CMkBPOW16 fHZNTEpLYGZnM1QKK3ooUVgrWilOO20kPS19SkEkUWB+ZClmUTBYbGwjXlFwTD1TIVopPTk2UXNq ZzR1cy1QVFgzbCV3dEJVb0d4e1RiWAorekdNT3RVTFZTaW9gQFhMWEplKVM4WSkkN1l4MHB4Sjs2 fVN+O2RUSkAwMURIUExzTCEzMXJVKj5yPz8zWlBsVW5XCit6RkhHSXtXJFU5NUwwVHF1cCEjZm48 RjVzUEh1dD9tcUpTTGNtbHpURE5WbGVFX0tBbSEqfkdIUVVOeW11SGItWjMKK3otZFhMWWBLNDBk R1g4cDhaQ0QyfksjPylBOzxRPGY1PWxQVkxgbWsoTkNTJG9KZWUhTG4rTj8xT2VMUGpAKktwbgor ekAoWXg4TCMjbThkMmded05kU1RQQGVGfnVxU1V+KU5UeyRqOTs3PlFfTT4/JHF+QXVxVipSNWVn czleYmpZY19tCit6bG9rd1hWJGkmWlc/JE1wY0YoZGN2NGZOKE9yS1AoPX1iKEIkQytfLTlaVjBa bHtMYyhsTFVeeXV8cnRoQEkyMHwKK3o4MHIjKyNBNVQoMF9mfmRxLWRfMDV8OHRIK2tnNiEhc0VB aU5kTnY2VTdpVXdjPm9ebXImcXcxK3tKP2ojKVNMSworelk8NjBIRE4/akojbSRJaUltUzZRNjE1 bSU3M3FzUF5uPCRieUw7YjkxIUMpUE55OWBeSGtMbD9aVjw9NDFtaXdvCit6WiZ7Mm50RlY2Z0pl KVZNa0k8dyFoU3Qke3EpWVl8RlcoKDxLJFNMVk51cHUjWD1hb2JfZlEyaUtTcHVWYj85O1cKK3o9 PEtHYG5gUVh2U143JGtFQ2Rialc8emlXYGd1enB0dn1wTU1zXmErPVU0KV5tREVVcGg8Ui1fXyRC Z2BhPF5EVworem15c1AxTzQtcDBxY2o2bzNsOGsjRkJhPjlYcFFDIT1xVXRnSk4kP1E1UXQpYFF9 LWI7bEdSJFYhKUsjPSlBXzJxCit6N3xYUEpaUGdRYEw5TTxzYitjP2Frem5lPlUmNHtWamtWcnYj diZKPVp0cEUrS3RDelIhUnhMSmt2ZStMSnk9KVAKK3pRbWxJRyQ8ZElPQXw8SiVeWnVRcWB+M2Nt XkwlcmNmSSh4TG1DQWdXVyVXaWpqZTl8OzgwVGtrVkA5fChPYmk0IQorem83X007KG14KmFCaF97 O0tlUSZXNE1Fc2B2VkV2fkE1N3doVTtTRGUqREtgZ2MlNip5YH1YIVRlY0t5ZGRjTTVzCit6ODBa YFomYkxRdyZBVn0xKCVZVm8pIz81PDZnUGU1Wlh8UDlGbmUwNDNfKU9vQj9xejJibmt5TjxYSVpJ dUtEJFQKK3phbE5FeEBDYnduVHl1WGxXIWpUQVg8S1MoUllKVEVJJShII2IkXjRrO3A1ckJfc1E8 YDBDQmpxYmFjKWsqVC1mSworeitnaT9iMmdVYzlWNntrLUFuRSpMO1Z3VE49KUdncFJXTHFZcU97 e0p5WXc3aHJYPGwxKnhxfiFmKE9PdFdaIzhCCit6JCE8cnd0UlRJVGRyOytLeEA9aVYmI2UjPD9D TEA1NzxoJW55aWFEJmAyKiRjITxAT0RIQHRnTlE9ckRpckBKam4KK3pFOS1pS2l3PzgldEhOVCUk I2dLKzYhaUF2QS1wUUpuR2RiaF9FMUlsTT4lUkJJcHo9S2lkNEdkVjdLVWtzbE1SYgorejEpQyFF SWI4PWJjZWYpMVdRb0hkIVV+Z3paejZRcEVaXzk9WVdAZm15c3FERVJeRCRlNXhqJjJlc2Q8PUpB YzA4Cit6YFF+M2lGdGxzfkk2UmtrWTdMKiYqNyRrUGMte0BnOUpXUHAqM2coanhaZGxUZCRwWig9 ZDYyLVNgK0xKPnVGTWQKK3p5bEthdWEmc1B6NHI1djB5QDN6bUsqeVlXOCRtWUx7RXk1bmdSMkli K1NlIyN6TnNAfSpJK184YDw7S0EoT1htPgoremNpLVI4b0RzcUtoRURZUSRPd1BqdkEwPCteeHZo RnI8aUdDPEsqbFhPeEF8SF5KTGNCPERYdnJyRGAmSU91PnlECit6c2UzamRsUnw2bE4zal9lZlFr NX5XSXM9eGtXPnEmKm9NWmMkLXg4MmA0Z1VoYDNMdVc5S3Y4KnBXbz1RVnYqRUQKK3pTUCFjMWds NClwRGlaR3NDK1V0QFdRTHFtPil4JUJDOClZfG54dDI8OHBgMW5LaGJ5blJEd3sxZVNzJnc4RC1f ZQoremIzemp7ViNWZnlGa1IyQzdwXldlZld0IWdSRSlUTzFeMS1ldT5abClxWkIzbFlKRiUrTk1F YD4+T3BVLVB3Nnh2Cit6ODc5ISlDSHNYWTdBSklXTV5GLXxiMSZwTXQ0aXFNUTVCQjI+ZSk0fUxE Kn1lfEJoPCFIQ0EpUlNhcllaezNHM3gKK3ppJWdAcERwUmZvVCFnNiliezQxbU50bmhzX2tAKlIh VT18X3N1WXArTXxHNDlVQ3Y/WilwOVozcUJ9MDxBVj8xQworelBqNHVxOTtjemBYIzUhJlRTX0tV QUtOfmE7fFlxP0U/VmA1KUk9UkxCLXIoX0cjbThRQllRWUlzS2Blekl8LXIrCit6OF9CbT9yaEFh OXQ/Q29hZSghKEJzZDdvYVpQNVB1TFBAZyMwSEZQa3VJb1F3dypMbm10WE5DeXVMSzZ3PWUzc3EK K3o+UmZVe1E5NG9WX21jSTMzPn1rOT50Zk1uX1B2TWstPTFwKGNec2d+Iy1gK3RfYmRuaVYxblk3 RHFNQG1GRUZzYgoremRAdnlQLVBMNTxwXmdlVEdjem9tWW10bmRhPmh6JCY5WUUwb24qcE8wPXxk VW9qalRPNk9BNDB0K0w8SSk9T0lMCit6SklCUzZMSCV+Jj0xdFc5aT4tNU4mamVid2IpMG1waiYw bE8qdFlIRGkqNEpzWlFIaShxK0BoIW90JXJhJnRBezcKK3plIXskJWI1Xy07Rjx6T1NMeHhRbStz ck9JTjJYQFcpXz1ocz5YbGZiU2tHQH08PFRDNiZjKEFjR2ZkNCQ/SFZARgorej9iJG95MXVCaGAl KXQyNzhMRnVQYypTKjlIZEVkXm1uRGc+Iz5aeUFSb1h2XmxgUV9QY2ZeZV9wbkdVbV5PWlJwCit6 bmRSaT5FPyhPPDEkYWtmZyFzYCZIT15HN2dqb3tYKno4I3E7JGI7RDUqdyQ3TjNmQkB4RngwJXBs SX5MYUZnKjgKK3pKSXYhV1ImRWZYUD1oeSQ+YD42RTFzaEs2LWNWcDlyU2BlRHRCUCkyLSN5QjFv cm5Ne2c9SHV4KjFBIyFzI1R5QworemNlcXhERUItU0dTJn1TcyZ9cUpyQUZRaWRjNW5aaygzJStX JXgjakVwZmw/P3BucjxUMD9UNFRFTUZqY2NfZCg2Cit6UUJkfHpxKjNXelNiUj91ODJgbnliVDF1 azZLNSpLezVESDtoWUdGaCo3TGUzQXlaYjlmfiU4eTkhdE5tOUU4bWUKK3pPcDk+ciRWPG0hKmtn YkY3P1UwJTNqYCZBQj98Tnc9MVNxVE1Pd0pXVWoqTFUtcEx2dW1EZyFLeCFLU2BANlgtYQorelZM KFlCXmMhWnFKVD9zQXIpPkl8cGR3c2RnQHZkVnR6PFhleS19TmxtbktEfWk/NSM/WjU7ezA1X3sw cns7Rzs1Cit6eTFobGhBZCErc1VKeG93VzM7YFlpSjc2IXIyLXd5Tjc1Qm9kO3FDXihgXiReZk9M bVY0bnklU0pTPmFHazZDYH0KK3pDJXZTeWppJnoqR0JqUXpUcUl0SlYkMkRVKCk9VFlWMitodHQ3 KFZrI0s+KCVAMzw5bClLRzR0XjZNQ3AzKit0RAorekF2fnBDVFEtYENFcXdSSGtQQ0ZYZXd4T29n NWk5cUxOaml4WVAzTkpIRkllTzVyJj1KPWM+NVAmZmI+bTB4MWtsCit6Zk5MSn5rREhQT2VOVUg/ KyRqN3QwQDI+WGhlfUY1NHhqaHl5RjJ2I1EkemEzWktEUFlwN24zUVNUTE5eVkgmfE8KK3pZa0RC WmNlRj58REpMKUY/YlA8akM7VzRAITAtLWI0Q0ktNjd3WTlzOUx8aU1oKEVDPjFSd2M0JHsrN247 cVJDZworek58Pjt+Yj5QPFpPOSFMQmAtJTVfN2xmTX05MEBQUFB5SUJIQipJR2BoN25NRCFKeEdV TFFrRzdwdkB4aCZgIXlCCit6cUdCOV9hcitSeXJZTnklUTFSemlgZ0pnLUEpfHRaKW9BbGl2dDZ4 bW0jSz1qKkh5aUh4Jjl+fHZqWWdsWSktQj8KK3olPFIrb2ItRVBMZGs4IWp4cTxrKHViOTFZeHEm MEAhdH5ob0YrKSp2MW5fR0tuUUJ+dFVfaWRPMWt+b2dVbSEhbworem1AdG8wMys0ajI4e193bmtB SSpHbys9QFNsbVNpNzVjQX5zaGFCbCl6Y3RBRyZ8I3gtejlecjtKbCN5QnJDdCQ0Cit6bXBWMnEr c093Wl5pSE1TaX18NDsze2BjQXlJVWxOVH4oNUdiYU87Mzh9PGxmN0IjVE16bn1AZ09iYTxsM003 Y2cKK3pxRkd2QkpvIWRAUHRQOCEzTGlCMmFfbj8+ezZvXno+JWReVWEteWwrWFZZTFdiSWRpdipx cX47Vkl1X1dxT0l3fQoremFYRGllaHowNzY0aDZtNTJZcSpYK0VJSjIyemImUTFrMlRwbXshX3FM OzQ4YUB2KU5KIV49USptOD1DJVFSRnF0Cit6QSZgXldBbHYjVyhUIXhOYzl5e3AjZ3BKYTJyPmwm Q28waFA3SStkKCV+MFVmNGZ2PTBCPlhXVm1peyM2enUqPnQKK3pOam1WfkNLelFRT3VXJGk7JVN9 XykjV0ojTWB6KDJYMnF3O2EwMkR7MXpFNH08JiFVfFgkP3tKclI+YSY3I1hhdAorenFNeGYzT2lf NStmWDtncVR1VD18KSRFSGRlRkZVT2JAejd1ZGM7YkAtXipXUXtCTGhEUSh0Zj0meGZ+fCRCaks+ Cit6K34/TlRvaXJnPSRLdG02PCQod0ZneH47NFojLTxeMjR4S1FEITM/ZiU/O2NASUMqYXclV3dj eWdmWChjNkxEOV8KK3oqI0FhVmtjXzJTSko2enhYY3gzKkNUP1NnZ3MtKGxHdGVGdGEhdipBSHBE dCMzPkZrZDM8cH1oTThHZDI2O19OXworejhwTFlaVUZqP14/VSlrQ3ZNNDgmU01nLVVZXkwzYCEz fktqazA9encxazImSmZnfGJ3PXdrRCVkbiRnR15mRzg3Cit6JVZhZE9HRkBEamBGN1dUJTNmWVBh PSZvWVctdjxpJW5LJCY3en5vMGVrZTFSY0NWKTBLTXJ2TUwmJTxKTnA8UVoKK3p2cUgwfjJ0dkBY ckB3ZFA/IXVUY3xJbns4JTFwJjBJbjJiNilqO0VYVTtAPH53dm95d3RKZGgwMFE/VilgMVhjRAor ejJKKTh3RWshMWMjTXhyeG9TUStWJClpSGRmfiVuPFBOS0Y7NDBHVHliVW55YEgjMkQ9bmxKazdi YGxiPlFPfFRNCit6P01peE8xeXZxU3BRWng0PyNMUDJAQjNLUyExNnA7dyMraTNtSm9tSnApI1ho QTZuZmdEZXB6SjtlX2xOPSNUUnwKK3o0PGB9fiNsSWhtYU5oUnIqPS12MUJjPVh9MWdEb3lpKXM+ aU5aSkR4TT9wRk0xeGxLdS1EKz9QOTBpIzh0WFd5KAoreipKPmlvSi09TjtpdXA+LWR8UCRFWnFj QU9pSlBQPWV+MDY8MlNnZD05Ti1lKCt6QDAhMShmXy1LS3pHS3QlKV9uCit6TnN7eW47dW1UWHdT QEdkNE89M15OMU94ITEoI3JxQUp+d1VQIUl+Z1U+JCUmMC1PJTVhV2pIUUdndHpYNW13WmQKK3pu VTBsKWE7JTl6U193WiMkSVpTaklxST9PS0Z7RzM3SmZgQkNSUHMzKDIoNkBzOW5HYjdYflRjP3Vg MjJsNTFFdAorelh5MSp+PUh7alR3dCg3QVR8KVZRKE4pKmVjUTdKNVk9RDkmbEtAMkl0VXI/RFRM a1Q7LU9ZaFNkaFhDKEVhM2U0Cit6QzF1UFI0SjN8QUlVOGtrZWxVdmQoR1AxNz1gUzV0U2Rycip1 V0B1JXd9RjsmPHM5Sks4ZnNWJFJhRVlVJF9FT0sKK3ojZDNDUW12VHheRFpeMTR7KUxsQmxqSngz Ri1gYn4oN083JSp2MSplVWVofGJIfFM9KCMpRV9Qd0t2djRRK1FldAoremUmMCNTbXd8WjlUU3wp ZlFtTkFeLXtyezB2e3NidUhrNGB8OHUkSntBZkRXKGtUfiVneXJ5PFBOKl9eJGYkdT1hCit6OzIl Mzl6YGcrYCRIflYlcyZlfTB7NW5oYjEpSipfYV5+Y3VOTHd3UGhtIzUxbiZkaFNTeWh8Rkd0UHdk YVkpVi0KK3pVISFFSmN5NjVuWnRKI0d5Q35IUzh1WjJee0tDUSojdnledjh6JnVKeVBFTk1yUjVt JSEzXm9hMz9CViRRcj5rUAorek1EN3w5Z2JBc2B3TGdkOEg1fD95TTlpRXZBZjEmNHZFI0wwdmZG MWImKmtiRklJeCsxMiFWJnxUUTYxUFRtQzBlCit6RjB3cFg4R2t7IzlQOFZUXnw3alYpbit+XzZG cjUkdytsOVcpJm40eERQS1IyKj9aRjtPITVaZmVlcH5hU1l0WD4KK3pANSFrRHh8fUApISkxUntV NXpwb3ZRMz4tdVAjK3NLdWt6NilfJH1nWnYrTD5xK35RfHArKElMY1NTX18mI1pqNAorenR2U0dW c1V4NiV4X0ApWDRPb341Oz1JK0x4clVxak9pJikqN2JQR0ZyTGR7MSlkK300STBDd0F3RkpJSk4w dEN8Cit6X2hxTV96USlIUjs2eCg3azU9O1AyNEI/ZTQ5THtgbXB0LWU+fnQhdEEhbUVWTSN1cF9l Xz43M3haMUc2NDZDKjcKK3ozZDJiTCstY1NydCZtWDEqUkxwKCNJVV4kQjBzQV94V0ghPi1kWitD PlhkWS1nTjM5Z1VoV1FpYGNGR3FkVTk3dworejFXKDFoWVFvKT5hLTxUc0M5RUVVRXNsPEcqU2oy fmVHM185KiFNOH1Cej5KQUk9b3BXVUYwY15vYTU9M3dARHRkCit6bTwxNG9TVjVHYzVMS2ArX1da YWArR3gtN3FjKzkkTlk4X0kjNk4wVFojUW07a3R2a1RGdT4/PmZaZitMKjN5PUwKK3o5O0pEQGxL fVkrd1hLPzhXNjk3fW5neChSdFNPSCVAWXQtJUx0NSY7NHZRaXshUDFjaERmVG9qRFRwJiNmJCYy bgoreiQ/fjU0NW1lOHlIWCpme0JzUV8yNWZtM0BFcUR9Sm1ASEQ3Y1I4TnxqbW9kISRpZl5xZTww SzxtOVlTTE8yTVcyCit6REloKEdud25nTTNOdG53MChQYD5vakk8OTVYTH5FPDxCS3RxMHZyIVIk SXAqeTJ9Zn5TM1M9JjR8VUxXdkAhN28KK3p7MXZFYHpAQiZ2RT99SUl3PztfKVUtLTJGRzsoaUFD d2xGfm9iaElvNCM4S0BsalAoUVFScSU3S009ITM8QGE3Pgorek4jYkE2MUxibWh4Q31mQTE5VV4m by07RiRTMmVOWHBQeFBqb35zd3lZaE4/dEspP08pYzhqRlAqQmdMYUtOYSY0Cit6cGxHbXJFejt6 P21VSVVoUUd9U0lXfD0mOUF+UGEjb1d1IzVSQGd9JmdOem1TQnIqYzhLPXFEPEdgWnAlJXJ5S04K K3p6bjlBbEhVVEo/QVluOG94Xj0ybiFIbj5uall1UkhfOUNHVUM5V2diNztiWTsqa2phKTExQiF9 bmFCQW5WdWteJQoremtYR1BHUVNqMk9kWnJwTVdIQkRDVUA/UnJGWiR7NU5zeDF8MEIxOCNsZk54 WGlHRENsdk9zd15PN2gmckJiKVBRCit6UUp9S1pyQVZXe2hXcmxaWjRoTihzPVpHbSFOQCZnK3o1 NTB4KCZKe1VlbE55VHFBJSghV3JFdjNGXlN3dXR4QksKK3pAOF58bG1BeDUhNFZVYTB1MURUajFw alVhN3UjR0hgYUQmTz5EeSMobFUpfVI3OTFZNyY1bkFhSCEhRm9iSlFHbgorekwwZzxxKTR8PjNo JGc0WHhVJTVXJjxWOXd7ZEUzJXBnWitmUSEzYzkwb0RxSkBMUUBNYjMwbD5EeSZZdEBJdDxHCit6 c0ooZU05aGVZfHlTMlJlS3w3d1UtM2tPamVYRHhKN2pkO2ZxSDJCYiV4aVNscl9fMDR5d1chc1VA ZnUhTFFQKnwKK3olUDM+TXQ/dHE0aTQ8NH4oMTckPVlwWEM3JD16fXo1dDJHWDFBMiE5TF8qSSpP NndNJkJBdG0oc0ApZCVwUXc0YQorelItYH1zdzBfcmA8XjlEaSRoTlQxZS0/R01VPGYpZGJXKmJ+ VShBaD9YdEhKUntleXFXJUJuIz4qV2kpcENRYyZyCit6b0N6S0VWPklFYGt6N0t8bkUtVmBWcWpg QG9sRChMRyl9QlNUNHpAZnkkY0x4PDFySjcpdHwoKlZEY0JodCRmUmIKK3ptJiVqOzBxMnpCMUwr VHVBJkJXcU0oKWZHP2AyMHVZfldsUFdwciZla1RGTkwwX2tQO3NCITRSV05lR1EoWEEoUgorejdN bj51ZmJwajUhRWo3OCg4Y1hRbnQ7fGhRJkBPR3pqTW1QP3dYWCs9RyZlZVR1ayMrS2oqWWBMbH5S V3Nudz9KCit6ZlFSbk5eeEZfVT9obDZYaCFqSXk/VF4hJmdoTXJwVnVPMFdTP0FKOF5UM3FEbTNv ZDk7dlhEbkYwMFRJdlg1QXsKK3oqdVd+ZTBWcS1KdThve0E0TmRBbEo+OyYke1ZNMyE3bnloNVpV Vn1sTCRLYXZGYTB7Kip5I1dkX2VZcV4wSClReworeihIeSt7Tytna2NpZmA+eUZvQllVejchS3Ji QVlgdD0pRXZhPDhVNEU/fSo5T0UkXjl6MWBzMkB1XzBlODhXfDs8Cit6NT11RnA5ekFtUzQ9ajJM YTwrflZXV0IxZkFCT0w1NTg5fTRrSFZAQkJFbiRmPH4hOFF7VHkrPHEwM2QmbXhAQnoKK3pMNCl3 JDw3NDEkXylFaU09Q0F8S2t0VmBTVVgxbX4jaVd1ITVtZC0rdm8qSWVSczBYPyVgMEJgYGtJPilS KmkoSworekVCUkBwZFl+UVEpV2JHSGp0eUJuQXxXeV9vVys9P0k5Wn4mbzcxZkBOPENZUnpzWE8k TnBxYThzeTg8NXlDPDJDCit6Z0tyY3prJHtWc250TytRe3NzKUkhMHpPPzZsQTZwMXpAWj13P1FM Z2BYdCVXNHhGTExQSjU3RVEwe3gmJTNDaVUKK3pPWFNqbnIrTTdZeVkrei1lZVVSQ21oUWtMSD82 PSppYjhDZHoxekJiIzE8d0g+Q01SdCRkWV5HQzFzLWEkMlpaeAorekFTQ1Fkbip0fi1JbzEkeF8t PCpVMz1WNHxYQ1YqSXxNO2xJWig0Qnx5SWhZXjBfNUIjNz8zaikhdUVJbXFePmJ6Cit6VGdOP29e JlgxM3Y2T2M4eCQwcD9WT1RxWFU7P2g2WFBjPkAlLSpHKntea0RFIWp7PiNjZFRURVU9RVloR09s QWQKK3p4KVg5KyZDRXZNTiZ5e0FVUDd4N0NJem1KJSg7dWMqKjhaVEhrV2hEUXBSN0A2RnF3eVZs YGpuK3N5X0FydTZDdAoreiZxLTNARWshOGdHd20mbkRDMChsRlZ+Yz0lKDtCcy1LNyY4Y0NHKC0h YnkySldZMUA+cDNeJTF6NXZ9VmFQS1k/Cit6ejE7bVQkNjRsMiZWfiMyOShnPyE1WVFhVGU+bCRV dFBQd0BaNTtzclpeWXA4LSV+Y1MpaSloQiRCP3tGKUUqYGYKK3p6KSt5NS1TNnYpbGRPbzk3Qlc8 SDZfTHNweGFpUFh6KFQtP2ZDMnwjaDMkS048WXI7fUFgZ3BAUT4raHw3OGc/JgorendAY2p9OUdL Y0BnRVkhWmMkUy1gP15KVCszbHQ/cHpHenJZOHNne20+JjZecEtGbkNrV2tpWjRIdzY8RU5LIVVm Cit6aTJtPFpoKllMRCN6dDkteENHfHFfTXpzMnFHQ3A7aWhEQzJzJTE4TFh7OHs1cUJoRHBxbEst IyFpan4kcERqP08KK3pQfTFDd294V3ImSDdUeyhRdT9fRkhDY1ZxYlQ4TFpWe0dXYlJmYHYrdDhu PHooZ3BaO0UtOEUrK0p8N0l2YHVKcQorelE0cykzQmkmSFMqe25yZk8pYEB3eWtIQyR1YkdVIyE7 dn12WFJ0Ulc4RW9nclY5SmRGaSR9S2o2OWIqYUMtMjh4Cit6RDJ3WC0hYXBkWmB9eUYqKEo7YmVv WTJpKmt1UWxrOzlTYkAlTTsjX1FaUm9oI2NAdHB0SnBrVzx3aCFQbUhrSHIKK3pxUS1QS3Jxd0Q4 LT9DI25Mc3xzfmlLRj45X0B4OWl4U3I2Z09MbCEtcUctZkgoNykyZVRfbXdpVWlMc2AyXn1+JQor ejZ+eikle0BVb1dERm91M0ltN3A+QzsjUXJNV3V4WndnaEdIY35NSXRkOSpiQ0VAMShlZDQ4JElt NWN5MGcoREhkCit6RT01OGVxTTJDLTg/ZERtR0U4XkdfMHdiT3lPflo1TTgyS0xWam8jN3F1alFh T2FOVDw9VnJVYk1vPjFBQjYySSYKK3pVfU19flNRQ1h7TjQ4OCE8Vjl5KCVCRTtkakVKemgzJkYr VyhabChAdi1xdFdUVzlDTV5HRUNDWjBfSUFpKDVraQorejcrUW9TTztXIyFGSGl2TXgtVXAqUXVf akFFUkNwUWQlPWRhUVQ4YHNVXzhucy1RRzJ8TVhMJW8yUCYxbm8penQ7Cit6YT1VQXIlKU8lTyMh PCsmPndNcGxPbVF+TG0tZlA2Qmwle050VE1zU0F2TCVnVylDbHRNdWshKyMwOGRRRXtpK1QKK3pn amdHTnkpZjJAeWd8dlBWMXZFSzElaXV7IzwtcEQ9eDFWTzBCSCl7XmVRckRqOGg9ak1eUVlNQypg KGshNCU0Zgorem98QXN3VmhGMjElbiZ6d28lfkQ/byZWWmpSQU56MnQxM1VmJFlHUj1ZWlZiQl5g bmF4Z0tENHBpITMxdXMyQWF4Cit6I0B0eV5MaHZXIXReUn1gWFZeISN7P3o3e0l5MkB6c1UkRH5Z d3BMNlNzNVM4NzQ5Pz0hJSQ3MG5MPDs7PGQmJFIKK3pQKGFuak4xS3ZjY3ZxMENlNFFKMD9oTENA MXI+ayNfalF6YTkyKmorc3FybmA+Vj1uJTBNNHFvR1M1e01iaFh1WAoremk7NHZTO05AJl9QNzBJ d0RCaUp2Tk1rP35gWVNGdjtWZGxXJH0qVH4yOyFLRTV4aTE2MCY1K2hFVVlLcl9QWUU2Cit6TmV2 bEV4SSlOVkEjI1ZobWx4KzMqKGtmc1hrOVJEJT1ZISRLa0teXmJaaThULW1GQVpLKTZFbEAqJDZP U3JBK3EKK3pJXkJhJm1lJGlLO3xoS1dQWH1ON09HTVF+JWJZdSRAMm5zam5oKnkyNXFXM2NkJF9f aWg1aSpRTV9LMWNJdkJ8cQoreldeZ0N4JS1ZYERVb3BJNHF2T2hJNkhNeldAOGlJfStadHxGRz9y S1NrciZoYkYtbXtqKylOdDNJYUA4Oz18cykhCit6KHRPcX1eaSY3aFMtMDFKd1ZMcTktXmExNChZ aHJWLSNPQX4/ZkBSRk1udGJePDBkR2pONTM8I1hNUTUwcDhfTFQKK3pVUDBibzlXMjM9OSNYVlBM VHZEa3B5cGkjPHpKY3ZiVmFVPCpSSzFMKGswRHY0P1NPOVoqeVJMdChDLSQjSClOYAoremtpdDc+ Y3czQnFKWlE9T3hiVVBPbDEqVm1PTXF2KiNwWHwwRW9tVzcjQGd7KmhIbCZyWCYyXjUrWUNmNjBD VHI/Cit6dChvVWw0bnhMT01kb1Q2K21XVGBBI3IkVVJ1d0tMOUI/VCl1TDEwbXhOZFNzOHM3fHpW cGs4SXVPSzUxcWtwbFgKK3pCV3dDfig2RzM+NllKdHY4QCUjPDZ2YlRqbG0wekNlPGNCSm9wKT1e bUZ3TFRiTWtXc0UtWEg3em1BWEo9eUlmTworek8kQnh0cFclVXs8MyVjcmBmallnPE5vd0JZKT10 LXVRP0FaeXF0ZncwaCVtcmV0U1dPYHVIQXx2Pz9JRFpvZSV2Cit6WkYzWWJeTypQOVgxITsralpk flhSVSN4YHVLR0FtLX5MMVpsWU4zVXA9cTFve3QzJTU0cGpWSGReaTdnWnVObisKK3pFKSQkZDZy RElQcjJVO31TLWk5Sm5MUylQNjlZdDJMbGJ1fUhzWkBraSMpeGRrbzRLLSM1MjVAeCVifWg1XzJP dgorejc4ZSFRU1N4NGU7bHA+KCglY3FkXzhodFNFXi0tVWdzYVFSZWBYVDFgUiFNeDVHcUloJD13 M3gpbCtIKzQwSDR9Cit6aTlQPlo/K1BnQGRKaUxmbl43aHQ8ZGo7PUVMMThjX2gmTFd6anh1YXxN O3FNOGI2dEYmd0kySnlAR0c4RTdnIWIKK3pBTFZHRmpvakM+NT89RkJ8MGNHT0c2O29iOTg4WF9B ellfNm8+QzJqYSlMTyt6QSFgQkJXSVBsWWdEV2klP1NwegorejBSOHN7dmloTnkzO0Q4QUEwfjxl WUE9IU4pWmQ7N0o9cyk+SklZbDxWeVJFcHJibkxgMXxLXz1JSmImKEEqeDI9Cit6enVRM3ZXTFpM PkZPNWVGdztgRnpAZ28/WlpFXzQ9b2p1bWJiSEZ0Iyorbzh9TVBoNGxHYEJCamtESzBUYzVaYU8K K3pzK1d4aT1IdmdRejNxPGlxJWRhYll5WilhRlcmSSkjJFh1UWNTSDtMOFRKZmg2NGFpcjQyailw LTVAQF5vYkU3bworenREYmA1TShANHwkZjtYdy1PN19IMj1nYi1EV0klfVVLZmFsTmpXSWVuR2Z0 OXFMTVgjdSFtP3N3fFZFRnkoWiR8Cit6RjhYQmtucm9ob3dmfSh1UFo8VUhOezVsfHttTks8S3pV KkdANGdIZiMwd3FNJTs2eTllQH1sS0VqM0JPWmRuamwKK3pwV25jWDJ3JjhIWXItPntJNlkhKXQw MnQtUD1mVHJpTl5iflVuQnY9JlVNZlYkZWp0cEBWXkNsMnlyaTdCfjlTMgoreisqeDNsayNtfXBi djFvRHN0VEgyOWBURF9LcT0xTy0/JVh1KFhjeWdxWVcmYG9UPU88akBzbj5meFh2VlhwREAjCit6 YEA0K0FVTUlSRChaaHleanU7PSVKTiNtX1c5RSgzVWJ8UHh7aS1GZF91MVFjZGlmaHZuQFI7dEhP ZlQpPkhLMXkKK3p7aGN7I2FTUE9+VThGVFN5NVlxZXlYKUs5cjE4cW0xPEhfPylJfFRQJXRESkNJ KDNye2dhXllOUlRQT15VaVo+RQorenQxMWx3aE17c2gmd1R6czVhanNeKlRudHowR0tIZUstK2BT aE5se2kwJT1tfileN2UqZCVJPmVDTnlESW1hQTJCCit6THl2NG55eUJhPGxtVlVSP3kmMW4mJDVn QSl0Y3t5IStBP3RsaWwpSHBoNmYtd0stSXVkbHV9c1NYbmxIVH5GWT8KK3pld3pSSkI/NzxmTktN dFl3Q1E1ISNiamxpWX5IPihtXkpKZCojOCQ8M1YoezlISEh5MVNXRi13ZColT3RaYGU4NQorem5t SEshUHduSVgtKW87ez9haFF1ailXZztQVG87aSUzO2J7JjM1Ymd7Rkh9eHhfIzg5JUx+KXpVVWVK Kyh2UnMkCit6OUZBVjRgMEEkREhmSmNpWGt6KW8tWmB7Vjcke3RyREJoaFpleU4yRCFMV1UrTU1r VXFOWU9hZE5RMVMyd21+TW4KK3ohWCReYUJFZyooV3Q1NTw+cy13YHFseU5QaFhKPi1mYlZDaXta QzVzWEMrX3pBOGhCJUUjPHFIeT8oU3QoJHh5XworeiRxODgldihePl5DQV5xKyVPcFRVdTh3Mjx2 YGZuXnI3eDM9SkVoVypjK1olRiRVWGJ7Tys7Pnt0ZUQxZiYhV35CCit6M3YrS2MpPj45TGBFbV8h U3BsUWJRdVJodF52UDVFPnR6UH1JaDZsVyVpeTdaVVQkbn5OM2djPytYb3dRaDE/e00KK3o4Y3FB RSQkZiEhPGRYRDlTQjBjdWZHMk1uUnN8c09DYEdxbzw7c1JrblEpYyFPMDBkOzFsK3IoOUgyMjRT YUVnVworenV4PnFodTBNKkt4ITVyQ3JOLS1hcW58azBmbzVDanBmKX5PcjJVPTlrKj4+PlRSMCEp YCVNTVl1R0ROa0BzfiQhCit6bD9xKT51ZSlmdm5+b2g+ZHNmKHklTT81UGd4byRgcUYhXmshWGtH M3duLURvUj5xa3RyM2x+byZUcEpvJCs/QUUKK3puSlNEcC1xY3lpIzdhfVM5KSYqcSgyTnZJIT8p ekJTK0cyfk5AUlBDREFgP3VMWHF2YklmcyFJaSVKfClZSk5wSAorenArckhZS1p9Sl9ISXc9Pikl Kz05WjZifTIoTF85fnMkOFhxKXImTnxFRSVMKXNAdnk3VGgtRkR5K1Q8RkNEMmkwCit6X1EpJnlj TFBeLW5sfmt1d0h3KWV1QzRKYGA/e0oqPVZxalg2dGloX3BgbHp6NXdXOHIoU0NgZ2x2Vkx4KG49 aigKK3pVfloqOW9tV0EqdHxXXlV7SiFoUWFJcnwwTHphaDxyYDNnbjt0TDV4PG4zZ0VQSXozakg0 XlhAQSNUUCMjQndaMgorellee2p3byp6UERjajYhPmg4OFdgNzB8ZWs4QFNieV9ZZFF8ZVgqb30h Z0NIblJVODtHSHcoRlFXWCFye2U7QVRGCit6UmcrQkQ/Q0goKXhecmFaS0tIc3VxcjwxUCk8fGJf OXlUUn0/VThVNmF3IXViTyZGVWtsWGRjWmNURkxJTVUqUFoKK3pRS2xxVzFzfHpWNnQzellafDUp YUY9bUVZRn07SSNJcmtjPzxhJFd9TXs4YHVrND11QV4wOT4zKndTZyZiO1FCagorejU9Q29USkJ+ M0g+bWpzfG1yUXJIT3omUj9tRGZicE0wOEVickglWT1QNldJYSE8cXA1d343e3VGKUZXbjxmZS1P Cit6cTg2ZFp4dkRPIU5IWHA/akNNeVkza3xgTEl3I3xnb14tZT1QX2ljPj1fRH5nRkIqUXVRJnJv fV4mfmJSP0tCRWsKK3poMUU8ZGhFMmVNU2lyUVhhKEIhKTF3SXBRKEJDcEV4R1RsSUc3ciFzbXc0 OE89Mjc/SkJ+PGQxU3F1JmVWe3g9QQoremJnaGVJUGdyWWBhekYybmFiY1RgXlhoZnVgR05RMEwm OG52UHR8bGtNLUdBNFVHbFZybmBNamspPzh0IUN7KjxxCit6ZjdifU5zP1JqUkgqK0dQPE0oflRu OHBZRFpzNjZmYz9qbTVPUUE3el5scmoyMU09Wmo3YHMzQV47Jm8oQnohOVcKK3peJW4oUWYwfXpT bHdIRWAyTnN7YkZ5R35HV3ZHLXVGakNgOzFAaXswSzdoNCtBOSVIVilMSyNCVTQ8bkhKWmViVAor ekZLMzQhOHRqYHA7SnJuRFRkTHpjdyo/ZzMxXysqcHVtPktKektVKDJKfW4wZ0t3U1dkeldtZk9G anRTfT9GIXh6Cit6THtZSXVlcD1LRCp0UjNsU3E1dzlxOStpZTNUdSR5JWIyYCo4fmBwMEJGdmNz SXwyS0dHPHJHJCMxTiUjVU5mbCkKK3pee3I2VE9oIWFMVElPYThVbVA7VzB1c3RIdyQqXyokQT4k b1E1fjE2aHgyLTk9WUImTHhYbGJwb2grY3FtZSlkcgoremxmMnNeYntBNWVaXz81JThoa2Q8JSlf V0JgTVFFO0p5clJIXngyNiU1PzI4SlQqOXRQYWMmX28jeSMmYE9CMV4jCit6KXR4eG8zUkJiakRD YGZhdC0xeVc3KSQmJTlzTWQzYEt8O2I5NChxeXYmfH0oSUZFNUJ1Z0ktMktEOSM7c3RGensKK3pM M3FBJVR4cyhnajR4MFlVQjsxMjNZJXY9O3hgZ2NRN3JNPndaYzs5clVaRzQ3fXR5WGh+UChRdEtj TGxaakA9ZQorekc0VWF+IVBMVjY+dX1JbElreU1zRU8pRkUmNyU3Y1RTLWRTdTU/YFZKdW4oODF1 bUFsQ0tjNWooNzJobUFJMGJtCit6OVM1dFlTKGI/amZAK3ZhcXpTIWpBVDUqQlcyaShRODRYUXlP NnBwfChjWH5JOUBVYWRRXm9yTTdBJWIoQHNnazsKK3oybXlIRFhjeHplUmptdmZhTzh1NWRZKyN7 JVo8RCU7YTlSe0JFTkwyQVJucmp3V3h5UzMkXz1PJEZUI1Jaa1hFPgorejVJIzZjSVN5JFc+bF42 Vk1CJlA9RktAWWhtbDJIdFI2cEhtVDZpQUlfO3wlcClQMkphMms0S3A8dmEtM2YxblU5Cit6Q2Ap KTxXWCgtKmQ+ZSg9e1Y1PkhwMDMlUCMqNkcmVDY9THwlXmo+ZnRNNENfQSYzQyVZMjZxeDhTNipP R0UlbV4KK3o+U3oweis0QnBvRmJeLVJfXyZtcWZWUHsjd04xNlc3fEZmcFMxVGpNNkQ9QlVUYHti TnpyWnkpcjV1RyhYeGF3TQorenFfTFVeTS01bXNBVTtHZ0x0eDhkVEw0V3VnengkMXp7VUEjRT4h VXktPVFLNnZpSyhlMGFiO3Vyd0o+PHFJQD0zCit6cyNTeit2T0B6aVJIemdRJHFJczVGSlUhb1ZK RW5PY0NsMjJeflZwZVo4Xyk2JjVWc3kxdD0qQFJkUVA3WTsmVi0KK3pRQGNhcHZFUVkhR014PEMz UShHKnBzdjQxNUN2czZOT0dTV0d3Qm8rdUx7cCFVczRmSDMzSTsmRUo8JW1sOEN9YAorekVrVEJD S2B7bH1wQnVxKEZWLX0tazJffD1ZZ1ZfQXpKXjdfVjZhNHh7X0RlKzkpVmZwcF4qU016Yyh6K3Zm Xk1RCit6NzxIWElCTkl7alpwV3ZUbT0qfiE9X0kxejM8PDl3QHdQeDw5UmNyRU9YUUMkSTxUZWM+ IWE5QUg0UlNhSENqQ2wKK3pHQl9Ga2ZnJmA5K3Zqa0lrKFc5IS0jcGcqU0s4MVZGdWMyKkhfez81 OVMmTWVVV21LNnFKSztpSkR6R3VMOXZqSworeiFhYlVVKElCMlJAfiZ+JFZMcXoxQXFqcSpATXFE IVk8ZDhsKnohI25wbDE5d3pHez5icmYjZG12N0xkMHp5c0h+Cit6cTJAbz1gO14/YnNSemp3Yip+ PzlQJCRHRzVZV35MODRvR2RAJWpiYTltVl5Pc0t3VWs4XlJiez5zO284e3dHRWAKK3pIeF5NQyk7 YH5zXl5GR3pTYTVjPXEyKDlSVXg8SClMdmglQXJGaE0tPiUyVEM3VWYjMSQ+NU91WGU9JWMlQkhM VAorejN7NCpJOXs9b29lNyspITQhU0BZQWVvKDJ7fmBnaTVjdClWO1ZsZ2JQc1VGWGFQd3AhLVBp ZFp7OUl7fC1vd2ZgCit6b3NETGNocWpIdyhLPThka0FlfH5FJENlZUtRRCU/Y2c7a0ZnPnlqKWNn O2ZwQF42OT8zeGYoN0V8UEQ3ej55bm0KK3pfVUgtd3tzbjwjfDMreVZWaCtaYCtRcHtJXnxeTn1q NCp8bF5QJVJYaHVaJiFXWGAmfThOfX1vYjUza0BlTHZRcAoremthJUtYQnV0OXNjTEpON2JZUVp3 Xjx4SiQkR0tSSCtAX2NAKl5saHNLPm95az5EeHQ8Q0U3UV9PN1leZ0hkdko0Cit6akhramNMRmtk Ui18Z0gpLT9CamxAZiFsRk1UWW4zZkdGam1aXmVvSmBYQkVSNj1SIS1pWFg9YHQrbzZmd1o7bXkK K3pJT3s2fk4wV3FeR1M9ZTtqXkl0cSFtaHAmZ2tudXt3PUFAflYkeVB1ZFk0dmQqdG5FNGJaREdx XlVPdH5XT0o3UworemBRPWBkWHB1Qn5pe2E4fFM4cDdwI0J2fm04N1hndWVPPktVSGt1bGRrQ3d9 ZmlVN3trY2N0Kn5CPk5ZOEM1WXRvCit6PnVveXBCJGV4fDJ8UXN1JU5tMWJDeURsI1h1Xm14KlVY cTU7VXM1RENoVXFIYyN9PDB5TTs5OXJmM19vVUhVY24KK3o9ZzwleVpzVHNSVGV3WCZWZmkwJCVF OEtAXj42P35eb3NZMG5sTCEjc3txJHtKIWR2PGpNTDNfVkxhXzA/a3VHPAoremo2WH1oWD9RbDRH WWZ5TXZoZTxKKl89WENqb3NfX1pveHRmYThTUDQxUyVSSTxjX3EhJFBBdzB1Wn52MkdjdTZUCit6 amkmQjdsYTI1c0BaRGIxPWlsdzhWNGI2TDh1JnN+Y0x9UCpFREc4ejFpdz9xNylMaiZ8QzZYaTNy VEFoKndgJFIKK3pEdG9KPEhvXiUjUWViLXotYkoxY01VJityNVo4M3QzY095TyNKMkhUZk4tVkRz dWskLXN6JC1qa354N1hWJFJ7OworeldGWS1IRGwzRzBgeT9DbDJyRFlCJExVVGVqb1NfKzZgIzg4 N0g+YCpfYjxQIUZ1bXJfYHV4R0VxR0hPQzJ1RGE2Cit6aygqJEJfVEFAO3BIKTgwd2VOeHxfey05 aXNXZHRaYFJKKVQ7TEZHQDt6PEoyMlg+NlRXb1U8QTJkUHJSaWdUbU8KK3ptWC1tcClAcjl4ekly JGQ1e2BYODVKT09idkQ3dGw+U3A4fkx+dXJZJSk3cFRjP1RENjVAMWdLUT9Qc0wwa1U1bAorenkz VFcyMnwkbyNsV3dHJW14c2x0LSRFTTFIfU0/TSplY0F6TFMrMlFhRmVseVkhTXpLTz9jMjtTbEc7 dVZ+a3VaCit6MT4/fVR0RUpUdEsmRT85TGdnTl9CXmVwM0s/MyNseXFlbUJOYlFuaTdGczZJP2Nt dWUjcXF+QE4xKzEwMFVoO34KK3o1VFVUX1dPTSEmeX5gOWtMK3Q3NTRoeipfMypUPjcqJnZ4dFEp cyYlYS0hRXVxOSZfUTxIUGtOdytrNjNrMCtPSQoreiMkZitrSmBfS2BVUDh8JkRGanwpdDtzQzBt fHheaUokP25CZmYqY1JOT2BZbTtLPzgqXiNKbiFaZCZYNnp5eURpCit6S3omR3NCQ20mOUBtVWkl NS1Be2M9fXUwWSl5KEd1TW9DZFNSY2pYRm81RUxka2sjRGVwVGQleDspTTM5WlVicGwKK3owZ2Jz UnpzRDxUQmVoZFBibzxDKlA5MyVwJDcpSms3byVLNzI2PlpEVk5wRVdmMENMdXMrPF97VCFYKi1a d1ooegoreiRlYyk9WkQycVlTT3VXcGFzYE9XbmZxTG5ve1o8JWlKbXBZZVpoUj5DbV9kYyhWO2V8 dUFFaWVWP1ZzWjRyMVR1Cit6SXZudnFCaGI0PXRxUkNha3RRKmJCeSUlM2BSUWVMQjRzaE1SMSEh PTFuUVNYO05nJGEmPDFmITZ0Mk8oYitUOEEKK3pzfUBxe1BBaG1fVCF3RjU3e1ImdHR0fUt0aj1l b0NwVGV9QXplPW4jdjdWYHBSSiVPQ28+YzZCMyN1YnNPWn4mOQorejNefjQqVWlCTiZqJnAhMGQ7 aChqP0U3R0goWnl0PylmKW09eEhwYiQ4YH5qcEBBSmUxPDBxZlQ4UUctdmxtSXFOCit6cDF9OXRK PiZ8KzxlPTZSQEk+eEdDS301TDFfeXZYbU1FPDZhMl9Rd0FYJTxZJFRVaHhZbSglcm8wX3RicldP Z0kKK3pgPHA5V25DY2pebX16UF5aZ0p7QGFHRDk8SHhrXip3d0lVSChzS0JGK2xrLXtCWXQ3Mzky IWVIe2BKMmIpIT1WWgorentJKHE1VVlkRE1yKzhieHxOZVNlLVJzfk9uQzA8OzhYR3l2TyV4Qj09 LTkqPWtGREJ8TjVhcFVndkgzMXdtJEg1Cit6QylSZV5SMGM5NHk7WGlOWDR5az4/eWZ1STNnPWN2 dF47YyEpck1Sa2g5JVF9KFgpfHApNHdFQkx8JWhVUzNCJk0KK3pMaj5yPkBxd2NuR2VOOUF1am4j TD16LWBqWnBCUFUqRyg+U1UyLXUwcy0xVCMlYz11aTJNRXYyaWFrY0I/cTUydQorem59UGtpJVpM KT0wdT9sMUYkcilGM3dHdzFLQSM8PTtSVkI+bVlrPjclYWQ4KylUSXdqZT0oQ25PbE9hP09eSWp7 Cit6aWoqPVAzS0NCc211Z2hMeHlyZyEkfnwrbUhKZjgrJDJEeTA+JnB7IWtWNHl3RkpINzlEM248 dU02a0R2ez40a28KK3pvUl5UM2goTSYwQXojVm4wamlWcGgrRz53Kz5ueXZtQC1OSzF0JER4cW05 byZAaT00OVMyaVFqQ3VmSnswYjJpMQorem9HTjs8SCMlR21UV0Bga1JrPEZHaTRmdjtxNFJrO3t4 d3g8SnZaVmcjY2AjKHV6KCh6MFBwU0A7aGheZGE+bEM8Cit6RUwrVm5aODh3IyRkc2pYNGRgUnhT Pi12fFZ9blNjVEMzR0NFQiQ5czJKdkxOQ1RVQFh0LT8xbXFwOEs8diN6NHAKK3pvazZxfUliQEAq Q3hPNmZOZzczYXkhYFBDTU0mTmtlZyFrdEBDYGd5IUp9WTlaSE9PNzh8YFdJITVKZVEzRXQ9YQor emE9TGhwJTkzMHN4bXxwNzVVYShDVDRCRm5vN0A3ZHNAdDE5dTszU242fXp8az5sflFCRlh2JExY cXMyZXhWRUdzCit6IStPfjViIT1+eE01dkQpIT4+JlNUKVFHO1ZSckdVdkwlaygrRF5xOUMrd1RU SHo9aC1aYygkdEg2eC1qdDVMYyoKK3pebG5KKG1TZGw9LTx4ZHFhVypBbDg5V35qTXRYaXtabmZm cUw3OSVZfDFgb2Y+JFQ8czQkPyVxN3d+VkZJdjVnMworejtmZGVfPG1sWXhUUTRleHJaYWpEbksm NiYmUlBvRSlXQWM9JHM3UiFkY19aezlfcn5Gal83MD9gPT0yd0opPExLCit6MStabntVYmVUMkYk QHh2ZjZhO1BfNmJVQW8kTykqS0MtNS05KTlPakctSl9kMihPZlllN2I2S3A7UFkyb1RYPVQKK3pK WUhxTig2TmZlKH0xTCFSUDsyUjJuTHQhalE5Tkl2UEpFTGhGSmp8e0VlQis/ZSh2Qj1zZW9RUyVC M1k/eEgrbAoreig+aj9UIzctMVE3KjNhMytSc3tBPFdjZjZyOWptYDRXUXwhMUhZP25oU2p+WEYo LT5Vd01LaT85ZSVkc1YqUmJICit6NFpBRFQpO2YkUClhc2NTUWA2UU0wJGNyIzIlK1dESEEmQlZo bE96X2hyMGJVLXkrUUhsfXJTNmE3S3AzRXV6KEIKK3pwajZDNmdKYXY5Q2tGOGJUOGhQVWolO1p8 NFF2ZFRac1puTVRlWFlgKnJoNytKRHcrMjh6NGwyaVpGdHw1bURMfAorejVsODcpWE5zeWpXJm8h NCRYRldQSXVeekR3VUIjdzlpWDhoVm9PSjQjRlI4JEFlQHE0ZHgpZ1hDMlUpLSR4TkBZCit6VWtz bDEqWVQ+QXFTflVwd0tUY05uNUdITDxSPVJqQF5DRTJ0ISEkeVpWfCo3O01vR3QhITdoPk9xYil7 cXZySXQKK3phZTxnLT9nfiNnVSNIN2xqS0JPeEFvbyVYekl8KF4pNUI4RThTJihVIX4rejEkRzBB I1UqaE9HKUF6Pn1HdXh+fQorekBPKGJpX0cmWWI8flIoU15YLUhQJG9ES1Jqcn1YNmJ6O2pLPjxG fFkhUFk4LXZgMkYrPEJATik7e3lNMGBzSDwoCit6QEV6ODNwVE8lPFFPPGM3IWlxUyN3YSpndno0 STN3WDQ/aT16bGowfUJacXMjJV4lKCN1RmphK1pXX2RyMVp5TzYKK3okMSZKVXFYNTtlQWA3Q2xg JSk1UCtgdXFxMj0wQCVpQHgrdWpOejtKR24rXlI5SEBqYGxQKGEpTipwK3MqNDswNworelhmWDNm c14hejUhQFM2b0g4YFh8dkVzPEt6PmVRY2oyJF8/MWtndURoZytaQ0pjdj5yYCR4O3V2djgmbzVM YUB2Cit6S0FMV1FpXldEeXEjb3tBWDY/RnJ4cWEtej9zK3BWciYoYGRiP3E7bzFEanhAYCFzWWdN QV4+SDAqZ0MxUUwwPWgKK3pPKmY4ezlveSN4PXN3THFgLUI7ZUtSKitGdGM8cnY4SWdoZi0zRDlO M1M0MWxGPFh8X2BPRktzcDQqJCorJXh7PworeldubTNKVWpQKSU1anQhP1UmYWhDPD1HLW5XQ2Az PGN8UTkmQEJZZ2M+V1NgQ3JyNVNJa1deWnBscVVzaiV2bCE4Cit6M0BBLXpOJilPYlZsQm0xLVJh d1khdFRFOHoteEByQygmTztjO09fdkdhaSlvMW5wK1okVkM3N2p5JEBgREVvcmcKK3pHV0Q3U2dJ KmlobC1yQUFwQz9AR24mY0wxb1k5cU5FX2koRE92ZmZsOFk4ITtob1BaY0U7dmBBJTtJMjlHWmJi Xgorek14Nkd1JC1sKiVnbH1ra0pFQSRwMjRma3B2NEskPWNZNH5vdUw1TVJLcWwjcFhAWT9POSF+ ZTFtYzB7Ny1nWkNSCit6WW5xSFFWSj5YcCsheUJoITluNn04TCNkN2VLT212YSpXM3I5VGJGUXxL MjQyYmU4alVoYXBpX25XVTJlUHROUU8KK3peIXNYKk5GVXQycGklbDRKJGhMP3ZxXi0oeF4zYFMj QDhKWTdMTntTcCZaKS1hYXNGPzQ+MFheYlFoZDRGQSsqaAorekZRXjBmcDB7JmZFMEwqS2pmbVhl cTJqWnptIz5sSl88Ryp6ZUJTcnglbEQ9RHg7XmdRVVowMW5DeVhkVD85QiNlCit6ejNpK1dSRlU/ Ql50YHZ9UzYjOXhtZlFGMUlBe1hqKC1rdjFmRiZPflowN2I7T2d1cEJ6ZDM+SWkwUzFQZnY8dEcK K3pecU42XyU+e0hLJWd5YDMrMH1ZeippOVU3PkYjQzU2YCl7ZVd+SSVtTDRqM1RIYXlwV05fe2sy Qld0UCNIVFJ7WQoremxfZzxfOS19cEI3aCZ7MHIjY19APUIwWXM3RX5KUEM+TWFUSEE5RUFjXzdZ R1ktWkl0QjBnOHh6a0kwTipEa0F7Cit6Qj5kNUspWCgzOUBYK1Y1TiR5OGYpSFV4Q29BPUpxWm8/ YmJfaWF4V1VRMCNpc2c9Z2VFQSVgUjhmRm9XeEY2NksKK3o8N00wZ3JWUSFjPFo4Uk5Hb2FhclAz Q0RhXmh1SXxubyY4fig4IS1ZOFA2fFI3YEEmRW49QFpPU15YZ0cpVjNRSworejxiNXRJdCY5I2dU QURWfUUmMncjYEkwVWJgSiswIzNyKE02LUF0eklgKD1ATUYoM3k7ekNCKEdeb3kzdU13bSE9Cit6 b2VAKExHX2EyelhIME51NEBvWGRWUHdvfT1hUDJkb2ZgQzdOQXN0QUt2KEhISzRDTDxeakE0eiN+ MWwtckU3ZyMKK3ojKmFKUmYwMT49MWJ+TSRTXkk+dzVeWjg1V2lafGRKfTJEYWc+PU1UK0B3OTMp SSRUPFdZS1gjeG43Ym5zcz9PQgorenpKPzBsKVN3NGxBcVZkO2VLdHhOU2wtSkI9M1o0YWtIPDZs eExtazdmd1lhbnN5YVZDVSs/JEVqMUZWczNxWj96Cit6bFZSI2o4KnxUQyh4emZQZjMyYlBgMUZP dUQ3NDMtY1VRWWM2UTEkPFFtVXh9Rz9maFdsQGBpZWMybjgmdilaYzAKK3o2fmE/KF5vdTlXSkdW VWRqJFF8akwrQVl7LXN+M1lyeiFSPlgoTmU9OD0paD00ekd9QWZFNH1eRmI3bX1LM3syfgorel5v Q2VHNUFqTVV1OyhEbkxgN212R2x3fmMmNSQkQ3Q0eCpFeDBXemszUmNLM1VnOUpGRmU3eF5iSy1f ZFcqcWlTCit6P2hrV0tSSGRpcGJYNXF9bzwqTW15bmY7VFhtKnxSSVVhNGxnfXY5S2pQJTVHanMt fEg9cXd0SjhoU3l2PWBORUcKK3pNO2U0KFA4YXtXaVNDU24/SFp+U3AlXylCWn1mSFZlM0tLZmlk fWQ2SXpRYWBNdEVYbSZuTGNrPktySjV0Xn1ZagorejFRSHB2QGlLPjskbnIwWUohVE4mOyp9MEFA WTUmLWtZcT9JPndZU2JlPlAqNmVOeCpQJDdYcFRXLVF5VGVIME19Cit6ZFJBbWliOF80KEE3YFI1 SFhEZlZVN1NLaTdMJiZEYzlQVDgyM1YweHchSXQ1M2ojcyVYVmAqKEl6V0p4Ul93JT8KK3pybG89 YW45PEk5cVZAPUUkPWoqT1RFJmctSSY1Qj4qSkM2Z05aSDleXyVCbVc5I3c0Y3E/YXdBcStlZzNf TldvTAorenJoNnt1OF9Sa047TihYPDl1N2YyWiE+KihfQkdJYWFENTJTYUkreDB1MS1raVNidGpo QEpGKjkhPlA0RHlQNGl2Cit6NEMzcm5xJVhZbmlMbUgrb2pQUCFuM34qRE9UUDVOYipZYTItb30t OSt9ZW0qVmZGUVBwRXJ6YWt2e1RjMGhuSXIKK3paRWhxWmhGak4qK2spSGxGO3QtQGQmMUJkMnUw aUZ5Jl5oY3NuX2wyTSNNdlQ8WXdvYys0YipSUThFYkpLVHBeOworemNxM1U4aDk8SWNPblFrQE14 QHdJPkc2dFZuKH5PN0U4KnttcVZOQzNaZlgwR1JSUnZicng3YFVmV0RnbExzb0hjCit6d3lgbUJf I2JkZjwkc3F8cm9BczV1fip9LVR8YSp0SEIxMVowd3JEWWx1c0BmKHtkaWBYZWtDaVNUQEUpVTtz ZkwKK3ozaXJWPkYldHkwYkB7JHU+QUJ7ZnoqNE5RQlRQIXRBZzcoKHBGZHlWbT9lJVRTfVZ7LS1X e2BTSGRsYDAtO05pRworejRWITgkMTZwZChVTl9jeURATUxubmpVVERgODFjOCQqZiVOMFhucU9p Xmd3UG5VKz0pX0R7ekwoXkFnXkpLZFcqCit6RGBjYTd7e2p0LUBPWmdxPXBOPVJqVCl9Rll9SGh7 KF48M3tETzg2OGJQTHJvWGk4NWkwV0VCPHJaVFkkcW8lcEUKK3pjVEFhPyk9SVFIbklAdndOS0dw JjBBfXh7bUc/ejQlK0ZLKE9fJVI2RlpERCk8PV5oQWk7NUpuKTZQcDhQbkcxNworemB3ZEhsbVd4 Mzh5VmcpJGZKYEB+YDJ+RDspJFpvMWlCanBFbFJ+bk1USWswRUxoJm9WKTxWWTdCIVVSe093Vn1h Cit6Vi00SGklWlMjO1ZzQWlKX3c/cCliLTg9ZFpESVVDR2Q4eDZ4OTlFb0BJYEI/ayMpYmIobnNQ UnQ8NjFHc3J+dUkKK3p0NCVYZ3ZxbFZhUjkkYiRZVjlNYD0oPzkydyllS2BNPnhMZUR3LUFkNU1X MlVIbG1yYihxNUl0ZWU+VUZkZ2UqMQoremQlSEZZTnFVZFlYRXRUMzNJTGQ4STgtYmFrOUxKS2VA KU5EI055bjVeX3Y/b0FudE49ZEsmaWFvd3kyIXVVJm5ZCit6OzNKMUVVUHJOOTRmJCRacEpQYk8q ZVQ5JHhNeFJTNiNFIWkyRngzU3IxPy0qdlRkQHlkSThLZUgwSWUleUMrVkUKK3p0c0FYMDJ7N2B4 e3pQQD53TzNEJUIrKEthISZZd3JqIVJ9TFI5WUNYMEx8OD8hTlkoUV9WcD9ZMyE2ckp3JDlsfAor em1sMXhtVyghd21pNkp4NyNZPTJXbnx9fj5GVH0pJFloX2JqVzRIWXJSI0N0a0N7TmV0O0hzQEdl WHJKUnBZVnJWCit6bldDOGlmTnRIYmUtcURNYndRP2J4amdQZnBoPXJMcDQoTj8+a0ZmREMyfjB2 SDhqJnlvanI2RDE+SFMoaEEyP2oKK3o2JUROVG1tIzR5eEEmfVkzc0BQeDdYS1BFPFMwN25IOHJf I2BMYilyJkErNXE4XyFsakVLMTF6YXU7ZHlIJTRPaQorekw7S3xMeCYlPjV5bEsjekFpMjNmNFok JDhmMjZQb0d7K2ZOc3s7aXxtTmYlSURjOWtKcCZQV1JeMyZ5cnJARUhGCit6ZXxNfmFuRkxXRmA+ X3kmPT83Q3VsKE9qKCVqdSNENyVySGBzSmBpdmZWZjYkckxDPSZiI0w5NCtwTWQyKTdFN3kKK3ps MGhOaypSRzlicUB2OVZpJUJtZHJ9TG9hWHtRR1k0YFZMeWg+UyhJUF9XcCs+Uy1IakI3Ji1VeG1n PlhMfHp8UQorekMhZGVCKUVzbVokaDIrQUh5QFFQVzdrJj92MEM2a099dm8rPHFwYjUtP2BfdGRK QzV3RCQxWmcqYUpuPUhwfnooCit6d3FZISVMeE9vXjxYRDZtejs/SkRwYWJ3K3E9eStNKlZBNzs2 eyNBIXlPO2Q8en1lR04yUTMrdHt6JiE5TT5HUlgKK3pUPVpDMnRCJEtAeldRWHErJTEyR0JWS3sp NlE+LXNUYmE0dXlDQytqQj1neytPVWhXM0shKVZSTmsmVHtXNWRoUworelhNOH13Wll+Q0RyZjNL dTxPTEZ4YUhGQnJkfEBFRFc9JjxNV2MzeShfPWdUa3J1cj1mKEFmcDteZU1hP2BYfWR1Cit6bztN QUZWPGUzaGJnUlUxKVh+VmNEJGA5PF5EWkorbyQ1JUtDSk5TQjkmb3pfUD1pMWJgc1dwUVE8dUc2 ZTVvKGsKK3pOQ3I7Sl8+dDklM2B8OE4jaFBXJUR3JXNtakhZUDteQk81dHdqNmgkQ2c/LW44Sm18 NVFlMTxmbXB2UVJzVHdNfgoremJDK1NqMmZ+PW5heF5rPWl0e1RgPDQqKTI+TGQqNHJXcmFfUChP Zm4kUlNJcmVxJSVZcD5UNj5fVFBrcXtBMnJjCit6PGw+M0dqdnZmXk87dTxsJCN5XnctUHFYbHVu bWdfRXt8YCs3Zkx2JExPaGktVS0wUlRqRWBgLWgtKlBoeiNRQkcKK3pwX19nfjcyRElhcE5YeFlV R2wxKVVBdzkoWmJSIz5QRWFKcyZxT19xZ2NkNTlBRTBHVUw1fS1JWVlRWiYodn03eAorektAbHVy Z2pNfmlHN2Z3P2dvRjVjZGlPKU13VHFBZUNTNFNvYygrTXFrdlllb2AmWSQoVWokd0JVY2hLa2pN eGJfCit6Y0E4bTIqbGZxVWJkMGZyJGtMPm1wIXA2YDVKIW8lcHh+bH1OSTxfK1peb29tLTUyaXkm bC0kP0dpVyRwbX5pJjQKK3pzdHM9QiswPXB9QDRhc01Lbm4qM0J2Z29hMUglVTZxPXtuXnFlNGZn P2xPVyRTKFJCS19vN2h5b3NBNmY+Z2NmYworejJeWGRLeFIjLVc0RSYtPUhLMmN9RSVCeU8qeTBt bztOQSpWdE52QlFaY1JvKFdKNy1Xd1VhUElRUVhYamduODNuCit6RkVkc3M0QEY4Tz5nZD5zNyM/ enk/SDJINXNQdW8qaEdSSEQpfkk/SkdvekRGPklQSWlwYS1EODRZM1RUMnJJQUEKK3pRJTswR25D Ui1FLW5KY19PYV4zV0QzI1FObGwmb016JH5BM1JWZyReWDEkOGk3TW1tX2xzYmRjJHB3ZjJpczB3 NgoremM4dEx6byNXPnEqfnRuPWZxJHxxcT9NZFlldnVZV3JPRChWViE+RWEhPkRNLUZmWT1IRHhu RzljUUpZfE1DSCsmCit6Z05HKitNI1ZSP2ZGa3ZVdjllI0JfZiFyZXJQaFZnZlcqR0FhQDJUe1h5 P1laZTU/M2lESnZyR1BnTEYpT2tNRXEKK3prVnQybihpP0EtSHVhJnJvZD5OcmE5PTJwcFF0cE80 biMyYUUjVWhQcmJeIyVeYzhJUlhEKF80KGp2K1ZzUTR2ZworeldpUE9fXmdAd35xfDk/VVllPTsh aT9AbkM/bTxhdkIhOUU4K0VYckV5Mj47V2xebUZ9aFQzRVB2Rj9rcnd4TkJkCit6dTwjdyVDU0RB Y2Z2N3l6JnNrRnReLXhAP3QxYmJKWllDQj9TXyVKcmcrSzQ0OzgrfFEkfSV3d1d9UXBjNHxVeiEK K3pQN0c0Yyk1bG1OUllabHQtMkRxPXFtdG1IK2V5TylFKWxARzleUG5TSn45KlYrcjVvPDwzUFk/ XnJEb3ZoR2AqMAorekFHQFU9QjhLP2ExKTlIXyVlM3MlQWVhYDJmSnxXZHVZYXZaOystTzNxdjkq VHQpeSZMPWlEZkp1cTI3QmJzY1ZBCit6UWlWPXc+ZHk0bUsmMiNPVHtKQHVEeCFpNXk5PmAtVGdS PjwheSN0ezh+PkR3T3Y2dkpJNiVlNDY2bUVkOXhCVk4KK3pDVUZAQEoyVl5OJDh9KkEkVi12UnE+ ZXBFdXVSaCkqWnVaaiEkOUUtdktOdnQ3YCohPUEjdzt2YmdydyNXb2UxIworeiorPHxwcmIhXmtA SmFkKEA5azZVZ2tnK2o0WSE1YkRfcUhme0FgYEtQI0o1dnErOSpFZnBnKTZRS3Fvd25AKXBaCit6 N1BoQ2UlYnpjc0pXYH5FRXFNQXdKWTg1SURWbE82S1RAKjtLQGV0RnBJPnU9V09fJnFlcHY8ZCk+ c3hJUzQleEgKK3pRfWZZNjNvWXkldmdVSklXRnl2Z3hrbzg/Sjs+JGN8TGRASnRsTnVWRD5YZWdB VCtAejsyUis0cEZIKExIbksyPgorektIZUVSUTt1NVgtMSolO3Y2NUtaK2omWXpoejRGbkthQkVX WF5ZQD1JWWpTSW5JNGlWQkoqQUlqUEBMUFJ9PGhrCit6fEFRb3g/ZUJeej8kVzt0Jmp9TURWQHpD JVFRI3dxVkhGaF9OTGZRUERffHdnZmFLbnRQK2Z2RFAhczgjT3QhSyUKK3o0P2NpaVhSV3xFZkB4 em1Me19zTHdnRiVfWU5gSDlCKW8hWTAhZ1hTbkRNWTYwOVcjb05STD17Oz1nflckVDNEMgorelAj KFBNazRHMWxZIzB+R1BJak4la3A+WmdLKVY5VUdKTD8oN1ZrXyF3SCpDRF50fGJ4RzheZVVLVChn Rjt3KHRxCit6Qm0qRyh2Z0F3eSR3NT9xYFQybUwzd2xPbEpGRDs7Y3MxMnI9dz9Dfkd2bTJQYCFC OW00dV8wN3ptbkVyJnBXMkQKK3p2bW4yP1JkWW10SV9rZGAkcnhoQTZQZU9wWSF9Y0xCYFVSNmY+ SzRgdWZSamtncCZgLXF0ZnxlJEMrQGxVN1pVKQorekw9NnlQVVF2M0hgVURrZyZDNWZXcV9RYEM5 bUdxZUdDT3tgaD1SLSZyWT9zOzB3TTJMT1JPenpqKSoldW1LOyl6Cit6dFBDJHl0WG5FYUc1SCN7 JEBoY1AoUWYtYEltQWE3e21Gckh4YXlESEd4bFd2RDM4Q1hhI1ZnUmNqbSZVNT50NkUKK3ojT3pk OSo1Y2pjWjJDJkRVbUVuX3BMN25HYiRacyhtPURVaHlRVCR1ezJ1NTdaSzhseHFHeTM7TlB5WH5P Q1ZWRworens+M2slbFdnfGA0R3RNanheMV5DZDRyTkxKSUw8NU5fbyt2WXhMVTwjQHVvRlJtPCMh eU1FQjNKX15mO0xBMWA7Cit6d3ZvLThqcm5idDJnIT1AeDRTVkghdUhHS0AjO2QmY0JaeG1jWmVE PHQxczREdSYmPSY/KHs1Q3JZQVNFZjBvI3EKK3pzV1hGWjg1dmdMYldOej5gc14wIVhEYm1saTU4 NFVJJSEpSTloXlNRQzM0NV9WeFJaI0FvNCFNcDRfSTFQYUo0PQorekZ8cT88dE4kMTtJSyo8dUMq Pit3NSpnP3dKe3xXSDFEcjhDQm9PYzEyP1Y0I0E8JHhkd1dPR3NAeEA3fT09M3N5Cit6X31FVFBG cl9tMU5QR2VYRiRfSihrPEo9KEkpSEJCSEBDYzJBcnJebklqMmFWK200YFpiPiptQVlVfklMPClN JmYKK3o2V3YxZkxHTCZgUTB8b15FUzJhVEFIWjJHPTIxZV9TQDVJT0lMVzJlUztfcE4zJDdJXnE/ YFFUeTIqdHs3UyozQQoremRCbXdiNXtxPmRwQkpFJUBqe2BiaSRTVWlgNlgoflNmYDc5TVRLSTY8 Uj4+T3dXZTVyTWE7dzBSRFhNVDsrci1SCit6YFBiKz5SIXY9a1BNenhST2h+XiVIMj81KVByN0ZP Y28qRyMzNVZnNVA4NTM5dHMkTWAhVXsobzs+NXJEam9oeUwKK3orcnhGMkNneVc+XzJnVmFuNF5F ZjVxR0ohUkZNNjVOcXJ3SldVQEdsRHRyS3gkYzJmPiExb2I2ZntSUDModk0kMAorenFrWSk8TXM9 SEx7dllzMERCMTNGVjNHPFdFMTYzNjlITj1tbT99e2UzVkFSLUFkJXJGUU9gRGV7dV9jdVlBO2gt Cit6dypAK1dYeU4/M2FnP2NMRjJXT1ZeWnpKfSlSP3FPO1ViR15FbGYtMyl8cnN4P3lBPzluQEVS PW5rbmZlUDxWN3kKK3pCTnh8eVZkQ3t3OVNfLTUrP1d8NnghMm9SR212VXNOZ0FaZUpEYHtZVGZO PEcyWU83Z1VRWmhJViVRU2JQaXdPcgorenVUTDN9VW07WXdNOW1YZ2tUfHdlSUE3aUh1PDZlZjYp I35VPm97Pmk8aCRRfD5tPUBDTThqfWg4LWtnfHBReyYkCit6OGZTdENoc0h8MFR2eV8xdEIlTS1e TkR9dCZ1SDI2ZGpxIWB1YWchckU9WHt+cCQrOEkrMVNLRT1HUm1Pe1Q/SkEKK3p7T0JuUjwoPCpC SH1xZTFDakBhVkY0bjNmKEw5MVl1Ym9KbFp2JitUOWQyfE5aYjFlUjx1a0A4OCh7JVZYej4meAor eiMqMnUmRkVuUGVXLU5xSEl4cGBwLUhOQTYxWXNFKzlRZn4wNDkzSShnbEw/T3IreV5YNXlnO1FF VXdAbVB0R3BSCit6a0U8MzRaVGx2QnlsVXRkbSVTbjtDcmIoQ2h3KVBsLVVjaGl6PXlJSXJ+Vn1u Q18rZmhMPlY/JUNhSmxEbWR6aF4KK3pmME5ad3R7fng7JT1hdjgxUilWYng2cmllQyk0clpgUntw VFdoOVJjaEZ+OW8jR0BAYSUwcilgQC0zKypmJGlTVgorelBeRStjI14mZngkI1ZmUkFAZ1Blcjt2 SCRYUihVVllNSzZ6JU4yfCslK1BTOE97XmJoezQhQlFFMkQ8Pm1BVTtKCit6aTFlfkZ4bVh5ZmFO VkhqRS16U0RsKSQzOHE5b3hyZ1Y1d3JacjVSdj1ATiFkYj04TyR8QSh6fVk3Wj0yJnYwenAKK3p3 ciQoViNLeSQ3WlFIaE8rcVB9bj8pMEdESj9NfTR1SnhgKnc9Tj0yOTNnQkYzXkllQntiYWp9Tkhf QDZQdDUkXworeiROWmFoP2xkcWByRUsjQjg0KmRYWWEjU01YZUtlREFfMTVZRmhuYD5nYjdjYWs8 QUN7KHZMd2tjcWo4dGdGNFh4Cit6Pn0/WHJDQXd1fFlNJGY+cCRDX3wwNGI3UV9FUnxhPzstTz01 TE81bWJLUDVKIy1TclJkOTV7cXxNTGtoaThOOU4KK3opQiRNbjJqVC0kX0RtVlMhNjUwd0k9KUlh PjVUTX5CWDRjV3J2WkR4eHZyLUZiflE0Xm0mYzsmPTAxZil0SFR+Mgorejl2THMwSko2cDlmekR7 LW9IRjFnVWdkWj9NbVZRdWBARDtvP3cwZGA2JTcxYW1fXnBHViZAUzZVenxJPUstWWU0Cit6VEBQ IytgPW80bW1xOTAkSk42UDBoI2M5R2UxVT5wdS1nJFJ3bUomJStYMCFGUjBRaTNtR2hGZVQxWms5 Ryt0SVcKK3piWCNVbWdBajNGJnhoa3dlbT9KKVZ8K0cjLXVMdWh3KzdBKHNmMU1DanoxZytxKWc5 MTxTPW5eSlFYb2lBdU5QNQorekBeQG54U0UpR2tmY0kocm9nKzJEYzE0WntsNkxWOzBwdlJgIVda ISQ/WDJMRFBVTjBUdHFrX2skZyF1byY4SjVFCit6Nyt0e0IyZDBYZmJRNVhxRUpnV05ofXA7eTQ+ KENNbEl6dTAzNG5zTmAyamc1e05xa09hQS0zZ3FpWXsoQGM7fkIKK3pOUGZpUlV8IVJhOUZzbTUz cWVJdHkza3BSTjA0N0lMazIjKTlMPDV3YDJMZlRKKzFYKlNxV0RWelZ8aCF1PD5uQQoremFzbzgt TzhsZH5jJE90SVdXS2ZnZ1J9OD5Ocjg7dzd3c29SQ3IlRjtDakMmQiRwVlEqMSkhbGVDcyZtX2dx bmx4Cit6NyNzXzs4ZCtSbXFZdykkK3tGM0VBWmZFVWhfTEI3Sn5gYjRzQnduTDUrOzc9SmlZTnZv VCtPa1BnfUZkWmNXUyoKK3pxM1hTPjAmR1BkMXB8Wkx1PFk8R3U9cTZ1YD5tbyNoQ3MyJGAlbjNl PGVmI2dYUVlgWGJ7ODZ9d1ZZQnU1JChnfgoremVPeUxzRDRhZSVPVyg0SUs8KlAmYjkkfT9RaCp1 MVgqQUplMlJoKS0/b3g8PGlNYCRse3UxQjNPQ3hhYWVTeGRHCit6V3FvQEptTUFyQXh9KGh2KFRN VG1nYzNDaUE3K3RBTndXYHVDK1dAZVdGOEVuYUg+RTMkfSs+U25JJjFfMGBrT1IKK3pAUyY4TUdU dD5Sc34wekI0PEojVlUlJG54Vm1nZmg/dyRte0llViMrQnVRZE8xbEtRdnVqUzEpVEV1aXxHKmIo TworeiUtQkdiVF43azB6c2d5b0hhOHkyQENmS1RNPzdPdm53enk7VEExXnd3QmZkfTA9YDZrWnZN NHEhciZTb0RiOSU0Cit6MVY2SFg2VkpYcVkydjtPZXdgQ0okSUtXcmcpSHkhQFAyK2tzaG1UeDBx SUtIQ0piWl9McFkmfmolPjxtUTwxVEcKK3pyZUdlJlZaSzZ0ZDNQNTRgVkNUR14kJjQ7U3xfP1hO dzF8QVFZOSY8Ul5xMlQtSTc1QDdedDxhVHlRcmNLfVFTNgorekMtcSNZen0qfS1hOVMtK2Fway1r SWxsVnZLUSMkPExUWCp8Wnt1RzE2eSg4bkNpdi1HcFJNZkQpJThuVztyPDk+Cit6YWRGJjNGaSlB aDlOXjwqKj93Iyk2KWkhPXpoPShESn1xYyQmMGJiKjFCMSY4bERuWShYUF5CVDNDVW1waU91Z2gK K3okZG1XX3k5YW5Oamd3eGEmeXBJY2A7RiZTU3VaeXdwMTZwTWQmNTUlRWNaVXpnbmUoQCN4fllz eFVMVl5GRXE9SgorejxzfTsxWE9OandeKj1EYGhhaTVJNlAhNGg3Y2dGWHdgb2w2cldKJEFvSFY3 e1JyUXxVcUhady15YHxPUHJEOG9KCit6QjRpeHNhe29OSSR+T3tIKmxTdEkwP0RgcHVGKVllVksy OyZqMWhEIVI9SkF0YHZYbjJhPl8mO15Ye2VQK2hlR2QKK3pLe3kpeWEyK1RVZ3xBQ28pej89TFkr PWRSaHUzPmVTel5vWFVtO3RDVWhCJWFAelJPcyZ1NCsmcEs1X3AweHFwWgoreihaaSVMcWlpP3lD eH1aKllRREl8Pn5ZKGRiWEtTQFNua3QjaWJ+d0lxeVFrKlgwTjM5MHJPUk9QTTg/ZExaXlM5Cit6 N09ASG43RVpWTHhhdW17TWNwND0oSUQrYTxLS09pazUlRD02SFExNnskNXB5Z0lAQEtObkVxbztI MFc+PkE4KiUKK3olYiVETjBvR1J2ZXs9MUZqbiV3QG5uQmszeV5mJHM4fkFVaGdBSm9uYE4kP15e JHcoTz1kfWMmRGF9YmpYU2pFdQorekdtP1ckUSVwd3ptNGVSJDgoe2Ykdkk4cCRxaENWI2ZaZzQq YlRlZkErYi1KIUdOTzNaSF5Odk1QSTtGKjwzVHRPCit6UnV0LXBJIVErJTd4Ry1xPkljQiRlcHxY ZEM8YT5zREZSSXFKWlN8M3NmbCokbilSQCU1RnczUlF+QnBHNjAkczcKK3o5bzV9JHVQKWxTI2tJ aHsqQ0YqYDl0NWB5Kik1MyV4dCpZNC1kUDBMVTZ6MUhiNkdtQjhTeldqTUtCQTAkJVA/cgoremtY dFpLdENPbjZxI0pZRU1MYkZZbll+WkxHVk5fQjFXME9BNDN5NUdlQS1kazheZHpiaX1MeGE7LS1t WTdvOVlgCit6aDtwYm5zRTlXJTk8WWByYFVob1o1LXtfSDcyPDg7bjd8VTdkdUx7KD1iQChoZSEj cGQ2RyVIUkF5YE15R21xVi0KK3p3aGReb1ZMJntfITRyWXxWZl4kMUtsTXs9RzE5V2dpa3s1Rjh+ ZUxxODVvJH5ncm1xZmlZUkp0M3NyZV4qaW99dworemtWUVk+WkB2ITZkfjAheyFnbnZZT1BsREgz LS0yKHd1XmpKWkNwWDc/ZUQ1OXMrKWwjNUxaZSNjPDBqaFNyRUUmCit6VVgoVjNJPzZjfmx8SEUt UjAtOE1tSUFFakthUXhMP05OZG1Uc2swQTNfWTRiTEh0SG9aUTBxKU9MMzZncE1FYW8KK3p3NDlS ayR+WXMzaXUrZG5zXlVkQXshNCNTZEBjRTsyKm5SMz5HXjtyOWJWMHJzMHtIU28tJTUxOFpLPEVq KGlNfQorejNpQjhkTjJ7PzBRc0YxUnE4RlFkOSklJmxlUH1HYGNJbzd1TGBfMn1mJTV0bGhhLU40 SDJQI2tpVUEhPGE4VzV9Cit6SHhPcENYNk9TQCUtT0dtQHRncUVaQiNTMllUbDhNPl9qKTdjLUw9 dFk/SyVxPVAzc3pTenZKNXkwUmo5eXlpMkcKK3ooZlE3azI/Jk1yMDZhRXtzezhOKmpueGlvc15G WGFaTCtZVWFiQkRsOWZUbFclNSpwQiZTMzI1OCswZjBuTXJGKworemJ2MXFad1RGKyRkRkgkYSpg RTI+QjR8SzFlVVNlYDYpTEckQkt5ZmYtdjhKcE1TTFpOOUMmfSVSOSEtU0A8JCpQCit6KExqPEd7 TU5SQzJsWTx7KnMrOzNQQXJOO29+Kld5MHZ0M0pyOStSPXFSRkRtM3hQISFxZUU3dTFGVnQmOEQ1 S2YKK3pRMkIlVElHdSRlO3puWUFpfWkyNGZMJU16VFk0YjJZMGotVWgmQzIrKHtzemZ5ZypVNWJm XztaRHd6Nk1tN3FTcgoremMzUExISSpvU3glUTt6Q3UmeTVNRFNOb2A/Uzh5ZCFwdHg1NTw1JHx8 MT9adWIjSj4meyRTKH1pPzxgbjk/I35XCit6NnkjU3ViaVc7aGghNnZPTkA7d1RyYTVSPEVqZSsy O2c1JF9GcjRMeGAjYjVnUXR5V3Ule19MKVlAJG82ajxvK34KK3opRjlkRlNQQ312Y2JpIVpmXj08 VVkmN0p6aUJsTzlYNTQ9Mih+a2hkO0h3RkxPRU8kSkpiamZ3Jk99RTFYR1R1UQorejNSS1FIbnIh UWAlYjAldTxYYHV9UF5zTzEhSFUyZDlEc3dnc3FlSmFeSDR4QEZZMjd8ZitRWWJKZVdtczE0fkwp Cit6alA7R0dITT48TVNtUX1mNGQqUVY8Vl9xQCVWSD9HU1oyQVl3aGRjWjhiR3JVQVVmVGF2MSNJ PzxkfnJ1JTVjckIKK3pUSGIyaVMrSVlYaHI4V1U7SGI/SUF4WWd4UmgpTFFVPGMoMjJUcnNBZUtf NkpHRUVxZW87XmttVnZiSE0obH1meQorekxXQWcpKGBxKmMqbV81RE5tKjFxOTYlNVdYaX1YdFA2 az1pJmF2fktZcGlLZDFII0pXJl9qVGZCVk16TE9fMnttCit6MjFGVkI7bH15Km9PbDEpYCswXmh3 eWl8O2thMzJJe0t1KmRyTnFkKl90KmVDQHxIPmQzYlMtOFJmcX1HZjdiYTgKK3ojV01LaW1pV0N3 ZV9eKzxYcjdseEtLUCMhOyYlQjF8RjZMQUx5YEdeYERLamo+Tmh6VWEoMldeM2h5WkRsbks+Jgor ejFsdXsqYV9LaV5fLUxPO0w8MjFtaEE+aDg8TD9DRylEZj5tcUAkO0VXZX41d2FhKXNOJTdSRmVf d2tBKipEKCs2Cit6eFR4V1RxU1Y3NDg0TCVKPkRlZzslKmh+NU55R04kbnsjMkBTKVJCfURydl89 JEIhKndoe3lOQ0YwQ242P3ZPQHEKK3pHPnxmVT82fDR6TUQwUkJofCQqUTEyeiVHWmxocjtIZShH VUMzKFE/PzZSNmdVSWV7RHQtPlFYQTZKbUFuXnhxKQorenpQJXw1REtAUGxBYUdWTSFBbD5HeDtV U1BlQnllNVdke292MCRaJHFJO3V1K2xofmFXJCY5O2Y1fiMmQUh7WEkjCit6RzBDO2VnK3k5QnYk ZGpralMocExnNXl9UyswNj83U35fYmZCSUlqKnY8TmtUU2tLSz50RSV3KyttV2QyMjBtQEkKK3pG Zm1MSjNAIWttMFZxRERKSTNPKjwlc0lzaSZDOHlPPyFXdzxKcHBuSCt9K2ZhSjwmXkJBTDF3VVE2 I0h6eD1DUAoremB1PHlVaTtobzNeQlAremJCZE5+LWtwVUp3b05WQDlqbThoV0hoKWckQ3YpendS MDZ8aWRoT1lOYEJiJCE/Zk1aCit6ITVeT34xMG1pUXJnPkhQNDVEaFExQnZIQ0hJWD1qIU9ZOTcr aFBhP3BLcG5lc3ZmeGhZPlFaN3pgZ29HP0w5PGAKK3otQyk3QkF9M3hDSnN4fjYpLXMqKGd0MVE9 QTdEU2tvVUQoN1dOI28jdSNhSHE/fmZsYGtAN3JsaDFyYDE4ZW5ORworelVOP1hXQGtRSXxxRjdE bE5TQSR9ZlF0a2tBJlkjeGpifCQ4Mz9rME5gc1p3SDd7bE58S3RubDBMMHp6MDdlSSNDCit6P0xa ejRyPHE0WUNeck1pZFVHZ0Q8ZnYje05rT0l1cVYkOWEwYFFSPXJOXzk9YlY0JTM4Ji12aiZNaSZF dEBASEoKK3pJI0JiP0soVVRmOzBtdVY2RU9HSyVsNHEmZENJaWc5bmchZiZ2d19MaEokPmVQfWl1 VzhFKDdrJlQ7OVIzM3VeegoremFvSjthMytAay1OXjx8PmwoaUlHP3hUT2Itb148bWMjSyVOVUhs YTBjPWxRSyEyNlIhMW1uSCpAayRFLUd1NmhHCit6YS11a0RzJGNfKDczK0VBMHlGK2lnSWk3PSQq S0J7MU4mJCp7R1dHZW1zZjsrMFQyens1eEMqeyp2OE1LblRqVWsKK3p2QHhPQFZYeDs1RCNzdXtS dzY5X0VyeExEMTVQNlE8U1Z7WjhzITVXLXNLODVsQkc3Nl50YnJTOFdPM25ZVkNieQorenc5UGlo Zzs3NHJuNW5tQU8mU1cxZEhMMWo5enEwMj8md0Q5ZntLTzFvPjloTHtGPEtodWxPVWdNaGQ3ZStH c3xjCit6PilTUj12OHhiNVgxSC1JMTg1PzAoa2QtXnM4cD9LZ2kpOCs8P2JGOU9JWWVRdTNEO25i NVUwQkRHP1BAKXA2bTIKK3oma3dwUUZjQk84dT1tVmZwWlZLK15Pbm0xPGQxQEB6V1ROZCo5LV4x NylXOD96UmNWe2QmblNkbns8eWYlVz44dQorekomK3p1Rn5ldmlpKV5NdU9lJVdHVVMkXnE0bnIw VUVKbCopMWd1Nzk/aUo7Q0pueSt7cGlfZFlpU1dBYVc2QThACit6TzFFSHJlSXgqOz9hWEhudTRs YG0wY18qdjlQSDJ0R2dBcHRhaWRCeShWbTI5TlhGeX00eDVZdSpYPS0qbVI5RS0KK3ppV2BCcGct TGA4d2dxRDdRMWlIYUszYyVtRW8tKlZDYj05YHgwSnZHYUtLQSRqZn5EamhnTXlELWRTQyhjZk9s Rworejt1T1ooS0tge0Z6RENPQS11JktyTTxpQE9MNnBiPipyX3NxbVVycEE7U2s2MEFCPmlrKmMz OCVYcmtpaV59Y2ErCit6K0VtNyFAfnVsWTVkKWRPbzMrSF9aaGcjPVF+Xkd3TTg1fjtrXkBrM1Vu endsOChJMH45MV8tcm9lS1UlemdwJXgKK3pLSVc4al5fNnB7Rjc1YEE9eUVqNyo8VTJ7JWJMczRP T3FNMzQ0RWFHJDRHRyVTengyYURBQ0kpc147VE1fSXBLTworekphRUkmVkJAK313Q2lhV3lEP3dK WTdUTDg8cCYrNEFleHl8PT9yUzlWaEJTNzJlJiR2K1cxJShaR2gkQz1EcU5MCit6Sl4qMmw9KEIy WSpsUkpGdWNmcDN4cyNrT2EtfXNueWFCblohITVidUIxST9GSjQoIzUkUDUkcElrWEhqeD0ldF8K K3pHcEdpRnFrPytnSkNxaTczcCtrPFoyYTh2TikqLVRzdkRjPWc5YihXV3pee0wydUBmKU4xQTxQ Q35GI0dhaFdwXgoreiNhZFEoOXlxaW5UZW41S3NsRDZqejJsUEBMdXRzY0oraEBYQUlMPDVjIXMp REU9MnNlVX5UelNwNXFJRylnXyt4Cit6VUQ7dCFkPCZ1bzg0TFRqV3wzeGMhNzRvJSkwOWhwQXpA Q3kjQ3BMMzJmK1h2IXxKUnFzfFl3TlRERWE4SEZFOXMKK3pfOEN8d1VNcSpWUGleVX1TVEJBSGh7 RlNkJH1iQHR7SmZKciRQJEVxPF9NcC1CZU9Ve29qQ1NMa2stUFI1eEtrcgorekk7Pmt5N3EzM09I cDlrSVFxfkdLdjcqOUFRazJZREg9JjNVc2JLPkh0e0Z7OUIrdzdxfDNLJDxwWEUqQXI3bmBVCit6 RGc2flRfVWcrdVhucmVwV3x6Iz5uPEMtIXk+PWdnSExYZSVpOSRBX1YpOUpsc1klNDVMO1omeylB TUVhU1locEgKK3peMTs8KXpAUEEqdjB5KWBHY3teMWFJb0RGRT5UKnJhYVApMUZMdlYyLU1xMk4/ MyVMV0lKYj0hSXN3MiFEVWl6Xworej90VSg8VVpIITdsXlBHPjtHbVY/IzRuVmB4WVkpYkdpc2Yh N3FqUEpIKnlabmApZiNoMXJiQHtwVW1vbypNP29oCit6Plh7TCRVZSNmfTZeYzYld3YlZGBlaSFu bSpZIzdrZzBsO09oPjljJTdacTVWY0AlUEB4cGUmdzgkckR7bzw0NEEKK3ozQk1EfSVYNShqeGtJ S0hqXnx3bCkwcC04UDE9Y2VqeG1zaT9jSGdyQn13S0EzOzl5Z3hiZHcoUnY3Z0BtcX5sYgoreiNj fHNEYm42SGYkQTNRRGc4e0JSRHxuZ2I2cz1gVWBEY2BfY0pLaSE9dF5iZF4hbC07YXVpU0RZJT9D N2QqMEB+Cit6UDJQbWBZSk83JTsqRUVSMkRwV3pCXnAjekdxfENPZjszbChIY3prMioxSWJBUXRq ZD4lI1B5a0BgaE1kKSFHIVgKK3psQVRIdCVMeVdeY2FYPHcrT1B4dXtadUJVQkFMdUF7NStGMHI3 V3dZZD9PfGk9Vk80fTF1YylaKkNDKmBjQSpTKgorej94N3EmZV9yMTxyP2s+Y2M8cGVCUWVYaTN2 cz8kc3YwUD9mWWZGa0F4dmUraU15Z0RpSlpRI3RTLXM7cDJ7Mk5qCit6YTN8RF9VcVRzVHBUZjs1 QmMlOVlqWi1FSXZ8SXI2KXlaTUpAbz99bzYhS15NdTs3TCZMclRUXnY3bF8/ekN+QmoKK3pnb2xk M3ZPWWUqMG9LeDVoaHh6NCtTSjhyV2puaDEzdmsxKl9GVk9ZR2hDRHBHVjNwWDhTWmJIckBXaC1i KCNUVQorenBgZ3p1cV41NCZlTnxGSmpTVzthcCEpSVMpbEU1VXlJSHliaypZUn5mR0dLQVFMYD5W P2RIZlFiYk9EaEJNPmZiCit6ZTEkKERnWTMtT2lSXz5iVXJ1NE9qXyVeemx9YlYqR2lqSjFDeCZ5 MVhrdkJiQGNrbHY/Xm9qNiZQN0YrTDJUIWUKK3pxRDheQ2BwfXBGNSt+fmcrOCQ9LTUhSm5IIVNH KmU4dzxuKWd+RmJGIUdfWEJfPkI+UXlBajc4SXF7WCgkcFBVUworeiYjJHUyOXFMbHVUVj9mWkg4 YVdZOVohdzxTTTUmOVkxeTBUcmh3TEIzYFgxUSViZm1ZdERaTCk3QlpXXmlVaXF9Cit6MzJCeXcm I2FSYXpLI0dHLXUhIWg0VzZHQFFQUjthTDtFRGlYeT8pWV9SWFdgdHYpP2NCe29QI1FTK0gjSVom M2EKK3oqbiZ0cntiKnBfdFRwbCUobmdqNHhhQlBtKlEzVmpGTFF0eW0kZFo8OV9ra1V6KFFxLXR8 YTZ3VVRfSjFhcDNncQoremlCUypyU21tYVYmOVd+YzE2JCgoQWEoWXxWWHJPeGdkMU9oOHRyeHRP TSV9YCZPLVJVbTIqckVxXyk4c0JKVEY4Cit6OyRHWSN7QVFIT3gqUW5tZ0prKFokZzN4USRSc1ZC emN8Q0s0fk4wdV45aGAmPHgqIyljQndqZXc5JHh5bkp7QUIKK3pfczhJcz5qK3J7UVdBOHZeS2sq dEN+enB0SXMtK2c4Y3hFRE4xZ01wKndvMVpeIWpiNTNHNFZMPmhAPUt6fGshWAorekVVQENOLWtI TVZ6PXAqJWoqPC1GSkF3b2xuJUxFTU9hUUohciY1d2JtaHR1bD9IZFZDNTlfdSt4b1M1TDU2JHZ3 Cit6VEZgMHZmakZ+WGROV1ZIVWw2STgxZiU3NUNadU9ZRWwjcTBUMFRYYldLMkcoY2t8PDVkWWNX X2wzPXpAd0lZPmMKK3pFYDw9cnItIyhZdCpfZXBvYUdQPD9Jeks/VlUoOzJnNEJmM3B9diVGZn0+ ZEhZOHFxZkdadVZhMGRUK3BqR28kSgorenp6UE5OQHEqdWlUTXpSPUttVj5YeDZAOSlDTjA7QCFa a0d8VUhoaz1uV0c7RWB0JTFAdGRIVkVeaGU2TWJCV0tnCit6RXNWZ0clVWlzYGJiQHtvSHZgV0xP QHlFSUlne2pFaksjantLV1BiJV5uQHB0c2ZLPEcrIzNyKnYyUlJLX1pTSzAKK3o0eG42TGRUPEkp UXlPZVl7TXRFbypUNz9XYCFgaSlsfjh3YnUkSkZYMyt0VG1GeFokRSFUYSRGSzZYPmYlJVVScgor ejZMWGdnO05gWm81JG1pT19IfTFVeFpTUThIRURPPCtfIW8reW5PdkN4S3xGPTBmVnpQdmheIV9O SlJwOGpBKCtxCit6O1piSitoTTdmdktpaSh3K31Idk1rJVl4SkxwYVF+Ql55KlJUK1NEU2ZiWm5t eEpRYnVrKE56MzVBdTstaiNhNCsKK3oxRl5ATXYjdWY5PlMkfmUxN01CdFdtZURFKytzSkRVdnpJ fSppKiktSCUmezU2VSVDQlQ2M2JTWnxOJlQ7WjAoNQorejBpKTElQGBxZWs9WTQ4USNhQ3JaZEt6 cDhHY0BKSzQjN2F+cD11fGxTfjVHckUhd3Q4WX1MP0l1YFc2LVc+PUZzCit6Kzd9fD1UUTNKa0ZU U3VCcEBpbGs1cVV6dG1zOEBObWVmVF4kSWgxT05qQWorI1VNSmZCZW5QXnF9SXZiMj1ZczEKK3pB WXdIJkNFSlk3LTBucHRIcTdiX3Joc0Z5biRxOEM0T1M7PSlLbkh2THtxQTlvOUEtQlNrcnlWWmlq ayZPUjQ2KQorem9GQFBEIT95QXIrQjdAdGBrfnlaUk13T0U2RjJoRCgrJHtrYnFEJDJ1fFM/Z21N eHQwZFdFazlEZ3R6dXR2I05yCit6NSlYcF9ASGB6N3I+MXRZNmZiTz1QKShpfV5vJXROQCFLXj8r M3xmckl9azFfVjdDP15sZHZEO3MqXnN2bGp+fmoKK3phVGozc0x0XmAlWVR8U1FzOT8jeTtHNnJ4 eUYjUHdaZng7UnAqRnYxKGN2fmdMcTNTaUtQQXUpTW5RaUI0c2J7fAorekt6TWRFYzJqc1dwbGRR TVkzZnN5WVRfTjc0dl5AJHkwPSNeKHpJV1N2Ukp5Pm16OzVCUkk8cTAxRjd7dG5FdE41Cit6KnUh KWNQQ3B9K2JiJWVkWnthSjxxZzV9P0JEbWYySXN2X0FsN095ey03YEBAWVRQUXBUREtwYmc+OEh3 PzxSflMKK3pReTtgJnd1anJJa1c2Y1U/Z3xiUDZ9Yi05cX5zaiVuTDc7UUZLOW1fTG5AM2xGPX5K WlJXP2pMNy08WXVgK2EmNgoreiV5PW9lPiFKUDVpSCpUWkdKPl5Wb1l+TEdGQlRXQE5uRWc7LTJx eiNrVyFDfUs7dGpPOzJQV3pjZmohMmI/QXxICit6bjxWSHU4OGAqNWt9aWskM2g4a2s4VF8zYC10 c2gpQ0NGTkhvXlB1eU5FTzxlKjdnaj9DfHlMNTxVeDRGZHg3X3IKK3okfmlBaDdzbUNjcURqVURn e05GVTchMUcrNUdQZSg7ZlkoS1V4fDtiZ1hDdE1fOWVZa3lqaHdmYDsmRHBWUFdlOworelRXMVRQ OEh7LWNOS3A7bCo2SmVTMEl6aG1tLXl5VXlJOD53T3V5ejc0ZVJZeCQhYlRnX1Bofm9MVH0qcW9A Mjg9Cit6PTtkTFhROW8ldShPOFBTdzdCWjxqcE5GYHIoRyZGcCYhWSVOJH0qNVMtTlYxOHlIfDRn YDlhfjE3eDRzdUNRZkoKK3plbFUhVU92NTcpPXAtTigzTCpnUz89MXMxV1dxJSpIKGJ1MmJMYERo NilZPU48Nz84fDF5QWZ3QzxDPDdAXz1jWAorem1gVU97KVJBVGw3UjhrNDtvREhYViVjcn1qTHpf czZHUyUzbXttS0BjbSoqdm4jUWlpKF5JaGxQMld8I3V+N01VCit6dEM5OVI3T1FFNk0qJUBPcClX fWVQdTFVR0g+NlhRM0gjdXVZKDB2UUZnRDtnek18UCtLZVFLeXk9X2RMeHltdCoKK3ooeTNQOGI/ cXZ5MEZVaSpQS2B5dUpNY1p9Q2RKJXtEbHIyP1JJKFR4a1gtfUVHK1RqYXctaSpaIUkldj53TzBJ UAorem0mZExyOXwpTihMflZ4allPJWQpWXh8Rm47X15NfmFxcjk3MHQqJUl1dFJJUiQ8MmQ4bm1l MGc+XmpFKlZVSGRzCit6ekc3fTwjcShqZE4kcDJ1MShQckc0V04+VV9zV0NuMkooc0NJQC1VdCNA fGZ+a0p8Y2V5T21OQ19iR3gpeENGfnIKK3pmdnljfEp4K3F7VWhfJnh3fCM5cE9ZJCUjc0JgPCh8 QlU0RjsxbDBBV3NveENiQEZpQygjZmV8bytURDQydURSPgoreklXdj40P2lfanVhck5qLTJsVjIj Qj5IKXxscSRkV0RfNlApUExsaG9GQ25Dc1pma3s/VDxQWEkzfEZfIT53QzQrCit6STN8dnl0QUhI Vlp1YWhCVHlNMXlLN3h9UiVabm87RShpdlc5anxEY245eCZxOD45MGxEQ25ndlJvNUl6SlYkUloK K3ppOVljIWBJZjlveU9edlVCaXBvJTthOVVKK2RSP1QyUGlec2dCOyNVU0RuMnhBKzUoSSFFKDsj JnhucTFZJE45RQorelFYWWtQI2xASlNCWTB+UzAla248a3pEdlo0YUFXVDw5RDFXP0BTTiUjNVRD QF5YMjNmS1BtYXxCRGh9O0xrOCZICit6KCp6Nzw+ekt7SUI8Uip5SWpoNWNRYSZ0QmZLNSNBK257 YW5SZT4yQWNnemtyVXx3RzV2Iz98UWI5PHstYld8a3QKK3p2ckJGUnlJKVk+R3hOSlgkSClENz1V TVc9e0ZwZWB7KEpjNHFmVCRxTnt8T0Z4eV81WXEzRmplcCglMUYpM0tgNgorenJoOy1MRTsySl4t P3FmKSpsTHhyLUN4NVp3K1IybVprZCszTnd1NUEmWTt2MSFqcEVNPjdqMF50dXRIdjlJeH4xCit6 PTl1OFlAbSFeJks3VUFKdz1AMGZYekhTYUVyI1IjaWw0YmtYZit6YyhAK29+UWNHfk0tUiZ+PUZj bGAlWl9rSUAKK3o/RzxOZGQkRktycE1eTmhVVlktRyNYaSozUD5XbGNuZHd4e2xCJUU3cUVeP1VK c1pEajlGY21lKXJhIyM5O2AqOAorektlTzgqM29ZNyQ/QFgwUUtMZH58aWw2OSRUNU9sTjR+YXxm N04ydWZ5SmhffSlBI1FPa1dUIXRsalZ4QHt8PiUtCit6aGI+SXIjYEsrR0tTTkUmM0g+Pj1JQX1A Xm9SZDlCaW1oSVpFZyluMUR9T3UmbFJfMWJ1emRUZXFLJH1LRWp9RiYKK3pXTDA0aSkkUzclUSUm SldBeHpLeHN4MVpvOVdrUk5xT1d6Vz56bGZoKVNHdT1kdG9uZDdRQmgqdzJuKShLNTBwXgorekol bjdHP2l3e20/S1BUc3lqeHRmZz1QY0pOdW5OfUdCZEElME5CPiFaKitNMyNxZDdINXBSWnAmaGFf eD5pZz56Cit6eUVjaUlCaE82amluUSlrKSthSXZNfHptNT9JPnpXZGtARndSZjFnZHd5fWlGJjQr UksrIWxDKjg4X2tROGtXO0UKK3psTWBTJU80Z2NUcy04djJZTSpBMk5vN0d2ZzN5emNmNUZwS2dU bEl+K1daM3I+fEdzMkFeaD1sckM2KGJCMGIxcgorelc1UyV2YiNCKlpNVCNjYHNJJWMrRjVHUD1R OGVlNiRvVlVhbkpyUSMhamAlZUltSFVJK1M9QFlJJlBYTGlKNDIkCit6MnV5RnszWG5yXm9hWlBY P3VDSExeR2BRcDdQKSokZztTS3g+cklHJThtQ2E/OFleNC1IZ2h1WUs5KXVaezY8KksKK3ohRCQ3 KFF3TWZHZUZtOFJTMGV6RF9pPllxMHlnNjBYIykxKUVsdTFkRmMrX3I2R2VeOSlWeztQbWNlVGwz QytgfQoremIkfVd4bX1hVnBgIXB7ZjxNaWNWP1kmN3lpPWJ3ez1oTXA8ZUohMnRfeG48X3tLPGlF YGEpeERYZWdnQnZjJUoyCit6KWxkOXU/QXNwQXJefENidXArTmk/fmUpfF8kdHcjYng3VDgwbUUh RlJFM1NrNEtnQyFIb3laOFBoJTJhbTJ7Y0wKK3paT1BscCl6cG97MSZmYVkrZjZZRk5kcSVtSEQ2 aF9ZQW5qcEk1VTlKckNQTn5KTVp+UyZDbFhQezQtV3huJkRgJgorelJsS0h8U1I9aGZFU0RMQUxv bVpEZXY2Tn1gIUhzSXhoQXlxZjEkNmEhaH1AKnRJR1BsIXoqalpTPjYkZDt9am9vCit6K2pjdEBP Uk1+NUU9IzQrdUlXeD5aV21kOVlyITdOQHU2e3FqTDtqYkpNfjlXK0l2KVczY3xldTlLMVVUPG9m KCUKK3oyWUUxNig4TD5vYVklNCp0bVFLJllAJTFaUEFDSXdEfTg3PGs5ZE4rQEwjSWUjNztQJTBn a29fMT42SzAwQXpCaAorenJQdHYwZ01gK3MrYHFBVz0pJDVie2ZsbG4taUJ1MkImOD1pNT1uM0Y5 WkFBa3tuWmEyRWVFTGBzYUZaTyZnUm1jCit6VkEqZHdAWncwVGVLPkw/VVcxfW0/d2VCUThDejZ7 MCFyWmEyZW14JkFEQmhTWH44NyRweEY+IUwkbEtiZ1dkc1gKK3piXlV4TyNoVzJfMVEqQFpHbyg3 X0J9ckl8P3k/eWY+Vks+MUt2djYqaDFVWXhtZyMjOEgoaHQ8O2hJfjdoRmBhdQorelVHWTBBRFA4 JXI/YFF5d2w9YGp6O216OFkpfT4xPSUqMWx2UmQ2fnxxdmdhekZmYV9WK2BqKCZoK0U9JDlrVXpV Cit6RzN0X2ZRUG1tcXY5akRGdGBtTlFOSSRPVjd4Rj9XVVI4RVBYRFYjcUxwV3AmLUpSN2cmcGVt dG42VFhvVD9wR1YKK3pTMHU5MnhrfSQhOTVmIVhkOUA5QXdYKT90T0Z4SjxpfTRfMlNJcStDWU4z Iz5mPFNQZ1AxO0JGZTEjK141VjNJPAorenlYQTQ5a1d4cDV4MVZlVW16OzkzVlVSK1NZPHRZJCZ0 fWVAaG1yQ2xtbFdzdGgwcD9nZXVKPCh2NmljbjJsY0J0Cit6QXJeTCQkfVcjdDRWM351OFhSMGNr ZWNHZTQ5ZmpOYjwmcFF4akQyPSNjaFlJbTZ+TWtyZT5ebnAoMzkwMGVqRSYKK3o7N3FLSD15O0xT Tl48dkRpK1lVSnU+I2JVUjZCQ2VwNkAhPlFed1dKLVcxZSQ1bWZebStifFRyYU55UEc0dTAjLQor ej4yWGtgUGxDb1R1IXpyOW9uXil8a0ZqaF9RO3M2TGJaI3dLWTA5cEVuQmtfc3RydmtPRys7Rm05 I3U7NVVHZ25ICit6cVRSR0BJKjV7WClSX3VzPUlWXzAoMElacz1xSkRRKXdeOGVnJHN4fSpMWihv WjAhbXtYc0VVNiV7ZihhLVJgSG8KK3ptQnpudGFkWHwkbUpiajF3Pn5pPVJBNXRzXjV5P0pGQ004 eUh0NUpsVEZscGszaG9scUJmSXwkKGZvVVp6VFdSSQorejJnfUY0KGJzdzIjYVIzLU5aajRYcWk8 UGRgYStsREctMWpGQTMmfTA4KjQ8JEclVWhEdXhxLWxSdEliM2JWen1UCit6N1dtaSVteyNFSDJx UWIwa0NuRmRrdDlAQXhHOzB4aipCUjNnUHFnN3VteHFucihfUUFMO05uRjwoX3VuJUc0VkIKK3pZ KiM9PXpIenU/bGxXOT4/fCopQVd6Y3t9WisxeW54bXtHKzZhKkljZDtCWCsqRCRNRkpHcHZpYTk3 ZTNVQjlQbgorejU8ZktTOStBRFIqRCRNXntgeHhKcEJVZSFudk05fU8lYDBlLXtfNSh6cUp7SUNl eXJNd09GQEtwTzI1ai10VFVFCit6TnBaVXNSNlBVe29SeUozSTx4WT5VbmxOPCtiNXNPYDxWODtF IXlVT3trLVpPSj9fIyFtZ0BQdWdXJiglemVldVgKK3p7eHFyb20/UVJfYERXWF5qXyFXeyNMQU9C PD9AcHgpPTQyWDNOdjJEQWJpdFhYZDVGdzg5Y1VRRj1YJWRjemo+SworelNNcm5oSnoyUD9LS0FQ I1U5c0Fpc3kwR2E5aEgjSmhpT0JSK0Fhc0BLbityZlREczs2UDVLPlI/WUNHSWAqKEtaCit6TjAx ZXV0Sk4oaD9Oc3x6KjtEcXNOYTdadGpucjY0VCRINms0cntIJGxrJjdYXldZPGV0LTd2QUFMKCFf b0lNbTIKK3orbEswOT1mT0tLe3RlTWo8TmAmWjhxZVZvaH11YF94cDR8VmpNVEl4PUVeLVZge2tH aihhYEI5aDFLdiRNYzN4fgoremlNbF8kOSVpVGllTFQyMGp6cz5yZW1JenxvJDIqX0N2d3QtWUJQ P3JYeGg3TS05MmNZdGJEQSpyKXh+U3g/WX5fCit6Xl4maSg5OG10JWFhK2dAQFJYVDF0Um1+YmJ7 JmVRejU0fD8yQGd6ciQ+ZVI+OTZNcCFibmUtMmIkUz1scWt4O2oKK3o7aG8pQ28xP2JBZWJue1JS dEBlWjQ3e1ohKkk9VUckWE0qKldUYiVySEBzMWxqS0ZGRihWbGI3VnRjSFl3dlFodgorejkhbmlJ YSg+dz56aH1GQGY3O3l6ZVFFP31nXyZ5fTY7cSZhOEB4NG5sRGpJQDtKJGwjO2Bhdk5FZn0wTCo2 Ul5KCit6OXxVdn4oVE9LfVRrakMxT1FEPnZ1V1AkfV5uPW08RzkkM2FEKTsyVTtoRypfeWtoKl81 Zjk2ckhPdipYPEVDcGwKK3p5P0QtS3JgT3t0Si0jfGtzQlc4am8lSlBifDE5Um1OJkV9dHFJMUxI IVEzeUIpUzJrTk1leTRON3FQVlc8MUMxTgorelpDam1lV3hzVTE8KzhqWU1XSDwjTUU5I3JwVnds JD0wTUptaztZQTRhTGlEV015WldWVShJd196XyVLUi0yR2c5Cit6aWw8bypmdntWeXswITYhdChI QWt0dmdEeFE+elA1I08oJTwlQS0zdHQ9cGEkZ2FRUGpHbUk8WWZ9VEtrTWhBN0YKK3plR3IlbDNr NjN7JVdRTzhQRzNQYHQoVD5KNlM9dDh2fj1WVU4pNyYoRXR6OTJzazFxVD52MShZIzxsT0pDbmBX PQorekVscVY2T2FOSiRFZT18KFhmY1hwZTtuNU97IWQ5VDQ9PSZNTWsqZjFgZHpUUnsyZyFWK1hG JWBVfUxWMlNPOy1YCit6d3E+fnB3SSYqRCREbXtnS19QUy1wdkI5LVpKfj5fSD1pJCpTP05nI2VP PjlNPjV3N2VyKyFheiEwUz16VGVQMDYKK3pNXmk5ZSFiS1gwKzt3PnI8cEJeWnBELUxudC1Neng0 em5nQmI1fUhDS15FfEs1N0hZfV9uZFpValYyKmtuPSVYeworejNpNVgweDtYdT0kIXl2ZXRjVXV9 Uj9LZ0c5eFB9cSFvZzU1T2A8MnUkRzVoSSkxNFFtZDhvI155RlF7RSpQP2VMCit6T0lQdnsjbF5B fHVnX3RvRHYwNVVmdEJIV15uNj5ieUdLfDxqaEgqODF1eSUtYWUtNmpJNX01U20qS1BiZmhGP28K K3ooKGk0Y3spMXZCaU1HdW9VP0B9NV5qJjc0ZGxfO0k+Q20/TD94O1c9SmRrKWh6ezJIYmFEJE4z SkRKSDBPeD10SQorejkrK0V0SjUoUThjJmpSPnZ2MygzWUUwYVNzN2A5TXJ1OUFtd0Y9fU8zPjsr fTsyd1cjRCFQJllHYHtNYyZ2KHVtCit6S0M+b3d4SGFNRm4wUn0hVEtYTSVHeHRRfUthTmZ8bTls QDlzYDEyRlI4YzN8KXswfFk9cjQtJUlaSGQ+WEZrS2UKK3pgMzhjWSZTRXszayZsQWNhfmpXJDJm SkgmRXFGVSNxKzY9fT9obGF5RXI9bmYqUk9oRUhwTWNBfEtYeE1Vdy1AMAorek5SO2shT0dKUipZ NTVzfm0zaXh0eWNBaUchJU84NjxhNnV4I2Q3NnNIPlc/fEI3SE07TSlQZS1uTm5OWno5bDNlCit6 akN4VVleSz4/SE9qfVJUY20/RSZKN1F6UktmIUpPUlpvcnI7bnskMFBOc0FYZV5ie0UjbGAzVWBG TWt8UzJ8WW4KK3poRjFnLXtRbVJzSiRQUDNZR3U2bHhvPk4ycEpDX3o9JSQrPHBAUUNqN3ooTXV4 YjtIViFBSkJvWj02azE8R0xvQAorem9YSVR6e2hFKUgtSU9LVjRnTEd4cD9Kc2ZTbGRufj5LKUxO IyZsVn4tajUyK2NZTylkIU5qWXQ7IUMlMmlTeX5pCit6T0NRYD5se0NJZjZiOSg7MnYlS1doKW5Y IT5YXyQ8JTZuWipKajEkWm18Z3s4ak9ncig/PkpiK1NwcGhoXipPa0UKK3pyIV9wMyRQSlVvKkwm ZDAhVClgfituUS1GWk9xTkpCdFlUYjROI0c1eXA2WGVNIzFVPjl1QnNOdko9fVUzJTJKWQoreihR IUk4ZnBybSQ0fXtFOFY2bHJgVTZ0RUl0SV88VWdZd19EeGB6P3szNnZrLTV0dk4+Jk02YjF2ZUIo fiNGRTJrCit6TnFlPU9YfGZ5RUsxfElBWHgmP2ZVWEFscnFVJH0pJjBFaGRfRn0qdl5TdWs8KGZx JWkhblk3UXZsMSl3fEs/YjsKK3pjfFhxMlhKZ05aSjBJWV48aFBve3B4I19LdW5aeUAwVE5HYyFr VVA/STNIJFh4JXwmQFp7VSlwZF9SdXpwekEkOworejNEIUFEOEI9bF8oflpHUipBd01TZz96cnxX S19MIVotZzg3djEqV05jKUkmemhnezJLXzhTODFPRkpmNy1YUUN2Cit6PXwjWU9MUlRFVDgyam1J NlAoWTVAPW5DbjYmengqdTUpVWplRnV1Y1Z6PVVrQn0+TVlmbikhRVVeN2V+OyhVKjIKK3pabHZr WklHalhhVmQqOzhlV1A3bXlMJnw5KVhhWEtrREVUdnt3UDl2S2JNdzFuUCteeDttLXdlc2gha1km Y21gcworemtPNWdocU0+RkxNKnVKRHU1bGFjZ3szVGU3bHdaUCNSeVhHYSlzfk9jbXhBQD8oTlVD LWk1JTdAckt8Zyp1OHZqCit6alFqbGsmdGhmUXppUTw+YlkpYyFEZ2J+bTl7PlJTZjNSUnEyOUIy aFRkWnZRfEJJRT8rP018P15wQFJrWUJIJDAKK3owX3x8UVRPWT90bkAtNl8qY1ImbUdFc1gyajBG aUNqVk1hUjxHN1MlZzRmcEYjfC1waHF0M3xaUCFTXjJuSm11UgorelJJJFNPO1pBR3c8cj5QNWk4 NXk7Kk4mPntpPFkteVIqVXJCI1RURlFtRTshSFole1Ihdjx7WiVqazFBMHE7MXd9Cit6bTJUR0hp O1BIYUMyVGglV294Kkt6LStjJmpEQUEmJSREezNsa1kjdG8hKk5zYj9hQzZwVFM8Q08wT297P1h9 elgKK3p3cENWPmAkR2xoK2ozZmI5cTNgVD9wSXJ4cihZXyVIX24jUHlVI2tGdEc2PVN2TVE/PTg+ KVVzMSt+ek5ucUF+TAorekRtRGxYS1BTR3c5XlV6VHYzXk99PUE5K3dSbHR3cD9Sdl94LWxrVHIy Ml9AT3R1MFkjKVlnZ0o9Oy1wYiVVWFM8Cit6UmtGbnklYnNuVzdTbmhOYEp0ey16eTtwVSU5VD45 dU5RKTktRzl+dFJWSSZUV3Z4PnRDNEtINkZOWSY8Xj9ZNzAKK3pWe2V6Vl5eSzRMcmwqOFBqSzc9 KSUhdFZFZW94Mk44JTxYeGNydSlLJnJ2MFNBSz13PlR+eThVYkEtcn1HYWFmcworejhfRkwrRXxp e2NvK0RSUkN0TSkjTlhEPzdlZl9mZ0V+OVUjMFVFJiZzJXVLQEYyS3xtUz9qOSZqaChwdl48ckM5 Cit6dj0qYGFPRH08cmd1RWxlaj5hKU5EbCE2ck9KN1F8SDRKSTxpZlljVlpeRGNedG89c2Q/Rnlg Mj4+aXswZk4pJXUKK3pqMn05K2pYUTJMaEsrWERrWmVPWjdMWXFaPCFxP0RPPnUkdmR3cEtObzRH S0lUUlErcSY+fmd6UjBhNHQpc004NAorenVGdHtSSihpPVpIKHFKfFNUY0ppbVl1fkF7NG5aRHQw cnlnJEV3UU5sc3V3KkRAITsrWUAydHxJVWwlcTdGNWRqCit6M20mYklheks7N0JRdntzViRgNmlQ dn1gOFkoWTQ+RlRacCkjY2w2WmYlZ2JsMkZhdFpMKFlKZnl0UCl3P1RJMn4KK3pydTFPeVkrPClW ezJ5b0lzV18yPGhwPkpsKn1qJG4+RWR4SUdvRGNzIXA1cHFPeyk3TCUzRDlKSFRiQyp7PC1SfQor eiNgI1liPWlDQ1ZmYzBsbSM4eXdHRy12PiheP3JkakdOcWswKF94U25IMXMyUF9CQHoze2ZASj8y a2UxNV4yXlg8Cit6LTFqSVhsfFZ7PTY0UWZqVThEa2gqMEFFbD4odWckSGNNJiZvPnxqai1MTTNh eiQjI3xMPS02TjlMaUVKT0RZN2kKK3p7cjc+aiF+ZX5UUWd7PExmWlFHX2VSTVFJeURufHZWJnd5 I0pWQSpiT0k2VipiWWx4WjFWQUYzamg5cWFmTVNlUgorelhhXyFwek9xNSpmO1lKY01TO29qIVBV ZXwoZG0rVkMoeDBEVysjZUo9azB+WSZTJlFZOyM1NE47cEF5MWleNzUjCit6K3ZUSENoV2AlQ1dO cyNJNSo0NUlHU193QFZSUT5mZntTeWklQCFFP0I5OD5Ka3tBT1h1MDMxUmxIbWkrdFdvNEwKK3p0 WGAmV1ckQHxFVyFRPXkjT3xFcmZ5OHgocWJTSGxrYm8tNDgre1FxWHRZPWs4O0tHR1YxIzQkQGpu JkVNK0dragorejshPUl5VF4kLUYxdjE8XnJSSHhPLURXbi05QmUwIUJrYXp2b14zOUxuI3ltKTtg ZTtMTVN9fSRYMnNsfXlhQW5FCit6JUd2SVAwYShiYDleanQxbmlpPTklMCNyWmIwZStpT3VoNFpP Vj84R2pSVDJrYD53QVIpdTYkb1M3NWAwdV5+V0AKK3pyQ1dmQ1Nwckw9VTYkRE9VflMjeUVPIWUl cmkjeHNzQTFibDhYYDshTHIyYn5IZFlka0pBaz1Gdj5jVmU8JVFAbworejA1VyVpZ0dmQyszLW0z R2AyXytJb1Y/O2V0bUM0KHNqZ3xZS25jfSpJUzdIVXQ7OWdRVURGYFdSbGw3UWRPNyYmCit6YUlj fFJQc3sxPDtmcT02MmNsIT1sZl9kJVFwZl83YFdvdT5gOFlJQ2Q7aTUtSEd2bC1VSGReJkh9MHxC RWNxdDYKK3puZmpFZFlUMi1uMmZaKSUwSCpRaG1gckYkUCRMKlg4bmclbWdzRnEyS15ja0B0P0BC KXQldkN7PVlsIShUTlFeYAorempqbVpRPUBPMygyTVcxQ2Q+JCFLNWA8YW08X3ZmZ3s4SUBkTWxG aSRmNXx7RUsoRTllPlF6UzUjJXMxSTsqSDJfCit6QEZDaE5kakR3UTFQTXJwPEtacnVwRCRiVTg+ YCM4X2oxRGtgY0RNXjE0YkRRZkYpcTEmTXFiTiEtRlErckRKWk4KK3o3fTctfCt7UWpAUSVaLVFS dXNpKDlvWjVwNlhyZnQxVDUzdzUqZzJOcnA5Z0BgTnp8ZlVCd2p1PytUQGFCNzElfgorekBlan5V YThXZyNmMWhUeHw0dG4ybiROSm9UZnNXYjYxUmtAZ2N3ZW9HUGhaIVVMcyh+T28wTDM1Z20mcE99 X0UhCit6bTFHVnE8dEhaaSkzQ05UcnhCJl9TSkxaVmJuWVltSU4re2Q9JVhoaEhiRWw8Syk1Jm5X NW1gN0pxUjM4anhjbEoKK3pTdkFuKC1tWHFYPkpae3NnQTJ4djNNclErJmBrbHctS0ghd1dfSD5G UUxqWHFTR24jbkxhT2tRUHh9aCUqYzUzUgorekFjUjs8NXZDXlVGOz1wRXlHWmpHKjx8c0N6bzg5 TyUmRFF3aj9oNzVkM2FzYF9PamVtJV96OUB0ZilmNXRfWWl8Cit6cGI3M21FOW50X0dnanR5NHxt TSlKLVNeI1FXWXxKRHZDT0FQbnpyRERGbExrbzteSEJYQlY7K3RDWEUlOFRxPmcKK3o3cnpSPnBM UEcxMWtOQ2dSVVpybWxqRjtyZHpLbHJiby0qb1QkWGtGZk1LMDdnVjsqVXtmJUJlSCEjd3ooez5f aAoreiNpYU9pQHBZQ1BzOVBUYFZpY3RxRX4laEpKUi1RYSRicjglKjxSc0ZvaC03RWN2OF5NYmY4 Y2M9XnBfQDFXY2ZxCit6aVNuZDRacj9+dkhveyREWlVAKT1KWCEjcEsxcDduP3d+fEg5dHR5NTl2 ejBsKDxYOXErSE4+fHtJWGpRJUxxYHUKK3pQKiEkWUVJVmthQ2wxMlNrMSYkOWQjekhLO25OOGVr KTBoZkgoSDZNNkIydDNXd3xsQiFAJnxMVkMjZm5fcWg2VAoremw2ekU3USVQQHxUZk4qaTFDNChn PTdKTT9YcXN5LUZTUHpKV2xzaDRxdVU3SyRBPSV8bGpOV0dWZDxxTC1rMmw0Cit6eTtHVkcwaXp2 TD4qRnc7NFk9K3RSc090SDx1dlU7ZD5BcXZuPlFuckk5ZUgwMkBtQSRJflRMPEZZaShWVkZzSnIK K3o4U31MKihlIUMmOGc1MXcoLUF7cVA2Kil+czwxbnZ2b2Qtc1dRQj90MGpAZ1VXWmhsSV5EYEMk IV5KJXp7d1h2OAorenFYfHxeRyVeMV5Yb2p1KnUlU1YqX0FII04yZSRGJmYtVWYwaVZ5K2FoIU1U UVFyby1DSFM/QVlyST4odDlBYn5TCit6NHZxWClrfEtYY2kxIXlHKCE0Nyk7dlFXe0lwSFJoUG47 P2FrdjI/R1IkKVBpTnU9RXR6bzh9ak9oPFQ1RUUzSiMKK3olIzJ8MjFIUEoyWmokeT5UZldjSGlh Jld8IStKVW0mbjdyS3Y5X2VHO3RwXlBIO3JATXQhTDl5cno+Z1hARyo5YAoremFffTZJZ1NqNlk2 LVF+diQkfS1JMH11fWAjWlZBMXstYjd9Yk0qa0cxcjMhNjJadDtIQXFLWks/cy1VbW83bnNTCit6 Y0l5c1cpamMmSlR1QFl0JWc1YXEjaFQ8RG5SKkkkdWokaWk1Kz1zaTlxdDdMdmhYbl4zZ3JWQUJa bFReNmxFeyoKK3oyQ1NVZEVHbUFRdmkrOU01YiZNU1M0UXZQbzF2S2VVJW8oKG90RGJ9TUdTKUA9 VzhBWklFKHo4c3IpelA3S3kmSgoremB+IVJOJEtiNz5vdVVzUkFiQXQhQikmIWNfbzs+ITZ2VktR PWN8aTNARCZCd3l5N2puWl9Vfnl0WXBRVHVOaVh+Cit6TSM2R3NvU21tOyEkN0o5dDAtPyQ5TFlg NUNhNSglRXYkU1FtaVooVnsoPXJ7RU9PY3BvcjI4UFZ1ZEI5NW8rVlkKK3pBZWh3OF5zWEN0YEN3 QFdLNkgrKVRVSi1ua3lIYVhqSEckXl5FTXBvUjIjSXVEfDFNfmc1Syt2MHh0QWtwNmt9dQorekw4 Nk1rcCZgbDhAeHVeWno9VHk9ankrQ3QwViFaZWJaYzd0KFlCYHlHfU0lV1lkfnVCT0NFX3E8JXY0 enEhMjImCit6M1N7QihqR0Y2cD9+NEEqPyVUaDRjRXhWcFpnX1pmNTF2e3tKcntxI0w3YWBlSj53 RVJFQ259RT13YWojYHJIQzIKK3o5VyNSeTYkJiolSml2SEhBS3lIUU08QHclYzh+amE7SFI2dXo2 JDBLJlZDQiM+OTdJZEtwK0EzV0Z+ZWs+dnp0cQoremlJYFpPT3pPeDBvQWNNcXhxS2tMM3IyQitV U3tBPnZLKElIcSU9QTRsX3ZrOHZlTDIkT0JjOWxUY1dANW8zb3omCit6SGc1XjtlODQzMSQpMkdv IWwhSmtGfWt2akhXTlMrWnAqTzt2PitifD9zTFpsXm9fZSVsd3dPaWxePCpHWW5reWIKK3o/NFo+ P0dYJDY8SVR3STVwOG1oWTwmdUNYI1ZQTUxrI05vPT87e35eaiE9P0lwRyswb1FpZSlOT0oyVnU0 NVg2fgorelNnUHtvQVd0S2l6dy1kTUVOUX4+WF5qYGRiR2pMREd0UT5fVUxUeTZgdTw8ckRCQUtP KGRpWmc/e0k/QEI9OUVxCit6dzVDeGFraD96fFFaKGBzRkR4OWNgayY+ck9lemlJT0xpPFRnXmh5 TTxLTXxmeEB7cmN4cyYjJSpAVGVqTDZ7fWkKK3o0Vz4jejVzKFU7QDY1VzRNQGFnZV5tQkhGKjFZ QkdNY3h+XlBMYXY8UmNBbyhJek58T3R6MVhud0hLaSRJb0tfVgoreldwOXYyNCNxYFIhVkEmWDM9 R0smMzxFYisjfFZKaExfLWA0eTdqdWNzI2dLVWA7cEhoc35FeX4xbTc3QVRgWHNNCit6XkFjTmBo eHo4dndjSlJwZHpNT0paaXNidUZLcSY8KkZ9QWY8dGZyZntTTk5nTyVuKzRHJjZBYClxVSlWcldT aVUKK3psVjl6KFpuVGNpKVgoYUxSNHFQY1FrdmdqNHV4VmVIK2FHZTN6eyFEJH1tRUdac2BNU05R UDZWezVeYE9WVmJDOworemZ0RVY0PCZ9ZnVsczxxUDNzYjxhcigyVztyNjJgdmpPUVlJK2REeyVe JS0qVVljWDNUT35NS2UtSFh7dyZ2IXJ3Cit6am8+elpMcjloOWQkQDdzVFpTfCRIZiR4JWZOaiZ1 KHRnSHh0VllGYWtvI2hNSnlaYk0rbGFrJXNYKHpYeGhHTy0KK3p7O1J0V1RKYXF6RnhwQ0xCKG40 Q2xnRDl6KEo5aVU0WVR6TylBaG5FSTdJcyQweUVtc3BDKD0waXJ2fE5xcUp5Ugorej1hYTNTPGEz eFhASmlgMlVsTVpOMFB2dV81VGskPnpFckBge0ZjQ0FCcW9MWUFzaH5vdGcyXiZtJjNsJmxydW5N Cit6Uz4jMDlgNyZ1Xl9oUGlaNzEqcH0obVBAYihmdnY0NWghcVE4PTN4VEM/RnQ/cH59VGdFSykp b29uRXxJbHpqekIKK3pEI2tubWhBZ2wqWEU3cmpieENMMVRBfl5DWSZhMmFxfHc2PihfOUswIT1u K1FjbVd1bFVHJkIwV0traHcteUNtJAorenNTYztsOG5USldsZyg8aDhyeHEwYlpCMGlKc0EkY2Ns fnNHdWxxO0FxRmp4Wkxuc3tDcG5ua0lvbFImOD50bGBgCit6KmZ3IVowU3RQJDdkbm18QX5iaDEj JUwmNDVEMTZ7TiFBT04zRGw2NmxzUyVYV2RtaFZPQ2wkTGpEcDZOV2pTYEcKK3o9PmhzfSg1S0hp a1JvVVpMMis1YylUKnUhPkd3X214QGcwc3t1YkFjaDR9RWxTY3swNnZ0cUxgZWpTVTZ3SEdXOwor ej1jZmI+alUrfFVzJUYjQF8wJENQSndyNn5uP3BobFZocnhiM0skRmhkQ292VXA3QkIqQGR0b2Zw Z0AyYSlQRGRCCit6alBNfVE9VjF2ZDJOPDRlNSZpPzVfPTteQXZBRDV0TCt4I3BFVHFiNDFTKTVA PmwkQmZDUF5ANmZ9ck9FNT96bDEKK3pmO2Y/WVk0OWRPPmxSNHMoT3xDSncxVFl3ZzEkdE1wSXV3 QmVXcVB6SzVDNWF1VyRzSlUyY2ptRW4pejA2MD16dworeiU3N0pAa2xGYnxLQDwtVll0Njt3PVBu R3MmYz9SPGM1cm9AZy1QRmNTamBDUlBRaHZiS1FwYGpmUX1laj0xcGxvCit6T2crJm0wQ3V0TlVN dEB+NV5lR3xnQmpaPGNgazMmYnBpPSlCb30zWVd6ZEpmRVdaV3xjN3dXRlpFPnwtRld6cngKK3py WXFCQEtvSERWTTh+NXJ7UzkxMG9WcjZFPmR5S2dWWmtQeGQzN31jPSF2bDJXMzgmY01eSkNIb2Q9 c0lsVSZaMworekctUCUhJXszaXQrI34lRGwoTCpLV2J0ZWM5NCs/em1DK1BQWlUhV1U7YzhJdERU UH1lSntXRk1BLU44bnFQUVF+Cit6NTVzaklgMCp9eiNXZ1U4SThUbSp0YUJ+fmxaKipFNCtJZmZC ZkdlSCFDQDhfVndYMUNvMWZqZiNhVEM9OWR2ZTYKK3pweHZAPXhCPEYwPjRaUFNDNlQ+YDRRR0wz eWQpdnV2RVZ8dmRZX0p4dTdxZzhRfCFRNjN0MzJoJipUbjh0cGlDdworelgqdyFoSUFJQ0hvfXBO UCF5ZnRpcmJ5TUYrY3B1Yys7RXMmUV5zUFBqR1FHOG1XOHluKmprNTVPTGQjMVFSPkZJCit6b0t8 dSVEQmY8JE9AaTVBMFR0ZD1JKjFfZGc7RV9SOXY5Kl58TTxrel5SPkV+Y0ZUcTZUKT1+KHAzPjRq QXI9VkIKK3peTGNwY0JjZXdKMjxHfSRLKHM4bTg8ellGa1V9WXlBYSglX3d6bSRGcHFgMCNZSVg/ cWJIU0BHcytvIVFwbjYrNgorejR4RilIXmRZS1E3RHU0fEJkO2Uwb0lUSFJRS3ZyIXklcVlAalEh dzVuKXIwcFV2fDNaKl54JVpmMWU4JlFKcjRNCit6aSo+TH5JQVNfO05UfjJqTnlCa280KipKRVAl R2xhS09ZNmBhWX4teVloTnJxNiZ8MGY9M15BfFNEQWxRdUFldHIKK3olKU9Ofj1iR0phbzlBUEhX ZG4/dG95MiNeQ0ohTGcwZUA7b1JiMmdySCsjTkc4dH1lbEQ7ZVJseipxQUp6aj90UAorejJNMnQ8 OXljOUY3WEBJX2REREd9c3VBVFgjRDhgYGA2TmIoMEx+KX5oZldZQV5YZUs3TCgxa2BAOyY1YHlO YVliCit6RHBFPnhOXlI4MWlhVEJXPHdeb1BAbSVDTDhqIVhMSHw4XjcyTnRpTTJAWCVIaz01ZlBK bUp8OWoqMy1maDJTdk0KK3pGJT5DTV5idW9LS3lSQXlxfWlodHdwU3lMMy1VQ1ZAQl87eDIhVG5Q KG1DWjhoY2RvfFBNamN1JWZmO2hfPXYtTworelp1a1UqTH1heThHdUQ3dXs8djk7M2Q8ZUl5OFlj fUAyKSMxQm9XWipWJDQzTUNzfWhrOTs3dSlpcmY/O0NgVTN8Cit6NDglNXxRUUFTYzNxMVR2Kio8 eXUoRVUxfGhjfiQ1Pmw3JX5IenozYV9hMmktZllQZjlWKmFxJCE2M0JgNTFRMzwKK3pLUFFuaCQ1 PCN9SHZIeHNueDZiXyNhQXY+ZjtRYENQKEFzO3puPnhIanBDSGE5eWkodkNaISFSeTFtbiRNfUBy YgoreilUYl9uRH1nK3w3K2N8V0g2ZlVoPFcmZz0tb24mbm4hS2NJMSRCLXReWHN5SCYocXQ3Z3lV YnoyNjlsdzJuQDVhCit6fEMwUSVGT3UxPyp9LXEzaSU4Y3xma0NwPXBTTz0kWF43P1N4K0pXV0Rl Rz9FY2tncDR5emIqcD9HMX04M0s+VzcKK3pPVD9mWExCPiM1OUZMeDgrdC08M3toUV9aNnMrPjVs TmE0IUJuUk5JYn1tNk5KQTVoVGl3Sz5eMz1MX1MwWjdhbworenh4an4xMnh8aTI0YGBJeUFEZmpg JURYMzU9JSU/YFdUZUo3a2VZUXJeNEB+SiM3TypfcERILURkcDlhY01sPEwyCit6ZHxNZGVmKnVP MGRYKWAlMGlDfEJ6YW4rIzNWZmJQbzRqdU9SJiZHQD9CUVV0a2JOTT1pQGFvWFZ+QFUhMDZjQ0kK K3pnTDY1fVJxRFBhekxUODFiZkA/TzI8NmYtRiteSUZyMWxlVTw1cXVsXjFsWFVtI0ZYdykqbkx7 Rm1qRHs8fVR8JAoreiZ2b1Z3OShDTjw+IT8hPlpPMDRqIVoyPU9hO3pwZy1NeiRTV15zYSRNTjhA ITAzKj99eiFPdlAmST9uUV8rU2NECit6VllJUmdybj08aDdnVWdUaVlgZW8oe25ue3dsRSFEeUA8 OTZNMkhQUHp1dDRecGJifjgrbkgzZVc5YGckeyMxdyoKK3pBPl8kMVp7Ny1hJGw0PTRoNGVebi01 LUJnUmZPaV8mOSs9IUR3bWtKIUY7TypKMFYpT0peXiFkLT8rZ2dqbSRZeQoreismYXxeX0wmPVBL SjVXPE1lSzBRNnZwOU9IckdzRlh3dm1xa3V2bDE1REh5bXgycjd0XmxBMnxuTTkhZURBY0JACit6 NmdOIzJZMEM5LUpASEZgMit7ZVllQ3UrTnhZM19MUSlPaWU+NzlFak99VDtqTUpDITEycmphRUVK NXVgVTVkVl4KK3psMn1pTWdXTlY3Zk9NU1B6P0goWDxSTXYxdDxLKil3bn54JkpQMSprVDtBQUVI MiE9K2NQZD9xKCN1flhTeHMmQgoreiUhcG1mTz4wKVV3Q0stPzRjZlRwb08mZWAwMTh1Zl4oe3M9 XzVubV97QChCUDlkQj5yMTNHd00od0kpJExjQ20pCit6dnx9PHQrT29BcEBkdSo7SygxUUdWSXBh dT5gcXY1ZVQxS3VmTV4wbTxaPmpTTTkoLVU2JFhxMEt6Y08zRXRhV28KK3otY25FISt7YHpyMmxa cFNTLT8ockoyMnVNd09wXlJWTisrWXk4ZEo+OWk5U2RPS1dKYkNocUQ+cTtReEZZdGJidAoremw0 Qz5Tc0lHcUlWSXxPVyFDemk5cmZ8ei1UKkpxPG1hZ2t0RFVMQC1ISDRlUVRxbXNZczE8enVBOEtS JktOKG5JCit6RGJnVjdBR0krTTFwb2w8S1FnZWhsZXlMWjVGNlk3ZS0qZWAtUClHODc0Zkc9dVlX X0w+QXhzQDJPd1JkQzAoPl8KK3pvNGFrPndzKUptWlFIaE8rcVB9JndyJCZmZWRmLV47SmxnbkJr R1Q7c0VDWnI2PEtRfnp2TFdVKlA0fjFqVH15UworeihWcDM4OC0ydz4yPzxERSE8REZ7dW90cVlm Zm80byRSVClFZWdZTGFyJVFHbytucj5aPTRNKExVaE57VWZfJVZlCit6KVBRY1BzZTt+Mj13aH4p dlI+ajxaaGtNa2JncjBlZW1EMWVybnRadkdrK016YD9QR3tSa1V9ZkVgdUEjK1EkN0UKK3pjS3Rk dSk7PXVJdXF4TUxxZiVxejxMJT1gUnowfU5tS051c0AkISpqWDtVRnU1fGM1VWhfYG55PCVmUjIp MmEyKworenV2KGNQZy1eN2N1MkwxVHhAUyolditPOyFKWGRpQ1pvejd2RkAlMGchVn13bG1pKnkq ZT5SX0NebGZqanNVMkw9Cit6U05DQWZrZFlOKFFGU1JgPnghLT9oUiFRNHRVVEt1bU1yfFZCalQk cGxUP1p8NjRSS0pSRXYjUip6PXFaRTZHZ2AKK3pZMmh1Vkc0S3QzaX5vbUw1Z1E8NXpydWQkS29l XjlWPjg1TzxMbEJHbF8jPyRFXjhTM3Z6IXR+dEU1LXw7czloSQoremM/VnZfdmd3WiQ0VGlTUE03 O2ZOdyh+MkRsJUdjayRsbmkmdEVyPUw/aUcpOEklOGlVWllVI1IpKT5GUERPR3I1Cit6YE98MVFj czsjZlB2WnokVjQ3MDU1SDxTdCs7aVJHQTtYaHomZXlBfT5MMT8+XzdGM25gSnZZbGZ8Vzctdkc2 ZTMKK3pwdkBQOUV4TVNQMVlOZGBSKmpEUjtLTkpEJGVQaURgX2tOVDwmSjkjOH1xbDQ2UUF3emQk JFVQRj5ZcXF6YEZPWgorensjfU1fKD9ncT1GKWI7M1U3Y2p8NHVXeWo/ZGxmRjtwYVUpMGV3ODZL bThLVldYaz13TnleU0VhUnNjXmNmU0ZsCit6Mz12SXRuQm9XSVpvNCo9JEQ1P344K017b2NuK2go OVpgRiU2NX0qdHY+IWU2cykzIXpLRnRmNUYqNSltPEtLfiQKK3pkfWZIRmMhOWU0dCFyUSlhYlJG QGY2SFA2Rmh4UjhWOTh+Tz96P1NhWTM9TSZZbTdQUVM+e2drckYzTjdAbD0zfQorellRRTI2PUdM SFNLS2QldlJZNnp6bWkrbVNrVVdXQyl8Y19yU2smWXFLUl9FKVozWXg3S3JFeEhSMEsoXlhqYS1P Cit6Qz0tPV9sNCZ5X01hZ0R7S15JeUBuKzwjJVZ6ajBaV0poYXJnPytsSmlzNjllSSl9Nm9mbHxp RCgyV3tGUWFKVnkKK3ppdVNmakVJNlorPyUybm5kVyNKVTVYIWBqWWBmZH1oIVpmZDVWXiR5NzJ4 cXQoTXtOaFhuYSE4O19FQllPZXNBRgorekZPMW14JVFDMVU3Nk9aRC11OERWbWw0PTZZR1QoPms3 Rjc5dSZnQm9SNXB2VCRlTDJ1ZWE5V2tQR0k2TGQtWFRVCit6REdXRXp1fWlhdHczTWFiVEp1KC1E ajI3ITxoYm1JUj1yS3dXZl5NZDFyfTdebDF3aTRGfTBAKD4kam4mOyZQcC0KK3olYDZmemFGP3NT QnVySjI1QUByJnRlMCRPWXNiM0BeIUdAKldScEF6YFc2ejBlSihVMT5XOG9MTnR6e0RiZVJtewor enY/eWlQT00tbSY2djV8VXs2eSlVSF9tb0g8Ung1Z0dCMGhkKmZ8VEBPK1MhR3d4dihrKTdDUl91 dk9gLTAqPClTCit6KHF1cmFrP0QjSGAtUyp1bGh1bVBpIVRCbGVvP0ZkfENaKCZ2ZDdHUktiV0Z0 S2t9dFAhXiMqcSkpe2RIWDE5UTIKK3pjcnhuOF5VfDsxRDQ3ei1LfWZ1PTItRUAzQ2tpOGB4WFJQ bj11WWZNQyMyN3ljPUI5I3s2ZUY3NnEqM0U9NWpKZAorelRwVmgpaU5UPkEqdnZwcD48VmQxPWZz QmEzS2FzSDhxPGkpdTZmLTI/dG5BI3NFTmAqbUNLbnB7WXdDYV52TnlYCit6OWYzN05ZWn1IeEUp MHleTTNDWVQhMlVEWHhENmI/RXZaUiVtaGhedTJYJj1tNyo/bDtJKH5BbXhib2RRR2l5T1IKK3pX YldscVc/a1ZsTTkjLTNxWTlKcj9YUUdMWGA0SEZnYyU1Kld+a1c8ZVB6aHRXNTRPciM1e3xrdGdJ RFMtX21iYworeittPUk7aHleUVpUJDx6SEtkVGtuRnghQ1ZFTk5zejZzMXQmXlEhSEM8TEV2QzUq ST53PVl0MXcjR3VadHZuen1FCit6eUtZflV1PyVOV3AwZTl5bVcrfUoyalgmNGo1MSo8bzJPekpa Py1eV0J6VTVXOWFpUn4tYXFVSl9zJDZjX3tvclcKK3piVlZXb2s/JDdsPC14KGlXKipGaTEmdlJ2 UUUwJmN5RylGJGtgSVNWRi01VWw/NSppbHhgcE09Mylzd2F3N3JDOAorel9XNypTeFpSYG14cmRJ dj01KVdgQ3B1VTVSVXxQfFI7cG1XLTU2NzdjZWU3MHc+JWEmSSNtPTw/dzl0ND56fmxPCit6eTQ2 fDRvcWsrbk50fUJIMHQ9fnwmdT9DK1cmKXwqI0QqbFEwUjYmdUFrOXM3PiVCVEpJb1N9aFYoX0wo T3VCMUkKK3o5dk9AfTsyIzNRalZ9OGNLaGtCanpEezhqI1hYTzVlQjNXMEd5dzY1M1N7ZWNHRFVj ZWN1e3gkb0QlXyRjQUpjWQorem9YSz8mRSNLRiVhRHhKPkZ2bUwleCZGWU5yYntndlY4Uz52OGI2 WDY2aTJaJkl5YWVFO3VINmtwOEVZUCU7R0xGCit6OXRiMSFgQChFMSttWGJUNypvQzVWV1YzI2c/ cEg0YzhZfm1RQFd9VUx5eUVPd0wxX294MzEzaDZMNjk5Ky14fFEKK3pQeiQoKmx4ZnJfPlM+fEM4 RTV6STxYSSp2SjBoa31hNHdiQnM+NX54MmBDRDslSFY4MzA7THU3U3g0LWNiWWVNSAorenB4WHUw QmgpS0YpQS1DR1ErTllzPyM3cEMlPytxdUpWdUZDWip0aE0hcjZITzdBbmhQeHdrMW0+R28qUW8y QFFJCit6bTMzMkJ0KjFFcWZAa35sdWVFZTFAQChNaFVkIzJAJmV6bWRRJkF0N2s0S25eMntRSnJX Tk0jNmNKPFVNTloyJTgKK3o1QjEzREh9XjtvQ2c5JjUtIUQlZyVfPWwjVlpEblFkdlcqY0w5Pz9G N08qNi00KHlMNnFnRDJpQH52YClFd3RCRAoremMoe2ApeElVRlNtWiM9eVItM081Pz1BayRQYlkp VG5YdzRGYVIkNypPbnVUUEZkZ2BNeTV1S1NmOSttX1dDa3g9Cit6UFltNVI5JVFNS3kxU2A+Xkkk UGVhZEsqJjhtU0VyR0dSfikqS091MnY+dnJrdlQ1MWJRUERPTDxXdmtEViRVOU0KK3pwfUttakoy T3VtPHFaZlF2TnBiRko9a1NAPkJKTUBhQnhNJXJodVNoRVpqUWgjQ2JYMUM9WDlXYS1vXzhKTUVa IworenRGPUlwWkskNHJSK1Q1Kz49ME9jUFkpTXxGJlRFNVFMZCY8eT1FKHpYK09Lc0J5TjtPMzFP Qn5zQT54NHN6KV8/Cit6THt9Sm1PPHxVcFAxWktYQD9NNUFodWlYOWlsZnZCOWNNOTdUfD11V050 PlUrcEkwPntaaE47fU1lZ2lPR1ZYR0IKK3ooXk10dDlVMl92ZjdhSztBa1Z6WClSQz5gRG1OQmRI OU4/dFVxQWhHS0VlTnkrSip4NyQ0QCorTGdIVTt7YEskdworenYxeSEqdFBPNEs+NkRjcTBmNUMt LSZEMkxXWW5Cb3AjY0N2byZXJj1LejxBJGZQWVIwXlooakx8NEsoayRJUk55Cit6UUFnKjBuQFJz NXh1V18lQWNfN1RORSV4QG5IaWNueThWfHR7KTFQRGV+fnA/R1MkeFA9VnxjZ0JLK3FCfENgSzgK K3pRSEBWNCZySFpqe35ldV9RWFpZODhLdDk/cE1qdjJwcTYrSGY7Yn5iMzJeMHZBYHVDNTglaVRk ZHYpV35mX217WQoreihOQD0mSDRiPDEqNDhqfkg8S3ErTHpaUl5iYW1LfUxYSkBReFJkaHRCU2s0 T0RsUkBEWiNfZ2VEamBoRTh5Zj1zCit6bXhjYm5MSlpzfno/dUZDNWJ8P1R7QnQ0bl4kYVhyXnow MkMzfmExeV4mSjA7Z2BmQ2UrPj0qUkFNSzR4MUpBa30KK3ptNUJgZkZueWNtWDcmb0AremY+XiUk Y3NEMTtybTVwSSNpQm5WT0swbndVQD9teS15SjNnKHg7NUk+akM5VFlqWgorekh5OXNKNytWPGFA OXhQaD8mUjZvUE81NHlZZXktfUc2P3t4JCh8NGF7cUlDRUxSTnRIMHxFZngwMDk4X18wTDYtCit6 bUprdz1SVFRMQHk3Jip9YEZGYmJNYDZsKG9nU3c5b0ZYKF5xeFdQOSpHMTg/Mis+JEd4UlFCZHdr fUM2enlMSjQKK3p7cyQwQVkmOWF2YVNqYV4wZT9wOT93IUVPOVhnMFB3cXElfWsxX2Rle2A+JldF QWFnWnUtblZhOXE1dXZuMHExUworekg/elVfYXx+Pnh2TkxCcExNQzF4PSpndl9PTzApNkk+UT5S LT1gdFgzczBqTDZSc3VEdFBvUm98Q2xUd195O1lrCit6d2N8YkBtWl5NPHAyQHtlYEpQdU5iSGRP T1RzbmcxSW8zaEktPElQN1RteGhZbmA8IWE5cDMhTWp5RzFqWFppQG8KK3pYM1NKPEtYVihCKjRD QUdocnBqNi1MXzxRQndHV25Pcz1+ZG0wdWdQbjwlRTkrSmReYD9yXkVUb317KTlTP2x2WAorelNx NTJ1Sk5rbG57cikwOFVnMDNaZmMjeVRDTGNsUDZRfntOanFTXzM8flJAT1hiWSojRzBuU2UmZ1VP M2RMRWdVCit6KDkoVXNYVTtGb0dVMUcmJTBUczVXa25MYV54JVd9NX1laUdiQjt5fHh7ayE4WDVz bz98RXBmal9SQ0FTTEtXSzQKK3pjWVp8S3JmN3ozMEQjTHc2WFVFczQpRm9hZ3p5I05fTkUkaD1i JUxXYGEzbkl2PEs7VE1iV0EpNGdiPF92cXdVdgorenhJV3lQVGQkTn0oZXh3QD58Vkdqc1JxeXs1 TiskLTViNmV5IUQtMmVjQ2V4fT5UKWZwTEJxNzhiTHImaStUSiNXCit6cE8/MXxxNiE3UkFUfi0w MyZKVzhTPUJkVj0hX31HOE1RXnNCekNrKFV+czYqcVEmUSM3TnR3PTNRaGQ0RmxKS2YKK3p2QEdT SmZ7OTBuJTgwPFh7X3YlJCt8dkBfdz1DXzsyazs4WVIheUdUbX0rSSokUGx6M29jakA0VDFFNnE9 Pz8wfAorenZBNnp3NXBJJE01eWxKN1BUKDB5X0BOSyVVa1hJWjUpMkI7U1coajtpc3R2Yz9RdT13 ejgzMjlnMkBgRmtPZllBCit6ZiQwKnEpaE1jSDhaNGdlNVkwMGxlPEVCMk0/dDNKcHI7a1JJcXxn YkAmMGVVJl82Y1NeNGMwR3RSRn01aVUwdEIKK3o7R1prRG03YW1BbllHYj5Ab2hHI09VMTBTQjZQ cDJCNH5tbjFCcHBRV2N5cHNnMEpPPUpqYDVKPXxNQ351YlYmNgoremxYR1RSJjM8b1Qjdl9IbWtJ Nj43KWg+bks/e1JseSZOK0VwNzNuS2ZuJV50QTQ1JXhhSkg+aVVneVl1bWFAKTF4Cit6bTNRK3Zz SWRzNitGKjVDezZ0NFZFclJ4eDJTTmJSdjFofCY/VWJLIUUxdnpDUD1KTldpdkhUQF5sWSh3KXxJ LW8KK3pSOCt0X3hscF5pZDJUKV9iZT9zbjktQkQlKTFrTnxmNkN1QWdUfH1vVnUqQ1YtSlMwaHR7 RSMraiY8YVQhWEN5fAorekIqWTVWZHB4IU5zZTBQJC03cUtSMT08JFh7QjUwaiN1bG1DWVd1Q1o5 Unx5I3QqaTZLO25TZ2lCT3lXaUA9RCRBCit6Xn42cCNJbGcqU3EwR0BjRUhYfnM3MzxVcStKckFF WnNHcjtMXlRiaChfZmZyaSQkdWAhWUp6bHteY0hIZEZ8PnsKK3omSnxhNyVycmdeQj00cn55ak1v dVA+I3R1RFpYfHEoOThGKFZkRlBwUWh+PWVRb01hamRLeEtYeC0pMyNHPnt4SgorenAqfjhAWShC djZwfWs9IU4jMDJRQz5rYVpWMFFfViNmbThMXzJ4bXlAZW5XST9Zcy1OKGFhO0AqO0NTQXBDV1Y+ Cit6Ul5DKF43KmFoPmJveUhGRU8/eVlvLWE8YSspNXRRSzVEJUhVTUFyNjRlV3xCVEVNTHlCNzY9 ekB3U1FnYHZXYEsKK3pycV8jaGpDKGtDVENUYWgweVdTVFZhbUBDXzNMTXBJd2F+SkFZM0ZwZTV1 NzBRS01EPEFRdHNzd2hMTD5tMGJBVAorejRyUmZpZHFnJjhKbmg5U1ghNXMjdC1SOD9NT0lZSXVy YHI4NHQleEBmWDI9YmpQKnRCOyppU2IyMWN4YF9HPjh9Cit6JDRKUDBNZ3k/QFA7UkdeUU5ZN30x UTk2VzdLJFJ8eGs3a19jez9PMlZqdTJkS2FoZjwoRVE2dlYtdzFtaXJJd2YKK3o/KFRaYyZRP2My aDs/YEY+QkoyYXJnWEY+KCV9MCRiSUVeQjFCNmM0XnRCMGlERiEhfnhkO2xhcVoqaiQ1ZDtkKAor ekdETVklblZmJG5DdCR8RTVhS0lrdG1JYlpxPkNhcz8hd0loZk82RkY1X3BzTD1Re3p3TFdRMTI5 M28hO25VXkJ8Cit6NXY3QDRXeEpyI3NYSmYrXyo7e2V7OSYrLWQkdW9mN0tYM01od29iViM3TiRa NDA5QUZZVWA+WipMNH48dXZXMkIKK3p0cUw9ak5AYUJDSEwjPlQyQjA1el5fbTk4an5DUX5ROztX dTEtLTt0eT95RkNLeVFFY3s4di1ZMDYhfHkoTF41fQorejtpYXNeO312YzFjUTw/cCg4UHMqeipe KzVoU3ppOEt2fWEwKXE1emRKSD0pNT8qODIxekVXO2l2KDdqSXBrOGR+Cit6SkE/NylxV0YqQClD PGpURFdzV0BIYzBIVFV9e243VHRhKXl4R2hIMDAxMmV1KG1XPVJKY0lMI1ZKPjFJeE14PnAKK3pP R00yWm8wfkd6QEZuaUwhKD1lb3dPeWUrOS1MdXRecGNGJE0wck5nZyRPeXFQVilMV2lPeWl4aCVO WW8zSV9lRworek1PfF85OShfVXYldWAjUl8pfHtSXy1jK0V7QH5hcFZCP2ZoYFBnPT8+Uz1LfD81 NWI4MyE+TzNyUUYrRkR5ND5kCit6YkJwZHF2MUNpXnZYI1hsQyVVJjc9K0N0ejEqRHckVXk2bnIl SDVsO19eOXtnLXE+c0x7KWxUODdxN2l0O1Q5UUoKK3p0RngkWVElVzt7TStobHQyayNwUjNvPV8k dkxkZmxVczg1TE1TdER0dHNtSWZyYEpDI3BSND13Q001WF9Cd3JXYAoreklWQlp+P2dQXkpMYDV7 eWFkcnoyQlJjYzNYJSFPSmByMCpAZD1zfUtuZTJkPGxDO0hYdFRUbGxeQUBeKVM/PikoCit6RT9z ZUtrWGI+TTM5dkZLVmdfYWpoMSE7V2A/VVdGamR0djM8OVgtOV89NSp3K1ZKaXtMLSpAcDchOS02 aUlPZWUKK3pTcEl9fTBYQ1pzWXdQTU12djZ2PzZpQ3pxTndNTk0jVntSe2kjJm8hMz5oPjglcDgw NXlGTSt9VEA+dzFgeV8/fgorejZ4fDEjNz5XSHV3RHxCT2h6JU48K15AUj4mbjwtTUdENShCIWdJ UzBvalJnbFZ2dyhVNiVFWi1kWkpfcmBROCRRCit6PS15TypSXnlMNzl9TUdYMHQ3SnM0YCN2OzJu PkRfcSotRHdAdnAoYStEIUNCSSlOcndEU3IhSWBrdmdjWlRIN3QKK3phRyhRdVh6diVZSl5oJWwx NUE8RVE9KWQwNCkpaVgqMGE9Ui1ecEhTM1NTTyVkPVBYTFRhVUtIXjdQe2pDJUZxWAoremEtSkJR eVZTRXx3JjxYfGRPKEdMOXNQdWBZaF87QkcmODAjO35YVjVzT2NAZzs/ViU1LXF2KiNjc2Y8UHpV Tk4tCit6Szx7X3glbiNZNlBqcm8lYHtYaWkoKFBsbFREPTM/YUg5UW9oLUF7NV9LU3UrZHhsfi0h dnNLeld9P3dPOUFMZXUKK3pTNClTWTZvM3RLXkRmQFlnO2xHZnhPOEFGZThJPnB7RSFMTThjMGo2 b0kjfWpubGJSTndUP3tuNGFVUDYoKytPUQoremtKSF53b204YkVYQjlLfChnejJNSkl3ZFA/eHkh TWBaJDNkPnkoaH0tTlhOaCYzOCp9SH5ed1dRdU1BI2N6VHZ2Cit6anlwOGxwJV45JUtoQ1pibShr YSRrfFFGZzk7a0t4MiVRfU0hM3BoJGc5ciVsXndsRU9oUUF9ayR3OHU3XjNRPT8KK3pWbiNhTW94 XjgkP1I8bTdlUFBJRyU+MTJZUjFlPnw5c15BRWktZHQha3JtJHFCc2UlbTdOMUJiUnd7a3tlI2xW KgoremhaXnk7Ni1pOG9TIWt5VHYxUzslNTtIPytoK3RUQiZvVGFoViZXbFFpcCZBZmt0SGtucy18 JiQ+WjBydj1zQGgzCit6dT1mWENHQ3kyKFo7R1B5JG1QU1Y1M0h8bj8pMEF2Z2VTTXFsNEg7PT9j ckQxTUVQKlNSKnJUdXVzfT1VaCFDWCUKK3pWX3MjbTxyQEtxVj9TWSNOKnxnVEV3YnAtOWVKSXBh SjgpRFFgLTNUK2h0UHk4dH50KXNESVo8ZFllQHs2Uyt+egoreio7MjlrQT4yeT16RWUyK3tkOSN1 aU17VkFXKUZpJmkzJWdjbD19dFFlMm1yPW81YSt2QklXTmVlT354TTwoZkU/Cit6JFZzcV49NT90 akYmUVhuTXZHTjFXdCpGOVhDV28qVEgxa0F5XnlROGpAY2Z8a1c3WXRXbCEmc1FGeD5zSUVVcVkK K3prbkU3cjQ3Nj0mXn1PTDI4ZnoyQk9lMDRlJXRHbzBZamArSStqKWhVRlZuIzchaGIkPmVUaEl5 PXhPejJWJUlKNQorekRBcThQYGlwJm5sPSU3bHw5RF8lfEgwXzZHOyVkRnUoQUZoY3VSXyhlVWty aF84NU13XlojaFh7QkxeeU89cm18Cit6cTM8NkNkaG9TMzZjRT1TMTxiV0plaEE9WlVUPnxvR2Q3 cSYrKH0+Kkg2e2ArOF4rVUJLXz5IMExfUzA8WiFHNlAKK3p0VVYkeE0xQElnRWhjaDJVTjZAaEI1 cnIwPDU0MH4rMnpyKGFESShTKD5TSl9RTUxxUmB6QXtJPTg+e245ajdHKgoremIrbTU5UHZJYWVz VHtleis3QkVUVWc4JmczQnxUYF5zQUA7YnRvRlVGRTRuI3UzJTVmWnl6OzdIcHFHbUd3XjNgCit6 LUVpV2JLNkY4aiNVfVZmRSN6Q2YmOVcybnF9WVp+MXNkKzRPajZMJFJNOE8qc2w0S0BrODY4PDVj S3w7e3N5X28KK3pIUCN6VyhxUEFZS3FON2w1VGZIWnJWZS1MS2NUaG9wNDVkbVI8PyRybzFvX0Fi d0x1OGQ8S3oqYzRpRztDWnVsMQoreiFVJnZATWhffXkpQ1p5S1IlNiRQQmc8bUR0ZWt6fk0rZGY+ UGtpbEJURD1lP0A8NTU0UDwyOHVpYiQwIVRUI3NtCit6RlZvejdvWkElSkE4YWprbVJLKkpDWXE9 Z19BZmhie1MpUn4qKnBmIT82b2laeThYN1ZrKFJ4cG9DVi1rRnlzMUEKK3pwWXx7R3hRQUtyVEc4 YDJyQ0hNYWtge1UxeEF1JGxnUzlSeig/WnhxMVlDUWE7VTFXQkcxKEkwU311JkUldXNEXgorej1K aUMqZGEjKHlybFchcT01RFBHWHR5dyROVD1sWHhxbjFFY0pnVzJVXitHaFAwXi0/c1JgPkc0OXZl NmxRYyNUCit6OHImWmhefVlMS1UkKHBtPz1WRjRhT2pzPlZwYEcpbnluO3duUUZkKHs7Z0dmX2ps WURAPCpBM1U7ek0jezs3aU0KK3pTKEBvTj1vcCRBezh2Nn1tQ0N5SHgrc0Z6dlp7MHV4Q0d6O0pW YjU/Zkt4MHRGfnU0b1RgKW4tUCtzRnFfezBeaAoremxpOTQjXituSkR0cHI7ekdFbnBCO2JhPDwz R0QkO3g0NHImJmBWa0pfKyheelJ8ZXBwRlExdFlQUihBaUc4Ny1BCit6UktTa0pDfH1AcCsmPU1F YWlfb3VLcV9fdlckfmYhVmcyQWArJEF0eDRxdlhLIW5ARi1jKFQhWjNeJiR3JFlQZEcKK3pednFN OCpUMG9lWiV0MjZwdmtxSGNpfGJBJlBEUXhuNE5tJkhLKUBWYCRKb3hMTFI1WnFEXlBFakowcypv JWVYfAorelB0a0BjT3k/bjN0VClwPTRZYUxYdXlIaTZSLXptdTNgRU53Q083O0xxRThTcUVkOE0k Jj90JSt6KEEhZl4pTHtxCit6VHpWayVJbnkyUStxMkImYk5FdyRObFhqQkJ8JHg4aXZXWF5fSzNF OFdwT0NFY3tNVWRNbSgxVUpTaFdNJk0lblMKK3o/XmAhY2xCV3gkNHMpTDExYEZVUFU+RCs1MU45 OFNub0o9byt1aURNKWlnb1g8QyZQVVQ7TUFCQWdNdkBGVCE5VQoremZ3WTgzVX5rT0godCk3Y1Br VExHcjlsNW1HcEUqJjhRbHc3P1JAMk4pcUFwQzNBaStodUxufHhfVmcjKTlqVTNjCit6S1N7djNO TkBNJXZPMEAwNlckPXZMYXF0MD1LQ3QjcX12KVFxQXR4VGR8alRpVyQ7PGRlbUU5azlwZlZIWUdm ejYKK3oyLWFUNV41enVJUj9aOVFIfk14K3ZMen1ndTxwNmQmTWRJe1QxcyFHYV5LcFk5YWRKR3l7 Ujc1TSUhITZlTXstJgorek4jKTNpTFB+NT5wZXZ6aER9MFk4TWNAIW8+czthUitVa3tkZ29XPSpL JH1kUDRSJTd2N0lJZnZNeW5kTVpJKjwkCit6ajxGamJBMXM4QSleTDxTSlVIQWJ1MWh3eyUxRSZm ODFGT2REfEhmbUZySzdfWSFOdS0/YXhtP0pASDJhNGRgK2kKK3pZMygoKHhpKztfSlN7KkJHJnFP b0JFbyhGWkQ5Knh3PXFEdDk7VnhHPFh5N3xgTEpsXlMmKitNJEB3M1lLKCtIeQorekJBalBjK0Rz NXk2Ul9uajdAQV9fZnIoRFV6QXpTS3dhUmpoJnA/U1ZTeUs5QUp9dXpVQ2JndXVzPVYoTWhlK0I+ Cit6cyRxKl9SKDZVVW8kWHtiQUVefWw4ak1rVClDY2ByKXEhbCF2dmFwUHtfM09qK1oxUG56YHEo e3A5flMmPGtreW0KK3pUQzZWUlFldS1rJGxOdjZPdi1+SyUlZXFxKHlwPyU8LUFQKHl7WjUlWWxm OWwqdzxhK2sjTXB+KVMjcm9xZXZgbworenBVcSZFUjFGNXozdylASHVnKnIoQ0hkdkM0VkJ7VTF2 e0A2NH12RjswJjw8VEEhO2w3VnhpVk00dDJOenRFM2FKCit6PFlQfXU9ITVuVXk/QVhkZChzdXBx JSlmJndtVkAmSUcmZENsdCtUXjg1dVFNcGtvSTlCQ15yLSNFV2NEUX02KXcKK3psQ1dwKXZVc0Q7 VHRhSEIlT0tue28wVis4QHZCRSZeTGUjM3BCPUh3TH42SW0kSnVKUVhrfjFpLWgyaEdPaGkxQAor enhZMEdwODhDM210LV5he2IzfmYreUlfJSVlNChLIUMhQlE/SlB5Tio9bVZ6Y2JwTDVsIylkRVFK XkZqcT8wSGY8Cit6PkN0clY4fkVTdUdUP1RQQTJ+bTxHM2xTOWl8bjg4R0xEWStYOEtOIU0qcDNp I3ckaHVzLUdTfjxlNnY0SHZAe3QKK3paJTEkQE5lbHMhO2Q0PmZhQD9AfD40fXVtRHR0IT0ySWhO dTVfe2hmcTdoTmc7fHheT3FPajZIeSY1WEtkXlQzVworekJzM2JiWGRHWiEkI0xsQkYoRUxkT2hS OUxueF5RMktzMlR4dFZEcFVhaXJHWmk5MUlsKXxJaV9paEtKKz89VCooCit6YyYyWU0jdVNfMHVM bklEdlUwUntmWC1GSzw8aX5vZ05VcShQckV4V2AyRjc5djRLdEotXiN6N2x+UG1rNkkzR3YKK3ox cHZWUHJ9RjxkVnJvcWFUfFktUSFxektGaF9uUGp0SlNiYEtGTTBVQWV3U357bDVJcWlTMGBSN04z YzR2clYrJAorekR+cChgJGY5TyljbEZMeV5tWGNGM209MjUpeHVgYGUpJiVHUVF2X317Vn5KSUhI b28oT340dlN6Y0xGcS1KSFF0Cit6WTxXQ3ZYOFN4Y19XQ1FtSjdDfG0/fihwKGVgZHxxe2AkPz5I N0UtWSZII3djKzh1OyV1IVQ/ZFZ1ITI2ITNyNHcKK3okcktEKSZZOFd7dFI5eWVfR3tIaU5qaGRx bUBrP0MkPlYkUDRjeWRneU4jWkNJND5afW47emBKKD1WbzZecnBqdworenF3MmMha3pMa00tKDF8 ZCpZZkpxcTE5YjNfY183QjNhUVZSYXw2UG9BRFRYOyhDYXlja2tJTm1pdEVTNk1pJmYzCit6Klh4 OFBOWkVgVntLVFdOd09AVUdhO15QRDNFPHRHLUI4c0NEdFFObG49JUFuejhHPTF1djR7cj0/QU9Z SlNZe0kKK3oyd0pyekBqYTZxVj0qUVNjdHcrQCNaT3ZQKj0xeWxvZ2hTKDFnMngrcT4xV3h2bShh VHZYZTxyLVN4azxodSo3SgorejVWVk1ldlE8VkUqQTErOEhUISk2UVkjKDdJYmZkIzBMVmBQaV8k NzZXRjwtKF9yTl4tKjhtXkE3S3c3fGxyRzE+Cit6JmxvJDFkTTQ0Jkxja0QqdktwcT9zU2oxRHNr eyk0emdhRHFsWkwlb24zYyNgQUVYWWcyciVuRHw3RjJ3PUJzYUMKK3pEXntHQjRrU1lRZktpQTww cj9gY0F+QnhHTzlaR0xpNlU1VjFDbnVJayhFUXd7STtXKndBfk8+PWEkNSs8NGNVVgorekZgLWRL QUMqfVZ1MDdpI3BxTGRYUzszZ1Z2XllxXmZidjAoeWZFNXFRRys8dlpoKGtFO0oxPmEld3kqZ2hT MHpxCit6TUE2eEpGMTV8KllwfWpOXiZ4Wm1rZlJaMW00Y3Z4NnxtX2plc0U0TkRZfDJ8VUBpbTJG VCRCYkhGTWZFajlZbyUKK3pxa2ZgOWVmMXJNIzQtcVRMO2xyVkdgMj5uZyo/RCpRP15YQGI1bzlz UF5DSUdaTz1OMTRkTlhqKlhDalRfWFgqVworelchRT1aZU0yKWk4QHVWMXwwblhjfDVLdW9yWTU2 ZGZDflQrPyojQk8jMUlGLSUtWSQ7IWllcikoLTAxM3VLenBPCit6X1YlOV9ZRT1IUU4/MiEmfDAm ZSlPUiQodyRpS08kWXJzPVRUWmwzX1EwdXNOal87S0glUWNpUVphTjRmTEo3am8KK3pHYHsleGR+ T1h1ezhGQkJ0MjlwTmRqJWRQPlFWcTFGVyQ1TE8rNyVLTlB1cGNSKExAWGJwRGU0RCQkIyE8clpK MAorelBPWE8ydXdKRnJId301ZT1pN0R1e05BLWk8KHpIVlowNmIlWkBCfSVJK29GNTxMJkY/WkhW WGs1eiskWjdhXjQkCit6UEpHbmBiZiVlSUVrcSNiM2tqLXVuQEhEdSFUWUVgN0ojVChvWWBQRl9L fXBiYiZyPzs+RFhrMXk9TzhlPSZsITsKK3o/fW9vJjN+a0YjcjN5ZUNVKnZoR0FSRiV7TmJHJEFO Qz1JQHIrS2dEal52PmdqMkxOJHViVE8ybDN1YDlYYnA1Rgorejt0UmZ+VXR3a19NLWEmbDN+Tmc7 S08+ZmlpMH4/cG1XeHgmMGt4Y1cxLXZTTzMkejJraiFYfWk9c2RWMmZrMW5rCit6R1FZI1JOKGVQ JUtJbzZvaG5eTkY+NmdTQzY5K3dmbXFVLXxGR2h9fnk4fDtEM0puPHNefWQ+YFUhOz1Nbl9pK14K K3pQYTh1am9SK01QQ0RmQUg+Sk9xTSo3ZW9yNn47MUpFMWdnN3JvZjUtUDdwMmlBdzE2KHFHQSly WkkyYjd7PV49SworelVsJEwydGdrM3RYTl5RZjdyeD9lRih0NV5ZZns1cGokKHY+YmI8ZHMqZXMh TioydCtMMjY8flhZMFFScXRuO19uCit6ZkhrZGR7ZEI1XzZuITZoaTchSy1qWmFeUF5qP25iQTlF ezxPX3VNc1NFdDBCb2o8d1dqfVBBVDJad3QkV2sodD8KK3pKSk50dzQkaHdKOEgzbHg5JHljU0Jn UChVRWBWKmR3PGxLKjU2bF9DUzYqU0ElS0F3Nkc1aH5TbF5vfmZ4PDJYSQoremJFSkxxMCtxJWp5 dDM/aGNjI0BkSWVWflgkXkdUaSQoQzhZSlUrZGd2VjxZajA9UmlSYy11I0whXzxrWUlmaT9ICit6 Y0MhNFNCZD1YOGBLaChQZlNMS3JKQWhHNFBRdW1HX1VYbT5gWiVCSSkheD5MQSNAblJBbngrQ1lo VEcza2VCc0MKK3p1M0dlQkA4YXhZblphJW8wNF5FPEdBWig2cUolKzNLZ1otfGBfPEZsQXU1MlFy IThBOWtLTW1jX0wkPjdXejNSVworei0oLUZhWDdUT15oYkwlMmNuRH0zd2ghUj1RRWZNT1pvJmJX U25aMSZgI0FQTy1fc2U9bCp2IzluQl9wV3JiVzhYCit6QFErS3s4MS1UR0xfZG9Ma1hvaVZwKUle PmtfWFM5cDI/cERscHZOQ2ZydStzaXR9WX5YT3hncHg0Yjg5K3E5aU0KK3paPnZ1NkxvUyhGciNO NXNNfCplNnRONX1JbndeJUlkKUltRWVTKX51RWVPQV54X15xZzJpcWZ2Slp7KlRwdzltZAoreiNq SHRoTX45a2U9Nj5eWmh9OGNKaSp2MVl6VEApfjFmUVJBZ2deTH1AJThOfUl4RCojKzA9Vl4+ak4l aG8yfmlWCit6KFNGMzYhempSbz0qYiZgUWotej92dXREc2VuN19hSXZ5LW13VjA/Sm8mYWs1cDRy Qj8tdSM5cnc5Smo9dEs1QW8KK3poZVZrUXJDYyt4RjIhMnJRbENuR1YjVV8hWTJFVVU/KzVhOSU+ ISokcipuajs1NCVYaSl4VjxMY28mUXVIek5NVQoremRqKV5ySCY3fHpCR1hfVmhjPCt6dGJ1KmRz YW43dUMrNXNtMD8zOT91ME9MSEgmbWV2MT4rNjtsZG5eKGhFTTVrCit6ZjFCekZ6RGQtNUhsWU8t O31nYHcxIXpXcm9rS1lmNUBTSTNDaShNJiQ+WjYxKUxZamtES0pPQDx3VXFVeEhYO3MKK3pfYTkt TGZgezx7Z3ZkOWtXTUJvcl9aVVVSPyMqQH14PDRHJD9abFYwK2hDQk8/eT5BUGVMY1EoZVYyckFP V2VNUAoreiMlNThZQTRORXhqSyYmRW8kQUh3ajVOTTUtcTxpOVpYYFpXdWNHelh3U1AkfURmZ0xX PGBeZmFXQGd9WF5BcndjCit6YVRneThZcm5wez1fLTRBRHMofSleP1VxKTZLRmZ9WjMkZDNiT1NO PChER1AtSUh1S3ElVFVvdiQ9NS1BViRLczEKK3o0PyZISHBnPHdzU29BNmIqYzBINjY3cSgydkN6 JHNRTD5qYyQxUVBJNTRPVVRZYUchS3UqIW88bXhDQ2x4dHc5eQorenNfczVqbUohdHVmIXZ+RVUt U1BtTGMxekBVVmllMj1CcnU+c2ZRa0lEYGJzQ1kjMUVrdDh9YnwzbDhPRC1SN1pOCit6MFlMQXhH cTRrc09jRnVEZyhjNztDIUhuMmdQfTI8c1VlT043MnpZQVZraG5pI1krSWNwPGhOX050dzQhUEhw RzYKK3oyS3NoOGlLT21gIUFCMHJna0ZMPDt2djw7cj1NQ1o3cD9hZ1dnK2xYeztrazBgXnpDOHp6 Tk0tKlV5Z2YzazdxdworejRAQWsoekRpKUJiNkAlbHJuWmxWd2IjbGw+UFg9ZktjfDshYmt2ezlO TiZqUkRwZSNrNXlKaXxsYGwpMSUrNUBLCit6TnNTZDh0cldAWTxiZUU4Vjh0UnI4R04rVjdObGti Kj5adUBLczZ6fVNGJGRPJnh5VFYxWSkyVCVwOWYrWHsyJEYKK3pAfl9HN1ZBUEpHKXJxN2FQLXV5 SlhTSiZXYmZjQU9LZEA+JDZUeHkhKlZ6ZzJJPUJpMk1YU3w2a0Nxam52WiRzKAorej4pUUB5QGlk alYzNik/T0JUUm81bnlzKWR7c3ohaihVR3hCWVVUN2l2NDkoJStsS3c9ZDtBbDA8JCpzKWd7bnRp Cit6KDJ1bW1RK2w7Km5xT15fRFlsYEVEbj42IUYzI0tsOFVfdDApTjdAUUxhIT9+QThZTChiWkVk THA3PmFPVmNPUjQKK3o+JV90bz83LSM+JGY2ZVNqI29KY0p0Sz9aYG8re3xGcV9NM1puMW0kR0RV bmJ1LWRvO19FK2QrPlV2bHRqX0BLcgoreiNNZmVoMEMzNF5JV0cpd21Ed3tLcWZFZ1RQaXwodU9v ZyhXT0s/NStTMGZtY1ArMz4rVXwhU1ZhZGZ6ZG57LTt4Cit6dj97O3pgQj43cGZHWjBvSjt5TW5D TktmRGx6b3hTM19aNVE8V3hGRDR6NDRpMDJmZn5eSWxmaFVvTTs9VlgzK14KK3peaTt5PUc4RWQk bWk9YFg4YCV9Y05NSyojQy1VMUpCPHVKaHlIIXdZcDJ8RTI9XiNqMHJkdjtvQG1GfihLb0xhaAor enM9VkFOWUErcSg0I0BEVUtmSmxEQnwtQTBQM15kdGF6VytOX1h1UWliPUpmNWNSay1Ha0hKNGF4 Plh8d3Y7S0JwCit6bHRHfCl7fjV3U2NHPHtHJH5eT21kRChQTFEwYUM8X2s0JkNFWnFqVGVvUWlk WUdvMSNXOG92cUx2NDBBdWRRfioKK3pKNFBJZkc3KDtEM2VTfiRpeEheV29IQnslaj02RVdNUXN5 R3oxUEUjOGY9eTlgUFd6ckVhYWNGQWIrTXFxWHE3aAorejFUa2BoNVlKemVCKGxUPHZYS3F6bHVo eGRoOCYqNmpuayhDcERnWnk7SmB3dSEqdj1oRnlMX1lpQjA3UTwlKGNaCit6dVMyMWc5UGxDLWA/ OSZ5OzBHdXd6Y2t3RGx4dUhuNnA+VjdqKVlHclhedUloY049NjM3T2ZUSnJOJGZ0Y2RmYTwKK3pg I1A+dTBnKlh4Wk9aOGwpQlJSTSV6Y29AZlNERUBXQVh7SV9JTipgVzlfUCspZCt4VWtrPE1AdHB4 ZHs2KnN6MworenY5Rmo9OCRwQUhHU3gjeVQ+ZzUxRGNEQ2dVaSZtIWRzX2lNOztVd2xIcTBsaDdj OVc/cGV3TFZrako2MERSVndECit6UkpqKz1QMzVTaz9qYHVuczhFKl4+eVckWkxhITZ4dTV0SylN OGx7QVJOWm12Yl5JfCU+fUFYa0JiTV5ZOGt7I3AKK3pra3V1PjZWX2ZuWituR3VVRiFAXi0mb1F4 QUlsfCt1TDtXWCl8e1lMaU1RQjQxRXJQWkNgKCh9UV8oVFlNcDhudAorenpBUzwjJnM0I0JTV2Na cGF2K0poZH1tclMlaD1INilUUnVDe0t7Qns1c1VobXAhZUBYPlJSPDU+TCgwdnpjRHJeCit6SCtA aGhUYmN2QHReIVBrTXdSU1hAeTh2YGtTXkRScXNlRm90Xjx8bkI0YUMyTTZXV1AoYiloMXVQY2wp eHdMOXUKK3pFUUd1JTBSXmdAX0pOOGVNO3opWVhRaVU7U1ZmPXU3K1REYTsoT2ZsPW9TaUA9Nz8p STRjSj0oU15fQWBxPUd7QworekB7K3NIPyZvQWRWODNsQzA4aVRuJD4zdSUtQUFiaTw/SFk8NGtM YiZmblp4QHUyRzlZRkUweVBjZ19pP1lPP2kyCit6PEwtaitzJUwqK2xna2dDWmBROVU3NTliPXRK WSYjX05iP1BnPmpIeTM7MkErI19IR0Vne3pxWGQ2fGRYLUJWIyMKK3otTUB5d3sqbEFmOzJid085 X0w5cyF9T0NfSk5PeWZiNE11ZERzI04wZH1GZTl3T0ZnZHYlJUBNSiZhYlphYFJveQorempaSkh4 P3RAKXpRVFBnTSl4RkU8a24tQD90N0RURXNqMHUzTTRPKW90c0JIRW9fMENOQWRvdXxPNkA4fHgo aHg7Cit6NWxtKyNlRldOKSk0PzdTVzBfbD58RzRIVHtUJnQ9bkhlYT4oY2IqVyomUW4jOyhNYHxl JlVUaDFQP30tNnA8PjgKK3pPczN+JFArU0xgLWxDMylGNFlYQSEwIz54bU5xUCUjZnJFTWljeSFI VlRsYk9TUHA0eV9iQFh0QFIhZ143O2RebgorejFib0N4ZmNfRiFxZz9uUkVGaSpzUXZBWUM9QTct bnU1WUVxUm9YKUgxV0kqfmB5YX5eWD9aR2ooMFpiNkNUUyZRCit6KjY3aGIqbCtPV1NxLSNvWFhS bkwofiV+Xl91RyFNIXRyLTk8KEVpdyprOzBlZTZ8ISZ0N1k2ND1uTFY8RHVYQVgKK3pzQ1J3fTFq SEhWNkw1QGQ1TUFWWHNWO0Zrcj50VHZQSWRiaCtAT1BFPGNvVUw+OXBqI0M5Tn17ISZAZnBtWCh7 bQorek5oaDN1VzMqN0dpQ0dKV1JJXlRpPEZRRTVaRXAtMFlVXlZwYyVmUn43X3tXaGM3MTBlSDlI VjJhWWd4azxkaj97Cit6Pn5KVy0tSj5SS1NJcWRhXz51fWZOeU1DejZDbjxqOUJlRjJvNjF0TzVl K3tXOSQ0R3ZsKlJ7ez05NCYxUElgOUUKK3o9SEdkaWBGRmJfcVYzWjlSKmB1M1JJc3MpbD4pJnxR JGZCU2VJb2YpJEM2MlcjM1VCPXJSXmNnUDFkaSFvM0VXVworekZCX2shcXd1NTQ0elk1bHRlN3N6 PUE3I2xeSlp8JlZYeXJVVHgrJT0mQiRSMkRPLWVge2hYU2UjTTRNNGd3ZSglCit6aSVMTm9FSFl9 ZG0qdn1Vc35TYT1QZTI3eCtaRThLPXFNKlBZKmJVYCpZRVo3PUp8JmRUdGNvWkttazNWX1ZMfTIK K3o4V0JOVmooSTFaS2RJPHVjUkhsSmE9bCZWUjY3Sjh0SFE2UnZfKWhqY2poUz9EKER7N3VIMVJ2 RzQpXi1kclM8bworeiRJOyZEJnJVMTZkdmFhSEhNYiZfOzd2MUppMC1aTU40OGN+YWxETHhTXzNr azg4M0Z2TnpkJEpOVz96Rk5VZj1xCit6JilzPCpKcjVmQGxhdzBUemlPQU0oVk1YUC1ofEZpTnFO UzklZHpCK0hUfTZ0P1Y/PDNXfTZOZWhsYHhuYn14Y14KK3orT0Vve19MaSpTSCQ3ZyNNWSh1KTco Rjw9eV52aHQ4PEtKQEZpNzxTdi1WY0Z7dGBkcGk+SyN9VW83VEpSTHlPVgorekloZmlAZEJffFJk KE9LNEpkcFNEVlJiPF4rT3lyRj1CLXpwYTx5IXMqaWhSeWUlaEBwe0w/QlMoSVIjP3pMNS1uCit6 STRLRmV6aCFgbXVyTCNfPG5HMTJRaV8wbyMzPWJ1dTxGO1ppSEZKKXkxRGVjeUZ0O05oUUBwS1B9 KkBQeHJTTFgKK3pGPTJqOEk5RUdeMkNZWUNhekQzMXA7fXx+eD9WU1ZJbSNYS05VZUlASzRuKF4k S3MqR1ZXPGVeQSl+NjVHS1okQgorelJqS0phe04ycitnTytUSkViRnk/REJPZDE8U3UqUTZWfjtO VGYmJj9leFo4eSsjJTdwIXxLPGl4M2c1SSplWj5rCit6Xk97d0lSPiljdlljZ3ZHT0AoWDk9Rnpq RDM8QjNCPm1mcFI7RD5RPyNxREA9MT1Wd2xfS3AtUXc+MnlPeXZSOGQKK3p1bFJTdHMwaEg4e3Mw JkxPYE8wRDVgZ0RTTTFsdjxMRFclQzBBOHNxJXJMe3B2ekdQVGZ4NjhRLVo7PFYpSld0PAoremFI MkVmLVpgdWxxOUhpUWExTTAkMU85cismJHl6OWZSb1dNe3o/alhAeXdMSChoYENldnBvbGJYZEct P0p7dWlFCit6MiY8QUZUbF5MVGd6UnxjKjdrMnczPzBGP3hxRnNGP003YXhkckpidHZzYXtIXmYh fDx0dUR2ZFpJSUM3Xjk9bTcKK3orZHFMWER8ZWJPSHx6TWI1SXRHSD0/LShjS21lWENicTJvflUj RUZ8aElCJTJJZn5JeWI7P0Q8R3czM2VfPj02KAorelokfURMQE5ANW91Nyp+UkZzdyhsRD1NeDU9 VEM7ZG88dHk4b3ZrO0EmfihCIWhQRT8lbnZKO01qY1V7MU9MMHswCit6b3NIfFA9NVcoVGo+WmZ1 Tkh5Z2pzPG9ENFJVMX11akFKfWlFYVA5V3QtWX4mJXwkRUJwWEpPMXZXe2xtMTJ8NTMKK3pINypj Y0tna2gyS2B9P2AwQThZUXJDaXNVUntndUMmQH4qSllNOThNaGBJekF1NUNsbTBPNm0oNExvdC08 ZD5lVAorelZgZChsUXQwX1J5eipUazl4cGZnLUR7UGZCSj1mcGojQ01kWH01PlljfENhS0VFcm5o NVQ2PmBmT2dwJXM5cml+Cit6WUp9empxTmNNQ28hPXw/Vm1Ia0U1N1NJVCl7UjF8d3Q0K1F2cjBB K0dUbTZEM1JFd0xoVlEzbFMrI0IrZiVzPG4KK3pvXlBmcz9tIW99WSYzfXdDQTIrTGczX0N7ckVT Km03SU5NVnlxbX4hUj5LNSV5UF99MClHT1Y/UlhJTWtDZnoqbworenVrYGJ1Syp7QjN7MmVfPiVl UDByLV9xSCZWXiVEJSp0QWRkTn5LNnB7LUQzcVQqRU94SVJrSWNteVc1fnY2dDZ+Cit6SiUlPVV7 dFFPa3phX1QjRmZPMiVHfC1Oa0V7cWN2Z1l1dkVuanQkZWNQaGpBTVBHIXIyI1peIWE5I1I5Nlo8 T04KK3p3UDEwfV5FY1hOLVhhSDg0X35vc3hBSll5c3ByPit2UWtAdjAzVm9AKE8wO3cqb0JRKiZT JXRZc2hINDAkWSlWUworejFsfn5WaSMxI0o9LXluP2BCTjF1R3Zpe2c+UGooSTc/TlQ+XjxudVJi YkR0SktPTWhQPDV0UVJRMWNQTlFmRWNWCit6YDM8cUx7c2B0VVQ2fmUpQV9YXnktRWBVdlEyLWcm UmFTdEc0UUJ0JjhQLTRya3FMfG9NJXZYajlAanBpWnU7RmwKK3omMUtnWUk0X0hMWTdoNmY4b2o1 PVM1PDRwQmFGY01Vb2U4Rl8+O09UMTkkKmNfTiRDOSs5KzwmWjwwJHwmSlEtPworekh4Yk0zQmlm eX5KQjluS3dkKjRiSkFsaFk4ez88WVF7YXlyN1Nkdlc1I1NuWT03cWdwNGM1ekVnKClNQENENmRE Cit6SVhEYitzbV8yLXoqdHMhWHtAVUU3UHRNZiZIfThmT0c3UjY1Y09FUFBHIyYpMCVTaEs3ZCE/ P2hqPU1TZjBOaUcKK3ptO0teXzYzY0xzPT84bm9EazxQeEBLNjR0ZkZyQF49Nyolb0R3VFZUNk9z ZClZTSlnY0lPU2E3UGA0Vlc8NVc9dgorenpVU2VhT0Z5aCNIWG5PXld0TCZtdHhgakheZl4/Pkl4 V2AzJXZLZjRAakFOP1kmTz1uTjdAbjBDQFJXQ2k0YGchCit6STYtYllkQUd5UXYpUTwtV29jfTR0 VGpMV1RfNmxNP31ze3d3UitMM2FgQDh7NSYjUTkkKm5TS2FtKngpeDwhYzgKK3orK2R6dzRCO3px P3FAUnUhMXctandPZEI5MXRgME5mR0RyXzZsdnYxSzVGZVB2bE5JaDdoJXU9ZlRFMS1nOTZvLQor enAoRFRnNWt1aDl1ZWFLKyRRcG5LQyslZjxza3ZafGFRUlRhZDR5bEtqIy1MJUc2ODd5VG99dGFy IU5iYWZpej9fCit6SnR9fmx6ZiQkZVpwdyskIWgtIVM4PVN7KERybGIkT2lEcn5raipgZTg4azRw dz9JOGdKeHptOHIofml4aSRQdXMKK3pkWF82b3g1QGJlUlR4enV5eWpPcChoTUN6KyFTRGllZ3JW Y1JQeF5JckpzNT1UJDA4S15JZGBUU3pRcH1QT0pmZworendaeWt1biRpI0U8KjdzZHdPaSNpcFVo KGE4I0tHNXI5VGt4c3xkPTBHRXx5TEN1PHlTX3pvbG5STFNIKnBvKnk9Cit6TjhtZEp7eGRJdFpL MXRuKUwxQVBkOGNVI3lvNFdvZ1k3TThsWU04fUBnIUZVb0xSaF8rOzxJT3Ite1pXXzRrLSgKK3pW O0QtOWYja3ZpQWNzckBaUnJDQkpldVNvTWBmWT9oc2x2aER4dkRSNV4yP1Q1SDBUViVUeDVIPWxH VX00R1BzMworemc7eHtyO3F5bHVLcURwRkN6ZT1IYSVuYTlYLShfamdOWXZgaFNnY14maitnOCM/ ezhzSj1GTDNMVWA/Uk10SlVUCit6V3B9JEJreXpiMiZ7U1hGTiVOK0dnTk5OSDtOM3pgV0goO0Mh a1h7VD50Jil+SzNoTDw2alE3ZT08VzU/JVpMcmgKK3pNVWg0N3heaiR3PThuRjYwZUBvSCteX1F0 RS1zV35RZyRgTjJ9RWVrbUhOWnc4Kjg8T3Y1JFIyUGp3aSUwbygoZgorejhxT0VIN2xeaXk9RVk9 fmg1RjVZNiZhKHxwQ288cTZBKk8qJm1gNyF7VUctZWpjOTV+ZWwyeD1GUGMxMWRXKj9JCit6dzJv b1krR0RWazV5YWJNKm1kV0ZjNC1obyU+I141dzIocH0zaz9qb0B8QStsbDVOYkBXZEYrSWBveD5y V3VHPzQKK3ozKUF6VF5IJEVMNUNkS2h1dUNGOCs7MnRNMz5NKEZTKmYrcUZfRDImby0+QHo7ZUAo TExecGRUajN1PWxVV2plJAorejlTcmFyNmtSOHJYZjArZDM8QHlyaV4zaHUoSTYpPDZAaklTS3Iq WnN7PnZsWnp4MH51KXg2UERRQWolSTxLUVdnCit6ZWlSOD54R35Za1lVbWs1KE8hJWF0PDBmUVNa YypARmNmTX53KEUpR3p+fEN2Y2Y/Vik8KWN8ZVpBSWtyZGFBX00KK3o/LVlqWlVBPXp4czlAKz89 Q3JJQWBNNUoybTFxbFZYWnYzTzN3fU0pV350ZF88Y3ROe2hvaXc7QkVlbDNRZDRHUworelo2eUpN Xkx5YzkxVWNtZXYyd3dERURzXkp2eyRLYyUpaGlkQ15nXjVEcHk3Uns2VE15UXl3PWJZdH5pcWsy bDUhCit6e1g3KTB6blpQUDFvWGdQQCtAdWZWLWE9K2dVTFVzeFFyKXw0S3Q9Vmc/KDNqWXl3Y1dY WGtke0ooQTt0WHAzc3kKK3pCWD8kXmNObUBhX0stOF8kenRiQSM8NlB5bHQtOz9rWUlKfWgyYUdk eHJEfGZQTk5wViRHMmcyTE4lRy07KEY8aworeit6SUdTJl5FRkZwQjQmP0hTKiNLN0E4OVhlSTg3 ZDk0QWFOMVhWQTU2RTNyJEU+RigkPnU9eVFVfUN7TzxteT4/Cit6TXg9T0Y3YGtLJDx3OT9+RGRi Z3Z1RiEmcDQyRkpiYytLdVFNPjYpdnNBMGJ8aUdNbnVkb35kQGspWWpNSWNyTzEKK3pJPXxHd3Zm RUdGX29uTGlhPEYkc2BSJk5ZaUNUVVB2IUZUdns+JTRMYnVwVlljSWVoOFJWWFp3TTZkSmd1byhn ZAoreiVNUiQ3dy0oZlo/M3xEUyM5Zz1yXnBaS35tP2ooZitjd3dydHh6R2Nqbn5QcWl6Wj5Ya2J6 eFdAI3Qta3tZeERsCit6Uk1Ae2VscGJGWCRVN2spNldURkphQG9ARDtFSzhIempjd1Zwbj9VJTtm TlNlZHFaPkpmNztZRDNsQXxWJFJ3VCsKK3okRSk1YCVWTE9yZGtfSzN4YGNjb2lidnxBd3Faai1a KkBjTEVUYEtxSTg2Q348fi1ubD5afnxXeSFyZTxlRTswbworenpXSFpNNWYhZ0hUdUpnKm4tQXV5 a2lnTCp5cDxQQF91PWFpV2BSIz97USR4QmQ4fn1aMj8wOHtiRztFS0VTMjtwCit6R0w4aGtCS2Zz WFRhYHFGI0xnYjRwJEtXSyVKX0VYJn5gSU54YU95d3p2YyNOLX4+RWtpfkJFN2xqUEFldHJuamQK K3o3Z0plR203WCtxJUcqISQqNnhoKkRAbjFUd2EzWHtoS29zZD0yUm11TWlTMFhMTkx7N08mYTdP VmNfdjF2RFRhNQorej1IUSprV3YmR35HPGF2UEMlTjM1ZW1qdUJyTzROPGlseGsyZDdXSTNSTTJL aXhNN1h2bUZrKGNpJEQ/Xm1nPD5wCit6fDYrKk8mc0x8MG9yYkYtWWghTk5ILV4mUkpkbnYxSWlF aHQ4bnl4Nz9WMTlNSVZfYEU7fmtudFYtS3BJRjJCUDEKK3psTVRRQXZ8WTJUcyt6TD02UURnPiZo Wmg3UHN5LUQ9KnkjdCVRaHtaOD56cnMjLXBfWFlVPmQ3MUxFbHhTUTktNAorem92dittb0hBMTJ0 RVI9SyhhZW1hZDN1anJGQ2RMQVBjR2BzRn16bXt6SG08RlZnPi1lQUV6RS0hP2I9QTUme1QtCit6 VSs7NzlYY0pXfXtAcT52ZGBWc0NWP3N9YVRsQFdNeX1nK2g+JlRlQlY4U3NYKTxaZHwtUztpalgl aUxSR3pkZDIKK3pJa3t4fDYjODhJb1g8IW8me0ZCaWU3VHNjLVlncX5kci0wRDd4X3IqYENWKkEm NUM2bTtEY2M9JDJPKlU5cX0rKgoremE0V2R5X2BSZHpHYU1nSVpIfTtGSmVkKmVhZTkxbFNrJilz VH59ZT5oflhybk9IOCUkMU5uVj8kVHFuYlYpYiVuCit6JkdNZV91elVAfDs4eis5d3hfYSVqNHFE a1U8a0tFXjhfYmN5d1RxU2B4N2YocysoaVJmISYjJXdgXkJieDx4QHsKK3pnbEFvQ2dBUnZnZEdY eEc1IWBiNkl1UylXWEk2UFA0eiZJaiZyQ2ZaaDtwPTxYN3o0KnAjbXs0MjRIdl9fYl5QUworejdL Vnhod2Z1WEF2NXtWNzVeWkdhTm5CbDc2ajxidW4ySlBOJFJKSVBgTmVSJWEmcWkqcSRVODc7aSg3 V3VoPWJUCit6JEgzdylad09TLUp+aEJyeUlNJHVefSZRbUFxQkRYMk5Ne0Nyfng5S21xUWMpcVY/ TiVhVnNNP3N9emp4PkBiSE8KK3peOERiTyhjPH5aO0tnPm94SnB0UGs2ZkJ+bUlieWBsRjhncW5H blZPKClldXxDMSE0JHQ5c2Y4QHcqKkppIV5pcgorekc5Zz8rbz1HfEJyN1ZUUT49Wn0qTkZDcX4k dD1nSyNONngqUTVLMyNgSVM2WFpgNGx9V0xpWEtPJGFKYHU4UjdMCit6KiZvJjxuanwqVklMWm9G JkdXU0pOKUYkNFlpJm9TTG0ycDtyXlApTD0zb1pmJHxFK2QpRGdhKUMtVlMyREVzMyMKK3o3ZkNg IUY0P1hWIzJxQmcxYGxYS0k7UlNuU0RnVUxfdzBoTG9NfTc4UXxFY3I0VypldWFyamFeWDhLdSlz JXQ+YAorekBBSTV1RUZxWX5XJnBzNGhFNypRKnJ5VyE2ZyNUWkNnTGg0czZiNlVPRUo1OUtFSnFA YmQ2TioycUp3Y1NSdG0qCit6OXlZbjA/NWVgJTZ7fUMtYSFxVnFFKlNENSFuLXBebi0pV3BDeUpl Q3lFTlQhekJgdmlUSDF+PV5UKzBvUT0yPT4KK3pwcnN8cUMwQCU7RDJGUk02PEUzRGpmKkNpeTVC NUZWKnNlRjdVfGhsZVV3RlMqUjFJdFR8VVI3Zz1abkVKVFAqQworem0kVj5lVmQ+P01OVSFYQUAw IzVwb2VjRTtJPCthQk12KTZqO1JTSTxOa2AkIUJ5Pz8/UUR7NmN6SEY2JjcyeDB6Cit6QSlmRGVv RShvJSNFZ3JUXj9BPWAkK35Yfihva19CcGAzS3tEVmA2OTh0dE5HMlRnZDEzdChvZzVeVUA5fDMx MT8KK3pjezVafC16cFJrb2VRVFlLUk9SZiZfMUZueHZuaVZucHZGYytUelk3MUxXRD5GeDJ3YmdC K2ZnTX1nS0BvfEhnQworek5Kd2NIZnxLMSk8JnYwUGMhUDF4USpLMHk3MSU3SiU1aDUmPXE9XiZ5 JlNxd1BtSzl1M0J3OUxXelpPTzheTThGCit6SWl9UGUzYU8kQTJNZFZ5ajhPKFF5ZTBWe2t8ZG9C N0ttVnNGWDtFI3NGY2tJUSZsPShkPDJ8VzlxYWk9eHgjPG0KK3pmQSR7fXdyKVJqMH5yNFlISCtI RUQ4XipxMDA4dSkwMDRPWkFeclFtc1FxVVppfDlZdTtENlVyYmdBKXcrQWREQAorekVfKWRlOXUh YisydXYwNlAzSiYxd1ppY2NPdkFKcnEkRnIxRXs4dUt2b0x2eUNHUlhjd3M0VH1tWEo3dj83UCFt Cit6KiRaOWptej40fG16cz8wSDxzNHdqfXN0Uyo0fFc8aW1qYURVR25RY2hzJFhMUGIoX1koRkxF MEJaQGJpdkJ9aCgKK3okcnxJRmw4aHxKcz1jKjNKPjZLKylWa2k/YGdlcFJVIXptWDd5Rio1SjVy bnpEQkFqWT1SUWxaODR6e3M+elhjTAoreiRHU3g7eXRsfXt1fmtLLU5yVGp3NjdKMi1FNzNZTDgo SkUjaXImKlg5ITtqUlhQO1JoODJeNWBLVkghfCsob0tfCit6dUFqQT0rNihMfSl3a2N5Jj47UFo4 SlV5WUluSSNSWCstQ0gjeDRzKSpFenRCK2NzdzJhJEZrVUYoQ2AwXnh1ZjgKK3o2Jk1GM3FwRFVp UUtDfjdaPldqX3BzNHFwVkNsQCVlKjtoQyo1ISYwRWJhaHM8RE5JYEVHWUlVYkM4fXNrSnB4Qwor eitwLTNNc2c4Mk9NeyhMcHFeQyoxSyhAdyt6dn1ucmJnT0ZlWkwwdFJvWVJONCRzTTV5PFhORWAx ZkhHaVhLZz8wCit6X3g8Jm9hS09fTzBSd1kxOHlReHo9eXomPjhxVXh6Oz1yKGdFd1RDRTVsR0Qo WmhoWDEzb3dMb1JpQjZyVWd0YGIKK3pqa3xqVypLdk17TnVOT2t5SlM0YnhjZ2xPUG52cSFPbH5Y UDQrYG4zRTA3QVJDSWMjSyF6PCgzazdEcFlXUTYlLQorekhGfXBAUTlLNW1hNlZZQGU1MHwlKVpv TFIzVHRLU0lZLWBsNk1TY3FsZENtSyQ8Jis2Kz8qS0Ffd0RmPHNAbD5qCit6cHljbDw5X2xNbTk/ PytyVVMyc1l4eGtacWhsIVFLJkhpSzdXcUJjNjdIU0RoKVNMV3p3Mz1jY25TQ30oZGl6UGkKK3pa R0J5cjcrQW03ZlEpUSQpRz9gQzxNY3JaeWhmQ1hAQ3xHTSVvOUhLKSoodm4mZU1sST9zPTdUY1g9 ZTtFeyFnMworekE/R3RAR0xTVUgyYlRrK3VLaTlyJnxZNnFjM3BKKDAzVGVraVM1cFU0cnVKZS1x ezUpRVhZSTBQJSVkU2wySXRQCit6N1NYTmN0Xz5oKlJ+dGRieGJeRHcmZ0t5emgwbnhPejFGTn1s YFZhX0AyKjJkS28kMEdQRS10Nj53R3d9bkN3bGMKK3pqQWB7Uj45QGglNH5vajhifEhFbVVWfTIh alc4Wj9ycEJ6fGYwXmxPPmpwaVZlaj9OdEQ7OWNKRSU7VVkmZVl5TgorelkjYForVzZuPFdfIVVZ JjhuZ3o1eEpCWjlVa1g4ZEtQYigmTzZ6emF1NmJlVmYjeXM7dmlAb3VDRnc7P08lWD47Cit6JXFm c1l5aWNgdlVCWThoclF5K3Y2KmojS19+Xl4jPio9REtea2NANj0jbnpkUExYckZMMC1HJXpeST1G R3ZVcWAKK3psZE5Pc2h+Z0pXVlNAclREZ25YXlple19xRSFvR2AraVg7TnxKI3lzdStJRHUtOyVm XnMmQnVOU25oZHoyZG90eAoreiFoM0toaiRZdlRPV2lqN1BIeXM7OWJvRjZ1WigtX208PDBgZD8/ NUVtaDZyI09FNHo+TVAzdUgqOHVPcyZGUCFzCit6MGNadldDaH13Xz91bE58Zlo8a0w7Nn1OMjEp MD50WiR+NSFQXjY9Q2AzZz16UEF7eEE1bkRIfnQ7Nk5pRHRydTgKK3pnJH4xYHd+Rz5MbTxvLXdQ cyhTPWswfXVKI3ZDXmVCaEReXmY2U2BldUtgTm1vQG47fkwqPEN2KzsjI3VMWDVrTworejtqUzN5 clN9SjZWT1khNnlSVSo2TWJhT3FiIWFySGVAfE5EaElOOFg+d1dgaGdmVypSNU1OfF93VEImNVNX RllICit6aCQlNkBwbjFkRUolNUdTcT1oayYjPjY5N3dEJCgydXp5RFFqQW55QWpfRXhLblJGdSYx TylLXkJrWX1gWT5UPXIKK3omOUg2VEkkXyg2NkRNcmp3ciQoQ1pRSGhPVE5QUFoqe2JxWi11NkdO d3g4Q15vXiNDRSkpLSYheStOWitYdkg9eworenZnaSgmYjQ2REBrUHw7LSF6MWEzMyhtZz53TXNi RGBNI0A8WEJofCFEPzhlNG13KiVhRyk3IShAJlJqSm1KT3BeCit6d3RUXyVtMT9ETDE5MW9aO3R3 dWp6dz8lMm4tR05FNXkhVl4kZCUyUFRwKzxUcTJVMi1wNGklaHtLQHVnclZIMEwKK3o7NnY7aHVB XmpXbnhQSW1AU21FYTZifGdpWSM8RUVFX01pUDJqdGVGOV8mJTZOWVd5TFR6Ukl6LUU7ezYjSE8t bQorejF7anxgIXo9cmpzQWx3VTQoMilBRFhnbGxMYm1DXnd1OVZNZHhYUFE3RE1OakF9Y2Mxb1BJ Pnl5S1hrIVIkSVdXCit6QGswNGExWXdKfDkxRGBiaXErdUNkMEdBQChyRnxTLTFOYzY1cE5ue3ZC RiR1ajlxci0wUkVpPCMjMnVrWClXZSsKK3pYeVMtVF5Za1NWZXFNTXMwQik2OUpCN1QqWjJTR0or UlhMaChnbVM9Oz5zISpwZ3tlS1I2NUE3UkhOMSFsUW18UQoreitBUEorSytAZXxASVA3cEBPO0k2 NG85T3p6VGlufHdFTi0lMGAxX0opYkEmZDshRCg8Zk9RJFFMbV9makowXzBpCit6TippJVo/OSRC eTk0eW41YnZ5RlJvcUswbzFJMjV2ezZuc3YkVjMhfDdCeEohem93Z3RlOH5vdyhqS1ZTZCtlYjAK K3pSZXZwKFlhJElpXjheRyF0emtyPU9mdilVPlM7TEJ6RU88XjhNTFFNKkUhUzlCSjEhMGwkRko9 JHtpO0dPVjRSPQorelEpSTRXa04hRiZNOyltPzNQOD5OP1FkMSU+Syh6Qy1pWTJONiYzQDEzN3Ax LVg9Ky01JUEqIUZkUTVmanpZb0lSCit6YSUtTUx4UDUqQ1RCTER5dHJQISU2WDMwe2RLOG9KKl44 REprczhhKUBBKCp2YnVuXktyTlIqUz4hLW8kI0JjP28KK3ojWEpFWCZzMlVaMkc5QTUmcVQkZTcw Mk8kWCVadjxnJmlfaiU1MWp6MkN0R3YwK1k2KDRLST9fSmhjPE1YeUR0Wgorel9XMXc3dWx8U2Rh aFZ0cWg1SHhyPTBOYE1AOEFDK05WYWg+dmoxTnMqOGg8Nnt2WW4mQl40YCsxNXQkVVluP2hMCit6 aC1Rcn12bVJXXjs9bCtGQz99fHQlQDhGMlJxK0I8YmhEI3M8K2l+MnBZMWpERCg5bDQ4UUpTeURx RzkzaHg9ZDQKK3pvSmg2PV9GQHNsNWtuRGM8Q303T204RCkyI0paZjdPY2hVT3R+QTM9RCMlZjtf eVpOcVNsQT1AKmwoeHFIejc+UworejJyPUQhWVo+b0ZjKG8rfDJnYFZyI19GJlh7cTJabV82JnFo WFZjWXw5MkopdzB6fWgxPjNeZipJNDNtZGNIQXwyCit6cW1kUHpoZ2IzU2g4bE5SUWxCUn4pMSsm SF9YdHZrVU0weChlSEZOZjhVIWpVX3slMzVZJF9gIV98P0QzTUhhfj4KK3pvU2tybS1JK1ImYUUr WnZpNGplbnlUVlBqKjgmKDlMeFc+KTklTX1SMVNtUjJLfGI/VFd8Qmk+VVdJTX5IJkN4cgorem9W RXpDQ1ptLVlMVXFQdiE/UX4/M0woX3FAUGVxNSlHIW4+O3poUnpVfj5JTGNqMF5fTyotOXVtMDZC VjJkc35zCit6OzBARGpVVnkqd0lkNlNiQjFCV3NTaChTIUl4N0ZZYFYjbiZFVm0wYCltXnh6R0t9 Xn1GdFgoelZ5d0lMQzBLSm8KK3olUTlPI0dFYCh7NkNeNys9OTxlU016ZyMmOGg2K3RqYC03PUpD dGxeX04tVzx3KVFaJWs7eSpaczdfVGNfMmowXgorentNTnhIZ3QjKjtWc1R7X207IXhUY0pnSXds MU1abV5hMHxBbncrUGpwfWxoa0QoZVI+PzRxNHN5RGphe3g5YkNBCit6RlNqcklCbG0mencoX3x2 TlhlPCNNVDxnM1l+eXwrJmhVc21AMmZmejJZQWVTMT44T1Y2QVVJbnYlPWZNU2soM0UKK3o2QXtA OV5hIU5eVlFRX2M/azVgaDV7Q0dQYyYzYHAyRVIkY15CWXNxSXJGfUs9PSNodHp1NEM/JHthOU0+ S1gtTAorelR9WVpab0dHbGhFO2xYPlZMJT5fem5OMyF4NygqTDhXdHlVamxXOUcrUXl1YFh4cylJ cWEraHprblRgIUE9VU5FCit6YVBCO3liPXtJcm1INEFodl9lVXdPQEE3e2wpbzdJQlVfOUdnZTVH eSopbXl8QU1iaGR5S2R4dyQtX0EzPCp0S0YKK3o1ajc4QUEpJGUyaTZNQDc+RFRJTjdqZzM8UElH dz4heSFHYFlEMT9DcV5aTn54Q3kzMEU/bDNXPntOMVBVajFmeworejsyeDg3YTJwKFNhXyYjNXJ6 VSVsa1g0OFJIJj4za0NNXjs3KVMxdjYkUk1OQEclQUhAVS1TPGElWT0keDNWdnJWCit6cShCeCVQ dlF+NytxLXBgQlpUTzxGYXNKVlkkSylKSH5iU2BVQ3Fid2wzcUZ5Q3FUK294WmNgME96KE1uZnwy RnUKK3pBeHxVN3RLdVFkLUBxUy03KFA/aG4zP1Q1P2g3NGgheThCSj1mUFc+YTM2PWtfOG1uP3Uk MndAPz5IQzNaUDhsPworekhRUGM+Si0yJV4mdG9UNihJJWFAa1BDXzJfUVElfD10VjF9dk9IOUZ5 eGNBSEFgUlE9LSF8RXpfWTJ7bF5SVj5jCit6WnhRPXspaWw7Nz81d2pjMkw/YmN0amNkeFlLJFRB WDtuc1Vla3p1RSl8c0U4IzIqZDt2JWs3UTwpb3A/ZUhsZGAKK3pjSXpfSylfO3FJV3xzNEs1O0Yp N2omeHZGTyhMWkBLQGF6SkNtSGRPOE92Z1YtcmZVTlJ2UUJQS292PDhLRCEoJgoreiRWMllVRHZ0 LU1KPjVuZmRhYWw0NUl1UlFeQz10JC0kY1Q1IVJxJEU5Nz4hMVpzREhAemxXMGt8SDx+QGV8e0FG Cit6Tn4wVmM/VlN1OVpUezFfYmNKZ1h2b1U9NEBkWShwRXBTJDtGbTBfejt5KXZiTyhObnVPcGdG PVQyVHJrckAyKkUKK3pFU15eQXNoc2ZuR0NqJUxEaTxDPEUkWGpxPiRxc3xvWlozSCY+KGU4QlFj Klo5KUMpZUtIPypSe2o4K0tZU3BGSAorenRiezk8fE43eCojRD5XP0wtY3dvcXFELSZfLUFAcip7 TFpTPDIoSFJza25VT0dfeGcxWCpqKzVOP095JVkrfkpXCit6Tl4hdFJ5TGdJbWhGcEclT3VvVF9P dWwySV9XMDZMdHh5SmVPO35LRj10KDJfPnRKVCpFNk97QFdOO0hxKjljdnoKK3pTS2pIJXJyOG9P bWNacSNUfDlafjNNfSNkcD1QVjxzb0ImNDl6ZWoqNXx2YSFgYDlXejU9KiVmI08tcjtydEV5QQor eks1JHtfbWJ4Xlp3IzZ4LSRBcEpvMkQpNipUNk9HUChVdzZjbD5wTnFCVSVDQW01ZGZeKns7M1FY cmN3T2wpSzV6Cit6MyZYMTtkfGdBaWZnPFE8OFAoSGgkLWN2d2xzPShiP3QhUl9aZEdiMiYta2pE P2wlRys0VkR8cld6YnBgbzFuLU4KK3p2Qi0jdzByME5XNU1OIXl4IW5EYkl6PXtRVz1+WEtqKVpK cUh+ak9xOCFiVWJkbUR3T19oUUFVMGFVQjgjWX5DQAoreiRVTTI0bXwodXg0WUVBIUh2cDQkWTts Y1g8JmdoZTdpQjFsZkNpO1JMZHc/LSprfEtaTnZTPnthQT98S0xwRD9kCit6OHs4WEpDYlg3fXdf S1FVXkohMExHMmcpQEJMSnhyYzxGR1BEWUMwO1F1YyEheip+OU9ZNE1CVjUzVzhMYi1oJXgKK3pS KmVmcEhHbWZUWFJJODlZSjFOYlpmYmluPHtTWXA2STZudVhyXiVKWkZzQ0huM0JOKzl4dl8+QFVT e0t4MG9kfgorekU+QXAqeXJNfDVaVXU4QVd0b01zN18hWWRFd3RxQj5HRDNgNiEhNWpPZVAkMUl0 cEA0NXFAUGt0QE1GYSooPzdJCit6STtIO0wwQzJUQVBLcn1UQl9UfUklVzc1eXZ+ZDB6ZzxqTEZ7 KkwpVk0mVmt1QCpEVV5eeX5sJUtfWHFJeGJiO14KK3o7bFR8PGlhMXZSQlplVDhOampsUCNfdDI+ Iy1gcnhBYVJnSVVER3pQdV59SH5mMF5TRyV0e2pNKSticVQoWjloKQoreihtOFJ7RFJlQzYxZEYm XldqQ1N9aGt6e08tMEpPTHBHfTJYZT10ND5eezM+KzRUbXxgLVNpaiVwenIlQUtCeyUqCit6LTgm Nzw+fXdvRygxVV51bEdJSGlVISprbjdLVV91K1kwbHU2VEJYMWZ4bXlKQzxFM0lwa3pWSUxBYyMh SFc+YTgKK3ooSGY0QnM2JiowMkVoSDt5VmdLI1BFPno5OGJWbC1AMmV1UiNiJnBwRDFhX249ZFNp LVBxMHMjIUN9IyFMU1B3TAorej93U0drbUt1VUArdENQMFM+SzVEQUZYbURNNmlrbUFTU2lAZnNf eVheTjE+RFZGKCRIWFlnQnRzUXR8cVY4aDJNCit6ITQkNzBNbWNuWFo5bmI1b0NfPUxKQW0mfUh3 MiNqWW8/aGBSZXdURlF7VT96eHJpekBwSldBWi1TZVhiJDw/cFQKK3o1TihqPm43cCgkQUZiTkpC ITAzKVVtYiYrTk1lZGl5RFY+WFVRcDtBPVQ3ZWQ/UHQ3Mj5lZGRHRTZMMVpFSV81XworejxTUWlF KDhaKXQ/JCg3fE84ajFNYlF8MWktPmh9X2xsUHtMIzxybnFHSyFCeyF3Z25JZHw5a2EtR35qMist cT5wCit6cWYmT154Z2BCOWwjTHFjYGlSTjMxPTQjVk5VbjAtJDVQQSE3VD5iNGA4PF99UzMofUpy RGFPcVF1ZSsjOUUhWT8KK3o8N31aYi14KGF0VEFsOzFna3pAJUtJVX1eWjNvaHl2NjEmTlImcWle UGNlN0B0R1dYdyRvZEE0YlIraj4/JSZgbQorenFrcVVlZWZDcCRUeFFPWjxHLWx8X3tKUSEqe1Zg fXRwXm5qP2kmSzI4Q2w4RlpocDImanI3T0A9ZWlRWSVtaWxZCit6NGJSUXZxUlUlI1dzb0xBYEh6 SWwxX2A1cGtken1AVW9jOD5FISFJb1leQnhUTVdoNXkwRXU4KFR6RVh+PCpgckoKK3o3NENmWD1S NVZjVVZsWWhkYG1jdHpvRHFjYz97R0omWipYaVo1ZjJEV0dtaXs/O3IyKSZtIUdOekNTbTB1dSRg egorekdUOWdBPVZMY2liWnt0LXM9XnpzKVh2N19uV0hNenlhdUdmUSZLUG9qSn1HTGMjZmBTaCR+ R1UhP0Mhc3I8WDMxCit6aWRRLUU3KmFOWW04M2V8Nihndmx5QDlTTj1DK1ElbGp6aFltckdgSi0k UGNqYHA0bjd0aWZwKG5fVzw9OW9UYXIKK3pXLVYpWW5pdSlsWnZpRXZvaWQyfClibHV+KTFqRyM2 dl9FVWojUm9SaiFiT2ZpaFZyT2ZYeU0yQVhiIXQ3JEE7XworeiVke3QlN00mPVA3V2xVQk5EJj8l aztxYz13RW5AcyY9KktlWjh4Oyo1JVhiQ2BJcTNUSXZ7KVhLUmIhRitxaXk2Cit6QkVHKEBybT1a QEVgd280YmVhe0lsVitxRmkxaVlDdkY2PTE8cSY9PmM9RDB2citSZzEye19iVUsjYXhrYiUkc0YK K3owLV96Z3owREB2aj5QWl47UD04WUZOKS1GWVRXbjt5SWwhcXl7JVk9UTY/KlJkSzR2OEVoMmp7 NGQxQ2ZDUU9nKgorejw+NyZnVmpsS1R3JTlrUyRUTyF7RWplV0NTQGxTNHVWYDdgKEJlJHEzKWhX O2Y3XzI3JU8lNVJ0YCkxNF9taHs7Cit6UiZ1VFhWKVIlOEwxKiZmQjk8MHNiOXwrdEUjWCMoOFE3 RXNyO1pBRmpEPzNKbjx4UEM0JEZlZXdpOyY7MT1WNGEKK3p5SkM8b28wcSlGSz5tJTFJdmFSTW9C KkFFZWVGK1EmbVJmdTBlP01zdD1rJmZIVHBKZXdyeGkkbEImcDxIQSpAOAorejRaczMyIWA4Vndh PjhNczEqcHN9a21UNGFYJjU0TD1pSDlDOXNvU2U9Nj17cVhvblV6QnVXPzdRRHhzKHQ3SWd3Cit6 XyN4O1NHWHdVRi1lVCowT3d8WHtFfjhzOFJ5ZSRac0V0ST0tdTdFe2huKiY/JiNHP1JFU2kmS0Bm aSN2O3JPQDAKK3peaWFLPDJEeXRmJDMtdnZASlokRmpII0hRMjUyQVB0NVZidGUwKVJ8aHMzU3Qo fE0/UFhmQ2sqYWFzT2hTNiQ2fgorelEleHwjQkhwZjVUdHNBPlhZSUI5KVhQTH5iQi1KUShDa25E b2g7eiUoPXclby02ZzNiUWF9YHZUK3t0JiZrZnJpCit6czNjI01HZlhNfEB8ZldXcnx7USYjKipr eD1IVHtEcDluQWpHKjtLZ1huTFQ4eE1pTF5Haj9IVEI9T0xGaj1icDQKK3o8RlMkWVokTHR+PzI/ eEtlRTl2NFlrRDFOSGhQNW9xPjBad1AjKG9WJXB1QC04Tzg5PS17YU1UaX0+IWQoODNaeQorenBH U2MtNmlAbCFaYSplOHlLZDcxVFFhSHZNWWs0KHIlLUMtOEU/VDBfa19odXV3e2hZKHNhTXtXJGEh cU1wTnF4Cit6X1VJb0xfcVhAQT0lU35IeDEqc0g9ISokMFI0c3pmY0ImMUhzKH1kciZFKUklSmtk V1V3PklDIVRBeiRELWo/VncKK3pVSWFCY0pJV2pGXztabn47fWNkQitLK1d8d3k+dG5sa1IpSTc1 RjYoOXB3dERWQGprVXkhYklYQDQ4YGM0dUxrbQorejVzRW9Jdy1GI0M5fSNhdTJTY2pObW5wIXVR eXtnfVE/STFvOSZoMEUqeEFRZi0jcHhZaX1kVlhhOChQPVpxI35MCit6ZG5gcEEjNSt7bHc3P0xD P2d9YSF1eFF+ZENCWC1Ee1JtVnpmPW5AV2wqPSVKTFIwPkV0aGYtdlhgbiF+b1cyd2cKK3pWOyFh O3U2c2B+X24oZ19lPyYqODB3M3JGc0JsR3ZfMnYjJFMoZTlxUyNLNmcxTWNRYntxOTZAclF3OCRV KmhYdgoreisoJG99SFAhamg5ZUYqQmh3LXphXiFnTm1xNiR2dG19ViY5IT00JDhuaDRgNTY4YWF7 QjJYUS0yWUxPLUY7Tl53Cit6Jl9wSClxP0dibW52THR5MT9YQkUwbnJyY3JuS1hrU1lVMT11KkFk KittSUg/YHI4K0t8NzB5Tk1sKX1OTlIrcT4KK3pwcyZ9bXkyWVZTKkpjV0gke3tscGxFcWNIYXJP Zi1iQkR5elJUQ3dBVylvOCVudl4/WCopcVdRd2JOI1p4VlI9fQorejd+fHV6cF5wUiplNXZefXQw SXxgJjlQX3tZZTF5OVZZNEI7UV5BZ0ApY0NhYXshPE0qdjJRUWY1bnJMZnh2XkleCit6VChxOGZf aDJYNXJAY3l8X2h3V1VZNlF5e3k3MV44QWxkOE14I2dgPCFpSEJHaW00OXRhVEhre3wwXjwkK01h YEwKK3pgITEqMVdxTmNARno7bl9uRipvVldUTkBOXjlFfXchMkw7KDZ4VSpEV2xDNTtIWGxTaWMq aEI4PjVxQTsqSmI+Jgorejx7YFk+Pkh1aWBDdipQMDBmNFo/Rno0O29tREslX001X1ErVjdAV1Rg PH1meWh0dWJQTCU5elpqP1h0WXN3KEV4Cit6RV9DXil3dHokMlRMWmt1PDtPbiRfUSE9PHdrRGZO bCgxKk0pQCNOSUdYbmJfZXB1b0ZweVpudHxCQHEhNnVEYUgKK3pJWj97Nj9XU04rKHpQITxzWigw ODIlJHhDQTVFbWMpJjIzS1RCUnJZZmhFU1NwbkVYNm56bntwaUthWTw1WF50OQorelFrUzJMe35m YUchVlNZcGpoVzhubFNYOyRJdnhieHtWN2A1X0ZzIXhMTm1TWEQ9PihpfDNGNGdvIXFheHhBfUY3 Cit6XmQ7K2xhejwwV3BuJWdNQCV6UyReZE53fUhyNkxiYGVIZjMhNW1kOWNre1NaQD5gVWJAWSFg PXtrbmZSMUNWajAKK3o1ZXY7PVpGTFBrZHFHR2khOXtQXmphWEI3Klh2fCpycEFWfCkxQW9XVH15 TlZQZVhLfSV2Q0BQUkZGKnFFfVBkdQoremJhPlE2Z05QQFUkbVQxS0VNbEhxNXJvd0Q5dGh5OHFQ eVpVb0Bgdk4rJWxFWTgybGBDVXloX3c1PG0jRHZYKlI3Cit6bC1pcVpKJWtzUGgkTTF3MD9EbXtu U2FnaXlTe1M4RTZkPXM3OGVVZzl4a0R0SD9sPTh2JD5lOCMqXzMycUdmX3AKK3pzfUoyI2FaNThr djkxamtIV2lHUzJUJDJecV5leEtrQUsoaHh2eTB2Y35UPiY5UD9Gamw+cVE9SFdPTVFBNm9+TQor ellUPm5ee0MoayZIWmtCOE9qfjk8UlElIWUjamhhO2ghUj4/bCR4KCVPRHgyaERRM0FzPyhWa2xQ JHkxVjt2KDRGCit6eiV4Zz8/Ki1KNyZASD5uVCFndnpzbVohVURETkAtTj0rIV5OSXRFWVc0e1FJ T3h8djN3X3RnJDlfeGZQaSVISz4KK3pVPHIyI25HfE4mNUtDbU9nRXluQis+UW9VU3JucDYoaE4/ NWMyLT80NjRLS0Q7UEdhY2BLPylUN2FidGI0UU9JUQorenJvPWw0XjQpcyFQXz58cTVFUzIkeFgt cmAlXzBjc3M4KHAmSk9GX042QHt4JkpEUzJeQzFBYkYoS0NtbjhxVWx2Cit6ViZKZ35mPHt2dE00 R0ZqSiliNjIyKkRZcy1VUU1uNyUxSV9adTE1aHtHfCtkJShaTHNLe1l4RE4qU019bEBNJXIKK3oz dkxwQ2VHRylPYT5rQ2khQjxJKStYeVlHejxKfkJiZElEdCE0dEBvVUpNVTUxWnY9MXRvWUNeYCNW RmVET05AfgorenJ3SSUkcWJ0MHlsWmRGT198QjZpUH5OYkR6fTs0NGxTO3ZLKlVmSDUjQzx8Qj1Z JE9zP0lqKCZATHRAdXVhd2ZfCit6bEdhSkhoS201Zig7TU1zNDJPMU0je2RgM1VNMUYtSjUrZzMz O28xZndGaihGQX5aUXFKPXZJcl8+RlJHUDMkMCYKK3oqTGNTcz8oSFpZPntWb1Y5eH5BKFRwaXJW Wns5Tn48bStfOXZsaz8hUT5XWi1acypuYHt2OXh7WS1XIz9SbHQ2RworemY8dDsxQHJtbW53PEhF anJ3WGBYSyVLWHJnUH5WJSpBRT9Xb0V2OVg0U1plfFgjVVBzbnk7bzxSY1VUTUFhJEUtCit6bFRK N3JTVko7Z1h0KjlqYDA0Ni1TYXh6bShIU0FAfEdsbyo4R2ojTk1xNU4kKT4yKFFGeUVXJjREUyhO bGx7RjkKK3p4ZjFwYWsjYTdBdD8+Sy0zMFc2OSElWmowNEJ9UFNNXk94fUtRTTViUUxiSDV3VCZj XzwyNVlySVcwZGFqM3YtXgorekpUdkZXaVJ4dDBjYGpgXkJoXkVgPSN+M3VZZlBFN2ErXmctc1NW UU5mPkhyREFvWEBeQGItenktSXIhT1FgZHppCit6P3lGbihGeXRFPmZeVjJLMTZrRzE9a0k0RTFu XiR4PWRVbHlPZ18tcDxTSXR+dCZVLVA9b25Pe1NHJVI7dzUrPTkKK3pPfkp5PTFSZTxKSjk5ZiVu az1qbzVKRUF7MTJ7PXAwVCNrK3l8fVlhdCltan4pRl5rIzdWQmQ4VzxGJUBlbTJFbworemFmM2so SlVYbDRtUk9aSGsjWEFHVVFvZDNoPmV9aDAhKFV6WXt4eXgjYGxgV2tiMkQjaGA4bTNaJEIrfjI8 V3d4Cit6d3VfZ1hmcE14WldgMTNIIz1XfF5IaHA/RDkwOH5pQ1NWK3QlU3t8OEdEJEl2cm04b0N1 M2c1PVp3YzYmPEFkdH4KK3p4PHBWbTIzIXRaPDV5dH1rS08qU2sqPDYjLSMkPzIkUEV+WkpTIXJ1 JjwkdU1aKERYP2RDSjtucFRNfmtIUHd3KAorelZhaSNAXkg5Iy1tQ3pDQ1VXbyVMNSRscCFDbiZ4 djgldUUrfEllM2BVUUd1KWN6WitGaz1NO0wlbktfaTRYa2pPCit6JnlWYWVXbmcyfTxRSH5vM0J2 aWE7aXFHfW1MRD0/U29qWnVLRzM3RXxKTDs3SHR3M2o9Jm99PUxMUzFrQFcxISUKK3o4KCpGczFA U1BSTko0K2VTJW9EQ1p9VDJnJnhDNmYmYz1PQUF+WVNXRUt3TXExTWo/Nyo8Nl9zdWQ7ZFZsUiYz QworeiF1K3VMe1dGeGVjfCF5bElRS3RfTCt6I3pOX1JkbXQkZ0wmcGdneztAWnY5SGZXaSR6cndm ZFNtO2QrWl9XeU9GCit6dzZ8S2k5UWFrKXVmcVdSaiN+ZSMqN3BERHROZjNqfElxMlpRa0libXEo fHNfcG15SV9MaCRoJigteVdGI15Bd1AKK3pQe2U0Z1liPk8jek5sJWJyVHFkWkFadXFwZ3JqSGpU QTIyanF7K35lI3UmaGBuJXlkQUN4KVR9RSN0NFlaPXx4OAorenotXnpOak99YGNKa2VTSmdZPmhR YGs8Kk9HRFg7cTNucEF8NmZ7QFZMQHdoJEVeUmR9VF8mSXtNYlJge09Idm1ICit6PVZfSiNsWjdt Pkw4eWQqTXBCMV9ZN0xmJTR1Z0oxOGo9IUM2YS12KFFrQkF8XzV9UnNqb1I4ald5VmZiYEFaeTAK K3pTJVApWTFmK2EyTiY7WDgoQFNhSyFrc259UmVSV3BmajZMdU47eTF0Y1FkfGxXYExOYlF5OEU1 Z3FTcEFUOElMdAorel5iTWJRWks4TU96Um9oY24hUiZMIURvJnAlMmB9RCZqcHIyLUE5T1R6PUZK Q09ESVZMaUpxQXB4SkVLZ3RxfHFaCit6KyZDfUNCeW51Z1hTdFRmRSNKMClhcGEzSFo4WENLKiRX JGdGQlRFQmt+fG14dERHIWJBaDxPKmhBcyVwX3QmVDsKK3ppIXJBa1NUUmU9XjJ1QEljV1RAeGV4 SkRDO21aVVg7Q1ozUldSUXRUM2hOWG52WE9sZVVrdXc0RX0yY2NLNGZsPworenF0QF8mKV5ORyhS Y3ZpN0JlSFF7bVRyKnwoI2dVMlhAZWp1aDhJT3trZSo8cTE8eShAMXBiKkhsckF5KWx1SWx5Cit6 R0VYaUc4Kz4yY05wPDwoRWVKWUlCYUpNNkglODl5bkUoSDhMR1Y4fWhNfCp7P1NHc0JUcSNWKzRp WEBBemZpVmIKK3pFaT8xfT91PHhucDRPMmwhZDJPb0ZjaHJaPmk1VGFHPEF4bzZURVQyVzFyd1o0 QFFaTSkwQ3YtXzhpPWR1eVJAcAorensrdVg+dyNIN205QX5yPj1BX3NfdXZvejF4KGt2PHFnJHAr eHZfU2lHQntBYHBqZzdgYGN2XmZMQzJNYyhpVipICit6NHhWQCFzRTZFM2Y1M2gmRz8lZjUmRUpI UTVrMDYlQSZWJHh8R0Y+c1VpaDA5X183U2BLOTI7fk1QcnZ3IUd8bkYKK3pwIX02P1BNXj4/NE1t YjdFOXtOOE85ey1jVXRtODlQSV48N3NRMkI3JnplZHx4KjMpU0BNPWwkc3dWTlJqaWFjaAorekwr alJ2Q1ZmNiZHKWZqbFNkeFR7Mm90NSR0a3FORDJ9TDh2LXtiR3IzODgqSEJOQFZkS2pgTTsjcS1e aEg4NE9TCit6cVYrZEdkbmc8MzFmUUBZRllTekYpJFQ+RmZGPStrdHZWRU5zdV5oTkloR0dWKXRi aCMoSkN6SlFlSXxZMzk9RisKK3o4c3VAMXQ0YGF2STZWSkNZOylHWDhlQilLTCEpamR3RXEmVCV1 P2hrVzBmd2lMT2g1Ni0mZ1FtZDleYlk+JGhFNgorel9KNDlfe2h1cG5XTSReKV9AOUBNJElOOXpH PUFyYWRWUUlTZkwybi0lIU1fMnhuOFdVdGgzWF5xY2l6fHVfR1EyCit6STQoOTYxY1Z2SFIzcExB PVJeNF5oX0BXQHVTKHxOWWNCQVhtWD8tXzNjampfTnI5V1god0lMZnsrfFIxclRSbSEKK3pfPEA+ em5se00/WHlxditYS2gyWkpIVmR+KXhpaDEmUSVRITZRZF5hZVU2UWQ0SEwxTz9QeGV7RThIJEYq TjxxSworemgldExPMD0lLTdmfFduSD9lMF85b3YkQWNIYC1DIUpxYUBSYHNzQHwhZH5DZXomX3Ik X3EoKG9LfWxuTERINk9BCit6eUVBVHtaamglMFh5PkZnb2JOWGBxQlNgJkZ0c3R+REx+Ymg7fTw9 Z3RgRWw+RD82ai1KbG13LXIrbzd3dEVOYG0KK3ooRzhafCN2aG1MQHJVN0gocUEwdkd+cHRTP2Fq e0o2dnM0dUtkUEtQRy0jK0ZJUlBxdi0wRW5NM3pMRmttWTIhWQorekc/T08tN1p6bVJKdUcwZHJB cVV0QE1RTEJ2fmRwWW9SeH09WVM9I3oqfnU8czUqJTNaTzVEXz1NIUZjc3JvayVACit6bSV3UyNi YmZKZ1J2bHhkXmRkTExVRCFvclZ3O2haKjh8M2cxeTYjVk9yeFBnXjAjbyl6ZChvJGhNek09QH12 cSYKK3ojX0JYUD1QQU99YUVraG9AST52anc7PD0/ZTN5ZEorPStLUCZUKTdNQz5LM2ZSTSkkPyNV SjczeHsrRWZeeE5fPgorekgxNE9PJU5wZnJBYER4VD8lMlkhcUVtNmo+WVQxMD1taTQtSGA/OVVK elRIR3BUfTNIdztNaUAoWWFxVVNnKHhrCit6Mno1Tik3UF82NGB3PzlndUd2PVQ1Zk9kWXd5aG9I N0c+cj0pdTJOJCpyOStLZ0tsdnB6M1gycXBiKz57NTBzXlQKK3pwQz58YFJtU0BeZnx8KiphRjZv S0JHMXQ/MEg8PUZMMERNNDduaXVKbHhGZWNZSVQjdm1Te2I0dCM5ZSVPTz5nfgorem1tJTtHamdz RUZjRHpPQEI1SzdaWXA1VDQrIzFPWl98M1IrRDYhOV47dGQ3emExP288ZXMqO1lmdjdoRU0rejg3 Cit6VHBqZl5kQkJZRlNJP09HSGh6Z0A/NmhoeUpqMUJGSUM5MW1ZeHdpI1daRlBJNWYxWHxfMnNe TU0rLTJRTzg/UnMKK3pgPipjcHxJd21Mb0pFRFBmZjc0UXFVQEAycTtKQVQ0ej0jN2JlMmpoPUtN ajJacnRCWXczOCRYOHVITiVPOXxzTAoreipTcjZlNit6Qkg4eXlMfDZjKDQlRUUxViFHPnR1alc4 dEFnQU55IWpPfEd4ekdKWj13KWsjRXYhMTNQPStzMEFkCit6Rz15TSZVWWpNN2o4aHBDdDljTlNT M0MlIzJwfGl3UXwzSURhSH4wMXBFcWpxMSohb2VKMTk5RXVRMVcpajZsQncKK3pGe0d1ZmFRc0lF OGtlY2Q/cHZlQFJicldjZXUpWFltVjY5VkRqUUMtKSpLPD1zdF5uRHRPcThrdFVhNz9oXmE9SAor elFZbHpgVU9reH1gNk5CO0BPUmckVyVoX1MwRG83enBzVnl9NjBoZUdTbUApYmE1VlgwKD9eRkco Jno/bEFgbDdnCit6UVkjdGopciR8PDBjYnFqYVkwfVQycVZwWmVEOVYmcHh6TmtYc0hNUT9vdm1J eX1HSlpgclp5bU9OTFN6N2NJZ34KK3pRXn1OfVNPVD5xamFxeFhURn5OKT9URHJqYj9JOTArZVU+ NG4yVHspdmFTTXAhQ354QXdGbFFfKiF2NlEySWV2bgoremt9dlQkZiYwRVFKezMxIUkhez4zWVRX Qlo4VGlBVGIqVVVeK3oqKzFXZiE9angrdUF1O2o/OTt7fHNOU0o8T2RlCit6JWVNdWZQaUFtP0d5 bHF1c3hmVWh6bEt3YF92MG1GPnVNYnAoZEFyKmgmfD5YZSRqblRNJlB2KkdXdT4/VShJb0sKK3ox Mnc3c3liRkdaZH0yZmBBV3VaP2B7P209RGhIWU5ZV31BX1l9SC17Iz8pZGApdT0jbEZ0M0htUE1Q dC1lYHZVdworejJvUnF7SlIxMnE9WUJDNmhMRX59Um41TnFWP2I2JFlkVWpQWW8pbkszNGw7ODBA bjBZSUxvWjVuek5KSHJUR0BWCit6WXkycjFpdXU7cjAxUEtYTTNAb0VVQSU7Wjw4eGBWZTxDS2ZZ ajBNTEN8Kks9Yn5MSVJaMkROeTlCen5DKGg/Q1EKK3oxWm9paW1OPipQXi1qalhBeipveCY4T3s+ ZHEwRiVVRmoofFNPaHUrKnJrRHZXYFdVSUUoUGUyQVh4MTtMWGl4MworekB2X3hmTDVVMTdYbTFy fVUzO35+RSErWUxNQElGYz1IekFFIWZzP2BZRGtDJEBGbXpmNypEczlYS01tJnZAITJ7Cit6R0da cUpFZSVeaXJZSGkkNVkqNzZEaDQ+JjwhJTBBZkgySyg/aGo5QTglJk1QSiRWK3g1VWhfZUxMbH5X VkhHJEIKK3pZWil9TyV7VykpMH13aT82bkxJSDY+Yk4wdGV2aztBO3dzK2JSeDhSSDgmbF5pelJh RjNIOEpjKFZyT29rLUU8bworemM8MSVxam9ian5UYmgpNGZGd3tSbzFjO1pHWjx9fiR0eVFnTktQ enJKOzAodjEoMkZCPmIlR1pIdiNMPjlobDI/Cit6XzRuTys0YD5gUFVTWiVHYlAtdHhyKkJrKHd2 eSUlP3ZFWjEmSmJSaUMmMDZsdEpWNk1JSS0yd1pscilzNVN6NHYKK3pzNCMoJG84bCFFNUN+RXNJ Y35hO3p+QHhKKiNgfUAtI3VfMnJhfHNrU0F4fXQ8IUIlXkdtJDA/PE1vV2NkI21QfAoremo5c3VS X0JsQk44bSQwUTwkIzU4YTZ2M0YobSQhZ2dBencqWCQ4VGl4NHBkdDNheWpwZUZPYGkzMTtaKjkk X1VRCit6bVg3K1A4T15kIXUlVzdAdXZLWm53bilIK1YjalI+KUExKlIxQ345fSVRNTJ7MGRpRnIj dVpyUVd4Iypee0JLXl8KK3pvYkNxPzN8YX5JUD02dl9DfkJZS28kNzNNMUJqdkdYbEN9XldBZmJk R3dXeSpoTiVOR3YqI0M+UlhvTiEmeEMobgorej01ellvd1E0ZFZ2NlpseFV1SihKb2FnTEVwXjM5 I1gmbXpLZ054IWE+flVkPU80TlhHe0QlUmB6M09ePGo4Y288Cit6dzlmTnEtemVDSShjVCNrRjl5 fnE0JD5mNGVmPHRDdWZENEgldC16Yzw9UUNtYy1gdiglNUpFJEEoT25ZSig2RzgKK3plKWo3VGVF QmRkZ2FGRlI7MiRpMUxhXjAqRyhnfXN6cU9jd3NXeGVWT1F5VnxfNGY+QTRJe2AoTWp0I0lVSiM2 Oworek1xeHp6UXJ0PHlXTkJ9I2hzJDxXdUM4d0s+YGs1dHlDJD5sbnFoQlRFOE9QaFg4JmJAdlk9 dXArSDkqWEBVQmVPCit6aFNWfT4oZjk1TF9gbiNiRXN5NTc/dXdEdThlKyZvZ1UpSzNsNEVlVGh3 RjU1cyEqLTU2O1NxdV5iR2xPSD1vU3wKK3ozeHMkTllVckNOZTxxKTBDI2clSkI+T2okTHlKbD9z Nktie3Y0U0Z9XmhibnhPdHZiYU5wMmFlZVVAIz4hTX5rVgorem5TYVg7SktsQVEqTiVFdmtzYS1g dk9QR2B5ZUJkUGstcEI4d0J9fT5Edz9kWkBzaDQ7YmV2flgxOEFacWE7d0cxCit6aGc4ZVpXJktr REpjeFcrMT5eYktrTSk2JmREQmB6ak5YWmVRMjNYQ2EqaXZrTjBuRHpMQzYqRGlBRjZyZVgrT3IK K3pIM1RLfSQmeGZgdSordUtXdyRvXlNaaz5NbH0yWDhvYD1NTThONkRQJTM4ejRXN1Y5QnZmWjk5 RVYhVkR0MEtWcgorem4mb1MyT2thTTdrdm1sflR7KFZYJDQhVVM9aWlCVG9NPkYzTERNPn16Zl4q ZTkkXjhjO3BIUWdVcCYrendNKXo+Cit6XnYwQ3IqTDgkTWJHIyZlJU81ViphJVZlWXJuMDxANUdT U0J2c25MJkRwe34odiZ1VkkxMCpec256c1o+UT9nQiMKK3puczZXYUMqPEVaRksyRyg0UCNHMzlQ M3ZIQVFpUnJteDd3NTFGNWZ7a3tKNGxmcSlVZFEwX0NGeF5VTzlxMWR6cgoremRXOW4ySFM3P2VP VWBlYjIrYjY3Zyt9MS1sQmRZYUY9dGFBbEV2ej1JKSU9R3JXZSpTbEZ1N1dvXnBPPXMtKTsmCit6 TjM7dTxmcWw0I05uYUVnUV85b0gkY35oWEM0YD4+QHd+PCteOUdaTUdOdEkmakgwaE08b1pWUWMz JWRjZkduMUIKK3pDbHZ3QTs7JkBVPWFycWpJRl4tKDN2V2p0dC0hMSYjaSgkTzQlMU5tdmNOfilZ NXo1RjErXyZJNl5MNGZueF9WSQoreiphJW5ObDU3QG9lb25ZISZIeytuRUlJOCVLR0c3MDRmcDNX ajt0QVZ4MzlpVUtqcmt0dnMzMzYmcGtDRzFwY1l1Cit6JXpkY1Ixb2o9cHo+TDhiS2ZGQk9KLUVA aj5GIzNfSThKR3V0aWYwKnM7KThNbEBacSE+LWghcys8NmJYRTs5fjkKK3pmajFBTWIzUUlIVyE3 KCoxbDRAd2tTR0FmaXNDSlJKWi1GSTVRMy1rcUxHaHVnUk07XiQ3Zlh5UEtjRnowZ01UPgorekM7 fHdOczx6PFMkbWctKHRtbEdCWlBpa2gjTz4hV0tiNHc+ISpyfGxxdmZsOzsoczArNENgN0RSbkZq U0BZSSQ+Cit6LXVpWVQ0Yk41Rj9IaUVIe1V7dmA7c1hoZjc5bSg1MF9rPHlsKiRrZjd1TWpSOzQl RWptSWRPfitIPFU+RF8qJE8KK3ooUHUtPjhnbDlXI2hAKnYkZyp7RTF+fDMqdj1BUnNJJjRFTEVG cGw3UHNAMEd3bnJLc29IbTRtejBESkQwM0xyRgorekM7Un5YJT9GOS0kVSZPfk1kcWIje1Fvc1l3 eiE4VmV9enxJWkh5RU0jRUEoRl87V29AI0REdFpiSmI1WGZSMmB9Cit6VHhlRj9ZKjNwWDdGJWo+ QEVpLSMmNiFtXyFoQCNPRVMrYkIxWTd3WEw5bzR+Wkk1Mn1VYiRlbnIpJlcobVJBWHAKK3prNDtB bEdwNm97NjU1ZkI2VHg0eilPSzlVVnBRQmFIQiokPG9lbjVaOW5lbzNGOCV5YUdvWHZMejtmOCZo V2VBdworejlLWjAkQncxekdXXklqUk4pU2V2VHIkO2hnNCk1VEl8V2N9K2F+PXIjVihYYldkb2Z4 ZFVwcWFoYXtHRFZFZX54Cit6Z0wtUFE8SntZJT51ZDR9KjZISUdGSDEqX3AxazZhKyR8enA+R2ps PGQ8ZmlydHRRJlhSVENofmRnT2Q1a3ZqbzUKK3pDaUp5SjJJQE4qMnR1KU1Dd1NILTs0eSRAZGVu cEpndG5vTz94Y3BCbXpifURRWiNRKypEO2kxQCNycFdqVngtcAoreiU2RHpvYFImZnJGeWUoS1Fy KU1Oam52NmY3NGUhJmh3WTJVNDdBUjFyNytTOztVTjkpRUVYPHY/b0xyTFBfR3ZyCit6NXEtTkh2 QldeTWxFUFc8RlpsVyMzZ2lrUkNTJGVCdXZ4eXteLXdFZDcwfURZcHxyeGA5PnV1fFRxRHh9WClE SmEKK3pGKn5oNyVnMUBXOClTM3JYU0crUWJmPFRDPDRSMHlSZUJjdWZZKTJBeVp9VkF3NjxkO3Nm T3M4U3U2MFdBSD1zOAorej59QWomMEhNOTUlQ2d7VWZ6V3MxRiRvU0VVbn5TfUpHe2tQWCFrRU04 bXNMWEwyY2RMXm0kXlR2YD8xKF8zVlpCCit6RFdMREt0QEtgOVlpTShMWX1aPFNAPEt1PTIyTjB7 bShWfSkqITk5Y0gxY31RU3MwTl9pTmdeZnImV1AzVyp9Sm0KK3owWklrfE5RIztHMF9GJiU/YSVG OGtfWFBUdlFCVk9YJHAtXzNQNGZYRy1oUTx5Q2pAJDctfWhld2ExI3RHUlMmSgorejBvaUArMz14 P0ZGb1BKR1E8dCp2KzRSXzJzYG5tV2JlYkJ2a0c5JXwzam45YXNYYyp1Sylob18pOVFZI2d7Xkhg Cit6bSNuJWYoQ3dOQ3s+VCo3V1lnU1plQkImPiFGZ2FBKG50OThLbCRWd0BiKUw1aVZeT3hGY1Bt RCEzOEhlSE1SR3oKK3pKYXpNSyQjXzkrVnl2V0Yqb3M/UStEKUVVVXlPJCpMUlRVPyk0eWpVQTBx Vn4/LWRKRHZYRX4mZzYhX2FQZHdGPgorekpGbkQ7czszKFVJT0wmOzU1YkF2am96NzBAME8jekpL UiR+PkVwI0s/bGU1aEZAQE1JNEc9a0hOWl4maTRLNX1BCit6czRKZ24jMXdRM3NCTWIhclkpNXkj PClCS2h8UWVZJmVUTilCWU09d0ptdV9TYm5nPnVoPU1PfnszT3tKVHdMfCEKK3omJGE8Wl4pand3 aTZ4ZDBpWUZaRjl4NUYwKGg+bW1faWs5NSo5Uz11azE/Z1M3MFViMV5EfE9MLWU9Tk15NH5ZYwor eiMmV3gxRWhsaV9iIVQ5VkQpaF81diEmNUs8Wk8xaHcrPiE5eFleQkAwdWYxYEBzaF5taSohezta Y1ljLTxsSVVwCit6dnIrZn5IT0Jlb290SUlJdSVZSXtBd0JCJnhJT0ZNKnl2b15kfmZKPmUpK2A2 PTQ9MUZHVCNTNWkzd2B2MnYjaT0KK3pveTE0Vyl1TVU8aCM9QHhVNWd7I0R0bX1TPXg8SCEhK2RV VC1rblB5UHpgXkthMSViNkZSTXBkd2RYPDxJfm98WQoremUhdz50NGUzTHImJGJpPCUhWUVzQ35q UHVldkFObFd9MXA7bjNxd3F5RkQhcVc7NnNsNzdvIW9te0ZPemdYU0EhCit6TnZkbkRqTF4qdCQk S0BGZChpczFRU0VmYEBifGI+IX0zMiV6PUVUZHQ3anQpWE48OElOaX17K2Z+dHdyeH1LSSsKK3px bkdsOzwjcWlfaU10SGtTYHhrO0YwI2hIRW4zZj10dXJHI0ZSd19ZVHNlaWZPYEptez9hNzxGdnl4 U3F6JDJubgorel5TNnZJT3BYS1dpe041V2lGZnFAYSMqN09DdHFtWWR8UjEzaG1PZmA0JCFub1FO VmVSbTE+SlVMcXI3dHBLWH5hCit6aHYre3krbWZ+bjZgfjF3T0dEbFNGbCMkbEpMYktOUXtla080 SjZERmNtV2NVWnt9ZjNhbFloOTlGS1lxWFpLTmwKK3pnZVo0Q3JxTUIhSEkmTDYmRSQ9YCpGMiN3 QUJSR0VCSXFGUnUrIWU2ZDk1fFMyNjY3JT9ZX0MweUFGM3dgVVd4IQoremhPdy12bGgzYT93Rk1S T1FwUzNWTiVFO29UN1NmbjUkLUxDNnYtdEJ4XkF9Qit4NDlpKH57VE85bFE3XjBYT0MlCit6eH4j JnE9TG1neSNMWHp2Ulg7KUJKTmZ1Q1N7cnpTQ2FsREJCZEpxa01MO0NFeXlNXjFKWDloSEd+NG8h cXMyR3QKK3pZK3tlb0lfQU1hTW5kUj95T2RPTmtaU3J8UkJNLUxCe0ZpNUR7WkkmNm9qIWx5Mjw+ ZlYre2ZDcCRDYVkxRUZBcAoremdnK1ooaitVQVd7Ujs2ZU9ZUWpVclRPS0trRU8yPFgyPExoSTYt PUQxczB5SS1CKF5NNXIqNil7UTtLWTZ1ITIxCit6cnZzSnI9fiElKnFVK0sxKnZOPHZrSj5leTM7 c2luanp9YG5wMz5nP19ZSWJnUz0/c2RnTCQ7NEJnaW1sMm1sJWEKK3ojaVhHKGlORWxqYzV2OHVi LUUjZlVWYmlVamMyPVk2MTlZZ29FVCZvaXNJVDJ1YWczKXQ7JVVHcHMhenhITTBQaQorejw8WmVI XyglIWcmLStqVGNufGxgO1B2cDFjano7UTgzZ2RZdzkte1JFKiMjPmI3PEhAX3x8P0BPNXk4I3Rq YjdZCit6JGVhZElxO15xPjF7cDRITGA/JjY9V2lwMUd0Mj1tVTRSPTM0bGZGR1NhRSFCZyFDaVVQ XzRpYkNPZ2tAR207N0gKK3olJHRvezg9Vl8yYilDej1lcGRZVTJ6JjF4VHlrSXRqbnMrVVEreH43 N3xEMVFLTWRFPG1INiptMyg9d2s5cT9zQgorek9vdWJLX3g7QGpBfWFxdWRBPkY1PiorSk4/OGl+ V0E5KG4kRXUzQDJzXm8mYlN0fVA7Kkg8RT40NXI7OTs1VTFhCit6VWVqUi1yMWQoNTFjMnBAYEFM aHswVSZXTzZHTCM9bVQzP0BjRUphdHZVbXk3OSteZVQjZXstPyh0MDNpPlkwZVYKK3oqMVpgMjcr Xjxrdm8qTXdyVEBnajA1PFYoeiluVX1PTmVWYiZTXiZjOyE9QVM5QEotQlAkPGU8K2YrZHR6VXpn TQorelcyS2xgRShOdTZUb3ZqRjcqJilqcGZAMWl1Y3o+PXchbzFKWnItcHglWTAlIT57REhwWVY2 ODRXQG8wTWFXYTRSCit6ZE5XX1QrNko9S2FaMzZmcmImb3R3bG8/M2BsS24han1ffk5eJldWcDRr ZiktMlNSV2dgMDI9Pz9gTFNDVlZCN3sKK3pCQkV9Pithb0clI0BHYjQ9TiplUGg5Nl9ZNmZ0NnVE WnBJT3B0PH00eDFnWGA5N1ojJktITmBNcldHVFFEM2x3bQorelgqUkNkQlE5Vil6USlNMjhTcXsp SXhVRDZ6R00yPyUxO3pXMEN1fG1vUXU3ZEc/YS1iTXFTeDRCIUVMTTBATHZrCit6JXJrWDZgI0Fv eSs7MFQ9U2NOdW1DaU03Tygod35pVjR9K3VuNm5nekZiVXFZYGcxXk5TZkx6bCU1fHdRYEZBYUIK K3pja0BDX3sxVCpsIzM9dEo0MHskfHIzMXAtQXBkfjFFfCtGNG5rPDt5Xzs+UCptYUVsdXJySXMx b0E8cGNCbGp2PAorel9FNH1DQCNYQDAjcTUtVDVIYkBpWjZ4JXM4LVd6SDZyZzxtQlEpOEVxMlo3 IWRIckhEZ3pMQkw5ZmY/PnNKb3t9Cit6NVIxWj1NO0xAWipxdFd3QUlJI15tJTNrdW12PmBTKFB9 RGhYYWtHKldZeStmYEF7fj40TkUoPmRQX0lqOGw4VW8KK3pyXyU8KiteRW9CclBKPj8lWiNgdkNm UittdTZyRilVayZsPkxOVURgfDVePVZiMndjYk53dlNQX3dZfC1LTEp0SgorejFjfkdNWC1EVHkw eWFqJEA/b0hiQlZESnZifnt6I1VwSHNuTHlpb0VlV2JmUFVHWHZ0UDMrZSFNNXQ4WlFNU2ZLCit6 emZubkQqVkhDXkhXTEU9VWZFYVlsLWRDPXtSSSZleDN2X0czJWJWVGQ4JX1GckRKPDdCezRldipQ cm4+enBCYmAKK3pyaVE2cl53VWI7K1Y3Ri0tPi0ha3g0eE87QH1Fb1BgKXk+bVFXIWZzWEdrUVM5 X1RSeTQhVGJmPXp5JmxRYylvSQorem9VTyQlKXFOeUQhPy00KXY3VnlBbz52anBxR1koSUtGcF5x IUtXY140fDNQM3dBLSVaQ1BMRVlTO15iOzRLSXx+Cit6VTJzSFBkM09ATj1+ZzJFR0hhei1kfksz JHhXJm9zQ0RsJSMzfEpgMHJlWERTc2RfTiRQNnZERlg1b21KNlZLTmcKK3pmZmBPdj9SbHlyZmha cFhmOy05eWs3ZVlhMWQ4UWkle3JnbFZGQm89Vlh6JVpZRjZDVHEjRyomUnRIWm5KMX0jZgoreiRB UWZaRGJNIStvWkY1Nzh7Tip5Yig2V3J3T0JjU2ZPcTZyQVlWK2NLPDhmZ1IxQjBJRmdrMGApZEVo WUtMell6Cit6cEJXV3socVdxT3EtYSRlRSY3bCgyZTt0KC1HaiV0ZEJGRThUJjx6WD9XRDxaVCY7 cjtxbnxqJm1XUXcpYFdkNEUKK3pmNz0hTmB0UGkrYkpfU1MmIXhfUlJLbkUybmZ1WG00djQkWSFW WkIrZzU3aFQwfD5lJU9VYFA4LXZTJXZVZDhvfQorejZEISNgU1h8YW9xKzhgV1RuS0I9UFIrT251 QHRBdUhLWnlOcTc+SWNxd3xUbzw1eVRYWHp+XmRkNnoyd1dWSzJVCit6cVp8KkVXYSFWdFBmZ1Jp XjZ0VyFSKSQwSVBXaHQ7eUVhNEFSdSVNeXRZTlF5cDU3JXJCcUI7RDlyPGZ0P353ck8KK3pVcFB5 OGVuKnklVCE2bkNSQkZkSEYyUXtiYXRmTn0kdUYzcz5ecCtIU0lVTXxBRiR5Yjc1ald1I3RPZEVw PkF1cworejljZ3pCcFNhe19JbzlheWprajQkWmMlUWNQXk07X2g+RmQ/WiR9UT5ofW1mNGFwUU1r YiRQcGg7UW16Wj9TPjBDCit6bVZEIWgweWk4VSspQnZAWipYU0NrQ1kheSghTlAxRE8hKkRRSF5j SSpDPnM3dj5kaWtha3hsbm0mT012KUVESEQKK3pJKiQjdzd2OG9nSXFJV2l2RVNuVEREYDw8Q0V+ eStqamh0e1dlKE9HSjxrN21sVDdUNEJrZ0lJRllzWjA7RkxjUQorejt4cWpPOFFAPjk8PlRoQ1Yt WWxOPS0mdUNHQiRHZTV1VGt0My1vVXElNEgkQilHe0NybmxtfkdoQnt2ck1HdEI2Cit6WiVga1Rj WElpKztfJFp4NW5ZbWQxRXhgNDJKZSZ7I18tfmBIRUk9eGcpZSozR3syJD8+S3wzV2hHQXdsRlEq c0AKK3pYUm9OaElmUGRtISlGWktFWjN3USFuekNneikwMlhIJDtFUyokfGplVVYxVUA8fm18P0p7 Kns5YiVLIUZjcHIxbAorejEwekohVEVNelNyJio1fkZFLTI9UERTbVEoV3w7fnU+PmVyISFzTkZC ZDRfRD1POVZmKndEbl5gSzN9ZkJaPzl8Cit6dGFRRiRJSHhGR2RgPl9iUUlVbmhlcTI9Y2tIZCln MklkK2BWbWlpOChtek9JVTV7SzZ1ME15UV82RHc0Kl4pPmwKK3o8USVSVEEoNj1MTystK0R4N0p0 KFMtWVRzNntKTXgoZlBDKksmP2U5V1RMblR2MHM8aitCR3BVSHxeLSFyKG5neQorelBTXnRENCZr I240TlI/b2ZVYTBwX3ZfWlQ7Wm5gN2MlZzBOTyhxSExnOUdaTTQ9WWV1QHgpUXMpRWh8RSZQUV9l Cit6dil2RGNuNV57QDZsYEdGaC1wbktzaTUlUzxzbW55OVN4ZTk2RjAqV1QpYU5GaGd1YEFZazsw cCsmVUxmeTtkaW0KK3pkP3NmJU9qMTR2JS0xPEM7bERZbCZOTnlNb0d0UFBIRjFAUEprNz59UFct Mlg3e15aPEVAKzBJX1pncz1JbHkzZAorenAzZy1meUMxNGQ5bmN5ZFlvNlFyWiFubXtAQmpMU21q SCQkZXB9ej8laX5FanNxSn1WN0FIRHModzhtSipRSm0wCit6clZpNkRPJjMjQ0hscl8laGk+MWU4 dXIpTCRrUzYrMjNqcFZTfCY/MmF2T1VPOVFRQmgrQ0R6aEMlN0NyaHRaaisKK3pqVjdRfFpgP3dp Qk88ZU1gWFNAJXxKNXtwJiklcnp7TVIpNzJsQnJrV2dGU3N8M2A1Xmw5SENxMV82cktPSEZIcAor enFUVVI/TVkrO054IVhNNmQtSWk3SW9DdigjS20kU0JBTDRQY2RNQHpnelVtUUF0Mm1+WkwyMW5m U1IoRU1zbi1gCit6JnpzVTZkT1gwfSFAPGY3KkVDbCZFPjdWU15DSlN0TWYxNF9LZiRIKWozYUlT MV84al5rfFZJdVRDSGZKKGR2UzgKK3owemdHR3Z0UkppVj1WcyR7aEZHfm1HPWFhPko9T0lJUCQ2 IUVPTWUwNTxQeWZGJFNnNFVKZihgVl8yeVZkT3MrTQorenpZa3NSTkBBPmFZYzNqKno/UTgqZm8l Uy1KTFhlZGMpaUojd09HJl50KXhFRFBpQWozWENrZHAlcyVDaHlfSHFmCit6OG9MRTYmKndFcG1o QzR5cz5kYDZlS2ctKGNgX0Q2K0cxRVpHPjJnWVBNP3BRak1QLShqViZaPCNnKT95WUNJamoKK3p1 YWpWVEZiXmRpdzA3O2p0JUtITzRQQX0oOypIOGEpazJeZG9Sbz57WU5DN2ArPVo7ZnQ3OChLN0x8 dVd0UHYmeAorens0JXAwK3pNWGZleHAwNG44O0cyd0xMfEpqdlREKUU3KDZ4KDwwTFFkeTxrYUhu Q0JoOEFJe3Q1P1BVfm5WSCVlCit6PGhRPTBgRysrSVFxSUdIWUZ+e185bnJQKzNOIUkle2U8bVVR eTY5XmFiTTVIQWxOJElkZV82cXJlT142Sl8hQ2oKK3ppNytNQyhnVEFZTnF1ZjBrfD82Z2tDYXV9 ZDEmaiVLfmBgVnU0bUg3Tn0qeiRFTH1pWGA9Un4oS1dPVmR5Wkx4RAorejs7ZnsrI1AyfTtiTj15 VFlXcWd8OVRKXzluSEUtI1c3SldnMlJhczI2M041KyZBSmgqbFlHPDc9YDYwN3JYNzEqCit6ZE5N QmdYUV5YQHZpOzQtOGZkdURSVnRvdFRWcVZAcCpUai1VR34memtGZj13Qk9PWG9FeW5ke1k2KjQm aVl6ZlEKK3puK1ZoZ04+eXNBQC1oeUpGUVkrRT44SmhlRVlSQFcmTSY5KGFle2E5YVh1IXt1clp3 QEEkTlRhSCttWjZHd01VZQorek4hK14xQTxwOEM7WmhiWTVIWmxtUmd7a0xkVSlgc3VoTThSciVT QmZMY1UjJS1acCVQeWhfTDFlSXs7O3EhfndjCit6KismaUIkSTtWX1c7RWAhQztsT0xDV2pfRjwz fTJEXk1SUiVfcDxsMmo5MDZlWTMwXkNkNTkrO3FJNWkqOT85MygKK3o8LWc/U19rUmdwaH1wKUBn I1dGZHNOZWVlPzxXMzZ6YjVSQzQqITcjPX45fXEmWkl9XmVuM2dpTTx2TWZAfEUtbQorelVCX2Az cn1OTWhOayRLakxOLTkmdXVOI1YhTn0rbD5gK1N6MWpha0NAJFJgcCpveGdLczdwVWVLSj49fkhw VWpJCit6NjI2YCR1KiMyfmlRUmJBNVdjMCVCfXVkJnFiJipwbHM2dCFFdkJ0WF48THdsZlchbjtn VzFTRSEye29jR3ApeGkKK3psTkhEVTRScVdlP0ZkIX16YWhTdVJHKjU4MHU0fFBMM2JyRG5qZnN2 ajJEX1R7NFI5Tmo5YVp3Jn5SMFAmVVV5cworeldJfjE9ak9uVm4tWG5GPkE2QTJGJVdyZV5XJC1l bXFLU0pyb3dVcUJPJktISFBUZGs2RiUmYD9HJnV4JGhEU2J8Cit6VCVjR2NqMmkoZz4wP3ojViRR T1pVU0dHUzdCUTFURXV4VDYxfXNgYlArbXVUJVowaSVZYCpEbklJRDFeRXp5UksKK3oqYlBkOGZV b21XNSFDJiRCWWx4d0UxNHNBPFVsUnRCRjBAeVZWb2N2T2NlYWVBTVM+MzwrWEIqQWItdkZ6NlI9 UgoremtrITJOZSlKYEA0fXs1Wmxlc1p1dSErUUNrYXJhRikoX219NEM2U1pNfUpsWnRgSyQ5JS10 ODl2ZGdJT3BJQ1NZCit6SFVQUCRRfTt6TFNeRiROejxVLXR4fmZ2QXleXlR0JWRpUmQ8cWx2fnl7 e2RoVzZWKkBYejM+QnZWKCR7K2pXYUkKK3p1Q24mNW5GKClGVTFFYFhhemNlbitrJT4meWhwJXRu Y3l8P0tse058elZiMGt8MD9RdTk2QmhFbnE+KnI7MHAtMQorejR3WDR4IVBDYT45SHd1TmttP0J8 KSVHe3VOcXZ4UyYyXmVOJDA4cW95N3UxfT4tcXh3LT5DIzc+Vy13JS0pSWxaCit6VXhuI154NjNT VF5iRyRhbCZ9PmkxTHNlVjVjQ2A5YW1sfm4zVl9VM0AxJHBGSGQqTSROPVRYNXhieShzSU5CNTYK K3pJJHhkMnJvJn19Mk5FWHsxXzltKkNUOUY5UUl+ayhEflB9fVNNaitMZ147SE5tJWMpMz12TE1r UkR+P2xBRmlMRAorekVTKFhTVDNWaSYwQiFLWlEpais4d0BMQUtzelZURklMIWE2YGVaSnE3QFAo VmEkcmdxSlM+P0RqJjNLRVpHQ05GCit6XkFPRENxKHR7a01OSmNkZmxjdWpibjxLSDFuUnxTdnRX enFxUFFeKGIrUzZLRGNmaypLOTZ5QjN1KGZSIz5+LXMKK3pzYVA+b1Q/bH5qVmVYbTNsVWZiQVR0 MGIqUHhER3hMSF4oV3ZMK2IrJTgqfGFDLSpsRTxpQklJdFpmWDl7IT84fQorekRnR307aSk7O24w SUEtQ0pfQlBkIXNLT3RGMTQ2JHBqYUtNUyl9MS15Vig9UG5YUTcxWSNxMzkoIShiQiVwdzR7Cit6 TTYkMSRqPW5sYSRGP0xQMTdNUCg3RE87ckgkN0lCQFE9YypWQF5OVTVwOGlVYjVncFpWdDI3YHpI TExjU3FQfmkKK3o3PGAtMjZkeEJUdmg5dUFYaG5MZiZaS300Q29wRGxMTzNhRmVVMG5DbmItdyVg ZTN3NWttNk1PdnE4OW4/O215cgorel9rTncjNUl9bnJUcH5hMmtSd0ZoYmp0UmpeMF5RaDxgNG90 Y3tNRlhITlhZY3RafEE/YWNKbGZnJCMmKDMwXnNsCit6MHtSK0Q7RU19ck8zTklzKH1PQVpIXihL Pi15MkFIRUMlWHtZSFVuOUQ/KHppM0khcEVpblYpT1hicWJZVVA9RkYKK3pAeWJJcSlQYVQybjlN WE51Jnt2R0xsNmxoPmpCPzZRUV8+PDJMQ0kmcTJGMSlQNHpNQWZnYTU/Z3c0OVUzaUtVIworensh YkZHdD5YaDlGOVJ+RkxMNCZ2TyYqZ0ElZ0hnWFpXSF9VXnE9U2EhemJgSkFKe3UxJXV0PWs7PVVI TkRYVHAhCit6cmtqT0xlallsaygzZUtEKUsjQ00zZU1DI3VtMkxMKXh3SDcoaExVeEZsX01PKk1x SHx7ZVJZNEFLX1RvRVF+JlQKK3pfemNaTGspRX5kdDt3a0BJYWdSaCgmVz1fSHJvYXZLI2A/Mlpn Vjs+Sk51ZlJgU2g0KktTIVNJKWdrQTQpUjNCNQoreiZTWX1qcjJJTyozYVBNUk9mOWc+QGA7Vkh4 Tn51R2lMOXUjc3M+XykrZEkwaWAqOEU/RiVwd2MmYDtkS2N4ZV9PCit6N2BlOE8tPTg5akdHKXJ5 e2t5IVpgJmhGemYlaVRVMl82OEFqfipCeGM2NClNent8cWIpUStPN3tAYldKSmpZQiQKK3oqNUtI IzRpSVYoKnQxQT82K3dDTUtufGRrQSgtYkt4b356eEI0TDhUPEt9ayVadDNZUUdKRz10MCF4cn1k LXlpPQoremRVKmJwYXAlcUF4Mk5kR3h2Wj03TFQxSnE3TFZ5MFZWNW11fEc1SDF0e3w7RCEyWkMl PkJaYUx4Y3dFTHRreW9MCit6aFBhM0d2P2pVME9iSWNwNlc1NT1MOF4+eyEkbTsjN3c0ZEk3QiRf N3AqZEdYQVJvNWJWT0hFfHViRWxfMDF0Wk4KK3pBUVZYanEwcCZEYll9TVNeRHJnX2VTfCpmaXdI ZU4zSj1tTzQwR1FjPWZEaUhOVE1tO0AjeDtyQGkkMCVhaCFreAorelcme01idihkQ0gjPWohTXdo aVE+ZGIhTTQ9fGE1VylRelBLRUpeUEQ+KyRIPGIjPnlkTTwtQFJaZ3x1Q3tnTyZgCit6WURpLSg3 M0BRTkd0YiRROXVJNUBZUFNSbEYmZzZeQV9zUHRgX3QjPVRId0FPcyFQdzB7JTctQWQ8PF56a2BF SzcKK3o3dGdhbCEpbDlRVHc3a2ZQVkNkOzxCXlp+V3oje1Naej0lUVN+XzVFcX5vcSRzd3VnYSRl MXM7akBtcXhkN2xwQQorenAxWWVqampPNnctZT5YPlQkJChZe0Y2UiMkWlJfRmNxYlNjZ2VNN0o+ NGZ0a0FiYGpGPWwoc15RUl5zdGsrXiY0Cit6d3twUXI3VWkhJm5VUVY5Tkhkb0wwRlU5dDZTV2Zf Zz4/PnBweyRDJS16SWIja0ZTMnpYU3pUVnRiUCRoQD98TW4KK3piIVV9b0Q9N0M2MlhnOSRYbktM OGlvP0VQKil6aHFie0FeRE9TX01hLSUhQF5YO3M5fGw5bkNJSmxNaD54dDlOUworemJNNGAteS1C blhOUzFsOEB1IzleZnpgRnZsd2FaaiktSG9zMTFKLXJjVWttY3ZmcXN+bkk0V0QqKHBUVk1PWGcr Cit6I24/R1RYQktWaUhud2VCNzNZc19SJjNpeiNrVEU9WlFIaE8rY3QwQWAqdSFpeVkyaEItcSlJ UWVCVzVUbitXfDkKK3pfKj8tQCV2WmtubjMtaTQhM0s/Qy16aXpCPH5BXlA0NiFJQyU/ZXRKI0Jj QURWRzJMTEhPbClyZD5RaD1DeFYkUgorekVvRThZOWRqbHVVIytCSTthd3hgYk9qbGxwWmRKdCR0 IV5QXyMqMHZrKldKbT1MZCs7bUp4QzNnVWBfZyQ7N0NMCit6NnVROEs2Q3hIfFdFZl9mPF91VmVM QEBUaSZ6ZW97TyhgWjdnMTF3VUZPa1NCbzJONWlCbypVaz8oSEdxfEtHKmwKK3okTTs3fDVYVis5 LVJ+fmFmY2YmNVQtVlZiaDxnPGVfYSlsP2l2ajE+dXV1eVp7TGxNYG5JNjEqMTZSMFB4UzJWeQor ek4+cX04IWtoIVE9YCU3JlBKOXB0WTwtcUl1YUtnZDErV1RJc01qJHtJM0I7d2N+JjYldmBxbk89 d21WYTk7S1VPCit6UVQxOGVvOXptWVQkQzwwb2Y2YnRGNWJNVD57PG5BLX5QKGQoeyN9ezx8Jjcp Tj9zPl87Xy1ZQzc8fnZAeChLQFcKK3pSdWMyYU5Ia2ReSThueUcmVClJM1B7M2Y+aCYqKXx0SDBU a05AZVVBMG05P0w1cHNVZEJeKHdheVc/UzVhUno5MAoremhGeWJIU3FuU1ItLT9YOWdlZ1ZeWklW Mj5jRSgjVWcqLWB5I29QNSNaUnhYd3RUbUY0RTNGSnxlUEBmOSlBbmBhCit6Q3tEPiR3VF82RkxH bUNSSGFRNXAxdzJ3ZmwxVEQ7OyZpKThrbmhTSD1iITVmalFgTEleaF96REJ+WHt4RCtNMVUKK3pC eSM/SWNfYiR8bkJSLUQydVJBcU4+T0khLVEmQnEmcW1hclh1fW9yPzx5ISt5PVgwaVlhI3wkX1dh c3gpJERmYQorek9rd21Ic0BDKCpJQkxsdFIoeShLeChVNFNFfU44IVZ6ZDZxbEBfPD9VWCl4U3ph Iz5YcXErK2hldk1yK3NqelVfCit6T1ozVHgkcz1NXzUoaTFTUjlrPW9Ia31+bW8rUkxtT0YrU1E7 NlFhKz1oZSFvZ2pKeTdAYE8rJEBZdSs8TjtSVlkKK3opRik+ZERBRTk8RDR7KE5CUDVqMyFYcmhN JG1kNUhYWFZfWWJIZE19QCtJQ1U9YDUlWnhBTXVFS0tlfWs8QjJoTAoremsocl43Z05kIyN7d3gq QV9OOTtuPUx4MFhIWmEobUJxKlE7UXgjTHlOMzEzWGc2eFNvaXMmPklWKjBlX29zMDdZCit6RW4r VFROTlh5TlZeJDs1SnQlalRVbiZmVnNabU0rPCQ5YXJuRHpVZ3Q+I3VvWkY5OWtfeXs2c1NgcnlC bD08YWIKK3pzMjZKSi1XQCYycThTRDktTWNlZkNHWkF9ITM3TyFydWkhc2Foc1BhKFl0QGNiVz9Y U1RtP2UjUTZaYzQ2RnVOfgorelJlKVB6U2Q5d2goZzFDYmwwJTM4Mjk4IVhaSzUxdXV0JG1XeDhN OXxMWmMhLT1QMGN0M0o/Q1kwS2ZONnlWNWteCit6U3pLZH1HSlIleW5uVEJnYmc0X3IyamdUX0JX Q2F0NzhrdGw2cChuNmg8YD9Zbj13N3lhNm1ZTXlLQnVHbHojd3EKK3pCJV5Re3cqdllIUU5UfkQz Tm9wcz0qZ2BGQHdkYmgjQDlMTEdLJjVLUmtlTE4keTgpQzk3b0h0QHdhKCZkbiV6Qgorej5yM1E8 TzB+VjdSRl5zbypNI2Z4aFAlYiQ3ckxnQFo+NSQzTWV4dGMobmd7P0JVJW1oKVdacn1rKkR7ZVE2 SU1DCit6YEJJaWIpbCFEfi1ZamtFckhDKnJ3PnJBekxAJTZTZ1hJXzM5SWxSNVJMJGF2YlZhSTY4 aXpYeCtIdyg1TiROKWgKK3p2dlVhTm8yT01yU1d5OTtPMz1hU04pbCt5LWUlSXFeWX4pam5OX0NR QFk/MklRVjE/RTN4fSZGQG92b3xBO1FLfAorejkyIVlAK3dpUH1FVkh9eHtybjRiMCtDZGI0ZkVk YFRiNHd6Rj1CYEB2aj10fShxS2lhaFMoVCRCa0ZPYW8zP3VQCit6azlZUHRfR3w7YlJlcDxXYFla NWxlPDNOUjhraiZ2QWlWd0ZoalM1UldJK3xZZDFBWCtTeUgxWmRDU18xP1h1UkEKK3okOXJpRTRN dENpe3VvaEtRVmY0Pm0hfWJhUiZjRHNNM1A1cipZKGBeKD87PjhyIzI8anUkbWl9ZnYqcWx2RmNQ RworelZGVm1ePE1wRUwyeiFMSXhhcSklUzZlclVwPHpve1olWmZPbkNVLXpEZ24jZDBrfnkhS2Yr JCtGeGlFOStpJWRCCit6Z19UXmwoPyhXYnBxNEMxUEhhRWZhNGJFOEY4fDErbTQ1X2pSIyNwbCpV U0hZaE4/My09T2NiMEFwUj8hYWZ6QmgKK3pefUl0eyRncGtNNklaWEIhN0pSOUJzPFAjeGZZYjJJ e1Z1UmducWZ2TVYjN0JVSUU4WD83PUc5TloldklkYm5HSgorek41OWZFaTxTandkQ2Ald3hjfnQz YUUlVD1xZHw/PE1wWERNSDZ5KmJseE1iRj8payNfY1lDJWA/Q3ZORDJGZiNKCit6VnAkWFpsald5 dWlwZXBTIVA7dWx0eGlGQldLQjIhKEtGY3JNaH1NPkNBenhlYzNuKUZ3IWFtc1FfQFBEQWFweHYK K3pzNDFfeVV7b3tpUjZhWHspdi19K09xSTErSTJBNyVNbSlpaVhoTVQ3Kz4xK1olQUY1aXg4d2Vf eFc1QURKZ1lLWAorelNpWnx1PDRaRD1YYEAqWGs2QnFpQUApITQ/Qk9tTyhxfns0cHMoU0k/Qm96 QiFue2RAKmhNKHY4fSo+Mng7REx8Cit6cyZBcD4lN0pNaXw0Z3VFSjU2TG16Y1J0aEElPz1qRzQ5 dExZcjQybjFRMTt9WmohYkd1cDlhVDVAVVcha096bG8KK3o5Z28rZWNeaWg3RWBmSzlaR217OTB5 dUJTcHxsXzIqJk83Pzh+bUEwKXErWmhxSiRwTjI9PXcqNiFANENSKnJTegorejA3an5JN05MPkFh PX1YZTxAciteY21ma3RyQWs2bE5NbClSRjUxZjBeYkh2e2J8U0FIYF5vez8kaHBkUkdtRDxpCit6 YDhKRTBARE9nJkJQUmhMKV9QSjMkbnM7V25pPCV9ekdAQH5nJShyV25lX1ZuaG9DSkUoIVRwVEdl UkZSTzFQOTEKK3pRPmpKcDdYUF5CNVFAZSgoTmRVXnchM2RmT0xnR1U4QCtWTWwpbGFQN3wze1Z7 eSthRGVyb3l7XjdLX3xecCEodgoremQoMihARDhfQ0piezxCd19BcVE+SEUoYyljcFlLdHgtKk1Y dXNkIT5kNnJHM2QwfVVSUm5TeigocEpwXylkWHhICit6ZTgtI0hGd0VqanViNncwPVpJK0NMQEx1 QWhMKmE3dzZie2JZSyRzN0lAKnJmRlp9REZ1OUU+aG1XPFZRYm4+VWUKK3peT3hUWCg9dCFXJURT eCpPK2pKKShNTGxCSUVrVDdWWjRQQyRkY2Z+X2dyKmomcTAhOD5tZ2BwMCZ0MHopVWQ0Qworeno1 OHBtVDRDcEVPYzQoQmVuaV89R2U3ajtXTG93Wm1lejx7amcrMjI5IX1+dCFrM3NwVkZaNnFLQ1py ekwmZkxyCit6OE9Ad3c3d3IjZ2UwOWBxTSlHMk5wXnJPLXdLayRhPDIwNmMqVWdwWU99KjMkYDAt WUI9UWMwRFdRK3pENTRYPj0KK3o9NyUjfCk9QH5GN2chVDRVSy0lUXJGfm8yJEJrbkJJPjdGfEEj NjR3UllDRUllRU00QmF9TmBwNTh9Z3hiZEdRZAorei1YP15uVHUhbUNDO2pDI3dpPEUhbW5DZz9f YUhpZWNyU0RRYDlke0RZPkNQKUl8NF47cnI1UEtlcm4pQTsrYEBGCit6WnQ7aD1PM2p7fU4oV1JL V3s4TmVEP0ExY3tqNmh8QE5mUkNUck8rb0AzMClPU0B5IXgkJFk/NVFAMG8ldEE9PXEKK3pZclJ9 I217VDx9eV96MV9STllleSskKCF7K0NSTnIwXiE+Nlg/bDZ8TEtpUWNLeClVfmZPTXlMe0tUMzZz d0tNNgorejY2KWReOThpSCQrQTVCSCNXPTEoNSQ5STlnND1tXl5MJHZYQSRzQ1JmOUV1TDBiRC0+ ZUNZO3hYT0pzKS1QUjNfCit6WWtxNGlMc2NKbHVqUTk8JSYoejFpP2tFKFMhRFRga0RDc0ZYOGZm N1MjXjd1YCtVTSV1fEJ8YihuZnUoSW1IVEYKK3pKQ3g9XiEtTXE1UFNgNW9GejlwRDFAJCRmWkh9 ZVlpci1vQG87Vno3WS1NNX5xK3I0M2Rfdl9ZUkR1ezcwMShOPgorelFVJjdWX083ODZWeHpvUENi TEgjS1E2Z3s9ZFRjV3orOEFVUnpDUik1bm1TeTVUPUtKX1YoITxmU0VsV2VTc348Cit6N0okSkwj PUlZMWVTMmwwP1dPazN3bmtxUEpoSC1Obys/QDZiP20/JHtxfGNXOF5+clZoKWx8JSo2PD85az1s RmIKK3pNSSNyO251KEtrWTBEMWZWeUNuMipiOzlJMmprIzE+SU17SS1VYmt5IU18KWpWQlM+d1RZ ZFpJOzVtMUg5OUxlWQorejhRUSVgPEliTllZSH1hUnU3IUE7OXRoTCtqUUEpWWM/Vj5faUBfRH5a fTtMVCFedlU/MEwkbSM8Km09VyVpRG8pCit6YnxxQ3ZTJl4rIWE4UCRHMElJa09mWlJ1MG80ajxF e15rXlpwO2lxYWJyZFFtWWN8STFCMkhnKEwlRmMqUz1QTH4KK3pOM1BLQVJ+cnVWO0JIOUZaWSpf ak4kcyVqeSk0THwhUzVqeUhsMGQ0R0pEWkZZSkRsUFc2PGskN3o7bFkrKnplSQoremhab29BdFBm bDJidTEkOW9KT1dudzApbVc3WCpONWJXOz04ajVJVD54Zk9+MiUjNjhwZH1qYjJ3TGghPkZteX00 Cit6VStvKkc7KSZyRSRESiU9ST1HMitnJj9wYlhTPiN0aFUlRFErT0JSWEZWQzh6VVNPJGlSbj9H RlYje3NnZT8tJngKK3plWEpvWWdNME1jNF4+NU1HKz1pUWVjblI4Y3gzXitSXlZwITlqWC1oUUlW cmRFc2B7NTg+aXJyQFhOYU5ZMyFocgorenhTN1k3eV8jezZtPT15e3pjSyUzKHZpdEVOXjFCSXtp KnJ5eDBVfUM0bXEwcWV9cUYjPllqRVIwRjxBZDlLJmZyCit6QkozMSslR0hmNDJ4b3RjWG56bkoq U2didmcrYjJYbHJ3Yyk0UTdkUWh3RnRNSTchSnVmLXxFVkZoQ3N9OyZkZWMKK3peZXI2VWxAZkhR cF9WQ0wwKk07azZuU201YXNXOUV7cTBDS1F0bVV9e0hIcE4wRWsmQXJ4JTBORHUjUW17IUYqTQor eiFxNiNQZVpISCh3PDF3VG4xcURBe183WWwwSCU1b203KHRGVkdmKTVDdnFVPVcqKk9rNUxTWWpm Oz80I0JuMDhzCit6S1JpP2NxZSNMSDRCSnRSRG15dlVFOHgoVENoa15eOGw0ZXxoazZpMHkqcFQw bElzMnZTfUdodlN7cC0wZGo2QigKK3pvXmBKYFNpbFpKVGdxaklvQl56ZGd9NjtYJkhrPWFLfV5u fk1CXklfb0QrQ041ZjhRdXl3U3doeldGRz4qPTdRYgorekctSn1yTiFyMGR6X1RhQGNWXkNfSzZr WWJ6aSEoP25yVCg5UnA1XlVufkZnQV5XUmx2JWh8X1lYVWpCZT1vK2QjCit6MmBRanpBQk1DfDIq cFZmOTdYJjBRWEF4cmhvN1R3IWZBSih4PnU9fnNBK3FpRGlQWVc8OFA5RVM7WDZkXj0zKEMKK3o0 Mjg2QClCTWJKUHMoXk88SUZTP1FwOWY2SyVmYlZ7JjlEX0A1an5zdFVMRnBHOzxKMXEzfEF8ZWZD WEQwb2o/Nworej9ldl85byl5N1ZUd3QydmQya2hZTHJmRihmRHJPY0ZwNXE9dTsmZjdCQHVnV29H VEhCVEohe2htfCV0NXgyTXBUCit6Ymk2WXx5eSMyTWFiKiV4KTwzTkMkKj9peXdKR1ZeKFBGMT9P UHFyYT1fTkVWIWViM09WNFUyIVctNCQ2IT5qKWAKK3psTjR1Kzt8bmxxNXl6JF8oZVUkcGBTTzxp N3ZEUSg2ZSg+cVlPWXVvaHVTTnpabjJ8ZUNEYD99QShgWnRgOX1fJgorekxOfTBAe3ZHM2NkM0dn b1JSZ2VHNUFEaCRlUWpfdW5aeVFRRVUpbXNlYURneDBQZF9gNER4RkIzQGRMfmBkMWRFCit6MVow SnJsX1I2OXduRmVIOCUpMUhPczB0K2A7bVlfcSRrY0w1NS04JW1saDx8NEBaMHpyU0R8IXpvQypp ckJRczgKK3p0JVlaYFBnMTtvJUk+fj9fUFIyMWR2M35GZyE+STJGeSloRUolWEs9WUJYQFVwJjQr MkBJJDZiUnBUeioxNDVCZgoremJPSkArO3JoKVBgeFV5dWB8ZHIoZ0tVdUgwLXMyVGYrNlohOV4l YzIodiY0VzVgdU9TQjN9QHFfflhURSNoeUBICit6RXIhaUItaDFoaDM2ej52TXdhcFl4M2gqXnda SVJYYldkKjFPSiZOeC1ZM2BpZ3NeITtDcD53NlE4JUx1dW4tMigKK3pmZXdKMEtofStFbkgjVT41 RCQlek91PWk/WVozKVhiTypgalRhVmR7Wl49RVIzZUZCVTBqbVY/NG1ZVzxwcGE8aworenBPSkUj dWFjKD1TMmc3R3twR1R8TE8keFlCUUEpTVI3UTcjTWMtMTApemMmeGhyKVRXKyUjRzBBbVNzQDd6 a2JCCit6SjdacTFXNVFjVmM9aVhDYHgwfDgqeDt+VlcmQX1icmp1Rio7b21BSEBRU0RaZSNCbjVo fnFrZz9rdzl4MyowcWcKK3pze2ZoYnZRKig5QTBAK0NqbTdZWjktM00yd2YpeTRfRHByXkB8VFlN TEA9czRkQTNJXjFtenpOK2MpezloeiR5NQorek4pVVFDYVhWKz5kRE5Fc0ZzdW4tZGR7eDImciEh ezc3Kk9gTUNURylmLWM/T0w9TClKT1VjUSsxe3BtRTRkR31SCit6cVoyamomVTF+fnk0R3syb2B1 NytwOylZfGtRYXk4Qn4jNERxWGJeYEozc0UwRXBuUkU0MkhkWVgqUXl6eXQ5TSYKK3o3P0k3SnhB KHtXb1FyISRoY31fMEZFKkBtIzlBaFZGJj5jSkNhQjUzT3Zjb28hVk8xKXY8eXVhSThAdnpPTlJ1 NQoremgycHt9STBsV1c2JkZpMVNuOW8mcipzQXJ3cWlGSVFVY214aCN0Rl9rMk1WNHlBcU89ZjtZ e2QzZ0kyemFkSEJTCit6WmdfM1lQYzYhRjV+Uk9JYzRwYldZcGpWVk54eFFyRCtzOHBMP0BFaXJz bWlqNzJfQVZpdiVhMkpBKT9yQEtIJCUKK3owXmljVz1HTz93YUJQSDZPcTA3cFAqS05meSRmVGdT JmNTN3J8YnkjYFQ0NkRkfTRPPTVZYTFFc01PbU91TUUrfgorelRaPG0weHArblZQI1BrMCUmLXlM Kn1peVB5NUVxd0lkKkpMaWpCLVYmYiE7TUJYMll4TEBUTnFacnUmNlpWJjdUCit6NHxhYXNVaFdu eUlCc2c1cGQjNDMwRVQxMUNpVnxFUFpvRXlLRHF9ZFNNTkAzWDt0eikrRShgNVVCaVMmOCt4aTAK K3omaEIwNnYkMEUtUHRXWFdpJW5aK1heLUsjYn1sJW5oJSMpcW1sYGFvbmM+RVM9QG1wSnBOJGZA ZGx7VE1pNjx9bAorelJJeiEhdVVyS2w0ZEVwUUFHM2VtZnRjOWRvdnM9bXA7TSU7eDBDPmtiSmAt YW9mbEU8VUFzdURRKGB1V0pvaldLCit6OGxMTzxTQyU3SGIlOHxlZERqamJmbFlHcVBqSzRebE1z UGZ5O1ordkloWXFxPk07I1AlRFYmQzB+RW9YS3llRSYKK3pYViQwSnZsNyMzTjI+PU9vem5aeF5B YU08K3B0UERPdGtERT4ybU43S2BwbVkoTUEzPkAoNFhQYlUmO254MmlSVQorekgpQzsmY0V3c3hx cFRiUzd4M09vTTs7cnJPVDBkenF7X1RrU3FISGg0YyFDZ25pK0V5T0B5eD0lYnZQWjlKWVBPCit6 Pz8tRFFiREM0VT13SjBPITg/OXlANDY7eStjeDtARXV+Yn1lQz19ISslXmNjWXhFSWNTV0kzdj8y a0t9aV5iWW8KK3omJGIxN19eV2dtaCVFekZvKCg9dil7TzBsSGU/R1E+JDxVcEtZSjZBTHIzeG14 b3JsYEV2cnN+czM8a0FRYjxQZgorekVkTC1hU1dVfCY8QmgrUkt2XjM4JXJKODt5Z0MrTntldn0k emFebV5NfUtxZT4+e0ozcEp6byltK3ZYRVlARSRBCit6dlFVY2B7UVIjSm4/NkV2Un5hNCU9dj9H SzxNfHYtPj5XLTF7T2I/QFlxZkt3WkRZNkRpdT9+N0R3dTtUYWJmTWAKK3p2ZmRhQjNfMDNfTmhJ KXgtaCZlPypveHwmVlAhYz5ic2U+PnVJMU5IN21LaXo3am5eMnlKU1RFMzFUV2JyPFctSgorelp5 R0xpOXs8U3d3fkc1VCE8eCN5RWIqKH1Zdz1PUU48eno2Q2l4Qn5aT0BvSGtLd0h1aHhiT2FZPSQt PWUkfjNeCit6Nm85WUp2Q0JlcE9pbzI+aT57NSlNKk14SEsyQUh1WU1VYzBFM0hBYVZlTj4lQ3lT K1IhYHtLRXVAcl9sWkhEcGQKK3pxTjJzT1BfRj9OI1I2MHJ6bUI3LXZGJERYN2EwPURRTUl+U1p7 N18/WmlNZ1dnaX0+Wkc5NChHTlpsY0ElODd+MgoreklGQ0dkanBgcTM4aHJfZCF8TUlpOVgyKSZu fkwoYjdPdXcxKkg5eENHYigkQj8xNGd2eHFPYzNZYSo2I2xqPGFXCit6KzIjXk8tWiVNN0pHViN8 aHBUNXk2JURBPFo5JjU2ZSlJZzE4fEJ9bHtwcTkoSlcmcCFXQVJrdlFtTjZxSHFlI2QKK3ooQEo8 OEFONEc0TjZlSDV6K3M7ZG0qU18/XmZVJWpWSUR8Vz5HMDFtRzZiSUw4bD5KU3ZfVSlecGRXcU16 SHl6cAorekM+fEtRNWtGYWYkNkI7KUgjRmhsUGojcVNOPFNUb2o8dlUhV2hlZm1iTTFPNkFDI1lZ eFJidlV5Z1F5JW5UPjI5Cit6QzQqRTdxU1Y3OzVMSm4lWnNLIVU4aytWZE18JCZPYEdSfnhnTSM2 fmhAJjthaTklMHMrWTlNNmREWXA3elFzMzgKK3pRJD9tTSRuPWV8emooUiNXakVeOFFCRSQhd3pP MEVFeDBtczV3ZjhCWDF5bW51blZlTXZ6eXk4XzxEX3hePzw7OQorelNHQFB4dWg9QT5KYWVWJURr RGRhWjcmTDhKTyVVd1FtUHBzK0BeKC1CRz18R15XXllXTmY5ZnQlcmxXTGNzYVhsCit6V2VvUVFj UE9ya0YlZmsrNjRoS3l1XjJxRzR0QEFqZyRpUClONzEqP0p9QEBKaTk/eig7K1k+S1g5cz97RjVL QF4KK3ptWTR5QT0+aEFEQ3lDZnxCfH1GbDNTcns0e0Ftc25xIXstdmtAKzwxSEBuMHRmPDlXUXV3 RW9RcGtXTHF1P002JQorekNAbXhTSk5oNHlke300YE1aN0MkQihzflZKREQyWndyJkQjM0k2M01z NiMyX3VnSmZgNENKVy1WVmNkLXJpI1NhCit6MVc2fDFmSmVecjQ3TS1CUCt6MGpRZUNIKnBGR1R9 UlVzZj12OXtvPDBJSUAkQjk4ZzQlMzZzVHo5TUZVT3UkcHsKK3o9QjlhUSFmeyZ7VThKejFsbCZN PDcpaDl1UiFyR1NFO3crZEl7UkZjSzN8MSU+byZzS2syflQ7eE9MJHxpXztCRworemdUQzkyVlBW WkY/YWlGSHtOU15kbjw3bWFKcHtiN2UmRDcpS0VISn4/RzBrK1pxfT5MYGx2TGR4PmRXaVdjOUpx Cit6fEJ5aUV6fThNWU8/antzN2cwSHskM0dNT25VRkU5RUtMPHpjUXVwWjVVI25OKztzLWQtWFNL SWJeV1VwZHdqYWUKK3o2I0A/NXI0YGEhWFhDYG5ePF9NYlozamp7bDgjdDYqPVlwdDM5bV9ZcHx3 JSV5bF5vMlVXTjA/Wj9lPztTJmJCJgoreldWMWZRRDtTOXNabD18YTMtbmtNSDlEXm1NdVJGI1RV QmxRa244bTROJXs8I0omXiFxUnIoeF55KmF0b2xPMW9kCit6WVVZJVlCeTF5Oz9DTyp+WG5XK2tw REFTQlApd3RJPnd+KHZuQHVvfj1ZIyhxUlFITlYtRTA7I25aX0EtbndGJGsKK3pTRnBOYmFIeEx2 Z25BUTdqcGordFl+YEEjM0dLVlAkcj0oX0tSMz1NcilfM1VjMHVge2ohVGxER19HTHtWQk8yVAor ek9mKkBqKzZpQipSQXZLR2VGTEpAUUU2ZCFHQlkhc3QrJSpRS0VJXiRWVjl2RzRxIV5PTiNvNEBT bntfJCRgVl88Cit6NGpGTUpzeitxc0olXzJJbml6YjdoIThhPUF5UDMhbWA4LXxqPXpLaWV9Izxz RFZoKFRhM3ZhVFd6PWYoYzx3TkUKK3peTktffTE8SXF0RTtSJW1nQnk/Nk0/VD1fO2dibDtzQXBL JFZhQSVQbERlTkVufDdvIXJqWjV3d2VSS1A+aGl7VQorejVGdk09Sk9OX2E2aUBWQVFMKH1GXitV YStvNnZeJW89fldzP0dxYGRaaU9IKyV6dWQ5I1QmMDxlKHRMVHFRKnt3Cit6MWlgQilvfmgmYG9U JTQqeThGKWpJbHFrM3l0JEY4PHE0QVc0OFoyQGVvVTg+RW9teWAtOUlhR2htd3UrSSZZTmMKK3pT TTcpdHlpWTlPYXY3VmhYTXM3fWRUQDdQJDdQQUVXVSQ9dTxKeSRRWFl6YSMxTkppbit0dEE5WENY OVA0MTJuZAoremkmP0BrUTc1PFUwPW9tLVkmP3xOTW8qQWFvSnd5MS17U0ZONnowZGBnO2chUjlY aHt5N3NDWEdUbEkjZntIX0F5Cit6TEFZcTNTYGkmJDdvYDspVWJUfHBhdGBhZjljRnNJS2F3XjxJ e0V4Oz41aHNiVShJeHo7JE1zIzlrPGJ1Jj11UyMKK3p5Q0lzSEUwZ24yciVLZ2EqOExQcGspNFZk JUN8XzNKTT9nP3A5YHFEVTUyTzVLeVVIX0BLTkw8cDFLKigrO0QwbworekJTITJeQXcmYGgqT0dC ZDZNWDxmYX5oRUc3I095NlRhLWBBWn1jKndCO2NxRCY9YUt9VnUoQUA1NGc9JEhBO35oCit6Z3Mx P1FLX2FBKz9xWXY/XjBqVi0/O054NE4mWFRXZGZiaVNVUEJ7SyZZaDF+WClwWHFEOWQ2V08rKl41 dSRaXjYKK3ozOSVyMikjMzBwRUs2dUsyYjNtdVl9eWh6P3NiYmhvY2N2aUA0NXFse0JaNFVDMmJL cVJCVGVGKkhKelB0I3t6YQorekZARTNXcCFQVT1wI1lBdld3UTFgYTIlJmB2ancpK3hYQlA3SFAj R2tMTW03WEp6Wj5tNj1pb1I+QkgwITRhdShLCit6c1BaRio+dj5ZTFg2ci1vXl9PWFpVZUk4cjNo MHI9NmNWV0EhOFEoPEs7I3VhZiU0Z0ZUNXtgfjZgMmI+dldaT1kKK3pmIWxYUl9Odms3N2dUWTBp VkJhNWhve3lhSzFmUj4rb15RYVJtaEw/ez5KejF7NURweGV5ayYmdjE8Yj5QQj59UAorellzeCFq X3tXNEBEOG0pQk9LT0x7bTQwMWRGQiVeVlc2PWJIckZjZXplUkRMdmh9S3M1NkBqeTU1RFYmfnI+ Q2hgCit6T1dEOHFvNnRTPFd3Sip2QUo7JiEpantBSj5tPntpSUFZYDtpal5vNT1weUM/KilOP0hC dU5TIUlaT2YqSUZ2MikKK3p8Mi1jRjZvSkU7N3chRj5mKmU/NE5yOE1YJGN7YC1Yb2A9RjVtcSlw SVhLWFQzbVdSZylJMz0qPnFqVFhlcFNseQoremlBK3Y1aXlzbG1aJigtNDR3N14zXmN6PmZ2cTU4 NXJEcVk+Mz1fZShFRCZFRWFeckZyT1dwVE5udi1yXkElSn5PCit6eysmXjJIaHFPOE5ASit5RE5T Vz9PK0IrMWZsZWcpVkteZEQkK0QpJVReXjFsK1RnbE5PXyp3Zzc8RkNHUD5hPG4KK3ozPmA2JXQr WjBSS3dzR3Y9RU1JYEdVRjVzbnZBO0twZS0hQCNvJSlfa1oxJTUzTDM9aHsmIUZiNCV3Q2Fed2Vt WAorel4tX09XQU9LTFlCMys4az1iVGRUa0c4cT49aUlwWjRkb1BWcjUlZz1OPFZmIWROZG9WQWNJ R2JXNU5hOyglKEp4Cit6aH0wdGM9UntLfEd4Q3U3SjF7dSFfQTYlcEl9R0htd0B5d1hLaDJNQjhn My1geWFLUj9sYz1QQ3JlMG88dElNJDEKK3pnQk40LWw0LUxTQm1feE1jWlBtZEhUczg2U2NDQiZ2 dFFjcFlodGUpRTNCU0M8SXFsWmBEX2EwQTEpbUBmKWlkYgorejZ1KV5KWDNWenN4eXhLJitOQzRU WXN9VUsxSU42cy1edlNNUWUwOTMjUmdoOzwySGZLbW01Znt7M1RUcmhgMVhiCit6VSZycWNiajZE fG5NOEdkI1BveT90bnx5NiR6akYxZzFxOFFkXl5BXjhfKX1VO2JoNVpEdyE0WUl9UUJPa1BVaV4K K3paYkUxdU9rbGtFUShZNmBMSWhFcVE5RUA1PWdjWChYK1E/LUxUQEcqbUNPOVFjPm0hMkk7Qmo+ Z31PLS1FVSFIOQorei1eWl85YmQtKXRvKDxTQ0d2OU4oUz00PUl0cihtWExnZn52UEplbDFXV0Fq WVh0aStWKFJ1MS1Yfi09SW9nVE1aCit6MnhsdEpzYnI4JFNtNXRDMVBlfjE0UXdeNDYlfUZeb1JK M2piJElyPTVFZj1UQzVSSFVDeyZsSkRrVUd9WDlseXQKK3ohUy1VcSZEUThEQnk9TjxDbUA+aTM4 TyUkPVAqRDFnUUxlZ3gjVV80PDBzMjdoRi1BYz00e0hpIzt9P2U7S1VWMAoreiZGWHJUPERXNnkx RmNxNyE4V0dVUH0lTnZOTSQ4Ynw0b2k8JHh9LTc0R141dTxUViZlbVBAdjZEaSRXKzBPTGxmCit6 VDtHbyt0eDJSMT9SdW9HMlhkOWojbWljQmB9YVFTQjlJKD9GZCNKSmFxendWUnJCPWB1QigxRTR7 bj5MQFQ5clkKK3pxQXo1P0A/V1dSXlFPSTdlSzdtQTg1IWMjUjVkMUJDVkR5JSgrWVpxJnReallf e1gkRUUkVCRJdkBtdCZuc2JQKAorems4OEZPSGkzd1oyM05ab0VqPjhjZ3NJP1NEfjh6SCV5R29e WWxOa0IwKn5AMUF7PF4lZlQrTXpWS2VNeXdDckgjCit6Z0pINl9rR0dkKD99V2xWcF5rJVgzeU56 YG5OdTVgP0Z0WnhTeVklXihRcHheJn0mbSMpOzh9S2c9SFNWNDZnPlcKK3o0NEQrX0BRaSkwIXxx SCUmc3cpTmRsRmxPN2lrcDsjRWQ4d1Fycn5zMGo3VnEjREs+JE55KyFqSF59RVRxdklSPAorem10 TU0jYGYjNWlINFhtdEpNZ2QqdWJfRDVoekc7ejkyPytMI3JANnJjKiU/RURva1lZJlYjfiU7bCFt V2xEaGl3Cit6P3ktd29vNlZ2a3VKaT0oRWJtdDReayhYNGNRZiFkITBQY2xeOF5+YTl7fClqQEde RSkpfWEyS29wYDZBWVg1RksKK3o7cnM/RUFmRDZ5Zk95JHBYIXNlNHlWUkpvREw1Km1FOX47PXtZ YUJleWlmPH07NyFVQFNhfVFIWGxWJkQyISVFKQorek9jP1RRYVdtSmghIXM5LXl8Y0YpPnYjKWM3 TDwwVHp7ZmpYbX1CbzZfdmJvaWhIMlE9aVBVSzZmajdKcWNgaDdZCit6QW5UU09JaWpMU2xEXjg9 R0FlIzRNVDB4dW07UyZgREJDNiFuMD9WKiRDN3ReRzFoT01mSV8oUnc2T217ZHFmbFQKK3o+ck1y RkZCISNTJXcxekJpMHJQLVlfSEB3JjNEYChIfkEjckpwfHVIaSg9VGw1fXI1cT9DczJHWEg0PXlI QWg3OQorenNjd09VI1FYJiFYNTJHIWBMJElkOyNDRUluaSR+SUt1O150JGBBWGpiXnBXXk0/KFc5 NVVRdCEoMVdsOHghc21aCit6PChCbnY/WjVjYjVMLX4tYEBlUVEhOG5ReXlgWEBBOzdJP288S2ZA MVdAcWo0VXgmM1NPJCgoMUcxUHk8OHE9WT0KK3pxYHE9KFROISFNJlJ9N3dWT05HdUdZIyYrczFR IXpifjNwcjRyRDNTK3Ryel40JEhFSFZ9RTxeWGAwWGJuVVJNRgorem5PTXcwTlp2dU01PEFFRGlS bVomJT5GSDZIamFfJDt6O0QyZEdmSDtAQip1eE15PWV3YV8hZj9DZld5JlJkd2B1Cit6S35rKWs/ eGB0dWcrZWl2YiQzb0BYQ2RpQEAhKVBeWj03WGU8eFo1e19ZNXleZiUkNmUhb3lnezFudFFjViZj UlkKK3o/dXEzK0Qmc2EqZTsyUjIoQEd3R056MXtCeGNIMWJiMzlKQDtOeXd3IVchWk5BTkY/IyY0 YzZwYF9zXjYyfDt7UQorejF7T0Y9PWU2SVEhN2d+ZXIxVSVYPSt+UFgzejVVbiowWEg7I1JLfUVP ZD00Q2t4OTIhbnkmeXRvK2V1MlEyeTN6Cit6QkJHPzZVdEEmTilPejVFX3BPPy03YXVtbyNoOWk+ NUV3RFVyWSlidSpiT1JpcmI3RzNsfDx0SyohYWFiYllXUHoKK3p0MSQ8VjAmXkIqY1kmXyRTJk0m R3A3IyZ1OGpXIVZxcmtCPGhMRntrJnt9JStKQ15gdjtMc09hI0tKaFdFTnQ4ZAorekFZUjl8TEl4 aExNejtrZjlnX1d8SkZNaHA4c05ORFdAQjhWN2leZldiI3w1YD5YdUdQdG5ubSlEPGhZfU5OKitQ Cit6Kj1RTl5lZHF4PndJPFNEO1hXVntKbitqckQ3Tk0tRjN1eHNoZm0tU2A/OUFFeENxcV8xek9o fERCSH5ZRkZfKGUKK3o0Q2ZkOyhQXiFKIy02T3krKn4pIXVCJmlHYnsmRCEwR1lventhQiFCcWx4 V0FXUT1NUns/UmpkIWZnRztsRUNAbworentlZUtjNzt9eztnPH49V3k9ZXgqV2xAQ2NHfTJrbyla R1kma3UtRG8oSX1WZWh3fm9oTEZRJWg7PVk9X0Y1Mj1rCit6cmd4N1c7bWtmPztBNDRvdndES2VM QitYRDt6WHBLYz1pX2ohSVN9RFhyaSViQnA1WVBNRjdxRzdWQSU0emJKIUUKK3pTLWpCQVh0R1pK UDVYZzZqNzg+ME1SeD18QW1AaGVKJlAkMnIqfmBqPmt3PV8pTDByaTZvUHc0czZqelg0R1hIVgor ellGT0d4bndWTyh2Kkd9dSM3Qkw/KjgoTVY+V1JTRCF1YHRoRWxAUjVxJl5iPFBDemkzLTJVaGNx a0F0aDhhMElGCit6K0xzUUhuOXg0ZEM/WnIlNVYlWDVMOXpgRUZvP0poYSQlKDMtOzh0WUB5WVE9 N3UtO0V2PlZWLVhKdFg0WGpTbXAKK3pXbFZXej9BMGR3V3tsVnY/aFd2VV53RCFpZkFxUmN5OzRI UlFWKU5KeFYkUntFU25WSmt4OTVmeGJJb0tNbW0qMworekcrMX0jPSQ2JHBZUl8hfihheSZQTyFK Z31kVElqOCsxU3VvK31eaTJBI1Q7Qm42e2VWU3FAJEtpfTF8ZE9XUihLCit6JGJ1PGdLRUlLcnVQ ODRjRT5XTXxvaF9xNz8kQWw/JVVpYTFQWFhoZEkxbl8lbFQqTzV2WFl6b3ROczFQU1JqY3MKK3o9 U1g8UktSfXR2YWhgTWImNFJpIXhMVSg3JCNxZVVgaj91eCtIXjVOaTw0bFNIZz5yeF5pbysldXwm QXhaZGIkTAorens5Uj9yYmIzKHozcEJ8JWBXNShwZn00Xms4QUVabTBaJjJUbSE3OCtvWDxPTm45 aHo5SzwtUGJ5WEU7UnUzOT0pCit6VUdyRzs/R0A0dj9SbTErO343JWJTPH1oNjRCX1o9RjZTeHY/ TGp0VktRYCYtYCQwX1E9QkkleW5kKCR9O05ZPmkKK3pFaVJTSmU+OHo3WTI7TXJRVzwqbiV+ZFhK KSNLLSFgcDNQP1VfO21rMThYXkM4THdASkNwUUc3aylTQ19XfFltNgorejVVISRPWXtGUDRUZUpz O0N+ViN0b0lPPnB3ezkxPDYockElYiFqP2hQJk01aG1kPn5IJUd6UzN8MTZ2dmN7b1c9Cit6QmdT SGBpPjhUfk0qeT99Qz4jPThRSGB6Xk9MbEojWnxSckpYXis0QHhALTBMOVhCZVRsPG1TYVFkSHxi blRrN1AKK3pwLXhvZlQjb3VYPWJFc2IyVjZ5cjhRWXtuXzFUK29EYFNVVVNMcilDKzh6dnEkdGlU czZYcT9IOG9KaTVFUXthNworeik1bz9fJFElcj4yZk1KOzZQSVIrXk9AbCUlZUlieHlOWEEoeytT MVUmfmNmdUg8fntgSChfOCR2dWJ2d3V+QEQ9Cit6KkZ2d35ZQ2dsdmF6Vn1hNVZYe1ZOWHs+XiMw PTJrc2A4M3BAbDVIKCRaWlJqXyVQZWx2KHFVTnI+ODI9Ykp1IXoKK3pvIWVVYWAhb2M5I211JSU9 Mnk0NGFUPEItTEo2cnczRW8laWVQdkhZXnt3KytfamkkUHN5eUJTdVghcjU/YUlhaAorem1yTnhT TCN4SDNKQjZod0dtbitKcUooTSo3MHxTLUVVU0RsLWZ3bEp6c2xGRmopQDI9Y1h3QnRYUzg7P29J ejZUCit6S0l0fFEzPVE/QD1NZF8+KlY5aVAoYzE7VC1IVWhXN3dFbjwrKnxiOTEwfS1CPSpMaCFz XlJRKzxYWjl7TVZTaGgKK3pgVmd1JHwxKVIoI3FgejwkMj1GMHRjb0ZSaFNzOGhhX0cxYVhBXlR6 PU4kOyltVHllUEMqVCUjUGlLfFYrUXUmdQoreihWbUw8NzgzNFUkekt8ZVp1NiQ1U2FLZGVePE5s Y05xUSpNSCp3e1cmRUlVfFJtdn0xa2ckbk5ERz9EQExsPE96Cit6SHEjVnJhMGVVQG14dTlZWj1S bzctQlNnQ29XMj1hbzlBTj8laWxodGRVbzVnNTlya2xafC0telpDPjA8KG5HKCQKK3pWU0cmOEoy ajdMWmVLbigtelIoTGZ0LUJtYTltb3xnNDZGX2BPP0VIbWZTemJ7bilRMWs4QW9AKEx0WVE1RF91 VgorelVTQ2RjSkhVTjdCZlQleThEZWlDYXYxKUplRV94N2tFV185a2xmTzdoOG5hSUIjfH1hNzBa SENgSDtLbzVPcVlGCit6TjBfaE4rJCtENUlwSEhXc2RDeUh5eDlNMGJQKXIxMDktIWJMI2NZK1Vz RWtSWXd8SDViYUA/dnlRZEo5eWJ5QGIKK3o+WWlaMi1EaVgjX1RxMSE+TSo4KytuQC1KaC0hJWc0 P2dQSGI/QnY4UyNRUkEpJFNlPisrRT9fVVV3aj81X0hHNworejJmPWwyYFJuR1cydXNNJUUhJjx7 PWAqSm5UU3JBY2EwfWM+cjliZCQ5QVk5bkVibChgXmQjIVM7Xik8Z2Q0LWs1Cit6I2dFUlZ5cTZO VihMOU5UKEBDZ2IkQWxLejtpN3pJRDxDdnV5S2RvKWomSn1gQ2pZYjkwKz1SIW0hSV5OcWwjSG8K K3pRIWpWUkVSRVpSKUNXU1FnUjtFeXNuLVM3e3Y1PndGUjdZZkgzektXbXNnNXZBNHx2eTdyZnh1 I2swNCVtYntmdworemt9JVF+PnZeKjIrdnZTdXtjSyE9MXoqQXZMWkZLZiZ1ZlRnQ0NTdE0xciRy a2RQfSVOQzdLOGheST9NVCRUNX5jCit6VTJCfD1rVDBAfXlVTFo8dTFeaTB0e1JWQXhjPT0xQEI0 NTV8SmZlbnNEKSM8a08yWHVPI05yejtVNk9kVGlnRzcKK3pyQDcqX2BVZ0MkLWclKEtJdz8tailR RTFWUztpZj8wTFpQQnhaN01kbiVRTXFFdWglYzx3K3pMOGhVUFE/KVUmdAorejJCdHcwSXYkZEJv WkpUejk+UElAPk44QCZMSHhPcHZ1OHdEVT55JjEmejhrRkQxe29vKUplaCtiaXFoa3BhTSlKCit6 a2FkSkRKbWh3IWl3XztzbXBaJiErTVRTdV93N3dyNDRtKERveTZ8dGpDfEJReUNBOyF1M3didyhj d1ZjMz5ZS0IKK3otd3M0PnQ7e0BVNlB7YlgyYmFFe288KGpFdHteXnQtK0ExO1UxdXxwPispfjd6 ZDhRQUF1ZW5FejhoUD48bk1TbworenQ8c3NJOCF4WDJ6KFdfZlRIO3AkZXd2QihlMD9hJUR5ZXpk ZVZKYlAkX25oaC1rKk5oPmdqUClgU05YajVQcThKCit6eVBqVWFleztaXk9rfFZgNzV1R0J7KSpu KzZWV2ZwSUJuV01NSVQ4ZDd5Y1QtYWJPKmdJVTE7dUJIbCt2R1hTNiMKK3pRQEJ+YWI0VmlfOFI9 OEtFdkEleTNHc2piXkp9SnxeV31ORHMofmoxOVFoa191KSNlZ3dYY0VFN2dQNFQ/Y3RJZAorejlm aDNpIVgmPU5aVlFMZjs1UWhhPTF3X2F3RytMVUNEZ0dVdXFkQlRTV3d+UEAtRUhGVjFrQDBoejRH UTlIeWs4Cit6NVdsUEExYiZ8KVpWPGpqdSRBd2FjdUVLMGkmPCNwO2soQkM/Wn1TaWhGPW83V3w0 IyMkbiktdWRAXlNZV3Q9WE8KK3pJelNZemx6UnF7IyRYe2poZUp3fC00OD8oIXZtVSlfXzR4SnVG Wj5rfEZfcEMrcHFSKzwwSGhuMztXSD80PmhAKQorel8mVj96Y0deJCpYKUBQQWw5Uih3blBfRVle PklzI2tvYztIOTQ8JCFBR0k2Rjs3cXl0RTNnJFJIK2wlfVUwclRLCit6YVk4KiFQNkJGZ0NLNGJT VkRaV2FCWk0rVzdkI3k0a1ImSGBzMGMyWGw0SERoTkgjckR1fWMjOD9SU3FRVXZTNjAKK3poKWRO SHRJSmFXRnw2XjxIIWlKNnhlejg4dkdBNDtNYDNec0ArVi0kQjhyNHgkWk1jKkd7QnlqSV5kKXhY SjZiSgorek0hfj9YNiQ/RipHczUxV3RYNHg9dTBnVklUJCpDQzs4Y2Z5eVBhY31ARF9lYXUwV2It LUdlaWpBbE16aUBPTT1DCit6PkVWPkZgO3QtJTd1ND5udT44XmpwVU1nTzcqKiNCVk5ANHp3P2VA QFVIPWo9QGp4ZkhTQjF4IWY0ITQ7RSplRFMKK3oyYVlQclAmNU9KWFdMKy0xVk09e2Q1eE91SlNk MXkwJTE1U0BGZEQ1Un1VaWE+fm4jUCk1WCNDK3VqamtrWEo3TQorejx1ezc4NGZ1PGstIzlUPGB+ biRuazVSNFA2UzxTQWFxfWNDPGNyJmV7NllTcHMpMjVSMjZSVTlkVXpvXzc7bD1YCit6aTlMRjxB WnozVmI5eGt5YUpSdEZZZjlrT1UjTnN6TmcwNz1ycFdRVE5BKTtacEo0WWpMVkpOM0hYVlIyQ05k RVAKK3phc1k+V0dheUlObGsoKVp5OX5LfUEocUQtRk41JV8kcFhrNXF3WE9tbTgycSUxJEdLa2xv Wk00c0VVR3VITGQjMgorekV8RzNYYUVhfCspdXJOOTMxalRRMCQ2MXJrQ2YyNCleaDB9ZDdURWZC RmBmdkdSKEt8eDhOVl8wUFpkbG54fCZaCit6Rms+RXMzQSZTWCg7SD9vMFJofFAlVk1VSzwmfkFf QTR3MzZKNlZIaEVSJHlGJGhjSklaYWF0YGFJQG5tQDspI14KK3pefVpiTmcpJjVhUW1BO3B3cmpX KHRGJTA1dCtibmxUfCpjYGVZYjJ1aj1VfC1NP1RUNkRMKWxpXyZWZGlkYztrNgorekVDT3pwMkFU ZDtYYio1dTs4SW1COG9+e3IhI1JmT15lOUFzeiFwJTZYdDJWejxZcDRYaXNeOVhhOV4lfTs7Q14x Cit6fDheS3lCR0tkdUFfd0tLTmIjSSNBUXlQcVdLOEErdDk2RXxDISVgal87V14yQUZ2TUROX3Z3 WXlCTjt7djxnfU8KK3oqaSRuYzZQclRAbiFHO3RgSnI1PFRBREdrWUg8ZiU9TW11TXFYWkhUNWQ1 cEpMRHNnXlpFJnJ1X2hYO1IpN1M3JAorejJEKGR0UiN9eT5LK0dpRjcpKUQ5X35aezd1KkI1OEFk RlJtNlQjPyFQTl9nNDMjfT0tKm91V1N6aGMwRCNsJk4zCit6XiUtPENLN1BqaldgKlIwOWJ4P2du bkBEVUghWiNuPCVGfj1aRzxIUHA4QD8pZm93dFhJJkYzekFQLUlIRH5lYC0KK3o8ZF5JfXBLOTc0 TFhQaig1TDNiZzBjUWk1SVp7fCRhNkVXUUQkYGc1WjN6dUFHPkYmbmJ1PX4xd1dUdW1OZGg3NQor ejJsdGM1YFdrOX1pa1IjbHRIVihrYSE1O1Jrak40fEw/e1k4T3JxU3w8SzBSPWIofFd4S3RAMSY1 VWVwflkjMSZuCit6aVppWWtUY1FDNllTPkYlN2RmTyoqKGdaN2gjSDUpTmQmcD57ejxTc01eWW5u WWx1VD9nKjMkKUtgfURRSipQaXMKK3pXXj52ZENiPlhXMVBjc2VvekZyJHo9NSs1O2B4QmY9ZFIz ZnVSS2NjOCslVm92ekppVCU7Z3M9eEM5S2o7SUw/Pgorei1yNHJ6TFJBNjNZM1dRcTtYMGA7V1Nj dVFsNGVsNW5fT3padGRFdE1LYjB7UyZLTkd4MXpLIUs0bmdqI0JOQlBLCit6QEY0VSZVOHVNdVlj dHw+Y35vLWFYQz4jfGZOdElSaCNhIWw+SEFOJHQ0K2B8YTwrYGBnbTh8NWpiPmBEPE94a1gKK3o3 PWtZVCt+UDEwJEc8Pj83S3FLWlhmYTMrR1l9JiU1ZVY5PTNzcGhsaUozfDdzNjN5ZDghIWo1SzNi Qis8MGF0cAorekc1IXFNTkBXakYrITI+R09aYFpnLUp9dFRebl5LJVZneC16UUY+UkgpcyVSWURw alFzKWlkeDJGcFZrMDY+NWghCit6YGNWOyl1RCl5PkhCYSo+ODZfVmJZNUsjUzUkYkx7ZEFRays/ QV5+OWt1b3I5clZiQShZITtzPmtIdHZHNkZ4azkKK3prV1l8cndeUz0oO0xwUX1HNHd1Wld3ODRg dWZBeD5UXjlpRXZ+NVVoUyNaeW5oRGZkI3ZvMWFOOGcqXzU5PVNjJgorenJRNDsqdFpFODB1Pnor XyY2ekhETHV2PT1Jc35LWWx2TW0lWE0wKUhjQT5KZ0Nvc3t2US1CemFKckw5MTg1M0FUCit6bEFj fHd1NkRkNzdiTkpPZ3Q9VGkkYjE3RUpgXj9kN2VVWGVheThaIWdiKmxBYVdXV0Y5UUp0VFBiOChN ZUQ8U14KK3o9ayZzPjFeWSRmIzlgayVtJl9lRlI+PHJ5RiNAYm42I3wjVEtZeC1+eklHI1M0RG1W T1pfQTd4OSp2ZTRwNjB8Xworek03ZzBQNm9kJkZMfnRZQTZWOWFjRi1IfU10WE08OStOODNqNTYx TEttfWx5O0A1T1JFKmprPiRtTWgtR2x1ZUlMCit6e1J0Y0Nga0FaZTFZeWRCdiheQzdWSihgU3Q+ YkV5QiM2cE5uKS0qYyNncXoodllObDBARFNESU5IODhwR3tCbDAKK3pGeCRBWiUjTUVGTFhHSmJV MWlIdnJDOWFzViF8e04xPFhZcUtHNDZoeGwoMGEpYjREcnE7Qn43YWlfd3FVdylaJAorekZuK3JV YHtZOGFUelVyaSpOLWleOzB9UDBJMi0kTDZZI3VsVThWWUFRemY8ZyZ6Z2ZQLSVEajx7PF96TWkm NlZeCit6Qn1LU2UxTTRXbCZnIzJwI1VUWnk4WkRTV0ZXMXIzdSlINFFYVkxeWnlxOGFQTDw3V3VX a0whbFAzeDxXYWJkRDkKK3opJkhvQ0FEV2JPIyRDVjZUY1U1cTVicy1uYGJwJjteQW5BTHtabkBa aD5SZk5GYEhROWlIYVFFKVlNTC03NGElQAoremlJSGpXd3Q8PXxvfTJCKCRaMllAXzdBQ05tSklB QHlKYUctdFctdjVjJERnUTBOTTwwQ3IkSU1tdDRHfEE4JlpOCit6QGQoVnoxKiYkTjw2YX5ASj16 blRfJV53NkVPblVEek1AaG5GO0chUj5NazBsVEUkTHtXUiRGKTZ2ZTBHXmQjMz8KK3pwTmdncmk9 P0wwZ31kM0JMOVV7X2hneXdmTko7PUU2O0N4RzJYPkgyakg9UH5tZDJtKHN9TzswR3hzX21JU0c2 bQorel83OXEmIT8xPDJPTzk4IWhUcTI3PXhJXmtHUDJUSj9TKDBsem15cSpjbCEkfS1sfSVORXFK QFZVaX1MYXdOWkdDCit6RWZ1dlIrNzI7dXp4clQmZmVrbjJZTz1tVXhxaD1ZP24jMkJEc2lxKksj aEgpOU1uTihoR314fUxWRnYjOzNLNnUKK3ptPDBsMTIkMiolej5wdyVqNns0NnxHdkhRKElacVIj ejZLQk16RUxEYDktaT9HeG1VbE18S2R3TUxYPGpZeipYRworenFUfjNgbiF7eVNBNWdGXm5nNTZm Zml8Zkp4NkIkYlEoYGhaQV96ZGgldFp2b0xveVRWMFA+bmJwd0J1IUpmJHVICit6PGdQJm9iOHNk SDhsZGstPGNufk53WH5AMzNmbXVzNSVjK0pxalN7N3NFQzNNM0ZwX1hzNistUUhGT1ZDWn03Ul4K K3pYMz9hdkF5SiYkeUJfYih0Znc2VXRFOHZOPVN3NTtCI3wtI1IoS1p0O3FeaFomQkBLIT5pYmB8 e2Z9WlFnY3R0SQorekgyWHphMDYpSHxiQUF9NU4wOGYzaHo3dzZgeyVEU3Fpa0BTTUxKYXUhcG5x JGFVc2xgbX5Tc3ZBPWQyKT9nOTVhCit6T35RKT1ZbnQxQFVnVHloIV8jQUFBSmw8VmtvJktMP2Qk XnNXVnNoYD57SSRIcjQ5I0hTYnY3eF5JQnZTVn43R24KK3poNWVkSzlQM1ZLJVJ8UlItQmg1OGRP XnxwXlRZMXpPKzY5QjtHU2hlM0U5R2NFZkRLcFRHNjByVyR2LVE2YU0mPgoremQxJFpHYmoqczQ5 JSM9PFBKTWlKaUNJe29JRFlvLWtVMF94Y0hfRyhEeHU0JUhzcVkoJm5NNGd0NGRqcDQmfDh1Cit6 UnVHTSgmJGxEaW5zQW9rN3QxbWpzaEpfTSp2cFFeRkZPcXJjb3wzVzRjWipnS1VWRzR2JGhPZipH ZXhsMit5QmgKK3pXS1hZKW98PUtuRyVVRHZRbDxVOCp8fS1FIyRMajtXODJyUSpxPDR4Yz5GXkRR QmlvfVM+K2gjTEVyblV7RT0mXworelEkYXxXJCtEb3IlVmFXOHRDMCFJaTNTc2k5QG4rfFB4fnB2 YHdCIzxxY1VPV3VzUVYkV2Ukey05VzJfeT04ekdsCit6bG9aQlc1OTR3KmU7Pm1OcnN0fm5mXmc4 ZTBpJChIP1Eob2FoJVVMMnQqaFE1biVHJjMqVT1nXlN+cF9FZFhYYm4KK3o0eE4yNGhSPkMjOHkx b31WPiZzWUtScCp5elRCLT8zTUB3Y01GMyZxdzkjPDhiQkZtZUIycW9FanFSVnd4Q3ZgfQorenh4 ZGFCWWs/V0N7OEFpVm5QZkNxTmEkdGQxOFlLU2RMJmVkeGRmdkcqaEg0WmtHbCMyKVhNSD9YNzc7 Pj0rbVJMCit6PDdrQW9gfnhfemNScnp8ajBRYiR6UGtfX21fNSUhK2FOd2w3S0R8PzNiSSlhTk4m WWRvI3RQcU1WNjk/KHJ8MmIKK3o0ayp2KmxLa3thMH5aTFJtXkBkOVcya0M3M3s1dzsyNk9rSkle OEplPWBLeElBaXRlWFlWbkomeEJpdXgpRX1RXgoreiVkbFRuOVJWfGp3JmV7RC1jRHRzNVhUMCR2 UlB7JGgyZU9oSk0zZ2lqYVk/VEpPSTZ7cjYpT0Y2dCpRJSRrWU44Cit6YDVMKGwjbkdnUk56WWg/ ak9UM29eOTdwRilJSGEjKCRRXlRxbF5odT9XNU03YyUrS1NaWXN2JDFnK1orJW9oT1UKK3p5bFho WGg+MyhxamUjU1R6dDA9RigzLXxZSmpoSjlqK3ZAcDFGUil7dSM7QVlfdkFuJk1qdkRBVTBmMT50 JTMpPgorekt8bHlfViZTTnctK3lhUGUmU1Izc3E8MmFwN3ByM0V+U1VtaEwrPCFFc3NlZkVgNFBu Km5CTktOTX47ZjR3ViZDCit6eDVRMFQ0VDQ4NVdSN3o3X1U+e21QeikrcT02TU4qSzt3VE1OKjZD Q1hmWCV0NkxRendNX2xzRXdKSXF1OSNvQ0cKK3pQXiZeQFZebmtWPTYtdzw1LVh6cFhOSGo5ejQ4 Wn1CTzEtVmRjQTBUbG8ycXU4WkZ6UFRRaTUyaExxMnU5VCNhPgorem8tX0c3TkBxWFRHVDVYQmlu Y3I9amB5YntneWZkc2kkUTlld2xYeX5QVkR6e0NhWnxNT0R2OTBsKE1nQnA2emwqCit6YkZJRHch KSgqfExVQENFSCQzKERsJnR6d2BqR21tQD1TPEc5SlZjQTRIbW5sKWJpK294biFQaE9WRTNwYD5m ZGIKK3p5O2RFQCpRe1Z0bSpwQkslIVMwZ3hhRytWPT9GPjZrZFlDR1JtZEoyWWQ+Vz8hNHdVYi16 VnByenB5PUc4U1VoYAorekV6Y2dYNz1zZGwhd0U9THAjX157T2ZoM1RsbHc1cUlfe2VSLUlTa2tF QmUxVVZXdz5DajVedkZabChFbUBQTiY7Cit6X3JiemtsUUYqKW94YT48YlVBN2klPHNtJTwjUy14 NCN1MChEekJxaGZzUVRMTExYeVM5VmdGeV9eJjV4eCl4NmgKK3opX1FgSU5VUFZ5Plkxb2Y2bnlB QDtlKmBOSDdwMj9VQ3gjdmQ/JlkyNUhPUFg8NSErWlNlXiNGPFdtKlY3Z056aAorekRBdUFpM3kx MTFrbVk7e3l1ZiM5TUtaZFl6TFEwPWRIOXc+biFDJHZGRU4jWCVgPyg0dnsodkU7Oztme1UmdEtj Cit6aj95JUJgcVVodWhRLXkrYGpzNXpJPjFHeVg0Z0VrLWBRdUtyKj96NHZnaEdoMUtkNX4zKldg PUg8UEJOYS1fTlQKK3ozYWVZeE5WMF9aMkA2LW9CJGVyKTNgNUoyTVhYKGg/eUp8TD5TPTtqeE58 OyEyXlFnT2kmNjhrMjZtbkFIUWBiXgorenc4eDNeTzx3emU9YTA8Zy01S2d1RmwrSzRQK1lwbkM8 bktgdlgoJFFSblQmKyZhYDROME8/N3l0SWx3fHRWRkVMCit6RGVva1k+emE8JjtWOEp4UGRLTXVm dEAmc0Y9cCMqK0RUKlI/X017Ni1rPWJoeiZCN1R3SFM0eyQ7JGVocDJJZ24KK3olOX1+YnomJnpm TWhIK21YTkBhcVB3bztTQUNFJFFMPiFNejVjRm11Mih3VFRkMjdqZk8yJitFRmxlaU1vbUdtPwor emRINlNnPHNON1ppeDRwdik8TDBiRWJtQ1QjQGxlQEJ0NE92Jm0qQTNobUxwWFYxYSMjbVkwYUNO bF9MbHgwYzJvCit6RFRISVhiK1VVVGxZfSFZNDc/STBFIWlUYGxtI3Amclp9d2xPZ3hQPUtiNCto JXJyd1hwR2preDR0WXYlZz5gTzwKK3ohNjtrZHltN2BOX2NMZ31EPU00PjtrbElwMjMlLWQ3THl4 bk1rRmBtVyNpKGNLJipPaXBYSz8rT1deJFpgcH17UAorenxGWkc2cCZibGFsbXsmQE8raGpOe1I7 WkVPYkZoYVJsYGVSe1p5I081LVFORlQpUTBhYHR1ZkEwO0l9fGojbkdXCit6Y2AkZHROYlk1NnVp OWchK2E1QVBTa2lta3lMSVdLPiVfeHgkZWArSW0mYSlAWk9FS2ZmSn5kVVhuRmQ5V1YrKU4KK3pV LXxiQnRuJnBIOUdieEB6V2VGPz5gXkp0KU47TD0oZndaTzNBMGVQc3VzKzJ4O1RTZG5USmNuIWBT fWUyN0hDdAoremF1Ui1RLVElclJnZU85dV9IajY+Q2pxQHBIaGlaNiV3MDFLXjYmS1gpP24wZ1Nh ZVJ9a0dPdyN4UGVDPUx5ZGFsCit6Wjw1TT5WVjg1MVAkbVZtajJAaDh1JGtNITc9ZiFuMio+JCZf anxlYEp7Z0ktQVhCTDl0YzNtcDtAXlV0OFJ1SSsKK3pVfTtOK3RveHpLak57TmQ9VnxCO0d7Nmhl eTVWQU92eCQ3ekchTXpQOzRmVGNtVXBII3c/eClwMG9FYDxPa21gdgorekZDYnxVRzR0Nk9zPksr bkRncVNTcDkyQn1WZDhGVmw8YGlOajcxZHdJN0RlXzdHd2FMKiF6T1YpQjZzN2VFUkYxCit6anZ4 SDUmK2UxRVhfd1Aoe144aD5QSFAlbDswbzFzX2tiNXB1QVRaUkg1K2FUampPbDZ3c15wenRRP3dp alo2anwKK3pVfnF3aUZXK2slXzN5fDhVMDFxK2x5IyFGdzdzVT1KK2k+N0U0KFl2NEZMISVvQysz TU1AfjQpMzR8TGF6Xm03KworejQydHxKc29aa2JzXmZlLWZxelpVeEopN3BQWC1Hbjk5VElWZTx5 ZSR4VGxRZCQpVWJzXyRuLXFCSndeVTNFVXViCit6ZjVHXkFNZjJNcCNPfmFVMiE4XmJCN2JXKVNa eGloX3puPEtUM15KT3Y4cjxCUClRYkUla3k/JE0pRDApJFl8fmIKK3ohRm42dGFfRVIrPjVpZntr JnNpMFMpRHxaRFh5aSNUUl49QjZmVG9SOFI+RnhfPz5CSHhgT3YmOGZiRml3bkR3TAorenFNWSUl JEllUnpIQ1BOakN+IS1iJj1+fllvSStTJkcoMjVSP1BhdzU4JjRtV1IkNj8wLU19aV9LVXo/MHhQ bTFjCit6P01DZ21aP2khfmN1UH0xPSgxb3pZUGk+K2hEIWZsTz5PJVhrc3k3Ryp6JnM3fEo3KmJY cDxSb0s+YUpFUWFBdTcKK3oqVD9FK014bkB9XyYyKzV2cT1US0NOS2dvU2hVYSRIPTZ9ZWVUOVpL bDBJdEIqK3J3JFBqVWE/TXxBS1BsZCoqMgorei1PdEstSntNO20xUkZ4ZUdgKmoxIWE2ZElVNlpg SHpmanBoYjEqVENlQUghellCOTQwK0NgdmxjODtSfHdgVWhpCit6SyQ8aV5DRmR6TjxLRns4NGZ5 WHAlNnFkZlpGakFxenF6LXBLJWg9Uzs8RkJENyRnT2okb3RUWFMtVShGNm95WDIKK3pybjtMMHd+ WSFQREVnZEgxPnV6YitQbCM+KnpjUnwxTHVwZVdzOHJNMElkNW5McT05eClseTQ1REVmVFY7UlBF PQorempRaWRqJFdaUUJmXzctfiZTJFReT3d+QVhSZXx2UFh6TUtvKEtMWGYjJX04JV9VKylMdzd1 Yj1XbHBLY2oyaShBCit6Y2tZPj91fkV1Rmt8cyQyb2E4fXghfjhJcFdDMnRGPmpYc19oRmQ/dkBh PSp+c3hnNylAbTROSGNzZlB1ZyQoKSMKK3pnLXczPWZZIVR1NXA7T2c8JGVfZSFBNCMyP2A+Pl57 VFJyZzRJSEhvZUEoNVEoenRoI0JOdihSRFk8bF9OU0FmTAorelNeOHpwQ154fHMmMzx1KlZiOyM3 SyNVbFZrcVkpaiFEJVYweXdrR3tWT0FmKXl9JUpeVTFmVUlCQlJlaT9Nb0g+Cit6eDt8cmFFeGBh M3g8bWZyJilVQHo4V25uLTtEI1ZKTl9ZYyNQbSVUS3ReZ19+ZCUpJmY5KHBoe2p+K2IpYHd6RXIK K3p6WnRxd0t9YTlwXnRlJHV0NFFacHZkZkIqaW0tSntFdiRjdHp3MXFyVHhTdVRXTk1EPlA1TTBw T1dpSXk/MEs/QAorelU8OFZhRlBKeEdtdUpeKjl8bmV4QUlkJGloRT9RdCUtd1UoKFo7T1hNLTQm JC1GbWAheGZYd09FNkpVY0JXNFFgCit6dHhCU3M0U2pielVlfTg5e35fJDFxQ15ScmgwRV5Ld3Ik KENaUUhoT1RjPlQ/d3IkKEM/S3lZV0pqezNKLXVkZ0gKK3pSPXJmY1I4fmYxV1c/VGpPbD9PaEhk WV41SzUwez5geGVTME1pWTh+c3hxKkNtWUxFOzlqRnlvd2x9N2AxRW9mdworenY/XlFadUBecm1R SytIdm58TX5LRm9ZPFgyRnRCK2BNPX5GNk0pbjtsa3tONGRlPTRQPUJ+XlhtZD94NlVuRzs2Cit6 QypUTkJNPUJhQTc+LV80WEVENDRWZml+OFJXPGtHcWgrZnhgT3JGSGpuQSYoYWhvbmooVGdleGs1 SElXKEZeQCMKK3pyQV5wc0s3V187XlhobW1tKkc3YGheaSNjMn50MDlzTGY3OHlCdG9gd2VQOEZr SEslI0FFemFAKTgkbGRIJjJhTworejVRWnJgIzxIUzBYR0NFclNGS0VhNWluRH47QUwzciRAZiRj QEt6aTA5RTJ3U0xjcDlAPTs1O14pbT1IOS1IdF8kCit6LVJNYjtpRiRVZD1naDBCTyYrKHojaj4k bT54Z3RqNV5RPyNsZ3NYc1RjTFY8JjNuSCluKWJgaClPUVJZcVU4XkYKK3p3Ql5+X017TWdAXjB1 QjZ5OCtMK0FNRV9uc3ZgNEIoRiVVYHV1SWpjKC0qa1Jic2BvQ2lHYERERDMxfEc1a3tmKgorej5M WmF6YF9vaXFNSWJ8Qm1VcXRDdElfNjl2OEt5emF1I2h8bCQ3VzFBRj03SSs2QzReV0ljcmcrcFZq NHNBMXx7Cit6Ykk9aEheV0lvITh2fmtaVmA1NHlmaUdlOXQyNm5obThycGkzZmJMTHh7IW9DTml+ ZSY4bGk7e1BffjQrIW4oZWAKK3otVX1DfVc0OSlmKWtCSnVDd3I8NnJGIWRlOyY9c1hII2VWaiVz TEFrbjllM3F5VyMpejhrST57NzQ+aWJEVFVZeworemBUWDBCbWI9N3N3MCpuMWdXZEQofDJnX1Fa aFcoc3JPSDY4TEt7WjEpa35lRip7fTg4NkZQaFdsZXQ+dGtFYHl6Cit6Rz5LfmpISGM5OHNYRWEh b05oTlJtX3FXVVY1QjZlT25yKkg2SCtnMnNscUt4Ym1EN1hLM0VrOCRBcElHSVc9NnwKK3pPXzsk T2dXPCs9JThsM2BTeG1Uc3NhfnxeemdweU13VlJ7JUJ5NGM4RTBWdHdGKFhSSjg7Q1NuM3ZfNEV3 bUgxbgoreihiIXNzK2ZhfjI9ZlZXWk9WYkYrK28ySXc8bkk9ZThzISVBJVU+T29ESGhfXypAVFBj anBeIUYlZmAoJl9fdVp3Cit6eXl0djRDJlJjSU89UnY/YjVZMmgpKWhRODRJNlhEbUhhSDU2dl94 ODlLYiVGVj9zcSYjeUV5YjRad3dpRCRTYykKK3pyfDk7bWBYWngyVyliTll4Q1hRaU8tYkV+Sj1P VW1DMj9Ja1lxMlAraTdBQzxIRDViPHZoTDF2Oz0qIy0yN3N2dgorekAzUWVUeXdtQk1uMSpQRTJ9 T1dodSNLTGNBIUIteWlwbSk4bWh9R2tgYGF8QUYpckI/LWRjUzxnYWYheFJmTzIlCit6SldAa3BY bUVkZ1NfKHF7T3VRd3ZzLW58MUl6c1JkenpiRUNKQ0Y+TW9RalV4eDlGP0ImdFF9JVM0VjtJdTVG S3wKK3pZYS17aE09QGlgKGJDMTIyTVZ3YFVaeD56NUBuNSE+dTlXUSQ5NEF+VyN8RzA9TGlldCZw JjJ+WkVjdk56KWxuPQorejNgR0VITFRxWHE9K0B5bUR2S0gpOHNiPTlLJEQtbzdwdkF3NnV6UUd3 eDBtR0JQTE9VamhKdX5rfERyJnVZSDE0Cit6TW1UQEFBI19YVT5Lems4T19IPT5Cdk1yZ1Z4NEl7 VGBfYSU4YlhyOHtWbCFyJUFxY2dhYTRoJFByS1lvS35yc2IKK3pnYF9EeHVDUGozVTEpfW55TUJR fGQ2aD5JNmYtNDUoPmBLJitFZFdEQDZxfjRsVzNqOEo1SlpXT19RYGJGRGp1NQorejEzdjFtZlhY KyNASmQ4Izw3c0txVVdiK0VPOHVvVnhUQ0E/MDN2Q0hwZmprcjcySSlhU3wzSiVLPlY4RWx9cTFX Cit6P1d8WXJDKSUqe3B5LUBJXz4/Z0JTUjc3ZWZ0cWFQeld8MGIxNyNwUCV7e3x+Y2xDOEpQQThJ NzB0b3x6aUdhb3sKK3pjZF9LX193cEU0T2R8RXNDeGkqbyktdkBkZy15PUAmcDhZdDJDVWdXTlRM PmR7TXBlVmdUR3RLdHZIflJuKTsxZAorenBsZyREdUI4XiVAe15+YW5SJVA0YmlfZT84ZzBqJGJ0 N0pTPyF+eldeTnJsOEQpKHZBdX5Ndj4kRnkrVFN7OzdqCit6e0pzYCplOz1+bEdeV0xhSGVWMFJ4 amRuPD02UndAYjdaQzFZJXlKKTJLSlB5a0U1WjREd3doYjE1VFcmVTV2aUgKK3pkYlQ9U3R1QGlA MCNJd0VYJWFUVXcqdVBPTUFrQTFGST0+Pi08KG0qJjRnOFZGR1koMV4hT08+RWZ8Mz9NYV9qdQor emQ0c0hzQl5iKHRgQ2sqelp4Ty17TFJtU1U1bT9PVGNpNnFZZW5+JmZjNz1PZXMoY2JZJnpmKGQ7 P0BLMStxKV9HCit6IXM8Nn1fR3B9byNjMk8tVXxla1MtKUFkNVJFXiphYyZOJjYlVVptI1NQdz9g RntEYWVoREgwanRXVk8/PSV1QEcKK3pCKDFRb3NxYDlFTzBYN1RAc3MxNkwjeVl6UTxIKUhyRyZm cWZ8KD8qIUBSJTEqT2A9PmVtTTI0U3paaj8oTnZUbAoremVFKjIlU35ZQypEZDMpKmY/NiE5MS10 eXw3P1c0SzctSU8lYF42eDNRQ3tlSjxqI19SayUzanBYNFhTV14jZVg2Cit6aEl+QVYzP1AoRTwx bnJ4P30/ei1CNXIzZkJWck47Ty0tOy1kdVRUPGtBKWVPT2o/a3FvSHxGUTFRSGNpJW9wayMKK3pf REQ7X0ROeTFJJSNXdWdDMWY2eDVIUCtudDxvP2dTWVQrckg5ZDFJUyNOelo0VyQoM3UxK3RwRHN9 MH1zfGBnKAorem53bSZaZUY3Tj9XbXNiRkdyK35xJUUkdSRWZU0+Y3dmd3E3SE96aXB3O2spUmNk UDRzYmk5M0Eta0Jgcj5oJGByCit6b21OfWArVTRSTGJsaGYlLW5nNmtDcDJeajU8UmAwJiMzJFRy ak5WcWB9YF9pWiMhQEgwPWdWSDNsKmMkeDRXSz8KK3p5UmtRV1JpOEIkLWxPSFAoVUNCNXpjcVJS a2RIeTEjIzFwWCNCRyt4PUxCeWI8MVhLdGUoelZaIUA+SFdJLT4hPAorejNme1JRNkt+SVBKXz0x QWRpTTZ1Z1pySDYwalVidFRwYFc1TzE9bFIrVmY+TVEyQVpzMFRiT1JEJV4zc2Q9LU13Cit6bz1k dX1tbGludG49fHdERCshbFJ6UHZJWUtvMW8kUENKPFcjU1dnTzZYUU55JCEwcEhTbnl0dFN+Q3I3 RVRIZFYKK3puOCVQWWhfJiFicEd7PkA/R0ltSlApQFBQY084MXJIQTZnZ019fio/Y2chcE1mc3dH T2RCPHtDTyRfe1dkYF9WZAorej92Q2IzVF5YSGl3IT9GKyleUypLQ09mPF5uVCZ6QmN3OXxjNTgo cSZfUHJwWW9RQ09tRSFoYjdaX3U+KkpGaWh1Cit6YHtWajhrRVQhZVRNMmhnUCFXfHdFK3g2dkp4 fDBXbXFDQT5memBeSzJ8YWtnWHBSYVpqe3h8IUxOfHVQKkpFSmsKK3plUUlmQzt9KWMmI2N+e1BW d15EMFlISyo1I0hhd2lyMChKdTx9TGNRSHp5ZSRDNXhoYV9sI0VyYnM0VmU0cD0tVQorelNObX5s ZkAhVygpU1ZkODlCdDstakhvfXlvTUtte0BWelZxZH4/T2pvI00kP0QoJVVaZ2AqaUVnUyErKTJw anF8Cit6LWh4djNGTGBCRkZpWTArcFFmR3czWmV5UVowTTt5JDFzYGEjNE1BTVFLKlRNUVc0MXdW PiEoJCRnRGpffEp0STIKK3pxWkM+OzwoO25ARCl1KjxgKzs7YFhTRUtYSFVmYiVqQj5aO08kTGso KUQ4aEgoWS0/bFp5KGRuLUMzeDJtU3FyMgorejdLMGhjO0VGUlVBS1dRZ0JTNEJBMyheM0VQYyNn KG02dWIoZE1IYmdyVWpNMGE4QzRhZlo1VWxvPUhVK2QyaF5KCit6YXBZdSNJdTVjJnhvKUFORSRX YEEpeEheI1VSbDJDcX54U1Q5fjR2IUIqQDQ/XlFHemVCbFBNRXYlP3k0dmYmckcKK3pkQ1dfcTk8 fXw7NVdufCgpcz5JdngwQmZMP092X0Q+MHZLKmtmKHpYTms3fnVsTkorODUqIV4waUkmOG4mZm8w RQoremNfTSRkQlU7Jn1KQFhSVDU8YV9+LXpgUDBWYk1+dU1XY1VFaj8/JClNWkhOKExMXzgqdnxa MCpSUjhmNFIrVFBpCit6ckVOampiYGlqRXcqa1ZyTUVOTVVuc0ZSX3p7Rk9JeWx5TktJem9ZfHdC I2JrTW1GVWhmbl5NbVhlMVFOeGRmTkEKK3pRdSRkc2NBSEwjYUdVZzFnSFF4O1k7QkdIWVVEPSEk dnVgbTlnfFlETklOVjZyNUNmVkxST056OzJSZ2RGbWVydworel9rKShLU3UmdEtVcEcqI0crKi0t YnlPRCVteGJ6LWJzfHsoeVVKKnB6azFXOXJ1MSRpeGF0amNPaXdmVWUkdSktCit6USVqI1lPRmxX PCthMTA7eWxaR1V4Sl5DMkBRcit7dzNGUENGXmduWGdGYHU1JEhxQzRqNlRydjt0UW1ecHhMaFoK K3pMT0BtRGFQfTFZblI2bXBwNWVBRUQxWkdBZk9sSmozeWlMT1RHTFI4Rihnd2wrPV82U3BxRUlK e2h9K00+Jm8/TgorekpRclgkUCYre1NTfVlrMzw8Z0g9N1NrQlFGNTtRNy14VTVIWX5ZPSk9QUVX PU1kdk89KEJ5JnspZF9nKTxCaCkwCit6SHozOEV1Kyt2O3NsTn08LW57fHhmITReflRNbEJrP2U4 fTVePCVUYiFFRjIkXn0kd2hgOUA/SVhsekhieWNkJXsKK3pyKT12T3p2XilmZEAodEt5dVRRdFM0 RDw1Jmkzcmh7a3dGeWY3cUxAMT03Y35VOGpmISNkUykoKVJ1aj57fmBHVworekcyXn0tdCs9bEEj UTBQPndxU1MkbjlzQnlKfWlIV0UrWWIzSWtiJE11TXIqU15ZLVpEIWVecGc1dkEyeChZTShICit6 YmRAZExlbn5RJXJeUmtkbzR6TmkpNX13P2NKYWAjdHFxQ2Nvdnw9aFNFSyM5PUxlKzUwLXxPKFBC LVo1dHhFaS0KK3oxSWIwVnchfU1yd1NgRU5hbzBkSlBeQSgmZFVDVWZZQmZaTFJGJERgWFNNY2E5 PUkjfnVRQVRXJSR0aD0mVTdPaworelZjM0ZSQEFsNXVya2Q5NypYb19TXlFUYGdANU04aS1PZiVt KkpqaCVkVHp4fTRKJj9PczQweGhVdT1KOT81T1ZjCit6Zj9JSWBHYCFQaUMtTF9JNjs8RUpfMlRm WGF9ZztXdlV0a3Q+RXshO19AQihsTH59Wno+aWlqdnU4c1pKKjkmJXEKK3pjZDVgRkZFRUxxNzs2 eVF0PUhaMWBhdHk8dGFNcklAO2VaZEVqPFpvKGNERy1iIyYraFluMD1wKks2fFZQZU9ufgorejMr QEtfRCNsaloxfm54dFE4UmQ1I2xVaE1mYTwje1g+JGpaSDdrVzVoaFYtNDNaYnRpUEErJkVvaH48 UHs5RS1+Cit6Iz8lSW93OG1UfmE2YD5LWj8oSHQwc2hPXm9WVlBYa0QlWUhLUm5OVkc2N0IxMEhH ZU5zUEdFZUR1RE9CckV7K1YKK3o4ZlJYT0BiUUcmIzNtfGJBNj9PT2cqU0NFaCNWTWNAbV59NCgr MiloSWNmNzUkJXw5YT59N2YjRXJVMzZIdGh2ZgorejxaazkhO254YCRJdXh2UUg2IVduTFZtSGJN KEZYMU88PTd6VitRcWQjUyUqPC15WjZIZzc/MXd8NSo7RG82UTJCCit6MFIjWGIxckdvfkBWfV4/ fDZ3STk0NkgzWXxCbj8+LUt6YnpPYUpgTndgIyk1JWNTcnNCM3FRbGIlNyQtOC1aKU8KK3pAK3U7 dj1gXjVyNFFzTCUwJCpINHFZfkRtPm4mMnQrSkQhVzQofkpCV147fT80NSgpZHNYTVoye2ducEo/ RGlnKworejgtN3g8Uj1zXiRHT0luaEJseTJYb0V4aiNxa0VgbFdTXlZUSXxDI21aNjhkeSlSIyVy alQhP0gybmd4Q3g1T2w2Cit6TyVac3RtQHpqO28+eTw+I2hkMHVxYUl1RmN6dEsrUXB8RT8oYUB4 fU0zX3BDX3dPP3VjUUJMY1Zqcj9wbH18alYKK3p7aV8kakQrKntXVChZeFFRSG5NeXkhS290JT4h Qmw1b3h1ODRCI3NrcHRrfGducmZ6VWlCfD52R056VWJRI2RWdworemtHM3QtRysjMDM5YW1JSlg4 S15rcnA4JUVja0FvTlFMbT5+Kk13flZQblJkTmsjUWJPYzJYRmtlIWc1fSM4dGQyCit6SjxMSV4k UjFyZU9EU2lLKzxOcXowYSRBS3VyNV5XQCl3I0w/dXg4TkxtO282NHdVN3ZgYSZuJU5qVCFDQkBK NFkKK3pxb1k0Rjt4N0lZQUVOdXstYTtWRiU+cD8hK04rJWdMISNHemhgYH5pTndtaCZBeVNxMl5C bG0zVm9+MlJEfDcwPworejw+KHNWSj5mUmxzIVNUbGZUNks0TWExWihvMmF6N3RWakhTKmc7ZGxa bWBrQHF8PnJgYW9KfVpMV1N8I0VqfndmCit6JnFqP1FGYDR3Oz5GNitIM0QySWlCS1RWaURyJT0r OSE7dSY2UGQoUDU9KWVBSGxxKD1FPCR2cFEha1Z5T0h7e20KK3p3SmF0WWorKUJ2ZWcpQGY9Nml5 IWI3ZGRJVkA4LUNReS0jczUoVERyRGRWYWNedGBgZ1pkVCFSaU4tbipfN2AwUworekBVMH4xNlZv KjVkTWVMQk4rX2J9dzUjNFYzVX54TnhwaShncytSVCEkODVBWnZVZDx2TDBGVEJWO3JCb2Jsb0g/ Cit6ej92QyVpbiMwfjQ4WE13MkMzNkBzfVl7JWE4RF9VSDc1PHozQ0NqKnhPUHR6dGFieH10PWtK PnxEcm1mSkhtLSkKK3omUTJySyR6WEdsaXdIfSRIN15KXzVwdDRwNnJ+d0E/eTR6OF9RPmFOangx TGF6eTRpXytpRnlUYFdlSGZmeFA8NgorejNNI3soUkpwUSFAYTA0Y00mUnUpTEx9QkRWP2JLXl9Y RSk9JiZeKGYrUGdybT5RUW9pakV8OEJFK3ZkZmlpZV53Cit6RCMtIzY1Ym99PkAoe05GbG9SV0dI dWNYV3tOMnRRPC1tVyp5QEhgfSVvTEhZd05aT1hqQWVgSUZeYSNhYG9aS08KK3o5PUJWX2wmPUda Y0FHT0x3aSRWUXohVDYyNjZNZXd5SnExV0N7ZUJQUDFVTjhAZ29HSEQoIWtSPlhTQWFTeHA4egor eihUV3R0LWBmVmt7KVl1LVYoSG9qa0wzNTNQLWBEZyF8M29gbnE9cDM+fHZzdTJzKlVfaGItO1hv Wm10eCRaUXVwCit6RWohaXV6PUFPKz8hU05aMC1xXileIzM1PEYja1c9WmY4M3k2V2prWUVPXnJM a1JFeWFsTTB3KjRVYFF9b3xMSm4KK3pzUyNzQ3FpQmowSURkXzsyMilGdHFANHUlQHdQQjV4Qjlx ZlBPdiF+ZERtJkNgfTZ7IzJxWGI8YHdeIXUrenl2Tworejx6QkA5WC1xJGd7K3wqaG5oMFc7Ulhg Q1QtKEYmZlItbGl1dnRyJjllWGVVVFBiN3tXbjhnXnpCQmVYKSZyODl+Cit6eClQWnJMYE9OWV9f WEhyb19+dXJLOWtha0dRKjV7TVdxZUpiZWA1dzg+NCFuTXZ3ZTZkPGQlKmRhVzRaNmJUdy0KK3pX TX13VEMxTSg1YFhGJH5xbk5CbDZRcjNWMH0/Py16UEo8X0loWUNhaDNVRFIhJmdhPz96QiNpT0Jo bGZXcSo4MQorenRTTXY1TWwpTmQwe1NIaTVzN301diZwYzR7bUlNeSNjVERaPFkjNTRvOVZZJSQo PnpoKDRRZEAmXzVXcnlNeUBsCit6UmFUVHdKJlJgT2okVFZ1MF9KfkQ/Yjlqe3BRSXhwV3d8SXFe TTxGSHExOW48PkwwPGZZZXAjS1kkajdlRldqXlcKK3p3TF43dEZLKmVXeG5gRWp4bFItekBRPEJV RWZ7UU8zZj00LU1scWJQVUhyaG5WQVVzPkNMRk9vPUF0JSQrS15IQQorelFpTnVleCtgJHRJOSpp a29MaHJTQmA1b3gyVSRUWUNoZ1omR2ZoSGwkOS0kMUk3TGRHPU0+VEBrWWFpNj9pJTsjCit6JFRa WXAkVi10dy1JJkxQZUo8O2ZrPjMxaGUkY1NKXllDY1M7QFMmJipNPWA/RGZnNFBAcz5Dc1dIaXJB MVJ8YnAKK3pwY3hjP1dqc2ZmbytJY01OVGwlRT8hNDt1WWkkcDVqJiM4eWtNejJ+T2U3JT5jN1pH ZyNibUNhMWxRWnA5LXJtPQoreiZiWVl1Q24rIUR2LXU5NlRVMGF2ZEJGUHB7d3d6VTgqfjItQGVt MSN8TkcrcUlVKWEjdjRARkhNSHZEQk5MPWtoCit6Tzs9cTstTmhYVzAxKWApQUxTWXRgUUxzMjhP aGlVZSUwYXJWV0dsRXs8bSU9Q09TUG0zdEowa0otej1vbnxAOTAKK3p8TVRFJCYyNzYpUihRV3hK cHBHcDJncTZlYGNePkQ2Jm9EK0R4SWllSXcxd3tDZ0QrU0BfQ34ycTgrezdQOWwrcgoremsyfHJI QjZMOzBBdyY8aXF3bHhRIS1OQFlCakBweTBkJCkqWVBTdmM3ak0/YllUNGNKaUkhPUI3Z2M1M0lu OHN5Cit6d0UmUH00KzNldW1hPDhtUitraSQpJmNlTU5AXm8yKlpiezw7aSN4fHJxNWU1WGtKfjQt QUJieyZiMCYrdyo/eX0KK3psR1FiXzRtQGNaKCpxfTMqVnR+LWIreG1OU0VZd3VkeWA+bilHMH14 T2NjWEc+elRAUzd0dVMleyspT0BzJFo5TAorejhYbThnPSQ9fnNjISF0SyR5VTN4UklASjF3VkFW bThJYmpJVzB6Xn16bXZqamBpK280IVN9U35iUlYmfm96PT5PCit6O2RHREhWfEkpVVlgeFlkY2E1 b25DXjF7al9BeUNkM2FaLVd2Q0heczsrPjFDez5VQ1pob0hLJDQmT1lJeE9YQC0KK3pgSWtBZ2FI cEs+VG88MTRvVEphJHNaWDlBa0c1Mk9aU154akBASE1OMklgfjxOSVRGSFpVekZgK0VfJlRSfjd2 SgoreihRRXghWEFXUXAwNiRPO2EhdHxwJkUqflJkeXdQXzJLR0JwKGFeQFQyMEBBeCRTP1MpVmgt Ozc4fTh0LWJ0bkpLCit6aHxsOH5rR3s3cHtfKG9NNnBwV1IrN3hZdnIkJT40IVYrNzR7RV9hbmFx PnNyPyRvPkNSZkNEOEJxTyYybU0mQ2oKK3pIQV58dz9hQSRVe3I4dSsmTiFrJiR6NmYlVkoyNGBp eUMqTzh2OS14ZjlEK2NxUkVSaEtmZiZ5Tkx4TispQ35LNQorek9DVXstZHI9KCU0N2dVNHJgalA2 OHp9aVh5MCpwI1lgJmU4e3I4YEJSRClvUlF9OWNUTmc3ejdVND53SG9ePD1PCit6eHtTXzJBJm9l Mj9qSz0kY2JLdGlvMkliZmRXY3k1Rz1XVXk7Yj5AKHhoRUtjQj1zQ3VwdSNobGApP1RVVDJKMjEK K3peI24+PGMhLSQobFA9QkFIS0x4WkhecXlXZVgwV1B3OShVNC1CVER8X0ZfN3AteDVhNUFzLXlr Xm1xN1JrQXFeQgoremA5aGN4bXhGT24xTm1NfHJaNkI7O0V5I14tfigqeihUbiVWaCl0bW1ofVJ0 TGBkJGBTZGB2bnRxTSlMUF9kOX1kCit6KzxUTjcoOzYoPVo/KlhybVBPYHhsSFVnNWhoQ3ctKT8p NF5vRjNGLWZgKyo3TXlyQyNhNjM9VCh4RCpGRSV6fjkKK3phVDhicVYrKWpeXy09Ni17MDFxY1Qh e1RKISRwbG4rfkpyOV88MkBQdFMrcUxVVXR3QzhRPk51LTUlNn5eUHp2Qworem8xPWRzK1pYMkow Vk1gTEd9dGt6Kj52JDRzXjt+PmtwalBieS0oe0h6eStefXYtNmxUZ1M8MT5gdn4qI3ZjeVdpCit6 P2A0WlVpQnFIP21ZTjk5OVhBVVdUJlgxUFd3Z0tgd2tfV0tpNUZVXkpoS0drV2IhTlZsR3Nee1U9 cG0/UUstQ1UKK3pXV2Y9ZWFYVDN9I0BfUX48UVp2WjdKZWEtbktTYnJ7IURJVjRWQHR3QUUjO1k5 VVJGP2syITtMWEMlamNjKmJvIworekBuV051IVVlPHVPIXhKTiF7KDV+NWl5VE1mRCFoaV4mMTl+ Q2kzNEVqMlVBYj83Ul9tcjRKJUlQX0QpIXAjRSRXCit6dyQ3OFZpU3NiTl88THl9TjJec34wTi14 PzE0dDJJYDxLY0g4dyF1dXtVTEZDTX08V1dBOCF0QilMfi1FRWRXaVcKK3pydVBfMSlTe31UQGBx Q2UzK2I5UjhLWk1nMz0pSkdDdW1oflM1PiE+MElRc1Nwa2Q+N2kjTmgzO3Qwa1UrNVBQMAorek1p SV8hO2cmUWI5fWR9WVh1WGF3VG55WUVEPyNTKUc4eX1gZkR+Xmp0KXl0VDl+I2lMTiFMeGtVcVh4 enAwKnYlCit6TGtyX3BybzVwKU0rWHhzcVNSS3tLQSFvY0h4S0AhKz12UlpYPm08K1F4N3t3ZjlH cnMwJGFmM3t9YiohI0p2amQKK3pTfFZFRVN1USljcFEjTElDKn0+Z2xGTGFMZHxndUc3emNrYTtx PXVFeX0yOCNjZ2RkeFdPN0tOIV9SUzRJTWJaWAoremJMLWR2YlZBVXxiKFNSMEd+UXptVEdeRzVp KUtDTjEqdT4zYlM8ISFoU3crZWJJcT95bjQwdVF1K1VWZkEwYG9pCit6JntGQnoyOyptRVl+eCYz QlF3fCFQe3oxc0MkQlpHe1U1RChPQ3R+Nms+N0MobGQqTW9vKXN4bVpYNXlVez5SZTQKK3p7cDY9 TFN3aUNxTEQ8ZCUtNzB1TSNkQCU2MGhZZytCbzxNR0NuTT1SP3Bya3NEanslVjlBR3BiMUt2bF9X YlIhKQoreiY2NzFsT2NhJT12VSlZeyZ4MSFCOzloJVJPZVNRcDgjMG56JGwoJkpTVF5vb0piaGFl QjdYOWckbnp3N29KUSFeCit6WFg/eVQkZDwmJlJDPHVEeDRtTWV5WnpBPl9ac1lVOzNFTU95NDNs RklxfXl5Wi1MKHRmUEJ2WUVfXyN7bWJiaDUKK3o+KEFnUU8kIz4xbiRaM2Y7P2ZaJnI+aj5BJSQr K3cyMWVAK1kmUFpTJDZSOztnM19RRGVTI0ImdnRAOTRwVUJhUgorenY9O2lVNEZfWkNlbkFgY1Vq NWk2QXdEZEVrSmk1bDloanFlVmJxUDFUdkVTZWpKP0tKU297ZW4zdlVKMzZtVE0wCit6Z15Uc2VL ayU/NXJXI3phRVYlU0pybkZWOUVCemNsLTBRQVNIYHR0JVo2TUF5M1Q0JlpCSVhAc3dfdXA/X0ZF VCgKK3o0VTlFdWRjWWA8WSNsP14+dkk1RDdhKE9DVFghWSNGRXw2UCMjLWxFNWBPeHpSUiFoN3go d1E7Z3ZXNX5AWl5XMworemRjaWBWSVFNWmZkXn0/Rkx1NXtxTHI8Uz5QfiVVRmNYd253U3Rmez5a fEI7O0JIMWw0Uy0pV2E4RH5jPXNrSkc5Cit6MFJSdz97YFdYKldNXlk8X3VwJjt8M2pRelJAMVJN NiNYeFdRV19eUFNHRERhOGw1UXdtSip+M1dhZCtURnVyTj0KK3pyTWhzMmc0bSg4O1FIP2w3YXIh Y0k4a2wzYnZfRHZlYkp9TzQ5fX02cWxBKVhpaU09PWs/bCk+OGpCdE82eWlabworelpPRVJYRF9e PWJOYlQ2NEJecnZtPzA5M0xWV0p+SFUwZEhwKSNgQzFgdD5IKC1PYllJKD48T25WLWchb01DMF89 Cit6MTA4Qkk7OTUrVyZ6SCN2LXtpclJCOHpePV5wWiE9aUUwO3gpRDlpX2w8UEtnYDBaVWkmUXhv I2IpeVEoMyRFLTAKK3pzKHZkJUgtMX1OejhYMzx6TVpYcShvN1B9I2VzQWJFdTxhYjEtZXI8TVN5 QnNWaWQ8fVR6M1Q+NG1rWWs9aSNCcgorel9lKWgxV1BXbUElMis8Zm9ORm8+QkEpXmczQktnSjlT LW4jdVlUfUQkRXJ3e05me1UlKGAzJXJIPygtbng7PUZICit6Ym9pUH0wX2RGTE5ANCYlPT9uT3Rl fG5+TChoezM5a0pfbWNlSz9ZP1YhcDdrN0RVMSYwaXwlfEF5RldGay1+Y2MKK3ptQzAxdkF8fkFn dEM+OTtZeGpPd01uZyo3TSRAPkFjck1Dc1BOb0BSbnpWYCp2SkFFdCQ7X3RXY1dPfFdWdnhWKwor ekdxPWImUiU2NlI7eCFmcHFZUkloeHVnUEJ5Zmpnd0c3Nmdlb1pAM29pQEpZbGNBMjZoKSRMYG93 I0N0akxUTj8kCit6UDQpT0xGRG5uMWphMFR5VVJmbzMwfWVhN0tmVlg/R019SFhGTyN2THR4aFkl VEZKPEhnZH1TdFJCZl4jKWFFNiQKK3pwPGtgeU5ScXdBO3hqTFIoS2BGbUFTOCp4JTtLdW5UKVV+ RUhvNyNjTn5EX0AmISVrajEzMFBeR0V4SVU/b3hvIworemhuSUhlcVlHRjlodkJURE48YW1kPHp8 TU5FN1Y9R0h+OyglX1lHUndBI0h4JVBUemY8cH5XdS1iO3F1QU9pUEdgCit6PjRaazlJMGlTVUM3 ZVZ8eTFpQHxEK157X1lqK29HMns5KyQqOWdeJEdxSHlAVlBPNURWWj0xdDBKeGRvbnNnMksKK3ol TGJpZ3peTE8hblkoKns3fik+Sy14bUBUbTcrQXtqRnF0fnRlemYybSlDSjdGVENIYz9HfE00Z3BN ZXdtbnxqVQorem5DbHBVQGwodjFjcEYrd2dNQ1RzWDE2VlU8NCN7VEVUbFVgTGVONmAlaUN0cmNr N0ZgT3FCKTEwdDhHX0w4RTU7Cit6dlB+VXFPP1U+Mz5UbVBQdmEoIXA1c344TTdGMjRXPl9eWl5O b3x3OGkoTUduMTRRdzl5cGNnZ0lfKlFHQyNsfS0KK3pgdTJVMEJvUX1feD5CYSlwelphP0N4JkAh JDxIe0dgX09LVVRDMm4mYl5Yd3s7TkkzRnduV2VFYiYmTnZ8STc0VAorejgwZ1l3b1VnUlJ1RSom MEV3ZmVMaj9WaW4oZClyT1o0WkxoKlM5SE5PZzg+UXp1PnJ8Rkl8amFDYWVeKCNEYk5KCit6PT9s dD9eNCZuaF9odG1HYEFmeS10ZzhCQW5aOHhfWDVZYVI9NEh1R3daO2BGd0BQKlBfTHBofVhyYnYl R3xBJXkKK3pvWCVqZ1YzYkl3QkE4Ty1AaG0tcVY/KEh2M0hTXmY+T0BBYzdQZmp8dCQmUTRYJmZI eGhzeHhjVTFuczFGP3ZmaworeiRPdHRoIX5xK2t1djl1bVZBVGh9N3BoNTJBbmQpU1Nzdnl9KEFQ dzVOfj9EMEAhb1opdyomZUlASVBsRCpHbU5NCit6eHF0YnBnP31+XyF2QUk2VX1SX088bX44VDxv dXJ8eEJwPWh5MmlHTytaPyg3e0R2SDw1amR8aG56MSF0NHhGe2MKK3pCRFYxI3BAIz1FdVBsUj4p ODRLeDVsPTdqUiEjaFJvdGZmb3FmPWJFcFJ1MlZmMDU5Zm5YeGk2R2NgLSlqeU5RcQorekohRWVL TjhRKV5vOGhCQD5Ze1k1RHgocTdpMnBeYXVfLWUkbitRUExlT180K187TmZ4LWEqTUdGbXpgWVpf e0czCit6M3x2fUpQcCtpZThiZnhsU3V5MypWIyZ6UTNianlWQWskKmR4UUUjMGAyek1mNjxQRVQ/ TUdkZipTckhILT8tY0cKK3phYiVvSz03T14oRSFgdGkoTXRWJm4lbiEkXl8/Pmx1fTslQkw3VVJ8 aCFuVSttZFVOI0prM0lXVEJeNjltOHI5MQoremowK0dielJucWJTVCZaeHAwaC0pMmk0JWRLUCYh aFdUQ0Q1MHx2WnVNXnpTQz9XJlU5Wk5AfEkwPmx8dnRLTUhCCit6WSt0WFFmbHB6eW5XNjtuI3lN YGE7QEh0KVRHYDVRIyMhJi1nWU1sM25fO0N8azAwPXhpVEcxPVl9c2w2TFo4P3IKK3oqVENJQXdK eD1zWiNaMjs4NXx2cThzQD1oNlFOVUk1fG80KWdpb091MFRCKWNAO09KfGtaX1N1dDswI2Y4LV45 WgoremxhZHg1MXBkRDdMcW1GNSlpJDk0UjshMmQ0RXhXMU85b1I5VVomOWljdTEyJE92VFJ2Y3c0 aFpuIWRwPiM+XjRWCit6Ml8xUEwzWGRBT1NWWW9TNipeMW11N1l8K1pjeldZZ2lBSjV1cFhjJSFi RGdWNWw1Sy0tUmpkOHEzTFd9IXozVEwKK3pEbGM9eFZ8c09NOz55VmxjJjhja3NQR3o4V2duaGlI QVpgRytxaDJEX1EhZXVqIUA2QSZlXlQ4KTk2QlRGZFhPcgorek9PJTI1OGI0NEJCcDVBTjcpI3pu dEw0NHYzJENzaSlqZVA+aDB+TVJzKH0yRmN8P19DdUI3T09vLTR5JD1+fSVNCit6SU0kWnRDJFkt Wnd5TikoekVGYlVHND82UXI5SEBeaXdZVTw/RTg7TXc3WXdzTntwKXAlUlQ3OD57RE54bFNfYSYK K3pHWSZ9PXNeKm9KajNkZnc9UUhRMHt3eylOSURweyFLIWtBI3R1KkhrRT51SmxqeHMxSXZzKCM8 VkBveDxxaU1XYgorelZLRy1LXkdeSDJNUF5sZFA3YF9RJiUycXFrZkhpZjZAM1M3d0ArdVYrcStL RipqRWBYIUpqVWNuPkk+QiEtSUk3Cit6K0ZWKFVRT1ZHJkhwY3BgJCNWbC1GYnJrNVkzTSlyKFNH JVlOSD5pPVN8bEVkLUhidFZmUlBUOzwydStAMm88RTwKK3pMSjx2YVQlZGZueyNBWDxAcHJBYHUy MnwjP2oyYU07OyUzbkBCRnk/Qy04Jn5SPWBpdGQxZzBtdUdTUEE7P25CfgorejBwaURueSVYLUFw dVU9JT03KDx9YTkrNXlebTx3M2VkVTBKaVRgeytUTHlwalJeZkRhdFZzZHwzYEgpQ1RLUElRCit6 OSFqWmlWZCVjKypZRkhZcUgjMHE/alRPJkZ2bU9EI0g0UkZONmNSZ0NncFh+Zns8KHotbkROc3s2 fXhhb2BkIWYKK3pVVU1gcU1pKCZwTHFOfWRLOGJmZDdSQCpnIUF4fnx0RFVgYUpMalZNZUROfGct Y211UilXTTRjQT5QYWB2S0BkIQorem19LWA5N2ZTV19IKjlOblpPT2RBRT5PMCUlVXd4aWpVeE9o eShWODYkYj5IPE8pJDRDPWFTJnx4Sz9keFlHTkg2Cit6bW16ZGFKKlA9T3Y9c0c+UkllZyphNExO SSY+fHdTa2QtTHJyJVMjZzNtTXxpLTwkVVVMcUxFUHNjUX1JMzBZaCQKK3ppPGhsUmIlN2g5QGA3 WDJ4ajshK2JJfT5HeXswQGVqc0c+IThjenx8dyMpdldtMmk3Yk5xfVNZeW1STzJEdmdwTAorejY2 M3d7RFAqKTVPdU05MDNXK1okJWYqc2FjOWpmU2wkPEtuLX5gTDY7dU4meHVAd2JiZkRSMDtOVyRI YE89UnIyCit6JlcqZClGNlZhZnd+PWRSYzxjZ2xXRkxxOVJpJjttNEZGbW8+RjcrdHJ+dDZMWiNs SXNXJkJ1O0BMdkxxUzIzJEIKK3o7ak9RalRZUlRNdFJtdGJ2Xm1NbEU3K255I2h8NFBneSVnaWl6 JXpCRl9vTDAmN0NRQ0ktNT1UYzlBNXxtPChyJQorenk0WCVwTmk1JEM2UVopSWVrYCgzLXljVXtN ekwwUjhKMzFpTFpLS2BkMlV6Zkk9WT8ocTkkKzNOYXc1PlEjbFNQCit6ODMpTntRMHAzV21aPFZ7 aikzc3ZeSWZITVpncTlmbUpsK29UeDFqYzVWO2JxYHk8cjRfNk1wT007cXU4OCYqQVYKK3p3TnEr VntzSWs/bFY0KTloMng8UkM4TSNSbng5Rzc8KUs0b1ZsaGZsSCl4VVlgJDVFWTM3ISg2TSs/dndl bkwjSworekl9TlB0UjtONzAqVyszV3xMbU0zXmp8dG5xSkZTMW5paj10d25CNFBiKUhUY1NQclcw ZmFKcUR1R1o/RF93aHlMCit6JnQxb0BGKkBDQGN+Rz42RHd7eGlpcDtZTyYwWWQ7cnV8KVd1Rmoj e3FtTTghTCs2S1E7RXYhYiV3SHJ3WnY8YCgKK3ojZUEyNTBFOy01Q2ZCZnBvVWdlPHB5QmB7KWYl eTJyKDAhQWJXczwzcVJyPHpJU0lNP05oZCRgWFJ2MT10Ky1UXgorel53QT52NEx+TFR7aGEwZkVX Z3B8b1J5V3FmK1YpTCZAQCpsYXdkbnhpelpRVi1ebStnUkxJPXJhXyFuPG4oOVRtCit6PjwkNWd1 YTB3ZGA9fDQ4ZXdKdElHb3B6fUVObnFMbGk7K200cC1aX2VTcmJUNDN5MGkyeXtkQSF9Qj0jTjx+ dk8KK3o1UGx4azZHJUNVbk47VFgqe1hsMCRFPGZSfDRTSVdPJndAbVJKandXUVlyPGApKCF9azc3 UUVASmxnbntMRjYzMAorelAjaUthfDdFMm1RbkR9U28tN2MjUW19YStfQ01RK1gxdn50WmE5ZVA7 aW1tfkd9IXl4JUh5I3JXd1NNbTh5MzN5Cit6dVFjPkxCKEhKMSVCZntMQ21Ld0UpUWlRWFplci1l TTRTUUYyRkdMQlNrPWxwViVwKz1pQ25oblp5e35kMEF2eG0KK3pmck9hbD1tTzE3dm4/NTs3LX5q ZUUwbyFMdEpGc28xSWV5bFBxUU1tKFo7LVRiKDs4T20pV00xc203Rkd7QFM4UgorejxiITlHWXZz MWArfGBYfFRFLT1HUVY8eVNuIXIhKVVOZiEkKlp4KU9DIVduYW99fXdaNlYyWXkmclRpaHtzY050 Cit6Oys1IXk1OChBOE1VPTNNZzw/Wk5mezBjREwlZ2FMZVJ4WUIxM00jezg5ck5Pei1yZmhkT3cz fChAMFNFPmgpay0KK3otbSM8T2RCTj9FTTNVMURhaHtUZ2E9c2RqdzhgQjJCcG0kSUxxSTtoNT5Q eXg9SGZLPz51KUZGUHleJmUtdz96OAorektLOURtJnpCNnl6PXtUPGpfKy1KenBNYk1lKHNfdWJm R1NETEBgTmtMY1ZqezZNI0lXSGh4Ky0pSzNKbikoWlBUCit6dyQ2KjNOMk93RGs0emAkRUJhZFFK UUcmcXElJldtMiFXUilBMktxe1RDO3tpLVFMJG4zM300SnslMGQlK3lGaUYKK3pIPmI8eytrNXUh I3FoemBSYUVpd3NFJHckIUIrYCZoRT9fOEJ5MWI9YG0yelA/IyV3fmZsVDk8MmcyN0pIUXB6YAor ekU/K09MbitqaDZNfTBDJVhLNDRDUVNQNFFvSz9jaDBIN001Rm5ESlQ7KWN9MFQ8UE11NmRwQiRV Kno0aXBXZkd7Cit6KiQ7X21ANGNiSmkjckRqT3hRN2l3aURvJEIkSDNYdWtIX1FEMnlEbyp6Y0xF QEM0Klkqb01xUFJTaWolalNqK2cKK3pfTTBXSEM0dmI0eW8kPEFpI3BoOUFrYz02emVjIXkpaWRF eGk5OGxPQk1WZ01oQkpPMDZCTXdmR2tea2JxTUhOdQoreks9SkQ4cXxncTZaI3E2MygrcDZ+P0Bs V15MV29HQihYeDZlVjNTOXdDe0RDaUE7PGBwMyV5MFM9bSh8S3BFSDhuCit6Ty1HQXc/WVpIdmJj fDZDKWAoPmoyeGdjWnV2dTt+TWRGUm9DaSprTjJ1MkYmWXhueEJuVVM/cDVSeEZubzMoOykKK3o0 QzhYaXJxQzU/UmktaEpSM3JjNlFtNGskQms2UiZwWnBPQiNCd158PTUleCYlUlJtOVgkdnQteU1s NWhvPGgwfAoremptKWt3eD4ke3dLaVE/fV55TTBSbU5fJDwwNUchdzwmOUImI0QwNjtGekBNKGlP eXxsVmV9bV5uUDY9MFM2UVpiCit6STVCOHU+RygwKTBuRitHbTFnfVVTfG5XSERIPSNDQE5iZVo8 RWdkMWUxaWk5MGIkYEFNaT02JSlRemBIRFd5eGMKK3p2bWFkU3ZqO1Q2c1FQPnFtSDRWYV5aQ3Ay eVdePWgqO2hBMTt+TnJaOCR4WipKXmtITzFGRTV2NVZpQikrNXdBeAorejJOeG4jSCpTUEglMV5X NXt3bjM4Q1hiMTd7Nz9yMUZ5K3h6MjNTSCs2ZjZtfSs2MTw+aUxwM0JLczs0bSpTdWhHCit6Kyo+ ekVMRi1WWk9+MXhNc1koclViPyNrPUpmdy0lX1JzPX47PTZ1Tj5AOWQmZXVvXnkxMzBqSnZpYSpQ SmY3R0UKK3omd2Z8dHY0M30wYGZJbSlxWTsxRFNgVkhzSTJlfFgpaHojK050bGZzZ25zKGpRTWRj Y3tpMnx+TUMqKFBUKmQrIworemtpMWArUj1tMX5JViVwcEtXbyZ+TjBCblhgVnVfcXYyMnU1UFpK PlEqbnFPcml9bUBySlU8WHJ1MDB9Y2wyPlduCit6elA4bCpaNGMxbGxBa2p8UjM4dUlhRHkyKEYh ezNhSGM5OSNaJkliTHZrcT9abzRXKUFUI2tARnVEc0Y9MFhYUGoKK3plMi0pLVJwUmY+UU5HfWAl c2B+THNOZGN3SC1jMiFmbCFSdEJ7Yz5xKWx2MyZMd0BvZ2QybTF9MEIkejxEd09ldQorempBQ0lx VGM9RjNRPStiajUrT3JRYDJsUnohZXxoJWxGZ2pGaHl9TGxhYik1MSNTbnZzVStnXnJ4Y18xPUFC UTBrCit6LV89dFZRfm59SWxEczdkc35wPn4+bnhpUFRURiQ3RFQkbVYwOF9CU201VDJYTmQhdF4l ZmtEUXs8VyRnOGU+XkQKK3pLaXxQMitVYHNeaWZ1P1dJNUYoX3V1WT1PbElFZT9QZ0RRP0k/WlZQ Sm41am07VmVmfmNrPj4tIUtIdHNzb2liQworenQtZnJuOSp0e3hLNFkyZXk1ZkFmWD8xbG15XjhO WE9majl8YiQ1VlQ7dUhAe2Veb0dkbyRFfH1NS3Y3ejFOTm16Cit6PjBtZUV5aDxve1MxbmoxYWU5 dX08QFNsYGErZmclbEM9ZFNkbkRncU1qcGt+dmQtIzdoPG5HdipiMEB2Mz88QnkKK3pORD0hXm04 MmdMQWRYRy02TUJQZEdmKV8hTyMpKHg1Kz5MO195PDNZeVEwKjUzeUJ4OForYTwzVWh9ZGkqMWd2 PQorenBpaz1lP3d+cjN3YXJfYCg9UkJCRVIyd288TEZgMTE7TDRjZ1hqcTttbnxUITQzUjlmeiNm KFJUKzdUZHtFcXpqCit6bjA4V05WcTs2ZzgzTVkyQUxkbnpWVGJfOHVANEBtYHtQUkNzaHlyJEB2 XnplTXJNUSspKENuZlQmOFhfQCsqQUQKK3pDbTZMZl8lLSh5T3ZnTkgyQUYrQ2I8WWdqWkYtU3Yj YVZMbUBTKWttcypDKTxSZ0NQMl52P2E2UDtYVDJOMUB4aAorekNhU1BxYjNDO0l4MWdPI1koYzIk YSklaU5NakFBXz57V3Q3ZUs9TjVXTFF4SkVJRTRBLWxXdl5hZF5JdExSP1gyCit6OEkycHkrYmVP UjdOaiU0Vzh0fXM/SW9Re3ozTFF8Z1ohVz1NPE4pdChZJGtGKj1zcDhHZXRIbXR5cGN7cUVxJEAK K3pRMT99WmhMTVBRdll+TWcqfkM5aSQrKFY9dzs3eU42XntqeCNwKV5geSE/KExSRVR4UFUxNTJ0 JlV1emItVlF9UQorejVKeml6ZFF3IT94dyMmbWA+Zkxxb2NSI3FDTWlpOE9ER3Ngd3gwWEJPRUpg S1VTaUh7XiZpcVhESypOK2lkc2d8Cit6UERVZkZTWlFZSSN6NXwyY35PciRvTz5+K09SM3ZEWXw2 S3NoeVhQfEclUEpXRztiQ0s2QUo+VD1GWl5HTVpATj0KK3pzMnhQJEViayNYPzx4NVNBKSV0O2xN PWowTGZRSVp0N357TT01Znx6QyhPMml4U1BIJChjTCVIeCk0aUw+blRvPworejtqK09TWXZfOW0o OWMxXk91RmY4ZUdtfm1QYH4lQlE8fjA9e2FsJjF0b2lhYzFiUFkjOzhgZ3NxKz94d0FTaTU0Cit6 Nms2cyVaODR6T2p0VnBqYGxnSVZhV2wmWFR5Zn1XaTJ5cGwrWmw7UUdqUm5ieDNJJHZndWJpPjN3 elExUCM7U1YKK3p1TiNsTFR2KUkja09BeFRpazBlb1dneEFGKTFkbCUwQ2FiPCpnOXJNNj5RQlU3 SDZZU1lyVE9BZ1M7WHEoJj5gLQorelYtVEtoKDBQc2tgaDR+KTB+b0xIKyFZbjNeVVpGJWZeeDI7 c3VOZW4lO1ZXVktYdnooSkEqen1iRHs8VHh0fjRvCit6IUBXY31PJnpRQGIrQDkwfEpvbWF6SGky NyRPLXwpTEA7R0VUX0NrLVR2cTJ8YX48Vklrei1XWTxXbV4oRU41QyMKK3ooTClJQlFCTil5RXcw WSpoQGlEPkhUQEY7MShyPnBgdmtzPiE7bT9ORipiTSNkQ05LYEpycWU7UGZLfFh6cGZgVworejxu RWd1dUROWE50Pj9SSWJxNnlnZW9QdXlVZkExPCp0fGxVMyo0UDQ5RCZtOWw3fmMjUj5fZmhnaWI7 c2JCTVd3Cit6a0hXd28wODMhQFNrK0VFVXdiQG5VPS0+YEkwVyRoNXJxWXxFaW1oKnhJRSZDU0Rf KXFKUiVxSG4hN3JFWiFjJEgKK3ozezUyJWdoO3ZgKFJzbURGTG1NYDVVV0lvLUJfMmdQWGliQ2FR eTtFd2hWbHxjV0E8S2YhbnxgYnIlP2QzNHo7SworekA+I24ke09RN045N2NlSTJsUilnQSZ6JnZ8 SUMmQXs8UlZze0lfQWMxTzJ+Z2Z0bCF4SlBkNUN8NCY8QHNAdCtiCit6XnZGR0A2clFhWFc0THxC WXoxeTM9LXRkRTxAUllZI1V3VGtHb2BLOEd+YS1RcSNiR0NYIWJ1fEolakhmakx7SEEKK3o9IUdt RGRkUjIze21KKyFWPE5HciEjTCRhJU1sbjJzfDVRNlJ2WSpQXjNgd2dDZTZxJjE2JkxBIWtNYiNG X0JuPQorekN9WT90c1c4aSFNS0dHbGZtQWV8aWNzZjxhQG4pUUAmampCeiVAWilmPloqNHRNb0pm QnhTbVVWJm1iODxiOXBrCit6QUxsazl4QkwyUyVfT29qNExsIV5tY2IwaSUwXnd2ZUhaYG9gdUgm cl9LV28+WUtzbSs+VztlRHhNQShJMytQfkAKK3p5PnhKO3RzP2ZtMiRHSH5WKURFfTM0LWpacEx9 eTJyLUtYRSYwMld8ZTcpQG9Ja3YzUCZlQkgzWnFPXk1ma00xJQorem1aVUJETTNVNEhYanYpMj4l PGRPaSFteEtPJCV+SjUrfGtvTm10VDJXbV5gfWoodT9AamkoWDdkISZDS1ZxIXY4Cit6UXxBQV5U cUJrJTUjM285MWdBJDcxYTlpZnV2KmZFKS1LQXJlKXlhS0UodGAmb3pYQDgtcXxDcT9LO0hgS3Ba fX4KK3pHYlcoTWo3MSR7anlvSCZxJGB6MFE/O2tCbSpReW9MOC1afF4qUCgkRH5mRXFSWWxsZlcl a1VWfEJpI0JGSmNqbQorek9qKU98SjFWeWpXNCkhS0ducjFfKXNsLWJTKCZafjR9UHJmcm4mdit6 e3FfcCp8cSpSRmJlPEk4VzFLclY7Mzl5Cit6fDFBM1lwWW1yKSkzUVZPQEk5ey1aUHpRenA4JXZA NDQlKD54R0BCNHZhMW91bjBZbEhQWWJBOzxgSmozNk0hZHYKK3pwPiZUWE5zS2NUQnhWbnU/KXNS eG9oMllIPFlXNS03eU0yT1N9RHR0dFZoNXdtX1UqR2k7Xlp8Ki1UZFFXOSZhUQorekpkbTBvbjhK a1A4empHdypCYXlMRTVeOElaX0Y9TFY8czIhJl9BaXxIRWh3IzUxLVVURlVzO3JrX3ZoR1BofG5D Cit6QW9IU3RSKzBWSmFXRjxXWXw1RTx1JX43ZWQxPS14c2pZSmVCcWBHMzBWSWRDNUYjZH00aWhq YGp8dClwZDdGUTsKK3pyeFROSk0tJXtqU2AmUnA1Jjc0fGs9NCtrYzQ8WnRLT05FO3JISH5RNiRU Nm82ZD0qOCpIcXZOaFI0TyY8Sy07YworejAmYF4qeEFPVUpKYFdFOChRak89cVhtbVo/NTdOUW0o eVBMSWN8V0goTjwjNnshel5UakxCPUxKPiskKT9yLVFsCit6bWkwJXtuI0h1ekYwNkRUVWJlQUAq b1lBaEBpQHVWcjAtZmRLTDNQa2JKZT5WK0MtXkdwPWBzcXt9OFJuUiU5ejwKK3prdUktKkttV0kj bT1mNS0xZ0MhenRjbFk5NFEwa2VYSlRYRntORyN9fEk8Njx2R3w4RmBAOCMwd1hzNXBQYWBSMAor ejtsPktQKzh8YjYtcW1JMSlzXnpkKmphIUpsbkBeZEEjTSZuKkZya31eSE9+UTwpYUxnU0hxNWI3 ekZGPT1IanhnCit6PEQra3MyeTwkb0tgTkV2LTZjKEcoKk81JHtFelJrKnw8dGFvQmxEaSFLcHtl RzJVSG9sbkhuND13JHkwRGI8N3QKK3o7X1NNPGVQOFR1SHg2I2syOFhaUCtZMyhTTiNaZyNLZXU5 U1NnanR2JVgwPnNgfkIpRVVsKFNORklndF9nTjAlQAoreigoXmtQP0FRREw8WTRRU25rdzxISSFU bm9BSFNLeU5oeUE/ZFUtbUo8JGI/amBoVGs/YkFLUEBaZSk4Q0NFZWZVCit6e1k8dnEtWEJAaitk SkJPdkRYQ0owYTJfJmhiKXNyMX09VEYxWSklJXFsPypuJDhAXkYjaDkyITZKRTFVaEBaKVkKK3pj YXQ5S148VjVCJiskbz5lRWI/fXBRZF8tQHErPz0oeE88fk1JMzgtY2lRflczVX1eXk10Nl80QFd4 Nik4c1Q/bAorejR6b2p0NClNd1JIWU1WOWsyc1ZyJXtZP0IkJWwmM2xnY1hUTSgyYmxjY0FCP3ZF X1M/cFNHejM9bE1qdG5GakJOCit6TXNFPmphKHswUCMtQ0EyeTJOcnpyZkReXld2SyFiRmlOcHRJ S21GOUpLJkI7ekFNMzQ/eGchJio5MlU2PGpkWWAKK3olQTM4c2xGdnY+e2ItJDVgVyohc1lSQHkj NnxJVk41cip3NFBifWQlKGRtU09lbyh0dEx3RCE1IUFaQTZ4M0p4cQorei03WHdscFdvSmZoTmUj dXBjcV9YWWt4aX1SfW05JGhQS0dsYj0jaDx2K0xLLVBhcCpgbEBBKnRhPnAmfnIhYHtUCit6cWJU R3hrMl9BVjBIYnE1Tko2XmJfanVYS150VmotMWU3TUE+cU03Pzt6SzVZNDxeNik8aVA+NiNCUUtV Vmk8WGIKK3pOd3hLKT40UjRZSHIyPFh0bURQTj88YSV3bHlOeX5VRm1mYlVGMzVPKkl7NElTPUUy JlRwY2xKa1JsKzZnKTgkbQoremZUVEl5elAyQHVmcnI8O1Q/KilrWSNqflBTLXx1JVMxez1NUih7 RSNPalBQbisoU2hCU1RkJWg2RjNWRkIpV2puCit6X2pZbWBfNEw2eilKNW5qQ0Itenl7Xn5uUiNo TWd9e2c/PGdrVkY/cjxVTXRjaklGYns7a0pGWEVAfk8mK31hZVcKK3pydThqcjJUOCheVkx5RjB3 Rm9YdGdQa3V+NXV7d3l2QylWdFZSMT9BbEpgSzlJczhRJk9IWGF1IzgtPFJOQEU/agorenNSeD8q VVVDOT5fQ05oZC01aG1vPkcwOypiditfVS1VXzY2LTd+Mmt5MEsmaCY+N2duOHZBTCkkQ1ZkVzVA NT4hCit6a2xmJkQ1eEkjfXdLKTt6KVZkPWBAeSQpLWl4TDZJIWo2SVUwNGFfWFNxJXt0TyFTeHlJ TVhRZCp+bDZWUiVrKFkKK3pDSE0kZWdWMEc7WlA4QG9PYnI4cTRVcCotb3MzcURELTBPMzBzKGcw MCRgdWV6VyNKRXBiRD8pSmlacDZwRCZ2ZAorekluXmduemRqK3ZOIT9tQ2g/NEFlWldAKyp1WlBm NjVhZCh+R0dYKm1gb0ByeVZTXyswNkFLV35EeWVfaT4tPGJeCit6KzhWellIS0xLdUVHNnFOJG58 Q3A4LSR9NldHMnxCd2VKXlBROFhgbURabUotJVVsczJ7NW1mJSkpTU1mQllrd3oKK3phLUA3Nnds fElCbVVgdlpiYko1QzE3UDJTJV9Gc2IlSWBidVVQKktmI300VnFAdWJEUTI+RFFrZjNlTFE5ck5U VgorekdIVksoaioxZXJ5KGdMdjRSVndQXlFHUT5HQX50d3cwdyoqVEhKJGRsc2BUZG5rRHZrIztQ Q35NRDApflBQIylwCit6QWtkTEEjZTNRUTk2KjdNNjw0dk9HIXRXWXolcjlAQX1TRjc+eTsrSEVo RGRHVCtPPEtSTDFLSDBLcU57dzl4YikKK3o3SSZBUVcwOUhJRUUxUEFuZUdQK3NIMG5LTUVOTCNl UVQ5UzBUNWxZMU9yY15vfGlANFgzQCFyZnopS2okZytQdQorejFrRH1MeERJUndzbEUhUT47TyVK YzVkfmN4UyZQRUtqR0ZSSEpZempCcTB7Jjs2VkI/QG0pVzZgfGlMI2hFPj99Cit6bnZpK25Tc1Y2 LSYwKGJkYD1AeyQ5TkRtcntnajtPaXUpYkZwbnBfUldAYHF+SnMxMkZfUWJmQUZxe29NT2Q9MSUK K3p2IyVoT1hVeWJKenttaD0tY1h2e01gO1JBZkg9QSspRTZASU8rREl6QkNiJnpnUntEa3YkQkhq TDhzYjApd3VaRgorej0pIU9makF0Kng2Vi1tfFlVdE4zPUBCNlQ3UkMpZik1SVF2QGJkZV9NSUVI ezUqOUxPZjMmbEtnT1N+eUkrTFJfCit6UEEmeWN4TmAmYWZZNHBeTkxqWGwrTHw/OTlad31Xenhl akRKO083bjtfYmxwUm55ZjsrR3JEfEY4Q0pVPURPMjMKK3premBJPyYrZUZFK0c5Zl5ObVEpQjJk KTJKXmRATmtAe3xsMzVgVUY9UUIpJUlpMmI5I2tjdl9YSDNqN1QyI1lyNQorelRYTT56YHppfntF Vk9yalhyYUo4Rmt0NjFtX151QmpnbzhsWkRiUSVvP1J2Q013KEBLRml0V3xZZVlANDBRWDZiCit6 ZShPaS0/Q3ViQGckNm9sVC1xK1k+TVZSdHE+cDReQVlgcmhsJDlEMXVYNzNla2NNXyUrJEIxYkcm cjRkYjJ6LVgKK3ora3JVJFlzOWN3YHdNezMlfUR4RmNCdkc4NntPYmo1Izd8UE5mdjVFY0RXfXh6 UUVBSS0tXitgPTArJnxMRGw7PworekVPSzcway1IQXVMNFNYR2YqeU1obThjK1ZCTnJLJCMmUjZf bT84UDBgI0p7ZDlfdGg0SiRjd1VnQVhCTXtVRDR6Cit6ODB+N2ZERHkoOWtQXnxMP05Ac0J0Z3xD MnI0RD5hVjU4d2VleTxZNWNtKUN7Jnohe3dTMnM1VFNKY0MqfExWV2YKK3pEaWxRJj1yeil5UGpT Kj1uIT1mNkd8WCMwQmFjQH5uKyRtTCRhUzhRMSpkVTVhUWxnc1owcnwpZFo9KHM2TDt7NworejdS MlRfXk0pWVljRj8+VUBXdkNBXk9IYU9HNkBDbT5JRlU9OTJNS00oP1NkT0E9SiROOGBDd1A4X3Aq Uzc7NyVaCit6aVg9aWozNzx4TzZSITdATWA7fWRGWUYtcFJYfjlMSEcreSMzdj1YWSRfS2w3O15e dHU3dEN0KVh7JXxMM3sqR3EKK3pyUDEqWXViPD9JQ15EOUJOfXM1fmAwZz9GYylaY29jMkl5X2hw bTx2YHVUQ09zLVVXR1c9M1dYbEpzVShGdEBQMgorejxUMDBTVkhJaTdyY1p3Ql5+JiNFSHJLN0Vi aklaemVYRlUrLV9kKk5YOzFtbm4rfl4xdHNyb3JpQSZSJF9TX1lyCit6SU9TITh0RVVAM3JLUk87 aGFCKnBTZk89Kk9QTXN1T04zKUlFZUpsdCNlcSN6d09BQXNLZlB5O2JWOXlaTGByXkcKK3pFdTEm QklyMDg/cU8kVlcxWFNuOGliPiNmYG4pX2phaX0jfmY7X0JOY09CKU14a3QwOVduVXJVPiVzJm9n a3glPAorejRaST88TklOPjJiMDBlbHFLO0BHJG0kNTdOTjxMV0p+ej1+VD1xI3RjJnhWcV8tOUlP RD9Zenc0bmo4TGgmZ1c2Cit6OERSQ3B6cjtDVk5jeTVoN2VSNX5ETEpWWCRXbThAU1I0WkBWSXdS SylhY0VJTTgtQlcwa2lmQGw8bj9mRzBfUHYKK3pRaGYqM3pyMFhhTiVaT2BmPXMxfjw9WGloRGA2 KEFxMnlZJEBmN1BDNm9eSzc8RnlpJDxRTmgje1ZOfjc7Xkh3TAorenV8cn4zc1cweEltISZmLW1j YEJHTjh3MWg/a24zRkpxX19TakwwUmBrPWJANmBnRnBZJSpObV85Z3J9JCp3T3E/Cit6eHtHfl4p cmpZemYoJmZHcU1XNiVFYFRIOVV8ZGRwb2d+YiVKUT53PjJXdDAjMU9lMHwxM25gaHZHYFl7Um5l KygKK3pWfjJQeCVwIVMjeU0kckpSdz0oTjB2TDAhV2VSJGtXbHhHJVc3ZFJaTTZyY2FMP1dGfDRk MVYyYygtP35lM1l+KgorekglVEVHcl82S016SV94MURHZX0+Q2I7SX4hQSE5d08lb3ApTFh4U2Ym OGxAPiF2c2h4Vj8oZEVwczE9MDY4JWFvCit6TCVuRzglTFVuQzxMLVJWJmtJO24/RnBzKGEtM3t6 bHpuNEh6Q3loeiowKCUlYXtTSnkyS344eU1QJFklPFUzMUEKK3pxd2hrMnNsfC1aUXNZT0gqa3J4 Nzg5WlJ6PDJjazs+N2xLeSk7S1NSK29LM2tFbCYjOW9PbU1sXzFBU0RUREhwdworekt2Ul9qVk5D IT4jRGZlLW8yPmliNWpZNT44LUkrPDNrQElSb1otTlFhaUYmM0lTKkRGYGJlajFWJUNhZih2SXEt Cit6JXV2TUdgMGpffF9jfmBtISttWExEPFg/bClzMGcxTWFyOHtfZnBqKChRfTIlJFkrTXlfTGZZ T2l6KmxBJWdUV08KK3pgVUdlUXsrVllyTXlQIUIyfU5sM051amxfZGRWdkMmZEl5S1Q1YT1RaEUy eHMlSnFKVXB4MCpxeTNTYVlEPH5UcgoremcqQm5DQ1dBPSNMcDR2XkNJc1VFYUF6Zz9WQihgeTd6 UXhVTVM/RHdFViRGOT9QJUMoNyhhfTRsc0spKkpaUmFYCit6P3xlMW4kPyVNWlR1UHVUaCs4SFNZ YHY1Ykh2SypmX34pZkkrd2Z8MDIleiZiRS1zKHh2NnM4JUV5UGUtJWsrd2AKK3ptekxBdWomR3Bs UCRVZipOSGV5YGc3bUdjVnNtdD5DemF9UnEhbEk/eVN+Q3YhZCVAQj8wYlc7THE4bXhNcnAjSQor enI2bnNUK0N7aFBXa3lGWW1mQ0NGSEc8VGBDZEgzWXVjPWtiOyVUOGwpP1VacE8pek9ZM0FhNjBF JEhyUFEyQCkzCit6bUhmbWJRej00PkYxdnp3X0FUUUN1dmU1ZG9tUjRGbTNQaWZnZUNRLWB0bEQ0 XndQP1QtezE1IXN7R0UtRyZXZV8KK3p7PjBMWSZZWGU/Uj1Lc0VBRVRMfl88cDlBQj16aC1jRj5w KDBUakQ3TiVBSSRnfGJNZEFMbiU1d09heSVBQGlHKAoremh6fWI7byRDJFFjR1JjNENmJkdLeTRq JnxtWkwzNCZsJCRuQFgrU2NvfE9rTHsjQmtxYWAjaTB4cnZna1NSTSVICit6YndhYlUtO0VOMGMh X3ViNXBHIz45eVc3M2IpZjM2KWBBJkJEIz5veiVFNVRXci12P2lQaW9oT3g1c0dOdXJaNSkKK3ph RzF8Z3A0ZTVyUWxwcGZucHV7JTM1Q0dNNSpHeCNCQD57ekFXZVIrUWtASGFSRmhiVnxCSkRBaWpw UFYhWSN8VAorelpRRk0zQC1FeDlaUUhoTytwZ01XK3FVaGxkKjRvdktJMyRaODFhJkNuZldXJG4p NiReN08kN2toQnRQO1djX1BECit6Qzt2I0dmbHVmbFFCRiF1O2JqfDM8fGslMXlRcVVaU2F9fUox I2o4SjJHTngpPitEXilRV25nNHlTfUlpQE4oSl4KK3pjSWg+QlorTCh2XkopVU9uekFLe2o0JTNx JSpIZXdsM35NZTB8LU9TTzUzTjlgU24kbGd4RWhDanVrfCRAYHxqcAoreitEZ2gzdmJ6K1clb049 VWhTPXBnPk5TZ0omZWE1OXN4PmFXUDl9MHptU1BEUFV0QXQpKCNzY1phVHlldD52TjtYCit6ant5 eGppaD52VXk5aHo3ZU5hKHo7KSlGSVFVcU9BTWhnV2psNmRRZkxwNTMoRi0qJjAoSWUhdyFmdXgk bU87V1YKK3ohQEAkeis1NjB3aVJNK1RYSUBpOFRoPzxkYWs3fDkmJDNCRnZVdD1ONilPYkR2dmA9 e0RRenRWTFhrOUJXazRpaQorekppO3Qxc34pMTFrZE4kSVh9V3NjMkNiYkFCPHgoYz95VW5BaENj OVFmKGZoKWV6TCtLLSU2eXxGR0RudWJ4dkl3Cit6Yk9MczIlcFJBKFhZdCMhK0x1VXQrZlV8andW OCpfQHFCWkt7NSZ9STZNTCFtcVkmdTs4X3N0aDN6Iylpc0hDUVQKK3pjOUhiaiRvNkJgUmk5bGlx cU5HcVBVM1pMNHtffEg2NHdeK0dhVzF6VX1XKWhvKSNZdWVZblZIQHc5UjNxTFNLcgorenJpNC03 VCQ7JSY0IXBocyMoSm1vLU1jcTVtZz5+KDViYF5jRmo7KSE8djVKJiltNClzUDRpfWlXQX5GY289 MlVICit6WjNBJDxjdE5eQyRuelY+IXFzdG9NKW1BTGg9bT9eey1FOSVKWiRrMzJNT04xdVZqbUg4 PWltaXV4Pmo2bnNCcSQKK3p2PEppIUxVZV9kNm9CSH0rRXN1IUZzN1U5Yzx2TCFfYXpKdiFJd2Vs JEIhIVU+TGNFNCt7eGhXUjNvUjFTdjl8fAoremIoNGlReldGaClqZD88YVFLKjNqIUd3Yj9FdEF7 UiF9V0wlRncxVklmcT4xNTRnXjx9KV83X0NWck5KRHoyQT9RCit6e2shekt4Sz0tIXdwfH4tdjcr KiZvKEA9VjFwJllXKlZPcWJeWWV9cC1RPXFnZThAIU5IT3FSM3xKKkE5VnsrQjcKK3o4KCN0V1RW Sn1rN1RUaWo4ZnckcXo2ajYkUk5pfT8qZEdkNEUrVEMtMntOdil1YjwhaXoqXzZ7V0NnZ25UOWV+ cAoreio8SlhiLStJMj5hSm11QSNrNzx1YU45K2ttNH5vNSFrbWMmSns9fVhqUUBkUm5Ob154aW00 JmklOG9SQUZqMFA+Cit6MTMyakdhaEtjWFppd3dsa2M5YkVTbUhzQmM9NTZDS3I+NUImWnYod0tm S0gwVENlXjM2PjJKSSROdmpEU35Qc1YKK3pSUiNhQGhHY19xRndoOEN1KjQpPHNlIW1uKG5jaEd1 fnFlSUxePWVVSGJ6d0toZDdLVHNrQHlBMGxyP3VsWmYjQworemVsOWJ+RC1oUXYqfj1nO3EtSnRa dl5TXyV6R2FZQ0khfjlnZyNRX1BoUj9BPWx8fVRNbmBSR1JyVjUtS0BlR05WCit6OTlZM1F0N01L dlpLY1RiJjlhaioqZGE/d1JDP00+Y0dJbTc1KGdgclh1a1JnMyp+VnF0OEdMPnwxZU5zbnx7c3EK K3o/eGNKOUJjZFJGaVFVNnBhUDA0Iy1AMXViV2NzbHY9PSMqdyZmWXZYRkk1MVUkSTRMRS10QD02 dCs0fFU/bmR6eworem5weW17VE19akJnOTd5bnI4SWhpMSQ1bmZzanIoakhNWF4rdER9OF5KYHAj ekdOJH1QcXhYY3BaOFVQOEx3SmJuCit6P1VQM1BIcXJ7I3MqeG47bz51eEVOQ087SXlAQyQ0U3hR UFNmTSF6LWVXQ2hvTHFQRisrMXhaTCo3bDM9eGB+IVgKK3o5bkhXVGpPcjUhcWFOeGFiPypyKXJV MUZCPXttS2p7Y0w7UWJCRztaTU8xSnxFZkl1JWdTV0d4aE8qfU5ndGN6YAorel8wci19N3R6WWs3 cWZHQTcjO0NFdU0hSy0mUiMwN2p1MzxCbEpUSEtad2duKDJNRjBTQy1rQ0dKeyl9XmhMNysyCit6 IUtgXl8kOUt9IzJVIzV9REFvSnx5TWZ4Tm5BMmYmeHtgQlg0aGJVXzNySX5NZ0YqVD1LSjBuTzZa M3wkJl9ZM1EKK3okVEkrPz47NWM2eG4+QjM3bFNsa0xES2pLZTk9M21QYj1SSzM7O34wWlRUQ2N1 SnxfJEVqI1BgZW5UfURAQURsYworenV8KDdOalNgRHQ5cyg+Vnk8JU9JLUhJZyNIbXY8UnFrRiRQ dUlPPztaYmJ9YmFRYD1jdCMpQ0s3QzhwNGhKQjR1Cit6cl4lOGZkazdsT1J4ayolMktOZEJPbWNp XzYhYXNgTklsIV5GKD08X0dtMEt7QDAkVzw4d0NiI2IoUTxUWmtGZCgKK3o4RkJCPFE/aGs8MW05 V0xMd3RAfTJJK1lQS01Zc0g0T25pa2lEYmN5RnlNR0ApU0oybyYtPkZ1ZTBabyR0fjNMUAorenVI cjYjJWs2M1pxTEEzdkhPUnYpYkUkNX1SUmIzbnc+eFl8MT5FZ0xwYkh5X0J0dHZGJkx2TlkrPDZJ Jns9d2tBCit6WlpTUntWQCtfJW5wT31hcm1SYlIrKD09WnstRykyOztAV184JCstZFkkcUBsOHoq RUBhKiMzV1hjYFo4MFVBcUsKK3p6PE57fnhZMUE/REZPWk87ITEmYHZlenJ1OHJPSVduNz92dXRL PT9POS1GWmNrX0ZpUTZ+dHhZYk9qb1M9KjVfRworektlcyp9LSNhbmI9SU1TX21hY1NkXlVOSGNq M2ZPR0QlPlF1QiE+bCUwa1ElSSNFR2A7Tz9AZmFWN1hrQCFAbkBXCit6KSluWStUezJeKEkhWk9k VFNqfm5kJi1fQmZgQ2MySlhRSk5TQnZEfktqKn5DZT9WVW5tSHdjPEpTZ1ZkbCUyJnoKK3pyTS0j cm1QM1dLcVg9X0g0dEw3fk5lSyNnLW1saE08SWt2S2NicWM8ZnNWSVc5YjwyZytAPHh+YG1LUkg5 YG9fPAoreng5U1lkWWMqdCo4bmE0cjNnRCNXIUxjJTZPRkB4fXNNbnF0TihrSClNPlFUMlkxN3Aw ZUJ1flBpYCl3aUZeY2JhCit6I3JIMmRHRCotKVV8XmB7OHduSn5GPC10bGhseE98bmY7IWcpa1Nv Zk9oJElMTnU9UFgwNyNSQVYmJWtYNlRjSj0KK3puNVFVQjJ6aD5kdEwzPlZDcCtNS0xFU3lta3tp OTg4NHMjaG1qZHAxdkhkRG5OOUR7VXkjKmZMQE9xfnBndjxtZworenA1S0MrQyZHa24jVkI4JGQ4 U0QpKWZgZX0/a3ZzejtSTEEleypweE8yMW9oP0YmRTFQMVkhNml7bl9qdyQ7PzNfCit6bkthZS1J cm1sNzlvYjV5KjA1LUEpP0d1QEZVPXpZJGpxZjF4NGZlakAhNlpqSnI1WFdXK3koX3lgWDEjPTBz KCYKK3pDWkdTQmAjMDUkd2tqQGNwOSpgTWBtb3lfREdEUm5EcCRJfjw2ZV5qN1NqTDNjej4qQGRJ PTJ7cUhLS0xlZ3ohMgorejU+JkNQYUd8OG1KYnlSQmlOd2ZATmU/YnxXUDtYWFYqJUotRztEVFNY djwlK3c2dDFjbXVoK0pTRiQ4JHdxamF0Cit6Nzh6P0ZgR3U7NEJPZSU0WU17b0NKJXIxa3Yqe25j N3loYGpAPmU3KT5ucFYyekc3dmYhbTlrTkNRcmYtYT8teTcKK3olMEFfOE5wNTJrI2hNVU9PYENB PE9XNkBaNWBfbCRueUpAKXs3I0N5ZHliaTBJKzhlcFZzUHBrQSlsNmZwT0sxMgoremlXWSEhYDI2 eGFteHtXdmpxRk9RUyYlIXhJX2RIVDxQeypiSiUoYXtrVWx1R0RNZSFVK2AtJm5US2dKNlUkOD5e Cit6aE1aNUUrT2RPe2M1NEsyYXUhdl5kPShiRUJpIVdkT2oxcDV6U0ZMXjdLO19ic2M2Ki1jeXE3 cFNCU2RLVThieWUKK3p7M3IoMil+Rlhoc0JuQGRFaUpEO083KjZGUmkzczdiP3loMms8Mm41ej9q RXlzezcyQ2kqN3IoS0ghN0slWEh4Iworel5qMk8tMlAtP21DOypkdiM3JlcxcWVGU0dEaS0jcDFB Z2F8WkJ6T3ZaITNKXm9KajIhUWRMc3lIKDV3e3FrQ3xDCit6VWNjZ3dWNmVxbkhaODx6Q24qfFlj Q0IjNElDc3Y7I2VjK34yOEUtNjB0cmd+MUFFcHRgTlJUNjYmcVZYdCM7flMKK3pJMExPZzJnSDF+ O2Z1Z0g/O2VkMGZkdVc3clBwbk5aJFhOKXVqMkJAS34qaX1PUmdIfFZye2FHcmk2OW9YVTA1Mwor ejdBUjh7bnZoa0FLfXpPZkRHOWBVNyVOUHFIMno5U2U5RitZKW95Pm1rZEZzVigreV9ncnpSUVBf JT07d21XTSVkCit6Sjw2ZWxje0lWP21LRHxxeUlgJTxBSlphV2o2dVlWOFFtTDN7WmBzUWsjYz1T c3Q9eGtIX0tIaiNwa0tgYDVJKCkKK3opV3d3KypHayhxMUYkWD5eUkdeJiFQfkVQbVo/Yk1kVisp NFJrenk7UlViZTNucnlGd1FwPllHK0JkVmlTQC08ZworekRRKDw3S1gwZShLMyFncWtNPHQrRCkl bTJNYHkzLXZIcjUwaXZkNW1AfUZhWjsoekUpNml+UTg7Wis3T20rb1JLCit6JVc7OCpSX05gYWN2 VjdlYkEhJChfcVF3RjNaYz9tMUBPWEIpa0VRXzAwO0Y+Q0IofSFIVGQmPkh2JkRjKHtVKDAKK3pN dlNOY24mUSQmPXktcXooOUJgMC0pM1RDeV87Z3hCNFk3OTUpYUJVRUVDaGQ0JGwyY19EISNYdlZC TTAycF98UgorejdtT0BmMERXWT9EaTZnRVNNIyhEbiR3QGNnRkpeMyE3Z25JNSFSVCVZPEImIzt3 YVJMXyQ8TWJJYXd6IW8jUkdNCit6cWtyJV5PSmZ6UGteOSQjV29xZGdtQHV8S24lOyNVS1JYYjVE byNGWnk8Zi1yPjhCOSU1eyglaTtDV0V4JERYKXUKK3pNKTB6UWNWYEQoKG1iTyNuXiZLKHNxeTRZ M2h0MEhHJDZGdkxQaXJhWCNIQj8zM3QwaWxVKktHUjRheWVScklWbworeiNrK2k9ZHBZWkM+ITF6 STVyS2JBezZfdCpBO3lXLVU7c2w+ODNYTTJLYHQpXkBMWlVqWnkzV1lCZEx1YSRUWm4yCit6KyYr YkZkPnx8VWhKR3lhYiZVRTs1XjBQN0p1S0BxN3RBemw9dVFMPHJ4KDNlMXUpdW4jRk8zRHs/Kk9J ckBBWlAKK3puc35oKWI0SSQ4am9MITJfdE48MWsmRDtMKD4zPiZpVCMhM0l0T0F0USEoJjNGKn5C VHtoTVh8SUMlPklSYU5fcgoremNoO1daKEt4ZVhXPGNaWTl7SE8hSlo5WkhVT0hUe15QVV8tWVJD QipkU2V3T0RicGkqYzRHNW5WISV7PVheYEQ+Cit6T0ljeSskWWwhIUN3R1AkYSluOUsxd2Zac2NP YEFPX28oWURfM3d3YiQrflN1XncmIUVoPXgpSkYxMmNJTzcrc3EKK3ooP2QreFVgYkwqJXZhWEdm aUN+XjhsZ3lDLWBkJUlza0ZYYWRjSCspRkwrQkdTQUM9Mil2MWxmT3V8STl0dW9jagoreko9SDM7 V0Iya0pFM0ZCU14ycGRPbXY4VT5BLWVXaUhnV3R3dlJwNCsmIXd2U2ozXm1sdko9TjBETSE7elF5 VXhmCit6JThzY3dqIUdYIzlrXldqeSZsejxjV2xjWnRLIy1uaCQzZ1RgakdSZ2ReWCtWcHFKTEJI XkB1NndiJWNQMHs8VX4KK3o3dmxlLXp+VS16Z0tOSjtgVnIpUkZIOyprSVEtOU17JHlvJitlYClv cEEqJGhCSVExVXMmYlg7JGRNeDZOOShOKgorekM5WGRLM3cyMXltfF96JUpLNUhLYTdFX3M7I1Io e0Nve2pkUDdiPHJfRFM0ODtnNEp4SXpRT1lPS2ZRRml4NWl5Cit6Uzx9Qzl7ajslJFcjX3BUZnho XyVmWmhhYWYqRVJeRiY9bWc2PGRTZDtoMTUkeTk4WHJHVX1LX1hHTUckb3slTnwKK3pNdCEwWFok PG1ES1ckMmtyXkc4a0puP1d9P1M0PXBWZWhWbD5pfiVGaikyfGRMTFIjVDg0di0jJmspPUs2QmVB Tworel5zJW1eQzcrb2hQRm5lV3JaMWVxOGpmU3VnQmdjUnBaNGFNVXZoQEc2M3ZHLTN6b3c+VUBV TUs+VTU+R2lYdU1uCit6Mkw5NUJrYzRpSCNgQVdrcjZRZzI0UUBzNWM3RlJzcDczRTlgQnMkM14w eDhmdU1yUlRfTGZPIz0wenM9KTVucikKK3pfP2c9UzNmaT1URTE5c3R3bCgrUj8hdUpVVVAhfFho KHYtUGV9SG91TWVxaDw2SD1BaW5YMGs7bDhwQHB6M3ZQUQorenJXWV4/eHwld3FuN0w0K1llXlc4 NyY3RipRflFFIT5jUnI8I2F8RHooem0wLUdfYjNBe1N7d3soRjw3Vm1BNzVyCit6TVFmUCY4bzk7 TUZxVHBYJDlgYD10MHcyN1AyZW0xPXVEITVEOCpSQGtgNFp6WVYyd2hROHBffHlSIXtkeCthVHAK K3prZ1gzKXglYEdUPDs8ejNeKi1lX05Ie3BlVG1vLVVMMyluNkptTldgbVMkcCZwbE1SSnUzSTJR LXpmVX08RGhCPQorek8lcEZQJSNRXnQ+UGlfMlBrWSR3U2ooMUY8dzBxKFhOVjBDT0d4fEsqbnRQ Q0V9Sj9xdjI+JjxwT2hQaDFSYU84Cit6ODxFQ313UH1wWmJtUENeQ0toZn5ZaC1sXj5afTwtJTRQ a2MoeX1iN0h4ZTBAVnVeTz5xZDdTfGd5S20jMiVudisKK3pXPWkpZElsYmhpbGg1X2olTmxRRnBs RTVTeyNRc2prO1V6cmZVPyskTmZkU29gWi1XJEx4MGQ8SUxAdSN4eGhVdworenpkQyV4TkFyPFJg bnhnMnY+VjFhcmlyfjZXNy1RNzw1fCNwUVhEQSo8UnxVMnlzMS1kdEJkUzh1YFFMeFQ0JFRRCit6 JDt+UXllci10JkBVcTNoRUw/QXE9aHpnWHZrJXxAdVZse0haUnstZy17QkpkSjZ2JTgzanQmN1Zy PTh8OXxES30KK3prSFQtYUB7fjskMTQ3Uk9OPWdBTExCNi0ycS1XU1ZqKXlwJXI8Tzx4ZFBwPn5B QFlWKlYoU2U/WDBLNEVkVTZtagorei1ocik4PztYTmMrKHUhMiMhPD4pMDRBXnJ3bis3Iz51Q2Io ZnwhfU9qWXJLdHgwSEQjTmUqTVEjbz5WUkNQUWleCit6d0FFPW9ZckdWWW4xSmRxOCtqKnE7NSU/ OzRjTyV9ZzR2KSFQVyU1bExvfm98aCVZOEpyZWRRKDEyc2E/LU49alEKK3pocE0jX2dlUSVAaT00 OUpSfnImRi1JU3FvOTRgKTtrenQyb3lRe0RGTlprIWEpWnk5LStNV0N1eSlDRns7dlleWQorenQj Vk9RI3xYRjZ3blJzYmdwcjAhND8mKmNrPFRVPEQzJUgxTSomT3cqKSkoP3ZhU0JFdWlIP0ltYGtB K1ElSS0pCit6N094P3d0UnVlVkxFUmQpLTFJdTBSWFdqQD5PZT5DMX04KG4qWlptcD5IWE1+elIw WVYmWEdIRHE4NCF6PEYySkwKK3pPXl4qRzM0SWxlXmd5QHFTdnk2Tnp2bFF7MU5BcWBYeDtmZGBW bCQ9IURQQmkteHg5NE1xeDNeSXw9KDMxbnFLIworemJEbER3S2RTJiZpYUtmSz9GJnVXWEkySkdF Vzg2N2c1MSgrX0BTNHNlSEozJUpxc1VRUmNweypObVRZeytKXlk/Cit6MWhUMiEqQTNEITwqSH00 X0s8VmlMcVd7I3kycUpSK2ohTl5MXlBge3V9VkVUcWU3LXtLfX1FSUJWZjVzQFI8Z2oKK3p7b3R4 eGBJPXtaNj9aLWtBNT11b3ZXOTUjMlMoVjBOZ3VEXj4wb3pfRm15eXBeQGZ3YDFlb2xrSjs9QV5J blNKOQoremsmaXJHMmtlVj1lfVZtSGktX0oqKSF4P2M2eiVYIWQ7WWg3blUkQCsoZkAxXypAflps M3QmSkhkSElUMV5EbyYwCit6ez00fmFJb1E5TGFTQ0tUczdQKkpyQkBlRVdMdDd5dmVWIT8lakhA TiFqT1gwJkBRT2JSY0xTcU83WFktTG5xMlcKK3p1RHVxVVBeYzBJWHpCdjFwLVg5ZlY3cntHemFW WGIpUGgrUlMkUWVhTCUqdHJUeENpbDFEaDBva2VWZGs0Q1puOQorenRJU0BNKDU3M2lqYih1eyRP Z34pdkBVbFpEJkV1Nmw+bnE3KEUle1pTaX1WTDBYOCoyJGwyZGUyWEklMG5fNnV8Cit6QyZgZyU8 bFdgTXd0QXlvPVIoJVNKPTdVbjF+WE92WFJ5XnNaSmBqeG0hKT9NJnZHXk52Z1BDJUtIV1FVMV5H WH0KK3p2dTJvcHM/Z3VJbm1vfHx6TDQ0MjhYNW51ZmpPbGxFZ1NUIVFoSn4hVFNGaX5ZVmMmcCM4 YF9vZWM3SyZFMT9ASworeihTVHxaWTVkdTRAamBLN3VPdVR8MlgzMTV2PCo0NDQ4JCMhPn5Fb0Nz TDlvfUReMUo8bjUzdSE1bFlqYGgqS2teCit6U0RiYXE5cEZCcUV5LWdeJlFNYjdEZSlfP1lzQGha QntjJHJaI1NPZT1MU1cjeUsoPGxuYkQ+QERKYVlaajlIUXgKK3pMQ1YlcD4hdlVod304JE5mPnM0 bWxFIWQwMWI2V0whPWRPZ3B0fjloPXp4TXQ8ailnJmdzN0s2KilkISg3Yj92WAorek8yOTkjdUMx Z0Z4UypDalBTR1V9NEx6IXUyezluU0MoQnZMUC1fS3phUkUoZm1DSnA0RnktOyl2P0xtNWpRTTlR Cit6N1YzIz1ZKW1JUlFldj9oMXRGTTx0IUc/IzRWd3ZHKzJDakslMlBEVmsoSlBkJXElI2xzRjJ1 RzJuaShuMHBCR18KK3pAJEF6VXwwfTApeih1fVk/SkBkKzBuSUZ3LUtNNyteY3tHZktBRiRYPjRC ZSo1Z0FvNjkrfX1McFZeaTU8ZHsjZAorem5kNXF6ezwrfXIzSDszJF9SYmhIT2dFfmV6WkdyRGRK bHtGVz9Acitta3VsSnJPNztQKXB4aihEPXBzfT1zJG00Cit6QERCLXJkXmlBcilMLSFNellQZEdl VFYtSUp8RSMmSXhlKDVkLT97cTtGM3dLeil0dkZURDJ6OWBjS1RGKj1WKjYKK3pHR3l4XjYrY3hR bnAlVlpxeHJoPWR+NmBTJnxpYWA/T3RKPzlaSEZye3ZoUyNfQj1nRER8RSppSnYqVWo3cllUUQor ekVqPVpKTXZyNj1tWERFPHtnNEh0Xy1rQEYhOEdaPkJhRlg3QGRxPWZyaChAQFhiJEU/RiQ7eTte VXxHZGIxaVZqCit6SiR9IzV6diR4ajdEOEpgSjQoekhKWE4oWWt7WDNKI2h4V1BWdkh1YzFgU3t6 Vn5AVUJeVFN+TF5eO095c1lJPn0KK3p8Rz4kRVUxQTxuUjh9eztpeFdGbkh+I0t9S0BlRCtvWDZY cWsrMHEzJlpTRk5UOH4zSEZOUmZac1prPEJ5MSlvKgoreipDNlg4NSRDNlVVPD9JJG0we1d8VDFH ZER1M0VPWXomTTRAVWdaeW1uMEwhT2khQFpnb2huSzdGa1V6K18kWFckCit6NnZgK0V3TnRRKGRL OWdoZTRKVX02JUxEbmRmVX1GaXI/dEtKeDlTMUR2MEAzPCh3bDY3eXNLeld1IyUrMEFHQ08KK3pD fjBnXigtNGUzZCgyJV4qbkUrT00yRGswNkJuKkZnb1FCek57Qz9xbjJ0dSVxRkRjdU5TanVHdis5 TFhWfSl+KAoremBsQmFuSWFzcG5gQCFTVipoSnZPVUdHbFJqT0BzISYtKjJ2K1NELWpTe200Z0k4 Vk5kNiQyakY2NGRTcTVASE83Cit6MHdPMU54Nmp4OT1VZFJlS0J7WilrSGNycFQwJCZ0JGRXSE5t cEFpczBPTStfUDwoclNnS3BmQDw+UWpDI2J4dEIKK3prelgxQiltakUlVVg7X1dld3JEJXcjYit0 a0ZOU1dsfHtjVTstMUlibSlkUHpod3ZNMUM5YzktVS04OC03K2dMcAoremRYaFdyVXhaaDI5PVgp M2Y0fjZHbSYzekhzTj9xV18+JUZEMnclbWJHb0ZmMCNEKEwjRHpWbHRCPioxKG1NPkojCit6ZEVf P3Z7S2QwdDR1UlV5bkxHaTh2RUZ6Q3NqIUQ2NW95LXNYQDNwdV4+KXkxNXNxWEd0PGZ4RVhGYlA1 Vit2UDwKK3ppYF5kN0t7dzduK2R6Pz9RKilaPXl8dGJEN0RjY25nUiZoVS1QWmJKe1lUcTRwJTdl NGVwOWRJdWM4fjk5fnI9dQorenFwVz5+RiglTF5MWjFxXztrM1h6PjM7X31he2tVRGRoQj5nUFh5 YHN5X1ZYaTZzekJPbjQwRGtMJGVHV1Fyano7Cit6dEs+QkBiUGg1ckIrdHJ3aU58bTZrKVJ0czQt ZCl1SE15fG9oRFpjN288QzJzeiYrcWRTaVY/UiFvYXpQe3BidVoKK3pJSjAjMmhTQ3V1bUdQVSgz bGIkTyFRaj56bjR0LXdqYUNwVXVtPXg/aFIjaHtHcy1zMz0oN29ucjBzeTdHOVRaWAorelApZzFO Wk4paVFBZCo/S05UV2tiUFNRQF8rSihZLWFgfmAlSUNgKUdWcmx7NXxFd2JkbWNKPDgjQzxeKWN8 TXhkCit6TGZGRXM+PUVJV3RWIVFxKEQjME5gfiUtJiZTVH5nTCN+cXlnR2xzPUlwOGVLKTtoZEVm UzNTQ2dmeW4zQHlzRHAKK3oheGlrNDw8cmxAem41NDU9K2skQUNNOE0zP0VsZDUmT3B9fSNQOH09 ITUwQWFGenR7ZkBBR35TV154fThCS2RARAorekVHViE8SkRPa19iIzhjYDFyMGZrZlRIbGl0ZzU0 RUk2YThTbzE8ND9pRHBGVUhDaCU3SVV4VyphTilaaCgkRXVJCit6bFBoNUE5Xk02XmdzMD5KVCtp SnVMRy02NGJgYzdaQUJ1UUZEcys8SkN4NGFsS2kkO2xXWHM0TDBgM3I5dGAtOzwKK3pyWmhQeHUx dTxnezFTWX5fflJPVmtwUH0wPEdseGlVUCZYVXgmfW8oKDxrfiRWbUlAQTJFYUY3Mm9lVyFfdmt6 WAoreiNPSXRSK2d2Pzshd1k/Jm05VHxtc099V2VtKmRGbUt8IT5TYSo5bWxVfUx1QDN3IWtgQWle ezM3SUl0KGxWaWY0Cit6RzlhdHBNT0NkIUl0VGdKVU1mbyhXZnxfSlV3UDJ0S0A+R2B3TCQkaVgx UHtoblg+TWZJUVchd1oyQDRebzUmYWgKK3pTOFhnS002MkptSz0/NikxZiV+e2l0OCgzNT5KdH01 STdXTkd3QWl2dU9DWSYmMWk/IThYej10bnhGd00tMmRgSQorenByM3RFMEtNaWhuUUJ+NDhBIU5u SGkkP0pSKVhDXjxzaSQtKmZjRmsocipaNSplZmoxPXYpI1E8bHQ8OWZfVXdpCit6KylKYmY/MzZO QiFoUVZPb1dAV0twUGMhPD4tWWdpSzVhWEo4T2tfLSRtO3koZTc7MGFEdDx0WVEySkYzeV5UcXQK K3pFTDtkaDVrKzAoYSRMfmdqK25FY01xP2hEZUBwSSg3Kytge2ByP1V7bWh1U3QxdzYmUUxQeSE5 JSVIRm1uR3w0XworemswcUxVdWd9UiFQRjIrUTdoJnVyX0BRQnFWQE9ydm5gNUR3cj5UOXRlYEFa TjdzUCsjTnAlXis+byk9dUdON0k4Cit6RTEkPEBTdTlXQ0BkZSNNKi1tO0UxamJKYVZiK2d4aHdX SmtWMnh4b0I5dWJ9dXN2aTc4WT1TPnJEfE1Idl8kOEMKK3p7M3BQMXtpT254ZyFJSSVxIWMkS154 WHZYI3k5UiMmNDcxaWcpUGVia0AwPlM1ZWVMPl9FJGJZRTI5I0R5KGhucgorenorSCErJGc0PkZC a2E/WmBUbUx7KUZFV21neUxARCgrPyorSm9fSFk1QTtZTSs9TjttdnVjYzxxRWE5YVhoZT1YCit6 d1BSWkMwN3N+am8hank2U3NMVHZfQHFrLVpHJnJMNXY/Znk5OUtrZyYxSU0+KVZeUmsre2VlWF59 MUFXaW8pWEoKK3pSaGJlWEtRJEd0eFl3I0ErQWBAfDEtNSoqNGBZTF9iVFB8ME9nVTtyQiNqLXBz JD8/fTV0dDU1PFAlQTVoPCkxQQoreipILUI/LUV+bVBTd2pnNVJIPnZFJndLPXh5dTFQdz9fenB+ O0ZjJEUlY2M7YjlRcC03SiMoZV8wQkdHNiNGSUZGCit6dCpJNXBEVGBWc0l3PiU+aGBHYTZnOCt7 dlZrYVJ7dV8/N0EqYlBgbEImT0xkK01lJWtQSFFCRU1DMUlZYGtEbm4KK3pZPlgmQlphKD09U1BC R0h7Vik/dkwyTnlObkE9dio/ckd2NC09ME90an1+QmdWfUF7ezEyZz5KMnZiOWw3LXdneworel5O fkUqellAVDVVT2NmcUVEdEhzPGhiUD5Ja3dwPSRzPkpLMkt4VV8yeTc0M1l5JTZDS3lUSnxFTyZ0 bkx5cn0hCit6NTI+eSYpVyFZVD5eWT1VRSEqfDtJSHwhSWg4Tj1DX0hjRGwyalZXJnM7flpsQXRB cGNXUXx+XmQwU0pabyZsVGsKK3prNmtuJkBYcmpHbCZRV1QzITBkbnpoT09LZGBSU1JOZ3NBJWAk bVZYT0F2aEVBZVdxKj1jUTBybEtXcE9DTTYxMworenJGbWZlXkZ8VXNvK0ImdUN5RHJ5MXUyaGc8 dzdtMFN+KWg3cVpMZUtpcXlFeUdiTUNGJHJnfWV1NU9uZi0jfF9SCit6JWJXWXVJS1c3QWlKViRa NEZpdV9zKipKWj4oZnhYV15xOWcpOEZwKSp+TyNeQ1E5e1ApSUJvfj5xTDg7bHl8PHQKK3pCVXtr UzdeZGpTUVVLSlN3JWdFMV94Qy08WntgJWVvKHMwTiMtSztESU9XS2NOYjsjSWtsdkZMMX1tNnpN JWBXdworenZrPHtSX2gmYzFgZ2JzIW5iNSt2PSF+S2NqcjI5PG0/JkVGT3Rsczw7JlBmJERaZUtV MlchTT5OZ1U2QVFwcWAhCit6SkJZMml5e1RsWEVabSpRWUpYUCNPanBTayZUSW5DNSspb0hBYSFw KWpncTAmYj9FT0toZSs8V09wOGdMRCN1ZksKK3oxaiZmNGFHIzZtPmtQV0lYJGhPZFhCYGB2eSFl T3o+MERjXjM2X3RfOU14MVdmZWljJk53KDBQclRBaVN6Zio3dworejE+SjlqNWV8XnBmfV9rOzZK PXM+RyZhQEpLSWlEfTxkbnxpQDNAPj9yQm58e1RRdUhRXlIlc21wKyRCTFE8NnslCit6NWFwRGU+ SUlIQysoNFZQR0BUfWZMJGg8I29ock9hV1B8YV8zN0ZVajBtSFBVOU0qSitMSTlHTUUwYl5CcVQl MFoKK3pgISReQ002NjE5TzNpVUU9V155NUUkQ3okeHJDRWRISEliditNXjB7WUVAR1o/aVE2dUl4 O0NuJkxnU3luaCF4NAorek9vVjspd09eZCEzbyVAaGklfjlsOzJPcF9gIV5xYWhuVGVoTCR6bDZJ XiNtbW9vUndlbXN1Xi12QkEkRnBDVHo1Cit6WVA4dGNmeTBzOCp6ZzRWeTJqOXBMOz84S08wLU5R SHN4LWgkWUxoMU9NWV4rKm08aTtOcT43SiNsalQzNWBwc08KK3o1PSk8MXxMTkNFSWV0SCZIKDxr O1EqWkllVF8+K3wpXjlKNXZ1WFVkWVkrYD4tZVZEd3pOSWkoZFRIPXdOaDtMUworejl7PVFhV3M8 RExNbnI8UXtvUS05aUNLe3NIQ2RIWFZVSXZhJnljbzBiajBXZncqSVJYQztrcnVpRVd6QG5yenlp Cit6MEJkblV6IyllNmxtPng9R3dLfUomZnFkMSlJeTlFcHY4LTMpMVE/NmN2PzFTKzc+YUpiPkhD NkspNEhNaCVYPWoKK3pkRXk3SlVQcz5qYCFZNFdxYmY2aGtMYl4qVEVOT2NIWWRrU3ozSTtTVzx4 ZkJiVyskRlZpcj5DayFWY3M0TmNFOAoremhlbWR+PXFkUmAqR2c5clowN0NyeD07P3YxQFYldERK QiR9PyMqP0kqZXpkSXp7QWM/RTFvQE5VfGEmOUxBTzc3Cit6aGx4KyhAIT4rK043IXIrTkJKaClr NU1raTlIbXRAVHFrLUxTblJpVWZlK3F6Jm9lLWQmOShLfDsjNDJzeUpPOTMKK3pDZSMteyhTaVVD S0NUISZnS2dNUFJYTVFFOTdSVyVBUzh5JF8tUXpDKSlWdTBBdWR4a3xMNT8qdFd5WnFIOGp3KQor emxNdnhSWkRNMm0mJFk/OXc8Yko5MnNfWjBaRmB4QG1XZjhUeER7TUE3YXZMUVVgak8tQUs1T3p7 MyNIS1A4PTNjCit6Y2NSTnp5YWA8YD91ajtFMlhCOW1EeVpDTUxDZyNLS3tkUUV5MjImSWM0S14t PWIyamtPRSVhP1coXyN6cWY1c1oKK3pMNFVfMlQjNFN4cz1ndGBILSRDZSpEfjg7VyliYndAJmBC R00lKyFLNmhFVjM/WThndU4wWTs8PiZAYnU3aVkhbAoreno7P2ZsPzZmITFraWFCeVhDIX1AV0Et NV8zI0o8dStOVDhUbTBQbyhTI3ZFU3RDTVYkbjc/R1crV3c2cGVlN1IzCit6emxKY0RGI31IJkBj ZCZLUXlDeXM3T2h8Z3E1bGsqZDgzKChacDJCZy1Cckc2LThUNTMyMGpKS3o2e2kzZSk+T24KK3pv SzA5Nko1aypVUy1tZH4kLTNMVUdUSDVvbkgzMntBNTU1TnVATzgwKn09WVd6VHB4M2A2KVIoJkBn R0hFT19QKQoremFkKVkpZWRJU0tzMTtrT0JtbjFZZzQ5Y2dzfUw/WVlPQnNJdjlAcCFjMyM3dHdq JE13MDZjVHBtenA8ZlhaQWtVCit6cEZZX2R0e3JkM1d0WUc4dUFqdyYkNC1VSUdWWTJrYG5oWHVy Ym4kOFYjP2Qocnt5O3RhXzxNUVJmNUJfTnJWYDsKK3prN0l9eGpnPiEtV05gfnA/RztVOzQlUUJk Xlc0ITM3MGdnXnA7NEw+RTZVayM2Nl5lUDdGcz0wbEZIPkcoMihEfAorem1weUBjPzhyNkdgISY2 OFEkKktQQ1g8Y3ooSURPMFE8YTV9KjJxNW1VckYwdlJ7fFE1SnRYOVZ0d2dPJF51fnNCCit6X2FE aHRXaj9JbUtFPjdyWERgJiZoUnIqKmktPGQ/PkA/QzJVdnRARnBwWHEtaWI2V0UqNGhuc2w5QXVK aUZZbnYKK3o/RGw4dnVpaHRHVVd0enohKCgpdVFFaCgtWFI3SjxANTROUDx4b18tSCtvYHBvem9t IWIpRHJeYEV6ODtqOHo/KQoreng+N1BzU3pYLUUqdmJJI2prczBOa05RV0VueTlVJiV4O2x5ZCte dDlUPXVVdW4wZnZDOHBTP2pMfEYwKjZwZVoyCit6bmItdGUzWkNnb2UyNWdUTW9FY3BqfD5DYERP MmQ1KiNDTCVne3BJdXcqRk9YantMJFZ8THhyQ1ZFcTUlTU5xU3YKK3pAMl4tQmBGa2dLfENrXlNX K0RYbkBAaFNnWm5sNj9GN0dOTmU9eEZPbnRGaT0qRHtfb3VuNWFFKlQ8RUZSdnN5dAoreiY2XiFp IyVjP20meXxPZD1OXlhkTiYpaTJLK3l5emZrPjVSaW5Pai1EUyh1VV9JOSlkQTxxUzh7IUAtaDBN UFY8Cit6KHUrPVY2fiNTSVo/d2xqWmc+fV9wYGNDcE9DaGYjPzRQKXUtcz4xTjJTbSp4RmtKb0tM TyYrZVB3SFRaP0U7U1YKK3o0WVc4RDhFTDhqbkpDPD9lfFY9SFRDdW5yMiZSUm9TeClrWVNKMXZJ Um90eTlCYE5+fjU5SlY7VDkzYnkxallSJgorenBrI08kRE9fWWVza3NsZGR4cVZ2a1JGUkM5Y2t3 ZzVfckgpVEFZPzExJjVtc2gyZ0oobUIhYUVBaXooVTUteFpWCit6M35US3MlZXQrcyZOfEg/WHNt MGI0aDd3Rmh9d0RFRWsrUEl6eU8rQkxFRjQyP1hwJmpLbnE3MlJnUT0rRio2WjYKK3o9JG15Kmpl TFY+QkVzeyY7bHg3S3NfM350M0YpanVObFY5RU9Hcn0mSzVIaSFiSDtZYiMpbU5ndlBaU31VdnBz PQoreks1QTh6OXEzcmg5RkhUUndrT1BZUFBwe29hOEk3UEQ3WFlBJFBCOFVrT0NDfig5SXBZR2o3 UlMyPng2K25CNFVXCit6MX1AcClsTHt1PTx6JiVEMDwpdVNjaWYqKzBkQj93cFZVQU82THF2dmhF UkhjMzBubUpGQmZUNiM3ITc1UDVEY0cKK3ozclVoS2U1bX4waFlSP2RXfWYqYTR2Zl9vN1VsM0xn Y0gzeURSZGxOZVBoLVJFRW9uWER5T2dtN0ZsSlMmOy0qQgorejIjMSFAU3M5NWFpemF6eGhRcGxT bXxKPjF7RCRsVk4+UVBvakRUQCkkO3VuKVdRKm5GckImKFIzWEshZ24zOTEwCit6QWNLY3RTT29J JWtyTSUjKTs3MyFDNm96ZEpUYG1MSS1rQ009TyNoZm98PEtTSjM4UCpiOCFxdFNmNEBOYitHQX0K K3psZzVieSlUe3woSmBnb0ZvLTkwK0IySnBuR00xYGVQQVFYNjsqMEdCZmVpQH0mX04zTmd+R3VS KGYhTSpndk1nSgorenVkSER8e3FQJG1pQmsmNk42dCQ2UWZyRUNffWRacHFaaEg4Uz4jOGNENEc9 cz9Ta0xFO0liKDleIW18cXpDX2t3Cit6R0REYm1hIWg3WjsqVEoqaW8ydT5QZF9YcWI9QCYoSEA/ MEcjdlNGM3BXWWo3dEBKOGJJamg8PCg3bn5GQ28/V2YKK3pUdEdVcXhvIWV0bEBvNGxVbDFEV3BS alQyKWVfOEhxY2h4QXAqR25pOEN5Ti1nNUczZjReMEA5RXw7Z0RfcXM2KworeldxSSNvRUEpS1c+ KFYzST4jUVYkQFVpcX5oZzhCdEpkSm0/THN8YHteVnFPYDtyUWNfNzg2PUZBKGBBa2FgfjNhCit6 PHMrQk1yQCpgXlRpelV5JlJGVjdJc196NWtHcFZPbH1vNnA+dCMlTlRsd3IobXMqRk5SdCR5R0tq aUpoa3YxdXoKK3pecUM/KjdPVG9qTkJIPTFSZ2dtLWMrUk1tVF5QfWZPVEJ8S0szO3NzSGJqZCZU a3k0diMzUG9mPHdTdzZFVERVYQorekx1Knk3ZTVHaTZ3NXAyJiU3fnprY3BtfEtRV2AzP0F2dTUz Sit2NWJVYTxqTCN9RHU5RHZWMSQqY3lrTnFeQz99Cit6ZTNJUjZaSUdzNmVDJCpFKUg+VkI2UC16 eDE2Jl9mKnZXR3lsZmpLTkBobTNwaEVLJnBEZ3pOJHhBM2h3bCohamwKK3pwfFBHdEwzTzRpSUdz WjdtZU4yaXRTcXYyYHJNOCVYOWN9MUphWngzejN6emZ3alFAez5iNVdhcSZ0bm9qNW0+fAorenJD cjAyem9Kajw9OH59ciZpXzRyaStkVz5Pe1J7WHtIVWotSGNwKHAtJGRycyVKPD1Na35vUj9PQ2hG NzdzOFcmCit6ez9UeHNtNlF5WVZtMWE+QSRedTM8SVBBejJ5b0cldDNpKjw4fGAoVCNxM1luNEJB I3pfTnpqO2NeWWU2ODExK1cKK3pGcVA4Uy16SShBR3JEI1c9NmFMSXdMM0k7VXt7ZTVEamZPcjV4 YVNuKXoyZCF7I3FmVmZ7JCkpRnFYYEtUU1Q+MAorejJvSklAWGZpS3lzOEVyayNwez05eVZSOXJ3 Qlh3Q0tQaSYkeXRoPj1tOGdFUV5UQipoU3JpTENQR2F8ZHhDbmlYCit6bTVxIXZ6NUJUNkw5JSYt VSM/Tnd6PSZxREFAenxlWkhBYU5hSmFLZHhYYVQjbGtJO3k3UEc2I2pkSS1UVSF4bmIKK3pqcnNW TEZ5eW0hX0RxcWR3PSh6bmRAfXNweFZobztAJVRGYVlVYXh+RnUjRlUzKWpDckB8YCVpMW9oRTVJ SnZyYQorejxJSlJxP2JXakU7cURwMUtpYmVtaSFeclUmNzZ4SkhuQDh4ISUjLXVJViptfCVjdTdf NH0xQiQ2dG80dm9TWVNJCit6Z3IxUX1SUWxjfGtAO3w7Km83dSpEPFkzS2FPYHI0YjlobkEzJTlX YFRPXjJXY3AjZjlHbSkhVGVpKkZANlV1WEwKK3ozQj83P0oqcjE8NEFSMHt0UmppJG1lNWU7NE0x I0FNXyFqZE5iU1A2MS1tLWZyflE3KnM1aiVFLV4kKSpqYGEkTQorenc4WGIxJmdoVjJkbS05SF93 YGYtTyZ7TUoqYkdoMSVBVTA0Y1hya2tTe2Y9eiRDYUlhKlQtJTlhbTg+ezgyYWdsCit6XzVLR2A5 KEFwKCZ7bEpifDFXME9Rc0hSXjVTaGQmYDEhSW9eZ0tFWGxkfFVsPigld3RTMiEyJTczZDtRZ3A2 MGAKK3pUd0IyMih8SVpYajlZQnkrak8kcCZNWGc/RXtscUh2UGtiYEB4Q2lWWW1kai1VczE4Q1lG YkluI0tZNCZKVGNHMworek9VWXJBWHB8bWpFMnx8NSg0K0hfJld2fC0xNzUzeCN8P2dgNkY7I1R0 VkdZMVc5SUlUdDB7P2heeFBqRiYlNFFkCit6UmAhWUtpcCo7cHA/T14xXnZAMGZaMVlQX0NUXzUr cF50MHhrKUg2REFUZkdnVmgob0JLeFN6YilBZkl3clRCLSEKK3ozVGY9YDdmI1YxPlNvSipXX0Ip SW9mZ0tQWm1pPmYkTlA2fXw4b3RtdTFeczt7JCtodlNebTI7JiV4TnYhUHhQKQoreloxX0piSSE3 QVR3Zyt2OS0jTlBkLTJgITJQdj09cDgkZShVcitCbFZhSG5fPytoYCozVT5ZTU8kWGpDeHZQSjl7 Cit6Si1eeUs3PlYjQTNpYXUkV3tQdzhhQX4rKWNTMkpSPTZVcztobFdXPG1xRDlFK2NwJG1xKXQo QmRDRUJ3I311eV8KK3pfUHd+NWhwN0hoKzt7SlZNUUkwRG1scEdMKzZqPHZxaFN8U182WTVhe3Q2 eEZIUTFiVlRnI2R0c3VxTGtMJjUyXworemlmdnIxSXxrRzlJXl4zQXlyUGUoK0w+dDsoJHNgdG51 WHBUPztyNFlIcThWJT8hMU59ZX1mNjswKitoamJvUSt9Cit6NWFRMVItS3w5ei0zbFRoMFRqITZl Um16RDtQRDVnMm5YZy1MTzd9NGZUUUJKeDA7JGk+QEFjUjxmYTR2IXRreysKK3otS0cyXlUkfHd+ M0FyQShAX05lQDRZRjVXX2B7TU5sQn4tZ3w5JSVEYUw/X0F3Pl9NPXRKXl4/ZlRzITVhIUVENAor ekV+OUFLaS1+UjhzVTFXbjVYKHlAQG5LVkQwSTdYeDdxIV91PigyailMe34wZEhBfnZodWZVRStQ S3pAYVY0YSt0Cit6aiE9am9lak1oaWkjeXN2TGBBeCtnamZUUWo4aDJ8ZU4yVjMoUC1VVzlfX2lQ PF9HQHswdDkqdkNXaVc0eER8QCUKK3o7cjNrJFRrNDQpQ2h4eXdka35FKUw4djw/dWgoZ2FKZj9R KF94ZjBzQzBeXyk3WURHdF9MOXEkTncmKmYmJVRSTQorejkmelFDNUI+PTNiJTs+JjM7MjJSTjsl bW1uUmF4PT1icW1mKjZ3OFFFPDQ8cStEZ1Zkc3xJJkokPVF3PFp1TilRCit6cVdpPGltR3Fzez8o bzYlR0hDNFV0UTdiP0FRUmdMY1lWQD5fJGcqdlFrIyM2IX5UPy1oJmVZcGpCMmJEVz9JTGUKK3pa YSt4YGNtRzFJYkFRYko4aGBGN1JVd01NMj96N19DY2ExKm5zY218VzdzaCo4UTVGcz19RW40Kmxp PXN0WHIhKworenlyNHtadlpiSEpZJnMzVU9rcDxQczJSYCtmVSVvIzBvMjl5TEwwPGY0QDFiNnF1 LUY9KGhgQmhTJkMoc2x9Xm17Cit6R1FJQXxhKVpCR3t3fXRWN3IhUWA4VElaeU4lWllhYX43NTFT aT9hUWxJeng5K0s0NGxkMyNAWU5hNjlaK0V0JEcKK3o3MGVsVmZhI3N7X0BlSW11JkRWfFJ0bXl+ I0Q2OHlqOHYwK3h0YXdfbz9uIWxPUm9Na2IpRXg/UStJdmd5TkxFOAorejxid0dTWU8qdTY4Pzhj N3podGpNSj0taGxORUJYTCV5QmQtZTt7cDY3JTUyPUJXZmRmSms2TlNzOGIhQGxzKDtLCit6e2ZA WjB1IXxjP2FUT218WUBJUHo7TGhlITtkZCg3eGA5eFIxQDx6eVBXflZuMSgqaU9aaWA+SjtDYkde OWVeNWYKK3otcHsqWWFfVDwlLW1VWT0/X0E7a014M2hFenFFT3R2bHx7S1ZiP09yMCsxQX1sKV4+ ND9zU31NeHJGbnN4ZU8+PworekhhV2E1XmVRIWNsRHRhITQ3a3J1ZGdZQm5IRTshZ2t6RHF5PC0z M2xxR05HT0VLX2xqTX5GWHNydFRaUl8xYlV6Cit6aGhlSDtWcU5laldiTEhtMXdxJm0xemkyUz92 flVicUVJaUM9WXQ+V0g9aGlAYGd1eW9UNT5AU1lUZHdtUnhnOEEKK3opPSlvISR8Kj1RK3FibGxU VVZBPzFPcCtmRiVZNS1mJDQ+X2xiXnlPZWFSVXpNfS1vfk5eOG53RmZUcSYpMVJWeworejRSVWtC JFA1eD5rPGBSWGVUISRaN0NyTDl4UzN3KzVfa1Nib3lBZHBEcGVtO0FpTyR8JG09PlhmPDNnfngo LWw8Cit6OWIzPnE5Q3ZwcD93MkJ3KHNWST1QZT5Pd2xsKlMoaSlZeiRQKH5TMzFIfV50Oz1MV2Y0 Jl8/bihDez9HJm0xUUUKK3ppTCE7diQoZWlUeEQtUjFDNmMkeE48ZyZNOUR3YW15N3d7YD1vI0FG bG4wSC1fYzwpajAtKDZGRmM2fXVrb0tJQAorejNmSEFZVnxqbTY2TXpzfVkkOHBvTWAhUCFIRCo2 c1o1SFkzSWBiSilCNmhgdEMra2MyOTwwdGgyWCt9bVRNTXtHCit6YHVMI0lvQ0lTZHVYSD1RRShx PnNqUEYzVEhSREJxc3Ekcm8rKkotXmFFa2Q/dz1QQDl4TFdreD9FfVhpaHhDYCUKK3pMRjdyRzhg VWJmS0YjfTU8K3VEdGpreitIcCF7Kmd5STg9dHN0NUBCdF49NmskRSVMMnNVd3VKSyN8Vik0OUFS dgorejlHbHdESEx+NjFVVEVCbnF9bUg+WSgmJClNfXFPfjImJGdBdUJzSnxXTWxwV2t5X0VOJTg4 WXloT01yNypHX2RGCit6YWtvQHF2eTMxQiNHe1BlJjtFSn1NMG8pbD9kNWVCO0t5ZyswOSl9WFFZ VT88JmZMWVhoaEc0blZpWEJkcVkpPkUKK3pBV0RRcDJFWHlxRiokJWtJRUk5VCNVQH5qb2ctQSMz akMkSFdtN3c/Q2VXS09OREZSeHsxNCt0bzBsSVVwe0I0dQoremttO2w+RiNFPCRQJiUjJkM3Ri0h NV9UYkdzV1RSbCUmY0pVS0Z8REVyT0w7USpSQEk8P1VMaGtVaCZFYDR4JThsCit6a1ZBPkU7Nl8p QjtNT3FzTU52MyokaEpIT2QmR2EwU2Z5MXVaMXN4OU17PERmJGkzKDxIJEY4UTUhbjZ3eCZXUmcK K3pfY2lmLVV6VTU9bmZlfUVeaiokWUpHWGgjM2w8M0BubztYcVZhUWRoQXt8eGJZI2lVPFN9WTIx KUZtMVJ7SmI2YgorenE7UjRDIzVkYj4tSnd5dVYyUztPeiRHPzFSJW9OcEdRbDAxJkczbUJzTWtB OFB4QlRvRGc+bzA1fHV0YnYyYFhICit6STsqO0tZWDRRQERhUmskZ0ZUdD4jQ01CI2t7U0ZVcGMy VkxfcTRiOXh9YGJOem9RTUNkZFc2aXA8RFpSMlpoKWYKK3pWYSUlKTtUUl5tYktkMDN6JXAjTkFQ JlJTUUolRExBWmB5ZDRyNnBpRlE8MWpXbmhpQmZ9cCUkQiFSQl5XTGdLUgoreitRPFUrKTB1dT9N I3owbS01aHsyPW0/NGteXmFMVjVLaFJ1YnNeZFJfayt7PlQlZ2ooO3shanBHMT5rP0JmU0NsCit6 ZShXI2t7cnBtQ2Y4aD5GYUBvSF56enZpUT4zU0pec1MtaiFUamd6IURzejlWaW45Rz10dXI5d3RT ezM9d3pWViEKK3pvbyNsPzBAYW9ASXBBfX1EIVhDTTxHPmE3TF9ERiNMPXd9Jks8RG9vYmtwWjw1 eVM4YFU9R3B5Ml5hfTVAcXBhUworejhSazxDeC0+Y1JNU3VfJTVNO1V5VClgPFdEciUjdk07JDJj cnhWfHlofk1oO3JQMilsUXU4SSo/IXNWLW54SG9ACit6fElNK3pjPEtxX2NESkZ8RHc9JUF3SSZL dUMhQGNeRk1fO1ZqejlqMkkrbSkxIWJ1VCswRmRCJDB1I0FNRHklQ1EKK3piWn57MjVQOytCKnsl ZiQ/ZnlEd1JpbDtxbU95VkU4cVIxYW8qeCRuNTVFWTJ4dihmMyNha3JxXm0kc1pSaGdnYQoreihh XnUrSFNLYmJ2bGIyOSVnVU1hXkZ4UkB0REY7fEFPMDMxUiQpYylvNUYqKmdgN29wVklFZ3RnM2l6 KEkpJXZ1Cit6MSk3MihFbGRhcjRtQEhnakVPVDJMaithOVRWSlZXbV5aRkx1fSQ5JFJ8ZjB7K01y bUNhVEFoQkAkRSMja1JwaCMKK3o4YlYmaE9aWFMldHRsX3UtJWtYaDFjOys8RV9ATVB6ejNhdjsk b2tRMnZ3QS0hSyNaRGNQR3pjcFo/QWJgY2NTVAoremQ1TDxqeWBvJXohX3ZNcCpJNT5QcFZvSmAl RjBVQXxCZztTM0F2YXNKP0xMNnM2c0tDZU1BVW8pT2FNdy0qVmF9Cit6NU9VcWtiUjZRQUhRMzdm Tkx8MHk1eXhHbDY1R0UyUVZlMH5mYj9NRV9sbE54NEZyYkw8OVhJd3BZXiZxXlBgRV4KK3ohJWJs QiFIZWloYj9QUn4kbXdjfXtQS0BHa2soWjRQfnBxKlMpb19XYE9VK24oYChDX095KlltVCQpSXc2 Qy11Qworenc4MUg5T00zWmZ1SjQxWSFedlVYUUVtMWYkN2dYbDk7ND5VWio9fGNufis0NitDcSl2 UzFgbmQxc2RRQTU2a0k/Cit6clRiRDYtRURTbWFXK0h3Kkc9Pn5iUSZ8Jk1eIWx6aUJKMGB3Pmxp PVV3V3c4dDJTR3VePiVMKVpsXlE0PnI3ZnMKK3pje3lZaFNjN2I2PVRyO3ZSPkBiallhYGZ8cSs/ N3UqekFRd0M/emJ2WDctRVA/biZDJEYzYClRIUxOa3VFWGBxTgorejRpM1FWSDx6QzU2aU09Oyk0 bkorcSpmWTh5Mj58WV9tNnxBajJrfiVwRUdgd21veyVmKmRLd29NX01lcDBfWThPCit6am1fQH0o UXBhQFpZaEFQK096RUoqQGwoe1IrVyUrdVdsKTtlZFJQbFpYbVM5RXFqVkI4LUFjNVRWdVJfTDBz fl8KK3pmMHg8eTxEdkFCP144ViNndWNJWDtFdipGMjJlUyVIYn5SWWM7IzRnNDFmZ3t6JGcyRT94 M0hidVd6Jj0wMDVrYgorens9NH04Y2wmSD48Pz10YiYlWVRAait2cyEtYGMqej9mOElKPkdjYj92 UmJfIW4oWVVlVmlMJXZDRk5CRyV2bn1zCit6NUVPYXFJckhDRlRpT0Rme2VUdkAoS0hZQkFENH11 elpaaTg0anhGJXB2PkNsRTVHYjhjRCFnbUpgdi17PFNISiQKK3pYclZHdmJ2a1ZWaURYKURPZCpO ayRJJnB1e1R+Zm9vTWY/WmpPYjBqUXAhclprfX5VXyteKCk3O3RRanBVRjFNPAorelFjN2tIJSgq TjQodnc4alJNcUpYZTZyTDtfVVdaVkA/OHN+JiojSlZUM35LVG82KHVybjRIYHFiJVFkZmgxP3gh Cit6UX50bDZOPCVqbDt9Y15TRTlpfjY5andiZFkpfjMqVFkkMl9KNVM4eWwkQG5gJm5MUmcwK1dy TSRJPX1hO2khJXsKK3p7Mjx6K2U/e3UzMHshdU1ueUU+fWM8azdUMl5NcWR4clgtdFJERlcwJEFK OFoqPXQ4JCglclgmdzRYR1dYV0dRWQorelY3QnB1I0NNez8tPSRUNWwxen5wZGBBUyFrM18ta3oj Zk9mJFhTaXZkRkBePFgxdy11Wl4+VkBUWHhFU25yU2U+Cit6OGpPNDxPJT0kTW5NN3pKMENwKmhT JVNKPlkhZUQydCleI1dONUJ9MnVuVUBXeEVleEs4OSM4SzwocDxHKVhgV0gKK3pZKWdgZipOPEVu S0tIfFNFMFdOTmQ/P3p7QShMQ0pEZC1sUT1xWnRXWVhvNyFUYURDUWdKZ0V+PS1EKHVeMCpOOQor enNwRC0hJjd8Qz48aFBOTjBQVUpfQlRNe2k7RmpzdmRZSjQrI3llPTtnZU1IYylHT2Q5YmNadVZR YjdfVkdlUjhHCit6MTYmUSpneThRMiNuTTBiQm14QTJ4ZU8zNlJ8NWchNDFEXyZHUW5tS0FZeD5t S3Y4R01BRWpUJWIwP1JqSGJEIVEKK3pvcilKezRBcVgpZFpke08mWGU5aGIlWmZKYmMybzlRTlpP M2M+cz1jbUwjWV8hKzBBYzN5dmcqaGBAbHRIOysobgorenJpPitHOT1fY1c7fGEoRil9QmNMMUBm Qn0hMCVSdj1tczV1RHE3QTE0KEhkUXo3dTlOMGM3UTI8dnR5VjUpJkBRCit6TmByKVY/Kks2Klhr bVV2YWFJRk9BOHM4e3IjZTs9QWU4IzNoZCklUD10Zy1GXytHU00pdipRS0RuYnctOz9wSiUKK3pC IU1IQXBLNVJ+S3d3c2NrIUpraiVFdGoybysjK2tjUHB2M2l3PDk1cjNpX0BhU3UoWCY2RX15b3w4 WFdfMTlKaAorenllaU1fTSEyUkI1fiFAMiVDRHNkcnl8KkJNUFhGfnBYLWBNTns9O3UyXkcqJWk/ ZXJANTMwPD96ZHBDJTF9QlM2Cit6WUwxWl5tX09LOzEpTnEmblF7cFRRUk48dW83Wj98THQjalkt X3pmdWR+K1ZqQU1ERXdxOGxzPXBTRyE/IWc8bT0KK3pgYl9CKm1VTDVBcXxvfjlrU0tgZXVEZ0lK V20kSWg8YyQzQztkfkpiX0pDU3VTSUlXaWxmZj5AVEAjfSRoPUNvUAoreld7SUBFemRrczRpfilw OWQ2QUd+QCZ9TmtvWnpLayZubURoWFFkfCFtQzZ2KXlublVYI2pjKE1OcjR5bnVxandoCit6cWRU TClGPkp2YEBPQnxuWHQqSm1WRD5uTFFWQ2V8cyRPTVBAKHNgdHtkSGUhZn5JbXRwUkBGdmA9KUA3 RW9gRSkKK3oyfWwqUytgNHpNeHJNcUt4NE4rLXNSVm9kUFlGLT88TkJFPDwjfmROeW1oSFhkNDwl aCM9fWxZdX16ajs2Y3lIYworektjKT1EVmw1Ykc+X3dlUjZfc1Bmc3xsLSYlM0xVMnBUMyMmZypW aEFKWUFJVFJgPnEyO3A4VDQpc2c7aig0bTJ8Cit6PSl3OW5eUT8pOGFRPEg1S1FAVWloRl8od2dL bHV7dnh5aUpgR2RrOUZYQlElXz1OUCF3Uz1eUm1mezUtP3I2S0YKK3pxbU50SFkpd3YpUTJSOXRp dTY4LUUlMy1YPWlrQ00jWGp0a0lhTXNKWFlhalVvZChSTXRFfXA5XiVSdnhQdEBZaAorekN4cSRC IX1JWkFjV1g8PV5OPF5pYDJJc0c7REVLJj5uSnt+b3hRcUN5eUl6Ynp+bF80YXcjY08+OFdSciUh PjQ1Cit6ZH4tNWFQYjlKV2NIfGMhSjFHX1olIXFMb2hFa1ZJdjhgJkZ7cG01Vk5tb3VEVVI7cSVf Kjk4aUloKGNaYXdDT0MKK3pJKEE5SiZiZkpkPzVrJSVYSSU/IXU7X3dGM3coY1gpQHA0QDZpPjh6 dzdmTmVCMyUwR0Z6bDdISiY1enVtRmJpKAorelo3YkkmckZCNXooNykwYzV7QCpAcjArfj9Scyh2 ZWcjQGNqcHR5THpTZyY7WnQ2PUJ2bmojU1JRY1lXbD9OX1hBCit6dW5BTiRrPW5+SEF0e2NIUyYx eUxtRWQ/d2hIVDlwTj8pP0w8M3R3NDQ0MDFAUmd2REBMLVB6eUJwMlMhK1JaR24KK3p1UW5ua1NZ VyZ4OH5WVTZ3UisoTTQ3UHpRNEIqX21kUihvSGM5Y25ZTGkteDR5fDFWYVlgbjtmb2xHKVZAfFZE PAorelZGfGN4Si1CR2lWQW19P1chYyYlPU0xVVBSXzF2Y2tFSGNBcEh7V1UoaE0qY3pKUTlrdzNk I2xzJE5qQzhANFF1Cit6ODtJYGtefXJkQTltMjhYUzMpNnNNWEgyVEQ7eT1DRFdkTS1pclAoMndp cXA8dGhPcTNSRzViNDEqPGtxRzJXez0KK3pCcTkyckNPTyRXNWlHdjN6Ni03SDcpUSpuSkBkeWxJ ZkEoM3dXbFhqbyNzNlFxQD9geEtJRXlrcjVARTNsZSt6YAorekRQb24lLSV2bChHdTFPTkclJFV+ PSNeeGxudHZERXl6citSRHdvX0okTk5mdVdOKkR1fEx8UDZgdU1vamFTWjs1Cit6aDNAPjhWJD80 K1M2dGtLKm9VMF9nLUdvNXZkX0ckU20wY2kyP2lVS1hhQXQtQ2FZRWwobmpMPlN6PDRLKzltN20K K3o/cCRqMWlYTX1vLTgxQ2dzcTx3e1JgdEIlPEtmYCl8TGpsSF9Jd3wyKyszRXowYWomayF9UUk7 d3Qyd3BVRCFXQworentPTEpFMlclXyFAfVk/fiFydW1seCpKP055elRtaFlPU0tAWXZSMnUydiYm TlFNTDFqMWJXOzZsfU1sKjR9JEM2Cit6R04kYTFWSFYrQFRsczl0KHF+Ump3dkxLKkxlN05RKn1x M3o0Kyp+flolQGl+akpgRGxkUnQ8Xms/SiFkPVYkVnQKK3o+eGgrRS12Nz5YRGF0JXpkbHVPeik4 MkQtUFVrdG5qN3Q/STh9P0NGZmRCUSFRIzFvKmVxWnNAdGM5e1BQRHczWQorelA2eXF8O3JWZT5t I0ozTlAwM3xUezdqbFpRMXA9UGowaG07NyojYilYNEp8bFdOPDVyblUzNnE/T3ZKc3ElZ1c4Cit6 M29rXmAtUDFPakpSKXApZXYhV2l0Z3tLNFY2VzRSMEZJRnJFUEUyQyN1UDZtcTFHfFNeaTBkMGYk Pi17eVRwRTAKK3opRWFIJW58Wmw2ZVM3TFRfZCkjYkh2Sz8oQCU/fHI7KSFJc0FCVTN3MEY7alpj UylTMXB9dmpIfEo8fShAbWl7RworemF5MEJiUH4kaS1afUZPWTVQVzNsMyMkcUpxY09jLTdjaU9M ailOfVFATUV7PlR5WChrUDJiJHtzZ3o5Nl9FQHRxCit6T1N0NXtmYWtGKUNzOXQ4RVVyKkVvOUA+ MCNWSWpRMCZuflUhYmFzMGxoIzVoWGFnPTtDfXMrR1MpPnYhaURZSTEKK3o/ayYoenYwZHs8YFpL cSMmP2BUe0gqRGR+ZU8tMD1mXy16WXlWdGZqUzNsZmFiMyshKUZ1WShBLUM2cUpZaEFXYAorelI9 d1RqbHErP0BCNGwlVipXYipZZVAzKkNVM0lUN1JmPmwkJl5LeXpaQE5GeyteREplSmlwSjtKTXA/ JUU2K3NLCit6b3Q1S1VLfDd3MFp6fXhXUGZFMnYteVdWSFQwM3QmS2k7O1ZlUntGPnBDX189ZHBz MD5lQ3hncHpoPUl0cEM3RT4KK3o+QGctMjctVHtQPCNrQTNRRzBzQjJQN0QjT0JOXy1CTUQ/Ni15 K3ghdE9BbiQxKThVYl5eO0h5YSFgdU8tQXZFUAorenI7Jig+Xl8kJCprVzBPVV9gZkB7Jm9wK3Vk ezFYRHtGKWFFQSUwLUAmdUF0bGMxNjtCIV5uSmhlRDFPJiRBfVZNCit6OHp4Jl91Y0gje0QxaEs8 WjVNSEBIWChQQDE9fWspN0coPV4zI2prQHBWcUUyczthR1BBRyo3ezg8QjJNU357aD4KK3p5RV9D MEteaTJMMkJve1pPUyt9SXFgVHVnelBIM3pAQWJhcGdSdlFCQFopKnJucnFmUmQrai00TTJTUk4j S0ErKgoreihOQWJEa2hNVXYqNXAtfWVaKlh7WFVWd3shb3JxVzhOJFBeTTR9VEJBeV4xTTkpQSYh TSlLdm8rVGIwP189SnFpCit6OHBzZUpmU1RwZ1p4YEVfPHVnRnpEMEshJjxqMSVTOTBZdSQofiRa SztxX1JHSkJUQEk8QX17SW5sbzdBO15TTjIKK3pPJm17RD9AZ2tUeCZzKCo5TX0xU01QQ0dLQk9A YXV7JnFkb2RwYzVNOHNSdzwmbTQoNHhVKEsmMjJkWnFsLTl8ZgorejxLcH5rU31DZV89WXRLQU1E aUI1M25vfVd7WnsoZG94eWd8R0orcHU1TSpMZzQ5OFo8MllUfXNOcXl+bnM8QmhWCit6Uio8TV5B ezB+Vi0zMVVyJTEjV1Q8SCg7NWtVYFNPbT5lXzVgeCF3QyFefiRnRjwoTW88NTd4V2BiQ01PKU8l anoKK3pLaGFrbCFrOXArNllLRXdyYE56MXc3YHdvbkVJZipNc1p7IWYwOU9JUTszakBibTRFRkhC M1FsUmx5czheNGc3KQorejBWaStsXm12b0NhZmQybDhfZVlQTCpiNG8waXo/emRRfFFlLShycEph LXA7LXUpe1kqakVQIWVzfEpeV0BMWkdOCit6Y3JkZzgwRVFBKU9YM3c0WE1kJiFfcjVncUB9IUIr XzhWWEJYMkxoMEsqdSt9YURJWFhPa0chcSYyMlZwaHJVYC0KK3plN1l4KD5Kez08Kk1VV3EyYS1P M217c1BqPDt9fCQoMitSQ197ZSRZQkstV3IlOUpqVno9Qm9AQE5IeXZ4e29NIQorelI/dSVCX3hD SykoKXlhPiN1PjVWYUFtcmBPaDRkKnNeZGVVVWgwa1l1e0Apdj9iOzluKWpGVy0+JUg+PGI1fm4+ Cit6ZVpFY2xEKG4rdE85RjJ+TnxLXlNteDtXYUZod3s4OXswNn1sSygrKEpIJl97QDFPJjY3YGcy VEdyZDg0ajkrISsKK3pxeGpURzxLbyVAZnFGelp2QUleWXNtfCNeSjtER2dtYHlPWlhnfTc8ZTBm KCUhIWwtYSpHKGlyXnFZVmEtKnNraQorejdrZCVhRXZ3VndzNiRUcnZQOC1FYkc7RCZrWHA0ZXls RzghRXZAbDhEbiFFJDQhXnMhbjVsR2F6eHdEaUZSfXxaCit6JlQkbzU3fE0ldypnTWlVRzZzTnhy XlZwO2MzSVZlWlNTUVRVU3NnWEYkQDQtMl5tenhyWXpfMjluUFl6IVlRdUoKK3pBJkkzd3JmWC0x aGVWY3I2dkNxV1QwYSZme2J9fG9KMV4mcSRxQ0lzbkgjOFNuNkJFWkZqJnkjOz9Ya2xecDhRdAor ekNzKSZMM29McFdDPU9Jb1l7QyQlR19UfUIpSnJ6Iz5HVzVOOXdsOWo5dDRGV1RpNlIxKEsxcEV0 MGlWfigkZl5SCit6ellpMH1IOTN3fU1qWXRxcGE9aHc4VlI0bXBEcCQzTXF2bHUtYHlnTWt2R352 MnduZmNVXjBXZFQkOHY0RlY5TFoKK3o2eWNec1UxYzwzI2N8UkI5aVgrMnBWQDRObmpEQnhfLTFo QWc0R2BmR1g/YmheQ2p9WVBFSSpVTTdnT0RjTFNNIworej5NSF5tYiRwVVg/N3FJOWdgWH17KG9H PmZGfmlLKEFVUT9ncW1sOzhRTSFwWUFOVDkmdlJQOTA2Xlc5K1RqYklDCit6MWxMSDhlfihpSzlS KDxkVXV8U1hRPlhnYCZ+KEJOV3p4OyZTPiZkcUFZaHwxQ09aOHZMTjdxeUAqI2ZIcHtsOTYKK3pi fjgkZ1pRIXh+NWNzb2tBXyl4ZEhAVVpSSVZZVHNwJSFuTm5EeUNmNnRHWF52MzFEPkwya0NRY29l aT1ASTRWPAorekU+WH5xY2IxfSFSYU5AJT5TcChYSCZ7OylvfERxSzdgeWNPTT4qKDJhQjUtTD9t JVp1WiRGcHZmOz04cUozPXpFCit6O3NpNXY+OTdkcl5wXkMmPkZpRVlPejhycD1nezJFbkF7RF9v KjZVQD9uVH5oUk4qfnQkKl8lVWA7a3dDRFEzeXQKK3peMXY+emckZCpzM0I8ZjZmP1h7MzE0XmZ4 Mylkfnc4ViRCazZ+TmZ8TWQzcmlaRztoJDBCd3VsUFYtVT5lJlhRRQorejFudj9Wa0xmUTUtQmBv PHBGQ1JLYmZoMHwlUmgrXiVlYzcjRDwwMipOQCNLSyNuIV9leFUlcHlBNlBwUykzbnxkCit6SCp1 UEs+YnIlckg3MyZ6VGRDSShkMUV5O2JSbncoLUMteVM8QWlEI0RtWTNlY2YxSSZNSGtITDxfRklA IyghTi0KK3o1fm98fiEpaDsxMXd7fXNVcyFxelZodXxsYmtVYHtHP20jWCU9I0h0ZXVXPihOaS1Z OEtBNUl9R1chd3Z4Si05JQorempEQ0pHdUs8ZX1EfTJrYGBfZztMXmhZWXIzV2x1R05zX0Nlbj0y eisyP01SWEJnKiFMT0srSCNhN0FZSEtDdFpnCit6emYydXtSITlZcGpoUVRMZk5pJUZ1c099dnIj TU0wOHp4LUJVIzR2ODx5QnkxUFJDY2A1OCptKiRZV2tgTTN7fDQKK3p1QExyTldCNExeJUxjTmN0 cyteNihoUUZVdXgxVnM2T0dUNzYmP3c5PVQrajMoZV4+NG9ZcT1gdzlaSSpqSVVtdAorekooJnkr SG5lNUBFX2JkbUtnMFFiS0B3dzYpZH4yfT5RLTB4MCtPS1JoUEo5OXJ8YXAteEljNTc1KyQpeHZp YElQCit6QEBmM3JLR1BAT21EZjlKdk1PdSVSdzsmfntBIVlmMSU8NiErQ0RQUygpZiFaTHpRMk01 am1pN1FpKnpRWW1MIzsKK3o/Vl5tWWtIJWpydn57SkdMPjFXNEl7VChkaWwkMEZgJmN+dnE5KT58 RmVYbDFPUE0lPE14c0VyWjNAMF9LSjhHYQoremoqV3JEKnxaTHFPSj16PGJLeDxrXmBLSXY9LWwp e1IhOFVUMWo3TnhQQldlY3pPekxuQCNRb3NQYXxVSlJJNl87Cit6P1dQc3FGbD0zJjtLY2goMjFf LXEpUV5uP1gwKXI7M2Y1Y2lhcCNKMEtUN1FPX3ZuV2AyTmprXzRTMWJiVldTfX4KK3pAIVUmU2Fa LXM+PmA8Q1ZHazA1aXl5dV9+Oz40T3hFXz41SS1zZGJqcW0mYWRZR2BVQDBlcWhCUU57ZGg2JnRO eQorejlVZGVNRjleWmQhcnFFUzcyVlVpZ2MhXnM/fTFNe24+TSRfcDleMGhRLUB6Z19SRGchbTVv ZT8wRX0ze2YpP3drCit6S1ghKWkyfjkhRFAtZjIzb0AofUMoTjZOfjcmM1diJSlNZ3cka3V+ZTwt bXMrQilpZU0zUVdWSXYySn1XWWxuKj0KK3o7QFZrUj0hVDZJeHlQOzxTdHNDYFJXRG97KVgzfi1K WmhTS2lrVDhLWThmVWBxVlVBYHh+NzxsQnRLdU52KmJqZworejY9cUxKNEclc1Arb2pDKEAoV1VL IU5RQVIqXiM8JnZzdDlpXlBzcm9yWip5QXJiUjx1P2I+bDZNWGdGSzZ0XzUrCit6c3ZLRihOSTUq I09sPDJFRjYrQlI5bzhsWl9lbkcqcWBfZmkqMmdpSVYtSXZwM2ZgQn1uIXkkbCUyUntNJEBFJkcK K3pVdz9IbkBYQndINl9YT3VCcW5uNThOJDI7IXlIZmtVZ1htRHhjbG9fJTZiXylwe0EyU1FtTCN2 MHAkQWdPdHMhRQorejd+MSFTJmJAKU4oXlg+MWJ+RHMjKnphTXdTZTQjQUhgbGhGe0o+clA/eU5i UkVBYCNgbms2NUNRNUpZeUpLVjZVCit6RjRPbEVhVzxYSkItZVVsUHYhZDNuUX5ea1lsWERxVnpo U2BUZD5gR0pgPyF5WEh8eDA2clFwJnZfPVdMV35+VFQKK3o2SCstfmxleDhqaVlSbnooQjttRTdm KE5kciRvPEpoTSNhbFBmM2FzQWZqNjBPIVUxMHYtTEAmUU08VCZmdj9XfQorej5DK3A8PFB8XlQw a0JabnNBfXE0N1g0eSlZWWBiemxjNzBqJXdBLUNiPEg8T0NrMlNGUlhjSj9zaDY0M0NlMj1WCit6 Mj0qWkVtc0N8ZyMrWmVIMm5LSHpNek5OM3l+X14/QiM9dUZUcUNPbVp4bXQmP0xiWGMmM2clPjNv MnxYViF+SV8KK3o4YjA3PUIlMjJ8TT9GfjJHbzFAcV9SUWI4VUBFOWJ0PTdBM0BsU2d5QDhScFd2 Rj9+MGhFZXIwR29yY3FXZXNifgoreiUrQCReQm1CfEx7cSg0cFo+fmshKHFYfX1zayt5NWBzTDJG cXcoQ1BCTzlCZWAxaDFxNGlLREBkaCEkfU9CVSpQCit6JWt8bXlCc0JaUHo1JDlweXN8YTY4JG54 b185KXNJZnxMaTd6UXhxKF4oVV9MeH1BJVl4b15AVCpAPjN+d2dAJnIKK3ooO1VUZCtqUSg8aEE2 XkFIOWtWVkMkT0xGY1gpZWJ0eXJpJHQ/RW1VdyhsIWszJXhxP1FpJThZOVp5USQwTXwjMAorekc/ eDY9Vi1hT1N5XmQkSDJFTjwjITV0T0o2OXwpczEjIyQoVkJpVTN5PH57bUQ0IUNzNGVjNH0lWSFe RXgjP3hDCit6bTsmO2pJfk8zbXhiKHMrXzBYIys1SFFEX28pfXN+KUQzPyRBWXBCZjY9NmxNVnJ8 JlpDeT93LUQ5eHlwQ2FBI0MKK3pMWDN6RnJ2ZlFqP19QbjFFSXsteypqQjF3M2cwMntMYlVeZjVH cVleNFY0PjxvZU1VKFBjbSZ+T2pvPU1na1gpQQorelVqUVg4Xzg3WmhjOElxbEF3JmBwQ0t0bnFB MWZPc2h8QUtYP0dASjMke0ZZdlllbE5mQS0pO1hBb3I/YW92aCQ5Cit6eXJPbCYyMVZUKnM0V3RT Rld7ckZgfjR7KG5NUH57Rmg3Rz4/WW9iTkclYlRIblV2OHMzVDJoMkVxMGpEPFApSVAKK3pKaTFR cEZsfXt3VHdOSGYoWiktTzEhbEczZ3JFa35sYGhVLVUzbm9JN2l0Pn5TRThrYUMjNUlYMV5uYDVU PUBqXworemMqRVZ5S1JtPmVQMG16dW1EV0JxQVUjck5MU0VJR0dPPlQ/I1dncm9TJU9VVyU+cT4q REpWRE9YKzhvfkJhT3omCit6I31OYURiWDwmX2xQcz5Sb1lzYiY4IXtAJGEqJDY5V2lIYXlqRG9L JT4/PmNCJiUhMEF2MU5yVj1PKlE8JVZrdHAKK3otPWFTNj17SFI4NjhFcDFfOFlBWHlOc2kjSzEw V2g+M3l6Jlp7KEE9NmwlNEVRTWl0aTxsd0pKWXEmcjk9Rz9CQworekdJJiFgSGFkKDJKdXZ9WF9f cGY9M1cpKGojT2VPeiNmUWd4bnMpJGBmPGd7PUooYlQwTTI7WWZIOzVaRD8tTCVBCit6TitDJlhx USpKR0lmNnJPSj8tIX1WPDBBIWkpVj16WnQ9ail2YV89bWYkRHVAcVM3c315VEYjJip+RnloX1BI eDkKK3p6Smp3WjR+I3Exd01kOU9lJjBpUE4hbXBtdWlMPmJsK0ghPUtGOU88cHhoSHpfSGooR0xo TFQyK0NubUFYeGNfIQorejZESSFjZGRqUXsjXk8obHBDcTYlM0d7Pyl2cVIqeHc2dTJUWHQ5Pl4k QzIjUEtzI2paTzRjS0AjVTd5d005Mn5QCit6VTE7NEI5ISUldDR3U0doVHsmJkghTiZMM0dobyVI ZTlDcVZeO1d5WHNoXjdAIz5Kam12VGMlKWQ8XmJhPjdRVFEKK3pwQlZiU25EeVg3TzVVQkwhSmsx JCNGJENFQEtJcTZVZ3tlQHsrME1+SGd1Kl9ReTJMZz9RezNUTUg1NCN0YGRQJgoremxrMz88PkZP JnU3TkBkVileYHcrNCpxQWJ2VUlXZmh3UzhaOTJ8T003UkNsN2lVZkNXaCk0VDhXIU5wRnF3XiFQ Cit6aEY/aUZtQH1TQS1vbDVqdUFTPll6UkNmazxMTX1NRGpaKjQjZ297MCt9MV5eLTtyaihBP2Ql d00mND8mbHBMaHcKK3pgMklxMjFUMVRqTDA9XyVlOXBBQj9UdXdSP0B9a2t3RF9wP1RYPDxiUWlI djY+Mmo3bnBfJXN9SndzP0ppckM/KQorenBWbndYNEhHOX5tMCExNlJlRyhBNHdvRDkpNnRYNVJF diU7MzZJTjxFaCptcy1iPUB5TV5vdWNrOyZQKEIhdl5iCit6NlQpZ3M9RkQmPmMoTFk4Q3ExcWZh TSs+alMlMXkpREI9VWAmRWxhQVZ+LV8jNnVtOX1yKTVaUC1YfGROazxYa3cKK3pHMW5tbyNsakBZ YkpOfCpJPm9gP0RpRD0ocmZZKilwcGVIMy1tPH08IyhyM29sdDRBfSpOfV9tdGYkaEVpemFydQor emYrcD15Pj1KP0Ekc1N2MWlIbCZNLUtramE5VkFpWDx1MVpNSE5se3Q7UDBZU1FLd2BpY3ZMQj9V cFooRl5+NVZ1Cit6e0JDcClEezF6TDJ3Y0I4aWp6ZWlyMGdMJT5aZVVsaUxObDUmVHtCYTloJUFP SHwmUzYyU1lXfTtBJkM1QChIckEKK3ppSDEwWUR3V2w2bVklb19aVXNUZFk/TDNST148cilEX3Zh VndvU2lRaWZJUnJjbmNnSkspeyVYSyYlQldYYzU5ZAorek1UM1N2PX5PaFUlRGdfZGY8bWl4O0Zj PUdFR2VuIW1TKGQhbHU3Uj00Tlh5dzx9fEtieVImPzxzalY1eUkwUD9TCit6RGV6SHA0JSVSd2px KDsjPEI3PH0jYHVyTDRJPH1keD8jdHJ3WGRuR1FJblVeK0ooaHdMPUJIMShfWXwydzRROHsKK3oq NWV7QG14UEZMRWB8MGEhQnEkYkBOKE5xVT1yaTN0TjxLSTIyd2UyJH5FVUtiUzRqTCl8Yk8lRTFF fCtGfTBUdQoreiV7MTB5QFI4JXliSUdBMilHKGV2Y2leZExXLWJgaU0mUFRxMUMmfCVNbX5zXzts N2Q7ZDtYI0kzJkkhKlF4OWcwCit6VlRMcUNqKGNnZ0lfZGtTTFVSU1N4O081RVpiT1k5VUxDUU5v fERvQmFrZCFiUUtMaUNCcnpDNkMocG1NcDBMU0UKK3ozZGdQUzUwcEojc1BWYipiVUQlLVc9Qis/ Ukl+RFhMeTh6OEN6VVB5PjgmVEliLXRWc2hpRVhJMWZLUzA5MkFxUQorelhIUkVPJVVPNXwyKnBz M15yND5iMGczTkdwancqPlJMeERNbW1WVXpOeUpyand7NitFIyRlQFlQP1RENWk8QFFKCit6YUJ3 OHVRJHlMWW5oQntUKHklJXVMTThjb0k8ez83YUNFJiUweUVRPHEwRFVGeHsya3k7Vi10NldpVFgy UyZ6VT8KK3pJJEUmbXFmLSk+IUFtKGVvcUx6eHVeRHc1KERVQTZyWUZCPE9tSlFITmZ3Z1c3Nlkt dDV2bmZgNnBxZShLSEpJXgoremBaQD9kPlAyXkk9d1JDa3kqXkJfcCpkLU90Qnx1TlJ8X19FUGA/ aE0oPD59aklXZm9HTnBTbndOWXxySEwjTm4/Cit6V3RkWkJVWH0mRkhvXjIpX1V2UElfaTUxPjg3 TlFre04hYVdEdWRLZXZRUVp2UiUxOzRwIWw5YzJeaGhTXnk/TX4KK3pBITM/WCEtQHF8SmRIcFkp YEomLXgjSHR9O3UoTG82VCZvfm9ESXNId1owRnpKalYwdDcrKk03Rm81T0B2PVgzaworemhvQkg1 VWBfOHVKZlpmQmArJkJ+d3UqcC0oTG99MiMyTCRnbU84UTwqWTtsamJQUXprY1MyT1FJPVkqVzcj Z1M3Cit6aCVkYEdENjVeWCZeJjc5Q25VP3JgVUlNfTRAVVBFdUdJX3F3P3U5N0tJO2x3RT93ZGxD LT5WMzBofmh6RHd9M0sKK3o+LWs0JWM4bHx3KzhCOzkkdU5FVG5PNHFEU1ZGNTtme1peYndVeCEw I1RGYEBROF5SeCo1WnE/SlpkNm0rSzRjKgoreiMjaGNFVDNBOHEwbCY9MjYxelgmVGJpKnM9JkhJ e1ZZc19NQGFGOSNOPH44VzBeVElRJkVJJGpjZ0piV0ZPPlhJCit6YjxIbGxKJCY1dD1HSTZqX3Qt KSg0cjhLZj1yeUZ2c0ZVZl5ZaEgxPjVsajdlWE1TMUk3KEYhdXxKMjk4LWVIWkwKK3pPTF47JSNX S01UZ0A2bEVEYWxAazs4YT1DJGtNMkE+TGxVbjVLLVEkQHxiNW1pKTxIUlhXXm1AOGd0WHdqVU07 ZworelNzbnxYOV9Ma0UwWigoVHl9NnR2NmpYVnlhbkNEVF90WTUyZHtKdzN2ZGpnQjhqbk5kVkRZ QT1IeFgyP0s9ZyFICit6WD9AOWYtbGY/X0JgR0JgTWJnTk54YzRyQ3BTKG5KKkpwamlfSnlXYkxf QF9ee2JNKGBzJkcpQDV7fEN7b3p6UmAKK3oqdWU2YnM1fUtESjw9NktNa1ljPjVDVV9CQj1kckJ0 ZyVyd019THMwc1NNamJXKUlUTG0mJV9xOEhiZTtGJVFaMAorelZUeUtyVlVtVHxURypqNnhDZSMz QH09Zioxb31TT01kY3NDJE08Y2dNbmp5QnA+ZFZHJGRTJXBDWUV6V15fayNHCit6R3VZcStnTnIx b2ZJZ2kzOyVwbWhndlB7VHomRSVuO0hwNHYwIXxJVFYhSGVjOGpEaiUjR2dUOXViNik7MUZxYmgK K3o0PEcoZ2YoaEgpZz1+IU4+QHwxfVlWKVdVZ3lfYzBgRWJPXzZ5RDBIWFBodz90PSNGdmdFPkJj d2ZYSF9FbSpwZQorej5lNlBsen5GX0Y8bHNlQnhGTFMhej1UNiZiaX54dzs4LW9TMFkmcGJXTSo8 UkQjVHxOMl5xUDsmQ2Y8SFV6eHEyCit6K0ZeeCVCSXFjdG98Wk8mRmRIfmJZZEhtfVdUIU9KeypK VHdJbDsjPGw5RXgpe05kJl9YN31rO0F3QT9oRjUqZTYKK3phblAhYWBSTmllYSZHeHpmPUZHS3NE PHdJQndvYmwhVGZNMms0QD5zRk0jaGFQZ21OTnd4YUkzWVdaezVzN2NacgoreilAfCpEPVghSDYp fjtZWSU4aX0+Tk9zZTF4I2RLI0IrdlhkazV+YH1RO3Z3bTZNSWIyWTBKTmApdlElTFlPNSVOCit6 dEpTajNoRkhRQzMkZkRNYSNzSytgQjQ9WkNHY0k+UnVkU3NIWCR1NndZNDsqX2UyOXI1PVByT3hn PzJuSX05bSQKK3ppem5xNXR7VGo1U3I0QT9ZREc7TU89SHk0MntiVHxpT1EhRmhDajhqRFp0e0xa WkFEM0pOSmRJbnFTfCkpMk41TAorenRuPEVQNzBjLTtBakR+cG1AQmhLc3lkTW1CMEhSKEc7IWs2 KElOMj1BcSFKWEVLbXlnKHFgeVBtQEk2Pm5ATnQ1Cit6K09jfEleM2dYP1g8WDJBWmNydCRuWXVU MkgmezhQTE9nM3ZsQnUpc3U8JnhZanNrZ1Z0aCM1T1UtN08kbytqJksKK3piLSFTV3h3VS1sMmJq OyZBX3ZmXlcqNmJ+SG1LTDZpQ3JgU0BEPEFwOX05MGkhQyQrWjZ3OFc2R0gmNlZmVEA9aAorenZY UnI8cF5PQ05hJXk0YkhZVGdKTH0xZm4xbHFIbzFoKTh0eH47Pm13ayo2fDdsfD95MVU+MTs9I3B4 Mi04UVd7Cit6b1RKdm9yXn5CIVJMX2dVU0dma3dSKGA0NHZBc3pyKERnQUAwS207d1F6VVJWT3hQ czhqU2k2KmJ0UUBiMmhZSnUKK3pGRnVxQ0kxXmQkTX4mc0duX1c+dzlodks/d2Z2eU1IWndaQ21D SEtvbHpORDFsQShCezwmeHVxY0JvdiFLZSZSSQoremFnKFBPODdsJDVraHhfTSFBbFVyVHZmSGQo fSRwPSZLSjNFcnpCVFJReSpMI0NKVlArOVYhb3JSJnYwelYoUVMoCit6M1dlRHdSaGtgUDF8YyN9 e1gmRD5KXz98THRwLVlTIUs4cllrO1gldHJwY2ZkbGpab1ZWIVQzSnNLMiNmIyVjaiMKK3owaFFB WDFBNHghPXhGKElaSS0+Vj1vP0djTyZ2cCFiIT1SN3ZvYDI0KmNSMWNwR35iSUpiMz9zV3Y1YjZT cDdLRAorek5VfX42U09+Y2JrOy0kSXYkRiZFdn1BPEpENEdKcSNzZys5eTUobmRrMys1Yndsc0U/ TilldHQ3YSVwM0hLRiZJCit6elVeWFBqekJROFpGKS1iNyt6SXBIMDtnK1Mxaj9hdU9Ne2tUNlVC MF9URnpDUUIoeTNTdzQkZ3dZbCg5YFlWazMKK3pISH5lQXAyQ0M9QX57RmgjMk9XIWhqeHhJKGZD K1YybTU4VUBFe2JmN0xtZWhzWFgrak8kaDdzTCtmWSNzMDctTgorejVEPVZIc31KP3cmI3I3XnF0 aU9GVyhHUnAlUkI+TCN0Sk1xQ3c/Ujd6SGVRbXZBeTBTN3dFMVBKcGZtTVFGaH5WCit6MGJUeiVL WVY0UyQpJGEmYXQlKXJpQUc9b1lobERrdyllPEtjMDR+JmNHR0ZAUVFiYFBacTJqX2AqRzlFJSpI TSgKK3pLU0U+Z2M3Tk1vKTl4MWdiRFBwN2c8Z0ZsWnsrTm5TVTtwZXpqSmV0JVghPExydm0lcmB4 UXlwcGJfVVlvMUFmMgoreiVoK2gwI3MjXkZDPTxOPURadGFAPDh2NXZZejImLSRrYHVQczBafHJi bXpkb09waEFAZC1xMF5YMl9fYEU1a1dCCit6REwxczU4NjFydGFaI3lOcjZefjBtK1ZndjFibW9K RnsxcS0tSHhJNkw2YkVwTW4mfDFRflR7dyYobXcmcV5SJjEKK3pjbDNOYkgpfTVOMF85TTB4OWIz SGQycThPb0t7SH5Ufm9WQ3Y7eTtMO3spRjxhS08memhHaGlTTjdQUUl4bSYqRworejtDYjV2Zztn I3AoS2B3S3BKKCpZcXhxOzVKRUpNbzI+YzRjTSpFST1gaHcmR1JDfFp4UVBeQ3hLMSY3QnVtJitP Cit6Ql5sX1BzRVIkPmkpMCNCMyVXZF5vPnhHdGpmc2ItTkh0TF5YRXpqJFdBbkliVUJ8aSkzLVdL NXJNLX5heUl7M3UKK3pyZ3dNQyRDV2ZmX1N8V3tXWTFOPHNLS2gyKjMoPyRNZCtvaiFGYEtlQWhm cT55TFVwKXBKM3YhIXBifUQrXm1SfAorei1zPSQhalYpVm1UP0VUTXUyfnhzejBiKVNXe0l5aC1O dzhaMS1PdFMyb3tuaXc8QzFnd3l7cm5NN18tTER0dGhyCit6eFBDP35YWVBIWlJ0O2VlTEklaXJ1 QFBBOF5ldUwjTktwaGtyUnFUaz9vaWdqUT1GYjRLVStXJGdBbmAqdiZ+PnkKK3pfKm53YDdOXmYq SUhzZD07NXVLVTIxaW8pJHE1MHFlMmghZjJNfHAodDM5QC0rbUlheVBqP1V8Xl4xTFIxRy1yZQor ekJ4MFA0I2M5YThrPjlZNDFTaF5+TlRZK3FBOFY9Mk41fklnUilqRSlVOVh5c0lJRUUqbTd6eztu Qk9FKU9GVjtVCit6WmpuM3JUb0IxXlR8ZnA9RSYhWm1TbiFkbm4hPnA2Kl58czBHYV98JXZoSHl0 V3JXUGFzdSgydm9xXmdScnBkU0MKK3ojWl5yUkdtbVcrUFZiNWVwNGBtcy15ZHs2QCFGcHlXb2J7 JV5ZRkJtQzZJbnhLS0xwcFlnOVI4VFpve2E+U0R9Oworeld3JG95TjtvWWRpSGpnZVF8ST1qJkI2 cXh3OFMjfmtmcndGYXkzRXxmdnR5ellyfl5OP0psTCl2U1FBYW5GaEMwCit6OTI1fGFfdlAoYlgx NngrJHB7OGxIX2wtWT9eMkNAJS07dypMJFJSdSFhK0xqYm1MKEstbi1eQld5ZjdqXk54P3AKK3pA N0ExRHd6Z0N4amNNYnhPWUBSMiVzaldzQTlDJnxrYjEkTTA/ayZOPGN1aWh6WVFLQHBsRnJXVXhL eWU0QjdtTQorejhJUFFJemp+SkJpU2d2fCRKU2NiS0NNbl5wJX40VXZ8MX1nPXxtRWpXNU0hbnpG WDlIMjIyYlFzJjE8K2M9V2BYCit6di1SVUlEPTtfU2JxdDFSbmp8Nl51JkZpK0llWUtMVEZCNHZy WTlPKmpjYmhQYFpgdDJqMGVqZmE5cEpiQ35XTVgKK3pecD5eM3RsNnpIanR7UzQqbzZ1KyVBXztP N0doSkFgWHpeZzJRTWM7QTB4aWl2Z2FOVmxDXnlAPjBGWiM4aGJAZworelllXz9zbWJTJTNVfWV9 MEVseGBnbUNYc35wZ0A7UHt3ZnVZezVUTjByc1ZDRT17KW8/cH1YNWx1Uk0tKStBS09kCit6STM2 PEtzb0VTOXJaYXxsUFpSQXlgcCk8WXcqMVh0TFc/VnooRyEwKnBRfHhMMWx5e3FqfTFvVzNzcEg9 SjUrVDkKK3pre3hAJU4xTk1vODYwJipES2A1JVVtdjl3QldkTj4xbmQtPzNaSTN3dkJnVEtWZFls RVMkSHErJVdqPTc5R0BIQQorei1hKn5uJCQxdmZYRXxNMy1RNX03LW9iYyN0MlpxeT9IXnk9RCZG enUmS0Z0T3pTX0RLdlpAY0REQH4hQm8pTmt7Cit6aSlpdnZZcV97WHkxQTc8ZVdCcmR0SiNvNjUj O1VHLSRaQG1JUmFnRXkhRTl9cGhReEJuKkB2JXRMVmpgYl59SUgKK3o8N2MxUlNqMiVQZUdJI1VP SD5TS3JlUTBWMSpjb3FyKTZ6ekJCPVdwYDBUX25UOENEcm9aUSM7MldGPW08P288dQoremVIMSEt cWNJRyhfZkZ5MF51MUV+JVRGfntCUTE2fGclcnZCISVtVkt1JDVyZ1BYPmsyUXMyMFpiPyR9cnZW S21yCit6Uk1mJU87P21xbl5gelVQeGF5RzBqdTcmOUtGcSheWVEjJXZzIUdAeXZOQkZ4REhhIzU9 MjdhVyQ+VmlpPUpzbGEKK3olSGxTbkJ+ZzVAWnsxV1NGKkQ8cG9uPnVoSVF5ZFgqenNKPWxeR0li dDs4aUtPTXt4YjxXcHtEQ1dDSSRiSj5RPQoremE2bCh+TT99M1hXY2syI0pqczxrRDY9Z3RDMmlx VURUSmRyNmo1TCZhSGcwKnVoLVVBbmxSQ1BuTzIrYlpGc1ZLCit6cihmU1Necno4aGRCU2FDIU5W R2lYfkpic1c7UHUlTWt2cGwzdCY/Pk85dGh4eEt5bn40cSlNRmBXWH5ET3FeaG8KK3o1bGh0WDFX YWVUQXJUZj8zaChCQCFwPm0jJnpmdE1aRzdaSl5edlF2ZG02c0xZSk89YTN1WUdVSyhEdyM7bjlq egorekYjQVl6PFgmPj0odlhUO1V8SHA2Vnk1b1k9SGtWMFEpczx8YFBlJSt4Ukw5bUo2VjtSdih1 Z01TaH1yI1JMVig1Cit6Ymh7SHpAVVh7TnpsaGNqeT0rTUNzRCEmTHM/LWhwc1g1I20hcXlDO21q JEkzP2BNWnApfDQ5TU8jPlRSY0B1cFgKK3omelNBekpNbFphbERqSERXdCVhN19BOFUjRChzR2lv YS0reGRSKXdfKTg8KXdwI1Etck8kaF4mUmErbXU4K150MAoremZgVHEpU2F5UGlnPXtQOSVnTC0+ N35PJT0xamh8bGFGQWd2LVZ4JCNMR2x6NHl6ZHBWTkxpfWkrS3EyZW4mYXdECit6aEdtfj1eTyF4 amRaaH1wTVlAKnJHUU07Zl5yailpPlJFMkNYOUZeT3o/VThZZ1lZfHl3Umdzdzlke0NhdW9Va3MK K3ppKzg0QEJzdip3VyNJQzdJNFYkLUpaMTMjPHImQyhXLUhtKCtCcnl7SWk1VEF3SFQpfjkjb0p+ UHFgbG5SP2ZMSQorekwtdCtAVlFVOzJFdGBVOFI5VHojJkdWYn5PWW9SfWlPWjVAMT4+az45TUE1 Wl4lPkxgKF58IU4kSiNOQjB1cWZmCit6NVY0JTdQJUZ6RWNeXkFSdzM2KW9tYkBfeCZkXiE0LXlG UD5rUjFQTlh2bDB+IVZGPmM9dXE5OTkpNFBUcEVwS18KK3olQ1Z5aThFKFVmWXZ5OUZaVkY+UDNk aVZqJF80OCU7RFNmV3pBQjFCdHV9NjF0Q21NVzt1dTR9THohPUYjfGVeWgorej5QRTJQYmlIemVB flkhezRaUmRxRzhrcm1Ha2RIYF5mVn1ze1k2ajFZLSYtSUErb01xZ29nZUElZ1k0NnBrQkt6Cit6 VTdhTFN0d2FqeVhMVSZ8QmdNXnA+JURTcVN+T3RHZj9CKGZxJGBkTFZjTi10KSVmfWZZVmxmRVls djRQUzRpfjwKK3pofH1ERzlSOz5XbDxlPyVMYCRiKFpfRkdzWDtuRy1fODZSYT8jMy1VWk9wdjQ2 THlyfSVyJGomYGNucGJmWmZZKgoreistcEN2N1lpJHdFRWpzY00yU341aClkPChYdTY1U3VWdmFI WUVTaylYUVEpUkcyR1l4VVU/bk9YTW5zX0w3SFlLCit6ekJwcGVuQUM0dWE/aGw/K2VsR0RVKkBv dHY1LV9VSTFObFYyMnltIyhfSmhaazZEJCVkTihfdmdMPX5VJCYtb0MKK3pENGljYHYmIS1vPiRX Kj49ZnZJV3Y8c25ZLUl2XkhifCQ9cD84JmhYNFokXkRuNF4yKmokeztyWHJBTk9yJH1BVQoreiVp YCR4QzExPz9XJThITGEoWU5lIzxLQ2NIU09ldDNSdlNncUUqVnB3P2wkdXBQbHMrWmtiQG96cyhu JXFpTzJNCit6JD1FeGdWN2F9eXRTYm1AQCtgWXRaMU5ZJnNKcC0zKWhsfTlkVmJlPG8qalBxayNO bnY0V0JwTy0xS2NXUXVHdGwKK3pmI1AoVjtsfCphIT5obkJPI3ghYkN3JiRNIVZHUWM5fUFCZldF U2xDNGlTMDE4PGFkZEdrZkZmNjVXOVpROHJVNQorelRnUzBOIzlkMGZlYnZxVmN6N0tiM35pNjAx MmlKOUZsKTVaO0Vgcz9hQiVVZWkkV1dYMnVOVWEteC1TMV5QOyFGCit6QjlzTStQey04UihOd0Y0 OVcqQXE2MnU4PWYkb0l4S0pocHtheTwyVGtxfSQwYG8jKSY8dmRGJXM1dERydWVvYjIKK3pNPlNo YG5OSjRINGZxbm9jPSliNGVOe0lJcXk5QGVySXJPcWVXNipqYHszJTFhdWR3V29PP2Nxa3hFZVBs UyRSNQoreiFkdyMmP2V9NFZQciUqTmgpeDgzZl4zdGNvemt3M0tgVEtQbjl3P2BUa30kUUlPT154 P2NrQ3o8bjUhI3EjUCEkCit6dDkqQ214Ozd8Zl4jc0VgU094c3IzP3cqTWAtQWZBRENkViNHTlEw NCheamB5bDA1OFhjSTNeTD9iVzw3Rl5qTFMKK3pvOypDM3Q7MV9NOXQ4I2ZoIyYoMUJ0UGtlM2hj O2RyZXxzOXsqUHl6OGtEdGNNajZxKV9LViljWEhwX1I3cGotOworejVyUG9td0ZEYihOSHEofVV2 KlprN0I4N0FkM212fiRzP29CQlUyZTs9NEtYa3tseV9Yb1VobFJSVyhebSY1PXo5Cit6RVghfHJw P1NtMXUlVXBuPTw+IyRlZGZSJkA2cG8rUU9DTnhudmxqdmdNO01fWjFhSz9Be0pnJmptbDBpNkoy VTgKK3paOyZIWk5jUVkwdmRXLVMyKUdmdldLRXs0PnN7fV45RGx5Q2NlLTElYmdPQkY9cmVRa0pT dDQmSTc0TlpQYVh+RworejtTR2w8bWN8dSRLMU5Zc1ReZH5iTzM5LUZYPzdSOyhVOGlzUi09XzZa QCptRDZ6aTk4Pk1IQmZafUhPWi19e2VlCit6TklXX05KKnZjWXAxNEVjPFpfRDFKSnVyd2MkQ2Ze SSZFNmtpYWFeQyotVmYxYVh3d2E2QGhibyQxJlFRez17MWcKK3pPOTVsU2cwT1Y0K2kqVktBQF8+ Y1pXa2dDQjZ9YVV7KVA0X0F9dD5zb05UUn5WRD1ERyoxJDxRbX1PNEw9ZUotfQoremcmNTlzen1Y QjVtJTBxJSV6ZVlCcjsmXnhOZCltVHVRaWc7WG15e2lzfVQ1VHZkd2B2TzVgVmtCNmJVNUdaZmM8 Cit6bWl5dks7OUE+Q3ZkTmNne2sqcF4oPkomQE0xTXVyXzwybWZDZ3BJYHN6K047aEIwMVRhfn1o ezEmX1YySzNxVmQKK3pQMSFidmhZbl8+aUxwZlpRYjZzYjRHTGV2ZisoT0FNY21HKUZ5XnJpTmt9 d1RaVWxNU1R3dz9DTTEwdCQkYk9ffgorenNGZUJaTHslQkZwdW1wUSMhQ2RnRG5UZHNRV2ZxX2wy ZU5HN3t5S2tYR3c1X2RJZ2x2ZFgxTzJ4Q3tCMHVEPHZ5Cit6IW1yRmVnTCE5QHdNZU8oSGtAVXJW IVp1OEo4ZjY2dl9aSXIhWjVwNUlWZWhTamFxM3dOMl9abUltdXJmTz5DcjsKK3pURE5oa2pkTmx2 PElKUDk1czNNc25VQW5OX2UzQzYqWSRgfkhmZFl8KDtIZDkrSGRsZEdJLXRANXF+dXFafX1vRgor emVucm1wPjluVkhybU08d3dYY0hrMlMxKVgwIU9OSnFxam1xXjZifnc9MkY5UHZgJUdxUEJFKGoz Um14Vm9YdU5eCit6c3ghbzFVaHs3ZG9CSzsoKUNHSVM0P3lWb2cpYD1XIUBPPm5rPXNgSGx1RH5j bDZ2Jndxa1I2QVI2PyUrR2RXN3cKK3pvMUolXzNaaEFMO3tiNXg8eHNVPXFSZGVYXzA2JCZxbj5a Q0RocSlwSyg9YCYyLUg/c0xpSlJxJERRNkkqeDxTaQorejV8MyhNMGlSM3EtVDRnb0RIRzdvXlM9 d1BqOUtYTDA1XmZkTF5DSFNTPWpfbm1AZDlqdjJHYkAzVl9VeS08YmBzCit6VzBsM3draX1RQnEo Z2pweVVlfV9KO3E2R1AqbylxZWJXP1JgTyRraE0weW8yXnJEJXA3Y1htSU5HRiQ0aFZrKWAKK3om eGp4N1U/VGApUkdqMG84Rk87QHtkZFAxMStIVUw4RylVVDUmbVh1djc/UUprQFlffVNuVn1tVk1M JDFyVVIjIworemd5Yk5TcWh1KkJGVDxIdWBfTS1UbztKeCpoXnJ3JVE5fVdMeXFeKH1RbjI9Nk5V LTchYGh2cWkhXlJmTTJaJWAyCit6eG5xTGpII1VTTSZrc2Q+UFAlbzI4OGJzQEwmI3R7KmFafCYo cm1AczgzZFl7PnZEJlV2NGBzMFFib2NVIVB5S0UKK3old2lpN0xDP3wkcldDMHBVfXwmRnBZXk5u RjhXa3o2MDwwLUQ9YGgyPUheK15ecnZkSFMyTD9kc1dyLS1CRU0kMAorenolQ0wpP1c0ZT00WFMo N29yZkNGe0hfaUJefDY/WVN+O3dWSnJmJHFgP1AxMFJNYiNMdFhzeGtXYkpNO3FxWTBCCit6OGwz e3JRZlhUdlYjQUQ/RTJrP3M+ZzJKdkZ+fSUlNkNJNUAxWj55TzQhNno9VytibGo+UmdPKE8pP0tg NWAwMTEKK3pNSWI/T183fmNTWlN5VD9QWn4hfXU8YnBAQCYhIWFackh9PnFNaz92IU9ITl5fQHtS Q3YlOyQpNVJARTRCXjdxaworeiRYZk5yYGZzXnRXTjcrcHIpPSRXKERNdzg9a1RtNnohMHhGRHd7 RGA0UD8wMytJOFZMP21CcnhLX1JPNHU9THBECit6VEAzfEtnSEB3ckYyKUtDRG1MVTJBYU9mQUtY OXpfJWFaN0FhY3BDVSU8WitFe0c0RikrV09PckIxdnUkVkItfHwKK3pjUWp+V2Q8Tz8qaTt0PClS MXY3Tig2MyFzS004d25tIVA5dmN0NShzIXVMIWlkYkFse2xmZ2dQdkNUbGM2dkluMgoreiNzd3At ekcpOzdjKE1vMkIhNGdNLWxjZE5fO2BkdWxCb0s/cWo7JnZkTzNNajghQmozcntUcygwKE4tOyUm YmpKCit6ZEl3SCRzdjdJflJJWWlHaGoqISRifUooMyQ7eFR2YjJTaD9zRnJXfilrOFQyaTtxWnI9 JSlkOCNRQX4+MEhGU3IKK3piWEBjdDROUSZmfEZrX202PX5IVWJscHg7Wkx5eldNe2M7TGxRWVZV UmZ2aHdvVEZzMVBIP3NsPGYjfVhUbj5TYgorenE9UkQ8dT59bTN6Vz55OHtzezBZKXNpYWROPj83 VGMrJV9vWTxJLWB2KVBKWThYODlPPl9rTlZhfU5qbVFZTHBRCit6KnhJNk8yWjxgPl9EOXxreTlZ N3pXLWkpP3F+bGFuUkx7dUBGeWF1cVQpZjNxdFVtUWNtODF7SFNZbnpgZmolamwKK3o+aG4keHds IWBWa00tT0FkYEc4TjUoUHk8Tjk5T0lrTWhEVEJSeTZJYnwzeEJTeVpMSEUqUTtiaG5aKHlnS0cw ZAorei1iQnl9TnkpSHUjPHtJZjt5ckxzVT9vaXR2YW9iIWRudDs3UWYmYnwqVWBrTF9Gaz1qYHRD K0x5JGFucFpJeWI9Cit6TT4pJnt3PCZvQ1dHfHtqTyE3UHtTaUx8RUMreytoaylaanJRWjt1TCgo dUVZZEVVViRqWUwhUDU9d2ItcEBjQGcKK3pKUlVkNjstYFcoIWUtWkQ0UmNfc0wxJV9nKnhWVChl RGo3Q0N1ZUM/QWtqWXpoQ3t0biZ3fGZDP183KipiR2ooRQoremQ+O3BGTjN1S3l3ZTZBODtyPmJR KjxzYEpuOEk2OCVOQy1VWCh8YTFgKSlgJUs7d001RG9SZ2U8aERPU2N4UHI7Cit6S3xJVDVjUyk2 KCg0I1krbkA+ZFRaM0B9MVY4TXF1QXdHYWVqSCo2R0VyP2tZS3Z9I2hOczBIO2lWZGJmUihSSF8K K3olX2pXfWomVGxlNFZsM3BOVm0mVTcmQj5eY1I0Wj5HazRiPT5zVDgtZUxRU25VPlJoVlhVWExx Um0yXyFLJjQ9bAorekpQdzY9KmQxSlZEJC1VfHhyJmZ1TXJGbmpZNH4laHs5MWZzSCs/ZjIkeENX bClsJW84QzhkSWB2b1JSbmcmLVJVCit6b0Q0NFlQRFY5Ql4xNlk5JFViWlVIMCE3NSFKcj5vaCl1 bWJCKnpYQmppIUthdTtWaDY3b190enZyU0ZZS3s0bWUKK3owZDg7YGdRWFhnd0lUMTJJTSpVa2J0 NzN3SyhNS14pJX1TQW8yeyZ2dElvIVhhQyNKRkl+Mml9RCVHWmF0T2A2ZgoremFeOHE3d3E5cm1M Vm16JmdLP1NCQypeMGVBe312JT5eSGBOKGBFOCEqKlFfYjd8VyhfVnxXN3k5IyhMQ0FOPFR7Cit6 JEhZP195Jkh0fmo+e20rblJKRDJDbldBdEB+TFcoLTQyNyFNcjlBO1ljbVlNUUF9K24tdVJWPXt8 RSY3R3BRRzkKK3oyT1dle0RQd0RHTEdWcyhZelVoJHp7NFghViNBQ0kwI1VeR0h0JEd6aEBZT35R NXU8cGlFQ30zJD8lIzIyK2A0ZgorejxuT18mQ2NIRFNMMEpUeWNpdkY0dl5Yb31neSEwIVFzfEBO Y344X09TKndNUzhJM0pZdEJSRG1Ud1V1SFJCRTRzCit6RnBBQW5jaGxSP2U2RlB6ZHJ6SldLVFkl d3dNZChDRnFzJSgyJjl6WjFDdEdCVzIzcjB0ZlR8QmZVRG8qIUA+KzwKK3pRbjJmSTR5TFQtT3JM WE89aThUTClwd2t0ZU4zMnhnVEBnWm5pIXYxbll4cm5sPSspR1NMP3B1IVIlSj1fWCs3aworejYh fHgyUyEtRUFGPChrdW9gYGh0amleSGwka21tR2ZMdjhfbXRaPFpaZ3RVSU5OSC1fKnhOeClrP25R bCFjXkV2Cit6TGc5ZjVVXl4wQnZmezNUVjspS3pubT1gXjxwbUVvVTl6aGNBUEdLS148cldzJDVy M3U5byFYR1V+YXZMcVZyXnQKK3ptMFJicV9SfkdAZCZ+TF5pXnxxa3JRKHlXTyshZG8xeHsmQWpF aDc5ejRVJCF3NSFhKU5IXjR9SE04QyY9dTl2QgorellKa1YrcTxLSigjRHBzfHRmRypeTVElQy1y cTdeMlBrY31zYWp6YVRPPm1ZSnl4fT4hZkFLcEJtPUxQKXV4fGcrCit6TTteJGhPc20xNCQ3KG1V XlZLTVYwP2dnPUJPPzJsYSU1MnM9UV9weyR7MVVwekheTmghYUJZUkFxOz9SdUJ3a2EKK3olcEtn YGotd0klIXRDKWhBK31ZOGpybHhKM0JpKSRsKTV3dGl7MkZod0AkWVAtaXglfiRwZHV9IVk9RHY9 O1k8Pgoreit4PDhmYi1uYXYjJjtzRGEjI05ORTlqUkEhKSZ7alc9Kll+d2xoI29EPzB9M3FhT3pg SUBAfG9kcTx7MFE3VWxPCit6NzxOTzh1YkFvQml+U2g1V2swcl83cT89QDFAflFEN3B8TVpnM083 Zz0oKT5neHVFeHQ4JDMlYF4zUmMmcTduPWwKK3pUOz5eOzxKczg4VElzaGQ0VGJFZ3kqfm0hbCZV e25xMz9EUzZOUDdEY3cxPXVpWWAjcndxKnZoX1VMMTU0eHlxRQoreiNgPTV0ST89U2lwb3FyfDlY VXZBaiFkRHZBJEAzfWtfZ3hGIz5YZClWYGNaenU1Jil0MllCTjFCYzNpeDlBcn1uCit6WWItTEFA bWozdXh3RjIqbj9XODF3Z01BdU8+akBDVHRBclMyKl5Hd1Y1MDg2SypnTVlxNzsyNXVPYTlRMlBV RCQKK3pkejdpcDN+Y2UoUWpfaTE3Q0p3ZldhKnlyP3l6RVdZNGY1WVF1bSN1dkd7P0Y/WGZ8JiY9 SUJ4XlFDUUx7OD5zMQoremJEWjl1PnZWQW9MUE9nNFdIeDI1OTI7O2YrR0BRWDxjJGkkZVk9LWBZ Y1ZUNDM9TVFrPDI0cyYtbiVpZUNqMUxxCit6eUszZ1QhfV4hNlVhZkQrJGo/PHtKQkJPM3FWUntM VjBxZXhFQjdpdkFDMkleciNWd0BDU3tWPDdgJkxveFk9NC0KK3ozcGgzSGY8RmFfVjZGT18oWVhs PHhhQFV0UmQhUipOPHlQP0NubSl7WU1RNz1FanpZenVWQFQtdz5fMUdsflFFVgorel9XREtjJkIr bm9AbndQPE5Ha0ZQPiFQcmFhSXlHaUBUWVktIUVwMjt7SlR8RSU+eGhkWDV1aTZTeSVIWDspb1RD Cit6N3gmbVZtR0o/MDdzeTxDbj14TiNIcmhnITQlYFhlVX58Mn10bWJFWU5kWHpadFhkS15iUE08 SlBIemZ5YDc5a2MKK3prNjwybiEyeSU1aipnWHtuWUU0JTE4fl4wNSkxKEJuYVkqUSpVUU5qNGdk bXYySkZIUXsmbTYoVFdBWSNgVClIRAorenpERSNqb0V8dFlFQH5MfHB5KGgla0J7aSpOR29KRms5 VUdMd0BwUjJEX1o+QWJWVGhuJVB7Xl49bCZ3X1UtKH5WCit6MGxUNHM/b35PcyF2KyViVlE7cm9U VntKVDY8OWtqRGA/U0NiRyY2VXRlS0Q/dHZwZUY2UjcmKDM4ezBCeUJxSioKK3pZSGAwKk9sMDNz WGRAVnVedWo9dDQ4ZG1SMHlmKz96P2JkUjBMN0p2Nk9OUz1QcEVpUmg+cStMU2E/ZE1QIUEjRwor ekJ0Ync0IUdJTWxAYUpvRkB0K1VCfEE3S3Z8TmFSWHVxKktPcW5XaWN1KXV4JVRuUGRJX08tekha bj9qS3tXZTwxCit6K0EmeGhxYTV8RUtDb2k4MXhfU0R7VCZSYjhvLUJfVSh0UkMpNnBAckhnbyk0 bHxXbyM8LWYmczBPQVRncmMzMW0KK3pCRkY9O2hxKEpkd20pIXo/P09BNio7eE4paS01U2Flfjxn QHdZYSFAXkAzST11JmdUSjBSWWUrJG08SGMlbHtxTQorenp7YitqJGlWUiU8UjVKT3gwPzhoT3pp PmQrNjJec0tHT0ZSVFZqNUxZLU1YezxZQEdWI1ElV24zKUlBVW9rPTdJCit6S0pjREkwe31wTkFo OFNaemtmPD5aRVItcDJQJHlwXjU1LVM1RCpwZSUzbjRGXz8tcWJKcGgzNjBRR3xOVFUxOVEKK3pT STBrSzc1XlVnc31pMUM2UCNaR2x+NGR3MD5UNT5MNz82SkYwN0hZXkI8N151PkxycHF5Xkg4ZiFY aT9Lc3hkRgorekpCQlJ4N29AOSFrP3EkRmA+aSt6K0pmfnozdFApPklVTldHMDJ+MDNBS0RuQyk7 R3ZUMjJQSEBrQT8hYHspNUN7Cit6bTd3cVI3fmB1eVRxQXRIVj43MEk7KGp5UTxrd0pWRilFe2lm IUAjc3lidkYjSHBjby0pVVA0eUE5ZWQlREVLTlYKK3o1YkRwTEtRTzxfeWVuWDheQyN3U0diZXRG MiowclUjU19Ue0JPcSFnQFdPY0BYWXFld2VqZ1pxMFVpJmdAWTRjdAoreldYdTUyQnAkKz4rSX15 eHAxcH5hNnxtdmhLV2dOK2M9bEJ6NSs+KTw8aUxIYUFwLXpxfDFDS0Y3U0c7MGVHaE03Cit6MU1G cT9td1d0ekBGXjZ4UiMtcjxsVlNxXnVwWGN6YCtrcjkmOFV4bUhqbzZNcWQ0TyZRazRLWk5EUUhV Wl9jaCEKK3plfVAtLUlVM3Y4VG03TEQ9ZjhLODM/U3wjVjwjcCY0Z2dATV5uSXZzTzhnN2ctcDBn VT9AIXA1ZS1CIz9nbmhNbworei07Y30lME5obzQ1OERVKSYrbm5hLXMkVkJxa2xTZS1ydkw0MTdS PVdeNzAhbzAwMUY9MDA4Tk1pbUNTaGdtdSgmCit6MEZGRVZuJUlHPUUmcUdhNzlnbkhTZz45UVBf QDI1TDsxcmBlek9WJjIjYE55YiNnU2JgfiRQKlhQQ2RAZCFVR2EKK3pWZ2pkWjhRUiRZZ1lXJHFe QUczdj5maiQ8TzhnaCpGWjxxKTtyfXEtLUAtLUdmNTk3REkrKz1vSWxCRlc/MDxQKQorenZQOFV7 OEJvQEM7Nj9naTxNd19Jez56S19pPkt7SzBUQ0Y2MFJnfl48XmZMYCgpVzcqYX1vTV8xe04tUV9K JDR5Cit6SGRlTkp8MGJYcXAoIUF9MWVQcFp6P2VuJmZiSXFJUHdBd0BnK3ljJk1nQykrell0Yihp O0d9IWYjJGhLXjdTRmIKK3p3P1J0PD9XWWA4ZElxTHUqOGcwSXtDTjhAZjJhOXZgfV4+fHI/RTcw SDNQPVNVKjNKaStaS3RoSDhtNFpPJUlvVgoremtOLTM1fDYlaXcyNn04XmZEfVQmNUtzMCVRJnht T3FYOW5KKFIwdS1HJkFAJitZVilTZFhvYVFGZSVgZ3MyJmlGCit6bEt6eSkoYjMqYS1edFBGLTsj WSFpWXYrais4OE9ZPXBjQVZNKW90WmVfPilQenpGekdSYSlKRTAwNE9GXm5EZEoKK3pPISs7OWdQ SDNlYXEjTmojbGIlK141M2xMbUdKay1aaEJVaCUpZXw/KzhnTWBSS1R4TTg3YVRFUlFsRX1oSkok bAorektVbVpSODQ1WnQoNHg0MlNAJDd7OUJ9VntQaC1EX0AhIVAlOGJXT1RuQncpJXNyX3FKR1cq SWM9bXVDZmFPcjteCit6OGB0RTFNcT0mWVh6eWgzPzwhWSZ0TVEjU3B2NnVEaSExeUc4c3BSZDNE NEl4e2p1QT41VVQxO0x5Um5kM0BOfnsKK3peM1lWMzRTJnBGPXd4TzRgOyptUVFgVkw4V1BMb2Ft cHAwQ19Zb0p7X3tTN1JSJVZXV2JmeF9AandPNGVzeDY/JAorei1OU3NaRENuMHo7ck1nRD81e0NB OUsham5Aam1uVzI/Tmx8ZWpteUNZWlJ6LWJ1cUtSNy1iMUctLW1scT0+S0RpCit6ZXxeKlBhQTR1 THQ1XmNnRzVuRXR7NThKdCpBYEw1aj8rfk1vU041WkBja2toMUFvbCR1THxxMC1qflNUT3tOY3cK K3pCa0tQZFExSTt7ZGdGZ2dAeSluYFV0N2hhQW5gPmRVezJaK3tAJWc7UWghR0F1JCVJKUBxbHc9 PlUjbiExJGZ9PworeiZCSktMVEtGQGJaK2chQzhWUm1TQVdqdUkwMSheJXkjdkJqe2d+dzI3QlJv WnBgRkJyezJtUDBQeWBxaUFKei1sCit6dnA/WkBjdU0yZlhkWFRneyZ3cFQ3SnAzaCZFdyZ9cXhm LUVeKVVaTUZhTDt3PChLbXhyezI5UDYzfWh+RDhBcTkKK3o8KTB3YDVCYWFsb0wtWCM3KGhffEVC e0dze2FGMH1BXiRtVnF3byNeY1h8WnE8UFl4K2B1MldDXjF0TjJgP25UQworelUtUkdtZjkxYzZg PTlYcSVsd3llb1ZqMkxXWFNsaHtEJVN4YGgkU1ReN3ZvcHpmOG9ITkMjbDM+ZEVAdntsPnQ0Cit6 TyE0cFktQH1STy19KiVnO1pIZEotfTJ1OCR4aiZtWlRAPldmJXd9K3UjKjNuO3tQJUtuTnN8aTtA e0BLaGZgeX0KK3pVNCNoTGp+VmBUeyhDcn09VVdPc184KExIPi1fZ3tlISNhQkFwQWUwXytScWgh IUUxZUAoNzlsak9Tbkh6bFRsSAoreno5cVNvfDFydEcmd21ma0M0UzI+P2Zlc3R8S0klQT9menEk VShBMk1lSU43UmhoNHMxaUxCUzM2YzNLUjBRMmZVCit0SmVtNGh3TE5eRV9aUDB1JVhVQXxoZm51 QG1aJXtoZno+ZlU5UWV6TDJMUi1+MXtWQil7e3RaKHtgQ0w9CisKK2RpZmYgLS1naXQgYS90YXNr cy9fdmVuZG9yL3BhdGgucHkgYi90YXNrcy9fdmVuZG9yL3BhdGgucHkKK2RlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMmM3YTcxYy4uMDAwMDAwMAorLS0tIGEvdGFza3MvX3ZlbmRvci9w YXRoLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSwxNzI1ICswLDAgQEAKKy0jCistIyBTT1VSQ0U6 IGh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvcGF0aC5weQorLSMgVkVSU0lPTjogOC4yLjEK Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBDb3B5cmlnaHQgKGMpIDIwMTAgTWlraGFpbCBH dXNhcm92CistIworLSMgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorLSMgb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRl YWwKKy0jIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKKy0jIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKKy0jIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0 d2FyZSBpcworLSMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczoKKy0jCistIyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorLSMgYWxsIGNvcGllcyBvciBz dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCistIworLSMgVEhFIFNPRlRXQVJF IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJF U1MgT1IKKy0jIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorLSMgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCistIyBBVVRI T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VT IE9SIE9USEVSCistIyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU LCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorLSMgT1VUIE9GIE9SIElOIENPTk5F Q1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBU SEUKKy0jIFNPRlRXQVJFLgorLSMKKy0KKy0iIiIKKy1wYXRoLnB5IC0gQW4gb2JqZWN0IHJlcHJl c2VudGluZyBhIHBhdGggdG8gYSBmaWxlIG9yIGRpcmVjdG9yeS4KKy0KKy1odHRwczovL2dpdGh1 Yi5jb20vamFyYWNvL3BhdGgucHkKKy0KKy1FeGFtcGxlOjoKKy0KKy0gICAgZnJvbSBwYXRoIGlt cG9ydCBQYXRoCistICAgIGQgPSBQYXRoKCcvaG9tZS9ndWlkby9iaW4nKQorLSAgICBmb3IgZiBp biBkLmZpbGVzKCcqLnB5Jyk6CistICAgICAgICBmLmNobW9kKDBvNzU1KQorLSIiIgorLQorLWZy b20gX19mdXR1cmVfXyBpbXBvcnQgdW5pY29kZV9saXRlcmFscworLQorLWltcG9ydCBzeXMKKy1p bXBvcnQgd2FybmluZ3MKKy1pbXBvcnQgb3MKKy1pbXBvcnQgZm5tYXRjaAorLWltcG9ydCBnbG9i CistaW1wb3J0IHNodXRpbAorLWltcG9ydCBjb2RlY3MKKy1pbXBvcnQgaGFzaGxpYgorLWltcG9y dCBlcnJubworLWltcG9ydCB0ZW1wZmlsZQorLWltcG9ydCBmdW5jdG9vbHMKKy1pbXBvcnQgb3Bl cmF0b3IKKy1pbXBvcnQgcmUKKy1pbXBvcnQgY29udGV4dGxpYgorLWltcG9ydCBpbworLWZyb20g ZGlzdHV0aWxzIGltcG9ydCBkaXJfdXRpbAorLWltcG9ydCBpbXBvcnRsaWIKKy0KKy10cnk6Cist ICAgIGltcG9ydCB3aW4zMnNlY3VyaXR5CistZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICBwYXNz CistCistdHJ5OgorLSAgICBpbXBvcnQgcHdkCistZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICBw YXNzCistCistdHJ5OgorLSAgICBpbXBvcnQgZ3JwCistZXhjZXB0IEltcG9ydEVycm9yOgorLSAg ICBwYXNzCistCistIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCistIyBQeXRob24gMi8zIHN1cHBvcnQK Ky1QWTMgPSBzeXMudmVyc2lvbl9pbmZvID49ICgzLCkKKy1QWTIgPSBub3QgUFkzCistCistc3Ry aW5nX3R5cGVzID0gc3RyLAorLXRleHRfdHlwZSA9IHN0cgorLWdldGN3ZHUgPSBvcy5nZXRjd2QK Ky0KKy1kZWYgc3Vycm9nYXRlX2VzY2FwZShlcnJvcik6CistICAgICIiIgorLSAgICBTaW11bGF0 ZSB0aGUgUHl0aG9uIDMgYGBzdXJyb2dhdGVlc2NhcGVgYCBoYW5kbGVyLCBidXQgZm9yIFB5dGhv biAyIG9ubHkuCistICAgICIiIgorLSAgICBjaGFycyA9IGVycm9yLm9iamVjdFtlcnJvci5zdGFy dDplcnJvci5lbmRdCistICAgIGFzc2VydCBsZW4oY2hhcnMpID09IDEKKy0gICAgdmFsID0gb3Jk KGNoYXJzKQorLSAgICB2YWwgKz0gMHhkYzAwCistICAgIHJldHVybiBfX2J1aWx0aW5fXy51bmlj aHIodmFsKSwgZXJyb3IuZW5kCistCistaWYgUFkyOgorLSAgICBpbXBvcnQgX19idWlsdGluX18K Ky0gICAgc3RyaW5nX3R5cGVzID0gX19idWlsdGluX18uYmFzZXN0cmluZywKKy0gICAgdGV4dF90 eXBlID0gX19idWlsdGluX18udW5pY29kZQorLSAgICBnZXRjd2R1ID0gb3MuZ2V0Y3dkdQorLSAg ICBjb2RlY3MucmVnaXN0ZXJfZXJyb3IoJ3N1cnJvZ2F0ZWVzY2FwZScsIHN1cnJvZ2F0ZV9lc2Nh cGUpCistCistQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKKy1kZWYgaW9fZXJyb3JfY29tcGF0 KCk6CistICAgIHRyeToKKy0gICAgICAgIHlpZWxkCistICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGlv X2VycjoKKy0gICAgICAgICMgT24gUHl0aG9uIDIsIGlvLm9wZW4gcmFpc2VzIElPRXJyb3I7IHRy YW5zZm9ybSB0byBPU0Vycm9yIGZvcgorLSAgICAgICAgIyBmdXR1cmUgY29tcGF0aWJpbGl0eS4K Ky0gICAgICAgIG9zX2VyciA9IE9TRXJyb3IoKmlvX2Vyci5hcmdzKQorLSAgICAgICAgb3NfZXJy LmZpbGVuYW1lID0gZ2V0YXR0cihpb19lcnIsICdmaWxlbmFtZScsIE5vbmUpCistICAgICAgICBy YWlzZSBvc19lcnIKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0KKy1fX2FsbF9fID0gWydQ YXRoJywgJ0Nhc2VJbnNlbnNpdGl2ZVBhdHRlcm4nXQorLQorLQorLUxJTkVTRVBTID0gWydcclxu JywgJ1xyJywgJ1xuJ10KKy1VX0xJTkVTRVBTID0gTElORVNFUFMgKyBbJ1x1MDA4NScsICdcdTIw MjgnLCAnXHUyMDI5J10KKy1ORVdMSU5FID0gcmUuY29tcGlsZSgnfCcuam9pbihMSU5FU0VQUykp CistVV9ORVdMSU5FID0gcmUuY29tcGlsZSgnfCcuam9pbihVX0xJTkVTRVBTKSkKKy1OTF9FTkQg PSByZS5jb21waWxlKHInKD86ezB9KSQnLmZvcm1hdChORVdMSU5FLnBhdHRlcm4pKQorLVVfTkxf RU5EID0gcmUuY29tcGlsZShyJyg/OnswfSkkJy5mb3JtYXQoVV9ORVdMSU5FLnBhdHRlcm4pKQor LQorLQorLXRyeToKKy0gICAgaW1wb3J0IHBrZ19yZXNvdXJjZXMKKy0gICAgX192ZXJzaW9uX18g PSBwa2dfcmVzb3VyY2VzLnJlcXVpcmUoJ3BhdGgucHknKVswXS52ZXJzaW9uCistZXhjZXB0IEV4 Y2VwdGlvbjoKKy0gICAgX192ZXJzaW9uX18gPSAnOC4yLjEnICAgIyBYWFgtTU9ESUZJRUQtV0FT OiAndW5rbm93bicKKy0KKy0KKy1jbGFzcyBUcmVlV2Fsa1dhcm5pbmcoV2FybmluZyk6CistICAg IHBhc3MKKy0KKy0KKy0jIGZyb20gamFyYWNvLmZ1bmN0b29scworLWRlZiBjb21wb3NlKCpmdW5j cyk6CistICAgIGNvbXBvc2VfdHdvID0gbGFtYmRhIGYxLCBmMjogbGFtYmRhICphcmdzLCAqKmt3 YXJnczogZjEoZjIoKmFyZ3MsICoqa3dhcmdzKSkKKy0gICAgcmV0dXJuIGZ1bmN0b29scy5yZWR1 Y2UoY29tcG9zZV90d28sIGZ1bmNzKQorLQorLQorLWRlZiBzaW1wbGVfY2FjaGUoZnVuYyk6Cist ICAgICIiIgorLSAgICBTYXZlIHJlc3VsdHMgZm9yIHRoZSA6bWV0aDoncGF0aC51c2luZ19tb2R1 bGUnIGNsYXNzbWV0aG9kLgorLSAgICBXaGVuIFB5dGhvbiAzLjIgaXMgYXZhaWxhYmxlLCB1c2Ug ZnVuY3Rvb2xzLmxydV9jYWNoZSBpbnN0ZWFkLgorLSAgICAiIiIKKy0gICAgc2F2ZWRfcmVzdWx0 cyA9IHt9CistCistICAgIGRlZiB3cmFwcGVyKGNscywgbW9kdWxlKToKKy0gICAgICAgIGlmIG1v ZHVsZSBpbiBzYXZlZF9yZXN1bHRzOgorLSAgICAgICAgICAgIHJldHVybiBzYXZlZF9yZXN1bHRz W21vZHVsZV0KKy0gICAgICAgIHNhdmVkX3Jlc3VsdHNbbW9kdWxlXSA9IGZ1bmMoY2xzLCBtb2R1 bGUpCistICAgICAgICByZXR1cm4gc2F2ZWRfcmVzdWx0c1ttb2R1bGVdCistICAgIHJldHVybiB3 cmFwcGVyCistCistCistY2xhc3MgQ2xhc3NQcm9wZXJ0eShwcm9wZXJ0eSk6CistICAgIGRlZiBf X2dldF9fKHNlbGYsIGNscywgb3duZXIpOgorLSAgICAgICAgcmV0dXJuIHNlbGYuZmdldC5fX2dl dF9fKE5vbmUsIG93bmVyKSgpCistCistCistY2xhc3MgbXVsdGltZXRob2Qob2JqZWN0KToKKy0g ICAgIiIiCistICAgIEFjdHMgbGlrZSBhIGNsYXNzbWV0aG9kIHdoZW4gaW52b2tlZCBmcm9tIHRo ZSBjbGFzcyBhbmQgbGlrZSBhbgorLSAgICBpbnN0YW5jZW1ldGhvZCB3aGVuIGludm9rZWQgZnJv bSB0aGUgaW5zdGFuY2UuCistICAgICIiIgorLSAgICBkZWYgX19pbml0X18oc2VsZiwgZnVuYyk6 CistICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCistCistICAgIGRlZiBfX2dldF9fKHNlbGYsIGlu c3RhbmNlLCBvd25lcik6CistICAgICAgICByZXR1cm4gKAorLSAgICAgICAgICAgIGZ1bmN0b29s cy5wYXJ0aWFsKHNlbGYuZnVuYywgb3duZXIpIGlmIGluc3RhbmNlIGlzIE5vbmUKKy0gICAgICAg ICAgICBlbHNlIGZ1bmN0b29scy5wYXJ0aWFsKHNlbGYuZnVuYywgb3duZXIsIGluc3RhbmNlKQor LSAgICAgICAgKQorLQorLQorLWNsYXNzIFBhdGgodGV4dF90eXBlKToKKy0gICAgIiIiCistICAg IFJlcHJlc2VudHMgYSBmaWxlc3lzdGVtIHBhdGguCistCistICAgIEZvciBkb2N1bWVudGF0aW9u IG9uIGluZGl2aWR1YWwgbWV0aG9kcywgY29uc3VsdCB0aGVpcgorLSAgICBjb3VudGVycGFydHMg aW4gOm1vZDpgb3MucGF0aGAuCistCistICAgIFNvbWUgbWV0aG9kcyBhcmUgYWRkaXRpb25hbGx5 IGluY2x1ZGVkIGZyb20gOm1vZDpgc2h1dGlsYC4KKy0gICAgVGhlIGZ1bmN0aW9ucyBhcmUgbGlu a2VkIGRpcmVjdGx5IGludG8gdGhlIGNsYXNzIG5hbWVzcGFjZQorLSAgICBzdWNoIHRoYXQgdGhl eSB3aWxsIGJlIGJvdW5kIHRvIHRoZSBQYXRoIGluc3RhbmNlLiBGb3IgZXhhbXBsZSwKKy0gICAg YGBQYXRoKHNyYykuY29weSh0YXJnZXQpYGAgaXMgZXF1aXZhbGVudCB0bworLSAgICBgYHNodXRp bC5jb3B5KHNyYywgdGFyZ2V0KWBgLiBUaGVyZWZvcmUsIHdoZW4gcmVmZXJlbmNpbmcKKy0gICAg dGhlIGRvY3MgZm9yIHRoZXNlIG1ldGhvZHMsIGFzc3VtZSBgc3JjYCByZWZlcmVuY2VzIGBzZWxm YCwKKy0gICAgdGhlIFBhdGggaW5zdGFuY2UuCistICAgICIiIgorLQorLSAgICBtb2R1bGUgPSBv cy5wYXRoCistICAgICIiIiBUaGUgcGF0aCBtb2R1bGUgdG8gdXNlIGZvciBwYXRoIG9wZXJhdGlv bnMuCistCistICAgIC4uIHNlZWFsc286OiA6bW9kOmBvcy5wYXRoYAorLSAgICAiIiIKKy0KKy0g ICAgZGVmIF9faW5pdF9fKHNlbGYsIG90aGVyPScnKToKKy0gICAgICAgIGlmIG90aGVyIGlzIE5v bmU6CistICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJJbnZhbGlkIGluaXRpYWwgdmFsdWUg Zm9yIHBhdGg6IE5vbmUiKQorLQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgQHNpbXBsZV9jYWNo ZQorLSAgICBkZWYgdXNpbmdfbW9kdWxlKGNscywgbW9kdWxlKToKKy0gICAgICAgIHN1YmNsYXNz X25hbWUgPSBjbHMuX19uYW1lX18gKyAnXycgKyBtb2R1bGUuX19uYW1lX18KKy0gICAgICAgIGlm IFBZMjoKKy0gICAgICAgICAgICBzdWJjbGFzc19uYW1lID0gc3RyKHN1YmNsYXNzX25hbWUpCist ICAgICAgICBiYXNlcyA9IChjbHMsKQorLSAgICAgICAgbnMgPSB7J21vZHVsZSc6IG1vZHVsZX0K Ky0gICAgICAgIHJldHVybiB0eXBlKHN1YmNsYXNzX25hbWUsIGJhc2VzLCBucykKKy0KKy0gICAg QENsYXNzUHJvcGVydHkKKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBfbmV4dF9jbGFzcyhj bHMpOgorLSAgICAgICAgIiIiCistICAgICAgICBXaGF0IGNsYXNzIHNob3VsZCBiZSB1c2VkIHRv IGNvbnN0cnVjdCBuZXcgaW5zdGFuY2VzIGZyb20gdGhpcyBjbGFzcworLSAgICAgICAgIiIiCist ICAgICAgICByZXR1cm4gY2xzCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgX2Fsd2F5 c191bmljb2RlKGNscywgcGF0aCk6CistICAgICAgICAiIiIKKy0gICAgICAgIEVuc3VyZSB0aGUg cGF0aCBhcyByZXRyaWV2ZWQgZnJvbSBhIFB5dGhvbiBBUEksIHN1Y2ggYXMgOmZ1bmM6YG9zLmxp c3RkaXJgLAorLSAgICAgICAgaXMgYSBwcm9wZXIgVW5pY29kZSBzdHJpbmcuCistICAgICAgICAi IiIKKy0gICAgICAgIGlmIFBZMyBvciBpc2luc3RhbmNlKHBhdGgsIHRleHRfdHlwZSk6CistICAg ICAgICAgICAgcmV0dXJuIHBhdGgKKy0gICAgICAgIHJldHVybiBwYXRoLmRlY29kZShzeXMuZ2V0 ZmlsZXN5c3RlbWVuY29kaW5nKCksICdzdXJyb2dhdGVlc2NhcGUnKQorLQorLSAgICAjIC0tLSBT cGVjaWFsIFB5dGhvbiBtZXRob2RzLgorLQorLSAgICBkZWYgX19yZXByX18oc2VsZik6CistICAg ICAgICByZXR1cm4gJyVzKCVzKScgJSAodHlwZShzZWxmKS5fX25hbWVfXywgc3VwZXIoUGF0aCwg c2VsZikuX19yZXByX18oKSkKKy0KKy0gICAgIyBBZGRpbmcgYSBQYXRoIGFuZCBhIHN0cmluZyB5 aWVsZHMgYSBQYXRoLgorLSAgICBkZWYgX19hZGRfXyhzZWxmLCBtb3JlKToKKy0gICAgICAgIHRy eToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhzdXBlcihQYXRoLCBzZWxm KS5fX2FkZF9fKG1vcmUpKQorLSAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjogICMgUHl0aG9uIGJ1 ZworLSAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAorLQorLSAgICBkZWYgX19yYWRk X18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIHN0cmlu Z190eXBlcyk6CistICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCistICAgICAgICBy ZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhvdGhlci5fX2FkZF9fKHNlbGYpKQorLQorLSAgICAjIFRo ZSAvIG9wZXJhdG9yIGpvaW5zIFBhdGhzLgorLSAgICBkZWYgX19kaXZfXyhzZWxmLCByZWwpOgor LSAgICAgICAgIiIiIGZwLl9fZGl2X18ocmVsKSA9PSBmcCAvIHJlbCA9PSBmcC5qb2lucGF0aChy ZWwpCistCistICAgICAgICBKb2luIHR3byBwYXRoIGNvbXBvbmVudHMsIGFkZGluZyBhIHNlcGFy YXRvciBjaGFyYWN0ZXIgaWYKKy0gICAgICAgIG5lZWRlZC4KKy0KKy0gICAgICAgIC4uIHNlZWFs c286OiA6ZnVuYzpgb3MucGF0aC5qb2luYAorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4g c2VsZi5fbmV4dF9jbGFzcyhzZWxmLm1vZHVsZS5qb2luKHNlbGYsIHJlbCkpCistCistICAgICMg TWFrZSB0aGUgLyBvcGVyYXRvciB3b3JrIGV2ZW4gd2hlbiB0cnVlIGRpdmlzaW9uIGlzIGVuYWJs ZWQuCistICAgIF9fdHJ1ZWRpdl9fID0gX19kaXZfXworLQorLSAgICAjIFRoZSAvIG9wZXJhdG9y IGpvaW5zIFBhdGhzIHRoZSBvdGhlciB3YXkgYXJvdW5kCistICAgIGRlZiBfX3JkaXZfXyhzZWxm LCByZWwpOgorLSAgICAgICAgIiIiIGZwLl9fcmRpdl9fKHJlbCkgPT0gcmVsIC8gZnAKKy0KKy0g ICAgICAgIEpvaW4gdHdvIHBhdGggY29tcG9uZW50cywgYWRkaW5nIGEgc2VwYXJhdG9yIGNoYXJh Y3RlciBpZgorLSAgICAgICAgbmVlZGVkLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5j OmBvcy5wYXRoLmpvaW5gCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0 X2NsYXNzKHNlbGYubW9kdWxlLmpvaW4ocmVsLCBzZWxmKSkKKy0KKy0gICAgIyBNYWtlIHRoZSAv IG9wZXJhdG9yIHdvcmsgZXZlbiB3aGVuIHRydWUgZGl2aXNpb24gaXMgZW5hYmxlZC4KKy0gICAg X19ydHJ1ZWRpdl9fID0gX19yZGl2X18KKy0KKy0gICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKy0g ICAgICAgIHNlbGYuX29sZF9kaXIgPSBzZWxmLmdldGN3ZCgpCistICAgICAgICBvcy5jaGRpcihz ZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIF9fZXhpdF9fKHNlbGYsICpf KToKKy0gICAgICAgIG9zLmNoZGlyKHNlbGYuX29sZF9kaXIpCistCistICAgIEBjbGFzc21ldGhv ZAorLSAgICBkZWYgZ2V0Y3dkKGNscyk6CistICAgICAgICAiIiIgUmV0dXJuIHRoZSBjdXJyZW50 IHdvcmtpbmcgZGlyZWN0b3J5IGFzIGEgcGF0aCBvYmplY3QuCistCistICAgICAgICAuLiBzZWVh bHNvOjogOmZ1bmM6YG9zLmdldGN3ZHVgCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBj bHMoZ2V0Y3dkdSgpKQorLQorLSAgICAjCistICAgICMgLS0tIE9wZXJhdGlvbnMgb24gUGF0aCBz dHJpbmdzLgorLQorLSAgICBkZWYgYWJzcGF0aChzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVh bHNvOjogOmZ1bmM6YG9zLnBhdGguYWJzcGF0aGAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5f bmV4dF9jbGFzcyhzZWxmLm1vZHVsZS5hYnNwYXRoKHNlbGYpKQorLQorLSAgICBkZWYgbm9ybWNh c2Uoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLm5vcm1j YXNlYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLm5v cm1jYXNlKHNlbGYpKQorLQorLSAgICBkZWYgbm9ybXBhdGgoc2VsZik6CistICAgICAgICAiIiIg Li4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLm5vcm1wYXRoYCAiIiIKKy0gICAgICAgIHJldHVy biBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLm5vcm1wYXRoKHNlbGYpKQorLQorLSAgICBk ZWYgcmVhbHBhdGgoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5w YXRoLnJlYWxwYXRoYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYu bW9kdWxlLnJlYWxwYXRoKHNlbGYpKQorLQorLSAgICBkZWYgZXhwYW5kdXNlcihzZWxmKToKKy0g ICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguZXhwYW5kdXNlcmAgIiIiCist ICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhzZWxmLm1vZHVsZS5leHBhbmR1c2VyKHNl bGYpKQorLQorLSAgICBkZWYgZXhwYW5kdmFycyhzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVh bHNvOjogOmZ1bmM6YG9zLnBhdGguZXhwYW5kdmFyc2AgIiIiCistICAgICAgICByZXR1cm4gc2Vs Zi5fbmV4dF9jbGFzcyhzZWxmLm1vZHVsZS5leHBhbmR2YXJzKHNlbGYpKQorLQorLSAgICBkZWYg ZGlybmFtZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmF0dHI6YHBhcmVudGAs IDpmdW5jOmBvcy5wYXRoLmRpcm5hbWVgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRf Y2xhc3Moc2VsZi5tb2R1bGUuZGlybmFtZShzZWxmKSkKKy0KKy0gICAgZGVmIGJhc2VuYW1lKHNl bGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6YXR0cjpgbmFtZWAsIDpmdW5jOmBvcy5w YXRoLmJhc2VuYW1lYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYu bW9kdWxlLmJhc2VuYW1lKHNlbGYpKQorLQorLSAgICBkZWYgZXhwYW5kKHNlbGYpOgorLSAgICAg ICAgIiIiIENsZWFuIHVwIGEgZmlsZW5hbWUgYnkgY2FsbGluZyA6bWV0aDpgZXhwYW5kdmFycygp YCwKKy0gICAgICAgIDptZXRoOmBleHBhbmR1c2VyKClgLCBhbmQgOm1ldGg6YG5vcm1wYXRoKClg IG9uIGl0LgorLQorLSAgICAgICAgVGhpcyBpcyBjb21tb25seSBldmVyeXRoaW5nIG5lZWRlZCB0 byBjbGVhbiB1cCBhIGZpbGVuYW1lCistICAgICAgICByZWFkIGZyb20gYSBjb25maWd1cmF0aW9u IGZpbGUsIGZvciBleGFtcGxlLgorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5l eHBhbmR2YXJzKCkuZXhwYW5kdXNlcigpLm5vcm1wYXRoKCkKKy0KKy0gICAgQHByb3BlcnR5Cist ICAgIGRlZiBuYW1lYmFzZShzZWxmKToKKy0gICAgICAgICIiIiBUaGUgc2FtZSBhcyA6bWV0aDpg bmFtZWAsIGJ1dCB3aXRoIG9uZSBmaWxlIGV4dGVuc2lvbiBzdHJpcHBlZCBvZmYuCistCistICAg ICAgICBGb3IgZXhhbXBsZSwKKy0gICAgICAgIGBgUGF0aCgnL2hvbWUvZ3VpZG8vcHl0aG9uLnRh ci5neicpLm5hbWUgPT0gJ3B5dGhvbi50YXIuZ3onYGAsCistICAgICAgICBidXQKKy0gICAgICAg IGBgUGF0aCgnL2hvbWUvZ3VpZG8vcHl0aG9uLnRhci5neicpLm5hbWViYXNlID09ICdweXRob24u dGFyJ2BgLgorLSAgICAgICAgIiIiCistICAgICAgICBiYXNlLCBleHQgPSBzZWxmLm1vZHVsZS5z cGxpdGV4dChzZWxmLm5hbWUpCistICAgICAgICByZXR1cm4gYmFzZQorLQorLSAgICBAcHJvcGVy dHkKKy0gICAgZGVmIGV4dChzZWxmKToKKy0gICAgICAgICIiIiBUaGUgZmlsZSBleHRlbnNpb24s IGZvciBleGFtcGxlIGBgJy5weSdgYC4gIiIiCistICAgICAgICBmLCBleHQgPSBzZWxmLm1vZHVs ZS5zcGxpdGV4dChzZWxmKQorLSAgICAgICAgcmV0dXJuIGV4dAorLQorLSAgICBAcHJvcGVydHkK Ky0gICAgZGVmIGRyaXZlKHNlbGYpOgorLSAgICAgICAgIiIiIFRoZSBkcml2ZSBzcGVjaWZpZXIs IGZvciBleGFtcGxlIGBgJ0M6J2BgLgorLQorLSAgICAgICAgVGhpcyBpcyBhbHdheXMgZW1wdHkg b24gc3lzdGVtcyB0aGF0IGRvbid0IHVzZSBkcml2ZSBzcGVjaWZpZXJzLgorLSAgICAgICAgIiIi CistICAgICAgICBkcml2ZSwgciA9IHNlbGYubW9kdWxlLnNwbGl0ZHJpdmUoc2VsZikKKy0gICAg ICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKGRyaXZlKQorLQorLSAgICBwYXJlbnQgPSBwcm9w ZXJ0eSgKKy0gICAgICAgIGRpcm5hbWUsIE5vbmUsIE5vbmUsCistICAgICAgICAiIiIgVGhpcyBw YXRoJ3MgcGFyZW50IGRpcmVjdG9yeSwgYXMgYSBuZXcgUGF0aCBvYmplY3QuCistCistICAgICAg ICBGb3IgZXhhbXBsZSwKKy0gICAgICAgIGBgUGF0aCgnL3Vzci9sb2NhbC9saWIvbGlicHl0aG9u LnNvJykucGFyZW50ID09CistICAgICAgICBQYXRoKCcvdXNyL2xvY2FsL2xpYicpYGAKKy0KKy0g ICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgZGlybmFtZWAsIDpmdW5jOmBvcy5wYXRoLmRpcm5h bWVgCistICAgICAgICAiIiIpCistCistICAgIG5hbWUgPSBwcm9wZXJ0eSgKKy0gICAgICAgIGJh c2VuYW1lLCBOb25lLCBOb25lLAorLSAgICAgICAgIiIiIFRoZSBuYW1lIG9mIHRoaXMgZmlsZSBv ciBkaXJlY3Rvcnkgd2l0aG91dCB0aGUgZnVsbCBwYXRoLgorLQorLSAgICAgICAgRm9yIGV4YW1w bGUsCistICAgICAgICBgYFBhdGgoJy91c3IvbG9jYWwvbGliL2xpYnB5dGhvbi5zbycpLm5hbWUg PT0gJ2xpYnB5dGhvbi5zbydgYAorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBiYXNl bmFtZWAsIDpmdW5jOmBvcy5wYXRoLmJhc2VuYW1lYAorLSAgICAgICAgIiIiKQorLQorLSAgICBk ZWYgc3BsaXRwYXRoKHNlbGYpOgorLSAgICAgICAgIiIiIHAuc3BsaXRwYXRoKCkgLT4gUmV0dXJu IGBgKHAucGFyZW50LCBwLm5hbWUpYGAuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmF0dHI6 YHBhcmVudGAsIDphdHRyOmBuYW1lYCwgOmZ1bmM6YG9zLnBhdGguc3BsaXRgCistICAgICAgICAi IiIKKy0gICAgICAgIHBhcmVudCwgY2hpbGQgPSBzZWxmLm1vZHVsZS5zcGxpdChzZWxmKQorLSAg ICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MocGFyZW50KSwgY2hpbGQKKy0KKy0gICAgZGVm IHNwbGl0ZHJpdmUoc2VsZik6CistICAgICAgICAiIiIgcC5zcGxpdGRyaXZlKCkgLT4gUmV0dXJu IGBgKHAuZHJpdmUsIDx0aGUgcmVzdCBvZiBwPilgYC4KKy0KKy0gICAgICAgIFNwbGl0IHRoZSBk cml2ZSBzcGVjaWZpZXIgZnJvbSB0aGlzIHBhdGguICBJZiB0aGVyZSBpcworLSAgICAgICAgbm8g ZHJpdmUgc3BlY2lmaWVyLCA6c2FtcDpge3AuZHJpdmV9YCBpcyBlbXB0eSwgc28gdGhlIHJldHVy biB2YWx1ZQorLSAgICAgICAgaXMgc2ltcGx5IGBgKFBhdGgoJycpLCBwKWBgLiAgVGhpcyBpcyBh bHdheXMgdGhlIGNhc2Ugb24gVW5peC4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpg b3MucGF0aC5zcGxpdGRyaXZlYAorLSAgICAgICAgIiIiCistICAgICAgICBkcml2ZSwgcmVsID0g c2VsZi5tb2R1bGUuc3BsaXRkcml2ZShzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRf Y2xhc3MoZHJpdmUpLCByZWwKKy0KKy0gICAgZGVmIHNwbGl0ZXh0KHNlbGYpOgorLSAgICAgICAg IiIiIHAuc3BsaXRleHQoKSAtPiBSZXR1cm4gYGAocC5zdHJpcGV4dCgpLCBwLmV4dClgYC4KKy0K Ky0gICAgICAgIFNwbGl0IHRoZSBmaWxlbmFtZSBleHRlbnNpb24gZnJvbSB0aGlzIHBhdGggYW5k IHJldHVybgorLSAgICAgICAgdGhlIHR3byBwYXJ0cy4gIEVpdGhlciBwYXJ0IG1heSBiZSBlbXB0 eS4KKy0KKy0gICAgICAgIFRoZSBleHRlbnNpb24gaXMgZXZlcnl0aGluZyBmcm9tIGBgJy4nYGAg dG8gdGhlIGVuZCBvZiB0aGUKKy0gICAgICAgIGxhc3QgcGF0aCBzZWdtZW50LiAgVGhpcyBoYXMg dGhlIHByb3BlcnR5IHRoYXQgaWYKKy0gICAgICAgIGBgKGEsIGIpID09IHAuc3BsaXRleHQoKWBg LCB0aGVuIGBgYSArIGIgPT0gcGBgLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBv cy5wYXRoLnNwbGl0ZXh0YAorLSAgICAgICAgIiIiCistICAgICAgICBmaWxlbmFtZSwgZXh0ID0g c2VsZi5tb2R1bGUuc3BsaXRleHQoc2VsZikKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2Ns YXNzKGZpbGVuYW1lKSwgZXh0CistCistICAgIGRlZiBzdHJpcGV4dChzZWxmKToKKy0gICAgICAg ICIiIiBwLnN0cmlwZXh0KCkgLT4gUmVtb3ZlIG9uZSBmaWxlIGV4dGVuc2lvbiBmcm9tIHRoZSBw YXRoLgorLQorLSAgICAgICAgRm9yIGV4YW1wbGUsIGBgUGF0aCgnL2hvbWUvZ3VpZG8vcHl0aG9u LnRhci5neicpLnN0cmlwZXh0KClgYAorLSAgICAgICAgcmV0dXJucyBgYFBhdGgoJy9ob21lL2d1 aWRvL3B5dGhvbi50YXInKWBgLgorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5z cGxpdGV4dCgpWzBdCistCistICAgIGRlZiBzcGxpdHVuYyhzZWxmKToKKy0gICAgICAgICIiIiAu LiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguc3BsaXR1bmNgICIiIgorLSAgICAgICAgdW5jLCBy ZXN0ID0gc2VsZi5tb2R1bGUuc3BsaXR1bmMoc2VsZikKKy0gICAgICAgIHJldHVybiBzZWxmLl9u ZXh0X2NsYXNzKHVuYyksIHJlc3QKKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiB1bmNzaGFy ZShzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgVGhlIFVOQyBtb3VudCBwb2ludCBmb3Ig dGhpcyBwYXRoLgorLSAgICAgICAgVGhpcyBpcyBlbXB0eSBmb3IgcGF0aHMgb24gbG9jYWwgZHJp dmVzLgorLSAgICAgICAgIiIiCistICAgICAgICB1bmMsIHIgPSBzZWxmLm1vZHVsZS5zcGxpdHVu YyhzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3ModW5jKQorLQorLSAgICBA bXVsdGltZXRob2QKKy0gICAgZGVmIGpvaW5wYXRoKGNscywgZmlyc3QsICpvdGhlcnMpOgorLSAg ICAgICAgIiIiCistICAgICAgICBKb2luIGZpcnN0IHRvIHplcm8gb3IgbW9yZSA6Y2xhc3M6YFBh dGhgIGNvbXBvbmVudHMsIGFkZGluZyBhIHNlcGFyYXRvcgorLSAgICAgICAgY2hhcmFjdGVyICg6 c2FtcDpge2ZpcnN0fS5tb2R1bGUuc2VwYCkgaWYgbmVlZGVkLiAgUmV0dXJucyBhIG5ldyBpbnN0 YW5jZSBvZgorLSAgICAgICAgOnNhbXA6YHtmaXJzdH0uX25leHRfY2xhc3NgLgorLQorLSAgICAg ICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLmpvaW5gCistICAgICAgICAiIiIKKy0gICAg ICAgIGlmIG5vdCBpc2luc3RhbmNlKGZpcnN0LCBjbHMpOgorLSAgICAgICAgICAgIGZpcnN0ID0g Y2xzKGZpcnN0KQorLSAgICAgICAgcmV0dXJuIGZpcnN0Ll9uZXh0X2NsYXNzKGZpcnN0Lm1vZHVs ZS5qb2luKGZpcnN0LCAqb3RoZXJzKSkKKy0KKy0gICAgZGVmIHNwbGl0YWxsKHNlbGYpOgorLSAg ICAgICAgciIiIiBSZXR1cm4gYSBsaXN0IG9mIHRoZSBwYXRoIGNvbXBvbmVudHMgaW4gdGhpcyBw YXRoLgorLQorLSAgICAgICAgVGhlIGZpcnN0IGl0ZW0gaW4gdGhlIGxpc3Qgd2lsbCBiZSBhIFBh dGguICBJdHMgdmFsdWUgd2lsbCBiZQorLSAgICAgICAgZWl0aGVyIDpkYXRhOmBvcy5jdXJkaXJg LCA6ZGF0YTpgb3MucGFyZGlyYCwgZW1wdHksIG9yIHRoZSByb290CistICAgICAgICBkaXJlY3Rv cnkgb2YgdGhpcyBwYXRoIChmb3IgZXhhbXBsZSwgYGAnLydgYCBvciBgYCdDOlxcJ2BgKS4gIFRo ZQorLSAgICAgICAgb3RoZXIgaXRlbXMgaW4gdGhlIGxpc3Qgd2lsbCBiZSBzdHJpbmdzLgorLQor LSAgICAgICAgYGBwYXRoLlBhdGguam9pbnBhdGgoKnJlc3VsdClgYCB3aWxsIHlpZWxkIHRoZSBv cmlnaW5hbCBwYXRoLgorLSAgICAgICAgIiIiCistICAgICAgICBwYXJ0cyA9IFtdCistICAgICAg ICBsb2MgPSBzZWxmCistICAgICAgICB3aGlsZSBsb2MgIT0gb3MuY3VyZGlyIGFuZCBsb2MgIT0g b3MucGFyZGlyOgorLSAgICAgICAgICAgIHByZXYgPSBsb2MKKy0gICAgICAgICAgICBsb2MsIGNo aWxkID0gcHJldi5zcGxpdHBhdGgoKQorLSAgICAgICAgICAgIGlmIGxvYyA9PSBwcmV2OgorLSAg ICAgICAgICAgICAgICBicmVhaworLSAgICAgICAgICAgIHBhcnRzLmFwcGVuZChjaGlsZCkKKy0g ICAgICAgIHBhcnRzLmFwcGVuZChsb2MpCistICAgICAgICBwYXJ0cy5yZXZlcnNlKCkKKy0gICAg ICAgIHJldHVybiBwYXJ0cworLQorLSAgICBkZWYgcmVscGF0aChzZWxmLCBzdGFydD0nLicpOgor LSAgICAgICAgIiIiIFJldHVybiB0aGlzIHBhdGggYXMgYSByZWxhdGl2ZSBwYXRoLAorLSAgICAg ICAgYmFzZWQgZnJvbSBgc3RhcnRgLCB3aGljaCBkZWZhdWx0cyB0byB0aGUgY3VycmVudCB3b3Jr aW5nIGRpcmVjdG9yeS4KKy0gICAgICAgICIiIgorLSAgICAgICAgY3dkID0gc2VsZi5fbmV4dF9j bGFzcyhzdGFydCkKKy0gICAgICAgIHJldHVybiBjd2QucmVscGF0aHRvKHNlbGYpCistCistICAg IGRlZiByZWxwYXRodG8oc2VsZiwgZGVzdCk6CistICAgICAgICAiIiIgUmV0dXJuIGEgcmVsYXRp dmUgcGF0aCBmcm9tIGBzZWxmYCB0byBgZGVzdGAuCistCistICAgICAgICBJZiB0aGVyZSBpcyBu byByZWxhdGl2ZSBwYXRoIGZyb20gYHNlbGZgIHRvIGBkZXN0YCwgZm9yIGV4YW1wbGUgaWYKKy0g ICAgICAgIHRoZXkgcmVzaWRlIG9uIGRpZmZlcmVudCBkcml2ZXMgaW4gV2luZG93cywgdGhlbiB0 aGlzIHJldHVybnMKKy0gICAgICAgIGBgZGVzdC5hYnNwYXRoKClgYC4KKy0gICAgICAgICIiIgor LSAgICAgICAgb3JpZ2luID0gc2VsZi5hYnNwYXRoKCkKKy0gICAgICAgIGRlc3QgPSBzZWxmLl9u ZXh0X2NsYXNzKGRlc3QpLmFic3BhdGgoKQorLQorLSAgICAgICAgb3JpZ19saXN0ID0gb3JpZ2lu Lm5vcm1jYXNlKCkuc3BsaXRhbGwoKQorLSAgICAgICAgIyBEb24ndCBub3JtY2FzZSBkZXN0ISAg V2Ugd2FudCB0byBwcmVzZXJ2ZSB0aGUgY2FzZS4KKy0gICAgICAgIGRlc3RfbGlzdCA9IGRlc3Qu c3BsaXRhbGwoKQorLQorLSAgICAgICAgaWYgb3JpZ19saXN0WzBdICE9IHNlbGYubW9kdWxlLm5v cm1jYXNlKGRlc3RfbGlzdFswXSk6CistICAgICAgICAgICAgIyBDYW4ndCBnZXQgaGVyZSBmcm9t IHRoZXJlLgorLSAgICAgICAgICAgIHJldHVybiBkZXN0CistCistICAgICAgICAjIEZpbmQgdGhl IGxvY2F0aW9uIHdoZXJlIHRoZSB0d28gcGF0aHMgc3RhcnQgdG8gZGlmZmVyLgorLSAgICAgICAg aSA9IDAKKy0gICAgICAgIGZvciBzdGFydF9zZWcsIGRlc3Rfc2VnIGluIHppcChvcmlnX2xpc3Qs IGRlc3RfbGlzdCk6CistICAgICAgICAgICAgaWYgc3RhcnRfc2VnICE9IHNlbGYubW9kdWxlLm5v cm1jYXNlKGRlc3Rfc2VnKToKKy0gICAgICAgICAgICAgICAgYnJlYWsKKy0gICAgICAgICAgICBp ICs9IDEKKy0KKy0gICAgICAgICMgTm93IGkgaXMgdGhlIHBvaW50IHdoZXJlIHRoZSB0d28gcGF0 aHMgZGl2ZXJnZS4KKy0gICAgICAgICMgTmVlZCBhIGNlcnRhaW4gbnVtYmVyIG9mICJvcy5wYXJk aXIicyB0byB3b3JrIHVwCistICAgICAgICAjIGZyb20gdGhlIG9yaWdpbiB0byB0aGUgcG9pbnQg b2YgZGl2ZXJnZW5jZS4KKy0gICAgICAgIHNlZ21lbnRzID0gW29zLnBhcmRpcl0gKiAobGVuKG9y aWdfbGlzdCkgLSBpKQorLSAgICAgICAgIyBOZWVkIHRvIGFkZCB0aGUgZGl2ZXJnaW5nIHBhcnQg b2YgZGVzdF9saXN0LgorLSAgICAgICAgc2VnbWVudHMgKz0gZGVzdF9saXN0W2k6XQorLSAgICAg ICAgaWYgbGVuKHNlZ21lbnRzKSA9PSAwOgorLSAgICAgICAgICAgICMgSWYgdGhleSBoYXBwZW4g dG8gYmUgaWRlbnRpY2FsLCB1c2Ugb3MuY3VyZGlyLgorLSAgICAgICAgICAgIHJlbHBhdGggPSBv cy5jdXJkaXIKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmVscGF0aCA9IHNlbGYubW9k dWxlLmpvaW4oKnNlZ21lbnRzKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MocmVs cGF0aCkKKy0KKy0gICAgIyAtLS0gTGlzdGluZywgc2VhcmNoaW5nLCB3YWxraW5nLCBhbmQgbWF0 Y2hpbmcKKy0KKy0gICAgZGVmIGxpc3RkaXIoc2VsZiwgcGF0dGVybj1Ob25lKToKKy0gICAgICAg ICIiIiBELmxpc3RkaXIoKSAtPiBMaXN0IG9mIGl0ZW1zIGluIHRoaXMgZGlyZWN0b3J5LgorLQor LSAgICAgICAgVXNlIDptZXRoOmBmaWxlc2Agb3IgOm1ldGg6YGRpcnNgIGluc3RlYWQgaWYgeW91 IHdhbnQgYSBsaXN0aW5nCistICAgICAgICBvZiBqdXN0IGZpbGVzIG9yIGp1c3Qgc3ViZGlyZWN0 b3JpZXMuCistCistICAgICAgICBUaGUgZWxlbWVudHMgb2YgdGhlIGxpc3QgYXJlIFBhdGggb2Jq ZWN0cy4KKy0KKy0gICAgICAgIFdpdGggdGhlIG9wdGlvbmFsIGBwYXR0ZXJuYCBhcmd1bWVudCwg dGhpcyBvbmx5IGxpc3RzCistICAgICAgICBpdGVtcyB3aG9zZSBuYW1lcyBtYXRjaCB0aGUgZ2l2 ZW4gcGF0dGVybi4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgZmlsZXNgLCA6bWV0 aDpgZGlyc2AKKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgcGF0dGVybiBpcyBOb25lOgorLSAg ICAgICAgICAgIHBhdHRlcm4gPSAnKicKKy0gICAgICAgIHJldHVybiBbCistICAgICAgICAgICAg c2VsZiAvIGNoaWxkCistICAgICAgICAgICAgZm9yIGNoaWxkIGluIG1hcChzZWxmLl9hbHdheXNf dW5pY29kZSwgb3MubGlzdGRpcihzZWxmKSkKKy0gICAgICAgICAgICBpZiBzZWxmLl9uZXh0X2Ns YXNzKGNoaWxkKS5mbm1hdGNoKHBhdHRlcm4pCistICAgICAgICBdCistCistICAgIGRlZiBkaXJz KHNlbGYsIHBhdHRlcm49Tm9uZSk6CistICAgICAgICAiIiIgRC5kaXJzKCkgLT4gTGlzdCBvZiB0 aGlzIGRpcmVjdG9yeSdzIHN1YmRpcmVjdG9yaWVzLgorLQorLSAgICAgICAgVGhlIGVsZW1lbnRz IG9mIHRoZSBsaXN0IGFyZSBQYXRoIG9iamVjdHMuCistICAgICAgICBUaGlzIGRvZXMgbm90IHdh bGsgcmVjdXJzaXZlbHkgaW50byBzdWJkaXJlY3RvcmllcworLSAgICAgICAgKGJ1dCBzZWUgOm1l dGg6YHdhbGtkaXJzYCkuCistCistICAgICAgICBXaXRoIHRoZSBvcHRpb25hbCBgcGF0dGVybmAg YXJndW1lbnQsIHRoaXMgb25seSBsaXN0cworLSAgICAgICAgZGlyZWN0b3JpZXMgd2hvc2UgbmFt ZXMgbWF0Y2ggdGhlIGdpdmVuIHBhdHRlcm4uICBGb3IKKy0gICAgICAgIGV4YW1wbGUsIGBgZC5k aXJzKCdidWlsZC0qJylgYC4KKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIFtwIGZvciBw IGluIHNlbGYubGlzdGRpcihwYXR0ZXJuKSBpZiBwLmlzZGlyKCldCistCistICAgIGRlZiBmaWxl cyhzZWxmLCBwYXR0ZXJuPU5vbmUpOgorLSAgICAgICAgIiIiIEQuZmlsZXMoKSAtPiBMaXN0IG9m IHRoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4KKy0KKy0gICAgICAgIFRoZSBlbGVtZW50cyBv ZiB0aGUgbGlzdCBhcmUgUGF0aCBvYmplY3RzLgorLSAgICAgICAgVGhpcyBkb2VzIG5vdCB3YWxr IGludG8gc3ViZGlyZWN0b3JpZXMgKHNlZSA6bWV0aDpgd2Fsa2ZpbGVzYCkuCistCistICAgICAg ICBXaXRoIHRoZSBvcHRpb25hbCBgcGF0dGVybmAgYXJndW1lbnQsIHRoaXMgb25seSBsaXN0cyBm aWxlcworLSAgICAgICAgd2hvc2UgbmFtZXMgbWF0Y2ggdGhlIGdpdmVuIHBhdHRlcm4uICBGb3Ig ZXhhbXBsZSwKKy0gICAgICAgIGBgZC5maWxlcygnKi5weWMnKWBgLgorLSAgICAgICAgIiIiCist CistICAgICAgICByZXR1cm4gW3AgZm9yIHAgaW4gc2VsZi5saXN0ZGlyKHBhdHRlcm4pIGlmIHAu aXNmaWxlKCldCistCistICAgIGRlZiB3YWxrKHNlbGYsIHBhdHRlcm49Tm9uZSwgZXJyb3JzPSdz dHJpY3QnKToKKy0gICAgICAgICIiIiBELndhbGsoKSAtPiBpdGVyYXRvciBvdmVyIGZpbGVzIGFu ZCBzdWJkaXJzLCByZWN1cnNpdmVseS4KKy0KKy0gICAgICAgIFRoZSBpdGVyYXRvciB5aWVsZHMg UGF0aCBvYmplY3RzIG5hbWluZyBlYWNoIGNoaWxkIGl0ZW0gb2YKKy0gICAgICAgIHRoaXMgZGly ZWN0b3J5IGFuZCBpdHMgZGVzY2VuZGFudHMuICBUaGlzIHJlcXVpcmVzIHRoYXQKKy0gICAgICAg IGBgRC5pc2RpcigpYGAuCistCistICAgICAgICBUaGlzIHBlcmZvcm1zIGEgZGVwdGgtZmlyc3Qg dHJhdmVyc2FsIG9mIHRoZSBkaXJlY3RvcnkgdHJlZS4KKy0gICAgICAgIEVhY2ggZGlyZWN0b3J5 IGlzIHJldHVybmVkIGp1c3QgYmVmb3JlIGFsbCBpdHMgY2hpbGRyZW4uCistCistICAgICAgICBU aGUgYGVycm9ycz1gIGtleXdvcmQgYXJndW1lbnQgY29udHJvbHMgYmVoYXZpb3Igd2hlbiBhbgor LSAgICAgICAgZXJyb3Igb2NjdXJzLiAgVGhlIGRlZmF1bHQgaXMgYGAnc3RyaWN0J2BgLCB3aGlj aCBjYXVzZXMgYW4KKy0gICAgICAgIGV4Y2VwdGlvbi4gIE90aGVyIGFsbG93ZWQgdmFsdWVzIGFy ZSBgYCd3YXJuJ2BgICh3aGljaAorLSAgICAgICAgcmVwb3J0cyB0aGUgZXJyb3IgdmlhIDpmdW5j OmB3YXJuaW5ncy53YXJuKClgKSwgYW5kIGBgJ2lnbm9yZSdgYC4KKy0gICAgICAgIGBlcnJvcnNg IG1heSBhbHNvIGJlIGFuIGFyYml0cmFyeSBjYWxsYWJsZSB0YWtpbmcgYSBtc2cgcGFyYW1ldGVy LgorLSAgICAgICAgIiIiCistICAgICAgICBjbGFzcyBIYW5kbGVyczoKKy0gICAgICAgICAgICBk ZWYgc3RyaWN0KG1zZyk6CistICAgICAgICAgICAgICAgIHJhaXNlCistCistICAgICAgICAgICAg ZGVmIHdhcm4obXNnKToKKy0gICAgICAgICAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIFRyZWVX YWxrV2FybmluZykKKy0KKy0gICAgICAgICAgICBkZWYgaWdub3JlKG1zZyk6CistICAgICAgICAg ICAgICAgIHBhc3MKKy0KKy0gICAgICAgIGlmIG5vdCBjYWxsYWJsZShlcnJvcnMpIGFuZCBlcnJv cnMgbm90IGluIHZhcnMoSGFuZGxlcnMpOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Io ImludmFsaWQgZXJyb3JzIHBhcmFtZXRlciIpCistICAgICAgICBlcnJvcnMgPSB2YXJzKEhhbmRs ZXJzKS5nZXQoZXJyb3JzLCBlcnJvcnMpCistCistICAgICAgICB0cnk6CistICAgICAgICAgICAg Y2hpbGRMaXN0ID0gc2VsZi5saXN0ZGlyKCkKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Cist ICAgICAgICAgICAgZXhjID0gc3lzLmV4Y19pbmZvKClbMV0KKy0gICAgICAgICAgICB0bXBsID0g IlVuYWJsZSB0byBsaXN0IGRpcmVjdG9yeSAnJShzZWxmKXMnOiAlKGV4YylzIgorLSAgICAgICAg ICAgIG1zZyA9IHRtcGwgJSBsb2NhbHMoKQorLSAgICAgICAgICAgIGVycm9ycyhtc2cpCistICAg ICAgICAgICAgcmV0dXJuCistCistICAgICAgICBmb3IgY2hpbGQgaW4gY2hpbGRMaXN0OgorLSAg ICAgICAgICAgIGlmIHBhdHRlcm4gaXMgTm9uZSBvciBjaGlsZC5mbm1hdGNoKHBhdHRlcm4pOgor LSAgICAgICAgICAgICAgICB5aWVsZCBjaGlsZAorLSAgICAgICAgICAgIHRyeToKKy0gICAgICAg ICAgICAgICAgaXNkaXIgPSBjaGlsZC5pc2RpcigpCistICAgICAgICAgICAgZXhjZXB0IEV4Y2Vw dGlvbjoKKy0gICAgICAgICAgICAgICAgZXhjID0gc3lzLmV4Y19pbmZvKClbMV0KKy0gICAgICAg ICAgICAgICAgdG1wbCA9ICJVbmFibGUgdG8gYWNjZXNzICclKGNoaWxkKXMnOiAlKGV4YylzIgor LSAgICAgICAgICAgICAgICBtc2cgPSB0bXBsICUgbG9jYWxzKCkKKy0gICAgICAgICAgICAgICAg ZXJyb3JzKG1zZykKKy0gICAgICAgICAgICAgICAgaXNkaXIgPSBGYWxzZQorLQorLSAgICAgICAg ICAgIGlmIGlzZGlyOgorLSAgICAgICAgICAgICAgICBmb3IgaXRlbSBpbiBjaGlsZC53YWxrKHBh dHRlcm4sIGVycm9ycyk6CistICAgICAgICAgICAgICAgICAgICB5aWVsZCBpdGVtCistCistICAg IGRlZiB3YWxrZGlycyhzZWxmLCBwYXR0ZXJuPU5vbmUsIGVycm9ycz0nc3RyaWN0Jyk6CistICAg ICAgICAiIiIgRC53YWxrZGlycygpIC0+IGl0ZXJhdG9yIG92ZXIgc3ViZGlycywgcmVjdXJzaXZl bHkuCistCistICAgICAgICBXaXRoIHRoZSBvcHRpb25hbCBgcGF0dGVybmAgYXJndW1lbnQsIHRo aXMgeWllbGRzIG9ubHkKKy0gICAgICAgIGRpcmVjdG9yaWVzIHdob3NlIG5hbWVzIG1hdGNoIHRo ZSBnaXZlbiBwYXR0ZXJuLiAgRm9yCistICAgICAgICBleGFtcGxlLCBgYG15ZGlyLndhbGtkaXJz KCcqdGVzdCcpYGAgeWllbGRzIG9ubHkgZGlyZWN0b3JpZXMKKy0gICAgICAgIHdpdGggbmFtZXMg ZW5kaW5nIGluIGBgJ3Rlc3QnYGAuCistCistICAgICAgICBUaGUgYGVycm9ycz1gIGtleXdvcmQg YXJndW1lbnQgY29udHJvbHMgYmVoYXZpb3Igd2hlbiBhbgorLSAgICAgICAgZXJyb3Igb2NjdXJz LiAgVGhlIGRlZmF1bHQgaXMgYGAnc3RyaWN0J2BgLCB3aGljaCBjYXVzZXMgYW4KKy0gICAgICAg IGV4Y2VwdGlvbi4gIFRoZSBvdGhlciBhbGxvd2VkIHZhbHVlcyBhcmUgYGAnd2FybidgYCAod2hp Y2gKKy0gICAgICAgIHJlcG9ydHMgdGhlIGVycm9yIHZpYSA6ZnVuYzpgd2FybmluZ3Mud2Fybigp YCksIGFuZCBgYCdpZ25vcmUnYGAuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGVycm9ycyBu b3QgaW4gKCdzdHJpY3QnLCAnd2FybicsICdpZ25vcmUnKToKKy0gICAgICAgICAgICByYWlzZSBW YWx1ZUVycm9yKCJpbnZhbGlkIGVycm9ycyBwYXJhbWV0ZXIiKQorLQorLSAgICAgICAgdHJ5Ogor LSAgICAgICAgICAgIGRpcnMgPSBzZWxmLmRpcnMoKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlv bjoKKy0gICAgICAgICAgICBpZiBlcnJvcnMgPT0gJ2lnbm9yZSc6CistICAgICAgICAgICAgICAg IHJldHVybgorLSAgICAgICAgICAgIGVsaWYgZXJyb3JzID09ICd3YXJuJzoKKy0gICAgICAgICAg ICAgICAgd2FybmluZ3Mud2FybigKKy0gICAgICAgICAgICAgICAgICAgICJVbmFibGUgdG8gbGlz dCBkaXJlY3RvcnkgJyVzJzogJXMiCistICAgICAgICAgICAgICAgICAgICAlIChzZWxmLCBzeXMu ZXhjX2luZm8oKVsxXSksCistICAgICAgICAgICAgICAgICAgICBUcmVlV2Fsa1dhcm5pbmcpCist ICAgICAgICAgICAgICAgIHJldHVybgorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAg ICAgIHJhaXNlCistCistICAgICAgICBmb3IgY2hpbGQgaW4gZGlyczoKKy0gICAgICAgICAgICBp ZiBwYXR0ZXJuIGlzIE5vbmUgb3IgY2hpbGQuZm5tYXRjaChwYXR0ZXJuKToKKy0gICAgICAgICAg ICAgICAgeWllbGQgY2hpbGQKKy0gICAgICAgICAgICBmb3Igc3Vic3ViZGlyIGluIGNoaWxkLndh bGtkaXJzKHBhdHRlcm4sIGVycm9ycyk6CistICAgICAgICAgICAgICAgIHlpZWxkIHN1YnN1YmRp cgorLQorLSAgICBkZWYgd2Fsa2ZpbGVzKHNlbGYsIHBhdHRlcm49Tm9uZSwgZXJyb3JzPSdzdHJp Y3QnKToKKy0gICAgICAgICIiIiBELndhbGtmaWxlcygpIC0+IGl0ZXJhdG9yIG92ZXIgZmlsZXMg aW4gRCwgcmVjdXJzaXZlbHkuCistCistICAgICAgICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgYHBh dHRlcm5gIGxpbWl0cyB0aGUgcmVzdWx0cyB0byBmaWxlcworLSAgICAgICAgd2l0aCBuYW1lcyB0 aGF0IG1hdGNoIHRoZSBwYXR0ZXJuLiAgRm9yIGV4YW1wbGUsCistICAgICAgICBgYG15ZGlyLndh bGtmaWxlcygnKi50bXAnKWBgIHlpZWxkcyBvbmx5IGZpbGVzIHdpdGggdGhlIGBgLnRtcGBgCist ICAgICAgICBleHRlbnNpb24uCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGVycm9ycyBub3Qg aW4gKCdzdHJpY3QnLCAnd2FybicsICdpZ25vcmUnKToKKy0gICAgICAgICAgICByYWlzZSBWYWx1 ZUVycm9yKCJpbnZhbGlkIGVycm9ycyBwYXJhbWV0ZXIiKQorLQorLSAgICAgICAgdHJ5OgorLSAg ICAgICAgICAgIGNoaWxkTGlzdCA9IHNlbGYubGlzdGRpcigpCistICAgICAgICBleGNlcHQgRXhj ZXB0aW9uOgorLSAgICAgICAgICAgIGlmIGVycm9ycyA9PSAnaWdub3JlJzoKKy0gICAgICAgICAg ICAgICAgcmV0dXJuCistICAgICAgICAgICAgZWxpZiBlcnJvcnMgPT0gJ3dhcm4nOgorLSAgICAg ICAgICAgICAgICB3YXJuaW5ncy53YXJuKAorLSAgICAgICAgICAgICAgICAgICAgIlVuYWJsZSB0 byBsaXN0IGRpcmVjdG9yeSAnJXMnOiAlcyIKKy0gICAgICAgICAgICAgICAgICAgICUgKHNlbGYs IHN5cy5leGNfaW5mbygpWzFdKSwKKy0gICAgICAgICAgICAgICAgICAgIFRyZWVXYWxrV2Fybmlu ZykKKy0gICAgICAgICAgICAgICAgcmV0dXJuCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAg ICAgICAgICAgcmFpc2UKKy0KKy0gICAgICAgIGZvciBjaGlsZCBpbiBjaGlsZExpc3Q6CistICAg ICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBpc2ZpbGUgPSBjaGlsZC5pc2ZpbGUoKQor LSAgICAgICAgICAgICAgICBpc2RpciA9IG5vdCBpc2ZpbGUgYW5kIGNoaWxkLmlzZGlyKCkKKy0g ICAgICAgICAgICBleGNlcHQ6CistICAgICAgICAgICAgICAgIGlmIGVycm9ycyA9PSAnaWdub3Jl JzoKKy0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgICAgIGVsaWYg ZXJyb3JzID09ICd3YXJuJzoKKy0gICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oCist ICAgICAgICAgICAgICAgICAgICAgICAgIlVuYWJsZSB0byBhY2Nlc3MgJyVzJzogJXMiCistICAg ICAgICAgICAgICAgICAgICAgICAgJSAoc2VsZiwgc3lzLmV4Y19pbmZvKClbMV0pLAorLSAgICAg ICAgICAgICAgICAgICAgICAgIFRyZWVXYWxrV2FybmluZykKKy0gICAgICAgICAgICAgICAgICAg IGNvbnRpbnVlCistICAgICAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgICAgICBy YWlzZQorLQorLSAgICAgICAgICAgIGlmIGlzZmlsZToKKy0gICAgICAgICAgICAgICAgaWYgcGF0 dGVybiBpcyBOb25lIG9yIGNoaWxkLmZubWF0Y2gocGF0dGVybik6CistICAgICAgICAgICAgICAg ICAgICB5aWVsZCBjaGlsZAorLSAgICAgICAgICAgIGVsaWYgaXNkaXI6CistICAgICAgICAgICAg ICAgIGZvciBmIGluIGNoaWxkLndhbGtmaWxlcyhwYXR0ZXJuLCBlcnJvcnMpOgorLSAgICAgICAg ICAgICAgICAgICAgeWllbGQgZgorLQorLSAgICBkZWYgZm5tYXRjaChzZWxmLCBwYXR0ZXJuLCBu b3JtY2FzZT1Ob25lKToKKy0gICAgICAgICIiIiBSZXR1cm4gYGBUcnVlYGAgaWYgYHNlbGYubmFt ZWAgbWF0Y2hlcyB0aGUgZ2l2ZW4gYHBhdHRlcm5gLgorLQorLSAgICAgICAgYHBhdHRlcm5gIC0g QSBmaWxlbmFtZSBwYXR0ZXJuIHdpdGggd2lsZGNhcmRzLAorLSAgICAgICAgICAgIGZvciBleGFt cGxlIGBgJyoucHknYGAuIElmIHRoZSBwYXR0ZXJuIGNvbnRhaW5zIGEgYG5vcm1jYXNlYAorLSAg ICAgICAgICAgIGF0dHJpYnV0ZSwgaXQgaXMgYXBwbGllZCB0byB0aGUgbmFtZSBhbmQgcGF0aCBw cmlvciB0byBjb21wYXJpc29uLgorLQorLSAgICAgICAgYG5vcm1jYXNlYCAtIChvcHRpb25hbCkg QSBmdW5jdGlvbiB1c2VkIHRvIG5vcm1hbGl6ZSB0aGUgcGF0dGVybiBhbmQKKy0gICAgICAgICAg ICBmaWxlbmFtZSBiZWZvcmUgbWF0Y2hpbmcuIERlZmF1bHRzIHRvIDptZXRoOmBzZWxmLm1vZHVs ZWAsIHdoaWNoIGRlZmF1bHRzCistICAgICAgICAgICAgdG8gOm1ldGg6YG9zLnBhdGgubm9ybWNh c2VgLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBmbm1hdGNoLmZubWF0Y2hgCist ICAgICAgICAiIiIKKy0gICAgICAgIGRlZmF1bHRfbm9ybWNhc2UgPSBnZXRhdHRyKHBhdHRlcm4s ICdub3JtY2FzZScsIHNlbGYubW9kdWxlLm5vcm1jYXNlKQorLSAgICAgICAgbm9ybWNhc2UgPSBu b3JtY2FzZSBvciBkZWZhdWx0X25vcm1jYXNlCistICAgICAgICBuYW1lID0gbm9ybWNhc2Uoc2Vs Zi5uYW1lKQorLSAgICAgICAgcGF0dGVybiA9IG5vcm1jYXNlKHBhdHRlcm4pCistICAgICAgICBy ZXR1cm4gZm5tYXRjaC5mbm1hdGNoY2FzZShuYW1lLCBwYXR0ZXJuKQorLQorLSAgICBkZWYgZ2xv YihzZWxmLCBwYXR0ZXJuKToKKy0gICAgICAgICIiIiBSZXR1cm4gYSBsaXN0IG9mIFBhdGggb2Jq ZWN0cyB0aGF0IG1hdGNoIHRoZSBwYXR0ZXJuLgorLQorLSAgICAgICAgYHBhdHRlcm5gIC0gYSBw YXRoIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LCB3aXRoIHdpbGRjYXJkcy4KKy0KKy0gICAg ICAgIEZvciBleGFtcGxlLCBgYFBhdGgoJy91c2VycycpLmdsb2IoJyovYmluLyonKWBgIHJldHVy bnMgYSBsaXN0CistICAgICAgICBvZiBhbGwgdGhlIGZpbGVzIHVzZXJzIGhhdmUgaW4gdGhlaXIg OmZpbGU6YGJpbmAgZGlyZWN0b3JpZXMuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6 YGdsb2IuZ2xvYmAKKy0gICAgICAgICIiIgorLSAgICAgICAgY2xzID0gc2VsZi5fbmV4dF9jbGFz cworLSAgICAgICAgcmV0dXJuIFtjbHMocykgZm9yIHMgaW4gZ2xvYi5nbG9iKHNlbGYgLyBwYXR0 ZXJuKV0KKy0KKy0gICAgIworLSAgICAjIC0tLSBSZWFkaW5nIG9yIHdyaXRpbmcgYW4gZW50aXJl IGZpbGUgYXQgb25jZS4KKy0KKy0gICAgZGVmIG9wZW4oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToK Ky0gICAgICAgICIiIiBPcGVuIHRoaXMgZmlsZSBhbmQgcmV0dXJuIGEgY29ycmVzcG9uZGluZyA6 Y2xhc3M6YGZpbGVgIG9iamVjdC4KKy0KKy0gICAgICAgIEtleXdvcmQgYXJndW1lbnRzIHdvcmsg YXMgaW4gOmZ1bmM6YGlvLm9wZW5gLiAgSWYgdGhlIGZpbGUgY2Fubm90IGJlCistICAgICAgICBv cGVuZWQsIGFuIDpjbGFzczpgfmV4Y2VwdGlvbnMuT1NFcnJvcmAgaXMgcmFpc2VkLgorLSAgICAg ICAgIiIiCistICAgICAgICB3aXRoIGlvX2Vycm9yX2NvbXBhdCgpOgorLSAgICAgICAgICAgIHJl dHVybiBpby5vcGVuKHNlbGYsICphcmdzLCAqKmt3YXJncykKKy0KKy0gICAgZGVmIGJ5dGVzKHNl bGYpOgorLSAgICAgICAgIiIiIE9wZW4gdGhpcyBmaWxlLCByZWFkIGFsbCBieXRlcywgcmV0dXJu IHRoZW0gYXMgYSBzdHJpbmcuICIiIgorLSAgICAgICAgd2l0aCBzZWxmLm9wZW4oJ3JiJykgYXMg ZjoKKy0gICAgICAgICAgICByZXR1cm4gZi5yZWFkKCkKKy0KKy0gICAgZGVmIGNodW5rcyhzZWxm LCBzaXplLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgIiIiIFJldHVybnMgYSBnZW5lcmF0 b3IgeWllbGRpbmcgY2h1bmtzIG9mIHRoZSBmaWxlLCBzbyBpdCBjYW4KKy0gICAgICAgICAgICBi ZSByZWFkIHBpZWNlIGJ5IHBpZWNlIHdpdGggYSBzaW1wbGUgZm9yIGxvb3AuCistCistICAgICAg ICAgICBBbnkgYXJndW1lbnQgeW91IHBhc3MgYWZ0ZXIgYHNpemVgIHdpbGwgYmUgcGFzc2VkIHRv IDptZXRoOmBvcGVuYC4KKy0KKy0gICAgICAgICAgIDpleGFtcGxlOgorLQorLSAgICAgICAgICAg ICAgID4+PiBoYXNoID0gaGFzaGxpYi5tZDUoKQorLSAgICAgICAgICAgICAgID4+PiBmb3IgY2h1 bmsgaW4gUGF0aCgicGF0aC5weSIpLmNodW5rcyg4MTkyLCBtb2RlPSdyYicpOgorLSAgICAgICAg ICAgICAgIC4uLiAgICAgaGFzaC51cGRhdGUoY2h1bmspCistCistICAgICAgICAgICAgVGhpcyB3 aWxsIHJlYWQgdGhlIGZpbGUgYnkgY2h1bmtzIG9mIDgxOTIgYnl0ZXMuCistICAgICAgICAiIiIK Ky0gICAgICAgIHdpdGggc2VsZi5vcGVuKCphcmdzLCAqKmt3YXJncykgYXMgZjoKKy0gICAgICAg ICAgICBmb3IgY2h1bmsgaW4gaXRlcihsYW1iZGE6IGYucmVhZChzaXplKSBvciBOb25lLCBOb25l KToKKy0gICAgICAgICAgICAgICAgeWllbGQgY2h1bmsKKy0KKy0gICAgZGVmIHdyaXRlX2J5dGVz KHNlbGYsIGJ5dGVzLCBhcHBlbmQ9RmFsc2UpOgorLSAgICAgICAgIiIiIE9wZW4gdGhpcyBmaWxl IGFuZCB3cml0ZSB0aGUgZ2l2ZW4gYnl0ZXMgdG8gaXQuCistCistICAgICAgICBEZWZhdWx0IGJl aGF2aW9yIGlzIHRvIG92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgZmlsZS4KKy0gICAgICAgIENhbGwg YGBwLndyaXRlX2J5dGVzKGJ5dGVzLCBhcHBlbmQ9VHJ1ZSlgYCB0byBhcHBlbmQgaW5zdGVhZC4K Ky0gICAgICAgICIiIgorLSAgICAgICAgaWYgYXBwZW5kOgorLSAgICAgICAgICAgIG1vZGUgPSAn YWInCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIG1vZGUgPSAnd2InCistICAgICAgICB3 aXRoIHNlbGYub3Blbihtb2RlKSBhcyBmOgorLSAgICAgICAgICAgIGYud3JpdGUoYnl0ZXMpCist CistICAgIGRlZiB0ZXh0KHNlbGYsIGVuY29kaW5nPU5vbmUsIGVycm9ycz0nc3RyaWN0Jyk6Cist ICAgICAgICByIiIiIE9wZW4gdGhpcyBmaWxlLCByZWFkIGl0IGluLCByZXR1cm4gdGhlIGNvbnRl bnQgYXMgYSBzdHJpbmcuCistCistICAgICAgICBBbGwgbmV3bGluZSBzZXF1ZW5jZXMgYXJlIGNv bnZlcnRlZCB0byBgYCdcbidgYC4gIEtleXdvcmQgYXJndW1lbnRzCistICAgICAgICB3aWxsIGJl IHBhc3NlZCB0byA6bWV0aDpgb3BlbmAuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6 YGxpbmVzYAorLSAgICAgICAgIiIiCistICAgICAgICB3aXRoIHNlbGYub3Blbihtb2RlPSdyJywg ZW5jb2Rpbmc9ZW5jb2RpbmcsIGVycm9ycz1lcnJvcnMpIGFzIGY6CistICAgICAgICAgICAgcmV0 dXJuIFVfTkVXTElORS5zdWIoJ1xuJywgZi5yZWFkKCkpCistCistICAgIGRlZiB3cml0ZV90ZXh0 KHNlbGYsIHRleHQsIGVuY29kaW5nPU5vbmUsIGVycm9ycz0nc3RyaWN0JywKKy0gICAgICAgICAg ICAgICAgICAgbGluZXNlcD1vcy5saW5lc2VwLCBhcHBlbmQ9RmFsc2UpOgorLSAgICAgICAgciIi IiBXcml0ZSB0aGUgZ2l2ZW4gdGV4dCB0byB0aGlzIGZpbGUuCistCistICAgICAgICBUaGUgZGVm YXVsdCBiZWhhdmlvciBpcyB0byBvdmVyd3JpdGUgYW55IGV4aXN0aW5nIGZpbGU7CistICAgICAg ICB0byBhcHBlbmQgaW5zdGVhZCwgdXNlIHRoZSBgYXBwZW5kPVRydWVgIGtleXdvcmQgYXJndW1l bnQuCistCistICAgICAgICBUaGVyZSBhcmUgdHdvIGRpZmZlcmVuY2VzIGJldHdlZW4gOm1ldGg6 YHdyaXRlX3RleHRgIGFuZAorLSAgICAgICAgOm1ldGg6YHdyaXRlX2J5dGVzYDogbmV3bGluZSBo YW5kbGluZyBhbmQgVW5pY29kZSBoYW5kbGluZy4KKy0gICAgICAgIFNlZSBiZWxvdy4KKy0KKy0g ICAgICAgIFBhcmFtZXRlcnM6CistCistICAgICAgICAgIGB0ZXh0YCAtIHN0ci91bmljb2RlIC0g VGhlIHRleHQgdG8gYmUgd3JpdHRlbi4KKy0KKy0gICAgICAgICAgYGVuY29kaW5nYCAtIHN0ciAt IFRoZSBVbmljb2RlIGVuY29kaW5nIHRoYXQgd2lsbCBiZSB1c2VkLgorLSAgICAgICAgICAgICAg VGhpcyBpcyBpZ25vcmVkIGlmIGB0ZXh0YCBpc24ndCBhIFVuaWNvZGUgc3RyaW5nLgorLQorLSAg ICAgICAgICBgZXJyb3JzYCAtIHN0ciAtIEhvdyB0byBoYW5kbGUgVW5pY29kZSBlbmNvZGluZyBl cnJvcnMuCistICAgICAgICAgICAgICBEZWZhdWx0IGlzIGBgJ3N0cmljdCdgYC4gIFNlZSBgYGhl bHAodW5pY29kZS5lbmNvZGUpYGAgZm9yIHRoZQorLSAgICAgICAgICAgICAgb3B0aW9ucy4gIFRo aXMgaXMgaWdub3JlZCBpZiBgdGV4dGAgaXNuJ3QgYSBVbmljb2RlCistICAgICAgICAgICAgICBz dHJpbmcuCistCistICAgICAgICAgIGBsaW5lc2VwYCAtIGtleXdvcmQgYXJndW1lbnQgLSBzdHIv dW5pY29kZSAtIFRoZSBzZXF1ZW5jZSBvZgorLSAgICAgICAgICAgICAgY2hhcmFjdGVycyB0byBi ZSB1c2VkIHRvIG1hcmsgZW5kLW9mLWxpbmUuICBUaGUgZGVmYXVsdCBpcworLSAgICAgICAgICAg ICAgOmRhdGE6YG9zLmxpbmVzZXBgLiAgWW91IGNhbiBhbHNvIHNwZWNpZnkgYGBOb25lYGAgdG8K Ky0gICAgICAgICAgICAgIGxlYXZlIGFsbCBuZXdsaW5lcyBhcyB0aGV5IGFyZSBpbiBgdGV4dGAu CistCistICAgICAgICAgIGBhcHBlbmRgIC0ga2V5d29yZCBhcmd1bWVudCAtIGJvb2wgLSBTcGVj aWZpZXMgd2hhdCB0byBkbyBpZgorLSAgICAgICAgICAgICAgdGhlIGZpbGUgYWxyZWFkeSBleGlz dHMgKGBgVHJ1ZWBgOiBhcHBlbmQgdG8gdGhlIGVuZCBvZiBpdDsKKy0gICAgICAgICAgICAgIGBg RmFsc2VgYDogb3ZlcndyaXRlIGl0LikgIFRoZSBkZWZhdWx0IGlzIGBgRmFsc2VgYC4KKy0KKy0K Ky0gICAgICAgIC0tLSBOZXdsaW5lIGhhbmRsaW5nLgorLQorLSAgICAgICAgYGB3cml0ZV90ZXh0 KClgYCBjb252ZXJ0cyBhbGwgc3RhbmRhcmQgZW5kLW9mLWxpbmUgc2VxdWVuY2VzCistICAgICAg ICAoYGAnXG4nYGAsIGBgJ1xyJ2BgLCBhbmQgYGAnXHJcbidgYCkgdG8geW91ciBwbGF0Zm9ybSdz IGRlZmF1bHQKKy0gICAgICAgIGVuZC1vZi1saW5lIHNlcXVlbmNlIChzZWUgOmRhdGE6YG9zLmxp bmVzZXBgOyBvbiBXaW5kb3dzLCBmb3IgZXhhbXBsZSwKKy0gICAgICAgIHRoZSBlbmQtb2YtbGlu ZSBtYXJrZXIgaXMgYGAnXHJcbidgYCkuCistCistICAgICAgICBJZiB5b3UgZG9uJ3QgbGlrZSB5 b3VyIHBsYXRmb3JtJ3MgZGVmYXVsdCwgeW91IGNhbiBvdmVycmlkZSBpdAorLSAgICAgICAgdXNp bmcgdGhlIGBsaW5lc2VwPWAga2V5d29yZCBhcmd1bWVudC4gIElmIHlvdSBzcGVjaWZpY2FsbHkg d2FudAorLSAgICAgICAgYGB3cml0ZV90ZXh0KClgYCB0byBwcmVzZXJ2ZSB0aGUgbmV3bGluZXMg YXMtaXMsIHVzZSBgYGxpbmVzZXA9Tm9uZWBgLgorLQorLSAgICAgICAgVGhpcyBhcHBsaWVzIHRv IFVuaWNvZGUgdGV4dCB0aGUgc2FtZSBhcyB0byA4LWJpdCB0ZXh0LCBleGNlcHQKKy0gICAgICAg IHRoZXJlIGFyZSB0aHJlZSBhZGRpdGlvbmFsIHN0YW5kYXJkIFVuaWNvZGUgZW5kLW9mLWxpbmUg c2VxdWVuY2VzOgorLSAgICAgICAgYGB1J1x4ODUnYGAsIGBgdSdcclx4ODUnYGAsIGFuZCBgYHUn XHUyMDI4J2BgLgorLQorLSAgICAgICAgKFRoaXMgaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20g d2hlbiB5b3Ugb3BlbiBhIGZpbGUgZm9yCistICAgICAgICB3cml0aW5nIHdpdGggYGBmb3Blbihm aWxlbmFtZSwgInciKWBgIGluIEMgb3IgYGBvcGVuKGZpbGVuYW1lLCAndycpYGAKKy0gICAgICAg IGluIFB5dGhvbi4pCistCistCistICAgICAgICAtLS0gVW5pY29kZQorLQorLSAgICAgICAgSWYg YHRleHRgIGlzbid0IFVuaWNvZGUsIHRoZW4gYXBhcnQgZnJvbSBuZXdsaW5lIGhhbmRsaW5nLCB0 aGUKKy0gICAgICAgIGJ5dGVzIGFyZSB3cml0dGVuIHZlcmJhdGltIHRvIHRoZSBmaWxlLiAgVGhl IGBlbmNvZGluZ2AgYW5kCistICAgICAgICBgZXJyb3JzYCBhcmd1bWVudHMgYXJlIG5vdCB1c2Vk IGFuZCBtdXN0IGJlIG9taXR0ZWQuCistCistICAgICAgICBJZiBgdGV4dGAgaXMgVW5pY29kZSwg aXQgaXMgZmlyc3QgY29udmVydGVkIHRvIDpmdW5jOmBieXRlc2AgdXNpbmcgdGhlCistICAgICAg ICBzcGVjaWZpZWQgYGVuY29kaW5nYCAob3IgdGhlIGRlZmF1bHQgZW5jb2RpbmcgaWYgYGVuY29k aW5nYAorLSAgICAgICAgaXNuJ3Qgc3BlY2lmaWVkKS4gIFRoZSBgZXJyb3JzYCBhcmd1bWVudCBh cHBsaWVzIG9ubHkgdG8gdGhpcworLSAgICAgICAgY29udmVyc2lvbi4KKy0KKy0gICAgICAgICIi IgorLSAgICAgICAgaWYgaXNpbnN0YW5jZSh0ZXh0LCB0ZXh0X3R5cGUpOgorLSAgICAgICAgICAg IGlmIGxpbmVzZXAgaXMgbm90IE5vbmU6CistICAgICAgICAgICAgICAgIHRleHQgPSBVX05FV0xJ TkUuc3ViKGxpbmVzZXAsIHRleHQpCistICAgICAgICAgICAgdGV4dCA9IHRleHQuZW5jb2RlKGVu Y29kaW5nIG9yIHN5cy5nZXRkZWZhdWx0ZW5jb2RpbmcoKSwgZXJyb3JzKQorLSAgICAgICAgZWxz ZToKKy0gICAgICAgICAgICBhc3NlcnQgZW5jb2RpbmcgaXMgTm9uZQorLSAgICAgICAgICAgIHRl eHQgPSBORVdMSU5FLnN1YihsaW5lc2VwLCB0ZXh0KQorLSAgICAgICAgc2VsZi53cml0ZV9ieXRl cyh0ZXh0LCBhcHBlbmQ9YXBwZW5kKQorLQorLSAgICBkZWYgbGluZXMoc2VsZiwgZW5jb2Rpbmc9 Tm9uZSwgZXJyb3JzPSdzdHJpY3QnLCByZXRhaW49VHJ1ZSk6CistICAgICAgICByIiIiIE9wZW4g dGhpcyBmaWxlLCByZWFkIGFsbCBsaW5lcywgcmV0dXJuIHRoZW0gaW4gYSBsaXN0LgorLQorLSAg ICAgICAgT3B0aW9uYWwgYXJndW1lbnRzOgorLSAgICAgICAgICAgIGBlbmNvZGluZ2AgLSBUaGUg VW5pY29kZSBlbmNvZGluZyAob3IgY2hhcmFjdGVyIHNldCkgb2YKKy0gICAgICAgICAgICAgICAg dGhlIGZpbGUuICBUaGUgZGVmYXVsdCBpcyBgYE5vbmVgYCwgbWVhbmluZyB0aGUgY29udGVudAor LSAgICAgICAgICAgICAgICBvZiB0aGUgZmlsZSBpcyByZWFkIGFzIDgtYml0IGNoYXJhY3RlcnMg YW5kIHJldHVybmVkCistICAgICAgICAgICAgICAgIGFzIGEgbGlzdCBvZiAobm9uLVVuaWNvZGUp IHN0ciBvYmplY3RzLgorLSAgICAgICAgICAgIGBlcnJvcnNgIC0gSG93IHRvIGhhbmRsZSBVbmlj b2RlIGVycm9yczsgc2VlIGhlbHAoc3RyLmRlY29kZSkKKy0gICAgICAgICAgICAgICAgZm9yIHRo ZSBvcHRpb25zLiAgRGVmYXVsdCBpcyBgYCdzdHJpY3QnYGAuCistICAgICAgICAgICAgYHJldGFp bmAgLSBJZiBgYFRydWVgYCwgcmV0YWluIG5ld2xpbmUgY2hhcmFjdGVyczsgYnV0IGFsbCBuZXds aW5lCistICAgICAgICAgICAgICAgIGNoYXJhY3RlciBjb21iaW5hdGlvbnMgKGBgJ1xyJ2BgLCBg YCdcbidgYCwgYGAnXHJcbidgYCkgYXJlCistICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWQgdG8g YGAnXG4nYGAuICBJZiBgYEZhbHNlYGAsIG5ld2xpbmUgY2hhcmFjdGVycyBhcmUKKy0gICAgICAg ICAgICAgICAgc3RyaXBwZWQgb2ZmLiAgRGVmYXVsdCBpcyBgYFRydWVgYC4KKy0KKy0gICAgICAg IFRoaXMgdXNlcyBgYCdVJ2BgIG1vZGUuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6 YHRleHRgCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGVuY29kaW5nIGlzIE5vbmUgYW5kIHJl dGFpbjoKKy0gICAgICAgICAgICB3aXRoIHNlbGYub3BlbignVScpIGFzIGY6CistICAgICAgICAg ICAgICAgIHJldHVybiBmLnJlYWRsaW5lcygpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAg IHJldHVybiBzZWxmLnRleHQoZW5jb2RpbmcsIGVycm9ycykuc3BsaXRsaW5lcyhyZXRhaW4pCist CistICAgIGRlZiB3cml0ZV9saW5lcyhzZWxmLCBsaW5lcywgZW5jb2Rpbmc9Tm9uZSwgZXJyb3Jz PSdzdHJpY3QnLAorLSAgICAgICAgICAgICAgICAgICAgbGluZXNlcD1vcy5saW5lc2VwLCBhcHBl bmQ9RmFsc2UpOgorLSAgICAgICAgciIiIiBXcml0ZSB0aGUgZ2l2ZW4gbGluZXMgb2YgdGV4dCB0 byB0aGlzIGZpbGUuCistCistICAgICAgICBCeSBkZWZhdWx0IHRoaXMgb3ZlcndyaXRlcyBhbnkg ZXhpc3RpbmcgZmlsZSBhdCB0aGlzIHBhdGguCistCistICAgICAgICBUaGlzIHB1dHMgYSBwbGF0 Zm9ybS1zcGVjaWZpYyBuZXdsaW5lIHNlcXVlbmNlIG9uIGV2ZXJ5IGxpbmUuCistICAgICAgICBT ZWUgYGxpbmVzZXBgIGJlbG93LgorLQorLSAgICAgICAgICAgIGBsaW5lc2AgLSBBIGxpc3Qgb2Yg c3RyaW5ncy4KKy0KKy0gICAgICAgICAgICBgZW5jb2RpbmdgIC0gQSBVbmljb2RlIGVuY29kaW5n IHRvIHVzZS4gIFRoaXMgYXBwbGllcyBvbmx5IGlmCistICAgICAgICAgICAgICAgIGBsaW5lc2Ag Y29udGFpbnMgYW55IFVuaWNvZGUgc3RyaW5ncy4KKy0KKy0gICAgICAgICAgICBgZXJyb3JzYCAt IEhvdyB0byBoYW5kbGUgZXJyb3JzIGluIFVuaWNvZGUgZW5jb2RpbmcuICBUaGlzCistICAgICAg ICAgICAgICAgIGFsc28gYXBwbGllcyBvbmx5IHRvIFVuaWNvZGUgc3RyaW5ncy4KKy0KKy0gICAg ICAgICAgICBsaW5lc2VwIC0gVGhlIGRlc2lyZWQgbGluZS1lbmRpbmcuICBUaGlzIGxpbmUtZW5k aW5nIGlzCistICAgICAgICAgICAgICAgIGFwcGxpZWQgdG8gZXZlcnkgbGluZS4gIElmIGEgbGlu ZSBhbHJlYWR5IGhhcyBhbnkKKy0gICAgICAgICAgICAgICAgc3RhbmRhcmQgbGluZSBlbmRpbmcg KGBgJ1xyJ2BgLCBgYCdcbidgYCwgYGAnXHJcbidgYCwKKy0gICAgICAgICAgICAgICAgYGB1J1x4 ODUnYGAsIGBgdSdcclx4ODUnYGAsIGBgdSdcdTIwMjgnYGApLCB0aGF0IHdpbGwKKy0gICAgICAg ICAgICAgICAgYmUgc3RyaXBwZWQgb2ZmIGFuZCB0aGlzIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLiAg VGhlCistICAgICAgICAgICAgICAgIGRlZmF1bHQgaXMgb3MubGluZXNlcCwgd2hpY2ggaXMgcGxh dGZvcm0tZGVwZW5kZW50CistICAgICAgICAgICAgICAgIChgYCdcclxuJ2BgIG9uIFdpbmRvd3Ms IGBgJ1xuJ2BgIG9uIFVuaXgsIGV0Yy4pLgorLSAgICAgICAgICAgICAgICBTcGVjaWZ5IGBgTm9u ZWBgIHRvIHdyaXRlIHRoZSBsaW5lcyBhcy1pcywgbGlrZQorLSAgICAgICAgICAgICAgICA6bWV0 aDpgZmlsZS53cml0ZWxpbmVzYC4KKy0KKy0gICAgICAgIFVzZSB0aGUga2V5d29yZCBhcmd1bWVu dCBgYGFwcGVuZD1UcnVlYGAgdG8gYXBwZW5kIGxpbmVzIHRvIHRoZQorLSAgICAgICAgZmlsZS4g IFRoZSBkZWZhdWx0IGlzIHRvIG92ZXJ3cml0ZSB0aGUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHdh cm5pbmcgOjoKKy0KKy0gICAgICAgICAgICBXaGVuIHlvdSB1c2UgdGhpcyB3aXRoIFVuaWNvZGUg ZGF0YSwgaWYgdGhlIGVuY29kaW5nIG9mIHRoZQorLSAgICAgICAgICAgIGV4aXN0aW5nIGRhdGEg aW4gdGhlIGZpbGUgaXMgZGlmZmVyZW50IGZyb20gdGhlIGVuY29kaW5nCistICAgICAgICAgICAg eW91IHNwZWNpZnkgd2l0aCB0aGUgYGVuY29kaW5nPWAgcGFyYW1ldGVyLCB0aGUgcmVzdWx0IGlz CistICAgICAgICAgICAgbWl4ZWQtZW5jb2RpbmcgZGF0YSwgd2hpY2ggY2FuIHJlYWxseSBjb25m dXNlIHNvbWVvbmUgdHJ5aW5nCistICAgICAgICAgICAgdG8gcmVhZCB0aGUgZmlsZSBsYXRlci4K Ky0gICAgICAgICIiIgorLSAgICAgICAgd2l0aCBzZWxmLm9wZW4oJ2FiJyBpZiBhcHBlbmQgZWxz ZSAnd2InKSBhcyBmOgorLSAgICAgICAgICAgIGZvciBsIGluIGxpbmVzOgorLSAgICAgICAgICAg ICAgICBpc1VuaWNvZGUgPSBpc2luc3RhbmNlKGwsIHRleHRfdHlwZSkKKy0gICAgICAgICAgICAg ICAgaWYgbGluZXNlcCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICAgICAgICAgIHBhdHRlcm4g PSBVX05MX0VORCBpZiBpc1VuaWNvZGUgZWxzZSBOTF9FTkQKKy0gICAgICAgICAgICAgICAgICAg IGwgPSBwYXR0ZXJuLnN1YignJywgbCkgKyBsaW5lc2VwCistICAgICAgICAgICAgICAgIGlmIGlz VW5pY29kZToKKy0gICAgICAgICAgICAgICAgICAgIGwgPSBsLmVuY29kZShlbmNvZGluZyBvciBz eXMuZ2V0ZGVmYXVsdGVuY29kaW5nKCksIGVycm9ycykKKy0gICAgICAgICAgICAgICAgZi53cml0 ZShsKQorLQorLSAgICBkZWYgcmVhZF9tZDUoc2VsZik6CistICAgICAgICAiIiIgQ2FsY3VsYXRl IHRoZSBtZDUgaGFzaCBmb3IgdGhpcyBmaWxlLgorLQorLSAgICAgICAgVGhpcyByZWFkcyB0aHJv dWdoIHRoZSBlbnRpcmUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgcmVh ZF9oYXNoYAorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5yZWFkX2hhc2goJ21k NScpCistCistICAgIGRlZiBfaGFzaChzZWxmLCBoYXNoX25hbWUpOgorLSAgICAgICAgIiIiIFJl dHVybnMgYSBoYXNoIG9iamVjdCBmb3IgdGhlIGZpbGUgYXQgdGhlIGN1cnJlbnQgcGF0aC4KKy0K Ky0gICAgICAgICAgICBgaGFzaF9uYW1lYCBzaG91bGQgYmUgYSBoYXNoIGFsZ28gbmFtZSAoc3Vj aCBhcyBgYCdtZDUnYGAgb3IgYGAnc2hhMSdgYCkKKy0gICAgICAgICAgICB0aGF0J3MgYXZhaWxh YmxlIGluIHRoZSA6bW9kOmBoYXNobGliYCBtb2R1bGUuCistICAgICAgICAiIiIKKy0gICAgICAg IG0gPSBoYXNobGliLm5ldyhoYXNoX25hbWUpCistICAgICAgICBmb3IgY2h1bmsgaW4gc2VsZi5j aHVua3MoODE5MiwgbW9kZT0icmIiKToKKy0gICAgICAgICAgICBtLnVwZGF0ZShjaHVuaykKKy0g ICAgICAgIHJldHVybiBtCistCistICAgIGRlZiByZWFkX2hhc2goc2VsZiwgaGFzaF9uYW1lKToK Ky0gICAgICAgICIiIiBDYWxjdWxhdGUgZ2l2ZW4gaGFzaCBmb3IgdGhpcyBmaWxlLgorLQorLSAg ICAgICAgTGlzdCBvZiBzdXBwb3J0ZWQgaGFzaGVzIGNhbiBiZSBvYnRhaW5lZCBmcm9tIDptb2Q6 YGhhc2hsaWJgIHBhY2thZ2UuCistICAgICAgICBUaGlzIHJlYWRzIHRoZSBlbnRpcmUgZmlsZS4K Ky0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgaGFzaGxpYi5oYXNoLmRpZ2VzdGAKKy0g ICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2goaGFzaF9uYW1lKS5kaWdlc3Qo KQorLQorLSAgICBkZWYgcmVhZF9oZXhoYXNoKHNlbGYsIGhhc2hfbmFtZSk6CistICAgICAgICAi IiIgQ2FsY3VsYXRlIGdpdmVuIGhhc2ggZm9yIHRoaXMgZmlsZSwgcmV0dXJuaW5nIGhleGRpZ2Vz dC4KKy0KKy0gICAgICAgIExpc3Qgb2Ygc3VwcG9ydGVkIGhhc2hlcyBjYW4gYmUgb2J0YWluZWQg ZnJvbSA6bW9kOmBoYXNobGliYCBwYWNrYWdlLgorLSAgICAgICAgVGhpcyByZWFkcyB0aGUgZW50 aXJlIGZpbGUuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGhhc2hsaWIuaGFzaC5o ZXhkaWdlc3RgCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9oYXNoKGhhc2hf bmFtZSkuaGV4ZGlnZXN0KCkKKy0KKy0gICAgIyAtLS0gTWV0aG9kcyBmb3IgcXVlcnlpbmcgdGhl IGZpbGVzeXN0ZW0uCistICAgICMgTi5CLiBPbiBzb21lIHBsYXRmb3JtcywgdGhlIG9zLnBhdGgg ZnVuY3Rpb25zIG1heSBiZSBpbXBsZW1lbnRlZCBpbiBDCistICAgICMgKGUuZy4gaXNkaXIgb24g V2luZG93cywgUHl0aG9uIDMuMi4yKSwgYW5kIGNvbXBpbGVkIGZ1bmN0aW9ucyBkb24ndCBnZXQK Ky0gICAgIyBib3VuZC4gUGxheWluZyBpdCBzYWZlIGFuZCB3cmFwcGluZyB0aGVtIGFsbCBpbiBt ZXRob2QgY2FsbHMuCistCistICAgIGRlZiBpc2FicyhzZWxmKToKKy0gICAgICAgICIiIiAuLiBz ZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguaXNhYnNgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYu bW9kdWxlLmlzYWJzKHNlbGYpCistCistICAgIGRlZiBleGlzdHMoc2VsZik6CistICAgICAgICAi IiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLmV4aXN0c2AgIiIiCistICAgICAgICByZXR1 cm4gc2VsZi5tb2R1bGUuZXhpc3RzKHNlbGYpCistCistICAgIGRlZiBpc2RpcihzZWxmKToKKy0g ICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguaXNkaXJgICIiIgorLSAgICAg ICAgcmV0dXJuIHNlbGYubW9kdWxlLmlzZGlyKHNlbGYpCistCistICAgIGRlZiBpc2ZpbGUoc2Vs Zik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLmlzZmlsZWAgIiIi CistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUuaXNmaWxlKHNlbGYpCistCistICAgIGRlZiBp c2xpbmsoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLmlz bGlua2AgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUuaXNsaW5rKHNlbGYpCistCist ICAgIGRlZiBpc21vdW50KHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpg b3MucGF0aC5pc21vdW50YCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5pc21vdW50 KHNlbGYpCistCistICAgIGRlZiBzYW1lZmlsZShzZWxmLCBvdGhlcik6CistICAgICAgICAiIiIg Li4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLnNhbWVmaWxlYCAiIiIKKy0gICAgICAgIGlmIG5v dCBoYXNhdHRyKHNlbGYubW9kdWxlLCAnc2FtZWZpbGUnKToKKy0gICAgICAgICAgICBvdGhlciA9 IFBhdGgob3RoZXIpLnJlYWxwYXRoKCkubm9ybXBhdGgoKS5ub3JtY2FzZSgpCistICAgICAgICAg ICAgcmV0dXJuIHNlbGYucmVhbHBhdGgoKS5ub3JtcGF0aCgpLm5vcm1jYXNlKCkgPT0gb3RoZXIK Ky0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5zYW1lZmlsZShzZWxmLCBvdGhlcikKKy0KKy0g ICAgZGVmIGdldGF0aW1lKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6YXR0cjpg YXRpbWVgLCA6ZnVuYzpgb3MucGF0aC5nZXRhdGltZWAgIiIiCistICAgICAgICByZXR1cm4gc2Vs Zi5tb2R1bGUuZ2V0YXRpbWUoc2VsZikKKy0KKy0gICAgYXRpbWUgPSBwcm9wZXJ0eSgKKy0gICAg ICAgIGdldGF0aW1lLCBOb25lLCBOb25lLAorLSAgICAgICAgIiIiIExhc3QgYWNjZXNzIHRpbWUg b2YgdGhlIGZpbGUuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGdldGF0aW1lYCwg OmZ1bmM6YG9zLnBhdGguZ2V0YXRpbWVgCistICAgICAgICAiIiIpCistCistICAgIGRlZiBnZXRt dGltZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmF0dHI6YG10aW1lYCwgOmZ1 bmM6YG9zLnBhdGguZ2V0bXRpbWVgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLmdl dG10aW1lKHNlbGYpCistCistICAgIG10aW1lID0gcHJvcGVydHkoCistICAgICAgICBnZXRtdGlt ZSwgTm9uZSwgTm9uZSwKKy0gICAgICAgICIiIiBMYXN0LW1vZGlmaWVkIHRpbWUgb2YgdGhlIGZp bGUuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGdldG10aW1lYCwgOmZ1bmM6YG9z LnBhdGguZ2V0bXRpbWVgCistICAgICAgICAiIiIpCistCistICAgIGRlZiBnZXRjdGltZShzZWxm KToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmF0dHI6YGN0aW1lYCwgOmZ1bmM6YG9zLnBh dGguZ2V0Y3RpbWVgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLmdldGN0aW1lKHNl bGYpCistCistICAgIGN0aW1lID0gcHJvcGVydHkoCistICAgICAgICBnZXRjdGltZSwgTm9uZSwg Tm9uZSwKKy0gICAgICAgICIiIiBDcmVhdGlvbiB0aW1lIG9mIHRoZSBmaWxlLgorLQorLSAgICAg ICAgLi4gc2VlYWxzbzo6IDptZXRoOmBnZXRjdGltZWAsIDpmdW5jOmBvcy5wYXRoLmdldGN0aW1l YAorLSAgICAgICAgIiIiKQorLQorLSAgICBkZWYgZ2V0c2l6ZShzZWxmKToKKy0gICAgICAgICIi IiAuLiBzZWVhbHNvOjogOmF0dHI6YHNpemVgLCA6ZnVuYzpgb3MucGF0aC5nZXRzaXplYCAiIiIK Ky0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5nZXRzaXplKHNlbGYpCistCistICAgIHNpemUg PSBwcm9wZXJ0eSgKKy0gICAgICAgIGdldHNpemUsIE5vbmUsIE5vbmUsCistICAgICAgICAiIiIg U2l6ZSBvZiB0aGUgZmlsZSwgaW4gYnl0ZXMuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOm1l dGg6YGdldHNpemVgLCA6ZnVuYzpgb3MucGF0aC5nZXRzaXplYAorLSAgICAgICAgIiIiKQorLQor LSAgICBpZiBoYXNhdHRyKG9zLCAnYWNjZXNzJyk6CistICAgICAgICBkZWYgYWNjZXNzKHNlbGYs IG1vZGUpOgorLSAgICAgICAgICAgICIiIiBSZXR1cm4gYGBUcnVlYGAgaWYgY3VycmVudCB1c2Vy IGhhcyBhY2Nlc3MgdG8gdGhpcyBwYXRoLgorLQorLSAgICAgICAgICAgIG1vZGUgLSBPbmUgb2Yg dGhlIGNvbnN0YW50cyA6ZGF0YTpgb3MuRl9PS2AsIDpkYXRhOmBvcy5SX09LYCwKKy0gICAgICAg ICAgICA6ZGF0YTpgb3MuV19PS2AsIDpkYXRhOmBvcy5YX09LYAorLQorLSAgICAgICAgICAgIC4u IHNlZWFsc286OiA6ZnVuYzpgb3MuYWNjZXNzYAorLSAgICAgICAgICAgICIiIgorLSAgICAgICAg ICAgIHJldHVybiBvcy5hY2Nlc3Moc2VsZiwgbW9kZSkKKy0KKy0gICAgZGVmIHN0YXQoc2VsZik6 CistICAgICAgICAiIiIgUGVyZm9ybSBhIGBgc3RhdCgpYGAgc3lzdGVtIGNhbGwgb24gdGhpcyBw YXRoLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBsc3RhdGAsIDpmdW5jOmBvcy5z dGF0YAorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gb3Muc3RhdChzZWxmKQorLQorLSAg ICBkZWYgbHN0YXQoc2VsZik6CistICAgICAgICAiIiIgTGlrZSA6bWV0aDpgc3RhdGAsIGJ1dCBk byBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDpt ZXRoOmBzdGF0YCwgOmZ1bmM6YG9zLmxzdGF0YAorLSAgICAgICAgIiIiCistICAgICAgICByZXR1 cm4gb3MubHN0YXQoc2VsZikKKy0KKy0gICAgZGVmIF9fZ2V0X293bmVyX3dpbmRvd3Moc2VsZik6 CistICAgICAgICAiIiIKKy0gICAgICAgIFJldHVybiB0aGUgbmFtZSBvZiB0aGUgb3duZXIgb2Yg dGhpcyBmaWxlIG9yIGRpcmVjdG9yeS4gRm9sbG93CistICAgICAgICBzeW1ib2xpYyBsaW5rcy4K Ky0KKy0gICAgICAgIFJldHVybiBhIG5hbWUgb2YgdGhlIGZvcm0gYGByJ0RPTUFJTlxcVXNlciBO YW1lJ2BgOyBtYXkgYmUgYSBncm91cC4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6YXR0cjpg b3duZXJgCistICAgICAgICAiIiIKKy0gICAgICAgIGRlc2MgPSB3aW4zMnNlY3VyaXR5LkdldEZp bGVTZWN1cml0eSgKKy0gICAgICAgICAgICBzZWxmLCB3aW4zMnNlY3VyaXR5Lk9XTkVSX1NFQ1VS SVRZX0lORk9STUFUSU9OKQorLSAgICAgICAgc2lkID0gZGVzYy5HZXRTZWN1cml0eURlc2NyaXB0 b3JPd25lcigpCistICAgICAgICBhY2NvdW50LCBkb21haW4sIHR5cGVjb2RlID0gd2luMzJzZWN1 cml0eS5Mb29rdXBBY2NvdW50U2lkKE5vbmUsIHNpZCkKKy0gICAgICAgIHJldHVybiBkb21haW4g KyAnXFwnICsgYWNjb3VudAorLQorLSAgICBkZWYgX19nZXRfb3duZXJfdW5peChzZWxmKToKKy0g ICAgICAgICIiIgorLSAgICAgICAgUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBvd25lciBvZiB0aGlz IGZpbGUgb3IgZGlyZWN0b3J5LiBGb2xsb3cKKy0gICAgICAgIHN5bWJvbGljIGxpbmtzLgorLQor LSAgICAgICAgLi4gc2VlYWxzbzo6IDphdHRyOmBvd25lcmAKKy0gICAgICAgICIiIgorLSAgICAg ICAgc3QgPSBzZWxmLnN0YXQoKQorLSAgICAgICAgcmV0dXJuIHB3ZC5nZXRwd3VpZChzdC5zdF91 aWQpLnB3X25hbWUKKy0KKy0gICAgZGVmIF9fZ2V0X293bmVyX25vdF9pbXBsZW1lbnRlZChzZWxm KToKKy0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoIk93bmVyc2hpcCBub3QgYXZh aWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0uIikKKy0KKy0gICAgaWYgJ3dpbjMyc2VjdXJpdHknIGlu IGdsb2JhbHMoKToKKy0gICAgICAgIGdldF9vd25lciA9IF9fZ2V0X293bmVyX3dpbmRvd3MKKy0g ICAgZWxpZiAncHdkJyBpbiBnbG9iYWxzKCk6CistICAgICAgICBnZXRfb3duZXIgPSBfX2dldF9v d25lcl91bml4CistICAgIGVsc2U6CistICAgICAgICBnZXRfb3duZXIgPSBfX2dldF9vd25lcl9u b3RfaW1wbGVtZW50ZWQKKy0KKy0gICAgb3duZXIgPSBwcm9wZXJ0eSgKKy0gICAgICAgIGdldF9v d25lciwgTm9uZSwgTm9uZSwKKy0gICAgICAgICIiIiBOYW1lIG9mIHRoZSBvd25lciBvZiB0aGlz IGZpbGUgb3IgZGlyZWN0b3J5LgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBnZXRf b3duZXJgIiIiKQorLQorLSAgICBpZiBoYXNhdHRyKG9zLCAnc3RhdHZmcycpOgorLSAgICAgICAg ZGVmIHN0YXR2ZnMoc2VsZik6CistICAgICAgICAgICAgIiIiIFBlcmZvcm0gYSBgYHN0YXR2ZnMo KWBgIHN5c3RlbSBjYWxsIG9uIHRoaXMgcGF0aC4KKy0KKy0gICAgICAgICAgICAuLiBzZWVhbHNv OjogOmZ1bmM6YG9zLnN0YXR2ZnNgCistICAgICAgICAgICAgIiIiCistICAgICAgICAgICAgcmV0 dXJuIG9zLnN0YXR2ZnMoc2VsZikKKy0KKy0gICAgaWYgaGFzYXR0cihvcywgJ3BhdGhjb25mJyk6 CistICAgICAgICBkZWYgcGF0aGNvbmYoc2VsZiwgbmFtZSk6CistICAgICAgICAgICAgIiIiIC4u IHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aGNvbmZgICIiIgorLSAgICAgICAgICAgIHJldHVybiBv cy5wYXRoY29uZihzZWxmLCBuYW1lKQorLQorLSAgICAjCistICAgICMgLS0tIE1vZGlmeWluZyBv cGVyYXRpb25zIG9uIGZpbGVzIGFuZCBkaXJlY3RvcmllcworLQorLSAgICBkZWYgdXRpbWUoc2Vs ZiwgdGltZXMpOgorLSAgICAgICAgIiIiIFNldCB0aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1l cyBvZiB0aGlzIGZpbGUuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnV0aW1l YAorLSAgICAgICAgIiIiCistICAgICAgICBvcy51dGltZShzZWxmLCB0aW1lcykKKy0gICAgICAg IHJldHVybiBzZWxmCistCistICAgIGRlZiBjaG1vZChzZWxmLCBtb2RlKToKKy0gICAgICAgICIi IgorLSAgICAgICAgU2V0IHRoZSBtb2RlLiBNYXkgYmUgdGhlIG5ldyBtb2RlIChvcy5jaG1vZCBi ZWhhdmlvcikgb3IgYSBgc3ltYm9saWMKKy0gICAgICAgIG1vZGUgPGh0dHA6Ly9lbi53aWtpcGVk aWEub3JnL3dpa2kvQ2htb2QjU3ltYm9saWNfbW9kZXM+YF8uCistCistICAgICAgICAuLiBzZWVh bHNvOjogOmZ1bmM6YG9zLmNobW9kYAorLSAgICAgICAgIiIiCistICAgICAgICBpZiBpc2luc3Rh bmNlKG1vZGUsIHN0cmluZ190eXBlcyk6CistICAgICAgICAgICAgbWFzayA9IF9tdWx0aV9wZXJt aXNzaW9uX21hc2sobW9kZSkKKy0gICAgICAgICAgICBtb2RlID0gbWFzayhzZWxmLnN0YXQoKS5z dF9tb2RlKQorLSAgICAgICAgb3MuY2htb2Qoc2VsZiwgbW9kZSkKKy0gICAgICAgIHJldHVybiBz ZWxmCistCistICAgIGRlZiBjaG93bihzZWxmLCB1aWQ9LTEsIGdpZD0tMSk6CistICAgICAgICAi IiIKKy0gICAgICAgIENoYW5nZSB0aGUgb3duZXIgYW5kIGdyb3VwIGJ5IG5hbWVzIHJhdGhlciB0 aGFuIHRoZSB1aWQgb3IgZ2lkIG51bWJlcnMuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1 bmM6YG9zLmNob3duYAorLSAgICAgICAgIiIiCistICAgICAgICBpZiBoYXNhdHRyKG9zLCAnY2hv d24nKToKKy0gICAgICAgICAgICBpZiAncHdkJyBpbiBnbG9iYWxzKCkgYW5kIGlzaW5zdGFuY2Uo dWlkLCBzdHJpbmdfdHlwZXMpOgorLSAgICAgICAgICAgICAgICB1aWQgPSBwd2QuZ2V0cHduYW0o dWlkKS5wd191aWQKKy0gICAgICAgICAgICBpZiAnZ3JwJyBpbiBnbG9iYWxzKCkgYW5kIGlzaW5z dGFuY2UoZ2lkLCBzdHJpbmdfdHlwZXMpOgorLSAgICAgICAgICAgICAgICBnaWQgPSBncnAuZ2V0 Z3JuYW0oZ2lkKS5ncl9naWQKKy0gICAgICAgICAgICBvcy5jaG93bihzZWxmLCB1aWQsIGdpZCkK Ky0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigi T3duZXJzaGlwIG5vdCBhdmFpbGFibGUgb24gdGhpcyBwbGF0Zm9ybS4iKQorLSAgICAgICAgcmV0 dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJlbmFtZShzZWxmLCBuZXcpOgorLSAgICAgICAgIiIiIC4u IHNlZWFsc286OiA6ZnVuYzpgb3MucmVuYW1lYCAiIiIKKy0gICAgICAgIG9zLnJlbmFtZShzZWxm LCBuZXcpCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhuZXcpCistCistICAgIGRl ZiByZW5hbWVzKHNlbGYsIG5ldyk6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBv cy5yZW5hbWVzYCAiIiIKKy0gICAgICAgIG9zLnJlbmFtZXMoc2VsZiwgbmV3KQorLSAgICAgICAg cmV0dXJuIHNlbGYuX25leHRfY2xhc3MobmV3KQorLQorLSAgICAjCistICAgICMgLS0tIENyZWF0 ZS9kZWxldGUgb3BlcmF0aW9ucyBvbiBkaXJlY3RvcmllcworLQorLSAgICBkZWYgbWtkaXIoc2Vs ZiwgbW9kZT0wbzc3Nyk6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5ta2Rp cmAgIiIiCistICAgICAgICBvcy5ta2RpcihzZWxmLCBtb2RlKQorLSAgICAgICAgcmV0dXJuIHNl bGYKKy0KKy0gICAgZGVmIG1rZGlyX3Aoc2VsZiwgbW9kZT0wbzc3Nyk6CistICAgICAgICAiIiIg TGlrZSA6bWV0aDpgbWtkaXJgLCBidXQgZG9lcyBub3QgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRo ZQorLSAgICAgICAgZGlyZWN0b3J5IGFscmVhZHkgZXhpc3RzLiAiIiIKKy0gICAgICAgIHRyeToK Ky0gICAgICAgICAgICBzZWxmLm1rZGlyKG1vZGUpCistICAgICAgICBleGNlcHQgT1NFcnJvcjoK Ky0gICAgICAgICAgICBfLCBlLCBfID0gc3lzLmV4Y19pbmZvKCkKKy0gICAgICAgICAgICBpZiBl LmVycm5vICE9IGVycm5vLkVFWElTVDoKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0gICAgICAg IHJldHVybiBzZWxmCistCistICAgIGRlZiBtYWtlZGlycyhzZWxmLCBtb2RlPTBvNzc3KToKKy0g ICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLm1ha2VkaXJzYCAiIiIKKy0gICAgICAg IG9zLm1ha2VkaXJzKHNlbGYsIG1vZGUpCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBk ZWYgbWFrZWRpcnNfcChzZWxmLCBtb2RlPTBvNzc3KToKKy0gICAgICAgICIiIiBMaWtlIDptZXRo OmBtYWtlZGlyc2AsIGJ1dCBkb2VzIG5vdCByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlCistICAg ICAgICBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHMuICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAg ICAgICAgIHNlbGYubWFrZWRpcnMobW9kZSkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorLSAg ICAgICAgICAgIF8sIGUsIF8gPSBzeXMuZXhjX2luZm8oKQorLSAgICAgICAgICAgIGlmIGUuZXJy bm8gIT0gZXJybm8uRUVYSVNUOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgcmV0 dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJtZGlyKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFs c286OiA6ZnVuYzpgb3Mucm1kaXJgICIiIgorLSAgICAgICAgb3Mucm1kaXIoc2VsZikKKy0gICAg ICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiBybWRpcl9wKHNlbGYpOgorLSAgICAgICAgIiIi IExpa2UgOm1ldGg6YHJtZGlyYCwgYnV0IGRvZXMgbm90IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0 aGUKKy0gICAgICAgIGRpcmVjdG9yeSBpcyBub3QgZW1wdHkgb3IgZG9lcyBub3QgZXhpc3QuICIi IgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHNlbGYucm1kaXIoKQorLSAgICAgICAgZXhj ZXB0IE9TRXJyb3I6CistICAgICAgICAgICAgXywgZSwgXyA9IHN5cy5leGNfaW5mbygpCistICAg ICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9URU1QVFkgYW5kIGUuZXJybm8gIT0gZXJy bm8uRUVYSVNUOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgcmV0dXJuIHNlbGYK Ky0KKy0gICAgZGVmIHJlbW92ZWRpcnMoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6 IDpmdW5jOmBvcy5yZW1vdmVkaXJzYCAiIiIKKy0gICAgICAgIG9zLnJlbW92ZWRpcnMoc2VsZikK Ky0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiByZW1vdmVkaXJzX3Aoc2VsZik6Cist ICAgICAgICAiIiIgTGlrZSA6bWV0aDpgcmVtb3ZlZGlyc2AsIGJ1dCBkb2VzIG5vdCByYWlzZSBh biBleGNlcHRpb24gaWYgdGhlCistICAgICAgICBkaXJlY3RvcnkgaXMgbm90IGVtcHR5IG9yIGRv ZXMgbm90IGV4aXN0LiAiIiIKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBzZWxmLnJlbW92 ZWRpcnMoKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAgICAgICAgICAgXywgZSwgXyA9 IHN5cy5leGNfaW5mbygpCistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9URU1Q VFkgYW5kIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgorLSAgICAgICAgICAgICAgICByYWlzZQor LSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgIyAtLS0gTW9kaWZ5aW5nIG9wZXJhdGlvbnMg b24gZmlsZXMKKy0KKy0gICAgZGVmIHRvdWNoKHNlbGYpOgorLSAgICAgICAgIiIiIFNldCB0aGUg YWNjZXNzL21vZGlmaWVkIHRpbWVzIG9mIHRoaXMgZmlsZSB0byB0aGUgY3VycmVudCB0aW1lLgor LSAgICAgICAgQ3JlYXRlIHRoZSBmaWxlIGlmIGl0IGRvZXMgbm90IGV4aXN0LgorLSAgICAgICAg IiIiCistICAgICAgICBmZCA9IG9zLm9wZW4oc2VsZiwgb3MuT19XUk9OTFkgfCBvcy5PX0NSRUFU LCAwbzY2NikKKy0gICAgICAgIG9zLmNsb3NlKGZkKQorLSAgICAgICAgb3MudXRpbWUoc2VsZiwg Tm9uZSkKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiByZW1vdmUoc2VsZik6Cist ICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5yZW1vdmVgICIiIgorLSAgICAgICAg b3MucmVtb3ZlKHNlbGYpCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgcmVtb3Zl X3Aoc2VsZik6CistICAgICAgICAiIiIgTGlrZSA6bWV0aDpgcmVtb3ZlYCwgYnV0IGRvZXMgbm90 IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUKKy0gICAgICAgIGZpbGUgZG9lcyBub3QgZXhpc3Qu ICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHNlbGYudW5saW5rKCkKKy0gICAgICAg IGV4Y2VwdCBPU0Vycm9yOgorLSAgICAgICAgICAgIF8sIGUsIF8gPSBzeXMuZXhjX2luZm8oKQor LSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRU5PRU5UOgorLSAgICAgICAgICAgICAg ICByYWlzZQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHVubGluayhzZWxmKToK Ky0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnVubGlua2AgIiIiCistICAgICAg ICBvcy51bmxpbmsoc2VsZikKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiB1bmxp bmtfcChzZWxmKToKKy0gICAgICAgICIiIiBMaWtlIDptZXRoOmB1bmxpbmtgLCBidXQgZG9lcyBu b3QgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZQorLSAgICAgICAgZmlsZSBkb2VzIG5vdCBleGlz dC4gIiIiCistICAgICAgICBzZWxmLnJlbW92ZV9wKCkKKy0gICAgICAgIHJldHVybiBzZWxmCist CistICAgICMgLS0tIExpbmtzCistCistICAgIGlmIGhhc2F0dHIob3MsICdsaW5rJyk6CistICAg ICAgICBkZWYgbGluayhzZWxmLCBuZXdwYXRoKToKKy0gICAgICAgICAgICAiIiIgQ3JlYXRlIGEg aGFyZCBsaW5rIGF0IGBuZXdwYXRoYCwgcG9pbnRpbmcgdG8gdGhpcyBmaWxlLgorLQorLSAgICAg ICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MubGlua2AKKy0gICAgICAgICAgICAiIiIKKy0g ICAgICAgICAgICBvcy5saW5rKHNlbGYsIG5ld3BhdGgpCistICAgICAgICAgICAgcmV0dXJuIHNl bGYuX25leHRfY2xhc3MobmV3cGF0aCkKKy0KKy0gICAgaWYgaGFzYXR0cihvcywgJ3N5bWxpbmsn KToKKy0gICAgICAgIGRlZiBzeW1saW5rKHNlbGYsIG5ld2xpbmspOgorLSAgICAgICAgICAgICIi IiBDcmVhdGUgYSBzeW1ib2xpYyBsaW5rIGF0IGBuZXdsaW5rYCwgcG9pbnRpbmcgaGVyZS4KKy0K Ky0gICAgICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnN5bWxpbmtgCistICAgICAgICAg ICAgIiIiCistICAgICAgICAgICAgb3Muc3ltbGluayhzZWxmLCBuZXdsaW5rKQorLSAgICAgICAg ICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKG5ld2xpbmspCistCistICAgIGlmIGhhc2F0dHIo b3MsICdyZWFkbGluaycpOgorLSAgICAgICAgZGVmIHJlYWRsaW5rKHNlbGYpOgorLSAgICAgICAg ICAgICIiIiBSZXR1cm4gdGhlIHBhdGggdG8gd2hpY2ggdGhpcyBzeW1ib2xpYyBsaW5rIHBvaW50 cy4KKy0KKy0gICAgICAgICAgICBUaGUgcmVzdWx0IG1heSBiZSBhbiBhYnNvbHV0ZSBvciBhIHJl bGF0aXZlIHBhdGguCistCistICAgICAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmByZWFkbGlu a2Fic2AsIDpmdW5jOmBvcy5yZWFkbGlua2AKKy0gICAgICAgICAgICAiIiIKKy0gICAgICAgICAg ICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhvcy5yZWFkbGluayhzZWxmKSkKKy0KKy0gICAgICAg IGRlZiByZWFkbGlua2FicyhzZWxmKToKKy0gICAgICAgICAgICAiIiIgUmV0dXJuIHRoZSBwYXRo IHRvIHdoaWNoIHRoaXMgc3ltYm9saWMgbGluayBwb2ludHMuCistCistICAgICAgICAgICAgVGhl IHJlc3VsdCBpcyBhbHdheXMgYW4gYWJzb2x1dGUgcGF0aC4KKy0KKy0gICAgICAgICAgICAuLiBz ZWVhbHNvOjogOm1ldGg6YHJlYWRsaW5rYCwgOmZ1bmM6YG9zLnJlYWRsaW5rYAorLSAgICAgICAg ICAgICIiIgorLSAgICAgICAgICAgIHAgPSBzZWxmLnJlYWRsaW5rKCkKKy0gICAgICAgICAgICBp ZiBwLmlzYWJzKCk6CistICAgICAgICAgICAgICAgIHJldHVybiBwCistICAgICAgICAgICAgZWxz ZToKKy0gICAgICAgICAgICAgICAgcmV0dXJuIChzZWxmLnBhcmVudCAvIHApLmFic3BhdGgoKQor LQorLSAgICAjIEhpZ2gtbGV2ZWwgZnVuY3Rpb25zIGZyb20gc2h1dGlsCistICAgICMgVGhlc2Ug ZnVuY3Rpb25zIHdpbGwgYmUgYm91bmQgdG8gdGhlIGluc3RhbmNlIHN1Y2ggdGhhdAorLSAgICAj IFBhdGgobmFtZSkuY29weSh0YXJnZXQpIHdpbGwgaW52b2tlIHNodXRpbC5jb3B5KG5hbWUsIHRh cmdldCkKKy0KKy0gICAgY29weWZpbGUgPSBzaHV0aWwuY29weWZpbGUKKy0gICAgY29weW1vZGUg PSBzaHV0aWwuY29weW1vZGUKKy0gICAgY29weXN0YXQgPSBzaHV0aWwuY29weXN0YXQKKy0gICAg Y29weSA9IHNodXRpbC5jb3B5CistICAgIGNvcHkyID0gc2h1dGlsLmNvcHkyCistICAgIGNvcHl0 cmVlID0gc2h1dGlsLmNvcHl0cmVlCistICAgIGlmIGhhc2F0dHIoc2h1dGlsLCAnbW92ZScpOgor LSAgICAgICAgbW92ZSA9IHNodXRpbC5tb3ZlCistICAgIHJtdHJlZSA9IHNodXRpbC5ybXRyZWUK Ky0KKy0gICAgZGVmIHJtdHJlZV9wKHNlbGYpOgorLSAgICAgICAgIiIiIExpa2UgOm1ldGg6YHJt dHJlZWAsIGJ1dCBkb2VzIG5vdCByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlCistICAgICAgICBk aXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAg IHNlbGYucm10cmVlKCkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorLSAgICAgICAgICAgIF8s IGUsIF8gPSBzeXMuZXhjX2luZm8oKQorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8u RU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0K Ky0gICAgZGVmIGNoZGlyKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpg b3MuY2hkaXJgICIiIgorLSAgICAgICAgb3MuY2hkaXIoc2VsZikKKy0KKy0gICAgY2QgPSBjaGRp cgorLQorLSAgICBkZWYgbWVyZ2VfdHJlZShzZWxmLCBkc3QsIHN5bWxpbmtzPUZhbHNlLCAqYXJn cywgKiprd2FyZ3MpOgorLSAgICAgICAgIiIiCistICAgICAgICBDb3B5IGVudGlyZSBjb250ZW50 cyBvZiBzZWxmIHRvIGRzdCwgb3ZlcndyaXRpbmcgZXhpc3RpbmcKKy0gICAgICAgIGNvbnRlbnRz IGluIGRzdCB3aXRoIHRob3NlIGluIHNlbGYuCistCistICAgICAgICBJZiB0aGUgYWRkaXRpb25h bCBrZXl3b3JkIGB1cGRhdGVgIGlzIFRydWUsIGVhY2gKKy0gICAgICAgIGBzcmNgIHdpbGwgb25s eSBiZSBjb3BpZWQgaWYgYGRzdGAgZG9lcyBub3QgZXhpc3QsCistICAgICAgICBvciBgc3JjYCBp cyBuZXdlciB0aGFuIGBkc3RgLgorLQorLSAgICAgICAgTm90ZSB0aGF0IHRoZSB0ZWNobmlxdWUg ZW1wbG95ZWQgc3RhZ2VzIHRoZSBmaWxlcyBpbiBhIHRlbXBvcmFyeQorLSAgICAgICAgZGlyZWN0 b3J5IGZpcnN0LCBzbyB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBzdWl0YWJsZSBmb3IgbWVyZ2luZwor LSAgICAgICAgdHJlZXMgd2l0aCBsYXJnZSBmaWxlcywgZXNwZWNpYWxseSBpZiB0aGUgdGVtcG9y YXJ5IGRpcmVjdG9yeQorLSAgICAgICAgaXMgbm90IGNhcGFibGUgb2Ygc3RvcmluZyBhIGNvcHkg b2YgdGhlIGVudGlyZSBzb3VyY2UgdHJlZS4KKy0gICAgICAgICIiIgorLSAgICAgICAgdXBkYXRl ID0ga3dhcmdzLnBvcCgndXBkYXRlJywgRmFsc2UpCistICAgICAgICB3aXRoIHRlbXBkaXIoKSBh cyBfdGVtcF9kaXI6CistICAgICAgICAgICAgIyBmaXJzdCBjb3B5IHRoZSB0cmVlIHRvIGEgc3Rh Z2UgZGlyZWN0b3J5IHRvIHN1cHBvcnQKKy0gICAgICAgICAgICAjICB0aGUgcGFyYW1ldGVycyBh bmQgYmVoYXZpb3Igb2YgY29weXRyZWUuCistICAgICAgICAgICAgc3RhZ2UgPSBfdGVtcF9kaXIg LyBzdHIoaGFzaChzZWxmKSkKKy0gICAgICAgICAgICBzZWxmLmNvcHl0cmVlKHN0YWdlLCBzeW1s aW5rcywgKmFyZ3MsICoqa3dhcmdzKQorLSAgICAgICAgICAgICMgbm93IGNvcHkgZXZlcnl0aGlu ZyBmcm9tIHRoZSBzdGFnZSBkaXJlY3RvcnkgdXNpbmcKKy0gICAgICAgICAgICAjICB0aGUgc2Vt YW50aWNzIG9mIGRpcl91dGlsLmNvcHlfdHJlZQorLSAgICAgICAgICAgIGRpcl91dGlsLmNvcHlf dHJlZShzdGFnZSwgZHN0LCBwcmVzZXJ2ZV9zeW1saW5rcz1zeW1saW5rcywKKy0gICAgICAgICAg ICAgICAgdXBkYXRlPXVwZGF0ZSkKKy0KKy0gICAgIworLSAgICAjIC0tLSBTcGVjaWFsIHN0dWZm IGZyb20gb3MKKy0KKy0gICAgaWYgaGFzYXR0cihvcywgJ2Nocm9vdCcpOgorLSAgICAgICAgZGVm IGNocm9vdChzZWxmKToKKy0gICAgICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5j aHJvb3RgICIiIgorLSAgICAgICAgICAgIG9zLmNocm9vdChzZWxmKQorLQorLSAgICBpZiBoYXNh dHRyKG9zLCAnc3RhcnRmaWxlJyk6CistICAgICAgICBkZWYgc3RhcnRmaWxlKHNlbGYpOgorLSAg ICAgICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnN0YXJ0ZmlsZWAgIiIiCistICAg ICAgICAgICAgb3Muc3RhcnRmaWxlKHNlbGYpCistICAgICAgICAgICAgcmV0dXJuIHNlbGYKKy0K Ky0gICAgIyBpbi1wbGFjZSByZS13cml0aW5nLCBjb3VydGVzeSBvZiBNYXJ0aWpuIFBpZXRlcnMK Ky0gICAgIyBodHRwOi8vd3d3LnpvcGF0aXN0YS5jb20vcHl0aG9uLzIwMTMvMTEvMjYvaW5wbGFj ZS1maWxlLXJld3JpdGluZy8KKy0gICAgQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKKy0gICAg ZGVmIGluX3BsYWNlKHNlbGYsIG1vZGU9J3InLCBidWZmZXJpbmc9LTEsIGVuY29kaW5nPU5vbmUs IGVycm9ycz1Ob25lLAorLSAgICAgICAgICAgIG5ld2xpbmU9Tm9uZSwgYmFja3VwX2V4dGVuc2lv bj1Ob25lKToKKy0gICAgICAgICIiIgorLSAgICAgICAgQSBjb250ZXh0IGluIHdoaWNoIGEgZmls ZSBtYXkgYmUgcmUtd3JpdHRlbiBpbi1wbGFjZSB3aXRoIG5ldyBjb250ZW50LgorLQorLSAgICAg ICAgWWllbGRzIGEgdHVwbGUgb2YgOnNhbXA6YCh7cmVhZGFibGV9LCB7d3JpdGFibGV9KWAgZmls ZSBvYmplY3RzLCB3aGVyZSBgd3JpdGFibGVgCistICAgICAgICByZXBsYWNlcyBgcmVhZGFibGVg LgorLQorLSAgICAgICAgSWYgYW4gZXhjZXB0aW9uIG9jY3VycywgdGhlIG9sZCBmaWxlIGlzIHJl c3RvcmVkLCByZW1vdmluZyB0aGUKKy0gICAgICAgIHdyaXR0ZW4gZGF0YS4KKy0KKy0gICAgICAg IE1vZGUgKm11c3Qgbm90KiB1c2UgYGAndydgYCwgYGAnYSdgYCwgb3IgYGAnKydgYDsgb25seSBy ZWFkLW9ubHktbW9kZXMgYXJlCistICAgICAgICBhbGxvd2VkLiBBIDpleGM6YFZhbHVlRXJyb3Jg IGlzIHJhaXNlZCBvbiBpbnZhbGlkIG1vZGVzLgorLQorLSAgICAgICAgRm9yIGV4YW1wbGUsIHRv IGFkZCBsaW5lIG51bWJlcnMgdG8gYSBmaWxlOjoKKy0KKy0gICAgICAgICAgICBwID0gUGF0aChm aWxlbmFtZSkKKy0gICAgICAgICAgICBhc3NlcnQgcC5pc2ZpbGUoKQorLSAgICAgICAgICAgIHdp dGggcC5pbl9wbGFjZSgpIGFzIChyZWFkZXIsIHdyaXRlcik6CistICAgICAgICAgICAgICAgIGZv ciBudW1iZXIsIGxpbmUgaW4gZW51bWVyYXRlKHJlYWRlciwgMSk6CistICAgICAgICAgICAgICAg ICAgICB3cml0ZXIud3JpdGUoJ3swOjN9OiAnLmZvcm1hdChudW1iZXIpKSkKKy0gICAgICAgICAg ICAgICAgICAgIHdyaXRlci53cml0ZShsaW5lKQorLQorLSAgICAgICAgVGhlcmVhZnRlciwgdGhl IGZpbGUgYXQgYGZpbGVuYW1lYCB3aWxsIGhhdmUgbGluZSBudW1iZXJzIGluIGl0LgorLSAgICAg ICAgIiIiCistICAgICAgICBpbXBvcnQgaW8KKy0KKy0gICAgICAgIGlmIHNldChtb2RlKS5pbnRl cnNlY3Rpb24oJ3dhKycpOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ09ubHkgcmVh ZC1vbmx5IGZpbGUgbW9kZXMgY2FuIGJlIHVzZWQnKQorLQorLSAgICAgICAgIyBtb3ZlIGV4aXN0 aW5nIGZpbGUgdG8gYmFja3VwLCBjcmVhdGUgbmV3IGZpbGUgd2l0aCBzYW1lIHBlcm1pc3Npb25z CistICAgICAgICAjIGJvcnJvd2VkIGV4dGVuc2l2ZWx5IGZyb20gdGhlIGZpbGVpbnB1dCBtb2R1 bGUKKy0gICAgICAgIGJhY2t1cF9mbiA9IHNlbGYgKyAoYmFja3VwX2V4dGVuc2lvbiBvciBvcy5l eHRzZXAgKyAnYmFrJykKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBvcy51bmxpbmsoYmFj a3VwX2ZuKQorLSAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorLSAgICAgICAgICAgIHBhc3MKKy0g ICAgICAgIG9zLnJlbmFtZShzZWxmLCBiYWNrdXBfZm4pCistICAgICAgICByZWFkYWJsZSA9IGlv Lm9wZW4oYmFja3VwX2ZuLCBtb2RlLCBidWZmZXJpbmc9YnVmZmVyaW5nLAorLSAgICAgICAgICAg IGVuY29kaW5nPWVuY29kaW5nLCBlcnJvcnM9ZXJyb3JzLCBuZXdsaW5lPW5ld2xpbmUpCistICAg ICAgICB0cnk6CistICAgICAgICAgICAgcGVybSA9IG9zLmZzdGF0KHJlYWRhYmxlLmZpbGVubygp KS5zdF9tb2RlCistICAgICAgICBleGNlcHQgT1NFcnJvcjoKKy0gICAgICAgICAgICB3cml0YWJs ZSA9IG9wZW4oc2VsZiwgJ3cnICsgbW9kZS5yZXBsYWNlKCdyJywgJycpLAorLSAgICAgICAgICAg ICAgICBidWZmZXJpbmc9YnVmZmVyaW5nLCBlbmNvZGluZz1lbmNvZGluZywgZXJyb3JzPWVycm9y cywKKy0gICAgICAgICAgICAgICAgbmV3bGluZT1uZXdsaW5lKQorLSAgICAgICAgZWxzZToKKy0g ICAgICAgICAgICBvc19tb2RlID0gb3MuT19DUkVBVCB8IG9zLk9fV1JPTkxZIHwgb3MuT19UUlVO QworLSAgICAgICAgICAgIGlmIGhhc2F0dHIob3MsICdPX0JJTkFSWScpOgorLSAgICAgICAgICAg ICAgICBvc19tb2RlIHw9IG9zLk9fQklOQVJZCistICAgICAgICAgICAgZmQgPSBvcy5vcGVuKHNl bGYsIG9zX21vZGUsIHBlcm0pCistICAgICAgICAgICAgd3JpdGFibGUgPSBpby5vcGVuKGZkLCAi dyIgKyBtb2RlLnJlcGxhY2UoJ3InLCAnJyksCistICAgICAgICAgICAgICAgIGJ1ZmZlcmluZz1i dWZmZXJpbmcsIGVuY29kaW5nPWVuY29kaW5nLCBlcnJvcnM9ZXJyb3JzLAorLSAgICAgICAgICAg ICAgICBuZXdsaW5lPW5ld2xpbmUpCistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAg ICBpZiBoYXNhdHRyKG9zLCAnY2htb2QnKToKKy0gICAgICAgICAgICAgICAgICAgIG9zLmNobW9k KHNlbGYsIHBlcm0pCistICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAgICAgICAgICAg ICAgIHBhc3MKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICB5aWVsZCByZWFkYWJsZSwgd3Jp dGFibGUKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CistICAgICAgICAgICAgIyBtb3ZlIGJh Y2t1cCBiYWNrCistICAgICAgICAgICAgcmVhZGFibGUuY2xvc2UoKQorLSAgICAgICAgICAgIHdy aXRhYmxlLmNsb3NlKCkKKy0gICAgICAgICAgICB0cnk6CistICAgICAgICAgICAgICAgIG9zLnVu bGluayhzZWxmKQorLSAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKy0gICAgICAgICAgICAg ICAgcGFzcworLSAgICAgICAgICAgIG9zLnJlbmFtZShiYWNrdXBfZm4sIHNlbGYpCistICAgICAg ICAgICAgcmFpc2UKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcmVhZGFibGUuY2xvc2Uo KQorLSAgICAgICAgICAgIHdyaXRhYmxlLmNsb3NlKCkKKy0gICAgICAgIGZpbmFsbHk6CistICAg ICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBvcy51bmxpbmsoYmFja3VwX2ZuKQorLSAg ICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKy0gICAgICAgICAgICAgICAgcGFzcworLQorLSAg ICBAQ2xhc3NQcm9wZXJ0eQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIHNwZWNpYWwoY2xz KToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmV0dXJuIGEgU3BlY2lhbFJlc29sdmVyIG9iamVj dCBzdWl0YWJsZSByZWZlcmVuY2luZyBhIHN1aXRhYmxlCistICAgICAgICBkaXJlY3RvcnkgZm9y IHRoZSByZWxldmFudCBwbGF0Zm9ybSBmb3IgdGhlIGdpdmVuCistICAgICAgICB0eXBlIG9mIGNv bnRlbnQuCistCistICAgICAgICBGb3IgZXhhbXBsZSwgdG8gZ2V0IGEgdXNlciBjb25maWcgZGly ZWN0b3J5LCBpbnZva2U6CistCistICAgICAgICAgICAgZGlyID0gUGF0aC5zcGVjaWFsKCkudXNl ci5jb25maWcKKy0KKy0gICAgICAgIFVzZXMgdGhlIGBhcHBkaXJzCistICAgICAgICA8aHR0cHM6 Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9hcHBkaXJzLzEuNC4wPmBfIHRvIHJlc29sdmUKKy0gICAg ICAgIHRoZSBwYXRocyBpbiBhIHBsYXRmb3JtLWZyaWVuZGx5IHdheS4KKy0KKy0gICAgICAgIFRv IGNyZWF0ZSBhIGNvbmZpZyBkaXJlY3RvcnkgZm9yICdNeSBBcHAnLCBjb25zaWRlcjoKKy0KKy0g ICAgICAgICAgICBkaXIgPSBQYXRoLnNwZWNpYWwoIk15IEFwcCIpLnVzZXIuY29uZmlnLm1ha2Vk aXJzX3AoKQorLQorLSAgICAgICAgSWYgdGhlIGBgYXBwZGlyc2BgIG1vZHVsZSBpcyBub3QgaW5z dGFsbGVkLCBpbnZvY2F0aW9uCistICAgICAgICBvZiBzcGVjaWFsIHdpbGwgcmFpc2UgYW4gSW1w b3J0RXJyb3IuCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBmdW5jdG9vbHMucGFydGlh bChTcGVjaWFsUmVzb2x2ZXIsIGNscykKKy0KKy0KKy1jbGFzcyBTcGVjaWFsUmVzb2x2ZXIob2Jq ZWN0KToKKy0gICAgY2xhc3MgUmVzb2x2ZXJTY29wZToKKy0gICAgICAgIGRlZiBfX2luaXRfXyhz ZWxmLCBwYXRocywgc2NvcGUpOgorLSAgICAgICAgICAgIHNlbGYucGF0aHMgPSBwYXRocworLSAg ICAgICAgICAgIHNlbGYuc2NvcGUgPSBzY29wZQorLQorLSAgICAgICAgZGVmIF9fZ2V0YXR0cl9f KHNlbGYsIGNsYXNzXyk6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYucGF0aHMuZ2V0X2Rpcihz ZWxmLnNjb3BlLCBjbGFzc18pCistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoX2NsYXNz LCAqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgYXBwZGlycyA9IGltcG9ydGxpYi5pbXBvcnRf bW9kdWxlKCdhcHBkaXJzJykKKy0KKy0gICAgICAgICMgbGV0IGFwcG5hbWUgZGVmYXVsdCB0byBO b25lIHVudGlsCistICAgICAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9BY3RpdmVTdGF0ZS9hcHBk aXJzL2lzc3Vlcy81NSBpcyBzb2x2ZWQuCistICAgICAgICBub3QgYXJncyBhbmQga3dhcmdzLnNl dGRlZmF1bHQoJ2FwcG5hbWUnLCBOb25lKQorLQorLSAgICAgICAgdmFycyhzZWxmKS51cGRhdGUo CistICAgICAgICAgICAgcGF0aF9jbGFzcz1wYXRoX2NsYXNzLAorLSAgICAgICAgICAgIHdyYXBw ZXI9YXBwZGlycy5BcHBEaXJzKCphcmdzLCAqKmt3YXJncyksCistICAgICAgICApCistCistICAg IGRlZiBfX2dldGF0dHJfXyhzZWxmLCBzY29wZSk6CistICAgICAgICByZXR1cm4gc2VsZi5SZXNv bHZlclNjb3BlKHNlbGYsIHNjb3BlKQorLQorLSAgICBkZWYgZ2V0X2RpcihzZWxmLCBzY29wZSwg Y2xhc3NfKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmV0dXJuIHRoZSBjYWxsYWJsZSBmdW5j dGlvbiBmcm9tIGFwcGRpcnMsIGJ1dCB3aXRoIHRoZQorLSAgICAgICAgcmVzdWx0IHdyYXBwZWQg aW4gc2VsZi5wYXRoX2NsYXNzCistICAgICAgICAiIiIKKy0gICAgICAgIHByb3BfbmFtZSA9ICd7 c2NvcGV9X3tjbGFzc199X2RpcicuZm9ybWF0KCoqbG9jYWxzKCkpCistICAgICAgICB2YWx1ZSA9 IGdldGF0dHIoc2VsZi53cmFwcGVyLCBwcm9wX25hbWUpCistICAgICAgICBNdWx0aVBhdGggPSBN dWx0aS5mb3JfY2xhc3Moc2VsZi5wYXRoX2NsYXNzKQorLSAgICAgICAgcmV0dXJuIE11bHRpUGF0 aC5kZXRlY3QodmFsdWUpCistCistCistY2xhc3MgTXVsdGk6CistICAgICIiIgorLSAgICBBIG1p eC1pbiBmb3IgYSBQYXRoIHdoaWNoIG1heSBjb250YWluIG11bHRpcGxlIFBhdGggc2VwYXJhdGVk IGJ5IHBhdGhzZXAuCistICAgICIiIgorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIGZvcl9j bGFzcyhjbHMsIHBhdGhfY2xzKToKKy0gICAgICAgIG5hbWUgPSAnTXVsdGknICsgcGF0aF9jbHMu X19uYW1lX18KKy0gICAgICAgIGlmIFBZMjoKKy0gICAgICAgICAgICBuYW1lID0gc3RyKG5hbWUp CistICAgICAgICByZXR1cm4gdHlwZShuYW1lLCAoY2xzLCBwYXRoX2NscyksIHt9KQorLQorLSAg ICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIGRldGVjdChjbHMsIGlucHV0KToKKy0gICAgICAgIGlm IG9zLnBhdGhzZXAgbm90IGluIGlucHV0OgorLSAgICAgICAgICAgIGNscyA9IGNscy5fbmV4dF9j bGFzcworLSAgICAgICAgcmV0dXJuIGNscyhpbnB1dCkKKy0KKy0gICAgZGVmIF9faXRlcl9fKHNl bGYpOgorLSAgICAgICAgcmV0dXJuIGl0ZXIobWFwKHNlbGYuX25leHRfY2xhc3MsIHNlbGYuc3Bs aXQob3MucGF0aHNlcCkpKQorLQorLSAgICBAQ2xhc3NQcm9wZXJ0eQorLSAgICBAY2xhc3NtZXRo b2QKKy0gICAgZGVmIF9uZXh0X2NsYXNzKGNscyk6CistICAgICAgICAiIiIKKy0gICAgICAgIE11 bHRpLXN1YmNsYXNzZXMgc2hvdWxkIHVzZSB0aGUgcGFyZW50IGNsYXNzCistICAgICAgICAiIiIK Ky0gICAgICAgIHJldHVybiBuZXh0KAorLSAgICAgICAgICAgIGNsYXNzXworLSAgICAgICAgICAg IGZvciBjbGFzc18gaW4gY2xzLl9fbXJvX18KKy0gICAgICAgICAgICBpZiBub3QgaXNzdWJjbGFz cyhjbGFzc18sIE11bHRpKQorLSAgICAgICAgKQorLQorLQorLWNsYXNzIHRlbXBkaXIoUGF0aCk6 CistICAgICIiIgorLSAgICBBIHRlbXBvcmFyeSBkaXJlY3RvcnkgdmlhIDpmdW5jOmB0ZW1wZmls ZS5ta2R0ZW1wYCwgYW5kIGNvbnN0cnVjdGVkIHdpdGggdGhlCistICAgIHNhbWUgcGFyYW1ldGVy cyB0aGF0IHlvdSBjYW4gdXNlIGFzIGEgY29udGV4dCBtYW5hZ2VyLgorLQorLSAgICBFeGFtcGxl OgorLQorLSAgICAgICAgd2l0aCB0ZW1wZGlyKCkgYXMgZDoKKy0gICAgICAgICAgICAjIGRvIHN0 dWZmIHdpdGggdGhlIFBhdGggb2JqZWN0ICJkIgorLQorLSAgICAgICAgIyBoZXJlIHRoZSBkaXJl Y3RvcnkgaXMgZGVsZXRlZCBhdXRvbWF0aWNhbGx5CistCistICAgIC4uIHNlZWFsc286OiA6ZnVu YzpgdGVtcGZpbGUubWtkdGVtcGAKKy0gICAgIiIiCistCistICAgIEBDbGFzc1Byb3BlcnR5Cist ICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgX25leHRfY2xhc3MoY2xzKToKKy0gICAgICAgIHJl dHVybiBQYXRoCistCistICAgIGRlZiBfX25ld19fKGNscywgKmFyZ3MsICoqa3dhcmdzKToKKy0g ICAgICAgIGRpcm5hbWUgPSB0ZW1wZmlsZS5ta2R0ZW1wKCphcmdzLCAqKmt3YXJncykKKy0gICAg ICAgIHJldHVybiBzdXBlcih0ZW1wZGlyLCBjbHMpLl9fbmV3X18oY2xzLCBkaXJuYW1lKQorLQor LSAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgICAgIHBhc3MK Ky0KKy0gICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKy0gICAgICAgIHJldHVybiBzZWxmCistCist ICAgIGRlZiBfX2V4aXRfXyhzZWxmLCBleGNfdHlwZSwgZXhjX3ZhbHVlLCB0cmFjZWJhY2spOgor LSAgICAgICAgaWYgbm90IGV4Y192YWx1ZToKKy0gICAgICAgICAgICBzZWxmLnJtdHJlZSgpCist CistCistZGVmIF9tdWx0aV9wZXJtaXNzaW9uX21hc2sobW9kZSk6CistICAgICIiIgorLSAgICBT dXBwb3J0IG11bHRpcGxlLCBjb21tYS1zZXBhcmF0ZWQgVW5peCBjaG1vZCBzeW1ib2xpYyBtb2Rl cy4KKy0KKy0gICAgPj4+IF9tdWx0aV9wZXJtaXNzaW9uX21hc2soJ2E9cix1K3cnKSgwKSA9PSAw bzY0NAorLSAgICBUcnVlCistICAgICIiIgorLSAgICBjb21wb3NlID0gbGFtYmRhIGYsIGc6IGxh bWJkYSAqYXJncywgKiprd2FyZ3M6IGcoZigqYXJncywgKiprd2FyZ3MpKQorLSAgICByZXR1cm4g ZnVuY3Rvb2xzLnJlZHVjZShjb21wb3NlLCBtYXAoX3Blcm1pc3Npb25fbWFzaywgbW9kZS5zcGxp dCgnLCcpKSkKKy0KKy0KKy1kZWYgX3Blcm1pc3Npb25fbWFzayhtb2RlKToKKy0gICAgIiIiCist ICAgIENvbnZlcnQgYSBVbml4IGNobW9kIHN5bWJvbGljIG1vZGUgbGlrZSBgYCd1Z28rcnd4J2Bg IHRvIGEgZnVuY3Rpb24KKy0gICAgc3VpdGFibGUgZm9yIGFwcGx5aW5nIHRvIGEgbWFzayB0byBh ZmZlY3QgdGhhdCBjaGFuZ2UuCistCistICAgID4+PiBtYXNrID0gX3Blcm1pc3Npb25fbWFzaygn dWdvK3J3eCcpCistICAgID4+PiBtYXNrKDBvNTU0KSA9PSAwbzc3NworLSAgICBUcnVlCistCist ICAgID4+PiBfcGVybWlzc2lvbl9tYXNrKCdnby14JykoMG83NzcpID09IDBvNzY2CistICAgIFRy dWUKKy0KKy0gICAgPj4+IF9wZXJtaXNzaW9uX21hc2soJ28teCcpKDBvNDQ1KSA9PSAwbzQ0NAor LSAgICBUcnVlCistCistICAgID4+PiBfcGVybWlzc2lvbl9tYXNrKCdhK3gnKSgwKSA9PSAwbzEx MQorLSAgICBUcnVlCistCistICAgID4+PiBfcGVybWlzc2lvbl9tYXNrKCdhPXJ3JykoMG8wNTcp ID09IDBvNjY2CistICAgIFRydWUKKy0KKy0gICAgPj4+IF9wZXJtaXNzaW9uX21hc2soJ3U9eCcp KDBvNjY2KSA9PSAwbzE2NgorLSAgICBUcnVlCistCistICAgID4+PiBfcGVybWlzc2lvbl9tYXNr KCdnPScpKDBvMTU3KSA9PSAwbzEwNworLSAgICBUcnVlCistICAgICIiIgorLSAgICAjIHBhcnNl IHRoZSBzeW1ib2xpYyBtb2RlCistICAgIHBhcnNlZCA9IHJlLm1hdGNoKCcoP1A8d2hvPlt1Z29h XSspKD9QPG9wPlstKz1dKSg/UDx3aGF0Pltyd3hdKikkJywgbW9kZSkKKy0gICAgaWYgbm90IHBh cnNlZDoKKy0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVucmVjb2duaXplZCBzeW1ib2xpYyBt b2RlIiwgbW9kZSkKKy0KKy0gICAgIyBnZW5lcmF0ZSBhIG1hc2sgcmVwcmVzZW50aW5nIHRoZSBz cGVjaWZpZWQgcGVybWlzc2lvbgorLSAgICBzcGVjX21hcCA9IGRpY3Qocj00LCB3PTIsIHg9MSkK Ky0gICAgc3BlY3MgPSAoc3BlY19tYXBbcGVybV0gZm9yIHBlcm0gaW4gcGFyc2VkLmdyb3VwKCd3 aGF0JykpCistICAgIHNwZWMgPSBmdW5jdG9vbHMucmVkdWNlKG9wZXJhdG9yLm9yXywgc3BlY3Ms IDApCistCistICAgICMgbm93IGFwcGx5IHNwZWMgdG8gZWFjaCBzdWJqZWN0IGluIHdobworLSAg ICBzaGlmdF9tYXAgPSBkaWN0KHU9NiwgZz0zLCBvPTApCistICAgIHdobyA9IHBhcnNlZC5ncm91 cCgnd2hvJykucmVwbGFjZSgnYScsICd1Z28nKQorLSAgICBtYXNrcyA9IChzcGVjIDw8IHNoaWZ0 X21hcFtzdWJqXSBmb3Igc3ViaiBpbiB3aG8pCistICAgIG1hc2sgPSBmdW5jdG9vbHMucmVkdWNl KG9wZXJhdG9yLm9yXywgbWFza3MpCistCistICAgIG9wID0gcGFyc2VkLmdyb3VwKCdvcCcpCist CistICAgICMgaWYgb3AgaXMgLSwgaW52ZXJ0IHRoZSBtYXNrCistICAgIGlmIG9wID09ICctJzoK Ky0gICAgICAgIG1hc2sgXj0gMG83NzcKKy0KKy0gICAgIyBpZiBvcCBpcyA9LCByZXRhaW4gZXh0 YW50IHZhbHVlcyBmb3IgdW5yZWZlcmVuY2VkIHN1YmplY3RzCistICAgIGlmIG9wID09ICc9JzoK Ky0gICAgICAgIG1hc2tzID0gKDBvNyA8PCBzaGlmdF9tYXBbc3Vial0gZm9yIHN1YmogaW4gd2hv KQorLSAgICAgICAgcmV0YWluID0gZnVuY3Rvb2xzLnJlZHVjZShvcGVyYXRvci5vcl8sIG1hc2tz KSBeIDBvNzc3CistCistICAgIG9wX21hcCA9IHsKKy0gICAgICAgICcrJzogb3BlcmF0b3Iub3Jf LAorLSAgICAgICAgJy0nOiBvcGVyYXRvci5hbmRfLAorLSAgICAgICAgJz0nOiBsYW1iZGEgbWFz aywgdGFyZ2V0OiB0YXJnZXQgJiByZXRhaW4gXiBtYXNrLAorLSAgICB9CistICAgIHJldHVybiBm dW5jdG9vbHMucGFydGlhbChvcF9tYXBbb3BdLCBtYXNrKQorLQorLQorLWNsYXNzIENhc2VJbnNl bnNpdGl2ZVBhdHRlcm4odGV4dF90eXBlKToKKy0gICAgIiIiCistICAgIEEgc3RyaW5nIHdpdGgg YSBgYCdub3JtY2FzZSdgYCBwcm9wZXJ0eSwgc3VpdGFibGUgZm9yIHBhc3NpbmcgdG8KKy0gICAg Om1ldGg6YGxpc3RkaXJgLCA6bWV0aDpgZGlyc2AsIDptZXRoOmBmaWxlc2AsIDptZXRoOmB3YWxr YCwKKy0gICAgOm1ldGg6YHdhbGtkaXJzYCwgb3IgOm1ldGg6YHdhbGtmaWxlc2AgdG8gbWF0Y2gg Y2FzZS1pbnNlbnNpdGl2ZS4KKy0KKy0gICAgRm9yIGV4YW1wbGUsIHRvIGdldCBhbGwgZmlsZXMg ZW5kaW5nIGluIC5weSwgLlB5LCAucFksIG9yIC5QWSBpbiB0aGUKKy0gICAgY3VycmVudCBkaXJl Y3Rvcnk6OgorLQorLSAgICAgICAgZnJvbSBwYXRoIGltcG9ydCBQYXRoLCBDYXNlSW5zZW5zaXRp dmVQYXR0ZXJuIGFzIGNpCistICAgICAgICBQYXRoKCcuJykuZmlsZXMoY2koJyoucHknKSkKKy0g ICAgIiIiCistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgbm9ybWNhc2Uoc2VsZik6CistICAg ICAgICByZXR1cm4gX19pbXBvcnRfXygnbnRwYXRoJykubm9ybWNhc2UKKy0KKy0jIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKy0jIEJhY2t3YXJkLWNvbXBhdGliaWxpdHkKKy1jbGFzcyBwYXRoKFBh dGgpOgorLSAgICBkZWYgX19uZXdfXyhjbHMsICphcmdzLCAqKmt3YXJncyk6CistICAgICAgICBt c2cgPSAicGF0aCBpcyBkZXByZWNhdGVkLiBVc2UgUGF0aCBpbnN0ZWFkLiIKKy0gICAgICAgIHdh cm5pbmdzLndhcm4obXNnLCBEZXByZWNhdGlvbldhcm5pbmcpCistICAgICAgICByZXR1cm4gUGF0 aC5fX25ld19fKGNscywgKmFyZ3MsICoqa3dhcmdzKQorLQorLQorLV9fYWxsX18gKz0gWydwYXRo J10KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK2RpZmYgLS1naXQgYS90YXNrcy9fdmVuZG9y L3BhdGhsaWIucHkgYi90YXNrcy9fdmVuZG9yL3BhdGhsaWIucHkKK2RlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggOWFiMGU3MC4uMDAwMDAwMAorLS0tIGEvdGFza3MvX3ZlbmRvci9wYXRo bGliLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSwxMjgwICswLDAgQEAKKy1pbXBvcnQgZm5tYXRj aAorLWltcG9ydCBmdW5jdG9vbHMKKy1pbXBvcnQgaW8KKy1pbXBvcnQgbnRwYXRoCistaW1wb3J0 IG9zCistaW1wb3J0IHBvc2l4cGF0aAorLWltcG9ydCByZQorLWltcG9ydCBzeXMKKy1pbXBvcnQg dGltZQorLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IFNlcXVlbmNlCistZnJvbSBjb250ZXh0bGli IGltcG9ydCBjb250ZXh0bWFuYWdlcgorLWZyb20gZXJybm8gaW1wb3J0IEVJTlZBTCwgRU5PRU5U CistZnJvbSBvcGVyYXRvciBpbXBvcnQgYXR0cmdldHRlcgorLWZyb20gc3RhdCBpbXBvcnQgU19J U0RJUiwgU19JU0xOSywgU19JU1JFRywgU19JU1NPQ0ssIFNfSVNCTEssIFNfSVNDSFIsIFNfSVNG SUZPCistdHJ5OgorLSAgICBmcm9tIHVybGxpYiBpbXBvcnQgcXVvdGUgYXMgdXJscXVvdGUsIHF1 b3RlIGFzIHVybHF1b3RlX2Zyb21fYnl0ZXMKKy1leGNlcHQgSW1wb3J0RXJyb3I6CistICAgIGZy b20gdXJsbGliLnBhcnNlIGltcG9ydCBxdW90ZSBhcyB1cmxxdW90ZSwgcXVvdGVfZnJvbV9ieXRl cyBhcyB1cmxxdW90ZV9mcm9tX2J5dGVzCistCistCistdHJ5OgorLSAgICBpbnRlcm4gPSBpbnRl cm4KKy1leGNlcHQgTmFtZUVycm9yOgorLSAgICBpbnRlcm4gPSBzeXMuaW50ZXJuCistdHJ5Ogor LSAgICBiYXNlc3RyaW5nID0gYmFzZXN0cmluZworLWV4Y2VwdCBOYW1lRXJyb3I6CistICAgIGJh c2VzdHJpbmcgPSBzdHIKKy0KKy1zdXBwb3J0c19zeW1saW5rcyA9IFRydWUKKy10cnk6CistICAg IGltcG9ydCBudAorLWV4Y2VwdCBJbXBvcnRFcnJvcjoKKy0gICAgbnQgPSBOb25lCistZWxzZToK Ky0gICAgaWYgc3lzLmdldHdpbmRvd3N2ZXJzaW9uKClbOjJdID49ICg2LCAwKSBhbmQgc3lzLnZl cnNpb25faW5mbyA+PSAoMywgMik6CistICAgICAgICBmcm9tIG50IGltcG9ydCBfZ2V0ZmluYWxw YXRobmFtZQorLSAgICBlbHNlOgorLSAgICAgICAgc3VwcG9ydHNfc3ltbGlua3MgPSBGYWxzZQor LSAgICAgICAgX2dldGZpbmFscGF0aG5hbWUgPSBOb25lCistCistCistX19hbGxfXyA9IFsKKy0g ICAgIlB1cmVQYXRoIiwgIlB1cmVQb3NpeFBhdGgiLCAiUHVyZVdpbmRvd3NQYXRoIiwKKy0gICAg IlBhdGgiLCAiUG9zaXhQYXRoIiwgIldpbmRvd3NQYXRoIiwKKy0gICAgXQorLQorLSMKKy0jIElu dGVybmFscworLSMKKy0KKy1fcHkyID0gc3lzLnZlcnNpb25faW5mbyA8ICgzLCkKKy1fcHkyX2Zz X2VuY29kaW5nID0gJ2FzY2lpJworLQorLWRlZiBfcHkyX2ZzZW5jb2RlKHBhcnRzKToKKy0gICAg IyBweTIgPT4gbWluaW1hbCB1bmljb2RlIHN1cHBvcnQKKy0gICAgcmV0dXJuIFtwYXJ0LmVuY29k ZShfcHkyX2ZzX2VuY29kaW5nKSBpZiBpc2luc3RhbmNlKHBhcnQsIHVuaWNvZGUpCistICAgICAg ICAgICAgZWxzZSBwYXJ0IGZvciBwYXJ0IGluIHBhcnRzXQorLQorLWRlZiBfaXNfd2lsZGNhcmRf cGF0dGVybihwYXQpOgorLSAgICAjIFdoZXRoZXIgdGhpcyBwYXR0ZXJuIG5lZWRzIGFjdHVhbCBt YXRjaGluZyB1c2luZyBmbm1hdGNoLCBvciBjYW4KKy0gICAgIyBiZSBsb29rZWQgdXAgZGlyZWN0 bHkgYXMgYSBmaWxlLgorLSAgICByZXR1cm4gIioiIGluIHBhdCBvciAiPyIgaW4gcGF0IG9yICJb IiBpbiBwYXQKKy0KKy0KKy1jbGFzcyBfRmxhdm91cihvYmplY3QpOgorLSAgICAiIiJBIGZsYXZv dXIgaW1wbGVtZW50cyBhIHBhcnRpY3VsYXIgKHBsYXRmb3JtLXNwZWNpZmljKSBzZXQgb2YgcGF0 aAorLSAgICBzZW1hbnRpY3MuIiIiCistCistICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKy0gICAg ICAgIHNlbGYuam9pbiA9IHNlbGYuc2VwLmpvaW4KKy0KKy0gICAgZGVmIHBhcnNlX3BhcnRzKHNl bGYsIHBhcnRzKToKKy0gICAgICAgIGlmIF9weTI6CistICAgICAgICAgICAgcGFydHMgPSBfcHky X2ZzZW5jb2RlKHBhcnRzKQorLSAgICAgICAgcGFyc2VkID0gW10KKy0gICAgICAgIHNlcCA9IHNl bGYuc2VwCistICAgICAgICBhbHRzZXAgPSBzZWxmLmFsdHNlcAorLSAgICAgICAgZHJ2ID0gcm9v dCA9ICcnCistICAgICAgICBpdCA9IHJldmVyc2VkKHBhcnRzKQorLSAgICAgICAgZm9yIHBhcnQg aW4gaXQ6CistICAgICAgICAgICAgaWYgbm90IHBhcnQ6CistICAgICAgICAgICAgICAgIGNvbnRp bnVlCistICAgICAgICAgICAgaWYgYWx0c2VwOgorLSAgICAgICAgICAgICAgICBwYXJ0ID0gcGFy dC5yZXBsYWNlKGFsdHNlcCwgc2VwKQorLSAgICAgICAgICAgIGRydiwgcm9vdCwgcmVsID0gc2Vs Zi5zcGxpdHJvb3QocGFydCkKKy0gICAgICAgICAgICBpZiBzZXAgaW4gcmVsOgorLSAgICAgICAg ICAgICAgICBmb3IgeCBpbiByZXZlcnNlZChyZWwuc3BsaXQoc2VwKSk6CistICAgICAgICAgICAg ICAgICAgICBpZiB4IGFuZCB4ICE9ICcuJzoKKy0gICAgICAgICAgICAgICAgICAgICAgICBwYXJz ZWQuYXBwZW5kKGludGVybih4KSkKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAg ICBpZiByZWwgYW5kIHJlbCAhPSAnLic6CistICAgICAgICAgICAgICAgICAgICBwYXJzZWQuYXBw ZW5kKGludGVybihyZWwpKQorLSAgICAgICAgICAgIGlmIGRydiBvciByb290OgorLSAgICAgICAg ICAgICAgICBpZiBub3QgZHJ2OgorLSAgICAgICAgICAgICAgICAgICAgIyBJZiBubyBkcml2ZSBp cyBwcmVzZW50LCB0cnkgdG8gZmluZCBvbmUgaW4gdGhlIHByZXZpb3VzCistICAgICAgICAgICAg ICAgICAgICAjIHBhcnRzLiBUaGlzIG1ha2VzIHRoZSByZXN1bHQgb2YgcGFyc2luZyBlLmcuCist ICAgICAgICAgICAgICAgICAgICAjICgiQzoiLCAiLyIsICJhIikgcmVhc29uYWJseSBpbnR1aXRp dmUuCistICAgICAgICAgICAgICAgICAgICBmb3IgcGFydCBpbiBpdDoKKy0gICAgICAgICAgICAg ICAgICAgICAgICBkcnYgPSBzZWxmLnNwbGl0cm9vdChwYXJ0KVswXQorLSAgICAgICAgICAgICAg ICAgICAgICAgIGlmIGRydjoKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKy0g ICAgICAgICAgICAgICAgYnJlYWsKKy0gICAgICAgIGlmIGRydiBvciByb290OgorLSAgICAgICAg ICAgIHBhcnNlZC5hcHBlbmQoZHJ2ICsgcm9vdCkKKy0gICAgICAgIHBhcnNlZC5yZXZlcnNlKCkK Ky0gICAgICAgIHJldHVybiBkcnYsIHJvb3QsIHBhcnNlZAorLQorLSAgICBkZWYgam9pbl9wYXJz ZWRfcGFydHMoc2VsZiwgZHJ2LCByb290LCBwYXJ0cywgZHJ2Miwgcm9vdDIsIHBhcnRzMik6Cist ICAgICAgICAiIiIKKy0gICAgICAgIEpvaW4gdGhlIHR3byBwYXRocyByZXByZXNlbnRlZCBieSB0 aGUgcmVzcGVjdGl2ZQorLSAgICAgICAgKGRyaXZlLCByb290LCBwYXJ0cykgdHVwbGVzLiAgUmV0 dXJuIGEgbmV3IChkcml2ZSwgcm9vdCwgcGFydHMpIHR1cGxlLgorLSAgICAgICAgIiIiCistICAg ICAgICBpZiByb290MjoKKy0gICAgICAgICAgICBpZiBub3QgZHJ2MiBhbmQgZHJ2OgorLSAgICAg ICAgICAgICAgICByZXR1cm4gZHJ2LCByb290MiwgW2RydiArIHJvb3QyXSArIHBhcnRzMlsxOl0K Ky0gICAgICAgIGVsaWYgZHJ2MjoKKy0gICAgICAgICAgICBpZiBkcnYyID09IGRydiBvciBzZWxm LmNhc2Vmb2xkKGRydjIpID09IHNlbGYuY2FzZWZvbGQoZHJ2KToKKy0gICAgICAgICAgICAgICAg IyBTYW1lIGRyaXZlID0+IHNlY29uZCBwYXRoIGlzIHJlbGF0aXZlIHRvIHRoZSBmaXJzdAorLSAg ICAgICAgICAgICAgICByZXR1cm4gZHJ2LCByb290LCBwYXJ0cyArIHBhcnRzMlsxOl0KKy0gICAg ICAgIGVsc2U6CistICAgICAgICAgICAgIyBTZWNvbmQgcGF0aCBpcyBub24tYW5jaG9yZWQgKGNv bW1vbiBjYXNlKQorLSAgICAgICAgICAgIHJldHVybiBkcnYsIHJvb3QsIHBhcnRzICsgcGFydHMy CistICAgICAgICByZXR1cm4gZHJ2Miwgcm9vdDIsIHBhcnRzMgorLQorLQorLWNsYXNzIF9XaW5k b3dzRmxhdm91cihfRmxhdm91cik6CistICAgICMgUmVmZXJlbmNlIGZvciBXaW5kb3dzIHBhdGhz IGNhbiBiZSBmb3VuZCBhdAorLSAgICAjIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMv bGlicmFyeS9hYTM2NTI0NyUyOHY9dnMuODUlMjkuYXNweAorLQorLSAgICBzZXAgPSAnXFwnCist ICAgIGFsdHNlcCA9ICcvJworLSAgICBoYXNfZHJ2ID0gVHJ1ZQorLSAgICBwYXRobW9kID0gbnRw YXRoCistCistICAgIGlzX3N1cHBvcnRlZCA9IChudCBpcyBub3QgTm9uZSkKKy0KKy0gICAgZHJp dmVfbGV0dGVycyA9ICgKKy0gICAgICAgIHNldChjaHIoeCkgZm9yIHggaW4gcmFuZ2Uob3JkKCdh JyksIG9yZCgneicpICsgMSkpIHwKKy0gICAgICAgIHNldChjaHIoeCkgZm9yIHggaW4gcmFuZ2Uo b3JkKCdBJyksIG9yZCgnWicpICsgMSkpCistICAgICkKKy0gICAgZXh0X25hbWVzcGFjZV9wcmVm aXggPSAnXFxcXD9cXCcKKy0KKy0gICAgcmVzZXJ2ZWRfbmFtZXMgPSAoCistICAgICAgICBzZXQo WydDT04nLCAnUFJOJywgJ0FVWCcsICdOVUwnXSkgfAorLSAgICAgICAgc2V0KFsnQ09NJWQnICUg aSBmb3IgaSBpbiByYW5nZSgxLCAxMCldKSB8CistICAgICAgICBzZXQoWydMUFQlZCcgJSBpIGZv ciBpIGluIHJhbmdlKDEsIDEwKV0pCistICAgICAgICApCistCistICAgICMgSW50ZXJlc3Rpbmcg ZmluZGluZ3MgYWJvdXQgZXh0ZW5kZWQgcGF0aHM6CistICAgICMgLSAnXFw/XGM6XGEnLCAnLy8/ L2M6XGEnIGFuZCAnLy8/L2M6L2EnIGFyZSBhbGwgc3VwcG9ydGVkCistICAgICMgICBidXQgJ1xc P1xjOi9hJyBpcyBub3QKKy0gICAgIyAtIGV4dGVuZGVkIHBhdGhzIGFyZSBhbHdheXMgYWJzb2x1 dGU7ICJyZWxhdGl2ZSIgZXh0ZW5kZWQgcGF0aHMgd2lsbAorLSAgICAjICAgZmFpbC4KKy0KKy0g ICAgZGVmIHNwbGl0cm9vdChzZWxmLCBwYXJ0LCBzZXA9c2VwKToKKy0gICAgICAgIGZpcnN0ID0g cGFydFswOjFdCistICAgICAgICBzZWNvbmQgPSBwYXJ0WzE6Ml0KKy0gICAgICAgIGlmIChzZWNv bmQgPT0gc2VwIGFuZCBmaXJzdCA9PSBzZXApOgorLSAgICAgICAgICAgICMgWFhYIGV4dGVuZGVk IHBhdGhzIHNob3VsZCBhbHNvIGRpc2FibGUgdGhlIGNvbGxhcHNpbmcgb2YgIi4iCistICAgICAg ICAgICAgIyBjb21wb25lbnRzIChhY2NvcmRpbmcgdG8gTVNETiBkb2NzKS4KKy0gICAgICAgICAg ICBwcmVmaXgsIHBhcnQgPSBzZWxmLl9zcGxpdF9leHRlbmRlZF9wYXRoKHBhcnQpCistICAgICAg ICAgICAgZmlyc3QgPSBwYXJ0WzA6MV0KKy0gICAgICAgICAgICBzZWNvbmQgPSBwYXJ0WzE6Ml0K Ky0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgcHJlZml4ID0gJycKKy0gICAgICAgIHRoaXJk ID0gcGFydFsyOjNdCistICAgICAgICBpZiAoc2Vjb25kID09IHNlcCBhbmQgZmlyc3QgPT0gc2Vw IGFuZCB0aGlyZCAhPSBzZXApOgorLSAgICAgICAgICAgICMgaXMgYSBVTkMgcGF0aDoKKy0gICAg ICAgICAgICAjIHZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2diByb290CistICAgICAgICAgICAgIyBcXG1h Y2hpbmVcbW91bnRwb2ludFxkaXJlY3RvcnlcZXRjXC4uLgorLSAgICAgICAgICAgICMgICAgICAg ICAgICBkaXJlY3RvcnkgXl5eXl5eXl5eXl5eXl4KKy0gICAgICAgICAgICBpbmRleCA9IHBhcnQu ZmluZChzZXAsIDIpCistICAgICAgICAgICAgaWYgaW5kZXggIT0gLTE6CistICAgICAgICAgICAg ICAgIGluZGV4MiA9IHBhcnQuZmluZChzZXAsIGluZGV4ICsgMSkKKy0gICAgICAgICAgICAgICAg IyBhIFVOQyBwYXRoIGNhbid0IGhhdmUgdHdvIHNsYXNoZXMgaW4gYSByb3cKKy0gICAgICAgICAg ICAgICAgIyAoYWZ0ZXIgdGhlIGluaXRpYWwgdHdvKQorLSAgICAgICAgICAgICAgICBpZiBpbmRl eDIgIT0gaW5kZXggKyAxOgorLSAgICAgICAgICAgICAgICAgICAgaWYgaW5kZXgyID09IC0xOgor LSAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4MiA9IGxlbihwYXJ0KQorLSAgICAgICAgICAg ICAgICAgICAgaWYgcHJlZml4OgorLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmVm aXggKyBwYXJ0WzE6aW5kZXgyXSwgc2VwLCBwYXJ0W2luZGV4MisxOl0KKy0gICAgICAgICAgICAg ICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnRbOmluZGV4 Ml0sIHNlcCwgcGFydFtpbmRleDIrMTpdCistICAgICAgICBkcnYgPSByb290ID0gJycKKy0gICAg ICAgIGlmIHNlY29uZCA9PSAnOicgYW5kIGZpcnN0IGluIHNlbGYuZHJpdmVfbGV0dGVyczoKKy0g ICAgICAgICAgICBkcnYgPSBwYXJ0WzoyXQorLSAgICAgICAgICAgIHBhcnQgPSBwYXJ0WzI6XQor LSAgICAgICAgICAgIGZpcnN0ID0gdGhpcmQKKy0gICAgICAgIGlmIGZpcnN0ID09IHNlcDoKKy0g ICAgICAgICAgICByb290ID0gZmlyc3QKKy0gICAgICAgICAgICBwYXJ0ID0gcGFydC5sc3RyaXAo c2VwKQorLSAgICAgICAgcmV0dXJuIHByZWZpeCArIGRydiwgcm9vdCwgcGFydAorLQorLSAgICBk ZWYgY2FzZWZvbGQoc2VsZiwgcyk6CistICAgICAgICByZXR1cm4gcy5sb3dlcigpCistCistICAg IGRlZiBjYXNlZm9sZF9wYXJ0cyhzZWxmLCBwYXJ0cyk6CistICAgICAgICByZXR1cm4gW3AubG93 ZXIoKSBmb3IgcCBpbiBwYXJ0c10KKy0KKy0gICAgZGVmIHJlc29sdmUoc2VsZiwgcGF0aCk6Cist ICAgICAgICBzID0gc3RyKHBhdGgpCistICAgICAgICBpZiBub3QgczoKKy0gICAgICAgICAgICBy ZXR1cm4gb3MuZ2V0Y3dkKCkKKy0gICAgICAgIGlmIF9nZXRmaW5hbHBhdGhuYW1lIGlzIG5vdCBO b25lOgorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9leHRfdG9fbm9ybWFsKF9nZXRmaW5hbHBh dGhuYW1lKHMpKQorLSAgICAgICAgIyBNZWFucyBmYWxsYmFjayBvbiBhYnNvbHV0ZQorLSAgICAg ICAgcmV0dXJuIE5vbmUKKy0KKy0gICAgZGVmIF9zcGxpdF9leHRlbmRlZF9wYXRoKHNlbGYsIHMs IGV4dF9wcmVmaXg9ZXh0X25hbWVzcGFjZV9wcmVmaXgpOgorLSAgICAgICAgcHJlZml4ID0gJycK Ky0gICAgICAgIGlmIHMuc3RhcnRzd2l0aChleHRfcHJlZml4KToKKy0gICAgICAgICAgICBwcmVm aXggPSBzWzo0XQorLSAgICAgICAgICAgIHMgPSBzWzQ6XQorLSAgICAgICAgICAgIGlmIHMuc3Rh cnRzd2l0aCgnVU5DXFwnKToKKy0gICAgICAgICAgICAgICAgcHJlZml4ICs9IHNbOjNdCistICAg ICAgICAgICAgICAgIHMgPSAnXFwnICsgc1szOl0KKy0gICAgICAgIHJldHVybiBwcmVmaXgsIHMK Ky0KKy0gICAgZGVmIF9leHRfdG9fbm9ybWFsKHNlbGYsIHMpOgorLSAgICAgICAgIyBUdXJuIGJh Y2sgYW4gZXh0ZW5kZWQgcGF0aCBpbnRvIGEgbm9ybWFsIERPUy1saWtlIHBhdGgKKy0gICAgICAg IHJldHVybiBzZWxmLl9zcGxpdF9leHRlbmRlZF9wYXRoKHMpWzFdCistCistICAgIGRlZiBpc19y ZXNlcnZlZChzZWxmLCBwYXJ0cyk6CistICAgICAgICAjIE5PVEU6IHRoZSBydWxlcyBmb3IgcmVz ZXJ2ZWQgbmFtZXMgc2VlbSBzb21ld2hhdCBjb21wbGljYXRlZAorLSAgICAgICAgIyAoZS5nLiBy Ii4uXE5VTCIgaXMgcmVzZXJ2ZWQgYnV0IG5vdCByImZvb1xOVUwiKS4KKy0gICAgICAgICMgV2Ug ZXJyIG9uIHRoZSBzaWRlIG9mIGNhdXRpb24gYW5kIHJldHVybiBUcnVlIGZvciBwYXRocyB3aGlj aCBhcmUKKy0gICAgICAgICMgbm90IGNvbnNpZGVyZWQgcmVzZXJ2ZWQgYnkgV2luZG93cy4KKy0g ICAgICAgIGlmIG5vdCBwYXJ0czoKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAg IGlmIHBhcnRzWzBdLnN0YXJ0c3dpdGgoJ1xcXFwnKToKKy0gICAgICAgICAgICAjIFVOQyBwYXRo cyBhcmUgbmV2ZXIgcmVzZXJ2ZWQKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAg IHJldHVybiBwYXJ0c1stMV0ucGFydGl0aW9uKCcuJylbMF0udXBwZXIoKSBpbiBzZWxmLnJlc2Vy dmVkX25hbWVzCistCistICAgIGRlZiBtYWtlX3VyaShzZWxmLCBwYXRoKToKKy0gICAgICAgICMg VW5kZXIgV2luZG93cywgZmlsZSBVUklzIHVzZSB0aGUgVVRGLTggZW5jb2RpbmcuCistICAgICAg ICBkcml2ZSA9IHBhdGguZHJpdmUKKy0gICAgICAgIGlmIGxlbihkcml2ZSkgPT0gMiBhbmQgZHJp dmVbMV0gPT0gJzonOgorLSAgICAgICAgICAgICMgSXQncyBhIHBhdGggb24gYSBsb2NhbCBkcml2 ZSA9PiAnZmlsZTovLy9jOi9hL2InCistICAgICAgICAgICAgcmVzdCA9IHBhdGguYXNfcG9zaXgo KVsyOl0ubHN0cmlwKCcvJykKKy0gICAgICAgICAgICByZXR1cm4gJ2ZpbGU6Ly8vJXMvJXMnICUg KAorLSAgICAgICAgICAgICAgICBkcml2ZSwgdXJscXVvdGVfZnJvbV9ieXRlcyhyZXN0LmVuY29k ZSgndXRmLTgnKSkpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICMgSXQncyBhIHBhdGgg b24gYSBuZXR3b3JrIGRyaXZlID0+ICdmaWxlOi8vaG9zdC9zaGFyZS9hL2InCistICAgICAgICAg ICAgcmV0dXJuICdmaWxlOicgKyB1cmxxdW90ZV9mcm9tX2J5dGVzKHBhdGguYXNfcG9zaXgoKS5l bmNvZGUoJ3V0Zi04JykpCistCistCistY2xhc3MgX1Bvc2l4Rmxhdm91cihfRmxhdm91cik6Cist ICAgIHNlcCA9ICcvJworLSAgICBhbHRzZXAgPSAnJworLSAgICBoYXNfZHJ2ID0gRmFsc2UKKy0g ICAgcGF0aG1vZCA9IHBvc2l4cGF0aAorLQorLSAgICBpc19zdXBwb3J0ZWQgPSAob3MubmFtZSAh PSAnbnQnKQorLQorLSAgICBkZWYgc3BsaXRyb290KHNlbGYsIHBhcnQsIHNlcD1zZXApOgorLSAg ICAgICAgaWYgcGFydCBhbmQgcGFydFswXSA9PSBzZXA6CistICAgICAgICAgICAgc3RyaXBwZWRf cGFydCA9IHBhcnQubHN0cmlwKHNlcCkKKy0gICAgICAgICAgICAjIEFjY29yZGluZyB0byBQT1NJ WCBwYXRoIHJlc29sdXRpb246CistICAgICAgICAgICAgIyBodHRwOi8vcHVicy5vcGVuZ3JvdXAu b3JnL29ubGluZXB1YnMvMDA5Njk1Mzk5L2Jhc2VkZWZzL3hiZF9jaGFwMDQuaHRtbCN0YWdfMDRf MTEKKy0gICAgICAgICAgICAjICJBIHBhdGhuYW1lIHRoYXQgYmVnaW5zIHdpdGggdHdvIHN1Y2Nl c3NpdmUgc2xhc2hlcyBtYXkgYmUKKy0gICAgICAgICAgICAjIGludGVycHJldGVkIGluIGFuIGlt cGxlbWVudGF0aW9uLWRlZmluZWQgbWFubmVyLCBhbHRob3VnaCBtb3JlCistICAgICAgICAgICAg IyB0aGFuIHR3byBsZWFkaW5nIHNsYXNoZXMgc2hhbGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBz bGFzaCIuCistICAgICAgICAgICAgaWYgbGVuKHBhcnQpIC0gbGVuKHN0cmlwcGVkX3BhcnQpID09 IDI6CistICAgICAgICAgICAgICAgIHJldHVybiAnJywgc2VwICogMiwgc3RyaXBwZWRfcGFydAor LSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHJldHVybiAnJywgc2VwLCBzdHJp cHBlZF9wYXJ0CistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHJldHVybiAnJywgJycsIHBh cnQKKy0KKy0gICAgZGVmIGNhc2Vmb2xkKHNlbGYsIHMpOgorLSAgICAgICAgcmV0dXJuIHMKKy0K Ky0gICAgZGVmIGNhc2Vmb2xkX3BhcnRzKHNlbGYsIHBhcnRzKToKKy0gICAgICAgIHJldHVybiBw YXJ0cworLQorLSAgICBkZWYgcmVzb2x2ZShzZWxmLCBwYXRoKToKKy0gICAgICAgIHNlcCA9IHNl bGYuc2VwCistICAgICAgICBhY2Nlc3NvciA9IHBhdGguX2FjY2Vzc29yCistICAgICAgICBzZWVu ID0ge30KKy0gICAgICAgIGRlZiBfcmVzb2x2ZShwYXRoLCByZXN0KToKKy0gICAgICAgICAgICBp ZiByZXN0LnN0YXJ0c3dpdGgoc2VwKToKKy0gICAgICAgICAgICAgICAgcGF0aCA9ICcnCistCist ICAgICAgICAgICAgZm9yIG5hbWUgaW4gcmVzdC5zcGxpdChzZXApOgorLSAgICAgICAgICAgICAg ICBpZiBub3QgbmFtZSBvciBuYW1lID09ICcuJzoKKy0gICAgICAgICAgICAgICAgICAgICMgY3Vy cmVudCBkaXIKKy0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgICAg IGlmIG5hbWUgPT0gJy4uJzoKKy0gICAgICAgICAgICAgICAgICAgICMgcGFyZW50IGRpcgorLSAg ICAgICAgICAgICAgICAgICAgcGF0aCwgXywgXyA9IHBhdGgucnBhcnRpdGlvbihzZXApCistICAg ICAgICAgICAgICAgICAgICBjb250aW51ZQorLSAgICAgICAgICAgICAgICBuZXdwYXRoID0gcGF0 aCArIHNlcCArIG5hbWUKKy0gICAgICAgICAgICAgICAgaWYgbmV3cGF0aCBpbiBzZWVuOgorLSAg ICAgICAgICAgICAgICAgICAgIyBBbHJlYWR5IHNlZW4gdGhpcyBwYXRoCistICAgICAgICAgICAg ICAgICAgICBwYXRoID0gc2VlbltuZXdwYXRoXQorLSAgICAgICAgICAgICAgICAgICAgaWYgcGF0 aCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICAgICAgICAgICAgICAjIHVzZSBjYWNoZWQgdmFs dWUKKy0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorLSAgICAgICAgICAgICAgICAg ICAgIyBUaGUgc3ltbGluayBpcyBub3QgcmVzb2x2ZWQsIHNvIHdlIG11c3QgaGF2ZSBhIHN5bWxp bmsgbG9vcC4KKy0gICAgICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiU3ltbGlu ayBsb29wIGZyb20gJXIiICUgbmV3cGF0aCkKKy0gICAgICAgICAgICAgICAgIyBSZXNvbHZlIHRo ZSBzeW1ib2xpYyBsaW5rCistICAgICAgICAgICAgICAgIHRyeToKKy0gICAgICAgICAgICAgICAg ICAgIHRhcmdldCA9IGFjY2Vzc29yLnJlYWRsaW5rKG5ld3BhdGgpCistICAgICAgICAgICAgICAg IGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9 IEVJTlZBTDoKKy0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgICAgICAg ICAgICAgIyBOb3QgYSBzeW1saW5rCistICAgICAgICAgICAgICAgICAgICBwYXRoID0gbmV3cGF0 aAorLSAgICAgICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICAgICAgc2VlbltuZXdw YXRoXSA9IE5vbmUgIyBub3QgcmVzb2x2ZWQgc3ltbGluaworLSAgICAgICAgICAgICAgICAgICAg cGF0aCA9IF9yZXNvbHZlKHBhdGgsIHRhcmdldCkKKy0gICAgICAgICAgICAgICAgICAgIHNlZW5b bmV3cGF0aF0gPSBwYXRoICMgcmVzb2x2ZWQgc3ltbGluaworLQorLSAgICAgICAgICAgIHJldHVy biBwYXRoCistICAgICAgICAjIE5PVEU6IGFjY29yZGluZyB0byBQT1NJWCwgZ2V0Y3dkKCkgY2Fu bm90IGNvbnRhaW4gcGF0aCBjb21wb25lbnRzCistICAgICAgICAjIHdoaWNoIGFyZSBzeW1saW5r cy4KKy0gICAgICAgIGJhc2UgPSAnJyBpZiBwYXRoLmlzX2Fic29sdXRlKCkgZWxzZSBvcy5nZXRj d2QoKQorLSAgICAgICAgcmV0dXJuIF9yZXNvbHZlKGJhc2UsIHN0cihwYXRoKSkgb3Igc2VwCist CistICAgIGRlZiBpc19yZXNlcnZlZChzZWxmLCBwYXJ0cyk6CistICAgICAgICByZXR1cm4gRmFs c2UKKy0KKy0gICAgZGVmIG1ha2VfdXJpKHNlbGYsIHBhdGgpOgorLSAgICAgICAgIyBXZSByZXBy ZXNlbnQgdGhlIHBhdGggdXNpbmcgdGhlIGxvY2FsIGZpbGVzeXN0ZW0gZW5jb2RpbmcsCistICAg ICAgICAjIGZvciBwb3J0YWJpbGl0eSB0byBvdGhlciBhcHBsaWNhdGlvbnMuCistICAgICAgICBi cGF0aCA9IGJ5dGVzKHBhdGgpCistICAgICAgICByZXR1cm4gJ2ZpbGU6Ly8nICsgdXJscXVvdGVf ZnJvbV9ieXRlcyhicGF0aCkKKy0KKy0KKy1fd2luZG93c19mbGF2b3VyID0gX1dpbmRvd3NGbGF2 b3VyKCkKKy1fcG9zaXhfZmxhdm91ciA9IF9Qb3NpeEZsYXZvdXIoKQorLQorLQorLWNsYXNzIF9B Y2Nlc3NvcjoKKy0gICAgIiIiQW4gYWNjZXNzb3IgaW1wbGVtZW50cyBhIHBhcnRpY3VsYXIgKHN5 c3RlbS1zcGVjaWZpYyBvciBub3QpIHdheSBvZgorLSAgICBhY2Nlc3NpbmcgcGF0aHMgb24gdGhl IGZpbGVzeXN0ZW0uIiIiCistCistCistY2xhc3MgX05vcm1hbEFjY2Vzc29yKF9BY2Nlc3Nvcik6 CistCistICAgIGRlZiBfd3JhcF9zdHJmdW5jKHN0cmZ1bmMpOgorLSAgICAgICAgQGZ1bmN0b29s cy53cmFwcyhzdHJmdW5jKQorLSAgICAgICAgZGVmIHdyYXBwZWQocGF0aG9iaiwgKmFyZ3MpOgor LSAgICAgICAgICAgIHJldHVybiBzdHJmdW5jKHN0cihwYXRob2JqKSwgKmFyZ3MpCistICAgICAg ICByZXR1cm4gc3RhdGljbWV0aG9kKHdyYXBwZWQpCistCistICAgIGRlZiBfd3JhcF9iaW5hcnlf c3RyZnVuYyhzdHJmdW5jKToKKy0gICAgICAgIEBmdW5jdG9vbHMud3JhcHMoc3RyZnVuYykKKy0g ICAgICAgIGRlZiB3cmFwcGVkKHBhdGhvYmpBLCBwYXRob2JqQiwgKmFyZ3MpOgorLSAgICAgICAg ICAgIHJldHVybiBzdHJmdW5jKHN0cihwYXRob2JqQSksIHN0cihwYXRob2JqQiksICphcmdzKQor LSAgICAgICAgcmV0dXJuIHN0YXRpY21ldGhvZCh3cmFwcGVkKQorLQorLSAgICBzdGF0ID0gX3dy YXBfc3RyZnVuYyhvcy5zdGF0KQorLQorLSAgICBsc3RhdCA9IF93cmFwX3N0cmZ1bmMob3MubHN0 YXQpCistCistICAgIG9wZW4gPSBfd3JhcF9zdHJmdW5jKG9zLm9wZW4pCistCistICAgIGxpc3Rk aXIgPSBfd3JhcF9zdHJmdW5jKG9zLmxpc3RkaXIpCistCistICAgIGNobW9kID0gX3dyYXBfc3Ry ZnVuYyhvcy5jaG1vZCkKKy0KKy0gICAgaWYgaGFzYXR0cihvcywgImxjaG1vZCIpOgorLSAgICAg ICAgbGNobW9kID0gX3dyYXBfc3RyZnVuYyhvcy5sY2htb2QpCistICAgIGVsc2U6CistICAgICAg ICBkZWYgbGNobW9kKHNlbGYsIHBhdGhvYmosIG1vZGUpOgorLSAgICAgICAgICAgIHJhaXNlIE5v dEltcGxlbWVudGVkRXJyb3IoImxjaG1vZCgpIG5vdCBhdmFpbGFibGUgb24gdGhpcyBzeXN0ZW0i KQorLQorLSAgICBta2RpciA9IF93cmFwX3N0cmZ1bmMob3MubWtkaXIpCistCistICAgIHVubGlu ayA9IF93cmFwX3N0cmZ1bmMob3MudW5saW5rKQorLQorLSAgICBybWRpciA9IF93cmFwX3N0cmZ1 bmMob3Mucm1kaXIpCistCistICAgIHJlbmFtZSA9IF93cmFwX2JpbmFyeV9zdHJmdW5jKG9zLnJl bmFtZSkKKy0KKy0gICAgaWYgc3lzLnZlcnNpb25faW5mbyA+PSAoMywgMyk6CistICAgICAgICBy ZXBsYWNlID0gX3dyYXBfYmluYXJ5X3N0cmZ1bmMob3MucmVwbGFjZSkKKy0KKy0gICAgaWYgbnQ6 CistICAgICAgICBpZiBzdXBwb3J0c19zeW1saW5rczoKKy0gICAgICAgICAgICBzeW1saW5rID0g X3dyYXBfYmluYXJ5X3N0cmZ1bmMob3Muc3ltbGluaykKKy0gICAgICAgIGVsc2U6CistICAgICAg ICAgICAgZGVmIHN5bWxpbmsoYSwgYiwgdGFyZ2V0X2lzX2RpcmVjdG9yeSk6CistICAgICAgICAg ICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoInN5bWxpbmsoKSBub3QgYXZhaWxhYmxl IG9uIHRoaXMgc3lzdGVtIikKKy0gICAgZWxzZToKKy0gICAgICAgICMgVW5kZXIgUE9TSVgsIG9z LnN5bWxpbmsoKSB0YWtlcyB0d28gYXJncworLSAgICAgICAgQHN0YXRpY21ldGhvZAorLSAgICAg ICAgZGVmIHN5bWxpbmsoYSwgYiwgdGFyZ2V0X2lzX2RpcmVjdG9yeSk6CistICAgICAgICAgICAg cmV0dXJuIG9zLnN5bWxpbmsoc3RyKGEpLCBzdHIoYikpCistCistICAgIHV0aW1lID0gX3dyYXBf c3RyZnVuYyhvcy51dGltZSkKKy0KKy0gICAgIyBIZWxwZXIgZm9yIHJlc29sdmUoKQorLSAgICBk ZWYgcmVhZGxpbmsoc2VsZiwgcGF0aCk6CistICAgICAgICByZXR1cm4gb3MucmVhZGxpbmsocGF0 aCkKKy0KKy0KKy1fbm9ybWFsX2FjY2Vzc29yID0gX05vcm1hbEFjY2Vzc29yKCkKKy0KKy0KKy0j CistIyBHbG9iYmluZyBoZWxwZXJzCistIworLQorLUBjb250ZXh0bWFuYWdlcgorLWRlZiBfY2Fj aGVkKGZ1bmMpOgorLSAgICB0cnk6CistICAgICAgICBmdW5jLl9fY2FjaGVkX18KKy0gICAgICAg IHlpZWxkIGZ1bmMKKy0gICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAgICAgICAgY2FjaGUg PSB7fQorLSAgICAgICAgZGVmIHdyYXBwZXIoKmFyZ3MpOgorLSAgICAgICAgICAgIHRyeToKKy0g ICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlW2FyZ3NdCistICAgICAgICAgICAgZXhjZXB0IEtl eUVycm9yOgorLSAgICAgICAgICAgICAgICB2YWx1ZSA9IGNhY2hlW2FyZ3NdID0gZnVuYygqYXJn cykKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlCistICAgICAgICB3cmFwcGVyLl9fY2Fj aGVkX18gPSBUcnVlCistICAgICAgICB0cnk6CistICAgICAgICAgICAgeWllbGQgd3JhcHBlcgor LSAgICAgICAgZmluYWxseToKKy0gICAgICAgICAgICBjYWNoZS5jbGVhcigpCistCistZGVmIF9t YWtlX3NlbGVjdG9yKHBhdHRlcm5fcGFydHMpOgorLSAgICBwYXQgPSBwYXR0ZXJuX3BhcnRzWzBd CistICAgIGNoaWxkX3BhcnRzID0gcGF0dGVybl9wYXJ0c1sxOl0KKy0gICAgaWYgcGF0ID09ICcq Kic6CistICAgICAgICBjbHMgPSBfUmVjdXJzaXZlV2lsZGNhcmRTZWxlY3RvcgorLSAgICBlbGlm ICcqKicgaW4gcGF0OgorLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBwYXR0ZXJu OiAnKionIGNhbiBvbmx5IGJlIGFuIGVudGlyZSBwYXRoIGNvbXBvbmVudCIpCistICAgIGVsaWYg X2lzX3dpbGRjYXJkX3BhdHRlcm4ocGF0KToKKy0gICAgICAgIGNscyA9IF9XaWxkY2FyZFNlbGVj dG9yCistICAgIGVsc2U6CistICAgICAgICBjbHMgPSBfUHJlY2lzZVNlbGVjdG9yCistICAgIHJl dHVybiBjbHMocGF0LCBjaGlsZF9wYXJ0cykKKy0KKy1pZiBoYXNhdHRyKGZ1bmN0b29scywgImxy dV9jYWNoZSIpOgorLSAgICBfbWFrZV9zZWxlY3RvciA9IGZ1bmN0b29scy5scnVfY2FjaGUoKShf bWFrZV9zZWxlY3RvcikKKy0KKy0KKy1jbGFzcyBfU2VsZWN0b3I6CistICAgICIiIkEgc2VsZWN0 b3IgbWF0Y2hlcyBhIHNwZWNpZmljIGdsb2IgcGF0dGVybiBwYXJ0IGFnYWluc3QgdGhlIGNoaWxk cmVuCistICAgIG9mIGEgZ2l2ZW4gcGF0aC4iIiIKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYs IGNoaWxkX3BhcnRzKToKKy0gICAgICAgIHNlbGYuY2hpbGRfcGFydHMgPSBjaGlsZF9wYXJ0cwor LSAgICAgICAgaWYgY2hpbGRfcGFydHM6CistICAgICAgICAgICAgc2VsZi5zdWNjZXNzb3IgPSBf bWFrZV9zZWxlY3RvcihjaGlsZF9wYXJ0cykKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAg c2VsZi5zdWNjZXNzb3IgPSBfVGVybWluYXRpbmdTZWxlY3RvcigpCistCistICAgIGRlZiBzZWxl Y3RfZnJvbShzZWxmLCBwYXJlbnRfcGF0aCk6CistICAgICAgICAiIiJJdGVyYXRlIG92ZXIgYWxs IGNoaWxkIHBhdGhzIG9mIGBwYXJlbnRfcGF0aGAgbWF0Y2hlZCBieSB0aGlzCistICAgICAgICBz ZWxlY3Rvci4gIFRoaXMgY2FuIGNvbnRhaW4gcGFyZW50X3BhdGggaXRzZWxmLiIiIgorLSAgICAg ICAgcGF0aF9jbHMgPSB0eXBlKHBhcmVudF9wYXRoKQorLSAgICAgICAgaXNfZGlyID0gcGF0aF9j bHMuaXNfZGlyCistICAgICAgICBleGlzdHMgPSBwYXRoX2Nscy5leGlzdHMKKy0gICAgICAgIGxp c3RkaXIgPSBwYXJlbnRfcGF0aC5fYWNjZXNzb3IubGlzdGRpcgorLSAgICAgICAgcmV0dXJuIHNl bGYuX3NlbGVjdF9mcm9tKHBhcmVudF9wYXRoLCBpc19kaXIsIGV4aXN0cywgbGlzdGRpcikKKy0K Ky0KKy1jbGFzcyBfVGVybWluYXRpbmdTZWxlY3RvcjoKKy0KKy0gICAgZGVmIF9zZWxlY3RfZnJv bShzZWxmLCBwYXJlbnRfcGF0aCwgaXNfZGlyLCBleGlzdHMsIGxpc3RkaXIpOgorLSAgICAgICAg eWllbGQgcGFyZW50X3BhdGgKKy0KKy0KKy1jbGFzcyBfUHJlY2lzZVNlbGVjdG9yKF9TZWxlY3Rv cik6CistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBjaGlsZF9wYXJ0cyk6CistICAg ICAgICBzZWxmLm5hbWUgPSBuYW1lCistICAgICAgICBfU2VsZWN0b3IuX19pbml0X18oc2VsZiwg Y2hpbGRfcGFydHMpCistCistICAgIGRlZiBfc2VsZWN0X2Zyb20oc2VsZiwgcGFyZW50X3BhdGgs IGlzX2RpciwgZXhpc3RzLCBsaXN0ZGlyKToKKy0gICAgICAgIGlmIG5vdCBpc19kaXIocGFyZW50 X3BhdGgpOgorLSAgICAgICAgICAgIHJldHVybgorLSAgICAgICAgcGF0aCA9IHBhcmVudF9wYXRo Ll9tYWtlX2NoaWxkX3JlbHBhdGgoc2VsZi5uYW1lKQorLSAgICAgICAgaWYgZXhpc3RzKHBhdGgp OgorLSAgICAgICAgICAgIGZvciBwIGluIHNlbGYuc3VjY2Vzc29yLl9zZWxlY3RfZnJvbShwYXRo LCBpc19kaXIsIGV4aXN0cywgbGlzdGRpcik6CistICAgICAgICAgICAgICAgIHlpZWxkIHAKKy0K Ky0KKy1jbGFzcyBfV2lsZGNhcmRTZWxlY3RvcihfU2VsZWN0b3IpOgorLQorLSAgICBkZWYgX19p bml0X18oc2VsZiwgcGF0LCBjaGlsZF9wYXJ0cyk6CistICAgICAgICBzZWxmLnBhdCA9IHJlLmNv bXBpbGUoZm5tYXRjaC50cmFuc2xhdGUocGF0KSkKKy0gICAgICAgIF9TZWxlY3Rvci5fX2luaXRf XyhzZWxmLCBjaGlsZF9wYXJ0cykKKy0KKy0gICAgZGVmIF9zZWxlY3RfZnJvbShzZWxmLCBwYXJl bnRfcGF0aCwgaXNfZGlyLCBleGlzdHMsIGxpc3RkaXIpOgorLSAgICAgICAgaWYgbm90IGlzX2Rp cihwYXJlbnRfcGF0aCk6CistICAgICAgICAgICAgcmV0dXJuCistICAgICAgICBjZiA9IHBhcmVu dF9wYXRoLl9mbGF2b3VyLmNhc2Vmb2xkCistICAgICAgICBmb3IgbmFtZSBpbiBsaXN0ZGlyKHBh cmVudF9wYXRoKToKKy0gICAgICAgICAgICBjYXNlZm9sZGVkID0gY2YobmFtZSkKKy0gICAgICAg ICAgICBpZiBzZWxmLnBhdC5tYXRjaChjYXNlZm9sZGVkKToKKy0gICAgICAgICAgICAgICAgcGF0 aCA9IHBhcmVudF9wYXRoLl9tYWtlX2NoaWxkX3JlbHBhdGgobmFtZSkKKy0gICAgICAgICAgICAg ICAgZm9yIHAgaW4gc2VsZi5zdWNjZXNzb3IuX3NlbGVjdF9mcm9tKHBhdGgsIGlzX2RpciwgZXhp c3RzLCBsaXN0ZGlyKToKKy0gICAgICAgICAgICAgICAgICAgIHlpZWxkIHAKKy0KKy0KKy1jbGFz cyBfUmVjdXJzaXZlV2lsZGNhcmRTZWxlY3RvcihfU2VsZWN0b3IpOgorLQorLSAgICBkZWYgX19p bml0X18oc2VsZiwgcGF0LCBjaGlsZF9wYXJ0cyk6CistICAgICAgICBfU2VsZWN0b3IuX19pbml0 X18oc2VsZiwgY2hpbGRfcGFydHMpCistCistICAgIGRlZiBfaXRlcmF0ZV9kaXJlY3Rvcmllcyhz ZWxmLCBwYXJlbnRfcGF0aCwgaXNfZGlyLCBsaXN0ZGlyKToKKy0gICAgICAgIHlpZWxkIHBhcmVu dF9wYXRoCistICAgICAgICBmb3IgbmFtZSBpbiBsaXN0ZGlyKHBhcmVudF9wYXRoKToKKy0gICAg ICAgICAgICBwYXRoID0gcGFyZW50X3BhdGguX21ha2VfY2hpbGRfcmVscGF0aChuYW1lKQorLSAg ICAgICAgICAgIGlmIGlzX2RpcihwYXRoKToKKy0gICAgICAgICAgICAgICAgZm9yIHAgaW4gc2Vs Zi5faXRlcmF0ZV9kaXJlY3RvcmllcyhwYXRoLCBpc19kaXIsIGxpc3RkaXIpOgorLSAgICAgICAg ICAgICAgICAgICAgeWllbGQgcAorLQorLSAgICBkZWYgX3NlbGVjdF9mcm9tKHNlbGYsIHBhcmVu dF9wYXRoLCBpc19kaXIsIGV4aXN0cywgbGlzdGRpcik6CistICAgICAgICBpZiBub3QgaXNfZGly KHBhcmVudF9wYXRoKToKKy0gICAgICAgICAgICByZXR1cm4KKy0gICAgICAgIHdpdGggX2NhY2hl ZChsaXN0ZGlyKSBhcyBsaXN0ZGlyOgorLSAgICAgICAgICAgIHlpZWxkZWQgPSBzZXQoKQorLSAg ICAgICAgICAgIHRyeToKKy0gICAgICAgICAgICAgICAgc3VjY2Vzc29yX3NlbGVjdCA9IHNlbGYu c3VjY2Vzc29yLl9zZWxlY3RfZnJvbQorLSAgICAgICAgICAgICAgICBmb3Igc3RhcnRpbmdfcG9p bnQgaW4gc2VsZi5faXRlcmF0ZV9kaXJlY3RvcmllcyhwYXJlbnRfcGF0aCwgaXNfZGlyLCBsaXN0 ZGlyKToKKy0gICAgICAgICAgICAgICAgICAgIGZvciBwIGluIHN1Y2Nlc3Nvcl9zZWxlY3Qoc3Rh cnRpbmdfcG9pbnQsIGlzX2RpciwgZXhpc3RzLCBsaXN0ZGlyKToKKy0gICAgICAgICAgICAgICAg ICAgICAgICBpZiBwIG5vdCBpbiB5aWVsZGVkOgorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICB5aWVsZCBwCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkZWQuYWRkKHApCist ICAgICAgICAgICAgZmluYWxseToKKy0gICAgICAgICAgICAgICAgeWllbGRlZC5jbGVhcigpCist CistCistIworLSMgUHVibGljIEFQSQorLSMKKy0KKy1jbGFzcyBfUGF0aFBhcmVudHMoU2VxdWVu Y2UpOgorLSAgICAiIiJUaGlzIG9iamVjdCBwcm92aWRlcyBzZXF1ZW5jZS1saWtlIGFjY2VzcyB0 byB0aGUgbG9naWNhbCBhbmNlc3RvcnMKKy0gICAgb2YgYSBwYXRoLiAgRG9uJ3QgdHJ5IHRvIGNv bnN0cnVjdCBpdCB5b3Vyc2VsZi4iIiIKKy0gICAgX19zbG90c19fID0gKCdfcGF0aGNscycsICdf ZHJ2JywgJ19yb290JywgJ19wYXJ0cycpCistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRo KToKKy0gICAgICAgICMgV2UgZG9uJ3Qgc3RvcmUgdGhlIGluc3RhbmNlIHRvIGF2b2lkIHJlZmVy ZW5jZSBjeWNsZXMKKy0gICAgICAgIHNlbGYuX3BhdGhjbHMgPSB0eXBlKHBhdGgpCistICAgICAg ICBzZWxmLl9kcnYgPSBwYXRoLl9kcnYKKy0gICAgICAgIHNlbGYuX3Jvb3QgPSBwYXRoLl9yb290 CistICAgICAgICBzZWxmLl9wYXJ0cyA9IHBhdGguX3BhcnRzCistCistICAgIGRlZiBfX2xlbl9f KHNlbGYpOgorLSAgICAgICAgaWYgc2VsZi5fZHJ2IG9yIHNlbGYuX3Jvb3Q6CistICAgICAgICAg ICAgcmV0dXJuIGxlbihzZWxmLl9wYXJ0cykgLSAxCistICAgICAgICBlbHNlOgorLSAgICAgICAg ICAgIHJldHVybiBsZW4oc2VsZi5fcGFydHMpCistCistICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxm LCBpZHgpOgorLSAgICAgICAgaWYgaWR4IDwgMCBvciBpZHggPj0gbGVuKHNlbGYpOgorLSAgICAg ICAgICAgIHJhaXNlIEluZGV4RXJyb3IoaWR4KQorLSAgICAgICAgcmV0dXJuIHNlbGYuX3BhdGhj bHMuX2Zyb21fcGFyc2VkX3BhcnRzKHNlbGYuX2Rydiwgc2VsZi5fcm9vdCwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJ0c1s6LWlkeCAt IDFdKQorLQorLSAgICBkZWYgX19yZXByX18oc2VsZik6CistICAgICAgICByZXR1cm4gIjx7MH0u cGFyZW50cz4iLmZvcm1hdChzZWxmLl9wYXRoY2xzLl9fbmFtZV9fKQorLQorLQorLWNsYXNzIFB1 cmVQYXRoKG9iamVjdCk6CistICAgICIiIlB1cmVQYXRoIHJlcHJlc2VudHMgYSBmaWxlc3lzdGVt IHBhdGggYW5kIG9mZmVycyBvcGVyYXRpb25zIHdoaWNoCistICAgIGRvbid0IGltcGx5IGFueSBh Y3R1YWwgZmlsZXN5c3RlbSBJL08uICBEZXBlbmRpbmcgb24geW91ciBzeXN0ZW0sCistICAgIGlu c3RhbnRpYXRpbmcgYSBQdXJlUGF0aCB3aWxsIHJldHVybiBlaXRoZXIgYSBQdXJlUG9zaXhQYXRo IG9yIGEKKy0gICAgUHVyZVdpbmRvd3NQYXRoIG9iamVjdC4gIFlvdSBjYW4gYWxzbyBpbnN0YW50 aWF0ZSBlaXRoZXIgb2YgdGhlc2UgY2xhc3NlcworLSAgICBkaXJlY3RseSwgcmVnYXJkbGVzcyBv ZiB5b3VyIHN5c3RlbS4KKy0gICAgIiIiCistICAgIF9fc2xvdHNfXyA9ICgKKy0gICAgICAgICdf ZHJ2JywgJ19yb290JywgJ19wYXJ0cycsCistICAgICAgICAnX3N0cicsICdfaGFzaCcsICdfcHBh cnRzJywgJ19jYWNoZWRfY3BhcnRzJywKKy0gICAgKQorLQorLSAgICBkZWYgX19uZXdfXyhjbHMs ICphcmdzKToKKy0gICAgICAgICIiIkNvbnN0cnVjdCBhIFB1cmVQYXRoIGZyb20gb25lIG9yIHNl dmVyYWwgc3RyaW5ncyBhbmQgb3IgZXhpc3RpbmcKKy0gICAgICAgIFB1cmVQYXRoIG9iamVjdHMu ICBUaGUgc3RyaW5ncyBhbmQgcGF0aCBvYmplY3RzIGFyZSBjb21iaW5lZCBzbyBhcworLSAgICAg ICAgdG8geWllbGQgYSBjYW5vbmljYWxpemVkIHBhdGgsIHdoaWNoIGlzIGluY29ycG9yYXRlZCBp bnRvIHRoZQorLSAgICAgICAgbmV3IFB1cmVQYXRoIG9iamVjdC4KKy0gICAgICAgICIiIgorLSAg ICAgICAgaWYgY2xzIGlzIFB1cmVQYXRoOgorLSAgICAgICAgICAgIGNscyA9IFB1cmVXaW5kb3dz UGF0aCBpZiBvcy5uYW1lID09ICdudCcgZWxzZSBQdXJlUG9zaXhQYXRoCistICAgICAgICByZXR1 cm4gY2xzLl9mcm9tX3BhcnRzKGFyZ3MpCistCistICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgor LSAgICAgICAgIyBVc2luZyB0aGUgcGFydHMgdHVwbGUgaGVscHMgc2hhcmUgaW50ZXJuZWQgcGF0 aCBwYXJ0cworLSAgICAgICAgIyB3aGVuIHBpY2tsaW5nIHJlbGF0ZWQgcGF0aHMuCistICAgICAg ICByZXR1cm4gKHNlbGYuX19jbGFzc19fLCB0dXBsZShzZWxmLl9wYXJ0cykpCistCistICAgIEBj bGFzc21ldGhvZAorLSAgICBkZWYgX3BhcnNlX2FyZ3MoY2xzLCBhcmdzKToKKy0gICAgICAgICMg VGhpcyBpcyB1c2VmdWwgd2hlbiB5b3UgZG9uJ3Qgd2FudCB0byBjcmVhdGUgYW4gaW5zdGFuY2Us IGp1c3QKKy0gICAgICAgICMgY2Fub25pY2FsaXplIHNvbWUgY29uc3RydWN0b3IgYXJndW1lbnRz LgorLSAgICAgICAgcGFydHMgPSBbXQorLSAgICAgICAgZm9yIGEgaW4gYXJnczoKKy0gICAgICAg ICAgICBpZiBpc2luc3RhbmNlKGEsIFB1cmVQYXRoKToKKy0gICAgICAgICAgICAgICAgcGFydHMg Kz0gYS5fcGFydHMKKy0gICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UoYSwgYmFzZXN0cmluZyk6 CistICAgICAgICAgICAgICAgIHBhcnRzLmFwcGVuZChhKQorLSAgICAgICAgICAgIGVsc2U6Cist ICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigKKy0gICAgICAgICAgICAgICAgICAgICJh cmd1bWVudCBzaG91bGQgYmUgYSBwYXRoIG9yIHN0ciBvYmplY3QsIG5vdCAlciIKKy0gICAgICAg ICAgICAgICAgICAgICUgdHlwZShhKSkKKy0gICAgICAgIHJldHVybiBjbHMuX2ZsYXZvdXIucGFy c2VfcGFydHMocGFydHMpCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgX2Zyb21fcGFy dHMoY2xzLCBhcmdzLCBpbml0PVRydWUpOgorLSAgICAgICAgIyBXZSBuZWVkIHRvIGNhbGwgX3Bh cnNlX2FyZ3Mgb24gdGhlIGluc3RhbmNlLCBzbyBhcyB0byBnZXQgdGhlCistICAgICAgICAjIHJp Z2h0IGZsYXZvdXIuCistICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQorLSAgICAg ICAgZHJ2LCByb290LCBwYXJ0cyA9IHNlbGYuX3BhcnNlX2FyZ3MoYXJncykKKy0gICAgICAgIHNl bGYuX2RydiA9IGRydgorLSAgICAgICAgc2VsZi5fcm9vdCA9IHJvb3QKKy0gICAgICAgIHNlbGYu X3BhcnRzID0gcGFydHMKKy0gICAgICAgIGlmIGluaXQ6CistICAgICAgICAgICAgc2VsZi5faW5p dCgpCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVm IF9mcm9tX3BhcnNlZF9wYXJ0cyhjbHMsIGRydiwgcm9vdCwgcGFydHMsIGluaXQ9VHJ1ZSk6Cist ICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18oY2xzKQorLSAgICAgICAgc2VsZi5fZHJ2ID0g ZHJ2CistICAgICAgICBzZWxmLl9yb290ID0gcm9vdAorLSAgICAgICAgc2VsZi5fcGFydHMgPSBw YXJ0cworLSAgICAgICAgaWYgaW5pdDoKKy0gICAgICAgICAgICBzZWxmLl9pbml0KCkKKy0gICAg ICAgIHJldHVybiBzZWxmCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgX2Zvcm1hdF9w YXJzZWRfcGFydHMoY2xzLCBkcnYsIHJvb3QsIHBhcnRzKToKKy0gICAgICAgIGlmIGRydiBvciBy b290OgorLSAgICAgICAgICAgIHJldHVybiBkcnYgKyByb290ICsgY2xzLl9mbGF2b3VyLmpvaW4o cGFydHNbMTpdKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICByZXR1cm4gY2xzLl9mbGF2 b3VyLmpvaW4ocGFydHMpCistCistICAgIGRlZiBfaW5pdChzZWxmKToKKy0gICAgICAgICMgT3Zl cnJpZGVuIGluIGNvbmNyZXRlIFBhdGgKKy0gICAgICAgIHBhc3MKKy0KKy0gICAgZGVmIF9tYWtl X2NoaWxkKHNlbGYsIGFyZ3MpOgorLSAgICAgICAgZHJ2LCByb290LCBwYXJ0cyA9IHNlbGYuX3Bh cnNlX2FyZ3MoYXJncykKKy0gICAgICAgIGRydiwgcm9vdCwgcGFydHMgPSBzZWxmLl9mbGF2b3Vy LmpvaW5fcGFyc2VkX3BhcnRzKAorLSAgICAgICAgICAgIHNlbGYuX2Rydiwgc2VsZi5fcm9vdCwg c2VsZi5fcGFydHMsIGRydiwgcm9vdCwgcGFydHMpCistICAgICAgICByZXR1cm4gc2VsZi5fZnJv bV9wYXJzZWRfcGFydHMoZHJ2LCByb290LCBwYXJ0cykKKy0KKy0gICAgZGVmIF9fc3RyX18oc2Vs Zik6CistICAgICAgICAiIiJSZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUg cGF0aCwgc3VpdGFibGUgZm9yCistICAgICAgICBwYXNzaW5nIHRvIHN5c3RlbSBjYWxscy4iIiIK Ky0gICAgICAgIHRyeToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5fc3RyCistICAgICAgICBl eGNlcHQgQXR0cmlidXRlRXJyb3I6CistICAgICAgICAgICAgc2VsZi5fc3RyID0gc2VsZi5fZm9y bWF0X3BhcnNlZF9wYXJ0cyhzZWxmLl9kcnYsIHNlbGYuX3Jvb3QsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJ0cykgb3IgJy4nCist ICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3N0cgorLQorLSAgICBkZWYgYXNfcG9zaXgoc2VsZik6 CistICAgICAgICAiIiJSZXR1cm4gdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcGF0 aCB3aXRoIGZvcndhcmQgKC8pCistICAgICAgICBzbGFzaGVzLiIiIgorLSAgICAgICAgZiA9IHNl bGYuX2ZsYXZvdXIKKy0gICAgICAgIHJldHVybiBzdHIoc2VsZikucmVwbGFjZShmLnNlcCwgJy8n KQorLQorLSAgICBkZWYgX19ieXRlc19fKHNlbGYpOgorLSAgICAgICAgIiIiUmV0dXJuIHRoZSBi eXRlcyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcGF0aC4gIFRoaXMgaXMgb25seQorLSAgICAgICAg cmVjb21tZW5kZWQgdG8gdXNlIHVuZGVyIFVuaXguIiIiCistICAgICAgICBpZiBzeXMudmVyc2lv bl9pbmZvIDwgKDMsIDIpOgorLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3Io Im5lZWRzIFB5dGhvbiAzLjIgb3IgbGF0ZXIiKQorLSAgICAgICAgcmV0dXJuIG9zLmZzZW5jb2Rl KHN0cihzZWxmKSkKKy0KKy0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorLSAgICAgICAgcmV0dXJu ICJ7MH0oezEhcn0pIi5mb3JtYXQoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYuYXNfcG9z aXgoKSkKKy0KKy0gICAgZGVmIGFzX3VyaShzZWxmKToKKy0gICAgICAgICIiIlJldHVybiB0aGUg cGF0aCBhcyBhICdmaWxlJyBVUkkuIiIiCistICAgICAgICBpZiBub3Qgc2VsZi5pc19hYnNvbHV0 ZSgpOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInJlbGF0aXZlIHBhdGggY2FuJ3Qg YmUgZXhwcmVzc2VkIGFzIGEgZmlsZSBVUkkiKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZsYXZv dXIubWFrZV91cmkoc2VsZikKKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiBfY3BhcnRzKHNl bGYpOgorLSAgICAgICAgIyBDYWNoZWQgY2FzZWZvbGRlZCBwYXJ0cywgZm9yIGhhc2hpbmcgYW5k IGNvbXBhcmlzb24KKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5fY2Fj aGVkX2NwYXJ0cworLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAgICAgICAgICAg IHNlbGYuX2NhY2hlZF9jcGFydHMgPSBzZWxmLl9mbGF2b3VyLmNhc2Vmb2xkX3BhcnRzKHNlbGYu X3BhcnRzKQorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9jYWNoZWRfY3BhcnRzCistCistICAg IGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3Ro ZXIsIFB1cmVQYXRoKToKKy0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKy0gICAg ICAgIHJldHVybiBzZWxmLl9jcGFydHMgPT0gb3RoZXIuX2NwYXJ0cyBhbmQgc2VsZi5fZmxhdm91 ciBpcyBvdGhlci5fZmxhdm91cgorLQorLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKKy0g ICAgICAgIHJldHVybiBub3Qgc2VsZiA9PSBvdGhlcgorLQorLSAgICBkZWYgX19oYXNoX18oc2Vs Zik6CistICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2hhc2gKKy0gICAg ICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKy0gICAgICAgICAgICBzZWxmLl9oYXNoID0gaGFz aCh0dXBsZShzZWxmLl9jcGFydHMpKQorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9oYXNoCist CistICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFu Y2Uob3RoZXIsIFB1cmVQYXRoKSBvciBzZWxmLl9mbGF2b3VyIGlzIG5vdCBvdGhlci5fZmxhdm91 cjoKKy0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVybiBz ZWxmLl9jcGFydHMgPCBvdGhlci5fY3BhcnRzCistCistICAgIGRlZiBfX2xlX18oc2VsZiwgb3Ro ZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIFB1cmVQYXRoKSBvciBzZWxm Ll9mbGF2b3VyIGlzIG5vdCBvdGhlci5fZmxhdm91cjoKKy0gICAgICAgICAgICByZXR1cm4gTm90 SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVybiBzZWxmLl9jcGFydHMgPD0gb3RoZXIuX2NwYXJ0 cworLQorLSAgICBkZWYgX19ndF9fKHNlbGYsIG90aGVyKToKKy0gICAgICAgIGlmIG5vdCBpc2lu c3RhbmNlKG90aGVyLCBQdXJlUGF0aCkgb3Igc2VsZi5fZmxhdm91ciBpcyBub3Qgb3RoZXIuX2Zs YXZvdXI6CistICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCistICAgICAgICByZXR1 cm4gc2VsZi5fY3BhcnRzID4gb3RoZXIuX2NwYXJ0cworLQorLSAgICBkZWYgX19nZV9fKHNlbGYs IG90aGVyKToKKy0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG90aGVyLCBQdXJlUGF0aCkgb3Ig c2VsZi5fZmxhdm91ciBpcyBub3Qgb3RoZXIuX2ZsYXZvdXI6CistICAgICAgICAgICAgcmV0dXJu IE5vdEltcGxlbWVudGVkCistICAgICAgICByZXR1cm4gc2VsZi5fY3BhcnRzID49IG90aGVyLl9j cGFydHMKKy0KKy0gICAgZHJpdmUgPSBwcm9wZXJ0eShhdHRyZ2V0dGVyKCdfZHJ2JyksCistICAg ICAgICAgICAgICAgICAgICAgZG9jPSIiIlRoZSBkcml2ZSBwcmVmaXggKGxldHRlciBvciBVTkMg cGF0aCksIGlmIGFueS4iIiIpCistCistICAgIHJvb3QgPSBwcm9wZXJ0eShhdHRyZ2V0dGVyKCdf cm9vdCcpLAorLSAgICAgICAgICAgICAgICAgICAgZG9jPSIiIlRoZSByb290IG9mIHRoZSBwYXRo LCBpZiBhbnkuIiIiKQorLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIGFuY2hvcihzZWxmKToK Ky0gICAgICAgICIiIlRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSBkcml2ZSBhbmQgcm9vdCwgb3Ig JycuIiIiCistICAgICAgICBhbmNob3IgPSBzZWxmLl9kcnYgKyBzZWxmLl9yb290CistICAgICAg ICByZXR1cm4gYW5jaG9yCistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgbmFtZShzZWxmKToK Ky0gICAgICAgICIiIlRoZSBmaW5hbCBwYXRoIGNvbXBvbmVudCwgaWYgYW55LiIiIgorLSAgICAg ICAgcGFydHMgPSBzZWxmLl9wYXJ0cworLSAgICAgICAgaWYgbGVuKHBhcnRzKSA9PSAoMSBpZiAo c2VsZi5fZHJ2IG9yIHNlbGYuX3Jvb3QpIGVsc2UgMCk6CistICAgICAgICAgICAgcmV0dXJuICcn CistICAgICAgICByZXR1cm4gcGFydHNbLTFdCistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYg c3VmZml4KHNlbGYpOgorLSAgICAgICAgIiIiVGhlIGZpbmFsIGNvbXBvbmVudCdzIGxhc3Qgc3Vm Zml4LCBpZiBhbnkuIiIiCistICAgICAgICBuYW1lID0gc2VsZi5uYW1lCistICAgICAgICBpID0g bmFtZS5yZmluZCgnLicpCistICAgICAgICBpZiAwIDwgaSA8IGxlbihuYW1lKSAtIDE6CistICAg ICAgICAgICAgcmV0dXJuIG5hbWVbaTpdCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHJl dHVybiAnJworLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIHN1ZmZpeGVzKHNlbGYpOgorLSAg ICAgICAgIiIiQSBsaXN0IG9mIHRoZSBmaW5hbCBjb21wb25lbnQncyBzdWZmaXhlcywgaWYgYW55 LiIiIgorLSAgICAgICAgbmFtZSA9IHNlbGYubmFtZQorLSAgICAgICAgaWYgbmFtZS5lbmRzd2l0 aCgnLicpOgorLSAgICAgICAgICAgIHJldHVybiBbXQorLSAgICAgICAgbmFtZSA9IG5hbWUubHN0 cmlwKCcuJykKKy0gICAgICAgIHJldHVybiBbJy4nICsgc3VmZml4IGZvciBzdWZmaXggaW4gbmFt ZS5zcGxpdCgnLicpWzE6XV0KKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiBzdGVtKHNlbGYp OgorLSAgICAgICAgIiIiVGhlIGZpbmFsIHBhdGggY29tcG9uZW50LCBtaW51cyBpdHMgbGFzdCBz dWZmaXguIiIiCistICAgICAgICBuYW1lID0gc2VsZi5uYW1lCistICAgICAgICBpID0gbmFtZS5y ZmluZCgnLicpCistICAgICAgICBpZiAwIDwgaSA8IGxlbihuYW1lKSAtIDE6CistICAgICAgICAg ICAgcmV0dXJuIG5hbWVbOmldCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHJldHVybiBu YW1lCistCistICAgIGRlZiB3aXRoX25hbWUoc2VsZiwgbmFtZSk6CistICAgICAgICAiIiJSZXR1 cm4gYSBuZXcgcGF0aCB3aXRoIHRoZSBmaWxlIG5hbWUgY2hhbmdlZC4iIiIKKy0gICAgICAgIGlm IG5vdCBzZWxmLm5hbWU6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXIgaGFzIGFu IGVtcHR5IG5hbWUiICUgKHNlbGYsKSkKKy0gICAgICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnNl ZF9wYXJ0cyhzZWxmLl9kcnYsIHNlbGYuX3Jvb3QsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5fcGFydHNbOi0xXSArIFtuYW1lXSkKKy0KKy0gICAgZGVmIHdp dGhfc3VmZml4KHNlbGYsIHN1ZmZpeCk6CistICAgICAgICAiIiJSZXR1cm4gYSBuZXcgcGF0aCB3 aXRoIHRoZSBmaWxlIHN1ZmZpeCBjaGFuZ2VkIChvciBhZGRlZCwgaWYgbm9uZSkuIiIiCistICAg ICAgICAjIFhYWCBpZiBzdWZmaXggaXMgTm9uZSwgc2hvdWxkIHRoZSBjdXJyZW50IHN1ZmZpeCBi ZSByZW1vdmVkPworLSAgICAgICAgZHJ2LCByb290LCBwYXJ0cyA9IHNlbGYuX2ZsYXZvdXIucGFy c2VfcGFydHMoKHN1ZmZpeCwpKQorLSAgICAgICAgaWYgZHJ2IG9yIHJvb3Qgb3IgbGVuKHBhcnRz KSAhPSAxOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgc3VmZml4ICVy IiAlIChzdWZmaXgpKQorLSAgICAgICAgc3VmZml4ID0gcGFydHNbMF0KKy0gICAgICAgIGlmIG5v dCBzdWZmaXguc3RhcnRzd2l0aCgnLicpOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Io IkludmFsaWQgc3VmZml4ICVyIiAlIChzdWZmaXgpKQorLSAgICAgICAgbmFtZSA9IHNlbGYubmFt ZQorLSAgICAgICAgaWYgbm90IG5hbWU6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigi JXIgaGFzIGFuIGVtcHR5IG5hbWUiICUgKHNlbGYsKSkKKy0gICAgICAgIG9sZF9zdWZmaXggPSBz ZWxmLnN1ZmZpeAorLSAgICAgICAgaWYgbm90IG9sZF9zdWZmaXg6CistICAgICAgICAgICAgbmFt ZSA9IG5hbWUgKyBzdWZmaXgKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgbmFtZSA9IG5h bWVbOi1sZW4ob2xkX3N1ZmZpeCldICsgc3VmZml4CistICAgICAgICByZXR1cm4gc2VsZi5fZnJv bV9wYXJzZWRfcGFydHMoc2VsZi5fZHJ2LCBzZWxmLl9yb290LAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcnRzWzotMV0gKyBbbmFtZV0pCistCistICAg IGRlZiByZWxhdGl2ZV90byhzZWxmLCAqb3RoZXIpOgorLSAgICAgICAgIiIiUmV0dXJuIHRoZSBy ZWxhdGl2ZSBwYXRoIHRvIGFub3RoZXIgcGF0aCBpZGVudGlmaWVkIGJ5IHRoZSBwYXNzZWQKKy0g ICAgICAgIGFyZ3VtZW50cy4gIElmIHRoZSBvcGVyYXRpb24gaXMgbm90IHBvc3NpYmxlIChiZWNh dXNlIHRoaXMgaXMgbm90CistICAgICAgICBhIHN1YnBhdGggb2YgdGhlIG90aGVyIHBhdGgpLCBy YWlzZSBWYWx1ZUVycm9yLgorLSAgICAgICAgIiIiCistICAgICAgICAjIEZvciB0aGUgcHVycG9z ZSBvZiB0aGlzIG1ldGhvZCwgZHJpdmUgYW5kIHJvb3QgYXJlIGNvbnNpZGVyZWQKKy0gICAgICAg ICMgc2VwYXJhdGUgcGFydHMsIGkuZS46CistICAgICAgICAjICAgUGF0aCgnYzovJykucmVsYXRp dmVfdG8oJ2M6JykgIGdpdmVzIFBhdGgoJy8nKQorLSAgICAgICAgIyAgIFBhdGgoJ2M6LycpLnJl bGF0aXZlX3RvKCcvJykgICByYWlzZSBWYWx1ZUVycm9yCistICAgICAgICBpZiBub3Qgb3RoZXI6 CistICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJuZWVkIGF0IGxlYXN0IG9uZSBhcmd1bWVu dCIpCistICAgICAgICBwYXJ0cyA9IHNlbGYuX3BhcnRzCistICAgICAgICBkcnYgPSBzZWxmLl9k cnYKKy0gICAgICAgIHJvb3QgPSBzZWxmLl9yb290CistICAgICAgICBpZiByb290OgorLSAgICAg ICAgICAgIGFic19wYXJ0cyA9IFtkcnYsIHJvb3RdICsgcGFydHNbMTpdCistICAgICAgICBlbHNl OgorLSAgICAgICAgICAgIGFic19wYXJ0cyA9IHBhcnRzCistICAgICAgICB0b19kcnYsIHRvX3Jv b3QsIHRvX3BhcnRzID0gc2VsZi5fcGFyc2VfYXJncyhvdGhlcikKKy0gICAgICAgIGlmIHRvX3Jv b3Q6CistICAgICAgICAgICAgdG9fYWJzX3BhcnRzID0gW3RvX2RydiwgdG9fcm9vdF0gKyB0b19w YXJ0c1sxOl0KKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgdG9fYWJzX3BhcnRzID0gdG9f cGFydHMKKy0gICAgICAgIG4gPSBsZW4odG9fYWJzX3BhcnRzKQorLSAgICAgICAgY2YgPSBzZWxm Ll9mbGF2b3VyLmNhc2Vmb2xkX3BhcnRzCistICAgICAgICBpZiAocm9vdCBvciBkcnYpIGlmIG4g PT0gMCBlbHNlIGNmKGFic19wYXJ0c1s6bl0pICE9IGNmKHRvX2Fic19wYXJ0cyk6CistICAgICAg ICAgICAgZm9ybWF0dGVkID0gc2VsZi5fZm9ybWF0X3BhcnNlZF9wYXJ0cyh0b19kcnYsIHRvX3Jv b3QsIHRvX3BhcnRzKQorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInshcn0gZG9lcyBu b3Qgc3RhcnQgd2l0aCB7IXJ9IgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1h dChzdHIoc2VsZiksIHN0cihmb3JtYXR0ZWQpKSkKKy0gICAgICAgIHJldHVybiBzZWxmLl9mcm9t X3BhcnNlZF9wYXJ0cygnJywgcm9vdCBpZiBuID09IDEgZWxzZSAnJywKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNfcGFydHNbbjpdKQorLQorLSAgICBAcHJvcGVy dHkKKy0gICAgZGVmIHBhcnRzKHNlbGYpOgorLSAgICAgICAgIiIiQW4gb2JqZWN0IHByb3ZpZGlu ZyBzZXF1ZW5jZS1saWtlIGFjY2VzcyB0byB0aGUKKy0gICAgICAgIGNvbXBvbmVudHMgaW4gdGhl IGZpbGVzeXN0ZW0gcGF0aC4iIiIKKy0gICAgICAgICMgV2UgY2FjaGUgdGhlIHR1cGxlIHRvIGF2 b2lkIGJ1aWxkaW5nIGEgbmV3IG9uZSBlYWNoIHRpbWUgLnBhcnRzCistICAgICAgICAjIGlzIGFj Y2Vzc2VkLiAgWFhYIGlzIHRoaXMgbmVjZXNzYXJ5PworLSAgICAgICAgdHJ5OgorLSAgICAgICAg ICAgIHJldHVybiBzZWxmLl9wcGFydHMKKy0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoK Ky0gICAgICAgICAgICBzZWxmLl9wcGFydHMgPSB0dXBsZShzZWxmLl9wYXJ0cykKKy0gICAgICAg ICAgICByZXR1cm4gc2VsZi5fcHBhcnRzCistCistICAgIGRlZiBqb2lucGF0aChzZWxmLCAqYXJn cyk6CistICAgICAgICAiIiJDb21iaW5lIHRoaXMgcGF0aCB3aXRoIG9uZSBvciBzZXZlcmFsIGFy Z3VtZW50cywgYW5kIHJldHVybiBhCistICAgICAgICBuZXcgcGF0aCByZXByZXNlbnRpbmcgZWl0 aGVyIGEgc3VicGF0aCAoaWYgYWxsIGFyZ3VtZW50cyBhcmUgcmVsYXRpdmUKKy0gICAgICAgIHBh dGhzKSBvciBhIHRvdGFsbHkgZGlmZmVyZW50IHBhdGggKGlmIG9uZSBvZiB0aGUgYXJndW1lbnRz IGlzCistICAgICAgICBhbmNob3JlZCkuCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBz ZWxmLl9tYWtlX2NoaWxkKGFyZ3MpCistCistICAgIGRlZiBfX3RydWVkaXZfXyhzZWxmLCBrZXkp OgorLSAgICAgICAgcmV0dXJuIHNlbGYuX21ha2VfY2hpbGQoKGtleSwpKQorLQorLSAgICBkZWYg X19ydHJ1ZWRpdl9fKHNlbGYsIGtleSk6CistICAgICAgICByZXR1cm4gc2VsZi5fZnJvbV9wYXJ0 cyhba2V5XSArIHNlbGYuX3BhcnRzKQorLQorLSAgICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMs KToKKy0gICAgICAgIF9fZGl2X18gPSBfX3RydWVkaXZfXworLSAgICAgICAgX19yZGl2X18gPSBf X3J0cnVlZGl2X18KKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiBwYXJlbnQoc2VsZik6Cist ICAgICAgICAiIiJUaGUgbG9naWNhbCBwYXJlbnQgb2YgdGhlIHBhdGguIiIiCistICAgICAgICBk cnYgPSBzZWxmLl9kcnYKKy0gICAgICAgIHJvb3QgPSBzZWxmLl9yb290CistICAgICAgICBwYXJ0 cyA9IHNlbGYuX3BhcnRzCistICAgICAgICBpZiBsZW4ocGFydHMpID09IDEgYW5kIChkcnYgb3Ig cm9vdCk6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYKKy0gICAgICAgIHJldHVybiBzZWxmLl9m cm9tX3BhcnNlZF9wYXJ0cyhkcnYsIHJvb3QsIHBhcnRzWzotMV0pCistCistICAgIEBwcm9wZXJ0 eQorLSAgICBkZWYgcGFyZW50cyhzZWxmKToKKy0gICAgICAgICIiIkEgc2VxdWVuY2Ugb2YgdGhp cyBwYXRoJ3MgbG9naWNhbCBwYXJlbnRzLiIiIgorLSAgICAgICAgcmV0dXJuIF9QYXRoUGFyZW50 cyhzZWxmKQorLQorLSAgICBkZWYgaXNfYWJzb2x1dGUoc2VsZik6CistICAgICAgICAiIiJUcnVl IGlmIHRoZSBwYXRoIGlzIGFic29sdXRlIChoYXMgYm90aCBhIHJvb3QgYW5kLCBpZiBhcHBsaWNh YmxlLAorLSAgICAgICAgYSBkcml2ZSkuIiIiCistICAgICAgICBpZiBub3Qgc2VsZi5fcm9vdDoK Ky0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIHJldHVybiBub3Qgc2VsZi5fZmxh dm91ci5oYXNfZHJ2IG9yIGJvb2woc2VsZi5fZHJ2KQorLQorLSAgICBkZWYgaXNfcmVzZXJ2ZWQo c2VsZik6CistICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgcGF0aCBjb250YWlucyBvbmUg b2YgdGhlIHNwZWNpYWwgbmFtZXMgcmVzZXJ2ZWQKKy0gICAgICAgIGJ5IHRoZSBzeXN0ZW0sIGlm IGFueS4iIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9mbGF2b3VyLmlzX3Jlc2VydmVkKHNlbGYu X3BhcnRzKQorLQorLSAgICBkZWYgbWF0Y2goc2VsZiwgcGF0aF9wYXR0ZXJuKToKKy0gICAgICAg ICIiIgorLSAgICAgICAgUmV0dXJuIFRydWUgaWYgdGhpcyBwYXRoIG1hdGNoZXMgdGhlIGdpdmVu IHBhdHRlcm4uCistICAgICAgICAiIiIKKy0gICAgICAgIGNmID0gc2VsZi5fZmxhdm91ci5jYXNl Zm9sZAorLSAgICAgICAgcGF0aF9wYXR0ZXJuID0gY2YocGF0aF9wYXR0ZXJuKQorLSAgICAgICAg ZHJ2LCByb290LCBwYXRfcGFydHMgPSBzZWxmLl9mbGF2b3VyLnBhcnNlX3BhcnRzKChwYXRoX3Bh dHRlcm4sKSkKKy0gICAgICAgIGlmIG5vdCBwYXRfcGFydHM6CistICAgICAgICAgICAgcmFpc2Ug VmFsdWVFcnJvcigiZW1wdHkgcGF0dGVybiIpCistICAgICAgICBpZiBkcnYgYW5kIGRydiAhPSBj ZihzZWxmLl9kcnYpOgorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgaWYgcm9v dCBhbmQgcm9vdCAhPSBjZihzZWxmLl9yb290KToKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UK Ky0gICAgICAgIHBhcnRzID0gc2VsZi5fY3BhcnRzCistICAgICAgICBpZiBkcnYgb3Igcm9vdDoK Ky0gICAgICAgICAgICBpZiBsZW4ocGF0X3BhcnRzKSAhPSBsZW4ocGFydHMpOgorLSAgICAgICAg ICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgICAgICBwYXRfcGFydHMgPSBwYXRfcGFydHNb MTpdCistICAgICAgICBlbGlmIGxlbihwYXRfcGFydHMpID4gbGVuKHBhcnRzKToKKy0gICAgICAg ICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIGZvciBwYXJ0LCBwYXQgaW4gemlwKHJldmVyc2Vk KHBhcnRzKSwgcmV2ZXJzZWQocGF0X3BhcnRzKSk6CistICAgICAgICAgICAgaWYgbm90IGZubWF0 Y2guZm5tYXRjaGNhc2UocGFydCwgcGF0KToKKy0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNl CistICAgICAgICByZXR1cm4gVHJ1ZQorLQorLQorLWNsYXNzIFB1cmVQb3NpeFBhdGgoUHVyZVBh dGgpOgorLSAgICBfZmxhdm91ciA9IF9wb3NpeF9mbGF2b3VyCistICAgIF9fc2xvdHNfXyA9ICgp CistCistCistY2xhc3MgUHVyZVdpbmRvd3NQYXRoKFB1cmVQYXRoKToKKy0gICAgX2ZsYXZvdXIg PSBfd2luZG93c19mbGF2b3VyCistICAgIF9fc2xvdHNfXyA9ICgpCistCistCistIyBGaWxlc3lz dGVtLWFjY2Vzc2luZyBjbGFzc2VzCistCistCistY2xhc3MgUGF0aChQdXJlUGF0aCk6CistICAg IF9fc2xvdHNfXyA9ICgKKy0gICAgICAgICdfYWNjZXNzb3InLAorLSAgICApCistCistICAgIGRl ZiBfX25ld19fKGNscywgKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgICAgIGlmIGNscyBpcyBQYXRo OgorLSAgICAgICAgICAgIGNscyA9IFdpbmRvd3NQYXRoIGlmIG9zLm5hbWUgPT0gJ250JyBlbHNl IFBvc2l4UGF0aAorLSAgICAgICAgc2VsZiA9IGNscy5fZnJvbV9wYXJ0cyhhcmdzLCBpbml0PUZh bHNlKQorLSAgICAgICAgaWYgbm90IHNlbGYuX2ZsYXZvdXIuaXNfc3VwcG9ydGVkOgorLSAgICAg ICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoImNhbm5vdCBpbnN0YW50aWF0ZSAlciBv biB5b3VyIHN5c3RlbSIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUg KGNscy5fX25hbWVfXywpKQorLSAgICAgICAgc2VsZi5faW5pdCgpCistICAgICAgICByZXR1cm4g c2VsZgorLQorLSAgICBkZWYgX2luaXQoc2VsZiwKKy0gICAgICAgICAgICAgICMgUHJpdmF0ZSBu b24tY29uc3RydWN0b3IgYXJndW1lbnRzCistICAgICAgICAgICAgICB0ZW1wbGF0ZT1Ob25lLAor LSAgICAgICAgICAgICAgKToKKy0gICAgICAgIGlmIHRlbXBsYXRlIGlzIG5vdCBOb25lOgorLSAg ICAgICAgICAgIHNlbGYuX2FjY2Vzc29yID0gdGVtcGxhdGUuX2FjY2Vzc29yCistICAgICAgICBl bHNlOgorLSAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29yID0gX25vcm1hbF9hY2Nlc3NvcgorLQor LSAgICBkZWYgX21ha2VfY2hpbGRfcmVscGF0aChzZWxmLCBwYXJ0KToKKy0gICAgICAgICMgVGhp cyBpcyBhbiBvcHRpbWl6YXRpb24gdXNlZCBmb3IgZGlyIHdhbGtpbmcuICBgcGFydGAgbXVzdCBi ZQorLSAgICAgICAgIyBhIHNpbmdsZSBwYXJ0IHJlbGF0aXZlIHRvIHRoaXMgcGF0aC4KKy0gICAg ICAgIHBhcnRzID0gc2VsZi5fcGFydHMgKyBbcGFydF0KKy0gICAgICAgIHJldHVybiBzZWxmLl9m cm9tX3BhcnNlZF9wYXJ0cyhzZWxmLl9kcnYsIHNlbGYuX3Jvb3QsIHBhcnRzKQorLQorLSAgICBk ZWYgX29wZW5lcihzZWxmLCBuYW1lLCBmbGFncywgbW9kZT0wbzY2Nik6CistICAgICAgICAjIEEg c3R1YiBmb3IgdGhlIG9wZW5lciBhcmd1bWVudCB0byBidWlsdC1pbiBvcGVuKCkKKy0gICAgICAg IHJldHVybiBzZWxmLl9hY2Nlc3Nvci5vcGVuKHNlbGYsIGZsYWdzLCBtb2RlKQorLQorLSAgICBk ZWYgX3Jhd19vcGVuKHNlbGYsIGZsYWdzLCBtb2RlPTBvNzc3KToKKy0gICAgICAgICIiIgorLSAg ICAgICAgT3BlbiB0aGUgZmlsZSBwb2ludGVkIGJ5IHRoaXMgcGF0aCBhbmQgcmV0dXJuIGEgZmls ZSBkZXNjcmlwdG9yLAorLSAgICAgICAgYXMgb3Mub3BlbigpIGRvZXMuCistICAgICAgICAiIiIK Ky0gICAgICAgIHJldHVybiBzZWxmLl9hY2Nlc3Nvci5vcGVuKHNlbGYsIGZsYWdzLCBtb2RlKQor LQorLSAgICAjIFB1YmxpYyBBUEkKKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAgIGRlZiBjd2Qo Y2xzKToKKy0gICAgICAgICIiIlJldHVybiBhIG5ldyBwYXRoIHBvaW50aW5nIHRvIHRoZSBjdXJy ZW50IHdvcmtpbmcgZGlyZWN0b3J5CistICAgICAgICAoYXMgcmV0dXJuZWQgYnkgb3MuZ2V0Y3dk KCkpLgorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gY2xzKG9zLmdldGN3ZCgpKQorLQor LSAgICBkZWYgaXRlcmRpcihzZWxmKToKKy0gICAgICAgICIiIkl0ZXJhdGUgb3ZlciB0aGUgZmls ZXMgaW4gdGhpcyBkaXJlY3RvcnkuICBEb2VzIG5vdCB5aWVsZCBhbnkKKy0gICAgICAgIHJlc3Vs dCBmb3IgdGhlIHNwZWNpYWwgcGF0aHMgJy4nIGFuZCAnLi4nLgorLSAgICAgICAgIiIiCistICAg ICAgICBmb3IgbmFtZSBpbiBzZWxmLl9hY2Nlc3Nvci5saXN0ZGlyKHNlbGYpOgorLSAgICAgICAg ICAgIGlmIG5hbWUgaW4gKCcuJywgJy4uJyk6CistICAgICAgICAgICAgICAgICMgWWllbGRpbmcg YSBwYXRoIG9iamVjdCBmb3IgdGhlc2UgbWFrZXMgbGl0dGxlIHNlbnNlCistICAgICAgICAgICAg ICAgIGNvbnRpbnVlCistICAgICAgICAgICAgeWllbGQgc2VsZi5fbWFrZV9jaGlsZF9yZWxwYXRo KG5hbWUpCistCistICAgIGRlZiBnbG9iKHNlbGYsIHBhdHRlcm4pOgorLSAgICAgICAgIiIiSXRl cmF0ZSBvdmVyIHRoaXMgc3VidHJlZSBhbmQgeWllbGQgYWxsIGV4aXN0aW5nIGZpbGVzIChvZiBh bnkKKy0gICAgICAgIGtpbmQsIGluY2x1ZGluZyBkaXJlY3RvcmllcykgbWF0Y2hpbmcgdGhlIGdp dmVuIHBhdHRlcm4uCistICAgICAgICAiIiIKKy0gICAgICAgIHBhdHRlcm4gPSBzZWxmLl9mbGF2 b3VyLmNhc2Vmb2xkKHBhdHRlcm4pCistICAgICAgICBkcnYsIHJvb3QsIHBhdHRlcm5fcGFydHMg PSBzZWxmLl9mbGF2b3VyLnBhcnNlX3BhcnRzKChwYXR0ZXJuLCkpCistICAgICAgICBpZiBkcnYg b3Igcm9vdDoKKy0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJOb24tcmVs YXRpdmUgcGF0dGVybnMgYXJlIHVuc3VwcG9ydGVkIikKKy0gICAgICAgIHNlbGVjdG9yID0gX21h a2Vfc2VsZWN0b3IodHVwbGUocGF0dGVybl9wYXJ0cykpCistICAgICAgICBmb3IgcCBpbiBzZWxl Y3Rvci5zZWxlY3RfZnJvbShzZWxmKToKKy0gICAgICAgICAgICB5aWVsZCBwCistCistICAgIGRl ZiByZ2xvYihzZWxmLCBwYXR0ZXJuKToKKy0gICAgICAgICIiIlJlY3Vyc2l2ZWx5IHlpZWxkIGFs bCBleGlzdGluZyBmaWxlcyAob2YgYW55IGtpbmQsIGluY2x1ZGluZworLSAgICAgICAgZGlyZWN0 b3JpZXMpIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXR0ZXJuLCBhbnl3aGVyZSBpbiB0aGlzIHN1YnRy ZWUuCistICAgICAgICAiIiIKKy0gICAgICAgIHBhdHRlcm4gPSBzZWxmLl9mbGF2b3VyLmNhc2Vm b2xkKHBhdHRlcm4pCistICAgICAgICBkcnYsIHJvb3QsIHBhdHRlcm5fcGFydHMgPSBzZWxmLl9m bGF2b3VyLnBhcnNlX3BhcnRzKChwYXR0ZXJuLCkpCistICAgICAgICBpZiBkcnYgb3Igcm9vdDoK Ky0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJOb24tcmVsYXRpdmUgcGF0 dGVybnMgYXJlIHVuc3VwcG9ydGVkIikKKy0gICAgICAgIHNlbGVjdG9yID0gX21ha2Vfc2VsZWN0 b3IoKCIqKiIsKSArIHR1cGxlKHBhdHRlcm5fcGFydHMpKQorLSAgICAgICAgZm9yIHAgaW4gc2Vs ZWN0b3Iuc2VsZWN0X2Zyb20oc2VsZik6CistICAgICAgICAgICAgeWllbGQgcAorLQorLSAgICBk ZWYgYWJzb2x1dGUoc2VsZik6CistICAgICAgICAiIiJSZXR1cm4gYW4gYWJzb2x1dGUgdmVyc2lv biBvZiB0aGlzIHBhdGguICBUaGlzIGZ1bmN0aW9uIHdvcmtzCistICAgICAgICBldmVuIGlmIHRo ZSBwYXRoIGRvZXNuJ3QgcG9pbnQgdG8gYW55dGhpbmcuCistCistICAgICAgICBObyBub3JtYWxp emF0aW9uIGlzIGRvbmUsIGkuZS4gYWxsICcuJyBhbmQgJy4uJyB3aWxsIGJlIGtlcHQgYWxvbmcu CistICAgICAgICBVc2UgcmVzb2x2ZSgpIHRvIGdldCB0aGUgY2Fub25pY2FsIHBhdGggdG8gYSBm aWxlLgorLSAgICAgICAgIiIiCistICAgICAgICAjIFhYWCB1bnRlc3RlZCB5ZXQhCistICAgICAg ICBpZiBzZWxmLmlzX2Fic29sdXRlKCk6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYKKy0gICAg ICAgICMgRklYTUUgdGhpcyBtdXN0IGRlZmVyIHRvIHRoZSBzcGVjaWZpYyBmbGF2b3VyIChhbmQs IHVuZGVyIFdpbmRvd3MsCistICAgICAgICAjIHVzZSBudC5fZ2V0ZnVsbHBhdGhuYW1lKCkpCist ICAgICAgICBvYmogPSBzZWxmLl9mcm9tX3BhcnRzKFtvcy5nZXRjd2QoKV0gKyBzZWxmLl9wYXJ0 cywgaW5pdD1GYWxzZSkKKy0gICAgICAgIG9iai5faW5pdCh0ZW1wbGF0ZT1zZWxmKQorLSAgICAg ICAgcmV0dXJuIG9iagorLQorLSAgICBkZWYgcmVzb2x2ZShzZWxmKToKKy0gICAgICAgICIiIgor LSAgICAgICAgTWFrZSB0aGUgcGF0aCBhYnNvbHV0ZSwgcmVzb2x2aW5nIGFsbCBzeW1saW5rcyBv biB0aGUgd2F5IGFuZCBhbHNvCistICAgICAgICBub3JtYWxpemluZyBpdCAoZm9yIGV4YW1wbGUg dHVybmluZyBzbGFzaGVzIGludG8gYmFja3NsYXNoZXMgdW5kZXIKKy0gICAgICAgIFdpbmRvd3Mp LgorLSAgICAgICAgIiIiCistICAgICAgICBzID0gc2VsZi5fZmxhdm91ci5yZXNvbHZlKHNlbGYp CistICAgICAgICBpZiBzIGlzIE5vbmU6CistICAgICAgICAgICAgIyBObyBzeW1saW5rIHJlc29s dXRpb24gPT4gZm9yIGNvbnNpc3RlbmN5LCByYWlzZSBhbiBlcnJvciBpZgorLSAgICAgICAgICAg ICMgdGhlIHBhdGggZG9lc24ndCBleGlzdCBvciBpcyBmb3JiaWRkZW4KKy0gICAgICAgICAgICBz ZWxmLnN0YXQoKQorLSAgICAgICAgICAgIHMgPSBzdHIoc2VsZi5hYnNvbHV0ZSgpKQorLSAgICAg ICAgIyBOb3cgd2UgaGF2ZSBubyBzeW1saW5rcyBpbiB0aGUgcGF0aCwgaXQncyBzYWZlIHRvIG5v cm1hbGl6ZSBpdC4KKy0gICAgICAgIG5vcm1lZCA9IHNlbGYuX2ZsYXZvdXIucGF0aG1vZC5ub3Jt cGF0aChzKQorLSAgICAgICAgb2JqID0gc2VsZi5fZnJvbV9wYXJ0cygobm9ybWVkLCksIGluaXQ9 RmFsc2UpCistICAgICAgICBvYmouX2luaXQodGVtcGxhdGU9c2VsZikKKy0gICAgICAgIHJldHVy biBvYmoKKy0KKy0gICAgZGVmIHN0YXQoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFJl dHVybiB0aGUgcmVzdWx0IG9mIHRoZSBzdGF0KCkgc3lzdGVtIGNhbGwgb24gdGhpcyBwYXRoLCBs aWtlCistICAgICAgICBvcy5zdGF0KCkgZG9lcy4KKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0 dXJuIHNlbGYuX2FjY2Vzc29yLnN0YXQoc2VsZikKKy0KKy0gICAgZGVmIG93bmVyKHNlbGYpOgor LSAgICAgICAgIiIiCistICAgICAgICBSZXR1cm4gdGhlIGxvZ2luIG5hbWUgb2YgdGhlIGZpbGUg b3duZXIuCistICAgICAgICAiIiIKKy0gICAgICAgIGltcG9ydCBwd2QKKy0gICAgICAgIHJldHVy biBwd2QuZ2V0cHd1aWQoc2VsZi5zdGF0KCkuc3RfdWlkKS5wd19uYW1lCistCistICAgIGRlZiBn cm91cChzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmV0dXJuIHRoZSBncm91cCBuYW1l IG9mIHRoZSBmaWxlIGdpZC4KKy0gICAgICAgICIiIgorLSAgICAgICAgaW1wb3J0IGdycAorLSAg ICAgICAgcmV0dXJuIGdycC5nZXRncmdpZChzZWxmLnN0YXQoKS5zdF9naWQpLmdyX25hbWUKKy0K Ky0gICAgZGVmIG9wZW4oc2VsZiwgbW9kZT0ncicsIGJ1ZmZlcmluZz0tMSwgZW5jb2Rpbmc9Tm9u ZSwKKy0gICAgICAgICAgICAgZXJyb3JzPU5vbmUsIG5ld2xpbmU9Tm9uZSk6CistICAgICAgICAi IiIKKy0gICAgICAgIE9wZW4gdGhlIGZpbGUgcG9pbnRlZCBieSB0aGlzIHBhdGggYW5kIHJldHVy biBhIGZpbGUgb2JqZWN0LCBhcworLSAgICAgICAgdGhlIGJ1aWx0LWluIG9wZW4oKSBmdW5jdGlv biBkb2VzLgorLSAgICAgICAgIiIiCistICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvID49ICgz LCAzKToKKy0gICAgICAgICAgICByZXR1cm4gaW8ub3BlbihzdHIoc2VsZiksIG1vZGUsIGJ1ZmZl cmluZywgZW5jb2RpbmcsIGVycm9ycywgbmV3bGluZSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICBvcGVuZXI9c2VsZi5fb3BlbmVyKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBy ZXR1cm4gaW8ub3BlbihzdHIoc2VsZiksIG1vZGUsIGJ1ZmZlcmluZywgZW5jb2RpbmcsIGVycm9y cywgbmV3bGluZSkKKy0KKy0gICAgZGVmIHRvdWNoKHNlbGYsIG1vZGU9MG82NjYsIGV4aXN0X29r PVRydWUpOgorLSAgICAgICAgIiIiCistICAgICAgICBDcmVhdGUgdGhpcyBmaWxlIHdpdGggdGhl IGdpdmVuIGFjY2VzcyBtb2RlLCBpZiBpdCBkb2Vzbid0IGV4aXN0LgorLSAgICAgICAgIiIiCist ICAgICAgICBpZiBleGlzdF9vazoKKy0gICAgICAgICAgICAjIEZpcnN0IHRyeSB0byBidW1wIG1v ZGlmaWNhdGlvbiB0aW1lCistICAgICAgICAgICAgIyBJbXBsZW1lbnRhdGlvbiBub3RlOiBHTlUg dG91Y2ggdXNlcyB0aGUgVVRJTUVfTk9XIG9wdGlvbiBvZgorLSAgICAgICAgICAgICMgdGhlIHV0 aW1lbnNhdCgpIC8gZnV0aW1lbnMoKSBmdW5jdGlvbnMuCistICAgICAgICAgICAgdCA9IHRpbWUu dGltZSgpCistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBzZWxmLl9hY2Nlc3Nv ci51dGltZShzZWxmLCAodCwgdCkpCistICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAg ICAgICAgICAgICAgICMgQXZvaWQgZXhjZXB0aW9uIGNoYWluaW5nCistICAgICAgICAgICAgICAg IHBhc3MKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICByZXR1cm4KKy0gICAg ICAgIGZsYWdzID0gb3MuT19DUkVBVCB8IG9zLk9fV1JPTkxZCistICAgICAgICBpZiBub3QgZXhp c3Rfb2s6CistICAgICAgICAgICAgZmxhZ3MgfD0gb3MuT19FWENMCistICAgICAgICBmZCA9IHNl bGYuX3Jhd19vcGVuKGZsYWdzLCBtb2RlKQorLSAgICAgICAgb3MuY2xvc2UoZmQpCistCistICAg IGRlZiBta2RpcihzZWxmLCBtb2RlPTBvNzc3LCBwYXJlbnRzPUZhbHNlKToKKy0gICAgICAgIGlm IG5vdCBwYXJlbnRzOgorLSAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29yLm1rZGlyKHNlbGYsIG1v ZGUpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHRyeToKKy0gICAgICAgICAgICAgICAg c2VsZi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9kZSkKKy0gICAgICAgICAgICBleGNlcHQgT1NF cnJvciBhcyBlOgorLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IEVOT0VOVDoKKy0gICAg ICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICAgICAgICAgIHNlbGYucGFyZW50Lm1rZGly KHBhcmVudHM9VHJ1ZSkKKy0gICAgICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IubWtkaXIoc2Vs ZiwgbW9kZSkKKy0KKy0gICAgZGVmIGNobW9kKHNlbGYsIG1vZGUpOgorLSAgICAgICAgIiIiCist ICAgICAgICBDaGFuZ2UgdGhlIHBlcm1pc3Npb25zIG9mIHRoZSBwYXRoLCBsaWtlIG9zLmNobW9k KCkuCistICAgICAgICAiIiIKKy0gICAgICAgIHNlbGYuX2FjY2Vzc29yLmNobW9kKHNlbGYsIG1v ZGUpCistCistICAgIGRlZiBsY2htb2Qoc2VsZiwgbW9kZSk6CistICAgICAgICAiIiIKKy0gICAg ICAgIExpa2UgY2htb2QoKSwgZXhjZXB0IGlmIHRoZSBwYXRoIHBvaW50cyB0byBhIHN5bWxpbmss IHRoZSBzeW1saW5rJ3MKKy0gICAgICAgIHBlcm1pc3Npb25zIGFyZSBjaGFuZ2VkLCByYXRoZXIg dGhhbiBpdHMgdGFyZ2V0J3MuCistICAgICAgICAiIiIKKy0gICAgICAgIHNlbGYuX2FjY2Vzc29y LmxjaG1vZChzZWxmLCBtb2RlKQorLQorLSAgICBkZWYgdW5saW5rKHNlbGYpOgorLSAgICAgICAg IiIiCistICAgICAgICBSZW1vdmUgdGhpcyBmaWxlIG9yIGxpbmsuCistICAgICAgICBJZiB0aGUg cGF0aCBpcyBhIGRpcmVjdG9yeSwgdXNlIHJtZGlyKCkgaW5zdGVhZC4KKy0gICAgICAgICIiIgor LSAgICAgICAgc2VsZi5fYWNjZXNzb3IudW5saW5rKHNlbGYpCistCistICAgIGRlZiBybWRpcihz ZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmVtb3ZlIHRoaXMgZGlyZWN0b3J5LiAgVGhl IGRpcmVjdG9yeSBtdXN0IGJlIGVtcHR5LgorLSAgICAgICAgIiIiCistICAgICAgICBzZWxmLl9h Y2Nlc3Nvci5ybWRpcihzZWxmKQorLQorLSAgICBkZWYgbHN0YXQoc2VsZik6CistICAgICAgICAi IiIKKy0gICAgICAgIExpa2Ugc3RhdCgpLCBleGNlcHQgaWYgdGhlIHBhdGggcG9pbnRzIHRvIGEg c3ltbGluaywgdGhlIHN5bWxpbmsncworLSAgICAgICAgc3RhdHVzIGluZm9ybWF0aW9uIGlzIHJl dHVybmVkLCByYXRoZXIgdGhhbiBpdHMgdGFyZ2V0J3MuCistICAgICAgICAiIiIKKy0gICAgICAg IHJldHVybiBzZWxmLl9hY2Nlc3Nvci5sc3RhdChzZWxmKQorLQorLSAgICBkZWYgcmVuYW1lKHNl bGYsIHRhcmdldCk6CistICAgICAgICAiIiIKKy0gICAgICAgIFJlbmFtZSB0aGlzIHBhdGggdG8g dGhlIGdpdmVuIHBhdGguCistICAgICAgICAiIiIKKy0gICAgICAgIHNlbGYuX2FjY2Vzc29yLnJl bmFtZShzZWxmLCB0YXJnZXQpCistCistICAgIGRlZiByZXBsYWNlKHNlbGYsIHRhcmdldCk6Cist ICAgICAgICAiIiIKKy0gICAgICAgIFJlbmFtZSB0aGlzIHBhdGggdG8gdGhlIGdpdmVuIHBhdGgs IGNsb2JiZXJpbmcgdGhlIGV4aXN0aW5nCistICAgICAgICBkZXN0aW5hdGlvbiBpZiBpdCBleGlz dHMuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgMyk6 CistICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigicmVwbGFjZSgpIGlzIG9u bHkgYXZhaWxhYmxlICIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3 aXRoIFB5dGhvbiAzLjMgYW5kIGxhdGVyIikKKy0gICAgICAgIHNlbGYuX2FjY2Vzc29yLnJlcGxh Y2Uoc2VsZiwgdGFyZ2V0KQorLQorLSAgICBkZWYgc3ltbGlua190byhzZWxmLCB0YXJnZXQsIHRh cmdldF9pc19kaXJlY3Rvcnk9RmFsc2UpOgorLSAgICAgICAgIiIiCistICAgICAgICBNYWtlIHRo aXMgcGF0aCBhIHN5bWxpbmsgcG9pbnRpbmcgdG8gdGhlIGdpdmVuIHBhdGguCistICAgICAgICBO b3RlIHRoZSBvcmRlciBvZiBhcmd1bWVudHMgKHNlbGYsIHRhcmdldCkgaXMgdGhlIHJldmVyc2Ug b2Ygb3Muc3ltbGluaydzLgorLSAgICAgICAgIiIiCistICAgICAgICBzZWxmLl9hY2Nlc3Nvci5z eW1saW5rKHRhcmdldCwgc2VsZiwgdGFyZ2V0X2lzX2RpcmVjdG9yeSkKKy0KKy0gICAgIyBDb252 ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIHF1ZXJ5aW5nIHRoZSBzdGF0IHJlc3VsdHMKKy0KKy0gICAg ZGVmIGV4aXN0cyhzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgV2hldGhlciB0aGlzIHBh dGggZXhpc3RzLgorLSAgICAgICAgIiIiCistICAgICAgICB0cnk6CistICAgICAgICAgICAgc2Vs Zi5zdGF0KCkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAgICAgICAgaWYg ZS5lcnJubyAhPSBFTk9FTlQ6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICAgICAg cmV0dXJuIEZhbHNlCistICAgICAgICByZXR1cm4gVHJ1ZQorLQorLSAgICBkZWYgaXNfZGlyKHNl bGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0aCBpcyBhIGRpcmVj dG9yeS4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBT X0lTRElSKHNlbGYuc3RhdCgpLnN0X21vZGUpCistICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBl OgorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAgICAgICAgICBy YWlzZQorLSAgICAgICAgICAgICMgUGF0aCBkb2Vzbid0IGV4aXN0IG9yIGlzIGEgYnJva2VuIHN5 bWxpbmsKKy0gICAgICAgICAgICAjIChzZWUgaHR0cHM6Ly9iaXRidWNrZXQub3JnL3BpdHJvdS9w YXRobGliL2lzc3VlLzEyLykKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0KKy0gICAgZGVm IGlzX2ZpbGUoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRo IGlzIGEgcmVndWxhciBmaWxlIChhbHNvIFRydWUgZm9yIHN5bWxpbmtzIHBvaW50aW5nCistICAg ICAgICB0byByZWd1bGFyIGZpbGVzKS4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAg ICAgICAgICAgIHJldHVybiBTX0lTUkVHKHNlbGYuc3RhdCgpLnN0X21vZGUpCistICAgICAgICBl eGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgor LSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgICAgICMgUGF0aCBkb2Vzbid0IGV4aXN0 IG9yIGlzIGEgYnJva2VuIHN5bWxpbmsKKy0gICAgICAgICAgICAjIChzZWUgaHR0cHM6Ly9iaXRi dWNrZXQub3JnL3BpdHJvdS9wYXRobGliL2lzc3VlLzEyLykKKy0gICAgICAgICAgICByZXR1cm4g RmFsc2UKKy0KKy0gICAgZGVmIGlzX3N5bWxpbmsoc2VsZik6CistICAgICAgICAiIiIKKy0gICAg ICAgIFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgc3ltYm9saWMgbGluay4KKy0gICAgICAgICIiIgor LSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBTX0lTTE5LKHNlbGYubHN0YXQoKS5z dF9tb2RlKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAgICAgICBpZiBl LmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0gICAgICAgICAgICAj IFBhdGggZG9lc24ndCBleGlzdAorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLQorLSAgICBk ZWYgaXNfYmxvY2tfZGV2aWNlKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBXaGV0aGVy IHRoaXMgcGF0aCBpcyBhIGJsb2NrIGRldmljZS4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJ5 OgorLSAgICAgICAgICAgIHJldHVybiBTX0lTQkxLKHNlbGYuc3RhdCgpLnN0X21vZGUpCistICAg ICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRU5P RU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgICAgICMgUGF0aCBkb2Vzbid0 IGV4aXN0IG9yIGlzIGEgYnJva2VuIHN5bWxpbmsKKy0gICAgICAgICAgICAjIChzZWUgaHR0cHM6 Ly9iaXRidWNrZXQub3JnL3BpdHJvdS9wYXRobGliL2lzc3VlLzEyLykKKy0gICAgICAgICAgICBy ZXR1cm4gRmFsc2UKKy0KKy0gICAgZGVmIGlzX2NoYXJfZGV2aWNlKHNlbGYpOgorLSAgICAgICAg IiIiCistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0aCBpcyBhIGNoYXJhY3RlciBkZXZpY2UuCist ICAgICAgICAiIiIKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICByZXR1cm4gU19JU0NIUihz ZWxmLnN0YXQoKS5zdF9tb2RlKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAg ICAgICAgICBpZiBlLmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0g ICAgICAgICAgICAjIFBhdGggZG9lc24ndCBleGlzdCBvciBpcyBhIGJyb2tlbiBzeW1saW5rCist ICAgICAgICAgICAgIyAoc2VlIGh0dHBzOi8vYml0YnVja2V0Lm9yZy9waXRyb3UvcGF0aGxpYi9p c3N1ZS8xMi8pCistICAgICAgICAgICAgcmV0dXJuIEZhbHNlCistCistICAgIGRlZiBpc19maWZv KHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0aCBpcyBhIEZJ Rk8uCistICAgICAgICAiIiIKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICByZXR1cm4gU19J U0ZJRk8oc2VsZi5zdGF0KCkuc3RfbW9kZSkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6 CistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBFTk9FTlQ6CistICAgICAgICAgICAgICAgIHJh aXNlCistICAgICAgICAgICAgIyBQYXRoIGRvZXNuJ3QgZXhpc3Qgb3IgaXMgYSBicm9rZW4gc3lt bGluaworLSAgICAgICAgICAgICMgKHNlZSBodHRwczovL2JpdGJ1Y2tldC5vcmcvcGl0cm91L3Bh dGhsaWIvaXNzdWUvMTIvKQorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLQorLSAgICBkZWYg aXNfc29ja2V0KHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0 aCBpcyBhIHNvY2tldC4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAg IHJldHVybiBTX0lTU09DSyhzZWxmLnN0YXQoKS5zdF9tb2RlKQorLSAgICAgICAgZXhjZXB0IE9T RXJyb3IgYXMgZToKKy0gICAgICAgICAgICBpZiBlLmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAg ICAgICAgICAgcmFpc2UKKy0gICAgICAgICAgICAjIFBhdGggZG9lc24ndCBleGlzdCBvciBpcyBh IGJyb2tlbiBzeW1saW5rCistICAgICAgICAgICAgIyAoc2VlIGh0dHBzOi8vYml0YnVja2V0Lm9y Zy9waXRyb3UvcGF0aGxpYi9pc3N1ZS8xMi8pCistICAgICAgICAgICAgcmV0dXJuIEZhbHNlCist CistCistY2xhc3MgUG9zaXhQYXRoKFBhdGgsIFB1cmVQb3NpeFBhdGgpOgorLSAgICBfX3Nsb3Rz X18gPSAoKQorLQorLWNsYXNzIFdpbmRvd3NQYXRoKFBhdGgsIFB1cmVXaW5kb3dzUGF0aCk6Cist ICAgIF9fc2xvdHNfXyA9ICgpCistCitkaWZmIC0tZ2l0IGEvdGFza3MvX3ZlbmRvci9zaXgucHkg Yi90YXNrcy9fdmVuZG9yL3NpeC5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAx OTBjMDIzLi4wMDAwMDAwCistLS0gYS90YXNrcy9fdmVuZG9yL3NpeC5weQorKysrIC9kZXYvbnVs bAorQEAgLTEsODY4ICswLDAgQEAKKy0iIiJVdGlsaXRpZXMgZm9yIHdyaXRpbmcgY29kZSB0aGF0 IHJ1bnMgb24gUHl0aG9uIDIgYW5kIDMiIiIKKy0KKy0jIENvcHlyaWdodCAoYykgMjAxMC0yMDE1 IEJlbmphbWluIFBldGVyc29uCistIworLSMgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorLSMgb2YgdGhp cyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3 YXJlIiksIHRvIGRlYWwKKy0jIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBp bmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKKy0jIHRvIHVzZSwgY29weSwg bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl bGwKKy0jIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3 aG9tIHRoZSBTb2Z0d2FyZSBpcworLSMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRo ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKy0jCistIyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKy0j IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCistIworLSMg VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z IEtJTkQsIEVYUFJFU1MgT1IKKy0jIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorLSMgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwg VEhFCistIyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENM QUlNLCBEQU1BR0VTIE9SIE9USEVSCistIyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O IE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorLSMgT1VUIE9G IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBE RUFMSU5HUyBJTiBUSEUKKy0jIFNPRlRXQVJFLgorLQorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQg YWJzb2x1dGVfaW1wb3J0CistCistaW1wb3J0IGZ1bmN0b29scworLWltcG9ydCBpdGVydG9vbHMK Ky1pbXBvcnQgb3BlcmF0b3IKKy1pbXBvcnQgc3lzCistaW1wb3J0IHR5cGVzCistCistX19hdXRo b3JfXyA9ICJCZW5qYW1pbiBQZXRlcnNvbiA8YmVuamFtaW5AcHl0aG9uLm9yZz4iCistX192ZXJz aW9uX18gPSAiMS4xMC4wIgorLQorLQorLSMgVXNlZnVsIGZvciB2ZXJ5IGNvYXJzZSB2ZXJzaW9u IGRpZmZlcmVudGlhdGlvbi4KKy1QWTIgPSBzeXMudmVyc2lvbl9pbmZvWzBdID09IDIKKy1QWTMg PSBzeXMudmVyc2lvbl9pbmZvWzBdID09IDMKKy1QWTM0ID0gc3lzLnZlcnNpb25faW5mb1swOjJd ID49ICgzLCA0KQorLQorLWlmIFBZMzoKKy0gICAgc3RyaW5nX3R5cGVzID0gc3RyLAorLSAgICBp bnRlZ2VyX3R5cGVzID0gaW50LAorLSAgICBjbGFzc190eXBlcyA9IHR5cGUsCistICAgIHRleHRf dHlwZSA9IHN0cgorLSAgICBiaW5hcnlfdHlwZSA9IGJ5dGVzCistCistICAgIE1BWFNJWkUgPSBz eXMubWF4c2l6ZQorLWVsc2U6CistICAgIHN0cmluZ190eXBlcyA9IGJhc2VzdHJpbmcsCistICAg IGludGVnZXJfdHlwZXMgPSAoaW50LCBsb25nKQorLSAgICBjbGFzc190eXBlcyA9ICh0eXBlLCB0 eXBlcy5DbGFzc1R5cGUpCistICAgIHRleHRfdHlwZSA9IHVuaWNvZGUKKy0gICAgYmluYXJ5X3R5 cGUgPSBzdHIKKy0KKy0gICAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImphdmEiKToKKy0g ICAgICAgICMgSnl0aG9uIGFsd2F5cyB1c2VzIDMyIGJpdHMuCistICAgICAgICBNQVhTSVpFID0g aW50KCgxIDw8IDMxKSAtIDEpCistICAgIGVsc2U6CistICAgICAgICAjIEl0J3MgcG9zc2libGUg dG8gaGF2ZSBzaXplb2YobG9uZykgIT0gc2l6ZW9mKFB5X3NzaXplX3QpLgorLSAgICAgICAgY2xh c3MgWChvYmplY3QpOgorLQorLSAgICAgICAgICAgIGRlZiBfX2xlbl9fKHNlbGYpOgorLSAgICAg ICAgICAgICAgICByZXR1cm4gMSA8PCAzMQorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIGxl bihYKCkpCistICAgICAgICBleGNlcHQgT3ZlcmZsb3dFcnJvcjoKKy0gICAgICAgICAgICAjIDMy LWJpdAorLSAgICAgICAgICAgIE1BWFNJWkUgPSBpbnQoKDEgPDwgMzEpIC0gMSkKKy0gICAgICAg IGVsc2U6CistICAgICAgICAgICAgIyA2NC1iaXQKKy0gICAgICAgICAgICBNQVhTSVpFID0gaW50 KCgxIDw8IDYzKSAtIDEpCistICAgICAgICBkZWwgWAorLQorLQorLWRlZiBfYWRkX2RvYyhmdW5j LCBkb2MpOgorLSAgICAiIiJBZGQgZG9jdW1lbnRhdGlvbiB0byBhIGZ1bmN0aW9uLiIiIgorLSAg ICBmdW5jLl9fZG9jX18gPSBkb2MKKy0KKy0KKy1kZWYgX2ltcG9ydF9tb2R1bGUobmFtZSk6Cist ICAgICIiIkltcG9ydCBtb2R1bGUsIHJldHVybmluZyB0aGUgbW9kdWxlIGFmdGVyIHRoZSBsYXN0 IGRvdC4iIiIKKy0gICAgX19pbXBvcnRfXyhuYW1lKQorLSAgICByZXR1cm4gc3lzLm1vZHVsZXNb bmFtZV0KKy0KKy0KKy1jbGFzcyBfTGF6eURlc2NyKG9iamVjdCk6CistCistICAgIGRlZiBfX2lu aXRfXyhzZWxmLCBuYW1lKToKKy0gICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKy0KKy0gICAgZGVm IF9fZ2V0X18oc2VsZiwgb2JqLCB0cCk6CistICAgICAgICByZXN1bHQgPSBzZWxmLl9yZXNvbHZl KCkKKy0gICAgICAgIHNldGF0dHIob2JqLCBzZWxmLm5hbWUsIHJlc3VsdCkgICMgSW52b2tlcyBf X3NldF9fLgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICMgVGhpcyBpcyBhIGJpdCB1Z2x5 LCBidXQgaXQgYXZvaWRzIHJ1bm5pbmcgdGhpcyBhZ2FpbiBieQorLSAgICAgICAgICAgICMgcmVt b3ZpbmcgdGhpcyBkZXNjcmlwdG9yLgorLSAgICAgICAgICAgIGRlbGF0dHIob2JqLl9fY2xhc3Nf Xywgc2VsZi5uYW1lKQorLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorLSAgICAgICAg ICAgIHBhc3MKKy0gICAgICAgIHJldHVybiByZXN1bHQKKy0KKy0KKy1jbGFzcyBNb3ZlZE1vZHVs ZShfTGF6eURlc2NyKToKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIG9sZCwgbmV3 PU5vbmUpOgorLSAgICAgICAgc3VwZXIoTW92ZWRNb2R1bGUsIHNlbGYpLl9faW5pdF9fKG5hbWUp CistICAgICAgICBpZiBQWTM6CistICAgICAgICAgICAgaWYgbmV3IGlzIE5vbmU6CistICAgICAg ICAgICAgICAgIG5ldyA9IG5hbWUKKy0gICAgICAgICAgICBzZWxmLm1vZCA9IG5ldworLSAgICAg ICAgZWxzZToKKy0gICAgICAgICAgICBzZWxmLm1vZCA9IG9sZAorLQorLSAgICBkZWYgX3Jlc29s dmUoc2VsZik6CistICAgICAgICByZXR1cm4gX2ltcG9ydF9tb2R1bGUoc2VsZi5tb2QpCistCist ICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBhdHRyKToKKy0gICAgICAgIF9tb2R1bGUgPSBzZWxm Ll9yZXNvbHZlKCkKKy0gICAgICAgIHZhbHVlID0gZ2V0YXR0cihfbW9kdWxlLCBhdHRyKQorLSAg ICAgICAgc2V0YXR0cihzZWxmLCBhdHRyLCB2YWx1ZSkKKy0gICAgICAgIHJldHVybiB2YWx1ZQor LQorLQorLWNsYXNzIF9MYXp5TW9kdWxlKHR5cGVzLk1vZHVsZVR5cGUpOgorLQorLSAgICBkZWYg X19pbml0X18oc2VsZiwgbmFtZSk6CistICAgICAgICBzdXBlcihfTGF6eU1vZHVsZSwgc2VsZiku X19pbml0X18obmFtZSkKKy0gICAgICAgIHNlbGYuX19kb2NfXyA9IHNlbGYuX19jbGFzc19fLl9f ZG9jX18KKy0KKy0gICAgZGVmIF9fZGlyX18oc2VsZik6CistICAgICAgICBhdHRycyA9IFsiX19k b2NfXyIsICJfX25hbWVfXyJdCistICAgICAgICBhdHRycyArPSBbYXR0ci5uYW1lIGZvciBhdHRy IGluIHNlbGYuX21vdmVkX2F0dHJpYnV0ZXNdCistICAgICAgICByZXR1cm4gYXR0cnMKKy0KKy0g ICAgIyBTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlkZSB0aGlzCistICAgIF9tb3ZlZF9hdHRyaWJ1 dGVzID0gW10KKy0KKy0KKy1jbGFzcyBNb3ZlZEF0dHJpYnV0ZShfTGF6eURlc2NyKToKKy0KKy0g ICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIG9sZF9tb2QsIG5ld19tb2QsIG9sZF9hdHRyPU5v bmUsIG5ld19hdHRyPU5vbmUpOgorLSAgICAgICAgc3VwZXIoTW92ZWRBdHRyaWJ1dGUsIHNlbGYp Ll9faW5pdF9fKG5hbWUpCistICAgICAgICBpZiBQWTM6CistICAgICAgICAgICAgaWYgbmV3X21v ZCBpcyBOb25lOgorLSAgICAgICAgICAgICAgICBuZXdfbW9kID0gbmFtZQorLSAgICAgICAgICAg IHNlbGYubW9kID0gbmV3X21vZAorLSAgICAgICAgICAgIGlmIG5ld19hdHRyIGlzIE5vbmU6Cist ICAgICAgICAgICAgICAgIGlmIG9sZF9hdHRyIGlzIE5vbmU6CistICAgICAgICAgICAgICAgICAg ICBuZXdfYXR0ciA9IG5hbWUKKy0gICAgICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAg ICAgICAgIG5ld19hdHRyID0gb2xkX2F0dHIKKy0gICAgICAgICAgICBzZWxmLmF0dHIgPSBuZXdf YXR0cgorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBzZWxmLm1vZCA9IG9sZF9tb2QKKy0g ICAgICAgICAgICBpZiBvbGRfYXR0ciBpcyBOb25lOgorLSAgICAgICAgICAgICAgICBvbGRfYXR0 ciA9IG5hbWUKKy0gICAgICAgICAgICBzZWxmLmF0dHIgPSBvbGRfYXR0cgorLQorLSAgICBkZWYg X3Jlc29sdmUoc2VsZik6CistICAgICAgICBtb2R1bGUgPSBfaW1wb3J0X21vZHVsZShzZWxmLm1v ZCkKKy0gICAgICAgIHJldHVybiBnZXRhdHRyKG1vZHVsZSwgc2VsZi5hdHRyKQorLQorLQorLWNs YXNzIF9TaXhNZXRhUGF0aEltcG9ydGVyKG9iamVjdCk6CistCistICAgICIiIgorLSAgICBBIG1l dGEgcGF0aCBpbXBvcnRlciB0byBpbXBvcnQgc2l4Lm1vdmVzIGFuZCBpdHMgc3VibW9kdWxlcy4K Ky0KKy0gICAgVGhpcyBjbGFzcyBpbXBsZW1lbnRzIGEgUEVQMzAyIGZpbmRlciBhbmQgbG9hZGVy LiBJdCBzaG91bGQgYmUgY29tcGF0aWJsZQorLSAgICB3aXRoIFB5dGhvbiAyLjUgYW5kIGFsbCBl eGlzdGluZyB2ZXJzaW9ucyBvZiBQeXRob24zCistICAgICIiIgorLQorLSAgICBkZWYgX19pbml0 X18oc2VsZiwgc2l4X21vZHVsZV9uYW1lKToKKy0gICAgICAgIHNlbGYubmFtZSA9IHNpeF9tb2R1 bGVfbmFtZQorLSAgICAgICAgc2VsZi5rbm93bl9tb2R1bGVzID0ge30KKy0KKy0gICAgZGVmIF9h ZGRfbW9kdWxlKHNlbGYsIG1vZCwgKmZ1bGxuYW1lcyk6CistICAgICAgICBmb3IgZnVsbG5hbWUg aW4gZnVsbG5hbWVzOgorLSAgICAgICAgICAgIHNlbGYua25vd25fbW9kdWxlc1tzZWxmLm5hbWUg KyAiLiIgKyBmdWxsbmFtZV0gPSBtb2QKKy0KKy0gICAgZGVmIF9nZXRfbW9kdWxlKHNlbGYsIGZ1 bGxuYW1lKToKKy0gICAgICAgIHJldHVybiBzZWxmLmtub3duX21vZHVsZXNbc2VsZi5uYW1lICsg Ii4iICsgZnVsbG5hbWVdCistCistICAgIGRlZiBmaW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSwg cGF0aD1Ob25lKToKKy0gICAgICAgIGlmIGZ1bGxuYW1lIGluIHNlbGYua25vd25fbW9kdWxlczoK Ky0gICAgICAgICAgICByZXR1cm4gc2VsZgorLSAgICAgICAgcmV0dXJuIE5vbmUKKy0KKy0gICAg ZGVmIF9fZ2V0X21vZHVsZShzZWxmLCBmdWxsbmFtZSk6CistICAgICAgICB0cnk6CistICAgICAg ICAgICAgcmV0dXJuIHNlbGYua25vd25fbW9kdWxlc1tmdWxsbmFtZV0KKy0gICAgICAgIGV4Y2Vw dCBLZXlFcnJvcjoKKy0gICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigiVGhpcyBsb2FkZXIg ZG9lcyBub3Qga25vdyBtb2R1bGUgIiArIGZ1bGxuYW1lKQorLQorLSAgICBkZWYgbG9hZF9tb2R1 bGUoc2VsZiwgZnVsbG5hbWUpOgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICMgaW4gY2Fz ZSBvZiBhIHJlbG9hZAorLSAgICAgICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tmdWxsbmFtZV0K Ky0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKy0gICAgICAgICAgICBwYXNzCistICAgICAgICBt b2QgPSBzZWxmLl9fZ2V0X21vZHVsZShmdWxsbmFtZSkKKy0gICAgICAgIGlmIGlzaW5zdGFuY2Uo bW9kLCBNb3ZlZE1vZHVsZSk6CistICAgICAgICAgICAgbW9kID0gbW9kLl9yZXNvbHZlKCkKKy0g ICAgICAgIGVsc2U6CistICAgICAgICAgICAgbW9kLl9fbG9hZGVyX18gPSBzZWxmCistICAgICAg ICBzeXMubW9kdWxlc1tmdWxsbmFtZV0gPSBtb2QKKy0gICAgICAgIHJldHVybiBtb2QKKy0KKy0g ICAgZGVmIGlzX3BhY2thZ2Uoc2VsZiwgZnVsbG5hbWUpOgorLSAgICAgICAgIiIiCistICAgICAg ICBSZXR1cm4gdHJ1ZSwgaWYgdGhlIG5hbWVkIG1vZHVsZSBpcyBhIHBhY2thZ2UuCistCistICAg ICAgICBXZSBuZWVkIHRoaXMgbWV0aG9kIHRvIGdldCBjb3JyZWN0IHNwZWMgb2JqZWN0cyB3aXRo CistICAgICAgICBQeXRob24gMy40IChzZWUgUEVQNDUxKQorLSAgICAgICAgIiIiCistICAgICAg ICByZXR1cm4gaGFzYXR0cihzZWxmLl9fZ2V0X21vZHVsZShmdWxsbmFtZSksICJfX3BhdGhfXyIp CistCistICAgIGRlZiBnZXRfY29kZShzZWxmLCBmdWxsbmFtZSk6CistICAgICAgICAiIiJSZXR1 cm4gTm9uZQorLQorLSAgICAgICAgUmVxdWlyZWQsIGlmIGlzX3BhY2thZ2UgaXMgaW1wbGVtZW50 ZWQiIiIKKy0gICAgICAgIHNlbGYuX19nZXRfbW9kdWxlKGZ1bGxuYW1lKSAgIyBldmVudHVhbGx5 IHJhaXNlcyBJbXBvcnRFcnJvcgorLSAgICAgICAgcmV0dXJuIE5vbmUKKy0gICAgZ2V0X3NvdXJj ZSA9IGdldF9jb2RlICAjIHNhbWUgYXMgZ2V0X2NvZGUKKy0KKy1faW1wb3J0ZXIgPSBfU2l4TWV0 YVBhdGhJbXBvcnRlcihfX25hbWVfXykKKy0KKy0KKy1jbGFzcyBfTW92ZWRJdGVtcyhfTGF6eU1v ZHVsZSk6CistCistICAgICIiIkxhenkgbG9hZGluZyBvZiBtb3ZlZCBvYmplY3RzIiIiCistICAg IF9fcGF0aF9fID0gW10gICMgbWFyayBhcyBwYWNrYWdlCistCistCistX21vdmVkX2F0dHJpYnV0 ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRlKCJjU3RyaW5nSU8iLCAiY1N0cmluZ0lPIiwgImlv IiwgIlN0cmluZ0lPIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJmaWx0ZXIiLCAiaXRlcnRvb2xz IiwgImJ1aWx0aW5zIiwgImlmaWx0ZXIiLCAiZmlsdGVyIiksCistICAgIE1vdmVkQXR0cmlidXRl KCJmaWx0ZXJmYWxzZSIsICJpdGVydG9vbHMiLCAiaXRlcnRvb2xzIiwgImlmaWx0ZXJmYWxzZSIs ICJmaWx0ZXJmYWxzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiaW5wdXQiLCAiX19idWlsdGlu X18iLCAiYnVpbHRpbnMiLCAicmF3X2lucHV0IiwgImlucHV0IiksCistICAgIE1vdmVkQXR0cmli dXRlKCJpbnRlcm4iLCAiX19idWlsdGluX18iLCAic3lzIiksCistICAgIE1vdmVkQXR0cmlidXRl KCJtYXAiLCAiaXRlcnRvb2xzIiwgImJ1aWx0aW5zIiwgImltYXAiLCAibWFwIiksCistICAgIE1v dmVkQXR0cmlidXRlKCJnZXRjd2QiLCAib3MiLCAib3MiLCAiZ2V0Y3dkdSIsICJnZXRjd2QiKSwK Ky0gICAgTW92ZWRBdHRyaWJ1dGUoImdldGN3ZGIiLCAib3MiLCAib3MiLCAiZ2V0Y3dkIiwgImdl dGN3ZGIiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInJhbmdlIiwgIl9fYnVpbHRpbl9fIiwgImJ1 aWx0aW5zIiwgInhyYW5nZSIsICJyYW5nZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgicmVsb2Fk X21vZHVsZSIsICJfX2J1aWx0aW5fXyIsICJpbXBvcnRsaWIiIGlmIFBZMzQgZWxzZSAiaW1wIiwg InJlbG9hZCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgicmVkdWNlIiwgIl9fYnVpbHRpbl9fIiwg ImZ1bmN0b29scyIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgic2hsZXhfcXVvdGUiLCAicGlwZXMi LCAic2hsZXgiLCAicXVvdGUiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlN0cmluZ0lPIiwgIlN0 cmluZ0lPIiwgImlvIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJVc2VyRGljdCIsICJVc2VyRGlj dCIsICJjb2xsZWN0aW9ucyIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiVXNlckxpc3QiLCAiVXNl ckxpc3QiLCAiY29sbGVjdGlvbnMiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlVzZXJTdHJpbmci LCAiVXNlclN0cmluZyIsICJjb2xsZWN0aW9ucyIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgieHJh bmdlIiwgIl9fYnVpbHRpbl9fIiwgImJ1aWx0aW5zIiwgInhyYW5nZSIsICJyYW5nZSIpLAorLSAg ICBNb3ZlZEF0dHJpYnV0ZSgiemlwIiwgIml0ZXJ0b29scyIsICJidWlsdGlucyIsICJpemlwIiwg InppcCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiemlwX2xvbmdlc3QiLCAiaXRlcnRvb2xzIiwg Iml0ZXJ0b29scyIsICJpemlwX2xvbmdlc3QiLCAiemlwX2xvbmdlc3QiKSwKKy0gICAgTW92ZWRN b2R1bGUoImJ1aWx0aW5zIiwgIl9fYnVpbHRpbl9fIiksCistICAgIE1vdmVkTW9kdWxlKCJjb25m aWdwYXJzZXIiLCAiQ29uZmlnUGFyc2VyIiksCistICAgIE1vdmVkTW9kdWxlKCJjb3B5cmVnIiwg ImNvcHlfcmVnIiksCistICAgIE1vdmVkTW9kdWxlKCJkYm1fZ251IiwgImdkYm0iLCAiZGJtLmdu dSIpLAorLSAgICBNb3ZlZE1vZHVsZSgiX2R1bW15X3RocmVhZCIsICJkdW1teV90aHJlYWQiLCAi X2R1bW15X3RocmVhZCIpLAorLSAgICBNb3ZlZE1vZHVsZSgiaHR0cF9jb29raWVqYXIiLCAiY29v a2llbGliIiwgImh0dHAuY29va2llamFyIiksCistICAgIE1vdmVkTW9kdWxlKCJodHRwX2Nvb2tp ZXMiLCAiQ29va2llIiwgImh0dHAuY29va2llcyIpLAorLSAgICBNb3ZlZE1vZHVsZSgiaHRtbF9l bnRpdGllcyIsICJodG1sZW50aXR5ZGVmcyIsICJodG1sLmVudGl0aWVzIiksCistICAgIE1vdmVk TW9kdWxlKCJodG1sX3BhcnNlciIsICJIVE1MUGFyc2VyIiwgImh0bWwucGFyc2VyIiksCistICAg IE1vdmVkTW9kdWxlKCJodHRwX2NsaWVudCIsICJodHRwbGliIiwgImh0dHAuY2xpZW50IiksCist ICAgIE1vdmVkTW9kdWxlKCJlbWFpbF9taW1lX211bHRpcGFydCIsICJlbWFpbC5NSU1FTXVsdGlw YXJ0IiwgImVtYWlsLm1pbWUubXVsdGlwYXJ0IiksCistICAgIE1vdmVkTW9kdWxlKCJlbWFpbF9t aW1lX25vbm11bHRpcGFydCIsICJlbWFpbC5NSU1FTm9uTXVsdGlwYXJ0IiwgImVtYWlsLm1pbWUu bm9ubXVsdGlwYXJ0IiksCistICAgIE1vdmVkTW9kdWxlKCJlbWFpbF9taW1lX3RleHQiLCAiZW1h aWwuTUlNRVRleHQiLCAiZW1haWwubWltZS50ZXh0IiksCistICAgIE1vdmVkTW9kdWxlKCJlbWFp bF9taW1lX2Jhc2UiLCAiZW1haWwuTUlNRUJhc2UiLCAiZW1haWwubWltZS5iYXNlIiksCistICAg IE1vdmVkTW9kdWxlKCJCYXNlSFRUUFNlcnZlciIsICJCYXNlSFRUUFNlcnZlciIsICJodHRwLnNl cnZlciIpLAorLSAgICBNb3ZlZE1vZHVsZSgiQ0dJSFRUUFNlcnZlciIsICJDR0lIVFRQU2VydmVy IiwgImh0dHAuc2VydmVyIiksCistICAgIE1vdmVkTW9kdWxlKCJTaW1wbGVIVFRQU2VydmVyIiwg IlNpbXBsZUhUVFBTZXJ2ZXIiLCAiaHR0cC5zZXJ2ZXIiKSwKKy0gICAgTW92ZWRNb2R1bGUoImNQ aWNrbGUiLCAiY1BpY2tsZSIsICJwaWNrbGUiKSwKKy0gICAgTW92ZWRNb2R1bGUoInF1ZXVlIiwg IlF1ZXVlIiksCistICAgIE1vdmVkTW9kdWxlKCJyZXBybGliIiwgInJlcHIiKSwKKy0gICAgTW92 ZWRNb2R1bGUoInNvY2tldHNlcnZlciIsICJTb2NrZXRTZXJ2ZXIiKSwKKy0gICAgTW92ZWRNb2R1 bGUoIl90aHJlYWQiLCAidGhyZWFkIiwgIl90aHJlYWQiKSwKKy0gICAgTW92ZWRNb2R1bGUoInRr aW50ZXIiLCAiVGtpbnRlciIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl9kaWFsb2ciLCAi RGlhbG9nIiwgInRraW50ZXIuZGlhbG9nIiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX2Zp bGVkaWFsb2ciLCAiRmlsZURpYWxvZyIsICJ0a2ludGVyLmZpbGVkaWFsb2ciKSwKKy0gICAgTW92 ZWRNb2R1bGUoInRraW50ZXJfc2Nyb2xsZWR0ZXh0IiwgIlNjcm9sbGVkVGV4dCIsICJ0a2ludGVy LnNjcm9sbGVkdGV4dCIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl9zaW1wbGVkaWFsb2ci LCAiU2ltcGxlRGlhbG9nIiwgInRraW50ZXIuc2ltcGxlZGlhbG9nIiksCistICAgIE1vdmVkTW9k dWxlKCJ0a2ludGVyX3RpeCIsICJUaXgiLCAidGtpbnRlci50aXgiKSwKKy0gICAgTW92ZWRNb2R1 bGUoInRraW50ZXJfdHRrIiwgInR0ayIsICJ0a2ludGVyLnR0ayIpLAorLSAgICBNb3ZlZE1vZHVs ZSgidGtpbnRlcl9jb25zdGFudHMiLCAiVGtjb25zdGFudHMiLCAidGtpbnRlci5jb25zdGFudHMi KSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfZG5kIiwgIlRrZG5kIiwgInRraW50ZXIuZG5k IiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX2NvbG9yY2hvb3NlciIsICJ0a0NvbG9yQ2hv b3NlciIsCistICAgICAgICAgICAgICAgICJ0a2ludGVyLmNvbG9yY2hvb3NlciIpLAorLSAgICBN b3ZlZE1vZHVsZSgidGtpbnRlcl9jb21tb25kaWFsb2ciLCAidGtDb21tb25EaWFsb2ciLAorLSAg ICAgICAgICAgICAgICAidGtpbnRlci5jb21tb25kaWFsb2ciKSwKKy0gICAgTW92ZWRNb2R1bGUo InRraW50ZXJfdGtmaWxlZGlhbG9nIiwgInRrRmlsZURpYWxvZyIsICJ0a2ludGVyLmZpbGVkaWFs b2ciKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfZm9udCIsICJ0a0ZvbnQiLCAidGtpbnRl ci5mb250IiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX21lc3NhZ2Vib3giLCAidGtNZXNz YWdlQm94IiwgInRraW50ZXIubWVzc2FnZWJveCIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRl cl90a3NpbXBsZWRpYWxvZyIsICJ0a1NpbXBsZURpYWxvZyIsCistICAgICAgICAgICAgICAgICJ0 a2ludGVyLnNpbXBsZWRpYWxvZyIpLAorLSAgICBNb3ZlZE1vZHVsZSgidXJsbGliX3BhcnNlIiwg X19uYW1lX18gKyAiLm1vdmVzLnVybGxpYl9wYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAg TW92ZWRNb2R1bGUoInVybGxpYl9lcnJvciIsIF9fbmFtZV9fICsgIi5tb3Zlcy51cmxsaWJfZXJy b3IiLCAidXJsbGliLmVycm9yIiksCistICAgIE1vdmVkTW9kdWxlKCJ1cmxsaWIiLCBfX25hbWVf XyArICIubW92ZXMudXJsbGliIiwgX19uYW1lX18gKyAiLm1vdmVzLnVybGxpYiIpLAorLSAgICBN b3ZlZE1vZHVsZSgidXJsbGliX3JvYm90cGFyc2VyIiwgInJvYm90cGFyc2VyIiwgInVybGxpYi5y b2JvdHBhcnNlciIpLAorLSAgICBNb3ZlZE1vZHVsZSgieG1scnBjX2NsaWVudCIsICJ4bWxycGNs aWIiLCAieG1scnBjLmNsaWVudCIpLAorLSAgICBNb3ZlZE1vZHVsZSgieG1scnBjX3NlcnZlciIs ICJTaW1wbGVYTUxSUENTZXJ2ZXIiLCAieG1scnBjLnNlcnZlciIpLAorLV0KKy0jIEFkZCB3aW5k b3dzIHNwZWNpZmljIG1vZHVsZXMuCistaWYgc3lzLnBsYXRmb3JtID09ICJ3aW4zMiI6CistICAg IF9tb3ZlZF9hdHRyaWJ1dGVzICs9IFsKKy0gICAgICAgIE1vdmVkTW9kdWxlKCJ3aW5yZWciLCAi X3dpbnJlZyIpLAorLSAgICBdCistCistZm9yIGF0dHIgaW4gX21vdmVkX2F0dHJpYnV0ZXM6Cist ICAgIHNldGF0dHIoX01vdmVkSXRlbXMsIGF0dHIubmFtZSwgYXR0cikKKy0gICAgaWYgaXNpbnN0 YW5jZShhdHRyLCBNb3ZlZE1vZHVsZSk6CistICAgICAgICBfaW1wb3J0ZXIuX2FkZF9tb2R1bGUo YXR0ciwgIm1vdmVzLiIgKyBhdHRyLm5hbWUpCistZGVsIGF0dHIKKy0KKy1fTW92ZWRJdGVtcy5f bW92ZWRfYXR0cmlidXRlcyA9IF9tb3ZlZF9hdHRyaWJ1dGVzCistCistbW92ZXMgPSBfTW92ZWRJ dGVtcyhfX25hbWVfXyArICIubW92ZXMiKQorLV9pbXBvcnRlci5fYWRkX21vZHVsZShtb3Zlcywg Im1vdmVzIikKKy0KKy0KKy1jbGFzcyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9wYXJzZShfTGF6 eU1vZHVsZSk6CistCistICAgICIiIkxhenkgbG9hZGluZyBvZiBtb3ZlZCBvYmplY3RzIGluIHNp eC5tb3Zlcy51cmxsaWJfcGFyc2UiIiIKKy0KKy0KKy1fdXJsbGliX3BhcnNlX21vdmVkX2F0dHJp YnV0ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRlKCJQYXJzZVJlc3VsdCIsICJ1cmxwYXJzZSIs ICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlNwbGl0UmVzdWx0IiwgInVy bHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgicGFyc2VfcXMi LCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJwYXJz ZV9xc2wiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRl KCJ1cmxkZWZyYWciLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJ1cmxqb2luIiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3Zl ZEF0dHJpYnV0ZSgidXJscGFyc2UiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAg IE1vdmVkQXR0cmlidXRlKCJ1cmxzcGxpdCIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwK Ky0gICAgTW92ZWRBdHRyaWJ1dGUoInVybHVucGFyc2UiLCAidXJscGFyc2UiLCAidXJsbGliLnBh cnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmx1bnNwbGl0IiwgInVybHBhcnNlIiwgInVy bGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgicXVvdGUiLCAidXJsbGliIiwgInVy bGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgicXVvdGVfcGx1cyIsICJ1cmxsaWIi LCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1bnF1b3RlIiwgInVybGxp YiIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVucXVvdGVfcGx1cyIs ICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxlbmNv ZGUiLCAidXJsbGliIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgic3Bs aXRxdWVyeSIsICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRl KCJzcGxpdHRhZyIsICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmli dXRlKCJzcGxpdHVzZXIiLCAidXJsbGliIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0 dHJpYnV0ZSgidXNlc19mcmFnbWVudCIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0g ICAgTW92ZWRBdHRyaWJ1dGUoInVzZXNfbmV0bG9jIiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJz ZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXNlc19wYXJhbXMiLCAidXJscGFyc2UiLCAidXJs bGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1c2VzX3F1ZXJ5IiwgInVybHBhcnNl IiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXNlc19yZWxhdGl2ZSIs ICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy1dCistZm9yIGF0dHIgaW4gX3VybGxpYl9w YXJzZV9tb3ZlZF9hdHRyaWJ1dGVzOgorLSAgICBzZXRhdHRyKE1vZHVsZV9zaXhfbW92ZXNfdXJs bGliX3BhcnNlLCBhdHRyLm5hbWUsIGF0dHIpCistZGVsIGF0dHIKKy0KKy1Nb2R1bGVfc2l4X21v dmVzX3VybGxpYl9wYXJzZS5fbW92ZWRfYXR0cmlidXRlcyA9IF91cmxsaWJfcGFyc2VfbW92ZWRf YXR0cmlidXRlcworLQorLV9pbXBvcnRlci5fYWRkX21vZHVsZShNb2R1bGVfc2l4X21vdmVzX3Vy bGxpYl9wYXJzZShfX25hbWVfXyArICIubW92ZXMudXJsbGliX3BhcnNlIiksCistICAgICAgICAg ICAgICAgICAgICAgICJtb3Zlcy51cmxsaWJfcGFyc2UiLCAibW92ZXMudXJsbGliLnBhcnNlIikK Ky0KKy0KKy1jbGFzcyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9lcnJvcihfTGF6eU1vZHVsZSk6 CistCistICAgICIiIkxhenkgbG9hZGluZyBvZiBtb3ZlZCBvYmplY3RzIGluIHNpeC5tb3Zlcy51 cmxsaWJfZXJyb3IiIiIKKy0KKy0KKy1fdXJsbGliX2Vycm9yX21vdmVkX2F0dHJpYnV0ZXMgPSBb CistICAgIE1vdmVkQXR0cmlidXRlKCJVUkxFcnJvciIsICJ1cmxsaWIyIiwgInVybGxpYi5lcnJv ciIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUEVycm9yIiwgInVybGxpYjIiLCAidXJsbGli LmVycm9yIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJDb250ZW50VG9vU2hvcnRFcnJvciIsICJ1 cmxsaWIiLCAidXJsbGliLmVycm9yIiksCistXQorLWZvciBhdHRyIGluIF91cmxsaWJfZXJyb3Jf bW92ZWRfYXR0cmlidXRlczoKKy0gICAgc2V0YXR0cihNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9l cnJvciwgYXR0ci5uYW1lLCBhdHRyKQorLWRlbCBhdHRyCistCistTW9kdWxlX3NpeF9tb3Zlc191 cmxsaWJfZXJyb3IuX21vdmVkX2F0dHJpYnV0ZXMgPSBfdXJsbGliX2Vycm9yX21vdmVkX2F0dHJp YnV0ZXMKKy0KKy1faW1wb3J0ZXIuX2FkZF9tb2R1bGUoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJf ZXJyb3IoX19uYW1lX18gKyAiLm1vdmVzLnVybGxpYi5lcnJvciIpLAorLSAgICAgICAgICAgICAg ICAgICAgICAibW92ZXMudXJsbGliX2Vycm9yIiwgIm1vdmVzLnVybGxpYi5lcnJvciIpCistCist CistY2xhc3MgTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcmVxdWVzdChfTGF6eU1vZHVsZSk6Cist CistICAgICIiIkxhenkgbG9hZGluZyBvZiBtb3ZlZCBvYmplY3RzIGluIHNpeC5tb3Zlcy51cmxs aWJfcmVxdWVzdCIiIgorLQorLQorLV91cmxsaWJfcmVxdWVzdF9tb3ZlZF9hdHRyaWJ1dGVzID0g WworLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXJsb3BlbiIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1 ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJpbnN0YWxsX29wZW5lciIsICJ1cmxsaWIyIiwg InVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJidWlsZF9vcGVuZXIiLCAi dXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgicGF0aG5h bWUydXJsIiwgInVybGxpYiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0 ZSgidXJsMnBhdGhuYW1lIiwgInVybGxpYiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3Zl ZEF0dHJpYnV0ZSgiZ2V0cHJveGllcyIsICJ1cmxsaWIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0g ICAgTW92ZWRBdHRyaWJ1dGUoIlJlcXVlc3QiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIp LAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiT3BlbmVyRGlyZWN0b3IiLCAidXJsbGliMiIsICJ1cmxs aWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUERlZmF1bHRFcnJvckhhbmRs ZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgi SFRUUFJlZGlyZWN0SGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAg IE1vdmVkQXR0cmlidXRlKCJIVFRQQ29va2llUHJvY2Vzc29yIiwgInVybGxpYjIiLCAidXJsbGli LnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlByb3h5SGFuZGxlciIsICJ1cmxsaWIy IiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJCYXNlSGFuZGxlciIs ICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQ UGFzc3dvcmRNZ3IiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0 dHJpYnV0ZSgiSFRUUFBhc3N3b3JkTWdyV2l0aERlZmF1bHRSZWFsbSIsICJ1cmxsaWIyIiwgInVy bGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJBYnN0cmFjdEJhc2ljQXV0aEhh bmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0 ZSgiSFRUUEJhc2ljQXV0aEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAor LSAgICBNb3ZlZEF0dHJpYnV0ZSgiUHJveHlCYXNpY0F1dGhIYW5kbGVyIiwgInVybGxpYjIiLCAi dXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkFic3RyYWN0RGlnZXN0QXV0 aEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJp YnV0ZSgiSFRUUERpZ2VzdEF1dGhIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3Qi KSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlByb3h5RGlnZXN0QXV0aEhhbmRsZXIiLCAidXJsbGli MiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUEhhbmRsZXIi LCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRU UFNIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRy aWJ1dGUoIkZpbGVIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAg TW92ZWRBdHRyaWJ1dGUoIkZUUEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIp LAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiQ2FjaGVGVFBIYW5kbGVyIiwgInVybGxpYjIiLCAidXJs bGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlVua25vd25IYW5kbGVyIiwgInVy bGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkhUVFBFcnJv clByb2Nlc3NvciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJ1cmxyZXRyaWV2ZSIsICJ1cmxsaWIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAg TW92ZWRBdHRyaWJ1dGUoInVybGNsZWFudXAiLCAidXJsbGliIiwgInVybGxpYi5yZXF1ZXN0Iiks CistICAgIE1vdmVkQXR0cmlidXRlKCJVUkxvcGVuZXIiLCAidXJsbGliIiwgInVybGxpYi5yZXF1 ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJGYW5jeVVSTG9wZW5lciIsICJ1cmxsaWIiLCAi dXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInByb3h5X2J5cGFzcyIsICJ1 cmxsaWIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy1dCistZm9yIGF0dHIgaW4gX3VybGxpYl9yZXF1 ZXN0X21vdmVkX2F0dHJpYnV0ZXM6CistICAgIHNldGF0dHIoTW9kdWxlX3NpeF9tb3Zlc191cmxs aWJfcmVxdWVzdCwgYXR0ci5uYW1lLCBhdHRyKQorLWRlbCBhdHRyCistCistTW9kdWxlX3NpeF9t b3Zlc191cmxsaWJfcmVxdWVzdC5fbW92ZWRfYXR0cmlidXRlcyA9IF91cmxsaWJfcmVxdWVzdF9t b3ZlZF9hdHRyaWJ1dGVzCistCistX2ltcG9ydGVyLl9hZGRfbW9kdWxlKE1vZHVsZV9zaXhfbW92 ZXNfdXJsbGliX3JlcXVlc3QoX19uYW1lX18gKyAiLm1vdmVzLnVybGxpYi5yZXF1ZXN0IiksCist ICAgICAgICAgICAgICAgICAgICAgICJtb3Zlcy51cmxsaWJfcmVxdWVzdCIsICJtb3Zlcy51cmxs aWIucmVxdWVzdCIpCistCistCistY2xhc3MgTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcmVzcG9u c2UoX0xhenlNb2R1bGUpOgorLQorLSAgICAiIiJMYXp5IGxvYWRpbmcgb2YgbW92ZWQgb2JqZWN0 cyBpbiBzaXgubW92ZXMudXJsbGliX3Jlc3BvbnNlIiIiCistCistCistX3VybGxpYl9yZXNwb25z ZV9tb3ZlZF9hdHRyaWJ1dGVzID0gWworLSAgICBNb3ZlZEF0dHJpYnV0ZSgiYWRkYmFzZSIsICJ1 cmxsaWIiLCAidXJsbGliLnJlc3BvbnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJhZGRjbG9z ZWhvb2siLCAidXJsbGliIiwgInVybGxpYi5yZXNwb25zZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0 ZSgiYWRkaW5mbyIsICJ1cmxsaWIiLCAidXJsbGliLnJlc3BvbnNlIiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJhZGRpbmZvdXJsIiwgInVybGxpYiIsICJ1cmxsaWIucmVzcG9uc2UiKSwKKy1dCist Zm9yIGF0dHIgaW4gX3VybGxpYl9yZXNwb25zZV9tb3ZlZF9hdHRyaWJ1dGVzOgorLSAgICBzZXRh dHRyKE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3Jlc3BvbnNlLCBhdHRyLm5hbWUsIGF0dHIpCist ZGVsIGF0dHIKKy0KKy1Nb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yZXNwb25zZS5fbW92ZWRfYXR0 cmlidXRlcyA9IF91cmxsaWJfcmVzcG9uc2VfbW92ZWRfYXR0cmlidXRlcworLQorLV9pbXBvcnRl ci5fYWRkX21vZHVsZShNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yZXNwb25zZShfX25hbWVfXyAr ICIubW92ZXMudXJsbGliLnJlc3BvbnNlIiksCistICAgICAgICAgICAgICAgICAgICAgICJtb3Zl cy51cmxsaWJfcmVzcG9uc2UiLCAibW92ZXMudXJsbGliLnJlc3BvbnNlIikKKy0KKy0KKy1jbGFz cyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yb2JvdHBhcnNlcihfTGF6eU1vZHVsZSk6CistCist ICAgICIiIkxhenkgbG9hZGluZyBvZiBtb3ZlZCBvYmplY3RzIGluIHNpeC5tb3Zlcy51cmxsaWJf cm9ib3RwYXJzZXIiIiIKKy0KKy0KKy1fdXJsbGliX3JvYm90cGFyc2VyX21vdmVkX2F0dHJpYnV0 ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRlKCJSb2JvdEZpbGVQYXJzZXIiLCAicm9ib3RwYXJz ZXIiLCAidXJsbGliLnJvYm90cGFyc2VyIiksCistXQorLWZvciBhdHRyIGluIF91cmxsaWJfcm9i b3RwYXJzZXJfbW92ZWRfYXR0cmlidXRlczoKKy0gICAgc2V0YXR0cihNb2R1bGVfc2l4X21vdmVz X3VybGxpYl9yb2JvdHBhcnNlciwgYXR0ci5uYW1lLCBhdHRyKQorLWRlbCBhdHRyCistCistTW9k dWxlX3NpeF9tb3Zlc191cmxsaWJfcm9ib3RwYXJzZXIuX21vdmVkX2F0dHJpYnV0ZXMgPSBfdXJs bGliX3JvYm90cGFyc2VyX21vdmVkX2F0dHJpYnV0ZXMKKy0KKy1faW1wb3J0ZXIuX2FkZF9tb2R1 bGUoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcm9ib3RwYXJzZXIoX19uYW1lX18gKyAiLm1vdmVz LnVybGxpYi5yb2JvdHBhcnNlciIpLAorLSAgICAgICAgICAgICAgICAgICAgICAibW92ZXMudXJs bGliX3JvYm90cGFyc2VyIiwgIm1vdmVzLnVybGxpYi5yb2JvdHBhcnNlciIpCistCistCistY2xh c3MgTW9kdWxlX3NpeF9tb3Zlc191cmxsaWIodHlwZXMuTW9kdWxlVHlwZSk6CistCistICAgICIi IkNyZWF0ZSBhIHNpeC5tb3Zlcy51cmxsaWIgbmFtZXNwYWNlIHRoYXQgcmVzZW1ibGVzIHRoZSBQ eXRob24gMyBuYW1lc3BhY2UiIiIKKy0gICAgX19wYXRoX18gPSBbXSAgIyBtYXJrIGFzIHBhY2th Z2UKKy0gICAgcGFyc2UgPSBfaW1wb3J0ZXIuX2dldF9tb2R1bGUoIm1vdmVzLnVybGxpYl9wYXJz ZSIpCistICAgIGVycm9yID0gX2ltcG9ydGVyLl9nZXRfbW9kdWxlKCJtb3Zlcy51cmxsaWJfZXJy b3IiKQorLSAgICByZXF1ZXN0ID0gX2ltcG9ydGVyLl9nZXRfbW9kdWxlKCJtb3Zlcy51cmxsaWJf cmVxdWVzdCIpCistICAgIHJlc3BvbnNlID0gX2ltcG9ydGVyLl9nZXRfbW9kdWxlKCJtb3Zlcy51 cmxsaWJfcmVzcG9uc2UiKQorLSAgICByb2JvdHBhcnNlciA9IF9pbXBvcnRlci5fZ2V0X21vZHVs ZSgibW92ZXMudXJsbGliX3JvYm90cGFyc2VyIikKKy0KKy0gICAgZGVmIF9fZGlyX18oc2VsZik6 CistICAgICAgICByZXR1cm4gWydwYXJzZScsICdlcnJvcicsICdyZXF1ZXN0JywgJ3Jlc3BvbnNl JywgJ3JvYm90cGFyc2VyJ10KKy0KKy1faW1wb3J0ZXIuX2FkZF9tb2R1bGUoTW9kdWxlX3NpeF9t b3Zlc191cmxsaWIoX19uYW1lX18gKyAiLm1vdmVzLnVybGxpYiIpLAorLSAgICAgICAgICAgICAg ICAgICAgICAibW92ZXMudXJsbGliIikKKy0KKy0KKy1kZWYgYWRkX21vdmUobW92ZSk6CistICAg ICIiIkFkZCBhbiBpdGVtIHRvIHNpeC5tb3Zlcy4iIiIKKy0gICAgc2V0YXR0cihfTW92ZWRJdGVt cywgbW92ZS5uYW1lLCBtb3ZlKQorLQorLQorLWRlZiByZW1vdmVfbW92ZShuYW1lKToKKy0gICAg IiIiUmVtb3ZlIGl0ZW0gZnJvbSBzaXgubW92ZXMuIiIiCistICAgIHRyeToKKy0gICAgICAgIGRl bGF0dHIoX01vdmVkSXRlbXMsIG5hbWUpCistICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKy0g ICAgICAgIHRyeToKKy0gICAgICAgICAgICBkZWwgbW92ZXMuX19kaWN0X19bbmFtZV0KKy0gICAg ICAgIGV4Y2VwdCBLZXlFcnJvcjoKKy0gICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigi bm8gc3VjaCBtb3ZlLCAlciIgJSAobmFtZSwpKQorLQorLQorLWlmIFBZMzoKKy0gICAgX21ldGhf ZnVuYyA9ICJfX2Z1bmNfXyIKKy0gICAgX21ldGhfc2VsZiA9ICJfX3NlbGZfXyIKKy0KKy0gICAg X2Z1bmNfY2xvc3VyZSA9ICJfX2Nsb3N1cmVfXyIKKy0gICAgX2Z1bmNfY29kZSA9ICJfX2NvZGVf XyIKKy0gICAgX2Z1bmNfZGVmYXVsdHMgPSAiX19kZWZhdWx0c19fIgorLSAgICBfZnVuY19nbG9i YWxzID0gIl9fZ2xvYmFsc19fIgorLWVsc2U6CistICAgIF9tZXRoX2Z1bmMgPSAiaW1fZnVuYyIK Ky0gICAgX21ldGhfc2VsZiA9ICJpbV9zZWxmIgorLQorLSAgICBfZnVuY19jbG9zdXJlID0gImZ1 bmNfY2xvc3VyZSIKKy0gICAgX2Z1bmNfY29kZSA9ICJmdW5jX2NvZGUiCistICAgIF9mdW5jX2Rl ZmF1bHRzID0gImZ1bmNfZGVmYXVsdHMiCistICAgIF9mdW5jX2dsb2JhbHMgPSAiZnVuY19nbG9i YWxzIgorLQorLQorLXRyeToKKy0gICAgYWR2YW5jZV9pdGVyYXRvciA9IG5leHQKKy1leGNlcHQg TmFtZUVycm9yOgorLSAgICBkZWYgYWR2YW5jZV9pdGVyYXRvcihpdCk6CistICAgICAgICByZXR1 cm4gaXQubmV4dCgpCistbmV4dCA9IGFkdmFuY2VfaXRlcmF0b3IKKy0KKy0KKy10cnk6CistICAg IGNhbGxhYmxlID0gY2FsbGFibGUKKy1leGNlcHQgTmFtZUVycm9yOgorLSAgICBkZWYgY2FsbGFi bGUob2JqKToKKy0gICAgICAgIHJldHVybiBhbnkoIl9fY2FsbF9fIiBpbiBrbGFzcy5fX2RpY3Rf XyBmb3Iga2xhc3MgaW4gdHlwZShvYmopLl9fbXJvX18pCistCistCistaWYgUFkzOgorLSAgICBk ZWYgZ2V0X3VuYm91bmRfZnVuY3Rpb24odW5ib3VuZCk6CistICAgICAgICByZXR1cm4gdW5ib3Vu ZAorLQorLSAgICBjcmVhdGVfYm91bmRfbWV0aG9kID0gdHlwZXMuTWV0aG9kVHlwZQorLQorLSAg ICBkZWYgY3JlYXRlX3VuYm91bmRfbWV0aG9kKGZ1bmMsIGNscyk6CistICAgICAgICByZXR1cm4g ZnVuYworLQorLSAgICBJdGVyYXRvciA9IG9iamVjdAorLWVsc2U6CistICAgIGRlZiBnZXRfdW5i b3VuZF9mdW5jdGlvbih1bmJvdW5kKToKKy0gICAgICAgIHJldHVybiB1bmJvdW5kLmltX2Z1bmMK Ky0KKy0gICAgZGVmIGNyZWF0ZV9ib3VuZF9tZXRob2QoZnVuYywgb2JqKToKKy0gICAgICAgIHJl dHVybiB0eXBlcy5NZXRob2RUeXBlKGZ1bmMsIG9iaiwgb2JqLl9fY2xhc3NfXykKKy0KKy0gICAg ZGVmIGNyZWF0ZV91bmJvdW5kX21ldGhvZChmdW5jLCBjbHMpOgorLSAgICAgICAgcmV0dXJuIHR5 cGVzLk1ldGhvZFR5cGUoZnVuYywgTm9uZSwgY2xzKQorLQorLSAgICBjbGFzcyBJdGVyYXRvcihv YmplY3QpOgorLQorLSAgICAgICAgZGVmIG5leHQoc2VsZik6CistICAgICAgICAgICAgcmV0dXJu IHR5cGUoc2VsZikuX19uZXh0X18oc2VsZikKKy0KKy0gICAgY2FsbGFibGUgPSBjYWxsYWJsZQor LV9hZGRfZG9jKGdldF91bmJvdW5kX2Z1bmN0aW9uLAorLSAgICAgICAgICIiIkdldCB0aGUgZnVu Y3Rpb24gb3V0IG9mIGEgcG9zc2libHkgdW5ib3VuZCBmdW5jdGlvbiIiIikKKy0KKy0KKy1nZXRf bWV0aG9kX2Z1bmN0aW9uID0gb3BlcmF0b3IuYXR0cmdldHRlcihfbWV0aF9mdW5jKQorLWdldF9t ZXRob2Rfc2VsZiA9IG9wZXJhdG9yLmF0dHJnZXR0ZXIoX21ldGhfc2VsZikKKy1nZXRfZnVuY3Rp b25fY2xvc3VyZSA9IG9wZXJhdG9yLmF0dHJnZXR0ZXIoX2Z1bmNfY2xvc3VyZSkKKy1nZXRfZnVu Y3Rpb25fY29kZSA9IG9wZXJhdG9yLmF0dHJnZXR0ZXIoX2Z1bmNfY29kZSkKKy1nZXRfZnVuY3Rp b25fZGVmYXVsdHMgPSBvcGVyYXRvci5hdHRyZ2V0dGVyKF9mdW5jX2RlZmF1bHRzKQorLWdldF9m dW5jdGlvbl9nbG9iYWxzID0gb3BlcmF0b3IuYXR0cmdldHRlcihfZnVuY19nbG9iYWxzKQorLQor LQorLWlmIFBZMzoKKy0gICAgZGVmIGl0ZXJrZXlzKGQsICoqa3cpOgorLSAgICAgICAgcmV0dXJu IGl0ZXIoZC5rZXlzKCoqa3cpKQorLQorLSAgICBkZWYgaXRlcnZhbHVlcyhkLCAqKmt3KToKKy0g ICAgICAgIHJldHVybiBpdGVyKGQudmFsdWVzKCoqa3cpKQorLQorLSAgICBkZWYgaXRlcml0ZW1z KGQsICoqa3cpOgorLSAgICAgICAgcmV0dXJuIGl0ZXIoZC5pdGVtcygqKmt3KSkKKy0KKy0gICAg ZGVmIGl0ZXJsaXN0cyhkLCAqKmt3KToKKy0gICAgICAgIHJldHVybiBpdGVyKGQubGlzdHMoKipr dykpCistCistICAgIHZpZXdrZXlzID0gb3BlcmF0b3IubWV0aG9kY2FsbGVyKCJrZXlzIikKKy0K Ky0gICAgdmlld3ZhbHVlcyA9IG9wZXJhdG9yLm1ldGhvZGNhbGxlcigidmFsdWVzIikKKy0KKy0g ICAgdmlld2l0ZW1zID0gb3BlcmF0b3IubWV0aG9kY2FsbGVyKCJpdGVtcyIpCistZWxzZToKKy0g ICAgZGVmIGl0ZXJrZXlzKGQsICoqa3cpOgorLSAgICAgICAgcmV0dXJuIGQuaXRlcmtleXMoKipr dykKKy0KKy0gICAgZGVmIGl0ZXJ2YWx1ZXMoZCwgKiprdyk6CistICAgICAgICByZXR1cm4gZC5p dGVydmFsdWVzKCoqa3cpCistCistICAgIGRlZiBpdGVyaXRlbXMoZCwgKiprdyk6CistICAgICAg ICByZXR1cm4gZC5pdGVyaXRlbXMoKiprdykKKy0KKy0gICAgZGVmIGl0ZXJsaXN0cyhkLCAqKmt3 KToKKy0gICAgICAgIHJldHVybiBkLml0ZXJsaXN0cygqKmt3KQorLQorLSAgICB2aWV3a2V5cyA9 IG9wZXJhdG9yLm1ldGhvZGNhbGxlcigidmlld2tleXMiKQorLQorLSAgICB2aWV3dmFsdWVzID0g b3BlcmF0b3IubWV0aG9kY2FsbGVyKCJ2aWV3dmFsdWVzIikKKy0KKy0gICAgdmlld2l0ZW1zID0g b3BlcmF0b3IubWV0aG9kY2FsbGVyKCJ2aWV3aXRlbXMiKQorLQorLV9hZGRfZG9jKGl0ZXJrZXlz LCAiUmV0dXJuIGFuIGl0ZXJhdG9yIG92ZXIgdGhlIGtleXMgb2YgYSBkaWN0aW9uYXJ5LiIpCist X2FkZF9kb2MoaXRlcnZhbHVlcywgIlJldHVybiBhbiBpdGVyYXRvciBvdmVyIHRoZSB2YWx1ZXMg b2YgYSBkaWN0aW9uYXJ5LiIpCistX2FkZF9kb2MoaXRlcml0ZW1zLAorLSAgICAgICAgICJSZXR1 cm4gYW4gaXRlcmF0b3Igb3ZlciB0aGUgKGtleSwgdmFsdWUpIHBhaXJzIG9mIGEgZGljdGlvbmFy eS4iKQorLV9hZGRfZG9jKGl0ZXJsaXN0cywKKy0gICAgICAgICAiUmV0dXJuIGFuIGl0ZXJhdG9y IG92ZXIgdGhlIChrZXksIFt2YWx1ZXNdKSBwYWlycyBvZiBhIGRpY3Rpb25hcnkuIikKKy0KKy0K Ky1pZiBQWTM6CistICAgIGRlZiBiKHMpOgorLSAgICAgICAgcmV0dXJuIHMuZW5jb2RlKCJsYXRp bi0xIikKKy0KKy0gICAgZGVmIHUocyk6CistICAgICAgICByZXR1cm4gcworLSAgICB1bmljaHIg PSBjaHIKKy0gICAgaW1wb3J0IHN0cnVjdAorLSAgICBpbnQyYnl0ZSA9IHN0cnVjdC5TdHJ1Y3Qo Ij5CIikucGFjaworLSAgICBkZWwgc3RydWN0CistICAgIGJ5dGUyaW50ID0gb3BlcmF0b3IuaXRl bWdldHRlcigwKQorLSAgICBpbmRleGJ5dGVzID0gb3BlcmF0b3IuZ2V0aXRlbQorLSAgICBpdGVy Ynl0ZXMgPSBpdGVyCistICAgIGltcG9ydCBpbworLSAgICBTdHJpbmdJTyA9IGlvLlN0cmluZ0lP CistICAgIEJ5dGVzSU8gPSBpby5CeXRlc0lPCistICAgIF9hc3NlcnRDb3VudEVxdWFsID0gImFz c2VydENvdW50RXF1YWwiCistICAgIGlmIHN5cy52ZXJzaW9uX2luZm9bMV0gPD0gMToKKy0gICAg ICAgIF9hc3NlcnRSYWlzZXNSZWdleCA9ICJhc3NlcnRSYWlzZXNSZWdleHAiCistICAgICAgICBf YXNzZXJ0UmVnZXggPSAiYXNzZXJ0UmVnZXhwTWF0Y2hlcyIKKy0gICAgZWxzZToKKy0gICAgICAg IF9hc3NlcnRSYWlzZXNSZWdleCA9ICJhc3NlcnRSYWlzZXNSZWdleCIKKy0gICAgICAgIF9hc3Nl cnRSZWdleCA9ICJhc3NlcnRSZWdleCIKKy1lbHNlOgorLSAgICBkZWYgYihzKToKKy0gICAgICAg IHJldHVybiBzCistICAgICMgV29ya2Fyb3VuZCBmb3Igc3RhbmRhbG9uZSBiYWNrc2xhc2gKKy0K Ky0gICAgZGVmIHUocyk6CistICAgICAgICByZXR1cm4gdW5pY29kZShzLnJlcGxhY2UocidcXCcs IHInXFxcXCcpLCAidW5pY29kZV9lc2NhcGUiKQorLSAgICB1bmljaHIgPSB1bmljaHIKKy0gICAg aW50MmJ5dGUgPSBjaHIKKy0KKy0gICAgZGVmIGJ5dGUyaW50KGJzKToKKy0gICAgICAgIHJldHVy biBvcmQoYnNbMF0pCistCistICAgIGRlZiBpbmRleGJ5dGVzKGJ1ZiwgaSk6CistICAgICAgICBy ZXR1cm4gb3JkKGJ1ZltpXSkKKy0gICAgaXRlcmJ5dGVzID0gZnVuY3Rvb2xzLnBhcnRpYWwoaXRl cnRvb2xzLmltYXAsIG9yZCkKKy0gICAgaW1wb3J0IFN0cmluZ0lPCistICAgIFN0cmluZ0lPID0g Qnl0ZXNJTyA9IFN0cmluZ0lPLlN0cmluZ0lPCistICAgIF9hc3NlcnRDb3VudEVxdWFsID0gImFz c2VydEl0ZW1zRXF1YWwiCistICAgIF9hc3NlcnRSYWlzZXNSZWdleCA9ICJhc3NlcnRSYWlzZXNS ZWdleHAiCistICAgIF9hc3NlcnRSZWdleCA9ICJhc3NlcnRSZWdleHBNYXRjaGVzIgorLV9hZGRf ZG9jKGIsICIiIkJ5dGUgbGl0ZXJhbCIiIikKKy1fYWRkX2RvYyh1LCAiIiJUZXh0IGxpdGVyYWwi IiIpCistCistCistZGVmIGFzc2VydENvdW50RXF1YWwoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToK Ky0gICAgcmV0dXJuIGdldGF0dHIoc2VsZiwgX2Fzc2VydENvdW50RXF1YWwpKCphcmdzLCAqKmt3 YXJncykKKy0KKy0KKy1kZWYgYXNzZXJ0UmFpc2VzUmVnZXgoc2VsZiwgKmFyZ3MsICoqa3dhcmdz KToKKy0gICAgcmV0dXJuIGdldGF0dHIoc2VsZiwgX2Fzc2VydFJhaXNlc1JlZ2V4KSgqYXJncywg Kiprd2FyZ3MpCistCistCistZGVmIGFzc2VydFJlZ2V4KHNlbGYsICphcmdzLCAqKmt3YXJncyk6 CistICAgIHJldHVybiBnZXRhdHRyKHNlbGYsIF9hc3NlcnRSZWdleCkoKmFyZ3MsICoqa3dhcmdz KQorLQorLQorLWlmIFBZMzoKKy0gICAgZXhlY18gPSBnZXRhdHRyKG1vdmVzLmJ1aWx0aW5zLCAi ZXhlYyIpCistCistICAgIGRlZiByZXJhaXNlKHRwLCB2YWx1ZSwgdGI9Tm9uZSk6CistICAgICAg ICBpZiB2YWx1ZSBpcyBOb25lOgorLSAgICAgICAgICAgIHZhbHVlID0gdHAoKQorLSAgICAgICAg aWYgdmFsdWUuX190cmFjZWJhY2tfXyBpcyBub3QgdGI6CistICAgICAgICAgICAgcmFpc2UgdmFs dWUud2l0aF90cmFjZWJhY2sodGIpCistICAgICAgICByYWlzZSB2YWx1ZQorLQorLWVsc2U6Cist ICAgIGRlZiBleGVjXyhfY29kZV8sIF9nbG9ic189Tm9uZSwgX2xvY3NfPU5vbmUpOgorLSAgICAg ICAgIiIiRXhlY3V0ZSBjb2RlIGluIGEgbmFtZXNwYWNlLiIiIgorLSAgICAgICAgaWYgX2dsb2Jz XyBpcyBOb25lOgorLSAgICAgICAgICAgIGZyYW1lID0gc3lzLl9nZXRmcmFtZSgxKQorLSAgICAg ICAgICAgIF9nbG9ic18gPSBmcmFtZS5mX2dsb2JhbHMKKy0gICAgICAgICAgICBpZiBfbG9jc18g aXMgTm9uZToKKy0gICAgICAgICAgICAgICAgX2xvY3NfID0gZnJhbWUuZl9sb2NhbHMKKy0gICAg ICAgICAgICBkZWwgZnJhbWUKKy0gICAgICAgIGVsaWYgX2xvY3NfIGlzIE5vbmU6CistICAgICAg ICAgICAgX2xvY3NfID0gX2dsb2JzXworLSAgICAgICAgZXhlYygiIiJleGVjIF9jb2RlXyBpbiBf Z2xvYnNfLCBfbG9jc18iIiIpCistCistICAgIGV4ZWNfKCIiImRlZiByZXJhaXNlKHRwLCB2YWx1 ZSwgdGI9Tm9uZSk6CistICAgIHJhaXNlIHRwLCB2YWx1ZSwgdGIKKy0iIiIpCistCistCistaWYg c3lzLnZlcnNpb25faW5mb1s6Ml0gPT0gKDMsIDIpOgorLSAgICBleGVjXygiIiJkZWYgcmFpc2Vf ZnJvbSh2YWx1ZSwgZnJvbV92YWx1ZSk6CistICAgIGlmIGZyb21fdmFsdWUgaXMgTm9uZToKKy0g ICAgICAgIHJhaXNlIHZhbHVlCistICAgIHJhaXNlIHZhbHVlIGZyb20gZnJvbV92YWx1ZQorLSIi IikKKy1lbGlmIHN5cy52ZXJzaW9uX2luZm9bOjJdID4gKDMsIDIpOgorLSAgICBleGVjXygiIiJk ZWYgcmFpc2VfZnJvbSh2YWx1ZSwgZnJvbV92YWx1ZSk6CistICAgIHJhaXNlIHZhbHVlIGZyb20g ZnJvbV92YWx1ZQorLSIiIikKKy1lbHNlOgorLSAgICBkZWYgcmFpc2VfZnJvbSh2YWx1ZSwgZnJv bV92YWx1ZSk6CistICAgICAgICByYWlzZSB2YWx1ZQorLQorLQorLXByaW50XyA9IGdldGF0dHIo bW92ZXMuYnVpbHRpbnMsICJwcmludCIsIE5vbmUpCistaWYgcHJpbnRfIGlzIE5vbmU6CistICAg IGRlZiBwcmludF8oKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgICAgICIiIlRoZSBuZXctc3R5bGUg cHJpbnQgZnVuY3Rpb24gZm9yIFB5dGhvbiAyLjQgYW5kIDIuNS4iIiIKKy0gICAgICAgIGZwID0g a3dhcmdzLnBvcCgiZmlsZSIsIHN5cy5zdGRvdXQpCistICAgICAgICBpZiBmcCBpcyBOb25lOgor LSAgICAgICAgICAgIHJldHVybgorLQorLSAgICAgICAgZGVmIHdyaXRlKGRhdGEpOgorLSAgICAg ICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGRhdGEsIGJhc2VzdHJpbmcpOgorLSAgICAgICAgICAg ICAgICBkYXRhID0gc3RyKGRhdGEpCistICAgICAgICAgICAgIyBJZiB0aGUgZmlsZSBoYXMgYW4g ZW5jb2RpbmcsIGVuY29kZSB1bmljb2RlIHdpdGggaXQuCistICAgICAgICAgICAgaWYgKGlzaW5z dGFuY2UoZnAsIGZpbGUpIGFuZAorLSAgICAgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShkYXRh LCB1bmljb2RlKSBhbmQKKy0gICAgICAgICAgICAgICAgICAgIGZwLmVuY29kaW5nIGlzIG5vdCBO b25lKToKKy0gICAgICAgICAgICAgICAgZXJyb3JzID0gZ2V0YXR0cihmcCwgImVycm9ycyIsIE5v bmUpCistICAgICAgICAgICAgICAgIGlmIGVycm9ycyBpcyBOb25lOgorLSAgICAgICAgICAgICAg ICAgICAgZXJyb3JzID0gInN0cmljdCIKKy0gICAgICAgICAgICAgICAgZGF0YSA9IGRhdGEuZW5j b2RlKGZwLmVuY29kaW5nLCBlcnJvcnMpCistICAgICAgICAgICAgZnAud3JpdGUoZGF0YSkKKy0g ICAgICAgIHdhbnRfdW5pY29kZSA9IEZhbHNlCistICAgICAgICBzZXAgPSBrd2FyZ3MucG9wKCJz ZXAiLCBOb25lKQorLSAgICAgICAgaWYgc2VwIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgIGlm IGlzaW5zdGFuY2Uoc2VwLCB1bmljb2RlKToKKy0gICAgICAgICAgICAgICAgd2FudF91bmljb2Rl ID0gVHJ1ZQorLSAgICAgICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2Uoc2VwLCBzdHIpOgorLSAg ICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoInNlcCBtdXN0IGJlIE5vbmUgb3IgYSBzdHJp bmciKQorLSAgICAgICAgZW5kID0ga3dhcmdzLnBvcCgiZW5kIiwgTm9uZSkKKy0gICAgICAgIGlm IGVuZCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKGVuZCwgdW5pY29k ZSk6CistICAgICAgICAgICAgICAgIHdhbnRfdW5pY29kZSA9IFRydWUKKy0gICAgICAgICAgICBl bGlmIG5vdCBpc2luc3RhbmNlKGVuZCwgc3RyKToKKy0gICAgICAgICAgICAgICAgcmFpc2UgVHlw ZUVycm9yKCJlbmQgbXVzdCBiZSBOb25lIG9yIGEgc3RyaW5nIikKKy0gICAgICAgIGlmIGt3YXJn czoKKy0gICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImludmFsaWQga2V5d29yZCBhcmd1bWVu dHMgdG8gcHJpbnQoKSIpCistICAgICAgICBpZiBub3Qgd2FudF91bmljb2RlOgorLSAgICAgICAg ICAgIGZvciBhcmcgaW4gYXJnczoKKy0gICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShhcmcs IHVuaWNvZGUpOgorLSAgICAgICAgICAgICAgICAgICAgd2FudF91bmljb2RlID0gVHJ1ZQorLSAg ICAgICAgICAgICAgICAgICAgYnJlYWsKKy0gICAgICAgIGlmIHdhbnRfdW5pY29kZToKKy0gICAg ICAgICAgICBuZXdsaW5lID0gdW5pY29kZSgiXG4iKQorLSAgICAgICAgICAgIHNwYWNlID0gdW5p Y29kZSgiICIpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIG5ld2xpbmUgPSAiXG4iCist ICAgICAgICAgICAgc3BhY2UgPSAiICIKKy0gICAgICAgIGlmIHNlcCBpcyBOb25lOgorLSAgICAg ICAgICAgIHNlcCA9IHNwYWNlCistICAgICAgICBpZiBlbmQgaXMgTm9uZToKKy0gICAgICAgICAg ICBlbmQgPSBuZXdsaW5lCistICAgICAgICBmb3IgaSwgYXJnIGluIGVudW1lcmF0ZShhcmdzKToK Ky0gICAgICAgICAgICBpZiBpOgorLSAgICAgICAgICAgICAgICB3cml0ZShzZXApCistICAgICAg ICAgICAgd3JpdGUoYXJnKQorLSAgICAgICAgd3JpdGUoZW5kKQorLWlmIHN5cy52ZXJzaW9uX2lu Zm9bOjJdIDwgKDMsIDMpOgorLSAgICBfcHJpbnQgPSBwcmludF8KKy0KKy0gICAgZGVmIHByaW50 XygqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgZnAgPSBrd2FyZ3MuZ2V0KCJmaWxlIiwgc3lz LnN0ZG91dCkKKy0gICAgICAgIGZsdXNoID0ga3dhcmdzLnBvcCgiZmx1c2giLCBGYWxzZSkKKy0g ICAgICAgIF9wcmludCgqYXJncywgKiprd2FyZ3MpCistICAgICAgICBpZiBmbHVzaCBhbmQgZnAg aXMgbm90IE5vbmU6CistICAgICAgICAgICAgZnAuZmx1c2goKQorLQorLV9hZGRfZG9jKHJlcmFp c2UsICIiIlJlcmFpc2UgYW4gZXhjZXB0aW9uLiIiIikKKy0KKy1pZiBzeXMudmVyc2lvbl9pbmZv WzA6Ml0gPCAoMywgNCk6CistICAgIGRlZiB3cmFwcyh3cmFwcGVkLCBhc3NpZ25lZD1mdW5jdG9v bHMuV1JBUFBFUl9BU1NJR05NRU5UUywKKy0gICAgICAgICAgICAgIHVwZGF0ZWQ9ZnVuY3Rvb2xz LldSQVBQRVJfVVBEQVRFUyk6CistICAgICAgICBkZWYgd3JhcHBlcihmKToKKy0gICAgICAgICAg ICBmID0gZnVuY3Rvb2xzLndyYXBzKHdyYXBwZWQsIGFzc2lnbmVkLCB1cGRhdGVkKShmKQorLSAg ICAgICAgICAgIGYuX193cmFwcGVkX18gPSB3cmFwcGVkCistICAgICAgICAgICAgcmV0dXJuIGYK Ky0gICAgICAgIHJldHVybiB3cmFwcGVyCistZWxzZToKKy0gICAgd3JhcHMgPSBmdW5jdG9vbHMu d3JhcHMKKy0KKy0KKy1kZWYgd2l0aF9tZXRhY2xhc3MobWV0YSwgKmJhc2VzKToKKy0gICAgIiIi Q3JlYXRlIGEgYmFzZSBjbGFzcyB3aXRoIGEgbWV0YWNsYXNzLiIiIgorLSAgICAjIFRoaXMgcmVx dWlyZXMgYSBiaXQgb2YgZXhwbGFuYXRpb246IHRoZSBiYXNpYyBpZGVhIGlzIHRvIG1ha2UgYSBk dW1teQorLSAgICAjIG1ldGFjbGFzcyBmb3Igb25lIGxldmVsIG9mIGNsYXNzIGluc3RhbnRpYXRp b24gdGhhdCByZXBsYWNlcyBpdHNlbGYgd2l0aAorLSAgICAjIHRoZSBhY3R1YWwgbWV0YWNsYXNz LgorLSAgICBjbGFzcyBtZXRhY2xhc3MobWV0YSk6CistCistICAgICAgICBkZWYgX19uZXdfXyhj bHMsIG5hbWUsIHRoaXNfYmFzZXMsIGQpOgorLSAgICAgICAgICAgIHJldHVybiBtZXRhKG5hbWUs IGJhc2VzLCBkKQorLSAgICByZXR1cm4gdHlwZS5fX25ld19fKG1ldGFjbGFzcywgJ3RlbXBvcmFy eV9jbGFzcycsICgpLCB7fSkKKy0KKy0KKy1kZWYgYWRkX21ldGFjbGFzcyhtZXRhY2xhc3MpOgor LSAgICAiIiJDbGFzcyBkZWNvcmF0b3IgZm9yIGNyZWF0aW5nIGEgY2xhc3Mgd2l0aCBhIG1ldGFj bGFzcy4iIiIKKy0gICAgZGVmIHdyYXBwZXIoY2xzKToKKy0gICAgICAgIG9yaWdfdmFycyA9IGNs cy5fX2RpY3RfXy5jb3B5KCkKKy0gICAgICAgIHNsb3RzID0gb3JpZ192YXJzLmdldCgnX19zbG90 c19fJykKKy0gICAgICAgIGlmIHNsb3RzIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgIGlmIGlz aW5zdGFuY2Uoc2xvdHMsIHN0cik6CistICAgICAgICAgICAgICAgIHNsb3RzID0gW3Nsb3RzXQor LSAgICAgICAgICAgIGZvciBzbG90c192YXIgaW4gc2xvdHM6CistICAgICAgICAgICAgICAgIG9y aWdfdmFycy5wb3Aoc2xvdHNfdmFyKQorLSAgICAgICAgb3JpZ192YXJzLnBvcCgnX19kaWN0X18n LCBOb25lKQorLSAgICAgICAgb3JpZ192YXJzLnBvcCgnX193ZWFrcmVmX18nLCBOb25lKQorLSAg ICAgICAgcmV0dXJuIG1ldGFjbGFzcyhjbHMuX19uYW1lX18sIGNscy5fX2Jhc2VzX18sIG9yaWdf dmFycykKKy0gICAgcmV0dXJuIHdyYXBwZXIKKy0KKy0KKy1kZWYgcHl0aG9uXzJfdW5pY29kZV9j b21wYXRpYmxlKGtsYXNzKToKKy0gICAgIiIiCistICAgIEEgZGVjb3JhdG9yIHRoYXQgZGVmaW5l cyBfX3VuaWNvZGVfXyBhbmQgX19zdHJfXyBtZXRob2RzIHVuZGVyIFB5dGhvbiAyLgorLSAgICBV bmRlciBQeXRob24gMyBpdCBkb2VzIG5vdGhpbmcuCistCistICAgIFRvIHN1cHBvcnQgUHl0aG9u IDIgYW5kIDMgd2l0aCBhIHNpbmdsZSBjb2RlIGJhc2UsIGRlZmluZSBhIF9fc3RyX18gbWV0aG9k CistICAgIHJldHVybmluZyB0ZXh0IGFuZCBhcHBseSB0aGlzIGRlY29yYXRvciB0byB0aGUgY2xh c3MuCistICAgICIiIgorLSAgICBpZiBQWTI6CistICAgICAgICBpZiAnX19zdHJfXycgbm90IGlu IGtsYXNzLl9fZGljdF9fOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkBweXRob25f Ml91bmljb2RlX2NvbXBhdGlibGUgY2Fubm90IGJlIGFwcGxpZWQgIgorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgInRvICVzIGJlY2F1c2UgaXQgZG9lc24ndCBkZWZpbmUgX19zdHJfXygp LiIgJQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2xhc3MuX19uYW1lX18pCistICAg ICAgICBrbGFzcy5fX3VuaWNvZGVfXyA9IGtsYXNzLl9fc3RyX18KKy0gICAgICAgIGtsYXNzLl9f c3RyX18gPSBsYW1iZGEgc2VsZjogc2VsZi5fX3VuaWNvZGVfXygpLmVuY29kZSgndXRmLTgnKQor LSAgICByZXR1cm4ga2xhc3MKKy0KKy0KKy0jIENvbXBsZXRlIHRoZSBtb3ZlcyBpbXBsZW1lbnRh dGlvbi4KKy0jIFRoaXMgY29kZSBpcyBhdCB0aGUgZW5kIG9mIHRoaXMgbW9kdWxlIHRvIHNwZWVk IHVwIG1vZHVsZSBsb2FkaW5nLgorLSMgVHVybiB0aGlzIG1vZHVsZSBpbnRvIGEgcGFja2FnZS4K Ky1fX3BhdGhfXyA9IFtdICAjIHJlcXVpcmVkIGZvciBQRVAgMzAyIGFuZCBQRVAgNDUxCistX19w YWNrYWdlX18gPSBfX25hbWVfXyAgIyBzZWUgUEVQIDM2NiBAUmVzZXJ2ZWRBc3NpZ25tZW50Cist aWYgZ2xvYmFscygpLmdldCgiX19zcGVjX18iKSBpcyBub3QgTm9uZToKKy0gICAgX19zcGVjX18u c3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgPSBbXSAgIyBQRVAgNDUxIEBVbmRlZmluZWRWYXJp YWJsZQorLSMgUmVtb3ZlIG90aGVyIHNpeCBtZXRhIHBhdGggaW1wb3J0ZXJzLCBzaW5jZSB0aGV5 IGNhdXNlIHByb2JsZW1zLiBUaGlzIGNhbgorLSMgaGFwcGVuIGlmIHNpeCBpcyByZW1vdmVkIGZy b20gc3lzLm1vZHVsZXMgYW5kIHRoZW4gcmVsb2FkZWQuIChTZXR1cHRvb2xzIGRvZXMKKy0jIHRo aXMgZm9yIHNvbWUgcmVhc29uLikKKy1pZiBzeXMubWV0YV9wYXRoOgorLSAgICBmb3IgaSwgaW1w b3J0ZXIgaW4gZW51bWVyYXRlKHN5cy5tZXRhX3BhdGgpOgorLSAgICAgICAgIyBIZXJlJ3Mgc29t ZSByZWFsIG5hc3RpbmVzczogQW5vdGhlciAiaW5zdGFuY2UiIG9mIHRoZSBzaXggbW9kdWxlIG1p Z2h0CistICAgICAgICAjIGJlIGZsb2F0aW5nIGFyb3VuZC4gVGhlcmVmb3JlLCB3ZSBjYW4ndCB1 c2UgaXNpbnN0YW5jZSgpIHRvIGNoZWNrIGZvcgorLSAgICAgICAgIyB0aGUgc2l4IG1ldGEgcGF0 aCBpbXBvcnRlciwgc2luY2UgdGhlIG90aGVyIHNpeCBpbnN0YW5jZSB3aWxsIGhhdmUKKy0gICAg ICAgICMgaW5zZXJ0ZWQgYW4gaW1wb3J0ZXIgd2l0aCBkaWZmZXJlbnQgY2xhc3MuCistICAgICAg ICBpZiAodHlwZShpbXBvcnRlcikuX19uYW1lX18gPT0gIl9TaXhNZXRhUGF0aEltcG9ydGVyIiBh bmQKKy0gICAgICAgICAgICAgICAgaW1wb3J0ZXIubmFtZSA9PSBfX25hbWVfXyk6CistICAgICAg ICAgICAgZGVsIHN5cy5tZXRhX3BhdGhbaV0KKy0gICAgICAgICAgICBicmVhaworLSAgICBkZWwg aSwgaW1wb3J0ZXIKKy0jIEZpbmFsbHksIGFkZCB0aGUgaW1wb3J0ZXIgdG8gdGhlIG1ldGEgcGF0 aCBpbXBvcnQgaG9vay4KKy1zeXMubWV0YV9wYXRoLmFwcGVuZChfaW1wb3J0ZXIpCitkaWZmIC0t Z2l0IGEvdGFza3MvZG9jcy5weSBiL3Rhc2tzL2RvY3MucHkKK2luZGV4IDMzNjAyNzkuLjc3YzFk ODMgMTAwNjQ0CistLS0gYS90YXNrcy9kb2NzLnB5CisrKysgYi90YXNrcy9kb2NzLnB5CitAQCAt MTEsNyArMTEsOCBAQCBmcm9tIGludm9rZS51dGlsIGltcG9ydCBjZAorIGZyb20gcGF0aCBpbXBv cnQgUGF0aAorIAorICMgLS0gVEFTSy1MSUJSQVJZOgorLWZyb20gLl90YXNrbGV0X2NsZWFudXAg aW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycworKyMgUFJFUEFSRUQ6IGZyb20gaW52 b2tlX2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycworK2Zyb20gLmlu dm9rZV9jbGVhbnVwIGltcG9ydCBjbGVhbnVwX3Rhc2tzLCBjbGVhbnVwX2RpcnMKKyAKKyAKKyAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtNjksNiArNzAsNyBAQCBkZWYgYnVpbGQoY3R4LCBi dWlsZGVyPSJodG1sIiwgbGFuZ3VhZ2U9Tm9uZSwgb3B0aW9ucz0iIik6CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG9wdHM9b3B0aW9ucykKKyAgICAgICAgIGN0eC5ydW4oY29tbWFuZCkK KyAKKysKKyBAdGFzayhoZWxwPXsKKyAgICAgImJ1aWxkZXIiOiAiQnVpbGRlciB0byB1c2UgKGh0 bWwsIC4uLikiLAorICAgICAibGFuZ3VhZ2UiOiAiTGFuZ3VhZ2UgdG8gdXNlIChlbiwgLi4uKSIs CitAQCAtODEsMTIgKzgzLDM4IEBAIGRlZiByZWJ1aWxkKGN0eCwgYnVpbGRlcj0iaHRtbCIsIGxh bmd1YWdlPU5vbmUsIG9wdGlvbnM9IiIpOgorICAgICBjbGVhbihjdHgpCisgICAgIGJ1aWxkKGN0 eCwgYnVpbGRlcj1idWlsZGVyLCBsYW5ndWFnZT1Ob25lLCBvcHRpb25zPW9wdGlvbnMpCisgCisr CisrQHRhc2soYWxpYXNlcz1bImF1dG8iLCAid2F0Y2giXSwKKysgICAgaGVscD17CisrICAgICAg ICAiYnVpbGRlciI6ICJCdWlsZGVyIHRvIHVzZSAoaHRtbCwgLi4uKSIsCisrICAgICAgICAibGFu Z3VhZ2UiOiAiTGFuZ3VhZ2UgdG8gdXNlIChlbiwgLi4uKSIsCisrICAgICAgICAib3B0aW9ucyI6 ICJBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHNwaGlueC1idWlsZCIsCisrfSkKKytkZWYgYXV0b2J1 aWxkKGN0eCwgYnVpbGRlcj0iaHRtbCIsIGxhbmd1YWdlPU5vbmUsIG9wdGlvbnM9IiIpOgorKyAg ICAiIiJCdWlsZCBkb2NzIHdpdGggc3BoaW54LWJ1aWxkIiIiCisrICAgIGxhbmd1YWdlID0gX3Nw aGlueGRvY19nZXRfbGFuZ3VhZ2UoY3R4LCBsYW5ndWFnZSkKKysgICAgc291cmNlZGlyID0gY3R4 LmNvbmZpZy5zcGhpbnguc291cmNlZGlyCisrICAgIGRlc3RkaXIgPSBfc3BoaW54ZG9jX2dldF9k ZXN0ZGlyKGN0eCwgYnVpbGRlciwgbGFuZ3VhZ2U9bGFuZ3VhZ2UpCisrICAgIGRlc3RkaXIgPSBk ZXN0ZGlyLmFic3BhdGgoKQorKyAgICB3aXRoIGNkKHNvdXJjZWRpcik6CisrICAgICAgICBkZXN0 ZGlyX3JlbGF0aXZlID0gUGF0aCgiLiIpLnJlbHBhdGh0byhkZXN0ZGlyKQorKyAgICAgICAgY29t bWFuZCA9ICJzcGhpbngtYXV0b2J1aWxkIHtvcHRzfSAtYiB7YnVpbGRlcn0gLUQgbGFuZ3VhZ2U9 e2xhbmd1YWdlfSB7c291cmNlZGlyfSB7ZGVzdGRpcn0iIFwKKysgICAgICAgICAgICAgICAgICAg IC5mb3JtYXQoYnVpbGRlcj1idWlsZGVyLCBzb3VyY2VkaXI9Ii4iLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkZXN0ZGlyPWRlc3RkaXJfcmVsYXRpdmUsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxhbmd1YWdlPWxhbmd1YWdlLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvcHRzPW9wdGlvbnMpCisrICAgICAgICBjdHgucnVuKGNvbW1hbmQpCisrCisrCisgQHRh c2sKKyBkZWYgbGlua2NoZWNrKGN0eCk6CisgICAgICIiIkNoZWNrIGlmIGFsbCBsaW5rcyBhcmUg Y29yZWN0LiIiIgorICAgICBidWlsZChjdHgsIGJ1aWxkZXI9ImxpbmtjaGVjayIpCisgCistQHRh c2soaGVscD17Imxhbmd1YWdlIjogIkxhbmd1YWdlIHRvIHVzZSAoZW4sIC4uLikifSkKKysKKytA dGFzayhhbGlhc2VzPVsib3BlbiJdLAorKyAgICBoZWxwPXsibGFuZ3VhZ2UiOiAiTGFuZ3VhZ2Ug dG8gdXNlIChlbiwgLi4uKSJ9CisrKQorIGRlZiBicm93c2UoY3R4LCBsYW5ndWFnZT1Ob25lKToK KyAgICAgIiIiT3BlbiBkb2N1bWVudGF0aW9uIGluIHdlYiBicm93c2VyLiIiIgorICAgICBvdXRw dXRfZGlyID0gX3NwaGlueGRvY19nZXRfZGVzdGRpcihjdHgsICJodG1sIiwgbGFuZ3VhZ2U9bGFu Z3VhZ2UpCitAQCAtMTgyLDYgKzIxMCw3IEBAIGRlZiB1cGRhdGVfdHJhbnNsYXRpb24oY3R4LCBs YW5ndWFnZT0iYWxsIik6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5hbWVzcGFjZSA9IENv bGxlY3Rpb24oY2xlYW4sIHJlYnVpbGQsIGxpbmtjaGVjaywgYnJvd3NlLCBzYXZlLCB1cGRhdGVf dHJhbnNsYXRpb24pCisgbmFtZXNwYWNlLmFkZF90YXNrKGJ1aWxkLCBkZWZhdWx0PVRydWUpCisr bmFtZXNwYWNlLmFkZF90YXNrKGF1dG9idWlsZCkKKyBuYW1lc3BhY2UuY29uZmlndXJlKHsKKyAg ICAgInNwaGlueCI6IHsKKyAgICAgICAgICMgLS0gRk9SIFRBU0tTOiBkb2NzLmJ1aWxkLCBkb2Nz LnJlYnVpbGQsIGRvY3MuY2xlYW4sIC4uLgorZGlmZiAtLWdpdCBhL3Rhc2tzL2ludm9rZV9jbGVh bnVwLnB5IGIvdGFza3MvaW52b2tlX2NsZWFudXAucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi40ZTYzMWM0CistLS0gL2Rldi9udWxsCisrKysgYi90YXNrcy9pbnZva2Vf Y2xlYW51cC5weQorQEAgLTAsMCArMSw0NDcgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQor KyIiIgorK1Byb3ZpZGVzIGNsZWFudXAgdGFza3MgZm9yIGludm9rZSBidWlsZCBzY3JpcHRzIChh cyBnZW5lcmljIGludm9rZSB0YXNrbGV0KS4KKytTaW1wbGlmaWVzIHdyaXRpbmcgY29tbW9uLCBj b21wb3NhYmxlIGFuZCBleHRlbmRhYmxlIGNsZWFudXAgdGFza3MuCisrCisrUFlUSE9OIFBBQ0tB R0UgREVQRU5ERU5DSUVTOgorKworKyogcGF0aCAocHl0aG9uID49IDMuNSkgb3IgcGF0aC5weSA+ PSAxMS41LjAgKGFzIHBhdGgtb2JqZWN0IGFic3RyYWN0aW9uKQorKyogcGF0aGxpYiAoZm9yIGFu dC1saWtlIHdpbGRjYXJkIHBhdHRlcm5zOyBzaW5jZTogcHl0aG9uID4gMy41KQorKyogcHljbWQg KHJlcXVpcmVkLWJ5OiBjbGVhbl9weXRob24oKSkKKysKKysKKytjbGVhbnVwIHRhc2s6IEFkZCBB ZGRpdGlvbmFsIERpcmVjdG9yaWVzIGFuZCBGaWxlcyB0byBiZSByZW1vdmVkCisrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKworK0NyZWF0ZSBhbiBpbnZva2UgY29uZmlndXJhdGlvbiBmaWxlIChZ QU1MIG9mIEpTT04pIHdpdGggdGhlIGFkZGl0aW9uYWwKKytjb25maWd1cmF0aW9uIGRhdGE6Cisr CisrLi4gY29kZS1ibG9jazo6IHlhbWwKKysKKysgICAgIyAtLSBGSUxFOiBpbnZva2UueWFtbAor KyAgICAjIFVTRTogY2xlYW51cC5kaXJlY3RvcmllcywgY2xlYW51cC5maWxlcyB0byBvdmVycmlk ZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uCisrICAgIGNsZWFudXA6CisrICAgICAgICAjIGRpcmVj dG9yaWVzOiBEZWZhdWx0IGRpcmVjdG9yeSBwYXR0ZXJucyAoY2FuIGJlIG92ZXJ3cml0dGVuKS4K KysgICAgICAgICMgZmlsZXM6ICAgICAgIERlZmF1bHQgZmlsZSBwYXR0ZXJucyAgICAgIChjYW4g YmUgb3Zld3JpdHRlbikuCisrICAgICAgICBleHRyYV9kaXJlY3RvcmllczoKKysgICAgICAgICAg ICAtICoqL3RtcC8KKysgICAgICAgIGV4dHJhX2ZpbGVzOgorKyAgICAgICAgICAgIC0gKiovKi5s b2cKKysgICAgICAgICAgICAtICoqLyouYmFrCisrCisrCisrUmVnaXN0cmF0aW9uIG9mIENsZWFu dXAgVGFza3MKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytPdGhlciB0YXNr IG1vZHVsZXMgb2Z0ZW4gaGF2ZSBhbiBvd24gY2xlYW51cCB0YXNrIHRvIHJlY292ZXIgdGhlIGNs ZWFuIHN0YXRlLgorK1RoZSA6bWV0aDpgY2xlYW51cGAgdGFzaywgdGhhdCBpcyBwcm92aWRlZCBo ZXJlLCBzdXBwb3J0cyB0aGUgcmVnaXN0cmF0aW9uCisrb2YgYWRkaXRpb25hbCBjbGVhbnVwIHRh c2tzLiBUaGVyZWZvcmUsIHdoZW4gdGhlIDptZXRoOmBjbGVhbnVwYCB0YXNrIGlzIGV4ZWN1dGVk LAorK2FsbCByZWdpc3RlcmVkIGNsZWFudXAgdGFza3Mgd2lsbCBiZSBleGVjdXRlZC4KKysKKytF WEFNUExFOjoKKysKKysgICAgIyAtLSBGSUxFOiB0YXNrcy9kb2NzLnB5CisrICAgIGZyb20gX19m dXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisrICAgIGZyb20gaW52b2tlIGltcG9ydCB0 YXNrLCBDb2xsZWN0aW9uCisrICAgIGZyb20gaW52b2tlX2NsZWFudXAgaW1wb3J0IGNsZWFudXBf dGFza3MsIGNsZWFudXBfZGlycworKworKyAgICBAdGFzaworKyAgICBkZWYgY2xlYW4oY3R4KToK KysgICAgICAgICJDbGVhbnVwIGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uIGFydGlmYWN0cy4iCisr ICAgICAgICBkcnlfcnVuID0gY3R4LmNvbmZpZy5ydW4uZHJ5CisrICAgICAgICBjbGVhbnVwX2Rp cnMoWyJidWlsZC9kb2NzIl0sIGRyeV9ydW49ZHJ5X3J1bikKKysKKysgICAgbmFtZXNwYWNlID0g Q29sbGVjdGlvbihjbGVhbikKKysgICAgLi4uCisrCisrICAgICMgLS0gUkVHSVNURVIgQ0xFQU5V UCBUQVNLOgorKyAgICBjbGVhbnVwX3Rhc2tzLmFkZF90YXNrKGNsZWFuLCAiY2xlYW5fZG9jcyIp CisrICAgIGNsZWFudXBfdGFza3MuY29uZmlndXJlKG5hbWVzcGFjZS5jb25maWd1cmF0aW9uKCkp CisrIiIiCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50 X2Z1bmN0aW9uCisraW1wb3J0IG9zCisraW1wb3J0IHN5cworK2Zyb20gaW52b2tlIGltcG9ydCB0 YXNrLCBDb2xsZWN0aW9uCisrZnJvbSBpbnZva2UuZXhlY3V0b3IgaW1wb3J0IEV4ZWN1dG9yCisr ZnJvbSBpbnZva2UuZXhjZXB0aW9ucyBpbXBvcnQgRXhpdCwgRmFpbHVyZSwgVW5leHBlY3RlZEV4 aXQKKytmcm9tIGludm9rZS51dGlsIGltcG9ydCBjZAorK2Zyb20gcGF0aCBpbXBvcnQgUGF0aAor KworKyMgLS0gUFlUSE9OIEJBQ0tXQVJEIENPTVBBVElCSUxJVFk6CisrcHl0aG9uX3ZlcnNpb24g PSBzeXMudmVyc2lvbl9pbmZvWzoyXQorK3B5dGhvbjM1ID0gKDMsIDUpICAgIyBISU5UOiBweXRo b24zLjggZG9lcyBub3QgcmFpc2UgT1NFcnJvcnMuCisraWYgcHl0aG9uX3ZlcnNpb24gPCBweXRo b24zNTogICAjIG5vcWEKKysgICAgaW1wb3J0IHBhdGhsaWIyIGFzIHBhdGhsaWIKKytlbHNlOgor KyAgICBpbXBvcnQgcGF0aGxpYiAgICAgICAgICAgICAgIyBub3FhCisrCisrCisrIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyMgQ09OU1RBTlRTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytW RVJTSU9OID0gIjAuMy42IgorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIENMRUFO VVAgVVRJTElUSUVTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgZXhlY3V0ZV9jbGVh bnVwX3Rhc2tzKGN0eCwgY2xlYW51cF90YXNrcywgd29ya2Rpcj0iLiIsIHZlcmJvc2U9RmFsc2Up OgorKyAgICAiIiJFeGVjdXRlIHNldmVyYWwgY2xlYW51cCB0YXNrcyBhcyBwYXJ0IG9mIHRoZSBj bGVhbnVwLgorKworKyAgICA6cGFyYW0gY3R4OiAgICAgICAgICAgICBDb250ZXh0IG9iamVjdCBm b3IgdGhlIHRhc2tzLgorKyAgICA6cGFyYW0gY2xlYW51cF90YXNrczogICBDb2xsZWN0aW9uIG9m IGNsZWFudXAgdGFza3MgKGFzIENvbGxlY3Rpb24pLgorKyAgICAiIiIKKysgICAgIyBweWxpbnQ6 IGRpc2FibGU9cmVkZWZpbmVkLW91dGVyLW5hbWUKKysgICAgZXhlY3V0b3IgPSBFeGVjdXRvcihj bGVhbnVwX3Rhc2tzLCBjdHguY29uZmlnKQorKyAgICBmYWlsdXJlX2NvdW50ID0gMAorKyAgICB3 aXRoIGNkKHdvcmtkaXIpIGFzIGN3ZDoKKysgICAgICAgIGZvciBjbGVhbnVwX3Rhc2sgaW4gY2xl YW51cF90YXNrcy50YXNrczoKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIHBy aW50KCJDTEVBTlVQIFRBU0s6ICVzIiAlIGNsZWFudXBfdGFzaykKKysgICAgICAgICAgICAgICAg ZXhlY3V0b3IuZXhlY3V0ZShjbGVhbnVwX3Rhc2spCisrICAgICAgICAgICAgZXhjZXB0IChFeGl0 LCBGYWlsdXJlLCBVbmV4cGVjdGVkRXhpdCkgYXMgZToKKysgICAgICAgICAgICAgICAgcHJpbnQo ZSkKKysgICAgICAgICAgICAgICAgcHJpbnQoIkZBSUxVUkUgaW4gQ0xFQU5VUCBUQVNLOiAlcyAo R1JBQ0VGVUxMWS1JR05PUkVEKSIgJSBjbGVhbnVwX3Rhc2spCisrICAgICAgICAgICAgICAgIGZh aWx1cmVfY291bnQgKz0gMQorKworKyAgICBpZiBmYWlsdXJlX2NvdW50OgorKyAgICAgICAgcHJp bnQoIkNMRUFOVVAgVEFTS1M6ICVkIGZhaWx1cmUocykgb2NjdXJlZCIgJSBmYWlsdXJlX2NvdW50 KQorKworKworK2RlZiBtYWtlX2V4Y2x1ZGVkKGV4Y2x1ZGVkLCBjb25maWdfZGlyPU5vbmUsIHdv cmtkaXI9Tm9uZSk6CisrICAgIHdvcmtkaXIgPSB3b3JrZGlyIG9yIFBhdGguZ2V0Y3dkKCkKKysg ICAgY29uZmlnX2RpciA9IGNvbmZpZ19kaXIgb3Igd29ya2RpcgorKyAgICB3b3JrZGlyID0gUGF0 aCh3b3JrZGlyKQorKyAgICBjb25maWdfZGlyID0gUGF0aChjb25maWdfZGlyKQorKworKyAgICBl eGNsdWRlZDIgPSBbXQorKyAgICBmb3IgcCBpbiBleGNsdWRlZDoKKysgICAgICAgIGFzc2VydCBw LCAiUkVRVUlSRTogbm9uLWVtcHR5IgorKyAgICAgICAgcCA9IFBhdGgocCkKKysgICAgICAgIGlm IHAuaXNhYnMoKToKKysgICAgICAgICAgICBleGNsdWRlZDIuYXBwZW5kKHAubm9ybXBhdGgoKSkK KysgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgIyAtLSBSRUxBVElWRSBQQVRIOgorKyAgICAg ICAgICAgICMgRGVzY3JpYmVkIHJlbGF0aXZlIHRvIGNvbmZpZ19kaXIuCisrICAgICAgICAgICAg IyBSZWNvbXB1dGUgaXQgcmVsYXRpdmUgdG8gY3VycmVudCB3b3JrZGlyLgorKyAgICAgICAgICAg IHAgPSBQYXRoKGNvbmZpZ19kaXIpL3AKKysgICAgICAgICAgICBwID0gd29ya2Rpci5yZWxwYXRo dG8ocCkKKysgICAgICAgICAgICBleGNsdWRlZDIuYXBwZW5kKHAubm9ybXBhdGgoKSkKKysgICAg ICAgICAgICBleGNsdWRlZDIuYXBwZW5kKHAuYWJzcGF0aCgpKQorKyAgICByZXR1cm4gc2V0KGV4 Y2x1ZGVkMikKKysKKysKKytkZWYgaXNfZGlyZWN0b3J5X2V4Y2x1ZGVkKGRpcmVjdG9yeSwgZXhj bHVkZWQpOgorKyAgICBkaXJlY3RvcnkgPSBQYXRoKGRpcmVjdG9yeSkubm9ybXBhdGgoKQorKyAg ICBkaXJlY3RvcnkyID0gZGlyZWN0b3J5LmFic3BhdGgoKQorKyAgICBpZiAoZGlyZWN0b3J5IGlu IGV4Y2x1ZGVkKSBvciAoZGlyZWN0b3J5MiBpbiBleGNsdWRlZCk6CisrICAgICAgICByZXR1cm4g VHJ1ZQorKyAgICAjIC0tIE9USEVSV0lTRToKKysgICAgcmV0dXJuIEZhbHNlCisrCisrCisrZGVm IGNsZWFudXBfZGlycyhwYXR0ZXJucywgd29ya2Rpcj0iLiIsIGV4Y2x1ZGVkPU5vbmUsCisrICAg ICAgICAgICAgICAgICBkcnlfcnVuPUZhbHNlLCB2ZXJib3NlPUZhbHNlLCBzaG93X3NraXBwZWQ9 RmFsc2UpOgorKyAgICAiIiJSZW1vdmUgZGlyZWN0b3JpZXMgKGFuZCB0aGVpciBjb250ZW50cykg cmVjdXJzaXZlbHkuCisrICAgIFNraXBzIHJlbW92YWwgaWYgZGlyZWN0b3JpZXMgZG9lcyBub3Qg ZXhpc3QuCisrCisrICAgIDpwYXJhbSBwYXR0ZXJuczogICAgRGlyZWN0b3J5IG5hbWUgcGF0dGVy bnMsIGxpa2UgIioqL3RtcCoiIChhcyBsaXN0KS4KKysgICAgOnBhcmFtIHdvcmtkaXI6ICAgICBD dXJyZW50IHdvcmsgZGlyZWN0b3J5IChkZWZhdWx0PSIuIikKKysgICAgOnBhcmFtIGRyeV9ydW46 ICAgICBEcnktcnVuIG1vZGUgaW5kaWNhdG9yIChhcyBib29sKS4KKysgICAgIiIiCisrICAgIGV4 Y2x1ZGVkID0gZXhjbHVkZWQgb3IgW10KKysgICAgZXhjbHVkZWQgPSBzZXQoW1BhdGgocCkgZm9y IHAgaW4gZXhjbHVkZWRdKQorKyAgICBzaG93X3NraXBwZWQgPSBzaG93X3NraXBwZWQgb3IgdmVy Ym9zZQorKyAgICBjdXJyZW50X2RpciA9IFBhdGgod29ya2RpcikKKysgICAgcHl0aG9uX2Jhc2Vk aXIgPSBQYXRoKFBhdGgoc3lzLmV4ZWN1dGFibGUpLmRpcm5hbWUoKSkuam9pbnBhdGgoIi4uIiku YWJzcGF0aCgpCisrICAgIHdhcm4yX2NvdW50ZXIgPSAwCisrICAgIGZvciBkaXJfcGF0dGVybiBp biBwYXR0ZXJuczoKKysgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gcGF0aF9nbG9iKGRpcl9wYXR0 ZXJuLCBjdXJyZW50X2Rpcik6CisrICAgICAgICAgICAgaWYgaXNfZGlyZWN0b3J5X2V4Y2x1ZGVk KGRpcmVjdG9yeSwgZXhjbHVkZWQpOgorKyAgICAgICAgICAgICAgICBwcmludCgiU0tJUC1ESVI6 ICVzIChleGNsdWRlZCkiICUgZGlyZWN0b3J5KQorKyAgICAgICAgICAgICAgICBjb250aW51ZQor KyAgICAgICAgICAgIGRpcmVjdG9yeTIgPSBkaXJlY3RvcnkuYWJzcGF0aCgpCisrICAgICAgICAg ICAgaWYgc3lzLmV4ZWN1dGFibGUuc3RhcnRzd2l0aChkaXJlY3RvcnkyKToKKysgICAgICAgICAg ICAgICAgIyAtLSBQUk9URUNUIFZJUlRVQUwgRU5WSVJPTk1FTlQgKGN1cnJlbnRseSBpbiB1c2Up OgorKyAgICAgICAgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1saW5lLXRvby1sb25nCisrICAg ICAgICAgICAgICAgIHByaW50KCJTS0lQLVNVSUNJREU6ICclcycgY29udGFpbnMgY3VycmVudCBw eXRob24gZXhlY3V0YWJsZSIgJSBkaXJlY3RvcnkpCisrICAgICAgICAgICAgICAgIGNvbnRpbnVl CisrICAgICAgICAgICAgZWxpZiBkaXJlY3RvcnkyLnN0YXJ0c3dpdGgocHl0aG9uX2Jhc2VkaXIp OgorKyAgICAgICAgICAgICAgICAjIC0tIFBST1RFQ1QgVklSVFVBTCBFTlZJUk9OTUVOVCAoY3Vy cmVudGx5IGluIHVzZSk6CisrICAgICAgICAgICAgICAgICMgSElOVDogTGltaXQgbm9pc2UgaW4g RElBR05PU1RJQyBPVVRQVVQgdG8gWCBtZXNzYWdlcy4KKysgICAgICAgICAgICAgICAgaWYgd2Fy bjJfY291bnRlciA8PSA0OiAgIyBub3FhCisrICAgICAgICAgICAgICAgICAgICBwcmludCgiU0tJ UC1TVUlDSURFOiAnJXMnIiAlIGRpcmVjdG9yeSkKKysgICAgICAgICAgICAgICAgd2FybjJfY291 bnRlciArPSAxCisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrCisrICAgICAgICAgICAgaWYg bm90IGRpcmVjdG9yeS5pc2RpcigpOgorKyAgICAgICAgICAgICAgICBpZiBzaG93X3NraXBwZWQ6 CisrICAgICAgICAgICAgICAgICAgICBwcmludCgiUk1UUkVFOiAlcyAoU0tJUFBFRDogTm90IGEg ZGlyZWN0b3J5KSIgJSBkaXJlY3RvcnkpCisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrCisr ICAgICAgICAgICAgaWYgZHJ5X3J1bjoKKysgICAgICAgICAgICAgICAgcHJpbnQoIlJNVFJFRTog JXMgKGRyeS1ydW4pIiAlIGRpcmVjdG9yeSkKKysgICAgICAgICAgICBlbHNlOgorKyAgICAgICAg ICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgICAgICAjIC0tIE1BWUJFOiBkaXJlY3Rvcnku cm10cmVlKGlnbm9yZV9lcnJvcnM9VHJ1ZSkKKysgICAgICAgICAgICAgICAgICAgIHByaW50KCJS TVRSRUU6ICVzIiAlIGRpcmVjdG9yeSkKKysgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeS5y bXRyZWVfcCgpCisrICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisrICAgICAg ICAgICAgICAgICAgICBwcmludCgiUk1UUkVFLUZBSUxFRDogJXMgKGZvcjogJXMpIiAlIChlLCBk aXJlY3RvcnkpKQorKworKworK2RlZiBjbGVhbnVwX2ZpbGVzKHBhdHRlcm5zLCB3b3JrZGlyPSIu IiwgZHJ5X3J1bj1GYWxzZSwgdmVyYm9zZT1GYWxzZSwgc2hvd19za2lwcGVkPUZhbHNlKToKKysg ICAgIiIiUmVtb3ZlIGZpbGVzIG9yIGZpbGVzIHNlbGVjdGVkIGJ5IGZpbGUgcGF0dGVybnMuCisr ICAgIFNraXBzIHJlbW92YWwgaWYgZmlsZSBkb2VzIG5vdCBleGlzdC4KKysKKysgICAgOnBhcmFt IHBhdHRlcm5zOiAgICBGaWxlIHBhdHRlcm5zLCBsaWtlICIqKi8qLnB5YyIgKGFzIGxpc3QpLgor KyAgICA6cGFyYW0gd29ya2RpcjogICAgIEN1cnJlbnQgd29yayBkaXJlY3RvcnkgKGRlZmF1bHQ9 Ii4iKQorKyAgICA6cGFyYW0gZHJ5X3J1bjogICAgIERyeS1ydW4gbW9kZSBpbmRpY2F0b3IgKGFz IGJvb2wpLgorKyAgICAiIiIKKysgICAgc2hvd19za2lwcGVkID0gc2hvd19za2lwcGVkIG9yIHZl cmJvc2UKKysgICAgY3VycmVudF9kaXIgPSBQYXRoKHdvcmtkaXIpCisrICAgIHB5dGhvbl9iYXNl ZGlyID0gUGF0aChQYXRoKHN5cy5leGVjdXRhYmxlKS5kaXJuYW1lKCkpLmpvaW5wYXRoKCIuLiIp LmFic3BhdGgoKQorKyAgICBlcnJvcl9tZXNzYWdlID0gTm9uZQorKyAgICBlcnJvcl9jb3VudCA9 IDAKKysgICAgZm9yIGZpbGVfcGF0dGVybiBpbiBwYXR0ZXJuczoKKysgICAgICAgIGZvciBmaWxl XyBpbiBwYXRoX2dsb2IoZmlsZV9wYXR0ZXJuLCBjdXJyZW50X2Rpcik6CisrICAgICAgICAgICAg aWYgZmlsZV8uYWJzcGF0aCgpLnN0YXJ0c3dpdGgocHl0aG9uX2Jhc2VkaXIpOgorKyAgICAgICAg ICAgICAgICAjIC0tIFBST1RFQ1QgVklSVFVBTCBFTlZJUk9OTUVOVCAoY3VycmVudGx5IGluIHVz ZSk6CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrICAgICAgICAgICAgaWYgbm90IGZpbGVf LmlzZmlsZSgpOgorKyAgICAgICAgICAgICAgICBpZiBzaG93X3NraXBwZWQ6CisrICAgICAgICAg ICAgICAgICAgICBwcmludCgiUkVNT1ZFOiAlcyAoU0tJUFBFRDogTm90IGEgZmlsZSkiICUgZmls ZV8pCisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrCisrICAgICAgICAgICAgaWYgZHJ5X3J1 bjoKKysgICAgICAgICAgICAgICAgcHJpbnQoIlJFTU9WRTogJXMgKGRyeS1ydW4pIiAlIGZpbGVf KQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIHByaW50KCJSRU1PVkU6ICVz IiAlIGZpbGVfKQorKyAgICAgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgICAgICBm aWxlXy5yZW1vdmVfcCgpCisrICAgICAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgor KyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICIlczogJXMiICUgKGUuX19jbGFzc19fLl9f bmFtZV9fLCBlKQorKyAgICAgICAgICAgICAgICAgICAgcHJpbnQobWVzc2FnZSArICIgYmFzZWRp cjogIisgcHl0aG9uX2Jhc2VkaXIpCisrICAgICAgICAgICAgICAgICAgICBlcnJvcl9jb3VudCAr PSAxCisrICAgICAgICAgICAgICAgICAgICBpZiBub3QgZXJyb3JfbWVzc2FnZToKKysgICAgICAg ICAgICAgICAgICAgICAgICBlcnJvcl9tZXNzYWdlID0gbWVzc2FnZQorKyAgICBpZiBGYWxzZSBh bmQgZXJyb3JfbWVzc2FnZTogIyBub3FhCisrICAgICAgICBjbGFzcyBDbGVhbnVwRXJyb3IoUnVu dGltZUVycm9yKToKKysgICAgICAgICAgICBwYXNzCisrICAgICAgICByYWlzZSBDbGVhbnVwRXJy b3IoZXJyb3JfbWVzc2FnZSkKKysKKysKKytkZWYgcGF0aF9nbG9iKHBhdHRlcm4sIGN1cnJlbnRf ZGlyPU5vbmUpOgorKyAgICAiIiJVc2UgcGF0aGxpYiBmb3IgYW50LWxpa2UgcGF0dGVybnMsIGxp a2U6ICIqKi8qLnB5IgorKworKyAgICA6cGFyYW0gcGF0dGVybjogICAgICBGaWxlL2RpcmVjdG9y eSBwYXR0ZXJuIHRvIHVzZSAoYXMgc3RyaW5nKS4KKysgICAgOnBhcmFtIGN1cnJlbnRfZGlyOiAg Q3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSAoYXMgUGF0aCwgcGF0aGxpYi5QYXRoLCBzdHIpCisr ICAgIDpyZXR1cm4gUmVzb2x2ZWQgUGF0aCAoYXMgcGF0aC5QYXRoKS4KKysgICAgIiIiCisrICAg IGlmIG5vdCBjdXJyZW50X2RpcjogIyBub3FhCisrICAgICAgICBjdXJyZW50X2RpciA9IHBhdGhs aWIuUGF0aC5jd2QoKQorKyAgICBlbGlmIG5vdCBpc2luc3RhbmNlKGN1cnJlbnRfZGlyLCBwYXRo bGliLlBhdGgpOgorKyAgICAgICAgIyAtLSBDQVNFOiBzdHJpbmcsIHBhdGguUGF0aCAoc3RyaW5n LWxpa2UpCisrICAgICAgICBjdXJyZW50X2RpciA9IHBhdGhsaWIuUGF0aChzdHIoY3VycmVudF9k aXIpKQorKworKyAgICBwYXR0ZXJuX3BhdGggPSBQYXRoKHBhdHRlcm4pCisrICAgIGlmIHBhdHRl cm5fcGF0aC5pc2FicygpOgorKyAgICAgICAgIyAtLSBTUEVDSUFMIENBU0U6IFBhdGguZ2xvYigp IG9ubHkgc3VwcG9ydHMgcmVsYXRpdmUtcGF0aChzKSAvIHBhdHRlcm4ocykuCisrICAgICAgICBp ZiBwYXR0ZXJuX3BhdGguaXNkaXIoKToKKysgICAgICAgICAgICB5aWVsZCBwYXR0ZXJuX3BhdGgK KysgICAgICAgIHJldHVybgorKworKyAgICAjIC0tIEhJTlQ6IE9TRXJyb3IgaXMgbm8gbG9uZ2Vy IHJhaXNlZCBpbiBwYXRobGliMiBvciBweXRob24zNS5wYXRobGliCisrICAgICMgdHJ5OgorKyAg ICBmb3IgcCBpbiBjdXJyZW50X2Rpci5nbG9iKHBhdHRlcm4pOgorKyAgICAgICAgeWllbGQgUGF0 aChzdHIocCkpCisrICAgICMgZXhjZXB0IE9TRXJyb3IgYXMgZToKKysgICAgIyAgICAgIyAtLSBD T1JORVItQ0FTRSAxOiB4Lmdsb2IocGF0dGVybikgbWF5IGZhaWwgd2l0aDoKKysgICAgIyAgICAg IyBPU0Vycm9yOiBbRXJybm8gMTNdIFBlcm1pc3Npb24gZGVuaWVkOiA8ZmlsZW5hbWU+CisrICAg ICMgICAgICMgSElOVDogRGlyZWN0b3J5IGxhY2tzIGV4Y3V0YWJsZSBwZXJtaXNzaW9ucyBmb3Ig dHJhdmVyc2FsLgorKyAgICAjICAgICAjIC0tIENPUk5FUi1DQVNFIDI6IHN5bWxpbmtlZCBlbmRs ZXNzIGxvb3AKKysgICAgIyAgICAgIyBPU0Vycm9yOiBbRXJybm8gNjJdIFRvbyBtYW55IGxldmVs cyBvZiBzeW1ib2xpYyBsaW5rczogPGZpbGVuYW1lPgorKyAgICAjICAgICBwcmludCgiezB9OiB7 MX0iLmZvcm1hdChlLl9fY2xhc3NfXy5fX25hbWVfXywgZSkpCisrCisrCisrIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorKyMgR0VORVJJQyBDTEVBTlVQIFRBU0tTOgorKyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKytAdGFzayhoZWxwPXsKKysgICAgIndvcmtkaXIiOiAiRGlyZWN0b3J5IHRvIGNsZWFu KHVwKSAoZGVmYXVsdDogJENXRCkuIiwKKysgICAgInZlcmJvc2UiOiAiRW5hYmxlIHZlcmJvc2Ug bW9kZSAoZGVmYXVsdDogT0ZGKS4iLAorK30pCisrZGVmIGNsZWFuKGN0eCwgd29ya2Rpcj0iLiIs IHZlcmJvc2U9RmFsc2UpOgorKyAgICAiIiJDbGVhbnVwIHRlbXBvcmFyeSBkaXJzL2ZpbGVzIHRv IHJlZ2FpbiBhIGNsZWFuIHN0YXRlLiIiIgorKyAgICBkcnlfcnVuID0gY3R4LmNvbmZpZy5ydW4u ZHJ5CisrICAgIGNvbmZpZ19kaXIgPSBnZXRhdHRyKGN0eC5jb25maWcsICJjb25maWdfZGlyIiwg d29ya2RpcikKKysgICAgZGlyZWN0b3JpZXMgPSBsaXN0KGN0eC5jb25maWcuY2xlYW51cC5kaXJl Y3RvcmllcyBvciBbXSkKKysgICAgZGlyZWN0b3JpZXMuZXh0ZW5kKGN0eC5jb25maWcuY2xlYW51 cC5leHRyYV9kaXJlY3RvcmllcyBvciBbXSkKKysgICAgZmlsZXMgPSBsaXN0KGN0eC5jb25maWcu Y2xlYW51cC5maWxlcyBvciBbXSkKKysgICAgZmlsZXMuZXh0ZW5kKGN0eC5jb25maWcuY2xlYW51 cC5leHRyYV9maWxlcyBvciBbXSkKKysgICAgZXhjbHVkZWRfZGlyZWN0b3JpZXMgPSBsaXN0KGN0 eC5jb25maWcuY2xlYW51cC5leGNsdWRlZF9kaXJlY3RvcmllcyBvciBbXSkKKysgICAgZXhjbHVk ZWRfZGlyZWN0b3JpZXMgPSBtYWtlX2V4Y2x1ZGVkKGV4Y2x1ZGVkX2RpcmVjdG9yaWVzLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX2Rpcj1jb25maWdf ZGlyLCB3b3JrZGlyPSIuIikKKysKKysgICAgIyAtLSBQRVJGT1JNIENMRUFOVVA6CisrICAgIGV4 ZWN1dGVfY2xlYW51cF90YXNrcyhjdHgsIGNsZWFudXBfdGFza3MpCisrICAgIGNsZWFudXBfZGly cyhkaXJlY3Rvcmllcywgd29ya2Rpcj13b3JrZGlyLCBleGNsdWRlZD1leGNsdWRlZF9kaXJlY3Rv cmllcywKKysgICAgICAgICAgICAgICAgIGRyeV9ydW49ZHJ5X3J1biwgdmVyYm9zZT12ZXJib3Nl KQorKyAgICBjbGVhbnVwX2ZpbGVzKGZpbGVzLCB3b3JrZGlyPXdvcmtkaXIsIGRyeV9ydW49ZHJ5 X3J1biwgdmVyYm9zZT12ZXJib3NlKQorKworKyAgICAjIC0tIENPTkZJR1VSQUJMRSBFWFRFTlNJ T04tUE9JTlQ6CisrICAgICMgdXNlX2NsZWFudXBfcHl0aG9uID0gY3R4LmNvbmZpZy5jbGVhbnVw LnVzZV9jbGVhbnVwX3B5dGhvbiBvciBGYWxzZQorKyAgICAjIGlmIHVzZV9jbGVhbnVwX3B5dGhv bjoKKysgICAgIyAgICAgY2xlYW5fcHl0aG9uKGN0eCkKKysKKysKKytAdGFzayhuYW1lPSJhbGwi LCBhbGlhc2VzPSgiZGlzdGNsZWFuIiwpLAorKyAgICAgIGhlbHA9eworKyAgICAgICAgIndvcmtk aXIiOiAiRGlyZWN0b3J5IHRvIGNsZWFuKHVwKSAoZGVmYXVsdDogJENXRCkuIiwKKysgICAgICAg ICJ2ZXJib3NlIjogIkVuYWJsZSB2ZXJib3NlIG1vZGUgKGRlZmF1bHQ6IE9GRikuIiwKKyt9KQor K2RlZiBjbGVhbl9hbGwoY3R4LCB3b3JrZGlyPSIuIiwgdmVyYm9zZT1GYWxzZSk6CisrICAgICIi IkNsZWFuIHVwIGV2ZXJ5dGhpbmcsIGV2ZW4gdGhlIHByZWNpb3VzIHN0dWZmLgorKyAgICBOT1RF OiBjbGVhbiB0YXNrIGlzIGV4ZWN1dGVkIGxhc3QuCisrICAgICIiIgorKyAgICBkcnlfcnVuID0g Y3R4LmNvbmZpZy5ydW4uZHJ5CisrICAgIGNvbmZpZ19kaXIgPSBnZXRhdHRyKGN0eC5jb25maWcs ICJjb25maWdfZGlyIiwgd29ya2RpcikKKysgICAgZGlyZWN0b3JpZXMgPSBsaXN0KGN0eC5jb25m aWcuY2xlYW51cF9hbGwuZGlyZWN0b3JpZXMgb3IgW10pCisrICAgIGRpcmVjdG9yaWVzLmV4dGVu ZChjdHguY29uZmlnLmNsZWFudXBfYWxsLmV4dHJhX2RpcmVjdG9yaWVzIG9yIFtdKQorKyAgICBm aWxlcyA9IGxpc3QoY3R4LmNvbmZpZy5jbGVhbnVwX2FsbC5maWxlcyBvciBbXSkKKysgICAgZmls ZXMuZXh0ZW5kKGN0eC5jb25maWcuY2xlYW51cF9hbGwuZXh0cmFfZmlsZXMgb3IgW10pCisrICAg IGV4Y2x1ZGVkX2RpcmVjdG9yaWVzID0gbGlzdChjdHguY29uZmlnLmNsZWFudXBfYWxsLmV4Y2x1 ZGVkX2RpcmVjdG9yaWVzIG9yIFtdKQorKyAgICBleGNsdWRlZF9kaXJlY3Rvcmllcy5leHRlbmQo Y3R4LmNvbmZpZy5jbGVhbnVwLmV4Y2x1ZGVkX2RpcmVjdG9yaWVzIG9yIFtdKQorKyAgICBleGNs dWRlZF9kaXJlY3RvcmllcyA9IG1ha2VfZXhjbHVkZWQoZXhjbHVkZWRfZGlyZWN0b3JpZXMsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWdfZGlyPWNvbmZp Z19kaXIsIHdvcmtkaXI9Ii4iKQorKworKyAgICAjIC0tIFBFUkZPUk0gQ0xFQU5VUDoKKysgICAg IyBISU5UOiBSZW1vdmUgbm93IGRpcmVjdG9yaWVzLCBmaWxlcyBmaXJzdCBiZWZvcmUgY2xlYW51 cC10YXNrcy4KKysgICAgY2xlYW51cF9kaXJzKGRpcmVjdG9yaWVzLCB3b3JrZGlyPXdvcmtkaXIs IGV4Y2x1ZGVkPWV4Y2x1ZGVkX2RpcmVjdG9yaWVzLAorKyAgICAgICAgICAgICAgICAgZHJ5X3J1 bj1kcnlfcnVuLCB2ZXJib3NlPXZlcmJvc2UpCisrICAgIGNsZWFudXBfZmlsZXMoZmlsZXMsIHdv cmtkaXI9d29ya2RpciwgZHJ5X3J1bj1kcnlfcnVuLCB2ZXJib3NlPXZlcmJvc2UpCisrICAgIGV4 ZWN1dGVfY2xlYW51cF90YXNrcyhjdHgsIGNsZWFudXBfYWxsX3Rhc2tzKQorKyAgICBjbGVhbihj dHgsIHdvcmtkaXI9d29ya2RpciwgdmVyYm9zZT12ZXJib3NlKQorKworKyAgICAjIC0tIENPTkZJ R1VSQUJMRSBFWFRFTlNJT04tUE9JTlQ6CisrICAgICMgdXNlX2NsZWFudXBfcHl0aG9uMSA9IGN0 eC5jb25maWcuY2xlYW51cC51c2VfY2xlYW51cF9weXRob24gb3IgRmFsc2UKKysgICAgIyB1c2Vf Y2xlYW51cF9weXRob24yID0gY3R4LmNvbmZpZy5jbGVhbnVwX2FsbC51c2VfY2xlYW51cF9weXRo b24gb3IgRmFsc2UKKysgICAgIyBpZiB1c2VfY2xlYW51cF9weXRob24yIGFuZCBub3QgdXNlX2Ns ZWFudXBfcHl0aG9uMToKKysgICAgIyAgICAgY2xlYW5fcHl0aG9uKGN0eCkKKysKKysKKytAdGFz ayhhbGlhc2VzPVsicHl0aG9uIl0pCisrZGVmIGNsZWFuX3B5dGhvbihjdHgsIHdvcmtkaXI9Ii4i LCB2ZXJib3NlPUZhbHNlKToKKysgICAgIiIiQ2xlYW51cCBweXRob24gcmVsYXRlZCBmaWxlcy9k aXJzOiAqLnB5YywgKi5weW8sIC4uLiIiIgorKyAgICBkcnlfcnVuID0gY3R4LmNvbmZpZy5ydW4u ZHJ5IG9yIEZhbHNlCisrICAgICMgTUFZQkUgTk9UOiAiKiovX19weWNhY2hlX18iCisrICAgIGNs ZWFudXBfZGlycyhbImJ1aWxkIiwgImRpc3QiLCAiKi5lZ2ctaW5mbyIsICIqKi9fX3B5Y2FjaGVf XyJdLAorKyAgICAgICAgICAgICAgICAgd29ya2Rpcj13b3JrZGlyLCBkcnlfcnVuPWRyeV9ydW4s IHZlcmJvc2U9dmVyYm9zZSkKKysgICAgaWYgbm90IGRyeV9ydW46CisrICAgICAgICBjdHgucnVu KCJweS5jbGVhbnVwIikKKysgICAgY2xlYW51cF9maWxlcyhbIioqLyoucHljIiwgIioqLyoucHlv IiwgIioqLyokcHkuY2xhc3MiXSwKKysgICAgICAgICAgICAgICAgICB3b3JrZGlyPXdvcmtkaXIs IGRyeV9ydW49ZHJ5X3J1biwgdmVyYm9zZT12ZXJib3NlKQorKworKworK0B0YXNrKGhlbHA9ewor KyAgICAicGF0aCI6ICJQYXRoIHRvIGNsZWFudXAuIiwKKysgICAgImludGVyYWN0aXZlIjogIkVu YWJsZSBpbnRlcmFjdGl2ZSBtb2RlLiIsCisrICAgICJmb3JjZSI6ICJFbmFibGUgZm9yY2UgbW9k ZS4iLAorKyAgICAib3B0aW9ucyI6ICJBZGRpdGlvbmFsIGdpdC1jbGVhbiBvcHRpb25zIiwKKyt9 KQorK2RlZiBnaXRfY2xlYW4oY3R4LCBwYXRoPU5vbmUsIGludGVyYWN0aXZlPUZhbHNlLCBmb3Jj ZT1GYWxzZSwKKysgICAgICAgICAgICAgIGRyeV9ydW49RmFsc2UsIG9wdGlvbnM9Tm9uZSk6Cisr ICAgICIiIlBlcmZvcm0gZ2l0LWNsZWFuIGNvbW1hbmQgdG8gY2xlYW51cCB0aGUgd29ya3RyZWUg b2YgYSBnaXQgcmVwb3NpdG9yeS4KKysKKysgICAgQkVXQVJFOiBUaGlzIG1heSByZW1vdmUgYW55 IHByZWNpb3VzIGZpbGVzIHRoYXQgYXJlIG5vdCBjaGVja2VkIGluLgorKyAgICBXQVJOSU5HOiBE QU5HRVJPVVMgQ09NTUFORC4KKysgICAgIiIiCisrICAgIGFyZ3MgPSBbXQorKyAgICBmb3JjZSA9 IGZvcmNlIG9yIGN0eC5jb25maWcuZ2l0X2NsZWFuLmZvcmNlCisrICAgIHBhdGggPSBwYXRoIG9y IGN0eC5jb25maWcuZ2l0X2NsZWFuLnBhdGggb3IgIi4iCisrICAgIGludGVyYWN0aXZlID0gaW50 ZXJhY3RpdmUgb3IgY3R4LmNvbmZpZy5naXRfY2xlYW4uaW50ZXJhY3RpdmUKKysgICAgZHJ5X3J1 biA9IGRyeV9ydW4gb3IgY3R4LmNvbmZpZy5ydW4uZHJ5IG9yIGN0eC5jb25maWcuZ2l0X2NsZWFu LmRyeV9ydW4KKysKKysgICAgaWYgaW50ZXJhY3RpdmU6CisrICAgICAgICBhcmdzLmFwcGVuZCgi LS1pbnRlcmFjdGl2ZSIpCisrICAgIGlmIGZvcmNlOgorKyAgICAgICAgYXJncy5hcHBlbmQoIi0t Zm9yY2UiKQorKyAgICBpZiBkcnlfcnVuOgorKyAgICAgICAgYXJncy5hcHBlbmQoIi0tZHJ5LXJ1 biIpCisrICAgIGFyZ3MuYXBwZW5kKG9wdGlvbnMgb3IgIiIpCisrICAgIGFyZ3MgPSAiICIuam9p bihhcmdzKS5zdHJpcCgpCisrCisrICAgIGN0eC5ydW4oImdpdCBjbGVhbiB7b3B0aW9uc30ge3Bh dGh9Ii5mb3JtYXQob3B0aW9ucz1hcmdzLCBwYXRoPXBhdGgpKQorKworKworKyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKysjIFRBU0sgQ09ORklHVVJBVElPTjoKKysjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrQ0xFQU5VUF9FTVBUWV9DT05GSUcgPSB7CisrICAgICJkaXJlY3RvcmllcyI6IFtdLAor KyAgICAiZmlsZXMiOiBbXSwKKysgICAgImV4dHJhX2RpcmVjdG9yaWVzIjogW10sCisrICAgICJl eHRyYV9maWxlcyI6IFtdLAorKyAgICAiZXhjbHVkZWRfZGlyZWN0b3JpZXMiOiBbXSwKKysgICAg ImV4Y2x1ZGVkX2ZpbGVzIjogW10sCisrICAgICJ1c2VfY2xlYW51cF9weXRob24iOiBGYWxzZSwK Kyt9CisrZGVmIG1ha2VfY2xlYW51cF9jb25maWcoKiprd2FyZ3MpOgorKyAgICBjb25maWdfZGF0 YSA9IENMRUFOVVBfRU1QVFlfQ09ORklHLmNvcHkoKQorKyAgICBjb25maWdfZGF0YS51cGRhdGUo a3dhcmdzKQorKyAgICByZXR1cm4gY29uZmlnX2RhdGEKKysKKysKKytuYW1lc3BhY2UgPSBDb2xs ZWN0aW9uKGNsZWFuX2FsbCwgY2xlYW5fcHl0aG9uKQorK25hbWVzcGFjZS5hZGRfdGFzayhjbGVh biwgZGVmYXVsdD1UcnVlKQorK25hbWVzcGFjZS5hZGRfdGFzayhnaXRfY2xlYW4pCisrbmFtZXNw YWNlLmNvbmZpZ3VyZSh7CisrICAgICJjbGVhbnVwIjogbWFrZV9jbGVhbnVwX2NvbmZpZygKKysg ICAgICAgIGZpbGVzPVsiKiovKi5iYWsiLCAiKiovKi5sb2ciLCAiKiovKi50bXAiLCAiKiovLkRT X1N0b3JlIl0sCisrICAgICAgICBleGNsdWRlZF9kaXJlY3Rvcmllcz1bIi5naXQiLCAiLmhnIiwg Ii5ienIiLCAiLnN2biJdLAorKyAgICApLAorKyAgICAiY2xlYW51cF9hbGwiOiBtYWtlX2NsZWFu dXBfY29uZmlnKAorKyAgICAgICAgZGlyZWN0b3JpZXM9WyIudmVudioiLCAiLnRveCIsICJkb3du bG9hZHMiLCAidG1wIl0sCisrICAgICksCisrICAgICJnaXRfY2xlYW4iOiB7CisrICAgICAgICAi aW50ZXJhY3RpdmUiOiBUcnVlLAorKyAgICAgICAgImZvcmNlIjogRmFsc2UsCisrICAgICAgICAi cGF0aCI6ICIuIiwKKysgICAgICAgICJkcnlfcnVuIjogRmFsc2UsCisrICAgIH0sCisrfSkKKysK KysKKysjIC0tIEVYVEVOU0lPTi1QT0lOVDogQ0xFQU5VUCBUQVNLUyAoY2FsbGVkIGJ5OiBjbGVh biwgY2xlYW5fYWxsIHRhc2spCisrIyBOT1RFOiBDYW4gYmUgdXNlZCBieSBvdGhlciB0YXNrbGV0 cyB0byByZWdpc3RlciBjbGVhbnVwIHRhc2tzLgorK2NsZWFudXBfdGFza3MgPSBDb2xsZWN0aW9u KCJjbGVhbnVwX3Rhc2tzIikKKytjbGVhbnVwX2FsbF90YXNrcyA9IENvbGxlY3Rpb24oImNsZWFu dXBfYWxsX3Rhc2tzIikKKysKKysjIC0tIEVYVEVORCBOT1JNQUwgQ0xFQU5VUC1UQVNLUzoKKysj IERJU0FCTEVEOiBjbGVhbnVwX3Rhc2tzLmFkZF90YXNrKGNsZWFuX3B5dGhvbikKKysKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBFWFRFTlNJT04tUE9JTlQ6IENPTkZJR1VSQVRJT04gSEVM UEVSUzogQ2FuIGJlIHVzZWQgZnJvbSBvdGhlciB0YXNrIG1vZHVsZXMKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrZGVmIGNvbmZpZ19hZGRfY2xlYW51cF9kaXJzKGRpcmVjdG9yaWVzKToKKysg ICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworKyAgICB0aGVfY2xlYW51cF9k aXJlY3RvcmllcyA9IG5hbWVzcGFjZS5fY29uZmlndXJhdGlvblsiY2xlYW51cCJdWyJkaXJlY3Rv cmllcyJdCisrICAgIHRoZV9jbGVhbnVwX2RpcmVjdG9yaWVzLmV4dGVuZChkaXJlY3RvcmllcykK KysKKytkZWYgY29uZmlnX2FkZF9jbGVhbnVwX2ZpbGVzKGZpbGVzKToKKysgICAgIyBweWxpbnQ6 IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworKyAgICB0aGVfY2xlYW51cF9maWxlcyA9IG5hbWVz cGFjZS5fY29uZmlndXJhdGlvblsiY2xlYW51cCJdWyJmaWxlcyJdCisrICAgIHRoZV9jbGVhbnVw X2ZpbGVzLmV4dGVuZChmaWxlcykKKysgICAgIyBuYW1lc3BhY2UuY29uZmlndXJlKHsiY2xlYW51 cCI6IHsiZmlsZXMiOiBmaWxlc319KQorKyAgICAjIHByaW50KCJESUFHIGNsZWFudXAuY29uZmln LmNsZWFudXA6ICVyIiAlIG5hbWVzcGFjZS5jb25maWd1cmF0aW9uKCkpCisrCisrZGVmIGNvbmZp Z19hZGRfY2xlYW51cF9hbGxfZGlycyhkaXJlY3Rvcmllcyk6CisrICAgICMgcHlsaW50OiBkaXNh YmxlPXByb3RlY3RlZC1hY2Nlc3MKKysgICAgdGhlX2NsZWFudXBfZGlyZWN0b3JpZXMgPSBuYW1l c3BhY2UuX2NvbmZpZ3VyYXRpb25bImNsZWFudXBfYWxsIl1bImRpcmVjdG9yaWVzIl0KKysgICAg dGhlX2NsZWFudXBfZGlyZWN0b3JpZXMuZXh0ZW5kKGRpcmVjdG9yaWVzKQorKworK2RlZiBjb25m aWdfYWRkX2NsZWFudXBfYWxsX2ZpbGVzKGZpbGVzKToKKysgICAgIyBweWxpbnQ6IGRpc2FibGU9 cHJvdGVjdGVkLWFjY2VzcworKyAgICB0aGVfY2xlYW51cF9maWxlcyA9IG5hbWVzcGFjZS5fY29u ZmlndXJhdGlvblsiY2xlYW51cF9hbGwiXVsiZmlsZXMiXQorKyAgICB0aGVfY2xlYW51cF9maWxl cy5leHRlbmQoZmlsZXMpCitkaWZmIC0tZ2l0IGEvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dCBi L3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKK2luZGV4IDljODJkMTEuLmFjMTllOTQgMTAwNjQ0 CistLS0gYS90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0CisrKysgYi90YXNrcy9weS5yZXF1aXJl bWVudHMudHh0CitAQCAtMTMsOCArMTMsOCBAQCBweWNtZAorIHNpeD09MS4xNS4wCisgCisgIyAt LSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFt ZWQgZm9yIHB5dGhvbjMpCistcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICcz LjUnCisgcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUnCisrcGF0aC5w eSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisgCisgIyAtLSBQWVRIT04yIEJB Q0tQT1JUUzoKKyBwYXRobGliOyAgICBweXRob25fdmVyc2lvbiA8PSAnMy40JworZGlmZiAtLWdp dCBhL3Rhc2tzL3JlbGVhc2UucHkgYi90YXNrcy9yZWxlYXNlLnB5CitpbmRleCBkYmE4NWM4Li5l MTdhNDZmIDEwMDY0NAorLS0tIGEvdGFza3MvcmVsZWFzZS5weQorKysrIGIvdGFza3MvcmVsZWFz ZS5weQorQEAgLTUxLDcgKzUxLDcgQEAgQ29uZmlndXJhdGlvbiBmaWxlIGZvciBweXBpIHJlcG9z aXRvcmllczoKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJp bnRfZnVuY3Rpb24KKyBmcm9tIGludm9rZSBpbXBvcnQgQ29sbGVjdGlvbiwgdGFzaworLWZyb20g Ll90YXNrbGV0X2NsZWFudXAgaW1wb3J0IHBhdGhfZ2xvYgorK2Zyb20gLmludm9rZV9jbGVhbnVw IGltcG9ydCBwYXRoX2dsb2IKKyBmcm9tIC5fZHJ5X3J1biBpbXBvcnQgRHJ5UnVuQ29udGV4dAor IAorIAorZGlmZiAtLWdpdCBhL3Rhc2tzL3Rlc3QucHkgYi90YXNrcy90ZXN0LnB5CitpbmRleCBi ZmEyZDgwLi5kNmI0MTg5IDEwMDY0NAorLS0tIGEvdGFza3MvdGVzdC5weQorKysrIGIvdGFza3Mv dGVzdC5weQorQEAgLTksNyArOSw4IEBAIGltcG9ydCBzeXMKKyBmcm9tIGludm9rZSBpbXBvcnQg dGFzaywgQ29sbGVjdGlvbgorIAorICMgLS0gVEFTSy1MSUJSQVJZOgorLWZyb20gLl90YXNrbGV0 X2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycywgY2xlYW51cF9maWxl cworKyMgUFJFUEFSRUQ6IGZyb20gaW52b2tlX2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3Ms IGNsZWFudXBfZGlycywgY2xlYW51cF9maWxlcworK2Zyb20gLmludm9rZV9jbGVhbnVwIGltcG9y dCBjbGVhbnVwX3Rhc2tzLCBjbGVhbnVwX2RpcnMsIGNsZWFudXBfZmlsZXMKKyAKKyAKKyAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5MS1Eb2NzLWNoYW5nZS1jb2RlLWJsb2Nrcy1mcm9t LWJhc2gtdG8tY29uc29sZS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTEtRG9jcy1jaGFuZ2UtY29kZS1ibG9ja3MtZnJvbS1iYXNo LXRvLWNvbnNvbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5i ODQ5Y2M1ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkxLURvY3MtY2hhbmdlLWNvZGUtYmxvY2tzLWZyb20t YmFzaC10by1jb25zb2xlLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gODdmMTllZGQ5MDQ4 NDk0YjIyZDdjMThjNzM3YzU0ODQ0YjFhODEzOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IERhbmllbCBMZW1tIDw2MTgwMDI5OCtmZmU0QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4K K0RhdGU6IEZyaSwgMjYgSnVuIDIwMjAgMTE6Mjc6MTAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0g RG9jczogY2hhbmdlIGNvZGUgYmxvY2tzIGZyb20gYmFzaCB0byBjb25zb2xlCisKKy0tLQorIFJF QURNRS5yc3QgICAgICAgICAgICAgIHwgMiArLQorIGRvY3MvcHJhY3RpY2FsX3RpcHMucnN0IHwg MiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvUkVBRE1FLnJzdCBiL1JFQURNRS5yc3QKK2luZGV4IDRhOTA1YWIuLjIy YjAzNTIgMTAwNjQ0CistLS0gYS9SRUFETUUucnN0CisrKysgYi9SRUFETUUucnN0CitAQCAtNzYs NyArNzYsNyBAQCBJbiB0aGF0IGRpcmVjdG9yeSBjcmVhdGUgYSBmaWxlIGNhbGxlZCAiZXhhbXBs ZV9zdGVwcy5weSIgY29udGFpbmluZzoKKyAKKyBSdW4gYmVoYXZlOgorIAorLS4uIGNvZGUtYmxv Y2s6OiBiYXNoCisrLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKyAKKyAgICAgJCBiZWhhdmUKKyAg ICAgRmVhdHVyZTogU2hvd2luZyBvZmYgYmVoYXZlICMgZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJl OjIKK2RpZmYgLS1naXQgYS9kb2NzL3ByYWN0aWNhbF90aXBzLnJzdCBiL2RvY3MvcHJhY3RpY2Fs X3RpcHMucnN0CitpbmRleCBiNzA1NjlmLi43NWJjNzM2IDEwMDY0NAorLS0tIGEvZG9jcy9wcmFj dGljYWxfdGlwcy5yc3QKKysrKyBiL2RvY3MvcHJhY3RpY2FsX3RpcHMucnN0CitAQCAtMzAsNyAr MzAsNyBAQCBGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBmZWF0dXJlIGZpbGVz IGluIHRoZSBzYW1lIGRpcmVjdG9yeSBmb3IKKyB0ZXN0aW5nIHRoZSBtb2RlbCBsYXllciBhbmQg dGhlIFVJIGxheWVyLCB0aGlzIGNhbiBiZSBkb25lIGJ5IHVzaW5nIHRoZQorIGBgLS1zdGFnZWBg IG9wdGlvbiwgbGlrZSB3aXRoOgorIAorLS4uIGNvZGUtYmxvY2s6OiBiYXNoCisrLi4gY29kZS1i bG9jazo6IGNvbnNvbGUKKyAKKyAgICAgJCBiZWhhdmUgLS1zdGFnZT1tb2RlbCBmZWF0dXJlcy8K KyAgICAgJCBiZWhhdmUgLS1zdGFnZT11aSAgICBmZWF0dXJlcy8gICMgTk9URTogTm9ybWFsbHkg dXNlZCBvbiBhIHN1YnNldCBvZiBmZWF0dXJlcy4KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTItRml4LXR5cG8taW4tdHV0 b3JpYWwucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDkyLUZpeC10eXBvLWluLXR1dG9yaWFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uNjlhODJiNzg0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Mi1GaXgtdHlw by1pbi10dXRvcmlhbC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitGcm9tIGI4YzNhM2Y1NTNmOGY0 NTM0MmYzNjZjOThiZGUwOGM1ZDUwYjk4ZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBBbGV4IE1jTGFydHkgPGFsZXhqbWNsYXJ0eUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDEyIEp1 bCAyMDE5IDA4OjIyOjMxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCB0eXBvIGluIHR1dG9y aWFsCisKKy0tLQorIGRvY3MvdHV0b3JpYWwucnN0IHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvdHV0 b3JpYWwucnN0IGIvZG9jcy90dXRvcmlhbC5yc3QKK2luZGV4IDA0YjJmNjMuLjI3Njk4YTQgMTAw NjQ0CistLS0gYS9kb2NzL3R1dG9yaWFsLnJzdAorKysrIGIvZG9jcy90dXRvcmlhbC5yc3QKK0BA IC0xNTcsOCArMTU3LDggQEAgYmFzaWMgYWN0aW9ucy4gWW91IG1heSB1c2UgYSBTY2VuYXJpbyBP dXRsaW5lIHRvIGFjaGlldmUgdGhpczoKKyAKKyAgIFNjZW5hcmlvIE91dGxpbmU6IEJsZW5kZXJz CisgICAgICBHaXZlbiBJIHB1dCA8dGhpbmc+IGluIGEgYmxlbmRlciwKKy0gICAgICB3aGVuIEkg c3dpdGNoIHRoZSBibGVuZGVyIG9uCistICAgICAgdGhlbiBpdCBzaG91bGQgdHJhbnNmb3JtIGlu dG8gPG90aGVyIHRoaW5nPgorKyAgICAgIFdoZW4gSSBzd2l0Y2ggdGhlIGJsZW5kZXIgb24KKysg ICAgICBUaGVuIGl0IHNob3VsZCB0cmFuc2Zvcm0gaW50byA8b3RoZXIgdGhpbmc+CisgCisgICAg RXhhbXBsZXM6IEFtcGhpYmlhbnMKKyAgICAgIHwgdGhpbmcgICAgICAgICB8IG90aGVyIHRoaW5n IHwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwOTMtcHkucmVxdWlyZW1lbnRzLVVzZS1QeUhhbWNyZXN0LTIuMC1mb3ItcHl0 aG9uMi43LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA5My1weS5yZXF1aXJlbWVudHMtVXNlLVB5SGFtY3Jlc3QtMi4wLWZvci1weXRo b24yLjcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lZjg2YTg0 YzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDkzLXB5LnJlcXVpcmVtZW50cy1Vc2UtUHlIYW1jcmVzdC0yLjAt Zm9yLXB5dGhvbjIuNy5wYXRjaApAQCAtMCwwICsxLDgwIEBACitGcm9tIGRlMWQ1YzA5NmNhYmJi YzYzZTU5N2QxMjg5MzUwYzRlMzMxNTFmMTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwg MSBEZWMgMjAyMCAyMzoxOTo1MSArMDEwMAorU3ViamVjdDogW1BBVENIXSBweS5yZXF1aXJlbWVu dHM6IFVzZSBQeUhhbWNyZXN0IDwgMi4wIGZvciBweXRob24yLjcKKworLS0tCisgaXNzdWUuZmVh dHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dCB8IDMgKystCisgcHkucmVxdWlyZW1lbnRzL2NpLnRv eC50eHQgICAgICAgICB8IDYgKysrKy0tCisgcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQg ICAgICB8IDcgKysrKystLQorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCAgICAgICAgfCA2 ICsrKystLQorIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQgYi9p c3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0CitpbmRleCA2ZTNjZjgzLi5mOGEyZjhk IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorKysrIGIv aXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorQEAgLTgsNCArOCw1IEBACisgIwor ICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQorIAorLVB5SGFtY3Jlc3QgPT0gMi4wLjIKKytQeUhhbWNy ZXN0ID49IDIuMC4yOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworK1B5SGFtY3Jlc3QgPCAgMi4w OyAgIHB5dGhvbl92ZXJzaW9uIDwgICczLjAnCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRz L2NpLnRveC50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAoraW5kZXggMjBhZTc5MS4u NWJlZTUyNCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CisrKysgYi9w eS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorQEAgLTQsOSArNCwxMSBAQAorIAorIHB5dGVzdCA8 ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAnICMgcHl0ZXN0ID49IDQuMgorIHB5dGVzdCA+ PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCistcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisr CisrcHl0ZXN0LWh0bWwgPj0gMS4xOS4wLDwyLjAKKyBtb2NrID49IDIuMAorLVB5SGFtY3Jlc3Qg PT0gMi4wLjIKKytQeUhhbWNyZXN0ID49IDIuMC4yOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJwor K1B5SGFtY3Jlc3QgPCAgMi4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICczLjAnCisgCisgIyAtLSBI SU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQg Zm9yIHB5dGhvbjMpCisgcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUn CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgYi9weS5yZXF1aXJl bWVudHMvY2kudHJhdmlzLnR4dAoraW5kZXggYzY5NDQ1Yy4uMzcyMTE2YSAxMDA2NDQKKy0tLSBh L3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2ku dHJhdmlzLnR4dAorQEAgLTEsMTEgKzEsMTQgQEAKKyAjID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAj IFBZVEhPTiBQQUNLQUdFIFJFUVVJUkVNRU5UUyBGT1I6IGJlaGF2ZSAtLSBjaS50cmF2aXMudHh0 CisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CisrCisgcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNp b24gPCAgJzMuMCcKKyBweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworLXB5 dGVzdC1odG1sID49IDEuMTkuMAorKworK3B5dGVzdC1odG1sID49IDEuMTkuMCw8Mi4wCisgbW9j ayAgPj0gMi4wCistUHlIYW1jcmVzdCA9PSAyLjAuMgorK1B5SGFtY3Jlc3QgPj0gMi4wLjI7IHB5 dGhvbl92ZXJzaW9uID49ICczLjAnCisrUHlIYW1jcmVzdCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNp b24gPCAgJzMuMCcKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2Yg Y29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42 CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0IGIvcHkucmVxdWlyZW1l bnRzL3Rlc3RpbmcudHh0CitpbmRleCBkM2JjYTE4Li5mYzhmZDgyIDEwMDY0NAorLS0tIGEvcHku cmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50 eHQKK0BAIC02LDkgKzYsMTEgQEAKKyAjIFBSRVBBUkVELUZVVFVSRTogYmVoYXZlNGNtZDAsIGJl aGF2ZTRjbWQKKyBweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJyAjIHB5dGVz dCA+PSA0LjIKKyBweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworLXB5dGVz dC1odG1sID49IDEuMTkuMAorKworK3B5dGVzdC1odG1sID49IDEuMTkuMCw8Mi4wCisgbW9jayAg Pj0gMi4wCistUHlIYW1jcmVzdCA9PSAyLjAuMgorK1B5SGFtY3Jlc3QgPj0gMi4wLjI7IHB5dGhv bl92ZXJzaW9uID49ICczLjAnCisrUHlIYW1jcmVzdCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24g PCAgJzMuMCcKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2YgY29u Y2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42CmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDk0LVVQREFURS1QUi04Nzctd2FzLW1lcmdlZC5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTQtVVBEQVRFLVBSLTg3Ny13 YXMtbWVyZ2VkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDIw ZGVmZjJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA5NC1VUERBVEUtUFItODc3LXdhcy1tZXJnZWQucGF0Y2gK QEAgLTAsMCArMSwyMSBAQAorRnJvbSBiY2U2OGU5ZmYxNGViZjdlZTY5YWQ3ZTc1YmY1ZjEzYWI0 NzVjNDYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDUgRGVjIDIwMjAgMDA6MzM6MjIg KzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVVBEQVRFOiBQUiAjODc3IHdhcyBtZXJnZWQuCisKKy0t LQorIENIQU5HRVMucnN0IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisK K2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCBkNzU4MzY0Li40 ZTIwYmI4IDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAt NTgsNiArNTgsNyBAQCBNSU5PUjoKKyAKKyBET0NVTUVOVEFUSU9OOgorIAorKyogcHVsbCAgIzg3 NzogZG9jczogQVBJIHJlZmVyZW5jZSAtIENhcGl0YWxpemluZyBTdGVwIEtleXdvcmRzIGluIGV4 YW1wbGUgKHByb3ZpZGVkIGJ5OiBJYnJpYW45MykKKyAqIHB1bGwgICM3MzE6IFVwZGF0ZSBsaW5r cyB0byBEamFuZ28gZG9jcyAocHJvdmlkZWQgYnk6IGJpdHRuZXIpCisgKiBwdWxsICAjNzIyOiBE T0MgcmVtb3ZlIHJlbWFpbmluZyBweXRob25ob3N0ZWQgbGlua3MgKHByb3ZpZGVkIGJ5OiBsZXN6 ZWtoYW51c3opCisgKiBwdWxsICAjNzAxOiBiZWhhdmUvcnVubmVyLnB5IGRvY3N0cmluZ3MgKHBy b3ZpZGVkIGJ5OiBzcGl0R2x1ZWQpCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk1LWNhcGl0YWxpemluZy1zdGVwcy5wYXRj aCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw OTUtY2FwaXRhbGl6aW5nLXN0ZXBzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uZmNmNzY1MWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5NS1jYXBpdGFsaXppbmctc3RlcHMu cGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSBkYTU5OGRiNzAwNjNhNTkxZTA2NTg1N2NmNTEz NTA3MGY2ZDg1NzA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQnJpYW4gSWNvY2hl YSA8aWJyaWFuOTNAZ21haWwuY29tPgorRGF0ZTogU3VuLCAxNSBOb3YgMjAyMCAxODozNToxNiAr MDEwMAorU3ViamVjdDogW1BBVENIXSBjYXBpdGFsaXppbmcgc3RlcHMKKworLS0tCisgZG9jcy9h cGkucnN0IHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2FwaS5yc3QgYi9kb2NzL2FwaS5yc3QK K2luZGV4IDQ3NjNhZDYuLjc0NjM4NjMgMTAwNjQ0CistLS0gYS9kb2NzL2FwaS5yc3QKKysrKyBi L2RvY3MvYXBpLnJzdAorQEAgLTc0LDEwICs3NCwxMCBAQCB0aGUgbmFtZSBvZiB0aGVpciBwcmVj ZWRpbmcga2V5d29yZCwgc28gZ2l2ZW4gdGhlIGZvbGxvd2luZyBmZWF0dXJlIGZpbGU6CisgLi4g Y29kZS1ibG9jazo6IGdoZXJraW4KKyAKKyAgICAgR2l2ZW4gc29tZSBrbm93biBzdGF0ZQorLSAg ICAgIGFuZCBzb21lIG90aGVyIGtub3duIHN0YXRlCistICAgICB3aGVuIHNvbWUgYWN0aW9uIGlz IHRha2VuCistICAgICB0aGVuIHNvbWUgb3V0Y29tZSBpcyBvYnNlcnZlZAorLSAgICAgIGJ1dCBz b21lIG90aGVyIG91dGNvbWUgaXMgbm90IG9ic2VydmVkLgorKyAgICAgIEFuZCBzb21lIG90aGVy IGtub3duIHN0YXRlCisrICAgICBXaGVuIHNvbWUgYWN0aW9uIGlzIHRha2VuCisrICAgICBUaGVu IHNvbWUgb3V0Y29tZSBpcyBvYnNlcnZlZAorKyAgICAgIEJ1dCBzb21lIG90aGVyIG91dGNvbWUg aXMgbm90IG9ic2VydmVkLgorIAorIHRoZSBmaXJzdCAiYW5kIiBzdGVwIHdpbGwgYmUgcmVuYW1l ZCBpbnRlcm5hbGx5IHRvICJnaXZlbiIgYW5kICpiZWhhdmUqCisgd2lsbCBsb29rIGZvciBhIHN0 ZXAgaW1wbGVtZW50YXRpb24gZGVjb3JhdGVkIHdpdGggZWl0aGVyICJnaXZlbiIgb3IgInN0ZXAi OgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDA5Ni1GSVgtaW52b2tlLXRhc2stZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10aGF0 LWFib3J0ZWQtLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA5Ni1GSVgtaW52b2tlLXRhc2stZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10 aGF0LWFib3J0ZWQtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u MDUyMjBiZTJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ni1GSVgtaW52b2tlLXRhc2stZGV2ZWxvcC51cGRh dGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQtLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gY2Rh YTM5Y2EyYWMyZWY2MDNlOTRmMjZkYTU3NWZhOGRjYTE2MDg2NSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogRnJpLCAxMSBEZWMgMjAyMCAyMDo1MTo0NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBG SVg6IGludm9rZS10YXNrIGRldmVsb3AudXBkYXRlLWdoZXJraW4gdGhhdCBhYm9ydGVkIGFmdGVy CisgZGlmZgorCisqIFNob3cgbm93IGlmICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBkb2VzIG5v dCBjaGFuZ2UKKyogQWRkIC0tdmVyYm9zZSBvcHRpb24gdG8gc2hvdyBkaWZmIG91dHB1dCBpZiBm aWxlIGhhcyBjaGFuZ2VkCistLS0KKyB0YXNrcy9kZXZlbG9wLnB5IHwgMTkgKysrKysrKysrKysr KysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvdGFza3MvZGV2ZWxvcC5weSBiL3Rhc2tzL2RldmVsb3AucHkKK2lu ZGV4IDlhMjEzNjMuLmViNWZlZGQgMTAwNjQ0CistLS0gYS90YXNrcy9kZXZlbG9wLnB5CisrKysg Yi90YXNrcy9kZXZlbG9wLnB5CitAQCAtOSw2ICs5LDcgQEAgZnJvbSBpbnZva2UudXRpbCBpbXBv cnQgY2QKKyBmcm9tIHBhdGggaW1wb3J0IFBhdGgKKyBpbXBvcnQgcmVxdWVzdHMKKyAKKysKKyAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBDT05TVEFOVFM6CisgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorQEAgLTE4LDggKzE5LDggQEAgR0hFUktJTl9MQU5HVUFHRVNfVVJMID0gImh0dHBzOi8v cmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jdWN1bWJlci9jdWN1bWJlci9tYXMKKyAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgIyBUQVNLUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistQHRh c2sKKy1kZWYgdXBkYXRlX2doZXJraW4oY3R4LCBkcnlfcnVuPUZhbHNlKToKKytAdGFzayhhbGlh c2VzPVsidXBkYXRlLWxhbmd1YWdlcyJdKQorK2RlZiB1cGRhdGVfZ2hlcmtpbihjdHgsIGRyeV9y dW49RmFsc2UsIHZlcmJvc2U9RmFsc2UpOgorICAgICAiIiJVcGRhdGUgImdoZXJraW4tbGFuZ3Vh Z2VzLmpzb24iIGZpbGUgZnJvbSBjdWN1bWJlci1yZXBvLgorIAorICAgICAqIERvd25sb2FkICJn aGVya2luLWxhbmd1YWdlcy5qc29uIiBmcm9tIGN1Y3VtYmVyIHJlcG8KK0BAIC00MSw4ICs0Miwx OCBAQCBkZWYgdXBkYXRlX2doZXJraW4oY3R4LCBkcnlfcnVuPUZhbHNlKToKKyAKKyAgICAgICAg IHByaW50KCdHZW5lcmF0aW5nICJpMThuLnB5IiAuLi4nKQorICAgICAgICAgY3R4LnJ1bigiLi9j b252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5IikKKy0gICAgICAgIGN0eC5ydW4oImRpZmYgaTE4 bi5weSAuLi8uLi9iZWhhdmUvaTE4bi5weSIpCistICAgICAgICBpZiBub3QgZHJ5X3J1bjoKKysK KysgICAgICAgICMgLS0gRElGRjogUmV0dXJucyBub3JtYWxseSB3LyBub24temVybyBleGl0Y29k ZSA9PiBORUVEUzogd2Fybj1UcnVlCisrICAgICAgICBsYW5ndWFnZXNfaGF2ZV9jaGFuZ2VkID0g RmFsc2UKKysgICAgICAgIHJlc3VsdCA9IGN0eC5ydW4oImRpZmYgaTE4bi5weSAuLi8uLi9iZWhh dmUvaTE4bi5weSIsIHdhcm49VHJ1ZSwgaGlkZT1UcnVlKQorKyAgICAgICAgbGFuZ3VhZ2VzX2hh dmVfY2hhbmdlZCA9IG5vdCByZXN1bHQub2sKKysgICAgICAgIGlmIHZlcmJvc2UgYW5kIGxhbmd1 YWdlc19oYXZlX2NoYW5nZWQ6CisrICAgICAgICAgICAgIyAtLSBTSE9XIERJRkY6CisrICAgICAg ICAgICAgcHJpbnQocmVzdWx0LnN0ZG91dCkKKysKKysgICAgICAgIGlmIG5vdCBsYW5ndWFnZXNf aGF2ZV9jaGFuZ2VkOgorKyAgICAgICAgICAgIHByaW50KCJOT19DSEFOR0VEOiBnaGVya2luLWxh bmd1YWdlcy5qc29uIikKKysgICAgICAgIGVsaWYgbm90IGRyeV9ydW46CisgICAgICAgICAgICAg cHJpbnQoIlVwZGF0aW5nIGJlaGF2ZS9pMThuLnB5IC4uLiIpCisgICAgICAgICAgICAgUGF0aCgi aTE4bi5weSIpLm1vdmUoIi4uLy4uL2JlaGF2ZS9pMThuLnB5IikKKyAKZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTctVGVz dC1hZ2FpbnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQtVHJhdmlzLTg2Ny5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTctVGVzdC1hZ2Fp bnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQtVHJhdmlzLTg2Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjgyOWVlYTJlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTctVGVzdC1h Z2FpbnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQtVHJhdmlzLTg2Ny5wYXRjaApAQCAtMCwwICsxLDIy IEBACitGcm9tIDZmOWYwODgyNzExNjFhZGY0Y2U3YTRiZGM4NDBiMTZkZGQ5NWIzOWUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBzYW50b3NoNjUzIDw3MDYzNzk2MStzYW50b3NoNjUz QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMTQgRGVjIDIwMjAgMTI6MDU6 NTAgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gVGVzdCBhZ2FpbnN0IFBvd2VyUEMgQ1BVIHN1cHBv cnQgKFRyYXZpcykgKCM4NjcpCisKK1J1biB0ZXN0IHN1aXRlIGFnYWluc3QgYm90aCBBTUQgYW5k IFBvd2VyUEMgYXJjaGl0ZWN0dXJlCistLS0KKyAudHJhdmlzLnltbCB8IDQgKysrKworIDEgZmls ZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIv LnRyYXZpcy55bWwKK2luZGV4IDc4MWE2MTAuLjJiNzhkOTcgMTAwNjQ0CistLS0gYS8udHJhdmlz LnltbAorKysrIGIvLnRyYXZpcy55bWwKK0BAIC0xLDMgKzEsNyBAQAorK2FyY2g6IAorKyAgLSBh bWQ2NAorKyAgLSBwcGM2NGxlCisrICAKKyBsYW5ndWFnZTogcHl0aG9uCisgc3VkbzogZmFsc2UK KyBkaXN0OiB4ZW5pYWwgICAjIHJlcXVpcmVkIGZvciBQeXRob24gPj0gMy43CmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk4 LUFkZC1Db250ZXh0LmF0dGFjaC1kb2NzLWFuZC10ZXN0LnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5OC1BZGQtQ29udGV4dC5hdHRh Y2gtZG9jcy1hbmQtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLmFjMDE5NzIwMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTgtQWRkLUNvbnRleHQuYXR0YWNoLWRvY3Mt YW5kLXRlc3QucGF0Y2gKQEAgLTAsMCArMSwxMzIgQEAKK0Zyb20gZTFiZTk1YmJjMDA4MGVhY2Iy MGJjNWIyNjNhODM4Nzg0YzJhMWVhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtv cmlqbiB2YW4gR29sZW4gPGsudmFuZ29sZW5AY2xpbmljYWxncmFwaGljcy5jb20+CitEYXRlOiBT YXQsIDI4IE5vdiAyMDIwIDExOjM5OjI4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBDb250 ZXh0LmF0dGFjaCwgZG9jcyBhbmQgdGVzdAorCistLS0KKyBiZWhhdmUvZm9ybWF0dGVyL2pzb24u cHkgICAgICAgIHwgIDYgKysrLS0KKyBiZWhhdmUvcnVubmVyLnB5ICAgICAgICAgICAgICAgIHwg MTEgKysrKysrKysrCisgZG9jcy9mb3JtYXR0ZXJzLnJzdCAgICAgICAgICAgICB8IDE4ICsrKysr KysrKysrKysrCisgZmVhdHVyZXMvZm9ybWF0dGVyLmpzb24uZmVhdHVyZSB8IDQyICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKworIDQgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9mb3JtYXR0ZXIvanNv bi5weSBiL2JlaGF2ZS9mb3JtYXR0ZXIvanNvbi5weQoraW5kZXggNmRhMGQ1OS4uZWRmZTNkNyAx MDA2NDQKKy0tLSBhL2JlaGF2ZS9mb3JtYXR0ZXIvanNvbi5weQorKysrIGIvYmVoYXZlL2Zvcm1h dHRlci9qc29uLnB5CitAQCAtMTY4LDEwICsxNjgsMTIgQEAgY2xhc3MgSlNPTkZvcm1hdHRlcihG b3JtYXR0ZXIpOgorICAgICAgICAgc2VsZi5fc3RlcF9pbmRleCArPSAxCisgCisgICAgIGRlZiBl bWJlZGRpbmcoc2VsZiwgbWltZV90eXBlLCBkYXRhKToKKy0gICAgICAgIHN0ZXAgPSBzZWxmLmN1 cnJlbnRfZmVhdHVyZV9lbGVtZW50WyJzdGVwcyJdWy0xXQorKyAgICAgICAgc3RlcCA9IHNlbGYu Y3VycmVudF9mZWF0dXJlX2VsZW1lbnRbInN0ZXBzIl1bc2VsZi5fc3RlcF9pbmRleF0KKysgICAg ICAgIGlmICJlbWJlZGRpbmdzIiBub3QgaW4gc3RlcDoKKysgICAgICAgICAgICBzdGVwWyJlbWJl ZGRpbmdzIl0gPSBbXQorICAgICAgICAgc3RlcFsiZW1iZWRkaW5ncyJdLmFwcGVuZCh7CisgICAg ICAgICAgICAgIm1pbWVfdHlwZSI6IG1pbWVfdHlwZSwKKy0gICAgICAgICAgICAiZGF0YSI6IGJh c2U2NC5iNjRlbmNvZGUoZGF0YSkucmVwbGFjZSgiXG4iLCAiIiksCisrICAgICAgICAgICAgImRh dGEiOiBiYXNlNjQuYjY0ZW5jb2RlKGRhdGEpLmRlY29kZShzZWxmLnN0cmVhbS5lbmNvZGluZyBv ciAidXRmLTgiKSwKKyAgICAgICAgIH0pCisgCisgICAgIGRlZiBlb2Yoc2VsZik6CitkaWZmIC0t Z2l0IGEvYmVoYXZlL3J1bm5lci5weSBiL2JlaGF2ZS9ydW5uZXIucHkKK2luZGV4IGQwMWJmZjAu LmM1ODNjYWYgMTAwNjQ0CistLS0gYS9iZWhhdmUvcnVubmVyLnB5CisrKysgYi9iZWhhdmUvcnVu bmVyLnB5CitAQCAtNDc1LDYgKzQ3NSwxNyBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAg ICAgICAgICAgIyAtLSBBVk9JRCBEVVBMSUNBVEVTOgorICAgICAgICAgICAgIGN1cnJlbnRfZnJh bWVbIkBjbGVhbnVwcyJdLmFwcGVuZChpbnRlcm5hbF9jbGVhbnVwX2Z1bmMpCisgCisrICAgIGRl ZiBhdHRhY2goc2VsZiwgbWltZV90eXBlLCBkYXRhKToKKysgICAgICAgICIiIkVtYmVkcyBkYXRh IChlLmcuIGEgc2NyZWVuc2hvdCkgaW4gcmVwb3J0cyBmb3IgYWxsCisrICAgICAgICBmb3JtYXR0 ZXJzIHRoYXQgc3VwcG9ydCBpdCwgc3VjaCBhcyB0aGUgSlNPTiBmb3JtYXR0ZXIuCisrCisrICAg ICAgICA6cGFyYW0gbWltZV90eXBlOiAgICAgICBNSU1FIHR5cGUgb2YgdGhlIGJpbmFyeSBkYXRh LgorKyAgICAgICAgOnBhcmFtIGRhdGE6ICAgICAgICAgICAgQnl0ZXMtbGlrZSBvYmplY3QgdG8g ZW1iZWQuCisrICAgICAgICAiIiIKKysgICAgICAgIGlzX2NvbXBhdGlibGUgPSBsYW1iZGEgZjog aGFzYXR0cihmLCAiZW1iZWRkaW5nIikKKysgICAgICAgIGZvciBmb3JtYXR0ZXIgaW4gZmlsdGVy KGlzX2NvbXBhdGlibGUsIHNlbGYuX3J1bm5lci5mb3JtYXR0ZXJzKToKKysgICAgICAgICAgICBm b3JtYXR0ZXIuZW1iZWRkaW5nKG1pbWVfdHlwZSwgZGF0YSkKKysKKyAKKyBAY29udGV4dGxpYi5j b250ZXh0bWFuYWdlcgorIGRlZiB1c2VfY29udGV4dF93aXRoX21vZGUoY29udGV4dCwgbW9kZSk6 CitkaWZmIC0tZ2l0IGEvZG9jcy9mb3JtYXR0ZXJzLnJzdCBiL2RvY3MvZm9ybWF0dGVycy5yc3QK K2luZGV4IGE0MGZkOGQuLjUzNDQ2OGEgMTAwNjQ0CistLS0gYS9kb2NzL2Zvcm1hdHRlcnMucnN0 CisrKysgYi9kb2NzL2Zvcm1hdHRlcnMucnN0CitAQCAtMTE2LDMgKzExNiwyMSBAQCB0ZWFtY2l0 eSAgICAgICA6cHlwaTpgYmVoYXZlLXRlYW1jaXR5YCwgYSBmb3JtYXR0ZXIgZm9yIEpldGJyYWlu cyBUZWFtQ2l0eSBDSSB0ZQorICAgICBbYmVoYXZlLmZvcm1hdHRlcnNdCisgICAgIGFsbHVyZSAg ID0gYWxsdXJlX2JlaGF2ZS5mb3JtYXR0ZXI6QWxsdXJlRm9ybWF0dGVyCisgICAgIHRlYW1jaXR5 ID0gYmVoYXZlX3RlYW1jaXR5OlRlYW1jaXR5Rm9ybWF0dGVyCisrCisrCisrRW1iZWRkaW5nIGRh dGEgKGUuZy4gc2NyZWVuc2hvdHMpIGluIHJlcG9ydHMKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KysKKytZb3UgY2FuIGVtYmVkIGRhdGEgaW4gcmVwb3J0cyB3aXRoIHRoZSA6Y2xhc3M6YH5iZWhh dmUucnVubmVyLkNvbnRleHRgIG1ldGhvZAorKzpmdW5jOmB+YmVoYXZlLnJ1bm5lci5Db250ZXh0 LmF0dGFjaGAsIGlmIHlvdSBoYXZlIGNvbmZpZ3VyZWQgYSBmb3JtYXR0ZXIgdGhhdAorK3N1cHBv cnRzIGl0LiBDdXJyZW50bHkgb25seSB0aGUgSlNPTiBmb3JtYXR0ZXIgc3VwcG9ydHMgZW1iZWRk aW5nIGRhdGEuCisrCisrRm9yIGV4YW1wbGU6CisrCisrLi4gY29kZS1ibG9jazo6IHB5dGhvbgor KworKyAgICBAd2hlbih1J0kgb3BlbiB0aGUgR29vZ2xlIHdlYnBhZ2UnKQorKyAgICBkZWYgc3Rl cF9pbXBsKGNvbnRleHQpOgorKyAgICAgICAgY29udGV4dC5icm93c2VyLmdldCgnaHR0cDovL3d3 dy5nb29nbGUuY29tJykKKysgICAgICAgIGltZyA9IGNvbnRleHQuYnJvd3Nlci5nZXRfZnVsbF9w YWdlX3NjcmVlbnNob3RfYXNfcG5nKCkKKysgICAgICAgIGNvbnRleHQuYXR0YWNoKCJpbWFnZS9w bmciLCBpbWcpCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvZm9ybWF0dGVyLmpzb24uZmVhdHVyZSBi L2ZlYXR1cmVzL2Zvcm1hdHRlci5qc29uLmZlYXR1cmUKK2luZGV4IDk2YjI4YzcuLjY3Yzk3YWUg MTAwNjQ0CistLS0gYS9mZWF0dXJlcy9mb3JtYXR0ZXIuanNvbi5mZWF0dXJlCisrKysgYi9mZWF0 dXJlcy9mb3JtYXR0ZXIuanNvbi5mZWF0dXJlCitAQCAtMzA5LDYgKzMwOSw0OCBAQCBGZWF0dXJl OiBKU09OIEZvcm1hdHRlcgorICAgICAgIEJ1dCBub3RlIHRoYXQgImJvdGggbWF0Y2hlZCBhcmd1 bWVudHMudmFsdWVzIGFyZSBwcm92aWRlZCBhcyBzdHJpbmciCisgCisgCisrICAgIFNjZW5hcmlv OiBVc2UgSlNPTiBmb3JtYXR0ZXIgYW5kIGVtYmVkIGJpbmFyeSBkYXRhIGluIHJlcG9ydCBmcm9t IHR3byBzdGVwcworKyAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvanNvbl9lbWJl ZGRpbmdzLmZlYXR1cmUiIHdpdGg6CisrICAgICAgICAgICIiIgorKyAgICAgICAgICBGZWF0dXJl OgorKyAgICAgICAgICAgIFNjZW5hcmlvOiBVc2UgZW1iZWRkaW5ncworKyAgICAgICAgICAgICAg ICBHaXZlbiAiZm9vYmFyIiBhcyBwbGFpbiB0ZXh0CisrICAgICAgICAgICAgICAgIEFuZCAicmVk IiBhcyBwbGFpbiB0ZXh0CisrICAgICAgICAgICIiIgorKyAgICAgIEFuZCBhIGZpbGUgbmFtZWQg ImZlYXR1cmVzL3N0ZXBzL2pzb25fZW1iZWRkaW5nc19zdGVwcy5weSIgd2l0aDoKKysgICAgICAg ICAgIiIiCisrICAgICAgICAgIGZyb20gYmVoYXZlIGltcG9ydCBzdGVwCisrCisrICAgICAgICAg IEBzdGVwKCcie2RhdGF9IiBhcyBwbGFpbiB0ZXh0JykKKysgICAgICAgICAgZGVmIHN0ZXBfc3Ry aW5nKGNvbnRleHQsIGRhdGEpOgorKyAgICAgICAgICAgICAgY29udGV4dC5hdHRhY2goInRleHQv cGxhaW4iLCBkYXRhLmVuY29kZSgidXRmLTgiKSkKKysgICAgICAgICAgIiIiCisrICAgICAgV2hl biBJIHJ1biAiYmVoYXZlIC1mIGpzb24ucHJldHR5IGZlYXR1cmVzL2pzb25fZW1iZWRkaW5ncy5m ZWF0dXJlIgorKyAgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKysgICAgICAgICAgIiIi CisrICAgICAgICAgIDEgZmVhdHVyZSBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAg ICAgICAgMSBzY2VuYXJpbyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgICAgICAg IiIiCisrICAgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoKKysgICAg ICAgICAgIiIiCisrICAgICAgICAgICAgICAgICAgICAiZW1iZWRkaW5ncyI6IFsKKysgICAgICAg ICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhIjogIlptOXZZ bUZ5IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAibWltZV90eXBlIjogInRleHQvcGxhaW4i CisrICAgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgIF0sCisrICAg ICAgICAgICIiIgorKyAgICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46 CisrICAgICAgICAgICIiIgorKyAgICAgICAgICAgICAgICAgICAgImVtYmVkZGluZ3MiOiBbCisr ICAgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YSI6 ICJjbVZrIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAibWltZV90eXBlIjogInRleHQvcGxh aW4iCisrICAgICAgICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgICAgIF0sCisr ICAgICAgICAgICIiIgorKworKworICAgICBAeGZhaWwKKyAgICAgQHJlZ3Jlc3Npb25fcHJvYmxl bS53aXRoX2R1cmF0aW9uCisgICAgIFNjZW5hcmlvOiBVc2UgSlNPTiBmb3JtYXR0ZXIgd2l0aCBm ZWF0dXJlIGFuZCBvbmUgc2NlbmFyaW8gd2l0aCBzdGVwcwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5OS1BZGQtQ29udHJp YnV0aW5nLWNoYXB0ZXIucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDk5LUFkZC1Db250cmlidXRpbmctY2hhcHRlci5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjYzYjRlN2NlNQotLS0gL2Rldi9udWxs CisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwOTktQWRkLUNvbnRyaWJ1dGluZy1jaGFwdGVyLnBhdGNoCkBAIC0wLDAgKzEsMTI1IEBACitG cm9tIDU4MzhlYWZlNjVjZjBlYmNkYTNkMTkyMzE4MDE1MzI2YThhZmI1MmEgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBQZXRlciBCaXR0bmVyIDxkamFuZ29AYml0dG5lci5pdD4KK0Rh dGU6IFNhdCwgMTIgRGVjIDIwMjAgMTk6NDU6MjYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRk IENvbnRyaWJ1dGluZyBjaGFwdGVyCisKKy0tLQorIGRvY3MvY29uZi5weSAgICAgICAgICB8ICAy ICstCisgZG9jcy9jb250cmlidXRpbmcucnN0IHwgODIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKworIGRvY3MvaW5kZXgucnN0ICAgICAgICB8ICAxICsKKyAzIGZp bGVzIGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgZG9jcy9jb250cmlidXRpbmcucnN0CisKK2RpZmYgLS1naXQgYS9kb2NzL2NvbmYu cHkgYi9kb2NzL2NvbmYucHkKK2luZGV4IGU1NWZiMjEuLjE1NzlhMzYgMTAwNjQ0CistLS0gYS9k b2NzL2NvbmYucHkKKysrKyBiL2RvY3MvY29uZi5weQorQEAgLTEwOCw3ICsxMDgsNyBAQCBpZiBV U0VfU1BISU5YX0lOVEVSTkFUSU9OQUw6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHByb2pl Y3QgPSB1ImJlaGF2ZSIKKyBhdXRob3JzID0gdSJKZW5zIEVuZ2VsLCBCZW5ubyBSaWNlIGFuZCBS aWNoYXJkIEpvbmVzIgorLWNvcHlyaWdodCA9IHUiMjAxMi0yMDE5LCAlcyIgJSBhdXRob3JzCisr Y29weXJpZ2h0ID0gdSIyMDEyLTIwMjAsICVzIiAlIGF1dGhvcnMKKyAKKyAjIFRoZSB2ZXJzaW9u IGluZm8gZm9yIHRoZSBwcm9qZWN0IHlvdSdyZSBkb2N1bWVudGluZywgYWN0cyBhcyByZXBsYWNl bWVudCBmb3IKKyAjIHx2ZXJzaW9ufCBhbmQgfHJlbGVhc2V8LCBhbHNvIHVzZWQgaW4gdmFyaW91 cyBvdGhlciBwbGFjZXMgdGhyb3VnaG91dCB0aGUKK2RpZmYgLS1naXQgYS9kb2NzL2NvbnRyaWJ1 dGluZy5yc3QgYi9kb2NzL2NvbnRyaWJ1dGluZy5yc3QKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi43OGYzNmJkCistLS0gL2Rldi9udWxsCisrKysgYi9kb2NzL2NvbnRyaWJ1 dGluZy5yc3QKK0BAIC0wLDAgKzEsODIgQEAKKytDb250cmlidXRpbmcKKys9PT09PT09PT09PT0K KysKKytJZiB5b3UgZmluZCBhIGJ1ZyB5b3UgY2FuIGZpeCBvciB3YW50IHRvIGNvbnRyaWJ1dGUg YW4gZW5oYW5jZW1lbnQgeW91J3JlCisrd2VsY29tZSB0byBgb3BlbiBhbiBpc3N1ZWBfIG9uIEdp dEh1YiBvciBjcmVhdGUgYSBgcHVsbCByZXF1ZXN0YF8gZGlyZWN0bHkuCisrCisrLi4gX29wZW4g YW4gaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVoYXZlL2lzc3VlcworKy4uIF9w dWxsIHJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVoYXZlL3B1bGxzCisrCisr VXNpbmcgYGBpbnZva2VgYCBmb3IgRGV2ZWxvcG1lbnQKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorKworK0ZvciBtb3N0IGRldmVsb3BtZW50IHRhc2tzIHdlIGhhdmUgYGludm9r ZWBfIGNvbW1hbmRzLgorKworK0luc3RhbGwgYWxsIHJlcXVpcmVtZW50cyBmb3IgcnVubmluZyB0 YXNrcyB1c2luZyBQaXAsIGUuZy4KKysKKysuLiBjb2RlLWJsb2NrOjogY29uc29sZQorKworKyAg ICBweXRob24zIC1tIHBpcCBpbnN0YWxsIC1yIHRhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKKysK KytEaXNwbGF5IGFsbCBhdmFpbGFibGUgYGBpbnZva2VgYCBjb21tYW5kcyBsaWtlIHRoaXM6Cisr CisrLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKysKKysgICAgaW52b2tlIC1sCisrCisrSWYgeW91 J3JlIGN1cmlvdXMsIGFsbCBgYGludm9rZWBgIHRhc2tzIGFyZSBsb2NhdGVkIGluIHRoZSBgYHRh c2tzL2BgCisrZm9sZGVyLgorKworKy4uIF9pbnZva2U6IGh0dHBzOi8vd3d3LnB5aW52b2tlLm9y Zy8KKysKKytVcGRhdGUgR2hlcmtpbiBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uCisrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworK0FuIGBgaW52b2tlYGAgY29tbWFuZCB3 aWxsIGRvd25sb2FkIHRoZSBsYXRlc3QgR2hlcmtpbiBsYW5ndWFnZQorK3NwZWNpZmljYXRpb24g YW5kIHVwZGF0ZSB0aGUgYGJlaGF2ZS9pMThuLnB5YF8gbW9kdWxlOgorKworKy4uIGNvZGUtYmxv Y2s6OiBjb25zb2xlCisrCisrICAgIGludm9rZSBkZXZlbG9wLnVwZGF0ZS1naGVya2luCisrCisr SWYgdGhlcmUgd2VyZSBjaGFuZ2VzIHRoaXMgY29tbWFuZCB3aWxsIGhhdmUgdXBkYXRlZCB0d28g ZmlsZXM6CisrCisrIy4gYGBldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uYGAgKG9y aWdpbmFsIEN1Y3VtYmVyIEpTT04gc3BlYykKKysjLiBgYGJlaGF2ZS9pMThuLnB5YGAgKFB5dGhv biBtb2R1bGUgZ2VuZXJhdGVkIGZyb20gdGhlIEpTT04gc3BlYykKKysKKytQdXQgYm90aCB1bmRl ciB2ZXJzaW9uIGNvbnRyb2wgYW5kIG9wZW4gYSBQUiB0byBtZXJnZSB0aGVtLgorKworKy4uIF9i ZWhhdmUvaTE4bi5weToKKysgICAgaHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvYmxv Yi9tYXN0ZXIvYmVoYXZlL2kxOG4ucHkKKysKKytVcGRhdGUgRG9jdW1lbnRhdGlvbgorKy0tLS0t LS0tLS0tLS0tLS0tLS0tCisrCisrT3VyIGRvY3VtZW50YXRpb24gaXMgd3JpdHRlbiBpbiBgcmVT dHJ1Y3R1cmVkVGV4dGBfLCBhbmQgYnVpbHQgYW5kIGhvc3RlZAorK29uIGBSZWFkVGhlRG9jc2Bf LiBNYWtlIHlvdXIgY2hhbmdlcyB0byB0aGUgZmlsZXMgaW4gdGhlIGBgZG9jcy9gYCBmb2xkZXIK KythbmQgYnVpbGQgdGhlIGRvY3VtZW50YXRpb24gd2l0aDoKKysKKysuLiBjb2RlLWJsb2NrOjog Y29uc29sZQorKworKyAgICBpbnZva2UgZG9jcworKworK29yLCBhbHRlcm5hdGl2ZWx5LCB1c2lu ZyBUb3g6CisrCisrLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKysKKysgICAgdG94IC1lIGRvY3MK KysKKysuLiBoaW50OjoKKysKKysgICAgQnVpbGRpbmcgdGhlIGRvY3MgcmVxdWlyZXMgU3BoaW54 IGFuZCBEb2NVdGlscy4gSWYgeW91ciBidWlsZCBmYWlscworKyAgICBiZWNhdXNlIHRob3NlIGFy ZSBtaXNzaW5nLCBydW46CisrCisrICAgICAgICBweXRob24zIC1tIHBpcCBpbnN0YWxsIC1yIHB5 LnJlcXVpcmVtZW50cy9kb2NzLnR4dAorKworK09uY2UgdGhlIGRvY3MgYXJlIGJ1aWx0IHN1Y2Nl c3NmdWxseSwgYGBzcGhpbnhgYCB3aWxsIHRlbGwgeW91IHdoZXJlIGl0CisrZ2VuZXJhdGVkIHRo ZSBIVE1MIG91dHB1dCAodHlwaWNhbGx5IGBgYnVpbGQvZG9jcy9odG1sYGApLCB3aGljaCB5b3Ug Y2FuCisrdGhlbiBpbnNwZWN0IGxvY2FsbHkuCisrCisrLi4gX3JlU3RydWN0dXJlZFRleHQ6Cisr ICAgIGh0dHBzOi8vd3d3LnNwaGlueC1kb2Mub3JnL2VuL21hc3Rlci91c2FnZS9yZXN0cnVjdHVy ZWR0ZXh0L2Jhc2ljcy5odG1sCisrLi4gX1JlYWRUaGVEb2NzOiBodHRwczovL3JlYWR0aGVkb2Nz Lm9yZy8KK2RpZmYgLS1naXQgYS9kb2NzL2luZGV4LnJzdCBiL2RvY3MvaW5kZXgucnN0CitpbmRl eCBmMGRkMjBlLi5lMDAwNzljIDEwMDY0NAorLS0tIGEvZG9jcy9pbmRleC5yc3QKKysrKyBiL2Rv Y3MvaW5kZXgucnN0CitAQCAtNDMsNiArNDMsNyBAQCBDb250ZW50cworICAgIGNvbXBhcmlzb24K KyAgICBuZXdfYW5kX25vdGV3b3J0aHkKKyAgICBtb3JlX2luZm8KKysgICBjb250cmlidXRpbmcK KyAgICBhcHBlbmRpeAorIAorIC4uIHNlZWFsc286OgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMC1BZGFwdC1Ub3gtdGFy Z2V0LWZvci1idWlsZGluZy10aGUtZG9jcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDAtQWRhcHQtVG94LXRhcmdldC1mb3ItYnVp bGRpbmctdGhlLWRvY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li40ZGQzOTk2YTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAwLUFkYXB0LVRveC10YXJnZXQtZm9yLWJ1aWxk aW5nLXRoZS1kb2NzLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gMjVjMjYwMWQxZDhkODgz NmM5NjczZGNiYmY4NTI1MTUyOTdlOTI2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IFBldGVyIEJpdHRuZXIgPGRqYW5nb0BiaXR0bmVyLml0PgorRGF0ZTogU2F0LCAxMiBEZWMgMjAy MCAxOTo0NjoyOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBBZGFwdCBUb3ggdGFyZ2V0IGZvciBi dWlsZGluZyB0aGUgZG9jcworCitUaGlzIHdpbGwgZ2VuZXJhdGUgdGhlIEhUTUwgZG9jcyBpbiB0 aGUgc2FtZSBsb2NhdGlvbiBhcyBgaW52b2tlIGRvY3NgLgorLS0tCisgdG94LmluaSB8IDggKyst LS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvdG94LmluaSBiL3RveC5pbmkKK2luZGV4IGI4MjU5MjEuLjhjY2I1OGIg MTAwNjQ0CistLS0gYS90b3guaW5pCisrKysgYi90b3guaW5pCitAQCAtNzcsMTIgKzc3LDkgQEAg c2V0ZW52ID0KKyAKKyAKKyBbdGVzdGVudjpkb2NzXQorLWJhc2VweXRob249IHB5dGhvbjIKKyBj aGFuZ2VkaXIgPSBkb2NzCistY29tbWFuZHM9CistICAgIHNwaGlueC1idWlsZCAtVyAtYiBodG1s IC1EIGxhbmd1YWdlPWVuIC1kIHtlbnZ0bXBkaXJ9L2RvY3RyZWVzIC4ge2VudnRtcGRpcn0vaHRt bC9lbgorLWRlcHM9CistICAgIC1ye3RveGluaWRpcn0vcHkucmVxdWlyZW1lbnRzL2RvY3MudHh0 CisrY29tbWFuZHMgPSBzcGhpbngtYnVpbGQgLVcgLWIgaHRtbCAtRCBsYW5ndWFnZT1lbiAtZCB7 dG94aW5pZGlyfS9idWlsZC9kb2NzL2RvY3RyZWVzIC4ge3RveGluaWRpcn0vYnVpbGQvZG9jcy9o dG1sL2VuCisrZGVwcyA9IC1ye3RveGluaWRpcn0vcHkucmVxdWlyZW1lbnRzL2RvY3MudHh0Cisg CisgCisgW3Rlc3RlbnY6Y2xlYW5yb29tMl0KK0BAIC0xNDYsNCArMTQzLDMgQEAgY29tbWFuZHM9 CisgZGVwcz0KKyAgICAgaml0CisgICAgIHtbdGVzdGVudl1kZXBzfQorLQpkaWZmIC0tZ2l0IGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMS1N ZW50aW9uLUhUTUwtZm9ybWF0dGVyLWluLWRvY3VtZW50YXRpb24ucGF0Y2ggYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAxLU1lbnRpb24tSFRN TC1mb3JtYXR0ZXItaW4tZG9jdW1lbnRhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLjA0OGU5MjdiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDEtTWVudGlvbi1IVE1M LWZvcm1hdHRlci1pbi1kb2N1bWVudGF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsODMgQEAKK0Zyb20g M2JmYzY4MDk5OTgzMTkxZDFiYzA5NWQ5ZmY0NDkxZmZmNDExNTdlYiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IFBldGVyIEJpdHRuZXIgPGRqYW5nb0BiaXR0bmVyLml0PgorRGF0ZTog VHVlLCAxNSBEZWMgMjAyMCAxMTozMDoxNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBNZW50aW9u IEhUTUwgZm9ybWF0dGVyIGluIGRvY3VtZW50YXRpb24KKworLS0tCisgZG9jcy9mb3JtYXR0ZXJz LnJzdCB8IDIzICsrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEyIGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9mb3JtYXR0 ZXJzLnJzdCBiL2RvY3MvZm9ybWF0dGVycy5yc3QKK2luZGV4IDUzNDQ2OGEuLjYwODBmYzQgMTAw NjQ0CistLS0gYS9kb2NzL2Zvcm1hdHRlcnMucnN0CisrKysgYi9kb2NzL2Zvcm1hdHRlcnMucnN0 CitAQCAtMSw4ICsxLDggQEAKKyAuLiBfaWQuYXBwZW5kaXguZm9ybWF0dGVyczoKKyAKKy09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKys9PT09PT09PT09PT09PT09PT09PT09PT0KKyBGb3JtYXR0ZXJz IGFuZCBSZXBvcnRlcnMKKy09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKys9PT09PT09PT09PT09PT09 PT09PT09PT0KKyAKKyA6cHlwaTpgYmVoYXZlYCBwcm92aWRlcyAyIGRpZmZlcmVudCBjb25jZXB0 cyBmb3IgcmVwb3J0aW5nIHJlc3VsdHMgb2YgYSB0ZXN0IHJ1bjoKKyAKK0BAIC0xNSw3ICsxNSw3 IEBAIFRoZSBgYFJlcG9ydGVyYGAgaGFzIGEgbW9yZSBjb2Fyc2UtZ3JhaW5lZCBBUEkuCisgCisg CisgUmVwb3J0ZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrLS0tLS0tLS0tCisgCisgVGhl IGZvbGxvd2luZyByZXBvcnRlcnMgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQ6CisgCitAQCAtMjgs NyArMjgsNyBAQCBzdW1tYXJ5ICAgICAgICAgUHJvdmlkZXMgYSBzdW1tYXJ5IG9mIHRoZSB0ZXN0 IHJ1bi4KKyAKKyAKKyBGb3JtYXR0ZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrLS0tLS0t LS0tLQorIAorIFRoZSBmb2xsb3dpbmcgZm9ybWF0dGVycyBhcmUgY3VycmVudGx5IHN1cHBvcnRl ZDoKKyAKK0BAIC02Miw3ICs2Miw3IEBAIHRhZ3MubG9jYXRpb24gIGRyeS1ydW4gIFNob3dzIHRh Z3MgYW5kIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGV5IGFyZSB1c2VkLgorIAorIAorIFVzZXItRGVm aW5lZCBGb3JtYXR0ZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAKKyBCZWhhdmUgYWxsb3dzIHlvdSB0byBwcm92aWRlIHlvdXIgb3duIGZvcm1h dHRlciAoY2xhc3MpOjoKKyAKK0BAIC05NiwxNiArOTYsMTYgQEAgdG8gcHJvdmlkZSB0aGVtLiBU aGUgZm9ybWF0dGVyIHNob3VsZCB1c2UgdGhlIGF0dHJpYnV0ZSBzY2hlbWE6CisgCisgCisgTW9y ZSBGb3JtYXR0ZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrLS0tLS0tLS0tLS0tLS0tCisg CistVGhlIGZvbGxvd2luZyBmb3JtYXR0ZXJzIGFyZSBjdXJyZW50bHkga25vd246CisrVGhlIGZv bGxvd2luZyBjb250cmlidXRlZCBmb3JtYXR0ZXJzIGFyZSBjdXJyZW50bHkga25vd246CisgCisg PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIE5hbWUgICAgICAgICAgIERlc2NyaXB0 aW9uCisgPT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLWFsbHVyZSAgICAgICAgIDpw eXBpOmBhbGx1cmUtYmVoYXZlYCwgYW4gQWxsdXJlIGZvcm1hdHRlciBmb3IgYmVoYXZlOgorLSAg ICAgICAgICAgICAgIGBgYWxsdXJlX2JlaGF2ZS5mb3JtYXR0ZXI6QWxsdXJlRm9ybWF0dGVyYGAK Ky10ZWFtY2l0eSAgICAgICA6cHlwaTpgYmVoYXZlLXRlYW1jaXR5YCwgYSBmb3JtYXR0ZXIgZm9y IEpldGJyYWlucyBUZWFtQ2l0eSBDSSB0ZXN0cnVucworK2FsbHVyZSAgICAgICAgIDpweXBpOmBh bGx1cmUtYmVoYXZlYCwgYW4gQWxsdXJlIGZvcm1hdHRlciBmb3IgYmVoYXZlLgorK2h0bWwgICAg ICAgICAgIDpweXBpOmBiZWhhdmUtaHRtbC1mb3JtYXR0ZXJgLCBhIHNpbXBsZSBIVE1MIGZvcm1h dHRlciBmb3IgYmVoYXZlLgorK3RlYW1jaXR5ICAgICAgIDpweXBpOmBiZWhhdmUtdGVhbWNpdHlg LCBhIGZvcm1hdHRlciBmb3IgSmV0QnJhaW5zIFRlYW1DaXR5IENJIHRlc3RydW5zCisgICAgICAg ICAgICAgICAgd2l0aCBiZWhhdmUuCisgPT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQor IAorQEAgLTExNCw3ICsxMTQsOCBAQCB0ZWFtY2l0eSAgICAgICA6cHlwaTpgYmVoYXZlLXRlYW1j aXR5YCwgYSBmb3JtYXR0ZXIgZm9yIEpldGJyYWlucyBUZWFtQ2l0eSBDSSB0ZQorICAgICAjIC0t IEZJTEU6IGJlaGF2ZS5pbmkKKyAgICAgIyBGT1JNQVRURVIgQUxJQVNFUzogYmVoYXZlIC1mIGFs bHVyZSAuLi4KKyAgICAgW2JlaGF2ZS5mb3JtYXR0ZXJzXQorLSAgICBhbGx1cmUgICA9IGFsbHVy ZV9iZWhhdmUuZm9ybWF0dGVyOkFsbHVyZUZvcm1hdHRlcgorKyAgICBhbGx1cmUgPSBhbGx1cmVf YmVoYXZlLmZvcm1hdHRlcjpBbGx1cmVGb3JtYXR0ZXIKKysgICAgaHRtbCA9IGJlaGF2ZV9odG1s X2Zvcm1hdHRlcjpIVE1MRm9ybWF0dGVyCisgICAgIHRlYW1jaXR5ID0gYmVoYXZlX3RlYW1jaXR5 OlRlYW1jaXR5Rm9ybWF0dGVyCisgCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAyLVVzZS1jb25zb2xlLWhpZ2hsaWdo dGluZy1mb3ItcGlwLWluc3RhbGwtZG9jcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDItVXNlLWNvbnNvbGUtaGlnaGxpZ2h0aW5n LWZvci1waXAtaW5zdGFsbC1kb2NzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uNmIwOWI5MzYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMi1Vc2UtY29uc29sZS1oaWdobGln aHRpbmctZm9yLXBpcC1pbnN0YWxsLWRvY3MucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbSA3 MDljMzJiZTgxOWFmYmJiN2M3YWVjYzM5MmZhYzQ5ODZlOWFlOTBmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogUGV0ZXIgQml0dG5lciA8ZGphbmdvQGJpdHRuZXIuaXQ+CitEYXRlOiBU dWUsIDE1IERlYyAyMDIwIDEyOjQ0OjUyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBjb25z b2xlIGhpZ2hsaWdodGluZyBmb3IgYHBpcCBpbnN0YWxsYCAoZG9jcykKKworLS0tCisgZG9jcy9j b250cmlidXRpbmcucnN0IHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykK KworZGlmZiAtLWdpdCBhL2RvY3MvY29udHJpYnV0aW5nLnJzdCBiL2RvY3MvY29udHJpYnV0aW5n LnJzdAoraW5kZXggNzhmMzZiZC4uZjNkZWI4NyAxMDA2NDQKKy0tLSBhL2RvY3MvY29udHJpYnV0 aW5nLnJzdAorKysrIGIvZG9jcy9jb250cmlidXRpbmcucnN0CitAQCAtNzEsNiArNzEsOCBAQCBv ciwgYWx0ZXJuYXRpdmVseSwgdXNpbmcgVG94OgorICAgICBCdWlsZGluZyB0aGUgZG9jcyByZXF1 aXJlcyBTcGhpbnggYW5kIERvY1V0aWxzLiBJZiB5b3VyIGJ1aWxkIGZhaWxzCisgICAgIGJlY2F1 c2UgdGhvc2UgYXJlIG1pc3NpbmcsIHJ1bjoKKyAKKysgICAgLi4gY29kZS1ibG9jazo6IGNvbnNv bGUKKysKKyAgICAgICAgIHB5dGhvbjMgLW0gcGlwIGluc3RhbGwgLXIgcHkucmVxdWlyZW1lbnRz L2RvY3MudHh0CisgCisgT25jZSB0aGUgZG9jcyBhcmUgYnVpbHQgc3VjY2Vzc2Z1bGx5LCBgYHNw aGlueGBgIHdpbGwgdGVsbCB5b3Ugd2hlcmUgaXQKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDMtZG9jcy1maXgtc2ltcGxl LXR5cG8tdHVvcmlhbC10dXRvcmlhbC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDMtZG9jcy1maXgtc2ltcGxlLXR5cG8tdHVvcmlh bC10dXRvcmlhbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmYy MTZjMjlhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDMtZG9jcy1maXgtc2ltcGxlLXR5cG8tdHVvcmlhbC10 dXRvcmlhbC5wYXRjaApAQCAtMCwwICsxLDUyIEBACitGcm9tIDdhMTIyNTEwYTdkNDg0M2I1Zjhj NjRjMGEzNGE4MDc3NTcxODRhMjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUaW0g R2F0ZXMgPHRpbS5nYXRlc0BpcmVzcy5jb20+CitEYXRlOiBTdW4sIDI3IERlYyAyMDIwIDA4OjE2 OjE2ICsxMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvY3M6IGZpeCBzaW1wbGUgdHlwbywgdHVvcmlh bCAtPiB0dXRvcmlhbAorCitUaGVyZSBpcyBhIHNtYWxsIHR5cG8gaW4gZG9jcy9tb3JlX2luZm8u cnN0LgorCitTaG91bGQgcmVhZCBgdHV0b3JpYWxgIHJhdGhlciB0aGFuIGB0dW9yaWFsYC4KKy0t LQorIGRvY3MvbW9yZV9pbmZvLnJzdCB8IDggKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9tb3JlX2lu Zm8ucnN0IGIvZG9jcy9tb3JlX2luZm8ucnN0CitpbmRleCBkMGI5ZmNkLi4wZDg3YTljIDEwMDY0 NAorLS0tIGEvZG9jcy9tb3JlX2luZm8ucnN0CisrKysgYi9kb2NzL21vcmVfaW5mby5yc3QKK0BA IC02Niw3ICs2Niw3IEBAIFByZXNlbnRhdGlvbiBWaWRlb3MKKyAqIEJlbm5vIFJpY2U6IGBNYWtp bmcgWW91ciBBcHBsaWNhdGlvbiBCZWhhdmVgXyAoMzBtaW4pLAorICAgMjAxMi0wOC0xMiwgUHlD b24gQXVzdHJhbGlhLgorIAorLSogU2VsZW5pdW06IGBGaXJzdCBiZWhhdmUgcHl0aG9uIHR1b3Jp YWwgd2l0aCBzZWxlbml1bWBfICg4bWluKSwgMjAxNS0wMS0yOCwKKysqIFNlbGVuaXVtOiBgRmly c3QgYmVoYXZlIHB5dGhvbiB0dXRvcmlhbCB3aXRoIHNlbGVuaXVtYF8gKDhtaW4pLCAyMDE1LTAx LTI4LAorICAgaHR0cDovL3d3dy5zZWxlbml1bWZyYW1ld29yay5jb20vcHl0aG9uLWJhc2ljL2Zp cnN0LWJlaGF2ZS1naGVya2luLworIAorICogSmVzc2ljYSBJbmdyYXNzZWxpbm86IGBBdXRvbWF0 aW9uIHdpdGggUHl0aG9uIGFuZCBCZWhhdmVgXyAoNjdtaW4pLCAyMDE1LTEyLTE2CitAQCAtODQs NyArODQsNyBAQCBQcmVzZW50YXRpb24gVmlkZW9zCisgICAgICAgICAqIEJlbm5vIFJpY2U6IGBN YWtpbmcgWW91ciBBcHBsaWNhdGlvbiBCZWhhdmVgXyAoMzBtaW4pLAorICAgICAgICAgICBQeUNv biBBdXN0cmFsaWEsIDIwMTItMDgtMTIKKyAKKy0gICAgICAgICogU2VsZW5pdW06IGBGaXJzdCBi ZWhhdmUgcHl0aG9uIHR1b3JpYWwgd2l0aCBzZWxlbml1bWBfICg4bWluKSwgMjAxNS0wMS0yOCwK KysgICAgICAgICogU2VsZW5pdW06IGBGaXJzdCBiZWhhdmUgcHl0aG9uIHR1dG9yaWFsIHdpdGgg c2VsZW5pdW1gXyAoOG1pbiksIDIwMTUtMDEtMjgsCisgICAgICAgICAgIGh0dHA6Ly93d3cuc2Vs ZW5pdW1mcmFtZXdvcmsuY29tL3B5dGhvbi1iYXNpYy9maXJzdC1iZWhhdmUtZ2hlcmtpbi8KKyAK KyAgICAgICAgICogSmVzc2ljYSBJbmdyYXNzZWxpbm86IGBBdXRvbWF0aW9uIHdpdGggUHl0aG9u IGFuZCBCZWhhdmVgXyAoNjdtaW4pLCAyMDE1LTEyLTE2CitAQCAtMTEyLDcgKzExMiw3IEBAIFBy ZXNlbnRhdGlvbiBWaWRlb3MKKyAgICAgICAgICAgICA6d2lkdGg6IDYwMAorICAgICAgICAgICAg IDpoZWlnaHQ6IDQwMAorIAorLSAgICAgICAgU2VsZW5pdW06IGBGaXJzdCBiZWhhdmUgcHl0aG9u IHR1b3JpYWwgd2l0aCBzZWxlbml1bWBfCisrICAgICAgICBTZWxlbml1bTogYEZpcnN0IGJlaGF2 ZSBweXRob24gdHV0b3JpYWwgd2l0aCBzZWxlbml1bWBfCisgICAgICAgICB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAKKyAgICAgICAgIDpE YXRlOiAyMDE1LTAxLTI4CitAQCAtMTQ2LDcgKzE0Niw3IEBAIFByZXNlbnRhdGlvbiBWaWRlb3MK KyAKKyAKKyAuLiBfYE1ha2luZyBZb3VyIEFwcGxpY2F0aW9uIEJlaGF2ZWA6IGh0dHBzOi8vd3d3 LnlvdXR1YmUuY29tL3dhdGNoP3Y9dThCT0t1TmttaGcKKy0uLiBfYEZpcnN0IGJlaGF2ZSBweXRo b24gdHVvcmlhbCB3aXRoIHNlbGVuaXVtYDogaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/ dj1EMjRfUXJHVUNGaworKy4uIF9gRmlyc3QgYmVoYXZlIHB5dGhvbiB0dXRvcmlhbCB3aXRoIHNl bGVuaXVtYDogaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1EMjRfUXJHVUNGaworIC4u IF9gQXV0b21hdGlvbiB3aXRoIFB5dGhvbiBhbmQgQmVoYXZlYDogaHR0cHM6Ly93d3cueW91dHVi ZS5jb20vd2F0Y2g/dj1lNzhjN2g2RFJEUQorIC4uIF9gU2VsZW5pdW0gUHl0aG9uIFdlYmRyaXZl ciBUdXRvcmlhbCAtIEJlaGF2ZSAoQkREKWA6IGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNo P3Y9bWV4dFNvMFVFeGMKKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDQtQWRkLXN1cHBvcnQtZm9yLXB5dGhvbjMuOS1i eS11c2luZy1hY3RpdmUtdGFncy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDQtQWRkLXN1cHBvcnQtZm9yLXB5dGhvbjMuOS1ieS11 c2luZy1hY3RpdmUtdGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLmRjZGJjNGNmMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDQtQWRkLXN1cHBvcnQtZm9yLXB5dGhvbjMu OS1ieS11c2luZy1hY3RpdmUtdGFncy5wYXRjaApAQCAtMCwwICsxLDIyNyBAQAorRnJvbSA1YzZm ZDdlYWViYTk1ODc1OWNjZWRhYWE0ODNmZTIxMzg1OWNmYTZkIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitE YXRlOiBNb24sIDEyIE9jdCAyMDIwIDIxOjUyOjI1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFk ZCBzdXBwb3J0IGZvciBweXRob24zLjkgKGJ5IHVzaW5nIGFjdGl2ZS10YWdzKS4KKworLS0tCisg ZmVhdHVyZXMvc3RlcC5hc3luY19zdGVwcy5mZWF0dXJlIHwgMjEgKysrKysrKysrKysrKysrKysr KysrCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUgIHwgIDYgKysrKysrCisgaXNz dWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUgIHwgIDQgKysrKworIGlzc3VlLmZlYXR1cmVz L2lzc3VlMDQ1Ny5mZWF0dXJlICB8ICA1ICsrKysrCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3 LmZlYXR1cmUgIHwgIDMgKysrCisgNSBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspCisK K2RpZmYgLS1naXQgYS9mZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUgYi9mZWF0dXJl cy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUKK2luZGV4IDNhMThmYTkuLjA2NzA5ZDkgMTAwNjQ0 CistLS0gYS9mZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVz L3N0ZXAuYXN5bmNfc3RlcHMuZmVhdHVyZQorQEAgLTMyLDYgKzMyLDkgQEAgRmVhdHVyZTogQXN5 bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgCisgICAgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjUKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorKyAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzog VXNlIGFzeW5jLXN0ZXAgd2l0aCBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIChhc3luYykKKyAg ICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFt ZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzUucHkiIHdpdGg6CitAQCAtNjMsNiArNjYs OSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAgICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My41CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKysgICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNworKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44Cisr ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IFVzZSBhc3lu Yy1zdGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSAoQGNvcm91dGluZSkKKyAgICAg ICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQg ImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzQucHkiIHdpdGg6CitAQCAtOTMsNiArOTksOSBA QCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAKKyAgICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My42CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysgICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45Cisg ICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSh0aW1lb3V0PS4uLikg YW5kIFRJTUVPVVQgb2NjdXJzIChhc3luYykKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRp cmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0 ZXBzX3RpbWVvdXQzNS5weSIgd2l0aDoKK0BAIC0xMjgsNiArMTM3LDkgQEAgRmVhdHVyZTogQXN5 bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgCisgICAgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjUKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorKyAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBAYXN5bmNfc3Rl cF9mYWlscworICAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgYW5k IGFzeW5jLXN0ZXAgZmFpbHMKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQor QEAgLTE3MCw2ICsxODIsOSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0 ZXAsIC4uLikKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorICAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My42CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjcKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My45CisgICAgIEBhc3luY19zdGVwX2ZhaWxzCisgICAgIFNjZW5hcmlvOiBV c2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMtc3RlcCByYWlzZXMgZXJyb3IK KyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorQEAgLTIxMyw2ICsyMjgsOSBA QCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAgICAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My41CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKysgICAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuNworKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAg IEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNf cnVuX3VudGlsX2NvbXBsZXRlKHRpbWVvdXQ9Li4uKSBhbmQgVElNRU9VVCBvY2N1cnMgKEBjb3Jv dXRpbmUpCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQg YSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwc190aW1lb3V0MzQucHkiIHdp dGg6CitAQCAtMjUwLDYgKzI2OCw5IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5 bmMtc3RlcCwgLi4uKQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My40CisgICAgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuNgorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CisrICAgIEB1c2Uud2l0aF9w eXRob24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAg ICBTY2VuYXJpbzogVXNlIGFzeW5jLWRpc3BhdGNoIGFuZCBhc3luYy1jb2xsZWN0IGNvbmNlcHRz CisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxl IG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5weSIgd2l0aDoKK2Rp ZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSBiL2lzc3VlLmZlYXR1 cmVzL2lzc3VlMDMzMC5mZWF0dXJlCitpbmRleCA4MWNiNmUyLi5iZTRkMzc4IDEwMDY0NAorLS0t IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVz L2lzc3VlMDMzMC5mZWF0dXJlCitAQCAtNzEsNiArNzEsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMw OiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0t bm8tcworIAorIAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQG5vdC53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOQorICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBl ZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorICAgICBXaGVuIEkgcnVu ICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ctc2tpcHBlZCBAYWxpY2VfYW5kX2JvYi5m ZWF0dXJlc2V0IgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtODUsNiArODYs NyBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQg aW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworICAgICAgICIiIgorIAorICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAg U2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0 aCAtLXNob3ctc2tpcHBlZAorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFn MSAtLXNob3ctc2tpcHBlZCBAYWxpY2VfYW5kX2JvYi5mZWF0dXJlc2V0IgorICAgICBUaGVuIGl0 IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtMTAxLDYgKzEwMyw3IEBAIEZlYXR1cmU6IElzc3VlICMz MzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4g LS1uby1zCisgICAgICAgIyA8dGVzdHN1aXRlIGVycm9ycz0iMCIgZmFpbHVyZXM9IjAiIG5hbWU9 ImJvYi5Cb2IiIHNraXBwZWQ9IjEiIHRlc3RzPSIxIiB0aW1lPSIwLjAiPgorIAorICAgQG5vdC53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQor ICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBuZWl0aGVy IHNob3duIG5vciBjb3VudGVkIHdpdGggLS1uby1za2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJl aGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tbm8tc2tpcHBlZCIKKyAgICAgVGhlbiBpdCBzaG91bGQg cGFzcyB3aXRoOgorQEAgLTEyMSw2ICsxMjQsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lw cGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcwor ICAgICBBbmQgbm90ZSB0aGF0ICJDaGFybHkyIGlzIHRoZSBza2lwcGVkIHNjZW5hcmlvbiBpbiBj aGFybHkuZmVhdHVyZSIKKyAKKyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9y IHNraXBwZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBub3IgY291bnRlZCB3aXRoIC0tbm8t c2tpcHBlZAorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLW5vLXNr aXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKK0BAIC0xNDQsNiArMTQ4LDcg QEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGlu IGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAKKyAgIEBub3Qud2l0aF9weXRob24udmVy c2lvbj0zLjgKKysgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgIFNjZW5hcmlvOiBK dW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgc2hvd24gYW5kIGNvdW50ZWQgd2l0 aCAtLXNob3ctc2tpcHBlZAorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFn MSAtLXNob3ctc2tpcHBlZCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorQEAgLTE2 NSw2ICsxNzAsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUg aW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAorIAorICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAg U2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQg Y291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1 bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdp dGg6CitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUgYi9pc3N1 ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZQoraW5kZXggOTAxYmRlYy4uMTJkZTM3YSAxMDA2 NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCisrKysgYi9pc3N1ZS5m ZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZQorQEAgLTU5LDYgKzU5LDcgQEAgRmVhdHVyZTogSXNz dWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRl cgorICAgICAgICAgIiIiCisgCisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysg ICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogSG9vayBlcnJv ciBpbiBiZWZvcmVfc2NlbmFyaW8oKQorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFp biAtLWp1bml0IGZlYXR1cmVzL2JlZm9yZV9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAg ICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorQEAgLTg4LDYgKzg5LDcgQEAgRmVhdHVyZTog SXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBv cnRlcgorIAorIAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVm b3JlX3NjZW5hcmlvKCkKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5p dCBmZWF0dXJlcy9iZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4g aXQgc2hvdWxkIGZhaWwgd2l0aDoKK0BAIC0xMjEsNiArMTIzLDcgQEAgRmVhdHVyZTogSXNzdWUg IzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgor IAorIAorICAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEBub3Qud2l0aF9w eXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYWZ0ZXJfc2Nl bmFyaW8oKQorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1 cmVzL2FmdGVyX3NjZW5hcmlvX2ZhaWx1cmUuZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3Vs ZCBmYWlsIHdpdGg6CitAQCAtMTUyLDYgKzE1NSw3IEBAIEZlYXR1cmU6IElzc3VlICM0NDYgLS0g U3VwcG9ydCBzY2VuYXJpbyBob29rLWVycm9ycyB3aXRoIEpVbml0UmVwb3J0ZXIKKyAKKyAKKyAg ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My45CisgICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkK KyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9hZnRl cl9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3 aXRoOgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlIGIvaXNz dWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKK2luZGV4IDQ2Zjk2ZTkuLjZkMmY0OGYgMTAw NjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZQorKysrIGIvaXNzdWUu ZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKK0BAIC0yNSw2ICsyNSw3IEBAIEZlYXR1cmU6IElz c3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwg cmVwb3J0cworIAorIAorICAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEBu b3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFyaW86IFVzZSBmYWlsaW5nIGFz c2VydGF0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydAorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1l ZCAiZmVhdHVyZXMvZmFpbHMxLmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC00Niw2 ICs0Nyw3IEBAIEZlYXR1cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBt ZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cworICAgICAgICAgIiIiCisgCisgICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OQorICAgICBTY2VuYXJpbzogVXNlIGZhaWxpbmcgYXNzZXJ0YXRpb24gaW4gYSBKVW5pdCBYTUwg cmVwb3J0CisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczEuZmVhdHVy ZSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTcwLDYgKzcyLDcgQEAgRmVhdHVyZTogSXNzdWUg IzQ1NyAtLSBEb3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3NhZ2VzIG9mIEpVbml0IFhNTCByZXBv cnRzCisgCisgCisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQG5vdC53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogVXNlIGV4Y2VwdGlvbiBpbiBh IEpVbml0IFhNTCByZXBvcnQKKyAgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL2Zh aWxzMi5mZWF0dXJlIiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtOTAsNyArOTMsOSBAQCBGZWF0 dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVu aXQgWE1MIHJlcG9ydHMKKyAgICAgICAgIDxlcnJvciBtZXNzYWdlPSJNeSBuYW1lIGlzICZxdW90 O0JvYiZxdW90OyBhbmQgJmx0O2hlcmUmZ3Q7IEkgYW0iCisgICAgICAgICAiIiIKKyAKKysKKyAg ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My45CisgICAgIFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJl cG9ydAorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMyLmZlYXR1cmUi IHdpdGg6CisgICAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA2 NTcuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlCitpbmRleCBmNjY3 ODkzLi5hZWFlZmQyIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1 cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlCitAQCAtNSw2ICs1LDkg QEAgRmVhdHVyZTogSXNzdWUgIzY1NyAtLSBBbGxvdyBhc3luYyBzdGVwcyB3aXRoIHRpbWVvdXRz IHRvIGZhaWwgd2hlbiB0aGV5IHJhaXNlIGUKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJz aW9uPTMuNQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CisrICAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjcKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAor KyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIEBhc3luY19zdGVwX2ZhaWxz CisgICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMt c3RlcCBmYWlscworICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CmRpZmYgLS1n aXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MTA1LVBSRUZFUi1weXRob24zLWZyb20tbm93LW9uLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNS1QUkVGRVItcHl0aG9uMy1mcm9t LW5vdy1vbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjI3Yzc3 YjdiNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDUtUFJFRkVSLXB5dGhvbjMtZnJvbS1ub3ctb24ucGF0Y2gK QEAgLTAsMCArMSwxOSBAQAorRnJvbSAxZmY4MzM4ZWExZDhhMjdhNWM0NTQ5MjUwN2VkNjQxNTRj YzJjZmM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDEyIE9jdCAyMDIwIDIyOjE0OjU5 ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFBSRUZFUjogcHl0aG9uMyBmcm9tIG5vdyBvbi4KKwor LS0tCisgYmluL2JlaGF2ZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2Jpbi9iZWhhdmUgYi9iaW4vYmVoYXZlCitp bmRleCBjMDJlOGQzLi45ZWJiNTg0IDEwMDc1NQorLS0tIGEvYmluL2JlaGF2ZQorKysrIGIvYmlu L2JlaGF2ZQorQEAgLTEsNCArMSw0IEBACistIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisrIyEvdXNy L2Jpbi9lbnYgcHl0aG9uMworICMgLSotIGNvZGluZzogdXRmLTggLSotCisgCisgZnJvbSBfX2Z1 dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDYtUkVNT1ZFLWludm9rZS1z Y3JpcHRzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDEwNi1SRU1PVkUtaW52b2tlLXNjcmlwdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi5jYmJmZTZkNmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA2LVJFTU9W RS1pbnZva2Utc2NyaXB0cy5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIGM5NDdjMDcyNjY3 M2JjYjhkOGQzMTE0ZDBlMzlmYzkyNjA0MDU1OWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNh dCwgOSBKYW4gMjAyMSAyMTo1MjowNCArMDEwMAorU3ViamVjdDogW1BBVENIXSBSRU1PVkU6IGlu dm9rZSBzY3JpcHRzCisKKy0tLQorIGJpbi9pbnZva2UgICAgIHwgOCAtLS0tLS0tLQorIGJpbi9p bnZva2UuY21kIHwgOSAtLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE3IGRlbGV0aW9ucygt KQorIGRlbGV0ZSBtb2RlIDEwMDc1NSBiaW4vaW52b2tlCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGJp bi9pbnZva2UuY21kCisKK2RpZmYgLS1naXQgYS9iaW4vaW52b2tlIGIvYmluL2ludm9rZQorZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCBlOTgwMGU4Li4wMDAwMDAwCistLS0gYS9iaW4v aW52b2tlCisrKysgL2Rldi9udWxsCitAQCAtMSw4ICswLDAgQEAKKy0jIS9iaW4vc2gKKy0jIS9i aW4vYmFzaAorLSMgUlVOIElOVk9LRTogRnJvbSBidW5kbGVkIFpJUCBmaWxlLgorLQorLUhFUkU9 JChkaXJuYW1lICQwKQorLWV4cG9ydCBJTlZPS0VfVEFTS1NfVVNFX1ZFTkRPUl9CVU5ETEVTPSJ5 ZXMiCistCistcHl0aG9uICR7SEVSRX0vLi4vdGFza3MvX3ZlbmRvci9pbnZva2UuemlwICQqCitk aWZmIC0tZ2l0IGEvYmluL2ludm9rZS5jbWQgYi9iaW4vaW52b2tlLmNtZAorZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCA5MzAzNDMyLi4wMDAwMDAwCistLS0gYS9iaW4vaW52b2tlLmNt ZAorKysrIC9kZXYvbnVsbAorQEAgLTEsOSArMCwwIEBACistQGVjaG8gb2ZmCistUkVNIFJVTiBJ TlZPS0U6IEZyb20gYnVuZGxlZCBaSVAgZmlsZS4KKy0KKy1zZXRsb2NhbAorLXNldCBIRVJFPSV+ ZHAwCistc2V0IElOVk9LRV9UQVNLU19VU0VfVkVORE9SX0JVTkRMRVM9InllcyIKKy1pZiBub3Qg ZGVmaW5lZCBQWVRIT04gICBzZXQgUFlUSE9OPXB5dGhvbgorLQorLSVQWVRIT04lICVIRVJFJS4u L3Rhc2tzL192ZW5kb3IvaW52b2tlLnppcCAiJSoiCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA3LUZJWC1EZXByZWNhdGVk LXdhcm5pbmdzLWZvci1QeXRob24tMy54LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNy1GSVgtRGVwcmVjYXRlZC13YXJuaW5ncy1m b3ItUHl0aG9uLTMueC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LmU0Y2I1MWFjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDctRklYLURlcHJlY2F0ZWQtd2FybmluZ3MtZm9y LVB5dGhvbi0zLngucGF0Y2gKQEAgLTAsMCArMSwxMjQgQEAKK0Zyb20gM2ZiMTFlZjE5ZDIyNjVi NmUyOWZjNjkxOTEwNzliMzJjNzkyMjVkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA5 IEphbiAyMDIxIDIxOjUyOjQyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogRGVwcmVjYXRl ZCB3YXJuaW5ncyBmb3IgUHl0aG9uIDMueAorCistLS0KKyBiaW4vanNvbi5mb3JtYXQucHkgICAg ICAgICB8IDE1ICsrKysrKysrKystLS0tLQorIGJpbi9qc29uc2NoZW1hX3ZhbGlkYXRlLnB5IHwg MjMgKysrKysrKysrKysrKysrKy0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlv bnMoKyksIDEyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmluL2pzb24uZm9ybWF0LnB5 IGIvYmluL2pzb24uZm9ybWF0LnB5CitpbmRleCBiN2ViMDVmLi5iNzVkODhhIDEwMDc1NQorLS0t IGEvYmluL2pzb24uZm9ybWF0LnB5CisrKysgYi9iaW4vanNvbi5mb3JtYXQucHkKK0BAIC0xMCw4 ICsxMCw4IEBAIExJQ0VOU0U6ICBCU0QKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRl X2ltcG9ydAorIAorIF9fYXV0aG9yX18gICAgPSAiSmVucyBFbmdlbCIKKy1fX2NvcHlyaWdodF9f ID0gIihjKSAyMDExLTIwMTMgYnkgSmVucyBFbmdlbCIKKy1WRVJTSU9OID0gIjAuMi4yIgorK19f Y29weXJpZ2h0X18gPSAiKGMpIDIwMTEtMjAyMSBieSBKZW5zIEVuZ2VsIgorK1ZFUlNJT04gPSAi MC4zLjAiCisgCisgIyAtLSBJTVBPUlRTOgorIGltcG9ydCBvcy5wYXRoCitAQCAtMjksNiArMjks NyBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CisgIyBDT05TVEFOVFM6CisgIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgREVGQVVMVF9JTkRFTlRfU0laRSA9IDIKKytQWVRIT05fVkVSU0lPTiA9IHN5cy52 ZXJzaW9uX2luZm9bOjJdCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBGVU5DVElPTlM6 CitAQCAtNTgsNyArNTksMTEgQEAgZGVmIGpzb25fZm9ybWF0KGZpbGVuYW1lLCBpbmRlbnQ9REVG QVVMVF9JTkRFTlRfU0laRSwgKiprd2FyZ3MpOgorICMgICAgICAgIHJldHVybiAwCisgCisgICAg IGNvbnRlbnRzID0gb3BlbihmaWxlbmFtZSwgInIiKS5yZWFkKCkKKy0gICAgZGF0YSAgICAgID0g anNvbi5sb2Fkcyhjb250ZW50cywgZW5jb2Rpbmc9ZW5jb2RpbmcpCisrICAgIGlmIFBZVEhPTl9W RVJTSU9OID49ICgzLCAxKToKKysgICAgICAgICMgLS0gTk9URTogZW5jb2Rpbmcga2V5d29yZCBp cyBkZXByZWNhdGVkIHNpbmNlIHB5dGhvbiAzLjEKKysgICAgICAgIGRhdGEgPSBqc29uLmxvYWRz KGNvbnRlbnRzKQorKyAgICBlbHNlOgorKyAgICAgICAgZGF0YSA9IGpzb24ubG9hZHMoY29udGVu dHMsIGVuY29kaW5nPWVuY29kaW5nKQorICAgICBjb250ZW50czIgPSBqc29uLmR1bXBzKGRhdGEs IGluZGVudD1pbmRlbnQsIHNvcnRfa2V5cz1zb3J0X2tleXMpCisgICAgIGNvbnRlbnRzMiA9IGNv bnRlbnRzMi5zdHJpcCgpCisgICAgIGNvbnRlbnRzMiA9ICIlc1xuIiAlIGNvbnRlbnRzMgorQEAg LTY5LDcgKzc0LDcgQEAgZGVmIGpzb25fZm9ybWF0KGZpbGVuYW1lLCBpbmRlbnQ9REVGQVVMVF9J TkRFTlRfU0laRSwgKiprd2FyZ3MpOgorICAgICAgICAgb3V0ZmlsZSA9IG9wZW4oZmlsZW5hbWUs ICJ3IikKKyAgICAgICAgIG91dGZpbGUud3JpdGUoY29udGVudHMyKQorICAgICAgICAgb3V0Zmls ZS5jbG9zZSgpCistICAgICAgICBjb25zb2xlLndhcm4oIiVzIE9LIiwgbWVzc2FnZSkKKysgICAg ICAgIGNvbnNvbGUud2FybmluZygiJXMgT0siLCBtZXNzYWdlKQorICAgICAgICAgcmV0dXJuIDEg IzwgT0sKKyAKKyBkZWYganNvbl9mb3JtYXRhbGwoZmlsZW5hbWVzLCBpbmRlbnQ9REVGQVVMVF9J TkRFTlRfU0laRSwgZHJ5X3J1bj1GYWxzZSk6CitAQCAtMTQzLDcgKzE0OCw3IEBAIEZvcm1hdC9C ZWF1dGlmeSBvbmUgb3IgbW9yZSBKU09OIGZpbGUocykuIiIiCisgICAgICAgICAgICAgICAgIGNv bnNvbGUuaW5mbygiU0tJUCAlcywgbm8gSlNPTiBmaWxlcyBmb3VuZCBpbiBkaXIuIiwgZmlsZW5h bWUpCisgICAgICAgICAgICAgICAgIHNraXBwZWQgKz0gMQorICAgICAgICAgZWxpZiBub3Qgb3Mu cGF0aC5leGlzdHMoZmlsZW5hbWUpOgorLSAgICAgICAgICAgIGNvbnNvbGUud2FybigiU0tJUCAl cywgZmlsZSBub3QgZm91bmQuIiwgZmlsZW5hbWUpCisrICAgICAgICAgICAgY29uc29sZS53YXJu aW5nKCJTS0lQICVzLCBmaWxlIG5vdCBmb3VuZC4iLCBmaWxlbmFtZSkKKyAgICAgICAgICAgICBz a2lwcGVkICs9IDEKKyAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgZWxzZToKK2RpZmYg LS1naXQgYS9iaW4vanNvbnNjaGVtYV92YWxpZGF0ZS5weSBiL2Jpbi9qc29uc2NoZW1hX3ZhbGlk YXRlLnB5CitpbmRleCBkYjJlZGIxLi5mZTc1OTZlIDEwMDc1NQorLS0tIGEvYmluL2pzb25zY2hl bWFfdmFsaWRhdGUucHkKKysrKyBiL2Jpbi9qc29uc2NoZW1hX3ZhbGlkYXRlLnB5CitAQCAtMTgs MTEgKzE4LDExIEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmlu dF9mdW5jdGlvbgorIF9fYXV0aG9yX18gID0gIkplbnMgRW5nZWwiCisgX192ZXJzaW9uX18gPSAi MC4xLjAiCisgCistZnJvbSBqc29uc2NoZW1hIGltcG9ydCB2YWxpZGF0ZQorIGltcG9ydCBhcmdw YXJzZQorIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0IHN5cworIGltcG9ydCB0ZXh0d3JhcAorK2Zy b20ganNvbnNjaGVtYSBpbXBvcnQgdmFsaWRhdGUKKyB0cnk6CisgICAgIGltcG9ydCBqc29uCisg ZXhjZXB0IEltcG9ydEVycm9yOgorQEAgLTM4LDE2ICszOCwyOCBAQCBleGNlcHQgSW1wb3J0RXJy b3I6CisgSEVSRSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKyBUT1AgID0gb3MucGF0aC5u b3JtcGF0aChvcy5wYXRoLmpvaW4oSEVSRSwgIi4uIikpCisgU0NIRU1BID0gb3MucGF0aC5qb2lu KFRPUCwgImV0YyIsICJqc29uIiwgImJlaGF2ZS5qc29uLXNjaGVtYSIpCisrUFlUSE9OX1ZFUlNJ T04gPSBzeXMudmVyc2lvbl9pbmZvWzoyXQorIAorIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAjIEZVTkNUSU9OUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistZGVmIGpzb25zY2hlbWFf dmFsaWRhdGUoZmlsZW5hbWUsIHNjaGVtYSwgZW5jb2Rpbmc9Tm9uZSk6CisrZGVmIGpzb25fbG9h ZHModGV4dCwgZW5jb2Rpbmc9Tm9uZSk6CisrICAgIGt3YXJncyA9IHt9CisrICAgIGlmIGVuY29k aW5nIGFuZCBQWVRIT05fVkVSU0lPTiA8ICgzLCAxKToKKysgICAgICAgICMgLS0gTk9URTogZW5j b2Rpbmcga2V5d29yZCBpcyBkZXByZWNhdGVkIHNpbmNlIHB5dGhvbiAzLjEKKysgICAgICAgIGt3 YXJnc1siZW5jb2RpbmciXSA9IGVuY29kaW5nCisrICAgIHJldHVybiBqc29uLmxvYWRzKHRleHQs ICoqa3dhcmdzKQorKworK2RlZiBqc29uX2xvYWQoZmlsZW5hbWUsIGVuY29kaW5nPU5vbmUpOgor ICAgICBmID0gb3BlbihmaWxlbmFtZSwgInIiKQorICAgICBjb250ZW50cyA9IGYucmVhZCgpCisg ICAgIGYuY2xvc2UoKQorLSAgICBkYXRhID0ganNvbi5sb2Fkcyhjb250ZW50cywgZW5jb2Rpbmc9 ZW5jb2RpbmcpCisrICAgIGRhdGEgPSBqc29uX2xvYWRzKGNvbnRlbnRzLCBlbmNvZGluZz1lbmNv ZGluZykKKysgICAgcmV0dXJuIGRhdGEKKysKKytkZWYganNvbnNjaGVtYV92YWxpZGF0ZShmaWxl bmFtZSwgc2NoZW1hLCBlbmNvZGluZz1Ob25lKToKKysgICAgZGF0YSA9IGpzb25fbG9hZChmaWxl bmFtZSwgZW5jb2Rpbmc9ZW5jb2RpbmcpCisgICAgIHJldHVybiB2YWxpZGF0ZShkYXRhLCBzY2hl bWEpCisgCisgCitAQCAtODksMTAgKzEwMSw3IEBAIGRlZiBtYWluKGFyZ3M9Tm9uZSk6CisgICAg ICAgICBwYXJzZXIuZXJyb3IoIlNDSEVNQSBub3QgZm91bmQ6ICVzIiAlIG9wdGlvbnMuc2NoZW1h KQorIAorICAgICB0cnk6CistICAgICAgICBmID0gb3BlbihvcHRpb25zLnNjaGVtYSwgInIiKQor LSAgICAgICAgY29udGVudHMgPSBmLnJlYWQoKQorLSAgICAgICAgZi5jbG9zZSgpCistICAgICAg ICBzY2hlbWEgPSBqc29uLmxvYWRzKGNvbnRlbnRzLCBlbmNvZGluZz1vcHRpb25zLmVuY29kaW5n KQorKyAgICAgICAgc2NoZW1hID0ganNvbl9sb2FkKG9wdGlvbnMuc2NoZW1hLCBlbmNvZGluZz1v cHRpb25zLmVuY29kaW5nKQorICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICBt c2cgPSAiRVJST1I6ICVzOiAlcyAod2hpbGUgbG9hZGluZyBzY2hlbWEpIiAlIChlLl9fY2xhc3Nf Xy5fX25hbWVfXywgZSkKKyAgICAgICAgIHN5cy5leGl0KG1zZykKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDgtRklYLVB5 dGhvbjItcHJvYmxlbXMtaW4tdmlydHVhbGVudnMtdy1iZWhhdmU0Y21kMC1zdC5wYXRjaCBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDgtRklY LVB5dGhvbjItcHJvYmxlbXMtaW4tdmlydHVhbGVudnMtdy1iZWhhdmU0Y21kMC1zdC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjYxNWQxMGJkNgotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAxMDgtRklYLVB5dGhvbjItcHJvYmxlbXMtaW4tdmlydHVhbGVudnMtdy1iZWhhdmU0Y21k MC1zdC5wYXRjaApAQCAtMCwwICsxLDE4IEBACitGcm9tIDk2MWU0ZjkzMjU5YTBjMTE3NmE1M2Ez NGQ4ZThkZTU5MmMwM2RiNTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lz IDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgOSBKYW4gMjAy MSAyMTo1MzozMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IFB5dGhvbjIgcHJvYmxlbXMg aW4gdmlydHVhbGVudnMgdy8gYmVoYXZlNGNtZDAgc3RlcHMuCisKKy0tLQorIGJpbi9iZWhhdmUg fCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2Jp bi9iZWhhdmUgYi9iaW4vYmVoYXZlCitpbmRleCA5ZWJiNTg0Li4wZjM3ZGVjIDEwMDc1NQorLS0t IGEvYmluL2JlaGF2ZQorKysrIGIvYmluL2JlaGF2ZQorQEAgLTEsMyArMSw0IEBACisrIyEvdXNy L2Jpbi9lbnYgcHl0aG9uCisgIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworICMgLSotIGNvZGluZzog dXRmLTggLSotCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMTA5LUZJWC1BY3RpdmUtdGFnLWxvZ2ljLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwOS1GSVgt QWN0aXZlLXRhZy1sb2dpYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLmQ0NWFiYTNkNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDktRklYLUFjdGl2ZS10YWctbG9naWMucGF0 Y2gKQEAgLTAsMCArMSw4NzUgQEAKK0Zyb20gMmMzOGE4Nzg3NDA5ZGRiNTBmZjllZTkzMDA2ZDVl MzBhNDAxMTBkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAyMDIxIDIyOjA0 OjE4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogQWN0aXZlLXRhZyBsb2dpYworCitGaXgg YWN0aXZlLXRhZyBjb21wdXRhdGlvbiBsb2dpYyBpZiBtdWx0aXBsZSBhY3RpdmUtdGFncyBleGlz dAordGhhdCB1c2UgdGhlIHNhbWUgY2F0ZWdvcnkuIEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UK K3Bvc2l0aXZlICh1c2Uud2l0aF94eHgpIGFuZCBuZWdhdGl2ZSAobm90LndpdGhfeHh4KSB0YWdz CitvbiB0aGUgc2FtZSBtb2RlbCBlbGVtZW50IChGZWF0dXJlLCBTY2VuYXJpbywgLi4uKS4KKy0t LQorIGJlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJhaW50LnB5ICAgICB8ICAxMiArLQorIGJlaGF2 ZS90YWdfbWF0Y2hlci5weSAgICAgICAgICAgICAgICB8ICA4MiArKysrLQorIGZlYXR1cmVzL3Rh Z3MuYWN0aXZlX3RhZ3MuZmVhdHVyZSAgICB8ICAyMiArLQorIHRlc3RzL2Z1bmN0aW9uYWwvdGVz dF9hY3RpdmVfdGFncy5weSB8IDUyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysKKyB0ZXN0 cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkgICAgICAgfCAgNDUgKy0tCisgNSBmaWxlcyBjaGFu Z2VkLCA2MjQgaW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAw NjQ0IHRlc3RzL2Z1bmN0aW9uYWwvdGVzdF9hY3RpdmVfdGFncy5weQorCitkaWZmIC0tZ2l0IGEv YmVoYXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQucHkgYi9iZWhhdmUvYXBpL3J1bnRpbWVfY29u c3RyYWludC5weQoraW5kZXggMzEwZTUyOS4uZTVhMzZhMCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9h cGkvcnVudGltZV9jb25zdHJhaW50LnB5CisrKysgYi9iZWhhdmUvYXBpL3J1bnRpbWVfY29uc3Ry YWludC5weQorQEAgLTcsNiArNyw4IEBAIFNpbXBsaWZpZXMgdG8gc3BlY2lmeSBydW50aW1lIGNv bnN0cmFpbnRzIGluCisgIiIiCisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9p bXBvcnQKKytpbXBvcnQgc2l4CisraW1wb3J0IHN5cworIGZyb20gYmVoYXZlLmV4Y2VwdGlvbiBp bXBvcnQgQ29uc3RyYWludEVycm9yCisgCisgCitAQCAtMTksMTEgKzIxLDEwIEBAIGRlZiByZXF1 aXJlX21pbl9weXRob25fdmVyc2lvbihtaW5pbWFsX3ZlcnNpb24pOgorICAgICA6cGFyYW0gbWlu aW1hbF92ZXJzaW9uOiBNaW5pbXVtIHZlcnNpb24gKGFzIHN0cmluZywgdHVwbGUpCisgICAgIDpy YWlzZXM6IGJlaGF2ZS5leGNlcHRpb24uQ29uc3RyYWludEVycm9yCisgICAgICIiIgorLSAgICBp bXBvcnQgc2l4CistICAgIGltcG9ydCBzeXMKKyAgICAgcHl0aG9uX3ZlcnNpb24gPSBzeXMudmVy c2lvbl9pbmZvCisgICAgIGlmIGlzaW5zdGFuY2UobWluaW1hbF92ZXJzaW9uLCBzaXguc3RyaW5n X3R5cGVzKToKKy0gICAgICAgIHB5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9u X2luZm9bOjJdCisrICAgICAgICBweXRob25fdmVyc2lvbiA9IGZsb2F0KCIlcy4lcyIgJSBzeXMu dmVyc2lvbl9pbmZvWzoyXSkKKysgICAgICAgIG1pbmltYWxfdmVyc2lvbiA9IGZsb2F0KG1pbmlt YWxfdmVyc2lvbikKKyAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShtaW5pbWFsX3ZlcnNpb24sIHR1 cGxlKToKKyAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigic3RyaW5nIG9yIHR1cGxlICh3YXM6ICVz KSIgJSB0eXBlKG1pbmltYWxfdmVyc2lvbikpCisgCitAQCAtNDAsNiArNDEsOSBAQCBkZWYgcmVx dWlyZV9taW5fYmVoYXZlX3ZlcnNpb24obWluaW1hbF92ZXJzaW9uKToKKyAgICAgIiIiCisgICAg ICMgLS0gU0lNUExJU1RJQyBJTVBMRU1FTlRBVElPTjoKKyAgICAgZnJvbSBiZWhhdmUudmVyc2lv biBpbXBvcnQgVkVSU0lPTiBhcyBiZWhhdmVfdmVyc2lvbgorLSAgICBpZiBiZWhhdmVfdmVyc2lv biA8IG1pbmltYWxfdmVyc2lvbjoKKysgICAgYmVoYXZlX3ZlcnNpb24yID0gYmVoYXZlX3ZlcnNp b24uc3BsaXQoIi4iKQorKyAgICBtaW5pbWFsX3ZlcnNpb24yID0gbWluaW1hbF92ZXJzaW9uLnNw bGl0KCIuIikKKysgICAgaWYgYmVoYXZlX3ZlcnNpb24yIDwgbWluaW1hbF92ZXJzaW9uMjoKKysg ICAgICAgICMgLS0gVVNFOiBUdXBsZSBjb21wYXJpc29uIGFzIHZlcnNpb24gY29tcGFyaXNvbi4K KyAgICAgICAgIHJhaXNlIENvbnN0cmFpbnRFcnJvcigiYmVoYXZlID49ICVzIGV4cGVjdGVkICh3 YXM6ICVzKSIgJSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1pbmltYWxfdmVy c2lvbiwgYmVoYXZlX3ZlcnNpb24pKQorZGlmZiAtLWdpdCBhL2JlaGF2ZS90YWdfbWF0Y2hlci5w eSBiL2JlaGF2ZS90YWdfbWF0Y2hlci5weQoraW5kZXggNWY5ZGNlMC4uZTJiMWU4MiAxMDA2NDQK Ky0tLSBhL2JlaGF2ZS90YWdfbWF0Y2hlci5weQorKysrIGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5 CitAQCAtMSw3ICsxLDcgQEAKKyAjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorICIiIgorLUNvbnRh aW5zIGNsYXNzZXMgYW5kIGZ1bmN0aW9uYWxpdHkgdG8gcHJvdmlkZSBhIHNraXAtaWYgbG9naWMg YmFzZWQgb24gdGFncworLWluIGZlYXR1cmUgZmlsZXMuCisrQ29udGFpbnMgY2xhc3NlcyBhbmQg ZnVuY3Rpb25hbGl0eSB0byBwcm92aWRlIHRoZSBhY3RpdmUtdGFnIG1lY2hhbmlzbS4KKytBY3Rp dmUtdGFncyBwcm92aWRlIGEgc2tpcC1pZiBsb2dpYyBiYXNlZCBvbiB0YWdzIGluIGZlYXR1cmUg ZmlsZXMuCisgIiIiCisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQK K0BAIC0xMCw2ICsxMCwxMSBAQCBpbXBvcnQgb3BlcmF0b3IKKyBpbXBvcnQgc2l4CisgCisgCisr ZGVmIGJvb2xfdG9fc3RyaW5nKHZhbHVlKToKKysgICAgIiIiQ29udmVydHMgYSBCb29sZWFuIHZh bHVlIGludG8gaXRzIG5vcm1hbGl6ZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uLiIiIgorKyAgICBy ZXR1cm4gc3RyKGJvb2wodmFsdWUpKS5sb3dlcigpCisrCisrCisgY2xhc3MgVGFnTWF0Y2hlcihv YmplY3QpOgorICAgICAiIiJBYnN0cmFjdCBiYXNlIGNsYXNzIHRoYXQgZGVmaW5lcyB0aGUgVGFn TWF0Y2hlciBwcm90b2NvbC4iIiIKKyAKK0BAIC0zNiwxMiArNDEsMTMgQEAgY2xhc3MgVGFnTWF0 Y2hlcihvYmplY3QpOgorIGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisgICAg ICIiIlByb3ZpZGVzIGFuIGFjdGl2ZSB0YWcgbWF0Y2hlciBmb3IgbWFueSBjYXRlZ29yaWVzLgor IAorLSAgICBUQUcgU0NIRU1BOgorKyAgICBUQUcgU0NIRU1BIDEgKHByZWZlcnJlZCk6CisgICAg ICAgKiB1c2Uud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKyAgICAgICAqIG5vdC53aXRoX3tjYXRl Z29yeX09e3ZhbHVlfQorKworKyAgICBUQUcgU0NIRU1BIDI6CisgICAgICAgKiBhY3RpdmUud2l0 aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKyAgICAgICAqIG5vdF9hY3RpdmUud2l0aF97Y2F0ZWdvcnl9 PXt2YWx1ZX0KKy0gICAgICAqIG9ubHkud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0gICAgICAgIChO T1RFOiBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSkKKyAKKyAgICAgVEFHIExPR0lDCisgICAg IC0tLS0tLS0tLS0KK0BAIC01Miw3ICs1OCw3IEBAIGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFn TWF0Y2hlcik6CisgICAgICAgICBhY3RpdmVfZ3JvdXAuZW5hYmxlZCA6PSBlbmFibGVkKGdyb3Vw LnRhZzEpIG9yIGVuYWJsZWQoZ3JvdXAudGFnMikgb3IgLi4uCisgICAgICAgICBhY3RpdmVfdGFn cy5lbmFibGVkICA6PSBlbmFibGVkKGdyb3VwMSkgYW5kIGVuYWJsZWQoZ3JvdXAyKSBhbmQgLi4u CisgCistICAgIEFsbCBhY3RpdmUtdGFnIGdyb3VwcyBtdXN0IGJlIHR1cm5lZCAib24iLgorKyAg ICBBbGwgYWN0aXZlLXRhZyBncm91cHMgbXVzdCBiZSB0dXJuZWQgIm9uIiAoZW5hYmxlZCkuCisg ICAgIE90aGVyd2lzZSwgdGhlIG1vZGVsIGVsZW1lbnQgc2hvdWxkIGJlIGV4Y2x1ZGVkLgorIAor ICAgICBDT05DRVBUOiBWYWx1ZVByb3ZpZGVyCitAQCAtODEsMTIgKzg3LDEyIEBAIGNsYXNzIEFj dGl2ZVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisgICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVz L2FsaWNlLmZlYXR1cmUKKyAgICAgICAgIEZlYXR1cmU6CisgCistICAgICAgICAgIEBhY3RpdmUu d2l0aF9vcz13aW4zMgorKyAgICAgICAgICBAdXNlLndpdGhfb3M9d2luMzIKKyAgICAgICAgICAg U2NlbmFyaW86IEFsaWNlIChSdW4gb25seSBvbiBXaW5kb3dzKQorICAgICAgICAgICAgIEdpdmVu IEkgZG8gc29tZXRoaW5nCisgICAgICAgICAgICAgLi4uCisgCistICAgICAgICAgIEBub3RfYWN0 aXZlLndpdGhfYnJvd3Nlcj1jaHJvbWUKKysgICAgICAgICAgQG5vdC53aXRoX2Jyb3dzZXI9Y2hy b21lCisgICAgICAgICAgIFNjZW5hcmlvOiBCb2IgKEV4Y2x1ZGVkIHdpdGggV2ViLUJyb3dzZXIg Q2hyb21lKQorICAgICAgICAgICAgIEdpdmVuIEkgZG8gc29tZXRoaW5nIGVsc2UKKyAgICAgICAg ICAgICAuLi4KK0BAIC0xMTYsNyArMTIyLDcgQEAgY2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdN YXRjaGVyKToKKyAgICAgICAgICAgICAgICAgc2NlbmFyaW8uc2tpcChleGNsdWRlX3JlYXNvbikg ICAjPCBMQVRFLUVYQ0xVREUgZnJvbSBydW4tc2V0LgorICAgICAiIiIKKyAgICAgdmFsdWVfc2Vw YXJhdG9yID0gIj0iCistICAgIHRhZ19wcmVmaXhlcyA9IFsiYWN0aXZlIiwgIm5vdF9hY3RpdmUi LCAidXNlIiwgIm5vdCIsICJvbmx5Il0KKysgICAgdGFnX3ByZWZpeGVzID0gWyJ1c2UiLCAibm90 IiwgImFjdGl2ZSIsICJub3RfYWN0aXZlIiwgIm9ubHkiXQorICAgICB0YWdfc2NoZW1hID0gciJe KD9QPHByZWZpeD4lcylcLndpdGhfKD9QPGNhdGVnb3J5Plx3KyhcLlx3KykqKSVzKD9QPHZhbHVl Pi4qKSQiCisgICAgIGlnbm9yZV91bmtub3duX2NhdGVnb3JpZXMgPSBUcnVlCisgICAgIHVzZV9l eGNsdWRlX3JlYXNvbiA9IEZhbHNlCitAQCAtMTYzLDIxICsxNjksNDkgQEAgY2xhc3MgQWN0aXZl VGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAKKyAgICAgZGVmIGlzX3RhZ19ncm91cF9lbmFibGVk KHNlbGYsIGdyb3VwX2NhdGVnb3J5LCBncm91cF90YWdfcGFpcnMpOgorICAgICAgICAgIiIiUHJv dmlkZXMgYm9vbGVhbiBsb2dpYyB0byBkZXRlcm1pbmUgaWYgYWxsIGFjdGl2ZS10YWdzCistICAg ICAgICB3aGljaCB1c2UgdGhlIHNhbWUgY2F0ZWdvcnkgcmVzdWx0IGluIGEgZW5hYmxlZCB2YWx1 ZS4KKy0KKy0gICAgICAgIFVzZSBMT0dJQ0FMLU9SIGV4cHJlc3Npb24gZm9yIGFjdGl2ZS10YWdz IHdpdGggc2FtZSBjYXRlZ29yeTo6CistCistICAgICAgICAgICAgY2F0ZWdvcnlfdGFnX2dyb3Vw LmVuYWJsZWQgOj0gZW5hYmxlZCh0YWcxKSBvciBlbmFibGVkKHRhZzIpIG9yIC4uLgorKyAgICAg ICAgd2hpY2ggdXNlIHRoZSBzYW1lIGNhdGVnb3J5IHJlc3VsdCBpbiBhbiBlbmFibGVkIHZhbHVl LgorIAorICAgICAgICAgLi4gY29kZS1ibG9jazo6IGdoZXJraW4KKyAKKyAgICAgICAgICAgICBA dXNlLndpdGhfeHh4PWFsaWNlCisgICAgICAgICAgICAgQHVzZS53aXRoX3h4eD1ib2IKKyAgICAg ICAgICAgICBAbm90LndpdGhfeHh4PWNoYXJseQorKyAgICAgICAgICAgIEBub3Qud2l0aF94eHg9 ZG9ybworICAgICAgICAgICAgIFNjZW5hcmlvOgorICAgICAgICAgICAgICAgICBHaXZlbiBhIHN0 ZXAgcGFzc2VzCisgICAgICAgICAgICAgICAgIC4uLgorIAorKyAgICAgICAgVXNlIExPR0lDQUwg ZXhwcmVzc2lvbiBmb3IgYWN0aXZlLXRhZ3Mgd2l0aCBzYW1lIGNhdGVnb3J5OjoKKysKKysgICAg ICAgICAgICBjYXRlZ29yeV90YWdfZ3JvdXAuZW5hYmxlZCA6PSBwb3NpdGl2ZS10YWctZXhwcmVz c2lvbiBhbmQgbm90IG5lZ2F0aXZlLXRhZy1leHByZXNzaW9uCisrICAgICAgICAgICAgICBwb3Np dGl2ZS10YWctZXhwcmVzc2lvbiAgOj0gZW5hYmxlZCh0YWcxKSBvciBlbmFibGVkKHRhZzIpIG9y IC4uLgorKyAgICAgICAgICAgICAgbmVnYXRpdmUtdGFnLWV4cHJlc3Npb24gIDo9IGVuYWJsZWQo dGFnMykgb3IgZW5hYmxlZCh0YWc0KSBvciAuLi4KKysgICAgICAgICAgICAgICB0YWcxLCB0YWcy IGFyZSBwb3NpdGl2ZS10YWdzLCBsaWtlIEB1c2Uud2l0aF9jYXRlZ29yeT12YWx1ZQorKyAgICAg ICAgICAgICAgIHRhZzMsIHRhZzQgYXJlIG5lZ2F0aXZlLXRhZ3MsIGxpa2UgQG5vdC53aXRoX2Nh dGVnb3J5PXZhbHVlCisrCisrICAgICAgICAgICAgIHh4eCAgIHwgT25seSB1c2UgcGFydHM6ICh4 eHggPT0gImFsaWNlIikgb3IgKHh4eCA9PSAiYm9iIikKKysgICAgICAgICAgICAtLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0KKysgICAgICAgICAgICBhbGljZSAgfCB0cnVlCisrICAgICAgICAg ICAgYm9iICAgIHwgdHJ1ZQorKyAgICAgICAgICAgIG90aGVyICB8IGZhbHNlCisrCisrICAgICAg ICAgICAgIHh4eCAgIHwgT25seSBub3QgcGFydHM6CisrICAgICAgICAgICAgICAgICAgIHwgKG5v dCB4eHggPT0gImNoYXJseSIpIGFuZCAobm90IHh4eCA9PSAiZG9ybyIpCisrICAgICAgICAgICAg ICAgICAgIHwgPSBub3QoKHh4eCA9PSAiY2hhcmx5Iikgb3IgKHh4eCA9PSAiZG9ybyIpKQorKyAg ICAgICAgICAgIC0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorKyAgICAgICAgICAgIGNoYXJs eSB8IGZhbHNlCisrICAgICAgICAgICAgZG9ybyAgIHwgZmFsc2UKKysgICAgICAgICAgICBvdGhl ciAgfCB0cnVlCisrCisrICAgICAgICAgICAgIHh4eCAgIHwgVXNlIGFuZCBub3QgcGFydHM6Cisr ICAgICAgICAgICAgICAgICAgIHwgKCh4eHggPT0gImFsaWNlIikgb3IgKHh4eCA9PSAiYm9iIikp IGFuZCBub3QoKHh4eCA9PSAiY2hhcmx5Iikgb3IgKHh4eCA9PSAiZG9ybyIpKQorKyAgICAgICAg ICAgIC0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorKyAgICAgICAgICAgIGFsaWNlICB8IHRy dWUKKysgICAgICAgICAgICBib2IgICAgfCB0cnVlCisrICAgICAgICAgICAgY2hhcmx5IHwgZmFs c2UKKysgICAgICAgICAgICBkb3JvICAgfCBmYWxzZQorKyAgICAgICAgICAgIG90aGVyICB8IGZh bHNlCisrCisgICAgICAgICA6cGFyYW0gZ3JvdXBfY2F0ZWdvcnk6ICAgICAgQ2F0ZWdvcnkgZm9y IHRoaXMgdGFnLWdyb3VwIChhcyBzdHJpbmcpLgorICAgICAgICAgOnBhcmFtIGNhdGVnb3J5X3Rh Z19ncm91cDogIExpc3Qgb2YgYWN0aXZlLXRhZyBtYXRjaC1wYWlycy4KKyAgICAgICAgIDpyZXR1 cm46IFRydWUsIGlmIHRhZy1ncm91cCBpcyBlbmFibGVkLgorQEAgLTE5MSwyMCArMjI1LDI4IEBA IGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisgICAgICAgICAgICAgIyAtLSBD QVNFOiBVbmtub3duIGNhdGVnb3J5LCBpZ25vcmUgaXQuCisgICAgICAgICAgICAgcmV0dXJuIFRy dWUKKyAKKy0gICAgICAgIHRhZ3NfZW5hYmxlZCA9IFtdCisrICAgICAgICBwb3NpdGl2ZV90YWdz X21hdGNoZWQgPSBbXQorKyAgICAgICAgbmVnYXRpdmVfdGFnc19tYXRjaGVkID0gW10KKyAgICAg ICAgIGZvciBjYXRlZ29yeV90YWcsIHRhZ19tYXRjaCBpbiBncm91cF90YWdfcGFpcnM6CisgICAg ICAgICAgICAgdGFnX3ByZWZpeCA9IHRhZ19tYXRjaC5ncm91cCgicHJlZml4IikKKyAgICAgICAg ICAgICBjYXRlZ29yeSA9IHRhZ19tYXRjaC5ncm91cCgiY2F0ZWdvcnkiKQorICAgICAgICAgICAg IHRhZ192YWx1ZSA9IHRhZ19tYXRjaC5ncm91cCgidmFsdWUiKQorICAgICAgICAgICAgIGFzc2Vy dCBjYXRlZ29yeSA9PSBncm91cF9jYXRlZ29yeQorIAorLSAgICAgICAgICAgIGlzX2NhdGVnb3J5 X3RhZ19zd2l0Y2hlZF9vbiA9IG9wZXJhdG9yLmVxICAgICAgICMgZXF1YWxfdG8KKyAgICAgICAg ICAgICBpZiBzZWxmLmlzX3RhZ19uZWdhdGVkKHRhZ19wcmVmaXgpOgorLSAgICAgICAgICAgICAg ICBpc19jYXRlZ29yeV90YWdfc3dpdGNoZWRfb24gPSBvcGVyYXRvci5uZSAgICMgbm90X2VxdWFs X3RvCistCistICAgICAgICAgICAgdGFnX2VuYWJsZWQgPSBpc19jYXRlZ29yeV90YWdfc3dpdGNo ZWRfb24odGFnX3ZhbHVlLCBjdXJyZW50X3ZhbHVlKQorLSAgICAgICAgICAgIHRhZ3NfZW5hYmxl ZC5hcHBlbmQodGFnX2VuYWJsZWQpCistICAgICAgICByZXR1cm4gYW55KHRhZ3NfZW5hYmxlZCkg ICAgIyAtLSBQUk9WSURFUzogTE9HSUNBTC1PUiBleHByZXNzaW9uCisrICAgICAgICAgICAgICAg ICMgLS0gQ0FTRTogQG5vdC53aXRoX0NBVEVHT1JZPVZBTFVFCisrICAgICAgICAgICAgICAgIHRh Z19tYXRjaGVkID0gKHRhZ192YWx1ZSA9PSBjdXJyZW50X3ZhbHVlKQorKyAgICAgICAgICAgICAg ICBuZWdhdGl2ZV90YWdzX21hdGNoZWQuYXBwZW5kKHRhZ19tYXRjaGVkKQorKyAgICAgICAgICAg IGVsc2U6CisrICAgICAgICAgICAgICAgICMgLS0gQ0FTRTogQHVzZS53aXRoX0NBVEVHT1JZPVZB TFVFCisrICAgICAgICAgICAgICAgIHRhZ19tYXRjaGVkID0gKHRhZ192YWx1ZSA9PSBjdXJyZW50 X3ZhbHVlKQorKyAgICAgICAgICAgICAgICBwb3NpdGl2ZV90YWdzX21hdGNoZWQuYXBwZW5kKHRh Z19tYXRjaGVkKQorKyAgICAgICAgdGFnX2V4cHJlc3Npb24xID0gYW55KHBvc2l0aXZlX3RhZ3Nf bWF0Y2hlZCkgICAgIzwgTE9HSUNBTC1PUiBleHByZXNzaW9uCisrICAgICAgICB0YWdfZXhwcmVz c2lvbjIgPSBhbnkobmVnYXRpdmVfdGFnc19tYXRjaGVkKSAgICAjPCBMT0dJQ0FMLU9SIGV4cHJl c3Npb24KKysgICAgICAgIGlmIG5vdCBwb3NpdGl2ZV90YWdzX21hdGNoZWQ6CisrICAgICAgICAg ICAgdGFnX2V4cHJlc3Npb24xID0gVHJ1ZQorKyAgICAgICAgdGFnX2dyb3VwX2VuYWJsZWQgPSBi b29sKHRhZ19leHByZXNzaW9uMSBhbmQgbm90IHRhZ19leHByZXNzaW9uMikKKysgICAgICAgIHJl dHVybiB0YWdfZ3JvdXBfZW5hYmxlZAorIAorICAgICBkZWYgc2hvdWxkX2V4Y2x1ZGVfd2l0aChz ZWxmLCB0YWdzKToKKyAgICAgICAgIGdyb3VwX2NhdGVnb3JpZXMgPSBzZWxmLmdyb3VwX2FjdGl2 ZV90YWdzX2J5X2NhdGVnb3J5KHRhZ3MpCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvdGFncy5hY3Rp dmVfdGFncy5mZWF0dXJlIGIvZmVhdHVyZXMvdGFncy5hY3RpdmVfdGFncy5mZWF0dXJlCitpbmRl eCA0YWI1NWMyLi42YWRjYjYwIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvdGFncy5hY3RpdmVfdGFn cy5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy90YWdzLmFjdGl2ZV90YWdzLmZlYXR1cmUKK0BAIC0y NDAsOSArMjQwLDI1IEBAIEZlYXR1cmU6IEFjdGl2ZSBUYWdzCisgICAgICAgICB8IHRhZ3MgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZW5hYmxlZD8gfCBDb21tZW50IHwK KyAgICAgICAgIHwgQHVzZS53aXRoX2Zvbz14eHggICBAdXNlLndpdGhfZm9vPW90aGVyICAgfCAg eWVzICAgICB8IEVuYWJsZWQ6IHRhZzEgfAorICAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAg IEBub3Qud2l0aF9mb289b3RoZXIgICB8ICB5ZXMgICAgIHwgRW5hYmxlZDogdGFnMSwgdGFnMnwK Ky0gICAgICAgIHwgQHVzZS53aXRoX2Zvbz14eHggICBAbm90LndpdGhfZm9vPXh4eCAgICAgfCAg eWVzICAgICB8IEVuYWJsZWQ6IHRhZzEgKEJBRC1TUEVDKSB8CistICAgICAgICB8IEB1c2Uud2l0 aF9mb289b3RoZXIgQG5vdC53aXRoX2Zvbz14eHggICAgIHwgIG5vICAgICAgfCBFbmFibGVkOiBu b25lIHwKKy0gICAgICAgIHwgQG5vdC53aXRoX2Zvbz1vdGhlciBAbm90LndpdGhfZm9vPXh4eCAg ICAgfCAgeWVzICAgICB8IEVuYWJsZWQ6IHRhZzEgfAorKyAgICAgICAgfCBAdXNlLndpdGhfZm9v PW90aGVyIEBub3Qud2l0aF9mb289eHh4ICAgICB8ICBubyAgICAgIHwgRGlzYWJsZWQ6IG5vbmUg fAorKyAgICAgICAgfCBAbm90LndpdGhfZm9vPW90aGVyIEBub3Qud2l0aF9mb289eHh4ICAgICB8 ICBubyAgICAgIHwgRGlzYWJsZWQ6IHRhZzEgfAorKyAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4 eCAgIEBub3Qud2l0aF9mb289eHh4ICAgICB8ICBubyAgICAgIHwgRGlzYWJsZWQ6IHRhZzEgKEJB RC1TUEVDLCBDT05GTElDVFMpIHwKKysKKysKKysgIFNjZW5hcmlvOiBUYWcgbG9naWMgd2l0aCB0 aHJlZSBhY3RpdmUgdGFncyBvZiBzYW1lIGNhdGVnb3J5CisrICAgICAgR2l2ZW4gSSBzZXR1cCB0 aGUgY3VycmVudCB2YWx1ZXMgZm9yIGFjdGl2ZSB0YWdzIHdpdGg6CisrICAgICAgICB8IGNhdGVn b3J5IHwgdmFsdWUgfAorKyAgICAgICAgfCBmb28gICAgICB8IHh4eCAgIHwKKysgICAgICBUaGVu IHRoZSBmb2xsb3dpbmcgYWN0aXZlIHRhZyBjb21iaW5hdGlvbnMgYXJlIGVuYWJsZWQ6CisrICAg ICAgICB8IHRhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgZW5hYmxlZD8gfCBDb21tZW50IHwKKysgICAgICAgIHwgQHVzZS53aXRoX2Zv bz14eHggIEB1c2Uud2l0aF9mb289b3RoZXIgQHVzZS53aXRoX2Zvbz1vdGhlcjJ8ICB5ZXMgICAg IHwgRW5hYmxlZDogdGFnMSAgfAorKyAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAgQHVzZS53 aXRoX2Zvbz1vdGhlciBAbm90LndpdGhfZm9vPW90aGVyMnwgIHllcyAgICAgfCBFbmFibGVkOiB0 YWcxICB8CisrICAgICAgICB8IEB1c2Uud2l0aF9mb289eHh4ICBAbm90LndpdGhfZm9vPW90aGVy IEB1c2Uud2l0aF9mb289b3RoZXIyfCAgeWVzICAgICB8IEVuYWJsZWQ6IHRhZzEgIHwKKysgICAg ICAgIHwgQHVzZS53aXRoX2Zvbz14eHggIEBub3Qud2l0aF9mb289b3RoZXIgQG5vdC53aXRoX2Zv bz1vdGhlcjJ8ICB5ZXMgICAgIHwgRW5hYmxlZDogdGFnMSAgfAorKyAgICAgICAgfCBAbm90Lndp dGhfZm9vPXh4eCAgQHVzZS53aXRoX2Zvbz1vdGhlciBAdXNlLndpdGhfZm9vPW90aGVyMnwgIG5v ICAgICAgfCBEaXNhYmxlZDogdGFnMSB8CisrICAgICAgICB8IEBub3Qud2l0aF9mb289eHh4ICBA dXNlLndpdGhfZm9vPW90aGVyIEBub3Qud2l0aF9mb289b3RoZXIyfCAgbm8gICAgICB8IERpc2Fi bGVkOiB0YWcxIHwKKysgICAgICAgIHwgQG5vdC53aXRoX2Zvbz14eHggIEBub3Qud2l0aF9mb289 b3RoZXIgQHVzZS53aXRoX2Zvbz1vdGhlcjJ8ICBubyAgICAgIHwgRGlzYWJsZWQ6IHRhZzEgfAor KyAgICAgICAgfCBAbm90LndpdGhfZm9vPXh4eCAgQG5vdC53aXRoX2Zvbz1vdGhlciBAbm90Lndp dGhfZm9vPW90aGVyMnwgIG5vICAgICAgfCBEaXNhYmxlZDogdGFnMSB8CisgCisgCisgICAgIFNj ZW5hcmlvOiBUYWcgbG9naWMgd2l0aCB1bmtub3duIGNhdGVnb3JpZXMgKGNhc2U6IGlnbm9yZWQp CitkaWZmIC0tZ2l0IGEvdGVzdHMvZnVuY3Rpb25hbC90ZXN0X2FjdGl2ZV90YWdzLnB5IGIvdGVz dHMvZnVuY3Rpb25hbC90ZXN0X2FjdGl2ZV90YWdzLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMC4uZmQ2MTM4ZgorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdHMvZnVuY3Rp b25hbC90ZXN0X2FjdGl2ZV90YWdzLnB5CitAQCAtMCwwICsxLDUyOSBAQAorKyMgLSotIGNvZGlu ZzogdXRmLTggLSotCisrIiIiCisrRnVuY3Rpb25hbHMgdGVzdHMgZm9yIGFjdGl2ZSB0YWctbWF0 Y2hlciAobW9kOmBiZWhhdmUudGFnX21hdGNoZXJgKS4KKysiIiIKKysKKytmcm9tIF9fZnV0dXJl X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKytpbXBvcnQgcHl0ZXN0 CisrZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0IEFjdGl2ZVRhZ01hdGNoZXIKKysKKysj ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CisrIyBURVNUIERBVEE6CisrIyA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorKyMgVkFMVUVfUFJPVklERVIgPSB7CisrIyAgICAgImZvbyI6ICJhbGljZSIsCisrIyAg ICAgImJhciI6ICJCT0IiLAorKyMgfQorKworKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysjIFBZ VEVTVCBGSVhUVVJFUzoKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIyBAcHl0ZXN0LmZpeHR1 cmUKKysjIGRlZiBhY3RpdmVfdGFnX21hdGNoZXIoKToKKysjICAgICB0YWdfbWF0Y2hlciA9IEFj dGl2ZVRhZ01hdGNoZXIoVkFMVUVfUFJPVklERVIpCisrIyAgICAgcmV0dXJuIHRhZ19tYXRjaGVy CisrCisrCisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMgVEVTVCBTVUlURToKKysjID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CisrY2xhc3MgVGVzdEFjdGl2YXRlVGFncyhvYmplY3QpOgorKyAgICBW QUxVRV9QUk9WSURFUiA9IHsKKysgICAgICAgICJmb28iOiAiRnJhbmsiLAorKyAgICAgICAgImJh ciI6ICJCb2IiLAorKyAgICAgICAgIyAiT1RIRVIiOiAiVkFMVUUiLAorKyAgICB9CisrCisrICAg IGRlZiBjaGVja19zaG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3Moc2VsZiwgY2FzZSwgZXhwZWN0 ZWQsIHRhZ3MpOgorKyAgICAgICAgIyAtLSB0YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFn cykucmVzdWx0IDo9IGV4cGVjdGVkCisrICAgICAgICBjYXNlICs9ICIgKHRhZ3M6IHt0YWdzfSki CisrICAgICAgICB0YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoc2VsZi5WQUxVRV9QUk9W SURFUikKKysgICAgICAgIGFjdHVhbF9yZXN1bHQxID0gdGFnX21hdGNoZXIuc2hvdWxkX3J1bl93 aXRoKHRhZ3MpCisrICAgICAgICBhY3R1YWxfcmVzdWx0MiA9IHRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncykKKysgICAgICAgIGFzc2VydCBleHBlY3RlZCA9PSBhY3R1YWxfcmVz dWx0MSwgY2FzZS5mb3JtYXQodGFncz10YWdzKQorKyAgICAgICAgYXNzZXJ0IChub3QgZXhwZWN0 ZWQpID09IGFjdHVhbF9yZXN1bHQyCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgi Y2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICAgICAoInVzZS53aXRoX2Zvbz1WQUxVRSBt YXRjaGVzIiwgICAgIFRydWUsIFsidXNlLndpdGhfZm9vPUZyYW5rIl0pLAorKyAgICAgICAgKCJ1 c2Uud2l0aF9mb289VkFMVUUgbWlzbWF0Y2hlcyIsIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhF UiJdKSwKKysgICAgICAgICgibm90LndpdGhfZm9vPVZBTFVFIG1hdGNoZXMiLCAgICBGYWxzZSwg WyJub3Qud2l0aF9mb289RnJhbmsiXSksCisrICAgICAgICAoIm5vdC53aXRoX2Zvbz1WQUxVRSBt aXNtYXRjaGVzIiwgIFRydWUsIFsibm90LndpdGhfZm9vPU9USEVSIl0pLAorKyAgICAgICAgKCJO T19UQUdTIiwgVHJ1ZSwgW10pLAorKyAgICBdKQorKyAgICBkZWYgdGVzdF9vbmVfdGFnX2Zvcl9j YXRlZ29yeTEoc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgc2VsZi5jaGVj a19zaG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpCisrCisr ICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisr ICAgICAgICAoInVzZS53aXRoX2Jhcj1Cb2IgbWF0Y2hlcyIsICAgICAgIFRydWUsIFsidXNlLndp dGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgidXNlLndpdGhfYmFyPVZBTFVFIG1pc21hdGNoZXMi LCBGYWxzZSwgWyJ1c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAoIm5vdC53aXRoX2Jh cj1WQUxVRSBtYXRjaGVzIiwgICAgRmFsc2UsIFsibm90LndpdGhfYmFyPUJvYiJdKSwKKysgICAg ICAgICgibm90LndpdGhfYmFyPVZBTFVFIG1pc21hdGNoZXMiLCAgVHJ1ZSwgWyJub3Qud2l0aF9i YXI9T1RIRVIiXSksCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X29uZV90YWdfZm9yX2NhdGVnb3J5 MihzZWxmLCBjYXNlLCBleHBlY3RlZCwgdGFncyk6CisrICAgICAgICBzZWxmLmNoZWNrX3Nob3Vs ZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhjYXNlLCBleHBlY3RlZCwgdGFncykKKysKKysgICAgIyBA cHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImNhc2UsIGV4cGVjdGVkLCB0YWdzIiwgWworKyAgICAj ICAgICAoInVzZS53aXRoX09USEVSPVZBTFVFIG1hdGNoZXMiLCAgICAgVHJ1ZSwgWyJ1c2Uud2l0 aF9PVEhFUj1WQUxVRSJdKSwKKysgICAgIyAgICAgKCJ1c2Uud2l0aF9PVEhFUj1WQUxVRSBtaXNt YXRjaGVzIiwgRmFsc2UsIFsidXNlLndpdGhfT1RIRVI9T1RIRVIiXSksCisrICAgICMgICAgICgi bm90LndpdGhfT1RIRVI9VkFMVUUgbWF0Y2hlcyIsICAgIEZhbHNlLCBbIm5vdC53aXRoX09USEVS PVZBTFVFIl0pLAorKyAgICAjICAgICAoIm5vdC53aXRoX09USEVSPVZBTFVFIG1pc21hdGNoZXMi LCAgVHJ1ZSwgWyJub3Qud2l0aF9PVEhFUj1PVEhFUiJdKSwKKysgICAgIyBdKQorKyAgICAjIGRl ZiB0ZXN0X29uZV90YWdfZm9yX290aGVyX2NhdGVnb3J5KHNlbGYsIGNhc2UsIGV4cGVjdGVkLCB0 YWdzKToKKysgICAgIyAgICAgc2VsZi5jaGVja19zaG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3Mo Y2FzZSwgZXhwZWN0ZWQsIHRhZ3MpCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgi Y2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICAgICAoIjJ4IHVzZS53aXRoX2Zvbz1WQUxV RTogb25lIG1hdGNoZXMiLCBUcnVlLAorKyAgICAgICAgIFsidXNlLndpdGhfZm9vPUZyYW5rIiwg InVzZS53aXRoX2Zvbz1PVEhFUiJdKSwKKysgICAgICAgICgiMnggbm90LndpdGhfZm9vPVZBTFVF OiBvbmUgbWF0Y2hlcyIsIEZhbHNlLAorKyAgICAgICAgIFsibm90LndpdGhfZm9vPUZyYW5rIiwg Im5vdC53aXRoX2Zvbz1PVEhFUiJdKSwKKysgICAgICAgICgiMXggdXNlLi9ub3Qud2l0aF9mb289 VkFMVUU6IHVzZS1tYXRjaGVzIiwgVHJ1ZSwKKysgICAgICAgICBbInVzZS53aXRoX2Zvbz1GcmFu ayIsICJub3Qud2l0aF9mb289T1RIRVIiXSksCisrICAgICAgICAoIjF4IHVzZS4vbm90LndpdGhf Zm9vPVZBTFVFOiBub3QtbWF0Y2hlcyIsIEZhbHNlLAorKyAgICAgICAgIFsibm90LndpdGhfZm9v PUZyYW5rIiwgInVzZS53aXRoX2Zvbz1PVEhFUiJdKSwKKysgICAgXSkKKysgICAgZGVmIHRlc3Rf b25lX2NhdGVnb3J5X3dpdGhfdHdvX3RhZ3Moc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgor KyAgICAgICAgc2VsZi5jaGVja19zaG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhw ZWN0ZWQsIHRhZ3MpCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhw ZWN0ZWQsIHRhZ3MiLCBbCisrICAgICAgICAoIjN4IHVzZS53aXRoX2Zvbz1WQUxVRTogb25lIG1h dGNoZXMiLCBUcnVlLAorKyAgICAgICAgIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRo X2Zvbz1PVEhFUl8xIiwgInVzZS53aXRoX2Zvbz1PVEhFUl8yIl0pLAorKyAgICAgICAgKCIzeCBu b3Qud2l0aF9mb289VkFMVUU6IG9uZSBtYXRjaGVzIiwgRmFsc2UsCisrICAgICAgICAgWyJub3Qu d2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfZm9vPU9USEVSXzEiLCAibm90LndpdGhfZm9vPU9U SEVSXzIiXSksCisrICAgICAgICAoIjJ4IHVzZS53aXRoX2Zvbz1WQUxVRTogdXNlLW1hdGNoZXMi LCBUcnVlLAorKyAgICAgICAgIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRoX2Zvbz1P VEhFUl8xIiwgIm5vdC53aXRoX2Zvbz1PVEhFUl8yIl0pLAorKyAgICAgICAgKCIyeCBub3Qud2l0 aF9mb289VkFMVUU6IG5vdC1tYXRjaGVzIiwgRmFsc2UsCisrICAgICAgICAgWyJub3Qud2l0aF9m b289RnJhbmsiLCAibm90LndpdGhfZm9vPU9USEVSXzEiLCAidXNlLndpdGhfZm9vPU9USEVSXzIi XSksCisrICAgICAgICAoIjF4IHVzZS53aXRoX2Zvbz1WQUxVRTogdXNlLW1hdGNoZXMiLCBUcnVl LAorKyAgICAgICAgIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgIm5vdC53aXRoX2Zvbz1PVEhFUl8x IiwgIm5vdC53aXRoX2Zvbz1PVEhFUl8yIl0pLAorKyAgICAgICAgKCIxeCBub3Qud2l0aF9mb289 VkFMVUU6IG5vdC1tYXRjaGVzIiwgRmFsc2UsCisrICAgICAgICAgWyJub3Qud2l0aF9mb289RnJh bmsiLCAidXNlLndpdGhfZm9vPU9USEVSXzEiLCAidXNlLndpdGhfZm9vPU9USEVSXzIiXSksCisr ICAgIF0pCisrICAgIGRlZiB0ZXN0X29uZV9jYXRlZ29yeV93aXRoX3RocmVlX3RhZ3Moc2VsZiwg Y2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgc2VsZi5jaGVja19zaG91bGRfcnVuX3dp dGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpCisrCisrICAgIEBweXRlc3QubWFy ay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICAgICAjIC0tIHVz ZS53aXRoX0NBVEVHT1JZPVZBTFVFCisrICAgICAgICAoInVzZS53aXRoXy4uLiAyeCBtYXRjaGVz IiwgICAgICBUcnVlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9iYXI9Qm9iIl0p LAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMXggbWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uu d2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJ1c2Uu d2l0aF8uLi4gMXggbWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAi dXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMXggbWF0Y2hl cyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfYmFyPUJvYiJd KSwKKysgICAgICAgICgidXNlLndpdGhfLi4uIDB4IG1hdGNoZXMiLCAgICAgRmFsc2UsIFsidXNl LndpdGhfZm9vPU9USEVSIiwgInVzZS53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICMgLS0g bm90LndpdGhfQ0FURUdPUlk9VkFMVUUKKysgICAgICAgICgibm90LndpdGhfLi4uIDJ4IG1hdGNo ZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfYmFyPUJvYiJdKSwK KysgICAgICAgICgibm90LndpdGhfLi4uIDF4IG1hdGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9m b289RnJhbmsiLCAibm90LndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJub3Qud2l0aF8u Li4gMXggbWF0Y2hlcyIsIEZhbHNlLCBbIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9i YXI9Qm9iIl0pLAorKyAgICAgICAgKCJub3Qud2l0aF8uLi4gMHggbWF0Y2hlcyIsICBUcnVlLCBb Im5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAj IC0tIHVzZS53aXRoX0NBVEVHT1JZXzE9VkFMVUVfMSwgbm90LndpdGhfQ0FURUdPUllfMj1WQUxV RV8yCisrICAgICAgICAoInVzZS4vbm90LndpdGhfLi4uIHVzZS1tYXRjaGVzIiwgIFRydWUsIFsi dXNlLndpdGhfZm9vPUZyYW5rIiwgIm5vdC53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgi dXNlLi9ub3Qud2l0aF8uLi4gbm90LW1hdGNoZXMiLCBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RI RVIiLCAibm90LndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4g MnggbWF0Y2hlcyIsICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfYmFy PUJvYiJdKSwKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gMHggbWF0Y2hlcyIsICBGYWxz ZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfYmFyPU9USEVSIl0pLAorKyAgICBd KQorKyAgICBkZWYgdGVzdF90d29fY2F0ZWdvcmllc193aXRoX3R3b190YWdzKHNlbGYsIGNhc2Us IGV4cGVjdGVkLCB0YWdzKToKKysgICAgICAgIHNlbGYuY2hlY2tfc2hvdWxkX3J1bl93aXRoX2Fj dGl2ZV90YWdzKGNhc2UsIGV4cGVjdGVkLCB0YWdzKQorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFy YW1ldHJpemUoImNhc2UsIGV4cGVjdGVkLCB0YWdzIiwgWworKyAgICAgICAgIyAtLSB1c2Uud2l0 aF9DQVRFR09SWT1WQUxVRQorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMnggbWF0Y2hlcyIsICAg ICAgVHJ1ZSwgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfZm9vPU9USEVSIiwgInVz ZS53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAoInVzZS53aXRoXy4uLiAxeCBtYXRjaGVzIiwg ICAgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9mb289T1RIRVIiLCAi dXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMXggbWF0Y2hl cyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfZm9vPUZyYW5r IiwgInVzZS53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgidXNlLndpdGhfLi4uIDF4IG1h dGNoZXMiLCAgICAgRmFsc2UsIFsidXNlLndpdGhfZm9vPU9USEVSIiwgInVzZS53aXRoX2Zvbz1P VEhFUjIiLCAidXNlLndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgidXNlLndpdGhfLi4uIDB4 IG1hdGNoZXMiLCAgICAgRmFsc2UsIFsidXNlLndpdGhfZm9vPU9USEVSIiwgInVzZS53aXRoX2Jh cj1PVEhFUjIiLCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAgICAgIyAtLSBub3Qud2l0 aF9DQVRFR09SWT1WQUxVRQorKyAgICAgICAgKCJub3Qud2l0aF8uLi4gMnggbWF0Y2hlcyIsIEZh bHNlLCBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9mb289T1RIRVIiLCAibm90Lndp dGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgibm90LndpdGhfLi4uIDF4IG1hdGNoZXMiLCBGYWxz ZSwgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfZm9vPU9USEVSIiwgIm5vdC53aXRo X2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgibm90LndpdGhfLi4uIDF4IG1hdGNoZXMiLCBGYWxz ZSwgWyJub3Qud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfZm9vPU9USEVSMiIsICJub3Qud2l0 aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJub3Qud2l0aF8uLi4gMHggbWF0Y2hlcyIsICBUcnVl LCBbIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9mb289T1RIRVIyIiwgIm5vdC53aXRo X2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICMgLS0gdXNlLndpdGhfQ0FURUdPUllfMT1WQUxVRV8x LCBub3Qud2l0aF9DQVRFR09SWV8yPVZBTFVFXzIKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8u Li4gdXNlLW1hdGNoZXMiLCAgVHJ1ZSwgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhf Zm9vPU9USEVSIiwgIm5vdC53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgidXNlLi9ub3Qu d2l0aF8uLi4gbm90LW1hdGNoZXMiLCBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNl LndpdGhfZm9vPU9USEVSMiIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2Uu L25vdC53aXRoXy4uLiAyeCBtYXRjaGVzIiwgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIs ICJ1c2Uud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgi dXNlLi9ub3Qud2l0aF8uLi4gMHggbWF0Y2hlcyIsICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RI RVIiLCAidXNlLndpdGhfZm9vPU9USEVSMiIsICJub3Qud2l0aF9iYXI9T1RIRVIiXSksCisrICAg ICAgICAjIC0tIG5vdC53aXRoX0NBVEVHT1JZXzE9VkFMVUVfMSwgdXNlLndpdGhfQ0FURUdPUllf Mj1WQUxVRV8yCisrICAgICAgICAoInVzZS4vbm90LndpdGhfLi4uIG5vdC1tYXRjaGVzIiwgRmFs c2UsIFsibm90LndpdGhfZm9vPUZyYW5rIiwgIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0 aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAoInVzZS4vbm90LndpdGhfLi4uIHVzZS1tYXRjaGVz IiwgVHJ1ZSwgWyJub3Qud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfZm9vPU9USEVSMiIsICJ1 c2Uud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiAyeCBtYXRj aGVzIiwgRmFsc2UsIFsibm90LndpdGhfZm9vPUZyYW5rIiwgIm5vdC53aXRoX2Zvbz1PVEhFUiIs ICJ1c2Uud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiAweCBt YXRjaGVzIiwgRmFsc2UsIFsibm90LndpdGhfZm9vPU9USEVSIiwgIm5vdC53aXRoX2Zvbz1PVEhF UjIiLCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICBdKQorKyAgICBkZWYgdGVzdF90d29f Y2F0ZWdvcmllc193aXRoX3RocmVlX3RhZ3Moc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgor KyAgICAgICAgc2VsZi5jaGVja19zaG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhw ZWN0ZWQsIHRhZ3MpCisrCisrJycnCisrY2xhc3MgVHJhaXRzNEFjdGl2ZVRhZ01hdGNoZXIob2Jq ZWN0KToKKysgICAgVGFnTWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIKKysgICAgdmFsdWVfcHJv dmlkZXIgPSB7CisrICAgICAgICAiZm9vIjogImFsaWNlIiwKKysgICAgICAgICJiYXIiOiAiQk9C IiwKKysgICAgfQorKworKyAgICBjYXRlZ29yeTFfZW5hYmxlZF90YWcgPSBUYWdNYXRjaGVyLm1h a2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2UiKQorKyAgICBjYXRlZ29yeTFfZGlzYWJsZWRf dGFnID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImJvYiIpCisrICAgIGNh dGVnb3J5MV9kaXNhYmxlZF90YWcyID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiZm9v IiwgImNoYXJseSIpCisrICAgIGNhdGVnb3J5MV9zaW1pbGFyX3RhZyA9IFRhZ01hdGNoZXIubWFr ZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZTIiKQorKyAgICBjYXRlZ29yeTJfZW5hYmxlZF90 YWcgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJiYXIiLCAiQk9CIikKKysgICAgY2F0 ZWdvcnkyX2Rpc2FibGVkX3RhZyA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImJhciIs ICJDSEFSTFkiKQorKyAgICBjYXRlZ29yeTJfc2ltaWxhcl90YWcgPSBUYWdNYXRjaGVyLm1ha2Vf Y2F0ZWdvcnlfdGFnKCJiYXIiLCAiQk9CMiIpCisrICAgIHVua25vd25fY2F0ZWdvcnlfdGFnID0g VGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiVU5LTk9XTiIsICJvbmUiKQorKworKyAgICAj IC0tIE5FR0FURUQgVEFHUzoKKysgICAgY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZyA9IFwKKysg ICAgICAgIFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZSIsICJub3Rf YWN0aXZlIikKKysgICAgY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZzIgPSBcCisrICAgICAgICBU YWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2UiLCAibm90IikKKysgICAg Y2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcgPSBcCisrICAgICAgICBUYWdNYXRjaGVyLm1ha2Vf Y2F0ZWdvcnlfdGFnKCJmb28iLCAiYm9iIiwgIm5vdF9hY3RpdmUiKQorKyAgICBjYXRlZ29yeTFf bmVnYXRlZF9zaW1pbGFyX3RhZzEgPSBcCisrICAgICAgICBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdv cnlfdGFnKCJmb28iLCAiYWxpY2UyIiwgIm5vdF9hY3RpdmUiKQorKworKworKyAgICBhY3RpdmVf dGFnczEgPSBbCisrICAgICAgICBjYXRlZ29yeTFfZW5hYmxlZF90YWcsIGNhdGVnb3J5MV9kaXNh YmxlZF90YWcsIGNhdGVnb3J5MV9zaW1pbGFyX3RhZywKKysgICAgICAgIGNhdGVnb3J5MV9ub3Rf ZW5hYmxlZF90YWcsIGNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcyLAorKyAgICBdCisrICAgIGFj dGl2ZV90YWdzMiA9IFsKKysgICAgICAgIGNhdGVnb3J5Ml9lbmFibGVkX3RhZywgY2F0ZWdvcnky X2Rpc2FibGVkX3RhZywgY2F0ZWdvcnkyX3NpbWlsYXJfdGFnLAorKyAgICBdCisrICAgIGFjdGl2 ZV90YWdzID0gYWN0aXZlX3RhZ3MxICsgYWN0aXZlX3RhZ3MyCisrCisrCisrIyAtLSBSRVFVSVJF UzogcHl0ZXN0CisrY2xhc3MgVGVzdEFjdGl2ZVRhZ01hdGNoZXIyKG9iamVjdCk6CisrICAgIFRh Z01hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyCisrICAgIHRyYWl0cyA9IFRyYWl0czRBY3RpdmVU YWdNYXRjaGVyCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgbWFrZV90YWdfbWF0Y2hl cihjbHMpOgorKyAgICAgICAgdmFsdWVfcHJvdmlkZXIgPSB7CisrICAgICAgICAgICAgImZvbyI6 ICJhbGljZSIsCisrICAgICAgICAgICAgImJhciI6ICJCT0IiLAorKyAgICAgICAgfQorKyAgICAg ICAgdGFnX21hdGNoZXIgPSBjbHMuVGFnTWF0Y2hlcih2YWx1ZV9wcm92aWRlcikKKysgICAgICAg IHJldHVybiB0YWdfbWF0Y2hlcgorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImNh c2UsIGV4cGVjdGVkX2xlbiwgdGFncyIsIFsKKysgICAgICAgICgiY2FzZTogVHdvIGVuYWJsZWQg dGFncyIsIDIsCisrICAgICAgICAgW3RyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0 cy5jYXRlZ29yeTJfZW5hYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZTogQWN0aXZlIGVuYWJs ZWQgYW5kIG5vcm1hbCB0YWciLCAxLAorKyAgICAgICAgIFt0cmFpdHMuY2F0ZWdvcnkxX2VuYWJs ZWRfdGFnLCAgImZvbyJdKSwKKysgICAgICAgICgiY2FzZTogQWN0aXZlIGRpc2FibGVkIGFuZCBu b3JtYWwgdGFnIiwgMSwKKysgICAgICAgICBbdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcs ICJmb28iXSksCisrICAgICAgICAoImNhc2U6IE5vcm1hbCBhbmQgYWN0aXZlIG5lZ2F0ZWQgdGFn IiwgMSwKKysgICAgICAgICBbImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFn XSksCisrICAgICAgICAoImNhc2U6IFR3byBub3JtYWwgdGFncyIsIDAsCisrICAgICAgICAgWyJm b28iLCAiYmFyIl0pLAorKyAgICBdKQorKyAgICBkZWYgdGVzdF9zZWxlY3RfYWN0aXZlX3RhZ3Nf X3dpdGhfdHdvX3RhZ3Moc2VsZiwgY2FzZSwgZXhwZWN0ZWRfbGVuLCB0YWdzKToKKysgICAgICAg IHRhZ19tYXRjaGVyID0gc2VsZi5tYWtlX3RhZ19tYXRjaGVyKCkKKysgICAgICAgIHNlbGVjdGVk ID0gdGFnX21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90YWdzKHRhZ3MpCisrICAgICAgICBzZWxlY3Rl ZCA9IGxpc3Qoc2VsZWN0ZWQpCisrICAgICAgICBhc3NlcnQgbGVuKHNlbGVjdGVkKSA9PSBleHBl Y3RlZF9sZW4sIGNhc2UKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJjYXNlLCBl eHBlY3RlZCwgdGFncyIsIFsKKysgICAgICAgICMgLS0gR1JPVVA6IFdpdGggcG9zaXRpdmUgbG9n aWMgKG5vbi1uZWdhdGVkIHRhZ3MpCisrICAgICAgICAoImNhc2UgUDAwOiAyIGRpc2FibGVkIHRh Z3MiLCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRy YWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAoImNhc2UgUDAxOiBkaXNh YmxlZCBhbmQgZW5hYmxlZCB0YWciLCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5 MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWddKSwKKysgICAgICAg ICgiY2FzZSBQMTA6IGVuYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIsIFRydWUsCisrICAgICAgICAg WyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVk X3RhZ10pLAorKyAgICAgICAgKCJjYXNlIFAxMTogMiBlbmFibGVkIHRhZ3MiLCBGYWxzZSwgICMg LS0gU0hPVUxELVJVTgorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywg dHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgIyAtLSBHUk9VUDogV2l0 aCBuZWdhdGVkIHRhZworKyAgICAgICAgKCJjYXNlIE4wMDogbm90LWVuYWJsZWQgYW5kIGRpc2Fi bGVkIHRhZyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9lbmFibGVk X3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZSBO MDE6IG5vdC1lbmFibGVkIGFuZCBlbmFibGVkIHRhZyIsIFRydWUsCisrICAgICAgICAgWyB0cmFp dHMuY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3Rh Z10pLAorKyAgICAgICAgKCJjYXNlIE4xMDogbm90LWRpc2FibGVkIGFuZCBkaXNhYmxlZCB0YWci LCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZGlzYWJsZWRfdGFnLCB0 cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlIE4xMTogbm90 LWRpc2FibGVkIGFuZCBlbmFibGVkIHRhZyIsIEZhbHNlLCAjIC0tIFNIT1VMRC1SVU4KKysgICAg ICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5 Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgIyAtLSBHUk9VUDogV2l0aCB1bmtub3duIGNhdGVn b3J5CisrICAgICAgICAoImNhc2UgVTB4OiBkaXNhYmxlZCBhbmQgdW5rbm93biB0YWciLCBUcnVl LAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy51bmtu b3duX2NhdGVnb3J5X3RhZ10pLAorKyAgICAgICAgKCJjYXNlIFUxeDogZW5hYmxlZCBhbmQgdW5r bm93biB0YWciLCBGYWxzZSwgICMgLS0gU0hPVUxELVJVTgorKyAgICAgICAgIFsgdHJhaXRzLmNh dGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnXSksCisrICAg IF0pCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX2NvbWJpbmF0aW9uc19vZl8y X2NhdGVnb3JpZXMoc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgdGFnX21h dGNoZXIgPSBzZWxmLm1ha2VfdGFnX21hdGNoZXIoKQorKyAgICAgICAgYWN0dWFsX3Jlc3VsdCA9 IHRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKysgICAgICAgIGFzc2VydCBl eHBlY3RlZCA9PSBhY3R1YWxfcmVzdWx0LCBjYXNlCisrCisrICAgIEBweXRlc3QubWFyay5wYXJh bWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICAgICAjIC0tIEdST1VQOiBX aXRoIHBvc2l0aXZlIGxvZ2ljIChub24tbmVnYXRlZCB0YWdzKQorKyAgICAgICAgKCJjYXNlIFAw MDogMiBkaXNhYmxlZCB0YWdzIiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFf ZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZzJdKSwKKysgICAgICAg ICgiY2FzZSBQMDE6IGRpc2FibGVkIGFuZCBlbmFibGVkIHRhZyIsIEZhbHNlLAorKyAgICAgICAg IFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxl ZF90YWddKSwKKysgICAgICAgICgiY2FzZSBQMTA6IGVuYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIs IEZhbHNlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRz LmNhdGVnb3J5MV9kaXNhYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZSBQMTE6IDIgZW5hYmxl ZCB0YWdzIChzYW1lKSIsIEZhbHNlLCAgIyAtLSBTSE9VTEQtUlVOCisrICAgICAgICAgWyB0cmFp dHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnXSks CisrICAgICAgICAjIC0tIEdST1VQOiBXaXRoIG5lZ2F0ZWQgdGFnCisrICAgICAgICAoImNhc2Ug TjAwOiBub3QtZW5hYmxlZCBhbmQgZGlzYWJsZWQgdGFnIiwgVHJ1ZSwKKysgICAgICAgICBbIHRy YWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVk X3RhZ10pLAorKyAgICAgICAgKCJjYXNlIE4wMTogbm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgdGFn IiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0 cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAoImNhc2UgTjEwOiBub3Qt ZGlzYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0 ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnXSks CisrICAgICAgICAoImNhc2UgTjExOiBub3QtZGlzYWJsZWQgYW5kIGVuYWJsZWQgdGFnIiwgRmFs c2UsICMgLS0gU0hPVUxELVJVTgorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZGlz YWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnXSksCisrICAgIF0pCisrICAg IGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX2NvbWJpbmF0aW9uc193aXRoX3NhbWVfY2F0 ZWdvcnkoc2VsZiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNhc2UsIGV4cGVjdGVkLCB0YWdzKToKKysgICAgICAgIHRhZ19tYXRjaGVy ID0gc2VsZi5tYWtlX3RhZ19tYXRjaGVyKCkKKysgICAgICAgIHByaW50KCJ0YWdzOiB7fSIuZm9y bWF0KHRhZ3MpICkKKysgICAgICAgIHByaW50KCJ0YWdfbWF0Y2hlci52YWx1ZToge30iLmZvcm1h dCh0YWdfbWF0Y2hlci52YWx1ZV9wcm92aWRlcikgKQorKyAgICAgICAgYWN0dWFsX3Jlc3VsdCA9 IHRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKysgICAgICAgIGFzc2VydCBl eHBlY3RlZCA9PSBhY3R1YWxfcmVzdWx0LCBjYXNlCisrCisrCisrY2xhc3MgVGVzdEFjdGl2ZVRh Z3MoVGVzdENhc2UpOgorKyAgICBUYWdNYXRjaGVyID0gQWN0aXZlVGFnTWF0Y2hlcgorKyAgICB0 cmFpdHMgPSBUcmFpdHM0QWN0aXZlVGFnTWF0Y2hlcgorKworKyAgICBAY2xhc3NtZXRob2QKKysg ICAgZGVmIG1ha2VfdGFnX21hdGNoZXIoY2xzKToKKysgICAgICAgIHRhZ19tYXRjaGVyID0gY2xz LlRhZ01hdGNoZXIoY2xzLnRyYWl0cy52YWx1ZV9wcm92aWRlcikKKysgICAgICAgIHJldHVybiB0 YWdfbWF0Y2hlcgorKworKyAgICBkZWYgc2V0VXAoc2VsZik6CisrICAgICAgICBzZWxmLnRhZ19t YXRjaGVyID0gc2VsZi5tYWtlX3RhZ19tYXRjaGVyKCkKKysKKysgICAgZGVmIHRlc3Rfc2VsZWN0 X2FjdGl2ZV90YWdzX19iYXNpY3Moc2VsZik6CisrICAgICAgICBhY3RpdmVfdGFnID0gImFjdGl2 ZS53aXRoX0NBVEVHT1JZPVZBTFVFIgorKyAgICAgICAgdGFncyA9IFsiZm9vIiwgYWN0aXZlX3Rh ZywgImJhciJdCisrICAgICAgICBzZWxlY3RlZCA9IGxpc3Qoc2VsZi50YWdfbWF0Y2hlci5zZWxl Y3RfYWN0aXZlX3RhZ3ModGFncykpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxl Y3RlZCksIDEpCisrICAgICAgICBzZWxlY3RlZF90YWcsIHNlbGVjdGVkX21hdGNoID0gc2VsZWN0 ZWRbMF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZWN0ZWRfdGFnLCBhY3RpdmVfdGFn KQorKworKyAgICBkZWYgdGVzdF9zZWxlY3RfYWN0aXZlX3RhZ3NfX21hdGNoZXNfdGFnX3BhcnRz KHNlbGYpOgorKyAgICAgICAgdGFncyA9IFsiYWN0aXZlLndpdGhfQ0FURUdPUlk9VkFMVUUiXQor KyAgICAgICAgc2VsZWN0ZWQgPSBsaXN0KHNlbGYudGFnX21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90 YWdzKHRhZ3MpKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZWN0ZWQpLCAxKQor KyAgICAgICAgc2VsZWN0ZWRfdGFnLCBzZWxlY3RlZF9tYXRjaCA9IHNlbGVjdGVkWzBdCisrICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGVjdGVkX21hdGNoLmdyb3VwKCJwcmVmaXgiKSwgImFj dGl2ZSIpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGVjdGVkX21hdGNoLmdyb3VwKCJj YXRlZ29yeSIpLCAiQ0FURUdPUlkiKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxlY3Rl ZF9tYXRjaC5ncm91cCgidmFsdWUiKSwgIlZBTFVFIikKKysKKysgICAgZGVmIHRlc3Rfc2VsZWN0 X2FjdGl2ZV90YWdzX19maW5kc190YWdfd2l0aF9hbnlfdmFsaWRfdGFnX3ByZWZpeChzZWxmKToK KysgICAgICAgIFRhZ01hdGNoZXIgPSBzZWxmLlRhZ01hdGNoZXIKKysgICAgICAgIGZvciB0YWdf cHJlZml4IGluIFRhZ01hdGNoZXIudGFnX3ByZWZpeGVzOgorKyAgICAgICAgICAgIHRhZyA9IFRh Z01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZSIsIHRhZ19wcmVmaXgpCisr ICAgICAgICAgICAgdGFncyA9IFsgdGFnIF0KKysgICAgICAgICAgICBzZWxlY3RlZCA9IHNlbGYu dGFnX21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90YWdzKHRhZ3MpCisrICAgICAgICAgICAgc2VsZWN0 ZWQgPSBsaXN0KHNlbGVjdGVkKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNl bGVjdGVkKSwgMSkKKysgICAgICAgICAgICBzZWxlY3RlZF90YWcwID0gc2VsZWN0ZWRbMF1bMF0K KysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGVjdGVkX3RhZzAsIHRhZykKKysgICAg ICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZWN0ZWRfdGFnMC5zdGFydHN3aXRoKHRhZ19wcmVm aXgpKQorKworKyAgICBkZWYgdGVzdF9zZWxlY3RfYWN0aXZlX3RhZ3NfX2lnbm9yZXNfaW52YWxp ZF9hY3RpdmVfdGFncyhzZWxmKToKKysgICAgICAgIGludmFsaWRfYWN0aXZlX3RhZ3MgPSBbCisr ICAgICAgICAgICAgKCJmb28uYWxpY2UiLCAgICAgICAgICAgICAgICJjYXNlOiBOb3JtYWwgdGFn IiksCisrICAgICAgICAgICAgKCJ3aXRoX2Zvbz1GcmFuayIsICAgICAgICAgICJjYXNlOiBTdWJz ZXQgb2YgYW4gYWN0aXZlIHRhZyIpLAorKyAgICAgICAgICAgICgiQUNUSVZFLndpdGhfZm9vLmFs aWNlIiwgICAiY2FzZTogV3JvbmcgdGFnX3ByZWZpeCAodXBwZXJjYXNlKSIpLAorKyAgICAgICAg ICAgICgib25seS53aXRoX2Zvby5hbGljZSIsICAgICAiY2FzZTogV3JvbmcgdmFsdWVfc2VwYXJh dG9yIiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgaW52YWxpZF90YWcsIGNhc2UgaW4gaW52 YWxpZF9hY3RpdmVfdGFnczoKKysgICAgICAgICAgICB0YWdzID0gWyBpbnZhbGlkX3RhZyBdCisr ICAgICAgICAgICAgc2VsZWN0ZWQgPSBzZWxmLnRhZ19tYXRjaGVyLnNlbGVjdF9hY3RpdmVfdGFn cyh0YWdzKQorKyAgICAgICAgICAgIHNlbGVjdGVkID0gbGlzdChzZWxlY3RlZCkKKysgICAgICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxlY3RlZCksIDAsIGNhc2UpCisrCisrICAgIGRl ZiB0ZXN0X3NlbGVjdF9hY3RpdmVfdGFnc19fd2l0aF90d29fdGFncyhzZWxmKToKKysgICAgICAg ICMgWFhYLUpFLURVUExJQ0FURUQ6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAg ICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoImNhc2U6IFR3byBlbmFibGVk IHRhZ3MiLAorKyAgICAgICAgICAgICBbdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJh aXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgICAgICgiY2FzZTogQWN0aXZl IGVuYWJsZWQgYW5kIG5vcm1hbCB0YWciLAorKyAgICAgICAgICAgICBbdHJhaXRzLmNhdGVnb3J5 MV9lbmFibGVkX3RhZywgICJmb28iXSksCisrICAgICAgICAgICAgKCJjYXNlOiBBY3RpdmUgZGlz YWJsZWQgYW5kIG5vcm1hbCB0YWciLAorKyAgICAgICAgICAgICBbdHJhaXRzLmNhdGVnb3J5MV9k aXNhYmxlZF90YWcsICJmb28iXSksCisrICAgICAgICAgICAgKCJjYXNlOiBBY3RpdmUgbmVnYXRl ZCBhbmQgbm9ybWFsIHRhZyIsCisrICAgICAgICAgICAgIFt0cmFpdHMuY2F0ZWdvcnkxX25vdF9l bmFibGVkX3RhZywgImZvbyJdKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciBjYXNlLCB0YWdz IGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBzZWxmLnRhZ19tYXRj aGVyLnNlbGVjdF9hY3RpdmVfdGFncyh0YWdzKQorKyAgICAgICAgICAgIHNlbGVjdGVkID0gbGlz dChzZWxlY3RlZCkKKysgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKHNlbGVjdGVkKSA+ PSAxLCBjYXNlKQorKworKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1 cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWcoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxm LnRyYWl0cworKyAgICAgICAgdGFnczEgPSBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcg XQorKyAgICAgICAgdGFnczIgPSBbIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWcgXQorKyAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHRhZ3MxKSkKKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYu dGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzMikpCisrCisrICAgIGRlZiB0ZXN0 X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aF9kaXNhYmxlZF90YWdfYW5k X21vcmUoc2VsZik6CisrICAgICAgICAjIC0tIE5PVEU6IE5lZWQgMSsgZW5hYmxlZCBhY3RpdmUt dGFncyBvZiBzYW1lIGNhdGVnb3J5ID0+IEVOQUJMRUQKKysgICAgICAgICMgcHlsaW50OiBkaXNh YmxlPWxpbmUtdG9vLWxvbmcKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAg ICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5h YmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICJjYXNlOiBmaXJzdCIp LAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMu Y2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0sICJjYXNlOiBsYXN0IiksCisrICAgICAgICAgICAgKFsg ImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlz YWJsZWRfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisrICAgICAgICBdCisrICAgICAg ICBlbmFibGVkID0gVHJ1ZSAgIyBFWFBFQ1RFRAorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4g dGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5vdCBlbmFibGVk LCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAg ICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90 YWcoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGFncyA9 IFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRF cXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCisr CisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290 aGVyX3RhZ19hbmRfbW9yZShzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisr ICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29y eTFfZGlzYWJsZWRfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAgICAgICAgICAo WyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgImNhc2U6IGxhc3QiKSwK KysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJi YXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBj YXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVl LCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAg ICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFy X3RhZyhzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0YWdz ID0gWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0KKysgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQor KworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9z aW1pbGFyX2FuZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysg ICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5 MV9zaW1pbGFyX3RhZywgImZvbyIgXSwgImNhc2U6IGZpcnN0IiksCisrICAgICAgICAgICAgKFsg ImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgImNhc2U6IGxhc3QiKSwKKysg ICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZywgImJhciIg XSwgImNhc2U6IG1pZGRsZSIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2Ug aW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNl bGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRl ZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aG91dF9jYXRlZ29y eV90YWcoc2VsZik6CisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChb IF0sICAgICAgICAgICAiY2FzZTogTm8gdGFncyIpLAorKyAgICAgICAgICAgIChbICJmb28iIF0s ICAgICAiY2FzZTogT25lIHRhZyIpLAorKyAgICAgICAgICAgIChbICJmb28iLCAiYmFyIiBdLCAi Y2FzZTogVHdvIHRhZ3MiKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBjYXNlIGlu IHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2Vs Zi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVm IHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX3Vua25vd25fY2F0 ZWdvcnlfdGFnKHNlbGYpOgorKyAgICAgICAgIiIiVGFncyBmcm9tIHVua25vd24gY2F0ZWdvcmll cywgbm90IHN1cHBvcnRlZCBieSB2YWx1ZV9wcm92aWRlciwKKysgICAgICAgIHNob3VsZCBub3Qg YmUgZXhjbHVkZWQuCisrICAgICAgICAiIiIKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRz CisrICAgICAgICB0YWdzID0gWyB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcgXQorKyAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbCgidXNlLndpdGhfVU5LTk9XTj1vbmUiLCB0cmFpdHMudW5rbm93 bl9jYXRlZ29yeV90YWcpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHNlbGYudGFn X21hdGNoZXIudmFsdWVfcHJvdmlkZXIuZ2V0KCJVTktOT1dOIikpCisrICAgICAgICBzZWxmLmFz c2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFn cykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX2NvbWJpbmF0aW9uc19v Zl8yX2NhdGVnb3JpZXMoc2VsZik6CisrICAgICAgICAjIFhYWC1KRS1EVVBMSUNBVEVEOgorKyAg ICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisr ICAgICAgICAgICAgKCJjYXNlIFAwMDogMiBkaXNhYmxlZCBjYXRlZ29yeSB0YWdzIiwgVHJ1ZSwK KysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNh dGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKysgICAgICAgICAgICAoImNhc2UgUDAxOiBkaXNhYmxl ZCBhbmQgZW5hYmxlZCBjYXRlZ29yeSB0YWdzIiwgVHJ1ZSwKKysgICAgICAgICAgICAgWyB0cmFp dHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10p LAorKyAgICAgICAgICAgICgiY2FzZSBQMTA6IGVuYWJsZWQgYW5kIGRpc2FibGVkIGNhdGVnb3J5 IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90 YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNl IFAxMTogMiBlbmFibGVkIGNhdGVnb3J5IHRhZ3MiLCBGYWxzZSwgICMgLS0gU0hPVUxELVJVTgor KyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRl Z29yeTJfZW5hYmxlZF90YWddKSwKKysgICAgICAgICAgICAjIC0tIFNQRUNJQUwgQ0FTRTogV2l0 aCBuZWdhdGVkIGNhdGVnb3J5CisrICAgICAgICAgICAgKCJjYXNlIE4wMDogbm90LWVuYWJsZWQg YW5kIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0 cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3Rh Z10pLAorKyAgICAgICAgICAgICgiY2FzZSBOMDE6IG5vdC1lbmFibGVkIGFuZCBlbmFibGVkIGNh dGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90 X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAg ICAgKCJjYXNlIE4xMDogbm90LWRpc2FibGVkIGFuZCBkaXNhYmxlZCBjYXRlZ29yeSB0YWdzIiwg VHJ1ZSwKKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcs IHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNlIE4x MTogbm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgY2F0ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyAtLSBT SE9VTEQtUlVOCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZGlzYWJsZWRf dGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgIyAtLSBT UEVDSUFMIENBU0U6IFdpdGggdW5rbm93biBjYXRlZ29yeQorKyAgICAgICAgICAgICgiY2FzZSAw eDogZGlzYWJsZWQgYW5kIHVua25vd24gY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAgICAgICAg ICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy51bmtub3duX2NhdGVn b3J5X3RhZ10pLAorKyAgICAgICAgICAgICgiY2FzZSAxeDogZW5hYmxlZCBhbmQgdW5rbm93biBj YXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIFNIT1VMRC1SVU4KKysgICAgICAgICAgICAgWyB0cmFp dHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWddKSwK KysgICAgICAgIF0KKysgICAgICAgIGZvciBjYXNlLCBleHBlY3RlZCwgdGFncyBpbiB0ZXN0X3Bh dHRlcm5zOgorKyAgICAgICAgICAgIGFjdHVhbF9yZXN1bHQgPSBzZWxmLnRhZ19tYXRjaGVyLnNo b3VsZF9leGNsdWRlX3dpdGgodGFncykKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4 cGVjdGVkLCBhY3R1YWxfcmVzdWx0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVz OiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX3J1bl93 aXRoX19uZWdhdGVzX3Jlc3VsdF9vZl9zaG91bGRfZXhjbHVkZV93aXRoKHNlbGYpOgorKyAgICAg ICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAg ICAgICAgICAgKFsgXSwgICAgICAgICAgICAgICAgICAgImNhc2U6IE5vIHRhZ3MiKSwKKysgICAg ICAgICAgICAoWyAiZm9vIiBdLCAgICAgICAgICAgICAiY2FzZTogT25lIG5vbi1jYXRlZ29yeSB0 YWciKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgImJhciIgXSwgICAgICAiY2FzZTogVHdvIG5v bi1jYXRlZ29yeSB0YWdzIiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFi bGVkX3RhZyBdLCAgICJjYXNlOiBlbmFibGVkIHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0 cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0s ICAiY2FzZTogZW5hYmxlZCBhbmQgb3RoZXIgdGFnIiksCisrICAgICAgICAgICAgKFsgdHJhaXRz LmNhdGVnb3J5MV9lbmFibGVkX3RhZywgImZvbyIgXSwgICAgImNhc2U6IGVuYWJsZWQgYW5kIGZv byB0YWciKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBd LCAgICAgICAgICAgICJjYXNlOiBvdGhlciB0YWciKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMu Y2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImZvbyIgXSwgICAgICJjYXNlOiBvdGhlciBhbmQgZm9v IHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwg ICAgICAgICAgImNhc2U6IHNpbWlsYXIgdGFnIiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHRy YWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRh ZyIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJu czoKKysgICAgICAgICAgICByZXN1bHQxID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dp dGgodGFncykKKysgICAgICAgICAgICByZXN1bHQyID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRf ZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQx LCBub3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysgICAgICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1bHQxLCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUg KGNhc2UsIHRhZ3MpKQorKworKworK2NsYXNzIFRlc3RDb21wb3NpdGVUYWdNYXRjaGVyKFRlc3RD YXNlKToKKysKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgY291bnRfdGFnX21hdGNoZXJf d2l0aF9yZXN1bHQodGFnX21hdGNoZXJzLCB0YWdzLCByZXN1bHRfdmFsdWUpOgorKyAgICAgICAg Y291bnQgPSAwCisrICAgICAgICBmb3IgdGFnX21hdGNoZXIgaW4gdGFnX21hdGNoZXJzOgorKyAg ICAgICAgICAgIGN1cnJlbnRfcmVzdWx0ID0gdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0 aCh0YWdzKQorKyAgICAgICAgICAgIGlmIGN1cnJlbnRfcmVzdWx0ID09IHJlc3VsdF92YWx1ZToK KysgICAgICAgICAgICAgICAgY291bnQgKz0gMQorKyAgICAgICAgcmV0dXJuIGNvdW50CisrCisr ICAgIGRlZiBzZXRVcChzZWxmKToKKysgICAgICAgIHByZWRpY2F0ZV9mYWxzZSA9IGxhbWJkYSB0 YWdzOiBGYWxzZQorKyAgICAgICAgcHJlZGljYXRlX2NvbnRhaW5zX2ZvbyA9IGxhbWJkYSB0YWdz OiBhbnkoeCA9PSAiZm9vIiBmb3IgeCBpbiB0YWdzKQorKyAgICAgICAgc2VsZi50YWdfbWF0Y2hl cl9mYWxzZSA9IFByZWRpY2F0ZVRhZ01hdGNoZXIocHJlZGljYXRlX2ZhbHNlKQorKyAgICAgICAg c2VsZi50YWdfbWF0Y2hlcl9mb28gPSBQcmVkaWNhdGVUYWdNYXRjaGVyKHByZWRpY2F0ZV9jb250 YWluc19mb28pCisrICAgICAgICB0YWdfbWF0Y2hlcnMgPSBbCisrICAgICAgICAgICAgc2VsZi50 YWdfbWF0Y2hlcl9mb28sCisrICAgICAgICAgICAgc2VsZi50YWdfbWF0Y2hlcl9mYWxzZQorKyAg ICAgICAgXQorKyAgICAgICAgc2VsZi5jdGFnX21hdGNoZXIgPSBDb21wb3NpdGVUYWdNYXRjaGVy KHRhZ19tYXRjaGVycykKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0 dXJuc190cnVlX3doZW5fYW55X3RhZ19tYXRjaGVyX3JldHVybnNfdHJ1ZShzZWxmKToKKysgICAg ICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKCJjYXNlOiB3aXRoIGZvbyIsICBb ImZvbyIsICJiYXIiXSksCisrICAgICAgICAgICAgKCJjYXNlOiB3aXRoIGZvbzIiLCBbImZvb3p5 IiwgImZvbyIsICJiYXIiXSksCisrICAgICAgICBdCisrICAgICAgICBmb3IgY2FzZSwgdGFncyBp biB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIGFjdHVhbF9yZXN1bHQgPSBzZWxmLmN0YWdf bWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbChUcnVlLCBhY3R1YWxfcmVzdWx0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgICAgICAgICBhY3R1YWxf dHJ1ZV9jb3VudCA9IHNlbGYuY291bnRfdGFnX21hdGNoZXJfd2l0aF9yZXN1bHQoCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmN0YWdfbWF0Y2hlci50YWdfbWF0Y2hlcnMs IHRhZ3MsIFRydWUpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBhY3R1YWxfdHJ1 ZV9jb3VudCkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19m YWxzZV93aGVuX25vX3RhZ19tYXRjaGVyX3JldHVybl90cnVlKHNlbGYpOgorKyAgICAgICAgdGVz dF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoImNhc2U6IHdpdGhvdXQgZm9vIiwgICBbImZv b2wiLCAiYmFyIl0pLAorKyAgICAgICAgICAgICgiY2FzZTogd2l0aG91dCBmb28yIiwgIFsiZm9v enkiLCAiYmFyIl0pLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIGNhc2UsIHRhZ3MgaW4gdGVz dF9wYXR0ZXJuczoKKysgICAgICAgICAgICBhY3R1YWxfcmVzdWx0ID0gc2VsZi5jdGFnX21hdGNo ZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoRmFsc2UsIGFjdHVhbF9yZXN1bHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi JXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICAgICAgICAgIGFjdHVhbF90cnVl X2NvdW50ID0gc2VsZi5jb3VudF90YWdfbWF0Y2hlcl93aXRoX3Jlc3VsdCgKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmN0YWdfbWF0Y2hlci50YWdfbWF0Y2hlcnMs IHRhZ3MsIFRydWUpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBhY3R1YWxfdHJ1 ZV9jb3VudCkKKysnJycKKysKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNo ZXIucHkgYi90ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkKK2luZGV4IGEwNGMxZDQuLjQz ZjVhZjAgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkKKysrKyBi L3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQorQEAgLTEyOCw5ICsxMjgsOSBAQCBjbGFz cyBUZXN0QWN0aXZlVGFnTWF0Y2hlcjIob2JqZWN0KToKKyAgICAgICAgICMgLS0gR1JPVVA6IFdp dGggbmVnYXRlZCB0YWcKKyAgICAgICAgICgiY2FzZSBOMDA6IG5vdC1lbmFibGVkIGFuZCBkaXNh YmxlZCB0YWciLCBUcnVlLAorICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZW5hYmxl ZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnXSksCistICAgICAgICAoImNhc2Ug TjAxOiBub3QtZW5hYmxlZCBhbmQgZW5hYmxlZCB0YWciLCBGYWxzZSwKKysgICAgICAgICgiY2Fz ZSBOMDE6IG5vdC1lbmFibGVkIGFuZCBlbmFibGVkIHRhZyIsIFRydWUsCisgICAgICAgICAgWyB0 cmFpdHMuY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVk X3RhZ10pLAorLSAgICAgICAgKCJjYXNlIE4xMDogbm90LWRpc2FibGVkIGFuZCBkaXNhYmxlZCB0 YWciLCBGYWxzZSwKKysgICAgICAgICgiY2FzZSBOMTA6IG5vdC1kaXNhYmxlZCBhbmQgZGlzYWJs ZWQgdGFnIiwgVHJ1ZSwKKyAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2Rpc2FibGVk X3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWddKSwKKyAgICAgICAgICgiY2FzZSBO MTE6IG5vdC1kaXNhYmxlZCBhbmQgZW5hYmxlZCB0YWciLCBGYWxzZSwgIyAtLSBTSE9VTEQtUlVO CisgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcsIHRyYWl0cy5j YXRlZ29yeTFfZW5hYmxlZF90YWddKSwKK0BAIC0xMzgsNiArMTM4LDggQEAgY2xhc3MgVGVzdEFj dGl2ZVRhZ01hdGNoZXIyKG9iamVjdCk6CisgICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dp dGhfX2NvbWJpbmF0aW9uc193aXRoX3NhbWVfY2F0ZWdvcnkoc2VsZiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UsIGV4cGVjdGVk LCB0YWdzKToKKyAgICAgICAgIHRhZ19tYXRjaGVyID0gc2VsZi5tYWtlX3RhZ19tYXRjaGVyKCkK KysgICAgICAgIHByaW50KCJ0YWdzOiB7fSIuZm9ybWF0KHRhZ3MpICkKKysgICAgICAgIHByaW50 KCJ0YWdfbWF0Y2hlci52YWx1ZToge30iLmZvcm1hdCh0YWdfbWF0Y2hlci52YWx1ZV9wcm92aWRl cikgKQorICAgICAgICAgYWN0dWFsX3Jlc3VsdCA9IHRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRl X3dpdGgodGFncykKKyAgICAgICAgIGFzc2VydCBleHBlY3RlZCA9PSBhY3R1YWxfcmVzdWx0LCBj YXNlCisgCitAQCAtMjI0LDYgKzIyNiw3IEBAIGNsYXNzIFRlc3RBY3RpdmVUYWdNYXRjaGVyMShU ZXN0Q2FzZSk6CisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNf ZmFsc2Vfd2l0aF9kaXNhYmxlZF90YWdfYW5kX21vcmUoc2VsZik6CisgICAgICAgICAjIC0tIE5P VEU6IE5lZWQgMSsgZW5hYmxlZCBhY3RpdmUtdGFncyBvZiBzYW1lIGNhdGVnb3J5ID0+IEVOQUJM RUQKKysgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcKKyAgICAgICAgIHRy YWl0cyA9IHNlbGYudHJhaXRzCisgICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworICAgICAgICAg ICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlz YWJsZWRfdGFnIF0sICJjYXNlOiBmaXJzdCIpLAorQEAgLTI4Myw3ICsyODYsNyBAQCBjbGFzcyBU ZXN0QWN0aXZlVGFnTWF0Y2hlcjEoVGVzdENhc2UpOgorICAgICAgICAgIiIiCisgICAgICAgICB0 cmFpdHMgPSBzZWxmLnRyYWl0cworICAgICAgICAgdGFncyA9IFsgdHJhaXRzLnVua25vd25fY2F0 ZWdvcnlfdGFnIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImFjdGl2ZS53aXRoX1VOS05P V049b25lIiwgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnKQorKyAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbCgidXNlLndpdGhfVU5LTk9XTj1vbmUiLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90 YWcpCisgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHNlbGYudGFnX21hdGNoZXIudmFs dWVfcHJvdmlkZXIuZ2V0KCJVTktOT1dOIikpCisgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZh bHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCisgCitAQCAt Mzc2LDQyICszNzksNiBAQCBjbGFzcyBUZXN0UHJlZGljYXRlVGFnTWF0Y2hlcihUZXN0Q2FzZSk6 CisgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBwcmVkaWNhdGVfYWx3YXlzX2ZhbHNl KHRhZ3MpKQorIAorIAorLWNsYXNzIFRlc3RQcmVkaWNhdGVUYWdNYXRjaGVyKFRlc3RDYXNlKToK Ky0KKy0gICAgZGVmIHRlc3RfZXhjbHVkZV93aXRoX19tZWNoYW5pY3Moc2VsZik6CistICAgICAg ICBwcmVkaWNhdGVfZnVuY3Rpb25fYmx1ZXByaW50ID0gbGFtYmRhIHRhZ3M6IEZhbHNlCistICAg ICAgICBwcmVkaWNhdGVfZnVuY3Rpb24gPSBNb2NrKHByZWRpY2F0ZV9mdW5jdGlvbl9ibHVlcHJp bnQpCistICAgICAgICBwcmVkaWNhdGVfZnVuY3Rpb24ucmV0dXJuX3ZhbHVlID0gVHJ1ZQorLSAg ICAgICAgdGFnX21hdGNoZXIgPSBQcmVkaWNhdGVUYWdNYXRjaGVyKHByZWRpY2F0ZV9mdW5jdGlv bikKKy0gICAgICAgIHRhZ3MgPSBbICJmb28iLCAiYmFyIiBdCistICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKFRydWUsIHRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCistICAg ICAgICBwcmVkaWNhdGVfZnVuY3Rpb24uYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgodGFncykKKy0g ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgcHJlZGljYXRlX2Z1bmN0aW9uKHRhZ3MpKQor LQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2hlbl9w cmVkaWNhdGVfaXNfdHJ1ZShzZWxmKToKKy0gICAgICAgIHByZWRpY2F0ZV9hbHdheXNfdHJ1ZSA9 IGxhbWJkYSB0YWdzOiBUcnVlCistICAgICAgICB0YWdfbWF0Y2hlcjEgPSBQcmVkaWNhdGVUYWdN YXRjaGVyKHByZWRpY2F0ZV9hbHdheXNfdHJ1ZSkKKy0gICAgICAgIHRhZ3MgPSBbICJmb28iLCAi YmFyIiBdCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHRhZ19tYXRjaGVyMS5zaG91 bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBw cmVkaWNhdGVfYWx3YXlzX3RydWUodGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNs dWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aGVuX3ByZWRpY2F0ZV9pc190cnVlMihzZWxmKToKKy0g ICAgICAgICMgLS0gQ0FTRTogVXNlIHByZWRpY2F0ZSBmdW5jdGlvbiBpbnN0ZWFkIG9mIGxhbWJk YS4KKy0gICAgICAgIGRlZiBwcmVkaWNhdGVfY29udGFpbnNfZm9vKHRhZ3MpOgorLSAgICAgICAg ICAgIHJldHVybiBhbnkoeCA9PSAiZm9vIiBmb3IgeCBpbiB0YWdzKQorLSAgICAgICAgdGFnX21h dGNoZXIyID0gUHJlZGljYXRlVGFnTWF0Y2hlcihwcmVkaWNhdGVfY29udGFpbnNfZm9vKQorLSAg ICAgICAgdGFncyA9IFsgImZvbyIsICJiYXIiIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo VHJ1ZSwgdGFnX21hdGNoZXIyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCistICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKFRydWUsIHByZWRpY2F0ZV9jb250YWluc19mb28odGFncykpCistCist ICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2hlbl9wcmVk aWNhdGVfaXNfZmFsc2Uoc2VsZik6CistICAgICAgICBwcmVkaWNhdGVfYWx3YXlzX2ZhbHNlID0g bGFtYmRhIHRhZ3M6IEZhbHNlCistICAgICAgICB0YWdfbWF0Y2hlcjEgPSBQcmVkaWNhdGVUYWdN YXRjaGVyKHByZWRpY2F0ZV9hbHdheXNfZmFsc2UpCistICAgICAgICB0YWdzID0gWyAiZm9vIiwg ImJhciIgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgdGFnX21hdGNoZXIxLnNo b3VsZF9leGNsdWRlX3dpdGgodGFncykpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNl LCBwcmVkaWNhdGVfYWx3YXlzX2ZhbHNlKHRhZ3MpKQorLQorLQorIGNsYXNzIFRlc3RDb21wb3Np dGVUYWdNYXRjaGVyKFRlc3RDYXNlKToKKyAKKyAgICAgQHN0YXRpY21ldGhvZApkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEx MC1GSVgtVGVzdHMtdy1tb3JlLmZlYXR1cmVzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMC1GSVgtVGVzdHMtdy1tb3JlLmZlYXR1 cmVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMzVlMjZiMGJk Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDExMC1GSVgtVGVzdHMtdy1tb3JlLmZlYXR1cmVzLnBhdGNoCkBAIC0w LDAgKzEsNTYgQEAKK0Zyb20gNjNlMTVlOGY4OWUwZTkxNDRiZGExOGRmM2UwOGU5NmU4YzliZmU1 MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMu bm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAyMDIxIDIyOjA5OjU5ICswMTAw CitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogVGVzdHMgdy8gbW9yZS5mZWF0dXJlcy8KKworLS0tCisg cHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQgICAgfCAyICsrCisgcHkucmVxdWlyZW1lbnRzL2Np LnRyYXZpcy50eHQgfCAyICsrCisgdG94LmluaSAgICAgICAgICAgICAgICAgICAgICAgfCA0ICsr LS0KKyAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0IGIvcHkucmVxdWlyZW1lbnRz L2NpLnRveC50eHQKK2luZGV4IDViZWU1MjQuLjM4N2U5MDUgMTAwNjQ0CistLS0gYS9weS5yZXF1 aXJlbWVudHMvY2kudG94LnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQKK0BA IC0xMywzICsxMyw1IEBAIFB5SGFtY3Jlc3QgPCAgMi4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICcz LjAnCisgIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ug d2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisgcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJz aW9uIDwgICczLjUnCisgcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUn CisrCisranNvbnNjaGVtYQorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMu dHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKK2luZGV4IDM3MjExNmEuLmNiYzYw YzAgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorKysrIGIvcHku cmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKK0BAIC0xNiw2ICsxNiw4IEBAIFB5SGFtY3Jlc3Qg PCAgMi4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICczLjAnCisgcGF0aC5weSA+PSAxMS41LjA7IHB5 dGhvbl92ZXJzaW9uIDwgICczLjUnCisgcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9u ID49ICczLjUnCisgCisranNvbnNjaGVtYQorKworICMgLS0gTk9URTogVHJhdmlzLkNJIHR3ZWFr IHJlbGF0ZWQgdy8gaW52YWxpZCBsaW5lY2FjaGUyIHRlc3RzLgorICMgICAgVGhpcyBwcm9ibGVt IGRvZXMgbm90IGV4aXN0IGlmIHlvdSB1c2UgcGlwLgorIGxpbmVjYWNoZTIgPj0gMS4wOyBweXRo b25fdmVyc2lvbiA8ICczLjAnCitkaWZmIC0tZ2l0IGEvdG94LmluaSBiL3RveC5pbmkKK2luZGV4 IDhjY2I1OGIuLmMxNDViNTEgMTAwNjQ0CistLS0gYS90b3guaW5pCisrKysgYi90b3guaW5pCitA QCAtNiw3ICs2LDcgQEAKKyAjICAgVXNlIHRveCB0byBydW4gdGFza3MgKHRlc3RzLCAuLi4pIGlu IGEgY2xlYW4gdmlydHVhbCBlbnZpcm9ubWVudC4KKyAjICAgQWZ0ZXJ3YXJkcyB5b3UgY2FuIHJ1 biB0b3ggaW4gb2ZmbGluZSBtb2RlLCBsaWtlOgorICMKKy0jICAgICAgIHRveCAtZSBweTI3Cisr IyAgICAgICB0b3ggLWUgcHkzOAorICMKKyAjICAgVG94IGNhbiBiZSBjb25maWd1cmVkIGZvciBv ZmZsaW5lIHVzYWdlLgorICMgICBJbml0aWFsaXplIGxvY2FsIHdvcmtzcGFjZSBvbmNlIChkb3du bG9hZCBwYWNrYWdlcywgY3JlYXRlIFB5UEkgaW5kZXgpOgorQEAgLTI4LDcgKzI4LDcgQEAKKyAK KyBbdG94XQorIG1pbnZlcnNpb24gICA9IDIuMworLWVudmxpc3QgICAgICA9IHB5MjcsIHB5Mzcs IHB5MzgsIHB5MzYsIHB5MzUsIHB5cHksIGRvY3MKKytlbnZsaXN0ICAgICAgPSBweTM5LCBweTM4 LCBweTI3LCBweTM3LCBweTM2LCBweTM1LCBweXB5MywgcHlweSwgZG9jcworIHNraXBfbWlzc2lu Z19pbnRlcnByZXRlcnMgPSBUcnVlCisgc2l0ZXBhY2thZ2VzID0gRmFsc2UKKyBpbmRleHNlcnZl ciA9CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMTExLUZJWC1Tb21lLXJlZ3Jlc3Npb25zLXdpdGgtUHl0aG9uLTMuOS5wYXRj aCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAx MTEtRklYLVNvbWUtcmVncmVzc2lvbnMtd2l0aC1QeXRob24tMy45LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNWQ1NjBhZDNkCi0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMS1G SVgtU29tZS1yZWdyZXNzaW9ucy13aXRoLVB5dGhvbi0zLjkucGF0Y2gKQEAgLTAsMCArMSw3NDEg QEAKK0Zyb20gM2MyMDdhYzlhYzgzZDM5NjZhN2E4NGI4NzgyMzk0ZGM2MDMwMzBjZCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAyMDIxIDIyOjExOjM4ICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIEZJWDogU29tZSByZWdyZXNzaW9ucyB3aXRoIFB5dGhvbiAzLjkKKworKiBhc3lu Yy1zdGVwczogVXNlIG1vcmUgc3RhYmxlIGFjdGl2ZS10YWdzIG5vdy4KKyogSlVuaXQgWE1MIHJl bGF0ZWQ6IEFkYXB0IHRvIFhNTCBhdHRyaWJ1dGUgb3JkZXJpbmcgY2hhbmdlcyBzaW5jZSBQeXRo b24gMy44LgorKiBQcmVwYXJlIGFjdGl2ZS10YWdzIHVzYWdlIGZvciBQeXRob24gMy4xMAorKiBC ZWhhdmUganNvbnNjaGVtYTogQWRkIHNvbWUgZXh0cmEgZWxlbWVudHMgKHJlbGF0ZWQgdG86IGdo ZXJraW4gdjYgUnVsZSkuCistLS0KKyAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMSArCisgQ0hBTkdFUy5yc3QgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKworIGJlaGF2ZS9weXRob25fZmVhdHVyZS5weSAgICAgICAgICAgICAg ICAgICAgICB8IDgxICsrKysrKysrKysrKysrKysrKysKKyBldGMvanNvbi9iZWhhdmUuanNvbi1z Y2hlbWEgICAgICAgICAgICAgICAgICAgfCAyOCArKysrKystCisgLi4uL2ZlYXR1cmVzL2FzeW5j X2Rpc3BhdGNoLmZlYXR1cmUgICAgICAgICAgIHwgIDcgKy0KKyAuLi4vYXN5bmNfc3RlcC9mZWF0 dXJlcy9hc3luY19ydW4uZmVhdHVyZSAgICAgfCAgNyArLQorIGV4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgICB8IDE2ICsrLS0KKyAuLi4vZmVhdHVyZXMvc3RlcHMv X2FzeW5jX3N0ZXBzMzQucHkgICAgICAgICAgfCAgNCArLQorIC4uLi9mZWF0dXJlcy9zdGVwcy9h c3luY19kaXNwYXRjaF9zdGVwcy5weSAgICB8IDEzICstLQorIC4uLi9hc3luY19zdGVwL2ZlYXR1 cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5ICB8ICA2ICstCisgZmVhdHVyZXMvZW52aXJvbm1lbnQu cHkgICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKystCisgZmVhdHVyZXMvc3RlcC5hc3luY19z dGVwcy5mZWF0dXJlICAgICAgICAgICAgIHwgNjQgKysrKy0tLS0tLS0tLS0tCisgaXNzdWUuZmVh dHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUgICAgICAgICAgICAgIHwgMTggKysrLS0KKyBpc3N1ZS5m ZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZSAgICAgICAgICAgICAgfCAxMiArKy0KKyBpc3N1ZS5m ZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZSAgICAgICAgICAgICAgfCAxMiArKy0KKyBpc3N1ZS5m ZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVyZSAgICAgICAgICAgICAgfCAxMSArLS0KKyBtb3JlLmZl YXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAgICAgICAgICAgfCAxMCArLS0KKyBtb3JlLmZl YXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlICAgICAgICAgICAgfCAgOSArLS0KKyAxOCBmaWxl cyBjaGFuZ2VkLCAxOTUgaW5zZXJ0aW9ucygrKSwgMTE4IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBt b2RlIDEwMDY0NCBiZWhhdmUvcHl0aG9uX2ZlYXR1cmUucHkKKworZGlmZiAtLWdpdCBhLy5naXRp Z25vcmUgYi8uZ2l0aWdub3JlCitpbmRleCA5YzVjMzNkLi44ZDdjMjhlIDEwMDY0NAorLS0tIGEv LmdpdGlnbm9yZQorKysrIGIvLmdpdGlnbm9yZQorQEAgLTI1LDMgKzI1LDQgQEAgdG9vbHMvdmly dHVhbGVudnMKKyAucm9wZXByb2plY3QKKyBub3NldGVzdHMueG1sCisgcmVydW4udHh0CisrdGVz dHJ1biouanNvbgorZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4 IDRlMjBiYjguLmEzMzk4ZDggMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdF Uy5yc3QKK0BAIC0zOCw2ICszOCw4IEBAIENMQVJJRklDQVRJT046CisgCisgRklYRUQ6CisgCisr KiBGSVhFRDogU29tZSB0ZXN0cyByZWxhdGVkIHRvIHB5dGhvbjMuOQorKyogRklYRUQ6IGFjdGl2 ZS10YWcgbG9naWMgaWYgbXVsdGlwbGUgdGFncyB3aXRoIHNhbWUgY2F0ZWdvcnkgZXhpc3RzLgor ICogaXNzdWUgIzc3MjogU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzIHdpdGhvdXQgdGFibGUgKHN1 Ym1pdHRlZCBieTogVGhlLVFBLUdlZWspCisgKiBpc3N1ZSAjNzU1OiBGYWlsdXJlcyB3aXRoIFB5 dGhvbiAzLjggKHN1Ym1pdHRlZCBieTogaHJvbmNvaykKKyAqIGlzc3VlICM3MjU6IFNjZW5hcmlv IE91dGxpbmUgZGVzY3JpcHRpb24gbGluZXMgc2VlbSB0byBiZSBpZ25vcmVkIChzdWJtaXR0ZWQg Ynk6IG5pendpeikKK2RpZmYgLS1naXQgYS9iZWhhdmUvcHl0aG9uX2ZlYXR1cmUucHkgYi9iZWhh dmUvcHl0aG9uX2ZlYXR1cmUucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw Li40ZTEzNGRlCistLS0gL2Rldi9udWxsCisrKysgYi9iZWhhdmUvcHl0aG9uX2ZlYXR1cmUucHkK K0BAIC0wLDAgKzEsODEgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyIiIgorK1Byb3Zp ZGVzIGEga25vd2xlZGdlIGRhdGFiYXNlIGlmIHNvbWUgUHl0aG9uIGZlYXR1cmVzIGFyZSBzdXBw b3J0ZWQKKytpbiB0aGUgY3VycmVudCBweXRob24gdmVyc2lvbi4KKysiIiIKKysKKytmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorK2ltcG9ydCBzeXMKKytpbXBvcnQgc2l4 CisrZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0IGJvb2xfdG9fc3RyaW5nCisrCisrCisr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ09OU1RBTlRTOgorKyMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKytQWVRIT05fVkVSU0lPTiA9IHN5cy52ZXJzaW9uX2luZm9bOjJdCisrCisrCisrIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ0xBU1NFUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisrY2xhc3MgUHl0aG9uRmVhdHVyZShvYmplY3QpOgorKworKyAgICBAc3RhdGljbWV0aG9kCisr ICAgIGRlZiBoYXNfYXN5bmNpb19jb3JvdXRpbmVfZGVjb3JhdG9yKCk6CisrICAgICAgICAiIiJJ bmRpY2F0ZXMgaWYgcHl0aG9uIHN1cHBvcnRzIGBgQGFzeW5jaW8uY29yb3V0aW5lYGAgZGVjb3Jh dG9yLgorKworKyAgICAgICAgRVhBTVBMRTo6CisrCisrICAgICAgICAgICAgaW1wb3J0IGFzeW5j aW8KKysgICAgICAgICAgICBAYXN5bmNpby5jb3JvdXRpbmUKKysgICAgICAgICAgICBkZWYgYXN5 bmNfd2FpdHNfc2Vjb25kcyhkdXJhdGlvbik6CisrICAgICAgICAgICAgICAgIHlpZWxkIGZyb20g YXN5bmNpby5zbGVlcChkdXJhdGlvbikKKysKKysgICAgICAgIDpyZXR1cm5zOiBUcnVlLCBpZiB0 aGlzIHB5dGhvbiB2ZXJzaW9uIHN1cHBvcnRzIHRoaXMgZmVhdHVyZS4KKysKKysgICAgICAgIC4u IHNpbmNlOjogUHl0aG9uID49IDMuNAorKyAgICAgICAgLi4gZGVwcmVjYXRlZDo6IFNpbmNlIFB5 dGhvbiAzLjggKHVzZSBhc3luYy1mdW5jdGlvbiBpbnN0ZWFkKQorKyAgICAgICAgIiIiCisrICAg ICAgICAjIC0tIE5PVEU6IEBhc3luY2lvLmNvcm91dGluZSBpcyBkZXByZWNhdGVkIGluIHB5My44 LCByZW1vdmVkIGluIHB5My4xMAorKyAgICAgICAgcmV0dXJuICgzLCA0KSA8PSBQWVRIT05fVkVS U0lPTiA8ICgzLCAxMCkKKysKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgaGFzX2FzeW5j X2Z1bmN0aW9uKCk6CisrICAgICAgICAiIiJJbmRpY2F0ZXMgaWYgcHl0aG9uIHN1cHBvcnRzIGFz eW5jLWZ1bmN0aW9ucyAvIGFzeW5jLWtleXdvcmQuCisrCisrICAgICAgICBFWEFNUExFOjoKKysK KysgICAgICAgICAgICBpbXBvcnQgYXN5bmNpbworKyAgICAgICAgICAgIGFzeW5jIGRlZiBhc3lu Y193YWl0c19zZWNvbmRzKGR1cmF0aW9uKToKKysgICAgICAgICAgICAgICAgeWllbGQgZnJvbSBh c3luY2lvLnNsZWVwKGR1cmF0aW9uKQorKworKyAgICAgICAgOnJldHVybnM6IFRydWUsIGlmIHRo aXMgcHl0aG9uIHZlcnNpb24gc3VwcG9ydHMgdGhpcyBmZWF0dXJlLgorKyAgICAgICAgLi4gc2lu Y2U6OiBQeXRob24gPj0gMy41CisrICAgICAgICAiIiIKKysgICAgICAgIHJldHVybiAoMywgNSkg PD0gUFlUSE9OX1ZFUlNJT04KKysKKysgICAgQGNsYXNzbWV0aG9kCisrICAgIGRlZiBoYXNfY29y b3V0aW5lKGNscyk6CisrICAgICAgICByZXR1cm4gY2xzLmhhc19hc3luY19mdW5jdGlvbigpIG9y IGNscy5oYXNfYXN5bmNpb19jb3JvdXRpbmVfZGVjb3JhdG9yKCkKKysKKysKKysjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrIyBTVVBQT1JURUQ6IEFDVElWRS1UQUdTCisrIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorK1BZVEhPTl9IQVNfQVNZTkNJT19DT1JPVVRJTkVfREVDT1JBVE9SID0gUHl0aG9u RmVhdHVyZS5oYXNfYXN5bmNpb19jb3JvdXRpbmVfZGVjb3JhdG9yKCkKKytQWVRIT05fSEFTX0FT WU5DX0ZVTkNUSU9OID0gUHl0aG9uRmVhdHVyZS5oYXNfYXN5bmNfZnVuY3Rpb24oKQorK1BZVEhP Tl9IQVNfQ09ST1VUSU5FID0gUHl0aG9uRmVhdHVyZS5oYXNfY29yb3V0aW5lKCkKKytBQ1RJVkVf VEFHX1ZBTFVFX1BST1ZJREVSID0geworKyAgICAicHl0aG9uMiI6IGJvb2xfdG9fc3RyaW5nKHNp eC5QWTIpLAorKyAgICAicHl0aG9uMyI6IGJvb2xfdG9fc3RyaW5nKHNpeC5QWTMpLAorKyAgICAi cHl0aG9uLnZlcnNpb24iOiAiJXMuJXMiICUgUFlUSE9OX1ZFUlNJT04sCisrICAgICJvcyI6ICAg ICAgc3lzLnBsYXRmb3JtLmxvd2VyKCksCisrCisrICAgICMgLS0gUFlUSE9OIEZFQVRVUkUsIGxp a2U6IEB1c2Uud2l0aF9weS5mZWF0dXJlX2FzeW5jaW8uY29yb3V0aW5lCisrICAgICJweXRob25f aGFzX2Nvcm91dGluZSI6IGJvb2xfdG9fc3RyaW5nKFBZVEhPTl9IQVNfQ09ST1VUSU5FKSwKKysg ICAgInB5dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVfZGVjb3JhdG9yIjoKKysgICAgICAgIGJv b2xfdG9fc3RyaW5nKFBZVEhPTl9IQVNfQVNZTkNJT19DT1JPVVRJTkVfREVDT1JBVE9SKSwKKysg ICAgInB5dGhvbl9oYXNfYXN5bmNfZnVuY3Rpb24iOiBib29sX3RvX3N0cmluZyhQWVRIT05fSEFT X0FTWU5DX0ZVTkNUSU9OKSwKKysgICAgInB5dGhvbl9oYXNfYXN5bmNfa2V5d29yZCI6IGJvb2xf dG9fc3RyaW5nKFBZVEhPTl9IQVNfQVNZTkNfRlVOQ1RJT04pLAorK30KK2RpZmYgLS1naXQgYS9l dGMvanNvbi9iZWhhdmUuanNvbi1zY2hlbWEgYi9ldGMvanNvbi9iZWhhdmUuanNvbi1zY2hlbWEK K2luZGV4IDljZjNlNjIuLjExMGUyNDAgMTAwNjQ0CistLS0gYS9ldGMvanNvbi9iZWhhdmUuanNv bi1zY2hlbWEKKysrKyBiL2V0Yy9qc29uL2JlaGF2ZS5qc29uLXNjaGVtYQorQEAgLTI4LDEwICsy OCwzNiBAQAorICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCisgICAgICAgICAgICAgImFu eU9mIjogWworICAgICAgICAgICAgICAgICB7ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvQmFja2dy b3VuZCIgfSwKKysgICAgICAgICAgICAgICAgeyAiJHJlZiI6ICIjL2RlZmluaXRpb25zL1J1bGUi IH0sCisgICAgICAgICAgICAgICAgIHsgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9TY2VuYXJpbyIg fSwKKyAgICAgICAgICAgICAgICAgeyAiJHJlZiI6ICIjL2RlZmluaXRpb25zL1NjZW5hcmlvT3V0 bGluZSIgfQorICAgICAgICAgICAgIF0KKyAgICAgICAgIH0sCisrICAgICAgICAiUnVsZSI6IHsK KysgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorKyAgICAgICAgICAgICJkZXNjcmlwdGlv biI6ICJSZXByZXNlbnRzIGEgUnVsZSBvYmplY3QuIiwKKysgICAgICAgICAgICAicHJvcGVydGll cyI6IHsKKysgICAgICAgICAgICAgICAgIm5hbWUiOiAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0s CisrICAgICAgICAgICAgICAgICJrZXl3b3JkIjogIHsgInR5cGUiOiAic3RyaW5nIiB9LAorKyAg ICAgICAgICAgICAgICAibG9jYXRpb24iOiB7ICJ0eXBlIjogInN0cmluZyIgfSwKKysgICAgICAg ICAgICAgICAgInN0YXR1cyI6ICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCisrICAgICAgICAgICAg ICAgICJ0YWdzIjogICAgIHsgIiRyZWYiOiAiIy9kZWZpbml0aW9ucy9UYWdzIiB9LAorKyAgICAg ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiB7ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvTXVsdGlM aW5lVGV4dCIgfSwKKysgICAgICAgICAgICAgICAgImVsZW1lbnRzIjogeworKyAgICAgICAgICAg ICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAorKyAgICAgICAgICAgICAgICAgICAgIml0ZW1zIjog eyAiJHJlZiI6ICIjL2RlZmluaXRpb25zL1J1bGVFbGVtZW50IiB9CisrICAgICAgICAgICAgICAg IH0KKysgICAgICAgICAgICB9LAorKyAgICAgICAgICAgICJyZXF1aXJlZCI6IFsgIm5hbWUiLCAi a2V5d29yZCIsICJsb2NhdGlvbiIgXQorKyAgICAgICAgfSwKKysgICAgICAgICJSdWxlRWxlbWVu dCI6IHsKKysgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorKyAgICAgICAgICAgICJhbnlP ZiI6IFsKKysgICAgICAgICAgICAgICAgeyAiJHJlZiI6ICIjL2RlZmluaXRpb25zL1NjZW5hcmlv IiB9LAorKyAgICAgICAgICAgICAgICB7ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvU2NlbmFyaW9P dXRsaW5lIiB9LAorKyAgICAgICAgICAgICAgICB7ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvQmFj a2dyb3VuZCIgfQorKyAgICAgICAgICAgIF0KKysgICAgICAgIH0sCisgICAgICAgICAiQmFja2dy b3VuZCI6IHsKKyAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAgICAgICJw cm9wZXJ0aWVzIjogeworQEAgLTE2OSw0ICsxOTUsNCBAQAorICAgICAgICAgICAgICJlbnVtIjog WyAiYXJyYXkiLCAiYm9vbGVhbiIsICJpbnRlZ2VyIiwgIm51bGwiLCAibnVtYmVyIiwgIm9iamVj dCIsICJzdHJpbmciIF0KKyAgICAgICAgIH0KKyAgICAgfQorLX0KK1wgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQorK30KK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVz L2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Fz eW5jX2Rpc3BhdGNoLmZlYXR1cmUKK2luZGV4IDE4ZTk4NjkuLmUwZWJhMWUgMTAwNjQ0CistLS0g YS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUKKysr KyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZQor QEAgLTEsOCArMSw1IEBACistQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorLUB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjUKKy1AdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CistQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLUB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgK KytAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY19mdW5jdGlvbj10cnVlCisrQHVzZS53aXRoX3B5 dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVfZGVjb3JhdG9yPXRydWUKKyBGZWF0dXJlOgorICAg U2NlbmFyaW86CisgICAgIEdpdmVuIEkgZGlzcGF0Y2ggYW4gYXN5bmMtY2FsbCB3aXRoIHBhcmFt ICJBbGljZSIKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5j X3J1bi5mZWF0dXJlIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVh dHVyZQoraW5kZXggMjliOGZhNy4uOGI2ZTU1NSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5j X3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUKK0BAIC0xLDggKzEsNSBAQAorLUB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjQKKy1AdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CistQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorLUB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcK Ky1AdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5 bmNfZnVuY3Rpb249dHJ1ZQorK0B1c2Uud2l0aF9weXRob25faGFzX2FzeW5jaW8uY29yb3V0aW5l X2RlY29yYXRvcj10cnVlCisgRmVhdHVyZToKKyAgIFNjZW5hcmlvOgorICAgICBHaXZlbiBhbiBh c3luYy1zdGVwIHdhaXRzIDAuMyBzZWNvbmRzCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNf c3RlcC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVy ZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDAyYzRkOTIuLjNmYTk2MDQgMTAwNjQ0CistLS0gYS9l eGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrKysgYi9leGFtcGxl cy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAtMiw3ICsyLDggQEAKKyAK KyBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBf YWN0aXZlX3RhZ192YWx1ZXMKKyBmcm9tIGJlaGF2ZS5hcGkucnVudGltZV9jb25zdHJhaW50IGlt cG9ydCByZXF1aXJlX21pbl9weXRob25fdmVyc2lvbgorLWltcG9ydCBzeXMKKytmcm9tIGJlaGF2 ZSBpbXBvcnQgcHl0aG9uX2ZlYXR1cmUKKysKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg IyBSRVFVSVJFOiBweXRob24gPj0gMy40CitAQCAtMTUsMjcgKzE2LDI0IEBAIHJlcXVpcmVfbWlu X3B5dGhvbl92ZXJzaW9uKCIzLjQiKQorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIC0tIE1B VENIRVMgQU5ZIFRBR1M6IEB1c2Uud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKyAjIE5PVEU6IGFj dGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgcHJvdmlkZXMgY2F0ZWdvcnkgdmFsdWVzIGZvciBhY3Rp dmUgdGFncy4KKy1weXRob25fdmVyc2lvbiA9ICIlcy4lcyIgJSBzeXMudmVyc2lvbl9pbmZvWzoy XQorLWFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgPSB7CistICAgICJweXRob24udmVyc2lvbiI6 IHB5dGhvbl92ZXJzaW9uLAorLX0KKythY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0gcHl0aG9u X2ZlYXR1cmUuQUNUSVZFX1RBR19WQUxVRV9QUk9WSURFUi5jb3B5KCkKKyBhY3RpdmVfdGFnX21h dGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIpCisgCisg CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgSE9PS1M6CisgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorLWRlZiBiZWZvcmVfYWxsKGNvbnRleHQpOgorK2RlZiBiZWZvcmVfYWxsKGN0eCk6Cisg ICAgICMgLS0gU0VUVVAgQUNUSVZFLVRBRyBNQVRDSEVSICh3aXRoIHVzZXJkYXRhKToKKy0gICAg c2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwgY29udGV4 dC5jb25maWcudXNlcmRhdGEpCisrICAgIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2ZV90 YWdfdmFsdWVfcHJvdmlkZXIsIGN0eC5jb25maWcudXNlcmRhdGEpCisgCisgCistZGVmIGJlZm9y ZV9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpOgorK2RlZiBiZWZvcmVfZmVhdHVyZShjdHgsIGZl YXR1cmUpOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChm ZWF0dXJlLnRhZ3MpOgorICAgICAgICAgZmVhdHVyZS5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21h dGNoZXIuZXhjbHVkZV9yZWFzb24pCisgCisgCistZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0 LCBzY2VuYXJpbyk6CisrZGVmIGJlZm9yZV9zY2VuYXJpbyhjdHgsIHNjZW5hcmlvKToKKyAgICAg aWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0 aXZlX3RhZ3MpOgorICAgICAgICAgc2NlbmFyaW8uc2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRj aGVyLmV4Y2x1ZGVfcmVhc29uKQorIAorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQucHkgYi9leGFtcGxlcy9hc3luY19zdGVwL2Zl YXR1cmVzL3N0ZXBzL19hc3luY19zdGVwczM0LnB5CitpbmRleCA1NTY1MDBmLi5mYzRjOGQxIDEw MDY0NAorLS0tIGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3Rl cHMzNC5weQorKysrIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNf c3RlcHMzNC5weQorQEAgLTEsNSArMSw1IEBACistIyAtLSBSRVFVSVJFUzogUHl0aG9uID49IDMu NCBhbmQgUHl0aG9uIDwgMy44CistIyBISU5UOiBEZWNvcmF0b3IgQGFzeW5jaW8uY29yb3V0aW5l IGlzIHByb2hpYml0ZWQgaW4gcHl0aG9uIDMuOAorKyMgLS0gUkVRVUlSRVM6IFB5dGhvbiA+PSAz LjQgYW5kIFB5dGhvbiA8IDMuMTAgKHJlbW92ZWQgaW46IDMuMTApCisrIyBISU5UOiBAYXN5bmNp by5jb3JvdXRpbmUgZGVjb3JhdG9yIGlzIGRlcHJlY2F0ZWQgc2luY2UgcHl0aG9uIDMuOAorICMg VVNFOiAgQXN5bmMgZ2VuZXJhdG9yL2Nvcm91dGluZSBpbnN0ZWFkLgorIAorIGZyb20gYmVoYXZl IGltcG9ydCBzdGVwCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9z dGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVy ZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkKK2luZGV4IDIyMmU1NGQuLmRlZjk2MTYg MTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rp c3BhdGNoX3N0ZXBzLnB5CisrKysgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBz L2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5CitAQCAtMSw4ICsxLDkgQEAKKyAjIC0qLSBjb2Rpbmc6 IFVURi04IC0qLQorICMgUkVRVUlSRVM6IFB5dGhvbiA+PSAzLjQvMy41CistaW1wb3J0IHN5cwor KworIGZyb20gYmVoYXZlIGltcG9ydCBnaXZlbiwgdGhlbiwgc3RlcAorIGZyb20gYmVoYXZlLmFw aS5hc3luY19zdGVwIGltcG9ydCB1c2Vfb3JfY3JlYXRlX2FzeW5jX2NvbnRleHQKKytmcm9tIGJl aGF2ZS5weXRob25fZmVhdHVyZSBpbXBvcnQgUHl0aG9uRmVhdHVyZQorIGZyb20gaGFtY3Jlc3Qg aW1wb3J0IGFzc2VydF90aGF0LCBlcXVhbF90bywgZW1wdHkKKyBpbXBvcnQgYXN5bmNpbworIAor QEAgLTEwLDEzICsxMSwxNSBAQCBpbXBvcnQgYXN5bmNpbworICMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgIyBBU1lOQyBFWEFNUExFIEZVTkNUSU9OOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistcHl0 aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKy1pZiBweXRob25f dmVyc2lvbiA+PSAiMy41IjoKKytpZiBQeXRob25GZWF0dXJlLmhhc19hc3luY19mdW5jdGlvbigp OgorKyAgICAjIC0tIFVTRTogYXN5bmMtZnVuY3Rpb24gYXMgY29yb3V0aW5lLWZ1bmN0aW9uCisr ICAgICMgU0lOQ0U6IFB5dGhvbiAzLjUgKHByZWZlcnJlZCkKKyAgICAgYXN5bmMgZGVmIGFzeW5j X2Z1bmMocGFyYW0pOgorICAgICAgICAgYXdhaXQgYXN5bmNpby5zbGVlcCgwLjIpCisgICAgICAg ICByZXR1cm4gc3RyKHBhcmFtKS51cHBlcigpCistZWxzZToKKy0gICAgIyAtLSBISU5UOiBEZWNv cmF0b3IgQGFzeW5jaW8uY29yb3V0aW5lIGlzIHByb2hpYml0ZWQgaW4gcHl0aG9uIDMuOAorK2Vs aWYgUHl0aG9uRmVhdHVyZS5oYXNfYXN5bmNpb19jb3JvdXRpbmVfZGVjb3JhdG9yKCk6CisrICAg ICMgLS0gVVNFOiBAYXN5bmNpby5jb3JvdXRpbmUgZGVjb3JhdG9yCisrICAgICMgU0lOQ0U6IFB5 dGhvbiAzLjQsIGRlcHJlY2F0ZWQgc2luY2UgUHl0aG9uIDMuOCwgcmVtb3ZlZCBpbiBQeXRob24g My4xMAorICAgICBAYXN5bmNpby5jb3JvdXRpbmUKKyAgICAgZGVmIGFzeW5jX2Z1bmMocGFyYW0p OgorICAgICAgICAgeWllbGQgZnJvbSBhc3luY2lvLnNsZWVwKDAuMikKK2RpZmYgLS1naXQgYS9l eGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5IGIvZXhhbXBs ZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwcy5weQoraW5kZXggZGMwM2M3 Mi4uMzNkMjM5MiAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3Rl cHMvYXN5bmNfc3RlcHMucHkKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3Rl cHMvYXN5bmNfc3RlcHMucHkKK0BAIC01LDggKzUsOCBAQAorIGZyb20gX19mdXR1cmVfXyBpbXBv cnQgYWJzb2x1dGVfaW1wb3J0CisgaW1wb3J0IHN5cworIAorLXB5dGhvbl92ZXJzaW9uID0gIiVz LiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCistaWYgcHl0aG9uX3ZlcnNpb24gPj0gIjMuNSI6 CisrcHl0aG9uX3ZlcnNpb24gPSBzeXMudmVyc2lvbl9pbmZvWzoyXQorK2lmIHB5dGhvbl92ZXJz aW9uID49ICgzLCA1KToKKyAgICAgaW1wb3J0IF9hc3luY19zdGVwczM1CistZWxpZiBweXRob25f dmVyc2lvbiA9PSAiMy40IjoKKytlbGlmIHB5dGhvbl92ZXJzaW9uID09ICgzLCA0KToKKyAgICAg aW1wb3J0IF9hc3luY19zdGVwczM0CitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvZW52aXJvbm1lbnQu cHkgYi9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQoraW5kZXggMzc2OWVlNC4uNmZhZjRlMiAxMDA2 NDQKKy0tLSBhL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrKysgYi9mZWF0dXJlcy9lbnZpcm9u bWVudC5weQorQEAgLTQsMjIgKzQsMTkgQEAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29s dXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKyBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBv cnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKyBmcm9tIGJlaGF2 ZTRjbWQwLnNldHVwX2NvbW1hbmRfc2hlbGwgaW1wb3J0IHNldHVwX2NvbW1hbmRfc2hlbGxfcHJv Y2Vzc29yczRiZWhhdmUKKytmcm9tIGJlaGF2ZSBpbXBvcnQgcHl0aG9uX2ZlYXR1cmUKKyBpbXBv cnQgcGxhdGZvcm0KKyBpbXBvcnQgc3lzCistaW1wb3J0IHNpeAorKworIAorICMgLS0gTUFUQ0hF UyBBTlkgVEFHUzogQHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICMgTk9URTogYWN0aXZl X3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMgZm9yIGFjdGl2ZSB0 YWdzLgorLXB5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCisg YWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsKKy0gICAgInB5dGhvbjIiOiBzdHIoc2l4LlBZ MikubG93ZXIoKSwKKy0gICAgInB5dGhvbjMiOiBzdHIoc2l4LlBZMykubG93ZXIoKSwKKy0gICAg InB5dGhvbi52ZXJzaW9uIjogcHl0aG9uX3ZlcnNpb24sCisgICAgICMgLS0gcHl0aG9uLmltcGxl bWVudGF0aW9uOiBjcHl0aG9uLCBweXB5LCBqeXRob24sIGlyb25weXRob24KKyAgICAgInB5dGhv bi5pbXBsZW1lbnRhdGlvbiI6IHBsYXRmb3JtLnB5dGhvbl9pbXBsZW1lbnRhdGlvbigpLmxvd2Vy KCksCisgICAgICJweXB5IjogICAgc3RyKCJfX3B5cHlfXyIgaW4gc3lzLm1vZHVsZXMpLmxvd2Vy KCksCistICAgICJvcyI6ICAgICAgc3lzLnBsYXRmb3JtLAorIH0KKythY3RpdmVfdGFnX3ZhbHVl X3Byb3ZpZGVyLnVwZGF0ZShweXRob25fZmVhdHVyZS5BQ1RJVkVfVEFHX1ZBTFVFX1BST1ZJREVS KQorIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1 ZV9wcm92aWRlcikKKyAKKyAKK0BAIC0yNyw3ICsyNCw3IEBAIGRlZiBwcmludF9hY3RpdmVfdGFn c19zdW1tYXJ5KCk6CisgICAgIGFjdGl2ZV90YWdfZGF0YSA9IGFjdGl2ZV90YWdfdmFsdWVfcHJv dmlkZXIKKyAgICAgcHJpbnQoIkFDVElWRS1UQUcgU1VNTUFSWToiKQorICAgICBwcmludCgidXNl LndpdGhfcHl0aG9uLnZlcnNpb249JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgicHl0aG9uLnZl cnNpb24iKSkKKy0gICAgIyBwcmludCgidXNlLndpdGhfb3M9JXMiICUgYWN0aXZlX3RhZ19kYXRh LmdldCgib3MiKSkKKysgICAgcHJpbnQoInVzZS53aXRoX29zPSVzIiAlIGFjdGl2ZV90YWdfZGF0 YS5nZXQoIm9zIikpCisgICAgIHByaW50KCkKKyAKKyAKK0BAIC01Myw2ICs1MCw3IEBAIGRlZiBi ZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pOgorICAgICBpZiBhY3RpdmVfdGFnX21h dGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CisgICAg ICAgICBzY2VuYXJpby5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFz b24pCisgCisrCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgU1BFQ0lGSUMgRlVOQ1RJT05B TElUWToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvc3Rl cC5hc3luY19zdGVwcy5mZWF0dXJlIGIvZmVhdHVyZXMvc3RlcC5hc3luY19zdGVwcy5mZWF0dXJl CitpbmRleCAwNjcwOWQ5Li41OTE5Mzk3IDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvc3RlcC5hc3lu Y19zdGVwcy5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUK K0BAIC0xLDQgKzEsNSBAQAorIEBub3Qud2l0aF9weXRob24yPXRydWUKKytAdXNlLndpdGhfcHl0 aG9uX2hhc19jb3JvdXRpbmU9dHJ1ZQorIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5 bmMtc3RlcCwgLi4uKQorIAorICAgQXMgYSB0ZXN0IHdyaXRlciBhbmQgc3RlcCBwcm92aWRlcgor QEAgLTE2LDExICsxNywxMSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0 ZXAsIC4uLikKKyAgIC4gICAgKiBhbiBhc3luYy1mdW5jdGlvbiBhcyBjb3JvdXRpbmUgdXNpbmcg YXN5bmMvYXdhaXQga2V5d29yZHMgKFB5dGhvbiAzLjUpCisgICAuICAgICogYW4gYXN5bmMtZnVu Y3Rpb24gdGFnZ2VkIHdpdGggQGFzeW5jaW8uY29yb3V0aW5lIGFuZCB1c2luZyAieWllbGQgZnJv bSIKKyAgIC4KKy0gIC4gICMgLS0gRVhBTVBMRSBDQVNFIDEgKHNpbmNlIFB5dGhvbiAzLjUpOgor KyAgLiAgIyAtLSBFWEFNUExFIENBU0UgMSAoc2luY2UgUHl0aG9uIDMuNTsgcHJlZmVycmVkKToK KyAgIC4gIGFzeW5jIGRlZiBjb3JvdXRpbmUxKGR1cmF0aW9uKToKKyAgIC4gICAgICBhd2FpdCBh c3luY2lvLnNsZWVwKGR1cmF0aW9uKQorICAgLgorLSAgLiAgIyAtLSBFWEFNUExFIENBU0UgMiAo c2luY2UgUHl0aG9uIDMuNCk6CisrICAuICAjIC0tIEVYQU1QTEUgQ0FTRSAyIChzaW5jZSBQeXRo b24gMy40OyBkZXByZWNhdGVkIHNpbmNlIFB5dGhvbiAzLjg7IHJlbW92ZWQgaW4gUHl0aG9uIDMu MTApOgorICAgLiAgQGFzeW5jaW8uY29yb3V0aW5lCisgICAuICBkZWYgY29yb3V0aW5lMihkdXJh dGlvbik6CisgICAuICAgICAgeWllbGQgZnJvbSBhc3luY2lvLnNsZWVwKGR1cmF0aW9uKQorQEAg LTMwLDEyICszMSw4IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwg Li4uKQorICAgLiAgIFRoZSBhc3luYy1zdGVwIGNhbiBkaXJlY3RseSBpbnRlcmFjdCB3aXRoIG90 aGVyIGFzeW5jLWZ1bmN0aW9ucy4KKyAKKyAKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuNQorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CistICAgIEB1c2Uud2l0aF9w eXRob24udmVyc2lvbj0zLjcKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorLSAg ICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBVc2UgYXN5bmMt c3RlcCB3aXRoIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgKGFzeW5jKQorKyAgICBAdXNlLndp dGhfcHl0aG9uX2hhc19hc3luY19mdW5jdGlvbj10cnVlCisrICAgIFNjZW5hcmlvOiBVc2UgYXN5 bmMtc3RlcCB3aXRoIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgKGFzeW5jOyByZXF1aXJlczog cHkudmVyc2lvbiA+PSAzLjUpCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkK KyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM1LnB5 IiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtNjMsMTMgKzYwLDggQEAgRmVhdHVyZTogQXN5bmMt VGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgICAgICAgICAiIiIKKyAKKyAKKy0gICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My41CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44Cist ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBhc3lu Yy1zdGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSAoQGNvcm91dGluZSkKKysgICAg QHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVfZGVjb3JhdG9yPXRydWUKKysg ICAgU2NlbmFyaW86IFVzZSBhc3luYy1zdGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0 ZSAoQGFzeW5jaW8uY29yb3V0aW5lKQorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0 b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMz NC5weSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTk3LDEyICs4OSw4IEBAIEZlYXR1cmU6IEFz eW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgICAgICAgICAgICBHaXZlbiBh biBhc3luYy1zdGVwIHdhaXRzIDAuMyBzZWNvbmRzIC4uLiBwYXNzZWQgaW4gMC4zCisgICAgICAg ICAiIiIKKyAKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorLSAgICBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My42CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcK Ky0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorLSAgICBAdXNlLndpdGhfcHl0aG9u LnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0 ZSh0aW1lb3V0PS4uLikgYW5kIFRJTUVPVVQgb2NjdXJzIChhc3luYykKKysgICAgQHVzZS53aXRo X3B5dGhvbl9oYXNfYXN5bmNfZnVuY3Rpb249dHJ1ZQorKyAgICBTY2VuYXJpbzogVXNlIEBhc3lu Y19ydW5fdW50aWxfY29tcGxldGUodGltZW91dD0uLi4pIGFuZCBUSU1FT1VUIG9jY3VycyAoYXN5 bmMtZnVuY3Rpb24pCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAg ICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwc190aW1lb3V0MzUu cHkiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC0xMzUsMTMgKzEyMyw5IEBAIEZlYXR1cmU6IEFz eW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgICAgICAgQXNzZXJ0aW9uIEZh aWxlZDogVElNRU9VVC1PQ0NVUkVEOiB0aW1lb3V0PTAuMQorICAgICAgICAgIiIiCisgCistICAg IEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJz aW9uPTMuNgorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43CistICAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjgKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQor KyAgICBAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY19mdW5jdGlvbj10cnVlCisgICAgIEBhc3lu Y19zdGVwX2ZhaWxzCistICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0 ZSBhbmQgYXN5bmMtc3RlcCBmYWlscworKyAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50 aWxfY29tcGxldGUgYW5kIGFzeW5jLXN0ZXAgZmFpbHMgKGFzeW5jLWZ1bmN0aW9uKQorICAgICAg IEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAi ZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHNfZmFpbHMzNS5weSIgd2l0aDoKKyAgICAgICAgICIi IgorQEAgLTE4MCwxMyArMTY0LDkgQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3lu Yy1zdGVwLCAuLi4pCisgICAgICAgICBBc3NlcnRpb24gRmFpbGVkOiBYRkFJTCBpbiBhc3luYy1z dGVwCisgICAgICAgICAiIiIKKyAKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQor LSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CistICAgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjcKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorLSAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My45CisrICAgIEB1c2Uud2l0aF9weXRob25faGFzX2FzeW5j X2Z1bmN0aW9uPXRydWUKKyAgICAgQGFzeW5jX3N0ZXBfZmFpbHMKKy0gICAgU2NlbmFyaW86IFVz ZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFuZCBhc3luYy1zdGVwIHJhaXNlcyBlcnJvcgor KyAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgYW5kIGFzeW5jLXN0 ZXAgcmFpc2VzIGVycm9yIChhc3luYy1mdW5jdGlvbikKKyAgICAgICBHaXZlbiBhIG5ldyB3b3Jr aW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2Fz eW5jX3N0ZXBzX2V4Y2VwdGlvbjM1LnB5IiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtMjI1LDEz ICsyMDUsOCBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikK KyAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiWEZBSUwgaW4gYXN5bmMtc3RlcCIpCisgICAg ICAgICAiIiIKKyAKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorLSAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My41CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My44CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAg U2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlKHRpbWVvdXQ9Li4uKSBhbmQg VElNRU9VVCBvY2N1cnMgKEBjb3JvdXRpbmUpCisrICAgIEB1c2Uud2l0aF9weXRob25faGFzX2Fz eW5jaW8uY29yb3V0aW5lX2RlY29yYXRvcj10cnVlCisrICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5j X3J1bl91bnRpbF9jb21wbGV0ZSh0aW1lb3V0PS4uLikgYW5kIFRJTUVPVVQgb2NjdXJzIChAYXN5 bmNpby5jb3JvdXRpbmUpCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAg ICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwc190aW1lb3V0 MzQucHkiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC0yNjUsMTMgKzI0MCw4IEBAIEZlYXR1cmU6 IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgICAgICAgQXNzZXJ0aW9u IEZhaWxlZDogVElNRU9VVC1PQ0NVUkVEOiB0aW1lb3V0PTAuMgorICAgICAgICAgIiIiCisgCist ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjQKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuNQorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CistICAgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjcKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBVc2Ug YXN5bmMtZGlzcGF0Y2ggYW5kIGFzeW5jLWNvbGxlY3QgY29uY2VwdHMKKysgICAgQHVzZS53aXRo X3B5dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVfZGVjb3JhdG9yPXRydWUKKysgICAgU2NlbmFy aW86IFVzZSBhc3luYy1kaXNwYXRjaCBhbmQgYXN5bmMtY29sbGVjdCBjb25jZXB0cyAoQGFzeW5j aW8uY29yb3V0aW5lKQorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAg ICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMu cHkiIHdpdGg6CisgICAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1 ZTAzMzAuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlCitpbmRleCBi ZTRkMzc4Li41NmFjMjM4IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZl YXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlCitAQCAtNzIsNyAr NzIsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVk ZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAorICAgQG5vdC53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuOAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgU2NlbmFyaW86 IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ct c2tpcHBlZAorKyAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgIFNjZW5hcmlvOiBK dW5pdCByZXBvcnQgZm9yIHNraXBwZWQgZmVhdHVyZSBpcyBjcmVhdGVkIHdpdGggLS1zaG93LXNr aXBwZWQgKHB5LnZlcnNpb24gPCAzLjgpCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0 IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIEBhbGljZV9hbmRfYm9iLmZlYXR1cmVzZXQiCisgICAg IFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAgICAiIiIKK0BAIC04Nyw3ICs4OCw4IEBA IEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBq dW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgCisgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My44CisgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CistICBTY2VuYXJpbzogSnVuaXQg cmVwb3J0IGZvciBza2lwcGVkIGZlYXR1cmUgaXMgY3JlYXRlZCB3aXRoIC0tc2hvdy1za2lwcGVk CisrICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAgU2NlbmFyaW86IEp1bml0IHJl cG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ctc2tpcHBlZCAo cHkudmVyc2lvbiA+PSAzLjgpCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0 YWcxIC0tc2hvdy1za2lwcGVkIEBhbGljZV9hbmRfYm9iLmZlYXR1cmVzZXQiCisgICAgIFRoZW4g aXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAgICAiIiIKK0BAIC0xMDQsNyArMTA2LDggQEAgRmVh dHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0 IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgK KyAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gIFNjZW5hcmlvOiBKdW5pdCByZXBv cnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBub3IgY291bnRlZCB3aXRo IC0tbm8tc2tpcHBlZAorKyAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgIFNjZW5h cmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBu b3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZCAocHkudmVyc2lvbiA8IDMuOCkKKyAgICAgV2hl biBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1uby1za2lwcGVkIgorICAgICBUaGVu IGl0IHNob3VsZCBwYXNzIHdpdGg6CisgICAgICAgIiIiCitAQCAtMTI1LDcgKzEyOCw4IEBAIEZl YXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5p dCByZXBvcnRzIHdoZW4gLS1uby1zCisgCisgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44 CisgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CistICBTY2VuYXJpbzogSnVuaXQgcmVw b3J0IGZvciBza2lwcGVkIHNjZW5hcmlvIGlzIG5laXRoZXIgc2hvd24gbm9yIGNvdW50ZWQgd2l0 aCAtLW5vLXNraXBwZWQKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICBTY2Vu YXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIHNjZW5hcmlvIGlzIG5laXRoZXIgc2hvd24g bm9yIGNvdW50ZWQgd2l0aCAtLW5vLXNraXBwZWQgKHB5LnZlcnNpb24gPj0gMy44KQorICAgICBX aGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLW5vLXNraXBwZWQiCisgICAgIFRo ZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAgICAiIiIKK0BAIC0xNDksNyArMTUzLDggQEAg RmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1 bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0z LjgKKyAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gIFNjZW5hcmlvOiBKdW5pdCBy ZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgc2hvd24gYW5kIGNvdW50ZWQgd2l0aCAtLXNo b3ctc2tpcHBlZAorKyAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgIFNjZW5hcmlv OiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgc2hvd24gYW5kIGNvdW50ZWQg d2l0aCAtLXNob3ctc2tpcHBlZCAocHkudmVyc2lvbiA8IDMuOCkKKyAgICAgV2hlbiBJIHJ1biAi YmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hv dWxkIHBhc3Mgd2l0aDoKKyAgICAgICAiIiIKK0BAIC0xNzEsNyArMTc2LDggQEAgRmVhdHVyZTog SXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9y dHMgd2hlbiAtLW5vLXMKKyAKKyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9y IHNraXBwZWQgc2NlbmFyaW8gaXMgc2hvd24gYW5kIGNvdW50ZWQgd2l0aCAtLXNob3ctc2tpcHBl ZAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgIFNjZW5hcmlvOiBKdW5pdCBy ZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgc2hvd24gYW5kIGNvdW50ZWQgd2l0aCAtLXNo b3ctc2tpcHBlZCAocHkudmVyc2lvbiA+PSAzLjgpCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAt LWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNz IHdpdGg6CisgICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2 LmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZQoraW5kZXggMTJkZTM3 YS4uZDdkYjc2NCAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJl CisrKysgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZQorQEAgLTYwLDcgKzYwLDgg QEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdp dGggSlVuaXRSZXBvcnRlcgorIAorICAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44Cisg ICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IEhvb2sgZXJy b3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMu MTAKKysgICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkgKHB5LnZl cnNpb24gPCAzLjgpCisgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQg ZmVhdHVyZXMvYmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUuZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0 IHNob3VsZCBmYWlsIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC05MCw3ICs5MSw4IEBAIEZlYXR1 cmU6IElzc3VlICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJpbyBob29rLWVycm9ycyB3aXRoIEpVbml0 UmVwb3J0ZXIKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGJl Zm9yZV9zY2VuYXJpbygpCisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICAg IFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGJlZm9yZV9zY2VuYXJpbygpIChweS52ZXJzaW9uID49 IDMuOCkKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJl cy9iZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxk IGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTEyNCw3ICsxMjYsOCBAQCBGZWF0dXJlOiBJ c3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9y dGVyCisgCisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgICAgQG5vdC53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBhZnRlcl9z Y2VuYXJpbygpCisrICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICAgIFNjZW5h cmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkgKHB5LnZlcnNpb24gPCAzLjgpCisg ICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYWZ0ZXJf c2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0 aDoKKyAgICAgICAgICIiIgorQEAgLTE1Niw3ICsxNTksOCBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2 IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgCisg ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBhZnRlcl9zY2VuYXJpbygp CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICAgIFNjZW5hcmlvOiBIb29r IGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkgKHB5LnZlcnNpb24gPj0gMy44KQorICAgICAgIFdo ZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1cmVzL2FmdGVyX3NjZW5hcmlv X2ZhaWx1cmUuZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CisgICAg ICAgICAiIiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZSBi L2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlCitpbmRleCA2ZDJmNDhmLi5jMTRjN2E0 IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKKysrKyBiL2lz c3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlCitAQCAtMjYsNyArMjYsOCBAQCBGZWF0dXJl OiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQg WE1MIHJlcG9ydHMKKyAKKyAgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBA bm90LndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBVc2UgZmFpbGluZyBh c3NlcnRhdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQKKysgICAgQG5vdC53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFyaW86IFVzZSBmYWlsaW5nIGFzc2VydGF0aW9uIGluIGEg SlVuaXQgWE1MIHJlcG9ydCAocHkudmVyc2lvbiA8IDMuOCkKKyAgICAgICBHaXZlbiBhIGZpbGUg bmFtZWQgImZlYXR1cmVzL2ZhaWxzMS5mZWF0dXJlIiB3aXRoOgorICAgICAgICAgIiIiCisgICAg ICAgICBGZWF0dXJlOgorQEAgLTQ4LDcgKzQ5LDggQEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAtLSBE b3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3NhZ2VzIG9mIEpVbml0IFhNTCByZXBvcnRzCisgCisg ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogVXNlIGZhaWxpbmcgYXNzZXJ0YXRpb24gaW4gYSBK VW5pdCBYTUwgcmVwb3J0CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICAg IFNjZW5hcmlvOiBVc2UgZmFpbGluZyBhc3NlcnRhdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQg KHB5LnZlcnNpb24gPj0gMy44KQorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMv ZmFpbHMxLmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAiIiIKKyAgICAgICAgIEZlYXR1cmU6CitA QCAtNzMsNyArNzUsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4g ZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAKKyAgICAgQG5vdC53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuOAorICAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAg IFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydAorKyAgICBAbm90 LndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAgICBTY2VuYXJpbzogVXNlIGV4Y2VwdGlvbiBp biBhIEpVbml0IFhNTCByZXBvcnQgKHB5LnZlcnNpb24gPCAzLjgpCisgICAgICAgR2l2ZW4gYSBm aWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIgd2l0aDoKKyAgICAgICAgICIiIgor ICAgICAgICAgRmVhdHVyZToKK0BAIC05Niw3ICs5OSw4IEBAIEZlYXR1cmU6IElzc3VlICM0NTcg LS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cwor IAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBleGNlcHRpb24gaW4gYSBKVW5pdCBY TUwgcmVwb3J0CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjEwCisrICAgIFNjZW5h cmlvOiBVc2UgZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydCAocHkudmVyc2lvbiA+PSAz LjgpCisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIg d2l0aDoKKyAgICAgICAgICIiIgorICAgICAgICAgRmVhdHVyZToKK2RpZmYgLS1naXQgYS9pc3N1 ZS5mZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5m ZWF0dXJlCitpbmRleCBhZWFlZmQyLi5hNjc0YTI2IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVy ZXMvaXNzdWUwNjU3LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0 dXJlCitAQCAtMSwxNSArMSwxMCBAQAorLUBub3Qud2l0aF9weXRob24yPXRydWUKKyBAaXNzdWUK KytAbm90LndpdGhfcHl0aG9uMj10cnVlCisgRmVhdHVyZTogSXNzdWUgIzY1NyAtLSBBbGxvdyBh c3luYyBzdGVwcyB3aXRoIHRpbWVvdXRzIHRvIGZhaWwgd2hlbiB0aGV5IHJhaXNlIGV4Y2VwdGlv bnMKKyAKKy0KKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorLSAgICBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My42CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcK Ky0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorLSAgICBAdXNlLndpdGhfcHl0aG9u LnZlcnNpb249My45CisrICAgIEB1c2Uud2l0aF9weXRob25faGFzX2FzeW5jX2Z1bmN0aW9uPXRy dWUKKyAgICAgQGFzeW5jX3N0ZXBfZmFpbHMKKy0gICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVu X3VudGlsX2NvbXBsZXRlIGFuZCBhc3luYy1zdGVwIGZhaWxzCisrICAgIFNjZW5hcmlvOiBVc2Ug QGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMtc3RlcCBmYWlscyAocHkudmVyc2lv biA+PSAzLjgpCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBB bmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwc19mYWlsczM1LnB5IiB3 aXRoOgorICAgICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvbW9yZS5mZWF0dXJlcy9lbnZpcm9ubWVu dC5weSBiL21vcmUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDlkNDMwMmIuLjE0ZDkw NGMgMTAwNjQ0CistLS0gYS9tb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrKysgYi9tb3Jl LmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAtMSwxNiArMSwxNCBAQAorICMgLSotIGNvZGlu ZzogVVRGLTggLSotCisgCisgZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0IEFjdGl2ZVRh Z01hdGNoZXIsIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzCistaW1wb3J0IHN5cworK2Zyb20gYmVo YXZlIGltcG9ydCBweXRob25fZmVhdHVyZQorIAorICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzogQHVz ZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICMgTk9URTogYWN0aXZlX3RhZ192YWx1ZV9wcm92 aWRlciBwcm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMgZm9yIGFjdGl2ZSB0YWdzLgorLXB5dGhvbl92 ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCistYWN0aXZlX3RhZ192YWx1 ZV9wcm92aWRlciA9IHsKKy0gICAgInB5dGhvbi52ZXJzaW9uIjogcHl0aG9uX3ZlcnNpb24sCist fQorK2FjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgPSBweXRob25fZmVhdHVyZS5BQ1RJVkVfVEFH X1ZBTFVFX1BST1ZJREVSLmNvcHkoKQorIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01h dGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisgIyBIT09LUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMTgsMTAgKzE2 LDEyIEBAIGRlZiBiZWZvcmVfYWxsKGNvbnRleHQpOgorICAgICAjIC0tIFNFVFVQIEFDVElWRS1U QUcgTUFUQ0hFUiAod2l0aCB1c2VyZGF0YSk6CisgICAgIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVz KGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIsIGNvbnRleHQuY29uZmlnLnVzZXJkYXRhKQorIAor KworIGRlZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBmZWF0dXJlKToKKyAgICAgaWYgYWN0aXZl X3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoZmVhdHVyZS50YWdzKToKKyAgICAgICAg IGZlYXR1cmUuc2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQor IAorKworIGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pOgorICAgICBpZiBh Y3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVf dGFncyk6CisgICAgICAgICBzY2VuYXJpby5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIu ZXhjbHVkZV9yZWFzb24pCitkaWZmIC0tZ2l0IGEvbW9yZS5mZWF0dXJlcy9ydW5fZXhhbXBsZXMu ZmVhdHVyZSBiL21vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZlYXR1cmUKK2luZGV4IDQ3Nzg4 NjYuLjE0YWNmOTggMTAwNjQ0CistLS0gYS9tb3JlLmZlYXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0 dXJlCisrKysgYi9tb3JlLmZlYXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlCitAQCAtMjksMTMg KzI5LDggQEAgRmVhdHVyZTogRW5zdXJlIHRoYXQgYWxsIGV4YW1wbGVzIGFyZSB1c2FibGUKKyAg ICAgICAgIGZlYXR1cmVzL3J1bGVfZmFpbHMuZmVhdHVyZToxNiAgRjIgLS0gRmFpbHMKKyAgICAg ICAiIiIKKyAKKy0KKy0gIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjQKKy0gIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjUKKy0gIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0g IEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKy0gIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjgKKy0gIFNjZW5hcmlvOiBleGFtcGxlcy9hc3luY19zdGVwIChuZWVkczogcHkzNCBvciBu ZXdlcikKKysgIEB1c2Uud2l0aF9weXRob25faGFzX2Nvcm91dGluZT10cnVlCisrICBTY2VuYXJp bzogZXhhbXBsZXMvYXN5bmNfc3RlcCAocmVxdWlyZXM6IHB5dGhvbi52ZXJzaW9uID49IDMuNCkK KyAgICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVjdG9yeSAiZXhhbXBsZXMvYXN5bmNfc3RlcCIgYXMg d29ya2luZyBkaXJlY3RvcnkKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIGZlYXR1cmVzLyIKKyAg ICAgVGhlbiBpdCBzaG91bGQgcGFzcwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMi1kb2NzLVVwZGF0ZS1uZXctYW5kLW5v dGV3b3J0aHkucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMTEyLWRvY3MtVXBkYXRlLW5ldy1hbmQtbm90ZXdvcnRoeS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQ4ZWNjMDlhYwotLS0gL2Rldi9udWxs CisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAxMTItZG9jcy1VcGRhdGUtbmV3LWFuZC1ub3Rld29ydGh5LnBhdGNoCkBAIC0wLDAgKzEsODQg QEAKK0Zyb20gZDM4NzAzMTUzZjdkZjUwMWNlYjQ4Mzk1Zjc1NmIyNDI3ZWUxNWU1NyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAyMDIxIDIzOjQ4OjUyICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIGRvY3M6IFVwZGF0ZSBuZXcgYW5kIG5vdGV3b3J0aHkKKworKiBBZGQgc2VjdGlv biBvbiBpbXByb3ZlZCBhY3RpdmUtdGFnIGxvZ2ljCistLS0KKyBkb2NzL2NvbmYucHkgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBkb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcu cnN0IHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2Vk LCA0NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2Nv bmYucHkgYi9kb2NzL2NvbmYucHkKK2luZGV4IDE1NzlhMzYuLmNlY2U4NmEgMTAwNjQ0CistLS0g YS9kb2NzL2NvbmYucHkKKysrKyBiL2RvY3MvY29uZi5weQorQEAgLTEwOCw3ICsxMDgsNyBAQCBp ZiBVU0VfU1BISU5YX0lOVEVSTkFUSU9OQUw6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHBy b2plY3QgPSB1ImJlaGF2ZSIKKyBhdXRob3JzID0gdSJKZW5zIEVuZ2VsLCBCZW5ubyBSaWNlIGFu ZCBSaWNoYXJkIEpvbmVzIgorLWNvcHlyaWdodCA9IHUiMjAxMi0yMDIwLCAlcyIgJSBhdXRob3Jz CisrY29weXJpZ2h0ID0gdSIyMDEyLTIwMjEsICVzIiAlIGF1dGhvcnMKKyAKKyAjIFRoZSB2ZXJz aW9uIGluZm8gZm9yIHRoZSBwcm9qZWN0IHlvdSdyZSBkb2N1bWVudGluZywgYWN0cyBhcyByZXBs YWNlbWVudCBmb3IKKyAjIHx2ZXJzaW9ufCBhbmQgfHJlbGVhc2V8LCBhbHNvIHVzZWQgaW4gdmFy aW91cyBvdGhlciBwbGFjZXMgdGhyb3VnaG91dCB0aGUKK2RpZmYgLS1naXQgYS9kb2NzL25ld19h bmRfbm90ZXdvcnRoeV92MS4yLjcucnN0IGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43 LnJzdAoraW5kZXggYjcyNDJmNy4uMmViOTRhZCAxMDA2NDQKKy0tLSBhL2RvY3MvbmV3X2FuZF9u b3Rld29ydGh5X3YxLjIuNy5yc3QKKysrKyBiL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIu Ny5yc3QKK0BAIC05LDYgKzksNyBAQCBTdW1tYXJ5OgorICAgdG8gbWF0Y2ggcGFydGlhbCB0YWcg bmFtZXMsIGxpa2U6IGBgQGZvby4qYGAKKyAqIGBTZWxlY3QtYnktbG9jYXRpb24gZm9yIFNjZW5h cmlvIENvbnRhaW5lcnNgXyAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKQorICogYFN1 cHBvcnQgZm9yIGVtb2ppcyBpbiBmZWF0dXJlIGZpbGVzIGFuZCBzdGVwc2BfCisrKiBgSW1wcm92 ZSBBY3RpdmUtVGFncyBMb2dpY2BfCisgCisgLi4gX2BFeGFtcGxlIE1hcHBpbmdgOiBodHRwczov L2N1Y3VtYmVyLmlvL2Jsb2cvZXhhbXBsZS1tYXBwaW5nLWludHJvZHVjdGlvbi8KKyAuLiBfYEV4 YW1wbGUgTWFwcGluZyBXZWJpbmFyYDogaHR0cHM6Ly9jdWN1bWJlci5pby9ibG9nL2V4YW1wbGUt bWFwcGluZy13ZWJpbmFyLworQEAgLTE1MiwzICsxNTMsNDcgQEAgU3VwcG9ydCBmb3IgRW1vamlz IGluIEZlYXR1cmUgRmlsZXMgYW5kIFN0ZXBzCisgLi4gbGl0ZXJhbGluY2x1ZGU6OiAuLi9mZWF0 dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5CisgICAgIDpwcmVwZW5kOiAgIyAtLSBGSUxF OiBmZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5CisgICAgIDpsYW5ndWFnZTogcHl0 aG9uCisrCisrCisrSW1wcm92ZSBBY3RpdmUtVGFncyBMb2dpYworKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKysKKytUaGUgYWN0aXZlLXRhZyBjb21wdXRhdGlvbiBsb2dpYyB3YXMgc2xpZ2h0bHkg Y2hhbmdlZCAoYW5kIGZpeGVkKToKKysKKysqIGlmIG11bHRpcGxlIGFjdGl2ZS10YWdzIHdpdGgg c2FtZSBjYXRlZ29yeSBhcmUgdXNlZAorKyogY29tYmluYXRpb24gb2YgcG9zaXRpdmUgYWN0aXZl LXRhZ3MgKGBgdXNlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9YGApIGFuZAorKyAgbmVnYXRpdmUg YWN0aXZlLXRhZ3MgKGBgbm90LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9YGApIHdpdGggc2FtZSBj YXRlZ29yeQorKyAgYXJlIG5vdyBzdXBwb3J0ZWQKKysKKytBbGwgYWN0aXZlLXRhZ3Mgd2l0aCBz YW1lIGNhdGVnb3J5IGFyZSBjb21iaW5lZCBpbnRvIG9uZSBjYXRlZ29yeSB0YWctZ3JvdXAuCisr VGhlIGZvbGxvd2luZyBsb2dpY2FsIGV4cHJlc3Npb24gaXMgdXNlZCBmb3IgYWN0aXZlLXRhZ3Mg d2l0aCB0aGUgc2FtZSBjYXRlZ29yeTo6CisrCisrICAgIGNhdGVnb3J5X3RhZ19ncm91cC5lbmFi bGVkIDo9IHBvc2l0aXZlLXRhZy1leHByZXNzaW9uIGFuZCBub3QgbmVnYXRpdmUtdGFnLWV4cHJl c3Npb24KKysgICAgICBwb3NpdGl2ZS10YWctZXhwcmVzc2lvbiAgOj0gZW5hYmxlZCh0YWcxKSBv ciBlbmFibGVkKHRhZzIpIG9yIC4uLgorKyAgICAgIG5lZ2F0aXZlLXRhZy1leHByZXNzaW9uICA6 PSBlbmFibGVkKHRhZzMpIG9yIGVuYWJsZWQodGFnNCkgb3IgLi4uCisrICAgICAgIHRhZzEsIHRh ZzIgYXJlIHBvc2l0aXZlLXRhZ3MsIGxpa2UgQHVzZS53aXRoX2NhdGVnb3J5PXZhbHVlCisrICAg ICAgIHRhZzMsIHRhZzQgYXJlIG5lZ2F0aXZlLXRhZ3MsIGxpa2UgQG5vdC53aXRoX2NhdGVnb3J5 PXZhbHVlCisrCisrCisrRVhBTVBMRToKKysKKysuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorKwor KyAgICBGZWF0dXJlOiBBY3RpdmUtVGFnIEV4YW1wbGUKKysKKysgICAgICBAdXNlLndpdGhfYnJv d3Nlcj1TYWZhcmkKKysgICAgICBAdXNlLndpdGhfYnJvd3Nlcj1DaHJvbWUKKysgICAgICBAbm90 LndpdGhfYnJvd3Nlcj1GaXJlZm94CisrICAgICAgU2NlbmFyaW86IFVzZSBvbmUgYWN0aXZlLXRh ZyBncm91cC9jYXRlZ29yeQorKworKyAgICAgICAgSElOVDogT25seSBleGVjdXRlZCB3aXRoIHdl YiBicm93c2VyIFNhZmFyaSBhbmQgQ2hyb21lLCBGaXJlZm94IGlzIGV4cGxpY2l0bHkgZXhjbHVk ZWQuCisrICAgICAgICAuLi4KKysKKysgICAgICBAdXNlLndpdGhfYnJvd3Nlcj1GaXJlZm94Cisr ICAgICAgQHVzZS53aXRoX29zPWxpbnV4CisrICAgICAgQHVzZS53aXRoX29zPWRhcndpbgorKyAg ICAgIFNjZW5hcmlvOiBVc2UgdHdvIGFjdGl2ZS10YWcgZ3JvdXBzL2NhdGVnb3JpZXMKKysKKysg ICAgICAgIEhJTlQgMTogT25seSBleGVjdXRlZCB3aXRoIGJyb3dzZXI6IEZpcmVmb3gKKysgICAg ICAgIEhJTlQgMjogT25seSBleGVjdXRlZCBvbiBPUzogTGludXggYW5kIERhcndpbiAobWFjT1Mp CisrICAgICAgICAuLi4KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTMtQWRkLWRpYWdub3N0aWMtaGVscGVyLWZ1bmN0aW9u LXRvLXByaW50LXRoZS1jdXJyZW50LS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTMtQWRkLWRpYWdub3N0aWMtaGVscGVyLWZ1bmN0 aW9uLXRvLXByaW50LXRoZS1jdXJyZW50LS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLjgzYjZiOTgyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTMtQWRkLWRpYWdub3N0aWMt aGVscGVyLWZ1bmN0aW9uLXRvLXByaW50LXRoZS1jdXJyZW50LS5wYXRjaApAQCAtMCwwICsxLDI3 OCBAQAorRnJvbSAxODI2MWQ2YzJkZmQ1NjNhYzU0MmViNjlkMTJhOGFkNjQ4NTc1YzY3IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDEwIEphbiAyMDIxIDEzOjQwOjI2ICswMTAwCitTdWJq ZWN0OiBbUEFUQ0hdICogQWRkIGRpYWdub3N0aWMgaGVscGVyIGZ1bmN0aW9uIHRvIHByaW50IHRo ZSBjdXJyZW50IHZhbHVlcworIG9mIGFjdGl2ZS10YWdzLiAqIEFkZCBoZWxwZXIgY2xhc3NlcyBm b3IgYWN0aXZlLXRhZyB2YWx1ZSBwcm92aWRlcnMuCisKKy0tLQorIGJlaGF2ZS9jb21wYXQvY29s bGVjdGlvbnMucHkgIHwgIDI1ICsrKysrKworIGJlaGF2ZS90YWdfbWF0Y2hlci5weSAgICAgICAg IHwgMTQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KKyBmZWF0dXJlcy9lbnZp cm9ubWVudC5weSAgICAgICB8ICAgOSArLS0KKyBpc3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5w eSB8ICAgOSArLS0KKyA0IGZpbGVzIGNoYW5nZWQsIDE2NiBpbnNlcnRpb25zKCspLCAyMiBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9jb21wYXQvY29sbGVjdGlvbnMucHkgYi9i ZWhhdmUvY29tcGF0L2NvbGxlY3Rpb25zLnB5CitpbmRleCAwMDQ0NGY0Li5mNGVlYTJjIDEwMDY0 NAorLS0tIGEvYmVoYXZlL2NvbXBhdC9jb2xsZWN0aW9ucy5weQorKysrIGIvYmVoYXZlL2NvbXBh dC9jb2xsZWN0aW9ucy5weQorQEAgLTE4LDMgKzE4LDI4IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjog ICAgICMgcHJhZ21hOiBubyBjb3ZlcgorICAgICAgICAgd2FybmluZ3Mud2FybihtZXNzYWdlKQor ICAgICAgICAgIyAtLSBCQUNLV0FSRC1DT01QQVRJQkxFOiBCZXR0ZXIgdGhhbiBub3RoaW5nIChm b3IgYmVoYXZlIHVzZSBjYXNlKS4KKyAgICAgICAgIE9yZGVyZWREaWN0ID0gZGljdAorKworK3Ry eToKKysgICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgVXNlckRpY3QKKytleGNlcHQgSW1wb3J0 RXJyb3I6ICAgICAgIyBwcmFnbWE6IG5vIGNvdmVyCisrICAgIGNsYXNzIFVzZXJEaWN0KG9iamVj dCk6CisrICAgICAgICAiIiJFbXVsYXRlIGNvbGxlY3Rpb25zLlVzZXJEaWN0IGNsYXNzIGluIHB5 dGhvbjMuIiIiCisrICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YT1Ob25lKToKKysgICAg ICAgICAgICBpZiBkYXRhIGlzIE5vbmU6CisrICAgICAgICAgICAgICAgIGRhdGEgPSB7fQorKyAg ICAgICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKKysKKysgICAgICAgIGRlZiBfX2xlbl9fKHNlbGYp OgorKyAgICAgICAgICAgIHJldHVybiBsZW4oc2VsZi5kYXRhKQorKworKyAgICAgICAgZGVmIF9f aXRlcl9fKHNlbGYpOgorKyAgICAgICAgICAgIHJldHVybiBsZW4oc2VsZi5kYXRhKQorKworKyAg ICAgICAgZGVmIGtleXMoc2VsZik6CisrICAgICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YS5rZXlz KCkKKysKKysgICAgICAgIGRlZiB2YWx1ZXMoc2VsZik6CisrICAgICAgICAgICAgcmV0dXJuIHNl bGYuZGF0YS52YWx1ZXMoKQorKworKyAgICAgICAgZGVmIGl0ZW1zKHNlbGYpOgorKyAgICAgICAg ICAgIHJldHVybiBzZWxmLmRhdGEuaXRlbXMoKQorZGlmZiAtLWdpdCBhL2JlaGF2ZS90YWdfbWF0 Y2hlci5weSBiL2JlaGF2ZS90YWdfbWF0Y2hlci5weQoraW5kZXggZTJiMWU4Mi4uNzhkNzA2MSAx MDA2NDQKKy0tLSBhL2JlaGF2ZS90YWdfbWF0Y2hlci5weQorKysrIGIvYmVoYXZlL3RhZ19tYXRj aGVyLnB5CitAQCAtNCwxNyArNCwxNiBAQCBDb250YWlucyBjbGFzc2VzIGFuZCBmdW5jdGlvbmFs aXR5IHRvIHByb3ZpZGUgdGhlIGFjdGl2ZS10YWcgbWVjaGFuaXNtLgorIEFjdGl2ZS10YWdzIHBy b3ZpZGUgYSBza2lwLWlmIGxvZ2ljIGJhc2VkIG9uIHRhZ3MgaW4gZmVhdHVyZSBmaWxlcy4KKyAi IiIKKyAKKy1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorK2Zyb20gX19m dXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBy ZQorLWltcG9ydCBvcGVyYXRvcgorIGltcG9ydCBzaXgKKytmcm9tIC5fdHlwZXMgaW1wb3J0IFVu a25vd24KKytmcm9tIC5jb21wYXQuY29sbGVjdGlvbnMgaW1wb3J0IFVzZXJEaWN0CisgCisgCist ZGVmIGJvb2xfdG9fc3RyaW5nKHZhbHVlKToKKy0gICAgIiIiQ29udmVydHMgYSBCb29sZWFuIHZh bHVlIGludG8gaXRzIG5vcm1hbGl6ZWQgc3RyaW5nIHJlcHJlc2VudGF0aW9uLiIiIgorLSAgICBy ZXR1cm4gc3RyKGJvb2wodmFsdWUpKS5sb3dlcigpCistCistCisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorKyMgQ0xBU1NFUyBGT1I6IEFjdGl2ZS1UYWdzIGFuZCBBY3RpdmVUYWdNYXRjaGVycwor KyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBjbGFzcyBUYWdNYXRjaGVyKG9iamVjdCk6CisgICAg ICIiIkFic3RyYWN0IGJhc2UgY2xhc3MgdGhhdCBkZWZpbmVzIHRoZSBUYWdNYXRjaGVyIHByb3Rv Y29sLiIiIgorIAorQEAgLTIyMCw4ICsyMTksOCBAQCBjbGFzcyBBY3RpdmVUYWdNYXRjaGVyKFRh Z01hdGNoZXIpOgorICAgICAgICAgICAgICMgLS0gQ0FTRTogRW1wdHkgZ3JvdXAgaXMgYWx3YXlz IGVuYWJsZWQgKENPUk5FUi1DQVNFKS4KKyAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorIAorLSAg ICAgICAgY3VycmVudF92YWx1ZSA9IHNlbGYudmFsdWVfcHJvdmlkZXIuZ2V0KGdyb3VwX2NhdGVn b3J5LCBOb25lKQorLSAgICAgICAgaWYgY3VycmVudF92YWx1ZSBpcyBOb25lIGFuZCBzZWxmLmln bm9yZV91bmtub3duX2NhdGVnb3JpZXM6CisrICAgICAgICBjdXJyZW50X3ZhbHVlID0gc2VsZi52 YWx1ZV9wcm92aWRlci5nZXQoZ3JvdXBfY2F0ZWdvcnksIFVua25vd24pCisrICAgICAgICBpZiBj dXJyZW50X3ZhbHVlIGlzIFVua25vd24gYW5kIHNlbGYuaWdub3JlX3Vua25vd25fY2F0ZWdvcmll czoKKyAgICAgICAgICAgICAjIC0tIENBU0U6IFVua25vd24gY2F0ZWdvcnksIGlnbm9yZSBpdC4K KyAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorIAorQEAgLTMyMCw2ICszMTksMTE1IEBAIGNsYXNz IENvbXBvc2l0ZVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisgICAgICAgICByZXR1cm4gRmFsc2UK KyAKKyAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBBQ1RJVkUgVEFHIFZBTFVFIFBST1ZJ REVSIENMQVNTRVM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2NsYXNzIElBY3RpdmVUYWdW YWx1ZVByb3ZpZGVyKG9iamVjdCk6CisrICAgICIiIlByb3RvY29sL0ludGVyZmFjZSBmb3IgYWN0 aXZlLXRhZyB2YWx1ZSBwcm92aWRlcnMuIiIiCisrCisrICAgIGRlZiBnZXQoc2VsZiwgY2F0ZWdv cnksIGRlZmF1bHQ9Tm9uZSk6CisrICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKysKKysK KytjbGFzcyBBY3RpdmVUYWdWYWx1ZVByb3ZpZGVyKFVzZXJEaWN0KToKKysgICAgZGVmIF9faW5p dF9fKHNlbGYsIGRhdGE9Tm9uZSk6CisrICAgICAgICBpZiBkYXRhIGlzIE5vbmU6CisrICAgICAg ICAgICAgZGF0YSA9IHt9CisrICAgICAgICBVc2VyRGljdC5fX2luaXRfXyhzZWxmLCBkYXRhKQor KworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiB1c2VfdmFsdWUodmFsdWUpOgorKyAgICAg ICAgaWYgY2FsbGFibGUodmFsdWUpOgorKyAgICAgICAgICAgICMgLS0gUkUtRVZBTFVBVEUgVkFM VUU6IEVhY2ggdGltZQorKyAgICAgICAgICAgIHZhbHVlX2Z1bmMgPSB2YWx1ZQorKyAgICAgICAg ICAgIHZhbHVlID0gdmFsdWVfZnVuYygpCisrICAgICAgICByZXR1cm4gdmFsdWUKKysKKysgICAg ZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIG5hbWUpOgorKyAgICAgICAgdmFsdWUgPSBzZWxmLmRhdGFb bmFtZV0KKysgICAgICAgIHJldHVybiBzZWxmLnVzZV92YWx1ZSh2YWx1ZSkKKysKKysgICAgZGVm IGdldChzZWxmLCBjYXRlZ29yeSwgZGVmYXVsdD1Ob25lKToKKysgICAgICAgIHZhbHVlID0gc2Vs Zi5kYXRhLmdldChjYXRlZ29yeSwgZGVmYXVsdCkKKysgICAgICAgIHJldHVybiBzZWxmLnVzZV92 YWx1ZSh2YWx1ZSkKKysKKysgICAgZGVmIHZhbHVlcyhzZWxmKToKKysgICAgICAgIGZvciB2YWx1 ZSBpbiBzZWxmLmRhdGEudmFsdWVzKHNlbGYpOgorKyAgICAgICAgICAgIHlpZWxkIHNlbGYudXNl X3ZhbHVlKHZhbHVlKQorKworKyAgICBkZWYgaXRlbXMoc2VsZik6CisrICAgICAgICBmb3IgY2F0 ZWdvcnksIHZhbHVlIGluIHNlbGYuZGF0YS5pdGVtcygpOgorKyAgICAgICAgICAgIHlpZWxkIChj YXRlZ29yeSwgc2VsZi51c2VfdmFsdWUodmFsdWUpKQorKworKyAgICBkZWYgY2F0ZWdvcmllcyhz ZWxmKToKKysgICAgICAgIHJldHVybiBzZWxmLmtleXMoKQorKworKworK2NsYXNzIENvbXBvc2l0 ZUFjdGl2ZVRhZ1ZhbHVlUHJvdmlkZXIoQWN0aXZlVGFnVmFsdWVQcm92aWRlcik6CisrICAgICIi IlByb3ZpZGVzIGEgY29tcG9zaXRlIGhlbHBlciBjbGFzcyB0byByZXNvbHZlIGFjdGl2ZS10YWcg dmFsdWVzCisrICAgIGZyb20gYSBsaXN0IG9mIHZhbHVlLXByb3ZpZGVycy4KKysgICAgIiIiCisr CisrICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZV9wcm92aWRlcnM9Tm9uZSk6CisrICAgICAg ICBpZiB2YWx1ZV9wcm92aWRlcnMgaXMgTm9uZToKKysgICAgICAgICAgICB2YWx1ZV9wcm92aWRl cnMgPSBbXQorKyAgICAgICAgc3VwZXIoQ29tcG9zaXRlQWN0aXZlVGFnVmFsdWVQcm92aWRlciwg c2VsZikuX19pbml0X18oKQorKyAgICAgICAgc2VsZi52YWx1ZV9wcm92aWRlcnMgPSBsaXN0KHZh bHVlX3Byb3ZpZGVycykKKysKKysgICAgZGVmIGdldChzZWxmLCBjYXRlZ29yeSwgZGVmYXVsdD1O b25lKToKKysgICAgICAgICMgLS0gRklSU1Q6IENoZWNrIGNhdGVnb3J5IGNhY2hlZC1tYXAgKD1z ZWxmLmRhdGEpCisrICAgICAgICB2YWx1ZSA9IHNlbGYuZGF0YS5nZXQoY2F0ZWdvcnksIFVua25v d24pCisrICAgICAgICBpZiB2YWx1ZSBpcyBVbmtub3duOgorKyAgICAgICAgICAgICMgLS0gTk9U IERJU0NPVkVSRUQ6IFNlYXJjaCBvdmVyIHZhbHVlX3Byb3ZpZGVycy4KKysgICAgICAgICAgICBm b3IgdmFsdWVfcHJvdmlkZXIgaW4gc2VsZi52YWx1ZV9wcm92aWRlcnM6CisrICAgICAgICAgICAg ICAgIHZhbHVlID0gdmFsdWVfcHJvdmlkZXIuZ2V0KGNhdGVnb3J5LCBVbmtub3duKQorKyAgICAg ICAgICAgICAgICBpZiB2YWx1ZSBpcyBVbmtub3duOgorKyAgICAgICAgICAgICAgICAgICAgY29u dGludWUKKysKKysgICAgICAgICAgICAgICAgIyAtLSBGT1VORCBDQVRFR09SWToKKysgICAgICAg ICAgICAgICAgc2VsZi5kYXRhW2NhdGVnb3J5XSA9IHZhbHVlCisrICAgICAgICAgICAgICAgIGJy ZWFrCisrICAgICAgICAgICAgIyAtLSBGT1VORC1DQVRFR09SWSBvciBOT1QtRk9VTkQ6CisrICAg ICAgICAgICAgaWYgdmFsdWUgaXMgVW5rbm93bjoKKysgICAgICAgICAgICAgICAgdmFsdWUgPSBk ZWZhdWx0CisrCisrICAgICAgICByZXR1cm4gc2VsZi51c2VfdmFsdWUodmFsdWUpCisrCisrICAg ICMgLS0gTU9SRTogUHJvdmlkZSBhIGRpY3QtbGlrZSBpbnRlcmZhY2UuCisrICAgIGRlZiBrZXlz KHNlbGYpOgorKyAgICAgICAgZm9yIHZhbHVlX3Byb3ZpZGVyIGluIHNlbGYudmFsdWVfcHJvdmlk ZXJzOgorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgZm9yIGNhdGVnb3J5IGlu IHZhbHVlX3Byb3ZpZGVyLmtleXMoKToKKysgICAgICAgICAgICAgICAgICAgIHlpZWxkIGNhdGVn b3J5CisrICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorKyAgICAgICAgICAgICAg ICAjIC0tIGtleXMoKSBtZXRob2Qgbm90IHN1cHBvcnRlZC4KKysgICAgICAgICAgICAgICAgcGFz cworKworKyAgICBkZWYgdmFsdWVzKHNlbGYpOgorKyAgICAgICAgZm9yIGNhdGVnb3J5IGluIHNl bGYua2V5cygpOgorKyAgICAgICAgICAgIHZhbHVlID0gc2VsZi5nZXQoY2F0ZWdvcnkpCisrICAg ICAgICAgICAgeWllbGQgdmFsdWUKKysKKysgICAgZGVmIGl0ZW1zKHNlbGYpOgorKyAgICAgICAg Zm9yIGNhdGVnb3J5IGluIHNlbGYua2V5cygpOgorKyAgICAgICAgICAgIHZhbHVlID0gc2VsZi5n ZXQoY2F0ZWdvcnkpCisrICAgICAgICAgICAgeWllbGQgKGNhdGVnb3J5LCB2YWx1ZSkKKysKKysK KysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBVVElMSVRZIEZVTkNUSU9OUzoKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIGJvb2xfdG9fc3RyaW5nKHZhbHVlKToKKysgICAgIiIi Q29udmVydHMgYSBib29sZWFuIGFjdGl2ZS10YWcgdmFsdWUgaW50byBpdHMgbm9ybWFsaXplZAor KyAgICBzdHJpbmcgcmVwcmVzZW50YXRpb24uCisrCisrICAgIDpwYXJhbSB2YWx1ZTogIEJvb2xl YW4gdmFsdWUgdG8gdXNlIChvciB2YWx1ZSBjb252ZXJ0ZWQgaW50byBib29sKS4KKysgICAgOnJl dHVybnM6IEJvb2xlYW4gdmFsdWUgY29udmVydGVkIGludG8gYSBub3JtYWxpemVkIHN0cmluZy4K KysgICAgIiIiCisrICAgIHJldHVybiBzdHIoYm9vbCh2YWx1ZSkpLmxvd2VyKCkKKysKKysKKyBk ZWYgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZlX3RhZ192YWx1ZXMsIGRhdGEpOgorICAg ICAiIiJTZXR1cC91cGRhdGUgYWN0aXZlX3RhZyB2YWx1ZXMgd2l0aCBkaWN0LWxpa2UgZGF0YS4K KyAgICAgT25seSB2YWx1ZXMgZm9yIGtleXMgdGhhdCBhcmUgYWxyZWFkeSBwcmVzZW50IGFyZSB1 cGRhdGVkLgorQEAgLTMzMCwzICs0MzgsMjIgQEAgZGVmIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVz KGFjdGl2ZV90YWdfdmFsdWVzLCBkYXRhKToKKyAgICAgZm9yIGNhdGVnb3J5IGluIGxpc3QoYWN0 aXZlX3RhZ192YWx1ZXMua2V5cygpKToKKyAgICAgICAgIGlmIGNhdGVnb3J5IGluIGRhdGE6Cisg ICAgICAgICAgICAgYWN0aXZlX3RhZ192YWx1ZXNbY2F0ZWdvcnldID0gZGF0YVtjYXRlZ29yeV0K KysKKysKKytkZWYgcHJpbnRfYWN0aXZlX3RhZ3MoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwg Y2F0ZWdvcmllcz1Ob25lKToKKysgICAgIiIiUHJpbnQgYSBzdW1tYXJ5IG9mIHRoZSBjdXJyZW50 IGFjdGl2ZS10YWcgdmFsdWVzLiIiIgorKyAgICBpZiBjYXRlZ29yaWVzIGlzIE5vbmU6CisrICAg ICAgICB0cnk6CisrICAgICAgICAgICAgY2F0ZWdvcmllcyA9IGxpc3QoYWN0aXZlX3RhZ192YWx1 ZV9wcm92aWRlcikKKysgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6ICAgIyBUeXBlRXJyb3I6IG9i amVjdCBpcyBub3QgaXRlcmFibGUKKysgICAgICAgICAgICBjYXRlZ29yaWVzID0gW10KKysKKysg ICAgYWN0aXZlX3RhZ19kYXRhID0gYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcgorKyAgICBwcmlu dCgiQUNUSVZFLVRBR1M6IikKKysgICAgZm9yIGNhdGVnb3J5IGluIGNhdGVnb3JpZXM6CisrICAg ICAgICBhY3RpdmVfdGFnX3ZhbHVlID0gYWN0aXZlX3RhZ19kYXRhLmdldChjYXRlZ29yeSkKKysg ICAgICAgIHByaW50KCJ1c2Uud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0iLmZvcm1hdCgKKysgICAg ICAgICAgICBjYXRlZ29yeT1jYXRlZ29yeSwgdmFsdWU9YWN0aXZlX3RhZ192YWx1ZSkpCisrCisr ICAgICMgLS0gRklOQUxMWTogVFJBSUxJTkcgTkVXLUxJTkUKKysgICAgcHJpbnQoKQorZGlmZiAt LWdpdCBhL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkK K2luZGV4IDZmYWY0ZTIuLjcyZWJhYTAgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9lbnZpcm9ubWVu dC5weQorKysrIGIvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0yLDcgKzIsOCBAQAorICMg RklMRTogZmVhdHVyZXMvZW52aXJvbmVtbnQucHkKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0 IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKy1mcm9tIGJlaGF2ZS50YWdfbWF0Y2hl ciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKytmcm9t IGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgXAorKyAgICBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1 cF9hY3RpdmVfdGFnX3ZhbHVlcywgcHJpbnRfYWN0aXZlX3RhZ3MKKyBmcm9tIGJlaGF2ZTRjbWQw LnNldHVwX2NvbW1hbmRfc2hlbGwgaW1wb3J0IHNldHVwX2NvbW1hbmRfc2hlbGxfcHJvY2Vzc29y czRiZWhhdmUKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgcHl0aG9uX2ZlYXR1cmUKKyBpbXBvcnQgcGxh dGZvcm0KK0BAIC0yMSwxMSArMjIsNyBAQCBhY3RpdmVfdGFnX21hdGNoZXIgPSBBY3RpdmVUYWdN YXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIpCisgCisgCisgZGVmIHByaW50X2FjdGl2 ZV90YWdzX3N1bW1hcnkoKToKKy0gICAgYWN0aXZlX3RhZ19kYXRhID0gYWN0aXZlX3RhZ192YWx1 ZV9wcm92aWRlcgorLSAgICBwcmludCgiQUNUSVZFLVRBRyBTVU1NQVJZOiIpCistICAgIHByaW50 KCJ1c2Uud2l0aF9weXRob24udmVyc2lvbj0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJweXRo b24udmVyc2lvbiIpKQorLSAgICBwcmludCgidXNlLndpdGhfb3M9JXMiICUgYWN0aXZlX3RhZ19k YXRhLmdldCgib3MiKSkKKy0gICAgcHJpbnQoKQorKyAgICBwcmludF9hY3RpdmVfdGFncyhhY3Rp dmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBbInB5dGhvbi52ZXJzaW9uIiwgIm9zIl0pCisgCisgCisg IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL2Vudmly b25tZW50LnB5IGIvaXNzdWUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDdlNDhlZTAu LmFiODVlNmMgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKysr IGIvaXNzdWUuZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0xMyw3ICsxMyw3IEBAIGltcG9y dCBzeXMKKyBpbXBvcnQgcGxhdGZvcm0KKyBpbXBvcnQgb3MucGF0aAorIGltcG9ydCBzaXgKKy1m cm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlcgorK2Zyb20gYmVo YXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVUYWdNYXRjaGVyLCBwcmludF9hY3RpdmVfdGFn cworIGZyb20gYmVoYXZlNGNtZDAuc2V0dXBfY29tbWFuZF9zaGVsbCBpbXBvcnQgc2V0dXBfY29t bWFuZF9zaGVsbF9wcm9jZXNzb3JzNGJlaGF2ZQorICMgUFJFUEFSRUQ6IGZyb20gYmVoYXZlLnRh Z19tYXRjaGVyIGltcG9ydCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcworIAorQEAgLTk0LDEyICs5 NCw3IEBAIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192 YWx1ZV9wcm92aWRlcikKKyAKKyAKKyBkZWYgcHJpbnRfYWN0aXZlX3RhZ3Nfc3VtbWFyeSgpOgor LSAgICBhY3RpdmVfdGFnX2RhdGEgPSBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyCistICAgIHBy aW50KCJBQ1RJVkUtVEFHIFNVTU1BUlk6IikKKy0gICAgcHJpbnQoInVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPSVzIiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoInB5dGhvbi52ZXJzaW9uIikpCistICAg ICMgcHJpbnQoInVzZS53aXRoX3BsYXRmb3JtPSVzIiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoInBs YXRmb3JtIikpCistICAgICMgcHJpbnQoInVzZS53aXRoX29zPSVzIiAlIGFjdGl2ZV90YWdfZGF0 YS5nZXQoIm9zIikpCistICAgIHByaW50KCkKKysgICAgcHJpbnRfYWN0aXZlX3RhZ3MoYWN0aXZl X3RhZ192YWx1ZV9wcm92aWRlciwgWyJweXRob24udmVyc2lvbiIsICJvcyJdKQorIAorIAorICMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE0LVVQREFURS1pMThuLWdoZXJraW4tbGFuZ3Vh Z2VzLmpzb24tZnJvbS1jdWN1bWJlci1yZXAucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE0LVVQREFURS1pMThuLWdoZXJraW4tbGFu Z3VhZ2VzLmpzb24tZnJvbS1jdWN1bWJlci1yZXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi45ZDM3MGMyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE0LVVQREFURS1pMThu LWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1jdWN1bWJlci1yZXAucGF0Y2gKQEAgLTAsMCAr MSw1NDEgQEAKK0Zyb20gNzE1MDc5Y2MwOGE3NjcyZDUxYzM3NmE5ZDg4NDg3MzQ2OWZmYTAwOSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9y ZXBseS5naXRodWIuY29tPgorRGF0ZTogVHVlLCAxMiBKYW4gMjAyMSAxMzoyMTo0NCArMDEwMAor U3ViamVjdDogW1BBVENIXSBVUERBVEU6IGkxOG4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiBmcm9t IGN1Y3VtYmVyIHJlcG9zaXRvcnkuCisKK0NPTlRBSU5TOiBQUiAjODI3IChFc3RvbmlhbiBsYW5n dWFnZSB1cGRhdGVzIGNvbnRhaW5lZCkKK0xBU1QgQ09NTUlUOiAyMDIxLTAxLTA3IChpbiBDdWN1 bWJlciByZXBvc2l0b3J5KQorTEFOR1VBR0UgQ0hBTkdFUzoKKworKiBTd2VkaXNoOiBSdWxlIGtl eXdvcmQKKyogVGVsdWd1OiBGaXhpbmcgSVNPIDYzOS0xIGNvZGUKKyogUnVzc2lhbjogUnVsZSBr ZXl3b3JkCisqIEhlYnJldzogUnVsZSBrZXl3b3JkCisqIEdlcm1hbjogQWRkaXRpb24ga2V5d29y ZHMKKyogRXN0b25pYW46IFJ1bGUga2V5d29yZCwgU2NlbmFyaW9PdXRsaW5lIGtleXdvcmQKKyog SW5kb25lc2lhbjogR2l2ZW4ga2V5d29yZHMsIHdoaXRlc3BhY2UKKy0tLQorIGJlaGF2ZS9pMThu LnB5ICAgICAgICAgICAgICAgICAgICAgfCAgOTIgKysrKysrKysrKysrLS0tLS0tCisgZXRjL2do ZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiB8IDE0NSArKysrKysrKysrKysrKysrKysrKysr KysrLS0tLQorIGZlYXR1cmVzL2NtZGxpbmUubGFuZ19saXN0LmZlYXR1cmUgfCAgNjQgKysrKysr KysrLS0tLQorIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDMwOS5mZWF0dXJlICAgfCAgIDIgKy0KKyA0 IGZpbGVzIGNoYW5nZWQsIDI0MCBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2JlaGF2ZS9pMThuLnB5IGIvYmVoYXZlL2kxOG4ucHkKK2luZGV4IDI3ODFhZmUu LmE1NzI2MjYgMTAwNjQ0CistLS0gYS9iZWhhdmUvaTE4bi5weQorKysrIGIvYmVoYXZlL2kxOG4u cHkKK0BAIC0xODgsMTYgKzE4OCwxOSBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAgICAndGhlbic6 IFsnKiAnLCAnU8OlICddLAorICAgICAgICAgJ3doZW4nOiBbJyogJywgJ07DpXIgJ119LAorICAn ZGUnOiB7J2FuZCc6IFsnKiAnLCAnVW5kICddLAorLSAgICAgICAgJ2JhY2tncm91bmQnOiBbJ0dy dW5kbGFnZSddLAorKyAgICAgICAgJ2JhY2tncm91bmQnOiBbJ0dydW5kbGFnZScsCisrICAgICAg ICAgICAgICAgICAgICAgICAnSGludGVyZ3J1bmQnLAorKyAgICAgICAgICAgICAgICAgICAgICAg J1ZvcmF1c3NldHp1bmdlbicsCisrICAgICAgICAgICAgICAgICAgICAgICAnVm9yYmVkaW5ndW5n ZW4nXSwKKyAgICAgICAgICdidXQnOiBbJyogJywgJ0FiZXIgJ10sCisgICAgICAgICAnZXhhbXBs ZXMnOiBbJ0JlaXNwaWVsZSddLAorLSAgICAgICAgJ2ZlYXR1cmUnOiBbJ0Z1bmt0aW9uYWxpdMOk dCddLAorKyAgICAgICAgJ2ZlYXR1cmUnOiBbJ0Z1bmt0aW9uYWxpdMOkdCcsICdGdW5rdGlvbidd LAorICAgICAgICAgJ2dpdmVuJzogWycqICcsICdBbmdlbm9tbWVuICcsICdHZWdlYmVuIHNlaSAn LCAnR2VnZWJlbiBzZWllbiAnXSwKKyAgICAgICAgICduYW1lJzogJ0dlcm1hbicsCisgICAgICAg ICAnbmF0aXZlJzogJ0RldXRzY2gnLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAg ICAgICdydWxlJzogWydSdWxlJywgJ1JlZ2VsJ10sCisgICAgICAgICAnc2NlbmFyaW8nOiBbJ0Jl aXNwaWVsJywgJ1N6ZW5hcmlvJ10sCistICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsnU3pl bmFyaW9ncnVuZHJpc3MnXSwKKysgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWydTemVuYXJp b2dydW5kcmlzcycsICdTemVuYXJpZW4nXSwKKyAgICAgICAgICd0aGVuJzogWycqICcsICdEYW5u ICddLAorICAgICAgICAgJ3doZW4nOiBbJyogJywgJ1dlbm4gJ119LAorICAnZWwnOiB7J2FuZCc6 IFsnKiAnLCAnzprOsc65ICddLAorQEAgLTM0NCw5ICszNDcsOSBAQCBsYW5ndWFnZXMgPSBcCisg ICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ0VlbGRhZGVzICddLAorICAgICAgICAgJ25hbWUnOiAn RXN0b25pYW4nLAorICAgICAgICAgJ25hdGl2ZSc6ICdlZXN0aSBrZWVsJywKKy0gICAgICAgICdy dWxlJzogWydSdWxlJ10sCisrICAgICAgICAncnVsZSc6IFsnUmVlZ2VsJ10sCisgICAgICAgICAn c2NlbmFyaW8nOiBbJ0p1aHR1bScsICdTdHNlbmFhcml1bSddLAorLSAgICAgICAgJ3NjZW5hcmlv X291dGxpbmUnOiBbJ1JhYW1zdGp1aHR1bScsICdSYWFtc3RzZW5hYXJpdW0nXSwKKysgICAgICAg ICdzY2VuYXJpb19vdXRsaW5lJzogWydSYWFtanVodHVtJywgJ1JhYW1zdHNlbmFhcml1bSddLAor ICAgICAgICAgJ3RoZW4nOiBbJyogJywgJ1NpaXMgJ10sCisgICAgICAgICAnd2hlbic6IFsnKiAn LCAnS3VpICddfSwKKyAgJ2ZhJzogeydhbmQnOiBbJyogJywgJ9mIICddLAorQEAgLTQ1NSw3ICs0 NTgsNyBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ9eR15TXmdeg 16rXnyAnXSwKKyAgICAgICAgICduYW1lJzogJ0hlYnJldycsCisgICAgICAgICAnbmF0aXZlJzog J9ei15HXqNeZ16onLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxl JzogWyfXm9ec15wnXSwKKyAgICAgICAgICdzY2VuYXJpbyc6IFsn15PXldeS157XkCcsICfXqteo 15fXmdepJ10sCisgICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsn16rXkdeg15nXqiDXqteo 15fXmdepJ10sCisgICAgICAgICAndGhlbic6IFsnKiAnLCAn15DXliAnLCAn15DXlteZICddLAor QEAgLTUxOCwxNyArNTIxLDIyIEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICd0aGVuJzogWycq ICcsICdBa2tvciAnXSwKKyAgICAgICAgICd3aGVuJzogWycqICcsICdNYWpkICcsICdIYSAnLCAn QW1pa29yICddfSwKKyAgJ2lkJzogeydhbmQnOiBbJyogJywgJ0RhbiAnXSwKKy0gICAgICAgICdi YWNrZ3JvdW5kJzogWydEYXNhciddLAorLSAgICAgICAgJ2J1dCc6IFsnKiAnLCAnVGFwaSAnXSwK Ky0gICAgICAgICdleGFtcGxlcyc6IFsnQ29udG9oJ10sCisrICAgICAgICAnYmFja2dyb3VuZCc6 IFsnRGFzYXInLCAnTGF0YXIgQmVsYWthbmcnXSwKKysgICAgICAgICdidXQnOiBbJyogJywgJ1Rh cGkgJywgJ1RldGFwaSAnXSwKKysgICAgICAgICdleGFtcGxlcyc6IFsnQ29udG9oJywgJ01pc2Fs J10sCisgICAgICAgICAnZmVhdHVyZSc6IFsnRml0dXInXSwKKy0gICAgICAgICdnaXZlbic6IFsn KiAnLCAnRGVuZ2FuICddLAorKyAgICAgICAgJ2dpdmVuJzogWycqICcsCisrICAgICAgICAgICAg ICAgICAgJ0RlbmdhbiAnLAorKyAgICAgICAgICAgICAgICAgICdEaWtldGFodWkgJywKKysgICAg ICAgICAgICAgICAgICAnRGlhc3Vtc2lrYW4gJywKKysgICAgICAgICAgICAgICAgICAnQmlsYSAn LAorKyAgICAgICAgICAgICAgICAgICdKaWthICddLAorICAgICAgICAgJ25hbWUnOiAnSW5kb25l c2lhbicsCisgICAgICAgICAnbmF0aXZlJzogJ0JhaGFzYSBJbmRvbmVzaWEnLAorLSAgICAgICAg J3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxlJzogWydSdWxlJywgJ0F0dXJhbiddLAor ICAgICAgICAgJ3NjZW5hcmlvJzogWydTa2VuYXJpbyddLAorLSAgICAgICAgJ3NjZW5hcmlvX291 dGxpbmUnOiBbJ1NrZW5hcmlvIGtvbnNlcCddLAorLSAgICAgICAgJ3RoZW4nOiBbJyogJywgJ01h a2EgJ10sCisrICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsnU2tlbmFyaW8ga29uc2VwJywg J0dhcmlzLUJlc2FyIFNrZW5hcmlvJ10sCisrICAgICAgICAndGhlbic6IFsnKiAnLCAnTWFrYSAn LCAnS2VtdWRpYW4gJ10sCisgICAgICAgICAnd2hlbic6IFsnKiAnLCAnS2V0aWthICddfSwKKyAg J2lzJzogeydhbmQnOiBbJyogJywgJ09nICddLAorICAgICAgICAgJ2JhY2tncm91bmQnOiBbJ0Jh a2dydW5udXInXSwKK0BAIC02OTksNiArNzA3LDMyIEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAg ICdzY2VuYXJpb19vdXRsaW5lJzogWyfQodGG0LXQvdCw0YDRi9C9INGC06nQu9Op0LLQu9Op0LPT qdOpJ10sCisgICAgICAgICAndGhlbic6IFsnKiAnLCAn0KLRjdCz0Y3RhdGN0LQgJywgJ9Ku0q/Q vdC40Lkg0LTQsNGA0LDQsCAnXSwKKyAgICAgICAgICd3aGVuJzogWycqICcsICfQpdGN0YDRjdCy ICddfSwKKysgJ21yJzogeydhbmQnOiBbJyogJywgJ+CkhuCko+CkvyAnLCAn4KSk4KS44KWH4KSa ICddLAorKyAgICAgICAgJ2JhY2tncm91bmQnOiBbJ+CkquCkvuCksOCljeCktuCljeCkteCkreCl guCkruClgCddLAorKyAgICAgICAgJ2J1dCc6IFsnKiAnLCAn4KSq4KSjICcsICfgpKrgpLDgpILg pKTgpYEgJ10sCisrICAgICAgICAnZXhhbXBsZXMnOiBbJ+CkieCkpuCkvuCkueCksOCkoyddLAor KyAgICAgICAgJ2ZlYXR1cmUnOiBbJ+CkteCliOCktuCkv+Ckt+CljeCkn+CljeCkrycsICfgpLjg pYHgpLXgpL/gpKfgpL4nXSwKKysgICAgICAgICdnaXZlbic6IFsnKiAnLCAn4KSc4KSwJywgJ+Ck puCkv+CksuClh+CksuCljeCkr+CkviDgpKrgpY3gpLDgpK7gpL7gpKPgpYcgJ10sCisrICAgICAg ICAnbmFtZSc6ICdNYXJhdGhpJywKKysgICAgICAgICduYXRpdmUnOiAn4KSu4KSw4KS+4KSg4KWA JywKKysgICAgICAgICdydWxlJzogWyfgpKjgpL/gpK/gpK4nXSwKKysgICAgICAgICdzY2VuYXJp byc6IFsn4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSvJ10sCisrICAgICAgICAnc2NlbmFyaW9fb3V0 bGluZSc6IFsn4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSvIOCksOClguCkquCksOClh+CkluCkvidd LAorKyAgICAgICAgJ3RoZW4nOiBbJyogJywgJ+CkruCklyAnLCAn4KSk4KWH4KS14KWN4KS54KS+ ICddLAorKyAgICAgICAgJ3doZW4nOiBbJyogJywgJ+CknOClh+CkteCljeCkueCkviAnXX0sCisr ICduZSc6IHsnYW5kJzogWycqICcsICfgpLAgJywgJ+CkheCkqOClgCAnXSwKKysgICAgICAgICdi YWNrZ3JvdW5kJzogWyfgpKrgpYPgpLfgpY3gpKDgpK3gpYLgpK7gpYAnXSwKKysgICAgICAgICdi dXQnOiBbJyogJywgJ+CkpOCksCAnXSwKKysgICAgICAgICdleGFtcGxlcyc6IFsn4KSJ4KSm4KS+ 4KS54KSw4KSjJywgJ+CkieCkpuCkvuCkueCksOCko+CkueCksOClgSddLAorKyAgICAgICAgJ2Zl YXR1cmUnOiBbJ+CkuOClgeCkteCkv+Ckp+CkvicsICfgpLXgpL/gpLbgpYfgpLfgpKTgpL4nXSwK KysgICAgICAgICdnaXZlbic6IFsnKiAnLCAn4KSm4KS/4KSH4KSP4KSV4KWLICcsICfgpKbgpL/g pI/gpJXgpYsgJywgJ+Ckr+CkpuCkvyAnXSwKKysgICAgICAgICduYW1lJzogJ05lcGFsaScsCisr ICAgICAgICAnbmF0aXZlJzogJ+CkqOClh+CkquCkvuCksuClgCcsCisrICAgICAgICAncnVsZSc6 IFsn4KSo4KS/4KSv4KSuJ10sCisrICAgICAgICAnc2NlbmFyaW8nOiBbJ+CkquCksOCkv+CkpuCl g+CktuCljeCkryddLAorKyAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ+CkquCksOCkv+Ck puClg+CktuCljeCkryDgpLDgpYLgpKrgpLDgpYfgpJbgpL4nXSwKKysgICAgICAgICd0aGVuJzog WycqICcsICfgpKTgpY3gpK/gpLjgpKrgpJvgpL8gJywgJ+CkheCkqOClgCAnXSwKKysgICAgICAg ICd3aGVuJzogWycqICcsICfgpJzgpKwgJ119LAorICAnbmwnOiB7J2FuZCc6IFsnKiAnLCAnRW4g J10sCisgICAgICAgICAnYmFja2dyb3VuZCc6IFsnQWNodGVyZ3JvbmQnXSwKKyAgICAgICAgICdi dXQnOiBbJyogJywgJ01hYXIgJ10sCitAQCAtNzk3LDcgKzgzMSw3IEBAIGxhbmd1YWdlcyA9IFwK KyAgICAgICAgICdnaXZlbic6IFsnKiAnLCAn0JTQvtC/0YPRgdGC0LjQvCAnLCAn0JTQsNC90L4g JywgJ9Cf0YPRgdGC0YwgJ10sCisgICAgICAgICAnbmFtZSc6ICdSdXNzaWFuJywKKyAgICAgICAg ICduYXRpdmUnOiAn0YDRg9GB0YHQutC40LknLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwK KysgICAgICAgICdydWxlJzogWyfQn9GA0LDQstC40LvQviddLAorICAgICAgICAgJ3NjZW5hcmlv JzogWyfQn9GA0LjQvNC10YAnLCAn0KHRhtC10L3QsNGA0LjQuSddLAorICAgICAgICAgJ3NjZW5h cmlvX291dGxpbmUnOiBbJ9Ch0YLRgNGD0LrRgtGD0YDQsCDRgdGG0LXQvdCw0YDQuNGPJ10sCisg ICAgICAgICAndGhlbic6IFsnKiAnLCAn0KLQviAnLCAn0JfQsNGC0LXQvCAnLCAn0KLQvtCz0LTQ sCAnXSwKK0BAIC04NzMsNyArOTA3LDcgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ2dpdmVu JzogWycqICcsICdHaXZldCAnXSwKKyAgICAgICAgICduYW1lJzogJ1N3ZWRpc2gnLAorICAgICAg ICAgJ25hdGl2ZSc6ICdTdmVuc2thJywKKy0gICAgICAgICdydWxlJzogWydSdWxlJ10sCisrICAg ICAgICAncnVsZSc6IFsnUmVnZWwnXSwKKyAgICAgICAgICdzY2VuYXJpbyc6IFsnU2NlbmFyaW8n XSwKKyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWydBYnN0cmFrdCBTY2VuYXJpbycsICdT Y2VuYXJpb21hbGwnXSwKKyAgICAgICAgICd0aGVuJzogWycqICcsICdTw6UgJ10sCitAQCAtODkx LDYgKzkyNSwxOSBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6 IFsn4K6V4K6+4K6f4K+N4K6a4K6/IOCumuCvgeCusOCvgeCuleCvjeCuleCuruCvjScsICfgrpXg rr7grp/gr43grprgrr8g4K614K6+4K6w4K+N4K6q4K+N4K6q4K+B4K6w4K+BJ10sCisgICAgICAg ICAndGhlbic6IFsnKiAnLCAn4K6F4K6q4K+N4K6q4K+G4K6+4K604K+B4K6k4K+BICddLAorICAg ICAgICAgJ3doZW4nOiBbJyogJywgJ+CujuCuquCvjeCuquCvh+CuvuCupOCvgSAnXX0sCisrICd0 ZSc6IHsnYW5kJzogWycqICcsICfgsK7gsLDgsL/gsK/gsYEgJ10sCisrICAgICAgICAnYmFja2dy b3VuZCc6IFsn4LCo4LGH4LCq4LCl4LGN4LCv4LCCJ10sCisrICAgICAgICAnYnV0JzogWycqICcs ICfgsJXgsL7gsKjgsL8gJ10sCisrICAgICAgICAnZXhhbXBsZXMnOiBbJ+CwieCwpuCwvuCwueCw sOCwo+CwsuCxgSddLAorKyAgICAgICAgJ2ZlYXR1cmUnOiBbJ+Cwl+CxgeCwo+CwruCxgSddLAor KyAgICAgICAgJ2dpdmVuJzogWycqICcsICfgsJrgsYbgsKrgsY3gsKrgsKzgsKHgsL/gsKjgsKbg sL8gJ10sCisrICAgICAgICAnbmFtZSc6ICdUZWx1Z3UnLAorKyAgICAgICAgJ25hdGl2ZSc6ICfg sKTgsYbgsLLgsYHgsJfgsYEnLAorKyAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAg ICdzY2VuYXJpbyc6IFsn4LCJ4LCm4LC+4LC54LCw4LCjJywgJ+CwuOCwqOCxjeCwqOCwv+CwteCx h+CwtuCwgiddLAorKyAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ+CwleCwpeCwqOCwgidd LAorKyAgICAgICAgJ3RoZW4nOiBbJyogJywgJ+CwheCwquCxjeCwquCxgeCwoeCxgSAnXSwKKysg ICAgICAgICd3aGVuJzogWycqICcsICfgsIgg4LCq4LCw4LC/4LC44LGN4LCl4LC/4LCk4LC/4LCy 4LGLICddfSwKKyAgJ3RoJzogeydhbmQnOiBbJyogJywgJ+C5geC4peC4sCAnXSwKKyAgICAgICAg ICdiYWNrZ3JvdW5kJzogWyfguYHguJnguKfguITguLTguJQnXSwKKyAgICAgICAgICdidXQnOiBb JyogJywgJ+C5geC4leC5iCAnXSwKK0BAIC05MDQsMTkgKzk1MSw2IEBAIGxhbmd1YWdlcyA9IFwK KyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWyfguKrguKPguLjguJvguYDguKvguJXguLjg uIHguLLguKPguJPguYwnLCAn4LmC4LiE4Lij4LiH4Liq4Lij4LmJ4Liy4LiH4LiC4Lit4LiH4LmA 4Lir4LiV4Li44LiB4Liy4Lij4LiT4LmMJ10sCisgICAgICAgICAndGhlbic6IFsnKiAnLCAn4LiU 4Lix4LiH4LiZ4Lix4LmJ4LiZICddLAorICAgICAgICAgJ3doZW4nOiBbJyogJywgJ+C5gOC4oeC4 t+C5iOC4rSAnXX0sCistICd0bCc6IHsnYW5kJzogWycqICcsICfgsK7gsLDgsL/gsK/gsYEgJ10s CistICAgICAgICAnYmFja2dyb3VuZCc6IFsn4LCo4LGH4LCq4LCl4LGN4LCv4LCCJ10sCistICAg ICAgICAnYnV0JzogWycqICcsICfgsJXgsL7gsKjgsL8gJ10sCistICAgICAgICAnZXhhbXBsZXMn OiBbJ+CwieCwpuCwvuCwueCwsOCwo+CwsuCxgSddLAorLSAgICAgICAgJ2ZlYXR1cmUnOiBbJ+Cw l+CxgeCwo+CwruCxgSddLAorLSAgICAgICAgJ2dpdmVuJzogWycqICcsICfgsJrgsYbgsKrgsY3g sKrgsKzgsKHgsL/gsKjgsKbgsL8gJ10sCistICAgICAgICAnbmFtZSc6ICdUZWx1Z3UnLAorLSAg ICAgICAgJ25hdGl2ZSc6ICfgsKTgsYbgsLLgsYHgsJfgsYEnLAorLSAgICAgICAgJ3J1bGUnOiBb J1J1bGUnXSwKKy0gICAgICAgICdzY2VuYXJpbyc6IFsn4LCJ4LCm4LC+4LC54LCw4LCjJywgJ+Cw uOCwqOCxjeCwqOCwv+CwteCxh+CwtuCwgiddLAorLSAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUn OiBbJ+CwleCwpeCwqOCwgiddLAorLSAgICAgICAgJ3RoZW4nOiBbJyogJywgJ+CwheCwquCxjeCw quCxgeCwoeCxgSAnXSwKKy0gICAgICAgICd3aGVuJzogWycqICcsICfgsIgg4LCq4LCw4LC/4LC4 4LGN4LCl4LC/4LCk4LC/4LCy4LGLICddfSwKKyAgJ3RsaCc6IHsnYW5kJzogWycqICcsICInZWog IiwgJ2xhdGxoICddLAorICAgICAgICAgICdiYWNrZ3JvdW5kJzogWyJtbyciXSwKKyAgICAgICAg ICAnYnV0JzogWycqICcsICInYWNoICIsICInYSAiXSwKK2RpZmYgLS1naXQgYS9ldGMvZ2hlcmtp bi9naGVya2luLWxhbmd1YWdlcy5qc29uIGIvZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMu anNvbgoraW5kZXggMjljYmNhMS4uNjA2OTY2NCAxMDA2NDQKKy0tLSBhL2V0Yy9naGVya2luL2do ZXJraW4tbGFuZ3VhZ2VzLmpzb24KKysrKyBiL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2Vz Lmpzb24KK0BAIC02MDUsNyArNjA1LDEwIEBACisgICAgICAgIlVuZCAiCisgICAgIF0sCisgICAg ICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJHcnVuZGxhZ2UiCisrICAgICAgIkdydW5kbGFnZSIs CisrICAgICAgIkhpbnRlcmdydW5kIiwKKysgICAgICAiVm9yYXVzc2V0enVuZ2VuIiwKKysgICAg ICAiVm9yYmVkaW5ndW5nZW4iCisgICAgIF0sCisgICAgICJidXQiOiBbCisgICAgICAgIiogIiwK K0BAIC02MTUsNyArNjE4LDggQEAKKyAgICAgICAiQmVpc3BpZWxlIgorICAgICBdLAorICAgICAi ZmVhdHVyZSI6IFsKKy0gICAgICAiRnVua3Rpb25hbGl0w6R0IgorKyAgICAgICJGdW5rdGlvbmFs aXTDpHQiLAorKyAgICAgICJGdW5rdGlvbiIKKyAgICAgXSwKKyAgICAgImdpdmVuIjogWworICAg ICAgICIqICIsCitAQCAtNjI2LDE0ICs2MzAsMTYgQEAKKyAgICAgIm5hbWUiOiAiR2VybWFuIiwK KyAgICAgIm5hdGl2ZSI6ICJEZXV0c2NoIiwKKyAgICAgInJ1bGUiOiBbCistICAgICAgIlJ1bGUi CisrICAgICAgIlJ1bGUiLAorKyAgICAgICJSZWdlbCIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlv IjogWworICAgICAgICJCZWlzcGllbCIsCisgICAgICAgIlN6ZW5hcmlvIgorICAgICBdLAorICAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTemVuYXJpb2dydW5kcmlzcyIKKysgICAg ICAiU3plbmFyaW9ncnVuZHJpc3MiLAorKyAgICAgICJTemVuYXJpZW4iCisgICAgIF0sCisgICAg ICJ0aGVuIjogWworICAgICAgICIqICIsCitAQCAtMTEyNywxNCArMTEzMywxNCBAQAorICAgICAi bmFtZSI6ICJFc3RvbmlhbiIsCisgICAgICJuYXRpdmUiOiAiZWVzdGkga2VlbCIsCisgICAgICJy dWxlIjogWworLSAgICAgICJSdWxlIgorKyAgICAgICJSZWVnZWwiCisgICAgIF0sCisgICAgICJz Y2VuYXJpbyI6IFsKKyAgICAgICAiSnVodHVtIiwKKyAgICAgICAiU3RzZW5hYXJpdW0iCisgICAg IF0sCisgICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlJhYW1zdGp1aHR1bSIsCisr ICAgICAgIlJhYW1qdWh0dW0iLAorICAgICAgICJSYWFtc3RzZW5hYXJpdW0iCisgICAgIF0sCisg ICAgICJ0aGVuIjogWworQEAgLTE0NjUsNyArMTQ3MSw3IEBACisgICAgICJuYW1lIjogIkhlYnJl dyIsCisgICAgICJuYXRpdmUiOiAi16LXkdeo15nXqiIsCisgICAgICJydWxlIjogWworLSAgICAg ICJSdWxlIgorKyAgICAgICLXm9ec15wiCisgICAgIF0sCisgICAgICJzY2VuYXJpbyI6IFsKKyAg ICAgICAi15PXldeS157XkCIsCitAQCAtMTY5MiwzNiArMTY5OCw0NiBAQAorICAgICAgICJEYW4g IgorICAgICBdLAorICAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiRGFzYXIiCisrICAgICAg IkRhc2FyIiwKKysgICAgICAiTGF0YXIgQmVsYWthbmciCisgICAgIF0sCisgICAgICJidXQiOiBb CisgICAgICAgIiogIiwKKy0gICAgICAiVGFwaSAiCisrICAgICAgIlRhcGkgIiwKKysgICAgICAi VGV0YXBpICIKKyAgICAgXSwKKyAgICAgImV4YW1wbGVzIjogWworLSAgICAgICJDb250b2giCisr ICAgICAgIkNvbnRvaCIsCisrICAgICAgIk1pc2FsIgorICAgICBdLAorICAgICAiZmVhdHVyZSI6 IFsKKyAgICAgICAiRml0dXIiCisgICAgIF0sCisgICAgICJnaXZlbiI6IFsKKyAgICAgICAiKiAi LAorLSAgICAgICJEZW5nYW4gIgorKyAgICAgICJEZW5nYW4gIiwKKysgICAgICAiRGlrZXRhaHVp ICIsCisrICAgICAgIkRpYXN1bXNpa2FuICIsCisrICAgICAgIkJpbGEgIiwKKysgICAgICAiSmlr YSAiCisgICAgIF0sCisgICAgICJuYW1lIjogIkluZG9uZXNpYW4iLAorICAgICAibmF0aXZlIjog IkJhaGFzYSBJbmRvbmVzaWEiLAorICAgICAicnVsZSI6IFsKKy0gICAgICAiUnVsZSIKKysgICAg ICAiUnVsZSIsCisrICAgICAgIkF0dXJhbiIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjogWwor ICAgICAgICJTa2VuYXJpbyIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0g ICAgICAiU2tlbmFyaW8ga29uc2VwIgorKyAgICAgICJTa2VuYXJpbyBrb25zZXAiLAorKyAgICAg ICJHYXJpcy1CZXNhciBTa2VuYXJpbyIKKyAgICAgXSwKKyAgICAgInRoZW4iOiBbCisgICAgICAg IiogIiwKKy0gICAgICAiTWFrYSAiCisrICAgICAgIk1ha2EgIiwKKysgICAgICAiS2VtdWRpYW4g IgorICAgICBdLAorICAgICAid2hlbiI6IFsKKyAgICAgICAiKiAiLAorQEAgLTIzMzAsNiArMjM0 Niw1NCBAQAorICAgICAgICLQpdGN0YDRjdCyICIKKyAgICAgXQorICAgfSwKKysgICJuZSI6IHsK KysgICAgImFuZCI6IFsKKysgICAgICAiKiAiLAorKyAgICAgICLgpLAgIiwKKysgICAgICAi4KSF 4KSo4KWAICIKKysgICAgXSwKKysgICAgImJhY2tncm91bmQiOiBbCisrICAgICAgIuCkquClg+Ck t+CljeCkoOCkreClguCkruClgCIKKysgICAgXSwKKysgICAgImJ1dCI6IFsKKysgICAgICAiKiAi LAorKyAgICAgICLgpKTgpLAgIgorKyAgICBdLAorKyAgICAiZXhhbXBsZXMiOiBbCisrICAgICAg IuCkieCkpuCkvuCkueCksOCkoyIsCisrICAgICAgIuCkieCkpuCkvuCkueCksOCko+CkueCksOCl gSIKKysgICAgXSwKKysgICAgImZlYXR1cmUiOiBbCisrICAgICAgIuCkuOClgeCkteCkv+Ckp+Ck viIsCisrICAgICAgIuCkteCkv+CktuClh+Ckt+CkpOCkviIKKysgICAgXSwKKysgICAgImdpdmVu IjogWworKyAgICAgICIqICIsCisrICAgICAgIuCkpuCkv+Ckh+Ckj+CkleCliyAiLAorKyAgICAg ICLgpKbgpL/gpI/gpJXgpYsgIiwKKysgICAgICAi4KSv4KSm4KS/ICIKKysgICAgXSwKKysgICAg Im5hbWUiOiAiTmVwYWxpIiwKKysgICAgIm5hdGl2ZSI6ICLgpKjgpYfgpKrgpL7gpLLgpYAiLAor KyAgICAicnVsZSI6IFsKKysgICAgICAi4KSo4KS/4KSv4KSuIgorKyAgICBdLAorKyAgICAic2Nl bmFyaW8iOiBbCisrICAgICAgIuCkquCksOCkv+CkpuClg+CktuCljeCkryIKKysgICAgXSwKKysg ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKysgICAgICAi4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSv IOCksOClguCkquCksOClh+CkluCkviIKKysgICAgXSwKKysgICAgInRoZW4iOiBbCisrICAgICAg IiogIiwKKysgICAgICAi4KSk4KWN4KSv4KS44KSq4KSb4KS/ICIsCisrICAgICAgIuCkheCkqOCl gCAiCisrICAgIF0sCisrICAgICJ3aGVuIjogWworKyAgICAgICIqICIsCisrICAgICAgIuCknOCk rCAiCisrICAgIF0KKysgIH0sCisgICAibmwiOiB7CisgICAgICJhbmQiOiBbCisgICAgICAgIiog IiwKK0BAIC0yNjY1LDcgKzI3MjksNyBAQAorICAgICAibmFtZSI6ICJSdXNzaWFuIiwKKyAgICAg Im5hdGl2ZSI6ICLRgNGD0YHRgdC60LjQuSIsCisgICAgICJydWxlIjogWworLSAgICAgICJSdWxl IgorKyAgICAgICLQn9GA0LDQstC40LvQviIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjogWwor ICAgICAgICLQn9GA0LjQvNC10YAiLAorQEAgLTI5MzMsNyArMjk5Nyw3IEBACisgICAgICJuYW1l IjogIlN3ZWRpc2giLAorICAgICAibmF0aXZlIjogIlN2ZW5za2EiLAorICAgICAicnVsZSI6IFsK Ky0gICAgICAiUnVsZSIKKysgICAgICAiUmVnZWwiCisgICAgIF0sCisgICAgICJzY2VuYXJpbyI6 IFsKKyAgICAgICAiU2NlbmFyaW8iCitAQCAtMzA0Niw3ICszMTEwLDcgQEAKKyAgICAgICAi4LmA 4Lih4Li34LmI4LitICIKKyAgICAgXQorICAgfSwKKy0gICJ0bCI6IHsKKysgICJ0ZSI6IHsKKyAg ICAgImFuZCI6IFsKKyAgICAgICAiKiAiLAorICAgICAgICLgsK7gsLDgsL/gsK/gsYEgIgorQEAg LTM1MTAsNSArMzU3NCw1MiBAQAorICAgICAgICIqICIsCisgICAgICAgIueVtiIKKyAgICAgXQor KyAgfSwKKysgICJtciI6IHsKKysgICAgImFuZCI6IFsKKysgICAgICAiKiAiLAorKyAgICAgICLg pIbgpKPgpL8gIiwKKysgICAgICAi4KSk4KS44KWH4KSaICIKKysgICAgXSwKKysgICAgImJhY2tn cm91bmQiOiBbCisrICAgICAgIuCkquCkvuCksOCljeCktuCljeCkteCkreClguCkruClgCIKKysg ICAgXSwKKysgICAgImJ1dCI6IFsKKysgICAgICAiKiAiLAorKyAgICAgICLgpKrgpKMgIiwKKysg ICAgICAi4KSq4KSw4KSC4KSk4KWBICIKKysgICAgXSwKKysgICAgImV4YW1wbGVzIjogWworKyAg ICAgICLgpIngpKbgpL7gpLngpLDgpKMiCisrICAgIF0sCisrICAgICJmZWF0dXJlIjogWworKyAg ICAgICLgpLXgpYjgpLbgpL/gpLfgpY3gpJ/gpY3gpK8iLAorKyAgICAgICLgpLjgpYHgpLXgpL/g pKfgpL4iCisrICAgIF0sCisrICAgICJnaXZlbiI6IFsKKysgICAgICAiKiAiLAorKyAgICAgICLg pJzgpLAiLAorKyAgICAgICLgpKbgpL/gpLLgpYfgpLLgpY3gpK/gpL4g4KSq4KWN4KSw4KSu4KS+ 4KSj4KWHICIKKysgICAgXSwKKysgICAgIm5hbWUiOiAiTWFyYXRoaSIsCisrICAgICJuYXRpdmUi OiAi4KSu4KSw4KS+4KSg4KWAIiwKKysgICAgInJ1bGUiOiBbCisrICAgICAgIuCkqOCkv+Ckr+Ck riIKKysgICAgXSwKKysgICAgInNjZW5hcmlvIjogWworKyAgICAgICLgpKrgpLDgpL/gpKbgpYPg pLbgpY3gpK8iCisrICAgIF0sCisrICAgICJzY2VuYXJpb091dGxpbmUiOiBbCisrICAgICAgIuCk quCksOCkv+CkpuClg+CktuCljeCkryDgpLDgpYLgpKrgpLDgpYfgpJbgpL4iCisrICAgIF0sCisr ICAgICJ0aGVuIjogWworKyAgICAgICIqICIsCisrICAgICAgIuCkruCklyAiLAorKyAgICAgICLg pKTgpYfgpLXgpY3gpLngpL4gIgorKyAgICBdLAorKyAgICAid2hlbiI6IFsKKysgICAgICAiKiAi LAorKyAgICAgICLgpJzgpYfgpLXgpY3gpLngpL4gIgorKyAgICBdCisgICB9CisgfQorZGlmZiAt LWdpdCBhL2ZlYXR1cmVzL2NtZGxpbmUubGFuZ19saXN0LmZlYXR1cmUgYi9mZWF0dXJlcy9jbWRs aW5lLmxhbmdfbGlzdC5mZWF0dXJlCitpbmRleCBmNzdlNzQ3Li4yMDgyMmVjIDEwMDY0NAorLS0t IGEvZmVhdHVyZXMvY21kbGluZS5sYW5nX2xpc3QuZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvY21k bGluZS5sYW5nX2xpc3QuZmVhdHVyZQorQEAgLTM5LDIxICszOSw1MyBAQCBGZWF0dXJlOiBDb21t YW5kLWxpbmUgb3B0aW9uczogVXNlIGJlaGF2ZSAtLWxhbmctbGlzdAorICAgICAgICAgICBmYTog 2YHYp9ix2LPbjCAvIFBlcnNpYW4KKyAgICAgICAgICAgZmk6IHN1b21pIC8gRmlubmlzaAorICAg ICAgICAgICBmcjogZnJhbsOnYWlzIC8gRnJlbmNoCistICAgICAgICAiIiIKKy0gICAgQW5kIHRo ZSBjb21tYW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoKKy0gICAgICAgICIiIgorLSAgICAgICAg c3Y6IFN2ZW5za2EgLyBTd2VkaXNoCistICAgICAgICB0YTog4K6k4K6u4K6/4K604K+NIC8gVGFt aWwKKy0gICAgICAgIHRoOiDguYTguJfguKIgLyBUaGFpCistICAgICAgICB0bDog4LCk4LGG4LCy 4LGB4LCX4LGBIC8gVGVsdWd1CistICAgICAgICB0bGg6IHRsaEluZ2FuIC8gS2xpbmdvbgorLSAg ICAgICAgdHI6IFTDvHJrw6dlIC8gVHVya2lzaAorLSAgICAgICAgdHQ6INCi0LDRgtCw0YDRh9Cw IC8gVGF0YXIKKy0gICAgICAgIHVrOiDQo9C60YDQsNGX0L3RgdGM0LrQsCAvIFVrcmFpbmlhbgor LSAgICAgICAgdXI6INin2LHYr9mIIC8gVXJkdQorLSAgICAgICAgdXo6INCj0LfQsdC10LrRh9Cw IC8gVXpiZWsKKy0gICAgICAgIHZpOiBUaeG6v25nIFZp4buHdCAvIFZpZXRuYW1lc2UKKy0gICAg ICAgIHpoLUNOOiDnroDkvZPkuK3mlocgLyBDaGluZXNlIHNpbXBsaWZpZWQKKy0gICAgICAgIHpo LVRXOiDnuYHpq5TkuK3mlocgLyBDaGluZXNlIHRyYWRpdGlvbmFsCisrICAgICAgICAgIGdhOiBH YWVpbGdlIC8gSXJpc2gKKysgICAgICAgICAgZ2o6IOCql+CrgeCqnOCqsOCqvuCqpOCrgCAvIEd1 amFyYXRpCisrICAgICAgICAgIGdsOiBnYWxlZ28gLyBHYWxpY2lhbgorKyAgICAgICAgICBoZTog 16LXkdeo15nXqiAvIEhlYnJldworKyAgICAgICAgICBoaTog4KS54KS/4KSC4KSm4KWAIC8gSGlu ZGkKKysgICAgICAgICAgaHI6IGhydmF0c2tpIC8gQ3JvYXRpYW4KKysgICAgICAgICAgaHQ6IGty ZXnDsmwgLyBDcmVvbGUKKysgICAgICAgICAgaHU6IG1hZ3lhciAvIEh1bmdhcmlhbgorKyAgICAg ICAgICBpZDogQmFoYXNhIEluZG9uZXNpYSAvIEluZG9uZXNpYW4KKysgICAgICAgICAgaXM6IMON c2xlbnNrYSAvIEljZWxhbmRpYworKyAgICAgICAgICBpdDogaXRhbGlhbm8gLyBJdGFsaWFuCisr ICAgICAgICAgIGphOiDml6XmnKzoqp4gLyBKYXBhbmVzZQorKyAgICAgICAgICBqdjogQmFzYSBK YXdhIC8gSmF2YW5lc2UKKysgICAgICAgICAga2E6IOGDpeGDkOGDoOGDl+GDleGDlOGDmuGDmCAv IEdlb3JnaWFuCisrICAgICAgICAgIGtuOiDgspXgsqjgs43gsqjgsqEgLyBLYW5uYWRhCisrICAg ICAgICAgIGtvOiDtlZzqta3slrQgLyBLb3JlYW4KKysgICAgICAgICAgbHQ6IGxpZXR1dmnFsyBr YWxiYSAvIExpdGh1YW5pYW4KKysgICAgICAgICAgbHU6IEzDq3R6ZWJ1ZXJnZXNjaCAvIEx1eGVt YnVyZ2lzaAorKyAgICAgICAgICBsdjogbGF0dmllxaF1IC8gTGF0dmlhbgorKyAgICAgICAgICBt ay1DeXJsOiDQnNCw0LrQtdC00L7QvdGB0LrQuCAvIE1hY2Vkb25pYW4KKysgICAgICAgICAgbWst TGF0bjogTWFrZWRvbnNraSAoTGF0aW5pY2EpIC8gTWFjZWRvbmlhbiAoTGF0aW4pCisrICAgICAg ICAgIG1uOiDQvNC+0L3Qs9C+0LsgLyBNb25nb2xpYW4KKysgICAgICAgICAgbXI6IOCkruCksOCk vuCkoOClgCAvIE1hcmF0aGkKKysgICAgICAgICAgbmU6IOCkqOClh+CkquCkvuCksuClgCAvIE5l cGFsaQorKyAgICAgICAgICBubDogTmVkZXJsYW5kcyAvIER1dGNoCisrICAgICAgICAgIG5vOiBu b3JzayAvIE5vcndlZ2lhbgorKyAgICAgICAgICBwYTog4Kiq4Kmw4Kic4Ki+4Kis4KmAIC8gUGFu amFiaQorKyAgICAgICAgICBwbDogcG9sc2tpIC8gUG9saXNoCisrICAgICAgICAgIHB0OiBwb3J0 dWd1w6pzIC8gUG9ydHVndWVzZQorKyAgICAgICAgICBybzogcm9tw6JuxIMgLyBSb21hbmlhbgor KyAgICAgICAgICBydTog0YDRg9GB0YHQutC40LkgLyBSdXNzaWFuCisrICAgICAgICAgIHNrOiBT bG92ZW5za3kgLyBTbG92YWsKKysgICAgICAgICAgc2w6IFNsb3ZlbnNraSAvIFNsb3Zlbmlhbgor KyAgICAgICAgICBzci1DeXJsOiDQodGA0L/RgdC60LggLyBTZXJiaWFuCisrICAgICAgICAgIHNy LUxhdG46IFNycHNraSAoTGF0aW5pY2EpIC8gU2VyYmlhbiAoTGF0aW4pCisrICAgICAgICAgIHN2 OiBTdmVuc2thIC8gU3dlZGlzaAorKyAgICAgICAgICB0YTog4K6k4K6u4K6/4K604K+NIC8gVGFt aWwKKysgICAgICAgICAgdGU6IOCwpOCxhuCwsuCxgeCwl+CxgSAvIFRlbHVndQorKyAgICAgICAg ICB0aDog4LmE4LiX4LiiIC8gVGhhaQorKyAgICAgICAgICB0bGg6IHRsaEluZ2FuIC8gS2xpbmdv bgorKyAgICAgICAgICB0cjogVMO8cmvDp2UgLyBUdXJraXNoCisrICAgICAgICAgIHR0OiDQotCw 0YLQsNGA0YfQsCAvIFRhdGFyCisrICAgICAgICAgIHVrOiDQo9C60YDQsNGX0L3RgdGM0LrQsCAv IFVrcmFpbmlhbgorKyAgICAgICAgICB1cjog2KfYsdiv2YggLyBVcmR1CisrICAgICAgICAgIHV6 OiDQo9C30LHQtdC60YfQsCAvIFV6YmVrCisrICAgICAgICAgIHZpOiBUaeG6v25nIFZp4buHdCAv IFZpZXRuYW1lc2UKKysgICAgICAgICAgemgtQ046IOeugOS9k+S4reaWhyAvIENoaW5lc2Ugc2lt cGxpZmllZAorKyAgICAgICAgICB6aC1UVzog57mB6auU5Lit5paHIC8gQ2hpbmVzZSB0cmFkaXRp b25hbAorICAgICAgICAgIiIiCisgICAgIEJ1dCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIG5v dCBjb250YWluICJUcmFjZWJhY2siCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUw MzA5LmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMDkuZmVhdHVyZQoraW5kZXggYzhh ODg1Ny4uYjUwZTMyZCAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMwOS5mZWF0 dXJlCisrKysgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMDkuZmVhdHVyZQorQEAgLTUyLDggKzUy LDggQEAgRmVhdHVyZTogSXNzdWUgIzMwOSAtLSBiZWhhdmUgLS1sYW5nLWxpc3QgZmFpbHMgb24g UHl0aG9uMworICAgICAgICAgIiIiCisgICAgICAgICBzdjogU3ZlbnNrYSAvIFN3ZWRpc2gKKyAg ICAgICAgIHRhOiDgrqTgrq7grr/grrTgr40gLyBUYW1pbAorKyAgICAgICAgdGU6IOCwpOCxhuCw suCxgeCwl+CxgSAvIFRlbHVndQorICAgICAgICAgdGg6IOC5hOC4l+C4oiAvIFRoYWkKKy0gICAg ICAgIHRsOiDgsKTgsYbgsLLgsYHgsJfgsYEgLyBUZWx1Z3UKKyAgICAgICAgIHRsaDogdGxoSW5n YW4gLyBLbGluZ29uCisgICAgICAgICB0cjogVMO8cmvDp2UgLyBUdXJraXNoCisgICAgICAgICB0 dDog0KLQsNGC0LDRgNGH0LAgLyBUYXRhcgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNS1VUERBVEUtQ0hBTkdFUy1SZWxh dGVkLXRvLVBSLTg5NS1hbmQtODI3LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNS1VUERBVEUtQ0hBTkdFUy1SZWxhdGVkLXRvLVBS LTg5NS1hbmQtODI3LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u NDQ1MzJhYjliCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNS1VUERBVEUtQ0hBTkdFUy1SZWxhdGVkLXRvLVBS LTg5NS1hbmQtODI3LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gY2ZiZjQ5MmNlODU5Yzgx NzcwM2U0Yzk4NmQ5YWI5ZGNlYTMwMjIzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVHVlLCAx MiBKYW4gMjAyMSAxMzo0MDo1OCArMDEwMAorU3ViamVjdDogW1BBVENIXSBVUERBVEUgQ0hBTkdF UzogUmVsYXRlZCB0byBQUiAjODk1IGFuZCAjODI3CisKKy0tLQorIENIQU5HRVMucnN0IHwgMiAr KworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL0NIQU5H RVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGEzMzk4ZDguLmZmODIxMzIgMTAwNjQ0CistLS0g YS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0yOCw2ICsyOCw4IEBAIEVOSEFO Q0VNRU5UUzoKKyAqIFVzZSBjdWN1bWJlciAiZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgbm93IChz aW1wbGlmeTogR2hlcmtpbiB2NiBhbGlhc2VzLCBsYW5ndWFnZSB1c2FnZSkKKyAqIFN1cHBvcnQg ZW1vamlzIGluIGBgKi5mZWF0dXJlYGAgZmlsZXMgYW5kIHN0ZXBzCisgKiBTZWxlY3QtYnktbG9j YXRpb246IEFkZCBzdXBwb3J0IGZvciAiU2NlbmFyaW8gY29udGFpbmVyIiAoRmVhdHVyZSwgUnVs ZSwgU2NlbmFyaW9PdXRsaW5lKSAocmVsYXRlZCB0bzogIzM5MSkKKysqIHB1bGwgICM4OTU6IFVQ REFURTogaTE4bi9naGVya2luLWxhbmd1YWdlcy5qc29uIGZyb20gY3VjdW1iZXIgcmVwb3NpdG9y eSAjODk1IChyZWxhdGVkIHRvOiAjODI3KQorKyogcHVsbCAgIzgyNzogRml4ZWQga2V5d29yZCB0 cmFuc2xhdGlvbiBpbiBFc3RvbmlhbiAjODI3IChwcm92aWRlZCBieTogb29rdWxsKQorICogaXNz dWUgIzc0MDogRW5oYW5jZW1lbnQ6IHBvc3NpYmlsaXR5IHRvIGFkZCBjbGVhbnVwIHRvIGJlIGNh bGxlZCB1cG9uIGxlYXZpbmcgb3V0ZXIgY29udGV4dCBzdGFjayBmcmFtZXMgKHN1Ym1pdHRlZCBi eTogbml6d2l6LCBkY3Ztb29sZSkKKyAqIGlzc3VlICM2Nzg6IFNjZW5hcmlvIE91dGxpbmU6IFN1 cHBvcnQgdGFncyB3aXRoIGNvbW1hcyBhbmQgc2VtaWNvbG9ucyAocHJvdmlkZWQgYnk6IGxhd25t b3dlcmxhdHRlLCBwdWxsICM2NzkpCisgKiBpc3N1ZSAjNjc1OiBGZWF0dXJlIGZpbGVzIGNhbm5v dCBiZSBmb3VuZCB3aXRoaW4gc3ltbGluayBkaXJlY3RvcmllcyAocHJvdmlkZWQgYnk6IHNtYWRu ZXNzLCBwdWxsICM2ODApCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE2LUZJWC1DSS1UUkFWSVMtRm9yLXB5dGhvbi0yLjct YnVpbGRzLW1vY2stNC4wLW9ubHktZm8ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE2LUZJWC1DSS1UUkFWSVMtRm9yLXB5dGhvbi0y LjctYnVpbGRzLW1vY2stNC4wLW9ubHktZm8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi43ODEyN2QxNGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE2LUZJWC1DSS1UUkFWSVMt Rm9yLXB5dGhvbi0yLjctYnVpbGRzLW1vY2stNC4wLW9ubHktZm8ucGF0Y2gKQEAgLTAsMCArMSwz OSBAQAorRnJvbSBhYzFkOTgzODFkZTYyYjkwMGFmODlhZWU1MTI3YzkwMWZiZTgyYzM4IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDEyIEphbiAyMDIxIDEzOjUxOjAyICswMTAwCitTdWJq ZWN0OiBbUEFUQ0hdIEZJWCBDSS1UUkFWSVM6IEZvciBweXRob24gMi43IGJ1aWxkcyAobW9jayA+ PSA0LjAgb25seSBmb3IKKyBweXRob24udmVyc2lvbiA+PSAzLjYpCisKKy0tLQorIHB5LnJlcXVp cmVtZW50cy9jaS50cmF2aXMudHh0IHwgMyArKy0KKyBweS5yZXF1aXJlbWVudHMvdGVzdGluZy50 eHQgICB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCBiL3B5 LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitpbmRleCBjYmM2MGMwLi4xZDZlMDUwIDEwMDY0 NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKKysrKyBiL3B5LnJlcXVpcmVt ZW50cy9jaS50cmF2aXMudHh0CitAQCAtNiw3ICs2LDggQEAgcHl0ZXN0IDwgIDUuMDsgcHl0aG9u X3ZlcnNpb24gPCAgJzMuMCcKKyBweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4w JworIAorIHB5dGVzdC1odG1sID49IDEuMTkuMCw8Mi4wCistbW9jayAgPj0gMi4wCisrbW9jayAg PCAgNC4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICczLjYnCisrbW9jayAgPj0gNC4wOyAgIHB5dGhv bl92ZXJzaW9uID49ICczLjYnCisgUHlIYW1jcmVzdCA+PSAyLjAuMjsgcHl0aG9uX3ZlcnNpb24g Pj0gJzMuMCcKKyBQeUhhbWNyZXN0IDwgIDIuMDsgICBweXRob25fdmVyc2lvbiA8ICAnMy4wJwor IAorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCBiL3B5LnJlcXVpcmVt ZW50cy90ZXN0aW5nLnR4dAoraW5kZXggZmM4ZmQ4Mi4uOTIzMGMxZiAxMDA2NDQKKy0tLSBhL3B5 LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL3Rlc3Rpbmcu dHh0CitAQCAtOCw3ICs4LDggQEAgcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMu MCcgIyBweXRlc3QgPj0gNC4yCisgcHl0ZXN0ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMu MCcKKyAKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAsPDIuMAorLW1vY2sgID49IDIuMAorK21vY2sg IDwgIDQuMDsgICBweXRob25fdmVyc2lvbiA8ICAnMy42JworK21vY2sgID49IDQuMDsgICBweXRo b25fdmVyc2lvbiA+PSAnMy42JworIFB5SGFtY3Jlc3QgPj0gMi4wLjI7IHB5dGhvbl92ZXJzaW9u ID49ICczLjAnCisgUHlIYW1jcmVzdCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcK KyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMTctQWRkcy10aGUtYWJpbGl0eS10by11c2UtYS1jdXN0b20tcnVubmVyLWlu LXRoZS1iZWhhdi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAxMTctQWRkcy10aGUtYWJpbGl0eS10by11c2UtYS1jdXN0b20tcnVubmVy LWluLXRoZS1iZWhhdi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LjE3ZWUwNzZkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTctQWRkcy10aGUtYWJpbGl0eS10by11c2UtYS1j dXN0b20tcnVubmVyLWluLXRoZS1iZWhhdi5wYXRjaApAQCAtMCwwICsxLDEyNiBAQAorRnJvbSAz NDZhYTA1NWNkMGNkZTJjYzZhMWZlOTJkODc0NjQ0YjA2ZGJkYjE3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbToga2luZ2J1enptYW4gPGJ1enppLmphdmllckBnbWFpbC5jb20+CitEYXRl OiBGcmksIDE5IEp1biAyMDIwIDA5OjE4OjUxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZHMg dGhlIGFiaWxpdHkgdG8gdXNlIGEgY3VzdG9tIHJ1bm5lciBpbiB0aGUgYmVoYXZlIGNvbW1hbmQK KworLS0tCisgYmVoYXZlL19fbWFpbl9fLnB5ICAgICAgICAgICAgICAgfCAgMiArLQorIGJlaGF2 ZS9jb25maWd1cmF0aW9uLnB5ICAgICAgICAgIHwgMTYgKysrKysrKysrKysrKysrKworIGRvY3Mv YmVoYXZlLnJzdCAgICAgICAgICAgICAgICAgIHwgIDUgKysrKysKKyB0ZXN0cy91bml0L3Rlc3Rf Y29uZmlndXJhdGlvbi5weSB8IDE5ICsrKysrKysrKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5n ZWQsIDQxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2 ZS9fX21haW5fXy5weSBiL2JlaGF2ZS9fX21haW5fXy5weQoraW5kZXggM2NhZTM2ZC4uZWRiOTlj NCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9fX21haW5fXy5weQorKysrIGIvYmVoYXZlL19fbWFpbl9f LnB5CitAQCAtMjE1LDcgKzIxNSw3IEBAIGRlZiBtYWluKGFyZ3M9Tm9uZSk6CisgICAgIDpyZXR1 cm46IDAsIGlmIHN1Y2Nlc3NmdWwuIE5vbi16ZXJvLCBpbiBjYXNlIG9mIGVycm9ycy9mYWlsdXJl cy4KKyAgICAgIiIiCisgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oYXJncykKKy0gICAgcmV0 dXJuIHJ1bl9iZWhhdmUoY29uZmlnKQorKyAgICByZXR1cm4gcnVuX2JlaGF2ZShjb25maWcsIHJ1 bm5lcl9jbGFzcz1jb25maWcucnVubmVyX2NsYXNzKQorIAorIAorIGlmIF9fbmFtZV9fID09ICJf X21haW5fXyI6CitkaWZmIC0tZ2l0IGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhhdmUv Y29uZmlndXJhdGlvbi5weQoraW5kZXggNjVlMmUzZS4uMDRjMDE0YSAxMDA2NDQKKy0tLSBhL2Jl aGF2ZS9jb25maWd1cmF0aW9uLnB5CisrKysgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorQEAg LTgsNiArOCw3IEBAIGltcG9ydCByZQorIGltcG9ydCBzeXMKKyBpbXBvcnQgc2hsZXgKKyBpbXBv cnQgc2l4CisrZnJvbSBpbXBvcnRsaWIgaW1wb3J0IGltcG9ydF9tb2R1bGUKKyBmcm9tIHNpeC5t b3ZlcyBpbXBvcnQgY29uZmlncGFyc2VyCisgCisgZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFNj ZW5hcmlvT3V0bGluZQorQEAgLTY1LDYgKzY2LDE2IEBAIGNsYXNzIExvZ0xldmVsKG9iamVjdCk6 CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgQ09ORklHVVJBVElPTiBTQ0hFTUE6CisgIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorKworK2RlZiB2YWxpZF9weXRob25fbW9kdWxlKHBhdGgpOgor KyAgICB0cnk6CisrICAgICAgICBtb2R1bGVfcGF0aCwgY2xhc3NfbmFtZSA9IHBhdGgucnNwbGl0 KCcuJywgMSkKKysgICAgICAgIG1vZHVsZSA9IGltcG9ydF9tb2R1bGUobW9kdWxlX3BhdGgpCisr ICAgICAgICByZXR1cm4gZ2V0YXR0cihtb2R1bGUsIGNsYXNzX25hbWUpCisrICAgIGV4Y2VwdCAo VmFsdWVFcnJvciwgQXR0cmlidXRlRXJyb3IsIEltcG9ydEVycm9yKToKKysgICAgICAgIHJhaXNl IGFyZ3BhcnNlLkFyZ3VtZW50VHlwZUVycm9yKCJObyBtb2R1bGUgbmFtZWQgJyVzJyB3YXMgZm91 bmQuIiAlIHBhdGgpCisrCisrCisgb3B0aW9ucyA9IFsKKyAgICAgKCgiLWMiLCAiLS1uby1jb2xv ciIpLAorICAgICAgZGljdChhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iY29sb3IiLAorQEAg LTExMSw2ICsxMjIsMTEgQEAgb3B0aW9ucyA9IFsKKyAgICAgIGRpY3QobWV0YXZhcj0iUEFUSCIs IGRlc3Q9Imp1bml0X2RpcmVjdG9yeSIsCisgICAgICAgICAgIGRlZmF1bHQ9InJlcG9ydHMiLAor ICAgICAgICAgICBoZWxwPSIiIkRpcmVjdG9yeSBpbiB3aGljaCB0byBzdG9yZSBKVW5pdCByZXBv cnRzLiIiIikpLAorKyAgICAKKysgICAgKCgiLS1ydW5uZXItY2xhc3MiLCksCisrICAgICBkaWN0 KGFjdGlvbj0ic3RvcmUiLAorKyAgICAgICAgICBkZWZhdWx0PSJiZWhhdmUucnVubmVyLlJ1bm5l ciIsIHR5cGU9dmFsaWRfcHl0aG9uX21vZHVsZSwKKysgICAgICAgICAgaGVscD0iVGVsbHMgQmVo YXZlIHRvIHVzZSBhIHNwZWNpZmljIHJ1bm5lci4gKGRlZmF1bHQ6ICUoZGVmYXVsdClzKSIpKSwK KyAKKyAgICAgKCgpLCAgIyAtLSBDT05GSUdGSUxFIG9ubHkKKyAgICAgIGRpY3QoZGVzdD0iZGVm YXVsdF9mb3JtYXQiLAorZGlmZiAtLWdpdCBhL2RvY3MvYmVoYXZlLnJzdCBiL2RvY3MvYmVoYXZl LnJzdAoraW5kZXggMjVjZTUyMy4uOGMxYzEyNSAxMDA2NDQKKy0tLSBhL2RvY3MvYmVoYXZlLnJz dAorKysrIGIvZG9jcy9iZWhhdmUucnN0CitAQCAtNTUsNiArNTUsMTEgQEAgWW91IG1heSBzZWUg dGhlIHNhbWUgaW5mb3JtYXRpb24gcHJlc2VudGVkIGJlbG93IGF0IGFueSB0aW1lIHVzaW5nIGBg YmVoYXZlCisgCisgICAgIERpcmVjdG9yeSBpbiB3aGljaCB0byBzdG9yZSBKVW5pdCByZXBvcnRz LgorIAorKy4uIG9wdGlvbjo6IC0tcnVubmVyLWNsYXNzCisrCisrICAgIFRoaXMgYWxsb3dzIHlv dSB0byB1c2UgeW91ciBvd24gY3VzdG9tIHJ1bm5lci4gVGhlIGRlZmF1bHQgaXMgCisrICAgIGBg YmVoYXZlLnJ1bm5lci5SdW5uZXJgYC4KKysKKyAuLiBvcHRpb246OiAtZiwgLS1mb3JtYXQKKyAK KyAgICAgU3BlY2lmeSBhIGZvcm1hdHRlci4gSWYgbm9uZSBpcyBzcGVjaWZpZWQgdGhlIGRlZmF1 bHQgZm9ybWF0dGVyIGlzCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X2NvbmZpZ3VyYXRp b24ucHkgYi90ZXN0cy91bml0L3Rlc3RfY29uZmlndXJhdGlvbi5weQoraW5kZXggYzk2Y2Y2My4u MDI1YTZkMCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdF9jb25maWd1cmF0aW9uLnB5Cisr KysgYi90ZXN0cy91bml0L3Rlc3RfY29uZmlndXJhdGlvbi5weQorQEAgLTUsNiArNSw3IEBAIGlt cG9ydCBzaXgKKyBpbXBvcnQgcHl0ZXN0CisgZnJvbSBiZWhhdmUgaW1wb3J0IGNvbmZpZ3VyYXRp b24KKyBmcm9tIGJlaGF2ZS5jb25maWd1cmF0aW9uIGltcG9ydCBDb25maWd1cmF0aW9uLCBVc2Vy RGF0YQorK2Zyb20gYmVoYXZlLnJ1bm5lciBpbXBvcnQgUnVubmVyIGFzIEJhc2VSdW5uZXIKKyBm cm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0Q2FzZQorIAorIAorQEAgLTM3LDYgKzM4LDEwIEBAIGlm IHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJ3aW4iKToKKyAgICAgUk9PVERJUl9QUkVGSVggPSBv cy5lbnZpcm9uLmdldCgiQkVIQVZFX1JPT1RESVJfUFJFRklYIiwgUk9PVERJUl9QUkVGSVhfREVG QVVMVCkKKyAKKyAKKytjbGFzcyBDdXN0b21UZXN0UnVubmVyKEJhc2VSdW5uZXIpOgorKyAgICAi IiJDdXN0b20sIGR1bW15IHJ1bm5lciIiIgorKworKworIGNsYXNzIFRlc3RDb25maWd1cmF0aW9u KG9iamVjdCk6CisgCisgICAgIGRlZiB0ZXN0X3JlYWRfZmlsZShzZWxmKToKK0BAIC05Miw2ICs5 NywyMCBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvbihvYmplY3QpOgorICAgICAgICAgYXNzZXJ0 ICJTVEFHRTJfZW52aXJvbm1lbnQucHkiID09IGNvbmZpZy5lbnZpcm9ubWVudF9maWxlCisgICAg ICAgICBkZWwgb3MuZW52aXJvblsiQkVIQVZFX1NUQUdFIl0KKyAKKysgICAgZGVmIHRlc3Rfc2V0 dGluZ3NfcnVubmVyX2NsYXNzKHNlbGYsIGNhcHN5cyk6CisrICAgICAgICBjb25maWcgPSBDb25m aWd1cmF0aW9uKCIiKQorKyAgICAgICAgYXNzZXJ0IEJhc2VSdW5uZXIgPT0gY29uZmlnLnJ1bm5l cl9jbGFzcworKworKyAgICBkZWYgdGVzdF9zZXR0aW5nc19ydW5uZXJfY2xhc3NfY3VzdG9tKHNl bGYsIGNhcHN5cyk6CisrICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKFsiLS1ydW5uZXIt Y2xhc3M9dGVzdHMudW5pdC50ZXN0X2NvbmZpZ3VyYXRpb24uQ3VzdG9tVGVzdFJ1bm5lciJdKQor KyAgICAgICAgYXNzZXJ0IEN1c3RvbVRlc3RSdW5uZXIgPT0gY29uZmlnLnJ1bm5lcl9jbGFzcwor KworKyAgICBkZWYgdGVzdF9zZXR0aW5nc19ydW5uZXJfY2xhc3NfaW52YWxpZChzZWxmLCBjYXBz eXMpOgorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKFN5c3RlbUV4aXQpOgorKyAgICAgICAg ICAgIENvbmZpZ3VyYXRpb24oWyItLXJ1bm5lci1jbGFzcz1kb2VzLm5vdC5leGlzdC5SdW5uZXIi XSkKKysgICAgICAgIGNhcHR1cmVkID0gY2Fwc3lzLnJlYWRvdXRlcnIoKQorKyAgICAgICAgYXNz ZXJ0ICJObyBtb2R1bGUgbmFtZWQgJ2RvZXMubm90LmV4aXN0LlJ1bm5lcicgd2FzIGZvdW5kLiIg aW4gY2FwdHVyZWQuZXJyCisrCisgCisgY2xhc3MgVGVzdENvbmZpZ3VyYXRpb25Vc2VyRGF0YShU ZXN0Q2FzZSk6CisgICAgICIiIlRlc3QgdXNlcmRhdGEgYXNwZWN0cyBpbiBiZWhhdmUuY29uZmln dXJhdGlvbi5Db25maWd1cmF0aW9uIGNsYXNzLiIiIgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExOC1BbGxvdy1mb3JjaW5n LWNvbG9yLXdpdGgtY29sb3ItYWx3YXlzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExOC1BbGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgt Y29sb3ItYWx3YXlzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u ZGMzOWY5OGRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExOC1BbGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29s b3ItYWx3YXlzLnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK0Zyb20gY2NjY2JlNDc4YWMwNWQ2MDkz YTA3NmY2MWFhYTAwZDg4NjdiODc2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1h cmMgQWJyYW1vd2l0eiA8YWJyYW1vd2lAYWRvYmUuY29tPgorRGF0ZTogVGh1LCAzIEF1ZyAyMDE3 IDA3OjI5OjM4IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEFsbG93IGZvcmNpbmcgY29sb3Igd2l0 aCAtLWNvbG9yPWFsd2F5cworCitldmVuIGlmIHN0ZG91dCBpcyBub3QgYSB0dHkgKGUuZy46IEpl bmtpbnMpCistLS0KKyBiZWhhdmUvY29uZmlndXJhdGlvbi5weSAgICB8ICA3ICsrKystLS0KKyBi ZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5weSB8IDEyICsrKysrKysrKy0tLQorIDIgZmlsZXMgY2hh bmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Jl aGF2ZS9jb25maWd1cmF0aW9uLnB5IGIvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKK2luZGV4IDA0 YzAxNGEuLjFiMGJjMmIgMTAwNjQ0CistLS0gYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorKysr IGIvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKK0BAIC04Miw5ICs4MiwxMCBAQCBvcHRpb25zID0g WworICAgICAgICAgICBoZWxwPSJEaXNhYmxlIHRoZSB1c2Ugb2YgQU5TSSBjb2xvciBlc2NhcGVz LiIpKSwKKyAKKyAgICAgKCgiLS1jb2xvciIsKSwKKy0gICAgIGRpY3QoYWN0aW9uPSJzdG9yZV90 cnVlIiwgZGVzdD0iY29sb3IiLAorLSAgICAgICAgICBoZWxwPSIiIlVzZSBBTlNJIGNvbG9yIGVz Y2FwZXMuIFRoaXMgaXMgdGhlIGRlZmF1bHQKKy0gICAgICAgICAgICAgICAgICBiZWhhdmlvdXIu IFRoaXMgc3dpdGNoIGlzIHVzZWQgdG8gb3ZlcnJpZGUgYQorKyAgICAgZGljdChkZXN0PSJjb2xv ciIsIGNob2ljZXM9WyJuZXZlciIsICJhbHdheXMiLCAiYXV0byJdLAorKyAgICAgICAgICBkZWZh dWx0PSJhdXRvIiwgY29uc3Q9ImF1dG8iLCBuYXJncz0iPyIsCisrICAgICAgICAgIGhlbHA9IiIi VXNlIEFOU0kgY29sb3IgZXNjYXBlcy4gRGVmYXVsdHMgdG8gJShjb25zdClyLgorKyAgICAgICAg ICAgICAgICAgIFRoaXMgc3dpdGNoIGlzIHVzZWQgdG8gb3ZlcnJpZGUgYQorICAgICAgICAgICAg ICAgICAgIGNvbmZpZ3VyYXRpb24gZmlsZSBzZXR0aW5nLiIiIikpLAorIAorICAgICAoKCItZCIs ICItLWRyeS1ydW4iKSwKK2RpZmYgLS1naXQgYS9iZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5weSBi L2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5CitpbmRleCA3OTRlMWQ3Li5iOTc0MzhhIDEwMDY0 NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9wcmV0dHkucHkKKysrKyBiL2JlaGF2ZS9mb3JtYXR0 ZXIvcHJldHR5LnB5CitAQCAtNjYsOSArNjYsNyBAQCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIoRm9y bWF0dGVyKToKKyAgICAgICAgIHN1cGVyKFByZXR0eUZvcm1hdHRlciwgc2VsZikuX19pbml0X18o c3RyZWFtX29wZW5lciwgY29uZmlnKQorICAgICAgICAgIyAtLSBFTlNVUkU6IE91dHB1dCBzdHJl YW0gaXMgb3Blbi4KKyAgICAgICAgIHNlbGYuc3RyZWFtID0gc2VsZi5vcGVuKCkKKy0gICAgICAg IGlzYXR0eSA9IGdldGF0dHIoc2VsZi5zdHJlYW0sICJpc2F0dHkiLCBsYW1iZGE6IFRydWUpCist ICAgICAgICBzdHJlYW1fc3VwcG9ydHNfY29sb3JzID0gaXNhdHR5KCkKKy0gICAgICAgIHNlbGYu bW9ub2Nocm9tZSA9IG5vdCBjb25maWcuY29sb3Igb3Igbm90IHN0cmVhbV9zdXBwb3J0c19jb2xv cnMKKysgICAgICAgIHNlbGYubW9ub2Nocm9tZSA9IHNlbGYuX2dldF9tb25vY2hyb21lKGNvbmZp ZykKKyAgICAgICAgIHNlbGYuc2hvd19zb3VyY2UgPSBjb25maWcuc2hvd19zb3VyY2UKKyAgICAg ICAgIHNlbGYuc2hvd190aW1pbmdzID0gY29uZmlnLnNob3dfdGltaW5ncworICAgICAgICAgc2Vs Zi5zaG93X211bHRpbGluZSA9IGNvbmZpZy5zaG93X211bHRpbGluZQorQEAgLTgzLDYgKzgxLDE0 IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgc2VsZi5pbmRl bnRhdGlvbnMgPSBbXQorICAgICAgICAgc2VsZi5zdGVwX2xpbmVzID0gMAorIAorKyAgICBkZWYg X2dldF9tb25vY2hyb21lKHNlbGYsIGNvbmZpZyk6CisrICAgICAgICBpc2F0dHkgPSBnZXRhdHRy KHNlbGYuc3RyZWFtLCAiaXNhdHR5IiwgbGFtYmRhOiBUcnVlKQorKyAgICAgICAgaWYgY29uZmln LmNvbG9yID09ICdhbHdheXMnOgorKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorKyAgICAgICAg ZWxpZiBjb25maWcuY29sb3IgPT0gJ25ldmVyJzoKKysgICAgICAgICAgICByZXR1cm4gVHJ1ZQor KyAgICAgICAgZWxzZToKKysgICAgICAgICAgICByZXR1cm4gbm90IGlzYXR0eSgpCisgCisgICAg IGRlZiByZXNldChzZWxmKToKKyAgICAgICAgICMgLS0gVU5VU0VEOiBzZWxmLnRhZ19zdGF0ZW1l bnQgPSBOb25lCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMTE5LUFsbG93LWNvbG9yLXdpdGgtbm8tdmFsdWUtZm9sbG93ZWQt YnktcG9zYXJnLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDExOS1BbGxvdy1jb2xvci13aXRoLW5vLXZhbHVlLWZvbGxvd2VkLWJ5LXBv c2FyZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmNjNGU1MjY3 NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAxMTktQWxsb3ctY29sb3Itd2l0aC1uby12YWx1ZS1mb2xsb3dlZC1i eS1wb3NhcmcucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorRnJvbSAwODIxZjc2NjQ5NjFlM2RhZTBk MGY2YmNmOTM5YjFhNjNjY2RhYTgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFy YyBBYnJhbW93aXR6IDxhYnJhbW93aUBhZG9iZS5jb20+CitEYXRlOiBUaHUsIDMgQXVnIDIwMTcg MDk6MTE6MjIgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWxsb3cgLS1jb2xvciB3aXRoIG5vIHZh bHVlIGZvbGxvd2VkIGJ5IHBvc2FyZworCitBbGxvdyBjb21tYW5kcyBsaWtlIGAtLWNvbG9yIGZl YXR1cmVzL3doaXpiYW5nLmZlYXR1cmVgIHRvIHdvcmsKK1dpdGhvdXQgdGhpcywgYXJncGFyc2Ug d2lsbCB0cmVhdCB0aGUgcG9zaXRpb25hbCBhcmcgYXMgdGhlIHZhbHVlIHRvCistLWNvbG9yIGFu ZCB3ZSdkIGdldDoKKyAgYXJndW1lbnQgLS1jb2xvcjogaW52YWxpZCBjaG9pY2U6ICdmZWF0dXJl cy93aGl6YmFuZy5mZWF0dXJlJworLS0tCisgYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgfCAxMiAr KysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhhdmUvY29u ZmlndXJhdGlvbi5weQoraW5kZXggMWIwYmMyYi4uMGZkZmQ1ZSAxMDA2NDQKKy0tLSBhL2JlaGF2 ZS9jb25maWd1cmF0aW9uLnB5CisrKysgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorQEAgLTgz LDcgKzgzLDcgQEAgb3B0aW9ucyA9IFsKKyAKKyAgICAgKCgiLS1jb2xvciIsKSwKKyAgICAgIGRp Y3QoZGVzdD0iY29sb3IiLCBjaG9pY2VzPVsibmV2ZXIiLCAiYWx3YXlzIiwgImF1dG8iXSwKKy0g ICAgICAgICAgZGVmYXVsdD0iYXV0byIsIGNvbnN0PSJhdXRvIiwgbmFyZ3M9Ij8iLAorKyAgICAg ICAgICBkZWZhdWx0PU5vbmUsIGNvbnN0PSJhdXRvIiwgbmFyZ3M9Ij8iLAorICAgICAgICAgICBo ZWxwPSIiIlVzZSBBTlNJIGNvbG9yIGVzY2FwZXMuIERlZmF1bHRzIHRvICUoY29uc3Qpci4KKyAg ICAgICAgICAgICAgICAgICBUaGlzIHN3aXRjaCBpcyB1c2VkIHRvIG92ZXJyaWRlIGEKKyAgICAg ICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGZpbGUgc2V0dGluZy4iIiIpKSwKK0BAIC01NjIs NiArNTYyLDE2IEBAIGNsYXNzIENvbmZpZ3VyYXRpb24ob2JqZWN0KToKKyAgICAgICAgICAgICAj IC0tIEFVVE8tRElTQ09WRVI6IFZlcmJvc2UgbW9kZSBmcm9tIGNvbW1hbmQtbGluZSBhcmdzLgor ICAgICAgICAgICAgIHZlcmJvc2UgPSAoIi12IiBpbiBjb21tYW5kX2FyZ3MpIG9yICgiLS12ZXJi b3NlIiBpbiBjb21tYW5kX2FyZ3MpCisgCisrICAgICAgICAjIEFsbG93IGNvbW1hbmRzIGxpa2Ug YC0tY29sb3IgZmVhdHVyZXMvd2hpemJhbmcuZmVhdHVyZWAgdG8gd29yaworKyAgICAgICAgIyBX aXRob3V0IHRoaXMsIGFyZ3BhcnNlIHdpbGwgdHJlYXQgdGhlIHBvc2l0aW9uYWwgYXJnIGFzIHRo ZSB2YWx1ZSB0bworKyAgICAgICAgIyAtLWNvbG9yIGFuZCB3ZSdkIGdldDoKKysgICAgICAgICMg ICBhcmd1bWVudCAtLWNvbG9yOiBpbnZhbGlkIGNob2ljZTogJ2ZlYXR1cmVzL3doaXpiYW5nLmZl YXR1cmUnCisrICAgICAgICAjICAgKGNob29zZSBmcm9tICduZXZlcicsICdhbHdheXMnLCAnYXV0 bycpCisrICAgICAgICBpZiAnLS1jb2xvcicgaW4gY29tbWFuZF9hcmdzOgorKyAgICAgICAgICAg IGNvbG9yX2FyZ19wb3MgPSBjb21tYW5kX2FyZ3MuaW5kZXgoJy0tY29sb3InKQorKyAgICAgICAg ICAgIGlmIG9zLnBhdGguZXhpc3RzKGNvbW1hbmRfYXJnc1tjb2xvcl9hcmdfcG9zICsgMV0pOgor KyAgICAgICAgICAgICAgICBjb21tYW5kX2FyZ3MuaW5zZXJ0KGNvbG9yX2FyZ19wb3MgKyAxLCAn LS0nKQorKworICAgICAgICAgc2VsZi52ZXJzaW9uID0gTm9uZQorICAgICAgICAgc2VsZi50YWdz X2hlbHAgPSBOb25lCisgICAgICAgICBzZWxmLmxhbmdfbGlzdCA9IE5vbmUKZGlmZiAtLWdpdCBh L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjAt QWRkLUJFSEFWRV9DT0xPUi1lbnYtdmFyLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMC1BZGQtQkVIQVZFX0NPTE9SLWVudi12YXIu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi42Mzk3NWE0MmIKLS0t IC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMTIwLUFkZC1CRUhBVkVfQ09MT1ItZW52LXZhci5wYXRjaApAQCAtMCwwICsx LDMxIEBACitGcm9tIGE1OWRjODBlMWE4MjkyZTNhNDY1YzY5ZTc5YmQ3NTkxZWQ1MTNlYjcgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJjIEFicmFtb3dpdHogPGFicmFtb3dpQGFk b2JlLmNvbT4KK0RhdGU6IFRodSwgMyBBdWcgMjAxNyAxMzoyOTo1NSAtMDcwMAorU3ViamVjdDog W1BBVENIXSBBZGQgQkVIQVZFX0NPTE9SIGVudiB2YXIKKworLS0tCisgYmVoYXZlL2NvbmZpZ3Vy YXRpb24ucHkgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhh dmUvY29uZmlndXJhdGlvbi5weQoraW5kZXggMGZkZmQ1ZS4uZTdkMzg1ZCAxMDA2NDQKKy0tLSBh L2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CisrKysgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQor QEAgLTgzLDcgKzgzLDcgQEAgb3B0aW9ucyA9IFsKKyAKKyAgICAgKCgiLS1jb2xvciIsKSwKKyAg ICAgIGRpY3QoZGVzdD0iY29sb3IiLCBjaG9pY2VzPVsibmV2ZXIiLCAiYWx3YXlzIiwgImF1dG8i XSwKKy0gICAgICAgICAgZGVmYXVsdD1Ob25lLCBjb25zdD0iYXV0byIsIG5hcmdzPSI/IiwKKysg ICAgICAgICAgZGVmYXVsdD1vcy5nZXRlbnYoJ0JFSEFWRV9DT0xPUicpLCBjb25zdD0iYXV0byIs IG5hcmdzPSI/IiwKKyAgICAgICAgICAgaGVscD0iIiJVc2UgQU5TSSBjb2xvciBlc2NhcGVzLiBE ZWZhdWx0cyB0byAlKGNvbnN0KXIuCisgICAgICAgICAgICAgICAgICAgVGhpcyBzd2l0Y2ggaXMg dXNlZCB0byBvdmVycmlkZSBhCisgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBmaWxl IHNldHRpbmcuIiIiKSksCitAQCAtNTA3LDcgKzUwNyw3IEBAIGNsYXNzIENvbmZpZ3VyYXRpb24o b2JqZWN0KToKKyAgICAgIiIiQ29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGJlaGF2ZSBhbmQgYmVo YXZlIHJ1bm5lcnMuIiIiCisgICAgICMgcHlsaW50OiBkaXNhYmxlPXRvby1tYW55LWluc3RhbmNl LWF0dHJpYnV0ZXMKKyAgICAgZGVmYXVsdHMgPSBkaWN0KAorLSAgICAgICAgY29sb3I9c3lzLnBs YXRmb3JtICE9ICJ3aW4zMiIsCisrICAgICAgICBjb2xvcj0nbmV2ZXInIGlmIHN5cy5wbGF0Zm9y bSA9PSAid2luMzIiIGVsc2Ugb3MuZ2V0ZW52KCdCRUhBVkVfQ09MT1InLCAnYXV0bycpLAorICAg ICAgICAgc2hvd19zbmlwcGV0cz1UcnVlLAorICAgICAgICAgc2hvd19za2lwcGVkPVRydWUsCisg ICAgICAgICBkcnlfcnVuPUZhbHNlLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMS1maXgtbWFsZm9ybWVkLXRhYmxlLXJv d3Mtd2FybmluZy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAxMjEtZml4LW1hbGZvcm1lZC10YWJsZS1yb3dzLXdhcm5pbmcucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45YzU0YzhhYmUKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMTIxLWZpeC1tYWxmb3JtZWQtdGFibGUtcm93cy13YXJuaW5nLnBhdGNoCkBAIC0wLDAg KzEsMzMgQEAKK0Zyb20gODQ2M2U5NDQ1OTM4MmU4ZTIxZDBiNWJkMTlhMjMzNTZiYzY3NGMyOCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9QYWJsbz0yMERvbT1DMz1B RG5ndWV6Pz0KKyA8cGFibG8uZG9taW5ndWV6c2FudGFuYUB0ZWxlZm9uaWNhLmNvbT4KK0RhdGU6 IFRodSwgOSBTZXAgMjAyMSAxMjoxOToyMSArMDIwMAorU3ViamVjdDogW1BBVENIXSBmaXg6IG1h bGZvcm1lZCB0YWJsZSByb3dzIHdhcm5pbmcKKworLS0tCisgYmVoYXZlL3BhcnNlci5weSB8IDUg KysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9i ZWhhdmUvcGFyc2VyLnB5IGIvYmVoYXZlL3BhcnNlci5weQoraW5kZXggNThjNjhiZS4uYjcxYWRm ZSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9wYXJzZXIucHkKKysrKyBiL2JlaGF2ZS9wYXJzZXIucHkK K0BAIC00MSw2ICs0MSw3IEBAIEtleXdvcmQgYWxpYXNlczoKKyAjIHB5bGludDogZW5hYmxlPWxp bmUtdG9vLWxvbmcKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwg d2l0aF9zdGF0ZW1lbnQKKytpbXBvcnQgbG9nZ2luZworIGltcG9ydCByZQorIGltcG9ydCBzeXMK KyBpbXBvcnQgc2l4CitAQCAtNjQ0LDYgKzY0NSwxMCBAQCBjbGFzcyBQYXJzZXIob2JqZWN0KToK KyAgICAgICAgICAgICBzZWxmLnN0YXRlID0gInN0ZXBzIgorICAgICAgICAgICAgIHJldHVybiBz ZWxmLmFjdGlvbl9zdGVwcyhsaW5lKQorIAorKyAgICAgICAgaWYgbm90IHJlLm1hdGNoKHIiXih8 LispXHwkIiwgbGluZSk6CisrICAgICAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIo ImJlaGF2ZSIpCisrICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcodSJNYWxmb3JtZWQgdGFibGUg cm93IGF0ICVzOiBsaW5lICVpIiwgc2VsZi5mZWF0dXJlLmZpbGVuYW1lLCBzZWxmLmxpbmUpCisr CisgICAgICAgICAjIC0tIFNVUFBPUlQ6IEVzY2FwZWQtcGlwZShzKSBpbiBHaGVya2luIGNlbGwg dmFsdWVzLgorICAgICAgICAgIyAgICBTZWFyY2ggZm9yIHBpcGUocykgdGhhdCBhcmUgbm90IHBy ZWNlZWRlZCB3aXRoIGFuIGVzY2FwZSBjaGFyLgorICAgICAgICAgY2VsbHMgPSBbY2VsbC5yZXBs YWNlKCJcXHwiLCAifCIpLnN0cmlwKCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjItRklYLTk1NS1zZXR1cC1SZW1vdmUt YXR0cmlidXRlLXVzZV8ydG8zLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMi1GSVgtOTU1LXNldHVwLVJlbW92ZS1hdHRyaWJ1dGUt dXNlXzJ0bzMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zNDg4 NmUxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMTIyLUZJWC05NTUtc2V0dXAtUmVtb3ZlLWF0dHJpYnV0ZS11 c2VfMnRvMy5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGU3MzUzYzE0YjJhNmI4NzdlYjMx ZWJkMDI5YzYxM2M5MWY4YjdmMTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMTIgU2Vw IDIwMjEgMTY6MDc6MzIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYICM5NTU6IHNldHVwOiBS ZW1vdmUgYXR0cmlidXRlICd1c2VfMnRvMycKKworUkVBU09OOgorKiBUaGlzIGF0dHJpYnV0ZSBp cyBkZXByZWNhdGVkIHNpbmNlIHNldHVwdG9vbHMgPj0gdjU4LjAuMiAoMjAyMS0wOS0wNikuCisq IDJ0bzMgY29udmVyc2lvbiBzaG91bGQgbm90IGJlIG5lZWRlZCBhbnltb3JlLgorICBDdXJyZW50 bHksIGNvZGUgc2hvdWxkIHJ1biBvbiBweXRob24yIGFuZCBweXRob24zIChieSB1c2luZyBzaXgs IGV0Yy4pLgorLS0tCisgc2V0dXAucHkgfCA3ICsrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9z ZXR1cC5weQoraW5kZXggZmQ4OWJkYS4uYmE0MDdmZCAxMDA2NDQKKy0tLSBhL3NldHVwLnB5Cisr KysgYi9zZXR1cC5weQorQEAgLTExOCw4ICsxMTgsOCBAQCBzZXR1cCgKKyAgICAgICAgICAgICAi cHlsaW50IiwKKyAgICAgICAgIF0sCisgICAgIH0sCistICAgICMgTUFZQkUtRElTQUJMRTogdXNl XzJ0bzMKKy0gICAgdXNlXzJ0bzM9IGJvb2wocHl0aG9uX3ZlcnNpb24gPj0gMy4wKSwKKysgICAg IyBESVNBQkxFRDogdXNlXzJ0bzM9IGJvb2wocHl0aG9uX3ZlcnNpb24gPj0gMy4wKSwKKysgICAg IyBERVBSRUNBVEVEIFNJTkNFOiBzZXR1cHRvb2xzIHY1OC4wLjIgKDIwMjEtMDktMDYpCisgICAg IGxpY2Vuc2U9IkJTRCIsCisgICAgIGNsYXNzaWZpZXJzPVsKKyAgICAgICAgICJEZXZlbG9wbWVu dCBTdGF0dXMgOjogNCAtIEJldGEiLAorQEAgLTEyOSwxMiArMTI5LDExIEBAIHNldHVwKAorICAg ICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAyIiwKKyAgICAgICAgICJQ cm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMi43IiwKKyAgICAgICAgICJQcm9ncmFt bWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMyIsCistICAgICAgICAiUHJvZ3JhbW1pbmcgTGFu Z3VhZ2UgOjogUHl0aG9uIDo6IDMuMyIsCistICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2Ug OjogUHl0aG9uIDo6IDMuNCIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0 aG9uIDo6IDMuNSIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6 IDMuNiIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNyIs CisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuOCIsCisrICAg ICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuOSIsCisgICAgICAgICAi UHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IEltcGxlbWVudGF0aW9uIDo6IENQeXRo b24iLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1l bnRhdGlvbiA6OiBKeXRob24iLAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5 dGhvbiA6OiBJbXBsZW1lbnRhdGlvbiA6OiBQeVB5IiwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjMtQWRkLWluZm8tZm9y LWZpeGVkLWlzc3VlLTk1NS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjMtQWRkLWluZm8tZm9yLWZpeGVkLWlzc3VlLTk1NS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjc4MDZkOWU5YwotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAxMjMtQWRkLWluZm8tZm9yLWZpeGVkLWlzc3VlLTk1NS5wYXRjaApAQCAtMCwwICsx LDIxIEBACitGcm9tIGM2ZTFmNzRlOWU2NzBiYTc4OTQ2Nzg4OGJjMzRkNjRlNzE5OTlhMjQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMjAgU2VwIDIwMjEgMTY6MTM6NTkgKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSF0gQWRkIGluZm8gZm9yIGZpeGVkIGlzc3VlICM5NTUKKworLS0tCisgQ0hB TkdFUy5yc3QgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAt LWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGZmODIxMzIuLjg4MGZkOTEg MTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC00Miw2ICs0 Miw3IEBAIEZJWEVEOgorIAorICogRklYRUQ6IFNvbWUgdGVzdHMgcmVsYXRlZCB0byBweXRob24z LjkKKyAqIEZJWEVEOiBhY3RpdmUtdGFnIGxvZ2ljIGlmIG11bHRpcGxlIHRhZ3Mgd2l0aCBzYW1l IGNhdGVnb3J5IGV4aXN0cy4KKysqIGlzc3VlICM5NTU6IHNldHVwOiBSZW1vdmUgYXR0cmlidXRl ICd1c2VfMnRvMycgKHN1Ym1pdHRlZCBieToga3Jpc2dlc2xpbmcpCisgKiBpc3N1ZSAjNzcyOiBT Y2VuYXJpb091dGxpbmUuRXhhbXBsZXMgd2l0aG91dCB0YWJsZSAoc3VibWl0dGVkIGJ5OiBUaGUt UUEtR2VlaykKKyAqIGlzc3VlICM3NTU6IEZhaWx1cmVzIHdpdGggUHl0aG9uIDMuOCAoc3VibWl0 dGVkIGJ5OiBocm9uY29rKQorICogaXNzdWUgIzcyNTogU2NlbmFyaW8gT3V0bGluZSBkZXNjcmlw dGlvbiBsaW5lcyBzZWVtIHRvIGJlIGlnbm9yZWQgKHN1Ym1pdHRlZCBieTogbml6d2l6KQpkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmVfMS4yLjYuYmIgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZV8xLjIuNi5iYgppbmRleCAxZGNjN2QyMTguLjc0NWQxZTJiMiAxMDA2NDQKLS0tIGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmVfMS4yLjYu YmIKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmVfMS4yLjYuYmIKQEAgLTQsOCArNCwxMzEgQEAgTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCiBM SUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kOTUwNDM5ZThlYTZlZDIzM2U0 Mjg4ZjVlMWE0OWMwNiIKIAogUFYgLj0gIitnaXQke1NSQ1JFVn0iCi1TUkNSRVYgPSAiOTUyMDEx OTM3NjA0NmFlZmY3MzgwNGI1ZjFlYTA1ZDg3YTYzZjM3MCIKLVNSQ19VUkkgKz0gImdpdDovL2dp dGh1Yi5jb20vYmVoYXZlL2JlaGF2ZTticmFuY2g9bWFzdGVyO3Byb3RvY29sPWh0dHBzIgorU1JD UkVWID0gImMwZjNmYWY0N2ZmMDVmNTQ5ZWMwNDk1OTllYjJmMjQwNjliMGU1MWUiCitTUkNfVVJJ ICs9ICJmaWxlOi8vMDAwMS1GSVhFUy03MjUtU2NlbmFyaW9PdXRsaW5lQnVpbGRlci13YXMtbm90 LWNvcHlpbmctZGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItVVBEQVRFLUZJWEVE LTcyNS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLUFERC1URVNULXRvLXZlcmlmeS10 aGF0LWlzc3VlLTcyNS1pcy1maXhlZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LUZJ WC1TdW1tYXJ5UmVwb3J0ZXItY291bnRzLWNvbXB1dGF0aW9uLXdoZW4tUnVsZXMtYXIucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDAwNS1TdW1tYXJ5UmVwb3J0ZXIucHJpbnRfc3VtbWFyeS1T aW1wbGlmeS1pZi1SdWxlcy1hcmUtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRm9y bWF0dGVyLUFkZC1iYXNpYy1zdXBwb3J0LW91dHB1dC1mb3ItUnVsZXMucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDAwNy1CVU1QLVZFUlNJT04tMS4yLjcuZGV2MS13YXMtMS4yLjcuZGV2MC5w YXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA4LUNvcnJlY3QtZXhhbXBsZXMtYW5kLWRvY3N0 cmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA5LUZJWC1mZWF0dXJlLnJ1bl9pdGVt cy1wcm9jZXNzaW5nLXdpdGgtUnVsZS1zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTAt ZG9jcy1EaXNhYmxlLXNwaGlueC1pbnRsLXN1cHBvcnQtZm9yLVJFQURUSEVET0NTLnBhdGNoIFwK KyAgICAgICAgICAgZmlsZTovLzAwMTEtQ2xlYW51cC1EZXBlbmRlbnQtcGFja2FnZS12ZXJzaW9u cy1pbi1yZXF1aXJlbWVudHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMi1kb2NzLWNv bmYucHktdHdlYWtzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTMtRklYLU1pc3NwZWxs ZWQtYWZ0ZXJfcnVsZS1ob29rLXdhcy1hZnRlcl9hZnRlci5wYXRjaCBcCisgICAgICAgICAgIGZp bGU6Ly8wMDE0LUFkZC1oaW50cy1vbi1HaGVya2luLXY2LWdyYW1tYXItaXNzdWVzLnBhdGNoIFwK KyAgICAgICAgICAgZmlsZTovLzAwMTUtUkVBRE1FLVJlU1QtdHdlYWtzLnBhdGNoIFwKKyAgICAg ICAgICAgZmlsZTovLzAwMTYtRXhhbXBsZS11c2luZy1HaGVya2luLXY2LWdyYW1tYXIucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDAxNy1QUkVQQVJFLVB5dGhvbi0zLjgtc3VwcG9ydC5wYXRj aCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE4LXB5My44LVRyeS10by1maXgtbG9nZ2luZy5Gb3Jt YXR0ZXItdmFsaWRhdGUtcHJvYmxlbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE5LXRy YXZpcy5jaS1UZW1wb3JhcmlseS1tb3ZlLXB5MzgtZGV2LXRvLWZyb250LWJ1aWxkLWYucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDAyMC10cmF2aXMuY2ktVHdlYWtzLWZvci1mYXN0ZXItYnVp bGRzLXRlbXBvcmFyaWx5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjEtRklYLXB5My44 LWxvZ2dpbmcuRm9ybWF0dGVyLnZhbGlkYXRlLXByb2JsZW0ucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDAyMi1QUkVQQVJFLUZPUi1QeXRob24tMy44LWFzeW5jaW8uY29yb3V0aW5lLWlzLWRl cHJlY2F0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjMtVVBEQVRFLUFkZC03NTUtaW5m by5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI0LUZJWC1XQVJOSU5HLVJlbGF0ZWQtdG8t ZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdlaXJkLWIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8v MDAyNS1GSVgtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJu LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjYtREVQUkVDQVRJTkctQ0xFQU5VUC1Nb3Zl LWRlcHJlY2F0ZWQtdGFnLW1hdGNoZXItY2xhcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8w MDI3LUNvbW1lbnQtdHdlYWtzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjgtRklYLXdh cm5pbmdzLXJlbGF0ZWQtdG8taW52YWxpZC1lc2NhcGVzLWluLXJlZ2V4LnBhdGNoIFwKKyAgICAg ICAgICAgZmlsZTovLzAwMjktU3RlcHMtY2F0YWxvZy1zaG91bGQtbm90LWJyZWFrLWNvbmZpZ3Vy ZWQtcmVydW4tc2V0dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMwLUFkZC1mZWF0dXJl LXctcnVsZXMtYW5kLWZhaWxpbmctc2NlbmFyaW9zLWVuYWJsZS12aWEucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDAzMS1leGFtcGxlcy1naGVya2luX3Y2LVR3ZWFrLVNjZW5hcmlvT3V0bGlu ZS1FeGFtcGxlcy10LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzItQWRkLWluZm8tb24t bWVyZ2VkLXB1bGwtNTg4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzMtVHdlYWstdGVz dHMtcmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM0 LUNMRUFOVVAtVXNlLXB5dGVzdC1pbnN0ZWFkLW9mLW5vc2UtdG8tcmVtb3ZlLW5vc2UuaW0ucGF0 Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzNS1SRU1PVkUtREVQRU5ERU5DWS1ub3NlLXRvLWF2 b2lkLW5vc2UuaW1wb3J0ZXItd2FybmluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzYt RklYLVJlbW92ZS10ZXN0LWZyb20tcHl0ZXN0LXJ1bi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDM3LVNlbGVjdC1ieS1sb2NhdGlvbi1BZGQtc3VwcG9ydC1mb3ItU2NlbmFyaW8tY29udGFp bmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzOC1kb2NzLUFkZC1kZXNjcmlwdGlvbi1m b3ItU2VsZWN0LWJ5LWxvY2F0aW9uLWZvci1TY2VuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTov LzAwMzktdGVzdHMtRml4LXdhcm5pbmdzLWZvci1weXRob24zLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAwNDAtVXNlLWN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucy0xLjEuMi10by1maXgtd2Fy bmluZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0MS1NRU5USU9OLUVOSEFOQ0VNRU5U LVN1cHBvcnQtZW1vamlzLWluLWZlYXR1cmUtZmlsZXMtLnBhdGNoIFwKKyAgICAgICAgICAgZmls ZTovLzAwNDItRklYLUludmFsaWQtZXNjYXBlLWNoYXItaW4tcmVnZXgtdy1weXRob24zLnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAwNDMtRXhhbXBsZS1yZWxhdGVkLXRvLXF1ZXN0aW9uLWlu LTc1Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDQ0LUZJWC1weXRob24zLjgtcmVncmVz c2lvbnMtb24tQ0ktc2VydmVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNDUtVVBEQVRF LU1hcmstaXNzdWUtNzU1LWFzLWZpeGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNDYt VVBEQVRFLUN1Y3VtYmVyLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24ucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDA0Ny1naGVya2luLUFkZGluZy1SdWxlLWtleXdvcmQtdHJhbnNsYXRpb24taW4t cG9ydHVndWVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNDgtVHdlYWtzLXRvLXVwZGF0 ZS1nZW5lcmF0ZS1mcm9tLWdoZXJraW4tbGFuZ3VhZ2VzLmpzby5wYXRjaCBcCisgICAgICAgICAg IGZpbGU6Ly8wMDQ5LUVYQU1QTEUtVHdlYWstbmFtaW5nLXRvLWZpeHR1cmUuYmVoYXZlLm5vX2Jh Y2tncm91bmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1MC1FWEFNUExFLUNsZWFudXAt R2hlcmtpbi12Ni1SRUFETUUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1MS1JbXByb3Zl LXN1cHBvcnQtZm9yLWZlYXR1cmUuYmFja2dyb3VuZC1pbmhlcml0YW5jZS1mLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAwNTItQWRkLXN1cHBvcnQtZm9yLXJ1bnRpbWUtY29uc3RyYWludHMu cGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1My1Vc2UtcnVudGltZS1jb25zdHJhaW50cy5w YXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDU0LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQt cGFydHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1NS1DTEVBTlVQLVJlbW92ZS1kZXBy ZWNhdGVkLXBhcnRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNTYtbW9yZS5mZWF0dXJl cy1QZXJmb3JtLW1vcmUtR2hlcmtpbi12Ni1jaGVja3MtYW5kLXJ1bi5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDU3LVVUSUwtQ29ycmVjdC1VUkwtYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdh cy1icm9rZW4tbm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1OC1VVElMLUZvcm1hdHRp bmctdHdlYWtzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNTktRml4ZWQtYS1idWctd2hl cmUtdXNlX2ZpeHR1cmVfYnlfdGFnLWRpZG4tdC1yZXR1cm4tdC5wYXRjaCBcCisgICAgICAgICAg IGZpbGU6Ly8wMDYwLUFkZGVkLWlzc3VlLXVuaXQtdGVzdC5wYXRjaCBcCisgICAgICAgICAgIGZp bGU6Ly8wMDYxLU1lcmdlLXB1bGwtcmVxdWVzdC03Njctd2l0aC1taW5vci10d2Vha3MucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDA2Mi1DSEVDSy1Jc3N1ZS03NjYtUHJldHR5Rm9ybWF0dGVy LVVuaWNvZGVFcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDYzLUZJWC1pc3N1ZS03 NzItU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdpdGhvdXQtdGFibGUucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDA2NC1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13 aXRob3V0LXRhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNjUtTmliYmxlLVRyYXZp c0NJLXRvLXdha2UtdXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA2Ni1Ud2Vhay1weXRl c3QtdmVyc2lvbi1zZWxlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA2Ny1Ud2Vh ay1weXRlc3QtY29uZmlndXJhdGlvbi10by1zaWxlbmNlLUpVbml0LVhNTC1kaWFsLnBhdGNoIFwK KyAgICAgICAgICAgZmlsZTovLzAwNjgtQWRkLWJhc2ljLWZlYXR1cmUtdGVzdC1mb3Itd2lsZGNh cmQtcGF0dGVybi1tYXRjaGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDY5LVVQREFU RS1kZXBlbmRlbmNpZXMtcGF0aC5weS1wYXRoLXB5dGVzdC5wYXRjaCBcCisgICAgICAgICAgIGZp bGU6Ly8wMDcwLXB5dGVzdC1EaXNhYmxlLURlcHJlY2F0ZWRXYXJuaW5nLWZyb20tZGlzdHV0aWxz LXBhY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA3MS1DTEVBTlVQLUFkZC1Db250ZXh0 TW9kZS1lbnVtLXJlbGF0ZWQtdG8tNzk3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNzIt Q2xlYW51cC1jb21tZW50cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDczLUZJWC1zcGhp bngtYnVpbGQtcHJvYmxlbS1hc3luY19zdGVwczN4LnB5LnBhdGNoIFwKKyAgICAgICAgICAgZmls ZTovLzAwNzQtZG9jcy1SZW5hbWUtcGFnZS1wYXJzZV9leHByZXNzaW9ucy13YXMtcGFyc2VfYnVp bHRpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDc1LWRvY3MtcGFyc2VfZXhwcmVzc2lv bi1hZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1tb2R1bGUucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDA3Ni1CVU1QLVZFUlNJT04tMS4yLjcuZGV2Mi13YXMtMS4yLjcuZGV2MS5wYXRjaCBcCisg ICAgICAgICAgIGZpbGU6Ly8wMDc3LUdoZXJraW4tcGFyc2VyLUNsZWFudXBzLXJlbGF0ZWQtdG8t cXVlc3Rpb24taW4tODAwLVAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA3OC1DbGFyaWZ5 LXNlbGVjdC1ieS1uYW1lLXVzZXMtcmVnZXgtcGF0dGVybi1yZWxhdGVkLXRvLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAwNzktRklYLUNyb3NzLXJlZmVyZW5jZS1wcm9ibGVtLWNvcHktcGFz dGUtaW4tUnVsZS1jbGFzcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDgwLURPQ1MtVXBk YXRlLUFQSS1kZXNjcmlwdGlvbi1mb3ItUnVubmVyLU9wZXJhdGlvbi5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDgxLUZJWC1ET0NTLVJ1bm5lci1vcGVyYXRpb25zLXR5cG8ucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDA4Mi1pc3N1ZS03NDAtRW5oYW5jZW1lbnQtQ29udGV4dC5hZGRf Y2xlYW51cC13aXRoLWxheWVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwODMtVVBEQVRF LXBhcnNlLTEuMTguMC1wYXJzZS12ZXJzaW9ucy0xLjE2LjAtLi0xLjE3LngtaC5wYXRjaCBcCisg ICAgICAgICAgIGZpbGU6Ly8wMDg0LVJFTEFURUQtVE8tRHVwbGljYXRlZC1zdGVwcy1BbWJpZ3Vv dXNTdGVwRXJyb3JzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwODUtQWRkLXJlbm92YXRl Lmpzb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA4Ni1QUlBFUEFSRS1SRU5PVkFURS1X aXRoLWFkYXB0aW9ucy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDg3LVBpbi1kZXBlbmRl bmNpZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA4OC1yZW5vdmF0ZS1FeHRlbmQtcGlw LXJlcXVpcmVtZW50cy1maWxlLWxpc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA4OS1Q SU4tUkVRVUlSRU1FTlRTLUV4dGVuZC10by1hbGwtcGxhY2VzLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAwOTAtdGFza3MtQWRkLWludm9rZV9jbGVhbnVwLXJlcGxhY2VzLV90YXNrbGV0X2Ns ZWFudXAtci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDkxLURvY3MtY2hhbmdlLWNvZGUt YmxvY2tzLWZyb20tYmFzaC10by1jb25zb2xlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAw OTItRml4LXR5cG8taW4tdHV0b3JpYWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5My1w eS5yZXF1aXJlbWVudHMtVXNlLVB5SGFtY3Jlc3QtMi4wLWZvci1weXRob24yLjcucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDA5NC1VUERBVEUtUFItODc3LXdhcy1tZXJnZWQucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDA5NS1jYXBpdGFsaXppbmctc3RlcHMucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDA5Ni1GSVgtaW52b2tlLXRhc2stZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10 aGF0LWFib3J0ZWQtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwOTctVGVzdC1hZ2FpbnN0 LVBvd2VyUEMtQ1BVLXN1cHBvcnQtVHJhdmlzLTg2Ny5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDk4LUFkZC1Db250ZXh0LmF0dGFjaC1kb2NzLWFuZC10ZXN0LnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwOTktQWRkLUNvbnRyaWJ1dGluZy1jaGFwdGVyLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAxMDAtQWRhcHQtVG94LXRhcmdldC1mb3ItYnVpbGRpbmctdGhlLWRvY3MucGF0 Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwMS1NZW50aW9uLUhUTUwtZm9ybWF0dGVyLWluLWRv Y3VtZW50YXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwMi1Vc2UtY29uc29sZS1o aWdobGlnaHRpbmctZm9yLXBpcC1pbnN0YWxsLWRvY3MucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDEwMy1kb2NzLWZpeC1zaW1wbGUtdHlwby10dW9yaWFsLXR1dG9yaWFsLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAxMDQtQWRkLXN1cHBvcnQtZm9yLXB5dGhvbjMuOS1ieS11c2luZy1h Y3RpdmUtdGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTA1LVBSRUZFUi1weXRob24z LWZyb20tbm93LW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMDYtUkVNT1ZFLWludm9r ZS1zY3JpcHRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMDctRklYLURlcHJlY2F0ZWQt d2FybmluZ3MtZm9yLVB5dGhvbi0zLngucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwOC1G SVgtUHl0aG9uMi1wcm9ibGVtcy1pbi12aXJ0dWFsZW52cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAxMDktRklYLUFjdGl2ZS10YWctbG9naWMucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDExMC1GSVgtVGVzdHMtdy1tb3JlLmZlYXR1cmVzLnBhdGNoIFwK KyAgICAgICAgICAgZmlsZTovLzAxMTEtRklYLVNvbWUtcmVncmVzc2lvbnMtd2l0aC1QeXRob24t My45LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMTItZG9jcy1VcGRhdGUtbmV3LWFuZC1u b3Rld29ydGh5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMTMtQWRkLWRpYWdub3N0aWMt aGVscGVyLWZ1bmN0aW9uLXRvLXByaW50LXRoZS1jdXJyZW50LS5wYXRjaCBcCisgICAgICAgICAg IGZpbGU6Ly8wMTE0LVVQREFURS1pMThuLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1jdWN1 bWJlci1yZXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDExNS1VUERBVEUtQ0hBTkdFUy1S ZWxhdGVkLXRvLVBSLTg5NS1hbmQtODI3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMTYt RklYLUNJLVRSQVZJUy1Gb3ItcHl0aG9uLTIuNy1idWlsZHMtbW9jay00LjAtb25seS1mby5wYXRj aCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTE3LUFkZHMtdGhlLWFiaWxpdHktdG8tdXNlLWEtY3Vz dG9tLXJ1bm5lci1pbi10aGUtYmVoYXYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDExOC1B bGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29sb3ItYWx3YXlzLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAxMTktQWxsb3ctY29sb3Itd2l0aC1uby12YWx1ZS1mb2xsb3dlZC1ieS1wb3Nhcmcu cGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEyMC1BZGQtQkVIQVZFX0NPTE9SLWVudi12YXIu cGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEyMS1maXgtbWFsZm9ybWVkLXRhYmxlLXJvd3Mt d2FybmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTIyLUZJWC05NTUtc2V0dXAtUmVt b3ZlLWF0dHJpYnV0ZS11c2VfMnRvMy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTIzLUFk ZC1pbmZvLWZvci1maXhlZC1pc3N1ZS05NTUucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFMgPSAi JHtXT1JLRElSfS9naXQiCiAKQEAgLTE2LDMgKzEzOSw1IEBAIFJERVBFTkRTOiR7UE59ICs9ICIg XAogICAgICR7UFlUSE9OX1BOfS1zZXR1cHRvb2xzIFwKICAgICAke1BZVEhPTl9QTn0tc2l4IFwK ICAgICAiCisKK1BWID0gIjYiCi0tIAoyLjI1LjEKCg== --===============0987472265722282529== Content-Type: text/x-diff; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-python3-behave-upgrade-1.2.6-git9520119376046aeff738.patch" RnJvbSA4MTVkNTNjZDlhMDk1YjBiNjdkYzZmOThhZDlhN2ZhMjUxZWRlZmJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBVcGdyYWRlIEhlbHBlciA8YXVoQG1vdG8tdGltby5kZXY+CkRh dGU6IFR1ZSwgMTEgSnVsIDIwMjMgMTc6MTI6MjUgLTA1MDAKU3ViamVjdDogW1BBVENIXSBweXRo b24zLWJlaGF2ZTogdXBncmFkZQogMS4yLjYrZ2l0OTUyMDExOTM3NjA0NmFlZmY3MzgwNGI1ZjFl YTA1ZDg3YTYzZjM3MCAtPiA2CgotLS0KIC4uLmlvT3V0bGluZUJ1aWxkZXItd2FzLW5vdC1jb3B5 aW5nLWRlcy5wYXRjaCB8ICAgMjIgKwogLi4uLzAwMDItVVBEQVRFLUZJWEVELTcyNS5wYXRjaCAg ICAgICAgICAgICAgIHwgICAyMSArCiAuLi5TVC10by12ZXJpZnktdGhhdC1pc3N1ZS03MjUtaXMt Zml4ZWQucGF0Y2ggfCAgIDYwICsKIC4uLnRlci1jb3VudHMtY29tcHV0YXRpb24td2hlbi1SdWxl cy1hci5wYXRjaCB8ICAzNDIgKwogLi4ucHJpbnRfc3VtbWFyeS1TaW1wbGlmeS1pZi1SdWxlcy1h cmUtLnBhdGNoIHwgICA2MCArCiAuLi5yLUFkZC1iYXNpYy1zdXBwb3J0LW91dHB1dC1mb3ItUnVs ZXMucGF0Y2ggfCAgMzk1ICsKIC4uLk1QLVZFUlNJT04tMS4yLjcuZGV2MS13YXMtMS4yLjcuZGV2 MC5wYXRjaCB8ICAgNjcgKwogLi4uLzAwMDgtQ29ycmVjdC1leGFtcGxlcy1hbmQtZG9jc3RyaW5n LnBhdGNoIHwgICA0MSArCiAuLi51cmUucnVuX2l0ZW1zLXByb2Nlc3Npbmctd2l0aC1SdWxlLXMu cGF0Y2ggfCAgIDU4ICsKIC4uLi1zcGhpbngtaW50bC1zdXBwb3J0LWZvci1SRUFEVEhFRE9DUy5w YXRjaCB8ICAgNTggKwogLi4uZW50LXBhY2thZ2UtdmVyc2lvbnMtaW4tcmVxdWlyZW1lbnRzLnBh dGNoIHwgICA4MSArCiAuLi4vMDAxMi1kb2NzLWNvbmYucHktdHdlYWtzLnBhdGNoICAgICAgICAg ICAgfCAgIDMwICsKIC4uLmxsZWQtYWZ0ZXJfcnVsZS1ob29rLXdhcy1hZnRlcl9hZnRlci5wYXRj aCB8ICAgMzAgKwogLi4uZC1oaW50cy1vbi1HaGVya2luLXY2LWdyYW1tYXItaXNzdWVzLnBhdGNo IHwgICA0NSArCiAuLi4vMDAxNS1SRUFETUUtUmVTVC10d2Vha3MucGF0Y2ggICAgICAgICAgICAg fCAgIDE4ICsKIC4uLjAxNi1FeGFtcGxlLXVzaW5nLUdoZXJraW4tdjYtZ3JhbW1hci5wYXRjaCB8 ICAyMjggKwogLi4uLzAwMTctUFJFUEFSRS1QeXRob24tMy44LXN1cHBvcnQucGF0Y2ggICAgIHwg ICAzOSArCiAuLi54LWxvZ2dpbmcuRm9ybWF0dGVyLXZhbGlkYXRlLXByb2JsZW0ucGF0Y2ggfCAg IDIyICsKIC4uLmFyaWx5LW1vdmUtcHkzOC1kZXYtdG8tZnJvbnQtYnVpbGQtZi5wYXRjaCB8ICAg MjggKwogLi4uVHdlYWtzLWZvci1mYXN0ZXItYnVpbGRzLXRlbXBvcmFyaWx5LnBhdGNoIHwgICAz NSArCiAuLi44LWxvZ2dpbmcuRm9ybWF0dGVyLnZhbGlkYXRlLXByb2JsZW0ucGF0Y2ggfCAgIDQ3 ICsKIC4uLm9uLTMuOC1hc3luY2lvLmNvcm91dGluZS1pcy1kZXByZWNhdC5wYXRjaCB8ICAgNDIg KwogLi4uLzAwMjMtVVBEQVRFLUFkZC03NTUtaW5mby5wYXRjaCAgICAgICAgICAgIHwgICAyNCAr CiAuLi50ZWQtdG8tZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdlaXJkLWIucGF0Y2ggfCAgIDI1ICsK IC4uLnBlLXNlcXVlbmNlLXdhcm5pbmdzLXctcmVnZXgtcGF0dGVybi5wYXRjaCB8ICAgMjkgKwog Li4uTlVQLU1vdmUtZGVwcmVjYXRlZC10YWctbWF0Y2hlci1jbGFzLnBhdGNoIHwgMTAyMCArKysK IC4uLi9weXRob24zLWJlaGF2ZS8wMDI3LUNvbW1lbnQtdHdlYWtzLnBhdGNoICB8ICAgMzAgKwog Li4uLXJlbGF0ZWQtdG8taW52YWxpZC1lc2NhcGVzLWluLXJlZ2V4LnBhdGNoIHwgICA3OSArCiAu Li5vdWxkLW5vdC1icmVhay1jb25maWd1cmVkLXJlcnVuLXNldHQucGF0Y2ggfCAgIDczICsKIC4u Lmxlcy1hbmQtZmFpbGluZy1zY2VuYXJpb3MtZW5hYmxlLXZpYS5wYXRjaCB8ICAgMzYgKwogLi4u X3Y2LVR3ZWFrLVNjZW5hcmlvT3V0bGluZS1FeGFtcGxlcy10LnBhdGNoIHwgICAyNyArCiAuLi4v MDAzMi1BZGQtaW5mby1vbi1tZXJnZWQtcHVsbC01ODgucGF0Y2ggICAgfCAgIDIxICsKIC4uLjMt VHdlYWstdGVzdHMtcmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRjaCB8ICAgOTcgKwogLi4uc3Qt aW5zdGVhZC1vZi1ub3NlLXRvLXJlbW92ZS1ub3NlLmltLnBhdGNoIHwgIDE4MCArCiAuLi5ZLW5v c2UtdG8tYXZvaWQtbm9zZS5pbXBvcnRlci13YXJuaW4ucGF0Y2ggfCAxODE1ICsrKysKIC4uLjAw MzYtRklYLVJlbW92ZS10ZXN0LWZyb20tcHl0ZXN0LXJ1bi5wYXRjaCB8ICAgMjIgKwogLi4ub24t QWRkLXN1cHBvcnQtZm9yLVNjZW5hcmlvLWNvbnRhaW5lLnBhdGNoIHwgIDY1MiArKwogLi4udGlv bi1mb3ItU2VsZWN0LWJ5LWxvY2F0aW9uLWZvci1TY2VuLnBhdGNoIHwgICA1OCArCiAuLi4vMDAz OS10ZXN0cy1GaXgtd2FybmluZ3MtZm9yLXB5dGhvbjMucGF0Y2ggfCAgIDUwICsKIC4uLmFnLWV4 cHJlc3Npb25zLTEuMS4yLXRvLWZpeC13YXJuaW5ncy5wYXRjaCB8ICAgNTUgKwogLi4uRU5ULVN1 cHBvcnQtZW1vamlzLWluLWZlYXR1cmUtZmlsZXMtLnBhdGNoIHwgICA5MSArCiAuLi52YWxpZC1l c2NhcGUtY2hhci1pbi1yZWdleC13LXB5dGhvbjMucGF0Y2ggfCAgMjUwICsKIC4uLjMtRXhhbXBs ZS1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTc1Ni5wYXRjaCB8ICAzMzUgKwogLi4uWC1weXRob24z LjgtcmVncmVzc2lvbnMtb24tQ0ktc2VydmVyLnBhdGNoIHwgIDQ4OSArCiAuLi4vMDA0NS1VUERB VEUtTWFyay1pc3N1ZS03NTUtYXMtZml4ZWQucGF0Y2ggfCAgIDQ2ICsKIC4uLkRBVEUtQ3VjdW1i ZXItZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi5wYXRjaCB8ICAgNTcgKwogLi4udWxlLWtleXdvcmQt dHJhbnNsYXRpb24taW4tcG9ydHVndWVzLnBhdGNoIHwgIDIwMiArCiAuLi4tZ2VuZXJhdGUtZnJv bS1naGVya2luLWxhbmd1YWdlcy5qc28ucGF0Y2ggfCAgMTQxICsKIC4uLm1pbmctdG8tZml4dHVy ZS5iZWhhdmUubm9fYmFja2dyb3VuZC5wYXRjaCB8ICAzMjIgKwogLi4uNTAtRVhBTVBMRS1DbGVh bnVwLUdoZXJraW4tdjYtUkVBRE1FLnBhdGNoIHwgICA2NCArCiAuLi5mb3ItZmVhdHVyZS5iYWNr Z3JvdW5kLWluaGVyaXRhbmNlLWYucGF0Y2ggfCAxNTEwICsrKwogLi4uLUFkZC1zdXBwb3J0LWZv ci1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoIHwgIDI2OSArCiAuLi4vMDA1My1Vc2UtcnVudGlt ZS1jb25zdHJhaW50cy5wYXRjaCAgICAgICAgfCAgMTk2ICsKIC4uLjAwNTQtQ0xFQU5VUC1SZW1v dmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaCB8IDM5MzcgKysrKysrKysKIC4uLjAwNTUtQ0xFQU5V UC1SZW1vdmUtZGVwcmVjYXRlZC1wYXJ0cy5wYXRjaCB8ICA3MzYgKysKIC4uLnJmb3JtLW1vcmUt R2hlcmtpbi12Ni1jaGVja3MtYW5kLXJ1bi5wYXRjaCB8ICAxNTUgKwogLi4uLWFuZC1weXRob24t bW9kdWxlLW9sZC13YXMtYnJva2VuLW5vLnBhdGNoIHwgICA3MiArCiAuLi4vMDA1OC1VVElMLUZv cm1hdHRpbmctdHdlYWtzLnBhdGNoICAgICAgICAgfCAgIDIyICsKIC4uLmUtdXNlX2ZpeHR1cmVf YnlfdGFnLWRpZG4tdC1yZXR1cm4tdC5wYXRjaCB8ICAgMjMgKwogLi4uLzAwNjAtQWRkZWQtaXNz dWUtdW5pdC10ZXN0LnBhdGNoICAgICAgICAgIHwgICA2MiArCiAuLi5lLXB1bGwtcmVxdWVzdC03 Njctd2l0aC1taW5vci10d2Vha3MucGF0Y2ggfCAgIDYwICsKIC4uLnN1ZS03NjYtUHJldHR5Rm9y bWF0dGVyLVVuaWNvZGVFcnJvci5wYXRjaCB8ICAgODMgKwogLi4uZW5hcmlvT3V0bGluZS5FeGFt cGxlcy13aXRob3V0LXRhYmxlLnBhdGNoIHwgICA3NCArCiAuLi5lbmFyaW9PdXRsaW5lLkV4YW1w bGVzLXdpdGhvdXQtdGFibGUucGF0Y2ggfCAgIDIxICsKIC4uLi8wMDY1LU5pYmJsZS1UcmF2aXND SS10by13YWtlLXVwLnBhdGNoICAgICB8ICAgMjEgKwogLi4uLzAwNjYtVHdlYWstcHl0ZXN0LXZl cnNpb24tc2VsZWN0aW9uLnBhdGNoIHwgICAzNyArCiAuLi5maWd1cmF0aW9uLXRvLXNpbGVuY2Ut SlVuaXQtWE1MLWRpYWwucGF0Y2ggfCAgIDM3ICsKIC4uLmUtdGVzdC1mb3Itd2lsZGNhcmQtcGF0 dGVybi1tYXRjaGluZy5wYXRjaCB8ICAgNTYgKwogLi4uQVRFLWRlcGVuZGVuY2llcy1wYXRoLnB5 LXBhdGgtcHl0ZXN0LnBhdGNoIHwgIDE0MSArCiAuLi5lcHJlY2F0ZWRXYXJuaW5nLWZyb20tZGlz dHV0aWxzLXBhY2sucGF0Y2ggfCAgIDI1ICsKIC4uLi1BZGQtQ29udGV4dE1vZGUtZW51bS1yZWxh dGVkLXRvLTc5Ny5wYXRjaCB8ICAyMTYgKwogLi4uLzAwNzItQ2xlYW51cC1jb21tZW50cy5wYXRj aCAgICAgICAgICAgICAgIHwgICAyMiArCiAuLi5waGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0 ZXBzM3gucHkucGF0Y2ggfCAgIDI5ICsKIC4uLi1wYXJzZV9leHByZXNzaW9ucy13YXMtcGFyc2Vf YnVpbHRpbi5wYXRjaCB8ICAxODUgKwogLi4uc3Npb24tYWRkLWxpbmtzLXRvLXBhcnNlX3R5cGUt bW9kdWxlLnBhdGNoIHwgICA0MCArCiAuLi5NUC1WRVJTSU9OLTEuMi43LmRldjItd2FzLTEuMi43 LmRldjEucGF0Y2ggfCAgIDY1ICsKIC4uLmxlYW51cHMtcmVsYXRlZC10by1xdWVzdGlvbi1pbi04 MDAtUC5wYXRjaCB8ICAyMjMgKwogLi4ueS1uYW1lLXVzZXMtcmVnZXgtcGF0dGVybi1yZWxhdGVk LXRvLnBhdGNoIHwgICA4MiArCiAuLi5uY2UtcHJvYmxlbS1jb3B5LXBhc3RlLWluLVJ1bGUtY2xh c3MucGF0Y2ggfCAgIDM0ICsKIC4uLkFQSS1kZXNjcmlwdGlvbi1mb3ItUnVubmVyLU9wZXJhdGlv bi5wYXRjaCB8ICAxOTUgKwogLi4uMDA4MS1GSVgtRE9DUy1SdW5uZXItb3BlcmF0aW9ucy10eXBv LnBhdGNoIHwgICAyMiArCiAuLi5lbWVudC1Db250ZXh0LmFkZF9jbGVhbnVwLXdpdGgtbGF5ZXIu cGF0Y2ggfCAgMjk1ICsKIC4uLjguMC1wYXJzZS12ZXJzaW9ucy0xLjE2LjAtLi0xLjE3LngtaC5w YXRjaCB8ICAgMzcgKwogLi4uRHVwbGljYXRlZC1zdGVwcy1BbWJpZ3VvdXNTdGVwRXJyb3JzLnBh dGNoIHwgICAzNCArCiAuLi4vMDA4NS1BZGQtcmVub3ZhdGUuanNvbi5wYXRjaCAgICAgICAgICAg ICAgfCAgIDIxICsKIC4uLjA4Ni1QUlBFUEFSRS1SRU5PVkFURS1XaXRoLWFkYXB0aW9ucy5wYXRj aCB8ICAxNzUgKwogLi4uLzAwODctUGluLWRlcGVuZGVuY2llcy5wYXRjaCAgICAgICAgICAgICAg IHwgICAzNiArCiAuLi50ZS1FeHRlbmQtcGlwLXJlcXVpcmVtZW50cy1maWxlLWxpc3QucGF0Y2gg fCAgIDMxICsKIC4uLklOLVJFUVVJUkVNRU5UUy1FeHRlbmQtdG8tYWxsLXBsYWNlcy5wYXRjaCB8 ICAgOTIgKwogLi4uX2NsZWFudXAtcmVwbGFjZXMtX3Rhc2tsZXRfY2xlYW51cC1yLnBhdGNoIHwg ODExNiArKysrKysrKysrKysrKysrKwogLi4ubmdlLWNvZGUtYmxvY2tzLWZyb20tYmFzaC10by1j b25zb2xlLnBhdGNoIHwgICAzNiArCiAuLi4vMDA5Mi1GaXgtdHlwby1pbi10dXRvcmlhbC5wYXRj aCAgICAgICAgICAgfCAgIDI0ICsKIC4uLm50cy1Vc2UtUHlIYW1jcmVzdC0yLjAtZm9yLXB5dGhv bjIuNy5wYXRjaCB8ICAgODAgKwogLi4uLzAwOTQtVVBEQVRFLVBSLTg3Ny13YXMtbWVyZ2VkLnBh dGNoICAgICAgIHwgICAyMSArCiAuLi4vMDA5NS1jYXBpdGFsaXppbmctc3RlcHMucGF0Y2ggICAg ICAgICAgICAgfCAgIDI4ICsKIC4uLmRldmVsb3AudXBkYXRlLWdoZXJraW4tdGhhdC1hYm9ydGVk LS5wYXRjaCB8ICAgNTYgKwogLi4uYWluc3QtUG93ZXJQQy1DUFUtc3VwcG9ydC1UcmF2aXMtODY3 LnBhdGNoIHwgICAyMiArCiAuLi4wOTgtQWRkLUNvbnRleHQuYXR0YWNoLWRvY3MtYW5kLXRlc3Qu cGF0Y2ggfCAgMTMyICsKIC4uLi8wMDk5LUFkZC1Db250cmlidXRpbmctY2hhcHRlci5wYXRjaCAg ICAgICB8ICAxMjUgKwogLi4uYXB0LVRveC10YXJnZXQtZm9yLWJ1aWxkaW5nLXRoZS1kb2NzLnBh dGNoIHwgICAzNCArCiAuLi50aW9uLUhUTUwtZm9ybWF0dGVyLWluLWRvY3VtZW50YXRpb24ucGF0 Y2ggfCAgIDgzICsKIC4uLmxlLWhpZ2hsaWdodGluZy1mb3ItcGlwLWluc3RhbGwtZG9jcy5wYXRj aCB8ICAgMjIgKwogLi4ub2NzLWZpeC1zaW1wbGUtdHlwby10dW9yaWFsLXR1dG9yaWFsLnBhdGNo IHwgICA1MiArCiAuLi50LWZvci1weXRob24zLjktYnktdXNpbmctYWN0aXZlLXRhZ3MucGF0Y2gg fCAgMjI3ICsKIC4uLi8wMTA1LVBSRUZFUi1weXRob24zLWZyb20tbm93LW9uLnBhdGNoICAgICB8 ICAgMTkgKwogLi4uLzAxMDYtUkVNT1ZFLWludm9rZS1zY3JpcHRzLnBhdGNoICAgICAgICAgIHwg ICA0MSArCiAuLi5YLURlcHJlY2F0ZWQtd2FybmluZ3MtZm9yLVB5dGhvbi0zLngucGF0Y2ggfCAg MTI0ICsKIC4uLmxlbXMtaW4tdmlydHVhbGVudnMtdy1iZWhhdmU0Y21kMC1zdC5wYXRjaCB8ICAg MTggKwogLi4uLzAxMDktRklYLUFjdGl2ZS10YWctbG9naWMucGF0Y2ggICAgICAgICAgIHwgIDg3 NSArKwogLi4uLzAxMTAtRklYLVRlc3RzLXctbW9yZS5mZWF0dXJlcy5wYXRjaCAgICAgIHwgICA1 NiArCiAuLi5GSVgtU29tZS1yZWdyZXNzaW9ucy13aXRoLVB5dGhvbi0zLjkucGF0Y2ggfCAgNzQx ICsrCiAuLi4vMDExMi1kb2NzLVVwZGF0ZS1uZXctYW5kLW5vdGV3b3J0aHkucGF0Y2ggfCAgIDg0 ICsKIC4uLmVscGVyLWZ1bmN0aW9uLXRvLXByaW50LXRoZS1jdXJyZW50LS5wYXRjaCB8ICAyNzgg KwogLi4ua2luLWxhbmd1YWdlcy5qc29uLWZyb20tY3VjdW1iZXItcmVwLnBhdGNoIHwgIDU0MSAr KwogLi4uVEUtQ0hBTkdFUy1SZWxhdGVkLXRvLVBSLTg5NS1hbmQtODI3LnBhdGNoIHwgICAyMiAr CiAuLi5yLXB5dGhvbi0yLjctYnVpbGRzLW1vY2stNC4wLW9ubHktZm8ucGF0Y2ggfCAgIDM5ICsK IC4uLi10by11c2UtYS1jdXN0b20tcnVubmVyLWluLXRoZS1iZWhhdi5wYXRjaCB8ICAxMjYgKwog Li4ubGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29sb3ItYWx3YXlzLnBhdGNoIHwgICA1OSArCiAu Li5sb3Itd2l0aC1uby12YWx1ZS1mb2xsb3dlZC1ieS1wb3NhcmcucGF0Y2ggfCAgIDQzICsKIC4u Li8wMTIwLUFkZC1CRUhBVkVfQ09MT1ItZW52LXZhci5wYXRjaCAgICAgICB8ICAgMzEgKwogLi4u MTIxLWZpeC1tYWxmb3JtZWQtdGFibGUtcm93cy13YXJuaW5nLnBhdGNoIHwgICAzMyArCiAuLi4t OTU1LXNldHVwLVJlbW92ZS1hdHRyaWJ1dGUtdXNlXzJ0bzMucGF0Y2ggfCAgIDQyICsKIC4uLi8w MTIzLUFkZC1pbmZvLWZvci1maXhlZC1pc3N1ZS05NTUucGF0Y2ggICB8ICAgMjEgKwogLi4uL3B5 dGhvbi9weXRob24zLWJlaGF2ZV8xLjIuNi5iYiAgICAgICAgICAgIHwgIDEyOSArLQogMTI0IGZp bGVzIGNoYW5nZWQsIDI5ODA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUg bW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAwMS1GSVhFUy03MjUtU2NlbmFyaW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNvcHlp bmctZGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMi1VUERBVEUtRklYRUQtNzI1LnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAwMy1BREQtVEVTVC10by12ZXJpZnktdGhhdC1pc3N1ZS03MjUtaXMtZml4 ZWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA0LUZJWC1TdW1tYXJ5UmVwb3J0ZXItY291bnRzLWNv bXB1dGF0aW9uLXdoZW4tUnVsZXMtYXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA1LVN1bW1hcnlS ZXBvcnRlci5wcmludF9zdW1tYXJ5LVNpbXBsaWZ5LWlmLVJ1bGVzLWFyZS0ucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDA2LUZvcm1hdHRlci1BZGQtYmFzaWMtc3VwcG9ydC1vdXRwdXQtZm9yLVJ1bGVz LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNy1CVU1QLVZFUlNJT04tMS4yLjcuZGV2MS13YXMtMS4y LjcuZGV2MC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDgtQ29ycmVjdC1leGFtcGxlcy1hbmQtZG9j c3RyaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwOS1GSVgtZmVhdHVyZS5ydW5faXRlbXMtcHJv Y2Vzc2luZy13aXRoLVJ1bGUtcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTAtZG9jcy1EaXNhYmxl LXNwaGlueC1pbnRsLXN1cHBvcnQtZm9yLVJFQURUSEVET0NTLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAxMS1DbGVhbnVwLURlcGVuZGVudC1wYWNrYWdlLXZlcnNpb25zLWluLXJlcXVpcmVtZW50cy5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTItZG9jcy1jb25mLnB5LXR3ZWFrcy5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwMTMtRklYLU1pc3NwZWxsZWQtYWZ0ZXJfcnVsZS1ob29rLXdhcy1hZnRlcl9hZnRl ci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTQtQWRkLWhpbnRzLW9uLUdoZXJraW4tdjYtZ3JhbW1h ci1pc3N1ZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE1LVJFQURNRS1SZVNULXR3ZWFrcy5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMTYtRXhhbXBsZS11c2luZy1HaGVya2luLXY2LWdyYW1tYXIucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDE3LVBSRVBBUkUtUHl0aG9uLTMuOC1zdXBwb3J0LnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAxOC1weTMuOC1UcnktdG8tZml4LWxvZ2dpbmcuRm9ybWF0dGVyLXZhbGlk YXRlLXByb2JsZW0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE5LXRyYXZpcy5jaS1UZW1wb3Jhcmls eS1tb3ZlLXB5MzgtZGV2LXRvLWZyb250LWJ1aWxkLWYucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIw LXRyYXZpcy5jaS1Ud2Vha3MtZm9yLWZhc3Rlci1idWlsZHMtdGVtcG9yYXJpbHkucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDIxLUZJWC1weTMuOC1sb2dnaW5nLkZvcm1hdHRlci52YWxpZGF0ZS1wcm9i bGVtLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyMi1QUkVQQVJFLUZPUi1QeXRob24tMy44LWFzeW5j aW8uY29yb3V0aW5lLWlzLWRlcHJlY2F0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyMy1VUERBVEUt QWRkLTc1NS1pbmZvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNC1GSVgtV0FSTklORy1SZWxhdGVk LXRvLWRvY3N0cmluZy1leGFtcGxlLWFuZC13ZWlyZC1iLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAy NS1GSVgtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2Utd2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJuLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAyNi1ERVBSRUNBVElORy1DTEVBTlVQLU1vdmUtZGVwcmVjYXRl ZC10YWctbWF0Y2hlci1jbGFzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyNy1Db21tZW50LXR3ZWFr cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjgtRklYLXdhcm5pbmdzLXJlbGF0ZWQtdG8taW52YWxp ZC1lc2NhcGVzLWluLXJlZ2V4LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOS1TdGVwcy1jYXRhbG9n LXNob3VsZC1ub3QtYnJlYWstY29uZmlndXJlZC1yZXJ1bi1zZXR0LnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDAzMC1BZGQtZmVhdHVyZS13LXJ1bGVzLWFuZC1mYWlsaW5nLXNjZW5hcmlvcy1lbmFibGUt dmlhLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzMS1leGFtcGxlcy1naGVya2luX3Y2LVR3ZWFrLVNj ZW5hcmlvT3V0bGluZS1FeGFtcGxlcy10LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzMi1BZGQtaW5m by1vbi1tZXJnZWQtcHVsbC01ODgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMzLVR3ZWFrLXRlc3Rz LXJlcXVpcmVkLWJ5LXB5dGVzdC01LjAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM0LUNMRUFOVVAt VXNlLXB5dGVzdC1pbnN0ZWFkLW9mLW5vc2UtdG8tcmVtb3ZlLW5vc2UuaW0ucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDM1LVJFTU9WRS1ERVBFTkRFTkNZLW5vc2UtdG8tYXZvaWQtbm9zZS5pbXBvcnRl ci13YXJuaW4ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM2LUZJWC1SZW1vdmUtdGVzdC1mcm9tLXB5 dGVzdC1ydW4ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM3LVNlbGVjdC1ieS1sb2NhdGlvbi1BZGQt c3VwcG9ydC1mb3ItU2NlbmFyaW8tY29udGFpbmUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBt ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM4LWRv Y3MtQWRkLWRlc2NyaXB0aW9uLWZvci1TZWxlY3QtYnktbG9jYXRpb24tZm9yLVNjZW4ucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDM5LXRlc3RzLUZpeC13YXJuaW5ncy1mb3ItcHl0aG9uMy5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNDAtVXNlLWN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucy0xLjEuMi10by1m aXgtd2FybmluZ3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQxLU1FTlRJT04tRU5IQU5DRU1FTlQt U3VwcG9ydC1lbW9qaXMtaW4tZmVhdHVyZS1maWxlcy0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQy LUZJWC1JbnZhbGlkLWVzY2FwZS1jaGFyLWluLXJlZ2V4LXctcHl0aG9uMy5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNDMtRXhhbXBsZS1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTc1Ni5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwNDQtRklYLXB5dGhvbjMuOC1yZWdyZXNzaW9ucy1vbi1DSS1zZXJ2ZXIucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDQ1LVVQREFURS1NYXJrLWlzc3VlLTc1NS1hcy1maXhlZC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNDYtVVBEQVRFLUN1Y3VtYmVyLWdoZXJraW4tbGFuZ3VhZ2VzLmpz b24ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ3LWdoZXJraW4tQWRkaW5nLVJ1bGUta2V5d29yZC10 cmFuc2xhdGlvbi1pbi1wb3J0dWd1ZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ4LVR3ZWFrcy10 by11cGRhdGUtZ2VuZXJhdGUtZnJvbS1naGVya2luLWxhbmd1YWdlcy5qc28ucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDQ5LUVYQU1QTEUtVHdlYWstbmFtaW5nLXRvLWZpeHR1cmUuYmVoYXZlLm5vX2Jh Y2tncm91bmQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUwLUVYQU1QTEUtQ2xlYW51cC1HaGVya2lu LXY2LVJFQURNRS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTEtSW1wcm92ZS1zdXBwb3J0LWZvci1m ZWF0dXJlLmJhY2tncm91bmQtaW5oZXJpdGFuY2UtZi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTIt QWRkLXN1cHBvcnQtZm9yLXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDUzLVVzZS1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1NC1DTEVB TlVQLVJlbW92ZS1kZXByZWNhdGVkLXBhcnRzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1NS1DTEVB TlVQLVJlbW92ZS1kZXByZWNhdGVkLXBhcnRzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1Ni1tb3Jl LmZlYXR1cmVzLVBlcmZvcm0tbW9yZS1HaGVya2luLXY2LWNoZWNrcy1hbmQtcnVuLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA1Ny1VVElMLUNvcnJlY3QtVVJMLWFuZC1weXRob24tbW9kdWxlLW9sZC13 YXMtYnJva2VuLW5vLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OC1VVElMLUZvcm1hdHRpbmctdHdl YWtzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OS1GaXhlZC1hLWJ1Zy13aGVyZS11c2VfZml4dHVy ZV9ieV90YWctZGlkbi10LXJldHVybi10LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2MC1BZGRlZC1p c3N1ZS11bml0LXRlc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDYxLU1lcmdlLXB1bGwtcmVxdWVz dC03Njctd2l0aC1taW5vci10d2Vha3MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDYyLUNIRUNLLUlz c3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXItVW5pY29kZUVycm9yLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA2My1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxl LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA2NC1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGluZS5F eGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2NS1OaWJibGUtVHJh dmlzQ0ktdG8td2FrZS11cC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjYtVHdlYWstcHl0ZXN0LXZl cnNpb24tc2VsZWN0aW9uLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2Ny1Ud2Vhay1weXRlc3QtY29u ZmlndXJhdGlvbi10by1zaWxlbmNlLUpVbml0LVhNTC1kaWFsLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA2OC1BZGQtYmFzaWMtZmVhdHVyZS10ZXN0LWZvci13aWxkY2FyZC1wYXR0ZXJuLW1hdGNoaW5n LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OS1VUERBVEUtZGVwZW5kZW5jaWVzLXBhdGgucHktcGF0 aC1weXRlc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcwLXB5dGVzdC1EaXNhYmxlLURlcHJlY2F0 ZWRXYXJuaW5nLWZyb20tZGlzdHV0aWxzLXBhY2sucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBt ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcxLUNM RUFOVVAtQWRkLUNvbnRleHRNb2RlLWVudW0tcmVsYXRlZC10by03OTcucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDcyLUNsZWFudXAtY29tbWVudHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDczLUZJWC1z cGhpbngtYnVpbGQtcHJvYmxlbS1hc3luY19zdGVwczN4LnB5LnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA3NC1kb2NzLVJlbmFtZS1wYWdlLXBhcnNlX2V4cHJlc3Npb25zLXdhcy1wYXJzZV9idWlsdGlu LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NS1kb2NzLXBhcnNlX2V4cHJlc3Npb24tYWRkLWxpbmtz LXRvLXBhcnNlX3R5cGUtbW9kdWxlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3Ni1CVU1QLVZFUlNJ T04tMS4yLjcuZGV2Mi13YXMtMS4yLjcuZGV2MS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzctR2hl cmtpbi1wYXJzZXItQ2xlYW51cHMtcmVsYXRlZC10by1xdWVzdGlvbi1pbi04MDAtUC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNzgtQ2xhcmlmeS1zZWxlY3QtYnktbmFtZS11c2VzLXJlZ2V4LXBhdHRl cm4tcmVsYXRlZC10by5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzktRklYLUNyb3NzLXJlZmVyZW5j ZS1wcm9ibGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFzcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw ODAtRE9DUy1VcGRhdGUtQVBJLWRlc2NyaXB0aW9uLWZvci1SdW5uZXItT3BlcmF0aW9uLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA4MS1GSVgtRE9DUy1SdW5uZXItb3BlcmF0aW9ucy10eXBvLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA4Mi1pc3N1ZS03NDAtRW5oYW5jZW1lbnQtQ29udGV4dC5hZGRfY2xl YW51cC13aXRoLWxheWVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4My1VUERBVEUtcGFyc2UtMS4x OC4wLXBhcnNlLXZlcnNpb25zLTEuMTYuMC0uLTEuMTcueC1oLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA4NC1SRUxBVEVELVRPLUR1cGxpY2F0ZWQtc3RlcHMtQW1iaWd1b3VzU3RlcEVycm9ycy5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwODUtQWRkLXJlbm92YXRlLmpzb24ucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDg2LVBSUEVQQVJFLVJFTk9WQVRFLVdpdGgtYWRhcHRpb25zLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA4Ny1QaW4tZGVwZW5kZW5jaWVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4OC1yZW5vdmF0 ZS1FeHRlbmQtcGlwLXJlcXVpcmVtZW50cy1maWxlLWxpc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDg5LVBJTi1SRVFVSVJFTUVOVFMtRXh0ZW5kLXRvLWFsbC1wbGFjZXMucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDkwLXRhc2tzLUFkZC1pbnZva2VfY2xlYW51cC1yZXBsYWNlcy1fdGFza2xldF9jbGVh bnVwLXIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkxLURvY3MtY2hhbmdlLWNvZGUtYmxvY2tzLWZy b20tYmFzaC10by1jb25zb2xlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Mi1GaXgtdHlwby1pbi10 dXRvcmlhbC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTMtcHkucmVxdWlyZW1lbnRzLVVzZS1QeUhh bWNyZXN0LTIuMC1mb3ItcHl0aG9uMi43LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5NC1VUERBVEUt UFItODc3LXdhcy1tZXJnZWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk1LWNhcGl0YWxpemluZy1z dGVwcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTYtRklYLWludm9rZS10YXNrLWRldmVsb3AudXBk YXRlLWdoZXJraW4tdGhhdC1hYm9ydGVkLS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTctVGVzdC1h Z2FpbnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQtVHJhdmlzLTg2Ny5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwOTgtQWRkLUNvbnRleHQuYXR0YWNoLWRvY3MtYW5kLXRlc3QucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDk5LUFkZC1Db250cmlidXRpbmctY2hhcHRlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDAt QWRhcHQtVG94LXRhcmdldC1mb3ItYnVpbGRpbmctdGhlLWRvY3MucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBtZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTAxLU1lbnRpb24tSFRNTC1mb3JtYXR0ZXItaW4tZG9jdW1lbnRhdGlvbi5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMDItVXNlLWNvbnNvbGUtaGlnaGxpZ2h0aW5nLWZvci1waXAtaW5zdGFsbC1k b2NzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMy1kb2NzLWZpeC1zaW1wbGUtdHlwby10dW9yaWFs LXR1dG9yaWFsLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNC1BZGQtc3VwcG9ydC1mb3ItcHl0aG9u My45LWJ5LXVzaW5nLWFjdGl2ZS10YWdzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNS1QUkVGRVIt cHl0aG9uMy1mcm9tLW5vdy1vbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDYtUkVNT1ZFLWludm9r ZS1zY3JpcHRzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNy1GSVgtRGVwcmVjYXRlZC13YXJuaW5n cy1mb3ItUHl0aG9uLTMueC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDgtRklYLVB5dGhvbjItcHJv YmxlbXMtaW4tdmlydHVhbGVudnMtdy1iZWhhdmU0Y21kMC1zdC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IG1ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAxMDktRklYLUFjdGl2ZS10YWctbG9naWMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTEwLUZJWC1U ZXN0cy13LW1vcmUuZmVhdHVyZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTExLUZJWC1Tb21lLXJl Z3Jlc3Npb25zLXdpdGgtUHl0aG9uLTMuOS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTItZG9jcy1V cGRhdGUtbmV3LWFuZC1ub3Rld29ydGh5LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMy1BZGQtZGlh Z25vc3RpYy1oZWxwZXItZnVuY3Rpb24tdG8tcHJpbnQtdGhlLWN1cnJlbnQtLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDExNC1VUERBVEUtaTE4bi1naGVya2luLWxhbmd1YWdlcy5qc29uLWZyb20tY3Vj dW1iZXItcmVwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNS1VUERBVEUtQ0hBTkdFUy1SZWxhdGVk LXRvLVBSLTg5NS1hbmQtODI3LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNi1GSVgtQ0ktVFJBVklT LUZvci1weXRob24tMi43LWJ1aWxkcy1tb2NrLTQuMC1vbmx5LWZvLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDExNy1BZGRzLXRoZS1hYmlsaXR5LXRvLXVzZS1hLWN1c3RvbS1ydW5uZXItaW4tdGhlLWJl aGF2LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExOC1BbGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29s b3ItYWx3YXlzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExOS1BbGxvdy1jb2xvci13aXRoLW5vLXZh bHVlLWZvbGxvd2VkLWJ5LXBvc2FyZy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjAtQWRkLUJFSEFW RV9DT0xPUi1lbnYtdmFyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMS1maXgtbWFsZm9ybWVkLXRh YmxlLXJvd3Mtd2FybmluZy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG1ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjItRklYLTk1NS1zZXR1cC1S ZW1vdmUtYXR0cmlidXRlLXVzZV8ydG8zLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMy1BZGQtaW5m by1mb3ItZml4ZWQtaXNzdWUtOTU1LnBhdGNoCgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMS1GSVhFUy03MjUtU2NlbmFy aW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNvcHlpbmctZGVzLnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMS1GSVhFUy03MjUtU2Nl bmFyaW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNvcHlpbmctZGVzLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNWM0OWNjMDBjCi0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMS1G SVhFUy03MjUtU2NlbmFyaW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNvcHlpbmctZGVzLnBhdGNo CkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gYjk0MWYzNTNjMTI5ZjczOTM0ODUzMDgyZjNmM2EwMWNl YmU2Zjk0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNA dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAxMSBNYXIgMjAxOSAyMjozNzow NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBGSVhFUyAjNzI1OiBTY2VuYXJpb091dGxpbmVCdWls ZGVyIHdhcyBub3QgY29weWluZworIGRlc2NyaXB0aW9uIHRvIGNyZWF0ZWQgU2NlbmFyaW8uCisK Ky0tLQorIGJlaGF2ZS9tb2RlbC5weSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL21vZGVsLnB5IGIvYmVoYXZlL21vZGVsLnB5Citp bmRleCA0YWQ0YjlkLi45ZGQ2OGZkIDEwMDY0NAorLS0tIGEvYmVoYXZlL21vZGVsLnB5CisrKysg Yi9iZWhhdmUvbW9kZWwucHkKK0BAIC0xMTk2LDYgKzExOTYsNyBAQCBjbGFzcyBTY2VuYXJpb091 dGxpbmVCdWlsZGVyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHNjZW5hcmlvLmZlYXR1cmUg PSBzY2VuYXJpb19vdXRsaW5lLmZlYXR1cmUKKyAgICAgICAgICAgICAgICAgc2NlbmFyaW8ucGFy ZW50ID0gc2NlbmFyaW9fb3V0bGluZQorICAgICAgICAgICAgICAgICBzY2VuYXJpby5iYWNrZ3Jv dW5kID0gc2NlbmFyaW9fb3V0bGluZS5iYWNrZ3JvdW5kCisrICAgICAgICAgICAgICAgIHNjZW5h cmlvLmRlc2NyaXB0aW9uID0gc2NlbmFyaW9fb3V0bGluZS5kZXNjcmlwdGlvbgorICAgICAgICAg ICAgICAgICBzY2VuYXJpby5fcm93ID0gcm93ICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0 ZWQtYWNjZXNzCisgICAgICAgICAgICAgICAgIHNjZW5hcmlvcy5hcHBlbmQoc2NlbmFyaW8pCisg ICAgICAgICByZXR1cm4gc2NlbmFyaW9zCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAyLVVQREFURS1GSVhFRC03MjUucGF0 Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDAyLVVQREFURS1GSVhFRC03MjUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi4yYmU2ODExZmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAyLVVQREFURS1GSVhFRC03MjUucGF0 Y2gKQEAgLTAsMCArMSwyMSBAQAorRnJvbSAwZTI2YmJhZTFmOWY4ZDYwYzNhYjk0NzBiMzY4NWFm MWRkZTViNmQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5 c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDExIE1hciAyMDE5IDIyOjQw OjEzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVQREFURTogRklYRUQgIzcyNQorCistLS0KKyBD SEFOR0VTLnJzdCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZm IC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggYzExODQwZi4uZDZlOTZh ZiAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTMyLDYg KzMyLDcgQEAgRU5IQU5DRU1FTlRTOgorIAorIEZJWEVEOgorIAorKyogaXNzdWUgIzcyNTogU2Nl bmFyaW8gT3V0bGluZSBkZXNjcmlwdGlvbiBsaW5lcyBzZWVtIHRvIGJlIGlnbm9yZWQgKHN1Ym1p dHRlZCBieTogbml6d2l6KQorICogaXNzdWUgIzcxMzogQmFja2dyb3VuZCBzZWN0aW9uIGRvZXNu J3Qgc3VwcG9ydCBkZXNjcmlwdGlvbiAocHJvdmlkZWQgYnk6IGRnb3UpCisgKiBwdWxsICAjNjU3 OiBBbGxvdyBhc3luYyBzdGVwcyB3aXRoIHRpbWVvdXRzIHRvIGZhaWwgd2hlbiB0aGV5IHJhaXNl IGV4Y2VwdGlvbnMgKHByb3ZpZGVkIGJ5OiBBTFNjaHdhbG0pCisgKiBpc3N1ZSAjNjMxOiBTY2Vu YXJpb091dGxpbmUgdmFyaWFibGVzIG5vdCBwb3NzaWJsZSBpbiB0YWJsZSBoZWFkaW5ncyAocHJv dmlkZWQgYnk6IG1zY2huZWxsZSwgcHVsbCAjNjQyKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwMy1BREQtVEVTVC10by12 ZXJpZnktdGhhdC1pc3N1ZS03MjUtaXMtZml4ZWQucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDAzLUFERC1URVNULXRvLXZlcmlmeS10 aGF0LWlzc3VlLTcyNS1pcy1maXhlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjNlNGY2ZmRmMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDMtQURELVRFU1QtdG8tdmVyaWZ5 LXRoYXQtaXNzdWUtNzI1LWlzLWZpeGVkLnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gNjYz MjRmOGRjNzQ3MTVhNTAxOGQxZWNlZDIyNTU1N2M0MGJkN2FjZCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogTW9uLCAxMSBNYXIgMjAxOSAyMzowODowMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBB REQgVEVTVCB0byB2ZXJpZnkgdGhhdCBpc3N1ZSAjNzI1IGlzIGZpeGVkLgorCistLS0KKyB0ZXN0 cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3MjUucHkgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9k ZSAxMDA2NDQgdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzI1LnB5CisKK2RpZmYgLS1naXQgYS90 ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3MjUucHkgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3 MjUucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43NDc5ZjU5CistLS0g L2Rldi9udWxsCisrKysgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA3MjUucHkKK0BAIC0wLDAg KzEsNDQgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyIiIgorK2h0dHBzOi8vZ2l0aHVi LmNvbS9iZWhhdmUvYmVoYXZlL2lzc3Vlcy83MjUKKysKKytBTkFMWVNJUzoKKystLS0tLS0tLS0t CisrCisrU2NlbmFyaW9PdXRsaW5lQnVpbGRlciBkaWQgbm90IGNvcHkgU2NlbmFyaW9PdXRsaW5l LmRlc2NyaXB0aW9uCisrdG8gdGhlIFNjZW5hcmlvcyB0aGF0IHdlcmUgY3JlYXRlZCBmcm9tIHRo ZSBTY2VuYXJpb091dGxpbmUuCisrIiIiCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNv bHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisrZnJvbSBiZWhhdmUucGFyc2VyIGltcG9ydCBw YXJzZV9mZWF0dXJlCisrCisrCisrZGVmIHRlc3RfaXNzdWUoKToKKysgICAgIiIiVmVyaWZpZXMg dGhhdCBpc3N1ZSAjNzI1IGlzIGZpeGVkLiIiIgorKyAgICB0ZXh0ID0gdScnJworK0ZlYXR1cmU6 IFNjZW5hcmlvT3V0bGluZSB3aXRoIGRlc2NyaXB0aW9uCisrCisrICBTY2VuYXJpbyBPdXRsaW5l OiBTT18xCisrICAgIERlc2NyaXB0aW9uIGxpbmUgMSBmb3IgU2NlbmFyaW9PdXRsaW5lLgorKyAg ICBEZXNjcmlwdGlvbiBsaW5lIDIgZm9yIFNjZW5hcmlvT3V0bGluZS4KKysKKysgICAgR2l2ZW4g YSBzdGVwIHdpdGggIjxuYW1lPiIKKysgICAgCisrICAgIEV4YW1wbGVzOgorKyAgICAgIHwgbmFt ZSAgfAorKyAgICAgIHwgQWxpY2UgfAorKyAgICAgIHwgQm9iICAgfAorKycnJy5sc3RyaXAoKQor KyAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQorKyAgICBhc3NlcnQgbGVuKGZlYXR1 cmUuc2NlbmFyaW9zKSA9PSAxCisrICAgIHNjZW5hcmlvX291dGxpbmVfMSA9IGZlYXR1cmUuc2Nl bmFyaW9zWzBdCisrICAgIGFzc2VydCBsZW4oc2NlbmFyaW9fb3V0bGluZV8xLnNjZW5hcmlvcykg PT0gMgorKyAgICAjIC0tIEhJTlQ6IExhc3QgbGluZSB0cmlnZ2VycyBidWlsZGluZyBvZiB0aGUg U2NlbmFyaW9zIGZyb20gU2NlbmFyaW9PdXRsaW5lLgorKworKyAgICBleHBlY3RlZF9kZXNjcmlw dGlvbiA9IFsKKysgICAgICAgICJEZXNjcmlwdGlvbiBsaW5lIDEgZm9yIFNjZW5hcmlvT3V0bGlu ZS4iLAorKyAgICAgICAgIkRlc2NyaXB0aW9uIGxpbmUgMiBmb3IgU2NlbmFyaW9PdXRsaW5lLiIs CisrICAgIF0KKysgICAgYXNzZXJ0IHNjZW5hcmlvX291dGxpbmVfMS5kZXNjcmlwdGlvbiA9PSBl eHBlY3RlZF9kZXNjcmlwdGlvbgorKyAgICBhc3NlcnQgc2NlbmFyaW9fb3V0bGluZV8xLnNjZW5h cmlvc1swXS5kZXNjcmlwdGlvbiA9PSBleHBlY3RlZF9kZXNjcmlwdGlvbgorKyAgICBhc3NlcnQg c2NlbmFyaW9fb3V0bGluZV8xLnNjZW5hcmlvc1sxXS5kZXNjcmlwdGlvbiA9PSBleHBlY3RlZF9k ZXNjcmlwdGlvbgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAwNC1GSVgtU3VtbWFyeVJlcG9ydGVyLWNvdW50cy1jb21wdXRh dGlvbi13aGVuLVJ1bGVzLWFyLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNC1GSVgtU3VtbWFyeVJlcG9ydGVyLWNvdW50cy1jb21w dXRhdGlvbi13aGVuLVJ1bGVzLWFyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uZWM1NWVmYjUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNC1GSVgtU3VtbWFyeVJlcG9ydGVy LWNvdW50cy1jb21wdXRhdGlvbi13aGVuLVJ1bGVzLWFyLnBhdGNoCkBAIC0wLDAgKzEsMzQyIEBA CitGcm9tIDc0ZDUzOWI4NmNhNTJlODMyNTUxODNkOTZiOTNmZjc0OTI3NTFiNmYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IFdlZCwgMTMgTWFyIDIwMTkgMDg6Mjk6MDIgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSF0gRklYOiBTdW1tYXJ5UmVwb3J0ZXIgY291bnRzIGNvbXB1dGF0aW9uIHdoZW4gUnVs ZXMgYXJlIHVzZWQuCisKKy0tLQorIGJlaGF2ZS9tb2RlbC5weSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAzOSArKystLS0KKyBiZWhhdmUvcmVwb3J0ZXIvc3VtbWFyeS5weSAgICAg ICAgICAgICAgICAgICAgfCAxMTQgKysrKysrKysrKysrKystLS0tCisgLi4uL3VuaXQve3JlcG9y dGVycyA9PiByZXBvcnRlcn0vX19pbml0X18ucHkgIHwgICAwCisgLi4uL3tyZXBvcnRlcnMgPT4g cmVwb3J0ZXJ9L3Rlc3Rfc3VtbWFyeS5weSAgIHwgICA0ICsKKyA0IGZpbGVzIGNoYW5nZWQsIDEx NiBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKKyByZW5hbWUgdGVzdHMvdW5pdC97cmVw b3J0ZXJzID0+IHJlcG9ydGVyfS9fX2luaXRfXy5weSAoMTAwJSkKKyByZW5hbWUgdGVzdHMvdW5p dC97cmVwb3J0ZXJzID0+IHJlcG9ydGVyfS90ZXN0X3N1bW1hcnkucHkgKDk5JSkKKworZGlmZiAt LWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBiL2JlaGF2ZS9tb2RlbC5weQoraW5kZXggOWRkNjhmZC4u NjIzODMxMyAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9tb2RlbC5weQorKysrIGIvYmVoYXZlL21vZGVs LnB5CitAQCAtMTQ0LDE4ICsxNDQsMTggQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5k U3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIHNlbGYuaG9va19mYWlsZWQg PSBGYWxzZQorICAgICAgICAgc2VsZi5ydW5fc3RhcnR0aW1lID0gMAorICAgICAgICAgc2VsZi5y dW5fZW5kdGltZSA9IDAKKy0gICAgICAgIGZvciBzY2VuYXJpbyBpbiBzZWxmLnNjZW5hcmlvczoK Ky0gICAgICAgICAgICBzY2VuYXJpby5yZXNldCgpCisrICAgICAgICBmb3IgcnVuX2l0ZW0gaW4g c2VsZi5ydW5faXRlbXM6CisrICAgICAgICAgICAgcnVuX2l0ZW0ucmVzZXQoKQorIAorICAgICBk ZWYgX19pdGVyX18oc2VsZik6CistICAgICAgICByZXR1cm4gaXRlcihzZWxmLnNjZW5hcmlvcykK KysgICAgICAgIHJldHVybiBpdGVyKHNlbGYucnVuX2l0ZW1zKQorIAorICAgICBkZWYgYWRkX3Nj ZW5hcmlvKHNlbGYsIHNjZW5hcmlvKToKKyAgICAgICAgIGZlYXR1cmUgPSBnZXRhdHRyKHNlbGYs ICJmZWF0dXJlIiwgTm9uZSkKKyAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2VsZiwgRmVhdHVyZSk6 CisgICAgICAgICAgICAgZmVhdHVyZSA9IHNlbGYKKyAKKy0gICAgICAgIHNjZW5hcmlvLnBhcmVu dCA9IHNlbGYgICAgICAjIFhYWC1ORVcKKysgICAgICAgIHNjZW5hcmlvLnBhcmVudCA9IHNlbGYK KyAgICAgICAgIHNjZW5hcmlvLmZlYXR1cmUgPSBmZWF0dXJlCisgICAgICAgICBzY2VuYXJpby5i YWNrZ3JvdW5kID0gc2VsZi5iYWNrZ3JvdW5kCisgICAgICAgICBzZWxmLnNjZW5hcmlvcy5hcHBl bmQoc2NlbmFyaW8pCitAQCAtMTc0LDE3ICsxNzQsMTcgQEAgY2xhc3MgU2NlbmFyaW9Db250YWlu ZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAKKyAgICAgICAgIHNraXBw ZWQgPSBUcnVlCisgICAgICAgICBwYXNzZWRfY291bnQgPSAwCistICAgICAgICBmb3Igc2NlbmFy aW8gaW4gc2VsZi5zY2VuYXJpb3M6CistICAgICAgICAgICAgc2NlbmFyaW9fc3RhdHVzID0gc2Nl bmFyaW8uc3RhdHVzCistICAgICAgICAgICAgaWYgc2NlbmFyaW9fc3RhdHVzID09IFN0YXR1cy5m YWlsZWQ6CisrICAgICAgICBmb3IgcnVuX2l0ZW0gaW4gc2VsZi5ydW5faXRlbXM6CisrICAgICAg ICAgICAgcnVuX2l0ZW1fc3RhdHVzID0gcnVuX2l0ZW0uc3RhdHVzCisrICAgICAgICAgICAgaWYg cnVuX2l0ZW1fc3RhdHVzID09IFN0YXR1cy5mYWlsZWQ6CisgICAgICAgICAgICAgICAgIHJldHVy biBTdGF0dXMuZmFpbGVkCistICAgICAgICAgICAgZWxpZiBzY2VuYXJpb19zdGF0dXMgPT0gU3Rh dHVzLnVudGVzdGVkOgorKyAgICAgICAgICAgIGVsaWYgcnVuX2l0ZW1fc3RhdHVzID09IFN0YXR1 cy51bnRlc3RlZDoKKyAgICAgICAgICAgICAgICAgaWYgcGFzc2VkX2NvdW50ID4gMDoKKyAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXMuZmFpbGVkICAjIEFCT1JURUQ6IFNvbWUgcGFz c2VkLCBub3cgdW50ZXN0ZWQuCisgICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXMudW50ZXN0 ZWQKKy0gICAgICAgICAgICBpZiBzY2VuYXJpb19zdGF0dXMgIT0gU3RhdHVzLnNraXBwZWQ6Cisr ICAgICAgICAgICAgaWYgcnVuX2l0ZW1fc3RhdHVzICE9IFN0YXR1cy5za2lwcGVkOgorICAgICAg ICAgICAgICAgICBza2lwcGVkID0gRmFsc2UKKy0gICAgICAgICAgICBpZiBzY2VuYXJpb19zdGF0 dXMgPT0gU3RhdHVzLnBhc3NlZDoKKysgICAgICAgICAgICBpZiBydW5faXRlbV9zdGF0dXMgPT0g U3RhdHVzLnBhc3NlZDoKKyAgICAgICAgICAgICAgICAgcGFzc2VkX2NvdW50ICs9IDEKKyAKKyAg ICAgICAgIGlmIHNraXBwZWQ6CitAQCAtMjE3LDE0ICsyMTcsMTkgQEAgY2xhc3MgU2NlbmFyaW9D b250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgICIi IgorICAgICAgICAgIyBUT0RPOiBCZXR0ZXIgdXNlIHNlbGYucnVuX2l0ZW1zCisgICAgICAgICBh bGxfc2NlbmFyaW9zID0gW10KKy0gICAgICAgIGZvciBzY2VuYXJpbyBpbiBzZWxmLnNjZW5hcmlv czoKKy0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNjZW5hcmlvLCBTY2VuYXJpb091dGxpbmUp OgorLSAgICAgICAgICAgICAgICBzY2VuYXJpb19vdXRsaW5lID0gc2NlbmFyaW8KKysgICAgICAg ICMgZm9yIHNjZW5hcmlvIGluIHNlbGYuc2NlbmFyaW9zOgorKyAgICAgICAgZm9yIHJ1bl9pdGVt IGluIHNlbGYucnVuX2l0ZW1zOgorKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0s IFJ1bGUpOgorKyAgICAgICAgICAgICAgICBydWxlID0gcnVuX2l0ZW0KKysgICAgICAgICAgICAg ICAgYWxsX3NjZW5hcmlvcy5leHRlbmQocnVsZS53YWxrX3NjZW5hcmlvcyh3aXRoX291dGxpbmVz PXdpdGhfb3V0bGluZXMpKQorKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNj ZW5hcmlvT3V0bGluZSk6CisrICAgICAgICAgICAgICAgIHNjZW5hcmlvX291dGxpbmUgPSBydW5f aXRlbQorICAgICAgICAgICAgICAgICBpZiB3aXRoX291dGxpbmVzOgorICAgICAgICAgICAgICAg ICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQoc2NlbmFyaW9fb3V0bGluZSkKKyAgICAgICAgICAg ICAgICAgYWxsX3NjZW5hcmlvcy5leHRlbmQoc2NlbmFyaW9fb3V0bGluZS5zY2VuYXJpb3MpCisg ICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQo c2NlbmFyaW8pCisrICAgICAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHJ1bl9pdGVtLCBT Y2VuYXJpbykKKysgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQocnVuX2l0ZW0p CisgICAgICAgICByZXR1cm4gYWxsX3NjZW5hcmlvcworIAorICAgICBkZWYgc2hvdWxkX3J1bihz ZWxmLCBjb25maWc9Tm9uZSk6CitAQCAtMjg1LDkgKzI5MCw5IEBAIGNsYXNzIFNjZW5hcmlvQ29u dGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICBzZWxm LmNsZWFyX3N0YXR1cygpCisgICAgICAgICBzZWxmLnNob3VsZF9za2lwID0gVHJ1ZQorICAgICAg ICAgc2VsZi5za2lwX3JlYXNvbiA9IHJlYXNvbgorLSAgICAgICAgZm9yIHNjZW5hcmlvIGluIHNl bGYuc2NlbmFyaW9zOgorLSAgICAgICAgICAgIHNjZW5hcmlvLnNraXAocmVhc29uLCByZXF1aXJl X25vdF9leGVjdXRlZCkKKy0gICAgICAgIGlmIG5vdCBzZWxmLnNjZW5hcmlvczoKKysgICAgICAg IGZvciBydW5faXRlbSBpbiBzZWxmLnJ1bl9pdGVtczoKKysgICAgICAgICAgICBydW5faXRlbS5z a2lwKHJlYXNvbiwgcmVxdWlyZV9ub3RfZXhlY3V0ZWQpCisrICAgICAgICBpZiBub3Qgc2VsZi5y dW5faXRlbXM6CisgICAgICAgICAgICAgIyAtLSBTUEVDSUFMIENBU0U6IEZlYXR1cmUgd2l0aG91 dCBzY2VuYXJpb3MKKyAgICAgICAgICAgICBzZWxmLnNldF9zdGF0dXMoU3RhdHVzLnNraXBwZWQp CisgICAgICAgICBhc3NlcnQgc2VsZi5zdGF0dXMgaW4gc2VsZi5maW5hbF9zdGF0dXMgIzwgc2tp cHBlZCwgZmFpbGVkIG9yIHBhc3NlZC4KK2RpZmYgLS1naXQgYS9iZWhhdmUvcmVwb3J0ZXIvc3Vt bWFyeS5weSBiL2JlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5CitpbmRleCBjODJkYWExLi4yY2Nk YzhmIDEwMDY0NAorLS0tIGEvYmVoYXZlL3JlcG9ydGVyL3N1bW1hcnkucHkKKysrKyBiL2JlaGF2 ZS9yZXBvcnRlci9zdW1tYXJ5LnB5CitAQCAtNiwyNSArNiw1MiBAQCBQcm92aWRlcyBhIHN1bW1h cnkgYWZ0ZXIgZWFjaCB0ZXN0IHJ1bi4KKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRl X2ltcG9ydCwgZGl2aXNpb24sIHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IHN5cworIGZyb20gdGlt ZSBpbXBvcnQgdGltZSBhcyB0aW1lX25vdworLWZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBTY2Vu YXJpb091dGxpbmUKKytmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgUnVsZSwgU2NlbmFyaW9PdXRs aW5lICAjIE1BWUJFOiBTY2VuYXJpbworIGZyb20gYmVoYXZlLm1vZGVsX2NvcmUgaW1wb3J0IFN0 YXR1cworIGZyb20gYmVoYXZlLnJlcG9ydGVyLmJhc2UgaW1wb3J0IFJlcG9ydGVyCisgZnJvbSBi ZWhhdmUuZm9ybWF0dGVyLmJhc2UgaW1wb3J0IFN0cmVhbU9wZW5lcgorIAorIAorLSMgLS0gRElT QUJMRUQ6IG9wdGlvbmFsX3N0ZXBzID0gKCd1bnRlc3RlZCcsICd1bmRlZmluZWQnKQorLW9wdGlv bmFsX3N0ZXBzID0gKFN0YXR1cy51bnRlc3RlZCwpICMgTUFZQkU6IFN0YXR1cy51bmRlZmluZWQK Ky1zdGF0dXNfb3JkZXIgPSAoU3RhdHVzLnBhc3NlZCwgU3RhdHVzLmZhaWxlZCwgU3RhdHVzLnNr aXBwZWQsCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIENPTlNUQU5UUzoKKysjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorKyMgLS0gRElTQUJMRUQ6IE9QVElPTkFMX1NURVBTID0gKCd1bnRlc3RlZCcs ICd1bmRlZmluZWQnKQorK09QVElPTkFMX1NURVBTID0gKFN0YXR1cy51bnRlc3RlZCwpICMgTUFZ QkU6IFN0YXR1cy51bmRlZmluZWQKKytTVEFUVVNfT1JERVIgPSAoU3RhdHVzLnBhc3NlZCwgU3Rh dHVzLmZhaWxlZCwgU3RhdHVzLnNraXBwZWQsCisgICAgICAgICAgICAgICAgIFN0YXR1cy51bmRl ZmluZWQsIFN0YXR1cy51bnRlc3RlZCkKKyAKKyAKKy1kZWYgZm9ybWF0X3N1bW1hcnkoc3RhdGVt ZW50X3R5cGUsIHN1bW1hcnkpOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBVVElMSVRZIEZV TkNUSU9OUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiBwbHVyYWxpemUod29yZCwgY291 bnQ9MSwgc3VmZml4PSJzIik6CisrICAgIGlmIGNvdW50ID09IDE6CisrICAgICAgICByZXR1cm4g d29yZAorKyAgICAjIC0tIE9USEVSV0lTRToKKysgICAgcmV0dXJuICJ7MH17MX0iLmZvcm1hdCh3 b3JkLCBzdWZmaXgpCisrCisrCisrZGVmIGNvbXB1dGVfc3VtbWFyeV9zdW0oc3VtbWFyeSk6Cisr ICAgICIiIkNvbXB1dGUgc3VtIG9mIGFsbCBzdW1tYXJ5IGNvdW50cyAoZXhjZXB0OiBhbGwpCisr CisrICAgIDpwYXJhbSBzdW1tYXJ5OiBTdW1tYXJ5IGNvdW50cyAoYXMgZGljdCkuCisrICAgIDpy ZXR1cm46IFN1bSBvZiBhbGwgY291bnRzIChhcyBpbnRlZ2VyKS4KKysgICAgIiIiCisrICAgIGNv dW50c19zdW0gPSAwCisrICAgIGZvciBuYW1lLCBjb3VudCBpbiBzdW1tYXJ5Lml0ZW1zKCk6Cisr ICAgICAgICBpZiBuYW1lID09ICJhbGwiOgorKyAgICAgICAgICAgIGNvbnRpbnVlICAgICMgSUdO T1JFIElULgorKyAgICAgICAgY291bnRzX3N1bSArPSBjb3VudAorKyAgICByZXR1cm4gY291bnRz X3N1bQorKworKworK2RlZiBmb3JtYXRfc3VtbWFyeTAoc3RhdGVtZW50X3R5cGUsIHN1bW1hcnkp OgorICAgICBwYXJ0cyA9IFtdCistICAgIGZvciBzdGF0dXMgaW4gc3RhdHVzX29yZGVyOgorKyAg ICBmb3Igc3RhdHVzIGluIFNUQVRVU19PUkRFUjoKKyAgICAgICAgIGlmIHN0YXR1cy5uYW1lIG5v dCBpbiBzdW1tYXJ5OgorICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICBjb3VudHMgPSBz dW1tYXJ5W3N0YXR1cy5uYW1lXQorLSAgICAgICAgaWYgc3RhdHVzIGluIG9wdGlvbmFsX3N0ZXBz IGFuZCBjb3VudHMgPT0gMDoKKysgICAgICAgIGlmIHN0YXR1cyBpbiBPUFRJT05BTF9TVEVQUyBh bmQgY291bnRzID09IDA6CisgICAgICAgICAgICAgIyAtLSBTSE9XLU9OTFk6IEZvciByZWxldmFu dCBjb3VudHMsIHN1cHByZXNzOiB1bnRlc3RlZCBpdGVtcywgZXRjLgorICAgICAgICAgICAgIGNv bnRpbnVlCisgCitAQCAtNDAsMTEgKzY3LDIzIEBAIGRlZiBmb3JtYXRfc3VtbWFyeShzdGF0ZW1l bnRfdHlwZSwgc3VtbWFyeSk6CisgICAgIHJldHVybiAiLCAiLmpvaW4ocGFydHMpICsgIlxuIgor IAorIAorLWRlZiBwbHVyYWxpemUod29yZCwgY291bnQ9MSwgc3VmZml4PSJzIik6CistICAgIGlm IGNvdW50ID09IDE6CistICAgICAgICByZXR1cm4gd29yZAorLSAgICAjIC0tIE9USEVSV0lTRToK Ky0gICAgcmV0dXJuICJ7MH17MX0iLmZvcm1hdCh3b3JkLCBzdWZmaXgpCisrZGVmIGZvcm1hdF9z dW1tYXJ5KHN0YXRlbWVudF90eXBlLCBzdW1tYXJ5KToKKysgICAgcGFydHMgPSBbXQorKyAgICBm b3Igc3RhdHVzIGluIFNUQVRVU19PUkRFUjoKKysgICAgICAgIGlmIHN0YXR1cy5uYW1lIG5vdCBp biBzdW1tYXJ5OgorKyAgICAgICAgICAgIGNvbnRpbnVlCisrICAgICAgICBjb3VudHMgPSBzdW1t YXJ5W3N0YXR1cy5uYW1lXQorKyAgICAgICAgaWYgc3RhdHVzIGluIE9QVElPTkFMX1NURVBTIGFu ZCBjb3VudHMgPT0gMDoKKysgICAgICAgICAgICAjIC0tIFNIT1ctT05MWTogRm9yIHJlbGV2YW50 IGNvdW50cywgc3VwcHJlc3M6IHVudGVzdGVkIGl0ZW1zLCBldGMuCisrICAgICAgICAgICAgY29u dGludWUKKysKKysgICAgICAgIG5hbWUgPSBzdGF0dXMubmFtZQorKyAgICAgICAgaWYgc3RhdHVz Lm5hbWUgPT0gInBhc3NlZCI6CisrICAgICAgICAgICAgc3RhdGVtZW50ID0gcGx1cmFsaXplKHN0 YXRlbWVudF90eXBlLCBjb3VudHMpCisrICAgICAgICAgICAgbmFtZSA9IHUiJXMgcGFzc2VkIiAl IHN0YXRlbWVudAorKyAgICAgICAgcGFydCA9IHUiJWQgJXMiICUgKGNvdW50cywgbmFtZSkKKysg ICAgICAgIHBhcnRzLmFwcGVuZChwYXJ0KQorKyAgICByZXR1cm4gIiwgIi5qb2luKHBhcnRzKSAr ICJcbiIKKyAKKyAKKyAjIC0tIFBSRVBBUkVEOgorQEAgLTYwLDE4ICs5OSwxNiBAQCBkZWYgZm9y bWF0X3N1bW1hcnkyKHN0YXRlbWVudF90eXBlLCBzdW1tYXJ5LCBlbmQ9IlxuIik6CisgICAgIDpy ZXR1cm46CisgICAgICIiIgorICAgICBwYXJ0cyA9IFtdCistICAgIGNvdW50c19zdW0gPSAwCist ICAgIGZvciBzdGF0dXMgaW4gc3RhdHVzX29yZGVyOgorKyAgICBmb3Igc3RhdHVzIGluIFNUQVRV U19PUkRFUjoKKyAgICAgICAgIGlmIHN0YXR1cy5uYW1lIG5vdCBpbiBzdW1tYXJ5OgorICAgICAg ICAgICAgIGNvbnRpbnVlCisgICAgICAgICBjb3VudHMgPSBzdW1tYXJ5W3N0YXR1cy5uYW1lXQor LSAgICAgICAgaWYgc3RhdHVzIGluIG9wdGlvbmFsX3N0ZXBzIGFuZCBjb3VudHMgPT0gMDoKKysg ICAgICAgIGlmIHN0YXR1cyBpbiBPUFRJT05BTF9TVEVQUyBhbmQgY291bnRzID09IDA6CisgICAg ICAgICAgICAgIyAtLSBTSE9XLU9OTFk6IEZvciByZWxldmFudCBjb3VudHMsIHN1cHByZXNzOiB1 bnRlc3RlZCBpdGVtcywgZXRjLgorICAgICAgICAgICAgIGNvbnRpbnVlCistCistICAgICAgICBj b3VudHNfc3VtICs9IGNvdW50cworICAgICAgICAgcGFydHMuYXBwZW5kKChzdGF0dXMubmFtZSwg Y291bnRzKSkKKyAKKysgICAgY291bnRzX3N1bSA9IHN1bW1hcnlbImFsbCJdCisgICAgIHN0YXRl bWVudCA9IHBsdXJhbGl6ZShzdGF0ZW1lbnRfdHlwZSwgc3VtKQorICAgICBwYXJ0c190ZXh0ID0g IiwgIi5qb2luKFsiezB9OiB7MX0iLmZvcm1hdChuYW1lLCB2YWx1ZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIHBhcnRzXSkKK0BAIC03OSw2ICsxMTYs OSBAQCBkZWYgZm9ybWF0X3N1bW1hcnkyKHN0YXRlbWVudF90eXBlLCBzdW1tYXJ5LCBlbmQ9Ilxu Iik6CisgICAgICAgICBjb3VudD1jb3VudHNfc3VtLCBzdGF0ZW1lbnQ9c3RhdGVtZW50LCBwYXJ0 cz1wYXJ0c190ZXh0LCBlbmQ9ZW5kKQorIAorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBS RVBPUlRFUlM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBjbGFzcyBTdW1tYXJ5UmVwb3J0ZXIo UmVwb3J0ZXIpOgorICAgICBzaG93X2ZhaWxlZF9zY2VuYXJpb3MgPSBUcnVlCisgICAgIG91dHB1 dF9zdHJlYW1fbmFtZSA9ICJzdGRvdXQiCitAQCAtODgsNiArMTI4LDcgQEAgY2xhc3MgU3VtbWFy eVJlcG9ydGVyKFJlcG9ydGVyKToKKyAgICAgICAgIHN0cmVhbSA9IGdldGF0dHIoc3lzLCBzZWxm Lm91dHB1dF9zdHJlYW1fbmFtZSwgc3lzLnN0ZGVycikKKyAgICAgICAgIHNlbGYuc3RyZWFtID0g U3RyZWFtT3BlbmVyLmVuc3VyZV9zdHJlYW1fd2l0aF9lbmNvZGVyKHN0cmVhbSkKKyAgICAgICAg IHN1bW1hcnlfemVyb19kYXRhID0geworKyAgICAgICAgICAgICJhbGwiOiAwLAorICAgICAgICAg ICAgIFN0YXR1cy5wYXNzZWQubmFtZTogMCwKKyAgICAgICAgICAgICBTdGF0dXMuZmFpbGVkLm5h bWU6IDAsCisgICAgICAgICAgICAgU3RhdHVzLnNraXBwZWQubmFtZTogMCwKK0BAIC0xMjIsMTAg KzE2MywyMiBAQCBjbGFzcyBTdW1tYXJ5UmVwb3J0ZXIoUmVwb3J0ZXIpOgorICAgICAgICAgZm9y IHNjZW5hcmlvIGluIHNlbGYuZmFpbGVkX3NjZW5hcmlvczoKKyAgICAgICAgICAgICBzdHJlYW0u d3JpdGUodSIgICVzICAlc1xuIiAlIChzY2VuYXJpby5sb2NhdGlvbiwgc2NlbmFyaW8ubmFtZSkp CisgCisrICAgIGRlZiBjb21wdXRlX3N1bW1hcnlfc3VtcyhzZWxmKToKKysgICAgICAgICIiIihS ZSlDb21wdXRlIHN1bW1hcnkgc3VtIG9mIGFsbCBjb3VudHMgKGV4Y2VwdDogYWxsKS4iIiIKKysg ICAgICAgIHN1bW1hcmllcyA9IFsKKysgICAgICAgICAgICBzZWxmLmZlYXR1cmVfc3VtbWFyeSwK KysgICAgICAgICAgICBzZWxmLnJ1bGVfc3VtbWFyeSwKKysgICAgICAgICAgICBzZWxmLnNjZW5h cmlvX3N1bW1hcnksCisrICAgICAgICAgICAgc2VsZi5zdGVwX3N1bW1hcnkKKysgICAgICAgIF0K KysgICAgICAgIGZvciBzdW1tYXJ5IGluIHN1bW1hcmllczoKKysgICAgICAgICAgICBzdW1tYXJ5 WyJhbGwiXSA9IGNvbXB1dGVfc3VtbWFyeV9zdW0oc3VtbWFyeSkKKysKKyAgICAgZGVmIHByaW50 X3N1bW1hcnkoc2VsZiwgc3RyZWFtPU5vbmUsIHdpdGhfZHVyYXRpb249VHJ1ZSk6CisgICAgICAg ICBpZiBzdHJlYW0gaXMgTm9uZToKKyAgICAgICAgICAgICBzdHJlYW0gPSBzZWxmLnN0cmVhbQor IAorKyAgICAgICAgc2VsZi5jb21wdXRlX3N1bW1hcnlfc3VtcygpCisgICAgICAgICBzdHJlYW0u d3JpdGUoZm9ybWF0X3N1bW1hcnkoImZlYXR1cmUiLCBzZWxmLmZlYXR1cmVfc3VtbWFyeSkpCisg ICAgICAgICBydWxlc19zdW1tYXJ5ID0gZm9ybWF0X3N1bW1hcnkoInJ1bGUiLCBzZWxmLnJ1bGVf c3VtbWFyeSkKKyAgICAgICAgIGlmIHNlbGYuc2hvd19ydWxlcyBhbmQgbm90IHJ1bGVzX3N1bW1h cnkuc3RyaXAoKS5zdGFydHN3aXRoKCIwIik6CitAQCAtMTQ1LDEzICsxOTgsNyBAQCBjbGFzcyBT dW1tYXJ5UmVwb3J0ZXIoUmVwb3J0ZXIpOgorICAgICAgICAgICAgICMgLS0gRElTQ09WRVI6IFRF U1QtUlVOIHN0YXJ0ZWQuCisgICAgICAgICAgICAgc2VsZi50ZXN0cnVuX3N0YXJ0ZWQoKQorIAor LSAgICAgICAgc2VsZi5mZWF0dXJlX3N1bW1hcnlbZmVhdHVyZS5zdGF0dXMubmFtZV0gKz0gMQor LSAgICAgICAgc2VsZi5kdXJhdGlvbiArPSBmZWF0dXJlLmR1cmF0aW9uCistICAgICAgICBmb3Ig c2NlbmFyaW8gaW4gZmVhdHVyZToKKy0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNjZW5hcmlv LCBTY2VuYXJpb091dGxpbmUpOgorLSAgICAgICAgICAgICAgICBzZWxmLnByb2Nlc3Nfc2NlbmFy aW9fb3V0bGluZShzY2VuYXJpbykKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAg ICBzZWxmLnByb2Nlc3Nfc2NlbmFyaW8oc2NlbmFyaW8pCisrICAgICAgICBzZWxmLnByb2Nlc3Nf ZmVhdHVyZShmZWF0dXJlKQorIAorICAgICBkZWYgZW5kKHNlbGYpOgorICAgICAgICAgc2VsZi50 ZXN0cnVuX2ZpbmlzaGVkKCkKK0BAIC0xNjQsNiArMjExLDI1IEBAIGNsYXNzIFN1bW1hcnlSZXBv cnRlcihSZXBvcnRlcik6CisgICAgICAgICAjIC0tIFNIT1cgU1VNTUFSWSBDT1VOVFM6CisgICAg ICAgICBzZWxmLnByaW50X3N1bW1hcnkoKQorIAorKyAgICBkZWYgcHJvY2Vzc19ydW5faXRlbXNf Zm9yKHNlbGYsIHBhcmVudCk6CisrICAgICAgICBmb3IgcnVuX2l0ZW0gaW4gcGFyZW50OgorKyAg ICAgICAgICAgIGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFJ1bGUpOgorKyAgICAgICAgICAgICAg ICBzZWxmLnByb2Nlc3NfcnVsZShydW5faXRlbSkKKysgICAgICAgICAgICBlbGlmIGlzaW5zdGFu Y2UocnVuX2l0ZW0sIFNjZW5hcmlvT3V0bGluZSk6CisrICAgICAgICAgICAgICAgIHNlbGYucHJv Y2Vzc19zY2VuYXJpb19vdXRsaW5lKHJ1bl9pdGVtKQorKyAgICAgICAgICAgIGVsc2U6CisrICAg ICAgICAgICAgICAgICMgYXNzZXJ0IGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKQorKyAg ICAgICAgICAgICAgICBzZWxmLnByb2Nlc3Nfc2NlbmFyaW8ocnVuX2l0ZW0pCisrCisrICAgIGRl ZiBwcm9jZXNzX2ZlYXR1cmUoc2VsZiwgZmVhdHVyZSk6CisrICAgICAgICBzZWxmLmR1cmF0aW9u ICs9IGZlYXR1cmUuZHVyYXRpb24KKysgICAgICAgIHNlbGYuZmVhdHVyZV9zdW1tYXJ5W2ZlYXR1 cmUuc3RhdHVzLm5hbWVdICs9IDEKKysgICAgICAgIHNlbGYucHJvY2Vzc19ydW5faXRlbXNfZm9y KGZlYXR1cmUpCisrCisrICAgIGRlZiBwcm9jZXNzX3J1bGUoc2VsZiwgcnVsZSk6CisrICAgICAg ICBzZWxmLnJ1bGVfc3VtbWFyeVtydWxlLnN0YXR1cy5uYW1lXSArPSAxCisrICAgICAgICBzZWxm LnByb2Nlc3NfcnVuX2l0ZW1zX2ZvcihydWxlKQorKworICAgICBkZWYgcHJvY2Vzc19zY2VuYXJp byhzZWxmLCBzY2VuYXJpbyk6CisgICAgICAgICBpZiBzY2VuYXJpby5zdGF0dXMgPT0gU3RhdHVz LmZhaWxlZDoKKyAgICAgICAgICAgICBzZWxmLmZhaWxlZF9zY2VuYXJpb3MuYXBwZW5kKHNjZW5h cmlvKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvcmVwb3J0ZXJzL19faW5pdF9fLnB5IGIvdGVz dHMvdW5pdC9yZXBvcnRlci9fX2luaXRfXy5weQorc2ltaWxhcml0eSBpbmRleCAxMDAlCityZW5h bWUgZnJvbSB0ZXN0cy91bml0L3JlcG9ydGVycy9fX2luaXRfXy5weQorcmVuYW1lIHRvIHRlc3Rz L3VuaXQvcmVwb3J0ZXIvX19pbml0X18ucHkKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3JlcG9y dGVycy90ZXN0X3N1bW1hcnkucHkgYi90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5w eQorc2ltaWxhcml0eSBpbmRleCA5OSUKK3JlbmFtZSBmcm9tIHRlc3RzL3VuaXQvcmVwb3J0ZXJz L3Rlc3Rfc3VtbWFyeS5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1t YXJ5LnB5CitpbmRleCAwMjE1NGRiLi45N2FkYmI1IDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC9y ZXBvcnRlcnMvdGVzdF9zdW1tYXJ5LnB5CisrKysgYi90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rf c3VtbWFyeS5weQorQEAgLTEyMCw2ICsxMjAsNyBAQCBjbGFzcyBUZXN0U3VtbWFyeVJlcG9ydGVy KG9iamVjdCk6CisgICAgICAgICByZXBvcnRlci5lbmQoKQorIAorICAgICAgICAgZXhwZWN0ZWQg PSB7CisrICAgICAgICAgICAgImFsbCI6IDUsCisgICAgICAgICAgICAgU3RhdHVzLnBhc3NlZC5u YW1lOiAyLAorICAgICAgICAgICAgIFN0YXR1cy5mYWlsZWQubmFtZTogMSwKKyAgICAgICAgICAg ICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAxLAorQEAgLTE1Niw2ICsxNTcsNyBAQCBjbGFzcyBUZXN0 U3VtbWFyeVJlcG9ydGVyKG9iamVjdCk6CisgICAgICAgICByZXBvcnRlci5lbmQoKQorIAorICAg ICAgICAgZXhwZWN0ZWQgPSB7CisrICAgICAgICAgICAgImFsbCI6IDUsCisgICAgICAgICAgICAg U3RhdHVzLnBhc3NlZC5uYW1lOiAxLAorICAgICAgICAgICAgIFN0YXR1cy5mYWlsZWQubmFtZTog MiwKKyAgICAgICAgICAgICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAxLAorQEAgLTIwMSw2ICsyMDMs NyBAQCBjbGFzcyBUZXN0U3VtbWFyeVJlcG9ydGVyKG9iamVjdCk6CisgICAgICAgICByZXBvcnRl ci5lbmQoKQorIAorICAgICAgICAgZXhwZWN0ZWQgPSB7CisrICAgICAgICAgICAgImFsbCI6IDcs CisgICAgICAgICAgICAgU3RhdHVzLnBhc3NlZC5uYW1lOiAyLAorICAgICAgICAgICAgIFN0YXR1 cy5mYWlsZWQubmFtZTogMywKKyAgICAgICAgICAgICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAyLAor QEAgLTI0MSw2ICsyNDQsNyBAQCBjbGFzcyBUZXN0U3VtbWFyeVJlcG9ydGVyKG9iamVjdCk6Cisg ICAgICAgICByZXBvcnRlci5lbmQoKQorIAorICAgICAgICAgZXhwZWN0ZWQgPSB7CisrICAgICAg ICAgICAgImFsbCI6IDUsCisgICAgICAgICAgICAgU3RhdHVzLnBhc3NlZC5uYW1lOiAyLAorICAg ICAgICAgICAgIFN0YXR1cy5mYWlsZWQubmFtZTogMSwKKyAgICAgICAgICAgICBTdGF0dXMuc2tp cHBlZC5uYW1lOiAxLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNS1TdW1tYXJ5UmVwb3J0ZXIucHJpbnRfc3VtbWFyeS1T aW1wbGlmeS1pZi1SdWxlcy1hcmUtLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNS1TdW1tYXJ5UmVwb3J0ZXIucHJpbnRfc3VtbWFy eS1TaW1wbGlmeS1pZi1SdWxlcy1hcmUtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uMmNiZjAyOTI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNS1TdW1tYXJ5UmVwb3J0ZXIu cHJpbnRfc3VtbWFyeS1TaW1wbGlmeS1pZi1SdWxlcy1hcmUtLnBhdGNoCkBAIC0wLDAgKzEsNjAg QEAKK0Zyb20gZGIxZWFkOTkxOTI0ZmI3MWQ4N2UwMmFhNDNmZmE3M2VhZTYwNTk0ZSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogV2VkLCAxMyBNYXIgMjAxOSAwODo0MTozNyArMDEwMAorU3ViamVj dDogW1BBVENIXSBTdW1tYXJ5UmVwb3J0ZXIucHJpbnRfc3VtbWFyeTogU2ltcGxpZnkgaWYgUnVs ZXMgYXJlIHVzZWQuCisKKy0tLQorIGJlaGF2ZS9yZXBvcnRlci9zdW1tYXJ5LnB5ICAgICAgICAg IHwgNyArKysrLS0tCisgdGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1hcnkucHkgfCA2ICsr Ky0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvYmVoYXZlL3JlcG9ydGVyL3N1bW1hcnkucHkgYi9iZWhhdmUvcmVwb3J0 ZXIvc3VtbWFyeS5weQoraW5kZXggMmNjZGM4Zi4uMDkyODVlYSAxMDA2NDQKKy0tLSBhL2JlaGF2 ZS9yZXBvcnRlci9zdW1tYXJ5LnB5CisrKysgYi9iZWhhdmUvcmVwb3J0ZXIvc3VtbWFyeS5weQor QEAgLTE3OSwxMSArMTc5LDEyIEBAIGNsYXNzIFN1bW1hcnlSZXBvcnRlcihSZXBvcnRlcik6Cisg ICAgICAgICAgICAgc3RyZWFtID0gc2VsZi5zdHJlYW0KKyAKKyAgICAgICAgIHNlbGYuY29tcHV0 ZV9zdW1tYXJ5X3N1bXMoKQorKyAgICAgICAgaGFzX3J1bGVzID0gKHNlbGYucnVsZV9zdW1tYXJ5 WyJhbGwiXSA+IDApCisrCisgICAgICAgICBzdHJlYW0ud3JpdGUoZm9ybWF0X3N1bW1hcnkoImZl YXR1cmUiLCBzZWxmLmZlYXR1cmVfc3VtbWFyeSkpCistICAgICAgICBydWxlc19zdW1tYXJ5ID0g Zm9ybWF0X3N1bW1hcnkoInJ1bGUiLCBzZWxmLnJ1bGVfc3VtbWFyeSkKKy0gICAgICAgIGlmIHNl bGYuc2hvd19ydWxlcyBhbmQgbm90IHJ1bGVzX3N1bW1hcnkuc3RyaXAoKS5zdGFydHN3aXRoKCIw Iik6CisrICAgICAgICBpZiBzZWxmLnNob3dfcnVsZXMgYW5kIGhhc19ydWxlczoKKyAgICAgICAg ICAgICAjIC0tIEhJTlQ6IFNob3cgb25seSBydWxlcywgaWYgYW55IGV4aXN0cy4KKy0gICAgICAg ICAgICBzZWxmLnN0cmVhbS53cml0ZShydWxlc19zdW1tYXJ5KQorKyAgICAgICAgICAgIHNlbGYu c3RyZWFtLndyaXRlKGZvcm1hdF9zdW1tYXJ5KCJydWxlIiwgc2VsZi5ydWxlX3N1bW1hcnkpKQor ICAgICAgICAgc3RyZWFtLndyaXRlKGZvcm1hdF9zdW1tYXJ5KCJzY2VuYXJpbyIsIHNlbGYuc2Nl bmFyaW9fc3VtbWFyeSkpCisgICAgICAgICBzdHJlYW0ud3JpdGUoZm9ybWF0X3N1bW1hcnkoInN0 ZXAiLCBzZWxmLnN0ZXBfc3VtbWFyeSkpCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC9yZXBv cnRlci90ZXN0X3N1bW1hcnkucHkgYi90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFyeS5w eQoraW5kZXggOTdhZGJiNS4uZDRlODViNSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvcmVwb3J0 ZXIvdGVzdF9zdW1tYXJ5LnB5CisrKysgYi90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3VtbWFy eS5weQorQEAgLTE2NCw3ICsxNjQsNyBAQCBjbGFzcyBUZXN0U3VtbWFyeVJlcG9ydGVyKG9iamVj dCk6CisgICAgICAgICAgICAgU3RhdHVzLnVudGVzdGVkLm5hbWU6IDEsCisgICAgICAgICB9Cisg CistICAgICAgICBzY2VuYXJpb19pbmRleCA9IDIKKysgICAgICAgIHNjZW5hcmlvX2luZGV4ID0g MSAgIyAtLSBISU5UOiBJbmRleCBmb3Igc2NlbmFyaW9zIGlmIG5vIFJ1bGVzIGFyZSB1c2VkLgor ICAgICAgICAgZXhwZWN0ZWRfcGFydHMgPSAoInNjZW5hcmlvIiwgZXhwZWN0ZWQpCisgICAgICAg ICBhc3NlcnQgZm9ybWF0X3N1bW1hcnkuY2FsbF9hcmdzX2xpc3Rbc2NlbmFyaW9faW5kZXhdWzBd ID09IGV4cGVjdGVkX3BhcnRzCisgCitAQCAtMjA5LDcgKzIwOSw3IEBAIGNsYXNzIFRlc3RTdW1t YXJ5UmVwb3J0ZXIob2JqZWN0KToKKyAgICAgICAgICAgICBTdGF0dXMuc2tpcHBlZC5uYW1lOiAy LAorICAgICAgICAgICAgIFN0YXR1cy51bnRlc3RlZC5uYW1lOiAwLAorICAgICAgICAgfQorLSAg ICAgICAgc2NlbmFyaW9faW5kZXggPSAyCisrICAgICAgICBzY2VuYXJpb19pbmRleCA9IDEgICMg LS0gSElOVDogSW5kZXggZm9yIHNjZW5hcmlvcyBpZiBubyBSdWxlcyBhcmUgdXNlZC4KKyAgICAg ICAgIGV4cGVjdGVkX3BhcnRzID0gKCJzY2VuYXJpbyIsIGV4cGVjdGVkKQorICAgICAgICAgYXNz ZXJ0IGZvcm1hdF9zdW1tYXJ5LmNhbGxfYXJnc19saXN0W3NjZW5hcmlvX2luZGV4XVswXSA9PSBl eHBlY3RlZF9wYXJ0cworIAorQEAgLTI1Miw2ICsyNTIsNiBAQCBjbGFzcyBUZXN0U3VtbWFyeVJl cG9ydGVyKG9iamVjdCk6CisgICAgICAgICAgICAgU3RhdHVzLnVuZGVmaW5lZC5uYW1lOiAxLAor ICAgICAgICAgfQorIAorLSAgICAgICAgc3RlcF9pbmRleCA9IDMKKysgICAgICAgIHN0ZXBfaW5k ZXggPSAyICAjIEhJTlQ6IEluZGV4IGZvciBzdGVwcyBpZiBub3QgcnVsZXMgYXJlIHVzZWQuCisg ICAgICAgICBleHBlY3RlZF9wYXJ0cyA9ICgic3RlcCIsIGV4cGVjdGVkKQorICAgICAgICAgYXNz ZXJ0IGZvcm1hdF9zdW1tYXJ5LmNhbGxfYXJnc19saXN0W3N0ZXBfaW5kZXhdWzBdID09IGV4cGVj dGVkX3BhcnRzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDA2LUZvcm1hdHRlci1BZGQtYmFzaWMtc3VwcG9ydC1vdXRwdXQt Zm9yLVJ1bGVzLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAwNi1Gb3JtYXR0ZXItQWRkLWJhc2ljLXN1cHBvcnQtb3V0cHV0LWZvci1S dWxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmJjZmUzMTVi ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMDYtRm9ybWF0dGVyLUFkZC1iYXNpYy1zdXBwb3J0LW91dHB1dC1m b3ItUnVsZXMucGF0Y2gKQEAgLTAsMCArMSwzOTUgQEAKK0Zyb20gMjQ4MTFiNjMxZTBlZWQ5MjM0 Nzg4MGYxZGFjM2Y5MzJmNGI0NmY5ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGpl bmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCAxMyBN YXIgMjAxOSAyMzowODoxOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBGb3JtYXR0ZXI6IEFkZCBi YXNpYyBzdXBwb3J0L291dHB1dCBmb3IgUnVsZXMuCisKKy0tLQorIGJlaGF2ZS9mb3JtYXR0ZXIv YmFzZS5weSAgICAgfCAxOCArKysrKy0tLS0tLQorIGJlaGF2ZS9mb3JtYXR0ZXIvcGxhaW4ucHkg ICAgfCA2MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KKyBiZWhhdmUvZm9y bWF0dGVyL3ByZXR0eS5weSAgIHwgMzMgKysrKysrKysrKysrKysrLS0tLQorIGJlaGF2ZS9mb3Jt YXR0ZXIvcHJvZ3Jlc3MucHkgfCAxOCArKysrKysrKysrLQorIGJlaGF2ZS9tb2RlbC5weSAgICAg ICAgICAgICAgfCAxNCArKysrLS0tLQorIDUgZmlsZXMgY2hhbmdlZCwgMTEwIGluc2VydGlvbnMo KyksIDM2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2Zvcm1hdHRlci9iYXNl LnB5IGIvYmVoYXZlL2Zvcm1hdHRlci9iYXNlLnB5CitpbmRleCBmNzI2OGZhLi5hOGI5ZjdjIDEw MDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9iYXNlLnB5CisrKysgYi9iZWhhdmUvZm9ybWF0 dGVyL2Jhc2UucHkKK0BAIC0xMjksMTUgKzEyOSw2IEBAIGNsYXNzIEZvcm1hdHRlcihvYmplY3Qp OgorICAgICAgICAgIiIiCisgICAgICAgICBwYXNzCisgCistICAgIGRlZiBiYWNrZ3JvdW5kKHNl bGYsIGJhY2tncm91bmQpOgorLSAgICAgICAgIiIiQ2FsbGVkIHdoZW4gYSAoRmVhdHVyZSkgQmFj a2dyb3VuZCBpcyBwcm92aWRlZC4KKy0gICAgICAgIENhbGxlZCBhZnRlciA6bWV0aG9kOmBmZWF0 dXJlKClgIGlzIGNhbGxlZC4KKy0gICAgICAgIENhbGxlZCBiZWZvcmUgcHJvY2Vzc2luZyBhbnkg c2NlbmFyaW9zIG9yIHNjZW5hcmlvIG91dGxpbmVzLgorLQorLSAgICAgICAgOnBhcmFtIGJhY2tn cm91bmQ6ICBCYWNrZ3JvdW5kIG9iamVjdCAoYXMgOmNsYXNzOmBiZWhhdmUubW9kZWwuQmFja2dy b3VuZGApCistICAgICAgICAiIiIKKy0gICAgICAgIHBhc3MKKy0KKyAgICAgZGVmIHJ1bGUoc2Vs ZiwgcnVsZSk6CisgICAgICAgICAiIiJDYWxsZWQgYmVmb3JlIGEgcnVsZSBpcyBleGVjdXRlZC4K KyAKK0BAIC0xNTMsNiArMTQ0LDE1IEBAIGNsYXNzIEZvcm1hdHRlcihvYmplY3QpOgorICAgICAj ICAgICAiIiIKKyAgICAgIyAgICAgcGFzcworIAorKyAgICBkZWYgYmFja2dyb3VuZChzZWxmLCBi YWNrZ3JvdW5kKToKKysgICAgICAgICIiIkNhbGxlZCB3aGVuIGEgKEZlYXR1cmUpIEJhY2tncm91 bmQgaXMgcHJvdmlkZWQuCisrICAgICAgICBDYWxsZWQgYWZ0ZXIgOm1ldGhvZDpgZmVhdHVyZSgp YCBpcyBjYWxsZWQuCisrICAgICAgICBDYWxsZWQgYmVmb3JlIHByb2Nlc3NpbmcgYW55IHNjZW5h cmlvcyBvciBzY2VuYXJpbyBvdXRsaW5lcy4KKysKKysgICAgICAgIDpwYXJhbSBiYWNrZ3JvdW5k OiAgQmFja2dyb3VuZCBvYmplY3QgKGFzIDpjbGFzczpgYmVoYXZlLm1vZGVsLkJhY2tncm91bmRg KQorKyAgICAgICAgIiIiCisrICAgICAgICBwYXNzCisrCisgICAgIGRlZiBzY2VuYXJpbyhzZWxm LCBzY2VuYXJpbyk6CisgICAgICAgICAiIiJDYWxsZWQgYmVmb3JlIGEgc2NlbmFyaW8gaXMgZXhl Y3V0ZWQgKG9yIFNjZW5hcmlvT3V0bGluZSBzY2VuYXJpb3MpLgorIAorZGlmZiAtLWdpdCBhL2Jl aGF2ZS9mb3JtYXR0ZXIvcGxhaW4ucHkgYi9iZWhhdmUvZm9ybWF0dGVyL3BsYWluLnB5CitpbmRl eCA5ZjFmODMzLi5lNzIwODI5IDEwMDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9wbGFpbi5w eQorKysrIGIvYmVoYXZlL2Zvcm1hdHRlci9wbGFpbi5weQorQEAgLTIzLDYgKzIzLDggQEAgY2xh c3MgUGxhaW5Gb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAKKyAgICAgU0hPV19NVUxUSV9MSU5FID0g VHJ1ZQorICAgICBTSE9XX1RBR1MgPSBGYWxzZQorKyAgICBTSE9XX1JVTEVTID0gVHJ1ZQorKyAg ICBTSE9XX0JBQ0tHUk9VTkRTID0gVHJ1ZQorICAgICBTSE9XX0FMSUdORURfS0VZV09SRFMgPSBG YWxzZQorICAgICBERUZBVUxUX0lOREVOVF9TSVpFID0gMgorICAgICBSQUlTRV9PVVRQVVRfRVJS T1JTID0gVHJ1ZQorQEAgLTM1LDYgKzM3LDcgQEAgY2xhc3MgUGxhaW5Gb3JtYXR0ZXIoRm9ybWF0 dGVyKToKKyAgICAgICAgIHNlbGYuc2hvd19hbGlnbmVkX2tleXdvcmRzID0gc2VsZi5TSE9XX0FM SUdORURfS0VZV09SRFMKKyAgICAgICAgIHNlbGYuc2hvd190YWdzID0gc2VsZi5TSE9XX1RBR1MK KyAgICAgICAgIHNlbGYuaW5kZW50X3NpemUgPSBzZWxmLkRFRkFVTFRfSU5ERU5UX1NJWkUKKysg ICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gTm9uZQorICAgICAgICAgIyAtLSBFTlNVUkU6IE91 dHB1dCBzdHJlYW0gaXMgb3Blbi4KKyAgICAgICAgIHNlbGYuc3RyZWFtID0gc2VsZi5vcGVuKCkK KyAgICAgICAgIHNlbGYucHJpbnRlciA9IE1vZGVsUHJpbnRlcihzZWxmLnN0cmVhbSkKK0BAIC00 OSw2ICs1MiwxMCBAQCBjbGFzcyBQbGFpbkZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAg ICAgICAgICBvZmZzZXQgPSAyCisgICAgICAgICAgICAgaW5kZW50YXRpb24gPSBtYWtlX2luZGVu dGF0aW9uKDMgKiBzZWxmLmluZGVudF9zaXplICsgb2Zmc2V0KQorICAgICAgICAgICAgIHNlbGYu X211bHRpbGluZV9pbmRlbnRhdGlvbiA9IGluZGVudGF0aW9uCisrCisrICAgICAgICBpZiBzZWxm LmN1cnJlbnRfcnVsZToKKysgICAgICAgICAgICBpbmRlbnRfZXh0cmEgPSBtYWtlX2luZGVudGF0 aW9uKHNlbGYuaW5kZW50X3NpemUpCisrICAgICAgICAgICAgcmV0dXJuIHNlbGYuX211bHRpbGlu ZV9pbmRlbnRhdGlvbiArIGluZGVudF9leHRyYQorICAgICAgICAgcmV0dXJuIHNlbGYuX211bHRp bGluZV9pbmRlbnRhdGlvbgorIAorICAgICBkZWYgcmVzZXRfc3RlcHMoc2VsZik6CitAQCAtNjAs MzcgKzY3LDY5IEBAIGNsYXNzIFBsYWluRm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICAg ICAgdGV4dCA9ICIgQCIuam9pbih0YWdzKQorICAgICAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRl KHUiJXNAJXNcbiIgJSAoaW5kZW50LCB0ZXh0KSkKKyAKKysgICAgZGVmIHdyaXRlX2VudGl0eShz ZWxmLCBlbnRpdHksIGluZGVudD0iIiwgaGFzX3RhZ3M9VHJ1ZSk6CisrICAgICAgICBpZiBoYXNf dGFnczoKKysgICAgICAgICAgICBzZWxmLndyaXRlX3RhZ3MoZW50aXR5LnRhZ3MsIGluZGVudCkK KysgICAgICAgIHRleHQgPSB1IiVzJXM6ICVzXG4iICUgKGluZGVudCwgZW50aXR5LmtleXdvcmQs IGVudGl0eS5uYW1lKQorKyAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodGV4dCkKKysKKyAgICAg IyAtLSBJTVBMRU1FTlQtSU5URVJGQUNFIEZPUjogRm9ybWF0dGVyCisgICAgIGRlZiBmZWF0dXJl KHNlbGYsIGZlYXR1cmUpOgorKyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBOb25lCisgICAg ICAgICBzZWxmLnJlc2V0X3N0ZXBzKCkKKy0gICAgICAgIHNlbGYud3JpdGVfdGFncyhmZWF0dXJl LnRhZ3MpCistICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzOiAlc1xuIiAlIChmZWF0dXJl LmtleXdvcmQsIGZlYXR1cmUubmFtZSkpCisrICAgICAgICBzZWxmLndyaXRlX2VudGl0eShmZWF0 dXJlKQorKyAgICAgICAgIyBzZWxmLndyaXRlX3RhZ3MoZmVhdHVyZS50YWdzKQorKyAgICAgICAg IyBzZWxmLnN0cmVhbS53cml0ZSh1IiVzOiAlc1xuIiAlIChmZWF0dXJlLmtleXdvcmQsIGZlYXR1 cmUubmFtZSkpCisgCistICAgIGRlZiBiYWNrZ3JvdW5kKHNlbGYsIGJhY2tncm91bmQpOgorKyAg ICBkZWYgcnVsZShzZWxmLCBydWxlKToKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gcnVs ZQorICAgICAgICAgc2VsZi5yZXNldF9zdGVwcygpCisgICAgICAgICBpbmRlbnQgPSBtYWtlX2lu ZGVudGF0aW9uKHNlbGYuaW5kZW50X3NpemUpCistICAgICAgICB0ZXh0ID0gdSIlcyVzOiAlc1xu IiAlIChpbmRlbnQsIGJhY2tncm91bmQua2V5d29yZCwgYmFja2dyb3VuZC5uYW1lKQorLSAgICAg ICAgc2VsZi5zdHJlYW0ud3JpdGUodGV4dCkKKysgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUi XG4iKQorKyAgICAgICAgc2VsZi53cml0ZV9lbnRpdHkocnVsZSwgaW5kZW50KQorKyAgICAgICAg IyBzZWxmLnN0cmVhbS53cml0ZSh1IiVzJXM6ICVzXG4iICUgKGluZGVudCwgcnVsZS5rZXl3b3Jk LCBydWxlLm5hbWUpKQorKworKyAgICBkZWYgYmFja2dyb3VuZChzZWxmLCBiYWNrZ3JvdW5kKToK KysgICAgICAgIHNlbGYucmVzZXRfc3RlcHMoKQorKyAgICAgICAgaWYgbm90IHNlbGYuU0hPV19C QUNLR1JPVU5EUzoKKysgICAgICAgICAgICByZXR1cm4KKysKKysgICAgICAgIGluZGVudF9leHRy YSA9IDAKKysgICAgICAgIGlmIHNlbGYuY3VycmVudF9ydWxlOgorKyAgICAgICAgICAgIGluZGVu dF9leHRyYSA9IHNlbGYuaW5kZW50X3NpemUKKysKKysgICAgICAgIGluZGVudCA9IG1ha2VfaW5k ZW50YXRpb24oc2VsZi5pbmRlbnRfc2l6ZSArIGluZGVudF9leHRyYSkKKysgICAgICAgIHNlbGYu d3JpdGVfZW50aXR5KGJhY2tncm91bmQsIGluZGVudCwgaGFzX3RhZ3M9RmFsc2UpCisrICAgICAg ICAjIHRleHQgPSB1IiVzJXM6ICVzXG4iICUgKGluZGVudCwgYmFja2dyb3VuZC5rZXl3b3JkLCBi YWNrZ3JvdW5kLm5hbWUpCisrICAgICAgICAjIHNlbGYuc3RyZWFtLndyaXRlKHRleHQpCisgCisg ICAgIGRlZiBzY2VuYXJpbyhzZWxmLCBzY2VuYXJpbyk6CisrICAgICAgICBpbmRlbnRfZXh0cmEg PSAwCisrICAgICAgICBpZiBzZWxmLmN1cnJlbnRfcnVsZToKKysgICAgICAgICAgICBpbmRlbnRf ZXh0cmEgPSBzZWxmLmluZGVudF9zaXplCisrCisgICAgICAgICBzZWxmLnJlc2V0X3N0ZXBzKCkK KyAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUiXG4iKQorLSAgICAgICAgaW5kZW50ID0gbWFr ZV9pbmRlbnRhdGlvbihzZWxmLmluZGVudF9zaXplKQorLSAgICAgICAgdGV4dCA9IHUiJXMlczog JXNcbiIgJSAoaW5kZW50LCBzY2VuYXJpby5rZXl3b3JkLCBzY2VuYXJpby5uYW1lKQorLSAgICAg ICAgc2VsZi53cml0ZV90YWdzKHNjZW5hcmlvLnRhZ3MsIGluZGVudCkKKy0gICAgICAgIHNlbGYu c3RyZWFtLndyaXRlKHRleHQpCisrICAgICAgICBpbmRlbnQgPSBtYWtlX2luZGVudGF0aW9uKHNl bGYuaW5kZW50X3NpemUgKyBpbmRlbnRfZXh0cmEpCisrICAgICAgICBzZWxmLndyaXRlX2VudGl0 eShzY2VuYXJpbywgaW5kZW50KQorKyAgICAgICAgIyB0ZXh0ID0gdSIlcyVzOiAlc1xuIiAlIChp bmRlbnQsIHNjZW5hcmlvLmtleXdvcmQsIHNjZW5hcmlvLm5hbWUpCisrICAgICAgICAjIHNlbGYu d3JpdGVfdGFncyhzY2VuYXJpby50YWdzLCBpbmRlbnQpCisrICAgICAgICAjIHNlbGYuc3RyZWFt LndyaXRlKHRleHQpCisgCisgICAgIGRlZiBzdGVwKHNlbGYsIHN0ZXApOgorICAgICAgICAgc2Vs Zi5zdGVwcy5hcHBlbmQoc3RlcCkKKyAKKyAgICAgZGVmIHJlc3VsdChzZWxmLCBzdGVwKToKKy0g ICAgICAgICIiIgorLSAgICAgICAgUHJvY2VzcyB0aGUgcmVzdWx0IG9mIGEgc3RlcCAoYWZ0ZXIg c3RlcCBleGVjdXRpb24pLgorKyAgICAgICAgIiIiUHJvY2VzcyB0aGUgcmVzdWx0IG9mIGEgc3Rl cCAoYWZ0ZXIgc3RlcCBleGVjdXRpb24pLgorIAorICAgICAgICAgOnBhcmFtIHN0ZXA6ICAgU3Rl cCBvYmplY3Qgd2l0aCByZXN1bHQgdG8gcHJvY2Vzcy4KKyAgICAgICAgICIiIgorKyAgICAgICAg aW5kZW50X2V4dHJhID0gMAorKyAgICAgICAgaWYgc2VsZi5jdXJyZW50X3J1bGU6CisrICAgICAg ICAgICAgaW5kZW50X2V4dHJhID0gc2VsZi5pbmRlbnRfc2l6ZQorKworICAgICAgICAgc3RlcCA9 IHNlbGYuc3RlcHMucG9wKDApCistICAgICAgICBpbmRlbnQgPSBtYWtlX2luZGVudGF0aW9uKDIg KiBzZWxmLmluZGVudF9zaXplKQorKyAgICAgICAgaW5kZW50ID0gbWFrZV9pbmRlbnRhdGlvbigy ICogc2VsZi5pbmRlbnRfc2l6ZSArIGluZGVudF9leHRyYSkKKyAgICAgICAgIGlmIHNlbGYuc2hv d19hbGlnbmVkX2tleXdvcmRzOgorICAgICAgICAgICAgICMgLS0gUklHSFQtQUxJR04gS0VZV09S RFMgKG1heC4ga2V5d29yZCB3aWR0aDogNik6CisgICAgICAgICAgICAgdGV4dCA9IHUiJXMlNnMg JXMgLi4uICIgJSAoaW5kZW50LCBzdGVwLmtleXdvcmQsIHN0ZXAubmFtZSkKK2RpZmYgLS1naXQg YS9iZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5weSBiL2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5 CitpbmRleCBiNmYwZWFjLi43OTRlMWQ3IDEwMDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9w cmV0dHkucHkKKysrKyBiL2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5CitAQCAtNiw3ICs2LDcg QEAgZnJvbSBiZWhhdmUuZm9ybWF0dGVyLmFuc2lfZXNjYXBlcyBpbXBvcnQgZXNjYXBlcywgdXAK KyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYmFzZSBpbXBvcnQgRm9ybWF0dGVyCisgZnJvbSBiZWhh dmUubW9kZWxfY29yZSBpbXBvcnQgU3RhdHVzCisgZnJvbSBiZWhhdmUubW9kZWxfZGVzY3JpYmUg aW1wb3J0IGVzY2FwZV9jZWxsLCBlc2NhcGVfdHJpcGxlX3F1b3RlcworLWZyb20gYmVoYXZlLnRl eHR1dGlsIGltcG9ydCBpbmRlbnQsIHRleHQgYXMgX3RleHQKKytmcm9tIGJlaGF2ZS50ZXh0dXRp bCBpbXBvcnQgaW5kZW50LCBtYWtlX2luZGVudGF0aW9uLCB0ZXh0IGFzIF90ZXh0CisgaW1wb3J0 IHNpeAorIGZyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZSwgemlwCisgCitAQCAtODYsNiArODYs NyBAQCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAKKyAgICAgZGVmIHJlc2V0 KHNlbGYpOgorICAgICAgICAgIyAtLSBVTlVTRUQ6IHNlbGYudGFnX3N0YXRlbWVudCA9IE5vbmUK KysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gTm9uZQorICAgICAgICAgc2VsZi5zdGVwcyA9 IFtdCisgICAgICAgICBzZWxmLl91cmkgPSBOb25lCisgICAgICAgICBzZWxmLl9tYXRjaCA9IE5v bmUKK0BAIC05OSw3ICsxMDAsOSBAQCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVyKToK KyAKKyAgICAgZGVmIGZlYXR1cmUoc2VsZiwgZmVhdHVyZSk6CisgICAgICAgICAjc2VsZi5wcmlu dF9jb21tZW50cyhmZWF0dXJlLmNvbW1lbnRzLCAnJykKKy0gICAgICAgIHNlbGYucHJpbnRfdGFn cyhmZWF0dXJlLnRhZ3MsICcnKQorKyAgICAgICAgc2VsZi5jdXJyZW50X3J1bGUgPSBOb25lCisr ICAgICAgICBwcmVmaXggPSAiIgorKyAgICAgICAgc2VsZi5wcmludF90YWdzKGZlYXR1cmUudGFn cywgcHJlZml4KQorICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSIlczogJXMiICUgKGZlYXR1 cmUua2V5d29yZCwgZmVhdHVyZS5uYW1lKSkKKyAgICAgICAgIGlmIHNlbGYuc2hvd19zb3VyY2U6 CisgICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVkLWJ1aWx0aW4KK0BAIC0x MDksNiArMTEyLDExIEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAg ICAgc2VsZi5wcmludF9kZXNjcmlwdGlvbihmZWF0dXJlLmRlc2NyaXB0aW9uLCAiICAiLCBGYWxz ZSkKKyAgICAgICAgIHNlbGYuc3RyZWFtLmZsdXNoKCkKKyAKKysgICAgZGVmIHJ1bGUoc2VsZiwg cnVsZSk6CisrICAgICAgICBzZWxmLnJlcGxheSgpCisrICAgICAgICBzZWxmLmN1cnJlbnRfcnVs ZSA9IHJ1bGUKKysgICAgICAgIHNlbGYuc3RhdGVtZW50ID0gcnVsZQorKworICAgICBkZWYgYmFj a2dyb3VuZChzZWxmLCBiYWNrZ3JvdW5kKToKKyAgICAgICAgIHNlbGYucmVwbGF5KCkKKyAgICAg ICAgIHNlbGYuc3RhdGVtZW50ID0gYmFja2dyb3VuZAorQEAgLTE3Niw2ICsxODQsMTAgQEAgY2xh c3MgUHJldHR5Rm9ybWF0dGVyKEZvcm1hdHRlcik6CisgICAgICAgICBzZWxmLnN0cmVhbS5mbHVz aCgpCisgCisgICAgIGRlZiB0YWJsZShzZWxmLCB0YWJsZSk6CisrICAgICAgICBwcmVmaXggPSB1 IiAgICAgICIKKysgICAgICAgIGlmIHNlbGYuY3VycmVudF9ydWxlOgorKyAgICAgICAgICAgIHBy ZWZpeCArPSB1IiAgIgorKworICAgICAgICAgY2VsbF9sZW5ndGhzID0gW10KKyAgICAgICAgIGFs bF9yb3dzID0gW3RhYmxlLmhlYWRpbmdzXSArIHRhYmxlLnJvd3MKKyAgICAgICAgIGZvciByb3cg aW4gYWxsX3Jvd3M6CitAQCAtMTg5LDcgKzIwMSw3IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihG b3JtYXR0ZXIpOgorICAgICAgICAgZm9yIGksIHJvdyBpbiBlbnVtZXJhdGUoYWxsX3Jvd3MpOgor ICAgICAgICAgICAgICNmb3IgY29tbWVudCBpbiByb3cuY29tbWVudHM6CisgICAgICAgICAgICAg IyAgICBzZWxmLnN0cmVhbS53cml0ZSgiICAgICAgJXNcbiIgJSBjb21tZW50LnZhbHVlKQorLSAg ICAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKCIgICAgICB8IikKKysgICAgICAgICAgICBzZWxm LnN0cmVhbS53cml0ZSh1IiVzfCIgJSBwcmVmaXgpCisgICAgICAgICAgICAgZm9yIGosIChjZWxs LCBtYXhfbGVuZ3RoKSBpbiBlbnVtZXJhdGUoemlwKHJvdywgbWF4X2xlbmd0aHMpKToKKyAgICAg ICAgICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUoIiAiKQorICAgICAgICAgICAgICAgICBzZWxm LnN0cmVhbS53cml0ZShzZWxmLmNvbG9yKGNlbGwsIE5vbmUsIGopKQorQEAgLTIwMiw2ICsyMTQs OCBAQCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAgICAgICAgICNzZWxmLnN0 cmVhbS53cml0ZSgnICAgICAgIiIiJyArIGRvY19zdHJpbmcuY29udGVudF90eXBlICsgJ1xuJykK KyAgICAgICAgIGRvY19zdHJpbmcgPSBfdGV4dChkb2Nfc3RyaW5nKQorICAgICAgICAgcHJlZml4 ID0gdSIgICAgICAiCisrICAgICAgICBpZiBzZWxmLmN1cnJlbnRfcnVsZToKKysgICAgICAgICAg ICBwcmVmaXggKz0gdSIgICIKKyAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUnJXMiIiJcbicg JSBwcmVmaXgpCisgICAgICAgICBkb2Nfc3RyaW5nID0gZXNjYXBlX3RyaXBsZV9xdW90ZXMoaW5k ZW50KGRvY19zdHJpbmcsIHByZWZpeCkpCisgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZShkb2Nf c3RyaW5nKQorQEAgLTI1MSwxMiArMjY1LDE2IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3Jt YXR0ZXIpOgorICAgICAgICAgaWYgc2VsZi5zdGF0ZW1lbnQgaXMgTm9uZToKKyAgICAgICAgICAg ICByZXR1cm4KKyAKKysgICAgICAgIHByZWZpeCA9IHUiICAiCisrICAgICAgICBpZiBzZWxmLmN1 cnJlbnRfcnVsZSBhbmQgc2VsZi5zdGF0ZW1lbnQudHlwZSAhPSAicnVsZSI6CisrICAgICAgICAg ICAgcHJlZml4ICs9IHByZWZpeAorKworICAgICAgICAgc2VsZi5jYWxjdWxhdGVfbG9jYXRpb25f aW5kZW50YXRpb25zKCkKKyAgICAgICAgIHNlbGYuc3RyZWFtLndyaXRlKHUiXG4iKQorICAgICAg ICAgI3NlbGYucHJpbnRfY29tbWVudHMoc2VsZi5zdGF0ZW1lbnQuY29tbWVudHMsICIgICIpCisg ICAgICAgICBpZiBoYXNhdHRyKHNlbGYuc3RhdGVtZW50LCAidGFncyIpOgorLSAgICAgICAgICAg IHNlbGYucHJpbnRfdGFncyhzZWxmLnN0YXRlbWVudC50YWdzLCB1IiAgIikKKy0gICAgICAgIHNl bGYuc3RyZWFtLndyaXRlKHUiICAlczogJXMgIiAlIChzZWxmLnN0YXRlbWVudC5rZXl3b3JkLAor KyAgICAgICAgICAgIHNlbGYucHJpbnRfdGFncyhzZWxmLnN0YXRlbWVudC50YWdzLCBwcmVmaXgp CisrICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSh1IiVzJXM6ICVzICIgJSAocHJlZml4LCBzZWxm LnN0YXRlbWVudC5rZXl3b3JkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuc3RhdGVtZW50Lm5hbWUpKQorIAorICAgICAgICAgbG9jYXRpb24gPSBzZWxm LmluZGVudGVkX3RleHQoc2l4LnRleHRfdHlwZShzZWxmLnN0YXRlbWVudC5sb2NhdGlvbiksIFRy dWUpCitAQCAtMjc5LDggKzI5NywxMSBAQCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVy KToKKyAgICAgICAgIHRleHRfZm9ybWF0ID0gc2VsZi5mb3JtYXQoc3RhdHVzLm5hbWUpCisgICAg ICAgICBhcmdfZm9ybWF0ID0gc2VsZi5hcmdfZm9ybWF0KHN0YXR1cy5uYW1lKQorIAorKyAgICAg ICAgcHJlZml4ID0gdSIgICAgIgorKyAgICAgICAgaWYgc2VsZi5jdXJyZW50X3J1bGU6CisrICAg ICAgICAgICAgcHJlZml4ICs9IHUiICAiCisgICAgICAgICAjc2VsZi5wcmludF9jb21tZW50cyhz dGVwLmNvbW1lbnRzLCAiICAgICIpCistICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSgiICAgICIp CisrICAgICAgICBzZWxmLnN0cmVhbS53cml0ZShwcmVmaXgpCisgICAgICAgICBzZWxmLnN0cmVh bS53cml0ZSh0ZXh0X2Zvcm1hdC50ZXh0KHN0ZXAua2V5d29yZCArICIgIikpCisgICAgICAgICBs aW5lX2xlbmd0aCA9IDUgKyBsZW4oc3RlcC5rZXl3b3JkKQorIAorZGlmZiAtLWdpdCBhL2JlaGF2 ZS9mb3JtYXR0ZXIvcHJvZ3Jlc3MucHkgYi9iZWhhdmUvZm9ybWF0dGVyL3Byb2dyZXNzLnB5Citp bmRleCA2ZDhhZGY2Li4zYjQ3MWVkIDEwMDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9wcm9n cmVzcy5weQorKysrIGIvYmVoYXZlL2Zvcm1hdHRlci9wcm9ncmVzcy5weQorQEAgLTQzLDYgKzQz LDcgQEAgY2xhc3MgUHJvZ3Jlc3NGb3JtYXR0ZXJCYXNlKEZvcm1hdHRlcik6CisgICAgICAgICBz ZWxmLnN0ZXBzID0gW10KKyAgICAgICAgIHNlbGYuZmFpbHVyZXMgPSBbXQorICAgICAgICAgc2Vs Zi5jdXJyZW50X2ZlYXR1cmUgPSBOb25lCisrICAgICAgICBzZWxmLmN1cnJlbnRfcnVsZSA9IE5v bmUKKyAgICAgICAgIHNlbGYuY3VycmVudF9zY2VuYXJpbyA9IE5vbmUKKyAgICAgICAgIHNlbGYu c2hvd190aW1pbmdzID0gY29uZmlnLnNob3dfdGltaW5ncyBhbmQgc2VsZi5zaG93X3RpbWluZ3MK KyAKK0BAIC01MCwxNCArNTEsMTkgQEAgY2xhc3MgUHJvZ3Jlc3NGb3JtYXR0ZXJCYXNlKEZvcm1h dHRlcik6CisgICAgICAgICBzZWxmLnN0ZXBzID0gW10KKyAgICAgICAgIHNlbGYuZmFpbHVyZXMg PSBbXQorICAgICAgICAgc2VsZi5jdXJyZW50X2ZlYXR1cmUgPSBOb25lCisrICAgICAgICBzZWxm LmN1cnJlbnRfcnVsZSA9IE5vbmUKKyAgICAgICAgIHNlbGYuY3VycmVudF9zY2VuYXJpbyA9IE5v bmUKKyAKKyAgICAgIyAtLSBGT1JNQVRURVIgQVBJOgorICAgICBkZWYgZmVhdHVyZShzZWxmLCBm ZWF0dXJlKToKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gTm9uZQorICAgICAgICAgc2Vs Zi5jdXJyZW50X2ZlYXR1cmUgPSBmZWF0dXJlCisgICAgICAgICBzZWxmLnN0cmVhbS53cml0ZSgi JXMgICIgJSBzaXgudGV4dF90eXBlKGZlYXR1cmUuZmlsZW5hbWUpKQorICAgICAgICAgc2VsZi5z dHJlYW0uZmx1c2goKQorIAorKyAgICBkZWYgcnVsZShzZWxmLCBydWxlKToKKysgICAgICAgIHNl bGYuY3VycmVudF9ydWxlID0gcnVsZQorKworICAgICBkZWYgYmFja2dyb3VuZChzZWxmLCBiYWNr Z3JvdW5kKToKKyAgICAgICAgIHBhc3MKKyAKK0BAIC0yMTksOSArMjI1LDE2IEBAIGNsYXNzIFNj ZW5hcmlvU3RlcFByb2dyZXNzRm9ybWF0dGVyKFN0ZXBQcm9ncmVzc0Zvcm1hdHRlcik6CisgCisg ICAgICMgLS0gRk9STUFUVEVSIEFQSToKKyAgICAgZGVmIGZlYXR1cmUoc2VsZiwgZmVhdHVyZSk6 CisrICAgICAgICBzZWxmLmN1cnJlbnRfcnVsZSA9IE5vbmUKKyAgICAgICAgIHNlbGYuY3VycmVu dF9mZWF0dXJlID0gZmVhdHVyZQorICAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSIlcyAgICAj ICVzIiAlIChmZWF0dXJlLm5hbWUsIGZlYXR1cmUuZmlsZW5hbWUpKQorIAorKyAgICBkZWYgcnVs ZShzZWxmLCBydWxlKToKKysgICAgICAgIHNlbGYuY3VycmVudF9ydWxlID0gcnVsZQorKyAgICAg ICAgc2VsZi5zdHJlYW0ud3JpdGUodSJcblxuICAlczogJXMgICAgIyAlcyIgJQorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgKHJ1bGUua2V5d29yZCwgcnVsZS5uYW1lLCBydWxlLmxvY2F0aW9u KSkKKysgICAgICAgIHNlbGYuc3RyZWFtLmZsdXNoKCkKKysKKyAgICAgZGVmIHNjZW5hcmlvKHNl bGYsIHNjZW5hcmlvKToKKyAgICAgICAgICIiIlByb2Nlc3MgdGhlIG5leHQgc2NlbmFyaW8uIiIi CisgICAgICAgICAjIC0tIExBU1QgU0NFTkFSSU86IFJlcG9ydCBmYWlsdXJlcyAoaWYgYW55KS4K K0BAIC0yMzEsOSArMjQ0LDEyIEBAIGNsYXNzIFNjZW5hcmlvU3RlcFByb2dyZXNzRm9ybWF0dGVy KFN0ZXBQcm9ncmVzc0Zvcm1hdHRlcik6CisgICAgICAgICBhc3NlcnQgbm90IHNlbGYuZmFpbHVy ZXMKKyAgICAgICAgIHNlbGYuY3VycmVudF9zY2VuYXJpbyA9IHNjZW5hcmlvCisgICAgICAgICBz Y2VuYXJpb19uYW1lID0gc2NlbmFyaW8ubmFtZQorKyAgICAgICAgcHJlZml4ID0gc2VsZi5zY2Vu YXJpb19wcmVmaXgKKysgICAgICAgIGlmIHNlbGYuY3VycmVudF9ydWxlOgorKyAgICAgICAgICAg IHByZWZpeCArPSB1IiAgIgorICAgICAgICAgaWYgc2NlbmFyaW9fbmFtZToKKyAgICAgICAgICAg ICBzY2VuYXJpb19uYW1lICs9ICIgIgorLSAgICAgICAgc2VsZi5zdHJlYW0ud3JpdGUodSIlcyVz ICIgJSAoc2VsZi5zY2VuYXJpb19wcmVmaXgsIHNjZW5hcmlvX25hbWUpKQorKyAgICAgICAgc2Vs Zi5zdHJlYW0ud3JpdGUodSIlcyVzICIgJSAocHJlZml4LCBzY2VuYXJpb19uYW1lKSkKKyAgICAg ICAgIHNlbGYuc3RyZWFtLmZsdXNoKCkKKyAKKyAgICAgIyAtLSBESVNBQkxFRDoKK2RpZmYgLS1n aXQgYS9iZWhhdmUvbW9kZWwucHkgYi9iZWhhdmUvbW9kZWwucHkKK2luZGV4IDYyMzgzMTMuLjMw ODQ4NTAgMTAwNjQ0CistLS0gYS9iZWhhdmUvbW9kZWwucHkKKysrKyBiL2JlaGF2ZS9tb2RlbC5w eQorQEAgLTMxOCwxMCArMzE4LDEwIEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0 YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICBydW5uZXIuY29udGV4dC50YWdz ID0gc2V0KHNlbGYudGFncykKKyAKKyAgICAgICAgIHNraXBfZW50aXR5X3VudGVzdGVkID0gcnVu bmVyLmFib3J0ZWQKKy0gICAgICAgIHJ1bl9lbnRpdHkgPSBzZWxmLnNob3VsZF9ydW4ocnVubmVy LmNvbmZpZykKKysgICAgICAgIHNob3VsZF9ydW5fZW50aXR5ID0gc2VsZi5zaG91bGRfcnVuKHJ1 bm5lci5jb25maWcpCisgICAgICAgICBmYWlsZWRfY291bnQgPSAwCisgICAgICAgICBob29rc19j YWxsZWQgPSBGYWxzZQorLSAgICAgICAgaWYgbm90IHJ1bm5lci5jb25maWcuZHJ5X3J1biBhbmQg cnVuX2VudGl0eToKKysgICAgICAgIGlmIG5vdCBydW5uZXIuY29uZmlnLmRyeV9ydW4gYW5kIHNo b3VsZF9ydW5fZW50aXR5OgorICAgICAgICAgICAgIGhvb2tzX2NhbGxlZCA9IFRydWUKKyAgICAg ICAgICAgICBmb3IgdGFnIGluIHNlbGYudGFnczoKKyAgICAgICAgICAgICAgICAgcnVubmVyLnJ1 bl9ob29rKCJiZWZvcmVfdGFnIiwgcnVubmVyLmNvbnRleHQsIHRhZykKK0BAIC0zMzIsMTAgKzMz MiwxMCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJl cGxheWFibGUpOgorICAgICAgICAgICAgICMgLS0gUkUtRVZBTFVBVEUgU0hPVUxELVJVTiBTVEFU RToKKyAgICAgICAgICAgICAjIEhvb2sgbWF5IGNhbGwgZW50aXR5Lm1hcmtfc2tpcHBlZCgpIHRv IGV4Y2x1ZGUgaXQuCisgICAgICAgICAgICAgc2tpcF9lbnRpdHlfdW50ZXN0ZWQgPSBzZWxmLmhv b2tfZmFpbGVkIG9yIHJ1bm5lci5hYm9ydGVkCistICAgICAgICAgICAgcnVuX2VudGl0eSA9IHNl bGYuc2hvdWxkX3J1bigpCisrICAgICAgICAgICAgc2hvdWxkX3J1bl9lbnRpdHkgPSBzZWxmLnNo b3VsZF9ydW4oKQorIAorICAgICAgICAgIyBydW4gdGhpcyBlbnRpdHkgaWYgdGhlIHRhZ3Mgc2F5 IHNvIG9yIGFueSBvbmUgb2YgaXRzIHNjZW5hcmlvcworLSAgICAgICAgaWYgcnVuX2VudGl0eSBv ciBydW5uZXIuY29uZmlnLnNob3dfc2tpcHBlZDoKKysgICAgICAgIGlmIHNob3VsZF9ydW5fZW50 aXR5IG9yIHJ1bm5lci5jb25maWcuc2hvd19za2lwcGVkOgorICAgICAgICAgICAgIGZvciBmb3Jt YXR0ZXIgaW4gcnVubmVyLmZvcm1hdHRlcnM6CisgICAgICAgICAgICAgICAgIGZvcm1hdHRlcl9j YWxsYmFjayA9IGdldGF0dHIoZm9ybWF0dGVyLCBlbnRpdHlfbmFtZSwgTm9uZSkKKyAgICAgICAg ICAgICAgICAgaWYgZm9ybWF0dGVyX2NhbGxiYWNrOgorQEAgLTM2Myw3ICszNjMsNyBAQCBjbGFz cyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgor ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgCisgICAgICAgICBzZWxmLmNsZWFyX3N0 YXR1cygpICAjIC0tIEVORk9SQ0U6IGNvbXB1dGVfc3RhdHVzKCkgYWZ0ZXIgcnVuLgorLSAgICAg ICAgaWYgbm90IHNlbGYucnVuX2l0ZW1zIGFuZCBub3QgcnVuX2VudGl0eToKKysgICAgICAgIGlm IG5vdCBzZWxmLnJ1bl9pdGVtcyBhbmQgbm90IHNob3VsZF9ydW5fZW50aXR5OgorICAgICAgICAg ICAgICMgLS0gU1BFQ0lBTCBDQVNFOiBGZWF0dXJlIHdpdGhvdXQgc2NlbmFyaW9zCisgICAgICAg ICAgICAgc2VsZi5zZXRfc3RhdHVzKFN0YXR1cy5za2lwcGVkKQorIAorQEAgLTM4Miw3ICszODIs NyBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxh eWFibGUpOgorICAgICAgICAgICAgICMgLS0gQ0xFQU5VUC1FUlJPUjoKKyAgICAgICAgICAgICBz ZWxmLnNldF9zdGF0dXMoU3RhdHVzLmZhaWxlZCkKKyAKKy0gICAgICAgIGlmIHJ1bl9lbnRpdHkg b3IgcnVubmVyLmNvbmZpZy5zaG93X3NraXBwZWQ6CisrICAgICAgICBpZiBzaG91bGRfcnVuX2Vu dGl0eSBvciBydW5uZXIuY29uZmlnLnNob3dfc2tpcHBlZDoKKyAgICAgICAgICAgICBjYWxsYmFj a19uYW1lID0gInswfV9maW5pc2hlZCIuZm9ybWF0KGVudGl0eV9uYW1lKQorICAgICAgICAgICAg IGlmIGVudGl0eV9uYW1lID09ICJmZWF0dXJlIjoKKyAgICAgICAgICAgICAgICAgY2FsbGJhY2tf bmFtZSA9ICJlb2YiCitAQCAtNjA4LDcgKzYwOCw2IEBAIGNsYXNzIFJ1bGUoU2NlbmFyaW9Db250 YWluZXIpOgorICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxLjIuNworICAgICAuLiBfYGZlYXR1cmVg OiBnaGVya2luLmh0bWwjcnVsZQorICAgICAiIiIKKy0KKyAgICAgdHlwZSA9ICJydWxlIgorIAor ICAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGxpbmUsIGtleXdvcmQsIG5hbWUsIHRh Z3M9Tm9uZSwKK0BAIC02MjUsNyArNjI0LDYgQEAgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRhaW5l cik6CisgICAgICAgICAgICAgKHNlbGYubmFtZSwgbGVuKHNlbGYuc2NlbmFyaW9zKSkKKyAKKyAK Ky0KKyBjbGFzcyBCYWNrZ3JvdW5kKEJhc2ljU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAg IiIiQSBgYmFja2dyb3VuZGBfIHBhcnNlZCBmcm9tIGEgKmZlYXR1cmUgZmlsZSouCisgCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDA3LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYxLXdhcy0xLjIuNy5kZXYwLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwNy1CVU1Q LVZFUlNJT04tMS4yLjcuZGV2MS13YXMtMS4yLjcuZGV2MC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLmI4ZTgwNDI2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDctQlVNUC1W RVJTSU9OLTEuMi43LmRldjEtd2FzLTEuMi43LmRldjAucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAor RnJvbSAxOWE0MTM0NTk2MjE3NTQwODMyZWQzOTRkNzkwZDdiNTA5ZWM4NjVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBXZWQsIDEzIE1hciAyMDE5IDIzOjExOjUwICswMTAwCitTdWJqZWN0OiBb UEFUQ0hdIEJVTVAtVkVSU0lPTjogMS4yLjcuZGV2MSAod2FzOiAxLjIuNy5kZXYwKQorCistLS0K KyAuYnVtcHZlcnNpb24uY2ZnICAgfCAyICstCisgVkVSU0lPTi50eHQgICAgICAgIHwgMiArLQor IGJlaGF2ZS9fX2luaXRfXy5weSB8IDIgKy0KKyBweXRlc3QuaW5pICAgICAgICAgfCAyICstCisg c2V0dXAucHkgICAgICAgICAgIHwgMiArLQorIDUgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25z KCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvLmJ1bXB2ZXJzaW9uLmNmZyBiLy5i dW1wdmVyc2lvbi5jZmcKK2luZGV4IGYzODdkNDMuLmFjOTEzYzIgMTAwNjQ0CistLS0gYS8uYnVt cHZlcnNpb24uY2ZnCisrKysgYi8uYnVtcHZlcnNpb24uY2ZnCitAQCAtMSw1ICsxLDUgQEAKKyBb YnVtcHZlcnNpb25dCistY3VycmVudF92ZXJzaW9uID0gMS4yLjcuZGV2MAorK2N1cnJlbnRfdmVy c2lvbiA9IDEuMi43LmRldjEKKyBmaWxlcyA9IGJlaGF2ZS9fX2luaXRfXy5weSBzZXR1cC5weSBW RVJTSU9OLnR4dCBweXRlc3QuaW5pIC5idW1wdmVyc2lvbi5jZmcKKyBwYXJzZSA9ICg/UDxtYWpv cj5cZCspXC4oP1A8bWlub3I+XGQrKVwuKD9QPHBhdGNoPlxkKykoP1A8ZHJvcD5cdyopCisgc2Vy aWFsaXplID0ge21ham9yfS57bWlub3J9LntwYXRjaH17ZHJvcH0KK2RpZmYgLS1naXQgYS9WRVJT SU9OLnR4dCBiL1ZFUlNJT04udHh0CitpbmRleCA0ZTYzZWVmLi5jMGVmMzZiIDEwMDY0NAorLS0t IGEvVkVSU0lPTi50eHQKKysrKyBiL1ZFUlNJT04udHh0CitAQCAtMSArMSBAQAorLTEuMi43LmRl djAKKysxLjIuNy5kZXYxCitkaWZmIC0tZ2l0IGEvYmVoYXZlL19faW5pdF9fLnB5IGIvYmVoYXZl L19faW5pdF9fLnB5CitpbmRleCA4ODg4MzU1Li4zMWU0ZTU1IDEwMDY0NAorLS0tIGEvYmVoYXZl L19faW5pdF9fLnB5CisrKysgYi9iZWhhdmUvX19pbml0X18ucHkKK0BAIC0yOSw0ICsyOSw0IEBA IF9fYWxsX18gPSBbCisgICAgICMgLS0gREVQUkVDQVRJTkc6CisgICAgICJzdGVwX21hdGNoZXIi CisgXQorLV9fdmVyc2lvbl9fID0gIjEuMi43LmRldjAiCisrX192ZXJzaW9uX18gPSAiMS4yLjcu ZGV2MSIKK2RpZmYgLS1naXQgYS9weXRlc3QuaW5pIGIvcHl0ZXN0LmluaQoraW5kZXggNzBlMTBj ZC4uMTdhZDM4OCAxMDA2NDQKKy0tLSBhL3B5dGVzdC5pbmkKKysrKyBiL3B5dGVzdC5pbmkKK0BA IC0yMCw3ICsyMCw3IEBAIG1pbnZlcnNpb24gICAgPSAyLjgKKyB0ZXN0cGF0aHMgICAgID0gdGVz dCB0ZXN0cworIHB5dGhvbl9maWxlcyAgPSB0ZXN0XyoucHkKKyBhZGRvcHRzID0gLS1tZXRhZGF0 YSBQQUNLQUdFX1VOREVSX1RFU1QgYmVoYXZlCistICAgIC0tbWV0YWRhdGEgUEFDS0FHRV9WRVJT SU9OIDEuMi43LmRldjAKKysgICAgLS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJT04gMS4yLjcuZGV2 MQorICAgICAtLWh0bWw9YnVpbGQvdGVzdGluZy9yZXBvcnQuaHRtbCAtLXNlbGYtY29udGFpbmVk LWh0bWwKKyAgICAgLS1qdW5pdC14bWw9YnVpbGQvdGVzdGluZy9yZXBvcnQueG1sCisgbWFya2Vy cyA9CitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggY2IzYjMzOC4uYzVh ZjI2MiAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTU1LDcgKzU1 LDcgQEAgZGVmIGZpbmRfcGFja2FnZXNfYnlfcm9vdF9wYWNrYWdlKHdoZXJlKToKKyAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgc2V0dXAoCisgICAgIG5hbWU9ImJlaGF2ZSIsCistICAgIHZlcnNp b249IjEuMi43LmRldjAiLAorKyAgICB2ZXJzaW9uPSIxLjIuNy5kZXYxIiwKKyAgICAgZGVzY3Jp cHRpb249ImJlaGF2ZSBpcyBiZWhhdmlvdXItZHJpdmVuIGRldmVsb3BtZW50LCBQeXRob24gc3R5 bGUiLAorICAgICBsb25nX2Rlc2NyaXB0aW9uPWRlc2NyaXB0aW9uLAorICAgICBhdXRob3I9Ikpl bnMgRW5nZWwsIEJlbm5vIFJpY2UgYW5kIFJpY2hhcmQgSm9uZXMiLApkaWZmIC0tZ2l0IGEvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwOC1Db3Jy ZWN0LWV4YW1wbGVzLWFuZC1kb2NzdHJpbmcucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA4LUNvcnJlY3QtZXhhbXBsZXMtYW5kLWRv Y3N0cmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjlhYjZj ZWUxNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDgtQ29ycmVjdC1leGFtcGxlcy1hbmQtZG9jc3RyaW5nLnBh dGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gMjlkM2VmNGQzZmY4YzgzNmJjNTkyYjkyNjg3YTI4 YmY4NzNkMGUwYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVGh1LCAxNCBNYXIgMjAxOSAyMjox NDo1NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBDb3JyZWN0IGV4YW1wbGVzIGFuZCBkb2NzdHJp bmcKKworLS0tCisgYmVoYXZlL2NvbnRyaWIvc2NlbmFyaW9fYXV0b3JldHJ5LnB5IHwgMiArLQor IGJlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5weSAgICAgICAgICAgICB8IDMgKystCisgMiBmaWxlcyBj aGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9i ZWhhdmUvY29udHJpYi9zY2VuYXJpb19hdXRvcmV0cnkucHkgYi9iZWhhdmUvY29udHJpYi9zY2Vu YXJpb19hdXRvcmV0cnkucHkKK2luZGV4IDJiN2Y5NGYuLjI1OTJkMTAgMTAwNjQ0CistLS0gYS9i ZWhhdmUvY29udHJpYi9zY2VuYXJpb19hdXRvcmV0cnkucHkKKysrKyBiL2JlaGF2ZS9jb250cmli L3NjZW5hcmlvX2F1dG9yZXRyeS5weQorQEAgLTI0LDcgKzI0LDcgQEAgRVhBTVBMRToKKyAgICAg ZnJvbSBiZWhhdmUuY29udHJpYi5zY2VuYXJpb19hdXRvcmV0cnkgaW1wb3J0IHBhdGNoX3NjZW5h cmlvX3dpdGhfYXV0b3JldHJ5CisgCisgICAgIGRlZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBm ZWF0dXJlKToKKy0gICAgICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0dXJlLnNjZW5hcmlvczoKKysg ICAgICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0dXJlLndhbGtfc2NlbmFyaW9zKCk6CisgICAgICAg ICAgICAgaWYgImF1dG9yZXRyeSIgaW4gc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3M6CisgICAgICAg ICAgICAgICAgIHBhdGNoX3NjZW5hcmlvX3dpdGhfYXV0b3JldHJ5KHNjZW5hcmlvLCBtYXhfYXR0 ZW1wdHM9MikKKyAKK2RpZmYgLS1naXQgYS9iZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkgYi9iZWhh dmUvZm9ybWF0dGVyL2Jhc2UucHkKK2luZGV4IGE4YjlmN2MuLjdmNTlhZDQgMTAwNjQ0CistLS0g YS9iZWhhdmUvZm9ybWF0dGVyL2Jhc2UucHkKKysrKyBiL2JlaGF2ZS9mb3JtYXR0ZXIvYmFzZS5w eQorQEAgLTc0LDExICs3NCwxMiBAQCBjbGFzcyBGb3JtYXR0ZXIob2JqZWN0KToKKyAKKyAgICAg UHJvY2Vzc2luZyBMb2dpYyAoc2ltcGxpZmllZCwgd2l0aG91dCBTY2VuYXJpb091dGxpbmUgYW5k IHNraXAgbG9naWMpOjoKKyAKKysgICAgICAgICMgLS0gSElOVDogUnVsZSBwcm9jZXNzaW5nIGlz IG1pc3NpbmcuCisgICAgICAgICBmb3IgZmVhdHVyZSBpbiBydW5uZXIuZmVhdHVyZXM6CisgICAg ICAgICAgICAgZm9ybWF0dGVyID0gbWFrZV9mb3JtYXR0ZXJzKC4uLikKKyAgICAgICAgICAgICBm b3JtYXR0ZXIudXJpKGZlYXR1cmUuZmlsZW5hbWUpCisgICAgICAgICAgICAgZm9ybWF0dGVyLmZl YXR1cmUoZmVhdHVyZSkKKy0gICAgICAgICAgICBmb3Igc2NlbmFyaW8gaW4gZmVhdHVyZS5zY2Vu YXJpb3M6CisrICAgICAgICAgICAgZm9yIHNjZW5hcmlvIGluIGZlYXR1cmUud2Fsa19zY2VuYXJp b3MoKToKKyAgICAgICAgICAgICAgICAgZm9ybWF0dGVyLnNjZW5hcmlvKHNjZW5hcmlvKQorICAg ICAgICAgICAgICAgICBmb3Igc3RlcCBpbiBzY2VuYXJpby5hbGxfc3RlcHM6CisgICAgICAgICAg ICAgICAgICAgICBmb3JtYXR0ZXIuc3RlcChzdGVwKQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAwOS1GSVgtZmVhdHVyZS5y dW5faXRlbXMtcHJvY2Vzc2luZy13aXRoLVJ1bGUtcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMDktRklYLWZlYXR1cmUucnVuX2l0 ZW1zLXByb2Nlc3Npbmctd2l0aC1SdWxlLXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi4wYzcwY2M1NjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDA5LUZJWC1mZWF0dXJlLnJ1 bl9pdGVtcy1wcm9jZXNzaW5nLXdpdGgtUnVsZS1zLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zy b20gZGVlNTI2NjgyMGFhYmNmZTA5ZDEwM2NmMDA3YmIyNmI5ZGI1NDg0OSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIu Y29tPgorRGF0ZTogVGh1LCAxNCBNYXIgMjAxOSAyMjoxNTozNCArMDEwMAorU3ViamVjdDogW1BB VENIXSBGSVg6IGZlYXR1cmUucnVuX2l0ZW1zIHByb2Nlc3Npbmcgd2l0aCBSdWxlKHMpLgorCist LS0KKyBiZWhhdmUvcmVwb3J0ZXIvanVuaXQucHkgfCAyNCArKysrKysrKysrKysrKysrLS0tLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2JlaGF2ZS9yZXBvcnRlci9qdW5pdC5weSBiL2JlaGF2ZS9yZXBvcnRlci9q dW5pdC5weQoraW5kZXggNDhlMTQxMS4uOTAxODM5OSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9yZXBv cnRlci9qdW5pdC5weQorKysrIGIvYmVoYXZlL3JlcG9ydGVyL2p1bml0LnB5CitAQCAtNzUsNyAr NzUsNyBAQCBpbXBvcnQgY29kZWNzCisgZnJvbSB4bWwuZXRyZWUgaW1wb3J0IEVsZW1lbnRUcmVl CisgZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKyBmcm9tIGJlaGF2ZS5yZXBvcnRlci5i YXNlIGltcG9ydCBSZXBvcnRlcgorLWZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBTY2VuYXJpbywg U2NlbmFyaW9PdXRsaW5lLCBTdGVwCisrZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFJ1bGUsIFNj ZW5hcmlvLCBTY2VuYXJpb091dGxpbmUsIFN0ZXAKKyBmcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGlt cG9ydCBTdGF0dXMKKyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIgaW1wb3J0IGFuc2lfZXNjYXBlcwor IGZyb20gYmVoYXZlLm1vZGVsX2Rlc2NyaWJlIGltcG9ydCBNb2RlbERlc2NyaXB0b3IKK0BAIC0y MzYsMTMgKzIzNiw4IEBAIGNsYXNzIEpVbml0UmVwb3J0ZXIoUmVwb3J0ZXIpOgorICAgICAgICAg ZmVhdHVyZV9uYW1lID0gZmVhdHVyZS5uYW1lIG9yIGZlYXR1cmVfZmlsZW5hbWUKKyAgICAgICAg IHN1aXRlLnNldCh1J25hbWUnLCB1JyVzLiVzJyAlIChjbGFzc25hbWUsIGZlYXR1cmVfbmFtZSkp CisgCistICAgICAgICAjIC0tIEJVSUxELVRFU1RDQVNFUzogRnJvbSBzY2VuYXJpb3MKKy0gICAg ICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0dXJlOgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uo c2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZSk6CistICAgICAgICAgICAgICAgIHNjZW5hcmlvX291 dGxpbmUgPSBzY2VuYXJpbworLSAgICAgICAgICAgICAgICBzZWxmLl9wcm9jZXNzX3NjZW5hcmlv X291dGxpbmUoc2NlbmFyaW9fb3V0bGluZSwgcmVwb3J0KQorLSAgICAgICAgICAgIGVsc2U6Cist ICAgICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3Nfc2NlbmFyaW8oc2NlbmFyaW8sIHJlcG9ydCkK KysgICAgICAgICMgLS0gQlVJTEQtVEVTVENBU0VTOiBGcm9tIHJ1bl9pdGVtcyAoYW5kIHNjZW5h cmlvcykKKysgICAgICAgIHNlbGYuX3Byb2Nlc3NfcnVuX2l0ZW1zX2ZvcihmZWF0dXJlLCByZXBv cnQpCisgCisgICAgICAgICAjIC0tIEFERCBURVNUQ0FTRVMgdG8gdGVzdHN1aXRlOgorICAgICAg ICAgZm9yIHRlc3RjYXNlIGluIHJlcG9ydC50ZXN0Y2FzZXM6CitAQCAtNDU3LDYgKzQ1MiwxOSBA QCBjbGFzcyBKVW5pdFJlcG9ydGVyKFJlcG9ydGVyKToKKyAgICAgICAgIGlmIHNjZW5hcmlvLnN0 YXR1cyAhPSBTdGF0dXMuc2tpcHBlZCBvciBzZWxmLnNob3dfc2tpcHBlZDoKKyAgICAgICAgICAg ICByZXBvcnQudGVzdGNhc2VzLmFwcGVuZChjYXNlKQorIAorKyAgICBkZWYgX3Byb2Nlc3NfcnVu X2l0ZW1zX2ZvcihzZWxmLCBwYXJlbnQsIHJlcG9ydCk6CisrICAgICAgICBmb3IgcnVuX2l0ZW0g aW4gcGFyZW50LnJ1bl9pdGVtczoKKysgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHJ1bl9pdGVt LCBSdWxlKToKKysgICAgICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc19ydWxlKHJ1bl9pdGVtLCBy ZXBvcnQpCisrICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHJ1bl9pdGVtLCBTY2VuYXJpb091 dGxpbmUpOgorKyAgICAgICAgICAgICAgICBzZWxmLl9wcm9jZXNzX3NjZW5hcmlvX291dGxpbmUo cnVuX2l0ZW0sIHJlcG9ydCkKKysgICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICBh c3NlcnQgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW8pCisrICAgICAgICAgICAgICAgIHNl bGYuX3Byb2Nlc3Nfc2NlbmFyaW8ocnVuX2l0ZW0sIHJlcG9ydCkKKysKKysgICAgZGVmIF9wcm9j ZXNzX3J1bGUoc2VsZiwgcnVsZSwgcmVwb3J0KToKKysgICAgICAgIHNlbGYuX3Byb2Nlc3NfcnVu X2l0ZW1zX2ZvcihydWxlLCByZXBvcnQpCisrCisgICAgIGRlZiBfcHJvY2Vzc19zY2VuYXJpb19v dXRsaW5lKHNlbGYsIHNjZW5hcmlvX291dGxpbmUsIHJlcG9ydCk6CisgICAgICAgICBhc3NlcnQg aXNpbnN0YW5jZShzY2VuYXJpb19vdXRsaW5lLCBTY2VuYXJpb091dGxpbmUpCisgICAgICAgICBm b3Igc2NlbmFyaW8gaW4gc2NlbmFyaW9fb3V0bGluZToKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTAtZG9jcy1EaXNhYmxl LXNwaGlueC1pbnRsLXN1cHBvcnQtZm9yLVJFQURUSEVET0NTLnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMC1kb2NzLURpc2FibGUt c3BoaW54LWludGwtc3VwcG9ydC1mb3ItUkVBRFRIRURPQ1MucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi4xMjJiN2U5ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDEwLWRvY3Mt RGlzYWJsZS1zcGhpbngtaW50bC1zdXBwb3J0LWZvci1SRUFEVEhFRE9DUy5wYXRjaApAQCAtMCww ICsxLDU4IEBACitGcm9tIGI0YTQwYzRkZjU4NzJiMGM5YzcyOTNiM2E5ZmEwNTdlMjA4MzYxZDYg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMjYgTWF5IDIwMTkgMTQ6NDA6MzggKzAyMDAK K1N1YmplY3Q6IFtQQVRDSF0gZG9jczogRGlzYWJsZSBzcGhpbngtaW50bCBzdXBwb3J0IGZvciBS RUFEVEhFRE9DUy4KKworLS0tCisgZG9jcy9jb25mLnB5IHwgMTcgKysrKysrKysrKysrKy0tLS0K KyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2RvY3MvY29uZi5weSBiL2RvY3MvY29uZi5weQoraW5kZXggZDM4ZGI3YS4uZjlk ZmI2YSAxMDA2NDQKKy0tLSBhL2RvY3MvY29uZi5weQorKysrIGIvZG9jcy9jb25mLnB5CitAQCAt Myw2ICszLDcgQEAKKyAjIFNQSElOWCBDT05GSUdVUkFUSU9OOiBiZWhhdmUgZG9jdW1lbnRhdGlv biBidWlsZCBjb25maWd1cmF0aW9uIGZpbGUKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCisr ZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBvcy5wYXRoCisg aW1wb3J0IHN5cworIGltcG9ydCBpbXBvcnRsaWIKK0BAIC0xMyw2ICsxNCwxMyBAQCBpbXBvcnQg aW1wb3J0bGliCisgIyBkb2N1bWVudGF0aW9uIHJvb3QsIHVzZSBvcy5wYXRoLmFic3BhdGggdG8g bWFrZSBpdCBhYnNvbHV0ZSwgbGlrZSBzaG93biBoZXJlLgorIHN5cy5wYXRoLmluc2VydCgwLCBv cy5wYXRoLmFic3BhdGgoIi4uIikpCisgCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIERF VEVDVCBCVUlMRCBDT05URVhUCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytPTl9SRUFEVEhF RE9DUyA9IG9zLmVudmlyb24uZ2V0KCJSRUFEVEhFRE9DUyIsIE5vbmUpID09ICJUcnVlIgorK1VT RV9TUEhJTlhfSU5URVJOQVRJT05BTCA9IG5vdCBPTl9SRUFEVEhFRE9DUworKworKworICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgIyBFWFRFTlNJT05TIENPTkZJR1VSQVRJT04KKyAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorQEAgLTgyLDggKzkwLDEwIEBAIG1hc3Rlcl9kb2MgPSAiaW5kZXgi CisgIyAtLSBNVUxUSS1MQU5HVUFHRSBTVVBQT1JUOiBlbiwgLi4uCisgIyBTRUU6IGh0dHBzOi8v cHlwaS5vcmcvcHJvamVjdC9zcGhpbngtaW50bC8KKyAjIFNFRTogaHR0cHM6Ly9naXRodWIuY29t L3NwaGlueC1kb2Mvc3BoaW54LWludGwvCistbG9jYWxlX2RpcnMgPSBbImxvY2FsZS8iXSAgICMg cGF0aCBpcyBleGFtcGxlIGJ1dCByZWNvbW1lbmRlZC4KKy1nZXR0ZXh0X2NvbXBhY3QgPSBGYWxz ZSAgICAgIyBvcHRpb25hbC4KKytpZiBVU0VfU1BISU5YX0lOVEVSTkFUSU9OQUw6CisrICAgIGxv Y2FsZV9kaXJzID0gWyJsb2NhbGUvIl0gICAjIHBhdGggaXMgZXhhbXBsZSBidXQgcmVjb21tZW5k ZWQuCisrICAgIGdldHRleHRfY29tcGFjdCA9IEZhbHNlICAgICAjIG9wdGlvbmFsLgorKyAgICBw cmludCgiVVNFIFNQSElOWC1JTlRMOiBsb2NhbGVfZGlycz0lcyIgJSAiLCIuam9pbihsb2NhbGVf ZGlycykpCisgCisgIyBTVEVQUzoKKyAjICAgbWFrZSBnZXR0ZXh0CitAQCAtMTU1LDggKzE2NSw3 IEBAIHRvZG9faW5jbHVkZV90b2RvcyA9IEZhbHNlCisgaHRtbF90aGVtZSA9ICJrciIKKyBodG1s X3RoZW1lID0gImJvb3RzdHJhcCIKKyAKKy1vbl9ydGQgPSBvcy5lbnZpcm9uLmdldCgiUkVBRFRI RURPQ1MiLCBOb25lKSA9PSAiVHJ1ZSIKKy1pZiBvbl9ydGQ6CisraWYgT05fUkVBRFRIRURPQ1M6 CisgICAgIGh0bWxfdGhlbWUgPSAiZGVmYXVsdCIKKyAKKyBpZiBodG1sX3RoZW1lID09ICJib290 c3RyYXAiOgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAxMS1DbGVhbnVwLURlcGVuZGVudC1wYWNrYWdlLXZlcnNpb25zLWlu LXJlcXVpcmVtZW50cy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMTEtQ2xlYW51cC1EZXBlbmRlbnQtcGFja2FnZS12ZXJzaW9ucy1p bi1yZXF1aXJlbWVudHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li43MjY0MDJhOGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDExLUNsZWFudXAtRGVwZW5kZW50LXBhY2thZ2Ut dmVyc2lvbnMtaW4tcmVxdWlyZW1lbnRzLnBhdGNoCkBAIC0wLDAgKzEsODEgQEAKK0Zyb20gZmZi ZDk4NDBkMmMyZTI3M2EwY2UyZWE4ZmUyMGFmYWQwMzRiZGViMiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogVGh1LCAxOCBBcHIgMjAxOSAxOTowMjo0MyArMDIwMAorU3ViamVjdDogW1BBVENIXSBD bGVhbnVwOiBEZXBlbmRlbnQgcGFja2FnZSB2ZXJzaW9ucyBpbiByZXF1aXJlbWVudHMuCisKKy0t LQorIHB5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQgICB8IDIgKy0KKyBweS5yZXF1aXJlbWVudHMv ZGV2ZWxvcC50eHQgfCA0ICsrLS0KKyBweS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgfCAyICst Cisgc2V0dXAucHkgICAgICAgICAgICAgICAgICAgIHwgNiArKystLS0KKyA0IGZpbGVzIGNoYW5n ZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3B5LnJl cXVpcmVtZW50cy9iYXNpYy50eHQgYi9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CitpbmRleCA5 ZWViY2FkLi4zYjcxYmZiIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAor KysrIGIvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dAorQEAgLTExLDcgKzExLDcgQEAKKyBjdWN1 bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjEKKyBwYXJzZSA+PSAxLjguMgorIHBhcnNlX3R5 cGUgPj0gMC40LjIKKy1zaXggPj0gMS4xMS4wCisrc2l4ID49IDEuMTIuMAorIAorIHRyYWNlYmFj azI7ICBweXRob25fdmVyc2lvbiA8ICczLjAnCisgY29udGV4dGxpYjIgICAgICMgTUFZQkU6IHB5 dGhvbl92ZXJzaW9uIDwgJzMuNScKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvZGV2ZWxv cC50eHQgYi9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKK2luZGV4IGM1NWQzY2QuLjNkZWVk YzcgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKKysrKyBiL3B5LnJl cXVpcmVtZW50cy9kZXZlbG9wLnR4dAorQEAgLTUsOCArNSw4IEBACisgIyAtLSBCVUlMRC1UT09M OgorICMgUFJFUEFSRSBVU0FHRTogaW52b2tlCisgIyBBTFJFQURZOiBzaXggPj0gMS4xMS4wCist aW52b2tlID49IDAuMjEuMAorLXBhdGgucHkgPj0gMTAuMQorK2ludm9rZSA+PSAxLjIuMAorK3Bh dGgucHkgPj0gMTEuNS4wCisgcGF0aGxpYjsgICAgcHl0aG9uX3ZlcnNpb24gPD0gJzMuNCcKKyBw eWNtZAorIAorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCBiL3B5LnJl cXVpcmVtZW50cy90ZXN0aW5nLnR4dAoraW5kZXggNTg3NmUyOS4uMzgwNmQzOSAxMDA2NDQKKy0t LSBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL3Rl c3RpbmcudHh0CitAQCAtMTIsNCArMTIsNCBAQCBQeUhhbWNyZXN0ID49IDEuOQorIAorICMgLS0g TkVFREVEOiBCeSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQorICMgTk9URTogcGF0 aC5weS0xMC4xIGlzIHJlcXVpcmVkIGZvciBweXRob24yLjYKKy1wYXRoLnB5ID49IDEwLjEKKytw YXRoLnB5ID49IDExLjUuMAorZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4 IGM1YWYyNjIuLmFjN2JkZGYgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkK K0BAIC03OSw3ICs3OSw3IEBAIHNldHVwKAorICAgICAgICAgImN1Y3VtYmVyLXRhZy1leHByZXNz aW9ucyA+PSAxLjEuMSIsCisgICAgICAgICAicGFyc2UgPj0gMS44LjIiLAorICAgICAgICAgInBh cnNlX3R5cGUgPj0gMC40LjIiLAorLSAgICAgICAgInNpeCA+PSAxLjExLjAiLAorKyAgICAgICAg InNpeCA+PSAxLjEyLjAiLAorICAgICAgICAgInRyYWNlYmFjazI7IHB5dGhvbl92ZXJzaW9uIDwg JzMuMCciLAorICAgICAgICAgImVudW0zNDsgcHl0aG9uX3ZlcnNpb24gPCAnMy40JyIsCisgICAg ICAgICAjIC0tIFBSRVBBUkVEOgorQEAgLTkzLDcgKzkzLDcgQEAgc2V0dXAoCisgICAgICAgICAi bm9zZSA+PSAxLjMiLAorICAgICAgICAgIm1vY2sgPj0gMS4xIiwKKyAgICAgICAgICJQeUhhbWNy ZXN0ID49IDEuOCIsCistICAgICAgICAicGF0aC5weSA+PSAxMC4xIgorKyAgICAgICAgInBhdGgu cHkgPj0gMTEuNS4wIgorICAgICBdLAorICAgICBjbWRjbGFzcyA9IHsKKyAgICAgICAgICJiZWhh dmVfdGVzdCI6IGJlaGF2ZV90ZXN0LAorQEAgLTExMCw3ICsxMTAsNyBAQCBzZXR1cCgKKyAgICAg ICAgICAgICAicHl0ZXN0LWNvdiIsCisgICAgICAgICAgICAgInRveCIsCisgICAgICAgICAgICAg Imludm9rZSA+PSAxLjIuMCIsCistICAgICAgICAgICAgInBhdGgucHkgPj0gMTAuMSIsCisrICAg ICAgICAgICAgInBhdGgucHkgPj0gMTEuNS4wIiwKKyAgICAgICAgICAgICAicHljbWQiLAorICAg ICAgICAgICAgICJwYXRobGliOyBweXRob25fdmVyc2lvbiA8PSAnMy40JyIsCisgICAgICAgICAg ICAgIm1vZGVybml6ZSA+PSAwLjUiLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMi1kb2NzLWNvbmYucHktdHdlYWtzLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAxMi1kb2NzLWNvbmYucHktdHdlYWtzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMC4uMjJjNmM2YmI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxMi1kb2NzLWNvbmYucHktdHdl YWtzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gNDMwZDE5MTIzYjNhN2FkYzIxMDc1YjFi ZWZkYThiNTUwYjdlYjY0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMg PGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAyNiBNYXkgMjAx OSAxNDo1NToyMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBkb2NzOiBjb25mLnB5IHR3ZWFrcy4K KworLS0tCisgZG9jcy9jb25mLnB5IHwgMyArLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2NvbmYucHkgYi9kb2Nz L2NvbmYucHkKK2luZGV4IGY5ZGZiNmEuLmY3YzJjMjQgMTAwNjQ0CistLS0gYS9kb2NzL2NvbmYu cHkKKysrKyBiL2RvY3MvY29uZi5weQorQEAgLTE4LDcgKzE4LDcgQEAgc3lzLnBhdGguaW5zZXJ0 KDAsIG9zLnBhdGguYWJzcGF0aCgiLi4iKSkKKyAjIERFVEVDVCBCVUlMRCBDT05URVhUCisgIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBPTl9SRUFEVEhFRE9DUyA9IG9zLmVudmlyb24uZ2V0KCJS RUFEVEhFRE9DUyIsIE5vbmUpID09ICJUcnVlIgorLVVTRV9TUEhJTlhfSU5URVJOQVRJT05BTCA9 IG5vdCBPTl9SRUFEVEhFRE9DUworK1VTRV9TUEhJTlhfSU5URVJOQVRJT05BTCA9IFRydWUKKyAK KyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTE2NCw3ICsxNjQsNiBAQCB0b2RvX2lu Y2x1ZGVfdG9kb3MgPSBGYWxzZQorICMgYSBsaXN0IG9mIGJ1aWx0aW4gdGhlbWVzLgorIGh0bWxf dGhlbWUgPSAia3IiCisgaHRtbF90aGVtZSA9ICJib290c3RyYXAiCistCisgaWYgT05fUkVBRFRI RURPQ1M6CisgICAgIGh0bWxfdGhlbWUgPSAiZGVmYXVsdCIKKyAKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTMtRklYLU1p c3NwZWxsZWQtYWZ0ZXJfcnVsZS1ob29rLXdhcy1hZnRlcl9hZnRlci5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTMtRklYLU1pc3Nw ZWxsZWQtYWZ0ZXJfcnVsZS1ob29rLXdhcy1hZnRlcl9hZnRlci5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmFhNjdiZDJmNAotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTMtRklY LU1pc3NwZWxsZWQtYWZ0ZXJfcnVsZS1ob29rLXdhcy1hZnRlcl9hZnRlci5wYXRjaApAQCAtMCww ICsxLDMwIEBACitGcm9tIDVlYTFmMWI0N2MxNGNmOWFlYWJlN2Q4ZTIyNTExZDU0YjE1ZTVmMWUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgOCBKdW4gMjAxOSAyMDoxMToyMyArMDIwMAor U3ViamVjdDogW1BBVENIXSBGSVg6IE1pc3NwZWxsZWQgYWZ0ZXJfcnVsZSBob29rICh3YXM6IGFm dGVyX2FmdGVyKQorCistLS0KKyBkb2NzL2NvbnRleHRfYXR0cmlidXRlcy5yc3QgfCAzICsrLQor IDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAt LWdpdCBhL2RvY3MvY29udGV4dF9hdHRyaWJ1dGVzLnJzdCBiL2RvY3MvY29udGV4dF9hdHRyaWJ1 dGVzLnJzdAoraW5kZXggYTQ4MTdkMS4uMTYzNjY0YiAxMDA2NDQKKy0tLSBhL2RvY3MvY29udGV4 dF9hdHRyaWJ1dGVzLnJzdAorKysrIGIvZG9jcy9jb250ZXh0X2F0dHJpYnV0ZXMucnN0CitAQCAt MjMsNiArMjMsNyBAQCBjb25maWcgICAgICAgICAgdGVzdCBydW4gIDpjbGFzczpgfmJlaGF2ZS5j b25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb25gICBDb25maWd1cgorIGFib3J0ZWQgICAgICAgICB0 ZXN0IHJ1biAgYm9vbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNl dCB0byB0cnVlIGlmIHRlc3QgcnVuIGlzIGFib3J0ZWQgYnkgdGhlIHVzZXIuCisgZmFpbGVkICAg ICAgICAgIHRlc3QgcnVuICBib29sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2V0IHRvIHRydWUgaWYgYSBzdGVwIGZhaWxzLgorIGZlYXR1cmUgICAgICAgICBmZWF0 dXJlICAgOmNsYXNzOmB+YmVoYXZlLm1vZGVsLkZlYXR1cmVgICAgICAgICAgICAgICAgIEN1cnJl bnQgZmVhdHVyZS4KKytydWxlICAgICAgICAgICAgcnVsZSAgICAgIDpjbGFzczpgfmJlaGF2ZS5t b2RlbC5GZWF0dXJlYCAgICAgICAgICAgICAgICBDdXJyZW50IHJ1bGUuCisgdGFncyAgICAgICAg ICAgIGZlYXR1cmUsICBsaXN0PDpjbGFzczpgfmJlaGF2ZS5tb2RlbC5UYWdgPiAgICAgICAgICAg ICAgRWZmZWN0aXZlIHRhZ3Mgb2YgY3VycmVudCBmZWF0dXJlLCBydWxlLCBzY2VuYXJpbywgc2Nl bmFyaW8gb3V0bGluZS4KKyAgICAgICAgICAgICAgICAgcnVsZSwKKyAgICAgICAgICAgICAgICAg c2NlbmFyaW8KK0BAIC02Miw3ICs2Myw3IEBAIEhvb2sgICAgOmZ1bmM6YGFmdGVyX3RhZ3NgICAg ICAgICAgIGZlYXR1cmUsIHJ1bGUgb3Igc2NlbmFyaW8KKyBIb29rICAgIDpmdW5jOmBiZWZvcmVf ZmVhdHVyZWAgICAgICBmZWF0dXJlCisgSG9vayAgICA6ZnVuYzpgYWZ0ZXJfZmVhdHVyZWAgICAg ICAgZmVhdHVyZQorIEhvb2sgICAgOmZ1bmM6YGJlZm9yZV9ydWxlYCAgICAgICAgIHJ1bGUKKy1I b29rICAgIDpmdW5jOmBhZnRlcl9hZnRlcmAgICAgICAgICBydWxlCisrSG9vayAgICA6ZnVuYzpg YWZ0ZXJfcnVsZWAgICAgICAgICAgcnVsZQorIEhvb2sgICAgOmZ1bmM6YGJlZm9yZV9zY2VuYXJp b2AgICAgIHNjZW5hcmlvCisgSG9vayAgICA6ZnVuYzpgYWZ0ZXJfc2NlbmFyaW9gICAgICAgc2Nl bmFyaW8KKyBIb29rICAgIDpmdW5jOmBiZWZvcmVfc3RlcGAgICAgICAgICBzY2VuYXJpbwpkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDAxNC1BZGQtaGludHMtb24tR2hlcmtpbi12Ni1ncmFtbWFyLWlzc3Vlcy5wYXRjaCBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTQtQWRk LWhpbnRzLW9uLUdoZXJraW4tdjYtZ3JhbW1hci1pc3N1ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi43MzIyMjE2Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE0LUFkZC1o aW50cy1vbi1HaGVya2luLXY2LWdyYW1tYXItaXNzdWVzLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAK K0Zyb20gMTRlNGM4OGU5YmQxYTEyYTJmMDgxZGZiMjcwOWRmOWY3ODEwNmNhNiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogU2F0LCA4IEp1biAyMDE5IDIwOjEyOjIzICswMjAwCitTdWJqZWN0OiBb UEFUQ0hdIEFkZCBoaW50cyBvbiBHaGVya2luIHY2IGdyYW1tYXIgaXNzdWVzLgorCistLS0KKyBk b2NzL2NvbmYucHkgICAgICAgICAgICAgICAgICAgICAgIHwgNCArKystCisgZG9jcy9uZXdfYW5k X25vdGV3b3J0aHlfdjEuMi43LnJzdCB8IDggKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDEx IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2RvY3MvY29uZi5w eSBiL2RvY3MvY29uZi5weQoraW5kZXggZjdjMmMyNC4uZTU1ZmIyMSAxMDA2NDQKKy0tLSBhL2Rv Y3MvY29uZi5weQorKysrIGIvZG9jcy9jb25mLnB5CitAQCAtNTQsOSArNTQsMTEgQEAgZm9yIG9w dGlvbmFsX21vZHVsZV9uYW1lIGluIG9wdGlvbmFsX2V4dGVuc2lvbnM6CisgZXh0bGlua3MgPSB7 CisgICAgICJweXBpIjogKCJodHRwczovL3B5cGkub3JnL3Byb2plY3QvJXMiLCAiIiksCisgICAg ICJnaXRodWIiOiAoImh0dHBzOi8vZ2l0aHViLmNvbS8lcyIsICJnaXRodWI6LyIpLAorLSAgICAi aXNzdWUiOiAgKCJodHRwczovL2dpdGh1Yi5jb20vYmVoYXZlL2JlaGF2ZS9pc3N1ZS8lcyIsICJp c3N1ZSAjIiksCisrICAgICJpc3N1ZSI6ICAoImh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVo YXZlL2lzc3Vlcy8lcyIsICJpc3N1ZSAjIiksCisgICAgICJ5b3V0dWJlIjogKCJodHRwczovL3d3 dy55b3V0dWJlLmNvbS93YXRjaD92PSVzIiwgInlvdXR1YmU6dmlkZW89IiksCisgICAgICJiZWhh dmUiOiAoImh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhdmUvYmVoYXZlIiwgTm9uZSksCisrICAgICJj dWN1bWJlciI6ICgiaHR0cHM6Ly9naXRodWIuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyLyIsIE5vbmUp LAorKyAgICAiY3VjdW1iZXIuaXNzdWUiOiAoImh0dHBzOi8vZ2l0aHViLmNvbS9jdWN1bWJlci9j dWN1bWJlci9pc3N1ZXMvJXMiLCAiaXNzdWUgIyIpLAorIH0KKyAKKyBpbnRlcnNwaGlueF9tYXBw aW5nID0geworZGlmZiAtLWdpdCBhL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3Qg Yi9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0CitpbmRleCA0NTFlZDhjLi44MGQ5 NTc2IDEwMDY0NAorLS0tIGEvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorKysr IGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAorQEAgLTkyLDUgKzkyLDEzIEBA IE92ZXJ2aWV3IG9mIHRoZSBgRXhhbXBsZSBNYXBwaW5nYF8gY29uY2VwdHM6CisgICAgICogaHR0 cHM6Ly9saXNhY3Jpc3Bpbi5jb20vMjAxNi8wNi8wMi9leHBlcmltZW50LWV4YW1wbGUtbWFwcGlu Zy8KKyAgICAgKiBodHRwczovL3RvYnl0aGV0ZXN0ZXJibG9nLndvcmRwcmVzcy5jb20vMjAxNi8w NS8yNS9ob3ctdG8tZG8tZXhhbXBsZS1tYXBwaW5nLworIAorKy4uIGhpbnQ6OiAqKkdoZXJraW4g djYgR3JhbW1hciBJc3N1ZXMqKgorKworKyAgICAqIDpjdWN1bWJlci5pc3N1ZTpgNjMyYDogUnVs ZSB0YWdzIGFyZSBjdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgaW4gYGJlaGF2ZWAuCisrICAgICAg VGhlIEN1Y3VtYmVyIEdoZXJraW4gdjYgZ3JhbW1hciBjdXJyZW50bHkgbGFja3MgdGhpcyBmdW5j dGlvbmFsaXR5LgorKworKyAgICAqIDpjdWN1bWJlci5pc3N1ZTpgNTkwYDogUnVsZSBCYWNrZ3Jv dW5kOgorKyAgICAgIEEgcHJvcG9zYWwgaXMgcGVuZGluZyB0byByZW1vdmUgUnVsZSBCYWNrZ3Jv dW5kcyBhZ2FpbgorKworIAorIC4uIGluY2x1ZGU6OiBfY29udGVudC50YWdfZXhwcmVzc2lvbnNf djIucnN0CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDE1LVJFQURNRS1SZVNULXR3ZWFrcy5wYXRjaCBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTUtUkVBRE1FLVJlU1Qt dHdlYWtzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMDRlNDVm M2YzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDAxNS1SRUFETUUtUmVTVC10d2Vha3MucGF0Y2gKQEAgLTAsMCAr MSwxOCBAQAorRnJvbSAxMmQzN2VjNmFmNDZkM2VkYjgwNjY3OTE4M2FiMjEzOGU0ZjFmNWJmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3Jl cGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDggSnVuIDIwMTkgMjA6MTM6MDggKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSF0gUkVBRE1FOiBSZVNUIHR3ZWFrcworCistLS0KKyBldGMvZ2hlcmtpbi9S RUFETUUucnN0IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYg LS1naXQgYS9ldGMvZ2hlcmtpbi9SRUFETUUucnN0IGIvZXRjL2doZXJraW4vUkVBRE1FLnJzdAor aW5kZXggYWQzY2VkYi4uN2VjMjEwOCAxMDA2NDQKKy0tLSBhL2V0Yy9naGVya2luL1JFQURNRS5y c3QKKysrKyBiL2V0Yy9naGVya2luL1JFQURNRS5yc3QKK0BAIC0xLDMgKzEsNCBAQAorIFNPVVJD RToKKysKKyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jdWN1bWJlci9jdWN1bWJlci9ibG9iL21hc3Rl ci9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KKyAqIGh0dHBzOi8vcmF3LmdpdGh1YnVz ZXJjb250ZW50LmNvbS9jdWN1bWJlci9jdWN1bWJlci9tYXN0ZXIvZ2hlcmtpbi9naGVya2luLWxh bmd1YWdlcy5qc29uCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDE2LUV4YW1wbGUtdXNpbmctR2hlcmtpbi12Ni1ncmFtbWFy LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDAxNi1FeGFtcGxlLXVzaW5nLUdoZXJraW4tdjYtZ3JhbW1hci5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmNiYmNmZDU0MQotLS0gL2Rldi9udWxsCisrKyBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTYt RXhhbXBsZS11c2luZy1HaGVya2luLXY2LWdyYW1tYXIucGF0Y2gKQEAgLTAsMCArMSwyMjggQEAK K0Zyb20gZWFiY2Y3M2YwZTdmMjZlZjAyMWNlZjMwOTUwYzdiYjNkMjQ0MjIyNiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogU2F0LCA4IEp1biAyMDE5IDIwOjE2OjAxICswMjAwCitTdWJqZWN0OiBb UEFUQ0hdIEV4YW1wbGUgdXNpbmcgR2hlcmtpbiB2NiBncmFtbWFyLgorCistLS0KKyBleGFtcGxl cy9naGVya2luX3Y2L1JFQURNRS5yc3QgICAgICAgICAgICAgICAgfCAxOCArKysrKysrKworIGV4 YW1wbGVzL2doZXJraW5fdjYvYmVoYXZlLmluaSAgICAgICAgICAgICAgICB8IDQyICsrKysrKysr KysrKysrKysrKysKKyBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMS5mZWF0dXJl ICAgfCA0MiArKysrKysrKysrKysrKysrKysrCisgZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJl cy9ydWxlXzIuZmVhdHVyZSAgIHwgNDIgKysrKysrKysrKysrKysrKysrKworIC4uLi9mZWF0dXJl cy9zdGVwcy9leGFtcGxlX3N0ZXBzLnB5ICAgICAgICAgICB8IDIxICsrKysrKysrKysKKyAuLi4v Z2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wZXJzb25fc3RlcHMucHkgfCAgNyArKysrCisgNiBm aWxlcyBjaGFuZ2VkLCAxNzIgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFt cGxlcy9naGVya2luX3Y2L1JFQURNRS5yc3QKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMv Z2hlcmtpbl92Ni9iZWhhdmUuaW5pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2doZXJr aW5fdjYvZmVhdHVyZXMvcnVsZV8xLmZlYXR1cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBs ZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMucHkKKyBj cmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wZXJz b25fc3RlcHMucHkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJz dCBiL2V4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdAorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAuLjU4MTk5ZGQKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2do ZXJraW5fdjYvUkVBRE1FLnJzdAorQEAgLTAsMCArMSwxOCBAQAorK0doZXJraW4gdjYgRXhhbXBs ZXMKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorKworKworK1NDUkFUQ0hQQUQ6IFByb2JsZW1zCisr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKystIFN1bW1hcnlSZXBvcnRlcjogU2hvd3Mgd3Jvbmcg Y291bnRzIHdoZW4gUnVsZXMgYXJlIHByZXNlbnQ6OgorKworKyAgICAuLi4KKysgICAgMCBmZWF0 dXJlcyBwYXNzZWQsIDAgZmFpbGVkLCAxIHNraXBwZWQgWFhYCisrICAgIDMgcnVsZXMgcGFzc2Vk LCAwIGZhaWxlZCwgMCBza2lwcGVkCisrICAgIDUgc2NlbmFyaW9zIHBhc3NlZCwgMCBmYWlsZWQs IDAgc2tpcHBlZAorKyAgICAxMyBzdGVwcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDAg dW5kZWZpbmVkCisrCisrCisrLSBGb3JtYXR0ZXJzOiBQcmV0dHlGb3JtYXR0ZXIsIFBsYWluRm9y bWF0dGVyIChhdCBsZWFzdCkgbmVlZCBSdWxlIHN1cHBvcnQKKysKK2RpZmYgLS1naXQgYS9leGFt cGxlcy9naGVya2luX3Y2L2JlaGF2ZS5pbmkgYi9leGFtcGxlcy9naGVya2luX3Y2L2JlaGF2ZS5p bmkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi40NWMwZjBkCistLS0gL2Rl di9udWxsCisrKysgYi9leGFtcGxlcy9naGVya2luX3Y2L2JlaGF2ZS5pbmkKK0BAIC0wLDAgKzEs NDIgQEAKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIyBCRUhBVkUgQ09ORklHVVJBVElPTgor KyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKysjIEZJTEU6IC5iZWhhdmVyYywgYmVoYXZlLmluaSwg c2V0dXAuY2ZnLCB0b3guaW5pCisrIworKyMgU0VFIEFMU086CisrIyAgKiBodHRwOi8vcGFja2Fn ZXMucHl0aG9uLm9yZy9iZWhhdmUvYmVoYXZlLmh0bWwjY29uZmlndXJhdGlvbi1maWxlcworKyMg ICogaHR0cHM6Ly9naXRodWIuY29tL2JlaGF2ZS9iZWhhdmUKKysjICAqIGh0dHA6Ly9weXBpLnB5 dGhvbi5vcmcvcHlwaS9iZWhhdmUvCisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKworK1tiZWhh dmVdCisrZGVmYXVsdF90YWdzID0gbm90IChAeGZhaWwgb3IgQG5vdF9pbXBsZW1lbnRlZCkKKytz aG93X3NraXBwZWQgPSBmYWxzZQorK2Zvcm1hdCAgID0gcmVydW4KKysgICAgcHJvZ3Jlc3MzCisr b3V0ZmlsZXMgPSByZXJ1bi50eHQKKysgICAgcmVwb3J0cy9yZXBvcnRfcHJvZ3Jlc3MzLnR4dAor K2p1bml0ID0gdHJ1ZQorK2xvZ2dpbmdfbGV2ZWwgPSBJTkZPCisrIyBsb2dnaW5nX2Zvcm1hdCA9 IExPRy4lKGxldmVsbmFtZSktOHMgICUobmFtZSktMTBzOiAlKG1lc3NhZ2UpcworKyMgbG9nZ2lu Z19mb3JtYXQgPSBMT0cuJShsZXZlbG5hbWUpLThzICAlKGFzY3RpbWUpcyAgJShuYW1lKS0xMHM6 ICUobWVzc2FnZSlzCisrCisrIyAtLSBBTExVUkUtRk9STUFUVEVSIFJFUVVJUkVTOgorKyMgYnJl dyBpbnN0YWxsIGFsbHVyZQorKyMgcGlwIGluc3RhbGwgYWxsdXJlLWJlaGF2ZQorKyMgQUxMVVJF X1JFUE9SVFNfRElSPWFsbHVyZS5yZXBvcnRzCisrIyBiZWhhdmUgLWYgYWxsdXJlIC1vICRBTExV UkVfUkVQT1JUU19ESVIgLi4uCisrIyBhbGx1cmUgc2VydmUgJEFMTFVSRV9SRVBPUlRTX0RJUgor KyMKKysjIFNFRSBBTFNPOgorKyMgKiBodHRwczovL2dpdGh1Yi5jb20vYWxsdXJlLWZyYW1ld29y ay9hbGx1cmUyCisrIyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGx1cmUtZnJhbWV3b3JrL2FsbHVy ZS1weXRob24KKytbYmVoYXZlLmZvcm1hdHRlcnNdCisrYWxsdXJlID0gYWxsdXJlX2JlaGF2ZS5m b3JtYXR0ZXI6QWxsdXJlRm9ybWF0dGVyCisrCisrIyBQUkVQQVJFRDoKKysjICBbYmVoYXZlXQor KyMgIGZvcm1hdCA9IC4uLiBtaXNzaW5nX3N0ZXBzIC4uLgorKyMgIG91dHB1dCA9IC4uLiBmZWF0 dXJlcy9zdGVwcy9taXNzaW5nX3N0ZXBzLnB5IC4uLgorKyMgIFtiZWhhdmUuZm9ybWF0dGVyc10K KysjICBtaXNzaW5nX3N0ZXBzID0gYmVoYXZlLmNvbnRyaWIuZm9ybWF0dGVyX21pc3Npbmdfc3Rl cHM6TWlzc2luZ1N0ZXBzRm9ybWF0dGVyCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZ2hlcmtpbl92 Ni9mZWF0dXJlcy9ydWxlXzEuZmVhdHVyZSBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMv cnVsZV8xLmZlYXR1cmUKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5hODAy ZTE5CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1 bGVfMS5mZWF0dXJlCitAQCAtMCwwICsxLDQyIEBACisrRmVhdHVyZTogR2hlcmtpbiB2NiBFeGFt cGxlIC0tIHdpdGggUnVsZXMKKysgIEZlYXR1cmUgZGVzY3JpcHRpb24gbGluZSAxLgorKworKyAg QmFja2dyb3VuZDogRmVhdHVyZS5CYWNrZ3JvdW5kCisrICAgIEdpdmVuIGZlYXR1cmUgYmFja2dy b3VuZCBzdGVwXzEKKysKKysgIFJ1bGU6IFIxICh3aXRoIFJ1bGUuQmFja2dyb3VuZCkKKysgICAg UnVsZSBSMSBkZXNjcmlwdGlvbiBsaW5lIDEuCisrCisrICAgIEJhY2tncm91bmQ6IFIxLkJhY2tn cm91bmQKKysgICAgICBHaXZlbiBydWxlIFIxIGJhY2tncm91bmQgc3RlcF8xCisrICAgICAgV2hl biAgcnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMgorKworKyAgICBFeGFtcGxlOiBSMS5TY2VuYXJp b18xCisrICAgICAgV2hlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgVGhlbiBy dWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8yCisrCisrICAgIEV4YW1wbGU6IFIxLlNjZW5hcmlvXzIK KysgICAgICBHaXZlbiBydWxlIFIxIHNjZW5hcmlvXzIgc3RlcF8xCisrICAgICAgVGhlbiAgcnVs ZSBSMSBzY2VuYXJpb18yIHN0ZXBfMgorKworKyAgUnVsZTogUjIgKHdpdGhvdXQgUnVsZS5CYWNr Z3JvdW5kKQorKyAgICBSdWxlIFIyIGRlc2NyaXB0aW9uIGxpbmUgMS4KKysKKysgICAgRXhhbXBs ZTogUjIuU2NlbmFyaW9fMQorKyAgICAgIFdoZW4gcnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMQor KyAgICAgIFRoZW4gcnVsZSBSMiBzY2VuYXJpb18xIHN0ZXBfMgorKworKworKyAgUnVsZTogUjMg KHdpdGggZW1wdHkgUnVsZS5CYWNrZ3JvdW5kKQorKyAgICBSdWxlIFIzIGRlc2NyaXB0aW9uIGxp bmUgMS4KKysgICAgUnVsZSBSMyBkZXNjcmlwdGlvbiBsaW5lIDIuCisrCisrICAgIEJhY2tncm91 bmQ6IFIzLkVtcHR5QmFja2dyb3VuZAorKworKyAgICBTY2VuYXJpbyBUZW1wbGF0ZTogUjMuU2Nl bmFyaW8KKysgICAgICBHaXZlbiBhIHBlcnNvbiBuYW1lZCAiPG5hbWU+IgorKworKyAgICAgIEV4 YW1wbGVzOgorKyAgICAgICAgfCBuYW1lICB8CisrICAgICAgICB8IEFsaWNlIHwKKysgICAgICAg IHwgQm9iICAgfAorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVs ZV8yLmZlYXR1cmUgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJl CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYTgwMmUxOQorLS0tIC9kZXYv bnVsbAorKysrIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZQor QEAgLTAsMCArMSw0MiBAQAorK0ZlYXR1cmU6IEdoZXJraW4gdjYgRXhhbXBsZSAtLSB3aXRoIFJ1 bGVzCisrICBGZWF0dXJlIGRlc2NyaXB0aW9uIGxpbmUgMS4KKysKKysgIEJhY2tncm91bmQ6IEZl YXR1cmUuQmFja2dyb3VuZAorKyAgICBHaXZlbiBmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xCisr CisrICBSdWxlOiBSMSAod2l0aCBSdWxlLkJhY2tncm91bmQpCisrICAgIFJ1bGUgUjEgZGVzY3Jp cHRpb24gbGluZSAxLgorKworKyAgICBCYWNrZ3JvdW5kOiBSMS5CYWNrZ3JvdW5kCisrICAgICAg R2l2ZW4gcnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMQorKyAgICAgIFdoZW4gIHJ1bGUgUjEgYmFj a2dyb3VuZCBzdGVwXzIKKysKKysgICAgRXhhbXBsZTogUjEuU2NlbmFyaW9fMQorKyAgICAgIFdo ZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMQorKyAgICAgIFRoZW4gcnVsZSBSMSBzY2VuYXJp b18xIHN0ZXBfMgorKworKyAgICBFeGFtcGxlOiBSMS5TY2VuYXJpb18yCisrICAgICAgR2l2ZW4g cnVsZSBSMSBzY2VuYXJpb18yIHN0ZXBfMQorKyAgICAgIFRoZW4gIHJ1bGUgUjEgc2NlbmFyaW9f MiBzdGVwXzIKKysKKysgIFJ1bGU6IFIyICh3aXRob3V0IFJ1bGUuQmFja2dyb3VuZCkKKysgICAg UnVsZSBSMiBkZXNjcmlwdGlvbiBsaW5lIDEuCisrCisrICAgIEV4YW1wbGU6IFIyLlNjZW5hcmlv XzEKKysgICAgICBXaGVuIHJ1bGUgUjIgc2NlbmFyaW9fMSBzdGVwXzEKKysgICAgICBUaGVuIHJ1 bGUgUjIgc2NlbmFyaW9fMSBzdGVwXzIKKysKKysKKysgIFJ1bGU6IFIzICh3aXRoIGVtcHR5IFJ1 bGUuQmFja2dyb3VuZCkKKysgICAgUnVsZSBSMyBkZXNjcmlwdGlvbiBsaW5lIDEuCisrICAgIFJ1 bGUgUjMgZGVzY3JpcHRpb24gbGluZSAyLgorKworKyAgICBCYWNrZ3JvdW5kOiBSMy5FbXB0eUJh Y2tncm91bmQKKysKKysgICAgU2NlbmFyaW8gVGVtcGxhdGU6IFIzLlNjZW5hcmlvCisrICAgICAg R2l2ZW4gYSBwZXJzb24gbmFtZWQgIjxuYW1lPiIKKysKKysgICAgICBFeGFtcGxlczoKKysgICAg ICAgIHwgbmFtZSAgfAorKyAgICAgICAgfCBBbGljZSB8CisrICAgICAgICB8IEJvYiAgIHwKK2Rp ZmYgLS1naXQgYS9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3Rl cHMucHkgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMu cHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mNDgyMmYzCistLS0gL2Rl di9udWxsCisrKysgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVf c3RlcHMucHkKK0BAIC0wLDAgKzEsMjEgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorK2Zy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2Zy b20gYmVoYXZlIGltcG9ydCBzdGVwCisrCisrCisrQHN0ZXAodSdmZWF0dXJlIGJhY2tncm91bmQg c3RlcF97c3RlcF9pZDpkfScpCisrZGVmIHN0ZXBfcnVsZV9iYWNrZ3JvdW5kKGN0eCwgc3RlcF9p ZCk6CisrICAgIHByaW50KCJmZWF0dXJlIGJhY2tncm91bmQgc3RlcF97MH0iLmZvcm1hdChzdGVw X2lkKSkKKysKKysKKytAc3RlcCh1J3J1bGUge3J1bGVfaWQ6d30gYmFja2dyb3VuZCBzdGVwX3tz dGVwX2lkOmR9JykKKytkZWYgc3RlcF9ydWxlX2JhY2tncm91bmQoY3R4LCBydWxlX2lkLCBzdGVw X2lkKToKKysgICAgcHJpbnQoInJ1bGUgezB9IGJhY2tncm91bmQgc3RlcF97MX0iLmZvcm1hdChy dWxlX2lkLCBzdGVwX2lkKSkKKysKKysKKytAc3RlcCh1J3J1bGUge3J1bGVfaWQ6d30gc2NlbmFy aW9fe3NjZW5hcmlvX2lkOmR9IHN0ZXBfe3N0ZXBfaWQ6ZH0nKQorK2RlZiBzdGVwX3J1bGVfc2Nl bmFyaW8oY3R4LCBydWxlX2lkLCBzY2VuYXJpb19pZCwgc3RlcF9pZCk6CisrICAgIHByaW50KCJy dWxlIHswfSBzY2VuYXJpb197MX0gc3RlcF97Mn0iLmZvcm1hdCgKKysgICAgICAgIHJ1bGVfaWQs IHNjZW5hcmlvX2lkLCBzdGVwX2lkKSkKKysKKysKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9naGVy a2luX3Y2L2ZlYXR1cmVzL3N0ZXBzL3BlcnNvbl9zdGVwcy5weSBiL2V4YW1wbGVzL2doZXJraW5f djYvZmVhdHVyZXMvc3RlcHMvcGVyc29uX3N0ZXBzLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMC4uNzE0YWMwMQorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZ2hl cmtpbl92Ni9mZWF0dXJlcy9zdGVwcy9wZXJzb25fc3RlcHMucHkKK0BAIC0wLDAgKzEsNyBAQAor KyMgLSotIGNvZGluZzogVVRGLTggLSotCisrZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuCisrCisr CisrQGdpdmVuKHUnYSBwZXJzb24gbmFtZWQgIntuYW1lfSInKQorK2RlZiBzdGVwX2dpdmVuX3Bl cnNvbl93aXRoX25hbWUoY3R4LCBuYW1lKToKKysgICAgcGFzcwpkaWZmIC0tZ2l0IGEvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxNy1QUkVQQVJF LVB5dGhvbi0zLjgtc3VwcG9ydC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTctUFJFUEFSRS1QeXRob24tMy44LXN1cHBvcnQucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43YzZlOWI1MjEKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDE3LVBSRVBBUkUtUHl0aG9uLTMuOC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEs MzkgQEAKK0Zyb20gNWU1MjliOWFlMTdjMTUyMzFmOTg5YzE3ZmUxYTA5ODk3ZWRmNjQ3NyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA4IEp1biAyMDE5IDIwOjM5OjQyICswMjAwCitTdWJq ZWN0OiBbUEFUQ0hdIFBSRVBBUkU6IFB5dGhvbi0zLjggc3VwcG9ydAorCistLS0KKyAudHJhdmlz LnltbCB8IDggKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8udHJhdmlzLnltbAoraW5k ZXggNzAxNWI4OC4uZDhmMjQ0MyAxMDA2NDQKKy0tLSBhLy50cmF2aXMueW1sCisrKysgYi8udHJh dmlzLnltbAorQEAgLTEsMTIgKzEsMTQgQEAKKyBsYW5ndWFnZTogcHl0aG9uCisgc3VkbzogZmFs c2UKKytkaXN0OiB4ZW5pYWwgICAjIHJlcXVpcmVkIGZvciBQeXRob24gPj0gMy43CisgcHl0aG9u OgorLSAgLSAiMy42IgorKyAgLSAiMy43IgorICAgLSAiMi43IgorKyAgLSAiMy42IgorICAgLSAi My41IgorICAgLSAicHlweSIKKyAgIC0gInB5cHkzIgorLSAgLSAiMy43LWRldiIKKysgIC0gIjMu OC1kZXYiCisgCisgIyAtLSBESVNBQkxFRDoKKyAjICAtICJuaWdodGx5IgorQEAgLTE5LDcgKzIx LDcgQEAgcHl0aG9uOgorICMgLS0gVEVTVC1CQUxMT046IENoZWNrIGlmIFB5dGhvbiAzLjYgaXMg YWN0dWFsbHkgUHl0aG9uIDMuNS4xIG9yIG5ld2VyCisgbWF0cml4OgorICAgYWxsb3dfZmFpbHVy ZXM6CistICAgIC0gcHl0aG9uOiAiMy43LWRldiIKKysgICAgLSBweXRob246ICIzLjgtZGV2Igor ICAgICAtIHB5dGhvbjogIm5pZ2h0bHkiCisgCisgY2FjaGU6CmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDE4LXB5My44LVRy eS10by1maXgtbG9nZ2luZy5Gb3JtYXR0ZXItdmFsaWRhdGUtcHJvYmxlbS5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMTgtcHkzLjgt VHJ5LXRvLWZpeC1sb2dnaW5nLkZvcm1hdHRlci12YWxpZGF0ZS1wcm9ibGVtLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNGZlNTk2YTJmCi0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDAxOC1weTMuOC1UcnktdG8tZml4LWxvZ2dpbmcuRm9ybWF0dGVyLXZhbGlkYXRlLXByb2JsZW0u cGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbSBjMDQ2YzNhMzEzMjJjN2MyOWZmNmQ3ZjYxNzJk ZjQxZGEzNTMwNjgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVu aXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTM6 MTc6MTAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gcHkzLjg6IFRyeSB0byBmaXggbG9nZ2luZy5G b3JtYXR0ZXIgdmFsaWRhdGUgcHJvYmxlbQorCistLS0KKyB0ZXN0cy91bml0L3Rlc3RfY2FwdHVy ZS5weSB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1n aXQgYS90ZXN0cy91bml0L3Rlc3RfY2FwdHVyZS5weSBiL3Rlc3RzL3VuaXQvdGVzdF9jYXB0dXJl LnB5CitpbmRleCBhYzI2NTVlLi5kOWEzZjNhIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0 X2NhcHR1cmUucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9jYXB0dXJlLnB5CitAQCAtMjAsNiAr MjAsOCBAQCBkZWYgY3JlYXRlX2NhcHR1cmVfY29udHJvbGxlcihjb25maWc9Tm9uZSk6CisgICAg ICAgICBjb25maWcubG9nX2NhcHR1cmUgPSBUcnVlCisgICAgICAgICBjb25maWcubG9nZ2luZ19m aWx0ZXIgPSBOb25lCisgICAgICAgICBjb25maWcubG9nZ2luZ19sZXZlbCA9ICJJTkZPIgorKyAg ICAgICAgY29uZmlnLmxvZ2dpbmdfZm9ybWF0ID0gIiUobGV2ZWxuYW1lKXM6JShuYW1lKXM6JSht ZXNzYWdlKXMiCisrICAgICAgICBjb25maWcubG9nZ2luZ19kYXRlZm10ID0gTm9uZQorICAgICBy ZXR1cm4gQ2FwdHVyZUNvbnRyb2xsZXIoY29uZmlnKQorIAorIGRlZiBzZXR1cF9jYXB0dXJlX2Nv bnRyb2xsZXIoY2FwdHVyZV9jb250cm9sbGVyLCBjb250ZXh0PU5vbmUpOgpkaWZmIC0tZ2l0IGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAxOS10 cmF2aXMuY2ktVGVtcG9yYXJpbHktbW92ZS1weTM4LWRldi10by1mcm9udC1idWlsZC1mLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAx OS10cmF2aXMuY2ktVGVtcG9yYXJpbHktbW92ZS1weTM4LWRldi10by1mcm9udC1idWlsZC1mLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMTIxZGE3MDk0Ci0tLSAv ZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAxOS10cmF2aXMuY2ktVGVtcG9yYXJpbHktbW92ZS1weTM4LWRldi10by1mcm9u dC1idWlsZC1mLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gZmJlNmIyOTM3MDg3ZGIxMWY5 NmUyMWIzNmE1NDAyNzBkN2MyYjE2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGpl bmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1 biAyMDE5IDEzOjE5OjU4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHRyYXZpcy5jaTogVGVtcG9y YXJpbHkgbW92ZSBweTM4LWRldiB0byBmcm9udCAoYnVpbGQgZmlyc3QpLgorCistLS0KKyAudHJh dmlzLnltbCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKKworZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55bWwKK2luZGV4IGQ4 ZjI0NDMuLjM1YmNlOGMgMTAwNjQ0CistLS0gYS8udHJhdmlzLnltbAorKysrIGIvLnRyYXZpcy55 bWwKK0BAIC0yLDEzICsyLDEzIEBAIGxhbmd1YWdlOiBweXRob24KKyBzdWRvOiBmYWxzZQorIGRp c3Q6IHhlbmlhbCAgICMgcmVxdWlyZWQgZm9yIFB5dGhvbiA+PSAzLjcKKyBweXRob246CisrICAt ICIzLjgtZGV2IgorICAgLSAiMy43IgorICAgLSAiMi43IgorICAgLSAiMy42IgorICAgLSAiMy41 IgorICAgLSAicHlweSIKKyAgIC0gInB5cHkzIgorLSAgLSAiMy44LWRldiIKKyAKKyAjIC0tIERJ U0FCTEVEOgorICMgIC0gIm5pZ2h0bHkiCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIwLXRyYXZpcy5jaS1Ud2Vha3MtZm9y LWZhc3Rlci1idWlsZHMtdGVtcG9yYXJpbHkucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIwLXRyYXZpcy5jaS1Ud2Vha3MtZm9yLWZh c3Rlci1idWlsZHMtdGVtcG9yYXJpbHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi5jZjlhZmY3MDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIwLXRyYXZpcy5jaS1Ud2Vha3Mt Zm9yLWZhc3Rlci1idWlsZHMtdGVtcG9yYXJpbHkucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJv bSA0MTUyNWM3NDg0MTM0MDVkMGZhZjZjOGZjOWEzNDUwNDdlMzFhMWE3IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTM6MjY6MTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRD SF0gdHJhdmlzLmNpOiBUd2Vha3MgZm9yIGZhc3RlciBidWlsZHMgKHRlbXBvcmFyaWx5KS4KKwor LS0tCisgLnRyYXZpcy55bWwgfCAxMiArKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBp bnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvLnRyYXZpcy55bWwg Yi8udHJhdmlzLnltbAoraW5kZXggMzViY2U4Yy4uZmJjMzUyMCAxMDA2NDQKKy0tLSBhLy50cmF2 aXMueW1sCisrKysgYi8udHJhdmlzLnltbAorQEAgLTUsMTUgKzUsMTUgQEAgcHl0aG9uOgorICAg LSAiMy44LWRldiIKKyAgIC0gIjMuNyIKKyAgIC0gIjIuNyIKKy0gIC0gIjMuNiIKKy0gIC0gIjMu NSIKKy0gIC0gInB5cHkiCistICAtICJweXB5MyIKKysKKysjIC0tIERJU0FCTEUtVEVNUE9SQVJJ TFk6IEVuc3VyZSBmYXN0ZXIgYnVpbGRzCisrIyAgLSAiMy42IgorKyMgIC0gIjMuNSIKKysjICAt ICJweXB5IgorKyMgIC0gInB5cHkzIgorIAorICMgLS0gRElTQUJMRUQ6CisgIyAgLSAibmlnaHRs eSIKKy0jICAtICIzLjQiCistIyAgLSAiMy4zIgorICMKKyAjIE5PVyBTVVBQT1JURUQ6ICIzLjUi ID0+IHB5dGhvbiAzLjUuMiAoPj0gMy41LjEpCisgIyBOT1RFOiBuaWdodGx5ID0gMy43LWRldgpk aWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAyMS1GSVgtcHkzLjgtbG9nZ2luZy5Gb3JtYXR0ZXIudmFsaWRhdGUtcHJvYmxlbS5w YXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMjEtRklYLXB5My44LWxvZ2dpbmcuRm9ybWF0dGVyLnZhbGlkYXRlLXByb2JsZW0ucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi41ZmIxMTc2YWMKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDIxLUZJWC1weTMuOC1sb2dnaW5nLkZvcm1hdHRlci52YWxpZGF0ZS1wcm9ibGVtLnBh dGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gZmVkNGJiMzI3MzYzM2U1ZjgxZmM4YmEyMWM4YjYy MjU1YzdlZWZjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAyMDE5IDEzOjQy OjIwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWCBweTMuODogbG9nZ2luZy5Gb3JtYXR0ZXIu dmFsaWRhdGUoKSBwcm9ibGVtLgorCistLS0KKyB0ZXN0L3Rlc3RfcnVubmVyLnB5IHwgNiArKysr KysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS90ZXN0 L3Rlc3RfcnVubmVyLnB5IGIvdGVzdC90ZXN0X3J1bm5lci5weQoraW5kZXggNTdjOTQ0NS4uNjY0 NzI4MyAxMDA2NDQKKy0tLSBhL3Rlc3QvdGVzdF9ydW5uZXIucHkKKysrKyBiL3Rlc3QvdGVzdF9y dW5uZXIucHkKK0BAIC0yODYsNiArMjg2LDcgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3Qu VGVzdENhc2UpOgorICAgICAgICAgZXFfKCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBUcnVlKQor ICAgICAgICAgZGVsIHNlbGYuY29udGV4dC50aGluZworIAorKworIGNsYXNzIEV4YW1wbGVTdGVw cyhvYmplY3QpOgorICAgICB0ZXh0ID0gTm9uZQorICAgICB0YWJsZSA9IE5vbmUKK0BAIC0zMjAs NiArMzIxLDcgQEAgY2xhc3MgRXhhbXBsZVN0ZXBzKG9iamVjdCk6CisgICAgICAgICBmb3Iga2V5 d29yZCwgcGF0dGVybiwgZnVuYyBpbiBzdGVwX2RlZmluaXRpb25zOgorICAgICAgICAgICAgIHN0 ZXBfcmVnaXN0cnkuYWRkX3N0ZXBfZGVmaW5pdGlvbihrZXl3b3JkLCBwYXR0ZXJuLCBmdW5jKQor IAorKworIGNsYXNzIFRlc3RDb250ZXh0X0V4ZWN1dGVTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6 CisgICAgICIiIgorICAgICBUZXN0IHRoZSBiZWhhdmUucnVubmVyLkNvbnRleHQuZXhlY3V0ZV9z dGVwcygpIGZ1bmN0aW9uYWxpdHkuCitAQCAtMzQxLDYgKzM0Myw4IEBAIGNsYXNzIFRlc3RDb250 ZXh0X0V4ZWN1dGVTdGVwcyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBydW5uZXJfLmNv bmZpZy5zdGRvdXRfY2FwdHVyZSA9IEZhbHNlCisgICAgICAgICBydW5uZXJfLmNvbmZpZy5zdGRl cnJfY2FwdHVyZSA9IEZhbHNlCisgICAgICAgICBydW5uZXJfLmNvbmZpZy5sb2dfY2FwdHVyZSA9 IEZhbHNlCisrICAgICAgICBydW5uZXJfLmNvbmZpZy5sb2dnaW5nX2Zvcm1hdCA9IE5vbmUKKysg ICAgICAgIHJ1bm5lcl8uY29uZmlnLmxvZ2dpbmdfZGF0ZWZtdCA9IE5vbmUKKyAgICAgICAgIHJ1 bm5lcl8uc3RlcF9yZWdpc3RyeSA9IHNlbGYuc3RlcF9yZWdpc3RyeQorIAorICAgICAgICAgc2Vs Zi5jb250ZXh0ID0gcnVubmVyLkNvbnRleHQocnVubmVyXykKK0BAIC02NTgsNiArNjYyLDggQEAg Y2xhc3MgVGVzdFJ1bldpdGhQYXRocyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBzZWxm LmNvbmZpZy5sb2dnaW5nX2ZpbHRlciA9IE5vbmUKKyAgICAgICAgIHNlbGYuY29uZmlnLm91dHB1 dHMgPSBbTW9jaygpLCBTdHJlYW1PcGVuZXIoc3RyZWFtPXN5cy5zdGRvdXQpXQorICAgICAgICAg c2VsZi5jb25maWcuZm9ybWF0ID0gWyJwbGFpbiIsICJwcm9ncmVzcyJdCisrICAgICAgICBzZWxm LmNvbmZpZy5sb2dnaW5nX2Zvcm1hdCA9IE5vbmUKKysgICAgICAgIHNlbGYuY29uZmlnLmxvZ2dp bmdfZGF0ZWZtdCA9IE5vbmUKKyAgICAgICAgIHNlbGYucnVubmVyID0gcnVubmVyLlJ1bm5lcihz ZWxmLmNvbmZpZykKKyAgICAgICAgIHNlbGYubG9hZF9ob29rcyA9IHNlbGYucnVubmVyLmxvYWRf aG9va3MgPSBNb2NrKCkKKyAgICAgICAgIHNlbGYubG9hZF9zdGVwX2RlZmluaXRpb25zID0gc2Vs Zi5ydW5uZXIubG9hZF9zdGVwX2RlZmluaXRpb25zID0gTW9jaygpCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIyLVBSRVBB UkUtRk9SLVB5dGhvbi0zLjgtYXN5bmNpby5jb3JvdXRpbmUtaXMtZGVwcmVjYXQucGF0Y2ggYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDIyLVBS RVBBUkUtRk9SLVB5dGhvbi0zLjgtYXN5bmNpby5jb3JvdXRpbmUtaXMtZGVwcmVjYXQucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iNDY4NDY0NzgKLS0tIC9kZXYv bnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDIyLVBSRVBBUkUtRk9SLVB5dGhvbi0zLjgtYXN5bmNpby5jb3JvdXRpbmUtaXMtZGVw cmVjYXQucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBkNTRkOGMwMzhhN2U1ZjlkMjE2OGRh YTZlMTMzNjJkMWRmN2QxN2E1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDkgSnVuIDIw MTkgMTM6NTg6MjIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUFJFUEFSRSBGT1I6IFB5dGhvbiAz LjgsIEBhc3luY2lvLmNvcm91dGluZSBpcyBkZXByZWNhdGVkCisgc2luY2UgcHkzOC4KKworLS0t CisgdGVzdHMvYXBpL190ZXN0X2FzeW5jX3N0ZXAzNC5weSB8IDkgKysrKysrLS0tCisgMSBmaWxl IGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L3Rlc3RzL2FwaS9fdGVzdF9hc3luY19zdGVwMzQucHkgYi90ZXN0cy9hcGkvX3Rlc3RfYXN5bmNf c3RlcDM0LnB5CitpbmRleCA4MjQyYmU3Li4xYzBjMzFmIDEwMDY0NAorLS0tIGEvdGVzdHMvYXBp L190ZXN0X2FzeW5jX3N0ZXAzNC5weQorKysrIGIvdGVzdHMvYXBpL190ZXN0X2FzeW5jX3N0ZXAz NC5weQorQEAgLTM3LDEzICszNywxNiBAQCBmcm9tIC50ZXN0aW5nX3N1cHBvcnRfYXN5bmMgaW1w b3J0IEFzeW5jU3RlcFRoZW9yeQorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRFU1QgTUFS S0VSUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBERVBSRUNBVEVEOiBAYXN5bmNpby5j b3JvdXRpbmUgZGVjb3JhdG9yIChzaW5jZTogUHl0aG9uID49IDMuOCkKKyBfcHl0aG9uX3ZlcnNp b24gPSBmbG9hdCgiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0pCistcHkzNF9vcl9uZXdl ciA9IHB5dGVzdC5tYXJrLnNraXBpZihfcHl0aG9uX3ZlcnNpb24gPCAzLjQsIHJlYXNvbj0iTmVl ZHMgUHl0aG9uID49IDMuNCIpCisrcmVxdWlyZXNfcHkzNF90b19weTM3ID0gcHl0ZXN0Lm1hcmsu c2tpcGlmKG5vdCAoMy40IDw9IF9weXRob25fdmVyc2lvbiA8IDMuOCksCisrICAgIHJlYXNvbj0i U3VwcG9ydGVkIG9ubHkgZm9yIHB5dGhvbi52ZXJzaW9uczogMy40IC4uIDMuNyAoaW5jbHVzaXZl KSIpCisrCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgVEVTVFNVSVRFOgorICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKy1AcHkzNF9vcl9uZXdlcgorK0ByZXF1aXJlc19weTM0X3RvX3B5 MzcKKyBjbGFzcyBUZXN0QXN5bmNTdGVwRGVjb3JhdG9yUHkzNChvYmplY3QpOgorIAorICAgICBk ZWYgdGVzdF9zdGVwX2RlY29yYXRvcl9hc3luY19ydW5fdW50aWxfY29tcGxldGUyKHNlbGYpOgor QEAgLTEyOCw3ICsxMzEsNyBAQCBjbGFzcyBUZXN0QXN5bmNDb250ZXh0KG9iamVjdCk6CisgICAg ICAgICBhc3NlcnQgYXN5bmNfY29udGV4dC5sb29wIGlzIGxvb3AwCisgCisgCistQHB5MzRfb3Jf bmV3ZXIKKytAcmVxdWlyZXNfcHkzNF90b19weTM3CisgY2xhc3MgVGVzdEFzeW5jU3RlcFJ1blB5 MzQob2JqZWN0KToKKyAgICAgIiIiRW5zdXJlIHRoYXQgZXhlY3V0aW9uIG9mIGFzeW5jLXN0ZXBz IHdvcmtzIGFzIGV4cGVjdGVkLiIiIgorIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZv LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDAyMy1VUERBVEUtQWRkLTc1NS1pbmZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uNTZiOGJkNmM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyMy1VUERBVEUtQWRkLTc1 NS1pbmZvLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gZGI2NmVlY2Y0YzUzMDFjYTQ1ZGI5 ZjcxYzdiMmMzYzI2ZDU5MjdhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAy MDE5IDE0OjA2OjE0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVQREFURTogQWRkICM3NTUgaW5m bworCistLS0KKyBDSEFOR0VTLnJzdCB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2Vy dGlvbnMoKykKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4 IGQ2ZTk2YWYuLmE5MWUyMmEgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdF Uy5yc3QKK0BAIC0zMCw2ICszMCwxMCBAQCBFTkhBTkNFTUVOVFM6CisgKiBpc3N1ZSAjNjc1OiBG ZWF0dXJlIGZpbGVzIGNhbm5vdCBiZSBmb3VuZCB3aXRoaW4gc3ltbGluayBkaXJlY3RvcmllcyAo cHJvdmlkZWQgYnk6IHNtYWRuZXNzLCBwdWxsICM2ODApCisgCisgCisrUEFSVElBTExZIEZJWEVE OgorKworKyogaXNzdWUgIzc1NTogRmFpbHVyZXMgd2l0aCBQeXRob24gMy44IChzdWJtaXR0ZWQg Ynk6IGhyb25jb2spCisrCisgRklYRUQ6CisgCisgKiBpc3N1ZSAjNzI1OiBTY2VuYXJpbyBPdXRs aW5lIGRlc2NyaXB0aW9uIGxpbmVzIHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0dGVkIGJ5OiBu aXp3aXopCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDI0LUZJWC1XQVJOSU5HLVJlbGF0ZWQtdG8tZG9jc3RyaW5nLWV4YW1w bGUtYW5kLXdlaXJkLWIucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDI0LUZJWC1XQVJOSU5HLVJlbGF0ZWQtdG8tZG9jc3RyaW5nLWV4 YW1wbGUtYW5kLXdlaXJkLWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwLi44Zjk0NjRhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI0LUZJWC1XQVJOSU5HLVJlbGF0ZWQtdG8t ZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdlaXJkLWIucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJv bSA0NjdiMjIzZGM4NGY1MjkzM2IyNzgyY2U5ZDExNmU4OWQ0OGEyNmYxIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CitEYXRlOiBTdW4sIDkgSnVuIDIwMTkgMTQ6Mjc6MjMgKzAyMDAKK1N1YmplY3Q6IFtQQVRD SF0gRklYLVdBUk5JTkc6IFJlbGF0ZWQgdG8gZG9jc3RyaW5nLWV4YW1wbGUgYW5kIHdlaXJkIGJh Y2tzbGFzaAorIHVzYWdlLgorCistLS0KKyBiZWhhdmUvbWF0Y2hlcnMucHkgfCA0ICstLS0KKyAx IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9iZWhhdmUvbWF0Y2hlcnMucHkgYi9iZWhhdmUvbWF0Y2hlcnMucHkKK2luZGV4IGM4OTZm NTIuLjBmZWUwYzcgMTAwNjQ0CistLS0gYS9iZWhhdmUvbWF0Y2hlcnMucHkKKysrKyBiL2JlaGF2 ZS9tYXRjaGVycy5weQorQEAgLTI2MSw5ICsyNjEsNyBAQCBjbGFzcyBDRlBhcnNlTWF0Y2hlcihQ YXJzZU1hdGNoZXIpOgorIAorIAorIGRlZiByZWdpc3Rlcl90eXBlKCoqa3cpOgorLSAgICAjIHB5 bGludDogZGlzYWJsZT1hbm9tYWxvdXMtYmFja3NsYXNoLWluLXN0cmluZworLSAgICAjIFJFUVVJ UkVELUJZOiBjb2RlIGV4YW1wbGUKKy0gICAgIiIiUmVnaXN0ZXJzIGEgY3VzdG9tIHR5cGUgdGhh dCB3aWxsIGJlIGF2YWlsYWJsZSB0byAicGFyc2UiCisrICAgIHIiIiJSZWdpc3RlcnMgYSBjdXN0 b20gdHlwZSB0aGF0IHdpbGwgYmUgYXZhaWxhYmxlIHRvICJwYXJzZSIKKyAgICAgZm9yIHR5cGUg Y29udmVyc2lvbiBkdXJpbmcgc3RlcCBtYXRjaGluZy4KKyAKKyAgICAgQ29udmVydGVycyBzaG91 bGQgYmUgc3VwcGxpZWQgYXMgYGBuYW1lPWNhbGxhYmxlYGAgYXJndW1lbnRzIChvciBhcyBkaWN0 KS4KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMjUtRklYLWludmFsaWQtZXNjYXBlLXNlcXVlbmNlLXdhcm5pbmdzLXctcmVn ZXgtcGF0dGVybi5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwMjUtRklYLWludmFsaWQtZXNjYXBlLXNlcXVlbmNlLXdhcm5pbmdzLXct cmVnZXgtcGF0dGVybi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAu LjkyMTNjY2QyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjUtRklYLWludmFsaWQtZXNjYXBlLXNlcXVlbmNl LXdhcm5pbmdzLXctcmVnZXgtcGF0dGVybi5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIDEx ZWEyYzQ1ZDViODhjOTJiMjVhYjhlODAyN2E5MzFkZjgxYzJhYmMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4K K0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxNDozNzo0MSArMDIwMAorU3ViamVjdDogW1BBVENIXSBG SVg6IGludmFsaWQgZXNjYXBlIHNlcXVlbmNlIHdhcm5pbmdzICh3LyByZWdleCBwYXR0ZXJucyku CisKKy0tLQorIHRlc3RzL3VuaXQvdGVzdF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxfcHJvYy5w eSB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfYmVoYXZlNGNtZF9jb21tYW5kX3No ZWxsX3Byb2MucHkgYi90ZXN0cy91bml0L3Rlc3RfYmVoYXZlNGNtZF9jb21tYW5kX3NoZWxsX3By b2MucHkKK2luZGV4IGFhZTVlOWYuLmM0NWFiM2IgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rl c3RfYmVoYXZlNGNtZF9jb21tYW5kX3NoZWxsX3Byb2MucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVz dF9iZWhhdmU0Y21kX2NvbW1hbmRfc2hlbGxfcHJvYy5weQorQEAgLTEsNSArMSw1IEBACisgIyAt Ki0gY29kaW5nOiBVVEYtOCAtKi0KKy0iIiIKKytyIiIiCisgCisgUmVndWxhciBleHByZXNzaW9u cyBmb3Igd2lucGF0aDoKKyBodHRwOi8vcmVnZXhsaWIuY29tL1NlYXJjaC5hc3B4P2s9ZmlsZStu YW1lCitAQCAtNjEsNyArNjEsNyBAQCBsaW5lX3Byb2Nlc3Nvcl9pb2Vycm9ycyA9IFsKKyAKKyBs aW5lX3Byb2Nlc3Nvcl90cmFjZWJhY2sgPSBbCisgICAgIEV4Y2VwdGlvbldpdGhQYXRoTm9ybWFs aXplcigKKy0gICAgICAgICdeXHMqRmlsZSAiKD9QPHBhdGg+LiopIiwgbGluZSBcZCssIGluICcs CisrICAgICAgICByJ15ccypGaWxlICIoP1A8cGF0aD4uKikiLCBsaW5lIFxkKywgaW4gJywKKyAg ICAgICAgICcgIEZpbGUgIicpLAorICAgICBCZWhhdmVXaW5Db21tYW5kT3V0cHV0UHJvY2Vzc29y LmxpbmVfcHJvY2Vzc29yc1s0XSwKKyBdCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI2LURFUFJFQ0FUSU5HLUNMRUFOVVAt TW92ZS1kZXByZWNhdGVkLXRhZy1tYXRjaGVyLWNsYXMucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI2LURFUFJFQ0FUSU5HLUNMRUFO VVAtTW92ZS1kZXByZWNhdGVkLXRhZy1tYXRjaGVyLWNsYXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi42N2VhODg2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI2LURFUFJF Q0FUSU5HLUNMRUFOVVAtTW92ZS1kZXByZWNhdGVkLXRhZy1tYXRjaGVyLWNsYXMucGF0Y2gKQEAg LTAsMCArMSwxMDIwIEBACitGcm9tIDcyMjc5ZDg3MzcyY2YyMWQ5ODBjNDBkMDFmY2UyZjU5YmI3 MzQ4ODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVz ZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxNjowNDo0MyAr MDIwMAorU3ViamVjdDogW1BBVENIXSBERVBSRUNBVElORy1DTEVBTlVQOiBNb3ZlIGRlcHJlY2F0 ZWQgdGFnIG1hdGNoZXIgY2xhc3NlcworCistIGJlaGF2ZS50YWdfbWF0Y2hlci5Pbmx5V2l0aENh dGVnb3J5VGFnTWF0Y2hlcgorLSBiZWhhdmUudGFnX21hdGNoZXIuT25seVdpdGhBbnlDYXRlZ29y eVRhZ01hdGNoZXIKKwordG8gImJlaGF2ZS5hdHRpYy50YWdfbWF0Y2hlciIuCitNb3ZlIHJlbGF0 ZWQgdW5pdCB0ZXN0cyB0byAidGVzdHMuYXR0aWMvdW5pdC90ZXN0X3RhZ19tYXRjaGVyLnB5Ii4K Ky0tLQorIGJlaGF2ZS9hdHRpYy9fX2luaXRfXy5weSAgICAgICAgICAgICB8ICAgMAorIGJlaGF2 ZS9hdHRpYy90YWdfbWF0Y2hlci5weSAgICAgICAgICB8IDE4MSArKysrKysrKysrKysrKysrKwor IGJlaGF2ZS90YWdfbWF0Y2hlci5weSAgICAgICAgICAgICAgICB8IDE4OSArLS0tLS0tLS0tLS0t LS0tLS0KKyB0ZXN0cy5hdHRpYy9fX2luaXRfXy5weSAgICAgICAgICAgICAgfCAgIDAKKyB0ZXN0 cy5hdHRpYy91bml0L19faW5pdF9fLnB5ICAgICAgICAgfCAgIDAKKyB0ZXN0cy5hdHRpYy91bml0 L3Rlc3RfdGFnX21hdGNoZXIucHkgfCAyODAgKysrKysrKysrKysrKysrKysrKysrKysrKysrCisg dGVzdHMvdW5pdC90ZXN0X3RhZ19tYXRjaGVyLnB5ICAgICAgIHwgMjc5ICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgNyBmaWxlcyBjaGFuZ2VkLCA0NzAgaW5zZXJ0aW9ucygrKSwgNDU5IGRl bGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhhdmUvYXR0aWMvX19pbml0X18ucHkK KyBjcmVhdGUgbW9kZSAxMDA2NDQgYmVoYXZlL2F0dGljL3RhZ19tYXRjaGVyLnB5CisgY3JlYXRl IG1vZGUgMTAwNjQ0IHRlc3RzLmF0dGljL19faW5pdF9fLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0 IHRlc3RzLmF0dGljL3VuaXQvX19pbml0X18ucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMu YXR0aWMvdW5pdC90ZXN0X3RhZ19tYXRjaGVyLnB5CisKK2RpZmYgLS1naXQgYS9iZWhhdmUvYXR0 aWMvX19pbml0X18ucHkgYi9iZWhhdmUvYXR0aWMvX19pbml0X18ucHkKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwLi5lNjlkZTI5CitkaWZmIC0tZ2l0IGEvYmVoYXZlL2F0dGlj L3RhZ19tYXRjaGVyLnB5IGIvYmVoYXZlL2F0dGljL3RhZ19tYXRjaGVyLnB5CituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZjA3ZGNiZgorLS0tIC9kZXYvbnVsbAorKysrIGIv YmVoYXZlL2F0dGljL3RhZ19tYXRjaGVyLnB5CitAQCAtMCwwICsxLDE4MSBAQAorKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKysjIFBST1RPVFlQSU5HIENMQVNTRVM6IFNob3VsZCBubyBsb25nZXIg YmUgdXNlZAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytpbXBvcnQgd2FybmluZ3MKKytm cm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgVGFnTWF0Y2hlcgorKworKworK2NsYXNzIE9u bHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyKFRhZ01hdGNoZXIpOgorKyAgICAiIiIKKysgICAgUHJv dmlkZXMgYSB0YWcgbWF0Y2hlciB0aGF0IGFsbG93cyB0byBkZXRlcm1pbmUgaWYgZmVhdHVyZS9z Y2VuYXJpbworKyAgICBzaG91bGQgcnVuIG9yIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHRoZSBy dW4tc2V0IChhdCBydW50aW1lKS4KKysKKysgICAgLi4gZGVwcmVjYXRlZDo6IFVzZSA6Y2xhc3M6 YEFjdGl2ZVRhZ01hdGNoZXJgIGluc3RlYWQuCisrCisrICAgIEVYQU1QTEU6CisrICAgIC0tLS0t LS0tCisrCisrICAgIFJ1biBzb21lIHNjZW5hcmlvcyBvbmx5IHdoZW4gcnVudGltZSBjb25kaXRp b25zIGFyZSBtZXQ6CisrCisrICAgICAgKiBSdW4gc2NlbmFyaW8gQWxpY2Ugb25seSBvbiBXaW5k b3dzIE9TCisrICAgICAgKiBSdW4gc2NlbmFyaW8gQm9iIG9ubHkgb24gTUFDT1NYCisrCisrICAg IC4uIGNvZGUtYmxvY2s6OiBnaGVya2luCisrCisrICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVz L2FsaWNlLmZlYXR1cmUKKysgICAgICAgICMgVEFHIFNDSEVNQTogQG9ubHkud2l0aF97Y2F0ZWdv cnl9PXtjdXJyZW50X3ZhbHVlfQorKyAgICAgICAgRmVhdHVyZToKKysKKysgICAgICAgICAgQG9u bHkud2l0aF9vcz13aW4zMgorKyAgICAgICAgICBTY2VuYXJpbzogQWxpY2UgKFJ1biBvbmx5IG9u IFdpbmRvd3MpCisrICAgICAgICAgICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcKKysgICAgICAgICAg ICAuLi4KKysKKysgICAgICAgICAgQG9ubHkud2l0aF9vcz1kYXJ3aW4KKysgICAgICAgICAgU2Nl bmFyaW86IEJvYiAoUnVuIG9ubHkgb24gTUFDT1NYKQorKyAgICAgICAgICAgIEdpdmVuIEkgZG8g c29tZXRoaW5nIGVsc2UKKysgICAgICAgICAgICAuLi4KKysKKysKKysgICAgLi4gY29kZS1ibG9j azo6IHB5dGhvbgorKworKyAgICAgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5w eQorKyAgICAgICAgZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0IE9ubHlXaXRoQ2F0ZWdv cnlUYWdNYXRjaGVyCisrICAgICAgICBpbXBvcnQgc3lzCisrCisrICAgICAgICAjIC0tIE1BVENI RVMgVEFHUzogQG9ubHkud2l0aF97Y2F0ZWdvcnl9PSogPSBAb25seS53aXRoX29zPSoKKysgICAg ICAgIGFjdGl2ZV90YWdfbWF0Y2hlciA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyKCJvcyIs IHN5cy5wbGF0Zm9ybSkKKysKKysgICAgICAgIGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwg c2NlbmFyaW8pOgorKyAgICAgICAgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2ZV90YWdzKToKKysgICAgICAgICAgICAgICAgc2Nl bmFyaW8uc2tpcCgpICAgIzwgTEFURS1FWENMVURFIGZyb20gcnVuLXNldC4KKysgICAgIiIiCisr ICAgIHRhZ19wcmVmaXggPSAib25seS53aXRoXyIKKysgICAgdmFsdWVfc2VwYXJhdG9yID0gIj0i CisrCisrICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjYXRlZ29yeSwgdmFsdWUsIHRhZ19wcmVmaXg9 Tm9uZSwgdmFsdWVfc2VwPU5vbmUpOgorKyAgICAgICAgd2FybmluZ3Mud2FybigiVXNlIEFjdGl2 ZVRhZ01hdGNoZXIgaW5zdGVhZC4iLCBEZXByZWNhdGlvbldhcm5pbmcpCisrICAgICAgICBzdXBl cihPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlciwgc2VsZikuX19pbml0X18oKQorKyAgICAgICAg c2VsZi5hY3RpdmVfdGFnID0gc2VsZi5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgdmFsdWUs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ19w cmVmaXgsIHZhbHVlX3NlcCkKKysgICAgICAgIHNlbGYuY2F0ZWdvcnlfdGFnX3ByZWZpeCA9IHNl bGYubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksIE5vbmUsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ19wcmVmaXgsIHZhbHVl X3NlcCkKKysKKysgICAgZGVmIHNob3VsZF9leGNsdWRlX3dpdGgoc2VsZiwgdGFncyk6CisrICAg ICAgICBjYXRlZ29yeV90YWdzID0gc2VsZi5zZWxlY3RfY2F0ZWdvcnlfdGFncyh0YWdzKQorKyAg ICAgICAgaWYgY2F0ZWdvcnlfdGFncyBhbmQgc2VsZi5hY3RpdmVfdGFnIG5vdCBpbiBjYXRlZ29y eV90YWdzOgorKyAgICAgICAgICAgIHJldHVybiBUcnVlCisrICAgICAgICAjIC0tIE9USEVSV0lT RTogZmVhdHVyZS9zY2VuYXJpbyB3aXRoIHRoZXNlcyB0YWdzIHNob3VsZCBydW4uCisrICAgICAg ICByZXR1cm4gRmFsc2UKKysKKysgICAgZGVmIHNlbGVjdF9jYXRlZ29yeV90YWdzKHNlbGYsIHRh Z3MpOgorKyAgICAgICAgcmV0dXJuIFt0YWcgIGZvciB0YWcgaW4gdGFncworKyAgICAgICAgICAg ICAgICBpZiB0YWcuc3RhcnRzd2l0aChzZWxmLmNhdGVnb3J5X3RhZ19wcmVmaXgpXQorKworKyAg ICBAY2xhc3NtZXRob2QKKysgICAgZGVmIG1ha2VfY2F0ZWdvcnlfdGFnKGNscywgY2F0ZWdvcnks IHZhbHVlPU5vbmUsIHRhZ19wcmVmaXg9Tm9uZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg IHZhbHVlX3NlcD1Ob25lKToKKysgICAgICAgIGlmIHRhZ19wcmVmaXggaXMgTm9uZToKKysgICAg ICAgICAgICB0YWdfcHJlZml4ID0gY2xzLnRhZ19wcmVmaXgKKysgICAgICAgIGlmIHZhbHVlX3Nl cCBpcyBOb25lOgorKyAgICAgICAgICAgIHZhbHVlX3NlcCA9IGNscy52YWx1ZV9zZXBhcmF0b3IK KysgICAgICAgIHZhbHVlID0gdmFsdWUgb3IgIiIKKysgICAgICAgIHJldHVybiAiJXMlcyVzJXMi ICUgKHRhZ19wcmVmaXgsIGNhdGVnb3J5LCB2YWx1ZV9zZXAsIHZhbHVlKQorKworKworK2NsYXNz IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKFRhZ01hdGNoZXIpOgorKyAgICAiIiIKKysg ICAgUHJvdmlkZXMgYSB0YWcgbWF0Y2hlciB0aGF0IG1hdGNoZXMgYW55IGNhdGVnb3J5IHRoYXQg Zm9sbG93cyB0aGUKKysgICAgIkBvbmx5LndpdGhfIiB0YWcgc2NoZW1hIGFuZCBkZXRlcm1pbmVz IGlmIGl0IHNob3VsZCBydW4gb3IKKysgICAgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIHJ1 bi1zZXQgKGF0IHJ1bnRpbWUpLgorKworKyAgICBUQUcgU0NIRU1BOiBAb25seS53aXRoX3tjYXRl Z29yeX09e3ZhbHVlfQorKworKyAgICAuLiBzZWVhbHNvOjogT25seVdpdGhDYXRlZ29yeVRhZ01h dGNoZXIKKysgICAgLi4gZGVwcmVjYXRlZDo6IFVzZSA6Y2xhc3M6YEFjdGl2ZVRhZ01hdGNoZXJg IGluc3RlYWQuCisrCisrICAgIEVYQU1QTEU6CisrICAgIC0tLS0tLS0tCisrCisrICAgIFJ1biBz b21lIHNjZW5hcmlvcyBvbmx5IHdoZW4gcnVudGltZSBjb25kaXRpb25zIGFyZSBtZXQ6CisrCisr ICAgICAgKiBSdW4gc2NlbmFyaW8gQWxpY2Ugb25seSBvbiBXaW5kb3dzIE9TCisrICAgICAgKiBS dW4gc2NlbmFyaW8gQm9iIG9ubHkgd2l0aCBicm93c2VyIENocm9tZQorKworKyAgICAuLiBjb2Rl LWJsb2NrOjogZ2hlcmtpbgorKworKyAgICAgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9hbGljZS5m ZWF0dXJlCisrICAgICAgICAjIFRBRyBTQ0hFTUE6IEBvbmx5LndpdGhfe2NhdGVnb3J5fT17Y3Vy cmVudF92YWx1ZX0KKysgICAgICAgIEZlYXR1cmU6CisrCisrICAgICAgICAgIEBvbmx5LndpdGhf b3M9d2luMzIKKysgICAgICAgICAgU2NlbmFyaW86IEFsaWNlIChSdW4gb25seSBvbiBXaW5kb3dz KQorKyAgICAgICAgICAgIEdpdmVuIEkgZG8gc29tZXRoaW5nCisrICAgICAgICAgICAgLi4uCisr CisrICAgICAgICAgIEBvbmx5LndpdGhfYnJvd3Nlcj1jaHJvbWUKKysgICAgICAgICAgU2NlbmFy aW86IEJvYiAoUnVuIG9ubHkgd2l0aCBXZWItQnJvd3NlciBDaHJvbWUpCisrICAgICAgICAgICAg R2l2ZW4gSSBkbyBzb21ldGhpbmcgZWxzZQorKyAgICAgICAgICAgIC4uLgorKworKworKyAgICAu LiBjb2RlLWJsb2NrOjogcHl0aG9uCisrCisrICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2Vu dmlyb25tZW50LnB5CisrICAgICAgICBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgT25s eVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIKKysgICAgICAgIGltcG9ydCBzeXMKKysKKysgICAg ICAgICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzogQG9ubHkud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0K KysgICAgICAgICMgTk9URTogYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBjdXJy ZW50IGNhdGVnb3J5IHZhbHVlcy4KKysgICAgICAgIGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIg PSB7CisrICAgICAgICAgICAgImJyb3dzZXIiOiBvcy5lbnZpcm9uLmdldCgiQkVIQVZFX0JST1dT RVIiLCAiY2hyb21lIiksCisrICAgICAgICAgICAgIm9zIjogICAgICBzeXMucGxhdGZvcm0sCisr ICAgICAgICB9CisrICAgICAgICBhY3RpdmVfdGFnX21hdGNoZXIgPSBPbmx5V2l0aEFueUNhdGVn b3J5VGFnTWF0Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyKQorKworKyAgICAgICAgZGVm IGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6CisrICAgICAgICAgICAgaWYgYWN0 aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3Rh Z3MpOgorKyAgICAgICAgICAgICAgICBzY2VuYXJpby5za2lwKCkgICAjPCBMQVRFLUVYQ0xVREUg ZnJvbSBydW4tc2V0LgorKyAgICAiIiIKKysKKysgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVl X3Byb3ZpZGVyLCB0YWdfcHJlZml4PU5vbmUsIHZhbHVlX3NlcD1Ob25lKToKKysgICAgICAgIHdh cm5pbmdzLndhcm4oIlVzZSBBY3RpdmVUYWdNYXRjaGVyIGluc3RlYWQuIiwgRGVwcmVjYXRpb25X YXJuaW5nKQorKyAgICAgICAgc3VwZXIoT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIsIHNl bGYpLl9faW5pdF9fKCkKKysgICAgICAgIGlmIHZhbHVlX3NlcCBpcyBOb25lOgorKyAgICAgICAg ICAgIHZhbHVlX3NlcCA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLnZhbHVlX3NlcGFyYXRv cgorKyAgICAgICAgc2VsZi52YWx1ZV9wcm92aWRlciA9IHZhbHVlX3Byb3ZpZGVyCisrICAgICAg ICBzZWxmLnRhZ19wcmVmaXggPSB0YWdfcHJlZml4IG9yIE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRj aGVyLnRhZ19wcmVmaXgKKysgICAgICAgIHNlbGYudmFsdWVfc2VwYXJhdG9yID0gdmFsdWVfc2Vw CisrCisrICAgIGRlZiBzaG91bGRfZXhjbHVkZV93aXRoKHNlbGYsIHRhZ3MpOgorKyAgICAgICAg ZXhjbHVkZV9kZWNpc2lvbl9tYXAgPSB7fQorKyAgICAgICAgZm9yIGNhdGVnb3J5X3RhZyBpbiBz ZWxmLnNlbGVjdF9jYXRlZ29yeV90YWdzKHRhZ3MpOgorKyAgICAgICAgICAgIGNhdGVnb3J5LCB2 YWx1ZSA9IHNlbGYucGFyc2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5X3RhZykKKysgICAgICAgICAg ICBhY3RpdmVfdmFsdWUgPSBzZWxmLnZhbHVlX3Byb3ZpZGVyLmdldChjYXRlZ29yeSwgTm9uZSkK KysgICAgICAgICAgICBpZiBhY3RpdmVfdmFsdWUgaXMgTm9uZToKKysgICAgICAgICAgICAgICAg IyAtLSBDQVNFOiBVbmtub3duIGNhdGVnb3J5LCBpZ25vcmUgaXQuCisrICAgICAgICAgICAgICAg IGNvbnRpbnVlCisrICAgICAgICAgICAgZWxpZiBhY3RpdmVfdmFsdWUgPT0gdmFsdWU6CisrICAg ICAgICAgICAgICAgICMgLS0gQ0FTRTogQWN0aXZlIGNhdGVnb3J5IHZhbHVlIHNlbGVjdGVkLCBk ZWNpc2lvbiBzaG91bGQgcnVuLgorKyAgICAgICAgICAgICAgICBleGNsdWRlX2RlY2lzaW9uX21h cFtjYXRlZ29yeV0gPSBGYWxzZQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAg ICMgLS0gQ0FTRTogSW5hY3RpdmUgY2F0ZWdvcnkgdmFsdWUgc2VsZWN0ZWQsIG1heSBleGNsdWRl IGl0LgorKyAgICAgICAgICAgICAgICBpZiBjYXRlZ29yeSBub3QgaW4gZXhjbHVkZV9kZWNpc2lv bl9tYXA6CisrICAgICAgICAgICAgICAgICAgICBleGNsdWRlX2RlY2lzaW9uX21hcFtjYXRlZ29y eV0gPSBUcnVlCisrICAgICAgICByZXR1cm4gYW55KGV4Y2x1ZGVfZGVjaXNpb25fbWFwLnZhbHVl cygpKQorKworKyAgICBkZWYgc2VsZWN0X2NhdGVnb3J5X3RhZ3Moc2VsZiwgdGFncyk6CisrICAg ICAgICByZXR1cm4gW3RhZyAgZm9yIHRhZyBpbiB0YWdzCisrICAgICAgICAgICAgICAgIGlmIHRh Zy5zdGFydHN3aXRoKHNlbGYudGFnX3ByZWZpeCldCisrCisrICAgIGRlZiBwYXJzZV9jYXRlZ29y eV90YWcoc2VsZiwgdGFnKToKKysgICAgICAgIGFzc2VydCB0YWcgYW5kIHRhZy5zdGFydHN3aXRo KHNlbGYudGFnX3ByZWZpeCkKKysgICAgICAgIGNhdGVnb3J5X3ZhbHVlID0gdGFnW2xlbihzZWxm LnRhZ19wcmVmaXgpOl0KKysgICAgICAgIGlmIHNlbGYudmFsdWVfc2VwYXJhdG9yIGluIGNhdGVn b3J5X3ZhbHVlOgorKyAgICAgICAgICAgIGNhdGVnb3J5LCB2YWx1ZSA9IGNhdGVnb3J5X3ZhbHVl LnNwbGl0KHNlbGYudmFsdWVfc2VwYXJhdG9yLCAxKQorKyAgICAgICAgZWxzZToKKysgICAgICAg ICAgICAjIC0tIE9PUFM6IFRBRyBTQ0hFTUEgRk9STUFUIE1JU01BVENICisrICAgICAgICAgICAg Y2F0ZWdvcnkgPSBjYXRlZ29yeV92YWx1ZQorKyAgICAgICAgICAgIHZhbHVlID0gTm9uZQorKyAg ICAgICAgcmV0dXJuIGNhdGVnb3J5LCB2YWx1ZQorZGlmZiAtLWdpdCBhL2JlaGF2ZS90YWdfbWF0 Y2hlci5weSBiL2JlaGF2ZS90YWdfbWF0Y2hlci5weQoraW5kZXggZjFmOTU1Yi4uNWY5ZGNlMCAx MDA2NDQKKy0tLSBhL2JlaGF2ZS90YWdfbWF0Y2hlci5weQorKysrIGIvYmVoYXZlL3RhZ19tYXRj aGVyLnB5CitAQCAtMSw5ICsxLDEyIEBACistIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysjIC0q LSBjb2Rpbmc6IFVURi04IC0qLQorKyIiIgorK0NvbnRhaW5zIGNsYXNzZXMgYW5kIGZ1bmN0aW9u YWxpdHkgdG8gcHJvdmlkZSBhIHNraXAtaWYgbG9naWMgYmFzZWQgb24gdGFncworK2luIGZlYXR1 cmUgZmlsZXMuCisrIiIiCisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBv cnQKKyBpbXBvcnQgcmUKKyBpbXBvcnQgb3BlcmF0b3IKKy1pbXBvcnQgd2FybmluZ3MKKyBpbXBv cnQgc2l4CisgCisgCitAQCAtMzQsMTAgKzM3LDEwIEBAIGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIo VGFnTWF0Y2hlcik6CisgICAgICIiIlByb3ZpZGVzIGFuIGFjdGl2ZSB0YWcgbWF0Y2hlciBmb3Ig bWFueSBjYXRlZ29yaWVzLgorIAorICAgICBUQUcgU0NIRU1BOgorLSAgICAgICogYWN0aXZlLndp dGhfe2NhdGVnb3J5fT17dmFsdWV9CistICAgICAgKiBub3RfYWN0aXZlLndpdGhfe2NhdGVnb3J5 fT17dmFsdWV9CisgICAgICAgKiB1c2Uud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKyAgICAgICAq IG5vdC53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorKyAgICAgICogYWN0aXZlLndpdGhfe2NhdGVn b3J5fT17dmFsdWV9CisrICAgICAgKiBub3RfYWN0aXZlLndpdGhfe2NhdGVnb3J5fT17dmFsdWV9 CisgICAgICAgKiBvbmx5LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9ICAgICAgICAoTk9URTogRm9y IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpCisgCisgICAgIFRBRyBMT0dJQworQEAgLTI4NSwxODEg KzI4OCwzIEBAIGRlZiBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlcywg ZGF0YSk6CisgICAgIGZvciBjYXRlZ29yeSBpbiBsaXN0KGFjdGl2ZV90YWdfdmFsdWVzLmtleXMo KSk6CisgICAgICAgICBpZiBjYXRlZ29yeSBpbiBkYXRhOgorICAgICAgICAgICAgIGFjdGl2ZV90 YWdfdmFsdWVzW2NhdGVnb3J5XSA9IGRhdGFbY2F0ZWdvcnldCistCistCistIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorLSMgUFJPVE9UWVBJTkcgQ0xBU1NFUzoKKy0jIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCistY2xhc3MgT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CistICAg ICIiIgorLSAgICBQcm92aWRlcyBhIHRhZyBtYXRjaGVyIHRoYXQgYWxsb3dzIHRvIGRldGVybWlu ZSBpZiBmZWF0dXJlL3NjZW5hcmlvCistICAgIHNob3VsZCBydW4gb3Igc2hvdWxkIGJlIGV4Y2x1 ZGVkIGZyb20gdGhlIHJ1bi1zZXQgKGF0IHJ1bnRpbWUpLgorLQorLSAgICAuLiBkZXByZWNhdGVk OjogVXNlIDpjbGFzczpgQWN0aXZlVGFnTWF0Y2hlcmAgaW5zdGVhZC4KKy0KKy0gICAgRVhBTVBM RToKKy0gICAgLS0tLS0tLS0KKy0KKy0gICAgUnVuIHNvbWUgc2NlbmFyaW9zIG9ubHkgd2hlbiBy dW50aW1lIGNvbmRpdGlvbnMgYXJlIG1ldDoKKy0KKy0gICAgICAqIFJ1biBzY2VuYXJpbyBBbGlj ZSBvbmx5IG9uIFdpbmRvd3MgT1MKKy0gICAgICAqIFJ1biBzY2VuYXJpbyBCb2Igb25seSBvbiBN QUNPU1gKKy0KKy0gICAgLi4gY29kZS1ibG9jazo6IGdoZXJraW4KKy0KKy0gICAgICAgICMgLS0g RklMRTogZmVhdHVyZXMvYWxpY2UuZmVhdHVyZQorLSAgICAgICAgIyBUQUcgU0NIRU1BOiBAb25s eS53aXRoX3tjYXRlZ29yeX09e2N1cnJlbnRfdmFsdWV9CistICAgICAgICBGZWF0dXJlOgorLQor LSAgICAgICAgICBAb25seS53aXRoX29zPXdpbjMyCistICAgICAgICAgIFNjZW5hcmlvOiBBbGlj ZSAoUnVuIG9ubHkgb24gV2luZG93cykKKy0gICAgICAgICAgICBHaXZlbiBJIGRvIHNvbWV0aGlu ZworLSAgICAgICAgICAgIC4uLgorLQorLSAgICAgICAgICBAb25seS53aXRoX29zPWRhcndpbgor LSAgICAgICAgICBTY2VuYXJpbzogQm9iIChSdW4gb25seSBvbiBNQUNPU1gpCistICAgICAgICAg ICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcgZWxzZQorLSAgICAgICAgICAgIC4uLgorLQorLQorLSAg ICAuLiBjb2RlLWJsb2NrOjogcHl0aG9uCistCistICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVz L2Vudmlyb25tZW50LnB5CistICAgICAgICBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQg T25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKy0gICAgICAgIGltcG9ydCBzeXMKKy0KKy0gICAg ICAgICMgLS0gTUFUQ0hFUyBUQUdTOiBAb25seS53aXRoX3tjYXRlZ29yeX09KiA9IEBvbmx5Lndp dGhfb3M9KgorLSAgICAgICAgYWN0aXZlX3RhZ19tYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRh Z01hdGNoZXIoIm9zIiwgc3lzLnBsYXRmb3JtKQorLQorLSAgICAgICAgZGVmIGJlZm9yZV9zY2Vu YXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6CistICAgICAgICAgICAgaWYgYWN0aXZlX3RhZ19tYXRj aGVyLnNob3VsZF9leGNsdWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3MpOgorLSAgICAg ICAgICAgICAgICBzY2VuYXJpby5za2lwKCkgICAjPCBMQVRFLUVYQ0xVREUgZnJvbSBydW4tc2V0 LgorLSAgICAiIiIKKy0gICAgdGFnX3ByZWZpeCA9ICJvbmx5LndpdGhfIgorLSAgICB2YWx1ZV9z ZXBhcmF0b3IgPSAiPSIKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGNhdGVnb3J5LCB2YWx1 ZSwgdGFnX3ByZWZpeD1Ob25lLCB2YWx1ZV9zZXA9Tm9uZSk6CistICAgICAgICB3YXJuaW5ncy53 YXJuKCJVc2UgQWN0aXZlVGFnTWF0Y2hlciBpbnN0ZWFkLiIsIERlcHJlY2F0aW9uV2FybmluZykK Ky0gICAgICAgIHN1cGVyKE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLCBzZWxmKS5fX2luaXRf XygpCistICAgICAgICBzZWxmLmFjdGl2ZV90YWcgPSBzZWxmLm1ha2VfY2F0ZWdvcnlfdGFnKGNh dGVnb3J5LCB2YWx1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdGFnX3ByZWZpeCwgdmFsdWVfc2VwKQorLSAgICAgICAgc2VsZi5jYXRlZ29yeV90 YWdfcHJlZml4ID0gc2VsZi5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgTm9uZSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFn X3ByZWZpeCwgdmFsdWVfc2VwKQorLQorLSAgICBkZWYgc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxm LCB0YWdzKToKKy0gICAgICAgIGNhdGVnb3J5X3RhZ3MgPSBzZWxmLnNlbGVjdF9jYXRlZ29yeV90 YWdzKHRhZ3MpCistICAgICAgICBpZiBjYXRlZ29yeV90YWdzIGFuZCBzZWxmLmFjdGl2ZV90YWcg bm90IGluIGNhdGVnb3J5X3RhZ3M6CistICAgICAgICAgICAgcmV0dXJuIFRydWUKKy0gICAgICAg ICMgLS0gT1RIRVJXSVNFOiBmZWF0dXJlL3NjZW5hcmlvIHdpdGggdGhlc2VzIHRhZ3Mgc2hvdWxk IHJ1bi4KKy0gICAgICAgIHJldHVybiBGYWxzZQorLQorLSAgICBkZWYgc2VsZWN0X2NhdGVnb3J5 X3RhZ3Moc2VsZiwgdGFncyk6CistICAgICAgICByZXR1cm4gW3RhZyAgZm9yIHRhZyBpbiB0YWdz CistICAgICAgICAgICAgICAgIGlmIHRhZy5zdGFydHN3aXRoKHNlbGYuY2F0ZWdvcnlfdGFnX3By ZWZpeCldCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgbWFrZV9jYXRlZ29yeV90YWco Y2xzLCBjYXRlZ29yeSwgdmFsdWU9Tm9uZSwgdGFnX3ByZWZpeD1Ob25lLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgdmFsdWVfc2VwPU5vbmUpOgorLSAgICAgICAgaWYgdGFnX3ByZWZpeCBp cyBOb25lOgorLSAgICAgICAgICAgIHRhZ19wcmVmaXggPSBjbHMudGFnX3ByZWZpeAorLSAgICAg ICAgaWYgdmFsdWVfc2VwIGlzIE5vbmU6CistICAgICAgICAgICAgdmFsdWVfc2VwID0gY2xzLnZh bHVlX3NlcGFyYXRvcgorLSAgICAgICAgdmFsdWUgPSB2YWx1ZSBvciAiIgorLSAgICAgICAgcmV0 dXJuICIlcyVzJXMlcyIgJSAodGFnX3ByZWZpeCwgY2F0ZWdvcnksIHZhbHVlX3NlcCwgdmFsdWUp CistCistCistY2xhc3MgT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6 CistICAgICIiIgorLSAgICBQcm92aWRlcyBhIHRhZyBtYXRjaGVyIHRoYXQgbWF0Y2hlcyBhbnkg Y2F0ZWdvcnkgdGhhdCBmb2xsb3dzIHRoZQorLSAgICAiQG9ubHkud2l0aF8iIHRhZyBzY2hlbWEg YW5kIGRldGVybWluZXMgaWYgaXQgc2hvdWxkIHJ1biBvcgorLSAgICBzaG91bGQgYmUgZXhjbHVk ZWQgZnJvbSB0aGUgcnVuLXNldCAoYXQgcnVudGltZSkuCistCistICAgIFRBRyBTQ0hFTUE6IEBv bmx5LndpdGhfe2NhdGVnb3J5fT17dmFsdWV9CistCistICAgIC4uIHNlZWFsc286OiBPbmx5V2l0 aENhdGVnb3J5VGFnTWF0Y2hlcgorLSAgICAuLiBkZXByZWNhdGVkOjogVXNlIDpjbGFzczpgQWN0 aXZlVGFnTWF0Y2hlcmAgaW5zdGVhZC4KKy0KKy0gICAgRVhBTVBMRToKKy0gICAgLS0tLS0tLS0K Ky0KKy0gICAgUnVuIHNvbWUgc2NlbmFyaW9zIG9ubHkgd2hlbiBydW50aW1lIGNvbmRpdGlvbnMg YXJlIG1ldDoKKy0KKy0gICAgICAqIFJ1biBzY2VuYXJpbyBBbGljZSBvbmx5IG9uIFdpbmRvd3Mg T1MKKy0gICAgICAqIFJ1biBzY2VuYXJpbyBCb2Igb25seSB3aXRoIGJyb3dzZXIgQ2hyb21lCist CistICAgIC4uIGNvZGUtYmxvY2s6OiBnaGVya2luCistCistICAgICAgICAjIC0tIEZJTEU6IGZl YXR1cmVzL2FsaWNlLmZlYXR1cmUKKy0gICAgICAgICMgVEFHIFNDSEVNQTogQG9ubHkud2l0aF97 Y2F0ZWdvcnl9PXtjdXJyZW50X3ZhbHVlfQorLSAgICAgICAgRmVhdHVyZToKKy0KKy0gICAgICAg ICAgQG9ubHkud2l0aF9vcz13aW4zMgorLSAgICAgICAgICBTY2VuYXJpbzogQWxpY2UgKFJ1biBv bmx5IG9uIFdpbmRvd3MpCistICAgICAgICAgICAgR2l2ZW4gSSBkbyBzb21ldGhpbmcKKy0gICAg ICAgICAgICAuLi4KKy0KKy0gICAgICAgICAgQG9ubHkud2l0aF9icm93c2VyPWNocm9tZQorLSAg ICAgICAgICBTY2VuYXJpbzogQm9iIChSdW4gb25seSB3aXRoIFdlYi1Ccm93c2VyIENocm9tZSkK Ky0gICAgICAgICAgICBHaXZlbiBJIGRvIHNvbWV0aGluZyBlbHNlCistICAgICAgICAgICAgLi4u CistCistCistICAgIC4uIGNvZGUtYmxvY2s6OiBweXRob24KKy0KKy0gICAgICAgICMgLS0gRklM RTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKy0gICAgICAgIGZyb20gYmVoYXZlLnRhZ19tYXRj aGVyIGltcG9ydCBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcgorLSAgICAgICAgaW1wb3J0 IHN5cworLQorLSAgICAgICAgIyAtLSBNQVRDSEVTIEFOWSBUQUdTOiBAb25seS53aXRoX3tjYXRl Z29yeX09e3ZhbHVlfQorLSAgICAgICAgIyBOT1RFOiBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVy IHByb3ZpZGVzIGN1cnJlbnQgY2F0ZWdvcnkgdmFsdWVzLgorLSAgICAgICAgYWN0aXZlX3RhZ192 YWx1ZV9wcm92aWRlciA9IHsKKy0gICAgICAgICAgICAiYnJvd3NlciI6IG9zLmVudmlyb24uZ2V0 KCJCRUhBVkVfQlJPV1NFUiIsICJjaHJvbWUiKSwKKy0gICAgICAgICAgICAib3MiOiAgICAgIHN5 cy5wbGF0Zm9ybSwKKy0gICAgICAgIH0KKy0gICAgICAgIGFjdGl2ZV90YWdfbWF0Y2hlciA9IE9u bHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIpCist CistICAgICAgICBkZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKy0gICAg ICAgICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJp by5lZmZlY3RpdmVfdGFncyk6CistICAgICAgICAgICAgICAgIHNjZW5hcmlvLnNraXAoKSAgICM8 IExBVEUtRVhDTFVERSBmcm9tIHJ1bi1zZXQuCistICAgICIiIgorLQorLSAgICBkZWYgX19pbml0 X18oc2VsZiwgdmFsdWVfcHJvdmlkZXIsIHRhZ19wcmVmaXg9Tm9uZSwgdmFsdWVfc2VwPU5vbmUp OgorLSAgICAgICAgd2FybmluZ3Mud2FybigiVXNlIEFjdGl2ZVRhZ01hdGNoZXIgaW5zdGVhZC4i LCBEZXByZWNhdGlvbldhcm5pbmcpCistICAgICAgICBzdXBlcihPbmx5V2l0aEFueUNhdGVnb3J5 VGFnTWF0Y2hlciwgc2VsZikuX19pbml0X18oKQorLSAgICAgICAgaWYgdmFsdWVfc2VwIGlzIE5v bmU6CistICAgICAgICAgICAgdmFsdWVfc2VwID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIu dmFsdWVfc2VwYXJhdG9yCistICAgICAgICBzZWxmLnZhbHVlX3Byb3ZpZGVyID0gdmFsdWVfcHJv dmlkZXIKKy0gICAgICAgIHNlbGYudGFnX3ByZWZpeCA9IHRhZ19wcmVmaXggb3IgT25seVdpdGhD YXRlZ29yeVRhZ01hdGNoZXIudGFnX3ByZWZpeAorLSAgICAgICAgc2VsZi52YWx1ZV9zZXBhcmF0 b3IgPSB2YWx1ZV9zZXAKKy0KKy0gICAgZGVmIHNob3VsZF9leGNsdWRlX3dpdGgoc2VsZiwgdGFn cyk6CistICAgICAgICBleGNsdWRlX2RlY2lzaW9uX21hcCA9IHt9CistICAgICAgICBmb3IgY2F0 ZWdvcnlfdGFnIGluIHNlbGYuc2VsZWN0X2NhdGVnb3J5X3RhZ3ModGFncyk6CistICAgICAgICAg ICAgY2F0ZWdvcnksIHZhbHVlID0gc2VsZi5wYXJzZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnlfdGFn KQorLSAgICAgICAgICAgIGFjdGl2ZV92YWx1ZSA9IHNlbGYudmFsdWVfcHJvdmlkZXIuZ2V0KGNh dGVnb3J5LCBOb25lKQorLSAgICAgICAgICAgIGlmIGFjdGl2ZV92YWx1ZSBpcyBOb25lOgorLSAg ICAgICAgICAgICAgICAjIC0tIENBU0U6IFVua25vd24gY2F0ZWdvcnksIGlnbm9yZSBpdC4KKy0g ICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICBlbGlmIGFjdGl2ZV92YWx1ZSA9 PSB2YWx1ZToKKy0gICAgICAgICAgICAgICAgIyAtLSBDQVNFOiBBY3RpdmUgY2F0ZWdvcnkgdmFs dWUgc2VsZWN0ZWQsIGRlY2lzaW9uIHNob3VsZCBydW4uCistICAgICAgICAgICAgICAgIGV4Y2x1 ZGVfZGVjaXNpb25fbWFwW2NhdGVnb3J5XSA9IEZhbHNlCistICAgICAgICAgICAgZWxzZToKKy0g ICAgICAgICAgICAgICAgIyAtLSBDQVNFOiBJbmFjdGl2ZSBjYXRlZ29yeSB2YWx1ZSBzZWxlY3Rl ZCwgbWF5IGV4Y2x1ZGUgaXQuCistICAgICAgICAgICAgICAgIGlmIGNhdGVnb3J5IG5vdCBpbiBl eGNsdWRlX2RlY2lzaW9uX21hcDoKKy0gICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGVfZGVjaXNp b25fbWFwW2NhdGVnb3J5XSA9IFRydWUKKy0gICAgICAgIHJldHVybiBhbnkoZXhjbHVkZV9kZWNp c2lvbl9tYXAudmFsdWVzKCkpCistCistICAgIGRlZiBzZWxlY3RfY2F0ZWdvcnlfdGFncyhzZWxm LCB0YWdzKToKKy0gICAgICAgIHJldHVybiBbdGFnICBmb3IgdGFnIGluIHRhZ3MKKy0gICAgICAg ICAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgoc2VsZi50YWdfcHJlZml4KV0KKy0KKy0gICAgZGVm IHBhcnNlX2NhdGVnb3J5X3RhZyhzZWxmLCB0YWcpOgorLSAgICAgICAgYXNzZXJ0IHRhZyBhbmQg dGFnLnN0YXJ0c3dpdGgoc2VsZi50YWdfcHJlZml4KQorLSAgICAgICAgY2F0ZWdvcnlfdmFsdWUg PSB0YWdbbGVuKHNlbGYudGFnX3ByZWZpeCk6XQorLSAgICAgICAgaWYgc2VsZi52YWx1ZV9zZXBh cmF0b3IgaW4gY2F0ZWdvcnlfdmFsdWU6CistICAgICAgICAgICAgY2F0ZWdvcnksIHZhbHVlID0g Y2F0ZWdvcnlfdmFsdWUuc3BsaXQoc2VsZi52YWx1ZV9zZXBhcmF0b3IsIDEpCistICAgICAgICBl bHNlOgorLSAgICAgICAgICAgICMgLS0gT09QUzogVEFHIFNDSEVNQSBGT1JNQVQgTUlTTUFUQ0gK Ky0gICAgICAgICAgICBjYXRlZ29yeSA9IGNhdGVnb3J5X3ZhbHVlCistICAgICAgICAgICAgdmFs dWUgPSBOb25lCistICAgICAgICByZXR1cm4gY2F0ZWdvcnksIHZhbHVlCitkaWZmIC0tZ2l0IGEv dGVzdHMuYXR0aWMvX19pbml0X18ucHkgYi90ZXN0cy5hdHRpYy9fX2luaXRfXy5weQorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmU2OWRlMjkKK2RpZmYgLS1naXQgYS90ZXN0 cy5hdHRpYy91bml0L19faW5pdF9fLnB5IGIvdGVzdHMuYXR0aWMvdW5pdC9fX2luaXRfXy5weQor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmU2OWRlMjkKK2RpZmYgLS1naXQg YS90ZXN0cy5hdHRpYy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkgYi90ZXN0cy5hdHRpYy91bml0 L3Rlc3RfdGFnX21hdGNoZXIucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw Li5kNzY3ZmE3CistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy5hdHRpYy91bml0L3Rlc3RfdGFn X21hdGNoZXIucHkKK0BAIC0wLDAgKzEsMjgwIEBACisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor KyMgUFJPVE9UWVBJTkcgQ0xBU1NFUyAoZGVwcmVjYXRpbmcpIC0tIFNob3VsZCBubyBsb25nZXIg YmUgdXNlZC4KKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisraW1wb3J0IHdhcm5pbmdzCisr ZnJvbSB1bml0dGVzdCBpbXBvcnQgVGVzdENhc2UKKytmcm9tIGJlaGF2ZS5hdHRpYy50YWdfbWF0 Y2hlciBpbXBvcnQgXAorKyAgICBPbmx5V2l0aENhdGVnb3J5VGFnTWF0Y2hlciwgIE9ubHlXaXRo QW55Q2F0ZWdvcnlUYWdNYXRjaGVyCisrCisrCisrY2xhc3MgVGVzdE9ubHlXaXRoQ2F0ZWdvcnlU YWdNYXRjaGVyKFRlc3RDYXNlKToKKysgICAgVGFnTWF0Y2hlciA9IE9ubHlXaXRoQ2F0ZWdvcnlU YWdNYXRjaGVyCisrCisrICAgIGRlZiBzZXRVcChzZWxmKToKKysgICAgICAgIGNhdGVnb3J5ID0g Inh4eCIKKysgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKKysgICAgICAg ICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykK KysgICAgICAgICAgICBzZWxmLnRhZ19tYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNo ZXIoY2F0ZWdvcnksICJhbGljZSIpCisrICAgICAgICBzZWxmLmVuYWJsZWRfdGFnID0gc2VsZi5U YWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYWxpY2UiKQorKyAgICAgICAg c2VsZi5zaW1pbGFyX3RhZyA9IHNlbGYuVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRl Z29yeSwgImFsaWNlMiIpCisrICAgICAgICBzZWxmLm90aGVyX3RhZyA9IHNlbGYuVGFnTWF0Y2hl ci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgIm90aGVyIikKKysgICAgICAgIHNlbGYuY2F0 ZWdvcnkgPSBjYXRlZ29yeQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19y ZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWcoc2VsZik6CisrICAgICAgICB0YWdzID0gWyBz ZWxmLmVuYWJsZWRfdGFnIF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYu dGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rf c2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX2VuYWJsZWRfdGFnX2FuZF9t b3JlKHNlbGYpOgorKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyBz ZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVyX3RhZyBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAg ICAgICAgICAoWyBzZWxmLm90aGVyX3RhZywgc2VsZi5lbmFibGVkX3RhZyBdLCAiY2FzZTogbGFz dCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVy X3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9y IHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVx dWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3Mp KQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0 aF9vdGhlcl90YWcoc2VsZik6CisrICAgICAgICB0YWdzID0gWyBzZWxmLm90aGVyX3RhZyBdCisr ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aCh0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9f cmV0dXJuc190cnVlX3dpdGhfb3RoZXJfdGFnX2FuZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdGVz dF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAoWyBzZWxmLm90aGVyX3RhZywgImZvbyIgXSwg ImNhc2U6IGZpcnN0IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYub3RoZXJfdGFnIF0s ICJjYXNlOiBsYXN0IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYub3RoZXJfdGFnLCAi YmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywg Y2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1 ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysg ICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3dpdGhfc2ltaWxh cl90YWcoc2VsZik6CisrICAgICAgICB0YWdzID0gWyBzZWxmLnNpbWlsYXJfdGFnIF0KKysgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVk ZV93aXRoKHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1 cm5zX3RydWVfd2l0aF9zaW1pbGFyX2FuZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdGVzdF9wYXR0 ZXJucyA9IFsKKysgICAgICAgICAgICAoWyBzZWxmLnNpbWlsYXJfdGFnLCAiZm9vIiBdLCAiY2Fz ZTogZmlyc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgc2VsZi5zaW1pbGFyX3RhZyBdLCAi Y2FzZTogbGFzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnLCAi YmFyIiBdLCAiY2FzZTogbWlkZGxlIiksCisrICAgICAgICBdCisrICAgICAgICBmb3IgdGFncywg Y2FzZSBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1 ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysg ICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRob3V0X2Nh dGVnb3J5X3RhZyhzZWxmKToKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAg ICAgKFsgXSwgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCisrICAgICAgICAgICAgKFsgImZv byIgXSwgICAgICJjYXNlOiBPbmUgdGFnIiksCisrICAgICAgICAgICAgKFsgImZvbyIsICJiYXIi IF0sICJjYXNlOiBUd28gdGFncyIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNh c2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNl LCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAg ICBkZWYgdGVzdF9zaG91bGRfcnVuX3dpdGhfX25lZ2F0ZXNfcmVzdWx0X29mX3Nob3VsZF9leGNs dWRlX3dpdGgoc2VsZik6CisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAg IChbIF0sICAgICAgICAgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCisrICAgICAgICAgICAg KFsgImZvbyIgXSwgICAgICAgICAgICAgImNhc2U6IE9uZSBub24tY2F0ZWdvcnkgdGFnIiksCisr ICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICAgICAgImNhc2U6IFR3byBub24tY2F0ZWdv cnkgdGFncyIpLAorKyAgICAgICAgICAgIChbIHNlbGYuZW5hYmxlZF90YWcgXSwgICAiY2FzZTog ZW5hYmxlZCB0YWciKSwKKysgICAgICAgICAgICAoWyBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90 aGVyX3RhZyBdLCAgImNhc2U6IGVuYWJsZWQgYW5kIG90aGVyIHRhZyIpLAorKyAgICAgICAgICAg IChbIHNlbGYuZW5hYmxlZF90YWcsICJmb28iIF0sICAgICJjYXNlOiBlbmFibGVkIGFuZCBmb28g dGFnIiksCisrICAgICAgICAgICAgKFsgc2VsZi5vdGhlcl90YWcgXSwgICAgICAgICAgICAiY2Fz ZTogb3RoZXIgdGFnIiksCisrICAgICAgICAgICAgKFsgc2VsZi5vdGhlcl90YWcsICJmb28iIF0s ICAgICAiY2FzZTogb3RoZXIgYW5kIGZvbyB0YWciKSwKKysgICAgICAgICAgICAoWyBzZWxmLnNp bWlsYXJfdGFnIF0sICAgICAgICAgICJjYXNlOiBzaW1pbGFyIHRhZyIpLAorKyAgICAgICAgICAg IChbICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnIF0sICAgImNhc2U6IGZvbyBhbmQgc2ltaWxhciB0 YWciKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVy bnM6CisrICAgICAgICAgICAgcmVzdWx0MSA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX3J1bl93 aXRoKHRhZ3MpCisrICAgICAgICAgICAgcmVzdWx0MiA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxk X2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0 MSwgbm90IHJlc3VsdDIsICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrICAgICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChub3QgcmVzdWx0MSwgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAl IChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29yeV90YWdfX3JldHVy bnNfY2F0ZWdvcnlfdGFnX3ByZWZpeF93aXRob3V0X3ZhbHVlKHNlbGYpOgorKyAgICAgICAgY2F0 ZWdvcnkgPSAieHh4IgorKyAgICAgICAgdGFnMSA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVy Lm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5KQorKyAgICAgICAgdGFnMiA9IE9ubHlXaXRoQ2F0 ZWdvcnlUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCBOb25lKQorKyAgICAg ICAgdGFnMyA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNh dGVnb3J5LCB2YWx1ZT1Ob25lKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRo X3h4eD0iLCB0YWcxKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD0i LCB0YWcyKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD0iLCB0YWcz KQorKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRhZzEuc3RhcnRzd2l0aChPbmx5V2l0aENhdGVn b3J5VGFnTWF0Y2hlci50YWdfcHJlZml4KSkKKysKKysgICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29y eV90YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFnX3dpdGhfdmFsdWUoc2VsZik6CisrICAgICAgICBj YXRlZ29yeSA9ICJ4eHgiCisrICAgICAgICB0YWcxID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNo ZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJhbGljZSIpCisrICAgICAgICB0YWcyID0g T25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJi b2IiKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD1hbGljZSIsIHRh ZzEpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PWJvYiIsIHRhZzIp CisrCisrICAgIGRlZiB0ZXN0X21ha2VfY2F0ZWdvcnlfdGFnX19yZXR1cm5zX2NhdGVnb3J5X3Rh Z193aXRoX3RhZ19wcmVmaXgoc2VsZik6CisrICAgICAgICBteV90YWdfcHJlZml4ID0gIk9OTFlf V0lUSC4iCisrICAgICAgICBjYXRlZ29yeSA9ICJ4eHgiCisrICAgICAgICBUYWdNYXRjaGVyID0g T25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKysgICAgICAgIHRhZzAgPSBUYWdNYXRjaGVyLm1h a2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB0YWdfcHJlZml4PW15X3RhZ19wcmVmaXgpCisrICAg ICAgICB0YWcxID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImFsaWNl IiwgbXlfdGFnX3ByZWZpeCkKKysgICAgICAgIHRhZzIgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdv cnlfdGFnKGNhdGVnb3J5LCAiYm9iIiwgdGFnX3ByZWZpeD1teV90YWdfcHJlZml4KQorKyAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbCgiT05MWV9XSVRILnh4eD0iLCB0YWcwKQorKyAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbCgiT05MWV9XSVRILnh4eD1hbGljZSIsIHRhZzEpCisrICAgICAgICBzZWxm LmFzc2VydEVxdWFsKCJPTkxZX1dJVEgueHh4PWJvYiIsIHRhZzIpCisrICAgICAgICBzZWxmLmFz c2VydFRydWUodGFnMS5zdGFydHN3aXRoKG15X3RhZ19wcmVmaXgpKQorKworKyAgICBkZWYgdGVz dF9jdG9yX193aXRoX3RhZ19wcmVmaXgoc2VsZik6CisrICAgICAgICB0YWdfcHJlZml4ID0gIk9O TFlfV0lUSC4iCisrICAgICAgICB0YWdfbWF0Y2hlciA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRj aGVyKCJ4eHgiLCAiYWxpY2UiLCB0YWdfcHJlZml4KQorKworKyAgICAgICAgdGFncyA9IFsiZm9v IiwgIk9OTFlfV0lUSC54eHg9Zm9vIiwgIm9ubHkud2l0aF94eHg9YmFyIiwgImJhciJdCisrICAg ICAgICBhY3R1YWxfdGFncyA9IHRhZ19tYXRjaGVyLnNlbGVjdF9jYXRlZ29yeV90YWdzKHRhZ3Mp CisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsiT05MWV9XSVRILnh4eD1mb28iXSwgYWN0dWFs X3RhZ3MpCisrCisrCisrY2xhc3MgVHJhaXRzNE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVy KG9iamVjdCk6CisrICAgICIiIlRlc3QgZGF0YSBmb3IgT25seVdpdGhBbnlDYXRlZ29yeVRhZ01h dGNoZXIuIiIiCisrCisrICAgIFRhZ01hdGNoZXIwID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNo ZXIKKysgICAgVGFnTWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyCisrICAg IGNhdGVnb3J5MV9lbmFibGVkX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJm b28iLCAiYWxpY2UiKQorKyAgICBjYXRlZ29yeTFfc2ltaWxhcl90YWcgPSBUYWdNYXRjaGVyMC5t YWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImFsaWNlMiIpCisrICAgIGNhdGVnb3J5MV9kaXNhYmxl ZF90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImJvYiIpCisrICAg IGNhdGVnb3J5Ml9lbmFibGVkX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJi YXIiLCAiQk9CIikKKysgICAgY2F0ZWdvcnkyX3NpbWlsYXJfdGFnID0gVGFnTWF0Y2hlcjAubWFr ZV9jYXRlZ29yeV90YWcoImJhciIsICJCT0IyIikKKysgICAgY2F0ZWdvcnkyX2Rpc2FibGVkX3Rh ZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJiYXIiLCAiQ0hBUkxZIikKKysgICAg dW5rbm93bl9jYXRlZ29yeV90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiVU5L Tk9XTiIsICJvbmUiKQorKworKworK2NsYXNzIFRlc3RPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0 Y2hlcihUZXN0Q2FzZSk6CisrICAgIFRhZ01hdGNoZXIgPSBPbmx5V2l0aEFueUNhdGVnb3J5VGFn TWF0Y2hlcgorKyAgICB0cmFpdHMgPSBUcmFpdHM0T25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNo ZXIKKysKKysgICAgZGVmIHNldFVwKHNlbGYpOgorKyAgICAgICAgdmFsdWVfcHJvdmlkZXIgPSB7 CisrICAgICAgICAgICAgImZvbyI6ICJhbGljZSIsCisrICAgICAgICAgICAgImJhciI6ICJCT0Ii LAorKyAgICAgICAgfQorKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgor KyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25X YXJuaW5nKQorKyAgICAgICAgICAgIHNlbGYudGFnX21hdGNoZXIgPSBzZWxmLlRhZ01hdGNoZXIo dmFsdWVfcHJvdmlkZXIpCisrCisrICAgICMgZGVmIHRlc3RfZGVwcmVjYXRpbmdfd2FybmluZ19p c19pc3N1ZWQoc2VsZik6CisrICAgICMgICAgIHZhbHVlX3Byb3ZpZGVyID0geyJmb28iOiAiYWxp Y2UifQorKyAgICAjICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVl KSBhcyByZWNvcmRlcjoKKysgICAgIyAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiYWx3 YXlzIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorKyAgICAjICAgICAgICAgdGFnX21hdGNoZXIgPSBP bmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcih2YWx1ZV9wcm92aWRlcikKKysgICAgIyAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlY29yZGVyKSwgMSkKKysgICAgIyAgICAgICAgIGxh c3Rfd2FybmluZyA9IHJlY29yZGVyWy0xXQorKyAgICAjICAgICAgICAgYXNzZXJ0IGlzc3ViY2xh c3MobGFzdF93YXJuaW5nLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCisrICAgICMgICAg ICAgICBhc3NlcnQgImRlcHJlY2F0ZWQiIGluIHN0cihsYXN0X3dhcm5pbmcubWVzc2FnZSkKKysK KysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX2Vu YWJsZWRfdGFnKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAg IHRhZ3MxID0gWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0KKysgICAgICAgIHRhZ3My ID0gWyB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnIF0KKysgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzMSkp CisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3Vs ZF9leGNsdWRlX3dpdGgodGFnczIpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93 aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWdfYW5kX21vcmUoc2VsZik6CisrICAg ICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysg ICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdv cnkxX2Rpc2FibGVkX3RhZyBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAgICAgICAgICAoWyB0cmFp dHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBd LCAiY2FzZTogbGFzdCIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkx X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNh c2U6IG1pZGRsZSIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVz dF9wYXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRh Z19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVz dF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90YWcoc2VsZik6 CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGFncyA9IFsgdHJhaXRz LmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVl LCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRl ZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZ19h bmRfbW9yZShzZWxmKToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0 ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJs ZWRfdGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwg dHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgImNhc2U6IGxhc3QiKSwKKysgICAgICAg ICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJiYXIiIF0sICJj YXNlOiBtaWRkbGUiKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRl c3RfcGF0dGVybnM6CisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRh Z19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVz dF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX3RhZyhzZWxm KToKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0YWdzID0gWyB0cmFp dHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1 ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorKworKyAgICBk ZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX2Fu ZF9tb3JlKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRl c3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFy X3RhZywgImZvbyIgXSwgImNhc2U6IGZpcnN0IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHRy YWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgImNhc2U6IGxhc3QiKSwKKysgICAgICAgICAg ICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZywgImJhciIgXSwgImNhc2U6 IG1pZGRsZSIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9w YXR0ZXJuczoKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21h dGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3No b3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aG91dF9jYXRlZ29yeV90YWcoc2Vs Zik6CisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAgICAgIChbIF0sICAgICAg ICAgICAiY2FzZTogTm8gdGFncyIpLAorKyAgICAgICAgICAgIChbICJmb28iIF0sICAgICAiY2Fz ZTogT25lIHRhZyIpLAorKyAgICAgICAgICAgIChbICJmb28iLCAiYmFyIiBdLCAiY2FzZTogVHdv IHRhZ3MiKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0 dGVybnM6CisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0 Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hv dWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX3Vua25vd25fY2F0ZWdvcnlfdGFn KHNlbGYpOgorKyAgICAgICAgIiIiVGFncyBmcm9tIHVua25vd24gY2F0ZWdvcmllcywgbm90IHN1 cHBvcnRlZCBieSB2YWx1ZV9wcm92aWRlciwKKysgICAgICAgIHNob3VsZCBub3QgYmUgZXhjbHVk ZWQuCisrICAgICAgICAiIiIKKysgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAg ICB0YWdzID0gWyB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcgXQorKyAgICAgICAgc2VsZi5h c3NlcnRFcXVhbCgib25seS53aXRoX1VOS05PV049b25lIiwgdHJhaXRzLnVua25vd25fY2F0ZWdv cnlfdGFnKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBzZWxmLnRhZ19tYXRjaGVy LnZhbHVlX3Byb3ZpZGVyLmdldCgiVU5LTk9XTiIpKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorKwor KyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19jb21iaW5hdGlvbnNfb2ZfMl9jYXRl Z29yaWVzKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRl c3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKCJjYXNlIDAwOiAyIGRpc2FibGVkIGNhdGVn b3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJs ZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZ10pLAorKyAgICAgICAgICAgICgi Y2FzZSAwMTogZGlzYWJsZWQgYW5kIGVuYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCisrICAg ICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29y eTJfZW5hYmxlZF90YWddKSwKKysgICAgICAgICAgICAoImNhc2UgMTA6IGVuYWJsZWQgYW5kIGRp c2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRl Z29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCisrICAg ICAgICAgICAgKCJjYXNlIDExOiAyIGVuYWJsZWQgY2F0ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyAt LSBTSE9VTEQtUlVOCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3Rh ZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgICAgICMgLS0gU1BF Q0lBTCBDQVNFOiBXaXRoIHVua25vd24gY2F0ZWdvcnkKKysgICAgICAgICAgICAoImNhc2UgMHg6 IGRpc2FibGVkIGFuZCB1bmtub3duIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAg ICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMudW5rbm93bl9jYXRlZ29y eV90YWddKSwKKysgICAgICAgICAgICAoImNhc2UgMXg6IGVuYWJsZWQgYW5kIHVua25vd24gY2F0 ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyBTSE9VTEQtUlVOCisrICAgICAgICAgICAgIFsgdHJhaXRz LmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnXSksCisr ICAgICAgICBdCisrICAgICAgICBmb3IgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MgaW4gdGVzdF9wYXR0 ZXJuczoKKysgICAgICAgICAgICBhY3R1YWxfcmVzdWx0ID0gc2VsZi50YWdfbWF0Y2hlci5zaG91 bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBl Y3RlZCwgYWN0dWFsX3Jlc3VsdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczog dGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9ydW5fd2l0 aF9fbmVnYXRlc19yZXN1bHRfb2Zfc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmKToKKysgICAgICAg IHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAg ICAgICAgIChbIF0sICAgICAgICAgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCisrICAgICAg ICAgICAgKFsgImZvbyIgXSwgICAgICAgICAgICAgImNhc2U6IE9uZSBub24tY2F0ZWdvcnkgdGFn IiksCisrICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICAgICAgImNhc2U6IFR3byBub24t Y2F0ZWdvcnkgdGFncyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxl ZF90YWcgXSwgICAiY2FzZTogZW5hYmxlZCB0YWciKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMu Y2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAg ImNhc2U6IGVuYWJsZWQgYW5kIG90aGVyIHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5j YXRlZ29yeTFfZW5hYmxlZF90YWcsICJmb28iIF0sICAgICJjYXNlOiBlbmFibGVkIGFuZCBmb28g dGFnIiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwg ICAgICAgICAgICAiY2FzZTogb3RoZXIgdGFnIiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNh dGVnb3J5MV9kaXNhYmxlZF90YWcsICJmb28iIF0sICAgICAiY2FzZTogb3RoZXIgYW5kIGZvbyB0 YWciKSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0sICAg ICAgICAgICJjYXNlOiBzaW1pbGFyIHRhZyIpLAorKyAgICAgICAgICAgIChbICJmb28iLCB0cmFp dHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0sICAgImNhc2U6IGZvbyBhbmQgc2ltaWxhciB0YWci KSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6 CisrICAgICAgICAgICAgcmVzdWx0MSA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX3J1bl93aXRo KHRhZ3MpCisrICAgICAgICAgICAgcmVzdWx0MiA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0MSwg bm90IHJlc3VsdDIsICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCisrICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChub3QgcmVzdWx0MSwgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChj YXNlLCB0YWdzKSkKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkg Yi90ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkKK2luZGV4IGM1ZDIyNjYuLmEwNGMxZDQg MTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkKKysrKyBiL3Rlc3Rz L3VuaXQvdGVzdF90YWdfbWF0Y2hlci5weQorQEAgLTgsMTIgKzgsMTMgQEAgVW5pdCB0ZXN0cyBm b3IgYWN0aXZlIHRhZy1tYXRjaGVyIChtb2Q6YGJlaGF2ZS50YWdfbWF0Y2hlcmApLgorICIiIgor IAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CistZnJvbSBiZWhhdmUu dGFnX21hdGNoZXIgaW1wb3J0ICoKKyBmcm9tIG1vY2sgaW1wb3J0IE1vY2sKKyBmcm9tIHVuaXR0 ZXN0IGltcG9ydCBUZXN0Q2FzZQorIGltcG9ydCB3YXJuaW5ncworIGltcG9ydCBweXRlc3QKKyAK Kytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgKgorKworIAorIGNsYXNzIFRyYWl0czRB Y3RpdmVUYWdNYXRjaGVyKG9iamVjdCk6CisgICAgIFRhZ01hdGNoZXIgPSBBY3RpdmVUYWdNYXRj aGVyCitAQCAtNDYwLDI3OSArNDYxLDMgQEAgY2xhc3MgVGVzdENvbXBvc2l0ZVRhZ01hdGNoZXIo VGVzdENhc2UpOgorICAgICAgICAgICAgIGFjdHVhbF90cnVlX2NvdW50ID0gc2VsZi5jb3VudF90 YWdfbWF0Y2hlcl93aXRoX3Jlc3VsdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLmN0YWdfbWF0Y2hlci50YWdfbWF0Y2hlcnMsIHRhZ3MsIFRydWUpCisgICAgICAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBhY3R1YWxfdHJ1ZV9jb3VudCkKKy0KKy0KKy0jIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCistIyBQUk9UT1RZUElORyBDTEFTU0VTIChkZXByZWNhdGluZykK Ky0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistY2xhc3MgVGVzdE9ubHlXaXRoQ2F0ZWdvcnlUYWdN YXRjaGVyKFRlc3RDYXNlKToKKy0gICAgVGFnTWF0Y2hlciA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdN YXRjaGVyCistCistICAgIGRlZiBzZXRVcChzZWxmKToKKy0gICAgICAgIGNhdGVnb3J5ID0gInh4 eCIKKy0gICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKKy0gICAgICAgICAg ICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKy0g ICAgICAgICAgICBzZWxmLnRhZ19tYXRjaGVyID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIo Y2F0ZWdvcnksICJhbGljZSIpCistICAgICAgICBzZWxmLmVuYWJsZWRfdGFnID0gc2VsZi5UYWdN YXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCAiYWxpY2UiKQorLSAgICAgICAgc2Vs Zi5zaW1pbGFyX3RhZyA9IHNlbGYuVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29y eSwgImFsaWNlMiIpCistICAgICAgICBzZWxmLm90aGVyX3RhZyA9IHNlbGYuVGFnTWF0Y2hlci5t YWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgIm90aGVyIikKKy0gICAgICAgIHNlbGYuY2F0ZWdv cnkgPSBjYXRlZ29yeQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1 cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWcoc2VsZik6CistICAgICAgICB0YWdzID0gWyBzZWxm LmVuYWJsZWRfdGFnIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFn X21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hv dWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX2VuYWJsZWRfdGFnX2FuZF9tb3Jl KHNlbGYpOgorLSAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAoWyBzZWxm LmVuYWJsZWRfdGFnLCBzZWxmLm90aGVyX3RhZyBdLCAiY2FzZTogZmlyc3QiKSwKKy0gICAgICAg ICAgICAoWyBzZWxmLm90aGVyX3RhZywgc2VsZi5lbmFibGVkX3RhZyBdLCAiY2FzZTogbGFzdCIp LAorLSAgICAgICAgICAgIChbICJmb28iLCBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVyX3Rh ZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRh Z3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs KEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQor LQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9v dGhlcl90YWcoc2VsZik6CistICAgICAgICB0YWdzID0gWyBzZWxmLm90aGVyX3RhZyBdCistICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aCh0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0 dXJuc190cnVlX3dpdGhfb3RoZXJfdGFnX2FuZF9tb3JlKHNlbGYpOgorLSAgICAgICAgdGVzdF9w YXR0ZXJucyA9IFsKKy0gICAgICAgICAgICAoWyBzZWxmLm90aGVyX3RhZywgImZvbyIgXSwgImNh c2U6IGZpcnN0IiksCistICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYub3RoZXJfdGFnIF0sICJj YXNlOiBsYXN0IiksCistICAgICAgICAgICAgKFsgImZvbyIsIHNlbGYub3RoZXJfdGFnLCAiYmFy IiBdLCAiY2FzZTogbWlkZGxlIiksCistICAgICAgICBdCistICAgICAgICBmb3IgdGFncywgY2Fz ZSBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwg c2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0gICAg ZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3dpdGhfc2ltaWxhcl90 YWcoc2VsZik6CistICAgICAgICB0YWdzID0gWyBzZWxmLnNpbWlsYXJfdGFnIF0KKy0gICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93 aXRoKHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5z X3RydWVfd2l0aF9zaW1pbGFyX2FuZF9tb3JlKHNlbGYpOgorLSAgICAgICAgdGVzdF9wYXR0ZXJu cyA9IFsKKy0gICAgICAgICAgICAoWyBzZWxmLnNpbWlsYXJfdGFnLCAiZm9vIiBdLCAiY2FzZTog Zmlyc3QiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgc2VsZi5zaW1pbGFyX3RhZyBdLCAiY2Fz ZTogbGFzdCIpLAorLSAgICAgICAgICAgIChbICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnLCAiYmFy IiBdLCAiY2FzZTogbWlkZGxlIiksCistICAgICAgICBdCistICAgICAgICBmb3IgdGFncywgY2Fz ZSBpbiB0ZXN0X3BhdHRlcm5zOgorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwg c2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0gICAg ZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRob3V0X2NhdGVn b3J5X3RhZyhzZWxmKToKKy0gICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCistICAgICAgICAgICAg KFsgXSwgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCistICAgICAgICAgICAgKFsgImZvbyIg XSwgICAgICJjYXNlOiBPbmUgdGFnIiksCistICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0s ICJjYXNlOiBUd28gdGFncyIpLAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2Ug aW4gdGVzdF9wYXR0ZXJuczoKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBz ZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBk ZWYgdGVzdF9zaG91bGRfcnVuX3dpdGhfX25lZ2F0ZXNfcmVzdWx0X29mX3Nob3VsZF9leGNsdWRl X3dpdGgoc2VsZik6CistICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChb IF0sICAgICAgICAgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCistICAgICAgICAgICAgKFsg ImZvbyIgXSwgICAgICAgICAgICAgImNhc2U6IE9uZSBub24tY2F0ZWdvcnkgdGFnIiksCistICAg ICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICAgICAgImNhc2U6IFR3byBub24tY2F0ZWdvcnkg dGFncyIpLAorLSAgICAgICAgICAgIChbIHNlbGYuZW5hYmxlZF90YWcgXSwgICAiY2FzZTogZW5h YmxlZCB0YWciKSwKKy0gICAgICAgICAgICAoWyBzZWxmLmVuYWJsZWRfdGFnLCBzZWxmLm90aGVy X3RhZyBdLCAgImNhc2U6IGVuYWJsZWQgYW5kIG90aGVyIHRhZyIpLAorLSAgICAgICAgICAgIChb IHNlbGYuZW5hYmxlZF90YWcsICJmb28iIF0sICAgICJjYXNlOiBlbmFibGVkIGFuZCBmb28gdGFn IiksCistICAgICAgICAgICAgKFsgc2VsZi5vdGhlcl90YWcgXSwgICAgICAgICAgICAiY2FzZTog b3RoZXIgdGFnIiksCistICAgICAgICAgICAgKFsgc2VsZi5vdGhlcl90YWcsICJmb28iIF0sICAg ICAiY2FzZTogb3RoZXIgYW5kIGZvbyB0YWciKSwKKy0gICAgICAgICAgICAoWyBzZWxmLnNpbWls YXJfdGFnIF0sICAgICAgICAgICJjYXNlOiBzaW1pbGFyIHRhZyIpLAorLSAgICAgICAgICAgIChb ICJmb28iLCBzZWxmLnNpbWlsYXJfdGFnIF0sICAgImNhc2U6IGZvbyBhbmQgc2ltaWxhciB0YWci KSwKKy0gICAgICAgIF0KKy0gICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6 CistICAgICAgICAgICAgcmVzdWx0MSA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX3J1bl93aXRo KHRhZ3MpCistICAgICAgICAgICAgcmVzdWx0MiA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4 Y2x1ZGVfd2l0aCh0YWdzKQorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0MSwg bm90IHJlc3VsdDIsICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCistICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChub3QgcmVzdWx0MSwgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChj YXNlLCB0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29yeV90YWdfX3JldHVybnNf Y2F0ZWdvcnlfdGFnX3ByZWZpeF93aXRob3V0X3ZhbHVlKHNlbGYpOgorLSAgICAgICAgY2F0ZWdv cnkgPSAieHh4IgorLSAgICAgICAgdGFnMSA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLm1h a2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5KQorLSAgICAgICAgdGFnMiA9IE9ubHlXaXRoQ2F0ZWdv cnlUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCBOb25lKQorLSAgICAgICAg dGFnMyA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKGNhdGVn b3J5LCB2YWx1ZT1Ob25lKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4 eD0iLCB0YWcxKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD0iLCB0 YWcyKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD0iLCB0YWczKQor LSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRhZzEuc3RhcnRzd2l0aChPbmx5V2l0aENhdGVnb3J5 VGFnTWF0Y2hlci50YWdfcHJlZml4KSkKKy0KKy0gICAgZGVmIHRlc3RfbWFrZV9jYXRlZ29yeV90 YWdfX3JldHVybnNfY2F0ZWdvcnlfdGFnX3dpdGhfdmFsdWUoc2VsZik6CistICAgICAgICBjYXRl Z29yeSA9ICJ4eHgiCistICAgICAgICB0YWcxID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIu bWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJhbGljZSIpCistICAgICAgICB0YWcyID0gT25s eVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoY2F0ZWdvcnksICJib2Ii KQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgib25seS53aXRoX3h4eD1hbGljZSIsIHRhZzEp CistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJvbmx5LndpdGhfeHh4PWJvYiIsIHRhZzIpCist CistICAgIGRlZiB0ZXN0X21ha2VfY2F0ZWdvcnlfdGFnX19yZXR1cm5zX2NhdGVnb3J5X3RhZ193 aXRoX3RhZ19wcmVmaXgoc2VsZik6CistICAgICAgICBteV90YWdfcHJlZml4ID0gIk9OTFlfV0lU SC4iCistICAgICAgICBjYXRlZ29yeSA9ICJ4eHgiCistICAgICAgICBUYWdNYXRjaGVyID0gT25s eVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIKKy0gICAgICAgIHRhZzAgPSBUYWdNYXRjaGVyLm1ha2Vf Y2F0ZWdvcnlfdGFnKGNhdGVnb3J5LCB0YWdfcHJlZml4PW15X3RhZ19wcmVmaXgpCistICAgICAg ICB0YWcxID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZyhjYXRlZ29yeSwgImFsaWNlIiwg bXlfdGFnX3ByZWZpeCkKKy0gICAgICAgIHRhZzIgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlf dGFnKGNhdGVnb3J5LCAiYm9iIiwgdGFnX3ByZWZpeD1teV90YWdfcHJlZml4KQorLSAgICAgICAg c2VsZi5hc3NlcnRFcXVhbCgiT05MWV9XSVRILnh4eD0iLCB0YWcwKQorLSAgICAgICAgc2VsZi5h c3NlcnRFcXVhbCgiT05MWV9XSVRILnh4eD1hbGljZSIsIHRhZzEpCistICAgICAgICBzZWxmLmFz c2VydEVxdWFsKCJPTkxZX1dJVEgueHh4PWJvYiIsIHRhZzIpCistICAgICAgICBzZWxmLmFzc2Vy dFRydWUodGFnMS5zdGFydHN3aXRoKG15X3RhZ19wcmVmaXgpKQorLQorLSAgICBkZWYgdGVzdF9j dG9yX193aXRoX3RhZ19wcmVmaXgoc2VsZik6CistICAgICAgICB0YWdfcHJlZml4ID0gIk9OTFlf V0lUSC4iCistICAgICAgICB0YWdfbWF0Y2hlciA9IE9ubHlXaXRoQ2F0ZWdvcnlUYWdNYXRjaGVy KCJ4eHgiLCAiYWxpY2UiLCB0YWdfcHJlZml4KQorLQorLSAgICAgICAgdGFncyA9IFsiZm9vIiwg Ik9OTFlfV0lUSC54eHg9Zm9vIiwgIm9ubHkud2l0aF94eHg9YmFyIiwgImJhciJdCistICAgICAg ICBhY3R1YWxfdGFncyA9IHRhZ19tYXRjaGVyLnNlbGVjdF9jYXRlZ29yeV90YWdzKHRhZ3MpCist ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsiT05MWV9XSVRILnh4eD1mb28iXSwgYWN0dWFsX3Rh Z3MpCistCistCistY2xhc3MgVHJhaXRzNE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyKG9i amVjdCk6CistICAgICIiIlRlc3QgZGF0YSBmb3IgT25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNo ZXIuIiIiCistCistICAgIFRhZ01hdGNoZXIwID0gT25seVdpdGhDYXRlZ29yeVRhZ01hdGNoZXIK Ky0gICAgVGFnTWF0Y2hlciA9IE9ubHlXaXRoQW55Q2F0ZWdvcnlUYWdNYXRjaGVyCistICAgIGNh dGVnb3J5MV9lbmFibGVkX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28i LCAiYWxpY2UiKQorLSAgICBjYXRlZ29yeTFfc2ltaWxhcl90YWcgPSBUYWdNYXRjaGVyMC5tYWtl X2NhdGVnb3J5X3RhZygiZm9vIiwgImFsaWNlMiIpCistICAgIGNhdGVnb3J5MV9kaXNhYmxlZF90 YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImJvYiIpCistICAgIGNh dGVnb3J5Ml9lbmFibGVkX3RhZyA9IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJiYXIi LCAiQk9CIikKKy0gICAgY2F0ZWdvcnkyX3NpbWlsYXJfdGFnID0gVGFnTWF0Y2hlcjAubWFrZV9j YXRlZ29yeV90YWcoImJhciIsICJCT0IyIikKKy0gICAgY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZyA9 IFRhZ01hdGNoZXIwLm1ha2VfY2F0ZWdvcnlfdGFnKCJiYXIiLCAiQ0hBUkxZIikKKy0gICAgdW5r bm93bl9jYXRlZ29yeV90YWcgPSBUYWdNYXRjaGVyMC5tYWtlX2NhdGVnb3J5X3RhZygiVU5LTk9X TiIsICJvbmUiKQorLQorLQorLWNsYXNzIFRlc3RPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hl cihUZXN0Q2FzZSk6CistICAgIFRhZ01hdGNoZXIgPSBPbmx5V2l0aEFueUNhdGVnb3J5VGFnTWF0 Y2hlcgorLSAgICB0cmFpdHMgPSBUcmFpdHM0T25seVdpdGhBbnlDYXRlZ29yeVRhZ01hdGNoZXIK Ky0KKy0gICAgZGVmIHNldFVwKHNlbGYpOgorLSAgICAgICAgdmFsdWVfcHJvdmlkZXIgPSB7Cist ICAgICAgICAgICAgImZvbyI6ICJhbGljZSIsCistICAgICAgICAgICAgImJhciI6ICJCT0IiLAor LSAgICAgICAgfQorLSAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorLSAg ICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJu aW5nKQorLSAgICAgICAgICAgIHNlbGYudGFnX21hdGNoZXIgPSBzZWxmLlRhZ01hdGNoZXIodmFs dWVfcHJvdmlkZXIpCistCistICAgICMgZGVmIHRlc3RfZGVwcmVjYXRpbmdfd2FybmluZ19pc19p c3N1ZWQoc2VsZik6CistICAgICMgICAgIHZhbHVlX3Byb3ZpZGVyID0geyJmb28iOiAiYWxpY2Ui fQorLSAgICAjICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBh cyByZWNvcmRlcjoKKy0gICAgIyAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiYWx3YXlz IiwgRGVwcmVjYXRpb25XYXJuaW5nKQorLSAgICAjICAgICAgICAgdGFnX21hdGNoZXIgPSBPbmx5 V2l0aEFueUNhdGVnb3J5VGFnTWF0Y2hlcih2YWx1ZV9wcm92aWRlcikKKy0gICAgIyAgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlY29yZGVyKSwgMSkKKy0gICAgIyAgICAgICAgIGxhc3Rf d2FybmluZyA9IHJlY29yZGVyWy0xXQorLSAgICAjICAgICAgICAgYXNzZXJ0IGlzc3ViY2xhc3Mo bGFzdF93YXJuaW5nLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCistICAgICMgICAgICAg ICBhc3NlcnQgImRlcHJlY2F0ZWQiIGluIHN0cihsYXN0X3dhcm5pbmcubWVzc2FnZSkKKy0KKy0g ICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX2VuYWJs ZWRfdGFnKHNlbGYpOgorLSAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRh Z3MxID0gWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0KKy0gICAgICAgIHRhZ3MyID0g WyB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRfdGFnIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzMSkpCist ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFnczIpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRo X19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWdfYW5kX21vcmUoc2VsZik6CistICAgICAg ICB0cmFpdHMgPSBzZWxmLnRyYWl0cworLSAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKy0gICAg ICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkx X2Rpc2FibGVkX3RhZyBdLCAiY2FzZTogZmlyc3QiKSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMu Y2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBdLCAi Y2FzZTogbGFzdCIpLAorLSAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMuY2F0ZWdvcnkxX2Vu YWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImJhciIgXSwgImNhc2U6 IG1pZGRsZSIpLAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9w YXR0ZXJuczoKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19t YXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9z aG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90YWcoc2VsZik6Cist ICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworLSAgICAgICAgdGFncyA9IFsgdHJhaXRzLmNh dGVnb3J5MV9kaXNhYmxlZF90YWcgXQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBz ZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCistCistICAgIGRlZiB0 ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZ19hbmRf bW9yZShzZWxmKToKKy0gICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCistICAgICAgICB0ZXN0 X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRf dGFnLCAiZm9vIiBdLCAiY2FzZTogZmlyc3QiKSwKKy0gICAgICAgICAgICAoWyAiZm9vIiwgdHJh aXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgImNhc2U6IGxhc3QiKSwKKy0gICAgICAgICAg ICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJiYXIiIF0sICJjYXNl OiBtaWRkbGUiKSwKKy0gICAgICAgIF0KKy0gICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3Rf cGF0dGVybnM6CistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19t YXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncyksCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9z aG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX3RhZyhzZWxmKToK Ky0gICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCistICAgICAgICB0YWdzID0gWyB0cmFpdHMu Y2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0KKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwg c2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorLQorLSAgICBkZWYg dGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX2FuZF9t b3JlKHNlbGYpOgorLSAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRlc3Rf cGF0dGVybnMgPSBbCistICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3Rh ZywgImZvbyIgXSwgImNhc2U6IGZpcnN0IiksCistICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0 cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgImNhc2U6IGxhc3QiKSwKKy0gICAgICAgICAgICAo WyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZywgImJhciIgXSwgImNhc2U6IG1p ZGRsZSIpLAorLSAgICAgICAgXQorLSAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0 ZXJuczoKKy0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNo ZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3Vs ZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aG91dF9jYXRlZ29yeV90YWcoc2VsZik6 CistICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAgICAgIChbIF0sICAgICAgICAg ICAiY2FzZTogTm8gdGFncyIpLAorLSAgICAgICAgICAgIChbICJmb28iIF0sICAgICAiY2FzZTog T25lIHRhZyIpLAorLSAgICAgICAgICAgIChbICJmb28iLCAiYmFyIiBdLCAiY2FzZTogVHdvIHRh Z3MiKSwKKy0gICAgICAgIF0KKy0gICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVy bnM6CistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hl ci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKy0KKy0gICAgZGVmIHRlc3Rfc2hvdWxk X2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aXRoX3Vua25vd25fY2F0ZWdvcnlfdGFnKHNl bGYpOgorLSAgICAgICAgIiIiVGFncyBmcm9tIHVua25vd24gY2F0ZWdvcmllcywgbm90IHN1cHBv cnRlZCBieSB2YWx1ZV9wcm92aWRlciwKKy0gICAgICAgIHNob3VsZCBub3QgYmUgZXhjbHVkZWQu CistICAgICAgICAiIiIKKy0gICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCistICAgICAgICB0 YWdzID0gWyB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcgXQorLSAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbCgib25seS53aXRoX1VOS05PV049b25lIiwgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlf dGFnKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChOb25lLCBzZWxmLnRhZ19tYXRjaGVyLnZh bHVlX3Byb3ZpZGVyLmdldCgiVU5LTk9XTiIpKQorLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChG YWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorLQorLSAg ICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRoX19jb21iaW5hdGlvbnNfb2ZfMl9jYXRlZ29y aWVzKHNlbGYpOgorLSAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKy0gICAgICAgIHRlc3Rf cGF0dGVybnMgPSBbCistICAgICAgICAgICAgKCJjYXNlIDAwOiAyIGRpc2FibGVkIGNhdGVnb3J5 IHRhZ3MiLCBUcnVlLAorLSAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRf dGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZ10pLAorLSAgICAgICAgICAgICgiY2Fz ZSAwMTogZGlzYWJsZWQgYW5kIGVuYWJsZWQgY2F0ZWdvcnkgdGFncyIsIFRydWUsCistICAgICAg ICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJf ZW5hYmxlZF90YWddKSwKKy0gICAgICAgICAgICAoImNhc2UgMTA6IGVuYWJsZWQgYW5kIGRpc2Fi bGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorLSAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29y eTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSksCistICAgICAg ICAgICAgKCJjYXNlIDExOiAyIGVuYWJsZWQgY2F0ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyAtLSBT SE9VTEQtUlVOCistICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywg dHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorLSAgICAgICAgICAgICMgLS0gU1BFQ0lB TCBDQVNFOiBXaXRoIHVua25vd24gY2F0ZWdvcnkKKy0gICAgICAgICAgICAoImNhc2UgMHg6IGRp c2FibGVkIGFuZCB1bmtub3duIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorLSAgICAgICAgICAgICBb IHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90 YWddKSwKKy0gICAgICAgICAgICAoImNhc2UgMXg6IGVuYWJsZWQgYW5kIHVua25vd24gY2F0ZWdv cnkgdGFncyIsIEZhbHNlLCAgIyBTSE9VTEQtUlVOCistICAgICAgICAgICAgIFsgdHJhaXRzLmNh dGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnXSksCistICAg ICAgICBdCistICAgICAgICBmb3IgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MgaW4gdGVzdF9wYXR0ZXJu czoKKy0gICAgICAgICAgICBhY3R1YWxfcmVzdWx0ID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRf ZXhjbHVkZV93aXRoKHRhZ3MpCistICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3Rl ZCwgYWN0dWFsX3Jlc3VsdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFn cz0lcyIgJSAoY2FzZSwgdGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9ydW5fd2l0aF9f bmVnYXRlc19yZXN1bHRfb2Zfc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmKToKKy0gICAgICAgIHRy YWl0cyA9IHNlbGYudHJhaXRzCistICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworLSAgICAgICAg ICAgIChbIF0sICAgICAgICAgICAgICAgICAgICJjYXNlOiBObyB0YWdzIiksCistICAgICAgICAg ICAgKFsgImZvbyIgXSwgICAgICAgICAgICAgImNhc2U6IE9uZSBub24tY2F0ZWdvcnkgdGFnIiks CistICAgICAgICAgICAgKFsgImZvbyIsICJiYXIiIF0sICAgICAgImNhc2U6IFR3byBub24tY2F0 ZWdvcnkgdGFncyIpLAorLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90 YWcgXSwgICAiY2FzZTogZW5hYmxlZCB0YWciKSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0 ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAgImNh c2U6IGVuYWJsZWQgYW5kIG90aGVyIHRhZyIpLAorLSAgICAgICAgICAgIChbIHRyYWl0cy5jYXRl Z29yeTFfZW5hYmxlZF90YWcsICJmb28iIF0sICAgICJjYXNlOiBlbmFibGVkIGFuZCBmb28gdGFn IiksCistICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcgXSwgICAg ICAgICAgICAiY2FzZTogb3RoZXIgdGFnIiksCistICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVn b3J5MV9kaXNhYmxlZF90YWcsICJmb28iIF0sICAgICAiY2FzZTogb3RoZXIgYW5kIGZvbyB0YWci KSwKKy0gICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0sICAgICAg ICAgICJjYXNlOiBzaW1pbGFyIHRhZyIpLAorLSAgICAgICAgICAgIChbICJmb28iLCB0cmFpdHMu Y2F0ZWdvcnkxX3NpbWlsYXJfdGFnIF0sICAgImNhc2U6IGZvbyBhbmQgc2ltaWxhciB0YWciKSwK Ky0gICAgICAgIF0KKy0gICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6Cist ICAgICAgICAgICAgcmVzdWx0MSA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX3J1bl93aXRoKHRh Z3MpCistICAgICAgICAgICAgcmVzdWx0MiA9IHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aCh0YWdzKQorLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0MSwgbm90 IHJlc3VsdDIsICIlczogdGFncz0lcyIgJSAoY2FzZSwgdGFncykpCistICAgICAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChub3QgcmVzdWx0MSwgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAlIChjYXNl LCB0YWdzKSkKKy0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjctQ29tbWVudC10d2Vha3MucGF0Y2ggYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI3LUNvbW1lbnQtdHdl YWtzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYzQxMDY4Yzk2 Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAyNy1Db21tZW50LXR3ZWFrcy5wYXRjaApAQCAtMCwwICsxLDMwIEBA CitGcm9tIDM2MmU3NzhlNWU1NzA1NGI0NTA5OWYxNDMyYWJlYTE4MTk4N2QzYzkgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IFN1biwgOSBKdW4gMjAxOSAxOToyNDoxNCArMDIwMAorU3ViamVjdDog W1BBVENIXSBDb21tZW50IHR3ZWFrcworCistLS0KKyBiZWhhdmUvcnVubmVyLnB5IHwgNyArKysr KystCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitk aWZmIC0tZ2l0IGEvYmVoYXZlL3J1bm5lci5weSBiL2JlaGF2ZS9ydW5uZXIucHkKK2luZGV4IGYw ZjA3N2EuLmYyMDljYjAgMTAwNjQ0CistLS0gYS9iZWhhdmUvcnVubmVyLnB5CisrKysgYi9iZWhh dmUvcnVubmVyLnB5CitAQCAtMTY3LDEwICsxNjcsMTUgQEAgY2xhc3MgQ29udGV4dChvYmplY3Qp OgorICAgICAgICAgc2VsZi5fcmVjb3JkID0ge30KKyAgICAgICAgIHNlbGYuX29yaWdpbiA9IHt9 CisgICAgICAgICBzZWxmLl9tb2RlID0gc2VsZi5CRUhBVkUKKysKKysgICAgICAgICMgLS0gTU9E RUwgRU5USVRZIFJFRkVSRU5DRVMvU1VQUE9SVDoKKyAgICAgICAgIHNlbGYuZmVhdHVyZSA9IE5v bmUKKy0gICAgICAgICMgLS0gUkVDSEVDSzogSWYgbmVlZGVkCisrICAgICAgICAjIERJU0FCTEVE OiBzZWxmLnJ1bGUgPSBOb25lCisrICAgICAgICAjIERJU0FCTEVEOiBzZWxmLnNjZW5hcmlvID0g Tm9uZQorICAgICAgICAgc2VsZi50ZXh0ID0gTm9uZQorICAgICAgICAgc2VsZi50YWJsZSA9IE5v bmUKKysKKysgICAgICAgICMgLS0gUlVOVElNRSBTVVBQT1JUOgorICAgICAgICAgc2VsZi5zdGRv dXRfY2FwdHVyZSA9IE5vbmUKKyAgICAgICAgIHNlbGYuc3RkZXJyX2NhcHR1cmUgPSBOb25lCisg ICAgICAgICBzZWxmLmxvZ19jYXB0dXJlID0gTm9uZQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOC1GSVgtd2FybmluZ3Mt cmVsYXRlZC10by1pbnZhbGlkLWVzY2FwZXMtaW4tcmVnZXgucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDI4LUZJWC13YXJuaW5ncy1y ZWxhdGVkLXRvLWludmFsaWQtZXNjYXBlcy1pbi1yZWdleC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjhmMGFkM2E4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMjgtRklYLXdh cm5pbmdzLXJlbGF0ZWQtdG8taW52YWxpZC1lc2NhcGVzLWluLXJlZ2V4LnBhdGNoCkBAIC0wLDAg KzEsNzkgQEAKK0Zyb20gZDg5MmY4MWUzYmQzZTk3OWQzNjc3YzM5YzNhOWVmYzQwMTMxYjQ1MiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9y ZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEp1biAyMDE5IDE5OjMyOjEwICswMjAwCitT dWJqZWN0OiBbUEFUQ0hdIEZJWCB3YXJuaW5ncyByZWxhdGVkIHRvIGludmFsaWQgZXNjYXBlcyBp biByZWdleC4KKworLS0tCisgYmVoYXZlNGNtZDAvY29tbWFuZF9zaGVsbF9wcm9jLnB5ICAgICAg ICAgICB8ICAzICsrLQorIGZlYXR1cmVzL3N0ZXBzL2JlaGF2ZV9zZWxlY3RfZmlsZXNfc3RlcHMu cHkgfCAyNCArKysrKysrKysrKysrLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2Vy dGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlNGNtZDAvY29t bWFuZF9zaGVsbF9wcm9jLnB5IGIvYmVoYXZlNGNtZDAvY29tbWFuZF9zaGVsbF9wcm9jLnB5Citp bmRleCAwN2YxYzg0Li4wM2NhNTVhIDEwMDc1NQorLS0tIGEvYmVoYXZlNGNtZDAvY29tbWFuZF9z aGVsbF9wcm9jLnB5CisrKysgYi9iZWhhdmU0Y21kMC9jb21tYW5kX3NoZWxsX3Byb2MucHkKK0BA IC0yNTEsNiArMjUxLDcgQEAgY2xhc3MgQmVoYXZlV2luQ29tbWFuZE91dHB1dFByb2Nlc3NvcihM aW5lQ29tbWFuZE91dHB1dFByb2Nlc3Nvcik6CisgICAgICAgICAgICAgIk5vIHN1Y2ggZmlsZSBv ciBkaXJlY3Rvcnk6ICcoP1A8cGF0aD4uKiknIiwKKyAgICAgICAgICAgICAiW0Vycm5vIDJdIE5v IHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnk6IiksICAjIElPRXJyb3IKKyAgICAgICAgIEV4Y2VwdGlv bldpdGhQYXRoTm9ybWFsaXplcigKKy0gICAgICAgICAgICAnXlxzKkZpbGUgIig/UDxwYXRoPi4q KSIsIGxpbmUgXGQrLCBpbiAnLAorKyAgICAgICAgICAgICMgV0FTOiAnXlxzKkZpbGUgIig/UDxw YXRoPi4qKSIsIGxpbmUgXGQrLCBpbiAnLAorKyAgICAgICAgICAgIHInXlxzKkZpbGUgIig/UDxw YXRoPi4qKSIsIGxpbmUgXGQrLCBpbiAnLAorICAgICAgICAgICAgICdGaWxlICInKSwKKyAgICAg XQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3N0ZXBzL2JlaGF2ZV9zZWxlY3RfZmlsZXNfc3RlcHMu cHkgYi9mZWF0dXJlcy9zdGVwcy9iZWhhdmVfc2VsZWN0X2ZpbGVzX3N0ZXBzLnB5CitpbmRleCA0 MzE2NzRlLi4wZDJjZDJlIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvc3RlcHMvYmVoYXZlX3NlbGVj dF9maWxlc19zdGVwcy5weQorKysrIGIvZmVhdHVyZXMvc3RlcHMvYmVoYXZlX3NlbGVjdF9maWxl c19zdGVwcy5weQorQEAgLTEsMjkgKzEsMzQgQEAKKyAjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQor LSIiIgorKyMgRE9DU1RSSU5HLU5FRURTLVJFR0VYLVNUUklORy1QUkVGSVg6IER1ZSB0byBleGFt cGxlIHcvIHdpbGRjYXJkIHBhdHRlcm4uCisrcicnJworIFByb3ZpZGVzIHN0ZXAgZGVmaW5pdGlv bnMgdGhhdCB0ZXN0IGhvdyB0aGUgYmVoYXZlIHJ1bm5lciBzZWxlY3RzIGZlYXR1cmUgZmlsZXMu CisgCisgRVhBTVBMRToKKysKKysuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorKworICAgICBHaXZl biBiZWhhdmUgaGFzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZSBmaWxlc2V0OgorLSAgICAgICcnJwor KyAgICAgICIiIgorICAgICAgIGZlYXR1cmVzL2FsaWNlLmZlYXR1cmUKKyAgICAgICBmZWF0dXJl cy9ib2IuZmVhdHVyZQorICAgICAgIGZlYXR1cmVzL2JhcmJpLmZlYXR1cmUKKy0gICAgICAnJycK KysgICAgICAiIiIKKyAgICAgV2hlbiBiZWhhdmUgaW5jbHVkZXMgZmVhdHVyZSBmaWxlcyB3aXRo ICJmZWF0dXJlcy9hLipcLmZlYXR1cmUiCisgICAgIEFuZCAgYmVoYXZlIGV4Y2x1ZGVzIGZlYXR1 cmUgZmlsZXMgd2l0aCAiZmVhdHVyZXMvYi4qXC5mZWF0dXJlIgorICAgICBUaGVuIHRoZSBmb2xs b3dpbmcgZmVhdHVyZSBmaWxlcyBhcmUgc2VsZWN0ZWQ6CistICAgICAgJycnCisrICAgICAgIiIi CisgICAgICAgZmVhdHVyZXMvYWxpY2UuZmVhdHVyZQorLSAgICAgICcnJworLSIiIgorKyAgICAg ICIiIgorKycnJworIAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Cist ZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuLCB3aGVuLCB0aGVuCistZnJvbSBiZWhhdmUucnVubmVy X3V0aWwgaW1wb3J0IEZlYXR1cmVMaXN0UGFyc2VyCistZnJvbSBoYW1jcmVzdCBpbXBvcnQgYXNz ZXJ0X3RoYXQsIGVxdWFsX3RvCisgZnJvbSBjb3B5IGltcG9ydCBjb3B5CisgaW1wb3J0IHJlCisg aW1wb3J0IHNpeAorK2Zyb20gaGFtY3Jlc3QgaW1wb3J0IGFzc2VydF90aGF0LCBlcXVhbF90bwor K2Zyb20gYmVoYXZlIGltcG9ydCBnaXZlbiwgd2hlbiwgdGhlbgorK2Zyb20gYmVoYXZlLnJ1bm5l cl91dGlsIGltcG9ydCBGZWF0dXJlTGlzdFBhcnNlcgorKworIAorICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAjIFNURVAgVVRJTFM6CitAQCAtNDcsNiArNTIsNyBAQCBjbGFzcyBCYXNpY0JlaGF2 ZVJ1bm5lcihvYmplY3QpOgorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFNURVAgREVGSU5J VElPTlM6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgcHlsaW50OiBkaXNhYmxlPWludmFs aWQtbmFtZQorIEBnaXZlbignYmVoYXZlIGhhcyB0aGUgZm9sbG93aW5nIGZlYXR1cmUgZmlsZXNl dCcpCisgZGVmIHN0ZXBfZ2l2ZW5fYmVoYXZlX2hhc19mZWF0dXJlX2ZpbGVzZXQoY29udGV4dCk6 CisgICAgIGFzc2VydCBjb250ZXh0LnRleHQgaXMgbm90IE5vbmUsICJSRVFVSVJFOiB0ZXh0Igpk aWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAyOS1TdGVwcy1jYXRhbG9nLXNob3VsZC1ub3QtYnJlYWstY29uZmlndXJlZC1yZXJ1 bi1zZXR0LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDAyOS1TdGVwcy1jYXRhbG9nLXNob3VsZC1ub3QtYnJlYWstY29uZmlndXJlZC1y ZXJ1bi1zZXR0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZTJk ODZjYTk5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDAyOS1TdGVwcy1jYXRhbG9nLXNob3VsZC1ub3QtYnJlYWst Y29uZmlndXJlZC1yZXJ1bi1zZXR0LnBhdGNoCkBAIC0wLDAgKzEsNzMgQEAKK0Zyb20gMTFjNGFj ODYyYmRjZTkwMWVmMTk4NjQ1MzJlZjZkMTdhODU3OTljZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IEVkdmluIExpbmdlIDxlZHZpbi5saW5nZUBnbWFpbC5jb20+CitEYXRlOiBNb24s IDMxIEp1bCAyMDE3IDE3OjA1OjE4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFN0ZXBzLWNhdGFs b2cgc2hvdWxkIG5vdCBicmVhayBjb25maWd1cmVkIHJlcnVuIHNldHRpbmdzCisKKy0tLQorIGJl aGF2ZS9jb25maWd1cmF0aW9uLnB5ICAgICAgICAgICAgICAgICAgfCAgNSArKysrLQorIGZlYXR1 cmVzL2Zvcm1hdHRlci5yZXJ1bi5mZWF0dXJlICAgICAgICAgfCAxNyArKysrKysrKysrKysrKysr KworIGZlYXR1cmVzL2Zvcm1hdHRlci5zdGVwc19jYXRhbG9nLmZlYXR1cmUgfCAxMyArKysrKysr KysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CisKK2RpZmYgLS1naXQgYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9jb25maWd1 cmF0aW9uLnB5CitpbmRleCA0OWIxZGZmLi44NjFmODlmIDEwMDY0NAorLS0tIGEvYmVoYXZlL2Nv bmZpZ3VyYXRpb24ucHkKKysrKyBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitAQCAtNjAxLDcg KzYwMSwxMCBAQCBjbGFzcyBDb25maWd1cmF0aW9uKG9iamVjdCk6CisgICAgICAgICBpZiBzZWxm LnN0ZXBzX2NhdGFsb2c6CisgICAgICAgICAgICAgIyAtLSBTSE9XIFNURVAtQ0FUQUxPRzogQXMg c3RlcCBzdW1tYXJ5LgorICAgICAgICAgICAgIHNlbGYuZGVmYXVsdF9mb3JtYXQgPSAic3RlcHMu Y2F0YWxvZyIKKy0gICAgICAgICAgICBzZWxmLmZvcm1hdCA9IFsic3RlcHMuY2F0YWxvZyJdCisr ICAgICAgICAgICAgaWYgc2VsZi5mb3JtYXQ6CisrICAgICAgICAgICAgICAgIHNlbGYuZm9ybWF0 LmFwcGVuZCgic3RlcHMuY2F0YWxvZyIpCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAg ICAgICAgc2VsZi5mb3JtYXQgPSBbInN0ZXBzLmNhdGFsb2ciXQorICAgICAgICAgICAgIHNlbGYu ZHJ5X3J1biA9IFRydWUKKyAgICAgICAgICAgICBzZWxmLnN1bW1hcnkgPSBGYWxzZQorICAgICAg ICAgICAgIHNlbGYuc2hvd19za2lwcGVkID0gRmFsc2UKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9m b3JtYXR0ZXIucmVydW4uZmVhdHVyZSBiL2ZlYXR1cmVzL2Zvcm1hdHRlci5yZXJ1bi5mZWF0dXJl CitpbmRleCAxZTY0NWYxLi5iOWQ3ZTFiIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvZm9ybWF0dGVy LnJlcnVuLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL2Zvcm1hdHRlci5yZXJ1bi5mZWF0dXJlCitA QCAtMjk0LDMgKzI5NCwyMCBAQCBGZWF0dXJlOiBSZXJ1biBGb3JtYXR0ZXIKKyAgICAgICAgICAg ICBmZWF0dXJlcy9ib2IuZmVhdHVyZToxMworICAgICAgICAgICAgICIiIgorICAgICAgICAgQW5k IG5vdGUgdGhhdCAidGhlIHNlY29uZCBSZXJ1bkZvcm1hdHRlciBvdmVyd3JpdGVzIHRoZSBvdXRw dXQgb2YgdGhlIGZpcnN0IG9uZSIKKysKKysgICAgQHdpdGguYmVoYXZlX2NvbmZpZ2ZpbGUKKysg ICAgU2NlbmFyaW86IFJlcnVuRm9ybWF0dGVyIHdpdGggc3RlcHMtY2F0YWxvZworKyAgICAgICAg R2l2ZW4gYSBmaWxlIG5hbWVkICJiZWhhdmUuaW5pIiB3aXRoOgorKyAgICAgICAgICAgICIiIgor KyAgICAgICAgICAgIFtiZWhhdmVdCisrICAgICAgICAgICAgZm9ybWF0ICAgPSByZXJ1bgorKyAg ICAgICAgICAgIG91dGZpbGVzID0gcmVydW4udHh0CisrICAgICAgICAgICAgIiIiCisrICAgICAg ICBXaGVuIEkgcnVuICJiZWhhdmUgLS1zdGVwcy1jYXRhbG9nIGZlYXR1cmVzLyIKKysKKysgICAg ICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKysgICAgICAgICAgICAiIiIKKysgICAgICAg ICAgICBHaXZlbiBhIHN0ZXAgcGFzc2VzCisrICAgICAgICAgICAgIiIiCisrICAgICAgICBBbmQg YSBmaWxlIG5hbWVkICJyZXJ1bi50eHQiIGRvZXMgbm90IGV4aXN0CisrCitkaWZmIC0tZ2l0IGEv ZmVhdHVyZXMvZm9ybWF0dGVyLnN0ZXBzX2NhdGFsb2cuZmVhdHVyZSBiL2ZlYXR1cmVzL2Zvcm1h dHRlci5zdGVwc19jYXRhbG9nLmZlYXR1cmUKK2luZGV4IDA5NTkxYmYuLjkzNmQ3ZjQgMTAwNjQ0 CistLS0gYS9mZWF0dXJlcy9mb3JtYXR0ZXIuc3RlcHNfY2F0YWxvZy5mZWF0dXJlCisrKysgYi9m ZWF0dXJlcy9mb3JtYXR0ZXIuc3RlcHNfY2F0YWxvZy5mZWF0dXJlCitAQCAtOTgsMyArOTgsMTYg QEAgRmVhdHVyZTogU3RlcHMgQ2F0YWxvZyBGb3JtYXR0ZXIKKyAgICAgICAgICAgIiIiCisgICAg ICAgICBCdXQgbm90ZSB0aGF0ICJ0aGUgc3RlcCBkZWZpbml0aW9ucyBhcmUgb3JkZXJlZCBieSBz dGVwIHR5cGUiCisgICAgICAgICBBbmQgbm90ZSB0aGF0ICInV2hlbiBJIHZpc2l0IHtwZXJzb259 JyBoYXMgbm8gZG9jLXN0cmluZyIKKysKKysKKysgICAgU2NlbmFyaW86IFN0ZXBzIGNhdGFsb2cg Zm9ybWF0dGVyIGlzIHVzZWQgZm9yIG91dHB1dCBldmVuIHdoZW4gb3RoZXIgZm9ybWF0dGVyIGlz IHNwZWNpZmllZAorKyAgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tc3RlcHMtY2F0YWxvZyAt ZiBwbGFpbiBmZWF0dXJlcy8iCisrICAgICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6Cisr ICAgICAgICAgICIiIgorKyAgICAgICAgICBHaXZlbiB7cGVyc29ufSBsaXZlcyBpbiB7Y2l0eX0K KysgICAgICAgICAgICAgIFNldHVwIHRoZSBkYXRhIHdoZXJlIGEgcGVyc29uIGxpdmVzIGFuZCBz dG9yZSBpbiB0aGUgZGF0YWJhc2UuCisrCisrICAgICAgICAgICAgICA6cGFyYW0gcGVyc29uOiAg UGVyc29uJ3MgbmFtZSAoYXMgc3RyaW5nKS4KKysgICAgICAgICAgICAgIDpwYXJhbSBjaXR5OiAg ICBDaXR5IHdoZXJlIHRoZSBwZXJzb24gbGl2ZXMgKGFzIHN0cmluZykuCisrICAgICAgICAgICIi IgorKwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDAzMC1BZGQtZmVhdHVyZS13LXJ1bGVzLWFuZC1mYWlsaW5nLXNjZW5hcmlv cy1lbmFibGUtdmlhLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDAzMC1BZGQtZmVhdHVyZS13LXJ1bGVzLWFuZC1mYWlsaW5nLXNjZW5h cmlvcy1lbmFibGUtdmlhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uZjA1MGM5Yzg1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzMC1BZGQtZmVhdHVyZS13LXJ1bGVzLWFuZC1m YWlsaW5nLXNjZW5hcmlvcy1lbmFibGUtdmlhLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20g NTAyMzgyNDMwZjFiZWU4ZDBhOTAzMWZjNzA1NDE0ODgyMjRhMTAyOSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29t PgorRGF0ZTogTW9uLCAxIEp1bCAyMDE5IDIyOjA3OjE5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hd IEFkZCBmZWF0dXJlIHcvIHJ1bGVzIGFuZCBmYWlsaW5nIHNjZW5hcmlvcyAoZW5hYmxlIHZpYQor IHRhZ3M9ZmFpbCBvciB0YWdzPXhmYWlsKS4KKworLS0tCisgLi4uL2doZXJraW5fdjYvZmVhdHVy ZXMvcnVsZV9mYWlscy5mZWF0dXJlICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKworIDEgZmls ZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVz L2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV9mYWlscy5mZWF0dXJlCisKK2RpZmYgLS1naXQgYS9l eGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfZmFpbHMuZmVhdHVyZSBiL2V4YW1wbGVz L2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV9mYWlscy5mZWF0dXJlCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMC4uN2UzODcyZQorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBs ZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlX2ZhaWxzLmZlYXR1cmUKK0BAIC0wLDAgKzEsMTkg QEAKKytAZmFpbAorK0ZlYXR1cmU6IFdpdGggUnVsZShzKSBhbmQgRmFpbGluZyBTY2VuYXJpbyhz KQorKworKyAgSElOVDogQ29udGFpbnMgZmFpbGluZyBzY2VuYXJpb3MgKGJ5IGludGVudGlvbiku CisrCisrICBAeGZhaWwKKysgIFNjZW5hcmlvOiBGMCAtLSBGYWlscworKyAgICBXaGVuIHNvbWUg c3RlcCBmYWlscworKworKyAgUnVsZTogRmFpbHMgaW4gU2NlbmFyaW8gRjIKKysKKysgICAgU2Nl bmFyaW86IEYxCisrICAgICAgR2l2ZW4gYSBzdGVwIHBhc3NlcworKworKyAgICBAeGZhaWwKKysg ICAgU2NlbmFyaW86IEYyIC0tIEZhaWxzCisrICAgICAgR2l2ZW4gYW5vdGhlciBzdGVwIHBhc3Nl cworKyAgICAgIFdoZW4gYSBzdGVwIGZhaWxzCisrICAgICAgVGhlbiBhbm90aGVyIHN0ZXAgcGFz c2VzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDMxLWV4YW1wbGVzLWdoZXJraW5fdjYtVHdlYWstU2NlbmFyaW9PdXRsaW5l LUV4YW1wbGVzLXQucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDMxLWV4YW1wbGVzLWdoZXJraW5fdjYtVHdlYWstU2NlbmFyaW9PdXRs aW5lLUV4YW1wbGVzLXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li42ZjcxNzI5ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMxLWV4YW1wbGVzLWdoZXJraW5fdjYtVHdlYWst U2NlbmFyaW9PdXRsaW5lLUV4YW1wbGVzLXQucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSBk Y2JiYTg2NDIwOWU4Nzg0ZWNhYTVhMWNmODBiMzQ2YjM5YjJhNWQ2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+ CitEYXRlOiBNb24sIDEgSnVsIDIwMTkgMjI6MTE6MTMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0g ZXhhbXBsZXMvZ2hlcmtpbl92NjogVHdlYWsgU2NlbmFyaW9PdXRsaW5lIEV4YW1wbGVzIHRpdGxl cy4KKworLS0tCisgZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9ydWxlXzIuZmVhdHVyZSB8 IDcgKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvcnVsZV8yLmZl YXR1cmUgYi9leGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1cmVzL3J1bGVfMi5mZWF0dXJlCitpbmRl eCBhODAyZTE5Li44YjhiYjA0IDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0 dXJlcy9ydWxlXzIuZmVhdHVyZQorKysrIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9mZWF0dXJlcy9y dWxlXzIuZmVhdHVyZQorQEAgLTM2LDcgKzM2LDEyIEBAIEZlYXR1cmU6IEdoZXJraW4gdjYgRXhh bXBsZSAtLSB3aXRoIFJ1bGVzCisgICAgIFNjZW5hcmlvIFRlbXBsYXRlOiBSMy5TY2VuYXJpbwor ICAgICAgIEdpdmVuIGEgcGVyc29uIG5hbWVkICI8bmFtZT4iCisgCistICAgICAgRXhhbXBsZXM6 CisrICAgICAgRXhhbXBsZXM6IFIzLkUxCisgICAgICAgICB8IG5hbWUgIHwKKyAgICAgICAgIHwg QWxpY2UgfAorICAgICAgICAgfCBCb2IgICB8CisrCisrICAgICAgRXhhbXBsZXM6IFIzLkUyCisr ICAgICAgICB8IG5hbWUgIHwKKysgICAgICAgIHwgQ2hhcmx5IHwKKysgICAgICAgIHwgRG9ybyAg IHwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMzItQWRkLWluZm8tb24tbWVyZ2VkLXB1bGwtNTg4LnBhdGNoIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDAzMi1BZGQtaW5m by1vbi1tZXJnZWQtcHVsbC01ODgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi40ZDQ0ZmVhMDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMyLUFkZC1pbmZvLW9uLW1lcmdlZC1w dWxsLTU4OC5wYXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9tIDljOWJiMWU2MzIwYTZmZmJhYzBi MTcxZDljZjk4Y2JiMzExMTA0ZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMSBKdWwg MjAxOSAwODowNjo0MyArMDIwMAorU3ViamVjdDogW1BBVENIXSBBZGQgaW5mbyBvbiBtZXJnZWQg cHVsbCAjNTg4CisKKy0tLQorIENIQU5HRVMucnN0IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0Citp bmRleCBhOTFlMjJhLi4zZDgwNWIzIDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NI QU5HRVMucnN0CitAQCAtMzYsNiArMzYsNyBAQCBQQVJUSUFMTFkgRklYRUQ6CisgCisgRklYRUQ6 CisgCisrKiBwdWxsICAjNTg4OiBTdGVwcy1jYXRhbG9nIGFyZ3VtZW50IHNob3VsZCBub3QgYnJl YWsgY29uZmlndXJlZCByZXJ1biBzZXR0aW5ncyAocHJvdmlkZWQgYnk6IExlZ28zKQorICogaXNz dWUgIzcyNTogU2NlbmFyaW8gT3V0bGluZSBkZXNjcmlwdGlvbiBsaW5lcyBzZWVtIHRvIGJlIGln bm9yZWQgKHN1Ym1pdHRlZCBieTogbml6d2l6KQorICogaXNzdWUgIzcxMzogQmFja2dyb3VuZCBz ZWN0aW9uIGRvZXNuJ3Qgc3VwcG9ydCBkZXNjcmlwdGlvbiAocHJvdmlkZWQgYnk6IGRnb3UpCisg KiBwdWxsICAjNjU3OiBBbGxvdyBhc3luYyBzdGVwcyB3aXRoIHRpbWVvdXRzIHRvIGZhaWwgd2hl biB0aGV5IHJhaXNlIGV4Y2VwdGlvbnMgKHByb3ZpZGVkIGJ5OiBBTFNjaHdhbG0pCmRpZmYgLS1n aXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDMzLVR3ZWFrLXRlc3RzLXJlcXVpcmVkLWJ5LXB5dGVzdC01LjAucGF0Y2ggYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMzLVR3ZWFrLXRlc3Rz LXJlcXVpcmVkLWJ5LXB5dGVzdC01LjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi4xZmRkYTNhN2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDMzLVR3ZWFrLXRlc3RzLXJlcXVp cmVkLWJ5LXB5dGVzdC01LjAucGF0Y2gKQEAgLTAsMCArMSw5NyBAQAorRnJvbSA4ZmUxYmMzMDVh ZWVhNWQ4NmRlMWIzYzVkZmNkMmU3OTg0ZmM1MTQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBG cmksIDUgSnVsIDIwMTkgMDg6Mjc6NDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVHdlYWsgdGVz dHMsIHJlcXVpcmVkIGJ5IHB5dGVzdCA+PSA1LjAuIFdpdGggcHl0ZXN0LnJhaXNlcworIHVzZSBz dHIoZS52YWx1ZSkgaW5zdGVhZCBvZiBzdHIoZSkgaW4gc29tZSBjYXNlcy4KKworLS0tCisgdGVz dHMvaXNzdWVzL3Rlc3RfaXNzdWUwNDU4LnB5ICAgICAgfCAgMiArLQorIHRlc3RzL3VuaXQvdGVz dF9jb250ZXh0X2NsZWFudXBzLnB5IHwgIDIgKy0KKyB0ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwu cHkgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKy0tLS0tLS0tLQorIDMgZmlsZXMgY2hhbmdl ZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0 cy9pc3N1ZXMvdGVzdF9pc3N1ZTA0NTgucHkgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTA0NTgu cHkKK2luZGV4IDE4NTNhZDYuLmY2NmY2ZDMgMTAwNjQ0CistLS0gYS90ZXN0cy9pc3N1ZXMvdGVz dF9pc3N1ZTA0NTgucHkKKysrKyBiL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDQ1OC5weQorQEAg LTQ4LDcgKzQ4LDcgQEAgZGVmIHRlc3RfaXNzdWUoZXhjZXB0aW9uX2NsYXNzLCBtZXNzYWdlKToK KyAgICAgICAgIHJhaXNlX2V4Y2VwdGlvbihleGNlcHRpb25fY2xhc3MsIG1lc3NhZ2UpCisgCisg ICAgICMgLS0gU0hPVUxEIE5PVCBSQUlTRSBFWENFUFRJT04gSEVSRToKKy0gICAgdGV4dCA9IF90 ZXh0KGUpCisrICAgIHRleHQgPSBfdGV4dChlLnZhbHVlKQorICAgICAjIC0tIERJQUdOT1NUSUNT OgorICAgICBwcmludCh1InRleHQiKyB0ZXh0KQorICAgICBwcmludCh1ImV4Y2VwdGlvbjogJXMi ICUgZSkKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfY29udGV4dF9jbGVhbnVwcy5weSBi L3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2NsZWFudXBzLnB5CitpbmRleCBiMGU4YWU2Li5iZjBh YjUwIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkKKysr KyBiL3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0X2NsZWFudXBzLnB5CitAQCAtMTUzLDcgKzE1Myw3 IEBAIGNsYXNzIFRlc3RDb250ZXh0Q2xlYW51cChvYmplY3QpOgorICAgICAgICAgd2l0aCBweXRl c3QucmFpc2VzKEFzc2VydGlvbkVycm9yKSBhcyBlOgorICAgICAgICAgICAgIHdpdGggc2NvcGVk X2NvbnRleHRfbGF5ZXIoY29udGV4dCk6CisgICAgICAgICAgICAgICAgIGNvbnRleHQuYWRkX2Ns ZWFudXAobm9uX2NhbGxhYmxlKQorLSAgICAgICAgYXNzZXJ0ICJSRVFVSVJFUzogY2FsbGFibGUo Y2xlYW51cF9mdW5jKSIgaW4gc3RyKGUpCisrICAgICAgICBhc3NlcnQgIlJFUVVJUkVTOiBjYWxs YWJsZShjbGVhbnVwX2Z1bmMpIiBpbiBzdHIoZS52YWx1ZSkKKyAKKyAgICAgZGVmIHRlc3Rfb25f Y2xlYW51cF9lcnJvcl9fcHJpbnRzX2Vycm9yX2J5X2RlZmF1bHQoc2VsZiwgY2Fwc3lzKToKKyAg ICAgICAgIGRlZiBiYWRfY2xlYW51cF9mdW5jKCk6CitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90 ZXN0X3RleHR1dGlsLnB5IGIvdGVzdHMvdW5pdC90ZXN0X3RleHR1dGlsLnB5CitpbmRleCBmN2Y2 NDJjLi5lMDVlOWFkIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X3RleHR1dGlsLnB5Cisr KysgYi90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkKK0BAIC0yMTQsOSArMjE0LDExIEBAIGNs YXNzIFRlc3RPYmplY3RUb1RleHRDb252ZXJzaW9uKG9iamVjdCk6CisgICAgICAgICB3aXRoIHB5 dGVzdC5yYWlzZXMoQXNzZXJ0aW9uRXJyb3IpIGFzIGU6CisgICAgICAgICAgICAgYXNzZXJ0IEZh bHNlLCBtZXNzYWdlCisgCistICAgICAgICB0ZXh0MiA9IHRleHQoZSkKKy0gICAgICAgIGV4cGVj dGVkID0gdSJBc3NlcnRpb25FcnJvcjogJXMiICUgbWVzc2FnZQorLSAgICAgICAgYXNzZXJ0IHRl eHQyLmVuZHN3aXRoKGV4cGVjdGVkKQorKyAgICAgICAgIyAtLSBGT1I6IHB5dGVzdCA8IDUuMAor KyAgICAgICAgIyBleHBlY3RlZCA9IHUiQXNzZXJ0aW9uRXJyb3I6ICVzIiAlIG1lc3NhZ2UKKysg ICAgICAgIHRleHQyID0gdGV4dChlLnZhbHVlKQorKyAgICAgICAgYXNzZXJ0IHUiQXNzZXJ0aW9u RXJyb3IiIGluIHRleHQoZSkKKysgICAgICAgIGFzc2VydCBtZXNzYWdlIGluIHRleHQyLCAiT09Q UzogdGV4dD0lciIgJSB0ZXh0MgorIAorICAgICBAcmVxdWlyZXNfcHl0aG9uMgorICAgICBAcHl0 ZXN0Lm1hcmsucGFyYW1ldHJpemUoIm1lc3NhZ2UiLCBbCitAQCAtMjM2LDEwICsyMzgsMTEgQEAg Y2xhc3MgVGVzdE9iamVjdFRvVGV4dENvbnZlcnNpb24ob2JqZWN0KToKKyAgICAgICAgICAgICAg ICAgYXNzZXJ0IGV4cGVjdGVkX2RlY29kZV9lcnJvciBpbiBzdHIodW5pX2Vycm9yKQorICAgICAg ICAgICAgICAgICBhc3NlcnQgRmFsc2UsIGJ5dGVzX21lc3NhZ2UuZGVjb2RlKHNlbGYuRU5DT0RJ TkcpCisgCisrICAgICAgICAjIC0tIEZPUjogcHl0ZXN0IDwgNS4wCisrICAgICAgICAjIGV4cGVj dGVkID0gdSJBc3NlcnRpb25FcnJvcjogJXMiICUgbWVzc2FnZQorICAgICAgICAgcHJpbnQoImRl Y29kZV9lcnJvcl9vY2N1cmVkKGFzY2lpKT0lcyIgJSBkZWNvZGVfZXJyb3Jfb2NjdXJlZCkKKy0g ICAgICAgIHRleHQyID0gdGV4dChlKQorLSAgICAgICAgZXhwZWN0ZWQgPSB1IkFzc2VydGlvbkVy cm9yOiAlcyIgJSBtZXNzYWdlCistICAgICAgICBhc3NlcnQgdGV4dDIuZW5kc3dpdGgoZXhwZWN0 ZWQpCisrICAgICAgICB0ZXh0MiA9IHRleHQoZS52YWx1ZSkKKysgICAgICAgIGFzc2VydCBtZXNz YWdlIGluIHRleHQyLCAiT09QUzogdGV4dD0lciIgJSB0ZXh0MgorIAorICAgICBAcHl0ZXN0Lm1h cmsucGFyYW1ldHJpemUoImV4Y2VwdGlvbl9jbGFzcywgbWVzc2FnZSIsIFsKKyAgICAgICAgIChB c3NlcnRpb25FcnJvciwgdSLDhHJnZXJuaXMiKSwKK0BAIC0yNTEsMTAgKzI1NCwxMyBAQCBjbGFz cyBUZXN0T2JqZWN0VG9UZXh0Q29udmVyc2lvbihvYmplY3QpOgorICAgICAgICAgd2l0aCBweXRl c3QucmFpc2VzKGV4Y2VwdGlvbl9jbGFzcykgYXMgZToKKyAgICAgICAgICAgICByYWlzZSBleGNl cHRpb25fY2xhc3MobWVzc2FnZSkKKyAKKy0gICAgICAgIHRleHQyID0gdGV4dChlKQorKyAgICAg ICAgIyAtLSBGT1I6IHB5dGVzdCA8IDUuMAorKyAgICAgICAgIyBleHBlY3RlZCA9IHUiQXNzZXJ0 aW9uRXJyb3I6ICVzIiAlIG1lc3NhZ2UKKysgICAgICAgIHRleHQyID0gdGV4dChlLnZhbHVlKQor ICAgICAgICAgZXhwZWN0ZWQgPSB1IiVzOiAlcyIgJSAoZXhjZXB0aW9uX2NsYXNzLl9fbmFtZV9f LCBtZXNzYWdlKQorICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UodGV4dDIsIHNpeC50ZXh0X3R5 cGUpCistICAgICAgICBhc3NlcnQgdGV4dDIuZW5kc3dpdGgoZXhwZWN0ZWQpCisrICAgICAgICBh c3NlcnQgZXhjZXB0aW9uX2NsYXNzLl9fbmFtZV9fIGluIHN0cihlKQorKyAgICAgICAgYXNzZXJ0 IG1lc3NhZ2UgaW4gdGV4dDIsICJPT1BTOiB0ZXh0PSVyIiAlIHRleHQyCisgCisgICAgIEByZXF1 aXJlc19weXRob24yCisgICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiZXhjZXB0aW9uX2Ns YXNzLCBtZXNzYWdlIiwgWworQEAgLTI2OCw3ICsyNzQsNyBAQCBjbGFzcyBUZXN0T2JqZWN0VG9U ZXh0Q29udmVyc2lvbihvYmplY3QpOgorICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKGV4Y2Vw dGlvbl9jbGFzcykgYXMgZToKKyAgICAgICAgICAgICByYWlzZSBleGNlcHRpb25fY2xhc3MoYnl0 ZXNfbWVzc2FnZSkKKyAKKy0gICAgICAgIHRleHQyID0gdGV4dChlKQorKyAgICAgICAgdGV4dDIg PSB0ZXh0KGUudmFsdWUpCisgICAgICAgICB1bmljb2RlX21lc3NhZ2UgPSBieXRlc19tZXNzYWdl LmRlY29kZShzZWxmLkVOQ09ESU5HKQorICAgICAgICAgZXhwZWN0ZWQgPSB1IiVzOiAlcyIgJSAo ZXhjZXB0aW9uX2NsYXNzLl9fbmFtZV9fLCB1bmljb2RlX21lc3NhZ2UpCisgICAgICAgICBhc3Nl cnQgaXNpbnN0YW5jZSh0ZXh0Miwgc2l4LnRleHRfdHlwZSkKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzQtQ0xFQU5VUC1V c2UtcHl0ZXN0LWluc3RlYWQtb2Ytbm9zZS10by1yZW1vdmUtbm9zZS5pbS5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzQtQ0xFQU5V UC1Vc2UtcHl0ZXN0LWluc3RlYWQtb2Ytbm9zZS10by1yZW1vdmUtbm9zZS5pbS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjdhNDdjN2ZlNwotLS0gL2Rldi9udWxs CisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwMzQtQ0xFQU5VUC1Vc2UtcHl0ZXN0LWluc3RlYWQtb2Ytbm9zZS10by1yZW1vdmUtbm9zZS5p bS5wYXRjaApAQCAtMCwwICsxLDE4MCBAQAorRnJvbSBkY2UwZTQwYzk2ODlhOGQ0ZmU3MWM5YjJl OGU0ZGVjZDcyZGNmNTc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBGcmksIDUgSnVsIDIwMTkg MDg6NDU6NTEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ0xFQU5VUDogVXNlIHB5dGVzdCBpbnN0 ZWFkIG9mIG5vc2UgdG8gcmVtb3ZlIG5vc2UuaW1wb3J0ZXIKKyBEZXByZWNhdGlvbldhcm5pbmcu CisKKy0tLQorIHRlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weSB8IDE2MyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTYzIGluc2VydGlvbnMo KykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvdW5pdC90ZXN0X2ltcG9ydGVyLnB5CisKK2Rp ZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkgYi90ZXN0cy91bml0L3Rlc3Rf aW1wb3J0ZXIucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mM2Y0ZTJj CistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkKK0BAIC0w LDAgKzEsMTYzIEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysiIiIKKytUZXN0cyBmb3Ig YmVoYXZlLmltcG9ydGluZy4KKytUaGUgbW9kdWxlIHByb3ZpZGVzIGEgbGF6eS1sb2FkaW5nL2lt cG9ydGluZyBtZWNoYW5pc20uCisrIiIiCisrCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNv bHV0ZV9pbXBvcnQKKytpbXBvcnQgcHl0ZXN0CisrZnJvbSBiZWhhdmUuaW1wb3J0ZXIgaW1wb3J0 IExhenlPYmplY3QsIExhenlEaWN0LCBsb2FkX21vZHVsZSwgcGFyc2Vfc2NvcGVkX25hbWUKKytm cm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYmFzZSBpbXBvcnQgRm9ybWF0dGVyCisraW1wb3J0IHN5cwor K2ltcG9ydCB0eXBlcworKyMgaW1wb3J0IHVuaXR0ZXN0CisrCisrCisrY2xhc3MgVGVzdFRoZW9y eShvYmplY3QpOgorKyAgICAiIiJNYXJrZXIgZm9yIHRlc3QtdGhlb3J5IGNsYXNzZXMgYXMgc3lu dGFjdGljIHN1Z2FyLiIiIgorKyAgICBwYXNzCisrCisrCisrY2xhc3MgSW1wb3J0TW9kdWxlVGhl b3J5KFRlc3RUaGVvcnkpOgorKyAgICAiIiIKKysgICAgUHJvdmlkZXMgYSB0ZXN0IHRoZW9yeSBm b3IgaW1wb3J0aW5nIG1vZHVsZXMuCisrICAgICIiIgorKworKyAgICBAY2xhc3NtZXRob2QKKysg ICAgZGVmIGVuc3VyZV9tb2R1bGVfaXNfbm90X2ltcG9ydGVkKGNscywgbW9kdWxlX25hbWUpOgor KyAgICAgICAgaWYgbW9kdWxlX25hbWUgaW4gc3lzLm1vZHVsZXM6CisrICAgICAgICAgICAgZGVs IHN5cy5tb2R1bGVzW21vZHVsZV9uYW1lXQorKyAgICAgICAgY2xzLmFzc2VydF9tb2R1bGVfaXNf bm90X2ltcG9ydGVkKG1vZHVsZV9uYW1lKQorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRl ZiBhc3NlcnRfbW9kdWxlX2lzX2ltcG9ydGVkKG1vZHVsZV9uYW1lKToKKysgICAgICAgIG1vZHVs ZSA9IHN5cy5tb2R1bGVzLmdldChtb2R1bGVfbmFtZSwgTm9uZSkKKysgICAgICAgIGFzc2VydCBt b2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlcworKyAgICAgICAgYXNzZXJ0IG1vZHVsZSBpcyBub3Qg Tm9uZQorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiBhc3NlcnRfbW9kdWxlX2lzX25v dF9pbXBvcnRlZChtb2R1bGVfbmFtZSk6CisrICAgICAgICBhc3NlcnQgbW9kdWxlX25hbWUgbm90 IGluIHN5cy5tb2R1bGVzCisrCisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVmIGFzc2VydF9t b2R1bGVfd2l0aF9uYW1lKG1vZHVsZSwgbmFtZSk6CisrICAgICAgICBhc3NlcnQgaXNpbnN0YW5j ZShtb2R1bGUsIHR5cGVzLk1vZHVsZVR5cGUpCisrICAgICAgICBhc3NlcnQgbW9kdWxlLl9fbmFt ZV9fID09IG5hbWUKKysKKysKKytjbGFzcyBUZXN0TG9hZE1vZHVsZShvYmplY3QpOgorKyAgICB0 aGVvcnkgPSBJbXBvcnRNb2R1bGVUaGVvcnkKKysKKysgICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVf X3Nob3VsZF9mYWlsX2Zvcl91bmtub3duX21vZHVsZShzZWxmKToKKysgICAgICAgIHdpdGggcHl0 ZXN0LnJhaXNlcyhJbXBvcnRFcnJvcikgYXMgZToKKysgICAgICAgICAgICBsb2FkX21vZHVsZSgi X191bmtub3duX21vZHVsZV9fIikKKysgICAgICAgICMgT0xEOiBhc3NlcnRfcmFpc2VzKEltcG9y dEVycm9yLCBsb2FkX21vZHVsZSwgIl9fdW5rbm93bl9tb2R1bGVfXyIpCisrCisrICAgIGRlZiB0 ZXN0X2xvYWRfbW9kdWxlX19zaG91bGRfc3VjY2VlZF9mb3JfYWxyZWFkeV9pbXBvcnRlZF9tb2R1 bGUoc2VsZik6CisrICAgICAgICBtb2R1bGVfbmFtZSA9ICJiZWhhdmUuaW1wb3J0ZXIiCisrICAg ICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX2lzX2ltcG9ydGVkKG1vZHVsZV9uYW1lKQor KworKyAgICAgICAgbW9kdWxlID0gbG9hZF9tb2R1bGUobW9kdWxlX25hbWUpCisrICAgICAgICBz ZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX3dpdGhfbmFtZShtb2R1bGUsIG1vZHVsZV9uYW1lKQor KyAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV9pc19pbXBvcnRlZChtb2R1bGVfbmFt ZSkKKysKKysgICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3Nob3VsZF9zdWNjZWVkX2Zvcl9leGlz dGluZ19tb2R1bGUoc2VsZik6CisrICAgICAgICBtb2R1bGVfbmFtZSA9ICJ0ZXN0Ll9pbXBvcnRl cl9jYW5kaWRhdGUiCisrICAgICAgICBzZWxmLnRoZW9yeS5lbnN1cmVfbW9kdWxlX2lzX25vdF9p bXBvcnRlZChtb2R1bGVfbmFtZSkKKysKKysgICAgICAgIG1vZHVsZSA9IGxvYWRfbW9kdWxlKG1v ZHVsZV9uYW1lKQorKyAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV93aXRoX25hbWUo bW9kdWxlLCBtb2R1bGVfbmFtZSkKKysgICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVf aXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisrCisrCisrY2xhc3MgVGVzdExhenlPYmplY3Qob2Jq ZWN0KToKKysKKysgICAgZGVmIHRlc3RfZ2V0X19zaG91bGRfc3VjY2VlZF9mb3Jfa25vd25fb2Jq ZWN0KHNlbGYpOgorKyAgICAgICAgbGF6eSA9IExhenlPYmplY3QoImJlaGF2ZS5pbXBvcnRlciIs ICJMYXp5T2JqZWN0IikKKysgICAgICAgIHZhbHVlID0gbGF6eS5nZXQoKQorKyAgICAgICAgYXNz ZXJ0IHZhbHVlIGlzIExhenlPYmplY3QKKysKKysgICAgICAgIGxhenkyID0gTGF6eU9iamVjdCgi YmVoYXZlLmltcG9ydGVyOkxhenlPYmplY3QiKQorKyAgICAgICAgdmFsdWUyID0gbGF6eTIuZ2V0 KCkKKysgICAgICAgIGFzc2VydCB2YWx1ZTIgaXMgTGF6eU9iamVjdAorKworKyAgICAgICAgbGF6 eTMgPSBMYXp5T2JqZWN0KCJiZWhhdmUuZm9ybWF0dGVyLnN0ZXBzIiwgIlN0ZXBzRm9ybWF0dGVy IikKKysgICAgICAgIHZhbHVlMyA9IGxhenkzLmdldCgpCisrICAgICAgICBhc3NlcnQgaXNzdWJj bGFzcyh2YWx1ZTMsIEZvcm1hdHRlcikKKysKKysgICAgZGVmIHRlc3RfZ2V0X19zaG91bGRfZmFp bF9mb3JfdW5rbm93bl9tb2R1bGUoc2VsZik6CisrICAgICAgICBsYXp5ID0gTGF6eU9iamVjdCgi X191bmtub3duX21vZHVsZV9fIiwgInh4eCIpCisrICAgICAgICB3aXRoIHB5dGVzdC5yYWlzZXMo SW1wb3J0RXJyb3IpOgorKyAgICAgICAgICAgIGxhenkuZ2V0KCkKKysKKysgICAgZGVmIHRlc3Rf Z2V0X19zaG91bGRfZmFpbF9mb3JfdW5rbm93bl9vYmplY3RfaW5fbW9kdWxlKHNlbGYpOgorKyAg ICAgICAgbGF6eSA9IExhenlPYmplY3QoInRlc3QuX2ltcG9ydGVyX2NhbmRpZGF0ZSIsICJ4eHgi KQorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEltcG9ydEVycm9yKToKKysgICAgICAgICAg ICBsYXp5LmdldCgpCisrCisrCisrY2xhc3MgTGF6eURpY3RUaGVvcnkoVGVzdFRoZW9yeSk6Cisr CisrICAgIEBzdGF0aWNtZXRob2QKKysgICAgZGVmIHNhZmVfZ2V0aXRlbShkYXRhLCBrZXkpOgor KyAgICAgICAgcmV0dXJuIGRpY3QuX19nZXRpdGVtX18oZGF0YSwga2V5KQorKworKyAgICBAY2xh c3NtZXRob2QKKysgICAgZGVmIGFzc2VydF9pdGVtX2lzX2xhenkoY2xzLCBkYXRhLCBrZXkpOgor KyAgICAgICAgdmFsdWUgPSBjbHMuc2FmZV9nZXRpdGVtKGRhdGEsIGtleSkKKysgICAgICAgIGNs cy5hc3NlcnRfaXNfbGF6eV9vYmplY3QodmFsdWUpCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAg ICBkZWYgYXNzZXJ0X2l0ZW1faXNfbm90X2xhenkoY2xzLCBkYXRhLCBrZXkpOgorKyAgICAgICAg dmFsdWUgPSBjbHMuc2FmZV9nZXRpdGVtKGRhdGEsIGtleSkKKysgICAgICAgIGNscy5hc3NlcnRf aXNfbm90X2xhenlfb2JqZWN0KHZhbHVlKQorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRl ZiBhc3NlcnRfaXNfbGF6eV9vYmplY3Qob2JqKToKKysgICAgICAgIGFzc2VydCBpc2luc3RhbmNl KG9iaiwgTGF6eU9iamVjdCkKKysKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgYXNzZXJ0 X2lzX25vdF9sYXp5X29iamVjdChvYmopOgorKyAgICAgICAgYXNzZXJ0IG5vdCBpc2luc3RhbmNl KG9iaiwgTGF6eU9iamVjdCkKKysKKysKKytjbGFzcyBUZXN0TGF6eURpY3Qob2JqZWN0KToKKysg ICAgdGhlb3J5ID0gTGF6eURpY3RUaGVvcnkKKysKKysgICAgZGVmIHRlc3RfdW5rbm93bl9pdGVt X2FjY2Vzc19fc2hvdWxkX3JhaXNlX2tleWVycm9yKHNlbGYpOgorKyAgICAgICAgbGF6eV9kaWN0 ID0gTGF6eURpY3QoeyJhbGljZSI6IDQyfSkKKysgICAgICAgIGl0ZW1fYWNjZXNzID0gbGFtYmRh IGtleTogbGF6eV9kaWN0W2tleV0KKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhLZXlFcnJv cik6CisrICAgICAgICAgICAgaXRlbV9hY2Nlc3MoInVua25vd24iKQorKworKyAgICBkZWYgdGVz dF9wbGFpbl9pdGVtX2FjY2Vzc19fc2hvdWxkX3N1Y2NlZWQoc2VsZik6CisrICAgICAgICB0aGVv cnkgPSBMYXp5RGljdFRoZW9yeQorKyAgICAgICAgbGF6eV9kaWN0ID0gTGF6eURpY3QoeyJhbGlj ZSI6IDQyfSkKKysgICAgICAgIHRoZW9yeS5hc3NlcnRfaXRlbV9pc19ub3RfbGF6eShsYXp5X2Rp Y3QsICJhbGljZSIpCisrCisrICAgICAgICB2YWx1ZSA9IGxhenlfZGljdFsiYWxpY2UiXQorKyAg ICAgICAgYXNzZXJ0IHZhbHVlID09IDQyCisrCisrICAgIGRlZiB0ZXN0X2xhenlfaXRlbV9hY2Nl c3NfX3Nob3VsZF9sb2FkX29iamVjdChzZWxmKToKKysgICAgICAgIEltcG9ydE1vZHVsZVRoZW9y eS5lbnN1cmVfbW9kdWxlX2lzX25vdF9pbXBvcnRlZCgiaW5zcGVjdCIpCisrICAgICAgICBsYXp5 X2RpY3QgPSBMYXp5RGljdCh7ImFsaWNlIjogTGF6eU9iamVjdCgiaW5zcGVjdDppc21vZHVsZSIp fSkKKysgICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9pdGVtX2lzX2xhenkobGF6eV9kaWN0LCAi YWxpY2UiKQorKyAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X2l0ZW1faXNfbGF6eShsYXp5X2Rp Y3QsICJhbGljZSIpCisrCisrICAgICAgICB2YWx1ZSA9IGxhenlfZGljdFsiYWxpY2UiXQorKyAg ICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X2lzX25vdF9sYXp5X29iamVjdCh2YWx1ZSkKKysgICAg ICAgIHNlbGYudGhlb3J5LmFzc2VydF9pdGVtX2lzX25vdF9sYXp5KGxhenlfZGljdCwgImFsaWNl IikKKysKKysgICAgZGVmIHRlc3RfbGF6eV9pdGVtX2FjY2Vzc19fc2hvdWxkX2ZhaWxfd2l0aF91 bmtub3duX21vZHVsZShzZWxmKToKKysgICAgICAgIGxhenlfZGljdCA9IExhenlEaWN0KHsiYm9i IjogTGF6eU9iamVjdCgiX191bmtub3duX21vZHVsZV9fIiwgInh4eCIpfSkKKysgICAgICAgIGl0 ZW1fYWNjZXNzID0gbGFtYmRhIGtleTogbGF6eV9kaWN0W2tleV0KKysgICAgICAgIHdpdGggcHl0 ZXN0LnJhaXNlcyhJbXBvcnRFcnJvcik6CisrICAgICAgICAgICAgaXRlbV9hY2Nlc3MoImJvYiIp CisrCisrICAgIGRlZiB0ZXN0X2xhenlfaXRlbV9hY2Nlc3NfX3Nob3VsZF9mYWlsX3dpdGhfdW5r bm93bl9vYmplY3Qoc2VsZik6CisrICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7CisrICAg ICAgICAgICAgImJvYiI6IExhenlPYmplY3QoImJlaGF2ZS5pbXBvcnRlciIsICJYVW5rbm93biIp CisrICAgICAgICB9KQorKyAgICAgICAgaXRlbV9hY2Nlc3MgPSBsYW1iZGEga2V5OiBsYXp5X2Rp Y3Rba2V5XQorKyAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKEltcG9ydEVycm9yKToKKysgICAg ICAgICAgICBpdGVtX2FjY2VzcygiYm9iIikKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzUtUkVNT1ZFLURFUEVOREVOQ1kt bm9zZS10by1hdm9pZC1ub3NlLmltcG9ydGVyLXdhcm5pbi5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzUtUkVNT1ZFLURFUEVOREVO Q1ktbm9zZS10by1hdm9pZC1ub3NlLmltcG9ydGVyLXdhcm5pbi5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjMzNzM4NDU5ZAotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzUtUkVN T1ZFLURFUEVOREVOQ1ktbm9zZS10by1hdm9pZC1ub3NlLmltcG9ydGVyLXdhcm5pbi5wYXRjaApA QCAtMCwwICsxLDE4MTUgQEAKK0Zyb20gNjViMTdjY2JlYTFhMTdiMjZlNjE5MWExZDczMzYwODhk MGRkNDE4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNA dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA2IEp1bCAyMDE5IDA5OjEwOjUy ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFJFTU9WRS1ERVBFTkRFTkNZOiBub3NlICh0byBhdm9p ZCBub3NlLmltcG9ydGVyIHdhcm5pbmdzKQorCitSZXBsYWNlIG5vc2UgdGVzdC1mcmFtZXdvcmsg ZnVuY3Rpb25hbGl0eSB3LyBweXRlc3QuCitNb3ZlIHRlc3QvKi5weSA9PiB0ZXN0cy91bml0Lyou cHkKKy0tLQorIE1BTklGRVNULmluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiAtCisgY29uZnRlc3QucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDEzICsrCisgaW52b2tlLnlhbWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAxICsKKyBweS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCAgICAgICAgICAgICAgICAgICAgfCAg IDkgKworIHB5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0ICAgICAgICAgICAgICAgICB8ICAg MSAtCisgcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0ICAgICAgICAgICAgICAgICAgIHwgICAx IC0KKyBweS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgICAgICAgICAgICAgICAgICAgfCAgIDMg Ky0KKyBweXRlc3QuaW5pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcg Ky0KKyBzZXR1cC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDgg Ky0KKyB0YXNrcy90ZXN0LnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIg Ky0KKyB0ZXN0L19faW5pdF9fLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDAK KyB0ZXN0L3Rlc3RfaW1wb3J0ZXIucHkgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNTEgLS0t LS0tLS0tLS0tLQorIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L19pbXBvcnRlcl9jYW5kaWRhdGUucHkg ICB8ICAgMAorIHRlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5ICAgICAgICAgICB8 ICAgMiAtCisgLi4uL3Rlc3RfdGFnX2V4cHJlc3Npb25fdjFfcGFydDEucHkgICAgICAgICAgIHwg IDE3ICstCisgLi4uL3Rlc3RfdGFnX2V4cHJlc3Npb25fdjFfcGFydDIucHkgICAgICAgICAgIHwg IDE4ICstCisge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9hbnNpX2VzY2FwZXMucHkgICAgIHwg IDE0ICstCisge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9jb25maWd1cmF0aW9uLnB5ICAgIHwg IDc1ICsrKy0tLQorIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3RfZm9ybWF0dGVyLnB5ICAgICAg ICB8ICAxNSArLQorIC4uLi91bml0fS90ZXN0X2Zvcm1hdHRlcl9wcm9ncmVzcy5weSAgICAgICAg ICB8ICAgNyArCisge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0ZXJfcmVydW4ucHkg IHwgIDEyICstCisge3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0ZXJfdGFncy5weSAg IHwgICA5ICsKKyB0ZXN0cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkgICAgICAgICAgICAgICAgICAg fCAgIDIgKy0KKyB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2xvZ19jYXB0dXJlLnB5ICAgICAg fCAgIDkgKy0KKyB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X21hdGNoZXJzLnB5ICAgICAgICAg fCAgMjQgKy0KKyB0ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5ICAgICAgICAgICAgICAgICAgICAg fCAgIDEgLQorIHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3RfcnVubmVyLnB5ICAgICAgICAgICB8 IDIxMyArKysrKysrKysrLS0tLS0tLS0KKyB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X3N0ZXBf cmVnaXN0cnkucHkgICAgfCAgIDUgKy0KKyB0ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkgICAg ICAgICAgICAgICAgICAgfCAgMTIgKy0KKyB0b3guaW5pICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMTkgKy0KKyAzMCBmaWxlcyBjaGFuZ2VkLCAyODMgaW5zZXJ0aW9u cygrKSwgMzY5IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBweS5yZXF1aXJlbWVu dHMvY2kudG94LnR4dAorIGRlbGV0ZSBtb2RlIDEwMDY0NCB0ZXN0L19faW5pdF9fLnB5CisgZGVs ZXRlIG1vZGUgMTAwNjQ0IHRlc3QvdGVzdF9pbXBvcnRlci5weQorIHJlbmFtZSB7dGVzdCA9PiB0 ZXN0cy91bml0fS9faW1wb3J0ZXJfY2FuZGlkYXRlLnB5ICgxMDAlKQorIHJlbmFtZSB7dGVzdCA9 PiB0ZXN0cy91bml0fS90ZXN0X2Fuc2lfZXNjYXBlcy5weSAoODQlKQorIHJlbmFtZSB7dGVzdCA9 PiB0ZXN0cy91bml0fS90ZXN0X2NvbmZpZ3VyYXRpb24ucHkgKDcyJSkKKyByZW5hbWUge3Rlc3Qg PT4gdGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0ZXIucHkgKDk0JSkKKyByZW5hbWUge3Rlc3QgPT4g dGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0ZXJfcHJvZ3Jlc3MucHkgKDk5JSkKKyByZW5hbWUge3Rl c3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0ZXJfcmVydW4ucHkgKDk0JSkKKyByZW5hbWUg e3Rlc3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9mb3JtYXR0ZXJfdGFncy5weSAoOTklKQorIHJlbmFt ZSB7dGVzdCA9PiB0ZXN0cy91bml0fS90ZXN0X2xvZ19jYXB0dXJlLnB5ICg4NyUpCisgcmVuYW1l IHt0ZXN0ID0+IHRlc3RzL3VuaXR9L3Rlc3RfbWF0Y2hlcnMucHkgKDkzJSkKKyByZW5hbWUge3Rl c3QgPT4gdGVzdHMvdW5pdH0vdGVzdF9ydW5uZXIucHkgKDgyJSkKKyByZW5hbWUge3Rlc3QgPT4g dGVzdHMvdW5pdH0vdGVzdF9zdGVwX3JlZ2lzdHJ5LnB5ICg5NSUpCisKK2RpZmYgLS1naXQgYS9N QU5JRkVTVC5pbiBiL01BTklGRVNULmluCitpbmRleCA0OWNiN2M2Li42MGMyNjAxIDEwMDY0NAor LS0tIGEvTUFOSUZFU1QuaW4KKysrKyBiL01BTklGRVNULmluCitAQCAtMzMsNSArMzMsMyBAQCBy ZWN1cnNpdmUtaW5jbHVkZSBweS5yZXF1aXJlbWVudHMgICoudHh0CisgCisgcHJ1bmUgLnRveAor IHBydW5lIC52ZW52KgorLXBydW5lIHBhdmVyX2V4dAorLWV4Y2x1ZGUgcGF2ZW1lbnQucHkKK2Rp ZmYgLS1naXQgYS9jb25mdGVzdC5weSBiL2NvbmZ0ZXN0LnB5CitpbmRleCA3YjNhODgzLi43MWEz YmQwIDEwMDY0NAorLS0tIGEvY29uZnRlc3QucHkKKysrKyBiL2NvbmZ0ZXN0LnB5CitAQCAtMTAs NiArMTAsMTAgQEAgQWRkIHByb2plY3Qtc3BlY2lmaWMgaW5mb3JtYXRpb24uCisgaW1wb3J0IGJl aGF2ZQorIGltcG9ydCBweXRlc3QKKyAKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgUFlU RVNUIEZJWFRVUkVTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQHB5dGVzdC5maXh0dXJlKGF1 dG91c2U9VHJ1ZSkKKyBkZWYgX2Fubm90YXRlX2Vudmlyb25tZW50KHJlcXVlc3QpOgorICAgICAi IiJBZGQgcHJvamVjdC1zcGVjaWZpYyBpbmZvcm1hdGlvbiB0byB0ZXN0LXJ1biBlbnZpcm9ubWVu dDoKK0BAIC0yNSwzICsyOSwxMiBAQCBkZWYgX2Fubm90YXRlX2Vudmlyb25tZW50KHJlcXVlc3Qp OgorICAgICAgICAgYmVoYXZlX3ZlcnNpb24gPSBiZWhhdmUuX192ZXJzaW9uX18KKyAgICAgICAg IGVudmlyb25tZW50LmFwcGVuZCgoImJlaGF2ZSIsIGJlaGF2ZV92ZXJzaW9uKSkKKyAKKytfcHl0 ZXN0X3ZlcnNpb24gPSBweXRlc3QuX192ZXJzaW9uX18KKytpZiBfcHl0ZXN0X3ZlcnNpb24gPj0g IjUuMCI6CisrICAgICMgLS0gU1VQUE9SVEVEIFNJTkNFOiBweXRlc3QgNS4wCisrICAgIEBweXRl c3QuZml4dHVyZShzY29wZT0ic2Vzc2lvbiIsIGF1dG91c2U9VHJ1ZSkKKysgICAgZGVmIGxvZ19n bG9iYWxfZW52X2ZhY3RzKHJlY29yZF90ZXN0c3VpdGVfcHJvcGVydHkpOgorKyAgICAgICAgIyBT RUU6IGh0dHBzOi8vZG9jcy5weXRlc3Qub3JnL2VuL2xhdGVzdC91c2FnZS5odG1sCisrICAgICAg ICBiZWhhdmVfdmVyc2lvbiA9IGJlaGF2ZS5fX3ZlcnNpb25fXworKyAgICAgICAgcmVjb3JkX3Rl c3RzdWl0ZV9wcm9wZXJ0eSgiQkVIQVZFX1ZFUlNJT04iLCBiZWhhdmVfdmVyc2lvbikKKysKK2Rp ZmYgLS1naXQgYS9pbnZva2UueWFtbCBiL2ludm9rZS55YW1sCitpbmRleCA0ZjIxMzI4Li4zZTkz Y2ZjIDEwMDY0NAorLS0tIGEvaW52b2tlLnlhbWwKKysrKyBiL2ludm9rZS55YW1sCitAQCAtMjMs NiArMjMsNyBAQCBzcGhpbng6CisgICAgIGxhbmd1YWdlczoKKyAgICAgICAtIGRlCisgICAgICAg IyBQUkVQQVJFRDogLSB6aC1DTgorKworIGNsZWFudXA6CisgICAgIGV4dHJhX2RpcmVjdG9yaWVz OgorICAgICAgIC0gImJ1aWxkIgorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gu dHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwLi42YjNiM2FlCistLS0gL2Rldi9udWxsCisrKysgYi9weS5yZXF1aXJlbWVu dHMvY2kudG94LnR4dAorQEAgLTAsMCArMSw5IEBACisrIyA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisr IyBCRUhBVkU6IFBZVEhPTiBQQUNLQUdFIFJFUVVJUkVNRU5UUzogY2kudG94LnR4dAorKyMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorKworK3B5dGVzdCA+PSA0LjIKKytweXRlc3QtaHRtbCA+PSAxLjE5 LjAKKyttb2NrID49IDIuMAorK1B5SGFtY3Jlc3QgPj0gMS45CisrcGF0aC5weSA+PSAxMC4xCitk aWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgYi9weS5yZXF1aXJlbWVu dHMvY2kudHJhdmlzLnR4dAoraW5kZXggMWNjMDIzOS4uNzNkNjVmNiAxMDA2NDQKKy0tLSBhL3B5 LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudHJh dmlzLnR4dAorQEAgLTEsNSArMSw0IEBACisgbW9jaworLW5vc2UKKyBQeUhhbWNyZXN0ID49IDEu OQorIHB5dGVzdCA+PSAzLjAKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKK2RpZmYgLS1naXQgYS9w eS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQgYi9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQK K2luZGV4IDNkZWVkYzcuLmQ4MjMzODkgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvZGV2 ZWxvcC50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dAorQEAgLTE0LDcgKzE0 LDYgQEAgcHljbWQKKyBidW1wdmVyc2lvbiA+PSAwLjQuMAorIAorICMgLS0gREVWRUxPUE1FTlQg U1VQUE9SVDoKKy0jIFBSRVBBUkVEOiBub3NlLWNvdiA+PSAxLjQKKyB0b3ggICA+PSAxLjguMQor IGNvdmVyYWdlID49IDQuMgorIHB5dGVzdC1jb3YKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVu dHMvdGVzdGluZy50eHQgYi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK2luZGV4IDM4MDZk MzkuLmE0MTg3MzkgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKKysr KyBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorQEAgLTQsOSArNCw4IEBACisgCisgIyAt LSBURVNUSU5HOiBVbml0IHRlc3RzIGFuZCBiZWhhdmUgc2VsZi10ZXN0cy4KKyAjIFBSRVBBUkVE LUZVVFVSRTogYmVoYXZlNGNtZDAsIGJlaGF2ZTRjbWQKKy1weXRlc3QgPj0gMy4wCisrcHl0ZXN0 ID49IDQuMgorIHB5dGVzdC1odG1sID49IDEuMTkuMAorLW5vc2UgID49IDEuMworIG1vY2sgID49 IDIuMAorIFB5SGFtY3Jlc3QgPj0gMS45CisgCitkaWZmIC0tZ2l0IGEvcHl0ZXN0LmluaSBiL3B5 dGVzdC5pbmkKK2luZGV4IDE3YWQzODguLmE2ODY1OTYgMTAwNjQ0CistLS0gYS9weXRlc3QuaW5p CisrKysgYi9weXRlc3QuaW5pCitAQCAtMTYsOCArMTYsOCBAQAorICMgPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorIAorIFtweXRlc3RdCistbWludmVyc2lvbiAgICA9IDIuOAorLXRlc3RwYXRocyAgICAg PSB0ZXN0IHRlc3RzCisrbWludmVyc2lvbiAgICA9IDQuMgorK3Rlc3RwYXRocyAgICAgPSB0ZXN0 cworIHB5dGhvbl9maWxlcyAgPSB0ZXN0XyoucHkKKyBhZGRvcHRzID0gLS1tZXRhZGF0YSBQQUNL QUdFX1VOREVSX1RFU1QgYmVoYXZlCisgICAgIC0tbWV0YWRhdGEgUEFDS0FHRV9WRVJTSU9OIDEu Mi43LmRldjEKK0BAIC0yNiw2ICsyNiw3IEBAIGFkZG9wdHMgPSAtLW1ldGFkYXRhIFBBQ0tBR0Vf VU5ERVJfVEVTVCBiZWhhdmUKKyBtYXJrZXJzID0KKyAgICAgc21va2UKKyAgICAgc2xvdworKwor ICMgLS0gQkFDS1dBUkQgQ09NUEFUSUJJTElUWTogcHl0ZXN0IDwgMi44Cistbm9yZWN1cnNlZGly cyA9IC5naXQgLnRveCBidWlsZCBkaXN0IHB5LnJlcXVpcmVtZW50cyB0bXAqIF9XT1JLU1BBQ0UK KysjIG5vcmVjdXJzZWRpcnMgPSAuZ2l0IC50b3ggYnVpbGQgZGlzdCBweS5yZXF1aXJlbWVudHMg dG1wKiBfV09SS1NQQUNFCisgCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5k ZXggYWM3YmRkZi4uOWM3NTYwZCAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5w eQorQEAgLTg2LDEzICs4NiwxMSBAQCBzZXR1cCgKKyAgICAgICAgICJ3aW5fdW5pY29kZV9jb25z b2xlOyBweXRob25fdmVyc2lvbiA8ICczLjYnIiwKKyAgICAgICAgICJjb2xvcmFtYSIsCisgICAg IF0sCistICAgIHRlc3Rfc3VpdGU9Im5vc2UuY29sbGVjdG9yIiwKKyAgICAgdGVzdHNfcmVxdWly ZT1bCistICAgICAgICAicHl0ZXN0ID49IDMuMCIsCisrICAgICAgICAicHl0ZXN0ID49IDQuMiIs CisgICAgICAgICAicHl0ZXN0LWh0bWwgPj0gMS4xOS4wIiwKKy0gICAgICAgICJub3NlID49IDEu MyIsCisgICAgICAgICAibW9jayA+PSAxLjEiLAorLSAgICAgICAgIlB5SGFtY3Jlc3QgPj0gMS44 IiwKKysgICAgICAgICJQeUhhbWNyZXN0ID49IDEuOSIsCisgICAgICAgICAicGF0aC5weSA+PSAx MS41LjAiCisgICAgIF0sCisgICAgIGNtZGNsYXNzID0geworQEAgLTEwNSw3ICsxMDMsNyBAQCBz ZXR1cCgKKyAgICAgICAgIF0sCisgICAgICAgICAiZGV2ZWxvcCI6IFsKKyAgICAgICAgICAgICAi Y292ZXJhZ2UiLAorLSAgICAgICAgICAgICJweXRlc3QgPj0gMy4wIiwKKysgICAgICAgICAgICAi cHl0ZXN0ID49IDQuMiIsCisgICAgICAgICAgICAgInB5dGVzdC1odG1sID49IDEuMTkuMCIsCisg ICAgICAgICAgICAgInB5dGVzdC1jb3YiLAorICAgICAgICAgICAgICJ0b3giLAorZGlmZiAtLWdp dCBhL3Rhc2tzL3Rlc3QucHkgYi90YXNrcy90ZXN0LnB5CitpbmRleCAwNmViMTc1Li5iZmEyZDgw IDEwMDY0NAorLS0tIGEvdGFza3MvdGVzdC5weQorKysrIGIvdGFza3MvdGVzdC5weQorQEAgLTE3 Miw3ICsxNzIsNyBAQCBuYW1lc3BhY2UuY29uZmlndXJlKHsKKyAgICAgICAgIH0sCisgICAgIH0s CisgICAgICJweXRlc3QiOiB7CistICAgICAgICAic2NvcGVzIjogICBbInRlc3QiLCAidGVzdHMi XSwKKysgICAgICAgICJzY29wZXMiOiAgIFsidGVzdHMiXSwKKyAgICAgICAgICJhcmdzIjogICAi IiwKKyAgICAgICAgICJvcHRpb25zIjogIiIsICAjIC0tIE5PVEU6ICBPdmVyaWRlIGluIGNvbmZp Z2ZpbGUgImludm9rZS55YW1sIgorICAgICB9LAorZGlmZiAtLWdpdCBhL3Rlc3QvX19pbml0X18u cHkgYi90ZXN0L19faW5pdF9fLnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGU2 OWRlMjkuLjAwMDAwMDAKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfaW1wb3J0ZXIucHkgYi90ZXN0 L3Rlc3RfaW1wb3J0ZXIucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYmFjYTIx YS4uMDAwMDAwMAorLS0tIGEvdGVzdC90ZXN0X2ltcG9ydGVyLnB5CisrKysgL2Rldi9udWxsCitA QCAtMSwxNTEgKzAsMCBAQAorLSMgLSotIGNvZGluZzogdXRmLTggLSotCistIiIiCistVGVzdHMg Zm9yIGJlaGF2ZS5pbXBvcnRpbmcuCistVGhlIG1vZHVsZSBwcm92aWRlcyBhIGxhenktbG9hZGlu Zy9pbXBvcnRpbmcgbWVjaGFuaXNtLgorLSIiIgorLQorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQg YWJzb2x1dGVfaW1wb3J0CistZnJvbSBiZWhhdmUuaW1wb3J0ZXIgaW1wb3J0IExhenlPYmplY3Qs IExhenlEaWN0LCBsb2FkX21vZHVsZSwgcGFyc2Vfc2NvcGVkX25hbWUKKy1mcm9tIGJlaGF2ZS5m b3JtYXR0ZXIuYmFzZSBpbXBvcnQgRm9ybWF0dGVyCistZnJvbSBub3NlLnRvb2xzIGltcG9ydCBl cV8sIGFzc2VydF9yYWlzZXMKKy1pbXBvcnQgc3lzCistaW1wb3J0IHR5cGVzCistIyBpbXBvcnQg dW5pdHRlc3QKKy0KKy0KKy1jbGFzcyBUZXN0VGhlb3J5KG9iamVjdCk6IHBhc3MKKy1jbGFzcyBJ bXBvcnRNb2R1bGVUaGVvcnkoVGVzdFRoZW9yeSk6CistICAgICIiIgorLSAgICBQcm92aWRlcyBh IHRlc3QgdGhlb3J5IGZvciBpbXBvcnRpbmcgbW9kdWxlcy4KKy0gICAgIiIiCistCistICAgIEBj bGFzc21ldGhvZAorLSAgICBkZWYgZW5zdXJlX21vZHVsZV9pc19ub3RfaW1wb3J0ZWQoY2xzLCBt b2R1bGVfbmFtZSk6CistICAgICAgICBpZiBtb2R1bGVfbmFtZSBpbiBzeXMubW9kdWxlczoKKy0g ICAgICAgICAgICBkZWwgc3lzLm1vZHVsZXNbbW9kdWxlX25hbWVdCistICAgICAgICBjbHMuYXNz ZXJ0X21vZHVsZV9pc19ub3RfaW1wb3J0ZWQobW9kdWxlX25hbWUpCistCistICAgIEBzdGF0aWNt ZXRob2QKKy0gICAgZGVmIGFzc2VydF9tb2R1bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpOgor LSAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXMuZ2V0KG1vZHVsZV9uYW1lLCBOb25lKQorLSAg ICAgICAgYXNzZXJ0IG1vZHVsZV9uYW1lIGluIHN5cy5tb2R1bGVzCistICAgICAgICBhc3NlcnQg bW9kdWxlIGlzIG5vdCBOb25lCistCistICAgIEBzdGF0aWNtZXRob2QKKy0gICAgZGVmIGFzc2Vy dF9tb2R1bGVfaXNfbm90X2ltcG9ydGVkKG1vZHVsZV9uYW1lKToKKy0gICAgICAgIGFzc2VydCBt b2R1bGVfbmFtZSBub3QgaW4gc3lzLm1vZHVsZXMKKy0KKy0gICAgQHN0YXRpY21ldGhvZAorLSAg ICBkZWYgYXNzZXJ0X21vZHVsZV93aXRoX25hbWUobW9kdWxlLCBuYW1lKToKKy0gICAgICAgIGFz c2VydCBpc2luc3RhbmNlKG1vZHVsZSwgdHlwZXMuTW9kdWxlVHlwZSkKKy0gICAgICAgIGVxXyht b2R1bGUuX19uYW1lX18sIG5hbWUpCistCistCistY2xhc3MgVGVzdExvYWRNb2R1bGUob2JqZWN0 KToKKy0gICAgdGhlb3J5ID0gSW1wb3J0TW9kdWxlVGhlb3J5CistCistICAgIGRlZiB0ZXN0X2xv YWRfbW9kdWxlX19zaG91bGRfZmFpbF9mb3JfdW5rbm93bl9tb2R1bGUoc2VsZik6CistICAgICAg ICBhc3NlcnRfcmFpc2VzKEltcG9ydEVycm9yLCBsb2FkX21vZHVsZSwgIl9fdW5rbm93bl9tb2R1 bGVfXyIpCistCistICAgIGRlZiB0ZXN0X2xvYWRfbW9kdWxlX19zaG91bGRfc3VjY2VlZF9mb3Jf YWxyZWFkeV9pbXBvcnRlZF9tb2R1bGUoc2VsZik6CistICAgICAgICBtb2R1bGVfbmFtZSA9ICJi ZWhhdmUuaW1wb3J0ZXIiCistICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX2lzX2lt cG9ydGVkKG1vZHVsZV9uYW1lKQorLQorLSAgICAgICAgbW9kdWxlID0gbG9hZF9tb2R1bGUobW9k dWxlX25hbWUpCistICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfbW9kdWxlX3dpdGhfbmFtZSht b2R1bGUsIG1vZHVsZV9uYW1lKQorLSAgICAgICAgc2VsZi50aGVvcnkuYXNzZXJ0X21vZHVsZV9p c19pbXBvcnRlZChtb2R1bGVfbmFtZSkKKy0KKy0gICAgZGVmIHRlc3RfbG9hZF9tb2R1bGVfX3No b3VsZF9zdWNjZWVkX2Zvcl9leGlzdGluZ19tb2R1bGUoc2VsZik6CistICAgICAgICBtb2R1bGVf bmFtZSA9ICJ0ZXN0Ll9pbXBvcnRlcl9jYW5kaWRhdGUiCistICAgICAgICBzZWxmLnRoZW9yeS5l bnN1cmVfbW9kdWxlX2lzX25vdF9pbXBvcnRlZChtb2R1bGVfbmFtZSkKKy0KKy0gICAgICAgIG1v ZHVsZSA9IGxvYWRfbW9kdWxlKG1vZHVsZV9uYW1lKQorLSAgICAgICAgc2VsZi50aGVvcnkuYXNz ZXJ0X21vZHVsZV93aXRoX25hbWUobW9kdWxlLCBtb2R1bGVfbmFtZSkKKy0gICAgICAgIHNlbGYu dGhlb3J5LmFzc2VydF9tb2R1bGVfaXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpCistCistY2xhc3Mg VGVzdExhenlPYmplY3Qob2JqZWN0KToKKy0KKy0gICAgZGVmIHRlc3RfZ2V0X19zaG91bGRfc3Vj Y2VlZF9mb3Jfa25vd25fb2JqZWN0KHNlbGYpOgorLSAgICAgICAgbGF6eSA9IExhenlPYmplY3Qo ImJlaGF2ZS5pbXBvcnRlciIsICJMYXp5T2JqZWN0IikKKy0gICAgICAgIHZhbHVlID0gbGF6eS5n ZXQoKQorLSAgICAgICAgYXNzZXJ0IHZhbHVlIGlzIExhenlPYmplY3QKKy0KKy0gICAgICAgIGxh enkyID0gTGF6eU9iamVjdCgiYmVoYXZlLmltcG9ydGVyOkxhenlPYmplY3QiKQorLSAgICAgICAg dmFsdWUyID0gbGF6eTIuZ2V0KCkKKy0gICAgICAgIGFzc2VydCB2YWx1ZTIgaXMgTGF6eU9iamVj dAorLQorLSAgICAgICAgbGF6eTMgPSBMYXp5T2JqZWN0KCJiZWhhdmUuZm9ybWF0dGVyLnN0ZXBz IiwgIlN0ZXBzRm9ybWF0dGVyIikKKy0gICAgICAgIHZhbHVlMyA9IGxhenkzLmdldCgpCistICAg ICAgICBhc3NlcnQgaXNzdWJjbGFzcyh2YWx1ZTMsIEZvcm1hdHRlcikKKy0KKy0gICAgZGVmIHRl c3RfZ2V0X19zaG91bGRfZmFpbF9mb3JfdW5rbm93bl9tb2R1bGUoc2VsZik6CistICAgICAgICBs YXp5ID0gTGF6eU9iamVjdCgiX191bmtub3duX21vZHVsZV9fIiwgInh4eCIpCistICAgICAgICBh c3NlcnRfcmFpc2VzKEltcG9ydEVycm9yLCBsYXp5LmdldCkKKy0KKy0gICAgZGVmIHRlc3RfZ2V0 X19zaG91bGRfZmFpbF9mb3JfdW5rbm93bl9vYmplY3RfaW5fbW9kdWxlKHNlbGYpOgorLSAgICAg ICAgbGF6eSA9IExhenlPYmplY3QoInRlc3QuX2ltcG9ydGVyX2NhbmRpZGF0ZSIsICJ4eHgiKQor LSAgICAgICAgYXNzZXJ0X3JhaXNlcyhJbXBvcnRFcnJvciwgbGF6eS5nZXQpCistCistCistY2xh c3MgTGF6eURpY3RUaGVvcnkoVGVzdFRoZW9yeSk6CistCistICAgIEBzdGF0aWNtZXRob2QKKy0g ICAgZGVmIHNhZmVfZ2V0aXRlbShkYXRhLCBrZXkpOgorLSAgICAgICAgcmV0dXJuIGRpY3QuX19n ZXRpdGVtX18oZGF0YSwga2V5KQorLQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIGFzc2Vy dF9pdGVtX2lzX2xhenkoY2xzLCBkYXRhLCBrZXkpOgorLSAgICAgICAgdmFsdWUgPSBjbHMuc2Fm ZV9nZXRpdGVtKGRhdGEsIGtleSkKKy0gICAgICAgIGNscy5hc3NlcnRfaXNfbGF6eV9vYmplY3Qo dmFsdWUpCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgYXNzZXJ0X2l0ZW1faXNfbm90 X2xhenkoY2xzLCBkYXRhLCBrZXkpOgorLSAgICAgICAgdmFsdWUgPSBjbHMuc2FmZV9nZXRpdGVt KGRhdGEsIGtleSkKKy0gICAgICAgIGNscy5hc3NlcnRfaXNfbm90X2xhenlfb2JqZWN0KHZhbHVl KQorLQorLSAgICBAc3RhdGljbWV0aG9kCistICAgIGRlZiBhc3NlcnRfaXNfbGF6eV9vYmplY3Qo b2JqKToKKy0gICAgICAgIGFzc2VydCBpc2luc3RhbmNlKG9iaiwgTGF6eU9iamVjdCkKKy0KKy0g ICAgQHN0YXRpY21ldGhvZAorLSAgICBkZWYgYXNzZXJ0X2lzX25vdF9sYXp5X29iamVjdChvYmop OgorLSAgICAgICAgYXNzZXJ0IG5vdCBpc2luc3RhbmNlKG9iaiwgTGF6eU9iamVjdCkKKy0KKy0K Ky1jbGFzcyBUZXN0TGF6eURpY3Qob2JqZWN0KToKKy0gICAgdGhlb3J5ID0gTGF6eURpY3RUaGVv cnkKKy0KKy0gICAgZGVmIHRlc3RfdW5rbm93bl9pdGVtX2FjY2Vzc19fc2hvdWxkX3JhaXNlX2tl eWVycm9yKHNlbGYpOgorLSAgICAgICAgbGF6eV9kaWN0ID0gTGF6eURpY3QoeyJhbGljZSI6IDQy fSkKKy0gICAgICAgIGl0ZW1fYWNjZXNzID0gbGFtYmRhIGtleTogbGF6eV9kaWN0W2tleV0KKy0g ICAgICAgIGFzc2VydF9yYWlzZXMoS2V5RXJyb3IsIGl0ZW1fYWNjZXNzLCAidW5rbm93biIpCist CistICAgIGRlZiB0ZXN0X3BsYWluX2l0ZW1fYWNjZXNzX19zaG91bGRfc3VjY2VlZChzZWxmKToK Ky0gICAgICAgIHRoZW9yeSA9IExhenlEaWN0VGhlb3J5CistICAgICAgICBsYXp5X2RpY3QgPSBM YXp5RGljdCh7ImFsaWNlIjogNDJ9KQorLSAgICAgICAgdGhlb3J5LmFzc2VydF9pdGVtX2lzX25v dF9sYXp5KGxhenlfZGljdCwgImFsaWNlIikKKy0KKy0gICAgICAgIHZhbHVlID0gbGF6eV9kaWN0 WyJhbGljZSJdCistICAgICAgICBlcV8odmFsdWUsIDQyKQorLQorLSAgICBkZWYgdGVzdF9sYXp5 X2l0ZW1fYWNjZXNzX19zaG91bGRfbG9hZF9vYmplY3Qoc2VsZik6CistICAgICAgICBJbXBvcnRN b2R1bGVUaGVvcnkuZW5zdXJlX21vZHVsZV9pc19ub3RfaW1wb3J0ZWQoImluc3BlY3QiKQorLSAg ICAgICAgbGF6eV9kaWN0ID0gTGF6eURpY3QoeyJhbGljZSI6IExhenlPYmplY3QoImluc3BlY3Q6 aXNtb2R1bGUiKX0pCistICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfaXRlbV9pc19sYXp5KGxh enlfZGljdCwgImFsaWNlIikKKy0gICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9pdGVtX2lzX2xh enkobGF6eV9kaWN0LCAiYWxpY2UiKQorLQorLSAgICAgICAgdmFsdWUgPSBsYXp5X2RpY3RbImFs aWNlIl0KKy0gICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9pc19ub3RfbGF6eV9vYmplY3QodmFs dWUpCistICAgICAgICBzZWxmLnRoZW9yeS5hc3NlcnRfaXRlbV9pc19ub3RfbGF6eShsYXp5X2Rp Y3QsICJhbGljZSIpCistCistICAgIGRlZiB0ZXN0X2xhenlfaXRlbV9hY2Nlc3NfX3Nob3VsZF9m YWlsX3dpdGhfdW5rbm93bl9tb2R1bGUoc2VsZik6CistICAgICAgICBsYXp5X2RpY3QgPSBMYXp5 RGljdCh7ImJvYiI6IExhenlPYmplY3QoIl9fdW5rbm93bl9tb2R1bGVfXyIsICJ4eHgiKX0pCist ICAgICAgICBpdGVtX2FjY2VzcyA9IGxhbWJkYSBrZXk6IGxhenlfZGljdFtrZXldCistICAgICAg ICBhc3NlcnRfcmFpc2VzKEltcG9ydEVycm9yLCBpdGVtX2FjY2VzcywgImJvYiIpCistCistICAg IGRlZiB0ZXN0X2xhenlfaXRlbV9hY2Nlc3NfX3Nob3VsZF9mYWlsX3dpdGhfdW5rbm93bl9vYmpl Y3Qoc2VsZik6CistICAgICAgICBsYXp5X2RpY3QgPSBMYXp5RGljdCh7CistICAgICAgICAgICAg ImJvYiI6IExhenlPYmplY3QoImJlaGF2ZS5pbXBvcnRlciIsICJYVW5rbm93biIpCistICAgICAg ICB9KQorLSAgICAgICAgaXRlbV9hY2Nlc3MgPSBsYW1iZGEga2V5OiBsYXp5X2RpY3Rba2V5XQor LSAgICAgICAgYXNzZXJ0X3JhaXNlcyhJbXBvcnRFcnJvciwgaXRlbV9hY2Nlc3MsICJib2IiKQor ZGlmZiAtLWdpdCBhL3Rlc3QvX2ltcG9ydGVyX2NhbmRpZGF0ZS5weSBiL3Rlc3RzL3VuaXQvX2lt cG9ydGVyX2NhbmRpZGF0ZS5weQorc2ltaWxhcml0eSBpbmRleCAxMDAlCityZW5hbWUgZnJvbSB0 ZXN0L19pbXBvcnRlcl9jYW5kaWRhdGUucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L19pbXBvcnRl cl9jYW5kaWRhdGUucHkKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3JlcG9ydGVyL3Rlc3Rfc3Vt bWFyeS5weSBiL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CitpbmRleCBkNGU4 NWI1Li42Yjk0N2JkIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC9yZXBvcnRlci90ZXN0X3N1bW1h cnkucHkKKysrKyBiL3Rlc3RzL3VuaXQvcmVwb3J0ZXIvdGVzdF9zdW1tYXJ5LnB5CitAQCAtNCw4 ICs0LDYgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9u CisgaW1wb3J0IHN5cworIGltcG9ydCBweXRlc3QKKyBmcm9tIG1vY2sgaW1wb3J0IE1vY2ssIHBh dGNoCistIyBOT1QtTkVFREVEOiBmcm9tIG5vc2UudG9vbHMgaW1wb3J0ICoKKy0KKyBmcm9tIGJl aGF2ZS5tb2RlbCBpbXBvcnQgU2NlbmFyaW9PdXRsaW5lLCBTY2VuYXJpbworIGZyb20gYmVoYXZl Lm1vZGVsX2NvcmUgaW1wb3J0IFN0YXR1cworIGZyb20gYmVoYXZlLnJlcG9ydGVyLnN1bW1hcnkg aW1wb3J0IFN1bW1hcnlSZXBvcnRlciwgZm9ybWF0X3N1bW1hcnkKK2RpZmYgLS1naXQgYS90ZXN0 cy91bml0L3RhZ19leHByZXNzaW9uL3Rlc3RfdGFnX2V4cHJlc3Npb25fdjFfcGFydDEucHkgYi90 ZXN0cy91bml0L3RhZ19leHByZXNzaW9uL3Rlc3RfdGFnX2V4cHJlc3Npb25fdjFfcGFydDEucHkK K2luZGV4IDYxOWM3MTAuLjU2ZmI4NWQgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3RhZ19leHBy ZXNzaW9uL3Rlc3RfdGFnX2V4cHJlc3Npb25fdjFfcGFydDEucHkKKysrKyBiL3Rlc3RzL3VuaXQv dGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0MS5weQorQEAgLTIsNyAr Miw3IEBACisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBmcm9t IGJlaGF2ZS50YWdfZXhwcmVzc2lvbiBpbXBvcnQgVGFnRXhwcmVzc2lvbgorLWZyb20gbm9zZSBp bXBvcnQgdG9vbHMKKytpbXBvcnQgcHl0ZXN0CisgaW1wb3J0IHVuaXR0ZXN0CisgCisgCitAQCAt NDc2LDMxICs0NzYsMzQgQEAgY2xhc3MgVGVzdFRhZ0V4cHJlc3Npb25Gb28zT3JOb3RCYXI0QW5k WmFwNSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBzZWxmLmUgPSBUYWdFeHByZXNzaW9u KFsnZm9vOjMsLWJhcicsICd6YXA6NSddKQorIAorICAgICBkZWYgdGVzdF9zaG91bGRfY291bnRf dGFnc19mb3JfcG9zaXRpdmVfdGFncyhzZWxmKToKKy0gICAgICAgIHRvb2xzLmVxXyhzZWxmLmUu bGltaXRzLCB7J2Zvbyc6IDMsICd6YXAnOiA1fSkKKysgICAgICAgIGFzc2VydCBzZWxmLmUubGlt aXRzID09IHsnZm9vJzogMywgJ3phcCc6IDV9CisgCisgICAgIGRlZiB0ZXN0X3Nob3VsZF9tYXRj aF9mb29femFwKHNlbGYpOgorICAgICAgICAgYXNzZXJ0IHNlbGYuZS5jaGVjayhbJ2ZvbycsICd6 YXAnXSkKKyAKKysKKyBjbGFzcyBUZXN0VGFnRXhwcmVzc2lvblBhcnNpbmcodW5pdHRlc3QuVGVz dENhc2UpOgorICAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgICBzZWxmLmUgPSBUYWdFeHBy ZXNzaW9uKFsnIGZvbzozICwgLWJhciAnLCAnIHphcDo1ICddKQorIAorICAgICBkZWYgdGVzdF9z aG91bGRfaGF2ZV9saW1pdHMoc2VsZik6CistICAgICAgICB0b29scy5lcV8oc2VsZi5lLmxpbWl0 cywgeyd6YXAnOiA1LCAnZm9vJzogM30pCisrICAgICAgICBhc3NlcnQgc2VsZi5lLmxpbWl0cyA9 PSB7J3phcCc6IDUsICdmb28nOiAzfQorKworIAorIGNsYXNzIFRlc3RUYWdFeHByZXNzaW9uVGFn TGltaXRzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgZGVmIHRlc3Rfc2hvdWxkX2JlX2NvdW50 ZWRfZm9yX25lZ2F0aXZlX3RhZ3Moc2VsZik6CisgICAgICAgICBlID0gVGFnRXhwcmVzc2lvbihb Jy10b2RvOjMnXSkKKy0gICAgICAgIHRvb2xzLmVxXyhlLmxpbWl0cywgeyd0b2RvJzogM30pCisr ICAgICAgICBhc3NlcnQgZS5saW1pdHMgPT0geyd0b2RvJzogM30KKyAKKyAgICAgZGVmIHRlc3Rf c2hvdWxkX2JlX2NvdW50ZWRfZm9yX3Bvc2l0aXZlX3RhZ3Moc2VsZik6CisgICAgICAgICBlID0g VGFnRXhwcmVzc2lvbihbJ3RvZG86MyddKQorLSAgICAgICAgdG9vbHMuZXFfKGUubGltaXRzLCB7 J3RvZG8nOiAzfSkKKysgICAgICAgIGFzc2VydCBlLmxpbWl0cyA9PSB7J3RvZG8nOiAzfQorIAor ICAgICBkZWYgdGVzdF9zaG91bGRfcmFpc2VfYW5fZXJyb3JfZm9yX2luY29uc2lzdGVudF9saW1p dHMoc2VsZik6CistICAgICAgICB0b29scy5hc3NlcnRfcmFpc2VzKEV4Y2VwdGlvbiwgVGFnRXhw cmVzc2lvbiwgWyd0b2RvOjMnLCAnLXRvZG86NCddKQorKyAgICAgICAgd2l0aCBweXRlc3QucmFp c2VzKEV4Y2VwdGlvbik6CisrICAgICAgICAgICAgXyA9IFRhZ0V4cHJlc3Npb24oWyd0b2RvOjMn LCAnLXRvZG86NCddKQorIAorICAgICBkZWYgdGVzdF9zaG91bGRfYWxsb3dfZHVwbGljYXRlX2Nv bnNpc3RlbnRfbGltaXRzKHNlbGYpOgorICAgICAgICAgZSA9IFRhZ0V4cHJlc3Npb24oWyd0b2Rv OjMnLCAnLXRvZG86MyddKQorLSAgICAgICAgdG9vbHMuZXFfKGUubGltaXRzLCB7J3RvZG8nOiAz fSkKKysgICAgICAgIGFzc2VydCBlLmxpbWl0cyA9PSB7J3RvZG8nOiAzfQorIAorZGlmZiAtLWdp dCBhL3Rlc3RzL3VuaXQvdGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0 Mi5weSBiL3Rlc3RzL3VuaXQvdGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9w YXJ0Mi5weQoraW5kZXggNjkwMjM1Yi4uY2Y2MTlkYSAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQv dGFnX2V4cHJlc3Npb24vdGVzdF90YWdfZXhwcmVzc2lvbl92MV9wYXJ0Mi5weQorKysrIGIvdGVz dHMvdW5pdC90YWdfZXhwcmVzc2lvbi90ZXN0X3RhZ19leHByZXNzaW9uX3YxX3BhcnQyLnB5CitA QCAtNiwxMCArNiwxMSBAQCBSRVFVSVJFUzogUHl0aG9uID49IDIuNiwgYmVjYXVzZSBpdGVydG9v bHMuY29tYmluYXRpb25zKCkgaXMgdXNlZC4KKyAiIiIKKyAKKyBmcm9tIF9fZnV0dXJlX18gaW1w b3J0IGFic29sdXRlX2ltcG9ydAorLWZyb20gYmVoYXZlLnRhZ19leHByZXNzaW9uIGltcG9ydCBU YWdFeHByZXNzaW9uCistZnJvbSBub3NlIGltcG9ydCB0b29scworIGltcG9ydCBpdGVydG9vbHMK KyBmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKKytpbXBvcnQgcHl0ZXN0CisrZnJvbSBiZWhh dmUudGFnX2V4cHJlc3Npb24gaW1wb3J0IFRhZ0V4cHJlc3Npb24KKysKKyAKKyBoYXNfY29tYmlu YXRpb25zID0gaGFzYXR0cihpdGVydG9vbHMsICJjb21iaW5hdGlvbnMiKQorIGlmIGhhc19jb21i aW5hdGlvbnM6CitAQCAtMzEsNiArMzIsNyBAQCBpZiBoYXNfY29tYmluYXRpb25zOgorICAgICAg ICAgICAgIHJldHVybiAiQCIgKyAiIEAiLmpvaW4odGFncykKKyAgICAgICAgIHJldHVybiBOT19U QUdTCisgCisrCisgICAgIFRlc3RDYXNlID0gb2JqZWN0CisgICAgICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICAgICAjIFRFU1Q6IGFsbF9jb21iaW5hdGlvbnMoKSB0ZXN0IGhlbHBlcgorQEAgLTQ1 LDggKzQ3LDggQEAgaWYgaGFzX2NvbWJpbmF0aW9uczoKKyAgICAgICAgICAgICAgICAgKCdAb25l JywgJ0B0d28nKSwKKyAgICAgICAgICAgICBdCisgICAgICAgICAgICAgYWN0dWFsID0gYWxsX2Nv bWJpbmF0aW9ucyhpdGVtcykKKy0gICAgICAgICAgICB0b29scy5lcV8oYWN0dWFsLCBleHBlY3Rl ZCkKKy0gICAgICAgICAgICB0b29scy5lcV8obGVuKGFjdHVhbCksIDQpCisrICAgICAgICAgICAg YXNzZXJ0IGFjdHVhbCA9PSBleHBlY3RlZAorKyAgICAgICAgICAgIGFzc2VydCBsZW4oYWN0dWFs KSA9PSA0CisgCisgICAgICAgICBkZWYgdGVzdF9hbGxfY29tYmluYXRpb25zX3dpdGhfM3ZhbHVl cyhzZWxmKToKKyAgICAgICAgICAgICBpdGVtcyA9ICJAb25lIEB0d28gQHRocmVlIi5zcGxpdCgp CitAQCAtNjEsOCArNjMsOCBAQCBpZiBoYXNfY29tYmluYXRpb25zOgorICAgICAgICAgICAgICAg ICAoJ0BvbmUnLCAnQHR3bycsICdAdGhyZWUnKSwKKyAgICAgICAgICAgICBdCisgICAgICAgICAg ICAgYWN0dWFsID0gYWxsX2NvbWJpbmF0aW9ucyhpdGVtcykKKy0gICAgICAgICAgICB0b29scy5l cV8oYWN0dWFsLCBleHBlY3RlZCkKKy0gICAgICAgICAgICB0b29scy5lcV8obGVuKGFjdHVhbCks IDgpCisrICAgICAgICAgICAgYXNzZXJ0IGFjdHVhbCA9PSBleHBlY3RlZAorKyAgICAgICAgICAg IGFzc2VydCBsZW4oYWN0dWFsKSA9PSA4CisgCisgCisgICAgICMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorQEAgLTc0LDEzICs3NiwxMyBAQCBpZiBoYXNfY29tYmluYXRpb25zOgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ19jb21iaW5hdGlvbnMsIGV4cGVjdGVk KToKKyAgICAgICAgICAgICBtYXRjaGVkID0gWyBtYWtlX3RhZ3NfbGluZShjKSBmb3IgYyBpbiB0 YWdfY29tYmluYXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiB0YWdf ZXhwcmVzc2lvbi5jaGVjayhjKSBdCistICAgICAgICAgICAgdG9vbHMuZXFfKG1hdGNoZWQsIGV4 cGVjdGVkKQorKyAgICAgICAgICAgIGFzc2VydCBtYXRjaGVkID09IGV4cGVjdGVkCisgCisgICAg ICAgICBkZWYgYXNzZXJ0X3RhZ19leHByZXNzaW9uX21pc21hdGNoZXMoc2VsZiwgdGFnX2V4cHJl c3Npb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdf Y29tYmluYXRpb25zLCBleHBlY3RlZCk6CisgICAgICAgICAgICAgbWlzbWF0Y2hlZCA9IFsgbWFr ZV90YWdzX2xpbmUoYykgZm9yIGMgaW4gdGFnX2NvbWJpbmF0aW9ucworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaWYgbm90IHRhZ19leHByZXNzaW9uLmNoZWNrKGMpIF0KKy0gICAg ICAgICAgICB0b29scy5lcV8obWlzbWF0Y2hlZCwgZXhwZWN0ZWQpCisrICAgICAgICAgICAgYXNz ZXJ0IG1pc21hdGNoZWQgPT0gZXhwZWN0ZWQKKyAKKyAKKyAgICAgY2xhc3MgVGVzdFRhZ0V4cHJl c3Npb25XaXRoMVRlcm0oVGFnRXhwcmVzc2lvblRlc3RDYXNlKToKK2RpZmYgLS1naXQgYS90ZXN0 L3Rlc3RfYW5zaV9lc2NhcGVzLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQor c2ltaWxhcml0eSBpbmRleCA4NCUKK3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9hbnNpX2VzY2FwZXMu cHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5CitpbmRleCA3NzU2 NGZkLi45NjlmM2E5IDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQorKysr IGIvdGVzdHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBlcy5weQorQEAgLTcsNyArNyw3IEBACisgIyAg IFcwNjIxICAgUmVkZWZpbmluZyBuYW1lIC4uLiBmcm9tIG91dGVyIHNjb3BlCisgCisgZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy1mcm9tIG5vc2UgaW1wb3J0IHRvb2xz CisraW1wb3J0IHB5dGVzdAorIGZyb20gYmVoYXZlLmZvcm1hdHRlciBpbXBvcnQgYW5zaV9lc2Nh cGVzCisgaW1wb3J0IHVuaXR0ZXN0CisgZnJvbSBzaXgubW92ZXMgaW1wb3J0IHJhbmdlCitAQCAt NDQsMzAgKzQ0LDMwIEBAIGNsYXNzIFN0cmlwRXNjYXBlc1Rlc3QodW5pdHRlc3QuVGVzdENhc2Up OgorIAorICAgICBkZWYgdGVzdF9zaG91bGRfcmV0dXJuX3NhbWVfdGV4dF93aXRob3V0X2VzY2Fw ZXMoc2VsZik6CisgICAgICAgICBmb3IgdGV4dCBpbiBzZWxmLlRFWFRTOgorLSAgICAgICAgICAg IHRvb2xzLmVxXyh0ZXh0LCBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0ZXh0KSkKKysgICAg ICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0ZXh0KQor IAorICAgICBkZWYgdGVzdF9zaG91bGRfcmV0dXJuX2VtcHR5X3N0cmluZ19mb3JfYW55X2Fuc2lf ZXNjYXBlKHNlbGYpOgorICAgICAgICAgIyBYWFgtSkUtQ0hFQ0stUFkyMzogSWYgbGlzdCgpIGlz IHJlYWxseSBuZWVkZWQuCisgICAgICAgICBmb3IgdGV4dCBpbiBsaXN0KGFuc2lfZXNjYXBlcy5j b2xvcnMudmFsdWVzKCkpOgorLSAgICAgICAgICAgIHRvb2xzLmVxXygiIiwgYW5zaV9lc2NhcGVz LnN0cmlwX2VzY2FwZXModGV4dCkpCisrICAgICAgICAgICAgYXNzZXJ0ICIiID09IGFuc2lfZXNj YXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCisgICAgICAgICBmb3IgdGV4dCBpbiBsaXN0KGFuc2lf ZXNjYXBlcy5lc2NhcGVzLnZhbHVlcygpKToKKy0gICAgICAgICAgICB0b29scy5lcV8oIiIsIGFu c2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpKQorKyAgICAgICAgICAgIGFzc2VydCAiIiA9 PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0ZXh0KQorIAorIAorICAgICBkZWYgdGVzdF9z aG91bGRfc3RyaXBfY29sb3JfZXNjYXBlc19mcm9tX3RleHQoc2VsZik6CisgICAgICAgICBmb3Ig dGV4dCBpbiBzZWxmLlRFWFRTOgorICAgICAgICAgICAgIGNvbG9yZWRfdGV4dCA9IHNlbGYuY29s b3JpemVfdGV4dCh0ZXh0LCBzZWxmLkFMTF9DT0xPUlMpCistICAgICAgICAgICAgdG9vbHMuZXFf KHRleHQsIGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkpCisrICAgICAg ICAgICAgYXNzZXJ0IHRleHQgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMoY29sb3JlZF90 ZXh0KQorICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodGV4dCwgY29sb3JlZF90ZXh0 KQorIAorICAgICAgICAgICAgIGZvciBjb2xvciBpbiBzZWxmLkFMTF9DT0xPUlM6CisgICAgICAg ICAgICAgICAgIGNvbG9yZWRfdGV4dCA9IHNlbGYuY29sb3JpemUodGV4dCwgY29sb3IpCistICAg ICAgICAgICAgICAgIHRvb2xzLmVxXyh0ZXh0LCBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhj b2xvcmVkX3RleHQpKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2Fw ZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpCisgICAgICAgICAgICAgICAgIHNlbGYuYXNz ZXJ0Tm90RXF1YWwodGV4dCwgY29sb3JlZF90ZXh0KQorIAorICAgICBkZWYgdGVzdF9zaG91bGRf c3RyaXBfY3Vyc29yX3VwX2VzY2FwZXNfZnJvbV90ZXh0KHNlbGYpOgorICAgICAgICAgZm9yIHRl eHQgaW4gc2VsZi5URVhUUzoKKyAgICAgICAgICAgICBmb3IgY3Vyc29yX3VwIGluIHNlbGYuQ1VS U09SX1VQUzoKKyAgICAgICAgICAgICAgICAgY29sb3JlZF90ZXh0ID0gY3Vyc29yX3VwICsgdGV4 dCArIGFuc2lfZXNjYXBlcy5lc2NhcGVzWyJyZXNldCJdCistICAgICAgICAgICAgICAgIHRvb2xz LmVxXyh0ZXh0LCBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpKQorKyAg ICAgICAgICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhj b2xvcmVkX3RleHQpCisgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodGV4dCwg Y29sb3JlZF90ZXh0KQorZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9jb25maWd1cmF0aW9uLnB5IGIv dGVzdHMvdW5pdC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKK3NpbWlsYXJpdHkgaW5kZXggNzIlCity ZW5hbWUgZnJvbSB0ZXN0L3Rlc3RfY29uZmlndXJhdGlvbi5weQorcmVuYW1lIHRvIHRlc3RzL3Vu aXQvdGVzdF9jb25maWd1cmF0aW9uLnB5CitpbmRleCBlNjgyOGUzLi5jOTZjZjYzIDEwMDY0NAor LS0tIGEvdGVzdC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9j b25maWd1cmF0aW9uLnB5CitAQCAtMiw3ICsyLDcgQEAgaW1wb3J0IG9zLnBhdGgKKyBpbXBvcnQg c3lzCisgaW1wb3J0IHRlbXBmaWxlCisgaW1wb3J0IHNpeAorLWZyb20gbm9zZS50b29scyBpbXBv cnQgKgorK2ltcG9ydCBweXRlc3QKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgY29uZmlndXJhdGlvbgor IGZyb20gYmVoYXZlLmNvbmZpZ3VyYXRpb24gaW1wb3J0IENvbmZpZ3VyYXRpb24sIFVzZXJEYXRh CisgZnJvbSB1bml0dGVzdCBpbXBvcnQgVGVzdENhc2UKK0BAIC0zNiw2ICszNiw3IEBAIGlmIHN5 cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJ3aW4iKToKKyAgICAgICAgIFJPT1RESVJfUFJFRklYX0RF RkFVTFQgPSBST09URElSX1BSRUZJWF9ERUZBVUxULmxvd2VyKCkKKyAgICAgUk9PVERJUl9QUkVG SVggPSBvcy5lbnZpcm9uLmdldCgiQkVIQVZFX1JPT1RESVJfUFJFRklYIiwgUk9PVERJUl9QUkVG SVhfREVGQVVMVCkKKyAKKysKKyBjbGFzcyBUZXN0Q29uZmlndXJhdGlvbihvYmplY3QpOgorIAor ICAgICBkZWYgdGVzdF9yZWFkX2ZpbGUoc2VsZik6CitAQCAtNDYsMTkgKzQ3LDE5IEBAIGNsYXNz IFRlc3RDb25maWd1cmF0aW9uKG9iamVjdCk6CisgCisgICAgICAgICAjIC0tIFdJTkRPV1MtUkVR VUlSRVM6IG5vcm1wYXRoCisgICAgICAgICBkID0gY29uZmlndXJhdGlvbi5yZWFkX2NvbmZpZ3Vy YXRpb24odG4pCistICAgICAgICBlcV8oZFsib3V0ZmlsZXMiXSwgWworKyAgICAgICAgYXNzZXJ0 IGRbIm91dGZpbGVzIl0gPT1bCisgICAgICAgICAgICAgb3MucGF0aC5ub3JtcGF0aChST09URElS X1BSRUZJWCArICIvYWJzb2x1dGUvcGF0aDEiKSwKKyAgICAgICAgICAgICBvcy5wYXRoLm5vcm1w YXRoKG9zLnBhdGguam9pbih0bmRpciwgInJlbGF0aXZlL3BhdGgyIikpLAorLSAgICAgICAgXSkK Ky0gICAgICAgIGVxXyhkWyJwYXRocyJdLCBbCisrICAgICAgICBdCisrICAgICAgICBhc3NlcnQg ZFsicGF0aHMiXSA9PSBbCisgICAgICAgICAgICAgb3MucGF0aC5ub3JtcGF0aChST09URElSX1BS RUZJWCArICIvYWJzb2x1dGUvcGF0aDMiKSwKKyAgICAgICAgICAgICBvcy5wYXRoLm5vcm1wYXRo KG9zLnBhdGguam9pbih0bmRpciwgInJlbGF0aXZlL3BhdGg0IikpLAorLSAgICAgICAgICAgIF0p CistICAgICAgICBlcV8oZFsiZm9ybWF0Il0sIFsicHJldHR5IiwgInRhZy1jb3VudGVyIl0pCist ICAgICAgICBlcV8oZFsiZGVmYXVsdF90YWdzIl0sIFsiQGZvbyx+QGJhciIsICJAemFwIl0pCist ICAgICAgICBlcV8oZFsic3Rkb3V0X2NhcHR1cmUiXSwgRmFsc2UpCistICAgICAgICBva18oImJv Z3VzIiBub3QgaW4gZCkKKy0gICAgICAgIGVxXyhkWyJ1c2VyZGF0YSJdLCB7ImZvbyI6ICJiYXIi LCAiYW5zd2VyIjogIjQyIn0pCisrICAgICAgICAgICAgXQorKyAgICAgICAgYXNzZXJ0IGRbImZv cm1hdCJdID09IFsicHJldHR5IiwgInRhZy1jb3VudGVyIl0KKysgICAgICAgIGFzc2VydCBkWyJk ZWZhdWx0X3RhZ3MiXSA9PSBbIkBmb28sfkBiYXIiLCAiQHphcCJdCisrICAgICAgICBhc3NlcnQg ZFsic3Rkb3V0X2NhcHR1cmUiXSA9PSBGYWxzZQorKyAgICAgICAgYXNzZXJ0ICJib2d1cyIgbm90 IGluIGQKKysgICAgICAgIGFzc2VydCBkWyJ1c2VyZGF0YSJdID09IHsiZm9vIjogImJhciIsICJh bnN3ZXIiOiAiNDIifQorIAorICAgICBkZWYgZW5zdXJlX3N0YWdlX2Vudmlyb25tZW50X2lzX25v dF9zZXQoc2VsZik6CisgICAgICAgICBpZiAiQkVIQVZFX1NUQUdFIiBpbiBvcy5lbnZpcm9uOgor QEAgLTY5LDI2ICs3MCwyNiBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvbihvYmplY3QpOgorICAg ICAgICAgc2VsZi5lbnN1cmVfc3RhZ2VfZW52aXJvbm1lbnRfaXNfbm90X3NldCgpCisgICAgICAg ICBhc3NlcnQgIkJFSEFWRV9TVEFHRSIgbm90IGluIG9zLmVudmlyb24KKyAgICAgICAgIGNvbmZp ZyA9IENvbmZpZ3VyYXRpb24oIiIpCistICAgICAgICBlcV8oInN0ZXBzIiwgY29uZmlnLnN0ZXBz X2RpcikKKy0gICAgICAgIGVxXygiZW52aXJvbm1lbnQucHkiLCBjb25maWcuZW52aXJvbm1lbnRf ZmlsZSkKKysgICAgICAgIGFzc2VydCAic3RlcHMiID09IGNvbmZpZy5zdGVwc19kaXIKKysgICAg ICAgIGFzc2VydCAiZW52aXJvbm1lbnQucHkiID09IGNvbmZpZy5lbnZpcm9ubWVudF9maWxlCisg CisgICAgIGRlZiB0ZXN0X3NldHRpbmdzX3dpdGhfc3RhZ2Uoc2VsZik6CisgICAgICAgICBjb25m aWcgPSBDb25maWd1cmF0aW9uKFsiLS1zdGFnZT1TVEFHRTEiXSkKKy0gICAgICAgIGVxXygiU1RB R0UxX3N0ZXBzIiwgY29uZmlnLnN0ZXBzX2RpcikKKy0gICAgICAgIGVxXygiU1RBR0UxX2Vudmly b25tZW50LnB5IiwgY29uZmlnLmVudmlyb25tZW50X2ZpbGUpCisrICAgICAgICBhc3NlcnQgIlNU QUdFMV9zdGVwcyIgPT0gY29uZmlnLnN0ZXBzX2RpcgorKyAgICAgICAgYXNzZXJ0ICJTVEFHRTFf ZW52aXJvbm1lbnQucHkiID09IGNvbmZpZy5lbnZpcm9ubWVudF9maWxlCisgCisgICAgIGRlZiB0 ZXN0X3NldHRpbmdzX3dpdGhfc3RhZ2VfYW5kX2VudnZhcihzZWxmKToKKyAgICAgICAgIG9zLmVu dmlyb25bIkJFSEFWRV9TVEFHRSJdID0gIlNUQUdFMiIKKyAgICAgICAgIGNvbmZpZyA9IENvbmZp Z3VyYXRpb24oWyItLXN0YWdlPVNUQUdFMSJdKQorLSAgICAgICAgZXFfKCJTVEFHRTFfc3RlcHMi LCBjb25maWcuc3RlcHNfZGlyKQorLSAgICAgICAgZXFfKCJTVEFHRTFfZW52aXJvbm1lbnQucHki LCBjb25maWcuZW52aXJvbm1lbnRfZmlsZSkKKysgICAgICAgIGFzc2VydCAiU1RBR0UxX3N0ZXBz IiA9PSBjb25maWcuc3RlcHNfZGlyCisrICAgICAgICBhc3NlcnQgIlNUQUdFMV9lbnZpcm9ubWVu dC5weSIgPT0gY29uZmlnLmVudmlyb25tZW50X2ZpbGUKKyAgICAgICAgIGRlbCBvcy5lbnZpcm9u WyJCRUhBVkVfU1RBR0UiXQorIAorICAgICBkZWYgdGVzdF9zZXR0aW5nc193aXRoX3N0YWdlX2Zy b21fZW52dmFyKHNlbGYpOgorICAgICAgICAgb3MuZW52aXJvblsiQkVIQVZFX1NUQUdFIl0gPSAi U1RBR0UyIgorICAgICAgICAgY29uZmlnID0gQ29uZmlndXJhdGlvbigiIikKKy0gICAgICAgIGVx XygiU1RBR0UyX3N0ZXBzIiwgY29uZmlnLnN0ZXBzX2RpcikKKy0gICAgICAgIGVxXygiU1RBR0Uy X2Vudmlyb25tZW50LnB5IiwgY29uZmlnLmVudmlyb25tZW50X2ZpbGUpCisrICAgICAgICBhc3Nl cnQgIlNUQUdFMl9zdGVwcyIgPT0gY29uZmlnLnN0ZXBzX2RpcgorKyAgICAgICAgYXNzZXJ0ICJT VEFHRTJfZW52aXJvbm1lbnQucHkiID09IGNvbmZpZy5lbnZpcm9ubWVudF9maWxlCisgICAgICAg ICBkZWwgb3MuZW52aXJvblsiQkVIQVZFX1NUQUdFIl0KKyAKKyAKK0BAIC0xMDEsMzMgKzEwMiwz MyBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvblVzZXJEYXRhKFRlc3RDYXNlKToKKyAgICAgICAg ICAgICAiLS1kZWZpbmU9YmFyPWJhcl92YWx1ZSIsCisgICAgICAgICAgICAgIi0tZGVmaW5lIiwg ImJhej1CQVpfVkFMVUUiLAorICAgICAgICAgXSkKKy0gICAgICAgIGVxXygiZm9vX3ZhbHVlIiwg Y29uZmlnLnVzZXJkYXRhWyJmb28iXSkKKy0gICAgICAgIGVxXygiYmFyX3ZhbHVlIiwgY29uZmln LnVzZXJkYXRhWyJiYXIiXSkKKy0gICAgICAgIGVxXygiQkFaX1ZBTFVFIiwgY29uZmlnLnVzZXJk YXRhWyJiYXoiXSkKKysgICAgICAgIGFzc2VydCAiZm9vX3ZhbHVlIiA9PSBjb25maWcudXNlcmRh dGFbImZvbyJdCisrICAgICAgICBhc3NlcnQgImJhcl92YWx1ZSIgPT0gY29uZmlnLnVzZXJkYXRh WyJiYXIiXQorKyAgICAgICAgYXNzZXJ0ICJCQVpfVkFMVUUiID09IGNvbmZpZy51c2VyZGF0YVsi YmF6Il0KKyAKKyAgICAgZGVmIHRlc3RfY21kbGluZV9kZWZpbmVzX292ZXJyaWRlX2NvbmZpZ2Zp bGUoc2VsZik6CisgICAgICAgICB1c2VyZGF0YV9pbml0ID0geyJmb28iOiAiWFhYIiwgImJhciI6 ICJaWloiLCAiYmF6IjogNDJ9CisgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKAorICAg ICAgICAgICAgICAgICAgICAgIi1EIGZvbz1mb29fdmFsdWUgLS1kZWZpbmUgYmFyPTEyMyIsCisg ICAgICAgICAgICAgICAgICAgICBsb2FkX2NvbmZpZz1GYWxzZSwgdXNlcmRhdGE9dXNlcmRhdGFf aW5pdCkKKy0gICAgICAgIGVxXygiZm9vX3ZhbHVlIiwgY29uZmlnLnVzZXJkYXRhWyJmb28iXSkK Ky0gICAgICAgIGVxXygiMTIzIiwgY29uZmlnLnVzZXJkYXRhWyJiYXIiXSkKKy0gICAgICAgIGVx Xyg0MiwgY29uZmlnLnVzZXJkYXRhWyJiYXoiXSkKKysgICAgICAgIGFzc2VydCAiZm9vX3ZhbHVl IiA9PSBjb25maWcudXNlcmRhdGFbImZvbyJdCisrICAgICAgICBhc3NlcnQgIjEyMyIgPT0gY29u ZmlnLnVzZXJkYXRhWyJiYXIiXQorKyAgICAgICAgYXNzZXJ0IDQyID09IGNvbmZpZy51c2VyZGF0 YVsiYmF6Il0KKyAKKyAgICAgZGVmIHRlc3RfY21kbGluZV9kZWZpbmVzX3dpdGhvdXRfdmFsdWVf YXJlX3RydWUoc2VsZik6CisgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKCItRCBmb28g LS1kZWZpbmUgYmFyIC1EYmF6IikKKy0gICAgICAgIGVxXygidHJ1ZSIsIGNvbmZpZy51c2VyZGF0 YVsiZm9vIl0pCistICAgICAgICBlcV8oInRydWUiLCBjb25maWcudXNlcmRhdGFbImJhciJdKQor LSAgICAgICAgZXFfKCJ0cnVlIiwgY29uZmlnLnVzZXJkYXRhWyJiYXoiXSkKKy0gICAgICAgIGVx XyhUcnVlLCBjb25maWcudXNlcmRhdGEuZ2V0Ym9vbCgiZm9vIikpCisrICAgICAgICBhc3NlcnQg InRydWUiID09IGNvbmZpZy51c2VyZGF0YVsiZm9vIl0KKysgICAgICAgIGFzc2VydCAidHJ1ZSIg PT0gY29uZmlnLnVzZXJkYXRhWyJiYXIiXQorKyAgICAgICAgYXNzZXJ0ICJ0cnVlIiA9PSBjb25m aWcudXNlcmRhdGFbImJheiJdCisrICAgICAgICBhc3NlcnQgVHJ1ZSA9PSBjb25maWcudXNlcmRh dGEuZ2V0Ym9vbCgiZm9vIikKKyAKKyAgICAgZGVmIHRlc3RfY21kbGluZV9kZWZpbmVzX3dpdGhf ZW1wdHlfdmFsdWUoc2VsZik6CisgICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKCItRCBm b289IikKKy0gICAgICAgIGVxXygiIiwgY29uZmlnLnVzZXJkYXRhWyJmb28iXSkKKysgICAgICAg IGFzc2VydCAiIiA9PSBjb25maWcudXNlcmRhdGFbImZvbyJdCisgCisgICAgIGRlZiB0ZXN0X2Nt ZGxpbmVfZGVmaW5lc193aXRoX2Fzc2lnbl9jaGFyYWN0ZXJfYXNfdmFsdWUoc2VsZik6CisgICAg ICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKCItRCBmb289YmFyPWJheiIpCistICAgICAgICBl cV8oImJhcj1iYXoiLCBjb25maWcudXNlcmRhdGFbImZvbyJdKQorKyAgICAgICAgYXNzZXJ0ICJi YXI9YmF6IiA9PSBjb25maWcudXNlcmRhdGFbImZvbyJdCisgCisgICAgIGRlZiB0ZXN0X2NtZGxp bmVfZGVmaW5lc19fd2l0aF9xdW90ZWRfbmFtZV92YWx1ZV9wYWlyKHNlbGYpOgorICAgICAgICAg Y21kbGluZXMgPSBbCitAQCAtMTM2LDcgKzEzNyw3IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9u VXNlckRhdGEoVGVzdENhc2UpOgorICAgICAgICAgXQorICAgICAgICAgZm9yIGNtZGxpbmUgaW4g Y21kbGluZXM6CisgICAgICAgICAgICAgY29uZmlnID0gQ29uZmlndXJhdGlvbihjbWRsaW5lLCBs b2FkX2NvbmZpZz1GYWxzZSkKKy0gICAgICAgICAgICBlcV8oY29uZmlnLnVzZXJkYXRhLCBkaWN0 KHBlcnNvbj0iQWxpY2UgYW5kIEJvYiIpKQorKyAgICAgICAgICAgIGFzc2VydCBjb25maWcudXNl cmRhdGEgPT0gZGljdChwZXJzb249IkFsaWNlIGFuZCBCb2IiKQorIAorICAgICBkZWYgdGVzdF9j bWRsaW5lX2RlZmluZXNfX3dpdGhfcXVvdGVkX3ZhbHVlKHNlbGYpOgorICAgICAgICAgY21kbGlu ZXMgPSBbCitAQCAtMTQ1LDcgKzE0Niw3IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uVXNlckRh dGEoVGVzdENhc2UpOgorICAgICAgICAgXQorICAgICAgICAgZm9yIGNtZGxpbmUgaW4gY21kbGlu ZXM6CisgICAgICAgICAgICAgY29uZmlnID0gQ29uZmlndXJhdGlvbihjbWRsaW5lLCBsb2FkX2Nv bmZpZz1GYWxzZSkKKy0gICAgICAgICAgICBlcV8oY29uZmlnLnVzZXJkYXRhLCBkaWN0KHBlcnNv bj0iQWxpY2UgYW5kIEJvYiIpKQorKyAgICAgICAgICAgIGFzc2VydCBjb25maWcudXNlcmRhdGEg PT0gZGljdChwZXJzb249IkFsaWNlIGFuZCBCb2IiKQorIAorICAgICBkZWYgdGVzdF9zZXR1cF91 c2VyZGF0YShzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IENvbmZpZ3VyYXRpb24oIiIsIGxvYWRf Y29uZmlnPUZhbHNlKQorQEAgLTE1NCw3ICsxNTUsNyBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlv blVzZXJEYXRhKFRlc3RDYXNlKToKKyAgICAgICAgIGNvbmZpZy5zZXR1cF91c2VyZGF0YSgpCisg CisgICAgICAgICBleHBlY3RlZF9kYXRhID0gZGljdChwZXJzb24xPSJBbGljZSIsIHBlcnNvbjI9 IkNoYXJseSIpCistICAgICAgICBlcV8oY29uZmlnLnVzZXJkYXRhLCBleHBlY3RlZF9kYXRhKQor KyAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2VyZGF0YSA9PSBleHBlY3RlZF9kYXRhCisgCisgICAg IGRlZiB0ZXN0X3VwZGF0ZV91c2VyZGF0YV9fd2l0aF9jbWRsaW5lX2RlZmluZXMoc2VsZik6Cisg ICAgICAgICAjIC0tIE5PVEU6IGNtZGxpbmUgZGVmaW5lcyBhcmUgcmVhcHBsaWVkLgorQEAgLTE2 Myw4ICsxNjQsOCBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlvblVzZXJEYXRhKFRlc3RDYXNlKToK KyAgICAgICAgIGNvbmZpZy51cGRhdGVfdXNlcmRhdGEoZGljdChwZXJzb24xPSJBbGljZSIsIHBl cnNvbjI9IkJvYiIpKQorIAorICAgICAgICAgZXhwZWN0ZWRfZGF0YSA9IGRpY3QocGVyc29uMT0i QWxpY2UiLCBwZXJzb24yPSJCZWEiLCBwZXJzb24zPSJDaGFybHkiKQorLSAgICAgICAgZXFfKGNv bmZpZy51c2VyZGF0YSwgZXhwZWN0ZWRfZGF0YSkKKy0gICAgICAgIGVxXyhjb25maWcudXNlcmRh dGFfZGVmaW5lcywgWygicGVyc29uMiIsICJCZWEiKV0pCisrICAgICAgICBhc3NlcnQgY29uZmln LnVzZXJkYXRhID09IGV4cGVjdGVkX2RhdGEKKysgICAgICAgIGFzc2VydCBjb25maWcudXNlcmRh dGFfZGVmaW5lcyA9PSBbKCJwZXJzb24yIiwgIkJlYSIpXQorIAorICAgICBkZWYgdGVzdF91cGRh dGVfdXNlcmRhdGFfX3dpdGhvdXRfY21kbGluZV9kZWZpbmVzKHNlbGYpOgorICAgICAgICAgY29u ZmlnID0gQ29uZmlndXJhdGlvbigiIiwgbG9hZF9jb25maWc9RmFsc2UpCitAQCAtMTcyLDUgKzE3 Myw1IEBAIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uVXNlckRhdGEoVGVzdENhc2UpOgorICAgICAg ICAgY29uZmlnLnVwZGF0ZV91c2VyZGF0YShkaWN0KHBlcnNvbjE9IkFsaWNlIiwgcGVyc29uMj0i Qm9iIikpCisgCisgICAgICAgICBleHBlY3RlZF9kYXRhID0gZGljdChwZXJzb24xPSJBbGljZSIs IHBlcnNvbjI9IkJvYiIsIHBlcnNvbjM9IkNoYXJseSIpCistICAgICAgICBlcV8oY29uZmlnLnVz ZXJkYXRhLCBleHBlY3RlZF9kYXRhKQorLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjb25maWcu dXNlcmRhdGFfZGVmaW5lcykKKysgICAgICAgIGFzc2VydCBjb25maWcudXNlcmRhdGEgPT0gZXhw ZWN0ZWRfZGF0YQorKyAgICAgICAgYXNzZXJ0IGNvbmZpZy51c2VyZGF0YV9kZWZpbmVzIGlzIE5v bmUKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfZm9ybWF0dGVyLnB5IGIvdGVzdHMvdW5pdC90ZXN0 X2Zvcm1hdHRlci5weQorc2ltaWxhcml0eSBpbmRleCA5NCUKK3JlbmFtZSBmcm9tIHRlc3QvdGVz dF9mb3JtYXR0ZXIucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyLnB5Citp bmRleCA0MmU1ZjBkLi5jMWEwOTQ1IDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X2Zvcm1hdHRlci5w eQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlci5weQorQEAgLTYsOSArNiw4IEBAIGlt cG9ydCBzeXMKKyBpbXBvcnQgdGVtcGZpbGUKKyBpbXBvcnQgdW5pdHRlc3QKKyBpbXBvcnQgc2l4 CisraW1wb3J0IHB5dGVzdAorIGZyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gKKy1mcm9tIG5v c2UudG9vbHMgaW1wb3J0ICogICAgIyBweWxpbnQ6IGRpc2FibGU9d2lsZGNhcmQtaW1wb3J0LCB1 bnVzZWQtd2lsZGNhcmQtaW1wb3J0CistCisgZnJvbSBiZWhhdmUuZm9ybWF0dGVyLl9yZWdpc3Ry eSBpbXBvcnQgbWFrZV9mb3JtYXR0ZXJzCisgZnJvbSBiZWhhdmUuZm9ybWF0dGVyIGltcG9ydCBw cmV0dHkKKyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYmFzZSBpbXBvcnQgU3RyZWFtT3BlbmVyCitA QCAtMzUsNyArMzQsNyBAQCBjbGFzcyBUZXN0R2V0VGVybWluYWxTaXplKHVuaXR0ZXN0LlRlc3RD YXNlKToKKyAgICAgICAgIHBsYXRmb3JtID0gc3lzLnBsYXRmb3JtCisgICAgICAgICBzeXMucGxh dGZvcm0gPSAid2luZG93cyIKKyAKKy0gICAgICAgIGVxXyhwcmV0dHkuZ2V0X3Rlcm1pbmFsX3Np emUoKSwgKDgwLCAyNCkpCisrICAgICAgICBhc3NlcnQgcHJldHR5LmdldF90ZXJtaW5hbF9zaXpl KCkgPT0gKDgwLCAyNCkKKyAKKyAgICAgICAgIHN5cy5wbGF0Zm9ybSA9IHBsYXRmb3JtCisgCitA QCAtNDYsNyArNDUsNyBAQCBjbGFzcyBUZXN0R2V0VGVybWluYWxTaXplKHVuaXR0ZXN0LlRlc3RD YXNlKToKKyAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgICBwYXNzCisg CistICAgICAgICBlcV8ocHJldHR5LmdldF90ZXJtaW5hbF9zaXplKCksICg4MCwgMjQpKQorKyAg ICAgICAgYXNzZXJ0IHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgpID09ICg4MCwgMjQpCisgCisg ICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbl9pbl9pb2N0bChzZWxmKToKKyAgICAgICAgIHRyeToKK0BA IC01OSw3ICs1OCw3IEBAIGNsYXNzIFRlc3RHZXRUZXJtaW5hbFNpemUodW5pdHRlc3QuVGVzdENh c2UpOgorIAorICAgICAgICAgc2VsZi5pb2N0bC5zaWRlX2VmZmVjdCA9IHJhaXNlcgorIAorLSAg ICAgICAgZXFfKHByZXR0eS5nZXRfdGVybWluYWxfc2l6ZSgpLCAoODAsIDI0KSkKKysgICAgICAg IGFzc2VydCBwcmV0dHkuZ2V0X3Rlcm1pbmFsX3NpemUoKSA9PSAoODAsIDI0KQorICAgICAgICAg c2VsZi5pb2N0bC5hc3NlcnRfY2FsbGVkX3dpdGgoMCwgdGVybWlvcy5USU9DR1dJTlNaLCBzZWxm Lnplcm9fc3RydWN0KQorIAorICAgICBkZWYgdGVzdF9oYXBweV9wYXRoKHNlbGYpOgorQEAgLTcw LDcgKzY5LDcgQEAgY2xhc3MgVGVzdEdldFRlcm1pbmFsU2l6ZSh1bml0dGVzdC5UZXN0Q2FzZSk6 CisgCisgICAgICAgICBzZWxmLmlvY3RsLnJldHVybl92YWx1ZSA9IHN0cnVjdC5wYWNrKCJISEhI IiwgMTcsIDIzLCA1LCA1KQorIAorLSAgICAgICAgZXFfKHByZXR0eS5nZXRfdGVybWluYWxfc2l6 ZSgpLCAoMjMsIDE3KSkKKysgICAgICAgIGFzc2VydCBwcmV0dHkuZ2V0X3Rlcm1pbmFsX3NpemUo KSA9PSAoMjMsIDE3KQorICAgICAgICAgc2VsZi5pb2N0bC5hc3NlcnRfY2FsbGVkX3dpdGgoMCwg dGVybWlvcy5USU9DR1dJTlNaLCBzZWxmLnplcm9fc3RydWN0KQorIAorICAgICBkZWYgdGVzdF96 ZXJvX3NpemVfZmFsbGJhY2soc2VsZik6CitAQCAtODEsNyArODAsNyBAQCBjbGFzcyBUZXN0R2V0 VGVybWluYWxTaXplKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAKKyAgICAgICAgIHNlbGYuaW9jdGwu cmV0dXJuX3ZhbHVlID0gc2VsZi56ZXJvX3N0cnVjdAorIAorLSAgICAgICAgZXFfKHByZXR0eS5n ZXRfdGVybWluYWxfc2l6ZSgpLCAoODAsIDI0KSkKKysgICAgICAgIGFzc2VydCBwcmV0dHkuZ2V0 X3Rlcm1pbmFsX3NpemUoKSA9PSAoODAsIDI0KQorICAgICAgICAgc2VsZi5pb2N0bC5hc3NlcnRf Y2FsbGVkX3dpdGgoMCwgdGVybWlvcy5USU9DR1dJTlNaLCBzZWxmLnplcm9fc3RydWN0KQorIAor IAorQEAgLTIwNCw3ICsyMDMsNyBAQCBjbGFzcyBUZXN0VGFnc0NvdW50KEZvcm1hdHRlclRlc3Rz KToKKyAgICAgICAgIHAuZmVhdHVyZShmKQorICAgICAgICAgcC5zY2VuYXJpbyhzKQorIAorLSAg ICAgICAgZXFfKHAudGFnX2NvdW50cywgeyJoYW0iOiBbZiwgc10sICJzcGFtIjogW2ZdLCAiZm9v IjogW3NdfSkKKysgICAgICAgIGFzc2VydCBwLnRhZ19jb3VudHMgPT0geyJoYW0iOiBbZiwgc10s ICJzcGFtIjogW2ZdLCAiZm9vIjogW3NdfQorIAorIAorIGNsYXNzIE11bHRpcGxlRm9ybWF0dGVy c1Rlc3RzKEZvcm1hdHRlclRlc3RzKToKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfZm9ybWF0dGVy X3Byb2dyZXNzLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl9wcm9ncmVzcy5weQorc2lt aWxhcml0eSBpbmRleCA5OSUKK3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9mb3JtYXR0ZXJfcHJvZ3Jl c3MucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3Byb2dyZXNzLnB5Citp bmRleCAyOWM4ZTY4Li4xOWNkZjY0IDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X2Zvcm1hdHRlcl9w cm9ncmVzcy5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl9wcm9ncmVzcy5weQor QEAgLTksNiArOSw3IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Cisg ZnJvbSAudGVzdF9mb3JtYXR0ZXIgaW1wb3J0IEZvcm1hdHRlclRlc3RzIGFzIEZvcm1hdHRlclRl c3QKKyBmcm9tIC50ZXN0X2Zvcm1hdHRlciBpbXBvcnQgTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdHMg YXMgTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdAorIAorKworIGNsYXNzIFRlc3RTY2VuYXJpb1Byb2dy ZXNzRm9ybWF0dGVyKEZvcm1hdHRlclRlc3QpOgorICAgICBmb3JtYXR0ZXJfbmFtZSA9ICJwcm9n cmVzcyIKKyAKK0BAIC0yMCwyMCArMjEsMjYgQEAgY2xhc3MgVGVzdFN0ZXBQcm9ncmVzc0Zvcm1h dHRlcihGb3JtYXR0ZXJUZXN0KToKKyBjbGFzcyBUZXN0UHJldHR5QW5kU2NlbmFyaW9Qcm9ncmVz cyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsncHJldHR5Jywg J3Byb2dyZXNzJ10KKyAKKysKKyBjbGFzcyBUZXN0UGxhaW5BbmRTY2VuYXJpb1Byb2dyZXNzKE11 bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWydwbGFpbicsICdwcm9n cmVzcyddCisgCisrCisgY2xhc3MgVGVzdEpTT05BbmRTY2VuYXJpb1Byb2dyZXNzKE11bHRpcGxl Rm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWydqc29uJywgJ3Byb2dyZXNzJ10K KyAKKysKKyBjbGFzcyBUZXN0UHJldHR5QW5kU3RlcFByb2dyZXNzKE11bHRpcGxlRm9ybWF0dGVy c1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWydwcmV0dHknLCAncHJvZ3Jlc3MyJ10KKyAKKysK KyBjbGFzcyBUZXN0UGxhaW5BbmRTdGVwUHJvZ3Jlc3MoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6 CisgICAgIGZvcm1hdHRlcnMgPSBbJ3BsYWluJywgJ3Byb2dyZXNzMiddCisgCisrCisgY2xhc3Mg VGVzdEpTT05BbmRTdGVwUHJvZ3Jlc3MoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZv cm1hdHRlcnMgPSBbJ2pzb24nLCAncHJvZ3Jlc3MyJ10KKyAKKysKKyBjbGFzcyBUZXN0U2NlbmFy aW9Qcm9ncmVzc0FuZFN0ZXBQcm9ncmVzcyhNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAg Zm9ybWF0dGVycyA9IFsncHJvZ3Jlc3MnLCAncHJvZ3Jlc3MyJ10KK2RpZmYgLS1naXQgYS90ZXN0 L3Rlc3RfZm9ybWF0dGVyX3JlcnVuLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl9yZXJ1 bi5weQorc2ltaWxhcml0eSBpbmRleCA5NCUKK3JlbmFtZSBmcm9tIHRlc3QvdGVzdF9mb3JtYXR0 ZXJfcmVydW4ucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rlc3RfZm9ybWF0dGVyX3JlcnVuLnB5 CitpbmRleCA2MzU3ZjkyLi4xNTQ1ODhmIDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X2Zvcm1hdHRl cl9yZXJ1bi5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl9yZXJ1bi5weQorQEAg LTgsNyArOCw3IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgZnJv bSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgU3RhdHVzCisgZnJvbSAudGVzdF9mb3JtYXR0ZXIg aW1wb3J0IEZvcm1hdHRlclRlc3RzIGFzIEZvcm1hdHRlclRlc3QsIF90ZgorIGZyb20gLnRlc3Rf Zm9ybWF0dGVyIGltcG9ydCBNdWx0aXBsZUZvcm1hdHRlcnNUZXN0cyBhcyBNdWx0aXBsZUZvcm1h dHRlcnNUZXN0CistZnJvbSBub3NlLnRvb2xzIGltcG9ydCAqCisrCisgCisgY2xhc3MgVGVzdFJl cnVuRm9ybWF0dGVyKEZvcm1hdHRlclRlc3QpOgorICAgICBmb3JtYXR0ZXJfbmFtZSA9ICJyZXJ1 biIKK0BAIC0yNiw3ICsyNiw3IEBAIGNsYXNzIFRlc3RSZXJ1bkZvcm1hdHRlcihGb3JtYXR0ZXJU ZXN0KToKKyAgICAgICAgICAgICBwLnNjZW5hcmlvKHNjZW5hcmlvKQorICAgICAgICAgICAgIGFz c2VydCBzY2VuYXJpby5zdGF0dXMgPT0gU3RhdHVzLnBhc3NlZAorICAgICAgICAgcC5lb2YoKQor LSAgICAgICAgZXFfKFtdLCBwLmZhaWxlZF9zY2VuYXJpb3MpCisrICAgICAgICBhc3NlcnQgW10g PT0gcC5mYWlsZWRfc2NlbmFyaW9zCisgICAgICAgICAjIC0tIEVNSVQgUkVQT1JUOgorICAgICAg ICAgcC5jbG9zZSgpCisgCitAQCAtNDksNyArNDksNyBAQCBjbGFzcyBUZXN0UmVydW5Gb3JtYXR0 ZXIoRm9ybWF0dGVyVGVzdCk6CisgICAgICAgICBhc3NlcnQgc2NlbmFyaW9zWzBdLnN0YXR1cyA9 PSBTdGF0dXMucGFzc2VkCisgICAgICAgICBhc3NlcnQgc2NlbmFyaW9zWzFdLnN0YXR1cyA9PSBT dGF0dXMuZmFpbGVkCisgICAgICAgICBwLmVvZigpCistICAgICAgICBlcV8oWyBmYWlsaW5nX3Nj ZW5hcmlvIF0sIHAuZmFpbGVkX3NjZW5hcmlvcykKKysgICAgICAgIGFzc2VydCBbIGZhaWxpbmdf c2NlbmFyaW8gXSA9PSBwLmZhaWxlZF9zY2VuYXJpb3MKKyAgICAgICAgICMgLS0gRU1JVCBSRVBP UlQ6CisgICAgICAgICBwLmNsb3NlKCkKKyAKK0BAIC03Niw3ICs3Niw3IEBAIGNsYXNzIFRlc3RS ZXJ1bkZvcm1hdHRlcihGb3JtYXR0ZXJUZXN0KToKKyAgICAgICAgIGFzc2VydCBzY2VuYXJpb3Nb MV0uc3RhdHVzID09IFN0YXR1cy5wYXNzZWQKKyAgICAgICAgIGFzc2VydCBzY2VuYXJpb3NbMl0u c3RhdHVzID09IFN0YXR1cy5mYWlsZWQKKyAgICAgICAgIHAuZW9mKCkKKy0gICAgICAgIGVxXyhb IGZhaWxpbmdfc2NlbmFyaW8xLCBmYWlsaW5nX3NjZW5hcmlvMiBdLCBwLmZhaWxlZF9zY2VuYXJp b3MpCisrICAgICAgICBhc3NlcnQgWyBmYWlsaW5nX3NjZW5hcmlvMSwgZmFpbGluZ19zY2VuYXJp bzIgXSA9PSBwLmZhaWxlZF9zY2VuYXJpb3MKKyAgICAgICAgICMgLS0gRU1JVCBSRVBPUlQ6Cisg ICAgICAgICBwLmNsb3NlKCkKKyAKK0BAIC04NCwxNCArODQsMTggQEAgY2xhc3MgVGVzdFJlcnVu Rm9ybWF0dGVyKEZvcm1hdHRlclRlc3QpOgorIGNsYXNzIFRlc3RSZXJ1bkFuZFByZXR0eUZvcm1h dHRlcnMoTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInJlcnVu IiwgInByZXR0eSJdCisgCisrCisgY2xhc3MgVGVzdFJlcnVuQW5kUGxhaW5Gb3JtYXR0ZXJzKE11 bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWyJyZXJ1biIsICJwbGFp biJdCisgCisrCisgY2xhc3MgVGVzdFJlcnVuQW5kU2NlbmFyaW9Qcm9ncmVzc0Zvcm1hdHRlcnMo TXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgInBy b2dyZXNzIl0KKyAKKysKKyBjbGFzcyBUZXN0UmVydW5BbmRTdGVwUHJvZ3Jlc3NGb3JtYXR0ZXJz KE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0ZXJzID0gWyJyZXJ1biIsICJw cm9ncmVzczIiXQorIAorKworIGNsYXNzIFRlc3RSZXJ1bkFuZEpzb25Gb3JtYXR0ZXIoTXVsdGlw bGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbInJlcnVuIiwgImpzb24iXQor ZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9mb3JtYXR0ZXJfdGFncy5weSBiL3Rlc3RzL3VuaXQvdGVz dF9mb3JtYXR0ZXJfdGFncy5weQorc2ltaWxhcml0eSBpbmRleCA5OSUKK3JlbmFtZSBmcm9tIHRl c3QvdGVzdF9mb3JtYXR0ZXJfdGFncy5weQorcmVuYW1lIHRvIHRlc3RzL3VuaXQvdGVzdF9mb3Jt YXR0ZXJfdGFncy5weQoraW5kZXggNTEyNWQ1MS4uOWY5NTM3NCAxMDA2NDQKKy0tLSBhL3Rlc3Qv dGVzdF9mb3JtYXR0ZXJfdGFncy5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Zvcm1hdHRlcl90 YWdzLnB5CitAQCAtOSwxMiArOSwxNCBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRl X2ltcG9ydAorIGZyb20gLnRlc3RfZm9ybWF0dGVyIGltcG9ydCBGb3JtYXR0ZXJUZXN0cyBhcyBG b3JtYXR0ZXJUZXN0CisgZnJvbSAudGVzdF9mb3JtYXR0ZXIgaW1wb3J0IE11bHRpcGxlRm9ybWF0 dGVyc1Rlc3RzIGFzIE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QKKyAKKysKKyAjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgIyBGT1JNQVRURVIgVEVTVFM6IFdpdGggVGFnQ291bnRGb3JtYXR0ZXIKKyAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgY2xhc3MgVGVzdFRhZ3NDb3VudEZvcm1hdHRlcihGb3Jt YXR0ZXJUZXN0KToKKyAgICAgZm9ybWF0dGVyX25hbWUgPSAidGFncyIKKyAKKysKKyAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgIyBGT1JNQVRURVIgVEVTVFM6IFdpdGggVGFnTG9jYXRpb25Gb3Jt YXR0ZXIKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMjgsMTIgKzMwLDE1IEBAIGNsYXNz IFRlc3RUYWdzTG9jYXRpb25Gb3JtYXR0ZXIoRm9ybWF0dGVyVGVzdCk6CisgY2xhc3MgVGVzdFBy ZXR0eUFuZFRhZ3NDb3VudChNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVy cyA9IFsicHJldHR5IiwgInRhZ3MiXQorIAorKworIGNsYXNzIFRlc3RQbGFpbkFuZFRhZ3NDb3Vu dChNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9IFsicGxhaW4iLCAi dGFncyJdCisgCisrCisgY2xhc3MgVGVzdEpTT05BbmRUYWdzQ291bnQoTXVsdGlwbGVGb3JtYXR0 ZXJzVGVzdCk6CisgICAgIGZvcm1hdHRlcnMgPSBbImpzb24iLCAidGFncyJdCisgCisrCisgY2xh c3MgVGVzdFJlcnVuQW5kVGFnc0NvdW50KE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBm b3JtYXR0ZXJzID0gWyJyZXJ1biIsICJ0YWdzIl0KKyAKK0BAIC00NCwxNCArNDksMTggQEAgY2xh c3MgVGVzdFJlcnVuQW5kVGFnc0NvdW50KE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorIGNsYXNz IFRlc3RQcmV0dHlBbmRUYWdzTG9jYXRpb24oTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAg IGZvcm1hdHRlcnMgPSBbInByZXR0eSIsICJ0YWdzLmxvY2F0aW9uIl0KKyAKKysKKyBjbGFzcyBU ZXN0UGxhaW5BbmRUYWdzTG9jYXRpb24oTXVsdGlwbGVGb3JtYXR0ZXJzVGVzdCk6CisgICAgIGZv cm1hdHRlcnMgPSBbInBsYWluIiwgInRhZ3MubG9jYXRpb24iXQorIAorKworIGNsYXNzIFRlc3RK U09OQW5kVGFnc0xvY2F0aW9uKE11bHRpcGxlRm9ybWF0dGVyc1Rlc3QpOgorICAgICBmb3JtYXR0 ZXJzID0gWyJqc29uIiwgInRhZ3MubG9jYXRpb24iXQorIAorKworIGNsYXNzIFRlc3RSZXJ1bkFu ZFRhZ3NMb2NhdGlvbihNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9 IFsicmVydW4iLCAidGFncy5sb2NhdGlvbiJdCisgCisrCisgY2xhc3MgVGVzdFRhZ3NDb3VudEFu ZFRhZ3NMb2NhdGlvbihNdWx0aXBsZUZvcm1hdHRlcnNUZXN0KToKKyAgICAgZm9ybWF0dGVycyA9 IFsidGFncyIsICJ0YWdzLmxvY2F0aW9uIl0KK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3Rf aW1wb3J0ZXIucHkgYi90ZXN0cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkKK2luZGV4IGYzZjRlMmMu LjA1NWI5ZmIgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfaW1wb3J0ZXIucHkKKysrKyBi L3Rlc3RzL3VuaXQvdGVzdF9pbXBvcnRlci5weQorQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgVGVz dExvYWRNb2R1bGUob2JqZWN0KToKKyAgICAgICAgIHNlbGYudGhlb3J5LmFzc2VydF9tb2R1bGVf aXNfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisgCisgICAgIGRlZiB0ZXN0X2xvYWRfbW9kdWxlX19z aG91bGRfc3VjY2VlZF9mb3JfZXhpc3RpbmdfbW9kdWxlKHNlbGYpOgorLSAgICAgICAgbW9kdWxl X25hbWUgPSAidGVzdC5faW1wb3J0ZXJfY2FuZGlkYXRlIgorKyAgICAgICAgbW9kdWxlX25hbWUg PSAidGVzdHMudW5pdC5faW1wb3J0ZXJfY2FuZGlkYXRlIgorICAgICAgICAgc2VsZi50aGVvcnku ZW5zdXJlX21vZHVsZV9pc19ub3RfaW1wb3J0ZWQobW9kdWxlX25hbWUpCisgCisgICAgICAgICBt b2R1bGUgPSBsb2FkX21vZHVsZShtb2R1bGVfbmFtZSkKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3Rf bG9nX2NhcHR1cmUucHkgYi90ZXN0cy91bml0L3Rlc3RfbG9nX2NhcHR1cmUucHkKK3NpbWlsYXJp dHkgaW5kZXggODclCityZW5hbWUgZnJvbSB0ZXN0L3Rlc3RfbG9nX2NhcHR1cmUucHkKK3JlbmFt ZSB0byB0ZXN0cy91bml0L3Rlc3RfbG9nX2NhcHR1cmUucHkKK2luZGV4IGJmZGJlZDcuLmJmMTg3 NGMgMTAwNjQ0CistLS0gYS90ZXN0L3Rlc3RfbG9nX2NhcHR1cmUucHkKKysrKyBiL3Rlc3RzL3Vu aXQvdGVzdF9sb2dfY2FwdHVyZS5weQorQEAgLTEsMTEgKzEsMTAgQEAKKyBmcm9tIF9fZnV0dXJl X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgd2l0aF9zdGF0ZW1lbnQKKy0KKy1mcm9tIG5vc2Uu dG9vbHMgaW1wb3J0ICoKKytpbXBvcnQgcHl0ZXN0CisgZnJvbSBtb2NrIGltcG9ydCBwYXRjaAor LQorIGZyb20gYmVoYXZlLmxvZ19jYXB0dXJlIGltcG9ydCBMb2dnaW5nQ2FwdHVyZQorIGZyb20g c2l4Lm1vdmVzIGltcG9ydCByYW5nZQorIAorKworIGNsYXNzIFRlc3RMb2dDYXB0dXJlKG9iamVj dCk6CisgICAgIGRlZiB0ZXN0X2dldF92YWx1ZV9yZXR1cm5zX2FsbF9sb2dfcmVjb3JkcyhzZWxm KToKKyAgICAgICAgIGNsYXNzIEZha2VDb25maWcob2JqZWN0KToKK0BAIC0yMyw3ICsyMiw3IEBA IGNsYXNzIFRlc3RMb2dDYXB0dXJlKG9iamVjdCk6CisgICAgICAgICAgICAgZm9ybWF0LnJldHVy bl92YWx1ZSA9ICdmb28nCisgICAgICAgICAgICAgZXhwZWN0ZWQgPSAnXG4nLmpvaW4oWydmb28n XSAqIGxlbihmYWtlX3JlY29yZHMpKQorIAorLSAgICAgICAgICAgIGVxXyhoYW5kbGVyLmdldHZh bHVlKCksIGV4cGVjdGVkKQorKyAgICAgICAgICAgIGFzc2VydCBoYW5kbGVyLmdldHZhbHVlKCkg PT0gZXhwZWN0ZWQKKyAKKyAgICAgICAgICAgICBjYWxscyA9IFthcmdzWzBdWzBdIGZvciBhcmdz IGluIGZvcm1hdC5jYWxsX2FyZ3NfbGlzdF0KKy0gICAgICAgICAgICBlcV8oY2FsbHMsIGZha2Vf cmVjb3JkcykKKysgICAgICAgICAgICBhc3NlcnQgY2FsbHMgPT0gZmFrZV9yZWNvcmRzCitkaWZm IC0tZ2l0IGEvdGVzdC90ZXN0X21hdGNoZXJzLnB5IGIvdGVzdHMvdW5pdC90ZXN0X21hdGNoZXJz LnB5CitzaW1pbGFyaXR5IGluZGV4IDkzJQorcmVuYW1lIGZyb20gdGVzdC90ZXN0X21hdGNoZXJz LnB5CityZW5hbWUgdG8gdGVzdHMvdW5pdC90ZXN0X21hdGNoZXJzLnB5CitpbmRleCBiZmUwNGZj Li44MTU1ODFjIDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X21hdGNoZXJzLnB5CisrKysgYi90ZXN0 cy91bml0L3Rlc3RfbWF0Y2hlcnMucHkKK0BAIC0xLDcgKzEsNyBAQAorICMgLSotIGNvZGluZzog VVRGLTggLSotCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHdpdGhf c3RhdGVtZW50CisraW1wb3J0IHB5dGVzdAorIGZyb20gbW9jayBpbXBvcnQgTW9jaywgcGF0Y2gK Ky1mcm9tIG5vc2UudG9vbHMgaW1wb3J0ICogICMgcHlsaW50OiBkaXNhYmxlPXdpbGRjYXJkLWlt cG9ydCwgdW51c2VkLXdpbGRjYXJkLWltcG9ydAorIGltcG9ydCBwYXJzZQorIGZyb20gYmVoYXZl Lm1hdGNoZXJzIGltcG9ydCBNYXRjaCwgTWF0Y2hlciwgUGFyc2VNYXRjaGVyLCBSZWdleE1hdGNo ZXIsIFwKKyAgICAgU2ltcGxpZmllZFJlZ2V4TWF0Y2hlciwgQ3VjdW1iZXJSZWdleE1hdGNoZXIK K0BAIC04MCw3ICs4MCw3IEBAIGNsYXNzIFRlc3RQYXJzZU1hdGNoZXIob2JqZWN0KToKKyAgICAg ICAgICAgICBhc3NlcnQgbS5mdW5jIGlzIGZ1bmMKKyAgICAgICAgICAgICBhcmdzID0gbS5hcmd1 bWVudHMKKyAgICAgICAgICAgICBoYXZlID0gWyhhLnN0YXJ0LCBhLmVuZCwgYS5vcmlnaW5hbCwg YS52YWx1ZSwgYS5uYW1lKSBmb3IgYSBpbiBhcmdzXQorLSAgICAgICAgICAgIGVxXyhoYXZlLCBl eHBlY3RlZCkKKysgICAgICAgICAgICBhc3NlcnQgaGF2ZSA9PSBleHBlY3RlZAorIAorICAgICBk ZWYgdGVzdF9uYW1lZF9hcmd1bWVudHMoc2VsZik6CisgICAgICAgICB0ZXh0ID0gImhhcyBhIHtz dHJpbmd9LCBhbiB7aW50ZWdlcjpkfSBhbmQgYSB7ZGVjaW1hbDpmfSIKK0BAIC04OSwxMSArODks MTEgQEAgY2xhc3MgVGVzdFBhcnNlTWF0Y2hlcihvYmplY3QpOgorIAorICAgICAgICAgbSA9IG1h dGNoZXIubWF0Y2goImhhcyBhIGZvbywgYW4gMTEgYW5kIGEgMy4xNDE1OSIpCisgICAgICAgICBt LnJ1bihjb250ZXh0KQorLSAgICAgICAgZXFfKHNlbGYucmVjb3JkZWRfYXJncywgKChjb250ZXh0 LCksIHsKKysgICAgICAgIGFzc2VydCBzZWxmLnJlY29yZGVkX2FyZ3MsICgoY29udGV4dCwpID09 IHsKKyAgICAgICAgICAgICAnc3RyaW5nJzogJ2ZvbycsCisgICAgICAgICAgICAgJ2ludGVnZXIn OiAxMSwKKyAgICAgICAgICAgICAnZGVjaW1hbCc6IDMuMTQxNTkKKy0gICAgICAgIH0pKQorKyAg ICAgICAgfSkKKyAKKyAgICAgZGVmIHRlc3RfcG9zaXRpb25hbF9hcmd1bWVudHMoc2VsZik6Cisg ICAgICAgICB0ZXh0ID0gImhhcyBhIHt9LCBhbiB7OmR9IGFuZCBhIHs6Zn0iCitAQCAtMTAyLDcg KzEwMiw3IEBAIGNsYXNzIFRlc3RQYXJzZU1hdGNoZXIob2JqZWN0KToKKyAKKyAgICAgICAgIG0g PSBtYXRjaGVyLm1hdGNoKCJoYXMgYSBmb28sIGFuIDExIGFuZCBhIDMuMTQxNTkiKQorICAgICAg ICAgbS5ydW4oY29udGV4dCkKKy0gICAgICAgIGVxXyhzZWxmLnJlY29yZGVkX2FyZ3MsICgoY29u dGV4dCwgJ2ZvbycsIDExLCAzLjE0MTU5KSwge30pKQorKyAgICAgICAgYXNzZXJ0IHNlbGYucmVj b3JkZWRfYXJncyA9PSAoKGNvbnRleHQsICdmb28nLCAxMSwgMy4xNDE1OSksIHt9KQorIAorIGNs YXNzIFRlc3RSZWdleE1hdGNoZXIob2JqZWN0KToKKyAgICAgIyBweWxpbnQ6IGRpc2FibGU9aW52 YWxpZC1uYW1lLCBuby1zZWxmLXVzZQorQEAgLTE1MSw3ICsxNTEsNyBAQCBjbGFzcyBUZXN0UmVn ZXhNYXRjaGVyKG9iamVjdCk6CisgICAgICAgICBhc3NlcnQgbS5mdW5jIGlzIGZ1bmMKKyAgICAg ICAgIGFyZ3MgPSBtLmFyZ3VtZW50cworICAgICAgICAgaGF2ZSA9IFsoYS5zdGFydCwgYS5lbmQs IGEub3JpZ2luYWwsIGEudmFsdWUsIGEubmFtZSkgZm9yIGEgaW4gYXJnc10KKy0gICAgICAgIGVx XyhoYXZlLCBleHBlY3RlZCkKKysgICAgICAgIGFzc2VydCBoYXZlID09IGV4cGVjdGVkCisgCisg CisgCitAQCAtMTc5LDE3ICsxNzksMTcgQEAgY2xhc3MgVGVzdFNpbXBsaWZpZWRSZWdleE1hdGNo ZXIoVGVzdFJlZ2V4TWF0Y2hlcik6CisgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtYXRjaGVk MSwgTWF0Y2gpCisgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShtYXRjaGVkMiwgTWF0Y2gpCisg CistICAgIEByYWlzZXMoQXNzZXJ0aW9uRXJyb3IpCisgICAgIGRlZiB0ZXN0X3N0ZXBfc2hvdWxk X25vdF91c2VfcmVnZXhfYmVnaW5fbWFya2VyKHNlbGYpOgorLSAgICAgICAgU2ltcGxpZmllZFJl Z2V4TWF0Y2hlcihOb25lLCAiXkkgZG8gc29tZXRoaW5nIikKKysgICAgICAgIHdpdGggcHl0ZXN0 LnJhaXNlcyhBc3NlcnRpb25FcnJvcik6CisrICAgICAgICAgICAgU2ltcGxpZmllZFJlZ2V4TWF0 Y2hlcihOb25lLCAiXkkgZG8gc29tZXRoaW5nIikKKyAKKy0gICAgQHJhaXNlcyhBc3NlcnRpb25F cnJvcikKKyAgICAgZGVmIHRlc3Rfc3RlcF9zaG91bGRfbm90X3VzZV9yZWdleF9lbmRfbWFya2Vy KHNlbGYpOgorLSAgICAgICAgU2ltcGxpZmllZFJlZ2V4TWF0Y2hlcihOb25lLCAiSSBkbyBzb21l dGhpbmckIikKKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhBc3NlcnRpb25FcnJvcik6Cisr ICAgICAgICAgICAgU2ltcGxpZmllZFJlZ2V4TWF0Y2hlcihOb25lLCAiSSBkbyBzb21ldGhpbmck IikKKyAKKy0gICAgQHJhaXNlcyhBc3NlcnRpb25FcnJvcikKKyAgICAgZGVmIHRlc3Rfc3RlcF9z aG91bGRfbm90X3VzZV9yZWdleF9iZWdpbl9hbmRfZW5kX21hcmtlcihzZWxmKToKKy0gICAgICAg IFNpbXBsaWZpZWRSZWdleE1hdGNoZXIoTm9uZSwgIl5JIGRvIHNvbWV0aGluZyQiKQorKyAgICAg ICAgd2l0aCBweXRlc3QucmFpc2VzKEFzc2VydGlvbkVycm9yKToKKysgICAgICAgICAgICBTaW1w bGlmaWVkUmVnZXhNYXRjaGVyKE5vbmUsICJeSSBkbyBzb21ldGhpbmckIikKKyAKKyAKKyBjbGFz cyBUZXN0Q3VjdW1iZXJSZWdleE1hdGNoZXIoVGVzdFJlZ2V4TWF0Y2hlcik6CitkaWZmIC0tZ2l0 IGEvdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5weSBiL3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkK K2luZGV4IDU2MDNhNGIuLmVjYmIxYmYgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfcGFy c2VyLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5CitAQCAtNyw3ICs3LDYgQEAg VW5pdCB0ZXN0cyBmb3IgR2hlcmtpbiBwYXJzZXI6IDptb2Q6YGJlaGF2ZS5wYXJzZXJgLgorIGZy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGlt cG9ydCBweXRlc3QKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgaTE4biwgbW9kZWwsIHBhcnNlcgorLSMg Tk9ULU5FRURFRDogZnJvbSBub3NlLnRvb2xzIGltcG9ydCAqCisgCisgCisgIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfcnVubmVyLnB5IGIvdGVzdHMvdW5pdC90 ZXN0X3J1bm5lci5weQorc2ltaWxhcml0eSBpbmRleCA4MiUKK3JlbmFtZSBmcm9tIHRlc3QvdGVz dF9ydW5uZXIucHkKK3JlbmFtZSB0byB0ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CitpbmRleCA2 NjQ3MjgzLi4wMzBkZmZhIDEwMDY0NAorLS0tIGEvdGVzdC90ZXN0X3J1bm5lci5weQorKysrIGIv dGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weQorQEAgLTExLDEwICsxMSw4IEBAIGltcG9ydCB0ZW1w ZmlsZQorIGltcG9ydCB1bml0dGVzdAorIGltcG9ydCBzaXgKKyBmcm9tIHNpeCBpbXBvcnQgU3Ry aW5nSU8KKy0KKytpbXBvcnQgcHl0ZXN0CisgZnJvbSBtb2NrIGltcG9ydCBNb2NrLCBwYXRjaAor LWZyb20gbm9zZS50b29scyBpbXBvcnQgKiAgIyBweWxpbnQ6IGRpc2FibGU9d2lsZGNhcmQtaW1w b3J0LCB1bnVzZWQtd2lsZGNhcmQtaW1wb3J0CistCisgZnJvbSBiZWhhdmUgaW1wb3J0IHJ1bm5l cl91dGlsCisgZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFRhYmxlCisgZnJvbSBiZWhhdmUuc3Rl cF9yZWdpc3RyeSBpbXBvcnQgU3RlcFJlZ2lzdHJ5CitAQCAtMzksMzEgKzM3LDMxIEBAIGNsYXNz IFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgZGVmIHRlc3RfdXNlcl9tb2Rl X3NoYWxsX3Jlc3RvcmVfYmVoYXZlX21vZGUoc2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IE5v IGV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICAgICAgICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29u dGV4dC5CRUhBVkUKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxfbW9k ZSkKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisg ICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAg ICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBydW5uZXIuQ29udGV4dC5VU0VSKQorKyAgICAg ICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuVVNFUgor ICAgICAgICAgICAgIHNlbGYuY29udGV4dC50aGluZyA9ICJzdHVmZiIKKy0gICAgICAgIGVxXyhz ZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxfbW9kZSkKKysgICAgICAgIGFzc2VydCBzZWxmLmNv bnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCisgCisgICAgIGRlZiB0ZXN0X3VzZXJfbW9kZV9z aGFsbF9yZXN0b3JlX2JlaGF2ZV9tb2RlX2lmX2Fzc2VydF9mYWlscyhzZWxmKToKKyAgICAgICAg IGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorLSAgICAgICAgZXFfKHNlbGYu Y29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2RlKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4 dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRo IHNlbGYuY29udGV4dC51c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAgICAgICAgICAgZXFf KHNlbGYuY29udGV4dC5fbW9kZSwgcnVubmVyLkNvbnRleHQuVVNFUikKKysgICAgICAgICAgICAg ICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisgICAg ICAgICAgICAgICAgIGFzc2VydCBGYWxzZSwgIlhGQUlMIgorICAgICAgICAgZXhjZXB0IEFzc2Vy dGlvbkVycm9yOgorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxf bW9kZSkKKysgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxf bW9kZQorIAorICAgICBkZWYgdGVzdF91c2VyX21vZGVfc2hhbGxfcmVzdG9yZV9iZWhhdmVfbW9k ZV9pZl9leGNlcHRpb25faXNfcmFpc2VkKHNlbGYpOgorICAgICAgICAgaW5pdGlhbF9tb2RlID0g cnVubmVyLkNvbnRleHQuQkVIQVZFCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBp bml0aWFsX21vZGUpCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRp YWxfbW9kZQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVz ZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9t b2RlLCBydW5uZXIuQ29udGV4dC5VU0VSKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5j b250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKyAgICAgICAgICAgICAgICAgcmFp c2UgUnVudGltZUVycm9yKCJYRkFJTCIpCisgICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgor LSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21vZGUsIGluaXRpYWxfbW9kZSkKKysgICAg ICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAg ICBkZWYgdGVzdF91c2Vfd2l0aF91c2VyX21vZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2Rl KHNlbGYpOgorICAgICAgICAgIyAtLSBDQVNFOiBObyBleGNlcHRpb24gaXMgcmFpc2VkLgorQEAg LTcxLDkgKzY5LDkgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAg ICAgICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRleHQuQkVIQVZFCisgICAgICAgICBzZWxm LmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21vZGUKKyAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0 LnVzZV93aXRoX3VzZXJfbW9kZSgpOgorLSAgICAgICAgICAgIGVxXyhzZWxmLmNvbnRleHQuX21v ZGUsIHJ1bm5lci5Db250ZXh0LlVTRVIpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4 dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0 LnRoaW5nID0gInN0dWZmIgorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlh bF9tb2RlKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21v ZGUKKyAKKyAgICAgZGVmIHRlc3RfdXNlX3dpdGhfdXNlcl9tb2RlX19zaGFsbF9yZXN0b3JlX2lu aXRpYWxfbW9kZV93aXRoX2Vycm9yKHNlbGYpOgorICAgICAgICAgIyAtLSBDQVNFOiBFeGNlcHRp b24gaXMgcmFpc2VkLgorQEAgLTgyLDEwICs4MCwxMCBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0 dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0aWFsX21v ZGUKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0 aF91c2VyX21vZGUoKToKKy0gICAgICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwg cnVubmVyLkNvbnRleHQuVVNFUikKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4 dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisgICAgICAgICAgICAgICAgIHJhaXNlIFJ1 bnRpbWVFcnJvcigiWEZBSUwiKQorICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKKy0gICAg ICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBpbml0aWFsX21vZGUpCisrICAgICAgICAg ICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAgZGVm IHRlc3RfdXNlX3dpdGhfYmVoYXZlX21vZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2RlKHNl bGYpOgorICAgICAgICAgIyAtLSBDQVNFOiBObyBleGNlcHRpb24gaXMgcmFpc2VkLgorQEAgLTkz LDkgKzkxLDkgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAg ICAgaW5pdGlhbF9tb2RlID0gcnVubmVyLkNvbnRleHQuVVNFUgorICAgICAgICAgc2VsZi5jb250 ZXh0Ll9tb2RlID0gaW5pdGlhbF9tb2RlCisgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC5fdXNl X3dpdGhfYmVoYXZlX21vZGUoKToKKy0gICAgICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2Rl LCBydW5uZXIuQ29udGV4dC5CRUhBVkUpCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4 dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKyAgICAgICAgICAgICBzZWxmLmNvbnRl eHQudGhpbmcgPSAic3R1ZmYiCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0Ll9tb2RlLCBpbml0 aWFsX21vZGUpCisrICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxf bW9kZQorIAorICAgICBkZWYgdGVzdF91c2Vfd2l0aF9iZWhhdmVfbW9kZV9fc2hhbGxfcmVzdG9y ZV9pbml0aWFsX21vZGVfd2l0aF9lcnJvcihzZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTogRXhj ZXB0aW9uIGlzIHJhaXNlZC4KK0BAIC0xMDQsMjIgKzEwMiwyMiBAQCBjbGFzcyBUZXN0Q29udGV4 dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0 aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC5f dXNlX3dpdGhfYmVoYXZlX21vZGUoKToKKy0gICAgICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4 dC5fbW9kZSwgcnVubmVyLkNvbnRleHQuQkVIQVZFKQorKyAgICAgICAgICAgICAgICBhc3NlcnQg c2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorICAgICAgICAgICAg ICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlhGQUlMIikKKyAgICAgICAgIGV4Y2VwdCBSdW50aW1l RXJyb3I6CistICAgICAgICAgICAgZXFfKHNlbGYuY29udGV4dC5fbW9kZSwgaW5pdGlhbF9tb2Rl KQorKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2Rl CisgCisgICAgIGRlZiB0ZXN0X2NvbnRleHRfY29udGFpbnMoc2VsZik6CistICAgICAgICBlcV8o InRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIEZhbHNlKQorKyAgICAgICAgYXNzZXJ0ICJ0aGluZyIg bm90IGluIHNlbGYuY29udGV4dAorICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZm IgorLSAgICAgICAgZXFfKCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBUcnVlKQorKyAgICAgICAg YXNzZXJ0ICJ0aGluZyIgaW4gc2VsZi5jb250ZXh0CisgICAgICAgICBzZWxmLmNvbnRleHQuX3B1 c2goKQorLSAgICAgICAgZXFfKCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBUcnVlKQorKyAgICAg ICAgYXNzZXJ0ICJ0aGluZyIgaW4gc2VsZi5jb250ZXh0CisgCisgICAgIGRlZiB0ZXN0X2F0dHJp YnV0ZV9zZXRfYXRfdXBwZXJfbGV2ZWxfdmlzaWJsZV9hdF9sb3dlcl9sZXZlbChzZWxmKToKKyAg ICAgICAgIHNlbGYuY29udGV4dC50aGluZyA9ICJzdHVmZiIKKyAgICAgICAgIHNlbGYuY29udGV4 dC5fcHVzaCgpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1ZmYiKQorKyAg ICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50aGluZyA9PSAic3R1ZmYiCisgCisgICAgIGRlZiB0 ZXN0X2F0dHJpYnV0ZV9zZXRfYXRfbG93ZXJfbGV2ZWxfbm90X3Zpc2libGVfYXRfdXBwZXJfbGV2 ZWwoc2VsZik6CisgICAgICAgICBzZWxmLmNvbnRleHQuX3B1c2goKQorQEAgLTEzMCwxNiArMTI4 LDE2IEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgZGVmIHRl c3RfYXR0cmlidXRlc19zZXRfYXRfdXBwZXJfbGV2ZWxfdmlzaWJsZV9hdF9sb3dlcl9sZXZlbChz ZWxmKToKKyAgICAgICAgIHNlbGYuY29udGV4dC50aGluZyA9ICJzdHVmZiIKKyAgICAgICAgIHNl bGYuY29udGV4dC5fcHVzaCgpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1 ZmYiKQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50aGluZyA9PSAic3R1ZmYiCisgICAg ICAgICBzZWxmLmNvbnRleHQub3RoZXJfdGhpbmcgPSAibW9yZSBzdHVmZiIKKyAgICAgICAgIHNl bGYuY29udGV4dC5fcHVzaCgpCistICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRoaW5nLCAic3R1 ZmYiKQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC5vdGhlcl90aGluZywgIm1vcmUgc3R1ZmYi KQorKyAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC50aGluZyA9PSAic3R1ZmYiCisrICAgICAg ICBhc3NlcnQgc2VsZi5jb250ZXh0Lm90aGVyX3RoaW5nID09ICJtb3JlIHN0dWZmIgorICAgICAg ICAgc2VsZi5jb250ZXh0LnRoaXJkX3RoaW5nID0gIndvbWJhdHMiCisgICAgICAgICBzZWxmLmNv bnRleHQuX3B1c2goKQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC50aGluZywgInN0dWZmIikK Ky0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQub3RoZXJfdGhpbmcsICJtb3JlIHN0dWZmIikKKy0g ICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGhpcmRfdGhpbmcsICJ3b21iYXRzIikKKysgICAgICAg IGFzc2VydCBzZWxmLmNvbnRleHQudGhpbmcgPT0gInN0dWZmIgorKyAgICAgICAgYXNzZXJ0IHNl bGYuY29udGV4dC5vdGhlcl90aGluZyA9PSAibW9yZSBzdHVmZiIKKysgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQudGhpcmRfdGhpbmcgPT0gIndvbWJhdHMiCisgCisgICAgIGRlZiB0ZXN0X2F0 dHJpYnV0ZXNfc2V0X2F0X2xvd2VyX2xldmVsX25vdF92aXNpYmxlX2F0X3VwcGVyX2xldmVsKHNl bGYpOgorICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorQEAgLTE0OSwxNyAr MTQ3LDE3IEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAKKyAgICAg ICAgIHNlbGYuY29udGV4dC5fcHVzaCgpCisgICAgICAgICBzZWxmLmNvbnRleHQudGhpcmRfdGhp bmcgPSAid29tYmF0cyIKKy0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGhpbmcsICJzdHVmZiIp CistICAgICAgICBlcV8oc2VsZi5jb250ZXh0Lm90aGVyX3RoaW5nLCAibW9yZSBzdHVmZiIpCist ICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRoaXJkX3RoaW5nLCAid29tYmF0cyIpCisrICAgICAg ICBhc3NlcnQgc2VsZi5jb250ZXh0LnRoaW5nID09ICJzdHVmZiIKKysgICAgICAgIGFzc2VydCBz ZWxmLmNvbnRleHQub3RoZXJfdGhpbmcgPT0gIm1vcmUgc3R1ZmYiCisrICAgICAgICBhc3NlcnQg c2VsZi5jb250ZXh0LnRoaXJkX3RoaW5nID09ICJ3b21iYXRzIgorIAorICAgICAgICAgc2VsZi5j b250ZXh0Ll9wb3AoKQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC50aGluZywgInN0dWZmIikK Ky0gICAgICAgIGVxXyhzZWxmLmNvbnRleHQub3RoZXJfdGhpbmcsICJtb3JlIHN0dWZmIikKKysg ICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGhpbmcgPT0gInN0dWZmIgorKyAgICAgICAgYXNz ZXJ0IHNlbGYuY29udGV4dC5vdGhlcl90aGluZyA9PSAibW9yZSBzdHVmZiIKKyAgICAgICAgIGFz c2VydCBnZXRhdHRyKHNlbGYuY29udGV4dCwgInRoaXJkX3RoaW5nIiwgTm9uZSkgaXMgTm9uZSwg IiVzIGlzIG5vdCBOb25lIiAlIHNlbGYuY29udGV4dC50aGlyZF90aGluZworIAorICAgICAgICAg c2VsZi5jb250ZXh0Ll9wb3AoKQorLSAgICAgICAgZXFfKHNlbGYuY29udGV4dC50aGluZywgInN0 dWZmIikKKysgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQudGhpbmcgPT0gInN0dWZmIgorICAg ICAgICAgYXNzZXJ0IGdldGF0dHIoc2VsZi5jb250ZXh0LCAib3RoZXJfdGhpbmciLCBOb25lKSBp cyBOb25lLCAiJXMgaXMgbm90IE5vbmUiICUgc2VsZi5jb250ZXh0Lm90aGVyX3RoaW5nCisgICAg ICAgICBhc3NlcnQgZ2V0YXR0cihzZWxmLmNvbnRleHQsICJ0aGlyZF90aGluZyIsIE5vbmUpIGlz IE5vbmUsICIlcyBpcyBub3QgTm9uZSIgJSBzZWxmLmNvbnRleHQudGhpcmRfdGhpbmcKKyAKK0BA IC0yNzAsMjEgKzI2OCwyMiBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6 CisgICAgICAgICBhc3NlcnQgZmlsZW5hbWUgaW4gaW5mbywgIiVyIG5vdCBpbiAlciIgJSAoZmls ZW5hbWUsIGluZm8pCisgCisgICAgIGRlZiB0ZXN0X2NvbnRleHRfZGVsZXRhYmxlKHNlbGYpOgor LSAgICAgICAgZXFfKCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0LCBGYWxzZSkKKysgICAgICAgIGFz c2VydCAidGhpbmciIG5vdCBpbiBzZWxmLmNvbnRleHQKKyAgICAgICAgIHNlbGYuY29udGV4dC50 aGluZyA9ICJzdHVmZiIKKy0gICAgICAgIGVxXygidGhpbmciIGluIHNlbGYuY29udGV4dCwgVHJ1 ZSkKKysgICAgICAgIGFzc2VydCAidGhpbmciIGluIHNlbGYuY29udGV4dAorICAgICAgICAgZGVs IHNlbGYuY29udGV4dC50aGluZworLSAgICAgICAgZXFfKCJ0aGluZyIgaW4gc2VsZi5jb250ZXh0 LCBGYWxzZSkKKysgICAgICAgIGFzc2VydCAidGhpbmciIG5vdCBpbiBzZWxmLmNvbnRleHQKKyAK Ky0gICAgQHJhaXNlcyhBdHRyaWJ1dGVFcnJvcikKKysgICAgIyBPTEQ6IEByYWlzZXMoQXR0cmli dXRlRXJyb3IpCisgICAgIGRlZiB0ZXN0X2NvbnRleHRfZGVsZXRhYmxlX3JhaXNlcyhzZWxmKToK KyAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAgIGVx XygidGhpbmciIGluIHNlbGYuY29udGV4dCwgRmFsc2UpCisrICAgICAgICBhc3NlcnQgInRoaW5n IiBub3QgaW4gc2VsZi5jb250ZXh0CisgICAgICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1 ZmYiCistICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIFRydWUpCisrICAgICAg ICBhc3NlcnQgInRoaW5nIiBpbiBzZWxmLmNvbnRleHQKKyAgICAgICAgIHNlbGYuY29udGV4dC5f cHVzaCgpCistICAgICAgICBlcV8oInRoaW5nIiBpbiBzZWxmLmNvbnRleHQsIFRydWUpCistICAg ICAgICBkZWwgc2VsZi5jb250ZXh0LnRoaW5nCisrICAgICAgICBhc3NlcnQgInRoaW5nIiBpbiBz ZWxmLmNvbnRleHQKKysgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6 CisrICAgICAgICAgICAgZGVsIHNlbGYuY29udGV4dC50aGluZworIAorIAorIGNsYXNzIEV4YW1w bGVTdGVwcyhvYmplY3QpOgorQEAgLTM2Miw3ICszNjEsNyBAQCBUaGVuIGEgc3RlcCBwYXNzZXMK KyAiIiIubHN0cmlwKCkKKyAgICAgICAgIHdpdGggcGF0Y2goImJlaGF2ZS5zdGVwX3JlZ2lzdHJ5 LnJlZ2lzdHJ5Iiwgc2VsZi5zdGVwX3JlZ2lzdHJ5KToKKyAgICAgICAgICAgICByZXN1bHQgPSBz ZWxmLmNvbnRleHQuZXhlY3V0ZV9zdGVwcyhkb2MpCistICAgICAgICAgICAgZXFfKHJlc3VsdCwg VHJ1ZSkKKysgICAgICAgICAgICBhc3NlcnQgcmVzdWx0IGlzIFRydWUKKyAKKyAgICAgZGVmIHRl c3RfZXhlY3V0ZV9zdGVwc193aXRoX2ZhaWxpbmdfc3RlcChzZWxmKToKKyAgICAgICAgIGRvYyA9 IHUiIiIKK0BAIC0zNzQsNyArMzczLDcgQEAgVGhlbiBhIHN0ZXAgcGFzc2VzCisgICAgICAgICAg ICAgdHJ5OgorICAgICAgICAgICAgICAgICByZXN1bHQgPSBzZWxmLmNvbnRleHQuZXhlY3V0ZV9z dGVwcyhkb2MpCisgICAgICAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9yIGFzIGU6CistICAg ICAgICAgICAgICAgIG9rXygiRkFJTEVEIFNVQi1TVEVQOiBXaGVuIGEgc3RlcCBmYWlscyIgaW4g X3RleHQoZSkpCisrICAgICAgICAgICAgICAgIGFzc2VydCAiRkFJTEVEIFNVQi1TVEVQOiBXaGVu IGEgc3RlcCBmYWlscyIgaW4gX3RleHQoZSkKKyAKKyAgICAgZGVmIHRlc3RfZXhlY3V0ZV9zdGVw c193aXRoX3VuZGVmaW5lZF9zdGVwKHNlbGYpOgorICAgICAgICAgZG9jID0gdSIiIgorQEAgLTM4 Niw3ICszODUsNyBAQCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAgICAgICB0cnk6CisgICAg ICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKyAg ICAgICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3IgYXMgZToKKy0gICAgICAgICAgICAgICAg b2tfKCJVTkRFRklORUQgU1VCLVNURVA6IFdoZW4gYSBzdGVwIGlzIHVuZGVmaW5lZCIgaW4gX3Rl eHQoZSkpCisrICAgICAgICAgICAgICAgIGFzc2VydCAiVU5ERUZJTkVEIFNVQi1TVEVQOiBXaGVu IGEgc3RlcCBpcyB1bmRlZmluZWQiIGluIF90ZXh0KGUpCisgCisgICAgIGRlZiB0ZXN0X2V4ZWN1 dGVfc3RlcHNfd2l0aF90ZXh0KHNlbGYpOgorICAgICAgICAgZG9jID0gdScnJworQEAgLTQwMSw4 ICs0MDAsOCBAQCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAgIHdpdGggcGF0Y2goImJlaGF2 ZS5zdGVwX3JlZ2lzdHJ5LnJlZ2lzdHJ5Iiwgc2VsZi5zdGVwX3JlZ2lzdHJ5KToKKyAgICAgICAg ICAgICByZXN1bHQgPSBzZWxmLmNvbnRleHQuZXhlY3V0ZV9zdGVwcyhkb2MpCisgICAgICAgICAg ICAgZXhwZWN0ZWRfdGV4dCA9ICJMb3JlbSBpcHN1bVxuSXBzdW0gbG9yZW0iCistICAgICAgICAg ICAgZXFfKHJlc3VsdCwgVHJ1ZSkKKy0gICAgICAgICAgICBlcV8oZXhwZWN0ZWRfdGV4dCwgRXhh bXBsZVN0ZXBzLnRleHQpCisrICAgICAgICAgICAgYXNzZXJ0IHJlc3VsdCBpcyBUcnVlCisrICAg ICAgICAgICAgYXNzZXJ0IGV4cGVjdGVkX3RleHQgPT0gRXhhbXBsZVN0ZXBzLnRleHQKKyAKKyAg ICAgZGVmIHRlc3RfZXhlY3V0ZV9zdGVwc193aXRoX3RhYmxlKHNlbGYpOgorICAgICAgICAgZG9j ID0gdSIiIgorQEAgLTQxOSw4ICs0MTgsOCBAQCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAgICAgICAg ICAgICAgICAgICAgIFt1IkFsaWNlIiwgdSIxMiJdLAorICAgICAgICAgICAgICAgICAgICAgW3Ui Qm9iIiwgICB1IjIzIl0sCisgICAgICAgICAgICAgXSkKKy0gICAgICAgICAgICBlcV8ocmVzdWx0 LCBUcnVlKQorLSAgICAgICAgICAgIGVxXyhleHBlY3RlZF90YWJsZSwgRXhhbXBsZVN0ZXBzLnRh YmxlKQorKyAgICAgICAgICAgIGFzc2VydCByZXN1bHQgaXMgVHJ1ZQorKyAgICAgICAgICAgIGFz c2VydCBleHBlY3RlZF90YWJsZSA9PSBFeGFtcGxlU3RlcHMudGFibGUKKyAKKyAgICAgZGVmIHRl c3RfY29udGV4dF90YWJsZV9pc19yZXN0b3JlZF9hZnRlcl9leGVjdXRlX3N0ZXBzX3dpdGhvdXRf dGFibGUoc2VsZik6CisgICAgICAgICBkb2MgPSB1IiIiCitAQCAtNDMxLDcgKzQzMCw3IEBAIFRo ZW4gYSBzdGVwIHBhc3NlcworICAgICAgICAgICAgIG9yaWdpbmFsX3RhYmxlID0gIjxPUklHSU5B TF9UQUJMRT4iCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnRhYmxlID0gb3JpZ2luYWxfdGFi bGUKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQuZXhlY3V0ZV9zdGVwcyhkb2MpCistICAgICAg ICAgICAgZXFfKHNlbGYuY29udGV4dC50YWJsZSwgb3JpZ2luYWxfdGFibGUpCisrICAgICAgICAg ICAgYXNzZXJ0IHNlbGYuY29udGV4dC50YWJsZSA9PSBvcmlnaW5hbF90YWJsZQorIAorICAgICBk ZWYgdGVzdF9jb250ZXh0X3RhYmxlX2lzX3Jlc3RvcmVkX2FmdGVyX2V4ZWN1dGVfc3RlcHNfd2l0 aF90YWJsZShzZWxmKToKKyAgICAgICAgIGRvYyA9IHUiIiIKK0BAIC00NDUsNyArNDQ0LDcgQEAg VGhlbiBhIHN0ZXAgcGFzc2VzCisgICAgICAgICAgICAgb3JpZ2luYWxfdGFibGUgPSAiPE9SSUdJ TkFMX1RBQkxFPiIKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQudGFibGUgPSBvcmlnaW5hbF90 YWJsZQorICAgICAgICAgICAgIHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKy0gICAg ICAgICAgICBlcV8oc2VsZi5jb250ZXh0LnRhYmxlLCBvcmlnaW5hbF90YWJsZSkKKysgICAgICAg ICAgICBhc3NlcnQgc2VsZi5jb250ZXh0LnRhYmxlID09IG9yaWdpbmFsX3RhYmxlCisgCisgICAg IGRlZiB0ZXN0X2NvbnRleHRfdGV4dF9pc19yZXN0b3JlZF9hZnRlcl9leGVjdXRlX3N0ZXBzX3dp dGhvdXRfdGV4dChzZWxmKToKKyAgICAgICAgIGRvYyA9IHUiIiIKK0BAIC00NTYsNyArNDU1LDcg QEAgVGhlbiBhIHN0ZXAgcGFzc2VzCisgICAgICAgICAgICAgb3JpZ2luYWxfdGV4dCA9ICI8T1JJ R0lOQUxfVEVYVD4iCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnRleHQgPSBvcmlnaW5hbF90 ZXh0CisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LmV4ZWN1dGVfc3RlcHMoZG9jKQorLSAgICAg ICAgICAgIGVxXyhzZWxmLmNvbnRleHQudGV4dCwgb3JpZ2luYWxfdGV4dCkKKysgICAgICAgICAg ICBhc3NlcnQgc2VsZi5jb250ZXh0LnRleHQgPT0gb3JpZ2luYWxfdGV4dAorIAorICAgICBkZWYg dGVzdF9jb250ZXh0X3RleHRfaXNfcmVzdG9yZWRfYWZ0ZXJfZXhlY3V0ZV9zdGVwc193aXRoX3Rl eHQoc2VsZik6CisgICAgICAgICBkb2MgPSB1JycnCitAQCAtNDcxLDEwICs0NzAsMTAgQEAgV2hl biBhIHN0ZXAgd2l0aCB0ZXh0OgorICAgICAgICAgICAgIG9yaWdpbmFsX3RleHQgPSAiPE9SSUdJ TkFMX1RFWFQ+IgorICAgICAgICAgICAgIHNlbGYuY29udGV4dC50ZXh0ID0gb3JpZ2luYWxfdGV4 dAorICAgICAgICAgICAgIHNlbGYuY29udGV4dC5leGVjdXRlX3N0ZXBzKGRvYykKKy0gICAgICAg ICAgICBlcV8oc2VsZi5jb250ZXh0LnRleHQsIG9yaWdpbmFsX3RleHQpCisrICAgICAgICAgICAg YXNzZXJ0IHNlbGYuY29udGV4dC50ZXh0ID09IG9yaWdpbmFsX3RleHQKKyAKKyAKKy0gICAgQHJh aXNlcyhWYWx1ZUVycm9yKQorKyAgICAjIE9MRDogQHJhaXNlcyhWYWx1ZUVycm9yKQorICAgICBk ZWYgdGVzdF9leGVjdXRlX3N0ZXBzX3Nob3VsZF9mYWlsX3doZW5fY2FsbGVkX3dpdGhvdXRfZmVh dHVyZShzZWxmKToKKyAgICAgICAgIGRvYyA9IHUiIiIKKyBHaXZlbiBhIHBhc3NlcworQEAgLTQ4 Miw3ICs0ODEsOCBAQCBUaGVuIGEgc3RlcCBwYXNzZXMKKyAiIiIubHN0cmlwKCkKKyAgICAgICAg IHdpdGggcGF0Y2goImJlaGF2ZS5zdGVwX3JlZ2lzdHJ5LnJlZ2lzdHJ5Iiwgc2VsZi5zdGVwX3Jl Z2lzdHJ5KToKKyAgICAgICAgICAgICBzZWxmLmNvbnRleHQuZmVhdHVyZSA9IE5vbmUKKy0gICAg ICAgICAgICBzZWxmLmNvbnRleHQuZXhlY3V0ZV9zdGVwcyhkb2MpCisrICAgICAgICAgICAgd2l0 aCBweXRlc3QucmFpc2VzKFZhbHVlRXJyb3IpOgorKyAgICAgICAgICAgICAgICBzZWxmLmNvbnRl eHQuZXhlY3V0ZV9zdGVwcyhkb2MpCisgCisgCisgZGVmIGNyZWF0ZV9tb2NrX2NvbmZpZygpOgor QEAgLTU4OCwxMSArNTg4LDExIEBAIGNsYXNzIFRlc3RSdW5uZXIob2JqZWN0KToKKyAgICAgICAg IHIuc2V0dXBfY2FwdHVyZSgpCisgICAgICAgICByLnN0YXJ0X2NhcHR1cmUoKQorIAorLSAgICAg ICAgZXFfKHN5cy5zdGRvdXQsIHIuY2FwdHVyZV9jb250cm9sbGVyLnN0ZG91dF9jYXB0dXJlKQor KyAgICAgICAgYXNzZXJ0IHN5cy5zdGRvdXQgPT0gci5jYXB0dXJlX2NvbnRyb2xsZXIuc3Rkb3V0 X2NhcHR1cmUKKyAKKyAgICAgICAgIHIuc3RvcF9jYXB0dXJlKCkKKyAKKy0gICAgICAgIGVxXyhz eXMuc3Rkb3V0LCBuZXdfc3Rkb3V0KQorKyAgICAgICAgYXNzZXJ0IHN5cy5zdGRvdXQgPT0gbmV3 X3N0ZG91dAorIAorICAgICAgICAgc3lzLnN0ZG91dCA9IG9sZF9zdGRvdXQKKyAKK0BAIC02MDUs MTEgKzYwNSwxMSBAQCBjbGFzcyBUZXN0UnVubmVyKG9iamVjdCk6CisgCisgICAgICAgICByLnN0 YXJ0X2NhcHR1cmUoKQorIAorLSAgICAgICAgZXFfKHN5cy5zdGRvdXQsIG9sZF9zdGRvdXQpCisr ICAgICAgICBhc3NlcnQgc3lzLnN0ZG91dCA9PSBvbGRfc3Rkb3V0CisgCisgICAgICAgICByLnN0 b3BfY2FwdHVyZSgpCisgCistICAgICAgICBlcV8oc3lzLnN0ZG91dCwgb2xkX3N0ZG91dCkKKysg ICAgICAgIGFzc2VydCBzeXMuc3Rkb3V0ID09IG9sZF9zdGRvdXQKKyAKKyAgICAgZGVmIHRlc3Rf dGVhcmRvd25fY2FwdHVyZV9yZW1vdmVzX2xvZ190YXAoc2VsZik6CisgICAgICAgICByID0gcnVu bmVyLlJ1bm5lcihNb2NrKCkpCitAQCAtNjMzLDcgKzYzMyw3IEBAIGNsYXNzIFRlc3RSdW5uZXIo b2JqZWN0KToKKyAgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPXRvby1tYW55LWZvcm1hdC1hcmdz CisgICAgICAgICBhc3NlcnQgInNwYW0iIGluIGwsICcic3BhbSIgdmFyaWFibGUgbm90IHNldCBp biBsb2NhbHMgKCVyKScgJSAoZywgbCkKKyAgICAgICAgICMgcHlsaW50OiBlbmFibGU9dG9vLW1h bnktZm9ybWF0LWFyZ3MKKy0gICAgICAgIGVxXyhsWyJzcGFtIl0sIGZuKQorKyAgICAgICAgYXNz ZXJ0IGxbInNwYW0iXSA9PSBmbgorIAorICAgICBkZWYgdGVzdF9ydW5fcmV0dXJuc190cnVlX2lm X2V2ZXJ5dGhpbmdfcGFzc2VkKHNlbGYpOgorICAgICAgICAgciA9IHJ1bm5lci5SdW5uZXIoTW9j aygpKQorQEAgLTY5NCwxMSArNjk0LDExIEBAIGNsYXNzIFRlc3RSdW5XaXRoUGF0aHModW5pdHRl c3QuVGVzdENhc2UpOgorICAgICAgICAgc2VsZi5ydW5uZXIuY29udGV4dCA9IE1vY2soKQorICAg ICAgICAgc2VsZi5ydW5uZXIucnVuX3dpdGhfcGF0aHMoKQorIAorLSAgICAgICAgZXFfKHNlbGYu cnVuX2hvb2suY2FsbF9hcmdzX2xpc3QsIFsKKysgICAgICAgIGFzc2VydCBzZWxmLnJ1bl9ob29r LmNhbGxfYXJnc19saXN0ID09IFsKKyAgICAgICAgICAgICAoKCksIHt9KSwKKyAgICAgICAgICAg ICAoKCJiZWZvcmVfYWxsIiwgc2VsZi5ydW5uZXIuY29udGV4dCksIHt9KSwKKyAgICAgICAgICAg ICAoKCJhZnRlcl9hbGwiLCBzZWxmLnJ1bm5lci5jb250ZXh0KSwge30pLAorLSAgICAgICAgXSkK KysgICAgICAgIF0KKyAKKyAgICAgQHBhdGNoKCJiZWhhdmUucGFyc2VyLnBhcnNlX2ZpbGUiKQor ICAgICBAcGF0Y2goIm9zLnBhdGguYWJzcGF0aCIpCitAQCAtNzI0LDggKzcyNCw4IEBAIGNsYXNz IFRlc3RSdW5XaXRoUGF0aHModW5pdHRlc3QuVGVzdENhc2UpOgorIAorICAgICAgICAgZXhwZWN0 ZWRfcGFyc2VfZmlsZV9hcmdzID0gXAorICAgICAgICAgICAgIFsoKHgudXBwZXIoKSwpLCB7Imxh bmd1YWdlIjogImZyaXR6In0pIGZvciB4IGluIGZlYXR1cmVfbG9jYXRpb25zXQorLSAgICAgICAg ZXFfKHBhcnNlX2ZpbGUuY2FsbF9hcmdzX2xpc3QsIGV4cGVjdGVkX3BhcnNlX2ZpbGVfYXJncykK Ky0gICAgICAgIGVxXyhzZWxmLnJ1bm5lci5mZWF0dXJlcywgW2ZlYXR1cmVdICogMykKKysgICAg ICAgIGFzc2VydCBwYXJzZV9maWxlLmNhbGxfYXJnc19saXN0ID09IGV4cGVjdGVkX3BhcnNlX2Zp bGVfYXJncworKyAgICAgICAgYXNzZXJ0IHNlbGYucnVubmVyLmZlYXR1cmVzID09IFtmZWF0dXJl XSAqIDMKKyAKKyAKKyBjbGFzcyBGc01vY2sob2JqZWN0KToKK0BAIC04MjksOSArODI5LDEyIEBA IGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0b3J5KG9iamVjdCk6CisgCisgICAgICAgICAjIHdpbGwg bG9vayBmb3IgYSAiZmVhdHVyZXMiIGRpcmVjdG9yeSBhbmQgbm90IGZpbmQgb25lCisgICAgICAg ICB3aXRoIHBhdGNoKCJvcy5wYXRoIiwgZnMpOgorLSAgICAgICAgICAgIGFzc2VydF9yYWlzZXMo Q29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMpCisrICAgICAgICAgICAgd2l0aCBweXRlc3QucmFp c2VzKENvbmZpZ0Vycm9yKToKKysgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisrICAg ICAgICAgICAgIyBPTEQ6IGFzc2VydF9yYWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMp CisgCistICAgICAgICBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVy ZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisrICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9z LnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMKKysg ICAgICAgICMgb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwg InN0ZXBzIikpIGluIGZzLmNhbGxzKQorIAorICAgICBkZWYgdGVzdF9kZWZhdWx0X3BhdGhfbm9f ZmVhdHVyZXMoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25maWcoKQor QEAgLTg0Miw3ICs4NDUsOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeShvYmplY3QpOgor ICAgICAgICAgZnMgPSBGc01vY2soImZlYXR1cmVzL3N0ZXBzLyIpCisgICAgICAgICB3aXRoIHBh dGNoKCJvcy5wYXRoIiwgZnMpOgorICAgICAgICAgICAgIHdpdGggcGF0Y2goIm9zLndhbGsiLCBm cy53YWxrKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5z ZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZpZ0Vy cm9yKToKKysgICAgICAgICAgICAgICAgICAgIHIuc2V0dXBfcGF0aHMoKQorKyAgICAgICAgICAg ICAgICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKyAK KyAgICAgZGVmIHRlc3RfZGVmYXVsdF9wYXRoKHNlbGYpOgorICAgICAgICAgY29uZmlnID0gY3Jl YXRlX21vY2tfY29uZmlnKCkKK0BAIC04NTcsNyArODYyLDcgQEAgY2xhc3MgVGVzdEZlYXR1cmVE aXJlY3Rvcnkob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgd2l0aCByLnBhdGhfbWFuYWdlcjoK KyAgICAgICAgICAgICAgICAgICAgIHIuc2V0dXBfcGF0aHMoKQorIAorLSAgICAgICAgZXFfKHIu YmFzZV9kaXIsIG9zLnBhdGguYWJzcGF0aCgiZmVhdHVyZXMiKSkKKysgICAgICAgIGFzc2VydCBy LmJhc2VfZGlyID09IG9zLnBhdGguYWJzcGF0aCgiZmVhdHVyZXMiKQorIAorICAgICBkZWYgdGVz dF9zdXBwbGllZF9mZWF0dXJlX2ZpbGUoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVf bW9ja19jb25maWcoKQorQEAgLTg3MiwxMCArODc3LDEyIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGly ZWN0b3J5KG9iamVjdCk6CisgICAgICAgICAgICAgd2l0aCBwYXRjaCgib3Mud2FsayIsIGZzLndh bGspOgorICAgICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorICAgICAgICAgICAg ICAgICAgICAgci5zZXR1cF9wYXRocygpCistICAgICAgICBva18oKCJpc2RpciIsIG9zLnBhdGgu am9pbihmcy5iYXNlLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCistICAgICAgICBva18oKCJpc2Zp bGUiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZvby5mZWF0dXJlIikpIGluIGZzLmNhbGxzKQor KyAgICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgInN0ZXBzIikp IGluIGZzLmNhbGxzCisrICAgICAgICBhc3NlcnQgKCJpc2ZpbGUiLCBvcy5wYXRoLmpvaW4oZnMu YmFzZSwgImZvby5mZWF0dXJlIikpIGluIGZzLmNhbGxzCisrICAgICAgICAjIE9MRDogb2tfKCgi aXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorKyAg ICAgICAgIyBPTEQ6IG9rXygoImlzZmlsZSIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZm9vLmZl YXR1cmUiKSkgaW4gZnMuY2FsbHMpCisgCistICAgICAgICBlcV8oci5iYXNlX2RpciwgZnMuYmFz ZSkKKysgICAgICAgIGFzc2VydCByLmJhc2VfZGlyID09IGZzLmJhc2UKKyAKKyAgICAgZGVmIHRl c3Rfc3VwcGxpZWRfZmVhdHVyZV9maWxlX25vX3N0ZXBzKHNlbGYpOgorICAgICAgICAgY29uZmln ID0gY3JlYXRlX21vY2tfY29uZmlnKCkKK0BAIC04ODgsNyArODk1LDkgQEAgY2xhc3MgVGVzdEZl YXR1cmVEaXJlY3Rvcnkob2JqZWN0KToKKyAgICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBm cyk6CisgICAgICAgICAgICAgd2l0aCBwYXRjaCgib3Mud2FsayIsIGZzLndhbGspOgorICAgICAg ICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorLSAgICAgICAgICAgICAgICAgICAgYXNz ZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAg ICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhDb25maWdFcnJvcik6CisrICAgICAgICAgICAgICAgICAg ICAgICAgci5zZXR1cF9wYXRocygpCisrICAgICAgICAgICAgICAgICAgICAjIE9MRDogYXNzZXJ0 X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKyAKKyAgICAgZGVmIHRlc3Rfc3Vw cGxpZWRfZmVhdHVyZV9kaXJlY3Rvcnkoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVf bW9ja19jb25maWcoKQorQEAgLTkwMyw5ICs5MTIsMTAgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJl Y3Rvcnkob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgd2l0aCByLnBhdGhfbWFuYWdlcjoKKyAg ICAgICAgICAgICAgICAgICAgIHIuc2V0dXBfcGF0aHMoKQorIAorLSAgICAgICAgb2tfKCgiaXNk aXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMp CisrICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3BhbSIs ICJzdGVwcyIpKSBpbiBmcy5jYWxscworKyAgICAgICAgIyBPTEQgb2tfKCgiaXNkaXIiLCBvcy5w YXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMpCisgCistICAg ICAgICBlcV8oci5iYXNlX2Rpciwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJzcGFtIikpCisrICAg ICAgICBhc3NlcnQgci5iYXNlX2RpciA9PSBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iKQor IAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2RpcmVjdG9yeV9ub19zdGVwcyhzZWxm KToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9tb2NrX2NvbmZpZygpCitAQCAtOTE3LDkgKzky NywxMiBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeShvYmplY3QpOgorIAorICAgICAgICAg d2l0aCBwYXRjaCgib3MucGF0aCIsIGZzKToKKyAgICAgICAgICAgICB3aXRoIHBhdGNoKCJvcy53 YWxrIiwgZnMud2Fsayk6CistICAgICAgICAgICAgICAgIGFzc2VydF9yYWlzZXMoQ29uZmlnRXJy b3IsIHIuc2V0dXBfcGF0aHMpCisrICAgICAgICAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhD b25maWdFcnJvcik6CisrICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKysgICAg ICAgICAgICAgICAgIyBPTEQ6IGFzc2VydF9yYWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0 aHMpCisgCistICAgICAgICBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAic3Bh bSIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKysgICAgICAgIGFzc2VydCAoImlzZGlyIiwgb3Mu cGF0aC5qb2luKGZzLmJhc2UsICJzcGFtIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAgICAg ICAjIE9MRDogb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgInNwYW0iLCAic3Rl cHMiKSkgaW4gZnMuY2FsbHMpCisgCisgICAgIGRlZiB0ZXN0X3N1cHBsaWVkX2ZlYXR1cmVfZGly ZWN0b3J5X21pc3Npbmcoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVfbW9ja19jb25m aWcoKQorQEAgLTkzMSw3ICs5NDQsOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURpcmVjdG9yeShvYmpl Y3QpOgorIAorICAgICAgICAgd2l0aCBwYXRjaCgib3MucGF0aCIsIGZzKToKKyAgICAgICAgICAg ICB3aXRoIHBhdGNoKCJvcy53YWxrIiwgZnMud2Fsayk6CistICAgICAgICAgICAgICAgIGFzc2Vy dF9yYWlzZXMoQ29uZmlnRXJyb3IsIHIuc2V0dXBfcGF0aHMpCisrICAgICAgICAgICAgICAgIHdp dGggcHl0ZXN0LnJhaXNlcyhDb25maWdFcnJvcik6CisrICAgICAgICAgICAgICAgICAgICByLnNl dHVwX3BhdGhzKCkKKysgICAgICAgICAgICAgICAgIyBPTEQ6IGFzc2VydF9yYWlzZXMoQ29uZmln RXJyb3IsIHIuc2V0dXBfcGF0aHMpCisgCisgCisgY2xhc3MgVGVzdEZlYXR1cmVEaXJlY3RvcnlM YXlvdXQyKG9iamVjdCk6CitAQCAtOTU1LDcgKzk3MCw3IEBAIGNsYXNzIFRlc3RGZWF0dXJlRGly ZWN0b3J5TGF5b3V0MihvYmplY3QpOgorICAgICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5h Z2VyOgorICAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisgCistICAgICAgICBl cV8oci5iYXNlX2Rpciwgb3MucGF0aC5hYnNwYXRoKCJmZWF0dXJlcyIpKQorKyAgICAgICAgYXNz ZXJ0IHIuYmFzZV9kaXIgPT0gb3MucGF0aC5hYnNwYXRoKCJmZWF0dXJlcyIpCisgCisgICAgIGRl ZiB0ZXN0X3N1cHBsaWVkX3Jvb3RfZGlyZWN0b3J5KHNlbGYpOgorICAgICAgICAgY29uZmlnID0g Y3JlYXRlX21vY2tfY29uZmlnKCkKK0BAIC05NzUsOCArOTkwLDkgQEAgY2xhc3MgVGVzdEZlYXR1 cmVEaXJlY3RvcnlMYXlvdXQyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRo X21hbmFnZXI6CisgICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKyAKKy0gICAg ICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVw cyIpKSBpbiBmcy5jYWxscykKKy0gICAgICAgIGVxXyhyLmJhc2VfZGlyLCBvcy5wYXRoLmpvaW4o ZnMuYmFzZSwgImZlYXR1cmVzIikpCisrICAgICAgICAjIE9MRDogb2tfKCgiaXNkaXIiLCBvcy5w YXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorKyAg ICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwg InN0ZXBzIikpIGluIGZzLmNhbGxzCisrICAgICAgICBhc3NlcnQgci5iYXNlX2RpciA9PSBvcy5w YXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIikKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRf cm9vdF9kaXJlY3Rvcnlfbm9fc3RlcHMoc2VsZik6CisgICAgICAgICBjb25maWcgPSBjcmVhdGVf bW9ja19jb25maWcoKQorQEAgLTk5MywxMCArMTAwOSwxMyBAQCBjbGFzcyBUZXN0RmVhdHVyZURp cmVjdG9yeUxheW91dDIob2JqZWN0KToKKyAgICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBm cyk6CisgICAgICAgICAgICAgd2l0aCBwYXRjaCgib3Mud2FsayIsIGZzLndhbGspOgorICAgICAg ICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorLSAgICAgICAgICAgICAgICAgICAgYXNz ZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAg ICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhDb25maWdFcnJvcik6CisrICAgICAgICAgICAgICAgICAg ICAgICAgci5zZXR1cF9wYXRocygpCisrICAgICAgICAgICAgICAgICAgICAjIE9MRDogYXNzZXJ0 X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKyAKKy0gICAgICAgIG9rXygoImlz ZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5j YWxscykKKy0gICAgICAgIGVxXyhyLmJhc2VfZGlyLCBOb25lKQorKyAgICAgICAgIyBPTEQ6IG9r XygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBp biBmcy5jYWxscykKKysgICAgICAgIGFzc2VydCAoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJh c2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscworKyAgICAgICAgYXNzZXJ0IHIu YmFzZV9kaXIgaXMgTm9uZQorIAorIAorICAgICBkZWYgdGVzdF9zdXBwbGllZF9mZWF0dXJlX2Zp bGUoc2VsZik6CitAQCAtMTAxOCw5ICsxMDM3LDExIEBAIGNsYXNzIFRlc3RGZWF0dXJlRGlyZWN0 b3J5TGF5b3V0MihvYmplY3QpOgorICAgICAgICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2Vy OgorICAgICAgICAgICAgICAgICAgICAgci5zZXR1cF9wYXRocygpCisgCistICAgICAgICBva18o KCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgIGlu IGZzLmNhbGxzKQorLSAgICAgICAgb2tfKCgiaXNmaWxlIiwgb3MucGF0aC5qb2luKGZzLmJhc2Us ICJmZWF0dXJlcyIsICJncm91cDEiLCAiZm9vLmZlYXR1cmUiKSkgaW4gZnMuY2FsbHMpCistICAg ICAgICBlcV8oci5iYXNlX2RpciwgZnMuam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiKSkKKysgICAg ICAgICMgT0xEOiBva18oKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMi LCAic3RlcHMiKSkgIGluIGZzLmNhbGxzKQorKyAgICAgICAgIyBPTEQ6IG9rXygoImlzZmlsZSIs IG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAiZ3JvdXAxIiwgImZvby5mZWF0dXJl IikpIGluIGZzLmNhbGxzKQorKyAgICAgICAgYXNzZXJ0ICgiaXNkaXIiLCBvcy5wYXRoLmpvaW4o ZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpICBpbiBmcy5jYWxscworKyAgICAgICAgYXNz ZXJ0ICgiaXNmaWxlIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJncm91cDEi LCAiZm9vLmZlYXR1cmUiKSkgaW4gZnMuY2FsbHMKKysgICAgICAgIGFzc2VydCByLmJhc2VfZGly ID09IGZzLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIikKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxp ZWRfZmVhdHVyZV9maWxlX25vX3N0ZXBzKHNlbGYpOgorICAgICAgICAgY29uZmlnID0gY3JlYXRl X21vY2tfY29uZmlnKCkKK0BAIC0xMDM3LDcgKzEwNTgsOSBAQCBjbGFzcyBUZXN0RmVhdHVyZURp cmVjdG9yeUxheW91dDIob2JqZWN0KToKKyAgICAgICAgIHdpdGggcGF0Y2goIm9zLnBhdGgiLCBm cyk6CisgICAgICAgICAgICAgd2l0aCBwYXRjaCgib3Mud2FsayIsIGZzLndhbGspOgorICAgICAg ICAgICAgICAgICB3aXRoIHIucGF0aF9tYW5hZ2VyOgorLSAgICAgICAgICAgICAgICAgICAgYXNz ZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAg ICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhDb25maWdFcnJvcik6CisrICAgICAgICAgICAgICAgICAg ICAgICAgci5zZXR1cF9wYXRocygpCisrICAgICAgICAgICAgICAgICAgICAjIE9MRCBhc3NlcnRf cmFpc2VzKENvbmZpZ0Vycm9yLCByLnNldHVwX3BhdGhzKQorIAorICAgICBkZWYgdGVzdF9zdXBw bGllZF9mZWF0dXJlX2RpcmVjdG9yeShzZWxmKToKKyAgICAgICAgIGNvbmZpZyA9IGNyZWF0ZV9t b2NrX2NvbmZpZygpCitAQCAtMTA1Nyw4ICsxMDgwLDkgQEAgY2xhc3MgVGVzdEZlYXR1cmVEaXJl Y3RvcnlMYXlvdXQyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHdpdGggci5wYXRoX21hbmFn ZXI6CisgICAgICAgICAgICAgICAgICAgICByLnNldHVwX3BhdGhzKCkKKyAKKy0gICAgICAgIG9r XygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJlcyIsICJzdGVwcyIpKSBp biBmcy5jYWxscykKKy0gICAgICAgIGVxXyhyLmJhc2VfZGlyLCBvcy5wYXRoLmpvaW4oZnMuYmFz ZSwgImZlYXR1cmVzIikpCisrICAgICAgICAjIE9MRDogb2tfKCgiaXNkaXIiLCBvcy5wYXRoLmpv aW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBzIikpIGluIGZzLmNhbGxzKQorKyAgICAgICAg YXNzZXJ0ICgiaXNkaXIiLCBvcy5wYXRoLmpvaW4oZnMuYmFzZSwgImZlYXR1cmVzIiwgInN0ZXBz IikpIGluIGZzLmNhbGxzCisrICAgICAgICBhc3NlcnQgci5iYXNlX2RpciA9PSBvcy5wYXRoLmpv aW4oZnMuYmFzZSwgImZlYXR1cmVzIikKKyAKKyAKKyAgICAgZGVmIHRlc3Rfc3VwcGxpZWRfZmVh dHVyZV9kaXJlY3Rvcnlfbm9fc3RlcHMoc2VsZik6CitAQCAtMTA3NSw2ICsxMDk5LDkgQEAgY2xh c3MgVGVzdEZlYXR1cmVEaXJlY3RvcnlMYXlvdXQyKG9iamVjdCk6CisgCisgICAgICAgICB3aXRo IHBhdGNoKCJvcy5wYXRoIiwgZnMpOgorICAgICAgICAgICAgIHdpdGggcGF0Y2goIm9zLndhbGsi LCBmcy53YWxrKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwg ci5zZXR1cF9wYXRocykKKysgICAgICAgICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKENvbmZp Z0Vycm9yKToKKysgICAgICAgICAgICAgICAgICAgIHIuc2V0dXBfcGF0aHMoKQorKyAgICAgICAg ICAgICAgICAjIE9MRDogYXNzZXJ0X3JhaXNlcyhDb25maWdFcnJvciwgci5zZXR1cF9wYXRocykK KyAKKy0gICAgICAgIG9rXygoImlzZGlyIiwgb3MucGF0aC5qb2luKGZzLmJhc2UsICJmZWF0dXJl cyIsICJzdGVwcyIpKSBpbiBmcy5jYWxscykKKysgICAgICAgICMgT0xEOiBva18oKCJpc2RpciIs IG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVyZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMp CisrICAgICAgICBhc3NlcnQgKCJpc2RpciIsIG9zLnBhdGguam9pbihmcy5iYXNlLCAiZmVhdHVy ZXMiLCAic3RlcHMiKSkgaW4gZnMuY2FsbHMKK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3Rfc3RlcF9y ZWdpc3RyeS5weSBiL3Rlc3RzL3VuaXQvdGVzdF9zdGVwX3JlZ2lzdHJ5LnB5CitzaW1pbGFyaXR5 IGluZGV4IDk1JQorcmVuYW1lIGZyb20gdGVzdC90ZXN0X3N0ZXBfcmVnaXN0cnkucHkKK3JlbmFt ZSB0byB0ZXN0cy91bml0L3Rlc3Rfc3RlcF9yZWdpc3RyeS5weQoraW5kZXggZjViNWE0ZC4uNmY4 NTcyOSAxMDA2NDQKKy0tLSBhL3Rlc3QvdGVzdF9zdGVwX3JlZ2lzdHJ5LnB5CisrKysgYi90ZXN0 cy91bml0L3Rlc3Rfc3RlcF9yZWdpc3RyeS5weQorQEAgLTIsNyArMiw2IEBACisgIyBweWxpbnQ6 IGRpc2FibGU9dW51c2VkLXdpbGRjYXJkLWltcG9ydAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQg YWJzb2x1dGVfaW1wb3J0LCB3aXRoX3N0YXRlbWVudAorIGZyb20gbW9jayBpbXBvcnQgTW9jaywg cGF0Y2gKKy1mcm9tIG5vc2UudG9vbHMgaW1wb3J0ICogICAgICAgICMgcHlsaW50OiBkaXNhYmxl PXdpbGRjYXJkLWltcG9ydAorIGZyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZSAgICAgIyBweWxp bnQ6IGRpc2FibGU9cmVkZWZpbmVkLWJ1aWx0aW4KKyBmcm9tIGJlaGF2ZSBpbXBvcnQgc3RlcF9y ZWdpc3RyeQorIAorQEAgLTI2LDcgKzI1LDcgQEAgY2xhc3MgVGVzdFN0ZXBSZWdpc3RyeShvYmpl Y3QpOgorIAorICAgICAgICAgICAgICAgICByZWdpc3RyeS5hZGRfc3RlcF9kZWZpbml0aW9uKHN0 ZXBfdHlwZS51cHBlcigpLCBwYXR0ZXJuLCBmdW5jKQorICAgICAgICAgICAgICAgICBnZXRfbWF0 Y2hlci5hc3NlcnRfY2FsbGVkX3dpdGgoZnVuYywgcGF0dGVybikKKy0gICAgICAgICAgICAgICAg ZXFfKGwsIFttYWdpY19vYmplY3RdKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgbCA9PSBbbWFn aWNfb2JqZWN0XQorIAorICAgICBkZWYgdGVzdF9maW5kX21hdGNoX3dpdGhfc3BlY2lmaWNfc3Rl cF90eXBlX2Fsc29fc2VhcmNoZXNfZ2VuZXJpYyhzZWxmKToKKyAgICAgICAgIHJlZ2lzdHJ5ID0g c3RlcF9yZWdpc3RyeS5TdGVwUmVnaXN0cnkoKQorQEAgLTgwLDcgKzc5LDcgQEAgY2xhc3MgVGVz dFN0ZXBSZWdpc3RyeShvYmplY3QpOgorIAorICAgICAgICAgYXNzZXJ0IHJlZ2lzdHJ5LmZpbmRf bWF0Y2goc3RlcCkgaXMgbWFnaWNfb2JqZWN0CisgICAgICAgICBmb3IgbW9jayBpbiBzdGVwX2Rl ZnNbNjpdOgorLSAgICAgICAgICAgIGVxXyhtb2NrLm1hdGNoLmNhbGxfY291bnQsIDApCisrICAg ICAgICAgICAgYXNzZXJ0IG1vY2subWF0Y2guY2FsbF9jb3VudCA9PSAwCisgCisgICAgICMgcHls aW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcKKyAgICAgQHBhdGNoLm9iamVjdChzdGVwX3JlZ2lz dHJ5LnJlZ2lzdHJ5LCAnYWRkX3N0ZXBfZGVmaW5pdGlvbicpCitkaWZmIC0tZ2l0IGEvdGVzdHMv dW5pdC90ZXN0X3RleHR1dGlsLnB5IGIvdGVzdHMvdW5pdC90ZXN0X3RleHR1dGlsLnB5CitpbmRl eCBlMDVlOWFkLi4zZmZhYjNjIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X3RleHR1dGls LnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfdGV4dHV0aWwucHkKK0BAIC05LDYgKzksMTAgQEAg aW1wb3J0IHB5dGVzdAorIGltcG9ydCBjb2RlY3MKKyBpbXBvcnQgc2l4CisgCisrCisrcHl0ZXN0 X3ZlcnNpb24gPSBweXRlc3QuX192ZXJzaW9uX18KKysKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgIyBURVNUIFNVUFBPUlQ6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTI2Myw2 ICsyNjcsNyBAQCBjbGFzcyBUZXN0T2JqZWN0VG9UZXh0Q29udmVyc2lvbihvYmplY3QpOgorICAg ICAgICAgYXNzZXJ0IG1lc3NhZ2UgaW4gdGV4dDIsICJPT1BTOiB0ZXh0PSVyIiAlIHRleHQyCisg CisgICAgIEByZXF1aXJlc19weXRob24yCisrICAgIEBweXRlc3QubWFyay5za2lwaWYocHl0ZXN0 X3ZlcnNpb24gPj0gIjUuMCIsIHJlYXNvbj0iRmFpbHMgd2l0aCBweXRlc3QgNS4wIikKKyAgICAg QHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJleGNlcHRpb25fY2xhc3MsIG1lc3NhZ2UiLCBbCisg ICAgICAgICAoQXNzZXJ0aW9uRXJyb3IsIHUiw4RyZ2VybmlzIiksCisgICAgICAgICAoUnVudGlt ZUVycm9yLCB1IsOcYmVybcO8dGlnIiksCitAQCAtMjc0LDEwICsyNzksMTUgQEAgY2xhc3MgVGVz dE9iamVjdFRvVGV4dENvbnZlcnNpb24ob2JqZWN0KToKKyAgICAgICAgIHdpdGggcHl0ZXN0LnJh aXNlcyhleGNlcHRpb25fY2xhc3MpIGFzIGU6CisgICAgICAgICAgICAgcmFpc2UgZXhjZXB0aW9u X2NsYXNzKGJ5dGVzX21lc3NhZ2UpCisgCistICAgICAgICB0ZXh0MiA9IHRleHQoZS52YWx1ZSkK KysgICAgICAgICMgLS0gUkVRVUlSRVM6IHB5dGVzdCA8IDUuMAorKyAgICAgICAgIyBISU5UOiBw eXRlc3QgPj0gNS4wIG5lZWRzOiB0ZXh0KGUudmFsdWUpCisrICAgICAgICAjIE5FVzogIHRleHQy ID0gdGV4dChlLnZhbHVlKSAgICMgQ2F1c2VzIHByb2JsZW1zIHcvIGRlY29kaW5nIGFuZCBjb21w YXJpc29uLgorKyAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoZS52YWx1ZSwgRXhjZXB0aW9uKQor KyAgICAgICAgdGV4dDIgPSB0ZXh0KGUpCisgICAgICAgICB1bmljb2RlX21lc3NhZ2UgPSBieXRl c19tZXNzYWdlLmRlY29kZShzZWxmLkVOQ09ESU5HKQorICAgICAgICAgZXhwZWN0ZWQgPSB1IiVz OiAlcyIgJSAoZXhjZXB0aW9uX2NsYXNzLl9fbmFtZV9fLCB1bmljb2RlX21lc3NhZ2UpCisgICAg ICAgICBhc3NlcnQgaXNpbnN0YW5jZSh0ZXh0Miwgc2l4LnRleHRfdHlwZSkKKysgICAgICAgIGFz c2VydCB1bmljb2RlX21lc3NhZ2UgaW4gdGV4dDIKKyAgICAgICAgIGFzc2VydCB0ZXh0Mi5lbmRz d2l0aChleHBlY3RlZCkKKyAgICAgICAgICMgLS0gRElBR05PU1RJQ1M6CisgICAgICAgICBwcmlu dCh1InRleHQyOiAiKyB0ZXh0MikKK2RpZmYgLS1naXQgYS90b3guaW5pIGIvdG94LmluaQoraW5k ZXggMzkyYmIzOS4uZDJmYmNlMiAxMDA2NDQKKy0tLSBhL3RveC5pbmkKKysrKyBiL3RveC5pbmkK K0BAIC02NywxNyArNjcsMTEgQEAgZGVwcz0KKyBpbnN0YWxsX2NvbW1hbmQgPSBwaXAgaW5zdGFs bCAtVSB7b3B0c30ge3BhY2thZ2VzfQorIGNoYW5nZWRpciA9IHt0b3hpbmlkaXJ9CisgY29tbWFu ZHM9CistICAgIHB5dGVzdCB7cG9zYXJnczp0ZXN0IHRlc3RzfQorKyAgICBweXRlc3Qge3Bvc2Fy Z3M6dGVzdHN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVzcyB7cG9zYXJnczpmZWF0dXJl c30KKyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOnRvb2xzL3Rlc3QtZmVh dHVyZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVzcyB7cG9zYXJnczppc3N1ZS5mZWF0 dXJlc30KKy1kZXBzPQorLSAgICBweXRlc3Q+PTMuMAorLSAgICBweXRlc3QtaHRtbCA+PSAxLjE5 LjAKKy0gICAgbm9zZT49MS4zCistICAgIG1vY2s+PTIuMAorLSAgICBQeUhhbWNyZXN0Pj0xLjkK Ky0gICAgcGF0aC5weSA+PSAxMC4xCisrZGVwcz0gLXIge3RveGluaWRpcn0vcHkucmVxdWlyZW1l bnRzL2NpLnRveC50eHQKKyBzZXRlbnYgPQorICAgICAgUFlUSE9OUEFUSCA9IHt0b3hpbmlkaXJ9 CisgCitAQCAtOTcsMTMgKzkxLDEyIEBAIGNoYW5nZWRpciA9IHtlbnZkaXJ9CisgY29tbWFuZHM9 CisgICAgIGJlaGF2ZSAtLXZlcnNpb24KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBj b3B5dHJlZSAuLi8uLi9iZWhhdmU0Y21kMCAuCistICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQu cHkgY29weXRyZWUgLi4vLi4vdGVzdCAuCisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkg Y29weXRyZWUgLi4vLi4vdGVzdHMgLgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNv cHl0cmVlIC4uLy4uL2ZlYXR1cmVzIC4KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBj b3B5dHJlZSAuLi8uLi90b29scyAgLgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNv cHl0cmVlIC4uLy4uL2lzc3VlLmZlYXR1cmVzIC4KKyAgICAge3RveGluaWRpcn0vYmluL3RveGNt ZC5weSBjb3B5IC4uLy4uL2JlaGF2ZS5pbmkgLgorLSAgICBweXRlc3Qge3Bvc2FyZ3M6dGVzdCB0 ZXN0c30KKysgICAgcHl0ZXN0IHtwb3NhcmdzOnRlc3RzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9 cHJvZ3Jlc3Mge3Bvc2FyZ3M6ZmVhdHVyZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVz cyB7cG9zYXJnczp0b29scy90ZXN0LWZlYXR1cmVzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJv Z3Jlc3Mge3Bvc2FyZ3M6aXNzdWUuZmVhdHVyZXN9CitAQCAtMTE5LDE4ICsxMTIsMTYgQEAgY2hh bmdlZGlyID0ge2VudmRpcn0KKyBjb21tYW5kcz0KKyAgICAgYmVoYXZlIC0tdmVyc2lvbgorICAg ICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHl0cmVlIC4uLy4uL2JlaGF2ZTRjbWQwIC4K Ky0gICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5dHJlZSAuLi8uLi90ZXN0IC4KKyAg ICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSBjb3B5dHJlZSAuLi8uLi90ZXN0cyAuCisgICAg IHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weXRyZWUgLi4vLi4vZmVhdHVyZXMgLgorICAg ICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHl0cmVlIC4uLy4uL3Rvb2xzICAuCisgICAg IHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgY29weXRyZWUgLi4vLi4vaXNzdWUuZmVhdHVyZXMg LgorICAgICB7dG94aW5pZGlyfS9iaW4vdG94Y21kLnB5IGNvcHkgLi4vLi4vYmVoYXZlLmluaSAu CisgICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgMnRvMyAtdyAtbiAtLW5vLWRpZmZzIGJl aGF2ZTRjbWQwCistICAgIHt0b3hpbmlkaXJ9L2Jpbi90b3hjbWQucHkgMnRvMyAtdyAtbiAtLW5v LWRpZmZzIHRlc3QKKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSAydG8zIC13IC1uIC0t bm8tZGlmZnMgdG9vbHMKKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSAydG8zIC13IC1u IC0tbm8tZGlmZnMgZmVhdHVyZXMKKyAgICAge3RveGluaWRpcn0vYmluL3RveGNtZC5weSAydG8z IC13IC1uIC0tbm8tZGlmZnMgaXNzdWUuZmVhdHVyZXMKKy0gICAgcHl0ZXN0IHtwb3NhcmdzOnRl c3QgdGVzdHN9CisrICAgIHB5dGVzdCB7cG9zYXJnczp0ZXN0c30KKyAgICAgYmVoYXZlIC0tZm9y bWF0PXByb2dyZXNzIHtwb3NhcmdzOmZlYXR1cmVzfQorICAgICBiZWhhdmUgLS1mb3JtYXQ9cHJv Z3Jlc3Mge3Bvc2FyZ3M6dG9vbHMvdGVzdC1mZWF0dXJlc30KKyAgICAgYmVoYXZlIC0tZm9ybWF0 PXByb2dyZXNzIHtwb3NhcmdzOmlzc3VlLmZlYXR1cmVzfQorQEAgLTE0OCw3ICsxMzksNyBAQCBz ZXRlbnYgPQorIFt0ZXN0ZW52Omp5MjddCisgYmFzZXB5dGhvbj0ganl0aG9uCisgY29tbWFuZHM9 CistICAgIHB5dGVzdCB7cG9zYXJnczp0ZXN0IHRlc3RzfQorKyAgICBweXRlc3Qge3Bvc2FyZ3M6 dGVzdHN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVzcyB7cG9zYXJnczpmZWF0dXJlc30K KyAgICAgYmVoYXZlIC0tZm9ybWF0PXByb2dyZXNzIHtwb3NhcmdzOnRvb2xzL3Rlc3QtZmVhdHVy ZXN9CisgICAgIGJlaGF2ZSAtLWZvcm1hdD1wcm9ncmVzcyB7cG9zYXJnczppc3N1ZS5mZWF0dXJl c30KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAwMzYtRklYLVJlbW92ZS10ZXN0LWZyb20tcHl0ZXN0LXJ1bi5wYXRjaCBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzYtRklY LVJlbW92ZS10ZXN0LWZyb20tcHl0ZXN0LXJ1bi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLjdmZTQ1MWIyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzYtRklYLVJlbW92ZS10 ZXN0LWZyb20tcHl0ZXN0LXJ1bi5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDJjODg2ZDIw MWMxOTA4NWFiNTIwNjVkNDdlNGY4NmE4MmE3N2Y5OTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6 IFNhdCwgNiBKdWwgMjAxOSAwOToxNzo1NCArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IFJl bW92ZSB0ZXN0LyBmcm9tIHB5dGVzdCBydW4uCisKKy0tLQorIC50cmF2aXMueW1sIHwgMiArLQor IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0t Z2l0IGEvLnRyYXZpcy55bWwgYi8udHJhdmlzLnltbAoraW5kZXggZmJjMzUyMC4uYzYwMjdlMCAx MDA2NDQKKy0tLSBhLy50cmF2aXMueW1sCisrKysgYi8udHJhdmlzLnltbAorQEAgLTM1LDcgKzM1 LDcgQEAgaW5zdGFsbDoKKyAKKyBzY3JpcHQ6CisgICAtIHB5dGhvbiAtLXZlcnNpb24KKy0gIC0g cHl0ZXN0IHRlc3QgdGVzdHMKKysgIC0gcHl0ZXN0IHRlc3RzCisgICAtIGJlaGF2ZSAtZiBwcm9n cmVzcyAtLWp1bml0IGZlYXR1cmVzLworICAgLSBiZWhhdmUgLWYgcHJvZ3Jlc3MgLS1qdW5pdCB0 b29scy90ZXN0LWZlYXR1cmVzLworICAgLSBiZWhhdmUgLWYgcHJvZ3Jlc3MgLS1qdW5pdCBpc3N1 ZS5mZWF0dXJlcy8KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzctU2VsZWN0LWJ5LWxvY2F0aW9uLUFkZC1zdXBwb3J0LWZv ci1TY2VuYXJpby1jb250YWluZS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzctU2VsZWN0LWJ5LWxvY2F0aW9uLUFkZC1zdXBwb3J0 LWZvci1TY2VuYXJpby1jb250YWluZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjNlOWE0NmEwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzctU2VsZWN0LWJ5LWxvY2F0aW9u LUFkZC1zdXBwb3J0LWZvci1TY2VuYXJpby1jb250YWluZS5wYXRjaApAQCAtMCwwICsxLDY1MiBA QAorRnJvbSA1N2E5Y2MwZTFjOTliMGVkMmVjNWRiZmQzZmNmY2U0NTZjZmUxM2M4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTYXQsIDYgSnVsIDIwMTkgMDk6NTA6NDYgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSF0gU2VsZWN0LWJ5LWxvY2F0aW9uOiBBZGQgc3VwcG9ydCBmb3IgIlNjZW5hcmlvIGNv bnRhaW5lciIKKyAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKSAocmVsYXRlZCB0bzog IzM5MSkKKworLS0tCisgQ0hBTkdFUy5yc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAyICstCisgYmVoYXZlL21vZGVsLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDQ5ICsrKy0tCisgYmVoYXZlL3J1bm5lcl91dGlsLnB5ICAgICAgICAgICAgICAgICAg ICAgICAgIHwgMTg2ICsrKysrKysrKysrKysrKysrLQorIC4uLi5zZWxlY3Rfc2NlbmFyaW9zX2J5 X2ZpbGVfbG9jYXRpb24uZmVhdHVyZSB8ICAyNyArKy0KKyBweXRlc3QuaW5pICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyB0ZXN0cy91bml0L3Rlc3RfcnVubmVy X3V0aWwucHkgICAgICAgICAgICAgICAgfCAxNzUgKysrKysrKysrKysrKysrKworIDYgZmlsZXMg Y2hhbmdlZCwgNDE2IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0ZXN0cy91bml0L3Rlc3RfcnVubmVyX3V0aWwucHkKKworZGlmZiAtLWdpdCBhL0NI QU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IDNkODA1YjMuLjAxYmQxYmQgMTAwNjQ0Cist LS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0yOCw3ICsyOCw3IEBAIEVO SEFOQ0VNRU5UUzoKKyAqIFVzZSBgY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zYF8gd2l0aCB0YWct bWF0Y2hpbmcgZXh0ZW5zaW9uIChzdXBlcmNlZWRzOiBvbGQtc3R5bGUgdGFnLWV4cHJlc3Npb25z KQorICogaXNzdWUgIzY3ODogU2NlbmFyaW8gT3V0bGluZTogU3VwcG9ydCB0YWdzIHdpdGggY29t bWFzIGFuZCBzZW1pY29sb25zIChwcm92aWRlZCBieTogbGF3bm1vd2VybGF0dGUsIHB1bGwgIzY3 OSkKKyAqIGlzc3VlICM2NzU6IEZlYXR1cmUgZmlsZXMgY2Fubm90IGJlIGZvdW5kIHdpdGhpbiBz eW1saW5rIGRpcmVjdG9yaWVzIChwcm92aWRlZCBieTogc21hZG5lc3MsIHB1bGwgIzY4MCkKKy0K KysqIFNlbGVjdC1ieS1sb2NhdGlvbjogQWRkIHN1cHBvcnQgZm9yICJTY2VuYXJpbyBjb250YWlu ZXIiIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpIChyZWxhdGVkIHRvOiAjMzkxKQor IAorIFBBUlRJQUxMWSBGSVhFRDoKKyAKK2RpZmYgLS1naXQgYS9iZWhhdmUvbW9kZWwucHkgYi9i ZWhhdmUvbW9kZWwucHkKK2luZGV4IDMwODQ4NTAuLjdmYzUzNGEgMTAwNjQ0CistLS0gYS9iZWhh dmUvbW9kZWwucHkKKysrKyBiL2JlaGF2ZS9tb2RlbC5weQorQEAgLTU1LDExICs1NSwxMSBAQCBj bGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUp OgorICAgICAuLiBhdHRyaWJ1dGU6OiBrZXl3b3JkCisgCisgICAgICAgIFRoaXMgaXMgdGhlIGtl eXdvcmQgYXMgc2VlbiBpbiB0aGUgKmZlYXR1cmUgZmlsZSouIEluIEVuZ2xpc2ggdGhpcyB3aWxs CistICAgICAgIGJlICJGZWF0dXJlIi4KKysgICAgICAgYmUgIkZlYXR1cmUiIG9yICJSdWxlIi4K KyAKKyAgICAgLi4gYXR0cmlidXRlOjogbmFtZQorIAorLSAgICAgICBUaGUgbmFtZSBvZiB0aGUg ZmVhdHVyZSAodGhlIHRleHQgYWZ0ZXIgIkZlYXR1cmUiLikKKysgICAgICAgVGhlIG5hbWUgKG9y IHRpdGxlKSBvZiB0aGUgbW9kZWwgZW50aXR5ICh0aGUgdGV4dCBhZnRlciB0aGUga2V5d29yZC4p CisgCisgICAgIC4uIGF0dHJpYnV0ZTo6IGRlc2NyaXB0aW9uCisgCitAQCAtOTMsMTIgKzkzLDE2 IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5 YWJsZSk6CisgCisgICAgICAgIFN0YXR1cy51bnRlc3RlZAorICAgICAgICAgIFRoZSBmZWF0dXJl IHdhcyBoYXMgbm90IGJlZW4gY29tcGxldGVseSB0ZXN0ZWQgeWV0LgorKworICAgICAgICBTdGF0 dXMuc2tpcHBlZAorLSAgICAgICAgIE9uZSBvciBtb3JlIHN0ZXBzIG9mIHRoaXMgZmVhdHVyZSB3 YXMgcGFzc2VkIG92ZXIgZHVyaW5nIHRlc3RpbmcuCisrICAgICAgICAgVGhlIGV4ZWN1dGlvbiBv ZiB0aGlzIG1vZGVsIGVudGl0eSAoZmVhdHVyZSBvciBydWxlKQorKyAgICAgICAgIHNob3VsZCBi ZSAvIHdhcyBza2lwcGVkIChleGNsdWRlZCBmcm9tIHRoZSB0ZXN0IHJ1bikuCisrCisgICAgICAg IFN0YXR1cy5wYXNzZWQKKy0gICAgICAgICBUaGUgZmVhdHVyZSB3YXMgdGVzdGVkIHN1Y2Nlc3Nm dWxseS4KKysgICAgICAgICBUaGUgbW9kZWwgZW50aXR5IChmZWF0dXJlIG9yIHJ1bGUpIHdhcyB0 ZXN0ZWQgc3VjY2Vzc2Z1bGx5LgorKworICAgICAgICBTdGF0dXMuZmFpbGVkCistICAgICAgICAg T25lIG9yIG1vcmUgc3RlcHMgb2YgdGhpcyBmZWF0dXJlIGZhaWxlZC4KKysgICAgICAgICBPbmUg b3IgbW9yZSBydW4gaXRlbXMgb2YgdGhpcyBtb2RlbCBlbnRpdHkgZmFpbGVkLgorIAorICAgICAg ICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDEuMi42CisgICAgICAgICAgICAgVXNlIFN0YXR1cyBlbnVt IGNsYXNzICh3YXM6IHN0cmluZykuCitAQCAtMTQ3LDYgKzE1MSwxMSBAQCBjbGFzcyBTY2VuYXJp b0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAg Zm9yIHJ1bl9pdGVtIGluIHNlbGYucnVuX2l0ZW1zOgorICAgICAgICAgICAgIHJ1bl9pdGVtLnJl c2V0KCkKKyAKKysgICAgZGVmIF9zZXR1cF9jb250ZXh0X2Zvcl9ydW4oc2VsZiwgY29udGV4dCk6 CisrICAgICAgICAiIiJTZXR1cC9Jbml0IHJ1bm5lciBjb250ZXh0IGZvciBydW4uIiIiCisrICAg ICAgICAjIC0tIE9WRVJSSURERU46IEJ5IGRlcml2ZWQgY2xhc3Nlcy4KKysgICAgICAgIHBhc3MK KysKKyAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5y dW5faXRlbXMpCisgCitAQCAtMjA0LDcgKzIxMyw3IEBAIGNsYXNzIFNjZW5hcmlvQ29udGFpbmVy KFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAjIGZlYXR1cmVf ZHVyYXRpb24gPSBzZWxmLnJ1bl9lbmR0aW1lIC0gc2VsZi5ydW5fc3RhcnR0aW1lCisgICAgICAg ICByZXR1cm4gZmVhdHVyZV9kdXJhdGlvbgorIAorLSAgICBkZWYgd2Fsa19zY2VuYXJpb3Moc2Vs Ziwgd2l0aF9vdXRsaW5lcz1GYWxzZSk6CisrICAgIGRlZiB3YWxrX3NjZW5hcmlvcyhzZWxmLCB3 aXRoX291dGxpbmVzPUZhbHNlLCB3aXRoX3J1bGVzPUZhbHNlKToKKyAgICAgICAgICIiIlByb3Zp ZGVzIGEgZmxhdCBsaXN0IG9mIGFsbCBzY2VuYXJpb3Mgb2YgdGhpcyBTY2VuYXJpb0NvbnRhaW5l ci4KKyAgICAgICAgIEEgU2NlbmFyaW9PdXRsaW5lIGVsZW1lbnQgYWRkcyBpdHMgc2NlbmFyaW9z IHRvIHRoaXMgbGlzdC4KKyAgICAgICAgIEJ1dCB0aGUgU2NlbmFyaW9PdXRsaW5lIGVsZW1lbnQg aXRzZWxmIGlzIG9ubHkgYWRkZWQgd2hlbiBzcGVjaWZpZWQuCitAQCAtMjE1LDIwICsyMjQsMjAg QEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlh YmxlKToKKyAgICAgICAgIDpwYXJhbSB3aXRoX291dGxpbmVzOiBJZiBTY2VuYXJpb091dGxpbmUg aXRlbXMgc2hvdWxkIGJlIGFkZGVkLCB0b28uCisgICAgICAgICA6cmV0dXJuOiBMaXN0IG9mIGFs bCBzY2VuYXJpb3Mgb2YgdGhpcyBmZWF0dXJlLgorICAgICAgICAgIiIiCistICAgICAgICAjIFRP RE86IEJldHRlciB1c2Ugc2VsZi5ydW5faXRlbXMKKyAgICAgICAgIGFsbF9zY2VuYXJpb3MgPSBb XQorLSAgICAgICAgIyBmb3Igc2NlbmFyaW8gaW4gc2VsZi5zY2VuYXJpb3M6CisgICAgICAgICBm b3IgcnVuX2l0ZW0gaW4gc2VsZi5ydW5faXRlbXM6CisgICAgICAgICAgICAgaWYgaXNpbnN0YW5j ZShydW5faXRlbSwgUnVsZSk6CisgICAgICAgICAgICAgICAgIHJ1bGUgPSBydW5faXRlbQorKyAg ICAgICAgICAgICAgICBpZiB3aXRoX3J1bGVzOgorKyAgICAgICAgICAgICAgICAgICAgYWxsX3Nj ZW5hcmlvcy5hcHBlbmQocnVsZSkKKyAgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5leHRl bmQocnVsZS53YWxrX3NjZW5hcmlvcyh3aXRoX291dGxpbmVzPXdpdGhfb3V0bGluZXMpKQorLSAg ICAgICAgICAgIGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvT3V0bGluZSk6CisrICAg ICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHJ1bl9pdGVtLCBTY2VuYXJpb091dGxpbmUpOgorICAg ICAgICAgICAgICAgICBzY2VuYXJpb19vdXRsaW5lID0gcnVuX2l0ZW0KKyAgICAgICAgICAgICAg ICAgaWYgd2l0aF9vdXRsaW5lczoKKyAgICAgICAgICAgICAgICAgICAgIGFsbF9zY2VuYXJpb3Mu YXBwZW5kKHNjZW5hcmlvX291dGxpbmUpCisgICAgICAgICAgICAgICAgIGFsbF9zY2VuYXJpb3Mu ZXh0ZW5kKHNjZW5hcmlvX291dGxpbmUuc2NlbmFyaW9zKQorICAgICAgICAgICAgIGVsc2U6Cist ICAgICAgICAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKHJ1bl9pdGVtLCBTY2VuYXJpbykKKysg ICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKSwgIk9P UFM6ICVyIiAlIHJ1bl9pdGVtCisgICAgICAgICAgICAgICAgIGFsbF9zY2VuYXJpb3MuYXBwZW5k KHJ1bl9pdGVtKQorICAgICAgICAgcmV0dXJuIGFsbF9zY2VuYXJpb3MKKyAKK0BAIC0yNzQsOSAr MjgzLDkgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBS ZXBsYXlhYmxlKToKKyAgICAgICAgIGFzc2VydCBzZWxmLnN0YXR1cyA9PSBTdGF0dXMuc2tpcHBl ZCBvciBzZWxmLmhvb2tfZmFpbGVkCisgCisgICAgIGRlZiBza2lwKHNlbGYsIHJlYXNvbj1Ob25l LCByZXF1aXJlX25vdF9leGVjdXRlZD1GYWxzZSk6CistICAgICAgICAiIiJTa2lwIGV4ZWN1dGlu ZyB0aGlzIGZlYXR1cmUgb3IgdGhlIHJlbWFpbmluZyBwYXJ0cyBvZiBpdC4KKy0gICAgICAgIE5v dGUgdGhhdCB0aGlzIGZlYXR1cmUgbWF5IGJlIGFscmVhZHkgcGFydGx5IGV4ZWN1dGVkCistICAg ICAgICB3aGVuIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLgorKyAgICAgICAgIiIiU2tpcCBleGVj dXRpbmcgdGhpcyBtb2RlbCBlbnRpdHkgb3IgdGhlIHJlbWFpbmluZyBwYXJ0cyBvZiBpdC4KKysg ICAgICAgIE5vdGUgdGhhdCB0aGlzIG1vZGVsIGVudGl0eSAoZmVhdHVyZSBvciBydWxlKSBtYXkg YmUgYWxyZWFkeSBwYXJ0bHkKKysgICAgICAgIGV4ZWN1dGVkIHdoZW4gdGhpcyBmdW5jdGlvbiBp cyBjYWxsZWQuCisgCisgICAgICAgICA6cGFyYW0gcmVhc29uOiAgT3B0aW9uYWwgcmVhc29uIHdo eSBmZWF0dXJlIHNob3VsZCBiZSBza2lwcGVkIChhcyBzdHJpbmcpLgorICAgICAgICAgOnBhcmFt IHJlcXVpcmVfbm90X2V4ZWN1dGVkOiBPcHRpb25hbCwgcmVxdWlyZXMgdGhhdCBmZWF0dXJlIGlz IG5vdAorQEAgLTMxNCw4ICszMjMsOCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRT dGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgaG9va19hZnRlcl9lbnRpdHkg PSAiYWZ0ZXJfezB9Ii5mb3JtYXQoZW50aXR5X25hbWUpCisgCisgICAgICAgICBydW5uZXIuY29u dGV4dC5fcHVzaChsYXllcl9uYW1lPWVudGl0eV9uYW1lKSAgICAgICMgcHlsaW50OiBkaXNhYmxl PXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAgIHJ1bm5lci5jb250ZXh0LmZlYXR1cmUgPSBzZWxm CisgICAgICAgICBydW5uZXIuY29udGV4dC50YWdzID0gc2V0KHNlbGYudGFncykKKysgICAgICAg IHNlbGYuX3NldHVwX2NvbnRleHRfZm9yX3J1bihydW5uZXIuY29udGV4dCkKKyAKKyAgICAgICAg IHNraXBfZW50aXR5X3VudGVzdGVkID0gcnVubmVyLmFib3J0ZWQKKyAgICAgICAgIHNob3VsZF9y dW5fZW50aXR5ID0gc2VsZi5zaG91bGRfcnVuKHJ1bm5lci5jb25maWcpCitAQCAtNDk3LDYgKzUw Niw5IEBAIGNsYXNzIEZlYXR1cmUoU2NlbmFyaW9Db250YWluZXIpOgorICAgICAgICAgICAgIChz ZWxmLm5hbWUsIGxlbihzZWxmLnJ1bl9pdGVtcyksCisgICAgICAgICAgICAgIGxlbihzZWxmLnJ1 bGVzKSwgbGVuKHNlbGYuc2NlbmFyaW9zKSkKKyAKKysgICAgZGVmIF9zZXR1cF9jb250ZXh0X2Zv cl9ydW4oc2VsZiwgY29udGV4dCk6CisrICAgICAgICBjb250ZXh0LmZlYXR1cmUgPSBzZWxmCisr CisgICAgIGRlZiBhZGRfcnVsZShzZWxmLCBydWxlKToKKyAgICAgICAgICIiIkFkZCBhIHJ1bGUg dG8gdGhpcyBmZWF0dXJlLiIiIgorICAgICAgICAgZmVhdHVyZSA9IHNlbGYKK0BAIC02MTksNiAr NjMxLDkgQEAgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRhaW5lcik6CisgICAgICAgICBzZWxmLnBh cmVudCA9IHBhcmVudAorICAgICAgICAgc2VsZi5mZWF0dXJlID0gcGFyZW50CisgCisrICAgIGRl ZiBfc2V0dXBfY29udGV4dF9mb3JfcnVuKHNlbGYsIGNvbnRleHQpOgorKyAgICAgICAgY29udGV4 dC5ydWxlID0gc2VsZgorKworICAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgICByZXR1 cm4gJzxSdWxlICIlcyI6ICVkIHNjZW5hcmlvKHMpPicgJSBcCisgICAgICAgICAgICAgKHNlbGYu bmFtZSwgbGVuKHNlbGYuc2NlbmFyaW9zKSkKK0BAIC02NjQsNiArNjc5LDEwIEBAIGNsYXNzIEJh Y2tncm91bmQoQmFzaWNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorIAorICAgICAuLiBfYGJhY2tn cm91bmRgOiBnaGVya2luLmh0bWwjYmFja2dyb3VuZHMKKyAgICAgIiIiCisrICAgICMgVE9ETzog QmFja2dyb3VuZCBpbmhlcml0YW5jZQorKyAgICAjIFJ1bGUuYmFja2dyb3VuZCBzaG91bGQgaW5o ZXJpdCBpdHMgRmVhdHVyZS5iYWNrZ3JvdW5kIHN0ZXBzIChpZiBhdmFpbGFibGUpCisrICAgICMg UnVsZS5iYWNrZ3JvdW5kID0gRmVhdHVyZS5iYWNrZ3JvdW5kIGlmZiBub3QgUnVsZS5iYWNrZ3Jv dW5kIGV4aXN0cyAoQUxSRUFEWS1TT0xWRUQpCisrICAgICMgUnVsZSBtYXkgb3ZlcnJpZGUgYmFj a2dyb3VuZCBpbmhlcml0YW5jZSBtZWNoYW5pc20KKyAgICAgdHlwZSA9ICJiYWNrZ3JvdW5kIgor IAorICAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIGxpbmUsIGtleXdvcmQsIG5hbWUs IHN0ZXBzPU5vbmUsIGRlc2NyaXB0aW9uPU5vbmUpOgorQEAgLTc5Niw3ICs4MTUsNyBAQCBjbGFz cyBTY2VuYXJpbyhUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorIAorICAgICBA cHJvcGVydHkKKyAgICAgZGVmIGJhY2tncm91bmRfc3RlcHMoc2VsZik6CistICAgICAgICAiIiJQ cm92aWRlIGJhY2tncm91bmQgc3RlcHMgaWYgZmVhdHVyZSBoYXMgYSBiYWNrZ3JvdW5kLgorKyAg ICAgICAgIiIiUHJvdmlkZSBiYWNrZ3JvdW5kIHN0ZXBzIGlmIGZlYXR1cmUvcnVsZSBoYXMgYSBi YWNrZ3JvdW5kLgorICAgICAgICAgTGF6eSBpbml0IHRoYXQgY29waWVzIHRoZSBiYWNrZ3JvdW5k IHN0ZXBzLgorIAorICAgICAgICAgTm90ZSB0aGF0IGEgY29weSBvZiB0aGUgYmFja2dyb3VuZCBz dGVwcyBpcyBuZWVkZWQgdG8gZW5zdXJlCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3J1bm5lcl91dGls LnB5IGIvYmVoYXZlL3J1bm5lcl91dGlsLnB5CitpbmRleCAyMjEwZjc4Li43ZTA4MDdmIDEwMDY0 NAorLS0tIGEvYmVoYXZlL3J1bm5lcl91dGlsLnB5CisrKysgYi9iZWhhdmUvcnVubmVyX3V0aWwu cHkKK0BAIC01OCw2ICs1OCwxMDAgQEAgY2xhc3MgRmlsZUxvY2F0aW9uUGFyc2VyKG9iamVjdCk6 CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgQ0xBU1NFUzoKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QKKytmcm9tIC5tb2Rl bCBpbXBvcnQgRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lLCBTY2VuYXJpbworKworKwor K2NsYXNzIEZlYXR1cmVMaW5lRGF0YWJhc2Uob2JqZWN0KToKKysgICAgIiIiSGVscGVyIGNsYXNz IHRoYXQgc3VwcG9ydHMgc2VsZWN0LWJ5LWxvY2F0aW9uIG1lY2hhbmlzbSAoRmlsZUxvY2F0aW9u KQorKyAgICB3aXRoaW4gYSBmZWF0dXJlIGZpbGUgYnkgc3RvcmluZyB0aGUgZmVhdHVyZSBsaW5l IG51bWJlcnMgZm9yIGVhY2ggZW50aXR5LgorKworKyAgICBSRVNQT05TSUJJTElUWShzKToKKysK KysgICAgKiBDYW4gdXNlIHRoZSBsaW5lIG51bWJlciB0byBzZWxlY3QgdGhlIGJlc3QgbWF0Y2hp bmcgZW50aXR5KHMpIGluIGEgZmVhdHVyZQorKyAgICAqIEltcGxlbWVudHMgdGhlIHNlbGVjdC1i eS1sb2NhdGlvbiBtZWNoYW5pc20gZm9yIGVhY2ggZW50aXR5IGluIHRoZSBmZWF0dXJlCisrICAg ICIiIgorKworKyAgICBkZWYgX19pbml0X18oc2VsZiwgZW50aXR5PU5vbmUsIGxpbmVfZGF0YT1O b25lKToKKysgICAgICAgIGlmIGVudGl0eSBhbmQgbm90IGxpbmVfZGF0YToKKysgICAgICAgICAg ICBsaW5lX2RhdGEgPSBzZWxmLm1ha2VfbGluZV9kYXRhX2ZvcihlbnRpdHkpCisrICAgICAgICBz ZWxmLmVudGl0eSA9IGVudGl0eQorKyAgICAgICAgc2VsZi5kYXRhID0gT3JkZXJlZERpY3QobGlu ZV9kYXRhIG9yIFtdKQorKyAgICAgICAgc2VsZi5fbGluZV9udW1iZXJzID0gTm9uZQorKyAgICAg ICAgc2VsZi5fbGluZV9lbnRpdGllcyA9IE5vbmUKKysKKysgICAgZGVmIHNlbGVjdF9ydW5faXRl bV9ieV9saW5lKHNlbGYsIGxpbmUpOgorKyAgICAgICAgIiIiU2VsZWN0IG9uZSBydW4taXRlbXMg YnkgdXNpbmcgdGhlIGxpbmUgbnVtYmVyLgorKworKyAgICAgICAgKiBFeGFjdCBtYXRjaCByZXR1 cm5zIHJ1bi10aW1lIGVudGl0eSAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lLCBTY2Vu YXJpbykKKysgICAgICAgICogQW55IG90aGVyIGxpbmUgaW4gYmV0d2VlbiB1c2VzIHRoZSBwcmVk ZWNlc3NvciBlbnRpdHkKKysKKysgICAgICAgIDpwYXJhbSBsaW5lOiBMaW5lIG51bWJlciBpbiBG ZWF0dXJlIGZpbGUgKGFzIGludCkKKysgICAgICAgIDpyZXR1cm46IFNlbGVjdGVkIHJ1bi1pdGVt IG9iamVjdC4KKysgICAgICAgICIiIgorKyAgICAgICAgcnVuX2l0ZW0gPSBzZWxmLmRhdGEuZ2V0 KGxpbmUsIE5vbmUpCisrICAgICAgICBpZiBydW5faXRlbSBpcyBOb25lOgorKyAgICAgICAgICAg ICMgLS0gQ0FTRTogQkVTVC1NQVRDSCBpbiBvcmRlcmVkIGxpbmUgZGF0YWJhc2UKKysgICAgICAg ICAgICBpZiBzZWxmLl9saW5lX251bWJlcnMgaXMgTm9uZToKKysgICAgICAgICAgICAgICAgc2Vs Zi5fbGluZV9udW1iZXJzID0gbGlzdChzZWxmLmRhdGEua2V5cygpKQorKyAgICAgICAgICAgICAg ICBzZWxmLl9saW5lX2VudGl0aWVzID0gbGlzdChzZWxmLmRhdGEudmFsdWVzKCkpCisrCisrICAg ICAgICAgICAgcG9zID0gYmlzZWN0KHNlbGYuX2xpbmVfbnVtYmVycywgbGluZSkgLSAxCisrICAg ICAgICAgICAgaWYgcG9zIDwgMDoKKysgICAgICAgICAgICAgICAgcG9zID0gMAorKyAgICAgICAg ICAgIHJ1bl9pdGVtID0gc2VsZi5fbGluZV9lbnRpdGllc1twb3NdCisrICAgICAgICByZXR1cm4g cnVuX2l0ZW0KKysKKysgICAgZGVmIHNlbGVjdF9zY2VuYXJpb3NfYnlfbGluZShzZWxmLCBsaW5l KToKKysgICAgICAgICIiIlNlbGVjdCBvbmUgb3IgbW9yZSBzY2VuYXJpb3MgYnkgdXNpbmcgdGhl IGxpbmUgbnVtYmVyLgorKworKyAgICAgICAgKiBsaW5lID0gMDogU2VsZWN0cyBhbGwgc2NlbmFy aW9zIGluIHRoZSBGZWF0dXJlIGZpbGUKKysgICAgICAgICogRmVhdHVyZSAvIFJ1bGUgLyBTY2Vu YXJpb091dGxpbmUubG9jYXRpb24ubGluZSBzZWxlY3RzIGl0cyBzY2VuYXJpb3MKKysgICAgICAg ICogU2NlbmFyaW8ubG9jYXRpb24ubGluZSBzZWxlY3RzIHRoZSBTY2VuYXJpbworKyAgICAgICAg KiBBbnkgb3RoZXIgbGluZXMgdXNlIHRoZSBwcmVkZWNlc3NvciBlbnRpdHkgKGFuZCBpdHMgc2Nl bmFyaW9zKQorKworKyAgICAgICAgOnBhcmFtIGxpbmU6IExpbmUgbnVtYmVyIGluIEZlYXR1cmUg ZmlsZSAoYXMgaW50KQorKyAgICAgICAgOnJldHVybjogTGlzdCBvZiBzZWxlY3RlZCBzY2VuYXJp b3MKKysgICAgICAgICIiIgorKyAgICAgICAgcnVuX2l0ZW0gPSBzZWxmLnNlbGVjdF9ydW5faXRl bV9ieV9saW5lKGxpbmUpCisrICAgICAgICBzY2VuYXJpb3MgPSBbXQorKyAgICAgICAgaWYgaXNp bnN0YW5jZShydW5faXRlbSwgRmVhdHVyZSk6CisrICAgICAgICAgICAgc2NlbmFyaW9zID0gbGlz dChydW5faXRlbS53YWxrX3NjZW5hcmlvcygpKQorKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKHJ1 bl9pdGVtLCBSdWxlKToKKysgICAgICAgICAgICBzY2VuYXJpb3MgPSBsaXN0KHJ1bl9pdGVtLndh bGtfc2NlbmFyaW9zKCkpCisrICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5h cmlvT3V0bGluZSk6CisrICAgICAgICAgICAgc2NlbmFyaW9zID0gbGlzdChydW5faXRlbS5zY2Vu YXJpb3MpCisrICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVuX2l0ZW0sIFNjZW5hcmlvKToKKysg ICAgICAgICAgICBzY2VuYXJpb3MgPSBbcnVuX2l0ZW1dCisrICAgICAgICByZXR1cm4gc2NlbmFy aW9zCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgbWFrZV9saW5lX2RhdGFfZm9yKGNs cywgZW50aXR5KToKKysgICAgICAgIGxpbmVfZGF0YSA9IFtdCisrICAgICAgICBydW5faXRlbXMg PSBbXQorKyAgICAgICAgaWYgaXNpbnN0YW5jZShlbnRpdHksIEZlYXR1cmUpOgorKyAgICAgICAg ICAgIGxpbmVfZGF0YS5hcHBlbmQoKDAsIGVudGl0eSkpCisrICAgICAgICAgICAgcnVuX2l0ZW1z ID0gZW50aXR5LnJ1bl9pdGVtcworKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGVudGl0eSwgUnVs ZSk6CisrICAgICAgICAgICAgcnVuX2l0ZW1zID0gZW50aXR5LnJ1bl9pdGVtcworKyAgICAgICAg ZWxpZiBpc2luc3RhbmNlKGVudGl0eSwgU2NlbmFyaW9PdXRsaW5lKToKKysgICAgICAgICAgICBy dW5faXRlbXMgPSBlbnRpdHkuc2NlbmFyaW9zCisrCisrICAgICAgICBsaW5lX2RhdGEuYXBwZW5k KChlbnRpdHkubG9jYXRpb24ubGluZSwgZW50aXR5KSkKKysgICAgICAgIGZvciBydW5faXRlbSBp biBydW5faXRlbXM6CisrICAgICAgICAgICAgbGluZV9kYXRhLmV4dGVuZChjbHMubWFrZV9saW5l X2RhdGFfZm9yKHJ1bl9pdGVtKSkKKysgICAgICAgICMgLS0gTUFZQkU6CisrICAgICAgICAjIGlm IGlzaW5zdGFuY2UoZW50aXR5LCBTY2VuYXJpb091dGxpbmUpIGFuZCBydW5faXRlbXM6CisrICAg ICAgICAjICAgICAjIC0tIFNQRUNJQUwgQ0FTRTogTGluZXMgYWZ0ZXIgbGFzdCBFeGFtcGxlcyBy b3cgPT4gVXNlIFNjZW5hcmlvT3V0bGluZQorKyAgICAgICAgIyAgICAgbGluZV9kYXRhLmFwcGVu ZCgocnVuX2l0ZW1zWy0xXS5sb2NhdGlvbi5saW5lICsgMSwgZW50aXR5KSkKKysgICAgICAgIHJl dHVybiBzb3J0ZWQobGluZV9kYXRhKQorKworKyAgICBAY2xhc3NtZXRob2QKKysgICAgZGVmIG1h a2UoY2xzLCBlbnRpdHkpOgorKyAgICAgICAgcmV0dXJuIGNscyhlbnRpdHksIGNscy5tYWtlX2xp bmVfZGF0YV9mb3IoZW50aXR5KSkKKysKKysKKysKKyBjbGFzcyBGZWF0dXJlU2NlbmFyaW9Mb2Nh dGlvbkNvbGxlY3RvcihvYmplY3QpOgorICAgICAiIiIKKyAgICAgQ29sbGVjdHMgRmlsZUxvY2F0 aW9uIG9iamVjdHMgZm9yIGEgZmVhdHVyZS4KK0BAIC0yMDAsNiArMjk0LDk0IEBAIGNsYXNzIEZl YXR1cmVTY2VuYXJpb0xvY2F0aW9uQ29sbGVjdG9yKG9iamVjdCk6CisgICAgICAgICByZXR1cm4g c2VsZi5mZWF0dXJlCisgCisgCisrY2xhc3MgRmVhdHVyZVNjZW5hcmlvTG9jYXRpb25Db2xsZWN0 b3IxKEZlYXR1cmVTY2VuYXJpb0xvY2F0aW9uQ29sbGVjdG9yKToKKysKKysgICAgQHN0YXRpY21l dGhvZAorKyAgICBkZWYgc2VsZWN0X3NjZW5hcmlvX2xpbmVfZm9yKGxpbmUsIHNjZW5hcmlvX2xp bmVzKToKKysgICAgICAgICIiIgorKyAgICAgICAgU2VsZWN0IHNjZW5hcmlvIGxpbmUgZm9yIGFu eSBnaXZlbiBsaW5lLgorKworKyAgICAgICAgQUxHT1JJVEhNOiBzY2VuYXJpby5saW5lIDw9IGxp bmUgPCBuZXh0X3NjZW5hcmlvLmxpbmUKKysKKysgICAgICAgIDpwYXJhbSBsaW5lOiAgQSBsaW5l IG51bWJlciBpbiB0aGUgZmlsZSAoYXMgbnVtYmVyKS4KKysgICAgICAgIDpwYXJhbSBzY2VuYXJp b19saW5lczogU29ydGVkIGxpc3Qgb2Ygc2NlbmFyaW8gbGluZXMuCisrICAgICAgICA6cmV0dXJu OiBTY2VuYXJpby5saW5lIChmaXJzdCBsaW5lKSBmb3IgdGhlIGdpdmVuIGxpbmUuCisrICAgICAg ICAiIiIKKysgICAgICAgIGlmIG5vdCBzY2VuYXJpb19saW5lczoKKysgICAgICAgICAgICByZXR1 cm4gMCAgICAjIC0tIFNlbGVjdCBhbGwgc2NlbmFyaW9zLgorKyAgICAgICAgcG9zID0gYmlzZWN0 KHNjZW5hcmlvX2xpbmVzLCBsaW5lKSAtIDEKKysgICAgICAgIGlmIHBvcyA8IDA6CisrICAgICAg ICAgICAgcG9zID0gMAorKyAgICAgICAgcmV0dXJuIHNjZW5hcmlvX2xpbmVzW3Bvc10KKysKKysg ICAgZGVmIGRpc2NvdmVyX3NlbGVjdGVkX3NjZW5hcmlvcyhzZWxmLCBzdHJpY3Q9RmFsc2UpOgor KyAgICAgICAgIiIiCisrICAgICAgICBEaXNjb3ZlcnMgc2VsZWN0ZWQgc2NlbmFyaW9zIGJhc2Vk IG9uIHRoZSBwcm92aWRlZCBmaWxlIGxvY2F0aW9ucy4KKysgICAgICAgIEluIGFkZGl0aW9uOgor KyAgICAgICAgICAqIGRpc2NvdmVyIGFsbCBzY2VuYXJpb3MKKysgICAgICAgICAgKiBhdXRvLWNv cnJlY3QgQkFEIExJTkUtTlVNQkVSUworKworKyAgICAgICAgOnBhcmFtIHN0cmljdDogIElmIHRy dWUsIHJhaXNlcyBleGNlcHRpb24gaWYgZmlsZSBsb2NhdGlvbiBpcyBpbnZhbGlkLgorKyAgICAg ICAgOnJldHVybjogTGlzdCBvZiBzZWxlY3RlZCBzY2VuYXJpb3Mgb2YgdGhpcyBmZWF0dXJlIChh cyBzZXQpLgorKyAgICAgICAgOnJhaXNlcyBJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3I6CisrICAg ICAgICAgICAgSWYgZmlsZSBsb2NhdGlvbiBpcyBubyBleGFjdGx5IGNvcnJlY3QgYW5kIHN0cmlj dCBpcyB0cnVlLgorKyAgICAgICAgIiIiCisrICAgICAgICBhc3NlcnQgc2VsZi5mZWF0dXJlCisr ICAgICAgICBpZiBub3Qgc2VsZi5hbGxfc2NlbmFyaW9zOgorKyAgICAgICAgICAgIHNlbGYuYWxs X3NjZW5hcmlvcyA9IHNlbGYuZmVhdHVyZS53YWxrX3NjZW5hcmlvcygpCisrCisrICAgICAgICAj IC0tIFNURVA6IENoZWNrIGlmIGxpbmVzIGFyZSBjb3JyZWN0LgorKyAgICAgICAgZXhpc3Rpbmdf bGluZXMgPSBbc2NlbmFyaW8ubGluZSBmb3Igc2NlbmFyaW8gaW4gc2VsZi5hbGxfc2NlbmFyaW9z XQorKyAgICAgICAgc2VsZWN0ZWRfbGluZXMgPSBsaXN0KHNlbGYuc2NlbmFyaW9fbGluZXMpCisr ICAgICAgICBmb3IgbGluZSBpbiBzZWxlY3RlZF9saW5lczoKKysgICAgICAgICAgICBuZXdfbGlu ZSA9IHNlbGYuc2VsZWN0X3NjZW5hcmlvX2xpbmVfZm9yKGxpbmUsIGV4aXN0aW5nX2xpbmVzKQor KyAgICAgICAgICAgIGlmIG5ld19saW5lICE9IGxpbmU6CisrICAgICAgICAgICAgICAgICMgLS0g QVVUTy1DT1JSRUNUIEJBRC1MSU5FOgorKyAgICAgICAgICAgICAgICBzZWxmLnNjZW5hcmlvX2xp bmVzLnJlbW92ZShsaW5lKQorKyAgICAgICAgICAgICAgICBzZWxmLnNjZW5hcmlvX2xpbmVzLmFk ZChuZXdfbGluZSkKKysgICAgICAgICAgICAgICAgaWYgc3RyaWN0OgorKyAgICAgICAgICAgICAg ICAgICAgbXNnID0gIlNjZW5hcmlvIGxvY2F0aW9uICcuLi46JWQnIHNob3VsZCBiZTogJyVzOiVk JyIgJSBcCisrICAgICAgICAgICAgICAgICAgICAgICAgICAobGluZSwgc2VsZi5maWxlbmFtZSwg bmV3X2xpbmUpCisrICAgICAgICAgICAgICAgICAgICByYWlzZSBJbnZhbGlkRmlsZUxvY2F0aW9u RXJyb3IobXNnKQorKworKyAgICAgICAgIyAtLSBTVEVQOiBEZXRlcm1pbmUgc2VsZWN0ZWQgc2Nl bmFyaW9zIGFuZCBzdG9yZSB0aGVtLgorKyAgICAgICAgc2NlbmFyaW9fbGluZXMgPSBzZXQoc2Vs Zi5zY2VuYXJpb19saW5lcykKKysgICAgICAgIHNlbGVjdGVkX3NjZW5hcmlvcyA9IHNldCgpCisr ICAgICAgICBmb3Igc2NlbmFyaW8gaW4gc2VsZi5hbGxfc2NlbmFyaW9zOgorKyAgICAgICAgICAg IGlmIHNjZW5hcmlvLmxpbmUgaW4gc2NlbmFyaW9fbGluZXM6CisrICAgICAgICAgICAgICAgIHNl bGVjdGVkX3NjZW5hcmlvcy5hZGQoc2NlbmFyaW8pCisrICAgICAgICAgICAgICAgIHNjZW5hcmlv X2xpbmVzLnJlbW92ZShzY2VuYXJpby5saW5lKQorKyAgICAgICAgIyAtLSBDSEVDSyBBTEwgQVJF IFJFU09MVkVEOgorKyAgICAgICAgYXNzZXJ0IG5vdCBzY2VuYXJpb19saW5lcworKyAgICAgICAg cmV0dXJuIHNlbGVjdGVkX3NjZW5hcmlvcworKworKworK2NsYXNzIEZlYXR1cmVTY2VuYXJpb0xv Y2F0aW9uQ29sbGVjdG9yMihGZWF0dXJlU2NlbmFyaW9Mb2NhdGlvbkNvbGxlY3Rvcik6CisrCisr ICAgIGRlZiBkaXNjb3Zlcl9zZWxlY3RlZF9zY2VuYXJpb3Moc2VsZiwgc3RyaWN0PUZhbHNlKToK KysgICAgICAgICIiIkRpc2NvdmVycyBzZWxlY3RlZCBzY2VuYXJpb3MgYmFzZWQgb24gdGhlIHBy b3ZpZGVkIGZpbGUgbG9jYXRpb25zLgorKyAgICAgICAgSW4gYWRkaXRpb246CisrICAgICAgICAg ICogZGlzY292ZXIgYWxsIHNjZW5hcmlvcworKyAgICAgICAgICAqIGF1dG8tY29ycmVjdCBCQUQg TElORS1OVU1CRVJTCisrCisrICAgICAgICA6cGFyYW0gc3RyaWN0OiAgSWYgdHJ1ZSwgcmFpc2Vz IGV4Y2VwdGlvbiBpZiBmaWxlIGxvY2F0aW9uIGlzIGludmFsaWQuCisrICAgICAgICA6cmV0dXJu OiBMaXN0IG9mIHNlbGVjdGVkIHNjZW5hcmlvcyBvZiB0aGlzIGZlYXR1cmUgKGFzIHNldCkuCisr ICAgICAgICA6cmFpc2VzIEludmFsaWRGaWxlTG9jYXRpb25FcnJvcjoKKysgICAgICAgICAgICBJ ZiBmaWxlIGxvY2F0aW9uIGlzIG5vIGV4YWN0bHkgY29ycmVjdCBhbmQgc3RyaWN0IGlzIHRydWUu CisrICAgICAgICAiIiIKKysgICAgICAgIGFzc2VydCBzZWxmLmZlYXR1cmUKKysgICAgICAgIGlm IG5vdCBzZWxmLmFsbF9zY2VuYXJpb3M6CisrICAgICAgICAgICAgc2VsZi5hbGxfc2NlbmFyaW9z ID0gc2VsZi5mZWF0dXJlLndhbGtfc2NlbmFyaW9zKCkKKysKKysgICAgICAgIGxpbmVfZGF0YWJh c2UgPSBGZWF0dXJlTGluZURhdGFiYXNlLm1ha2Uoc2VsZi5mZWF0dXJlKQorKyAgICAgICAgc2Vs ZWN0ZWRfbGluZXMgPSBsaXN0KHNlbGYuc2NlbmFyaW9fbGluZXMpCisrICAgICAgICBzZWxlY3Rl ZF9zY2VuYXJpb3MgPSBzZXQoKQorKyAgICAgICAgZm9yIGxpbmUgaW4gc2VsZWN0ZWRfbGluZXM6 CisrICAgICAgICAgICAgbW9yZV9zY2VuYXJpb3MgPSBsaW5lX2RhdGFiYXNlLnNlbGVjdF9zY2Vu YXJpb3NfYnlfbGluZShsaW5lKQorKyAgICAgICAgICAgIHNlbGVjdGVkX3NjZW5hcmlvcy51cGRh dGUobW9yZV9zY2VuYXJpb3MpCisrICAgICAgICByZXR1cm4gc2VsZWN0ZWRfc2NlbmFyaW9zCisr CisrCisgY2xhc3MgRmVhdHVyZUxpc3RQYXJzZXIob2JqZWN0KToKKyAgICAgIiIiCisgICAgIFJl YWQgdGV4dHVhbCBmaWxlLCBhbGEgJ0BmZWF0dXJlcy50eHQnLiBUaGlzIGZpbGUgY29udGFpbnM6 CitAQCAtMzA0LDcgKzQ4Niw3IEBAIGRlZiBwYXJzZV9mZWF0dXJlcyhmZWF0dXJlX2ZpbGVzLCBs YW5ndWFnZT1Ob25lKToKKyAgICAgOnBhcmFtIGxhbmd1YWdlOiAgICAgIERlZmF1bHQgbGFuZ3Vh Z2UgdG8gdXNlLgorICAgICA6cmV0dXJuOiBMaXN0IG9mIGZlYXR1cmUgb2JqZWN0cy4KKyAgICAg IiIiCistICAgIHNjZW5hcmlvX2NvbGxlY3RvciA9IEZlYXR1cmVTY2VuYXJpb0xvY2F0aW9uQ29s bGVjdG9yKCkKKysgICAgc2NlbmFyaW9fY29sbGVjdG9yID0gRmVhdHVyZVNjZW5hcmlvTG9jYXRp b25Db2xsZWN0b3IyKCkKKyAgICAgZmVhdHVyZXMgPSBbXQorICAgICBmb3IgbG9jYXRpb24gaW4g ZmVhdHVyZV9maWxlczoKKyAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGxvY2F0aW9uLCBGaWxl TG9jYXRpb24pOgorQEAgLTMxNSw3ICs0OTcsNyBAQCBkZWYgcGFyc2VfZmVhdHVyZXMoZmVhdHVy ZV9maWxlcywgbGFuZ3VhZ2U9Tm9uZSk6CisgICAgICAgICAgICAgc2NlbmFyaW9fY29sbGVjdG9y LmFkZF9sb2NhdGlvbihsb2NhdGlvbikKKyAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAg ZWxpZiBzY2VuYXJpb19jb2xsZWN0b3IuZmVhdHVyZToKKy0gICAgICAgICAgICAjIC0tIEFERCBD VVJSRU5UIEZFQVRVUkU6IEFzIGNvbGxlY3Rpb24gb2Ygc2NlbmFyaW9zLgorKyAgICAgICAgICAg ICMgLS0gTkVXIEZFQVRVUkUgREVURUNURUQ6IEFkZCBjdXJyZW50IGZlYXR1cmUuCisgICAgICAg ICAgICAgY3VycmVudF9mZWF0dXJlID0gc2NlbmFyaW9fY29sbGVjdG9yLmJ1aWxkX2ZlYXR1cmUo KQorICAgICAgICAgICAgIGZlYXR1cmVzLmFwcGVuZChjdXJyZW50X2ZlYXR1cmUpCisgICAgICAg ICAgICAgc2NlbmFyaW9fY29sbGVjdG9yLmNsZWFyKCkKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9y dW5uZXIuc2VsZWN0X3NjZW5hcmlvc19ieV9maWxlX2xvY2F0aW9uLmZlYXR1cmUgYi9mZWF0dXJl cy9ydW5uZXIuc2VsZWN0X3NjZW5hcmlvc19ieV9maWxlX2xvY2F0aW9uLmZlYXR1cmUKK2luZGV4 IGY2MGM0M2YuLjY5ZTIzZmUgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9ydW5uZXIuc2VsZWN0X3Nj ZW5hcmlvc19ieV9maWxlX2xvY2F0aW9uLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL3J1bm5lci5z ZWxlY3Rfc2NlbmFyaW9zX2J5X2ZpbGVfbG9jYXRpb24uZmVhdHVyZQorQEAgLTEzLDE1ICsxMywy OCBAQCBGZWF0dXJlOiBTZWxlY3QgU2NlbmFyaW9zIGJ5IEZpbGUgTG9jYXRpb24KKyAgICAgLiAg ICogQSBmaWxlIGxvY2F0aW9uIHdpdGggZmlsZW5hbWUgYnV0IHdpdGhvdXQgbGluZSBudW1iZXIK KyAgICAgLiAgICAgcmVmZXJzIHRvIHRoZSBjb21wbGV0ZSBmaWxlCisgICAgIC4gICAqIEEgZmls ZSBsb2NhdGlvbiB3aXRoIGxpbmUgbnVtYmVyIDAgKHplcm8pIHJlZmVycyB0byB0aGUgY29tcGxl dGUgZmlsZQorKyAgICAuICAgKiBBIGZpbGUgbG9jYXRpb24gd2l0aGluIGEgc2NlbmFyaW8gY29u dGFpbmVyIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpLAorKyAgICAuICAgICB0aGF0 IGRvZXMgbm90IHJlZmVyIHRvIHRoZSBmaWxlIGxvY2F0aW9uIHdpdGhpbiBhIHNjZW5hcmlvLAor KyAgICAuICAgICBzZWxlY3RzIGFsbCBzY2VuYXJpb3Mgb2YgdGhpcyBzY2VuYXJpbyBjb250YWlu ZXIuCisgICAgIC4KKyAgICAgLiBTUEVDSUZJQ0FUSU9OOiBTY2VuYXJpbyBzZWxlY3Rpb24gYnkg ZmlsZSBsb2NhdGlvbnMKKyAgICAgLiAgICogc2NlbmFyaW8ubGluZSA9PSBmaWxlX2xvY2F0aW9u LmxpbmUgc2VsZWN0cyBzY2VuYXJpbyAocHJlZmVycmVkIG1ldGhvZCkuCisgICAgIC4gICAqIEFu eSBsaW5lIG51bWJlciBpbiB0aGUgZm9sbG93aW5nIHJhbmdlIGlzIGFjY2VwdGFibGU6CistICAg IC4gICAgICAgIHNjZW5hcmlvLmxpbmUgPD0gZmlsZV9sb2NhdGlvbi5saW5lIDwgbmV4dF9zY2Vu YXJpby5saW5lCistICAgIC4gICAqIFRoZSBmaXJzdCBzY2VuYXJpbyBpcyBzZWxlY3RlZCwKKy0g ICAgLiAgICAgaWYgdGhlIGZpbGUgbG9jYXRpb24gbGluZSBudW1iZXIgaXMgbGVzcyB0aGFuIGZp cnN0IHNjZW5hcmlvLmxpbmUuCisrICAgIC4gICAgICAgIHNjZW5hcmlvLmxpbmUgPD0gZmlsZV9s b2NhdGlvbi5saW5lIDwgbmV4dF9lbnRpdHkubGluZSAobWF5YmU6IHNjZW5hcmlvKQorKyAgICAu ICAgKiBJZiB0aGUgZmlsZSBsb2NhdGlvbiBsaW5lIG51bWJlciBpcyBsZXNzIHRoYW4gZmlyc3Qg c2NlbmFyaW8ubGluZSwKKysgICAgLiAgICAgdGhlIHByZWNlZWRpbmcgc2NlbmFyaW8gY29udGFp bmVyIChGZWF0dXJlIG9yIFJ1bGUpIGlzIHNlbGVjdGVkLgorICAgICAuICAgKiBUaGUgbGFzdCBz Y2VuYXJpbyBpcyBzZWxlY3RlZCwKKyAgICAgLiAgICAgaWYgdGhlIGZpbGUgbG9jYXRpb24gbGlu ZSBudW1iZXIgaXMgZ3JlYXRlciB0aGFuIHRoZSBsaW5lcyBpbiB0aGUgZmlsZS4KKysgICAgLiAg ICogRm9yIFNjZW5hcmlvT3V0bGluZS5zY2VuYXJpb3M6CisrICAgIC4gICAgICAgICBzY2VuYXJp by5saW5lID09IFNjZW5hcmlvT3V0bGluZS5leGFtcGxlc1t4XS5yb3cubGluZQorKyAgICAuICAg ICBUaGUgbGluZSBudW1iZXIgb2YgdGhlIEV4YW1wbGVzIHJvdyB0aGF0IGNyZWF0ZWQgdGhlIHNj ZW5hcmlvIGlzIGFzc2lnbmVkIHRvIGl0LgorKyAgICAuCisrICAgIC4gU1BFQ0lGSUNBVElPTjog IlNjZW5hcmlvIGNvbnRhaW5lciIgc2VsZWN0aW9uIGJ5IGZpbGUgbG9jYXRpb25zCisrICAgIC4g ICAqIFNjZW5hcmlvIGNvbnRhaW5lcnMgYXJlOiBGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxp bmUKKysgICAgLiAgICogQSBmaWxlIGxvY2F0aW9uIHRoYXQgcG9pbnRzIGludG8gdGhlIG1hdGNo aW5nIHJhbmdlIG9mIGEgc2NlbmFyaW8gY29udGFpbmVyLAorKyAgICAuICAgICBzZWxlY3RzIGFs bCBzY2VuYXJpb3MgLyBydW4taXRlbXMgd2l0aGluIHRoaXMgc2NlbmFyaW8gY29udGFpbmVyLgor KyAgICAuICAgKiBBbnkgbGluZSBudW1iZXIgaW4gdGhlIGZvbGxvd2luZyByYW5nZSBzZWxlY3Rz IHRoZSBzY2VuYXJpbyBjb250YWluZXI6CisrICAgIC4gICAgICAgIGVudGl0eS5saW5lIDw9IGZp bGVfbG9jYXRpb24ubGluZSA8IG5leHRfZW50aXR5LmxpbmUgKG1heWJlOiBjaGlsZCkKKyAgICAg LgorICAgICAuIFNQRUNJRklDQVRJT046IFJ1bm5lciB3aXRoIHNjZW5hcmlvIGxvY2F0aW9ucyAo ZmlsZSBsb2NhdGlvbnMpCisgICAgIC4gICAqIEFkamFjZW50IGZpbGUgbG9jYXRpb25zIGFyZSBt ZXJnZWQgaWYgdGhleSByZWZlciB0byB0aGUgc2FtZSBmaWxlLCBsaWtlOgorQEAgLTE2MiwyMiAr MTc1LDI0IEBAIEZlYXR1cmU6IFNlbGVjdCBTY2VuYXJpb3MgYnkgRmlsZSBMb2NhdGlvbgorICAg ICAgICAgICAgICIiIgorIAorICAgICBAZmlsZV9sb2NhdGlvbi5zZWxlY3RfZmlyc3QKKy0gICAg U2NlbmFyaW86IFNlbGVjdCBmaXJzdCBzY2VuYXJpbyBpZiBsaW5lIG51bWJlciBpcyBzbWFsbGVy IHRoYW4gZmlyc3Qgc2NlbmFyaW8gbGluZQorKyAgICBTY2VuYXJpbzogU2VsZWN0IGFsbCBzY2Vu YXJpb3MgaWYgbGluZSBudW1iZXIgaXMgc21hbGxlciB0aGFuIGZpcnN0IHNjZW5hcmlvIGxpbmUK KyAKKyAgICAgICBDQVNFOiAwIDwgZmlsZV9sb2NhdGlvbi5saW5lIDwgZmlyc3Rfc2NlbmFyaW8u bGluZQorKyAgICAgIEhJTlQ6IEFueSBsaW5lIG51bWJlciBvdXRzaWRlIG9mIGEgc2NlbmFyaW8g bWF5IHBvaW50IGludG8gYSAic2NlbmFyaW8gY29udGFpbmVyIi4KKysgICAgICAgICAgICBJbiB0 aGlzIGNhc2UsIGFsbCB0aGUgc2NlbmFyaW9zIG9mIHRoZSBzY2VuYXJpbyBjb250YWluZXIgYXJl IHNlbGVjdGVkLgorIAorICAgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tZHJ5 LXJ1biAtLW5vLXNraXBwZWQgZmVhdHVyZXMvYWxpY2UuZmVhdHVyZToxIgorICAgICAgICAgVGhl biBpdCBzaG91bGQgcGFzcyB3aXRoOgorICAgICAgICAgICAgICIiIgorICAgICAgICAgICAgIDAg ZmVhdHVyZXMgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkLCAxIHVudGVzdGVkCistICAgICAg ICAgICAgMCBzY2VuYXJpb3MgcGFzc2VkLCAwIGZhaWxlZCwgMSBza2lwcGVkLCAxIHVudGVzdGVk CisrICAgICAgICAgICAgMCBzY2VuYXJpb3MgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkLCAy IHVudGVzdGVkCisgICAgICAgICAgICAgIiIiCisgICAgICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0 cHV0IHNob3VsZCBjb250YWluOgorICAgICAgICAgICAgICIiIgorICAgICAgICAgICAgIEZlYXR1 cmU6IEFsaWNlCisgICAgICAgICAgICAgICBTY2VuYXJpbzogQWxpY2UgRmlyc3QKKyAgICAgICAg ICAgICAiIiIKKy0gICAgICAgIEJ1dCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIG5vdCBjb250 YWluOgorKyAgICAgICAgQnV0IHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgY29udGFpbjoKKyAg ICAgICAgICAgICAiIiIKKyAgICAgICAgICAgICBTY2VuYXJpbzogQWxpY2UgTGFzdAorICAgICAg ICAgICAgICIiIgorZGlmZiAtLWdpdCBhL3B5dGVzdC5pbmkgYi9weXRlc3QuaW5pCitpbmRleCBh Njg2NTk2Li5mZjJhOGEyIDEwMDY0NAorLS0tIGEvcHl0ZXN0LmluaQorKysrIGIvcHl0ZXN0Lmlu aQorQEAgLTE2LDcgKzE2LDcgQEAKKyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyBbcHl0ZXN0 XQorLW1pbnZlcnNpb24gICAgPSA0LjIKKyttaW52ZXJzaW9uICAgID0gMi44CisgdGVzdHBhdGhz ICAgICA9IHRlc3RzCisgcHl0aG9uX2ZpbGVzICA9IHRlc3RfKi5weQorIGFkZG9wdHMgPSAtLW1l dGFkYXRhIFBBQ0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0 L3Rlc3RfcnVubmVyX3V0aWwucHkgYi90ZXN0cy91bml0L3Rlc3RfcnVubmVyX3V0aWwucHkKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5iNTAxOWI4CistLS0gL2Rldi9udWxs CisrKysgYi90ZXN0cy91bml0L3Rlc3RfcnVubmVyX3V0aWwucHkKK0BAIC0wLDAgKzEsMTc1IEBA CisrIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFi c29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKytmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBP cmRlcmVkRGljdAorK2Zyb20gYmVoYXZlLnJ1bm5lcl91dGlsIGltcG9ydCBGZWF0dXJlTGluZURh dGFiYXNlCisrZnJvbSBiZWhhdmUucGFyc2VyIGltcG9ydCBwYXJzZV9mZWF0dXJlCisrZnJvbSBi ZWhhdmUubW9kZWwgaW1wb3J0IEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSwgU2NlbmFy aW8sIEJhY2tncm91bmQKKytpbXBvcnQgcHl0ZXN0CisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKysjIFRFU1QgREFUQTogRmVhdHVyZUxpbmVEYXRhYmFzZQorKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZmVhdHVyZV90ZXh0MSA9IHUiIiIKKysgICAg RmVhdHVyZTogQWxpY2UKKysgICAgICAgIEJhY2tncm91bmQ6IEFsaWNlLkJhY2tncm91bmQKKysg ICAgICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIAorKyAg ICAgICAgU2NlbmFyaW86IEExCisrICAgICAgICAgIEdpdmVuIGEgc2NlbmFyaW8gc3RlcCBwYXNz ZXMKKysKKysgICAgICAgIFNjZW5hcmlvOiBBMgorKyAgICAgICAgICBHaXZlbiBhIHNjZW5hcmlv IHN0ZXAgcGFzc2VzCisrICAgICAgICAgIFdoZW4gYSBzY2VuYXJpbyBzdGVwIHBhc3NlcworKyAg ICAiIiIKKysKKytmZWF0dXJlX3RleHRfd2l0aF9zY2VuYXJpb19vdXRsaW5lID0gdSIiIgorKyAg ICBGZWF0dXJlOiBCb2IKKysgICAgCisrICAgICAgICBTY2VuYXJpbyBPdXRsaW5lOiBCb2IuU09f Ml88cm93LmlkPgorKyAgICAgICAgICBHaXZlbiBhIHBlcnNvbiB3aXRoIG5hbWUgIjxOYW1lPiIK KysgICAgICAgICAgVGhlbiB0aGUgcGVyc29uIGlzIGJvcm4gaW4gPEJpcnRoeWVhcj4KKysgICAg ICAgIAorKyAgICAgICAgICBFeGFtcGxlczoKKysgICAgICAgICAgICB8IE5hbWUgIHwgQmlydGh5 ZWFyIHwKKysgICAgICAgICAgICB8IEFsaWNlIHwgIDE5OTAgICAgIHwKKysgICAgICAgICAgICB8 IEJvYiAgIHwgIDE5OTEgICAgIHwKKysgICAgICAgICAgICAKKysgICAgICAgIFNjZW5hcmlvOiBC b2IuUzMKKysgICAgICAgICAgR2l2ZW4gYSBzY2VuYXJpbyBzdGVwIHBhc3NlcworKyAgICAgICAg ICBXaGVuIGEgc2NlbmFyaW8gc3RlcCBwYXNzZXMKKysgICAgIiIiCisrCisrZmVhdHVyZV90ZXh0 X3dpdGhfcnVsZSA9IHUiIiIKKysgICAgRmVhdHVyZTogQ2hhcmx5CisrICAgICAgICBCYWNrZ3Jv dW5kOiBDaGFybHkuQmFja2dyb3VuZAorKyAgICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3Rl cCBwYXNzZXMKKysKKysgICAgICAgIFNjZW5hcmlvOiBDMQorKyAgICAgICAgICBHaXZlbiBhIHNj ZW5hcmlvIHN0ZXAgcGFzc2VzCisrCisrICAgICAgICBSdWxlOiBDaGFybHkuUnVsZV8xCisrCisr ICAgICAgICAgIFNjZW5hcmlvOiBSdWxlXzEuQzIKKysgICAgICAgICAgICBHaXZlbiBhIHNjZW5h cmlvIHN0ZXAgcGFzc2VzCisrICAgICAgICAgICAgV2hlbiBhIHNjZW5hcmlvIHN0ZXAgcGFzc2Vz CisrICAgICIiIgorKworK2ZlYXR1cmVfZmlsZV9tYXAgPSB7CisrICAgICJiYXNpYy5mZWF0dXJl IjogZmVhdHVyZV90ZXh0MSwKKysgICAgInNjZW5hcmlvX291dGxpbmUuZmVhdHVyZSI6IGZlYXR1 cmVfdGV4dF93aXRoX3NjZW5hcmlvX291dGxpbmUsCisrICAgICJydWxlLmZlYXR1cmUiOiBmZWF0 dXJlX3RleHRfd2l0aF9ydWxlLAorK30KKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorKyMgVEVTVCBTVUlURSBGT1I6IEZlYXR1cmVMaW5lRGF0YWJhc2UKKysjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2NsYXNzIFRlc3RGZWF0dXJlTGluZURhdGFiYXNlKG9i amVjdCk6CisrICAgIGRlZiB0ZXN0X21ha2Uoc2VsZik6CisrICAgICAgICBmZWF0dXJlID0gcGFy c2VfZmVhdHVyZShmZWF0dXJlX3RleHQxLnN0cmlwKCksCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmaWxlbmFtZT0iZmVhdHVyZXMvQWxpY2UuZmVhdHVyZSIpCisrICAgICAgICBz Y2VuYXJpb18wID0gZmVhdHVyZS5zY2VuYXJpb3NbMF0KKysgICAgICAgIHNjZW5hcmlvXzEgPSBm ZWF0dXJlLnNjZW5hcmlvc1sxXQorKworKyAgICAgICAgbGluZV9kYXRhYmFzZSA9IEZlYXR1cmVM aW5lRGF0YWJhc2UubWFrZShmZWF0dXJlKQorKyAgICAgICAgZXhwZWN0ZWQgPSBPcmRlcmVkRGlj dChbCisrICAgICAgICAgICAgKDAsIGZlYXR1cmUpLAorKyAgICAgICAgICAgIChmZWF0dXJlLmxv Y2F0aW9uLmxpbmUsIGZlYXR1cmUpLAorKyAgICAgICAgICAgIChzY2VuYXJpb18wLmxpbmUsIHNj ZW5hcmlvXzApLAorKyAgICAgICAgICAgIChzY2VuYXJpb18xLmxpbmUsIHNjZW5hcmlvXzEpLAor KyAgICAgICAgXSkKKysgICAgICAgIGFzc2VydCBsaW5lX2RhdGFiYXNlLmRhdGEgPT0gZXhwZWN0 ZWQKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLmxvY2F0aW9uLmxpbmUgPT0gMQorKworKyAgICBk ZWYgdGVzdF9tYWtlX193aXRoX3NjZW5hcmlvX291dGxpbmUoc2VsZik6CisrICAgICAgICBmZWF0 dXJlID0gcGFyc2VfZmVhdHVyZShmZWF0dXJlX3RleHRfd2l0aF9zY2VuYXJpb19vdXRsaW5lLnN0 cmlwKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZT0iZmVhdHVy ZXMvQm9iLmZlYXR1cmUiKQorKyAgICAgICAgc2NlbmFyaW9zID0gZmVhdHVyZS53YWxrX3NjZW5h cmlvcyh3aXRoX291dGxpbmVzPVRydWUpCisrICAgICAgICBzY2VuYXJpb19vdXRsaW5lID0gc2Nl bmFyaW9zWzBdCisrICAgICAgICBhc3NlcnQgc2NlbmFyaW9fb3V0bGluZSBpcyBmZWF0dXJlLnJ1 bl9pdGVtc1swXQorKyAgICAgICAgc2NlbmFyaW9fMSA9IHNjZW5hcmlvc1sxXQorKyAgICAgICAg c2NlbmFyaW9fMiA9IHNjZW5hcmlvc1syXQorKyAgICAgICAgc2NlbmFyaW9fMyA9IHNjZW5hcmlv c1szXQorKworKyAgICAgICAgbGluZV9kYXRhYmFzZSA9IEZlYXR1cmVMaW5lRGF0YWJhc2UubWFr ZShmZWF0dXJlKQorKyAgICAgICAgZXhwZWN0ZWQgPSBPcmRlcmVkRGljdChbCisrICAgICAgICAg ICAgKDAsIGZlYXR1cmUpLAorKyAgICAgICAgICAgIChmZWF0dXJlLmxvY2F0aW9uLmxpbmUsIGZl YXR1cmUpLAorKyAgICAgICAgICAgIChzY2VuYXJpb19vdXRsaW5lLmxpbmUsIHNjZW5hcmlvX291 dGxpbmUpLAorKyAgICAgICAgICAgIChzY2VuYXJpb18xLmxpbmUsIHNjZW5hcmlvXzEpLAorKyAg ICAgICAgICAgIChzY2VuYXJpb18yLmxpbmUsIHNjZW5hcmlvXzIpLAorKyAgICAgICAgICAgIChz Y2VuYXJpb18zLmxpbmUsIHNjZW5hcmlvXzMpLAorKyAgICAgICAgXSkKKysgICAgICAgIGFzc2Vy dCBsaW5lX2RhdGFiYXNlLmRhdGEgPT0gZXhwZWN0ZWQKKysgICAgICAgIGFzc2VydCBmZWF0dXJl LmxvY2F0aW9uLmxpbmUgPCBzY2VuYXJpb19vdXRsaW5lLmxvY2F0aW9uLmxpbmUKKysgICAgICAg IGFzc2VydCBzY2VuYXJpb19vdXRsaW5lLmxvY2F0aW9uLmxpbmUgPCBzY2VuYXJpb18xLmxvY2F0 aW9uLmxpbmUKKysgICAgICAgIGFzc2VydCBzY2VuYXJpb18xLmxvY2F0aW9uLmxpbmUgPCBzY2Vu YXJpb18yLmxvY2F0aW9uLmxpbmUKKysgICAgICAgIGFzc2VydCBzY2VuYXJpb18yLmxvY2F0aW9u LmxpbmUgPCBzY2VuYXJpb18zLmxvY2F0aW9uLmxpbmUKKysKKysKKysgICAgZGVmIHRlc3Rfc2Vs ZWN0X3J1bl9pdGVtc19ieV9saW5lX19mZWF0dXJlX2xpbmVfc2VsZWN0c19mZWF0dXJlKHNlbGYp OgorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUoZmVhdHVyZV90ZXh0MSwgZmlsZW5h bWU9ImZlYXR1cmVzL0FsaWNlLmZlYXR1cmUiKQorKyAgICAgICAgbGluZV9kYXRhYmFzZSA9IEZl YXR1cmVMaW5lRGF0YWJhc2UubWFrZShmZWF0dXJlKQorKyAgICAgICAgc2VsZWN0ZWQgPSBsaW5l X2RhdGFiYXNlLnNlbGVjdF9ydW5faXRlbV9ieV9saW5lKGZlYXR1cmUubG9jYXRpb24ubGluZSkK KysgICAgICAgIGFzc2VydCBzZWxlY3RlZCBpcyBmZWF0dXJlCisrICAgICAgICBhc3NlcnQgaXNp bnN0YW5jZShzZWxlY3RlZCwgRmVhdHVyZSkKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRy aXplKCJmaWxlbmFtZSIsIFsKKysgICAgICAgICJiYXNpYy5mZWF0dXJlIiwgInNjZW5hcmlvX291 dGxpbmUuZmVhdHVyZSIsICJydWxlLmZlYXR1cmUiCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X3Nl bGVjdF9ydW5faXRlbXNfYnlfbGluZV9fZW50aXR5X2xpbmVfc2VsZWN0c19lbnRpdHkoc2VsZiwg ZmlsZW5hbWUpOgorKyAgICAgICAgZmVhdHVyZV90ZXh0ID0gZmVhdHVyZV9maWxlX21hcFtmaWxl bmFtZV0KKysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJlKGZlYXR1cmVfdGV4dCwgZmls ZW5hbWU9ZmlsZW5hbWUpCisrICAgICAgICBsaW5lX2RhdGFiYXNlID0gRmVhdHVyZUxpbmVEYXRh YmFzZS5tYWtlKGZlYXR1cmUpCisrICAgICAgICBsYXN0X2xpbmUgPSAwCisrICAgICAgICBhbGxf cnVuX2l0ZW1zID0gZmVhdHVyZS53YWxrX3NjZW5hcmlvcyh3aXRoX291dGxpbmVzPVRydWUsIHdp dGhfcnVsZXM9VHJ1ZSkKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBhbGxfcnVuX2l0ZW1zOgor KyAgICAgICAgICAgIHNlbGVjdGVkID0gbGluZV9kYXRhYmFzZS5zZWxlY3RfcnVuX2l0ZW1fYnlf bGluZShydW5faXRlbS5sb2NhdGlvbi5saW5lKQorKyAgICAgICAgICAgIGFzc2VydCBzZWxlY3Rl ZCBpcyBydW5faXRlbQorKyAgICAgICAgICAgIGFzc2VydCBsYXN0X2xpbmUgPCBzZWxlY3RlZC5s b2NhdGlvbi5saW5lCisrICAgICAgICAgICAgbGFzdF9saW5lID0gcnVuX2l0ZW0ubG9jYXRpb24u bGluZQorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImZpbGVuYW1lIiwgWworKyAg ICAgICAgImJhc2ljLmZlYXR1cmUiLCAic2NlbmFyaW9fb3V0bGluZS5mZWF0dXJlIiwgInJ1bGUu ZmVhdHVyZSIKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfc2VsZWN0X3J1bl9pdGVtc19ieV9saW5l X19saW5lX2JlZm9yZV9lbnRpdHlfc2VsZWN0c19sYXN0X2VudGl0eShzZWxmLCBmaWxlbmFtZSk6 CisrICAgICAgICBmZWF0dXJlX3RleHQgPSBmZWF0dXJlX2ZpbGVfbWFwW2ZpbGVuYW1lXQorKyAg ICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUoZmVhdHVyZV90ZXh0LCBmaWxlbmFtZT1maWxl bmFtZSkKKysgICAgICAgIGxpbmVfZGF0YWJhc2UgPSBGZWF0dXJlTGluZURhdGFiYXNlLm1ha2Uo ZmVhdHVyZSkKKysgICAgICAgIGFsbF9ydW5faXRlbXMgPSBmZWF0dXJlLndhbGtfc2NlbmFyaW9z KHdpdGhfb3V0bGluZXM9VHJ1ZSwgd2l0aF9ydWxlcz1UcnVlKQorKyAgICAgICAgbGFzdF9ydW5f aXRlbSA9IGZlYXR1cmUKKysgICAgICAgIGZvciBydW5faXRlbSBpbiBhbGxfcnVuX2l0ZW1zOgor KyAgICAgICAgICAgIHByZWRlY2Vzc29yX2xpbmUgPSBydW5faXRlbS5sb2NhdGlvbi5saW5lIC0g MQorKyAgICAgICAgICAgIHNlbGVjdGVkID0gbGluZV9kYXRhYmFzZS5zZWxlY3RfcnVuX2l0ZW1f YnlfbGluZShwcmVkZWNlc3Nvcl9saW5lKQorKyAgICAgICAgICAgIGFzc2VydCBzZWxlY3RlZCBp cyBsYXN0X3J1bl9pdGVtCisrICAgICAgICAgICAgYXNzZXJ0IHNlbGVjdGVkIGlzIG5vdCBydW5f aXRlbQorKyAgICAgICAgICAgIGxhc3RfcnVuX2l0ZW0gPSBydW5faXRlbQorKworKyAgICBAcHl0 ZXN0Lm1hcmsucGFyYW1ldHJpemUoImZpbGVuYW1lIiwgWworKyAgICAgICAgImJhc2ljLmZlYXR1 cmUiLCAic2NlbmFyaW9fb3V0bGluZS5mZWF0dXJlIiwgInJ1bGUuZmVhdHVyZSIKKysgICAgXSkK KysgICAgZGVmIHRlc3Rfc2VsZWN0X3J1bl9pdGVtc19ieV9saW5lX19saW5lX2FmdGVyX2VudGl0 eV9zZWxlY3RzX2VudGl0eShzZWxmLCBmaWxlbmFtZSk6CisrICAgICAgICAjIC0tIEhJTlQ6IElu IG1vc3QgY2FzZXMKKysgICAgICAgICMgRVhDRVBUOgorKyAgICAgICAgIyAgICogU2NlbmFyaW9z IG9mIFNjZW5hcmlvT3V0bGluZTogc2NlbmFyaW8ubGluZSA9PSBTTy5leGFtcGxlcy5yb3cubGlu ZQorKyAgICAgICAgIyAgICogRW1wdHkgZW50aXR5IHdpdGhvdXQgc3RlcHMgaXMgZGlyZWN0bHkg Zm9sbG93ZWQgYnkgb3RoZXIgZW50aXR5CisrICAgICAgICBmZWF0dXJlX3RleHQgPSBmZWF0dXJl X2ZpbGVfbWFwW2ZpbGVuYW1lXQorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUoZmVh dHVyZV90ZXh0LCBmaWxlbmFtZT1maWxlbmFtZSkKKysgICAgICAgIGxpbmVfZGF0YWJhc2UgPSBG ZWF0dXJlTGluZURhdGFiYXNlLm1ha2UoZmVhdHVyZSkKKysgICAgICAgIGFsbF9ydW5faXRlbXMg PSBmZWF0dXJlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9VHJ1ZSwgd2l0aF9ydWxlcz1U cnVlKQorKyAgICAgICAgZmlsZV9lbmRfbGluZSA9IGFsbF9ydW5faXRlbXNbLTFdLmxvY2F0aW9u LmxpbmUgKyAxMDAwCisrICAgICAgICBmb3IgaW5kZXgsIHJ1bl9pdGVtIGluIGVudW1lcmF0ZShh bGxfcnVuX2l0ZW1zKToKKysgICAgICAgICAgICBuZXh0X2xpbmUgPSBydW5faXRlbS5sb2NhdGlv bi5saW5lICsgMQorKyAgICAgICAgICAgIG5leHRfZW50aXR5X2xpbmUgPSBmaWxlX2VuZF9saW5l CisrICAgICAgICAgICAgaWYgaW5kZXgrMSA8IGxlbihhbGxfcnVuX2l0ZW1zKToKKysgICAgICAg ICAgICAgICAgbmV4dF9lbnRpdHkgPSBhbGxfcnVuX2l0ZW1zW2luZGV4KzFdCisrICAgICAgICAg ICAgICAgIG5leHRfZW50aXR5X2xpbmUgPSBuZXh0X2VudGl0eS5saW5lCisrICAgICAgICAgICAg aWYgbmV4dF9saW5lID49IG5leHRfZW50aXR5X2xpbmU6CisrICAgICAgICAgICAgICAgICMgLS0g RVhDTFVERTogU2NlbmFyaW9zIGluIGEgU2NlbmFyaW9PdXRsaW5lCisrICAgICAgICAgICAgICAg IHByaW50KCJFWENMVURFRDogJXM6ICVzIChsaW5lPSVzKSIgJQorKyAgICAgICAgICAgICAgICAg ICAgICAocnVuX2l0ZW0ua2V5d29yZCwgcnVuX2l0ZW0ubmFtZSwgcnVuX2l0ZW0ubGluZSkpCisr ICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrCisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaW5l X2RhdGFiYXNlLnNlbGVjdF9ydW5faXRlbV9ieV9saW5lKG5leHRfbGluZSkKKysgICAgICAgICAg ICBhc3NlcnQgc2VsZWN0ZWQgaXMgcnVuX2l0ZW0KZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzgtZG9jcy1BZGQtZGVzY3Jp cHRpb24tZm9yLVNlbGVjdC1ieS1sb2NhdGlvbi1mb3ItU2Nlbi5wYXRjaCBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzgtZG9jcy1BZGQtZGVz Y3JpcHRpb24tZm9yLVNlbGVjdC1ieS1sb2NhdGlvbi1mb3ItU2Nlbi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjE0Mzk0NjAzZgotLS0gL2Rldi9udWxsCisrKyBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwMzgt ZG9jcy1BZGQtZGVzY3JpcHRpb24tZm9yLVNlbGVjdC1ieS1sb2NhdGlvbi1mb3ItU2Nlbi5wYXRj aApAQCAtMCwwICsxLDU4IEBACitGcm9tIGE2Mzg4YzBlOTdlNDM3OGE0ZWY2MjgzNjFhNDZmZjZk MDJkMzE1OWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lz QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgNiBKdWwgMjAxOSAxMDo1MDo1 NCArMDIwMAorU3ViamVjdDogW1BBVENIXSBkb2NzOiBBZGQgZGVzY3JpcHRpb24gZm9yICJTZWxl Y3QtYnktbG9jYXRpb24gZm9yIFNjZW5hcmlvCisgQ29udGFpbmVycyIKKworLS0tCisgZG9jcy9u ZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdCB8IDMzICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQg YS9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0IGIvZG9jcy9uZXdfYW5kX25vdGV3 b3J0aHlfdjEuMi43LnJzdAoraW5kZXggODBkOTU3Ni4uZmYxY2QxZiAxMDA2NDQKKy0tLSBhL2Rv Y3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QKKysrKyBiL2RvY3MvbmV3X2FuZF9ub3Rl d29ydGh5X3YxLjIuNy5yc3QKK0BAIC03LDYgKzcsNyBAQCBTdW1tYXJ5OgorICogVXNlL1N1cHBv cnQgOnB5cGk6YGN1Y3VtYmVyLXRhZy1leHByZXNzaW9uc2AgKHN1cGVyY2VlZDogb2xkLXN0eWxl IHRhZy1leHByZXNzaW9ucykKKyAqIDpweXBpOmBjdWN1bWJlci10YWctZXhwcmVzc2lvbnNgIGFy ZSBleHRlbmRlZCBieSAidGFnLW1hdGNoaW5nIgorICAgdG8gbWF0Y2ggcGFydGlhbCB0YWcgbmFt ZXMsIGxpa2U6IGBgQGZvby4qYGAKKysqIGBTZWxlY3QtYnktbG9jYXRpb24gZm9yIFNjZW5hcmlv IENvbnRhaW5lcnNgXyAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKQorIAorIC4uIF9g RXhhbXBsZSBNYXBwaW5nYDogaHR0cHM6Ly9jdWN1bWJlci5pby9ibG9nL2V4YW1wbGUtbWFwcGlu Zy1pbnRyb2R1Y3Rpb24vCisgLi4gX2BFeGFtcGxlIE1hcHBpbmcgV2ViaW5hcmA6IGh0dHBzOi8v Y3VjdW1iZXIuaW8vYmxvZy9leGFtcGxlLW1hcHBpbmctd2ViaW5hci8KK0BAIC0xMDIsMyArMTAz LDM1IEBAIE92ZXJ2aWV3IG9mIHRoZSBgRXhhbXBsZSBNYXBwaW5nYF8gY29uY2VwdHM6CisgCisg CisgLi4gaW5jbHVkZTo6IF9jb250ZW50LnRhZ19leHByZXNzaW9uc192Mi5yc3QKKysKKysKKytT ZWxlY3QtYnktbG9jYXRpb24gZm9yIFNjZW5hcmlvIENvbnRhaW5lcnMKKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrCisrSW4gdGhlIHBhc3QsIGl0IHdhcyBhbHJlYWR5IHBvc3NpYmxlIHRvIHNj ZW5hcmlvKHMpIGJ5IHVzaW5nIGl0cyAqKmZpbGUtbG9jYXRpb24qKi4KKysKKytBICoqZmlsZS1s b2NhdGlvbioqIGhhcyB0aGUgc2NoZW1hOiBgYDxGSUxFTkFNRT46PExJTkVfTlVNQkVSPmBgLgor K0V4YW1wbGU6IGBgZmVhdHVyZXMvYWxpY2UuZmVhdHVyZToxMmBgCisrKHJlZmVycyB0byBgYGxp bmUgMTJgYCBpbiBgYGZlYXR1cmVzL2FsaWNlLmZlYXR1cmVgYCBmaWxlKS4KKysKKytSdWxlcyB0 byBzZWxlY3QgKipTY2VuYXJpb3MqKiBieSB1c2luZyB0aGUgZmlsZS1sb2NhdGlvbjoKKysKKysq ICoqU2NlbmFyaW86KiogVXNlIGEgZmlsZS1sb2NhdGlvbiB0aGF0IHBvaW50cyB0byB0aGUga2V5 d29yZC90aXRsZSBvciBpdHMgc3RlcHMKKysgICh1bnRpbCBuZXh0IFNjZW5hcmlvL0VudGl0eSBz dGFydHMpLgorKworKyogKipTY2VuYXJpbyBvZiBhIFNjZW5hcmlvT3V0bGluZToqKgorKyAgVXNl IHRoZSBmaWxlLWxvY2F0aW9uIG9mIGl0cyBFeGFtcGxlcyByb3cuCisrCisrTm93IHlvdSBjYW4g c2VsZWN0IGFsbCBlbnRpdGllcyBvZiBhICoqU2NlbmFyaW8gQ29udGFpbmVyKiogKEZlYXR1cmUs IFJ1bGUsIFNjZW5hcmlvT3V0bGluZSk6CisrCisrKiAqKkZlYXR1cmU6KioKKysgIFVzZSBmaWxl LWxvY2F0aW9uIGJlZm9yZSBmaXJzdCBjb250YWluZWQgZW50aXR5L1NjZW5hcmlvIHN0YXJ0cy4K KysKKysqICoqUnVsZToqKgorKyAgVXNlIGZpbGUtbG9jYXRpb24gZnJvbSBrZXl3b3JkL3RpdGxl IGxpbmUgdG8gbGluZSBiZWZvcmUgaXRzIGZpcnN0IFNjZW5hcmlvL0JhY2tncm91bmQuCisrCisr KiAqKlNjZW5hcmlvT3V0bGluZToqKgorKyAgVXNlIGZpbGUtbG9jYXRpb24gZnJvbSBrZXl3b3Jk L3RpdGxlIGxpbmUgdG8gbGluZSBiZWZvcmUgaXRzIEV4YW1wbGVzIHJvd3MuCisrCisrQSBmaWxl LWxvY2F0aW9uIGludG8gYSAqKlNjZW5hcmlvIENvbnRhaW5lcioqIHNlbGVjdHMgYWxsIGl0cyBl bnRpdGllcworKyhTY2VuYXJpb3MsIC4uLikuCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDM5LXRlc3RzLUZpeC13YXJuaW5n cy1mb3ItcHl0aG9uMy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwMzktdGVzdHMtRml4LXdhcm5pbmdzLWZvci1weXRob24zLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMmI4MGQ1ZGYxCi0tLSAvZGV2 L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDAzOS10ZXN0cy1GaXgtd2FybmluZ3MtZm9yLXB5dGhvbjMucGF0Y2gKQEAgLTAsMCAr MSw1MCBAQAorRnJvbSA5M2Y1Nzg2OTg4NDRkNzI3NmU1YjJmMjg3ZWU3ZmYzYmNmYzA0OWJmIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3Jl cGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDYgSnVsIDIwMTkgMTM6MzU6NTEgKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSF0gdGVzdHM6IEZpeCB3YXJuaW5ncyBmb3IgcHl0aG9uMy4KKworLS0tCisg dGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwMzM2LnB5IHwgIDEgKworIHRlc3RzL3VuaXQvdGVzdF9w YXJzZXIucHkgICAgICB8IDExICsrKysrKystLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9pc3N1ZXMvdGVz dF9pc3N1ZTAzMzYucHkgYi90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTAzMzYucHkKK2luZGV4IGVi NGMzZmQuLjA5MjAxYWUgMTAwNjQ0CistLS0gYS90ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1ZTAzMzYu cHkKKysrKyBiL3Rlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDMzNi5weQorQEAgLTUyLDYgKzUyLDcg QEAgQXNzZXJ0aW9uRXJyb3IKKyAgICAgICAgICAgICBhc3NlcnQgZmlsZV9saW5lX3RleHQgaW4g dGV4dDIKKyAKKyAgICAgIyBAcmVxdWlyZV9weXRob24yCisrICAgIEBweXRlc3QubWFyay5maWx0 ZXJ3YXJuaW5ncygiaWdub3JlOmludmFsaWQgZXNjYXBlIHNlcXVlbmNlIikKKyAgICAgZGVmIHRl c3RfX3Byb2JsZW1fZXhpc3RzX3dpdGhfcHJvYmxlbWF0aWNfZW5jb2Rpbmcoc2VsZik6CisgICAg ICAgICAiIiJUZXN0IGVuc3VyZXMgdGhhdCBwcm9ibGVtIGV4aXN0cyB3aXRoIGVuY29kaW5nPXVu aWNvZGUtZXNjYXBlIiIiCisgICAgICAgICAjIC0tIE5PVEU6IEV4cGxpY2l0IHVzZSBvZiBwcm9i bGVtYXRpYyBlbmNvZGluZworZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9wYXJzZXIucHkg Yi90ZXN0cy91bml0L3Rlc3RfcGFyc2VyLnB5CitpbmRleCBlY2JiMWJmLi4wMTAwNmY5IDEwMDY0 NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X3BhcnNlci5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0 X3BhcnNlci5weQorQEAgLTU2NCwxNiArNTY0LDE5IEBAIEZlYXR1cmU6IFN0dWZmCisgICAgICAg ICAgICAgKCd0aGVuJywgJ1RoZW4nLCAnc3R1ZmYgaXMgaW4gYnVja2V0cycsIE5vbmUsIE5vbmUp LAorICAgICAgICAgXSkKKyAKKysgICAgQHB5dGVzdC5tYXJrLmZpbHRlcndhcm5pbmdzKCJpZ25v cmU6aW52YWxpZCBlc2NhcGUgc2VxdWVuY2UiKQorICAgICBkZWYgdGVzdF9wYXJzZXNfZmVhdHVy ZV93aXRoX3RhYmxlX2FuZF9lc2NhcGVkX3BpcGVfaW5fY2VsbF92YWx1ZXMoc2VsZik6CisrICAg ICAgICAjIC0tIEhJTlQgcHkzNzogRGVwcmVjYXRpb25XYXJuaW5nOiBpbnZhbGlkIGVzY2FwZSBz ZXF1ZW5jZSAnXHwnCisrICAgICAgICAjIFVTRTogRG91YmxlIGVzY2FwZWQtYmFja3NsYXNoZXMu CisgICAgICAgICBkb2MgPSB1JycnCisgRmVhdHVyZToKKyAgIFNjZW5hcmlvOgorICAgICBHaXZl biB3ZSBoYXZlIHNwZWNpYWwgY2VsbCB2YWx1ZXM6CisgICAgICAgfCBuYW1lICAgfCB2YWx1ZSAg ICB8CistICAgICAgfCBhbGljZSAgfCBvbmVcfHR3byB8CistICAgICAgfCBib2IgICAgfFx8b25l ICAgICB8CistICAgICAgfCBjaGFybHkgfCAgICAgb25lXHx8CistICAgICAgfCBkb3JvICAgfCBv bmVcfHR3b1x8dGhyZWVcfGZvdXIgfAorKyAgICAgIHwgYWxpY2UgIHwgb25lXFx8dHdvIHwKKysg ICAgICB8IGJvYiAgICB8XFx8b25lICAgICB8CisrICAgICAgfCBjaGFybHkgfCAgICAgb25lXFx8 fAorKyAgICAgIHwgZG9ybyAgIHwgb25lXFx8dHdvXFx8dGhyZWVcXHxmb3VyIHwKKyAnJycubHN0 cmlwKCkKKyAgICAgICAgIGZlYXR1cmUgPSBwYXJzZXIucGFyc2VfZmVhdHVyZShkb2MpCisgICAg ICAgICBhc3NlcnQgbGVuKGZlYXR1cmUuc2NlbmFyaW9zKSA9PSAxCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQwLVVzZS1j dWN1bWJlci10YWctZXhwcmVzc2lvbnMtMS4xLjItdG8tZml4LXdhcm5pbmdzLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0MC1Vc2Ut Y3VjdW1iZXItdGFnLWV4cHJlc3Npb25zLTEuMS4yLXRvLWZpeC13YXJuaW5ncy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjg1YzFiYzE2YQotLS0gL2Rldi9udWxs CisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwNDAtVXNlLWN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucy0xLjEuMi10by1maXgtd2FybmluZ3Mu cGF0Y2gKQEAgLTAsMCArMSw1NSBAQAorRnJvbSAyMWEzOTliZjZlMmUyZWIwOWM5OGQxNzNmMWQw OTc1YmNlY2JmMWU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVu aXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDYgSnVsIDIwMTkgMTM6 MzY6NTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIGN1Y3VtYmVyLXRhZy1leHByZXNzaW9u cyAxLjEuMiAodG8gZml4IHdhcm5pbmdzKS4KKworcHkucmVxdWlyZW1lbnRzOiBBZGQgdHdpbmUs IGJ1bXAydmVyc2lvbgorLS0tCisgcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCAgIHwgMiArLQor IHB5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCB8IDYgKysrKystCisgc2V0dXAucHkgICAgICAg ICAgICAgICAgICAgIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCBi L3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKK2luZGV4IDNiNzFiZmIuLmFkNWI5YTYgMTAwNjQ0 CistLS0gYS9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMv YmFzaWMudHh0CitAQCAtOCw3ICs4LDcgQEAKKyAjICAqIGh0dHA6Ly93d3cucGlwLWluc3RhbGxl ci5vcmcvCisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCistY3VjdW1iZXItdGFnLWV4cHJlc3Np b25zID49IDEuMS4xCisrY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zID49IDEuMS4yCisgcGFyc2Ug Pj0gMS44LjIKKyBwYXJzZV90eXBlID49IDAuNC4yCisgc2l4ID49IDEuMTIuMAorZGlmZiAtLWdp dCBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9w LnR4dAoraW5kZXggZDgyMzM4OS4uYTE2ZDdiZiAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50 cy9kZXZlbG9wLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CitAQCAtMTEs NyArMTEsMTEgQEAgcGF0aGxpYjsgICAgcHl0aG9uX3ZlcnNpb24gPD0gJzMuNCcKKyBweWNtZAor IAorICMgLS0gQ09ORklHVVJBVElPTiBNQU5BR0VNRU5UIChoZWxwZXJzKToKKy1idW1wdmVyc2lv biA+PSAwLjQuMAorKyMgRk9STUVSOiBidW1wdmVyc2lvbiA+PSAwLjQuMAorK2J1bXAydmVyc2lv biA+PSAwLjUuNgorKworKyMgLS0gUkVMRUFTRSBNQU5BR0VNRU5UOiBQdXNoIHBhY2thZ2UgdG8g cHlwaS4KKyt0d2luZSA+PSAxLjEzLjAKKyAKKyAjIC0tIERFVkVMT1BNRU5UIFNVUFBPUlQ6Cisg dG94ICAgPj0gMS44LjEKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA5 Yzc1NjBkLi5jZWE0MzkyIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitA QCAtNzYsNyArNzYsNyBAQCBzZXR1cCgKKyAgICAgIyBTVVBQT1JUOiBweXRob24yLjcsIHB5dGhv bjMuMyAob3IgaGlnaGVyKQorICAgICBweXRob25fcmVxdWlyZXM9Ij49Mi43LCAhPTMuMC4qLCAh PTMuMS4qLCAhPTMuMi4qIiwKKyAgICAgaW5zdGFsbF9yZXF1aXJlcz1bCistICAgICAgICAiY3Vj dW1iZXItdGFnLWV4cHJlc3Npb25zID49IDEuMS4xIiwKKysgICAgICAgICJjdWN1bWJlci10YWct ZXhwcmVzc2lvbnMgPj0gMS4xLjIiLAorICAgICAgICAgInBhcnNlID49IDEuOC4yIiwKKyAgICAg ICAgICJwYXJzZV90eXBlID49IDAuNC4yIiwKKyAgICAgICAgICJzaXggPj0gMS4xMi4wIiwKZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNDEtTUVOVElPTi1FTkhBTkNFTUVOVC1TdXBwb3J0LWVtb2ppcy1pbi1mZWF0dXJlLWZp bGVzLS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNDEtTUVOVElPTi1FTkhBTkNFTUVOVC1TdXBwb3J0LWVtb2ppcy1pbi1mZWF0dXJl LWZpbGVzLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjZkNjlm NDc1NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDEtTUVOVElPTi1FTkhBTkNFTUVOVC1TdXBwb3J0LWVtb2pp cy1pbi1mZWF0dXJlLWZpbGVzLS5wYXRjaApAQCAtMCwwICsxLDkxIEBACitGcm9tIDFkM2MyODhh MmVlZDhjYWVmMjQzNTZlMmE5MjQ4MzQyNWJlZTAzNzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6 IFNhdCwgNiBKdWwgMjAxOSAxNDoxODoxNiArMDIwMAorU3ViamVjdDogW1BBVENIXSBNRU5USU9O IEVOSEFOQ0VNRU5UOiBTdXBwb3J0IGVtb2ppcyBpbiBmZWF0dXJlIGZpbGVzIGFuZAorIHN0ZXBz LgorCistLS0KKyBDSEFOR0VTLnJzdCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCisg ZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdCB8IDE3ICsrKysrKysrKysrKysrKysr CisgZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJlICAgICAgICB8ICA3ICsrKysrKysKKyBmZWF0 dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5IHwgMTAgKysrKysrKysrKworIDQgZmlsZXMg Y2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIGNyZWF0ZSBtb2RlIDEw MDY0NCBmZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZmVh dHVyZXMvc3RlcHMvaTE4bl9lbW9qaV9zdGVwcy5weQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5y c3QgYi9DSEFOR0VTLnJzdAoraW5kZXggMDFiZDFiZC4uZDE2NTI3NSAxMDA2NDQKKy0tLSBhL0NI QU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTI0LDggKzI0LDkgQEAgR09BTFM6Cisg RU5IQU5DRU1FTlRTOgorIAorICogQWRkIHN1cHBvcnQgZm9yIEdoZXJraW4gdjYgZ3JhbW1hciBh bmQgc3ludGF4IGluIGBgKi5mZWF0dXJlYGAgZmlsZXMKKy0qIFVzZSBjdWN1bWJlciAiZ2hlcmtp bi1sYW5ndWFnZXMuanNvbiIgbm93IChzaW1wbGlmeTogR2hlcmtpbiB2NiBhbGlhc2VzLCBsYW5n dWFnZSB1c2FnZSkKKyAqIFVzZSBgY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zYF8gd2l0aCB0YWct bWF0Y2hpbmcgZXh0ZW5zaW9uIChzdXBlcmNlZWRzOiBvbGQtc3R5bGUgdGFnLWV4cHJlc3Npb25z KQorKyogVXNlIGN1Y3VtYmVyICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBub3cgKHNpbXBsaWZ5 OiBHaGVya2luIHY2IGFsaWFzZXMsIGxhbmd1YWdlIHVzYWdlKQorKyogU3VwcG9ydCBlbW9qaXMg aW4gYGAqLmZlYXR1cmVgYCBmaWxlcyBhbmQgc3RlcHMKKyAqIGlzc3VlICM2Nzg6IFNjZW5hcmlv IE91dGxpbmU6IFN1cHBvcnQgdGFncyB3aXRoIGNvbW1hcyBhbmQgc2VtaWNvbG9ucyAocHJvdmlk ZWQgYnk6IGxhd25tb3dlcmxhdHRlLCBwdWxsICM2NzkpCisgKiBpc3N1ZSAjNjc1OiBGZWF0dXJl IGZpbGVzIGNhbm5vdCBiZSBmb3VuZCB3aXRoaW4gc3ltbGluayBkaXJlY3RvcmllcyAocHJvdmlk ZWQgYnk6IHNtYWRuZXNzLCBwdWxsICM2ODApCisgKiBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBz dXBwb3J0IGZvciAiU2NlbmFyaW8gY29udGFpbmVyIiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9P dXRsaW5lKSAocmVsYXRlZCB0bzogIzM5MSkKK2RpZmYgLS1naXQgYS9kb2NzL25ld19hbmRfbm90 ZXdvcnRoeV92MS4yLjcucnN0IGIvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAor aW5kZXggZmYxY2QxZi4uYjcyNDJmNyAxMDA2NDQKKy0tLSBhL2RvY3MvbmV3X2FuZF9ub3Rld29y dGh5X3YxLjIuNy5yc3QKKysrKyBiL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QK K0BAIC04LDYgKzgsNyBAQCBTdW1tYXJ5OgorICogOnB5cGk6YGN1Y3VtYmVyLXRhZy1leHByZXNz aW9uc2AgYXJlIGV4dGVuZGVkIGJ5ICJ0YWctbWF0Y2hpbmciCisgICB0byBtYXRjaCBwYXJ0aWFs IHRhZyBuYW1lcywgbGlrZTogYGBAZm9vLipgYAorICogYFNlbGVjdC1ieS1sb2NhdGlvbiBmb3Ig U2NlbmFyaW8gQ29udGFpbmVyc2BfIChGZWF0dXJlLCBSdWxlLCBTY2VuYXJpb091dGxpbmUpCisr KiBgU3VwcG9ydCBmb3IgZW1vamlzIGluIGZlYXR1cmUgZmlsZXMgYW5kIHN0ZXBzYF8KKyAKKyAu LiBfYEV4YW1wbGUgTWFwcGluZ2A6IGh0dHBzOi8vY3VjdW1iZXIuaW8vYmxvZy9leGFtcGxlLW1h cHBpbmctaW50cm9kdWN0aW9uLworIC4uIF9gRXhhbXBsZSBNYXBwaW5nIFdlYmluYXJgOiBodHRw czovL2N1Y3VtYmVyLmlvL2Jsb2cvZXhhbXBsZS1tYXBwaW5nLXdlYmluYXIvCitAQCAtMTM1LDMg KzEzNiwxOSBAQCBOb3cgeW91IGNhbiBzZWxlY3QgYWxsIGVudGl0aWVzIG9mIGEgKipTY2VuYXJp byBDb250YWluZXIqKiAoRmVhdHVyZSwgUnVsZSwgU2NlbgorIAorIEEgZmlsZS1sb2NhdGlvbiBp bnRvIGEgKipTY2VuYXJpbyBDb250YWluZXIqKiBzZWxlY3RzIGFsbCBpdHMgZW50aXRpZXMKKyAo U2NlbmFyaW9zLCAuLi4pLgorKworKworK1N1cHBvcnQgZm9yIEVtb2ppcyBpbiBGZWF0dXJlIEZp bGVzIGFuZCBTdGVwcworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKysqIEVtb2ppcyBjYW4g bm93IGJlIHVzZWQgaW4gYGAqLmZlYXR1cmVgYCBmaWxlcy4KKysqIEVtb2ppcyBjYW4gbm93IGJl IHVzZWQgaW4gc3RlcCBkZWZpbml0aW9ucy4KKysqIFlvdSBjYW4gbm93IHVzZSBgYGxhbmd1YWdl PWVtb2ppIChlbSlgYCBpbiBgYCouZmVhdHVyZWBgIGZpbGVzIDstKQorKworKy4uIGxpdGVyYWxp bmNsdWRlOjogLi4vZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJlCisrICAgIDpwcmVwZW5kOiAg IyAtLSBGSUxFOiBmZWF0dXJlcy9pMThuX2Vtb2ppLmZlYXR1cmUKKysgICAgOmxhbmd1YWdlOiBn aGVya2luCisrCisrLi4gbGl0ZXJhbGluY2x1ZGU6OiAuLi9mZWF0dXJlcy9zdGVwcy9pMThuX2Vt b2ppX3N0ZXBzLnB5CisrICAgIDpwcmVwZW5kOiAgIyAtLSBGSUxFOiBmZWF0dXJlcy9zdGVwcy9p MThuX2Vtb2ppX3N0ZXBzLnB5CisrICAgIDpsYW5ndWFnZTogcHl0aG9uCitkaWZmIC0tZ2l0IGEv ZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJlIGIvZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJl CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZGIyM2FjMgorLS0tIC9kZXYv bnVsbAorKysrIGIvZmVhdHVyZXMvaTE4bl9lbW9qaS5mZWF0dXJlCitAQCAtMCwwICsxLDcgQEAK KysjIGxhbmd1YWdlOiBlbQorKyMgU09VUkNFOiBodHRwczovL2dpdGh1Yi5jb20vY3VjdW1iZXIv Y3VjdW1iZXIvYmxvYi9tYXN0ZXIvZ2hlcmtpbi90ZXN0ZGF0YS9nb29kL2kxOG5fZW1vamkuZmVh dHVyZQorKworK/Cfk5o6IPCfmYjwn5mJ8J+ZigorKworKyAg8J+TlTog8J+SgworKyAgICDwn5iQ 8J+OuAorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3N0ZXBzL2kxOG5fZW1vamlfc3RlcHMucHkgYi9m ZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMC4uMzgxZDJiYgorLS0tIC9kZXYvbnVsbAorKysrIGIvZmVhdHVyZXMvc3Rl cHMvaTE4bl9lbW9qaV9zdGVwcy5weQorQEAgLTAsMCArMSwxMCBAQAorKyMgLSotIGNvZGluZzog VVRGLTggLSotCisrIyBORUVERUQtQlk6IGZlYXR1cmVzL2kxOG5fZW1vamkuZmVhdHVyZQorKwor K2Zyb20gYmVoYXZlIGltcG9ydCBnaXZlbgorKworK0BnaXZlbih1J/CfjrgnKQorK2RlZiBzdGVw X2ltcGwoY29udGV4dCk6CisrICAgICIiIlN0ZXAgaW1wbGVtZW50YXRpb24gZXhhbXBsZSB3aXRo IGVtb2ppKHMpLiIiIgorKyAgICBwYXNzCisrCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQyLUZJWC1JbnZhbGlkLWVzY2Fw ZS1jaGFyLWluLXJlZ2V4LXctcHl0aG9uMy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDItRklYLUludmFsaWQtZXNjYXBlLWNoYXIt aW4tcmVnZXgtdy1weXRob24zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uMDBkYjRhNjI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0Mi1GSVgtSW52YWxpZC1lc2NhcGUtY2hh ci1pbi1yZWdleC13LXB5dGhvbjMucGF0Y2gKQEAgLTAsMCArMSwyNTAgQEAKK0Zyb20gMjgxYmIx OWE0NzU2NmMwMWNlNDRlNzE4NDY0MDcyOGJiNTZkNGRlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0 ZTogU2F0LCA2IEp1bCAyMDE5IDE5OjA2OjExICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDog SW52YWxpZCBlc2NhcGUgY2hhciAoaW4gcmVnZXgpIHcvIHB5dGhvbjMuCisKKy0tLQorIGJlaGF2 ZS9mb3JtYXR0ZXIvYW5zaV9lc2NhcGVzLnB5IHwgIDUzICsrKysrKysrLS0tLQorIHRlc3RzL3Vu aXQvdGVzdF9hbnNpX2VzY2FwZXMucHkgIHwgMTQ0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEyMiBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9mb3JtYXR0ZXIvYW5zaV9lc2NhcGVzLnB5IGIvYmVo YXZlL2Zvcm1hdHRlci9hbnNpX2VzY2FwZXMucHkKK2luZGV4IDZjOTNlNmMuLjNlYzg0ZGIgMTAw NjQ0CistLS0gYS9iZWhhdmUvZm9ybWF0dGVyL2Fuc2lfZXNjYXBlcy5weQorKysrIGIvYmVoYXZl L2Zvcm1hdHRlci9hbnNpX2VzY2FwZXMucHkKK0BAIC03LDYgKzcsOSBAQCBmcm9tIF9fZnV0dXJl X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIGltcG9ydCBvcworIGltcG9ydCByZQorIAorKyMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrIyBNT0RVTEUgREFUQQorKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgY29sb3JzID0geworICAgICAiYmxhY2siOiAgICAgICAgdSJceDFiWzMwbSIsCisgICAgICJy ZWQiOiAgICAgICAgICB1Ilx4MWJbMzFtIiwKK0BAIC0zOCwyNyArNDEsNDggQEAgZXNjYXBlcyA9 IHsKKyAgICAgInVwIjogICAgICAgICAgIHUiXHgxYlsxQSIsCisgfQorIAorLWlmICJHSEVSS0lO X0NPTE9SUyIgaW4gb3MuZW52aXJvbjoKKy0gICAgbmV3X2FsaWFzZXMgPSBbcC5zcGxpdCgiPSIp IGZvciBwIGluIG9zLmVudmlyb25bIkdIRVJLSU5fQ09MT1JTIl0uc3BsaXQoIjoiKV0KKy0gICAg YWxpYXNlcy51cGRhdGUoZGljdChuZXdfYWxpYXNlcykpCisgCistZm9yIGFsaWFzIGluIGFsaWFz ZXM6CistICAgIGVzY2FwZXNbYWxpYXNdID0gIiIuam9pbihbY29sb3JzW2NdIGZvciBjIGluIGFs aWFzZXNbYWxpYXNdLnNwbGl0KCIsIildKQorLSAgICBhcmdfYWxpYXMgPSBhbGlhcyArICJfYXJn IgorLSAgICBhcmdfc2VxID0gYWxpYXNlcy5nZXQoYXJnX2FsaWFzLCBhbGlhc2VzW2FsaWFzXSAr ICIsYm9sZCIpCistICAgIGVzY2FwZXNbYXJnX2FsaWFzXSA9ICIiLmpvaW4oW2NvbG9yc1tjXSBm b3IgYyBpbiBhcmdfc2VxLnNwbGl0KCIsIildKQorKyMgLS0gTkVFREVELUZPUjogc3RyaXBfZXNj YXBlcygpLCAuLi4KKytfQU5TSV9FU0NBUEVfUEFUVEVSTiA9IHJlLmNvbXBpbGUodSJceDFiXFxb XFxkK1ttQV0iLCByZS5VTklDT0RFKQorIAorIAorLSMgcHlsaW50OiBkaXNhYmxlPWFub21hbG91 cy1iYWNrc2xhc2gtaW4tc3RyaW5nCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIE1PRFVM RSBTRVRVUAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIF9zZXR1cF9tb2R1bGUoKToKKysg ICAgIiIiU2V0dXAgdGhlIHJlbWFpbmluZyBBTlNJIGNvbG9yIGFsaWFzZXMgYW5kIEFOU0kgZXNj YXBlIHNlcXVlbmNlcy4KKysKKysgICAgLi4gbm90ZTo6IE1heSBtb2RpZnkvZXh0ZW5kIHRoZSBt b2R1bGUgYXR0cmlidXRlczoKKysKKysgICAgICAgICogOmF0dHI6YGFsaWFzZXNgCisrICAgICAg ICAqIDphdHRyOmBlc2NhcGVzYAorKyAgICAiIiIKKysgICAgIyBNQVlCRTogZ2xvYmFsIGFsaWFz ZXMsIGVzY2FwZXMKKysgICAgaWYgIkdIRVJLSU5fQ09MT1JTIiBpbiBvcy5lbnZpcm9uOgorKyAg ICAgICAgbmV3X2FsaWFzZXMgPSBbcC5zcGxpdCgiPSIpIGZvciBwIGluIG9zLmVudmlyb25bIkdI RVJLSU5fQ09MT1JTIl0uc3BsaXQoIjoiKV0KKysgICAgICAgIGFsaWFzZXMudXBkYXRlKGRpY3Qo bmV3X2FsaWFzZXMpKQorKworKyAgICBmb3IgYWxpYXMgaW4gYWxpYXNlczoKKysgICAgICAgIGVz Y2FwZXNbYWxpYXNdID0gIiIuam9pbihbY29sb3JzW2NdIGZvciBjIGluIGFsaWFzZXNbYWxpYXNd LnNwbGl0KCIsIildKQorKyAgICAgICAgYXJnX2FsaWFzID0gYWxpYXMgKyAiX2FyZyIKKysgICAg ICAgIGFyZ19zZXEgPSBhbGlhc2VzLmdldChhcmdfYWxpYXMsIGFsaWFzZXNbYWxpYXNdICsgIixi b2xkIikKKysgICAgICAgIGVzY2FwZXNbYXJnX2FsaWFzXSA9ICIiLmpvaW4oW2NvbG9yc1tjXSBm b3IgYyBpbiBhcmdfc2VxLnNwbGl0KCIsIildKQorKworKworKyMgLS0gT05DRTogRHVyaW5nIG1v ZHVsZS1pbXBvcnQuCisrX3NldHVwX21vZHVsZSgpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysjIEZVTkNUSU9OUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGRlZiB1cChuKToKKyAg ICAgcmV0dXJuIHUiXHgxYlslZEEiICUgbgorIAorIAorLV9BTlNJX0VTQ0FQRV9QQVRURVJOID0g cmUuY29tcGlsZSh1Ilx4MWJcW1xkK1ttQV0iLCByZS5VTklDT0RFKQorLSMgcHlsaW50OiBlbmFi bGU9YW5vbWFsb3VzLWJhY2tzbGFzaC1pbi1zdHJpbmcKKyBkZWYgc3RyaXBfZXNjYXBlcyh0ZXh0 KToKKy0gICAgIiIiCistICAgIFJlbW92ZXMgQU5TSSBlc2NhcGUgc2VxdWVuY2VzIGZyb20gdGV4 dCAoaWYgYW55IGFyZSBjb250YWluZWQpLgorKyAgICAiIiJSZW1vdmVzIEFOU0kgZXNjYXBlIHNl cXVlbmNlcyBmcm9tIHRleHQgKGlmIGFueSBhcmUgY29udGFpbmVkKS4KKyAKKyAgICAgOnBhcmFt IHRleHQ6IFRleHQgdGhhdCBtYXkgb3IgbWF5IG5vdCBjb250YWluIEFOU0kgZXNjYXBlIHNlcXVl bmNlcy4KKyAgICAgOnJldHVybjogVGV4dCB3aXRob3V0IEFOU0kgZXNjYXBlIHNlcXVlbmNlcy4K K0BAIC02Nyw4ICs5MSw3IEBAIGRlZiBzdHJpcF9lc2NhcGVzKHRleHQpOgorIAorIAorIGRlZiB1 c2VfYW5zaV9lc2NhcGVfY29sb3Jib2xkX2NvbXBvc2l0ZXMoKTogICAgICMgcHJhZ21hOiBubyBj b3ZlcgorLSAgICAiIiIKKy0gICAgUGF0Y2ggZm9yICJzcGhpbnhjb250cmliLWFuc2kiIHRvIHBy b2Nlc3MgdGhlIGZvbGxvd2luZyBBTlNJIGVzY2FwZXMKKysgICAgIiIiUGF0Y2ggZm9yICJzcGhp bnhjb250cmliLWFuc2kiIHRvIHByb2Nlc3MgdGhlIGZvbGxvd2luZyBBTlNJIGVzY2FwZXMKKyAg ICAgY29ycmVjdGx5IChzZXQtY29sb3Igc2V0LWJvbGQgc2VxdWVuY2VzKToKKyAKKyAgICAgICAg IEVTQ1t7Y29sb3J9bUVTQ1sxbSAgPT4gRVNDW3tjb2xvcn07MW0KK2RpZmYgLS1naXQgYS90ZXN0 cy91bml0L3Rlc3RfYW5zaV9lc2NhcGVzLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2Fuc2lfZXNjYXBl cy5weQoraW5kZXggOTY5ZjNhOS4uNGZiNzhjMiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVz dF9hbnNpX2VzY2FwZXMucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF9hbnNpX2VzY2FwZXMucHkK K0BAIC05LDY1ICs5LDg5IEBACisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBv cnQKKyBpbXBvcnQgcHl0ZXN0CisgZnJvbSBiZWhhdmUuZm9ybWF0dGVyIGltcG9ydCBhbnNpX2Vz Y2FwZXMKKy1pbXBvcnQgdW5pdHRlc3QKKyBmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgcmFuZ2UKKyAK Ky1jbGFzcyBTdHJpcEVzY2FwZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKy0gICAgQUxMX0NP TE9SUyA9IGxpc3QoYW5zaV9lc2NhcGVzLmNvbG9ycy5rZXlzKCkpCistICAgIENVUlNPUl9VUFMg PSBbIGFuc2lfZXNjYXBlcy51cChjb3VudCkgIGZvciBjb3VudCBpbiByYW5nZSgxMCkgXQorLSAg ICBURVhUUyA9IFsKKy0gICAgICAgIHUibG9yZW0gaXBzdW0iLAorLSAgICAgICAgdSJBbGljZVxu Qm9iXG5DaGFybHlcbkRlbm5pcyIsCistICAgIF0KKy0KKy0gICAgQGNsYXNzbWV0aG9kCistICAg IGRlZiBjb2xvcml6ZShjbHMsIHRleHQsIGNvbG9yKToKKy0gICAgICAgIGNvbG9yX2VzY2FwZSA9 ICIiCistICAgICAgICBpZiBjb2xvcjoKKy0gICAgICAgICAgICBjb2xvcl9lc2NhcGUgPSBhbnNp X2VzY2FwZXMuY29sb3JzW2NvbG9yXQorLSAgICAgICAgcmV0dXJuIGNvbG9yX2VzY2FwZSArIHRl eHQgKyBhbnNpX2VzY2FwZXMuZXNjYXBlc1sicmVzZXQiXQorLQorLSAgICBAY2xhc3NtZXRob2QK Ky0gICAgZGVmIGNvbG9yaXplX3RleHQoY2xzLCB0ZXh0LCBjb2xvcnM9Tm9uZSk6CistICAgICAg ICBpZiBub3QgY29sb3JzOgorLSAgICAgICAgICAgIGNvbG9ycyA9IFtdCistICAgICAgICBjb2xv cnNfc2l6ZSA9IGxlbihjb2xvcnMpCistICAgICAgICBjb2xvcl9pbmRleCA9IDAKKy0gICAgICAg IGNvbG9yZWRfY2hhcnMgPSBbXQorLSAgICAgICAgZm9yIGNoYXIgaW4gdGV4dDoKKy0gICAgICAg ICAgICBjb2xvciA9IGNvbG9yc1tjb2xvcl9pbmRleF0KKy0gICAgICAgICAgICBjb2xvcmVkX2No YXJzLmFwcGVuZChjbHMuY29sb3JpemUoY2hhciwgY29sb3IpKQorLSAgICAgICAgICAgIGNvbG9y X2luZGV4ICs9IDEKKy0gICAgICAgICAgICBpZiBjb2xvcl9pbmRleCA+PSBjb2xvcnNfc2l6ZToK Ky0gICAgICAgICAgICAgICAgY29sb3JfaW5kZXggPSAwCistICAgICAgICByZXR1cm4gIiIuam9p bihjb2xvcmVkX2NoYXJzKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfcmV0dXJuX3NhbWVfdGV4 dF93aXRob3V0X2VzY2FwZXMoc2VsZik6CistICAgICAgICBmb3IgdGV4dCBpbiBzZWxmLlRFWFRT OgorLSAgICAgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVz KHRleHQpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9yZXR1cm5fZW1wdHlfc3RyaW5nX2Zvcl9h bnlfYW5zaV9lc2NhcGUoc2VsZik6CistICAgICAgICAjIFhYWC1KRS1DSEVDSy1QWTIzOiBJZiBs aXN0KCkgaXMgcmVhbGx5IG5lZWRlZC4KKy0gICAgICAgIGZvciB0ZXh0IGluIGxpc3QoYW5zaV9l c2NhcGVzLmNvbG9ycy52YWx1ZXMoKSk6CistICAgICAgICAgICAgYXNzZXJ0ICIiID09IGFuc2lf ZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCistICAgICAgICBmb3IgdGV4dCBpbiBsaXN0KGFu c2lfZXNjYXBlcy5lc2NhcGVzLnZhbHVlcygpKToKKy0gICAgICAgICAgICBhc3NlcnQgIiIgPT0g YW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXModGV4dCkKKy0KKy0KKy0gICAgZGVmIHRlc3Rfc2hv dWxkX3N0cmlwX2NvbG9yX2VzY2FwZXNfZnJvbV90ZXh0KHNlbGYpOgorLSAgICAgICAgZm9yIHRl eHQgaW4gc2VsZi5URVhUUzoKKy0gICAgICAgICAgICBjb2xvcmVkX3RleHQgPSBzZWxmLmNvbG9y aXplX3RleHQodGV4dCwgc2VsZi5BTExfQ09MT1JTKQorLSAgICAgICAgICAgIGFzc2VydCB0ZXh0 ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKGNvbG9yZWRfdGV4dCkKKy0gICAgICAgICAg ICBzZWxmLmFzc2VydE5vdEVxdWFsKHRleHQsIGNvbG9yZWRfdGV4dCkKKy0KKy0gICAgICAgICAg ICBmb3IgY29sb3IgaW4gc2VsZi5BTExfQ09MT1JTOgorLSAgICAgICAgICAgICAgICBjb2xvcmVk X3RleHQgPSBzZWxmLmNvbG9yaXplKHRleHQsIGNvbG9yKQorLSAgICAgICAgICAgICAgICBhc3Nl cnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpCistICAg ICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodGV4dCwgY29sb3JlZF90ZXh0KQorLQor LSAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfY3Vyc29yX3VwX2VzY2FwZXNfZnJvbV90ZXh0KHNl bGYpOgorLSAgICAgICAgZm9yIHRleHQgaW4gc2VsZi5URVhUUzoKKy0gICAgICAgICAgICBmb3Ig Y3Vyc29yX3VwIGluIHNlbGYuQ1VSU09SX1VQUzoKKy0gICAgICAgICAgICAgICAgY29sb3JlZF90 ZXh0ID0gY3Vyc29yX3VwICsgdGV4dCArIGFuc2lfZXNjYXBlcy5lc2NhcGVzWyJyZXNldCJdCist ICAgICAgICAgICAgICAgIGFzc2VydCB0ZXh0ID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVz KGNvbG9yZWRfdGV4dCkKKy0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh0ZXh0 LCBjb2xvcmVkX3RleHQpCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVEVTVCBTVVBQT1JU IGFuZCBURVNUIERBVEEKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrVEVYVFMgPSBbCisrICAgIHUi bG9yZW0gaXBzdW0iLAorKyAgICB1IkFsaWNlIGFuZCBCb2IiLAorKyAgICB1IkFsaWNlXG5Cb2Ii LAorK10KKytBTExfQ09MT1JTID0gbGlzdChhbnNpX2VzY2FwZXMuY29sb3JzLmtleXMoKSkKKytD VVJTT1JfVVBTID0gW2Fuc2lfZXNjYXBlcy51cChjb3VudCkgZm9yIGNvdW50IGluIHJhbmdlKDEw KV0KKysKKysKKytkZWYgY29sb3JpemUodGV4dCwgY29sb3IpOgorKyAgICBjb2xvcl9lc2NhcGUg PSAiIgorKyAgICBpZiBjb2xvcjoKKysgICAgICAgIGNvbG9yX2VzY2FwZSA9IGFuc2lfZXNjYXBl cy5jb2xvcnNbY29sb3JdCisrICAgIHJldHVybiBjb2xvcl9lc2NhcGUgKyB0ZXh0ICsgYW5zaV9l c2NhcGVzLmVzY2FwZXNbInJlc2V0Il0KKysKKysKKytkZWYgY29sb3JpemVfdGV4dCh0ZXh0LCBj b2xvcnM9Tm9uZSk6CisrICAgIGlmIG5vdCBjb2xvcnM6CisrICAgICAgICBjb2xvcnMgPSBbXQor KyAgICBjb2xvcnNfc2l6ZSA9IGxlbihjb2xvcnMpCisrICAgIGNvbG9yX2luZGV4ID0gMAorKyAg ICBjb2xvcmVkX2NoYXJzID0gW10KKysgICAgZm9yIGNoYXIgaW4gdGV4dDoKKysgICAgICAgIGNv bG9yID0gY29sb3JzW2NvbG9yX2luZGV4XQorKyAgICAgICAgY29sb3JlZF9jaGFycy5hcHBlbmQo Y29sb3JpemUoY2hhciwgY29sb3IpKQorKyAgICAgICAgY29sb3JfaW5kZXggKz0gMQorKyAgICAg ICAgaWYgY29sb3JfaW5kZXggPj0gY29sb3JzX3NpemU6CisrICAgICAgICAgICAgY29sb3JfaW5k ZXggPSAwCisrICAgIHJldHVybiAiIi5qb2luKGNvbG9yZWRfY2hhcnMpCisrCisrCisrIyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorKyMgVEVTVCBTVUlURQorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYg dGVzdF9tb2R1bGVfc2V0dXAoKToKKysgICAgIiIiRW5zdXJlIHRoYXQgdGhlIG1vZHVsZSBzZXR1 cCAoYWxpYXNlcywgZXNjYXBlcykgb2NjdXJlZC4iIiIKKysgICAgIyBjb2xvcnNfY291bnQgPSBs ZW4oYW5zaV9lc2NhcGVzLmNvbG9ycykKKysgICAgYWxpYXNlc19jb3VudCA9IGxlbihhbnNpX2Vz Y2FwZXMuYWxpYXNlcykKKysgICAgZXNjYXBlc19jb3VudCA9IGxlbihhbnNpX2VzY2FwZXMuZXNj YXBlcykKKysgICAgYXNzZXJ0IGVzY2FwZXNfY291bnQgPj0gKDIgKyBhbGlhc2VzX2NvdW50ICsg YWxpYXNlc19jb3VudCkKKysKKysKKytjbGFzcyBUZXN0U3RyaXBFc2NhcGVzKG9iamVjdCk6Cisr CisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgidGV4dCIsIFRFWFRTKQorKyAgICBkZWYg dGVzdF9zaG91bGRfcmV0dXJuX3NhbWVfdGV4dF93aXRob3V0X2VzY2FwZXMoc2VsZiwgdGV4dCk6 CisrICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNjYXBlcyh0ZXh0 KQorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoInRleHQiLCBhbnNpX2VzY2FwZXMu Y29sb3JzLnZhbHVlcygpKQorKyAgICBkZWYgdGVzdF9zaG91bGRfcmV0dXJuX2VtcHR5X3N0cmlu Z19mb3JfYW55X2Fuc2lfZXNjYXBlX2NvbG9yKHNlbGYsIHRleHQpOgorKyAgICAgICAgYXNzZXJ0 ICIiID09IGFuc2lfZXNjYXBlcy5zdHJpcF9lc2NhcGVzKHRleHQpCisrCisrICAgIEBweXRlc3Qu bWFyay5wYXJhbWV0cml6ZSgidGV4dCIsIGFuc2lfZXNjYXBlcy5lc2NhcGVzLnZhbHVlcygpKQor KyAgICBkZWYgdGVzdF9zaG91bGRfcmV0dXJuX2VtcHR5X3N0cmluZ19mb3JfYW55X2Fuc2lfZXNj YXBlKHNlbGYsIHRleHQpOgorKyAgICAgICAgYXNzZXJ0ICIiID09IGFuc2lfZXNjYXBlcy5zdHJp cF9lc2NhcGVzKHRleHQpCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgidGV4dCIs IFRFWFRTKQorKyAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfY29sb3JfZXNjYXBlc19mcm9tX2Fs bF9jb2xvcmVkX3RleHQoc2VsZiwgdGV4dCk6CisrICAgICAgICBjb2xvcmVkX3RleHQgPSBjb2xv cml6ZV90ZXh0KHRleHQsIEFMTF9DT0xPUlMpCisrICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNp X2VzY2FwZXMuc3RyaXBfZXNjYXBlcyhjb2xvcmVkX3RleHQpCisrICAgICAgICBhc3NlcnQgdGV4 dCAhPSBjb2xvcmVkX3RleHQKKysKKysgICAgQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJ0ZXh0 IiwgVEVYVFMpCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY29sb3IiLCBBTExfQ09M T1JTKQorKyAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfY29sb3JfZXNjYXBlc19mcm9tX3RleHQo c2VsZiwgdGV4dCwgY29sb3IpOgorKyAgICAgICAgY29sb3JlZF90ZXh0ID0gY29sb3JpemUodGV4 dCwgY29sb3IpCisrICAgICAgICBhc3NlcnQgdGV4dCA9PSBhbnNpX2VzY2FwZXMuc3RyaXBfZXNj YXBlcyhjb2xvcmVkX3RleHQpCisrICAgICAgICBhc3NlcnQgdGV4dCAhPSBjb2xvcmVkX3RleHQK KysKKysgICAgICAgIGNvbG9yZWRfdGV4dDIgPSBjb2xvcml6ZSh0ZXh0LCBjb2xvcikgKyB0ZXh0 CisrICAgICAgICB0ZXh0MiA9IHRleHQgKyB0ZXh0CisrICAgICAgICBhc3NlcnQgdGV4dDIgPT0g YW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMoY29sb3JlZF90ZXh0MikKKysgICAgICAgIGFzc2Vy dCB0ZXh0MiAhPSBjb2xvcmVkX3RleHQyCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6 ZSgidGV4dCIsIFRFWFRTKQorKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImN1cnNvcl91 cCIsIENVUlNPUl9VUFMpCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9jdXJzb3JfdXBfZXNj YXBlc19mcm9tX3RleHQoc2VsZiwgdGV4dCwgY3Vyc29yX3VwKToKKysgICAgICAgIGNvbG9yZWRf dGV4dCA9IGN1cnNvcl91cCArIHRleHQgKyBhbnNpX2VzY2FwZXMuZXNjYXBlc1sicmVzZXQiXQor KyAgICAgICAgYXNzZXJ0IHRleHQgPT0gYW5zaV9lc2NhcGVzLnN0cmlwX2VzY2FwZXMoY29sb3Jl ZF90ZXh0KQorKyAgICAgICAgYXNzZXJ0IHRleHQgIT0gY29sb3JlZF90ZXh0CmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQz LUV4YW1wbGUtcmVsYXRlZC10by1xdWVzdGlvbi1pbi03NTYucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQzLUV4YW1wbGUtcmVsYXRl ZC10by1xdWVzdGlvbi1pbi03NTYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi44MmJmOGJiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQzLUV4YW1wbGUtcmVsYXRlZC10by1x dWVzdGlvbi1pbi03NTYucGF0Y2gKQEAgLTAsMCArMSwzMzUgQEAKK0Zyb20gOGFiMmZmODc1Mzgy YTkyYTFhNzJjZjgyYTM0NmM0YWNmMmVjNjg1OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0 LCA2IEp1bCAyMDE5IDE5OjE1OjQ0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEV4YW1wbGUgcmVs YXRlZCB0byBxdWVzdGlvbiBpbiAjNzU2CisKKy0tLQorIC4uLi9maXh0dXJlLm92ZXJyaWRlX2Jh Y2tncm91bmQvUkVBRE1FLnJzdCAgICB8IDExNiArKysrKysrKysrKysrKysrKysKKyAuLi4vYmVo YXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5ICAgICAgICAgICAgfCAgIDAKKyAuLi4vYmVoYXZl X2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkgfCAgODAgKysrKysrKysrKysrCisg Li4uL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAgICAgICAgICAgIHwgIDM1ICsrKysr KworIC4uLi9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUgICAgICAgICAgICAgICAgICB8ICAxOCAr KysKKyAuLi4vZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkgICAgICAgICAgICAgfCAgMTMg KysKKyAuLi4vZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weSAgfCAgMTIg KysKKyA3IGZpbGVzIGNoYW5nZWQsIDI3NCBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhh dmVfZml4dHVyZV9saWIvX19pbml0X18ucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMv Zml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9i YWNrZ3JvdW5kLnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJp ZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5m ZWF0dXJlCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFj a2dyb3VuZC9mZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNl X3N0ZXBsaWJfYmVoYXZlNGNtZC5weQorCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5v dmVycmlkZV9iYWNrZ3JvdW5kL1JFQURNRS5yc3QgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRl X2JhY2tncm91bmQvUkVBRE1FLnJzdAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAw MDAuLjljMTUwY2MKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJp ZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CitAQCAtMCwwICsxLDExNiBAQAorK0VYQU1QTEU6IE92 ZXJyaWRlIC8gRGlzYWJsZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBmb3IgU2Nl bmFyaW8KKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisrOlJFTEFURUQtVE86ICM3NTYKKysK KytUaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRoZSBCYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hh bmlzbSBpbiBHaGVya2luCisrY2FuIGJlIGRpc2FibGVkIGluIGBgYmVoYXZlYGAuCisrCisrUGFy dHMgb2YgdGhlIHJlY2lwZToKKysKKysqIGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZSAoRmVhdHVy ZSBmaWxlIGFzIGV4YW1wbGUpCisrKiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weSAoZ2x1ZSBjb2Rl IGFuZCBob29rcyBmb3IgZml4dHVyZS10YWcgLyBmaXh0dXJlKQorKyogYmVoYXZlX2ZpeHR1cmVf bGliL292ZXJyaWRlX2JhY2tncm91bmQucHkgKGZpeHR1cmUgaW1wbGVtZW50YXRpb24sIHdvcmto b3JzZSkKKysKKysKKysuLiB3YXJuaW5nOjogQkVXQVJFOiBUaGlzIHNob3dzIHlvdSBob3cgY2Fu IGRvIGl0LCBub3QgdGhhdCB5b3Ugc2hvdWxkIGRvIGl0CisrCisrICAgIEJFVFRFUjoKKysKKysg ICAgKiBVc2UgUnVsZXMgdG8gZ3JvdXAgU2NlbmFyaW9zLCBlYWNoIHdpdGggaXRzIG93biBCYWNr Z3JvdW5kIChpbiBHaGVya2luIHY2KQorKyAgICAqIFNwbGl0IEZlYXR1cmUgYXNwZWN0cyBpbnRv IG11bHRpcGxlIGZlYXR1cmUgZmlsZXMgKGlmIG5lZWRlZCkKKysgICAgKiAuLi4gKHNlZSBpc3N1 ZSAjNzU2IGFib3ZlKQorKworKworK0V4cGxhbmF0aW9uCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisr RXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRlIGEgYmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJsZSB0 aGUKKytiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBieSB1c2luZyBhIGZpeHR1cmUg LyBmaXh0dXJlLXRhZy4KKytUaGUgZml4dHVyZS10YWcgIkBpeHR1cmUuYmVoYXZlLm92ZXJyaWRl X2JhY2tncm91bmQiIG1hcmtzIHRoZQorK2xvY2F0aW9uIGluIEdoZXJraW4gKHdoaWNoIFNjZW5h cmlvKSB3aGVyZSB0aGUgZml4dHVyZSBzaG91bGQgYmUgdXNlZAorKworKy4uIGNvZGUtYmxvY2s6 OiBnaGVya2luCisrCisrICAgICMgLS0gRklMRTogZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCisr ICAgIEZlYXR1cmU6IFNob3cgaG93IEBmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5k IGlzIHVzZWQKKysKKysgICAgICAgIEJhY2tncm91bmQ6CisrICAgICAgICAgIEdpdmVuIGEgYmFj a2dyb3VuZCBzdGVwCisrCisrICAgICAgICBTY2VuYXJpbzogQWxpY2UKKysgICAgICAgICAgV2hl biBhIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3Rl cHMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrICAgICAgICBAZml4dHVyZS5iZWhhdmUub3Zlcmlk ZV9iYWNrZ3JvdW5kCisrICAgICAgICBTY2VuYXJpbzogQm9iCisrICAgICAgICAgIEdpdmVuIEkg bmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwCisrICAgICAgICAgIFdoZW4gYW5vdGhlciBzdGVw IHBhc3NlcworKyAgICAgICAgICBBbmQgbm90ZSB0aGF0ICJOTy1CQUNLR1JPVU5EIFNURVBTIGFy ZSBleGVjdXRlZCBoZXJlIgorKworK1doZW4gdGhlIGZlYXR1cmUgaXMgZXhlY3V0ZWQsIHlvdSBz ZWUgdGhhdDoKKysKKysqIEZpcnN0IFNjZW5hcmlvICJBbGljZSI6IEJhY2tncm91bmQgc3RlcHMg YXJlIGluaGVyaXRlZCBhbmQgZXhlY3V0ZWQgZmlyc3QuCisrKiBTZWNvbmQgU2NlbmFyaW8gIkJv YiI6IE5vIEJhY2tncm91bmQgc3RlcCBpcyBleGVjdXRlZC4KKysKKysuLiBjb2RlLWJsb2NrOjog c2gKKysKKysgICAgJCAuLi8uLi9iaW4vYmVoYXZlIC1mIHBsYWluIGZlYXR1cmVzL2V4YW1wbGUu ZmVhdHVyZQorKyAgICBGZWF0dXJlOiBPdmVycmlkZSB0aGUgQmFja2dyb3VuZCBJbmhlcml0YW5j ZSBNZWNoYW5pc20gaW4gc29tZSBTY2VuYXJpb3MKKysgICAgICBCYWNrZ3JvdW5kOgorKworKyAg ICAgIFNjZW5hcmlvOiBBbGljZQorKyAgICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAgcGFz c2VzIC4uLiBwYXNzZWQKKysgICAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcyAuLi4gcGFzc2VkCisr ICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJl IiAuLi4gcGFzc2VkCisrICAgIEZJWFRVUkUtSElOVDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjog Qm9iCisrCisrICAgICAgU2NlbmFyaW86IEJvYgorKyAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3Ro ZXIgc2NlbmFyaW8gc2V0dXAgLi4uIHBhc3NlZAorKyAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAg cGFzc2VzIC4uLiBwYXNzZWQKKysgICAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQg U1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiIC4uLiBwYXNzZWQKKysKKysgICAgMSBmZWF0dXJlIHBh c3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorKyAgICAyIHNjZW5hcmlvcyBwYXNzZWQsIDAgZmFp bGVkLCAwIHNraXBwZWQKKysgICAgNiBzdGVwcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQs IDAgdW5kZWZpbmVkCisrCisrCisrVGhlIGVudmlyb25tZW50IGZpbGUgcHJvdmlkZXMgdGhlIGds dWUgY29kZSB0aGF0IHRoZSBmaXh0dXJlIGlzIGNhbGxlZDoKKysKKysuLiBjb2RlLWJsb2NrOjog cHl0aG9uCisrCisrICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysgICAg ZnJvbSBiZWhhdmVfZml4dHVyZV9saWIub3ZlcnJpZGVfYmFja2dyb3VuZCBpbXBvcnQgYmVoYXZl X292ZXJyaWRlX2JhY2tncm91bmQKKysgICAgZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNl X2ZpeHR1cmVfYnlfdGFnCisrCisrICAgICMgLS0gRklYVFVSRSBSRUdJU1RSWToKKysgICAgZml4 dHVyZV9yZWdpc3RyeSA9IHsKKysgICAgICAgICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tn cm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZCwKKysgICAgfQorKworKyAgICAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrICAgICMgSE9PS1M6CisrICAgICMgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKysgICAgZGVmIGJlZm9yZV90YWcoY29udGV4dCwgdGFnKToKKysgICAgICAgIGlmIHRh Zy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgorKyAgICAgICAgICAgIHJldHVybiB1c2VfZml4dHVy ZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKworKworKy4uIGNvZGUt YmxvY2s6OiBweXRob24KKysKKysgICAgIyAtLSBGSUxFOiBiZWhhdmVfZml4dHVyZV9saWIvb3Zl cnJpZGVfYmFja2dyb3VuZC5weSAoZml4dHVyZSBpbXBsZW1lbnRhdGlvbikKKysgICAgZnJvbSBi ZWhhdmUgaW1wb3J0IGZpeHR1cmUKKysKKysgICAgQGZpeHR1cmUobmFtZT0iZml4dHVyZS5iZWhh dmUub3ZlcnJpZGVfYmFja2dyb3VuZCIpCisrICAgIGRlZiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dy b3VuZChjdHgpOgorKyAgICAgICAgIyAtLSBTRVRVUC1QQVJULU9OTFk6IERpc2FibGUgYmFja2dy b3VuZCBpbmhlcml0YW5jZSAoZm9yIHNjZW5hcmlvcyBvbmx5KS4KKysgICAgICAgIGN1cnJlbnRf c2NlbmFyaW8gPSBjdHguc2NlbmFyaW8KKysgICAgICAgIGlmIGN1cnJlbnRfc2NlbmFyaW86Cisr ICAgICAgICAgICAgYmVoYXZlX2Rpc2FibGVfYmFja2dyb3VuZF9pbmhlcml0YW5jZV9mb3Jfc2Nl bmFyaW8oY3VycmVudF9zY2VuYXJpbykKKysKKysgICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor KyAgICAjIEJFSEFWRSBVVElMSVRZOgorKyAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrICAg IGRlZiBiZWhhdmVfZGlzYWJsZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2Zvcl9zY2VuYXJpbyhz Y2VuYXJpbyk6CisrICAgICAgICBwcmludCgiRklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9V TkQgRk9SOiAlcyIgJSBzY2VuYXJpby5uYW1lKQorKyAgICAgICAgc2NlbmFyaW8uYmFja2dyb3Vu ZCA9IE5vbmUKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91 bmQvYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9fLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVy cmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5weQorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmU2OWRlMjkKK2RpZmYgLS1naXQgYS9leGFtcGxl cy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRl X2JhY2tncm91bmQucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVo YXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwLi42YzU3MmNmCistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxl cy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRl X2JhY2tncm91bmQucHkKK0BAIC0wLDAgKzEsODAgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0q LQorKyMgUkVMQVRFRC1UTzogIzc1NgorKyIiIgorK0V4YW1wbGUgY29kZSBob3cgdG8gcHJvdmlk ZSBhIGJlaGF2ZSBmaXh0dXJlIHRvIGRpc2FibGUgdGhlCisrYmFja2dyb3VuZCBpbmhlcml0YW5j ZSBtZWNoYW5pc20uCisrCisrLi4gY29kZS1ibG9jazo6IGdoZXJraW4KKysKKysgICAgIyAtLSBG SUxFOiBmZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKysgICAgRmVhdHVyZTogU2hvdyBob3cgQGZp eHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQgaXMgdXNlZAorKworKyAgICAgICAgQmFj a2dyb3VuZDoKKysgICAgICAgICAgR2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAKKysKKysgICAgICAg IFNjZW5hcmlvOiBBbGljZQorKyAgICAgICAgICBXaGVuIGEgc3RlcCBwYXNzZXMKKysgICAgICAg ICAgQW5kIG5vdGUgdGhhdCAiQmFja2dyb3VuZCBzdGVwcyBhcmUgZXhlY3V0ZWQgaGVyZSIKKysK KysgICAgICAgIEBmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQKKysgICAgICAgIFNj ZW5hcmlvOiBCb2IKKysgICAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0 dXAKKysgICAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBu b3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrLi4g Y29kZS1ibG9jazo6IHB5dGhvbgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2Vudmlyb25t ZW50LnB5CisrICAgIGZyb20gYmVoYXZlX2ZpeHR1cmVfbGliLm92ZXJyaWRlX2JhY2tncm91bmQg aW1wb3J0IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kCisrICAgIGZyb20gYmVoYXZlLmZpeHR1 cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5X3RhZworKworKyAgICAjIC0tIEZJWFRVUkUgUkVHSVNU Ulk6CisrICAgIGZpeHR1cmVfcmVnaXN0cnkgPSB7CisrICAgICAgICAiZml4dHVyZS5iZWhhdmUu b3ZlcmlkZV9iYWNrZ3JvdW5kIjogYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQsCisrICAgIH0K KysKKysgICAgZGVmIGJlZm9yZV90YWcoY29udGV4dCwgdGFnKToKKysgICAgICAgIGlmIHRhZy5z dGFydHN3aXRoKCJmaXh0dXJlLiIpOgorKyAgICAgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9i eV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKworKyIiIgorKworK2Zyb20g X19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorK2Zyb20g YmVoYXZlIGltcG9ydCBmaXh0dXJlCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMg QkVIQVZFIEZJWFRVUkVTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytAZml4dHVyZShuYW1l PSJmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIikKKytkZWYgYmVoYXZlX292ZXJy aWRlX2JhY2tncm91bmQoY3R4KToKKysgICAgIiIiT3ZlcnJpZGUgdGhlIEJhY2tncm91bmQgaW5o ZXJpbnRhbmNlIG1lY2hhbmlzbS4KKysgICAgSWYgYSBGZWF0dXJlIC8gUnVsZSBCYWNrZ3JvdW5k IGV4aXN0cyBpbiBhIEZlYXR1cmUsCisrICAgIGFsbCBjb250YWluZWQgU2NlbmFyaW9zIGluaGVy aXQgdGhlIEJhY2tncm91bmQncyBzdGVwcy4KKysKKysgICAgVGhpcyBmaXh0dXJlIGRpc2FibGVz IHRoaXMgbWVjaGFuaXNtLgorKyAgICBUaGUgdGFnZ2VkIEdoZXJraW4gZWxlbWVudCB3aWxsIG5v IGxvbmdlciBpbmhlcml0IHRoZSBiYWNrZ3JvdW5kIHN0ZXBzLgorKworKyAgICA6cGFyYW0gY3R4 OiBDb250ZXh0IG9iamVjdCB0byB1c2UgKGR1cmluZyBhIHRlc3QgcnVuKS4KKysgICAgIiIiCisr ICAgICMgLS0gU0VUVVAtUEFSVC1PTkxZOiBEaXNhYmxlIGJhY2tncm91bmQgaW5oZXJpdGFuY2Ug KGZvciBzY2VuYXJpb3Mgb25seSkuCisrICAgIGN1cnJlbnRfc2NlbmFyaW8gPSBjdHguc2NlbmFy aW8KKysgICAgaWYgY3VycmVudF9zY2VuYXJpbzoKKysgICAgICAgIGJlaGF2ZV9kaXNhYmxlX2Jh Y2tncm91bmRfaW5oZXJpdGFuY2VfZm9yX3NjZW5hcmlvKGN1cnJlbnRfc2NlbmFyaW8pCisrCisr CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQkVIQVZFIFVUSUxJVFk6CisrIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorK2RlZiBiZWhhdmVfZGlzYWJsZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNl X2Zvcl9zY2VuYXJpbyhzY2VuYXJpbyk6CisrICAgIHByaW50KCJGSVhUVVJFLUhJTlQ6IERJU0FC TEUtQkFDS0dST1VORCBGT1I6ICVzIiAlIHNjZW5hcmlvLm5hbWUpCisrICAgIHNjZW5hcmlvLmJh Y2tncm91bmQgPSBOb25lCisrICAgICMgc2NlbmFyaW8uX2JhY2tncm91bmRfc3RlcHMgPSBbXQor KworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIE1PRFVMRSBTUEVDSUZJQzoKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrZml4dHVyZV9yZWdpc3RyeSA9IHsKKysgICAgImZpeHR1cmUu YmVoYXZlLm92ZXJpZGVfYmFja2dyb3VuZCI6IGJlaGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kLAor K30KK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVh dHVyZXMvZW52aXJvbm1lbnQucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91 bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwLi43YTRiNzM1CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm92 ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0wLDAgKzEsMzUg QEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJv bm1lbnQucHkKKytpbXBvcnQgb3MucGF0aAorK2ltcG9ydCBzeXMKKysKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrIyBQWVRIT04gUEFUSCBTRVRVUDoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisrSEVSRSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKytUT1BBID0gb3MucGF0aC5hYnNw YXRoKG9zLnBhdGguam9pbihIRVJFLCAiLi4iKSkKKysKKytkZWYgc2V0dXBfcHl0aG9uX3BhdGgo KToKKysgICAgc3lzLnBhdGguaW5zZXJ0KDAsIFRPUEEpCisrCisrc2V0dXBfcHl0aG9uX3BhdGgo KQorKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIE5PUk1BTCBQQVJUOgorKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKytmcm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5vdmVycmlkZV9iYWNrZ3Jv dW5kIGltcG9ydCBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZAorK2Zyb20gYmVoYXZlLmZpeHR1 cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5X3RhZworKworKyMgLS0gRklYVFVSRSBSRUdJU1RSWToK KytmaXh0dXJlX3JlZ2lzdHJ5ID0geworKyAgICAiZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNr Z3JvdW5kIjogYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQsCisrfQorKworKworKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKysjIEhPT0tTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYg YmVmb3JlX3RhZyhjb250ZXh0LCB0YWcpOgorKyAgICBpZiB0YWcuc3RhcnRzd2l0aCgiZml4dHVy ZS4iKToKKysgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBm aXh0dXJlX3JlZ2lzdHJ5KQorKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJp ZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUgYi9leGFtcGxlcy9maXh0dXJl Lm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNWRkZDg3NAorLS0tIC9kZXYvbnVsbAorKysrIGIv ZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVh dHVyZQorQEAgLTAsMCArMSwxOCBAQAorK0ZlYXR1cmU6IE92ZXJyaWRlIHRoZSBCYWNrZ3JvdW5k IEluaGVyaXRhbmNlIE1lY2hhbmlzbSBpbiBzb21lIFNjZW5hcmlvcworKworKyAgLiBCRVdBUkU6 CisrICAuICAgVGhpcyBpcyBvbmx5IGFuIGV4YW1wbGUgaG93IHRoaXMgY2FuIGJlIGRvbmUgKFBS T09GLU9GLUNPTkNFUFQpLgorKyAgLiAgIFRoaXMgaXMgbm90IGFuIGV4YW1wbGUgdGhhdCB5b3Ug c2hvdWxkIGRvIHRoaXMgISEhCisrCisrICAgIEJhY2tncm91bmQ6CisrICAgICAgR2l2ZW4gYSBi YWNrZ3JvdW5kIHN0ZXAgcGFzc2VzCisrCisrICAgIFNjZW5hcmlvOiBBbGljZQorKyAgICAgIFdo ZW4gYSBzdGVwIHBhc3NlcworKyAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMg YXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrICAgIEBmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tn cm91bmQKKysgICAgU2NlbmFyaW86IEJvYgorKyAgICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNj ZW5hcmlvIHNldHVwCisrICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgQW5k IG5vdGUgdGhhdCAiTk8tQkFDS0dST1VORCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKK2RpZmYg LS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3Rl cHMvYmFzaWNfc3RlcHMucHkgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQv ZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi4zNGYyMTA3CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJl Lm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkKK0BAIC0w LDAgKzEsMTMgQEAKKytmcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4sIHN0ZXAKKysKKysjIEBzdGVw KHUne3dvcmR9IHN0ZXAgcGFzc2VzJykKKysjIGRlZiBzdGVwX3Bhc3Nlc193aXRoX3dvcmQoY29u dGV4dCwgd29yZCk6CisrIyAgICAgcGFzcworKworK0BzdGVwKHUne3dvcmR9IGJhY2tncm91bmQg c3RlcCBwYXNzZXMnKQorK2RlZiBzdGVwX2JhY2tncm91bmRfc3RlcF9wYXNzZXMoY29udGV4dCwg d29yZCk6CisrICAgIHBhc3MKKysKKytAZ2l2ZW4odSdJIG5lZWQge3dvcmR9IHNjZW5hcmlvIHNl dHVwJykKKytkZWYgc3RlcF9naXZlbl9pX25lZWRfc2NlbmFyaW9fc2V0dXAoY29udGV4dCwgd29y ZCk6CisrICAgIHBhc3MKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2Jh Y2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weSBiL2V4YW1w bGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxp Yl9iZWhhdmU0Y21kLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYmMz MmEzMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNr Z3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkKK0BAIC0wLDAg KzEsMTIgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyIiIgorK1VzZSBiZWhhdmU0Y21k MCBzdGVwIGxpYnJhcnkgKHByZWRlY2Vzc29yIG9mIGJlaGF2ZTRjbWQpLgorKyIiIgorKworK2Zy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisrCisrIyAtLSBSRUdJU1RFUi1T VEVQUyBGUk9NIFNURVAtTElCUkFSWToKKysjIGltcG9ydCBiZWhhdmU0Y21kMC5fX2FsbF9zdGVw c19fCisrIyBpbXBvcnQgYmVoYXZlNGNtZDAuZmFpbGluZ19zdGVwcworK2ltcG9ydCBiZWhhdmU0 Y21kMC5wYXNzaW5nX3N0ZXBzCisraW1wb3J0IGJlaGF2ZTRjbWQwLm5vdGVfc3RlcHMKZGlmZiAt LWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwNDQtRklYLXB5dGhvbjMuOC1yZWdyZXNzaW9ucy1vbi1DSS1zZXJ2ZXIucGF0Y2ggYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ0LUZJWC1w eXRob24zLjgtcmVncmVzc2lvbnMtb24tQ0ktc2VydmVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uYzM4M2UzOWY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0NC1GSVgtcHl0 aG9uMy44LXJlZ3Jlc3Npb25zLW9uLUNJLXNlcnZlci5wYXRjaApAQCAtMCwwICsxLDQ4OSBAQAor RnJvbSA2NGU1OGU1NzIxZjRmY2NjOWNkZjQ5YjUyNDI3MTI2NWEwYzc3NmU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1 Yi5jb20+CitEYXRlOiBTdW4sIDcgSnVsIDIwMTkgMTI6NDM6MTkgKzAyMDAKK1N1YmplY3Q6IFtQ QVRDSF0gRklYOiBweXRob24zLjggcmVncmVzc2lvbnMgb24gQ0kgc2VydmVyCisKK0lzc3VlcyB3 LyBweXRob24zLjg6CisqIFRyYWNlYmFjazogTGluZSBudW1iZXJzIG9mIHN0ZXAgZnVuY3Rpb25z IGRpZmZlciAoKzEpCisqIEpVbml0IFhNTDogQXR0cmlidXRlIG9yZGVyaW5nIG9mIFhNTCBlbGVt ZW50IGRpZmZlcnMgKGluIG91dHB1dCkKKy0tLQorIGJlaGF2ZS5pbmkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMyArLQorIGZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAgICAg ICAgfCAxNCArKysrKysKKyBmZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlIHwg MjAgKysrKy0tLS0KKyBpc3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgICAgICAgIHwgMzgg KysrKysrKysrKysrLS0tCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUgICAgICB8 IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKworIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDQ0Ni5m ZWF0dXJlICAgICAgfCA3MCArKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBpc3N1ZS5mZWF0 dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZSAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKworIHRv eC5pbmkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIDggZmlsZXMgY2hh bmdlZCwgMjQyIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv YmVoYXZlLmluaSBiL2JlaGF2ZS5pbmkKK2luZGV4IDQ1YzBmMGQuLjk1MjI0MGQgMTAwNjQ0Cist LS0gYS9iZWhhdmUuaW5pCisrKysgYi9iZWhhdmUuaW5pCitAQCAtMTUsOCArMTUsOSBAQCBzaG93 X3NraXBwZWQgPSBmYWxzZQorIGZvcm1hdCAgID0gcmVydW4KKyAgICAgcHJvZ3Jlc3MzCisgb3V0 ZmlsZXMgPSByZXJ1bi50eHQKKy0gICAgcmVwb3J0cy9yZXBvcnRfcHJvZ3Jlc3MzLnR4dAorKyAg ICBidWlsZC9iZWhhdmUucmVwb3J0cy9yZXBvcnRfcHJvZ3Jlc3MzLnR4dAorIGp1bml0ID0gdHJ1 ZQorK2p1bml0X2RpcmVjdG9yeSA9IGJ1aWxkL2JlaGF2ZS5yZXBvcnRzCisgbG9nZ2luZ19sZXZl bCA9IElORk8KKyAjIGxvZ2dpbmdfZm9ybWF0ID0gTE9HLiUobGV2ZWxuYW1lKS04cyAgJShuYW1l KS0xMHM6ICUobWVzc2FnZSlzCisgIyBsb2dnaW5nX2Zvcm1hdCA9IExPRy4lKGxldmVsbmFtZSkt OHMgICUoYXNjdGltZSlzICAlKG5hbWUpLTEwczogJShtZXNzYWdlKXMKK2RpZmYgLS1naXQgYS9m ZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitpbmRleCA0 NzQ0ZTg5Li4zNzY5ZWU0IDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKysr KyBiL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAtMSw1ICsxLDcgQEAKKyAjIC0qLSBjb2Rp bmc6IFVURi04IC0qLQorKyMgRklMRTogZmVhdHVyZXMvZW52aXJvbmVtbnQucHkKKyAKKytmcm9t IF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKyBmcm9t IGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0aXZl X3RhZ192YWx1ZXMKKyBmcm9tIGJlaGF2ZTRjbWQwLnNldHVwX2NvbW1hbmRfc2hlbGwgaW1wb3J0 IHNldHVwX2NvbW1hbmRfc2hlbGxfcHJvY2Vzc29yczRiZWhhdmUKKyBpbXBvcnQgcGxhdGZvcm0K K0BAIC0yMCw2ICsyMiwxNSBAQCBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0geworIH0KKyBh Y3RpdmVfdGFnX21hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJv dmlkZXIpCisgCisrCisrZGVmIHByaW50X2FjdGl2ZV90YWdzX3N1bW1hcnkoKToKKysgICAgYWN0 aXZlX3RhZ19kYXRhID0gYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcgorKyAgICBwcmludCgiQUNU SVZFLVRBRyBTVU1NQVJZOiIpCisrICAgIHByaW50KCJ1c2Uud2l0aF9weXRob24udmVyc2lvbj0l cyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJweXRob24udmVyc2lvbiIpKQorKyAgICAjIHByaW50 KCJ1c2Uud2l0aF9vcz0lcyIgJSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJvcyIpKQorKyAgICBwcmlu dCgpCisrCisrCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgSE9PS1M6CisgIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorQEAgLTMwLDExICs0MSwxNCBAQCBkZWYgYmVmb3JlX2FsbChjb250ZXh0 KToKKyAgICAgc2V0dXBfcHl0aG9uX3BhdGgoKQorICAgICBzZXR1cF9jb250ZXh0X3dpdGhfZ2xv YmFsX3BhcmFtc190ZXN0KGNvbnRleHQpCisgICAgIHNldHVwX2NvbW1hbmRfc2hlbGxfcHJvY2Vz c29yczRiZWhhdmUoKQorKyAgICBwcmludF9hY3RpdmVfdGFnc19zdW1tYXJ5KCkKKysKKyAKKyBk ZWYgYmVmb3JlX2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSk6CisgICAgIGlmIGFjdGl2ZV90YWdf bWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKGZlYXR1cmUudGFncyk6CisgICAgICAgICBmZWF0 dXJlLnNraXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNvbikKKyAKKysK KyBkZWYgYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKyAgICAgaWYgYWN0aXZl X3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3Mp OgorICAgICAgICAgc2NlbmFyaW8uc2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1 ZGVfcmVhc29uKQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3N0ZXAuZHVwbGljYXRlZF9zdGVwLmZl YXR1cmUgYi9mZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlCitpbmRleCA1OTg4 OGIwLi4zOTZjY2EyIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAu ZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVhdHVyZQorQEAg LTMyLDExICszMiwxMSBAQCBGZWF0dXJlOiBEdXBsaWNhdGVkIFN0ZXAgRGVmaW5pdGlvbnMKKyAg ICAgICAgIEFtYmlndW91c1N0ZXA6IEBnaXZlbignSSBjYWxsIEFsaWNlJykgaGFzIGFscmVhZHkg YmVlbiBkZWZpbmVkIGluCisgICAgICAgICBleGlzdGluZyBzdGVwIEBnaXZlbignSSBjYWxsIEFs aWNlJykgYXQgZmVhdHVyZXMvc3RlcHMvYWxpY2Vfc3RlcHMucHk6MworICAgICAgICAgIiIiCist ICAgIEFuZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CistICAgICAgICAiIiIK Ky0gICAgICAgIEZpbGUgImZlYXR1cmVzL3N0ZXBzL2FsaWNlX3N0ZXBzLnB5IiwgbGluZSA3LCBp biA8bW9kdWxlPgorLSAgICAgICAgQGdpdmVuKHUnSSBjYWxsIEFsaWNlJykKKy0gICAgICAgICIi IgorKyAgICAjIC0tIERJU0FCTEVEOiBQeXRob24gMy44IHRyYWNlYmFjayBsaW5lIG51bWJlcnMg ZGlmZmVyIHcvIGRlY29yYXRvcnMgKCsxKS4KKysgICAgIyBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0 IHNob3VsZCBjb250YWluOgorKyAgICAjICAgICIiIgorKyAgICAjICAgIEZpbGUgImZlYXR1cmVz L3N0ZXBzL2FsaWNlX3N0ZXBzLnB5IiwgbGluZSA3LCBpbiA8bW9kdWxlPgorKyAgICAjICAgICIi IgorIAorIAorICAgU2NlbmFyaW86IER1cGxpY2F0ZWQgU3RlcCBEZWZpbml0aW9uIGluIGFub3Ro ZXIgRmlsZQorQEAgLTcwLDExICs3MCwxMSBAQCBGZWF0dXJlOiBEdXBsaWNhdGVkIFN0ZXAgRGVm aW5pdGlvbnMKKyAgICAgICAgIEFtYmlndW91c1N0ZXA6IEBnaXZlbignSSBjYWxsIEJvYicpIGhh cyBhbHJlYWR5IGJlZW4gZGVmaW5lZCBpbgorICAgICAgICAgZXhpc3Rpbmcgc3RlcCBAZ2l2ZW4o J0kgY2FsbCBCb2InKSBhdCBmZWF0dXJlcy9zdGVwcy9ib2IxX3N0ZXBzLnB5OjMKKyAgICAgICAg ICIiIgorLSAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorLSAgICAg ICAgIiIiCistICAgICAgICBGaWxlICJmZWF0dXJlcy9zdGVwcy9ib2IyX3N0ZXBzLnB5IiwgbGlu ZSAzLCBpbiA8bW9kdWxlPgorLSAgICAgICAgQGdpdmVuKCdJIGNhbGwgQm9iJykKKy0gICAgICAg ICIiIgorKyAgICAjIC0tIERJU0FCTEVEOiBQeXRob24gMy44IHRyYWNlYmFjayBsaW5lIG51bWJl cnMgZGlmZmVyIHcvIGRlY29yYXRvcnMgKCsxKS4KKysgICAgIyBBbmQgdGhlIGNvbW1hbmQgb3V0 cHV0IHNob3VsZCBjb250YWluOgorKyAgICAjICAgICIiIgorKyAgICAjICAgIEZpbGUgImZlYXR1 cmVzL3N0ZXBzL2JvYjJfc3RlcHMucHkiLCBsaW5lIDMsIGluIDxtb2R1bGU+CisrICAgICMgICAg IiIiCisgCisgICBAeGZhaWwKKyAgIFNjZW5hcmlvOiBEdXBsaWNhdGVkIFNhbWUgU3RlcCBEZWZp bml0aW9uIHZpYSBpbXBvcnQgZnJvbSBhbm90aGVyIEZpbGUKK2RpZmYgLS1naXQgYS9pc3N1ZS5m ZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2lzc3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5Citp bmRleCAyZGZlYzc1Li43ZTQ4ZWUwIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvZW52aXJv bm1lbnQucHkKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAtMSw1ICsx LDUgQEAKKyAjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorLSMgRklMRTogZmVhdHVyZXMvZW52aXJv bm1lbnQucHkKKysjIEZJTEU6IGlzc3VlLmZlYXR1cmVzL2Vudmlyb25lbW50LnB5CisgIyBweWxp bnQ6IGRpc2FibGU9dW51c2VkLWFyZ3VtZW50CisgIiIiCisgRnVuY3Rpb25hbGl0eToKK0BAIC03 LDE3ICs3LDIwIEBAIEZ1bmN0aW9uYWxpdHk6CisgICAqIGFjdGl2ZSB0YWdzCisgIiIiCisgCist ZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorKworK2Zyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBzeXMKKyBp bXBvcnQgcGxhdGZvcm0KKyBpbXBvcnQgb3MucGF0aAorIGltcG9ydCBzaXgKKyBmcm9tIGJlaGF2 ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlcgorIGZyb20gYmVoYXZlNGNtZDAu c2V0dXBfY29tbWFuZF9zaGVsbCBpbXBvcnQgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3Jz NGJlaGF2ZQorLSMgUFJFUEFSRUQ6CistIyBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQg c2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKysjIFBSRVBBUkVEOiBmcm9tIGJlaGF2ZS50YWdfbWF0 Y2hlciBpbXBvcnQgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKyAKKyAKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorKyMgVEVTVCBTVVBQT1JUOiBGb3IgQWN0aXZlIFRhZ3MKKysjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIGRlZiByZXF1aXJlX3Rvb2wodG9vbF9uYW1lKToKKyAgICAgIiIiQ2hlY2sgaWYg YSB0b29sIChhbiBleGVjdXRhYmxlIHByb2dyYW0pIGlzIHByb3ZpZGVkIG9uIHRoaXMgcGxhdGZv cm0uCisgCitAQCAtNDUsMTIgKzQ4LDE0IEBAIGRlZiByZXF1aXJlX3Rvb2wodG9vbF9uYW1lKToK KyAgICAgIyBwcmludCgiVE9PTC1OT1QtRk9VTkQ6ICVzIiAlIHRvb2xfbmFtZSkKKyAgICAgcmV0 dXJuIEZhbHNlCisgCisrCisgZGVmIGFzX2Jvb2xfc3RyaW5nKHZhbHVlKToKKyAgICAgaWYgYm9v bCh2YWx1ZSk6CisgICAgICAgICByZXR1cm4gInllcyIKKyAgICAgZWxzZToKKyAgICAgICAgIHJl dHVybiAibm8iCisgCisrCisgZGVmIGRpc2NvdmVyX2NpX3NlcnZlcigpOgorICAgICAjIHB5bGlu dDogZGlzYWJsZT1pbnZhbGlkLW5hbWUKKyAgICAgY2lfc2VydmVyID0gIm5vbmUiCitAQCAtNjcs MTIgKzcyLDE3IEBAIGRlZiBkaXNjb3Zlcl9jaV9zZXJ2ZXIoKToKKyAgICAgcmV0dXJuIGNpX3Nl cnZlcgorIAorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBCRUhBVkUgU1VQUE9SVDogQWN0 aXZlIFRhZ3MKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzog QHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICMgTk9URTogYWN0aXZlX3RhZ192YWx1ZV9w cm92aWRlciBwcm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMgZm9yIGFjdGl2ZSB0YWdzLgorK3B5dGhv bl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCisgYWN0aXZlX3RhZ192 YWx1ZV9wcm92aWRlciA9IHsKKyAgICAgInBsYXRmb3JtIjogc3lzLnBsYXRmb3JtLAorICAgICAi cHl0aG9uMiI6IHN0cihzaXguUFkyKS5sb3dlcigpLAorICAgICAicHl0aG9uMyI6IHN0cihzaXgu UFkzKS5sb3dlcigpLAorKyAgICAicHl0aG9uLnZlcnNpb24iOiBweXRob25fdmVyc2lvbiwKKyAg ICAgIyAtLSBweXRob24uaW1wbGVtZW50YXRpb246IGNweXRob24sIHB5cHksIGp5dGhvbiwgaXJv bnB5dGhvbgorICAgICAicHl0aG9uLmltcGxlbWVudGF0aW9uIjogcGxhdGZvcm0ucHl0aG9uX2lt cGxlbWVudGF0aW9uKCkubG93ZXIoKSwKKyAgICAgInB5cHkiOiAgICBzdHIoIl9fcHlweV9fIiBp biBzeXMubW9kdWxlcykubG93ZXIoKSwKK0BAIC04MiwxNyArOTIsMzMgQEAgYWN0aXZlX3RhZ192 YWx1ZV9wcm92aWRlciA9IHsKKyB9CisgYWN0aXZlX3RhZ19tYXRjaGVyID0gQWN0aXZlVGFnTWF0 Y2hlcihhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyKQorIAorKworK2RlZiBwcmludF9hY3RpdmVf dGFnc19zdW1tYXJ5KCk6CisrICAgIGFjdGl2ZV90YWdfZGF0YSA9IGFjdGl2ZV90YWdfdmFsdWVf cHJvdmlkZXIKKysgICAgcHJpbnQoIkFDVElWRS1UQUcgU1VNTUFSWToiKQorKyAgICBwcmludCgi dXNlLndpdGhfcHl0aG9uLnZlcnNpb249JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgicHl0aG9u LnZlcnNpb24iKSkKKysgICAgIyBwcmludCgidXNlLndpdGhfcGxhdGZvcm09JXMiICUgYWN0aXZl X3RhZ19kYXRhLmdldCgicGxhdGZvcm0iKSkKKysgICAgIyBwcmludCgidXNlLndpdGhfb3M9JXMi ICUgYWN0aXZlX3RhZ19kYXRhLmdldCgib3MiKSkKKysgICAgcHJpbnQoKQorKworKworKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisrIyBCRUhBVkUgSE9PS1M6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyBkZWYgYmVmb3JlX2FsbChjb250ZXh0KToKKyAgICAgIyAtLSBTRVRVUCBBQ1RJVkUtVEFHIE1B VENIRVIgKHdpdGggdXNlcmRhdGEpOgorICAgICAjIFVTRTogYmVoYXZlIC1EIGJyb3dzZXI9c2Fm YXJpIC4uLgorLSAgICAjIE5PVC1ORUVERUQ6IHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2 ZV90YWdfdmFsdWVfcHJvdmlkZXIsCistICAgICMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29udGV4dC5jb25maWcudXNlcmRhdGEpCisrICAgICMgTk9ULU5FRURFRDoKKysg ICAgIyBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBj b250ZXh0LmNvbmZpZy51c2VyZGF0YSkKKyAgICAgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNz b3JzNGJlaGF2ZSgpCisrICAgIHByaW50X2FjdGl2ZV90YWdzX3N1bW1hcnkoKQorKworIAorIGRl ZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0LCBmZWF0dXJlKToKKyAgICAgaWYgYWN0aXZlX3RhZ19t YXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgoZmVhdHVyZS50YWdzKToKKyAgICAgICAgIGZlYXR1 cmUuc2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorIAorKwor IGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pOgorICAgICBpZiBhY3RpdmVf dGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6 CisgICAgICAgICBzY2VuYXJpby5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVk ZV9yZWFzb24pCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUg Yi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZQoraW5kZXggZGMxZWJlNy4uODFjYjZl MiAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlCisrKysgYi9p c3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZQorQEAgLTcwLDYgKzcwLDcgQEAgRmVhdHVy ZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJl cG9ydHMgd2hlbiAtLW5vLXMKKyAgICAgQW5kIG5vdGUgdGhhdCAiYm9iLmZlYXR1cmUgaXMgc2tp cHBlZCIKKyAKKyAKKysgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgIFNjZW5hcmlv OiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgZmVhdHVyZSBpcyBjcmVhdGVkIHdpdGggLS1zaG93 LXNraXBwZWQKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93 LXNraXBwZWQgQGFsaWNlX2FuZF9ib2IuZmVhdHVyZXNldCIKKyAgICAgVGhlbiBpdCBzaG91bGQg cGFzcyB3aXRoOgorQEAgLTgzLDYgKzg0LDIzIEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBw ZWQgc2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisg ICAgICAgPHRlc3RzdWl0ZSBlcnJvcnM9IjAiIGZhaWx1cmVzPSIwIiBuYW1lPSJib2IuQm9iIiBz a2lwcGVkPSIxIiB0ZXN0cz0iMSIgdGltZT0iMC4wIj4KKyAgICAgICAiIiIKKyAKKysgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNr aXBwZWQgZmVhdHVyZSBpcyBjcmVhdGVkIHdpdGggLS1zaG93LXNraXBwZWQKKysgICAgV2hlbiBJ IHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93LXNraXBwZWQgQGFsaWNlX2FuZF9i b2IuZmVhdHVyZXNldCIKKysgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICIi IgorKyAgICAgIDEgZmVhdHVyZSBwYXNzZWQsIDAgZmFpbGVkLCAxIHNraXBwZWQKKysgICAgICAi IiIKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAidGVzdF9yZXN1bHRzL1RFU1RTLWFsaWNlLnhtbCIg ZXhpc3RzCisrICAgIEFuZCBhIGZpbGUgbmFtZWQgInRlc3RfcmVzdWx0cy9URVNUUy1ib2IueG1s IiBleGlzdHMKKysgICAgQW5kIHRoZSBmaWxlICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtYm9iLnhtbCIg c2hvdWxkIGNvbnRhaW46CisrICAgICAgIiIiCisrICAgICAgPHRlc3RzdWl0ZSBuYW1lPSJib2Iu Qm9iIiB0ZXN0cz0iMSIgZXJyb3JzPSIwIiBmYWlsdXJlcz0iMCIgc2tpcHBlZD0iMSIgdGltZT0i MC4wIj4KKysgICAgICAiIiIKKysgICAgICAjIC0tIEhJTlQgRk9SOiBQeXRob24gPCAzLjgKKysg ICAgICAjIDx0ZXN0c3VpdGUgZXJyb3JzPSIwIiBmYWlsdXJlcz0iMCIgbmFtZT0iYm9iLkJvYiIg c2tpcHBlZD0iMSIgdGVzdHM9IjEiIHRpbWU9IjAuMCI+CisrCisrICBAbm90LndpdGhfcHl0aG9u LnZlcnNpb249My44CisgICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIHNjZW5h cmlvIGlzIG5laXRoZXIgc2hvd24gbm9yIGNvdW50ZWQgd2l0aCAtLW5vLXNraXBwZWQKKyAgICAg V2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1uby1za2lwcGVkIgorICAgICBU aGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtMTAyLDcgKzEyMCwzMCBAQCBGZWF0dXJlOiBJ c3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0 cyB3aGVuIC0tbm8tcworICAgICAgICIiIgorICAgICBBbmQgbm90ZSB0aGF0ICJDaGFybHkyIGlz IHRoZSBza2lwcGVkIHNjZW5hcmlvbiBpbiBjaGFybHkuZmVhdHVyZSIKKyAKKysgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjgKKysgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBw ZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBub3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBl ZAorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLW5vLXNraXBwZWQi CisrICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKysgICAgICAiIiIKKysgICAgICAyIGZl YXR1cmVzIHBhc3NlZCwgMCBmYWlsZWQsIDEgc2tpcHBlZAorKyAgICAgIDIgc2NlbmFyaW9zIHBh c3NlZCwgMCBmYWlsZWQsIDIgc2tpcHBlZAorKyAgICAgICIiIgorKyAgICBBbmQgYSBmaWxlIG5h bWVkICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtYWxpY2UueG1sIiBleGlzdHMKKysgICAgQW5kIGEgZmls ZSBuYW1lZCAidGVzdF9yZXN1bHRzL1RFU1RTLWNoYXJseS54bWwiIGV4aXN0cworKyAgICBBbmQg dGhlIGZpbGUgInRlc3RfcmVzdWx0cy9URVNUUy1jaGFybHkueG1sIiBzaG91bGQgY29udGFpbjoK KysgICAgICAiIiIKKysgICAgICA8dGVzdHN1aXRlIG5hbWU9ImNoYXJseS5DaGFybHkiIHRlc3Rz PSIxIiBlcnJvcnM9IjAiIGZhaWx1cmVzPSIwIiBza2lwcGVkPSIwIgorKyAgICAgICIiIgorKyAg ICAgICMgLS0gSElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAgICAgICMgPHRlc3RzdWl0ZSBlcnJv cnM9IjAiIGZhaWx1cmVzPSIwIiBuYW1lPSJjaGFybHkuQ2hhcmx5IiBza2lwcGVkPSIwIiB0ZXN0 cz0iMSIKKysgICAgQW5kIHRoZSBmaWxlICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtY2hhcmx5LnhtbCIg c2hvdWxkIG5vdCBjb250YWluOgorKyAgICAgICIiIgorKyAgICAgIDx0ZXN0Y2FzZSBjbGFzc25h bWU9ImNoYXJseS5DaGFybHkiIG5hbWU9IkNoYXJseTIiCisrICAgICAgIiIiCisrICAgIEFuZCBu b3RlIHRoYXQgIkNoYXJseTIgaXMgdGhlIHNraXBwZWQgc2NlbmFyaW9uIGluIGNoYXJseS5mZWF0 dXJlIgorKworIAorKyAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgU2NlbmFyaW86 IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3 aXRoIC0tc2hvdy1za2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0 YWcxIC0tc2hvdy1za2lwcGVkIgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitAQCAt MTIyLDMgKzE2MywyNiBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBh cmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworICAgICAgICIiIgorICAg ICBBbmQgbm90ZSB0aGF0ICJDaGFybHkyIGlzIHRoZSBza2lwcGVkIHNjZW5hcmlvbiBpbiBjaGFy bHkuZmVhdHVyZSIKKyAKKysKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgIFNj ZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgc2hvd24gYW5kIGNv dW50ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorKyAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5p dCAtdCBAdGFnMSAtLXNob3ctc2tpcHBlZCIKKysgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRo OgorKyAgICAgICIiIgorKyAgICAgIDIgZmVhdHVyZXMgcGFzc2VkLCAwIGZhaWxlZCwgMSBza2lw cGVkCisrICAgICAgMiBzY2VuYXJpb3MgcGFzc2VkLCAwIGZhaWxlZCwgMiBza2lwcGVkCisrICAg ICAgIiIiCisrICAgIEFuZCBhIGZpbGUgbmFtZWQgInRlc3RfcmVzdWx0cy9URVNUUy1hbGljZS54 bWwiIGV4aXN0cworKyAgICBBbmQgYSBmaWxlIG5hbWVkICJ0ZXN0X3Jlc3VsdHMvVEVTVFMtY2hh cmx5LnhtbCIgZXhpc3RzCisrICAgIEFuZCB0aGUgZmlsZSAidGVzdF9yZXN1bHRzL1RFU1RTLWNo YXJseS54bWwiIHNob3VsZCBjb250YWluOgorKyAgICAgICIiIgorKyAgICAgIDx0ZXN0c3VpdGUg bmFtZT0iY2hhcmx5LkNoYXJseSIgdGVzdHM9IjIiIGVycm9ycz0iMCIgZmFpbHVyZXM9IjAiIHNr aXBwZWQ9IjEiCisrICAgICAgIiIiCisrICAgICAgIyBISU5UOiBQeXRob24gPCAzLjgKKysgICAg ICAjIDx0ZXN0c3VpdGUgZXJyb3JzPSIwIiBmYWlsdXJlcz0iMCIgbmFtZT0iY2hhcmx5LkNoYXJs eSIgc2tpcHBlZD0iMSIgdGVzdHM9IjIiCisrICAgIEFuZCB0aGUgZmlsZSAidGVzdF9yZXN1bHRz L1RFU1RTLWNoYXJseS54bWwiIHNob3VsZCBjb250YWluOgorKyAgICAgICIiIgorKyAgICAgIDx0 ZXN0Y2FzZSBjbGFzc25hbWU9ImNoYXJseS5DaGFybHkiIG5hbWU9IkNoYXJseTIiIHN0YXR1cz0i c2tpcHBlZCIKKysgICAgICAiIiIKKysgICAgQW5kIG5vdGUgdGhhdCAiQ2hhcmx5MiBpcyB0aGUg c2tpcHBlZCBzY2VuYXJpb24gaW4gY2hhcmx5LmZlYXR1cmUiCisrCitkaWZmIC0tZ2l0IGEvaXNz dWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYu ZmVhdHVyZQoraW5kZXggYTJlZDg5Mi4uOTAxYmRlYyAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1 cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCisrKysgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVh dHVyZQorQEAgLTU4LDYgKzU4LDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNj ZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgorICAgICAgICAgYmVoYXZlLnJl cG9ydGVyLmp1bml0LnNob3dfaG9zdG5hbWUgPSBGYWxzZQorICAgICAgICAgIiIiCisgCisrICAg IEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgICAgU2NlbmFyaW86IEhvb2sgZXJyb3Ig aW4gYmVmb3JlX3NjZW5hcmlvKCkKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4g LS1qdW5pdCBmZWF0dXJlcy9iZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAgICAg IFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKK0BAIC04Niw2ICs4Nyw0MCBAQCBGZWF0dXJlOiBJ c3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9y dGVyCisgICAgICAgQW5kIG5vdGUgdGhhdCAidGhlIHRyYWNlYmFjayBpcyBjb250YWluZWQgaW4g dGhlIFhNTCBlbGVtZW50IDxlcnJvci8+IgorIAorIAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My44CisrICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGJlZm9yZV9zY2VuYXJpbygp CisrICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYmVm b3JlX3NjZW5hcmlvX2ZhaWx1cmUuZmVhdHVyZSIKKysgICAgICBUaGVuIGl0IHNob3VsZCBmYWls IHdpdGg6CisrICAgICAgICAiIiIKKysgICAgICAgIDAgc2NlbmFyaW9zIHBhc3NlZCwgMSBmYWls ZWQsIDAgc2tpcHBlZAorKyAgICAgICAgIiIiCisrICAgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1 dCBzaG91bGQgY29udGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAgSE9PSy1FUlJPUiBpbiBi ZWZvcmVfc2NlbmFyaW86IFJ1bnRpbWVFcnJvcjogT09QUworKyAgICAgICAgIiIiCisrICAgICAg QW5kIHRoZSBmaWxlICJyZXBvcnRzL1RFU1RTLWJlZm9yZV9zY2VuYXJpb19mYWlsdXJlLnhtbCIg c2hvdWxkIGNvbnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAgIDx0ZXN0c3VpdGUgbmFtZT0i YmVmb3JlX3NjZW5hcmlvX2ZhaWx1cmUuQWxpY2UiIHRlc3RzPSIxIiBlcnJvcnM9IjEiIGZhaWx1 cmVzPSIwIiBza2lwcGVkPSIwIgorKyAgICAgICAgIiIiCisrICAgICAgICAjIC0tIEhJTlQgRk9S OiBQeXRob24gPCAzLjgKKysgICAgICAgICMgPHRlc3RzdWl0ZSBlcnJvcnM9IjEiIGZhaWx1cmVz PSIwIiBuYW1lPSJiZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5BbGljZSIgc2tpcHBlZD0iMCIgdGVz dHM9IjEiCisrICAgICAgQW5kIHRoZSBmaWxlICJyZXBvcnRzL1RFU1RTLWJlZm9yZV9zY2VuYXJp b19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAgIDxl cnJvciB0eXBlPSJSdW50aW1lRXJyb3IiIG1lc3NhZ2U9IkhPT0stRVJST1IgaW4gYmVmb3JlX3Nj ZW5hcmlvOiBSdW50aW1lRXJyb3I6IE9PUFMiPgorKyAgICAgICAgIiIiCisrICAgICAgICAjIC0t IEhJTlQgRk9SOiBQeXRob24gPCAzLjgKKysgICAgICAgICMgPGVycm9yIG1lc3NhZ2U9IkhPT0st RVJST1IgaW4gYmVmb3JlX3NjZW5hcmlvOiBSdW50aW1lRXJyb3I6IE9PUFMiIHR5cGU9IlJ1bnRp bWVFcnJvciI+CisrICAgICAgQW5kIHRoZSBmaWxlICJyZXBvcnRzL1RFU1RTLWJlZm9yZV9zY2Vu YXJpb19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAg IEZpbGUgImZlYXR1cmVzL2Vudmlyb25tZW50LnB5IiwgbGluZSA2LCBpbiBiZWZvcmVfc2NlbmFy aW8KKysgICAgICAgICAgY2F1c2VfaG9va19mYWlsdXJlKCkKKysgICAgICAgIEZpbGUgImZlYXR1 cmVzL2Vudmlyb25tZW50LnB5IiwgbGluZSAyLCBpbiBjYXVzZV9ob29rX2ZhaWx1cmUKKysgICAg ICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJPT1BTIikKKysgICAgICAgICIiIgorKyAgICAgIEFu ZCBub3RlIHRoYXQgInRoZSB0cmFjZWJhY2sgaXMgY29udGFpbmVkIGluIHRoZSBYTUwgZWxlbWVu dCA8ZXJyb3IvPiIKKysKKysKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAg ICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBhZnRlcl9zY2VuYXJpbygpCisgICAgICAgV2hlbiBJ IHJ1biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYWZ0ZXJfc2NlbmFyaW9fZmFp bHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKK0BAIC0xMTQs MyArMTQ5LDM4IEBAIEZlYXR1cmU6IElzc3VlICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJpbyBob29r LWVycm9ycyB3aXRoIEpVbml0UmVwb3J0ZXIKKyAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9y KCJPT1BTIikKKyAgICAgICAgICIiIgorICAgICAgIEFuZCBub3RlIHRoYXQgInRoZSB0cmFjZWJh Y2sgaXMgY29udGFpbmVkIGluIHRoZSBYTUwgZWxlbWVudCA8ZXJyb3IvPiIKKysKKysKKysgICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBTY2VuYXJpbzogSG9vayBlcnJvciBp biBhZnRlcl9zY2VuYXJpbygpCisrICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC0t anVuaXQgZmVhdHVyZXMvYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorKyAgICAgIFRo ZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKysgICAgICAgICIiIgorKyAgICAgICAgMCBzY2VuYXJp b3MgcGFzc2VkLCAxIGZhaWxlZCwgMCBza2lwcGVkCisrICAgICAgICAiIiIKKysgICAgICBBbmQg dGhlIGNvbW1hbmQgb3V0cHV0IHNob3VsZCBjb250YWluOgorKyAgICAgICAgIiIiCisrICAgICAg ICAgIFNjZW5hcmlvOiBCMQorKyAgICAgICAgICAgIEdpdmVuIGFub3RoZXIgc3RlcCBwYXNzZXMg Li4uIHBhc3NlZAorKyAgICAgICAgSE9PSy1FUlJPUiBpbiBhZnRlcl9zY2VuYXJpbzogUnVudGlt ZUVycm9yOiBPT1BTCisrICAgICAgICAiIiIKKysgICAgICBBbmQgdGhlIGZpbGUgInJlcG9ydHMv VEVTVFMtYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS54bWwiIHNob3VsZCBjb250YWluOgorKyAgICAg ICAgIiIiCisrICAgICAgICA8dGVzdHN1aXRlIG5hbWU9ImFmdGVyX3NjZW5hcmlvX2ZhaWx1cmUu Qm9iIiB0ZXN0cz0iMSIgZXJyb3JzPSIxIiBmYWlsdXJlcz0iMCIgc2tpcHBlZD0iMCIKKysgICAg ICAgICIiIgorKyAgICAgICAgIyAtLSBISU5UIEZPUjogUHl0aG9uIDwgMy44CisrICAgICAgICAj IDx0ZXN0c3VpdGUgZXJyb3JzPSIxIiBmYWlsdXJlcz0iMCIgbmFtZT0iYWZ0ZXJfc2NlbmFyaW9f ZmFpbHVyZS5Cb2IiIHNraXBwZWQ9IjAiIHRlc3RzPSIxIgorKyAgICAgIEFuZCB0aGUgZmlsZSAi cmVwb3J0cy9URVNUUy1hZnRlcl9zY2VuYXJpb19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRhaW46 CisrICAgICAgICAiIiIKKysgICAgICAgIDxlcnJvciB0eXBlPSJSdW50aW1lRXJyb3IiIG1lc3Nh Z2U9IkhPT0stRVJST1IgaW4gYWZ0ZXJfc2NlbmFyaW86IFJ1bnRpbWVFcnJvcjogT09QUyI+Cisr ICAgICAgICAiIiIKKysgICAgICAgICMgLS0gSElOVCBGT1I6IFB5dGhvbiA8IDMuOAorKyAgICAg ICAgIyA8ZXJyb3IgbWVzc2FnZT0iSE9PSy1FUlJPUiBpbiBhZnRlcl9zY2VuYXJpbzogUnVudGlt ZUVycm9yOiBPT1BTIiB0eXBlPSJSdW50aW1lRXJyb3IiPgorKyAgICAgIEFuZCB0aGUgZmlsZSAi cmVwb3J0cy9URVNUUy1hZnRlcl9zY2VuYXJpb19mYWlsdXJlLnhtbCIgc2hvdWxkIGNvbnRhaW46 CisrICAgICAgICAiIiIKKysgICAgICAgIEZpbGUgImZlYXR1cmVzL2Vudmlyb25tZW50LnB5Iiwg bGluZSAxMCwgaW4gYWZ0ZXJfc2NlbmFyaW8KKysgICAgICAgICAgY2F1c2VfaG9va19mYWlsdXJl KCkKKysgICAgICAgIEZpbGUgImZlYXR1cmVzL2Vudmlyb25tZW50LnB5IiwgbGluZSAyLCBpbiBj YXVzZV9ob29rX2ZhaWx1cmUKKysgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJPT1BTIikK KysgICAgICAgICIiIgorKyAgICAgIEFuZCBub3RlIHRoYXQgInRoZSB0cmFjZWJhY2sgaXMgY29u dGFpbmVkIGluIHRoZSBYTUwgZWxlbWVudCA8ZXJyb3IvPiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5m ZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0 dXJlCitpbmRleCBmODA2NDBlLi40NmY5NmU5IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMv aXNzdWUwNDU3LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJl CitAQCAtMjQsNiArMjQsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMg aW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAgICAgICAgICIiIgorIAor IAorKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAgIFNjZW5hcmlvOiBVc2Ug ZmFpbGluZyBhc3NlcnRhdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQKKyAgICAgICBHaXZlbiBh IGZpbGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxzMS5mZWF0dXJlIiB3aXRoOgorICAgICAgICAgIiIi CitAQCAtNDQsNiArNDUsMzEgQEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAtLSBEb3VibGUtcXVvdGVz IGluIGVycm9yIG1lc3NhZ2VzIG9mIEpVbml0IFhNTCByZXBvcnRzCisgICAgICAgICA8ZmFpbHVy ZSBtZXNzYWdlPSJGQUlMRUQ6IE15IG5hbWUgaXMgJnF1b3Q7QWxpY2UmcXVvdDsiCisgICAgICAg ICAiIiIKKyAKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBTY2VuYXJp bzogVXNlIGZhaWxpbmcgYXNzZXJ0YXRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisrICAgICAg R2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczEuZmVhdHVyZSIgd2l0aDoKKysgICAg ICAgICIiIgorKyAgICAgICAgRmVhdHVyZToKKysgICAgICAgICAgU2NlbmFyaW86IEFsaWNlCisr ICAgICAgICAgICAgR2l2ZW4gYSBzdGVwIGZhaWxzIHdpdGggbWVzc2FnZToKKysgICAgICAgICAg ICAgICcnJworKyAgICAgICAgICAgICAgTXkgbmFtZSBpcyAiQWxpY2UiCisrICAgICAgICAgICAg ICAnJycKKysgICAgICAgICIiIgorKyAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IGZl YXR1cmVzL2ZhaWxzMS5mZWF0dXJlIgorKyAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoK KysgICAgICAgICIiIgorKyAgICAgICAgMCBzY2VuYXJpb3MgcGFzc2VkLCAxIGZhaWxlZCwgMCBz a2lwcGVkCisrICAgICAgICAiIiIKKysgICAgICBBbmQgdGhlIGZpbGUgInJlcG9ydHMvVEVTVFMt ZmFpbHMxLnhtbCIgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAiIiIKKysgICAgICAgIDxmYWls dXJlIHR5cGU9IkFzc2VydGlvbkVycm9yIiBtZXNzYWdlPSJGQUlMRUQ6IE15IG5hbWUgaXMgJnF1 b3Q7QWxpY2UmcXVvdDsiPgorKyAgICAgICAgIiIiCisrICAgICAgICAjIC0tIEhJTlQgRk9SOiBQ eXRob24gPCAzLjgKKysgICAgICAgICMgPGZhaWx1cmUgbWVzc2FnZT0iRkFJTEVEOiBNeSBuYW1l IGlzICZxdW90O0FsaWNlJnF1b3Q7IgorKworKworKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNp b249My44CisgICAgIFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9y dAorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMyLmZlYXR1cmUiIHdp dGg6CisgICAgICAgICAiIiIKK0BAIC02MywzICs4OSwyNiBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3 IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMK KyAgICAgICAgICIiIgorICAgICAgICAgPGVycm9yIG1lc3NhZ2U9Ik15IG5hbWUgaXMgJnF1b3Q7 Qm9iJnF1b3Q7IGFuZCAmbHQ7aGVyZSZndDsgSSBhbSIKKyAgICAgICAgICIiIgorKworKyAgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9u IGluIGEgSlVuaXQgWE1MIHJlcG9ydAorKyAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVy ZXMvZmFpbHMyLmZlYXR1cmUiIHdpdGg6CisrICAgICAgICAiIiIKKysgICAgICAgIEZlYXR1cmU6 CisrICAgICAgICAgIFNjZW5hcmlvOiBCb2IKKysgICAgICAgICAgICBHaXZlbiBhIHN0ZXAgZmFp bHMgd2l0aCBlcnJvciBhbmQgbWVzc2FnZToKKysgICAgICAgICAgICAgICcnJworKyAgICAgICAg ICAgICAgTXkgbmFtZSBpcyAiQm9iIiBhbmQgPGhlcmU+IEkgYW0KKysgICAgICAgICAgICAgICcn JworKyAgICAgICAgIiIiCisrICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgZmVhdHVy ZXMvZmFpbHMyLmZlYXR1cmUiCisrICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorKyAg ICAgICAgIiIiCisrICAgICAgICAwIHNjZW5hcmlvcyBwYXNzZWQsIDEgZmFpbGVkLCAwIHNraXBw ZWQKKysgICAgICAgICIiIgorKyAgICAgIEFuZCB0aGUgZmlsZSAicmVwb3J0cy9URVNUUy1mYWls czIueG1sIiBzaG91bGQgY29udGFpbjoKKysgICAgICAgICIiIgorKyAgICAgICAgPGVycm9yIHR5 cGU9IlJ1bnRpbWVFcnJvciIgbWVzc2FnZT0iTXkgbmFtZSBpcyAmcXVvdDtCb2ImcXVvdDsgYW5k ICZsdDtoZXJlJmd0OyBJIGFtIj4KKysgICAgICAgICIiIgorKyAgICAgICAgIyAtLSBISU5UIEZP UjogUHl0aG9uIDwgMy44CisrICAgICAgICAjIDxlcnJvciBtZXNzYWdlPSJNeSBuYW1lIGlzICZx dW90O0JvYiZxdW90OyBhbmQgJmx0O2hlcmUmZ3Q7IEkgYW0iCitkaWZmIC0tZ2l0IGEvdG94Lmlu aSBiL3RveC5pbmkKK2luZGV4IGQyZmJjZTIuLmI4MjU5MjEgMTAwNjQ0CistLS0gYS90b3guaW5p CisrKysgYi90b3guaW5pCitAQCAtMjgsNyArMjgsNyBAQAorIAorIFt0b3hdCisgbWludmVyc2lv biAgID0gMi4zCistZW52bGlzdCAgICAgID0gcHkyNywgcHkzNywgcHkzNiwgcHkzNSwgcHkzNCwg cHkzMywgcHlweSwgZG9jcworK2Vudmxpc3QgICAgICA9IHB5MjcsIHB5MzcsIHB5MzgsIHB5MzYs IHB5MzUsIHB5cHksIGRvY3MKKyBza2lwX21pc3NpbmdfaW50ZXJwcmV0ZXJzID0gVHJ1ZQorIHNp dGVwYWNrYWdlcyA9IEZhbHNlCisgaW5kZXhzZXJ2ZXIgPQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0NS1VUERBVEUtTWFy ay1pc3N1ZS03NTUtYXMtZml4ZWQucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ1LVVQREFURS1NYXJrLWlzc3VlLTc1NS1hcy1maXhl ZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjYwNmMxMzE4Ywot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNDUtVVBEQVRFLU1hcmstaXNzdWUtNzU1LWFzLWZpeGVkLnBhdGNoCkBA IC0wLDAgKzEsNDYgQEAKK0Zyb20gYWQ3MjNiYTdlN2MyMjA0YmJkMjkxMTVlOTY3ZDI0OTgyN2Qz YzhmNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA3IEp1bCAyMDE5IDEyOjU5OjU3ICsw MjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVQREFURTogTWFyayBpc3N1ZSAjNzU1IGFzIGZpeGVkLgor CistLS0KKyBDSEFOR0VTLnJzdCB8IDExICsrKystLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0 IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGQxNjUyNzUuLjMxMmNiYmEgMTAwNjQ0CistLS0gYS9DSEFO R0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0yNywyOCArMjcsMjUgQEAgRU5IQU5DRU1F TlRTOgorICogVXNlIGBjdWN1bWJlci10YWctZXhwcmVzc2lvbnNgXyB3aXRoIHRhZy1tYXRjaGlu ZyBleHRlbnNpb24gKHN1cGVyY2VlZHM6IG9sZC1zdHlsZSB0YWctZXhwcmVzc2lvbnMpCisgKiBV c2UgY3VjdW1iZXIgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIG5vdyAoc2ltcGxpZnk6IEdoZXJr aW4gdjYgYWxpYXNlcywgbGFuZ3VhZ2UgdXNhZ2UpCisgKiBTdXBwb3J0IGVtb2ppcyBpbiBgYCou ZmVhdHVyZWBgIGZpbGVzIGFuZCBzdGVwcworKyogU2VsZWN0LWJ5LWxvY2F0aW9uOiBBZGQgc3Vw cG9ydCBmb3IgIlNjZW5hcmlvIGNvbnRhaW5lciIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0 bGluZSkgKHJlbGF0ZWQgdG86ICMzOTEpCisgKiBpc3N1ZSAjNjc4OiBTY2VuYXJpbyBPdXRsaW5l OiBTdXBwb3J0IHRhZ3Mgd2l0aCBjb21tYXMgYW5kIHNlbWljb2xvbnMgKHByb3ZpZGVkIGJ5OiBs YXdubW93ZXJsYXR0ZSwgcHVsbCAjNjc5KQorICogaXNzdWUgIzY3NTogRmVhdHVyZSBmaWxlcyBj YW5ub3QgYmUgZm91bmQgd2l0aGluIHN5bWxpbmsgZGlyZWN0b3JpZXMgKHByb3ZpZGVkIGJ5OiBz bWFkbmVzcywgcHVsbCAjNjgwKQorLSogU2VsZWN0LWJ5LWxvY2F0aW9uOiBBZGQgc3VwcG9ydCBm b3IgIlNjZW5hcmlvIGNvbnRhaW5lciIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSkg KHJlbGF0ZWQgdG86ICMzOTEpCistCistUEFSVElBTExZIEZJWEVEOgorLQorLSogaXNzdWUgIzc1 NTogRmFpbHVyZXMgd2l0aCBQeXRob24gMy44IChzdWJtaXR0ZWQgYnk6IGhyb25jb2spCisgCisg RklYRUQ6CisgCistKiBwdWxsICAjNTg4OiBTdGVwcy1jYXRhbG9nIGFyZ3VtZW50IHNob3VsZCBu b3QgYnJlYWsgY29uZmlndXJlZCByZXJ1biBzZXR0aW5ncyAocHJvdmlkZWQgYnk6IExlZ28zKQor KyogaXNzdWUgIzc1NTogRmFpbHVyZXMgd2l0aCBQeXRob24gMy44IChzdWJtaXR0ZWQgYnk6IGhy b25jb2spCisgKiBpc3N1ZSAjNzI1OiBTY2VuYXJpbyBPdXRsaW5lIGRlc2NyaXB0aW9uIGxpbmVz IHNlZW0gdG8gYmUgaWdub3JlZCAoc3VibWl0dGVkIGJ5OiBuaXp3aXopCisgKiBpc3N1ZSAjNzEz OiBCYWNrZ3JvdW5kIHNlY3Rpb24gZG9lc24ndCBzdXBwb3J0IGRlc2NyaXB0aW9uIChwcm92aWRl ZCBieTogZGdvdSkKKyAqIHB1bGwgICM2NTc6IEFsbG93IGFzeW5jIHN0ZXBzIHdpdGggdGltZW91 dHMgdG8gZmFpbCB3aGVuIHRoZXkgcmFpc2UgZXhjZXB0aW9ucyAocHJvdmlkZWQgYnk6IEFMU2No d2FsbSkKKyAqIGlzc3VlICM2MzE6IFNjZW5hcmlvT3V0bGluZSB2YXJpYWJsZXMgbm90IHBvc3Np YmxlIGluIHRhYmxlIGhlYWRpbmdzIChwcm92aWRlZCBieTogbXNjaG5lbGxlLCBwdWxsICM2NDIp CisgKiBpc3N1ZSAjNjE5OiBDb250ZXh0IF9fZ2V0YXR0cl9fIHNob3VsZCByYWlzZSBBdHRyaWJ1 dGVFcnJvciBpbnN0ZWFkIG9mIEtleUVycm9yIChzdWJtaXR0ZWQgYnk6IGFueG9kaW8pCisrKiBw dWxsICAjNTg4OiBTdGVwcy1jYXRhbG9nIGFyZ3VtZW50IHNob3VsZCBub3QgYnJlYWsgY29uZmln dXJlZCByZXJ1biBzZXR0aW5ncyAocHJvdmlkZWQgYnk6IExlZ28zKQorIAorIE1JTk9SOgorIAor KyogcHVsbCAgIzY2MDogRml4IG1pbm9yIHR5cG9zIChwcm92aWRlZCBieTogcnJ1ZXRoKQorICog cHVsbCAgIzY1NTogVXNlIHB5dGVzdCBpbnN0ZWFkIG9mIHB5LnRlc3QgcGVyIHVwc3RyZWFtIHJl Y29tbWVuZGF0aW9uIChwcm92aWRlZCBieTogc2NvcCkKKyAqIGlzc3VlICM2NTQ6IHRveC5pbmk6 IHB5cGkucHl0aG9uLm9yZyAtPiBweXBpLm9yZyAoc3VibWl0dGVkIGJ5OiBwcmFkeXVuc2cpCist KiBwdWxsICAjNjYwOiBGaXggbWlub3IgdHlwb3MgKHByb3ZpZGVkIGJ5OiBycnVldGgpCisgCisg RE9DVU1FTlRBVElPTjoKKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDYtVVBEQVRFLUN1Y3VtYmVyLWdoZXJraW4tbGFu Z3VhZ2VzLmpzb24ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDQ2LVVQREFURS1DdWN1bWJlci1naGVya2luLWxhbmd1YWdlcy5qc29u LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMDVjMzMwODlhCi0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA0Ni1VUERBVEUtQ3VjdW1iZXItZ2hlcmtpbi1sYW5ndWFnZXMuanNvbi5w YXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9tIDhjMDJjZTJhYmJhYjY1Y2ZhNGQ1YjBmMzA2YmY5 ZTQ3MzVhNzE5NWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgNyBKdWwgMjAxOSAyMzoz NTo0NSArMDIwMAorU3ViamVjdDogW1BBVENIXSBVUERBVEU6IEN1Y3VtYmVyIGdoZXJraW4tbGFu Z3VhZ2VzLmpzb24KKworLS0tCisgYmVoYXZlL2kxOG4ucHkgICAgICAgICAgICAgICAgICAgICB8 IDUgKysrKy0KKyBldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uIHwgNiArKysrKy0K KyAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2JlaGF2ZS9pMThuLnB5IGIvYmVoYXZlL2kxOG4ucHkKK2luZGV4IDllYjlhYWIu LjcyMWM0YzMgMTAwNjQ0CistLS0gYS9iZWhhdmUvaTE4bi5weQorKysrIGIvYmVoYXZlL2kxOG4u cHkKK0BAIC0zODIsNiArMzgyLDkgQEAgbGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ2ZlYXR1cmUn OiBbJ0ZvbmN0aW9ubmFsaXTDqSddLAorICAgICAgICAgJ2dpdmVuJzogWycqICcsCisgICAgICAg ICAgICAgICAgICAgJ1NvaXQgJywKKysgICAgICAgICAgICAgICAgICAnU2FjaGFudCBxdWUgJywK KysgICAgICAgICAgICAgICAgICAiU2FjaGFudCBxdSciLAorKyAgICAgICAgICAgICAgICAgICdT YWNoYW50ICcsCisgICAgICAgICAgICAgICAgICAgJ0V0YW50IGRvbm7DqSBxdWUgJywKKyAgICAg ICAgICAgICAgICAgICAiRXRhbnQgZG9ubsOpIHF1JyIsCisgICAgICAgICAgICAgICAgICAgJ0V0 YW50IGRvbm7DqSAnLAorQEAgLTM5OSw3ICs0MDIsNyBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAg ICAncnVsZSc6IFsnUsOoZ2xlJ10sCisgICAgICAgICAnc2NlbmFyaW8nOiBbJ0V4ZW1wbGUnLCAn U2PDqW5hcmlvJ10sCisgICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsnUGxhbiBkdSBzY8Op bmFyaW8nLCAnUGxhbiBkdSBTY8OpbmFyaW8nXSwKKy0gICAgICAgICd0aGVuJzogWycqICcsICdB bG9ycyAnXSwKKysgICAgICAgICd0aGVuJzogWycqICcsICdBbG9ycyAnLCAnRG9uYyAnXSwKKyAg ICAgICAgICd3aGVuJzogWycqICcsICdRdWFuZCAnLCAnTG9yc3F1ZSAnLCAiTG9yc3F1JyJdfSwK KyAgJ2dhJzogeydhbmQnOiBbJyogJywgJ0FndXMnXSwKKyAgICAgICAgICdiYWNrZ3JvdW5kJzog WydDw7pscmEnXSwKK2RpZmYgLS1naXQgYS9ldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5q c29uIGIvZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgoraW5kZXggYjA4ZTBmNS4u OTEzY2ZhYyAxMDA2NDQKKy0tLSBhL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24K KysrKyBiL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KK0BAIC0xMjU2LDYgKzEy NTYsOSBAQAorICAgICAiZ2l2ZW4iOiBbCisgICAgICAgIiogIiwKKyAgICAgICAiU29pdCAiLAor KyAgICAgICJTYWNoYW50IHF1ZSAiLAorKyAgICAgICJTYWNoYW50IHF1JyIsCisrICAgICAgIlNh Y2hhbnQgIiwKKyAgICAgICAiRXRhbnQgZG9ubsOpIHF1ZSAiLAorICAgICAgICJFdGFudCBkb25u w6kgcXUnIiwKKyAgICAgICAiRXRhbnQgZG9ubsOpICIsCitAQCAtMTI4NCw3ICsxMjg3LDggQEAK KyAgICAgXSwKKyAgICAgInRoZW4iOiBbCisgICAgICAgIiogIiwKKy0gICAgICAiQWxvcnMgIgor KyAgICAgICJBbG9ycyAiLAorKyAgICAgICJEb25jICIKKyAgICAgXSwKKyAgICAgIndoZW4iOiBb CisgICAgICAgIiogIiwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDctZ2hlcmtpbi1BZGRpbmctUnVsZS1rZXl3b3JkLXRy YW5zbGF0aW9uLWluLXBvcnR1Z3Vlcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDctZ2hlcmtpbi1BZGRpbmctUnVsZS1rZXl3b3Jk LXRyYW5zbGF0aW9uLWluLXBvcnR1Z3Vlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLmViYmFhNzJlZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNDctZ2hlcmtpbi1BZGRpbmct UnVsZS1rZXl3b3JkLXRyYW5zbGF0aW9uLWluLXBvcnR1Z3Vlcy5wYXRjaApAQCAtMCwwICsxLDIw MiBAQAorRnJvbSBjZjdiMTQ0YzkxN2Y1YmMwNjdkZDhmZDJhNGQ5OGM4NTk4NDlkYmYwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5 LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDggSnVsIDIwMTkgMDA6Mzg6MjYgKzAyMDAKK1N1Ympl Y3Q6IFtQQVRDSF0gZ2hlcmtpbjogQWRkaW5nIFJ1bGUga2V5d29yZCB0cmFuc2xhdGlvbiBpbiBw b3J0dWd1ZXNlIGFuZAorIHNwYW5pc2ggdG8gZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorCisqIElu dGVncmF0ZSBjaGFuZ2VzIGJhc2VkIG9uIG1lcmdlZCBjdWN1bWJlciBwdWxsLXJlcXVlc3QgIzYy MQorKiBVcGRhdGUgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iCisqIFVwZGF0ZSAiYmVoYXZlL2kx OG4ucHkiIChnZW5lcmF0ZWQgZnJvbTogZ2hlcmtpbi1sYW5ndWFnZXMuanNvbikKKworUkVMQVRF RC1UTzogcHVsbCAjNzUxIChzYW1lOyB1c2luZyB0aGUgb2ZmaWNpYWwgd2F5KQorLS0tCisgQ0hB TkdFUy5yc3QgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKKyBiZWhhdmUvZml4dHVyZS5w eSAgICAgICAgICAgICAgICAgIHwgIDEgLQorIGJlaGF2ZS9pMThuLnB5ICAgICAgICAgICAgICAg ICAgICAgfCAgNCArLS0KKyBldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uIHwgIDQg Ky0tCisgaW52b2tlLnlhbWwgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKworIHRhc2tz L19faW5pdF9fLnB5ICAgICAgICAgICAgICAgICAgfCAgMyArKworIHRhc2tzL2RldmVsb3AucHkg ICAgICAgICAgICAgICAgICAgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyB0 YXNrcy9weS5yZXF1aXJlbWVudHMudHh0ICAgICAgICAgIHwgIDMgKysKKyA4IGZpbGVzIGNoYW5n ZWQsIDczIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IHRhc2tzL2RldmVsb3AucHkKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5y c3QKK2luZGV4IDMxMmNiYmEuLjE1YTRlZjkgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysr IGIvQ0hBTkdFUy5yc3QKK0BAIC00Myw2ICs0Myw3IEBAIEZJWEVEOgorIAorIE1JTk9SOgorIAor KyogcHVsbCAgIzc1MTogZ2hlcmtpbjogQWRkaW5nIFJ1bGUga2V5d29yZCB0cmFuc2xhdGlvbiBp biBwb3J0dWd1ZXNlIGFuZCBzcGFuaXNoIHRvIGdoZXJraW4tbGFuZ3VhZ2VzLmpzb24gKHByb3Zp ZGVkIGJ5OiBkdW5vc3NhdXJvKQorICogcHVsbCAgIzY2MDogRml4IG1pbm9yIHR5cG9zIChwcm92 aWRlZCBieTogcnJ1ZXRoKQorICogcHVsbCAgIzY1NTogVXNlIHB5dGVzdCBpbnN0ZWFkIG9mIHB5 LnRlc3QgcGVyIHVwc3RyZWFtIHJlY29tbWVuZGF0aW9uIChwcm92aWRlZCBieTogc2NvcCkKKyAq IGlzc3VlICM2NTQ6IHRveC5pbmk6IHB5cGkucHl0aG9uLm9yZyAtPiBweXBpLm9yZyAoc3VibWl0 dGVkIGJ5OiBwcmFkeXVuc2cpCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2ZpeHR1cmUucHkgYi9iZWhh dmUvZml4dHVyZS5weQoraW5kZXggMjEwOTNiMC4uM2E5ZjFiYyAxMDA2NDQKKy0tLSBhL2JlaGF2 ZS9maXh0dXJlLnB5CisrKysgYi9iZWhhdmUvZml4dHVyZS5weQorQEAgLTM0OCw3ICszNDgsNiBA QCBkZWYgdXNlX2NvbXBvc2l0ZV9maXh0dXJlX3dpdGgoY29udGV4dCwgZml4dHVyZV9mdW5jc193 aXRoX3BhcmFtcyk6CisgICAgIHJldHVybiBjb21wb3NpdGVfZml4dHVyZQorIAorIAorLQorICMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgREVDT1JBVE9SUzoKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KK2RpZmYgLS1naXQgYS9iZWhhdmUvaTE4bi5weSBiL2JlaGF2ZS9pMThuLnB5Citp bmRleCA3MjFjNGMzLi4yNzgxYWZlIDEwMDY0NAorLS0tIGEvYmVoYXZlL2kxOG4ucHkKKysrKyBi L2JlaGF2ZS9pMThuLnB5CitAQCAtMzMxLDcgKzMzMSw3IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAg ICAgICdnaXZlbic6IFsnKiAnLCAnRGFkbyAnLCAnRGFkYSAnLCAnRGFkb3MgJywgJ0RhZGFzICdd LAorICAgICAgICAgJ25hbWUnOiAnU3BhbmlzaCcsCisgICAgICAgICAnbmF0aXZlJzogJ2VzcGHD sW9sJywKKy0gICAgICAgICdydWxlJzogWydSdWxlJ10sCisrICAgICAgICAncnVsZSc6IFsnUmVn bGEnXSwKKyAgICAgICAgICdzY2VuYXJpbyc6IFsnRWplbXBsbycsICdFc2NlbmFyaW8nXSwKKyAg ICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWydFc3F1ZW1hIGRlbCBlc2NlbmFyaW8nXSwKKyAg ICAgICAgICd0aGVuJzogWycqICcsICdFbnRvbmNlcyAnXSwKK0BAIC03NjIsNyArNzYyLDcgQEAg bGFuZ3VhZ2VzID0gXAorICAgICAgICAgJ2dpdmVuJzogWycqICcsICdEYWRvICcsICdEYWRhICcs ICdEYWRvcyAnLCAnRGFkYXMgJ10sCisgICAgICAgICAnbmFtZSc6ICdQb3J0dWd1ZXNlJywKKyAg ICAgICAgICduYXRpdmUnOiAncG9ydHVndcOqcycsCistICAgICAgICAncnVsZSc6IFsnUnVsZSdd LAorKyAgICAgICAgJ3J1bGUnOiBbJ1JlZ3JhJ10sCisgICAgICAgICAnc2NlbmFyaW8nOiBbJ0V4 ZW1wbG8nLCAnQ2Vuw6FyaW8nLCAnQ2VuYXJpbyddLAorICAgICAgICAgJ3NjZW5hcmlvX291dGxp bmUnOiBbJ0VzcXVlbWEgZG8gQ2Vuw6FyaW8nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ0VzcXVlbWEgZG8gQ2VuYXJpbycsCitkaWZmIC0tZ2l0IGEvZXRjL2doZXJraW4vZ2hlcmtp bi1sYW5ndWFnZXMuanNvbiBiL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KK2lu ZGV4IDkxM2NmYWMuLjI5Y2JjYTEgMTAwNjQ0CistLS0gYS9ldGMvZ2hlcmtpbi9naGVya2luLWxh bmd1YWdlcy5qc29uCisrKysgYi9ldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCitA QCAtMTA4NCw3ICsxMDg0LDcgQEAKKyAgICAgIm5hbWUiOiAiU3BhbmlzaCIsCisgICAgICJuYXRp dmUiOiAiZXNwYcOxb2wiLAorICAgICAicnVsZSI6IFsKKy0gICAgICAiUnVsZSIKKysgICAgICAi UmVnbGEiCisgICAgIF0sCisgICAgICJzY2VuYXJpbyI6IFsKKyAgICAgICAiRWplbXBsbyIsCitA QCAtMjU1Myw3ICsyNTUzLDcgQEAKKyAgICAgIm5hbWUiOiAiUG9ydHVndWVzZSIsCisgICAgICJu YXRpdmUiOiAicG9ydHVndcOqcyIsCisgICAgICJydWxlIjogWworLSAgICAgICJSdWxlIgorKyAg ICAgICJSZWdyYSIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjogWworICAgICAgICJFeGVtcGxv IiwKK2RpZmYgLS1naXQgYS9pbnZva2UueWFtbCBiL2ludm9rZS55YW1sCitpbmRleCAzZTkzY2Zj Li5kNmYxNDFjIDEwMDY0NAorLS0tIGEvaW52b2tlLnlhbWwKKysrKyBiL2ludm9rZS55YW1sCitA QCAtMzgsNiArMzgsMTAgQEAgY2xlYW51cDoKKyAgICAgICAtICJfX1dPUktESVJfXyIKKyAgICAg ICAtIHJlcG9ydHMKKyAKKysgICAgZXh0cmFfZmlsZXM6CisrICAgICAgLSAiZXRjL2doZXJraW4v Z2hlcmtpbiouanNvbi5TQVZFRCIKKysgICAgICAtICJldGMvZ2hlcmtpbi9pMThuLnB5IgorKwor IGNsZWFudXBfYWxsOgorICAgICBleHRyYV9kaXJlY3RvcmllczoKKyAgICAgICAtIC5oeXBvdGhl c2lzCitkaWZmIC0tZ2l0IGEvdGFza3MvX19pbml0X18ucHkgYi90YXNrcy9fX2luaXRfXy5weQor aW5kZXggOTY5YTk0YS4uYTU3MjQ2NSAxMDA2NDQKKy0tLSBhL3Rhc2tzL19faW5pdF9fLnB5Cisr KysgYi90YXNrcy9fX2luaXRfXy5weQorQEAgLTM5LDYgKzM5LDggQEAgZnJvbSAuIGltcG9ydCBf dGFza2xldF9jbGVhbnVwIGFzIGNsZWFudXAKKyBmcm9tIC4gaW1wb3J0IGRvY3MKKyBmcm9tIC4g aW1wb3J0IHRlc3QKKyBmcm9tIC4gaW1wb3J0IHJlbGVhc2UKKytmcm9tIC4gaW1wb3J0IGRldmVs b3AKKysKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBUQVNLUzoKK0BAIC01Niw2ICs1 OCw3IEBAIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZyb21fbW9kdWxlKGNs ZWFudXApLCBuYW1lPSJjbGVhbnVwIikKKyBuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVj dGlvbi5mcm9tX21vZHVsZShkb2NzKSkKKyBuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVj dGlvbi5mcm9tX21vZHVsZSh0ZXN0KSkKKyBuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29sbGVj dGlvbi5mcm9tX21vZHVsZShyZWxlYXNlKSkKKytuYW1lc3BhY2UuYWRkX2NvbGxlY3Rpb24oQ29s bGVjdGlvbi5mcm9tX21vZHVsZShkZXZlbG9wKSkKKyBjbGVhbnVwLmNsZWFudXBfdGFza3MuYWRk X3Rhc2soY2xlYW51cC5jbGVhbl9weXRob24pCisgCisgY2xlYW51cC5jbGVhbnVwX3Rhc2tzLmFk ZF90YXNrKGNsZWFudXAuY2xlYW5fcHl0aG9uKQorZGlmZiAtLWdpdCBhL3Rhc2tzL2RldmVsb3Au cHkgYi90YXNrcy9kZXZlbG9wLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MC4uYjA4ZGYwZQorLS0tIC9kZXYvbnVsbAorKysrIGIvdGFza3MvZGV2ZWxvcC5weQorQEAgLTAs MCArMSw1OCBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIiIiCisrRGV2ZWxvcG1lbnQg dGFza3MKKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwg cHJpbnRfZnVuY3Rpb24KKytmcm9tIGludm9rZSBpbXBvcnQgQ29sbGVjdGlvbiwgdGFzaworK2Zy b20gaW52b2tlLnV0aWwgaW1wb3J0IGNkCisrZnJvbSBwYXRoIGltcG9ydCBQYXRoCisraW1wb3J0 IHJlcXVlc3RzCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ09OU1RBTlRTOgorKyMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKytHSEVSS0lOX0xBTkdVQUdFU19VUkwgPSAiaHR0cHM6Ly9y YXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2N1Y3VtYmVyL2N1Y3VtYmVyL21hc3Rlci9naGVya2lu L2doZXJraW4tbGFuZ3VhZ2VzLmpzb24iCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor KyMgVEFTS1M6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK0B0YXNrKG5hbWU9InVwZGF0ZV9n aGVya2luIikgIyBUT08tTE9OR1M6IGFsaWFzZXM9WyJ1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMi XSkKKytkZWYgdXBkYXRlX2doZXJraW5fbGFuZ3VhZ2VzKGN0eCk6CisrICAgICIiIlVwZGF0ZSAi Z2hlcmtpbi1sYW5ndWFnZXMuanNvbiIgZmlsZSBmcm9tIGN1Y3VtYmVyLXJlcG8uIiIiCisrICAg IHdpdGggY2QoImV0Yy9naGVya2luIik6CisrICAgICAgICAjIC0tIEJBQ0tVUC1GSUxFOgorKyAg ICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfZmlsZSA9IFBhdGgoImdoZXJraW4tbGFuZ3VhZ2VzLmpz b24iKQorKyAgICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfZmlsZS5jb3B5KCJnaGVya2luLWxhbmd1 YWdlcy5qc29uLlNBVkVEIikKKysKKysgICAgICAgIHByaW50KCdEb3dubG9hZGluZyAiZ2hlcmtp bi1sYW5ndWFnZXMuanNvbiIgZnJvbSBnaXRodWI6Y3VjdW1iZXIgLi4uJykKKysgICAgICAgIGRv d25sb2FkX3JlcXVlc3QgPSByZXF1ZXN0cy5nZXQoR0hFUktJTl9MQU5HVUFHRVNfVVJMKQorKyAg ICAgICAgZ2hlcmtpbl9sYW5ndWFnZXNfbmV3ZmlsZSA9IFBhdGgoImdoZXJraW4tbGFuZ3VhZ2Vz Lmpzb24uTkVXIikKKysgICAgICAgIGFzc2VydCBkb3dubG9hZF9yZXF1ZXN0Lm9rCisrICAgICAg ICBwcmludCgnRG93bmxvYWQgZmluaXNoZWQ6IE9LIChzaXplPXswfSknLmZvcm1hdChsZW4oZG93 bmxvYWRfcmVxdWVzdC5jb250ZW50KSkpCisrICAgICAgICB3aXRoIG9wZW4oZ2hlcmtpbl9sYW5n dWFnZXNfbmV3ZmlsZSwgIndiIikgYXMgZjoKKysgICAgICAgICAgICBmLndyaXRlKGRvd25sb2Fk X3JlcXVlc3QuY29udGVudCkKKysgICAgICAgIGdoZXJraW5fbGFuZ3VhZ2VzX25ld2ZpbGUucmVu YW1lKCJnaGVya2luLWxhbmd1YWdlcy5qc29uIikKKysKKysgICAgICAgIHByaW50KCdHZW5lcmF0 aW5nICJpMThuLnB5IiAuLi4nKQorKyAgICAgICAgY3R4LnJ1bigiLi9jb252ZXJ0X2doZXJraW4t bGFuZ3VhZ2VzLnB5IikKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBUQVNLIEhF TFBFUlM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK2RlZiBwcmludF9wYWNrYWdlcyhwYWNr YWdlcyk6CisrICAgIHByaW50KCJQQUNLQUdFU1slZF06IiAlIGxlbihwYWNrYWdlcykpCisrICAg IGZvciBwYWNrYWdlIGluIHBhY2thZ2VzOgorKyAgICAgICAgcGFja2FnZV9zaXplID0gcGFja2Fn ZS5zdGF0KCkuc3Rfc2l6ZQorKyAgICAgICAgcGFja2FnZV90aW1lID0gcGFja2FnZS5zdGF0KCku c3RfbXRpbWUKKysgICAgICAgIHByaW50KCIgIC0gJXMgIChzaXplPSVzKSIgJSAocGFja2FnZSwg cGFja2FnZV9zaXplKSkKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBUQVNLIENP TkZJR1VSQVRJT046CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK25hbWVzcGFjZSA9IENvbGxl Y3Rpb24oKQorK25hbWVzcGFjZS5hZGRfdGFzayh1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMpCisr bmFtZXNwYWNlLmNvbmZpZ3VyZSh7fSkKK2RpZmYgLS1naXQgYS90YXNrcy9weS5yZXF1aXJlbWVu dHMudHh0IGIvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAoraW5kZXggZTc3MmQ1ZS4uYTc3ZDNi YyAxMDA2NDQKKy0tLSBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKKysrKyBiL3Rhc2tzL3B5 LnJlcXVpcmVtZW50cy50eHQKK0BAIC0xNiwzICsxNiw2IEBAIHNpeCA+PSAxLjEyLjAKKyAjIC0t IFBZVEhPTjIgQkFDS1BPUlRTOgorIHBhdGhsaWI7ICAgIHB5dGhvbl92ZXJzaW9uIDw9ICczLjQn CisgYmFja3BvcnRzLnNodXRpbF93aGljaDsgcHl0aG9uX3ZlcnNpb24gPD0gJzMuMycKKysKKysj IC0tIFNFQ1RJT046IGRldmVsb3AKKytyZXF1ZXN0cwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0OC1Ud2Vha3MtdG8tdXBk YXRlLWdlbmVyYXRlLWZyb20tZ2hlcmtpbi1sYW5ndWFnZXMuanNvLnBhdGNoIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0OC1Ud2Vha3MtdG8t dXBkYXRlLWdlbmVyYXRlLWZyb20tZ2hlcmtpbi1sYW5ndWFnZXMuanNvLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uOTM5YTA5MDFlCi0tLSAvZGV2L251bGwKKysr IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA0 OC1Ud2Vha3MtdG8tdXBkYXRlLWdlbmVyYXRlLWZyb20tZ2hlcmtpbi1sYW5ndWFnZXMuanNvLnBh dGNoCkBAIC0wLDAgKzEsMTQxIEBACitGcm9tIDA4NGY4MjNmZGE1OTM5NDQyZjQ4ZWIzNGQ5OWMw ZWQ0OGQ2NzUwOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgOCBKdWwgMjAxOSAwMTow NzoxMSArMDIwMAorU3ViamVjdDogW1BBVENIXSBUd2Vha3MgdG8gdXBkYXRlL2dlbmVyYXRlIGZy b20gZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorCistLS0KKyBldGMvZ2hlcmtpbi9jb252ZXJ0X2do ZXJraW4tbGFuZ3VhZ2VzLnB5IHwgMTYgKysrKysrKy0tLS0KKyB0YXNrcy9kZXZlbG9wLnB5ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMzQgKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgMiBm aWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2V0Yy9naGVya2luL2NvbnZlcnRfZ2hlcmtpbi1sYW5ndWFnZXMucHkgYi9ldGMvZ2hl cmtpbi9jb252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5CitpbmRleCAxODAzY2E2Li45ZWY5YjBj IDEwMDc1NQorLS0tIGEvZXRjL2doZXJraW4vY29udmVydF9naGVya2luLWxhbmd1YWdlcy5weQor KysrIGIvZXRjL2doZXJraW4vY29udmVydF9naGVya2luLWxhbmd1YWdlcy5weQorQEAgLTY4LDcg KzY4LDcgQEAgZGVmIHlhbWxfbm9ybWFsaXplKGRhdGEpOgorICAgICByZXR1cm4gZGF0YQorIAor IAorLWRlZiBkYXRhX25vcm1hbGl6ZShkYXRhKToKKytkZWYgZGF0YV9ub3JtYWxpemUoZGF0YSwg dmVyYm9zZT1GYWxzZSk6CisgICAgICIiIk5vcm1hbGl6ZSAiZ2hlcmtpbi1sYW5ndWFnZXMuanNv biIgZGF0YSBpbnRvIGludGVybmFsIGZvcm1hdCwKKyAgICAgbmVlZGVkIGJ5IGJlaGF2ZS4iCisg CitAQCAtNzYsNyArNzYsOCBAQCBkZWYgZGF0YV9ub3JtYWxpemUoZGF0YSk6CisgICAgIDpyZXR1 cm46IE5vcm1hbGl6ZWQgZGF0YSAoYXMgZGljdGlvbmFyeSkuCisgICAgICIiIgorICAgICBmb3Ig bGFuZ3VhZ2UgaW4gZGF0YToKKy0gICAgICAgIHByaW50KCJMYW5ndWFnZTogJXMgLi4uIiAlIGxh bmd1YWdlKQorKyAgICAgICAgaWYgdmVyYm9zZToKKysgICAgICAgICAgICBwcmludCgiTGFuZ3Vh Z2U6ICVzIC4uLiIgJSBsYW5ndWFnZSkKKyAgICAgICAgICMgLS0gU1RFUDogTm9ybWFsaXplIGF0 dHJpYnV0ZSAic2NlbmFyaW9PdXRsaW5lIiA9PiAic2NlbmFyaW9fb3V0bGluZSIKKyAgICAgICAg IGxhbmdfa2V5d29yZHMgPSBkYXRhW2xhbmd1YWdlXQorICAgICAgICAgbGFuZ19rZXl3b3Jkc1t1 InNjZW5hcmlvX291dGxpbmUiXSA9IGxhbmdfa2V5d29yZHNbdSJzY2VuYXJpb091dGxpbmUiXQor QEAgLTEwNyw3ICsxMDgsNyBAQCBkZWYgZGF0YV9ub3JtYWxpemUoZGF0YSk6CisgCisgCisgZGVm IGdoZXJraW5fbGFuZ3VhZ2VzX3RvX3B5dGhvbl9tb2R1bGUoZ2hlcmtpbl9sYW5ndWFnZXNfcGF0 aCwgb3V0cHV0X2ZpbGU9Tm9uZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbmNvZGluZz1Ob25lKToKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlbmNvZGluZz1Ob25lLCB2ZXJib3NlPUZhbHNlKToKKyAgICAgIiIiV29ya2hvcnNlLgor ICAgICBQZXJmb3JtcyB0aGUgY29udmVyc2lvbiBmcm9tICJnaGVya2luLWxhbmd1YWdlcy5qc29u IiB0byAiaTE4bi5weSIuCisgICAgIFdyaXRlcyBvdXRwdXQgdG8gZmlsZSBvciBjb25zb2xlIChz dGRvdXQpLgorQEAgLTExNSw2ICsxMTYsNyBAQCBkZWYgZ2hlcmtpbl9sYW5ndWFnZXNfdG9fcHl0 aG9uX21vZHVsZShnaGVya2luX2xhbmd1YWdlc19wYXRoLCBvdXRwdXRfZmlsZT1Ob25lLAorICAg ICA6cGFyYW0gZ2hlcmtpbl9sYW5ndWFnZXNfcGF0aDogRmlsZSBwYXRoIGZvciBKU09OIGZpbGUu CisgICAgIDpwYXJhbSBvdXRwdXRfZmlsZTogICAgIE91dHB1dCBmaWxlbmFtZSAob3IgU1RET1VU IGZvcjogTm9uZSwgInN0ZG91dCIsICItIikKKyAgICAgOnBhcmFtIGVuY29kaW5nOiAgICAgICAg T3B0aW9uYWwgb3V0cHV0IGVuY29kaW5nIHRvIHVzZSAoZGVmYXVsdDogVVRGLTgpLgorKyAgICA6 cGFyYW0gdmVyYm9zZTogICAgICAgICBFbmFibGUgdmVyYm9zZSBtb2RlIChhcyBib29sOyBvcHRp b25hbCkuCisgICAgICIiIgorICAgICBpZiBlbmNvZGluZyBpcyBOb25lOgorICAgICAgICAgZW5j b2RpbmcgPSAiVVRGLTgiCitAQCAtMTIyLDcgKzEyNCw3IEBAIGRlZiBnaGVya2luX2xhbmd1YWdl c190b19weXRob25fbW9kdWxlKGdoZXJraW5fbGFuZ3VhZ2VzX3BhdGgsIG91dHB1dF9maWxlPU5v bmUsCisgICAgICMgLS0gU1RFUCAxOiBMb2FkIEpTT04gZGF0YS4KKyAgICAganNvbl9lbmNvZGlu ZyA9ICJVVEYtOCIKKyAgICAgbGFuZ3VhZ2VzID0ganNvbi5sb2FkKG9wZW4oZ2hlcmtpbl9sYW5n dWFnZXNfcGF0aCwgZW5jb2Rpbmc9anNvbl9lbmNvZGluZykpCistICAgIGxhbmd1YWdlcyA9IGRh dGFfbm9ybWFsaXplKGxhbmd1YWdlcykKKysgICAgbGFuZ3VhZ2VzID0gZGF0YV9ub3JtYWxpemUo bGFuZ3VhZ2VzLCB2ZXJib3NlPXZlcmJvc2UpCisgICAgICMgbGFuZ3VhZ2VzID0geWFtbF9ub3Jt YWxpemUobGFuZ3VhZ2VzKQorIAorICAgICAjIC0tIFNURVAgMjogR2VuZXJhdGUgcHl0aG9uIG1v ZHVsZSB3aXRoIGkxOG4gZGF0YS4KK0BAIC0xNzgsNiArMTgwLDkgQEAgZGVmIG1haW4oYXJncz1O b25lKToKKyAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLWUiLCAiLS1lbmNvZGluZyIsIGRlc3Q9 ImVuY29kaW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PSJVVEYtOCIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iT3V0cHV0IGVuY29kaW5nLiIpCisrICAgIHBh cnNlci5hZGRfYXJndW1lbnQoIi0tdmVyYm9zZSIsIGRlc3Q9InZlcmJvc2UiLCBkZWZhdWx0PUZh bHNlLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgaGVscD0iRW5hYmxlIHZlcmJvc2UgbW9kZS4iKQorICAgICBw YXJzZXIuYWRkX2FyZ3VtZW50KCJvdXRwdXRfZmlsZSIsIGRlZmF1bHQ9ImkxOG4ucHkiLCBuYXJn cz0iPyIsCisgICAgICAgICAgICAgICAgIGhlbHA9IkZpbGVuYW1lIG9mIFB5dGhvbiBJMThOIG1v ZHVsZSAoYXMgb3V0cHV0KS4iKQorICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCItLXZlcnNpb24i LCBhY3Rpb249InZlcnNpb24iLCB2ZXJzaW9uPV9fdmVyc2lvbl9fKQorQEAgLTE5MSw3ICsxOTYs OCBAQCBkZWYgbWFpbihhcmdzPU5vbmUpOgorICAgICB0cnk6CisgICAgICAgICBwcmludCgiV3Jp dGluZyAlcyAuLiIgJSBvcHRpb25zLm91dHB1dF9maWxlKQorICAgICAgICAgZ2hlcmtpbl9sYW5n dWFnZXNfdG9fcHl0aG9uX21vZHVsZShvcHRpb25zLmpzb25fZmlsZSwgb3B0aW9ucy5vdXRwdXRf ZmlsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2Rp bmc9b3B0aW9ucy5lbmNvZGluZykKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZW5jb2Rpbmc9b3B0aW9ucy5lbmNvZGluZywKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmVyYm9zZT1vcHRpb25zLnZlcmJvc2UpCisgICAgIGV4 Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgIG1lc3NhZ2UgPSAiJXM6ICVzIiAlIChlLl9f Y2xhc3NfXy5fX25hbWVfXywgZSkKKyAgICAgICAgIHN5cy5leGl0KG1lc3NhZ2UpCitkaWZmIC0t Z2l0IGEvdGFza3MvZGV2ZWxvcC5weSBiL3Rhc2tzL2RldmVsb3AucHkKK2luZGV4IGIwOGRmMGUu LjlhMjEzNjMgMTAwNjQ0CistLS0gYS90YXNrcy9kZXZlbG9wLnB5CisrKysgYi90YXNrcy9kZXZl bG9wLnB5CitAQCAtMTgsOSArMTgsMTUgQEAgR0hFUktJTl9MQU5HVUFHRVNfVVJMID0gImh0dHBz Oi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jdWN1bWJlci9jdWN1bWJlci9tYXMKKyAjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgIyBUQVNLUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist QHRhc2sobmFtZT0idXBkYXRlX2doZXJraW4iKSAjIFRPTy1MT05HUzogYWxpYXNlcz1bInVwZGF0 ZV9naGVya2luX2xhbmd1YWdlcyJdKQorLWRlZiB1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMoY3R4 KToKKy0gICAgIiIiVXBkYXRlICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBmaWxlIGZyb20gY3Vj dW1iZXItcmVwby4iIiIKKytAdGFzaworK2RlZiB1cGRhdGVfZ2hlcmtpbihjdHgsIGRyeV9ydW49 RmFsc2UpOgorKyAgICAiIiJVcGRhdGUgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGZpbGUgZnJv bSBjdWN1bWJlci1yZXBvLgorKworKyAgICAqIERvd25sb2FkICJnaGVya2luLWxhbmd1YWdlcy5q c29uIiBmcm9tIGN1Y3VtYmVyIHJlcG8KKysgICAgKiBVcGRhdGUgImdoZXJraW4tbGFuZ3VhZ2Vz Lmpzb24iCisrICAgICogR2VuZXJhdGUgImkxOG4ucHkiIGZpbGUgZnJvbSAiZ2hlcmtpbi1sYW5n dWFnZXMuanNvbiIKKysgICAgKiBVcGRhdGUgImJlaGF2ZS9pMThuLnB5IiBmaWxlIChvcHRpb25h bDsgbm90IGluIGRyeS1ydW4gbW9kZSkKKysgICAgIiIiCisgICAgIHdpdGggY2QoImV0Yy9naGVy a2luIik6CisgICAgICAgICAjIC0tIEJBQ0tVUC1GSUxFOgorICAgICAgICAgZ2hlcmtpbl9sYW5n dWFnZXNfZmlsZSA9IFBhdGgoImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iKQorQEAgLTI4LDMxICsz NCwyMyBAQCBkZWYgdXBkYXRlX2doZXJraW5fbGFuZ3VhZ2VzKGN0eCk6CisgCisgICAgICAgICBw cmludCgnRG93bmxvYWRpbmcgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGZyb20gZ2l0aHViOmN1 Y3VtYmVyIC4uLicpCisgICAgICAgICBkb3dubG9hZF9yZXF1ZXN0ID0gcmVxdWVzdHMuZ2V0KEdI RVJLSU5fTEFOR1VBR0VTX1VSTCkKKy0gICAgICAgIGdoZXJraW5fbGFuZ3VhZ2VzX25ld2ZpbGUg PSBQYXRoKCJnaGVya2luLWxhbmd1YWdlcy5qc29uLk5FVyIpCisgICAgICAgICBhc3NlcnQgZG93 bmxvYWRfcmVxdWVzdC5vaworICAgICAgICAgcHJpbnQoJ0Rvd25sb2FkIGZpbmlzaGVkOiBPSyAo c2l6ZT17MH0pJy5mb3JtYXQobGVuKGRvd25sb2FkX3JlcXVlc3QuY29udGVudCkpKQorLSAgICAg ICAgd2l0aCBvcGVuKGdoZXJraW5fbGFuZ3VhZ2VzX25ld2ZpbGUsICJ3YiIpIGFzIGY6CisrICAg ICAgICB3aXRoIG9wZW4oZ2hlcmtpbl9sYW5ndWFnZXNfZmlsZSwgIndiIikgYXMgZjoKKyAgICAg ICAgICAgICBmLndyaXRlKGRvd25sb2FkX3JlcXVlc3QuY29udGVudCkKKy0gICAgICAgIGdoZXJr aW5fbGFuZ3VhZ2VzX25ld2ZpbGUucmVuYW1lKCJnaGVya2luLWxhbmd1YWdlcy5qc29uIikKKyAK KyAgICAgICAgIHByaW50KCdHZW5lcmF0aW5nICJpMThuLnB5IiAuLi4nKQorICAgICAgICAgY3R4 LnJ1bigiLi9jb252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5IikKKy0KKy0KKy0jIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCistIyBUQVNLIEhFTFBFUlM6CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor LWRlZiBwcmludF9wYWNrYWdlcyhwYWNrYWdlcyk6CistICAgIHByaW50KCJQQUNLQUdFU1slZF06 IiAlIGxlbihwYWNrYWdlcykpCistICAgIGZvciBwYWNrYWdlIGluIHBhY2thZ2VzOgorLSAgICAg ICAgcGFja2FnZV9zaXplID0gcGFja2FnZS5zdGF0KCkuc3Rfc2l6ZQorLSAgICAgICAgcGFja2Fn ZV90aW1lID0gcGFja2FnZS5zdGF0KCkuc3RfbXRpbWUKKy0gICAgICAgIHByaW50KCIgIC0gJXMg IChzaXplPSVzKSIgJSAocGFja2FnZSwgcGFja2FnZV9zaXplKSkKKysgICAgICAgIGN0eC5ydW4o ImRpZmYgaTE4bi5weSAuLi8uLi9iZWhhdmUvaTE4bi5weSIpCisrICAgICAgICBpZiBub3QgZHJ5 X3J1bjoKKysgICAgICAgICAgICBwcmludCgiVXBkYXRpbmcgYmVoYXZlL2kxOG4ucHkgLi4uIikK KysgICAgICAgICAgICBQYXRoKCJpMThuLnB5IikubW92ZSgiLi4vLi4vYmVoYXZlL2kxOG4ucHki KQorIAorIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRBU0sgQ09ORklHVVJBVElPTjoK KyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBUT08tTE9ORzogYWxpYXNlcz1bInVwZGF0ZV9n aGVya2luX2xhbmd1YWdlcyJdKQorIG5hbWVzcGFjZSA9IENvbGxlY3Rpb24oKQorLW5hbWVzcGFj ZS5hZGRfdGFzayh1cGRhdGVfZ2hlcmtpbl9sYW5ndWFnZXMpCisrbmFtZXNwYWNlLmFkZF90YXNr KHVwZGF0ZV9naGVya2luKQorIG5hbWVzcGFjZS5jb25maWd1cmUoe30pCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ5LUVY QU1QTEUtVHdlYWstbmFtaW5nLXRvLWZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDQ5 LUVYQU1QTEUtVHdlYWstbmFtaW5nLXRvLWZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi44ZDk1NmNkZDUKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDQ5LUVYQU1QTEUtVHdlYWstbmFtaW5nLXRvLWZpeHR1cmUuYmVoYXZlLm5vX2Jh Y2tncm91bmQucGF0Y2gKQEAgLTAsMCArMSwzMjIgQEAKK0Zyb20gZDNlZjA2YzJkZmU0NGIyMjg2 YjQyYjdkZGNjNjZmN2M5ZTZhYTI0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGpl bmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVHVlLCA5IEp1 bCAyMDE5IDA4OjEwOjI2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEVYQU1QTEU6IFR3ZWFrIG5h bWluZyB0byBAZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZCAod2FzOgorIC5vdmVycmlkZV9i YWNrZ3JvdW5kKQorCistLS0KKyBleGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvUkVBRE1F LnJzdCAgICAgfCAxMTAgKysrKysrKysrKysrKysrKysrCisgLi4uL2JlaGF2ZV9maXh0dXJlX2xp Yi9fX2luaXRfXy5weSAgICAgICAgICAgIHwgICAwCisgLi4uL2JlaGF2ZV9maXh0dXJlX2xpYi9u b19iYWNrZ3JvdW5kLnB5ICAgICAgIHwgIDcyICsrKysrKysrKysrKworIC4uLi9mZWF0dXJlcy9l bnZpcm9ubWVudC5weSAgICAgICAgICAgICAgICAgICB8ICAzNSArKysrKysKKyAuLi4vZmVhdHVy ZXMvZXhhbXBsZS5mZWF0dXJlICAgICAgICAgICAgICAgICAgfCAgMTggKysrCisgLi4uL2ZlYXR1 cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5ICAgICAgICAgICAgIHwgIDEzICsrKworIC4uLi9mZWF0 dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5ICB8ICAxMiArKworIDcgZmlsZXMg Y2hhbmdlZCwgMjYwIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMv Zml4dHVyZS5ub19iYWNrZ3JvdW5kL1JFQURNRS5yc3QKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhh bXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5w eQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvYmVo YXZlX2ZpeHR1cmVfbGliL25vX2JhY2tncm91bmQucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhh bXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9l eGFtcGxlLmZlYXR1cmUKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMvZml4dHVyZS5ub19i YWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5CisgY3JlYXRlIG1vZGUgMTAw NjQ0IGV4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3Rl cGxpYl9iZWhhdmU0Y21kLnB5CisKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm5vX2Jh Y2tncm91bmQvUkVBRE1FLnJzdCBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9SRUFE TUUucnN0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNDI0M2YxMAorLS0t IC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL1JFQURNRS5y c3QKK0BAIC0wLDAgKzEsMTEwIEBACisrRVhBTVBMRTogRGlzYWJsZSBCYWNrZ3JvdW5kIEluaGVy aXRhbmNlIE1lY2hhbmlzbSBmb3IgU2NlbmFyaW8KKys9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisr CisrOlJFTEFURUQtVE86ICM3NTYKKysKKytUaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRoZSBCYWNr Z3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBpbiBHaGVya2luCisrY2FuIGJlIGRpc2FibGVk IGluIGBgYmVoYXZlYGAuCisrCisrUGFydHMgb2YgdGhlIHJlY2lwZToKKysKKysqIGZlYXR1cmVz L2V4YW1wbGUuZmVhdHVyZSAoRmVhdHVyZSBmaWxlIGFzIGV4YW1wbGUpCisrKiBmZWF0dXJlcy9l bnZpcm9ubWVudC5weSAoZ2x1ZSBjb2RlIGFuZCBob29rcyBmb3IgZml4dHVyZS10YWcgLyBmaXh0 dXJlKQorKyogYmVoYXZlX2ZpeHR1cmVfbGliL25vX2JhY2tncm91bmQucHkgKGZpeHR1cmUgaW1w bGVtZW50YXRpb24sIHdvcmtob3JzZSkKKysKKysKKysuLiB3YXJuaW5nOjogQkVXQVJFOiBUaGlz IHNob3dzIHlvdSBob3cgY2FuIGRvIGl0LCBub3QgdGhhdCB5b3Ugc2hvdWxkIGRvIGl0CisrCisr ICAgIEJFVFRFUjoKKysKKysgICAgKiBVc2UgUnVsZXMgdG8gZ3JvdXAgU2NlbmFyaW9zLCBlYWNo IHdpdGggaXRzIG93biBCYWNrZ3JvdW5kIChpbiBHaGVya2luIHY2KQorKyAgICAqIFNwbGl0IEZl YXR1cmUgYXNwZWN0cyBpbnRvIG11bHRpcGxlIGZlYXR1cmUgZmlsZXMgKGlmIG5lZWRlZCkKKysg ICAgKiAuLi4gKHNlZSBpc3N1ZSAjNzU2IGFib3ZlKQorKworKworK0V4cGxhbmF0aW9uCisrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisrCisrRXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRlIGEgYmVoYXZlIGZp eHR1cmUgdG8gZGlzYWJsZSB0aGUKKytiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBi eSB1c2luZyBhIGZpeHR1cmUgLyBmaXh0dXJlLXRhZy4KKytUaGUgZml4dHVyZS10YWcgIkBmaXh0 dXJlLmJlaGF2ZS5ub19iYWNrZ3JvdW5kIiBtYXJrcyB0aGUKKytsb2NhdGlvbiBpbiBHaGVya2lu ICh3aGljaCBTY2VuYXJpbykgd2hlcmUgdGhlIGZpeHR1cmUgc2hvdWxkIGJlIHVzZWQKKysKKysu LiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2V4YW1w bGUuZmVhdHVyZQorKyAgICBGZWF0dXJlOiBTaG93IGhvdyBAZml4dHVyZS5iZWhhdmUubm9fYmFj a2dyb3VuZCBpcyB1c2VkCisrCisrICAgICAgICBCYWNrZ3JvdW5kOgorKyAgICAgICAgICBHaXZl biBhIGJhY2tncm91bmQgc3RlcAorKworKyAgICAgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAg ICAgIFdoZW4gYSBzdGVwIHBhc3NlcworKyAgICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3Jv dW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJlIgorKworKyAgICAgICAgQGZpeHR1cmUuYmVoYXZl Lm5vX2JhY2tncm91bmQKKysgICAgICAgIFNjZW5hcmlvOiBCb2IKKysgICAgICAgICAgR2l2ZW4g SSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAKKysgICAgICAgICAgV2hlbiBhbm90aGVyIHN0 ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMg YXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrV2hlbiB0aGUgZmVhdHVyZSBpcyBleGVjdXRlZCwgeW91 IHNlZSB0aGF0OgorKworKyogRmlyc3QgU2NlbmFyaW8gIkFsaWNlIjogQmFja2dyb3VuZCBzdGVw cyBhcmUgaW5oZXJpdGVkIGFuZCBleGVjdXRlZCBmaXJzdC4KKysqIFNlY29uZCBTY2VuYXJpbyAi Qm9iIjogTm8gQmFja2dyb3VuZCBzdGVwIGlzIGV4ZWN1dGVkLgorKworKy4uIGNvZGUtYmxvY2s6 OiBzaAorKworKyAgICAkIC4uLy4uL2Jpbi9iZWhhdmUgLWYgcGxhaW4gZmVhdHVyZXMvZXhhbXBs ZS5mZWF0dXJlCisrICAgIEZlYXR1cmU6IE92ZXJyaWRlIHRoZSBCYWNrZ3JvdW5kIEluaGVyaXRh bmNlIE1lY2hhbmlzbSBpbiBzb21lIFNjZW5hcmlvcworKyAgICAgIEJhY2tncm91bmQ6CisrCisr ICAgICAgU2NlbmFyaW86IEFsaWNlCisrICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcCBw YXNzZXMgLi4uIHBhc3NlZAorKyAgICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQK KysgICAgICAgIEFuZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhl cmUiIC4uLiBwYXNzZWQKKysgICAgRklYVFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9S OiBCb2IKKysKKysgICAgICBTY2VuYXJpbzogQm9iCisrICAgICAgICBHaXZlbiBJIG5lZWQgYW5v dGhlciBzY2VuYXJpbyBzZXR1cCAuLi4gcGFzc2VkCisrICAgICAgICBXaGVuIGFub3RoZXIgc3Rl cCBwYXNzZXMgLi4uIHBhc3NlZAorKyAgICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VO RCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIgLi4uIHBhc3NlZAorKworKyAgICAxIGZlYXR1cmUg cGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkCisrICAgIDIgc2NlbmFyaW9zIHBhc3NlZCwgMCBm YWlsZWQsIDAgc2tpcHBlZAorKyAgICA2IHN0ZXBzIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBl ZCwgMCB1bmRlZmluZWQKKysKKysKKytUaGUgZW52aXJvbm1lbnQgZmlsZSBwcm92aWRlcyB0aGUg Z2x1ZSBjb2RlIHRoYXQgdGhlIGZpeHR1cmUgaXMgY2FsbGVkOgorKworKy4uIGNvZGUtYmxvY2s6 OiBweXRob24KKysKKysgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKyAg ICBmcm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5ub19iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVfbm9f YmFja2dyb3VuZAorKyAgICBmcm9tIGJlaGF2ZS5maXh0dXJlIGltcG9ydCB1c2VfZml4dHVyZV9i eV90YWcKKysKKysgICAgIyAtLSBGSVhUVVJFIFJFR0lTVFJZOgorKyAgICBmaXh0dXJlX3JlZ2lz dHJ5ID0geworKyAgICAgICAgImZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQiOiBiZWhhdmVf bm9fYmFja2dyb3VuZCwKKysgICAgfQorKworKyAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr ICAgICMgSE9PS1M6CisrICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysgICAgZGVmIGJlZm9y ZV90YWcoY29udGV4dCwgdGFnKToKKysgICAgICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJl LiIpOgorKyAgICAgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0 LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKworKworKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKysKKysg ICAgIyAtLSBGSUxFOiBiZWhhdmVfZml4dHVyZV9saWIvbm9fYmFja2dyb3VuZC5weSAoZml4dHVy ZSBpbXBsZW1lbnRhdGlvbikKKysgICAgZnJvbSBiZWhhdmUgaW1wb3J0IGZpeHR1cmUKKysKKysg ICAgQGZpeHR1cmUobmFtZT0iZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZCIpCisrICAgIGRl ZiBiZWhhdmVfbm9fYmFja2dyb3VuZChjdHgpOgorKyAgICAgICAgIyAtLSBTRVRVUC1QQVJULU9O TFk6IERpc2FibGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSAoZm9yIHNjZW5hcmlvcyBvbmx5KS4K KysgICAgICAgIGN1cnJlbnRfc2NlbmFyaW8gPSBjdHguc2NlbmFyaW8KKysgICAgICAgIGlmIGN1 cnJlbnRfc2NlbmFyaW86CisrICAgICAgICAgICAgcHJpbnQoIkZJWFRVUkUtSElOVDogRElTQUJM RS1CQUNLR1JPVU5EIEZPUjogJXMiICUgY3VycmVudF9zY2VuYXJpby5uYW1lKQorKyAgICAgICAg ICAgIGN1cnJlbnRfc2NlbmFyaW8udXNlX2JhY2tncm91bmQgPSBGYWxzZQorZGlmZiAtLWdpdCBh L2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvX19pbml0 X18ucHkgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGli L19faW5pdF9fLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZTY5ZGUy OQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9iZWhhdmVfZml4 dHVyZV9saWIvbm9fYmFja2dyb3VuZC5weSBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3Vu ZC9iZWhhdmVfZml4dHVyZV9saWIvbm9fYmFja2dyb3VuZC5weQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAuLjQ3YmQwYjUKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1wbGVz L2ZpeHR1cmUubm9fYmFja2dyb3VuZC9iZWhhdmVfZml4dHVyZV9saWIvbm9fYmFja2dyb3VuZC5w eQorQEAgLTAsMCArMSw3MiBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIyBSRUxBVEVE LVRPOiAjNzU2CisrIiIiCisrRXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRlIGEgYmVoYXZlIGZp eHR1cmUgdG8gZGlzYWJsZSB0aGUKKytiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4K KysKKysuLiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1cmVz L2V4YW1wbGUuZmVhdHVyZQorKyAgICBGZWF0dXJlOiBTaG93IGhvdyBAZml4dHVyZS5iZWhhdmUu b3ZlcnJpZGVfYmFja2dyb3VuZCBpcyB1c2VkCisrCisrICAgICAgICBCYWNrZ3JvdW5kOgorKyAg ICAgICAgICBHaXZlbiBhIGJhY2tncm91bmQgc3RlcAorKworKyAgICAgICAgU2NlbmFyaW86IEFs aWNlCisrICAgICAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcworKyAgICAgICAgICBBbmQgbm90ZSB0 aGF0ICJCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJlIgorKworKyAgICAgICAgQGZp eHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQKKysgICAgICAgIFNjZW5hcmlvOiBCb2IKKysgICAg ICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAKKysgICAgICAgICAgV2hl biBhbm90aGVyIHN0ZXAgcGFzc2VzCisrICAgICAgICAgIEFuZCBub3RlIHRoYXQgIk5PLUJBQ0tH Uk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrLi4gY29kZS1ibG9jazo6IHB5dGhv bgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2Vudmlyb25tZW50LnB5CisrICAgIGZyb20g YmVoYXZlX2ZpeHR1cmVfbGliLm92ZXJyaWRlX2JhY2tncm91bmQgaW1wb3J0IGJlaGF2ZV9vdmVy cmlkZV9iYWNrZ3JvdW5kCisrICAgIGZyb20gYmVoYXZlLmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0 dXJlX2J5X3RhZworKworKyAgICAjIC0tIEZJWFRVUkUgUkVHSVNUUlk6CisrICAgIGZpeHR1cmVf cmVnaXN0cnkgPSB7CisrICAgICAgICAiZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZCI6IGJl aGF2ZV9vdmVycmlkZV9iYWNrZ3JvdW5kLAorKyAgICB9CisrCisrICAgIGRlZiBiZWZvcmVfdGFn KGNvbnRleHQsIHRhZyk6CisrICAgICAgICBpZiB0YWcuc3RhcnRzd2l0aCgiZml4dHVyZS4iKToK KysgICAgICAgICAgICByZXR1cm4gdXNlX2ZpeHR1cmVfYnlfdGFnKHRhZywgY29udGV4dCwgZml4 dHVyZV9yZWdpc3RyeSkKKysKKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29s dXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKytmcm9tIGJlaGF2ZSBpbXBvcnQgZml4dHVyZQor KworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEJFSEFWRSBGSVhUVVJFUzoKKysjIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrQGZpeHR1cmUobmFtZT0iZml4dHVyZS5iZWhhdmUub25vX2Jh Y2tncm91bmQiKQorK2RlZiBiZWhhdmVfbm9fYmFja2dyb3VuZChjdHgpOgorKyAgICAiIiJPdmVy cmlkZSB0aGUgQmFja2dyb3VuZCBpbmhlcmludGFuY2UgbWVjaGFuaXNtLgorKyAgICBJZiBhIEZl YXR1cmUgLyBSdWxlIEJhY2tncm91bmQgZXhpc3RzIGluIGEgRmVhdHVyZSwKKysgICAgYWxsIGNv bnRhaW5lZCBTY2VuYXJpb3MgaW5oZXJpdCB0aGUgQmFja2dyb3VuZCdzIHN0ZXBzLgorKworKyAg ICBUaGlzIGZpeHR1cmUgZGlzYWJsZXMgdGhpcyBtZWNoYW5pc20uCisrICAgIFRoZSB0YWdnZWQg R2hlcmtpbiBlbGVtZW50IHdpbGwgbm8gbG9uZ2VyIGluaGVyaXQgdGhlIGJhY2tncm91bmQgc3Rl cHMuCisrCisrICAgIDpwYXJhbSBjdHg6IENvbnRleHQgb2JqZWN0IHRvIHVzZSAoZHVyaW5nIGEg dGVzdCBydW4pLgorKyAgICAiIiIKKysgICAgIyAtLSBTRVRVUC1QQVJULU9OTFk6IERpc2FibGUg YmFja2dyb3VuZCBpbmhlcml0YW5jZSAoZm9yIHNjZW5hcmlvcyBvbmx5KS4KKysgICAgY3VycmVu dF9zY2VuYXJpbyA9IGN0eC5zY2VuYXJpbworKyAgICBpZiBjdXJyZW50X3NjZW5hcmlvOgorKyAg ICAgICAgcHJpbnQoIkZJWFRVUkUtSElOVDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjogJXMiICUg Y3VycmVudF9zY2VuYXJpby5uYW1lKQorKyAgICAgICAgY3VycmVudF9zY2VuYXJpby51c2VfYmFj a2dyb3VuZCA9IEZhbHNlCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgTU9EVUxF IFNQRUNJRklDOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytmaXh0dXJlX3JlZ2lzdHJ5ID0g eworKyAgICAiZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZCI6IGJlaGF2ZV9ub19iYWNrZ3Jv dW5kLAorK30KK2RpZmYgLS1naXQgYS9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVh dHVyZXMvZW52aXJvbm1lbnQucHkgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVh dHVyZXMvZW52aXJvbm1lbnQucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw Li4xODg1N2I5CistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tn cm91bmQvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK0BAIC0wLDAgKzEsMzUgQEAKKysjIC0qLSBj b2Rpbmc6IFVURi04IC0qLQorKyMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKytp bXBvcnQgb3MucGF0aAorK2ltcG9ydCBzeXMKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr IyBQWVRIT04gUEFUSCBTRVRVUDoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrSEVSRSA9IG9z LnBhdGguZGlybmFtZShfX2ZpbGVfXykKKytUT1BBID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGgu am9pbihIRVJFLCAiLi4iKSkKKysKKytkZWYgc2V0dXBfcHl0aG9uX3BhdGgoKToKKysgICAgc3lz LnBhdGguaW5zZXJ0KDAsIFRPUEEpCisrCisrc2V0dXBfcHl0aG9uX3BhdGgoKQorKworKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysjIE5PUk1BTCBQQVJUOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKytmcm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5ub19iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVf bm9fYmFja2dyb3VuZAorK2Zyb20gYmVoYXZlLmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0dXJlX2J5 X3RhZworKworKyMgLS0gRklYVFVSRSBSRUdJU1RSWToKKytmaXh0dXJlX3JlZ2lzdHJ5ID0gewor KyAgICAiZml4dHVyZS5iZWhhdmUubm9fYmFja2dyb3VuZCI6IGJlaGF2ZV9ub19iYWNrZ3JvdW5k LAorK30KKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBIT09LUzoKKysjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisrZGVmIGJlZm9yZV90YWcoY29udGV4dCwgdGFnKToKKysgICAgaWYg dGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6CisrICAgICAgICByZXR1cm4gdXNlX2ZpeHR1cmVf YnlfdGFnKHRhZywgY29udGV4dCwgZml4dHVyZV9yZWdpc3RyeSkKKysKK2RpZmYgLS1naXQgYS9l eGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlIGIv ZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjIwMjU3MTYKKy0tLSAvZGV2L251 bGwKKysrKyBiL2V4YW1wbGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9leGFtcGxl LmZlYXR1cmUKK0BAIC0wLDAgKzEsMTggQEAKKytGZWF0dXJlOiBEaXNhYmxlIHRoZSBCYWNrZ3Jv dW5kIEluaGVyaXRhbmNlIE1lY2hhbmlzbSBpbiBzb21lIFNjZW5hcmlvcworKworKyAgLiBCRVdB UkU6CisrICAuICAgVGhpcyBpcyBvbmx5IGFuIGV4YW1wbGUgaG93IHRoaXMgY2FuIGJlIGRvbmUg KFBST09GLU9GLUNPTkNFUFQpLgorKyAgLiAgIFRoaXMgaXMgbm90IGFuIGV4YW1wbGUgdGhhdCB5 b3Ugc2hvdWxkIGRvIHRoaXMgISEhCisrCisrICAgIEJhY2tncm91bmQ6CisrICAgICAgR2l2ZW4g YSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzCisrCisrICAgIFNjZW5hcmlvOiBBbGljZQorKyAgICAg IFdoZW4gYSBzdGVwIHBhc3NlcworKyAgICAgIEFuZCBub3RlIHRoYXQgIkJBQ0tHUk9VTkQgU1RF UFMgYXJlIGV4ZWN1dGVkIGhlcmUiCisrCisrICAgIEBmaXh0dXJlLmJlaGF2ZS5ub19iYWNrZ3Jv dW5kCisrICAgIFNjZW5hcmlvOiBCb2IKKysgICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2Vu YXJpbyBzZXR1cAorKyAgICAgIFdoZW4gYW5vdGhlciBzdGVwIHBhc3NlcworKyAgICAgIEFuZCBu b3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiCitkaWZmIC0t Z2l0IGEvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2lj X3N0ZXBzLnB5IGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBz L2Jhc2ljX3N0ZXBzLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzRm MjEwNworLS0tIC9kZXYvbnVsbAorKysrIGIvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5k L2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBzLnB5CitAQCAtMCwwICsxLDEzIEBACisrZnJvbSBi ZWhhdmUgaW1wb3J0IGdpdmVuLCBzdGVwCisrCisrIyBAc3RlcCh1J3t3b3JkfSBzdGVwIHBhc3Nl cycpCisrIyBkZWYgc3RlcF9wYXNzZXNfd2l0aF93b3JkKGNvbnRleHQsIHdvcmQpOgorKyMgICAg IHBhc3MKKysKKytAc3RlcCh1J3t3b3JkfSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzJykKKytkZWYg c3RlcF9iYWNrZ3JvdW5kX3N0ZXBfcGFzc2VzKGNvbnRleHQsIHdvcmQpOgorKyAgICBwYXNzCisr CisrQGdpdmVuKHUnSSBuZWVkIHt3b3JkfSBzY2VuYXJpbyBzZXR1cCcpCisrZGVmIHN0ZXBfZ2l2 ZW5faV9uZWVkX3NjZW5hcmlvX3NldHVwKGNvbnRleHQsIHdvcmQpOgorKyAgICBwYXNzCitkaWZm IC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5ub19iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3Vz ZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkgYi9leGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQv ZmVhdHVyZXMvc3RlcHMvdXNlX3N0ZXBsaWJfYmVoYXZlNGNtZC5weQorbmV3IGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IDAwMDAwMDAuLmJjMzJhMzIKKy0tLSAvZGV2L251bGwKKysrKyBiL2V4YW1w bGVzL2ZpeHR1cmUubm9fYmFja2dyb3VuZC9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhh dmU0Y21kLnB5CitAQCAtMCwwICsxLDEyIEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysi IiIKKytVc2UgYmVoYXZlNGNtZDAgc3RlcCBsaWJyYXJ5IChwcmVkZWNlc3NvciBvZiBiZWhhdmU0 Y21kKS4KKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAor KworKyMgLS0gUkVHSVNURVItU1RFUFMgRlJPTSBTVEVQLUxJQlJBUlk6CisrIyBpbXBvcnQgYmVo YXZlNGNtZDAuX19hbGxfc3RlcHNfXworKyMgaW1wb3J0IGJlaGF2ZTRjbWQwLmZhaWxpbmdfc3Rl cHMKKytpbXBvcnQgYmVoYXZlNGNtZDAucGFzc2luZ19zdGVwcworK2ltcG9ydCBiZWhhdmU0Y21k MC5ub3RlX3N0ZXBzCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDUwLUVYQU1QTEUtQ2xlYW51cC1HaGVya2luLXY2LVJFQURN RS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNTAtRVhBTVBMRS1DbGVhbnVwLUdoZXJraW4tdjYtUkVBRE1FLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYjYzMGQ0OGU3Ci0tLSAvZGV2L251bGwKKysr IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1 MC1FWEFNUExFLUNsZWFudXAtR2hlcmtpbi12Ni1SRUFETUUucGF0Y2gKQEAgLTAsMCArMSw2NCBA QAorRnJvbSBiNTJkN2M1ZDAxNDE5NzFmMmU3NDVlYzgwNmY4MjllMmM3Yzg5N2NmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBUdWUsIDkgSnVsIDIwMTkgMDg6MjA6MjUgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSF0gRVhBTVBMRTogQ2xlYW51cCBHaGVya2luIHY2IFJFQURNRQorCistLS0KKyBleGFt cGxlcy9naGVya2luX3Y2L1JFQURNRS5yc3QgICAgICAgICAgICAgICAgfCAyMyArKysrKysrKysr Ky0tLS0tLS0tCisgLi4uL2ZlYXR1cmVzL3N0ZXBzL3Bhc3Npbmdfc3RlcHMucHkgICAgICAgICAg IHwgMTEgKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCA5IGRl bGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBleGFtcGxlcy9naGVya2luX3Y2L2ZlYXR1 cmVzL3N0ZXBzL3Bhc3Npbmdfc3RlcHMucHkKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2doZXJr aW5fdjYvUkVBRE1FLnJzdCBiL2V4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1FLnJzdAoraW5kZXgg NTgxOTlkZC4uOTlhZjFjNSAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2doZXJraW5fdjYvUkVBRE1F LnJzdAorKysrIGIvZXhhbXBsZXMvZ2hlcmtpbl92Ni9SRUFETUUucnN0CitAQCAtMiwxNyArMiwy MiBAQCBHaGVya2luIHY2IEV4YW1wbGVzCisgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyAKKy1T Q1JBVENIUEFEOiBQcm9ibGVtcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrUHJvdmlkZXMgZXhh bXBsZShzKSBvZiBHaGVya2luIHY2IGFkZGl0aW9uczoKKyAKKy0tIFN1bW1hcnlSZXBvcnRlcjog U2hvd3Mgd3JvbmcgY291bnRzIHdoZW4gUnVsZXMgYXJlIHByZXNlbnQ6OgorKyogUnVsZSBjb25j ZXB0CisrKiBOZXcgYWxpYXNlcyBmb3IgR2hlcmtpbiBrZXl3b3JkcyAoU2NlbmFyaW8sIFNjZW5h cmlvT3V0bGluZSkKKyAKKy0gICAgLi4uCistICAgIDAgZmVhdHVyZXMgcGFzc2VkLCAwIGZhaWxl ZCwgMSBza2lwcGVkIFhYWAorLSAgICAzIHJ1bGVzIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBl ZAorLSAgICA1IHNjZW5hcmlvcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQKKy0gICAgMTMg c3RlcHMgcGFzc2VkLCAwIGZhaWxlZCwgMCBza2lwcGVkLCAwIHVuZGVmaW5lZAorK1J1bGUgZnVu Y3Rpb25hbGl0eToKKyAKKysqIEEgUnVsZSBpcyBhIHNjZW5hcmlvIGNvbnRhaW5lciBzaW1pbGFy IHRvIGEgRmVhdHVyZQorKyogQSBGZWF0dXJlIG1heSBjb250YWluIG1hbnkgUnVsZXMKKysqIEEg UnVsZSBtYXkgbm90IGNvbnRhaW4gb3RoZXIgUnVsZXMKKysqIEEgUnVsZSBtYXkgY29udGFpbiBh IEJhY2tncm91bmQgKGFuZCBpbmhlcml0cyBpdHMgRmVhdHVyZSBCYWNrZ3JvdW5kKQorKyogQSBS dWxlIGluaGVyaXRzIGl0cyBGZWF0dXJlIEJhY2tncm91bmQgaWYgaXQgaGFzIG5vIEJhY2tncm91 bmQKKysqIEEgUnVsZSBtYXkgY29udGFpbiBtYW55IFNjZW5hcmlvcyBhbmQvb3IgU2NlbmFyaW9P dXRsaW5lcworKyogQSBSdWxlIG1heSBoYXZlIHRhZ3MKKyAKKy0tIEZvcm1hdHRlcnM6IFByZXR0 eUZvcm1hdHRlciwgUGxhaW5Gb3JtYXR0ZXIgKGF0IGxlYXN0KSBuZWVkIFJ1bGUgc3VwcG9ydAor K05ldyBrZXl3b3JkIGFsaWFzZXM6CisgCisrKiAiU2NlbmFyaW8gVGVtcGxhdGUiIGZvciAiU2Nl bmFyaW8gT3V0bGluZSIKKysqICJFeGFtcGxlIiBmb3IgIlNjZW5hcmlvIgorZGlmZiAtLWdpdCBh L2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvcGFzc2luZ19zdGVwcy5weSBiL2V4 YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvcGFzc2luZ19zdGVwcy5weQorbmV3IGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjI3MTRjYjEKKy0tLSAvZGV2L251bGwKKysr KyBiL2V4YW1wbGVzL2doZXJraW5fdjYvZmVhdHVyZXMvc3RlcHMvcGFzc2luZ19zdGVwcy5weQor QEAgLTAsMCArMSwxMSBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrCisrZnJvbSBiZWhh dmUgaW1wb3J0IHN0ZXAKKysKKytAc3RlcCh1J3t3b3JkfSBzdGVwIHBhc3NlcycpCisrZGVmIHN0 ZXBfcGFzc2VzKGN0eCwgd29yZCk6CisrICAgIHBhc3MKKysKKytAc3RlcCh1J3t3b3JkfSBzdGVw IGZhaWxzJykKKytkZWYgc3RlcF9mYWlscyhjdHgsIHdvcmQpOgorKyAgICBhc3NlcnQgRmFsc2Us ICJYRkFJTC1TVEVQOiB7MH0gc3RlcCBmYWlscyIuZm9ybWF0KHdvcmQpCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUxLUlt cHJvdmUtc3VwcG9ydC1mb3ItZmVhdHVyZS5iYWNrZ3JvdW5kLWluaGVyaXRhbmNlLWYucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUx LUltcHJvdmUtc3VwcG9ydC1mb3ItZmVhdHVyZS5iYWNrZ3JvdW5kLWluaGVyaXRhbmNlLWYucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43NjRmZjc4NjkKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDUxLUltcHJvdmUtc3VwcG9ydC1mb3ItZmVhdHVyZS5iYWNrZ3JvdW5kLWluaGVy aXRhbmNlLWYucGF0Y2gKQEAgLTAsMCArMSwxNTEwIEBACitGcm9tIDRmMDEzYjk0OWY2NTI4ZWM3 MDEwNWMxZmI4ZTI5MmYyM2UzYTEzYzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBq ZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgMTAg SnVsIDIwMTkgMjI6Mzg6MTMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gSW1wcm92ZSBzdXBwb3J0 IGZvciBmZWF0dXJlLmJhY2tncm91bmQgaW5oZXJpdGFuY2UgZm9yCisgcnVsZS5iYWNrZ3JvdW5k LgorCistLS0KKyAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDMgKworIGJlaGF2ZS9tb2RlbC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IDIzMCArKysrKysrKysrLS0KKyBiZWhhdmUvcGFyc2VyLnB5ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDkgKy0KKyAuLi4vZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL1JFQURN RS5yc3QgICAgfCAxMTYgLS0tLS0tCisgLi4uL2JlaGF2ZV9maXh0dXJlX2xpYi9fX2luaXRfXy5w eSAgICAgICAgICAgIHwgICAwCisgLi4uL2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNr Z3JvdW5kLnB5IHwgIDgwIC0tLS0tCisgLi4uL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAg ICAgICAgICAgICAgIHwgIDM1IC0tCisgLi4uL2ZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZSAgICAg ICAgICAgICAgICAgIHwgIDE4IC0KKyAuLi4vZmVhdHVyZXMvc3RlcHMvYmFzaWNfc3RlcHMucHkg ICAgICAgICAgICAgfCAgMTMgLQorIC4uLi9mZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhh dmU0Y21kLnB5ICB8ICAxMiAtCisgc2V0dXAucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKKyB0ZXN0cy91bml0L3Rlc3RfbW9kZWwucHkgICAgICAgICAgICAg ICAgICAgICAgfCAxMTcgKy0tLS0tCisgdGVzdHMvdW5pdC90ZXN0X21vZGVsMi5weSAgICAgICAg ICAgICAgICAgICAgIHwgICA0IC0KKyB0ZXN0cy91bml0L3Rlc3RfbW9kZWxfY29yZS5weSAgICAg ICAgICAgICAgICAgfCAxMTYgKysrKystCisgdGVzdHMvdW5pdC90ZXN0X3BhcnNlcl9naGVya2lu X3Y2LnB5ICAgICAgICAgIHwgMzM5ICsrKysrKysrKysrKysrKysrLQorIDE1IGZpbGVzIGNoYW5n ZWQsIDY0NSBpbnNlcnRpb25zKCspLCA0NDggZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAw NjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CisgZGVs ZXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhh dmVfZml4dHVyZV9saWIvX19pbml0X18ucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgZXhhbXBsZXMv Zml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9i YWNrZ3JvdW5kLnB5CisgZGVsZXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJp ZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorIGRlbGV0ZSBtb2RlIDEwMDY0 NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZXhhbXBsZS5m ZWF0dXJlCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGV4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFj a2dyb3VuZC9mZWF0dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weQorIGRlbGV0ZSBtb2RlIDEwMDY0 NCBleGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvc3RlcHMvdXNl X3N0ZXBsaWJfYmVoYXZlNGNtZC5weQorCitkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRp Z25vcmUKK2luZGV4IDYxOTZhNmQuLjljNWMzM2QgMTAwNjQ0CistLS0gYS8uZ2l0aWdub3JlCisr KysgYi8uZ2l0aWdub3JlCitAQCAtNyw2ICs3LDkgQEAgYnVpbGQvCisgZGlzdC8KKyBfX3B5Y2Fj aGVfXy8KKyBfX1dPUktESVJfXy8KKytfXyovCisrX18qLnR4dAorK19fKi5yc3QKKyBfYnVpbGQv CisgX1dPUktTUEFDRS8KKyByZXBvcnRzLworZGlmZiAtLWdpdCBhL2JlaGF2ZS9tb2RlbC5weSBi L2JlaGF2ZS9tb2RlbC5weQoraW5kZXggN2ZjNTM0YS4uNjlmMzhhYiAxMDA2NDQKKy0tLSBhL2Jl aGF2ZS9tb2RlbC5weQorKysrIGIvYmVoYXZlL21vZGVsLnB5CitAQCAtMjksNiArMjksMzYgQEAg ZWxzZToKKyAgICAgaW1wb3J0IHRyYWNlYmFjaworIAorIAorKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisrIyBNT0RFTCBVVElMSVRJRVM6CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytkZWYgcmVzZXRf c3RlcHMoc3RlcHMpOgorKyAgICBmb3Igc3RlcCBpbiBzdGVwczoKKysgICAgICAgIHN0ZXAucmVz ZXQoKQorKyAgICByZXR1cm4gc3RlcHMKKysKKysKKytkZWYgY29weV9zdGVwcyhzdGVwcyk6Cisr ICAgICIiIkNvcHkgc3RlcHM7IG5lZWRlZCBpZiBzdGVwcyBzaG91bGQgYmUgdXNlZCBpbiBtdWx0 aXBsZSBydW4gY29udGV4dHMuCisrCisrICAgIDpwYXJhbSBzdGVwczogICAgICAgTGlzdCBvZiBz dGVwcyB0byBjb3B5LgorKyAgICA6cmV0dXJuOiBMaXN0IG9mIGNvcGllZCBzdGVwcy4KKysgICAg IiIiCisrICAgIHJldHVybiBbY29weS5jb3B5KHN0ZXApIGZvciBzdGVwIGluIHN0ZXBzXQorKwor KworK2RlZiBjb3B5X2FuZF9yZXNldF9zdGVwcyhzdGVwcyk6CisrICAgICIiIkNvcHkgc3RlcHMg YW5kIHJlc2V0IGVhY2ggc3RlcCAoc3RhdHVzLCBkdXJhdGlvbiwgZXRjLikKKysKKysgICAgOnBh cmFtIHN0ZXBzOiAgICAgICBMaXN0IG9mIHN0ZXBzIHRvIGNvcHkuCisrICAgIDpyZXR1cm46IExp c3Qgb2YgY29waWVkIHN0ZXBzLgorKyAgICAiIiIKKysgICAgcmV0dXJuIHJlc2V0X3N0ZXBzKGNv cHlfc3RlcHMoc3RlcHMpKQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBNT0RFTCBD TEFTU0VTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgY2xhc3MgU2NlbmFyaW9Db250YWluZXIo VGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgIiIiQWJzdHJhY3QgYmFz ZSBjbGFzcyBmb3IgbW9kZWwgZWxlbWVudHMKKyAgICAgdGhhdCBjb250YWlucyB0aGUgZm9sbG93 aW5nIHN0cnVjdHVyZToKK0BAIC0xOTgsOCArMjI4LDggQEAgY2xhc3MgU2NlbmFyaW9Db250YWlu ZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAKKyAgICAgICAgIGlmIHNr aXBwZWQ6CisgICAgICAgICAgICAgcmV0dXJuIFN0YXR1cy5za2lwcGVkCistICAgICAgICBlbHNl OgorLSAgICAgICAgICAgIHJldHVybiBTdGF0dXMucGFzc2VkCisrICAgICAgICAjIC0tIE9USEVS V0lTRToKKysgICAgICAgIHJldHVybiBTdGF0dXMucGFzc2VkCisgCisgICAgIEBwcm9wZXJ0eQor ICAgICBkZWYgZHVyYXRpb24oc2VsZik6CitAQCAtMjMwLDcgKzI2MCw4IEBAIGNsYXNzIFNjZW5h cmlvQ29udGFpbmVyKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAg ICAgICAgICAgIHJ1bGUgPSBydW5faXRlbQorICAgICAgICAgICAgICAgICBpZiB3aXRoX3J1bGVz OgorICAgICAgICAgICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5hcHBlbmQocnVsZSkKKy0gICAg ICAgICAgICAgICAgYWxsX3NjZW5hcmlvcy5leHRlbmQocnVsZS53YWxrX3NjZW5hcmlvcyh3aXRo X291dGxpbmVzPXdpdGhfb3V0bGluZXMpKQorKyAgICAgICAgICAgICAgICBzY2VuYXJpb3MgPSBy dWxlLndhbGtfc2NlbmFyaW9zKHdpdGhfb3V0bGluZXM9d2l0aF9vdXRsaW5lcykKKysgICAgICAg ICAgICAgICAgYWxsX3NjZW5hcmlvcy5leHRlbmQoc2NlbmFyaW9zKQorICAgICAgICAgICAgIGVs aWYgaXNpbnN0YW5jZShydW5faXRlbSwgU2NlbmFyaW9PdXRsaW5lKToKKyAgICAgICAgICAgICAg ICAgc2NlbmFyaW9fb3V0bGluZSA9IHJ1bl9pdGVtCisgICAgICAgICAgICAgICAgIGlmIHdpdGhf b3V0bGluZXM6CitAQCAtMjQxLDYgKzI3MiwxNiBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihU YWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgICAgICAgICBhbGxf c2NlbmFyaW9zLmFwcGVuZChydW5faXRlbSkKKyAgICAgICAgIHJldHVybiBhbGxfc2NlbmFyaW9z CisgCisrICAgIGRlZiBpdGVyX3NjZW5hcmlvcyhzZWxmKToKKysgICAgICAgIHJldHVybiBpdGVy KHNlbGYud2Fsa19zY2VuYXJpb3MoKSkKKysKKysgICAgZGVmIGl0ZXJfc2NlbmFyaW9fb3V0bGlu ZXMoc2VsZik6CisrICAgICAgICByZXR1cm4gaXRlcihbeCBmb3IgeCBpbiBzZWxmLndhbGtfc2Nl bmFyaW9zKHdpdGhfb3V0bGluZXM9VHJ1ZSkKKysgICAgICAgICAgICAgICAgICAgICBpZiBpc2lu c3RhbmNlKHgsIFNjZW5hcmlvT3V0bGluZSldKQorKworKyAgICBkZWYgaXRlcl9ydWxlcyhzZWxm KToKKysgICAgICAgIHJldHVybiBpdGVyKFt4IGZvciB4IGluIHNlbGYucnVuX2l0ZW1zIGlmIGlz aW5zdGFuY2UoeCwgUnVsZSldKQorKworICAgICBkZWYgc2hvdWxkX3J1bihzZWxmLCBjb25maWc9 Tm9uZSk6CisgICAgICAgICAiIiIKKyAgICAgICAgIERldGVybWluZXMgaWYgdGhpcyBGZWF0dXJl IChhbmQgaXRzIHNjZW5hcmlvcykgc2hvdWxkIHJ1bi4KK0BAIC0zMTIsNyArMzUzLDcgQEAgY2xh c3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToK KyAgICAgICAgIDpwYXJhbSBydW5uZXI6ICBSdW5uZXIgdG8gdXNlLgorICAgICAgICAgOnJldHVy bjogVHJ1ZSwgaWYgdGVzdC1ydW4gZmFpbGVkLgorICAgICAgICAgIiIiCistICAgICAgICAjIHB5 bGludDogZGlzYWJsZT10b28tbWFueS1icmFuY2hlcworKyAgICAgICAgIyBweWxpbnQ6IGRpc2Fi bGU9dG9vLW1hbnktYnJhbmNoZXMsIHRvby1tYW55LWxvY2FscywgdG9vLW1hbnktc3RhdGVtZW50 cworICAgICAgICAgIyBNQVlCRTogc2VsZi5yZXNldCgpCisgICAgICAgICBzZWxmLmNsZWFyX3N0 YXR1cygpCisgICAgICAgICBzZWxmLmhvb2tfZmFpbGVkID0gRmFsc2UKK0BAIC0zODcsNyArNDI4 LDcgQEAgY2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBs YXlhYmxlKToKKyAgICAgICAgICMgLS0gUEVSRk9STSBDT05URVhUIENMRUFOVVA6IE1heSByYWlz ZSBjbGVhbnVwIGVycm9ycy4KKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBydW5uZXIuY29u dGV4dC5fcG9wKCkgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworLSAg ICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246ICAgICAg ICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9YnJvYWQtZXhjZXB0CisgICAgICAgICAgICAgIyAt LSBDTEVBTlVQLUVSUk9SOgorICAgICAgICAgICAgIHNlbGYuc2V0X3N0YXR1cyhTdGF0dXMuZmFp bGVkKQorIAorQEAgLTUwOSwxNiArNTUwLDI4IEBAIGNsYXNzIEZlYXR1cmUoU2NlbmFyaW9Db250 YWluZXIpOgorICAgICBkZWYgX3NldHVwX2NvbnRleHRfZm9yX3J1bihzZWxmLCBjb250ZXh0KToK KyAgICAgICAgIGNvbnRleHQuZmVhdHVyZSA9IHNlbGYKKyAKKysgICAgZGVmIGFkZF9iYWNrZ3Jv dW5kKHNlbGYsIGJhY2tncm91bmQpOgorKyAgICAgICAgc2VsZi5iYWNrZ3JvdW5kID0gYmFja2dy b3VuZAorKyAgICAgICAgc2VsZi5iYWNrZ3JvdW5kLnBhcmVudCA9IHNlbGYKKysKKyAgICAgZGVm IGFkZF9ydWxlKHNlbGYsIHJ1bGUpOgorLSAgICAgICAgIiIiQWRkIGEgcnVsZSB0byB0aGlzIGZl YXR1cmUuIiIiCisrICAgICAgICAiIiJBZGQgYSBydWxlIHRvIHRoaXMgZmVhdHVyZSAoc3VwcG9y dGVkIGluOiBHaGVya2luIHY2KS4KKysKKysgICAgICAgIC4uIHZlcnNpb25hZGRlZDogMS4yLjcK KysgICAgICAgICIiIgorICAgICAgICAgZmVhdHVyZSA9IHNlbGYKKyAgICAgICAgIHJ1bGUucGFy ZW50ID0gZmVhdHVyZQorICAgICAgICAgcnVsZS5mZWF0dXJlID0gZmVhdHVyZQorLSAgICAgICAg aWYgbm90IHJ1bGUuYmFja2dyb3VuZDoKKy0gICAgICAgICAgICAjIC0tIE1BWUJFOiBJbmhlcml0 IGZlYXR1cmUuYmFja2dyb3VuZCBpZiB0aGUgcnVsZSBoYXMgbm8gYmFja2dyb3VuZC4KKy0gICAg ICAgICAgICBydWxlLmJhY2tncm91bmQgPSBzZWxmLmJhY2tncm91bmQKKyAgICAgICAgIHNlbGYu cnVsZXMuYXBwZW5kKHJ1bGUpCisgICAgICAgICBzZWxmLnJ1bl9pdGVtcy5hcHBlbmQocnVsZSkK KysgICAgICAgIGlmIHNlbGYuYmFja2dyb3VuZDoKKysgICAgICAgICAgICAjIC0tIEVOU1VSRTog UnVsZSBpbmhlcml0cyBmZWF0dXJlLmJhY2tncm91bmQuCisrICAgICAgICAgICAgaWYgbm90IHJ1 bGUuYmFja2dyb3VuZDoKKysgICAgICAgICAgICAgICAgIyAtLSBFTlNVUkU6IFJ1bGUgaGFzIGEg ZGVmYXVsdCBiYWNrZ3JvdW5kLgorKyAgICAgICAgICAgICAgICAjIE5lY2Vzc2FyeSB0byBpbmhl cml0IGZlYXR1cmUuYmFja2dyb3VuZCAob3IgZGlzYWJsZSBpdCkuCisrICAgICAgICAgICAgICAg IHJ1bGVfZGVmYXVsdF9iYWNrZ3JvdW5kID0gQmFja2dyb3VuZChydWxlLmZpbGVuYW1lLCBydWxl LmxpbmUpCisrICAgICAgICAgICAgICAgIHJ1bGUuYWRkX2JhY2tncm91bmQocnVsZV9kZWZhdWx0 X2JhY2tncm91bmQpCisrICAgICAgICAgICAgcnVsZS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9iYWNr Z3JvdW5kID0gc2VsZi5iYWNrZ3JvdW5kCisgCisgCisgY2xhc3MgUnVsZShTY2VuYXJpb0NvbnRh aW5lcik6CitAQCAtNjMwLDYgKzY4Myw3IEBAIGNsYXNzIFJ1bGUoU2NlbmFyaW9Db250YWluZXIp OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24sIHNjZW5h cmlvcywgYmFja2dyb3VuZCkKKyAgICAgICAgIHNlbGYucGFyZW50ID0gcGFyZW50CisgICAgICAg ICBzZWxmLmZlYXR1cmUgPSBwYXJlbnQKKysgICAgICAgIHNlbGYuX3VzZV9iYWNrZ3JvdW5kX2lu aGVyaXRhbmNlID0gVHJ1ZQorIAorICAgICBkZWYgX3NldHVwX2NvbnRleHRfZm9yX3J1bihzZWxm LCBjb250ZXh0KToKKyAgICAgICAgIGNvbnRleHQucnVsZSA9IHNlbGYKK0BAIC02MzgsMTAgKzY5 Miw0MyBAQCBjbGFzcyBSdWxlKFNjZW5hcmlvQ29udGFpbmVyKToKKyAgICAgICAgIHJldHVybiAn PFJ1bGUgIiVzIjogJWQgc2NlbmFyaW8ocyk+JyAlIFwKKyAgICAgICAgICAgICAoc2VsZi5uYW1l LCBsZW4oc2VsZi5zY2VuYXJpb3MpKQorIAorKyAgICBkZWYgYWRkX2JhY2tncm91bmQoc2VsZiwg YmFja2dyb3VuZCwgaW5oZXJpdGVkPU5vbmUpOgorKyAgICAgICAgaWYgaW5oZXJpdGVkIGlzIE5v bmU6CisrICAgICAgICAgICAgZmVhdHVyZSA9IHNlbGYuZmVhdHVyZSBvciBzZWxmLnBhcmVudAor KyAgICAgICAgICAgIGluaGVyaXRlZCA9IGZlYXR1cmUuYmFja2dyb3VuZAorKworKyAgICAgICAg c2VsZi5iYWNrZ3JvdW5kID0gYmFja2dyb3VuZAorKyAgICAgICAgc2VsZi5iYWNrZ3JvdW5kLmlu aGVyaXRlZF9iYWNrZ3JvdW5kID0gaW5oZXJpdGVkCisrICAgICAgICBzZWxmLmJhY2tncm91bmQu dXNlX2luaGVyaXRhbmNlID0gc2VsZi51c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZQorKyAgICAg ICAgc2VsZi5iYWNrZ3JvdW5kLnBhcmVudCA9IHNlbGYKKysgICAgICAgICMgLS0gRU5TVVJFOiBO b3JtYWxseSBiYWNrZ3JvdW5kIGlzIGFkZGVkIGJlZm9yZSBzY2VuYXJpb3MuCisrICAgICAgICBm b3Igc2NlbmFyaW8gaW4gc2VsZi53YWxrX3NjZW5hcmlvcygpOgorKyAgICAgICAgICAgIHNjZW5h cmlvLmJhY2tncm91bmQgPSBzZWxmLmJhY2tncm91bmQKKysKKysgICAgQHByb3BlcnR5CisrICAg IGRlZiB1c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZShzZWxmKToKKysgICAgICAgIHJldHVybiBz ZWxmLl91c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZQorKworKyAgICBAdXNlX2JhY2tncm91bmRf aW5oZXJpdGFuY2Uuc2V0dGVyCisrICAgIGRlZiB1c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZShz ZWxmLCB2YWx1ZSk6CisrICAgICAgICBzZWxmLl91c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZSA9 IHZhbHVlCisrICAgICAgICBpZiBzZWxmLmJhY2tncm91bmQ6CisrICAgICAgICAgICAgc2VsZi5i YWNrZ3JvdW5kLnVzZV9pbmhlcml0YW5jZSA9IHZhbHVlCisrCisgCisgY2xhc3MgQmFja2dyb3Vu ZChCYXNpY1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICIiIkEgYGJhY2tncm91bmRgXyBw YXJzZWQgZnJvbSBhICpmZWF0dXJlIGZpbGUqLgorIAorKyAgICBCZWhhdmlvdXI6CisrCisrICAg ICogRWFjaCBzY2VuYXJpbyBvZiBhIHNjZW5hcmlvIGNvbnRhaW5lciAoRmVhdHVyZSwgUnVsZSkK KysgICAgICBpbmhlcml0cyB0aGUgQmFja2dyb3VuZCBvZiBpdHMgc2NlbmFyaW8gY29udGFpbmVy CisrICAgICogQmFja2dyb3VuZCBzdGVwcyBpbiBhIHNjZW5hcmlvIGFyZSBleGVjdXRlZCBiZWZv cmUgc2NlbmFyaW8gc3RlcHMKKysgICAgKiBSdWxlIEJhY2tncm91bmQgaW5oZXJpdHMgdGhlIEZl YXR1cmUgQmFja2dyb3VuZCAob3V0ZXIgYmFja2dyb3VuZCkgaWYgYW55CisrICAgICogSW5oZXJp dGVkIEJhY2tncm91bmQgc3RlcHMgYXJlIHVzZWQvZXhlY3V0ZWQgZmlyc3QKKysgICAgKiBPcHRp b25hbGx5LCBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIGNhbiBiZSBkaXNhYmxlZAorKyAgICAgIChu b3JtYWxseTogYnkgdXNpbmcgYSBmaXh0dXJlL2ZpeHR1cmUtdGFnKQorKworICAgICBUaGUgYXR0 cmlidXRlcyBhcmU6CisgCisgICAgIC4uIGF0dHJpYnV0ZTo6IGtleXdvcmQKK0BAIC02NzksMjMg Kzc2Niw2NSBAQCBjbGFzcyBCYWNrZ3JvdW5kKEJhc2ljU3RhdGVtZW50LCBSZXBsYXlhYmxlKToK KyAKKyAgICAgLi4gX2BiYWNrZ3JvdW5kYDogZ2hlcmtpbi5odG1sI2JhY2tncm91bmRzCisgICAg ICIiIgorLSAgICAjIFRPRE86IEJhY2tncm91bmQgaW5oZXJpdGFuY2UKKy0gICAgIyBSdWxlLmJh Y2tncm91bmQgc2hvdWxkIGluaGVyaXQgaXRzIEZlYXR1cmUuYmFja2dyb3VuZCBzdGVwcyAoaWYg YXZhaWxhYmxlKQorLSAgICAjIFJ1bGUuYmFja2dyb3VuZCA9IEZlYXR1cmUuYmFja2dyb3VuZCBp ZmYgbm90IFJ1bGUuYmFja2dyb3VuZCBleGlzdHMgKEFMUkVBRFktU09MVkVEKQorLSAgICAjIFJ1 bGUgbWF5IG92ZXJyaWRlIGJhY2tncm91bmQgaW5oZXJpdGFuY2UgbWVjaGFuaXNtCisgICAgIHR5 cGUgPSAiYmFja2dyb3VuZCIKKyAKKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBs aW5lLCBrZXl3b3JkLCBuYW1lLCBzdGVwcz1Ob25lLCBkZXNjcmlwdGlvbj1Ob25lKToKKysgICAg ZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBsaW5lLCBrZXl3b3JkPXUiQmFja2dyb3VuZCIs IG5hbWU9dSIiLAorKyAgICAgICAgICAgICAgICAgc3RlcHM9Tm9uZSwgZGVzY3JpcHRpb249Tm9u ZSk6CisgICAgICAgICBzdXBlcihCYWNrZ3JvdW5kLCBzZWxmKS5fX2luaXRfXyhmaWxlbmFtZSwg bGluZSwga2V5d29yZCwgbmFtZSkKKyAgICAgICAgIHNlbGYuZGVzY3JpcHRpb24gPSBkZXNjcmlw dGlvbiBvciBbXQorICAgICAgICAgc2VsZi5zdGVwcyA9IHN0ZXBzIG9yIFtdCisrICAgICAgICBz ZWxmLmluaGVyaXRlZF9iYWNrZ3JvdW5kID0gTm9uZQorKyAgICAgICAgc2VsZi5faW5oZXJpdGVk X3N0ZXBzID0gTm9uZQorKyAgICAgICAgc2VsZi5fdXNlX2luaGVyaXRhbmNlID0gVHJ1ZQorIAor LSAgICBkZWYgX19yZXByX18oc2VsZik6CistICAgICAgICByZXR1cm4gJzxCYWNrZ3JvdW5kICIl cyI+JyAlIHNlbGYubmFtZQorKyAgICBAcHJvcGVydHkKKysgICAgZGVmIHVzZV9pbmhlcml0YW5j ZShzZWxmKToKKysgICAgICAgICIiIkluZGljYXRlcyBpZiB0aGlzIEJhY2tncm91bmQgc2hvdWxk IGluaGVyaXQgZnJvbSBhbiBvdXRlciBCYWNrZ3JvdW5kLgorKyAgICAgICAgQmFja2dyb3VuZCBp bmhlcml0YW5jZSBtZWNoYW5pc20gaXMgZW5hYmxlZCAocGVyIGRlZmF1bHQpLgorKyAgICAgICAg T3B0aW9uYWxseSwgdGhpcyBtZWNoYW5pc20gY2FuIGJlIGRpc2FibGVkIChvciBvdmVycmlkZGVu KS4KKyAKKy0gICAgZGVmIF9faXRlcl9fKHNlbGYpOgorKyAgICAgICAgOnJldHVybjogQ3VycmVu dCBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIHN0YXRlIChhcyBib29sKS4KKysKKysgICAgICAgIC4u IHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAgICAgICAiIiIKKysgICAgICAgIHJldHVybiBzZWxm Ll91c2VfaW5oZXJpdGFuY2UKKysKKysgICAgQHVzZV9pbmhlcml0YW5jZS5zZXR0ZXIKKysgICAg ZGVmIHVzZV9pbmhlcml0YW5jZShzZWxmLCB2YWx1ZSk6CisrICAgICAgICAiIiJFbmFibGUvZGlz YWJsZSBiYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBmb3IgdGhpcyBCYWNrZ3JvdW5k LgorKworKyAgICAgICAgOnBhcmFtIHZhbHVlOiAgIE5ldyB2YWx1ZSAoYXMgYm9vbCkuCisrCisr ICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxLjIuNworKyAgICAgICAgIiIiCisrICAgICAgICAj IC0tIEVOU1VSRTogaW5oZXJpdGVkX3N0ZXBzIGFyZSByZWluaXRpYWxpemVkIChsYXRlcikuCisr ICAgICAgICBzZWxmLl91c2VfaW5oZXJpdGFuY2UgPSBib29sKHZhbHVlKQorKyAgICAgICAgc2Vs Zi5faW5oZXJpdGVkX3N0ZXBzID0gTm9uZQorKworKyAgICBAcHJvcGVydHkKKysgICAgZGVmIGlu aGVyaXRlZF9zdGVwcyhzZWxmKToKKysgICAgICAgICMgdmVyc2lvbmFkZGVkOjogMS4yLjcKKysg ICAgICAgIGlmIHNlbGYuX2luaGVyaXRlZF9zdGVwcyBpcyBOb25lOgorKyAgICAgICAgICAgICMg LS0gTEFaWS1JTklUOiBTdXBwb3J0IGVuYWJsZS9kaXNhYmxlIHRoZSBpbmhlcml0YW5jZSBtZWNo YW5pc20uCisrICAgICAgICAgICAgc3RlcHMgPSBbXQorKyAgICAgICAgICAgIGlmIHNlbGYuaW5o ZXJpdGVkX2JhY2tncm91bmQgYW5kIHNlbGYuX3VzZV9pbmhlcml0YW5jZToKKysgICAgICAgICAg ICAgICAgc3RlcHMgPSBjb3B5X2FuZF9yZXNldF9zdGVwcyhzZWxmLmluaGVyaXRlZF9iYWNrZ3Jv dW5kLnN0ZXBzKQorKyAgICAgICAgICAgIHNlbGYuX2luaGVyaXRlZF9zdGVwcyA9IHN0ZXBzCisr ICAgICAgICByZXR1cm4gc2VsZi5faW5oZXJpdGVkX3N0ZXBzCisrCisrICAgIGRlZiBpdGVyX3N0 ZXBzKHNlbGYpOgorKyAgICAgICAgIiIiUmV0dXJucyBpdGVyYXRvciB0byBhbGwgc3RlcHMsIGlu Y2x1ZGluZyBpbmhlcml0ZWQgc3RlcHMgKGlmIGFueSkuCisrCisrICAgICAgICAuLiB2ZXJzaW9u YWRkZWQ6OiAxLjIuNworKyAgICAgICAgIiIiCisrICAgICAgICBpZiBzZWxmLmluaGVyaXRlZF9z dGVwczoKKysgICAgICAgICAgICByZXR1cm4gaXRlcnRvb2xzLmNoYWluKHNlbGYuaW5oZXJpdGVk X3N0ZXBzLCBzZWxmLnN0ZXBzKQorICAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5zdGVwcykKKyAK KysgICAgQHByb3BlcnR5CisrICAgIGRlZiBhbGxfc3RlcHMoc2VsZik6CisrICAgICAgICByZXR1 cm4gc2VsZi5pdGVyX3N0ZXBzKCkKKysKKyAgICAgQHByb3BlcnR5CisgICAgIGRlZiBkdXJhdGlv bihzZWxmKToKKyAgICAgICAgIGR1cmF0aW9uID0gMAorQEAgLTcwMyw2ICs4MzIsMTIgQEAgY2xh c3MgQmFja2dyb3VuZChCYXNpY1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAg ZHVyYXRpb24gKz0gc3RlcC5kdXJhdGlvbgorICAgICAgICAgcmV0dXJuIGR1cmF0aW9uCisgCisr ICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKysgICAgICAgIHJldHVybiAnPEJhY2tncm91bmQgIiVz Ij4nICUgc2VsZi5uYW1lCisrCisrICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKysgICAgICAgIHJl dHVybiBzZWxmLml0ZXJfc3RlcHMoKQorKworIAorIGNsYXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1 c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICIiIkEgYHNjZW5hcmlvYF8gcGFyc2VkIGZy b20gYSAqZmVhdHVyZSBmaWxlKi4KK0BAIC03OTksNiArOTM0LDcgQEAgY2xhc3MgU2NlbmFyaW8o VGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIHNlbGYuZmVhdHVy ZSA9IE5vbmUgICMgUkVGRVItVE86IG93bmVyPUZlYXR1cmUKKyAgICAgICAgIHNlbGYuaG9va19m YWlsZWQgPSBGYWxzZQorICAgICAgICAgc2VsZi5fYmFja2dyb3VuZF9zdGVwcyA9IE5vbmUKKysg ICAgICAgIHNlbGYuX3VzZV9iYWNrZ3JvdW5kID0gVHJ1ZQorICAgICAgICAgc2VsZi5fcm93ID0g Tm9uZQorICAgICAgICAgc2VsZi53YXNfZHJ5X3J1biA9IEZhbHNlCisgCitAQCAtODEzLDYgKzk0 OSwyNyBAQCBjbGFzcyBTY2VuYXJpbyhUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUp OgorICAgICAgICAgZm9yIHN0ZXAgaW4gc2VsZi5hbGxfc3RlcHM6CisgICAgICAgICAgICAgc3Rl cC5yZXNldCgpCisgCisrICAgIEBwcm9wZXJ0eQorKyAgICBkZWYgdXNlX2JhY2tncm91bmQoc2Vs Zik6CisrICAgICAgICAiIiJJbmRpY2F0ZXMgaWYgdGhlIGJhY2tncm91bmQgaXMvd291bGQgYmUg dXNlZCAoaWYgYW55IGV4aXN0cykuCisrICAgICAgICBOT1RFOiBUaGUgQmFja2dyb3VuZCAoc3Rl cHMpIGFyZSBub3JtYWxseSB1c2VkLgorKworKyAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS4y LjcKKysgICAgICAgICIiIgorKyAgICAgICAgcmV0dXJuIHNlbGYuX3VzZV9iYWNrZ3JvdW5kCisr CisrICAgIEB1c2VfYmFja2dyb3VuZC5zZXR0ZXIKKysgICAgZGVmIHVzZV9iYWNrZ3JvdW5kKHNl bGYsIHZhbHVlKToKKysgICAgICAgICIiIkVuYWJsZS9kaXNhYmxlIHRoZSB1c2FnZSBvZiB0aGUg YmFja2dyb3VuZCAoc3RlcHMpLgorKworKyAgICAgICAgOnBhcmFtIHZhbHVlOiAgTmV3IHZhbHVl IChhcyBib29sKS4KKysKKysgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAgICAg ICAiIiIKKysgICAgICAgICMgLS0gRU5TVVJFOiBiYWNrZ3JvdW5kX3N0ZXBzIGFyZSByZWluaXRp YWxpemVkLgorKyAgICAgICAgc2VsZi5fdXNlX2JhY2tncm91bmQgPSB2YWx1ZQorKyAgICAgICAg c2VsZi5fYmFja2dyb3VuZF9zdGVwcyA9IE5vbmUKKysKKyAgICAgQHByb3BlcnR5CisgICAgIGRl ZiBiYWNrZ3JvdW5kX3N0ZXBzKHNlbGYpOgorICAgICAgICAgIiIiUHJvdmlkZSBiYWNrZ3JvdW5k IHN0ZXBzIGlmIGZlYXR1cmUvcnVsZSBoYXMgYSBiYWNrZ3JvdW5kLgorQEAgLTgyOCwyNCArOTg1 LDI5IEBAIGNsYXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6 CisgICAgICAgICAgICAgIyBFYWNoIHNjZW5hcmlvIG5lZWRzIG93biBiYWNrZ3JvdW5kLnN0ZXBz LgorICAgICAgICAgICAgICMgT3RoZXJ3aXNlLCBiYWNrZ3JvdW5kIHN0ZXAgc3RhdHVzIG9mIHRo ZSBsYXN0LXJ1biBzY2VuYXJpbyBpcyB1c2VkLgorICAgICAgICAgICAgIHN0ZXBzID0gW10KKy0g ICAgICAgICAgICBpZiBzZWxmLmJhY2tncm91bmQ6CistICAgICAgICAgICAgICAgIHN0ZXBzID0g W2NvcHkuY29weShzdGVwKSBmb3Igc3RlcCBpbiBzZWxmLmJhY2tncm91bmQuc3RlcHNdCisrICAg ICAgICAgICAgaWYgc2VsZi5iYWNrZ3JvdW5kIGFuZCBzZWxmLnVzZV9iYWNrZ3JvdW5kOgorKyAg ICAgICAgICAgICAgICBzdGVwcyA9IGNvcHlfYW5kX3Jlc2V0X3N0ZXBzKHNlbGYuYmFja2dyb3Vu ZC5hbGxfc3RlcHMpCisgICAgICAgICAgICAgc2VsZi5fYmFja2dyb3VuZF9zdGVwcyA9IHN0ZXBz CisgICAgICAgICByZXR1cm4gc2VsZi5fYmFja2dyb3VuZF9zdGVwcworIAorLSAgICBAcHJvcGVy dHkKKy0gICAgZGVmIGFsbF9zdGVwcyhzZWxmKToKKy0gICAgICAgICIiIlJldHVybnMgaXRlcmF0 b3IgdG8gYWxsIHN0ZXBzLCBpbmNsdWRpbmcgYmFja2dyb3VuZCBzdGVwcyBpZiBhbnkuIiIiCisr ICAgIGRlZiBpdGVyX3N0ZXBzKHNlbGYpOgorKyAgICAgICAgIiIiUmV0dXJucyBpdGVyYXRvciB0 byBhbGwgc3RlcHMsIGluY2x1ZGluZyBiYWNrZ3JvdW5kIHN0ZXBzIGlmIGFueS4KKysKKysgICAg ICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAgICAgICAiIiIKKyAgICAgICAgIGlmIHNl bGYuYmFja2dyb3VuZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICByZXR1cm4gaXRlcnRvb2xz LmNoYWluKHNlbGYuYmFja2dyb3VuZF9zdGVwcywgc2VsZi5zdGVwcykKKy0gICAgICAgIGVsc2U6 CistICAgICAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5zdGVwcykKKysgICAgICAgIHJldHVybiBp dGVyKHNlbGYuc3RlcHMpCisrCisrICAgIEBwcm9wZXJ0eQorKyAgICBkZWYgYWxsX3N0ZXBzKHNl bGYpOgorKyAgICAgICAgcmV0dXJuIHNlbGYuaXRlcl9zdGVwcygpCisgCisgICAgIGRlZiBfX3Jl cHJfXyhzZWxmKToKKyAgICAgICAgIHJldHVybiAnPFNjZW5hcmlvICIlcyI+JyAlIHNlbGYubmFt ZQorIAorICAgICBkZWYgX19pdGVyX18oc2VsZik6CistICAgICAgICByZXR1cm4gc2VsZi5hbGxf c3RlcHMKKysgICAgICAgIHJldHVybiBzZWxmLml0ZXJfc3RlcHMoKQorIAorICAgICBkZWYgY29t cHV0ZV9zdGF0dXMoc2VsZik6CisgICAgICAgICAiIiJDb21wdXRlIHRoZSBzdGF0dXMgb2YgdGhl IHNjZW5hcmlvIGZyb20gaXRzIHN0ZXBzCitAQCAtODYyLDkgKzEwMjQsOCBAQCBjbGFzcyBTY2Vu YXJpbyhUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgICAgICAg ICAgICAgIyAtLSBTUEVDSUFMIENBU0U6IEluIGRyeS1ydW4gd2l0aCB1bmRlZmluZWQtc3RlcCBk aXNjb3ZlcnkKKyAgICAgICAgICAgICAgICAgICAgICMgICAgVW5kZWZpbmVkIHN0ZXBzIHNob3Vs ZCBub3QgY2F1c2UgZmFpbGVkIHNjZW5hcmlvLgorICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IFN0YXR1cy51bnRlc3RlZAorLSAgICAgICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAg ICAgICAgIyAtLSBOT1JNQUxMWTogVW5kZWZpbmVkIHN0ZXBzIGNhdXNlIGZhaWxlZCBzY2VuYXJp by4KKy0gICAgICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXMuZmFpbGVkCisrICAgICAgICAg ICAgICAgICMgLS0gTk9STUFMTFk6IFVuZGVmaW5lZCBzdGVwcyBjYXVzZSBmYWlsZWQgc2NlbmFy aW8uCisrICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXMuZmFpbGVkCisgICAgICAgICAgICAg ZWxpZiBzdGVwLnN0YXR1cyAhPSBTdGF0dXMucGFzc2VkOgorICAgICAgICAgICAgICAgICAjIHB5 bGludDogZGlzYWJsZT1saW5lLXRvby1sb25nCisgICAgICAgICAgICAgICAgIGFzc2VydCBzdGVw LnN0YXR1cyBpbiAoU3RhdHVzLmZhaWxlZCwgU3RhdHVzLnNraXBwZWQsIFN0YXR1cy51bnRlc3Rl ZCkKK0BAIC0xMDI5LDcgKzExOTAsNiBAQCBjbGFzcyBTY2VuYXJpbyhUYWdBbmRTdGF0dXNTdGF0 ZW1lbnQsIFJlcGxheWFibGUpOgorICAgICAgICAgICAgICAgICAgICAgIyBCVVQ6IERldGVjdCBh bGwgcmVtYWluaW5nIHVuZGVmaW5lZCBzdGVwcy4KKyAgICAgICAgICAgICAgICAgICAgIHN0ZXAu c3RhdHVzID0gU3RhdHVzLnNraXBwZWQKKyAgICAgICAgICAgICAgICAgICAgIGlmIGRyeV9ydW5f c2NlbmFyaW86CistICAgICAgICAgICAgICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cmVk ZWZpbmVkLXZhcmlhYmxlLXR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwLnN0YXR1 cyA9IFN0YXR1cy51bnRlc3RlZAorICAgICAgICAgICAgICAgICAgICAgZm91bmRfc3RlcF9tYXRj aCA9IHJ1bm5lci5zdGVwX3JlZ2lzdHJ5LmZpbmRfbWF0Y2goc3RlcCkKKyAgICAgICAgICAgICAg ICAgICAgIGlmIG5vdCBmb3VuZF9zdGVwX21hdGNoOgorQEAgLTEwNjcsNyArMTIyNyw3IEBAIGNs YXNzIFNjZW5hcmlvKFRhZ0FuZFN0YXR1c1N0YXRlbWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAg ICAjIC0tIFBFUkZPUk0gQ09OVEVYVC1DTEVBTlVQOiBNYXkgcmFpc2UgY2xlYW51cCBlcnJvcnMu CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgcnVubmVyLmNvbnRleHQuX3BvcCgpICAgICAg ICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKy0gICAgICAgIGV4Y2VwdCBFeGNl cHRpb246CisrICAgICAgICBleGNlcHQgRXhjZXB0aW9uOiAgICAgICAgICAgICAgICMgcHlsaW50 OiBkaXNhYmxlPWJyb2FkLWV4Y2VwdAorICAgICAgICAgICAgIHNlbGYuc2V0X3N0YXR1cyhTdGF0 dXMuZmFpbGVkKQorICAgICAgICAgICAgIGZhaWxlZCA9IFRydWUKKyAKK0BAIC0xMTc2LDkgKzEz MzYsOSBAQCBjbGFzcyBTY2VuYXJpb091dGxpbmVCdWlsZGVyKG9iamVjdCk6CisgICAgICAgICAg ICAgICAgIHBsYWNlaG9sZGVyID0gdSI8JXM+IiAlIG5hbWUKKyAgICAgICAgICAgICAgICAgZm9y IGksIGNlbGwgaW4gZW51bWVyYXRlKG5ld19zdGVwLnRhYmxlLmhlYWRpbmdzKToKKyAgICAgICAg ICAgICAgICAgICAgIG5ld19zdGVwLnRhYmxlLmhlYWRpbmdzW2ldID0gY2VsbC5yZXBsYWNlKHBs YWNlaG9sZGVyLCB2YWx1ZSkKKy0gICAgICAgICAgICAgICAgZm9yIHJvdyBpbiBuZXdfc3RlcC50 YWJsZToKKy0gICAgICAgICAgICAgICAgICAgIGZvciBpLCBjZWxsIGluIGVudW1lcmF0ZShyb3cu Y2VsbHMpOgorLSAgICAgICAgICAgICAgICAgICAgICAgIHJvdy5jZWxsc1tpXSA9IGNlbGwucmVw bGFjZShwbGFjZWhvbGRlciwgdmFsdWUpCisrICAgICAgICAgICAgICAgIGZvciBzdGVwX3JvdyBp biBuZXdfc3RlcC50YWJsZToKKysgICAgICAgICAgICAgICAgICAgIGZvciBpLCBjZWxsIGluIGVu dW1lcmF0ZShzdGVwX3Jvdy5jZWxscyk6CisrICAgICAgICAgICAgICAgICAgICAgICAgc3RlcF9y b3cuY2VsbHNbaV0gPSBjZWxsLnJlcGxhY2UocGxhY2Vob2xkZXIsIHZhbHVlKQorICAgICAgICAg cmV0dXJuIG5ld19zdGVwCisgCisgICAgIGRlZiBidWlsZF9zY2VuYXJpb3Moc2VsZiwgc2NlbmFy aW9fb3V0bGluZSk6CitAQCAtMTY0MCw3ICsxODAwLDYgQEAgY2xhc3MgU3RlcChCYXNpY1N0YXRl bWVudCwgUmVwbGF5YWJsZSk6CisgICAgICAgICAgICAgICAgIG1hdGNoLnJ1bihydW5uZXIuY29u dGV4dCkKKyAgICAgICAgICAgICAgICAgaWYgc2VsZi5zdGF0dXMgPT0gU3RhdHVzLnVudGVzdGVk OgorICAgICAgICAgICAgICAgICAgICAgIyAtLSBOT1RFOiBFeGVjdXRlZCBzdGVwIG1heSBoYXZl IHNraXBwZWQgc2NlbmFyaW8gYW5kIGl0c2VsZi4KKy0gICAgICAgICAgICAgICAgICAgICMgcHls aW50OiBkaXNhYmxlPXJlZGVmaW5lZC12YXJpYWJsZS10eXBlCisgICAgICAgICAgICAgICAgICAg ICBzZWxmLnN0YXR1cyA9IFN0YXR1cy5wYXNzZWQKKyAgICAgICAgICAgICBleGNlcHQgS2V5Ym9h cmRJbnRlcnJ1cHQgYXMgZToKKyAgICAgICAgICAgICAgICAgcnVubmVyLmFib3J0ZWQgPSBUcnVl CitAQCAtMTgxNSw4ICsxOTc0LDcgQEAgY2xhc3MgVGFibGUoUmVwbGF5YWJsZSk6CisgICAgICAg ICAiIiIKKyAgICAgICAgIGlmIHNlbGYuaGFzX2NvbHVtbihjb2x1bW5fbmFtZSk6CisgICAgICAg ICAgICAgcmV0dXJuIHNlbGYuZ2V0X2NvbHVtbl9pbmRleChjb2x1bW5fbmFtZSkKKy0gICAgICAg IGVsc2U6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYuYWRkX2NvbHVtbihjb2x1bW5fbmFtZSkK KysgICAgICAgIHJldHVybiBzZWxmLmFkZF9jb2x1bW4oY29sdW1uX25hbWUpCisgCisgICAgIGRl ZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIHJldHVybiAiPFRhYmxlOiAlZHglZD4iICUgKGxl bihzZWxmLmhlYWRpbmdzKSwgbGVuKHNlbGYucm93cykpCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3Bh cnNlci5weSBiL2JlaGF2ZS9wYXJzZXIucHkKK2luZGV4IDk5M2M5ZGMuLjUyMGY2NzggMTAwNjQ0 CistLS0gYS9iZWhhdmUvcGFyc2VyLnB5CisrKysgYi9iZWhhdmUvcGFyc2VyLnB5CitAQCAtMjQ5 LDcgKzI0OSw2IEBAIGNsYXNzIFBhcnNlcihvYmplY3QpOgorICAgICAgICAgc2VsZi5ydWxlID0g cnVsZQorICAgICAgICAgc2VsZi5zY2VuYXJpb19jb250YWluZXIgPSBydWxlCisgICAgICAgICBz ZWxmLnN0YXRlbWVudCA9IHJ1bGUKKy0gICAgICAgICMgTUFZQkU6IHNlbGYuYmFja2dyb3VuZCA9 IE5vbmUKKyAgICAgICAgIHNlbGYuZmVhdHVyZS5hZGRfcnVsZShzZWxmLnN0YXRlbWVudCkKKyAg ICAgICAgICMgLS0gUkVTRVQgU1RBVEU6CisgICAgICAgICBzZWxmLnRhZ3MgPSBbXQorQEAgLTI1 OCwxMSArMjU3LDE1IEBAIGNsYXNzIFBhcnNlcihvYmplY3QpOgorICAgICAgICAgaWYgc2VsZi50 YWdzOgorICAgICAgICAgICAgIG1zZyA9IHUiQmFja2dyb3VuZCBzdXBwb3J0cyBubyB0YWdzOiBA JXMiICUgKHUiIEAiLmpvaW4oc2VsZi50YWdzKSkKKyAgICAgICAgICAgICByYWlzZSBQYXJzZXJF cnJvcihtc2csIHNlbGYubGluZSwgc2VsZi5maWxlbmFtZSwgbGluZSkKKysgICAgICAgIGVsaWYg c2VsZi5zY2VuYXJpb19jb250YWluZXIgYW5kIHNlbGYuc2NlbmFyaW9fY29udGFpbmVyLmJhY2tn cm91bmQ6CisrICAgICAgICAgICAgaWYgc2VsZi5zY2VuYXJpb19jb250YWluZXIuYmFja2dyb3Vu ZC5zdGVwczoKKysgICAgICAgICAgICAgICAgIyAtLSBISU5UOiBSdWxlIG1heSBoYXZlIGRlZmF1 bHQgYmFja2dyb3VuZCB3L28gc3RlcHMuCisrICAgICAgICAgICAgICAgIG1zZyA9IHUiU2Vjb25k IEJhY2tncm91bmQgKGNhbiBoYXZlIG9ubHkgb25lKSIKKysgICAgICAgICAgICAgICAgcmFpc2Ug UGFyc2VyRXJyb3IobXNnLCBzZWxmLmxpbmUsIHNlbGYuZmlsZW5hbWUsIGxpbmUpCisgICAgICAg ICBuYW1lID0gbGluZVtsZW4oa2V5d29yZCkgKyAxOl0uc3RyaXAoKQorICAgICAgICAgYmFja2dy b3VuZCA9IG1vZGVsLkJhY2tncm91bmQoc2VsZi5maWxlbmFtZSwgc2VsZi5saW5lLCBrZXl3b3Jk LCBuYW1lKQorKyAgICAgICAgc2VsZi5zY2VuYXJpb19jb250YWluZXIuYWRkX2JhY2tncm91bmQo YmFja2dyb3VuZCkKKyAgICAgICAgIHNlbGYuc3RhdGVtZW50ID0gYmFja2dyb3VuZAorLSAgICAg ICAgc2VsZi5zY2VuYXJpb19jb250YWluZXIuYmFja2dyb3VuZCA9IGJhY2tncm91bmQKKy0gICAg ICAgICMgT0xEOiBzZWxmLmZlYXR1cmUuYmFja2dyb3VuZCA9IHNlbGYuc3RhdGVtZW50CisgCisg ICAgIGRlZiBfYnVpbGRfc2NlbmFyaW9fc3RhdGVtZW50KHNlbGYsIGtleXdvcmQsIGxpbmUpOgor ICAgICAgICAgbmFtZSA9IGxpbmVbbGVuKGtleXdvcmQpICsgMTpdLnN0cmlwKCkKK2RpZmYgLS1n aXQgYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvUkVBRE1FLnJzdCBiL2V4 YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDljMTUwY2MuLjAwMDAwMDAKKy0tLSBhL2V4YW1wbGVzL2Zp eHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9SRUFETUUucnN0CisrKysgL2Rldi9udWxsCitAQCAt MSwxMTYgKzAsMCBAQAorLUVYQU1QTEU6IE92ZXJyaWRlIC8gRGlzYWJsZSBCYWNrZ3JvdW5kIElu aGVyaXRhbmNlIE1lY2hhbmlzbSBmb3IgU2NlbmFyaW8KKy09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistCistOlJFTEFURUQtVE86ICM3NTYKKy0KKy1UaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRoZSBC YWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbSBpbiBHaGVya2luCistY2FuIGJlIGRpc2Fi bGVkIGluIGBgYmVoYXZlYGAuCistCistUGFydHMgb2YgdGhlIHJlY2lwZToKKy0KKy0qIGZlYXR1 cmVzL2V4YW1wbGUuZmVhdHVyZSAoRmVhdHVyZSBmaWxlIGFzIGV4YW1wbGUpCistKiBmZWF0dXJl cy9lbnZpcm9ubWVudC5weSAoZ2x1ZSBjb2RlIGFuZCBob29rcyBmb3IgZml4dHVyZS10YWcgLyBm aXh0dXJlKQorLSogYmVoYXZlX2ZpeHR1cmVfbGliL292ZXJyaWRlX2JhY2tncm91bmQucHkgKGZp eHR1cmUgaW1wbGVtZW50YXRpb24sIHdvcmtob3JzZSkKKy0KKy0KKy0uLiB3YXJuaW5nOjogQkVX QVJFOiBUaGlzIHNob3dzIHlvdSBob3cgY2FuIGRvIGl0LCBub3QgdGhhdCB5b3Ugc2hvdWxkIGRv IGl0CistCistICAgIEJFVFRFUjoKKy0KKy0gICAgKiBVc2UgUnVsZXMgdG8gZ3JvdXAgU2NlbmFy aW9zLCBlYWNoIHdpdGggaXRzIG93biBCYWNrZ3JvdW5kIChpbiBHaGVya2luIHY2KQorLSAgICAq IFNwbGl0IEZlYXR1cmUgYXNwZWN0cyBpbnRvIG11bHRpcGxlIGZlYXR1cmUgZmlsZXMgKGlmIG5l ZWRlZCkKKy0gICAgKiAuLi4gKHNlZSBpc3N1ZSAjNzU2IGFib3ZlKQorLQorLQorLUV4cGxhbmF0 aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistCistRXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRlIGEg YmVoYXZlIGZpeHR1cmUgdG8gZGlzYWJsZSB0aGUKKy1iYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1l Y2hhbmlzbSBieSB1c2luZyBhIGZpeHR1cmUgLyBmaXh0dXJlLXRhZy4KKy1UaGUgZml4dHVyZS10 YWcgIkBpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQiIG1hcmtzIHRoZQorLWxvY2F0 aW9uIGluIEdoZXJraW4gKHdoaWNoIFNjZW5hcmlvKSB3aGVyZSB0aGUgZml4dHVyZSBzaG91bGQg YmUgdXNlZAorLQorLS4uIGNvZGUtYmxvY2s6OiBnaGVya2luCistCistICAgICMgLS0gRklMRTog ZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCistICAgIEZlYXR1cmU6IFNob3cgaG93IEBmaXh0dXJl LmJlaGF2ZS5vdmVycmlkZV9iYWNrZ3JvdW5kIGlzIHVzZWQKKy0KKy0gICAgICAgIEJhY2tncm91 bmQ6CistICAgICAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVwCistCistICAgICAgICBTY2Vu YXJpbzogQWxpY2UKKy0gICAgICAgICAgV2hlbiBhIHN0ZXAgcGFzc2VzCistICAgICAgICAgIEFu ZCBub3RlIHRoYXQgIkJhY2tncm91bmQgc3RlcHMgYXJlIGV4ZWN1dGVkIGhlcmUiCistCistICAg ICAgICBAZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kCistICAgICAgICBTY2VuYXJp bzogQm9iCistICAgICAgICAgIEdpdmVuIEkgbmVlZCBhbm90aGVyIHNjZW5hcmlvIHNldHVwCist ICAgICAgICAgIFdoZW4gYW5vdGhlciBzdGVwIHBhc3NlcworLSAgICAgICAgICBBbmQgbm90ZSB0 aGF0ICJOTy1CQUNLR1JPVU5EIFNURVBTIGFyZSBleGVjdXRlZCBoZXJlIgorLQorLVdoZW4gdGhl IGZlYXR1cmUgaXMgZXhlY3V0ZWQsIHlvdSBzZWUgdGhhdDoKKy0KKy0qIEZpcnN0IFNjZW5hcmlv ICJBbGljZSI6IEJhY2tncm91bmQgc3RlcHMgYXJlIGluaGVyaXRlZCBhbmQgZXhlY3V0ZWQgZmly c3QuCistKiBTZWNvbmQgU2NlbmFyaW8gIkJvYiI6IE5vIEJhY2tncm91bmQgc3RlcCBpcyBleGVj dXRlZC4KKy0KKy0uLiBjb2RlLWJsb2NrOjogc2gKKy0KKy0gICAgJCAuLi8uLi9iaW4vYmVoYXZl IC1mIHBsYWluIGZlYXR1cmVzL2V4YW1wbGUuZmVhdHVyZQorLSAgICBGZWF0dXJlOiBPdmVycmlk ZSB0aGUgQmFja2dyb3VuZCBJbmhlcml0YW5jZSBNZWNoYW5pc20gaW4gc29tZSBTY2VuYXJpb3MK Ky0gICAgICBCYWNrZ3JvdW5kOgorLQorLSAgICAgIFNjZW5hcmlvOiBBbGljZQorLSAgICAgICAg R2l2ZW4gYSBiYWNrZ3JvdW5kIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKy0gICAgICAgIFdoZW4g YSBzdGVwIHBhc3NlcyAuLi4gcGFzc2VkCistICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3Jv dW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJlIiAuLi4gcGFzc2VkCistICAgIEZJWFRVUkUtSElO VDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjogQm9iCistCistICAgICAgU2NlbmFyaW86IEJvYgor LSAgICAgICAgR2l2ZW4gSSBuZWVkIGFub3RoZXIgc2NlbmFyaW8gc2V0dXAgLi4uIHBhc3NlZAor LSAgICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzIC4uLiBwYXNzZWQKKy0gICAgICAgIEFu ZCBub3RlIHRoYXQgIk5PLUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiIC4uLiBw YXNzZWQKKy0KKy0gICAgMSBmZWF0dXJlIHBhc3NlZCwgMCBmYWlsZWQsIDAgc2tpcHBlZAorLSAg ICAyIHNjZW5hcmlvcyBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQKKy0gICAgNiBzdGVwcyBw YXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDAgdW5kZWZpbmVkCistCistCistVGhlIGVudmly b25tZW50IGZpbGUgcHJvdmlkZXMgdGhlIGdsdWUgY29kZSB0aGF0IHRoZSBmaXh0dXJlIGlzIGNh bGxlZDoKKy0KKy0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCistCistICAgICMgLS0gRklMRTogZmVh dHVyZXMvZW52aXJvbm1lbnQucHkKKy0gICAgZnJvbSBiZWhhdmVfZml4dHVyZV9saWIub3ZlcnJp ZGVfYmFja2dyb3VuZCBpbXBvcnQgYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQKKy0gICAgZnJv bSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVfYnlfdGFnCistCistICAgICMgLS0g RklYVFVSRSBSRUdJU1RSWToKKy0gICAgZml4dHVyZV9yZWdpc3RyeSA9IHsKKy0gICAgICAgICJm aXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQiOiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dy b3VuZCwKKy0gICAgfQorLQorLSAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAgICMgSE9P S1M6CistICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0gICAgZGVmIGJlZm9yZV90YWcoY29u dGV4dCwgdGFnKToKKy0gICAgICAgIGlmIHRhZy5zdGFydHN3aXRoKCJmaXh0dXJlLiIpOgorLSAg ICAgICAgICAgIHJldHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJl X3JlZ2lzdHJ5KQorLQorLQorLS4uIGNvZGUtYmxvY2s6OiBweXRob24KKy0KKy0gICAgIyAtLSBG SUxFOiBiZWhhdmVfZml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weSAoZml4dHVyZSBp bXBsZW1lbnRhdGlvbikKKy0gICAgZnJvbSBiZWhhdmUgaW1wb3J0IGZpeHR1cmUKKy0KKy0gICAg QGZpeHR1cmUobmFtZT0iZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVfYmFja2dyb3VuZCIpCistICAg IGRlZiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZChjdHgpOgorLSAgICAgICAgIyAtLSBTRVRV UC1QQVJULU9OTFk6IERpc2FibGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSAoZm9yIHNjZW5hcmlv cyBvbmx5KS4KKy0gICAgICAgIGN1cnJlbnRfc2NlbmFyaW8gPSBjdHguc2NlbmFyaW8KKy0gICAg ICAgIGlmIGN1cnJlbnRfc2NlbmFyaW86CistICAgICAgICAgICAgYmVoYXZlX2Rpc2FibGVfYmFj a2dyb3VuZF9pbmhlcml0YW5jZV9mb3Jfc2NlbmFyaW8oY3VycmVudF9zY2VuYXJpbykKKy0KKy0g ICAgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLSAgICAjIEJFSEFWRSBVVElMSVRZOgorLSAgICAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistICAgIGRlZiBiZWhhdmVfZGlzYWJsZV9iYWNrZ3JvdW5k X2luaGVyaXRhbmNlX2Zvcl9zY2VuYXJpbyhzY2VuYXJpbyk6CistICAgICAgICBwcmludCgiRklY VFVSRS1ISU5UOiBESVNBQkxFLUJBQ0tHUk9VTkQgRk9SOiAlcyIgJSBzY2VuYXJpby5uYW1lKQor LSAgICAgICAgc2NlbmFyaW8uYmFja2dyb3VuZCA9IE5vbmUKK2RpZmYgLS1naXQgYS9leGFtcGxl cy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvYmVoYXZlX2ZpeHR1cmVfbGliL19faW5pdF9f LnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJl X2xpYi9fX2luaXRfXy5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBlNjlkZTI5 Li4wMDAwMDAwCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3Jv dW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9iYWNrZ3JvdW5kLnB5IGIvZXhhbXBsZXMv Zml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2JlaGF2ZV9maXh0dXJlX2xpYi9vdmVycmlkZV9i YWNrZ3JvdW5kLnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDZjNTcyY2YuLjAw MDAwMDAKKy0tLSBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9iZWhhdmVf Zml4dHVyZV9saWIvb3ZlcnJpZGVfYmFja2dyb3VuZC5weQorKysrIC9kZXYvbnVsbAorQEAgLTEs ODAgKzAsMCBAQAorLSMgLSotIGNvZGluZzogVVRGLTggLSotCistIyBSRUxBVEVELVRPOiAjNzU2 CistIiIiCistRXhhbXBsZSBjb2RlIGhvdyB0byBwcm92aWRlIGEgYmVoYXZlIGZpeHR1cmUgdG8g ZGlzYWJsZSB0aGUKKy1iYWNrZ3JvdW5kIGluaGVyaXRhbmNlIG1lY2hhbmlzbS4KKy0KKy0uLiBj b2RlLWJsb2NrOjogZ2hlcmtpbgorLQorLSAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2V4YW1wbGUu ZmVhdHVyZQorLSAgICBGZWF0dXJlOiBTaG93IGhvdyBAZml4dHVyZS5iZWhhdmUub3ZlcnJpZGVf YmFja2dyb3VuZCBpcyB1c2VkCistCistICAgICAgICBCYWNrZ3JvdW5kOgorLSAgICAgICAgICBH aXZlbiBhIGJhY2tncm91bmQgc3RlcAorLQorLSAgICAgICAgU2NlbmFyaW86IEFsaWNlCistICAg ICAgICAgIFdoZW4gYSBzdGVwIHBhc3NlcworLSAgICAgICAgICBBbmQgbm90ZSB0aGF0ICJCYWNr Z3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBoZXJlIgorLQorLSAgICAgICAgQGZpeHR1cmUuYmVo YXZlLm92ZXJpZGVfYmFja2dyb3VuZAorLSAgICAgICAgU2NlbmFyaW86IEJvYgorLSAgICAgICAg ICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cAorLSAgICAgICAgICBXaGVuIGFu b3RoZXIgc3RlcCBwYXNzZXMKKy0gICAgICAgICAgQW5kIG5vdGUgdGhhdCAiTk8tQkFDS0dST1VO RCBTVEVQUyBhcmUgZXhlY3V0ZWQgaGVyZSIKKy0KKy0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCist CistICAgICMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKy0gICAgZnJvbSBiZWhh dmVfZml4dHVyZV9saWIub3ZlcnJpZGVfYmFja2dyb3VuZCBpbXBvcnQgYmVoYXZlX292ZXJyaWRl X2JhY2tncm91bmQKKy0gICAgZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgdXNlX2ZpeHR1cmVf YnlfdGFnCistCistICAgICMgLS0gRklYVFVSRSBSRUdJU1RSWToKKy0gICAgZml4dHVyZV9yZWdp c3RyeSA9IHsKKy0gICAgICAgICJmaXh0dXJlLmJlaGF2ZS5vdmVyaWRlX2JhY2tncm91bmQiOiBi ZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZCwKKy0gICAgfQorLQorLSAgICBkZWYgYmVmb3JlX3Rh Zyhjb250ZXh0LCB0YWcpOgorLSAgICAgICAgaWYgdGFnLnN0YXJ0c3dpdGgoImZpeHR1cmUuIik6 CistICAgICAgICAgICAgcmV0dXJuIHVzZV9maXh0dXJlX2J5X3RhZyh0YWcsIGNvbnRleHQsIGZp eHR1cmVfcmVnaXN0cnkpCistCistIiIiCistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNv bHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCistZnJvbSBiZWhhdmUgaW1wb3J0IGZpeHR1cmUK Ky0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBCRUhBVkUgRklYVFVSRVM6CistIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorLUBmaXh0dXJlKG5hbWU9ImZpeHR1cmUuYmVoYXZlLm92ZXJy aWRlX2JhY2tncm91bmQiKQorLWRlZiBiZWhhdmVfb3ZlcnJpZGVfYmFja2dyb3VuZChjdHgpOgor LSAgICAiIiJPdmVycmlkZSB0aGUgQmFja2dyb3VuZCBpbmhlcmludGFuY2UgbWVjaGFuaXNtLgor LSAgICBJZiBhIEZlYXR1cmUgLyBSdWxlIEJhY2tncm91bmQgZXhpc3RzIGluIGEgRmVhdHVyZSwK Ky0gICAgYWxsIGNvbnRhaW5lZCBTY2VuYXJpb3MgaW5oZXJpdCB0aGUgQmFja2dyb3VuZCdzIHN0 ZXBzLgorLQorLSAgICBUaGlzIGZpeHR1cmUgZGlzYWJsZXMgdGhpcyBtZWNoYW5pc20uCistICAg IFRoZSB0YWdnZWQgR2hlcmtpbiBlbGVtZW50IHdpbGwgbm8gbG9uZ2VyIGluaGVyaXQgdGhlIGJh Y2tncm91bmQgc3RlcHMuCistCistICAgIDpwYXJhbSBjdHg6IENvbnRleHQgb2JqZWN0IHRvIHVz ZSAoZHVyaW5nIGEgdGVzdCBydW4pLgorLSAgICAiIiIKKy0gICAgIyAtLSBTRVRVUC1QQVJULU9O TFk6IERpc2FibGUgYmFja2dyb3VuZCBpbmhlcml0YW5jZSAoZm9yIHNjZW5hcmlvcyBvbmx5KS4K Ky0gICAgY3VycmVudF9zY2VuYXJpbyA9IGN0eC5zY2VuYXJpbworLSAgICBpZiBjdXJyZW50X3Nj ZW5hcmlvOgorLSAgICAgICAgYmVoYXZlX2Rpc2FibGVfYmFja2dyb3VuZF9pbmhlcml0YW5jZV9m b3Jfc2NlbmFyaW8oY3VycmVudF9zY2VuYXJpbykKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCistIyBCRUhBVkUgVVRJTElUWToKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistZGVmIGJl aGF2ZV9kaXNhYmxlX2JhY2tncm91bmRfaW5oZXJpdGFuY2VfZm9yX3NjZW5hcmlvKHNjZW5hcmlv KToKKy0gICAgcHJpbnQoIkZJWFRVUkUtSElOVDogRElTQUJMRS1CQUNLR1JPVU5EIEZPUjogJXMi ICUgc2NlbmFyaW8ubmFtZSkKKy0gICAgc2NlbmFyaW8uYmFja2dyb3VuZCA9IE5vbmUKKy0gICAg IyBzY2VuYXJpby5fYmFja2dyb3VuZF9zdGVwcyA9IFtdCistCistCistIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorLSMgTU9EVUxFIFNQRUNJRklDOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1m aXh0dXJlX3JlZ2lzdHJ5ID0geworLSAgICAiZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3Jv dW5kIjogYmVoYXZlX292ZXJyaWRlX2JhY2tncm91bmQsCistfQorZGlmZiAtLWdpdCBhL2V4YW1w bGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBi L2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0dXJlcy9lbnZpcm9ubWVu dC5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA3YTRiNzM1Li4wMDAwMDAwCist LS0gYS9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91bmQvZmVhdHVyZXMvZW52aXJv bm1lbnQucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDM1ICswLDAgQEAKKy0jIC0qLSBjb2Rpbmc6 IFVURi04IC0qLQorLSMgLS0gRklMRTogZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKKy1pbXBvcnQg b3MucGF0aAorLWltcG9ydCBzeXMKKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBQWVRI T04gUEFUSCBTRVRVUDoKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistSEVSRSA9IG9zLnBhdGgu ZGlybmFtZShfX2ZpbGVfXykKKy1UT1BBID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihI RVJFLCAiLi4iKSkKKy0KKy1kZWYgc2V0dXBfcHl0aG9uX3BhdGgoKToKKy0gICAgc3lzLnBhdGgu aW5zZXJ0KDAsIFRPUEEpCistCistc2V0dXBfcHl0aG9uX3BhdGgoKQorLQorLSMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKy0jIE5PUk1BTCBQQVJUOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1m cm9tIGJlaGF2ZV9maXh0dXJlX2xpYi5vdmVycmlkZV9iYWNrZ3JvdW5kIGltcG9ydCBiZWhhdmVf b3ZlcnJpZGVfYmFja2dyb3VuZAorLWZyb20gYmVoYXZlLmZpeHR1cmUgaW1wb3J0IHVzZV9maXh0 dXJlX2J5X3RhZworLQorLSMgLS0gRklYVFVSRSBSRUdJU1RSWToKKy1maXh0dXJlX3JlZ2lzdHJ5 ID0geworLSAgICAiZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kIjogYmVoYXZlX292 ZXJyaWRlX2JhY2tncm91bmQsCistfQorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0j IEhPT0tTOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1kZWYgYmVmb3JlX3RhZyhjb250ZXh0 LCB0YWcpOgorLSAgICBpZiB0YWcuc3RhcnRzd2l0aCgiZml4dHVyZS4iKToKKy0gICAgICAgIHJl dHVybiB1c2VfZml4dHVyZV9ieV90YWcodGFnLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQor LQorZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0 dXJlcy9leGFtcGxlLmZlYXR1cmUgYi9leGFtcGxlcy9maXh0dXJlLm92ZXJyaWRlX2JhY2tncm91 bmQvZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDVkZGQ4NzQuLjAwMDAwMDAKKy0tLSBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFj a2dyb3VuZC9mZWF0dXJlcy9leGFtcGxlLmZlYXR1cmUKKysrKyAvZGV2L251bGwKK0BAIC0xLDE4 ICswLDAgQEAKKy1GZWF0dXJlOiBPdmVycmlkZSB0aGUgQmFja2dyb3VuZCBJbmhlcml0YW5jZSBN ZWNoYW5pc20gaW4gc29tZSBTY2VuYXJpb3MKKy0KKy0gIC4gQkVXQVJFOgorLSAgLiAgIFRoaXMg aXMgb25seSBhbiBleGFtcGxlIGhvdyB0aGlzIGNhbiBiZSBkb25lIChQUk9PRi1PRi1DT05DRVBU KS4KKy0gIC4gICBUaGlzIGlzIG5vdCBhbiBleGFtcGxlIHRoYXQgeW91IHNob3VsZCBkbyB0aGlz ICEhIQorLQorLSAgICBCYWNrZ3JvdW5kOgorLSAgICAgIEdpdmVuIGEgYmFja2dyb3VuZCBzdGVw IHBhc3NlcworLQorLSAgICBTY2VuYXJpbzogQWxpY2UKKy0gICAgICBXaGVuIGEgc3RlcCBwYXNz ZXMKKy0gICAgICBBbmQgbm90ZSB0aGF0ICJCYWNrZ3JvdW5kIHN0ZXBzIGFyZSBleGVjdXRlZCBo ZXJlIgorLQorLSAgICBAZml4dHVyZS5iZWhhdmUub3ZlcmlkZV9iYWNrZ3JvdW5kCistICAgIFNj ZW5hcmlvOiBCb2IKKy0gICAgICBHaXZlbiBJIG5lZWQgYW5vdGhlciBzY2VuYXJpbyBzZXR1cAor LSAgICAgIFdoZW4gYW5vdGhlciBzdGVwIHBhc3NlcworLSAgICAgIEFuZCBub3RlIHRoYXQgIk5P LUJBQ0tHUk9VTkQgU1RFUFMgYXJlIGV4ZWN1dGVkIGhlcmUiCitkaWZmIC0tZ2l0IGEvZXhhbXBs ZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL2Jhc2ljX3N0ZXBz LnB5IGIvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBz L2Jhc2ljX3N0ZXBzLnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDM0ZjIxMDcu LjAwMDAwMDAKKy0tLSBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9mZWF0 dXJlcy9zdGVwcy9iYXNpY19zdGVwcy5weQorKysrIC9kZXYvbnVsbAorQEAgLTEsMTMgKzAsMCBA QAorLWZyb20gYmVoYXZlIGltcG9ydCBnaXZlbiwgc3RlcAorLQorLSMgQHN0ZXAodSd7d29yZH0g c3RlcCBwYXNzZXMnKQorLSMgZGVmIHN0ZXBfcGFzc2VzX3dpdGhfd29yZChjb250ZXh0LCB3b3Jk KToKKy0jICAgICBwYXNzCistCistQHN0ZXAodSd7d29yZH0gYmFja2dyb3VuZCBzdGVwIHBhc3Nl cycpCistZGVmIHN0ZXBfYmFja2dyb3VuZF9zdGVwX3Bhc3Nlcyhjb250ZXh0LCB3b3JkKToKKy0g ICAgcGFzcworLQorLUBnaXZlbih1J0kgbmVlZCB7d29yZH0gc2NlbmFyaW8gc2V0dXAnKQorLWRl ZiBzdGVwX2dpdmVuX2lfbmVlZF9zY2VuYXJpb19zZXR1cChjb250ZXh0LCB3b3JkKToKKy0gICAg cGFzcworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL2ZpeHR1cmUub3ZlcnJpZGVfYmFja2dyb3VuZC9m ZWF0dXJlcy9zdGVwcy91c2Vfc3RlcGxpYl9iZWhhdmU0Y21kLnB5IGIvZXhhbXBsZXMvZml4dHVy ZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBzL3VzZV9zdGVwbGliX2JlaGF2ZTRj bWQucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYmMzMmEzMi4uMDAwMDAwMAor LS0tIGEvZXhhbXBsZXMvZml4dHVyZS5vdmVycmlkZV9iYWNrZ3JvdW5kL2ZlYXR1cmVzL3N0ZXBz L3VzZV9zdGVwbGliX2JlaGF2ZTRjbWQucHkKKysrKyAvZGV2L251bGwKK0BAIC0xLDEyICswLDAg QEAKKy0jIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorLSIiIgorLVVzZSBiZWhhdmU0Y21kMCBzdGVw IGxpYnJhcnkgKHByZWRlY2Vzc29yIG9mIGJlaGF2ZTRjbWQpLgorLSIiIgorLQorLWZyb20gX19m dXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CistCistIyAtLSBSRUdJU1RFUi1TVEVQUyBG Uk9NIFNURVAtTElCUkFSWToKKy0jIGltcG9ydCBiZWhhdmU0Y21kMC5fX2FsbF9zdGVwc19fCist IyBpbXBvcnQgYmVoYXZlNGNtZDAuZmFpbGluZ19zdGVwcworLWltcG9ydCBiZWhhdmU0Y21kMC5w YXNzaW5nX3N0ZXBzCistaW1wb3J0IGJlaGF2ZTRjbWQwLm5vdGVfc3RlcHMKK2RpZmYgLS1naXQg YS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBjZWE0MzkyLi44ZGUzZWMwIDEwMDY0NAorLS0t IGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMTMxLDYgKzEzMSw3IEBAIHNldHVwKAor ICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjUiLAorICAgICAg ICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjYiLAorICAgICAgICAgIlBy b2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjciLAorKyAgICAgICAgIlByb2dyYW1t aW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjgiLAorICAgICAgICAgIlByb2dyYW1taW5nIExh bmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1lbnRhdGlvbiA6OiBDUHl0aG9uIiwKKyAgICAgICAg ICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogSW1wbGVtZW50YXRpb24gOjogSnl0 aG9uIiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogSW1wbGVt ZW50YXRpb24gOjogUHlQeSIsCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X21vZGVsLnB5 IGIvdGVzdHMvdW5pdC90ZXN0X21vZGVsLnB5CitpbmRleCBjMWZjNDI0Li4yMWQ2YzI3IDEwMDY0 NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X21vZGVsLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3Rf bW9kZWwucHkKK0BAIC04LDcgKzgsNyBAQCBmcm9tIG1vY2sgaW1wb3J0IE1vY2ssIHBhdGNoCisg aW1wb3J0IHNpeAorIGZyb20gc2l4Lm1vdmVzIGltcG9ydCByYW5nZSAgICAgIyBweWxpbnQ6IGRp c2FibGU9cmVkZWZpbmVkLWJ1aWx0aW4KKyBmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgemlwICAgICAg ICMgcHlsaW50OiBkaXNhYmxlPXJlZGVmaW5lZC1idWlsdGluCistZnJvbSBiZWhhdmUubW9kZWxf Y29yZSBpbXBvcnQgRmlsZUxvY2F0aW9uLCBTdGF0dXMKKytmcm9tIGJlaGF2ZS5tb2RlbF9jb3Jl IGltcG9ydCBTdGF0dXMKKyBmcm9tIGJlaGF2ZS5tb2RlbCBpbXBvcnQgRmVhdHVyZSwgU2NlbmFy aW8sIFNjZW5hcmlvT3V0bGluZSwgU3RlcAorIGZyb20gYmVoYXZlLm1vZGVsIGltcG9ydCBUYWJs ZSwgUm93CisgZnJvbSBiZWhhdmUubWF0Y2hlcnMgaW1wb3J0IE5vTWF0Y2gKK0BAIC0yMCwxOSAr MjAsMTIgQEAgZnJvbSBiZWhhdmUgaW1wb3J0IHN0ZXBfcmVnaXN0cnkKKyAKKyBpZiBzaXguUFky OgorICAgICAjIHB5bGludDogZGlzYWJsZT11bnVzZWQtaW1wb3J0CistICAgIGltcG9ydCB0cmFj ZWJhY2syIGFzIHRyYWNlYmFjaworICAgICB0cmFjZWJhY2tfbW9kbmFtZSA9ICJ0cmFjZWJhY2sy IgorIGVsc2U6CisgICAgICMgcHlsaW50OiBkaXNhYmxlPXVudXNlZC1pbXBvcnQKKy0gICAgaW1w b3J0IHRyYWNlYmFjaworICAgICB0cmFjZWJhY2tfbW9kbmFtZSA9ICJ0cmFjZWJhY2siCisgCisg CistCistIyAtLSBDT05WRU5JRU5DRS1BTElBUzoKKy1fdGV4dCA9IHNpeC50ZXh0X3R5cGUKKy0K Ky0KKyBjbGFzcyBUZXN0RmVhdHVyZVJ1bih1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICMgcHls aW50OiBkaXNhYmxlPWludmFsaWQtbmFtZQorIAorQEAgLTc2OSwxMTEgKzc2MiwzIEBAIGNsYXNz IFRlc3RNb2RlbFJvdyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBhc3NlcnQgZGF0YTFb Im5hbWUiXSA9PSB1IkFsaWNlIgorICAgICAgICAgYXNzZXJ0IGRhdGExWyJzZXgiXSA9PSB1ImZl bWFsZSIKKyAgICAgICAgIGFzc2VydCBkYXRhMVsiYWdlIl0gPT0gdSIxMiIKKy0KKy0KKy1jbGFz cyBUZXN0RmlsZUxvY2F0aW9uKHVuaXR0ZXN0LlRlc3RDYXNlKToKKy0gICAgIyBweWxpbnQ6IGRp c2FibGU9aW52YWxpZC1uYW1lCistICAgIG9yZGVyZWRfbG9jYXRpb25zMSA9IFsKKy0gICAgICAg IEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVyZSIsIDEpLAorLSAgICAgICAgRmls ZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgNSksCistICAgICAgICBGaWxlTG9j YXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAxMCksCistICAgICAgICBGaWxlTG9jYXRp b24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAxMSksCistICAgICAgICBGaWxlTG9jYXRpb24o ImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAxMDApLAorLSAgICBdCistICAgIG9yZGVyZWRfbG9j YXRpb25zMiA9IFsKKy0gICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVhdHVy ZSIsIDEpLAorLSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwg MTApLAorLSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9ib2IuZmVhdHVyZSIsIDUpLAor LSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9jaGFybHkuZmVhdHVyZSIsIE5vbmUpLAor LSAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9jaGFybHkuZmVhdHVyZSIsIDApLAorLSAg ICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9jaGFybHkuZmVhdHVyZSIsIDEwMCksCistICAg IF0KKy0gICAgc2FtZV9sb2NhdGlvbnMgPSBbCistICAgICAgICAoRmlsZUxvY2F0aW9uKCJhbGlj ZS5mZWF0dXJlIiksCistICAgICAgICAgRmlsZUxvY2F0aW9uKCJhbGljZS5mZWF0dXJlIiwgTm9u ZSksCistICAgICAgICApLAorLSAgICAgICAgKEZpbGVMb2NhdGlvbigiYWxpY2UuZmVhdHVyZSIs IDEwKSwKKy0gICAgICAgICBGaWxlTG9jYXRpb24oImFsaWNlLmZlYXR1cmUiLCAxMCksCistICAg ICAgICApLAorLSAgICAgICAgKEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYm9iLmZlYXR1cmUiLCAx MSksCistICAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9ib2IuZmVhdHVyZSIsIDExKSwK Ky0gICAgICAgICksCistICAgIF0KKy0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9lcXVhbChzZWxm KToKKy0gICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiBzZWxmLnNhbWVfbG9jYXRpb25zOgor LSAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPT0gdmFsdWUyCistCistICAgIGRlZiB0ZXN0X2Nv bXBhcmVfZXF1YWxfd2l0aF9zdHJpbmcoc2VsZik6CistICAgICAgICBmb3IgbG9jYXRpb24gaW4g c2VsZi5vcmRlcmVkX2xvY2F0aW9uczI6CistICAgICAgICAgICAgYXNzZXJ0IGxvY2F0aW9uID09 IGxvY2F0aW9uLmZpbGVuYW1lCistICAgICAgICAgICAgYXNzZXJ0IGxvY2F0aW9uLmZpbGVuYW1l ID09IGxvY2F0aW9uCistCistICAgIGRlZiB0ZXN0X2NvbXBhcmVfbm90X2VxdWFsKHNlbGYpOgor LSAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6CistICAg ICAgICAgICAgYXNzZXJ0IG5vdCh2YWx1ZTEgIT0gdmFsdWUyKSAgICAjIHB5bGludDogZGlzYWJs ZT11bm5lZWRlZC1ub3QsIHN1cGVyZmx1b3VzLXBhcmVucworLQorLSAgICAgICAgZm9yIGxvY2F0 aW9ucyBpbiBbc2VsZi5vcmRlcmVkX2xvY2F0aW9uczEsIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMy XToKKy0gICAgICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywgbG9j YXRpb25zWzE6XSk6CistICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgIT0gdmFsdWUyCist CistICAgIGRlZiB0ZXN0X2NvbXBhcmVfbGVzc190aGFuKHNlbGYpOgorLSAgICAgICAgZm9yIGxv Y2F0aW9ucyBpbiBbc2VsZi5vcmRlcmVkX2xvY2F0aW9uczEsIHNlbGYub3JkZXJlZF9sb2NhdGlv bnMyXToKKy0gICAgICAgICAgICBmb3IgdmFsdWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywg bG9jYXRpb25zWzE6XSk6CistICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPCB2YWx1ZTIs ICJGQUlMRUQ6ICVzIDwgJXMiICUgKF90ZXh0KHZhbHVlMSksIF90ZXh0KHZhbHVlMikpCistICAg ICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgIT0gdmFsdWUyCistCistICAgIGRlZiB0ZXN0X2Nv bXBhcmVfbGVzc190aGFuX3dpdGhfc3RyaW5nKHNlbGYpOgorLSAgICAgICAgbG9jYXRpb25zID0g c2VsZi5vcmRlcmVkX2xvY2F0aW9uczIKKy0gICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6 aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKy0gICAgICAgICAgICBpZiB2YWx1ZTEuZmls ZW5hbWUgPT0gdmFsdWUyLmZpbGVuYW1lOgorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLSAg ICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPCB2YWx1ZTIuZmlsZW5hbWUsIFwKKy0gICAgICAgICAg ICAgICAgICAgIkZBSUxFRDogJXMgPCAlcyIgJSAoX3RleHQodmFsdWUxKSwgX3RleHQodmFsdWUy LmZpbGVuYW1lKSkKKy0gICAgICAgICAgICBhc3NlcnQgdmFsdWUxLmZpbGVuYW1lIDwgdmFsdWUy LCBcCistICAgICAgICAgICAgICAgICAgICJGQUlMRUQ6ICVzIDwgJXMiICUgKF90ZXh0KHZhbHVl MS5maWxlbmFtZSksIF90ZXh0KHZhbHVlMikpCistCistICAgIGRlZiB0ZXN0X2NvbXBhcmVfZ3Jl YXRlcl90aGFuKHNlbGYpOgorLSAgICAgICAgZm9yIGxvY2F0aW9ucyBpbiBbc2VsZi5vcmRlcmVk X2xvY2F0aW9uczEsIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyXToKKy0gICAgICAgICAgICBmb3Ig dmFsdWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywgbG9jYXRpb25zWzE6XSk6CistICAgICAg ICAgICAgICAgIGFzc2VydCB2YWx1ZTIgPiB2YWx1ZTEsICJGQUlMRUQ6ICVzID4gJXMiICUgKF90 ZXh0KHZhbHVlMiksIF90ZXh0KHZhbHVlMSkpCistICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1 ZTIgIT0gdmFsdWUxCistCistICAgIGRlZiB0ZXN0X2NvbXBhcmVfbGVzc19vcl9lcXVhbChzZWxm KToKKy0gICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiBzZWxmLnNhbWVfbG9jYXRpb25zOgor LSAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPD0gdmFsdWUyLCAiRkFJTEVEOiAlcyA8PSAlcyIg JSAoX3RleHQodmFsdWUxKSwgX3RleHQodmFsdWUyKSkKKy0gICAgICAgICAgICBhc3NlcnQgdmFs dWUxID09IHZhbHVlMgorLQorLSAgICAgICAgZm9yIGxvY2F0aW9ucyBpbiBbc2VsZi5vcmRlcmVk X2xvY2F0aW9uczEsIHNlbGYub3JkZXJlZF9sb2NhdGlvbnMyXToKKy0gICAgICAgICAgICBmb3Ig dmFsdWUxLCB2YWx1ZTIgaW4gemlwKGxvY2F0aW9ucywgbG9jYXRpb25zWzE6XSk6CistICAgICAg ICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPD0gdmFsdWUyLCAiRkFJTEVEOiAlcyA8PSAlcyIgJSAo X3RleHQodmFsdWUxKSwgX3RleHQodmFsdWUyKSkKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHZh bHVlMSAhPSB2YWx1ZTIKKy0KKy0gICAgZGVmIHRlc3RfY29tcGFyZV9ncmVhdGVyX29yX2VxdWFs KHNlbGYpOgorLSAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHNlbGYuc2FtZV9sb2NhdGlv bnM6CistICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiA+PSB2YWx1ZTEsICJGQUlMRUQ6ICVzID49 ICVzIiAlIChfdGV4dCh2YWx1ZTIpLCBfdGV4dCh2YWx1ZTEpKQorLSAgICAgICAgICAgIGFzc2Vy dCB2YWx1ZTIgPT0gdmFsdWUxCistCistICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9y ZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorLSAgICAgICAgICAg IGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKy0g ICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiA+PSB2YWx1ZTEsICJGQUlMRUQ6ICVzID49ICVz IiAlIChfdGV4dCh2YWx1ZTIpLCBfdGV4dCh2YWx1ZTEpKQorLSAgICAgICAgICAgICAgICBhc3Nl cnQgdmFsdWUyICE9IHZhbHVlMQorLQorLSAgICBkZWYgdGVzdF9maWxlbmFtZV9zaG91bGRfYmVf c2FtZV9hc19zZWxmKHNlbGYpOgorLSAgICAgICAgZm9yIGxvY2F0aW9uIGluIHNlbGYub3JkZXJl ZF9sb2NhdGlvbnMyOgorLSAgICAgICAgICAgIGFzc2VydCBsb2NhdGlvbiA9PSBsb2NhdGlvbi5m aWxlbmFtZQorLSAgICAgICAgICAgIGFzc2VydCBsb2NhdGlvbi5maWxlbmFtZSA9PSBsb2NhdGlv bgorLQorLSAgICBkZWYgdGVzdF9zdHJpbmdfY29udmVyc2lvbihzZWxmKToKKy0gICAgICAgIGZv ciBsb2NhdGlvbiBpbiBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMjoKKy0gICAgICAgICAgICBleHBl Y3RlZCA9IHUiJXM6JXMiICUgKGxvY2F0aW9uLmZpbGVuYW1lLCBsb2NhdGlvbi5saW5lKQorLSAg ICAgICAgICAgIGlmIGxvY2F0aW9uLmxpbmUgaXMgTm9uZToKKy0gICAgICAgICAgICAgICAgZXhw ZWN0ZWQgPSBsb2NhdGlvbi5maWxlbmFtZQorLSAgICAgICAgICAgIGFzc2VydCBzaXgudGV4dF90 eXBlKGxvY2F0aW9uKSA9PSBleHBlY3RlZAorLQorLSAgICBkZWYgdGVzdF9yZXByX2NvbnZlcnNp b24oc2VsZik6CistICAgICAgICBmb3IgbG9jYXRpb24gaW4gc2VsZi5vcmRlcmVkX2xvY2F0aW9u czI6CistICAgICAgICAgICAgZXhwZWN0ZWQgPSB1JzxGaWxlTG9jYXRpb246IGZpbGVuYW1lPSIl cyIsIGxpbmU9JXM+JyAlIFwKKy0gICAgICAgICAgICAgICAgICAgICAgIChsb2NhdGlvbi5maWxl bmFtZSwgbG9jYXRpb24ubGluZSkKKy0gICAgICAgICAgICBhY3R1YWwgPSByZXByKGxvY2F0aW9u KQorLSAgICAgICAgICAgIGFzc2VydCBhY3R1YWwgPT0gZXhwZWN0ZWQsICJGQUlMRUQ6ICVzID09 ICVzIiAlIChhY3R1YWwsIGV4cGVjdGVkKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9t b2RlbDIucHkgYi90ZXN0cy91bml0L3Rlc3RfbW9kZWwyLnB5CitpbmRleCA3ODg0YjkwLi5hODZi ODBlIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X21vZGVsMi5weQorKysrIGIvdGVzdHMv dW5pdC90ZXN0X21vZGVsMi5weQorQEAgLTM1LDEwICszNSw2IEBAIGRlZiBzdGVwX3RvX3RleHQo c3RlcCwgaW5kZW50YXRpb249IiAgICAiKToKKyAgICAgcmV0dXJuIHN0ZXBfdGV4dC5yc3RyaXAo KQorIAorIAorLSMgLS0gUFlURVNUIE1BUktFUlMvQU5OT1RBVElPTlM6Cistbm90X2ltcGxlbWVu dGVkX3lldCA9IHB5dGVzdC5tYXJrLnNraXAoIk5PVC1JTVBMRU1FTlRFRC1ZRVQiKQorLQorLQor ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgVEVTVCBTVUlURToKKyAjIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3RfbW9kZWxfY29yZS5weSBiL3Rlc3Rz L3VuaXQvdGVzdF9tb2RlbF9jb3JlLnB5CitpbmRleCBiNWYyMGM0Li4zY2I1ZWZhIDEwMDY0NAor LS0tIGEvdGVzdHMvdW5pdC90ZXN0X21vZGVsX2NvcmUucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVz dF9tb2RlbF9jb3JlLnB5CitAQCAtNCwxMCArNCwxNiBAQAorICIiIgorIAorIGZyb20gX19mdXR1 cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKy1mcm9tIGJlaGF2ZS5tb2RlbF9jb3JlIGltcG9y dCBTdGF0dXMKKytpbXBvcnQgc2l4CisrZnJvbSBiZWhhdmUubW9kZWxfY29yZSBpbXBvcnQgU3Rh dHVzLCBGaWxlTG9jYXRpb24KKyBpbXBvcnQgcHl0ZXN0CisgCisgCisrIyAtLSBDT05WRU5JRU5D RS1BTElBUzoKKytfdGV4dCA9IHNpeC50ZXh0X3R5cGUKKysKKysKKysKKyAjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgIyBURVNUUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtNTQsMyAr NjAsMTExIEBAIGNsYXNzIFRlc3RTdGF0dXMob2JqZWN0KToKKyAgICAgZGVmIHRlc3RfZnJvbV9u YW1lX193aXRoX3Vua25vd25fbmFtZV9yYWlzZXNfbG9va3VwZXJyb3Ioc2VsZiwgdW5rbm93bl9u YW1lKToKKyAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhMb29rdXBFcnJvcik6CisgICAgICAg ICAgICAgU3RhdHVzLmZyb21fbmFtZSh1bmtub3duX25hbWUpCisrCisrCisrY2xhc3MgVGVzdEZp bGVMb2NhdGlvbihvYmplY3QpOgorKyAgICAjIHB5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUK KysgICAgb3JkZXJlZF9sb2NhdGlvbnMxID0gWworKyAgICAgICAgRmlsZUxvY2F0aW9uKCJmZWF0 dXJlcy9hbGljZS5mZWF0dXJlIiwgMSksCisrICAgICAgICBGaWxlTG9jYXRpb24oImZlYXR1cmVz L2FsaWNlLmZlYXR1cmUiLCA1KSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxp Y2UuZmVhdHVyZSIsIDEwKSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2Uu ZmVhdHVyZSIsIDExKSwKKysgICAgICAgIEZpbGVMb2NhdGlvbigiZmVhdHVyZXMvYWxpY2UuZmVh dHVyZSIsIDEwMCksCisrICAgIF0KKysgICAgb3JkZXJlZF9sb2NhdGlvbnMyID0gWworKyAgICAg ICAgRmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9hbGljZS5mZWF0dXJlIiwgMSksCisrICAgICAgICBG aWxlTG9jYXRpb24oImZlYXR1cmVzL2FsaWNlLmZlYXR1cmUiLCAxMCksCisrICAgICAgICBGaWxl TG9jYXRpb24oImZlYXR1cmVzL2JvYi5mZWF0dXJlIiwgNSksCisrICAgICAgICBGaWxlTG9jYXRp b24oImZlYXR1cmVzL2NoYXJseS5mZWF0dXJlIiwgTm9uZSksCisrICAgICAgICBGaWxlTG9jYXRp b24oImZlYXR1cmVzL2NoYXJseS5mZWF0dXJlIiwgMCksCisrICAgICAgICBGaWxlTG9jYXRpb24o ImZlYXR1cmVzL2NoYXJseS5mZWF0dXJlIiwgMTAwKSwKKysgICAgXQorKyAgICBzYW1lX2xvY2F0 aW9ucyA9IFsKKysgICAgICAgIChGaWxlTG9jYXRpb24oImFsaWNlLmZlYXR1cmUiKSwKKysgICAg ICAgICBGaWxlTG9jYXRpb24oImFsaWNlLmZlYXR1cmUiLCBOb25lKSwKKysgICAgICAgICksCisr ICAgICAgICAoRmlsZUxvY2F0aW9uKCJhbGljZS5mZWF0dXJlIiwgMTApLAorKyAgICAgICAgIEZp bGVMb2NhdGlvbigiYWxpY2UuZmVhdHVyZSIsIDEwKSwKKysgICAgICAgICksCisrICAgICAgICAo RmlsZUxvY2F0aW9uKCJmZWF0dXJlcy9ib2IuZmVhdHVyZSIsIDExKSwKKysgICAgICAgICBGaWxl TG9jYXRpb24oImZlYXR1cmVzL2JvYi5mZWF0dXJlIiwgMTEpLAorKyAgICAgICAgKSwKKysgICAg XQorKworKyAgICBkZWYgdGVzdF9jb21wYXJlX2VxdWFsKHNlbGYpOgorKyAgICAgICAgZm9yIHZh bHVlMSwgdmFsdWUyIGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6CisrICAgICAgICAgICAgYXNzZXJ0 IHZhbHVlMSA9PSB2YWx1ZTIKKysKKysgICAgZGVmIHRlc3RfY29tcGFyZV9lcXVhbF93aXRoX3N0 cmluZyhzZWxmKToKKysgICAgICAgIGZvciBsb2NhdGlvbiBpbiBzZWxmLm9yZGVyZWRfbG9jYXRp b25zMjoKKysgICAgICAgICAgICBhc3NlcnQgbG9jYXRpb24gPT0gbG9jYXRpb24uZmlsZW5hbWUK KysgICAgICAgICAgICBhc3NlcnQgbG9jYXRpb24uZmlsZW5hbWUgPT0gbG9jYXRpb24KKysKKysg ICAgZGVmIHRlc3RfY29tcGFyZV9ub3RfZXF1YWwoc2VsZik6CisrICAgICAgICBmb3IgdmFsdWUx LCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xvY2F0aW9uczoKKysgICAgICAgICAgICBhc3NlcnQgbm90 KHZhbHVlMSAhPSB2YWx1ZTIpICAgICMgcHlsaW50OiBkaXNhYmxlPXVubmVlZGVkLW5vdCwgc3Vw ZXJmbHVvdXMtcGFyZW5zCisrCisrICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVy ZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorKyAgICAgICAgICAgIGZv ciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKysgICAg ICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSAhPSB2YWx1ZTIKKysKKysgICAgZGVmIHRlc3RfY29t cGFyZV9sZXNzX3RoYW4oc2VsZik6CisrICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9y ZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5vcmRlcmVkX2xvY2F0aW9uczJdOgorKyAgICAgICAgICAg IGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKysg ICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMSA8IHZhbHVlMiwgIkZBSUxFRDogJXMgPCAlcyIg JSAoX3RleHQodmFsdWUxKSwgX3RleHQodmFsdWUyKSkKKysgICAgICAgICAgICAgICAgYXNzZXJ0 IHZhbHVlMSAhPSB2YWx1ZTIKKysKKysgICAgZGVmIHRlc3RfY29tcGFyZV9sZXNzX3RoYW5fd2l0 aF9zdHJpbmcoc2VsZik6CisrICAgICAgICBsb2NhdGlvbnMgPSBzZWxmLm9yZGVyZWRfbG9jYXRp b25zMgorKyAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUyIGluIHppcChsb2NhdGlvbnMsIGxvY2F0 aW9uc1sxOl0pOgorKyAgICAgICAgICAgIGlmIHZhbHVlMS5maWxlbmFtZSA9PSB2YWx1ZTIuZmls ZW5hbWU6CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrICAgICAgICAgICAgYXNzZXJ0IHZh bHVlMSA8IHZhbHVlMi5maWxlbmFtZSwgXAorKyAgICAgICAgICAgICAgICAgICAiRkFJTEVEOiAl cyA8ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBfdGV4dCh2YWx1ZTIuZmlsZW5hbWUpKQorKyAgICAg ICAgICAgIGFzc2VydCB2YWx1ZTEuZmlsZW5hbWUgPCB2YWx1ZTIsIFwKKysgICAgICAgICAgICAg ICAgICAgIkZBSUxFRDogJXMgPCAlcyIgJSAoX3RleHQodmFsdWUxLmZpbGVuYW1lKSwgX3RleHQo dmFsdWUyKSkKKysKKysgICAgZGVmIHRlc3RfY29tcGFyZV9ncmVhdGVyX3RoYW4oc2VsZik6Cisr ICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5v cmRlcmVkX2xvY2F0aW9uczJdOgorKyAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6 aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZh bHVlMiA+IHZhbHVlMSwgIkZBSUxFRDogJXMgPiAlcyIgJSAoX3RleHQodmFsdWUyKSwgX3RleHQo dmFsdWUxKSkKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiAhPSB2YWx1ZTEKKysKKysg ICAgZGVmIHRlc3RfY29tcGFyZV9sZXNzX29yX2VxdWFsKHNlbGYpOgorKyAgICAgICAgZm9yIHZh bHVlMSwgdmFsdWUyIGluIHNlbGYuc2FtZV9sb2NhdGlvbnM6CisrICAgICAgICAgICAgYXNzZXJ0 IHZhbHVlMSA8PSB2YWx1ZTIsICJGQUlMRUQ6ICVzIDw9ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBf dGV4dCh2YWx1ZTIpKQorKyAgICAgICAgICAgIGFzc2VydCB2YWx1ZTEgPT0gdmFsdWUyCisrCisr ICAgICAgICBmb3IgbG9jYXRpb25zIGluIFtzZWxmLm9yZGVyZWRfbG9jYXRpb25zMSwgc2VsZi5v cmRlcmVkX2xvY2F0aW9uczJdOgorKyAgICAgICAgICAgIGZvciB2YWx1ZTEsIHZhbHVlMiBpbiB6 aXAobG9jYXRpb25zLCBsb2NhdGlvbnNbMTpdKToKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHZh bHVlMSA8PSB2YWx1ZTIsICJGQUlMRUQ6ICVzIDw9ICVzIiAlIChfdGV4dCh2YWx1ZTEpLCBfdGV4 dCh2YWx1ZTIpKQorKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsdWUxICE9IHZhbHVlMgorKwor KyAgICBkZWYgdGVzdF9jb21wYXJlX2dyZWF0ZXJfb3JfZXF1YWwoc2VsZik6CisrICAgICAgICBm b3IgdmFsdWUxLCB2YWx1ZTIgaW4gc2VsZi5zYW1lX2xvY2F0aW9uczoKKysgICAgICAgICAgICBh c3NlcnQgdmFsdWUyID49IHZhbHVlMSwgIkZBSUxFRDogJXMgPj0gJXMiICUgKF90ZXh0KHZhbHVl MiksIF90ZXh0KHZhbHVlMSkpCisrICAgICAgICAgICAgYXNzZXJ0IHZhbHVlMiA9PSB2YWx1ZTEK KysKKysgICAgICAgIGZvciBsb2NhdGlvbnMgaW4gW3NlbGYub3JkZXJlZF9sb2NhdGlvbnMxLCBz ZWxmLm9yZGVyZWRfbG9jYXRpb25zMl06CisrICAgICAgICAgICAgZm9yIHZhbHVlMSwgdmFsdWUy IGluIHppcChsb2NhdGlvbnMsIGxvY2F0aW9uc1sxOl0pOgorKyAgICAgICAgICAgICAgICBhc3Nl cnQgdmFsdWUyID49IHZhbHVlMSwgIkZBSUxFRDogJXMgPj0gJXMiICUgKF90ZXh0KHZhbHVlMiks IF90ZXh0KHZhbHVlMSkpCisrICAgICAgICAgICAgICAgIGFzc2VydCB2YWx1ZTIgIT0gdmFsdWUx CisrCisrICAgIGRlZiB0ZXN0X2ZpbGVuYW1lX3Nob3VsZF9iZV9zYW1lX2FzX3NlbGYoc2VsZik6 CisrICAgICAgICBmb3IgbG9jYXRpb24gaW4gc2VsZi5vcmRlcmVkX2xvY2F0aW9uczI6CisrICAg ICAgICAgICAgYXNzZXJ0IGxvY2F0aW9uID09IGxvY2F0aW9uLmZpbGVuYW1lCisrICAgICAgICAg ICAgYXNzZXJ0IGxvY2F0aW9uLmZpbGVuYW1lID09IGxvY2F0aW9uCisrCisrICAgIGRlZiB0ZXN0 X3N0cmluZ19jb252ZXJzaW9uKHNlbGYpOgorKyAgICAgICAgZm9yIGxvY2F0aW9uIGluIHNlbGYu b3JkZXJlZF9sb2NhdGlvbnMyOgorKyAgICAgICAgICAgIGV4cGVjdGVkID0gdSIlczolcyIgJSAo bG9jYXRpb24uZmlsZW5hbWUsIGxvY2F0aW9uLmxpbmUpCisrICAgICAgICAgICAgaWYgbG9jYXRp b24ubGluZSBpcyBOb25lOgorKyAgICAgICAgICAgICAgICBleHBlY3RlZCA9IGxvY2F0aW9uLmZp bGVuYW1lCisrICAgICAgICAgICAgYXNzZXJ0IHNpeC50ZXh0X3R5cGUobG9jYXRpb24pID09IGV4 cGVjdGVkCisrCisrICAgIGRlZiB0ZXN0X3JlcHJfY29udmVyc2lvbihzZWxmKToKKysgICAgICAg IGZvciBsb2NhdGlvbiBpbiBzZWxmLm9yZGVyZWRfbG9jYXRpb25zMjoKKysgICAgICAgICAgICBl eHBlY3RlZCA9IHUnPEZpbGVMb2NhdGlvbjogZmlsZW5hbWU9IiVzIiwgbGluZT0lcz4nICUgXAor KyAgICAgICAgICAgICAgICAgICAgICAgKGxvY2F0aW9uLmZpbGVuYW1lLCBsb2NhdGlvbi5saW5l KQorKyAgICAgICAgICAgIGFjdHVhbCA9IHJlcHIobG9jYXRpb24pCisrICAgICAgICAgICAgYXNz ZXJ0IGFjdHVhbCA9PSBleHBlY3RlZCwgIkZBSUxFRDogJXMgPT0gJXMiICUgKGFjdHVhbCwgZXhw ZWN0ZWQpCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X3BhcnNlcl9naGVya2luX3Y2LnB5 IGIvdGVzdHMvdW5pdC90ZXN0X3BhcnNlcl9naGVya2luX3Y2LnB5CitpbmRleCA5OTFhNTdkLi40 M2UzZDQxIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X3BhcnNlcl9naGVya2luX3Y2LnB5 CisrKysgYi90ZXN0cy91bml0L3Rlc3RfcGFyc2VyX2doZXJraW5fdjYucHkKK0BAIC0yMjcsNyAr MjI3LDkgQEAgRmVhdHVyZTogV2l0aCBSdWxlCisgICAgICAgICBhc3NlcnQgcnVsZTEuZGVzY3Jp cHRpb24gPT0gW10KKyAgICAgICAgIGFzc2VydCBydWxlMS50YWdzID09IFtdCisgICAgICAgICBh c3NlcnQgbGVuKHJ1bGUxLnNjZW5hcmlvcykgPT0gMQorLSAgICAgICAgYXNzZXJ0IHJ1bGUxLmJh Y2tncm91bmQgaXMgZmVhdHVyZS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFj a2dyb3VuZCBpcyBub3QgZmVhdHVyZS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgcnVsZTEu YmFja2dyb3VuZC5pbmhlcml0ZWRfc3RlcHMgPT0gZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzCisr ICAgICAgICBhc3NlcnQgbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFsbF9zdGVwcykgPT0gZmVhdHVy ZS5iYWNrZ3JvdW5kLnN0ZXBzCisgICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhydWxlMS5z Y2VuYXJpb3NbMF0uYWxsX3N0ZXBzLCBbCisgICAgICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIs ICJmZWF0dXJlIGJhY2tncm91bmQgc3RlcCAxIiwgTm9uZSwgTm9uZSksCisgICAgICAgICAgICAg KCJ3aGVuIiwgIldoZW4iLCAiZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXAgMiIsIE5vbmUsIE5vbmUp LAorQEAgLTIzNSw3ICsyMzcsNyBAQCBGZWF0dXJlOiBXaXRoIFJ1bGUKKyAgICAgICAgICAgICAo IndoZW4iLCAiV2hlbiIsICJzY2VuYXJpbyBzdGVwIDIiLCBOb25lLCBOb25lKSwKKyAgICAgICAg IF0pCisgCistICAgIGRlZiB0ZXN0X3BhcnNlc19ydWxlX3dpdGhfYmFja2dyb3VuZF9zaG91bGRf bm90X2luaGVyaXRfZmVhdHVyZV9iYWNrZ3JvdW5kKHNlbGYpOgorKyAgICBkZWYgdGVzdF9wYXJz ZXNfcnVsZV93aXRoX2JhY2tncm91bmRfaW5oZXJpdHNfZmVhdHVyZV9iYWNrZ3JvdW5kKHNlbGYp OgorICAgICAgICAgIiIiSWYgYSBSdWxlIGhhcyBubyBCYWNrZ3JvdW5kLAorICAgICAgICAgaXQg aW5oZXJpdHMgdGhlIEZlYXR1cmUncyBCYWNrZ3JvdW5kIChpZiBvbmUgZXhpc3RzKS4KKyAgICAg ICAgICIiIgorQEAgLTI2OSwxMyArMjcxLDE1IEBAIEZlYXR1cmU6IFdpdGggUnVsZQorICAgICAg ICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IE5vbmUKKyAgICAgICAgIGFzc2VydCBy dWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKyAgICAgICAgIGFzc2Vy dF9jb21wYXJlX3N0ZXBzKHJ1bGUxLnNjZW5hcmlvc1swXS5hbGxfc3RlcHMsIFsKKysgICAgICAg ICAgICAoImdpdmVuIiwgIkdpdmVuIiwgImZlYXR1cmUgYmFja2dyb3VuZCBzdGVwIDEiLCBOb25l LCBOb25lKSwKKysgICAgICAgICAgICAoIndoZW4iLCAgIldoZW4iLCAgImZlYXR1cmUgYmFja2dy b3VuZCBzdGVwIDIiLCBOb25lLCBOb25lKSwKKyAgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVu IiwgInJ1bGUgYmFja2dyb3VuZCBzdGVwIDEiLCBOb25lLCBOb25lKSwKKy0gICAgICAgICAgICAo IndoZW4iLCAiV2hlbiIsICJydWxlIGJhY2tncm91bmQgc3RlcCAyIiwgTm9uZSwgTm9uZSksCisr ICAgICAgICAgICAgKCJ3aGVuIiwgICJXaGVuIiwgICJydWxlIGJhY2tncm91bmQgc3RlcCAyIiwg Tm9uZSwgTm9uZSksCisgICAgICAgICAgICAgKCJnaXZlbiIsICJHaXZlbiIsICJzY2VuYXJpbyBz dGVwIDEiLCBOb25lLCBOb25lKSwKKy0gICAgICAgICAgICAoIndoZW4iLCAiV2hlbiIsICJzY2Vu YXJpbyBzdGVwIDIiLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAoIndoZW4iLCAgIldoZW4i LCAgInNjZW5hcmlvIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAKKy0gICAg ZGVmIHRlc3RfcGFyc2VzX3J1bGVfd2l0aF9lbXB0eV9iYWNrZ3JvdW5kX3ByZXZlbnRzX2luaGVy aXRpbmdfZmVhdHVyZV9iYWNrZ3JvdW5kKHNlbGYpOgorKyAgICBkZWYgdGVzdF9wYXJzZXNfcnVs ZV93aXRoX2VtcHR5X2JhY2tncm91bmRfaW5oZXJpdHNfZmVhdHVyZV9iYWNrZ3JvdW5kKHNlbGYp OgorICAgICAgICAgIiIiQSBSdWxlIGhhcyBlbXB0eSBCYWNrZ3JvdW5kICh3aXRob3V0IGFueSBz dGVwcykgcHJldmVudHMgdGhhdAorICAgICAgICAgRmVhdHVyZSBCYWNrZ3JvdW5kIGlzIGluaGVy aXRlZCAoaWYgb25lIGV4aXN0cykuCisgICAgICAgICAiIiIKK0BAIC0zMDgsOCArMzEyLDEwIEBA IEZlYXR1cmU6IFdpdGggUnVsZQorICAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMg bm90IGZlYXR1cmUuYmFja2dyb3VuZAorICAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQu bmFtZSA9PSAiUnVsZV9SM0MuRW1wdHlfQmFja2dyb3VuZCIKKyAgICAgICAgIGFzc2VydF9jb21w YXJlX3N0ZXBzKHJ1bGUxLnNjZW5hcmlvc1swXS5hbGxfc3RlcHMsIFsKKysgICAgICAgICAgICAo ImdpdmVuIiwgIkdpdmVuIiwgImZlYXR1cmUgYmFja2dyb3VuZCBzdGVwIDEiLCBOb25lLCBOb25l KSwKKysgICAgICAgICAgICAoIndoZW4iLCAgIldoZW4iLCAgImZlYXR1cmUgYmFja2dyb3VuZCBz dGVwIDIiLCBOb25lLCBOb25lKSwKKyAgICAgICAgICAgICAoImdpdmVuIiwgIkdpdmVuIiwgInNj ZW5hcmlvIHN0ZXAgMSIsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJXaGVu IiwgInNjZW5hcmlvIHN0ZXAgMiIsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIs ICAiV2hlbiIsICJzY2VuYXJpbyBzdGVwIDIiLCBOb25lLCBOb25lKSwKKyAgICAgICAgIF0pCisg CisgICAgIGRlZiB0ZXN0X3BhcnNlc19ydWxlX3dpdGhfc2NlbmFyaW8oc2VsZik6CitAQCAtNTU4 LDYgKzU2NCw3IEBAIEZlYXR1cmU6IFdpdGggUnVsZQorICAgICAgICAgICAgICgid2hlbiIsICJX aGVuIiwgJ3N0ZXAgdXNlcyAiMiInLCBOb25lLCBOb25lKSwKKyAgICAgICAgIF0pCisgCisrICAg ICMgQGNoZWNrLmR1cGxpY2F0ZWQKKyAgICAgZGVmIHRlc3RfcGFyc2VfYmFja2dyb3VuZF9zY2Vu YXJpb19hbmRfcnVsZXMoc2VsZik6CisgICAgICAgICAiIiJISU5UOiBTb21lIFNjZW5hcmlvcyBt YXkgZXhpc3QgYmVmb3JlIHRoZSBmaXJzdCBSdWxlLiIiIgorICAgICAgICAgdGV4dCA9IHUnJycK K0BAIC02MDYsMTAgKzYxMywxMCBAQCBGZWF0dXJlOiBXaXRoIFNjZW5hcmlvcyBhbmQgUnVsZXMK KyAgICAgICAgIGFzc2VydCBzY2VuYXJpbzEudGFncyA9PSBbXQorICAgICAgICAgYXNzZXJ0IHNj ZW5hcmlvMS5kZXNjcmlwdGlvbiA9PSBbXQorICAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMo c2NlbmFyaW8xLmFsbF9zdGVwcywgWworLSAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAn ZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgi d2hlbiIsICJXaGVuIiwgICAnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMicsIE5vbmUsIE5vbmUp LAorLSAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAnc2NlbmFyaW9fMSBzdGVwXzEnLCBO b25lLCBOb25lKSwKKy0gICAgICAgICAgICAoIndoZW4iLCAiV2hlbiIsICAgJ3NjZW5hcmlvXzEg c3RlcF8yJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwg dSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAg KHUid2hlbiIsIHUiV2hlbiIsICAgdSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8yJywgTm9uZSwg Tm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdzY2VuYXJpb18xIHN0 ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICh1IndoZW4iLCB1IldoZW4iLCAgIHUn c2NlbmFyaW9fMSBzdGVwXzInLCBOb25lLCBOb25lKSwKKyAgICAgICAgIF0pCisgCisgICAgICAg ICBhc3NlcnQgcnVsZTEubmFtZSA9PSAiUjEiCitAQCAtNjIzLDkgKzYzMCwxMSBAQCBGZWF0dXJl OiBXaXRoIFNjZW5hcmlvcyBhbmQgUnVsZXMKKyAgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJp bzEucGFyZW50IGlzIHJ1bGUxCisgICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmZlYXR1 cmUgaXMgZmVhdHVyZQorICAgICAgICAgYXNzZXJ0X2NvbXBhcmVfc3RlcHMocnVsZTFfc2NlbmFy aW8xLmFsbF9zdGVwcywgWworKyAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAnZmVhdHVy ZSBiYWNrZ3JvdW5kIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgICAgICgid2hlbiIs ICAiV2hlbiIsICAnZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorICAg ICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAncnVsZSBSMSBiYWNrZ3JvdW5kIHN0ZXBfMScs IE5vbmUsIE5vbmUpLAorICAgICAgICAgICAgICgiZ2l2ZW4iLCAiR2l2ZW4iLCAncnVsZSBSMSBz Y2VuYXJpb18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorLSAgICAgICAgICAgICgid2hlbiIsICJX aGVuIiwgICAncnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMicsIE5vbmUsIE5vbmUpLAorKyAgICAg ICAgICAgICgid2hlbiIsICAiV2hlbiIsICAncnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMicsIE5v bmUsIE5vbmUpLAorICAgICAgICAgXSkKKyAKKyAgICAgICAgIGFzc2VydCBydWxlMi5uYW1lID09 ICJSMiIKK0BAIC02MzMsMTYgKzY0MiwzMTggQEAgRmVhdHVyZTogV2l0aCBTY2VuYXJpb3MgYW5k IFJ1bGVzCisgICAgICAgICBhc3NlcnQgcnVsZTIuZmVhdHVyZSBpcyBmZWF0dXJlCisgICAgICAg ICBhc3NlcnQgcnVsZTIuZGVzY3JpcHRpb24gPT0gW10KKyAgICAgICAgIGFzc2VydCBydWxlMi50 YWdzID09IFtdCistICAgICAgICBhc3NlcnQgcnVsZTIuYmFja2dyb3VuZCBpcyBmZWF0dXJlLmJh Y2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMi5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJl LmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBsaXN0KHJ1bGUyLmJhY2tncm91bmQuaW5oZXJp dGVkX3N0ZXBzKSA9PSBsaXN0KGZlYXR1cmUuYmFja2dyb3VuZC5zdGVwcykKKysgICAgICAgIGFz c2VydCBsaXN0KHJ1bGUyLmJhY2tncm91bmQuYWxsX3N0ZXBzKSA9PSBsaXN0KGZlYXR1cmUuYmFj a2dyb3VuZC5zdGVwcykKKyAgICAgICAgIGFzc2VydCBsZW4ocnVsZTIuc2NlbmFyaW9zKSA9PSAx CisgICAgICAgICBhc3NlcnQgcnVsZTJfc2NlbmFyaW8xLm5hbWUgPT0gIlIyLlNjZW5hcmlvXzEi CisgICAgICAgICBhc3NlcnQgcnVsZTJfc2NlbmFyaW8xLnBhcmVudCBpcyBydWxlMgorICAgICAg ICAgYXNzZXJ0IHJ1bGUyX3NjZW5hcmlvMS5mZWF0dXJlIGlzIGZlYXR1cmUKKyAgICAgICAgIGFz c2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUyX3NjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKyAgICAgICAg ICAgICAoImdpdmVuIiwgIkdpdmVuIiwgJ2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEnLCBOb25l LCBOb25lKSwKKy0gICAgICAgICAgICAoIndoZW4iLCAiV2hlbiIsICAgJ2ZlYXR1cmUgYmFja2dy b3VuZCBzdGVwXzInLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAoIndoZW4iLCAgIldoZW4i LCAgJ2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzInLCBOb25lLCBOb25lKSwKKyAgICAgICAgICAg ICAoImdpdmVuIiwgIkdpdmVuIiwgJ3J1bGUgUjIgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBO b25lKSwKKy0gICAgICAgICAgICAoIndoZW4iLCAiV2hlbiIsICAgJ3J1bGUgUjIgc2NlbmFyaW9f MSBzdGVwXzInLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAoIndoZW4iLCAgIldoZW4iLCAg J3J1bGUgUjIgc2NlbmFyaW9fMSBzdGVwXzInLCBOb25lLCBOb25lKSwKKysgICAgICAgIF0pCisr CisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFRFU1QgU1VJVEU6IFZlcmlmeSBGZWF0dXJl IEJhY2tncm91bmQgdG8gUnVsZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlCisrIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKytjbGFzcyBUZXN0UGFyc2VyNEJhY2tncm91bmQob2JqZWN0KToKKysgICAgIiIi VmVyaWZ5IGZlYXR1cmUuYmFja2dyb3VuZCB0byBydWxlLmJhY2tncm91bmQgaW5oZXJpdGFuY2Us IGV0Yy4iIiIKKysKKysgICAgZGVmIHRlc3RfcGFyc2VfX25vcnVsZV9zY2VuYXJpb3NfdXNlX2Zl YXR1cmVfYmFja2dyb3VuZChzZWxmKToKKysgICAgICAgICIiIkFGRkVDVEVEOiBTY2VuYXJpb3Mg b3V0c2lkZSBvZiBydWxlcyAoYmVmb3JlIGZpcnN0IHJ1bGUpLiIiIgorKyAgICAgICAgdGV4dCA9 IHUnJycKKysgICAgICAgICAgICBGZWF0dXJlOiBXaXRoIFNjZW5hcmlvcyBhbmQgUnVsZXMKKysg ICAgICAgICAgICAKKysgICAgICAgICAgICAgIEJhY2tncm91bmQ6IEZlYXR1cmUuQmFja2dyb3Vu ZAorKyAgICAgICAgICAgICAgICBHaXZlbiBmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xCisrICAg ICAgICAgICAgCisrICAgICAgICAgICAgICBTY2VuYXJpbzogU2NlbmFyaW9fMQorKyAgICAgICAg ICAgICAgICBHaXZlbiBzY2VuYXJpb18xIHN0ZXBfMQorKyAgICAgICAgICAgIAorKyAgICAgICAg ICAgICAgUnVsZTogUjEKKysgICAgICAgICAgICAgICAgU2NlbmFyaW86IFIxLlNjZW5hcmlvXzEK KysgICAgICAgICAgICAgICAgICBHaXZlbiBydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xCisrICAg ICAgICAgICAgJycnLmxzdHJpcCgpCisrICAgICAgICBmZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0 ZXh0KQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubmFtZSA9PSAiV2l0aCBTY2VuYXJpb3MgYW5k IFJ1bGVzIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBub3QgTm9uZQor KyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0gMQorKyAgICAgICAgYXNz ZXJ0IGxlbihmZWF0dXJlLnJ1bGVzKSA9PSAxCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUu cnVuX2l0ZW1zKSA9PSAyCisrCisrICAgICAgICBzY2VuYXJpbzEgPSBmZWF0dXJlLnNjZW5hcmlv c1swXQorKyAgICAgICAgcnVsZTEgPSBmZWF0dXJlLnJ1bGVzWzBdCisrICAgICAgICBhc3NlcnQg ZmVhdHVyZS5ydW5faXRlbXMgPT0gW3NjZW5hcmlvMSwgcnVsZTFdCisrCisrICAgICAgICBhc3Nl cnQgc2NlbmFyaW8xLm5hbWUgPT0gIlNjZW5hcmlvXzEiCisrICAgICAgICBhc3NlcnQgc2NlbmFy aW8xLmJhY2tncm91bmQgaXMgZmVhdHVyZS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgc2Nl bmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0gZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzCisrICAg ICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhzY2VuYXJpbzEuYWxsX3N0ZXBzLCBbCisrICAgICAg ICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xJywg Tm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdzY2VuYXJp b18xIHN0ZXBfMScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgXSkKKysKKysgICAgZGVmIHRlc3Rf cGFyc2VfX25vcnVsZV9zY2VuYXJpb3Nfd2l0aF9kaXNhYmxlZF9iYWNrZ3JvdW5kKHNlbGYpOgor KyAgICAgICAgIiIiQUZGRUNURUQ6IFNjZW5hcmlvcyBvdXRzaWRlIG9mIHJ1bGVzIChiZWZvcmUg Zmlyc3QgcnVsZSkuIiIiCisrICAgICAgICB0ZXh0ID0gdScnJworKyAgICAgICAgICAgIEZlYXR1 cmU6IFNjZW5hcmlvIHdpdGggZGlzYWJsZWQgYmFja2dyb3VuZAorKyAgICAgICAgICAgIAorKyAg ICAgICAgICAgICAgQmFja2dyb3VuZDogRmVhdHVyZS5CYWNrZ3JvdW5kCisrICAgICAgICAgICAg ICAgIEdpdmVuIGZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEKKysgICAgICAgICAgICAKKysgICAg ICAgICAgICAgIEBmaXh0dXJlLmJlaGF2ZS5kaXNhYmxlX2JhY2tncm91bmQKKysgICAgICAgICAg ICAgIFNjZW5hcmlvOiBTY2VuYXJpb18xCisrICAgICAgICAgICAgICAgIEdpdmVuIHNjZW5hcmlv XzEgc3RlcF8xCisrICAgICAgICAgICAgCisrICAgICAgICAgICAgICBTY2VuYXJpbzogU2NlbmFy aW9fMgorKyAgICAgICAgICAgICAgICBHaXZlbiBzY2VuYXJpb18yIHN0ZXBfMQorKyAgICAgICAg ICAgICcnJy5sc3RyaXAoKQorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUodGV4dCkK KysgICAgICAgIGFzc2VydCBmZWF0dXJlLm5hbWUgPT0gIlNjZW5hcmlvIHdpdGggZGlzYWJsZWQg YmFja2dyb3VuZCIKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLmJhY2tncm91bmQgaXMgbm90IE5v bmUKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5zY2VuYXJpb3MpID09IDIKKysgICAgICAg IGFzc2VydCBsZW4oZmVhdHVyZS5ydW5faXRlbXMpID09IDIKKysKKysgICAgICAgIHNjZW5hcmlv MSA9IGZlYXR1cmUuc2NlbmFyaW9zWzBdCisrICAgICAgICBzY2VuYXJpbzIgPSBmZWF0dXJlLnNj ZW5hcmlvc1sxXQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUucnVuX2l0ZW1zID09IFtzY2VuYXJp bzEsIHNjZW5hcmlvMl0KKysKKysgICAgICAgIHNjZW5hcmlvMS51c2VfYmFja2dyb3VuZCA9IEZh bHNlICAgICMgLS0gRklYVFVSRS1FRkZFQ1QgKHNpbXVsYXRlZCkKKysgICAgICAgIGFzc2VydCBz Y2VuYXJpbzEubmFtZSA9PSAiU2NlbmFyaW9fMSIKKysgICAgICAgIGFzc2VydCBzY2VuYXJpbzEu YmFja2dyb3VuZCBpcyBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBzY2VuYXJp bzEuYmFja2dyb3VuZF9zdGVwcyAhPSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAg IGFzc2VydCBzY2VuYXJpbzEuYmFja2dyb3VuZF9zdGVwcyA9PSBbXQorKyAgICAgICAgYXNzZXJ0 X2NvbXBhcmVfc3RlcHMoc2NlbmFyaW8xLmFsbF9zdGVwcywgWworKyAgICAgICAgICAgICh1Imdp dmVuIiwgdSJHaXZlbiIsIHUnc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAg ICAgIF0pCisrCisrICAgICAgICAjIC0tIEVOU1VSRTogRGlzYWJsaW5nIG9mIGJhY2tncm91bmQg aGFzIG5vIGVmZmVjdCBvbiBvdGhlciBzY2VuYXJpb3MuCisrICAgICAgICBhc3NlcnQgc2NlbmFy aW8yLm5hbWUgPT0gIlNjZW5hcmlvXzIiCisrICAgICAgICBhc3NlcnQgc2NlbmFyaW8yLmJhY2tn cm91bmQgaXMgZmVhdHVyZS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgc2NlbmFyaW8yLmJh Y2tncm91bmRfc3RlcHMgPT0gZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBhc3Nl cnRfY29tcGFyZV9zdGVwcyhzY2VuYXJpbzIuYWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAgKHUi Z2l2ZW4iLCB1IkdpdmVuIiwgdSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9u ZSksCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdzY2VuYXJpb18yIHN0ZXBf MScsIE5vbmUsIE5vbmUpLAorKyAgICAgICAgXSkKKysKKysgICAgZGVmIHRlc3RfcGFyc2VfX3J1 bGVfc2NlbmFyaW9zX2luaGVyaXRfZmVhdHVyZV9iYWNrZ3JvdW5kX3dpdGhvdXRfcnVsZV9iYWNr Z3JvdW5kKHNlbGYpOgorKyAgICAgICAgdGV4dCA9IHUnJycKKysgICAgICAgICAgICBGZWF0dXJl OiBXaXRoIEJhY2tncm91bmQgYW5kIFJ1bGUKKysgICAgCisrICAgICAgICAgICAgICBCYWNrZ3Jv dW5kOiBGZWF0dXJlLkJhY2tncm91bmQKKysgICAgICAgICAgICAgICAgR2l2ZW4gZmVhdHVyZSBi YWNrZ3JvdW5kIHN0ZXBfMQorKyAgICAKKysgICAgICAgICAgICAgIFJ1bGU6IFIxCisrICAgICAg ICAgICAgICAgIFNjZW5hcmlvOiBSMS5TY2VuYXJpb18xCisrICAgICAgICAgICAgICAgICAgR2l2 ZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMQorKyAgICAgICAgICAgICcnJy5sc3RyaXAoKQor KyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUodGV4dCkKKysgICAgICAgIGFzc2VydCBm ZWF0dXJlLm5hbWUgPT0gIldpdGggQmFja2dyb3VuZCBhbmQgUnVsZSIKKysgICAgICAgIGFzc2Vy dCBmZWF0dXJlLmJhY2tncm91bmQgaXMgbm90IE5vbmUKKysgICAgICAgIGFzc2VydCBsZW4oZmVh dHVyZS5zY2VuYXJpb3MpID09IDAKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydWxlcykg PT0gMQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bl9pdGVtcykgPT0gMQorKworKyAg ICAgICAgcnVsZTEgPSBmZWF0dXJlLnJ1bGVzWzBdCisrICAgICAgICBydWxlMV9zY2VuYXJpbzEg PSBydWxlMS5zY2VuYXJpb3NbMF0KKysgICAgICAgIGFzc2VydCBmZWF0dXJlLnJ1bl9pdGVtcyA9 PSBbcnVsZTFdCisrCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLm5hbWUgPT0gIlIx LlNjZW5hcmlvXzEiCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQg aXMgbm90IE5vbmUKKysgICAgICAgICMgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5k IGlzIG5vdCBmZWF0dXJlLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJp bzEuYmFja2dyb3VuZF9zdGVwcyA9PSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAg IGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5hbGxfc3RlcHMsIFsKKysgICAg ICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J2ZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEn LCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUg UjEgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgIF0pCisrCisrICAg IGRlZiB0ZXN0X3BhcnNlX19ydWxlX3NjZW5hcmlvc19pbmhlcml0X2ZlYXR1cmVfYmFja2dyb3Vu ZF93aXRoX3J1bGVfYmFja2dyb3VuZChzZWxmKToKKysgICAgICAgIHRleHQgPSB1JycnCisrICAg ICAgICAgICAgRmVhdHVyZTogV2l0aCBGZWF0dXJlLkJhY2tncm91bmQgYW5kIFJ1bGUuQmFja2dy b3VuZAorKworKyAgICAgICAgICAgICAgQmFja2dyb3VuZDogRmVhdHVyZS5CYWNrZ3JvdW5kCisr ICAgICAgICAgICAgICAgIEdpdmVuIGZlYXR1cmUgYmFja2dyb3VuZCBzdGVwXzEKKysKKysgICAg ICAgICAgICAgIFJ1bGU6IFIxCisrICAgICAgICAgICAgICAgIEJhY2tncm91bmQ6IFIxLkJhY2tn cm91bmQKKysgICAgICAgICAgICAgICAgICBHaXZlbiBydWxlIFIxIGJhY2tncm91bmQgc3RlcF8x CisrICAgICAgICAgICAgICAgIAorKyAgICAgICAgICAgICAgICBTY2VuYXJpbzogUjEuU2NlbmFy aW9fMQorKyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEK KysgICAgICAgICAgICAnJycubHN0cmlwKCkKKysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0 dXJlKHRleHQpCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5uYW1lID09ICJXaXRoIEZlYXR1cmUu QmFja2dyb3VuZCBhbmQgUnVsZS5CYWNrZ3JvdW5kIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUu YmFja2dyb3VuZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5h cmlvcykgPT0gMAorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bGVzKSA9PSAxCisrICAg ICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVuX2l0ZW1zKSA9PSAxCisrCisrICAgICAgICBydWxl MSA9IGZlYXR1cmUucnVsZXNbMF0KKysgICAgICAgIHJ1bGUxX3NjZW5hcmlvMSA9IHJ1bGUxLnNj ZW5hcmlvc1swXQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUucnVuX2l0ZW1zID09IFtydWxlMV0K KysKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBOb25lCisrICAgICAg ICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3QgZmVhdHVyZS5iYWNrZ3JvdW5kCisrICAg ICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZC5pbmhlcml0ZWRfc3RlcHMgPT0gZmVhdHVyZS5i YWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBhc3NlcnQgbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFs bF9zdGVwcykgIT0gZmVhdHVyZS5iYWNrZ3JvdW5kLnN0ZXBzCisrCisrICAgICAgICBhc3NlcnQg cnVsZTFfc2NlbmFyaW8xLm5hbWUgPT0gIlIxLlNjZW5hcmlvXzEiCisrICAgICAgICBhc3NlcnQg cnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQgaXMgcnVsZTEuYmFja2dyb3VuZAorKyAgICAgICAg YXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzID09IGxpc3QocnVsZTEuYmFj a2dyb3VuZC5hbGxfc3RlcHMpCisrICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhydWxlMV9z Y2VuYXJpbzEuYWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwg dSdmZWF0dXJlIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAg KHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdydWxlIFIxIGJhY2tncm91bmQgc3RlcF8xJywgTm9uZSwg Tm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdydWxlIFIxIHNjZW5h cmlvXzEgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICBdKQorKworKyAgICBkZWYgdGVz dF9wYXJzZV9fcnVsZV9zY2VuYXJpb3Nfd2l0aF9ydWxlX2JhY2tncm91bmRfd2hlbl9iYWNrZ3Jv dW5kX2luaGVyaXRhbmNlX2lzX2Rpc2FibGVkKHNlbGYpOgorKyAgICAgICAgIyAtLSBISU5UOiBC YWNrZ3JvdW5kIGluaGVyaXRhbmNlIGlzIGVuYWJsZWQgKGJ5IGRlZmF1bHQpLgorKyAgICAgICAg dGV4dCA9IHUnJycKKysgICAgICAgICAgICBGZWF0dXJlOiBXaXRoIEZlYXR1cmUgQmFja2dyb3Vu ZCBJbmhlcml0YW5jZSBkaXNhYmxlZAorKworKyAgICAgICAgICAgICAgQmFja2dyb3VuZDogRmVh dHVyZS5CYWNrZ3JvdW5kCisrICAgICAgICAgICAgICAgIEdpdmVuIGZlYXR1cmUgYmFja2dyb3Vu ZCBzdGVwXzEKKysKKysgICAgICAgICAgICAgIEBmaXh0dXJlLmJlaGF2ZS5vdmVycmlkZV9iYWNr Z3JvdW5kCisrICAgICAgICAgICAgICBSdWxlOiBSMQorKyAgICAgICAgICAgICAgICBCYWNrZ3Jv dW5kOiBSMS5CYWNrZ3JvdW5kCisrICAgICAgICAgICAgICAgICAgR2l2ZW4gcnVsZSBSMSBiYWNr Z3JvdW5kIHN0ZXBfMQorKworKyAgICAgICAgICAgICAgICBTY2VuYXJpbzogUjEuU2NlbmFyaW9f MQorKyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEKKysg ICAgICAgICAgICAnJycubHN0cmlwKCkKKysgICAgICAgIGZlYXR1cmUgPSBwYXJzZV9mZWF0dXJl KHRleHQpCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5uYW1lID09ICJXaXRoIEZlYXR1cmUgQmFj a2dyb3VuZCBJbmhlcml0YW5jZSBkaXNhYmxlZCIKKysgICAgICAgIGFzc2VydCBmZWF0dXJlLmJh Y2tncm91bmQgaXMgbm90IE5vbmUKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5zY2VuYXJp b3MpID09IDAKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydWxlcykgPT0gMQorKyAgICAg ICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bl9pdGVtcykgPT0gMQorKworKyAgICAgICAgcnVsZTEg PSBmZWF0dXJlLnJ1bGVzWzBdCisrICAgICAgICBydWxlMV9zY2VuYXJpbzEgPSBydWxlMS5zY2Vu YXJpb3NbMF0KKysgICAgICAgIGFzc2VydCBmZWF0dXJlLnJ1bl9pdGVtcyA9PSBbcnVsZTFdCisr CisrICAgICAgICBydWxlMS51c2VfYmFja2dyb3VuZF9pbmhlcml0YW5jZSA9IEZhbHNlICAjIEZJ WFRVUkUtRUZGRUNUIChzaW11bGF0ZWQpCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3Vu ZCBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQudXNlX2luaGVy aXRhbmNlIGlzIEZhbHNlCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZCBpcyBub3Qg ZmVhdHVyZS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZC5pbmhl cml0ZWRfc3RlcHMgPT0gW10KKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLmluaGVy aXRlZF9zdGVwcyAhPSBmZWF0dXJlLmJhY2tncm91bmQuc3RlcHMKKysgICAgICAgIGFzc2VydCBs aXN0KHJ1bGUxLmJhY2tncm91bmQuYWxsX3N0ZXBzKSAhPSBmZWF0dXJlLmJhY2tncm91bmQuc3Rl cHMKKysKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEubmFtZSA9PSAiUjEuU2NlbmFy aW9fMSIKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBydWxl MS5iYWNrZ3JvdW5kCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmRf c3RlcHMgPT0gcnVsZTEuYmFja2dyb3VuZC5zdGVwcworKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3Nj ZW5hcmlvMS5iYWNrZ3JvdW5kX3N0ZXBzID09IGxpc3QocnVsZTEuYmFja2dyb3VuZC5hbGxfc3Rl cHMpCisrICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhydWxlMV9zY2VuYXJpbzEuYWxsX3N0 ZXBzLCBbCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdydWxlIFIxIGJhY2tn cm91bmQgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1Ikdp dmVuIiwgdSdydWxlIFIxIHNjZW5hcmlvXzEgc3RlcF8xJywgTm9uZSwgTm9uZSksCisrICAgICAg ICBdKQorKworKyAgICBkZWYgdGVzdF9wYXJzZV9fcnVsZV9zY2VuYXJpb3Nfd2l0aG91dF9ydWxl X2JhY2tncm91bmRfd2hlbl9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlX2lzX2Rpc2FibGVkX3dpdGhv dXQoc2VsZik6CisrICAgICAgICAjIC0tIEhJTlQ6IEJhY2tncm91bmQgaW5oZXJpdGFuY2UgaXMg ZW5hYmxlZCAoYnkgZGVmYXVsdCkuCisrICAgICAgICB0ZXh0ID0gdScnJworKyAgICAgICAgICAg IEZlYXR1cmU6IFdpdGggRmVhdHVyZSBCYWNrZ3JvdW5kIEluaGVyaXRhbmNlIGRpc2FibGVkCisr CisrICAgICAgICAgICAgICBCYWNrZ3JvdW5kOiBGZWF0dXJlLkJhY2tncm91bmQKKysgICAgICAg ICAgICAgICAgR2l2ZW4gZmVhdHVyZSBiYWNrZ3JvdW5kIHN0ZXBfMQorKworKyAgICAgICAgICAg ICAgQGZpeHR1cmUuYmVoYXZlLm92ZXJyaWRlX2JhY2tncm91bmQKKysgICAgICAgICAgICAgIFJ1 bGU6IFIxCisrICAgICAgICAgICAgICAgIFNjZW5hcmlvOiBSMS5TY2VuYXJpb18xCisrICAgICAg ICAgICAgICAgICAgR2l2ZW4gcnVsZSBSMSBzY2VuYXJpb18xIHN0ZXBfMQorKyAgICAgICAgICAg ICcnJy5sc3RyaXAoKQorKyAgICAgICAgZmVhdHVyZSA9IHBhcnNlX2ZlYXR1cmUodGV4dCkKKysg ICAgICAgIGFzc2VydCBmZWF0dXJlLm5hbWUgPT0gIldpdGggRmVhdHVyZSBCYWNrZ3JvdW5kIElu aGVyaXRhbmNlIGRpc2FibGVkIgorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBp cyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0gMAor KyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJlLnJ1bGVzKSA9PSAxCisrICAgICAgICBhc3NlcnQg bGVuKGZlYXR1cmUucnVuX2l0ZW1zKSA9PSAxCisrCisrICAgICAgICBydWxlMSA9IGZlYXR1cmUu cnVsZXNbMF0KKysgICAgICAgIHJ1bGUxX3NjZW5hcmlvMSA9IHJ1bGUxLnNjZW5hcmlvc1swXQor KyAgICAgICAgYXNzZXJ0IGZlYXR1cmUucnVuX2l0ZW1zID09IFtydWxlMV0KKysKKysgICAgICAg IHJ1bGUxLnVzZV9iYWNrZ3JvdW5kX2luaGVyaXRhbmNlID0gRmFsc2UgICMgRklYVFVSRS1FRkZF Q1QgKHNpbXVsYXRlZCkKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBO b25lCisrICAgICAgICBhc3NlcnQgcnVsZTEuYmFja2dyb3VuZC51c2VfaW5oZXJpdGFuY2UgaXMg RmFsc2UKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJh Y2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVw cyA9PSBbXQorKworKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5uYW1lID09ICJSMS5T Y2VuYXJpb18xIgorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlz IHJ1bGUxLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dy b3VuZF9zdGVwcyA9PSBydWxlMS5iYWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBhc3NlcnQgcnVs ZTFfc2NlbmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0gbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFs bF9zdGVwcykKKysgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5h bGxfc3RlcHMsIFsKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEg c2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgIF0pCisrCisrICAgIGRl ZiB0ZXN0X3BhcnNlX19ydWxlX3NjZW5hcmlvc193aXRob3V0X2ZlYXR1cmVfYmFja2dyb3VuZF9h bmRfd2l0aF9ydWxlX2JhY2tncm91bmQoc2VsZik6CisrICAgICAgICB0ZXh0ID0gdScnJworKyAg ICAgICAgICAgIEZlYXR1cmU6IFdpdGhvdXQgRmVhdHVyZS5CYWNrZ3JvdW5kIGFuZCB3aXRoIFJ1 bGUuQmFja2dyb3VuZAorKworKyAgICAgICAgICAgICAgUnVsZTogUjEKKysgICAgICAgICAgICAg ICAgQmFja2dyb3VuZDogUjEuQmFja2dyb3VuZAorKyAgICAgICAgICAgICAgICAgIEdpdmVuIHJ1 bGUgUjEgYmFja2dyb3VuZCBzdGVwXzEKKysKKysgICAgICAgICAgICAgICAgU2NlbmFyaW86IFIx LlNjZW5hcmlvXzEKKysgICAgICAgICAgICAgICAgICBHaXZlbiBydWxlIFIxIHNjZW5hcmlvXzEg c3RlcF8xCisrICAgICAgICAgICAgJycnLmxzdHJpcCgpCisrICAgICAgICBmZWF0dXJlID0gcGFy c2VfZmVhdHVyZSh0ZXh0KQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubmFtZSA9PSAiV2l0aG91 dCBGZWF0dXJlLkJhY2tncm91bmQgYW5kIHdpdGggUnVsZS5CYWNrZ3JvdW5kIgorKyAgICAgICAg YXNzZXJ0IGZlYXR1cmUuYmFja2dyb3VuZCBpcyBOb25lCisrICAgICAgICBhc3NlcnQgbGVuKGZl YXR1cmUuc2NlbmFyaW9zKSA9PSAwCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVsZXMp ID09IDEKKysgICAgICAgIGFzc2VydCBsZW4oZmVhdHVyZS5ydW5faXRlbXMpID09IDEKKysKKysg ICAgICAgIHJ1bGUxID0gZmVhdHVyZS5ydWxlc1swXQorKyAgICAgICAgcnVsZTFfc2NlbmFyaW8x ID0gcnVsZTEuc2NlbmFyaW9zWzBdCisrICAgICAgICBhc3NlcnQgZmVhdHVyZS5ydW5faXRlbXMg PT0gW3J1bGUxXQorKworKyAgICAgICAgYXNzZXJ0IHJ1bGUxLmJhY2tncm91bmQgaXMgbm90IE5v bmUKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlzIG5vdCBmZWF0dXJlLmJhY2tn cm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kLmluaGVyaXRlZF9zdGVwcyA9 PSBbXQorKworKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5uYW1lID09ICJSMS5TY2Vu YXJpb18xIgorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kIGlzIHJ1 bGUxLmJhY2tncm91bmQKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3Vu ZF9zdGVwcyA9PSBydWxlMS5iYWNrZ3JvdW5kLnN0ZXBzCisrICAgICAgICBhc3NlcnQgcnVsZTFf c2NlbmFyaW8xLmJhY2tncm91bmRfc3RlcHMgPT0gbGlzdChydWxlMS5iYWNrZ3JvdW5kLmFsbF9z dGVwcykKKysgICAgICAgIGFzc2VydF9jb21wYXJlX3N0ZXBzKHJ1bGUxX3NjZW5hcmlvMS5hbGxf c3RlcHMsIFsKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUiR2l2ZW4iLCB1J3J1bGUgUjEgYmFj a2dyb3VuZCBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAgICAgICAgICAodSJnaXZlbiIsIHUi R2l2ZW4iLCB1J3J1bGUgUjEgc2NlbmFyaW9fMSBzdGVwXzEnLCBOb25lLCBOb25lKSwKKysgICAg ICAgIF0pCisrCisrICAgIGRlZiB0ZXN0X3BhcnNlX19ydWxlX3NjZW5hcmlvc193aXRob3V0X2Zl YXR1cmVfYW5kX3J1bGVfYmFja2dyb3VuZChzZWxmKToKKysgICAgICAgIHRleHQgPSB1JycnCisr ICAgICAgICAgICAgRmVhdHVyZTogV2l0aG91dCBGZWF0dXJlLkJhY2tncm91bmQgYW5kIFJ1bGUu QmFja2dyb3VuZAorKworKyAgICAgICAgICAgICAgUnVsZTogUjEKKysgICAgICAgICAgICAgICAg U2NlbmFyaW86IFIxLlNjZW5hcmlvXzEKKysgICAgICAgICAgICAgICAgICBHaXZlbiBydWxlIFIx IHNjZW5hcmlvXzEgc3RlcF8xCisrICAgICAgICAgICAgJycnLmxzdHJpcCgpCisrICAgICAgICBm ZWF0dXJlID0gcGFyc2VfZmVhdHVyZSh0ZXh0KQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUubmFt ZSA9PSAiV2l0aG91dCBGZWF0dXJlLkJhY2tncm91bmQgYW5kIFJ1bGUuQmFja2dyb3VuZCIKKysg ICAgICAgIGFzc2VydCBmZWF0dXJlLmJhY2tncm91bmQgaXMgTm9uZQorKyAgICAgICAgYXNzZXJ0 IGxlbihmZWF0dXJlLnNjZW5hcmlvcykgPT0gMAorKyAgICAgICAgYXNzZXJ0IGxlbihmZWF0dXJl LnJ1bGVzKSA9PSAxCisrICAgICAgICBhc3NlcnQgbGVuKGZlYXR1cmUucnVuX2l0ZW1zKSA9PSAx CisrCisrICAgICAgICBydWxlMSA9IGZlYXR1cmUucnVsZXNbMF0KKysgICAgICAgIHJ1bGUxX3Nj ZW5hcmlvMSA9IHJ1bGUxLnNjZW5hcmlvc1swXQorKyAgICAgICAgYXNzZXJ0IGZlYXR1cmUucnVu X2l0ZW1zID09IFtydWxlMV0KKysKKysgICAgICAgIGFzc2VydCBydWxlMS5iYWNrZ3JvdW5kIGlz IE5vbmUKKysKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEubmFtZSA9PSAiUjEuU2Nl bmFyaW9fMSIKKysgICAgICAgIGFzc2VydCBydWxlMV9zY2VuYXJpbzEuYmFja2dyb3VuZCBpcyBO b25lCisrICAgICAgICBhc3NlcnQgcnVsZTFfc2NlbmFyaW8xLmJhY2tncm91bmQgaXMgcnVsZTEu YmFja2dyb3VuZAorKyAgICAgICAgYXNzZXJ0IHJ1bGUxX3NjZW5hcmlvMS5iYWNrZ3JvdW5kX3N0 ZXBzID09IFtdCisrICAgICAgICBhc3NlcnRfY29tcGFyZV9zdGVwcyhydWxlMV9zY2VuYXJpbzEu YWxsX3N0ZXBzLCBbCisrICAgICAgICAgICAgKHUiZ2l2ZW4iLCB1IkdpdmVuIiwgdSdydWxlIFIx IHNjZW5hcmlvXzEgc3RlcF8xJywgTm9uZSwgTm9uZSksCisgICAgICAgICBdKQorIAorIApkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA1Mi1BZGQtc3VwcG9ydC1mb3ItcnVudGltZS1jb25zdHJhaW50cy5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTItQWRkLXN1 cHBvcnQtZm9yLXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi45NjRiODNlNjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDUyLUFkZC1zdXBwb3J0 LWZvci1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoCkBAIC0wLDAgKzEsMjY5IEBACitGcm9tIDI2 ZTQzMWM4MjFjMjYwYTk4MWNhOGVkMjhmMjEzMzBjOGVmMTdhZjYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4K K0RhdGU6IFNhdCwgMTMgSnVsIDIwMTkgMTM6MTg6MDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0g QWRkIHN1cHBvcnQgZm9yIHJ1bnRpbWUgY29uc3RyYWludHMuCisKKy0tLQorIC5idW1wdmVyc2lv bi5jZmcgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBiZWhhdmUvX19pbml0X18ucHkgICAgICAg ICAgICAgICB8ICAyICstCisgYmVoYXZlL19fbWFpbl9fLnB5ICAgICAgICAgICAgICAgfCAxMyAr KysrKy0tLS0KKyBiZWhhdmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5weSB8IDQ1ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgICAgICAg ICAgfCAgNCAtLS0KKyBiZWhhdmUvZXhjZXB0aW9uLnB5ICAgICAgICAgICAgICB8IDQwICsrKysr KysrKysrKysrKysrKysrKysrKysrKysKKyBiZWhhdmUvcnVubmVyLnB5ICAgICAgICAgICAgICAg ICB8ICAyICstCisgYmVoYXZlL3J1bm5lcl91dGlsLnB5ICAgICAgICAgICAgfCAxNyArKy0tLS0t LS0tLS0KKyBiZWhhdmUvdmVyc2lvbi5weSAgICAgICAgICAgICAgICB8ICAyICsrCisgdGVzdHMv dW5pdC90ZXN0X3J1bm5lci5weSAgICAgICAgfCAgMiArLQorIDEwIGZpbGVzIGNoYW5nZWQsIDEw MSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmVo YXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmVoYXZl L2V4Y2VwdGlvbi5weQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhhdmUvdmVyc2lvbi5weQorCitk aWZmIC0tZ2l0IGEvLmJ1bXB2ZXJzaW9uLmNmZyBiLy5idW1wdmVyc2lvbi5jZmcKK2luZGV4IGFj OTEzYzIuLmE1ZDNkMmYgMTAwNjQ0CistLS0gYS8uYnVtcHZlcnNpb24uY2ZnCisrKysgYi8uYnVt cHZlcnNpb24uY2ZnCitAQCAtMSw2ICsxLDYgQEAKKyBbYnVtcHZlcnNpb25dCisgY3VycmVudF92 ZXJzaW9uID0gMS4yLjcuZGV2MQorLWZpbGVzID0gYmVoYXZlL19faW5pdF9fLnB5IHNldHVwLnB5 IFZFUlNJT04udHh0IHB5dGVzdC5pbmkgLmJ1bXB2ZXJzaW9uLmNmZworK2ZpbGVzID0gYmVoYXZl L3ZlcnNpb24ucHkgc2V0dXAucHkgVkVSU0lPTi50eHQgcHl0ZXN0LmluaSAuYnVtcHZlcnNpb24u Y2ZnCisgcGFyc2UgPSAoP1A8bWFqb3I+XGQrKVwuKD9QPG1pbm9yPlxkKylcLig/UDxwYXRjaD5c ZCspKD9QPGRyb3A+XHcqKQorIHNlcmlhbGl6ZSA9IHttYWpvcn0ue21pbm9yfS57cGF0Y2h9e2Ry b3B9CisgY29tbWl0ID0gRmFsc2UKK2RpZmYgLS1naXQgYS9iZWhhdmUvX19pbml0X18ucHkgYi9i ZWhhdmUvX19pbml0X18ucHkKK2luZGV4IDMxZTRlNTUuLjUzYTUzMzcgMTAwNjQ0CistLS0gYS9i ZWhhdmUvX19pbml0X18ucHkKKysrKyBiL2JlaGF2ZS9fX2luaXRfXy5weQorQEAgLTIwLDYgKzIw LDcgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyBmcm9tIGJlaGF2 ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCAqICAgICAgIyBweWxpbnQ6IGRpc2FibGU9d2lsZGNhcmQt aW1wb3J0CisgZnJvbSBiZWhhdmUubWF0Y2hlcnMgaW1wb3J0IHVzZV9zdGVwX21hdGNoZXIsIHN0 ZXBfbWF0Y2hlciwgcmVnaXN0ZXJfdHlwZQorIGZyb20gYmVoYXZlLmZpeHR1cmUgaW1wb3J0IGZp eHR1cmUsIHVzZV9maXh0dXJlCisrZnJvbSBiZWhhdmUudmVyc2lvbiBpbXBvcnQgVkVSU0lPTiBh cyBfX3ZlcnNpb25fXworIAorICMgcHlsaW50OiBkaXNhYmxlPXVuZGVmaW5lZC1hbGwtdmFyaWFi bGUKKyBfX2FsbF9fID0gWworQEAgLTI5LDQgKzMwLDMgQEAgX19hbGxfXyA9IFsKKyAgICAgIyAt LSBERVBSRUNBVElORzoKKyAgICAgInN0ZXBfbWF0Y2hlciIKKyBdCistX192ZXJzaW9uX18gPSAi MS4yLjcuZGV2MSIKK2RpZmYgLS1naXQgYS9iZWhhdmUvX19tYWluX18ucHkgYi9iZWhhdmUvX19t YWluX18ucHkKK2luZGV4IGMzNDBiMjUuLjNjYWUzNmQgMTAwNjQ0CistLS0gYS9iZWhhdmUvX19t YWluX18ucHkKKysrKyBiL2JlaGF2ZS9fX21haW5fXy5weQorQEAgLTQsMTIgKzQsMTMgQEAgZnJv bSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisgaW1w b3J0IGNvZGVjcworIGltcG9ydCBzeXMKKyBpbXBvcnQgc2l4CistZnJvbSBiZWhhdmUgaW1wb3J0 IF9fdmVyc2lvbl9fCistZnJvbSBiZWhhdmUuY29uZmlndXJhdGlvbiBpbXBvcnQgQ29uZmlndXJh dGlvbiwgQ29uZmlnRXJyb3IKKytmcm9tIGJlaGF2ZS52ZXJzaW9uIGltcG9ydCBWRVJTSU9OIGFz IEJFSEFWRV9WRVJTSU9OCisrZnJvbSBiZWhhdmUuY29uZmlndXJhdGlvbiBpbXBvcnQgQ29uZmln dXJhdGlvbgorK2Zyb20gYmVoYXZlLmV4Y2VwdGlvbiBpbXBvcnQgQ29uc3RyYWludEVycm9yLCBD b25maWdFcnJvciwgXAorKyAgICBGaWxlTm90Rm91bmRFcnJvciwgSW52YWxpZEZpbGVMb2NhdGlv bkVycm9yLCBJbnZhbGlkRmlsZW5hbWVFcnJvcgorIGZyb20gYmVoYXZlLnBhcnNlciBpbXBvcnQg UGFyc2VyRXJyb3IKKyBmcm9tIGJlaGF2ZS5ydW5uZXIgaW1wb3J0IFJ1bm5lcgorLWZyb20gYmVo YXZlLnJ1bm5lcl91dGlsIGltcG9ydCBwcmludF91bmRlZmluZWRfc3RlcF9zbmlwcGV0cywgcmVz ZXRfcnVudGltZSwgXAorLSAgICBJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3IsIEludmFsaWRGaWxl bmFtZUVycm9yLCBGaWxlTm90Rm91bmRFcnJvcgorK2Zyb20gYmVoYXZlLnJ1bm5lcl91dGlsIGlt cG9ydCBwcmludF91bmRlZmluZWRfc3RlcF9zbmlwcGV0cywgcmVzZXRfcnVudGltZQorIGZyb20g YmVoYXZlLnRleHR1dGlsIGltcG9ydCBjb21wdXRlX3dvcmRzX21heHNpemUsIHRleHQgYXMgX3Rl eHQKKyAKKyAKK0BAIC02Miw3ICs2Myw3IEBAIGRlZiBydW5fYmVoYXZlKGNvbmZpZywgcnVubmVy X2NsYXNzPU5vbmUpOgorICAgICAgICAgcnVubmVyX2NsYXNzID0gUnVubmVyCisgCisgICAgIGlm IGNvbmZpZy52ZXJzaW9uOgorLSAgICAgICAgcHJpbnQoImJlaGF2ZSAiICsgX192ZXJzaW9uX18p CisrICAgICAgICBwcmludCgiYmVoYXZlICIgKyBCRUhBVkVfVkVSU0lPTikKKyAgICAgICAgIHJl dHVybiAwCisgCisgICAgIGlmIGNvbmZpZy50YWdzX2hlbHA6CitAQCAtMTEwLDYgKzExMSw4IEBA IGRlZiBydW5fYmVoYXZlKGNvbmZpZywgcnVubmVyX2NsYXNzPU5vbmUpOgorICAgICAgICAgcHJp bnQodSJJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3I6ICVzIiAlIGUpCisgICAgIGV4Y2VwdCBJbnZh bGlkRmlsZW5hbWVFcnJvciBhcyBlOgorICAgICAgICAgcHJpbnQodSJJbnZhbGlkRmlsZW5hbWVF cnJvcjogJXMiICUgZSkKKysgICAgZXhjZXB0IENvbnN0cmFpbnRFcnJvciBhcyBlOgorKyAgICAg ICAgcHJpbnQodSJDb25zdHJhaW50RXJyb3I6ICVzIiAlIGUpCisgICAgIGV4Y2VwdCBFeGNlcHRp b24gYXMgZToKKyAgICAgICAgICMgLS0gRElBR05PU1RJQ1M6CisgICAgICAgICB0ZXh0ID0gX3Rl eHQoZSkKK2RpZmYgLS1naXQgYS9iZWhhdmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5weSBiL2Jl aGF2ZS9hcGkvcnVudGltZV9jb25zdHJhaW50LnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMC4uMzEwZTUyOQorLS0tIC9kZXYvbnVsbAorKysrIGIvYmVoYXZlL2FwaS9ydW50 aW1lX2NvbnN0cmFpbnQucHkKK0BAIC0wLDAgKzEsNDUgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04 IC0qLQorKyIiIgorK1NpbXBsaWZpZXMgdG8gc3BlY2lmeSBydW50aW1lIGNvbnN0cmFpbnRzIGlu CisrCisrKiBmZWF0dXJlcy9lbnZpcm9ubWVudC5weSBmaWxlCisrKiBmZWF0dXJlcy9zdGVwcy8q LnB5IiBmaWxlcworKyIiIgorKworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1w b3J0CisrZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9ydCBDb25zdHJhaW50RXJyb3IKKysKKysK KysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgVVRJTElUWSBGVU5DVElPTlM6CisrIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKytkZWYgcmVxdWlyZV9taW5fcHl0aG9uX3ZlcnNpb24obWluaW1hbF92ZXJz aW9uKToKKysgICAgIiIiU2ltcGxpZmllcyB0byBzcGVjaWZ5IHRoZSBtaW5pbWFsIHB5dGhvbiB2 ZXJzaW9uIHRoYXQgaXMgcmVxdWlyZWQuCisrCisrICAgIDpwYXJhbSBtaW5pbWFsX3ZlcnNpb246 IE1pbmltdW0gdmVyc2lvbiAoYXMgc3RyaW5nLCB0dXBsZSkKKysgICAgOnJhaXNlczogYmVoYXZl LmV4Y2VwdGlvbi5Db25zdHJhaW50RXJyb3IKKysgICAgIiIiCisrICAgIGltcG9ydCBzaXgKKysg ICAgaW1wb3J0IHN5cworKyAgICBweXRob25fdmVyc2lvbiA9IHN5cy52ZXJzaW9uX2luZm8KKysg ICAgaWYgaXNpbnN0YW5jZShtaW5pbWFsX3ZlcnNpb24sIHNpeC5zdHJpbmdfdHlwZXMpOgorKyAg ICAgICAgcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKysg ICAgZWxpZiBub3QgaXNpbnN0YW5jZShtaW5pbWFsX3ZlcnNpb24sIHR1cGxlKToKKysgICAgICAg IHJhaXNlIFR5cGVFcnJvcigic3RyaW5nIG9yIHR1cGxlICh3YXM6ICVzKSIgJSB0eXBlKG1pbmlt YWxfdmVyc2lvbikpCisrCisrICAgIGlmIHB5dGhvbl92ZXJzaW9uIDwgbWluaW1hbF92ZXJzaW9u OgorKyAgICAgICAgcmFpc2UgQ29uc3RyYWludEVycm9yKCJweXRob24gPj0gJXMgZXhwZWN0ZWQg KHdhczogJXMpIiAlIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWluaW1hbF92 ZXJzaW9uLCBweXRob25fdmVyc2lvbikpCisrCisrCisrZGVmIHJlcXVpcmVfbWluX2JlaGF2ZV92 ZXJzaW9uKG1pbmltYWxfdmVyc2lvbik6CisrICAgICIiIlNpbXBsaWZpZXMgdG8gc3BlY2lmeSB0 aGUgbWluaW1hbCBiZWhhdmUgdmVyc2lvbiB0aGF0IGlzIHJlcXVpcmVkLgorKworKyAgICA6cGFy YW0gbWluaW1hbF92ZXJzaW9uOiBNaW5pbXVtIHZlcnNpb24gKGFzIHN0cmluZywgdHVwbGUpCisr ICAgIDpyYWlzZXM6IGJlaGF2ZS5leGNlcHRpb24uQ29uc3RyYWludEVycm9yCisrICAgICIiIgor KyAgICAjIC0tIFNJTVBMSVNUSUMgSU1QTEVNRU5UQVRJT046CisrICAgIGZyb20gYmVoYXZlLnZl cnNpb24gaW1wb3J0IFZFUlNJT04gYXMgYmVoYXZlX3ZlcnNpb24KKysgICAgaWYgYmVoYXZlX3Zl cnNpb24gPCBtaW5pbWFsX3ZlcnNpb246CisrICAgICAgICByYWlzZSBDb25zdHJhaW50RXJyb3Io ImJlaGF2ZSA+PSAlcyBleHBlY3RlZCAod2FzOiAlcykiICUgXAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChtaW5pbWFsX3ZlcnNpb24sIGJlaGF2ZV92ZXJzaW9uKSkKK2RpZmYgLS1n aXQgYS9iZWhhdmUvY29uZmlndXJhdGlvbi5weSBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5Citp bmRleCA4NjFmODlmLi5iZDhiMDM5IDEwMDY0NAorLS0tIGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24u cHkKKysrKyBiL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CitAQCAtNjIsMTAgKzYyLDYgQEAgY2xh c3MgTG9nTGV2ZWwob2JqZWN0KToKKyAgICAgICAgIHJldHVybiBsb2dnaW5nLmdldExldmVsTmFt ZShsZXZlbCkKKyAKKyAKKy1jbGFzcyBDb25maWdFcnJvcihFeGNlcHRpb24pOgorLSAgICBwYXNz CistCistCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgQ09ORklHVVJBVElPTiBTQ0hFTUE6 CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9leGNlcHRpb24u cHkgYi9iZWhhdmUvZXhjZXB0aW9uLnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMC4uYmEyMTIwNgorLS0tIC9kZXYvbnVsbAorKysrIGIvYmVoYXZlL2V4Y2VwdGlvbi5weQor QEAgLTAsMCArMSw0MCBAQAorKyMgLSotIGNvZGluZzogVVRGLTggLSotCisrIiIiCisrQmVoYXZl IGV4Y2VwdGlvbiBjbGFzc2VzLgorKworKy4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisrIiIiCisr CisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIEVYQ0VQVElPTi9FUlJPUiBDTEFTU0VTOgor KyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY2xhc3MgQ29uc3RyYWludEVycm9yKFJ1bnRpbWVFcnJv cik6CisrICAgICIiIlVzZWQgaWYgYSBjb25zdHJhaW50L3ByZWNvbmRpdGlvbiBpcyBub3QgZnVs ZmlsbGVkIGF0IHJ1bnRpbWUuCisrCisrICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CisrICAg ICIiIgorKworKworK2NsYXNzIENvbmZpZ0Vycm9yKEV4Y2VwdGlvbik6CisrICAgICIiIlVzZWQg aWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgKHBhcnRpYWxseSkgaW52YWxpZC4iIiIKKysKKysKKysj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgRVhDRVBUSU9OL0VSUk9SIENMQVNTRVM6IFJlbGF0ZWQg dG8gRmlsZSBIYW5kbGluZworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY2xhc3MgRmlsZU5vdEZv dW5kRXJyb3IoTG9va3VwRXJyb3IpOgorKyAgICAiIiJVc2VkIGlmIGEgc3BlY2lmaWVkIGZpbGUg d2FzIG5vdCBmb3VuZC4iIiIKKysKKysKKytjbGFzcyBJbnZhbGlkRmlsZUxvY2F0aW9uRXJyb3Io TG9va3VwRXJyb3IpOgorKyAgICAiIiJVc2VkIGlmIGEgOmNsYXNzOmBiZWhhdmUubW9kZWxfY29y ZS5GaWxlTG9jYXRpb25gIGlzIGludmFsaWQuCisrICAgIFRoaXMgb2NjdXJzIGlmIHRoZSBmaWxl IGxvY2F0aW9uIGlzIG5vIGV4YWN0bHkgY29ycmVjdCBhbmQKKysgICAgc3RyaWN0IGNoZWNraW5n IGlzIGVuYWJsZWQuCisrICAgICIiIgorKworKworK2NsYXNzIEludmFsaWRGaWxlbmFtZUVycm9y KFZhbHVlRXJyb3IpOgorKyAgICAiIiJVc2VkIGlmIGEgZmlsZW5hbWUgZG9lcyBub3QgaGF2ZSB0 aGUgZXhwZWN0ZWQgZmlsZSBleHRlbnNpb24sIGV0Yy4iIiIKKysKKysKK2RpZmYgLS1naXQgYS9i ZWhhdmUvcnVubmVyLnB5IGIvYmVoYXZlL3J1bm5lci5weQoraW5kZXggZjIwOWNiMC4uY2JlZGI1 YSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9ydW5uZXIucHkKKysrKyBiL2JlaGF2ZS9ydW5uZXIucHkK K0BAIC0xNSw3ICsxNSw3IEBAIGltcG9ydCBzaXgKKyAKKyBmcm9tIGJlaGF2ZS5fdHlwZXMgaW1w b3J0IEV4Y2VwdGlvblV0aWwKKyBmcm9tIGJlaGF2ZS5jYXB0dXJlIGltcG9ydCBDYXB0dXJlQ29u dHJvbGxlcgorLWZyb20gYmVoYXZlLmNvbmZpZ3VyYXRpb24gaW1wb3J0IENvbmZpZ0Vycm9yCisr ZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGltcG9ydCBDb25maWdFcnJvcgorIGZyb20gYmVoYXZlLmZv cm1hdHRlci5fcmVnaXN0cnkgaW1wb3J0IG1ha2VfZm9ybWF0dGVycworIGZyb20gYmVoYXZlLnJ1 bm5lcl91dGlsIGltcG9ydCBcCisgICAgIGNvbGxlY3RfZmVhdHVyZV9sb2NhdGlvbnMsIHBhcnNl X2ZlYXR1cmVzLCBcCitkaWZmIC0tZ2l0IGEvYmVoYXZlL3J1bm5lcl91dGlsLnB5IGIvYmVoYXZl L3J1bm5lcl91dGlsLnB5CitpbmRleCA3ZTA4MDdmLi44MGI5OWEwIDEwMDY0NAorLS0tIGEvYmVo YXZlL3J1bm5lcl91dGlsLnB5CisrKysgYi9iZWhhdmUvcnVubmVyX3V0aWwucHkKK0BAIC0xMSwy NiArMTEsMTMgQEAgaW1wb3J0IHJlCisgaW1wb3J0IHN5cworIGZyb20gc2l4IGltcG9ydCBzdHJp bmdfdHlwZXMKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgcGFyc2VyCisrZnJvbSBiZWhhdmUuZXhjZXB0 aW9uIGltcG9ydCBcCisrICAgIEZpbGVOb3RGb3VuZEVycm9yLCBJbnZhbGlkRmlsZUxvY2F0aW9u RXJyb3IsIEludmFsaWRGaWxlbmFtZUVycm9yCisgZnJvbSBiZWhhdmUubW9kZWxfY29yZSBpbXBv cnQgRmlsZUxvY2F0aW9uCisgZnJvbSBiZWhhdmUudGV4dHV0aWwgaW1wb3J0IGVuc3VyZV9zdHJl YW1fd2l0aF9lbmNvZGVyCisgIyBMQVpZOiBmcm9tIGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9y dCBzZXR1cF9zdGVwX2RlY29yYXRvcnMKKyAKKyAKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCist IyBFWENFUFRJT05TOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1jbGFzcyBGaWxlTm90Rm91 bmRFcnJvcihMb29rdXBFcnJvcik6CistICAgIHBhc3MKKy0KKy0KKy1jbGFzcyBJbnZhbGlkRmls ZUxvY2F0aW9uRXJyb3IoTG9va3VwRXJyb3IpOgorLSAgICBwYXNzCistCistCistY2xhc3MgSW52 YWxpZEZpbGVuYW1lRXJyb3IoVmFsdWVFcnJvcik6CistICAgIHBhc3MKKy0KKy0KKyAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgIyBDTEFTUzogRmlsZUxvY2F0aW9uUGFyc2VyCisgIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorZGlmZiAtLWdpdCBhL2JlaGF2ZS92ZXJzaW9uLnB5IGIvYmVoYXZlL3Zl cnNpb24ucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5iMTljYjVlCist LS0gL2Rldi9udWxsCisrKysgYi9iZWhhdmUvdmVyc2lvbi5weQorQEAgLTAsMCArMSwyIEBACisr IyAtLSBCRUhBVkUtVkVSU0lPTjoKKytWRVJTSU9OID0gIjEuMi43LmRldjEiCitkaWZmIC0tZ2l0 IGEvdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weSBiL3Rlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkK K2luZGV4IDAzMGRmZmEuLmYwZDAzY2QgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfcnVu bmVyLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CitAQCAtMTcsNyArMTcsNyBA QCBmcm9tIGJlaGF2ZSBpbXBvcnQgcnVubmVyX3V0aWwKKyBmcm9tIGJlaGF2ZS5tb2RlbCBpbXBv cnQgVGFibGUKKyBmcm9tIGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCBTdGVwUmVnaXN0cnkK KyBmcm9tIGJlaGF2ZSBpbXBvcnQgcGFyc2VyLCBydW5uZXIKKy1mcm9tIGJlaGF2ZS5jb25maWd1 cmF0aW9uIGltcG9ydCBDb25maWdFcnJvcgorK2Zyb20gYmVoYXZlLmV4Y2VwdGlvbiBpbXBvcnQg Q29uZmlnRXJyb3IKKyBmcm9tIGJlaGF2ZS5mb3JtYXR0ZXIuYmFzZSBpbXBvcnQgU3RyZWFtT3Bl bmVyCisgCisgCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDUzLVVzZS1ydW50aW1lLWNvbnN0cmFpbnRzLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1My1Vc2Ut cnVudGltZS1jb25zdHJhaW50cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjhhMDc1MDViZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTMtVXNlLXJ1bnRpbWUtY29uc3RyYWlu dHMucGF0Y2gKQEAgLTAsMCArMSwxOTYgQEAKK0Zyb20gNTkxNzkxNGU0MTVjNzI4ZTEzMGQ4Mjhj YzFlZDRlMjE5OWIxZmNkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMg PGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCAxMyBKdWwgMjAx OSAxMzoxOToxMyArMDIwMAorU3ViamVjdDogW1BBVENIXSBVc2UgcnVudGltZSBjb25zdHJhaW50 cworCistLS0KKyAuLi4vZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZSAgICAgICAgICAg fCAgMiArKworIC4uLi9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX3J1bi5mZWF0dXJlICAgICB8 ICAyICsrCisgZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgIHwg MTMgKysrKysrKysrCisgLi4uL3thc3luY19zdGVwczM0LnB5ID0+IF9hc3luY19zdGVwczM0LnB5 fSAgIHwgIDYgKysrLQorIC4uLi97YXN5bmNfc3RlcHMzNS5weSA9PiBfYXN5bmNfc3RlcHMzNS5w eX0gICB8ICAzICstCisgLi4uL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5 ICAgIHwgMjkgKysrKysrKysrKysrKysrLS0tLQorIC4uLi9hc3luY19zdGVwL2ZlYXR1cmVzL3N0 ZXBzL2FzeW5jX3N0ZXBzLnB5ICB8IDEyICsrKysrKysrCisgNyBmaWxlcyBjaGFuZ2VkLCA1OSBp bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorIHJlbmFtZSBleGFtcGxlcy9hc3luY19zdGVw L2ZlYXR1cmVzL3N0ZXBzL3thc3luY19zdGVwczM0LnB5ID0+IF9hc3luY19zdGVwczM0LnB5fSAo NTglKQorIHJlbmFtZSBleGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL3thc3luY19z dGVwczM1LnB5ID0+IF9hc3luY19zdGVwczM1LnB5fSAoOTUlKQorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBleGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5CisKK2Rp ZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZl YXR1cmUgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZlYXR1 cmUKK2luZGV4IDQxNmQzZDEuLjE4ZTk4NjkgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUKKysrKyBiL2V4YW1wbGVzL2FzeW5j X3N0ZXAvZmVhdHVyZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZQorQEAgLTEsNiArMSw4IEBACisg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjUKKyBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CisrQHVzZS53aXRoX3B5dGhvbi52ZXJz aW9uPTMuNworK0B1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyBGZWF0dXJlOgorICAgU2Nl bmFyaW86CisgICAgIEdpdmVuIEkgZGlzcGF0Y2ggYW4gYXN5bmMtY2FsbCB3aXRoIHBhcmFtICJB bGljZSIKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX3J1 bi5mZWF0dXJlIGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVy ZQoraW5kZXggOWY1MDZiNC4uMjliOGZhNyAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0 ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUKK0BAIC0xLDYgKzEsOCBAQAorIEB1c2Uud2l0aF9w eXRob24udmVyc2lvbj0zLjQKKyBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CisgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorK0B1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKytA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisgRmVhdHVyZToKKyAgIFNjZW5hcmlvOgorICAg ICBHaXZlbiBhbiBhc3luYy1zdGVwIHdhaXRzIDAuMyBzZWNvbmRzCitkaWZmIC0tZ2l0IGEvZXhh bXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL2V4YW1wbGVzL2FzeW5j X3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDlkNDMwMmIuLjAyYzRkOTIgMTAw NjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5Cisr KysgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAtMSw4 ICsxLDE4IEBACisgIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKyAKKyBmcm9tIGJlaGF2ZS50YWdf bWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMK Kytmcm9tIGJlaGF2ZS5hcGkucnVudGltZV9jb25zdHJhaW50IGltcG9ydCByZXF1aXJlX21pbl9w eXRob25fdmVyc2lvbgorIGltcG9ydCBzeXMKKyAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr IyBSRVFVSVJFOiBweXRob24gPj0gMy40CisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK3JlcXVp cmVfbWluX3B5dGhvbl92ZXJzaW9uKCIzLjQiKQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKysjIFNVUFBPUlQ6IEFjdGl2ZS10YWdzCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMg LS0gTUFUQ0hFUyBBTlkgVEFHUzogQHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICMgTk9U RTogYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMgZm9y IGFjdGl2ZSB0YWdzLgorIHB5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2lu Zm9bOjJdCitAQCAtMTEsNiArMjEsNyBAQCBhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyID0gewor IH0KKyBhY3RpdmVfdGFnX21hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFs dWVfcHJvdmlkZXIpCisgCisrCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMgSE9PS1M6Cisg IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTE4LDEwICsyOSwxMiBAQCBkZWYgYmVmb3JlX2Fs bChjb250ZXh0KToKKyAgICAgIyAtLSBTRVRVUCBBQ1RJVkUtVEFHIE1BVENIRVIgKHdpdGggdXNl cmRhdGEpOgorICAgICBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcyhhY3RpdmVfdGFnX3ZhbHVlX3By b3ZpZGVyLCBjb250ZXh0LmNvbmZpZy51c2VyZGF0YSkKKyAKKysKKyBkZWYgYmVmb3JlX2ZlYXR1 cmUoY29udGV4dCwgZmVhdHVyZSk6CisgICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRf ZXhjbHVkZV93aXRoKGZlYXR1cmUudGFncyk6CisgICAgICAgICBmZWF0dXJlLnNraXAocmVhc29u PWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNvbikKKyAKKysKKyBkZWYgYmVmb3JlX3Nj ZW5hcmlvKGNvbnRleHQsIHNjZW5hcmlvKToKKyAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNo b3VsZF9leGNsdWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3MpOgorICAgICAgICAgc2Nl bmFyaW8uc2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorZGlm ZiAtLWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMz NC5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQu cHkKK3NpbWlsYXJpdHkgaW5kZXggNTglCityZW5hbWUgZnJvbSBleGFtcGxlcy9hc3luY19zdGVw L2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzQucHkKK3JlbmFtZSB0byBleGFtcGxlcy9hc3lu Y19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVwczM0LnB5CitpbmRleCBjNDk2MmFiLi41 NTY1MDBmIDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9h c3luY19zdGVwczM0LnB5CisrKysgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBz L19hc3luY19zdGVwczM0LnB5CitAQCAtMSw4ICsxLDEyIEBACistIyAtLSBSRVFVSVJFUzogUHl0 aG9uID49IDMuNAorKyMgLS0gUkVRVUlSRVM6IFB5dGhvbiA+PSAzLjQgYW5kIFB5dGhvbiA8IDMu OAorKyMgSElOVDogRGVjb3JhdG9yIEBhc3luY2lvLmNvcm91dGluZSBpcyBwcm9oaWJpdGVkIGlu IHB5dGhvbiAzLjgKKysjIFVTRTogIEFzeW5jIGdlbmVyYXRvci9jb3JvdXRpbmUgaW5zdGVhZC4K KysKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgc3RlcAorIGZyb20gYmVoYXZlLmFwaS5hc3luY19zdGVw IGltcG9ydCBhc3luY19ydW5fdW50aWxfY29tcGxldGUKKyBpbXBvcnQgYXN5bmNpbworIAorKyMg LS0gVVNBQkxFIEZPUjogIjMuNCIgPD0gcHl0aG9uX3ZlcnNpb24gPCAiMy44IgorIEBzdGVwKCdh biBhc3luYy1zdGVwIHdhaXRzIHtkdXJhdGlvbjpmfSBzZWNvbmRzJykKKyBAYXN5bmNfcnVuX3Vu dGlsX2NvbXBsZXRlCisgQGFzeW5jaW8uY29yb3V0aW5lCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMv YXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwczM1LnB5IGIvZXhhbXBsZXMvYXN5 bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNS5weQorc2ltaWxhcml0eSBpbmRl eCA5NSUKK3JlbmFtZSBmcm9tIGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5 bmNfc3RlcHMzNS5weQorcmVuYW1lIHRvIGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3Rl cHMvX2FzeW5jX3N0ZXBzMzUucHkKK2luZGV4IDAxOGQ1ZWYuLmVkY2JlMGUgMTAwNjQ0CistLS0g YS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzUucHkKKysr KyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzUucHkK K0BAIC0xLDQgKzEsNSBAQAorICMgLS0gUkVRVUlSRVM6IFB5dGhvbiA+PSAzLjUKKysKKyBmcm9t IGJlaGF2ZSBpbXBvcnQgc3RlcAorIGZyb20gYmVoYXZlLmFwaS5hc3luY19zdGVwIGltcG9ydCBh c3luY19ydW5fdW50aWxfY29tcGxldGUKKyBpbXBvcnQgYXN5bmNpbworQEAgLTYsNSArNyw1IEBA IGltcG9ydCBhc3luY2lvCisgQHN0ZXAoJ2FuIGFzeW5jLXN0ZXAgd2FpdHMge2R1cmF0aW9uOmZ9 IHNlY29uZHMnKQorIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUKKyBhc3luYyBkZWYgc3RlcF9h c3luY19zdGVwX3dhaXRzX3NlY29uZHNfcHkzNShjb250ZXh0LCBkdXJhdGlvbik6CistICAgICIi IlNpbXBsZSBleGFtcGxlIG9mIGEgY29yb3V0aW5lIGFzIGFzeW5jLXN0ZXAgKGluIFB5dGhvbiAz LjUpIiIiCisrICAgICIiIlNpbXBsZSBleGFtcGxlIG9mIGEgY29yb3V0aW5lIGFzIGFzeW5jLXN0 ZXAgKGluIFB5dGhvbiAzLjUgb3IgbmV3ZXIpIiIiCisgICAgIGF3YWl0IGFzeW5jaW8uc2xlZXAo ZHVyYXRpb24pCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVw cy9hc3luY19kaXNwYXRjaF9zdGVwcy5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMv c3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkKK2luZGV4IGI5YjZlMTUuLjIyMmU1NGQgMTAw NjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3Bh dGNoX3N0ZXBzLnB5CisrKysgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2Fz eW5jX2Rpc3BhdGNoX3N0ZXBzLnB5CitAQCAtMSwyMSArMSwzOCBAQAorICMgLSotIGNvZGluZzog VVRGLTggLSotCistIyBSRVFVSVJFUzogUHl0aG9uID49IDMuNQorKyMgUkVRVUlSRVM6IFB5dGhv biA+PSAzLjQvMy41CisraW1wb3J0IHN5cworIGZyb20gYmVoYXZlIGltcG9ydCBnaXZlbiwgdGhl biwgc3RlcAorLWZyb20gYmVoYXZlLmFwaS5hc3luY19zdGVwIGltcG9ydCB1c2Vfb3JfY3JlYXRl X2FzeW5jX2NvbnRleHQsIEFzeW5jQ29udGV4dAorK2Zyb20gYmVoYXZlLmFwaS5hc3luY19zdGVw IGltcG9ydCB1c2Vfb3JfY3JlYXRlX2FzeW5jX2NvbnRleHQKKyBmcm9tIGhhbWNyZXN0IGltcG9y dCBhc3NlcnRfdGhhdCwgZXF1YWxfdG8sIGVtcHR5CisgaW1wb3J0IGFzeW5jaW8KKyAKKy1AYXN5 bmNpby5jb3JvdXRpbmUKKy1kZWYgYXN5bmNfZnVuYyhwYXJhbSk6CistICAgIHlpZWxkIGZyb20g YXN5bmNpby5zbGVlcCgwLjIpCistICAgIHJldHVybiBzdHIocGFyYW0pLnVwcGVyKCkKKyAKKysj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQVNZTkMgRVhBTVBMRSBGVU5DVElPTjoKKysjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorK3B5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2lu Zm9bOjJdCisraWYgcHl0aG9uX3ZlcnNpb24gPj0gIjMuNSI6CisrICAgIGFzeW5jIGRlZiBhc3lu Y19mdW5jKHBhcmFtKToKKysgICAgICAgIGF3YWl0IGFzeW5jaW8uc2xlZXAoMC4yKQorKyAgICAg ICAgcmV0dXJuIHN0cihwYXJhbSkudXBwZXIoKQorK2Vsc2U6CisrICAgICMgLS0gSElOVDogRGVj b3JhdG9yIEBhc3luY2lvLmNvcm91dGluZSBpcyBwcm9oaWJpdGVkIGluIHB5dGhvbiAzLjgKKysg ICAgQGFzeW5jaW8uY29yb3V0aW5lCisrICAgIGRlZiBhc3luY19mdW5jKHBhcmFtKToKKysgICAg ICAgIHlpZWxkIGZyb20gYXN5bmNpby5zbGVlcCgwLjIpCisrICAgICAgICByZXR1cm4gc3RyKHBh cmFtKS51cHBlcigpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFNURVBTOgorKyMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgQGdpdmVuKCdJIGRpc3BhdGNoIGFuIGFzeW5jLWNhbGwgd2l0 aCBwYXJhbSAie3BhcmFtfSInKQorIGRlZiBzdGVwX2Rpc3BhdGNoX2FzeW5jX2NhbGwoY29udGV4 dCwgcGFyYW0pOgorICAgICBhc3luY19jb250ZXh0ID0gdXNlX29yX2NyZWF0ZV9hc3luY19jb250 ZXh0KGNvbnRleHQsICJhc3luY19jb250ZXh0MSIpCisgICAgIHRhc2sgPSBhc3luY19jb250ZXh0 Lmxvb3AuY3JlYXRlX3Rhc2soYXN5bmNfZnVuYyhwYXJhbSkpCisgICAgIGFzeW5jX2NvbnRleHQu dGFza3MuYXBwZW5kKHRhc2spCisgCisrCisgQHRoZW4oJ3RoZSBjb2xsZWN0ZWQgcmVzdWx0IG9m IHRoZSBhc3luYy1jYWxscyBpcyAie2V4cGVjdGVkfSInKQorIGRlZiBzdGVwX2NvbGxlY3RlZF9h c3luY19jYWxsX3Jlc3VsdF9pcyhjb250ZXh0LCBleHBlY3RlZCk6CisgICAgIGFzeW5jX2NvbnRl eHQgPSBjb250ZXh0LmFzeW5jX2NvbnRleHQxCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNf c3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19zdGVwcy5weSBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAv ZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi5kYzAzYzcyCistLS0gL2Rldi9udWxsCisrKysgYi9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5CitAQCAtMCwwICsxLDEyIEBACisrIyAt Ki0gY29kaW5nOiBVVEYtOCAtKi0KKysjIFJFUVVJUkVTOiBQeXRob24gPj0gMy40LzMuNQorKyIi IlB5dGhvbiBpbXBvcnQtYmFycmllciBmb3IgcHl0aG9uMiBvciBweXRob24gPCAzLjQuIiIiCisr CisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKytpbXBvcnQgc3lzCisr CisrcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKytpZiBw eXRob25fdmVyc2lvbiA+PSAiMy41IjoKKysgICAgaW1wb3J0IF9hc3luY19zdGVwczM1CisrZWxp ZiBweXRob25fdmVyc2lvbiA9PSAiMy40IjoKKysgICAgaW1wb3J0IF9hc3luY19zdGVwczM0CmRp ZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJl aGF2ZS8wMDU0LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2ggYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU0LUNMRUFOVVAt UmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi5hZWJiNjg1ODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU0LUNMRUFOVVAtUmVtb3ZlLWRl cHJlY2F0ZWQtcGFydHMucGF0Y2gKQEAgLTAsMCArMSwzOTM3IEBACitGcm9tIDQ4NGFmOWYyYmUz ODY4ZjkwYWU3MzZjMDQwMzMyZGNkYzA0YjVkMDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNh dCwgMTMgSnVsIDIwMTkgMTM6MjA6MzggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQ0xFQU5VUDog UmVtb3ZlIGRlcHJlY2F0ZWQgcGFydHMuCisKKy0tLQorIC5hdHRpYy9jb252ZXJ0X2kxOG5feWFt bC5weSB8ICAgNzcgKworIC5hdHRpYy9pMThuLnltbCAgICAgICAgICAgICB8ICA2MzUgKysrKysr KworIGJpbi9naGVya2luLWxhbmd1YWdlcy5qc29uICB8IDMxOTMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDcxMiBpbnNlcnRpb25zKCspLCAz MTkzIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDc1NSAuYXR0aWMvY29udmVydF9pMThu X3lhbWwucHkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgLmF0dGljL2kxOG4ueW1sCisgZGVsZXRlIG1v ZGUgMTAwNjQ0IGJpbi9naGVya2luLWxhbmd1YWdlcy5qc29uCisKK2RpZmYgLS1naXQgYS8uYXR0 aWMvY29udmVydF9pMThuX3lhbWwucHkgYi8uYXR0aWMvY29udmVydF9pMThuX3lhbWwucHkKK25l dyBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCAwMDAwMDAwLi5kNmE2NzEzCistLS0gL2Rldi9udWxs CisrKysgYi8uYXR0aWMvY29udmVydF9pMThuX3lhbWwucHkKK0BAIC0wLDAgKzEsNzcgQEAKKysj IS91c3IvYmluL2VudiBweXRob24KKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyMgVVNBR0U6 IGNvbnZlcnRfaTE4bl95YW1sLnB5IFstLWRhdGE9aTE4bi55bWxdIGJlaGF2ZS9pMThuLnB5Cisr IiIiCisrR2VuZXJhdGVzIEkxOE4gcHl0aG9uIG1vZHVsZSBiYXNlZCBvbiBZQU1MIGRlc2NyaXB0 aW9uIChpMThuLnltbCkuCisrCisrUkVRVUlSRVM6CisrICAqIGFyZ3BhcnNlCisrICAqIHNpeAor KyAgKiBQeVlBTUwKKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2lt cG9ydCwgcHJpbnRfZnVuY3Rpb24KKytpbXBvcnQgYXJncGFyc2UKKytpbXBvcnQgb3MucGF0aAor K2ltcG9ydCBzaXgKKytpbXBvcnQgc3lzCisraW1wb3J0IHBwcmludAorK2ltcG9ydCB5YW1sCisr CisrSEVSRSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKytOQU1FID0gb3MucGF0aC5iYXNl bmFtZShfX2ZpbGVfXykKKytfX3ZlcnNpb25fXyA9ICIxLjAiCisrCisrZGVmIHlhbWxfbm9ybWFs aXplKGRhdGEpOgorKyAgICBmb3IgcGFydCBpbiBkYXRhOgorKyAgICAgICAga2V5d29yZHMgPSBk YXRhW3BhcnRdCisrICAgICAgICBmb3IgayBpbiBrZXl3b3JkczoKKysgICAgICAgICAgICB2ID0g a2V5d29yZHNba10KKysgICAgICAgICAgICAjIGJsb29keSBZQU1MIHBhcnNlciByZXR1cm5zIGEg bWl4dHVyZSBvZiB1bmljb2RlIGFuZCBzdHIKKysgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5j ZSh2LCBzaXgudGV4dF90eXBlKToKKysgICAgICAgICAgICAgICAgdiA9IHYuZGVjb2RlKCJVVEYt OCIpCisrICAgICAgICAgICAga2V5d29yZHNba10gPSB2LnNwbGl0KCJ8IikKKysgICAgcmV0dXJu IGRhdGEKKysKKytkZWYgbWFpbihhcmdzPU5vbmUpOgorKyAgICBpZiBhcmdzIGlzIE5vbmU6Cisr ICAgICAgICBhcmdzID0gc3lzLmFyZ3ZbMTpdCisrICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3Vt ZW50UGFyc2VyKHByb2c9TkFNRSwKKysgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249IkdlbmVy YXRlIHB5dGhvbiBtb2R1bGUgaTE4biBmcm9tIFlBTUwgYmFzZWQgZGF0YSIpCisrICAgIHBhcnNl ci5hZGRfYXJndW1lbnQoIi1kIiwgIi0tZGF0YSIsIGRlc3Q9InlhbWxfZmlsZSIsCisrICAgICAg ICAgICAgICAgIGRlZmF1bHQ9b3MucGF0aC5qb2luKEhFUkUsICJpMThuLnltbCIpLAorKyAgICAg ICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGkxOG4ueW1sIGZpbGUgKFlBTUwgZmlsZSkuIikKKysg ICAgcGFyc2VyLmFkZF9hcmd1bWVudCgib3V0cHV0X2ZpbGUiLCBkZWZhdWx0PSJzdGRvdXQiLAor KyAgICAgICAgICAgICAgICBoZWxwPSJGaWxlbmFtZSBvZiBQeXRob24gSTE4TiBtb2R1bGUgKGFz IG91dHB1dCkuIikKKysgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgiLS12ZXJzaW9uIiwgYWN0aW9u PSJ2ZXJzaW9uIiwgdmVyc2lvbj1fX3ZlcnNpb25fXykKKysKKysgICAgb3B0aW9ucyA9IHBhcnNl ci5wYXJzZV9hcmdzKGFyZ3MpCisrICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShvcHRpb25zLnlh bWxfZmlsZSk6CisrICAgICAgICBwYXJzZXIuZXJyb3IoIllBTUwgZmlsZSBub3QgZm91bmQ6ICVz IiAlIG9wdGlvbnMueWFtbF9maWxlKQorKworKyAgICAjIC0tIFNURVAgMTogTG9hZCBZQU1MIGRh dGEuCisrICAgIGxhbmd1YWdlcyA9IHlhbWwubG9hZChvcGVuKG9wdGlvbnMueWFtbF9maWxlKSkK KysgICAgbGFuZ3VhZ2VzID0geWFtbF9ub3JtYWxpemUobGFuZ3VhZ2VzKQorKworKyAgICAjIC0t IFNURVAgMjogR2VuZXJhdGUgcHl0aG9uIG1vZHVsZSB3aXRoIGkxOG4gZGF0YS4KKysgICAgY29u dGVudHMgPSB1IiIiIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKysjIC0tIEZJTEUgR0VORVJBVEVE IEJZOiBjb252ZXJ0X2kxOG5feWFtbC5weSB3aXRoIGkxOG4ueW1sCisrIyBweWxpbnQ6IGRpc2Fi bGU9bGluZS10b28tbG9uZworKworK2xhbmd1YWdlcyA9IFxcCisrIiIiCisrICAgIGlmIG9wdGlv bnMub3V0cHV0X2ZpbGUgaW4gKCItIiwgInN0ZG91dCIpOgorKyAgICAgICAgaTE4bl9weSA9IHN5 cy5zdGRvdXQKKysgICAgICAgIHNob3VsZF9jbG9zZSA9IEZhbHNlCisrICAgIGVsc2U6CisrICAg ICAgICBpMThuX3B5ID0gb3BlbihvcHRpb25zLm91dHB1dF9maWxlLCAidyIpCisrICAgICAgICBz aG91bGRfY2xvc2UgPSBUcnVlCisrICAgIGkxOG5fcHkud3JpdGUoY29udGVudHMuZW5jb2RlKCJV VEYtOCIpKQorKyAgICBpMThuX3B5LndyaXRlKHBwcmludC5wZm9ybWF0KGxhbmd1YWdlcykuZW5j b2RlKCJVVEYtOCIpKQorKyAgICBpMThuX3B5LndyaXRlKHUiXG4iKQorKyAgICBpZiBzaG91bGRf Y2xvc2U6CisrICAgICAgICBpMThuX3B5LmNsb3NlKCkKKysgICAgcmV0dXJuIDAKKysKKytpZiBf X25hbWVfXyA9PSAiX19tYWluX18iOgorKyAgICBzeXMuZXhpdChtYWluKCkpCitkaWZmIC0tZ2l0 IGEvLmF0dGljL2kxOG4ueW1sIGIvLmF0dGljL2kxOG4ueW1sCituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMC4uODIzNDVhNAorLS0tIC9kZXYvbnVsbAorKysrIGIvLmF0dGljL2kx OG4ueW1sCitAQCAtMCwwICsxLDYzNSBAQAorKyMgZW5jb2Rpbmc6IFVURi04CisrIworKyMgV2Ug dXNlIElTTyA2MzktMSAobGFuZ3VhZ2UpIGFuZCBJU08gMzE2NiBhbHBoYS0yIChyZWdpb24gLSBp ZiBhcHBsaWNhYmxlKToKKysjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9J U09fNjM5LTFfY29kZXMKKysjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPXzMxNjYt MQorKyMKKysjIElmIHlvdSB3YW50IHNldmVyYWwgYWxpYXNlcyBmb3IgYSBrZXl3b3JkLCBqdXN0 IHNlcGFyYXRlIHRoZW0KKysjIHdpdGggYSB8IGNoYXJhY3Rlci4gVGhlICogaXMgYSBzdGVwIGtl eXdvcmQgYWxpYXMgZm9yIGFsbCB0cmFuc2xhdGlvbnMuCisrIworKyMgSWYgeW91IGRvICpub3Qq IHdhbnQgYSB0cmFpbGluZyBzcGFjZSBhZnRlciBhIGtleXdvcmQsIGVuZCBpdCB3aXRoIGEgPCBj aGFyYWN0ZXIuCisrIyAoU2VlIENoaW5lc2UgZm9yIGV4YW1wbGVzKS4KKysjCisrIyBUaGlzIGZp bGUgY29weXJpZ2h0IChjKSAyMDA5LTIwMTEgTWlrZSBTYXNzYWssIEdyZWdvcnkgSG5hdGl1aywg QXNsYWsgSGVsbGVzw7h5CisrIworKyMgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nCisrIyBhIGNvcHkgb2YgdGhpcyBz b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKysjICJTb2Z0 d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNs dWRpbmcKKysjIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9k aWZ5LCBtZXJnZSwgcHVibGlzaCwKKysjIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz ZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bworKyMgcGVybWl0IHBlcnNvbnMgdG8g d2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvCisrIyB0 aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisrIworKyMgVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUKKysjIGluY2x1ZGVkIGluIGFs bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorKyMKKysj IFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO WSBLSU5ELAorKyMgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE IFRPIFRIRSBXQVJSQU5USUVTIE9GCisrIyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFORAorKyMgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBT SEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRQorKyMgTElBQkxFIEZPUiBB TlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP TgorKyMgT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBP RiBPUiBJTiBDT05ORUNUSU9OCisrIyBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9U SEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKysKKysiZW4iOgorKyAgbmFtZTogRW5nbGlz aAorKyAgbmF0aXZlOiBFbmdsaXNoCisrICBmZWF0dXJlOiBGZWF0dXJlCisrICBiYWNrZ3JvdW5k OiBCYWNrZ3JvdW5kCisrICBzY2VuYXJpbzogU2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6 IFNjZW5hcmlvIE91dGxpbmV8U2NlbmFyaW8gVGVtcGxhdGUKKysgIGV4YW1wbGVzOiBFeGFtcGxl c3xTY2VuYXJpb3MKKysgIGdpdmVuOiAiKnxHaXZlbiIKKysgIHdoZW46ICIqfFdoZW4iCisrICB0 aGVuOiAiKnxUaGVuIgorKyAgYW5kOiAiKnxBbmQiCisrICBidXQ6ICIqfEJ1dCIKKysKKysjIFBs ZWFzZSBrZWVwIHRoZSBncmFtbWFycyBpbiBhbHBoYWJldGljYWwgb3JkZXIgYnkgbmFtZSBmcm9t IGhlcmUgYW5kIGRvd24uCisrCisrImFyIjoKKysgIG5hbWU6IEFyYWJpYworKyAgbmF0aXZlOiDY p9mE2LnYsdio2YrYqQorKyAgZmVhdHVyZTog2K7Yp9i12YrYqQorKyAgYmFja2dyb3VuZDog2KfZ hNiu2YTZgdmK2KkKKysgIHNjZW5hcmlvOiDYs9mK2YbYp9ix2YrZiAorKyAgc2NlbmFyaW9fb3V0 bGluZTog2LPZitmG2KfYsdmK2Ygg2YXYrti32LcKKysgIGV4YW1wbGVzOiDYp9mF2KvZhNipCisr ICBnaXZlbjogIip82KjZgdix2LYiCisrICB3aGVuOiAiKnzZhdiq2Yl82LnZhtiv2YXYpyIKKysg IHRoZW46ICIqfNin2LDYp9mLfNir2YUiCisrICBhbmQ6ICIqfNmIIgorKyAgYnV0OiAiKnzZhNmD 2YYiCisrImJnIjoKKysgIG5hbWU6IEJ1bGdhcmlhbgorKyAgbmF0aXZlOiDQsdGK0LvQs9Cw0YDR gdC60LgKKysgIGZlYXR1cmU6INCk0YPQvdC60YbQuNC+0L3QsNC70L3QvtGB0YIKKysgIGJhY2tn cm91bmQ6INCf0YDQtdC00LjRgdGC0L7RgNC40Y8KKysgIHNjZW5hcmlvOiDQodGG0LXQvdCw0YDQ uNC5CisrICBzY2VuYXJpb19vdXRsaW5lOiDQoNCw0LzQutCwINC90LAg0YHRhtC10L3QsNGA0LjQ uQorKyAgZXhhbXBsZXM6INCf0YDQuNC80LXRgNC4CisrICBnaXZlbjogIip80JTQsNC00LXQvdC+ IgorKyAgd2hlbjogIip80JrQvtCz0LDRgtC+IgorKyAgdGhlbjogIip80KLQviIKKysgIGFuZDog Iip80JgiCisrICBidXQ6ICIqfNCd0L4iCisrImNhIjoKKysgIG5hbWU6IENhdGFsYW4KKysgIG5h dGl2ZTogY2F0YWzDoAorKyAgYmFja2dyb3VuZDogUmVyZWZvbnN8QW50ZWNlZGVudHMKKysgIGZl YXR1cmU6IENhcmFjdGVyw61zdGljYXxGdW5jaW9uYWxpdGF0CisrICBzY2VuYXJpbzogRXNjZW5h cmkKKysgIHNjZW5hcmlvX291dGxpbmU6IEVzcXVlbWEgZGUgbCdlc2NlbmFyaQorKyAgZXhhbXBs ZXM6IEV4ZW1wbGVzCisrICBnaXZlbjogIip8RG9uYXR8RG9uYWRhfEF0w6hzfEF0ZXNhIgorKyAg d2hlbjogIip8UXVhbiIKKysgIHRoZW46ICIqfEFsZXNob3Jlc3xDYWwiCisrICBhbmQ6ICIqfEki CisrICBidXQ6ICIqfFBlcsOyIgorKyJjeS1HQiI6CisrICBuYW1lOiBXZWxzaAorKyAgbmF0aXZl OiBDeW1yYWVnCisrICBiYWNrZ3JvdW5kOiBDZWZuZGlyCisrICBmZWF0dXJlOiBBcndlZGQKKysg IHNjZW5hcmlvOiBTY2VuYXJpbworKyAgc2NlbmFyaW9fb3V0bGluZTogU2NlbmFyaW8gQW1saW5l bGxvbAorKyAgZXhhbXBsZXM6IEVuZ2hyZWlmZnRpYXUKKysgIGdpdmVuOiAiKnxBbnJoZWdlZGln IGEiCisrICB3aGVuOiAiKnxQcnlkIgorKyAgdGhlbjogIip8WW5hIgorKyAgYW5kOiAiKnxBIgor KyAgYnV0OiAiKnxPbmQiCisrImNzIjoKKysgIG5hbWU6IEN6ZWNoCisrICBuYXRpdmU6IMSMZXNr eQorKyAgZmVhdHVyZTogUG/FvmFkYXZlaworKyAgYmFja2dyb3VuZDogUG96YWTDrXxLb250ZXh0 CisrICBzY2VuYXJpbzogU2PDqW7DocWZCisrICBzY2VuYXJpb19vdXRsaW5lOiBOw6HEjXJ0IFNj w6luw6HFmWV8T3Nub3ZhIHNjw6luw6HFmWUKKysgIGV4YW1wbGVzOiBQxZnDrWtsYWR5CisrICBn aXZlbjogIip8UG9rdWR8WmEgcMWZZWRwb2tsYWR1IgorKyAgd2hlbjogIip8S2R5xb4iCisrICB0 aGVuOiAiKnxQYWsiCisrICBhbmQ6ICIqfEF8QSB0YWvDqSIKKysgIGJ1dDogIip8QWxlIgorKyJk YSI6CisrICBuYW1lOiBEYW5pc2gKKysgIG5hdGl2ZTogZGFuc2sKKysgIGZlYXR1cmU6IEVnZW5z a2FiCisrICBiYWNrZ3JvdW5kOiBCYWdncnVuZAorKyAgc2NlbmFyaW86IFNjZW5hcmllCisrICBz Y2VuYXJpb19vdXRsaW5lOiBBYnN0cmFrdCBTY2VuYXJpbworKyAgZXhhbXBsZXM6IEVrc2VtcGxl cgorKyAgZ2l2ZW46ICIqfEdpdmV0IgorKyAgd2hlbjogIip8TsOlciIKKysgIHRoZW46ICIqfFPD pSIKKysgIGFuZDogIip8T2ciCisrICBidXQ6ICIqfE1lbiIKKysiZGUiOgorKyAgbmFtZTogR2Vy bWFuCisrICBuYXRpdmU6IERldXRzY2gKKysgIGZlYXR1cmU6IEZ1bmt0aW9uYWxpdMOkdAorKyAg YmFja2dyb3VuZDogR3J1bmRsYWdlCisrICBzY2VuYXJpbzogU3plbmFyaW8KKysgIHNjZW5hcmlv X291dGxpbmU6IFN6ZW5hcmlvZ3J1bmRyaXNzCisrICBleGFtcGxlczogQmVpc3BpZWxlCisrICBn aXZlbjogIip8QW5nZW5vbW1lbnxHZWdlYmVuIHNlaSIKKysgIHdoZW46ICIqfFdlbm4iCisrICB0 aGVuOiAiKnxEYW5uIgorKyAgYW5kOiAiKnxVbmQiCisrICBidXQ6ICIqfEFiZXIiCisrImVuLWF1 IjoKKysgIG5hbWU6IEF1c3RyYWxpYW4KKysgIG5hdGl2ZTogQXVzdHJhbGlhbgorKyAgZmVhdHVy ZTogQ3Jpa2V5CisrICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kCisrICBzY2VuYXJpbzogTWF0ZQor KyAgc2NlbmFyaW9fb3V0bGluZTogQmxva2VzCisrICBleGFtcGxlczogQ29iYmVyCisrICBnaXZl bjogIip8WWEga25vdyBob3ciCisrICB3aGVuOiAiKnxXaGVuIgorKyAgdGhlbjogIip8WWEgZ290 dGEiCisrICBhbmQ6ICIqfE4iCisrICBidXQ6ICIqfENlcHQiCisrImVuLWxvbCI6CisrICBuYW1l OiBMT0xDQVQKKysgIG5hdGl2ZTogTE9MQ0FUCisrICBmZWF0dXJlOiBPSCBIQUkKKysgIGJhY2tn cm91bmQ6IEI0CisrICBzY2VuYXJpbzogTUlTSFVOCisrICBzY2VuYXJpb19vdXRsaW5lOiBNSVNI VU4gU1JTTFkKKysgIGV4YW1wbGVzOiBFWEFNUExaCisrICBnaXZlbjogIip8SSBDQU4gSEFaIgor KyAgd2hlbjogIip8V0VOIgorKyAgdGhlbjogIip8REVOIgorKyAgYW5kOiAiKnxBTiIKKysgIGJ1 dDogIip8QlVUIgorKyJlbi1waXJhdGUiOgorKyAgbmFtZTogUGlyYXRlCisrICBuYXRpdmU6IFBp cmF0ZQorKyAgZmVhdHVyZTogQWhveSBtYXRleSEKKysgIGJhY2tncm91bmQ6IFlvLWhvLWhvCisr ICBzY2VuYXJpbzogSGVhdmUgdG8KKysgIHNjZW5hcmlvX291dGxpbmU6IFNoaXZlciBtZSB0aW1i ZXJzCisrICBleGFtcGxlczogRGVhZCBtZW4gdGVsbCBubyB0YWxlcworKyAgZ2l2ZW46ICIqfEdh bmd3YXkhIgorKyAgd2hlbjogIip8QmxpbWV5ISIKKysgIHRoZW46ICIqfExldCBnbyBhbmQgaGF1 bCIKKysgIGFuZDogIip8QXllIgorKyAgYnV0OiAiKnxBdmFzdCEiCisrImVuLVNjb3VzZSI6Cisr ICBuYW1lOiBTY291c2UKKysgIG5hdGl2ZTogU2NvdXNlCisrICBmZWF0dXJlOiBGZWF0dXJlCisr ICBiYWNrZ3JvdW5kOiAiRGlzIGlzIHdoYXQgd2VudCBkb3duIgorKyAgc2NlbmFyaW86ICJUaGUg dGhpbmcgb2YgaXQgaXMiCisrICBzY2VuYXJpb19vdXRsaW5lOiAiV2hhcnJpbWVhbiBpcyIKKysg IGV4YW1wbGVzOiBFeGFtcGxlcworKyAgZ2l2ZW46ICIqfEdpdnVufFlvdXNlIGtub3cgd2hlbiB5 b3VzZSBnb3QiCisrICB3aGVuOiAiKnxXdW58WW91c2Uga25vdyBsaWtlIHdoZW4iCisrICB0aGVu OiAiKnxEdW58RGVuIHlvdXNlIGdvdHRhIgorKyAgYW5kOiAiKnxBbiIKKysgIGJ1dDogIip8QnVo IgorKyJlbi10eCI6CisrICBuYW1lOiBUZXhhbgorKyAgbmF0aXZlOiBUZXhhbgorKyAgZmVhdHVy ZTogRmVhdHVyZQorKyAgYmFja2dyb3VuZDogQmFja2dyb3VuZAorKyAgc2NlbmFyaW86IFNjZW5h cmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBBbGwgeSdhbGwKKysgIGV4YW1wbGVzOiBFeGFtcGxl cworKyAgZ2l2ZW46ICIqfEdpdmVuIHknYWxsIgorKyAgd2hlbjogIip8V2hlbiB5J2FsbCIKKysg IHRoZW46ICIqfFRoZW4geSdhbGwiCisrICBhbmQ6ICIqfEFuZCB5J2FsbCIKKysgIGJ1dDogIip8 QnV0IHknYWxsIgorKyJlbyI6CisrICBuYW1lOiBFc3BlcmFudG8KKysgIG5hdGl2ZTogRXNwZXJh bnRvCisrICBmZWF0dXJlOiBUcmFqdG8KKysgIGJhY2tncm91bmQ6IEZvbm8KKysgIHNjZW5hcmlv OiBTY2VuYXJvCisrICBzY2VuYXJpb19vdXRsaW5lOiBLb250dXJvIGRlIGxhIHNjZW5hcm8KKysg IGV4YW1wbGVzOiBFa3plbXBsb2oKKysgIGdpdmVuOiAiKnxEb25pdGHEtW8iCisrICB3aGVuOiAi KnxTZSIKKysgIHRoZW46ICIqfERvIgorKyAgYW5kOiAiKnxLYWoiCisrICBidXQ6ICIqfFNlZCIK KysiZXMiOgorKyAgbmFtZTogU3BhbmlzaAorKyAgbmF0aXZlOiBlc3Bhw7FvbAorKyAgYmFja2dy b3VuZDogQW50ZWNlZGVudGVzCisrICBmZWF0dXJlOiBDYXJhY3RlcsOtc3RpY2EKKysgIHNjZW5h cmlvOiBFc2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IEVzcXVlbWEgZGVsIGVzY2VuYXJp bworKyAgZXhhbXBsZXM6IEVqZW1wbG9zCisrICBnaXZlbjogIip8RGFkb3xEYWRhfERhZG9zfERh ZGFzIgorKyAgd2hlbjogIip8Q3VhbmRvIgorKyAgdGhlbjogIip8RW50b25jZXMiCisrICBhbmQ6 ICIqfFkiCisrICBidXQ6ICIqfFBlcm8iCisrImV0IjoKKysgIG5hbWU6IEVzdG9uaWFuCisrICBu YXRpdmU6IGVlc3RpIGtlZWwKKysgIGZlYXR1cmU6IE9tYWR1cworKyAgYmFja2dyb3VuZDogVGF1 c3QKKysgIHNjZW5hcmlvOiBTdHNlbmFhcml1bQorKyAgc2NlbmFyaW9fb3V0bGluZTogUmFhbXN0 c2VuYWFyaXVtCisrICBleGFtcGxlczogSnVodHVtaWQKKysgIGdpdmVuOiAiKnxFZWxkYWRlcyIK KysgIHdoZW46ICIqfEt1aSIKKysgIHRoZW46ICIqfFNpaXMiCisrICBhbmQ6ICIqfEphIgorKyAg YnV0OiAiKnxLdWlkIgorKyJmaSI6CisrICBuYW1lOiBGaW5uaXNoCisrICBuYXRpdmU6IHN1b21p CisrICBmZWF0dXJlOiBPbWluYWlzdXVzCisrICBiYWNrZ3JvdW5kOiBUYXVzdGEKKysgIHNjZW5h cmlvOiBUYXBhdXMKKysgIHNjZW5hcmlvX291dGxpbmU6IFRhcGF1c2FpaGlvCisrICBleGFtcGxl czogVGFwYXVrc2V0CisrICBnaXZlbjogIip8T2xldGV0YWFuIgorKyAgd2hlbjogIip8S3VuIgor KyAgdGhlbjogIip8TmlpbiIKKysgIGFuZDogIip8SmEiCisrICBidXQ6ICIqfE11dHRhIgorKyJm ciI6CisrICBuYW1lOiBGcmVuY2gKKysgIG5hdGl2ZTogZnJhbsOnYWlzCisrICBmZWF0dXJlOiBG b25jdGlvbm5hbGl0w6kKKysgIGJhY2tncm91bmQ6IENvbnRleHRlCisrICBzY2VuYXJpbzogU2PD qW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBQbGFuIGR1IHNjw6luYXJpb3xQbGFuIGR1IFNj w6luYXJpbworKyAgZXhhbXBsZXM6IEV4ZW1wbGVzCisrICBnaXZlbjogIip8U29pdHxFdGFudCBk b25uw6l8RXRhbnQgZG9ubsOpZXxFdGFudCBkb25uw6lzfEV0YW50IGRvbm7DqWVzfMOJdGFudCBk b25uw6l8w4l0YW50IGRvbm7DqWV8w4l0YW50IGRvbm7DqXN8w4l0YW50IGRvbm7DqWVzIgorKyAg d2hlbjogIip8UXVhbmR8TG9yc3F1ZXxMb3JzcXUnPCIKKysgIHRoZW46ICIqfEFsb3JzIgorKyAg YW5kOiAiKnxFdCIKKysgIGJ1dDogIip8TWFpcyIKKysiZ2wiOgorKyAgbmFtZTogR2FsaWNpYW4K KysgIG5hdGl2ZTogZ2FsZWdvCisrICBmZWF0dXJlOiBDYXJhY3RlcsOtc3RpY2EKKysgIGJhY2tn cm91bmQ6IENvbnRleHRvCisrICBzY2VuYXJpbzogRXNjZW5hcmlvCisrICBzY2VuYXJpb19vdXRs aW5lOiAiRXNib3pvIGRvIGVzY2VuYXJpbyIKKysgIGV4YW1wbGVzOiBFeGVtcGxvcworKyAgZ2l2 ZW46ICIqfERhZG98RGFkYXxEYWRvc3xEYWRhcyIKKysgIHdoZW46ICIqfENhbmRvIgorKyAgdGhl bjogIip8RW50w7NufExvZ28iCisrICBhbmQ6ICIqfEUiCisrICBidXQ6ICIqfE1haXN8UGVybyIK KysKKysiaGUiOgorKyAgbmFtZTogSGVicmV3CisrICBuYXRpdmU6INei15HXqNeZ16oKKysgIGZl YXR1cmU6INeq15vXldeg15QKKysgIGJhY2tncm91bmQ6INeo16fXogorKyAgc2NlbmFyaW86INeq 16jXl9eZ16kKKysgIHNjZW5hcmlvX291dGxpbmU6INeq15HXoNeZ16og16rXqNeX15nXqQorKyAg ZXhhbXBsZXM6INeT15XXktee15DXldeqCisrICBnaXZlbjogIip815HXlNeZ16DXqtefIgorKyAg d2hlbjogIip815vXkNep16giCisrICB0aGVuOiAiKnzXkNeWfNeQ15bXmSIKKysgIGFuZDogIip8 15XXktedIgorKyAgYnV0OiAiKnzXkNeR15wiCisrImhyIjoKKysgIG5hbWU6IENyb2F0aWFuCisr ICBuYXRpdmU6IGhydmF0c2tpCisrICBmZWF0dXJlOiBPc29iaW5hfE1vZ3XEh25vc3R8TW9ndWNu b3N0CisrICBiYWNrZ3JvdW5kOiBQb3phZGluYQorKyAgc2NlbmFyaW86IFNjZW5hcmlqCisrICBz Y2VuYXJpb19vdXRsaW5lOiBTa2ljYXxLb25jZXB0CisrICBleGFtcGxlczogUHJpbWplcml8U2Nl bmFyaWppCisrICBnaXZlbjogIip8WmFkYW58WmFkYW5pfFphZGFubyIKKysgIHdoZW46ICIqfEth ZGF8S2FkIgorKyAgdGhlbjogIip8T25kYSIKKysgIGFuZDogIip8SSIKKysgIGJ1dDogIip8QWxp IgorKyJodSI6CisrICBuYW1lOiBIdW5nYXJpYW4KKysgIG5hdGl2ZTogbWFneWFyCisrICBmZWF0 dXJlOiBKZWxsZW16xZEKKysgIGJhY2tncm91bmQ6IEjDoXR0w6lyCisrICBzY2VuYXJpbzogRm9y Z2F0w7Nrw7ZueXYKKysgIHNjZW5hcmlvX291dGxpbmU6IEZvcmdhdMOza8O2bnl2IHbDoXpsYXQK KysgIGV4YW1wbGVzOiBQw6lsZMOhaworKyAgZ2l2ZW46ICIqfEFtZW5ueWliZW58QWRvdHQiCisr ICB3aGVuOiAiKnxNYWpkfEhhfEFtaWtvciIKKysgIHRoZW46ICIqfEFra29yIgorKyAgYW5kOiAi KnzDiXMiCisrICBidXQ6ICIqfERlIgorKyJpZCI6CisrICBuYW1lOiBJbmRvbmVzaWFuCisrICBu YXRpdmU6IEJhaGFzYSBJbmRvbmVzaWEKKysgIGZlYXR1cmU6IEZpdHVyCisrICBiYWNrZ3JvdW5k OiBEYXNhcgorKyAgc2NlbmFyaW86IFNrZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBTa2Vu YXJpbyBrb25zZXAKKysgIGV4YW1wbGVzOiBDb250b2gKKysgIGdpdmVuOiAiKnxEZW5nYW4iCisr ICB3aGVuOiAiKnxLZXRpa2EiCisrICB0aGVuOiAiKnxNYWthIgorKyAgYW5kOiAiKnxEYW4iCisr ICBidXQ6ICIqfFRhcGkiCisrImlzIjoKKysgIG5hbWU6IEljZWxhbmRpYworKyAgbmF0aXZlOiDD jXNsZW5za2EKKysgIGZlYXR1cmU6IEVpZ2lubGVpa2kKKysgIGJhY2tncm91bmQ6IEJha2dydW5u dXIKKysgIHNjZW5hcmlvOiBBdGJ1csOwYXLDoXMKKysgIHNjZW5hcmlvX291dGxpbmU6IEzDvXNp bmcgQXRidXLDsGFyw6FzYXJ8TMO9c2luZyBEw6ZtYQorKyAgZXhhbXBsZXM6IETDpm1pfEF0YnVy w7BhcsOhc2lyCisrICBnaXZlbjogIip8RWYiCisrICB3aGVuOiAiKnzDnmVnYXIiCisrICB0aGVu OiAiKnzDnsOhIgorKyAgYW5kOiAiKnxPZyIKKysgIGJ1dDogIip8RW4iCisrIml0IjoKKysgIG5h bWU6IEl0YWxpYW4KKysgIG5hdGl2ZTogaXRhbGlhbm8KKysgIGZlYXR1cmU6IEZ1bnppb25hbGl0 w6AKKysgIGJhY2tncm91bmQ6IENvbnRlc3RvCisrICBzY2VuYXJpbzogU2NlbmFyaW8KKysgIHNj ZW5hcmlvX291dGxpbmU6IFNjaGVtYSBkZWxsbyBzY2VuYXJpbworKyAgZXhhbXBsZXM6IEVzZW1w aQorKyAgZ2l2ZW46ICIqfERhdG98RGF0YXxEYXRpfERhdGUiCisrICB3aGVuOiAiKnxRdWFuZG8i CisrICB0aGVuOiAiKnxBbGxvcmEiCisrICBhbmQ6ICIqfEUiCisrICBidXQ6ICIqfE1hIgorKyJq YSI6CisrICBuYW1lOiBKYXBhbmVzZQorKyAgbmF0aXZlOiDml6XmnKzoqp4KKysgIGZlYXR1cmU6 IOODleOCo+ODvOODgeODo3zmqZ/og70KKysgIGJhY2tncm91bmQ6IOiDjOaZrworKyAgc2NlbmFy aW86IOOCt+ODiuODquOCqgorKyAgc2NlbmFyaW9fb3V0bGluZTog44K344OK44Oq44Kq44Ki44Km 44OI44Op44Kk44OzfOOCt+ODiuODquOCquODhuODs+ODl+ODrOODvOODiHzjg4bjg7Pjg5fjg6x8 44K344OK44Oq44Kq44OG44Oz44OX44OsCisrICBleGFtcGxlczog5L6LfOOCteODs+ODl+ODqwor KyAgZ2l2ZW46ICIqfOWJjeaPkDwiCisrICB3aGVuOiAiKnzjgoLjgZc8IgorKyAgdGhlbjogIip8 44Gq44KJ44GwPCIKKysgIGFuZDogIip844GL44GkPCIKKysgIGJ1dDogIip844GX44GL44GXPHzk vYbjgZc8fOOBn+OBoOOBlzwiCisrImtvIjoKKysgIG5hbWU6IEtvcmVhbgorKyAgbmF0aXZlOiDt lZzqta3slrQKKysgIGJhY2tncm91bmQ6IOuwsOqyvQorKyAgZmVhdHVyZTog6riw64qlCisrICBz Y2VuYXJpbzog7Iuc64KY66as7JikCisrICBzY2VuYXJpb19vdXRsaW5lOiDsi5zrgpjrpqzsmKQg 6rCc7JqUCisrICBleGFtcGxlczog7JiICisrICBnaXZlbjogIip87KGw6rG0PHzrqLzsoIA8Igor KyAgd2hlbjogIip866eM7J28PHzrp4zslb08IgorKyAgdGhlbjogIip86re465+s66m0PCIKKysg IGFuZDogIip86re466as6rOgPCIKKysgIGJ1dDogIip87ZWY7KeA66eMPHzri6g8IgorKyJsdCI6 CisrICBuYW1lOiBMaXRodWFuaWFuCisrICBuYXRpdmU6IGxpZXR1dmnFsyBrYWxiYQorKyAgZmVh dHVyZTogU2F2eWLElworKyAgYmFja2dyb3VuZDogS29udGVrc3RhcworKyAgc2NlbmFyaW86IFNj ZW5hcmlqdXMKKysgIHNjZW5hcmlvX291dGxpbmU6IFNjZW5hcmlqYXVzIMWhYWJsb25hcworKyAg ZXhhbXBsZXM6IFBhdnl6ZMW+aWFpfFNjZW5hcmlqYWl8VmFyaWFudGFpCisrICBnaXZlbjogIip8 RHVvdGEiCisrICB3aGVuOiAiKnxLYWkiCisrICB0aGVuOiAiKnxUYWRhIgorKyAgYW5kOiAiKnxJ ciIKKysgIGJ1dDogIip8QmV0IgorKyJsdSI6CisrICBuYW1lOiBMdXhlbWJ1cmdpc2gKKysgIG5h dGl2ZTogTMOrdHplYnVlcmdlc2NoCisrICBmZWF0dXJlOiBGdW5rdGlvbmFsaXTDqWl0CisrICBi YWNrZ3JvdW5kOiBIYW5uZXJncm9uZAorKyAgc2NlbmFyaW86IFN6ZW5hcmlvCisrICBzY2VuYXJp b19vdXRsaW5lOiBQbGFuZyB2dW0gU3plbmFyaW8KKysgIGV4YW1wbGVzOiBCZWlzcGlsbGVyCisr ICBnaXZlbjogIip8dWdlaG9sbCIKKysgIHdoZW46ICIqfHdhbm4iCisrICB0aGVuOiAiKnxkYW5u IgorKyAgYW5kOiAiKnxhbnxhIgorKyAgYnV0OiAiKnxhd2VyfG3DpCIKKysibHYiOgorKyAgbmFt ZTogTGF0dmlhbgorKyAgbmF0aXZlOiBsYXR2aWXFoXUKKysgIGZlYXR1cmU6IEZ1bmtjaW9uYWxp dMSBdGV8RsSrxI1hCisrICBiYWNrZ3JvdW5kOiBLb250ZWtzdHN8U2l0dcSBY2lqYQorKyAgc2Nl bmFyaW86IFNjZW7EgXJpanMKKysgIHNjZW5hcmlvX291dGxpbmU6IFNjZW7EgXJpanMgcMSTYyBw YXJhdWdhCisrICBleGFtcGxlczogUGllbcSTcml8UGFyYXVncworKyAgZ2l2ZW46ICIqfEthZCIK KysgIHdoZW46ICIqfEphIgorKyAgdGhlbjogIip8VGFkIgorKyAgYW5kOiAiKnxVbiIKKysgIGJ1 dDogIip8QmV0IgorKyJubCI6CisrICBuYW1lOiBEdXRjaAorKyAgbmF0aXZlOiBOZWRlcmxhbmRz CisrICBmZWF0dXJlOiBGdW5jdGlvbmFsaXRlaXQKKysgIGJhY2tncm91bmQ6IEFjaHRlcmdyb25k CisrICBzY2VuYXJpbzogU2NlbmFyaW8KKysgIHNjZW5hcmlvX291dGxpbmU6IEFic3RyYWN0IFNj ZW5hcmlvCisrICBleGFtcGxlczogVm9vcmJlZWxkZW4KKysgIGdpdmVuOiAiKnxHZWdldmVufFN0 ZWwiCisrICB3aGVuOiAiKnxBbHMiCisrICB0aGVuOiAiKnxEYW4iCisrICBhbmQ6ICIqfEVuIgor KyAgYnV0OiAiKnxNYWFyIgorKyJubyI6CisrICBuYW1lOiBOb3J3ZWdpYW4KKysgIG5hdGl2ZTog bm9yc2sKKysgIGZlYXR1cmU6IEVnZW5za2FwCisrICBiYWNrZ3JvdW5kOiBCYWtncnVubgorKyAg c2NlbmFyaW86IFNjZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBTY2VuYXJpb21hbHxBYnN0 cmFrdCBTY2VuYXJpbworKyAgZXhhbXBsZXM6IEVrc2VtcGxlcgorKyAgZ2l2ZW46ICIqfEdpdHQi CisrICB3aGVuOiAiKnxOw6VyIgorKyAgdGhlbjogIip8U8OlIgorKyAgYW5kOiAiKnxPZyIKKysg IGJ1dDogIip8TWVuIgorKyJwbCI6CisrICBuYW1lOiBQb2xpc2gKKysgIG5hdGl2ZTogcG9sc2tp CisrICBmZWF0dXJlOiBXxYJhxZtjaXdvxZvEhworKyAgYmFja2dyb3VuZDogWmHFgm/FvGVuaWEK KysgIHNjZW5hcmlvOiBTY2VuYXJpdXN6CisrICBzY2VuYXJpb19vdXRsaW5lOiBTemFibG9uIHNj ZW5hcml1c3phCisrICBleGFtcGxlczogUHJ6eWvFgmFkeQorKyAgZ2l2ZW46ICIqfFpha8WCYWRh asSFY3xNYWrEhWMiCisrICB3aGVuOiAiKnxKZcW8ZWxpfEplxZtsaSIKKysgIHRoZW46ICIqfFd0 ZWR5IgorKyAgYW5kOiAiKnxPcmF6fEkiCisrICBidXQ6ICIqfEFsZSIKKysicHQiOgorKyAgbmFt ZTogUG9ydHVndWVzZQorKyAgbmF0aXZlOiBwb3J0dWd1w6pzCisrICBiYWNrZ3JvdW5kOiBDb250 ZXh0bworKyAgZmVhdHVyZTogRnVuY2lvbmFsaWRhZGUKKysgIHNjZW5hcmlvOiBDZW7DoXJpb3xD ZW5hcmlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBFc3F1ZW1hIGRvIENlbsOhcmlvfEVzcXVlbWEg ZG8gQ2VuYXJpbworKyAgZXhhbXBsZXM6IEV4ZW1wbG9zCisrICBnaXZlbjogIip8RGFkb3xEYWRh fERhZG9zfERhZGFzIgorKyAgd2hlbjogIip8UXVhbmRvIgorKyAgdGhlbjogIip8RW50w6NvfEVu dGFvIgorKyAgYW5kOiAiKnxFIgorKyAgYnV0OiAiKnxNYXMiCisrInJvIjoKKysgIG5hbWU6IFJv bWFuaWFuCisrICBuYXRpdmU6IHJvbcOibsSDCisrICBiYWNrZ3JvdW5kOiBDb250ZXh0CisrICBm ZWF0dXJlOiBGdW5jdGlvbmFsaXRhdGV8RnVuY8ibaW9uYWxpdGF0ZXxGdW5jxaNpb25hbGl0YXRl CisrICBzY2VuYXJpbzogU2NlbmFyaXUKKysgIHNjZW5hcmlvX291dGxpbmU6IFN0cnVjdHVyYSBz Y2VuYXJpdXxTdHJ1Y3R1csSDIHNjZW5hcml1CisrICBleGFtcGxlczogRXhlbXBsZQorKyAgZ2l2 ZW46ICIqfERhdGUgZmlpbmR8RGF0IGZpaW5kfERhdGkgZmlpbmR8RGHIm2kgZmlpbmR8RGHFo2kg ZmlpbmQiCisrICB3aGVuOiAiKnxDYW5kfEPDom5kIgorKyAgdGhlbjogIip8QXR1bmNpIgorKyAg YW5kOiAiKnxTaXzImGl8xZ5pIgorKyAgYnV0OiAiKnxEYXIiCisrInJ1IjoKKysgIG5hbWU6IFJ1 c3NpYW4KKysgIG5hdGl2ZTog0YDRg9GB0YHQutC40LkKKysgIGZlYXR1cmU6INCk0YPQvdC60YbQ uNGPfNCk0YPQvdC60YbQuNC+0L3QsNC7fNCh0LLQvtC50YHRgtCy0L4KKysgIGJhY2tncm91bmQ6 INCf0YDQtdC00YvRgdGC0L7RgNC40Y980JrQvtC90YLQtdC60YHRggorKyAgc2NlbmFyaW86INCh 0YbQtdC90LDRgNC40LkKKysgIHNjZW5hcmlvX291dGxpbmU6INCh0YLRgNGD0LrRgtGD0YDQsCDR gdGG0LXQvdCw0YDQuNGPCisrICBleGFtcGxlczog0J/RgNC40LzQtdGA0YsKKysgIGdpdmVuOiAi KnzQlNC+0L/Rg9GB0YLQuNC8fNCU0LDQvdC+fNCf0YPRgdGC0YwiCisrICB3aGVuOiAiKnzQldGB 0LvQuHzQmtC+0LPQtNCwIgorKyAgdGhlbjogIip80KLQvnzQotC+0LPQtNCwIgorKyAgYW5kOiAi KnzQmHzQmiDRgtC+0LzRgyDQttC1IgorKyAgYnV0OiAiKnzQndC+fNCQIgorKyJzdiI6CisrICBu YW1lOiBTd2VkaXNoCisrICBuYXRpdmU6IFN2ZW5za2EKKysgIGZlYXR1cmU6IEVnZW5za2FwCisr ICBiYWNrZ3JvdW5kOiBCYWtncnVuZAorKyAgc2NlbmFyaW86IFNjZW5hcmlvCisrICBzY2VuYXJp b19vdXRsaW5lOiBBYnN0cmFrdCBTY2VuYXJpb3xTY2VuYXJpb21hbGwKKysgIGV4YW1wbGVzOiBF eGVtcGVsCisrICBnaXZlbjogIip8R2l2ZXQiCisrICB3aGVuOiAiKnxOw6RyIgorKyAgdGhlbjog Iip8U8OlIgorKyAgYW5kOiAiKnxPY2giCisrICBidXQ6ICIqfE1lbiIKKysic2siOgorKyAgbmFt ZTogU2xvdmFrCisrICBuYXRpdmU6IFNsb3ZlbnNreQorKyAgZmVhdHVyZTogUG/FvmlhZGF2a2EK KysgIGJhY2tncm91bmQ6IFBvemFkaWUKKysgIHNjZW5hcmlvOiBTY2Vuw6FyCisrICBzY2VuYXJp b19vdXRsaW5lOiBOw6HEjXJ0IFNjZW7DoXJ1CisrICBleGFtcGxlczogUHLDrWtsYWR5CisrICBn aXZlbjogIip8UG9raWHEviIKKysgIHdoZW46ICIqfEtlxI8iCisrICB0aGVuOiAiKnxUYWsiCisr ICBhbmQ6ICIqfEEiCisrICBidXQ6ICIqfEFsZSIKKysic3ItTGF0biI6CisrICBuYW1lOiBTZXJi aWFuIChMYXRpbikKKysgIG5hdGl2ZTogU3Jwc2tpIChMYXRpbmljYSkKKysgIGZlYXR1cmU6IEZ1 bmtjaW9uYWxub3N0fE1vZ3XEh25vc3R8TW9ndWNub3N0fE9zb2JpbmEKKysgIGJhY2tncm91bmQ6 IEtvbnRla3N0fE9zbm92YXxQb3phZGluYQorKyAgc2NlbmFyaW86IFNjZW5hcmlvfFByaW1lcgor KyAgc2NlbmFyaW9fb3V0bGluZTogU3RydWt0dXJhIHNjZW5hcmlqYXxTa2ljYXxLb25jZXB0Cisr ICBleGFtcGxlczogUHJpbWVyaXxTY2VuYXJpamkKKysgIGdpdmVuOiAiKnxaYWRhdG98WmFkYXRl fFphdGF0aSIKKysgIHdoZW46ICIqfEthZGF8S2FkIgorKyAgdGhlbjogIip8T25kYSIKKysgIGFu ZDogIip8SSIKKysgIGJ1dDogIip8QWxpIgorKyJzci1DeXJsIjoKKysgIG5hbWU6IFNlcmJpYW4K KysgIG5hdGl2ZTog0KHRgNC/0YHQutC4CisrICBmZWF0dXJlOiDQpNGD0L3QutGG0LjQvtC90LDQ u9C90L7RgdGCfNCc0L7Qs9GD0ZvQvdC+0YHRgnzQntGB0L7QsdC40L3QsAorKyAgYmFja2dyb3Vu ZDog0JrQvtC90YLQtdC60YHRgnzQntGB0L3QvtCy0LB80J/QvtC30LDQtNC40L3QsAorKyAgc2Nl bmFyaW86INCh0YbQtdC90LDRgNC40L580J/RgNC40LzQtdGACisrICBzY2VuYXJpb19vdXRsaW5l OiDQodGC0YDRg9C60YLRg9GA0LAg0YHRhtC10L3QsNGA0LjRmNCwfNCh0LrQuNGG0LB80JrQvtC9 0YbQtdC/0YIKKysgIGV4YW1wbGVzOiDQn9GA0LjQvNC10YDQuHzQodGG0LXQvdCw0YDQuNGY0LgK KysgIGdpdmVuOiAiKnzQl9Cw0LTQsNGC0L580JfQsNC00LDRgtC1fNCX0LDQtNCw0YLQuCIKKysg IHdoZW46ICIqfNCa0LDQtNCwfNCa0LDQtCIKKysgIHRoZW46ICIqfNCe0L3QtNCwIgorKyAgYW5k OiAiKnzQmCIKKysgIGJ1dDogIip80JDQu9C4IgorKyJ0ciI6CisrICBuYW1lOiBUdXJraXNoCisr ICBuYXRpdmU6IFTDvHJrw6dlCisrICBmZWF0dXJlOiDDlnplbGxpaworKyAgYmFja2dyb3VuZDog R2XDp21pxZ8KKysgIHNjZW5hcmlvOiBTZW5hcnlvCisrICBzY2VuYXJpb19vdXRsaW5lOiBTZW5h cnlvIHRhc2xhxJ/EsQorKyAgZXhhbXBsZXM6IMOWcm5la2xlcgorKyAgZ2l2ZW46ICIqfERpeWVs aW0ga2kiCisrICB3aGVuOiAiKnxFxJ9lciBraSIKKysgIHRoZW46ICIqfE8gemFtYW4iCisrICBh bmQ6ICIqfFZlIgorKyAgYnV0OiAiKnxGYWthdHxBbWEiCisrInVrIjoKKysgIG5hbWU6IFVrcmFp bmlhbgorKyAgbmF0aXZlOiDQo9C60YDQsNGX0L3RgdGM0LrQsAorKyAgZmVhdHVyZTog0KTRg9C9 0LrRhtGW0L7QvdCw0LsKKysgIGJhY2tncm91bmQ6INCf0LXRgNC10LTRg9C80L7QstCwCisrICBz Y2VuYXJpbzog0KHRhtC10L3QsNGA0ZbQuQorKyAgc2NlbmFyaW9fb3V0bGluZTog0KHRgtGA0YPQ utGC0YPRgNCwINGB0YbQtdC90LDRgNGW0Y4KKysgIGV4YW1wbGVzOiDQn9GA0LjQutC70LDQtNC4 CisrICBnaXZlbjogIip80J/RgNC40L/Rg9GB0YLQuNC80L580J/RgNC40L/Rg9GB0YLQuNC80L4s INGJ0L580J3QtdGF0LDQuXzQlNCw0L3QviIKKysgIHdoZW46ICIqfNCv0LrRidC+fNCa0L7Qu9C4 IgorKyAgdGhlbjogIip80KLQvnzQotC+0LTRliIKKysgIGFuZDogIip80IZ80JAg0YLQsNC60L7Q tnzQotCwIgorKyAgYnV0OiAiKnzQkNC70LUiCisrInV6IjoKKysgIG5hbWU6IFV6YmVrCisrICBu YXRpdmU6INCj0LfQsdC10LrRh9CwCisrICBmZWF0dXJlOiDQpNGD0L3QutGG0LjQvtC90LDQuwor KyAgYmFja2dyb3VuZDog0KLQsNGA0LjRhQorKyAgc2NlbmFyaW86INCh0YbQtdC90LDRgNC40LkK KysgIHNjZW5hcmlvX291dGxpbmU6INCh0YbQtdC90LDRgNC40Lkg0YHRgtGA0YPQutGC0YPRgNCw 0YHQuAorKyAgZXhhbXBsZXM6INCc0LjRgdC+0LvQu9Cw0YAKKysgIGdpdmVuOiAiKnzQkNCz0LDR gCIKKysgIHdoZW46ICIqfNCQ0LPQsNGAIgorKyAgdGhlbjogIip80KPQvdC00LAiCisrICBhbmQ6 ICIqfNCS0LAiCisrICBidXQ6ICIqfNCb0LXQutC40L180JHQuNGA0L7QunzQkNC80LzQviIKKysi dmkiOgorKyAgbmFtZTogVmlldG5hbWVzZQorKyAgbmF0aXZlOiBUaeG6v25nIFZp4buHdAorKyAg ZmVhdHVyZTogVMOtbmggbsSDbmcKKysgIGJhY2tncm91bmQ6IELhu5FpIGPhuqNuaAorKyAgc2Nl bmFyaW86IFTDrG5oIGh14buRbmd8S+G7i2NoIGLhuqNuCisrICBzY2VuYXJpb19vdXRsaW5lOiBL aHVuZyB0w6xuaCBodeG7kW5nfEtodW5nIGvhu4tjaCBi4bqjbgorKyAgZXhhbXBsZXM6IEThu68g bGnhu4d1CisrICBnaXZlbjogIip8Qmnhur90fENobyIKKysgIHdoZW46ICIqfEtoaSIKKysgIHRo ZW46ICIqfFRow6wiCisrICBhbmQ6ICIqfFbDoCIKKysgIGJ1dDogIip8TmjGsG5nIgorKyJ6aC1D TiI6CisrICBuYW1lOiBDaGluZXNlIHNpbXBsaWZpZWQKKysgIG5hdGl2ZTog566A5L2T5Lit5paH CisrICBmZWF0dXJlOiDlip/og70KKysgIGJhY2tncm91bmQ6IOiDjOaZrworKyAgc2NlbmFyaW86 IOWcuuaZrworKyAgc2NlbmFyaW9fb3V0bGluZTog5Zy65pmv5aSn57qyCisrICBleGFtcGxlczog 5L6L5a2QCisrICBnaXZlbjogIip85YGH5aaCPCIKKysgIHdoZW46ICIqfOW9kzwiCisrICB0aGVu OiAiKnzpgqPkuYg8IgorKyAgYW5kOiAiKnzogIzkuJQ8IgorKyAgYnV0OiAiKnzkvYbmmK88Igor KyJ6aC1UVyI6CisrICBuYW1lOiBDaGluZXNlIHRyYWRpdGlvbmFsCisrICBuYXRpdmU6IOe5gemr lOS4reaWhworKyAgZmVhdHVyZTog5Yqf6IO9CisrICBiYWNrZ3JvdW5kOiDog4zmma8KKysgIHNj ZW5hcmlvOiDloLTmma985YqH5pysCisrICBzY2VuYXJpb19vdXRsaW5lOiDloLTmma/lpKfntrF8 5YqH5pys5aSn57axCisrICBleGFtcGxlczog5L6L5a2QCisrICBnaXZlbjogIip85YGH6KitPCIK KysgIHdoZW46ICIqfOeVtjwiCisrICB0aGVuOiAiKnzpgqPpurw8IgorKyAgYW5kOiAiKnzogIzk uJQ8fOS4puS4lDwiCisrICBidXQ6ICIqfOS9huaYrzwiCitkaWZmIC0tZ2l0IGEvYmluL2doZXJr aW4tbGFuZ3VhZ2VzLmpzb24gYi9iaW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgorZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCBkMmQ1ZTkzLi4wMDAwMDAwCistLS0gYS9iaW4vZ2hlcmtp bi1sYW5ndWFnZXMuanNvbgorKysrIC9kZXYvbnVsbAorQEAgLTEsMzE5MyArMCwwIEBACistewor LSAgImFmIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkVuICIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkFndGVyZ3JvbmQiCistICAgIF0s CistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWFhciAiCistICAgIF0sCist ICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiVm9vcmJlZWxkZSIKKy0gICAgXSwKKy0gICAgImZl YXR1cmUiOiBbCistICAgICAgIkZ1bmtzaWUiLAorLSAgICAgICJCZXNpZ2hlaWQgQmVob2VmdGUi LAorLSAgICAgICJWZXJtb8OrIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAiR2VnZXdlICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQWZyaWthYW5zIiwK Ky0gICAgIm5hdGl2ZSI6ICJBZnJpa2FhbnMiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAg IlNpdHVhc2llIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJT aXR1YXNpZSBVaXRlZW5zZXR0aW5nIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJEYW4gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJXYW5uZWVyICIKKy0gICAgXQorLSAgfSwKKy0gICJhbSI6IHsKKy0gICAgImFu ZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLUtdW+ICIKKy0gICAgXSwKKy0gICAgImJhY2tn cm91bmQiOiBbCistICAgICAgItS/1bjVttW/1aXWhNW91b8iCistICAgIF0sCistICAgICJidXQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAi1LLVodW11oEgIgorLSAgICBdLAorLSAgICAiZXhh bXBsZXMiOiBbCistICAgICAgItWV1oDVq9W21aHVr9W21aXWgCIKKy0gICAgXSwKKy0gICAgImZl YXR1cmUiOiBbCistICAgICAgItWW1bjWgtW21a/WgdWr1bjVttWh1azVuNaC1anVtdW41oLVtiIs CistICAgICAgItWA1aHVv9Wv1bjWgtWp1bXVuNaC1bYiCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLUtNWr1oHVuNaC1oQgIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJBcm1lbmlhbiIsCistICAgICJuYXRpdmUiOiAi1bDVodW11aXWgNWl1bYiLAorLSAg ICAic2NlbmFyaW8iOiBbCistICAgICAgItWN1oHVpdW21aHWgCIKKy0gICAgXSwKKy0gICAgInNj ZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi1Y3WgdWl1bbVodaA1asg1a/VodW81bjWgtaB1b7V odaB1oTVqCIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi 1LHVutWhICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi 1LXVqdWlICIsCistICAgICAgItS11oDVoiAiCistICAgIF0KKy0gIH0sCistICAiYXIiOiB7Cist ICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2YggIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAi2KfZhNiu2YTZgdmK2KkiCistICAgIF0sCistICAgICJi dXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2YTZg9mGICIKKy0gICAgXSwKKy0gICAgImV4 YW1wbGVzIjogWworLSAgICAgICLYp9mF2KvZhNipIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6 IFsKKy0gICAgICAi2K7Yp9i12YrYqSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAg ICIqICIsCistICAgICAgItio2YHYsdi2ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQXJhYmlj IiwKKy0gICAgIm5hdGl2ZSI6ICLYp9mE2LnYsdio2YrYqSIsCistICAgICJzY2VuYXJpbyI6IFsK Ky0gICAgICAi2LPZitmG2KfYsdmK2YgiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgItiz2YrZhtin2LHZitmIINmF2K7Yt9i3IgorLSAgICBdLAorLSAgICAidGhl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLYp9iw2KfZiyAiLAorLSAgICAgICLYq9mFICIK Ky0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2YXYqtmJICIs CistICAgICAgIti52YbYr9mF2KcgIgorLSAgICBdCistICB9LAorLSAgImFzdCI6IHsKKy0gICAg ImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJZICIsCistICAgICAgIllhICIKKy0gICAg XSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkFudGVjZWRlbnRlcyIKKy0gICAgXSwK Ky0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJQZXJ1ICIKKy0gICAgXSwKKy0g ICAgImV4YW1wbGVzIjogWworLSAgICAgICJFeGVtcGxvcyIKKy0gICAgXSwKKy0gICAgImZlYXR1 cmUiOiBbCistICAgICAgIkNhcmF1dGVyw61zdGljYSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjog WworLSAgICAgICIqICIsCistICAgICAgIkTDoXUgIiwKKy0gICAgICAiRGFkYSAiLAorLSAgICAg ICJEYW9zICIsCistICAgICAgIkRhZXMgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJBc3R1cmlh biIsCistICAgICJuYXRpdmUiOiAiYXN0dXJpYW51IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICJDYXN1IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJF c2JvenUgZGVsIGNhc3UiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIkVudMOzcyAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCist ICAgICAgIkN1YW5kbyAiCistICAgIF0KKy0gIH0sCistICAiYXoiOiB7CistICAgICJhbmQiOiBb CistICAgICAgIiogIiwKKy0gICAgICAiVsmZICIsCistICAgICAgIkjJmW0gIgorLSAgICBdLAor LSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiS2XDp21pxZ8iLAorLSAgICAgICJLb250ZWtz dCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbW1hICIs CistICAgICAgIkFuY2FxICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJO w7xtdW7JmWzJmXIiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLDlnrJmWxs aWsiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUdXRh cSBraSAiLAorLSAgICAgICJWZXJpbGlyICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQXplcmJh aWphbmkiLAorLSAgICAibmF0aXZlIjogIkF6yZlyYmF5Y2FuY2EiLAorLSAgICAic2NlbmFyaW8i OiBbCistICAgICAgIlNzZW5hcmkiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBb CistICAgICAgIlNzZW5hcmluaW4gc3RydWt0dXJ1IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJPIGhhbGRhICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBb CistICAgICAgIiogIiwKKy0gICAgICAixo9nyZlyICIsCistICAgICAgIk7JmSB2YXh0IGtpICIK Ky0gICAgXQorLSAgfSwKKy0gICJiZyI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICLQmCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQn9GA 0LXQtNC40YHRgtC+0YDQuNGPIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgItCd0L4gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItCf 0YDQuNC80LXRgNC4IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi0KTRg9C9 0LrRhtC40L7QvdCw0LvQvdC+0YHRgiIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAg ICIqICIsCistICAgICAgItCU0LDQtNC10L3QviAiCistICAgIF0sCistICAgICJuYW1lIjogIkJ1 bGdhcmlhbiIsCistICAgICJuYXRpdmUiOiAi0LHRitC70LPQsNGA0YHQutC4IiwKKy0gICAgInNj ZW5hcmlvIjogWworLSAgICAgICLQodGG0LXQvdCw0YDQuNC5IgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQoNCw0LzQutCwINC90LAg0YHRhtC10L3QsNGA0LjQ uSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KLQviAi CistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCa0L7Qs9Cw 0YLQviAiCistICAgIF0KKy0gIH0sCistICAiYm0iOiB7CistICAgICJhbmQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiRGFuICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAg ICAgIkxhdGFyIEJlbGFrYW5nIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgIlRldGFwaSAiLAorLSAgICAgICJUYXBpICIKKy0gICAgXSwKKy0gICAgImV4YW1w bGVzIjogWworLSAgICAgICJDb250b2giCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICJGdW5nc2kiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJEaWJlcmkgIiwKKy0gICAgICAiQmFnaSAiCistICAgIF0sCistICAgICJuYW1lIjogIk1h bGF5IiwKKy0gICAgIm5hdGl2ZSI6ICJCYWhhc2EgTWVsYXl1IiwKKy0gICAgInNjZW5hcmlvIjog WworLSAgICAgICJTZW5hcmlvIiwKKy0gICAgICAiU2l0dWFzaSIsCistICAgICAgIktlYWRhYW4i CistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIktlcmFuZ2thIFNl bmFyaW8iLAorLSAgICAgICJLZXJhbmdrYSBTaXR1YXNpIiwKKy0gICAgICAiS2VyYW5na2EgS2Vh ZGFhbiIsCistICAgICAgIkdhcmlzIFBhbmR1YW4gU2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInRo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWFrYSAiLAorLSAgICAgICJLZW11ZGlhbiAi CistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkFwYWJpbGEg IgorLSAgICBdCistICB9LAorLSAgImJzIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIs CistICAgICAgIkkgIiwKKy0gICAgICAiQSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjog WworLSAgICAgICJQb3phZGluYSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJBbGkgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlBy aW1qZXJpIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiS2FyYWt0ZXJpc3Rp a2EiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYXRv ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQm9zbmlhbiIsCistICAgICJuYXRpdmUiOiAiQm9z YW5za2kiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlqdSIsCistICAgICAg IlNjZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJT Y2VuYXJpanUtb2JyaXMiLAorLSAgICAgICJTY2VuYXJpby1vdXRsaW5lIgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJaYXRpbSAiCistICAgIF0sCistICAg ICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkthZGEgIgorLSAgICBdCistICB9LAor LSAgImNhIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkkgIgorLSAg ICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiUmVyZWZvbnMiLAorLSAgICAgICJB bnRlY2VkZW50cyIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJQZXLDsiAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXhlbXBsZXMi CistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJDYXJhY3RlcsOtc3RpY2EiLAor LSAgICAgICJGdW5jaW9uYWxpdGF0IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAiRG9uYXQgIiwKKy0gICAgICAiRG9uYWRhICIsCistICAgICAgIkF0w6hz ICIsCistICAgICAgIkF0ZXNhICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQ2F0YWxhbiIsCist ICAgICJuYXRpdmUiOiAiY2F0YWzDoCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiRXNj ZW5hcmkiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkVzcXVl bWEgZGUgbCdlc2NlbmFyaSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiQWxlc2hvcmVzICIsCistICAgICAgIkNhbCAiCistICAgIF0sCistICAgICJ3aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgIlF1YW4gIgorLSAgICBdCistICB9LAorLSAgImNz IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkEgdGFrw6kgIiwKKy0g ICAgICAiQSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJQb3phZMOt IiwKKy0gICAgICAiS29udGV4dCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICJBbGUgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlDF mcOta2xhZHkiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJQb8W+YWRhdmVr IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiUG9rdWQg IiwKKy0gICAgICAiWmEgcMWZZWRwb2tsYWR1ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQ3pl Y2giLAorLSAgICAibmF0aXZlIjogIsSMZXNreSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAg ICAiU2PDqW7DocWZIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICJOw6HEjXJ0IFNjw6luw6HFmWUiLAorLSAgICAgICJPc25vdmEgc2PDqW7DocWZZSIKKy0gICAg XSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiUGFrICIKKy0gICAgXSwK Ky0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS2R5xb4gIgorLSAgICBdCist ICB9LAorLSAgImN5LUdCIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAg IkEgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQ2VmbmRpciIKKy0g ICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPbmQgIgorLSAgICBd LAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkVuZ2hyZWlmZnRpYXUiCistICAgIF0sCist ICAgICJmZWF0dXJlIjogWworLSAgICAgICJBcndlZGQiCistICAgIF0sCistICAgICJnaXZlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbnJoZWdlZGlnIGEgIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJXZWxzaCIsCistICAgICJuYXRpdmUiOiAiQ3ltcmFlZyIsCistICAgICJzY2VuYXJp byI6IFsKKy0gICAgICAiU2NlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgIlNjZW5hcmlvIEFtbGluZWxsb2wiCistICAgIF0sCistICAgICJ0aGVuIjog WworLSAgICAgICIqICIsCistICAgICAgIlluYSAiCistICAgIF0sCistICAgICJ3aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIlByeWQgIgorLSAgICBdCistICB9LAorLSAgImRhIjogewor LSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIk9nICIKKy0gICAgXSwKKy0gICAg ImJhY2tncm91bmQiOiBbCistICAgICAgIkJhZ2dydW5kIgorLSAgICBdLAorLSAgICAiYnV0Ijog WworLSAgICAgICIqICIsCistICAgICAgIk1lbiAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6 IFsKKy0gICAgICAiRWtzZW1wbGVyIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAg ICAiRWdlbnNrYWIiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJHaXZldCAiCistICAgIF0sCistICAgICJuYW1lIjogIkRhbmlzaCIsCistICAgICJuYXRp dmUiOiAiZGFuc2siLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmllIgorLSAg ICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJBYnN0cmFrdCBTY2VuYXJp byIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiU8OlICIK Ky0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTsOlciAiCist ICAgIF0KKy0gIH0sCistICAiZGUiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiVW5kICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkdydW5k bGFnZSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBYmVy ICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJCZWlzcGllbGUiCistICAg IF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGdW5rdGlvbmFsaXTDpHQiCistICAgIF0s CistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbmdlbm9tbWVuICIsCist ICAgICAgIkdlZ2ViZW4gc2VpICIsCistICAgICAgIkdlZ2ViZW4gc2VpZW4gIgorLSAgICBdLAor LSAgICAibmFtZSI6ICJHZXJtYW4iLAorLSAgICAibmF0aXZlIjogIkRldXRzY2giLAorLSAgICAi c2NlbmFyaW8iOiBbCistICAgICAgIlN6ZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9P dXRsaW5lIjogWworLSAgICAgICJTemVuYXJpb2dydW5kcmlzcyIKKy0gICAgXSwKKy0gICAgInRo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGFubiAiCistICAgIF0sCistICAgICJ3aGVu IjogWworLSAgICAgICIqICIsCistICAgICAgIldlbm4gIgorLSAgICBdCistICB9LAorLSAgImVs IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIs6azrHOuSAiCistICAg IF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLOpc+Az4zOss6xzrjPgc6/IgorLSAg ICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIs6RzrvOu86sICIKKy0g ICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLOoM6xz4HOsc60zrXOr86zzrzOsc+E zrEiLAorLSAgICAgICLOo861zr3OrM+BzrnOsSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBb CistICAgICAgIs6Uz4XOvc6xz4TPjM+EzrfPhM6xIiwKKy0gICAgICAizpvOtc65z4TOv8+Fz4HO s86vzrEiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLO lM61zrTOv868zq3Ovc6/z4UgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJHcmVlayIsCistICAg ICJuYXRpdmUiOiAizpXOu867zrfOvc65zrrOrCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAg ICAizqPOtc69zqzPgc65zr8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgIs6gzrXPgc65zrPPgc6xz4bOriDOo861zr3Osc+Bzq/Ov8+FIiwKKy0gICAgICAizqDO tc+Bzq/Os8+BzrHOvM68zrEgzqPOtc69zrHPgc6vzr/PhSIKKy0gICAgXSwKKy0gICAgInRoZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAizqTPjM+EzrUgIgorLSAgICBdLAorLSAgICAid2hl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLOjM+EzrHOvSAiCistICAgIF0KKy0gIH0sCist ICAiZW0iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi8J+YgiIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIvCfkqQiCistICAgIF0sCistICAg ICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi8J+YlCIKKy0gICAgXSwKKy0gICAgImV4 YW1wbGVzIjogWworLSAgICAgICLwn5OTIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0g ICAgICAi8J+TmiIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIvCfmJAiCistICAgIF0sCistICAgICJuYW1lIjogIkVtb2ppIiwKKy0gICAgIm5hdGl2ZSI6 ICLwn5iAIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLwn5OVIgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLwn5OWIgorLSAgICBdLAorLSAgICAidGhl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLwn5mPIgorLSAgICBdLAorLSAgICAid2hlbiI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLwn46sIgorLSAgICBdCistICB9LAorLSAgImVuIjog eworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkFuZCAiCistICAgIF0sCist ICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJCYWNrZ3JvdW5kIgorLSAgICBdLAorLSAgICAi YnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkJ1dCAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAiRXhhbXBsZXMiLAorLSAgICAgICJTY2VuYXJpb3MiCistICAgIF0s CistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGZWF0dXJlIiwKKy0gICAgICAiQnVzaW5lc3Mg TmVlZCIsCistICAgICAgIkFiaWxpdHkiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJHaXZlbiAiCistICAgIF0sCistICAgICJuYW1lIjogIkVuZ2xpc2gi LAorLSAgICAibmF0aXZlIjogIkVuZ2xpc2giLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAg IlNjZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJT Y2VuYXJpbyBPdXRsaW5lIiwKKy0gICAgICAiU2NlbmFyaW8gVGVtcGxhdGUiCistICAgIF0sCist ICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlRoZW4gIgorLSAgICBdLAorLSAg ICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJXaGVuICIKKy0gICAgXQorLSAgfSwK Ky0gICJlbi1TY291c2UiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi QW4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiRGlzIGlzIHdoYXQg d2VudCBkb3duIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAg IkJ1aCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiRXhhbXBsZXMiCist ICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGZWF0dXJlIgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiR2l2dW4gIiwKKy0gICAgICAiWW91 c2Uga25vdyB3aGVuIHlvdXNlIGdvdCAiCistICAgIF0sCistICAgICJuYW1lIjogIlNjb3VzZSIs CistICAgICJuYXRpdmUiOiAiU2NvdXNlIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJU aGUgdGhpbmcgb2YgaXQgaXMiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgIldoYXJyaW1lYW4gaXMiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIkR1biAiLAorLSAgICAgICJEZW4geW91c2UgZ290dGEgIgorLSAgICBdLAor LSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJXdW4gIiwKKy0gICAgICAiWW91 c2Uga25vdyBsaWtlIHdoZW4gIgorLSAgICBdCistICB9LAorLSAgImVuLWF1IjogeworLSAgICAi YW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIlRvbyByaWdodCAiCistICAgIF0sCistICAg ICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJGaXJzdCBvZmYiCistICAgIF0sCistICAgICJidXQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAiWWVhaCBuYWggIgorLSAgICBdLAorLSAgICAiZXhh bXBsZXMiOiBbCistICAgICAgIllvdSdsbCB3YW5uYSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUi OiBbCistICAgICAgIlByZXR0eSBtdWNoIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAg ICAgIiogIiwKKy0gICAgICAiWSdrbm93ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQXVzdHJh bGlhbiIsCistICAgICJuYXRpdmUiOiAiQXVzdHJhbGlhbiIsCistICAgICJzY2VuYXJpbyI6IFsK Ky0gICAgICAiQXd3dywgbG9vayBtYXRlIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5l IjogWworLSAgICAgICJSZWNrb24gaXQncyBsaWtlIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJCdXQgYXQgdGhlIGVuZCBvZiB0aGUgZGF5IEkgcmVja29u ICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiSXQncyBq dXN0IHVuYmVsaWV2YWJsZSAiCistICAgIF0KKy0gIH0sCistICAiZW4tbG9sIjogeworLSAgICAi YW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkFOICIKKy0gICAgXSwKKy0gICAgImJhY2tn cm91bmQiOiBbCistICAgICAgIkI0IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIq ICIsCistICAgICAgIkJVVCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi RVhBTVBMWiIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIk9IIEhBSSIKKy0g ICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkkgQ0FOIEhBWiAi CistICAgIF0sCistICAgICJuYW1lIjogIkxPTENBVCIsCistICAgICJuYXRpdmUiOiAiTE9MQ0FU IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJNSVNIVU4iCistICAgIF0sCistICAgICJz Y2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIk1JU0hVTiBTUlNMWSIKKy0gICAgXSwKKy0gICAg InRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiREVOICIKKy0gICAgXSwKKy0gICAgIndo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiV0VOICIKKy0gICAgXQorLSAgfSwKKy0gICJl bi1vbGQiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiT25kICIsCist ICAgICAgIjcgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQWVyIiwK Ky0gICAgICAiw4ZyIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAg ICAgIkFjICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJTZSB0aGUiLAor LSAgICAgICJTZSDDvmUiLAorLSAgICAgICJTZSDDsGUiCistICAgIF0sCistICAgICJmZWF0dXJl IjogWworLSAgICAgICJId2FldCIsCistICAgICAgIkh3w6Z0IgorLSAgICBdLAorLSAgICAiZ2l2 ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiVGh1cmggIiwKKy0gICAgICAiw551cmggIiwK Ky0gICAgICAiw5B1cmggIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJPbGQgRW5nbGlzaCIsCist ICAgICJuYXRpdmUiOiAiRW5nbGlzYyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU3dh IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTd2EgaHdhZXIg c3dhIiwKKy0gICAgICAiU3dhIGh3w6ZyIHN3YSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiVGhhICIsCistICAgICAgIsOeYSAiLAorLSAgICAgICLDkGEg IiwKKy0gICAgICAiVGhhIHRoZSAiLAorLSAgICAgICLDnmEgw75lICIsCistICAgICAgIsOQYSDD sGUgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUaGEg IiwKKy0gICAgICAiw55hICIsCistICAgICAgIsOQYSAiCistICAgIF0KKy0gIH0sCistICAiZW4t cGlyYXRlIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkF5ZSAiCist ICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJZby1oby1obyIKKy0gICAgXSwK Ky0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBdmFzdCEgIgorLSAgICBdLAor LSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkRlYWQgbWVuIHRlbGwgbm8gdGFsZXMiCistICAg IF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJBaG95IG1hdGV5ISIKKy0gICAgXSwKKy0g ICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkdhbmd3YXkhICIKKy0gICAgXSwK Ky0gICAgIm5hbWUiOiAiUGlyYXRlIiwKKy0gICAgIm5hdGl2ZSI6ICJQaXJhdGUiLAorLSAgICAi c2NlbmFyaW8iOiBbCistICAgICAgIkhlYXZlIHRvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9P dXRsaW5lIjogWworLSAgICAgICJTaGl2ZXIgbWUgdGltYmVycyIKKy0gICAgXSwKKy0gICAgInRo ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTGV0IGdvIGFuZCBoYXVsICIKKy0gICAgXSwK Ky0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQmxpbWV5ISAiCistICAgIF0K Ky0gIH0sCistICAiZW8iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi S2FqICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkZvbm8iCistICAg IF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiU2VkICIKKy0gICAgXSwK Ky0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJFa3plbXBsb2oiCistICAgIF0sCistICAgICJm ZWF0dXJlIjogWworLSAgICAgICJUcmFqdG8iCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJEb25pdGHEtW8gIiwKKy0gICAgICAiS29tZW5jZSAiCistICAg IF0sCistICAgICJuYW1lIjogIkVzcGVyYW50byIsCistICAgICJuYXRpdmUiOiAiRXNwZXJhbnRv IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJvIiwKKy0gICAgICAiS2F6byIK Ky0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiS29udHVybyBkZSBs YSBzY2VuYXJvIiwKKy0gICAgICAiU2tpem8iLAorLSAgICAgICJLYXpvLXNraXpvIgorLSAgICBd LAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEbyAiCistICAgIF0sCist ICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlNlICIKKy0gICAgXQorLSAgfSwK Ky0gICJlcyI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJZICIsCist ICAgICAgIkUgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQW50ZWNl ZGVudGVzIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIlBl cm8gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkVqZW1wbG9zIgorLSAg ICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiQ2FyYWN0ZXLDrXN0aWNhIgorLSAgICBd LAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGFkbyAiLAorLSAgICAg ICJEYWRhICIsCistICAgICAgIkRhZG9zICIsCistICAgICAgIkRhZGFzICIKKy0gICAgXSwKKy0g ICAgIm5hbWUiOiAiU3BhbmlzaCIsCistICAgICJuYXRpdmUiOiAiZXNwYcOxb2wiLAorLSAgICAi c2NlbmFyaW8iOiBbCistICAgICAgIkVzY2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlv T3V0bGluZSI6IFsKKy0gICAgICAiRXNxdWVtYSBkZWwgZXNjZW5hcmlvIgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJFbnRvbmNlcyAiCistICAgIF0sCist ICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkN1YW5kbyAiCistICAgIF0KKy0g IH0sCistICAiZXQiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiSmEg IgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiVGF1c3QiCistICAgIF0s CistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS3VpZCAiCistICAgIF0sCist ICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiSnVodHVtaWQiCistICAgIF0sCistICAgICJmZWF0 dXJlIjogWworLSAgICAgICJPbWFkdXMiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJFZWxkYWRlcyAiCistICAgIF0sCistICAgICJuYW1lIjogIkVzdG9u aWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJlZXN0aSBrZWVsIiwKKy0gICAgInNjZW5hcmlvIjogWwor LSAgICAgICJTdHNlbmFhcml1bSIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsK Ky0gICAgICAiUmFhbXN0c2VuYWFyaXVtIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJTaWlzICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAiS3VpICIKKy0gICAgXQorLSAgfSwKKy0gICJmYSI6IHsKKy0gICAgImFu ZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLZiCAiCistICAgIF0sCistICAgICJiYWNrZ3Jv dW5kIjogWworLSAgICAgICLYstmF24zZhtmHIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAg ICAgICIqICIsCistICAgICAgItin2YXYpyAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsK Ky0gICAgICAi2YbZhdmI2YbZhyDZh9inIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0g ICAgICAi2YjZkNuM2pjar9uMIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAi2KjYpyDZgdix2LYgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJQZXJzaWFu IiwKKy0gICAgIm5hdGl2ZSI6ICLZgdin2LHYs9uMIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICLYs9mG2KfYsduM2YgiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgItin2YTar9mI24wg2LPZhtin2LHbjNmIIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLYotmG2q/Yp9mHICIKKy0gICAgXSwKKy0gICAgIndoZW4i OiBbCistICAgICAgIiogIiwKKy0gICAgICAi2YfZhtqv2KfZhduMICIKKy0gICAgXQorLSAgfSwK Ky0gICJmaSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJKYSAiCist ICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJUYXVzdGEiCistICAgIF0sCist ICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTXV0dGEgIgorLSAgICBdLAorLSAg ICAiZXhhbXBsZXMiOiBbCistICAgICAgIlRhcGF1a3NldCIKKy0gICAgXSwKKy0gICAgImZlYXR1 cmUiOiBbCistICAgICAgIk9taW5haXN1dXMiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJPbGV0ZXRhYW4gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJG aW5uaXNoIiwKKy0gICAgIm5hdGl2ZSI6ICJzdW9taSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0g ICAgICAiVGFwYXVzIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICJUYXBhdXNhaWhpbyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiTmlpbiAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIkt1biAiCistICAgIF0KKy0gIH0sCistICAiZnIiOiB7CistICAgICJhbmQiOiBbCistICAg ICAgIiogIiwKKy0gICAgICAiRXQgcXVlICIsCistICAgICAgIkV0IHF1JyIsCistICAgICAgIkV0 ICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIkNvbnRleHRlIgorLSAg ICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIk1haXMgcXVlICIsCist ICAgICAgIk1haXMgcXUnIiwKKy0gICAgICAiTWFpcyAiCistICAgIF0sCistICAgICJleGFtcGxl cyI6IFsKKy0gICAgICAiRXhlbXBsZXMiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAg ICAgICJGb25jdGlvbm5hbGl0w6kiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJTb2l0ICIsCistICAgICAgIkV0YW50IGRvbm7DqSBxdWUgIiwKKy0gICAg ICAiRXRhbnQgZG9ubsOpIHF1JyIsCistICAgICAgIkV0YW50IGRvbm7DqSAiLAorLSAgICAgICJF dGFudCBkb25uw6llICIsCistICAgICAgIkV0YW50IGRvbm7DqXMgIiwKKy0gICAgICAiRXRhbnQg ZG9ubsOpZXMgIiwKKy0gICAgICAiw4l0YW50IGRvbm7DqSBxdWUgIiwKKy0gICAgICAiw4l0YW50 IGRvbm7DqSBxdSciLAorLSAgICAgICLDiXRhbnQgZG9ubsOpICIsCistICAgICAgIsOJdGFudCBk b25uw6llICIsCistICAgICAgIsOJdGFudCBkb25uw6lzICIsCistICAgICAgIsOJdGFudCBkb25u w6llcyAiCistICAgIF0sCistICAgICJuYW1lIjogIkZyZW5jaCIsCistICAgICJuYXRpdmUiOiAi ZnJhbsOnYWlzIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY8OpbmFyaW8iCistICAg IF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlBsYW4gZHUgc2PDqW5hcmlv IiwKKy0gICAgICAiUGxhbiBkdSBTY8OpbmFyaW8iCistICAgIF0sCistICAgICJ0aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIkFsb3JzICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiUXVhbmQgIiwKKy0gICAgICAiTG9yc3F1ZSAiLAorLSAgICAg ICJMb3JzcXUnIgorLSAgICBdCistICB9LAorLSAgImdhIjogeworLSAgICAiYW5kIjogWworLSAg ICAgICIqICIsCistICAgICAgIkFndXMiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWwor LSAgICAgICJDw7pscmEiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiQWNoIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlNhbXBsYcOt IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiR27DqSIKKy0gICAgXSwKKy0g ICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkN1aXIgaSBnY8OhcyBnbyIsCist ICAgICAgIkN1aXIgaSBnY8OhcyBuYWNoIiwKKy0gICAgICAiQ3VpciBpIGdjw6FzIGd1ciIsCist ICAgICAgIkN1aXIgaSBnY8OhcyBuw6FyIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJJcmlzaCIs CistICAgICJuYXRpdmUiOiAiR2FlaWxnZSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi Q8OhcyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiQ8OhcyBB Y2hvbWFpciIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi QW5zaW4iCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk51 YWlyIGEiLAorLSAgICAgICJOdWFpciBuYWNoIiwKKy0gICAgICAiTnVhaXIgYmEiLAorLSAgICAg ICJOdWFpciBuw6FyIgorLSAgICBdCistICB9LAorLSAgImdqIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIuCqheCqqOCrhyAiCistICAgIF0sCistICAgICJiYWNrZ3Jv dW5kIjogWworLSAgICAgICLgqqzgq4fgqpXgqpfgq43gqrDgqr7gqongqqjgq43gqqEiCistICAg IF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4Kqq4KqjICIKKy0gICAg XSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLgqongqqbgqr7gqrngqrDgqqPgq4siCist ICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLgqrLgqpXgq43gqrfgqqMiLAorLSAg ICAgICLgqrXgq43gqq/gqr7gqqrgqr7gqrAg4Kqc4Kqw4KuC4KqwIiwKKy0gICAgICAi4KqV4KuN 4Kq34Kqu4Kqk4Kq+IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAi4KqG4Kqq4KuH4KqyIOCqm+CrhyAiCistICAgIF0sCistICAgICJuYW1lIjogIkd1amFy YXRpIiwKKy0gICAgIm5hdGl2ZSI6ICLgqpfgq4HgqpzgqrDgqr7gqqTgq4AiLAorLSAgICAic2Nl bmFyaW8iOiBbCistICAgICAgIuCquOCrjeCqpeCqv+CqpOCqvyIKKy0gICAgXSwKKy0gICAgInNj ZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi4Kqq4Kqw4Kq/4Kqm4KuN4Kqm4Kq24KuN4KqvIOCq sOCrguCqquCqsOCrh+CqluCqviIsCistICAgICAgIuCqquCqsOCqv+CqpuCrjeCqpuCqtuCrjeCq ryDgqqLgqr7gqoLgqprgq4siCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIuCqquCqm+CrgCAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIuCqleCrjeCqr+CqvuCqsOCrhyAiCistICAgIF0KKy0gIH0sCistICAiZ2wi OiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRSAiCistICAgIF0sCist ICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJDb250ZXh0byIKKy0gICAgXSwKKy0gICAgImJ1 dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNYWlzICIsCistICAgICAgIlBlcm8gIgorLSAg ICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkV4ZW1wbG9zIgorLSAgICBdLAorLSAg ICAiZmVhdHVyZSI6IFsKKy0gICAgICAiQ2FyYWN0ZXLDrXN0aWNhIgorLSAgICBdLAorLSAgICAi Z2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGFkbyAiLAorLSAgICAgICJEYWRhICIs CistICAgICAgIkRhZG9zICIsCistICAgICAgIkRhZGFzICIKKy0gICAgXSwKKy0gICAgIm5hbWUi OiAiR2FsaWNpYW4iLAorLSAgICAibmF0aXZlIjogImdhbGVnbyIsCistICAgICJzY2VuYXJpbyI6 IFsKKy0gICAgICAiRXNjZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjog WworLSAgICAgICJFc2Jvem8gZG8gZXNjZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJFbnTDs24gIiwKKy0gICAgICAiTG9nbyAiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkNhbmRvICIKKy0gICAgXQor LSAgfSwKKy0gICJoZSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLX ldeS150gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi16jXp9eiIgor LSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIteQ15HXnCAiCist ICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi15PXldeS157XkNeV16oiCistICAg IF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLXqteb15XXoNeUIgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi15HXlNeZ16DXqtefICIKKy0gICAg XSwKKy0gICAgIm5hbWUiOiAiSGVicmV3IiwKKy0gICAgIm5hdGl2ZSI6ICLXoteR16jXmdeqIiwK Ky0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLXqteo15fXmdepIgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLXqteR16DXmdeqINeq16jXl9eZ16kiCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIteQ15YgIiwKKy0gICAg ICAi15DXlteZICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi15vXkNep16ggIgorLSAgICBdCistICB9LAorLSAgImhpIjogeworLSAgICAiYW5kIjogWwor LSAgICAgICIqICIsCistICAgICAgIuCklOCksCAiLAorLSAgICAgICLgpKTgpKXgpL4gIgorLSAg ICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi4KSq4KWD4KS34KWN4KSg4KSt4KWC 4KSu4KS/IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIuCk quCksCAiLAorLSAgICAgICLgpKrgpLDgpKjgpY3gpKTgpYEgIiwKKy0gICAgICAi4KSV4KS/4KSo 4KWN4KSk4KWBICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLgpIngpKbg pL7gpLngpLDgpKMiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLgpLDgpYLg pKog4KSy4KWH4KSWIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAi4KSF4KSX4KSwICIsCistICAgICAgIuCkr+CkpuCkvyAiLAorLSAgICAgICLgpJrgpYLg pILgpJXgpL8gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJIaW5kaSIsCistICAgICJuYXRpdmUi OiAi4KS54KS/4KSC4KSm4KWAIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLgpKrgpLDg pL/gpKbgpYPgpLbgpY3gpK8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCist ICAgICAgIuCkquCksOCkv+CkpuClg+CktuCljeCkryDgpLDgpYLgpKrgpLDgpYfgpJbgpL4iCist ICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCkpOCkrCAiLAor LSAgICAgICLgpKTgpKbgpL4gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLgpJzgpKwgIiwKKy0gICAgICAi4KSV4KSm4KS+ICIKKy0gICAgXQorLSAgfSwK Ky0gICJociI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJJICIKKy0g ICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIlBvemFkaW5hIgorLSAgICBdLAor LSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFsaSAiCistICAgIF0sCistICAg ICJleGFtcGxlcyI6IFsKKy0gICAgICAiUHJpbWplcmkiLAorLSAgICAgICJTY2VuYXJpamkiCist ICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJPc29iaW5hIiwKKy0gICAgICAiTW9n dcSHbm9zdCIsCistICAgICAgIk1vZ3Vjbm9zdCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIlphZGFuICIsCistICAgICAgIlphZGFuaSAiLAorLSAgICAg ICJaYWRhbm8gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJDcm9hdGlhbiIsCistICAgICJuYXRp dmUiOiAiaHJ2YXRza2kiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlqIgor LSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTa2ljYSIsCistICAg ICAgIktvbmNlcHQiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIk9uZGEgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJLYWRhICIsCistICAgICAgIkthZCAiCistICAgIF0KKy0gIH0sCistICAiaHQiOiB7CistICAg ICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQWsgIiwKKy0gICAgICAiRXBpICIsCist ICAgICAgIkUgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiS29udMOo a3MiLAorLSAgICAgICJJc3RvcmlrIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIq ICIsCistICAgICAgIk1lbiAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi RWd6YW5wIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiS2FyYWt0ZXJpc3Rp ayIsCistICAgICAgIk1hayIsCistICAgICAgIkZvbmtzeW9uYWxpdGUiCistICAgIF0sCistICAg ICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJTaXBvemUgIiwKKy0gICAgICAiU2lw b3plIGtlICIsCistICAgICAgIlNpcG96ZSBLZSAiCistICAgIF0sCistICAgICJuYW1lIjogIkNy ZW9sZSIsCistICAgICJuYXRpdmUiOiAia3JlecOybCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0g ICAgICAiU2VuYXJ5byIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAg ICAiUGxhbiBzZW5hcnlvIiwKKy0gICAgICAiUGxhbiBTZW5hcnlvIiwKKy0gICAgICAiU2VuYXJ5 byBkZXNrcmlwc3lvbiIsCistICAgICAgIlNlbmFyeW8gRGVza3JpcHN5b24iLAorLSAgICAgICJE eWFncmFtIHNlbmFyeW8iLAorLSAgICAgICJEeWFncmFtIFNlbmFyeW8iCistICAgIF0sCistICAg ICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkzDqCBzYSBhICIsCistICAgICAgIkxl IHNhIGEgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJM w6ggIiwKKy0gICAgICAiTGUgIgorLSAgICBdCistICB9LAorLSAgImh1IjogeworLSAgICAiYW5k IjogWworLSAgICAgICIqICIsCistICAgICAgIsOJcyAiCistICAgIF0sCistICAgICJiYWNrZ3Jv dW5kIjogWworLSAgICAgICJIw6F0dMOpciIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJEZSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAg ICAiUMOpbGTDoWsiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJKZWxsZW16 xZEiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbWVu bnlpYmVuICIsCistICAgICAgIkFkb3R0ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiSHVuZ2Fy aWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJtYWd5YXIiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAg ICAgIkZvcmdhdMOza8O2bnl2IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWwor LSAgICAgICJGb3JnYXTDs2vDtm55diB2w6F6bGF0IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJBa2tvciAiCistICAgIF0sCistICAgICJ3aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIk1hamQgIiwKKy0gICAgICAiSGEgIiwKKy0gICAgICAiQW1p a29yICIKKy0gICAgXQorLSAgfSwKKy0gICJpZCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJEYW4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAg ICAiRGFzYXIiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi VGFwaSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiQ29udG9oIgorLSAg ICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRml0dXIiCistICAgIF0sCistICAgICJn aXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEZW5nYW4gIgorLSAgICBdLAorLSAgICAi bmFtZSI6ICJJbmRvbmVzaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJCYWhhc2EgSW5kb25lc2lhIiwK Ky0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTa2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInNj ZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiU2tlbmFyaW8ga29uc2VwIgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNYWthICIKKy0gICAgXSwKKy0gICAg IndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS2V0aWthICIKKy0gICAgXQorLSAgfSwK Ky0gICJpcyI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPZyAiCist ICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJCYWtncnVubnVyIgorLSAgICBd LAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkVuICIKKy0gICAgXSwKKy0g ICAgImV4YW1wbGVzIjogWworLSAgICAgICJEw6ZtaSIsCistICAgICAgIkF0YnVyw7BhcsOhc2ly IgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRWlnaW5sZWlraSIKKy0gICAg XSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkVmICIKKy0gICAgXSwK Ky0gICAgIm5hbWUiOiAiSWNlbGFuZGljIiwKKy0gICAgIm5hdGl2ZSI6ICLDjXNsZW5za2EiLAor LSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIkF0YnVyw7BhcsOhcyIKKy0gICAgXSwKKy0gICAg InNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiTMO9c2luZyBBdGJ1csOwYXLDoXNhciIsCist ICAgICAgIkzDvXNpbmcgRMOmbWEiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIq ICIsCistICAgICAgIsOew6EgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLDnmVnYXIgIgorLSAgICBdCistICB9LAorLSAgIml0IjogeworLSAgICAiYW5k IjogWworLSAgICAgICIqICIsCistICAgICAgIkUgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3Vu ZCI6IFsKKy0gICAgICAiQ29udGVzdG8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiTWEgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAg IkVzZW1waSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bnppb25hbGl0 w6AiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYXRv ICIsCistICAgICAgIkRhdGEgIiwKKy0gICAgICAiRGF0aSAiLAorLSAgICAgICJEYXRlICIKKy0g ICAgXSwKKy0gICAgIm5hbWUiOiAiSXRhbGlhbiIsCistICAgICJuYXRpdmUiOiAiaXRhbGlhbm8i LAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlvIgorLSAgICBdLAorLSAgICAi c2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTY2hlbWEgZGVsbG8gc2NlbmFyaW8iCistICAg IF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkFsbG9yYSAiCistICAg IF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlF1YW5kbyAiCistICAg IF0KKy0gIH0sCistICAiamEiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi44GL44GkIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi6IOM5pmv IgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIuOBl+OBi+OB lyIsCistICAgICAgIuS9huOBlyIsCistICAgICAgIuOBn+OBoOOBlyIKKy0gICAgXSwKKy0gICAg ImV4YW1wbGVzIjogWworLSAgICAgICLkvosiLAorLSAgICAgICLjgrXjg7Pjg5fjg6siCistICAg IF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLjg5XjgqPjg7zjg4Hjg6MiLAorLSAgICAg ICLmqZ/og70iCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLliY3mj5AiCistICAgIF0sCistICAgICJuYW1lIjogIkphcGFuZXNlIiwKKy0gICAgIm5hdGl2 ZSI6ICLml6XmnKzoqp4iLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuOCt+ODiuODquOC qiIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi44K344OK44Oq 44Kq44Ki44Km44OI44Op44Kk44OzIiwKKy0gICAgICAi44K344OK44Oq44Kq44OG44Oz44OX44Os 44O844OIIiwKKy0gICAgICAi44OG44Oz44OX44OsIiwKKy0gICAgICAi44K344OK44Oq44Kq44OG 44Oz44OX44OsIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLjgarjgonjgbAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAg ICAgIuOCguOBlyIKKy0gICAgXQorLSAgfSwKKy0gICJqdiI6IHsKKy0gICAgImFuZCI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJMYW4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsK Ky0gICAgICAiRGFzYXIiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiVGFwaSAiLAorLSAgICAgICJOYW5naW5nICIsCistICAgICAgIkFuYW5naW5nICIKKy0g ICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJDb250byIsCistICAgICAgIkNvbnRv bmUiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGaXR1ciIKKy0gICAgXSwK Ky0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIk5hbGlrYSAiLAorLSAgICAg ICJOYWxpa2FuaW5nICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiSmF2YW5lc2UiLAorLSAgICAi bmF0aXZlIjogIkJhc2EgSmF3YSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2tlbmFy aW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIktvbnNlcCBz a2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi Tmp1ayAiLAorLSAgICAgICJCYW5qdXIgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJNYW5hd2EgIiwKKy0gICAgICAiTWVuYXdhICIKKy0gICAgXQorLSAg fSwKKy0gICJrYSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLhg5Ph g5AiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLhg5nhg53hg5zhg6Lh g5Thg6Xhg6Hhg6Lhg5giCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAi4YOb4YOQ4YOSwq3hg6Dhg5Dhg5siCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsK Ky0gICAgICAi4YOb4YOQ4YOS4YOQ4YOa4YOY4YOX4YOU4YOR4YOYIgorLSAgICBdLAorLSAgICAi ZmVhdHVyZSI6IFsKKy0gICAgICAi4YOX4YOV4YOY4YOh4YOU4YOR4YOQIgorLSAgICBdLAorLSAg ICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4YOb4YOd4YOq4YOU4YOb4YOj4YOa 4YOYIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJHZW9yZ2lhbiIsCistICAgICJuYXRpdmUiOiAi 4YOl4YOQ4YOg4YOX4YOV4YOU4YOa4YOYIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLh g6Hhg6rhg5Thg5zhg5Dhg6Dhg5jhg6EiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgIuGDoeGDquGDlOGDnOGDkOGDoOGDmOGDoSDhg5zhg5jhg5vhg6Phg6jhg5gi CistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuGDm+GDkOGD qOGDmOGDnCIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi 4YOg4YOd4YOT4YOU4YOh4YOQ4YOqIgorLSAgICBdCistICB9LAorLSAgImtuIjogeworLSAgICAi YW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuCyruCypOCzjeCypOCzgSAiCistICAgIF0s CistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLgsrngsr/gsqjgs43gsqjgs4bgsrLgs4Yi CistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4LKG4LKm4LKw 4LOGICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLgsongsqbgsr7gsrng srDgsqPgs4bgspfgsrPgs4EiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLg srngs4bgsprgs43gsprgsrMiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLgsqjgsr/gs5XgsqHgsr/gsqYgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJL YW5uYWRhIiwKKy0gICAgIm5hdGl2ZSI6ICLgspXgsqjgs43gsqjgsqEiLAorLSAgICAic2NlbmFy aW8iOiBbCistICAgICAgIuCyleCypeCyvuCyuOCyvuCysOCyvuCyguCytiIKKy0gICAgXSwKKy0g ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi4LK14LK/4LK14LKw4LKj4LOGIgorLSAg ICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgsqjgsoLgsqTgsrAg IgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgsrjgs43g sqXgsr/gsqTgsr/gsq/gsqjgs43gsqjgs4EgIgorLSAgICBdCistICB9LAorLSAgImtvIjogewor LSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuq3uOumrOqzoCIKKy0gICAgXSwK Ky0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgIuuwsOqyvSIKKy0gICAgXSwKKy0gICAgImJ1 dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLtlZjsp4Drp4wiLAorLSAgICAgICLri6giCist ICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi7JiIIgorLSAgICBdLAorLSAgICAi ZmVhdHVyZSI6IFsKKy0gICAgICAi6riw64qlIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi7KGw6rG0IiwKKy0gICAgICAi66i87KCAIgorLSAgICBdLAor LSAgICAibmFtZSI6ICJLb3JlYW4iLAorLSAgICAibmF0aXZlIjogIu2VnOq1reyWtCIsCistICAg ICJzY2VuYXJpbyI6IFsKKy0gICAgICAi7Iuc64KY66as7JikIgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICLsi5zrgpjrpqzsmKQg6rCc7JqUIgorLSAgICBdLAor LSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLqt7jrn6zrqbQiCistICAgIF0s CistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuunjOydvCIsCistICAgICAg IuunjOyVvSIKKy0gICAgXQorLSAgfSwKKy0gICJsdCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJJciAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAg ICAgICJLb250ZWtzdGFzIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCist ICAgICAgIkJldCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiUGF2eXpk xb5pYWkiLAorLSAgICAgICJTY2VuYXJpamFpIiwKKy0gICAgICAiVmFyaWFudGFpIgorLSAgICBd LAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiU2F2eWLElyIKKy0gICAgXSwKKy0gICAgImdp dmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkR1b3RhICIKKy0gICAgXSwKKy0gICAgIm5h bWUiOiAiTGl0aHVhbmlhbiIsCistICAgICJuYXRpdmUiOiAibGlldHV2acWzIGthbGJhIiwKKy0g ICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJpanVzIgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTY2VuYXJpamF1cyDFoWFibG9uYXMiCistICAgIF0s CistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIlRhZGEgIgorLSAgICBdLAor LSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJLYWkgIgorLSAgICBdCistICB9 LAorLSAgImx1IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgImFuICIs CistICAgICAgImEgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiSGFu bmVyZ3JvbmQiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi YXdlciAiLAorLSAgICAgICJtw6QgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAg ICAgIkJlaXNwaWxsZXIiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGdW5r dGlvbmFsaXTDqWl0IgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAidWdlaG9sbCAiCistICAgIF0sCistICAgICJuYW1lIjogIkx1eGVtYnVyZ2lzaCIsCist ICAgICJuYXRpdmUiOiAiTMOrdHplYnVlcmdlc2NoIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAg ICAgICJTemVuYXJpbyIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAg ICAiUGxhbmcgdnVtIFN6ZW5hcmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJkYW5uICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiog IiwKKy0gICAgICAid2FubiAiCistICAgIF0KKy0gIH0sCistICAibHYiOiB7CistICAgICJhbmQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAiVW4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3Vu ZCI6IFsKKy0gICAgICAiS29udGVrc3RzIiwKKy0gICAgICAiU2l0dcSBY2lqYSIKKy0gICAgXSwK Ky0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJCZXQgIgorLSAgICBdLAorLSAg ICAiZXhhbXBsZXMiOiBbCistICAgICAgIlBpZW3Ek3JpIiwKKy0gICAgICAiUGFyYXVncyIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmtjaW9uYWxpdMSBdGUiLAorLSAg ICAgICJGxKvEjWEiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJLYWQgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJMYXR2aWFuIiwKKy0gICAgIm5hdGl2 ZSI6ICJsYXR2aWXFoXUiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW7EgXJpanMi CistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIlNjZW7EgXJpanMg cMSTYyBwYXJhdWdhIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICJUYWQgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICJKYSAiCistICAgIF0KKy0gIH0sCistICAibWstQ3lybCI6IHsKKy0gICAgImFuZCI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICLQmCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWwor LSAgICAgICLQmtC+0L3RgtC10LrRgdGCIiwKKy0gICAgICAi0KHQvtC00YDQttC40L3QsCIKKy0g ICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQndC+ICIKKy0gICAg XSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLQn9GA0LjQvNC10YDQuCIsCistICAgICAg ItCh0YbQtdC90LDRgNC40ZjQsCIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAg ItCk0YPQvdC60YbQuNC+0L3QsNC70L3QvtGB0YIiLAorLSAgICAgICLQkdC40LfQvdC40YEg0L/Q vtGC0YDQtdCx0LAiLAorLSAgICAgICLQnNC+0LbQvdC+0YHRgiIKKy0gICAgXSwKKy0gICAgImdp dmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCU0LDQtNC10L3QviAiLAorLSAgICAgICLQ lNCw0LTQtdC90LAgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJNYWNlZG9uaWFuIiwKKy0gICAg Im5hdGl2ZSI6ICLQnNCw0LrQtdC00L7QvdGB0LrQuCIsCistICAgICJzY2VuYXJpbyI6IFsKKy0g ICAgICAi0KHRhtC10L3QsNGA0LjQviIsCistICAgICAgItCd0LAg0L/RgNC40LzQtdGAIgorLSAg ICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLQn9GA0LXQs9C70LXQtCDQ vdCwINGB0YbQtdC90LDRgNC40ZjQsCIsCistICAgICAgItCh0LrQuNGG0LAiLAorLSAgICAgICLQ mtC+0L3RhtC10L/RgiIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAi0KLQvtCz0LDRiCAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgItCa0L7Qs9CwICIKKy0gICAgXQorLSAgfSwKKy0gICJtay1MYXRuIjogeworLSAg ICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIkkgIgorLSAgICBdLAorLSAgICAiYmFj a2dyb3VuZCI6IFsKKy0gICAgICAiS29udGVrc3QiLAorLSAgICAgICJTb2RyemhpbmEiCistICAg IF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTm8gIgorLSAgICBdLAor LSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlByaW1lcmkiLAorLSAgICAgICJTY2VuYXJpYSIK Ky0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmtjaW9uYWxub3N0IiwKKy0g ICAgICAiQml6bmlzIHBvdHJlYmEiLAorLSAgICAgICJNb3pobm9zdCIKKy0gICAgXSwKKy0gICAg ImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRhZGVubyAiLAorLSAgICAgICJEYWRl bmEgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJNYWNlZG9uaWFuIChMYXRpbikiLAorLSAgICAi bmF0aXZlIjogIk1ha2Vkb25za2kgKExhdGluaWNhKSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0g ICAgICAiU2NlbmFyaW8iLAorLSAgICAgICJOYSBwcmltZXIiCistICAgIF0sCistICAgICJzY2Vu YXJpb091dGxpbmUiOiBbCistICAgICAgIlByZWdsZWQgbmEgc2NlbmFyaWphIiwKKy0gICAgICAi U2tpY2EiLAorLSAgICAgICJLb25jZXB0IgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJUb2dhc2ggIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICJLb2dhICIKKy0gICAgXQorLSAgfSwKKy0gICJtbiI6IHsKKy0gICAg ImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQnNOp0L0gIiwKKy0gICAgICAi0KLRjdCz 0Y3RjdC0ICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItCQ0LPRg9GD 0LvQs9CwIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgItCT 0Y3RhdC00Y3RjSAiLAorLSAgICAgICLQpdCw0YDQuNC9ICIKKy0gICAgXSwKKy0gICAgImV4YW1w bGVzIjogWworLSAgICAgICLQotGD0YXQsNC50LvQsdCw0LsiCistICAgIF0sCistICAgICJmZWF0 dXJlIjogWworLSAgICAgICLQpNGD0L3QutGGIiwKKy0gICAgICAi0KTRg9C90LrRhtC40L7QvdCw 0LsiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLTqNCz 06nQs9C00YHTqdC9INC90YwgIiwKKy0gICAgICAi0JDQvdGFICIKKy0gICAgXSwKKy0gICAgIm5h bWUiOiAiTW9uZ29saWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLQvNC+0L3Qs9C+0LsiLAorLSAgICAi c2NlbmFyaW8iOiBbCistICAgICAgItCh0YbQtdC90LDRgCIKKy0gICAgXSwKKy0gICAgInNjZW5h cmlvT3V0bGluZSI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGA0YvQvSDRgtOp0LvTqdCy0LvTqdCz 06nTqSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KLR jdCz0Y3RhdGN0LQgIiwKKy0gICAgICAi0q7Sr9C90LjQuSDQtNCw0YDQsNCwICIKKy0gICAgXSwK Ky0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0KXRjdGA0Y3QsiAiCistICAg IF0KKy0gIH0sCistICAibmwiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiRW4gIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQWNodGVyZ3Jv bmQiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTWFhciAi CistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAiVm9vcmJlZWxkZW4iCistICAg IF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGdW5jdGlvbmFsaXRlaXQiCistICAgIF0s CistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJHZWdldmVuICIsCistICAg ICAgIlN0ZWwgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJEdXRjaCIsCistICAgICJuYXRpdmUi OiAiTmVkZXJsYW5kcyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaW8iCist ICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIkFic3RyYWN0IFNjZW5h cmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYW4g IgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJBbHMgIiwK Ky0gICAgICAiV2FubmVlciAiCistICAgIF0KKy0gIH0sCistICAibm8iOiB7CistICAgICJhbmQi OiBbCistICAgICAgIiogIiwKKy0gICAgICAiT2cgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3Vu ZCI6IFsKKy0gICAgICAiQmFrZ3J1bm4iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAg IiogIiwKKy0gICAgICAiTWVuICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAg ICJFa3NlbXBsZXIiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJFZ2Vuc2th cCIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkdpdHQg IgorLSAgICBdLAorLSAgICAibmFtZSI6ICJOb3J3ZWdpYW4iLAorLSAgICAibmF0aXZlIjogIm5v cnNrIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTY2VuYXJpbyIKKy0gICAgXSwKKy0g ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiU2NlbmFyaW9tYWwiLAorLSAgICAgICJB YnN0cmFrdCBTY2VuYXJpbyIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiU8OlICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiTsOlciAiCistICAgIF0KKy0gIH0sCistICAicGEiOiB7CistICAgICJhbmQiOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi4KiF4Kik4KmHICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91 bmQiOiBbCistICAgICAgIuCoquCov+Com+Cpi+ColeCpnCIKKy0gICAgXSwKKy0gICAgImJ1dCI6 IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgqKrgqLAgIgorLSAgICBdLAorLSAgICAiZXhhbXBs ZXMiOiBbCistICAgICAgIuCoieCopuCovuCoueCosOCoqOCovuCogiIKKy0gICAgXSwKKy0gICAg ImZlYXR1cmUiOiBbCistICAgICAgIuColuCovuCouOCpgOCoheCopCIsCistICAgICAgIuCoruCp geCoueCovuCoguCopuCosOCoviIsCistICAgICAgIuCoqOColeCotiDgqKjgqYHgqLngqL7gqLAi CistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgqJzgqYfg qJXgqLAgIiwKKy0gICAgICAi4Kic4Ki/4Ki14KmH4KiCIOColeCovyAiCistICAgIF0sCistICAg ICJuYW1lIjogIlBhbmphYmkiLAorLSAgICAibmF0aXZlIjogIuCoquCpsOConOCovuCorOCpgCIs CistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAi4Kiq4Kif4KiV4Kil4Ki+IgorLSAgICBdLAor LSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLgqKrgqJ/gqJXgqKXgqL4g4Kii4Ki+ 4KiC4Kia4Ki+IiwKKy0gICAgICAi4Kiq4Kif4KiV4Kil4Ki+IOCosOCpguCoqiDgqLDgqYfgqJbg qL4iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCopOCo piAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuConOCo puCpi+CogiAiCistICAgIF0KKy0gIH0sCistICAicGwiOiB7CistICAgICJhbmQiOiBbCistICAg ICAgIiogIiwKKy0gICAgICAiT3JheiAiLAorLSAgICAgICJJICIKKy0gICAgXSwKKy0gICAgImJh Y2tncm91bmQiOiBbCistICAgICAgIlphxYJvxbxlbmlhIgorLSAgICBdLAorLSAgICAiYnV0Ijog WworLSAgICAgICIqICIsCistICAgICAgIkFsZSAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6 IFsKKy0gICAgICAiUHJ6eWvFgmFkeSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIlfFgmHFm2Npd2/Fm8SHIiwKKy0gICAgICAiRnVua2NqYSIsCistICAgICAgIkFzcGVrdCIs CistICAgICAgIlBvdHJ6ZWJhIGJpem5lc293YSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWwor LSAgICAgICIqICIsCistICAgICAgIlpha8WCYWRhasSFYyAiLAorLSAgICAgICJNYWrEhWMgIiwK Ky0gICAgICAiWmFrxYJhZGFqxIVjLCDFvGUgIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJQb2xp c2giLAorLSAgICAibmF0aXZlIjogInBvbHNraSIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAg ICAiU2NlbmFyaXVzeiIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAg ICAiU3phYmxvbiBzY2VuYXJpdXN6YSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAgICAg IiogIiwKKy0gICAgICAiV3RlZHkgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJKZcW8ZWxpICIsCistICAgICAgIkplxZtsaSAiLAorLSAgICAgICJHZHkg IiwKKy0gICAgICAiS2llZHkgIgorLSAgICBdCistICB9LAorLSAgInB0IjogeworLSAgICAiYW5k IjogWworLSAgICAgICIqICIsCistICAgICAgIkUgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3Vu ZCI6IFsKKy0gICAgICAiQ29udGV4dG8iLAorLSAgICAgICJDZW7DoXJpbyBkZSBGdW5kbyIsCist ICAgICAgIkNlbmFyaW8gZGUgRnVuZG8iLAorLSAgICAgICJGdW5kbyIKKy0gICAgXSwKKy0gICAg ImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNYXMgIgorLSAgICBdLAorLSAgICAiZXhh bXBsZXMiOiBbCistICAgICAgIkV4ZW1wbG9zIiwKKy0gICAgICAiQ2Vuw6FyaW9zIiwKKy0gICAg ICAiQ2VuYXJpb3MiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJGdW5jaW9u YWxpZGFkZSIsCistICAgICAgIkNhcmFjdGVyw61zdGljYSIsCistICAgICAgIkNhcmFjdGVyaXN0 aWNhIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGFk byAiLAorLSAgICAgICJEYWRhICIsCistICAgICAgIkRhZG9zICIsCistICAgICAgIkRhZGFzICIK Ky0gICAgXSwKKy0gICAgIm5hbWUiOiAiUG9ydHVndWVzZSIsCistICAgICJuYXRpdmUiOiAicG9y dHVndcOqcyIsCistICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiQ2Vuw6FyaW8iLAorLSAgICAg ICJDZW5hcmlvIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJF c3F1ZW1hIGRvIENlbsOhcmlvIiwKKy0gICAgICAiRXNxdWVtYSBkbyBDZW5hcmlvIiwKKy0gICAg ICAiRGVsaW5lYcOnw6NvIGRvIENlbsOhcmlvIiwKKy0gICAgICAiRGVsaW5lYWNhbyBkbyBDZW5h cmlvIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJFbnTD o28gIiwKKy0gICAgICAiRW50YW8gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAi KiAiLAorLSAgICAgICJRdWFuZG8gIgorLSAgICBdCistICB9LAorLSAgInJvIjogeworLSAgICAi YW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIlNpICIsCistICAgICAgIsiYaSAiLAorLSAg ICAgICLFnmkgIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAiQ29udGV4 dCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJEYXIgIgor LSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkV4ZW1wbGUiCistICAgIF0sCist ICAgICJmZWF0dXJlIjogWworLSAgICAgICJGdW5jdGlvbmFsaXRhdGUiLAorLSAgICAgICJGdW5j yJtpb25hbGl0YXRlIiwKKy0gICAgICAiRnVuY8WjaW9uYWxpdGF0ZSIKKy0gICAgXSwKKy0gICAg ImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkRhdGUgZmlpbmQgIiwKKy0gICAgICAi RGF0IGZpaW5kICIsCistICAgICAgIkRhdMSDIGZpaW5kIiwKKy0gICAgICAiRGF0aSBmaWluZCAi LAorLSAgICAgICJEYcibaSBmaWluZCAiLAorLSAgICAgICJEYcWjaSBmaWluZCAiCistICAgIF0s CistICAgICJuYW1lIjogIlJvbWFuaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICJyb23Dom7EgyIsCist ICAgICJzY2VuYXJpbyI6IFsKKy0gICAgICAiU2NlbmFyaXUiCistICAgIF0sCistICAgICJzY2Vu YXJpb091dGxpbmUiOiBbCistICAgICAgIlN0cnVjdHVyYSBzY2VuYXJpdSIsCistICAgICAgIlN0 cnVjdHVyxIMgc2NlbmFyaXUiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIkF0dW5jaSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIs CistICAgICAgIkNhbmQgIiwKKy0gICAgICAiQ8OibmQgIgorLSAgICBdCistICB9LAorLSAgInJ1 IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgItCYICIsCistICAgICAg ItCaINGC0L7QvNGDINC20LUgIiwKKy0gICAgICAi0KLQsNC60LbQtSAiCistICAgIF0sCistICAg ICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLQn9GA0LXQtNGL0YHRgtC+0YDQuNGPIiwKKy0gICAg ICAi0JrQvtC90YLQtdC60YHRgiIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLQndC+ICIsCistICAgICAgItCQICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVz IjogWworLSAgICAgICLQn9GA0LjQvNC10YDRiyIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBb CistICAgICAgItCk0YPQvdC60YbQuNGPIiwKKy0gICAgICAi0KTRg9C90LrRhtC40L7QvdCw0LvR jNC90L7RgdGC0YwiLAorLSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQuyIsCistICAgICAgItCh 0LLQvtC50YHRgtCy0L4iCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAor LSAgICAgICLQlNC+0L/Rg9GB0YLQuNC8ICIsCistICAgICAgItCU0LDQvdC+ICIsCistICAgICAg ItCf0YPRgdGC0YwgIiwKKy0gICAgICAi0JXRgdC70LggIgorLSAgICBdLAorLSAgICAibmFtZSI6 ICJSdXNzaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLRgNGD0YHRgdC60LjQuSIsCistICAgICJzY2Vu YXJpbyI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGA0LjQuSIKKy0gICAgXSwKKy0gICAgInNjZW5h cmlvT3V0bGluZSI6IFsKKy0gICAgICAi0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNC4 0Y8iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCi0L4g IiwKKy0gICAgICAi0JfQsNGC0LXQvCAiLAorLSAgICAgICLQotC+0LPQtNCwICIKKy0gICAgXSwK Ky0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JrQvtCz0LTQsCAiCistICAg IF0KKy0gIH0sCistICAic2siOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAiQSAiLAorLSAgICAgICJBIHRpZcW+ICIsCistICAgICAgIkEgdGFrdGllxb4gIiwKKy0gICAg ICAiQSB6w6Fyb3ZlxYggIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi UG96YWRpZSIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJB bGUgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIlByw61rbGFkeSIKKy0g ICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIlBvxb5pYWRhdmthIiwKKy0gICAgICAi RnVua2NpYSIsCistICAgICAgIlZsYXN0bm9zxaUiCistICAgIF0sCistICAgICJnaXZlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICJQb2tpYcS+ICIsCistICAgICAgIlphIHByZWRwb2tsYWR1 ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiU2xvdmFrIiwKKy0gICAgIm5hdGl2ZSI6ICJTbG92 ZW5za3kiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW7DoXIiCistICAgIF0sCist ICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgIk7DocSNcnQgU2NlbsOhcnUiLAorLSAg ICAgICJOw6HEjXJ0IFNjZW7DoXJhIiwKKy0gICAgICAiT3Nub3ZhIFNjZW7DoXJhIgorLSAgICBd LAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJUYWsgIiwKKy0gICAgICAi UG90b20gIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJL ZcSPICIsCistICAgICAgIkFrICIKKy0gICAgXQorLSAgfSwKKy0gICJzbCI6IHsKKy0gICAgImFu ZCI6IFsKKy0gICAgICAiSW4gIiwKKy0gICAgICAiVGVyICIKKy0gICAgXSwKKy0gICAgImJhY2tn cm91bmQiOiBbCistICAgICAgIktvbnRla3N0IiwKKy0gICAgICAiT3Nub3ZhIiwKKy0gICAgICAi T3phZGplIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICJUb2RhICIsCistICAgICAg IkFtcGFrICIsCistICAgICAgIlZlbmRhciAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsK Ky0gICAgICAiUHJpbWVyaSIsCistICAgICAgIlNjZW5hcmlqaSIKKy0gICAgXSwKKy0gICAgImZl YXR1cmUiOiBbCistICAgICAgIkZ1bmtjaW9uYWxub3N0IiwKKy0gICAgICAiRnVua2NpamEiLAor LSAgICAgICJNb8W+bm9zdGkiLAorLSAgICAgICJNb3pub3N0aSIsCistICAgICAgIkxhc3Rub3N0 IiwKKy0gICAgICAiWm5hxI1pbG5vc3QiCistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAg ICAiRGFubyAiLAorLSAgICAgICJQb2Rhbm8gIiwKKy0gICAgICAiWmFyYWRpICIsCistICAgICAg IlByaXZ6ZXRvICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiU2xvdmVuaWFuIiwKKy0gICAgIm5h dGl2ZSI6ICJTbG92ZW5za2kiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlq IiwKKy0gICAgICAiUHJpbWVyIgorLSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWwor LSAgICAgICJTdHJ1a3R1cmEgc2NlbmFyaWphIiwKKy0gICAgICAiU2tpY2EiLAorLSAgICAgICJL b25jZXB0IiwKKy0gICAgICAiT3JpcyBzY2VuYXJpamEiLAorLSAgICAgICJPc251dGVrIgorLSAg ICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiTmF0byAiLAorLSAgICAgICJQb3RlbSAiLAor LSAgICAgICJUYWtyYXQgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiS28gIiwK Ky0gICAgICAiQ2UgIiwKKy0gICAgICAixIxlICIsCistICAgICAgIkthZGFyICIKKy0gICAgXQor LSAgfSwKKy0gICJzci1DeXJsIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAg ICAgItCYICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItCa0L7QvdGC 0LXQutGB0YIiLAorLSAgICAgICLQntGB0L3QvtCy0LAiLAorLSAgICAgICLQn9C+0LfQsNC00LjQ vdCwIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgItCQ0LvQ uCAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi0J/RgNC40LzQtdGA0Lgi LAorLSAgICAgICLQodGG0LXQvdCw0YDQuNGY0LgiCistICAgIF0sCistICAgICJmZWF0dXJlIjog WworLSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQu9C90L7RgdGCIiwKKy0gICAgICAi0JzQvtCz 0YPRm9C90L7RgdGCIiwKKy0gICAgICAi0J7RgdC+0LHQuNC90LAiCistICAgIF0sCistICAgICJn aXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQl9CwINC00LDRgtC+ICIsCistICAgICAg ItCX0LAg0LTQsNGC0LUgIiwKKy0gICAgICAi0JfQsCDQtNCw0YLQuCAiCistICAgIF0sCistICAg ICJuYW1lIjogIlNlcmJpYW4iLAorLSAgICAibmF0aXZlIjogItCh0YDQv9GB0LrQuCIsCistICAg ICJzY2VuYXJpbyI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGA0LjQviIsCistICAgICAgItCf0YDQ uNC80LXRgCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi0KHR gtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDRgNC40ZjQsCIsCistICAgICAgItCh0LrQuNGG0LAi LAorLSAgICAgICLQmtC+0L3RhtC10L/RgiIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCistICAg ICAgIiogIiwKKy0gICAgICAi0J7QvdC00LAgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICLQmtCw0LTQsCAiLAorLSAgICAgICLQmtCw0LQgIgorLSAgICBd CistICB9LAorLSAgInNyLUxhdG4iOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0g ICAgICAiSSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJLb250ZWtz dCIsCistICAgICAgIk9zbm92YSIsCistICAgICAgIlBvemFkaW5hIgorLSAgICBdLAorLSAgICAi YnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIkFsaSAiCistICAgIF0sCistICAgICJleGFt cGxlcyI6IFsKKy0gICAgICAiUHJpbWVyaSIsCistICAgICAgIlNjZW5hcmlqaSIKKy0gICAgXSwK Ky0gICAgImZlYXR1cmUiOiBbCistICAgICAgIkZ1bmtjaW9uYWxub3N0IiwKKy0gICAgICAiTW9n dcSHbm9zdCIsCistICAgICAgIk1vZ3Vjbm9zdCIsCistICAgICAgIk9zb2JpbmEiCistICAgIF0s CistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJaYSBkYXRvICIsCistICAg ICAgIlphIGRhdGUgIiwKKy0gICAgICAiWmEgZGF0aSAiCistICAgIF0sCistICAgICJuYW1lIjog IlNlcmJpYW4gKExhdGluKSIsCistICAgICJuYXRpdmUiOiAiU3Jwc2tpIChMYXRpbmljYSkiLAor LSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIlNjZW5hcmlvIiwKKy0gICAgICAiUHJpbWVyIgor LSAgICBdLAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTdHJ1a3R1cmEgc2Nl bmFyaWphIiwKKy0gICAgICAiU2tpY2EiLAorLSAgICAgICJLb25jZXB0IgorLSAgICBdLAorLSAg ICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJPbmRhICIKKy0gICAgXSwKKy0gICAg IndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiS2FkYSAiLAorLSAgICAgICJLYWQgIgor LSAgICBdCistICB9LAorLSAgInN2IjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCist ICAgICAgIk9jaCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJCYWtn cnVuZCIKKy0gICAgXSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJNZW4g IgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIkV4ZW1wZWwiCistICAgIF0s CistICAgICJmZWF0dXJlIjogWworLSAgICAgICJFZ2Vuc2thcCIKKy0gICAgXSwKKy0gICAgImdp dmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkdpdmV0ICIKKy0gICAgXSwKKy0gICAgIm5h bWUiOiAiU3dlZGlzaCIsCistICAgICJuYXRpdmUiOiAiU3ZlbnNrYSIsCistICAgICJzY2VuYXJp byI6IFsKKy0gICAgICAiU2NlbmFyaW8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgIkFic3RyYWt0IFNjZW5hcmlvIiwKKy0gICAgICAiU2NlbmFyaW9tYWxsIgor LSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJTw6UgIgorLSAg ICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJOw6RyICIKKy0gICAg XQorLSAgfSwKKy0gICJ0YSI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLgrq7gr4fgrrLgr4Hgrq7gr40gICIsCistICAgICAgIuCuruCuseCvjeCuseCvgeCuruCvjSAi CistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLgrqrgrr/grqngr43grqng rqPgrr8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4K6G 4K6p4K6+4K6y4K+NICAiCistICAgIF0sCistICAgICJleGFtcGxlcyI6IFsKKy0gICAgICAi4K6O 4K6f4K+B4K6k4K+N4K6k4K+B4K6V4K+N4K6V4K6+4K6f4K+N4K6f4K+B4K6V4K6z4K+NIiwKKy0g ICAgICAi4K6V4K6+4K6f4K+N4K6a4K6/4K6V4K6z4K+NIiwKKy0gICAgICAiIOCuqOCuv+CusuCv iOCuruCviOCuleCus+Cuv+CusuCvjSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAg ICAgIuCuheCuruCvjeCumuCuruCvjSIsCistICAgICAgIuCuteCuo+Cuv+CulSDgrqTgr4fgrrXg r4giLAorLSAgICAgICLgrqTgrr/grrHgrqngr40iCistICAgIF0sCistICAgICJnaXZlbiI6IFsK Ky0gICAgICAiKiAiLAorLSAgICAgICLgrpXgr4bgrr7grp/gr4HgrpXgr43grpXgrqrgr43grqrg rp/gr43grp8gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJUYW1pbCIsCistICAgICJuYXRpdmUi OiAi4K6k4K6u4K6/4K604K+NIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLgrpXgrr7g rp/gr43grprgrr8iCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAg IuCuleCuvuCun+CvjeCumuCuvyDgrprgr4HgrrDgr4HgrpXgr43grpXgrq7gr40iLAorLSAgICAg ICLgrpXgrr7grp/gr43grprgrr8g4K614K6+4K6w4K+N4K6q4K+N4K6q4K+B4K6w4K+BIgorLSAg ICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgroXgrqrgr43grqrg r4bgrr7grrTgr4HgrqTgr4EgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAi LAorLSAgICAgICLgro7grqrgr43grqrgr4fgrr7grqTgr4EgIgorLSAgICBdCistICB9LAorLSAg InRoIjogeworLSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgIuC5geC4peC4sCAi CistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLguYHguJnguKfguITguLTg uJQiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4LmB4LiV 4LmIICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLguIrguLjguJTguILg uK3guIfguJXguLHguKfguK3guKLguYjguLLguIciLAorLSAgICAgICLguIrguLjguJTguILguK3g uIfguYDguKvguJXguLjguIHguLLguKPguJPguYwiCistICAgIF0sCistICAgICJmZWF0dXJlIjog WworLSAgICAgICLguYLguITguKPguIfguKvguKXguLHguIEiLAorLSAgICAgICLguITguKfguLLg uKHguJXguYnguK3guIfguIHguLLguKPguJfguLLguIfguJjguLjguKPguIHguLTguIgiLAorLSAg ICAgICLguITguKfguLLguKHguKrguLLguKHguLLguKPguJYiCistICAgIF0sCistICAgICJnaXZl biI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLguIHguLPguKvguJnguJTguYPguKvguYkgIgor LSAgICBdLAorLSAgICAibmFtZSI6ICJUaGFpIiwKKy0gICAgIm5hdGl2ZSI6ICLguYTguJfguKIi LAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgIuC5gOC4q+C4leC4uOC4geC4suC4o+C4k+C5 jCIKKy0gICAgXSwKKy0gICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi4Liq4Lij4Li4 4Lib4LmA4Lir4LiV4Li44LiB4Liy4Lij4LiT4LmMIiwKKy0gICAgICAi4LmC4LiE4Lij4LiH4Liq 4Lij4LmJ4Liy4LiH4LiC4Lit4LiH4LmA4Lir4LiV4Li44LiB4Liy4Lij4LiT4LmMIgorLSAgICBd LAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLguJTguLHguIfguJnguLHg uYnguJkgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLg uYDguKHguLfguYjguK0gIgorLSAgICBdCistICB9LAorLSAgInRsIjogeworLSAgICAiYW5kIjog WworLSAgICAgICIqICIsCistICAgICAgIuCwruCwsOCwv+Cwr+CxgSAiCistICAgIF0sCistICAg ICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLgsKjgsYfgsKrgsKXgsY3gsK/gsIIiCistICAgIF0s CistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi4LCV4LC+4LCo4LC/ICIKKy0g ICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICLgsIngsKbgsL7gsLngsLDgsKPgsLLg sYEiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICLgsJfgsYHgsKPgsK7gsYEi CistICAgIF0sCistICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLgsJrgsYbg sKrgsY3gsKrgsKzgsKHgsL/gsKjgsKbgsL8gIgorLSAgICBdLAorLSAgICAibmFtZSI6ICJUZWx1 Z3UiLAorLSAgICAibmF0aXZlIjogIuCwpOCxhuCwsuCxgeCwl+CxgSIsCistICAgICJzY2VuYXJp byI6IFsKKy0gICAgICAi4LC44LCo4LGN4LCo4LC/4LC14LGH4LC24LCCIgorLSAgICBdLAorLSAg ICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLgsJXgsKXgsKjgsIIiCistICAgIF0sCist ICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCwheCwquCxjeCwquCxgeCwoeCx gSAiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuCwiCDg sKrgsLDgsL/gsLjgsY3gsKXgsL/gsKTgsL/gsLLgsYsgIgorLSAgICBdCistICB9LAorLSAgInRs aCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICInZWogIiwKKy0gICAg ICAibGF0bGggIgorLSAgICBdLAorLSAgICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAibW8nIgor LSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIsCistICAgICAgIidhY2ggIiwKKy0g ICAgICAiJ2EgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgImdoYW50b0gi LAorLSAgICAgICJsdXRtZXkiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWworLSAgICAgICJR YXAiLAorLSAgICAgICJRdSdtZUggJ3V0IiwKKy0gICAgICAicGVyYm9naCIsCistICAgICAgInBv UWJvZ2ggbWFsamEnIiwKKy0gICAgICAibGFIIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAiZ2h1JyBub2JsdScgIiwKKy0gICAgICAiRGFIIGdodScgYmVq bHUnICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiS2xpbmdvbiIsCistICAgICJuYXRpdmUiOiAi dGxoSW5nYW4iLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgImx1dCIKKy0gICAgXSwKKy0g ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAibHV0IGNob3ZuYXRsaCIKKy0gICAgXSwK Ky0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAidmFqICIKKy0gICAgXSwKKy0g ICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAicWFTREknICIKKy0gICAgXQorLSAg fSwKKy0gICJ0ciI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJWZSAi CistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJHZcOnbWnFnyIKKy0gICAg XSwKKy0gICAgImJ1dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICJGYWthdCAiLAorLSAgICAg ICJBbWEgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIsOWcm5la2xlciIK Ky0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIsOWemVsbGlrIgorLSAgICBdLAor LSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiRGl5ZWxpbSBraSAiCistICAg IF0sCistICAgICJuYW1lIjogIlR1cmtpc2giLAorLSAgICAibmF0aXZlIjogIlTDvHJrw6dlIiwK Ky0gICAgInNjZW5hcmlvIjogWworLSAgICAgICJTZW5hcnlvIgorLSAgICBdLAorLSAgICAic2Nl bmFyaW9PdXRsaW5lIjogWworLSAgICAgICJTZW5hcnlvIHRhc2xhxJ/EsSIKKy0gICAgXSwKKy0g ICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiTyB6YW1hbiAiCistICAgIF0sCist ICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgIkXEn2VyIGtpICIKKy0gICAgXQor LSAgfSwKKy0gICJ0dCI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLS utOZ0LwgIiwKKy0gICAgICAi0JLTmSAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWwor LSAgICAgICLQmtC10YDQtdGIIgorLSAgICBdLAorLSAgICAiYnV0IjogWworLSAgICAgICIqICIs CistICAgICAgItCb05nQutC40L0gIiwKKy0gICAgICAi05jQvNC80LAgIgorLSAgICBdLAorLSAg ICAiZXhhbXBsZXMiOiBbCistICAgICAgItKu0YDQvdOZ0LrQu9OZ0YAiLAorLSAgICAgICLQnNC4 0YHQsNC70LvQsNGAIgorLSAgICBdLAorLSAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAi0JzTqdC8 0LrQuNC90LvQtdC6IiwKKy0gICAgICAi0q7Qt9C10L3Rh9OZ0LvQtdC60LvQtdC70LXQuiIKKy0g ICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItOY0LnRgtC40Log IgorLSAgICBdLAorLSAgICAibmFtZSI6ICJUYXRhciIsCistICAgICJuYXRpdmUiOiAi0KLQsNGC 0LDRgNGH0LAiLAorLSAgICAic2NlbmFyaW8iOiBbCistICAgICAgItCh0YbQtdC90LDRgNC40Lki CistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUiOiBbCistICAgICAgItCh0YbQtdC90LDR gNC40LnQvdGL0qMg0YLTqdC30LXQu9C10YjQtSIKKy0gICAgXSwKKy0gICAgInRoZW4iOiBbCist ICAgICAgIiogIiwKKy0gICAgICAi0J3TmdGC0LjSl9OZ0LTTmSAiCistICAgIF0sCistICAgICJ3 aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItOY0LPTmdGAICIKKy0gICAgXQorLSAgfSwK Ky0gICJ1ayI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQhiAiLAor LSAgICAgICLQkCDRgtCw0LrQvtC2ICIsCistICAgICAgItCi0LAgIgorLSAgICBdLAorLSAgICAi YmFja2dyb3VuZCI6IFsKKy0gICAgICAi0J/QtdGA0LXQtNGD0LzQvtCy0LAiCistICAgIF0sCist ICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JDQu9C1ICIKKy0gICAgXSwKKy0g ICAgImV4YW1wbGVzIjogWworLSAgICAgICLQn9GA0LjQutC70LDQtNC4IgorLSAgICBdLAorLSAg ICAiZmVhdHVyZSI6IFsKKy0gICAgICAi0KTRg9C90LrRhtGW0L7QvdCw0LsiCistICAgIF0sCist ICAgICJnaXZlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQn9GA0LjQv9GD0YHRgtC40LzQ viAiLAorLSAgICAgICLQn9GA0LjQv9GD0YHRgtC40LzQviwg0YnQviAiLAorLSAgICAgICLQndC1 0YXQsNC5ICIsCistICAgICAgItCU0LDQvdC+ICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiVWty YWluaWFuIiwKKy0gICAgIm5hdGl2ZSI6ICLQo9C60YDQsNGX0L3RgdGM0LrQsCIsCistICAgICJz Y2VuYXJpbyI6IFsKKy0gICAgICAi0KHRhtC10L3QsNGA0ZbQuSIKKy0gICAgXSwKKy0gICAgInNj ZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC90LDR gNGW0Y4iCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCi 0L4gIiwKKy0gICAgICAi0KLQvtC00ZYgIgorLSAgICBdLAorLSAgICAid2hlbiI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICLQr9C60YnQviAiLAorLSAgICAgICLQmtC+0LvQuCAiCistICAgIF0K Ky0gIH0sCistICAidXIiOiB7CistICAgICJhbmQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi 2KfZiNixICIKKy0gICAgXSwKKy0gICAgImJhY2tncm91bmQiOiBbCistICAgICAgItm+2LMg2YXZ hti42LEiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi2YTb jNqp2YYgIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgItmF2KvYp9mE24za uiIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIti12YTYp9it24zYqiIsCist ICAgICAgItqp2KfYsdmI2KjYp9ixINqp24wg2LbYsdmI2LHYqiIsCistICAgICAgItiu2LXZiNi1 24zYqiIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgItin 2q/YsSAiLAorLSAgICAgICLYqNin2YTZgdix2LYgIiwKKy0gICAgICAi2YHYsdi2INqp24zYpyAi CistICAgIF0sCistICAgICJuYW1lIjogIlVyZHUiLAorLSAgICAibmF0aXZlIjogItin2LHYr9mI IiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLZhdmG2LjYsdmG2KfZhduBIgorLSAgICBd LAorLSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICLZhdmG2LjYsSDZhtin2YXbkiDa qdinINiu2KfaqduBIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAg ICAgICLZvtq+2LEgIiwKKy0gICAgICAi2KrYqCAiCistICAgIF0sCistICAgICJ3aGVuIjogWwor LSAgICAgICIqICIsCistICAgICAgItis2KggIgorLSAgICBdCistICB9LAorLSAgInV6Ijogewor LSAgICAiYW5kIjogWworLSAgICAgICIqICIsCistICAgICAgItCS0LAgIgorLSAgICBdLAorLSAg ICAiYmFja2dyb3VuZCI6IFsKKy0gICAgICAi0KLQsNGA0LjRhSIKKy0gICAgXSwKKy0gICAgImJ1 dCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLQm9C10LrQuNC9ICIsCistICAgICAgItCR0LjR gNC+0LogIiwKKy0gICAgICAi0JDQvNC80L4gIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBb CistICAgICAgItCc0LjRgdC+0LvQu9Cw0YAiCistICAgIF0sCistICAgICJmZWF0dXJlIjogWwor LSAgICAgICLQpNGD0L3QutGG0LjQvtC90LDQuyIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWwor LSAgICAgICIqICIsCistICAgICAgItCQ0LPQsNGAICIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAi VXpiZWsiLAorLSAgICAibmF0aXZlIjogItCj0LfQsdC10LrRh9CwIiwKKy0gICAgInNjZW5hcmlv IjogWworLSAgICAgICLQodGG0LXQvdCw0YDQuNC5IgorLSAgICBdLAorLSAgICAic2NlbmFyaW9P dXRsaW5lIjogWworLSAgICAgICLQodGG0LXQvdCw0YDQuNC5INGB0YLRgNGD0LrRgtGD0YDQsNGB 0LgiCistICAgIF0sCistICAgICJ0aGVuIjogWworLSAgICAgICIqICIsCistICAgICAgItCj0L3Q tNCwICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi0JDQ s9Cw0YAgIgorLSAgICBdCistICB9LAorLSAgInZpIjogeworLSAgICAiYW5kIjogWworLSAgICAg ICIqICIsCistICAgICAgIlbDoCAiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAg ICAgICJC4buRaSBj4bqjbmgiCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwK Ky0gICAgICAiTmjGsG5nICIKKy0gICAgXSwKKy0gICAgImV4YW1wbGVzIjogWworLSAgICAgICJE 4buvIGxp4buHdSIKKy0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIlTDrW5oIG7E g25nIgorLSAgICBdLAorLSAgICAiZ2l2ZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAiQmnh ur90ICIsCistICAgICAgIkNobyAiCistICAgIF0sCistICAgICJuYW1lIjogIlZpZXRuYW1lc2Ui LAorLSAgICAibmF0aXZlIjogIlRp4bq/bmcgVmnhu4d0IiwKKy0gICAgInNjZW5hcmlvIjogWwor LSAgICAgICJUw6xuaCBodeG7kW5nIiwKKy0gICAgICAiS+G7i2NoIGLhuqNuIgorLSAgICBdLAor LSAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAgICJLaHVuZyB0w6xuaCBodeG7kW5nIiwK Ky0gICAgICAiS2h1bmcga+G7i2NoIGLhuqNuIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0g ICAgICAiKiAiLAorLSAgICAgICJUaMOsICIKKy0gICAgXSwKKy0gICAgIndoZW4iOiBbCistICAg ICAgIiogIiwKKy0gICAgICAiS2hpICIKKy0gICAgXQorLSAgfSwKKy0gICJ6aC1DTiI6IHsKKy0g ICAgImFuZCI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLogIzkuJQiLAorLSAgICAgICLlubbk uJQiLAorLSAgICAgICLlkIzml7YiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAg ICAgICLog4zmma8iCistICAgIF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAg ICAi5L2G5pivIgorLSAgICBdLAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuS+i+WtkCIK Ky0gICAgXSwKKy0gICAgImZlYXR1cmUiOiBbCistICAgICAgIuWKn+iDvSIKKy0gICAgXSwKKy0g ICAgImdpdmVuIjogWworLSAgICAgICIqICIsCistICAgICAgIuWBh+WmgiIsCistICAgICAgIuWB h+iuviIsCistICAgICAgIuWBh+WumiIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQ2hpbmVzZSBz aW1wbGlmaWVkIiwKKy0gICAgIm5hdGl2ZSI6ICLnroDkvZPkuK3mlociLAorLSAgICAic2NlbmFy aW8iOiBbCistICAgICAgIuWcuuaZryIsCistICAgICAgIuWJp+acrCIKKy0gICAgXSwKKy0gICAg InNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAi5Zy65pmv5aSn57qyIiwKKy0gICAgICAi5Ymn 5pys5aSn57qyIgorLSAgICBdLAorLSAgICAidGhlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAg ICLpgqPkuYgiCistICAgIF0sCistICAgICJ3aGVuIjogWworLSAgICAgICIqICIsCistICAgICAg IuW9kyIKKy0gICAgXQorLSAgfSwKKy0gICJ6aC1UVyI6IHsKKy0gICAgImFuZCI6IFsKKy0gICAg ICAiKiAiLAorLSAgICAgICLogIzkuJQiLAorLSAgICAgICLkuKbkuJQiLAorLSAgICAgICLlkIzm mYIiCistICAgIF0sCistICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICLog4zmma8iCistICAg IF0sCistICAgICJidXQiOiBbCistICAgICAgIiogIiwKKy0gICAgICAi5L2G5pivIgorLSAgICBd LAorLSAgICAiZXhhbXBsZXMiOiBbCistICAgICAgIuS+i+WtkCIKKy0gICAgXSwKKy0gICAgImZl YXR1cmUiOiBbCistICAgICAgIuWKn+iDvSIKKy0gICAgXSwKKy0gICAgImdpdmVuIjogWworLSAg ICAgICIqICIsCistICAgICAgIuWBh+WmgiIsCistICAgICAgIuWBh+iorSIsCistICAgICAgIuWB h+WumiIKKy0gICAgXSwKKy0gICAgIm5hbWUiOiAiQ2hpbmVzZSB0cmFkaXRpb25hbCIsCistICAg ICJuYXRpdmUiOiAi57mB6auU5Lit5paHIiwKKy0gICAgInNjZW5hcmlvIjogWworLSAgICAgICLl oLTmma8iLAorLSAgICAgICLliofmnKwiCistICAgIF0sCistICAgICJzY2VuYXJpb091dGxpbmUi OiBbCistICAgICAgIuWgtOaZr+Wkp+e2sSIsCistICAgICAgIuWKh+acrOWkp+e2sSIKKy0gICAg XSwKKy0gICAgInRoZW4iOiBbCistICAgICAgIiogIiwKKy0gICAgICAi6YKj6bq8IgorLSAgICBd LAorLSAgICAid2hlbiI6IFsKKy0gICAgICAiKiAiLAorLSAgICAgICLnlbYiCistICAgIF0KKy0g IH0KKy19CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDU1LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU1 LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi4xMDFhODg3ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDU1LUNMRUFOVVAt UmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2gKQEAgLTAsMCArMSw3MzYgQEAKK0Zyb20gZjY2 YTlmZDFiZjdjMmVkMTE3ZmU2OTdiODBhMGVhNGIwNzE3NzNmMyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogU2F0LCAxMyBKdWwgMjAxOSAxMzoyMToyNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBD TEVBTlVQOiBSZW1vdmUgZGVwcmVjYXRlZCBwYXJ0cy4KKworLS0tCisgYmluL2NvbnZlcnRfaTE4 bl95YW1sLnB5IHwgIDc3IC0tLS0tCisgYmluL2kxOG4ueW1sICAgICAgICAgICAgIHwgNjM1IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwg NzEyIGRlbGV0aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDc1NSBiaW4vY29udmVydF9pMThuX3lh bWwucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgYmluL2kxOG4ueW1sCisKK2RpZmYgLS1naXQgYS9i aW4vY29udmVydF9pMThuX3lhbWwucHkgYi9iaW4vY29udmVydF9pMThuX3lhbWwucHkKK2RlbGV0 ZWQgZmlsZSBtb2RlIDEwMDc1NQoraW5kZXggZDZhNjcxMy4uMDAwMDAwMAorLS0tIGEvYmluL2Nv bnZlcnRfaTE4bl95YW1sLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSw3NyArMCwwIEBACistIyEv dXNyL2Jpbi9lbnYgcHl0aG9uCistIyAtKi0gY29kaW5nOiBVVEYtOCAtKi0KKy0jIFVTQUdFOiBj b252ZXJ0X2kxOG5feWFtbC5weSBbLS1kYXRhPWkxOG4ueW1sXSBiZWhhdmUvaTE4bi5weQorLSIi IgorLUdlbmVyYXRlcyBJMThOIHB5dGhvbiBtb2R1bGUgYmFzZWQgb24gWUFNTCBkZXNjcmlwdGlv biAoaTE4bi55bWwpLgorLQorLVJFUVVJUkVTOgorLSAgKiBhcmdwYXJzZQorLSAgKiBzaXgKKy0g ICogUHlZQU1MCistIiIiCistCistZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBv cnQsIHByaW50X2Z1bmN0aW9uCistaW1wb3J0IGFyZ3BhcnNlCistaW1wb3J0IG9zLnBhdGgKKy1p bXBvcnQgc2l4CistaW1wb3J0IHN5cworLWltcG9ydCBwcHJpbnQKKy1pbXBvcnQgeWFtbAorLQor LUhFUkUgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pCistTkFNRSA9IG9zLnBhdGguYmFzZW5h bWUoX19maWxlX18pCistX192ZXJzaW9uX18gPSAiMS4wIgorLQorLWRlZiB5YW1sX25vcm1hbGl6 ZShkYXRhKToKKy0gICAgZm9yIHBhcnQgaW4gZGF0YToKKy0gICAgICAgIGtleXdvcmRzID0gZGF0 YVtwYXJ0XQorLSAgICAgICAgZm9yIGsgaW4ga2V5d29yZHM6CistICAgICAgICAgICAgdiA9IGtl eXdvcmRzW2tdCistICAgICAgICAgICAgIyBibG9vZHkgWUFNTCBwYXJzZXIgcmV0dXJucyBhIG1p eHR1cmUgb2YgdW5pY29kZSBhbmQgc3RyCistICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uo diwgc2l4LnRleHRfdHlwZSk6CistICAgICAgICAgICAgICAgIHYgPSB2LmRlY29kZSgiVVRGLTgi KQorLSAgICAgICAgICAgIGtleXdvcmRzW2tdID0gdi5zcGxpdCgifCIpCistICAgIHJldHVybiBk YXRhCistCistZGVmIG1haW4oYXJncz1Ob25lKToKKy0gICAgaWYgYXJncyBpcyBOb25lOgorLSAg ICAgICAgYXJncyA9IHN5cy5hcmd2WzE6XQorLSAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVu dFBhcnNlcihwcm9nPU5BTUUsCistICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJHZW5lcmF0 ZSBweXRob24gbW9kdWxlIGkxOG4gZnJvbSBZQU1MIGJhc2VkIGRhdGEiKQorLSAgICBwYXJzZXIu YWRkX2FyZ3VtZW50KCItZCIsICItLWRhdGEiLCBkZXN0PSJ5YW1sX2ZpbGUiLAorLSAgICAgICAg ICAgICAgICBkZWZhdWx0PW9zLnBhdGguam9pbihIRVJFLCAiaTE4bi55bWwiKSwKKy0gICAgICAg ICAgICAgICAgaGVscD0iUGF0aCB0byBpMThuLnltbCBmaWxlIChZQU1MIGZpbGUpLiIpCistICAg IHBhcnNlci5hZGRfYXJndW1lbnQoIm91dHB1dF9maWxlIiwgZGVmYXVsdD0ic3Rkb3V0IiwKKy0g ICAgICAgICAgICAgICAgaGVscD0iRmlsZW5hbWUgb2YgUHl0aG9uIEkxOE4gbW9kdWxlIChhcyBv dXRwdXQpLiIpCistICAgIHBhcnNlci5hZGRfYXJndW1lbnQoIi0tdmVyc2lvbiIsIGFjdGlvbj0i dmVyc2lvbiIsIHZlcnNpb249X192ZXJzaW9uX18pCistCistICAgIG9wdGlvbnMgPSBwYXJzZXIu cGFyc2VfYXJncyhhcmdzKQorLSAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUob3B0aW9ucy55YW1s X2ZpbGUpOgorLSAgICAgICAgcGFyc2VyLmVycm9yKCJZQU1MIGZpbGUgbm90IGZvdW5kOiAlcyIg JSBvcHRpb25zLnlhbWxfZmlsZSkKKy0KKy0gICAgIyAtLSBTVEVQIDE6IExvYWQgWUFNTCBkYXRh LgorLSAgICBsYW5ndWFnZXMgPSB5YW1sLmxvYWQob3BlbihvcHRpb25zLnlhbWxfZmlsZSkpCist ICAgIGxhbmd1YWdlcyA9IHlhbWxfbm9ybWFsaXplKGxhbmd1YWdlcykKKy0KKy0gICAgIyAtLSBT VEVQIDI6IEdlbmVyYXRlIHB5dGhvbiBtb2R1bGUgd2l0aCBpMThuIGRhdGEuCistICAgIGNvbnRl bnRzID0gdSIiIiMgLSotIGNvZGluZzogVVRGLTggLSotCistIyAtLSBGSUxFIEdFTkVSQVRFRCBC WTogY29udmVydF9pMThuX3lhbWwucHkgd2l0aCBpMThuLnltbAorLSMgcHlsaW50OiBkaXNhYmxl PWxpbmUtdG9vLWxvbmcKKy0KKy1sYW5ndWFnZXMgPSBcXAorLSIiIgorLSAgICBpZiBvcHRpb25z Lm91dHB1dF9maWxlIGluICgiLSIsICJzdGRvdXQiKToKKy0gICAgICAgIGkxOG5fcHkgPSBzeXMu c3Rkb3V0CistICAgICAgICBzaG91bGRfY2xvc2UgPSBGYWxzZQorLSAgICBlbHNlOgorLSAgICAg ICAgaTE4bl9weSA9IG9wZW4ob3B0aW9ucy5vdXRwdXRfZmlsZSwgInciKQorLSAgICAgICAgc2hv dWxkX2Nsb3NlID0gVHJ1ZQorLSAgICBpMThuX3B5LndyaXRlKGNvbnRlbnRzLmVuY29kZSgiVVRG LTgiKSkKKy0gICAgaTE4bl9weS53cml0ZShwcHJpbnQucGZvcm1hdChsYW5ndWFnZXMpLmVuY29k ZSgiVVRGLTgiKSkKKy0gICAgaTE4bl9weS53cml0ZSh1IlxuIikKKy0gICAgaWYgc2hvdWxkX2Ns b3NlOgorLSAgICAgICAgaTE4bl9weS5jbG9zZSgpCistICAgIHJldHVybiAwCistCistaWYgX19u YW1lX18gPT0gIl9fbWFpbl9fIjoKKy0gICAgc3lzLmV4aXQobWFpbigpKQorZGlmZiAtLWdpdCBh L2Jpbi9pMThuLnltbCBiL2Jpbi9pMThuLnltbAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCA4MjM0NWE0Li4wMDAwMDAwCistLS0gYS9iaW4vaTE4bi55bWwKKysrKyAvZGV2L251bGwK K0BAIC0xLDYzNSArMCwwIEBACistIyBlbmNvZGluZzogVVRGLTgKKy0jCistIyBXZSB1c2UgSVNP IDYzOS0xIChsYW5ndWFnZSkgYW5kIElTTyAzMTY2IGFscGhhLTIgKHJlZ2lvbiAtIGlmIGFwcGxp Y2FibGUpOgorLSMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX0lTT182Mzkt MV9jb2RlcworLSMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fMzE2Ni0xCistIwor LSMgSWYgeW91IHdhbnQgc2V2ZXJhbCBhbGlhc2VzIGZvciBhIGtleXdvcmQsIGp1c3Qgc2VwYXJh dGUgdGhlbQorLSMgd2l0aCBhIHwgY2hhcmFjdGVyLiBUaGUgKiBpcyBhIHN0ZXAga2V5d29yZCBh bGlhcyBmb3IgYWxsIHRyYW5zbGF0aW9ucy4KKy0jCistIyBJZiB5b3UgZG8gKm5vdCogd2FudCBh IHRyYWlsaW5nIHNwYWNlIGFmdGVyIGEga2V5d29yZCwgZW5kIGl0IHdpdGggYSA8IGNoYXJhY3Rl ci4KKy0jIChTZWUgQ2hpbmVzZSBmb3IgZXhhbXBsZXMpLgorLSMKKy0jIFRoaXMgZmlsZSBjb3B5 cmlnaHQgKGMpIDIwMDktMjAxMSBNaWtlIFNhc3NhaywgR3JlZ29yeSBIbmF0aXVrLCBBc2xhayBI ZWxsZXPDuHkKKy0jCistIyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKKy0jIGEgY29weSBvZiB0aGlzIHNvZnR3YXJl IGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorLSMgIlNvZnR3YXJlIiks IHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwor LSMgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1l cmdlLCBwdWJsaXNoLAorLSMgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w aWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCistIyBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo ZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKy0jIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKKy0jCistIyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQorLSMgaW5jbHVkZWQgaW4gYWxsIGNvcGll cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCistIworLSMgVEhFIFNP RlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs CistIyBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF IFdBUlJBTlRJRVMgT0YKKy0jIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UgQU5ECistIyBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRI RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFCistIyBMSUFCTEUgRk9SIEFOWSBDTEFJ TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OCistIyBP RiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO IENPTk5FQ1RJT04KKy0jIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB TElOR1MgSU4gVEhFIFNPRlRXQVJFLgorLQorLSJlbiI6CistICBuYW1lOiBFbmdsaXNoCistICBu YXRpdmU6IEVuZ2xpc2gKKy0gIGZlYXR1cmU6IEZlYXR1cmUKKy0gIGJhY2tncm91bmQ6IEJhY2tn cm91bmQKKy0gIHNjZW5hcmlvOiBTY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogU2NlbmFy aW8gT3V0bGluZXxTY2VuYXJpbyBUZW1wbGF0ZQorLSAgZXhhbXBsZXM6IEV4YW1wbGVzfFNjZW5h cmlvcworLSAgZ2l2ZW46ICIqfEdpdmVuIgorLSAgd2hlbjogIip8V2hlbiIKKy0gIHRoZW46ICIq fFRoZW4iCistICBhbmQ6ICIqfEFuZCIKKy0gIGJ1dDogIip8QnV0IgorLQorLSMgUGxlYXNlIGtl ZXAgdGhlIGdyYW1tYXJzIGluIGFscGhhYmV0aWNhbCBvcmRlciBieSBuYW1lIGZyb20gaGVyZSBh bmQgZG93bi4KKy0KKy0iYXIiOgorLSAgbmFtZTogQXJhYmljCistICBuYXRpdmU6INin2YTYudix 2KjZitipCistICBmZWF0dXJlOiDYrtin2LXZitipCistICBiYWNrZ3JvdW5kOiDYp9mE2K7ZhNmB 2YrYqQorLSAgc2NlbmFyaW86INiz2YrZhtin2LHZitmICistICBzY2VuYXJpb19vdXRsaW5lOiDY s9mK2YbYp9ix2YrZiCDZhdiu2LfYtworLSAgZXhhbXBsZXM6INin2YXYq9mE2KkKKy0gIGdpdmVu OiAiKnzYqNmB2LHYtiIKKy0gIHdoZW46ICIqfNmF2KrZiXzYudmG2K/ZhdinIgorLSAgdGhlbjog Iip82KfYsNin2Yt82KvZhSIKKy0gIGFuZDogIip82YgiCistICBidXQ6ICIqfNmE2YPZhiIKKy0i YmciOgorLSAgbmFtZTogQnVsZ2FyaWFuCistICBuYXRpdmU6INCx0YrQu9Cz0LDRgNGB0LrQuAor LSAgZmVhdHVyZTog0KTRg9C90LrRhtC40L7QvdCw0LvQvdC+0YHRggorLSAgYmFja2dyb3VuZDog 0J/RgNC10LTQuNGB0YLQvtGA0LjRjworLSAgc2NlbmFyaW86INCh0YbQtdC90LDRgNC40LkKKy0g IHNjZW5hcmlvX291dGxpbmU6INCg0LDQvNC60LAg0L3QsCDRgdGG0LXQvdCw0YDQuNC5CistICBl eGFtcGxlczog0J/RgNC40LzQtdGA0LgKKy0gIGdpdmVuOiAiKnzQlNCw0LTQtdC90L4iCistICB3 aGVuOiAiKnzQmtC+0LPQsNGC0L4iCistICB0aGVuOiAiKnzQotC+IgorLSAgYW5kOiAiKnzQmCIK Ky0gIGJ1dDogIip80J3QviIKKy0iY2EiOgorLSAgbmFtZTogQ2F0YWxhbgorLSAgbmF0aXZlOiBj YXRhbMOgCistICBiYWNrZ3JvdW5kOiBSZXJlZm9uc3xBbnRlY2VkZW50cworLSAgZmVhdHVyZTog Q2FyYWN0ZXLDrXN0aWNhfEZ1bmNpb25hbGl0YXQKKy0gIHNjZW5hcmlvOiBFc2NlbmFyaQorLSAg c2NlbmFyaW9fb3V0bGluZTogRXNxdWVtYSBkZSBsJ2VzY2VuYXJpCistICBleGFtcGxlczogRXhl bXBsZXMKKy0gIGdpdmVuOiAiKnxEb25hdHxEb25hZGF8QXTDqHN8QXRlc2EiCistICB3aGVuOiAi KnxRdWFuIgorLSAgdGhlbjogIip8QWxlc2hvcmVzfENhbCIKKy0gIGFuZDogIip8SSIKKy0gIGJ1 dDogIip8UGVyw7IiCistImN5LUdCIjoKKy0gIG5hbWU6IFdlbHNoCistICBuYXRpdmU6IEN5bXJh ZWcKKy0gIGJhY2tncm91bmQ6IENlZm5kaXIKKy0gIGZlYXR1cmU6IEFyd2VkZAorLSAgc2NlbmFy aW86IFNjZW5hcmlvCistICBzY2VuYXJpb19vdXRsaW5lOiBTY2VuYXJpbyBBbWxpbmVsbG9sCist ICBleGFtcGxlczogRW5naHJlaWZmdGlhdQorLSAgZ2l2ZW46ICIqfEFucmhlZ2VkaWcgYSIKKy0g IHdoZW46ICIqfFByeWQiCistICB0aGVuOiAiKnxZbmEiCistICBhbmQ6ICIqfEEiCistICBidXQ6 ICIqfE9uZCIKKy0iY3MiOgorLSAgbmFtZTogQ3plY2gKKy0gIG5hdGl2ZTogxIxlc2t5CistICBm ZWF0dXJlOiBQb8W+YWRhdmVrCistICBiYWNrZ3JvdW5kOiBQb3phZMOtfEtvbnRleHQKKy0gIHNj ZW5hcmlvOiBTY8OpbsOhxZkKKy0gIHNjZW5hcmlvX291dGxpbmU6IE7DocSNcnQgU2PDqW7DocWZ ZXxPc25vdmEgc2PDqW7DocWZZQorLSAgZXhhbXBsZXM6IFDFmcOta2xhZHkKKy0gIGdpdmVuOiAi KnxQb2t1ZHxaYSBwxZllZHBva2xhZHUiCistICB3aGVuOiAiKnxLZHnFviIKKy0gIHRoZW46ICIq fFBhayIKKy0gIGFuZDogIip8QXxBIHRha8OpIgorLSAgYnV0OiAiKnxBbGUiCistImRhIjoKKy0g IG5hbWU6IERhbmlzaAorLSAgbmF0aXZlOiBkYW5zaworLSAgZmVhdHVyZTogRWdlbnNrYWIKKy0g IGJhY2tncm91bmQ6IEJhZ2dydW5kCistICBzY2VuYXJpbzogU2NlbmFyaWUKKy0gIHNjZW5hcmlv X291dGxpbmU6IEFic3RyYWt0IFNjZW5hcmlvCistICBleGFtcGxlczogRWtzZW1wbGVyCistICBn aXZlbjogIip8R2l2ZXQiCistICB3aGVuOiAiKnxOw6VyIgorLSAgdGhlbjogIip8U8OlIgorLSAg YW5kOiAiKnxPZyIKKy0gIGJ1dDogIip8TWVuIgorLSJkZSI6CistICBuYW1lOiBHZXJtYW4KKy0g IG5hdGl2ZTogRGV1dHNjaAorLSAgZmVhdHVyZTogRnVua3Rpb25hbGl0w6R0CistICBiYWNrZ3Jv dW5kOiBHcnVuZGxhZ2UKKy0gIHNjZW5hcmlvOiBTemVuYXJpbworLSAgc2NlbmFyaW9fb3V0bGlu ZTogU3plbmFyaW9ncnVuZHJpc3MKKy0gIGV4YW1wbGVzOiBCZWlzcGllbGUKKy0gIGdpdmVuOiAi KnxBbmdlbm9tbWVufEdlZ2ViZW4gc2VpIgorLSAgd2hlbjogIip8V2VubiIKKy0gIHRoZW46ICIq fERhbm4iCistICBhbmQ6ICIqfFVuZCIKKy0gIGJ1dDogIip8QWJlciIKKy0iZW4tYXUiOgorLSAg bmFtZTogQXVzdHJhbGlhbgorLSAgbmF0aXZlOiBBdXN0cmFsaWFuCistICBmZWF0dXJlOiBDcmlr ZXkKKy0gIGJhY2tncm91bmQ6IEJhY2tncm91bmQKKy0gIHNjZW5hcmlvOiBNYXRlCistICBzY2Vu YXJpb19vdXRsaW5lOiBCbG9rZXMKKy0gIGV4YW1wbGVzOiBDb2JiZXIKKy0gIGdpdmVuOiAiKnxZ YSBrbm93IGhvdyIKKy0gIHdoZW46ICIqfFdoZW4iCistICB0aGVuOiAiKnxZYSBnb3R0YSIKKy0g IGFuZDogIip8TiIKKy0gIGJ1dDogIip8Q2VwdCIKKy0iZW4tbG9sIjoKKy0gIG5hbWU6IExPTENB VAorLSAgbmF0aXZlOiBMT0xDQVQKKy0gIGZlYXR1cmU6IE9IIEhBSQorLSAgYmFja2dyb3VuZDog QjQKKy0gIHNjZW5hcmlvOiBNSVNIVU4KKy0gIHNjZW5hcmlvX291dGxpbmU6IE1JU0hVTiBTUlNM WQorLSAgZXhhbXBsZXM6IEVYQU1QTFoKKy0gIGdpdmVuOiAiKnxJIENBTiBIQVoiCistICB3aGVu OiAiKnxXRU4iCistICB0aGVuOiAiKnxERU4iCistICBhbmQ6ICIqfEFOIgorLSAgYnV0OiAiKnxC VVQiCistImVuLXBpcmF0ZSI6CistICBuYW1lOiBQaXJhdGUKKy0gIG5hdGl2ZTogUGlyYXRlCist ICBmZWF0dXJlOiBBaG95IG1hdGV5IQorLSAgYmFja2dyb3VuZDogWW8taG8taG8KKy0gIHNjZW5h cmlvOiBIZWF2ZSB0bworLSAgc2NlbmFyaW9fb3V0bGluZTogU2hpdmVyIG1lIHRpbWJlcnMKKy0g IGV4YW1wbGVzOiBEZWFkIG1lbiB0ZWxsIG5vIHRhbGVzCistICBnaXZlbjogIip8R2FuZ3dheSEi CistICB3aGVuOiAiKnxCbGltZXkhIgorLSAgdGhlbjogIip8TGV0IGdvIGFuZCBoYXVsIgorLSAg YW5kOiAiKnxBeWUiCistICBidXQ6ICIqfEF2YXN0ISIKKy0iZW4tU2NvdXNlIjoKKy0gIG5hbWU6 IFNjb3VzZQorLSAgbmF0aXZlOiBTY291c2UKKy0gIGZlYXR1cmU6IEZlYXR1cmUKKy0gIGJhY2tn cm91bmQ6ICJEaXMgaXMgd2hhdCB3ZW50IGRvd24iCistICBzY2VuYXJpbzogIlRoZSB0aGluZyBv ZiBpdCBpcyIKKy0gIHNjZW5hcmlvX291dGxpbmU6ICJXaGFycmltZWFuIGlzIgorLSAgZXhhbXBs ZXM6IEV4YW1wbGVzCistICBnaXZlbjogIip8R2l2dW58WW91c2Uga25vdyB3aGVuIHlvdXNlIGdv dCIKKy0gIHdoZW46ICIqfFd1bnxZb3VzZSBrbm93IGxpa2Ugd2hlbiIKKy0gIHRoZW46ICIqfER1 bnxEZW4geW91c2UgZ290dGEiCistICBhbmQ6ICIqfEFuIgorLSAgYnV0OiAiKnxCdWgiCistImVu LXR4IjoKKy0gIG5hbWU6IFRleGFuCistICBuYXRpdmU6IFRleGFuCistICBmZWF0dXJlOiBGZWF0 dXJlCistICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kCistICBzY2VuYXJpbzogU2NlbmFyaW8KKy0g IHNjZW5hcmlvX291dGxpbmU6IEFsbCB5J2FsbAorLSAgZXhhbXBsZXM6IEV4YW1wbGVzCistICBn aXZlbjogIip8R2l2ZW4geSdhbGwiCistICB3aGVuOiAiKnxXaGVuIHknYWxsIgorLSAgdGhlbjog Iip8VGhlbiB5J2FsbCIKKy0gIGFuZDogIip8QW5kIHknYWxsIgorLSAgYnV0OiAiKnxCdXQgeSdh bGwiCistImVvIjoKKy0gIG5hbWU6IEVzcGVyYW50bworLSAgbmF0aXZlOiBFc3BlcmFudG8KKy0g IGZlYXR1cmU6IFRyYWp0bworLSAgYmFja2dyb3VuZDogRm9ubworLSAgc2NlbmFyaW86IFNjZW5h cm8KKy0gIHNjZW5hcmlvX291dGxpbmU6IEtvbnR1cm8gZGUgbGEgc2NlbmFybworLSAgZXhhbXBs ZXM6IEVremVtcGxvagorLSAgZ2l2ZW46ICIqfERvbml0YcS1byIKKy0gIHdoZW46ICIqfFNlIgor LSAgdGhlbjogIip8RG8iCistICBhbmQ6ICIqfEthaiIKKy0gIGJ1dDogIip8U2VkIgorLSJlcyI6 CistICBuYW1lOiBTcGFuaXNoCistICBuYXRpdmU6IGVzcGHDsW9sCistICBiYWNrZ3JvdW5kOiBB bnRlY2VkZW50ZXMKKy0gIGZlYXR1cmU6IENhcmFjdGVyw61zdGljYQorLSAgc2NlbmFyaW86IEVz Y2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogRXNxdWVtYSBkZWwgZXNjZW5hcmlvCistICBl eGFtcGxlczogRWplbXBsb3MKKy0gIGdpdmVuOiAiKnxEYWRvfERhZGF8RGFkb3N8RGFkYXMiCist ICB3aGVuOiAiKnxDdWFuZG8iCistICB0aGVuOiAiKnxFbnRvbmNlcyIKKy0gIGFuZDogIip8WSIK Ky0gIGJ1dDogIip8UGVybyIKKy0iZXQiOgorLSAgbmFtZTogRXN0b25pYW4KKy0gIG5hdGl2ZTog ZWVzdGkga2VlbAorLSAgZmVhdHVyZTogT21hZHVzCistICBiYWNrZ3JvdW5kOiBUYXVzdAorLSAg c2NlbmFyaW86IFN0c2VuYWFyaXVtCistICBzY2VuYXJpb19vdXRsaW5lOiBSYWFtc3RzZW5hYXJp dW0KKy0gIGV4YW1wbGVzOiBKdWh0dW1pZAorLSAgZ2l2ZW46ICIqfEVlbGRhZGVzIgorLSAgd2hl bjogIip8S3VpIgorLSAgdGhlbjogIip8U2lpcyIKKy0gIGFuZDogIip8SmEiCistICBidXQ6ICIq fEt1aWQiCistImZpIjoKKy0gIG5hbWU6IEZpbm5pc2gKKy0gIG5hdGl2ZTogc3VvbWkKKy0gIGZl YXR1cmU6IE9taW5haXN1dXMKKy0gIGJhY2tncm91bmQ6IFRhdXN0YQorLSAgc2NlbmFyaW86IFRh cGF1cworLSAgc2NlbmFyaW9fb3V0bGluZTogVGFwYXVzYWloaW8KKy0gIGV4YW1wbGVzOiBUYXBh dWtzZXQKKy0gIGdpdmVuOiAiKnxPbGV0ZXRhYW4iCistICB3aGVuOiAiKnxLdW4iCistICB0aGVu OiAiKnxOaWluIgorLSAgYW5kOiAiKnxKYSIKKy0gIGJ1dDogIip8TXV0dGEiCistImZyIjoKKy0g IG5hbWU6IEZyZW5jaAorLSAgbmF0aXZlOiBmcmFuw6dhaXMKKy0gIGZlYXR1cmU6IEZvbmN0aW9u bmFsaXTDqQorLSAgYmFja2dyb3VuZDogQ29udGV4dGUKKy0gIHNjZW5hcmlvOiBTY8OpbmFyaW8K Ky0gIHNjZW5hcmlvX291dGxpbmU6IFBsYW4gZHUgc2PDqW5hcmlvfFBsYW4gZHUgU2PDqW5hcmlv CistICBleGFtcGxlczogRXhlbXBsZXMKKy0gIGdpdmVuOiAiKnxTb2l0fEV0YW50IGRvbm7DqXxF dGFudCBkb25uw6llfEV0YW50IGRvbm7DqXN8RXRhbnQgZG9ubsOpZXN8w4l0YW50IGRvbm7DqXzD iXRhbnQgZG9ubsOpZXzDiXRhbnQgZG9ubsOpc3zDiXRhbnQgZG9ubsOpZXMiCistICB3aGVuOiAi KnxRdWFuZHxMb3JzcXVlfExvcnNxdSc8IgorLSAgdGhlbjogIip8QWxvcnMiCistICBhbmQ6ICIq fEV0IgorLSAgYnV0OiAiKnxNYWlzIgorLSJnbCI6CistICBuYW1lOiBHYWxpY2lhbgorLSAgbmF0 aXZlOiBnYWxlZ28KKy0gIGZlYXR1cmU6IENhcmFjdGVyw61zdGljYQorLSAgYmFja2dyb3VuZDog Q29udGV4dG8KKy0gIHNjZW5hcmlvOiBFc2NlbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6ICJF c2Jvem8gZG8gZXNjZW5hcmlvIgorLSAgZXhhbXBsZXM6IEV4ZW1wbG9zCistICBnaXZlbjogIip8 RGFkb3xEYWRhfERhZG9zfERhZGFzIgorLSAgd2hlbjogIip8Q2FuZG8iCistICB0aGVuOiAiKnxF bnTDs258TG9nbyIKKy0gIGFuZDogIip8RSIKKy0gIGJ1dDogIip8TWFpc3xQZXJvIgorLQorLSJo ZSI6CistICBuYW1lOiBIZWJyZXcKKy0gIG5hdGl2ZTog16LXkdeo15nXqgorLSAgZmVhdHVyZTog 16rXm9eV16DXlAorLSAgYmFja2dyb3VuZDog16jXp9eiCistICBzY2VuYXJpbzog16rXqNeX15nX qQorLSAgc2NlbmFyaW9fb3V0bGluZTog16rXkdeg15nXqiDXqteo15fXmdepCistICBleGFtcGxl czog15PXldeS157XkNeV16oKKy0gIGdpdmVuOiAiKnzXkdeU15nXoNeq158iCistICB3aGVuOiAi KnzXm9eQ16nXqCIKKy0gIHRoZW46ICIqfNeQ15Z815DXlteZIgorLSAgYW5kOiAiKnzXldeS150i CistICBidXQ6ICIqfNeQ15HXnCIKKy0iaHIiOgorLSAgbmFtZTogQ3JvYXRpYW4KKy0gIG5hdGl2 ZTogaHJ2YXRza2kKKy0gIGZlYXR1cmU6IE9zb2JpbmF8TW9ndcSHbm9zdHxNb2d1Y25vc3QKKy0g IGJhY2tncm91bmQ6IFBvemFkaW5hCistICBzY2VuYXJpbzogU2NlbmFyaWoKKy0gIHNjZW5hcmlv X291dGxpbmU6IFNraWNhfEtvbmNlcHQKKy0gIGV4YW1wbGVzOiBQcmltamVyaXxTY2VuYXJpamkK Ky0gIGdpdmVuOiAiKnxaYWRhbnxaYWRhbml8WmFkYW5vIgorLSAgd2hlbjogIip8S2FkYXxLYWQi CistICB0aGVuOiAiKnxPbmRhIgorLSAgYW5kOiAiKnxJIgorLSAgYnV0OiAiKnxBbGkiCistImh1 IjoKKy0gIG5hbWU6IEh1bmdhcmlhbgorLSAgbmF0aXZlOiBtYWd5YXIKKy0gIGZlYXR1cmU6IEpl bGxlbXrFkQorLSAgYmFja2dyb3VuZDogSMOhdHTDqXIKKy0gIHNjZW5hcmlvOiBGb3JnYXTDs2vD tm55dgorLSAgc2NlbmFyaW9fb3V0bGluZTogRm9yZ2F0w7Nrw7ZueXYgdsOhemxhdAorLSAgZXhh bXBsZXM6IFDDqWxkw6FrCistICBnaXZlbjogIip8QW1lbm55aWJlbnxBZG90dCIKKy0gIHdoZW46 ICIqfE1hamR8SGF8QW1pa29yIgorLSAgdGhlbjogIip8QWtrb3IiCistICBhbmQ6ICIqfMOJcyIK Ky0gIGJ1dDogIip8RGUiCistImlkIjoKKy0gIG5hbWU6IEluZG9uZXNpYW4KKy0gIG5hdGl2ZTog QmFoYXNhIEluZG9uZXNpYQorLSAgZmVhdHVyZTogRml0dXIKKy0gIGJhY2tncm91bmQ6IERhc2Fy CistICBzY2VuYXJpbzogU2tlbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IFNrZW5hcmlvIGtv bnNlcAorLSAgZXhhbXBsZXM6IENvbnRvaAorLSAgZ2l2ZW46ICIqfERlbmdhbiIKKy0gIHdoZW46 ICIqfEtldGlrYSIKKy0gIHRoZW46ICIqfE1ha2EiCistICBhbmQ6ICIqfERhbiIKKy0gIGJ1dDog Iip8VGFwaSIKKy0iaXMiOgorLSAgbmFtZTogSWNlbGFuZGljCistICBuYXRpdmU6IMONc2xlbnNr YQorLSAgZmVhdHVyZTogRWlnaW5sZWlraQorLSAgYmFja2dyb3VuZDogQmFrZ3J1bm51cgorLSAg c2NlbmFyaW86IEF0YnVyw7BhcsOhcworLSAgc2NlbmFyaW9fb3V0bGluZTogTMO9c2luZyBBdGJ1 csOwYXLDoXNhcnxMw71zaW5nIETDpm1hCistICBleGFtcGxlczogRMOmbWl8QXRidXLDsGFyw6Fz aXIKKy0gIGdpdmVuOiAiKnxFZiIKKy0gIHdoZW46ICIqfMOeZWdhciIKKy0gIHRoZW46ICIqfMOe w6EiCistICBhbmQ6ICIqfE9nIgorLSAgYnV0OiAiKnxFbiIKKy0iaXQiOgorLSAgbmFtZTogSXRh bGlhbgorLSAgbmF0aXZlOiBpdGFsaWFubworLSAgZmVhdHVyZTogRnVuemlvbmFsaXTDoAorLSAg YmFja2dyb3VuZDogQ29udGVzdG8KKy0gIHNjZW5hcmlvOiBTY2VuYXJpbworLSAgc2NlbmFyaW9f b3V0bGluZTogU2NoZW1hIGRlbGxvIHNjZW5hcmlvCistICBleGFtcGxlczogRXNlbXBpCistICBn aXZlbjogIip8RGF0b3xEYXRhfERhdGl8RGF0ZSIKKy0gIHdoZW46ICIqfFF1YW5kbyIKKy0gIHRo ZW46ICIqfEFsbG9yYSIKKy0gIGFuZDogIip8RSIKKy0gIGJ1dDogIip8TWEiCistImphIjoKKy0g IG5hbWU6IEphcGFuZXNlCistICBuYXRpdmU6IOaXpeacrOiqngorLSAgZmVhdHVyZTog44OV44Kj 44O844OB44OjfOapn+iDvQorLSAgYmFja2dyb3VuZDog6IOM5pmvCistICBzY2VuYXJpbzog44K3 44OK44Oq44KqCistICBzY2VuYXJpb19vdXRsaW5lOiDjgrfjg4rjg6rjgqrjgqLjgqbjg4jjg6nj gqTjg7N844K344OK44Oq44Kq44OG44Oz44OX44Os44O844OIfOODhuODs+ODl+ODrHzjgrfjg4rj g6rjgqrjg4bjg7Pjg5fjg6wKKy0gIGV4YW1wbGVzOiDkvot844K144Oz44OX44OrCistICBnaXZl bjogIip85YmN5o+QPCIKKy0gIHdoZW46ICIqfOOCguOBlzwiCistICB0aGVuOiAiKnzjgarjgonj gbA8IgorLSAgYW5kOiAiKnzjgYvjgaQ8IgorLSAgYnV0OiAiKnzjgZfjgYvjgZc8fOS9huOBlzx8 44Gf44Gg44GXPCIKKy0ia28iOgorLSAgbmFtZTogS29yZWFuCistICBuYXRpdmU6IO2VnOq1reyW tAorLSAgYmFja2dyb3VuZDog67Cw6rK9CistICBmZWF0dXJlOiDquLDriqUKKy0gIHNjZW5hcmlv OiDsi5zrgpjrpqzsmKQKKy0gIHNjZW5hcmlvX291dGxpbmU6IOyLnOuCmOumrOyYpCDqsJzsmpQK Ky0gIGV4YW1wbGVzOiDsmIgKKy0gIGdpdmVuOiAiKnzsobDqsbQ8fOuovOyggDwiCistICB3aGVu OiAiKnzrp4zsnbw8fOunjOyVvTwiCistICB0aGVuOiAiKnzqt7jrn6zrqbQ8IgorLSAgYW5kOiAi Knzqt7jrpqzqs6A8IgorLSAgYnV0OiAiKnztlZjsp4Drp4w8fOuLqDwiCistImx0IjoKKy0gIG5h bWU6IExpdGh1YW5pYW4KKy0gIG5hdGl2ZTogbGlldHV2acWzIGthbGJhCistICBmZWF0dXJlOiBT YXZ5YsSXCistICBiYWNrZ3JvdW5kOiBLb250ZWtzdGFzCistICBzY2VuYXJpbzogU2NlbmFyaWp1 cworLSAgc2NlbmFyaW9fb3V0bGluZTogU2NlbmFyaWphdXMgxaFhYmxvbmFzCistICBleGFtcGxl czogUGF2eXpkxb5pYWl8U2NlbmFyaWphaXxWYXJpYW50YWkKKy0gIGdpdmVuOiAiKnxEdW90YSIK Ky0gIHdoZW46ICIqfEthaSIKKy0gIHRoZW46ICIqfFRhZGEiCistICBhbmQ6ICIqfElyIgorLSAg YnV0OiAiKnxCZXQiCistImx1IjoKKy0gIG5hbWU6IEx1eGVtYnVyZ2lzaAorLSAgbmF0aXZlOiBM w6t0emVidWVyZ2VzY2gKKy0gIGZlYXR1cmU6IEZ1bmt0aW9uYWxpdMOpaXQKKy0gIGJhY2tncm91 bmQ6IEhhbm5lcmdyb25kCistICBzY2VuYXJpbzogU3plbmFyaW8KKy0gIHNjZW5hcmlvX291dGxp bmU6IFBsYW5nIHZ1bSBTemVuYXJpbworLSAgZXhhbXBsZXM6IEJlaXNwaWxsZXIKKy0gIGdpdmVu OiAiKnx1Z2Vob2xsIgorLSAgd2hlbjogIip8d2FubiIKKy0gIHRoZW46ICIqfGRhbm4iCistICBh bmQ6ICIqfGFufGEiCistICBidXQ6ICIqfGF3ZXJ8bcOkIgorLSJsdiI6CistICBuYW1lOiBMYXR2 aWFuCistICBuYXRpdmU6IGxhdHZpZcWhdQorLSAgZmVhdHVyZTogRnVua2Npb25hbGl0xIF0ZXxG xKvEjWEKKy0gIGJhY2tncm91bmQ6IEtvbnRla3N0c3xTaXR1xIFjaWphCistICBzY2VuYXJpbzog U2NlbsSBcmlqcworLSAgc2NlbmFyaW9fb3V0bGluZTogU2NlbsSBcmlqcyBwxJNjIHBhcmF1Z2EK Ky0gIGV4YW1wbGVzOiBQaWVtxJNyaXxQYXJhdWdzCistICBnaXZlbjogIip8S2FkIgorLSAgd2hl bjogIip8SmEiCistICB0aGVuOiAiKnxUYWQiCistICBhbmQ6ICIqfFVuIgorLSAgYnV0OiAiKnxC ZXQiCistIm5sIjoKKy0gIG5hbWU6IER1dGNoCistICBuYXRpdmU6IE5lZGVybGFuZHMKKy0gIGZl YXR1cmU6IEZ1bmN0aW9uYWxpdGVpdAorLSAgYmFja2dyb3VuZDogQWNodGVyZ3JvbmQKKy0gIHNj ZW5hcmlvOiBTY2VuYXJpbworLSAgc2NlbmFyaW9fb3V0bGluZTogQWJzdHJhY3QgU2NlbmFyaW8K Ky0gIGV4YW1wbGVzOiBWb29yYmVlbGRlbgorLSAgZ2l2ZW46ICIqfEdlZ2V2ZW58U3RlbCIKKy0g IHdoZW46ICIqfEFscyIKKy0gIHRoZW46ICIqfERhbiIKKy0gIGFuZDogIip8RW4iCistICBidXQ6 ICIqfE1hYXIiCistIm5vIjoKKy0gIG5hbWU6IE5vcndlZ2lhbgorLSAgbmF0aXZlOiBub3Jzawor LSAgZmVhdHVyZTogRWdlbnNrYXAKKy0gIGJhY2tncm91bmQ6IEJha2dydW5uCistICBzY2VuYXJp bzogU2NlbmFyaW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IFNjZW5hcmlvbWFsfEFic3RyYWt0IFNj ZW5hcmlvCistICBleGFtcGxlczogRWtzZW1wbGVyCistICBnaXZlbjogIip8R2l0dCIKKy0gIHdo ZW46ICIqfE7DpXIiCistICB0aGVuOiAiKnxTw6UiCistICBhbmQ6ICIqfE9nIgorLSAgYnV0OiAi KnxNZW4iCistInBsIjoKKy0gIG5hbWU6IFBvbGlzaAorLSAgbmF0aXZlOiBwb2xza2kKKy0gIGZl YXR1cmU6IFfFgmHFm2Npd2/Fm8SHCistICBiYWNrZ3JvdW5kOiBaYcWCb8W8ZW5pYQorLSAgc2Nl bmFyaW86IFNjZW5hcml1c3oKKy0gIHNjZW5hcmlvX291dGxpbmU6IFN6YWJsb24gc2NlbmFyaXVz emEKKy0gIGV4YW1wbGVzOiBQcnp5a8WCYWR5CistICBnaXZlbjogIip8WmFrxYJhZGFqxIVjfE1h asSFYyIKKy0gIHdoZW46ICIqfEplxbxlbGl8SmXFm2xpIgorLSAgdGhlbjogIip8V3RlZHkiCist ICBhbmQ6ICIqfE9yYXp8SSIKKy0gIGJ1dDogIip8QWxlIgorLSJwdCI6CistICBuYW1lOiBQb3J0 dWd1ZXNlCistICBuYXRpdmU6IHBvcnR1Z3XDqnMKKy0gIGJhY2tncm91bmQ6IENvbnRleHRvCist ICBmZWF0dXJlOiBGdW5jaW9uYWxpZGFkZQorLSAgc2NlbmFyaW86IENlbsOhcmlvfENlbmFyaW8K Ky0gIHNjZW5hcmlvX291dGxpbmU6IEVzcXVlbWEgZG8gQ2Vuw6FyaW98RXNxdWVtYSBkbyBDZW5h cmlvCistICBleGFtcGxlczogRXhlbXBsb3MKKy0gIGdpdmVuOiAiKnxEYWRvfERhZGF8RGFkb3N8 RGFkYXMiCistICB3aGVuOiAiKnxRdWFuZG8iCistICB0aGVuOiAiKnxFbnTDo298RW50YW8iCist ICBhbmQ6ICIqfEUiCistICBidXQ6ICIqfE1hcyIKKy0icm8iOgorLSAgbmFtZTogUm9tYW5pYW4K Ky0gIG5hdGl2ZTogcm9tw6JuxIMKKy0gIGJhY2tncm91bmQ6IENvbnRleHQKKy0gIGZlYXR1cmU6 IEZ1bmN0aW9uYWxpdGF0ZXxGdW5jyJtpb25hbGl0YXRlfEZ1bmPFo2lvbmFsaXRhdGUKKy0gIHNj ZW5hcmlvOiBTY2VuYXJpdQorLSAgc2NlbmFyaW9fb3V0bGluZTogU3RydWN0dXJhIHNjZW5hcml1 fFN0cnVjdHVyxIMgc2NlbmFyaXUKKy0gIGV4YW1wbGVzOiBFeGVtcGxlCistICBnaXZlbjogIip8 RGF0ZSBmaWluZHxEYXQgZmlpbmR8RGF0aSBmaWluZHxEYcibaSBmaWluZHxEYcWjaSBmaWluZCIK Ky0gIHdoZW46ICIqfENhbmR8Q8OibmQiCistICB0aGVuOiAiKnxBdHVuY2kiCistICBhbmQ6ICIq fFNpfMiYaXzFnmkiCistICBidXQ6ICIqfERhciIKKy0icnUiOgorLSAgbmFtZTogUnVzc2lhbgor LSAgbmF0aXZlOiDRgNGD0YHRgdC60LjQuQorLSAgZmVhdHVyZTog0KTRg9C90LrRhtC40Y980KTR g9C90LrRhtC40L7QvdCw0Lt80KHQstC+0LnRgdGC0LLQvgorLSAgYmFja2dyb3VuZDog0J/RgNC1 0LTRi9GB0YLQvtGA0LjRj3zQmtC+0L3RgtC10LrRgdGCCistICBzY2VuYXJpbzog0KHRhtC10L3Q sNGA0LjQuQorLSAgc2NlbmFyaW9fb3V0bGluZTog0KHRgtGA0YPQutGC0YPRgNCwINGB0YbQtdC9 0LDRgNC40Y8KKy0gIGV4YW1wbGVzOiDQn9GA0LjQvNC10YDRiworLSAgZ2l2ZW46ICIqfNCU0L7Q v9GD0YHRgtC40Lx80JTQsNC90L580J/Rg9GB0YLRjCIKKy0gIHdoZW46ICIqfNCV0YHQu9C4fNCa 0L7Qs9C00LAiCistICB0aGVuOiAiKnzQotC+fNCi0L7Qs9C00LAiCistICBhbmQ6ICIqfNCYfNCa INGC0L7QvNGDINC20LUiCistICBidXQ6ICIqfNCd0L580JAiCistInN2IjoKKy0gIG5hbWU6IFN3 ZWRpc2gKKy0gIG5hdGl2ZTogU3ZlbnNrYQorLSAgZmVhdHVyZTogRWdlbnNrYXAKKy0gIGJhY2tn cm91bmQ6IEJha2dydW5kCistICBzY2VuYXJpbzogU2NlbmFyaW8KKy0gIHNjZW5hcmlvX291dGxp bmU6IEFic3RyYWt0IFNjZW5hcmlvfFNjZW5hcmlvbWFsbAorLSAgZXhhbXBsZXM6IEV4ZW1wZWwK Ky0gIGdpdmVuOiAiKnxHaXZldCIKKy0gIHdoZW46ICIqfE7DpHIiCistICB0aGVuOiAiKnxTw6Ui CistICBhbmQ6ICIqfE9jaCIKKy0gIGJ1dDogIip8TWVuIgorLSJzayI6CistICBuYW1lOiBTbG92 YWsKKy0gIG5hdGl2ZTogU2xvdmVuc2t5CistICBmZWF0dXJlOiBQb8W+aWFkYXZrYQorLSAgYmFj a2dyb3VuZDogUG96YWRpZQorLSAgc2NlbmFyaW86IFNjZW7DoXIKKy0gIHNjZW5hcmlvX291dGxp bmU6IE7DocSNcnQgU2NlbsOhcnUKKy0gIGV4YW1wbGVzOiBQcsOta2xhZHkKKy0gIGdpdmVuOiAi KnxQb2tpYcS+IgorLSAgd2hlbjogIip8S2XEjyIKKy0gIHRoZW46ICIqfFRhayIKKy0gIGFuZDog Iip8QSIKKy0gIGJ1dDogIip8QWxlIgorLSJzci1MYXRuIjoKKy0gIG5hbWU6IFNlcmJpYW4gKExh dGluKQorLSAgbmF0aXZlOiBTcnBza2kgKExhdGluaWNhKQorLSAgZmVhdHVyZTogRnVua2Npb25h bG5vc3R8TW9ndcSHbm9zdHxNb2d1Y25vc3R8T3NvYmluYQorLSAgYmFja2dyb3VuZDogS29udGVr c3R8T3Nub3ZhfFBvemFkaW5hCistICBzY2VuYXJpbzogU2NlbmFyaW98UHJpbWVyCistICBzY2Vu YXJpb19vdXRsaW5lOiBTdHJ1a3R1cmEgc2NlbmFyaWphfFNraWNhfEtvbmNlcHQKKy0gIGV4YW1w bGVzOiBQcmltZXJpfFNjZW5hcmlqaQorLSAgZ2l2ZW46ICIqfFphZGF0b3xaYWRhdGV8WmF0YXRp IgorLSAgd2hlbjogIip8S2FkYXxLYWQiCistICB0aGVuOiAiKnxPbmRhIgorLSAgYW5kOiAiKnxJ IgorLSAgYnV0OiAiKnxBbGkiCistInNyLUN5cmwiOgorLSAgbmFtZTogU2VyYmlhbgorLSAgbmF0 aXZlOiDQodGA0L/RgdC60LgKKy0gIGZlYXR1cmU6INCk0YPQvdC60YbQuNC+0L3QsNC70L3QvtGB 0YJ80JzQvtCz0YPRm9C90L7RgdGCfNCe0YHQvtCx0LjQvdCwCistICBiYWNrZ3JvdW5kOiDQmtC+ 0L3RgtC10LrRgdGCfNCe0YHQvdC+0LLQsHzQn9C+0LfQsNC00LjQvdCwCistICBzY2VuYXJpbzog 0KHRhtC10L3QsNGA0LjQvnzQn9GA0LjQvNC10YAKKy0gIHNjZW5hcmlvX291dGxpbmU6INCh0YLR gNGD0LrRgtGD0YDQsCDRgdGG0LXQvdCw0YDQuNGY0LB80KHQutC40YbQsHzQmtC+0L3RhtC10L/R ggorLSAgZXhhbXBsZXM6INCf0YDQuNC80LXRgNC4fNCh0YbQtdC90LDRgNC40ZjQuAorLSAgZ2l2 ZW46ICIqfNCX0LDQtNCw0YLQvnzQl9Cw0LTQsNGC0LV80JfQsNC00LDRgtC4IgorLSAgd2hlbjog Iip80JrQsNC00LB80JrQsNC0IgorLSAgdGhlbjogIip80J7QvdC00LAiCistICBhbmQ6ICIqfNCY IgorLSAgYnV0OiAiKnzQkNC70LgiCistInRyIjoKKy0gIG5hbWU6IFR1cmtpc2gKKy0gIG5hdGl2 ZTogVMO8cmvDp2UKKy0gIGZlYXR1cmU6IMOWemVsbGlrCistICBiYWNrZ3JvdW5kOiBHZcOnbWnF nworLSAgc2NlbmFyaW86IFNlbmFyeW8KKy0gIHNjZW5hcmlvX291dGxpbmU6IFNlbmFyeW8gdGFz bGHEn8SxCistICBleGFtcGxlczogw5ZybmVrbGVyCistICBnaXZlbjogIip8RGl5ZWxpbSBraSIK Ky0gIHdoZW46ICIqfEXEn2VyIGtpIgorLSAgdGhlbjogIip8TyB6YW1hbiIKKy0gIGFuZDogIip8 VmUiCistICBidXQ6ICIqfEZha2F0fEFtYSIKKy0idWsiOgorLSAgbmFtZTogVWtyYWluaWFuCist ICBuYXRpdmU6INCj0LrRgNCw0ZfQvdGB0YzQutCwCistICBmZWF0dXJlOiDQpNGD0L3QutGG0ZbQ vtC90LDQuworLSAgYmFja2dyb3VuZDog0J/QtdGA0LXQtNGD0LzQvtCy0LAKKy0gIHNjZW5hcmlv OiDQodGG0LXQvdCw0YDRltC5CistICBzY2VuYXJpb19vdXRsaW5lOiDQodGC0YDRg9C60YLRg9GA 0LAg0YHRhtC10L3QsNGA0ZbRjgorLSAgZXhhbXBsZXM6INCf0YDQuNC60LvQsNC00LgKKy0gIGdp dmVuOiAiKnzQn9GA0LjQv9GD0YHRgtC40LzQvnzQn9GA0LjQv9GD0YHRgtC40LzQviwg0YnQvnzQ ndC10YXQsNC5fNCU0LDQvdC+IgorLSAgd2hlbjogIip80K/QutGJ0L580JrQvtC70LgiCistICB0 aGVuOiAiKnzQotC+fNCi0L7QtNGWIgorLSAgYW5kOiAiKnzQhnzQkCDRgtCw0LrQvtC2fNCi0LAi CistICBidXQ6ICIqfNCQ0LvQtSIKKy0idXoiOgorLSAgbmFtZTogVXpiZWsKKy0gIG5hdGl2ZTog 0KPQt9Cx0LXQutGH0LAKKy0gIGZlYXR1cmU6INCk0YPQvdC60YbQuNC+0L3QsNC7CistICBiYWNr Z3JvdW5kOiDQotCw0YDQuNGFCistICBzY2VuYXJpbzog0KHRhtC10L3QsNGA0LjQuQorLSAgc2Nl bmFyaW9fb3V0bGluZTog0KHRhtC10L3QsNGA0LjQuSDRgdGC0YDRg9C60YLRg9GA0LDRgdC4Cist ICBleGFtcGxlczog0JzQuNGB0L7Qu9C70LDRgAorLSAgZ2l2ZW46ICIqfNCQ0LPQsNGAIgorLSAg d2hlbjogIip80JDQs9Cw0YAiCistICB0aGVuOiAiKnzQo9C90LTQsCIKKy0gIGFuZDogIip80JLQ sCIKKy0gIGJ1dDogIip80JvQtdC60LjQvXzQkdC40YDQvtC6fNCQ0LzQvNC+IgorLSJ2aSI6Cist ICBuYW1lOiBWaWV0bmFtZXNlCistICBuYXRpdmU6IFRp4bq/bmcgVmnhu4d0CistICBmZWF0dXJl OiBUw61uaCBuxINuZworLSAgYmFja2dyb3VuZDogQuG7kWkgY+G6o25oCistICBzY2VuYXJpbzog VMOsbmggaHXhu5FuZ3xL4buLY2ggYuG6o24KKy0gIHNjZW5hcmlvX291dGxpbmU6IEtodW5nIHTD rG5oIGh14buRbmd8S2h1bmcga+G7i2NoIGLhuqNuCistICBleGFtcGxlczogROG7ryBsaeG7h3UK Ky0gIGdpdmVuOiAiKnxCaeG6v3R8Q2hvIgorLSAgd2hlbjogIip8S2hpIgorLSAgdGhlbjogIip8 VGjDrCIKKy0gIGFuZDogIip8VsOgIgorLSAgYnV0OiAiKnxOaMawbmciCistInpoLUNOIjoKKy0g IG5hbWU6IENoaW5lc2Ugc2ltcGxpZmllZAorLSAgbmF0aXZlOiDnroDkvZPkuK3mlocKKy0gIGZl YXR1cmU6IOWKn+iDvQorLSAgYmFja2dyb3VuZDog6IOM5pmvCistICBzY2VuYXJpbzog5Zy65pmv CistICBzY2VuYXJpb19vdXRsaW5lOiDlnLrmma/lpKfnurIKKy0gIGV4YW1wbGVzOiDkvovlrZAK Ky0gIGdpdmVuOiAiKnzlgYflpoI8IgorLSAgd2hlbjogIip85b2TPCIKKy0gIHRoZW46ICIqfOmC o+S5iDwiCistICBhbmQ6ICIqfOiAjOS4lDwiCistICBidXQ6ICIqfOS9huaYrzwiCistInpoLVRX IjoKKy0gIG5hbWU6IENoaW5lc2UgdHJhZGl0aW9uYWwKKy0gIG5hdGl2ZTog57mB6auU5Lit5paH CistICBmZWF0dXJlOiDlip/og70KKy0gIGJhY2tncm91bmQ6IOiDjOaZrworLSAgc2NlbmFyaW86 IOWgtOaZr3zliofmnKwKKy0gIHNjZW5hcmlvX291dGxpbmU6IOWgtOaZr+Wkp+e2sXzliofmnKzl pKfntrEKKy0gIGV4YW1wbGVzOiDkvovlrZAKKy0gIGdpdmVuOiAiKnzlgYfoqK08IgorLSAgd2hl bjogIip855W2PCIKKy0gIHRoZW46ICIqfOmCo+m6vDwiCistICBhbmQ6ICIqfOiAjOS4lDx85Lim 5LiUPCIKKy0gIGJ1dDogIip85L2G5pivPCIKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTYtbW9yZS5mZWF0dXJlcy1QZXJm b3JtLW1vcmUtR2hlcmtpbi12Ni1jaGVja3MtYW5kLXJ1bi5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTYtbW9yZS5mZWF0dXJlcy1Q ZXJmb3JtLW1vcmUtR2hlcmtpbi12Ni1jaGVja3MtYW5kLXJ1bi5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI1YmFjMjJjZgotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTYtbW9y ZS5mZWF0dXJlcy1QZXJmb3JtLW1vcmUtR2hlcmtpbi12Ni1jaGVja3MtYW5kLXJ1bi5wYXRjaApA QCAtMCwwICsxLDE1NSBAQAorRnJvbSA2NWVjOWQ1ZDY5MjUxNzQ2YTI3MjNmN2QyNDU1YzIzMTY2 ZjNkMWE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTYXQsIDEzIEp1bCAyMDE5IDEzOjIyOjIx ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIG1vcmUuZmVhdHVyZXM6IFBlcmZvcm0gbW9yZSBHaGVy a2luIHY2IGNoZWNrcyBhbmQgcnVuCisgZXhhbXBsZXMuCisKKy0tLQorIGludm9rZS55YW1sICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrLS0tCisgbW9yZS5mZWF0dXJl cy9lbnZpcm9ubWVudC5weSAgICAgICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrKworIC4u Li9mb3JtYXR0ZXIuanNvbi52YWxpZGF0ZV9vdXRwdXQuZmVhdHVyZSAgICB8IDIyICsrKysrKysr Ky0KKyBtb3JlLmZlYXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlICAgICAgICAgICAgfCA0MSAr KysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCA4 IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBtb3JlLmZlYXR1cmVzL2Vudmlyb25t ZW50LnB5CisgY3JlYXRlIG1vZGUgMTAwNjQ0IG1vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZl YXR1cmUKKworZGlmZiAtLWdpdCBhL2ludm9rZS55YW1sIGIvaW52b2tlLnlhbWwKK2luZGV4IGQ2 ZjE0MWMuLmEzMjM0NWUgMTAwNjQ0CistLS0gYS9pbnZva2UueWFtbAorKysrIGIvaW52b2tlLnlh bWwKK0BAIC0yNCwxMyArMjQsNiBAQCBzcGhpbng6CisgICAgICAgLSBkZQorICAgICAgICMgUFJF UEFSRUQ6IC0gemgtQ04KKyAKKy1jbGVhbnVwOgorLSAgICBleHRyYV9kaXJlY3RvcmllczoKKy0g ICAgICAtICJidWlsZCIKKy0gICAgICAtICJkaXN0IgorLSAgICAgIC0gIl9fV09SS0RJUl9fIgor LSAgICAgIC0gcmVwb3J0cworLQorIGNsZWFudXA6CisgICAgIGV4dHJhX2RpcmVjdG9yaWVzOgor ICAgICAgIC0gImJ1aWxkIgorQEAgLTQ3LDYgKzQwLDkgQEAgY2xlYW51cF9hbGw6CisgICAgICAg LSAuaHlwb3RoZXNpcworICAgICAgIC0gLnB5dGVzdF9jYWNoZQorIAorKyAgICBleHRyYV9maWxl czoKKysgICAgICAtICIqKi90ZXN0cnVuKi5qc29uIgorKworIGJlaGF2ZV90ZXN0OgorICAgICBz Y29wZXM6CisgICAgICAgLSBmZWF0dXJlcworZGlmZiAtLWdpdCBhL21vcmUuZmVhdHVyZXMvZW52 aXJvbm1lbnQucHkgYi9tb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMC4uOWQ0MzAyYgorLS0tIC9kZXYvbnVsbAorKysrIGIvbW9y ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorQEAgLTAsMCArMSwyOCBAQAorKyMgLSotIGNvZGlu ZzogVVRGLTggLSotCisrCisrZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1wb3J0IEFjdGl2ZVRh Z01hdGNoZXIsIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzCisraW1wb3J0IHN5cworKworKyMgLS0g TUFUQ0hFUyBBTlkgVEFHUzogQHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorKyMgTk9URTog YWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMgZm9yIGFj dGl2ZSB0YWdzLgorK3B5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9b OjJdCisrYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsKKysgICAgInB5dGhvbi52ZXJzaW9u IjogcHl0aG9uX3ZlcnNpb24sCisrfQorK2FjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01h dGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisrIyBIT09LUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIGJlZm9yZV9hbGwo Y29udGV4dCk6CisrICAgICMgLS0gU0VUVVAgQUNUSVZFLVRBRyBNQVRDSEVSICh3aXRoIHVzZXJk YXRhKToKKysgICAgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZlX3RhZ192YWx1ZV9wcm92 aWRlciwgY29udGV4dC5jb25maWcudXNlcmRhdGEpCisrCisrZGVmIGJlZm9yZV9mZWF0dXJlKGNv bnRleHQsIGZlYXR1cmUpOgorKyAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aChmZWF0dXJlLnRhZ3MpOgorKyAgICAgICAgZmVhdHVyZS5za2lwKHJlYXNvbj1hY3Rp dmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCisrCisrZGVmIGJlZm9yZV9zY2VuYXJpbyhj b250ZXh0LCBzY2VuYXJpbyk6CisrICAgIGlmIGFjdGl2ZV90YWdfbWF0Y2hlci5zaG91bGRfZXhj bHVkZV93aXRoKHNjZW5hcmlvLmVmZmVjdGl2ZV90YWdzKToKKysgICAgICAgIHNjZW5hcmlvLnNr aXAocmVhc29uPWFjdGl2ZV90YWdfbWF0Y2hlci5leGNsdWRlX3JlYXNvbikKKysKK2RpZmYgLS1n aXQgYS9tb3JlLmZlYXR1cmVzL2Zvcm1hdHRlci5qc29uLnZhbGlkYXRlX291dHB1dC5mZWF0dXJl IGIvbW9yZS5mZWF0dXJlcy9mb3JtYXR0ZXIuanNvbi52YWxpZGF0ZV9vdXRwdXQuZmVhdHVyZQor aW5kZXggYTVmOGFiNi4uMzE1NTBkNSAxMDA2NDQKKy0tLSBhL21vcmUuZmVhdHVyZXMvZm9ybWF0 dGVyLmpzb24udmFsaWRhdGVfb3V0cHV0LmZlYXR1cmUKKysrKyBiL21vcmUuZmVhdHVyZXMvZm9y bWF0dGVyLmpzb24udmFsaWRhdGVfb3V0cHV0LmZlYXR1cmUKK0BAIC0zNCw0ICszNCwyNCBAQCBG ZWF0dXJlOiBWYWxpZGF0ZSBKU09OIEZvcm1hdHRlciBPdXRwdXQKKyAgICAgVGhlbiBpdCBzaG91 bGQgcGFzcyB3aXRoOgorICAgICAgICAgIiIiCisgICAgICAgICB2YWxpZGF0ZTogdGVzdHJ1bjMu anNvbiAuLi4gT0sKKy0gICAgICAgICIiIgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisr ICAgICAgICAiIiIKKysKKysgIEBnaGVya2luX3Y2CisrICBTY2VuYXJpbzogVmFsaWRhdGUgSlNP TiBvdXRwdXQgZnJvbSBleGFtcGxlL2doZXJraW5fdjYvIHRlc3QgcnVuCisrICAgIEdpdmVuIEkg dXNlIHRoZSBkaXJlY3RvcnkgImV4YW1wbGVzL2doZXJraW5fdjYiIGFzIHdvcmtpbmcgZGlyZWN0 b3J5CisrICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBqc29uIC1vIHRlc3RydW5fZ2hlcmtpbjZf MS5qc29uIGZlYXR1cmVzLyIKKysgICAgV2hlbiBJIHJ1biAiLi4vLi4vYmluL2pzb25zY2hlbWFf dmFsaWRhdGUucHkgdGVzdHJ1bl9naGVya2luNl8xLmpzb24iCisrICAgIFRoZW4gaXQgc2hvdWxk IHBhc3Mgd2l0aDoKKysgICAgICAgICIiIgorKyAgICAgICAgdmFsaWRhdGU6IHRlc3RydW5fZ2hl cmtpbjZfMS5qc29uIC4uLiBPSworKyAgICAgICAgIiIiCisrCisrICBAZ2hlcmtpbl92NgorKyAg U2NlbmFyaW86IFZhbGlkYXRlIEpTT04gb3V0cHV0IGZyb20gZXhhbXBsZS9naGVya2luX3Y2LyB0 ZXN0IHJ1biAoY2FzZTogcGFydGx5IGZhaWxpbmcpCisrICAgIEdpdmVuIEkgdXNlIHRoZSBkaXJl Y3RvcnkgImV4YW1wbGVzL2doZXJraW5fdjYiIGFzIHdvcmtpbmcgZGlyZWN0b3J5CisrICAgIFdo ZW4gSSBydW4gImJlaGF2ZSAtLXRhZ3M9ZmFpbCAtZiBqc29uIC1vIHRlc3RydW5fZ2hlcmtpbjZf Mi5qc29uIGZlYXR1cmVzLyIKKysgICAgV2hlbiBJIHJ1biAiLi4vLi4vYmluL2pzb25zY2hlbWFf dmFsaWRhdGUucHkgdGVzdHJ1bl9naGVya2luNl8yLmpzb24iCisrICAgIFRoZW4gaXQgc2hvdWxk IHBhc3Mgd2l0aDoKKysgICAgICAgICIiIgorKyAgICAgICAgdmFsaWRhdGU6IHRlc3RydW5fZ2hl cmtpbjZfMi5qc29uIC4uLiBPSworKyAgICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvbW9yZS5mZWF0 dXJlcy9ydW5fZXhhbXBsZXMuZmVhdHVyZSBiL21vcmUuZmVhdHVyZXMvcnVuX2V4YW1wbGVzLmZl YXR1cmUKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi40Nzc4ODY2CistLS0g L2Rldi9udWxsCisrKysgYi9tb3JlLmZlYXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlCitAQCAt MCwwICsxLDQxIEBACisrRmVhdHVyZTogRW5zdXJlIHRoYXQgYWxsIGV4YW1wbGVzIGFyZSB1c2Fi bGUKKysKKysgIFNjZW5hcmlvIE91dGxpbmU6IFVzZSA8ZXhhbXBsZV9kaXI+CisrICAgIEdpdmVu IEkgdXNlIHRoZSBkaXJlY3RvcnkgIjxleGFtcGxlX2Rpcj4iIGFzIHdvcmtpbmcgZGlyZWN0b3J5 CisrICAgIFdoZW4gSSBydW4gImJlaGF2ZSA8YmVoYXZlX2NtZGxpbmU+IgorKyAgICBUaGVuIGl0 IHNob3VsZCA8b3V0Y29tZT4KKysKKysgICAgRXhhbXBsZXM6CisrICAgICAgfCBleGFtcGxlX2Rp ciAgICAgICAgIHwgYmVoYXZlX2NtZGxpbmUgICAgICAgIHwgb3V0Y29tZSB8CisrICAgICAgfCBl eGFtcGxlcy9lbnZfdmFycyAgIHwgZmVhdHVyZXMvICAgICAgICAgICAgIHwgcGFzcyAgICB8Cisr ICAgICAgfCBleGFtcGxlcy9maXh0dXJlLm5vX2JhY2tncm91bmQgfCBmZWF0dXJlcy8gIHwgcGFz cyAgICB8CisrICAgICAgfCBleGFtcGxlcy9naGVya2luX3Y2IHwgZmVhdHVyZXMvICAgICAgICAg ICAgIHwgcGFzcyAgICB8CisrCisrCisrICBTY2VuYXJpbzogZXhhbXBsZXMvZ2hlcmtpbl92NiAt LSBAeGZhaWwgcGFydHMKKysgICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVjdG9yeSAiZXhhbXBsZXMv Z2hlcmtpbl92NiIgYXMgd29ya2luZyBkaXJlY3RvcnkKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZl IC0tdGFncz1mYWlsIGZlYXR1cmVzLyIKKysgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgor KyAgICAgICIiIgorKyAgICAgIDAgZmVhdHVyZXMgcGFzc2VkLCAxIGZhaWxlZCwgMiBza2lwcGVk CisrICAgICAgMCBydWxlcyBwYXNzZWQsIDEgZmFpbGVkLCA2IHNraXBwZWQKKysgICAgICAxIHNj ZW5hcmlvIHBhc3NlZCwgMiBmYWlsZWQsIDEyIHNraXBwZWQKKysgICAgICAyIHN0ZXBzIHBhc3Nl ZCwgMiBmYWlsZWQsIDM5IHNraXBwZWQsIDAgdW5kZWZpbmVkCisrICAgICAgIiIiCisrICAgIEFu ZCB0aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CisrICAgICAgIiIiCisrICAgICAg RmFpbGluZyBzY2VuYXJpb3M6CisrICAgICAgICBmZWF0dXJlcy9ydWxlX2ZhaWxzLmZlYXR1cmU6 NyAgRjAgLS0gRmFpbHMKKysgICAgICAgIGZlYXR1cmVzL3J1bGVfZmFpbHMuZmVhdHVyZToxNiAg RjIgLS0gRmFpbHMKKysgICAgICAiIiIKKysKKysKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjQKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKysgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjYKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysgIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgIFNjZW5hcmlvOiBleGFtcGxlcy9hc3luY19zdGVw IChuZWVkczogcHkzNCBvciBuZXdlcikKKysgICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVjdG9yeSAi ZXhhbXBsZXMvYXN5bmNfc3RlcCIgYXMgd29ya2luZyBkaXJlY3RvcnkKKysgICAgV2hlbiBJIHJ1 biAiYmVoYXZlIGZlYXR1cmVzLyIKKysgICAgVGhlbiBpdCBzaG91bGQgcGFzcwpkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1 Ny1VVElMLUNvcnJlY3QtVVJMLWFuZC1weXRob24tbW9kdWxlLW9sZC13YXMtYnJva2VuLW5vLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA1Ny1VVElMLUNvcnJlY3QtVVJMLWFuZC1weXRob24tbW9kdWxlLW9sZC13YXMtYnJva2VuLW5v LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNzk3MTgyNjFjCi0t LSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA1Ny1VVElMLUNvcnJlY3QtVVJMLWFuZC1weXRob24tbW9kdWxlLW9sZC13 YXMtYnJva2VuLW5vLnBhdGNoCkBAIC0wLDAgKzEsNzIgQEAKK0Zyb20gZGEwYTg4ZjUzMTFlNDE4 MWE5YzI0YTU4NTNmNjM5MjIwOWRjZWFiZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCAx MyBKdWwgMjAxOSAxMzozOTo0OSArMDIwMAorU3ViamVjdDogW1BBVENIXSBVVElMOiBDb3JyZWN0 IFVSTCBhbmQgcHl0aG9uIG1vZHVsZSAob2xkIHdhcyBicm9rZW4sIG5vCisgbG9uZ2VyIGV4aXN0 cykuCisKKy0tLQorIGJpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5weSB8IDE5ICsrKysrKysrKysr Ky0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5weSBiL2Jpbi9iZWhh dmUyY3VjdW1iZXJfanNvbi5weQoraW5kZXggNzM4ZTQ0NC4uNTQxMDYxZSAxMDA3NTUKKy0tLSBh L2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5weQorKysrIGIvYmluL2JlaGF2ZTJjdWN1bWJlcl9q c29uLnB5CitAQCAtMyw5ICszLDEwIEBACisgIyBDT05WRVJUOiBiZWhhdmUgSlNPTiBkaWFsZWN0 IHRvIGN1Y3VtYmVyIEpTT04gZGlhbGVjdAorICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAjIFNU QVRVUzogX19QUk9UT1RZUEVfXworLSMgUkVRVUlSRVM6IFB5dGhvbiA+PSAyLjYKKy0jIFJFUVVJ UkVTOiBodHRwczovL2dpdGh1Yi5jb20vYmVoYWxmaW5jL2IyYy8KKy0jIFNFRTogaHR0cHM6Ly9n aXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvaXNzdWVzLzI2NyNpc3N1ZWNvbW1lbnQtMjQ5NjA3MTkx CisrIyBSRVFVSVJFUzogUHl0aG9uID49IDIuNworKyMgUkVRVUlSRVM6IGh0dHBzOi8vZ2l0aHVi LmNvbS9iZWhhbGYtb3NzL2JlaGF2ZTJjdWN1bWJlcgorKyMgU0VFOgorKyMgKiBodHRwczovL2dp dGh1Yi5jb20vYmVoYXZlL2JlaGF2ZS9pc3N1ZXMvMjY3I2lzc3VlY29tbWVudC0yNTE3NDY1NjUK KyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CisgIiIiCisgQ29udmVydCBhIGZpbGUgd2l0aCBiZWhh dmUgSlNPTiBkYXRhIGludG8gYSBmaWxlIHdpdGggY3VjdW1iZXIgSlNPTiBkYXRhLgorQEAgLTE3 LDE1ICsxOCwxNiBAQCBpbXBvcnQganNvbgorIGltcG9ydCBzeXMKKyBpbXBvcnQgb3MucGF0aAor IHRyeToKKy0gICAgaW1wb3J0IGIyYworKyAgICBpbXBvcnQgYmVoYXZlMmN1Y3VtYmVyCisgZXhj ZXB0IEltcG9ydEVycm9yOgorLSAgICBwcmludCgiUkVRVUlSRTogaHR0cHM6Ly9naXRodWIuY29t L2JlaGFsZmluYy9iMmMvICAobm90IGluc3RhbGxlZCB5ZXQpIikKKy0gICAgcHJpbnQoIklOU1RB TEw6IHBpcCBpbnN0YWxsIGIyYyIpCisrICAgIHByaW50KCJSRVFVSVJFOiBodHRwczovL2dpdGh1 Yi5jb20vYmVoYWxmLW9zcy9iZWhhdmUyY3VjdW1iZXIgKG5vdCBpbnN0YWxsZWQgeWV0KSIpCisr ICAgIHByaW50KCJJTlNUQUxMOiBwaXAgaW5zdGFsbCBiZWhhdmUyY3VjdW1iZXIiKQorICAgICBz eXMuZXhpdCgyKQorIAorIAorIE5BTUUgPSBvcy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9fKQorIAor KworIGRlZiBjb252ZXJ0X2JlaGF2ZV90b19jdWN1bWJlcl9qc29uKGJlaGF2ZV9maWxlbmFtZSwg Y3VjdW1iZXJfZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZW5jb2Rpbmc9IlVURi04IiwgcHJldHR5PVRydWUpOgorICAgICAiIiJDb252ZXJ0IGJlaGF2ZSBK U09OIGRpYWxlY3QgaW50byBjdWN1bWJlciBKU09OIGRpYWxlY3QuCitAQCAtMzksMTIgKzQxLDE0 IEBAIGRlZiBjb252ZXJ0X2JlaGF2ZV90b19jdWN1bWJlcl9qc29uKGJlaGF2ZV9maWxlbmFtZSwg Y3VjdW1iZXJfZmlsZW5hbWUsCisgCisgICAgIHdpdGggb3BlbihiZWhhdmVfZmlsZW5hbWUsICJy IikgYXMgYmVoYXZlX2pzb246CisgICAgICAgICB3aXRoIG9wZW4oY3VjdW1iZXJfZmlsZW5hbWUs ICJ3KyIpIGFzIG91dHB1dF9maWxlOgorLSAgICAgICAgICAgIGN1Y3VtYmVyX2pzb24gPSBiMmMu Y29udmVydChqc29uLmxvYWQoYmVoYXZlX2pzb24sIGVuY29kaW5nKSkKKysgICAgICAgICAgICBi ZWhhdmVfanNvbiA9IGpzb24ubG9hZChiZWhhdmVfanNvbiwgZW5jb2RpbmcpCisrICAgICAgICAg ICAgY3VjdW1iZXJfanNvbiA9IGJlaGF2ZTJjdWN1bWJlci5jb252ZXJ0KGJlaGF2ZV9qc29uKQor ICAgICAgICAgICAgICMgY3VjdW1iZXJfdGV4dCA9IGpzb24uZHVtcHMoY3VjdW1iZXJfanNvbiwg KipkdW1wX2t3YXJncykKKyAgICAgICAgICAgICAjIG91dHB1dF9maWxlLndyaXRlKGN1Y3VtYmVy X3RleHQpCisgICAgICAgICAgICAganNvbi5kdW1wKGN1Y3VtYmVyX2pzb24sIG91dHB1dF9maWxl LCAqKmR1bXBfa3dhcmdzKQorICAgICByZXR1cm4gMAorIAorKworIGRlZiBtYWluKGFyZ3M9Tm9u ZSk6CisgICAgICIiIk1haW4gZnVuY3Rpb24gdG8gcnVuIHRoZSBzY3JpcHQuIiIiCisgICAgIGlm IGFyZ3MgaXMgTm9uZToKK0BAIC01OCw2ICs2Miw3IEBAIGRlZiBtYWluKGFyZ3M9Tm9uZSk6Cisg ICAgIGN1Y3VtYmVyX2ZpbGVuYW1lID0gYXJnc1sxXQorICAgICByZXR1cm4gY29udmVydF9iZWhh dmVfdG9fY3VjdW1iZXJfanNvbihiZWhhdmVfZmlsZW5hbWUsIGN1Y3VtYmVyX2ZpbGVuYW1lKQor IAorKworICMgLS0gQVVUTy1NQUlOOgorIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAg IHN5cy5leGl0KG1haW4oKSkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTgtVVRJTC1Gb3JtYXR0aW5nLXR3ZWFrcy5wYXRj aCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw NTgtVVRJTC1Gb3JtYXR0aW5nLXR3ZWFrcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLjRiNzA4ZmE5NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNTgtVVRJTC1Gb3JtYXR0aW5n LXR3ZWFrcy5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDcwOWQ3YzM2MDRjYzhmOTU4ZGJk NjM2MGM2NmNhYmY2MTI0MTljOTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5p c3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgMTMgSnVs IDIwMTkgMTM6NDA6NDYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVVRJTDogRm9ybWF0dGluZyB0 d2Vha3MuCisKKy0tLQorIGJpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5weSB8IDIgKy0KKyAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBh L2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5weSBiL2Jpbi9iZWhhdmUyY3VjdW1iZXJfanNvbi5w eQoraW5kZXggNTQxMDYxZS4uODkzYTVlZiAxMDA3NTUKKy0tLSBhL2Jpbi9iZWhhdmUyY3VjdW1i ZXJfanNvbi5weQorKysrIGIvYmluL2JlaGF2ZTJjdWN1bWJlcl9qc29uLnB5CitAQCAtMjAsNyAr MjAsNyBAQCBpbXBvcnQgb3MucGF0aAorIHRyeToKKyAgICAgaW1wb3J0IGJlaGF2ZTJjdWN1bWJl cgorIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKy0gICAgcHJpbnQoIlJFUVVJUkU6IGh0dHBzOi8vZ2l0 aHViLmNvbS9iZWhhbGYtb3NzL2JlaGF2ZTJjdWN1bWJlciAobm90IGluc3RhbGxlZCB5ZXQpIikK KysgICAgcHJpbnQoIlJFUVVJUkU6IGh0dHBzOi8vZ2l0aHViLmNvbS9iZWhhbGYtb3NzL2JlaGF2 ZTJjdWN1bWJlciIpCisgICAgIHByaW50KCJJTlNUQUxMOiBwaXAgaW5zdGFsbCBiZWhhdmUyY3Vj dW1iZXIiKQorICAgICBzeXMuZXhpdCgyKQorIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OS1GaXhlZC1hLWJ1Zy13aGVy ZS11c2VfZml4dHVyZV9ieV90YWctZGlkbi10LXJldHVybi10LnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OS1GaXhlZC1hLWJ1Zy13 aGVyZS11c2VfZml4dHVyZV9ieV90YWctZGlkbi10LXJldHVybi10LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZmYwYTQyMzhmCi0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA1OS1G aXhlZC1hLWJ1Zy13aGVyZS11c2VfZml4dHVyZV9ieV90YWctZGlkbi10LXJldHVybi10LnBhdGNo CkBAIC0wLDAgKzEsMjMgQEAKK0Zyb20gYzUwNzgwNGE2MTBlMDlhYWFiZTdjNWRhNzY2NTg1N2Nl Nzk0NzczNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvbi1QaWVycmUgR2VudGls IDxqZ2VudGlsQHNlYmlzdGFyLm5ldD4KK0RhdGU6IFRodSwgMSBBdWcgMjAxOSAxMToyMTozNiAt MDUwMAorU3ViamVjdDogW1BBVENIXSBGaXhlZCBhIGJ1ZyB3aGVyZSB1c2VfZml4dHVyZV9ieV90 YWcgZGlkbid0IHJldHVybiB0aGUgYWN0dWFsCisgZml4dHVyZSBpZiB0aGUgcmVnaXN0cnkgZW50 cnkgd2FzIGp1c3QgYSBkaXJlY3QgZnVuY3Rpb24uCisKKy0tLQorIGJlaGF2ZS9maXh0dXJlLnB5 IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQor CitkaWZmIC0tZ2l0IGEvYmVoYXZlL2ZpeHR1cmUucHkgYi9iZWhhdmUvZml4dHVyZS5weQoraW5k ZXggM2E5ZjFiYy4uNTFlMThiZiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9maXh0dXJlLnB5CisrKysg Yi9iZWhhdmUvZml4dHVyZS5weQorQEAgLTI3Miw3ICsyNzIsNyBAQCBkZWYgdXNlX2ZpeHR1cmVf YnlfdGFnKHRhZywgY29udGV4dCwgZml4dHVyZV9yZWdpc3RyeSk6CisgCisgICAgIGlmIGNhbGxh YmxlKGZpeHR1cmVfZGF0YSk6CisgICAgICAgICBmaXh0dXJlX2Z1bmMgPSBmaXh0dXJlX2RhdGEK Ky0gICAgICAgIHVzZV9maXh0dXJlKGZpeHR1cmVfZnVuYywgY29udGV4dCkKKysgICAgICAgIHJl dHVybiB1c2VfZml4dHVyZShmaXh0dXJlX2Z1bmMsIGNvbnRleHQpCisgICAgIGVsaWYgaXNpbnN0 YW5jZShmaXh0dXJlX2RhdGEsICh0dXBsZSwgbGlzdCkpOgorICAgICAgICAgYXNzZXJ0IGxlbihm aXh0dXJlX2RhdGEpID09IDMKKyAgICAgICAgIGZpeHR1cmVfZnVuYywgZml4dHVyZV9hcmdzLCBm aXh0dXJlX2t3YXJncyA9IGZpeHR1cmVfZGF0YQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2MC1BZGRlZC1pc3N1ZS11bml0 LXRlc3QucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMDYwLUFkZGVkLWlzc3VlLXVuaXQtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLmIzNWJhMTQ0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjAtQWRkZWQt aXNzdWUtdW5pdC10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKK0Zyb20gZWU0Nzg0ZWZiYmYx Y2JkMTgzOTBlMmRkMzZmNjFkZWUxYjAwMzg1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IEpvbi1QaWVycmUgR2VudGlsIDxqZ2VudGlsQHNlYmlzdGFyLm5ldD4KK0RhdGU6IFRodSwg MSBBdWcgMjAxOSAxMTo0ODowOCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBBZGRlZCBpc3N1ZSB1 bml0IHRlc3QKKworLS0tCisgdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5IHwgNDYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0NiBpbnNl cnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2lzc3Vlcy90ZXN0X2lzc3VlMDc2 Ny5weQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5IGIvdGVz dHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMC4uMWRlMzU4OQorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdHMvaXNzdWVzL3Rlc3Rf aXNzdWUwNzY3LnB5CitAQCAtMCwwICsxLDQ2IEBACisrIiIiCisraHR0cHM6Ly9naXRodWIuY29t L2JlaGF2ZS9iZWhhdmUvaXNzdWVzLzc2NworKworK1doZW4gdHJ5aW5nIHRvIGRvIHNvbWV0aGlu ZyBsaWtlOjoKKysKKysgICAgZml4dHVyZV9yZWdpc3RyeSA9IHsnZml4dHVyZS5mb28nOiBmb29f Zml4dHVyZX0KKysgICAgZiA9IHVzZV9maXh0dXJlX2J5X3RhZygnZml4dHVyZS5mb28nLCBjb250 ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5KQorKworK0JlaGF2ZSByZXR1cm5zIG5vdGhpbmcuIDo6Cisr CisrICAgIHJlcHIoZikKKysgICAgJ05vbmUnCisrCisrVGhpcyBzZWVtcyB0byBiZSBhbiBvdmVy c2lnaHQuCisrIiIiCisrCisrZnJvbSBtb2NrIGltcG9ydCBNb2NrCisrCisrZGVmIHRlc3RfaXNz dWVfNzY3X3VzZV9mZWF0dXJlX2J5X3RhZ19oYXNfbm9fcmV0dXJuKCk6CisrICAgICIiIlZlcmlm aWVzIHRoYXQgaXNzdWUgIzc2NyBpcyBmaXhlZC4iIiIKKysgICAgZnJvbSBiZWhhdmUuZml4dHVy ZSBpbXBvcnQgZml4dHVyZSwgdXNlX2ZpeHR1cmVfYnlfdGFnCisrICAgIGZyb20gYmVoYXZlLnJ1 bm5lciBpbXBvcnQgQ29udGV4dAorKworKyAgICBAZml4dHVyZShuYW1lPSdmaXh0dXJlLmZvbycp CisrICAgIGRlZiBmb29fZml4dHVyZShjb250ZXh0LCAqYXJncywgKiprd2FyZ3MpOgorKyAgICAg ICAgY29udGV4dC5mb28gPSAnZm9vJworKyAgICAgICAgcmV0dXJuIGNvbnRleHQuZm9vCisrCisr ICAgICMgLS0gU0NIRU1BIDE6IGZpeHR1cmVfZnVuYworKyAgICBmaXh0dXJlX3JlZ2lzdHJ5MSA9 IHsKKysgICAgICAgICJmaXh0dXJlLmZvbyI6IGZvb19maXh0dXJlCisrICAgIH0KKysgICAgIyAt LSBTQ0hFTUEgMjogZml4dHVyZV9mdW5jLCBmaXh0dXJlX2FyZ3MsIGZpeHR1cmVfa3dhcmdzCisr ICAgIGZpeHR1cmVfcmVnaXN0cnkyID0geworKyAgICAgICAgImZpeHR1cmUuZm9vIjogKGZvb19m aXh0dXJlLCAoKSwge30pCisrICAgIH0KKysKKysgICAgY29udGV4dCA9IENvbnRleHQocnVubmVy PU1vY2soKSkKKysgICAgZjEgPSB1c2VfZml4dHVyZV9ieV90YWcoJ2ZpeHR1cmUuZm9vJywgY29u dGV4dCwgZml4dHVyZV9yZWdpc3RyeTEpCisrICAgIGFzc2VydCBmMSA9PSAnZm9vJworKyAgICBh c3NlcnQgY29udGV4dC5mb28gaXMgZjEKKysKKysgICAgY29udGV4dCA9IENvbnRleHQocnVubmVy PU1vY2soKSkKKysgICAgZjIgPSB1c2VfZml4dHVyZV9ieV90YWcoJ2ZpeHR1cmUuZm9vJywgY29u dGV4dCwgZml4dHVyZV9yZWdpc3RyeTIpCisrICAgIGFzc2VydCBmMiA9PSAnZm9vJworKyAgICBh c3NlcnQgY29udGV4dC5mb28gaXMgZjIKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjEtTWVyZ2UtcHVsbC1yZXF1ZXN0LTc2 Ny13aXRoLW1pbm9yLXR3ZWFrcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjEtTWVyZ2UtcHVsbC1yZXF1ZXN0LTc2Ny13aXRoLW1p bm9yLXR3ZWFrcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmI1 OWViYWJlMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjEtTWVyZ2UtcHVsbC1yZXF1ZXN0LTc2Ny13aXRoLW1p bm9yLXR3ZWFrcy5wYXRjaApAQCAtMCwwICsxLDYwIEBACitGcm9tIDJjM2MyYTQyMTdkMDMzYzNm NzE1NzA0Njc2NWUwODg4YmRlM2JmYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBq ZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgNyBB dWcgMjAxOSAyMzoxNDo1OSArMDIwMAorU3ViamVjdDogW1BBVENIXSBNZXJnZSBwdWxsLXJlcXVl c3QgIzc2NyB3aXRoIG1pbm9yIHR3ZWFrcy4gRklYOgorIHVzZV9maXh0dXJlX2J5X3RhZyBkaWRu J3QgcmV0dXJuIHRoZSBhY3R1YWwgZml4dHVyZSBpbiBhbGwgY2FzZXMuCisKKy0tLQorIENIQU5H RVMucnN0ICAgICAgICAgICAgICAgICAgICB8ICAxICsKKyB0ZXN0cy9pc3N1ZXMvdGVzdF9pc3N1 ZTA3NjcucHkgfCAxNyArKysrKysrKystLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTAgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIv Q0hBTkdFUy5yc3QKK2luZGV4IDE1YTRlZjkuLjdhOTE2M2YgMTAwNjQ0CistLS0gYS9DSEFOR0VT LnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC00Myw2ICs0Myw3IEBAIEZJWEVEOgorIAorIE1J Tk9SOgorIAorKyogcHVsbCAgIzc2NzogRklYOiB1c2VfZml4dHVyZV9ieV90YWcgZGlkbid0IHJl dHVybiB0aGUgYWN0dWFsIGZpeHR1cmUgaW4gYWxsIGNhc2VzIChwcm92aWRlZCBieTogamdlbnRp bCkKKyAqIHB1bGwgICM3NTE6IGdoZXJraW46IEFkZGluZyBSdWxlIGtleXdvcmQgdHJhbnNsYXRp b24gaW4gcG9ydHVndWVzZSBhbmQgc3BhbmlzaCB0byBnaGVya2luLWxhbmd1YWdlcy5qc29uIChw cm92aWRlZCBieTogZHVub3NzYXVybykKKyAqIHB1bGwgICM2NjA6IEZpeCBtaW5vciB0eXBvcyAo cHJvdmlkZWQgYnk6IHJydWV0aCkKKyAqIHB1bGwgICM2NTU6IFVzZSBweXRlc3QgaW5zdGVhZCBv ZiBweS50ZXN0IHBlciB1cHN0cmVhbSByZWNvbW1lbmRhdGlvbiAocHJvdmlkZWQgYnk6IHNjb3Ap CitkaWZmIC0tZ2l0IGEvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5IGIvdGVzdHMvaXNz dWVzL3Rlc3RfaXNzdWUwNzY3LnB5CitpbmRleCAxZGUzNTg5Li40MDFkYmQwIDEwMDY0NAorLS0t IGEvdGVzdHMvaXNzdWVzL3Rlc3RfaXNzdWUwNzY3LnB5CisrKysgYi90ZXN0cy9pc3N1ZXMvdGVz dF9pc3N1ZTA3NjcucHkKK0BAIC0xNSwxMSArMTUsMTIgQEAgVGhpcyBzZWVtcyB0byBiZSBhbiBv dmVyc2lnaHQuCisgIiIiCisgCisgZnJvbSBtb2NrIGltcG9ydCBNb2NrCisrZnJvbSBiZWhhdmUu Zml4dHVyZSBpbXBvcnQgZml4dHVyZSwgdXNlX2ZpeHR1cmVfYnlfdGFnCisrZnJvbSBiZWhhdmUu cnVubmVyIGltcG9ydCBDb250ZXh0CisrCisgCisgZGVmIHRlc3RfaXNzdWVfNzY3X3VzZV9mZWF0 dXJlX2J5X3RhZ19oYXNfbm9fcmV0dXJuKCk6CisgICAgICIiIlZlcmlmaWVzIHRoYXQgaXNzdWUg Izc2NyBpcyBmaXhlZC4iIiIKKy0gICAgZnJvbSBiZWhhdmUuZml4dHVyZSBpbXBvcnQgZml4dHVy ZSwgdXNlX2ZpeHR1cmVfYnlfdGFnCistICAgIGZyb20gYmVoYXZlLnJ1bm5lciBpbXBvcnQgQ29u dGV4dAorIAorICAgICBAZml4dHVyZShuYW1lPSdmaXh0dXJlLmZvbycpCisgICAgIGRlZiBmb29f Zml4dHVyZShjb250ZXh0LCAqYXJncywgKiprd2FyZ3MpOgorQEAgLTM2LDExICszNywxMSBAQCBk ZWYgdGVzdF9pc3N1ZV83NjdfdXNlX2ZlYXR1cmVfYnlfdGFnX2hhc19ub19yZXR1cm4oKToKKyAg ICAgfQorIAorICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorLSAgICBmMSA9 IHVzZV9maXh0dXJlX2J5X3RhZygnZml4dHVyZS5mb28nLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lz dHJ5MSkKKy0gICAgYXNzZXJ0IGYxID09ICdmb28nCistICAgIGFzc2VydCBjb250ZXh0LmZvbyBp cyBmMQorKyAgICBmaXh0dXJlMSA9IHVzZV9maXh0dXJlX2J5X3RhZygiZml4dHVyZS5mb28iLCBj b250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MSkKKysgICAgYXNzZXJ0IGZpeHR1cmUxID09ICJmb28i CisrICAgIGFzc2VydCBjb250ZXh0LmZvbyBpcyBmaXh0dXJlMQorIAorICAgICBjb250ZXh0ID0g Q29udGV4dChydW5uZXI9TW9jaygpKQorLSAgICBmMiA9IHVzZV9maXh0dXJlX2J5X3RhZygnZml4 dHVyZS5mb28nLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5MikKKy0gICAgYXNzZXJ0IGYyID09 ICdmb28nCistICAgIGFzc2VydCBjb250ZXh0LmZvbyBpcyBmMgorKyAgICBmaXh0dXJlMiA9IHVz ZV9maXh0dXJlX2J5X3RhZygiZml4dHVyZS5mb28iLCBjb250ZXh0LCBmaXh0dXJlX3JlZ2lzdHJ5 MikKKysgICAgYXNzZXJ0IGZpeHR1cmUyID09ICJmb28iCisrICAgIGFzc2VydCBjb250ZXh0LmZv byBpcyBmaXh0dXJlMgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA2Mi1DSEVDSy1Jc3N1ZS03NjYtUHJldHR5Rm9ybWF0dGVy LVVuaWNvZGVFcnJvci5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNjItQ0hFQ0stSXNzdWUtNzY2LVByZXR0eUZvcm1hdHRlci1Vbmlj b2RlRXJyb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wYjhm NjM0MDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5 dGhvbi9weXRob24zLWJlaGF2ZS8wMDYyLUNIRUNLLUlzc3VlLTc2Ni1QcmV0dHlGb3JtYXR0ZXIt VW5pY29kZUVycm9yLnBhdGNoCkBAIC0wLDAgKzEsODMgQEAKK0Zyb20gMjAzNGYyZDMzYjI0ZDQz YzlmMGMxMjBhY2U1NzhjYTUzNjU2ZmFiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogV2VkLCA3 IEF1ZyAyMDE5IDIzOjU1OjA1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIENIRUNLOiBJc3N1ZSAj NzY2IC0tIFByZXR0eUZvcm1hdHRlcjogVW5pY29kZUVycm9yCisKKy0tLQorIGlzc3VlLmZlYXR1 cmVzL2lzc3VlMDc2Ni5mZWF0dXJlICAgICAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysr KysKKyBpc3N1ZS5mZWF0dXJlcy9zdGVwcy9pc3N1ZTA3NjZfc3RlcHMucHkgfCAxMiArKysrKysr CisgMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGlzc3VlLmZlYXR1cmVzL2lzc3VlMDc2Ni5mZWF0dXJlCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGlz c3VlLmZlYXR1cmVzL3N0ZXBzL2lzc3VlMDc2Nl9zdGVwcy5weQorCitkaWZmIC0tZ2l0IGEvaXNz dWUuZmVhdHVyZXMvaXNzdWUwNzY2LmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA3NjYu ZmVhdHVyZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjk0ZDQ0ZDgKKy0t LSAvZGV2L251bGwKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDc2Ni5mZWF0dXJlCitAQCAt MCwwICsxLDQ3IEBACisrQGlzc3VlCisrQG5vdF9yZXByb2R1Y2libGUKKytGZWF0dXJlOiBJc3N1 ZSAjNzY2IC0tIFVuaWNvZGVFbmNvZGVFcnJvciBpbiBQcmV0dHlGb3JtYXR0ZXIKKysKKysgIEV4 cGxvcmUgdGhlIGRlc2NyaWJlZCBwcm9ibGVtLgorKworKyAgU2NlbmFyaW8gT3V0bGluZToKKysg ICAgR2l2ZW4gYSBzdGVwIHdpdGggbmFtZT0iPG5hbWU+IgorKworKyAgICBFeGFtcGxlczoKKysg ICAgICB8wqBuYW1lIHwgdmFsdWUgfCBjb21tZW50IHwKKysgICAgICB8IPCfmIQgICB8IDEyMyAg IHwgVXNlIGVtb3RpY29uIChzbWlsZXkpIGluIGEgdGFibGUgfAorKworKyAgU2NlbmFyaW86Cisr ICAgIEdpdmVuIGEgc3RlcCB3aXRoIHRhYmxlIGRhdGE6CisrICAgICAgfMKgbmFtZSB8IHZhbHVl IHwgY29tbWVudCB8CisrICAgICAgfCDwn5iEICAgfCAxMjMgICB8IFVzZSBlbW90aWNvbiAoc21p bGV5KSBpbiBhIHRhYmxlIHwKKysKKysgIFNjZW5hcmlvOiBFeHBsb3JlIHByb2JsZW0gYnkgdXNp bmcgdGhlIHByZXR0eSBmb3JtYXR0ZXIKKysgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBkaXJlY3Rv cnkKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3luZHJvbWVfNzY2LmZlYXR1cmUi IHdpdGg6CisrICAgICAgIiIiCisrICAgICAgRmVhdHVyZTogQWxpY2UKKysgICAgICAgIFNjZW5h cmlvIE91dGxpbmU6CisrICAgICAgICAgIEdpdmVuIGEgc3RlcCB3aXRoIG5hbWU9IjxuYW1lPiIK KysKKysgICAgICAgICAgRXhhbXBsZXM6CisrICAgICAgICAgICAgfMKgbmFtZSB8IHZhbHVlIHwg Y29tbWVudCB8CisrICAgICAgICAgICAgfCDwn5iEICAgfCAxMjMgICB8IFVzZSBlbW90aWNvbiAo c21pbGV5KSBpbiBhIHRhYmxlIHwKKysgICAgICAiIiIKKysgICAgQW5kIGEgZmlsZSBuYW1lZCAi ZmVhdHVyZXMvc3RlcHMvaXNzdWU3NjZfc3RlcHMucHkiIHdpdGg6CisrICAgICAgIiIiCisrICAg ICAgZnJvbSBiZWhhdmUgaW1wb3J0IGdpdmVuCisrCisrICAgICAgQGdpdmVuKHUnYSBzdGVwIHdp dGggbmFtZT0ie25hbWV9IicpCisrICAgICAgZGVmIHN0ZXBfd2l0aF90YWJsZV9kYXRhKGN0eCwg bmFtZSk6CisrICAgICAgICAgIHBhc3MKKysgICAgICAiIiIKKysgICAgV2hlbiBJIHJ1biAiYmVo YXZlIC1mIHByZXR0eSBmZWF0dXJlcy9zeW5kcm9tZV83NjYuZmVhdHVyZSIKKysgICAgVGhlbiBp dCBzaG91bGQgcGFzcyB3aXRoOgorKyAgICAgICIiIgorKyAgICAgIDEgZmVhdHVyZSBwYXNzZWQs IDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgICAxIHNjZW5hcmlvIHBhc3NlZCwgMCBmYWlsZWQs IDAgc2tpcHBlZAorKyAgICAgIDEgc3RlcCBwYXNzZWQsIDAgZmFpbGVkLCAwIHNraXBwZWQsIDAg dW5kZWZpbmUKKysgICAgICAiIiIKKysgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQg bm90IGNvbnRhaW4gIlVuaWNvZGVFbmNvZGVFcnJvciIKKysgICAgQW5kIHRoZSBjb21tYW5kIG91 dHB1dCBzaG91bGQgbm90IGNvbnRhaW4gIlRyYWNlYmFjayIKK2RpZmYgLS1naXQgYS9pc3N1ZS5m ZWF0dXJlcy9zdGVwcy9pc3N1ZTA3NjZfc3RlcHMucHkgYi9pc3N1ZS5mZWF0dXJlcy9zdGVwcy9p c3N1ZTA3NjZfc3RlcHMucHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4z M2VkMzE3CistLS0gL2Rldi9udWxsCisrKysgYi9pc3N1ZS5mZWF0dXJlcy9zdGVwcy9pc3N1ZTA3 NjZfc3RlcHMucHkKK0BAIC0wLDAgKzEsMTIgQEAKKysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQor KworK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKytmcm9tIGJlaGF2ZSBp bXBvcnQgZ2l2ZW4KKysKKytAZ2l2ZW4odSdhIHN0ZXAgd2l0aCB0YWJsZSBkYXRhJykKKytkZWYg c3RlcF93aXRoX3RhYmxlX2RhdGEoY3R4KToKKysgICAgYXNzZXJ0IGN0eC50YWJsZSBpcyBub3Qg Tm9uZSwgIlJFUVVJUkU6IHN0ZXAudGFibGUiCisrCisrQGdpdmVuKHUnYSBzdGVwIHdpdGggbmFt ZT0ie25hbWV9IicpCisrZGVmIHN0ZXBfd2l0aF90YWJsZV9kYXRhKGN0eCwgbmFtZSk6CisrICAg IHByaW50KHUibmFtZToge30iLmZvcm1hdChuYW1lKSkKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjMtRklYLWlzc3VlLTc3 Mi1TY2VuYXJpb091dGxpbmUuRXhhbXBsZXMtd2l0aG91dC10YWJsZS5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNjMtRklYLWlzc3Vl LTc3Mi1TY2VuYXJpb091dGxpbmUuRXhhbXBsZXMtd2l0aG91dC10YWJsZS5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmZmYTI2NWVlZAotLS0gL2Rldi9udWxsCisr KyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw NjMtRklYLWlzc3VlLTc3Mi1TY2VuYXJpb091dGxpbmUuRXhhbXBsZXMtd2l0aG91dC10YWJsZS5w YXRjaApAQCAtMCwwICsxLDc0IEBACitGcm9tIDgyMDY1ZTk5OWJmYzEyNTQ2MWMyZTNkYjE3ODU2 YmY1YTEzODQ0NDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5p c3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMjIgU2VwIDIwMTkgMTg6 MDg6MjIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRklYIGlzc3VlICM3NzI6IFNjZW5hcmlvT3V0 bGluZS5FeGFtcGxlcyB3aXRob3V0IHRhYmxlLgorCistLS0KKyBiZWhhdmUvbW9kZWwucHkgICAg ICAgICAgICAgICAgICB8ICA4ICsrKysrKystCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNzcyLmZl YXR1cmUgfCAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFu Z2VkLCAzOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGlzc3VlLmZlYXR1cmVzL2lzc3VlMDc3Mi5mZWF0dXJlCisKK2RpZmYgLS1naXQgYS9iZWhhdmUv bW9kZWwucHkgYi9iZWhhdmUvbW9kZWwucHkKK2luZGV4IDY5ZjM4YWIuLmY0NmQyYzIgMTAwNjQ0 CistLS0gYS9iZWhhdmUvbW9kZWwucHkKKysrKyBiL2JlaGF2ZS9tb2RlbC5weQorQEAgLTEwLDcg KzEwLDcgQEAgVGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIG1vZGVsIGVsZW1lbnQgY2xhc3MgdGhh dCByZXByZXNlbnQgYSBiZWhhdmUgbW9kZWw6CisgKiAuLi4KKyAiIiIKKyAKKy1mcm9tIF9fZnV0 dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgd2l0aF9zdGF0ZW1lbnQKKytmcm9tIF9fZnV0 dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgd2l0aF9zdGF0ZW1lbnQsIHByaW50X2Z1bmN0 aW9uCisgaW1wb3J0IGNvcHkKKyBpbXBvcnQgZGlmZmxpYgorIGltcG9ydCBsb2dnaW5nCitAQCAt MTM1NSw2ICsxMzU1LDEyIEBAIGNsYXNzIFNjZW5hcmlvT3V0bGluZUJ1aWxkZXIob2JqZWN0KToK KyAgICAgICAgICAgICBleGFtcGxlLmluZGV4ID0gZXhhbXBsZV9pbmRleCsxCisgICAgICAgICAg ICAgcGFyYW1zWyJleGFtcGxlcy5uYW1lIl0gPSBleGFtcGxlLm5hbWUKKyAgICAgICAgICAgICBw YXJhbXNbImV4YW1wbGVzLmluZGV4Il0gPSBfdGV4dChleGFtcGxlLmluZGV4KQorKyAgICAgICAg ICAgIGlmIG5vdCBleGFtcGxlLnRhYmxlOgorKyAgICAgICAgICAgICAgICAjIC0tIFNZTkRST01F OiBFeGFtcGxlcyBrZXl3b3JkIHdpdGhvdXQgdGFibGUKKysgICAgICAgICAgICAgICAgcHJpbnQo IkVSUk9SOiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXM6IEhhcyBOTy1UQUJMRSBzeW5kcm9tZSAo ezB9KSJcCisrICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoZXhhbXBsZS5sb2NhdGlvbikp CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrCisgICAgICAgICAgICAgZm9yIHJvd19pbmRl eCwgcm93IGluIGVudW1lcmF0ZShleGFtcGxlLnRhYmxlKToKKyAgICAgICAgICAgICAgICAgcm93 LmluZGV4ID0gcm93X2luZGV4KzEKKyAgICAgICAgICAgICAgICAgcm93LmlkID0gIiVkLiVkIiAl IChleGFtcGxlLmluZGV4LCByb3cuaW5kZXgpCitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVyZXMv aXNzdWUwNzcyLmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA3NzIuZmVhdHVyZQorbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmViYTBlYTUKKy0tLSAvZGV2L251bGwK KysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDc3Mi5mZWF0dXJlCitAQCAtMCwwICsxLDMxIEBA CisrQGlzc3VlCisrRmVhdHVyZTogSXNzdWUgIzc3MiAtLSBTeW5kcm9tZTogU2NlbmFyaW9PdXRs aW5lIHdpdGggRXhhbXBsZXMga2V5d29yZCB3L28gVGFibGUKKysKKysKKysKKysgIEJhY2tncm91 bmQ6IFNldHVwCisrICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisrICAgIEFuZCBh IGZpbGUgbmFtZWQgImZlYXR1cmVzL3N5bmRyb21lXzc3Mi5mZWF0dXJlIiB3aXRoOgorKyAgICAg ICIiIgorKyAgICAgIEZlYXR1cmU6IEV4YW1wbGVzIHdpdGhvdXQgdGFibGUKKysKKysgICAgICAg IFNjZW5hcmlvIE91dGxpbmU6CisrICAgICAgICAgIEdpdmVuIGEgc3RlcCBwYXNzZXMKKysgICAg ICAgICAgV2hlbiBhbm90aGVyIHN0ZXAgcGFzc2VzCisrCisrICAgICAgICAgIEV4YW1wbGVzOiBX aXRob3V0IHRhYmxlCisrICAgICAgIiIiCisrICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVz L3N0ZXBzL3VzZV9zdGVwX2xpYnJhcnkucHkiIHdpdGg6CisrICAgICAgIiIiCisrICAgICAgIyAt LSBSRVVTRSBTVEVQUzoKKysgICAgICBpbXBvcnQgYmVoYXZlNGNtZDAucGFzc2luZ19zdGVwcwor KyAgICAgICIiIgorKworKyAgU2NlbmFyaW86IFVzZSBTY2VuYXJpb091dGxpbmUgd2l0aCBFeGFt cGxlcyBrZXl3b3JkIHdpdGhvdXQgdGFibGUKKysgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBs YWluIGZlYXR1cmVzL3N5bmRyb21lXzc3Mi5mZWF0dXJlIgorKyAgICBUaGVuIGl0IHNob3VsZCBw YXNzIHdpdGg6CisrICAgICAgIiIiCisrICAgICAgRmVhdHVyZTogRXhhbXBsZXMgd2l0aG91dCB0 YWJsZQorKyAgICAgIEVSUk9SOiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXM6IEhhcyBOTy1UQUJM RSBzeW5kcm9tZSAoZmVhdHVyZXMvc3luZHJvbWVfNzcyLmZlYXR1cmU6NykKKysgICAgICAiIiIK KysgICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgbm90IGNvbnRhaW4gIlBhcnNlciBm YWlsdXJlIGluIHN0YXRlIgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2NC1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0bGlu ZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2NC1GSVgtaXNzdWUtNzcyLVNjZW5hcmlvT3V0 bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMC4uMjQzY2I4MmQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2NC1GSVgtaXNzdWUtNzcy LVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoCkBAIC0wLDAgKzEs MjEgQEAKK0Zyb20gMWQ0NTg0NWZmYjlhMzBjYTY2ODA2YmExNjViZWE1NGY3ZDQzY2Q0NiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAyMiBTZXAgMjAxOSAxODowOTo1MCArMDIwMAorU3Vi amVjdDogW1BBVENIXSBGSVggaXNzdWUgIzc3MjogU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzIHdp dGhvdXQgdGFibGUuCisKKy0tLQorIENIQU5HRVMucnN0IHwgMSArCisgMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0 CitpbmRleCA3YTkxNjNmLi5iYTRkYWFkIDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBi L0NIQU5HRVMucnN0CitAQCAtMzMsNiArMzMsNyBAQCBFTkhBTkNFTUVOVFM6CisgCisgRklYRUQ6 CisgCisrKiBpc3N1ZSAjNzcyOiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXMgd2l0aG91dCB0YWJs ZSAoc3VibWl0dGVkIGJ5OiBUaGUtUUEtR2VlaykKKyAqIGlzc3VlICM3NTU6IEZhaWx1cmVzIHdp dGggUHl0aG9uIDMuOCAoc3VibWl0dGVkIGJ5OiBocm9uY29rKQorICogaXNzdWUgIzcyNTogU2Nl bmFyaW8gT3V0bGluZSBkZXNjcmlwdGlvbiBsaW5lcyBzZWVtIHRvIGJlIGlnbm9yZWQgKHN1Ym1p dHRlZCBieTogbml6d2l6KQorICogaXNzdWUgIzcxMzogQmFja2dyb3VuZCBzZWN0aW9uIGRvZXNu J3Qgc3VwcG9ydCBkZXNjcmlwdGlvbiAocHJvdmlkZWQgYnk6IGRnb3UpCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY1LU5p YmJsZS1UcmF2aXNDSS10by13YWtlLXVwLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2NS1OaWJibGUtVHJhdmlzQ0ktdG8td2FrZS11 cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjY4M2VkOTI3NQot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNjUtTmliYmxlLVRyYXZpc0NJLXRvLXdha2UtdXAucGF0Y2gKQEAgLTAs MCArMSwyMSBAQAorRnJvbSA1YzE4MWUwN2NhMGZkYTJlYTI2Y2Y4Yzg5NDlkZDhiYWFhMmJlOTUz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5u b3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDExIERlYyAyMDE5IDA4OjIzOjA4ICswMTAw CitTdWJqZWN0OiBbUEFUQ0hdIE5pYmJsZSBUcmF2aXNDSSB0byB3YWtlIHVwLgorCistLS0KKyAu dHJhdmlzLnltbCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZm IC0tZ2l0IGEvLnRyYXZpcy55bWwgYi8udHJhdmlzLnltbAoraW5kZXggYzYwMjdlMC4uNzgxYTYx MCAxMDA2NDQKKy0tLSBhLy50cmF2aXMueW1sCisrKysgYi8udHJhdmlzLnltbAorQEAgLTYsNiAr Niw3IEBAIHB5dGhvbjoKKyAgIC0gIjMuNyIKKyAgIC0gIjIuNyIKKyAKKysKKyAjIC0tIERJU0FC TEUtVEVNUE9SQVJJTFk6IEVuc3VyZSBmYXN0ZXIgYnVpbGRzCisgIyAgLSAiMy42IgorICMgIC0g IjMuNSIKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNjYtVHdlYWstcHl0ZXN0LXZlcnNpb24tc2VsZWN0aW9uLnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2Ni1U d2Vhay1weXRlc3QtdmVyc2lvbi1zZWxlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi4xNDNjMTc4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY2LVR3ZWFrLXB5dGVz dC12ZXJzaW9uLXNlbGVjdGlvbi5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIGJhNmY3Njg3 M2RhZGVhZDY0YmU1N2MyMTViYTJmN2ViNDBkMGVhNmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6 IFdlZCwgMTEgRGVjIDIwMTkgMDg6MzA6MTEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVHdlYWsg cHl0ZXN0IHZlcnNpb24gc2VsZWN0aW9uCisKKy0tLQorIHB5LnJlcXVpcmVtZW50cy9jaS50cmF2 aXMudHh0IHwgMyArKy0KKyBzZXR1cC5weSAgICAgICAgICAgICAgICAgICAgICB8IDMgKystCisg MiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9j aS50cmF2aXMudHh0CitpbmRleCA3M2Q2NWY2Li41ZjMxODAyIDEwMDY0NAorLS0tIGEvcHkucmVx dWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMu dHh0CitAQCAtMSw2ICsxLDcgQEAKKyBtb2NrCisgUHlIYW1jcmVzdCA+PSAxLjkKKy1weXRlc3Qg Pj0gMy4wCisrcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKytweXRlc3Qg Pj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworIHB5dGVzdC1odG1sID49IDEuMTkuMAor IAorICMgLS0gTkVFREVEOiBCeSBzb21lIHRlc3RzIChhcyBwcm9vZiBvZiBjb25jZXB0KQorZGlm ZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IDhkZTNlYzAuLjc1ZDY4NDcgMTAw NjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC04Nyw3ICs4Nyw4IEBAIHNl dHVwKAorICAgICAgICAgImNvbG9yYW1hIiwKKyAgICAgXSwKKyAgICAgdGVzdHNfcmVxdWlyZT1b CistICAgICAgICAicHl0ZXN0ID49IDQuMiIsCisrICAgICAgICAicHl0ZXN0IDwgIDUuMDsgcHl0 aG9uX3ZlcnNpb24gPCAgJzMuMCciLCAjID49IDQuMgorKyAgICAgICAgInB5dGVzdCA+PSA1LjA7 IHB5dGhvbl92ZXJzaW9uID49ICczLjAnIiwKKyAgICAgICAgICJweXRlc3QtaHRtbCA+PSAxLjE5 LjAiLAorICAgICAgICAgIm1vY2sgPj0gMS4xIiwKKyAgICAgICAgICJQeUhhbWNyZXN0ID49IDEu OSIsCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMDY3LVR3ZWFrLXB5dGVzdC1jb25maWd1cmF0aW9uLXRvLXNpbGVuY2UtSlVu aXQtWE1MLWRpYWwucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDY3LVR3ZWFrLXB5dGVzdC1jb25maWd1cmF0aW9uLXRvLXNpbGVuY2Ut SlVuaXQtWE1MLWRpYWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li5mMGU2NDI2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDY3LVR3ZWFrLXB5dGVzdC1jb25maWd1cmF0aW9u LXRvLXNpbGVuY2UtSlVuaXQtWE1MLWRpYWwucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA3 YmQ2MzJlMTFhNWFiNzVjZWMzZTIwNzIyY2Y4ZmEzY2ViYjE5ODNmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+ CitEYXRlOiBXZWQsIDExIERlYyAyMDE5IDA4OjM3OjExICswMTAwCitTdWJqZWN0OiBbUEFUQ0hd IFR3ZWFrIHB5dGVzdCBjb25maWd1cmF0aW9uIHRvIHNpbGVuY2UgSlVuaXQgWE1MIGRpYWxlY3QK KyB3YXJuaW5nLgorCistLS0KKyBweXRlc3QuaW5pIHwgNyArKysrKystCisgMSBmaWxlIGNoYW5n ZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcHl0ZXN0 LmluaSBiL3B5dGVzdC5pbmkKK2luZGV4IGZmMmE4YTIuLjIyODI3OWMgMTAwNjQ0CistLS0gYS9w eXRlc3QuaW5pCisrKysgYi9weXRlc3QuaW5pCitAQCAtMTYsOSArMTYsMTAgQEAKKyAjID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKyAKKyBbcHl0ZXN0XQorLW1pbnZlcnNpb24gICAgPSAyLjgKKyttaW52 ZXJzaW9uICAgID0gNC4yCisgdGVzdHBhdGhzICAgICA9IHRlc3RzCisgcHl0aG9uX2ZpbGVzICA9 IHRlc3RfKi5weQorK2p1bml0X2ZhbWlseSA9IHh1bml0MgorIGFkZG9wdHMgPSAtLW1ldGFkYXRh IFBBQ0tBR0VfVU5ERVJfVEVTVCBiZWhhdmUKKyAgICAgLS1tZXRhZGF0YSBQQUNLQUdFX1ZFUlNJ T04gMS4yLjcuZGV2MQorICAgICAtLWh0bWw9YnVpbGQvdGVzdGluZy9yZXBvcnQuaHRtbCAtLXNl bGYtY29udGFpbmVkLWh0bWwKK0BAIC0yNyw2ICsyOCwxMCBAQCBtYXJrZXJzID0KKyAgICAgc21v a2UKKyAgICAgc2xvdworIAorKyMgLS0gUFJFUEFSRUQ6CisrIyBmaWx0ZXJ3YXJuaW5ncyA9Cisr IyAgICBpZ25vcmU6LippbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZS4qOkRlcHJlY2F0aW9uV2Fybmlu ZworKworICMgLS0gQkFDS1dBUkQgQ09NUEFUSUJJTElUWTogcHl0ZXN0IDwgMi44CisgIyBub3Jl Y3Vyc2VkaXJzID0gLmdpdCAudG94IGJ1aWxkIGRpc3QgcHkucmVxdWlyZW1lbnRzIHRtcCogX1dP UktTUEFDRQorIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA2OC1BZGQtYmFzaWMtZmVhdHVyZS10ZXN0LWZvci13aWxkY2Fy ZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OC1BZGQtYmFzaWMtZmVhdHVyZS10ZXN0LWZvci13aWxk Y2FyZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uOTdkYjQwNTgwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OC1BZGQtYmFzaWMtZmVhdHVyZS10 ZXN0LWZvci13aWxkY2FyZC1wYXR0ZXJuLW1hdGNoaW5nLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAK K0Zyb20gNTZjNGVlMzRiNDAzZDY5ZWQzYzcwOTJlZGVlOTVhZTZmM2I2ZmQ3NCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRo dWIuY29tPgorRGF0ZTogU3VuLCAxNSBEZWMgMjAxOSAxNTo1MDozNyArMDEwMAorU3ViamVjdDog W1BBVENIXSBBZGQgYmFzaWMgZmVhdHVyZS10ZXN0IGZvciB3aWxkY2FyZCBwYXR0ZXJuLW1hdGNo aW5nIHRoYXQgaXMKKyBzdXBwb3J0ZWQgYnkgY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zIChweXRo b24tb25seSkuCisKKy0tLQorIC4uLi90YWdzLnRhZ19leHByZXNzaW9uX3YyLndpbGRjYXJkcy5m ZWF0dXJlICB8IDM5ICsrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMzkgaW5z ZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBmZWF0dXJlcy90YWdzLnRhZ19leHByZXNz aW9uX3YyLndpbGRjYXJkcy5mZWF0dXJlCisKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy90YWdzLnRh Z19leHByZXNzaW9uX3YyLndpbGRjYXJkcy5mZWF0dXJlIGIvZmVhdHVyZXMvdGFncy50YWdfZXhw cmVzc2lvbl92Mi53aWxkY2FyZHMuZmVhdHVyZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAuLjM3MmE3MzEKKy0tLSAvZGV2L251bGwKKysrKyBiL2ZlYXR1cmVzL3RhZ3MudGFn X2V4cHJlc3Npb25fdjIud2lsZGNhcmRzLmZlYXR1cmUKK0BAIC0wLDAgKzEsMzkgQEAKKytGZWF0 dXJlOiBUYWcgRXhwcmVzc2lvbiB2MiBFeHRlbnNpb246IFdpbGRjYXJkcyBmb3IgdGFnIG1hdGNo aW5nCisrCisrICBBcyBhIHRlc3RlcgorKyAgSSB3YW50IHRvIHVzZSBhIHdpbGRjYXJkIHBhdHRl cm4gdG8gc2VsZWN0IHRhZ3MgZm9sbG93aW5nIGEgbmFtaW5nIHNjaGVtZQorKyAgU28gdGhhdCBp dCBpcyBzaW1wbGVyIHRvIHNlbGVjdCBhIHN1YnNldCBvZiBzY2VuYXJpb3MgYW5kIGZlYXR1cmVz LgorKworKyAgLiBTUEVDSUZJQ0FUSU9OOiBXaWxkY2FyZHMgaW4gdGFnLWV4cHJlc3Npb25zIHYy CisrICAuICAgKiBVc2UgZmlsZS1uYW1lIG1hdGNoaW5nIHdpbGRjYXJkcyAoZm5tYXRjaCk6ICos ID8KKysgIC4gICAqIGEgdGFnIGV4cHJlc3Npb24gaXMgYSBib29sZWFuIGV4cHJlc3Npb24KKysg IC4gICAqIGEgdGFnIGV4cHJlc3Npb24gc3VwcG9ydHMgdGhlIG9wZXJhdG9yczogYW5kLCBvciwg bm90CisrICAuICAgKiBhIHRhZyBleHByZXNzaW9uIHN1cHBvcnRzICcoJyBhbmQgJyknIGZvciBn cm91cGluZyBleHByZXNzaW9ucworKyAgLgorKyAgLiBFWEFNUExFUzoKKysgIC4gICB8IFRhZyBl eHByZXNzaW9uICAgICAgICAgIHwgQ29tbWVudCB8CisrICAuICAgfCBAZm9vLiogICAgICAgICAg ICAgICAgICB8IE1hdGNoZXMgYW55IHRhZ3MgdGhhdCBzdGFydCB3aXRoICJAZm9vLiIgfAorKyAg LiAgIHwgbm90IEBmb28uKiAgICAgICAgICAgICAgfCBFeGNsdWRlcyBhbnkgZWxlbWVudCB0aGF0 IGhhdmUgdGFncyB0aGF0IHN0YXJ0IHdpdGggIkBmb28uIiB8CisrCisrCisrICBTY2VuYXJpbzog U2VsZWN0IHRhZ3MgdGhhdCBtYXRjaCB0aGUgIkBmb28uKiIgcGF0dGVybgorKyAgICBHaXZlbiB0 aGUgdGFnIGV4cHJlc3Npb24gIkBmb28uKiIKKysgICAgVGhlbiB0aGUgdGFnIGV4cHJlc3Npb24g c2VsZWN0cyBlbGVtZW50cyB3aXRoIHRhZ3M6CisrICAgICAgICB8IHRhZ3MgICAgICAgICAgfCBz ZWxlY3RlZD8gfAorKyAgICAgICAgfCAgICAgICAgICAgICAgIHwgICBubyAgICAgIHwKKysgICAg ICAgIHwgQGZvbyAgICAgICAgICB8ICAgbm8gICAgICB8CisrICAgICAgICB8IEBmb28ub25lICAg ICAgfCAgIHllcyAgICAgfAorKyAgICAgICAgfCBAZm9vLnR3byAgICAgIHwgICB5ZXMgICAgIHwK KysgICAgICAgIHwgQG90aGVyICAgICAgICB8ICAgbm8gICAgICB8CisrICAgICAgICB8IEBmb28u MyBAb3RoZXIgfCAgIHllcyAgICAgfAorKworKyAgU2NlbmFyaW86IFNlbGVjdCB0YWdzIHRoYXQg ZG8gbm90IG1hdGNoIHRoZSAiQGZvby4qIiBwYXR0ZXJuCisrICAgIEdpdmVuIHRoZSB0YWcgZXhw cmVzc2lvbiAibm90IEBmb28uKiIKKysgICAgVGhlbiB0aGUgdGFnIGV4cHJlc3Npb24gc2VsZWN0 cyBlbGVtZW50cyB3aXRoIHRhZ3M6CisrICAgICAgICB8IHRhZ3MgICAgICAgICAgfCBzZWxlY3Rl ZD8gfAorKyAgICAgICAgfCAgICAgICAgICAgICAgIHwgICB5ZXMgICAgIHwKKysgICAgICAgIHwg QGZvbyAgICAgICAgICB8ICAgeWVzICAgICB8CisrICAgICAgICB8IEBmb28ub25lICAgICAgfCAg IG5vICAgICAgfAorKyAgICAgICAgfCBAZm9vLnR3byAgICAgIHwgICBubyAgICAgIHwKKysgICAg ICAgIHwgQG90aGVyICAgICAgICB8ICAgeWVzICAgICB8CisrICAgICAgICB8IEBmb28uMyBAb3Ro ZXIgfCAgIG5vICAgICAgfApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA2OS1VUERBVEUtZGVwZW5kZW5jaWVzLXBhdGgucHkt cGF0aC1weXRlc3QucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDY5LVVQREFURS1kZXBlbmRlbmNpZXMtcGF0aC5weS1wYXRoLXB5dGVz dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjFjZGY3MDk0NAot LS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwNjktVVBEQVRFLWRlcGVuZGVuY2llcy1wYXRoLnB5LXBhdGgtcHl0ZXN0 LnBhdGNoCkBAIC0wLDAgKzEsMTQxIEBACitGcm9tIGZmMWYxZTc0ZjVmODFlYjYzNGQ3MmQ0NzJj ZTE4ZjhkNTQzYmYzYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxq ZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFN1biwgMTUgRGVjIDIwMTkg MjA6MTI6MTQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVVBEQVRFOiBkZXBlbmRlbmNpZXMgKHBh dGgucHkgPD0+IHBhdGgsIHB5dGVzdCwgLi4uKQorCistLS0KKyBweS5yZXF1aXJlbWVudHMvY2ku dG94LnR4dCAgICB8ICA4ICsrKysrKy0tCisgcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQg fCAxMSArKysrKysrKy0tLQorIHB5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCAgIHwgIDUgKysr Ky0KKyBweS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgICB8ICA3ICsrKysrLS0KKyBzZXR1cC5w eSAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKystLQorIHRhc2tzL3B5LnJlcXVpcmVtZW50 cy50eHQgICAgIHwgIDUgKysrKy0KKyA2IGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyks IDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50 eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAoraW5kZXggNmIzYjNhZS4uNDAwMWJjMiAx MDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0CisrKysgYi9weS5yZXF1aXJl bWVudHMvY2kudG94LnR4dAorQEAgLTIsOCArMiwxMiBAQAorICMgQkVIQVZFOiBQWVRIT04gUEFD S0FHRSBSRVFVSVJFTUVOVFM6IGNpLnRveC50eHQKKyAjID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAK Ky1weXRlc3QgPj0gNC4yCisrcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcg IyBweXRlc3QgPj0gNC4yCisrcHl0ZXN0ID49IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcK KyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyBtb2NrID49IDIuMAorIFB5SGFtY3Jlc3QgPj0gMS45 CistcGF0aC5weSA+PSAxMC4xCisrCisrIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhv bi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisrcGF0aC5weSA+PSAx MS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisrcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhv bl92ZXJzaW9uID49ICczLjUnCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZp cy50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAoraW5kZXggNWYzMTgwMi4uZGU0 MTIwYSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CisrKysgYi9w eS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorQEAgLTEsMTIgKzEsMTcgQEAKKy1tb2NrCist UHlIYW1jcmVzdCA+PSAxLjkKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysjIFBZVEhPTiBQQUNL QUdFIFJFUVVJUkVNRU5UUyBGT1I6IGJlaGF2ZSAtLSBjaS50cmF2aXMudHh0CisrIyA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CisgcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyBw eXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworIHB5dGVzdC1odG1sID49IDEu MTkuMAorK21vY2sgID49IDIuMAorK1B5SGFtY3Jlc3QgPj0gMS45CisgCisgIyAtLSBORUVERUQ6 IEJ5IHNvbWUgdGVzdHMgKGFzIHByb29mIG9mIGNvbmNlcHQpCisgIyBOT1RFOiBwYXRoLnB5LTEw LjEgaXMgcmVxdWlyZWQgZm9yIHB5dGhvbjIuNgorLXBhdGgucHkgPj0gMTAuMQorKyMgSElOVDog cGF0aC5weSA9PiBwYXRoIChweXRob24taW5zdGFsbC1wYWNrYWdlIHdhcyByZW5hbWVkIGZvciBw eXRob24zKQorK3BhdGgucHkgPj0gMTEuNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy41JworK3Bh dGggPj0gMTMuMS4wOyAgICBweXRob25fdmVyc2lvbiA+PSAnMy41JworIAorICMgLS0gTk9URTog VHJhdmlzLkNJIHR3ZWFrIHJlbGF0ZWQgdy8gaW52YWxpZCBsaW5lY2FjaGUyIHRlc3RzLgorICMg ICAgVGhpcyBwcm9ibGVtIGRvZXMgbm90IGV4aXN0IGlmIHlvdSB1c2UgcGlwLgorZGlmZiAtLWdp dCBhL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9wLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9kZXZlbG9w LnR4dAoraW5kZXggYTE2ZDdiZi4uYTkyZWU1ZiAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50 cy9kZXZlbG9wLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CitAQCAtNiwx MCArNiwxMyBAQAorICMgUFJFUEFSRSBVU0FHRTogaW52b2tlCisgIyBBTFJFQURZOiBzaXggPj0g MS4xMS4wCisgaW52b2tlID49IDEuMi4wCistcGF0aC5weSA+PSAxMS41LjAKKyBwYXRobGliOyAg ICBweXRob25fdmVyc2lvbiA8PSAnMy40JworIHB5Y21kCisgCisrIyAtLSBISU5UOiBwYXRoLnB5 ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMp CisrcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisrcGF0aCA+PSAx My4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUnCisrCisgIyAtLSBDT05GSUdVUkFUSU9O IE1BTkFHRU1FTlQgKGhlbHBlcnMpOgorICMgRk9STUVSOiBidW1wdmVyc2lvbiA+PSAwLjQuMAor IGJ1bXAydmVyc2lvbiA+PSAwLjUuNgorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy90ZXN0 aW5nLnR4dCBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAoraW5kZXggYTQxODczOS4uODVi MDkwOCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKysrIGIvcHku cmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitAQCAtNCwxMSArNCwxNCBAQAorIAorICMgLS0gVEVT VElORzogVW5pdCB0ZXN0cyBhbmQgYmVoYXZlIHNlbGYtdGVzdHMuCisgIyBQUkVQQVJFRC1GVVRV UkU6IGJlaGF2ZTRjbWQwLCBiZWhhdmU0Y21kCistcHl0ZXN0ID49IDQuMgorK3B5dGVzdCA8ICA1 LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAnICMgcHl0ZXN0ID49IDQuMgorK3B5dGVzdCA+PSA1 LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisgbW9j ayAgPj0gMi4wCisgUHlIYW1jcmVzdCA+PSAxLjkKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0 ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1 aXJlZCBmb3IgcHl0aG9uMi42CistcGF0aC5weSA+PSAxMS41LjAKKysjIEhJTlQ6IHBhdGgucHkg PT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVuYW1lZCBmb3IgcHl0aG9uMykK KytwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuNScKKytwYXRoID49IDEz LjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNScKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBi L3NldHVwLnB5CitpbmRleCA3NWQ2ODQ3Li4yYWZjMTQ3IDEwMDY0NAorLS0tIGEvc2V0dXAucHkK KysrKyBiL3NldHVwLnB5CitAQCAtNzcsNyArNzcsNyBAQCBzZXR1cCgKKyAgICAgcHl0aG9uX3Jl cXVpcmVzPSI+PTIuNywgIT0zLjAuKiwgIT0zLjEuKiwgIT0zLjIuKiIsCisgICAgIGluc3RhbGxf cmVxdWlyZXM9WworICAgICAgICAgImN1Y3VtYmVyLXRhZy1leHByZXNzaW9ucyA+PSAxLjEuMiIs CistICAgICAgICAicGFyc2UgPj0gMS44LjIiLAorKyAgICAgICAgInBhcnNlID49IDEuOS4xIiwK KyAgICAgICAgICJwYXJzZV90eXBlID49IDAuNC4yIiwKKyAgICAgICAgICJzaXggPj0gMS4xMi4w IiwKKyAgICAgICAgICJ0cmFjZWJhY2syOyBweXRob25fdmVyc2lvbiA8ICczLjAnIiwKK0BAIC05 Miw3ICs5Miw5IEBAIHNldHVwKAorICAgICAgICAgInB5dGVzdC1odG1sID49IDEuMTkuMCIsCisg ICAgICAgICAibW9jayA+PSAxLjEiLAorICAgICAgICAgIlB5SGFtY3Jlc3QgPj0gMS45IiwKKy0g ICAgICAgICJwYXRoLnB5ID49IDExLjUuMCIKKysgICAgICAgICMgLS0gSElOVDogcGF0aC5weSA9 PiBwYXRoIChweXRob24taW5zdGFsbC1wYWNrYWdlIHdhcyByZW5hbWVkIGZvciBweXRob24zKQor KyAgICAgICAgInBhdGgucHkgPj0gMTEuNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy41JyIsCisr ICAgICAgICAicGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUnIiwKKyAg ICAgXSwKKyAgICAgY21kY2xhc3MgPSB7CisgICAgICAgICAiYmVoYXZlX3Rlc3QiOiBiZWhhdmVf dGVzdCwKK2RpZmYgLS1naXQgYS90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0IGIvdGFza3MvcHku cmVxdWlyZW1lbnRzLnR4dAoraW5kZXggYTc3ZDNiYy4uODEwZjgzNCAxMDA2NDQKKy0tLSBhL3Rh c2tzL3B5LnJlcXVpcmVtZW50cy50eHQKKysrKyBiL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQK K0BAIC05LDEwICs5LDEzIEBACisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCisgaW52b2tlID49 IDEuMi4wCistcGF0aC5weSA+PSAxMS41LjAKKyBweWNtZAorIHNpeCA+PSAxLjEyLjAKKyAKKysj IC0tIEhJTlQ6IHBhdGgucHkgPT4gcGF0aCAocHl0aG9uLWluc3RhbGwtcGFja2FnZSB3YXMgcmVu YW1lZCBmb3IgcHl0aG9uMykKKytwYXRoLnB5ID49IDExLjUuMDsgcHl0aG9uX3ZlcnNpb24gPCAg JzMuNScKKytwYXRoID49IDEzLjEuMDsgICAgcHl0aG9uX3ZlcnNpb24gPj0gJzMuNScKKysKKyAj IC0tIFBZVEhPTjIgQkFDS1BPUlRTOgorIHBhdGhsaWI7ICAgIHB5dGhvbl92ZXJzaW9uIDw9ICcz LjQnCisgYmFja3BvcnRzLnNodXRpbF93aGljaDsgcHl0aG9uX3ZlcnNpb24gPD0gJzMuMycKZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNzAtcHl0ZXN0LURpc2FibGUtRGVwcmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0dXRpbHMt cGFjay5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwNzAtcHl0ZXN0LURpc2FibGUtRGVwcmVjYXRlZFdhcm5pbmctZnJvbS1kaXN0dXRp bHMtcGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmRmNWIw ZDM3MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzAtcHl0ZXN0LURpc2FibGUtRGVwcmVjYXRlZFdhcm5pbmct ZnJvbS1kaXN0dXRpbHMtcGFjay5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIDQ1MWY4OGFi NWQxZWE3ZGE5NzM3ZWY3MDFhNDMwOTk2MzUxNmYzYzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6 IFN1biwgMTUgRGVjIDIwMTkgMjA6MTY6NDMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gcHl0ZXN0 OiBEaXNhYmxlIERlcHJlY2F0ZWRXYXJuaW5nIGZyb20gZGlzdHV0aWxzIHBhY2thZ2UuCisKKy0t LQorIHB5dGVzdC5pbmkgfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3B5dGVzdC5pbmkgYi9weXRlc3QuaW5p CitpbmRleCAyMjgyNzljLi5iOWYyODFhIDEwMDY0NAorLS0tIGEvcHl0ZXN0LmluaQorKysrIGIv cHl0ZXN0LmluaQorQEAgLTI5LDggKzI5LDkgQEAgbWFya2VycyA9CisgICAgIHNsb3cKKyAKKyAj IC0tIFBSRVBBUkVEOgorLSMgZmlsdGVyd2FybmluZ3MgPQorLSMgICAgaWdub3JlOi4qaW52YWxp ZCBlc2NhcGUgc2VxdWVuY2UuKjpEZXByZWNhdGlvbldhcm5pbmcKKytmaWx0ZXJ3YXJuaW5ncyA9 CisrICAgaWdub3JlOi4qdGhlIGltcCBtb2R1bGUgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2Yg aW1wb3J0bGliLio6RGVwcmVjYXRpb25XYXJuaW5nCisrIyAgIGlnbm9yZTouKmludmFsaWQgZXNj YXBlIHNlcXVlbmNlLio6RGVwcmVjYXRpb25XYXJuaW5nCisgCisgIyAtLSBCQUNLV0FSRCBDT01Q QVRJQklMSVRZOiBweXRlc3QgPCAyLjgKKyAjIG5vcmVjdXJzZWRpcnMgPSAuZ2l0IC50b3ggYnVp bGQgZGlzdCBweS5yZXF1aXJlbWVudHMgdG1wKiBfV09SS1NQQUNFCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcxLUNMRUFO VVAtQWRkLUNvbnRleHRNb2RlLWVudW0tcmVsYXRlZC10by03OTcucGF0Y2ggYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcxLUNMRUFOVVAtQWRk LUNvbnRleHRNb2RlLWVudW0tcmVsYXRlZC10by03OTcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi4xMjJhNjNhZjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcxLUNMRUFOVVAt QWRkLUNvbnRleHRNb2RlLWVudW0tcmVsYXRlZC10by03OTcucGF0Y2gKQEAgLTAsMCArMSwyMTYg QEAKK0Zyb20gMzdmZDE5YjU2YmEzMTYzNGEzNDM0OWQ5NTYxMjBiNmE1ODk4ZTJkOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5n aXRodWIuY29tPgorRGF0ZTogU3VuLCAxNSBEZWMgMjAxOSAyMToyMDoxOCArMDEwMAorU3ViamVj dDogW1BBVENIXSBDTEVBTlVQOiBBZGQgQ29udGV4dE1vZGUgZW51bSByZWxhdGVkIHRvICM3OTcK KworQWRkIENvbnRleHRNb2RlIGVudW0gdG8gY2xlYW51cCB3ZWlyZG5lc3MgcmVsYXRlZCB0byBp c3N1ZSAjNzk3LgorUHJlLWV4aXN0aW5nIENvbnRleHQuQkVIQVZFL1VTRVIgY29uc3RhbnRzIG92 ZXJzaGFkb3dlZCB1c2VyIGF0dHJpYnV0ZXMKK2luIENvbnRleHQuYXR0cmlidXRlIHJldHJpZXZh bCBjYXNlLgorLS0tCisgYmVoYXZlL3J1bm5lci5weSAgICAgICAgICB8IDMzICsrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLQorIHRlc3RzL3VuaXQvdGVzdF9ydW5uZXIucHkgfCAyOSAr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0 aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvcnVubmVyLnB5 IGIvYmVoYXZlL3J1bm5lci5weQoraW5kZXggY2JlZGI1YS4uYmNmNGFiMiAxMDA2NDQKKy0tLSBh L2JlaGF2ZS9ydW5uZXIucHkKKysrKyBiL2JlaGF2ZS9ydW5uZXIucHkKK0BAIC0yMSw2ICsyMSw3 IEBAIGZyb20gYmVoYXZlLnJ1bm5lcl91dGlsIGltcG9ydCBcCisgICAgIGNvbGxlY3RfZmVhdHVy ZV9sb2NhdGlvbnMsIHBhcnNlX2ZlYXR1cmVzLCBcCisgICAgIGV4ZWNfZmlsZSwgbG9hZF9zdGVw X21vZHVsZXMsIFBhdGhNYW5hZ2VyCisgZnJvbSBiZWhhdmUuc3RlcF9yZWdpc3RyeSBpbXBvcnQg cmVnaXN0cnkgYXMgdGhlX3N0ZXBfcmVnaXN0cnkKKytmcm9tIGVudW0gaW1wb3J0IEVudW0KKyAK KyBpZiBzaXguUFkyOgorICAgICAjIC0tIFVTRSBQWVRIT04zIEJBQ0tQT1JUOiBXaXRoIHVuaWNv ZGUgdHJhY2ViYWNrIHN1cHBvcnQuCitAQCAtNDUsNiArNDYsMTYgQEAgY2xhc3MgQ29udGV4dE1h c2tXYXJuaW5nKFVzZXJXYXJuaW5nKToKKyAgICAgcGFzcworIAorIAorK2NsYXNzIENvbnRleHRN b2RlKEVudW0pOgorKyAgICAiIiJVc2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlIHR3byB1 c2FnZSBtb2RlcyB3aGlsZSB1c2luZyB0aGUgY29udGV4dDoKKysKKysgICAgKiBCRUhBVkU6IElu ZGljYXRlcyAiYmVoYXZlIiAoaW50ZXJuYWwpIG1vZGUKKysgICAgKiBVU0VSOiBJbmRpY2F0ZXMg InVzZXIiIG1vZGUgKGluIHN0ZXBzLCBob29rcywgZml4dHVyZXMsIC4uLikKKysgICAgIiIiCisr ICAgIEJFSEFWRSA9IDEKKysgICAgVVNFUiA9IDIKKysKKysKKyBjbGFzcyBDb250ZXh0KG9iamVj dCk6CisgICAgICIiIkhvbGQgY29udGV4dHVhbCBpbmZvcm1hdGlvbiBkdXJpbmcgdGhlIHJ1bm5p bmcgb2YgdGVzdHMuCisgCitAQCAtMTQ3LDggKzE1OCw4IEBAIGNsYXNzIENvbnRleHQob2JqZWN0 KToKKyAgICAgLi4gX2Bjb25maWd1cmF0aW9uIGZpbGUgc2VjdGlvbiBuYW1lc2A6IGJlaGF2ZS5o dG1sI2NvbmZpZ3VyYXRpb24tZmlsZXMKKyAgICAgIiIiCisgICAgICMgcHlsaW50OiBkaXNhYmxl PXRvby1tYW55LWluc3RhbmNlLWF0dHJpYnV0ZXMKKy0gICAgQkVIQVZFID0gImJlaGF2ZSIKKy0g ICAgVVNFUiA9ICJ1c2VyIgorKyAgICAjIEJFSEFWRSA9ICJiZWhhdmUiCisrICAgICMgVVNFUiA9 ICJ1c2VyIgorICAgICBGQUlMX09OX0NMRUFOVVBfRVJST1JTID0gVHJ1ZQorIAorICAgICBkZWYg X19pbml0X18oc2VsZiwgcnVubmVyKToKK0BAIC0xNjYsNyArMTc3LDcgQEAgY2xhc3MgQ29udGV4 dChvYmplY3QpOgorICAgICAgICAgc2VsZi5fc3RhY2sgPSBbZF0KKyAgICAgICAgIHNlbGYuX3Jl Y29yZCA9IHt9CisgICAgICAgICBzZWxmLl9vcmlnaW4gPSB7fQorLSAgICAgICAgc2VsZi5fbW9k ZSA9IHNlbGYuQkVIQVZFCisrICAgICAgICBzZWxmLl9tb2RlID0gQ29udGV4dE1vZGUuQkVIQVZF CisgCisgICAgICAgICAjIC0tIE1PREVMIEVOVElUWSBSRUZFUkVOQ0VTL1NVUFBPUlQ6CisgICAg ICAgICBzZWxmLmZlYXR1cmUgPSBOb25lCitAQCAtMjYwLDExICsyNzEsMTEgQEAgY2xhc3MgQ29u dGV4dChvYmplY3QpOgorIAorICAgICBkZWYgX3VzZV93aXRoX2JlaGF2ZV9tb2RlKHNlbGYpOgor ICAgICAgICAgIiIiUHJvdmlkZXMgYSBjb250ZXh0IG1hbmFnZXIgZm9yIHVzaW5nIHRoZSBjb250 ZXh0IGluIEJFSEFWRSBtb2RlLiIiIgorLSAgICAgICAgcmV0dXJuIHVzZV9jb250ZXh0X3dpdGhf bW9kZShzZWxmLCBDb250ZXh0LkJFSEFWRSkKKysgICAgICAgIHJldHVybiB1c2VfY29udGV4dF93 aXRoX21vZGUoc2VsZiwgQ29udGV4dE1vZGUuQkVIQVZFKQorIAorICAgICBkZWYgdXNlX3dpdGhf dXNlcl9tb2RlKHNlbGYpOgorICAgICAgICAgIiIiUHJvdmlkZXMgYSBjb250ZXh0IG1hbmFnZXIg Zm9yIHVzaW5nIHRoZSBjb250ZXh0IGluIFVTRVIgbW9kZS4iIiIKKy0gICAgICAgIHJldHVybiB1 c2VfY29udGV4dF93aXRoX21vZGUoc2VsZiwgQ29udGV4dC5VU0VSKQorKyAgICAgICAgcmV0dXJu IHVzZV9jb250ZXh0X3dpdGhfbW9kZShzZWxmLCBDb250ZXh0TW9kZS5VU0VSKQorIAorICAgICBk ZWYgdXNlcl9tb2RlKHNlbGYpOgorICAgICAgICAgd2FybmluZ3Mud2FybigiVXNlICd1c2Vfd2l0 aF91c2VyX21vZGUoKScgaW5zdGVhZCIsCitAQCAtMjkxLDExICszMDIsMTEgQEAgY2xhc3MgQ29u dGV4dChvYmplY3QpOgorIAorICAgICBkZWYgX2VtaXRfd2FybmluZyhzZWxmLCBhdHRyLCBwYXJh bXMpOgorICAgICAgICAgbXNnID0gIiIKKy0gICAgICAgIGlmIHNlbGYuX21vZGUgaXMgc2VsZi5C RUhBVkUgYW5kIHNlbGYuX29yaWdpblthdHRyXSBpcyBub3Qgc2VsZi5CRUhBVkU6CisrICAgICAg ICBpZiBzZWxmLl9tb2RlIGlzIENvbnRleHRNb2RlLkJFSEFWRSBhbmQgc2VsZi5fb3JpZ2luW2F0 dHJdIGlzIG5vdCBDb250ZXh0TW9kZS5CRUhBVkU6CisgICAgICAgICAgICAgbXNnID0gImJlaGF2 ZSBydW5uZXIgaXMgbWFza2luZyBjb250ZXh0IGF0dHJpYnV0ZSAnJShhdHRyKXMnICIgXAorICAg ICAgICAgICAgICAgICAgICJvcmlnaW5hbGx5IHNldCBpbiAlKGZ1bmN0aW9uKXMgKCUoZmlsZW5h bWUpczolKGxpbmUpcykiCistICAgICAgICBlbGlmIHNlbGYuX21vZGUgaXMgc2VsZi5VU0VSOgor LSAgICAgICAgICAgIGlmIHNlbGYuX29yaWdpblthdHRyXSBpcyBub3Qgc2VsZi5VU0VSOgorKyAg ICAgICAgZWxpZiBzZWxmLl9tb2RlIGlzIENvbnRleHRNb2RlLlVTRVI6CisrICAgICAgICAgICAg aWYgc2VsZi5fb3JpZ2luW2F0dHJdIGlzIG5vdCBDb250ZXh0TW9kZS5VU0VSOgorICAgICAgICAg ICAgICAgICBtc2cgPSAidXNlciBjb2RlIGlzIG1hc2tpbmcgY29udGV4dCBhdHRyaWJ1dGUgJyUo YXR0cilzJyAiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIm9yaWdpbmFsbHkgc2V0IGJ5IGJl aGF2ZSIKKyAgICAgICAgICAgICBlbGlmIHNlbGYuX2NvbmZpZy52ZXJib3NlOgorQEAgLTQ0Miwx MyArNDUzLDEzIEBAIGNsYXNzIENvbnRleHQob2JqZWN0KToKKyAKKyBAY29udGV4dGxpYi5jb250 ZXh0bWFuYWdlcgorIGRlZiB1c2VfY29udGV4dF93aXRoX21vZGUoY29udGV4dCwgbW9kZSk6Cist ICAgICIiIlN3aXRjaCBjb250ZXh0IHRvIEJFSEFWRSBvciBVU0VSIG1vZGUuCisrICAgICIiIlN3 aXRjaCBjb250ZXh0IHRvIENvbnRleHRNb2RlLkJFSEFWRSBvciBDb250ZXh0TW9kZS5VU0VSIG1v ZGUuCisgICAgIFByb3ZpZGVzIGEgY29udGV4dCBtYW5hZ2VyIGZvciBzd2l0Y2hpbmcgYmV0d2Vl biB0aGUgdHdvIGNvbnRleHQgbW9kZXMuCisgCisgICAgIC4uIHNvdXJjZWNvZGU6OiBweXRob24K KyAKKyAgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KCkKKy0gICAgICAgIHdpdGggdXNlX2NvbnRl eHRfd2l0aF9tb2RlKGNvbnRleHQsIENvbnRleHQuQkVIQVZFKToKKysgICAgICAgIHdpdGggdXNl X2NvbnRleHRfd2l0aF9tb2RlKGNvbnRleHQsIENvbnRleHRNb2RlLkJFSEFWRSk6CisgICAgICAg ICAgICAgLi4uICAgICAjIERvIHNvbWV0aGluZworICAgICAgICAgIyAtLSBQT1NUQ09ORElUSU9O OiBPcmlnaW5hbCBjb250ZXh0Ll9tb2RlIGlzIHJlc3RvcmVkLgorIAorQEAgLTQ1Niw3ICs0Njcs NyBAQCBkZWYgdXNlX2NvbnRleHRfd2l0aF9tb2RlKGNvbnRleHQsIG1vZGUpOgorICAgICA6cGFy YW0gbW9kZTogICAgIE1vZGUgdG8gYXBwbHkgdG8gY29udGV4dCBvYmplY3QuCisgICAgICIiIgor ICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgIGFzc2VydCBtb2Rl IGluIChDb250ZXh0LkJFSEFWRSwgQ29udGV4dC5VU0VSKQorKyAgICBhc3NlcnQgbW9kZSBpbiAo Q29udGV4dE1vZGUuQkVIQVZFLCBDb250ZXh0TW9kZS5VU0VSKQorICAgICBjdXJyZW50X21vZGUg PSBjb250ZXh0Ll9tb2RlCisgICAgIHRyeToKKyAgICAgICAgIGNvbnRleHQuX21vZGUgPSBtb2Rl CitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0X3J1bm5lci5weSBiL3Rlc3RzL3VuaXQvdGVz dF9ydW5uZXIucHkKK2luZGV4IGYwZDAzY2QuLmJlYWZmOGYgMTAwNjQ0CistLS0gYS90ZXN0cy91 bml0L3Rlc3RfcnVubmVyLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfcnVubmVyLnB5CitAQCAt MTcsNiArMTcsNyBAQCBmcm9tIGJlaGF2ZSBpbXBvcnQgcnVubmVyX3V0aWwKKyBmcm9tIGJlaGF2 ZS5tb2RlbCBpbXBvcnQgVGFibGUKKyBmcm9tIGJlaGF2ZS5zdGVwX3JlZ2lzdHJ5IGltcG9ydCBT dGVwUmVnaXN0cnkKKyBmcm9tIGJlaGF2ZSBpbXBvcnQgcGFyc2VyLCBydW5uZXIKKytmcm9tIGJl aGF2ZS5ydW5uZXIgaW1wb3J0IENvbnRleHRNb2RlCisgZnJvbSBiZWhhdmUuZXhjZXB0aW9uIGlt cG9ydCBDb25maWdFcnJvcgorIGZyb20gYmVoYXZlLmZvcm1hdHRlci5iYXNlIGltcG9ydCBTdHJl YW1PcGVuZXIKKyAKK0BAIC0zNiwyOSArMzcsMjkgQEAgY2xhc3MgVGVzdENvbnRleHQodW5pdHRl c3QuVGVzdENhc2UpOgorIAorICAgICBkZWYgdGVzdF91c2VyX21vZGVfc2hhbGxfcmVzdG9yZV9i ZWhhdmVfbW9kZShzZWxmKToKKyAgICAgICAgICMgLS0gQ0FTRTogTm8gZXhjZXB0aW9uIGlzIHJh aXNlZC4KKy0gICAgICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5Db250ZXh0LkJFSEFWRQorKyAg ICAgICAgaW5pdGlhbF9tb2RlID0gQ29udGV4dE1vZGUuQkVIQVZFCisgICAgICAgICBhc3NlcnQg c2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorICAgICAgICAgd2l0aCBzZWxmLmNv bnRleHQudXNlX3dpdGhfdXNlcl9tb2RlKCk6CistICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29u dGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5VU0VSCisrICAgICAgICAgICAgYXNzZXJ0IHNl bGYuY29udGV4dC5fbW9kZSA9PSBDb250ZXh0TW9kZS5VU0VSCisgICAgICAgICAgICAgc2VsZi5j b250ZXh0LnRoaW5nID0gInN0dWZmIgorICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9k ZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAgZGVmIHRlc3RfdXNlcl9tb2RlX3NoYWxsX3Jlc3Rv cmVfYmVoYXZlX21vZGVfaWZfYXNzZXJ0X2ZhaWxzKHNlbGYpOgorLSAgICAgICAgaW5pdGlhbF9t b2RlID0gcnVubmVyLkNvbnRleHQuQkVIQVZFCisrICAgICAgICBpbml0aWFsX21vZGUgPSBDb250 ZXh0TW9kZS5CRUhBVkUKKyAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5p dGlhbF9tb2RlCisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQu dXNlX3dpdGhfdXNlcl9tb2RlKCk6CistICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRl eHQuX21vZGUgPT0gcnVubmVyLkNvbnRleHQuVVNFUgorKyAgICAgICAgICAgICAgICBhc3NlcnQg c2VsZi5jb250ZXh0Ll9tb2RlID09IENvbnRleHRNb2RlLlVTRVIKKyAgICAgICAgICAgICAgICAg YXNzZXJ0IEZhbHNlLCAiWEZBSUwiCisgICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6Cisg ICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAK KyAgICAgZGVmIHRlc3RfdXNlcl9tb2RlX3NoYWxsX3Jlc3RvcmVfYmVoYXZlX21vZGVfaWZfZXhj ZXB0aW9uX2lzX3JhaXNlZChzZWxmKToKKy0gICAgICAgIGluaXRpYWxfbW9kZSA9IHJ1bm5lci5D b250ZXh0LkJFSEFWRQorKyAgICAgICAgaW5pdGlhbF9tb2RlID0gQ29udGV4dE1vZGUuQkVIQVZF CisgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorICAg ICAgICAgdHJ5OgorICAgICAgICAgICAgIHdpdGggc2VsZi5jb250ZXh0LnVzZV93aXRoX3VzZXJf bW9kZSgpOgorLSAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1 bm5lci5Db250ZXh0LlVTRVIKKysgICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5f bW9kZSA9PSBDb250ZXh0TW9kZS5VU0VSCisgICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVF cnJvcigiWEZBSUwiKQorICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKKyAgICAgICAgICAg ICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorQEAgLTY2LDIxICs2 NywyMSBAQCBjbGFzcyBUZXN0Q29udGV4dCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIGRlZiB0 ZXN0X3VzZV93aXRoX3VzZXJfbW9kZV9fc2hhbGxfcmVzdG9yZV9pbml0aWFsX21vZGUoc2VsZik6 CisgICAgICAgICAjIC0tIENBU0U6IE5vIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICAgICAgICAj IHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgICAgICBpbml0aWFsX21vZGUg PSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKysgICAgICAgIGluaXRpYWxfbW9kZSA9IENvbnRleHRN b2RlLkJFSEFWRQorICAgICAgICAgc2VsZi5jb250ZXh0Ll9tb2RlID0gaW5pdGlhbF9tb2RlCisg ICAgICAgICB3aXRoIHNlbGYuY29udGV4dC51c2Vfd2l0aF91c2VyX21vZGUoKToKKy0gICAgICAg ICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LlVTRVIKKysg ICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IENvbnRleHRNb2RlLlVTRVIK KyAgICAgICAgICAgICBzZWxmLmNvbnRleHQudGhpbmcgPSAic3R1ZmYiCisgICAgICAgICBhc3Nl cnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IGluaXRpYWxfbW9kZQorIAorICAgICBkZWYgdGVzdF91 c2Vfd2l0aF91c2VyX21vZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2RlX3dpdGhfZXJyb3Io c2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IEV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICAgICAg ICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgICAgICBpbml0aWFsX21v ZGUgPSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKysgICAgICAgIGluaXRpYWxfbW9kZSA9IENvbnRl eHRNb2RlLkJFSEFWRQorICAgICAgICAgc2VsZi5jb250ZXh0Ll9tb2RlID0gaW5pdGlhbF9tb2Rl CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgd2l0aCBzZWxmLmNvbnRleHQudXNlX3dpdGhf dXNlcl9tb2RlKCk6CistICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUg PT0gcnVubmVyLkNvbnRleHQuVVNFUgorKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250 ZXh0Ll9tb2RlID09IENvbnRleHRNb2RlLlVTRVIKKyAgICAgICAgICAgICAgICAgcmFpc2UgUnVu dGltZUVycm9yKCJYRkFJTCIpCisgICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgorICAgICAg ICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlhbF9tb2RlCitAQCAtODgs MjEgKzg5LDIxIEBAIGNsYXNzIFRlc3RDb250ZXh0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAg ZGVmIHRlc3RfdXNlX3dpdGhfYmVoYXZlX21vZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2Rl KHNlbGYpOgorICAgICAgICAgIyAtLSBDQVNFOiBObyBleGNlcHRpb24gaXMgcmFpc2VkLgorICAg ICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworLSAgICAgICAgaW5pdGlh bF9tb2RlID0gcnVubmVyLkNvbnRleHQuVVNFUgorKyAgICAgICAgaW5pdGlhbF9tb2RlID0gQ29u dGV4dE1vZGUuVVNFUgorICAgICAgICAgc2VsZi5jb250ZXh0Ll9tb2RlID0gaW5pdGlhbF9tb2Rl CisgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC5fdXNlX3dpdGhfYmVoYXZlX21vZGUoKToKKy0g ICAgICAgICAgICBhc3NlcnQgc2VsZi5jb250ZXh0Ll9tb2RlID09IHJ1bm5lci5Db250ZXh0LkJF SEFWRQorKyAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gQ29udGV4dE1v ZGUuQkVIQVZFCisgICAgICAgICAgICAgc2VsZi5jb250ZXh0LnRoaW5nID0gInN0dWZmIgorICAg ICAgICAgYXNzZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBpbml0aWFsX21vZGUKKyAKKyAgICAg ZGVmIHRlc3RfdXNlX3dpdGhfYmVoYXZlX21vZGVfX3NoYWxsX3Jlc3RvcmVfaW5pdGlhbF9tb2Rl X3dpdGhfZXJyb3Ioc2VsZik6CisgICAgICAgICAjIC0tIENBU0U6IEV4Y2VwdGlvbiBpcyByYWlz ZWQuCisgICAgICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgICAg ICBpbml0aWFsX21vZGUgPSBydW5uZXIuQ29udGV4dC5VU0VSCisrICAgICAgICBpbml0aWFsX21v ZGUgPSBDb250ZXh0TW9kZS5VU0VSCisgICAgICAgICBzZWxmLmNvbnRleHQuX21vZGUgPSBpbml0 aWFsX21vZGUKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICB3aXRoIHNlbGYuY29udGV4dC5f dXNlX3dpdGhfYmVoYXZlX21vZGUoKToKKy0gICAgICAgICAgICAgICAgYXNzZXJ0IHNlbGYuY29u dGV4dC5fbW9kZSA9PSBydW5uZXIuQ29udGV4dC5CRUhBVkUKKysgICAgICAgICAgICAgICAgYXNz ZXJ0IHNlbGYuY29udGV4dC5fbW9kZSA9PSBDb250ZXh0TW9kZS5CRUhBVkUKKyAgICAgICAgICAg ICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJYRkFJTCIpCisgICAgICAgICBleGNlcHQgUnVudGlt ZUVycm9yOgorICAgICAgICAgICAgIGFzc2VydCBzZWxmLmNvbnRleHQuX21vZGUgPT0gaW5pdGlh bF9tb2RlCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDcyLUNsZWFudXAtY29tbWVudHMucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDcyLUNsZWFudXAtY29tbWVu dHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45YjBlNzdkMWIK LS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDcyLUNsZWFudXAtY29tbWVudHMucGF0Y2gKQEAgLTAsMCArMSwyMiBA QAorRnJvbSAxYzNlYWIwZmVkMWQwZWIzM2RhNjRlYjU2OGU0Mjk3MTgyMjY1NWRmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAyMDE5IDIxOjI1OjAwICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIENsZWFudXAgY29tbWVudHMKKworLS0tCisgYmVoYXZlL3J1bm5lci5weSB8IDIg LS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2 ZS9ydW5uZXIucHkgYi9iZWhhdmUvcnVubmVyLnB5CitpbmRleCBiY2Y0YWIyLi42YjIwOTM3IDEw MDY0NAorLS0tIGEvYmVoYXZlL3J1bm5lci5weQorKysrIGIvYmVoYXZlL3J1bm5lci5weQorQEAg LTE1OCw4ICsxNTgsNiBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgIC4uIF9gY29uZmln dXJhdGlvbiBmaWxlIHNlY3Rpb24gbmFtZXNgOiBiZWhhdmUuaHRtbCNjb25maWd1cmF0aW9uLWZp bGVzCisgICAgICIiIgorICAgICAjIHB5bGludDogZGlzYWJsZT10b28tbWFueS1pbnN0YW5jZS1h dHRyaWJ1dGVzCistICAgICMgQkVIQVZFID0gImJlaGF2ZSIKKy0gICAgIyBVU0VSID0gInVzZXIi CisgICAgIEZBSUxfT05fQ0xFQU5VUF9FUlJPUlMgPSBUcnVlCisgCisgICAgIGRlZiBfX2luaXRf XyhzZWxmLCBydW5uZXIpOgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3My1GSVgtc3BoaW54LWJ1aWxkLXByb2JsZW0tYXN5 bmNfc3RlcHMzeC5weS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwNzMtRklYLXNwaGlueC1idWlsZC1wcm9ibGVtLWFzeW5jX3N0ZXBz M3gucHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43OTc1NWRh YTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDczLUZJWC1zcGhpbngtYnVpbGQtcHJvYmxlbS1hc3luY19zdGVw czN4LnB5LnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZjk5Nzc5NjllN2ZhYmFkNTY0NGI1 N2Y1MzQ2Mjk1NGVkMDk3ZTY2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCAxNSBEZWMg MjAxOSAyMTo1MTo0NyArMDEwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IHNwaGlueC1idWlsZCBw cm9ibGVtOiBhc3luY19zdGVwczN4LnB5CisKKy0tLQorIGRvY3MvbmV3X2FuZF9ub3Rld29ydGh5 X3YxLjIuNi5yc3QgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9uZXdfYW5kX25vdGV3b3J0aHlfdjEu Mi42LnJzdCBiL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNi5yc3QKK2luZGV4IDg0OGM0 MDkuLjJjOGU4NjUgMTAwNjQ0CistLS0gYS9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjYu cnN0CisrKysgYi9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjYucnN0CitAQCAtMzI1LDEz ICszMjUsMTMgQEAgQSBzaW1wbGUgZXhhbXBsZSBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRo ZSBhc3luYy1zdGVwcyBpcyBzaG93biBmb3I6CisgKiBQeXRob24gMy41IHdpdGggbmV3IGBgYXN5 bmNgYC9gYGF3YWl0YGAga2V5d29yZHMKKyAqIFB5dGhvbiAzLjQgd2l0aCBgYEBhc3luY2lvLmNv cm91dGluZWBgIGRlY29yYXRvciBhbmQgYGB5aWVsZCBmcm9tYGAga2V5d29yZAorIAorLS4uIGxp dGVyYWxpbmNsdWRlOjogLi4vZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3lu Y19zdGVwczM1LnB5CisrLi4gbGl0ZXJhbGluY2x1ZGU6OiAuLi9leGFtcGxlcy9hc3luY19zdGVw L2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVwczM1LnB5CisgICAgIDpsYW5ndWFnZTogcHl0aG9u CisgICAgIDpwcmVwZW5kOgorICAgICAgICAgIyAtLSBGSUxFOiBmZWF0dXJlcy9zdGVwcy9hc3lu Y19zdGVwczM1LnB5CisgCisgCistLi4gbGl0ZXJhbGluY2x1ZGU6OiAuLi9leGFtcGxlcy9hc3lu Y19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzQucHkKKysuLiBsaXRlcmFsaW5jbHVk ZTo6IC4uL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQu cHkKKyAgICAgOmxhbmd1YWdlOiBweXRob24KKyAgICAgOnByZXBlbmQ6CisgICAgICAgICAjIC0t IEZJTEU6IGZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzQucHkKZGlmZiAtLWdpdCBhL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzQtZG9jcy1S ZW5hbWUtcGFnZS1wYXJzZV9leHByZXNzaW9ucy13YXMtcGFyc2VfYnVpbHRpbi5wYXRjaCBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzQtZG9j cy1SZW5hbWUtcGFnZS1wYXJzZV9leHByZXNzaW9ucy13YXMtcGFyc2VfYnVpbHRpbi5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjQ0NGVkNWQxNAotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwNzQtZG9jcy1SZW5hbWUtcGFnZS1wYXJzZV9leHByZXNzaW9ucy13YXMtcGFyc2VfYnVp bHRpbi5wYXRjaApAQCAtMCwwICsxLDE4NSBAQAorRnJvbSA3MDk0M2Q5ZmFlNzVjY2UyMDQwNTJh YzBmNDk4ZTYwM2YxYzdmNGM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5 cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDE1IERlYyAy MDE5IDIxOjUyOjUzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvY3M6IFJlbmFtZSBwYWdlICdw YXJzZV9leHByZXNzaW9ucycgKHdhczoKKyBwYXJzZV9idWlsdGluX3R5cGVzKSBhbmQgdXBkYXRl IHRhYmxlIHRvIGN1cnJlbnQgcGFyc2UtMS4xMi4xCisKKy0tLQorIGRvY3MvYXBwZW5kaXgucnN0 ICAgICAgICAgICAgfCAgMiArLQorIGRvY3MvcGFyc2VfYnVpbHRpbl90eXBlcy5yc3QgfCA1OSAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkb2NzL3BhcnNlX2V4cHJlc3Npb25zLnJzdCAgIHwg ODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2Vk LCA4OCBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQg ZG9jcy9wYXJzZV9idWlsdGluX3R5cGVzLnJzdAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL3Bh cnNlX2V4cHJlc3Npb25zLnJzdAorCitkaWZmIC0tZ2l0IGEvZG9jcy9hcHBlbmRpeC5yc3QgYi9k b2NzL2FwcGVuZGl4LnJzdAoraW5kZXggOGMwY2IwNS4uNzliNTQ1NSAxMDA2NDQKKy0tLSBhL2Rv Y3MvYXBwZW5kaXgucnN0CisrKysgYi9kb2NzL2FwcGVuZGl4LnJzdAorQEAgLTExLDcgKzExLDcg QEAgQXBwZW5kaXgKKyAKKyAgICAgZm9ybWF0dGVycworICAgICBjb250ZXh0X2F0dHJpYnV0ZXMK Ky0gICAgcGFyc2VfYnVpbHRpbl90eXBlcworKyAgICBwYXJzZV9leHByZXNzaW9ucworICAgICBy ZWd1bGFyX2V4cHJlc3Npb25zCisgICAgIHRlc3RfZG9tYWlucworICAgICBiZWhhdmVfZWNvc3lz dGVtCitkaWZmIC0tZ2l0IGEvZG9jcy9wYXJzZV9idWlsdGluX3R5cGVzLnJzdCBiL2RvY3MvcGFy c2VfYnVpbHRpbl90eXBlcy5yc3QKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMzJl MThlYy4uMDAwMDAwMAorLS0tIGEvZG9jcy9wYXJzZV9idWlsdGluX3R5cGVzLnJzdAorKysrIC9k ZXYvbnVsbAorQEAgLTEsNTkgKzAsMCBAQAorLS4uIF9pZC5hcHBlbmRpeC5wYXJzZV9idWlsdGlu X3R5cGVzOgorLQorLVByZWRlZmluZWQgRGF0YSBUeXBlcyBpbiBgYHBhcnNlYGAKKy09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKy0KKy06cHlwaTpgYmVoYXZlYCB1c2VzIHRoZSA6cHlwaTpgcGFyc2Vg IG1vZHVsZSAoaW52ZXJzZSBvZiBQeXRob24gYHN0cmluZy5mb3JtYXRgXykKKy11bmRlciB0aGUg aG9vZHMgdG8gcGFyc2UgcGFyYW1ldGVycyBpbiBzdGVwIGRlZmluaXRpb25zLgorLVRoaXMgbGVh ZHMgdG8gcmF0aGVyIHNpbXBsZSBhbmQgcmVhZGFibGUgcGFyc2UgZXhwcmVzc2lvbnMgZm9yIHN0 ZXAgcGFyYW1ldGVycy4KKy0KKy0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCistCistICAgICMgLS0g RklMRTogZmVhdHVyZXMvc3RlcHMvdHlwZV90cmFuc2Zvcm1fZXhhbXBsZV9zdGVwcy5weQorLSAg ICBmcm9tIGJlaGF2ZSBpbXBvcnQgZ2l2ZW4KKy0KKy0gICAgQGdpdmVuKCdJIGhhdmUge251bWJl cjpkfSBmcmllbmRzJykgICM8IENvbnZlcnQgJ251bWJlcicgaW50byBpbnQgdHlwZS4KKy0gICAg ZGVmIHN0ZXBfZ2l2ZW5faV9oYXZlX251bWJlcl9mcmllbmRzKGNvbnRleHQsIG51bWJlcik6Cist ICAgICAgICBhc3NlcnQgbnVtYmVyID4gMAorLSAgICAgICAgLi4uCistCistVGhlcmVmb3JlLCB0 aGUgZm9sbG93aW5nIGBgcGFyc2UgdHlwZXNgYCBhcmUgYWxyZWFkeSBzdXBwb3J0ZWQKKy1pbiBz dGVwIGRlZmluaXRpb25zIHdpdGhvdXQgcmVnaXN0cmF0aW9uIG9mIGFueSAqdXNlci1kZWZpbmVk IHR5cGUqOgorLQorLQorLT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0gPT09PT09PT09PT09CistVHlwZSAgQ2hhcmFjdGVycyBNYXRjaGVkICAgICAgICAg ICAgICAgICAgICAgICAgICBPdXRwdXQgVHlwZQorLT09PT09ID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09CistIHcgICAgTGV0dGVycyBhbmQg dW5kZXJzY29yZSAgICAgICAgICAgICAgICAgICAgICBzdHIKKy0gVyAgICBOb24tbGV0dGVyIGFu ZCB1bmRlcnNjb3JlICAgICAgICAgICAgICAgICAgIHN0cgorLSBzICAgIFdoaXRlc3BhY2UgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyCistIFMgICAgTm9uLXdoaXRlc3BhY2Ug ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIKKy0gZCAgICBEaWdpdHMgKGVmZmVjdGl2 ZWx5IGludGVnZXIgbnVtYmVycykgICAgICAgIGludAorLSBEICAgIE5vbi1kaWdpdCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyCistIG4gICAgTnVtYmVycyB3aXRoIHRob3Vz YW5kcyBzZXBhcmF0b3JzICgsIG9yIC4pICBpbnQKKy0gJSAgICBQZXJjZW50YWdlIChjb252ZXJ0 ZWQgdG8gdmFsdWUvMTAwLjApICAgICAgIGZsb2F0CistIGYgICAgRml4ZWQtcG9pbnQgbnVtYmVy cyAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdAorLSBlICAgIEZsb2F0aW5nLXBvaW50IG51 bWJlcnMgd2l0aCBleHBvbmVudCAgICAgICAgZmxvYXQKKy0gICAgICBlLmcuIDEuMWUtMTAsIE5B TiAoYWxsIGNhc2UgaW5zZW5zaXRpdmUpCistIGcgICAgR2VuZXJhbCBudW1iZXIgZm9ybWF0IChl aXRoZXIgZCwgZiBvciBlKSAgICBmbG9hdAorLSBiICAgIEJpbmFyeSBudW1iZXJzICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50CistIG8gICAgT2N0YWwgbnVtYmVycyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQKKy0geCAgICBIZXhhZGVjaW1hbCBudW1iZXJzIChsb3dl ciBhbmQgdXBwZXIgY2FzZSkgIGludAorLSB0aSAgIElTTyA4NjAxIGZvcm1hdCBkYXRlL3RpbWUg ICAgICAgICAgICAgICAgICAgZGF0ZXRpbWUKKy0gICAgICBlLmcuIDE5NzItMDEtMjBUMTA6MjE6 MzZaCistIHRlICAgUkZDMjgyMiBlLW1haWwgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICBk YXRldGltZQorLSAgICAgIGUuZy4gTW9uLCAyMCBKYW4gMTk3MiAxMDoyMTozNiArMTAwMAorLSB0 ZyAgIEdsb2JhbCAoZGF5L21vbnRoKSBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAgZGF0ZXRpbWUK Ky0gICAgICBlLmcuIDIwLzEvMTk3MiAxMDoyMTozNiBBTSArMTowMAorLSB0YSAgIFVTIChtb250 aC9kYXkpIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICAgICAgZGF0ZXRpbWUKKy0gICAgICBlLmcu IDEvMjAvMTk3MiAxMDoyMTozNiBQTSArMTA6MzAKKy0gdGMgICBjdGltZSgpIGZvcm1hdCBkYXRl L3RpbWUgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lCistICAgICAgZS5nLiBTdW4gU2VwIDE2 IDAxOjAzOjUyIDE5NzMKKy0gdGggICBIVFRQIGxvZyBmb3JtYXQgZGF0ZS90aW1lICAgICAgICAg ICAgICAgICAgIGRhdGV0aW1lCistICAgICAgZS5nLiAyMS9Ob3YvMjAxMTowMDowNzoxMSArMDAw MAorLSB0dCAgIFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlt ZQorLSAgICAgIGUuZy4gMTA6MjE6MzYgUE0gLTU6MzAKKy09PT09PSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PQorLQorLQorLS4uIF9zdHJp bmcuZm9ybWF0OiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvc3RyaW5nLmh0bWwj Zm9ybWF0LXN0cmluZy1zeW50YXgKK2RpZmYgLS1naXQgYS9kb2NzL3BhcnNlX2V4cHJlc3Npb25z LnJzdCBiL2RvY3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0CituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMC4uMzZjYTU0OQorLS0tIC9kZXYvbnVsbAorKysrIGIvZG9jcy9wYXJzZV9l eHByZXNzaW9ucy5yc3QKK0BAIC0wLDAgKzEsODcgQEAKKysuLiBfaWQuYXBwZW5kaXgucGFyc2Vf ZXhwcmVzc2lvbnM6CisrCisrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrUGFyc2UgRXhwcmVzc2lv bnMKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysKKysuLiBpbmRleDo6IHBhcnNlIGV4cHJlc3Np b25zLCByZWdleHAKKysKKytgUGFyc2UgZXhwcmVzc2lvbnNgXyBhcmUgYSBzaW1wbGlmaWVkIGZv cm0gb2YgcmVndWxhciBleHByZXNzaW9ucy4KKytUaGUgYWN0dWFsIHJlZ3VsYXIgZXhwcmVzc2lv biBpcyBoaWRkZW4gYmVoaW5kIHRoZSAqKnR5cGUqKiBuYW1lIC8gaGludC4KKysKKytgUGFyc2Ug ZXhwcmVzc2lvbnNgXyBhcmUgdXNlZCBpbiBzdGVwIGRlZmluaXRpb25zIGFzIGEgc2ltcGxpZmll ZCBhbHRlcm5hdGl2ZQorK3RvIHJlZ3VsYXIgZXhwcmVzc2lvbnMuIFRoZXkgYXJlIHVzZWQgZm9y IHBhcmFtZXRlcnMgYW5kIHR5cGUgY29udmVyc2lvbnMKKysod2hpY2ggYXJlIG5vdCBzdXBwb3J0 ZWQgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJucykuCisrCisrLi4gY29kZS1ibG9jazo6 IHB5dGhvbgorKworKyAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL3N0ZXBzL2V4YW1wbGVfc3RlcHMu cHkKKysgICAgZnJvbSBiZWhhdmUgaW1wb3J0IHdoZW4KKysKKysgICAgQHdoZW4oJ3dlIGltcGxl bWVudCB7bnVtYmVyOmR9IHRlc3RzJykKKysgICAgZGVmIHN0ZXBfaW1wbChjb250ZXh0LCBudW1i ZXIpOiAgIyAtLSBOT1RFOiBudW1iZXIgaXMgY29udmVydGVkIGludG8gaW50ZWdlcgorKyAgICAg ICAgYXNzZXJ0IG51bWJlciA+IDEgb3IgbnVtYmVyID09IDAKKysgICAgICAgIGNvbnRleHQudGVz dHNfY291bnQgPSBudW1iZXIKKysKKytUaGUgZm9sbG93aW5nIHRhYmxlcyBwcm92aWRlIGEgb3Zl cnZpZXcgb2YgdGhlIGBwYXJzZSBleHByZXNzaW9uc2BfIHN5bnRheC4KKytTZWUgYWxzbyBgUHl0 aG9uIHJlZ3VsYXIgZXhwcmVzc2lvbnNgXyBkZXNjcmlwdGlvbiBpbiB0aGUgUHl0aG9uIGByZSBt b2R1bGVgXy4KKysKKys9PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ID09PT09PT09CisrVHlwZSAgQ2hhcmFjdGVycyBNYXRjaGVkICAgICAgICAgICAgICAg ICAgICAgICAgICBPdXRwdXQKKys9PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09ID09PT09PT09CisrbCAgICAgTGV0dGVycyAoQVNDSUkpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHIKKyt3ICAgICBMZXR0ZXJzLCBudW1iZXJzIGFuZCB1bmRlcnNj b3JlICAgICAgICAgICAgIHN0cgorK1cgICAgIE5vdCBsZXR0ZXJzLCBudW1iZXJzIGFuZCB1bmRl cnNjb3JlICAgICAgICAgc3RyCisrcyAgICAgV2hpdGVzcGFjZSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHIKKytTICAgICBOb24td2hpdGVzcGFjZSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cgorK2QgICAgIERpZ2l0cyAoZWZmZWN0aXZlbHkgaW50ZWdlciBudW1i ZXJzKSAgICAgICAgaW50CisrRCAgICAgTm9uLWRpZ2l0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHIKKytuICAgICBOdW1iZXJzIHdpdGggdGhvdXNhbmRzIHNlcGFyYXRvcnMg KCwgb3IgLikgIGludAorKyUgICAgIFBlcmNlbnRhZ2UgKGNvbnZlcnRlZCB0byB2YWx1ZS8xMDAu MCkgICAgICAgZmxvYXQKKytmICAgICBGaXhlZC1wb2ludCBudW1iZXJzICAgICAgICAgICAgICAg ICAgICAgICAgIGZsb2F0CisrRiAgICAgRGVjaW1hbCBudW1iZXJzICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBEZWNpbWFsCisrZSAgICAgRmxvYXRpbmctcG9pbnQgbnVtYmVycyB3aXRoIGV4 cG9uZW50ICAgICAgICBmbG9hdAorKyAgICAgIGUuZy4gMS4xZS0xMCwgTkFOIChhbGwgY2FzZSBp bnNlbnNpdGl2ZSkKKytnICAgICBHZW5lcmFsIG51bWJlciBmb3JtYXQgKGVpdGhlciBkLCBmIG9y IGUpICAgIGZsb2F0CisrYiAgICAgQmluYXJ5IG51bWJlcnMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQKKytvICAgICBPY3RhbCBudW1iZXJzICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludAorK3ggICAgIEhleGFkZWNpbWFsIG51bWJlcnMgKGxvd2VyIGFuZCB1cHBlciBj YXNlKSAgaW50CisrdGkgICAgSVNPIDg2MDEgZm9ybWF0IGRhdGUvdGltZSAgICAgICAgICAgICAg ICAgICBkYXRldGltZQorKyAgICAgIGUuZy4gMTk3Mi0wMS0yMFQxMDoyMTozNlogKCJUIiBhbmQg IloiCisrICAgICAgb3B0aW9uYWwpCisrdGUgICAgUkZDMjgyMiBlLW1haWwgZm9ybWF0IGRhdGUv dGltZSAgICAgICAgICAgICBkYXRldGltZQorKyAgICAgIGUuZy4gTW9uLCAyMCBKYW4gMTk3MiAx MDoyMTozNiArMTAwMAorK3RnICAgIEdsb2JhbCAoZGF5L21vbnRoKSBmb3JtYXQgZGF0ZS90aW1l ICAgICAgICAgZGF0ZXRpbWUKKysgICAgICBlLmcuIDIwLzEvMTk3MiAxMDoyMTozNiBBTSArMTow MAorK3RhICAgIFVTIChtb250aC9kYXkpIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICAgICAgZGF0 ZXRpbWUKKysgICAgICBlLmcuIDEvMjAvMTk3MiAxMDoyMTozNiBQTSArMTA6MzAKKyt0YyAgICBj dGltZSgpIGZvcm1hdCBkYXRlL3RpbWUgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lCisrICAg ICAgZS5nLiBTdW4gU2VwIDE2IDAxOjAzOjUyIDE5NzMKKyt0aCAgICBIVFRQIGxvZyBmb3JtYXQg ZGF0ZS90aW1lICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lCisrICAgICAgZS5nLiAyMS9Ob3Yv MjAxMTowMDowNzoxMSArMDAwMAorK3RzICAgIExpbnV4IHN5c3RlbSBsb2cgZm9ybWF0IGRhdGUv dGltZSAgICAgICAgICAgZGF0ZXRpbWUKKysgICAgICBlLmcuIE5vdiAgOSAwMzozNzo0NAorK3R0 ICAgIFRpbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZQorKyAg ICAgIGUuZy4gMTA6MjE6MzYgUE0gLTU6MzAKKys9PT09PSA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09CisrCisrCisrPT09PT09PT09PT09PT09PT09 PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorK0NhcmRpbmFsaXR5ICAgICAgICAgICAgRGVzY3JpcHRpb24KKys9PT09PT09 PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CisrYGA/YGAgICAgICAgICAgICAgICAgICAgUGF0dGVybiB3 aXRoIGNhcmRpbmFsaXR5IDAuLjE6IG9wdGlvbmFsIHBhcnQgKHF1ZXN0aW9uIG1hcmspLgorK2Bg KmBgICAgICAgICAgICAgICAgICAgIFBhdHRlcm4gd2l0aCBjYXJkaW5hbGl0eSB6ZXJvIG9yIG1v cmUsIDAuLiAoYXN0ZXJpc2spLgorK2BgK2BgICAgICAgICAgICAgICAgICAgIFBhdHRlcm4gd2l0 aCBjYXJkaW5hbGl0eSBvbmUgb3IgbW9yZSwgMS4uIChwbHVzIHNpZ24pLgorK2Bge219YGAgICAg ICAgICAgICAgICAgIE1hdGNoZXMgYGBtYGAgcmVwZXRpdGlvbnMgb2YgYSBwYXR0ZXJuLgorK2Bg e20sbn1gYCAgICAgICAgICAgICAgIE1hdGNoZXMgZnJvbSBgYG1gYCB0byBgYG5gYCByZXBldGl0 aW9ucyBvZiBhIHBhdHRlcm4uCisrYGBbQS1aYS16XStgYCAgICAgICAgICAgRVhBTVBMRTogTWF0 Y2hlcyBvbmUgb3IgbW9yZSBhbHBoYWJldGljYWwgY2hhcmFjdGVycy4KKys9PT09PT09PT09PT09 PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CisrCisrCisrLi4gX3BhcnNlIG1vZHVsZTogaHR0cHM6Ly9naXRodWIu Y29tL3IxY2hhcmRqMG4zcy9wYXJzZQorKy4uIF9zdHJpbmcuZm9ybWF0OiBodHRwczovL2RvY3Mu cHl0aG9uLm9yZy8zL2xpYnJhcnkvc3RyaW5nLmh0bWwjZm9ybWF0LXN0cmluZy1zeW50YXgKKysK KysuLiBfcmUgbW9kdWxlOiBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvcmUuaHRt bCNtb2R1bGUtcmUKKysuLiBfUHl0aG9uIHJlZ3VsYXIgZXhwcmVzc2lvbnM6IGh0dHBzOi8vZG9j cy5weXRob24ub3JnLzMvbGlicmFyeS9yZS5odG1sI21vZHVsZS1yZQorKy4uIF9gcmVndWxhciBl eHByZXNzaW9uc2A6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1JlZ3VsYXJfZXhwcmVz c2lvbgorKwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA3NS1kb2NzLXBhcnNlX2V4cHJlc3Npb24tYWRkLWxpbmtzLXRvLXBh cnNlX3R5cGUtbW9kdWxlLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA3NS1kb2NzLXBhcnNlX2V4cHJlc3Npb24tYWRkLWxpbmtzLXRv LXBhcnNlX3R5cGUtbW9kdWxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uNmJkZjE1MWZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3NS1kb2NzLXBhcnNlX2V4cHJlc3Npb24t YWRkLWxpbmtzLXRvLXBhcnNlX3R5cGUtbW9kdWxlLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zy b20gZjI3MDQxNDlhZTFiYzExYjAxYjZiZTg1NGEyOGYxNzhlMjBkMDBlNCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIu Y29tPgorRGF0ZTogU3VuLCAxNSBEZWMgMjAxOSAyMjowODowNSArMDEwMAorU3ViamVjdDogW1BB VENIXSBkb2NzOiBwYXJzZV9leHByZXNzaW9uLCBhZGQgbGlua3MgdG8gcGFyc2VfdHlwZSBtb2R1 bGUgYW5kCisgQ2FyZGluYWxpdHlGaWVsZCBzdXBwb3J0LgorCistLS0KKyBkb2NzL3BhcnNlX2V4 cHJlc3Npb25zLnJzdCB8IDcgKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL3BhcnNlX2V4cHJlc3Npb25z LnJzdCBiL2RvY3MvcGFyc2VfZXhwcmVzc2lvbnMucnN0CitpbmRleCAzNmNhNTQ5Li4zODEwMjIy IDEwMDY0NAorLS0tIGEvZG9jcy9wYXJzZV9leHByZXNzaW9ucy5yc3QKKysrKyBiL2RvY3MvcGFy c2VfZXhwcmVzc2lvbnMucnN0CitAQCAtNjUsNiArNjUsOCBAQCB0dCAgICBUaW1lICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUKKyAgICAgICBlLmcuIDEwOjIxOjM2 IFBNIC01OjMwCisgPT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PSA9PT09PT09PQorIAorK0lmIGBwYXJzZV90eXBlYF8gbW9kdWxlIGlzIHVzZWQsIHRoZSBj YXJkaW5hbGl0eSBvZiBhIHR5cGUgY2FuIGJlIHNwZWNpZmllZCwgdG9vCisrKGJ5IHVzaW5nIHRo ZSBgQ2FyZGluYWxpdHlGaWVsZGBfIHN1cHBvcnQpOgorIAorID09PT09PT09PT09PT09PT09PT09 PSAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKyBDYXJkaW5hbGl0eSAgICAgICAgICAgIERlc2NyaXB0aW9uCitAQCAtNzIsMTQg Kzc0LDEzIEBAIENhcmRpbmFsaXR5ICAgICAgICAgICAgRGVzY3JpcHRpb24KKyBgYD9gYCAgICAg ICAgICAgICAgICAgICBQYXR0ZXJuIHdpdGggY2FyZGluYWxpdHkgMC4uMTogb3B0aW9uYWwgcGFy dCAocXVlc3Rpb24gbWFyaykuCisgYGAqYGAgICAgICAgICAgICAgICAgICAgUGF0dGVybiB3aXRo IGNhcmRpbmFsaXR5IHplcm8gb3IgbW9yZSwgMC4uIChhc3RlcmlzaykuCisgYGArYGAgICAgICAg ICAgICAgICAgICAgUGF0dGVybiB3aXRoIGNhcmRpbmFsaXR5IG9uZSBvciBtb3JlLCAxLi4gKHBs dXMgc2lnbikuCistYGB7bX1gYCAgICAgICAgICAgICAgICAgTWF0Y2hlcyBgYG1gYCByZXBldGl0 aW9ucyBvZiBhIHBhdHRlcm4uCistYGB7bSxufWBgICAgICAgICAgICAgICAgTWF0Y2hlcyBmcm9t IGBgbWBgIHRvIGBgbmBgIHJlcGV0aXRpb25zIG9mIGEgcGF0dGVybi4KKy1gYFtBLVphLXpdK2Bg ICAgICAgICAgICBFWEFNUExFOiBNYXRjaGVzIG9uZSBvciBtb3JlIGFscGhhYmV0aWNhbCBjaGFy YWN0ZXJzLgorID09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyAKKyAuLiBfcGFyc2Ug bW9kdWxlOiBodHRwczovL2dpdGh1Yi5jb20vcjFjaGFyZGowbjNzL3BhcnNlCisrLi4gX3BhcnNl X3R5cGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5pc3lzL3BhcnNlX3R5cGUKKyAuLiBfc3RyaW5n LmZvcm1hdDogaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMy9saWJyYXJ5L3N0cmluZy5odG1sI2Zv cm1hdC1zdHJpbmctc3ludGF4CisrLi4gX0NhcmRpbmFsaXR5RmllbGQ6IGh0dHBzOi8vZ2l0aHVi LmNvbS9qZW5pc3lzL3BhcnNlX3R5cGUvYmxvYi9tYXN0ZXIvUkVBRE1FLnJzdCNleHRlbmRlZC1w YXJzZXItd2l0aC1jYXJkaW5hbGl0eWZpZWxkLXN1cHBvcnQKKyAKKyAuLiBfcmUgbW9kdWxlOiBo dHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvcmUuaHRtbCNtb2R1bGUtcmUKKyAuLiBf UHl0aG9uIHJlZ3VsYXIgZXhwcmVzc2lvbnM6IGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzMvbGli cmFyeS9yZS5odG1sI21vZHVsZS1yZQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3Ni1CVU1QLVZFUlNJT04tMS4yLjcuZGV2 Mi13YXMtMS4yLjcuZGV2MS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwNzYtQlVNUC1WRVJTSU9OLTEuMi43LmRldjItd2FzLTEuMi43 LmRldjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lNzEwNTZl MWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMDc2LUJVTVAtVkVSU0lPTi0xLjIuNy5kZXYyLXdhcy0xLjIuNy5k ZXYxLnBhdGNoCkBAIC0wLDAgKzEsNjUgQEAKK0Zyb20gOTU4MTI0MzdlYmEwMTU0YjkxMTA4ODkw ZGQ1M2FhYjk2MTVmNzg2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMg PGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVGh1LCAxOSBEZWMgMjAx OSAxMjozMTo0NyArMDEwMAorU3ViamVjdDogW1BBVENIXSBCVU1QLVZFUlNJT046IDEuMi43LmRl djIgKHdhczogMS4yLjcuZGV2MSkKKworLS0tCisgLmJ1bXB2ZXJzaW9uLmNmZyAgfCAyICstCisg VkVSU0lPTi50eHQgICAgICAgfCAyICstCisgYmVoYXZlL3ZlcnNpb24ucHkgfCAyICstCisgcHl0 ZXN0LmluaSAgICAgICAgfCAyICstCisgc2V0dXAucHkgICAgICAgICAgfCAyICstCisgNSBmaWxl cyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS8uYnVtcHZlcnNpb24uY2ZnIGIvLmJ1bXB2ZXJzaW9uLmNmZworaW5kZXggYTVkM2QyZi4uNGYy YmI3NiAxMDA2NDQKKy0tLSBhLy5idW1wdmVyc2lvbi5jZmcKKysrKyBiLy5idW1wdmVyc2lvbi5j ZmcKK0BAIC0xLDUgKzEsNSBAQAorIFtidW1wdmVyc2lvbl0KKy1jdXJyZW50X3ZlcnNpb24gPSAx LjIuNy5kZXYxCisrY3VycmVudF92ZXJzaW9uID0gMS4yLjcuZGV2MgorIGZpbGVzID0gYmVoYXZl L3ZlcnNpb24ucHkgc2V0dXAucHkgVkVSU0lPTi50eHQgcHl0ZXN0LmluaSAuYnVtcHZlcnNpb24u Y2ZnCisgcGFyc2UgPSAoP1A8bWFqb3I+XGQrKVwuKD9QPG1pbm9yPlxkKylcLig/UDxwYXRjaD5c ZCspKD9QPGRyb3A+XHcqKQorIHNlcmlhbGl6ZSA9IHttYWpvcn0ue21pbm9yfS57cGF0Y2h9e2Ry b3B9CitkaWZmIC0tZ2l0IGEvVkVSU0lPTi50eHQgYi9WRVJTSU9OLnR4dAoraW5kZXggYzBlZjM2 Yi4uYzRlNzVmNiAxMDA2NDQKKy0tLSBhL1ZFUlNJT04udHh0CisrKysgYi9WRVJTSU9OLnR4dAor QEAgLTEgKzEgQEAKKy0xLjIuNy5kZXYxCisrMS4yLjcuZGV2MgorZGlmZiAtLWdpdCBhL2JlaGF2 ZS92ZXJzaW9uLnB5IGIvYmVoYXZlL3ZlcnNpb24ucHkKK2luZGV4IGIxOWNiNWUuLjY3ZjRhNDEg MTAwNjQ0CistLS0gYS9iZWhhdmUvdmVyc2lvbi5weQorKysrIGIvYmVoYXZlL3ZlcnNpb24ucHkK K0BAIC0xLDIgKzEsMiBAQAorICMgLS0gQkVIQVZFLVZFUlNJT046CistVkVSU0lPTiA9ICIxLjIu Ny5kZXYxIgorK1ZFUlNJT04gPSAiMS4yLjcuZGV2MiIKK2RpZmYgLS1naXQgYS9weXRlc3QuaW5p IGIvcHl0ZXN0LmluaQoraW5kZXggYjlmMjgxYS4uZGYyYTgxZiAxMDA2NDQKKy0tLSBhL3B5dGVz dC5pbmkKKysrKyBiL3B5dGVzdC5pbmkKK0BAIC0yMSw3ICsyMSw3IEBAIHRlc3RwYXRocyAgICAg PSB0ZXN0cworIHB5dGhvbl9maWxlcyAgPSB0ZXN0XyoucHkKKyBqdW5pdF9mYW1pbHkgPSB4dW5p dDIKKyBhZGRvcHRzID0gLS1tZXRhZGF0YSBQQUNLQUdFX1VOREVSX1RFU1QgYmVoYXZlCistICAg IC0tbWV0YWRhdGEgUEFDS0FHRV9WRVJTSU9OIDEuMi43LmRldjEKKysgICAgLS1tZXRhZGF0YSBQ QUNLQUdFX1ZFUlNJT04gMS4yLjcuZGV2MgorICAgICAtLWh0bWw9YnVpbGQvdGVzdGluZy9yZXBv cnQuaHRtbCAtLXNlbGYtY29udGFpbmVkLWh0bWwKKyAgICAgLS1qdW5pdC14bWw9YnVpbGQvdGVz dGluZy9yZXBvcnQueG1sCisgbWFya2VycyA9CitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1 cC5weQoraW5kZXggMmFmYzE0Ny4uMjNmNjY1NCAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysg Yi9zZXR1cC5weQorQEAgLTU1LDcgKzU1LDcgQEAgZGVmIGZpbmRfcGFja2FnZXNfYnlfcm9vdF9w YWNrYWdlKHdoZXJlKToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgc2V0dXAoCisgICAgIG5h bWU9ImJlaGF2ZSIsCistICAgIHZlcnNpb249IjEuMi43LmRldjEiLAorKyAgICB2ZXJzaW9uPSIx LjIuNy5kZXYyIiwKKyAgICAgZGVzY3JpcHRpb249ImJlaGF2ZSBpcyBiZWhhdmlvdXItZHJpdmVu IGRldmVsb3BtZW50LCBQeXRob24gc3R5bGUiLAorICAgICBsb25nX2Rlc2NyaXB0aW9uPWRlc2Ny aXB0aW9uLAorICAgICBhdXRob3I9IkplbnMgRW5nZWwsIEJlbm5vIFJpY2UgYW5kIFJpY2hhcmQg Sm9uZXMiLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA3Ny1HaGVya2luLXBhcnNlci1DbGVhbnVwcy1yZWxhdGVkLXRvLXF1 ZXN0aW9uLWluLTgwMC1QLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDA3Ny1HaGVya2luLXBhcnNlci1DbGVhbnVwcy1yZWxhdGVkLXRv LXF1ZXN0aW9uLWluLTgwMC1QLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uZDI0NGVlYTIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3Ny1HaGVya2luLXBhcnNlci1DbGVhbnVw cy1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTgwMC1QLnBhdGNoCkBAIC0wLDAgKzEsMjIzIEBACitG cm9tIGRjZGU0YmIyZTFiMzJkNjc2YmIwZmYxNmRlODBkZmRmN2RmNmIwODUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KK0RhdGU6IEZyaSwgMjAgRGVjIDIwMTkgMTY6NDU6NDYgKzAxMDAKK1N1YmplY3Q6IFtQ QVRDSF0gR2hlcmtpbiBwYXJzZXI6IENsZWFudXBzIHJlbGF0ZWQgdG8gcXVlc3Rpb24gaW4gIzgw MAorIChQYXJzZUVycm9yIHVzYWdlKQorCistLS0KKyBDSEFOR0VTLnJzdCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxICsKKyBiZWhhdmUvcGFyc2VyLnB5ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDQxICsrKysrKysrKysrKystLS0tLS0tCisgZmVhdHVyZXMvYmFj a2dyb3VuZC5mZWF0dXJlICAgICAgICAgICAgICAgICAgfCAgNCArLQorIGZlYXR1cmVzL3BhcnNl ci5iYWNrZ3JvdW5kLnNhZF9jYXNlcy5mZWF0dXJlIHwgMTAgKystLS0KKyBmZWF0dXJlcy9wYXJz ZXIuZmVhdHVyZS5zYWRfY2FzZXMuZmVhdHVyZSAgICB8ICA2ICstLQorIGlzc3VlLmZlYXR1cmVz L2lzc3VlMDE0OC5mZWF0dXJlICAgICAgICAgICAgIHwgIDIgKy0KKyA2IGZpbGVzIGNoYW5nZWQs IDM4IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdF Uy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXggYmE0ZGFhZC4uNTY1MzQ5MiAxMDA2NDQKKy0tLSBh L0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VTLnJzdAorQEAgLTQ0LDYgKzQ0LDcgQEAgRklYRUQ6 CisgCisgTUlOT1I6CisgCisrKiBpc3N1ZSAjODAwOiBDbGVhbnVwcyByZWxhdGVkIHRvIEdoZXJr aW4gcGFyc2VyL1BhcnNlRXJyb3IgcXVlc3Rpb24gKHN1Ym1pdHRlZCBieTogb3RzdGFudGVwbHop CisgKiBwdWxsICAjNzY3OiBGSVg6IHVzZV9maXh0dXJlX2J5X3RhZyBkaWRuJ3QgcmV0dXJuIHRo ZSBhY3R1YWwgZml4dHVyZSBpbiBhbGwgY2FzZXMgKHByb3ZpZGVkIGJ5OiBqZ2VudGlsKQorICog cHVsbCAgIzc1MTogZ2hlcmtpbjogQWRkaW5nIFJ1bGUga2V5d29yZCB0cmFuc2xhdGlvbiBpbiBw b3J0dWd1ZXNlIGFuZCBzcGFuaXNoIHRvIGdoZXJraW4tbGFuZ3VhZ2VzLmpzb24gKHByb3ZpZGVk IGJ5OiBkdW5vc3NhdXJvKQorICogcHVsbCAgIzY2MDogRml4IG1pbm9yIHR5cG9zIChwcm92aWRl ZCBieTogcnJ1ZXRoKQorZGlmZiAtLWdpdCBhL2JlaGF2ZS9wYXJzZXIucHkgYi9iZWhhdmUvcGFy c2VyLnB5CitpbmRleCA1MjBmNjc4Li41OGM2OGJlIDEwMDY0NAorLS0tIGEvYmVoYXZlL3BhcnNl ci5weQorKysrIGIvYmVoYXZlL3BhcnNlci5weQorQEAgLTEzMiwxMyArMTMyLDI0IEBAIGRlZiBw YXJzZV90YWdzKHRleHQpOgorIAorIAorIGNsYXNzIFBhcnNlckVycm9yKEV4Y2VwdGlvbik6Cist ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtZXNzYWdlLCBsaW5lLCBmaWxlbmFtZT1Ob25lLCBsaW5l X3RleHQ9Tm9uZSk6CistICAgICAgICBpZiBsaW5lOgorLSAgICAgICAgICAgIG1lc3NhZ2UgKz0g dSIgYXQgbGluZSAlZCIgJSBsaW5lCistICAgICAgICAgICAgaWYgbGluZV90ZXh0OgorLSAgICAg ICAgICAgICAgICBtZXNzYWdlICs9IHUnOiAiJXMiJyAlIGxpbmVfdGV4dC5zdHJpcCgpCisrICAg IEBzdGF0aWNtZXRob2QKKysgICAgZGVmIG1ha2VfYW5ub3RhdGVkKG1lc3NhZ2UsIGxpbmVfbnVt YmVyLCBsaW5lX3RleHQ9Tm9uZSwgcmVhc29uPU5vbmUpOgorKyAgICAgICAgIiIiTWFrZSBhbm5v dGF0ZWQgbWVzc2FnZSBlbnJpY2hlZCB3LyBsaW5lX251bWJlciwgbGluZV90ZXh0LiIiIgorKyAg ICAgICAgaWYgbGluZV9udW1iZXI6CisrICAgICAgICAgICAgbWVzc2FnZSArPSB1IiBhdCBsaW5l ICVkIiAlIGxpbmVfbnVtYmVyCisrICAgICAgICBpZiBsaW5lX3RleHQ6CisrICAgICAgICAgICAg bWVzc2FnZSArPSB1JzogIiVzIicgJSBsaW5lX3RleHQuc3RyaXAoKQorKyAgICAgICAgaWYgcmVh c29uOgorKyAgICAgICAgICAgIG1lc3NhZ2UgKz0gdSJcblJFQVNPTjogJXMiICUgcmVhc29uCisr ICAgICAgICByZXR1cm4gbWVzc2FnZQorKworKyAgICBkZWYgX19pbml0X18oc2VsZiwgbWVzc2Fn ZSwgbGluZSwgZmlsZW5hbWU9Tm9uZSwgbGluZV90ZXh0PU5vbmUsCisrICAgICAgICAgICAgICAg ICByZWFzb249Tm9uZSwgdXNlX2Fubm90YXRlZF9tZXNzYWdlPVRydWUpOgorKyAgICAgICAgaWYg dXNlX2Fubm90YXRlZF9tZXNzYWdlOgorKyAgICAgICAgICAgIG1lc3NhZ2UgPSBzZWxmLm1ha2Vf YW5ub3RhdGVkKG1lc3NhZ2UsIGxpbmUsIGxpbmVfdGV4dCwgcmVhc29uKQorKworICAgICAgICAg c3VwZXIoUGFyc2VyRXJyb3IsIHNlbGYpLl9faW5pdF9fKG1lc3NhZ2UpCistICAgICAgICBzZWxm LmxpbmUgPSBsaW5lCisrICAgICAgICBzZWxmLmxpbmUgPSBsaW5lICAgICMgTGluZSBudW1iZXIg b2YgcGFyc2UgZmFpbHVyZS4KKyAgICAgICAgIHNlbGYubGluZV90ZXh0ID0gbGluZV90ZXh0Cisg ICAgICAgICBzZWxmLmZpbGVuYW1lID0gZmlsZW5hbWUKKyAKK0BAIC0zODYsMTQgKzM5NywxMyBA QCBjbGFzcyBQYXJzZXIob2JqZWN0KToKKyAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgp CisgICAgICAgICAgICAgbXNnID0gdSJQYXJzZXIgaW4gdW5rbm93biBzdGF0ZSAlczsiICUgc2Vs Zi5zdGF0ZQorICAgICAgICAgICAgIHJhaXNlIFBhcnNlckVycm9yKG1zZywgc2VsZi5saW5lLCBz ZWxmLmZpbGVuYW1lLCBsaW5lKQorKworICAgICAgICAgaWYgbm90IGZ1bmMobGluZSk6CisgICAg ICAgICAgICAgbGluZSA9IGxpbmUuc3RyaXAoKQorLSAgICAgICAgICAgIG1zZyA9IHUnXG5QYXJz ZXIgZmFpbHVyZSBpbiBzdGF0ZSAlcywgYXQgbGluZSAlZDogIiVzIlxuJyAlIFwKKy0gICAgICAg ICAgICAgICAgICAoc2VsZi5zdGF0ZSwgc2VsZi5saW5lLCBsaW5lKQorKyAgICAgICAgICAgIG1z ZyA9IHUnXG5QYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZT0lcycgJSBzZWxmLnN0YXRlCisgICAgICAg ICAgICAgcmVhc29uID0gc2VsZi5hc2tfcGFyc2VfZmFpbHVyZV9vcmFjbGUobGluZSkKKy0gICAg ICAgICAgICBpZiByZWFzb246CistICAgICAgICAgICAgICAgIG1zZyArPSB1IlJFQVNPTjogJXMi ICUgcmVhc29uCistICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IobXNnLCBOb25lLCBzZWxm LmZpbGVuYW1lKQorKyAgICAgICAgICAgIHJhaXNlIFBhcnNlckVycm9yKG1zZywgc2VsZi5saW5l LCBzZWxmLmZpbGVuYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVfdGV4 dD1saW5lLCByZWFzb249cmVhc29uKQorIAorICAgICBkZWYgYWN0aW9uX2luaXQoc2VsZiwgbGlu ZSk6CisgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCitAQCAtNjQyLDcgKzY1Miw3IEBAIGNs YXNzIFBhcnNlcihvYmplY3QpOgorICAgICAgICAgICAgIHNlbGYudGFibGUgPSBtb2RlbC5UYWJs ZShjZWxscywgc2VsZi5saW5lKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBpZiBsZW4o Y2VsbHMpICE9IGxlbihzZWxmLnRhYmxlLmhlYWRpbmdzKToKKy0gICAgICAgICAgICAgICAgcmFp c2UgUGFyc2VyRXJyb3IodSJNYWxmb3JtZWQgdGFibGUiLCBzZWxmLmxpbmUpCisrICAgICAgICAg ICAgICAgIHJhaXNlIFBhcnNlckVycm9yKHUiTWFsZm9ybWVkIHRhYmxlIiwgc2VsZi5saW5lLCBz ZWxmLmZpbGVuYW1lKQorICAgICAgICAgICAgICAgICAjIE1BWUJFOiBzZWxmLmZpbGVuYW1lKQor ICAgICAgICAgICAgIHNlbGYudGFibGUuYWRkX3JvdyhjZWxscywgc2VsZi5saW5lKQorICAgICAg ICAgcmV0dXJuIFRydWUKK0BAIC03MDQsOCArNzE0LDggQEAgY2xhc3MgUGFyc2VyKG9iamVjdCk6 CisgICAgICAgICAgICAgICAgIGJyZWFrICAgIyAtLSBDT01NRU5UOiBTa2lwIHJlc3Qgb2YgbGlu ZS4KKyAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAjIC0tIEJBRC1UQUc6IEFi b3J0IGhlcmUuCistICAgICAgICAgICAgICAgIHJhaXNlIFBhcnNlckVycm9yKHUidGFnOiAlcyAo bGluZTogJXMpIiAlICh3b3JkLCBsaW5lKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5saW5lLCBzZWxmLmZpbGVuYW1lKQorKyAgICAgICAgICAgICAgICBtZXNzYWdl ID0gdSJ0YWc6ICVzIChsaW5lOiAlcykiICUgKHdvcmQsIGxpbmUpCisrICAgICAgICAgICAgICAg IHJhaXNlIFBhcnNlckVycm9yKG1lc3NhZ2UsIHNlbGYubGluZSwgc2VsZi5maWxlbmFtZSkKKyAg ICAgICAgIHJldHVybiB0YWdzCisgCisgICAgIGRlZiBwYXJzZV9zdGVwKHNlbGYsIGxpbmUpOgor QEAgLTcyMyw3ICs3MzMsOCBAQCBjbGFzcyBQYXJzZXIob2JqZWN0KToKKyAgICAgICAgICAgICAg ICAgc3RlcF90ZXh0X2FmdGVyX2tleXdvcmQgPSBsaW5lW2xlbihrdyk6XS5zdHJpcCgpCisgICAg ICAgICAgICAgICAgIGlmIHN0ZXBfdHlwZSBpbiAoImFuZCIsICJidXQiKToKKyAgICAgICAgICAg ICAgICAgICAgIGlmIG5vdCBzZWxmLmxhc3Rfc3RlcDoKKy0gICAgICAgICAgICAgICAgICAgICAg ICByYWlzZSBQYXJzZXJFcnJvcih1Ik5vIHByZXZpb3VzIHN0ZXAiLCBzZWxmLmxpbmUpCisrICAg ICAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFyc2VyRXJyb3IodSJObyBwcmV2aW91cyBzdGVw IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxpbmUs IHNlbGYuZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgICAgICBzdGVwX3R5cGUgPSBzZWxmLmxh c3Rfc3RlcAorICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5sYXN0X3N0ZXAgPSBzdGVwX3R5cGUKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9iYWNrZ3JvdW5k LmZlYXR1cmUgYi9mZWF0dXJlcy9iYWNrZ3JvdW5kLmZlYXR1cmUKK2luZGV4IGIyZjU4MzMuLjY1 YzQ4ODIgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9iYWNrZ3JvdW5kLmZlYXR1cmUKKysrKyBiL2Zl YXR1cmVzL2JhY2tncm91bmQuZmVhdHVyZQorQEAgLTM2Miw3ICszNjIsNyBAQCBGZWF0dXJlOiBC YWNrZ3JvdW5kCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtVCBmZWF0dXJlcy9i YWNrZ3JvdW5kX3NhZF9leGFtcGxlMS5mZWF0dXJlIgorICAgICBUaGVuIGl0IHNob3VsZCBmYWls IHdpdGg6CisgICAgICAgICAiIiIKKy0gICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlIHN0 ZXBzLCBhdCBsaW5lIDU6ICJCYWNrZ3JvdW5kOiBCMSIKKysgICAgICAgIFBhcnNlciBmYWlsdXJl IGluIHN0YXRlPXN0ZXBzIGF0IGxpbmUgNTogIkJhY2tncm91bmQ6IEIxIgorICAgICAgICAgUkVB U09OOiBCYWNrZ3JvdW5kIG1heSBub3Qgb2NjdXIgYWZ0ZXIgU2NlbmFyaW8vU2NlbmFyaW9PdXRs aW5lLgorICAgICAgICAgIiIiCisgCitAQCAtMzg3LDYgKzM4Nyw2IEBAIEZlYXR1cmU6IEJhY2tn cm91bmQKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBsYWluIC1UIGZlYXR1cmVzL2JhY2tn cm91bmRfc2FkX2V4YW1wbGUyLmZlYXR1cmUiCisgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0 aDoKKyAgICAgICAgICIiIgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgc3RlcHMs IGF0IGxpbmUgNTogIkJhY2tncm91bmQ6IEIyIChYRkFJTCkiCisrICAgICAgICBQYXJzZXIgZmFp bHVyZSBpbiBzdGF0ZT1zdGVwcyBhdCBsaW5lIDU6ICJCYWNrZ3JvdW5kOiBCMiAoWEZBSUwpIgor ICAgICAgICAgUkVBU09OOiBCYWNrZ3JvdW5kIHNob3VsZCBub3QgYmUgdXNlZCBoZXJlLgorICAg ICAgICAgIiIiCitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvcGFyc2VyLmJhY2tncm91bmQuc2FkX2Nh c2VzLmZlYXR1cmUgYi9mZWF0dXJlcy9wYXJzZXIuYmFja2dyb3VuZC5zYWRfY2FzZXMuZmVhdHVy ZQoraW5kZXggMzc5NTZhZC4uZWIyMzRhZSAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVzL3BhcnNlci5i YWNrZ3JvdW5kLnNhZF9jYXNlcy5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy9wYXJzZXIuYmFja2dy b3VuZC5zYWRfY2FzZXMuZmVhdHVyZQorQEAgLTM3LDcgKzM3LDcgQEAgRmVhdHVyZTogRW5zdXJl IHRoYXQgQkFEL1NBRCBVc2UgY2FzZXMgb2YgQmFja2dyb3VuZCBhcmUgZGV0ZWN0ZWQKKyAgICAg ICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGgKKyAgICAgICAgICIiIgorICAgICAgICAgRmFpbGVk IHRvIHBhcnNlICJ7X19XT1JLRElSX199L2ZlYXR1cmVzL3N5bmRyb21lLmJhY2tncm91bmRfd2l0 aF90YWdzLmZlYXR1cmUiOgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUgdGFnZ2Fi bGVfc3RhdGVtZW50LCBhdCBsaW5lIDQ6ICJCYWNrZ3JvdW5kOiBPb3BzLi4uIgorKyAgICAgICAg UGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9dGFnZ2FibGVfc3RhdGVtZW50IGF0IGxpbmUgNDogIkJh Y2tncm91bmQ6IE9vcHMuLi4iCisgICAgICAgICBSRUFTT046IEJhY2tncm91bmQgZG9lcyBub3Qg c3VwcG9ydCB0YWdzLgorICAgICAgICAgIiIiCisgCitAQCAtNTcsNyArNTcsNyBAQCBGZWF0dXJl OiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVzZSBjYXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBkZXRlY3Rl ZAorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aAorICAgICAgICAgIiIiCisgICAgICAg ICBGYWlsZWQgdG8gcGFyc2UgIntfX1dPUktESVJfX30vZmVhdHVyZXMvc3luZHJvbWUuYmFja2dy b3VuZF9hZnRlcl9zY2VuYXJpby5mZWF0dXJlIjoKKy0gICAgICAgIFBhcnNlciBmYWlsdXJlIGlu IHN0YXRlIHN0ZXBzLCBhdCBsaW5lIDY6ICJCYWNrZ3JvdW5kOiBPb3BzLCB0b28gbGF0ZSAoYWZ0 ZXIgU2NlbmFyaW8pIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9c3RlcHMgYXQg bGluZSA2OiAiQmFja2dyb3VuZDogT29wcywgdG9vIGxhdGUgKGFmdGVyIFNjZW5hcmlvKSIKKyAg ICAgICAgIFJFQVNPTjogQmFja2dyb3VuZCBtYXkgbm90IG9jY3VyIGFmdGVyIFNjZW5hcmlvL1Nj ZW5hcmlvT3V0bGluZS4KKyAgICAgICAgICIiIgorIAorQEAgLTc3LDcgKzc3LDcgQEAgRmVhdHVy ZTogRW5zdXJlIHRoYXQgQkFEL1NBRCBVc2UgY2FzZXMgb2YgQmFja2dyb3VuZCBhcmUgZGV0ZWN0 ZWQKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYgcGxhaW4gLVQgZmVhdHVyZXMvc3luZHJv bWUudGFnZ2VkX2JhY2tncm91bmRfYWZ0ZXJfc2NlbmFyaW8uZmVhdHVyZSIKKyAgICAgICBUaGVu IGl0IHNob3VsZCBmYWlsIHdpdGgKKyAgICAgICAgICIiIgorLSAgICAgICAgUGFyc2VyIGZhaWx1 cmUgaW4gc3RhdGUgdGFnZ2FibGVfc3RhdGVtZW50LCBhdCBsaW5lIDc6ICJCYWNrZ3JvdW5kOiBP b3BzLCB0b28gbGF0ZSAoYWZ0ZXIgU2NlbmFyaW8pIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUg aW4gc3RhdGU9dGFnZ2FibGVfc3RhdGVtZW50IGF0IGxpbmUgNzogIkJhY2tncm91bmQ6IE9vcHMs IHRvbyBsYXRlIChhZnRlciBTY2VuYXJpbykiCisgICAgICAgICBSRUFTT046IEJhY2tncm91bmQg bWF5IG5vdCBvY2N1ciBhZnRlciBTY2VuYXJpby9TY2VuYXJpb091dGxpbmUuCisgICAgICAgICAi IiIKKyAKK0BAIC0xMDAsNyArMTAwLDcgQEAgRmVhdHVyZTogRW5zdXJlIHRoYXQgQkFEL1NBRCBV c2UgY2FzZXMgb2YgQmFja2dyb3VuZCBhcmUgZGV0ZWN0ZWQKKyAgICAgICBXaGVuIEkgcnVuICJi ZWhhdmUgLWYgcGxhaW4gLVQgZmVhdHVyZXMvc3luZHJvbWUuYmFja2dyb3VuZF9hZnRlcl9zY2Vu YXJpb19vdXRsaW5lLmZlYXR1cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoCisg ICAgICAgICAiIiIKKy0gICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlIHN0ZXBzLCBhdCBs aW5lIDEwOiAiQmFja2dyb3VuZDogT29wcywgdG9vIGxhdGUgKGFmdGVyIFNjZW5hcmlvIE91dGxp bmUpIgorKyAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9c3RlcHMgYXQgbGluZSAxMDog IkJhY2tncm91bmQ6IE9vcHMsIHRvbyBsYXRlIChhZnRlciBTY2VuYXJpbyBPdXRsaW5lKSIKKyAg ICAgICAgIFJFQVNPTjogQmFja2dyb3VuZCBtYXkgbm90IG9jY3VyIGFmdGVyIFNjZW5hcmlvL1Nj ZW5hcmlvT3V0bGluZS4KKyAgICAgICAgICIiIgorIAorQEAgLTEyNCw2ICsxMjQsNiBAQCBGZWF0 dXJlOiBFbnN1cmUgdGhhdCBCQUQvU0FEIFVzZSBjYXNlcyBvZiBCYWNrZ3JvdW5kIGFyZSBkZXRl Y3RlZAorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtVCBmZWF0dXJlcy9zeW5k cm9tZS5iYWNrZ3JvdW5kX2FmdGVyX3NjZW5hcmlvX291dGxpbmUuZmVhdHVyZSIKKyAgICAgICBU aGVuIGl0IHNob3VsZCBmYWlsIHdpdGgKKyAgICAgICAgICIiIgorLSAgICAgICAgUGFyc2VyIGZh aWx1cmUgaW4gc3RhdGUgdGFnZ2FibGVfc3RhdGVtZW50LCBhdCBsaW5lIDExOiAiQmFja2dyb3Vu ZDogT29wcywgdG9vIGxhdGUgKGFmdGVyIFNjZW5hcmlvIE91dGxpbmUpIgorKyAgICAgICAgUGFy c2VyIGZhaWx1cmUgaW4gc3RhdGU9dGFnZ2FibGVfc3RhdGVtZW50IGF0IGxpbmUgMTE6ICJCYWNr Z3JvdW5kOiBPb3BzLCB0b28gbGF0ZSAoYWZ0ZXIgU2NlbmFyaW8gT3V0bGluZSkiCisgICAgICAg ICBSRUFTT046IEJhY2tncm91bmQgbWF5IG5vdCBvY2N1ciBhZnRlciBTY2VuYXJpby9TY2VuYXJp b091dGxpbmUuCisgICAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9wYXJzZXIuZmVh dHVyZS5zYWRfY2FzZXMuZmVhdHVyZSBiL2ZlYXR1cmVzL3BhcnNlci5mZWF0dXJlLnNhZF9jYXNl cy5mZWF0dXJlCitpbmRleCBkODlkOWI3Li4wZTEyZDlmIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMv cGFyc2VyLmZlYXR1cmUuc2FkX2Nhc2VzLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL3BhcnNlci5m ZWF0dXJlLnNhZF9jYXNlcy5mZWF0dXJlCitAQCAtODQsNyArODQsNyBAQCBGZWF0dXJlOiBQYXJz aW5nIGEgRmVhdHVyZSBGaWxlIHdpdGhvdXQgYSBGZWF0dXJlIG9yIHdpdGggc2V2ZXJhbCBGZWF0 dXJlcworICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorICAg ICAgICAgRmFpbGVkIHRvIHBhcnNlICJ7X19XT1JLRElSX199L2ZlYXR1cmVzL29ubHlfdGV4dC5m ZWF0dXJlIjoKKy0gICAgICAgIFBhcnNlciBmYWlsdXJlIGluIHN0YXRlIGluaXQsIGF0IGxpbmUg MTogIlRoaXMgRmlsZTogQ29udGFpbnMgb25seSB0ZXh0IHdpdGhvdXQga2V5d29yZHMuIgorKyAg ICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9aW5pdCBhdCBsaW5lIDE6ICJUaGlzIEZpbGU6 IENvbnRhaW5zIG9ubHkgdGV4dCB3aXRob3V0IGtleXdvcmRzLiIKKyAgICAgICAgIFJFQVNPTjog Tm8gZmVhdHVyZSBmb3VuZC4KKyAgICAgICAgICIiIgorIAorQEAgLTEwMyw3ICsxMDMsNyBAQCBG ZWF0dXJlOiBQYXJzaW5nIGEgRmVhdHVyZSBGaWxlIHdpdGhvdXQgYSBGZWF0dXJlIG9yIHdpdGgg c2V2ZXJhbCBGZWF0dXJlcworICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAg ICAgICIiIgorICAgICAgICAgRmFpbGVkIHRvIHBhcnNlICJ7X19XT1JLRElSX199L2ZlYXR1cmVz L25ha2VkX3NjZW5hcmlvX29ubHkuZmVhdHVyZSI6CistICAgICAgICBQYXJzZXIgZmFpbHVyZSBp biBzdGF0ZSBpbml0LCBhdCBsaW5lIDE6ICJTY2VuYXJpbzoiCisrICAgICAgICBQYXJzZXIgZmFp bHVyZSBpbiBzdGF0ZT1pbml0IGF0IGxpbmUgMTogIlNjZW5hcmlvOiIKKyAgICAgICAgIFJFQVNP TjogU2NlbmFyaW8gbWF5IG5vdCBvY2N1ciBiZWZvcmUgRmVhdHVyZS4KKyAgICAgICAgICIiIgor IAorQEAgLTEzOSw2ICsxMzksNiBAQCBGZWF0dXJlOiBQYXJzaW5nIGEgRmVhdHVyZSBGaWxlIHdp dGhvdXQgYSBGZWF0dXJlIG9yIHdpdGggc2V2ZXJhbCBGZWF0dXJlcworICAgICAgICAgICBUaGVu IGl0IHNob3VsZCBmYWlsIHdpdGg6CisgICAgICAgICAgICAgIiIiCisgICAgICAgICAgICAgRmFp bGVkIHRvIHBhcnNlICJ7X19XT1JLRElSX199L2ZlYXR1cmVzL3R3b19mZWF0dXJlcy5mZWF0dXJl IjoKKy0gICAgICAgICAgICBQYXJzZXIgZmFpbHVyZSBpbiBzdGF0ZSBzdGVwcywgYXQgbGluZSA3 OiAiRmVhdHVyZTogRjIiCisrICAgICAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGU9c3Rl cHMgYXQgbGluZSA3OiAiRmVhdHVyZTogRjIiCisgICAgICAgICAgICAgUkVBU09OOiBNdWx0aXBs ZSBmZWF0dXJlcyBpbiBvbmUgZmlsZSBhcmUgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICAgICAi IiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAxNDguZmVhdHVyZSBiL2lzc3Vl LmZlYXR1cmVzL2lzc3VlMDE0OC5mZWF0dXJlCitpbmRleCA0Mzg3Nzk1Li42NjdkMTk2IDEwMDY0 NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMTQ4LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZl YXR1cmVzL2lzc3VlMDE0OC5mZWF0dXJlCitAQCAtNjcsNyArNjcsNyBAQCBGZWF0dXJlOiBJc3N1 ZSAjMTQ4OiBTdWJzdGVwcyBkbyBub3QgZmFpbAorICAgICBBbmQgdGhlIGNvbW1hbmQgb3V0cHV0 IHNob3VsZCBjb250YWluOgorICAgICAgICAgIiIiCisgICAgICAgICBQYXJzZXJFcnJvcjogRmFp bGVkIHRvIHBhcnNlIDxzdHJpbmc+OgorLSAgICAgICAgUGFyc2VyIGZhaWx1cmUgaW4gc3RhdGUg c3RlcHMsIGF0IGxpbmUgMjogIkkgZG8gc29tZXRoaW5nIHN0dXBpZCIKKysgICAgICAgIFBhcnNl ciBmYWlsdXJlIGluIHN0YXRlPXN0ZXBzIGF0IGxpbmUgMjogIkkgZG8gc29tZXRoaW5nIHN0dXBp ZCIKKyAgICAgICAgICIiIgorIAorIApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3OC1DbGFyaWZ5LXNlbGVjdC1ieS1uYW1l LXVzZXMtcmVnZXgtcGF0dGVybi1yZWxhdGVkLXRvLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBl cy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3OC1DbGFyaWZ5LXNlbGVjdC1ieS1u YW1lLXVzZXMtcmVnZXgtcGF0dGVybi1yZWxhdGVkLXRvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uNjBlOWU5MzA5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA3OC1DbGFyaWZ5 LXNlbGVjdC1ieS1uYW1lLXVzZXMtcmVnZXgtcGF0dGVybi1yZWxhdGVkLXRvLnBhdGNoCkBAIC0w LDAgKzEsODIgQEAKK0Zyb20gMjMwYjViZjgxODRiZWIwMmEzZmEyNjc4ZGVmN2YxMWFjZjkxNmUz NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMu bm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU3VuLCA5IEZlYiAyMDIwIDIwOjMwOjUzICswMTAw CitTdWJqZWN0OiBbUEFUQ0hdIENsYXJpZnkgc2VsZWN0LWJ5LW5hbWUgdXNlcyByZWdleCBwYXR0 ZXJuIChyZWxhdGVkIHRvOiBpc3N1ZQorICM4MTApCisKK0NsYXJpZml5IHNlbGVjdC1ieS1uYW1l IHVzZXMgcmVnZXggcGF0dGVybjoKKworKiBBZGFwdCBjb21tYW5kLWxpbmUgb3B0aW9uIC0tbmFt ZSBoZWxwIHRleHQKKyogVXBkYXRlIGNvbW1hbmQtbGluZSBhcmdzIGRvY3MgZm9yIGJlaGF2ZQor LS0tCisgQ0hBTkdFUy5yc3QgICAgICAgICAgICAgfCAgNCArKysrCisgYmVoYXZlL2NvbmZpZ3Vy YXRpb24ucHkgfCAxMCArKysrKy0tLS0tCisgZG9jcy9iZWhhdmUucnN0ICAgICAgICAgfCAxMiAr KysrKystLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDExIGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ0hBTkdFUy5yc3QgYi9DSEFOR0VTLnJzdAoraW5kZXgg NTY1MzQ5Mi4uZDBiZjZmZCAxMDA2NDQKKy0tLSBhL0NIQU5HRVMucnN0CisrKysgYi9DSEFOR0VT LnJzdAorQEAgLTMxLDYgKzMxLDEwIEBAIEVOSEFOQ0VNRU5UUzoKKyAqIGlzc3VlICM2Nzg6IFNj ZW5hcmlvIE91dGxpbmU6IFN1cHBvcnQgdGFncyB3aXRoIGNvbW1hcyBhbmQgc2VtaWNvbG9ucyAo cHJvdmlkZWQgYnk6IGxhd25tb3dlcmxhdHRlLCBwdWxsICM2NzkpCisgKiBpc3N1ZSAjNjc1OiBG ZWF0dXJlIGZpbGVzIGNhbm5vdCBiZSBmb3VuZCB3aXRoaW4gc3ltbGluayBkaXJlY3RvcmllcyAo cHJvdmlkZWQgYnk6IHNtYWRuZXNzLCBwdWxsICM2ODApCisgCisrQ0xBUklGSUNBVElPTjoKKysK KysqIGlzc3VlICM4MTA6IENsYXJpZnkgc2VsZWN0LWJ5LW5hbWUgdXNpbmcgcmVnZXggcGF0dGVy biAoc3VibWl0dGVkIGJ5OiB4di1jaHJpcy13KQorKworIEZJWEVEOgorIAorICogaXNzdWUgIzc3 MjogU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzIHdpdGhvdXQgdGFibGUgKHN1Ym1pdHRlZCBieTog VGhlLVFBLUdlZWspCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhh dmUvY29uZmlndXJhdGlvbi5weQoraW5kZXggYmQ4YjAzOS4uNjVlMmUzZSAxMDA2NDQKKy0tLSBh L2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CisrKysgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQor QEAgLTE2NCwxMSArMTY0LDExIEBAIG9wdGlvbnMgPSBbCisgICAgICAgICAgICAgICAgICAgb3Zl cnJpZGUgYSBjb25maWd1cmF0aW9uIGZpbGUgc2V0dGluZy4iIiIpKSwKKyAKKyAgICAgKCgiLW4i LCAiLS1uYW1lIiksCistICAgICBkaWN0KGFjdGlvbj0iYXBwZW5kIiwKKy0gICAgICAgICAgaGVs cD0iIiJPbmx5IGV4ZWN1dGUgdGhlIGZlYXR1cmUgZWxlbWVudHMgd2hpY2ggbWF0Y2ggcGFydAor LSAgICAgICAgICAgICAgICAgIG9mIHRoZSBnaXZlbiBuYW1lLiBJZiB0aGlzIG9wdGlvbiBpcyBn aXZlbiBtb3JlCistICAgICAgICAgICAgICAgICAgdGhhbiBvbmNlLCBpdCB3aWxsIG1hdGNoIGFn YWluc3QgYWxsIHRoZSBnaXZlbgorLSAgICAgICAgICAgICAgICAgIG5hbWVzLiIiIikpLAorKyAg ICAgZGljdChhY3Rpb249ImFwcGVuZCIsIG1ldGF2YXI9Ik5BTUVfUEFUVEVSTiIsCisrICAgICAg ICAgIGhlbHA9IiIiU2VsZWN0IGZlYXR1cmUgZWxlbWVudHMgKHNjZW5hcmlvcywgLi4uKSB0byBy dW4KKysgICAgICAgICAgICAgICAgICB3aGljaCBtYXRjaCBwYXJ0IG9mIHRoZSBnaXZlbiBuYW1l IChyZWdleCBwYXR0ZXJuKS4KKysgICAgICAgICAgICAgICAgICBJZiB0aGlzIG9wdGlvbiBpcyBn aXZlbiBtb3JlIHRoYW4gb25jZSwKKysgICAgICAgICAgICAgICAgICBpdCB3aWxsIG1hdGNoIGFn YWluc3QgYWxsIHRoZSBnaXZlbiBuYW1lcy4iIiIpKSwKKyAKKyAgICAgKCgiLS1uby1jYXB0dXJl IiwpLAorICAgICAgZGljdChhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0ic3Rkb3V0X2NhcHR1 cmUiLAorZGlmZiAtLWdpdCBhL2RvY3MvYmVoYXZlLnJzdCBiL2RvY3MvYmVoYXZlLnJzdAoraW5k ZXggZGZiMzkwYS4uMjVjZTUyMyAxMDA2NDQKKy0tLSBhL2RvY3MvYmVoYXZlLnJzdAorKysrIGIv ZG9jcy9iZWhhdmUucnN0CitAQCAtOTUsOSArOTUsOSBAQCBZb3UgbWF5IHNlZSB0aGUgc2FtZSBp bmZvcm1hdGlvbiBwcmVzZW50ZWQgYmVsb3cgYXQgYW55IHRpbWUgdXNpbmcgYGBiZWhhdmUKKyAK KyAuLiBvcHRpb246OiAtbiwgLS1uYW1lCisgCistICAgIE9ubHkgZXhlY3V0ZSB0aGUgZmVhdHVy ZSBlbGVtZW50cyB3aGljaCBtYXRjaCBwYXJ0IG9mIHRoZSBnaXZlbiBuYW1lLgorLSAgICBJZiB0 aGlzIG9wdGlvbiBpcyBnaXZlbiBtb3JlIHRoYW4gb25jZSwgaXQgd2lsbCBtYXRjaCBhZ2FpbnN0 IGFsbAorLSAgICB0aGUgZ2l2ZW4gbmFtZXMuCisrICAgIFNlbGVjdCBmZWF0dXJlIGVsZW1lbnRz IChzY2VuYXJpb3MsIC4uLikgdG8gcnVuIHdoaWNoIG1hdGNoIHBhcnQgb2YKKysgICAgdGhlIGdp dmVuIG5hbWUgKHJlZ2V4IHBhdHRlcm4pLiBJZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiBtb3JlIHRo YW4KKysgICAgb25jZSwgaXQgd2lsbCBtYXRjaCBhZ2FpbnN0IGFsbCB0aGUgZ2l2ZW4gbmFtZXMu CisgCisgLi4gb3B0aW9uOjogLS1uby1jYXB0dXJlCisgCitAQCAtNDQ5LDkgKzQ0OSw5IEBAIENv bmZpZ3VyYXRpb24gUGFyYW1ldGVycworIAorIC4uIGRlc2NyaWJlOjogbmFtZSA6IHNlcXVlbmNl PHRleHQ+CisgCistICAgIE9ubHkgZXhlY3V0ZSB0aGUgZmVhdHVyZSBlbGVtZW50cyB3aGljaCBt YXRjaCBwYXJ0IG9mIHRoZSBnaXZlbiBuYW1lLgorLSAgICBJZiB0aGlzIG9wdGlvbiBpcyBnaXZl biBtb3JlIHRoYW4gb25jZSwgaXQgd2lsbCBtYXRjaCBhZ2FpbnN0IGFsbAorLSAgICB0aGUgZ2l2 ZW4gbmFtZXMuCisrICAgIFNlbGVjdCBmZWF0dXJlIGVsZW1lbnRzIChzY2VuYXJpb3MsIC4uLikg dG8gcnVuIHdoaWNoIG1hdGNoIHBhcnQgb2YKKysgICAgdGhlIGdpdmVuIG5hbWUgKHJlZ2V4IHBh dHRlcm4pLiBJZiB0aGlzIG9wdGlvbiBpcyBnaXZlbiBtb3JlIHRoYW4KKysgICAgb25jZSwgaXQg d2lsbCBtYXRjaCBhZ2FpbnN0IGFsbCB0aGUgZ2l2ZW4gbmFtZXMuCisgCisgLi4gaW5kZXg6Ogor ICAgICBzaW5nbGU6IGNvbmZpZ3VyYXRpb24gcGFyYW07IHN0ZG91dF9jYXB0dXJlCmRpZmYgLS1n aXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDc5LUZJWC1Dcm9zcy1yZWZlcmVuY2UtcHJvYmxlbS1jb3B5LXBhc3RlLWluLVJ1bGUtY2xhc3Mu cGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMDc5LUZJWC1Dcm9zcy1yZWZlcmVuY2UtcHJvYmxlbS1jb3B5LXBhc3RlLWluLVJ1bGUtY2xh c3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iZDU1Y2E1ZjIK LS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9w eXRob24zLWJlaGF2ZS8wMDc5LUZJWC1Dcm9zcy1yZWZlcmVuY2UtcHJvYmxlbS1jb3B5LXBhc3Rl LWluLVJ1bGUtY2xhc3MucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSBlNTU1NjlkMGEzZmQx YWE2NTNmZDcwMjcwNWUwOTM1OWJkZDkwNjg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24s IDEzIEFwciAyMDIwIDEwOjMxOjU0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogQ3Jvc3Mt cmVmZXJlbmNlIHByb2JsZW0gKGNvcHkrcGFzdGUpIGluIFJ1bGUgY2xhc3MKKyBkb2NzdHJpbmcu CisKKy0tLQorIGJlaGF2ZS9tb2RlbC5weSB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9tb2Rl bC5weSBiL2JlaGF2ZS9tb2RlbC5weQoraW5kZXggZjQ2ZDJjMi4uY2I2OWY5ZSAxMDA2NDQKKy0t LSBhL2JlaGF2ZS9tb2RlbC5weQorKysrIGIvYmVoYXZlL21vZGVsLnB5CitAQCAtODQsOCArODQs OCBAQCBjbGFzcyBTY2VuYXJpb0NvbnRhaW5lcihUYWdBbmRTdGF0dXNTdGF0ZW1lbnQsIFJlcGxh eWFibGUpOgorIAorICAgICAuLiBhdHRyaWJ1dGU6OiBrZXl3b3JkCisgCistICAgICAgIFRoaXMg aXMgdGhlIGtleXdvcmQgYXMgc2VlbiBpbiB0aGUgKmZlYXR1cmUgZmlsZSouIEluIEVuZ2xpc2gg dGhpcyB3aWxsCistICAgICAgIGJlICJGZWF0dXJlIiBvciAiUnVsZSIuCisrICAgICAgIFRoaXMg aXMgdGhlIGtleXdvcmQgYXMgc2VlbiBpbiB0aGUgKmZlYXR1cmUgZmlsZSouCisrICAgICAgIElu IEVuZ2xpc2ggdGhpcyB3aWxsIGJlICJGZWF0dXJlIiBvciAiUnVsZSIuCisgCisgICAgIC4uIGF0 dHJpYnV0ZTo6IG5hbWUKKyAKK0BAIC02NzEsNyArNjcxLDcgQEAgY2xhc3MgUnVsZShTY2VuYXJp b0NvbnRhaW5lcik6CisgCisgCisgICAgIC4uIHZlcnNpb25hZGRlZDo6IDEuMi43CistICAgIC4u IF9gZmVhdHVyZWA6IGdoZXJraW4uaHRtbCNydWxlCisrICAgIC4uIF9gcnVsZWA6IGdoZXJraW4u aHRtbCNydWxlCisgICAgICIiIgorICAgICB0eXBlID0gInJ1bGUiCisgCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDgwLURP Q1MtVXBkYXRlLUFQSS1kZXNjcmlwdGlvbi1mb3ItUnVubmVyLU9wZXJhdGlvbi5wYXRjaCBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODAtRE9D Uy1VcGRhdGUtQVBJLWRlc2NyaXB0aW9uLWZvci1SdW5uZXItT3BlcmF0aW9uLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZGE3YjJiZTYzCi0tLSAvZGV2L251bGwK KysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA4MC1ET0NTLVVwZGF0ZS1BUEktZGVzY3JpcHRpb24tZm9yLVJ1bm5lci1PcGVyYXRpb24ucGF0 Y2gKQEAgLTAsMCArMSwxOTUgQEAKK0Zyb20gN2I1ZjZmMjdhMjgxNzE0YzZmZWY4ZTYwOTQxNmI3 ZjQwNWU4YjFiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlz eXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAxMyBBcHIgMjAyMCAxMDoz Mzo0NCArMDIwMAorU3ViamVjdDogW1BBVENIXSBET0NTOiBVcGRhdGUgQVBJIGRlc2NyaXB0aW9u IGZvciAiUnVubmVyIE9wZXJhdGlvbiIuCisKKyogUHJvdmlkZSBkZXNjcmlwdGlvbiBHaGVya2lu IGdyYW1tYXIgY29udGFpbm1lbnRzCisqIEFkZCBkZXNjcmlwdGlvbiBmb3IgUnVsZShzKS4KKy0t LQorIGRvY3MvYXBpLnJzdCB8IDEzNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOTYgaW5zZXJ0aW9ucygrKSwgNDEg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2FwaS5yc3QgYi9kb2NzL2FwaS5yc3QK K2luZGV4IDVlNGI3YjQuLjM5ZmE3NTUgMTAwNjQ0CistLS0gYS9kb2NzL2FwaS5yc3QKKysrKyBi L2RvY3MvYXBpLnJzdAorQEAgLTE5NiwyNCArMTk2LDM0IEBAIEVudmlyb25tZW50IEZpbGUgRnVu Y3Rpb25zCisgVGhlIGVudmlyb25tZW50LnB5IG1vZHVsZSBtYXkgZGVmaW5lIGNvZGUgdG8gcnVu IGJlZm9yZSBhbmQgYWZ0ZXIgY2VydGFpbgorIGV2ZW50cyBkdXJpbmcgeW91ciB0ZXN0aW5nOgor IAorLSoqYmVmb3JlX3N0ZXAoY29udGV4dCwgc3RlcCksIGFmdGVyX3N0ZXAoY29udGV4dCwgc3Rl cCkqKgorLSAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgZXZlcnkgc3RlcC4gVGhlIHN0ZXAg cGFzc2VkIGluIGlzIGFuIGluc3RhbmNlCistICBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuU3Rl cGAuCisrKipiZWZvcmVfYWxsKGNvbnRleHQpLCBhZnRlcl9hbGwoY29udGV4dCkqKgorKyAgVGhl c2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIHdob2xlIHNob290aW5nIG1hdGNoLgorKworKyoq YmVmb3JlX2ZlYXR1cmUoY29udGV4dCwgZmVhdHVyZSksIGFmdGVyX2ZlYXR1cmUoY29udGV4dCwg ZmVhdHVyZSkqKgorKyAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCBmZWF0dXJlIGlz IGV4ZWN1dGVkLgorKyAgVGhlIGZlYXR1cmUgb2JqZWN0LCB0aGF0IGlzIHBhc3NlZCBpbiwgaXMg YW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB+YmVoYXZlLm1vZGVsLkZlYXR1cmVgLgorKworKyoqYmVm b3JlX3J1bGUoY29udGV4dCwgcnVsZSksIGFmdGVyX3J1bGUoY29udGV4dCwgcnVsZSkqKgorKyAg VGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCBydWxlIGlzIGV4ZWN1cmVkLgorKyAgVGhl IHJ1bGUgb2JqZWN0LCB0aGF0IGlzIHBhc3NlZCBpbiwgaXMgYW4gaW5zdGFuY2Ugb2YgOmNsYXNz OmB+YmVoYXZlLm1vZGVsLlJ1bGVgLgorIAorICoqYmVmb3JlX3NjZW5hcmlvKGNvbnRleHQsIHNj ZW5hcmlvKSwgYWZ0ZXJfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFyaW8pKioKKy0gIFRoZXNlIHJ1 biBiZWZvcmUgYW5kIGFmdGVyIGVhY2ggc2NlbmFyaW8gaXMgcnVuLiBUaGUgc2NlbmFyaW8gcGFz c2VkIGluIGlzIGFuCistICBpbnN0YW5jZSBvZiA6Y2xhc3M6YH5iZWhhdmUubW9kZWwuU2NlbmFy aW9gLgorKyAgVGhlc2UgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCBzY2VuYXJpbyBpcyBydW4u CisrICBUaGUgc2NlbmFyaW8gb2JqZWN0LCB0aGF0IGlzIHBhc3NlZCBpbiwgaXMgYW4gaW5zdGFu Y2Ugb2YgOmNsYXNzOmB+YmVoYXZlLm1vZGVsLlNjZW5hcmlvYC4KKyAKKy0qKmJlZm9yZV9mZWF0 dXJlKGNvbnRleHQsIGZlYXR1cmUpLCBhZnRlcl9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpKioK Ky0gIFRoZXNlIHJ1biBiZWZvcmUgYW5kIGFmdGVyIGVhY2ggZmVhdHVyZSBmaWxlIGlzIGV4ZXJj aXNlZC4gVGhlIGZlYXR1cmUKKy0gIHBhc3NlZCBpbiBpcyBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6 YH5iZWhhdmUubW9kZWwuRmVhdHVyZWAuCisrKipiZWZvcmVfc3RlcChjb250ZXh0LCBzdGVwKSwg YWZ0ZXJfc3RlcChjb250ZXh0LCBzdGVwKSoqCisrICBUaGVzZSBydW4gYmVmb3JlIGFuZCBhZnRl ciBldmVyeSBzdGVwLgorKyAgVGhlIHN0ZXAgb2JqZWN0LCB0aGF0IGlzIHBhc3NlZCBpbiwgaXMg YW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB+YmVoYXZlLm1vZGVsLlN0ZXBgLgorIAorICoqYmVmb3Jl X3RhZyhjb250ZXh0LCB0YWcpLCBhZnRlcl90YWcoY29udGV4dCwgdGFnKSoqCisgICBUaGVzZSBy dW4gYmVmb3JlIGFuZCBhZnRlciBhIHNlY3Rpb24gdGFnZ2VkIHdpdGggdGhlIGdpdmVuIG5hbWUu IFRoZXkgYXJlCisgICBpbnZva2VkIGZvciBlYWNoIHRhZyBlbmNvdW50ZXJlZCBpbiB0aGUgb3Jk ZXIgdGhleSdyZSBmb3VuZCBpbiB0aGUKKy0gIGZlYXR1cmUgZmlsZS4gU2VlICA6cmVmOmBjb250 cm9sbGluZyB0aGluZ3Mgd2l0aCB0YWdzYC4gVGhlIHRhZyBwYXNzZWQgaW4gaXMKKy0gIGFuIGlu c3RhbmNlIG9mIDpjbGFzczpgfmJlaGF2ZS5tb2RlbC5UYWdgIGFuZCBiZWNhdXNlIGl0J3MgYSBz dWJjbGFzcyBvZgorLSAgc3RyaW5nIHlvdSBjYW4gZG8gc2ltcGxlIHRlc3RzIGxpa2U6CisrICBm ZWF0dXJlIGZpbGUuIFNlZSAgOnJlZjpgY29udHJvbGxpbmcgdGhpbmdzIHdpdGggdGFnc2AuCisr CisrICBUYWdnYWJsZSBzdGF0ZW1lbnRzIGFyZTogRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW8sIFNj ZW5hcmlvT3V0bGluZSwgRXhhbXBsZXMuCisrCisrICBUaGUgdGFnLCB0aGF0IGlzIHBhc3NlZCBp biwgaXMgYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmB+YmVoYXZlLm1vZGVsLlRhZ2AgYW5kCisrICBi ZWNhdXNlIGl0J3MgYSBzdWJjbGFzcyBvZiBzdHJpbmcgeW91IGNhbiBkbyBzaW1wbGUgdGVzdHMg bGlrZToKKyAKKyAgIC4uIGNvZGUtYmxvY2s6OiBweXRob24KKyAKK0BAIC0yMjcsOCArMjM3LDYg QEAgZXZlbnRzIGR1cmluZyB5b3VyIHRlc3Rpbmc6CisgICAgICAgICAgICAgICBlbHNlOgorICAg ICAgICAgICAgICAgICAgIGNvbnRleHQuYnJvd3NlciA9IHdlYmRyaXZlci5QbGFpblZhbmlsbGEo KQorIAorLSoqYmVmb3JlX2FsbChjb250ZXh0KSwgYWZ0ZXJfYWxsKGNvbnRleHQpKioKKy0gIFRo ZXNlIHJ1biBiZWZvcmUgYW5kIGFmdGVyIHRoZSB3aG9sZSBzaG9vdGluZyBtYXRjaC4KKyAKKyAK KyBTb21lIFVzZWZ1bCBFbnZpcm9ubWVudCBJZGVhcworQEAgLTMxMSw0MiArMzE5LDg3IEBAIFVz ZSBGaXh0dXJlcworIFJ1bm5lciBPcGVyYXRpb24KKyA9PT09PT09PT09PT09PT09CisgCistR2l2 ZW4gYWxsIHRoZSBjb2RlIHRoYXQgY291bGQgYmUgcnVuIGJ5ICpiZWhhdmUqLCB0aGlzIGlzIHRo ZSBvcmRlciBpbgorLXdoaWNoIHRoYXQgY29kZSBpcyBpbnZva2VkIChpZiB0aGV5IGV4aXN0LikK KytUaGUgZXhlY3V0aW9uIG9mIGNvZGUgaXMgYmFzZWQgb24gdGhlIEdoZXJraW4gZGVzY3JpcHRp b24gaW4gYCouZmVhdHVyZWAgZmlsZXMuCisrVGhlIGZvbGxvd2luZyBzZWN0aW9uIHByb3ZpZGVz IGEgc2hvcnQgb3ZlcnZpZXcgb2YgdGhlIGhpZXJhcmNoaWNhbCBjb250YWlubWVudAorK3RoYXQg aXMgcG9zc2libGUgaW4gdGhlIEdoZXJraW4gZ3JhbW1lcjoKKyAKKyAuLiBwYXJzZWQtbGl0ZXJh bDo6CisgCistICAgIGJlZm9yZV9hbGwKKy0gICAgZm9yIGZlYXR1cmUgaW4gYWxsX2ZlYXR1cmVz OgorLSAgICAgICAgYmVmb3JlX2ZlYXR1cmUKKy0gICAgICAgIGZvciBzY2VuYXJpbyBpbiBmZWF0 dXJlLnNjZW5hcmlvczoKKy0gICAgICAgICAgICBiZWZvcmVfc2NlbmFyaW8KKy0gICAgICAgICAg ICBmb3Igc3RlcCBpbiBzY2VuYXJpby5zdGVwczoKKy0gICAgICAgICAgICAgICAgYmVmb3JlX3N0 ZXAKKy0gICAgICAgICAgICAgICAgICAgIHN0ZXAucnVuKCkKKy0gICAgICAgICAgICAgICAgYWZ0 ZXJfc3RlcAorLSAgICAgICAgICAgIGFmdGVyX3NjZW5hcmlvCistICAgICAgICBhZnRlcl9mZWF0 dXJlCistICAgIGFmdGVyX2FsbAorKyAgICAjIC0tIFNJTVBMSUZJRUQgR0hFUktJTiBHUkFNTUFS IChmb3IgR2hlcmtpbiB2Nik6CisrICAgICMgQ0FSRElOQUxJVFkgREVDT1JBVE9SOiAnKicgbWVh bnMgMC4uTiAobWFueSksICc/JyBtZWFucyAwLi4xIChvcHRpb25hbCkKKysgICAgIyBFWEFNUExF OiBGZWF0dXJlCisrICAgICMgICBBIEZlYXR1cmUgY2FuIGhhdmUgbWFueSBUYWdzIChhcyBUYWdn YWJsZVN0YXRlbWVudDogemVybyBvciBtb3JlIHRhZ3MgYmVmb3JlIGl0cyBrZXl3b3JkKS4KKysg ICAgIyAgIEEgRmVhdHVyZSBjYW4gaGF2ZSBhbiBvcHRpb25hbCBCYWNrZ3JvdW5kLgorKyAgICAj ICAgQSBGZWF0dXJlIGNhbiBoYXZlIG1hbnkgU2NlbmFyaW8ocyksIG1lYW5pbmcgemVybyBvciBt b3JlIFNjZW5hcmlvcy4KKysgICAgIyAgIEEgRmVhdHVyZSBjYW4gaGF2ZSBtYW55IFNjZW5hcmlv T3V0bGluZShzKS4KKysgICAgIyAgIEEgRmVhdHVyZSBjYW4gaGF2ZSBtYW55IFJ1bGUocykuCisr ICAgIEZlYXR1cmUoVGFnZ2FibGVTdGF0ZW1lbnQpOgorKyAgICAgICAgQmFja2dyb3VuZD8KKysg ICAgICAgIFNjZW5hcmlvKgorKyAgICAgICAgU2NlbmFyaW9PdXRsaW5lKgorKyAgICAgICAgUnVs ZSoKKysKKysgICAgQmFja2dyb3VuZDoKKysgICAgICAgIFN0ZXAqICAgICAgICAgICAjIEJhY2tn cm91bmQgc3RlcHMgYXJlIGluamVjdGVkIGludG8gYW55IFNjZW5hcmlvIG9mIGl0cyBzY29wZS4K KysKKysgICAgU2NlbmFyaW8oVGFnZ2FibGVTdGF0ZW1lbnQpOgorKyAgICAgICAgU3RlcCoKKyAK Ky1JZiB0aGUgZmVhdHVyZSBjb250YWlucyBzY2VuYXJpbyBvdXRsaW5lcyB0aGVuIHRoZXJlIGlz IGFuIGFkZGl0aW9uYWwgbG9vcAorLW92ZXIgYWxsIHRoZSBzY2VuYXJpb3MgaW4gdGhlIG91dGxp bmUgbWFraW5nIHRoZSBydW5uaW5nIGxvb2sgbGlrZSB0aGlzOgorKyAgICBTY2VuYXJpb091dGxp bmUoU2NlbmFyaW9UZW1wbGF0ZVdpdGhQbGFjZWhvbGRlcnMpOgorKyAgICAgICAgU2NlbmFyaW8q ICAgICAgICMgUmVuZGVyZWQgVGVtcGxhdGUgYnkgdXNpbmcgU2NlbmFyaW9PdXRsaW5lLkV4YW1w bGVzLnJvd3MgcGxhY2Vob2xkZXIgdmFsdWVzLgorKworKyAgICBSdWxlKFRhZ2dhYmxlU3RhdGVt ZW50KToKKysgICAgICAgIEJhY2tncm91bmQ/ICAgICAjIEJlaGF2ZS1zcGVjaWZpYyBleHRlbnNp b24gKGFmdGVyIHJlbW92YWwgZnJvbSBmaW5hbCBHaGVya2luIHY2KS4KKysgICAgICAgIFNjZW5h cmlvKgorKyAgICAgICAgU2NlbmFyaW9PdXRsaW5lKgorKworKworK0dpdmVuIGFsbCB0aGUgY29k ZSB0aGF0IGNvdWxkIGJlIHJ1biBieSAqYmVoYXZlKiwKKyt0aGlzIGlzIHRoZSBvcmRlciBpbiB3 aGljaCB0aGF0IGNvZGUgaXMgaW52b2tlZCAoaWYgdGhleSBleGlzdC4pCisgCisgLi4gcGFyc2Vk LWxpdGVyYWw6OgorIAorLSAgICBiZWZvcmVfYWxsCisrICAgICMgLS0gUFNFVURPLUNPREU6Cisr ICAgICMgSE9PSzogYmVmb3JlX3RhZygpLCBhZnRlcl90YWcoKSBpcyBjYWxsZWQgZm9yIEZlYXR1 cmUsIFJ1bGUsIFNjZW5hcmlvCisrICAgIGN0eCA9IGNyZWF0ZUNvbnRleHQoKQorKyAgICBjYWxs LW9wdGlvbmFsLWhvb2sgYmVmb3JlX2FsbChjdHgpCisgICAgIGZvciBmZWF0dXJlIGluIGFsbF9m ZWF0dXJlczoKKy0gICAgICAgIGJlZm9yZV9mZWF0dXJlCistICAgICAgICBmb3Igb3V0bGluZSBp biBmZWF0dXJlLnNjZW5hcmlvczoKKy0gICAgICAgICAgICBmb3Igc2NlbmFyaW8gaW4gb3V0bGlu ZS5zY2VuYXJpb3M6CistICAgICAgICAgICAgICAgIGJlZm9yZV9zY2VuYXJpbworLSAgICAgICAg ICAgICAgICBmb3Igc3RlcCBpbiBzY2VuYXJpby5zdGVwczoKKy0gICAgICAgICAgICAgICAgICAg IGJlZm9yZV9zdGVwCistICAgICAgICAgICAgICAgICAgICAgICAgc3RlcC5ydW4oKQorLSAgICAg ICAgICAgICAgICAgICAgYWZ0ZXJfc3RlcAorLSAgICAgICAgICAgICAgICBhZnRlcl9zY2VuYXJp bworLSAgICAgICAgYWZ0ZXJfZmVhdHVyZQorLSAgICBhZnRlcl9hbGwKKysgICAgICAgIGZvciB0 YWcgaW4gZmVhdHVyZS50YWdzOiBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3JlX3RhZyhjdHgsIHRh ZykKKysgICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfZmVhdHVyZShjdHgsIGZlYXR1 cmUpCisrICAgICAgICBmb3IgcnVuX2l0ZW0gaW4gZmVhdHVyZS5ydW5faXRlbXM6ICAjIENBTiBC RTogUnVsZSwgU2NlbmFyaW8sIFNjZW5hcmlvT3V0bGluZQorKyAgICAgICAgICAgIGV4ZWN1dGVf cnVuX2l0ZW0oY3R4LCBydW5faXRlbSkKKysgICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBhZnRl cl9mZWF0dXJlKGN0eCwgZmVhdHVyZSkKKysgICAgICAgIGZvciB0YWcgaW4gZmVhdHVyZS50YWdz OiBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJfdGFnKGN0eCwgdGFnKQorKyAgICBjYWxsLW9wdGlv bmFsLWhvb2sgYWZ0ZXJfYWxsKGN0eCkKKysKKysgICAgZnVuY3Rpb24gZXhlY3V0ZV9ydW5faXRl bShydW5faXRlbSwgY3R4KToKKysgICAgICAgIGlmIHJ1bl9pdGVtIGlzYSBSdWxlOgorKyAgICAg ICAgICAgICMgLS0gQ0FTRTogUnVsZQorKyAgICAgICAgICAgIHJ1bGUgPSBydW5faXRlbQorKyAg ICAgICAgICAgIGZvciB0YWcgaW4gcnVsZS50YWdzOiBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3Jl X3RhZyhjdHgsIHRhZykKKysgICAgICAgICAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3JlX3J1 bGUoY3R4LCBydWxlKQorKyAgICAgICAgICAgIGZvciBydW5faXRlbSBpbiBydWxlLnJ1bl9pdGVt czogICAgICMgQ0FOIEJFOiBTY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5lCisrICAgICAgICAgICAg ICAgIGV4ZWN1dGVfcnVuX2l0ZW0ocnVuX2l0ZW0sIGN0eCkKKysgICAgICAgICAgICBjYWxsLW9w dGlvbmFsLWhvb2sgYWZ0ZXJfcnVsZShjdHgsIHJ1bGUpCisrICAgICAgICAgICAgZm9yIHRhZyBp biBydWxlLnRhZ3M6IGNhbGwtb3B0aW9uYWwtaG9vayBhZnRlcl90YWcoY3R4LCB0YWcpCisrICAg ICAgICBlbHNlIGlmIHJ1bl9pdGVtIGlzYSBTY2VuYXJpb091dGxpbmU6CisrICAgICAgICAgICAg IyAtLSBDQVNFOiBTY2VuYXJpb091dGxpbmUKKysgICAgICAgICAgICAjIEhJTlQ6IEFsbCBTY2Vu YXJpb3MgYXJlIGFscmVhZHkgY3JlYXRlZCBmcm9tIEV4YW1wbGUocykgcm93cy4KKysgICAgICAg ICAgICBzY2VuYXJpb19vdXRsaW5lID0gcnVuX2l0ZW0KKysgICAgICAgICAgICBmb3Igc2NlbmFy aW8gaW4gc2NlbmFyaW9fb3V0bGluZS5zY2VuYXJpb3M6CisrICAgICAgICAgICAgICAgIGV4ZWN1 dGVfcnVuX2l0ZW0oc2NlbmFyaW8sIGN0eCkKKysgICAgICAgIGVsc2UgaWYgcnVuX2l0ZW0gaXNh IFNjZW5hcmlvOgorKyAgICAgICAgICAgICMgLS0gQ0FTRTogU2NlbmFyaW8KKysgICAgICAgICAg ICAjIEhJTlQ6IEJhY2tncm91bmQgc3RlcHMgYXJlIGluamVjdGVkIGJlZm9yZSBzY2VuYXJpbyBz dGVwcy4KKysgICAgICAgICAgICBzY2VuYXJpbyA9IHJ1bl9pdGVtCisrICAgICAgICAgICAgZm9y IHRhZyBpbiBzY2VuYXJpby50YWdzOiBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3JlX3RhZyhjdHgs IHRhZykKKysgICAgICAgICAgICBjYWxsLW9wdGlvbmFsLWhvb2sgYmVmb3JlX3NjZW5hcmlvKGN0 eCwgc2NlbmFyaW8pCisrICAgICAgICAgICAgZm9yIHN0ZXAgaW4gc2NlbmFyaW8uc3RlcHM6Cisr ICAgICAgICAgICAgICAgIGNhbGwtb3B0aW9uYWwtaG9vayBiZWZvcmVfc3RlcChjdHgsIHN0ZXAp CisrICAgICAgICAgICAgICAgIHN0ZXAucnVuKGN0eCkKKysgICAgICAgICAgICAgICAgY2FsbC1v cHRpb25hbC1ob29rIGFmdGVyX3N0ZXAoY3R4LCBzdGVwKQorKyAgICAgICAgICAgIGNhbGwtb3B0 aW9uYWwtaG9vayBhZnRlcl9zY2VuYXJpbyhjdHgsIHNjZW5hcmlvKQorKyAgICAgICAgICAgIGZv ciB0YWcgaW4gc2NlbmFyaW8udGFnczogY2FsbC1vcHRpb25hbC1ob29rIGFmdGVyX3RhZyhjdHgs IHRhZykKKyAKKyAKKyBNb2RlbCBPYmplY3RzCitAQCAtMzk3LDYgKzQ1MCw4IEBAIGJlOgorIAor IC4uIGF1dG9jbGFzczo6IGJlaGF2ZS5tb2RlbC5GZWF0dXJlCisgCisrLi4gYXV0b2NsYXNzOjog YmVoYXZlLm1vZGVsLlJ1bGUKKysKKyAuLiBhdXRvY2xhc3M6OiBiZWhhdmUubW9kZWwuQmFja2dy b3VuZAorIAorIC4uIGF1dG9jbGFzczo6IGJlaGF2ZS5tb2RlbC5TY2VuYXJpbwpkaWZmIC0tZ2l0 IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4 MS1GSVgtRE9DUy1SdW5uZXItb3BlcmF0aW9ucy10eXBvLnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4MS1GSVgtRE9DUy1SdW5uZXIt b3BlcmF0aW9ucy10eXBvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uM2I2YjgzYTFiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0 b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4MS1GSVgtRE9DUy1SdW5uZXItb3BlcmF0aW9u cy10eXBvLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gMDdhZDc5NThlYWI5NmE0ZGFkYWU1 MTRmN2Y5NjNmYTczZDM1NjE5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAxMyBBcHIg MjAyMCAxMDozODoxNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBGSVggRE9DUzogUnVubmVyIG9w ZXJhdGlvbnMgdHlwby4KKworLS0tCisgZG9jcy9hcGkucnN0IHwgMiArLQorIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZG9jcy9h cGkucnN0IGIvZG9jcy9hcGkucnN0CitpbmRleCAzOWZhNzU1Li40NzYzYWQ2IDEwMDY0NAorLS0t IGEvZG9jcy9hcGkucnN0CisrKysgYi9kb2NzL2FwaS5yc3QKK0BAIC0zNjcsNyArMzY3LDcgQEAg dGhpcyBpcyB0aGUgb3JkZXIgaW4gd2hpY2ggdGhhdCBjb2RlIGlzIGludm9rZWQgKGlmIHRoZXkg ZXhpc3QuKQorICAgICAgICAgZm9yIHRhZyBpbiBmZWF0dXJlLnRhZ3M6IGNhbGwtb3B0aW9uYWwt aG9vayBiZWZvcmVfdGFnKGN0eCwgdGFnKQorICAgICAgICAgY2FsbC1vcHRpb25hbC1ob29rIGJl Zm9yZV9mZWF0dXJlKGN0eCwgZmVhdHVyZSkKKyAgICAgICAgIGZvciBydW5faXRlbSBpbiBmZWF0 dXJlLnJ1bl9pdGVtczogICMgQ0FOIEJFOiBSdWxlLCBTY2VuYXJpbywgU2NlbmFyaW9PdXRsaW5l CistICAgICAgICAgICAgZXhlY3V0ZV9ydW5faXRlbShjdHgsIHJ1bl9pdGVtKQorKyAgICAgICAg ICAgIGV4ZWN1dGVfcnVuX2l0ZW0ocnVuX2l0ZW0sIGN0eCkKKyAgICAgICAgIGNhbGwtb3B0aW9u YWwtaG9vayBhZnRlcl9mZWF0dXJlKGN0eCwgZmVhdHVyZSkKKyAgICAgICAgIGZvciB0YWcgaW4g ZmVhdHVyZS50YWdzOiBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJfdGFnKGN0eCwgdGFnKQorICAg ICBjYWxsLW9wdGlvbmFsLWhvb2sgYWZ0ZXJfYWxsKGN0eCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODItaXNzdWUtNzQw LUVuaGFuY2VtZW50LUNvbnRleHQuYWRkX2NsZWFudXAtd2l0aC1sYXllci5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODItaXNzdWUt NzQwLUVuaGFuY2VtZW50LUNvbnRleHQuYWRkX2NsZWFudXAtd2l0aC1sYXllci5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjg0M2Y1MzExMwotLS0gL2Rldi9udWxs CisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwODItaXNzdWUtNzQwLUVuaGFuY2VtZW50LUNvbnRleHQuYWRkX2NsZWFudXAtd2l0aC1sYXll ci5wYXRjaApAQCAtMCwwICsxLDI5NSBAQAorRnJvbSAyY2YxMDIxNWI1ZThmY2JiOTE2MmJkZTQ4 NDU2YjYwNzg2ZDgyOGNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8 amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBXZWQsIDIzIFNlcCAyMDIw IDIzOjIyOjQ1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGlzc3VlICM3NDA6IEVuaGFuY2VtZW50 OiBDb250ZXh0LmFkZF9jbGVhbnVwKCkgd2l0aAorIGxheWVyLW5hbWUKKworQ29udGV4dC5hZGRf Y2xlYW51cCgpIGNhbiBjaG9vc2Ugd2hpY2ggY2xlYW51cCBsYXllciB0byB1c2UgKG91dGVyIGxh eWVyKS4KK1RoaXMgcHJvdmlkZXMgdGhlIHBvc3NpYmlsaXR5IHRoYXQgYSBjbGVhbnVwLWZ1bmNp b24sIHJlZ2lzdGVyZWQgd2l0aAorQ29udGV4dC5hZGRfY2xlYW51cChjbGVhbnVwX2Z1bmMsIC4u LikgdG8gYmUgY2FsbGVkIHVwb24gbGVhdmluZwordGhlIG91dGVyIGNvbnRleHQgc3RhY2sgZnJh bWVzLgorCitTdWJtaXR0ZWQgYnk6IG5pendpegorUmVxdWVzdGVkIGJ5OiBkY3Ztb29sZQorLS0t CisgQ0hBTkdFUy5yc3QgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysKKyBiZWhhdmUv bW9kZWwucHkgICAgICAgICAgICAgICAgICAgICB8ICA0ICstCisgYmVoYXZlL3J1bm5lci5weSAg ICAgICAgICAgICAgICAgICAgfCA0NSArKysrKysrKysrKystLS0KKyB0ZXN0cy91bml0L3Rlc3Rf Y29udGV4dF9jbGVhbnVwcy5weSB8IDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCisg NCBmaWxlcyBjaGFuZ2VkLCAxMzAgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NIQU5HRVMucnN0CitpbmRleCBkMGJmNmZkLi5kNzU4 MzY0IDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5yc3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtMjgs NiArMjgsNyBAQCBFTkhBTkNFTUVOVFM6CisgKiBVc2UgY3VjdW1iZXIgImdoZXJraW4tbGFuZ3Vh Z2VzLmpzb24iIG5vdyAoc2ltcGxpZnk6IEdoZXJraW4gdjYgYWxpYXNlcywgbGFuZ3VhZ2UgdXNh Z2UpCisgKiBTdXBwb3J0IGVtb2ppcyBpbiBgYCouZmVhdHVyZWBgIGZpbGVzIGFuZCBzdGVwcwor ICogU2VsZWN0LWJ5LWxvY2F0aW9uOiBBZGQgc3VwcG9ydCBmb3IgIlNjZW5hcmlvIGNvbnRhaW5l ciIgKEZlYXR1cmUsIFJ1bGUsIFNjZW5hcmlvT3V0bGluZSkgKHJlbGF0ZWQgdG86ICMzOTEpCisr KiBpc3N1ZSAjNzQwOiBFbmhhbmNlbWVudDogcG9zc2liaWxpdHkgdG8gYWRkIGNsZWFudXAgdG8g YmUgY2FsbGVkIHVwb24gbGVhdmluZyBvdXRlciBjb250ZXh0IHN0YWNrIGZyYW1lcyAoc3VibWl0 dGVkIGJ5OiBuaXp3aXosIGRjdm1vb2xlKQorICogaXNzdWUgIzY3ODogU2NlbmFyaW8gT3V0bGlu ZTogU3VwcG9ydCB0YWdzIHdpdGggY29tbWFzIGFuZCBzZW1pY29sb25zIChwcm92aWRlZCBieTog bGF3bm1vd2VybGF0dGUsIHB1bGwgIzY3OSkKKyAqIGlzc3VlICM2NzU6IEZlYXR1cmUgZmlsZXMg Y2Fubm90IGJlIGZvdW5kIHdpdGhpbiBzeW1saW5rIGRpcmVjdG9yaWVzIChwcm92aWRlZCBieTog c21hZG5lc3MsIHB1bGwgIzY4MCkKKyAKK0BAIC02NSw2ICs2NiwxMiBAQCBET0NVTUVOVEFUSU9O OgorICogcHVsbCAgIzY4NDogRml4IHR5cG8gaW4gImluc3RhbGwucnN0IiAocHJvdmlkZWQgYnk6 IG1zdHJlZCkKKyAqIHB1bGwgICM2Mjg6IENoYW5nZWQgcHl0aG9uaG9zdGVkLm9yZyBsaW5rcyB0 byByZWFkdGhlZG9jcy5pbyAocHJvdmlkZWQgYnk6IGNocmlzYnJha2UpCisgCisrQlJFQUtJTkcg Q0hBTkdFUyAobmFtaW5nKToKKysKKysqIGJlaGF2ZS5ydW5uZXIuQ29udGV4dC5fcHVzaChsYXll cj1Ob25lKTogV2FzIENvbnRleHQuX3B1c2gobGF5ZXJfbmFtZT1Ob25lKQorKyogYmVoYXZlLnJ1 bm5lci5zY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj1Ob25lKToKKysgIFdhcyBz Y29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LmxheWVyX25hbWU9Tm9uZSkKKysKKyAKKyAuLiBf YGN1Y3VtYmVyLXRhZy1leHByZXNzaW9uc2A6IGh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC9jdWN1 bWJlci10YWctZXhwcmVzc2lvbnMvCisgCitkaWZmIC0tZ2l0IGEvYmVoYXZlL21vZGVsLnB5IGIv YmVoYXZlL21vZGVsLnB5CitpbmRleCBjYjY5ZjllLi5mMWVjNzI1IDEwMDY0NAorLS0tIGEvYmVo YXZlL21vZGVsLnB5CisrKysgYi9iZWhhdmUvbW9kZWwucHkKK0BAIC0zNjMsNyArMzYzLDcgQEAg Y2xhc3MgU2NlbmFyaW9Db250YWluZXIoVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxl KToKKyAgICAgICAgIGhvb2tfYmVmb3JlX2VudGl0eSA9ICJiZWZvcmVfezB9Ii5mb3JtYXQoZW50 aXR5X25hbWUpCisgICAgICAgICBob29rX2FmdGVyX2VudGl0eSA9ICJhZnRlcl97MH0iLmZvcm1h dChlbnRpdHlfbmFtZSkKKyAKKy0gICAgICAgIHJ1bm5lci5jb250ZXh0Ll9wdXNoKGxheWVyX25h bWU9ZW50aXR5X25hbWUpICAgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2Vzcwor KyAgICAgICAgcnVubmVyLmNvbnRleHQuX3B1c2gobGF5ZXI9ZW50aXR5X25hbWUpICAgICAgIyBw eWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworICAgICAgICAgcnVubmVyLmNvbnRleHQu dGFncyA9IHNldChzZWxmLnRhZ3MpCisgICAgICAgICBzZWxmLl9zZXR1cF9jb250ZXh0X2Zvcl9y dW4ocnVubmVyLmNvbnRleHQpCisgCitAQCAtMTEzNiw3ICsxMTM2LDcgQEAgY2xhc3MgU2NlbmFy aW8oVGFnQW5kU3RhdHVzU3RhdGVtZW50LCBSZXBsYXlhYmxlKToKKyAgICAgICAgIGRyeV9ydW5f c2NlbmFyaW8gPSBydW5fc2NlbmFyaW8gYW5kIHJ1bm5lci5jb25maWcuZHJ5X3J1bgorICAgICAg ICAgc2VsZi53YXNfZHJ5X3J1biA9IGRyeV9ydW5fc2NlbmFyaW8KKyAKKy0gICAgICAgIHJ1bm5l ci5jb250ZXh0Ll9wdXNoKGxheWVyX25hbWU9InNjZW5hcmlvIikgICAgICAjIHB5bGludDogZGlz YWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisrICAgICAgICBydW5uZXIuY29udGV4dC5fcHVzaChsYXll cj0ic2NlbmFyaW8iKSAgICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKyAg ICAgICAgIHJ1bm5lci5jb250ZXh0LnNjZW5hcmlvID0gc2VsZgorICAgICAgICAgcnVubmVyLmNv bnRleHQudGFncyA9IHNldChzZWxmLmVmZmVjdGl2ZV90YWdzKQorIAorZGlmZiAtLWdpdCBhL2Jl aGF2ZS9ydW5uZXIucHkgYi9iZWhhdmUvcnVubmVyLnB5CitpbmRleCA2YjIwOTM3Li5kMDFiZmYw IDEwMDY0NAorLS0tIGEvYmVoYXZlL3J1bm5lci5weQorKysrIGIvYmVoYXZlL3J1bm5lci5weQor QEAgLTE0NSw3ICsxNDUsNyBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgIHRyaWVzIHRv IG92ZXJ3cml0ZSBhIHVzZXItc2V0IHZhcmlhYmxlLgorIAorICAgICBZb3UgbWF5IHVzZSB0aGUg ImluIiBvcGVyYXRvciB0byB0ZXN0IHdoZXRoZXIgYSBjZXJ0YWluIHZhbHVlIGhhcyBiZWVuIHNl dAorLSAgICBvbiB0aGUgY29udGV4dCwgZm9yIGV4YW1wbGU6CisrICAgIG9uIHRoZSBjb250ZXh0 LCBmb3IgZXhhbXBsZTo6CisgCisgICAgICAgICAiZmVhdHVyZSIgaW4gY29udGV4dAorIAorQEAg LTE1OCw2ICsxNTgsNyBAQCBjbGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgIC4uIF9gY29uZmln dXJhdGlvbiBmaWxlIHNlY3Rpb24gbmFtZXNgOiBiZWhhdmUuaHRtbCNjb25maWd1cmF0aW9uLWZp bGVzCisgICAgICIiIgorICAgICAjIHB5bGludDogZGlzYWJsZT10b28tbWFueS1pbnN0YW5jZS1h dHRyaWJ1dGVzCisrICAgIExBWUVSX05BTUVTID0gWyJ0ZXN0cnVuIiwgImZlYXR1cmUiLCAicnVs ZSIsICJzY2VuYXJpbyJdCisgICAgIEZBSUxfT05fQ0xFQU5VUF9FUlJPUlMgPSBUcnVlCisgCisg ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBydW5uZXIpOgorQEAgLTI0NSwxNiArMjQ2LDE1IEBAIGNs YXNzIENvbnRleHQob2JqZWN0KToKKyAgICAgICAgICAgICBkZWwgY2xlYW51cF9lcnJvcnMgICMg LS0gRU5TVVJFOiBSZWxlYXNlIG90aGVyIGV4Y2VwdGlvbiBmcmFtZXMuCisgICAgICAgICAgICAg c2l4LnJlcmFpc2UoKmZpcnN0X2NsZWFudXBfZXJyb19pbmZvKQorIAorLQorLSAgICBkZWYgX3B1 c2goc2VsZiwgbGF5ZXJfbmFtZT1Ob25lKToKKysgICAgZGVmIF9wdXNoKHNlbGYsIGxheWVyPU5v bmUpOgorICAgICAgICAgIiIiUHVzaCBhIG5ldyBsYXllciBvbiB0aGUgY29udGV4dCBzdGFjay4K Ky0gICAgICAgIEhJTlQ6IFVzZSBsYXllcl9uYW1lIHZhbHVlczogInNjZW5hcmlvIiwgImZlYXR1 cmUiLCAidGVzdHJ1biIuCisrICAgICAgICBISU5UOiBVc2UgbGF5ZXIgdmFsdWVzOiAidGVzdHJ1 biIsICJmZWF0dXJlIiwgInJ1bGUsICJzY2VuYXJpbyIuCisgCistICAgICAgICA6cGFyYW0gbGF5 ZXJfbmFtZTogICBMYXllciBuYW1lIHRvIHVzZSAob3IgTm9uZSkuCisrICAgICAgICA6cGFyYW0g bGF5ZXI6ICAgTGF5ZXIgbmFtZSB0byB1c2UgKG9yIE5vbmUpLgorICAgICAgICAgIiIiCisgICAg ICAgICBpbml0aWFsX2RhdGEgPSB7IkBjbGVhbnVwcyI6IFtdfQorLSAgICAgICAgaWYgbGF5ZXJf bmFtZToKKy0gICAgICAgICAgICBpbml0aWFsX2RhdGFbIkBsYXllciJdID0gbGF5ZXJfbmFtZQor KyAgICAgICAgaWYgbGF5ZXI6CisrICAgICAgICAgICAgaW5pdGlhbF9kYXRhWyJAbGF5ZXIiXSA9 IGxheWVyCisgICAgICAgICBzZWxmLl9zdGFjay5pbnNlcnQoMCwgaW5pdGlhbF9kYXRhKQorIAor ICAgICBkZWYgX3BvcChzZWxmKToKK0BAIC00MjYsNiArNDI2LDIwIEBAIGNsYXNzIENvbnRleHQo b2JqZWN0KToKKyAgICAgICAgICAgICBzZWxmLnRleHQgPSBvcmlnaW5hbF90ZXh0CisgICAgICAg ICByZXR1cm4gVHJ1ZQorIAorKyAgICBkZWYgX3NlbGVjdF9zdGFja19mcmFtZV9ieV9sYXllcihz ZWxmLCBsYXllcik6CisrICAgICAgICAiIiJTZWxlY3QgY29udGV4dCBzdGFjayBmcmFtZSBieSBs YXllciBuYW1lLgorKworKyAgICAgICAgOnBhcmFtIGxheWVyOiAgIExheWVyIG5hbWUgKGFzIHN0 cmluZykuCisrICAgICAgICA6cmV0dXJuOiBTZWxlY3RlZCBmcmFtZSBvYmplY3QgKGlmIGFueSkK KysgICAgICAgIDpyYWlzZXM6IExvb2t1cEVycm9yLCBpZiBsYXllciB3YXMgbm90IGZvdW5kLgor KyAgICAgICAgIiIiCisrICAgICAgICBmb3IgZnJhbWUgaW4gc2VsZi5fc3RhY2s6CisrICAgICAg ICAgICAgZnJhbWVfbGF5ZXIgPSBmcmFtZS5nZXQoIkBsYXllciIsIE5vbmUpCisrICAgICAgICAg ICAgaWYgbGF5ZXIgPT0gZnJhbWVfbGF5ZXI6CisrICAgICAgICAgICAgICAgIHJldHVybiBmcmFt ZQorKyAgICAgICAgIyAtLSBPT1BTLCBOT1QgRk9VTkQ6CisrICAgICAgICByYWlzZSBMb29rdXBF cnJvcigiQ29udGV4dC5zdGFjazogbGF5ZXI9JXMgbm90IGZvdW5kIiAlIGxheWVyKQorKworICAg ICBkZWYgYWRkX2NsZWFudXAoc2VsZiwgY2xlYW51cF9mdW5jLCAqYXJncywgKiprd2FyZ3MpOgor ICAgICAgICAgIiIiQWRkcyBhIGNsZWFudXAgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiA6 bWV0aDpgQ29udGV4dC5fcG9wKClgCisgICAgICAgICBpcyBjYWxsZWQuIFRoaXMgaXMgaW50ZW5k ZWQgZm9yIHVzZXItY2xlYW51cHMuCitAQCAtNDMzLDEwICs0NDcsMjEgQEAgY2xhc3MgQ29udGV4 dChvYmplY3QpOgorICAgICAgICAgOnBhcmFtIGNsZWFudXBfZnVuYzogICAgQ2FsbGFibGUgZnVu Y3Rpb24KKyAgICAgICAgIDpwYXJhbSBhcmdzOiAgICAgICAgICAgIEFyZ3MgZm9yIGNsZWFudXBf ZnVuYygpIGNhbGwgKG9wdGlvbmFsKS4KKyAgICAgICAgIDpwYXJhbSBrd2FyZ3M6ICAgICAgICAg IEt3YXJncyBmb3IgY2xlYW51cF9mdW5jKCkgY2FsbCAob3B0aW9uYWwpLgorKworKyAgICAgICAg Li4gbm90ZTo6IFJFU0VSVkVEIDpvYmo6YGxheWVyYCA6IG9wdGlvbmFsLXN0cmluZworKworKyAg ICAgICAgICAgIFRoZSBrZXl3b3JkIGFyZ3VtZW50IGBgbGF5ZXI9IkxBWUVSX05BTUUiYGAgY2Fu IHRvIGJlIHVzZWQgdG8KKysgICAgICAgICAgICBhc3NpZ24gdGhlIDpvYmo6YGNsZWFudXBfZnVu Y2AgdG8gc3BlY2lmaWMgYSBsYXllciBvbiB0aGUgY29udGV4dCBzdGFjaworKyAgICAgICAgICAg IChpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGxheWVyKS4KKysKKysgICAgICAgICAgICBLbm93biBs YXllciBuYW1lcyBhcmU6ICJ0ZXN0cnVuIiwgImZlYXR1cmUiLCAicnVsZSIsICJzY2VuYXJpbyIK KysKKysgICAgICAgIC4uIHNlZWFsc286OiA6YXR0cjpgLkNvbnRleHQuTEFZRVJfTkFNRVNgCisg ICAgICAgICAiIiIKKyAgICAgICAgICMgTUFZQkU6CisgICAgICAgICBhc3NlcnQgY2FsbGFibGUo Y2xlYW51cF9mdW5jKSwgIlJFUVVJUkVTOiBjYWxsYWJsZShjbGVhbnVwX2Z1bmMpIgorICAgICAg ICAgYXNzZXJ0IHNlbGYuX3N0YWNrCisrICAgICAgICBsYXllciA9IGt3YXJncy5wb3AoImxheWVy IiwgTm9uZSkKKyAgICAgICAgIGlmIGFyZ3Mgb3Iga3dhcmdzOgorICAgICAgICAgICAgIGRlZiBp bnRlcm5hbF9jbGVhbnVwX2Z1bmMoKToKKyAgICAgICAgICAgICAgICAgY2xlYW51cF9mdW5jKCph cmdzLCAqKmt3YXJncykKK0BAIC00NDQsNiArNDY5LDggQEAgY2xhc3MgQ29udGV4dChvYmplY3Qp OgorICAgICAgICAgICAgIGludGVybmFsX2NsZWFudXBfZnVuYyA9IGNsZWFudXBfZnVuYworIAor ICAgICAgICAgY3VycmVudF9mcmFtZSA9IHNlbGYuX3N0YWNrWzBdCisrICAgICAgICBpZiBsYXll cjoKKysgICAgICAgICAgICBjdXJyZW50X2ZyYW1lID0gc2VsZi5fc2VsZWN0X3N0YWNrX2ZyYW1l X2J5X2xheWVyKGxheWVyKQorICAgICAgICAgaWYgY2xlYW51cF9mdW5jIG5vdCBpbiBjdXJyZW50 X2ZyYW1lWyJAY2xlYW51cHMiXToKKyAgICAgICAgICAgICAjIC0tIEFWT0lEIERVUExJQ0FURVM6 CisgICAgICAgICAgICAgY3VycmVudF9mcmFtZVsiQGNsZWFudXBzIl0uYXBwZW5kKGludGVybmFs X2NsZWFudXBfZnVuYykKK0BAIC00NzcsNyArNTA0LDcgQEAgZGVmIHVzZV9jb250ZXh0X3dpdGhf bW9kZShjb250ZXh0LCBtb2RlKToKKyAKKyAKKyBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgor LWRlZiBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcl9uYW1lPU5vbmUpOgorK2Rl ZiBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj1Ob25lKToKKyAgICAgIiIiUHJv dmlkZXMgY29udGV4dCBtYW5hZ2VyIGZvciBjb250ZXh0IGxheWVyIChwdXNoL2RvLXNvbWV0aGlu Zy9wb3AgY3ljbGUpLgorIAorICAgICAuLiBjb2RlLWJsb2NrOjoKK0BAIC00ODcsNyArNTE0LDcg QEAgZGVmIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyX25hbWU9Tm9uZSk6Cisg ICAgICIiIgorICAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCisgICAgIHRy eToKKy0gICAgICAgIGNvbnRleHQuX3B1c2gobGF5ZXJfbmFtZSkKKysgICAgICAgIGNvbnRleHQu X3B1c2gobGF5ZXIpCisgICAgICAgICB5aWVsZCBjb250ZXh0CisgICAgIGZpbmFsbHk6CisgICAg ICAgICBjb250ZXh0Ll9wb3AoKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9jb250ZXh0 X2NsZWFudXBzLnB5IGIvdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkKK2luZGV4 IGJmMGFiNTAuLmMzMmM1NzIgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0L3Rlc3RfY29udGV4dF9j bGVhbnVwcy5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2NvbnRleHRfY2xlYW51cHMucHkKK0BA IC0yMyw2ICsyMyw5IEBAIGltcG9ydCBweXRlc3QKKyBkZWYgY2xlYW51cF9mdW5jKCk6CisgICAg IHBhc3MKKyAKKytkZWYgY2xlYW51cF9mdW5jX3dpdGhfYXJncygqYXJncywgKiprd2FyZ3MpOgor KyAgICBwYXNzCisrCisgY2xhc3MgQ2xlYW51cEZ1bmN0aW9uKG9iamVjdCk6CisgICAgIGRlZiBf X2luaXRfXyhzZWxmLCBuYW1lPSJDTEVBTlVQLUZVTkMiLCBsaXN0ZW5lcj1Ob25lKToKKyAgICAg ICAgIHNlbGYubmFtZSA9IG5hbWUKK0BAIC00Miw3ICs0NSw2IEBAIGNsYXNzIENhbGxMaXN0ZW5l cihvYmplY3QpOgorICAgICAgICAgc2VsZi5jb2xsZWN0ZWQuYXBwZW5kKG1lc3NhZ2UpCisgCisg CistCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFRFU1RTOgorICMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCitAQCAtMTQ1LDYgKzE0NywyNCBAQCBjbGFzcyBUZXN0Q29udGV4dENsZWFudXAo b2JqZWN0KToKKyAgICAgICAgIG15X2NsZWFudXBfQjJNLmFzc2VydF9jYWxsZWRfb25jZSgpCisg ICAgICAgICBteV9jbGVhbnVwX0IzTS5hc3NlcnRfY2FsbGVkX29uY2UoKQorIAorKyAgICBkZWYg dGVzdF9hZGRfY2xlYW51cF93aXRoX2FyZ3Moc2VsZik6CisrICAgICAgICBteV9jbGVhbnVwID0g TW9jayhzcGVjPWNsZWFudXBfZnVuY193aXRoX2FyZ3MpCisrICAgICAgICBjb250ZXh0ID0gQ29u dGV4dChydW5uZXI9TW9jaygpKQorKyAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihj b250ZXh0KToKKysgICAgICAgICAgICBjb250ZXh0LmFkZF9jbGVhbnVwKG15X2NsZWFudXAsIDEs IDIsIDMpCisrICAgICAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfbm90X2NhbGxlZCgpCisrICAg ICAgICAjIENBTExTLUhFUkU6IGNvbnRleHQuX3BvcCgpCisrICAgICAgICBteV9jbGVhbnVwLmFz c2VydF9jYWxsZWRfb25jZV93aXRoKDEsIDIsIDMpCisrCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVh bnVwX3dpdGhfYXJnc19hbmRfa3dhcmdzKHNlbGYpOgorKyAgICAgICAgbXlfY2xlYW51cCA9IE1v Y2soc3BlYz1jbGVhbnVwX2Z1bmNfd2l0aF9hcmdzKQorKyAgICAgICAgY29udGV4dCA9IENvbnRl eHQocnVubmVyPU1vY2soKSkKKysgICAgICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29u dGV4dCk6CisrICAgICAgICAgICAgY29udGV4dC5hZGRfY2xlYW51cChteV9jbGVhbnVwLCAxLCAy LCAzLCBuYW1lPSJhbGljZSIpCisrICAgICAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfbm90X2Nh bGxlZCgpCisrICAgICAgICAjIENBTExTLUhFUkU6IGNvbnRleHQuX3BvcCgpCisrICAgICAgICBt eV9jbGVhbnVwLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDEsIDIsIDMsIG5hbWU9ImFsaWNlIikK KysKKyAgICAgZGVmIHRlc3RfYWRkX2NsZWFudXBfX3JlamVjdHNfbm9uY2FsbGFibGVfY2xlYW51 cF9mdW5jKHNlbGYpOgorICAgICAgICAgY2xhc3MgTm9uQ2FsbGFibGUob2JqZWN0KTogcGFzcwor ICAgICAgICAgbm9uX2NhbGxhYmxlID0gTm9uQ2FsbGFibGUoKQorQEAgLTIxOCwzICsyMzgsNjcg QEAgY2xhc3MgVGVzdENvbnRleHRDbGVhbnVwKG9iamVjdCk6CisgICAgICAgICBhc3NlcnQgY29s bGVjdF9jbGVhbnVwX2Vycm9yLmNvbGxlY3RlZFswXVs6LTFdID09IGV4cGVjdGVkWzBdWzotMV0K KyAgICAgICAgIGFzc2VydCBjb2xsZWN0X2NsZWFudXBfZXJyb3IuY29sbGVjdGVkWzFdWzotMV0g PT0gZXhwZWN0ZWRbMV1bOi0xXQorIAorKworK2NsYXNzIFRlc3RDb250ZXh0Q2xlYW51cFdpdGhM YXllcihvYmplY3QpOgorKyAgICAiIiJUZXN0cyA6bWV0aDpgYmVoYXZlLnJ1bm5lci5Db250ZXh0 LmFkZF9jbGVhbnVwKClgCisrICAgIHdpdGggbGF5ZXIgcGFyYW1ldGVyLgorKworKyAgICA6bWV0 aDpgY2xlYW51cF9mdW5jKClgIGlzIGNhbGxlZCB3aGVuIENvbnRleHQgbGF5ZXIgaXMgcmVtb3Zl ZC9wb3BwZWQuCisrICAgICIiIgorKworKyAgICBkZWYgdGVzdF9hZGRfY2xlYW51cF93aXRoX2tu b3duX2xheWVyKHNlbGYpOgorKyAgICAgICAgbXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVhbnVw X2Z1bmMpCisrICAgICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAgICAg ICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj0ic2NlbmFyaW8iKToK KysgICAgICAgICAgICBjb250ZXh0LmFkZF9jbGVhbnVwKG15X2NsZWFudXAsIGxheWVyPSJzY2Vu YXJpbyIpCisrICAgICAgICAgICAgbXlfY2xlYW51cC5hc3NlcnRfbm90X2NhbGxlZCgpCisrICAg ICAgICAjIENBTExTLUhFUkU6IGNvbnRleHQuX3BvcCgpCisrICAgICAgICBteV9jbGVhbnVwLmFz c2VydF9jYWxsZWRfb25jZSgpCisrCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfa25v d25fbGF5ZXJfYW5kX2FyZ3Moc2VsZik6CisrICAgICAgICBteV9jbGVhbnVwID0gTW9jayhzcGVj PWNsZWFudXBfZnVuY193aXRoX2FyZ3MpCisrICAgICAgICBjb250ZXh0ID0gQ29udGV4dChydW5u ZXI9TW9jaygpKQorKyAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBs YXllcj0ic2NlbmFyaW8iKToKKysgICAgICAgICAgICBjb250ZXh0LmFkZF9jbGVhbnVwKG15X2Ns ZWFudXAsIDEsIDIsIDMsIGxheWVyPSJzY2VuYXJpbyIpCisrICAgICAgICAgICAgbXlfY2xlYW51 cC5hc3NlcnRfbm90X2NhbGxlZCgpCisrICAgICAgICAjIENBTExTLUhFUkU6IGNvbnRleHQuX3Bv cCgpCisrICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDEsIDIsIDMp CisrCisrICAgIGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfa25vd25fbGF5ZXJfYW5kX2t3YXJn cyhzZWxmKToKKysgICAgICAgIG15X2NsZWFudXAgPSBNb2NrKHNwZWM9Y2xlYW51cF9mdW5jX3dp dGhfYXJncykKKysgICAgICAgIGNvbnRleHQgPSBDb250ZXh0KHJ1bm5lcj1Nb2NrKCkpCisrICAg ICAgICB3aXRoIHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyPSJzY2VuYXJpbyIp OgorKyAgICAgICAgICAgIGNvbnRleHQuYWRkX2NsZWFudXAobXlfY2xlYW51cCwgbGF5ZXI9InNj ZW5hcmlvIiwgbmFtZT0iYWxpY2UiKQorKyAgICAgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0X25v dF9jYWxsZWQoKQorKyAgICAgICAgIyBDQUxMUy1IRVJFOiBjb250ZXh0Ll9wb3AoKQorKyAgICAg ICAgbXlfY2xlYW51cC5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aChuYW1lPSJhbGljZSIpCisrCisr ICAgIGRlZiB0ZXN0X2FkZF9jbGVhbnVwX3dpdGhfa25vd25fZGVlcGVyX2xheWVyMihzZWxmKToK KysgICAgICAgIG15X2NsZWFudXAgPSBNb2NrKHNwZWM9Y2xlYW51cF9mdW5jKQorKyAgICAgICAg Y29udGV4dCA9IENvbnRleHQocnVubmVyPU1vY2soKSkKKysgICAgICAgIHdpdGggc2NvcGVkX2Nv bnRleHRfbGF5ZXIoY29udGV4dCwgbGF5ZXI9ImZlYXR1cmUiKToKKysgICAgICAgICAgICB3aXRo IHNjb3BlZF9jb250ZXh0X2xheWVyKGNvbnRleHQsIGxheWVyPSJzY2VuYXJpbyIpOgorKyAgICAg ICAgICAgICAgICBjb250ZXh0LmFkZF9jbGVhbnVwKG15X2NsZWFudXAsIGxheWVyPSJmZWF0dXJl IikKKysgICAgICAgICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAgICAg ICMgQ0FMTFMtSEVSRTogY29udGV4dC5fcG9wKCkKKysgICAgICAgIG15X2NsZWFudXAuYXNzZXJ0 X2NhbGxlZF9vbmNlKCkKKysKKysgICAgZGVmIHRlc3RfYWRkX2NsZWFudXBfd2l0aF9rbm93bl9k ZWVwZXJfbGF5ZXIzKHNlbGYpOgorKyAgICAgICAgbXlfY2xlYW51cCA9IE1vY2soc3BlYz1jbGVh bnVwX2Z1bmMpCisrICAgICAgICBjb250ZXh0ID0gQ29udGV4dChydW5uZXI9TW9jaygpKQorKyAg ICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihjb250ZXh0LCBsYXllcj0idGVzdHJ1biIp OgorKyAgICAgICAgICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5ZXIoY29udGV4dCwgbGF5ZXI9 ImZlYXR1cmUiKToKKysgICAgICAgICAgICAgICAgd2l0aCBzY29wZWRfY29udGV4dF9sYXllcihj b250ZXh0LCBsYXllcj0ic2NlbmFyaW8iKToKKysgICAgICAgICAgICAgICAgICAgIGNvbnRleHQu YWRkX2NsZWFudXAobXlfY2xlYW51cCwgbGF5ZXI9ImZlYXR1cmUiKQorKyAgICAgICAgICAgICAg ICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKKysgICAgICAgICAgICBteV9jbGVhbnVw LmFzc2VydF9jYWxsZWRfb25jZSgpICAgICAjIExFRlQ6IGxheWVyPSJmZWF0dXJlIgorKyAgICAg ICAgbXlfY2xlYW51cC5hc3NlcnRfY2FsbGVkX29uY2UoKQorKworKyAgICBkZWYgdGVzdF9hZGRf Y2xlYW51cF93aXRoX3Vua25vd25fbGF5ZXJfcmFpc2VzX2xvb2t1cF9lcnJvcihzZWxmKToKKysg ICAgICAgICIiIkNsZWFudXAgZnVuY3Rpb24gaXMgbm90IHJlZ2lzdGVyZWQiIiIKKysgICAgICAg IG15X2NsZWFudXAgPSBNb2NrKHNwZWM9Y2xlYW51cF9mdW5jKQorKyAgICAgICAgY29udGV4dCA9 IENvbnRleHQocnVubmVyPU1vY2soKSkKKysgICAgICAgIHdpdGggc2NvcGVkX2NvbnRleHRfbGF5 ZXIoY29udGV4dCk6ICAgIyBDQUxMUy1IRVJFOiBjb250ZXh0Ll9wdXNoKCkKKysgICAgICAgICAg ICB3aXRoIHB5dGVzdC5yYWlzZXMoTG9va3VwRXJyb3IpIGFzIGVycm9yOgorKyAgICAgICAgICAg ICAgICBjb250ZXh0LmFkZF9jbGVhbnVwKG15X2NsZWFudXAsIGxheWVyPSJvdGhlciIpCisrICAg ICAgICBteV9jbGVhbnVwLmFzc2VydF9ub3RfY2FsbGVkKCkKZGlmZiAtLWdpdCBhL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODMtVVBEQVRFLXBh cnNlLTEuMTguMC1wYXJzZS12ZXJzaW9ucy0xLjE2LjAtLi0xLjE3LngtaC5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODMtVVBEQVRF LXBhcnNlLTEuMTguMC1wYXJzZS12ZXJzaW9ucy0xLjE2LjAtLi0xLjE3LngtaC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQwM2E3Y2NhZQotLS0gL2Rldi9udWxs CisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAwODMtVVBEQVRFLXBhcnNlLTEuMTguMC1wYXJzZS12ZXJzaW9ucy0xLjE2LjAtLi0xLjE3Lngt aC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIGE1M2U4MmZhOTYzNjk2OTg4Yzc0M2FhY2Ey MzQxMzkwMzMyZTdlM2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxq ZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgMjAgT2N0IDIwMjAg MjI6NDA6NDYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVVBEQVRFOiBwYXJzZSA+PSAxLjE4LjAg KHBhcnNlIHZlcnNpb25zOiAxLjE2LjAgLi4gMS4xNy54IGhhcworIGEgcHJvYmxlbTsgcGFyc2Ug aXNzdWUgIzExOSwgIzEyMSkKKworLS0tCisgcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCB8IDIg Ky0KKyBzZXR1cC5weSAgICAgICAgICAgICAgICAgIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHkucmVxdWly ZW1lbnRzL2Jhc2ljLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKK2luZGV4IGFkNWI5 YTYuLmY5NzY3NDggMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CisrKysg Yi9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0CitAQCAtOSw3ICs5LDcgQEAKKyAjID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKyAKKyBjdWN1bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjIKKy1wYXJz ZSA+PSAxLjguMgorK3BhcnNlID49IDEuMTguMAorIHBhcnNlX3R5cGUgPj0gMC40LjIKKyBzaXgg Pj0gMS4xMi4wCisgCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggMjNm NjY1NC4uZmQ4OWJkYSAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAg LTc3LDcgKzc3LDcgQEAgc2V0dXAoCisgICAgIHB5dGhvbl9yZXF1aXJlcz0iPj0yLjcsICE9My4w LiosICE9My4xLiosICE9My4yLioiLAorICAgICBpbnN0YWxsX3JlcXVpcmVzPVsKKyAgICAgICAg ICJjdWN1bWJlci10YWctZXhwcmVzc2lvbnMgPj0gMS4xLjIiLAorLSAgICAgICAgInBhcnNlID49 IDEuOS4xIiwKKysgICAgICAgICJwYXJzZSA+PSAxLjE4LjAiLAorICAgICAgICAgInBhcnNlX3R5 cGUgPj0gMC40LjIiLAorICAgICAgICAgInNpeCA+PSAxLjEyLjAiLAorICAgICAgICAgInRyYWNl YmFjazI7IHB5dGhvbl92ZXJzaW9uIDwgJzMuMCciLApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4NC1SRUxBVEVELVRPLUR1 cGxpY2F0ZWQtc3RlcHMtQW1iaWd1b3VzU3RlcEVycm9ycy5wYXRjaCBiL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODQtUkVMQVRFRC1UTy1EdXBs aWNhdGVkLXN0ZXBzLUFtYmlndW91c1N0ZXBFcnJvcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi4zMjMwNGUzNDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg0LVJFTEFURUQt VE8tRHVwbGljYXRlZC1zdGVwcy1BbWJpZ3VvdXNTdGVwRXJyb3JzLnBhdGNoCkBAIC0wLDAgKzEs MzQgQEAKK0Zyb20gZmIzZjQzNzM1ZjdjOWI4MzYzOTQwNTk1ZDEyZDdiNTk1NDRmNjRjMCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogTW9uLCAyIE5vdiAyMDIwIDE3OjUwOjEwICswMTAwCitTdWJq ZWN0OiBbUEFUQ0hdIFJFTEFURUQgVE86IER1cGxpY2F0ZWQgc3RlcHMvQW1iaWd1b3VzU3RlcEVy cm9ycworCisqIFJlbW92ZSBAeGZhaWwgZnJvbSB0aGlyZCBzY2VuYXJpbyAoaXQgd29ya2VkIGFs cmVhZHkgZm9yIHNvbWUgdGltZSkuCisqIEFkZGVkIG1vcmUgZGV0YWlsbGVkIGRlc2NyaXB0aW9u IHRvIHRoaXJkIHNjZW5hcmlvLgorLS0tCisgZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAu ZmVhdHVyZSB8IDExICsrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL3N0ZXAuZHVwbGljYXRl ZF9zdGVwLmZlYXR1cmUgYi9mZWF0dXJlcy9zdGVwLmR1cGxpY2F0ZWRfc3RlcC5mZWF0dXJlCitp bmRleCAzOTZjY2EyLi5mMjA0MzA3IDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvc3RlcC5kdXBsaWNh dGVkX3N0ZXAuZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvc3RlcC5kdXBsaWNhdGVkX3N0ZXAuZmVh dHVyZQorQEAgLTc2LDggKzc2LDE3IEBAIEZlYXR1cmU6IER1cGxpY2F0ZWQgU3RlcCBEZWZpbml0 aW9ucworICAgICAjICAgIEZpbGUgImZlYXR1cmVzL3N0ZXBzL2JvYjJfc3RlcHMucHkiLCBsaW5l IDMsIGluIDxtb2R1bGU+CisgICAgICMgICAgIiIiCisgCistICBAeGZhaWwKKysKKyAgIFNjZW5h cmlvOiBEdXBsaWNhdGVkIFNhbWUgU3RlcCBEZWZpbml0aW9uIHZpYSBpbXBvcnQgZnJvbSBhbm90 aGVyIEZpbGUKKysKKysgICAgVkVSSUZZIFRIQVQ6IER1cGxpY2F0ZWQgc3RlcC1kZXRlY3Rpb24g d29ya3MuCisrICAgIER1cGxpY2F0ZWQgc3RlcC1yZWdpc3RyYXRpb24gb2NjdXJlZCB0aHJvdWdo IGEgdHdpY2UgaW1wb3J0ZWQgc3RlcC1tb2R1bGU6CisrICAgIEZpcnN0IHJlZ2lzdHJhdGlvbiBt YXkgb2NjdXJzIGJ5IHN0ZXAtbG9hZGluZyB0aGUgc3RlcC1tb2R1bGUsCisrICAgIHNlY29uZCBy ZWdpc3RyYXRpb24gZHVlIHRvIGltcG9ydCBvZiBmaXJzdCBzdGVwLW1vZHVsZS4KKysKKysgICAg VGhlIHN0ZXAgcmVnaXN0cnkgZGV0ZWN0cyB0aGF0IHRoZSBzYW1lIHN0ZXAtZnVuY3Rpb24gc2hv dWxkIGJlIHJlZ2lzdGVyZWQKKysgICAgYW5vdGhlciB0aW1lIGFuZCBpZ25vcmVzIGl0IChzdGVw IGlzIGFscmVhZHkgcmVnaXN0ZXJlZCkuCisrCisgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGly ZWN0b3J5CisgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2NoYXJseTFfc3Rl cHMucHkiIHdpdGg6CisgICAgICAgIiIiCmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg1LUFkZC1yZW5vdmF0ZS5qc29uLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDA4NS1BZGQtcmVub3ZhdGUuanNvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjhiMGYyMmQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODUtQWRkLXJlbm92YXRlLmpzb24u cGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRnJvbSBkNjViMzg5NTNiZmUxY2MzNDZhMjU0OGE4ZTYx NzIyOWRmODcwNThiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUmVub3ZhdGUgQm90 IDxib3RAcmVub3ZhdGVhcHAuY29tPgorRGF0ZTogV2VkLCA0IE5vdiAyMDIwIDA4OjQzOjMyICsw MDAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCByZW5vdmF0ZS5qc29uCisKKy0tLQorIHJlbm92YXRl Lmpzb24gfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorIGNyZWF0 ZSBtb2RlIDEwMDY0NCByZW5vdmF0ZS5qc29uCisKK2RpZmYgLS1naXQgYS9yZW5vdmF0ZS5qc29u IGIvcmVub3ZhdGUuanNvbgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmY0 NWQ4ZjEKKy0tLSAvZGV2L251bGwKKysrKyBiL3Jlbm92YXRlLmpzb24KK0BAIC0wLDAgKzEsNSBA QAorK3sKKysgICJleHRlbmRzIjogWworKyAgICAiY29uZmlnOmJhc2UiCisrICBdCisrfQpkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA4Ni1QUlBFUEFSRS1SRU5PVkFURS1XaXRoLWFkYXB0aW9ucy5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODYtUFJQRVBBUkUt UkVOT1ZBVEUtV2l0aC1hZGFwdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi4zOWE2ZDc2YzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg2LVBSUEVQQVJFLVJFTk9WQVRF LVdpdGgtYWRhcHRpb25zLnBhdGNoCkBAIC0wLDAgKzEsMTc1IEBACitGcm9tIDYxZjNhMzQxYjdh Y2NkMDU4MGFmN2M3YjJlOGRiNGNiNmE3ZjRiZWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdl ZCwgNCBOb3YgMjAyMCAxMDoyODo1OSArMDEwMAorU3ViamVjdDogW1BBVENIXSBQUlBFUEFSRS1S RU5PVkFURTogV2l0aCBhZGFwdGlvbnMKKworKiBQcm92aWRlIGxvY2F0aW9ucy9wYXR0ZXJucyBm b3IgcGlwIHJlcXVpcmVtZW50cyBmaWxlKHMpCisqIE1vdmUgInJlbm92YXRlLmpzb24iIHRvICIu Z2l0aHViLyIKKy0tLQorIC5naXRodWIvcmVub3ZhdGUuanNvbiAgICAgICAgICAgICAgICAgICAg ICAgICB8IDEzICsrKysrKysrCisgTUFOSUZFU1QuaW4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDQgKy0tCisgaXNzdWUuZmVhdHVyZXMvUkVBRE1FLnJzdCAgICAgICAgICAg ICAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKysrKworIGlzc3VlLmZlYXR1cmVzL1JFQURN RS50eHQgICAgICAgICAgICAgICAgICAgICB8IDE3IC0tLS0tLS0tLS0KKyAuLi4ve3JlcXVpcmVt ZW50cy50eHQgPT4gcHkucmVxdWlyZW1lbnRzLnR4dH0gfCAgNyArKy0tCisgcHkucmVxdWlyZW1l bnRzL3tSRUFETUUudHh0ID0+IFJFQURNRS5yc3R9ICAgIHwgIDAKKyBweS5yZXF1aXJlbWVudHMv dGVzdGluZy50eHQgICAgICAgICAgICAgICAgICAgfCAgNCArKy0KKyByZW5vdmF0ZS5qc29uICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSAtLS0KKyA4IGZpbGVzIGNoYW5nZWQs IDUzIGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCAu Z2l0aHViL3Jlbm92YXRlLmpzb24KKyBjcmVhdGUgbW9kZSAxMDA2NDQgaXNzdWUuZmVhdHVyZXMv UkVBRE1FLnJzdAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBpc3N1ZS5mZWF0dXJlcy9SRUFETUUudHh0 CisgcmVuYW1lIGlzc3VlLmZlYXR1cmVzL3tyZXF1aXJlbWVudHMudHh0ID0+IHB5LnJlcXVpcmVt ZW50cy50eHR9ICg4MiUpCisgcmVuYW1lIHB5LnJlcXVpcmVtZW50cy97UkVBRE1FLnR4dCA9PiBS RUFETUUucnN0fSAoMTAwJSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgcmVub3ZhdGUuanNvbgorCitk aWZmIC0tZ2l0IGEvLmdpdGh1Yi9yZW5vdmF0ZS5qc29uIGIvLmdpdGh1Yi9yZW5vdmF0ZS5qc29u CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzM5OWEwMAorLS0tIC9kZXYv bnVsbAorKysrIGIvLmdpdGh1Yi9yZW5vdmF0ZS5qc29uCitAQCAtMCwwICsxLDEzIEBACisrewor KyAgImV4dGVuZHMiOiBbCisrICAgICJjb25maWc6YmFzZSIKKysgIF0sCisrICAicGlwX3JlcXVp cmVtZW50cyI6IHsKKysgICAgImZpbGVNYXRjaCI6IFsKKysgICAgICAgICJweS5yZXF1aXJlbWVu dHMvYWxsLnR4dCIsCisrICAgICAgICAicHkucmVxdWlyZW1lbnRzLyoudHh0IiwKKysgICAgICAg ICJ0YXNrcy9weS5yZXF1aXJlbWVudHMudHh0IiwKKysgICAgICAgICJpc3N1ZS5mZWF0dXJlcy9w eS5yZXF1aXJlbWVudHMudHh0IgorKyAgICBdCisrfQorK30KK2RpZmYgLS1naXQgYS9NQU5JRkVT VC5pbiBiL01BTklGRVNULmluCitpbmRleCA2MGMyNjAxLi44NGQyMGY0IDEwMDY0NAorLS0tIGEv TUFOSUZFU1QuaW4KKysrKyBiL01BTklGRVNULmluCitAQCAtMjgsOCArMjgsOCBAQCByZWN1cnNp dmUtaW5jbHVkZSB0YXNrcyAgICAgICAgICoucHkgKi56aXAgKi50eHQgKi5yc3QKKyByZWN1cnNp dmUtaW5jbHVkZSB0b29scyAgICAgICAgICouZmVhdHVyZSAqLnB5ICoueW1sICouc2gKKyByZWN1 cnNpdmUtaW5jbHVkZSBmZWF0dXJlcyAgICAgICouZmVhdHVyZSAqLnB5ICoudHh0CisgcmVjdXJz aXZlLWluY2x1ZGUgaXNzdWUuZmVhdHVyZXMgICouZmVhdHVyZSAqLnB5ICoudHh0CistcmVjdXJz aXZlLWluY2x1ZGUgbW9yZS5mZWF0dXJlcyAqLmZlYXR1cmUgKi5weSAqLnR4dAorLXJlY3Vyc2l2 ZS1pbmNsdWRlIHB5LnJlcXVpcmVtZW50cyAgKi50eHQKKytyZWN1cnNpdmUtaW5jbHVkZSBtb3Jl LmZlYXR1cmVzICouZmVhdHVyZSAqLnB5ICoudHh0ICoucnN0CisrcmVjdXJzaXZlLWluY2x1ZGUg cHkucmVxdWlyZW1lbnRzICAqLnR4dCAqLnJzdAorIAorIHBydW5lIC50b3gKKyBwcnVuZSAudmVu dioKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9SRUFETUUucnN0IGIvaXNzdWUuZmVhdHVy ZXMvUkVBRE1FLnJzdAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjFkMWQ5 ODAKKy0tLSAvZGV2L251bGwKKysrKyBiL2lzc3VlLmZlYXR1cmVzL1JFQURNRS5yc3QKK0BAIC0w LDAgKzEsMzIgQEAKKytpc3N1ZS5mZWF0dXJlczoKKys9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cisr CisrOlJlcXVpcmVzOiBQeXRob24gPj0gMi43IG9yIFB5dGhvbiA+PSAzLjUKKysKKytUaGlzIGRp cmVjdG9yeSBjb250YWlucyBiZWhhdmUgc2VsZi10ZXN0cyB0byBlbnN1cmUgdGhhdCBiZWhhdmUg cmVsYXRlZAorK2lzc3VlcyBhcmUgZml4ZWQuCisrCisrUFJPQ0VEVVJFOgorKworKyAgICAqIE9O Q0U6IEluc3RhbGwgcHl0aG9uIHJlcXVpcmVtZW50cyAoInB5LnJlcXVpcmVtZW50cy50eHQiKQor KyAgICAqIFJ1biB0aGUgdGVzdHMgd2l0aCBiZWhhdmUKKysKKysuLiBjb2RlLWJsb2NrOjogc2hl bGwKKysKKysgICAgIyAtLSBGT1I6CisrICAgICMgcGlwOiAgRm9yIHB5dGhvbjIuNyBvciBweXRo b24zIChkZXBlbmRzIG9uIHBsYXRmb3JtIGFuZC9vciB1c2VyKSkKKysgICAgIyBwaXAzOiBGb3Ig cHl0aG9uMworKyAgICBwaXAgIGluc3RhbGwgLVUgLXIgaXNzdWUuZmVhdHVyZXMvdGVzdGluZy50 eHQKKysgICAgcGlwMyBpbnN0YWxsIC1VIC1yIGlzc3VlLmZlYXR1cmVzL3Rlc3RpbmcudHh0Cisr CisrCisrQUxURVJOQVRJVkU6CisrCisrLi4gY29kZS1ibG9jazo6IHNoZWxsCisrCisrICAgIHBp cCAgaW5zdGFsbCAtVSAtciBweS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKKysgICAgcGlwMyBp bnN0YWxsIC1VIC1yIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKworKy4uIGNvZGUtYmxv Y2s6OiBzaGVsbAorKworKyAgICBiaW4vYmVoYXZlIC1mIHByb2dyZXNzIGlzc3VlLmZlYXR1cmVz LworZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1cmVzL1JFQURNRS50eHQgYi9pc3N1ZS5mZWF0dXJl cy9SRUFETUUudHh0CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGFmNDk5ZjMuLjAw MDAwMDAKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL1JFQURNRS50eHQKKysrKyAvZGV2L251bGwKK0BA IC0xLDE3ICswLDAgQEAKKy1pc3N1ZS5mZWF0dXJlczoKKy09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistCistOlN0YXR1czogICBQUkVQQVJFRCAoZml4ZXMgYXJlIGJlaW5nIGFwcGxpZWQpLgorLTpS ZXF1aXJlczogUHl0aG9uID49IDIuNiAoZHVlIHRvIHN0ZXAgaW1wbGVtZW50YXRpb25zKQorLQor LVRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIGJlaGF2ZSBzZWxmLXRlc3RzIHRvIGVuc3VyZSB0aGF0 IGJlaGF2ZSByZWxhdGVkCistaXNzdWVzIGFyZSBmaXhlZC4KKy0KKy1QUk9DRURVUkU6CistCist ICAgICogT05DRTogSW5zdGFsbCBweXRob24gcmVxdWlyZW1lbnRzICgicmVxdWlyZW1lbnRzLnR4 dCIpCistICAgICogUnVuIHRoZSB0ZXN0cyB3aXRoIGJlaGF2ZQorLQorLTo6CistCistICAgIGJp bi9iZWhhdmUgLWYgcHJvZ3Jlc3MgaXNzdWUuZmVhdHVyZXMvCitkaWZmIC0tZ2l0IGEvaXNzdWUu ZmVhdHVyZXMvcmVxdWlyZW1lbnRzLnR4dCBiL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50 cy50eHQKK3NpbWlsYXJpdHkgaW5kZXggODIlCityZW5hbWUgZnJvbSBpc3N1ZS5mZWF0dXJlcy9y ZXF1aXJlbWVudHMudHh0CityZW5hbWUgdG8gaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRz LnR4dAoraW5kZXggZDBjNGJhYi4uZjBkZWY5ZCAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVz L3JlcXVpcmVtZW50cy50eHQKKysrKyBiL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50 eHQKK0BAIC0xLDEyICsxLDExIEBACisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgIyBQWVRIT04g UEFDS0FHRSBSRVFVSVJFTUVOVFM6IEZvciBydW5uaW5nIGlzc3VlLmZlYXR1cmVzLworICMgPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLSMgUkVRVUlSRVM6IFB5dGhvbiA+PSAyLjUKKy0jIFJFUVVJUkVT OiBQeXRob24gPj0gMy4yCisrIyBSRVFVSVJFUzogUHl0aG9uID49IDIuNworKyMgUkVRVUlSRVM6 IFB5dGhvbiA+PSAzLjUKKyAjIERFU0NSSVBUSU9OOgorICMgICAgcGlwIGluc3RhbGwgLXIgPFRI SVNfRklMRT4KKyAjCisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgCistUHlIYW1jcmVzdCA+PSAx LjYKKy0KKytQeUhhbWNyZXN0ID49IDIuMC4yCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRz L1JFQURNRS50eHQgYi9weS5yZXF1aXJlbWVudHMvUkVBRE1FLnJzdAorc2ltaWxhcml0eSBpbmRl eCAxMDAlCityZW5hbWUgZnJvbSBweS5yZXF1aXJlbWVudHMvUkVBRE1FLnR4dAorcmVuYW1lIHRv IHB5LnJlcXVpcmVtZW50cy9SRUFETUUucnN0CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRz L3Rlc3RpbmcudHh0IGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitpbmRleCA4NWIwOTA4 Li41Y2NkZGE4IDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrKysg Yi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK0BAIC04LDEwICs4LDEyIEBAIHB5dGVzdCA8 ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAnICMgcHl0ZXN0ID49IDQuMgorIHB5dGVzdCA+ PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisg bW9jayAgPj0gMi4wCistUHlIYW1jcmVzdCA+PSAxLjkKKytQeUhhbWNyZXN0ID49IDIuMC4yCisg CisgIyAtLSBORUVERUQ6IEJ5IHNvbWUgdGVzdHMgKGFzIHByb29mIG9mIGNvbmNlcHQpCisgIyBO T1RFOiBwYXRoLnB5LTEwLjEgaXMgcmVxdWlyZWQgZm9yIHB5dGhvbjIuNgorICMgSElOVDogcGF0 aC5weSA9PiBwYXRoIChweXRob24taW5zdGFsbC1wYWNrYWdlIHdhcyByZW5hbWVkIGZvciBweXRo b24zKQorIHBhdGgucHkgPj0gMTEuNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy41JworIHBhdGgg Pj0gMTMuMS4wOyAgICBweXRob25fdmVyc2lvbiA+PSAnMy41JworKworKy1yIC4uL2lzc3VlLmZl YXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQKK2RpZmYgLS1naXQgYS9yZW5vdmF0ZS5qc29uIGIv cmVub3ZhdGUuanNvbgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCBmNDVkOGYxLi4w MDAwMDAwCistLS0gYS9yZW5vdmF0ZS5qc29uCisrKysgL2Rldi9udWxsCitAQCAtMSw1ICswLDAg QEAKKy17CistICAiZXh0ZW5kcyI6IFsKKy0gICAgImNvbmZpZzpiYXNlIgorLSAgXQorLX0KZGlm ZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwODctUGluLWRlcGVuZGVuY2llcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODctUGluLWRlcGVuZGVuY2llcy5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmVlZWJkN2JlMwotLS0gL2Rldi9u dWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVo YXZlLzAwODctUGluLWRlcGVuZGVuY2llcy5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDky NzE2Njg0Nzc1NzRiMzE3YzcyMDk5ZWFiNTg3ZjUxNmFlMDgyZGUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBSZW5vdmF0ZSBCb3QgPGJvdEByZW5vdmF0ZWFwcC5jb20+CitEYXRlOiBX ZWQsIDQgTm92IDIwMjAgMDk6MzI6MzQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gUGluIGRlcGVu ZGVuY2llcworCistLS0KKyBpc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0IHwgMiAr LQorIHRhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQgICAgICAgICAgfCA0ICsrLS0KKyAyIGZpbGVz IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQgYi9pc3N1ZS5mZWF0dXJlcy9weS5y ZXF1aXJlbWVudHMudHh0CitpbmRleCBmMGRlZjlkLi4zOGY0NTJkIDEwMDY0NAorLS0tIGEvaXNz dWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAorKysrIGIvaXNzdWUuZmVhdHVyZXMvcHku cmVxdWlyZW1lbnRzLnR4dAorQEAgLTgsNCArOCw0IEBACisgIworICMgPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorIAorLVB5SGFtY3Jlc3QgPj0gMi4wLjIKKytQeUhhbWNyZXN0PT0yLjAuMgorZGlmZiAt LWdpdCBhL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQgYi90YXNrcy9weS5yZXF1aXJlbWVudHMu dHh0CitpbmRleCA4MTBmODM0Li45YzgyZDExIDEwMDY0NAorLS0tIGEvdGFza3MvcHkucmVxdWly ZW1lbnRzLnR4dAorKysrIGIvdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dAorQEAgLTgsOSArOCw5 IEBACisgIyAgKiBodHRwOi8vd3d3LnBpcC1pbnN0YWxsZXIub3JnLworICMgPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorIAorLWludm9rZSA+PSAxLjIuMAorK2ludm9rZT09MS40LjEKKyBweWNtZAorLXNp eCA+PSAxLjEyLjAKKytzaXg9PTEuMTUuMAorIAorICMgLS0gSElOVDogcGF0aC5weSA9PiBwYXRo IChweXRob24taW5zdGFsbC1wYWNrYWdlIHdhcyByZW5hbWVkIGZvciBweXRob24zKQorIHBhdGgu cHkgPj0gMTEuNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy41JwpkaWZmIC0tZ2l0IGEvbWV0YS1w eXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA4OC1yZW5vdmF0 ZS1FeHRlbmQtcGlwLXJlcXVpcmVtZW50cy1maWxlLWxpc3QucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDg4LXJlbm92YXRlLUV4dGVu ZC1waXAtcmVxdWlyZW1lbnRzLWZpbGUtbGlzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLjMzZWM4Mzg0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODgtcmVub3ZhdGUtRXh0 ZW5kLXBpcC1yZXF1aXJlbWVudHMtZmlsZS1saXN0LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zy b20gODVkMWYwMDlkOTMzZDM1NmU2NWE1NDhmMjllNGQ1YTFlNzhhNzJkMiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIu Y29tPgorRGF0ZTogV2VkLCA0IE5vdiAyMDIwIDEwOjU0OjAyICswMTAwCitTdWJqZWN0OiBbUEFU Q0hdIHJlbm92YXRlOiBFeHRlbmQgcGlwIHJlcXVpcmVtZW50cyBmaWxlIGxpc3QuCisKKy0tLQor IC5naXRodWIvcmVub3ZhdGUuanNvbiB8IDkgKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDcg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhLy5naXRodWIvcmVu b3ZhdGUuanNvbiBiLy5naXRodWIvcmVub3ZhdGUuanNvbgoraW5kZXggMzM5OWEwMC4uOWI3MmY3 NiAxMDA2NDQKKy0tLSBhLy5naXRodWIvcmVub3ZhdGUuanNvbgorKysrIGIvLmdpdGh1Yi9yZW5v dmF0ZS5qc29uCitAQCAtNCwxMCArNCwxNSBAQAorICAgXSwKKyAgICJwaXBfcmVxdWlyZW1lbnRz IjogeworICAgICAiZmlsZU1hdGNoIjogWworLSAgICAgICAgInB5LnJlcXVpcmVtZW50cy9hbGwu dHh0IiwKKyAgICAgICAgICJweS5yZXF1aXJlbWVudHMvKi50eHQiLAorKyAgICAgICAgInB5LnJl cXVpcmVtZW50cy9hbGwudHh0IiwKKysgICAgICAgICJweS5yZXF1aXJlbWVudHMvYmFzaWMudHh0 IiwKKysgICAgICAgICJweS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQiLAorKyAgICAgICAgInB5 LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCIsCisrICAgICAgICAicHkucmVxdWlyZW1lbnRzL2Np LnRveC50eHQiLAorKyAgICAgICAgInB5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0IiwKKyAg ICAgICAgICJ0YXNrcy9weS5yZXF1aXJlbWVudHMudHh0IiwKKyAgICAgICAgICJpc3N1ZS5mZWF0 dXJlcy9weS5yZXF1aXJlbWVudHMudHh0IgorICAgICBdCistfQorKyAgfQorIH0KZGlmZiAtLWdp dCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw ODktUElOLVJFUVVJUkVNRU5UUy1FeHRlbmQtdG8tYWxsLXBsYWNlcy5wYXRjaCBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODktUElOLVJFUVVJ UkVNRU5UUy1FeHRlbmQtdG8tYWxsLXBsYWNlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLjc1OGJkOTg3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwODktUElOLVJFUVVJUkVN RU5UUy1FeHRlbmQtdG8tYWxsLXBsYWNlcy5wYXRjaApAQCAtMCwwICsxLDkyIEBACitGcm9tIGE0 NWVmNjIxNDQwMzZiNDgxZTg0MzJiY2QyNjk4YTVmN2JmY2RkZDIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4K K0RhdGU6IFdlZCwgNCBOb3YgMjAyMCAxMDo1NDo0OCArMDEwMAorU3ViamVjdDogW1BBVENIXSBQ SU4gUkVRVUlSRU1FTlRTOiBFeHRlbmQgdG8gYWxsIHBsYWNlcy4gUElOTkVEOiBpbnZva2UsIHNp eCwKKyBQeUhhbWNyZXN0CisKKy0tLQorIGlzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50 eHQgfCAyICstCisgcHkucmVxdWlyZW1lbnRzL2Jhc2ljLnR4dCAgICAgICAgICB8IDIgKy0KKyBw eS5yZXF1aXJlbWVudHMvY2kudG94LnR4dCAgICAgICAgIHwgMiArLQorIHB5LnJlcXVpcmVtZW50 cy9jaS50cmF2aXMudHh0ICAgICAgfCAyICstCisgcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0 ICAgICAgICB8IDQgKy0tLQorIHB5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dCAgICAgICAgfCAy ICstCisgNiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMudHh0IGIvaXNzdWUu ZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dAoraW5kZXggMzhmNDUyZC4uNmUzY2Y4MyAxMDA2 NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQKKysrKyBiL2lzc3Vl LmZlYXR1cmVzL3B5LnJlcXVpcmVtZW50cy50eHQKK0BAIC04LDQgKzgsNCBAQAorICMKKyAjID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKyAKKy1QeUhhbWNyZXN0PT0yLjAuMgorK1B5SGFtY3Jlc3QgPT0g Mi4wLjIKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvYmFzaWMudHh0IGIvcHkucmVxdWly ZW1lbnRzL2Jhc2ljLnR4dAoraW5kZXggZjk3Njc0OC4uNmM2NDRlMCAxMDA2NDQKKy0tLSBhL3B5 LnJlcXVpcmVtZW50cy9iYXNpYy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9iYXNpYy50eHQK K0BAIC0xMSw3ICsxMSw3IEBACisgY3VjdW1iZXItdGFnLWV4cHJlc3Npb25zID49IDEuMS4yCisg cGFyc2UgPj0gMS4xOC4wCisgcGFyc2VfdHlwZSA+PSAwLjQuMgorLXNpeCA+PSAxLjEyLjAKKytz aXggPT0gMS4xNS4wCisgCisgdHJhY2ViYWNrMjsgIHB5dGhvbl92ZXJzaW9uIDwgJzMuMCcKKyBj b250ZXh0bGliMiAgICAgIyBNQVlCRTogcHl0aG9uX3ZlcnNpb24gPCAnMy41JworZGlmZiAtLWdp dCBhL3B5LnJlcXVpcmVtZW50cy9jaS50b3gudHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50 eHQKK2luZGV4IDQwMDFiYzIuLjIwYWU3OTEgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMv Y2kudG94LnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQKK0BAIC02LDcgKzYs NyBAQCBweXRlc3QgPCAgNS4wOyBweXRob25fdmVyc2lvbiA8ICAnMy4wJyAjIHB5dGVzdCA+PSA0 LjIKKyBweXRlc3QgPj0gNS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworIHB5dGVzdC1odG1s ID49IDEuMTkuMAorIG1vY2sgPj0gMi4wCistUHlIYW1jcmVzdCA+PSAxLjkKKytQeUhhbWNyZXN0 ID09IDIuMC4yCisgCisgIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1pbnN0YWxs LXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisgcGF0aC5weSA+PSAxMS41LjA7IHB5 dGhvbl92ZXJzaW9uIDwgICczLjUnCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRy YXZpcy50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAoraW5kZXggZGU0MTIwYS4u YzY5NDQ1YyAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CisrKysg Yi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorQEAgLTUsNyArNSw3IEBAIHB5dGVzdCA8 ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAnCisgcHl0ZXN0ID49IDUuMDsgcHl0aG9uX3Zl cnNpb24gPj0gJzMuMCcKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAKKyBtb2NrICA+PSAyLjAKKy1Q eUhhbWNyZXN0ID49IDEuOQorK1B5SGFtY3Jlc3QgPT0gMi4wLjIKKyAKKyAjIC0tIE5FRURFRDog Qnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAu MSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRz L2RldmVsb3AudHh0IGIvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CitpbmRleCBhOTJlZTVm Li5lN2RjNDE4IDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2RldmVsb3AudHh0CisrKysg Yi9weS5yZXF1aXJlbWVudHMvZGV2ZWxvcC50eHQKK0BAIC0zLDkgKzMsNyBAQAorICMgPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQorIAorICMgLS0gQlVJTEQtVE9PTDoKKy0jIFBSRVBBUkUgVVNBR0U6IGlu dm9rZQorLSMgQUxSRUFEWTogc2l4ID49IDEuMTEuMAorLWludm9rZSA+PSAxLjIuMAorK2ludm9r ZSA9PSAxLjQuMQorIHBhdGhsaWI7ICAgIHB5dGhvbl92ZXJzaW9uIDw9ICczLjQnCisgcHljbWQK KyAKK2RpZmYgLS1naXQgYS9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgYi9weS5yZXF1aXJl bWVudHMvdGVzdGluZy50eHQKK2luZGV4IDVjY2RkYTguLmQzYmNhMTggMTAwNjQ0CistLS0gYS9w eS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5n LnR4dAorQEAgLTgsNyArOCw3IEBAIHB5dGVzdCA8ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICcz LjAnICMgcHl0ZXN0ID49IDQuMgorIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICcz LjAnCisgcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisgbW9jayAgPj0gMi4wCistUHlIYW1jcmVzdCA+ PSAyLjAuMgorK1B5SGFtY3Jlc3QgPT0gMi4wLjIKKyAKKyAjIC0tIE5FRURFRDogQnkgc29tZSB0 ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAuMSBpcyByZXF1 aXJlZCBmb3IgcHl0aG9uMi42CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkwLXRhc2tzLUFkZC1pbnZva2VfY2xlYW51cC1y ZXBsYWNlcy1fdGFza2xldF9jbGVhbnVwLXIucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRl dnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkwLXRhc2tzLUFkZC1pbnZva2VfY2xlYW51 cC1yZXBsYWNlcy1fdGFza2xldF9jbGVhbnVwLXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwLi45YzY3MzU4ODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhv bi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkwLXRhc2tzLUFkZC1p bnZva2VfY2xlYW51cC1yZXBsYWNlcy1fdGFza2xldF9jbGVhbnVwLXIucGF0Y2gKQEAgLTAsMCAr MSw4MTE2IEBACitGcm9tIGRjOTFkNTUyYmE0NWRkMzQwMjJmMzdhNGQ0ZjMyOGQ1ZGU1YzFlMTcg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFdlZCwgNCBOb3YgMjAyMCAyMToxODoxMiArMDEwMAor U3ViamVjdDogW1BBVENIXSB0YXNrczogQWRkIGludm9rZV9jbGVhbnVwIChyZXBsYWNlczogX3Rh c2tsZXRfY2xlYW51cCksCisgcmVtb3ZlIF92ZW5kb3IvIGRpcmVjdG9yeS4KKworLS0tCisgcHku cmVxdWlyZW1lbnRzL2RvY3MudHh0ICB8ICAgIDMgKy0KKyB0YXNrcy9fX2luaXRfXy5weSAgICAg ICAgIHwgICAxMCArLQorIHRhc2tzL19zZXR1cC5weSAgICAgICAgICAgfCAgIDEwICstCisgdGFz a3MvX3Rhc2tsZXRfY2xlYW51cC5weSB8ICAyOTUgLS0tLS0tLQorIHRhc2tzL192ZW5kb3IvUkVB RE1FLnJzdCAgfCAgIDM1IC0KKyB0YXNrcy9fdmVuZG9yL2ludm9rZS56aXAgIHwgIEJpbiAxNzIy ODEgLT4gMCBieXRlcworIHRhc2tzL192ZW5kb3IvcGF0aC5weSAgICAgfCAxNzI1IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0YXNrcy9fdmVuZG9yL3BhdGhsaWIucHkg IHwgMTI4MCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB0YXNrcy9fdmVuZG9yL3NpeC5w eSAgICAgIHwgIDg2OCAtLS0tLS0tLS0tLS0tLS0tLS0tCisgdGFza3MvZG9jcy5weSAgICAgICAg ICAgICB8ICAgMzMgKy0KKyB0YXNrcy9pbnZva2VfY2xlYW51cC5weSAgIHwgIDQ0NyArKysrKysr KysrCisgdGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dCB8ICAgIDIgKy0KKyB0YXNrcy9yZWxlYXNl LnB5ICAgICAgICAgIHwgICAgMiArLQorIHRhc2tzL3Rlc3QucHkgICAgICAgICAgICAgfCAgICAz ICstCisgMTQgZmlsZXMgY2hhbmdlZCwgNDk3IGluc2VydGlvbnMoKyksIDQyMTYgZGVsZXRpb25z KC0pCisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRhc2tzL190YXNrbGV0X2NsZWFudXAucHkKKyBkZWxl dGUgbW9kZSAxMDA2NDQgdGFza3MvX3ZlbmRvci9SRUFETUUucnN0CisgZGVsZXRlIG1vZGUgMTAw NjQ0IHRhc2tzL192ZW5kb3IvaW52b2tlLnppcAorIGRlbGV0ZSBtb2RlIDEwMDY0NCB0YXNrcy9f dmVuZG9yL3BhdGgucHkKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGFza3MvX3ZlbmRvci9wYXRobGli LnB5CisgZGVsZXRlIG1vZGUgMTAwNjQ0IHRhc2tzL192ZW5kb3Ivc2l4LnB5CisgY3JlYXRlIG1v ZGUgMTAwNjQ0IHRhc2tzL2ludm9rZV9jbGVhbnVwLnB5CisKK2RpZmYgLS1naXQgYS9weS5yZXF1 aXJlbWVudHMvZG9jcy50eHQgYi9weS5yZXF1aXJlbWVudHMvZG9jcy50eHQKK2luZGV4IDY4Mzli YTkuLjEzODRlMDAgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvZG9jcy50eHQKKysrKyBi L3B5LnJlcXVpcmVtZW50cy9kb2NzLnR4dAorQEAgLTMsNyArMyw4IEBACisgIyA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CisgIyBSRVFVSVJFUzogcGlwID49IDguMAorIAorLVNwaGlueCA+PSAxLjYKKytz cGhpbnggPj0gMS42Cisrc3BoaW54LWF1dG9idWlsZAorIHNwaGlueF9ib290c3RyYXBfdGhlbWUg Pj0gMC42LjAKKyAKKyAjIC0tIFNVUFBPUlQ6IHNwaGlueC1kb2MgdHJhbnNsYXRpb25zIChwcmVw YXJlZCkKK2RpZmYgLS1naXQgYS90YXNrcy9fX2luaXRfXy5weSBiL3Rhc2tzL19faW5pdF9fLnB5 CitpbmRleCBhNTcyNDY1Li45YWU4OTliIDEwMDY0NAorLS0tIGEvdGFza3MvX19pbml0X18ucHkK KysrKyBiL3Rhc2tzL19faW5pdF9fLnB5CitAQCAtMjAsNyArMjAsNyBAQCBmcm9tIF9fZnV0dXJl X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIGZyb20gLiBpbXBvcnQgX3NldHVwICAgICMgcHls aW50OiBkaXNhYmxlPXdyb25nLWltcG9ydC1vcmRlcgorIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0 IHN5cworLUlOVk9LRV9NSU5WRVJTSU9OID0gIjEuMi4wIgorK0lOVk9LRV9NSU5WRVJTSU9OID0g IjEuNC4wIgorIF9zZXR1cC5zZXR1cF9wYXRoKCkKKyBfc2V0dXAucmVxdWlyZV9pbnZva2VfbWlu dmVyc2lvbihJTlZPS0VfTUlOVkVSU0lPTikKKyAKK0BAIC0zNSw3ICszNSw4IEBAIGltcG9ydCBz eXMKKyBmcm9tIGludm9rZSBpbXBvcnQgQ29sbGVjdGlvbgorIAorICMgLS0gVEFTSy1MSUJSQVJZ OgorLWZyb20gLiBpbXBvcnQgX3Rhc2tsZXRfY2xlYW51cCBhcyBjbGVhbnVwCisrIyBQUkVQQVJF RDogaW1wb3J0IGludm9rZV9jbGVhbnVwIGFzIGNsZWFudXAKKytmcm9tIC4gaW1wb3J0IGludm9r ZV9jbGVhbnVwIGFzIGNsZWFudXAKKyBmcm9tIC4gaW1wb3J0IGRvY3MKKyBmcm9tIC4gaW1wb3J0 IHRlc3QKKyBmcm9tIC4gaW1wb3J0IHJlbGVhc2UKK0BAIC01MiwxOSArNTMsMTggQEAgZnJvbSAu IGltcG9ydCBkZXZlbG9wCisgIyBUQVNLIENPTkZJR1VSQVRJT046CisgIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorIG5hbWVzcGFjZSA9IENvbGxlY3Rpb24oKQorLSMgRElTQUJMRUQ6IG5hbWVzcGFj ZS5hZGRfdGFzayhjbGVhbi5jbGVhbikKKy0jIERJU0FCTEVEOiBuYW1lc3BhY2UuYWRkX3Rhc2so Y2xlYW4uY2xlYW5fYWxsKQorIG5hbWVzcGFjZS5hZGRfY29sbGVjdGlvbihDb2xsZWN0aW9uLmZy b21fbW9kdWxlKGNsZWFudXApLCBuYW1lPSJjbGVhbnVwIikKKyBuYW1lc3BhY2UuYWRkX2NvbGxl Y3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVsZShkb2NzKSkKKyBuYW1lc3BhY2UuYWRkX2NvbGxl Y3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVsZSh0ZXN0KSkKKyBuYW1lc3BhY2UuYWRkX2NvbGxl Y3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVsZShyZWxlYXNlKSkKKyBuYW1lc3BhY2UuYWRkX2Nv bGxlY3Rpb24oQ29sbGVjdGlvbi5mcm9tX21vZHVsZShkZXZlbG9wKSkKKy1jbGVhbnVwLmNsZWFu dXBfdGFza3MuYWRkX3Rhc2soY2xlYW51cC5jbGVhbl9weXRob24pCisgCisrIyAtLSBFTlNVUkU6 IHB5dGhvbiBjbGVhbnVwIGlzIHVzZWQgZm9yIHRoaXMgcHJvamVjdC4KKyBjbGVhbnVwLmNsZWFu dXBfdGFza3MuYWRkX3Rhc2soY2xlYW51cC5jbGVhbl9weXRob24pCisgCisgIyAtLSBJTkpFQ1Q6 IGNsZWFuIGNvbmZpZ3VyYXRpb24gaW50byB0aGlzIG5hbWVzcGFjZQorIG5hbWVzcGFjZS5jb25m aWd1cmUoY2xlYW51cC5uYW1lc3BhY2UuY29uZmlndXJhdGlvbigpKQorK25hbWVzcGFjZS5jb25m aWd1cmUodGVzdC5uYW1lc3BhY2UuY29uZmlndXJhdGlvbigpKQorIGlmIHN5cy5wbGF0Zm9ybS5z dGFydHN3aXRoKCJ3aW4iKToKKyAgICAgIyAtLSBPVkVSUklERSBTRVRUSU5HUzogRm9yIHBsYXRm b3JtPXdpbjMyLCAuLi4gKFdpbmRvd3MpCisgICAgIGZyb20gLl9jb21wYXRfc2h1dGlsIGltcG9y dCB3aGljaAorZGlmZiAtLWdpdCBhL3Rhc2tzL19zZXR1cC5weSBiL3Rhc2tzL19zZXR1cC5weQor aW5kZXggZWRhNWNhOS4uZTY5ZWM4MiAxMDA2NDQKKy0tLSBhL3Rhc2tzL19zZXR1cC5weQorKysr IGIvdGFza3MvX3NldHVwLnB5CitAQCAtMTQsNyArMTQsNyBAQCBpbXBvcnQgc3lzCisgSEVSRSA9 IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKyBUQVNLU19WRU5ET1JfRElSID0gb3MucGF0aC5q b2luKEhFUkUsICJfdmVuZG9yIikKKyBJTlZPS0VfQlVORExFID0gb3MucGF0aC5qb2luKFRBU0tT X1ZFTkRPUl9ESVIsICJpbnZva2UuemlwIikKKy1JTlZPS0VfQlVORExFX1ZFUlNJT04gPSAiMC4x My4wIiAgICAjIHB5bGludDogZGlzYWJsZT1pbnZhbGlkLW5hbWUKKytJTlZPS0VfQlVORExFX1ZF UlNJT04gPSAiMS40LjAiCisgCisgREVCVUdfU1lTUEFUSCA9IEZhbHNlCisgCitAQCAtMjUsNiAr MjUsNyBAQCBERUJVR19TWVNQQVRIID0gRmFsc2UKKyBjbGFzcyBWZXJzaW9uUmVxdWlyZW1lbnRF cnJvcihTeXN0ZW1FeGl0KToKKyAgICAgcGFzcworIAorKworICMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyAjIEZVTkNUSU9OUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMzIsNyArMzMs NyBAQCBkZWYgc2V0dXBfcGF0aChpbnZva2VfbWludmVyc2lvbj1Ob25lKToKKyAgICAgIiIiU2V0 dXAgcHl0aG9uIHNlYXJjaCBhbmQgYWRkIGBgVEFTS1NfVkVORE9SX0RJUmBgIChpZiBhdmFpbGFi bGUpLiIiIgorICAgICAjIHByaW50KCJJTlZPS0UudGFza3M6IHNldHVwX3BhdGgiKQorICAgICBp ZiBub3Qgb3MucGF0aC5pc2RpcihUQVNLU19WRU5ET1JfRElSKToKKy0gICAgICAgIHByaW50KCJT S0lQOiBUQVNLU19WRU5ET1JfRElSPSVzIGlzIG1pc3NpbmciICUgVEFTS1NfVkVORE9SX0RJUikK KysgICAgICAgICMgU0lMRU5UOiBwcmludCgiU0tJUDogVEFTS1NfVkVORE9SX0RJUj0lcyBpcyBt aXNzaW5nIiAlIG9zLnBhdGgucmVscGF0aChUQVNLU19WRU5ET1JfRElSKSkKKyAgICAgICAgIHJl dHVybgorICAgICBlbGlmIG9zLnBhdGguYWJzcGF0aChUQVNLU19WRU5ET1JfRElSKSBpbiBzeXMu cGF0aDoKKyAgICAgICAgICMgLS0gU0VUVVAgQUxSRUFEWSBET05FOgorQEAgLTg2LDYgKzg3LDcg QEAgZGVmIHJlcXVpcmVfaW52b2tlX21pbnZlcnNpb24obWluX3ZlcnNpb24sIHZlcmJvc2U9RmFs c2UpOgorICAgICAgICAgb3MuZW52aXJvblsiSU5WT0tFX1ZFUlNJT04iXSA9IGludm9rZV92ZXJz aW9uCisgICAgICAgICBwcmludCgiVVNJTkc6IGludm9rZS52ZXJzaW9uPSVzIiAlIGludm9rZV92 ZXJzaW9uKQorIAorKworIGRlZiBuZWVkX3ZlbmRvcl9idW5kbGVzKGludm9rZV9taW52ZXJzaW9u PU5vbmUpOgorICAgICBpbnZva2VfbWludmVyc2lvbiA9IGludm9rZV9taW52ZXJzaW9uIG9yICIw LjAuMCIKKyAgICAgbmVlZF92ZW5kb3JfYW5zd2VycyA9IFtdCitAQCAtMTAyLDYgKzEwNCw3IEBA IGRlZiBuZWVkX3ZlbmRvcl9idW5kbGVzKGludm9rZV9taW52ZXJzaW9uPU5vbmUpOgorICAgICAj IHJldHVybiBuZWVkX2J1bmRsZTEgb3IgbmVlZF9idW5kbGUyCisgICAgIHJldHVybiBhbnkobmVl ZF92ZW5kb3JfYW5zd2VycykKKyAKKysKKyBkZWYgbmVlZF92ZW5kb3JfYnVuZGxlX2ludm9rZShp bnZva2VfbWludmVyc2lvbj0iMC4wLjAiKToKKyAgICAgIyAtLSBSRVFVSVJFOiBpbnZva2UKKyAg ICAgdHJ5OgorQEAgLTExNiw2ICsxMTksNyBAQCBkZWYgbmVlZF92ZW5kb3JfYnVuZGxlX2ludm9r ZShpbnZva2VfbWludmVyc2lvbj0iMC4wLjAiKToKKyAgICAgICAgIG5lZWRfYnVuZGxlID0gVHJ1 ZQorICAgICByZXR1cm4gbmVlZF9idW5kbGUKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgIyBVVElMSVRZIEZVTkNUSU9OUzoKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMTI1 LDExICsxMjksMTMgQEAgZGVmIHNldHVwX3BhdGhfZm9yX2J1bmRsZShidW5kbGVfcGF0aCwgcG9z PTApOgorICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgcmV0dXJuIEZhbHNlCisgCisrCisgZGVm IHN5c3BhdGhfaW5zZXJ0KHBvcywgcGF0aCk6CisgICAgIGlmIHBhdGggaW4gc3lzLnBhdGg6Cisg ICAgICAgICBzeXMucGF0aC5yZW1vdmUocGF0aCkKKyAgICAgc3lzLnBhdGguaW5zZXJ0KHBvcywg cGF0aCkKKyAKKysKKyBkZWYgc3lzcGF0aF9hcHBlbmQocGF0aCk6CisgICAgIGlmIHBhdGggaW4g c3lzLnBhdGg6CisgICAgICAgICBzeXMucGF0aC5yZW1vdmUocGF0aCkKK2RpZmYgLS1naXQgYS90 YXNrcy9fdGFza2xldF9jbGVhbnVwLnB5IGIvdGFza3MvX3Rhc2tsZXRfY2xlYW51cC5weQorZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAyOTk5YmM2Li4wMDAwMDAwCistLS0gYS90YXNr cy9fdGFza2xldF9jbGVhbnVwLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSwyOTUgKzAsMCBAQAor LSMgLSotIGNvZGluZzogVVRGLTggLSotCistIiIiCistUHJvdmlkZXMgY2xlYW51cCB0YXNrcyBm b3IgaW52b2tlIGJ1aWxkIHNjcmlwdHMgKGFzIGdlbmVyaWMgaW52b2tlIHRhc2tsZXQpLgorLVNp bXBsaWZpZXMgd3JpdGluZyBjb21tb24sIGNvbXBvc2FibGUgYW5kIGV4dGVuZGFibGUgY2xlYW51 cCB0YXNrcy4KKy0KKy1QWVRIT04gUEFDS0FHRSBSRVFVSVJFTUVOVFM6CistKiBwYXRoLnB5ID49 IDguMi4xICAoYXMgcGF0aC1vYmplY3QgYWJzdHJhY3Rpb24pCistKiBwYXRobGliIChmb3IgYW50 LWxpa2Ugd2lsZGNhcmQgcGF0dGVybnM7IHNpbmNlOiBweXRob24gPiAzLjUpCistKiBweWNtZCAo cmVxdWlyZWQtYnk6IGNsZWFuX3B5dGhvbigpKQorLQorLWNsZWFuIHRhc2s6IEFkZCBBZGRpdGlv bmFsIERpcmVjdG9yaWVzIGFuZCBGaWxlcyB0byBiZSByZW1vdmVkCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorLQorLUNyZWF0ZSBhbiBpbnZva2UgY29uZmlndXJhdGlvbiBmaWxlIChZQU1MIG9m IEpTT04pIHdpdGggdGhlIGFkZGl0aW9uYWwKKy1jb25maWd1cmF0aW9uIGRhdGE6CistCistLi4g Y29kZS1ibG9jazo6IHlhbWwKKy0KKy0gICAgIyAtLSBGSUxFOiBpbnZva2UueWFtbAorLSAgICAj IFVTRTogY2xlYW4uZGlyZWN0b3JpZXMsIGNsZWFuLmZpbGVzIHRvIG92ZXJyaWRlIGN1cnJlbnQg Y29uZmlndXJhdGlvbi4KKy0gICAgY2xlYW46CistICAgICAgICBleHRyYV9kaXJlY3RvcmllczoK Ky0gICAgICAgICAgICAtICoqL3RtcC8KKy0gICAgICAgIGV4dHJhX2ZpbGVzOgorLSAgICAgICAg ICAgIC0gKiovKi5sb2cKKy0gICAgICAgICAgICAtICoqLyouYmFrCistCistCistUmVnaXN0cmF0 aW9uIG9mIENsZWFudXAgVGFza3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0K Ky1PdGhlciB0YXNrIG1vZHVsZXMgb2Z0ZW4gaGF2ZSBhbiBvd24gY2xlYW51cCB0YXNrIHRvIHJl Y292ZXIgdGhlIGNsZWFuIHN0YXRlLgorLVRoZSA6bWV0aDpgY2xlYW5gIHRhc2ssIHRoYXQgaXMg cHJvdmlkZWQgaGVyZSwgc3VwcG9ydHMgdGhlIHJlZ2lzdHJhdGlvbgorLW9mIGFkZGl0aW9uYWwg Y2xlYW51cCB0YXNrcy4gVGhlcmVmb3JlLCB3aGVuIHRoZSA6bWV0aDpgY2xlYW5gIHRhc2sgaXMg ZXhlY3V0ZWQsCistYWxsIHJlZ2lzdGVyZWQgY2xlYW51cCB0YXNrcyB3aWxsIGJlIGV4ZWN1dGVk LgorLQorLUVYQU1QTEU6OgorLQorLSAgICAjIC0tIEZJTEU6IHRhc2tzL2RvY3MucHkKKy0gICAg ZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKy0gICAgZnJvbSBpbnZva2Ug aW1wb3J0IHRhc2ssIENvbGxlY3Rpb24KKy0gICAgZnJvbSB0YXNrbGV0X2NsZWFudXAgaW1wb3J0 IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycworLQorLSAgICBAdGFzaworLSAgICBkZWYgY2xl YW4oY3R4LCBkcnlfcnVuPUZhbHNlKToKKy0gICAgICAgICJDbGVhbnVwIGdlbmVyYXRlZCBkb2N1 bWVudGF0aW9uIGFydGlmYWN0cy4iCistICAgICAgICBjbGVhbnVwX2RpcnMoWyJidWlsZC9kb2Nz Il0pCistCistICAgIG5hbWVzcGFjZSA9IENvbGxlY3Rpb24oY2xlYW4pCistICAgIC4uLgorLQor LSAgICAjIC0tIFJFR0lTVEVSIENMRUFOVVAgVEFTSzoKKy0gICAgY2xlYW51cF90YXNrcy5hZGRf dGFzayhjbGVhbiwgImNsZWFuX2RvY3MiKQorLSAgICBjbGVhbnVwX3Rhc2tzLmNvbmZpZ3VyZShu YW1lc3BhY2UuY29uZmlndXJhdGlvbigpKQorLSIiIgorLQorLWZyb20gX19mdXR1cmVfXyBpbXBv cnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorLWltcG9ydCBvcy5wYXRoCistaW1w b3J0IHN5cworLWltcG9ydCBwYXRobGliCistZnJvbSBpbnZva2UgaW1wb3J0IHRhc2ssIENvbGxl Y3Rpb24KKy1mcm9tIGludm9rZS5leGVjdXRvciBpbXBvcnQgRXhlY3V0b3IKKy1mcm9tIGludm9r ZS5leGNlcHRpb25zIGltcG9ydCBFeGl0LCBGYWlsdXJlLCBVbmV4cGVjdGVkRXhpdAorLWZyb20g cGF0aCBpbXBvcnQgUGF0aAorLQorLQorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIENMRUFO VVAgVVRJTElUSUVTOgorLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1kZWYgY2xlYW51cF9hY2Nl cHRfb2xkX2NvbmZpZyhjdHgpOgorLSAgICBjdHguY2xlYW51cC5kaXJlY3Rvcmllcy5leHRlbmQo Y3R4LmNsZWFuLmRpcmVjdG9yaWVzIG9yIFtdKQorLSAgICBjdHguY2xlYW51cC5leHRyYV9kaXJl Y3Rvcmllcy5leHRlbmQoY3R4LmNsZWFuLmV4dHJhX2RpcmVjdG9yaWVzIG9yIFtdKQorLSAgICBj dHguY2xlYW51cC5maWxlcy5leHRlbmQoY3R4LmNsZWFuLmZpbGVzIG9yIFtdKQorLSAgICBjdHgu Y2xlYW51cC5leHRyYV9maWxlcy5leHRlbmQoY3R4LmNsZWFuLmV4dHJhX2ZpbGVzIG9yIFtdKQor LQorLSAgICBjdHguY2xlYW51cF9hbGwuZGlyZWN0b3JpZXMuZXh0ZW5kKGN0eC5jbGVhbl9hbGwu ZGlyZWN0b3JpZXMgb3IgW10pCistICAgIGN0eC5jbGVhbnVwX2FsbC5leHRyYV9kaXJlY3Rvcmll cy5leHRlbmQoY3R4LmNsZWFuX2FsbC5leHRyYV9kaXJlY3RvcmllcyBvciBbXSkKKy0gICAgY3R4 LmNsZWFudXBfYWxsLmZpbGVzLmV4dGVuZChjdHguY2xlYW5fYWxsLmZpbGVzIG9yIFtdKQorLSAg ICBjdHguY2xlYW51cF9hbGwuZXh0cmFfZmlsZXMuZXh0ZW5kKGN0eC5jbGVhbl9hbGwuZXh0cmFf ZmlsZXMgb3IgW10pCistCistCistZGVmIGV4ZWN1dGVfY2xlYW51cF90YXNrcyhjdHgsIGNsZWFu dXBfdGFza3MsIGRyeV9ydW49RmFsc2UpOgorLSAgICAiIiJFeGVjdXRlIHNldmVyYWwgY2xlYW51 cCB0YXNrcyBhcyBwYXJ0IG9mIHRoZSBjbGVhbnVwLgorLQorLSAgICBSRVFVSVJFUzogYGBjbGVh bihjdHgsIGRyeV9ydW49RmFsc2UpYGAgc2lnbmF0dXJlIGluIGNsZWFudXAgdGFza3MuCistCist ICAgIDpwYXJhbSBjdHg6ICAgICAgICAgICAgIENvbnRleHQgb2JqZWN0IGZvciB0aGUgdGFza3Mu CistICAgIDpwYXJhbSBjbGVhbnVwX3Rhc2tzOiAgIENvbGxlY3Rpb24gb2YgY2xlYW51cCB0YXNr cyAoYXMgQ29sbGVjdGlvbikuCistICAgIDpwYXJhbSBkcnlfcnVuOiAgICAgICAgIEluZGljYXRl cyBkcnktcnVuIG1vZGUgKGJvb2wpCistICAgICIiIgorLSAgICAjIHB5bGludDogZGlzYWJsZT1y ZWRlZmluZWQtb3V0ZXItbmFtZQorLSAgICBleGVjdXRvciA9IEV4ZWN1dG9yKGNsZWFudXBfdGFz a3MsIGN0eC5jb25maWcpCistICAgIGZhaWx1cmVfY291bnQgPSAwCistICAgIGZvciBjbGVhbnVw X3Rhc2sgaW4gY2xlYW51cF90YXNrcy50YXNrczoKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAg ICBwcmludCgiQ0xFQU5VUCBUQVNLOiAlcyIgJSBjbGVhbnVwX3Rhc2spCistICAgICAgICAgICAg ZXhlY3V0b3IuZXhlY3V0ZSgoY2xlYW51cF90YXNrLCBkaWN0KGRyeV9ydW49ZHJ5X3J1bikpKQor LSAgICAgICAgZXhjZXB0IChFeGl0LCBGYWlsdXJlLCBVbmV4cGVjdGVkRXhpdCkgYXMgZToKKy0g ICAgICAgICAgICBwcmludCgiRkFJTFVSRSBpbiBDTEVBTlVQIFRBU0s6ICVzIChHUkFDRUZVTExZ LUlHTk9SRUQpIiAlIGNsZWFudXBfdGFzaykKKy0gICAgICAgICAgICBmYWlsdXJlX2NvdW50ICs9 IDEKKy0KKy0gICAgaWYgZmFpbHVyZV9jb3VudDoKKy0gICAgICAgIHByaW50KCJDTEVBTlVQIFRB U0tTOiAlZCBmYWlsdXJlKHMpIG9jY3VyZWQiICUgZmFpbHVyZV9jb3VudCkKKy0KKy0KKy1kZWYg Y2xlYW51cF9kaXJzKHBhdHRlcm5zLCBkcnlfcnVuPUZhbHNlLCB3b3JrZGlyPSIuIik6CistICAg ICIiIlJlbW92ZSBkaXJlY3RvcmllcyAoYW5kIHRoZWlyIGNvbnRlbnRzKSByZWN1cnNpdmVseS4K Ky0gICAgU2tpcHMgcmVtb3ZhbCBpZiBkaXJlY3RvcmllcyBkb2VzIG5vdCBleGlzdC4KKy0KKy0g ICAgOnBhcmFtIHBhdHRlcm5zOiAgICBEaXJlY3RvcnkgbmFtZSBwYXR0ZXJucywgbGlrZSAiKiov dG1wKiIgKGFzIGxpc3QpLgorLSAgICA6cGFyYW0gZHJ5X3J1bjogICAgIERyeS1ydW4gbW9kZSBp bmRpY2F0b3IgKGFzIGJvb2wpLgorLSAgICA6cGFyYW0gd29ya2RpcjogICAgIEN1cnJlbnQgd29y ayBkaXJlY3RvcnkgKGRlZmF1bHQ9Ii4iKQorLSAgICAiIiIKKy0gICAgY3VycmVudF9kaXIgPSBQ YXRoKHdvcmtkaXIpCistICAgIHB5dGhvbl9iYXNlZGlyID0gUGF0aChQYXRoKHN5cy5leGVjdXRh YmxlKS5kaXJuYW1lKCkpLmpvaW5wYXRoKCIuLiIpLmFic3BhdGgoKQorLSAgICB3YXJuMl9jb3Vu dGVyID0gMAorLSAgICBmb3IgZGlyX3BhdHRlcm4gaW4gcGF0dGVybnM6CistICAgICAgICBmb3Ig ZGlyZWN0b3J5IGluIHBhdGhfZ2xvYihkaXJfcGF0dGVybiwgY3VycmVudF9kaXIpOgorLSAgICAg ICAgICAgIGRpcmVjdG9yeTIgPSBkaXJlY3RvcnkuYWJzcGF0aCgpCistICAgICAgICAgICAgaWYg c3lzLmV4ZWN1dGFibGUuc3RhcnRzd2l0aChkaXJlY3RvcnkyKToKKy0gICAgICAgICAgICAgICAg IyBweWxpbnQ6IGRpc2FibGU9bGluZS10b28tbG9uZworLSAgICAgICAgICAgICAgICBwcmludCgi U0tJUC1TVUlDSURFOiAnJXMnIGNvbnRhaW5zIGN1cnJlbnQgcHl0aG9uIGV4ZWN1dGFibGUiICUg ZGlyZWN0b3J5KQorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLSAgICAgICAgICAgIGVsaWYg ZGlyZWN0b3J5Mi5zdGFydHN3aXRoKHB5dGhvbl9iYXNlZGlyKToKKy0gICAgICAgICAgICAgICAg IyAtLSBQUk9URUNUIENVUlJFTlRMWSBVU0VEIFZJUlRVQUwgRU5WSVJPTk1FTlQ6CistICAgICAg ICAgICAgICAgIGlmIHdhcm4yX2NvdW50ZXIgPD0gNDoKKy0gICAgICAgICAgICAgICAgICAgIHBy aW50KCJTS0lQLVNVSUNJREU6ICclcyciICUgZGlyZWN0b3J5KQorLSAgICAgICAgICAgICAgICB3 YXJuMl9jb3VudGVyICs9IDEKKy0gICAgICAgICAgICAgICAgY29udGludWUKKy0KKy0gICAgICAg ICAgICBpZiBub3QgZGlyZWN0b3J5LmlzZGlyKCk6CistICAgICAgICAgICAgICAgIHByaW50KCJS TVRSRUU6ICVzIChTS0lQUEVEOiBOb3QgYSBkaXJlY3RvcnkpIiAlIGRpcmVjdG9yeSkKKy0gICAg ICAgICAgICAgICAgY29udGludWUKKy0KKy0gICAgICAgICAgICBpZiBkcnlfcnVuOgorLSAgICAg ICAgICAgICAgICBwcmludCgiUk1UUkVFOiAlcyAoZHJ5LXJ1bikiICUgZGlyZWN0b3J5KQorLSAg ICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHByaW50KCJSTVRSRUU6ICVzIiAlIGRp cmVjdG9yeSkKKy0gICAgICAgICAgICAgICAgZGlyZWN0b3J5LnJtdHJlZV9wKCkKKy0KKy0KKy1k ZWYgY2xlYW51cF9maWxlcyhwYXR0ZXJucywgZHJ5X3J1bj1GYWxzZSwgd29ya2Rpcj0iLiIpOgor LSAgICAiIiJSZW1vdmUgZmlsZXMgb3IgZmlsZXMgc2VsZWN0ZWQgYnkgZmlsZSBwYXR0ZXJucy4K Ky0gICAgU2tpcHMgcmVtb3ZhbCBpZiBmaWxlIGRvZXMgbm90IGV4aXN0LgorLQorLSAgICA6cGFy YW0gcGF0dGVybnM6ICAgIEZpbGUgcGF0dGVybnMsIGxpa2UgIioqLyoucHljIiAoYXMgbGlzdCku CistICAgIDpwYXJhbSBkcnlfcnVuOiAgICAgRHJ5LXJ1biBtb2RlIGluZGljYXRvciAoYXMgYm9v bCkuCistICAgIDpwYXJhbSB3b3JrZGlyOiAgICAgQ3VycmVudCB3b3JrIGRpcmVjdG9yeSAoZGVm YXVsdD0iLiIpCistICAgICIiIgorLSAgICBjdXJyZW50X2RpciA9IFBhdGgod29ya2RpcikKKy0g ICAgcHl0aG9uX2Jhc2VkaXIgPSBQYXRoKFBhdGgoc3lzLmV4ZWN1dGFibGUpLmRpcm5hbWUoKSku am9pbnBhdGgoIi4uIikuYWJzcGF0aCgpCistICAgIGVycm9yX21lc3NhZ2UgPSBOb25lCistICAg IGVycm9yX2NvdW50ID0gMAorLSAgICBmb3IgZmlsZV9wYXR0ZXJuIGluIHBhdHRlcm5zOgorLSAg ICAgICAgZm9yIGZpbGVfIGluIHBhdGhfZ2xvYihmaWxlX3BhdHRlcm4sIGN1cnJlbnRfZGlyKToK Ky0gICAgICAgICAgICBpZiBmaWxlXy5hYnNwYXRoKCkuc3RhcnRzd2l0aChweXRob25fYmFzZWRp cik6CistICAgICAgICAgICAgICAgICMgLS0gUFJPVEVDVCBDVVJSRU5UTFkgVVNFRCBWSVJUVUFM IEVOVklST05NRU5UOgorLSAgICAgICAgICAgICAgICBjb250aW51ZQorLSAgICAgICAgICAgIGlm IG5vdCBmaWxlXy5pc2ZpbGUoKToKKy0gICAgICAgICAgICAgICAgcHJpbnQoIlJFTU9WRTogJXMg KFNLSVBQRUQ6IE5vdCBhIGZpbGUpIiAlIGZpbGVfKQorLSAgICAgICAgICAgICAgICBjb250aW51 ZQorLQorLSAgICAgICAgICAgIGlmIGRyeV9ydW46CistICAgICAgICAgICAgICAgIHByaW50KCJS RU1PVkU6ICVzIChkcnktcnVuKSIgJSBmaWxlXykKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAg ICAgICAgICAgICBwcmludCgiUkVNT1ZFOiAlcyIgJSBmaWxlXykKKy0gICAgICAgICAgICAgICAg dHJ5OgorLSAgICAgICAgICAgICAgICAgICAgZmlsZV8ucmVtb3ZlX3AoKQorLSAgICAgICAgICAg ICAgICBleGNlcHQgb3MuZXJyb3IgYXMgZToKKy0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Ug PSAiJXM6ICVzIiAlIChlLl9fY2xhc3NfXy5fX25hbWVfXywgZSkKKy0gICAgICAgICAgICAgICAg ICAgIHByaW50KG1lc3NhZ2UgKyAiIGJhc2VkaXI6ICIrIHB5dGhvbl9iYXNlZGlyKQorLSAgICAg ICAgICAgICAgICAgICAgZXJyb3JfY291bnQgKz0gMQorLSAgICAgICAgICAgICAgICAgICAgaWYg bm90IGVycm9yX21lc3NhZ2U6CistICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfbWVzc2Fn ZSA9IG1lc3NhZ2UKKy0gICAgaWYgRmFsc2UgYW5kIGVycm9yX21lc3NhZ2U6CistICAgICAgICBj bGFzcyBDbGVhbnVwRXJyb3IoUnVudGltZUVycm9yKToKKy0gICAgICAgICAgICBwYXNzCistICAg ICAgICByYWlzZSBDbGVhbnVwRXJyb3IoZXJyb3JfbWVzc2FnZSkKKy0KKy0KKy1kZWYgcGF0aF9n bG9iKHBhdHRlcm4sIGN1cnJlbnRfZGlyPU5vbmUpOgorLSAgICAiIiJVc2UgcGF0aGxpYiBmb3Ig YW50LWxpa2UgcGF0dGVybnMsIGxpa2U6ICIqKi8qLnB5IgorLQorLSAgICA6cGFyYW0gcGF0dGVy bjogICAgICBGaWxlL2RpcmVjdG9yeSBwYXR0ZXJuIHRvIHVzZSAoYXMgc3RyaW5nKS4KKy0gICAg OnBhcmFtIGN1cnJlbnRfZGlyOiAgQ3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSAoYXMgUGF0aCwg cGF0aGxpYi5QYXRoLCBzdHIpCistICAgIDpyZXR1cm4gUmVzb2x2ZWQgUGF0aCAoYXMgcGF0aC5Q YXRoKS4KKy0gICAgIiIiCistICAgIGlmIG5vdCBjdXJyZW50X2RpcjoKKy0gICAgICAgIGN1cnJl bnRfZGlyID0gcGF0aGxpYi5QYXRoLmN3ZCgpCistICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoY3Vy cmVudF9kaXIsIHBhdGhsaWIuUGF0aCk6CistICAgICAgICAjIC0tIENBU0U6IHN0cmluZywgcGF0 aC5QYXRoIChzdHJpbmctbGlrZSkKKy0gICAgICAgIGN1cnJlbnRfZGlyID0gcGF0aGxpYi5QYXRo KHN0cihjdXJyZW50X2RpcikpCistCistICAgIGZvciBwIGluIGN1cnJlbnRfZGlyLmdsb2IocGF0 dGVybik6CistICAgICAgICB5aWVsZCBQYXRoKHN0cihwKSkKKy0KKy0KKy0jIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCistIyBHRU5FUklDIENMRUFOVVAgVEFTS1M6CistIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorLUB0YXNrCistZGVmIGNsZWFuKGN0eCwgZHJ5X3J1bj1GYWxzZSk6CistICAgICIiIkNs ZWFudXAgdGVtcG9yYXJ5IGRpcnMvZmlsZXMgdG8gcmVnYWluIGEgY2xlYW4gc3RhdGUuIiIiCist ICAgIGNsZWFudXBfYWNjZXB0X29sZF9jb25maWcoY3R4KQorLSAgICBkaXJlY3RvcmllcyA9IGN0 eC5jbGVhbnVwLmRpcmVjdG9yaWVzIG9yIFtdCistICAgIGRpcmVjdG9yaWVzLmV4dGVuZChjdHgu Y2xlYW51cC5leHRyYV9kaXJlY3RvcmllcyBvciBbXSkKKy0gICAgZmlsZXMgPSBjdHguY2xlYW51 cC5maWxlcyBvciBbXQorLSAgICBmaWxlcy5leHRlbmQoY3R4LmNsZWFudXAuZXh0cmFfZmlsZXMg b3IgW10pCistCistICAgICMgLS0gUEVSRk9STSBDTEVBTlVQOgorLSAgICBleGVjdXRlX2NsZWFu dXBfdGFza3MoY3R4LCBjbGVhbnVwX3Rhc2tzLCBkcnlfcnVuPWRyeV9ydW4pCistICAgIGNsZWFu dXBfZGlycyhkaXJlY3RvcmllcywgZHJ5X3J1bj1kcnlfcnVuKQorLSAgICBjbGVhbnVwX2ZpbGVz KGZpbGVzLCBkcnlfcnVuPWRyeV9ydW4pCistCistCistQHRhc2sobmFtZT0iYWxsIiwgYWxpYXNl cz0oImRpc3RjbGVhbiIsKSkKKy1kZWYgY2xlYW5fYWxsKGN0eCwgZHJ5X3J1bj1GYWxzZSk6Cist ICAgICIiIkNsZWFuIHVwIGV2ZXJ5dGhpbmcsIGV2ZW4gdGhlIHByZWNpb3VzIHN0dWZmLgorLSAg ICBOT1RFOiBjbGVhbiB0YXNrIGlzIGV4ZWN1dGVkIGZpcnN0LgorLSAgICAiIiIKKy0gICAgY2xl YW51cF9hY2NlcHRfb2xkX2NvbmZpZyhjdHgpCistICAgIGRpcmVjdG9yaWVzID0gY3R4LmNvbmZp Zy5jbGVhbnVwX2FsbC5kaXJlY3RvcmllcyBvciBbXQorLSAgICBkaXJlY3Rvcmllcy5leHRlbmQo Y3R4LmNvbmZpZy5jbGVhbnVwX2FsbC5leHRyYV9kaXJlY3RvcmllcyBvciBbXSkKKy0gICAgZmls ZXMgPSBjdHguY29uZmlnLmNsZWFudXBfYWxsLmZpbGVzIG9yIFtdCistICAgIGZpbGVzLmV4dGVu ZChjdHguY29uZmlnLmNsZWFudXBfYWxsLmV4dHJhX2ZpbGVzIG9yIFtdKQorLQorLSAgICAjIC0t IFBFUkZPUk0gQ0xFQU5VUDoKKy0gICAgIyBISU5UOiBSZW1vdmUgbm93IGRpcmVjdG9yaWVzLCBm aWxlcyBmaXJzdCBiZWZvcmUgY2xlYW51cC10YXNrcy4KKy0gICAgY2xlYW51cF9kaXJzKGRpcmVj dG9yaWVzLCBkcnlfcnVuPWRyeV9ydW4pCistICAgIGNsZWFudXBfZmlsZXMoZmlsZXMsIGRyeV9y dW49ZHJ5X3J1bikKKy0gICAgZXhlY3V0ZV9jbGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51cF9hbGxf dGFza3MsIGRyeV9ydW49ZHJ5X3J1bikKKy0gICAgY2xlYW4oY3R4LCBkcnlfcnVuPWRyeV9ydW4p CistCistCistQHRhc2sobmFtZT0icHl0aG9uIikKKy1kZWYgY2xlYW5fcHl0aG9uKGN0eCwgZHJ5 X3J1bj1GYWxzZSk6CistICAgICIiIkNsZWFudXAgcHl0aG9uIHJlbGF0ZWQgZmlsZXMvZGlyczog Ki5weWMsICoucHlvLCAuLi4iIiIKKy0gICAgIyBNQVlCRSBOT1Q6ICIqKi9fX3B5Y2FjaGVfXyIK Ky0gICAgY2xlYW51cF9kaXJzKFsiYnVpbGQiLCAiZGlzdCIsICIqLmVnZy1pbmZvIiwgIioqL19f cHljYWNoZV9fIl0sCistICAgICAgICAgICAgICAgICBkcnlfcnVuPWRyeV9ydW4pCistICAgIGlm IG5vdCBkcnlfcnVuOgorLSAgICAgICAgY3R4LnJ1bigicHkuY2xlYW51cCIpCistICAgIGNsZWFu dXBfZmlsZXMoWyIqKi8qLnB5YyIsICIqKi8qLnB5byIsICIqKi8qJHB5LmNsYXNzIl0sIGRyeV9y dW49ZHJ5X3J1bikKKy0KKy0KKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBUQVNLIENPTkZJ R1VSQVRJT046CistIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLUNMRUFOVVBfRU1QVFlfQ09ORklH ID0geworLSAgICAiZGlyZWN0b3JpZXMiOiBbXSwKKy0gICAgImZpbGVzIjogW10sCistICAgICJl eHRyYV9kaXJlY3RvcmllcyI6IFtdLAorLSAgICAiZXh0cmFfZmlsZXMiOiBbXSwKKy19CistZGVm IG1ha2VfY2xlYW51cF9jb25maWcoKiprd2FyZ3MpOgorLSAgICBjb25maWdfZGF0YSA9IENMRUFO VVBfRU1QVFlfQ09ORklHLmNvcHkoKQorLSAgICBjb25maWdfZGF0YS51cGRhdGUoa3dhcmdzKQor LSAgICByZXR1cm4gY29uZmlnX2RhdGEKKy0KKy0KKy1uYW1lc3BhY2UgPSBDb2xsZWN0aW9uKGNs ZWFuX2FsbCwgY2xlYW5fcHl0aG9uKQorLW5hbWVzcGFjZS5hZGRfdGFzayhjbGVhbiwgZGVmYXVs dD1UcnVlKQorLW5hbWVzcGFjZS5jb25maWd1cmUoeworLSAgICAiY2xlYW51cCI6IG1ha2VfY2xl YW51cF9jb25maWcoCistICAgICAgICBmaWxlcz1bIiouYmFrIiwgIioubG9nIiwgIioudG1wIiwg IioqLy5EU19TdG9yZSIsICIqKi8qLn4qfiJdCistICAgICksCistICAgICJjbGVhbnVwX2FsbCI6 IG1ha2VfY2xlYW51cF9jb25maWcoCistICAgICAgICBkaXJlY3Rvcmllcz1bIi52ZW52KiIsICIu dG94IiwgImRvd25sb2FkcyIsICJ0bXAiXQorLSAgICApLAorLSAgICAjIC0tIEJBQ0tXQVJELUNP TVBBVElCTEU6IE9MRC1TVFlMRQorLSAgICAiY2xlYW4iOiAgICAgQ0xFQU5VUF9FTVBUWV9DT05G SUcuY29weSgpLAorLSAgICAiY2xlYW5fYWxsIjogQ0xFQU5VUF9FTVBUWV9DT05GSUcuY29weSgp LAorLX0pCistCistCistIyAtLSBFWFRFTlNJT04tUE9JTlQ6IENMRUFOVVAgVEFTS1MgKGNhbGxl ZCBieTogY2xlYW4sIGNsZWFuX2FsbCB0YXNrKQorLSMgTk9URTogQ2FuIGJlIHVzZWQgYnkgb3Ro ZXIgdGFza2xldHMgdG8gcmVnaXN0ZXIgY2xlYW51cCB0YXNrcy4KKy1jbGVhbnVwX3Rhc2tzID0g Q29sbGVjdGlvbigiY2xlYW51cF90YXNrcyIpCistY2xlYW51cF9hbGxfdGFza3MgPSBDb2xsZWN0 aW9uKCJjbGVhbnVwX2FsbF90YXNrcyIpCistCistIyAtLSBFWFRFTkQgTk9STUFMIENMRUFOVVAt VEFTS1M6CistIyBESVNBQkxFRDogY2xlYW51cF90YXNrcy5hZGRfdGFzayhjbGVhbl9weXRob24p CistIworLSMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIEVYVEVOU0lPTi1QT0lOVDogQ09ORklH VVJBVElPTiBIRUxQRVJTOiBDYW4gYmUgdXNlZCBmcm9tIG90aGVyIHRhc2sgbW9kdWxlcworLSMg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy1kZWYgY29uZmlnX2FkZF9jbGVhbnVwX2RpcnMoZGlyZWN0 b3JpZXMpOgorLSAgICAjIHB5bGludDogZGlzYWJsZT1wcm90ZWN0ZWQtYWNjZXNzCistICAgIHRo ZV9jbGVhbnVwX2RpcmVjdG9yaWVzID0gbmFtZXNwYWNlLl9jb25maWd1cmF0aW9uWyJjbGVhbiJd WyJkaXJlY3RvcmllcyJdCistICAgIHRoZV9jbGVhbnVwX2RpcmVjdG9yaWVzLmV4dGVuZChkaXJl Y3RvcmllcykKKy0KKy1kZWYgY29uZmlnX2FkZF9jbGVhbnVwX2ZpbGVzKGZpbGVzKToKKy0gICAg IyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworLSAgICB0aGVfY2xlYW51cF9maWxl cyA9IG5hbWVzcGFjZS5fY29uZmlndXJhdGlvblsiY2xlYW4iXVsiZmlsZXMiXQorLSAgICB0aGVf Y2xlYW51cF9maWxlcy5leHRlbmQoZmlsZXMpCitkaWZmIC0tZ2l0IGEvdGFza3MvX3ZlbmRvci9S RUFETUUucnN0IGIvdGFza3MvX3ZlbmRvci9SRUFETUUucnN0CitkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IDY4ZmMwNmEuLjAwMDAwMDAKKy0tLSBhL3Rhc2tzL192ZW5kb3IvUkVBRE1F LnJzdAorKysrIC9kZXYvbnVsbAorQEAgLTEsMzUgKzAsMCBAQAorLXRhc2tzL192ZW5kb3I6IEJ1 bmRsZWQgdmVuZG9yIHBhcnRzIC0tIG5lZWRlZCBieSB0YXNrcworLT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0KKy1UaGlzIGRpcmVjdG9yeSBjb250YWlucyBidW5kbGVkIGFyY2hpdmVzIHRoYXQg bWF5IGJlIG5lZWRlZCB0byBydW4gdGhlIHRhc2tzLgorLUVzcGVjaWFsbHksIGl0IGNvbnRhaW5z IGFuIGV4ZWN1dGFibGUgImludm9rZS56aXAiIGFyY2hpdmUuCistVGhpcyBhcmNoaXZlIGNhbiBi ZSB1c2VkIHdoZW4gaW52b2tlIGlzIG5vdCBpbnN0YWxsZWQuCistCistVG8gZXhlY3V0ZSBpbnZv a2UgZnJvbSB0aGUgYnVuZGxlZCBaSVAgYXJjaGl2ZTo6CistCistCistICAgIHB5dGhvbiAtbSB0 YXNrcy9fdmVuZG9yL2ludm9rZS56aXAgLS1oZWxwCistICAgIHB5dGhvbiAtbSB0YXNrcy9fdmVu ZG9yL2ludm9rZS56aXAgLS12ZXJzaW9uCistCistCistRXhhbXBsZSBmb3IgYSBsb2NhbCAiYmlu L2ludm9rZSIgc2NyaXB0IGluIGEgVU5JWCBsaWtlIHBsYXRmb3JtIGVudmlyb25tZW50OjoKKy0K Ky0gICAgIyEvYmluL2Jhc2gKKy0gICAgIyBSVU4gSU5WT0tFOiBGcm9tIGJ1bmRsZWQgWklQIGZp bGUuCistCistICAgIEhFUkU9JChkaXJuYW1lICQwKQorLQorLSAgICBweXRob24gJHtIRVJFfS8u Li90YXNrcy9fdmVuZG9yL2ludm9rZS56aXAgJCoKKy0KKy1FeGFtcGxlIGZvciBhIGxvY2FsICJi aW4vaW52b2tlLmNtZCIgc2NyaXB0IGluIGEgV2luZG93cyBlbnZpcm9ubWVudDo6CistCistICAg IEBlY2hvIG9mZgorLSAgICBSRU0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0gICAgUkVNIFJVTiBJTlZP S0U6IEZyb20gYnVuZGxlZCBaSVAgZmlsZS4KKy0gICAgUkVNID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist CistICAgIHNldGxvY2FsCistICAgIHNldCBIRVJFPSV+ZHAwCistICAgIGlmIG5vdCBkZWZpbmVk IFBZVEhPTiAgIHNldCBQWVRIT049cHl0aG9uCistCistICAgICVQWVRIT04lICVIRVJFJS4uL3Rh c2tzL192ZW5kb3IvaW52b2tlLnppcCAiJSoiCitkaWZmIC0tZ2l0IGEvdGFza3MvX3ZlbmRvci9p bnZva2UuemlwIGIvdGFza3MvX3ZlbmRvci9pbnZva2UuemlwCitkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKK2luZGV4IGJkMTk0MTI4OWI0MjdiNmNkNmJlYWYxODhjODVkZWY1OGVlNGNlMzMuLjAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKK0dJVCBiaW5hcnkgcGF0Y2gK K2xpdGVyYWwgMAorSGNtVj9kMDAwMDEKKworbGl0ZXJhbCAxNzIyODEKK3pjbVpefVcyfFVGeDMj JT53ciQoQ1pRSGhPK3FQfW53ciQleSt1bldkbSVlJUwqU1dvdFQyKCgqTXlpckFHZ3JuXworekA+ ME1ja08yU25mVm82VHtHWX1EYHZMPk4yQyVTb3dYLXN6USZFTmgwT25EWFFQKStNUUZuMk4wc3NW ZzBSI1g1Cit6TEhfcnR7NkImSm4heTJWb3VlZEJuaF9IWGZkQnlQSz4re3x8MEFITVhKS3BNdGZ4 bjdAOX1ATUBLdDVoKlo9QUwKK3pmMyNlYndyc2NQcD8mN207Q0ZAPTJrKmgyWHZoYHdgUG8ycEko YXJEck49YV9DemVSa2MmQGpeSFhEITdaUXpTagorem9aYTJzI1p5PEE8NHdoeVdpZW5YRW49U0lW YkMlYk9DfW5QOWdfZ1AwZDBRNU1LKHF4bURiMz1pOWFxcG5aaG09Cit6WnxkckFuWj98PktPdXRT QWlTOSM7Tmg1THh1dlcqKHkjKGtmZFM1JkVMfDx9cjB1UEl6OV83THdrOFk3U0F+PjsKK3p1bmNm JllnbkcjUmVwQmYlI2ZURHEkaFR0MSt0UVNSYXRFNVhoYGRNc1NzYWxPWUMqOEV3S309RWYxdU92 YyRPeAoreis9YlE+UmYmSTZqQTdMMjBkdXRgcWVTR3xBJHZWaERgOFV8ell1aiomRnZ+fiZxKHYz Y2g/NjNwWTN9RVJ6Izg2Cit6NGNqNXo5QntNTmV0IU9KSEJ1M3xuIUZZVys/YmBTcFpIc1RsUT48 eyZDMEp7KlBzaHp4cHhuJj1kO0FEaDJlTiMKK3o/SU9DZkNAdz1wX3JAbWB5eVM1bGhIeW9EZHlE JUlRdjZoVz9rdnZPXmpFYUs4XlEyIyFeanxVQkBDMEllJGg9UworemM9Qn4qVHhuMjRRVV8zS09E LWA3aWRgTlkqZHd+JC1Rc2IqYmFpI3otYkx8ZDB0QERmPkV7TTU7XiZgRTR1cyVuCit6UCVMb2R2 KD12bW92ZC0rPGN0cW9gITJ6a01DbWRUXjB9TmdebGB7bj45PT9VMFAjZSlCQllmUEZDN2B0aDQ1 YGoKK3phKnprYmE+LW95dVJlcnA3Tm1sY1FFakcqM2FSaExrJCtTYjg5TjkjdCtGLTNVXj5xNzVa ezAtNHAlOFVzTD9gQAoreiF6RlVSaklTKUxvbDZPNmFoYSVPcmJlVUt6aGpIYEpsdGxVPypaSVEr MDNoalBWPWZycyMrVkxwKjspNllydTh+Cit6PzNYKmAxbnBSIzVVS0ZSVWJrMCt6UiUyIzxuczRm OSFxO0piKjt5aT53RHorWnJfaml7bH4zTnxKKjc+TjByYT4KK3omJHxsJCN7WUR5dEJJcU5nYE1x eHlPcntQY1dZRH1vZkhrXz9EU21KK19jbkdUJTIwSCR+XnROMHpMREIweyM0UAoreldZfDw3QCQm UVhiSz9Xa0JlTnFDNm16NmhxJS1wMmcwcSNTQmpFb2k4fVNlYzNENVJEb2wtO3FmRXEzVTBPYkZh Cit6amdnKFR3VFk0UXxKYUpTK0sxWnpRYUJ9QUhjbmZ1c1h3YFQwaThAI2xQTVhfRklqZHc5VTA5 elNzaCEmT1lWMlIKK3pfcn1FSCFQTHlpNk50cSZIbCZ8aHVpWEh7ZkQmNjl3V1RwNjI8K19hYmFO aG4jJkkkYHU5aitTV29XNTtaZV5xRworelhtbD8mS0ZhU282X0s0UEtNNzU2NlIjYz94WXhDe2dP OSlhYVIhWHRKNmxgI192VntnT3w7andQQ3AoK1Q0c0xeCit6P0pnXnM7QnBwYXplVkFgKDB1TDdj RjUzMWIlKDt4PXliMG9aP0w3UXJKQW0rYnhmWEw7TjA3fnkka2tUVHdPKXwKK3peb0N2ciFCeV4z Sm18WjZtJG53azJ7WHh4cHFrWEtUNTdEQGJqQGF5S1R8bEBaZmIofiZobD5tPTgofm05YkN5Kwor ekloIVNgcmdWQEU4ZzhWZUBNNWw9PVM9ODlCZThsTWRqbShgJFh3fW5HVH1JU0Z6KiE1V15WPyl3 ZWA/SVkzJlJ5Cit6OEIrbU1wdSQyLS1lflVKeio0T3dfWV5eKGtXWGJvd3JGP00tbmlrIWNpWHV2 O1kqYSs2ektsR3NNNWMqRHZyOD4KK3okPE40Z0licTtzUUB5RikqaiNiMEVZQXtSYnQ+YTB8QWEk ZktURnNzZllkfEo+c0VYUT9jZ1l6ekZ3e1pwLUd3UworekBKbTxoVyZvfGsycHsjTCFuKSp0SFkk O2A8UXFffnFAI2ozMiMxMHhLdVZoRV8rNFZYdkpGKElYMzF6PTRJKjE1Cit6UG5qMCtXLVImYXBk el9Pd0RlUG4/LWc5VDZtWmR+KX15R2Atb151XzNSckFVeFNXPF8/JTtATyQtbVo5PjFIUDwKK3pS JFUxLUkkZWQlU2g7TCU0Y1p9ez9JWUlqTTN2U29xXzNEKnlgKjhpbDtBbz9KejAxTis9Mk9lSkpn cjErfXpySworekkxb0t+YDEtPEpId2FNM2R1ZChtOURIJVp6TSs1d3B4VWB1ezk+c0NvPlchaGZg Q2VeZi0tV1dvMHZYcVhgP3NOCit6TXpVPH5wT1c7JjZ8UGdPcn55ME5vNiVjMiVER1dVTCtXdzRr bVJeJEBNNEZYKSQoRmB3anNCNmZ9SHxBPyVvIUwKK3ozZTQodXdJJklReGt3T1VqVGZ9SjxXbSgp ciNPYW4obUBkZXRgMkdlR1BWWkJUdlZFaE1SYmJneiY+Z0JeYEp3JAoremNIYjU1Yn5zLV9lT1dl U01AS1VIJWp0cVJOfXVFKzhqemcyeGlyenY8V1FKWkw/PyQ7YnZSR0FVRnp1KipNOTtYCit6VGZM XnpTRnp+UnpGSDxBPmN3eCZyI3wkKjd6JEdaMUtoPDhSRHJZZkIkUnNyOCRaYHh4b0c1eU9NJHtU ZjxzbWgKK3pBdkFGOVhhPjd2Y2xsNUIybzB1NThQTjltYCRGQkBZNjBiUThIRSQoPDZRLXwqZVAz SzhfO3tPakhYOTBOcyM5fQorem1hbXlXeWFAI1ckQT8rTmY4JlJJU3pCUmBDKEowPVUyejQ4TGQ4 aWx6KmwweUgzSGU4a3c9UihKMGRAVlQrPUpsCit6RDZqeGlKa0l3fGw4PDEqY3FBRGloeDlNU3Re K35jSWt5TmdBUUpDdHR3VCRqXlRQKStaTyRVYSVFa0hAVEpUZmwKK3pPc3Ykb0VDQH0qZTU2IWdF VXg3OUdGTH5kY285fUBBfl9pZVBle2FeM2dCZmVSKlFSVERYcVJQVHYyV0AhOzE+VQorej9IfE9t Q0AobTZlckRjS0h8VmJkaXN3R2x6YnJUU200eDxZY0hUP0UjQiU8ckxjJER7QmpIelFteClzdDR9 Pz5eCit6Unp8R2w5KUBXcVhCNz1iRXNmSXI2RyVSe0U4WHdmb3BNWllyRStAeyQpQ21fYF50JENf dTFvX3EoMkpYM1FuUG8KK3o9THt4KmBfeSpULSF6bGcxRkVfWi19VGBVe2BDdkFANkx5YHtEQ1Iw VUUja3h2PTI4YnBKO0NlI2F8Nmlma3g1cAoremVqWlZ2TD5qKipjISorWCZ1bFd6P3tuKmdAP2gx IzwleWwpV2hmOHNyZ24qdz8ocT9BWkUtdW1EWl5FfWRgMV96Cit6PEhpby0kYVZqS21gS0ZHZHBA dGZQMmImSUo0SjRXbzRmRHM5aURIWih+cFZpe0NJZjtYJShHNF5wOzc5a1lFJHsKK3pLRW1PbCNJ e2pZdlZSR0AmZSM0Tk9FQXdmaGApZGs0e198eWppNFApd20oSVYtWjNuUGRkTlklRiszb1puXnB7 ZQorejQ7bCNUJVF5NmNOZlQpUnxIPm9mNWxWalI4RkMqe3RSVVVXTUR5azZ5aXJWX3AjJHwoOVVq VDFNZD5vXlJPPWU1Cit6cHdAZ05SbCFqfWp+UishKyp+UWdST2tNX0A1JXQ0IWVyZFlNen0+LWJC MFlfZCtgMFIwYjJNU1dtMGRTdSV1fjIKK3o1RmlyQipKaVYwWUliSns0WEJCTz8tVzZDZDhXNDR0 az1zaSl2ITZRNkZROV9IKVhQe1h3fShVITtQbTx1NFhoKgorekl9cSZ5TCgjZiNtaUc8K0l2dTUz SWspSGM/eDYwbWQjUUVfe1dKQWpaVVpWRj5TMnpHS3AzYHYoMEptUVZaVkBoCit6PmNId1I7ITl8 aiZLSV9yPUk+fiNgN31ze0pDcndITDFHdlpfTFB3SiN6bXFgLUVBUUEpYnlPN2UyYURwSHdkcDUK K3oqKVotMDU2anVBNmo5Tn4pVGY8WFctJUxrPXxWZT9QeTg1fEM4RyRZTUQyMSY7bCh5O3BUeyN8 NERreFBEISVYJAoremp3JXYwdE0qQW5DcTZBX2xOTDQlent1UUJ1e0RDSmhLen47NFh7dFpIXldZ e1lmVUxsTTZhKzN5fkhaLVlIQGpLCit6azZHMUs/NylBRWBATEU1JDVMOW5qVmhXS0tHRWtRKHU9 N1I5YFQpeVQ5RT5hZ1J6V0dORkN3MDtoWWYjeGUjQjYKK3p2UmU+SDAodU8tMHFsKj9rYWA8Kih4 WWNvO0VJSio2aH1Dfld7PT5zaDVyd3dDQ25EPkMyWSY3Q35SRExwaG4xTworelZpZCRGckJ+S2FV dz1UfHpVU0Q7dW1XMi16R1BRTHpra1ooWTRlNn5jTCkjYCRBbjFtP31pbF54VjwzVjUkI1B3Cit6 P2N9PEdlZ2hLfjhZdXBBJmJzJUI1U2RBKmh6PD5ZNnh7JVJSMSlWb212dzxYRTQyNTRKT3lrKT8z OEhSTjRUc3MKK3poKkd+NyYqZmsrWHwmbiVZJXxSWiZpdCtPLWlrajVKZlEtb2s/dm9UV3ZPYTJV UjtOXk8zOVY9KWZWfiNscSpzSworekh+KFZQWSpvcCVKSjhSZC1LQ3xRdWQ8Xl9QXyhCUWs9aHQt Yi1acXZifnhMZEghVlI2dE5zWD8hdklSQjU3QG9qCit6T0kjZVY8Tmp4dmFsZEtOMmcmXzx4TEFK cllkMUo5VX1TV09leShsRT03fWYlOTBATFEyZEMhem9NbzV+PklkVG0KK3omensyYThvKXxIQWQo ayhHdmhFPGUwenFKSnVPTiVlWTFndzJGeS08PXpeeiFmT3hDJHQ9P3N0dnxie25hRmFXYworemAk YChNZz1NZlZLSyZLazhiQkBzaCFDRzB3R3I+MURXK0I0ano/Wj4wME9zdFo9S2UwdzVoRDlKSEFR cElTQEhXCit6RTVSOExGXyN3SE96dTEwe25teU0mPC1VRm5LKHZMQ0JPa2xMemxoRTU4WTFKVzBW M3ZGbWdNbj5xbnAqWVh5VW4KK3pIZ3gxM15iKlNTRGpoJnsqWWo9LWEwfW9WMmczLXViJTxGXmxk KXVEVkp9Pm9wPSFPcC0tflkme3c9YTA5T19IQworejVzdnJUO0VfZz56PXxkQEQ5QnNfI3NQTlEw bkh+eWRTU2JEVDQmUF5vXylPOF97YTBoWEYtMlgze2M8blJhO0BLCit6X0YkUV9nUCFecjNzNnB2 aURVazV6MWJRYldIb2V9MCFjPWdVVihfbXE8MEM2MzY+bm4rJlFIMWxYZDR0S2hfLWYKK3pCMFJW ZEM3OGNLNURAdXlRSm90bE9NIU5pZmF6ITA+fHRyX00tenZWMVRJLT0hXk5Zfk5OMXgpb00zKnpi M1peTgorekVOPHtEYHFVaSMlUH5acUZiMHk/S2xAYmNmV2Z9dih1LWVSJVZSYkxEPz1zRGxWRXpr I2VZMT93OWEmVkdNdTE5Cit6bE1mcUx5P20tQG1ib01yJCZmSj1zVl5sRlVJQkxqJSl1QjkhPHVB P2FuM3lZQEBXeFMjd2IoQVBRWlZfbT9MMEwKK3ppcVJnIWVabkp6Z2w5JVk0XnBUcUl8X0tpY2Qj ZzcrWn43YGYkdGRQUkRrTkQ0OD1GdXVyNCloKl54PGlla0AhPQoremd5PkxNZVpwY1hMWXlUM01q Y2p9T0UpI1c3U3Z0RVFIJCVYcj87UmFPYlo1e2hSKDk1UT9FWjIoKnwhbCtFTFlsCit6aCpsN1dD WnpUMXp1JG5Nc0Y4SCRYNnEzajw4TilodUdyMnZwRWZlM0s5Wm1VSW99RiFrd3ItKTBVRChHJlUj T1MKK3pjXnhSUEReTj9EMVN7WihwREE0Jk9yMWR0ZyZQQzNWQmsqYF9lJS0yeDtPLT9eSVkzdVNC KCluY3FmbXBBOzMqYworekl5RGNxQmRqPH4wcUplR3pNJm40LSlWSWRhSHo1MW1icSp5SXolO3g2 O1d2KVc7TEJDa0ZGSCF1JilzJlNTZl9qCit6Nj0kYXphZ3tPV0xlQHFwX3tpSCE1aUsoZERGdFp+ T1pFM3d7d1FINSFyJW05VmMjIUFRUVZaTHNDRUhKYXJpSmcKK3pefDFWTEB5dVE1Xkc5djVuKmsz OXpLOG5rdT1OdDBsPWdtJmw/OXFkYSR2YnlCX05pQVIoPz99K3ZNVmVaWmVDUworenRMdnF2elow dFFmUDwqQW5VT1dwP1JAKjxpR35vI2NpR0c0djRpNSptMl4kOVpfPGA2TDI4MCF5YWRxYGlPTnp5 Cit6P011R3trIyRnRVJqcj8tbjFhQ3JoXll6TUxgYmRiZ1hyRkcyV1V3b0IpVkJjP1BjZmRyKVYk Vm01RHVUbk9jI2YKK3poRDRockBCayFgSWxUTXBqaUNyNmU4bjZoKUFqbGI1SlZ5NT5yanhoe3pB bH5vTylrO3ohOCVwVkxmTmsyQXd4cQoremUwVmt+VjZFfj5gaD8pVSkqZHA2TnhZYkErO2haMGFT U089NmB+am50MmU8NWgycjhPJmB+Qkc2VzRQXk9vVyk0Cit6WiNaRDJUM058RyRQS0IlKUdAOUhM S1VnPD5sUXhQZ21EZDVtUUs+amlJMylzaDcobn0lM15CMFRYQkN3bD4zeD4KK3prWF5TMUtIMypG ZUdWPU14bH12dl9lQzA/WGRqWEh4UnBJOCNiJm5lTTJJIThGdXQ+NGRkQFlOUG1TWSgrTyp6ZQor ekZ6REZ5elFzS1FzY1olKnY4ZmRNSiRuSXBZMFlnREw3aWJzX1ZUdz1AcFJwcD8zTjZHYjUmbTNY aztfbC03JUE8Cit6eyFvez9MNGtgKjckNmszJHZzaV84aVYrcWt0ZnZQc0VMVTRyQjlKUTd3ZWtZ b1J2PiFMNEFXTWoxVnUqRm0mfFkKK3pzZVU1SGc2eExqKnNrTTRPbFFUTmF6LUp4PnJ5ZktmcD44 MG48eTJ4Sn56cHZfamdkc3p2YUFqQSlZP2M2blFGRgoreklkKz9mdHNjbkZzO1ZeMyVgJmBaNjBo X3FRT2soKDA/JkhgenNJSHQ1dHIqSldGbSM2VFRoODFiUylrcEFUY00zCit6SkVfQVRwX2UyWTdK OE1+aitFeGJDQ0FSQ1lrVVB2ZilwVihEak1Ya3klPlk3PSZWalZTKW81U3AxYEtuYzV0MDMKK3po Tmk4cTUzKCFMbV5+T2hiUDU4eGo3PG5oNGZub0w0USRGNk5iTFJoN3pMRUxtRW5Sa1JNaVZMXjdZ d1N2K2w5OAorekFWdWM7a3tCSitwSUo0ZWhOOFVHcFlafG8xQGdXVFJNMV5PIVk2LXgpQVE5Wm1q bWowbXw1aGdXfFhgIUBJSmdjCit6WDZNS0B2UC1SQylXUF98VmgtP2x0WilPS2xaPWdTZ3gyPzxe dUkqKV5LQVNUSEpAOFQtTVdXIyVyTVFjRVA2TXsKK3otRGVqeWZpdTcwalVFMSZ5ZktkTyohNHxV Z0UxeFFVPntvcWoxQ1dsZnooJk16Ml9mKT0jSDtkU2pCQ0UzT0FfbgorenJXfCUoWDxXKUxkVzkq TTRVamN1bkkjd3FyRFF1cHotRCMyZ2d5WnY9Z0o3QE5EbF9kPzJnQ2R1OWZ7TnpgSnEtCit6d0VH MWlzNX15e15nV3NYPFohcm15Jj01cTBCVlVZME1eTSlxSnFudUJQYkNGN2xTOUZXciU1aE0rK3pO TUc3RTIKK3pjfVJLeyolLVUySXhYaUR7cVlsY3R5P2JFOD1eUkNQc2ZPVXxKdVBiZnpPKkJFPmdk N1Z6KXlmWSNwTFomKiZnLQorem0haF9uVGFyd1VuN0lMa25ua3o2YjFsN0M9OWBKMndzTCohR3Ew QmY5QVItViNecSQ9VUNFb0d6byh3TT5xcCp3Cit6QGZKUGMoe0pAPmJBZ0JXJUs1N0FIJlUyJks9 RDlnM20yVmxla3RFdHZLLWVZTU49YDxGQlZFdHMxVlhMe090TUwKK3pKYz45Ujs8VXFETzQpZDky REI3cW9nNWdXKGZRen49RkQqeGlIIW9fIW4wa0JyR3R+VGA+QnNCOTY5RyQzPWAybAorenZ3RHFI SHteZXo1PXBTdD9jdSNEaDhPLUQrZVQzVSR4JmpFQV5oRz01bDxwciVSNEpUY05TO0M0NypsST9f VHB8Cit6KUpxezc9MHw7K1coS2JgKXI5Xk9SK1ctQlpOVTt6QVFaQEBqP1hmVUNzUSt1SG95REgl RDJUKGo9K0ZeJEc5R3IKK3pAJlJsJHgwVDVWP3EpITY+X2ZWKCU7dmloci15aEghe3wzP0olJFA7 T35PKyhwTWZZezhld01hcUlFPiQxdX01PQorek19WXFCQFk/NVklRnp4JXhvNnNtT2ZGanlTNGU0 WiQkZ292Oz4mTkQmNGJEQTkjVH1Uc2Q0YDx6emVyOD1MZCZRCit6I2FPRHZwRCMqKHQ5YShaVzJi RiRXeFpoaWczQGBPTSl3KihXfDJvWDY0dWwjOCNwTnc3ZDtmXz9KQWBHKSk+MD8KK3p1bUE+M19A WWQoNm1JR3JYezNSNCRjbj5fKX4mYFp1aWdAVUZSMzNEKkBhZEAtPDF5WSlZVVUyJDcxRmkqXzBC TAoreigqaUlncSFAXlI9bCRASygkZVJybkhLel5pOzR0PChNIV9wdV42MUZ5OHRnNWxubk9mJiRp Xl9wbkdNfGA9cFhkCit6KF9PO2I2ezNhV1QkcWl3R1U/TzNvdXltNyRwV1NhWlBIbn4lcHMzbSRB WD5AIyhhQC1lR0VtYypuMlpMXzdraWYKK3pXZiR4bmZWR3M3PjFMdDw1eWY5Pj8wNCNsVVhvQXVo I14obnhVZW5eYEpuazNKTnhiNkw4SzZYWit4PF5lMlVjfQorenBeNHp+cSlaTjFveiRWNE9yWldB YUklbERzOFVTdTxsfnI/Y0UzbXpiOzBPT2g9VEEzNXNFNkspKSk3aXNwJEIkCit6VlR9cX1KUlQt VSM5VGYkT2lZI3NYUmxNPE44O3dXdj5TdGxsYktoJUdFezhDLW9FSWtARXl9V0J9S2FlT0hQXiUK K3o/fTdkPT9DWEJ6MCtealBjUWBxMTl6czxVbllVZCVGSENsRmJkXzZ5JndgfGF5Sm5ocXZlOysl U0RvNWoqVCMoeworekxwUFlsK2B0JXNJRChKS3BBRHQ8KCVKVWpEd19nS2R6NE5yYWtXNiQmP3ZP dEVzbzBpQW5lN3daUm94Z2ZTbSZyCit6c3QrNXZ7WEQ8Knd9SnI2Xk1KYV5yOH1HZWxYJTdKYzJ2 fiQ4X1ZnRl5VfVJsWFhrK1VfdGtPNntBO3IwdDNpWkAKK3pZenBkbTdYdFlhUzZPcFgrRTczeHZY e15IO21+NWZgd0AjVEJwa2lFQjdgRVRIbk1KfjwmfU5IX3ZqOXxucjRscQoremNzRWtoWGxCalRz OShfa2dtMz9xZDY5Y1R5NyZFeWk0RWNZdWtnKnQmY0AhXyNNJEooIT8qdlIjNEFOakRydClxCit6 eTd5QnBlfEJJb3h8KEB5PH1GIWJ2SDhOdEc7Mnc9USVXaiVNeDc4UlFQVjV5cjRNYWlzTCtfcSMl RnlZNSs0YE8KK3pBOHl7VUwlVW0xWFV3P0FIc25+bzsmJERVRG1nZS0mNUpiVExLXlVFeEB6fFV2 c0YoMm1BSTZIbzRhflZBZVdEdQoremYybVFZTCVuYmA8VUNlVllvNDFvISlJelBOfkF+eWpEJTBe T1BteHNfLU1fezBPfkVxVm8xLWIjdT1WXzVlZz97Cit6K2t5TUMjezVXTnJ0UH5IQVpZRzIoUGYo Jkg3YipoMFd+K0Y0SFRUQlRLfnFVcjEtP0ZTKkBiPTFjZjdVan5jKmwKK3paaHpJJTBjMXNzLUxo cT04ZHdvTHF2RjFZcjUtNWArWT94M3VlQ1ZPOX5nKyU0S21uVThPNzxgaFc9eW1YLW01OQorelha LSRLJilJZEtxWig0WjF+Tj4pIWVjREJ5NW5VezJZPSYxV2p0VjhwdmJ4Sz19KWlzWl9iYUcjXkZg JGhCZiFaCit6Qllnanp4bGtuRWdoP1FfRUQrOFApNip0cGM/d3ordkdLZUpuTnA/XjczcE1QWlFl IXo1byk7Uz1Rcz5LYDE/MnwKK3pzVHdOcGJFeDdyN1ZAR1k4TF5kczBSKTN8bEA3K2E9VHkwSUV8 YG5mRUo/WG90KD5PJVI4VTV+NlZoVDxNO2ZrRgorelRJfiRDTyVUN2swam0rTlI4P1gyTUU0SytH K2NUYFk4TjMoZTFWRSRXTmdyJj1QSD9qQSFIVWZUKilmbVpqR0tkCit6Yjw3Q1lEZSpQMFIqaFBM QSRCSVRsdFdUREVFeiVHLTUrQkY2dGJIfEBJaUxCYG9GTj07fWtoeil9Q1d+anV1O0YKK3phWX54 ez4yZlYxNzckZ0hZblVhZjIjSmd4S1koXkUmYGMpYUtsdUtoYEcoMnVlPXdRWGpvOGRHe2NifT5n QTIkYQorejBzLT9fRndKVnAyP0UoVGpwI2QrWWE1Tyh5YDJYeCVNaHdTUW5ZNV9lcSFBd1NUZkBR JDI9LU4rYVR5SUs9RDYlCit6cXEmVz9uUj5qVSorUVhtVEBWdXMxVyhqLXlzRTZMckVaQ3QmWktu IzZiRF9VYmZLQ2g+dWJzQ2VMV0lCe3NrME0KK3pfUV99OUNDWWdsWWU0Ti0haEVGcmVGcDJqVEI8 bllKRig3VCg1JlVRWiprcV5YRCgtZ0hBJjFVSz81QSFlfD49Sgorem5lQGZiNUpJMilENCgqZDJL MT8kUWdNeyNGQElYUER0MH5hK3A8NWZnZGhhPHtgeE1tO3ZFWkFDUGw7T1JySFFyCit6ajQlKiZB ekRuakEkdnJ+eTxDSihDT3FwMkNRQzhyeWhIe0lLS0JXdW9gay1eKFAkYXA3TXVzUDR7VVhiazlk ezkKK3pDZD4mdlBIRDhyQUhoTFQ9NDR2MVZtcngwMjRfZD0pRXd4XipETGY/TTtWa0JlR2lETipf dnxQbCRxVkBDTTNaJgorenZKZXdyd0NEY3VvMC1tQ0l6V0dSRzdyOzJhdjM8SWFGUSkmYFQ8V318 QlclWDtSSVhNbzllV2crNGx4TWdRXik+Cit6IUo/NCY8cnNmfThsYntteEdOODcjP1orZWRMa01h eih4bnw0diFRezw5dERjKzh1P3FXJVlrTitDdFpVe1BfS04KK3p2cFQqUmo1OHxZdzAlX3VWVyo1 ZzglcXEwSnxPa3FOfV9ge0cwU0FHVGFIYkl0Ul5YeGNeayg0OHxubDNoLX5nWgoreig1WE52TW4h SnhNSSE7SGsjI1h5OSRwXnxQdSFNP0Y2SE1Tczt5ZEsmUzlJb2w/eGZTdkZeJmBeU09KSXV7PihS Cit6RTk1UTkzUUsxeXl8fjNrZn1ObzFZQGEqV0dMMWJTbXg8Uj16MnJ7fGdSalJXXld8T2ExOUNe eSVPbG9XcW9TKzwKK3pwSHpnUXlrNmhpNjh+SUVfRyo/JXs+Nj0tTFZaIz5YYUtpaUwwOEY+Wk5E TU42Xy00UGxvWDNHQUQmVEJEOFVDVAoreiM7Z1J7UU1DQV91RFNnLS1RKUN1KnZVX0EkNlliK049 KG48M0BrT2NRLUhIQVM4eyYkKDZ+WDBhU3d+QVIjMXBRCit6S21HPldEJW5FWF9tfHskYWJNeiEm KURPI0ApaEE1UWtGQnMqbX5KeE1sUHxGRU1ZIWk7IUpSelYoJVNjTEtfZ0oKK3pkQ295VmhtRz4o YCFMZzNjcyMrUHg7NVhAZDFObHVMZmF2Nzl7MjE4dnNyfTVUcGJVcD9yQUlHK2UkYy1LJkwmZgor ejtVNHQ0MjVZd354biZmdG8/MiVqWXpyYnByPktVJVk4PEAlN041PncjbjZOJF48SEBLOXd0SWdq IUhZfGktWUV6Cit6V1Y9d09FbEs5PjA3S3hXNTU5czBKQiohPmB5aClhKV9yWn1IZlkjSm92aFJm SUd1LUEpLUd+WjxEdUFfcT9HR30KK3pPRG92aHsjTGo1NGVVUnlBbXxeNWRGP1Z3VjhhRmdmWUFa fmZkOE5QIWA5VG8/N3RnPD0+SlkoZGJJREh3cGJUYAorelp1QHstT2VyWitHT2s+OT1gSzR1dj0/ X3pIYipsXlpPJSY1NjM3dH4pcz4yNGBLKyVUSiRfJUBAXms8fCMzeUMlCit6YXdfYFBOZHJhPDh+ QWN7MEgkQlU4WkRJLWFid0xnelBfej1QKyNzRWRBRjJMYSglX1orQlliK2lsLXd4RCZhZzwKK3om JH49KHBMUGduN2g2fFhHTWVMVG9mQUAxWjFsfEIlcl5lPzZ8VmloODlKMW5uXm9eSD80SWVCeDFh TE9JX3FBMgorelp2OEJAO0tiV2k3SlZJak5jQ31SaUc4d2ZuMXN+RXJta2krKSp5YiVxK1o9a3ZY Xk0mQy1xN182KTRia09zdUo+Cit6czZzdTlfd2VAZWBaYDQzSkw7cyQ+P3I+b1B9Rl5xMnMmQ2dR MCE2UWAwbEVIemlBR0Nee21Ceik/aD0oRypNdTYKK3o8c2tHKVRhbj9wVkh1UHckIWV1c3spOThA QSFCbjtrXjYqfUNpYFR9Tm5hcDU0YTlCayRlbElhV2xaTi1zTjJnaQoreiFlbnxGZCUoIW1DfE1l YklyKTJhTkxuPiVTUWo8Z2R3ZW9JUz1lZ2hPSTtpRihDVXhBaXduMmVZP1ZkYk14KXFjCit6K2pq YSs1Y2lLPFlARGRfXj81JVpVWUBhO25WQ3U4dUM7Z351PkhOTj9CPGY0ZGFtUU5uMH1nX258cHVW Yk4wPCYKK3pOb3k0KlQtJkZpWU9TMWlETjslP20zWStIVy1jYT5ENkJ3JERPRnV+WStOX3FRZ0kk dC1vPHVLdn1xKXNlTFRgTworelgoN3kjVEluUVNnM2hkfXU1anRpcGtrQy1OeG5wLSM2U31ocHtl T3phQSZiRiVDVWhlNnRLKiYqR3FLVXowe1BVCit6JTR0QH4qKlg3V2tKe0ZMaXhhIVZWOTJjNTNk UCpMWjhSPXg/Tms4RV5jOEsrKUtPe08hdWN9YCp+bkNxSEVkcmgKK3omTXMoOFFEZnkmayhvTm8o Ml9WUG13NDZnXz17bGtgYnR9eXcpVX1wcDtxK1RAfmcrPEVxRjVvI3doWWk/KFJucAorel9wX0lP YGN2bTNCI0dETkYoJjZGZWs5dUUkMX07QzdwX0Ikaz89N3M+KTdHXzh3TkxaO3NLJSluUlQlZnQj JXRyCit6VG1sNGYmQmJiTmtqWUxwJGwpdyleMUZJc04/KXYxZnFtUDlVJDt5TzZFbHBkbHE2fTZx U2wkdDN7T1d6PSlre08KK3pVfjhuOTZxRVJ6eG9qTmpVfjVqM3JqZnVoYitTeDhvVHJpVitQUlRa O1JIZFNNZ2w+U09YfFUrX0JPQGpxVW9wVQorejtLYEtwSzFXI09vd25WMzJVST9nUVBpaTZJN0Ur cEQzcU1OSSlgPFQ7T1gtR2F1cCh9MXB+dGpCXnNPNlBPV1Q+Cit6QD04Y0liQGpxOylmcVBkazdX M2F0O0YqUks5WllpPTIzZj85anNLPHFCPHNoTWdnJXtXKTcyUFY9RmQjMFU+KDYKK3ooRGNFe2gz JC00KFByTVQrVndeJUJ3d31DTzBCZFNre1Y1Q0NJMFopeFkkZjdsZl9+akQkR1I3WkZud0dne3N2 PgorekxnNjFvUDB8UFNufTRhM28hWWh4dT1LRUFPYzJifTYhYGAqU1ZIQ2omS31yYjJIJDk5VjBo SF9LXzAreEUtOFRNCit6OF4yeWhAaWIoI2FEUldPNG0oN0IzSVBYX215aiV6QXFFSCRpSjJ+SWli M0I/aCZeVnNXRGFyX3EoR3QmZz0/ZnsKK3pAN0phdzw0X3JTZm1Vcz5iZWg5O2JtMmNJbFd8N09F cmYyKFlCRjlfT1IyY19zQWZYMFh+KTg5cUJXa19gI1ZJbworejAlckNJSmp4RmNkIU49ZGkmMzFC RzN6Kj8rTndRa1AyVXJCTm1gcnYhRHs4WUd+dmtUI2lvREZiYTxVTiFXV2Z5Cit6JFN0KW9LO3RQ NUV2JXVXeW1ZfV9fNzZ9cTIlMF5SNXNXb35pOSlOYCh6REM0N1pZM3wmPC1icSZ2e1NQZ3tBVkwK K3o8IzhQWGoxTTh1Jm9tS1JqYm4tclk1Y2whYzk+R2dsfEtlayVTVmVfX1plKnpvbkQ3el5LQCRv Z3J8e0B1I3cwcAorek1ATzNyVFRZVlp0bFU/R2dpP2lETk05enNuX2hMKShNZmMlMih9UVM0QHhK IVRuOWlFJUNkc0hAN3FqeHg/Xm1QCit6QWhJQFYyWn1zKTZBJXYjV159YW0+UHRTOTlOVFlwd2gy T2t4YDZgKSpHMHBNYEhJekdoK2lMQiltKX4yQXhmbTcKK3p3aWV2aTg3TmNSMiVnKFpYPT1GbjUt Wm9RVytpVFU5b002eSEjOVNaRjEyZXNsRHcteU49clprZFJwQy1MekY4UgorekU5PF5fOFN7TGk7 cSkxazc1RU5XMHR0a2tzP3xyNyVoOWR+aGh7P1dEJXFWR29Zcm53QyYlakdTeyFGUzBvMUo+Cit6 cWdfNzd1Qk5oZEk1b24kY2hTLXFqOF9Pe0krPnQjSGJLbzFkSmgyXyh5Sm49UHFHenJ4T0ErXmdI MylgUXh9WUYKK3o2O3t7dCU3PnBVUFVvb3hwPU5ne2twX0FSMCp8Wn5vbjhQblAoczlHYTRQekJi WTcwUmJVKm1XXmYmJmJGKiU5VworejBQZjljTldmeTc2O29WakFTUTh7S3xjPWQ/TEhCP1BTWFI4 aGhuLVhnQzhTOFRZX1pGWCg7Z3o9eDshXkx3Z1Z6Cit6QFJYKmFtJT4oOGRSUVJ2Z3VNSnZfZHJ4 bU5vN1FAen1XUzYoMmxCLVhIJjIjYXZDdj1nI3FKWmQkZzVCLW47cn4KK3pUWTQkQjd0YH4lIWZg QjtOQTdFTnpzTztQWUQ7K3Y0c0hzRk02WV9jb0xBbyN5THczJWJLV3JfTUVnRzE/M1lWLQorenFp e0d0c1Q+dU8kTXhQS1IxQyFQakp3YXRBTCpBfSNmbGt5eU5mYjY0VUQkfWF1aW1SOWA2bz1sR0pR XyYkZ0dICit6S35XUSFaN1BIbiN4VDZQPEE2OFdpYjhLUV5acGB7OzI7T197b2JjUTRHXl5FX3I+ P3ByOCY3c25yc3FFTylCU00KK3o0fGxmKGh1fSYybT1pPWo9cnpieUVgfS1DSi11OXh0T1J+MW9U QzhpMmJqd2xuOXYoT0QyYjYhdW1UflBSSXFqPQorelNWfl9uNnJCbCZpZWp9JWoxfHZpJCtYXzhy NjkyUm96NE0qd3A/NlNSS2JkfnU1e2UkeTZsQGNEQ3RAU2V1WXRQCit6MGtlUzV2Xz5qNDxuSnBM YkFTdkVUaHNYMDQtd0tOamEpKnN7SzJpdTFLQ2p4WUB9Y3xfSzEtTl5gIy0hIzxSLVcKK3pZYjwl NUxeXihNQiVJaG5IWSQyOFQrQUEmOU1ka1hZTHwzUE8hfTQzKW9tfSt0QkpxRD99dH57enExPDRB VjJJSworelZIWFU/VUdPX3BYWnk9TClzJncyUDZRMHt4NFgzYHE1bylYantWNTxPWn4/V191a3xa LUFtR0pqZ15mRWVyWXV3Cit6YFY5OXVBKyVTRWRpRn5paTxOc0xgREZNRjQkJmEmUFZPMU1pMUs4 RUR3REoqdnlxU3RCNGZvXkVuOFZ7eXhicm8KK3oxaUwqQDZ1flV7QjFOPUcxWUEqclVgfj9USl9o V1ZLZDJPcDxlLT9DIVUtdn1JYys7clM9cWo3JSNNQ1FrTXljTgorenZ6clNgbnh5YmRjS0g1NSpp KXg8Iz1WdipzOW5YS3Q1a2QlN2dCZlM5Mnp3aHtOUFdmQmxZOUlWfGk3cEkoPGtECit6bGxWRD5p MlpPVWhwanwqbHFXUSk1RXB4QHdSJVY8QFRxMEI/aVp3TVBEXjc7TUNlMU0/NiFKUE9QSiRTcXth QmwKK3ojVGk5U2lFJCh1NTxCRXgzMHVRKFJ+SGh+TEReS2ZBYW1PdEw4NG5NYUtJfldHekpQMzFl IzVQSTRERX5Ec3s3YAoreio2NSRsUGY5OXY2PysjdzBPTkpMK1E8a2FlS0IwbVgzUVVyZVlWPS1A YFdOanBVYD8lbXZUUEh8NSYjMFhAMnxmCit6bGlqSVNWVkgzP3RfdTZ2blo3aU5IKVQ9VlA9dFZR V0ZJR2s5Mjsrbmt9Jm00RE8qRl9rfksmSlF0R2lDWnpAc0UKK3pMVWk8R3dKI3ZgOVMlKy1DYGw7 fEZpYGEoPWUyT2hRJSZDWDZSN0kkV2hWMDwyTjI5K097enBYTUw8R2RJRVBxKgorenRTT0VveiZL fV5NJCRsXjQ3ZV9FcDRzK0p2MnQ+ZGNDPmMtaWxEY1NYR1N+amBhTkVzPmNYU35sQUV9JU1hcVBN Cit6MEY/LWsxUzhlKythRXFQWDFrbURFPi11MmRjclUzaWdAWVJKViYxSz5tbkQlZ1BJWGJLeDwj S2gpZm5HRz4wI24KK3pTSkMpSWw8QHhFbVFkUH1TSWpFMVJrZSk7KXNQd2FDdVAjQ3l5bmI0bWVB VSYmUWp4QktDTE85TjN5e0A5eiV0Mgorej99Mk0qSSNJTm9yPm9sPlZxVG9aRUZoTSR3OFp5Ynhl azFvXz5rV3RhSj5aKzk7WShAQmpmYEVsZnFvYElSLSR6Cit6RTFwVTRkSGpLTjt6PCVVdSRHdVo0 LXxmRDdCKGNkaHA4K1FoWnokRnVsO1o0KldDNllQPmJ5Y2tsLUBWTUtncHwKK3o2YzlvZk9RdS1f WU94cSghT0p4eUdGelB7KF9UcDxxbHhyYzVpYjEyQ2hPaXM5TGlkLWt4Wl4wKm5kYD0kR0pJJAor ejhOUVE4NkVITVlHNmB9QCVGOUomam5NJUA+Y3R2MWk1fVo0bkFQTjhPKV9tXzwwRC1QKzcxbkZk Oz91ZDB9SGQkCit6SV85OHckI2UmQG0yNE5YZTYrYGxPezZVaFpZRnw3c29tOCROb3smWENpMmoh NCErYTw3ci0wP2sqfEBHKWpMQzUKK3o1P280cmd4YSNCMz50SkJhMXphRnFrJGlfbTIhMkdOfiNJ eFNQKjNJdWBkYDA2X3VkRTkqVDghZmlIPUIwXmVFYgoreikqTm9sV3E2dHw/IWRxQiRDbilKcHRm MyRnJWNBWDstZmplQUpsWjw7ZSo3ZDI+Q0tVOGRhfX5gWlI8eWxAb21CCit6dkE7cVFqQj1EU0JH XnBMMFFuSTBoRGx+U29KczhHPV5ZSU9vN3Z2N1R4YTxFYHxGTD4zfWdIcXFtZHIyai02YkkKK3pl NjYpPWZgYGg8MiQyMyNlOXkkP0IwNitiPT8zX29RSiYjXkI5QU0hTitDWjltd2kpKzZlK2ZDQj9A JTFSJXt3SgorenA3UmB8JXt6Tk8hYXlqXmgxSXorbnxYZG1AKCske3hrXjhJSnthZXEkZ01pYFdK TmJ+R0xMelF1RSNeS0lYS0c1Cit6PzVmX1ZMcGBZTWUtRGpRTyhzOUVGR3lLOVQ3dGA1eCRqKkNG N2opcEU8RzA4aGZobjVlSjxJRV5Xaj0ycH0/X3IKK3ojQUYzP0U2ZFJNZGJrPFYzSjFVOGxxP2BF N1RZZDRkTEtZYytgX14xYVElWUQ+e2I5QEBRP3NmQEwqXk9LZlYtKworemhWMGRpZ35fO1Y7eSNA bGRNV2RRbDw7cDFMUSU1bEN8TWIkNW9wMShKbXJHdlNISHMyK0pDYDdLLUdHODZpTjVKCit6TWs/ RU4hKTBoRS04Pl58e2RgNjRXIzZhRk5sQCpWOCRsa292MDYpZy1FU2ApIW1JdCZ7cCF0ZVEmMDBh UmIqV1QKK3pWUnZCR2I8MGRePE5wJmFYM0MybnU/JUhfbCZKWCtmPHVVQTd2bWljdnRrUHQjc1dK US0wQFk1aDd4dWB0a0dpTQorenUpdXpMT0xBJWhqeHh9TCl9UCkzP29tMjlXTytQbzkoOz1UOURx PmdsY3w5MDV8cWEoWldWfUF6RlRrMWklU1JZCit6TjdHdSl2cU8xJEhGKj9mOVpRU34jMXtJP0Fh c2BAIX4leUxxP2gwfDQ8THxEVnZtai1SQGpneS13fEtGS0VVT00KK3pyJEZyb3JVfjZRJWdVWWw8 cH5FPnc0MGR7bEJOSDw1UEpMJjNDdTwjRTdgJjdgVzVGYklhKDdabCVARE84d1pXLQoreih5clY4 MlMqVyVHKnZWWj52JGYlcTEwRDJQIVhQYj9mOHA0aDxfM1pvXlpUKkN5X2g7UHM1X0V4QGY0Nm9e KHEjCit6LX1xKGgod3dLMUlTNW1UQGxPIVQqVzNYK1NJSkhlNXlaKCs0KW1jaXdRa2E+TG4+KWFB OUlDa19GVUktMXBrbUYKK3pYYzx5O0M+fk0zWGlweTB7MzZqMWZUTFlnVlNTZV9fZjcmUUp6MT1r aldLUlQ4V3o0Zkh0dXxrdjQhfHQyfVQ7RQorekBldDU5KnN9YzN1bVNLYS13WjRFJU5FNTMzRkBo TWNGZH1XdUdfPUlpayNZPlolPWwkRGotOUpxV0dWbkxaSX01Cit6K3x1WFFVLSFyN3R1e0tuWjxt KEZHamE0OGBwWnJFKSRMJSowQkkrZVVPdm93UHVaUjZ5clpmTXVWMTgoUz13TH4KK3o5SFVMI29A JmNzZTd8WkZFMnBINHJ3QilKJV9uUVRxVyFkYE1Oezk0PHw/O1hQdEloX21DfjhkRlhZSSRVVzFG agoremZ+PVdgeGUybyFvOU9kTkRpfnY+YW0ha1JiUm9yZT16fVZDIypLO31CMENNbzJUd2JJWiZ7 Xkk9NCYzUTx6e3R5Cit6QTZlYVleMnZiTVdiYD9pN21eNDUmVH1hODMzMEJVJGJpeDN2VlhnTz9O MVNXWiR+MEpjamtrY3gwR3VMI3lPbVgKK3pBRDU1ZzV3USNMPy1xJT1oNClJWHllZGtPK3lmQEdX JWp9RUtrYylweTlMbHptdEw2clB3OFQ2eXFxPUtfZEpOVAoreng3cyNKb3VHLSkofHlWbFoqTkdI VmlqeFB4KFdKfkZwOW1KYzluWj5VKmAwNmJGNnlCc2NNUGI4fmtjcDg1fHVvCit6JDxeTDJDJmBa RVQzIyRYK3pGdX1LVi0+aHM7Szc4ezgrZG5kcz1rQ1VFeTA7cHNKUDdASlpaNTQ7SFJJUUx9fjAK K3pNY25NQ29FZVpVaFZ6O1RZMyF7MGNtbVY4ZCZ2amcqVztKTFZGVSlTJnlIbz5CPk9xKl9pejVq UyZ6cGQhdTtUYworemswT1dLTCl6Zy1iRXJvfF49Zm49JT5PRUtKWHd3WlNod3pzZm5Ibmt4VDxm b3QwLVprdmp8TDtqZk8+UUthYWJfCit6WDhqUyF7bElKUzwwYTlUbSpzfXgyPTEjTjslZSFaTC1W ZmU2QnJyMlNLQkdPMW1xXjxhUnwyeHRvV3BoIUh0bDAKK3pyQFBmeXtNaiE8Ulc5ZjAmaTMpX249 KWl7PmEoQzJiR1ZEWVR2dlIhaEB5b0p5O29LdGZpPWJsZF56XiR1Yns9Ugorens2WGlYRV5ZWW8+ Iz1gPTl3QURVWTd2WGJKVD5fREN5ISl8TT1rSFAma3NjTURLdEYkSDAmOyQxIU9WNjBKQzl1Cit6 eDA/TVY1MWlPOyZHMVl5dD8rKXtRQ2RLbj4lVVFreWFAQUlGQj5jV3QrVHc/Xz9FQHU2bnVjUmdt LXluLXIzKF8KK3pLWmdkTTExbW4lUVpNIXc3WmtSezMtYH5mdChubjJKJSlsO2hLTHtQZE1MVkVZ QUdvc1IoSlVjQkFAfishJFl+Zworel9yNlQ/dzt4e2VfZ0U1SXQ9I3oqYypkVHstbkJOYyZ0cnd8 aDlabz53TkMzITBqe3VhO2NQeHBzMjEoNEBENDNqCit6OEFrV1VvRmluenkwNHU2QypocDkyJitk b2p4ZW5ubVo2NyU+UGB9VytxTXkyTk1FV0FaV2preFMzKH0tX0ZjXkkKK3pyIWg4bjhCY30xKSRn ISRgQGU4YD44T2xxWntuNT0mI1BVb09lZ0hYN1k4OzdDNUJjSj0/K0djQnJrX1pZcFRCRgorel5v NkRLa09ifEFiaUl3P3ZyVC1scCtyYiUzTzAzdkdzUVg2TVdgYDl5eUp6OSM0e1ZxWmtLPWUpRFlH WF5pckxUCit6ODlHdVpvMkV8VGcwZXA5bjhiWSk1b3ItSzZaSUBaLXVYSEwpcTVRRURCRm9BcHBN Y2JZe34/eUw5TnJGSkU0QkkKK3pZWU5tNm00dCQ3Yz5VfCNab1hYeGBfZHIqWEY1U2gyKldrT0tf PVhuMVZjPnhJTjBeb0wmPXB6dnEhJGA7WUlqdworeihDYz9uSk5kTHw1cnRqMHhKQDVMIV5MUDdm YkBRJiotTGF6dXgoMjxoRHFOfHo/fk9BIXVVRi09YW92IStLc0V7Cit6an1YLWVucXdFNUFWIWk0 cjgkbDt2ZDlfUGE8QUF1WGxrKylNe015UE9CJDc1bmxFejNCJk9+a0g1QlFhNTxIO34KK3pUIzJ0 UGQ2Ty00JEVPPyNuaCNUIXdpNU9WeyhTd3g+KWNGcF5GNXRqR3VWLTUrdmhpX1NFOVl9aHU3O2Nq bSFEKgorej88N0RVRG1KV0MrcTB4T05jSlZTPG41TihqKlhOdnI9c1RxPlMzWkY8Jk1eaStqdT8k WWphSDlzaW17NFpWVjl3Cit6eWJNazFXQWZ3PEY4eUo+KlM3QWFLWStLeHc/JUVgMWFrJW9NU2JC MHpQUWB2bjBtJiV0PEhJT3RYWHFFMFVfMEgKK3ohNnhsfWZrdUFvZWhnKFNIWDJFRzxPMz49THJX e1RVREw2c2QkTEdvKF49Z2s0OXNPdTVmeVMwRXhAcD1oQHU9WQorenZPcnpydUh1WGBremVkQUMr YHpKVGpDcFMxVHJ7ais7Nj9qVzVQMjg4Z3JYKFBmWVVxY2JtQmc8O1hUKVZMT3EqCit6PjMrQDFg K2Fge1FlVSRMQ2RRLW83dTA3cmRHM15NN2tkWWViUmBeI3N+K15DcXREQ0dpcyhYKkdUOD4yNVQ+ bmgKK3ohRzdaa200OFI8bklCMnJSfTA4TGhyOUdLUEhuNTkoa2AqdnhPTmIleFN7UkIpNGVkMjdI Y35hS05rJWA9S0lEOworelh9K0A1bVRSYVFWdnx2Q0RzMCMmOFo8OWdBSjJlcGEwZX5mX21AeWRG RTxZZFEjRU4+UDFLWD18NkJuXz9INGtGCit6enIjJU02flhzdFA2JEAzeyNkTDdgbkh8dzk0Ul4r MzRqNlVsaXJqM0JyKy1iV0NHMXw3Qnd5SmdrckpJZGkySHIKK3pvRCN1IXBDYHoxWSZoKHMkVXEo OXdDc1BHbz9SaklEXjYwQUxuMDV9WWEoQH4hQ1g4UGEtOzl2P0ZueGZ0SVFQaQorekNtcFdBP3JP JGF7U2xYPFgtN2kmQkAlT3Rnd3R+QGNLJDEzUz9qPWJ5RmM4KlZVeGFqZ1hjaCQ8U1VIOThtI3Zn Cit6WmFOeXhTNklSQDBDNiRaTiZERWtrZng2UD4rSEtHMFdJOT1pUV42JCMwNj9Ney0/OFFuS2pL dzJ0fiU+YmFQQ2IKK3peZHpQOT9hV3dld0FrbkJqP0ZYcHJtKFVAeXBoc15pVEJEMVgpKm4yWUNG el5VVy0pd1hPUTRqYTsoQl8lY24+WAorelpoJEYwcjxOaUQ/QjR5WUhAWDRxWTY9OURmVCp2JiQ7 VUczKldVYytNUjVLbiE4ampIJio0dXBlcUFmRWE2MCVaCit6WHkoMUJZMHJeZFRzUytCQWcmbldp QEF1T3Y5SWdLOD4wPD5WT0o3VV8ySDNeU19fMWtnPShKT09Jaj02QyktYygKK3oqSzx0Xlh9cil4 U1FpVENpWCN7Jndhb01STUMpNzRqek8qVE9XPS1ud3E5JEZuYXtAaTw5aSkzbj5sdmBEWiZ+LQor ejhTWUtUV2ZURDRFenNrNXVnPzVpUEZZSWJsdk5FV3R8dVVoYklKLWBhTFcoTnFncmJxN1BzM0Ra T2A0Sl52elFJCit6ITlkR3Y2NVJYOS1+MlRHa2tjVkhvQ1E1ektlVXRYOWJPVXpuMjxvY0gwVCRV PSR5PHU0KTwoP2ctb3Myb35jV1IKK3o4cXJpVnpFNGN7Z1k3TEpsVlg/JE0/NVc9NCNXT31fd1Ri T3taUno7TnorQHElT3w4fiZiMDw+ZkFWJFA0dnEzeAorenpoTjYmdU89Jk4+eUZ1LSYqOH5yYzIx OTk/KVptb25qPiVOMWtxcmwpO2J4QHt0fkBhOTcmK1YmQTBGTjFncT5VCit6XnQ3P0pMQ2AqMjAj QFBod35DO1dxeWwzZEUqPG5uUmskeHh3d15GZUNPanZTZmNpYVduVDNOK0dpMDMtMV5XcSoKK3oz cGlSfXtiMn5hazJlJWhpciRxK2lYZzBQbF96OzEtfE1scytTP0B0dU1MX2JyV0YqI2BXOU9OPilp NCNzTWk3UAorelpKJEZwMldEQHhJUXs3KksjQio9eDVQbEJDdjRGPUJKNFlDVTtSTV8zTyMtSWdw emlgREJ1WnpPaylZQjBjLU07Cit6PzZ7Wlk/I3ZHQG57S25gKDclSH1efDdDU2RqSmlhOFJBYzdG RWNVY0pmU2MkS3UzQjtDY1ZpKEY1TmtZblk3QVkKK3puI0dod0BhNGZXaTh1UGR1S2Vhdz0kOGR5 TzQtUEI9MWtJdSZ9O3VqIUZ6MGlwQ1AobW5PNlFLIzF+cmp5JFMyTworeiYkdVB+TE1aWkdRSCFP JGRCY3whSUFgV25VfWohUHlhUj1LSEM+VitFeCs5bSU7b3ZuXz4+b01DbWRSV3kmTHY7Cit6VFM/ SDNgezU1NyFhNT55SnFlNyVUZT9+citGVlI8WGN+RCVjSGgwJUx1KlR9Z29ZSU5oNVBmZHtMYHs9 K3wkKyYKK3pAPiR5Uj9uWnZVO0tQekoqRGZyTSNIKSpKP2hUaXVReVAjK3xBV25WJmd3UzA7bXtI Z1hJNlEyWHVeIUVyOENRUworeiMpYllgJS19d3dyflM3RV9Ve3tlOyNELUBDakRhcXJ4NCM/NEE0 UGUlO2hXNyN7Mn1eR0VlU0BvRHdHeilfMER9Cit6ZXlUfWxTP3U7aGxBOzg2SkdrNDRKIzIyclJz K0pvcVkjbm4kM1MhX1R+YHdnNTRDNyNUUUVNM15RWjRLSlgySloKK3pfYX5kP0dlLXx9Tzw3OCl3 JiEoMktpRlF5WkF1eypFSSk4akRhNHg7bWF2M0xRRkg0X2QyckhnKiV2OEBRPHsxPgoremRqdFpC dTlRJE1jTDt5bk1ySlJLYTxRNiYkWG5KP29YTjd3eU02QFokRXg7ejl1d2c8N3dzdnYyMiVDUWk2 dGRPCit6Ozc/TkI5OEw3dzQ+TCE2RmRZXiNHWGB3UUoxRGNjPDFXSCRgRlBSO01BTkEtR3phUD5U c1BRREhSJlpOTX05KEEKK3p0NkRlQTEteXc5c1hPa2hzJXJ+Rzw8Sj5HUXItX2tDN3ZVMVMhQmVV Rzw7bTwtVWFNcj05TWJYNyEobGZKJW1WRAorejV6b1UlI08tMXxfa2pwMHlrekkoNkhkeTdCc3ds MklAYHF0TmY1c3ByUGY7M2l+UG8qcVVfJjJLPm5qK2ZLcXUqCit6ZF5femx3Pzc2JWRDSGt1OTtq YSkzYT5yYDdaWSZgdj4jQXslN2I/PEctT1EmbmZ2JnJzPzckSlBfM2hWRnZnQCkKK3pUM2p6IU5P TGImKT8yQUlHeWJ4P2BPaXE2ZkFkVkd3WWR2JVZiTCsrSylRMFc7eEpadzsqYEdUZVpVdjUjfnhJ WQorelMwPFV5aTFxOzk5Kn5SV14rcmdjPyQkVE81O1M3UkYzQm9oQ1RWcjNLZXhSISkzSDNzX2V6 PnUpWlcyTS1xezc2Cit6RTRgP1ZmRGFDcyVeY2BvWXcoZ194TDxZJGVLdV5ZRVJCak9RdU1KKSYx YXkxU0piTHJ6WTJtd0tKd3NCWEFOR0AKK3pkSGxFbT52OzFHdkFjRm9zfUpvR2lRanhkejJRNm1J PTZiR0clWXh5WitwaXVMa2phT2F9cGhpSGBEcnEoOXVfNgorelE5JlV1cEopVTA4dWYzVG9idkAt bFkhJWpDZ1RRTj12OX1NTy16QjJsRTA9PmM2Kn4wSlZOY0R6NFAxV0FMQml6Cit6V0VwNzk4LW5z fTtQVXkxdTwmXjFQV15EbCpKK0g4YyRAJHFrNGsqQURaUn1JP2VRVjR4JFVGaFNGfnpYcD02JlEK K3pPO3h2NzE+N047WlJ2em5nZFQ/KCZ2RDA3VEJvNyNPQlVGcm5PMlVYI0NZVTZ5fVA2SW9AJW42 MT5EY3dYN2V4SQorelRMbnZiKU5oK1Q8R1FoVmJaPmFTV3BuSj9fQ3JwYV9EJCVGN2xjQHJKQXQ7 YVQ4MyskWnV8b04yUzcmdDFDVzB7Cit6TGdrfDIwUlJ9TzBSUnlHRjk3TG07X20kNDFYQWdMQ3kr VXNIZy1wJjJ0VClhNEome3QkbH1oS0ZIJH1adShuUXMKK3ooV2ZXeiQ1SVBfNGtOV0NxOXRnak5O QjFBS0RJdW1yeFVkazhFST0wVVdnTzh2VUFlUmF4K1grbTBOOT43bm9DQQorelolTEV0U35AeTdt UnNkRC1tVVlicFI2YUJSfS1kbW1FRlEtdm97dWF1dUBuYE19SHlEJl9wNj07NUhoJXA2a0FCCit6 aWg3cjBlJm5+KHFXWSR+aUF5YVJ3S3tLUz56cV5EU35ra1ZTfjtIZWRmOTNSV2xwdVd4UVV5R2kq KkhlUWNFZzYKK3pQeFE4ZyYlRkp6Km5VISpZIWo5MjtVczF6aV5pcDhlNEx6O2pATE9YSHF6NWZT RkFkRXlBPEJFczhQU19gZyZLKQoremJnLVc5NC18NSZiV309SmBfeVV8Vm0xOzEye2JwcD1TVkZJ djI7PHpkPTBNcysjKi1XU19UcjhPS2ZETTVWZXB5Cit6clE3NlokfGN2UiV9bEo7VS1BYD84YUlv dlFycjU8ayM0b0F6VmErX2dxYy00a1MyOzw8aWx2Z2ZqMmRpSlZiYjAKK3pXOzJyKj19MFhte0U0 ZDtaWUxeSW1fJkM8U1VhTlo4ZSpaWiZ3OzZXVWJmeH03JHNjQ180bUZTNj1vb35eczY/OAorejAt fj5FNHdlVTItUF9zVmNWciY2aipGWHZERTh+elhDN3dEcCFyeG9DaCYqcmZwZHNrWCVNTE5fKl81 UGszWV4/Cit6bFdNUlZ4QSg9YXxFe2k1UXZgNnRqI2Ria2lDVGI9NGpZRj1FRV5SJC0tPEpEVkU8 TWBaY2tGMHpFUytob25oa0QKK3pGLSRHVkQ0QlYhaWAkQFJseVY0fHt+aiQ7czhgWlJaQDdveCkz Q3I0UElAVHVxfUg9ZGk7cUk9PSQlSnhWKk9RIworemwkK1R8VTtOem45dSlmdiEjIXVILUwqRzRR cDBHRUxvSTBQKT01OTxDSDRoQ2JoTEBWI2Nldmk2d2A8ZHl3MjZRCit6JGk+O1A1QEs1bXFrTEZE aH57MiNmbkItTVRpUS1CcXBgOHJlYFJvOWNBRD9uUlh2QCMxR3x1aiQ2MkBTQyZlYX0KK3o4d189 UjJXel89KCZ4fSNHNiV1ZkUoWlo9NVh7SUM7bzdgNThAK1Emdi1SeWAwZ0gpb1ltUmYlKzxhMH1V KCtSWAorekI2I21WJXwoUUh2Rl8qTFJPVU8zMVY+WXk1Mj1LQWtkZmdFZXpVM1NBfVMkI1liJT5e cjQwe1NDfEQ1JFotKTYkCit6Rn5AWEdTRVVENiY9UXZAa0V9U3ZGOFJiUSlMTl98ODBHQXZBYUBF PjtnSFF0I35iK0R6XiZmKE1HP0QoM3t2PGIKK3p1OGNPQzxic2VvXjdvQDxoRmt0JlVzaFBuUjl8 fFNLMGpHc0pZUFQ1QT1ASXUwRX1Rb0cmSTdlYVlVZmg8T0ZgcAorejM+XlJnNH5KLWteMkpNJF9X KD5fSmBZOCMhKmE5SklWaiNOcnd2PDl0JW03M0RYXm5UXnxne3BFOUBzcHNsKjBaCit6cT1TKjhQ JSpueGJNTUltdT5DP1FraW9sJV94JWB4PD92aXJCS2ozKmZaanMoOEZHfV9nU1ZQQFdBUClpcEhy UDgKK3pLPiQqXjBiTFdkbHcpSUEldTZVaWt+WFU3dTdpSVJnZnd1QzNUVHRfaENsUllwVUJtYWRJ azl1bzlEZ2V2WFBQcQorenswdExJPksoeHc0aElgKmJTeV91K2lDb3lvOHk1YWIpO2NFNDRjN3ZH Rj98TTZgPlRBLWh3cDVkM0NQNl4wbEt0Cit6bzgzc1Noa2c3RStHIy1yWihQO1FGekomWG52bEw9 TVh7RVNQNE0zeExyJlB7Z0ArV2VLcmg1YihpT0V3YXJERUgKK3ptV3VCX1V7Z2ZPSVNnOz9xflFi I0pnSXEoYjFgam1XU25+eSRTbkVlX19jfEh6b0c9ZERZOG5DPSNtIXQxZHdXVQoreilwRFBJPllX JG9HSE4wUV4zfUAoVkpWYkplMSNEdnpscX1XcHpKTVVzTTNKe2x6XjxHayV4JXplYFZTPyZuVjN7 Cit6Q0xoKU4rdkZuaj5+bHl7cDNtfHRZJWYzK0JfX3olakR3cH5aLUU4YD1BYUJ5M0gjYkdaVVdR fCpOYGBoQU1YcCkKK3pvdSppeSp8dlgwZThnVzNsZFVGO2p0VXdMIXtlTDxHcHNqMmUreihTQ0Qj MT53QT5lVklkcHUye0g/SXNLSmIzVworenMzYzBNK1B3dUFvZGs1YFM3NU90VzMqSVFrJnUtUWp0 Pns7bW95Z0xmcGckYUVKMFNYTEx9aEFQLT5uTnFqcWUrCit6N29sREBDWSpYP0xIUkAjX1BPTn57 QEo0JlombGY8RjV7QXZ8SFA2Nkg8Zz1TdmZRS0ckSzFZNCRIYEJMJnJkVmwKK3phek8hcXR7YDFy eXdCYHFEJHZ9d00qY0lQd0BIMHdkO3hSIWhgYCpIK0ozN3oqckprUmMzcChxNj0+Iyk0alBzcgor el5kZVklazY1Zm8lPWhaUC1RKz1sWXpMZ2ZFeSZJd1NPenhgV0V2MEtyfl9aVVJEWV5VdkEhMSsy anx5RDNeUHcpCit6dzNxO2Z6SkZtMkZZRlorOyhqaSMoYipXdCFee0coaSg3aks+SmwqbHZ4bDg9 WXxJa15RUXtHZm0reTFiNzQ4JkAKK3p2dVVRWj1ISTRaezI4Vz1vdz1sK2wkJHhJPVFGKW1hcCF+ bTU9ZyNnOFVlM15HOHA/MjR0X1UlXig/T0ZzdT1PYgoreip+eiVRZXNiUSE5fkRLWlJnPTBpU0ZZ e15Adnx2RTA+OWpZdHh2WCkjVU1iM3ktK2FIYzIxNE9eXlojeXtFRGh7Cit6NUlsdVlMQXhqZXtD JipQajBXalo7UFpWd2FkVSVTbk5gRm85NiEyRENUWXZiWCVCUWRjVSpNa3VrVnZLXzg+JjgKK3p1 dyFtO0EtPUBXc2pEZlQpVGxJKTdFOSh5VGc8YSVgUHVzVEspVi05U2hJU3ZidGI2KTNsZ2JIS2Ru RCU+dHY/bQorejJvOzExaH1XITFPYl9rYUV7e0JzRDk2YFV0MDJYQ2JqSGlxcmB9dFZoI0Q/ckho I21jQkdFUGp6d1prN3F4OHBgCit6ZWtCST1aTndGNEJ3Ylo3diltNUtMXz82bVFoQnA4R14pTU47 a0htIShFJWFhYGhnYDVKKTlqZ0N5fVE+UXdvSlgKK3pLQk5reiZCRGo+O0clX1lgTVJ3Y2JlPT8t JWdKanhRUVlUcUMrX1lKODNoTyYjdSEzPG9ZTEJXJGNCUHF2T1NBcQorejVaSVdOcUp5TTwqRUVk Z2R8O0t3TGBDRVhfRENANjhBYzthZFJ1eHcqRVNlSUNDJlZsYVclP2l5dTUlOD1FN2o+Cit6PW1J dkJEK3crZmw3SkZ6OEkkbi08O0ZxYUx6TzVqMTElQHNNOXQhfjU/Y1ZtZX42QlRwPjdqXilgUHtY MmwoWGkKK3p7fl8kMXFDXlh9RVlaeDl3ciQoQ1pRSGk8cTsxPV9aUUhoTytuSn0mZWY2c0R0KipZ XmR5TSN2dV84VnFWJEQ1Sworeno0NmxyPzVZKWlKO3smI1BffGR6S051PmUkRipCTlN9LTlZYiVk ITdGKi1rQUFTUm9gZSkyVUhQRHFwRlR3JWZICit6NENiKElmKCprZDleb3VqNzdUMVFvajIyPklI fHxgP05hWFpLM0VJJnIwa05QblQjKGRyeGU9dT5KMEwkZ3hae0MKK3p5YnpSJl40MUNvQmxUPjtF JmcpKXRmal91bW85SUJaKnU8fiQyUXZUeEFLJSE7eDMmfW9yPz8leXJ6TS1hRTdvdAorel9aSFU0 YFI5VmRvUHg3YnRRPmFJYFRoI1R2NUArK2xjMjB4NVN6YV5JeT5UQUVFcnhMX21CfnEmMEB3MFpG ZGslCit6QXRERFowbXptVyl2aDdQS29JSzUkQC1CVTM5SiopbVN3aEQ5MElWdiRPTD4lQDxAQDdF Y2xXKTFhWSpCYGN2YGcKK3pkWmNFYktGRClXY3hJYDlZdW9jeUlQJGdLKFhgMUVhWVpBanl4Zn5p UnkkQmN5OCQ8P19AUnUlSXU8aklvRTA/VAorelVWJFU9aG44JDAwO2pXbCM/Z3xhKl9RXzJDaVN6 MDI+SHN3K1IhN0stZjJueElxN2x6QyZxQytaV3A4I0YrPEdGCit6aFg/OHJaOSVfamRkPTdDSzR7 U1BIZ1FabG9BTFM8aC04azlocis4KzVPbE9idDB1Vl84KF52Nk4mM1poUXtHQzQKK3pHc3R0YDUy KDYmN1RrLXQxRERLMWJaJVYkbjRJd1F1YT0jKFVrVzR4NFhQbysyTzlIRkA3fmkhdXtZKHZ2YTdy bQorenZydiFSRXhMK21ANkleRXJGaTA3Uj9vU2VNVm4wYXNTPW4wNk9SIStHZSgoMUZjcUlxOHV8 VyZ8MzFKZFB9dEBFCit6JUJJRU0yd35fR1FgZ0UqJF9RdHRDN3lZWkg8UVZtTHtjZSF0c0BVV29v b3tXazBtb18tbHJIe1FxKGhgQjJodFYKK3o3P015NTUyKHhDT2UlPnxablVUbzMqXnBTYntrUiRN bG9ITHA7ejB7TFYlMkhKWUZgNmVgWiR+IzhMPkEwcDdOYworejlsJm96bVhMYkUmT1ZeVlN3anZX M0R1cGlPZXBIYm5ESkY1cl5PPFR4OGpaRFVrcHJoeWE0Kn1MTytkX2BZcDBfCit6VkVoMk5qSWFh M1lQXnwkbV9SN0M3KVQ8ZzByJFlZOzgyNTlGcmkyUWlRU05wYksqbWY9RHFDfTtlOUpMQyNfaEEK K3poa0VndysyUTxFXncoWT1sanstST82Qy14U2ZlYWAyaFVtKyhHcCNHM31DfkU8cyFEajRKcW5v dTg2bCRWKEFVeworeiMyK3E+WGI8cXY4blh+UGdMZDA+SyFucjhMc3w/OCRsUmgzYThPSUwzKHRI dzd1N1MpJCMoUkd0PGRvIzFJUUJHCit6X2FpJjE2KisyaF8lUjxnK0hrXnx3b1VgMC1MWFpFOERj OSNqISs+WHltMnotaHA8PkYoKzZiXyleJXF4Zio2R0gKK3pTZk9RaUlhUUhVQGs0ZGFMLUEkRTQm c0lWYCpZRTchTW0kYnpNZmZfM1RtWGY2bk9nSEliMUleZlR+VnEjLXNnOAorejBQLThZSGg1SGU/ d2piOUtaRWIxVnlDfS1qfmpWJig0QT1gVGVvZ01FWilhX2NsaGhzRzx+aHZafW48JXM9NDB+Cit6 VHZrNzBWQWJRNHpyWDBIeiglQU97ZHFJfmF2KDVlQGRqK2JCZVhLPCVON0p5dz5HZ3JyNkVMWkhI PncpKjVjX08KK3pPekIlP3lDKXsrMGRlNGh4YEVWbThXRSlfJlRHeFV6ZDE3UzlLTjZ8X3lmY2k3 b1UlJCYhNik8T3ptOX5eUzRreworel5PbllAciZKMnRoaiFlTT00TTJ9Nm0ldVdNXkNXPllTWnNr OUZXaSVGazlQUVpfT3Zrb3hhYVQ8Jk1vfU1KPWswCit6JCZxQzEqdDVVbDN3Z3ZsdGArKigjeVls ZzF7O0NpQUVgT18hRURkNUo5N3ROdks7UilGUGcyTzklN3xTTmYrY0YKK3pXeFAhXmZmVlVzMlM/ fVd3TjlpTk5tN0N5MEt8PGBvRkdYKGQ3dU9KNTlAV3l7R2RVfSUrbF4tUXp6Vl80c2JLQgorempf QGJ8KnYqR2E5anhVNUJPSkMwYz1RU29YY24oSHF7N2RxOVFFJHdufXhAeiRTYD5yNHNVUGA2aXRE WFJsUCM7Cit6STAkSmI9QWdFXlQha2hCJUZweEFFNyYqTV5JKnNJRXBWUk0kPExVTyNWYz9VN19q KE1pRjRzQEwjajtDREotMjEKK3omYl4jXyNGZjR+PUxpa3FuIWZgfHUoYzlLZz8lUGNSMUBWRHdQ WDBaJiZ1WUpmWl8mN1NPSj98SkNDISM9bUE/fgoreiNKZklSM1dtTDQoJkNSJXFvZWg4JX41fCpA ezJXViVhI3VfSj8oJS1zSnghViQ1Q35gV0NARGUrYW1+NjtZbz0qCit6b0x4PXNTMXJAIXs/ej1x RmR6e3E3c0R3WHU7fCFEQmQqPEFiPnJUU3JINCREMWwhZ05zcU1UVDlxaFQ+OHUtPk4KK3pnWTRH S3JGTzU2emVubm1jUzhsSll+KF9zcTszSyE9bWN+bytlZEU0QVVkYHhsfU4xSWM2R3Q9Ykl7dXwx RipROQorej92PDJKSiY2Iz9PdGVJQUtqPyRASTk1ditOWHtETzxJWis8SDhKNitKKzlmJGhFQ0g4 bUIrRWcmaXF3RTs7VzVyCit6PFhFKXlQVERqVTV9IXZyTThGbnhHbFJjTC1kZ1EjbzdzSkBtMzwx QlQ5c2R5I3l6Mm1gTXpibUQ/dmlxI2h2VWEKK3orbUhIZWhwVGlTPyp9UU9uV0Zhcm4+fXAxUm5O cHxqRW1lQkRiPSRwZEJVSm1EP3FiUGxWQUBISkxNYiR2cnx+dworemJkb2gzU0xST3MoMWVuRjcw NEo0UkQ2TzBMbXYzY1orUkE8OUhhNmdiNiVZdHJ3NUdxcEY7ZjNXdG14Y3lSVHliCit6PWtFUWMw N35VWXMkXnF+KUpQYWpAZjJEdERnTC1Saj1oakYjdlNJX0tsIVRgKzJJZExVSHJLUnNEQEJIPDAp QnUKK3o1O291UnNaWVVAeWBjSzVfVTIwNCROSUNNe2p2eWRiOF5XcDJlTmd1Pl8hcXglYlEmb0p6 aChXJH57fVNXYW9+YAorelhVTXZIaU8wQXhGVUlPOWEjeU0qSk9sR2woUDAkY0k5V2M8aGYxPzso Y0p+TmMxZSghdk1sdWFHNDZUKGljOGA1Cit6ZWNHRTI8KHBCNCFXXiNWU1owT3NTPUlBbTMlPVl9 aTZleHpRUHY2RTY1diNyWU1iJVd3PjRnJSVoKmk8KE1uangKK3p3K3dTTS1tX2MmYGIwWW9jb258 XzVMbHAjV3Fpcj8rfExRZGptelI2UlhHfVcta2xGJEQkUms9MW1vVW8oam1JZAorekI0MnB0a3Aq JHdifjJBRjJGZkpFb19uSns8T2pMYFdFfllVaTZjYE4kbCt8YVRZMFBLd2JifFhPeWo2KVJDbkZy Cit6Jkc+TDNaJlhQJFlhRl5WX0VCMkoxQkVBfSVkXk8tJCpXelVmcUtfSipCMGo/P3RFVyE0JGhu bCNrPGZyTm1qMVYKK3pXWFVaMGo2NHU0cFFwWjJwYmNCOTViaGd8RHdgP2lffXl2cEMxZFZDUmND cGtBV1oxcEMqSXsmQFI5bFYlP34mSQorek5BSTdvI3k9IUJ7SSlvK0FBY25fKXFmPjZGI20pI09s KTJNNlZtdU0+WThZXnplWV4jQFpQSXhiK0MwUVN8WGMwCit6bkJ4OTxtKWtka0VoM0FrUHs5N3VR cUVKTnNMak81UHl0X2BJUnFsPDM1eH40SHBVMX5UfUB9fiopeWpUUkdnQHEKK3pFbmY9aXVUcmVX Kl8hbz5FbjZOczdQbG1xPm9vNXJTeSF2Nys4TnZ2eWpZJGhLWDxMa24pSChxT1ZZSlVLeCF8Kwor elRHVyF1RnpqJXpWcD9vREN0dG9xKE1fcGExRGZMc1pfQk9HPClXSWgqQH1qSnZ6TTkodVlYQjRK c3pudEJrdUl5Cit6ckRpaTFicH1TZFFFXnEqMTkrflA3PXdzV3Uye041VmY4K1NqQypUQUt+N29L MXwyN0tSaXYkIypWSDc0WVA5JVEKK3psdkgmPkhyUzhlMEMkQDJLbDU8P2QxNT1EPj1ZMm5uRjNK JSlod3gxQkFzQn15d1FqYXQxOCp9KDs1RzJBaDRCTQorektxNyZKK1JJNzsySEo8LT02bEYjYm92 UHNyPCMzXz1QXkRydSY3JnRuMGRufmZlODBJc2FEeWhDdnQlezEhN1BzCit6b1E0Vz1VMGUmZjlP MFN1YXhvMU1zWHFEam83Y21mZ1lKdXc+Kyk0YndIc2RiZCh5ND5BalJuWEswTGViNWZSO20KK3py QiN3RmtXODZyQ1VUNTJBOG0mWllTWTN2bXR7Ym1VdkdSTjBaJnsoMippSCE2ODhDRVBNczxkM2gj d2U0aXA4Zworem4qM05iTWNGfEV6SE82JlhmNGB9S21SVThXN3NYYXBiQSZrNCUxfmRpaSNeQFR2 TUZ8ISolcnsyS3gqZXFFKmw/Cit6ZDhaTUV0LTwmT2tUam1KWVNhaDNLYyZ5U0p0VlBvRkhWQ0F7 UGBKbGZFKD0oI0FqUStkYmE9b2ZXYHFIbS1wbVEKK3p3PT03a0gxYTVaaHpeSmJ6PjdDNU9LK3Zw a1hGO3klP3hkQWdUZF9qO2k0aEBtWE0qViFveF91KVhnJn0lJU1xbgorejZBP1NlUllKRk10ZXgm elhfUiVWZGpJWH1vNDVWJHZUP15PMWgoeT5KfG91aGozR2tzciFDbjhtUlZacm8rbDQqCit6KXtT eEBfUEhtO3NDKl5mNyFJLU4rJnFefDJxUCpYPX1kcV9kejBZZD9oYlUxYUloR2gzK1Y/ZV9KVkBI KDR9PlkKK3plcj49X2U5eyYhdSkoPX1uOSh0VSl0KFl5WkReOGx7Rzc/ME9MSDFOJEt4e212T25E dGZFUiFWekZ0dUVpIXg+aworekViJiQ0QVh7TGQmQDRXMz5kOGdVP1lgdEs7MzI5cHR2OGZUWkQ3 aUMjeTJXOz5xRyg4eFI5Kk9QKXNkb20zRDJRCit6JW9zLW5RUmBtbCt6Z2BwJCY5dilSTHhnLTFV YismJEBuOVhOQCRMeHFVaUF5NHh9dkVQZXR8Um8pKEleYlE/fFQKK3pJSnM3PVNiSnZlJnYlb0B0 STR4aXtse0pQbzlqPXpUa2w2IzJIcERjbWY5dF5rPClKWjhJMiEoPz9qQzl1ey1hXworek9PbXQp dTFNaXRrKmgyYmUyaWt+WmdnOEFjQyQ3ajhCODxvMi19NCFfYnpgT2s4ezlpPXt9V2dQKERrV1Zw b2hMCit6TCY+Mj9EfkMmN3s7cyl5OyE+Q2FPNWFWfXspIzIxZm1mSTVqWFFAZnhqNWZeNGZ6UkQ0 fXVvS3NlMHBrUEdXPyEKK3ohJkZCMSstZD0yZTRMbTlsbHdjUGFRajwpLVgpK31zT3cjWCZjWE1F ZDhnNUBHblNqb195bFUjPEZ6ZGEmKUI9cQoremBMS3k0WUAyWXhuYClmVSZCMEFPc0Nrfj1TbHMr X2dYdGUtb0kybDZQPnxob01SdWp3K0NtPzBaKjA0Z01pRUd4Cit6e1BAMVdWSkMkakFeYk0hTUZa K2dTIV4zZi1CWD1OU0UyPnB3WUNvNGp0QH1ffEFna2ZHdjRUbk5vcm5LNXR8fFEKK3ptJVBzZnYr O184KzdLWkdKKDJVQW1wKipsPTA1U15IYU9BWUhMMk4xX2FCfHs2TVpPeGZSSjstMS04MTImPCl1 JgorenlAN3klR35Na3RNJDhzZ2JiUVhEayg7KmMja1BVI2Q8MEMrYChpRjJMWXRwQitsdC16Q3dr Tzw3dmB2LVpIN04mCit6Tjs9OXB7cFNvWHh+UDkqRl9yPVlaPFVhejVGbyROUyRgYzhgdDhSJihz TFI5KDJiSUJMOXt9WkhzbWkzI1MpYmoKK3ppWUgkSEQ2Xi0yLUNhczlYWG1mLXtUaiMpPU0mZz5i cEpUOWdjZ3hnPSlpbVhhaGFPKVRXdElEMTF6U1oqMU0yVgorejl0MX1yPzR0d0BzK30wX2E/N194 I3dPMGxgemYoZkklPCkzT3dJdFZLblQkbWdeI2NeQjNrfW9aaShySkdBRGpvCit6ZGsmcE5NfktO KzchfF4zV0tseV5yV2lYfkZMMTk4KkI/fUtGVGlxdU1wQlpwaTF7Y3FWamE0PFlpUVZWVFlBZmAK K3pxdn00YU1UdCpaeipZQig7bEhyI3BLJXFyJlYqU1lEPil5KEZUd1NVPEwwcWpoPjh1d2NKMXFM P1VJWlorPENYcAoremMqPmFpMV4zU2pCPXMqWVVNO2cxVUlxO1NQPU5wNmU5MjdRajc7cVJWTjIl cHBaQUZFe31+IWoqNyltNyMpfGs7Cit6cXZ2MTJMe15AaGVzdUdmdDJNSWY8bmNhTmwtUEZkeWJ1 SypBMipaJT48blA4RkA0bSMrWCF7MTsrcFUlTyRlYikKK3pqciNkOzF5I0N1ZWlYWGx0XzB6ZFRP TFJrZ3tuYzN0d2Z0SFpUbTdvO1hybVJmdm1hb21MdWBpK01KaCpuPjs2Wgorek9vXnUwN0J+QE02 Q2JZYUAlN0wkPDdKYWZlbXVUfW5ATDlGRGR5IV4mIVZiNCFPXmFTMjl+OUV3eW8/JnFeKkU2Cit6 cF9JI295OFBXQXBlaiFEUnskbDtTb2p6YTlJVU5+ZUpud0s0ciU+VjYydVE/O1NJbXwqNC1jbDc9 QmxgdlJBfGkKK3pTMkh5I2xRQG57bk1RQTZJKU1uTUF1NFhyQ3BhbTIrezJxaDhSdGdEKUV2S1ZC ampoTHlpbUtqM0RQandrR2pGZQorejlMa1JAQ3ZsVEI8TTk0QWh3Xz5AOTs4QytWLURoR0AmJT1J PkUqTGN1VWtkPiVlUT9hOzw7bGtTZy1hfUhoR2d8Cit6dk1wJUY7YUZWUV9sWWBSPj56PDYxVEdD ej95WnNNUGNYSGxgdF9CKEI3JTN6PC1sQGctN3NaQylCXjRjKHFeNHIKK3o4alc+QWRQTT9lTTMw KD1PeS17NDZtPD9HM1FFO3EqYjEyeEdkQHZpQUJATXxRemVEb04hT1VNWUF+dn4ocSNPfgorei1i MlRPO1dZVzdYPXJAb0VWQjE2R0ROfFJlcmoyZFQ7I0JlYjFxJXtsQHB7fDlRWk1Eeio7NkEhUitF PHlVPkprCit6LWJVQko7fDJaRz5PWVFMVTU0TFcyXlpTWDJpYmwlem4wfmFfc359WDNjKEUyLWcm dTs5VVpyYFgmOSYjVjVFXmoKK3pXUDRoams4WEg4dTx2eDdUbiQ8TWhEX3RGTyFkdkYtYmtVKzRF ZmRMLXo1Tk0oTHMyZyRoTURgSHFnUFRiZkVzbQorejw2e0ZlOSYzSjg9fjxXO2MhdVNAT2VhIUw2 MDktKTtEXm4/emQkcGIxTj41QG9sTTM8UHtmb0dCKStJN1RGR3BKCit6YCNzb2xyPEtPIUU0en1Y WnU/eXgmbXRNJU99UzN1bUVEUylSaz5SPDNxTTh5T2JPMXImfUpgVmtqMmB1allnWjcKK3orSnt6 JWFJZE80ak1ycmFnI0N5TkZlX3FgV3lnRjA2JEY4LVc+c3glWHFDO18kc3NgenFseWJWZm1qVXt1 UjRnZQorejJXe35YSUlwfD84VDQlZSRUTygkVVc3fT9Tand0QkhaQS1pMXRxajlaeiNEVFVieyFs el8/JXg/KmJSKE1iR1k/Cit6RmhlSj9lSzs1RTtEQks8M1RKYEdTNDVZJSErfF9ecFk+TkZ5WFQr YiRITlYxT3kzP2w8VFEjSnY3e0g3eCUkVmEKK3pUZC0oNVZnST5oWkNRMXwwODk+cGAzZVZGV25n fVBSfitUJitFNFZZQFUhJHk7YClCbl45KHdTXklQYW9lKDhiTQorejJjeWduYjhyazg4NyNxPk1R MH02anQ7a0hoZXZOJVh0IyZBUX0tYGljdzAwUWt4I3Ixaj9CT1pqIzMhKSlQO0ZiCit6MT9tJSFI JGMrOHp6cTlOPllzPnY+fTM5anJaXjdmVntUM1JwaURKe3AkdjkqQ2B2JjNGaEc9b1dQekdWNl9e K2kKK3pLSHFia15uamJpMTNKQUBncT9hVkl+YWVjR0QybC17QztTRzdrQk1tVFVjfHt4VlFMRDFj S1J8MV9TS1EtZFI5QQorejcpRSY5bkBEYzg1MndzSCVVTCN0OXdmIWVpIzw2Kio/Wmg9bXxpK1BA eEYmZ2ZUcEw8ayhJMllGYnYyKnR+Nl5vCit6aGpOXztIKzs+IVkkdmk1a31WUnhZN1AjZT5RdXYo c18tXmV0OGp1X1lIY0BBaFZyMkVRSSFDeHZLU15YUkhWVDMKK3p2JFR7aiNBelplTCt0MGJQX2Y3 IV9VfT5vYVNXO2o9bUZzfkdRfXoxb19DeSNsclZaWFUkP2UyQUhnSXlvakM3KAorejdxQyFYKlc9 SnhPbCRBRTMqdXtaUHlJY3M/MG9XSGB1NVo5QCRSKmpWWCRBeiMpI1FvQilyXzs2RnluZW54YFda Cit6T2tYfmU2Kn1IO29eTFVZcygzJkN4OXM+MyRzN0R4WmJPY0Z2R0EzWHRpK2g8U242bF8/PyEy UFYkVDlmSlR5V1YKK3psVTU/PTFRY3doQmJ4WEVZVSN8JnFDPGhpMWV4VjNyNilDel5xR0ExJUw+ eTNAJH5Ja0ZXTWB3bCNhZmZ7RSRnPAorelZSfW1+KXZSMnZpdm1wQTBDfXBqT1pmRmw+WTtnQ0Q/ YFFBI0kkS3VsYCZYOE8jfjsjbEhjfEBiVGpWY3pKQk9gCit6KUg8TkY/JiFWSnk8b2A9aTRrJnxV MnFpTFJOVX44KEo+a1ZnRkRPa0ZlKHp5KktHUSZfRVokVVIrTX5GUncheD0KK3phY01laDRPZlla WHN9bjt3PDdBQ1FfJWJ4PWFKRX1MfGNvdStRfUFmRStBbn4zTnAxLXUheFA2M09OX1JLcG5rOQor enBGKiVDZW94OC1UJnw+bmMrSCNUSGNLRDdOPVpIfEx1REAkdlJJYjd7fm1gSWpWdjxwcE5gQ0xD TH5rR19weCNyCit6cmcma1g9YEoyb1AhSSM2MHE3d3c/QihmaXIzM30mUDFWS1VSUSNsSFReZURq KFI/ZSpXdmdLUEoqSFdGUHZBbTgKK3o1NDZebkM/elA1RkRAPkRHOV9MX3pUZHItKkt9N3BUTV8+ MjteQlBGITZMYWYhcmFRY0FTdVZ8V1lQQVhiT14zZworekpPSlY7aEQhcXlDPlZeTkt8QHQqRy02 TWArTW49RDUtIzRlPnpPNWcrVX40JkRxaFIhPmg0OFk3ZXVUeSNhR01mCit6TXY4YkYoZWBfe1Z7 YWtRdCVRUDYwZHdNYjs+Y3deaUpYbjV6YGt7c1ZiQkhBQzhTdFQja05wc2x6QE1UQnReZVcKK3o2 MCNwdzlTZzUjPCMrRHtvc3o3REBsMUEzUG9haXJtRT4/V3IkV1MwZDRSUEw1WGA7b3lQV3U0PFAw JUp4M1Y3VAorekZLN1lWcHVBRV4rNmFDXjRzbytReXx4SkFFNVdWaEI/UWZkVTw2YmR2dDhrQWd7 PDBFdCtKb2UtUEs7Kj8pRUkoCit6PT03NE0ra0s0O3BFUStIbVlLQmJwLXpxTlQkPHNqRTM7Y1pR TDFCNjR4WXorLXFhNlp4K1ZCdTdSfV9qZDY0WHMKK3p7cjx2entXXj80anJtR34+bGI0VmR4clY+ LSQ2MDklXlZrSz1FM3ttdjJlJldtfEU1WDwzPk9ncDYrelYjS1VXdAorelQ7PVNEVj9gdyYjKWF5 a2wpbXkyd1FCbT8pMyQ8ZVZqR0VmNDNzTGdiN1BtZmhLUm1VMDA9b1ZWfntraTBxYigrCit6czkw KlN1dEZ7fEFiJGNoUT09Y21LKlhkSFVrZCpDUzFzOVooR016NXhyZ3owV3ZxbkN4N35wZHduejtA XiUhT1oKK3o+Q2lOcWEldFdvK0NFWkM9c0tXRFVVZmBNQXkhV3dwP0Zvfk9AP3hUalE7QSNlMU8l fGxHZVFHOVJfYEVENlF3UAoremEkK3E+cnkyYVhNKSt7KDdydHVRKjAqTlc3fXwtODZvXlE0IU9z bmlid348Zzl2PyF9KCNpdTB4KzVwUzdGdWd6Cit6IW9ZT0wxdF8tQTJUcS1odE9DNWZeYjc7SSY2 ODNALVd8WiprfVMzJHUyRjYjYUU3V043UihCVzgxMTh6cExSJlIKK3o3IW88LTs5I0A+a1ZxN2dM RDNCQmg5Tj4kOTM4dk89b0V+Xjw5JEh2cl5QcUxLb0pJVWFtYnckY3ZGalI2N1gkYAorenh8Wkls e3A9VWtFPkkoUVNURDFMKTd0NkF0Rm1vWlVZbjFmeTZYQl54bzlKZWtTZ0h2ajk+emNXRz4xJFdW a2N4Cit6cmNLdFpIUzZjTyZ0NUAwQE1RS2w/SysyKCRjOE10TU59P1BSWTY8X2Zra0QzJFViMilp O0R4dTIqRGNLbUJUWTsKK3pnTVp6PVNZTGNTKDdKflc/Y3oodCFJV3JZbV55WFBRcXlmeF4jSUg2 MHBsdlRYPz52KTA1VUcqX2QqYGkxKEdJRAoreiNvI0tkajRpez47N3JYeksrUSpBKlR9ZVRWVW9J azd7MyVqRCFDPz9uenRfaiN1anVUNSVQXj9hSWJ3RmFzMCsrCit6YmEtWEgyOTMmUmA3SnJXMSt8 dlRQJlZ1bj0qKStgZEslSGVATV5CKmZScy1oQihIbjRNTzlIa2dFalMoIVhBVUMKK3pnbzBLQyFP PiV7bGZRam5YUmRURyo5d2JQRyVkNjJNKy09RXd3RSNwWmFmQk80bVQlMEkoOXR0YD5eO3syXkQ1 JAorelU2fjBYNCRHJlhQI0JxNjchYiRMdTE2dWdYb0RQdlN3RF9oZTBTPUBrSHBzUWczKWVtezZS YzFKXkZ5TUFea31oCit6LUYkUj11WEZQPSQ1aWxyPClrRGZsYz49Vykxb0F3ZHdPTjVtX1V1YShh PTAqdUpOa1JKJH5wS0NOKTMyZShudWQKK3o2VzdHWk5gVWxJSjdPPUgrRFh+TzlXWU88SHtPPihP VnYhLUstZDhOKlJlZG4zVCV1IUNiNGVNam9vaEVuTG9+OQorem5vRlVGSnp8TmwhQXNweSZIR0Zy K3Z+SUpHc2pXfXV6bklRekZiQG5ub2VxZXs3SXh3RFNPJG1DeHhmLUVNSCVWCit6KndefEJsanQ3 JihtMlM/WDF3Jk1FcUlTIXIwPXB3YHNta153azx6bVRqKStvdl9NSW96Xz1KQGpnUS1sIXZ7ZFMK K3opZ0FNZmI7bWw+UyMpanQkIVlpPi1mLU8+Xl89VUFsSi1NMmkjNjEpSHtOaWNzTmpgRXVfeyFZ aUFHUEloPHZ9SworekNlYU5uaGNzRmRXYTZ3eSlafmwmPU1SUEZTZDJTQSZicUxTTzlnSmAqXkk3 YUZ+dUt6bE9YMUtXRSZAUmtRO3tkCit6eHdaPG57RXZ8NWI9MGx6UilTZDRhPWNfd1gpfFVQZH51 eGF5Sk0+dXoxQWlYSDgma2orbmJhIytsKkptIUVuWEwKK3pvKkFBZVNnPHZEVitaTkE/eSRyUzxw JF9PaHphNzdtKFl6IWBsRE9qJmF1WFI0ODxXcHZrPilJcjZ6S1ZNQDJDQworeiswYWdNaWhQQF91 ek4rM3ZVdCpJc0kocyQ/QUt5fm1ebS1fMlh6bykhSWVuNnE+cE5WKjJsZXtBV00ybGJKKHNqCit6 I15ZREpCMTIpcyN7PDwqQiVZO0F3QFM0VUpybTtTaUJvVDsrLTV9cTd7Njw+UUdWMkcld2B5JkRi X09eT18leFAKK3phPn44JjZzSypmMzc9TT5eV2YhUVB+OEA9O3Veaj4xKDhJUDxwTUpOX0NFPmhl VWNAYThUbklYM2grJmolbT9zIworejs3dmQ/Pl54WHloeVAqPXtTVmx6Z1ZsTj85MH55Nz9yKyFn RlNnSm9aWUQtOSZVVExmKzRLQjY+YFlWM1pqJjk9Cit6WFNRfilneHw9XyMpVGBrLV8pO1E4WDhu eDhxNkheUXkhUnNXfWNPLXBeVClRZVcmMkI2RWp6NmxDWHFwaSUmUkIKK3plQ1gqJUhkSkgxRFA2 O3NHRkNUPWhhVDREdS1LMUZ5QGo2cF5GaVk4QyNJZ05Wd1pgUStuK3RYTDZxb0tsZ31SYworeiVN eX55Vm95Z0wxJnRJYWhnZFBSYHslfEEkVkNMI2tLPTtfTGJfdDdnQnl8S1hme3tWNzJrQGpTdnkp Xy1xaDY4Cit6dVU4PXdXVipRJCMyS3lnPHJpe1JlMzIhUXdaakd8LUxHTnxDWWo/UVVFRS1JKXMr anVhNUlaJDN2NjxDNl47VUIKK3pFRkV7VUVgKWJrUmpwP0QyNkVzcyZFYD9va2BgNjJfcDBiPVAt cWxPQjN3THw7X3QpNXNkQzNnXzt2fkBkJSV2VAorelktUjd5JlR7MU14YDx4VWRfflR1Y05wYSs+ U3RlTldKR0F9cmReMFQ8KW4hQk82OGlZIzIwZU5iQ1VBQmFjPzZQCit6RGtnN1JlYiNvbHgzZ0Z5 b0N1WWRkZTJ0R1hlRSQlK0d1d344SlA0eCt2S09gMVh2Q3NpXjAxVEhXSGZhTmswNnYKK3pBRUA8 PkBFJTBRRT9KUyEzZClZUCF0PzRuSGxDVDsyTUh+KT57VVZLN1ZYc09ZTVMra1R1UHxJKUt9KkVw TEBWfQoremZjRiZpQmF7aXRlclglNEtXVEEqazsoVWxtSFVDRVl4TmZfcmwxVVE1NX4hNSkkNTJi N09tNXxEbzNGZGBBTVY4Cit6NW51WXZsSVZHSURGfThLcmVsRUtIQGA5V2tBIykjK3c9NilpPC1m UDcwUz1WRn03XkMtQ1c8QjJgX0NrOTBsUkgKK3oranpOUXh3M0RDWCRnWH52OC1MMkMhUiU1MT9w dCs4Qn00Wit6e2lTSTkxWU05Pj5ySHtmUyp2JFVFVURQUysqPQoremwtYFlkKVN8UzhMJmMpaSZ1 K0tPZk12R3FWciEpflE3TU45MkNrYnVHNjA2VE9mS2orSjc1RFZGaHRkXmY2Zk0zCit6QD43aDM4 Tm5CTzYxSG1JJERuOUtTTEVTV0lJPXZgPm9Qa3E7MiQ7RVRIRXdCeWk4MkVqQU0yfEdrYG1aK3xj SXAKK3pMbHw4emBAb293QWhQY0c7aW02UW1YN0p0NH13LU9nRlVGXjlwZ2VueUszd0M7JFFBUktl TEY/UndxdFg9PVlJQQoreihsRnxeNlpqY2xXZFMqMmUtNDN8cHNuZDNrMDlsPjUmODZoWVktYDBS I0dAWmJVS080a3U5KlFPPV9iNlN5dWZECit6JWVHLTZQdjJfYyU2ZiNoNWg0ZT8lfT5wdmRwSWhx QmNLXmphPWFySkM1eU5OWWtZenNnelI5eThZOUhBJHF3YW4KK3poPkRMRCp7O2hIdT01K3dobExs UHdXSX4tMjB8IyFpIzhONXA1cTlwcDNrfEs+QnQreVB8JlFkc20rRG1PWV4jeworelEmSzZWWE4w PGsmKk1iO0VrOGQhKjdXcXc9YE5WTmoma2tjK1lHPGtHbUJQQntUYG04P2VHN3AjJiZSX2sjYnUq Cit6Vj44eFp7cVNXbDFgak18Wnl4ODVpOF8jQitEWVkpdjZFJCh0c3k8WT1LWnI2PDw8ZCVKeld9 dEo7LXVaUERLbm8KK3piV0RmfDspQXAkQ0p4NntMczE0e3g7PHVCV011TkhkVjM5dHhXTUJJbmxU c2ROayZVRWZYWTZUQjNKfGAmbCVRVAorejhmWHlXIXVEdDFgbzRCVyFydFRiZXdoSyNAZl5aJk5a TzFOaVdoX35Ae05UKzQ3SEcmUXhDZDk3N2l8S2cxezlDCit6SlpGdiZERygleXg9al47TTVtayhN NTBvRE0lbDtAK1A/d0p6QWhqXkdkN09fbmFxSCFxTyhFYXU8cW11IXZlY3MKK3pQP3JeaSNKYnM3 PSRHcF5WQGoyRmVee1UtSlRYISlJdXx2aUVeK1l8aChOZFdmXnlqXkY+LV5ndmojdVJsdlRiWgor emFAUD1OaWE1R1c+RDNhUkFhTnFDS1gydTchRjFLeSR8OUZ9OHE3MHA9e0tkfDgxTW8zOzd9c3hG SUVhTF9fYC16Cit6QHEtQD0/clVkQnBGbkJMKkw+MXRtRipgb2hrQ3h3RjMpYDllbz07SV41c1RL QjRGUm9PfShxdiQqNnx0cl5aQDMKK3p1UHZ6aXNhdzFnWnxUSFImTFNoJWYoam1jUksmWnRwLT1m Rilzc0gmOzdsLW9BXlBwODc/WCl7M0E+P0Y3UDZ3UAorekJ7OWs5O0ZkYVZjV3AtPWJkQkhrQEZL YnskZ3VURmdid041NTE4dXxgOW07KDFwOz1nXzk+OVU5OyllLSNGV2llCit6PkVmPEMtQWgrNHNA Kzdoayk9SndOYiFeXl5HallHMDFFSmtFIyhjeXVZNkl8ODspUUdTTDRtP3tgdkIybHlzNnUKK3pE KVB0dGBXUWdOXjIwQlpjMjtGWTFycmE1RzRYbFRoTyt5fjRqT09ZVn44Tl84QE9jMndgJWtQbWBH WWk1bzJIKQorenpKMV9abmFuJD53IXNRRDlTO0ZiOFNxQUgmNXtKZjtXJWUzTlIySm5DMk4mc0w8 TVVeI0QwN0JCVVBzKG59X2dICit6Z2gpMm09JHk7YyslaVdxRCVab0lzRlN4PEVIQlg2b3x7RXFL S3koa3N7VlJQK1cxUyQ3SUpYTnJxd2EwZkMlWjcKK3pzV3NQO3stXllXRV5AISU7ZkwqWko0MDxH TUN3UHRVQD1uMzU5R2E2aiZpUlgmZ3pibXBVNXYpcG5vZk5iVk82IworemNeQWNrZ1ZVSkc1SU9N amlOeHFOSkIxQnZmMmx+RGkqLWVjQkBVYWVIaTRecnU8JHw3XkFYRjU/P2Y9aiNEQlM9Cit6ZzJU T2JCZlJHRmRIMDB0ezRUNFBaak1TQkMhdjBmJD5yUSpGXmVfezEpUE1xdn52U1gjIT81NkxBcTtz azNfXkkKK3p0SU9STEx1Zj1ZPzV4ZFJmfEQwO09MR0ctPnV6aFpHeGIxK3h0X0F4cDZYNmNDZ0t1 IXcyQ0kzITNCeTEpO3FZWAoreiR4TTRRcz5VWWF1ezItYCpqK1kxNXpNNm5VbH07NnIjKyM1K154 RkNaQWVwQUxxUEJ3RGR4KWQrUiVVaHB0clg8Cit6c2dmWlE4ZEw8O1g+d1Z2MX4qRDJXLVFQJFVy cTdQR0QybmNvQX1pa09NVCNWTDh0dyt7ZzZLPm5hMz8rRmFOdG8KK3pIdWBkUUpVfHZ5Y1ZSaVR1 eTh4dil2RzhGVnZxd2o7VyV3XlEoXmxoKl9FJHAoezM8VmdxajRleFU9fG0oQjZRYAorenEtO3Vs ZjlsfiFDIyFNRDJmQn11bGt6ZUkmM24+XnNhWDFqWn10V3cxTVZAQCFIPlM0bXooZnFCcGlxQVlf YX02Cit6OTVxRWJwcFlDNiZfNC1OKUJGQitqRE1+ZypAPHttPWhBeFZfN31ObkFDQEo2bTw2d0Re TmxoXilJJSVSWioxcE0KK3piPVVAISFMamhXdDtqe1piZCVJYWZ1UWFMWmdRUFB0JWZ3KSRZakhk O0N1RU5Lc0kkNlA4dj9eZEY4U3sofkROKQorejFQRGI9dzNeUkEyPXZeVWF6d2ZzcCQkI3V5bUt9 a1dZZzBfOUptRlchbCgtYjNXfFV2SDtjO3hyPVgoUjU5M1pMCit6Jn1veisjWUgqPTZvTWYwSEFU I2NaTnVOfD9SeDBYXyp3Rm1IfVk7QTleT1I/dTNVOSg3bDFgSHlzMTJNd0o2SEAKK3pKTDUzaUV3 YEBDYUViK3kqQ0RlTVlqQn1nVkFybG1eTj5Wc2xMUjNaKXJZRlo8ampwNmgyeT93enhwNCU9Q0da MQorenApVGpoIU5faDFpYkxSU3c3TVlFPTA8UikxdlliM3hySmchSU9DZnY9bHAxa2QybVNVP3dI JVY0bjhkQ2ZGYnhDCit6fDcyWlk/Uk19SVQ9I0o0I0UhWFN7RWxTem1rfjJuUV5sPFRVQnlnJUFl Rz45fDJeelR4TEdHcGFVbi1rVWIhPFMKK3pxaCtyQ0YhRCFod0Q9aGQyZFFXSlV8VmNLbXBlZjho IzdSVT9jd0E1QG1yXj9ELTRWPndROSRhSVMzeylQSDdMfgorekdYKFRjZSpBVlk/cj4mKCEwKEQ8 UWcmNitBTV9YUHRBK35WMmt8bFAkdkFIQEhya192TkV9U1ZOVnNDQWdJVW19Cit6MmdQeThiJSp5 OHJYQ3xvKTYmZFI9b2tsNGwlYGtldDhWfjxGdC0zbEhSPSFDSW1FPiRgPEFtTzhpaH5YU01uY1EK K3otKzJCX3Jue0hRZkZ9Wng3ZEQhSG82dGlVTXV9Wlp1dkx6OVphWSElQGw+WmkrYm8zN1ZWTGI8 blU7YEM7PFJraQorejJQNCVtUD94cnxXX05WTGpFfC00ckghLShHJXN8eVVjZTV1ckg2VUg1aE5p MiNQYmd2P0hsQmY0MmBEVDBedmN9Cit6LT8kXnZyJjUjNk1GYStQJG5hPTVIKz02cXF7IW5aZSlP WFgjSmMlMiZ8aismMiZlezEqY0poRGxIOWFeKGVOaSMKK3pNfno9WWc/fm1yK3dhe0gqaD87ezEz cnNWV29jd1RAeCklfjZZbUE4MEI2ZUB1dVB0Xih6fkZaJEd4YT9RVl5WQworenpmMERFWiQ/RCtf WGctKUdpP084cHNTcTJgbiQ/NihsaFd7JkI2TV9VR0JfbEVnNkthKnZLQ3NFLUcmdklTQXliCit6 STtCWWluV0s/ckhBbHYwOT4wPCgxTU98VyM2NTtHKXtRQCZCV3ZPZV9VWSEhN3VGQjhgbXhmX2BE Z3d7b19HcmsKK3pTWHNeIUtLcG01eDdqZnRYIVNnbmZEX0QjXiR+TGszM2JJPUI+YDBJcjhJWlNr VTAhMl5TSERQMFNpel9BfFMmOworemd0c0p2QDdRaXwqeXN4Xl4xLVMxMXdmJjE/UW85ZHQ4PkNn Wmw7NXFoNXlrMHtFTnJmS09YZ2xFXzVqV05HMUEmCit6YEVNUiQpXi1OUUNqWU18ZVhgblMlcUE8 bV9wNiQ4UiVrT3xaSmNmbkQqYz5EMH5HTEBINipoRFphYG13JGJfakgKK3pxRHE0MUQjZ2J3a0k9 O3B1KzZ1ajZuMEt+Uj1TWDhZSUEpfmwtQWtYV2NGdzduPGxsUm04MngyNTtFb0VoVmx8XgoreiYm X1RWPkJYJHteNEFydTN+cUVVbislRTg7PmN3SVEtYjkjSGZwNFpEKXtNSEtZMDFvI0ZnKnAkbiRp LW9kI3t7Cit6ey1eNzA3Zk8xbUlpKlNzbEA4OUN4JEZAUCU5PjxBbUxuYH5FJXRTPVFXQntVdklT JG1yXypvVyYtP3dzbzlFQmEKK3ooOVR1N29nVXZVb31IZX5MSys/U3toWTAzIW5BKDR7elBwS2xf UlZRO3Fyflg1JmJXQnQoOU8obTE3WGsmYzgySgorej1iRllrRWUqPEtLRm59e1d1I0NaTntiOWUl Wk45UnNeOEklIz5zWnAhOV9rakZFRGxJOHB4Vzh3JHY8UkhvaGd1Cit6RCQ/d2FJdV4hQ1d6SXNT Zyk9Y2xJJmpDYyVgP0laUyU1PTY7M2hgXmo9PWh8bDhpQllsKSVkRnpfKCpaYHxxVl4KK3pPezN4 UyFrPkdvan44REhscm0xeWN3elc1UntPQ0cjV0tBLUdSMlBSJWxUcSltbWNDVHhEZnN2e20rTHo9 cWU2XworeiYlWXZIYCRWbGdSN094TytPdzRPZ0dDTUlZPGJXbWNRbVo3YGJnQlFoS150Nm0zTjdy MiUzfmh4Q2xwLUBjbSgyCit6SHl5UFItfWNMTiNNKUpTbkt2anlpUkRIPlVySUZgI34wO2lsYkNh O1VuQUxnKU9WRW91ZmhNJmQ8YVY3eEU2ak0KK3pHQllxTGpuMGNsRUxuP3RhLUo5SGY3VzV7PmNR WUJMUGQmOzZPSyRfZDdBUkc0bUJPSGpEez9iTm4xYHhITTdpKQorejx4KDArRGFfVEg1bzxpX1V1 KWtrRHt4IUVjUEBsV2opQDQ8YHJ1KENBN0dFUigze1UkKzBgSWVZR1ZaZTNEWSE/Cit6SW1wQkVK a24lMTw5PWQtbUAkSVV6OVhyJjM8Wih4cm9aantrWmNEQUQxWmRRS0RpYFNzM3NwX2llWD9RcSgj eTUKK3pJI2U0R01NUVhMS3BTQWopKDY3RnpPLStfdEVLR2d0Y1lMJmxaajgka0d5YkNVeSpGOSlZ TG9KaSEyVEozbkJ5WQoremFfektMR09pNXp8R2ArJVpNSzFVaH5zRChHJm0hMzhiPVUyTnFgWEM2 dzw7Yj17RXxIVSRZKkR5OX1wKm9ZIT5YCit6ZDRmTT89S0ZEYDNhYG0oQE9pZGV3QUdtJT0kLVo9 PkpUeiVTYjVuPEY7JkV2PXVCVnNoNWVNfV84LTNBM3FfTHQKK3psJGlxd2NnPyZxND5ufFhMVHRJ XmM4eHxaKWdQN0dibSFGMVk1dzMrJmgyeH1wSHIyPURQdWtwdU4kNl94fVZEJAoremIyY3d6TEJg TVJIPXJ3b3V0Z04xYXRYNnBtKWkpKj5GZ1BgRHs/OyRxJS0hOzV2YWRDM2ZSLXVPLVA/NHJpeE9r Cit6Ym4pR3BIU3RGMkg2YFFnYipgUVBfTjg1YlhSWitBI35kZntNLTQ1UHhwPWY2YHppXlZqIyYj aUg/TFpwdDxhQz4KK3pmYEhtVzJ3PnNQZ1FodEhwbFR7WGdLeWs4bn48fUVeR2RwTVAyPXB7WSN4 PVUlZyFZOyRvaD83aVh+JHgtT0RkKAorel80TCNwM0thPXgpJTFzaUMjKTg4VS1DR2FoVUZ9dis4 bERMbWJXX3tYOW1kKlVVdXEwO1Fma04/ZWRSZmBhWiklCit6TWd2OFYqczlSNURPZSF4eE1NRFlY T3hBRClWXmVePTFlPEclcHZheiVLbXcrOHJ7fElCPU07ZWFRTmVkJDYzK1kKK3pSeyFYIXRrVGZW e2NvIWU2V2ZmaTM9fEkrM0lUKW4kN2VWXyhZSDJvMUl4ZHE3Ozxze3lkOXJsZVoyN0xIMnFxTAor enJqLT5RUElUcl5tRHNBYnIrSzcyV0IkI2tLUHRBdFVVJUlLQ0tAO24oLUl+NGM3X35YVzchNl4k NHd0eUVaQXdeCit6QHdAeVUxb1o7ck0jPXpFNnlMfVhAejtAZ2RVe0QqN0hsbXxVPHpHZkw+PT0+ cjl3aCM4KGBGKWVBSFpSI3hvdlMKK3psOzRfcTNjV1Q0Q0wxU25wZm9odV5le21mbF9rfTZBLUkt Pi1EOEhPKHJPbUxvVmdFXm05Vn1+Jkt4QD9lYnNaVgorelFQTj9CajFrb35VX0gmS2lwbFptMl49 aWplbzl8Iz5ZdD5QVTJzZXtvaUdEP0dyJG42UTQrPHY/VTR4SztFMlY+Cit6ZXwzbGEkSH4yZyh2 bGVZSD0lM3Y/fH1VJGleO35vOz1kQlF7dFhsKDZDKGdRS28ya1M+SiZrY051SVFZJiY3N0wKK3o2 PEhLN1ljKTVPV1RBT31PO1p4IWBAWUFRIXZIJGRISXtmNF5rQ1piSTs1WiRJVjdeR2ZRU1pXcE9C QXNQRCV8bworejtIciRsZTFoOE97MX1PeUh2T3d4UVokcXp3ZzV5KFVBJllTVFFEJXkxN0khcCU9 WmtTRSF2M0cmTjlAWnJfOXRYCit6KTItZTEkJl9sUl8odTs7P0N0LXtgfSZXWnk/LXB9P0BJcGJg PEVyejgjcD9kSVF+YzYtYW5TfmV+c0p3JDJAeWEKK3pRa2Y9eVhCem9DRiNmcVV8TmxKeWQrT2Y1 KmA/JkRlaDVFKVh5OEFwMnpPK0xhRTNzeF95U0kkZG42Z2NielVPZQoremN0Mm0pSF8ld2hofEUr S0BkSF9eM1phbUJ6JHF9MV9LT05APVhYKGBTfm9mT3AlSXtSUnNBTzVQJE58MjRLISFXCit6U0tS UiU8ZFFHJEJHSTBOSzZhYTFqanE0YCR0KENyLUI9SmM8R2E4QjA1Z0JOMV49XmQxNGxDIzh4ITBB KCV0PT0KK3p4fSNNVT9FYz0kZX1UNVBiQXVGNjRVMU5gVDNTQD1ZdH1zVVUoOXtEMGZHZjI4LV94 T3hEdncqMGJqNCVAcldjTworenZUU19uTnA0Pl5IPVZJIUQrd0E8WU5vNSM/VCtPO1VkUFJvcyVV PF8jMWRiUmtlMSFNT3Z9ezheNFJLalVoVD0mCit6WVQ5bXolbDtUR1Y4YnVtUm1Ib2ZpSD1wUzEp IVZQWTV2dSRAKyF0Z3RGNTxaPz58eTFEMGlLMFhxSTREKkJkQFAKK3o2IyZ+SmN8SGd9RDV5YWxX e1MraVBROStxVWxRdEk5I0F7KiFoIXR9KXE1aSFAWTwyJkxXbSQ8THZtbUsqS2k0XgoremVmU3Bi K3s2ZiRiJTh1d3tVSmh3dHohWn1WKmRTJXg5RztWSDVJbUtsZGtjRGhWOF5qQVNRb1pzYnRHY3Fh SUcyCit6X3YlQ2ZubUdEantZWD09JXQxaCZeVmQrcUxYRCg5JGN1bmlGQHAweSFQVXVkKm5qcDJR QjYxUTBwXmR5O31fQWwKK3pwMndSdD1kcEdqOSs/eSgoeSojY2ZSQ1M2QUhvKkZAfGgyO2l2SCNk X1BPe2V4SnRqK3ZTI1BIZ2ZOezdNRyFMKAorenZsPz1BWiVYVmA4Vj9CT19LNlNLZDVaI2kmdGVM OW5GJSZUQU1HZWloVn43aThlUEtGTXtxZ0pxTHtOeD1BJSk/Cit6c2hoPT1sTlBTPi1BeU4reSZx S2NTMHIkQVA3MWtIUVlQSk5BaSEtdmt+SkFSNHQ7YlVxeCVESEUzdjdwNFU3elIKK3oxcWU8Tk1S MjF1PkI9bnEjN2p0ZDskTjNmNVQqcnRoWitpQFM0QVQ/K2Rtd011PHljcy0xIW5wQyN5fmh6ISQ+ TgoremY5MS1lJDR+QH5uYXhkY0Q5eWFTdDAtJTNTKT59MSU5RUdiNlVBLXVQR043STw2Qk4od3Zf UTdYX0wjbmw0RGk1Cit6aEF6eyR0Ym1eMElzfWRQQSNnLW8/Pmt5VUc+Xn4qOz0/cjN2PF9EfTUl fGlkMnR1ZihscGl+MGV2K15GU199YCkKK3opaHRyS1ZtYUFsa0FwZTlwZXB+K1dCKFNYLXI3aXxo JjZgMGpWSWAzI0J3TFJTTTBAaTtKczlUK1Q2c2NCNnZAeAorenNES347RTRjKCZyflJWallsPjhX LVIqQkt5UmA/cUJUVjxsQWVBM29HVVA9c2whQDN8ci1wWnF8MWNMdjIrRkFMCit6ZnIhJkNjYXNL MlhuYGdnZzJtQDN7MFN1aytEOUhnM3Fffm5XK3klMnlzRVFzeUcqYV5pPzQ/bCVpKy15VzljX30K K3pOfFFyKHI1PXBZNDI4Um9lI19afW9wJDZ3Y0lCME05X0h8dkF7KEpSZTBwUEshLVJ8XzlralFG UHhlRH5ATTJJUAorem04P05LM0d4bWBBc0krOCl+eEZ6azxDXyspZG9DMiVxKnAqc0VmVCRtckJH PUlIKkxXJSZ5SW13YHQ+M1B4IyR0Cit6NC0jdmFpfGd5PEBwWFJnSihSYCk+NzJAPGdFQGdIMkNT Q3lFPThvYmtTWnw0TjVWKFUmPHReP2k9MjRYTk1SQyEKK3pIKUZxMj5oQmVqVVUhZmhJMWdzS01O dn4pbXMyWjRUNFApSHo2QVlBXylIIXFXNmZiQFhsOUZtVz5pQDBnITFYNgorekc4fn5xSHAobj9J UWpfOWckbFljLT1GSXJEa3lHWGtMMiNtenlsZFZUVXpkaz1PQmVAYzhMM3NUTTFofk81XnI8Cit6 R0ZlIyNKPlY5LWZeYyt3cEBLWW0oKzE7dHVmXmA4TkEhRWl8TG57aT03IUp6IS1meU1FVU5YRlYy TFZ4NWM0JXEKK3pjZGRQZSN0ay1gKzFJaTFZUGVGWS0tQD5fZHdRWEdtRFgtcmpOQX1NMX40KlRQ RGFrXm1QKHJ6NDQ4KntPVlFieAorenMrWT8qKl89Ql57RisoSnQ2eFAxbzZyKXRXTXhIMkR5WkJZ clg1JnFSYzNYI2leVFY3UmZRdlcwNzxMeSVeO3BGCit6Rl9JMGdtT15WMV9Vbz9ee3QtX01Peykl Wm1lYntyZzZQanZGVjJ9X3EtQVRLXiElRUhZY2BtYFAhdylzPz03QEgKK3p8SiNXdlk0KkI3e0lf KiFDanRPS3t+c3M0ayk3P28zWUd1T2Z0anJOQThmMX1KJTM2amx3KSEwaDBoYT8pPk1odworej81 VSMrKkBSMilKR1p8Zms7RnNEYFM1dShZPjl0LVdAJlo3Ql5eJl9ee2Y7N1pWZEh1eWl1Y2V1NE9L UlRxfDVnCit6bVI9NEZ3PT1USUNxMCp5T0s3Wkk9Qk82SXVVRVVEZU1lTHB3dzx8Xyt1bEFALWFa Y3czS1hzT0hQX2NQSWF6S3EKK3pCJTU3TEcpKkUhWjxkWk8xbyFrUndPM2dLYSp+PXxzJn4qMS1g eH5qLWZ1MVNDWCk7Sk4oe05OPE5+YWpeaX59YworenIzJj9pcEllKEE3YHN1TUV4JipxeWxIZWx3 JHBqJDJ5K19TQktzR0E3JjclOGpAfjYlbFdYIy17Z0BicXNIeXVDCit6Nk1Sb2dYTk58QV9qWXc2 WmF9dUdSM2s8czVPdm5GWV58fnJaM1FBcytQYWl4cTE/VW9zM2h3Tys9MHV2VHN1RTkKK3pNYj5N VGsoe2Z4QUs8VClwbiFwY09BaFlDbiV2PWs5bUFjXj5TbWZnUihGRztpPHwoe0J6fUU0WXBiOUxA UyVxOAorekQlJktaYWtzbFdUPFFxcnJ+ZWd1OWwmY2RWbilCNmJgfmVYP2BreVBTbykoQnRnSzg9 ZDRTQG53fWReTm5HKSZ0Cit6ZEpqNVViSHY/QWQtP0h2bnEkQl5JWmdVdnBKQC1xVlVycTZZTmZG Py1xZnE9N1A8SyRvYWk/SCEwI3RwQnhNVk4KK3o0dlNUPkd7aXZ+a3hnLWlYezJ4S3dyblUwczJq dlRLTnFeS1FBVSpSMGBFVWI5KykpeGsxZWFWSTBqIUIhaTY2UQoremJsU2tMcT92fU8raWJiTUZz ZyZSSjNrOz87KVo4I2FPO35iVVorJWElayt+VWBAfipRPnowXiohaGVjKWdfLV42Cit6OzNSeVgo dlU/YCRkUXhYZWE9KlQ7TnBnYkNhViVxczxOblpkRGx3Yko0Q3dpb09RcStCKmlgWlBeQ0B+Q3xI M24KK3pEYTJPPEltZVk3VTEqVzlSZERuNj1OfT1WQ1luRmliYFNfQ0I/enpKWX5wN0wke1I8Y1Vs KGNGc0lXdzFJI24peQorelAqe2RPVjhuLTV0JGhabEVISiohNUhPQmtVcEBPRl89cDgzVmFDMmdu Mj5AYk1qWHgmaUU2JW1XJDI5cClsOzM+Cit6Kj5HaGc9aCE+SFh9Q0ZGTVV6e315U3hFMWkhZHRg Qi1iX1hTbVNWYTFDPkVnPnRUV2l2Ky1XRmM1dnVGVn4jQ1UKK3p7WipkLXMjaCkkdll+cX1WWnlt TU9NaW5vLWxvKGIwI1deKWdpYkNMX1BJNSNTPEF3RlJsSTM8VCM+UjghQUU+JAorenBfZSZBa1A2 eE9SaXRgVG1TK0xNVlJ3dU07ZC14UWdsbmx7Z0tWfDhecGtUP3VKdTRmc0hTXiZ2YTRMRUlmSEde Cit6TD1+TTstMzFLR285KGNoQXd2fkVORTB6MztmZERyVl4rREJSbnRHUTsrI3BkYkY7b3RKfVc7 SFV0TGI2ZEJuXikKK3oqaj5mLVcpal54N2VHKGp7ITJZJG1sR0lzcCNFSyhaRGFack1BQ0BJQiYr S09obl53V0Q7bHxCYj1YKnZVOU1POQorenFiWkU+WX1ley1HaGJQXzVPPklzO3FLaDlwT0syWUcm Z2QxM0QzNzRgfmZZfVVpU2tITyN2ZGFkbDdXXypSey1GCit6OW8+R0psO1I7KDJCTGkrcWBCbiVO SGgoQlpFIzd0RiRWfTRqNVB2cDQqO0ZwcG5INExeUDBwP2YmdDZFUFU0VTwKK3pCdWRaKUt7VEEh KHdGNVhPT3xAYWRmfTY2UWYqITJKZS1XSU1gMV8/bjN5en04Rm4lR05GaT0rbGZlZElEc1VxXwor ekBwPVI/MSVPc01XNzQ5YjczTV9JMj9KPGNFWVFxZFMre0BSUDY/KDZTN0tBelBEWVpaWmA7KEJA M2Awd0tUVktnCit6QCs2WChmVDZ1fnQ0SCYqX3I4LUBGcXhKNWp5UmwhRDc/bz4zbXhpXyttLTM0 JnslUkZGdHYld15nV3BwNDcrJHUKK3pkQSlweVchNEZ1Z2V+UmxOIzU/WjwxSExFP1ZnLVJDbVY0 MyhXJCNTYGlHX0ZLR2VHZUFZampsIStMNyVRVntmbAorej96PUdMQ3ZiZjN7en41IzteQm8xdFV5 UTF6R1E3SVBMbDRFQ3pGfHVGLXI2aEk3bHslYnVJWkxyYkVfTE0xRzhRCit6RDB4clU4eik5Rz9r NDB4YDd2MnhDZ0NwNmA4Rzw3UkA2YGArSFNMNlpgVzdHMytacC1wbWdhM29VWWhTYVpfVigKK3pS ZmRqLWdeKz9YOCZaRVhKU3AmTykySDlEMGVuRmZMK1NlS2F1VHxBNXheJW16PGhqJXZ0dC1LbSVD M35oVShrfQorengoVkUwWkMjJUY8RUkycURrfCMkKnBWWEdqUGR7PUVHQ1FtUW11fT4xbCp5Kjdf d3pgVmc1cksoLVNEZHF8PW0xCit6MD1lXyg8Z2V8KmxAYWpean5xJmNgQUUhdWslNGFQZXZzJU8k QVhCaT41JCkmUUo0PVpGa2tCVlYyQW8wejs9V1oKK3pKMDVhUDtUJFIqQVpyRFc8dl41akRqSyNE UWJUSmdLcnFAV1JSS1BnJilGWSVOa3QwZVh0UlQmZ3NWI1Y2RVlBVworemgwUDN3ZWpVX21OT2Uw Xzd8RlooMDBTQktHfHhwX08jPUlnO2QhWVlwZWd9NSNfVU0teEZyYnI5ZF5BMDJMZnxwCit6VmJM UCYpWCh1R0JaP3FaYTkhRSkkbk0wUTh9UnxMSGx0SUBuX0dkJUVHSkYqalpXTUdMJD9QT1d7bzNM dUNjXlAKK3plI3BfbWsxUjhXajdUcSlNSUh0KGVlRUtPWHB2MjlDLWQlbUIpfjtjYkgzJStzJHRE ZUopUUAkQTFvUWo+V3Buegoreno1VjFZRzdWJjZiM2p7JT1MeEZDWXwxT0FEPFRCTDQlSF4yS2Jg WXNmS2h5YE9HcEpySFJnZ1FReVRmdSV3b29WCit6eTxhbXhiLTdOVjdZO0xSZyNOU2tBbTV1QmpF K3pCJVJOYH16RHBhNiVLQGlpJl5CMkBPOW16fHZNTEpLYGZnM1QKK3ooUVgrWilOO20kPS19SkEk UWB+ZClmUTBYbGwjXlFwTD1TIVopPTk2UXNqZzR1cy1QVFgzbCV3dEJVb0d4e1RiWAorekdNT3RV TFZTaW9gQFhMWEplKVM4WSkkN1l4MHB4Sjs2fVN+O2RUSkAwMURIUExzTCEzMXJVKj5yPz8zWlBs VW5XCit6RkhHSXtXJFU5NUwwVHF1cCEjZm48RjVzUEh1dD9tcUpTTGNtbHpURE5WbGVFX0tBbSEq fkdIUVVOeW11SGItWjMKK3otZFhMWWBLNDBkR1g4cDhaQ0QyfksjPylBOzxRPGY1PWxQVkxgbWso TkNTJG9KZWUhTG4rTj8xT2VMUGpAKktwbgorekAoWXg4TCMjbThkMmded05kU1RQQGVGfnVxU1V+ KU5UeyRqOTs3PlFfTT4/JHF+QXVxVipSNWVnczleYmpZY19tCit6bG9rd1hWJGkmWlc/JE1wY0Yo ZGN2NGZOKE9yS1AoPX1iKEIkQytfLTlaVjBabHtMYyhsTFVeeXV8cnRoQEkyMHwKK3o4MHIjKyNB NVQoMF9mfmRxLWRfMDV8OHRIK2tnNiEhc0VBaU5kTnY2VTdpVXdjPm9ebXImcXcxK3tKP2ojKVNM Sworelk8NjBIRE4/akojbSRJaUltUzZRNjE1bSU3M3FzUF5uPCRieUw7YjkxIUMpUE55OWBeSGtM bD9aVjw9NDFtaXdvCit6WiZ7Mm50RlY2Z0plKVZNa0k8dyFoU3Qke3EpWVl8RlcoKDxLJFNMVk51 cHUjWD1hb2JfZlEyaUtTcHVWYj85O1cKK3o9PEtHYG5gUVh2U143JGtFQ2Rialc8emlXYGd1enB0 dn1wTU1zXmErPVU0KV5tREVVcGg8Ui1fXyRCZ2BhPF5EVworem15c1AxTzQtcDBxY2o2bzNsOGsj RkJhPjlYcFFDIT1xVXRnSk4kP1E1UXQpYFF9LWI7bEdSJFYhKUsjPSlBXzJxCit6N3xYUEpaUGdR YEw5TTxzYitjP2Frem5lPlUmNHtWamtWcnYjdiZKPVp0cEUrS3RDelIhUnhMSmt2ZStMSnk9KVAK K3pRbWxJRyQ8ZElPQXw8SiVeWnVRcWB+M2NtXkwlcmNmSSh4TG1DQWdXVyVXaWpqZTl8OzgwVGtr VkA5fChPYmk0IQorem83X007KG14KmFCaF97O0tlUSZXNE1Fc2B2VkV2fkE1N3doVTtTRGUqREtg Z2MlNip5YH1YIVRlY0t5ZGRjTTVzCit6ODBaYFomYkxRdyZBVn0xKCVZVm8pIz81PDZnUGU1Wlh8 UDlGbmUwNDNfKU9vQj9xejJibmt5TjxYSVpJdUtEJFQKK3phbE5FeEBDYnduVHl1WGxXIWpUQVg8 S1MoUllKVEVJJShII2IkXjRrO3A1ckJfc1E8YDBDQmpxYmFjKWsqVC1mSworeitnaT9iMmdVYzlW NntrLUFuRSpMO1Z3VE49KUdncFJXTHFZcU97e0p5WXc3aHJYPGwxKnhxfiFmKE9PdFdaIzhCCit6 JCE8cnd0UlRJVGRyOytLeEA9aVYmI2UjPD9DTEA1NzxoJW55aWFEJmAyKiRjITxAT0RIQHRnTlE9 ckRpckBKam4KK3pFOS1pS2l3PzgldEhOVCUkI2dLKzYhaUF2QS1wUUpuR2RiaF9FMUlsTT4lUkJJ cHo9S2lkNEdkVjdLVWtzbE1SYgorejEpQyFFSWI4PWJjZWYpMVdRb0hkIVV+Z3paejZRcEVaXzk9 WVdAZm15c3FERVJeRCRlNXhqJjJlc2Q8PUpBYzA4Cit6YFF+M2lGdGxzfkk2UmtrWTdMKiYqNyRr UGMte0BnOUpXUHAqM2coanhaZGxUZCRwWig9ZDYyLVNgK0xKPnVGTWQKK3p5bEthdWEmc1B6NHI1 djB5QDN6bUsqeVlXOCRtWUx7RXk1bmdSMkliK1NlIyN6TnNAfSpJK184YDw7S0EoT1htPgoremNp LVI4b0RzcUtoRURZUSRPd1BqdkEwPCteeHZoRnI8aUdDPEsqbFhPeEF8SF5KTGNCPERYdnJyRGAm SU91PnlECit6c2UzamRsUnw2bE4zal9lZlFrNX5XSXM9eGtXPnEmKm9NWmMkLXg4MmA0Z1VoYDNM dVc5S3Y4KnBXbz1RVnYqRUQKK3pTUCFjMWdsNClwRGlaR3NDK1V0QFdRTHFtPil4JUJDOClZfG54 dDI8OHBgMW5LaGJ5blJEd3sxZVNzJnc4RC1fZQoremIzemp7ViNWZnlGa1IyQzdwXldlZld0IWdS RSlUTzFeMS1ldT5abClxWkIzbFlKRiUrTk1FYD4+T3BVLVB3Nnh2Cit6ODc5ISlDSHNYWTdBSklX TV5GLXxiMSZwTXQ0aXFNUTVCQjI+ZSk0fUxEKn1lfEJoPCFIQ0EpUlNhcllaezNHM3gKK3ppJWdA cERwUmZvVCFnNiliezQxbU50bmhzX2tAKlIhVT18X3N1WXArTXxHNDlVQ3Y/WilwOVozcUJ9MDxB Vj8xQworelBqNHVxOTtjemBYIzUhJlRTX0tVQUtOfmE7fFlxP0U/VmA1KUk9UkxCLXIoX0cjbThR QllRWUlzS2Blekl8LXIrCit6OF9CbT9yaEFhOXQ/Q29hZSghKEJzZDdvYVpQNVB1TFBAZyMwSEZQ a3VJb1F3dypMbm10WE5DeXVMSzZ3PWUzc3EKK3o+UmZVe1E5NG9WX21jSTMzPn1rOT50Zk1uX1B2 TWstPTFwKGNec2d+Iy1gK3RfYmRuaVYxblk3RHFNQG1GRUZzYgoremRAdnlQLVBMNTxwXmdlVEdj em9tWW10bmRhPmh6JCY5WUUwb24qcE8wPXxkVW9qalRPNk9BNDB0K0w8SSk9T0lMCit6SklCUzZM SCV+Jj0xdFc5aT4tNU4mamVid2IpMG1waiYwbE8qdFlIRGkqNEpzWlFIaShxK0BoIW90JXJhJnRB ezcKK3plIXskJWI1Xy07Rjx6T1NMeHhRbStzck9JTjJYQFcpXz1ocz5YbGZiU2tHQH08PFRDNiZj KEFjR2ZkNCQ/SFZARgorej9iJG95MXVCaGAlKXQyNzhMRnVQYypTKjlIZEVkXm1uRGc+Iz5aeUFS b1h2XmxgUV9QY2ZeZV9wbkdVbV5PWlJwCit6bmRSaT5FPyhPPDEkYWtmZyFzYCZIT15HN2dqb3tY Kno4I3E7JGI7RDUqdyQ3TjNmQkB4RngwJXBsSX5MYUZnKjgKK3pKSXYhV1ImRWZYUD1oeSQ+YD42 RTFzaEs2LWNWcDlyU2BlRHRCUCkyLSN5QjFvcm5Ne2c9SHV4KjFBIyFzI1R5QworemNlcXhERUIt U0dTJn1TcyZ9cUpyQUZRaWRjNW5aaygzJStXJXgjakVwZmw/P3BucjxUMD9UNFRFTUZqY2NfZCg2 Cit6UUJkfHpxKjNXelNiUj91ODJgbnliVDF1azZLNSpLezVESDtoWUdGaCo3TGUzQXlaYjlmfiU4 eTkhdE5tOUU4bWUKK3pPcDk+ciRWPG0hKmtnYkY3P1UwJTNqYCZBQj98Tnc9MVNxVE1Pd0pXVWoq TFUtcEx2dW1EZyFLeCFLU2BANlgtYQorelZMKFlCXmMhWnFKVD9zQXIpPkl8cGR3c2RnQHZkVnR6 PFhleS19TmxtbktEfWk/NSM/WjU7ezA1X3swcns7Rzs1Cit6eTFobGhBZCErc1VKeG93VzM7YFlp Sjc2IXIyLXd5Tjc1Qm9kO3FDXihgXiReZk9MbVY0bnklU0pTPmFHazZDYH0KK3pDJXZTeWppJnoq R0JqUXpUcUl0SlYkMkRVKCk9VFlWMitodHQ3KFZrI0s+KCVAMzw5bClLRzR0XjZNQ3AzKit0RAor ekF2fnBDVFEtYENFcXdSSGtQQ0ZYZXd4T29nNWk5cUxOaml4WVAzTkpIRkllTzVyJj1KPWM+NVAm ZmI+bTB4MWtsCit6Zk5MSn5rREhQT2VOVUg/KyRqN3QwQDI+WGhlfUY1NHhqaHl5RjJ2I1EkemEz WktEUFlwN24zUVNUTE5eVkgmfE8KK3pZa0RCWmNlRj58REpMKUY/YlA8akM7VzRAITAtLWI0Q0kt Njd3WTlzOUx8aU1oKEVDPjFSd2M0JHsrN247cVJDZworek58Pjt+Yj5QPFpPOSFMQmAtJTVfN2xm TX05MEBQUFB5SUJIQipJR2BoN25NRCFKeEdVTFFrRzdwdkB4aCZgIXlCCit6cUdCOV9hcitSeXJZ TnklUTFSemlgZ0pnLUEpfHRaKW9BbGl2dDZ4bW0jSz1qKkh5aUh4Jjl+fHZqWWdsWSktQj8KK3ol PFIrb2ItRVBMZGs4IWp4cTxrKHViOTFZeHEmMEAhdH5ob0YrKSp2MW5fR0tuUUJ+dFVfaWRPMWt+ b2dVbSEhbworem1AdG8wMys0ajI4e193bmtBSSpHbys9QFNsbVNpNzVjQX5zaGFCbCl6Y3RBRyZ8 I3gtejlecjtKbCN5QnJDdCQ0Cit6bXBWMnErc093Wl5pSE1TaX18NDsze2BjQXlJVWxOVH4oNUdi YU87Mzh9PGxmN0IjVE16bn1AZ09iYTxsM003Y2cKK3pxRkd2QkpvIWRAUHRQOCEzTGlCMmFfbj8+ ezZvXno+JWReVWEteWwrWFZZTFdiSWRpdipxcX47Vkl1X1dxT0l3fQoremFYRGllaHowNzY0aDZt NTJZcSpYK0VJSjIyemImUTFrMlRwbXshX3FMOzQ4YUB2KU5KIV49USptOD1DJVFSRnF0Cit6QSZg XldBbHYjVyhUIXhOYzl5e3AjZ3BKYTJyPmwmQ28waFA3SStkKCV+MFVmNGZ2PTBCPlhXVm1peyM2 enUqPnQKK3pOam1WfkNLelFRT3VXJGk7JVN9XykjV0ojTWB6KDJYMnF3O2EwMkR7MXpFNH08JiFV fFgkP3tKclI+YSY3I1hhdAorenFNeGYzT2lfNStmWDtncVR1VD18KSRFSGRlRkZVT2JAejd1ZGM7 YkAtXipXUXtCTGhEUSh0Zj0meGZ+fCRCaks+Cit6K34/TlRvaXJnPSRLdG02PCQod0ZneH47NFoj LTxeMjR4S1FEITM/ZiU/O2NASUMqYXclV3djeWdmWChjNkxEOV8KK3oqI0FhVmtjXzJTSko2enhY Y3gzKkNUP1NnZ3MtKGxHdGVGdGEhdipBSHBEdCMzPkZrZDM8cH1oTThHZDI2O19OXworejhwTFla VUZqP14/VSlrQ3ZNNDgmU01nLVVZXkwzYCEzfktqazA9encxazImSmZnfGJ3PXdrRCVkbiRnR15m Rzg3Cit6JVZhZE9HRkBEamBGN1dUJTNmWVBhPSZvWVctdjxpJW5LJCY3en5vMGVrZTFSY0NWKTBL TXJ2TUwmJTxKTnA8UVoKK3p2cUgwfjJ0dkBYckB3ZFA/IXVUY3xJbns4JTFwJjBJbjJiNilqO0VY VTtAPH53dm95d3RKZGgwMFE/VilgMVhjRAorejJKKTh3RWshMWMjTXhyeG9TUStWJClpSGRmfiVu PFBOS0Y7NDBHVHliVW55YEgjMkQ9bmxKazdiYGxiPlFPfFRNCit6P01peE8xeXZxU3BRWng0PyNM UDJAQjNLUyExNnA7dyMraTNtSm9tSnApI1hoQTZuZmdEZXB6SjtlX2xOPSNUUnwKK3o0PGB9fiNs SWhtYU5oUnIqPS12MUJjPVh9MWdEb3lpKXM+aU5aSkR4TT9wRk0xeGxLdS1EKz9QOTBpIzh0WFd5 KAoreipKPmlvSi09TjtpdXA+LWR8UCRFWnFjQU9pSlBQPWV+MDY8MlNnZD05Ti1lKCt6QDAhMShm Xy1LS3pHS3QlKV9uCit6TnN7eW47dW1UWHdTQEdkNE89M15OMU94ITEoI3JxQUp+d1VQIUl+Z1U+ JCUmMC1PJTVhV2pIUUdndHpYNW13WmQKK3puVTBsKWE7JTl6U193WiMkSVpTaklxST9PS0Z7RzM3 SmZgQkNSUHMzKDIoNkBzOW5HYjdYflRjP3VgMjJsNTFFdAorelh5MSp+PUh7alR3dCg3QVR8KVZR KE4pKmVjUTdKNVk9RDkmbEtAMkl0VXI/RFRMa1Q7LU9ZaFNkaFhDKEVhM2U0Cit6QzF1UFI0SjN8 QUlVOGtrZWxVdmQoR1AxNz1gUzV0U2Rycip1V0B1JXd9RjsmPHM5Sks4ZnNWJFJhRVlVJF9FT0sK K3ojZDNDUW12VHheRFpeMTR7KUxsQmxqSngzRi1gYn4oN083JSp2MSplVWVofGJIfFM9KCMpRV9Q d0t2djRRK1FldAoremUmMCNTbXd8WjlUU3wpZlFtTkFeLXtyezB2e3NidUhrNGB8OHUkSntBZkRX KGtUfiVneXJ5PFBOKl9eJGYkdT1hCit6OzIlMzl6YGcrYCRIflYlcyZlfTB7NW5oYjEpSipfYV5+ Y3VOTHd3UGhtIzUxbiZkaFNTeWh8Rkd0UHdkYVkpVi0KK3pVISFFSmN5NjVuWnRKI0d5Q35IUzh1 WjJee0tDUSojdnledjh6JnVKeVBFTk1yUjVtJSEzXm9hMz9CViRRcj5rUAorek1EN3w5Z2JBc2B3 TGdkOEg1fD95TTlpRXZBZjEmNHZFI0wwdmZGMWImKmtiRklJeCsxMiFWJnxUUTYxUFRtQzBlCit6 RjB3cFg4R2t7IzlQOFZUXnw3alYpbit+XzZGcjUkdytsOVcpJm40eERQS1IyKj9aRjtPITVaZmVl cH5hU1l0WD4KK3pANSFrRHh8fUApISkxUntVNXpwb3ZRMz4tdVAjK3NLdWt6NilfJH1nWnYrTD5x K35RfHArKElMY1NTX18mI1pqNAorenR2U0dWc1V4NiV4X0ApWDRPb341Oz1JK0x4clVxak9pJikq N2JQR0ZyTGR7MSlkK300STBDd0F3RkpJSk4wdEN8Cit6X2hxTV96USlIUjs2eCg3azU9O1AyNEI/ ZTQ5THtgbXB0LWU+fnQhdEEhbUVWTSN1cF9lXz43M3haMUc2NDZDKjcKK3ozZDJiTCstY1NydCZt WDEqUkxwKCNJVV4kQjBzQV94V0ghPi1kWitDPlhkWS1nTjM5Z1VoV1FpYGNGR3FkVTk3dworejFX KDFoWVFvKT5hLTxUc0M5RUVVRXNsPEcqU2oyfmVHM185KiFNOH1Cej5KQUk9b3BXVUYwY15vYTU9 M3dARHRkCit6bTwxNG9TVjVHYzVMS2ArX1daYWArR3gtN3FjKzkkTlk4X0kjNk4wVFojUW07a3R2 a1RGdT4/PmZaZitMKjN5PUwKK3o5O0pEQGxLfVkrd1hLPzhXNjk3fW5neChSdFNPSCVAWXQtJUx0 NSY7NHZRaXshUDFjaERmVG9qRFRwJiNmJCYybgoreiQ/fjU0NW1lOHlIWCpme0JzUV8yNWZtM0BF cUR9Sm1ASEQ3Y1I4TnxqbW9kISRpZl5xZTwwSzxtOVlTTE8yTVcyCit6REloKEdud25nTTNOdG53 MChQYD5vakk8OTVYTH5FPDxCS3RxMHZyIVIkSXAqeTJ9Zn5TM1M9JjR8VUxXdkAhN28KK3p7MXZF YHpAQiZ2RT99SUl3PztfKVUtLTJGRzsoaUFDd2xGfm9iaElvNCM4S0BsalAoUVFScSU3S009ITM8 QGE3Pgorek4jYkE2MUxibWh4Q31mQTE5VV4mby07RiRTMmVOWHBQeFBqb35zd3lZaE4/dEspP08p YzhqRlAqQmdMYUtOYSY0Cit6cGxHbXJFejt6P21VSVVoUUd9U0lXfD0mOUF+UGEjb1d1IzVSQGd9 JmdOem1TQnIqYzhLPXFEPEdgWnAlJXJ5S04KK3p6bjlBbEhVVEo/QVluOG94Xj0ybiFIbj5uall1 UkhfOUNHVUM5V2diNztiWTsqa2phKTExQiF9bmFCQW5WdWteJQoremtYR1BHUVNqMk9kWnJwTVdI QkRDVUA/UnJGWiR7NU5zeDF8MEIxOCNsZk54WGlHRENsdk9zd15PN2gmckJiKVBRCit6UUp9S1py QVZXe2hXcmxaWjRoTihzPVpHbSFOQCZnK3o1NTB4KCZKe1VlbE55VHFBJSghV3JFdjNGXlN3dXR4 QksKK3pAOF58bG1BeDUhNFZVYTB1MURUajFwalVhN3UjR0hgYUQmTz5EeSMobFUpfVI3OTFZNyY1 bkFhSCEhRm9iSlFHbgorekwwZzxxKTR8PjNoJGc0WHhVJTVXJjxWOXd7ZEUzJXBnWitmUSEzYzkw b0RxSkBMUUBNYjMwbD5EeSZZdEBJdDxHCit6c0ooZU05aGVZfHlTMlJlS3w3d1UtM2tPamVYRHhK N2pkO2ZxSDJCYiV4aVNscl9fMDR5d1chc1VAZnUhTFFQKnwKK3olUDM+TXQ/dHE0aTQ8NH4oMTck PVlwWEM3JD16fXo1dDJHWDFBMiE5TF8qSSpPNndNJkJBdG0oc0ApZCVwUXc0YQorelItYH1zdzBf cmA8XjlEaSRoTlQxZS0/R01VPGYpZGJXKmJ+VShBaD9YdEhKUntleXFXJUJuIz4qV2kpcENRYyZy Cit6b0N6S0VWPklFYGt6N0t8bkUtVmBWcWpgQG9sRChMRyl9QlNUNHpAZnkkY0x4PDFySjcpdHwo KlZEY0JodCRmUmIKK3ptJiVqOzBxMnpCMUwrVHVBJkJXcU0oKWZHP2AyMHVZfldsUFdwciZla1RG TkwwX2tQO3NCITRSV05lR1EoWEEoUgorejdNbj51ZmJwajUhRWo3OCg4Y1hRbnQ7fGhRJkBPR3pq TW1QP3dYWCs9RyZlZVR1ayMrS2oqWWBMbH5SV3Nudz9KCit6ZlFSbk5eeEZfVT9obDZYaCFqSXk/ VF4hJmdoTXJwVnVPMFdTP0FKOF5UM3FEbTNvZDk7dlhEbkYwMFRJdlg1QXsKK3oqdVd+ZTBWcS1K dThve0E0TmRBbEo+OyYke1ZNMyE3bnloNVpVVn1sTCRLYXZGYTB7Kip5I1dkX2VZcV4wSClRewor eihIeSt7Tytna2NpZmA+eUZvQllVejchS3JiQVlgdD0pRXZhPDhVNEU/fSo5T0UkXjl6MWBzMkB1 XzBlODhXfDs8Cit6NT11RnA5ekFtUzQ9ajJMYTwrflZXV0IxZkFCT0w1NTg5fTRrSFZAQkJFbiRm PH4hOFF7VHkrPHEwM2QmbXhAQnoKK3pMNCl3JDw3NDEkXylFaU09Q0F8S2t0VmBTVVgxbX4jaVd1 ITVtZC0rdm8qSWVSczBYPyVgMEJgYGtJPilSKmkoSworekVCUkBwZFl+UVEpV2JHSGp0eUJuQXxX eV9vVys9P0k5Wn4mbzcxZkBOPENZUnpzWE8kTnBxYThzeTg8NXlDPDJDCit6Z0tyY3prJHtWc250 TytRe3NzKUkhMHpPPzZsQTZwMXpAWj13P1FMZ2BYdCVXNHhGTExQSjU3RVEwe3gmJTNDaVUKK3pP WFNqbnIrTTdZeVkrei1lZVVSQ21oUWtMSD82PSppYjhDZHoxekJiIzE8d0g+Q01SdCRkWV5HQzFz LWEkMlpaeAorekFTQ1Fkbip0fi1JbzEkeF8tPCpVMz1WNHxYQ1YqSXxNO2xJWig0Qnx5SWhZXjBf NUIjNz8zaikhdUVJbXFePmJ6Cit6VGdOP29eJlgxM3Y2T2M4eCQwcD9WT1RxWFU7P2g2WFBjPkAl LSpHKntea0RFIWp7PiNjZFRURVU9RVloR09sQWQKK3p4KVg5KyZDRXZNTiZ5e0FVUDd4N0NJem1K JSg7dWMqKjhaVEhrV2hEUXBSN0A2RnF3eVZsYGpuK3N5X0FydTZDdAoreiZxLTNARWshOGdHd20m bkRDMChsRlZ+Yz0lKDtCcy1LNyY4Y0NHKC0hYnkySldZMUA+cDNeJTF6NXZ9VmFQS1k/Cit6ejE7 bVQkNjRsMiZWfiMyOShnPyE1WVFhVGU+bCRVdFBQd0BaNTtzclpeWXA4LSV+Y1MpaSloQiRCP3tG KUUqYGYKK3p6KSt5NS1TNnYpbGRPbzk3Qlc8SDZfTHNweGFpUFh6KFQtP2ZDMnwjaDMkS048WXI7 fUFgZ3BAUT4raHw3OGc/JgorendAY2p9OUdLY0BnRVkhWmMkUy1gP15KVCszbHQ/cHpHenJZOHNn e20+JjZecEtGbkNrV2tpWjRIdzY8RU5LIVVmCit6aTJtPFpoKllMRCN6dDkteENHfHFfTXpzMnFH Q3A7aWhEQzJzJTE4TFh7OHs1cUJoRHBxbEstIyFpan4kcERqP08KK3pQfTFDd294V3ImSDdUeyhR dT9fRkhDY1ZxYlQ4TFpWe0dXYlJmYHYrdDhuPHooZ3BaO0UtOEUrK0p8N0l2YHVKcQorelE0cykz QmkmSFMqe25yZk8pYEB3eWtIQyR1YkdVIyE7dn12WFJ0Ulc4RW9nclY5SmRGaSR9S2o2OWIqYUMt Mjh4Cit6RDJ3WC0hYXBkWmB9eUYqKEo7YmVvWTJpKmt1UWxrOzlTYkAlTTsjX1FaUm9oI2NAdHB0 SnBrVzx3aCFQbUhrSHIKK3pxUS1QS3Jxd0Q4LT9DI25Mc3xzfmlLRj45X0B4OWl4U3I2Z09MbCEt cUctZkgoNykyZVRfbXdpVWlMc2AyXn1+JQorejZ+eikle0BVb1dERm91M0ltN3A+QzsjUXJNV3V4 WndnaEdIY35NSXRkOSpiQ0VAMShlZDQ4JEltNWN5MGcoREhkCit6RT01OGVxTTJDLTg/ZERtR0U4 XkdfMHdiT3lPflo1TTgyS0xWam8jN3F1alFhT2FOVDw9VnJVYk1vPjFBQjYySSYKK3pVfU19flNR Q1h7TjQ4OCE8Vjl5KCVCRTtkakVKemgzJkYrVyhabChAdi1xdFdUVzlDTV5HRUNDWjBfSUFpKDVr aQorejcrUW9TTztXIyFGSGl2TXgtVXAqUXVfakFFUkNwUWQlPWRhUVQ4YHNVXzhucy1RRzJ8TVhM JW8yUCYxbm8penQ7Cit6YT1VQXIlKU8lTyMhPCsmPndNcGxPbVF+TG0tZlA2Qmwle050VE1zU0F2 TCVnVylDbHRNdWshKyMwOGRRRXtpK1QKK3pnamdHTnkpZjJAeWd8dlBWMXZFSzElaXV7IzwtcEQ9 eDFWTzBCSCl7XmVRckRqOGg9ak1eUVlNQypgKGshNCU0Zgorem98QXN3VmhGMjElbiZ6d28lfkQ/ byZWWmpSQU56MnQxM1VmJFlHUj1ZWlZiQl5gbmF4Z0tENHBpITMxdXMyQWF4Cit6I0B0eV5MaHZX IXReUn1gWFZeISN7P3o3e0l5MkB6c1UkRH5Zd3BMNlNzNVM4NzQ5Pz0hJSQ3MG5MPDs7PGQmJFIK K3pQKGFuak4xS3ZjY3ZxMENlNFFKMD9oTENAMXI+ayNfalF6YTkyKmorc3FybmA+Vj1uJTBNNHFv R1M1e01iaFh1WAoremk7NHZTO05AJl9QNzBJd0RCaUp2Tk1rP35gWVNGdjtWZGxXJH0qVH4yOyFL RTV4aTE2MCY1K2hFVVlLcl9QWUU2Cit6TmV2bEV4SSlOVkEjI1ZobWx4KzMqKGtmc1hrOVJEJT1Z ISRLa0teXmJaaThULW1GQVpLKTZFbEAqJDZPU3JBK3EKK3pJXkJhJm1lJGlLO3xoS1dQWH1ON09H TVF+JWJZdSRAMm5zam5oKnkyNXFXM2NkJF9faWg1aSpRTV9LMWNJdkJ8cQoreldeZ0N4JS1ZYERV b3BJNHF2T2hJNkhNeldAOGlJfStadHxGRz9yS1NrciZoYkYtbXtqKylOdDNJYUA4Oz18cykhCit6 KHRPcX1eaSY3aFMtMDFKd1ZMcTktXmExNChZaHJWLSNPQX4/ZkBSRk1udGJePDBkR2pONTM8I1hN UTUwcDhfTFQKK3pVUDBibzlXMjM9OSNYVlBMVHZEa3B5cGkjPHpKY3ZiVmFVPCpSSzFMKGswRHY0 P1NPOVoqeVJMdChDLSQjSClOYAoremtpdDc+Y3czQnFKWlE9T3hiVVBPbDEqVm1PTXF2KiNwWHww RW9tVzcjQGd7KmhIbCZyWCYyXjUrWUNmNjBDVHI/Cit6dChvVWw0bnhMT01kb1Q2K21XVGBBI3Ik VVJ1d0tMOUI/VCl1TDEwbXhOZFNzOHM3fHpWcGs4SXVPSzUxcWtwbFgKK3pCV3dDfig2RzM+NllK dHY4QCUjPDZ2YlRqbG0wekNlPGNCSm9wKT1ebUZ3TFRiTWtXc0UtWEg3em1BWEo9eUlmTworek8k Qnh0cFclVXs8MyVjcmBmallnPE5vd0JZKT10LXVRP0FaeXF0ZncwaCVtcmV0U1dPYHVIQXx2Pz9J RFpvZSV2Cit6WkYzWWJeTypQOVgxITsralpkflhSVSN4YHVLR0FtLX5MMVpsWU4zVXA9cTFve3Qz JTU0cGpWSGReaTdnWnVObisKK3pFKSQkZDZyRElQcjJVO31TLWk5Sm5MUylQNjlZdDJMbGJ1fUhz WkBraSMpeGRrbzRLLSM1MjVAeCVifWg1XzJPdgorejc4ZSFRU1N4NGU7bHA+KCglY3FkXzhodFNF Xi0tVWdzYVFSZWBYVDFgUiFNeDVHcUloJD13M3gpbCtIKzQwSDR9Cit6aTlQPlo/K1BnQGRKaUxm bl43aHQ8ZGo7PUVMMThjX2gmTFd6anh1YXxNO3FNOGI2dEYmd0kySnlAR0c4RTdnIWIKK3pBTFZH RmpvakM+NT89RkJ8MGNHT0c2O29iOTg4WF9BellfNm8+QzJqYSlMTyt6QSFgQkJXSVBsWWdEV2kl P1NwegorejBSOHN7dmloTnkzO0Q4QUEwfjxlWUE9IU4pWmQ7N0o9cyk+SklZbDxWeVJFcHJibkxg MXxLXz1JSmImKEEqeDI9Cit6enVRM3ZXTFpMPkZPNWVGdztgRnpAZ28/WlpFXzQ9b2p1bWJiSEZ0 Iyorbzh9TVBoNGxHYEJCamtESzBUYzVaYU8KK3pzK1d4aT1IdmdRejNxPGlxJWRhYll5WilhRlcm SSkjJFh1UWNTSDtMOFRKZmg2NGFpcjQyailwLTVAQF5vYkU3bworenREYmA1TShANHwkZjtYdy1P N19IMj1nYi1EV0klfVVLZmFsTmpXSWVuR2Z0OXFMTVgjdSFtP3N3fFZFRnkoWiR8Cit6RjhYQmtu cm9ob3dmfSh1UFo8VUhOezVsfHttTks8S3pVKkdANGdIZiMwd3FNJTs2eTllQH1sS0VqM0JPWmRu amwKK3pwV25jWDJ3JjhIWXItPntJNlkhKXQwMnQtUD1mVHJpTl5iflVuQnY9JlVNZlYkZWp0cEBW XkNsMnlyaTdCfjlTMgoreisqeDNsayNtfXBidjFvRHN0VEgyOWBURF9LcT0xTy0/JVh1KFhjeWdx WVcmYG9UPU88akBzbj5meFh2VlhwREAjCit6YEA0K0FVTUlSRChaaHleanU7PSVKTiNtX1c5RSgz VWJ8UHh7aS1GZF91MVFjZGlmaHZuQFI7dEhPZlQpPkhLMXkKK3p7aGN7I2FTUE9+VThGVFN5NVlx ZXlYKUs5cjE4cW0xPEhfPylJfFRQJXRESkNJKDNye2dhXllOUlRQT15VaVo+RQorenQxMWx3aE17 c2gmd1R6czVhanNeKlRudHowR0tIZUstK2BTaE5se2kwJT1tfileN2UqZCVJPmVDTnlESW1hQTJC Cit6THl2NG55eUJhPGxtVlVSP3kmMW4mJDVnQSl0Y3t5IStBP3RsaWwpSHBoNmYtd0stSXVkbHV9 c1NYbmxIVH5GWT8KK3pld3pSSkI/NzxmTktNdFl3Q1E1ISNiamxpWX5IPihtXkpKZCojOCQ8M1Yo ezlISEh5MVNXRi13ZColT3RaYGU4NQorem5tSEshUHduSVgtKW87ez9haFF1ailXZztQVG87aSUz O2J7JjM1Ymd7Rkh9eHhfIzg5JUx+KXpVVWVKKyh2UnMkCit6OUZBVjRgMEEkREhmSmNpWGt6KW8t WmB7Vjcke3RyREJoaFpleU4yRCFMV1UrTU1rVXFOWU9hZE5RMVMyd21+TW4KK3ohWCReYUJFZyoo V3Q1NTw+cy13YHFseU5QaFhKPi1mYlZDaXtaQzVzWEMrX3pBOGhCJUUjPHFIeT8oU3QoJHh5Xwor eiRxODgldihePl5DQV5xKyVPcFRVdTh3Mjx2YGZuXnI3eDM9SkVoVypjK1olRiRVWGJ7Tys7Pnt0 ZUQxZiYhV35CCit6M3YrS2MpPj45TGBFbV8hU3BsUWJRdVJodF52UDVFPnR6UH1JaDZsVyVpeTda VVQkbn5OM2djPytYb3dRaDE/e00KK3o4Y3FBRSQkZiEhPGRYRDlTQjBjdWZHMk1uUnN8c09DYEdx bzw7c1JrblEpYyFPMDBkOzFsK3IoOUgyMjRTYUVnVworenV4PnFodTBNKkt4ITVyQ3JOLS1hcW58 azBmbzVDanBmKX5PcjJVPTlrKj4+PlRSMCEpYCVNTVl1R0ROa0BzfiQhCit6bD9xKT51ZSlmdm5+ b2g+ZHNmKHklTT81UGd4byRgcUYhXmshWGtHM3duLURvUj5xa3RyM2x+byZUcEpvJCs/QUUKK3pu SlNEcC1xY3lpIzdhfVM5KSYqcSgyTnZJIT8pekJTK0cyfk5AUlBDREFgP3VMWHF2YklmcyFJaSVK fClZSk5wSAorenArckhZS1p9Sl9ISXc9PiklKz05WjZifTIoTF85fnMkOFhxKXImTnxFRSVMKXNA dnk3VGgtRkR5K1Q8RkNEMmkwCit6X1EpJnljTFBeLW5sfmt1d0h3KWV1QzRKYGA/e0oqPVZxalg2 dGloX3BgbHp6NXdXOHIoU0NgZ2x2Vkx4KG49aigKK3pVfloqOW9tV0EqdHxXXlV7SiFoUWFJcnww THphaDxyYDNnbjt0TDV4PG4zZ0VQSXozakg0XlhAQSNUUCMjQndaMgorellee2p3byp6UERjajYh Pmg4OFdgNzB8ZWs4QFNieV9ZZFF8ZVgqb30hZ0NIblJVODtHSHcoRlFXWCFye2U7QVRGCit6Umcr QkQ/Q0goKXhecmFaS0tIc3VxcjwxUCk8fGJfOXlUUn0/VThVNmF3IXViTyZGVWtsWGRjWmNURkxJ TVUqUFoKK3pRS2xxVzFzfHpWNnQzellafDUpYUY9bUVZRn07SSNJcmtjPzxhJFd9TXs4YHVrND11 QV4wOT4zKndTZyZiO1FCagorejU9Q29USkJ+M0g+bWpzfG1yUXJIT3omUj9tRGZicE0wOEVickgl WT1QNldJYSE8cXA1d343e3VGKUZXbjxmZS1PCit6cTg2ZFp4dkRPIU5IWHA/akNNeVkza3xgTEl3 I3xnb14tZT1QX2ljPj1fRH5nRkIqUXVRJnJvfV4mfmJSP0tCRWsKK3poMUU8ZGhFMmVNU2lyUVhh KEIhKTF3SXBRKEJDcEV4R1RsSUc3ciFzbXc0OE89Mjc/SkJ+PGQxU3F1JmVWe3g9QQoremJnaGVJ UGdyWWBhekYybmFiY1RgXlhoZnVgR05RMEwmOG52UHR8bGtNLUdBNFVHbFZybmBNamspPzh0IUN7 KjxxCit6ZjdifU5zP1JqUkgqK0dQPE0oflRuOHBZRFpzNjZmYz9qbTVPUUE3el5scmoyMU09Wmo3 YHMzQV47Jm8oQnohOVcKK3peJW4oUWYwfXpTbHdIRWAyTnN7YkZ5R35HV3ZHLXVGakNgOzFAaXsw SzdoNCtBOSVIVilMSyNCVTQ8bkhKWmViVAorekZLMzQhOHRqYHA7SnJuRFRkTHpjdyo/ZzMxXysq cHVtPktKektVKDJKfW4wZ0t3U1dkeldtZk9GanRTfT9GIXh6Cit6THtZSXVlcD1LRCp0UjNsU3E1 dzlxOStpZTNUdSR5JWIyYCo4fmBwMEJGdmNzSXwyS0dHPHJHJCMxTiUjVU5mbCkKK3pee3I2VE9o IWFMVElPYThVbVA7VzB1c3RIdyQqXyokQT4kb1E1fjE2aHgyLTk9WUImTHhYbGJwb2grY3FtZSlk cgoremxmMnNeYntBNWVaXz81JThoa2Q8JSlfV0JgTVFFO0p5clJIXngyNiU1PzI4SlQqOXRQYWMm X28jeSMmYE9CMV4jCit6KXR4eG8zUkJiakRDYGZhdC0xeVc3KSQmJTlzTWQzYEt8O2I5NChxeXYm fH0oSUZFNUJ1Z0ktMktEOSM7c3RGensKK3pMM3FBJVR4cyhnajR4MFlVQjsxMjNZJXY9O3hgZ2NR N3JNPndaYzs5clVaRzQ3fXR5WGh+UChRdEtjTGxaakA9ZQorekc0VWF+IVBMVjY+dX1JbElreU1z RU8pRkUmNyU3Y1RTLWRTdTU/YFZKdW4oODF1bUFsQ0tjNWooNzJobUFJMGJtCit6OVM1dFlTKGI/ amZAK3ZhcXpTIWpBVDUqQlcyaShRODRYUXlPNnBwfChjWH5JOUBVYWRRXm9yTTdBJWIoQHNnazsK K3oybXlIRFhjeHplUmptdmZhTzh1NWRZKyN7JVo8RCU7YTlSe0JFTkwyQVJucmp3V3h5UzMkXz1P JEZUI1Jaa1hFPgorejVJIzZjSVN5JFc+bF42Vk1CJlA9RktAWWhtbDJIdFI2cEhtVDZpQUlfO3wl cClQMkphMms0S3A8dmEtM2YxblU5Cit6Q2ApKTxXWCgtKmQ+ZSg9e1Y1PkhwMDMlUCMqNkcmVDY9 THwlXmo+ZnRNNENfQSYzQyVZMjZxeDhTNipPR0UlbV4KK3o+U3oweis0QnBvRmJeLVJfXyZtcWZW UHsjd04xNlc3fEZmcFMxVGpNNkQ9QlVUYHtiTnpyWnkpcjV1RyhYeGF3TQorenFfTFVeTS01bXNB VTtHZ0x0eDhkVEw0V3VnengkMXp7VUEjRT4hVXktPVFLNnZpSyhlMGFiO3Vyd0o+PHFJQD0zCit6 cyNTeit2T0B6aVJIemdRJHFJczVGSlUhb1ZKRW5PY0NsMjJeflZwZVo4Xyk2JjVWc3kxdD0qQFJk UVA3WTsmVi0KK3pRQGNhcHZFUVkhR014PEMzUShHKnBzdjQxNUN2czZOT0dTV0d3Qm8rdUx7cCFV czRmSDMzSTsmRUo8JW1sOEN9YAorekVrVEJDS2B7bH1wQnVxKEZWLX0tazJffD1ZZ1ZfQXpKXjdf VjZhNHh7X0RlKzkpVmZwcF4qU016Yyh6K3ZmXk1RCit6NzxIWElCTkl7alpwV3ZUbT0qfiE9X0kx ejM8PDl3QHdQeDw5UmNyRU9YUUMkSTxUZWM+IWE5QUg0UlNhSENqQ2wKK3pHQl9Ga2ZnJmA5K3Zq a0lrKFc5IS0jcGcqU0s4MVZGdWMyKkhfez81OVMmTWVVV21LNnFKSztpSkR6R3VMOXZqSworeiFh YlVVKElCMlJAfiZ+JFZMcXoxQXFqcSpATXFEIVk8ZDhsKnohI25wbDE5d3pHez5icmYjZG12N0xk MHp5c0h+Cit6cTJAbz1gO14/YnNSemp3Yip+PzlQJCRHRzVZV35MODRvR2RAJWpiYTltVl5Pc0t3 VWs4XlJiez5zO284e3dHRWAKK3pIeF5NQyk7YH5zXl5GR3pTYTVjPXEyKDlSVXg8SClMdmglQXJG aE0tPiUyVEM3VWYjMSQ+NU91WGU9JWMlQkhMVAorejN7NCpJOXs9b29lNyspITQhU0BZQWVvKDJ7 fmBnaTVjdClWO1ZsZ2JQc1VGWGFQd3AhLVBpZFp7OUl7fC1vd2ZgCit6b3NETGNocWpIdyhLPThk a0FlfH5FJENlZUtRRCU/Y2c7a0ZnPnlqKWNnO2ZwQF42OT8zeGYoN0V8UEQ3ej55bm0KK3pfVUgt d3tzbjwjfDMreVZWaCtaYCtRcHtJXnxeTn1qNCp8bF5QJVJYaHVaJiFXWGAmfThOfX1vYjUza0Bl THZRcAoremthJUtYQnV0OXNjTEpON2JZUVp3Xjx4SiQkR0tSSCtAX2NAKl5saHNLPm95az5EeHQ8 Q0U3UV9PN1leZ0hkdko0Cit6akhramNMRmtkUi18Z0gpLT9CamxAZiFsRk1UWW4zZkdGam1aXmVv SmBYQkVSNj1SIS1pWFg9YHQrbzZmd1o7bXkKK3pJT3s2fk4wV3FeR1M9ZTtqXkl0cSFtaHAmZ2tu dXt3PUFAflYkeVB1ZFk0dmQqdG5FNGJaREdxXlVPdH5XT0o3UworemBRPWBkWHB1Qn5pe2E4fFM4 cDdwI0J2fm04N1hndWVPPktVSGt1bGRrQ3d9ZmlVN3trY2N0Kn5CPk5ZOEM1WXRvCit6PnVveXBC JGV4fDJ8UXN1JU5tMWJDeURsI1h1Xm14KlVYcTU7VXM1RENoVXFIYyN9PDB5TTs5OXJmM19vVUhV Y24KK3o9ZzwleVpzVHNSVGV3WCZWZmkwJCVFOEtAXj42P35eb3NZMG5sTCEjc3txJHtKIWR2PGpN TDNfVkxhXzA/a3VHPAoremo2WH1oWD9RbDRHWWZ5TXZoZTxKKl89WENqb3NfX1pveHRmYThTUDQx UyVSSTxjX3EhJFBBdzB1Wn52MkdjdTZUCit6amkmQjdsYTI1c0BaRGIxPWlsdzhWNGI2TDh1JnN+ Y0x9UCpFREc4ejFpdz9xNylMaiZ8QzZYaTNyVEFoKndgJFIKK3pEdG9KPEhvXiUjUWViLXotYkox Y01VJityNVo4M3QzY095TyNKMkhUZk4tVkRzdWskLXN6JC1qa354N1hWJFJ7OworeldGWS1IRGwz RzBgeT9DbDJyRFlCJExVVGVqb1NfKzZgIzg4N0g+YCpfYjxQIUZ1bXJfYHV4R0VxR0hPQzJ1RGE2 Cit6aygqJEJfVEFAO3BIKTgwd2VOeHxfey05aXNXZHRaYFJKKVQ7TEZHQDt6PEoyMlg+NlRXb1U8 QTJkUHJSaWdUbU8KK3ptWC1tcClAcjl4eklyJGQ1e2BYODVKT09idkQ3dGw+U3A4fkx+dXJZJSk3 cFRjP1RENjVAMWdLUT9Qc0wwa1U1bAorenkzVFcyMnwkbyNsV3dHJW14c2x0LSRFTTFIfU0/TSpl Y0F6TFMrMlFhRmVseVkhTXpLTz9jMjtTbEc7dVZ+a3VaCit6MT4/fVR0RUpUdEsmRT85TGdnTl9C XmVwM0s/MyNseXFlbUJOYlFuaTdGczZJP2NtdWUjcXF+QE4xKzEwMFVoO34KK3o1VFVUX1dPTSEm eX5gOWtMK3Q3NTRoeipfMypUPjcqJnZ4dFEpcyYlYS0hRXVxOSZfUTxIUGtOdytrNjNrMCtPSQor eiMkZitrSmBfS2BVUDh8JkRGanwpdDtzQzBtfHheaUokP25CZmYqY1JOT2BZbTtLPzgqXiNKbiFa ZCZYNnp5eURpCit6S3omR3NCQ20mOUBtVWklNS1Be2M9fXUwWSl5KEd1TW9DZFNSY2pYRm81RUxk a2sjRGVwVGQleDspTTM5WlVicGwKK3owZ2JzUnpzRDxUQmVoZFBibzxDKlA5MyVwJDcpSms3byVL NzI2PlpEVk5wRVdmMENMdXMrPF97VCFYKi1ad1ooegoreiRlYyk9WkQycVlTT3VXcGFzYE9XbmZx TG5ve1o8JWlKbXBZZVpoUj5DbV9kYyhWO2V8dUFFaWVWP1ZzWjRyMVR1Cit6SXZudnFCaGI0PXRx UkNha3RRKmJCeSUlM2BSUWVMQjRzaE1SMSEhPTFuUVNYO05nJGEmPDFmITZ0Mk8oYitUOEEKK3pz fUBxe1BBaG1fVCF3RjU3e1ImdHR0fUt0aj1lb0NwVGV9QXplPW4jdjdWYHBSSiVPQ28+YzZCMyN1 YnNPWn4mOQorejNefjQqVWlCTiZqJnAhMGQ7aChqP0U3R0goWnl0PylmKW09eEhwYiQ4YH5qcEBB SmUxPDBxZlQ4UUctdmxtSXFOCit6cDF9OXRKPiZ8KzxlPTZSQEk+eEdDS301TDFfeXZYbU1FPDZh Ml9Rd0FYJTxZJFRVaHhZbSglcm8wX3RicldPZ0kKK3pgPHA5V25DY2pebX16UF5aZ0p7QGFHRDk8 SHhrXip3d0lVSChzS0JGK2xrLXtCWXQ3MzkyIWVIe2BKMmIpIT1WWgorentJKHE1VVlkRE1yKzhi eHxOZVNlLVJzfk9uQzA8OzhYR3l2TyV4Qj09LTkqPWtGREJ8TjVhcFVndkgzMXdtJEg1Cit6QylS ZV5SMGM5NHk7WGlOWDR5az4/eWZ1STNnPWN2dF47YyEpck1Sa2g5JVF9KFgpfHApNHdFQkx8JWhV UzNCJk0KK3pMaj5yPkBxd2NuR2VOOUF1am4jTD16LWBqWnBCUFUqRyg+U1UyLXUwcy0xVCMlYz11 aTJNRXYyaWFrY0I/cTUydQorem59UGtpJVpMKT0wdT9sMUYkcilGM3dHdzFLQSM8PTtSVkI+bVlr PjclYWQ4KylUSXdqZT0oQ25PbE9hP09eSWp7Cit6aWoqPVAzS0NCc211Z2hMeHlyZyEkfnwrbUhK ZjgrJDJEeTA+JnB7IWtWNHl3RkpINzlEM248dU02a0R2ez40a28KK3pvUl5UM2goTSYwQXojVm4w amlWcGgrRz53Kz5ueXZtQC1OSzF0JER4cW05byZAaT00OVMyaVFqQ3VmSnswYjJpMQorem9HTjs8 SCMlR21UV0Bga1JrPEZHaTRmdjtxNFJrO3t4d3g8SnZaVmcjY2AjKHV6KCh6MFBwU0A7aGheZGE+ bEM8Cit6RUwrVm5aODh3IyRkc2pYNGRgUnhTPi12fFZ9blNjVEMzR0NFQiQ5czJKdkxOQ1RVQFh0 LT8xbXFwOEs8diN6NHAKK3pvazZxfUliQEAqQ3hPNmZOZzczYXkhYFBDTU0mTmtlZyFrdEBDYGd5 IUp9WTlaSE9PNzh8YFdJITVKZVEzRXQ9YQoremE9TGhwJTkzMHN4bXxwNzVVYShDVDRCRm5vN0A3 ZHNAdDE5dTszU242fXp8az5sflFCRlh2JExYcXMyZXhWRUdzCit6IStPfjViIT1+eE01dkQpIT4+ JlNUKVFHO1ZSckdVdkwlaygrRF5xOUMrd1RUSHo9aC1aYygkdEg2eC1qdDVMYyoKK3pebG5KKG1T ZGw9LTx4ZHFhVypBbDg5V35qTXRYaXtabmZmcUw3OSVZfDFgb2Y+JFQ8czQkPyVxN3d+VkZJdjVn MworejtmZGVfPG1sWXhUUTRleHJaYWpEbksmNiYmUlBvRSlXQWM9JHM3UiFkY19aezlfcn5Gal83 MD9gPT0yd0opPExLCit6MStabntVYmVUMkYkQHh2ZjZhO1BfNmJVQW8kTykqS0MtNS05KTlPakct Sl9kMihPZlllN2I2S3A7UFkyb1RYPVQKK3pKWUhxTig2TmZlKH0xTCFSUDsyUjJuTHQhalE5Tkl2 UEpFTGhGSmp8e0VlQis/ZSh2Qj1zZW9RUyVCM1k/eEgrbAoreig+aj9UIzctMVE3KjNhMytSc3tB PFdjZjZyOWptYDRXUXwhMUhZP25oU2p+WEYoLT5Vd01LaT85ZSVkc1YqUmJICit6NFpBRFQpO2Yk UClhc2NTUWA2UU0wJGNyIzIlK1dESEEmQlZobE96X2hyMGJVLXkrUUhsfXJTNmE3S3AzRXV6KEIK K3pwajZDNmdKYXY5Q2tGOGJUOGhQVWolO1p8NFF2ZFRac1puTVRlWFlgKnJoNytKRHcrMjh6NGwy aVpGdHw1bURMfAorejVsODcpWE5zeWpXJm8hNCRYRldQSXVeekR3VUIjdzlpWDhoVm9PSjQjRlI4 JEFlQHE0ZHgpZ1hDMlUpLSR4TkBZCit6VWtzbDEqWVQ+QXFTflVwd0tUY05uNUdITDxSPVJqQF5D RTJ0ISEkeVpWfCo3O01vR3QhITdoPk9xYil7cXZySXQKK3phZTxnLT9nfiNnVSNIN2xqS0JPeEFv byVYekl8KF4pNUI4RThTJihVIX4rejEkRzBBI1UqaE9HKUF6Pn1HdXh+fQorekBPKGJpX0cmWWI8 flIoU15YLUhQJG9ES1Jqcn1YNmJ6O2pLPjxGfFkhUFk4LXZgMkYrPEJATik7e3lNMGBzSDwoCit6 QEV6ODNwVE8lPFFPPGM3IWlxUyN3YSpndno0STN3WDQ/aT16bGowfUJacXMjJV4lKCN1RmphK1pX X2RyMVp5TzYKK3okMSZKVXFYNTtlQWA3Q2xgJSk1UCtgdXFxMj0wQCVpQHgrdWpOejtKR24rXlI5 SEBqYGxQKGEpTipwK3MqNDswNworelhmWDNmc14hejUhQFM2b0g4YFh8dkVzPEt6PmVRY2oyJF8/ MWtndURoZytaQ0pjdj5yYCR4O3V2djgmbzVMYUB2Cit6S0FMV1FpXldEeXEjb3tBWDY/RnJ4cWEt ej9zK3BWciYoYGRiP3E7bzFEanhAYCFzWWdNQV4+SDAqZ0MxUUwwPWgKK3pPKmY4ezlveSN4PXN3 THFgLUI7ZUtSKitGdGM8cnY4SWdoZi0zRDlOM1M0MWxGPFh8X2BPRktzcDQqJCorJXh7Pworeldu bTNKVWpQKSU1anQhP1UmYWhDPD1HLW5XQ2AzPGN8UTkmQEJZZ2M+V1NgQ3JyNVNJa1deWnBscVVz aiV2bCE4Cit6M0BBLXpOJilPYlZsQm0xLVJhd1khdFRFOHoteEByQygmTztjO09fdkdhaSlvMW5w K1okVkM3N2p5JEBgREVvcmcKK3pHV0Q3U2dJKmlobC1yQUFwQz9AR24mY0wxb1k5cU5FX2koRE92 ZmZsOFk4ITtob1BaY0U7dmBBJTtJMjlHWmJiXgorek14Nkd1JC1sKiVnbH1ra0pFQSRwMjRma3B2 NEskPWNZNH5vdUw1TVJLcWwjcFhAWT9POSF+ZTFtYzB7Ny1nWkNSCit6WW5xSFFWSj5YcCsheUJo ITluNn04TCNkN2VLT212YSpXM3I5VGJGUXxLMjQyYmU4alVoYXBpX25XVTJlUHROUU8KK3peIXNY Kk5GVXQycGklbDRKJGhMP3ZxXi0oeF4zYFMjQDhKWTdMTntTcCZaKS1hYXNGPzQ+MFheYlFoZDRG QSsqaAorekZRXjBmcDB7JmZFMEwqS2pmbVhlcTJqWnptIz5sSl88Ryp6ZUJTcnglbEQ9RHg7XmdR VVowMW5DeVhkVD85QiNlCit6ejNpK1dSRlU/Ql50YHZ9UzYjOXhtZlFGMUlBe1hqKC1rdjFmRiZP flowN2I7T2d1cEJ6ZDM+SWkwUzFQZnY8dEcKK3pecU42XyU+e0hLJWd5YDMrMH1ZeippOVU3PkYj QzU2YCl7ZVd+SSVtTDRqM1RIYXlwV05fe2syQld0UCNIVFJ7WQoremxfZzxfOS19cEI3aCZ7MHIj Y19APUIwWXM3RX5KUEM+TWFUSEE5RUFjXzdZR1ktWkl0QjBnOHh6a0kwTipEa0F7Cit6Qj5kNUsp WCgzOUBYK1Y1TiR5OGYpSFV4Q29BPUpxWm8/YmJfaWF4V1VRMCNpc2c9Z2VFQSVgUjhmRm9XeEY2 NksKK3o8N00wZ3JWUSFjPFo4Uk5Hb2FhclAzQ0RhXmh1SXxubyY4fig4IS1ZOFA2fFI3YEEmRW49 QFpPU15YZ0cpVjNRSworejxiNXRJdCY5I2dUQURWfUUmMncjYEkwVWJgSiswIzNyKE02LUF0eklg KD1ATUYoM3k7ekNCKEdeb3kzdU13bSE9Cit6b2VAKExHX2EyelhIME51NEBvWGRWUHdvfT1hUDJk b2ZgQzdOQXN0QUt2KEhISzRDTDxeakE0eiN+MWwtckU3ZyMKK3ojKmFKUmYwMT49MWJ+TSRTXkk+ dzVeWjg1V2lafGRKfTJEYWc+PU1UK0B3OTMpSSRUPFdZS1gjeG43Ym5zcz9PQgorenpKPzBsKVN3 NGxBcVZkO2VLdHhOU2wtSkI9M1o0YWtIPDZseExtazdmd1lhbnN5YVZDVSs/JEVqMUZWczNxWj96 Cit6bFZSI2o4KnxUQyh4emZQZjMyYlBgMUZPdUQ3NDMtY1VRWWM2UTEkPFFtVXh9Rz9maFdsQGBp ZWMybjgmdilaYzAKK3o2fmE/KF5vdTlXSkdWVWRqJFF8akwrQVl7LXN+M1lyeiFSPlgoTmU9OD0p aD00ekd9QWZFNH1eRmI3bX1LM3syfgorel5vQ2VHNUFqTVV1OyhEbkxgN212R2x3fmMmNSQkQ3Q0 eCpFeDBXemszUmNLM1VnOUpGRmU3eF5iSy1fZFcqcWlTCit6P2hrV0tSSGRpcGJYNXF9bzwqTW15 bmY7VFhtKnxSSVVhNGxnfXY5S2pQJTVHanMtfEg9cXd0SjhoU3l2PWBORUcKK3pNO2U0KFA4YXtX aVNDU24/SFp+U3AlXylCWn1mSFZlM0tLZmlkfWQ2SXpRYWBNdEVYbSZuTGNrPktySjV0Xn1Zagor ejFRSHB2QGlLPjskbnIwWUohVE4mOyp9MEFAWTUmLWtZcT9JPndZU2JlPlAqNmVOeCpQJDdYcFRX LVF5VGVIME19Cit6ZFJBbWliOF80KEE3YFI1SFhEZlZVN1NLaTdMJiZEYzlQVDgyM1YweHchSXQ1 M2ojcyVYVmAqKEl6V0p4Ul93JT8KK3pybG89YW45PEk5cVZAPUUkPWoqT1RFJmctSSY1Qj4qSkM2 Z05aSDleXyVCbVc5I3c0Y3E/YXdBcStlZzNfTldvTAorenJoNnt1OF9Sa047TihYPDl1N2YyWiE+ KihfQkdJYWFENTJTYUkreDB1MS1raVNidGpoQEpGKjkhPlA0RHlQNGl2Cit6NEMzcm5xJVhZbmlM bUgrb2pQUCFuM34qRE9UUDVOYipZYTItb30tOSt9ZW0qVmZGUVBwRXJ6YWt2e1RjMGhuSXIKK3pa RWhxWmhGak4qK2spSGxGO3QtQGQmMUJkMnUwaUZ5Jl5oY3NuX2wyTSNNdlQ8WXdvYys0YipSUThF YkpLVHBeOworemNxM1U4aDk8SWNPblFrQE14QHdJPkc2dFZuKH5PN0U4KnttcVZOQzNaZlgwR1JS UnZicng3YFVmV0RnbExzb0hjCit6d3lgbUJfI2JkZjwkc3F8cm9BczV1fip9LVR8YSp0SEIxMVow d3JEWWx1c0BmKHtkaWBYZWtDaVNUQEUpVTtzZkwKK3ozaXJWPkYldHkwYkB7JHU+QUJ7ZnoqNE5R QlRQIXRBZzcoKHBGZHlWbT9lJVRTfVZ7LS1Xe2BTSGRsYDAtO05pRworejRWITgkMTZwZChVTl9j eURATUxubmpVVERgODFjOCQqZiVOMFhucU9pXmd3UG5VKz0pX0R7ekwoXkFnXkpLZFcqCit6RGBj YTd7e2p0LUBPWmdxPXBOPVJqVCl9Rll9SGh7KF48M3tETzg2OGJQTHJvWGk4NWkwV0VCPHJaVFkk cW8lcEUKK3pjVEFhPyk9SVFIbklAdndOS0dwJjBBfXh7bUc/ejQlK0ZLKE9fJVI2RlpERCk8PV5o QWk7NUpuKTZQcDhQbkcxNworemB3ZEhsbVd4Mzh5VmcpJGZKYEB+YDJ+RDspJFpvMWlCanBFbFJ+ bk1USWswRUxoJm9WKTxWWTdCIVVSe093Vn1hCit6Vi00SGklWlMjO1ZzQWlKX3c/cCliLTg9ZFpE SVVDR2Q4eDZ4OTlFb0BJYEI/ayMpYmIobnNQUnQ8NjFHc3J+dUkKK3p0NCVYZ3ZxbFZhUjkkYiRZ VjlNYD0oPzkydyllS2BNPnhMZUR3LUFkNU1XMlVIbG1yYihxNUl0ZWU+VUZkZ2UqMQoremQlSEZZ TnFVZFlYRXRUMzNJTGQ4STgtYmFrOUxKS2VAKU5EI055bjVeX3Y/b0FudE49ZEsmaWFvd3kyIXVV Jm5ZCit6OzNKMUVVUHJOOTRmJCRacEpQYk8qZVQ5JHhNeFJTNiNFIWkyRngzU3IxPy0qdlRkQHlk SThLZUgwSWUleUMrVkUKK3p0c0FYMDJ7N2B4e3pQQD53TzNEJUIrKEthISZZd3JqIVJ9TFI5WUNY MEx8OD8hTlkoUV9WcD9ZMyE2ckp3JDlsfAorem1sMXhtVyghd21pNkp4NyNZPTJXbnx9fj5GVH0p JFloX2JqVzRIWXJSI0N0a0N7TmV0O0hzQEdlWHJKUnBZVnJWCit6bldDOGlmTnRIYmUtcURNYndR P2J4amdQZnBoPXJMcDQoTj8+a0ZmREMyfjB2SDhqJnlvanI2RDE+SFMoaEEyP2oKK3o2JUROVG1t IzR5eEEmfVkzc0BQeDdYS1BFPFMwN25IOHJfI2BMYilyJkErNXE4XyFsakVLMTF6YXU7ZHlIJTRP aQorekw7S3xMeCYlPjV5bEsjekFpMjNmNFokJDhmMjZQb0d7K2ZOc3s7aXxtTmYlSURjOWtKcCZQ V1JeMyZ5cnJARUhGCit6ZXxNfmFuRkxXRmA+X3kmPT83Q3VsKE9qKCVqdSNENyVySGBzSmBpdmZW ZjYkckxDPSZiI0w5NCtwTWQyKTdFN3kKK3psMGhOaypSRzlicUB2OVZpJUJtZHJ9TG9hWHtRR1k0 YFZMeWg+UyhJUF9XcCs+Uy1IakI3Ji1VeG1nPlhMfHp8UQorekMhZGVCKUVzbVokaDIrQUh5QFFQ VzdrJj92MEM2a099dm8rPHFwYjUtP2BfdGRKQzV3RCQxWmcqYUpuPUhwfnooCit6d3FZISVMeE9v XjxYRDZtejs/SkRwYWJ3K3E9eStNKlZBNzs2eyNBIXlPO2Q8en1lR04yUTMrdHt6JiE5TT5HUlgK K3pUPVpDMnRCJEtAeldRWHErJTEyR0JWS3spNlE+LXNUYmE0dXlDQytqQj1neytPVWhXM0shKVZS TmsmVHtXNWRoUworelhNOH13Wll+Q0RyZjNLdTxPTEZ4YUhGQnJkfEBFRFc9JjxNV2MzeShfPWdU a3J1cj1mKEFmcDteZU1hP2BYfWR1Cit6bztNQUZWPGUzaGJnUlUxKVh+VmNEJGA5PF5EWkorbyQ1 JUtDSk5TQjkmb3pfUD1pMWJgc1dwUVE8dUc2ZTVvKGsKK3pOQ3I7Sl8+dDklM2B8OE4jaFBXJUR3 JXNtakhZUDteQk81dHdqNmgkQ2c/LW44Sm18NVFlMTxmbXB2UVJzVHdNfgoremJDK1NqMmZ+PW5h eF5rPWl0e1RgPDQqKTI+TGQqNHJXcmFfUChPZm4kUlNJcmVxJSVZcD5UNj5fVFBrcXtBMnJjCit6 PGw+M0dqdnZmXk87dTxsJCN5XnctUHFYbHVubWdfRXt8YCs3Zkx2JExPaGktVS0wUlRqRWBgLWgt KlBoeiNRQkcKK3pwX19nfjcyRElhcE5YeFlVR2wxKVVBdzkoWmJSIz5QRWFKcyZxT19xZ2NkNTlB RTBHVUw1fS1JWVlRWiYodn03eAorektAbHVyZ2pNfmlHN2Z3P2dvRjVjZGlPKU13VHFBZUNTNFNv YygrTXFrdlllb2AmWSQoVWokd0JVY2hLa2pNeGJfCit6Y0E4bTIqbGZxVWJkMGZyJGtMPm1wIXA2 YDVKIW8lcHh+bH1OSTxfK1peb29tLTUyaXkmbC0kP0dpVyRwbX5pJjQKK3pzdHM9QiswPXB9QDRh c01Lbm4qM0J2Z29hMUglVTZxPXtuXnFlNGZnP2xPVyRTKFJCS19vN2h5b3NBNmY+Z2NmYworejJe WGRLeFIjLVc0RSYtPUhLMmN9RSVCeU8qeTBtbztOQSpWdE52QlFaY1JvKFdKNy1Xd1VhUElRUVhY amduODNuCit6RkVkc3M0QEY4Tz5nZD5zNyM/enk/SDJINXNQdW8qaEdSSEQpfkk/SkdvekRGPklQ SWlwYS1EODRZM1RUMnJJQUEKK3pRJTswR25DUi1FLW5KY19PYV4zV0QzI1FObGwmb016JH5BM1JW ZyReWDEkOGk3TW1tX2xzYmRjJHB3ZjJpczB3NgoremM4dEx6byNXPnEqfnRuPWZxJHxxcT9NZFll dnVZV3JPRChWViE+RWEhPkRNLUZmWT1IRHhuRzljUUpZfE1DSCsmCit6Z05HKitNI1ZSP2ZGa3ZV djllI0JfZiFyZXJQaFZnZlcqR0FhQDJUe1h5P1laZTU/M2lESnZyR1BnTEYpT2tNRXEKK3prVnQy bihpP0EtSHVhJnJvZD5OcmE5PTJwcFF0cE80biMyYUUjVWhQcmJeIyVeYzhJUlhEKF80KGp2K1Zz UTR2ZworeldpUE9fXmdAd35xfDk/VVllPTshaT9AbkM/bTxhdkIhOUU4K0VYckV5Mj47V2xebUZ9 aFQzRVB2Rj9rcnd4TkJkCit6dTwjdyVDU0RBY2Z2N3l6JnNrRnReLXhAP3QxYmJKWllDQj9TXyVK cmcrSzQ0OzgrfFEkfSV3d1d9UXBjNHxVeiEKK3pQN0c0Yyk1bG1OUllabHQtMkRxPXFtdG1IK2V5 TylFKWxARzleUG5TSn45KlYrcjVvPDwzUFk/XnJEb3ZoR2AqMAorekFHQFU9QjhLP2ExKTlIXyVl M3MlQWVhYDJmSnxXZHVZYXZaOystTzNxdjkqVHQpeSZMPWlEZkp1cTI3QmJzY1ZBCit6UWlWPXc+ ZHk0bUsmMiNPVHtKQHVEeCFpNXk5PmAtVGdSPjwheSN0ezh+PkR3T3Y2dkpJNiVlNDY2bUVkOXhC Vk4KK3pDVUZAQEoyVl5OJDh9KkEkVi12UnE+ZXBFdXVSaCkqWnVaaiEkOUUtdktOdnQ3YCohPUEj dzt2YmdydyNXb2UxIworeiorPHxwcmIhXmtASmFkKEA5azZVZ2tnK2o0WSE1YkRfcUhme0FgYEtQ I0o1dnErOSpFZnBnKTZRS3Fvd25AKXBaCit6N1BoQ2UlYnpjc0pXYH5FRXFNQXdKWTg1SURWbE82 S1RAKjtLQGV0RnBJPnU9V09fJnFlcHY8ZCk+c3hJUzQleEgKK3pRfWZZNjNvWXkldmdVSklXRnl2 Z3hrbzg/Sjs+JGN8TGRASnRsTnVWRD5YZWdBVCtAejsyUis0cEZIKExIbksyPgorektIZUVSUTt1 NVgtMSolO3Y2NUtaK2omWXpoejRGbkthQkVXWF5ZQD1JWWpTSW5JNGlWQkoqQUlqUEBMUFJ9PGhr Cit6fEFRb3g/ZUJeej8kVzt0Jmp9TURWQHpDJVFRI3dxVkhGaF9OTGZRUERffHdnZmFLbnRQK2Z2 RFAhczgjT3QhSyUKK3o0P2NpaVhSV3xFZkB4em1Me19zTHdnRiVfWU5gSDlCKW8hWTAhZ1hTbkRN WTYwOVcjb05STD17Oz1nflckVDNEMgorelAjKFBNazRHMWxZIzB+R1BJak4la3A+WmdLKVY5VUdK TD8oN1ZrXyF3SCpDRF50fGJ4RzheZVVLVChnRjt3KHRxCit6Qm0qRyh2Z0F3eSR3NT9xYFQybUwz d2xPbEpGRDs7Y3MxMnI9dz9Dfkd2bTJQYCFCOW00dV8wN3ptbkVyJnBXMkQKK3p2bW4yP1JkWW10 SV9rZGAkcnhoQTZQZU9wWSF9Y0xCYFVSNmY+SzRgdWZSamtncCZgLXF0ZnxlJEMrQGxVN1pVKQor ekw9NnlQVVF2M0hgVURrZyZDNWZXcV9RYEM5bUdxZUdDT3tgaD1SLSZyWT9zOzB3TTJMT1JPenpq KSoldW1LOyl6Cit6dFBDJHl0WG5FYUc1SCN7JEBoY1AoUWYtYEltQWE3e21Gckh4YXlESEd4bFd2 RDM4Q1hhI1ZnUmNqbSZVNT50NkUKK3ojT3pkOSo1Y2pjWjJDJkRVbUVuX3BMN25HYiRacyhtPURV aHlRVCR1ezJ1NTdaSzhseHFHeTM7TlB5WH5PQ1ZWRworens+M2slbFdnfGA0R3RNanheMV5DZDRy TkxKSUw8NU5fbyt2WXhMVTwjQHVvRlJtPCMheU1FQjNKX15mO0xBMWA7Cit6d3ZvLThqcm5idDJn IT1AeDRTVkghdUhHS0AjO2QmY0JaeG1jWmVEPHQxczREdSYmPSY/KHs1Q3JZQVNFZjBvI3EKK3pz V1hGWjg1dmdMYldOej5gc14wIVhEYm1saTU4NFVJJSEpSTloXlNRQzM0NV9WeFJaI0FvNCFNcDRf STFQYUo0PQorekZ8cT88dE4kMTtJSyo8dUMqPit3NSpnP3dKe3xXSDFEcjhDQm9PYzEyP1Y0I0E8 JHhkd1dPR3NAeEA3fT09M3N5Cit6X31FVFBGcl9tMU5QR2VYRiRfSihrPEo9KEkpSEJCSEBDYzJB cnJebklqMmFWK200YFpiPiptQVlVfklMPClNJmYKK3o2V3YxZkxHTCZgUTB8b15FUzJhVEFIWjJH PTIxZV9TQDVJT0lMVzJlUztfcE4zJDdJXnE/YFFUeTIqdHs3UyozQQoremRCbXdiNXtxPmRwQkpF JUBqe2BiaSRTVWlgNlgoflNmYDc5TVRLSTY8Uj4+T3dXZTVyTWE7dzBSRFhNVDsrci1SCit6YFBi Kz5SIXY9a1BNenhST2h+XiVIMj81KVByN0ZPY28qRyMzNVZnNVA4NTM5dHMkTWAhVXsobzs+NXJE am9oeUwKK3orcnhGMkNneVc+XzJnVmFuNF5FZjVxR0ohUkZNNjVOcXJ3SldVQEdsRHRyS3gkYzJm PiExb2I2ZntSUDModk0kMAorenFrWSk8TXM9SEx7dllzMERCMTNGVjNHPFdFMTYzNjlITj1tbT99 e2UzVkFSLUFkJXJGUU9gRGV7dV9jdVlBO2gtCit6dypAK1dYeU4/M2FnP2NMRjJXT1ZeWnpKfSlS P3FPO1ViR15FbGYtMyl8cnN4P3lBPzluQEVSPW5rbmZlUDxWN3kKK3pCTnh8eVZkQ3t3OVNfLTUr P1d8NnghMm9SR212VXNOZ0FaZUpEYHtZVGZOPEcyWU83Z1VRWmhJViVRU2JQaXdPcgorenVUTDN9 VW07WXdNOW1YZ2tUfHdlSUE3aUh1PDZlZjYpI35VPm97Pmk8aCRRfD5tPUBDTThqfWg4LWtnfHBR eyYkCit6OGZTdENoc0h8MFR2eV8xdEIlTS1eTkR9dCZ1SDI2ZGpxIWB1YWchckU9WHt+cCQrOEkr MVNLRT1HUm1Pe1Q/SkEKK3p7T0JuUjwoPCpCSH1xZTFDakBhVkY0bjNmKEw5MVl1Ym9KbFp2JitU OWQyfE5aYjFlUjx1a0A4OCh7JVZYej4meAoreiMqMnUmRkVuUGVXLU5xSEl4cGBwLUhOQTYxWXNF KzlRZn4wNDkzSShnbEw/T3IreV5YNXlnO1FFVXdAbVB0R3BSCit6a0U8MzRaVGx2QnlsVXRkbSVT bjtDcmIoQ2h3KVBsLVVjaGl6PXlJSXJ+Vn1uQ18rZmhMPlY/JUNhSmxEbWR6aF4KK3pmME5ad3R7 fng7JT1hdjgxUilWYng2cmllQyk0clpgUntwVFdoOVJjaEZ+OW8jR0BAYSUwcilgQC0zKypmJGlT VgorelBeRStjI14mZngkI1ZmUkFAZ1Blcjt2SCRYUihVVllNSzZ6JU4yfCslK1BTOE97XmJoezQh QlFFMkQ8Pm1BVTtKCit6aTFlfkZ4bVh5ZmFOVkhqRS16U0RsKSQzOHE5b3hyZ1Y1d3JacjVSdj1A TiFkYj04TyR8QSh6fVk3Wj0yJnYwenAKK3p3ciQoViNLeSQ3WlFIaE8rcVB9bj8pMEdESj9NfTR1 SnhgKnc9Tj0yOTNnQkYzXkllQntiYWp9TkhfQDZQdDUkXworeiROWmFoP2xkcWByRUsjQjg0KmRY WWEjU01YZUtlREFfMTVZRmhuYD5nYjdjYWs8QUN7KHZMd2tjcWo4dGdGNFh4Cit6Pn0/WHJDQXd1 fFlNJGY+cCRDX3wwNGI3UV9FUnxhPzstTz01TE81bWJLUDVKIy1TclJkOTV7cXxNTGtoaThOOU4K K3opQiRNbjJqVC0kX0RtVlMhNjUwd0k9KUlhPjVUTX5CWDRjV3J2WkR4eHZyLUZiflE0Xm0mYzsm PTAxZil0SFR+Mgorejl2THMwSko2cDlmekR7LW9IRjFnVWdkWj9NbVZRdWBARDtvP3cwZGA2JTcx YW1fXnBHViZAUzZVenxJPUstWWU0Cit6VEBQIytgPW80bW1xOTAkSk42UDBoI2M5R2UxVT5wdS1n JFJ3bUomJStYMCFGUjBRaTNtR2hGZVQxWms5Ryt0SVcKK3piWCNVbWdBajNGJnhoa3dlbT9KKVZ8 K0cjLXVMdWh3KzdBKHNmMU1DanoxZytxKWc5MTxTPW5eSlFYb2lBdU5QNQorekBeQG54U0UpR2tm Y0kocm9nKzJEYzE0WntsNkxWOzBwdlJgIVdaISQ/WDJMRFBVTjBUdHFrX2skZyF1byY4SjVFCit6 Nyt0e0IyZDBYZmJRNVhxRUpnV05ofXA7eTQ+KENNbEl6dTAzNG5zTmAyamc1e05xa09hQS0zZ3Fp WXsoQGM7fkIKK3pOUGZpUlV8IVJhOUZzbTUzcWVJdHkza3BSTjA0N0lMazIjKTlMPDV3YDJMZlRK KzFYKlNxV0RWelZ8aCF1PD5uQQoremFzbzgtTzhsZH5jJE90SVdXS2ZnZ1J9OD5Ocjg7dzd3c29S Q3IlRjtDakMmQiRwVlEqMSkhbGVDcyZtX2dxbmx4Cit6NyNzXzs4ZCtSbXFZdykkK3tGM0VBWmZF VWhfTEI3Sn5gYjRzQnduTDUrOzc9SmlZTnZvVCtPa1BnfUZkWmNXUyoKK3pxM1hTPjAmR1BkMXB8 Wkx1PFk8R3U9cTZ1YD5tbyNoQ3MyJGAlbjNlPGVmI2dYUVlgWGJ7ODZ9d1ZZQnU1JChnfgoremVP eUxzRDRhZSVPVyg0SUs8KlAmYjkkfT9RaCp1MVgqQUplMlJoKS0/b3g8PGlNYCRse3UxQjNPQ3hh YWVTeGRHCit6V3FvQEptTUFyQXh9KGh2KFRNVG1nYzNDaUE3K3RBTndXYHVDK1dAZVdGOEVuYUg+ RTMkfSs+U25JJjFfMGBrT1IKK3pAUyY4TUdUdD5Sc34wekI0PEojVlUlJG54Vm1nZmg/dyRte0ll ViMrQnVRZE8xbEtRdnVqUzEpVEV1aXxHKmIoTworeiUtQkdiVF43azB6c2d5b0hhOHkyQENmS1RN PzdPdm53enk7VEExXnd3QmZkfTA9YDZrWnZNNHEhciZTb0RiOSU0Cit6MVY2SFg2VkpYcVkydjtP ZXdgQ0okSUtXcmcpSHkhQFAyK2tzaG1UeDBxSUtIQ0piWl9McFkmfmolPjxtUTwxVEcKK3pyZUdl JlZaSzZ0ZDNQNTRgVkNUR14kJjQ7U3xfP1hOdzF8QVFZOSY8Ul5xMlQtSTc1QDdedDxhVHlRcmNL fVFTNgorekMtcSNZen0qfS1hOVMtK2Fway1rSWxsVnZLUSMkPExUWCp8Wnt1RzE2eSg4bkNpdi1H cFJNZkQpJThuVztyPDk+Cit6YWRGJjNGaSlBaDlOXjwqKj93Iyk2KWkhPXpoPShESn1xYyQmMGJi KjFCMSY4bERuWShYUF5CVDNDVW1waU91Z2gKK3okZG1XX3k5YW5Oamd3eGEmeXBJY2A7RiZTU3Va eXdwMTZwTWQmNTUlRWNaVXpnbmUoQCN4fllzeFVMVl5GRXE9SgorejxzfTsxWE9OandeKj1EYGhh aTVJNlAhNGg3Y2dGWHdgb2w2cldKJEFvSFY3e1JyUXxVcUhady15YHxPUHJEOG9KCit6QjRpeHNh e29OSSR+T3tIKmxTdEkwP0RgcHVGKVllVksyOyZqMWhEIVI9SkF0YHZYbjJhPl8mO15Ye2VQK2hl R2QKK3pLe3kpeWEyK1RVZ3xBQ28pej89TFkrPWRSaHUzPmVTel5vWFVtO3RDVWhCJWFAelJPcyZ1 NCsmcEs1X3AweHFwWgoreihaaSVMcWlpP3lDeH1aKllRREl8Pn5ZKGRiWEtTQFNua3QjaWJ+d0lx eVFrKlgwTjM5MHJPUk9QTTg/ZExaXlM5Cit6N09ASG43RVpWTHhhdW17TWNwND0oSUQrYTxLS09p azUlRD02SFExNnskNXB5Z0lAQEtObkVxbztIMFc+PkE4KiUKK3olYiVETjBvR1J2ZXs9MUZqbiV3 QG5uQmszeV5mJHM4fkFVaGdBSm9uYE4kP15eJHcoTz1kfWMmRGF9YmpYU2pFdQorekdtP1ckUSVw d3ptNGVSJDgoe2Ykdkk4cCRxaENWI2ZaZzQqYlRlZkErYi1KIUdOTzNaSF5Odk1QSTtGKjwzVHRP Cit6UnV0LXBJIVErJTd4Ry1xPkljQiRlcHxYZEM8YT5zREZSSXFKWlN8M3NmbCokbilSQCU1Rncz UlF+QnBHNjAkczcKK3o5bzV9JHVQKWxTI2tJaHsqQ0YqYDl0NWB5Kik1MyV4dCpZNC1kUDBMVTZ6 MUhiNkdtQjhTeldqTUtCQTAkJVA/cgoremtYdFpLdENPbjZxI0pZRU1MYkZZbll+WkxHVk5fQjFX ME9BNDN5NUdlQS1kazheZHpiaX1MeGE7LS1tWTdvOVlgCit6aDtwYm5zRTlXJTk8WWByYFVob1o1 LXtfSDcyPDg7bjd8VTdkdUx7KD1iQChoZSEjcGQ2RyVIUkF5YE15R21xVi0KK3p3aGReb1ZMJntf ITRyWXxWZl4kMUtsTXs9RzE5V2dpa3s1Rjh+ZUxxODVvJH5ncm1xZmlZUkp0M3NyZV4qaW99dwor emtWUVk+WkB2ITZkfjAheyFnbnZZT1BsREgzLS0yKHd1XmpKWkNwWDc/ZUQ1OXMrKWwjNUxaZSNj PDBqaFNyRUUmCit6VVgoVjNJPzZjfmx8SEUtUjAtOE1tSUFFakthUXhMP05OZG1Uc2swQTNfWTRi TEh0SG9aUTBxKU9MMzZncE1FYW8KK3p3NDlSayR+WXMzaXUrZG5zXlVkQXshNCNTZEBjRTsyKm5S Mz5HXjtyOWJWMHJzMHtIU28tJTUxOFpLPEVqKGlNfQorejNpQjhkTjJ7PzBRc0YxUnE4RlFkOSkl JmxlUH1HYGNJbzd1TGBfMn1mJTV0bGhhLU40SDJQI2tpVUEhPGE4VzV9Cit6SHhPcENYNk9TQCUt T0dtQHRncUVaQiNTMllUbDhNPl9qKTdjLUw9dFk/SyVxPVAzc3pTenZKNXkwUmo5eXlpMkcKK3oo ZlE3azI/Jk1yMDZhRXtzezhOKmpueGlvc15GWGFaTCtZVWFiQkRsOWZUbFclNSpwQiZTMzI1OCsw ZjBuTXJGKworemJ2MXFad1RGKyRkRkgkYSpgRTI+QjR8SzFlVVNlYDYpTEckQkt5ZmYtdjhKcE1T TFpOOUMmfSVSOSEtU0A8JCpQCit6KExqPEd7TU5SQzJsWTx7KnMrOzNQQXJOO29+Kld5MHZ0M0py OStSPXFSRkRtM3hQISFxZUU3dTFGVnQmOEQ1S2YKK3pRMkIlVElHdSRlO3puWUFpfWkyNGZMJU16 VFk0YjJZMGotVWgmQzIrKHtzemZ5ZypVNWJmXztaRHd6Nk1tN3FTcgoremMzUExISSpvU3glUTt6 Q3UmeTVNRFNOb2A/Uzh5ZCFwdHg1NTw1JHx8MT9adWIjSj4meyRTKH1pPzxgbjk/I35XCit6Nnkj U3ViaVc7aGghNnZPTkA7d1RyYTVSPEVqZSsyO2c1JF9GcjRMeGAjYjVnUXR5V3Ule19MKVlAJG82 ajxvK34KK3opRjlkRlNQQ312Y2JpIVpmXj08VVkmN0p6aUJsTzlYNTQ9Mih+a2hkO0h3RkxPRU8k SkpiamZ3Jk99RTFYR1R1UQorejNSS1FIbnIhUWAlYjAldTxYYHV9UF5zTzEhSFUyZDlEc3dnc3Fl SmFeSDR4QEZZMjd8ZitRWWJKZVdtczE0fkwpCit6alA7R0dITT48TVNtUX1mNGQqUVY8Vl9xQCVW SD9HU1oyQVl3aGRjWjhiR3JVQVVmVGF2MSNJPzxkfnJ1JTVjckIKK3pUSGIyaVMrSVlYaHI4V1U7 SGI/SUF4WWd4UmgpTFFVPGMoMjJUcnNBZUtfNkpHRUVxZW87XmttVnZiSE0obH1meQorekxXQWcp KGBxKmMqbV81RE5tKjFxOTYlNVdYaX1YdFA2az1pJmF2fktZcGlLZDFII0pXJl9qVGZCVk16TE9f MnttCit6MjFGVkI7bH15Km9PbDEpYCswXmh3eWl8O2thMzJJe0t1KmRyTnFkKl90KmVDQHxIPmQz YlMtOFJmcX1HZjdiYTgKK3ojV01LaW1pV0N3ZV9eKzxYcjdseEtLUCMhOyYlQjF8RjZMQUx5YEde YERLamo+Tmh6VWEoMldeM2h5WkRsbks+JgorejFsdXsqYV9LaV5fLUxPO0w8MjFtaEE+aDg8TD9D RylEZj5tcUAkO0VXZX41d2FhKXNOJTdSRmVfd2tBKipEKCs2Cit6eFR4V1RxU1Y3NDg0TCVKPkRl ZzslKmh+NU55R04kbnsjMkBTKVJCfURydl89JEIhKndoe3lOQ0YwQ242P3ZPQHEKK3pHPnxmVT82 fDR6TUQwUkJofCQqUTEyeiVHWmxocjtIZShHVUMzKFE/PzZSNmdVSWV7RHQtPlFYQTZKbUFuXnhx KQorenpQJXw1REtAUGxBYUdWTSFBbD5HeDtVU1BlQnllNVdke292MCRaJHFJO3V1K2xofmFXJCY5 O2Y1fiMmQUh7WEkjCit6RzBDO2VnK3k5QnYkZGpralMocExnNXl9UyswNj83U35fYmZCSUlqKnY8 TmtUU2tLSz50RSV3KyttV2QyMjBtQEkKK3pGZm1MSjNAIWttMFZxRERKSTNPKjwlc0lzaSZDOHlP PyFXdzxKcHBuSCt9K2ZhSjwmXkJBTDF3VVE2I0h6eD1DUAoremB1PHlVaTtobzNeQlAremJCZE5+ LWtwVUp3b05WQDlqbThoV0hoKWckQ3YpendSMDZ8aWRoT1lOYEJiJCE/Zk1aCit6ITVeT34xMG1p UXJnPkhQNDVEaFExQnZIQ0hJWD1qIU9ZOTcraFBhP3BLcG5lc3ZmeGhZPlFaN3pgZ29HP0w5PGAK K3otQyk3QkF9M3hDSnN4fjYpLXMqKGd0MVE9QTdEU2tvVUQoN1dOI28jdSNhSHE/fmZsYGtAN3Js aDFyYDE4ZW5ORworelVOP1hXQGtRSXxxRjdEbE5TQSR9ZlF0a2tBJlkjeGpifCQ4Mz9rME5gc1p3 SDd7bE58S3RubDBMMHp6MDdlSSNDCit6P0xaejRyPHE0WUNeck1pZFVHZ0Q8ZnYje05rT0l1cVYk OWEwYFFSPXJOXzk9YlY0JTM4Ji12aiZNaSZFdEBASEoKK3pJI0JiP0soVVRmOzBtdVY2RU9HSyVs NHEmZENJaWc5bmchZiZ2d19MaEokPmVQfWl1VzhFKDdrJlQ7OVIzM3VeegoremFvSjthMytAay1O Xjx8PmwoaUlHP3hUT2Itb148bWMjSyVOVUhsYTBjPWxRSyEyNlIhMW1uSCpAayRFLUd1NmhHCit6 YS11a0RzJGNfKDczK0VBMHlGK2lnSWk3PSQqS0J7MU4mJCp7R1dHZW1zZjsrMFQyens1eEMqeyp2 OE1LblRqVWsKK3p2QHhPQFZYeDs1RCNzdXtSdzY5X0VyeExEMTVQNlE8U1Z7WjhzITVXLXNLODVs Qkc3Nl50YnJTOFdPM25ZVkNieQorenc5UGloZzs3NHJuNW5tQU8mU1cxZEhMMWo5enEwMj8md0Q5 ZntLTzFvPjloTHtGPEtodWxPVWdNaGQ3ZStHc3xjCit6PilTUj12OHhiNVgxSC1JMTg1PzAoa2Qt XnM4cD9LZ2kpOCs8P2JGOU9JWWVRdTNEO25iNVUwQkRHP1BAKXA2bTIKK3oma3dwUUZjQk84dT1t VmZwWlZLK15Pbm0xPGQxQEB6V1ROZCo5LV4xNylXOD96UmNWe2QmblNkbns8eWYlVz44dQorekom K3p1Rn5ldmlpKV5NdU9lJVdHVVMkXnE0bnIwVUVKbCopMWd1Nzk/aUo7Q0pueSt7cGlfZFlpU1dB YVc2QThACit6TzFFSHJlSXgqOz9hWEhudTRsYG0wY18qdjlQSDJ0R2dBcHRhaWRCeShWbTI5TlhG eX00eDVZdSpYPS0qbVI5RS0KK3ppV2BCcGctTGA4d2dxRDdRMWlIYUszYyVtRW8tKlZDYj05YHgw SnZHYUtLQSRqZn5EamhnTXlELWRTQyhjZk9sRworejt1T1ooS0tge0Z6RENPQS11JktyTTxpQE9M NnBiPipyX3NxbVVycEE7U2s2MEFCPmlrKmMzOCVYcmtpaV59Y2ErCit6K0VtNyFAfnVsWTVkKWRP bzMrSF9aaGcjPVF+Xkd3TTg1fjtrXkBrM1VuendsOChJMH45MV8tcm9lS1UlemdwJXgKK3pLSVc4 al5fNnB7Rjc1YEE9eUVqNyo8VTJ7JWJMczRPT3FNMzQ0RWFHJDRHRyVTengyYURBQ0kpc147VE1f SXBLTworekphRUkmVkJAK313Q2lhV3lEP3dKWTdUTDg8cCYrNEFleHl8PT9yUzlWaEJTNzJlJiR2 K1cxJShaR2gkQz1EcU5MCit6Sl4qMmw9KEIyWSpsUkpGdWNmcDN4cyNrT2EtfXNueWFCblohITVi dUIxST9GSjQoIzUkUDUkcElrWEhqeD0ldF8KK3pHcEdpRnFrPytnSkNxaTczcCtrPFoyYTh2Tikq LVRzdkRjPWc5YihXV3pee0wydUBmKU4xQTxQQ35GI0dhaFdwXgoreiNhZFEoOXlxaW5UZW41S3Ns RDZqejJsUEBMdXRzY0oraEBYQUlMPDVjIXMpREU9MnNlVX5UelNwNXFJRylnXyt4Cit6VUQ7dCFk PCZ1bzg0TFRqV3wzeGMhNzRvJSkwOWhwQXpAQ3kjQ3BMMzJmK1h2IXxKUnFzfFl3TlRERWE4SEZF OXMKK3pfOEN8d1VNcSpWUGleVX1TVEJBSGh7RlNkJH1iQHR7SmZKciRQJEVxPF9NcC1CZU9Ve29q Q1NMa2stUFI1eEtrcgorekk7Pmt5N3EzM09IcDlrSVFxfkdLdjcqOUFRazJZREg9JjNVc2JLPkh0 e0Z7OUIrdzdxfDNLJDxwWEUqQXI3bmBVCit6RGc2flRfVWcrdVhucmVwV3x6Iz5uPEMtIXk+PWdn SExYZSVpOSRBX1YpOUpsc1klNDVMO1omeylBTUVhU1locEgKK3peMTs8KXpAUEEqdjB5KWBHY3te MWFJb0RGRT5UKnJhYVApMUZMdlYyLU1xMk4/MyVMV0lKYj0hSXN3MiFEVWl6Xworej90VSg8VVpI ITdsXlBHPjtHbVY/IzRuVmB4WVkpYkdpc2YhN3FqUEpIKnlabmApZiNoMXJiQHtwVW1vbypNP29o Cit6Plh7TCRVZSNmfTZeYzYld3YlZGBlaSFubSpZIzdrZzBsO09oPjljJTdacTVWY0AlUEB4cGUm dzgkckR7bzw0NEEKK3ozQk1EfSVYNShqeGtJS0hqXnx3bCkwcC04UDE9Y2VqeG1zaT9jSGdyQn13 S0EzOzl5Z3hiZHcoUnY3Z0BtcX5sYgoreiNjfHNEYm42SGYkQTNRRGc4e0JSRHxuZ2I2cz1gVWBE Y2BfY0pLaSE9dF5iZF4hbC07YXVpU0RZJT9DN2QqMEB+Cit6UDJQbWBZSk83JTsqRUVSMkRwV3pC XnAjekdxfENPZjszbChIY3prMioxSWJBUXRqZD4lI1B5a0BgaE1kKSFHIVgKK3psQVRIdCVMeVde Y2FYPHcrT1B4dXtadUJVQkFMdUF7NStGMHI3V3dZZD9PfGk9Vk80fTF1YylaKkNDKmBjQSpTKgor ej94N3EmZV9yMTxyP2s+Y2M8cGVCUWVYaTN2cz8kc3YwUD9mWWZGa0F4dmUraU15Z0RpSlpRI3RT LXM7cDJ7Mk5qCit6YTN8RF9VcVRzVHBUZjs1QmMlOVlqWi1FSXZ8SXI2KXlaTUpAbz99bzYhS15N dTs3TCZMclRUXnY3bF8/ekN+QmoKK3pnb2xkM3ZPWWUqMG9LeDVoaHh6NCtTSjhyV2puaDEzdmsx Kl9GVk9ZR2hDRHBHVjNwWDhTWmJIckBXaC1iKCNUVQorenBgZ3p1cV41NCZlTnxGSmpTVzthcCEp SVMpbEU1VXlJSHliaypZUn5mR0dLQVFMYD5WP2RIZlFiYk9EaEJNPmZiCit6ZTEkKERnWTMtT2lS Xz5iVXJ1NE9qXyVeemx9YlYqR2lqSjFDeCZ5MVhrdkJiQGNrbHY/Xm9qNiZQN0YrTDJUIWUKK3px RDheQ2BwfXBGNSt+fmcrOCQ9LTUhSm5IIVNHKmU4dzxuKWd+RmJGIUdfWEJfPkI+UXlBajc4SXF7 WCgkcFBVUworeiYjJHUyOXFMbHVUVj9mWkg4YVdZOVohdzxTTTUmOVkxeTBUcmh3TEIzYFgxUSVi Zm1ZdERaTCk3QlpXXmlVaXF9Cit6MzJCeXcmI2FSYXpLI0dHLXUhIWg0VzZHQFFQUjthTDtFRGlY eT8pWV9SWFdgdHYpP2NCe29QI1FTK0gjSVomM2EKK3oqbiZ0cntiKnBfdFRwbCUobmdqNHhhQlBt KlEzVmpGTFF0eW0kZFo8OV9ra1V6KFFxLXR8YTZ3VVRfSjFhcDNncQoremlCUypyU21tYVYmOVd+ YzE2JCgoQWEoWXxWWHJPeGdkMU9oOHRyeHRPTSV9YCZPLVJVbTIqckVxXyk4c0JKVEY4Cit6OyRH WSN7QVFIT3gqUW5tZ0prKFokZzN4USRSc1ZCemN8Q0s0fk4wdV45aGAmPHgqIyljQndqZXc5JHh5 bkp7QUIKK3pfczhJcz5qK3J7UVdBOHZeS2sqdEN+enB0SXMtK2c4Y3hFRE4xZ01wKndvMVpeIWpi NTNHNFZMPmhAPUt6fGshWAorekVVQENOLWtITVZ6PXAqJWoqPC1GSkF3b2xuJUxFTU9hUUohciY1 d2JtaHR1bD9IZFZDNTlfdSt4b1M1TDU2JHZ3Cit6VEZgMHZmakZ+WGROV1ZIVWw2STgxZiU3NUNa dU9ZRWwjcTBUMFRYYldLMkcoY2t8PDVkWWNXX2wzPXpAd0lZPmMKK3pFYDw9cnItIyhZdCpfZXBv YUdQPD9Jeks/VlUoOzJnNEJmM3B9diVGZn0+ZEhZOHFxZkdadVZhMGRUK3BqR28kSgorenp6UE5O QHEqdWlUTXpSPUttVj5YeDZAOSlDTjA7QCFaa0d8VUhoaz1uV0c7RWB0JTFAdGRIVkVeaGU2TWJC V0tnCit6RXNWZ0clVWlzYGJiQHtvSHZgV0xPQHlFSUlne2pFaksjantLV1BiJV5uQHB0c2ZLPEcr IzNyKnYyUlJLX1pTSzAKK3o0eG42TGRUPEkpUXlPZVl7TXRFbypUNz9XYCFgaSlsfjh3YnUkSkZY Myt0VG1GeFokRSFUYSRGSzZYPmYlJVVScgorejZMWGdnO05gWm81JG1pT19IfTFVeFpTUThIRURP PCtfIW8reW5PdkN4S3xGPTBmVnpQdmheIV9OSlJwOGpBKCtxCit6O1piSitoTTdmdktpaSh3K31I dk1rJVl4SkxwYVF+Ql55KlJUK1NEU2ZiWm5teEpRYnVrKE56MzVBdTstaiNhNCsKK3oxRl5ATXYj dWY5PlMkfmUxN01CdFdtZURFKytzSkRVdnpJfSppKiktSCUmezU2VSVDQlQ2M2JTWnxOJlQ7WjAo NQorejBpKTElQGBxZWs9WTQ4USNhQ3JaZEt6cDhHY0BKSzQjN2F+cD11fGxTfjVHckUhd3Q4WX1M P0l1YFc2LVc+PUZzCit6Kzd9fD1UUTNKa0ZUU3VCcEBpbGs1cVV6dG1zOEBObWVmVF4kSWgxT05q QWorI1VNSmZCZW5QXnF9SXZiMj1ZczEKK3pBWXdIJkNFSlk3LTBucHRIcTdiX3Joc0Z5biRxOEM0 T1M7PSlLbkh2THtxQTlvOUEtQlNrcnlWWmlqayZPUjQ2KQorem9GQFBEIT95QXIrQjdAdGBrfnla Uk13T0U2RjJoRCgrJHtrYnFEJDJ1fFM/Z21NeHQwZFdFazlEZ3R6dXR2I05yCit6NSlYcF9ASGB6 N3I+MXRZNmZiTz1QKShpfV5vJXROQCFLXj8rM3xmckl9azFfVjdDP15sZHZEO3MqXnN2bGp+fmoK K3phVGozc0x0XmAlWVR8U1FzOT8jeTtHNnJ4eUYjUHdaZng7UnAqRnYxKGN2fmdMcTNTaUtQQXUp TW5RaUI0c2J7fAorekt6TWRFYzJqc1dwbGRRTVkzZnN5WVRfTjc0dl5AJHkwPSNeKHpJV1N2Ukp5 Pm16OzVCUkk8cTAxRjd7dG5FdE41Cit6KnUhKWNQQ3B9K2JiJWVkWnthSjxxZzV9P0JEbWYySXN2 X0FsN095ey03YEBAWVRQUXBUREtwYmc+OEh3PzxSflMKK3pReTtgJnd1anJJa1c2Y1U/Z3xiUDZ9 Yi05cX5zaiVuTDc7UUZLOW1fTG5AM2xGPX5KWlJXP2pMNy08WXVgK2EmNgoreiV5PW9lPiFKUDVp SCpUWkdKPl5Wb1l+TEdGQlRXQE5uRWc7LTJxeiNrVyFDfUs7dGpPOzJQV3pjZmohMmI/QXxICit6 bjxWSHU4OGAqNWt9aWskM2g4a2s4VF8zYC10c2gpQ0NGTkhvXlB1eU5FTzxlKjdnaj9DfHlMNTxV eDRGZHg3X3IKK3okfmlBaDdzbUNjcURqVURne05GVTchMUcrNUdQZSg7ZlkoS1V4fDtiZ1hDdE1f OWVZa3lqaHdmYDsmRHBWUFdlOworelRXMVRQOEh7LWNOS3A7bCo2SmVTMEl6aG1tLXl5VXlJOD53 T3V5ejc0ZVJZeCQhYlRnX1Bofm9MVH0qcW9AMjg9Cit6PTtkTFhROW8ldShPOFBTdzdCWjxqcE5G YHIoRyZGcCYhWSVOJH0qNVMtTlYxOHlIfDRnYDlhfjE3eDRzdUNRZkoKK3plbFUhVU92NTcpPXAt TigzTCpnUz89MXMxV1dxJSpIKGJ1MmJMYERoNilZPU48Nz84fDF5QWZ3QzxDPDdAXz1jWAorem1g VU97KVJBVGw3UjhrNDtvREhYViVjcn1qTHpfczZHUyUzbXttS0BjbSoqdm4jUWlpKF5JaGxQMld8 I3V+N01VCit6dEM5OVI3T1FFNk0qJUBPcClXfWVQdTFVR0g+NlhRM0gjdXVZKDB2UUZnRDtnek18 UCtLZVFLeXk9X2RMeHltdCoKK3ooeTNQOGI/cXZ5MEZVaSpQS2B5dUpNY1p9Q2RKJXtEbHIyP1JJ KFR4a1gtfUVHK1RqYXctaSpaIUkldj53TzBJUAorem0mZExyOXwpTihMflZ4allPJWQpWXh8Rm47 X15NfmFxcjk3MHQqJUl1dFJJUiQ8MmQ4bm1lMGc+XmpFKlZVSGRzCit6ekc3fTwjcShqZE4kcDJ1 MShQckc0V04+VV9zV0NuMkooc0NJQC1VdCNAfGZ+a0p8Y2V5T21OQ19iR3gpeENGfnIKK3pmdnlj fEp4K3F7VWhfJnh3fCM5cE9ZJCUjc0JgPCh8QlU0RjsxbDBBV3NveENiQEZpQygjZmV8bytURDQy dURSPgoreklXdj40P2lfanVhck5qLTJsVjIjQj5IKXxscSRkV0RfNlApUExsaG9GQ25Dc1pma3s/ VDxQWEkzfEZfIT53QzQrCit6STN8dnl0QUhIVlp1YWhCVHlNMXlLN3h9UiVabm87RShpdlc5anxE Y245eCZxOD45MGxEQ25ndlJvNUl6SlYkUloKK3ppOVljIWBJZjlveU9edlVCaXBvJTthOVVKK2RS P1QyUGlec2dCOyNVU0RuMnhBKzUoSSFFKDsjJnhucTFZJE45RQorelFYWWtQI2xASlNCWTB+UzAl a248a3pEdlo0YUFXVDw5RDFXP0BTTiUjNVRDQF5YMjNmS1BtYXxCRGh9O0xrOCZICit6KCp6Nzw+ ekt7SUI8Uip5SWpoNWNRYSZ0QmZLNSNBK257YW5SZT4yQWNnemtyVXx3RzV2Iz98UWI5PHstYld8 a3QKK3p2ckJGUnlJKVk+R3hOSlgkSClENz1VTVc9e0ZwZWB7KEpjNHFmVCRxTnt8T0Z4eV81WXEz RmplcCglMUYpM0tgNgorenJoOy1MRTsySl4tP3FmKSpsTHhyLUN4NVp3K1IybVprZCszTnd1NUEm WTt2MSFqcEVNPjdqMF50dXRIdjlJeH4xCit6PTl1OFlAbSFeJks3VUFKdz1AMGZYekhTYUVyI1Ij aWw0YmtYZit6YyhAK29+UWNHfk0tUiZ+PUZjbGAlWl9rSUAKK3o/RzxOZGQkRktycE1eTmhVVlkt RyNYaSozUD5XbGNuZHd4e2xCJUU3cUVeP1VKc1pEajlGY21lKXJhIyM5O2AqOAorektlTzgqM29Z NyQ/QFgwUUtMZH58aWw2OSRUNU9sTjR+YXxmN04ydWZ5SmhffSlBI1FPa1dUIXRsalZ4QHt8PiUt Cit6aGI+SXIjYEsrR0tTTkUmM0g+Pj1JQX1AXm9SZDlCaW1oSVpFZyluMUR9T3UmbFJfMWJ1emRU ZXFLJH1LRWp9RiYKK3pXTDA0aSkkUzclUSUmSldBeHpLeHN4MVpvOVdrUk5xT1d6Vz56bGZoKVNH dT1kdG9uZDdRQmgqdzJuKShLNTBwXgorekolbjdHP2l3e20/S1BUc3lqeHRmZz1QY0pOdW5OfUdC ZEElME5CPiFaKitNMyNxZDdINXBSWnAmaGFfeD5pZz56Cit6eUVjaUlCaE82amluUSlrKSthSXZN fHptNT9JPnpXZGtARndSZjFnZHd5fWlGJjQrUksrIWxDKjg4X2tROGtXO0UKK3psTWBTJU80Z2NU cy04djJZTSpBMk5vN0d2ZzN5emNmNUZwS2dUbEl+K1daM3I+fEdzMkFeaD1sckM2KGJCMGIxcgor elc1UyV2YiNCKlpNVCNjYHNJJWMrRjVHUD1ROGVlNiRvVlVhbkpyUSMhamAlZUltSFVJK1M9QFlJ JlBYTGlKNDIkCit6MnV5RnszWG5yXm9hWlBYP3VDSExeR2BRcDdQKSokZztTS3g+cklHJThtQ2E/ OFleNC1IZ2h1WUs5KXVaezY8KksKK3ohRCQ3KFF3TWZHZUZtOFJTMGV6RF9pPllxMHlnNjBYIykx KUVsdTFkRmMrX3I2R2VeOSlWeztQbWNlVGwzQytgfQoremIkfVd4bX1hVnBgIXB7ZjxNaWNWP1km N3lpPWJ3ez1oTXA8ZUohMnRfeG48X3tLPGlFYGEpeERYZWdnQnZjJUoyCit6KWxkOXU/QXNwQXJe fENidXArTmk/fmUpfF8kdHcjYng3VDgwbUUhRlJFM1NrNEtnQyFIb3laOFBoJTJhbTJ7Y0wKK3pa T1BscCl6cG97MSZmYVkrZjZZRk5kcSVtSEQ2aF9ZQW5qcEk1VTlKckNQTn5KTVp+UyZDbFhQezQt V3huJkRgJgorelJsS0h8U1I9aGZFU0RMQUxvbVpEZXY2Tn1gIUhzSXhoQXlxZjEkNmEhaH1AKnRJ R1BsIXoqalpTPjYkZDt9am9vCit6K2pjdEBPUk1+NUU9IzQrdUlXeD5aV21kOVlyITdOQHU2e3Fq TDtqYkpNfjlXK0l2KVczY3xldTlLMVVUPG9mKCUKK3oyWUUxNig4TD5vYVklNCp0bVFLJllAJTFa UEFDSXdEfTg3PGs5ZE4rQEwjSWUjNztQJTBna29fMT42SzAwQXpCaAorenJQdHYwZ01gK3MrYHFB Vz0pJDVie2ZsbG4taUJ1MkImOD1pNT1uM0Y5WkFBa3tuWmEyRWVFTGBzYUZaTyZnUm1jCit6VkEq ZHdAWncwVGVLPkw/VVcxfW0/d2VCUThDejZ7MCFyWmEyZW14JkFEQmhTWH44NyRweEY+IUwkbEti Z1dkc1gKK3piXlV4TyNoVzJfMVEqQFpHbyg3X0J9ckl8P3k/eWY+Vks+MUt2djYqaDFVWXhtZyMj OEgoaHQ8O2hJfjdoRmBhdQorelVHWTBBRFA4JXI/YFF5d2w9YGp6O216OFkpfT4xPSUqMWx2UmQ2 fnxxdmdhekZmYV9WK2BqKCZoK0U9JDlrVXpVCit6RzN0X2ZRUG1tcXY5akRGdGBtTlFOSSRPVjd4 Rj9XVVI4RVBYRFYjcUxwV3AmLUpSN2cmcGVtdG42VFhvVD9wR1YKK3pTMHU5MnhrfSQhOTVmIVhk OUA5QXdYKT90T0Z4SjxpfTRfMlNJcStDWU4zIz5mPFNQZ1AxO0JGZTEjK141VjNJPAorenlYQTQ5 a1d4cDV4MVZlVW16OzkzVlVSK1NZPHRZJCZ0fWVAaG1yQ2xtbFdzdGgwcD9nZXVKPCh2NmljbjJs Y0J0Cit6QXJeTCQkfVcjdDRWM351OFhSMGNrZWNHZTQ5ZmpOYjwmcFF4akQyPSNjaFlJbTZ+TWty ZT5ebnAoMzkwMGVqRSYKK3o7N3FLSD15O0xTTl48dkRpK1lVSnU+I2JVUjZCQ2VwNkAhPlFed1dK LVcxZSQ1bWZebStifFRyYU55UEc0dTAjLQorej4yWGtgUGxDb1R1IXpyOW9uXil8a0ZqaF9RO3M2 TGJaI3dLWTA5cEVuQmtfc3RydmtPRys7Rm05I3U7NVVHZ25ICit6cVRSR0BJKjV7WClSX3VzPUlW XzAoMElacz1xSkRRKXdeOGVnJHN4fSpMWihvWjAhbXtYc0VVNiV7ZihhLVJgSG8KK3ptQnpudGFk WHwkbUpiajF3Pn5pPVJBNXRzXjV5P0pGQ004eUh0NUpsVEZscGszaG9scUJmSXwkKGZvVVp6VFdS SQorejJnfUY0KGJzdzIjYVIzLU5aajRYcWk8UGRgYStsREctMWpGQTMmfTA4KjQ8JEclVWhEdXhx LWxSdEliM2JWen1UCit6N1dtaSVteyNFSDJxUWIwa0NuRmRrdDlAQXhHOzB4aipCUjNnUHFnN3Vt eHFucihfUUFMO05uRjwoX3VuJUc0VkIKK3pZKiM9PXpIenU/bGxXOT4/fCopQVd6Y3t9WisxeW54 bXtHKzZhKkljZDtCWCsqRCRNRkpHcHZpYTk3ZTNVQjlQbgorejU8ZktTOStBRFIqRCRNXntgeHhK cEJVZSFudk05fU8lYDBlLXtfNSh6cUp7SUNleXJNd09GQEtwTzI1ai10VFVFCit6TnBaVXNSNlBV e29SeUozSTx4WT5VbmxOPCtiNXNPYDxWODtFIXlVT3trLVpPSj9fIyFtZ0BQdWdXJiglemVldVgK K3p7eHFyb20/UVJfYERXWF5qXyFXeyNMQU9CPD9AcHgpPTQyWDNOdjJEQWJpdFhYZDVGdzg5Y1VR Rj1YJWRjemo+SworelNNcm5oSnoyUD9LS0FQI1U5c0Fpc3kwR2E5aEgjSmhpT0JSK0Fhc0BLbity ZlREczs2UDVLPlI/WUNHSWAqKEtaCit6TjAxZXV0Sk4oaD9Oc3x6KjtEcXNOYTdadGpucjY0VCRI Nms0cntIJGxrJjdYXldZPGV0LTd2QUFMKCFfb0lNbTIKK3orbEswOT1mT0tLe3RlTWo8TmAmWjhx ZVZvaH11YF94cDR8VmpNVEl4PUVeLVZge2tHaihhYEI5aDFLdiRNYzN4fgoremlNbF8kOSVpVGll TFQyMGp6cz5yZW1JenxvJDIqX0N2d3QtWUJQP3JYeGg3TS05MmNZdGJEQSpyKXh+U3g/WX5fCit6 Xl4maSg5OG10JWFhK2dAQFJYVDF0Um1+YmJ7JmVRejU0fD8yQGd6ciQ+ZVI+OTZNcCFibmUtMmIk Uz1scWt4O2oKK3o7aG8pQ28xP2JBZWJue1JSdEBlWjQ3e1ohKkk9VUckWE0qKldUYiVySEBzMWxq S0ZGRihWbGI3VnRjSFl3dlFodgorejkhbmlJYSg+dz56aH1GQGY3O3l6ZVFFP31nXyZ5fTY7cSZh OEB4NG5sRGpJQDtKJGwjO2Bhdk5FZn0wTCo2Ul5KCit6OXxVdn4oVE9LfVRrakMxT1FEPnZ1V1Ak fV5uPW08RzkkM2FEKTsyVTtoRypfeWtoKl81Zjk2ckhPdipYPEVDcGwKK3p5P0QtS3JgT3t0Si0j fGtzQlc4am8lSlBifDE5Um1OJkV9dHFJMUxIIVEzeUIpUzJrTk1leTRON3FQVlc8MUMxTgorelpD am1lV3hzVTE8KzhqWU1XSDwjTUU5I3JwVndsJD0wTUptaztZQTRhTGlEV015WldWVShJd196XyVL Ui0yR2c5Cit6aWw8bypmdntWeXswITYhdChIQWt0dmdEeFE+elA1I08oJTwlQS0zdHQ9cGEkZ2FR UGpHbUk8WWZ9VEtrTWhBN0YKK3plR3IlbDNrNjN7JVdRTzhQRzNQYHQoVD5KNlM9dDh2fj1WVU4p NyYoRXR6OTJzazFxVD52MShZIzxsT0pDbmBXPQorekVscVY2T2FOSiRFZT18KFhmY1hwZTtuNU97 IWQ5VDQ9PSZNTWsqZjFgZHpUUnsyZyFWK1hGJWBVfUxWMlNPOy1YCit6d3E+fnB3SSYqRCREbXtn S19QUy1wdkI5LVpKfj5fSD1pJCpTP05nI2VPPjlNPjV3N2VyKyFheiEwUz16VGVQMDYKK3pNXmk5 ZSFiS1gwKzt3PnI8cEJeWnBELUxudC1Neng0em5nQmI1fUhDS15FfEs1N0hZfV9uZFpValYyKmtu PSVYeworejNpNVgweDtYdT0kIXl2ZXRjVXV9Uj9LZ0c5eFB9cSFvZzU1T2A8MnUkRzVoSSkxNFFt ZDhvI155RlF7RSpQP2VMCit6T0lQdnsjbF5BfHVnX3RvRHYwNVVmdEJIV15uNj5ieUdLfDxqaEgq ODF1eSUtYWUtNmpJNX01U20qS1BiZmhGP28KK3ooKGk0Y3spMXZCaU1HdW9VP0B9NV5qJjc0ZGxf O0k+Q20/TD94O1c9SmRrKWh6ezJIYmFEJE4zSkRKSDBPeD10SQorejkrK0V0SjUoUThjJmpSPnZ2 MygzWUUwYVNzN2A5TXJ1OUFtd0Y9fU8zPjsrfTsyd1cjRCFQJllHYHtNYyZ2KHVtCit6S0M+b3d4 SGFNRm4wUn0hVEtYTSVHeHRRfUthTmZ8bTlsQDlzYDEyRlI4YzN8KXswfFk9cjQtJUlaSGQ+WEZr S2UKK3pgMzhjWSZTRXszayZsQWNhfmpXJDJmSkgmRXFGVSNxKzY9fT9obGF5RXI9bmYqUk9oRUhw TWNBfEtYeE1Vdy1AMAorek5SO2shT0dKUipZNTVzfm0zaXh0eWNBaUchJU84NjxhNnV4I2Q3NnNI Plc/fEI3SE07TSlQZS1uTm5OWno5bDNlCit6akN4VVleSz4/SE9qfVJUY20/RSZKN1F6UktmIUpP UlpvcnI7bnskMFBOc0FYZV5ie0UjbGAzVWBGTWt8UzJ8WW4KK3poRjFnLXtRbVJzSiRQUDNZR3U2 bHhvPk4ycEpDX3o9JSQrPHBAUUNqN3ooTXV4YjtIViFBSkJvWj02azE8R0xvQAorem9YSVR6e2hF KUgtSU9LVjRnTEd4cD9Kc2ZTbGRufj5LKUxOIyZsVn4tajUyK2NZTylkIU5qWXQ7IUMlMmlTeX5p Cit6T0NRYD5se0NJZjZiOSg7MnYlS1doKW5YIT5YXyQ8JTZuWipKajEkWm18Z3s4ak9ncig/Pkpi K1NwcGhoXipPa0UKK3pyIV9wMyRQSlVvKkwmZDAhVClgfituUS1GWk9xTkpCdFlUYjROI0c1eXA2 WGVNIzFVPjl1QnNOdko9fVUzJTJKWQoreihRIUk4ZnBybSQ0fXtFOFY2bHJgVTZ0RUl0SV88VWdZ d19EeGB6P3szNnZrLTV0dk4+Jk02YjF2ZUIofiNGRTJrCit6TnFlPU9YfGZ5RUsxfElBWHgmP2ZV WEFscnFVJH0pJjBFaGRfRn0qdl5TdWs8KGZxJWkhblk3UXZsMSl3fEs/YjsKK3pjfFhxMlhKZ05a SjBJWV48aFBve3B4I19LdW5aeUAwVE5HYyFrVVA/STNIJFh4JXwmQFp7VSlwZF9SdXpwekEkOwor ejNEIUFEOEI9bF8oflpHUipBd01TZz96cnxXS19MIVotZzg3djEqV05jKUkmemhnezJLXzhTODFP RkpmNy1YUUN2Cit6PXwjWU9MUlRFVDgyam1JNlAoWTVAPW5DbjYmengqdTUpVWplRnV1Y1Z6PVVr Qn0+TVlmbikhRVVeN2V+OyhVKjIKK3pabHZrWklHalhhVmQqOzhlV1A3bXlMJnw5KVhhWEtrREVU dnt3UDl2S2JNdzFuUCteeDttLXdlc2gha1kmY21gcworemtPNWdocU0+RkxNKnVKRHU1bGFjZ3sz VGU3bHdaUCNSeVhHYSlzfk9jbXhBQD8oTlVDLWk1JTdAckt8Zyp1OHZqCit6alFqbGsmdGhmUXpp UTw+YlkpYyFEZ2J+bTl7PlJTZjNSUnEyOUIyaFRkWnZRfEJJRT8rP018P15wQFJrWUJIJDAKK3ow X3x8UVRPWT90bkAtNl8qY1ImbUdFc1gyajBGaUNqVk1hUjxHN1MlZzRmcEYjfC1waHF0M3xaUCFT XjJuSm11UgorelJJJFNPO1pBR3c8cj5QNWk4NXk7Kk4mPntpPFkteVIqVXJCI1RURlFtRTshSFol e1Ihdjx7WiVqazFBMHE7MXd9Cit6bTJUR0hpO1BIYUMyVGglV294Kkt6LStjJmpEQUEmJSREezNs a1kjdG8hKk5zYj9hQzZwVFM8Q08wT297P1h9elgKK3p3cENWPmAkR2xoK2ozZmI5cTNgVD9wSXJ4 cihZXyVIX24jUHlVI2tGdEc2PVN2TVE/PTg+KVVzMSt+ek5ucUF+TAorekRtRGxYS1BTR3c5XlV6 VHYzXk99PUE5K3dSbHR3cD9Sdl94LWxrVHIyMl9AT3R1MFkjKVlnZ0o9Oy1wYiVVWFM8Cit6UmtG bnklYnNuVzdTbmhOYEp0ey16eTtwVSU5VD45dU5RKTktRzl+dFJWSSZUV3Z4PnRDNEtINkZOWSY8 Xj9ZNzAKK3pWe2V6Vl5eSzRMcmwqOFBqSzc9KSUhdFZFZW94Mk44JTxYeGNydSlLJnJ2MFNBSz13 PlR+eThVYkEtcn1HYWFmcworejhfRkwrRXxpe2NvK0RSUkN0TSkjTlhEPzdlZl9mZ0V+OVUjMFVF JiZzJXVLQEYyS3xtUz9qOSZqaChwdl48ckM5Cit6dj0qYGFPRH08cmd1RWxlaj5hKU5EbCE2ck9K N1F8SDRKSTxpZlljVlpeRGNedG89c2Q/RnlgMj4+aXswZk4pJXUKK3pqMn05K2pYUTJMaEsrWERr WmVPWjdMWXFaPCFxP0RPPnUkdmR3cEtObzRHS0lUUlErcSY+fmd6UjBhNHQpc004NAorenVGdHtS SihpPVpIKHFKfFNUY0ppbVl1fkF7NG5aRHQwcnlnJEV3UU5sc3V3KkRAITsrWUAydHxJVWwlcTdG NWRqCit6M20mYklheks7N0JRdntzViRgNmlQdn1gOFkoWTQ+RlRacCkjY2w2WmYlZ2JsMkZhdFpM KFlKZnl0UCl3P1RJMn4KK3pydTFPeVkrPClWezJ5b0lzV18yPGhwPkpsKn1qJG4+RWR4SUdvRGNz IXA1cHFPeyk3TCUzRDlKSFRiQyp7PC1SfQoreiNgI1liPWlDQ1ZmYzBsbSM4eXdHRy12PiheP3Jk akdOcWswKF94U25IMXMyUF9CQHoze2ZASj8ya2UxNV4yXlg8Cit6LTFqSVhsfFZ7PTY0UWZqVThE a2gqMEFFbD4odWckSGNNJiZvPnxqai1MTTNheiQjI3xMPS02TjlMaUVKT0RZN2kKK3p7cjc+aiF+ ZX5UUWd7PExmWlFHX2VSTVFJeURufHZWJnd5I0pWQSpiT0k2VipiWWx4WjFWQUYzamg5cWFmTVNl UgorelhhXyFwek9xNSpmO1lKY01TO29qIVBVZXwoZG0rVkMoeDBEVysjZUo9azB+WSZTJlFZOyM1 NE47cEF5MWleNzUjCit6K3ZUSENoV2AlQ1dOcyNJNSo0NUlHU193QFZSUT5mZntTeWklQCFFP0I5 OD5Ka3tBT1h1MDMxUmxIbWkrdFdvNEwKK3p0WGAmV1ckQHxFVyFRPXkjT3xFcmZ5OHgocWJTSGxr Ym8tNDgre1FxWHRZPWs4O0tHR1YxIzQkQGpuJkVNK0dragorejshPUl5VF4kLUYxdjE8XnJSSHhP LURXbi05QmUwIUJrYXp2b14zOUxuI3ltKTtgZTtMTVN9fSRYMnNsfXlhQW5FCit6JUd2SVAwYShi YDleanQxbmlpPTklMCNyWmIwZStpT3VoNFpPVj84R2pSVDJrYD53QVIpdTYkb1M3NWAwdV5+V0AK K3pyQ1dmQ1Nwckw9VTYkRE9VflMjeUVPIWUlcmkjeHNzQTFibDhYYDshTHIyYn5IZFlka0pBaz1G dj5jVmU8JVFAbworejA1VyVpZ0dmQyszLW0zR2AyXytJb1Y/O2V0bUM0KHNqZ3xZS25jfSpJUzdI VXQ7OWdRVURGYFdSbGw3UWRPNyYmCit6YUljfFJQc3sxPDtmcT02MmNsIT1sZl9kJVFwZl83YFdv dT5gOFlJQ2Q7aTUtSEd2bC1VSGReJkh9MHxCRWNxdDYKK3puZmpFZFlUMi1uMmZaKSUwSCpRaG1g ckYkUCRMKlg4bmclbWdzRnEyS15ja0B0P0BCKXQldkN7PVlsIShUTlFeYAorempqbVpRPUBPMygy TVcxQ2Q+JCFLNWA8YW08X3ZmZ3s4SUBkTWxGaSRmNXx7RUsoRTllPlF6UzUjJXMxSTsqSDJfCit6 QEZDaE5kakR3UTFQTXJwPEtacnVwRCRiVTg+YCM4X2oxRGtgY0RNXjE0YkRRZkYpcTEmTXFiTiEt RlErckRKWk4KK3o3fTctfCt7UWpAUSVaLVFSdXNpKDlvWjVwNlhyZnQxVDUzdzUqZzJOcnA5Z0Bg Tnp8ZlVCd2p1PytUQGFCNzElfgorekBlan5VYThXZyNmMWhUeHw0dG4ybiROSm9UZnNXYjYxUmtA Z2N3ZW9HUGhaIVVMcyh+T28wTDM1Z20mcE99X0UhCit6bTFHVnE8dEhaaSkzQ05UcnhCJl9TSkxa VmJuWVltSU4re2Q9JVhoaEhiRWw8Syk1Jm5XNW1gN0pxUjM4anhjbEoKK3pTdkFuKC1tWHFYPkpa e3NnQTJ4djNNclErJmBrbHctS0ghd1dfSD5GUUxqWHFTR24jbkxhT2tRUHh9aCUqYzUzUgorekFj Ujs8NXZDXlVGOz1wRXlHWmpHKjx8c0N6bzg5TyUmRFF3aj9oNzVkM2FzYF9PamVtJV96OUB0Zilm NXRfWWl8Cit6cGI3M21FOW50X0dnanR5NHxtTSlKLVNeI1FXWXxKRHZDT0FQbnpyRERGbExrbzte SEJYQlY7K3RDWEUlOFRxPmcKK3o3cnpSPnBMUEcxMWtOQ2dSVVpybWxqRjtyZHpLbHJiby0qb1Qk WGtGZk1LMDdnVjsqVXtmJUJlSCEjd3ooez5faAoreiNpYU9pQHBZQ1BzOVBUYFZpY3RxRX4laEpK Ui1RYSRicjglKjxSc0ZvaC03RWN2OF5NYmY4Y2M9XnBfQDFXY2ZxCit6aVNuZDRacj9+dkhveyRE WlVAKT1KWCEjcEsxcDduP3d+fEg5dHR5NTl2ejBsKDxYOXErSE4+fHtJWGpRJUxxYHUKK3pQKiEk WUVJVmthQ2wxMlNrMSYkOWQjekhLO25OOGVrKTBoZkgoSDZNNkIydDNXd3xsQiFAJnxMVkMjZm5f cWg2VAoremw2ekU3USVQQHxUZk4qaTFDNChnPTdKTT9YcXN5LUZTUHpKV2xzaDRxdVU3SyRBPSV8 bGpOV0dWZDxxTC1rMmw0Cit6eTtHVkcwaXp2TD4qRnc7NFk9K3RSc090SDx1dlU7ZD5BcXZuPlFu ckk5ZUgwMkBtQSRJflRMPEZZaShWVkZzSnIKK3o4U31MKihlIUMmOGc1MXcoLUF7cVA2Kil+czwx bnZ2b2Qtc1dRQj90MGpAZ1VXWmhsSV5EYEMkIV5KJXp7d1h2OAorenFYfHxeRyVeMV5Yb2p1KnUl U1YqX0FII04yZSRGJmYtVWYwaVZ5K2FoIU1UUVFyby1DSFM/QVlyST4odDlBYn5TCit6NHZxWClr fEtYY2kxIXlHKCE0Nyk7dlFXe0lwSFJoUG47P2FrdjI/R1IkKVBpTnU9RXR6bzh9ak9oPFQ1RUUz SiMKK3olIzJ8MjFIUEoyWmokeT5UZldjSGlhJld8IStKVW0mbjdyS3Y5X2VHO3RwXlBIO3JATXQh TDl5cno+Z1hARyo5YAoremFffTZJZ1NqNlk2LVF+diQkfS1JMH11fWAjWlZBMXstYjd9Yk0qa0cx cjMhNjJadDtIQXFLWks/cy1VbW83bnNTCit6Y0l5c1cpamMmSlR1QFl0JWc1YXEjaFQ8RG5SKkkk dWokaWk1Kz1zaTlxdDdMdmhYbl4zZ3JWQUJabFReNmxFeyoKK3oyQ1NVZEVHbUFRdmkrOU01YiZN U1M0UXZQbzF2S2VVJW8oKG90RGJ9TUdTKUA9VzhBWklFKHo4c3IpelA3S3kmSgoremB+IVJOJEti Nz5vdVVzUkFiQXQhQikmIWNfbzs+ITZ2VktRPWN8aTNARCZCd3l5N2puWl9Vfnl0WXBRVHVOaVh+ Cit6TSM2R3NvU21tOyEkN0o5dDAtPyQ5TFlgNUNhNSglRXYkU1FtaVooVnsoPXJ7RU9PY3BvcjI4 UFZ1ZEI5NW8rVlkKK3pBZWh3OF5zWEN0YEN3QFdLNkgrKVRVSi1ua3lIYVhqSEckXl5FTXBvUjIj SXVEfDFNfmc1Syt2MHh0QWtwNmt9dQorekw4Nk1rcCZgbDhAeHVeWno9VHk9ankrQ3QwViFaZWJa Yzd0KFlCYHlHfU0lV1lkfnVCT0NFX3E8JXY0enEhMjImCit6M1N7QihqR0Y2cD9+NEEqPyVUaDRj RXhWcFpnX1pmNTF2e3tKcntxI0w3YWBlSj53RVJFQ259RT13YWojYHJIQzIKK3o5VyNSeTYkJiol Sml2SEhBS3lIUU08QHclYzh+amE7SFI2dXo2JDBLJlZDQiM+OTdJZEtwK0EzV0Z+ZWs+dnp0cQor emlJYFpPT3pPeDBvQWNNcXhxS2tMM3IyQitVU3tBPnZLKElIcSU9QTRsX3ZrOHZlTDIkT0JjOWxU Y1dANW8zb3omCit6SGc1XjtlODQzMSQpMkdvIWwhSmtGfWt2akhXTlMrWnAqTzt2PitifD9zTFps Xm9fZSVsd3dPaWxePCpHWW5reWIKK3o/NFo+P0dYJDY8SVR3STVwOG1oWTwmdUNYI1ZQTUxrI05v PT87e35eaiE9P0lwRyswb1FpZSlOT0oyVnU0NVg2fgorelNnUHtvQVd0S2l6dy1kTUVOUX4+WF5q YGRiR2pMREd0UT5fVUxUeTZgdTw8ckRCQUtPKGRpWmc/e0k/QEI9OUVxCit6dzVDeGFraD96fFFa KGBzRkR4OWNgayY+ck9lemlJT0xpPFRnXmh5TTxLTXxmeEB7cmN4cyYjJSpAVGVqTDZ7fWkKK3o0 Vz4jejVzKFU7QDY1VzRNQGFnZV5tQkhGKjFZQkdNY3h+XlBMYXY8UmNBbyhJek58T3R6MVhud0hL aSRJb0tfVgoreldwOXYyNCNxYFIhVkEmWDM9R0smMzxFYisjfFZKaExfLWA0eTdqdWNzI2dLVWA7 cEhoc35FeX4xbTc3QVRgWHNNCit6XkFjTmBoeHo4dndjSlJwZHpNT0paaXNidUZLcSY8KkZ9QWY8 dGZyZntTTk5nTyVuKzRHJjZBYClxVSlWcldTaVUKK3psVjl6KFpuVGNpKVgoYUxSNHFQY1Frdmdq NHV4VmVIK2FHZTN6eyFEJH1tRUdac2BNU05RUDZWezVeYE9WVmJDOworemZ0RVY0PCZ9ZnVsczxx UDNzYjxhcigyVztyNjJgdmpPUVlJK2REeyVeJS0qVVljWDNUT35NS2UtSFh7dyZ2IXJ3Cit6am8+ elpMcjloOWQkQDdzVFpTfCRIZiR4JWZOaiZ1KHRnSHh0VllGYWtvI2hNSnlaYk0rbGFrJXNYKHpY eGhHTy0KK3p7O1J0V1RKYXF6RnhwQ0xCKG40Q2xnRDl6KEo5aVU0WVR6TylBaG5FSTdJcyQweUVt c3BDKD0waXJ2fE5xcUp5Ugorej1hYTNTPGEzeFhASmlgMlVsTVpOMFB2dV81VGskPnpFckBge0Zj Q0FCcW9MWUFzaH5vdGcyXiZtJjNsJmxydW5NCit6Uz4jMDlgNyZ1Xl9oUGlaNzEqcH0obVBAYihm dnY0NWghcVE4PTN4VEM/RnQ/cH59VGdFSykpb29uRXxJbHpqekIKK3pEI2tubWhBZ2wqWEU3cmpi eENMMVRBfl5DWSZhMmFxfHc2PihfOUswIT1uK1FjbVd1bFVHJkIwV0traHcteUNtJAorenNTYzts OG5USldsZyg8aDhyeHEwYlpCMGlKc0EkY2NsfnNHdWxxO0FxRmp4Wkxuc3tDcG5ua0lvbFImOD50 bGBgCit6KmZ3IVowU3RQJDdkbm18QX5iaDEjJUwmNDVEMTZ7TiFBT04zRGw2NmxzUyVYV2RtaFZP Q2wkTGpEcDZOV2pTYEcKK3o9PmhzfSg1S0hpa1JvVVpMMis1YylUKnUhPkd3X214QGcwc3t1YkFj aDR9RWxTY3swNnZ0cUxgZWpTVTZ3SEdXOworej1jZmI+alUrfFVzJUYjQF8wJENQSndyNn5uP3Bo bFZocnhiM0skRmhkQ292VXA3QkIqQGR0b2ZwZ0AyYSlQRGRCCit6alBNfVE9VjF2ZDJOPDRlNSZp PzVfPTteQXZBRDV0TCt4I3BFVHFiNDFTKTVAPmwkQmZDUF5ANmZ9ck9FNT96bDEKK3pmO2Y/WVk0 OWRPPmxSNHMoT3xDSncxVFl3ZzEkdE1wSXV3QmVXcVB6SzVDNWF1VyRzSlUyY2ptRW4pejA2MD16 dworeiU3N0pAa2xGYnxLQDwtVll0Njt3PVBuR3MmYz9SPGM1cm9AZy1QRmNTamBDUlBRaHZiS1Fw YGpmUX1laj0xcGxvCit6T2crJm0wQ3V0TlVNdEB+NV5lR3xnQmpaPGNgazMmYnBpPSlCb30zWVd6 ZEpmRVdaV3xjN3dXRlpFPnwtRld6cngKK3pyWXFCQEtvSERWTTh+NXJ7UzkxMG9WcjZFPmR5S2dW WmtQeGQzN31jPSF2bDJXMzgmY01eSkNIb2Q9c0lsVSZaMworekctUCUhJXszaXQrI34lRGwoTCpL V2J0ZWM5NCs/em1DK1BQWlUhV1U7YzhJdERUUH1lSntXRk1BLU44bnFQUVF+Cit6NTVzaklgMCp9 eiNXZ1U4SThUbSp0YUJ+fmxaKipFNCtJZmZCZkdlSCFDQDhfVndYMUNvMWZqZiNhVEM9OWR2ZTYK K3pweHZAPXhCPEYwPjRaUFNDNlQ+YDRRR0wzeWQpdnV2RVZ8dmRZX0p4dTdxZzhRfCFRNjN0MzJo JipUbjh0cGlDdworelgqdyFoSUFJQ0hvfXBOUCF5ZnRpcmJ5TUYrY3B1Yys7RXMmUV5zUFBqR1FH OG1XOHluKmprNTVPTGQjMVFSPkZJCit6b0t8dSVEQmY8JE9AaTVBMFR0ZD1JKjFfZGc7RV9SOXY5 Kl58TTxrel5SPkV+Y0ZUcTZUKT1+KHAzPjRqQXI9VkIKK3peTGNwY0JjZXdKMjxHfSRLKHM4bTg8 ellGa1V9WXlBYSglX3d6bSRGcHFgMCNZSVg/cWJIU0BHcytvIVFwbjYrNgorejR4RilIXmRZS1E3 RHU0fEJkO2Uwb0lUSFJRS3ZyIXklcVlAalEhdzVuKXIwcFV2fDNaKl54JVpmMWU4JlFKcjRNCit6 aSo+TH5JQVNfO05UfjJqTnlCa280KipKRVAlR2xhS09ZNmBhWX4teVloTnJxNiZ8MGY9M15BfFNE QWxRdUFldHIKK3olKU9Ofj1iR0phbzlBUEhXZG4/dG95MiNeQ0ohTGcwZUA7b1JiMmdySCsjTkc4 dH1lbEQ7ZVJseipxQUp6aj90UAorejJNMnQ8OXljOUY3WEBJX2REREd9c3VBVFgjRDhgYGA2TmIo MEx+KX5oZldZQV5YZUs3TCgxa2BAOyY1YHlOYVliCit6RHBFPnhOXlI4MWlhVEJXPHdeb1BAbSVD TDhqIVhMSHw4XjcyTnRpTTJAWCVIaz01ZlBKbUp8OWoqMy1maDJTdk0KK3pGJT5DTV5idW9LS3lS QXlxfWlodHdwU3lMMy1VQ1ZAQl87eDIhVG5QKG1DWjhoY2RvfFBNamN1JWZmO2hfPXYtTworelp1 a1UqTH1heThHdUQ3dXs8djk7M2Q8ZUl5OFljfUAyKSMxQm9XWipWJDQzTUNzfWhrOTs3dSlpcmY/ O0NgVTN8Cit6NDglNXxRUUFTYzNxMVR2Kio8eXUoRVUxfGhjfiQ1Pmw3JX5IenozYV9hMmktZllQ ZjlWKmFxJCE2M0JgNTFRMzwKK3pLUFFuaCQ1PCN9SHZIeHNueDZiXyNhQXY+ZjtRYENQKEFzO3pu PnhIanBDSGE5eWkodkNaISFSeTFtbiRNfUByYgoreilUYl9uRH1nK3w3K2N8V0g2ZlVoPFcmZz0t b24mbm4hS2NJMSRCLXReWHN5SCYocXQ3Z3lVYnoyNjlsdzJuQDVhCit6fEMwUSVGT3UxPyp9LXEz aSU4Y3xma0NwPXBTTz0kWF43P1N4K0pXV0RlRz9FY2tncDR5emIqcD9HMX04M0s+VzcKK3pPVD9m WExCPiM1OUZMeDgrdC08M3toUV9aNnMrPjVsTmE0IUJuUk5JYn1tNk5KQTVoVGl3Sz5eMz1MX1Mw Wjdhbworenh4an4xMnh8aTI0YGBJeUFEZmpgJURYMzU9JSU/YFdUZUo3a2VZUXJeNEB+SiM3Typf cERILURkcDlhY01sPEwyCit6ZHxNZGVmKnVPMGRYKWAlMGlDfEJ6YW4rIzNWZmJQbzRqdU9SJiZH QD9CUVV0a2JOTT1pQGFvWFZ+QFUhMDZjQ0kKK3pnTDY1fVJxRFBhekxUODFiZkA/TzI8NmYtRite SUZyMWxlVTw1cXVsXjFsWFVtI0ZYdykqbkx7Rm1qRHs8fVR8JAoreiZ2b1Z3OShDTjw+IT8hPlpP MDRqIVoyPU9hO3pwZy1NeiRTV15zYSRNTjhAITAzKj99eiFPdlAmST9uUV8rU2NECit6VllJUmdy bj08aDdnVWdUaVlgZW8oe25ue3dsRSFEeUA8OTZNMkhQUHp1dDRecGJifjgrbkgzZVc5YGckeyMx dyoKK3pBPl8kMVp7Ny1hJGw0PTRoNGVebi01LUJnUmZPaV8mOSs9IUR3bWtKIUY7TypKMFYpT0pe XiFkLT8rZ2dqbSRZeQoreismYXxeX0wmPVBLSjVXPE1lSzBRNnZwOU9IckdzRlh3dm1xa3V2bDE1 REh5bXgycjd0XmxBMnxuTTkhZURBY0JACit6NmdOIzJZMEM5LUpASEZgMit7ZVllQ3UrTnhZM19M USlPaWU+NzlFak99VDtqTUpDITEycmphRUVKNXVgVTVkVl4KK3psMn1pTWdXTlY3Zk9NU1B6P0go WDxSTXYxdDxLKil3bn54JkpQMSprVDtBQUVIMiE9K2NQZD9xKCN1flhTeHMmQgoreiUhcG1mTz4w KVV3Q0stPzRjZlRwb08mZWAwMTh1Zl4oe3M9XzVubV97QChCUDlkQj5yMTNHd00od0kpJExjQ20p Cit6dnx9PHQrT29BcEBkdSo7SygxUUdWSXBhdT5gcXY1ZVQxS3VmTV4wbTxaPmpTTTkoLVU2JFhx MEt6Y08zRXRhV28KK3otY25FISt7YHpyMmxacFNTLT8ockoyMnVNd09wXlJWTisrWXk4ZEo+OWk5 U2RPS1dKYkNocUQ+cTtReEZZdGJidAoremw0Qz5Tc0lHcUlWSXxPVyFDemk5cmZ8ei1UKkpxPG1h Z2t0RFVMQC1ISDRlUVRxbXNZczE8enVBOEtSJktOKG5JCit6RGJnVjdBR0krTTFwb2w8S1FnZWhs ZXlMWjVGNlk3ZS0qZWAtUClHODc0Zkc9dVlXX0w+QXhzQDJPd1JkQzAoPl8KK3pvNGFrPndzKUpt WlFIaE8rcVB9JndyJCZmZWRmLV47SmxnbkJrR1Q7c0VDWnI2PEtRfnp2TFdVKlA0fjFqVH15Uwor eihWcDM4OC0ydz4yPzxERSE8REZ7dW90cVlmZm80byRSVClFZWdZTGFyJVFHbytucj5aPTRNKExV aE57VWZfJVZlCit6KVBRY1BzZTt+Mj13aH4pdlI+ajxaaGtNa2JncjBlZW1EMWVybnRadkdrK016 YD9QR3tSa1V9ZkVgdUEjK1EkN0UKK3pjS3RkdSk7PXVJdXF4TUxxZiVxejxMJT1gUnowfU5tS051 c0AkISpqWDtVRnU1fGM1VWhfYG55PCVmUjIpMmEyKworenV2KGNQZy1eN2N1MkwxVHhAUyolditP OyFKWGRpQ1pvejd2RkAlMGchVn13bG1pKnkqZT5SX0NebGZqanNVMkw9Cit6U05DQWZrZFlOKFFG U1JgPnghLT9oUiFRNHRVVEt1bU1yfFZCalQkcGxUP1p8NjRSS0pSRXYjUip6PXFaRTZHZ2AKK3pZ Mmh1Vkc0S3QzaX5vbUw1Z1E8NXpydWQkS29lXjlWPjg1TzxMbEJHbF8jPyRFXjhTM3Z6IXR+dEU1 LXw7czloSQoremM/VnZfdmd3WiQ0VGlTUE03O2ZOdyh+MkRsJUdjayRsbmkmdEVyPUw/aUcpOEkl OGlVWllVI1IpKT5GUERPR3I1Cit6YE98MVFjczsjZlB2WnokVjQ3MDU1SDxTdCs7aVJHQTtYaHom ZXlBfT5MMT8+XzdGM25gSnZZbGZ8Vzctdkc2ZTMKK3pwdkBQOUV4TVNQMVlOZGBSKmpEUjtLTkpE JGVQaURgX2tOVDwmSjkjOH1xbDQ2UUF3emQkJFVQRj5ZcXF6YEZPWgorensjfU1fKD9ncT1GKWI7 M1U3Y2p8NHVXeWo/ZGxmRjtwYVUpMGV3ODZLbThLVldYaz13TnleU0VhUnNjXmNmU0ZsCit6Mz12 SXRuQm9XSVpvNCo9JEQ1P344K017b2NuK2goOVpgRiU2NX0qdHY+IWU2cykzIXpLRnRmNUYqNSlt PEtLfiQKK3pkfWZIRmMhOWU0dCFyUSlhYlJGQGY2SFA2Rmh4UjhWOTh+Tz96P1NhWTM9TSZZbTdQ UVM+e2drckYzTjdAbD0zfQorellRRTI2PUdMSFNLS2QldlJZNnp6bWkrbVNrVVdXQyl8Y19yU2sm WXFLUl9FKVozWXg3S3JFeEhSMEsoXlhqYS1PCit6Qz0tPV9sNCZ5X01hZ0R7S15JeUBuKzwjJVZ6 ajBaV0poYXJnPytsSmlzNjllSSl9Nm9mbHxpRCgyV3tGUWFKVnkKK3ppdVNmakVJNlorPyUybm5k VyNKVTVYIWBqWWBmZH1oIVpmZDVWXiR5NzJ4cXQoTXtOaFhuYSE4O19FQllPZXNBRgorekZPMW14 JVFDMVU3Nk9aRC11OERWbWw0PTZZR1QoPms3Rjc5dSZnQm9SNXB2VCRlTDJ1ZWE5V2tQR0k2TGQt WFRVCit6REdXRXp1fWlhdHczTWFiVEp1KC1EajI3ITxoYm1JUj1yS3dXZl5NZDFyfTdebDF3aTRG fTBAKD4kam4mOyZQcC0KK3olYDZmemFGP3NTQnVySjI1QUByJnRlMCRPWXNiM0BeIUdAKldScEF6 YFc2ejBlSihVMT5XOG9MTnR6e0RiZVJteworenY/eWlQT00tbSY2djV8VXs2eSlVSF9tb0g8Ung1 Z0dCMGhkKmZ8VEBPK1MhR3d4dihrKTdDUl91dk9gLTAqPClTCit6KHF1cmFrP0QjSGAtUyp1bGh1 bVBpIVRCbGVvP0ZkfENaKCZ2ZDdHUktiV0Z0S2t9dFAhXiMqcSkpe2RIWDE5UTIKK3pjcnhuOF5V fDsxRDQ3ei1LfWZ1PTItRUAzQ2tpOGB4WFJQbj11WWZNQyMyN3ljPUI5I3s2ZUY3NnEqM0U9NWpK ZAorelRwVmgpaU5UPkEqdnZwcD48VmQxPWZzQmEzS2FzSDhxPGkpdTZmLTI/dG5BI3NFTmAqbUNL bnB7WXdDYV52TnlYCit6OWYzN05ZWn1IeEUpMHleTTNDWVQhMlVEWHhENmI/RXZaUiVtaGhedTJY Jj1tNyo/bDtJKH5BbXhib2RRR2l5T1IKK3pXYldscVc/a1ZsTTkjLTNxWTlKcj9YUUdMWGA0SEZn YyU1Kld+a1c8ZVB6aHRXNTRPciM1e3xrdGdJRFMtX21iYworeittPUk7aHleUVpUJDx6SEtkVGtu RnghQ1ZFTk5zejZzMXQmXlEhSEM8TEV2QzUqST53PVl0MXcjR3VadHZuen1FCit6eUtZflV1PyVO V3AwZTl5bVcrfUoyalgmNGo1MSo8bzJPekpaPy1eV0J6VTVXOWFpUn4tYXFVSl9zJDZjX3tvclcK K3piVlZXb2s/JDdsPC14KGlXKipGaTEmdlJ2UUUwJmN5RylGJGtgSVNWRi01VWw/NSppbHhgcE09 Mylzd2F3N3JDOAorel9XNypTeFpSYG14cmRJdj01KVdgQ3B1VTVSVXxQfFI7cG1XLTU2NzdjZWU3 MHc+JWEmSSNtPTw/dzl0ND56fmxPCit6eTQ2fDRvcWsrbk50fUJIMHQ9fnwmdT9DK1cmKXwqI0Qq bFEwUjYmdUFrOXM3PiVCVEpJb1N9aFYoX0woT3VCMUkKK3o5dk9AfTsyIzNRalZ9OGNLaGtCanpE ezhqI1hYTzVlQjNXMEd5dzY1M1N7ZWNHRFVjZWN1e3gkb0QlXyRjQUpjWQorem9YSz8mRSNLRiVh RHhKPkZ2bUwleCZGWU5yYntndlY4Uz52OGI2WDY2aTJaJkl5YWVFO3VINmtwOEVZUCU7R0xGCit6 OXRiMSFgQChFMSttWGJUNypvQzVWV1YzI2c/cEg0YzhZfm1RQFd9VUx5eUVPd0wxX294MzEzaDZM Njk5Ky14fFEKK3pQeiQoKmx4ZnJfPlM+fEM4RTV6STxYSSp2SjBoa31hNHdiQnM+NX54MmBDRDsl SFY4MzA7THU3U3g0LWNiWWVNSAorenB4WHUwQmgpS0YpQS1DR1ErTllzPyM3cEMlPytxdUpWdUZD Wip0aE0hcjZITzdBbmhQeHdrMW0+R28qUW8yQFFJCit6bTMzMkJ0KjFFcWZAa35sdWVFZTFAQChN aFVkIzJAJmV6bWRRJkF0N2s0S25eMntRSnJXTk0jNmNKPFVNTloyJTgKK3o1QjEzREh9XjtvQ2c5 JjUtIUQlZyVfPWwjVlpEblFkdlcqY0w5Pz9GN08qNi00KHlMNnFnRDJpQH52YClFd3RCRAoremMo e2ApeElVRlNtWiM9eVItM081Pz1BayRQYlkpVG5YdzRGYVIkNypPbnVUUEZkZ2BNeTV1S1NmOStt X1dDa3g9Cit6UFltNVI5JVFNS3kxU2A+XkkkUGVhZEsqJjhtU0VyR0dSfikqS091MnY+dnJrdlQ1 MWJRUERPTDxXdmtEViRVOU0KK3pwfUttakoyT3VtPHFaZlF2TnBiRko9a1NAPkJKTUBhQnhNJXJo dVNoRVpqUWgjQ2JYMUM9WDlXYS1vXzhKTUVaIworenRGPUlwWkskNHJSK1Q1Kz49ME9jUFkpTXxG JlRFNVFMZCY8eT1FKHpYK09Lc0J5TjtPMzFPQn5zQT54NHN6KV8/Cit6THt9Sm1PPHxVcFAxWktY QD9NNUFodWlYOWlsZnZCOWNNOTdUfD11V050PlUrcEkwPntaaE47fU1lZ2lPR1ZYR0IKK3ooXk10 dDlVMl92ZjdhSztBa1Z6WClSQz5gRG1OQmRIOU4/dFVxQWhHS0VlTnkrSip4NyQ0QCorTGdIVTt7 YEskdworenYxeSEqdFBPNEs+NkRjcTBmNUMtLSZEMkxXWW5Cb3AjY0N2byZXJj1LejxBJGZQWVIw Xlooakx8NEsoayRJUk55Cit6UUFnKjBuQFJzNXh1V18lQWNfN1RORSV4QG5IaWNueThWfHR7KTFQ RGV+fnA/R1MkeFA9VnxjZ0JLK3FCfENgSzgKK3pRSEBWNCZySFpqe35ldV9RWFpZODhLdDk/cE1q djJwcTYrSGY7Yn5iMzJeMHZBYHVDNTglaVRkZHYpV35mX217WQoreihOQD0mSDRiPDEqNDhqfkg8 S3ErTHpaUl5iYW1LfUxYSkBReFJkaHRCU2s0T0RsUkBEWiNfZ2VEamBoRTh5Zj1zCit6bXhjYm5M Slpzfno/dUZDNWJ8P1R7QnQ0bl4kYVhyXnowMkMzfmExeV4mSjA7Z2BmQ2UrPj0qUkFNSzR4MUpB a30KK3ptNUJgZkZueWNtWDcmb0AremY+XiUkY3NEMTtybTVwSSNpQm5WT0swbndVQD9teS15SjNn KHg7NUk+akM5VFlqWgorekh5OXNKNytWPGFAOXhQaD8mUjZvUE81NHlZZXktfUc2P3t4JCh8NGF7 cUlDRUxSTnRIMHxFZngwMDk4X18wTDYtCit6bUprdz1SVFRMQHk3Jip9YEZGYmJNYDZsKG9nU3c5 b0ZYKF5xeFdQOSpHMTg/Mis+JEd4UlFCZHdrfUM2enlMSjQKK3p7cyQwQVkmOWF2YVNqYV4wZT9w OT93IUVPOVhnMFB3cXElfWsxX2Rle2A+JldFQWFnWnUtblZhOXE1dXZuMHExUworekg/elVfYXx+ Pnh2TkxCcExNQzF4PSpndl9PTzApNkk+UT5SLT1gdFgzczBqTDZSc3VEdFBvUm98Q2xUd195O1lr Cit6d2N8YkBtWl5NPHAyQHtlYEpQdU5iSGRPT1RzbmcxSW8zaEktPElQN1RteGhZbmA8IWE5cDMh TWp5RzFqWFppQG8KK3pYM1NKPEtYVihCKjRDQUdocnBqNi1MXzxRQndHV25Pcz1+ZG0wdWdQbjwl RTkrSmReYD9yXkVUb317KTlTP2x2WAorelNxNTJ1Sk5rbG57cikwOFVnMDNaZmMjeVRDTGNsUDZR fntOanFTXzM8flJAT1hiWSojRzBuU2UmZ1VPM2RMRWdVCit6KDkoVXNYVTtGb0dVMUcmJTBUczVX a25MYV54JVd9NX1laUdiQjt5fHh7ayE4WDVzbz98RXBmal9SQ0FTTEtXSzQKK3pjWVp8S3JmN3oz MEQjTHc2WFVFczQpRm9hZ3p5I05fTkUkaD1iJUxXYGEzbkl2PEs7VE1iV0EpNGdiPF92cXdVdgor enhJV3lQVGQkTn0oZXh3QD58Vkdqc1JxeXs1TiskLTViNmV5IUQtMmVjQ2V4fT5UKWZwTEJxNzhi THImaStUSiNXCit6cE8/MXxxNiE3UkFUfi0wMyZKVzhTPUJkVj0hX31HOE1RXnNCekNrKFV+czYq cVEmUSM3TnR3PTNRaGQ0RmxKS2YKK3p2QEdTSmZ7OTBuJTgwPFh7X3YlJCt8dkBfdz1DXzsyazs4 WVIheUdUbX0rSSokUGx6M29jakA0VDFFNnE9Pz8wfAorenZBNnp3NXBJJE01eWxKN1BUKDB5X0BO SyVVa1hJWjUpMkI7U1coajtpc3R2Yz9RdT13ejgzMjlnMkBgRmtPZllBCit6ZiQwKnEpaE1jSDha NGdlNVkwMGxlPEVCMk0/dDNKcHI7a1JJcXxnYkAmMGVVJl82Y1NeNGMwR3RSRn01aVUwdEIKK3o7 R1prRG03YW1BbllHYj5Ab2hHI09VMTBTQjZQcDJCNH5tbjFCcHBRV2N5cHNnMEpPPUpqYDVKPXxN Q351YlYmNgoremxYR1RSJjM8b1Qjdl9IbWtJNj43KWg+bks/e1JseSZOK0VwNzNuS2ZuJV50QTQ1 JXhhSkg+aVVneVl1bWFAKTF4Cit6bTNRK3ZzSWRzNitGKjVDezZ0NFZFclJ4eDJTTmJSdjFofCY/ VWJLIUUxdnpDUD1KTldpdkhUQF5sWSh3KXxJLW8KK3pSOCt0X3hscF5pZDJUKV9iZT9zbjktQkQl KTFrTnxmNkN1QWdUfH1vVnUqQ1YtSlMwaHR7RSMraiY8YVQhWEN5fAorekIqWTVWZHB4IU5zZTBQ JC03cUtSMT08JFh7QjUwaiN1bG1DWVd1Q1o5Unx5I3QqaTZLO25TZ2lCT3lXaUA9RCRBCit6Xn42 cCNJbGcqU3EwR0BjRUhYfnM3MzxVcStKckFFWnNHcjtMXlRiaChfZmZyaSQkdWAhWUp6bHteY0hI ZEZ8PnsKK3omSnxhNyVycmdeQj00cn55ak1vdVA+I3R1RFpYfHEoOThGKFZkRlBwUWh+PWVRb01h amRLeEtYeC0pMyNHPnt4SgorenAqfjhAWShCdjZwfWs9IU4jMDJRQz5rYVpWMFFfViNmbThMXzJ4 bXlAZW5XST9Zcy1OKGFhO0AqO0NTQXBDV1Y+Cit6Ul5DKF43KmFoPmJveUhGRU8/eVlvLWE8YSsp NXRRSzVEJUhVTUFyNjRlV3xCVEVNTHlCNzY9ekB3U1FnYHZXYEsKK3pycV8jaGpDKGtDVENUYWgw eVdTVFZhbUBDXzNMTXBJd2F+SkFZM0ZwZTV1NzBRS01EPEFRdHNzd2hMTD5tMGJBVAorejRyUmZp ZHFnJjhKbmg5U1ghNXMjdC1SOD9NT0lZSXVyYHI4NHQleEBmWDI9YmpQKnRCOyppU2IyMWN4YF9H Pjh9Cit6JDRKUDBNZ3k/QFA7UkdeUU5ZN30xUTk2VzdLJFJ8eGs3a19jez9PMlZqdTJkS2FoZjwo RVE2dlYtdzFtaXJJd2YKK3o/KFRaYyZRP2MyaDs/YEY+QkoyYXJnWEY+KCV9MCRiSUVeQjFCNmM0 XnRCMGlERiEhfnhkO2xhcVoqaiQ1ZDtkKAorekdETVklblZmJG5DdCR8RTVhS0lrdG1JYlpxPkNh cz8hd0loZk82RkY1X3BzTD1Re3p3TFdRMTI5M28hO25VXkJ8Cit6NXY3QDRXeEpyI3NYSmYrXyo7 e2V7OSYrLWQkdW9mN0tYM01od29iViM3TiRaNDA5QUZZVWA+WipMNH48dXZXMkIKK3p0cUw9ak5A YUJDSEwjPlQyQjA1el5fbTk4an5DUX5ROztXdTEtLTt0eT95RkNLeVFFY3s4di1ZMDYhfHkoTF41 fQorejtpYXNeO312YzFjUTw/cCg4UHMqeipeKzVoU3ppOEt2fWEwKXE1emRKSD0pNT8qODIxekVX O2l2KDdqSXBrOGR+Cit6SkE/NylxV0YqQClDPGpURFdzV0BIYzBIVFV9e243VHRhKXl4R2hIMDAx MmV1KG1XPVJKY0lMI1ZKPjFJeE14PnAKK3pPR00yWm8wfkd6QEZuaUwhKD1lb3dPeWUrOS1MdXRe cGNGJE0wck5nZyRPeXFQVilMV2lPeWl4aCVOWW8zSV9lRworek1PfF85OShfVXYldWAjUl8pfHtS Xy1jK0V7QH5hcFZCP2ZoYFBnPT8+Uz1LfD81NWI4MyE+TzNyUUYrRkR5ND5kCit6YkJwZHF2MUNp XnZYI1hsQyVVJjc9K0N0ejEqRHckVXk2bnIlSDVsO19eOXtnLXE+c0x7KWxUODdxN2l0O1Q5UUoK K3p0RngkWVElVzt7TStobHQyayNwUjNvPV8kdkxkZmxVczg1TE1TdER0dHNtSWZyYEpDI3BSND13 Q001WF9Cd3JXYAoreklWQlp+P2dQXkpMYDV7eWFkcnoyQlJjYzNYJSFPSmByMCpAZD1zfUtuZTJk PGxDO0hYdFRUbGxeQUBeKVM/PikoCit6RT9zZUtrWGI+TTM5dkZLVmdfYWpoMSE7V2A/VVdGamR0 djM8OVgtOV89NSp3K1ZKaXtMLSpAcDchOS02aUlPZWUKK3pTcEl9fTBYQ1pzWXdQTU12djZ2PzZp Q3pxTndNTk0jVntSe2kjJm8hMz5oPjglcDgwNXlGTSt9VEA+dzFgeV8/fgorejZ4fDEjNz5XSHV3 RHxCT2h6JU48K15AUj4mbjwtTUdENShCIWdJUzBvalJnbFZ2dyhVNiVFWi1kWkpfcmBROCRRCit6 PS15TypSXnlMNzl9TUdYMHQ3SnM0YCN2OzJuPkRfcSotRHdAdnAoYStEIUNCSSlOcndEU3IhSWBr dmdjWlRIN3QKK3phRyhRdVh6diVZSl5oJWwxNUE8RVE9KWQwNCkpaVgqMGE9Ui1ecEhTM1NTTyVk PVBYTFRhVUtIXjdQe2pDJUZxWAoremEtSkJReVZTRXx3JjxYfGRPKEdMOXNQdWBZaF87QkcmODAj O35YVjVzT2NAZzs/ViU1LXF2KiNjc2Y8UHpVTk4tCit6Szx7X3glbiNZNlBqcm8lYHtYaWkoKFBs bFREPTM/YUg5UW9oLUF7NV9LU3UrZHhsfi0hdnNLeld9P3dPOUFMZXUKK3pTNClTWTZvM3RLXkRm QFlnO2xHZnhPOEFGZThJPnB7RSFMTThjMGo2b0kjfWpubGJSTndUP3tuNGFVUDYoKytPUQoremtK SF53b204YkVYQjlLfChnejJNSkl3ZFA/eHkhTWBaJDNkPnkoaH0tTlhOaCYzOCp9SH5ed1dRdU1B I2N6VHZ2Cit6anlwOGxwJV45JUtoQ1pibShrYSRrfFFGZzk7a0t4MiVRfU0hM3BoJGc5ciVsXnds RU9oUUF9ayR3OHU3XjNRPT8KK3pWbiNhTW94XjgkP1I8bTdlUFBJRyU+MTJZUjFlPnw5c15BRWkt ZHQha3JtJHFCc2UlbTdOMUJiUnd7a3tlI2xWKgoremhaXnk7Ni1pOG9TIWt5VHYxUzslNTtIPyto K3RUQiZvVGFoViZXbFFpcCZBZmt0SGtucy18JiQ+WjBydj1zQGgzCit6dT1mWENHQ3kyKFo7R1B5 JG1QU1Y1M0h8bj8pMEF2Z2VTTXFsNEg7PT9jckQxTUVQKlNSKnJUdXVzfT1VaCFDWCUKK3pWX3Mj bTxyQEtxVj9TWSNOKnxnVEV3YnAtOWVKSXBhSjgpRFFgLTNUK2h0UHk4dH50KXNESVo8ZFllQHs2 Uyt+egoreio7MjlrQT4yeT16RWUyK3tkOSN1aU17VkFXKUZpJmkzJWdjbD19dFFlMm1yPW81YSt2 QklXTmVlT354TTwoZkU/Cit6JFZzcV49NT90akYmUVhuTXZHTjFXdCpGOVhDV28qVEgxa0F5XnlR OGpAY2Z8a1c3WXRXbCEmc1FGeD5zSUVVcVkKK3prbkU3cjQ3Nj0mXn1PTDI4ZnoyQk9lMDRlJXRH bzBZamArSStqKWhVRlZuIzchaGIkPmVUaEl5PXhPejJWJUlKNQorekRBcThQYGlwJm5sPSU3bHw5 RF8lfEgwXzZHOyVkRnUoQUZoY3VSXyhlVWtyaF84NU13XlojaFh7QkxeeU89cm18Cit6cTM8NkNk aG9TMzZjRT1TMTxiV0plaEE9WlVUPnxvR2Q3cSYrKH0+Kkg2e2ArOF4rVUJLXz5IMExfUzA8WiFH NlAKK3p0VVYkeE0xQElnRWhjaDJVTjZAaEI1cnIwPDU0MH4rMnpyKGFESShTKD5TSl9RTUxxUmB6 QXtJPTg+e245ajdHKgoremIrbTU5UHZJYWVzVHtleis3QkVUVWc4JmczQnxUYF5zQUA7YnRvRlVG RTRuI3UzJTVmWnl6OzdIcHFHbUd3XjNgCit6LUVpV2JLNkY4aiNVfVZmRSN6Q2YmOVcybnF9WVp+ MXNkKzRPajZMJFJNOE8qc2w0S0BrODY4PDVjS3w7e3N5X28KK3pIUCN6VyhxUEFZS3FON2w1VGZI WnJWZS1MS2NUaG9wNDVkbVI8PyRybzFvX0Fid0x1OGQ8S3oqYzRpRztDWnVsMQoreiFVJnZATWhf fXkpQ1p5S1IlNiRQQmc8bUR0ZWt6fk0rZGY+UGtpbEJURD1lP0A8NTU0UDwyOHVpYiQwIVRUI3Nt Cit6RlZvejdvWkElSkE4YWprbVJLKkpDWXE9Z19BZmhie1MpUn4qKnBmIT82b2laeThYN1ZrKFJ4 cG9DVi1rRnlzMUEKK3pwWXx7R3hRQUtyVEc4YDJyQ0hNYWtge1UxeEF1JGxnUzlSeig/WnhxMVlD UWE7VTFXQkcxKEkwU311JkUldXNEXgorej1KaUMqZGEjKHlybFchcT01RFBHWHR5dyROVD1sWHhx bjFFY0pnVzJVXitHaFAwXi0/c1JgPkc0OXZlNmxRYyNUCit6OHImWmhefVlMS1UkKHBtPz1WRjRh T2pzPlZwYEcpbnluO3duUUZkKHs7Z0dmX2psWURAPCpBM1U7ek0jezs3aU0KK3pTKEBvTj1vcCRB ezh2Nn1tQ0N5SHgrc0Z6dlp7MHV4Q0d6O0pWYjU/Zkt4MHRGfnU0b1RgKW4tUCtzRnFfezBeaAor emxpOTQjXituSkR0cHI7ekdFbnBCO2JhPDwzR0QkO3g0NHImJmBWa0pfKyheelJ8ZXBwRlExdFlQ UihBaUc4Ny1BCit6UktTa0pDfH1AcCsmPU1FYWlfb3VLcV9fdlckfmYhVmcyQWArJEF0eDRxdlhL IW5ARi1jKFQhWjNeJiR3JFlQZEcKK3pednFNOCpUMG9lWiV0MjZwdmtxSGNpfGJBJlBEUXhuNE5t JkhLKUBWYCRKb3hMTFI1WnFEXlBFakowcypvJWVYfAorelB0a0BjT3k/bjN0VClwPTRZYUxYdXlI aTZSLXptdTNgRU53Q083O0xxRThTcUVkOE0kJj90JSt6KEEhZl4pTHtxCit6VHpWayVJbnkyUStx MkImYk5FdyRObFhqQkJ8JHg4aXZXWF5fSzNFOFdwT0NFY3tNVWRNbSgxVUpTaFdNJk0lblMKK3o/ XmAhY2xCV3gkNHMpTDExYEZVUFU+RCs1MU45OFNub0o9byt1aURNKWlnb1g8QyZQVVQ7TUFCQWdN dkBGVCE5VQoremZ3WTgzVX5rT0godCk3Y1BrVExHcjlsNW1HcEUqJjhRbHc3P1JAMk4pcUFwQzNB aStodUxufHhfVmcjKTlqVTNjCit6S1N7djNOTkBNJXZPMEAwNlckPXZMYXF0MD1LQ3QjcX12KVFx QXR4VGR8alRpVyQ7PGRlbUU5azlwZlZIWUdmejYKK3oyLWFUNV41enVJUj9aOVFIfk14K3ZMen1n dTxwNmQmTWRJe1QxcyFHYV5LcFk5YWRKR3l7Ujc1TSUhITZlTXstJgorek4jKTNpTFB+NT5wZXZ6 aER9MFk4TWNAIW8+czthUitVa3tkZ29XPSpLJH1kUDRSJTd2N0lJZnZNeW5kTVpJKjwkCit6ajxG amJBMXM4QSleTDxTSlVIQWJ1MWh3eyUxRSZmODFGT2REfEhmbUZySzdfWSFOdS0/YXhtP0pASDJh NGRgK2kKK3pZMygoKHhpKztfSlN7KkJHJnFPb0JFbyhGWkQ5Knh3PXFEdDk7VnhHPFh5N3xgTEps XlMmKitNJEB3M1lLKCtIeQorekJBalBjK0RzNXk2Ul9uajdAQV9fZnIoRFV6QXpTS3dhUmpoJnA/ U1ZTeUs5QUp9dXpVQ2JndXVzPVYoTWhlK0I+Cit6cyRxKl9SKDZVVW8kWHtiQUVefWw4ak1rVClD Y2ByKXEhbCF2dmFwUHtfM09qK1oxUG56YHEoe3A5flMmPGtreW0KK3pUQzZWUlFldS1rJGxOdjZP di1+SyUlZXFxKHlwPyU8LUFQKHl7WjUlWWxmOWwqdzxhK2sjTXB+KVMjcm9xZXZgbworenBVcSZF UjFGNXozdylASHVnKnIoQ0hkdkM0VkJ7VTF2e0A2NH12RjswJjw8VEEhO2w3VnhpVk00dDJOenRF M2FKCit6PFlQfXU9ITVuVXk/QVhkZChzdXBxJSlmJndtVkAmSUcmZENsdCtUXjg1dVFNcGtvSTlC Q15yLSNFV2NEUX02KXcKK3psQ1dwKXZVc0Q7VHRhSEIlT0tue28wVis4QHZCRSZeTGUjM3BCPUh3 TH42SW0kSnVKUVhrfjFpLWgyaEdPaGkxQAorenhZMEdwODhDM210LV5he2IzfmYreUlfJSVlNChL IUMhQlE/SlB5Tio9bVZ6Y2JwTDVsIylkRVFKXkZqcT8wSGY8Cit6PkN0clY4fkVTdUdUP1RQQTJ+ bTxHM2xTOWl8bjg4R0xEWStYOEtOIU0qcDNpI3ckaHVzLUdTfjxlNnY0SHZAe3QKK3paJTEkQE5l bHMhO2Q0PmZhQD9AfD40fXVtRHR0IT0ySWhOdTVfe2hmcTdoTmc7fHheT3FPajZIeSY1WEtkXlQz VworekJzM2JiWGRHWiEkI0xsQkYoRUxkT2hSOUxueF5RMktzMlR4dFZEcFVhaXJHWmk5MUlsKXxJ aV9paEtKKz89VCooCit6YyYyWU0jdVNfMHVMbklEdlUwUntmWC1GSzw8aX5vZ05VcShQckV4V2Ay Rjc5djRLdEotXiN6N2x+UG1rNkkzR3YKK3oxcHZWUHJ9RjxkVnJvcWFUfFktUSFxektGaF9uUGp0 SlNiYEtGTTBVQWV3U357bDVJcWlTMGBSN04zYzR2clYrJAorekR+cChgJGY5TyljbEZMeV5tWGNG M209MjUpeHVgYGUpJiVHUVF2X317Vn5KSUhIb28oT340dlN6Y0xGcS1KSFF0Cit6WTxXQ3ZYOFN4 Y19XQ1FtSjdDfG0/fihwKGVgZHxxe2AkPz5IN0UtWSZII3djKzh1OyV1IVQ/ZFZ1ITI2ITNyNHcK K3okcktEKSZZOFd7dFI5eWVfR3tIaU5qaGRxbUBrP0MkPlYkUDRjeWRneU4jWkNJND5afW47emBK KD1WbzZecnBqdworenF3MmMha3pMa00tKDF8ZCpZZkpxcTE5YjNfY183QjNhUVZSYXw2UG9BRFRY OyhDYXlja2tJTm1pdEVTNk1pJmYzCit6Klh4OFBOWkVgVntLVFdOd09AVUdhO15QRDNFPHRHLUI4 c0NEdFFObG49JUFuejhHPTF1djR7cj0/QU9ZSlNZe0kKK3oyd0pyekBqYTZxVj0qUVNjdHcrQCNa T3ZQKj0xeWxvZ2hTKDFnMngrcT4xV3h2bShhVHZYZTxyLVN4azxodSo3SgorejVWVk1ldlE8VkUq QTErOEhUISk2UVkjKDdJYmZkIzBMVmBQaV8kNzZXRjwtKF9yTl4tKjhtXkE3S3c3fGxyRzE+Cit6 JmxvJDFkTTQ0Jkxja0QqdktwcT9zU2oxRHNreyk0emdhRHFsWkwlb24zYyNgQUVYWWcyciVuRHw3 RjJ3PUJzYUMKK3pEXntHQjRrU1lRZktpQTwwcj9gY0F+QnhHTzlaR0xpNlU1VjFDbnVJayhFUXd7 STtXKndBfk8+PWEkNSs8NGNVVgorekZgLWRLQUMqfVZ1MDdpI3BxTGRYUzszZ1Z2XllxXmZidjAo eWZFNXFRRys8dlpoKGtFO0oxPmEld3kqZ2hTMHpxCit6TUE2eEpGMTV8KllwfWpOXiZ4Wm1rZlJa MW00Y3Z4NnxtX2plc0U0TkRZfDJ8VUBpbTJGVCRCYkhGTWZFajlZbyUKK3pxa2ZgOWVmMXJNIzQt cVRMO2xyVkdgMj5uZyo/RCpRP15YQGI1bzlzUF5DSUdaTz1OMTRkTlhqKlhDalRfWFgqVworelch RT1aZU0yKWk4QHVWMXwwblhjfDVLdW9yWTU2ZGZDflQrPyojQk8jMUlGLSUtWSQ7IWllcikoLTAx M3VLenBPCit6X1YlOV9ZRT1IUU4/MiEmfDAmZSlPUiQodyRpS08kWXJzPVRUWmwzX1EwdXNOal87 S0glUWNpUVphTjRmTEo3am8KK3pHYHsleGR+T1h1ezhGQkJ0MjlwTmRqJWRQPlFWcTFGVyQ1TE8r NyVLTlB1cGNSKExAWGJwRGU0RCQkIyE8clpKMAorelBPWE8ydXdKRnJId301ZT1pN0R1e05BLWk8 KHpIVlowNmIlWkBCfSVJK29GNTxMJkY/WkhWWGs1eiskWjdhXjQkCit6UEpHbmBiZiVlSUVrcSNi M2tqLXVuQEhEdSFUWUVgN0ojVChvWWBQRl9LfXBiYiZyPzs+RFhrMXk9TzhlPSZsITsKK3o/fW9v JjN+a0YjcjN5ZUNVKnZoR0FSRiV7TmJHJEFOQz1JQHIrS2dEal52PmdqMkxOJHViVE8ybDN1YDlY YnA1Rgorejt0UmZ+VXR3a19NLWEmbDN+Tmc7S08+ZmlpMH4/cG1XeHgmMGt4Y1cxLXZTTzMkejJr aiFYfWk9c2RWMmZrMW5rCit6R1FZI1JOKGVQJUtJbzZvaG5eTkY+NmdTQzY5K3dmbXFVLXxGR2h9 fnk4fDtEM0puPHNefWQ+YFUhOz1Nbl9pK14KK3pQYTh1am9SK01QQ0RmQUg+Sk9xTSo3ZW9yNn47 MUpFMWdnN3JvZjUtUDdwMmlBdzE2KHFHQSlyWkkyYjd7PV49SworelVsJEwydGdrM3RYTl5RZjdy eD9lRih0NV5ZZns1cGokKHY+YmI8ZHMqZXMhTioydCtMMjY8flhZMFFScXRuO19uCit6ZkhrZGR7 ZEI1XzZuITZoaTchSy1qWmFeUF5qP25iQTlFezxPX3VNc1NFdDBCb2o8d1dqfVBBVDJad3QkV2so dD8KK3pKSk50dzQkaHdKOEgzbHg5JHljU0JnUChVRWBWKmR3PGxLKjU2bF9DUzYqU0ElS0F3Nkc1 aH5TbF5vfmZ4PDJYSQoremJFSkxxMCtxJWp5dDM/aGNjI0BkSWVWflgkXkdUaSQoQzhZSlUrZGd2 VjxZajA9UmlSYy11I0whXzxrWUlmaT9ICit6Y0MhNFNCZD1YOGBLaChQZlNMS3JKQWhHNFBRdW1H X1VYbT5gWiVCSSkheD5MQSNAblJBbngrQ1loVEcza2VCc0MKK3p1M0dlQkA4YXhZblphJW8wNF5F PEdBWig2cUolKzNLZ1otfGBfPEZsQXU1MlFyIThBOWtLTW1jX0wkPjdXejNSVworei0oLUZhWDdU T15oYkwlMmNuRH0zd2ghUj1RRWZNT1pvJmJXU25aMSZgI0FQTy1fc2U9bCp2IzluQl9wV3JiVzhY Cit6QFErS3s4MS1UR0xfZG9Ma1hvaVZwKUlePmtfWFM5cDI/cERscHZOQ2ZydStzaXR9WX5YT3hn cHg0Yjg5K3E5aU0KK3paPnZ1NkxvUyhGciNONXNNfCplNnRONX1JbndeJUlkKUltRWVTKX51RWVP QV54X15xZzJpcWZ2Slp7KlRwdzltZAoreiNqSHRoTX45a2U9Nj5eWmh9OGNKaSp2MVl6VEApfjFm UVJBZ2deTH1AJThOfUl4RCojKzA9Vl4+ak4laG8yfmlWCit6KFNGMzYhempSbz0qYiZgUWotej92 dXREc2VuN19hSXZ5LW13VjA/Sm8mYWs1cDRyQj8tdSM5cnc5Smo9dEs1QW8KK3poZVZrUXJDYyt4 RjIhMnJRbENuR1YjVV8hWTJFVVU/KzVhOSU+ISokcipuajs1NCVYaSl4VjxMY28mUXVIek5NVQor emRqKV5ySCY3fHpCR1hfVmhjPCt6dGJ1KmRzYW43dUMrNXNtMD8zOT91ME9MSEgmbWV2MT4rNjts ZG5eKGhFTTVrCit6ZjFCekZ6RGQtNUhsWU8tO31nYHcxIXpXcm9rS1lmNUBTSTNDaShNJiQ+WjYx KUxZamtES0pPQDx3VXFVeEhYO3MKK3pfYTktTGZgezx7Z3ZkOWtXTUJvcl9aVVVSPyMqQH14PDRH JD9abFYwK2hDQk8/eT5BUGVMY1EoZVYyckFPV2VNUAoreiMlNThZQTRORXhqSyYmRW8kQUh3ajVO TTUtcTxpOVpYYFpXdWNHelh3U1AkfURmZ0xXPGBeZmFXQGd9WF5BcndjCit6YVRneThZcm5wez1f LTRBRHMofSleP1VxKTZLRmZ9WjMkZDNiT1NOPChER1AtSUh1S3ElVFVvdiQ9NS1BViRLczEKK3o0 PyZISHBnPHdzU29BNmIqYzBINjY3cSgydkN6JHNRTD5qYyQxUVBJNTRPVVRZYUchS3UqIW88bXhD Q2x4dHc5eQorenNfczVqbUohdHVmIXZ+RVUtU1BtTGMxekBVVmllMj1CcnU+c2ZRa0lEYGJzQ1kj MUVrdDh9YnwzbDhPRC1SN1pOCit6MFlMQXhHcTRrc09jRnVEZyhjNztDIUhuMmdQfTI8c1VlT043 MnpZQVZraG5pI1krSWNwPGhOX050dzQhUEhwRzYKK3oyS3NoOGlLT21gIUFCMHJna0ZMPDt2djw7 cj1NQ1o3cD9hZ1dnK2xYeztrazBgXnpDOHp6Tk0tKlV5Z2YzazdxdworejRAQWsoekRpKUJiNkAl bHJuWmxWd2IjbGw+UFg9ZktjfDshYmt2ezlOTiZqUkRwZSNrNXlKaXxsYGwpMSUrNUBLCit6TnNT ZDh0cldAWTxiZUU4Vjh0UnI4R04rVjdObGtiKj5adUBLczZ6fVNGJGRPJnh5VFYxWSkyVCVwOWYr WHsyJEYKK3pAfl9HN1ZBUEpHKXJxN2FQLXV5SlhTSiZXYmZjQU9LZEA+JDZUeHkhKlZ6ZzJJPUJp Mk1YU3w2a0Nxam52WiRzKAorej4pUUB5QGlkalYzNik/T0JUUm81bnlzKWR7c3ohaihVR3hCWVVU N2l2NDkoJStsS3c9ZDtBbDA8JCpzKWd7bnRpCit6KDJ1bW1RK2w7Km5xT15fRFlsYEVEbj42IUYz I0tsOFVfdDApTjdAUUxhIT9+QThZTChiWkVkTHA3PmFPVmNPUjQKK3o+JV90bz83LSM+JGY2ZVNq I29KY0p0Sz9aYG8re3xGcV9NM1puMW0kR0RVbmJ1LWRvO19FK2QrPlV2bHRqX0BLcgoreiNNZmVo MEMzNF5JV0cpd21Ed3tLcWZFZ1RQaXwodU9vZyhXT0s/NStTMGZtY1ArMz4rVXwhU1ZhZGZ6ZG57 LTt4Cit6dj97O3pgQj43cGZHWjBvSjt5TW5DTktmRGx6b3hTM19aNVE8V3hGRDR6NDRpMDJmZn5e SWxmaFVvTTs9VlgzK14KK3peaTt5PUc4RWQkbWk9YFg4YCV9Y05NSyojQy1VMUpCPHVKaHlIIXdZ cDJ8RTI9XiNqMHJkdjtvQG1GfihLb0xhaAorenM9VkFOWUErcSg0I0BEVUtmSmxEQnwtQTBQM15k dGF6VytOX1h1UWliPUpmNWNSay1Ha0hKNGF4Plh8d3Y7S0JwCit6bHRHfCl7fjV3U2NHPHtHJH5e T21kRChQTFEwYUM8X2s0JkNFWnFqVGVvUWlkWUdvMSNXOG92cUx2NDBBdWRRfioKK3pKNFBJZkc3 KDtEM2VTfiRpeEheV29IQnslaj02RVdNUXN5R3oxUEUjOGY9eTlgUFd6ckVhYWNGQWIrTXFxWHE3 aAorejFUa2BoNVlKemVCKGxUPHZYS3F6bHVoeGRoOCYqNmpuayhDcERnWnk7SmB3dSEqdj1oRnlM X1lpQjA3UTwlKGNaCit6dVMyMWc5UGxDLWA/OSZ5OzBHdXd6Y2t3RGx4dUhuNnA+VjdqKVlHclhe dUloY049NjM3T2ZUSnJOJGZ0Y2RmYTwKK3pgI1A+dTBnKlh4Wk9aOGwpQlJSTSV6Y29AZlNERUBX QVh7SV9JTipgVzlfUCspZCt4VWtrPE1AdHB4ZHs2KnN6MworenY5Rmo9OCRwQUhHU3gjeVQ+ZzUx RGNEQ2dVaSZtIWRzX2lNOztVd2xIcTBsaDdjOVc/cGV3TFZrako2MERSVndECit6UkpqKz1QMzVT az9qYHVuczhFKl4+eVckWkxhITZ4dTV0SylNOGx7QVJOWm12Yl5JfCU+fUFYa0JiTV5ZOGt7I3AK K3pra3V1PjZWX2ZuWituR3VVRiFAXi0mb1F4QUlsfCt1TDtXWCl8e1lMaU1RQjQxRXJQWkNgKCh9 UV8oVFlNcDhudAorenpBUzwjJnM0I0JTV2NacGF2K0poZH1tclMlaD1INilUUnVDe0t7Qns1c1Vo bXAhZUBYPlJSPDU+TCgwdnpjRHJeCit6SCtAaGhUYmN2QHReIVBrTXdSU1hAeTh2YGtTXkRScXNl Rm90Xjx8bkI0YUMyTTZXV1AoYiloMXVQY2wpeHdMOXUKK3pFUUd1JTBSXmdAX0pOOGVNO3opWVhR aVU7U1ZmPXU3K1REYTsoT2ZsPW9TaUA9Nz8pSTRjSj0oU15fQWBxPUd7QworekB7K3NIPyZvQWRW ODNsQzA4aVRuJD4zdSUtQUFiaTw/SFk8NGtMYiZmblp4QHUyRzlZRkUweVBjZ19pP1lPP2kyCit6 PEwtaitzJUwqK2xna2dDWmBROVU3NTliPXRKWSYjX05iP1BnPmpIeTM7MkErI19IR0Vne3pxWGQ2 fGRYLUJWIyMKK3otTUB5d3sqbEFmOzJid085X0w5cyF9T0NfSk5PeWZiNE11ZERzI04wZH1GZTl3 T0ZnZHYlJUBNSiZhYlphYFJveQorempaSkh4P3RAKXpRVFBnTSl4RkU8a24tQD90N0RURXNqMHUz TTRPKW90c0JIRW9fMENOQWRvdXxPNkA4fHgoaHg7Cit6NWxtKyNlRldOKSk0PzdTVzBfbD58RzRI VHtUJnQ9bkhlYT4oY2IqVyomUW4jOyhNYHxlJlVUaDFQP30tNnA8PjgKK3pPczN+JFArU0xgLWxD MylGNFlYQSEwIz54bU5xUCUjZnJFTWljeSFIVlRsYk9TUHA0eV9iQFh0QFIhZ143O2RebgorejFi b0N4ZmNfRiFxZz9uUkVGaSpzUXZBWUM9QTctbnU1WUVxUm9YKUgxV0kqfmB5YX5eWD9aR2ooMFpi NkNUUyZRCit6KjY3aGIqbCtPV1NxLSNvWFhSbkwofiV+Xl91RyFNIXRyLTk8KEVpdyprOzBlZTZ8 ISZ0N1k2ND1uTFY8RHVYQVgKK3pzQ1J3fTFqSEhWNkw1QGQ1TUFWWHNWO0Zrcj50VHZQSWRiaCtA T1BFPGNvVUw+OXBqI0M5Tn17ISZAZnBtWCh7bQorek5oaDN1VzMqN0dpQ0dKV1JJXlRpPEZRRTVa RXAtMFlVXlZwYyVmUn43X3tXaGM3MTBlSDlIVjJhWWd4azxkaj97Cit6Pn5KVy0tSj5SS1NJcWRh Xz51fWZOeU1DejZDbjxqOUJlRjJvNjF0TzVlK3tXOSQ0R3ZsKlJ7ez05NCYxUElgOUUKK3o9SEdk aWBGRmJfcVYzWjlSKmB1M1JJc3MpbD4pJnxRJGZCU2VJb2YpJEM2MlcjM1VCPXJSXmNnUDFkaSFv M0VXVworekZCX2shcXd1NTQ0elk1bHRlN3N6PUE3I2xeSlp8JlZYeXJVVHgrJT0mQiRSMkRPLWVg e2hYU2UjTTRNNGd3ZSglCit6aSVMTm9FSFl9ZG0qdn1Vc35TYT1QZTI3eCtaRThLPXFNKlBZKmJV YCpZRVo3PUp8JmRUdGNvWkttazNWX1ZMfTIKK3o4V0JOVmooSTFaS2RJPHVjUkhsSmE9bCZWUjY3 Sjh0SFE2UnZfKWhqY2poUz9EKER7N3VIMVJ2RzQpXi1kclM8bworeiRJOyZEJnJVMTZkdmFhSEhN YiZfOzd2MUppMC1aTU40OGN+YWxETHhTXzNrazg4M0Z2TnpkJEpOVz96Rk5VZj1xCit6JilzPCpK cjVmQGxhdzBUemlPQU0oVk1YUC1ofEZpTnFOUzklZHpCK0hUfTZ0P1Y/PDNXfTZOZWhsYHhuYn14 Y14KK3orT0Vve19MaSpTSCQ3ZyNNWSh1KTcoRjw9eV52aHQ4PEtKQEZpNzxTdi1WY0Z7dGBkcGk+ SyN9VW83VEpSTHlPVgorekloZmlAZEJffFJkKE9LNEpkcFNEVlJiPF4rT3lyRj1CLXpwYTx5IXMq aWhSeWUlaEBwe0w/QlMoSVIjP3pMNS1uCit6STRLRmV6aCFgbXVyTCNfPG5HMTJRaV8wbyMzPWJ1 dTxGO1ppSEZKKXkxRGVjeUZ0O05oUUBwS1B9KkBQeHJTTFgKK3pGPTJqOEk5RUdeMkNZWUNhekQz MXA7fXx+eD9WU1ZJbSNYS05VZUlASzRuKF4kS3MqR1ZXPGVeQSl+NjVHS1okQgorelJqS0phe04y citnTytUSkViRnk/REJPZDE8U3UqUTZWfjtOVGYmJj9leFo4eSsjJTdwIXxLPGl4M2c1SSplWj5r Cit6Xk97d0lSPiljdlljZ3ZHT0AoWDk9RnpqRDM8QjNCPm1mcFI7RD5RPyNxREA9MT1Wd2xfS3At UXc+MnlPeXZSOGQKK3p1bFJTdHMwaEg4e3MwJkxPYE8wRDVgZ0RTTTFsdjxMRFclQzBBOHNxJXJM e3B2ekdQVGZ4NjhRLVo7PFYpSld0PAoremFIMkVmLVpgdWxxOUhpUWExTTAkMU85cismJHl6OWZS b1dNe3o/alhAeXdMSChoYENldnBvbGJYZEctP0p7dWlFCit6MiY8QUZUbF5MVGd6UnxjKjdrMncz PzBGP3hxRnNGP003YXhkckpidHZzYXtIXmYhfDx0dUR2ZFpJSUM3Xjk9bTcKK3orZHFMWER8ZWJP SHx6TWI1SXRHSD0/LShjS21lWENicTJvflUjRUZ8aElCJTJJZn5JeWI7P0Q8R3czM2VfPj02KAor elokfURMQE5ANW91Nyp+UkZzdyhsRD1NeDU9VEM7ZG88dHk4b3ZrO0EmfihCIWhQRT8lbnZKO01q Y1V7MU9MMHswCit6b3NIfFA9NVcoVGo+WmZ1Tkh5Z2pzPG9ENFJVMX11akFKfWlFYVA5V3QtWX4m JXwkRUJwWEpPMXZXe2xtMTJ8NTMKK3pINypjY0tna2gyS2B9P2AwQThZUXJDaXNVUntndUMmQH4q SllNOThNaGBJekF1NUNsbTBPNm0oNExvdC08ZD5lVAorelZgZChsUXQwX1J5eipUazl4cGZnLUR7 UGZCSj1mcGojQ01kWH01PlljfENhS0VFcm5oNVQ2PmBmT2dwJXM5cml+Cit6WUp9empxTmNNQ28h PXw/Vm1Ia0U1N1NJVCl7UjF8d3Q0K1F2cjBBK0dUbTZEM1JFd0xoVlEzbFMrI0IrZiVzPG4KK3pv XlBmcz9tIW99WSYzfXdDQTIrTGczX0N7ckVTKm03SU5NVnlxbX4hUj5LNSV5UF99MClHT1Y/UlhJ TWtDZnoqbworenVrYGJ1Syp7QjN7MmVfPiVlUDByLV9xSCZWXiVEJSp0QWRkTn5LNnB7LUQzcVQq RU94SVJrSWNteVc1fnY2dDZ+Cit6SiUlPVV7dFFPa3phX1QjRmZPMiVHfC1Oa0V7cWN2Z1l1dkVu anQkZWNQaGpBTVBHIXIyI1peIWE5I1I5Nlo8T04KK3p3UDEwfV5FY1hOLVhhSDg0X35vc3hBSll5 c3ByPit2UWtAdjAzVm9AKE8wO3cqb0JRKiZTJXRZc2hINDAkWSlWUworejFsfn5WaSMxI0o9LXlu P2BCTjF1R3Zpe2c+UGooSTc/TlQ+XjxudVJiYkR0SktPTWhQPDV0UVJRMWNQTlFmRWNWCit6YDM8 cUx7c2B0VVQ2fmUpQV9YXnktRWBVdlEyLWcmUmFTdEc0UUJ0JjhQLTRya3FMfG9NJXZYajlAanBp WnU7RmwKK3omMUtnWUk0X0hMWTdoNmY4b2o1PVM1PDRwQmFGY01Vb2U4Rl8+O09UMTkkKmNfTiRD OSs5KzwmWjwwJHwmSlEtPworekh4Yk0zQmlmeX5KQjluS3dkKjRiSkFsaFk4ez88WVF7YXlyN1Nk dlc1I1NuWT03cWdwNGM1ekVnKClNQENENmRECit6SVhEYitzbV8yLXoqdHMhWHtAVUU3UHRNZiZI fThmT0c3UjY1Y09FUFBHIyYpMCVTaEs3ZCE/P2hqPU1TZjBOaUcKK3ptO0teXzYzY0xzPT84bm9E azxQeEBLNjR0ZkZyQF49Nyolb0R3VFZUNk9zZClZTSlnY0lPU2E3UGA0Vlc8NVc9dgorenpVU2Vh T0Z5aCNIWG5PXld0TCZtdHhgakheZl4/Pkl4V2AzJXZLZjRAakFOP1kmTz1uTjdAbjBDQFJXQ2k0 YGchCit6STYtYllkQUd5UXYpUTwtV29jfTR0VGpMV1RfNmxNP31ze3d3UitMM2FgQDh7NSYjUTkk Km5TS2FtKngpeDwhYzgKK3orK2R6dzRCO3pxP3FAUnUhMXctandPZEI5MXRgME5mR0RyXzZsdnYx SzVGZVB2bE5JaDdoJXU9ZlRFMS1nOTZvLQorenAoRFRnNWt1aDl1ZWFLKyRRcG5LQyslZjxza3Za fGFRUlRhZDR5bEtqIy1MJUc2ODd5VG99dGFyIU5iYWZpej9fCit6SnR9fmx6ZiQkZVpwdyskIWgt IVM4PVN7KERybGIkT2lEcn5raipgZTg4azRwdz9JOGdKeHptOHIofml4aSRQdXMKK3pkWF82b3g1 QGJlUlR4enV5eWpPcChoTUN6KyFTRGllZ3JWY1JQeF5JckpzNT1UJDA4S15JZGBUU3pRcH1QT0pm ZworendaeWt1biRpI0U8KjdzZHdPaSNpcFVoKGE4I0tHNXI5VGt4c3xkPTBHRXx5TEN1PHlTX3pv bG5STFNIKnBvKnk9Cit6TjhtZEp7eGRJdFpLMXRuKUwxQVBkOGNVI3lvNFdvZ1k3TThsWU04fUBn IUZVb0xSaF8rOzxJT3Ite1pXXzRrLSgKK3pWO0QtOWYja3ZpQWNzckBaUnJDQkpldVNvTWBmWT9o c2x2aER4dkRSNV4yP1Q1SDBUViVUeDVIPWxHVX00R1BzMworemc7eHtyO3F5bHVLcURwRkN6ZT1I YSVuYTlYLShfamdOWXZgaFNnY14maitnOCM/ezhzSj1GTDNMVWA/Uk10SlVUCit6V3B9JEJreXpi MiZ7U1hGTiVOK0dnTk5OSDtOM3pgV0goO0Mha1h7VD50Jil+SzNoTDw2alE3ZT08VzU/JVpMcmgK K3pNVWg0N3heaiR3PThuRjYwZUBvSCteX1F0RS1zV35RZyRgTjJ9RWVrbUhOWnc4Kjg8T3Y1JFIy UGp3aSUwbygoZgorejhxT0VIN2xeaXk9RVk9fmg1RjVZNiZhKHxwQ288cTZBKk8qJm1gNyF7VUct ZWpjOTV+ZWwyeD1GUGMxMWRXKj9JCit6dzJvb1krR0RWazV5YWJNKm1kV0ZjNC1obyU+I141dzIo cH0zaz9qb0B8QStsbDVOYkBXZEYrSWBveD5yV3VHPzQKK3ozKUF6VF5IJEVMNUNkS2h1dUNGOCs7 MnRNMz5NKEZTKmYrcUZfRDImby0+QHo7ZUAoTExecGRUajN1PWxVV2plJAorejlTcmFyNmtSOHJY ZjArZDM8QHlyaV4zaHUoSTYpPDZAaklTS3IqWnN7PnZsWnp4MH51KXg2UERRQWolSTxLUVdnCit6 ZWlSOD54R35Za1lVbWs1KE8hJWF0PDBmUVNaYypARmNmTX53KEUpR3p+fEN2Y2Y/Vik8KWN8ZVpB SWtyZGFBX00KK3o/LVlqWlVBPXp4czlAKz89Q3JJQWBNNUoybTFxbFZYWnYzTzN3fU0pV350ZF88 Y3ROe2hvaXc7QkVlbDNRZDRHUworelo2eUpNXkx5YzkxVWNtZXYyd3dERURzXkp2eyRLYyUpaGlk Q15nXjVEcHk3Uns2VE15UXl3PWJZdH5pcWsybDUhCit6e1g3KTB6blpQUDFvWGdQQCtAdWZWLWE9 K2dVTFVzeFFyKXw0S3Q9Vmc/KDNqWXl3Y1dYWGtke0ooQTt0WHAzc3kKK3pCWD8kXmNObUBhX0st OF8kenRiQSM8NlB5bHQtOz9rWUlKfWgyYUdkeHJEfGZQTk5wViRHMmcyTE4lRy07KEY8aworeit6 SUdTJl5FRkZwQjQmP0hTKiNLN0E4OVhlSTg3ZDk0QWFOMVhWQTU2RTNyJEU+RigkPnU9eVFVfUN7 TzxteT4/Cit6TXg9T0Y3YGtLJDx3OT9+RGRiZ3Z1RiEmcDQyRkpiYytLdVFNPjYpdnNBMGJ8aUdN bnVkb35kQGspWWpNSWNyTzEKK3pJPXxHd3ZmRUdGX29uTGlhPEYkc2BSJk5ZaUNUVVB2IUZUdns+ JTRMYnVwVlljSWVoOFJWWFp3TTZkSmd1byhnZAoreiVNUiQ3dy0oZlo/M3xEUyM5Zz1yXnBaS35t P2ooZitjd3dydHh6R2Nqbn5QcWl6Wj5Ya2J6eFdAI3Qta3tZeERsCit6Uk1Ae2VscGJGWCRVN2sp NldURkphQG9ARDtFSzhIempjd1Zwbj9VJTtmTlNlZHFaPkpmNztZRDNsQXxWJFJ3VCsKK3okRSk1 YCVWTE9yZGtfSzN4YGNjb2lidnxBd3Faai1aKkBjTEVUYEtxSTg2Q348fi1ubD5afnxXeSFyZTxl RTswbworenpXSFpNNWYhZ0hUdUpnKm4tQXV5a2lnTCp5cDxQQF91PWFpV2BSIz97USR4QmQ4fn1a Mj8wOHtiRztFS0VTMjtwCit6R0w4aGtCS2ZzWFRhYHFGI0xnYjRwJEtXSyVKX0VYJn5gSU54YU95 d3p2YyNOLX4+RWtpfkJFN2xqUEFldHJuamQKK3o3Z0plR203WCtxJUcqISQqNnhoKkRAbjFUd2Ez WHtoS29zZD0yUm11TWlTMFhMTkx7N08mYTdPVmNfdjF2RFRhNQorej1IUSprV3YmR35HPGF2UEMl TjM1ZW1qdUJyTzROPGlseGsyZDdXSTNSTTJLaXhNN1h2bUZrKGNpJEQ/Xm1nPD5wCit6fDYrKk8m c0x8MG9yYkYtWWghTk5ILV4mUkpkbnYxSWlFaHQ4bnl4Nz9WMTlNSVZfYEU7fmtudFYtS3BJRjJC UDEKK3psTVRRQXZ8WTJUcyt6TD02UURnPiZoWmg3UHN5LUQ9KnkjdCVRaHtaOD56cnMjLXBfWFlV PmQ3MUxFbHhTUTktNAorem92dittb0hBMTJ0RVI9SyhhZW1hZDN1anJGQ2RMQVBjR2BzRn16bXt6 SG08RlZnPi1lQUV6RS0hP2I9QTUme1QtCit6VSs7NzlYY0pXfXtAcT52ZGBWc0NWP3N9YVRsQFdN eX1nK2g+JlRlQlY4U3NYKTxaZHwtUztpalglaUxSR3pkZDIKK3pJa3t4fDYjODhJb1g8IW8me0ZC aWU3VHNjLVlncX5kci0wRDd4X3IqYENWKkEmNUM2bTtEY2M9JDJPKlU5cX0rKgoremE0V2R5X2BS ZHpHYU1nSVpIfTtGSmVkKmVhZTkxbFNrJilzVH59ZT5oflhybk9IOCUkMU5uVj8kVHFuYlYpYiVu Cit6JkdNZV91elVAfDs4eis5d3hfYSVqNHFEa1U8a0tFXjhfYmN5d1RxU2B4N2YocysoaVJmISYj JXdgXkJieDx4QHsKK3pnbEFvQ2dBUnZnZEdYeEc1IWBiNkl1UylXWEk2UFA0eiZJaiZyQ2ZaaDtw PTxYN3o0KnAjbXs0MjRIdl9fYl5QUworejdLVnhod2Z1WEF2NXtWNzVeWkdhTm5CbDc2ajxidW4y SlBOJFJKSVBgTmVSJWEmcWkqcSRVODc7aSg3V3VoPWJUCit6JEgzdylad09TLUp+aEJyeUlNJHVe fSZRbUFxQkRYMk5Ne0Nyfng5S21xUWMpcVY/TiVhVnNNP3N9emp4PkBiSE8KK3peOERiTyhjPH5a O0tnPm94SnB0UGs2ZkJ+bUlieWBsRjhncW5HblZPKClldXxDMSE0JHQ5c2Y4QHcqKkppIV5pcgor ekc5Zz8rbz1HfEJyN1ZUUT49Wn0qTkZDcX4kdD1nSyNONngqUTVLMyNgSVM2WFpgNGx9V0xpWEtP JGFKYHU4UjdMCit6KiZvJjxuanwqVklMWm9GJkdXU0pOKUYkNFlpJm9TTG0ycDtyXlApTD0zb1pm JHxFK2QpRGdhKUMtVlMyREVzMyMKK3o3ZkNgIUY0P1hWIzJxQmcxYGxYS0k7UlNuU0RnVUxfdzBo TG9NfTc4UXxFY3I0VypldWFyamFeWDhLdSlzJXQ+YAorekBBSTV1RUZxWX5XJnBzNGhFNypRKnJ5 VyE2ZyNUWkNnTGg0czZiNlVPRUo1OUtFSnFAYmQ2TioycUp3Y1NSdG0qCit6OXlZbjA/NWVgJTZ7 fUMtYSFxVnFFKlNENSFuLXBebi0pV3BDeUplQ3lFTlQhekJgdmlUSDF+PV5UKzBvUT0yPT4KK3pw cnN8cUMwQCU7RDJGUk02PEUzRGpmKkNpeTVCNUZWKnNlRjdVfGhsZVV3RlMqUjFJdFR8VVI3Zz1a bkVKVFAqQworem0kVj5lVmQ+P01OVSFYQUAwIzVwb2VjRTtJPCthQk12KTZqO1JTSTxOa2AkIUJ5 Pz8/UUR7NmN6SEY2JjcyeDB6Cit6QSlmRGVvRShvJSNFZ3JUXj9BPWAkK35Yfihva19CcGAzS3tE VmA2OTh0dE5HMlRnZDEzdChvZzVeVUA5fDMxMT8KK3pjezVafC16cFJrb2VRVFlLUk9SZiZfMUZu eHZuaVZucHZGYytUelk3MUxXRD5GeDJ3YmdCK2ZnTX1nS0BvfEhnQworek5Kd2NIZnxLMSk8JnYw UGMhUDF4USpLMHk3MSU3SiU1aDUmPXE9XiZ5JlNxd1BtSzl1M0J3OUxXelpPTzheTThGCit6SWl9 UGUzYU8kQTJNZFZ5ajhPKFF5ZTBWe2t8ZG9CN0ttVnNGWDtFI3NGY2tJUSZsPShkPDJ8VzlxYWk9 eHgjPG0KK3pmQSR7fXdyKVJqMH5yNFlISCtIRUQ4XipxMDA4dSkwMDRPWkFeclFtc1FxVVppfDlZ dTtENlVyYmdBKXcrQWREQAorekVfKWRlOXUhYisydXYwNlAzSiYxd1ppY2NPdkFKcnEkRnIxRXs4 dUt2b0x2eUNHUlhjd3M0VH1tWEo3dj83UCFtCit6KiRaOWptej40fG16cz8wSDxzNHdqfXN0Uyo0 fFc8aW1qYURVR25RY2hzJFhMUGIoX1koRkxFMEJaQGJpdkJ9aCgKK3okcnxJRmw4aHxKcz1jKjNK PjZLKylWa2k/YGdlcFJVIXptWDd5Rio1SjVybnpEQkFqWT1SUWxaODR6e3M+elhjTAoreiRHU3g7 eXRsfXt1fmtLLU5yVGp3NjdKMi1FNzNZTDgoSkUjaXImKlg5ITtqUlhQO1JoODJeNWBLVkghfCso b0tfCit6dUFqQT0rNihMfSl3a2N5Jj47UFo4SlV5WUluSSNSWCstQ0gjeDRzKSpFenRCK2NzdzJh JEZrVUYoQ2AwXnh1ZjgKK3o2Jk1GM3FwRFVpUUtDfjdaPldqX3BzNHFwVkNsQCVlKjtoQyo1ISYw RWJhaHM8RE5JYEVHWUlVYkM4fXNrSnB4QworeitwLTNNc2c4Mk9NeyhMcHFeQyoxSyhAdyt6dn1u cmJnT0ZlWkwwdFJvWVJONCRzTTV5PFhORWAxZkhHaVhLZz8wCit6X3g8Jm9hS09fTzBSd1kxOHlR eHo9eXomPjhxVXh6Oz1yKGdFd1RDRTVsR0QoWmhoWDEzb3dMb1JpQjZyVWd0YGIKK3pqa3xqVypL dk17TnVOT2t5SlM0YnhjZ2xPUG52cSFPbH5YUDQrYG4zRTA3QVJDSWMjSyF6PCgzazdEcFlXUTYl LQorekhGfXBAUTlLNW1hNlZZQGU1MHwlKVpvTFIzVHRLU0lZLWBsNk1TY3FsZENtSyQ8Jis2Kz8q S0Ffd0RmPHNAbD5qCit6cHljbDw5X2xNbTk/PytyVVMyc1l4eGtacWhsIVFLJkhpSzdXcUJjNjdI U0RoKVNMV3p3Mz1jY25TQ30oZGl6UGkKK3paR0J5cjcrQW03ZlEpUSQpRz9gQzxNY3JaeWhmQ1hA Q3xHTSVvOUhLKSoodm4mZU1sST9zPTdUY1g9ZTtFeyFnMworekE/R3RAR0xTVUgyYlRrK3VLaTly JnxZNnFjM3BKKDAzVGVraVM1cFU0cnVKZS1xezUpRVhZSTBQJSVkU2wySXRQCit6N1NYTmN0Xz5o KlJ+dGRieGJeRHcmZ0t5emgwbnhPejFGTn1sYFZhX0AyKjJkS28kMEdQRS10Nj53R3d9bkN3bGMK K3pqQWB7Uj45QGglNH5vajhifEhFbVVWfTIhalc4Wj9ycEJ6fGYwXmxPPmpwaVZlaj9OdEQ7OWNK RSU7VVkmZVl5TgorelkjYForVzZuPFdfIVVZJjhuZ3o1eEpCWjlVa1g4ZEtQYigmTzZ6emF1NmJl VmYjeXM7dmlAb3VDRnc7P08lWD47Cit6JXFmc1l5aWNgdlVCWThoclF5K3Y2KmojS19+Xl4jPio9 REtea2NANj0jbnpkUExYckZMMC1HJXpeST1GR3ZVcWAKK3psZE5Pc2h+Z0pXVlNAclREZ25YXlpl e19xRSFvR2AraVg7TnxKI3lzdStJRHUtOyVmXnMmQnVOU25oZHoyZG90eAoreiFoM0toaiRZdlRP V2lqN1BIeXM7OWJvRjZ1WigtX208PDBgZD8/NUVtaDZyI09FNHo+TVAzdUgqOHVPcyZGUCFzCit6 MGNadldDaH13Xz91bE58Zlo8a0w7Nn1OMjEpMD50WiR+NSFQXjY9Q2AzZz16UEF7eEE1bkRIfnQ7 Nk5pRHRydTgKK3pnJH4xYHd+Rz5MbTxvLXdQcyhTPWswfXVKI3ZDXmVCaEReXmY2U2BldUtgTm1v QG47fkwqPEN2KzsjI3VMWDVrTworejtqUzN5clN9SjZWT1khNnlSVSo2TWJhT3FiIWFySGVAfE5E aElOOFg+d1dgaGdmVypSNU1OfF93VEImNVNXRllICit6aCQlNkBwbjFkRUolNUdTcT1oayYjPjY5 N3dEJCgydXp5RFFqQW55QWpfRXhLblJGdSYxTylLXkJrWX1gWT5UPXIKK3omOUg2VEkkXyg2NkRN cmp3ciQoQ1pRSGhPVE5QUFoqe2JxWi11NkdOd3g4Q15vXiNDRSkpLSYheStOWitYdkg9eworenZn aSgmYjQ2REBrUHw7LSF6MWEzMyhtZz53TXNiRGBNI0A8WEJofCFEPzhlNG13KiVhRyk3IShAJlJq Sm1KT3BeCit6d3RUXyVtMT9ETDE5MW9aO3R3dWp6dz8lMm4tR05FNXkhVl4kZCUyUFRwKzxUcTJV Mi1wNGklaHtLQHVnclZIMEwKK3o7NnY7aHVBXmpXbnhQSW1AU21FYTZifGdpWSM8RUVFX01pUDJq dGVGOV8mJTZOWVd5TFR6Ukl6LUU7ezYjSE8tbQorejF7anxgIXo9cmpzQWx3VTQoMilBRFhnbGxM Ym1DXnd1OVZNZHhYUFE3RE1OakF9Y2Mxb1BJPnl5S1hrIVIkSVdXCit6QGswNGExWXdKfDkxRGBi aXErdUNkMEdBQChyRnxTLTFOYzY1cE5ue3ZCRiR1ajlxci0wUkVpPCMjMnVrWClXZSsKK3pYeVMt VF5Za1NWZXFNTXMwQik2OUpCN1QqWjJTR0orUlhMaChnbVM9Oz5zISpwZ3tlS1I2NUE3UkhOMSFs UW18UQoreitBUEorSytAZXxASVA3cEBPO0k2NG85T3p6VGlufHdFTi0lMGAxX0opYkEmZDshRCg8 Zk9RJFFMbV9makowXzBpCit6TippJVo/OSRCeTk0eW41YnZ5RlJvcUswbzFJMjV2ezZuc3YkVjMh fDdCeEohem93Z3RlOH5vdyhqS1ZTZCtlYjAKK3pSZXZwKFlhJElpXjheRyF0emtyPU9mdilVPlM7 TEJ6RU88XjhNTFFNKkUhUzlCSjEhMGwkRko9JHtpO0dPVjRSPQorelEpSTRXa04hRiZNOyltPzNQ OD5OP1FkMSU+Syh6Qy1pWTJONiYzQDEzN3AxLVg9Ky01JUEqIUZkUTVmanpZb0lSCit6YSUtTUx4 UDUqQ1RCTER5dHJQISU2WDMwe2RLOG9KKl44REprczhhKUBBKCp2YnVuXktyTlIqUz4hLW8kI0Jj P28KK3ojWEpFWCZzMlVaMkc5QTUmcVQkZTcwMk8kWCVadjxnJmlfaiU1MWp6MkN0R3YwK1k2KDRL ST9fSmhjPE1YeUR0Wgorel9XMXc3dWx8U2RhaFZ0cWg1SHhyPTBOYE1AOEFDK05WYWg+dmoxTnMq OGg8Nnt2WW4mQl40YCsxNXQkVVluP2hMCit6aC1Rcn12bVJXXjs9bCtGQz99fHQlQDhGMlJxK0I8 YmhEI3M8K2l+MnBZMWpERCg5bDQ4UUpTeURxRzkzaHg9ZDQKK3pvSmg2PV9GQHNsNWtuRGM8Q303 T204RCkyI0paZjdPY2hVT3R+QTM9RCMlZjtfeVpOcVNsQT1AKmwoeHFIejc+UworejJyPUQhWVo+ b0ZjKG8rfDJnYFZyI19GJlh7cTJabV82JnFoWFZjWXw5MkopdzB6fWgxPjNeZipJNDNtZGNIQXwy Cit6cW1kUHpoZ2IzU2g4bE5SUWxCUn4pMSsmSF9YdHZrVU0weChlSEZOZjhVIWpVX3slMzVZJF9g IV98P0QzTUhhfj4KK3pvU2tybS1JK1ImYUUrWnZpNGplbnlUVlBqKjgmKDlMeFc+KTklTX1SMVNt UjJLfGI/VFd8Qmk+VVdJTX5IJkN4cgorem9WRXpDQ1ptLVlMVXFQdiE/UX4/M0woX3FAUGVxNSlH IW4+O3poUnpVfj5JTGNqMF5fTyotOXVtMDZCVjJkc35zCit6OzBARGpVVnkqd0lkNlNiQjFCV3NT aChTIUl4N0ZZYFYjbiZFVm0wYCltXnh6R0t9Xn1GdFgoelZ5d0lMQzBLSm8KK3olUTlPI0dFYCh7 NkNeNys9OTxlU016ZyMmOGg2K3RqYC03PUpDdGxeX04tVzx3KVFaJWs7eSpaczdfVGNfMmowXgor entNTnhIZ3QjKjtWc1R7X207IXhUY0pnSXdsMU1abV5hMHxBbncrUGpwfWxoa0QoZVI+PzRxNHN5 RGphe3g5YkNBCit6RlNqcklCbG0mencoX3x2TlhlPCNNVDxnM1l+eXwrJmhVc21AMmZmejJZQWVT MT44T1Y2QVVJbnYlPWZNU2soM0UKK3o2QXtAOV5hIU5eVlFRX2M/azVgaDV7Q0dQYyYzYHAyRVIk Y15CWXNxSXJGfUs9PSNodHp1NEM/JHthOU0+S1gtTAorelR9WVpab0dHbGhFO2xYPlZMJT5fem5O MyF4NygqTDhXdHlVamxXOUcrUXl1YFh4cylJcWEraHprblRgIUE9VU5FCit6YVBCO3liPXtJcm1I NEFodl9lVXdPQEE3e2wpbzdJQlVfOUdnZTVHeSopbXl8QU1iaGR5S2R4dyQtX0EzPCp0S0YKK3o1 ajc4QUEpJGUyaTZNQDc+RFRJTjdqZzM8UElHdz4heSFHYFlEMT9DcV5aTn54Q3kzMEU/bDNXPntO MVBVajFmeworejsyeDg3YTJwKFNhXyYjNXJ6VSVsa1g0OFJIJj4za0NNXjs3KVMxdjYkUk1OQEcl QUhAVS1TPGElWT0keDNWdnJWCit6cShCeCVQdlF+NytxLXBgQlpUTzxGYXNKVlkkSylKSH5iU2BV Q3Fid2wzcUZ5Q3FUK294WmNgME96KE1uZnwyRnUKK3pBeHxVN3RLdVFkLUBxUy03KFA/aG4zP1Q1 P2g3NGgheThCSj1mUFc+YTM2PWtfOG1uP3UkMndAPz5IQzNaUDhsPworekhRUGM+Si0yJV4mdG9U NihJJWFAa1BDXzJfUVElfD10VjF9dk9IOUZ5eGNBSEFgUlE9LSF8RXpfWTJ7bF5SVj5jCit6WnhR PXspaWw7Nz81d2pjMkw/YmN0amNkeFlLJFRBWDtuc1Vla3p1RSl8c0U4IzIqZDt2JWs3UTwpb3A/ ZUhsZGAKK3pjSXpfSylfO3FJV3xzNEs1O0YpN2omeHZGTyhMWkBLQGF6SkNtSGRPOE92Z1YtcmZV TlJ2UUJQS292PDhLRCEoJgoreiRWMllVRHZ0LU1KPjVuZmRhYWw0NUl1UlFeQz10JC0kY1Q1IVJx JEU5Nz4hMVpzREhAemxXMGt8SDx+QGV8e0FGCit6Tn4wVmM/VlN1OVpUezFfYmNKZ1h2b1U9NEBk WShwRXBTJDtGbTBfejt5KXZiTyhObnVPcGdGPVQyVHJrckAyKkUKK3pFU15eQXNoc2ZuR0NqJUxE aTxDPEUkWGpxPiRxc3xvWlozSCY+KGU4QlFjKlo5KUMpZUtIPypSe2o4K0tZU3BGSAorenRiezk8 fE43eCojRD5XP0wtY3dvcXFELSZfLUFAcip7TFpTPDIoSFJza25VT0dfeGcxWCpqKzVOP095JVkr fkpXCit6Tl4hdFJ5TGdJbWhGcEclT3VvVF9PdWwySV9XMDZMdHh5SmVPO35LRj10KDJfPnRKVCpF Nk97QFdOO0hxKjljdnoKK3pTS2pIJXJyOG9PbWNacSNUfDlafjNNfSNkcD1QVjxzb0ImNDl6ZWoq NXx2YSFgYDlXejU9KiVmI08tcjtydEV5QQoreks1JHtfbWJ4Xlp3IzZ4LSRBcEpvMkQpNipUNk9H UChVdzZjbD5wTnFCVSVDQW01ZGZeKns7M1FYcmN3T2wpSzV6Cit6MyZYMTtkfGdBaWZnPFE8OFAo SGgkLWN2d2xzPShiP3QhUl9aZEdiMiYta2pEP2wlRys0VkR8cld6YnBgbzFuLU4KK3p2Qi0jdzBy ME5XNU1OIXl4IW5EYkl6PXtRVz1+WEtqKVpKcUh+ak9xOCFiVWJkbUR3T19oUUFVMGFVQjgjWX5D QAoreiRVTTI0bXwodXg0WUVBIUh2cDQkWTtsY1g8JmdoZTdpQjFsZkNpO1JMZHc/LSprfEtaTnZT PnthQT98S0xwRD9kCit6OHs4WEpDYlg3fXdfS1FVXkohMExHMmcpQEJMSnhyYzxGR1BEWUMwO1F1 YyEheip+OU9ZNE1CVjUzVzhMYi1oJXgKK3pSKmVmcEhHbWZUWFJJODlZSjFOYlpmYmluPHtTWXA2 STZudVhyXiVKWkZzQ0huM0JOKzl4dl8+QFVTe0t4MG9kfgorekU+QXAqeXJNfDVaVXU4QVd0b01z N18hWWRFd3RxQj5HRDNgNiEhNWpPZVAkMUl0cEA0NXFAUGt0QE1GYSooPzdJCit6STtIO0wwQzJU QVBLcn1UQl9UfUklVzc1eXZ+ZDB6ZzxqTEZ7KkwpVk0mVmt1QCpEVV5eeX5sJUtfWHFJeGJiO14K K3o7bFR8PGlhMXZSQlplVDhOampsUCNfdDI+Iy1gcnhBYVJnSVVER3pQdV59SH5mMF5TRyV0e2pN KSticVQoWjloKQoreihtOFJ7RFJlQzYxZEYmXldqQ1N9aGt6e08tMEpPTHBHfTJYZT10ND5eezM+ KzRUbXxgLVNpaiVwenIlQUtCeyUqCit6LTgmNzw+fXdvRygxVV51bEdJSGlVISprbjdLVV91K1kw bHU2VEJYMWZ4bXlKQzxFM0lwa3pWSUxBYyMhSFc+YTgKK3ooSGY0QnM2JiowMkVoSDt5VmdLI1BF Pno5OGJWbC1AMmV1UiNiJnBwRDFhX249ZFNpLVBxMHMjIUN9IyFMU1B3TAorej93U0drbUt1VUAr dENQMFM+SzVEQUZYbURNNmlrbUFTU2lAZnNfeVheTjE+RFZGKCRIWFlnQnRzUXR8cVY4aDJNCit6 ITQkNzBNbWNuWFo5bmI1b0NfPUxKQW0mfUh3MiNqWW8/aGBSZXdURlF7VT96eHJpekBwSldBWi1T ZVhiJDw/cFQKK3o1TihqPm43cCgkQUZiTkpCITAzKVVtYiYrTk1lZGl5RFY+WFVRcDtBPVQ3ZWQ/ UHQ3Mj5lZGRHRTZMMVpFSV81XworejxTUWlFKDhaKXQ/JCg3fE84ajFNYlF8MWktPmh9X2xsUHtM IzxybnFHSyFCeyF3Z25JZHw5a2EtR35qMistcT5wCit6cWYmT154Z2BCOWwjTHFjYGlSTjMxPTQj Vk5VbjAtJDVQQSE3VD5iNGA4PF99UzMofUpyRGFPcVF1ZSsjOUUhWT8KK3o8N31aYi14KGF0VEFs OzFna3pAJUtJVX1eWjNvaHl2NjEmTlImcWleUGNlN0B0R1dYdyRvZEE0YlIraj4/JSZgbQorenFr cVVlZWZDcCRUeFFPWjxHLWx8X3tKUSEqe1ZgfXRwXm5qP2kmSzI4Q2w4RlpocDImanI3T0A9ZWlR WSVtaWxZCit6NGJSUXZxUlUlI1dzb0xBYEh6SWwxX2A1cGtken1AVW9jOD5FISFJb1leQnhUTVdo NXkwRXU4KFR6RVh+PCpgckoKK3o3NENmWD1SNVZjVVZsWWhkYG1jdHpvRHFjYz97R0omWipYaVo1 ZjJEV0dtaXs/O3IyKSZtIUdOekNTbTB1dSRgegorekdUOWdBPVZMY2liWnt0LXM9XnpzKVh2N19u V0hNenlhdUdmUSZLUG9qSn1HTGMjZmBTaCR+R1UhP0Mhc3I8WDMxCit6aWRRLUU3KmFOWW04M2V8 Nihndmx5QDlTTj1DK1ElbGp6aFltckdgSi0kUGNqYHA0bjd0aWZwKG5fVzw9OW9UYXIKK3pXLVYp WW5pdSlsWnZpRXZvaWQyfClibHV+KTFqRyM2dl9FVWojUm9SaiFiT2ZpaFZyT2ZYeU0yQVhiIXQ3 JEE7XworeiVke3QlN00mPVA3V2xVQk5EJj8laztxYz13RW5AcyY9KktlWjh4Oyo1JVhiQ2BJcTNU SXZ7KVhLUmIhRitxaXk2Cit6QkVHKEBybT1aQEVgd280YmVhe0lsVitxRmkxaVlDdkY2PTE8cSY9 PmM9RDB2citSZzEye19iVUsjYXhrYiUkc0YKK3owLV96Z3owREB2aj5QWl47UD04WUZOKS1GWVRX bjt5SWwhcXl7JVk9UTY/KlJkSzR2OEVoMmp7NGQxQ2ZDUU9nKgorejw+NyZnVmpsS1R3JTlrUyRU TyF7RWplV0NTQGxTNHVWYDdgKEJlJHEzKWhXO2Y3XzI3JU8lNVJ0YCkxNF9taHs7Cit6UiZ1VFhW KVIlOEwxKiZmQjk8MHNiOXwrdEUjWCMoOFE3RXNyO1pBRmpEPzNKbjx4UEM0JEZlZXdpOyY7MT1W NGEKK3p5SkM8b28wcSlGSz5tJTFJdmFSTW9CKkFFZWVGK1EmbVJmdTBlP01zdD1rJmZIVHBKZXdy eGkkbEImcDxIQSpAOAorejRaczMyIWA4VndhPjhNczEqcHN9a21UNGFYJjU0TD1pSDlDOXNvU2U9 Nj17cVhvblV6QnVXPzdRRHhzKHQ3SWd3Cit6XyN4O1NHWHdVRi1lVCowT3d8WHtFfjhzOFJ5ZSRa c0V0ST0tdTdFe2huKiY/JiNHP1JFU2kmS0BmaSN2O3JPQDAKK3peaWFLPDJEeXRmJDMtdnZASlok RmpII0hRMjUyQVB0NVZidGUwKVJ8aHMzU3QofE0/UFhmQ2sqYWFzT2hTNiQ2fgorelEleHwjQkhw ZjVUdHNBPlhZSUI5KVhQTH5iQi1KUShDa25Eb2g7eiUoPXclby02ZzNiUWF9YHZUK3t0JiZrZnJp Cit6czNjI01HZlhNfEB8ZldXcnx7USYjKipreD1IVHtEcDluQWpHKjtLZ1huTFQ4eE1pTF5Haj9I VEI9T0xGaj1icDQKK3o8RlMkWVokTHR+PzI/eEtlRTl2NFlrRDFOSGhQNW9xPjBad1AjKG9WJXB1 QC04Tzg5PS17YU1UaX0+IWQoODNaeQorenBHU2MtNmlAbCFaYSplOHlLZDcxVFFhSHZNWWs0KHIl LUMtOEU/VDBfa19odXV3e2hZKHNhTXtXJGEhcU1wTnF4Cit6X1VJb0xfcVhAQT0lU35IeDEqc0g9 ISokMFI0c3pmY0ImMUhzKH1kciZFKUklSmtkV1V3PklDIVRBeiRELWo/VncKK3pVSWFCY0pJV2pG Xztabn47fWNkQitLK1d8d3k+dG5sa1IpSTc1RjYoOXB3dERWQGprVXkhYklYQDQ4YGM0dUxrbQor ejVzRW9Jdy1GI0M5fSNhdTJTY2pObW5wIXVReXtnfVE/STFvOSZoMEUqeEFRZi0jcHhZaX1kVlhh OChQPVpxI35MCit6ZG5gcEEjNSt7bHc3P0xDP2d9YSF1eFF+ZENCWC1Ee1JtVnpmPW5AV2wqPSVK TFIwPkV0aGYtdlhgbiF+b1cyd2cKK3pWOyFhO3U2c2B+X24oZ19lPyYqODB3M3JGc0JsR3ZfMnYj JFMoZTlxUyNLNmcxTWNRYntxOTZAclF3OCRVKmhYdgoreisoJG99SFAhamg5ZUYqQmh3LXphXiFn Tm1xNiR2dG19ViY5IT00JDhuaDRgNTY4YWF7QjJYUS0yWUxPLUY7Tl53Cit6Jl9wSClxP0dibW52 THR5MT9YQkUwbnJyY3JuS1hrU1lVMT11KkFkKittSUg/YHI4K0t8NzB5Tk1sKX1OTlIrcT4KK3pw cyZ9bXkyWVZTKkpjV0gke3tscGxFcWNIYXJPZi1iQkR5elJUQ3dBVylvOCVudl4/WCopcVdRd2JO I1p4VlI9fQorejd+fHV6cF5wUiplNXZefXQwSXxgJjlQX3tZZTF5OVZZNEI7UV5BZ0ApY0NhYXsh PE0qdjJRUWY1bnJMZnh2XkleCit6VChxOGZfaDJYNXJAY3l8X2h3V1VZNlF5e3k3MV44QWxkOE14 I2dgPCFpSEJHaW00OXRhVEhre3wwXjwkK01hYEwKK3pgITEqMVdxTmNARno7bl9uRipvVldUTkBO XjlFfXchMkw7KDZ4VSpEV2xDNTtIWGxTaWMqaEI4PjVxQTsqSmI+Jgorejx7YFk+Pkh1aWBDdipQ MDBmNFo/Rno0O29tREslX001X1ErVjdAV1RgPH1meWh0dWJQTCU5elpqP1h0WXN3KEV4Cit6RV9D Xil3dHokMlRMWmt1PDtPbiRfUSE9PHdrRGZObCgxKk0pQCNOSUdYbmJfZXB1b0ZweVpudHxCQHEh NnVEYUgKK3pJWj97Nj9XU04rKHpQITxzWigwODIlJHhDQTVFbWMpJjIzS1RCUnJZZmhFU1NwbkVY Nm56bntwaUthWTw1WF50OQorelFrUzJMe35mYUchVlNZcGpoVzhubFNYOyRJdnhieHtWN2A1X0Zz IXhMTm1TWEQ9PihpfDNGNGdvIXFheHhBfUY3Cit6XmQ7K2xhejwwV3BuJWdNQCV6UyReZE53fUhy NkxiYGVIZjMhNW1kOWNre1NaQD5gVWJAWSFgPXtrbmZSMUNWajAKK3o1ZXY7PVpGTFBrZHFHR2kh OXtQXmphWEI3Klh2fCpycEFWfCkxQW9XVH15TlZQZVhLfSV2Q0BQUkZGKnFFfVBkdQoremJhPlE2 Z05QQFUkbVQxS0VNbEhxNXJvd0Q5dGh5OHFQeVpVb0Bgdk4rJWxFWTgybGBDVXloX3c1PG0jRHZY KlI3Cit6bC1pcVpKJWtzUGgkTTF3MD9EbXtuU2FnaXlTe1M4RTZkPXM3OGVVZzl4a0R0SD9sPTh2 JD5lOCMqXzMycUdmX3AKK3pzfUoyI2FaNThrdjkxamtIV2lHUzJUJDJecV5leEtrQUsoaHh2eTB2 Y35UPiY5UD9Gamw+cVE9SFdPTVFBNm9+TQorellUPm5ee0MoayZIWmtCOE9qfjk8UlElIWUjamhh O2ghUj4/bCR4KCVPRHgyaERRM0FzPyhWa2xQJHkxVjt2KDRGCit6eiV4Zz8/Ki1KNyZASD5uVCFn dnpzbVohVURETkAtTj0rIV5OSXRFWVc0e1FJT3h8djN3X3RnJDlfeGZQaSVISz4KK3pVPHIyI25H fE4mNUtDbU9nRXluQis+UW9VU3JucDYoaE4/NWMyLT80NjRLS0Q7UEdhY2BLPylUN2FidGI0UU9J UQorenJvPWw0XjQpcyFQXz58cTVFUzIkeFgtcmAlXzBjc3M4KHAmSk9GX042QHt4JkpEUzJeQzFB YkYoS0NtbjhxVWx2Cit6ViZKZ35mPHt2dE00R0ZqSiliNjIyKkRZcy1VUU1uNyUxSV9adTE1aHtH fCtkJShaTHNLe1l4RE4qU019bEBNJXIKK3ozdkxwQ2VHRylPYT5rQ2khQjxJKStYeVlHejxKfkJi ZElEdCE0dEBvVUpNVTUxWnY9MXRvWUNeYCNWRmVET05AfgorenJ3SSUkcWJ0MHlsWmRGT198QjZp UH5OYkR6fTs0NGxTO3ZLKlVmSDUjQzx8Qj1ZJE9zP0lqKCZATHRAdXVhd2ZfCit6bEdhSkhoS201 Zig7TU1zNDJPMU0je2RgM1VNMUYtSjUrZzMzO28xZndGaihGQX5aUXFKPXZJcl8+RlJHUDMkMCYK K3oqTGNTcz8oSFpZPntWb1Y5eH5BKFRwaXJWWns5Tn48bStfOXZsaz8hUT5XWi1acypuYHt2OXh7 WS1XIz9SbHQ2RworemY8dDsxQHJtbW53PEhFanJ3WGBYSyVLWHJnUH5WJSpBRT9Xb0V2OVg0U1pl fFgjVVBzbnk7bzxSY1VUTUFhJEUtCit6bFRKN3JTVko7Z1h0KjlqYDA0Ni1TYXh6bShIU0FAfEds byo4R2ojTk1xNU4kKT4yKFFGeUVXJjREUyhObGx7RjkKK3p4ZjFwYWsjYTdBdD8+Sy0zMFc2OSEl WmowNEJ9UFNNXk94fUtRTTViUUxiSDV3VCZjXzwyNVlySVcwZGFqM3YtXgorekpUdkZXaVJ4dDBj YGpgXkJoXkVgPSN+M3VZZlBFN2ErXmctc1NWUU5mPkhyREFvWEBeQGItenktSXIhT1FgZHppCit6 P3lGbihGeXRFPmZeVjJLMTZrRzE9a0k0RTFuXiR4PWRVbHlPZ18tcDxTSXR+dCZVLVA9b25Pe1NH JVI7dzUrPTkKK3pPfkp5PTFSZTxKSjk5ZiVuaz1qbzVKRUF7MTJ7PXAwVCNrK3l8fVlhdCltan4p Rl5rIzdWQmQ4VzxGJUBlbTJFbworemFmM2soSlVYbDRtUk9aSGsjWEFHVVFvZDNoPmV9aDAhKFV6 WXt4eXgjYGxgV2tiMkQjaGA4bTNaJEIrfjI8V3d4Cit6d3VfZ1hmcE14WldgMTNIIz1XfF5IaHA/ RDkwOH5pQ1NWK3QlU3t8OEdEJEl2cm04b0N1M2c1PVp3YzYmPEFkdH4KK3p4PHBWbTIzIXRaPDV5 dH1rS08qU2sqPDYjLSMkPzIkUEV+WkpTIXJ1JjwkdU1aKERYP2RDSjtucFRNfmtIUHd3KAorelZh aSNAXkg5Iy1tQ3pDQ1VXbyVMNSRscCFDbiZ4djgldUUrfEllM2BVUUd1KWN6WitGaz1NO0wlbktf aTRYa2pPCit6JnlWYWVXbmcyfTxRSH5vM0J2aWE7aXFHfW1MRD0/U29qWnVLRzM3RXxKTDs3SHR3 M2o9Jm99PUxMUzFrQFcxISUKK3o4KCpGczFAU1BSTko0K2VTJW9EQ1p9VDJnJnhDNmYmYz1PQUF+ WVNXRUt3TXExTWo/Nyo8Nl9zdWQ7ZFZsUiYzQworeiF1K3VMe1dGeGVjfCF5bElRS3RfTCt6I3pO X1JkbXQkZ0wmcGdneztAWnY5SGZXaSR6cndmZFNtO2QrWl9XeU9GCit6dzZ8S2k5UWFrKXVmcVdS aiN+ZSMqN3BERHROZjNqfElxMlpRa0libXEofHNfcG15SV9MaCRoJigteVdGI15Bd1AKK3pQe2U0 Z1liPk8jek5sJWJyVHFkWkFadXFwZ3JqSGpUQTIyanF7K35lI3UmaGBuJXlkQUN4KVR9RSN0NFla PXx4OAorenotXnpOak99YGNKa2VTSmdZPmhRYGs8Kk9HRFg7cTNucEF8NmZ7QFZMQHdoJEVeUmR9 VF8mSXtNYlJge09Idm1ICit6PVZfSiNsWjdtPkw4eWQqTXBCMV9ZN0xmJTR1Z0oxOGo9IUM2YS12 KFFrQkF8XzV9UnNqb1I4ald5VmZiYEFaeTAKK3pTJVApWTFmK2EyTiY7WDgoQFNhSyFrc259UmVS V3BmajZMdU47eTF0Y1FkfGxXYExOYlF5OEU1Z3FTcEFUOElMdAorel5iTWJRWks4TU96Um9oY24h UiZMIURvJnAlMmB9RCZqcHIyLUE5T1R6PUZKQ09ESVZMaUpxQXB4SkVLZ3RxfHFaCit6KyZDfUNC eW51Z1hTdFRmRSNKMClhcGEzSFo4WENLKiRXJGdGQlRFQmt+fG14dERHIWJBaDxPKmhBcyVwX3Qm VDsKK3ppIXJBa1NUUmU9XjJ1QEljV1RAeGV4SkRDO21aVVg7Q1ozUldSUXRUM2hOWG52WE9sZVVr dXc0RX0yY2NLNGZsPworenF0QF8mKV5ORyhSY3ZpN0JlSFF7bVRyKnwoI2dVMlhAZWp1aDhJT3tr ZSo8cTE8eShAMXBiKkhsckF5KWx1SWx5Cit6R0VYaUc4Kz4yY05wPDwoRWVKWUlCYUpNNkglODl5 bkUoSDhMR1Y4fWhNfCp7P1NHc0JUcSNWKzRpWEBBemZpVmIKK3pFaT8xfT91PHhucDRPMmwhZDJP b0ZjaHJaPmk1VGFHPEF4bzZURVQyVzFyd1o0QFFaTSkwQ3YtXzhpPWR1eVJAcAorensrdVg+dyNI N205QX5yPj1BX3NfdXZvejF4KGt2PHFnJHAreHZfU2lHQntBYHBqZzdgYGN2XmZMQzJNYyhpVipI Cit6NHhWQCFzRTZFM2Y1M2gmRz8lZjUmRUpIUTVrMDYlQSZWJHh8R0Y+c1VpaDA5X183U2BLOTI7 fk1QcnZ3IUd8bkYKK3pwIX02P1BNXj4/NE1tYjdFOXtOOE85ey1jVXRtODlQSV48N3NRMkI3Jnpl ZHx4KjMpU0BNPWwkc3dWTlJqaWFjaAorekwralJ2Q1ZmNiZHKWZqbFNkeFR7Mm90NSR0a3FORDJ9 TDh2LXtiR3IzODgqSEJOQFZkS2pgTTsjcS1eaEg4NE9TCit6cVYrZEdkbmc8MzFmUUBZRllTekYp JFQ+RmZGPStrdHZWRU5zdV5oTkloR0dWKXRiaCMoSkN6SlFlSXxZMzk9RisKK3o4c3VAMXQ0YGF2 STZWSkNZOylHWDhlQilLTCEpamR3RXEmVCV1P2hrVzBmd2lMT2g1Ni0mZ1FtZDleYlk+JGhFNgor el9KNDlfe2h1cG5XTSReKV9AOUBNJElOOXpHPUFyYWRWUUlTZkwybi0lIU1fMnhuOFdVdGgzWF5x Y2l6fHVfR1EyCit6STQoOTYxY1Z2SFIzcExBPVJeNF5oX0BXQHVTKHxOWWNCQVhtWD8tXzNjampf TnI5V1god0lMZnsrfFIxclRSbSEKK3pfPEA+em5se00/WHlxditYS2gyWkpIVmR+KXhpaDEmUSVR ITZRZF5hZVU2UWQ0SEwxTz9QeGV7RThIJEYqTjxxSworemgldExPMD0lLTdmfFduSD9lMF85b3Yk QWNIYC1DIUpxYUBSYHNzQHwhZH5DZXomX3IkX3EoKG9LfWxuTERINk9BCit6eUVBVHtaamglMFh5 PkZnb2JOWGBxQlNgJkZ0c3R+REx+Ymg7fTw9Z3RgRWw+RD82ai1KbG13LXIrbzd3dEVOYG0KK3oo RzhafCN2aG1MQHJVN0gocUEwdkd+cHRTP2Fqe0o2dnM0dUtkUEtQRy0jK0ZJUlBxdi0wRW5NM3pM RmttWTIhWQorekc/T08tN1p6bVJKdUcwZHJBcVV0QE1RTEJ2fmRwWW9SeH09WVM9I3oqfnU8czUq JTNaTzVEXz1NIUZjc3JvayVACit6bSV3UyNiYmZKZ1J2bHhkXmRkTExVRCFvclZ3O2haKjh8M2cx eTYjVk9yeFBnXjAjbyl6ZChvJGhNek09QH12cSYKK3ojX0JYUD1QQU99YUVraG9AST52anc7PD0/ ZTN5ZEorPStLUCZUKTdNQz5LM2ZSTSkkPyNVSjczeHsrRWZeeE5fPgorekgxNE9PJU5wZnJBYER4 VD8lMlkhcUVtNmo+WVQxMD1taTQtSGA/OVVKelRIR3BUfTNIdztNaUAoWWFxVVNnKHhrCit6Mno1 Tik3UF82NGB3PzlndUd2PVQ1Zk9kWXd5aG9IN0c+cj0pdTJOJCpyOStLZ0tsdnB6M1gycXBiKz57 NTBzXlQKK3pwQz58YFJtU0BeZnx8KiphRjZvS0JHMXQ/MEg8PUZMMERNNDduaXVKbHhGZWNZSVQj dm1Te2I0dCM5ZSVPTz5nfgorem1tJTtHamdzRUZjRHpPQEI1SzdaWXA1VDQrIzFPWl98M1IrRDYh OV47dGQ3emExP288ZXMqO1lmdjdoRU0rejg3Cit6VHBqZl5kQkJZRlNJP09HSGh6Z0A/NmhoeUpq MUJGSUM5MW1ZeHdpI1daRlBJNWYxWHxfMnNeTU0rLTJRTzg/UnMKK3pgPipjcHxJd21Mb0pFRFBm Zjc0UXFVQEAycTtKQVQ0ej0jN2JlMmpoPUtNajJacnRCWXczOCRYOHVITiVPOXxzTAoreipTcjZl Nit6Qkg4eXlMfDZjKDQlRUUxViFHPnR1alc4dEFnQU55IWpPfEd4ekdKWj13KWsjRXYhMTNQPStz MEFkCit6Rz15TSZVWWpNN2o4aHBDdDljTlNTM0MlIzJwfGl3UXwzSURhSH4wMXBFcWpxMSohb2VK MTk5RXVRMVcpajZsQncKK3pGe0d1ZmFRc0lFOGtlY2Q/cHZlQFJicldjZXUpWFltVjY5VkRqUUMt KSpLPD1zdF5uRHRPcThrdFVhNz9oXmE9SAorelFZbHpgVU9reH1gNk5CO0BPUmckVyVoX1MwRG83 enBzVnl9NjBoZUdTbUApYmE1VlgwKD9eRkcoJno/bEFgbDdnCit6UVkjdGopciR8PDBjYnFqYVkw fVQycVZwWmVEOVYmcHh6TmtYc0hNUT9vdm1JeX1HSlpgclp5bU9OTFN6N2NJZ34KK3pRXn1OfVNP VD5xamFxeFhURn5OKT9URHJqYj9JOTArZVU+NG4yVHspdmFTTXAhQ354QXdGbFFfKiF2NlEySWV2 bgoremt9dlQkZiYwRVFKezMxIUkhez4zWVRXQlo4VGlBVGIqVVVeK3oqKzFXZiE9angrdUF1O2o/ OTt7fHNOU0o8T2RlCit6JWVNdWZQaUFtP0d5bHF1c3hmVWh6bEt3YF92MG1GPnVNYnAoZEFyKmgm fD5YZSRqblRNJlB2KkdXdT4/VShJb0sKK3oxMnc3c3liRkdaZH0yZmBBV3VaP2B7P209RGhIWU5Z V31BX1l9SC17Iz8pZGApdT0jbEZ0M0htUE1QdC1lYHZVdworejJvUnF7SlIxMnE9WUJDNmhMRX59 Um41TnFWP2I2JFlkVWpQWW8pbkszNGw7ODBAbjBZSUxvWjVuek5KSHJUR0BWCit6WXkycjFpdXU7 cjAxUEtYTTNAb0VVQSU7Wjw4eGBWZTxDS2ZZajBNTEN8Kks9Yn5MSVJaMkROeTlCen5DKGg/Q1EK K3oxWm9paW1OPipQXi1qalhBeipveCY4T3s+ZHEwRiVVRmoofFNPaHUrKnJrRHZXYFdVSUUoUGUy QVh4MTtMWGl4MworekB2X3hmTDVVMTdYbTFyfVUzO35+RSErWUxNQElGYz1IekFFIWZzP2BZRGtD JEBGbXpmNypEczlYS01tJnZAITJ7Cit6R0dacUpFZSVeaXJZSGkkNVkqNzZEaDQ+JjwhJTBBZkgy Syg/aGo5QTglJk1QSiRWK3g1VWhfZUxMbH5XVkhHJEIKK3pZWil9TyV7VykpMH13aT82bkxJSDY+ Yk4wdGV2aztBO3dzK2JSeDhSSDgmbF5pelJhRjNIOEpjKFZyT29rLUU8bworemM8MSVxam9ian5U YmgpNGZGd3tSbzFjO1pHWjx9fiR0eVFnTktQenJKOzAodjEoMkZCPmIlR1pIdiNMPjlobDI/Cit6 XzRuTys0YD5gUFVTWiVHYlAtdHhyKkJrKHd2eSUlP3ZFWjEmSmJSaUMmMDZsdEpWNk1JSS0yd1ps cilzNVN6NHYKK3pzNCMoJG84bCFFNUN+RXNJY35hO3p+QHhKKiNgfUAtI3VfMnJhfHNrU0F4fXQ8 IUIlXkdtJDA/PE1vV2NkI21QfAoremo5c3VSX0JsQk44bSQwUTwkIzU4YTZ2M0YobSQhZ2dBencq WCQ4VGl4NHBkdDNheWpwZUZPYGkzMTtaKjkkX1VRCit6bVg3K1A4T15kIXUlVzdAdXZLWm53bilI K1YjalI+KUExKlIxQ345fSVRNTJ7MGRpRnIjdVpyUVd4Iypee0JLXl8KK3pvYkNxPzN8YX5JUD02 dl9DfkJZS28kNzNNMUJqdkdYbEN9XldBZmJkR3dXeSpoTiVOR3YqI0M+UlhvTiEmeEMobgorej01 ellvd1E0ZFZ2NlpseFV1SihKb2FnTEVwXjM5I1gmbXpLZ054IWE+flVkPU80TlhHe0QlUmB6M09e PGo4Y288Cit6dzlmTnEtemVDSShjVCNrRjl5fnE0JD5mNGVmPHRDdWZENEgldC16Yzw9UUNtYy1g diglNUpFJEEoT25ZSig2RzgKK3plKWo3VGVFQmRkZ2FGRlI7MiRpMUxhXjAqRyhnfXN6cU9jd3NX eGVWT1F5VnxfNGY+QTRJe2AoTWp0I0lVSiM2Oworek1xeHp6UXJ0PHlXTkJ9I2hzJDxXdUM4d0s+ YGs1dHlDJD5sbnFoQlRFOE9QaFg4JmJAdlk9dXArSDkqWEBVQmVPCit6aFNWfT4oZjk1TF9gbiNi RXN5NTc/dXdEdThlKyZvZ1UpSzNsNEVlVGh3RjU1cyEqLTU2O1NxdV5iR2xPSD1vU3wKK3ozeHMk TllVckNOZTxxKTBDI2clSkI+T2okTHlKbD9zNktie3Y0U0Z9XmhibnhPdHZiYU5wMmFlZVVAIz4h TX5rVgorem5TYVg7SktsQVEqTiVFdmtzYS1gdk9QR2B5ZUJkUGstcEI4d0J9fT5Edz9kWkBzaDQ7 YmV2flgxOEFacWE7d0cxCit6aGc4ZVpXJktrREpjeFcrMT5eYktrTSk2JmREQmB6ak5YWmVRMjNY Q2EqaXZrTjBuRHpMQzYqRGlBRjZyZVgrT3IKK3pIM1RLfSQmeGZgdSordUtXdyRvXlNaaz5NbH0y WDhvYD1NTThONkRQJTM4ejRXN1Y5QnZmWjk5RVYhVkR0MEtWcgorem4mb1MyT2thTTdrdm1sflR7 KFZYJDQhVVM9aWlCVG9NPkYzTERNPn16Zl4qZTkkXjhjO3BIUWdVcCYrendNKXo+Cit6XnYwQ3Iq TDgkTWJHIyZlJU81ViphJVZlWXJuMDxANUdTU0J2c25MJkRwe34odiZ1VkkxMCpec256c1o+UT9n QiMKK3puczZXYUMqPEVaRksyRyg0UCNHMzlQM3ZIQVFpUnJteDd3NTFGNWZ7a3tKNGxmcSlVZFEw X0NGeF5VTzlxMWR6cgoremRXOW4ySFM3P2VPVWBlYjIrYjY3Zyt9MS1sQmRZYUY9dGFBbEV2ej1J KSU9R3JXZSpTbEZ1N1dvXnBPPXMtKTsmCit6TjM7dTxmcWw0I05uYUVnUV85b0gkY35oWEM0YD4+ QHd+PCteOUdaTUdOdEkmakgwaE08b1pWUWMzJWRjZkduMUIKK3pDbHZ3QTs7JkBVPWFycWpJRl4t KDN2V2p0dC0hMSYjaSgkTzQlMU5tdmNOfilZNXo1RjErXyZJNl5MNGZueF9WSQoreiphJW5ObDU3 QG9lb25ZISZIeytuRUlJOCVLR0c3MDRmcDNXajt0QVZ4MzlpVUtqcmt0dnMzMzYmcGtDRzFwY1l1 Cit6JXpkY1Ixb2o9cHo+TDhiS2ZGQk9KLUVAaj5GIzNfSThKR3V0aWYwKnM7KThNbEBacSE+LWgh cys8NmJYRTs5fjkKK3pmajFBTWIzUUlIVyE3KCoxbDRAd2tTR0FmaXNDSlJKWi1GSTVRMy1rcUxH aHVnUk07XiQ3Zlh5UEtjRnowZ01UPgorekM7fHdOczx6PFMkbWctKHRtbEdCWlBpa2gjTz4hV0ti NHc+ISpyfGxxdmZsOzsoczArNENgN0RSbkZqU0BZSSQ+Cit6LXVpWVQ0Yk41Rj9IaUVIe1V7dmA7 c1hoZjc5bSg1MF9rPHlsKiRrZjd1TWpSOzQlRWptSWRPfitIPFU+RF8qJE8KK3ooUHUtPjhnbDlX I2hAKnYkZyp7RTF+fDMqdj1BUnNJJjRFTEVGcGw3UHNAMEd3bnJLc29IbTRtejBESkQwM0xyRgor ekM7Un5YJT9GOS0kVSZPfk1kcWIje1Fvc1l3eiE4VmV9enxJWkh5RU0jRUEoRl87V29AI0REdFpi SmI1WGZSMmB9Cit6VHhlRj9ZKjNwWDdGJWo+QEVpLSMmNiFtXyFoQCNPRVMrYkIxWTd3WEw5bzR+ Wkk1Mn1VYiRlbnIpJlcobVJBWHAKK3prNDtBbEdwNm97NjU1ZkI2VHg0eilPSzlVVnBRQmFIQiok PG9lbjVaOW5lbzNGOCV5YUdvWHZMejtmOCZoV2VBdworejlLWjAkQncxekdXXklqUk4pU2V2VHIk O2hnNCk1VEl8V2N9K2F+PXIjVihYYldkb2Z4ZFVwcWFoYXtHRFZFZX54Cit6Z0wtUFE8SntZJT51 ZDR9KjZISUdGSDEqX3AxazZhKyR8enA+R2psPGQ8ZmlydHRRJlhSVENofmRnT2Q1a3ZqbzUKK3pD aUp5SjJJQE4qMnR1KU1Dd1NILTs0eSRAZGVucEpndG5vTz94Y3BCbXpifURRWiNRKypEO2kxQCNy cFdqVngtcAoreiU2RHpvYFImZnJGeWUoS1FyKU1Oam52NmY3NGUhJmh3WTJVNDdBUjFyNytTOztV TjkpRUVYPHY/b0xyTFBfR3ZyCit6NXEtTkh2QldeTWxFUFc8RlpsVyMzZ2lrUkNTJGVCdXZ4eXte LXdFZDcwfURZcHxyeGA5PnV1fFRxRHh9WClESmEKK3pGKn5oNyVnMUBXOClTM3JYU0crUWJmPFRD PDRSMHlSZUJjdWZZKTJBeVp9VkF3NjxkO3NmT3M4U3U2MFdBSD1zOAorej59QWomMEhNOTUlQ2d7 VWZ6V3MxRiRvU0VVbn5TfUpHe2tQWCFrRU04bXNMWEwyY2RMXm0kXlR2YD8xKF8zVlpCCit6RFdM REt0QEtgOVlpTShMWX1aPFNAPEt1PTIyTjB7bShWfSkqITk5Y0gxY31RU3MwTl9pTmdeZnImV1Az Vyp9Sm0KK3owWklrfE5RIztHMF9GJiU/YSVGOGtfWFBUdlFCVk9YJHAtXzNQNGZYRy1oUTx5Q2pA JDctfWhld2ExI3RHUlMmSgorejBvaUArMz14P0ZGb1BKR1E8dCp2KzRSXzJzYG5tV2JlYkJ2a0c5 JXwzam45YXNYYyp1Sylob18pOVFZI2d7XkhgCit6bSNuJWYoQ3dOQ3s+VCo3V1lnU1plQkImPiFG Z2FBKG50OThLbCRWd0BiKUw1aVZeT3hGY1BtRCEzOEhlSE1SR3oKK3pKYXpNSyQjXzkrVnl2V0Yq b3M/UStEKUVVVXlPJCpMUlRVPyk0eWpVQTBxVn4/LWRKRHZYRX4mZzYhX2FQZHdGPgorekpGbkQ7 czszKFVJT0wmOzU1YkF2am96NzBAME8jekpLUiR+PkVwI0s/bGU1aEZAQE1JNEc9a0hOWl4maTRL NX1BCit6czRKZ24jMXdRM3NCTWIhclkpNXkjPClCS2h8UWVZJmVUTilCWU09d0ptdV9TYm5nPnVo PU1PfnszT3tKVHdMfCEKK3omJGE8Wl4pand3aTZ4ZDBpWUZaRjl4NUYwKGg+bW1faWs5NSo5Uz11 azE/Z1M3MFViMV5EfE9MLWU9Tk15NH5ZYworeiMmV3gxRWhsaV9iIVQ5VkQpaF81diEmNUs8Wk8x aHcrPiE5eFleQkAwdWYxYEBzaF5taSoheztaY1ljLTxsSVVwCit6dnIrZn5IT0Jlb290SUlJdSVZ SXtBd0JCJnhJT0ZNKnl2b15kfmZKPmUpK2A2PTQ9MUZHVCNTNWkzd2B2MnYjaT0KK3pveTE0Vyl1 TVU8aCM9QHhVNWd7I0R0bX1TPXg8SCEhK2RVVC1rblB5UHpgXkthMSViNkZSTXBkd2RYPDxJfm98 WQoremUhdz50NGUzTHImJGJpPCUhWUVzQ35qUHVldkFObFd9MXA7bjNxd3F5RkQhcVc7NnNsNzdv IW9te0ZPemdYU0EhCit6TnZkbkRqTF4qdCQkS0BGZChpczFRU0VmYEBifGI+IX0zMiV6PUVUZHQ3 anQpWE48OElOaX17K2Z+dHdyeH1LSSsKK3pxbkdsOzwjcWlfaU10SGtTYHhrO0YwI2hIRW4zZj10 dXJHI0ZSd19ZVHNlaWZPYEptez9hNzxGdnl4U3F6JDJubgorel5TNnZJT3BYS1dpe041V2lGZnFA YSMqN09DdHFtWWR8UjEzaG1PZmA0JCFub1FOVmVSbTE+SlVMcXI3dHBLWH5hCit6aHYre3krbWZ+ bjZgfjF3T0dEbFNGbCMkbEpMYktOUXtla080SjZERmNtV2NVWnt9ZjNhbFloOTlGS1lxWFpLTmwK K3pnZVo0Q3JxTUIhSEkmTDYmRSQ9YCpGMiN3QUJSR0VCSXFGUnUrIWU2ZDk1fFMyNjY3JT9ZX0Mw eUFGM3dgVVd4IQoremhPdy12bGgzYT93Rk1ST1FwUzNWTiVFO29UN1NmbjUkLUxDNnYtdEJ4XkF9 Qit4NDlpKH57VE85bFE3XjBYT0MlCit6eH4jJnE9TG1neSNMWHp2Ulg7KUJKTmZ1Q1N7cnpTQ2Fs REJCZEpxa01MO0NFeXlNXjFKWDloSEd+NG8hcXMyR3QKK3pZK3tlb0lfQU1hTW5kUj95T2RPTmta U3J8UkJNLUxCe0ZpNUR7WkkmNm9qIWx5Mjw+ZlYre2ZDcCRDYVkxRUZBcAoremdnK1ooaitVQVd7 Ujs2ZU9ZUWpVclRPS0trRU8yPFgyPExoSTYtPUQxczB5SS1CKF5NNXIqNil7UTtLWTZ1ITIxCit6 cnZzSnI9fiElKnFVK0sxKnZOPHZrSj5leTM7c2luanp9YG5wMz5nP19ZSWJnUz0/c2RnTCQ7NEJn aW1sMm1sJWEKK3ojaVhHKGlORWxqYzV2OHViLUUjZlVWYmlVamMyPVk2MTlZZ29FVCZvaXNJVDJ1 YWczKXQ7JVVHcHMhenhITTBQaQorejw8WmVIXyglIWcmLStqVGNufGxgO1B2cDFjano7UTgzZ2RZ dzkte1JFKiMjPmI3PEhAX3x8P0BPNXk4I3RqYjdZCit6JGVhZElxO15xPjF7cDRITGA/JjY9V2lw MUd0Mj1tVTRSPTM0bGZGR1NhRSFCZyFDaVVQXzRpYkNPZ2tAR207N0gKK3olJHRvezg9Vl8yYilD ej1lcGRZVTJ6JjF4VHlrSXRqbnMrVVEreH43N3xEMVFLTWRFPG1INiptMyg9d2s5cT9zQgorek9v dWJLX3g7QGpBfWFxdWRBPkY1PiorSk4/OGl+V0E5KG4kRXUzQDJzXm8mYlN0fVA7Kkg8RT40NXI7 OTs1VTFhCit6VWVqUi1yMWQoNTFjMnBAYEFMaHswVSZXTzZHTCM9bVQzP0BjRUphdHZVbXk3OSte ZVQjZXstPyh0MDNpPlkwZVYKK3oqMVpgMjcrXjxrdm8qTXdyVEBnajA1PFYoeiluVX1PTmVWYiZT XiZjOyE9QVM5QEotQlAkPGU8K2YrZHR6VXpnTQorelcyS2xgRShOdTZUb3ZqRjcqJilqcGZAMWl1 Y3o+PXchbzFKWnItcHglWTAlIT57REhwWVY2ODRXQG8wTWFXYTRSCit6ZE5XX1QrNko9S2FaMzZm cmImb3R3bG8/M2BsS24han1ffk5eJldWcDRrZiktMlNSV2dgMDI9Pz9gTFNDVlZCN3sKK3pCQkV9 Pithb0clI0BHYjQ9TiplUGg5Nl9ZNmZ0NnVEWnBJT3B0PH00eDFnWGA5N1ojJktITmBNcldHVFFE M2x3bQorelgqUkNkQlE5Vil6USlNMjhTcXspSXhVRDZ6R00yPyUxO3pXMEN1fG1vUXU3ZEc/YS1i TXFTeDRCIUVMTTBATHZrCit6JXJrWDZgI0FveSs7MFQ9U2NOdW1DaU03Tygod35pVjR9K3VuNm5n ekZiVXFZYGcxXk5TZkx6bCU1fHdRYEZBYUIKK3pja0BDX3sxVCpsIzM9dEo0MHskfHIzMXAtQXBk fjFFfCtGNG5rPDt5Xzs+UCptYUVsdXJySXMxb0E8cGNCbGp2PAorel9FNH1DQCNYQDAjcTUtVDVI YkBpWjZ4JXM4LVd6SDZyZzxtQlEpOEVxMlo3IWRIckhEZ3pMQkw5ZmY/PnNKb3t9Cit6NVIxWj1N O0xAWipxdFd3QUlJI15tJTNrdW12PmBTKFB9RGhYYWtHKldZeStmYEF7fj40TkUoPmRQX0lqOGw4 VW8KK3pyXyU8KiteRW9CclBKPj8lWiNgdkNmUittdTZyRilVayZsPkxOVURgfDVePVZiMndjYk53 dlNQX3dZfC1LTEp0SgorejFjfkdNWC1EVHkweWFqJEA/b0hiQlZESnZifnt6I1VwSHNuTHlpb0Vl V2JmUFVHWHZ0UDMrZSFNNXQ4WlFNU2ZLCit6emZubkQqVkhDXkhXTEU9VWZFYVlsLWRDPXtSSSZl eDN2X0czJWJWVGQ4JX1GckRKPDdCezRldipQcm4+enBCYmAKK3pyaVE2cl53VWI7K1Y3Ri0tPi0h a3g0eE87QH1Fb1BgKXk+bVFXIWZzWEdrUVM5X1RSeTQhVGJmPXp5JmxRYylvSQorem9VTyQlKXFO eUQhPy00KXY3VnlBbz52anBxR1koSUtGcF5xIUtXY140fDNQM3dBLSVaQ1BMRVlTO15iOzRLSXx+ Cit6VTJzSFBkM09ATj1+ZzJFR0hhei1kfkszJHhXJm9zQ0RsJSMzfEpgMHJlWERTc2RfTiRQNnZE Rlg1b21KNlZLTmcKK3pmZmBPdj9SbHlyZmhacFhmOy05eWs3ZVlhMWQ4UWkle3JnbFZGQm89Vlh6 JVpZRjZDVHEjRyomUnRIWm5KMX0jZgoreiRBUWZaRGJNIStvWkY1Nzh7Tip5Yig2V3J3T0JjU2ZP cTZyQVlWK2NLPDhmZ1IxQjBJRmdrMGApZEVoWUtMell6Cit6cEJXV3socVdxT3EtYSRlRSY3bCgy ZTt0KC1HaiV0ZEJGRThUJjx6WD9XRDxaVCY7cjtxbnxqJm1XUXcpYFdkNEUKK3pmNz0hTmB0UGkr YkpfU1MmIXhfUlJLbkUybmZ1WG00djQkWSFWWkIrZzU3aFQwfD5lJU9VYFA4LXZTJXZVZDhvfQor ejZEISNgU1h8YW9xKzhgV1RuS0I9UFIrT251QHRBdUhLWnlOcTc+SWNxd3xUbzw1eVRYWHp+XmRk Nnoyd1dWSzJVCit6cVp8KkVXYSFWdFBmZ1JpXjZ0VyFSKSQwSVBXaHQ7eUVhNEFSdSVNeXRZTlF5 cDU3JXJCcUI7RDlyPGZ0P353ck8KK3pVcFB5OGVuKnklVCE2bkNSQkZkSEYyUXtiYXRmTn0kdUYz cz5ecCtIU0lVTXxBRiR5Yjc1ald1I3RPZEVwPkF1cworejljZ3pCcFNhe19JbzlheWprajQkWmMl UWNQXk07X2g+RmQ/WiR9UT5ofW1mNGFwUU1rYiRQcGg7UW16Wj9TPjBDCit6bVZEIWgweWk4VSsp QnZAWipYU0NrQ1kheSghTlAxRE8hKkRRSF5jSSpDPnM3dj5kaWtha3hsbm0mT012KUVESEQKK3pJ KiQjdzd2OG9nSXFJV2l2RVNuVEREYDw8Q0V+eStqamh0e1dlKE9HSjxrN21sVDdUNEJrZ0lJRllz WjA7RkxjUQorejt4cWpPOFFAPjk8PlRoQ1YtWWxOPS0mdUNHQiRHZTV1VGt0My1vVXElNEgkQilH e0NybmxtfkdoQnt2ck1HdEI2Cit6WiVga1RjWElpKztfJFp4NW5ZbWQxRXhgNDJKZSZ7I18tfmBI RUk9eGcpZSozR3syJD8+S3wzV2hHQXdsRlEqc0AKK3pYUm9OaElmUGRtISlGWktFWjN3USFuekNn eikwMlhIJDtFUyokfGplVVYxVUA8fm18P0p7Kns5YiVLIUZjcHIxbAorejEwekohVEVNelNyJio1 fkZFLTI9UERTbVEoV3w7fnU+PmVyISFzTkZCZDRfRD1POVZmKndEbl5gSzN9ZkJaPzl8Cit6dGFR RiRJSHhGR2RgPl9iUUlVbmhlcTI9Y2tIZClnMklkK2BWbWlpOChtek9JVTV7SzZ1ME15UV82RHc0 Kl4pPmwKK3o8USVSVEEoNj1MTystK0R4N0p0KFMtWVRzNntKTXgoZlBDKksmP2U5V1RMblR2MHM8 aitCR3BVSHxeLSFyKG5neQorelBTXnRENCZrI240TlI/b2ZVYTBwX3ZfWlQ7Wm5gN2MlZzBOTyhx SExnOUdaTTQ9WWV1QHgpUXMpRWh8RSZQUV9lCit6dil2RGNuNV57QDZsYEdGaC1wbktzaTUlUzxz bW55OVN4ZTk2RjAqV1QpYU5GaGd1YEFZazswcCsmVUxmeTtkaW0KK3pkP3NmJU9qMTR2JS0xPEM7 bERZbCZOTnlNb0d0UFBIRjFAUEprNz59UFctMlg3e15aPEVAKzBJX1pncz1JbHkzZAorenAzZy1m eUMxNGQ5bmN5ZFlvNlFyWiFubXtAQmpMU21qSCQkZXB9ej8laX5FanNxSn1WN0FIRHModzhtSipR Sm0wCit6clZpNkRPJjMjQ0hscl8laGk+MWU4dXIpTCRrUzYrMjNqcFZTfCY/MmF2T1VPOVFRQmgr Q0R6aEMlN0NyaHRaaisKK3pqVjdRfFpgP3dpQk88ZU1gWFNAJXxKNXtwJiklcnp7TVIpNzJsQnJr V2dGU3N8M2A1Xmw5SENxMV82cktPSEZIcAorenFUVVI/TVkrO054IVhNNmQtSWk3SW9DdigjS20k U0JBTDRQY2RNQHpnelVtUUF0Mm1+WkwyMW5mU1IoRU1zbi1gCit6JnpzVTZkT1gwfSFAPGY3KkVD bCZFPjdWU15DSlN0TWYxNF9LZiRIKWozYUlTMV84al5rfFZJdVRDSGZKKGR2UzgKK3owemdHR3Z0 UkppVj1WcyR7aEZHfm1HPWFhPko9T0lJUCQ2IUVPTWUwNTxQeWZGJFNnNFVKZihgVl8yeVZkT3Mr TQorenpZa3NSTkBBPmFZYzNqKno/UTgqZm8lUy1KTFhlZGMpaUojd09HJl50KXhFRFBpQWozWENr ZHAlcyVDaHlfSHFmCit6OG9MRTYmKndFcG1oQzR5cz5kYDZlS2ctKGNgX0Q2K0cxRVpHPjJnWVBN P3BRak1QLShqViZaPCNnKT95WUNJamoKK3p1YWpWVEZiXmRpdzA3O2p0JUtITzRQQX0oOypIOGEp azJeZG9Sbz57WU5DN2ArPVo7ZnQ3OChLN0x8dVd0UHYmeAorens0JXAwK3pNWGZleHAwNG44O0cy d0xMfEpqdlREKUU3KDZ4KDwwTFFkeTxrYUhuQ0JoOEFJe3Q1P1BVfm5WSCVlCit6PGhRPTBgRysr SVFxSUdIWUZ+e185bnJQKzNOIUkle2U8bVVReTY5XmFiTTVIQWxOJElkZV82cXJlT142Sl8hQ2oK K3ppNytNQyhnVEFZTnF1ZjBrfD82Z2tDYXV9ZDEmaiVLfmBgVnU0bUg3Tn0qeiRFTH1pWGA9Un4o S1dPVmR5Wkx4RAorejs7ZnsrI1AyfTtiTj15VFlXcWd8OVRKXzluSEUtI1c3SldnMlJhczI2M041 KyZBSmgqbFlHPDc9YDYwN3JYNzEqCit6ZE5NQmdYUV5YQHZpOzQtOGZkdURSVnRvdFRWcVZAcCpU ai1VR34memtGZj13Qk9PWG9FeW5ke1k2KjQmaVl6ZlEKK3puK1ZoZ04+eXNBQC1oeUpGUVkrRT44 SmhlRVlSQFcmTSY5KGFle2E5YVh1IXt1clp3QEEkTlRhSCttWjZHd01VZQorek4hK14xQTxwOEM7 WmhiWTVIWmxtUmd7a0xkVSlgc3VoTThSciVTQmZMY1UjJS1acCVQeWhfTDFlSXs7O3EhfndjCit6 KismaUIkSTtWX1c7RWAhQztsT0xDV2pfRjwzfTJEXk1SUiVfcDxsMmo5MDZlWTMwXkNkNTkrO3FJ NWkqOT85MygKK3o8LWc/U19rUmdwaH1wKUBnI1dGZHNOZWVlPzxXMzZ6YjVSQzQqITcjPX45fXEm Wkl9XmVuM2dpTTx2TWZAfEUtbQorelVCX2Azcn1OTWhOayRLakxOLTkmdXVOI1YhTn0rbD5gK1N6 MWpha0NAJFJgcCpveGdLczdwVWVLSj49fkhwVWpJCit6NjI2YCR1KiMyfmlRUmJBNVdjMCVCfXVk JnFiJipwbHM2dCFFdkJ0WF48THdsZlchbjtnVzFTRSEye29jR3ApeGkKK3psTkhEVTRScVdlP0Zk IX16YWhTdVJHKjU4MHU0fFBMM2JyRG5qZnN2ajJEX1R7NFI5Tmo5YVp3Jn5SMFAmVVV5cworeldJ fjE9ak9uVm4tWG5GPkE2QTJGJVdyZV5XJC1lbXFLU0pyb3dVcUJPJktISFBUZGs2RiUmYD9HJnV4 JGhEU2J8Cit6VCVjR2NqMmkoZz4wP3ojViRRT1pVU0dHUzdCUTFURXV4VDYxfXNgYlArbXVUJVow aSVZYCpEbklJRDFeRXp5UksKK3oqYlBkOGZVb21XNSFDJiRCWWx4d0UxNHNBPFVsUnRCRjBAeVZW b2N2T2NlYWVBTVM+MzwrWEIqQWItdkZ6NlI9UgoremtrITJOZSlKYEA0fXs1Wmxlc1p1dSErUUNr YXJhRikoX219NEM2U1pNfUpsWnRgSyQ5JS10ODl2ZGdJT3BJQ1NZCit6SFVQUCRRfTt6TFNeRiRO ejxVLXR4fmZ2QXleXlR0JWRpUmQ8cWx2fnl7e2RoVzZWKkBYejM+QnZWKCR7K2pXYUkKK3p1Q24m NW5GKClGVTFFYFhhemNlbitrJT4meWhwJXRuY3l8P0tse058elZiMGt8MD9RdTk2QmhFbnE+KnI7 MHAtMQorejR3WDR4IVBDYT45SHd1TmttP0J8KSVHe3VOcXZ4UyYyXmVOJDA4cW95N3UxfT4tcXh3 LT5DIzc+Vy13JS0pSWxaCit6VXhuI154NjNTVF5iRyRhbCZ9PmkxTHNlVjVjQ2A5YW1sfm4zVl9V M0AxJHBGSGQqTSROPVRYNXhieShzSU5CNTYKK3pJJHhkMnJvJn19Mk5FWHsxXzltKkNUOUY5UUl+ ayhEflB9fVNNaitMZ147SE5tJWMpMz12TE1rUkR+P2xBRmlMRAorekVTKFhTVDNWaSYwQiFLWlEp ais4d0BMQUtzelZURklMIWE2YGVaSnE3QFAoVmEkcmdxSlM+P0RqJjNLRVpHQ05GCit6XkFPRENx KHR7a01OSmNkZmxjdWpibjxLSDFuUnxTdnRXenFxUFFeKGIrUzZLRGNmaypLOTZ5QjN1KGZSIz5+ LXMKK3pzYVA+b1Q/bH5qVmVYbTNsVWZiQVR0MGIqUHhER3hMSF4oV3ZMK2IrJTgqfGFDLSpsRTxp QklJdFpmWDl7IT84fQorekRnR307aSk7O24wSUEtQ0pfQlBkIXNLT3RGMTQ2JHBqYUtNUyl9MS15 Vig9UG5YUTcxWSNxMzkoIShiQiVwdzR7Cit6TTYkMSRqPW5sYSRGP0xQMTdNUCg3RE87ckgkN0lC QFE9YypWQF5OVTVwOGlVYjVncFpWdDI3YHpITExjU3FQfmkKK3o3PGAtMjZkeEJUdmg5dUFYaG5M ZiZaS300Q29wRGxMTzNhRmVVMG5DbmItdyVgZTN3NWttNk1PdnE4OW4/O215cgorel9rTncjNUl9 bnJUcH5hMmtSd0ZoYmp0UmpeMF5RaDxgNG90Y3tNRlhITlhZY3RafEE/YWNKbGZnJCMmKDMwXnNs Cit6MHtSK0Q7RU19ck8zTklzKH1PQVpIXihLPi15MkFIRUMlWHtZSFVuOUQ/KHppM0khcEVpblYp T1hicWJZVVA9RkYKK3pAeWJJcSlQYVQybjlNWE51Jnt2R0xsNmxoPmpCPzZRUV8+PDJMQ0kmcTJG MSlQNHpNQWZnYTU/Z3c0OVUzaUtVIworenshYkZHdD5YaDlGOVJ+RkxMNCZ2TyYqZ0ElZ0hnWFpX SF9VXnE9U2EhemJgSkFKe3UxJXV0PWs7PVVITkRYVHAhCit6cmtqT0xlallsaygzZUtEKUsjQ00z ZU1DI3VtMkxMKXh3SDcoaExVeEZsX01PKk1xSHx7ZVJZNEFLX1RvRVF+JlQKK3pfemNaTGspRX5k dDt3a0BJYWdSaCgmVz1fSHJvYXZLI2A/MlpnVjs+Sk51ZlJgU2g0KktTIVNJKWdrQTQpUjNCNQor eiZTWX1qcjJJTyozYVBNUk9mOWc+QGA7Vkh4Tn51R2lMOXUjc3M+XykrZEkwaWAqOEU/RiVwd2Mm YDtkS2N4ZV9PCit6N2BlOE8tPTg5akdHKXJ5e2t5IVpgJmhGemYlaVRVMl82OEFqfipCeGM2NClN ent8cWIpUStPN3tAYldKSmpZQiQKK3oqNUtIIzRpSVYoKnQxQT82K3dDTUtufGRrQSgtYkt4b356 eEI0TDhUPEt9ayVadDNZUUdKRz10MCF4cn1kLXlpPQoremRVKmJwYXAlcUF4Mk5kR3h2Wj03TFQx SnE3TFZ5MFZWNW11fEc1SDF0e3w7RCEyWkMlPkJaYUx4Y3dFTHRreW9MCit6aFBhM0d2P2pVME9i SWNwNlc1NT1MOF4+eyEkbTsjN3c0ZEk3QiRfN3AqZEdYQVJvNWJWT0hFfHViRWxfMDF0Wk4KK3pB UVZYanEwcCZEYll9TVNeRHJnX2VTfCpmaXdIZU4zSj1tTzQwR1FjPWZEaUhOVE1tO0AjeDtyQGkk MCVhaCFreAorelcme01idihkQ0gjPWohTXdoaVE+ZGIhTTQ9fGE1VylRelBLRUpeUEQ+KyRIPGIj PnlkTTwtQFJaZ3x1Q3tnTyZgCit6WURpLSg3M0BRTkd0YiRROXVJNUBZUFNSbEYmZzZeQV9zUHRg X3QjPVRId0FPcyFQdzB7JTctQWQ8PF56a2BFSzcKK3o3dGdhbCEpbDlRVHc3a2ZQVkNkOzxCXlp+ V3oje1Naej0lUVN+XzVFcX5vcSRzd3VnYSRlMXM7akBtcXhkN2xwQQorenAxWWVqampPNnctZT5Y PlQkJChZe0Y2UiMkWlJfRmNxYlNjZ2VNN0o+NGZ0a0FiYGpGPWwoc15RUl5zdGsrXiY0Cit6d3tw UXI3VWkhJm5VUVY5Tkhkb0wwRlU5dDZTV2ZfZz4/PnBweyRDJS16SWIja0ZTMnpYU3pUVnRiUCRo QD98TW4KK3piIVV9b0Q9N0M2MlhnOSRYbktMOGlvP0VQKil6aHFie0FeRE9TX01hLSUhQF5YO3M5 fGw5bkNJSmxNaD54dDlOUworemJNNGAteS1CblhOUzFsOEB1IzleZnpgRnZsd2FaaiktSG9zMTFK LXJjVWttY3ZmcXN+bkk0V0QqKHBUVk1PWGcrCit6I24/R1RYQktWaUhud2VCNzNZc19SJjNpeiNr VEU9WlFIaE8rY3QwQWAqdSFpeVkyaEItcSlJUWVCVzVUbitXfDkKK3pfKj8tQCV2WmtubjMtaTQh M0s/Qy16aXpCPH5BXlA0NiFJQyU/ZXRKI0JjQURWRzJMTEhPbClyZD5RaD1DeFYkUgorekVvRThZ OWRqbHVVIytCSTthd3hgYk9qbGxwWmRKdCR0IV5QXyMqMHZrKldKbT1MZCs7bUp4QzNnVWBfZyQ7 N0NMCit6NnVROEs2Q3hIfFdFZl9mPF91VmVMQEBUaSZ6ZW97TyhgWjdnMTF3VUZPa1NCbzJONWlC bypVaz8oSEdxfEtHKmwKK3okTTs3fDVYVis5LVJ+fmFmY2YmNVQtVlZiaDxnPGVfYSlsP2l2ajE+ dXV1eVp7TGxNYG5JNjEqMTZSMFB4UzJWeQorek4+cX04IWtoIVE9YCU3JlBKOXB0WTwtcUl1YUtn ZDErV1RJc01qJHtJM0I7d2N+JjYldmBxbk89d21WYTk7S1VPCit6UVQxOGVvOXptWVQkQzwwb2Y2 YnRGNWJNVD57PG5BLX5QKGQoeyN9ezx8JjcpTj9zPl87Xy1ZQzc8fnZAeChLQFcKK3pSdWMyYU5I a2ReSThueUcmVClJM1B7M2Y+aCYqKXx0SDBUa05AZVVBMG05P0w1cHNVZEJeKHdheVc/UzVhUno5 MAoremhGeWJIU3FuU1ItLT9YOWdlZ1ZeWklWMj5jRSgjVWcqLWB5I29QNSNaUnhYd3RUbUY0RTNG SnxlUEBmOSlBbmBhCit6Q3tEPiR3VF82RkxHbUNSSGFRNXAxdzJ3ZmwxVEQ7OyZpKThrbmhTSD1i ITVmalFgTEleaF96REJ+WHt4RCtNMVUKK3pCeSM/SWNfYiR8bkJSLUQydVJBcU4+T0khLVEmQnEm cW1hclh1fW9yPzx5ISt5PVgwaVlhI3wkX1dhc3gpJERmYQorek9rd21Ic0BDKCpJQkxsdFIoeShL eChVNFNFfU44IVZ6ZDZxbEBfPD9VWCl4U3phIz5YcXErK2hldk1yK3NqelVfCit6T1ozVHgkcz1N XzUoaTFTUjlrPW9Ia31+bW8rUkxtT0YrU1E7NlFhKz1oZSFvZ2pKeTdAYE8rJEBZdSs8TjtSVlkK K3opRik+ZERBRTk8RDR7KE5CUDVqMyFYcmhNJG1kNUhYWFZfWWJIZE19QCtJQ1U9YDUlWnhBTXVF S0tlfWs8QjJoTAoremsocl43Z05kIyN7d3gqQV9OOTtuPUx4MFhIWmEobUJxKlE7UXgjTHlOMzEz WGc2eFNvaXMmPklWKjBlX29zMDdZCit6RW4rVFROTlh5TlZeJDs1SnQlalRVbiZmVnNabU0rPCQ5 YXJuRHpVZ3Q+I3VvWkY5OWtfeXs2c1NgcnlCbD08YWIKK3pzMjZKSi1XQCYycThTRDktTWNlZkNH WkF9ITM3TyFydWkhc2Foc1BhKFl0QGNiVz9YU1RtP2UjUTZaYzQ2RnVOfgorelJlKVB6U2Q5d2go ZzFDYmwwJTM4Mjk4IVhaSzUxdXV0JG1XeDhNOXxMWmMhLT1QMGN0M0o/Q1kwS2ZONnlWNWteCit6 U3pLZH1HSlIleW5uVEJnYmc0X3IyamdUX0JXQ2F0NzhrdGw2cChuNmg8YD9Zbj13N3lhNm1ZTXlL QnVHbHojd3EKK3pCJV5Re3cqdllIUU5UfkQzTm9wcz0qZ2BGQHdkYmgjQDlMTEdLJjVLUmtlTE4k eTgpQzk3b0h0QHdhKCZkbiV6Qgorej5yM1E8TzB+VjdSRl5zbypNI2Z4aFAlYiQ3ckxnQFo+NSQz TWV4dGMobmd7P0JVJW1oKVdacn1rKkR7ZVE2SU1DCit6YEJJaWIpbCFEfi1ZamtFckhDKnJ3PnJB ekxAJTZTZ1hJXzM5SWxSNVJMJGF2YlZhSTY4aXpYeCtIdyg1TiROKWgKK3p2dlVhTm8yT01yU1d5 OTtPMz1hU04pbCt5LWUlSXFeWX4pam5OX0NRQFk/MklRVjE/RTN4fSZGQG92b3xBO1FLfAorejky IVlAK3dpUH1FVkh9eHtybjRiMCtDZGI0ZkVkYFRiNHd6Rj1CYEB2aj10fShxS2lhaFMoVCRCa0ZP YW8zP3VQCit6azlZUHRfR3w7YlJlcDxXYFlaNWxlPDNOUjhraiZ2QWlWd0ZoalM1UldJK3xZZDFB WCtTeUgxWmRDU18xP1h1UkEKK3okOXJpRTRNdENpe3VvaEtRVmY0Pm0hfWJhUiZjRHNNM1A1cipZ KGBeKD87PjhyIzI8anUkbWl9ZnYqcWx2RmNQRworelZGVm1ePE1wRUwyeiFMSXhhcSklUzZlclVw PHpve1olWmZPbkNVLXpEZ24jZDBrfnkhS2YrJCtGeGlFOStpJWRCCit6Z19UXmwoPyhXYnBxNEMx UEhhRWZhNGJFOEY4fDErbTQ1X2pSIyNwbCpVU0hZaE4/My09T2NiMEFwUj8hYWZ6QmgKK3pefUl0 eyRncGtNNklaWEIhN0pSOUJzPFAjeGZZYjJJe1Z1UmducWZ2TVYjN0JVSUU4WD83PUc5Tloldklk Ym5HSgorek41OWZFaTxTandkQ2Ald3hjfnQzYUUlVD1xZHw/PE1wWERNSDZ5KmJseE1iRj8payNf Y1lDJWA/Q3ZORDJGZiNKCit6VnAkWFpsald5dWlwZXBTIVA7dWx0eGlGQldLQjIhKEtGY3JNaH1N PkNBenhlYzNuKUZ3IWFtc1FfQFBEQWFweHYKK3pzNDFfeVV7b3tpUjZhWHspdi19K09xSTErSTJB NyVNbSlpaVhoTVQ3Kz4xK1olQUY1aXg4d2VfeFc1QURKZ1lLWAorelNpWnx1PDRaRD1YYEAqWGs2 QnFpQUApITQ/Qk9tTyhxfns0cHMoU0k/Qm96QiFue2RAKmhNKHY4fSo+Mng7REx8Cit6cyZBcD4l N0pNaXw0Z3VFSjU2TG16Y1J0aEElPz1qRzQ5dExZcjQybjFRMTt9WmohYkd1cDlhVDVAVVcha096 bG8KK3o5Z28rZWNeaWg3RWBmSzlaR217OTB5dUJTcHxsXzIqJk83Pzh+bUEwKXErWmhxSiRwTjI9 PXcqNiFANENSKnJTegorejA3an5JN05MPkFhPX1YZTxAciteY21ma3RyQWs2bE5NbClSRjUxZjBe Ykh2e2J8U0FIYF5vez8kaHBkUkdtRDxpCit6YDhKRTBARE9nJkJQUmhMKV9QSjMkbnM7V25pPCV9 ekdAQH5nJShyV25lX1ZuaG9DSkUoIVRwVEdlUkZSTzFQOTEKK3pRPmpKcDdYUF5CNVFAZSgoTmRV XnchM2RmT0xnR1U4QCtWTWwpbGFQN3wze1Z7eSthRGVyb3l7XjdLX3xecCEodgoremQoMihARDhf Q0piezxCd19BcVE+SEUoYyljcFlLdHgtKk1YdXNkIT5kNnJHM2QwfVVSUm5TeigocEpwXylkWHhI Cit6ZTgtI0hGd0VqanViNncwPVpJK0NMQEx1QWhMKmE3dzZie2JZSyRzN0lAKnJmRlp9REZ1OUU+ aG1XPFZRYm4+VWUKK3peT3hUWCg9dCFXJURTeCpPK2pKKShNTGxCSUVrVDdWWjRQQyRkY2Z+X2dy KmomcTAhOD5tZ2BwMCZ0MHopVWQ0Qworeno1OHBtVDRDcEVPYzQoQmVuaV89R2U3ajtXTG93Wm1l ejx7amcrMjI5IX1+dCFrM3NwVkZaNnFLQ1pyekwmZkxyCit6OE9Ad3c3d3IjZ2UwOWBxTSlHMk5w XnJPLXdLayRhPDIwNmMqVWdwWU99KjMkYDAtWUI9UWMwRFdRK3pENTRYPj0KK3o9NyUjfCk9QH5G N2chVDRVSy0lUXJGfm8yJEJrbkJJPjdGfEEjNjR3UllDRUllRU00QmF9TmBwNTh9Z3hiZEdRZAor ei1YP15uVHUhbUNDO2pDI3dpPEUhbW5DZz9fYUhpZWNyU0RRYDlke0RZPkNQKUl8NF47cnI1UEtl cm4pQTsrYEBGCit6WnQ7aD1PM2p7fU4oV1JLV3s4TmVEP0ExY3tqNmh8QE5mUkNUck8rb0AzMClP U0B5IXgkJFk/NVFAMG8ldEE9PXEKK3pZclJ9I217VDx9eV96MV9STllleSskKCF7K0NSTnIwXiE+ Nlg/bDZ8TEtpUWNLeClVfmZPTXlMe0tUMzZzd0tNNgorejY2KWReOThpSCQrQTVCSCNXPTEoNSQ5 STlnND1tXl5MJHZYQSRzQ1JmOUV1TDBiRC0+ZUNZO3hYT0pzKS1QUjNfCit6WWtxNGlMc2NKbHVq UTk8JSYoejFpP2tFKFMhRFRga0RDc0ZYOGZmN1MjXjd1YCtVTSV1fEJ8YihuZnUoSW1IVEYKK3pK Q3g9XiEtTXE1UFNgNW9GejlwRDFAJCRmWkh9ZVlpci1vQG87Vno3WS1NNX5xK3I0M2Rfdl9ZUkR1 ezcwMShOPgorelFVJjdWX083ODZWeHpvUENiTEgjS1E2Z3s9ZFRjV3orOEFVUnpDUik1bm1TeTVU PUtKX1YoITxmU0VsV2VTc348Cit6N0okSkwjPUlZMWVTMmwwP1dPazN3bmtxUEpoSC1Obys/QDZi P20/JHtxfGNXOF5+clZoKWx8JSo2PD85az1sRmIKK3pNSSNyO251KEtrWTBEMWZWeUNuMipiOzlJ MmprIzE+SU17SS1VYmt5IU18KWpWQlM+d1RZZFpJOzVtMUg5OUxlWQorejhRUSVgPEliTllZSH1h UnU3IUE7OXRoTCtqUUEpWWM/Vj5faUBfRH5afTtMVCFedlU/MEwkbSM8Km09VyVpRG8pCit6Ynxx Q3ZTJl4rIWE4UCRHMElJa09mWlJ1MG80ajxFe15rXlpwO2lxYWJyZFFtWWN8STFCMkhnKEwlRmMq Uz1QTH4KK3pOM1BLQVJ+cnVWO0JIOUZaWSpfak4kcyVqeSk0THwhUzVqeUhsMGQ0R0pEWkZZSkRs UFc2PGskN3o7bFkrKnplSQoremhab29BdFBmbDJidTEkOW9KT1dudzApbVc3WCpONWJXOz04ajVJ VD54Zk9+MiUjNjhwZH1qYjJ3TGghPkZteX00Cit6VStvKkc7KSZyRSRESiU9ST1HMitnJj9wYlhT PiN0aFUlRFErT0JSWEZWQzh6VVNPJGlSbj9HRlYje3NnZT8tJngKK3plWEpvWWdNME1jNF4+NU1H Kz1pUWVjblI4Y3gzXitSXlZwITlqWC1oUUlWcmRFc2B7NTg+aXJyQFhOYU5ZMyFocgorenhTN1k3 eV8jezZtPT15e3pjSyUzKHZpdEVOXjFCSXtpKnJ5eDBVfUM0bXEwcWV9cUYjPllqRVIwRjxBZDlL JmZyCit6QkozMSslR0hmNDJ4b3RjWG56bkoqU2didmcrYjJYbHJ3Yyk0UTdkUWh3RnRNSTchSnVm LXxFVkZoQ3N9OyZkZWMKK3peZXI2VWxAZkhRcF9WQ0wwKk07azZuU201YXNXOUV7cTBDS1F0bVV9 e0hIcE4wRWsmQXJ4JTBORHUjUW17IUYqTQoreiFxNiNQZVpISCh3PDF3VG4xcURBe183WWwwSCU1 b203KHRGVkdmKTVDdnFVPVcqKk9rNUxTWWpmOz80I0JuMDhzCit6S1JpP2NxZSNMSDRCSnRSRG15 dlVFOHgoVENoa15eOGw0ZXxoazZpMHkqcFQwbElzMnZTfUdodlN7cC0wZGo2QigKK3pvXmBKYFNp bFpKVGdxaklvQl56ZGd9NjtYJkhrPWFLfV5ufk1CXklfb0QrQ041ZjhRdXl3U3doeldGRz4qPTdR YgorekctSn1yTiFyMGR6X1RhQGNWXkNfSzZrWWJ6aSEoP25yVCg5UnA1XlVufkZnQV5XUmx2JWh8 X1lYVWpCZT1vK2QjCit6MmBRanpBQk1DfDIqcFZmOTdYJjBRWEF4cmhvN1R3IWZBSih4PnU9fnNB K3FpRGlQWVc8OFA5RVM7WDZkXj0zKEMKK3o0Mjg2QClCTWJKUHMoXk88SUZTP1FwOWY2SyVmYlZ7 JjlEX0A1an5zdFVMRnBHOzxKMXEzfEF8ZWZDWEQwb2o/Nworej9ldl85byl5N1ZUd3QydmQya2hZ THJmRihmRHJPY0ZwNXE9dTsmZjdCQHVnV29HVEhCVEohe2htfCV0NXgyTXBUCit6Ymk2WXx5eSMy TWFiKiV4KTwzTkMkKj9peXdKR1ZeKFBGMT9PUHFyYT1fTkVWIWViM09WNFUyIVctNCQ2IT5qKWAK K3psTjR1Kzt8bmxxNXl6JF8oZVUkcGBTTzxpN3ZEUSg2ZSg+cVlPWXVvaHVTTnpabjJ8ZUNEYD99 QShgWnRgOX1fJgorekxOfTBAe3ZHM2NkM0dnb1JSZ2VHNUFEaCRlUWpfdW5aeVFRRVUpbXNlYURn eDBQZF9gNER4RkIzQGRMfmBkMWRFCit6MVowSnJsX1I2OXduRmVIOCUpMUhPczB0K2A7bVlfcSRr Y0w1NS04JW1saDx8NEBaMHpyU0R8IXpvQyppckJRczgKK3p0JVlaYFBnMTtvJUk+fj9fUFIyMWR2 M35GZyE+STJGeSloRUolWEs9WUJYQFVwJjQrMkBJJDZiUnBUeioxNDVCZgoremJPSkArO3JoKVBg eFV5dWB8ZHIoZ0tVdUgwLXMyVGYrNlohOV4lYzIodiY0VzVgdU9TQjN9QHFfflhURSNoeUBICit6 RXIhaUItaDFoaDM2ej52TXdhcFl4M2gqXndaSVJYYldkKjFPSiZOeC1ZM2BpZ3NeITtDcD53NlE4 JUx1dW4tMigKK3pmZXdKMEtofStFbkgjVT41RCQlek91PWk/WVozKVhiTypgalRhVmR7Wl49RVIz ZUZCVTBqbVY/NG1ZVzxwcGE8aworenBPSkUjdWFjKD1TMmc3R3twR1R8TE8keFlCUUEpTVI3UTcj TWMtMTApemMmeGhyKVRXKyUjRzBBbVNzQDd6a2JCCit6SjdacTFXNVFjVmM9aVhDYHgwfDgqeDt+ VlcmQX1icmp1Rio7b21BSEBRU0RaZSNCbjVofnFrZz9rdzl4MyowcWcKK3pze2ZoYnZRKig5QTBA K0NqbTdZWjktM00yd2YpeTRfRHByXkB8VFlNTEA9czRkQTNJXjFtenpOK2MpezloeiR5NQorek4p VVFDYVhWKz5kRE5Fc0ZzdW4tZGR7eDImciEhezc3Kk9gTUNURylmLWM/T0w9TClKT1VjUSsxe3Bt RTRkR31SCit6cVoyamomVTF+fnk0R3syb2B1NytwOylZfGtRYXk4Qn4jNERxWGJeYEozc0UwRXBu UkU0MkhkWVgqUXl6eXQ5TSYKK3o3P0k3SnhBKHtXb1FyISRoY31fMEZFKkBtIzlBaFZGJj5jSkNh QjUzT3Zjb28hVk8xKXY8eXVhSThAdnpPTlJ1NQoremgycHt9STBsV1c2JkZpMVNuOW8mcipzQXJ3 cWlGSVFVY214aCN0Rl9rMk1WNHlBcU89ZjtZe2QzZ0kyemFkSEJTCit6WmdfM1lQYzYhRjV+Uk9J YzRwYldZcGpWVk54eFFyRCtzOHBMP0BFaXJzbWlqNzJfQVZpdiVhMkpBKT9yQEtIJCUKK3owXmlj Vz1HTz93YUJQSDZPcTA3cFAqS05meSRmVGdTJmNTN3J8YnkjYFQ0NkRkfTRPPTVZYTFFc01PbU91 TUUrfgorelRaPG0weHArblZQI1BrMCUmLXlMKn1peVB5NUVxd0lkKkpMaWpCLVYmYiE7TUJYMll4 TEBUTnFacnUmNlpWJjdUCit6NHxhYXNVaFdueUlCc2c1cGQjNDMwRVQxMUNpVnxFUFpvRXlLRHF9 ZFNNTkAzWDt0eikrRShgNVVCaVMmOCt4aTAKK3omaEIwNnYkMEUtUHRXWFdpJW5aK1heLUsjYn1s JW5oJSMpcW1sYGFvbmM+RVM9QG1wSnBOJGZAZGx7VE1pNjx9bAorelJJeiEhdVVyS2w0ZEVwUUFH M2VtZnRjOWRvdnM9bXA7TSU7eDBDPmtiSmAtYW9mbEU8VUFzdURRKGB1V0pvaldLCit6OGxMTzxT QyU3SGIlOHxlZERqamJmbFlHcVBqSzRebE1zUGZ5O1ordkloWXFxPk07I1AlRFYmQzB+RW9YS3ll RSYKK3pYViQwSnZsNyMzTjI+PU9vem5aeF5BYU08K3B0UERPdGtERT4ybU43S2BwbVkoTUEzPkAo NFhQYlUmO254MmlSVQorekgpQzsmY0V3c3hxcFRiUzd4M09vTTs7cnJPVDBkenF7X1RrU3FISGg0 YyFDZ25pK0V5T0B5eD0lYnZQWjlKWVBPCit6Pz8tRFFiREM0VT13SjBPITg/OXlANDY7eStjeDtA RXV+Yn1lQz19ISslXmNjWXhFSWNTV0kzdj8ya0t9aV5iWW8KK3omJGIxN19eV2dtaCVFekZvKCg9 dil7TzBsSGU/R1E+JDxVcEtZSjZBTHIzeG14b3JsYEV2cnN+czM8a0FRYjxQZgorekVkTC1hU1dV fCY8QmgrUkt2XjM4JXJKODt5Z0MrTntldn0kemFebV5NfUtxZT4+e0ozcEp6byltK3ZYRVlARSRB Cit6dlFVY2B7UVIjSm4/NkV2Un5hNCU9dj9HSzxNfHYtPj5XLTF7T2I/QFlxZkt3WkRZNkRpdT9+ N0R3dTtUYWJmTWAKK3p2ZmRhQjNfMDNfTmhJKXgtaCZlPypveHwmVlAhYz5ic2U+PnVJMU5IN21L aXo3am5eMnlKU1RFMzFUV2JyPFctSgorelp5R0xpOXs8U3d3fkc1VCE8eCN5RWIqKH1Zdz1PUU48 eno2Q2l4Qn5aT0BvSGtLd0h1aHhiT2FZPSQtPWUkfjNeCit6Nm85WUp2Q0JlcE9pbzI+aT57NSlN Kk14SEsyQUh1WU1VYzBFM0hBYVZlTj4lQ3lTK1IhYHtLRXVAcl9sWkhEcGQKK3pxTjJzT1BfRj9O I1I2MHJ6bUI3LXZGJERYN2EwPURRTUl+U1p7N18/WmlNZ1dnaX0+Wkc5NChHTlpsY0ElODd+Mgor eklGQ0dkanBgcTM4aHJfZCF8TUlpOVgyKSZufkwoYjdPdXcxKkg5eENHYigkQj8xNGd2eHFPYzNZ YSo2I2xqPGFXCit6KzIjXk8tWiVNN0pHViN8aHBUNXk2JURBPFo5JjU2ZSlJZzE4fEJ9bHtwcTko SlcmcCFXQVJrdlFtTjZxSHFlI2QKK3ooQEo8OEFONEc0TjZlSDV6K3M7ZG0qU18/XmZVJWpWSUR8 Vz5HMDFtRzZiSUw4bD5KU3ZfVSlecGRXcU16SHl6cAorekM+fEtRNWtGYWYkNkI7KUgjRmhsUGoj cVNOPFNUb2o8dlUhV2hlZm1iTTFPNkFDI1lZeFJidlV5Z1F5JW5UPjI5Cit6QzQqRTdxU1Y3OzVM Sm4lWnNLIVU4aytWZE18JCZPYEdSfnhnTSM2fmhAJjthaTklMHMrWTlNNmREWXA3elFzMzgKK3pR JD9tTSRuPWV8emooUiNXakVeOFFCRSQhd3pPMEVFeDBtczV3ZjhCWDF5bW51blZlTXZ6eXk4XzxE X3hePzw7OQorelNHQFB4dWg9QT5KYWVWJURrRGRhWjcmTDhKTyVVd1FtUHBzK0BeKC1CRz18R15X XllXTmY5ZnQlcmxXTGNzYVhsCit6V2VvUVFjUE9ya0YlZmsrNjRoS3l1XjJxRzR0QEFqZyRpUClO NzEqP0p9QEBKaTk/eig7K1k+S1g5cz97RjVLQF4KK3ptWTR5QT0+aEFEQ3lDZnxCfH1GbDNTcns0 e0Ftc25xIXstdmtAKzwxSEBuMHRmPDlXUXV3RW9RcGtXTHF1P002JQorekNAbXhTSk5oNHlke300 YE1aN0MkQihzflZKREQyWndyJkQjM0k2M01zNiMyX3VnSmZgNENKVy1WVmNkLXJpI1NhCit6MVc2 fDFmSmVecjQ3TS1CUCt6MGpRZUNIKnBGR1R9UlVzZj12OXtvPDBJSUAkQjk4ZzQlMzZzVHo5TUZV T3UkcHsKK3o9QjlhUSFmeyZ7VThKejFsbCZNPDcpaDl1UiFyR1NFO3crZEl7UkZjSzN8MSU+byZz S2syflQ7eE9MJHxpXztCRworemdUQzkyVlBWWkY/YWlGSHtOU15kbjw3bWFKcHtiN2UmRDcpS0VI Sn4/RzBrK1pxfT5MYGx2TGR4PmRXaVdjOUpxCit6fEJ5aUV6fThNWU8/antzN2cwSHskM0dNT25V RkU5RUtMPHpjUXVwWjVVI25OKztzLWQtWFNLSWJeV1VwZHdqYWUKK3o2I0A/NXI0YGEhWFhDYG5e PF9NYlozamp7bDgjdDYqPVlwdDM5bV9ZcHx3JSV5bF5vMlVXTjA/Wj9lPztTJmJCJgoreldWMWZR RDtTOXNabD18YTMtbmtNSDlEXm1NdVJGI1RVQmxRa244bTROJXs8I0omXiFxUnIoeF55KmF0b2xP MW9kCit6WVVZJVlCeTF5Oz9DTyp+WG5XK2twREFTQlApd3RJPnd+KHZuQHVvfj1ZIyhxUlFITlYt RTA7I25aX0EtbndGJGsKK3pTRnBOYmFIeEx2Z25BUTdqcGordFl+YEEjM0dLVlAkcj0oX0tSMz1N cilfM1VjMHVge2ohVGxER19HTHtWQk8yVAorek9mKkBqKzZpQipSQXZLR2VGTEpAUUU2ZCFHQlkh c3QrJSpRS0VJXiRWVjl2RzRxIV5PTiNvNEBTbntfJCRgVl88Cit6NGpGTUpzeitxc0olXzJJbml6 YjdoIThhPUF5UDMhbWA4LXxqPXpLaWV9IzxzRFZoKFRhM3ZhVFd6PWYoYzx3TkUKK3peTktffTE8 SXF0RTtSJW1nQnk/Nk0/VD1fO2dibDtzQXBLJFZhQSVQbERlTkVufDdvIXJqWjV3d2VSS1A+aGl7 VQorejVGdk09Sk9OX2E2aUBWQVFMKH1GXitVYStvNnZeJW89fldzP0dxYGRaaU9IKyV6dWQ5I1Qm MDxlKHRMVHFRKnt3Cit6MWlgQilvfmgmYG9UJTQqeThGKWpJbHFrM3l0JEY4PHE0QVc0OFoyQGVv VTg+RW9teWAtOUlhR2htd3UrSSZZTmMKK3pTTTcpdHlpWTlPYXY3VmhYTXM3fWRUQDdQJDdQQUVX VSQ9dTxKeSRRWFl6YSMxTkppbit0dEE5WENYOVA0MTJuZAoremkmP0BrUTc1PFUwPW9tLVkmP3xO TW8qQWFvSnd5MS17U0ZONnowZGBnO2chUjlYaHt5N3NDWEdUbEkjZntIX0F5Cit6TEFZcTNTYGkm JDdvYDspVWJUfHBhdGBhZjljRnNJS2F3XjxJe0V4Oz41aHNiVShJeHo7JE1zIzlrPGJ1Jj11UyMK K3p5Q0lzSEUwZ24yciVLZ2EqOExQcGspNFZkJUN8XzNKTT9nP3A5YHFEVTUyTzVLeVVIX0BLTkw8 cDFLKigrO0QwbworekJTITJeQXcmYGgqT0dCZDZNWDxmYX5oRUc3I095NlRhLWBBWn1jKndCO2Nx RCY9YUt9VnUoQUA1NGc9JEhBO35oCit6Z3MxP1FLX2FBKz9xWXY/XjBqVi0/O054NE4mWFRXZGZi aVNVUEJ7SyZZaDF+WClwWHFEOWQ2V08rKl41dSRaXjYKK3ozOSVyMikjMzBwRUs2dUsyYjNtdVl9 eWh6P3NiYmhvY2N2aUA0NXFse0JaNFVDMmJLcVJCVGVGKkhKelB0I3t6YQorekZARTNXcCFQVT1w I1lBdld3UTFgYTIlJmB2ancpK3hYQlA3SFAjR2tMTW03WEp6Wj5tNj1pb1I+QkgwITRhdShLCit6 c1BaRio+dj5ZTFg2ci1vXl9PWFpVZUk4cjNoMHI9NmNWV0EhOFEoPEs7I3VhZiU0Z0ZUNXtgfjZg MmI+dldaT1kKK3pmIWxYUl9Odms3N2dUWTBpVkJhNWhve3lhSzFmUj4rb15RYVJtaEw/ez5KejF7 NURweGV5ayYmdjE8Yj5QQj59UAorellzeCFqX3tXNEBEOG0pQk9LT0x7bTQwMWRGQiVeVlc2PWJI ckZjZXplUkRMdmh9S3M1NkBqeTU1RFYmfnI+Q2hgCit6T1dEOHFvNnRTPFd3Sip2QUo7JiEpantB Sj5tPntpSUFZYDtpal5vNT1weUM/KilOP0hCdU5TIUlaT2YqSUZ2MikKK3p8Mi1jRjZvSkU7N3ch Rj5mKmU/NE5yOE1YJGN7YC1Yb2A9RjVtcSlwSVhLWFQzbVdSZylJMz0qPnFqVFhlcFNseQoremlB K3Y1aXlzbG1aJigtNDR3N14zXmN6PmZ2cTU4NXJEcVk+Mz1fZShFRCZFRWFeckZyT1dwVE5udi1y XkElSn5PCit6eysmXjJIaHFPOE5ASit5RE5TVz9PK0IrMWZsZWcpVkteZEQkK0QpJVReXjFsK1Rn bE5PXyp3Zzc8RkNHUD5hPG4KK3ozPmA2JXQrWjBSS3dzR3Y9RU1JYEdVRjVzbnZBO0twZS0hQCNv JSlfa1oxJTUzTDM9aHsmIUZiNCV3Q2Fed2VtWAorel4tX09XQU9LTFlCMys4az1iVGRUa0c4cT49 aUlwWjRkb1BWcjUlZz1OPFZmIWROZG9WQWNJR2JXNU5hOyglKEp4Cit6aH0wdGM9UntLfEd4Q3U3 SjF7dSFfQTYlcEl9R0htd0B5d1hLaDJNQjhnMy1geWFLUj9sYz1QQ3JlMG88dElNJDEKK3pnQk40 LWw0LUxTQm1feE1jWlBtZEhUczg2U2NDQiZ2dFFjcFlodGUpRTNCU0M8SXFsWmBEX2EwQTEpbUBm KWlkYgorejZ1KV5KWDNWenN4eXhLJitOQzRUWXN9VUsxSU42cy1edlNNUWUwOTMjUmdoOzwySGZL bW01Znt7M1RUcmhgMVhiCit6VSZycWNiajZEfG5NOEdkI1BveT90bnx5NiR6akYxZzFxOFFkXl5B XjhfKX1VO2JoNVpEdyE0WUl9UUJPa1BVaV4KK3paYkUxdU9rbGtFUShZNmBMSWhFcVE5RUA1PWdj WChYK1E/LUxUQEcqbUNPOVFjPm0hMkk7Qmo+Z31PLS1FVSFIOQorei1eWl85YmQtKXRvKDxTQ0d2 OU4oUz00PUl0cihtWExnZn52UEplbDFXV0FqWVh0aStWKFJ1MS1Yfi09SW9nVE1aCit6MnhsdEpz YnI4JFNtNXRDMVBlfjE0UXdeNDYlfUZeb1JKM2piJElyPTVFZj1UQzVSSFVDeyZsSkRrVUd9WDls eXQKK3ohUy1VcSZEUThEQnk9TjxDbUA+aTM4TyUkPVAqRDFnUUxlZ3gjVV80PDBzMjdoRi1BYz00 e0hpIzt9P2U7S1VWMAoreiZGWHJUPERXNnkxRmNxNyE4V0dVUH0lTnZOTSQ4Ynw0b2k8JHh9LTc0 R141dTxUViZlbVBAdjZEaSRXKzBPTGxmCit6VDtHbyt0eDJSMT9SdW9HMlhkOWojbWljQmB9YVFT QjlJKD9GZCNKSmFxendWUnJCPWB1QigxRTR7bj5MQFQ5clkKK3pxQXo1P0A/V1dSXlFPSTdlSzdt QTg1IWMjUjVkMUJDVkR5JSgrWVpxJnReallfe1gkRUUkVCRJdkBtdCZuc2JQKAorems4OEZPSGkz d1oyM05ab0VqPjhjZ3NJP1NEfjh6SCV5R29eWWxOa0IwKn5AMUF7PF4lZlQrTXpWS2VNeXdDckgj Cit6Z0pINl9rR0dkKD99V2xWcF5rJVgzeU56YG5OdTVgP0Z0WnhTeVklXihRcHheJn0mbSMpOzh9 S2c9SFNWNDZnPlcKK3o0NEQrX0BRaSkwIXxxSCUmc3cpTmRsRmxPN2lrcDsjRWQ4d1Fycn5zMGo3 VnEjREs+JE55KyFqSF59RVRxdklSPAorem10TU0jYGYjNWlINFhtdEpNZ2QqdWJfRDVoekc7ejky PytMI3JANnJjKiU/RURva1lZJlYjfiU7bCFtV2xEaGl3Cit6P3ktd29vNlZ2a3VKaT0oRWJtdDRe ayhYNGNRZiFkITBQY2xeOF5+YTl7fClqQEdeRSkpfWEyS29wYDZBWVg1RksKK3o7cnM/RUFmRDZ5 Zk95JHBYIXNlNHlWUkpvREw1Km1FOX47PXtZYUJleWlmPH07NyFVQFNhfVFIWGxWJkQyISVFKQor ek9jP1RRYVdtSmghIXM5LXl8Y0YpPnYjKWM3TDwwVHp7ZmpYbX1CbzZfdmJvaWhIMlE9aVBVSzZm ajdKcWNgaDdZCit6QW5UU09JaWpMU2xEXjg9R0FlIzRNVDB4dW07UyZgREJDNiFuMD9WKiRDN3Re RzFoT01mSV8oUnc2T217ZHFmbFQKK3o+ck1yRkZCISNTJXcxekJpMHJQLVlfSEB3JjNEYChIfkEj ckpwfHVIaSg9VGw1fXI1cT9DczJHWEg0PXlIQWg3OQorenNjd09VI1FYJiFYNTJHIWBMJElkOyND RUluaSR+SUt1O150JGBBWGpiXnBXXk0/KFc5NVVRdCEoMVdsOHghc21aCit6PChCbnY/WjVjYjVM LX4tYEBlUVEhOG5ReXlgWEBBOzdJP288S2ZAMVdAcWo0VXgmM1NPJCgoMUcxUHk8OHE9WT0KK3px YHE9KFROISFNJlJ9N3dWT05HdUdZIyYrczFRIXpifjNwcjRyRDNTK3Ryel40JEhFSFZ9RTxeWGAw WGJuVVJNRgorem5PTXcwTlp2dU01PEFFRGlSbVomJT5GSDZIamFfJDt6O0QyZEdmSDtAQip1eE15 PWV3YV8hZj9DZld5JlJkd2B1Cit6S35rKWs/eGB0dWcrZWl2YiQzb0BYQ2RpQEAhKVBeWj03WGU8 eFo1e19ZNXleZiUkNmUhb3lnezFudFFjViZjUlkKK3o/dXEzK0Qmc2EqZTsyUjIoQEd3R056MXtC eGNIMWJiMzlKQDtOeXd3IVchWk5BTkY/IyY0YzZwYF9zXjYyfDt7UQorejF7T0Y9PWU2SVEhN2d+ ZXIxVSVYPSt+UFgzejVVbiowWEg7I1JLfUVPZD00Q2t4OTIhbnkmeXRvK2V1MlEyeTN6Cit6QkJH PzZVdEEmTilPejVFX3BPPy03YXVtbyNoOWk+NUV3RFVyWSlidSpiT1JpcmI3RzNsfDx0SyohYWFi YllXUHoKK3p0MSQ8VjAmXkIqY1kmXyRTJk0mR3A3IyZ1OGpXIVZxcmtCPGhMRntrJnt9JStKQ15g djtMc09hI0tKaFdFTnQ4ZAorekFZUjl8TEl4aExNejtrZjlnX1d8SkZNaHA4c05ORFdAQjhWN2le ZldiI3w1YD5YdUdQdG5ubSlEPGhZfU5OKitQCit6Kj1RTl5lZHF4PndJPFNEO1hXVntKbitqckQ3 Tk0tRjN1eHNoZm0tU2A/OUFFeENxcV8xek9ofERCSH5ZRkZfKGUKK3o0Q2ZkOyhQXiFKIy02T3kr Kn4pIXVCJmlHYnsmRCEwR1lventhQiFCcWx4V0FXUT1NUns/UmpkIWZnRztsRUNAbworentlZUtj Nzt9eztnPH49V3k9ZXgqV2xAQ2NHfTJrbylaR1kma3UtRG8oSX1WZWh3fm9oTEZRJWg7PVk9X0Y1 Mj1rCit6cmd4N1c7bWtmPztBNDRvdndES2VMQitYRDt6WHBLYz1pX2ohSVN9RFhyaSViQnA1WVBN RjdxRzdWQSU0emJKIUUKK3pTLWpCQVh0R1pKUDVYZzZqNzg+ME1SeD18QW1AaGVKJlAkMnIqfmBq Pmt3PV8pTDByaTZvUHc0czZqelg0R1hIVgorellGT0d4bndWTyh2Kkd9dSM3Qkw/KjgoTVY+V1JT RCF1YHRoRWxAUjVxJl5iPFBDemkzLTJVaGNxa0F0aDhhMElGCit6K0xzUUhuOXg0ZEM/WnIlNVYl WDVMOXpgRUZvP0poYSQlKDMtOzh0WUB5WVE9N3UtO0V2PlZWLVhKdFg0WGpTbXAKK3pXbFZXej9B MGR3V3tsVnY/aFd2VV53RCFpZkFxUmN5OzRIUlFWKU5KeFYkUntFU25WSmt4OTVmeGJJb0tNbW0q MworekcrMX0jPSQ2JHBZUl8hfihheSZQTyFKZ31kVElqOCsxU3VvK31eaTJBI1Q7Qm42e2VWU3FA JEtpfTF8ZE9XUihLCit6JGJ1PGdLRUlLcnVQODRjRT5XTXxvaF9xNz8kQWw/JVVpYTFQWFhoZEkx bl8lbFQqTzV2WFl6b3ROczFQU1JqY3MKK3o9U1g8UktSfXR2YWhgTWImNFJpIXhMVSg3JCNxZVVg aj91eCtIXjVOaTw0bFNIZz5yeF5pbysldXwmQXhaZGIkTAorens5Uj9yYmIzKHozcEJ8JWBXNShw Zn00Xms4QUVabTBaJjJUbSE3OCtvWDxPTm45aHo5SzwtUGJ5WEU7UnUzOT0pCit6VUdyRzs/R0A0 dj9SbTErO343JWJTPH1oNjRCX1o9RjZTeHY/TGp0VktRYCYtYCQwX1E9QkkleW5kKCR9O05ZPmkK K3pFaVJTSmU+OHo3WTI7TXJRVzwqbiV+ZFhKKSNLLSFgcDNQP1VfO21rMThYXkM4THdASkNwUUc3 aylTQ19XfFltNgorejVVISRPWXtGUDRUZUpzO0N+ViN0b0lPPnB3ezkxPDYockElYiFqP2hQJk01 aG1kPn5IJUd6UzN8MTZ2dmN7b1c9Cit6QmdTSGBpPjhUfk0qeT99Qz4jPThRSGB6Xk9MbEojWnxS ckpYXis0QHhALTBMOVhCZVRsPG1TYVFkSHxiblRrN1AKK3pwLXhvZlQjb3VYPWJFc2IyVjZ5cjhR WXtuXzFUK29EYFNVVVNMcilDKzh6dnEkdGlUczZYcT9IOG9KaTVFUXthNworeik1bz9fJFElcj4y Zk1KOzZQSVIrXk9AbCUlZUlieHlOWEEoeytTMVUmfmNmdUg8fntgSChfOCR2dWJ2d3V+QEQ9Cit6 KkZ2d35ZQ2dsdmF6Vn1hNVZYe1ZOWHs+XiMwPTJrc2A4M3BAbDVIKCRaWlJqXyVQZWx2KHFVTnI+ ODI9Ykp1IXoKK3pvIWVVYWAhb2M5I211JSU9Mnk0NGFUPEItTEo2cnczRW8laWVQdkhZXnt3Kytf amkkUHN5eUJTdVghcjU/YUlhaAorem1yTnhTTCN4SDNKQjZod0dtbitKcUooTSo3MHxTLUVVU0Rs LWZ3bEp6c2xGRmopQDI9Y1h3QnRYUzg7P29JejZUCit6S0l0fFEzPVE/QD1NZF8+KlY5aVAoYzE7 VC1IVWhXN3dFbjwrKnxiOTEwfS1CPSpMaCFzXlJRKzxYWjl7TVZTaGgKK3pgVmd1JHwxKVIoI3Fg ejwkMj1GMHRjb0ZSaFNzOGhhX0cxYVhBXlR6PU4kOyltVHllUEMqVCUjUGlLfFYrUXUmdQoreihW bUw8NzgzNFUkekt8ZVp1NiQ1U2FLZGVePE5sY05xUSpNSCp3e1cmRUlVfFJtdn0xa2ckbk5ERz9E QExsPE96Cit6SHEjVnJhMGVVQG14dTlZWj1SbzctQlNnQ29XMj1hbzlBTj8laWxodGRVbzVnNTly a2xafC0telpDPjA8KG5HKCQKK3pWU0cmOEoyajdMWmVLbigtelIoTGZ0LUJtYTltb3xnNDZGX2BP P0VIbWZTemJ7bilRMWs4QW9AKEx0WVE1RF91VgorelVTQ2RjSkhVTjdCZlQleThEZWlDYXYxKUpl RV94N2tFV185a2xmTzdoOG5hSUIjfH1hNzBaSENgSDtLbzVPcVlGCit6TjBfaE4rJCtENUlwSEhX c2RDeUh5eDlNMGJQKXIxMDktIWJMI2NZK1VzRWtSWXd8SDViYUA/dnlRZEo5eWJ5QGIKK3o+WWla Mi1EaVgjX1RxMSE+TSo4KytuQC1KaC0hJWc0P2dQSGI/QnY4UyNRUkEpJFNlPisrRT9fVVV3aj81 X0hHNworejJmPWwyYFJuR1cydXNNJUUhJjx7PWAqSm5UU3JBY2EwfWM+cjliZCQ5QVk5bkVibChg XmQjIVM7Xik8Z2Q0LWs1Cit6I2dFUlZ5cTZOVihMOU5UKEBDZ2IkQWxLejtpN3pJRDxDdnV5S2Rv KWomSn1gQ2pZYjkwKz1SIW0hSV5OcWwjSG8KK3pRIWpWUkVSRVpSKUNXU1FnUjtFeXNuLVM3e3Y1 PndGUjdZZkgzektXbXNnNXZBNHx2eTdyZnh1I2swNCVtYntmdworemt9JVF+PnZeKjIrdnZTdXtj SyE9MXoqQXZMWkZLZiZ1ZlRnQ0NTdE0xciRya2RQfSVOQzdLOGheST9NVCRUNX5jCit6VTJCfD1r VDBAfXlVTFo8dTFeaTB0e1JWQXhjPT0xQEI0NTV8SmZlbnNEKSM8a08yWHVPI05yejtVNk9kVGln RzcKK3pyQDcqX2BVZ0MkLWclKEtJdz8tailRRTFWUztpZj8wTFpQQnhaN01kbiVRTXFFdWglYzx3 K3pMOGhVUFE/KVUmdAorejJCdHcwSXYkZEJvWkpUejk+UElAPk44QCZMSHhPcHZ1OHdEVT55JjEm ejhrRkQxe29vKUplaCtiaXFoa3BhTSlKCit6a2FkSkRKbWh3IWl3XztzbXBaJiErTVRTdV93N3dy NDRtKERveTZ8dGpDfEJReUNBOyF1M3didyhjd1ZjMz5ZS0IKK3otd3M0PnQ7e0BVNlB7YlgyYmFF e288KGpFdHteXnQtK0ExO1UxdXxwPispfjd6ZDhRQUF1ZW5FejhoUD48bk1TbworenQ8c3NJOCF4 WDJ6KFdfZlRIO3AkZXd2QihlMD9hJUR5ZXpkZVZKYlAkX25oaC1rKk5oPmdqUClgU05YajVQcThK Cit6eVBqVWFleztaXk9rfFZgNzV1R0J7KSpuKzZWV2ZwSUJuV01NSVQ4ZDd5Y1QtYWJPKmdJVTE7 dUJIbCt2R1hTNiMKK3pRQEJ+YWI0VmlfOFI9OEtFdkEleTNHc2piXkp9SnxeV31ORHMofmoxOVFo a191KSNlZ3dYY0VFN2dQNFQ/Y3RJZAorejlmaDNpIVgmPU5aVlFMZjs1UWhhPTF3X2F3RytMVUNE Z0dVdXFkQlRTV3d+UEAtRUhGVjFrQDBoejRHUTlIeWs4Cit6NVdsUEExYiZ8KVpWPGpqdSRBd2Fj dUVLMGkmPCNwO2soQkM/Wn1TaWhGPW83V3w0IyMkbiktdWRAXlNZV3Q9WE8KK3pJelNZemx6UnF7 IyRYe2poZUp3fC00OD8oIXZtVSlfXzR4SnVGWj5rfEZfcEMrcHFSKzwwSGhuMztXSD80PmhAKQor el8mVj96Y0deJCpYKUBQQWw5Uih3blBfRVlePklzI2tvYztIOTQ8JCFBR0k2Rjs3cXl0RTNnJFJI K2wlfVUwclRLCit6YVk4KiFQNkJGZ0NLNGJTVkRaV2FCWk0rVzdkI3k0a1ImSGBzMGMyWGw0SERo TkgjckR1fWMjOD9SU3FRVXZTNjAKK3poKWROSHRJSmFXRnw2XjxIIWlKNnhlejg4dkdBNDtNYDNe c0ArVi0kQjhyNHgkWk1jKkd7QnlqSV5kKXhYSjZiSgorek0hfj9YNiQ/RipHczUxV3RYNHg9dTBn VklUJCpDQzs4Y2Z5eVBhY31ARF9lYXUwV2ItLUdlaWpBbE16aUBPTT1DCit6PkVWPkZgO3QtJTd1 ND5udT44XmpwVU1nTzcqKiNCVk5ANHp3P2VAQFVIPWo9QGp4ZkhTQjF4IWY0ITQ7RSplRFMKK3oy YVlQclAmNU9KWFdMKy0xVk09e2Q1eE91SlNkMXkwJTE1U0BGZEQ1Un1VaWE+fm4jUCk1WCNDK3Vq amtrWEo3TQorejx1ezc4NGZ1PGstIzlUPGB+biRuazVSNFA2UzxTQWFxfWNDPGNyJmV7NllTcHMp MjVSMjZSVTlkVXpvXzc7bD1YCit6aTlMRjxBWnozVmI5eGt5YUpSdEZZZjlrT1UjTnN6TmcwNz1y cFdRVE5BKTtacEo0WWpMVkpOM0hYVlIyQ05kRVAKK3phc1k+V0dheUlObGsoKVp5OX5LfUEocUQt Rk41JV8kcFhrNXF3WE9tbTgycSUxJEdLa2xvWk00c0VVR3VITGQjMgorekV8RzNYYUVhfCspdXJO OTMxalRRMCQ2MXJrQ2YyNCleaDB9ZDdURWZCRmBmdkdSKEt8eDhOVl8wUFpkbG54fCZaCit6Rms+ RXMzQSZTWCg7SD9vMFJofFAlVk1VSzwmfkFfQTR3MzZKNlZIaEVSJHlGJGhjSklaYWF0YGFJQG5t QDspI14KK3pefVpiTmcpJjVhUW1BO3B3cmpXKHRGJTA1dCtibmxUfCpjYGVZYjJ1aj1VfC1NP1RU NkRMKWxpXyZWZGlkYztrNgorekVDT3pwMkFUZDtYYio1dTs4SW1COG9+e3IhI1JmT15lOUFzeiFw JTZYdDJWejxZcDRYaXNeOVhhOV4lfTs7Q14xCit6fDheS3lCR0tkdUFfd0tLTmIjSSNBUXlQcVdL OEErdDk2RXxDISVgal87V14yQUZ2TUROX3Z3WXlCTjt7djxnfU8KK3oqaSRuYzZQclRAbiFHO3Rg SnI1PFRBREdrWUg8ZiU9TW11TXFYWkhUNWQ1cEpMRHNnXlpFJnJ1X2hYO1IpN1M3JAorejJEKGR0 UiN9eT5LK0dpRjcpKUQ5X35aezd1KkI1OEFkRlJtNlQjPyFQTl9nNDMjfT0tKm91V1N6aGMwRCNs Jk4zCit6XiUtPENLN1BqaldgKlIwOWJ4P2dubkBEVUghWiNuPCVGfj1aRzxIUHA4QD8pZm93dFhJ JkYzekFQLUlIRH5lYC0KK3o8ZF5JfXBLOTc0TFhQaig1TDNiZzBjUWk1SVp7fCRhNkVXUUQkYGc1 WjN6dUFHPkYmbmJ1PX4xd1dUdW1OZGg3NQorejJsdGM1YFdrOX1pa1IjbHRIVihrYSE1O1Jrak40 fEw/e1k4T3JxU3w8SzBSPWIofFd4S3RAMSY1VWVwflkjMSZuCit6aVppWWtUY1FDNllTPkYlN2Rm TyoqKGdaN2gjSDUpTmQmcD57ejxTc01eWW5uWWx1VD9nKjMkKUtgfURRSipQaXMKK3pXXj52ZENi PlhXMVBjc2VvekZyJHo9NSs1O2B4QmY9ZFIzZnVSS2NjOCslVm92ekppVCU7Z3M9eEM5S2o7SUw/ Pgorei1yNHJ6TFJBNjNZM1dRcTtYMGA7V1NjdVFsNGVsNW5fT3padGRFdE1LYjB7UyZLTkd4MXpL IUs0bmdqI0JOQlBLCit6QEY0VSZVOHVNdVljdHw+Y35vLWFYQz4jfGZOdElSaCNhIWw+SEFOJHQ0 K2B8YTwrYGBnbTh8NWpiPmBEPE94a1gKK3o3PWtZVCt+UDEwJEc8Pj83S3FLWlhmYTMrR1l9JiU1 ZVY5PTNzcGhsaUozfDdzNjN5ZDghIWo1SzNiQis8MGF0cAorekc1IXFNTkBXakYrITI+R09aYFpn LUp9dFRebl5LJVZneC16UUY+UkgpcyVSWURwalFzKWlkeDJGcFZrMDY+NWghCit6YGNWOyl1RCl5 PkhCYSo+ODZfVmJZNUsjUzUkYkx7ZEFRays/QV5+OWt1b3I5clZiQShZITtzPmtIdHZHNkZ4azkK K3prV1l8cndeUz0oO0xwUX1HNHd1Wld3ODRgdWZBeD5UXjlpRXZ+NVVoUyNaeW5oRGZkI3ZvMWFO OGcqXzU5PVNjJgorenJRNDsqdFpFODB1PnorXyY2ekhETHV2PT1Jc35LWWx2TW0lWE0wKUhjQT5K Z0Nvc3t2US1CemFKckw5MTg1M0FUCit6bEFjfHd1NkRkNzdiTkpPZ3Q9VGkkYjE3RUpgXj9kN2VV WGVheThaIWdiKmxBYVdXV0Y5UUp0VFBiOChNZUQ8U14KK3o9ayZzPjFeWSRmIzlgayVtJl9lRlI+ PHJ5RiNAYm42I3wjVEtZeC1+eklHI1M0RG1WT1pfQTd4OSp2ZTRwNjB8Xworek03ZzBQNm9kJkZM fnRZQTZWOWFjRi1IfU10WE08OStOODNqNTYxTEttfWx5O0A1T1JFKmprPiRtTWgtR2x1ZUlMCit6 e1J0Y0Nga0FaZTFZeWRCdiheQzdWSihgU3Q+YkV5QiM2cE5uKS0qYyNncXoodllObDBARFNESU5I ODhwR3tCbDAKK3pGeCRBWiUjTUVGTFhHSmJVMWlIdnJDOWFzViF8e04xPFhZcUtHNDZoeGwoMGEp YjREcnE7Qn43YWlfd3FVdylaJAorekZuK3JVYHtZOGFUelVyaSpOLWleOzB9UDBJMi0kTDZZI3Vs VThWWUFRemY8ZyZ6Z2ZQLSVEajx7PF96TWkmNlZeCit6Qn1LU2UxTTRXbCZnIzJwI1VUWnk4WkRT V0ZXMXIzdSlINFFYVkxeWnlxOGFQTDw3V3VXa0whbFAzeDxXYWJkRDkKK3opJkhvQ0FEV2JPIyRD VjZUY1U1cTVicy1uYGJwJjteQW5BTHtabkBaaD5SZk5GYEhROWlIYVFFKVlNTC03NGElQAoremlJ SGpXd3Q8PXxvfTJCKCRaMllAXzdBQ05tSklBQHlKYUctdFctdjVjJERnUTBOTTwwQ3IkSU1tdDRH fEE4JlpOCit6QGQoVnoxKiYkTjw2YX5ASj16blRfJV53NkVPblVEek1AaG5GO0chUj5NazBsVEUk THtXUiRGKTZ2ZTBHXmQjMz8KK3pwTmdncmk9P0wwZ31kM0JMOVV7X2hneXdmTko7PUU2O0N4RzJY Pkgyakg9UH5tZDJtKHN9TzswR3hzX21JU0c2bQorel83OXEmIT8xPDJPTzk4IWhUcTI3PXhJXmtH UDJUSj9TKDBsem15cSpjbCEkfS1sfSVORXFKQFZVaX1MYXdOWkdDCit6RWZ1dlIrNzI7dXp4clQm ZmVrbjJZTz1tVXhxaD1ZP24jMkJEc2lxKksjaEgpOU1uTihoR314fUxWRnYjOzNLNnUKK3ptPDBs MTIkMiolej5wdyVqNns0NnxHdkhRKElacVIjejZLQk16RUxEYDktaT9HeG1VbE18S2R3TUxYPGpZ eipYRworenFUfjNgbiF7eVNBNWdGXm5nNTZmZml8Zkp4NkIkYlEoYGhaQV96ZGgldFp2b0xveVRW MFA+bmJwd0J1IUpmJHVICit6PGdQJm9iOHNkSDhsZGstPGNufk53WH5AMzNmbXVzNSVjK0pxalN7 N3NFQzNNM0ZwX1hzNistUUhGT1ZDWn03Ul4KK3pYMz9hdkF5SiYkeUJfYih0Znc2VXRFOHZOPVN3 NTtCI3wtI1IoS1p0O3FeaFomQkBLIT5pYmB8e2Z9WlFnY3R0SQorekgyWHphMDYpSHxiQUF9NU4w OGYzaHo3dzZgeyVEU3Fpa0BTTUxKYXUhcG5xJGFVc2xgbX5Tc3ZBPWQyKT9nOTVhCit6T35RKT1Z bnQxQFVnVHloIV8jQUFBSmw8VmtvJktMP2QkXnNXVnNoYD57SSRIcjQ5I0hTYnY3eF5JQnZTVn43 R24KK3poNWVkSzlQM1ZLJVJ8UlItQmg1OGRPXnxwXlRZMXpPKzY5QjtHU2hlM0U5R2NFZkRLcFRH NjByVyR2LVE2YU0mPgoremQxJFpHYmoqczQ5JSM9PFBKTWlKaUNJe29JRFlvLWtVMF94Y0hfRyhE eHU0JUhzcVkoJm5NNGd0NGRqcDQmfDh1Cit6UnVHTSgmJGxEaW5zQW9rN3QxbWpzaEpfTSp2cFFe RkZPcXJjb3wzVzRjWipnS1VWRzR2JGhPZipHZXhsMit5QmgKK3pXS1hZKW98PUtuRyVVRHZRbDxV OCp8fS1FIyRMajtXODJyUSpxPDR4Yz5GXkRRQmlvfVM+K2gjTEVyblV7RT0mXworelEkYXxXJCtE b3IlVmFXOHRDMCFJaTNTc2k5QG4rfFB4fnB2YHdCIzxxY1VPV3VzUVYkV2Ukey05VzJfeT04ekds Cit6bG9aQlc1OTR3KmU7Pm1OcnN0fm5mXmc4ZTBpJChIP1Eob2FoJVVMMnQqaFE1biVHJjMqVT1n XlN+cF9FZFhYYm4KK3o0eE4yNGhSPkMjOHkxb31WPiZzWUtScCp5elRCLT8zTUB3Y01GMyZxdzkj PDhiQkZtZUIycW9FanFSVnd4Q3ZgfQorenh4ZGFCWWs/V0N7OEFpVm5QZkNxTmEkdGQxOFlLU2RM JmVkeGRmdkcqaEg0WmtHbCMyKVhNSD9YNzc7Pj0rbVJMCit6PDdrQW9gfnhfemNScnp8ajBRYiR6 UGtfX21fNSUhK2FOd2w3S0R8PzNiSSlhTk4mWWRvI3RQcU1WNjk/KHJ8MmIKK3o0ayp2KmxLa3th MH5aTFJtXkBkOVcya0M3M3s1dzsyNk9rSkleOEplPWBLeElBaXRlWFlWbkomeEJpdXgpRX1RXgor eiVkbFRuOVJWfGp3JmV7RC1jRHRzNVhUMCR2UlB7JGgyZU9oSk0zZ2lqYVk/VEpPSTZ7cjYpT0Y2 dCpRJSRrWU44Cit6YDVMKGwjbkdnUk56WWg/ak9UM29eOTdwRilJSGEjKCRRXlRxbF5odT9XNU03 YyUrS1NaWXN2JDFnK1orJW9oT1UKK3p5bFhoWGg+MyhxamUjU1R6dDA9RigzLXxZSmpoSjlqK3ZA cDFGUil7dSM7QVlfdkFuJk1qdkRBVTBmMT50JTMpPgorekt8bHlfViZTTnctK3lhUGUmU1Izc3E8 MmFwN3ByM0V+U1VtaEwrPCFFc3NlZkVgNFBuKm5CTktOTX47ZjR3ViZDCit6eDVRMFQ0VDQ4NVdS N3o3X1U+e21QeikrcT02TU4qSzt3VE1OKjZDQ1hmWCV0NkxRendNX2xzRXdKSXF1OSNvQ0cKK3pQ XiZeQFZebmtWPTYtdzw1LVh6cFhOSGo5ejQ4Wn1CTzEtVmRjQTBUbG8ycXU4WkZ6UFRRaTUyaExx MnU5VCNhPgorem8tX0c3TkBxWFRHVDVYQmluY3I9amB5YntneWZkc2kkUTlld2xYeX5QVkR6e0Nh WnxNT0R2OTBsKE1nQnA2emwqCit6YkZJRHchKSgqfExVQENFSCQzKERsJnR6d2BqR21tQD1TPEc5 SlZjQTRIbW5sKWJpK294biFQaE9WRTNwYD5mZGIKK3p5O2RFQCpRe1Z0bSpwQkslIVMwZ3hhRytW PT9GPjZrZFlDR1JtZEoyWWQ+Vz8hNHdVYi16VnByenB5PUc4U1VoYAorekV6Y2dYNz1zZGwhd0U9 THAjX157T2ZoM1RsbHc1cUlfe2VSLUlTa2tFQmUxVVZXdz5DajVedkZabChFbUBQTiY7Cit6X3Ji emtsUUYqKW94YT48YlVBN2klPHNtJTwjUy14NCN1MChEekJxaGZzUVRMTExYeVM5VmdGeV9eJjV4 eCl4NmgKK3opX1FgSU5VUFZ5Plkxb2Y2bnlBQDtlKmBOSDdwMj9VQ3gjdmQ/JlkyNUhPUFg8NSEr WlNlXiNGPFdtKlY3Z056aAorekRBdUFpM3kxMTFrbVk7e3l1ZiM5TUtaZFl6TFEwPWRIOXc+biFD JHZGRU4jWCVgPyg0dnsodkU7Oztme1UmdEtjCit6aj95JUJgcVVodWhRLXkrYGpzNXpJPjFHeVg0 Z0VrLWBRdUtyKj96NHZnaEdoMUtkNX4zKldgPUg8UEJOYS1fTlQKK3ozYWVZeE5WMF9aMkA2LW9C JGVyKTNgNUoyTVhYKGg/eUp8TD5TPTtqeE58OyEyXlFnT2kmNjhrMjZtbkFIUWBiXgorenc4eDNe Tzx3emU9YTA8Zy01S2d1RmwrSzRQK1lwbkM8bktgdlgoJFFSblQmKyZhYDROME8/N3l0SWx3fHRW RkVMCit6RGVva1k+emE8JjtWOEp4UGRLTXVmdEAmc0Y9cCMqK0RUKlI/X017Ni1rPWJoeiZCN1R3 SFM0eyQ7JGVocDJJZ24KK3olOX1+YnomJnpmTWhIK21YTkBhcVB3bztTQUNFJFFMPiFNejVjRm11 Mih3VFRkMjdqZk8yJitFRmxlaU1vbUdtPworemRINlNnPHNON1ppeDRwdik8TDBiRWJtQ1QjQGxl QEJ0NE92Jm0qQTNobUxwWFYxYSMjbVkwYUNObF9MbHgwYzJvCit6RFRISVhiK1VVVGxZfSFZNDc/ STBFIWlUYGxtI3Amclp9d2xPZ3hQPUtiNCtoJXJyd1hwR2preDR0WXYlZz5gTzwKK3ohNjtrZHlt N2BOX2NMZ31EPU00PjtrbElwMjMlLWQ3THl4bk1rRmBtVyNpKGNLJipPaXBYSz8rT1deJFpgcH17 UAorenxGWkc2cCZibGFsbXsmQE8raGpOe1I7WkVPYkZoYVJsYGVSe1p5I081LVFORlQpUTBhYHR1 ZkEwO0l9fGojbkdXCit6Y2AkZHROYlk1NnVpOWchK2E1QVBTa2lta3lMSVdLPiVfeHgkZWArSW0m YSlAWk9FS2ZmSn5kVVhuRmQ5V1YrKU4KK3pVLXxiQnRuJnBIOUdieEB6V2VGPz5gXkp0KU47TD0o ZndaTzNBMGVQc3VzKzJ4O1RTZG5USmNuIWBTfWUyN0hDdAoremF1Ui1RLVElclJnZU85dV9IajY+ Q2pxQHBIaGlaNiV3MDFLXjYmS1gpP24wZ1NhZVJ9a0dPdyN4UGVDPUx5ZGFsCit6Wjw1TT5WVjg1 MVAkbVZtajJAaDh1JGtNITc9ZiFuMio+JCZfanxlYEp7Z0ktQVhCTDl0YzNtcDtAXlV0OFJ1SSsK K3pVfTtOK3RveHpLak57TmQ9VnxCO0d7NmhleTVWQU92eCQ3ekchTXpQOzRmVGNtVXBII3c/eClw MG9FYDxPa21gdgorekZDYnxVRzR0Nk9zPksrbkRncVNTcDkyQn1WZDhGVmw8YGlOajcxZHdJN0Rl XzdHd2FMKiF6T1YpQjZzN2VFUkYxCit6anZ4SDUmK2UxRVhfd1Aoe144aD5QSFAlbDswbzFzX2ti NXB1QVRaUkg1K2FUampPbDZ3c15wenRRP3dpalo2anwKK3pVfnF3aUZXK2slXzN5fDhVMDFxK2x5 IyFGdzdzVT1KK2k+N0U0KFl2NEZMISVvQyszTU1AfjQpMzR8TGF6Xm03KworejQydHxKc29aa2Jz XmZlLWZxelpVeEopN3BQWC1Hbjk5VElWZTx5ZSR4VGxRZCQpVWJzXyRuLXFCSndeVTNFVXViCit6 ZjVHXkFNZjJNcCNPfmFVMiE4XmJCN2JXKVNaeGloX3puPEtUM15KT3Y4cjxCUClRYkUla3k/JE0p RDApJFl8fmIKK3ohRm42dGFfRVIrPjVpZntrJnNpMFMpRHxaRFh5aSNUUl49QjZmVG9SOFI+Rnhf Pz5CSHhgT3YmOGZiRml3bkR3TAorenFNWSUlJEllUnpIQ1BOakN+IS1iJj1+fllvSStTJkcoMjVS P1BhdzU4JjRtV1IkNj8wLU19aV9LVXo/MHhQbTFjCit6P01DZ21aP2khfmN1UH0xPSgxb3pZUGk+ K2hEIWZsTz5PJVhrc3k3Ryp6JnM3fEo3KmJYcDxSb0s+YUpFUWFBdTcKK3oqVD9FK014bkB9XyYy KzV2cT1US0NOS2dvU2hVYSRIPTZ9ZWVUOVpLbDBJdEIqK3J3JFBqVWE/TXxBS1BsZCoqMgorei1P dEstSntNO20xUkZ4ZUdgKmoxIWE2ZElVNlpgSHpmanBoYjEqVENlQUghellCOTQwK0NgdmxjODtS fHdgVWhpCit6SyQ8aV5DRmR6TjxLRns4NGZ5WHAlNnFkZlpGakFxenF6LXBLJWg9Uzs8RkJENyRn T2okb3RUWFMtVShGNm95WDIKK3pybjtMMHd+WSFQREVnZEgxPnV6YitQbCM+KnpjUnwxTHVwZVdz OHJNMElkNW5McT05eClseTQ1REVmVFY7UlBFPQorempRaWRqJFdaUUJmXzctfiZTJFReT3d+QVhS ZXx2UFh6TUtvKEtMWGYjJX04JV9VKylMdzd1Yj1XbHBLY2oyaShBCit6Y2tZPj91fkV1Rmt8cyQy b2E4fXghfjhJcFdDMnRGPmpYc19oRmQ/dkBhPSp+c3hnNylAbTROSGNzZlB1ZyQoKSMKK3pnLXcz PWZZIVR1NXA7T2c8JGVfZSFBNCMyP2A+Pl57VFJyZzRJSEhvZUEoNVEoenRoI0JOdihSRFk8bF9O U0FmTAorelNeOHpwQ154fHMmMzx1KlZiOyM3SyNVbFZrcVkpaiFEJVYweXdrR3tWT0FmKXl9JUpe VTFmVUlCQlJlaT9Nb0g+Cit6eDt8cmFFeGBhM3g8bWZyJilVQHo4V25uLTtEI1ZKTl9ZYyNQbSVU S3ReZ19+ZCUpJmY5KHBoe2p+K2IpYHd6RXIKK3p6WnRxd0t9YTlwXnRlJHV0NFFacHZkZkIqaW0t SntFdiRjdHp3MXFyVHhTdVRXTk1EPlA1TTBwT1dpSXk/MEs/QAorelU8OFZhRlBKeEdtdUpeKjl8 bmV4QUlkJGloRT9RdCUtd1UoKFo7T1hNLTQmJC1GbWAheGZYd09FNkpVY0JXNFFgCit6dHhCU3M0 U2pielVlfTg5e35fJDFxQ15ScmgwRV5Ld3IkKENaUUhoT1RjPlQ/d3IkKEM/S3lZV0pqezNKLXVk Z0gKK3pSPXJmY1I4fmYxV1c/VGpPbD9PaEhkWV41SzUwez5geGVTME1pWTh+c3hxKkNtWUxFOzlq Rnlvd2x9N2AxRW9mdworenY/XlFadUBecm1RSytIdm58TX5LRm9ZPFgyRnRCK2BNPX5GNk0pbjts a3tONGRlPTRQPUJ+XlhtZD94NlVuRzs2Cit6QypUTkJNPUJhQTc+LV80WEVENDRWZml+OFJXPGtH cWgrZnhgT3JGSGpuQSYoYWhvbmooVGdleGs1SElXKEZeQCMKK3pyQV5wc0s3V187XlhobW1tKkc3 YGheaSNjMn50MDlzTGY3OHlCdG9gd2VQOEZrSEslI0FFemFAKTgkbGRIJjJhTworejVRWnJgIzxI UzBYR0NFclNGS0VhNWluRH47QUwzciRAZiRjQEt6aTA5RTJ3U0xjcDlAPTs1O14pbT1IOS1IdF8k Cit6LVJNYjtpRiRVZD1naDBCTyYrKHojaj4kbT54Z3RqNV5RPyNsZ3NYc1RjTFY8JjNuSCluKWJg aClPUVJZcVU4XkYKK3p3Ql5+X017TWdAXjB1QjZ5OCtMK0FNRV9uc3ZgNEIoRiVVYHV1SWpjKC0q a1Jic2BvQ2lHYERERDMxfEc1a3tmKgorej5MWmF6YF9vaXFNSWJ8Qm1VcXRDdElfNjl2OEt5emF1 I2h8bCQ3VzFBRj03SSs2QzReV0ljcmcrcFZqNHNBMXx7Cit6Ykk9aEheV0lvITh2fmtaVmA1NHlm aUdlOXQyNm5obThycGkzZmJMTHh7IW9DTml+ZSY4bGk7e1BffjQrIW4oZWAKK3otVX1DfVc0OSlm KWtCSnVDd3I8NnJGIWRlOyY9c1hII2VWaiVzTEFrbjllM3F5VyMpejhrST57NzQ+aWJEVFVZewor emBUWDBCbWI9N3N3MCpuMWdXZEQofDJnX1FaaFcoc3JPSDY4TEt7WjEpa35lRip7fTg4NkZQaFds ZXQ+dGtFYHl6Cit6Rz5LfmpISGM5OHNYRWEhb05oTlJtX3FXVVY1QjZlT25yKkg2SCtnMnNscUt4 Ym1EN1hLM0VrOCRBcElHSVc9NnwKK3pPXzskT2dXPCs9JThsM2BTeG1Uc3NhfnxeemdweU13VlJ7 JUJ5NGM4RTBWdHdGKFhSSjg7Q1NuM3ZfNEV3bUgxbgoreihiIXNzK2ZhfjI9ZlZXWk9WYkYrK28y SXc8bkk9ZThzISVBJVU+T29ESGhfXypAVFBjanBeIUYlZmAoJl9fdVp3Cit6eXl0djRDJlJjSU89 UnY/YjVZMmgpKWhRODRJNlhEbUhhSDU2dl94ODlLYiVGVj9zcSYjeUV5YjRad3dpRCRTYykKK3py fDk7bWBYWngyVyliTll4Q1hRaU8tYkV+Sj1PVW1DMj9Ja1lxMlAraTdBQzxIRDViPHZoTDF2Oz0q Iy0yN3N2dgorekAzUWVUeXdtQk1uMSpQRTJ9T1dodSNLTGNBIUIteWlwbSk4bWh9R2tgYGF8QUYp ckI/LWRjUzxnYWYheFJmTzIlCit6SldAa3BYbUVkZ1NfKHF7T3VRd3ZzLW58MUl6c1JkenpiRUNK Q0Y+TW9RalV4eDlGP0ImdFF9JVM0VjtJdTVGS3wKK3pZYS17aE09QGlgKGJDMTIyTVZ3YFVaeD56 NUBuNSE+dTlXUSQ5NEF+VyN8RzA9TGlldCZwJjJ+WkVjdk56KWxuPQorejNgR0VITFRxWHE9K0B5 bUR2S0gpOHNiPTlLJEQtbzdwdkF3NnV6UUd3eDBtR0JQTE9VamhKdX5rfERyJnVZSDE0Cit6TW1U QEFBI19YVT5Lems4T19IPT5Cdk1yZ1Z4NEl7VGBfYSU4YlhyOHtWbCFyJUFxY2dhYTRoJFByS1lv S35yc2IKK3pnYF9EeHVDUGozVTEpfW55TUJRfGQ2aD5JNmYtNDUoPmBLJitFZFdEQDZxfjRsVzNq OEo1SlpXT19RYGJGRGp1NQorejEzdjFtZlhYKyNASmQ4Izw3c0txVVdiK0VPOHVvVnhUQ0E/MDN2 Q0hwZmprcjcySSlhU3wzSiVLPlY4RWx9cTFXCit6P1d8WXJDKSUqe3B5LUBJXz4/Z0JTUjc3ZWZ0 cWFQeld8MGIxNyNwUCV7e3x+Y2xDOEpQQThJNzB0b3x6aUdhb3sKK3pjZF9LX193cEU0T2R8RXND eGkqbyktdkBkZy15PUAmcDhZdDJDVWdXTlRMPmR7TXBlVmdUR3RLdHZIflJuKTsxZAorenBsZyRE dUI4XiVAe15+YW5SJVA0YmlfZT84ZzBqJGJ0N0pTPyF+eldeTnJsOEQpKHZBdX5Ndj4kRnkrVFN7 OzdqCit6e0pzYCplOz1+bEdeV0xhSGVWMFJ4amRuPD02UndAYjdaQzFZJXlKKTJLSlB5a0U1WjRE d3doYjE1VFcmVTV2aUgKK3pkYlQ9U3R1QGlAMCNJd0VYJWFUVXcqdVBPTUFrQTFGST0+Pi08KG0q JjRnOFZGR1koMV4hT08+RWZ8Mz9NYV9qdQoremQ0c0hzQl5iKHRgQ2sqelp4Ty17TFJtU1U1bT9P VGNpNnFZZW5+JmZjNz1PZXMoY2JZJnpmKGQ7P0BLMStxKV9HCit6IXM8Nn1fR3B9byNjMk8tVXxl a1MtKUFkNVJFXiphYyZOJjYlVVptI1NQdz9gRntEYWVoREgwanRXVk8/PSV1QEcKK3pCKDFRb3Nx YDlFTzBYN1RAc3MxNkwjeVl6UTxIKUhyRyZmcWZ8KD8qIUBSJTEqT2A9PmVtTTI0U3paaj8oTnZU bAoremVFKjIlU35ZQypEZDMpKmY/NiE5MS10eXw3P1c0SzctSU8lYF42eDNRQ3tlSjxqI19SayUz anBYNFhTV14jZVg2Cit6aEl+QVYzP1AoRTwxbnJ4P30/ei1CNXIzZkJWck47Ty0tOy1kdVRUPGtB KWVPT2o/a3FvSHxGUTFRSGNpJW9wayMKK3pfREQ7X0ROeTFJJSNXdWdDMWY2eDVIUCtudDxvP2dT WVQrckg5ZDFJUyNOelo0VyQoM3UxK3RwRHN9MH1zfGBnKAorem53bSZaZUY3Tj9XbXNiRkdyK35x JUUkdSRWZU0+Y3dmd3E3SE96aXB3O2spUmNkUDRzYmk5M0Eta0Jgcj5oJGByCit6b21OfWArVTRS TGJsaGYlLW5nNmtDcDJeajU8UmAwJiMzJFRyak5WcWB9YF9pWiMhQEgwPWdWSDNsKmMkeDRXSz8K K3p5UmtRV1JpOEIkLWxPSFAoVUNCNXpjcVJSa2RIeTEjIzFwWCNCRyt4PUxCeWI8MVhLdGUoelZa IUA+SFdJLT4hPAorejNme1JRNkt+SVBKXz0xQWRpTTZ1Z1pySDYwalVidFRwYFc1TzE9bFIrVmY+ TVEyQVpzMFRiT1JEJV4zc2Q9LU13Cit6bz1kdX1tbGludG49fHdERCshbFJ6UHZJWUtvMW8kUENK PFcjU1dnTzZYUU55JCEwcEhTbnl0dFN+Q3I3RVRIZFYKK3puOCVQWWhfJiFicEd7PkA/R0ltSlAp QFBQY084MXJIQTZnZ019fio/Y2chcE1mc3dHT2RCPHtDTyRfe1dkYF9WZAorej92Q2IzVF5YSGl3 IT9GKyleUypLQ09mPF5uVCZ6QmN3OXxjNTgocSZfUHJwWW9RQ09tRSFoYjdaX3U+KkpGaWh1Cit6 YHtWajhrRVQhZVRNMmhnUCFXfHdFK3g2dkp4fDBXbXFDQT5memBeSzJ8YWtnWHBSYVpqe3h8IUxO fHVQKkpFSmsKK3plUUlmQzt9KWMmI2N+e1BWd15EMFlISyo1I0hhd2lyMChKdTx9TGNRSHp5ZSRD NXhoYV9sI0VyYnM0VmU0cD0tVQorelNObX5sZkAhVygpU1ZkODlCdDstakhvfXlvTUtte0BWelZx ZH4/T2pvI00kP0QoJVVaZ2AqaUVnUyErKTJwanF8Cit6LWh4djNGTGBCRkZpWTArcFFmR3czWmV5 UVowTTt5JDFzYGEjNE1BTVFLKlRNUVc0MXdWPiEoJCRnRGpffEp0STIKK3pxWkM+OzwoO25ARCl1 KjxgKzs7YFhTRUtYSFVmYiVqQj5aO08kTGsoKUQ4aEgoWS0/bFp5KGRuLUMzeDJtU3FyMgorejdL MGhjO0VGUlVBS1dRZ0JTNEJBMyheM0VQYyNnKG02dWIoZE1IYmdyVWpNMGE4QzRhZlo1VWxvPUhV K2QyaF5KCit6YXBZdSNJdTVjJnhvKUFORSRXYEEpeEheI1VSbDJDcX54U1Q5fjR2IUIqQDQ/XlFH emVCbFBNRXYlP3k0dmYmckcKK3pkQ1dfcTk8fXw7NVdufCgpcz5JdngwQmZMP092X0Q+MHZLKmtm KHpYTms3fnVsTkorODUqIV4waUkmOG4mZm8wRQoremNfTSRkQlU7Jn1KQFhSVDU8YV9+LXpgUDBW Yk1+dU1XY1VFaj8/JClNWkhOKExMXzgqdnxaMCpSUjhmNFIrVFBpCit6ckVOampiYGlqRXcqa1Zy TUVOTVVuc0ZSX3p7Rk9JeWx5TktJem9ZfHdCI2JrTW1GVWhmbl5NbVhlMVFOeGRmTkEKK3pRdSRk c2NBSEwjYUdVZzFnSFF4O1k7QkdIWVVEPSEkdnVgbTlnfFlETklOVjZyNUNmVkxST056OzJSZ2RG bWVydworel9rKShLU3UmdEtVcEcqI0crKi0tYnlPRCVteGJ6LWJzfHsoeVVKKnB6azFXOXJ1MSRp eGF0amNPaXdmVWUkdSktCit6USVqI1lPRmxXPCthMTA7eWxaR1V4Sl5DMkBRcit7dzNGUENGXmdu WGdGYHU1JEhxQzRqNlRydjt0UW1ecHhMaFoKK3pMT0BtRGFQfTFZblI2bXBwNWVBRUQxWkdBZk9s SmozeWlMT1RHTFI4Rihnd2wrPV82U3BxRUlKe2h9K00+Jm8/TgorekpRclgkUCYre1NTfVlrMzw8 Z0g9N1NrQlFGNTtRNy14VTVIWX5ZPSk9QUVXPU1kdk89KEJ5JnspZF9nKTxCaCkwCit6SHozOEV1 Kyt2O3NsTn08LW57fHhmITReflRNbEJrP2U4fTVePCVUYiFFRjIkXn0kd2hgOUA/SVhsekhieWNk JXsKK3pyKT12T3p2XilmZEAodEt5dVRRdFM0RDw1Jmkzcmh7a3dGeWY3cUxAMT03Y35VOGpmISNk UykoKVJ1aj57fmBHVworekcyXn0tdCs9bEEjUTBQPndxU1MkbjlzQnlKfWlIV0UrWWIzSWtiJE11 TXIqU15ZLVpEIWVecGc1dkEyeChZTShICit6YmRAZExlbn5RJXJeUmtkbzR6TmkpNX13P2NKYWAj dHFxQ2Nvdnw9aFNFSyM5PUxlKzUwLXxPKFBCLVo1dHhFaS0KK3oxSWIwVnchfU1yd1NgRU5hbzBk SlBeQSgmZFVDVWZZQmZaTFJGJERgWFNNY2E5PUkjfnVRQVRXJSR0aD0mVTdPaworelZjM0ZSQEFs NXVya2Q5NypYb19TXlFUYGdANU04aS1PZiVtKkpqaCVkVHp4fTRKJj9PczQweGhVdT1KOT81T1Zj Cit6Zj9JSWBHYCFQaUMtTF9JNjs8RUpfMlRmWGF9ZztXdlV0a3Q+RXshO19AQihsTH59Wno+aWlq dnU4c1pKKjkmJXEKK3pjZDVgRkZFRUxxNzs2eVF0PUhaMWBhdHk8dGFNcklAO2VaZEVqPFpvKGNE Ry1iIyYraFluMD1wKks2fFZQZU9ufgorejMrQEtfRCNsaloxfm54dFE4UmQ1I2xVaE1mYTwje1g+ JGpaSDdrVzVoaFYtNDNaYnRpUEErJkVvaH48UHs5RS1+Cit6Iz8lSW93OG1UfmE2YD5LWj8oSHQw c2hPXm9WVlBYa0QlWUhLUm5OVkc2N0IxMEhHZU5zUEdFZUR1RE9CckV7K1YKK3o4ZlJYT0BiUUcm IzNtfGJBNj9PT2cqU0NFaCNWTWNAbV59NCgrMiloSWNmNzUkJXw5YT59N2YjRXJVMzZIdGh2Zgor ejxaazkhO254YCRJdXh2UUg2IVduTFZtSGJNKEZYMU88PTd6VitRcWQjUyUqPC15WjZIZzc/MXd8 NSo7RG82UTJCCit6MFIjWGIxckdvfkBWfV4/fDZ3STk0NkgzWXxCbj8+LUt6YnpPYUpgTndgIyk1 JWNTcnNCM3FRbGIlNyQtOC1aKU8KK3pAK3U7dj1gXjVyNFFzTCUwJCpINHFZfkRtPm4mMnQrSkQh VzQofkpCV147fT80NSgpZHNYTVoye2ducEo/RGlnKworejgtN3g8Uj1zXiRHT0luaEJseTJYb0V4 aiNxa0VgbFdTXlZUSXxDI21aNjhkeSlSIyVyalQhP0gybmd4Q3g1T2w2Cit6TyVac3RtQHpqO28+ eTw+I2hkMHVxYUl1RmN6dEsrUXB8RT8oYUB4fU0zX3BDX3dPP3VjUUJMY1Zqcj9wbH18alYKK3p7 aV8kakQrKntXVChZeFFRSG5NeXkhS290JT4hQmw1b3h1ODRCI3NrcHRrfGducmZ6VWlCfD52R056 VWJRI2RWdworemtHM3QtRysjMDM5YW1JSlg4S15rcnA4JUVja0FvTlFMbT5+Kk13flZQblJkTmsj UWJPYzJYRmtlIWc1fSM4dGQyCit6SjxMSV4kUjFyZU9EU2lLKzxOcXowYSRBS3VyNV5XQCl3I0w/ dXg4TkxtO282NHdVN3ZgYSZuJU5qVCFDQkBKNFkKK3pxb1k0Rjt4N0lZQUVOdXstYTtWRiU+cD8h K04rJWdMISNHemhgYH5pTndtaCZBeVNxMl5CbG0zVm9+MlJEfDcwPworejw+KHNWSj5mUmxzIVNU bGZUNks0TWExWihvMmF6N3RWakhTKmc7ZGxabWBrQHF8PnJgYW9KfVpMV1N8I0VqfndmCit6JnFq P1FGYDR3Oz5GNitIM0QySWlCS1RWaURyJT0rOSE7dSY2UGQoUDU9KWVBSGxxKD1FPCR2cFEha1Z5 T0h7e20KK3p3SmF0WWorKUJ2ZWcpQGY9Nml5IWI3ZGRJVkA4LUNReS0jczUoVERyRGRWYWNedGBg Z1pkVCFSaU4tbipfN2AwUworekBVMH4xNlZvKjVkTWVMQk4rX2J9dzUjNFYzVX54TnhwaShncytS VCEkODVBWnZVZDx2TDBGVEJWO3JCb2Jsb0g/Cit6ej92QyVpbiMwfjQ4WE13MkMzNkBzfVl7JWE4 RF9VSDc1PHozQ0NqKnhPUHR6dGFieH10PWtKPnxEcm1mSkhtLSkKK3omUTJySyR6WEdsaXdIfSRI N15KXzVwdDRwNnJ+d0E/eTR6OF9RPmFOangxTGF6eTRpXytpRnlUYFdlSGZmeFA8NgorejNNI3so UkpwUSFAYTA0Y00mUnUpTEx9QkRWP2JLXl9YRSk9JiZeKGYrUGdybT5RUW9pakV8OEJFK3ZkZmlp ZV53Cit6RCMtIzY1Ym99PkAoe05GbG9SV0dIdWNYV3tOMnRRPC1tVyp5QEhgfSVvTEhZd05aT1hq QWVgSUZeYSNhYG9aS08KK3o5PUJWX2wmPUdaY0FHT0x3aSRWUXohVDYyNjZNZXd5SnExV0N7ZUJQ UDFVTjhAZ29HSEQoIWtSPlhTQWFTeHA4egoreihUV3R0LWBmVmt7KVl1LVYoSG9qa0wzNTNQLWBE ZyF8M29gbnE9cDM+fHZzdTJzKlVfaGItO1hvWm10eCRaUXVwCit6RWohaXV6PUFPKz8hU05aMC1x XileIzM1PEYja1c9WmY4M3k2V2prWUVPXnJMa1JFeWFsTTB3KjRVYFF9b3xMSm4KK3pzUyNzQ3Fp QmowSURkXzsyMilGdHFANHUlQHdQQjV4QjlxZlBPdiF+ZERtJkNgfTZ7IzJxWGI8YHdeIXUrenl2 Tworejx6QkA5WC1xJGd7K3wqaG5oMFc7UlhgQ1QtKEYmZlItbGl1dnRyJjllWGVVVFBiN3tXbjhn XnpCQmVYKSZyODl+Cit6eClQWnJMYE9OWV9fWEhyb19+dXJLOWtha0dRKjV7TVdxZUpiZWA1dzg+ NCFuTXZ3ZTZkPGQlKmRhVzRaNmJUdy0KK3pXTX13VEMxTSg1YFhGJH5xbk5CbDZRcjNWMH0/Py16 UEo8X0loWUNhaDNVRFIhJmdhPz96QiNpT0JobGZXcSo4MQorenRTTXY1TWwpTmQwe1NIaTVzN301 diZwYzR7bUlNeSNjVERaPFkjNTRvOVZZJSQoPnpoKDRRZEAmXzVXcnlNeUBsCit6UmFUVHdKJlJg T2okVFZ1MF9KfkQ/Yjlqe3BRSXhwV3d8SXFeTTxGSHExOW48PkwwPGZZZXAjS1kkajdlRldqXlcK K3p3TF43dEZLKmVXeG5gRWp4bFItekBRPEJVRWZ7UU8zZj00LU1scWJQVUhyaG5WQVVzPkNMRk9v PUF0JSQrS15IQQorelFpTnVleCtgJHRJOSppa29MaHJTQmA1b3gyVSRUWUNoZ1omR2ZoSGwkOS0k MUk3TGRHPU0+VEBrWWFpNj9pJTsjCit6JFRaWXAkVi10dy1JJkxQZUo8O2ZrPjMxaGUkY1NKXllD Y1M7QFMmJipNPWA/RGZnNFBAcz5Dc1dIaXJBMVJ8YnAKK3pwY3hjP1dqc2ZmbytJY01OVGwlRT8h NDt1WWkkcDVqJiM4eWtNejJ+T2U3JT5jN1pHZyNibUNhMWxRWnA5LXJtPQoreiZiWVl1Q24rIUR2 LXU5NlRVMGF2ZEJGUHB7d3d6VTgqfjItQGVtMSN8TkcrcUlVKWEjdjRARkhNSHZEQk5MPWtoCit6 Tzs9cTstTmhYVzAxKWApQUxTWXRgUUxzMjhPaGlVZSUwYXJWV0dsRXs8bSU9Q09TUG0zdEowa0ot ej1vbnxAOTAKK3p8TVRFJCYyNzYpUihRV3hKcHBHcDJncTZlYGNePkQ2Jm9EK0R4SWllSXcxd3tD Z0QrU0BfQ34ycTgrezdQOWwrcgoremsyfHJIQjZMOzBBdyY8aXF3bHhRIS1OQFlCakBweTBkJCkq WVBTdmM3ak0/YllUNGNKaUkhPUI3Z2M1M0luOHN5Cit6d0UmUH00KzNldW1hPDhtUitraSQpJmNl TU5AXm8yKlpiezw7aSN4fHJxNWU1WGtKfjQtQUJieyZiMCYrdyo/eX0KK3psR1FiXzRtQGNaKCpx fTMqVnR+LWIreG1OU0VZd3VkeWA+bilHMH14T2NjWEc+elRAUzd0dVMleyspT0BzJFo5TAorejhY bThnPSQ9fnNjISF0SyR5VTN4UklASjF3VkFWbThJYmpJVzB6Xn16bXZqamBpK280IVN9U35iUlYm fm96PT5PCit6O2RHREhWfEkpVVlgeFlkY2E1b25DXjF7al9BeUNkM2FaLVd2Q0heczsrPjFDez5V Q1pob0hLJDQmT1lJeE9YQC0KK3pgSWtBZ2FIcEs+VG88MTRvVEphJHNaWDlBa0c1Mk9aU154akBA SE1OMklgfjxOSVRGSFpVekZgK0VfJlRSfjd2SgoreihRRXghWEFXUXAwNiRPO2EhdHxwJkUqflJk eXdQXzJLR0JwKGFeQFQyMEBBeCRTP1MpVmgtOzc4fTh0LWJ0bkpLCit6aHxsOH5rR3s3cHtfKG9N NnBwV1IrN3hZdnIkJT40IVYrNzR7RV9hbmFxPnNyPyRvPkNSZkNEOEJxTyYybU0mQ2oKK3pIQV58 dz9hQSRVe3I4dSsmTiFrJiR6NmYlVkoyNGBpeUMqTzh2OS14ZjlEK2NxUkVSaEtmZiZ5Tkx4Tisp Q35LNQorek9DVXstZHI9KCU0N2dVNHJgalA2OHp9aVh5MCpwI1lgJmU4e3I4YEJSRClvUlF9OWNU Tmc3ejdVND53SG9ePD1PCit6eHtTXzJBJm9lMj9qSz0kY2JLdGlvMkliZmRXY3k1Rz1XVXk7Yj5A KHhoRUtjQj1zQ3VwdSNobGApP1RVVDJKMjEKK3peI24+PGMhLSQobFA9QkFIS0x4WkhecXlXZVgw V1B3OShVNC1CVER8X0ZfN3AteDVhNUFzLXlrXm1xN1JrQXFeQgoremA5aGN4bXhGT24xTm1NfHJa NkI7O0V5I14tfigqeihUbiVWaCl0bW1ofVJ0TGBkJGBTZGB2bnRxTSlMUF9kOX1kCit6KzxUTjco OzYoPVo/KlhybVBPYHhsSFVnNWhoQ3ctKT8pNF5vRjNGLWZgKyo3TXlyQyNhNjM9VCh4RCpGRSV6 fjkKK3phVDhicVYrKWpeXy09Ni17MDFxY1Qhe1RKISRwbG4rfkpyOV88MkBQdFMrcUxVVXR3QzhR Pk51LTUlNn5eUHp2Qworem8xPWRzK1pYMkowVk1gTEd9dGt6Kj52JDRzXjt+PmtwalBieS0oe0h6 eStefXYtNmxUZ1M8MT5gdn4qI3ZjeVdpCit6P2A0WlVpQnFIP21ZTjk5OVhBVVdUJlgxUFd3Z0tg d2tfV0tpNUZVXkpoS0drV2IhTlZsR3Nee1U9cG0/UUstQ1UKK3pXV2Y9ZWFYVDN9I0BfUX48UVp2 WjdKZWEtbktTYnJ7IURJVjRWQHR3QUUjO1k5VVJGP2syITtMWEMlamNjKmJvIworekBuV051IVVl PHVPIXhKTiF7KDV+NWl5VE1mRCFoaV4mMTl+Q2kzNEVqMlVBYj83Ul9tcjRKJUlQX0QpIXAjRSRX Cit6dyQ3OFZpU3NiTl88THl9TjJec34wTi14PzE0dDJJYDxLY0g4dyF1dXtVTEZDTX08V1dBOCF0 QilMfi1FRWRXaVcKK3pydVBfMSlTe31UQGBxQ2UzK2I5UjhLWk1nMz0pSkdDdW1oflM1PiE+MElR c1Nwa2Q+N2kjTmgzO3Qwa1UrNVBQMAorek1pSV8hO2cmUWI5fWR9WVh1WGF3VG55WUVEPyNTKUc4 eX1gZkR+Xmp0KXl0VDl+I2lMTiFMeGtVcVh4enAwKnYlCit6TGtyX3BybzVwKU0rWHhzcVNSS3tL QSFvY0h4S0AhKz12UlpYPm08K1F4N3t3ZjlHcnMwJGFmM3t9YiohI0p2amQKK3pTfFZFRVN1USlj cFEjTElDKn0+Z2xGTGFMZHxndUc3emNrYTtxPXVFeX0yOCNjZ2RkeFdPN0tOIV9SUzRJTWJaWAor emJMLWR2YlZBVXxiKFNSMEd+UXptVEdeRzVpKUtDTjEqdT4zYlM8ISFoU3crZWJJcT95bjQwdVF1 K1VWZkEwYG9pCit6JntGQnoyOyptRVl+eCYzQlF3fCFQe3oxc0MkQlpHe1U1RChPQ3R+Nms+N0Mo bGQqTW9vKXN4bVpYNXlVez5SZTQKK3p7cDY9TFN3aUNxTEQ8ZCUtNzB1TSNkQCU2MGhZZytCbzxN R0NuTT1SP3Bya3NEanslVjlBR3BiMUt2bF9XYlIhKQoreiY2NzFsT2NhJT12VSlZeyZ4MSFCOzlo JVJPZVNRcDgjMG56JGwoJkpTVF5vb0piaGFlQjdYOWckbnp3N29KUSFeCit6WFg/eVQkZDwmJlJD PHVEeDRtTWV5WnpBPl9ac1lVOzNFTU95NDNsRklxfXl5Wi1MKHRmUEJ2WUVfXyN7bWJiaDUKK3o+ KEFnUU8kIz4xbiRaM2Y7P2ZaJnI+aj5BJSQrK3cyMWVAK1kmUFpTJDZSOztnM19RRGVTI0ImdnRA OTRwVUJhUgorenY9O2lVNEZfWkNlbkFgY1VqNWk2QXdEZEVrSmk1bDloanFlVmJxUDFUdkVTZWpK P0tKU297ZW4zdlVKMzZtVE0wCit6Z15Uc2VLayU/NXJXI3phRVYlU0pybkZWOUVCemNsLTBRQVNI YHR0JVo2TUF5M1Q0JlpCSVhAc3dfdXA/X0ZFVCgKK3o0VTlFdWRjWWA8WSNsP14+dkk1RDdhKE9D VFghWSNGRXw2UCMjLWxFNWBPeHpSUiFoN3god1E7Z3ZXNX5AWl5XMworemRjaWBWSVFNWmZkXn0/ Rkx1NXtxTHI8Uz5QfiVVRmNYd253U3Rmez5afEI7O0JIMWw0Uy0pV2E4RH5jPXNrSkc5Cit6MFJS dz97YFdYKldNXlk8X3VwJjt8M2pRelJAMVJNNiNYeFdRV19eUFNHRERhOGw1UXdtSip+M1dhZCtU RnVyTj0KK3pyTWhzMmc0bSg4O1FIP2w3YXIhY0k4a2wzYnZfRHZlYkp9TzQ5fX02cWxBKVhpaU09 PWs/bCk+OGpCdE82eWlabworelpPRVJYRF9ePWJOYlQ2NEJecnZtPzA5M0xWV0p+SFUwZEhwKSNg QzFgdD5IKC1PYllJKD48T25WLWchb01DMF89Cit6MTA4Qkk7OTUrVyZ6SCN2LXtpclJCOHpePV5w WiE9aUUwO3gpRDlpX2w8UEtnYDBaVWkmUXhvI2IpeVEoMyRFLTAKK3pzKHZkJUgtMX1OejhYMzx6 TVpYcShvN1B9I2VzQWJFdTxhYjEtZXI8TVN5QnNWaWQ8fVR6M1Q+NG1rWWs9aSNCcgorel9lKWgx V1BXbUElMis8Zm9ORm8+QkEpXmczQktnSjlTLW4jdVlUfUQkRXJ3e05me1UlKGAzJXJIPygtbng7 PUZICit6Ym9pUH0wX2RGTE5ANCYlPT9uT3RlfG5+TChoezM5a0pfbWNlSz9ZP1YhcDdrN0RVMSYw aXwlfEF5RldGay1+Y2MKK3ptQzAxdkF8fkFndEM+OTtZeGpPd01uZyo3TSRAPkFjck1Dc1BOb0BS bnpWYCp2SkFFdCQ7X3RXY1dPfFdWdnhWKworekdxPWImUiU2NlI7eCFmcHFZUkloeHVnUEJ5Zmpn d0c3Nmdlb1pAM29pQEpZbGNBMjZoKSRMYG93I0N0akxUTj8kCit6UDQpT0xGRG5uMWphMFR5VVJm bzMwfWVhN0tmVlg/R019SFhGTyN2THR4aFklVEZKPEhnZH1TdFJCZl4jKWFFNiQKK3pwPGtgeU5S cXdBO3hqTFIoS2BGbUFTOCp4JTtLdW5UKVV+RUhvNyNjTn5EX0AmISVrajEzMFBeR0V4SVU/b3hv IworemhuSUhlcVlHRjlodkJURE48YW1kPHp8TU5FN1Y9R0h+OyglX1lHUndBI0h4JVBUemY8cH5X dS1iO3F1QU9pUEdgCit6PjRaazlJMGlTVUM3ZVZ8eTFpQHxEK157X1lqK29HMns5KyQqOWdeJEdx SHlAVlBPNURWWj0xdDBKeGRvbnNnMksKK3olTGJpZ3peTE8hblkoKns3fik+Sy14bUBUbTcrQXtq RnF0fnRlemYybSlDSjdGVENIYz9HfE00Z3BNZXdtbnxqVQorem5DbHBVQGwodjFjcEYrd2dNQ1Rz WDE2VlU8NCN7VEVUbFVgTGVONmAlaUN0cmNrN0ZgT3FCKTEwdDhHX0w4RTU7Cit6dlB+VXFPP1U+ Mz5UbVBQdmEoIXA1c344TTdGMjRXPl9eWl5Ob3x3OGkoTUduMTRRdzl5cGNnZ0lfKlFHQyNsfS0K K3pgdTJVMEJvUX1feD5CYSlwelphP0N4JkAhJDxIe0dgX09LVVRDMm4mYl5Yd3s7TkkzRnduV2VF YiYmTnZ8STc0VAorejgwZ1l3b1VnUlJ1RSomMEV3ZmVMaj9WaW4oZClyT1o0WkxoKlM5SE5PZzg+ UXp1PnJ8Rkl8amFDYWVeKCNEYk5KCit6PT9sdD9eNCZuaF9odG1HYEFmeS10ZzhCQW5aOHhfWDVZ YVI9NEh1R3daO2BGd0BQKlBfTHBofVhyYnYlR3xBJXkKK3pvWCVqZ1YzYkl3QkE4Ty1AaG0tcVY/ KEh2M0hTXmY+T0BBYzdQZmp8dCQmUTRYJmZIeGhzeHhjVTFuczFGP3ZmaworeiRPdHRoIX5xK2t1 djl1bVZBVGh9N3BoNTJBbmQpU1Nzdnl9KEFQdzVOfj9EMEAhb1opdyomZUlASVBsRCpHbU5NCit6 eHF0YnBnP31+XyF2QUk2VX1SX088bX44VDxvdXJ8eEJwPWh5MmlHTytaPyg3e0R2SDw1amR8aG56 MSF0NHhGe2MKK3pCRFYxI3BAIz1FdVBsUj4pODRLeDVsPTdqUiEjaFJvdGZmb3FmPWJFcFJ1MlZm MDU5Zm5YeGk2R2NgLSlqeU5RcQorekohRWVLTjhRKV5vOGhCQD5Ze1k1RHgocTdpMnBeYXVfLWUk bitRUExlT180K187TmZ4LWEqTUdGbXpgWVpfe0czCit6M3x2fUpQcCtpZThiZnhsU3V5MypWIyZ6 UTNianlWQWskKmR4UUUjMGAyek1mNjxQRVQ/TUdkZipTckhILT8tY0cKK3phYiVvSz03T14oRSFg dGkoTXRWJm4lbiEkXl8/Pmx1fTslQkw3VVJ8aCFuVSttZFVOI0prM0lXVEJeNjltOHI5MQoremow K0dielJucWJTVCZaeHAwaC0pMmk0JWRLUCYhaFdUQ0Q1MHx2WnVNXnpTQz9XJlU5Wk5AfEkwPmx8 dnRLTUhCCit6WSt0WFFmbHB6eW5XNjtuI3lNYGE7QEh0KVRHYDVRIyMhJi1nWU1sM25fO0N8azAw PXhpVEcxPVl9c2w2TFo4P3IKK3oqVENJQXdKeD1zWiNaMjs4NXx2cThzQD1oNlFOVUk1fG80KWdp b091MFRCKWNAO09KfGtaX1N1dDswI2Y4LV45WgoremxhZHg1MXBkRDdMcW1GNSlpJDk0UjshMmQ0 RXhXMU85b1I5VVomOWljdTEyJE92VFJ2Y3c0aFpuIWRwPiM+XjRWCit6Ml8xUEwzWGRBT1NWWW9T NipeMW11N1l8K1pjeldZZ2lBSjV1cFhjJSFiRGdWNWw1Sy0tUmpkOHEzTFd9IXozVEwKK3pEbGM9 eFZ8c09NOz55VmxjJjhja3NQR3o4V2duaGlIQVpgRytxaDJEX1EhZXVqIUA2QSZlXlQ4KTk2QlRG ZFhPcgorek9PJTI1OGI0NEJCcDVBTjcpI3pudEw0NHYzJENzaSlqZVA+aDB+TVJzKH0yRmN8P19D dUI3T09vLTR5JD1+fSVNCit6SU0kWnRDJFktWnd5TikoekVGYlVHND82UXI5SEBeaXdZVTw/RTg7 TXc3WXdzTntwKXAlUlQ3OD57RE54bFNfYSYKK3pHWSZ9PXNeKm9KajNkZnc9UUhRMHt3eylOSURw eyFLIWtBI3R1KkhrRT51SmxqeHMxSXZzKCM8VkBveDxxaU1XYgorelZLRy1LXkdeSDJNUF5sZFA3 YF9RJiUycXFrZkhpZjZAM1M3d0ArdVYrcStLRipqRWBYIUpqVWNuPkk+QiEtSUk3Cit6K0ZWKFVR T1ZHJkhwY3BgJCNWbC1GYnJrNVkzTSlyKFNHJVlOSD5pPVN8bEVkLUhidFZmUlBUOzwydStAMm88 RTwKK3pMSjx2YVQlZGZueyNBWDxAcHJBYHUyMnwjP2oyYU07OyUzbkBCRnk/Qy04Jn5SPWBpdGQx ZzBtdUdTUEE7P25CfgorejBwaURueSVYLUFwdVU9JT03KDx9YTkrNXlebTx3M2VkVTBKaVRgeytU THlwalJeZkRhdFZzZHwzYEgpQ1RLUElRCit6OSFqWmlWZCVjKypZRkhZcUgjMHE/alRPJkZ2bU9E I0g0UkZONmNSZ0NncFh+Zns8KHotbkROc3s2fXhhb2BkIWYKK3pVVU1gcU1pKCZwTHFOfWRLOGJm ZDdSQCpnIUF4fnx0RFVgYUpMalZNZUROfGctY211UilXTTRjQT5QYWB2S0BkIQorem19LWA5N2ZT V19IKjlOblpPT2RBRT5PMCUlVXd4aWpVeE9oeShWODYkYj5IPE8pJDRDPWFTJnx4Sz9keFlHTkg2 Cit6bW16ZGFKKlA9T3Y9c0c+UkllZyphNExOSSY+fHdTa2QtTHJyJVMjZzNtTXxpLTwkVVVMcUxF UHNjUX1JMzBZaCQKK3ppPGhsUmIlN2g5QGA3WDJ4ajshK2JJfT5HeXswQGVqc0c+IThjenx8dyMp dldtMmk3Yk5xfVNZeW1STzJEdmdwTAorejY2M3d7RFAqKTVPdU05MDNXK1okJWYqc2FjOWpmU2wk PEtuLX5gTDY7dU4meHVAd2JiZkRSMDtOVyRIYE89UnIyCit6JlcqZClGNlZhZnd+PWRSYzxjZ2xX RkxxOVJpJjttNEZGbW8+RjcrdHJ+dDZMWiNsSXNXJkJ1O0BMdkxxUzIzJEIKK3o7ak9RalRZUlRN dFJtdGJ2Xm1NbEU3K255I2h8NFBneSVnaWl6JXpCRl9vTDAmN0NRQ0ktNT1UYzlBNXxtPChyJQor enk0WCVwTmk1JEM2UVopSWVrYCgzLXljVXtNekwwUjhKMzFpTFpLS2BkMlV6Zkk9WT8ocTkkKzNO YXc1PlEjbFNQCit6ODMpTntRMHAzV21aPFZ7aikzc3ZeSWZITVpncTlmbUpsK29UeDFqYzVWO2Jx YHk8cjRfNk1wT007cXU4OCYqQVYKK3p3TnErVntzSWs/bFY0KTloMng8UkM4TSNSbng5Rzc8KUs0 b1ZsaGZsSCl4VVlgJDVFWTM3ISg2TSs/dndlbkwjSworekl9TlB0UjtONzAqVyszV3xMbU0zXmp8 dG5xSkZTMW5paj10d25CNFBiKUhUY1NQclcwZmFKcUR1R1o/RF93aHlMCit6JnQxb0BGKkBDQGN+ Rz42RHd7eGlpcDtZTyYwWWQ7cnV8KVd1Rmoje3FtTTghTCs2S1E7RXYhYiV3SHJ3WnY8YCgKK3oj ZUEyNTBFOy01Q2ZCZnBvVWdlPHB5QmB7KWYleTJyKDAhQWJXczwzcVJyPHpJU0lNP05oZCRgWFJ2 MT10Ky1UXgorel53QT52NEx+TFR7aGEwZkVXZ3B8b1J5V3FmK1YpTCZAQCpsYXdkbnhpelpRVi1e bStnUkxJPXJhXyFuPG4oOVRtCit6PjwkNWd1YTB3ZGA9fDQ4ZXdKdElHb3B6fUVObnFMbGk7K200 cC1aX2VTcmJUNDN5MGkyeXtkQSF9Qj0jTjx+dk8KK3o1UGx4azZHJUNVbk47VFgqe1hsMCRFPGZS fDRTSVdPJndAbVJKandXUVlyPGApKCF9azc3UUVASmxnbntMRjYzMAorelAjaUthfDdFMm1RbkR9 U28tN2MjUW19YStfQ01RK1gxdn50WmE5ZVA7aW1tfkd9IXl4JUh5I3JXd1NNbTh5MzN5Cit6dVFj PkxCKEhKMSVCZntMQ21Ld0UpUWlRWFplci1lTTRTUUYyRkdMQlNrPWxwViVwKz1pQ25oblp5e35k MEF2eG0KK3pmck9hbD1tTzE3dm4/NTs3LX5qZUUwbyFMdEpGc28xSWV5bFBxUU1tKFo7LVRiKDs4 T20pV00xc203Rkd7QFM4UgorejxiITlHWXZzMWArfGBYfFRFLT1HUVY8eVNuIXIhKVVOZiEkKlp4 KU9DIVduYW99fXdaNlYyWXkmclRpaHtzY050Cit6Oys1IXk1OChBOE1VPTNNZzw/Wk5mezBjREwl Z2FMZVJ4WUIxM00jezg5ck5Pei1yZmhkT3czfChAMFNFPmgpay0KK3otbSM8T2RCTj9FTTNVMURh aHtUZ2E9c2RqdzhgQjJCcG0kSUxxSTtoNT5QeXg9SGZLPz51KUZGUHleJmUtdz96OAorektLOURt JnpCNnl6PXtUPGpfKy1KenBNYk1lKHNfdWJmR1NETEBgTmtMY1ZqezZNI0lXSGh4Ky0pSzNKbiko WlBUCit6dyQ2KjNOMk93RGs0emAkRUJhZFFKUUcmcXElJldtMiFXUilBMktxe1RDO3tpLVFMJG4z M300SnslMGQlK3lGaUYKK3pIPmI8eytrNXUhI3FoemBSYUVpd3NFJHckIUIrYCZoRT9fOEJ5MWI9 YG0yelA/IyV3fmZsVDk8MmcyN0pIUXB6YAorekU/K09MbitqaDZNfTBDJVhLNDRDUVNQNFFvSz9j aDBIN001Rm5ESlQ7KWN9MFQ8UE11NmRwQiRVKno0aXBXZkd7Cit6KiQ7X21ANGNiSmkjckRqT3hR N2l3aURvJEIkSDNYdWtIX1FEMnlEbyp6Y0xFQEM0Klkqb01xUFJTaWolalNqK2cKK3pfTTBXSEM0 dmI0eW8kPEFpI3BoOUFrYz02emVjIXkpaWRFeGk5OGxPQk1WZ01oQkpPMDZCTXdmR2tea2JxTUhO dQoreks9SkQ4cXxncTZaI3E2MygrcDZ+P0BsV15MV29HQihYeDZlVjNTOXdDe0RDaUE7PGBwMyV5 MFM9bSh8S3BFSDhuCit6Ty1HQXc/WVpIdmJjfDZDKWAoPmoyeGdjWnV2dTt+TWRGUm9DaSprTjJ1 MkYmWXhueEJuVVM/cDVSeEZubzMoOykKK3o0QzhYaXJxQzU/UmktaEpSM3JjNlFtNGskQms2UiZw WnBPQiNCd158PTUleCYlUlJtOVgkdnQteU1sNWhvPGgwfAoremptKWt3eD4ke3dLaVE/fV55TTBS bU5fJDwwNUchdzwmOUImI0QwNjtGekBNKGlPeXxsVmV9bV5uUDY9MFM2UVpiCit6STVCOHU+Rygw KTBuRitHbTFnfVVTfG5XSERIPSNDQE5iZVo8RWdkMWUxaWk5MGIkYEFNaT02JSlRemBIRFd5eGMK K3p2bWFkU3ZqO1Q2c1FQPnFtSDRWYV5aQ3AyeVdePWgqO2hBMTt+TnJaOCR4WipKXmtITzFGRTV2 NVZpQikrNXdBeAorejJOeG4jSCpTUEglMV5XNXt3bjM4Q1hiMTd7Nz9yMUZ5K3h6MjNTSCs2ZjZt fSs2MTw+aUxwM0JLczs0bSpTdWhHCit6Kyo+ekVMRi1WWk9+MXhNc1koclViPyNrPUpmdy0lX1Jz PX47PTZ1Tj5AOWQmZXVvXnkxMzBqSnZpYSpQSmY3R0UKK3omd2Z8dHY0M30wYGZJbSlxWTsxRFNg VkhzSTJlfFgpaHojK050bGZzZ25zKGpRTWRjY3tpMnx+TUMqKFBUKmQrIworemtpMWArUj1tMX5J ViVwcEtXbyZ+TjBCblhgVnVfcXYyMnU1UFpKPlEqbnFPcml9bUBySlU8WHJ1MDB9Y2wyPlduCit6 elA4bCpaNGMxbGxBa2p8UjM4dUlhRHkyKEYhezNhSGM5OSNaJkliTHZrcT9abzRXKUFUI2tARnVE c0Y9MFhYUGoKK3plMi0pLVJwUmY+UU5HfWAlc2B+THNOZGN3SC1jMiFmbCFSdEJ7Yz5xKWx2MyZM d0BvZ2QybTF9MEIkejxEd09ldQorempBQ0lxVGM9RjNRPStiajUrT3JRYDJsUnohZXxoJWxGZ2pG aHl9TGxhYik1MSNTbnZzVStnXnJ4Y18xPUFCUTBrCit6LV89dFZRfm59SWxEczdkc35wPn4+bnhp UFRURiQ3RFQkbVYwOF9CU201VDJYTmQhdF4lZmtEUXs8VyRnOGU+XkQKK3pLaXxQMitVYHNeaWZ1 P1dJNUYoX3V1WT1PbElFZT9QZ0RRP0k/WlZQSm41am07VmVmfmNrPj4tIUtIdHNzb2liQworenQt ZnJuOSp0e3hLNFkyZXk1ZkFmWD8xbG15XjhOWE9majl8YiQ1VlQ7dUhAe2Veb0dkbyRFfH1NS3Y3 ejFOTm16Cit6PjBtZUV5aDxve1MxbmoxYWU5dX08QFNsYGErZmclbEM9ZFNkbkRncU1qcGt+dmQt IzdoPG5HdipiMEB2Mz88QnkKK3pORD0hXm04MmdMQWRYRy02TUJQZEdmKV8hTyMpKHg1Kz5MO195 PDNZeVEwKjUzeUJ4OForYTwzVWh9ZGkqMWd2PQorenBpaz1lP3d+cjN3YXJfYCg9UkJCRVIyd288 TEZgMTE7TDRjZ1hqcTttbnxUITQzUjlmeiNmKFJUKzdUZHtFcXpqCit6bjA4V05WcTs2ZzgzTVky QUxkbnpWVGJfOHVANEBtYHtQUkNzaHlyJEB2XnplTXJNUSspKENuZlQmOFhfQCsqQUQKK3pDbTZM Zl8lLSh5T3ZnTkgyQUYrQ2I8WWdqWkYtU3YjYVZMbUBTKWttcypDKTxSZ0NQMl52P2E2UDtYVDJO MUB4aAorekNhU1BxYjNDO0l4MWdPI1koYzIkYSklaU5NakFBXz57V3Q3ZUs9TjVXTFF4SkVJRTRB LWxXdl5hZF5JdExSP1gyCit6OEkycHkrYmVPUjdOaiU0Vzh0fXM/SW9Re3ozTFF8Z1ohVz1NPE4p dChZJGtGKj1zcDhHZXRIbXR5cGN7cUVxJEAKK3pRMT99WmhMTVBRdll+TWcqfkM5aSQrKFY9dzs3 eU42XntqeCNwKV5geSE/KExSRVR4UFUxNTJ0JlV1emItVlF9UQorejVKeml6ZFF3IT94dyMmbWA+ Zkxxb2NSI3FDTWlpOE9ER3Ngd3gwWEJPRUpgS1VTaUh7XiZpcVhESypOK2lkc2d8Cit6UERVZkZT WlFZSSN6NXwyY35PciRvTz5+K09SM3ZEWXw2S3NoeVhQfEclUEpXRztiQ0s2QUo+VD1GWl5HTVpA Tj0KK3pzMnhQJEViayNYPzx4NVNBKSV0O2xNPWowTGZRSVp0N357TT01Znx6QyhPMml4U1BIJChj TCVIeCk0aUw+blRvPworejtqK09TWXZfOW0oOWMxXk91RmY4ZUdtfm1QYH4lQlE8fjA9e2FsJjF0 b2lhYzFiUFkjOzhgZ3NxKz94d0FTaTU0Cit6Nms2cyVaODR6T2p0VnBqYGxnSVZhV2wmWFR5Zn1X aTJ5cGwrWmw7UUdqUm5ieDNJJHZndWJpPjN3elExUCM7U1YKK3p1TiNsTFR2KUkja09BeFRpazBl b1dneEFGKTFkbCUwQ2FiPCpnOXJNNj5RQlU3SDZZU1lyVE9BZ1M7WHEoJj5gLQorelYtVEtoKDBQ c2tgaDR+KTB+b0xIKyFZbjNeVVpGJWZeeDI7c3VOZW4lO1ZXVktYdnooSkEqen1iRHs8VHh0fjRv Cit6IUBXY31PJnpRQGIrQDkwfEpvbWF6SGkyNyRPLXwpTEA7R0VUX0NrLVR2cTJ8YX48Vklrei1X WTxXbV4oRU41QyMKK3ooTClJQlFCTil5RXcwWSpoQGlEPkhUQEY7MShyPnBgdmtzPiE7bT9ORipi TSNkQ05LYEpycWU7UGZLfFh6cGZgVworejxuRWd1dUROWE50Pj9SSWJxNnlnZW9QdXlVZkExPCp0 fGxVMyo0UDQ5RCZtOWw3fmMjUj5fZmhnaWI7c2JCTVd3Cit6a0hXd28wODMhQFNrK0VFVXdiQG5V PS0+YEkwVyRoNXJxWXxFaW1oKnhJRSZDU0RfKXFKUiVxSG4hN3JFWiFjJEgKK3ozezUyJWdoO3Zg KFJzbURGTG1NYDVVV0lvLUJfMmdQWGliQ2FReTtFd2hWbHxjV0E8S2YhbnxgYnIlP2QzNHo7Swor ekA+I24ke09RN045N2NlSTJsUilnQSZ6JnZ8SUMmQXs8UlZze0lfQWMxTzJ+Z2Z0bCF4SlBkNUN8 NCY8QHNAdCtiCit6XnZGR0A2clFhWFc0THxCWXoxeTM9LXRkRTxAUllZI1V3VGtHb2BLOEd+YS1R cSNiR0NYIWJ1fEolakhmakx7SEEKK3o9IUdtRGRkUjIze21KKyFWPE5HciEjTCRhJU1sbjJzfDVR NlJ2WSpQXjNgd2dDZTZxJjE2JkxBIWtNYiNGX0JuPQorekN9WT90c1c4aSFNS0dHbGZtQWV8aWNz ZjxhQG4pUUAmampCeiVAWilmPloqNHRNb0pmQnhTbVVWJm1iODxiOXBrCit6QUxsazl4QkwyUyVf T29qNExsIV5tY2IwaSUwXnd2ZUhaYG9gdUgmcl9LV28+WUtzbSs+VztlRHhNQShJMytQfkAKK3p5 PnhKO3RzP2ZtMiRHSH5WKURFfTM0LWpacEx9eTJyLUtYRSYwMld8ZTcpQG9Ja3YzUCZlQkgzWnFP Xk1ma00xJQorem1aVUJETTNVNEhYanYpMj4lPGRPaSFteEtPJCV+SjUrfGtvTm10VDJXbV5gfWoo dT9AamkoWDdkISZDS1ZxIXY4Cit6UXxBQV5UcUJrJTUjM285MWdBJDcxYTlpZnV2KmZFKS1LQXJl KXlhS0UodGAmb3pYQDgtcXxDcT9LO0hgS3BafX4KK3pHYlcoTWo3MSR7anlvSCZxJGB6MFE/O2tC bSpReW9MOC1afF4qUCgkRH5mRXFSWWxsZlcla1VWfEJpI0JGSmNqbQorek9qKU98SjFWeWpXNCkh S0ducjFfKXNsLWJTKCZafjR9UHJmcm4mdit6e3FfcCp8cSpSRmJlPEk4VzFLclY7Mzl5Cit6fDFB M1lwWW1yKSkzUVZPQEk5ey1aUHpRenA4JXZANDQlKD54R0BCNHZhMW91bjBZbEhQWWJBOzxgSmoz Nk0hZHYKK3pwPiZUWE5zS2NUQnhWbnU/KXNSeG9oMllIPFlXNS03eU0yT1N9RHR0dFZoNXdtX1Uq R2k7Xlp8Ki1UZFFXOSZhUQorekpkbTBvbjhKa1A4empHdypCYXlMRTVeOElaX0Y9TFY8czIhJl9B aXxIRWh3IzUxLVVURlVzO3JrX3ZoR1BofG5DCit6QW9IU3RSKzBWSmFXRjxXWXw1RTx1JX43ZWQx PS14c2pZSmVCcWBHMzBWSWRDNUYjZH00aWhqYGp8dClwZDdGUTsKK3pyeFROSk0tJXtqU2AmUnA1 Jjc0fGs9NCtrYzQ8WnRLT05FO3JISH5RNiRUNm82ZD0qOCpIcXZOaFI0TyY8Sy07YworejAmYF4q eEFPVUpKYFdFOChRak89cVhtbVo/NTdOUW0oeVBMSWN8V0goTjwjNnshel5UakxCPUxKPiskKT9y LVFsCit6bWkwJXtuI0h1ekYwNkRUVWJlQUAqb1lBaEBpQHVWcjAtZmRLTDNQa2JKZT5WK0MtXkdw PWBzcXt9OFJuUiU5ejwKK3prdUktKkttV0kjbT1mNS0xZ0MhenRjbFk5NFEwa2VYSlRYRntORyN9 fEk8Njx2R3w4RmBAOCMwd1hzNXBQYWBSMAorejtsPktQKzh8YjYtcW1JMSlzXnpkKmphIUpsbkBe ZEEjTSZuKkZya31eSE9+UTwpYUxnU0hxNWI3ekZGPT1IanhnCit6PEQra3MyeTwkb0tgTkV2LTZj KEcoKk81JHtFelJrKnw8dGFvQmxEaSFLcHtlRzJVSG9sbkhuND13JHkwRGI8N3QKK3o7X1NNPGVQ OFR1SHg2I2syOFhaUCtZMyhTTiNaZyNLZXU5U1NnanR2JVgwPnNgfkIpRVVsKFNORklndF9nTjAl QAoreigoXmtQP0FRREw8WTRRU25rdzxISSFUbm9BSFNLeU5oeUE/ZFUtbUo8JGI/amBoVGs/YkFL UEBaZSk4Q0NFZWZVCit6e1k8dnEtWEJAaitkSkJPdkRYQ0owYTJfJmhiKXNyMX09VEYxWSklJXFs PypuJDhAXkYjaDkyITZKRTFVaEBaKVkKK3pjYXQ5S148VjVCJiskbz5lRWI/fXBRZF8tQHErPz0o eE88fk1JMzgtY2lRflczVX1eXk10Nl80QFd4Nik4c1Q/bAorejR6b2p0NClNd1JIWU1WOWsyc1Zy JXtZP0IkJWwmM2xnY1hUTSgyYmxjY0FCP3ZFX1M/cFNHejM9bE1qdG5GakJOCit6TXNFPmphKHsw UCMtQ0EyeTJOcnpyZkReXld2SyFiRmlOcHRJS21GOUpLJkI7ekFNMzQ/eGchJio5MlU2PGpkWWAK K3olQTM4c2xGdnY+e2ItJDVgVyohc1lSQHkjNnxJVk41cip3NFBifWQlKGRtU09lbyh0dEx3RCE1 IUFaQTZ4M0p4cQorei03WHdscFdvSmZoTmUjdXBjcV9YWWt4aX1SfW05JGhQS0dsYj0jaDx2K0xL LVBhcCpgbEBBKnRhPnAmfnIhYHtUCit6cWJUR3hrMl9BVjBIYnE1Tko2XmJfanVYS150VmotMWU3 TUE+cU03Pzt6SzVZNDxeNik8aVA+NiNCUUtVVmk8WGIKK3pOd3hLKT40UjRZSHIyPFh0bURQTj88 YSV3bHlOeX5VRm1mYlVGMzVPKkl7NElTPUUyJlRwY2xKa1JsKzZnKTgkbQoremZUVEl5elAyQHVm cnI8O1Q/KilrWSNqflBTLXx1JVMxez1NUih7RSNPalBQbisoU2hCU1RkJWg2RjNWRkIpV2puCit6 X2pZbWBfNEw2eilKNW5qQ0Itenl7Xn5uUiNoTWd9e2c/PGdrVkY/cjxVTXRjaklGYns7a0pGWEVA fk8mK31hZVcKK3pydThqcjJUOCheVkx5RjB3Rm9YdGdQa3V+NXV7d3l2QylWdFZSMT9BbEpgSzlJ czhRJk9IWGF1IzgtPFJOQEU/agorenNSeD8qVVVDOT5fQ05oZC01aG1vPkcwOypiditfVS1VXzY2 LTd+Mmt5MEsmaCY+N2duOHZBTCkkQ1ZkVzVANT4hCit6a2xmJkQ1eEkjfXdLKTt6KVZkPWBAeSQp LWl4TDZJIWo2SVUwNGFfWFNxJXt0TyFTeHlJTVhRZCp+bDZWUiVrKFkKK3pDSE0kZWdWMEc7WlA4 QG9PYnI4cTRVcCotb3MzcURELTBPMzBzKGcwMCRgdWV6VyNKRXBiRD8pSmlacDZwRCZ2ZAoreklu XmduemRqK3ZOIT9tQ2g/NEFlWldAKyp1WlBmNjVhZCh+R0dYKm1gb0ByeVZTXyswNkFLV35EeWVf aT4tPGJeCit6KzhWellIS0xLdUVHNnFOJG58Q3A4LSR9NldHMnxCd2VKXlBROFhgbURabUotJVVs czJ7NW1mJSkpTU1mQllrd3oKK3phLUA3NndsfElCbVVgdlpiYko1QzE3UDJTJV9Gc2IlSWBidVVQ KktmI300VnFAdWJEUTI+RFFrZjNlTFE5ck5UVgorekdIVksoaioxZXJ5KGdMdjRSVndQXlFHUT5H QX50d3cwdyoqVEhKJGRsc2BUZG5rRHZrIztQQ35NRDApflBQIylwCit6QWtkTEEjZTNRUTk2KjdN Njw0dk9HIXRXWXolcjlAQX1TRjc+eTsrSEVoRGRHVCtPPEtSTDFLSDBLcU57dzl4YikKK3o3SSZB UVcwOUhJRUUxUEFuZUdQK3NIMG5LTUVOTCNlUVQ5UzBUNWxZMU9yY15vfGlANFgzQCFyZnopS2ok ZytQdQorejFrRH1MeERJUndzbEUhUT47TyVKYzVkfmN4UyZQRUtqR0ZSSEpZempCcTB7Jjs2VkI/ QG0pVzZgfGlMI2hFPj99Cit6bnZpK25Tc1Y2LSYwKGJkYD1AeyQ5TkRtcntnajtPaXUpYkZwbnBf UldAYHF+SnMxMkZfUWJmQUZxe29NT2Q9MSUKK3p2IyVoT1hVeWJKenttaD0tY1h2e01gO1JBZkg9 QSspRTZASU8rREl6QkNiJnpnUntEa3YkQkhqTDhzYjApd3VaRgorej0pIU9makF0Kng2Vi1tfFlV dE4zPUBCNlQ3UkMpZik1SVF2QGJkZV9NSUVIezUqOUxPZjMmbEtnT1N+eUkrTFJfCit6UEEmeWN4 TmAmYWZZNHBeTkxqWGwrTHw/OTlad31XenhlakRKO083bjtfYmxwUm55ZjsrR3JEfEY4Q0pVPURP MjMKK3premBJPyYrZUZFK0c5Zl5ObVEpQjJkKTJKXmRATmtAe3xsMzVgVUY9UUIpJUlpMmI5I2tj dl9YSDNqN1QyI1lyNQorelRYTT56YHppfntFVk9yalhyYUo4Rmt0NjFtX151QmpnbzhsWkRiUSVv P1J2Q013KEBLRml0V3xZZVlANDBRWDZiCit6ZShPaS0/Q3ViQGckNm9sVC1xK1k+TVZSdHE+cDRe QVlgcmhsJDlEMXVYNzNla2NNXyUrJEIxYkcmcjRkYjJ6LVgKK3ora3JVJFlzOWN3YHdNezMlfUR4 RmNCdkc4NntPYmo1Izd8UE5mdjVFY0RXfXh6UUVBSS0tXitgPTArJnxMRGw7PworekVPSzcway1I QXVMNFNYR2YqeU1obThjK1ZCTnJLJCMmUjZfbT84UDBgI0p7ZDlfdGg0SiRjd1VnQVhCTXtVRDR6 Cit6ODB+N2ZERHkoOWtQXnxMP05Ac0J0Z3xDMnI0RD5hVjU4d2VleTxZNWNtKUN7Jnohe3dTMnM1 VFNKY0MqfExWV2YKK3pEaWxRJj1yeil5UGpTKj1uIT1mNkd8WCMwQmFjQH5uKyRtTCRhUzhRMSpk VTVhUWxnc1owcnwpZFo9KHM2TDt7NworejdSMlRfXk0pWVljRj8+VUBXdkNBXk9IYU9HNkBDbT5J RlU9OTJNS00oP1NkT0E9SiROOGBDd1A4X3AqUzc7NyVaCit6aVg9aWozNzx4TzZSITdATWA7fWRG WUYtcFJYfjlMSEcreSMzdj1YWSRfS2w3O15edHU3dEN0KVh7JXxMM3sqR3EKK3pyUDEqWXViPD9J Q15EOUJOfXM1fmAwZz9GYylaY29jMkl5X2hwbTx2YHVUQ09zLVVXR1c9M1dYbEpzVShGdEBQMgor ejxUMDBTVkhJaTdyY1p3Ql5+JiNFSHJLN0ViaklaemVYRlUrLV9kKk5YOzFtbm4rfl4xdHNyb3Jp QSZSJF9TX1lyCit6SU9TITh0RVVAM3JLUk87aGFCKnBTZk89Kk9QTXN1T04zKUlFZUpsdCNlcSN6 d09BQXNLZlB5O2JWOXlaTGByXkcKK3pFdTEmQklyMDg/cU8kVlcxWFNuOGliPiNmYG4pX2phaX0j fmY7X0JOY09CKU14a3QwOVduVXJVPiVzJm9na3glPAorejRaST88TklOPjJiMDBlbHFLO0BHJG0k NTdOTjxMV0p+ej1+VD1xI3RjJnhWcV8tOUlPRD9Zenc0bmo4TGgmZ1c2Cit6OERSQ3B6cjtDVk5j eTVoN2VSNX5ETEpWWCRXbThAU1I0WkBWSXdSSylhY0VJTTgtQlcwa2lmQGw8bj9mRzBfUHYKK3pR aGYqM3pyMFhhTiVaT2BmPXMxfjw9WGloRGA2KEFxMnlZJEBmN1BDNm9eSzc8RnlpJDxRTmgje1ZO fjc7Xkh3TAorenV8cn4zc1cweEltISZmLW1jYEJHTjh3MWg/a24zRkpxX19TakwwUmBrPWJANmBn RnBZJSpObV85Z3J9JCp3T3E/Cit6eHtHfl4pcmpZemYoJmZHcU1XNiVFYFRIOVV8ZGRwb2d+YiVK UT53PjJXdDAjMU9lMHwxM25gaHZHYFl7Um5lKygKK3pWfjJQeCVwIVMjeU0kckpSdz0oTjB2TDAh V2VSJGtXbHhHJVc3ZFJaTTZyY2FMP1dGfDRkMVYyYygtP35lM1l+KgorekglVEVHcl82S016SV94 MURHZX0+Q2I7SX4hQSE5d08lb3ApTFh4U2YmOGxAPiF2c2h4Vj8oZEVwczE9MDY4JWFvCit6TCVu RzglTFVuQzxMLVJWJmtJO24/RnBzKGEtM3t6bHpuNEh6Q3loeiowKCUlYXtTSnkyS344eU1QJFkl PFUzMUEKK3pxd2hrMnNsfC1aUXNZT0gqa3J4Nzg5WlJ6PDJjazs+N2xLeSk7S1NSK29LM2tFbCYj OW9PbU1sXzFBU0RUREhwdworekt2Ul9qVk5DIT4jRGZlLW8yPmliNWpZNT44LUkrPDNrQElSb1ot TlFhaUYmM0lTKkRGYGJlajFWJUNhZih2SXEtCit6JXV2TUdgMGpffF9jfmBtISttWExEPFg/bClz MGcxTWFyOHtfZnBqKChRfTIlJFkrTXlfTGZZT2l6KmxBJWdUV08KK3pgVUdlUXsrVllyTXlQIUIy fU5sM051amxfZGRWdkMmZEl5S1Q1YT1RaEUyeHMlSnFKVXB4MCpxeTNTYVlEPH5UcgoremcqQm5D Q1dBPSNMcDR2XkNJc1VFYUF6Zz9WQihgeTd6UXhVTVM/RHdFViRGOT9QJUMoNyhhfTRsc0spKkpa UmFYCit6P3xlMW4kPyVNWlR1UHVUaCs4SFNZYHY1Ykh2SypmX34pZkkrd2Z8MDIleiZiRS1zKHh2 NnM4JUV5UGUtJWsrd2AKK3ptekxBdWomR3BsUCRVZipOSGV5YGc3bUdjVnNtdD5DemF9UnEhbEk/ eVN+Q3YhZCVAQj8wYlc7THE4bXhNcnAjSQorenI2bnNUK0N7aFBXa3lGWW1mQ0NGSEc8VGBDZEgz WXVjPWtiOyVUOGwpP1VacE8pek9ZM0FhNjBFJEhyUFEyQCkzCit6bUhmbWJRej00PkYxdnp3X0FU UUN1dmU1ZG9tUjRGbTNQaWZnZUNRLWB0bEQ0XndQP1QtezE1IXN7R0UtRyZXZV8KK3p7PjBMWSZZ WGU/Uj1Lc0VBRVRMfl88cDlBQj16aC1jRj5wKDBUakQ3TiVBSSRnfGJNZEFMbiU1d09heSVBQGlH KAoremh6fWI7byRDJFFjR1JjNENmJkdLeTRqJnxtWkwzNCZsJCRuQFgrU2NvfE9rTHsjQmtxYWAj aTB4cnZna1NSTSVICit6YndhYlUtO0VOMGMhX3ViNXBHIz45eVc3M2IpZjM2KWBBJkJEIz5veiVF NVRXci12P2lQaW9oT3g1c0dOdXJaNSkKK3phRzF8Z3A0ZTVyUWxwcGZucHV7JTM1Q0dNNSpHeCNC QD57ekFXZVIrUWtASGFSRmhiVnxCSkRBaWpwUFYhWSN8VAorelpRRk0zQC1FeDlaUUhoTytwZ01X K3FVaGxkKjRvdktJMyRaODFhJkNuZldXJG4pNiReN08kN2toQnRQO1djX1BECit6Qzt2I0dmbHVm bFFCRiF1O2JqfDM8fGslMXlRcVVaU2F9fUoxI2o4SjJHTngpPitEXilRV25nNHlTfUlpQE4oSl4K K3pjSWg+QlorTCh2XkopVU9uekFLe2o0JTNxJSpIZXdsM35NZTB8LU9TTzUzTjlgU24kbGd4RWhD anVrfCRAYHxqcAoreitEZ2gzdmJ6K1clb049VWhTPXBnPk5TZ0omZWE1OXN4PmFXUDl9MHptU1BE UFV0QXQpKCNzY1phVHlldD52TjtYCit6ant5eGppaD52VXk5aHo3ZU5hKHo7KSlGSVFVcU9BTWhn V2psNmRRZkxwNTMoRi0qJjAoSWUhdyFmdXgkbU87V1YKK3ohQEAkeis1NjB3aVJNK1RYSUBpOFRo PzxkYWs3fDkmJDNCRnZVdD1ONilPYkR2dmA9e0RRenRWTFhrOUJXazRpaQorekppO3Qxc34pMTFr ZE4kSVh9V3NjMkNiYkFCPHgoYz95VW5BaENjOVFmKGZoKWV6TCtLLSU2eXxGR0RudWJ4dkl3Cit6 Yk9MczIlcFJBKFhZdCMhK0x1VXQrZlV8andWOCpfQHFCWkt7NSZ9STZNTCFtcVkmdTs4X3N0aDN6 Iylpc0hDUVQKK3pjOUhiaiRvNkJgUmk5bGlxcU5HcVBVM1pMNHtffEg2NHdeK0dhVzF6VX1XKWhv KSNZdWVZblZIQHc5UjNxTFNLcgorenJpNC03VCQ7JSY0IXBocyMoSm1vLU1jcTVtZz5+KDViYF5j Rmo7KSE8djVKJiltNClzUDRpfWlXQX5GY289MlVICit6WjNBJDxjdE5eQyRuelY+IXFzdG9NKW1B TGg9bT9eey1FOSVKWiRrMzJNT04xdVZqbUg4PWltaXV4Pmo2bnNCcSQKK3p2PEppIUxVZV9kNm9C SH0rRXN1IUZzN1U5Yzx2TCFfYXpKdiFJd2VsJEIhIVU+TGNFNCt7eGhXUjNvUjFTdjl8fAoremIo NGlReldGaClqZD88YVFLKjNqIUd3Yj9FdEF7UiF9V0wlRncxVklmcT4xNTRnXjx9KV83X0NWck5K RHoyQT9RCit6e2shekt4Sz0tIXdwfH4tdjcrKiZvKEA9VjFwJllXKlZPcWJeWWV9cC1RPXFnZThA IU5IT3FSM3xKKkE5VnsrQjcKK3o4KCN0V1RWSn1rN1RUaWo4ZnckcXo2ajYkUk5pfT8qZEdkNEUr VEMtMntOdil1YjwhaXoqXzZ7V0NnZ25UOWV+cAoreio8SlhiLStJMj5hSm11QSNrNzx1YU45K2tt NH5vNSFrbWMmSns9fVhqUUBkUm5Ob154aW00JmklOG9SQUZqMFA+Cit6MTMyakdhaEtjWFppd3ds a2M5YkVTbUhzQmM9NTZDS3I+NUImWnYod0tmS0gwVENlXjM2PjJKSSROdmpEU35Qc1YKK3pSUiNh QGhHY19xRndoOEN1KjQpPHNlIW1uKG5jaEd1fnFlSUxePWVVSGJ6d0toZDdLVHNrQHlBMGxyP3Vs WmYjQworemVsOWJ+RC1oUXYqfj1nO3EtSnRadl5TXyV6R2FZQ0khfjlnZyNRX1BoUj9BPWx8fVRN bmBSR1JyVjUtS0BlR05WCit6OTlZM1F0N01LdlpLY1RiJjlhaioqZGE/d1JDP00+Y0dJbTc1KGdg clh1a1JnMyp+VnF0OEdMPnwxZU5zbnx7c3EKK3o/eGNKOUJjZFJGaVFVNnBhUDA0Iy1AMXViV2Nz bHY9PSMqdyZmWXZYRkk1MVUkSTRMRS10QD02dCs0fFU/bmR6eworem5weW17VE19akJnOTd5bnI4 SWhpMSQ1bmZzanIoakhNWF4rdER9OF5KYHAjekdOJH1QcXhYY3BaOFVQOEx3SmJuCit6P1VQM1BI cXJ7I3MqeG47bz51eEVOQ087SXlAQyQ0U3hRUFNmTSF6LWVXQ2hvTHFQRisrMXhaTCo3bDM9eGB+ IVgKK3o5bkhXVGpPcjUhcWFOeGFiPypyKXJVMUZCPXttS2p7Y0w7UWJCRztaTU8xSnxFZkl1JWdT V0d4aE8qfU5ndGN6YAorel8wci19N3R6WWs3cWZHQTcjO0NFdU0hSy0mUiMwN2p1MzxCbEpUSEta d2duKDJNRjBTQy1rQ0dKeyl9XmhMNysyCit6IUtgXl8kOUt9IzJVIzV9REFvSnx5TWZ4Tm5BMmYm eHtgQlg0aGJVXzNySX5NZ0YqVD1LSjBuTzZaM3wkJl9ZM1EKK3okVEkrPz47NWM2eG4+QjM3bFNs a0xES2pLZTk9M21QYj1SSzM7O34wWlRUQ2N1SnxfJEVqI1BgZW5UfURAQURsYworenV8KDdOalNg RHQ5cyg+Vnk8JU9JLUhJZyNIbXY8UnFrRiRQdUlPPztaYmJ9YmFRYD1jdCMpQ0s3QzhwNGhKQjR1 Cit6cl4lOGZkazdsT1J4ayolMktOZEJPbWNpXzYhYXNgTklsIV5GKD08X0dtMEt7QDAkVzw4d0Ni I2IoUTxUWmtGZCgKK3o4RkJCPFE/aGs8MW05V0xMd3RAfTJJK1lQS01Zc0g0T25pa2lEYmN5RnlN R0ApU0oybyYtPkZ1ZTBabyR0fjNMUAorenVIcjYjJWs2M1pxTEEzdkhPUnYpYkUkNX1SUmIzbnc+ eFl8MT5FZ0xwYkh5X0J0dHZGJkx2TlkrPDZJJns9d2tBCit6WlpTUntWQCtfJW5wT31hcm1SYlIr KD09WnstRykyOztAV184JCstZFkkcUBsOHoqRUBhKiMzV1hjYFo4MFVBcUsKK3p6PE57fnhZMUE/ REZPWk87ITEmYHZlenJ1OHJPSVduNz92dXRLPT9POS1GWmNrX0ZpUTZ+dHhZYk9qb1M9KjVfRwor ektlcyp9LSNhbmI9SU1TX21hY1NkXlVOSGNqM2ZPR0QlPlF1QiE+bCUwa1ElSSNFR2A7Tz9AZmFW N1hrQCFAbkBXCit6KSluWStUezJeKEkhWk9kVFNqfm5kJi1fQmZgQ2MySlhRSk5TQnZEfktqKn5D ZT9WVW5tSHdjPEpTZ1ZkbCUyJnoKK3pyTS0jcm1QM1dLcVg9X0g0dEw3fk5lSyNnLW1saE08SWt2 S2NicWM8ZnNWSVc5YjwyZytAPHh+YG1LUkg5YG9fPAoreng5U1lkWWMqdCo4bmE0cjNnRCNXIUxj JTZPRkB4fXNNbnF0TihrSClNPlFUMlkxN3AwZUJ1flBpYCl3aUZeY2JhCit6I3JIMmRHRCotKVV8 XmB7OHduSn5GPC10bGhseE98bmY7IWcpa1NvZk9oJElMTnU9UFgwNyNSQVYmJWtYNlRjSj0KK3pu NVFVQjJ6aD5kdEwzPlZDcCtNS0xFU3lta3tpOTg4NHMjaG1qZHAxdkhkRG5OOUR7VXkjKmZMQE9x fnBndjxtZworenA1S0MrQyZHa24jVkI4JGQ4U0QpKWZgZX0/a3ZzejtSTEEleypweE8yMW9oP0Ym RTFQMVkhNml7bl9qdyQ7PzNfCit6bkthZS1Jcm1sNzlvYjV5KjA1LUEpP0d1QEZVPXpZJGpxZjF4 NGZlakAhNlpqSnI1WFdXK3koX3lgWDEjPTBzKCYKK3pDWkdTQmAjMDUkd2tqQGNwOSpgTWBtb3lf REdEUm5EcCRJfjw2ZV5qN1NqTDNjej4qQGRJPTJ7cUhLS0xlZ3ohMgorejU+JkNQYUd8OG1KYnlS QmlOd2ZATmU/YnxXUDtYWFYqJUotRztEVFNYdjwlK3c2dDFjbXVoK0pTRiQ4JHdxamF0Cit6Nzh6 P0ZgR3U7NEJPZSU0WU17b0NKJXIxa3Yqe25jN3loYGpAPmU3KT5ucFYyekc3dmYhbTlrTkNRcmYt YT8teTcKK3olMEFfOE5wNTJrI2hNVU9PYENBPE9XNkBaNWBfbCRueUpAKXs3I0N5ZHliaTBJKzhl cFZzUHBrQSlsNmZwT0sxMgoremlXWSEhYDI2eGFteHtXdmpxRk9RUyYlIXhJX2RIVDxQeypiSiUo YXtrVWx1R0RNZSFVK2AtJm5US2dKNlUkOD5eCit6aE1aNUUrT2RPe2M1NEsyYXUhdl5kPShiRUJp IVdkT2oxcDV6U0ZMXjdLO19ic2M2Ki1jeXE3cFNCU2RLVThieWUKK3p7M3IoMil+Rlhoc0JuQGRF aUpEO083KjZGUmkzczdiP3loMms8Mm41ej9qRXlzezcyQ2kqN3IoS0ghN0slWEh4Iworel5qMk8t MlAtP21DOypkdiM3JlcxcWVGU0dEaS0jcDFBZ2F8WkJ6T3ZaITNKXm9KajIhUWRMc3lIKDV3e3Fr Q3xDCit6VWNjZ3dWNmVxbkhaODx6Q24qfFljQ0IjNElDc3Y7I2VjK34yOEUtNjB0cmd+MUFFcHRg TlJUNjYmcVZYdCM7flMKK3pJMExPZzJnSDF+O2Z1Z0g/O2VkMGZkdVc3clBwbk5aJFhOKXVqMkJA S34qaX1PUmdIfFZye2FHcmk2OW9YVTA1MworejdBUjh7bnZoa0FLfXpPZkRHOWBVNyVOUHFIMno5 U2U5RitZKW95Pm1rZEZzVigreV9ncnpSUVBfJT07d21XTSVkCit6Sjw2ZWxje0lWP21LRHxxeUlg JTxBSlphV2o2dVlWOFFtTDN7WmBzUWsjYz1Tc3Q9eGtIX0tIaiNwa0tgYDVJKCkKK3opV3d3KypH ayhxMUYkWD5eUkdeJiFQfkVQbVo/Yk1kVispNFJrenk7UlViZTNucnlGd1FwPllHK0JkVmlTQC08 ZworekRRKDw3S1gwZShLMyFncWtNPHQrRCklbTJNYHkzLXZIcjUwaXZkNW1AfUZhWjsoekUpNml+ UTg7Wis3T20rb1JLCit6JVc7OCpSX05gYWN2VjdlYkEhJChfcVF3RjNaYz9tMUBPWEIpa0VRXzAw O0Y+Q0IofSFIVGQmPkh2JkRjKHtVKDAKK3pNdlNOY24mUSQmPXktcXooOUJgMC0pM1RDeV87Z3hC NFk3OTUpYUJVRUVDaGQ0JGwyY19EISNYdlZCTTAycF98UgorejdtT0BmMERXWT9EaTZnRVNNIyhE biR3QGNnRkpeMyE3Z25JNSFSVCVZPEImIzt3YVJMXyQ8TWJJYXd6IW8jUkdNCit6cWtyJV5PSmZ6 UGteOSQjV29xZGdtQHV8S24lOyNVS1JYYjVEbyNGWnk8Zi1yPjhCOSU1eyglaTtDV0V4JERYKXUK K3pNKTB6UWNWYEQoKG1iTyNuXiZLKHNxeTRZM2h0MEhHJDZGdkxQaXJhWCNIQj8zM3QwaWxVKktH UjRheWVScklWbworeiNrK2k9ZHBZWkM+ITF6STVyS2JBezZfdCpBO3lXLVU7c2w+ODNYTTJLYHQp XkBMWlVqWnkzV1lCZEx1YSRUWm4yCit6KyYrYkZkPnx8VWhKR3lhYiZVRTs1XjBQN0p1S0BxN3RB emw9dVFMPHJ4KDNlMXUpdW4jRk8zRHs/Kk9JckBBWlAKK3puc35oKWI0SSQ4am9MITJfdE48MWsm RDtMKD4zPiZpVCMhM0l0T0F0USEoJjNGKn5CVHtoTVh8SUMlPklSYU5fcgoremNoO1daKEt4ZVhX PGNaWTl7SE8hSlo5WkhVT0hUe15QVV8tWVJDQipkU2V3T0RicGkqYzRHNW5WISV7PVheYEQ+Cit6 T0ljeSskWWwhIUN3R1AkYSluOUsxd2Zac2NPYEFPX28oWURfM3d3YiQrflN1XncmIUVoPXgpSkYx MmNJTzcrc3EKK3ooP2QreFVgYkwqJXZhWEdmaUN+XjhsZ3lDLWBkJUlza0ZYYWRjSCspRkwrQkdT QUM9Mil2MWxmT3V8STl0dW9jagoreko9SDM7V0Iya0pFM0ZCU14ycGRPbXY4VT5BLWVXaUhnV3R3 dlJwNCsmIXd2U2ozXm1sdko9TjBETSE7elF5VXhmCit6JThzY3dqIUdYIzlrXldqeSZsejxjV2xj WnRLIy1uaCQzZ1RgakdSZ2ReWCtWcHFKTEJIXkB1NndiJWNQMHs8VX4KK3o3dmxlLXp+VS16Z0tO SjtgVnIpUkZIOyprSVEtOU17JHlvJitlYClvcEEqJGhCSVExVXMmYlg7JGRNeDZOOShOKgorekM5 WGRLM3cyMXltfF96JUpLNUhLYTdFX3M7I1Ioe0Nve2pkUDdiPHJfRFM0ODtnNEp4SXpRT1lPS2ZR Rml4NWl5Cit6Uzx9Qzl7ajslJFcjX3BUZnhoXyVmWmhhYWYqRVJeRiY9bWc2PGRTZDtoMTUkeTk4 WHJHVX1LX1hHTUckb3slTnwKK3pNdCEwWFokPG1ES1ckMmtyXkc4a0puP1d9P1M0PXBWZWhWbD5p fiVGaikyfGRMTFIjVDg0di0jJmspPUs2QmVBTworel5zJW1eQzcrb2hQRm5lV3JaMWVxOGpmU3Vn QmdjUnBaNGFNVXZoQEc2M3ZHLTN6b3c+VUBVTUs+VTU+R2lYdU1uCit6Mkw5NUJrYzRpSCNgQVdr cjZRZzI0UUBzNWM3RlJzcDczRTlgQnMkM14weDhmdU1yUlRfTGZPIz0wenM9KTVucikKK3pfP2c9 UzNmaT1URTE5c3R3bCgrUj8hdUpVVVAhfFhoKHYtUGV9SG91TWVxaDw2SD1BaW5YMGs7bDhwQHB6 M3ZQUQorenJXWV4/eHwld3FuN0w0K1llXlc4NyY3RipRflFFIT5jUnI8I2F8RHooem0wLUdfYjNB e1N7d3soRjw3Vm1BNzVyCit6TVFmUCY4bzk7TUZxVHBYJDlgYD10MHcyN1AyZW0xPXVEITVEOCpS QGtgNFp6WVYyd2hROHBffHlSIXtkeCthVHAKK3prZ1gzKXglYEdUPDs8ejNeKi1lX05Ie3BlVG1v LVVMMyluNkptTldgbVMkcCZwbE1SSnUzSTJRLXpmVX08RGhCPQorek8lcEZQJSNRXnQ+UGlfMlBr WSR3U2ooMUY8dzBxKFhOVjBDT0d4fEsqbnRQQ0V9Sj9xdjI+JjxwT2hQaDFSYU84Cit6ODxFQ313 UH1wWmJtUENeQ0toZn5ZaC1sXj5afTwtJTRQa2MoeX1iN0h4ZTBAVnVeTz5xZDdTfGd5S20jMiVu disKK3pXPWkpZElsYmhpbGg1X2olTmxRRnBsRTVTeyNRc2prO1V6cmZVPyskTmZkU29gWi1XJEx4 MGQ8SUxAdSN4eGhVdworenpkQyV4TkFyPFJgbnhnMnY+VjFhcmlyfjZXNy1RNzw1fCNwUVhEQSo8 UnxVMnlzMS1kdEJkUzh1YFFMeFQ0JFRRCit6JDt+UXllci10JkBVcTNoRUw/QXE9aHpnWHZrJXxA dVZse0haUnstZy17QkpkSjZ2JTgzanQmN1ZyPTh8OXxES30KK3prSFQtYUB7fjskMTQ3Uk9OPWdB TExCNi0ycS1XU1ZqKXlwJXI8Tzx4ZFBwPn5BQFlWKlYoU2U/WDBLNEVkVTZtagorei1ocik4PztY TmMrKHUhMiMhPD4pMDRBXnJ3bis3Iz51Q2IoZnwhfU9qWXJLdHgwSEQjTmUqTVEjbz5WUkNQUWle Cit6d0FFPW9ZckdWWW4xSmRxOCtqKnE7NSU/OzRjTyV9ZzR2KSFQVyU1bExvfm98aCVZOEpyZWRR KDEyc2E/LU49alEKK3pocE0jX2dlUSVAaT00OUpSfnImRi1JU3FvOTRgKTtrenQyb3lRe0RGTlpr IWEpWnk5LStNV0N1eSlDRns7dlleWQorenQjVk9RI3xYRjZ3blJzYmdwcjAhND8mKmNrPFRVPEQz JUgxTSomT3cqKSkoP3ZhU0JFdWlIP0ltYGtBK1ElSS0pCit6N094P3d0UnVlVkxFUmQpLTFJdTBS WFdqQD5PZT5DMX04KG4qWlptcD5IWE1+elIwWVYmWEdIRHE4NCF6PEYySkwKK3pPXl4qRzM0SWxl Xmd5QHFTdnk2Tnp2bFF7MU5BcWBYeDtmZGBWbCQ9IURQQmkteHg5NE1xeDNeSXw9KDMxbnFLIwor emJEbER3S2RTJiZpYUtmSz9GJnVXWEkySkdFVzg2N2c1MSgrX0BTNHNlSEozJUpxc1VRUmNweypO bVRZeytKXlk/Cit6MWhUMiEqQTNEITwqSH00X0s8VmlMcVd7I3kycUpSK2ohTl5MXlBge3V9VkVU cWU3LXtLfX1FSUJWZjVzQFI8Z2oKK3p7b3R4eGBJPXtaNj9aLWtBNT11b3ZXOTUjMlMoVjBOZ3VE Xj4wb3pfRm15eXBeQGZ3YDFlb2xrSjs9QV5JblNKOQoremsmaXJHMmtlVj1lfVZtSGktX0oqKSF4 P2M2eiVYIWQ7WWg3blUkQCsoZkAxXypAflpsM3QmSkhkSElUMV5EbyYwCit6ez00fmFJb1E5TGFT Q0tUczdQKkpyQkBlRVdMdDd5dmVWIT8lakhATiFqT1gwJkBRT2JSY0xTcU83WFktTG5xMlcKK3p1 RHVxVVBeYzBJWHpCdjFwLVg5ZlY3cntHemFWWGIpUGgrUlMkUWVhTCUqdHJUeENpbDFEaDBva2VW ZGs0Q1puOQorenRJU0BNKDU3M2lqYih1eyRPZ34pdkBVbFpEJkV1Nmw+bnE3KEUle1pTaX1WTDBY OCoyJGwyZGUyWEklMG5fNnV8Cit6QyZgZyU8bFdgTXd0QXlvPVIoJVNKPTdVbjF+WE92WFJ5XnNa SmBqeG0hKT9NJnZHXk52Z1BDJUtIV1FVMV5HWH0KK3p2dTJvcHM/Z3VJbm1vfHx6TDQ0MjhYNW51 ZmpPbGxFZ1NUIVFoSn4hVFNGaX5ZVmMmcCM4YF9vZWM3SyZFMT9ASworeihTVHxaWTVkdTRAamBL N3VPdVR8MlgzMTV2PCo0NDQ4JCMhPn5Fb0NzTDlvfUReMUo8bjUzdSE1bFlqYGgqS2teCit6U0Ri YXE5cEZCcUV5LWdeJlFNYjdEZSlfP1lzQGhaQntjJHJaI1NPZT1MU1cjeUsoPGxuYkQ+QERKYVla ajlIUXgKK3pMQ1YlcD4hdlVod304JE5mPnM0bWxFIWQwMWI2V0whPWRPZ3B0fjloPXp4TXQ8ailn JmdzN0s2KilkISg3Yj92WAorek8yOTkjdUMxZ0Z4UypDalBTR1V9NEx6IXUyezluU0MoQnZMUC1f S3phUkUoZm1DSnA0RnktOyl2P0xtNWpRTTlRCit6N1YzIz1ZKW1JUlFldj9oMXRGTTx0IUc/IzRW d3ZHKzJDakslMlBEVmsoSlBkJXElI2xzRjJ1RzJuaShuMHBCR18KK3pAJEF6VXwwfTApeih1fVk/ SkBkKzBuSUZ3LUtNNyteY3tHZktBRiRYPjRCZSo1Z0FvNjkrfX1McFZeaTU8ZHsjZAorem5kNXF6 ezwrfXIzSDszJF9SYmhIT2dFfmV6WkdyRGRKbHtGVz9Acitta3VsSnJPNztQKXB4aihEPXBzfT1z JG00Cit6QERCLXJkXmlBcilMLSFNellQZEdlVFYtSUp8RSMmSXhlKDVkLT97cTtGM3dLeil0dkZU RDJ6OWBjS1RGKj1WKjYKK3pHR3l4XjYrY3hRbnAlVlpxeHJoPWR+NmBTJnxpYWA/T3RKPzlaSEZy e3ZoUyNfQj1nRER8RSppSnYqVWo3cllUUQorekVqPVpKTXZyNj1tWERFPHtnNEh0Xy1rQEYhOEda PkJhRlg3QGRxPWZyaChAQFhiJEU/RiQ7eTteVXxHZGIxaVZqCit6SiR9IzV6diR4ajdEOEpgSjQo ekhKWE4oWWt7WDNKI2h4V1BWdkh1YzFgU3t6Vn5AVUJeVFN+TF5eO095c1lJPn0KK3p8Rz4kRVUx QTxuUjh9eztpeFdGbkh+I0t9S0BlRCtvWDZYcWsrMHEzJlpTRk5UOH4zSEZOUmZac1prPEJ5MSlv KgoreipDNlg4NSRDNlVVPD9JJG0we1d8VDFHZER1M0VPWXomTTRAVWdaeW1uMEwhT2khQFpnb2hu SzdGa1V6K18kWFckCit6NnZgK0V3TnRRKGRLOWdoZTRKVX02JUxEbmRmVX1GaXI/dEtKeDlTMUR2 MEAzPCh3bDY3eXNLeld1IyUrMEFHQ08KK3pDfjBnXigtNGUzZCgyJV4qbkUrT00yRGswNkJuKkZn b1FCek57Qz9xbjJ0dSVxRkRjdU5TanVHdis5TFhWfSl+KAoremBsQmFuSWFzcG5gQCFTVipoSnZP VUdHbFJqT0BzISYtKjJ2K1NELWpTe200Z0k4Vk5kNiQyakY2NGRTcTVASE83Cit6MHdPMU54Nmp4 OT1VZFJlS0J7WilrSGNycFQwJCZ0JGRXSE5tcEFpczBPTStfUDwoclNnS3BmQDw+UWpDI2J4dEIK K3prelgxQiltakUlVVg7X1dld3JEJXcjYit0a0ZOU1dsfHtjVTstMUlibSlkUHpod3ZNMUM5Yzkt VS04OC03K2dMcAoremRYaFdyVXhaaDI5PVgpM2Y0fjZHbSYzekhzTj9xV18+JUZEMnclbWJHb0Zm MCNEKEwjRHpWbHRCPioxKG1NPkojCit6ZEVfP3Z7S2QwdDR1UlV5bkxHaTh2RUZ6Q3NqIUQ2NW95 LXNYQDNwdV4+KXkxNXNxWEd0PGZ4RVhGYlA1Vit2UDwKK3ppYF5kN0t7dzduK2R6Pz9RKilaPXl8 dGJEN0RjY25nUiZoVS1QWmJKe1lUcTRwJTdlNGVwOWRJdWM4fjk5fnI9dQorenFwVz5+RiglTF5M WjFxXztrM1h6PjM7X31he2tVRGRoQj5nUFh5YHN5X1ZYaTZzekJPbjQwRGtMJGVHV1Fyano7Cit6 dEs+QkBiUGg1ckIrdHJ3aU58bTZrKVJ0czQtZCl1SE15fG9oRFpjN288QzJzeiYrcWRTaVY/UiFv YXpQe3BidVoKK3pJSjAjMmhTQ3V1bUdQVSgzbGIkTyFRaj56bjR0LXdqYUNwVXVtPXg/aFIjaHtH cy1zMz0oN29ucjBzeTdHOVRaWAorelApZzFOWk4paVFBZCo/S05UV2tiUFNRQF8rSihZLWFgfmAl SUNgKUdWcmx7NXxFd2JkbWNKPDgjQzxeKWN8TXhkCit6TGZGRXM+PUVJV3RWIVFxKEQjME5gfiUt JiZTVH5nTCN+cXlnR2xzPUlwOGVLKTtoZEVmUzNTQ2dmeW4zQHlzRHAKK3oheGlrNDw8cmxAem41 NDU9K2skQUNNOE0zP0VsZDUmT3B9fSNQOH09ITUwQWFGenR7ZkBBR35TV154fThCS2RARAorekVH ViE8SkRPa19iIzhjYDFyMGZrZlRIbGl0ZzU0RUk2YThTbzE8ND9pRHBGVUhDaCU3SVV4VyphTila aCgkRXVJCit6bFBoNUE5Xk02XmdzMD5KVCtpSnVMRy02NGJgYzdaQUJ1UUZEcys8SkN4NGFsS2kk O2xXWHM0TDBgM3I5dGAtOzwKK3pyWmhQeHUxdTxnezFTWX5fflJPVmtwUH0wPEdseGlVUCZYVXgm fW8oKDxrfiRWbUlAQTJFYUY3Mm9lVyFfdmt6WAoreiNPSXRSK2d2Pzshd1k/Jm05VHxtc099V2Vt KmRGbUt8IT5TYSo5bWxVfUx1QDN3IWtgQWleezM3SUl0KGxWaWY0Cit6RzlhdHBNT0NkIUl0VGdK VU1mbyhXZnxfSlV3UDJ0S0A+R2B3TCQkaVgxUHtoblg+TWZJUVchd1oyQDRebzUmYWgKK3pTOFhn S002MkptSz0/NikxZiV+e2l0OCgzNT5KdH01STdXTkd3QWl2dU9DWSYmMWk/IThYej10bnhGd00t MmRgSQorenByM3RFMEtNaWhuUUJ+NDhBIU5uSGkkP0pSKVhDXjxzaSQtKmZjRmsocipaNSplZmox PXYpI1E8bHQ8OWZfVXdpCit6KylKYmY/MzZOQiFoUVZPb1dAV0twUGMhPD4tWWdpSzVhWEo4T2tf LSRtO3koZTc7MGFEdDx0WVEySkYzeV5UcXQKK3pFTDtkaDVrKzAoYSRMfmdqK25FY01xP2hEZUBw SSg3Kytge2ByP1V7bWh1U3QxdzYmUUxQeSE5JSVIRm1uR3w0XworemswcUxVdWd9UiFQRjIrUTdo JnVyX0BRQnFWQE9ydm5gNUR3cj5UOXRlYEFaTjdzUCsjTnAlXis+byk9dUdON0k4Cit6RTEkPEBT dTlXQ0BkZSNNKi1tO0UxamJKYVZiK2d4aHdXSmtWMnh4b0I5dWJ9dXN2aTc4WT1TPnJEfE1Idl8k OEMKK3p7M3BQMXtpT254ZyFJSSVxIWMkS154WHZYI3k5UiMmNDcxaWcpUGVia0AwPlM1ZWVMPl9F JGJZRTI5I0R5KGhucgorenorSCErJGc0PkZCa2E/WmBUbUx7KUZFV21neUxARCgrPyorSm9fSFk1 QTtZTSs9TjttdnVjYzxxRWE5YVhoZT1YCit6d1BSWkMwN3N+am8hank2U3NMVHZfQHFrLVpHJnJM NXY/Znk5OUtrZyYxSU0+KVZeUmsre2VlWF59MUFXaW8pWEoKK3pSaGJlWEtRJEd0eFl3I0ErQWBA fDEtNSoqNGBZTF9iVFB8ME9nVTtyQiNqLXBzJD8/fTV0dDU1PFAlQTVoPCkxQQoreipILUI/LUV+ bVBTd2pnNVJIPnZFJndLPXh5dTFQdz9fenB+O0ZjJEUlY2M7YjlRcC03SiMoZV8wQkdHNiNGSUZG Cit6dCpJNXBEVGBWc0l3PiU+aGBHYTZnOCt7dlZrYVJ7dV8/N0EqYlBgbEImT0xkK01lJWtQSFFC RU1DMUlZYGtEbm4KK3pZPlgmQlphKD09U1BCR0h7Vik/dkwyTnlObkE9dio/ckd2NC09ME90an1+ QmdWfUF7ezEyZz5KMnZiOWw3LXdneworel5OfkUqellAVDVVT2NmcUVEdEhzPGhiUD5Ja3dwPSRz PkpLMkt4VV8yeTc0M1l5JTZDS3lUSnxFTyZ0bkx5cn0hCit6NTI+eSYpVyFZVD5eWT1VRSEqfDtJ SHwhSWg4Tj1DX0hjRGwyalZXJnM7flpsQXRBcGNXUXx+XmQwU0pabyZsVGsKK3prNmtuJkBYcmpH bCZRV1QzITBkbnpoT09LZGBSU1JOZ3NBJWAkbVZYT0F2aEVBZVdxKj1jUTBybEtXcE9DTTYxMwor enJGbWZlXkZ8VXNvK0ImdUN5RHJ5MXUyaGc8dzdtMFN+KWg3cVpMZUtpcXlFeUdiTUNGJHJnfWV1 NU9uZi0jfF9SCit6JWJXWXVJS1c3QWlKViRaNEZpdV9zKipKWj4oZnhYV15xOWcpOEZwKSp+TyNe Q1E5e1ApSUJvfj5xTDg7bHl8PHQKK3pCVXtrUzdeZGpTUVVLSlN3JWdFMV94Qy08WntgJWVvKHMw TiMtSztESU9XS2NOYjsjSWtsdkZMMX1tNnpNJWBXdworenZrPHtSX2gmYzFgZ2JzIW5iNSt2PSF+ S2NqcjI5PG0/JkVGT3Rsczw7JlBmJERaZUtVMlchTT5OZ1U2QVFwcWAhCit6SkJZMml5e1RsWEVa bSpRWUpYUCNPanBTayZUSW5DNSspb0hBYSFwKWpncTAmYj9FT0toZSs8V09wOGdMRCN1ZksKK3ox aiZmNGFHIzZtPmtQV0lYJGhPZFhCYGB2eSFlT3o+MERjXjM2X3RfOU14MVdmZWljJk53KDBQclRB aVN6Zio3dworejE+SjlqNWV8XnBmfV9rOzZKPXM+RyZhQEpLSWlEfTxkbnxpQDNAPj9yQm58e1RR dUhRXlIlc21wKyRCTFE8NnslCit6NWFwRGU+SUlIQysoNFZQR0BUfWZMJGg8I29ock9hV1B8YV8z N0ZVajBtSFBVOU0qSitMSTlHTUUwYl5CcVQlMFoKK3pgISReQ002NjE5TzNpVUU9V155NUUkQ3ok eHJDRWRISEliditNXjB7WUVAR1o/aVE2dUl4O0NuJkxnU3luaCF4NAorek9vVjspd09eZCEzbyVA aGklfjlsOzJPcF9gIV5xYWhuVGVoTCR6bDZJXiNtbW9vUndlbXN1Xi12QkEkRnBDVHo1Cit6WVA4 dGNmeTBzOCp6ZzRWeTJqOXBMOz84S08wLU5RSHN4LWgkWUxoMU9NWV4rKm08aTtOcT43SiNsalQz NWBwc08KK3o1PSk8MXxMTkNFSWV0SCZIKDxrO1EqWkllVF8+K3wpXjlKNXZ1WFVkWVkrYD4tZVZE d3pOSWkoZFRIPXdOaDtMUworejl7PVFhV3M8RExNbnI8UXtvUS05aUNLe3NIQ2RIWFZVSXZhJnlj bzBiajBXZncqSVJYQztrcnVpRVd6QG5yenlpCit6MEJkblV6IyllNmxtPng9R3dLfUomZnFkMSlJ eTlFcHY4LTMpMVE/NmN2PzFTKzc+YUpiPkhDNkspNEhNaCVYPWoKK3pkRXk3SlVQcz5qYCFZNFdx YmY2aGtMYl4qVEVOT2NIWWRrU3ozSTtTVzx4ZkJiVyskRlZpcj5DayFWY3M0TmNFOAoremhlbWR+ PXFkUmAqR2c5clowN0NyeD07P3YxQFYldERKQiR9PyMqP0kqZXpkSXp7QWM/RTFvQE5VfGEmOUxB Tzc3Cit6aGx4KyhAIT4rK043IXIrTkJKaClrNU1raTlIbXRAVHFrLUxTblJpVWZlK3F6Jm9lLWQm OShLfDsjNDJzeUpPOTMKK3pDZSMteyhTaVVDS0NUISZnS2dNUFJYTVFFOTdSVyVBUzh5JF8tUXpD KSlWdTBBdWR4a3xMNT8qdFd5WnFIOGp3KQoremxNdnhSWkRNMm0mJFk/OXc8Yko5MnNfWjBaRmB4 QG1XZjhUeER7TUE3YXZMUVVgak8tQUs1T3p7MyNIS1A4PTNjCit6Y2NSTnp5YWA8YD91ajtFMlhC OW1EeVpDTUxDZyNLS3tkUUV5MjImSWM0S14tPWIyamtPRSVhP1coXyN6cWY1c1oKK3pMNFVfMlQj NFN4cz1ndGBILSRDZSpEfjg7VyliYndAJmBCR00lKyFLNmhFVjM/WThndU4wWTs8PiZAYnU3aVkh bAoreno7P2ZsPzZmITFraWFCeVhDIX1AV0EtNV8zI0o8dStOVDhUbTBQbyhTI3ZFU3RDTVYkbjc/ R1crV3c2cGVlN1IzCit6emxKY0RGI31IJkBjZCZLUXlDeXM3T2h8Z3E1bGsqZDgzKChacDJCZy1C ckc2LThUNTMyMGpKS3o2e2kzZSk+T24KK3pvSzA5Nko1aypVUy1tZH4kLTNMVUdUSDVvbkgzMntB NTU1TnVATzgwKn09WVd6VHB4M2A2KVIoJkBnR0hFT19QKQoremFkKVkpZWRJU0tzMTtrT0JtbjFZ ZzQ5Y2dzfUw/WVlPQnNJdjlAcCFjMyM3dHdqJE13MDZjVHBtenA8ZlhaQWtVCit6cEZZX2R0e3Jk M1d0WUc4dUFqdyYkNC1VSUdWWTJrYG5oWHVyYm4kOFYjP2Qocnt5O3RhXzxNUVJmNUJfTnJWYDsK K3prN0l9eGpnPiEtV05gfnA/RztVOzQlUUJkXlc0ITM3MGdnXnA7NEw+RTZVayM2Nl5lUDdGcz0w bEZIPkcoMihEfAorem1weUBjPzhyNkdgISY2OFEkKktQQ1g8Y3ooSURPMFE8YTV9KjJxNW1VckYw dlJ7fFE1SnRYOVZ0d2dPJF51fnNCCit6X2FEaHRXaj9JbUtFPjdyWERgJiZoUnIqKmktPGQ/PkA/ QzJVdnRARnBwWHEtaWI2V0UqNGhuc2w5QXVKaUZZbnYKK3o/RGw4dnVpaHRHVVd0enohKCgpdVFF aCgtWFI3SjxANTROUDx4b18tSCtvYHBvem9tIWIpRHJeYEV6ODtqOHo/KQoreng+N1BzU3pYLUUq dmJJI2prczBOa05RV0VueTlVJiV4O2x5ZCtedDlUPXVVdW4wZnZDOHBTP2pMfEYwKjZwZVoyCit6 bmItdGUzWkNnb2UyNWdUTW9FY3BqfD5DYERPMmQ1KiNDTCVne3BJdXcqRk9YantMJFZ8THhyQ1ZF cTUlTU5xU3YKK3pAMl4tQmBGa2dLfENrXlNXK0RYbkBAaFNnWm5sNj9GN0dOTmU9eEZPbnRGaT0q RHtfb3VuNWFFKlQ8RUZSdnN5dAoreiY2XiFpIyVjP20meXxPZD1OXlhkTiYpaTJLK3l5emZrPjVS aW5Pai1EUyh1VV9JOSlkQTxxUzh7IUAtaDBNUFY8Cit6KHUrPVY2fiNTSVo/d2xqWmc+fV9wYGND cE9DaGYjPzRQKXUtcz4xTjJTbSp4RmtKb0tMTyYrZVB3SFRaP0U7U1YKK3o0WVc4RDhFTDhqbkpD PD9lfFY9SFRDdW5yMiZSUm9TeClrWVNKMXZJUm90eTlCYE5+fjU5SlY7VDkzYnkxallSJgorenBr I08kRE9fWWVza3NsZGR4cVZ2a1JGUkM5Y2t3ZzVfckgpVEFZPzExJjVtc2gyZ0oobUIhYUVBaXoo VTUteFpWCit6M35US3MlZXQrcyZOfEg/WHNtMGI0aDd3Rmh9d0RFRWsrUEl6eU8rQkxFRjQyP1hw JmpLbnE3MlJnUT0rRio2WjYKK3o9JG15KmplTFY+QkVzeyY7bHg3S3NfM350M0YpanVObFY5RU9H cn0mSzVIaSFiSDtZYiMpbU5ndlBaU31VdnBzPQoreks1QTh6OXEzcmg5RkhUUndrT1BZUFBwe29h OEk3UEQ3WFlBJFBCOFVrT0NDfig5SXBZR2o3UlMyPng2K25CNFVXCit6MX1AcClsTHt1PTx6JiVE MDwpdVNjaWYqKzBkQj93cFZVQU82THF2dmhFUkhjMzBubUpGQmZUNiM3ITc1UDVEY0cKK3ozclVo S2U1bX4waFlSP2RXfWYqYTR2Zl9vN1VsM0xnY0gzeURSZGxOZVBoLVJFRW9uWER5T2dtN0ZsSlMm Oy0qQgorejIjMSFAU3M5NWFpemF6eGhRcGxTbXxKPjF7RCRsVk4+UVBvakRUQCkkO3VuKVdRKm5G ckImKFIzWEshZ24zOTEwCit6QWNLY3RTT29JJWtyTSUjKTs3MyFDNm96ZEpUYG1MSS1rQ009TyNo Zm98PEtTSjM4UCpiOCFxdFNmNEBOYitHQX0KK3psZzVieSlUe3woSmBnb0ZvLTkwK0IySnBuR00x YGVQQVFYNjsqMEdCZmVpQH0mX04zTmd+R3VSKGYhTSpndk1nSgorenVkSER8e3FQJG1pQmsmNk42 dCQ2UWZyRUNffWRacHFaaEg4Uz4jOGNENEc9cz9Ta0xFO0liKDleIW18cXpDX2t3Cit6R0REYm1h IWg3WjsqVEoqaW8ydT5QZF9YcWI9QCYoSEA/MEcjdlNGM3BXWWo3dEBKOGJJamg8PCg3bn5GQ28/ V2YKK3pUdEdVcXhvIWV0bEBvNGxVbDFEV3BSalQyKWVfOEhxY2h4QXAqR25pOEN5Ti1nNUczZjRe MEA5RXw7Z0RfcXM2KworeldxSSNvRUEpS1c+KFYzST4jUVYkQFVpcX5oZzhCdEpkSm0/THN8YHte VnFPYDtyUWNfNzg2PUZBKGBBa2FgfjNhCit6PHMrQk1yQCpgXlRpelV5JlJGVjdJc196NWtHcFZP bH1vNnA+dCMlTlRsd3IobXMqRk5SdCR5R0tqaUpoa3YxdXoKK3pecUM/KjdPVG9qTkJIPTFSZ2dt LWMrUk1tVF5QfWZPVEJ8S0szO3NzSGJqZCZUa3k0diMzUG9mPHdTdzZFVERVYQorekx1Knk3ZTVH aTZ3NXAyJiU3fnprY3BtfEtRV2AzP0F2dTUzSit2NWJVYTxqTCN9RHU5RHZWMSQqY3lrTnFeQz99 Cit6ZTNJUjZaSUdzNmVDJCpFKUg+VkI2UC16eDE2Jl9mKnZXR3lsZmpLTkBobTNwaEVLJnBEZ3pO JHhBM2h3bCohamwKK3pwfFBHdEwzTzRpSUdzWjdtZU4yaXRTcXYyYHJNOCVYOWN9MUphWngzejN6 emZ3alFAez5iNVdhcSZ0bm9qNW0+fAorenJDcjAyem9Kajw9OH59ciZpXzRyaStkVz5Pe1J7WHtI VWotSGNwKHAtJGRycyVKPD1Na35vUj9PQ2hGNzdzOFcmCit6ez9UeHNtNlF5WVZtMWE+QSRedTM8 SVBBejJ5b0cldDNpKjw4fGAoVCNxM1luNEJBI3pfTnpqO2NeWWU2ODExK1cKK3pGcVA4Uy16SShB R3JEI1c9NmFMSXdMM0k7VXt7ZTVEamZPcjV4YVNuKXoyZCF7I3FmVmZ7JCkpRnFYYEtUU1Q+MAor ejJvSklAWGZpS3lzOEVyayNwez05eVZSOXJ3Qlh3Q0tQaSYkeXRoPj1tOGdFUV5UQipoU3JpTENQ R2F8ZHhDbmlYCit6bTVxIXZ6NUJUNkw5JSYtVSM/Tnd6PSZxREFAenxlWkhBYU5hSmFLZHhYYVQj bGtJO3k3UEc2I2pkSS1UVSF4bmIKK3pqcnNWTEZ5eW0hX0RxcWR3PSh6bmRAfXNweFZobztAJVRG YVlVYXh+RnUjRlUzKWpDckB8YCVpMW9oRTVJSnZyYQorejxJSlJxP2JXakU7cURwMUtpYmVtaSFe clUmNzZ4SkhuQDh4ISUjLXVJViptfCVjdTdfNH0xQiQ2dG80dm9TWVNJCit6Z3IxUX1SUWxjfGtA O3w7Km83dSpEPFkzS2FPYHI0YjlobkEzJTlXYFRPXjJXY3AjZjlHbSkhVGVpKkZANlV1WEwKK3oz Qj83P0oqcjE8NEFSMHt0UmppJG1lNWU7NE0xI0FNXyFqZE5iU1A2MS1tLWZyflE3KnM1aiVFLV4k KSpqYGEkTQorenc4WGIxJmdoVjJkbS05SF93YGYtTyZ7TUoqYkdoMSVBVTA0Y1hya2tTe2Y9eiRD YUlhKlQtJTlhbTg+ezgyYWdsCit6XzVLR2A5KEFwKCZ7bEpifDFXME9Rc0hSXjVTaGQmYDEhSW9e Z0tFWGxkfFVsPigld3RTMiEyJTczZDtRZ3A2MGAKK3pUd0IyMih8SVpYajlZQnkrak8kcCZNWGc/ RXtscUh2UGtiYEB4Q2lWWW1kai1VczE4Q1lGYkluI0tZNCZKVGNHMworek9VWXJBWHB8bWpFMnx8 NSg0K0hfJld2fC0xNzUzeCN8P2dgNkY7I1R0VkdZMVc5SUlUdDB7P2heeFBqRiYlNFFkCit6UmAh WUtpcCo7cHA/T14xXnZAMGZaMVlQX0NUXzUrcF50MHhrKUg2REFUZkdnVmgob0JLeFN6YilBZkl3 clRCLSEKK3ozVGY9YDdmI1YxPlNvSipXX0IpSW9mZ0tQWm1pPmYkTlA2fXw4b3RtdTFeczt7JCto dlNebTI7JiV4TnYhUHhQKQoreloxX0piSSE3QVR3Zyt2OS0jTlBkLTJgITJQdj09cDgkZShVcitC bFZhSG5fPytoYCozVT5ZTU8kWGpDeHZQSjl7Cit6Si1eeUs3PlYjQTNpYXUkV3tQdzhhQX4rKWNT MkpSPTZVcztobFdXPG1xRDlFK2NwJG1xKXQoQmRDRUJ3I311eV8KK3pfUHd+NWhwN0hoKzt7SlZN UUkwRG1scEdMKzZqPHZxaFN8U182WTVhe3Q2eEZIUTFiVlRnI2R0c3VxTGtMJjUyXworemlmdnIx SXxrRzlJXl4zQXlyUGUoK0w+dDsoJHNgdG51WHBUPztyNFlIcThWJT8hMU59ZX1mNjswKitoamJv USt9Cit6NWFRMVItS3w5ei0zbFRoMFRqITZlUm16RDtQRDVnMm5YZy1MTzd9NGZUUUJKeDA7JGk+ QEFjUjxmYTR2IXRreysKK3otS0cyXlUkfHd+M0FyQShAX05lQDRZRjVXX2B7TU5sQn4tZ3w5JSVE YUw/X0F3Pl9NPXRKXl4/ZlRzITVhIUVENAorekV+OUFLaS1+UjhzVTFXbjVYKHlAQG5LVkQwSTdY eDdxIV91PigyailMe34wZEhBfnZodWZVRStQS3pAYVY0YSt0Cit6aiE9am9lak1oaWkjeXN2TGBB eCtnamZUUWo4aDJ8ZU4yVjMoUC1VVzlfX2lQPF9HQHswdDkqdkNXaVc0eER8QCUKK3o7cjNrJFRr NDQpQ2h4eXdka35FKUw4djw/dWgoZ2FKZj9RKF94ZjBzQzBeXyk3WURHdF9MOXEkTncmKmYmJVRS TQorejkmelFDNUI+PTNiJTs+JjM7MjJSTjslbW1uUmF4PT1icW1mKjZ3OFFFPDQ8cStEZ1Zkc3xJ JkokPVF3PFp1TilRCit6cVdpPGltR3Fzez8obzYlR0hDNFV0UTdiP0FRUmdMY1lWQD5fJGcqdlFr IyM2IX5UPy1oJmVZcGpCMmJEVz9JTGUKK3paYSt4YGNtRzFJYkFRYko4aGBGN1JVd01NMj96N19D Y2ExKm5zY218VzdzaCo4UTVGcz19RW40KmxpPXN0WHIhKworenlyNHtadlpiSEpZJnMzVU9rcDxQ czJSYCtmVSVvIzBvMjl5TEwwPGY0QDFiNnF1LUY9KGhgQmhTJkMoc2x9Xm17Cit6R1FJQXxhKVpC R3t3fXRWN3IhUWA4VElaeU4lWllhYX43NTFTaT9hUWxJeng5K0s0NGxkMyNAWU5hNjlaK0V0JEcK K3o3MGVsVmZhI3N7X0BlSW11JkRWfFJ0bXl+I0Q2OHlqOHYwK3h0YXdfbz9uIWxPUm9Na2IpRXg/ UStJdmd5TkxFOAorejxid0dTWU8qdTY4PzhjN3podGpNSj0taGxORUJYTCV5QmQtZTt7cDY3JTUy PUJXZmRmSms2TlNzOGIhQGxzKDtLCit6e2ZAWjB1IXxjP2FUT218WUBJUHo7TGhlITtkZCg3eGA5 eFIxQDx6eVBXflZuMSgqaU9aaWA+SjtDYkdeOWVeNWYKK3otcHsqWWFfVDwlLW1VWT0/X0E7a014 M2hFenFFT3R2bHx7S1ZiP09yMCsxQX1sKV4+ND9zU31NeHJGbnN4ZU8+PworekhhV2E1XmVRIWNs RHRhITQ3a3J1ZGdZQm5IRTshZ2t6RHF5PC0zM2xxR05HT0VLX2xqTX5GWHNydFRaUl8xYlV6Cit6 aGhlSDtWcU5laldiTEhtMXdxJm0xemkyUz92flVicUVJaUM9WXQ+V0g9aGlAYGd1eW9UNT5AU1lU ZHdtUnhnOEEKK3opPSlvISR8Kj1RK3FibGxUVVZBPzFPcCtmRiVZNS1mJDQ+X2xiXnlPZWFSVXpN fS1vfk5eOG53RmZUcSYpMVJWeworejRSVWtCJFA1eD5rPGBSWGVUISRaN0NyTDl4UzN3KzVfa1Ni b3lBZHBEcGVtO0FpTyR8JG09PlhmPDNnfngoLWw8Cit6OWIzPnE5Q3ZwcD93MkJ3KHNWST1QZT5P d2xsKlMoaSlZeiRQKH5TMzFIfV50Oz1MV2Y0Jl8/bihDez9HJm0xUUUKK3ppTCE7diQoZWlUeEQt UjFDNmMkeE48ZyZNOUR3YW15N3d7YD1vI0FGbG4wSC1fYzwpajAtKDZGRmM2fXVrb0tJQAorejNm SEFZVnxqbTY2TXpzfVkkOHBvTWAhUCFIRCo2c1o1SFkzSWBiSilCNmhgdEMra2MyOTwwdGgyWCt9 bVRNTXtHCit6YHVMI0lvQ0lTZHVYSD1RRShxPnNqUEYzVEhSREJxc3Ekcm8rKkotXmFFa2Q/dz1Q QDl4TFdreD9FfVhpaHhDYCUKK3pMRjdyRzhgVWJmS0YjfTU8K3VEdGpreitIcCF7Kmd5STg9dHN0 NUBCdF49NmskRSVMMnNVd3VKSyN8Vik0OUFSdgorejlHbHdESEx+NjFVVEVCbnF9bUg+WSgmJClN fXFPfjImJGdBdUJzSnxXTWxwV2t5X0VOJTg4WXloT01yNypHX2RGCit6YWtvQHF2eTMxQiNHe1Bl JjtFSn1NMG8pbD9kNWVCO0t5ZyswOSl9WFFZVT88JmZMWVhoaEc0blZpWEJkcVkpPkUKK3pBV0RR cDJFWHlxRiokJWtJRUk5VCNVQH5qb2ctQSMzakMkSFdtN3c/Q2VXS09OREZSeHsxNCt0bzBsSVVw e0I0dQoremttO2w+RiNFPCRQJiUjJkM3Ri0hNV9UYkdzV1RSbCUmY0pVS0Z8REVyT0w7USpSQEk8 P1VMaGtVaCZFYDR4JThsCit6a1ZBPkU7Nl8pQjtNT3FzTU52MyokaEpIT2QmR2EwU2Z5MXVaMXN4 OU17PERmJGkzKDxIJEY4UTUhbjZ3eCZXUmcKK3pfY2lmLVV6VTU9bmZlfUVeaiokWUpHWGgjM2w8 M0BubztYcVZhUWRoQXt8eGJZI2lVPFN9WTIxKUZtMVJ7SmI2YgorenE7UjRDIzVkYj4tSnd5dVYy UztPeiRHPzFSJW9OcEdRbDAxJkczbUJzTWtBOFB4QlRvRGc+bzA1fHV0YnYyYFhICit6STsqO0tZ WDRRQERhUmskZ0ZUdD4jQ01CI2t7U0ZVcGMyVkxfcTRiOXh9YGJOem9RTUNkZFc2aXA8RFpSMlpo KWYKK3pWYSUlKTtUUl5tYktkMDN6JXAjTkFQJlJTUUolRExBWmB5ZDRyNnBpRlE8MWpXbmhpQmZ9 cCUkQiFSQl5XTGdLUgoreitRPFUrKTB1dT9NI3owbS01aHsyPW0/NGteXmFMVjVLaFJ1YnNeZFJf ayt7PlQlZ2ooO3shanBHMT5rP0JmU0NsCit6ZShXI2t7cnBtQ2Y4aD5GYUBvSF56enZpUT4zU0pe c1MtaiFUamd6IURzejlWaW45Rz10dXI5d3RTezM9d3pWViEKK3pvbyNsPzBAYW9ASXBBfX1EIVhD TTxHPmE3TF9ERiNMPXd9Jks8RG9vYmtwWjw1eVM4YFU9R3B5Ml5hfTVAcXBhUworejhSazxDeC0+ Y1JNU3VfJTVNO1V5VClgPFdEciUjdk07JDJjcnhWfHlofk1oO3JQMilsUXU4SSo/IXNWLW54SG9A Cit6fElNK3pjPEtxX2NESkZ8RHc9JUF3SSZLdUMhQGNeRk1fO1ZqejlqMkkrbSkxIWJ1VCswRmRC JDB1I0FNRHklQ1EKK3piWn57MjVQOytCKnslZiQ/ZnlEd1JpbDtxbU95VkU4cVIxYW8qeCRuNTVF WTJ4dihmMyNha3JxXm0kc1pSaGdnYQoreihhXnUrSFNLYmJ2bGIyOSVnVU1hXkZ4UkB0REY7fEFP MDMxUiQpYylvNUYqKmdgN29wVklFZ3RnM2l6KEkpJXZ1Cit6MSk3MihFbGRhcjRtQEhnakVPVDJM aithOVRWSlZXbV5aRkx1fSQ5JFJ8ZjB7K01ybUNhVEFoQkAkRSMja1JwaCMKK3o4YlYmaE9aWFMl dHRsX3UtJWtYaDFjOys8RV9ATVB6ejNhdjskb2tRMnZ3QS0hSyNaRGNQR3pjcFo/QWJgY2NTVAor emQ1TDxqeWBvJXohX3ZNcCpJNT5QcFZvSmAlRjBVQXxCZztTM0F2YXNKP0xMNnM2c0tDZU1BVW8p T2FNdy0qVmF9Cit6NU9VcWtiUjZRQUhRMzdmTkx8MHk1eXhHbDY1R0UyUVZlMH5mYj9NRV9sbE54 NEZyYkw8OVhJd3BZXiZxXlBgRV4KK3ohJWJsQiFIZWloYj9QUn4kbXdjfXtQS0BHa2soWjRQfnBx KlMpb19XYE9VK24oYChDX095KlltVCQpSXc2Qy11Qworenc4MUg5T00zWmZ1SjQxWSFedlVYUUVt MWYkN2dYbDk7ND5VWio9fGNufis0NitDcSl2UzFgbmQxc2RRQTU2a0k/Cit6clRiRDYtRURTbWFX K0h3Kkc9Pn5iUSZ8Jk1eIWx6aUJKMGB3PmxpPVV3V3c4dDJTR3VePiVMKVpsXlE0PnI3ZnMKK3pj e3lZaFNjN2I2PVRyO3ZSPkBiallhYGZ8cSs/N3UqekFRd0M/emJ2WDctRVA/biZDJEYzYClRIUxO a3VFWGBxTgorejRpM1FWSDx6QzU2aU09Oyk0bkorcSpmWTh5Mj58WV9tNnxBajJrfiVwRUdgd21v eyVmKmRLd29NX01lcDBfWThPCit6am1fQH0oUXBhQFpZaEFQK096RUoqQGwoe1IrVyUrdVdsKTtl ZFJQbFpYbVM5RXFqVkI4LUFjNVRWdVJfTDBzfl8KK3pmMHg8eTxEdkFCP144ViNndWNJWDtFdipG MjJlUyVIYn5SWWM7IzRnNDFmZ3t6JGcyRT94M0hidVd6Jj0wMDVrYgorens9NH04Y2wmSD48Pz10 YiYlWVRAait2cyEtYGMqej9mOElKPkdjYj92UmJfIW4oWVVlVmlMJXZDRk5CRyV2bn1zCit6NUVP YXFJckhDRlRpT0Rme2VUdkAoS0hZQkFENH11elpaaTg0anhGJXB2PkNsRTVHYjhjRCFnbUpgdi17 PFNISiQKK3pYclZHdmJ2a1ZWaURYKURPZCpOayRJJnB1e1R+Zm9vTWY/WmpPYjBqUXAhclprfX5V XyteKCk3O3RRanBVRjFNPAorelFjN2tIJSgqTjQodnc4alJNcUpYZTZyTDtfVVdaVkA/OHN+Jioj SlZUM35LVG82KHVybjRIYHFiJVFkZmgxP3ghCit6UX50bDZOPCVqbDt9Y15TRTlpfjY5andiZFkp fjMqVFkkMl9KNVM4eWwkQG5gJm5MUmcwK1dyTSRJPX1hO2khJXsKK3p7Mjx6K2U/e3UzMHshdU1u eUU+fWM8azdUMl5NcWR4clgtdFJERlcwJEFKOFoqPXQ4JCglclgmdzRYR1dYV0dRWQorelY3QnB1 I0NNez8tPSRUNWwxen5wZGBBUyFrM18ta3ojZk9mJFhTaXZkRkBePFgxdy11Wl4+VkBUWHhFU25y U2U+Cit6OGpPNDxPJT0kTW5NN3pKMENwKmhTJVNKPlkhZUQydCleI1dONUJ9MnVuVUBXeEVleEs4 OSM4SzwocDxHKVhgV0gKK3pZKWdgZipOPEVuS0tIfFNFMFdOTmQ/P3p7QShMQ0pEZC1sUT1xWnRX WVhvNyFUYURDUWdKZ0V+PS1EKHVeMCpOOQorenNwRC0hJjd8Qz48aFBOTjBQVUpfQlRNe2k7Rmpz dmRZSjQrI3llPTtnZU1IYylHT2Q5YmNadVZRYjdfVkdlUjhHCit6MTYmUSpneThRMiNuTTBiQm14 QTJ4ZU8zNlJ8NWchNDFEXyZHUW5tS0FZeD5tS3Y4R01BRWpUJWIwP1JqSGJEIVEKK3pvcilKezRB cVgpZFpke08mWGU5aGIlWmZKYmMybzlRTlpPM2M+cz1jbUwjWV8hKzBBYzN5dmcqaGBAbHRIOyso bgorenJpPitHOT1fY1c7fGEoRil9QmNMMUBmQn0hMCVSdj1tczV1RHE3QTE0KEhkUXo3dTlOMGM3 UTI8dnR5VjUpJkBRCit6TmByKVY/Kks2KlhrbVV2YWFJRk9BOHM4e3IjZTs9QWU4IzNoZCklUD10 Zy1GXytHU00pdipRS0RuYnctOz9wSiUKK3pCIU1IQXBLNVJ+S3d3c2NrIUpraiVFdGoybysjK2tj UHB2M2l3PDk1cjNpX0BhU3UoWCY2RX15b3w4WFdfMTlKaAorenllaU1fTSEyUkI1fiFAMiVDRHNk cnl8KkJNUFhGfnBYLWBNTns9O3UyXkcqJWk/ZXJANTMwPD96ZHBDJTF9QlM2Cit6WUwxWl5tX09L OzEpTnEmblF7cFRRUk48dW83Wj98THQjalktX3pmdWR+K1ZqQU1ERXdxOGxzPXBTRyE/IWc8bT0K K3pgYl9CKm1VTDVBcXxvfjlrU0tgZXVEZ0lKV20kSWg8YyQzQztkfkpiX0pDU3VTSUlXaWxmZj5A VEAjfSRoPUNvUAoreld7SUBFemRrczRpfilwOWQ2QUd+QCZ9TmtvWnpLayZubURoWFFkfCFtQzZ2 KXlublVYI2pjKE1OcjR5bnVxandoCit6cWRUTClGPkp2YEBPQnxuWHQqSm1WRD5uTFFWQ2V8cyRP TVBAKHNgdHtkSGUhZn5JbXRwUkBGdmA9KUA3RW9gRSkKK3oyfWwqUytgNHpNeHJNcUt4NE4rLXNS Vm9kUFlGLT88TkJFPDwjfmROeW1oSFhkNDwlaCM9fWxZdX16ajs2Y3lIYworektjKT1EVmw1Ykc+ X3dlUjZfc1Bmc3xsLSYlM0xVMnBUMyMmZypWaEFKWUFJVFJgPnEyO3A4VDQpc2c7aig0bTJ8Cit6 PSl3OW5eUT8pOGFRPEg1S1FAVWloRl8od2dLbHV7dnh5aUpgR2RrOUZYQlElXz1OUCF3Uz1eUm1m ezUtP3I2S0YKK3pxbU50SFkpd3YpUTJSOXRpdTY4LUUlMy1YPWlrQ00jWGp0a0lhTXNKWFlhalVv ZChSTXRFfXA5XiVSdnhQdEBZaAorekN4cSRCIX1JWkFjV1g8PV5OPF5pYDJJc0c7REVLJj5uSnt+ b3hRcUN5eUl6Ynp+bF80YXcjY08+OFdSciUhPjQ1Cit6ZH4tNWFQYjlKV2NIfGMhSjFHX1olIXFM b2hFa1ZJdjhgJkZ7cG01Vk5tb3VEVVI7cSVfKjk4aUloKGNaYXdDT0MKK3pJKEE5SiZiZkpkPzVr JSVYSSU/IXU7X3dGM3coY1gpQHA0QDZpPjh6dzdmTmVCMyUwR0Z6bDdISiY1enVtRmJpKAorelo3 YkkmckZCNXooNykwYzV7QCpAcjArfj9Scyh2ZWcjQGNqcHR5THpTZyY7WnQ2PUJ2bmojU1JRY1lX bD9OX1hBCit6dW5BTiRrPW5+SEF0e2NIUyYxeUxtRWQ/d2hIVDlwTj8pP0w8M3R3NDQ0MDFAUmd2 REBMLVB6eUJwMlMhK1JaR24KK3p1UW5ua1NZVyZ4OH5WVTZ3UisoTTQ3UHpRNEIqX21kUihvSGM5 Y25ZTGkteDR5fDFWYVlgbjtmb2xHKVZAfFZEPAorelZGfGN4Si1CR2lWQW19P1chYyYlPU0xVVBS XzF2Y2tFSGNBcEh7V1UoaE0qY3pKUTlrdzNkI2xzJE5qQzhANFF1Cit6ODtJYGtefXJkQTltMjhY UzMpNnNNWEgyVEQ7eT1DRFdkTS1pclAoMndpcXA8dGhPcTNSRzViNDEqPGtxRzJXez0KK3pCcTky ckNPTyRXNWlHdjN6Ni03SDcpUSpuSkBkeWxJZkEoM3dXbFhqbyNzNlFxQD9geEtJRXlrcjVARTNs ZSt6YAorekRQb24lLSV2bChHdTFPTkclJFV+PSNeeGxudHZERXl6citSRHdvX0okTk5mdVdOKkR1 fEx8UDZgdU1vamFTWjs1Cit6aDNAPjhWJD80K1M2dGtLKm9VMF9nLUdvNXZkX0ckU20wY2kyP2lV S1hhQXQtQ2FZRWwobmpMPlN6PDRLKzltN20KK3o/cCRqMWlYTX1vLTgxQ2dzcTx3e1JgdEIlPEtm YCl8TGpsSF9Jd3wyKyszRXowYWomayF9UUk7d3Qyd3BVRCFXQworentPTEpFMlclXyFAfVk/fiFy dW1seCpKP055elRtaFlPU0tAWXZSMnUydiYmTlFNTDFqMWJXOzZsfU1sKjR9JEM2Cit6R04kYTFW SFYrQFRsczl0KHF+Ump3dkxLKkxlN05RKn1xM3o0Kyp+flolQGl+akpgRGxkUnQ8Xms/SiFkPVYk VnQKK3o+eGgrRS12Nz5YRGF0JXpkbHVPeik4MkQtUFVrdG5qN3Q/STh9P0NGZmRCUSFRIzFvKmVx WnNAdGM5e1BQRHczWQorelA2eXF8O3JWZT5tI0ozTlAwM3xUezdqbFpRMXA9UGowaG07NyojYilY NEp8bFdOPDVyblUzNnE/T3ZKc3ElZ1c4Cit6M29rXmAtUDFPakpSKXApZXYhV2l0Z3tLNFY2VzRS MEZJRnJFUEUyQyN1UDZtcTFHfFNeaTBkMGYkPi17eVRwRTAKK3opRWFIJW58Wmw2ZVM3TFRfZCkj Ykh2Sz8oQCU/fHI7KSFJc0FCVTN3MEY7alpjUylTMXB9dmpIfEo8fShAbWl7RworemF5MEJiUH4k aS1afUZPWTVQVzNsMyMkcUpxY09jLTdjaU9MailOfVFATUV7PlR5WChrUDJiJHtzZ3o5Nl9FQHRx Cit6T1N0NXtmYWtGKUNzOXQ4RVVyKkVvOUA+MCNWSWpRMCZuflUhYmFzMGxoIzVoWGFnPTtDfXMr R1MpPnYhaURZSTEKK3o/ayYoenYwZHs8YFpLcSMmP2BUe0gqRGR+ZU8tMD1mXy16WXlWdGZqUzNs ZmFiMyshKUZ1WShBLUM2cUpZaEFXYAorelI9d1RqbHErP0BCNGwlVipXYipZZVAzKkNVM0lUN1Jm PmwkJl5LeXpaQE5GeyteREplSmlwSjtKTXA/JUU2K3NLCit6b3Q1S1VLfDd3MFp6fXhXUGZFMnYt eVdWSFQwM3QmS2k7O1ZlUntGPnBDX189ZHBzMD5lQ3hncHpoPUl0cEM3RT4KK3o+QGctMjctVHtQ PCNrQTNRRzBzQjJQN0QjT0JOXy1CTUQ/Ni15K3ghdE9BbiQxKThVYl5eO0h5YSFgdU8tQXZFUAor enI7Jig+Xl8kJCprVzBPVV9gZkB7Jm9wK3VkezFYRHtGKWFFQSUwLUAmdUF0bGMxNjtCIV5uSmhl RDFPJiRBfVZNCit6OHp4Jl91Y0gje0QxaEs8WjVNSEBIWChQQDE9fWspN0coPV4zI2prQHBWcUUy czthR1BBRyo3ezg8QjJNU357aD4KK3p5RV9DMEteaTJMMkJve1pPUyt9SXFgVHVnelBIM3pAQWJh cGdSdlFCQFopKnJucnFmUmQrai00TTJTUk4jS0ErKgoreihOQWJEa2hNVXYqNXAtfWVaKlh7WFVW d3shb3JxVzhOJFBeTTR9VEJBeV4xTTkpQSYhTSlLdm8rVGIwP189SnFpCit6OHBzZUpmU1RwZ1p4 YEVfPHVnRnpEMEshJjxqMSVTOTBZdSQofiRaSztxX1JHSkJUQEk8QX17SW5sbzdBO15TTjIKK3pP Jm17RD9AZ2tUeCZzKCo5TX0xU01QQ0dLQk9AYXV7JnFkb2RwYzVNOHNSdzwmbTQoNHhVKEsmMjJk WnFsLTl8ZgorejxLcH5rU31DZV89WXRLQU1EaUI1M25vfVd7WnsoZG94eWd8R0orcHU1TSpMZzQ5 OFo8MllUfXNOcXl+bnM8QmhWCit6Uio8TV5BezB+Vi0zMVVyJTEjV1Q8SCg7NWtVYFNPbT5lXzVg eCF3QyFefiRnRjwoTW88NTd4V2BiQ01PKU8lanoKK3pLaGFrbCFrOXArNllLRXdyYE56MXc3YHdv bkVJZipNc1p7IWYwOU9JUTszakBibTRFRkhCM1FsUmx5czheNGc3KQorejBWaStsXm12b0NhZmQy bDhfZVlQTCpiNG8waXo/emRRfFFlLShycEphLXA7LXUpe1kqakVQIWVzfEpeV0BMWkdOCit6Y3Jk ZzgwRVFBKU9YM3c0WE1kJiFfcjVncUB9IUIrXzhWWEJYMkxoMEsqdSt9YURJWFhPa0chcSYyMlZw aHJVYC0KK3plN1l4KD5Kez08Kk1VV3EyYS1PM217c1BqPDt9fCQoMitSQ197ZSRZQkstV3IlOUpq Vno9Qm9AQE5IeXZ4e29NIQorelI/dSVCX3hDSykoKXlhPiN1PjVWYUFtcmBPaDRkKnNeZGVVVWgw a1l1e0Apdj9iOzluKWpGVy0+JUg+PGI1fm4+Cit6ZVpFY2xEKG4rdE85RjJ+TnxLXlNteDtXYUZo d3s4OXswNn1sSygrKEpIJl97QDFPJjY3YGcyVEdyZDg0ajkrISsKK3pxeGpURzxLbyVAZnFGelp2 QUleWXNtfCNeSjtER2dtYHlPWlhnfTc8ZTBmKCUhIWwtYSpHKGlyXnFZVmEtKnNraQorejdrZCVh RXZ3VndzNiRUcnZQOC1FYkc7RCZrWHA0ZXlsRzghRXZAbDhEbiFFJDQhXnMhbjVsR2F6eHdEaUZS fXxaCit6JlQkbzU3fE0ldypnTWlVRzZzTnhyXlZwO2MzSVZlWlNTUVRVU3NnWEYkQDQtMl5tenhy WXpfMjluUFl6IVlRdUoKK3pBJkkzd3JmWC0xaGVWY3I2dkNxV1QwYSZme2J9fG9KMV4mcSRxQ0lz bkgjOFNuNkJFWkZqJnkjOz9Ya2xecDhRdAorekNzKSZMM29McFdDPU9Jb1l7QyQlR19UfUIpSnJ6 Iz5HVzVOOXdsOWo5dDRGV1RpNlIxKEsxcEV0MGlWfigkZl5SCit6ellpMH1IOTN3fU1qWXRxcGE9 aHc4VlI0bXBEcCQzTXF2bHUtYHlnTWt2R352MnduZmNVXjBXZFQkOHY0RlY5TFoKK3o2eWNec1Ux YzwzI2N8UkI5aVgrMnBWQDRObmpEQnhfLTFoQWc0R2BmR1g/YmheQ2p9WVBFSSpVTTdnT0RjTFNN Iworej5NSF5tYiRwVVg/N3FJOWdgWH17KG9HPmZGfmlLKEFVUT9ncW1sOzhRTSFwWUFOVDkmdlJQ OTA2Xlc5K1RqYklDCit6MWxMSDhlfihpSzlSKDxkVXV8U1hRPlhnYCZ+KEJOV3p4OyZTPiZkcUFZ aHwxQ09aOHZMTjdxeUAqI2ZIcHtsOTYKK3pifjgkZ1pRIXh+NWNzb2tBXyl4ZEhAVVpSSVZZVHNw JSFuTm5EeUNmNnRHWF52MzFEPkwya0NRY29laT1ASTRWPAorekU+WH5xY2IxfSFSYU5AJT5TcChY SCZ7OylvfERxSzdgeWNPTT4qKDJhQjUtTD9tJVp1WiRGcHZmOz04cUozPXpFCit6O3NpNXY+OTdk cl5wXkMmPkZpRVlPejhycD1nezJFbkF7RF9vKjZVQD9uVH5oUk4qfnQkKl8lVWA7a3dDRFEzeXQK K3peMXY+emckZCpzM0I8ZjZmP1h7MzE0XmZ4Mylkfnc4ViRCazZ+TmZ8TWQzcmlaRztoJDBCd3Vs UFYtVT5lJlhRRQorejFudj9Wa0xmUTUtQmBvPHBGQ1JLYmZoMHwlUmgrXiVlYzcjRDwwMipOQCNL SyNuIV9leFUlcHlBNlBwUykzbnxkCit6SCp1UEs+YnIlckg3MyZ6VGRDSShkMUV5O2JSbncoLUMt eVM8QWlEI0RtWTNlY2YxSSZNSGtITDxfRklAIyghTi0KK3o1fm98fiEpaDsxMXd7fXNVcyFxelZo dXxsYmtVYHtHP20jWCU9I0h0ZXVXPihOaS1ZOEtBNUl9R1chd3Z4Si05JQorempEQ0pHdUs8ZX1E fTJrYGBfZztMXmhZWXIzV2x1R05zX0Nlbj0yeisyP01SWEJnKiFMT0srSCNhN0FZSEtDdFpnCit6 emYydXtSITlZcGpoUVRMZk5pJUZ1c099dnIjTU0wOHp4LUJVIzR2ODx5QnkxUFJDY2A1OCptKiRZ V2tgTTN7fDQKK3p1QExyTldCNExeJUxjTmN0cyteNihoUUZVdXgxVnM2T0dUNzYmP3c5PVQrajMo ZV4+NG9ZcT1gdzlaSSpqSVVtdAorekooJnkrSG5lNUBFX2JkbUtnMFFiS0B3dzYpZH4yfT5RLTB4 MCtPS1JoUEo5OXJ8YXAteEljNTc1KyQpeHZpYElQCit6QEBmM3JLR1BAT21EZjlKdk1PdSVSdzsm fntBIVlmMSU8NiErQ0RQUygpZiFaTHpRMk01am1pN1FpKnpRWW1MIzsKK3o/Vl5tWWtIJWpydn57 SkdMPjFXNEl7VChkaWwkMEZgJmN+dnE5KT58RmVYbDFPUE0lPE14c0VyWjNAMF9LSjhHYQoremoq V3JEKnxaTHFPSj16PGJLeDxrXmBLSXY9LWwpe1IhOFVUMWo3TnhQQldlY3pPekxuQCNRb3NQYXxV SlJJNl87Cit6P1dQc3FGbD0zJjtLY2goMjFfLXEpUV5uP1gwKXI7M2Y1Y2lhcCNKMEtUN1FPX3Zu V2AyTmprXzRTMWJiVldTfX4KK3pAIVUmU2FaLXM+PmA8Q1ZHazA1aXl5dV9+Oz40T3hFXz41SS1z ZGJqcW0mYWRZR2BVQDBlcWhCUU57ZGg2JnROeQorejlVZGVNRjleWmQhcnFFUzcyVlVpZ2MhXnM/ fTFNe24+TSRfcDleMGhRLUB6Z19SRGchbTVvZT8wRX0ze2YpP3drCit6S1ghKWkyfjkhRFAtZjIz b0AofUMoTjZOfjcmM1diJSlNZ3cka3V+ZTwtbXMrQilpZU0zUVdWSXYySn1XWWxuKj0KK3o7QFZr Uj0hVDZJeHlQOzxTdHNDYFJXRG97KVgzfi1KWmhTS2lrVDhLWThmVWBxVlVBYHh+NzxsQnRLdU52 KmJqZworejY9cUxKNEclc1Arb2pDKEAoV1VLIU5RQVIqXiM8JnZzdDlpXlBzcm9yWip5QXJiUjx1 P2I+bDZNWGdGSzZ0XzUrCit6c3ZLRihOSTUqI09sPDJFRjYrQlI5bzhsWl9lbkcqcWBfZmkqMmdp SVYtSXZwM2ZgQn1uIXkkbCUyUntNJEBFJkcKK3pVdz9IbkBYQndINl9YT3VCcW5uNThOJDI7IXlI ZmtVZ1htRHhjbG9fJTZiXylwe0EyU1FtTCN2MHAkQWdPdHMhRQorejd+MSFTJmJAKU4oXlg+MWJ+ RHMjKnphTXdTZTQjQUhgbGhGe0o+clA/eU5iUkVBYCNgbms2NUNRNUpZeUpLVjZVCit6RjRPbEVh VzxYSkItZVVsUHYhZDNuUX5ea1lsWERxVnpoU2BUZD5gR0pgPyF5WEh8eDA2clFwJnZfPVdMV35+ VFQKK3o2SCstfmxleDhqaVlSbnooQjttRTdmKE5kciRvPEpoTSNhbFBmM2FzQWZqNjBPIVUxMHYt TEAmUU08VCZmdj9XfQorej5DK3A8PFB8XlQwa0JabnNBfXE0N1g0eSlZWWBiemxjNzBqJXdBLUNi PEg8T0NrMlNGUlhjSj9zaDY0M0NlMj1WCit6Mj0qWkVtc0N8ZyMrWmVIMm5LSHpNek5OM3l+X14/ QiM9dUZUcUNPbVp4bXQmP0xiWGMmM2clPjNvMnxYViF+SV8KK3o4YjA3PUIlMjJ8TT9GfjJHbzFA cV9SUWI4VUBFOWJ0PTdBM0BsU2d5QDhScFd2Rj9+MGhFZXIwR29yY3FXZXNifgoreiUrQCReQm1C fEx7cSg0cFo+fmshKHFYfX1zayt5NWBzTDJGcXcoQ1BCTzlCZWAxaDFxNGlLREBkaCEkfU9CVSpQ Cit6JWt8bXlCc0JaUHo1JDlweXN8YTY4JG54b185KXNJZnxMaTd6UXhxKF4oVV9MeH1BJVl4b15A VCpAPjN+d2dAJnIKK3ooO1VUZCtqUSg8aEE2XkFIOWtWVkMkT0xGY1gpZWJ0eXJpJHQ/RW1Vdyhs IWszJXhxP1FpJThZOVp5USQwTXwjMAorekc/eDY9Vi1hT1N5XmQkSDJFTjwjITV0T0o2OXwpczEj IyQoVkJpVTN5PH57bUQ0IUNzNGVjNH0lWSFeRXgjP3hDCit6bTsmO2pJfk8zbXhiKHMrXzBYIys1 SFFEX28pfXN+KUQzPyRBWXBCZjY9NmxNVnJ8JlpDeT93LUQ5eHlwQ2FBI0MKK3pMWDN6RnJ2ZlFq P19QbjFFSXsteypqQjF3M2cwMntMYlVeZjVHcVleNFY0PjxvZU1VKFBjbSZ+T2pvPU1na1gpQQor elVqUVg4Xzg3WmhjOElxbEF3JmBwQ0t0bnFBMWZPc2h8QUtYP0dASjMke0ZZdlllbE5mQS0pO1hB b3I/YW92aCQ5Cit6eXJPbCYyMVZUKnM0V3RTRld7ckZgfjR7KG5NUH57Rmg3Rz4/WW9iTkclYlRI blV2OHMzVDJoMkVxMGpEPFApSVAKK3pKaTFRcEZsfXt3VHdOSGYoWiktTzEhbEczZ3JFa35sYGhV LVUzbm9JN2l0Pn5TRThrYUMjNUlYMV5uYDVUPUBqXworemMqRVZ5S1JtPmVQMG16dW1EV0JxQVUj ck5MU0VJR0dPPlQ/I1dncm9TJU9VVyU+cT4qREpWRE9YKzhvfkJhT3omCit6I31OYURiWDwmX2xQ cz5Sb1lzYiY4IXtAJGEqJDY5V2lIYXlqRG9LJT4/PmNCJiUhMEF2MU5yVj1PKlE8JVZrdHAKK3ot PWFTNj17SFI4NjhFcDFfOFlBWHlOc2kjSzEwV2g+M3l6Jlp7KEE9NmwlNEVRTWl0aTxsd0pKWXEm cjk9Rz9CQworekdJJiFgSGFkKDJKdXZ9WF9fcGY9M1cpKGojT2VPeiNmUWd4bnMpJGBmPGd7PUoo YlQwTTI7WWZIOzVaRD8tTCVBCit6TitDJlhxUSpKR0lmNnJPSj8tIX1WPDBBIWkpVj16WnQ9ail2 YV89bWYkRHVAcVM3c315VEYjJip+RnloX1BIeDkKK3p6Smp3WjR+I3Exd01kOU9lJjBpUE4hbXBt dWlMPmJsK0ghPUtGOU88cHhoSHpfSGooR0xoTFQyK0NubUFYeGNfIQorejZESSFjZGRqUXsjXk8o bHBDcTYlM0d7Pyl2cVIqeHc2dTJUWHQ5Pl4kQzIjUEtzI2paTzRjS0AjVTd5d005Mn5QCit6VTE7 NEI5ISUldDR3U0doVHsmJkghTiZMM0dobyVIZTlDcVZeO1d5WHNoXjdAIz5Kam12VGMlKWQ8XmJh PjdRVFEKK3pwQlZiU25EeVg3TzVVQkwhSmsxJCNGJENFQEtJcTZVZ3tlQHsrME1+SGd1Kl9ReTJM Zz9RezNUTUg1NCN0YGRQJgoremxrMz88PkZPJnU3TkBkVileYHcrNCpxQWJ2VUlXZmh3UzhaOTJ8 T003UkNsN2lVZkNXaCk0VDhXIU5wRnF3XiFQCit6aEY/aUZtQH1TQS1vbDVqdUFTPll6UkNmazxM TX1NRGpaKjQjZ297MCt9MV5eLTtyaihBP2Qld00mND8mbHBMaHcKK3pgMklxMjFUMVRqTDA9XyVl OXBBQj9UdXdSP0B9a2t3RF9wP1RYPDxiUWlIdjY+Mmo3bnBfJXN9SndzP0ppckM/KQorenBWbndY NEhHOX5tMCExNlJlRyhBNHdvRDkpNnRYNVJFdiU7MzZJTjxFaCptcy1iPUB5TV5vdWNrOyZQKEIh dl5iCit6NlQpZ3M9RkQmPmMoTFk4Q3ExcWZhTSs+alMlMXkpREI9VWAmRWxhQVZ+LV8jNnVtOX1y KTVaUC1YfGROazxYa3cKK3pHMW5tbyNsakBZYkpOfCpJPm9gP0RpRD0ocmZZKilwcGVIMy1tPH08 IyhyM29sdDRBfSpOfV9tdGYkaEVpemFydQoremYrcD15Pj1KP0Ekc1N2MWlIbCZNLUtramE5VkFp WDx1MVpNSE5se3Q7UDBZU1FLd2BpY3ZMQj9VcFooRl5+NVZ1Cit6e0JDcClEezF6TDJ3Y0I4aWp6 ZWlyMGdMJT5aZVVsaUxObDUmVHtCYTloJUFPSHwmUzYyU1lXfTtBJkM1QChIckEKK3ppSDEwWUR3 V2w2bVklb19aVXNUZFk/TDNST148cilEX3ZhVndvU2lRaWZJUnJjbmNnSkspeyVYSyYlQldYYzU5 ZAorek1UM1N2PX5PaFUlRGdfZGY8bWl4O0ZjPUdFR2VuIW1TKGQhbHU3Uj00Tlh5dzx9fEtieVIm PzxzalY1eUkwUD9TCit6RGV6SHA0JSVSd2pxKDsjPEI3PH0jYHVyTDRJPH1keD8jdHJ3WGRuR1FJ blVeK0ooaHdMPUJIMShfWXwydzRROHsKK3oqNWV7QG14UEZMRWB8MGEhQnEkYkBOKE5xVT1yaTN0 TjxLSTIyd2UyJH5FVUtiUzRqTCl8Yk8lRTFFfCtGfTBUdQoreiV7MTB5QFI4JXliSUdBMilHKGV2 Y2leZExXLWJgaU0mUFRxMUMmfCVNbX5zXztsN2Q7ZDtYI0kzJkkhKlF4OWcwCit6VlRMcUNqKGNn Z0lfZGtTTFVSU1N4O081RVpiT1k5VUxDUU5vfERvQmFrZCFiUUtMaUNCcnpDNkMocG1NcDBMU0UK K3ozZGdQUzUwcEojc1BWYipiVUQlLVc9Qis/Ukl+RFhMeTh6OEN6VVB5PjgmVEliLXRWc2hpRVhJ MWZLUzA5MkFxUQorelhIUkVPJVVPNXwyKnBzM15yND5iMGczTkdwancqPlJMeERNbW1WVXpOeUpy and7NitFIyRlQFlQP1RENWk8QFFKCit6YUJ3OHVRJHlMWW5oQntUKHklJXVMTThjb0k8ez83YUNF JiUweUVRPHEwRFVGeHsya3k7Vi10NldpVFgyUyZ6VT8KK3pJJEUmbXFmLSk+IUFtKGVvcUx6eHVe RHc1KERVQTZyWUZCPE9tSlFITmZ3Z1c3NlktdDV2bmZgNnBxZShLSEpJXgoremBaQD9kPlAyXkk9 d1JDa3kqXkJfcCpkLU90Qnx1TlJ8X19FUGA/aE0oPD59aklXZm9HTnBTbndOWXxySEwjTm4/Cit6 V3RkWkJVWH0mRkhvXjIpX1V2UElfaTUxPjg3TlFre04hYVdEdWRLZXZRUVp2UiUxOzRwIWw5YzJe aGhTXnk/TX4KK3pBITM/WCEtQHF8SmRIcFkpYEomLXgjSHR9O3UoTG82VCZvfm9ESXNId1owRnpK alYwdDcrKk03Rm81T0B2PVgzaworemhvQkg1VWBfOHVKZlpmQmArJkJ+d3UqcC0oTG99MiMyTCRn bU84UTwqWTtsamJQUXprY1MyT1FJPVkqVzcjZ1M3Cit6aCVkYEdENjVeWCZeJjc5Q25VP3JgVUlN fTRAVVBFdUdJX3F3P3U5N0tJO2x3RT93ZGxDLT5WMzBofmh6RHd9M0sKK3o+LWs0JWM4bHx3KzhC OzkkdU5FVG5PNHFEU1ZGNTtme1peYndVeCEwI1RGYEBROF5SeCo1WnE/SlpkNm0rSzRjKgoreiMj aGNFVDNBOHEwbCY9MjYxelgmVGJpKnM9JkhJe1ZZc19NQGFGOSNOPH44VzBeVElRJkVJJGpjZ0pi V0ZPPlhJCit6YjxIbGxKJCY1dD1HSTZqX3QtKSg0cjhLZj1yeUZ2c0ZVZl5ZaEgxPjVsajdlWE1T MUk3KEYhdXxKMjk4LWVIWkwKK3pPTF47JSNXS01UZ0A2bEVEYWxAazs4YT1DJGtNMkE+TGxVbjVL LVEkQHxiNW1pKTxIUlhXXm1AOGd0WHdqVU07ZworelNzbnxYOV9Ma0UwWigoVHl9NnR2NmpYVnlh bkNEVF90WTUyZHtKdzN2ZGpnQjhqbk5kVkRZQT1IeFgyP0s9ZyFICit6WD9AOWYtbGY/X0JgR0Jg TWJnTk54YzRyQ3BTKG5KKkpwamlfSnlXYkxfQF9ee2JNKGBzJkcpQDV7fEN7b3p6UmAKK3oqdWU2 YnM1fUtESjw9NktNa1ljPjVDVV9CQj1kckJ0ZyVyd019THMwc1NNamJXKUlUTG0mJV9xOEhiZTtG JVFaMAorelZUeUtyVlVtVHxURypqNnhDZSMzQH09Zioxb31TT01kY3NDJE08Y2dNbmp5QnA+ZFZH JGRTJXBDWUV6V15fayNHCit6R3VZcStnTnIxb2ZJZ2kzOyVwbWhndlB7VHomRSVuO0hwNHYwIXxJ VFYhSGVjOGpEaiUjR2dUOXViNik7MUZxYmgKK3o0PEcoZ2YoaEgpZz1+IU4+QHwxfVlWKVdVZ3lf YzBgRWJPXzZ5RDBIWFBodz90PSNGdmdFPkJjd2ZYSF9FbSpwZQorej5lNlBsen5GX0Y8bHNlQnhG TFMhej1UNiZiaX54dzs4LW9TMFkmcGJXTSo8UkQjVHxOMl5xUDsmQ2Y8SFV6eHEyCit6K0ZeeCVC SXFjdG98Wk8mRmRIfmJZZEhtfVdUIU9KeypKVHdJbDsjPGw5RXgpe05kJl9YN31rO0F3QT9oRjUq ZTYKK3phblAhYWBSTmllYSZHeHpmPUZHS3NEPHdJQndvYmwhVGZNMms0QD5zRk0jaGFQZ21OTnd4 YUkzWVdaezVzN2NacgoreilAfCpEPVghSDYpfjtZWSU4aX0+Tk9zZTF4I2RLI0IrdlhkazV+YH1R O3Z3bTZNSWIyWTBKTmApdlElTFlPNSVOCit6dEpTajNoRkhRQzMkZkRNYSNzSytgQjQ9WkNHY0k+ UnVkU3NIWCR1NndZNDsqX2UyOXI1PVByT3hnPzJuSX05bSQKK3ppem5xNXR7VGo1U3I0QT9ZREc7 TU89SHk0MntiVHxpT1EhRmhDajhqRFp0e0xaWkFEM0pOSmRJbnFTfCkpMk41TAorenRuPEVQNzBj LTtBakR+cG1AQmhLc3lkTW1CMEhSKEc7IWs2KElOMj1BcSFKWEVLbXlnKHFgeVBtQEk2Pm5ATnQ1 Cit6K09jfEleM2dYP1g8WDJBWmNydCRuWXVUMkgmezhQTE9nM3ZsQnUpc3U8JnhZanNrZ1Z0aCM1 T1UtN08kbytqJksKK3piLSFTV3h3VS1sMmJqOyZBX3ZmXlcqNmJ+SG1LTDZpQ3JgU0BEPEFwOX05 MGkhQyQrWjZ3OFc2R0gmNlZmVEA9aAorenZYUnI8cF5PQ05hJXk0YkhZVGdKTH0xZm4xbHFIbzFo KTh0eH47Pm13ayo2fDdsfD95MVU+MTs9I3B4Mi04UVd7Cit6b1RKdm9yXn5CIVJMX2dVU0dma3dS KGA0NHZBc3pyKERnQUAwS207d1F6VVJWT3hQczhqU2k2KmJ0UUBiMmhZSnUKK3pGRnVxQ0kxXmQk TX4mc0duX1c+dzlodks/d2Z2eU1IWndaQ21DSEtvbHpORDFsQShCezwmeHVxY0JvdiFLZSZSSQor emFnKFBPODdsJDVraHhfTSFBbFVyVHZmSGQofSRwPSZLSjNFcnpCVFJReSpMI0NKVlArOVYhb3JS JnYwelYoUVMoCit6M1dlRHdSaGtgUDF8YyN9e1gmRD5KXz98THRwLVlTIUs4cllrO1gldHJwY2Zk bGpab1ZWIVQzSnNLMiNmIyVjaiMKK3owaFFBWDFBNHghPXhGKElaSS0+Vj1vP0djTyZ2cCFiIT1S N3ZvYDI0KmNSMWNwR35iSUpiMz9zV3Y1YjZTcDdLRAorek5VfX42U09+Y2JrOy0kSXYkRiZFdn1B PEpENEdKcSNzZys5eTUobmRrMys1Yndsc0U/TilldHQ3YSVwM0hLRiZJCit6elVeWFBqekJROFpG KS1iNyt6SXBIMDtnK1Mxaj9hdU9Ne2tUNlVCMF9URnpDUUIoeTNTdzQkZ3dZbCg5YFlWazMKK3pI SH5lQXAyQ0M9QX57RmgjMk9XIWhqeHhJKGZDK1YybTU4VUBFe2JmN0xtZWhzWFgrak8kaDdzTCtm WSNzMDctTgorejVEPVZIc31KP3cmI3I3XnF0aU9GVyhHUnAlUkI+TCN0Sk1xQ3c/Ujd6SGVRbXZB eTBTN3dFMVBKcGZtTVFGaH5WCit6MGJUeiVLWVY0UyQpJGEmYXQlKXJpQUc9b1lobERrdyllPEtj MDR+JmNHR0ZAUVFiYFBacTJqX2AqRzlFJSpITSgKK3pLU0U+Z2M3Tk1vKTl4MWdiRFBwN2c8Z0Zs WnsrTm5TVTtwZXpqSmV0JVghPExydm0lcmB4UXlwcGJfVVlvMUFmMgoreiVoK2gwI3MjXkZDPTxO PURadGFAPDh2NXZZejImLSRrYHVQczBafHJibXpkb09waEFAZC1xMF5YMl9fYEU1a1dCCit6REwx czU4NjFydGFaI3lOcjZefjBtK1ZndjFibW9KRnsxcS0tSHhJNkw2YkVwTW4mfDFRflR7dyYobXcm cV5SJjEKK3pjbDNOYkgpfTVOMF85TTB4OWIzSGQycThPb0t7SH5Ufm9WQ3Y7eTtMO3spRjxhS08m emhHaGlTTjdQUUl4bSYqRworejtDYjV2ZztnI3AoS2B3S3BKKCpZcXhxOzVKRUpNbzI+YzRjTSpF ST1gaHcmR1JDfFp4UVBeQ3hLMSY3QnVtJitPCit6Ql5sX1BzRVIkPmkpMCNCMyVXZF5vPnhHdGpm c2ItTkh0TF5YRXpqJFdBbkliVUJ8aSkzLVdLNXJNLX5heUl7M3UKK3pyZ3dNQyRDV2ZmX1N8V3tX WTFOPHNLS2gyKjMoPyRNZCtvaiFGYEtlQWhmcT55TFVwKXBKM3YhIXBifUQrXm1SfAorei1zPSQh alYpVm1UP0VUTXUyfnhzejBiKVNXe0l5aC1OdzhaMS1PdFMyb3tuaXc8QzFnd3l7cm5NN18tTER0 dGhyCit6eFBDP35YWVBIWlJ0O2VlTEklaXJ1QFBBOF5ldUwjTktwaGtyUnFUaz9vaWdqUT1GYjRL VStXJGdBbmAqdiZ+PnkKK3pfKm53YDdOXmYqSUhzZD07NXVLVTIxaW8pJHE1MHFlMmghZjJNfHAo dDM5QC0rbUlheVBqP1V8Xl4xTFIxRy1yZQorekJ4MFA0I2M5YThrPjlZNDFTaF5+TlRZK3FBOFY9 Mk41fklnUilqRSlVOVh5c0lJRUUqbTd6eztuQk9FKU9GVjtVCit6WmpuM3JUb0IxXlR8ZnA9RSYh Wm1TbiFkbm4hPnA2Kl58czBHYV98JXZoSHl0V3JXUGFzdSgydm9xXmdScnBkU0MKK3ojWl5yUkdt bVcrUFZiNWVwNGBtcy15ZHs2QCFGcHlXb2J7JV5ZRkJtQzZJbnhLS0xwcFlnOVI4VFpve2E+U0R9 Oworeld3JG95TjtvWWRpSGpnZVF8ST1qJkI2cXh3OFMjfmtmcndGYXkzRXxmdnR5ellyfl5OP0ps TCl2U1FBYW5GaEMwCit6OTI1fGFfdlAoYlgxNngrJHB7OGxIX2wtWT9eMkNAJS07dypMJFJSdSFh K0xqYm1MKEstbi1eQld5ZjdqXk54P3AKK3pAN0ExRHd6Z0N4amNNYnhPWUBSMiVzaldzQTlDJnxr YjEkTTA/ayZOPGN1aWh6WVFLQHBsRnJXVXhLeWU0QjdtTQorejhJUFFJemp+SkJpU2d2fCRKU2Ni S0NNbl5wJX40VXZ8MX1nPXxtRWpXNU0hbnpGWDlIMjIyYlFzJjE8K2M9V2BYCit6di1SVUlEPTtf U2JxdDFSbmp8Nl51JkZpK0llWUtMVEZCNHZyWTlPKmpjYmhQYFpgdDJqMGVqZmE5cEpiQ35XTVgK K3pecD5eM3RsNnpIanR7UzQqbzZ1KyVBXztPN0doSkFgWHpeZzJRTWM7QTB4aWl2Z2FOVmxDXnlA PjBGWiM4aGJAZworelllXz9zbWJTJTNVfWV9MEVseGBnbUNYc35wZ0A7UHt3ZnVZezVUTjByc1ZD RT17KW8/cH1YNWx1Uk0tKStBS09kCit6STM2PEtzb0VTOXJaYXxsUFpSQXlgcCk8WXcqMVh0TFc/ VnooRyEwKnBRfHhMMWx5e3FqfTFvVzNzcEg9SjUrVDkKK3pre3hAJU4xTk1vODYwJipES2A1JVVt djl3QldkTj4xbmQtPzNaSTN3dkJnVEtWZFlsRVMkSHErJVdqPTc5R0BIQQorei1hKn5uJCQxdmZY RXxNMy1RNX03LW9iYyN0MlpxeT9IXnk9RCZGenUmS0Z0T3pTX0RLdlpAY0REQH4hQm8pTmt7Cit6 aSlpdnZZcV97WHkxQTc8ZVdCcmR0SiNvNjUjO1VHLSRaQG1JUmFnRXkhRTl9cGhReEJuKkB2JXRM VmpgYl59SUgKK3o8N2MxUlNqMiVQZUdJI1VPSD5TS3JlUTBWMSpjb3FyKTZ6ekJCPVdwYDBUX25U OENEcm9aUSM7MldGPW08P288dQoremVIMSEtcWNJRyhfZkZ5MF51MUV+JVRGfntCUTE2fGclcnZC ISVtVkt1JDVyZ1BYPmsyUXMyMFpiPyR9cnZWS21yCit6Uk1mJU87P21xbl5gelVQeGF5RzBqdTcm OUtGcSheWVEjJXZzIUdAeXZOQkZ4REhhIzU9MjdhVyQ+VmlpPUpzbGEKK3olSGxTbkJ+ZzVAWnsx V1NGKkQ8cG9uPnVoSVF5ZFgqenNKPWxeR0lidDs4aUtPTXt4YjxXcHtEQ1dDSSRiSj5RPQoremE2 bCh+TT99M1hXY2syI0pqczxrRDY9Z3RDMmlxVURUSmRyNmo1TCZhSGcwKnVoLVVBbmxSQ1BuTzIr YlpGc1ZLCit6cihmU1Necno4aGRCU2FDIU5WR2lYfkpic1c7UHUlTWt2cGwzdCY/Pk85dGh4eEt5 bn40cSlNRmBXWH5ET3FeaG8KK3o1bGh0WDFXYWVUQXJUZj8zaChCQCFwPm0jJnpmdE1aRzdaSl5e dlF2ZG02c0xZSk89YTN1WUdVSyhEdyM7bjlqegorekYjQVl6PFgmPj0odlhUO1V8SHA2Vnk1b1k9 SGtWMFEpczx8YFBlJSt4Ukw5bUo2VjtSdih1Z01TaH1yI1JMVig1Cit6Ymh7SHpAVVh7TnpsaGNq eT0rTUNzRCEmTHM/LWhwc1g1I20hcXlDO21qJEkzP2BNWnApfDQ5TU8jPlRSY0B1cFgKK3omelNB ekpNbFphbERqSERXdCVhN19BOFUjRChzR2lvYS0reGRSKXdfKTg8KXdwI1Etck8kaF4mUmErbXU4 K150MAoremZgVHEpU2F5UGlnPXtQOSVnTC0+N35PJT0xamh8bGFGQWd2LVZ4JCNMR2x6NHl6ZHBW TkxpfWkrS3EyZW4mYXdECit6aEdtfj1eTyF4amRaaH1wTVlAKnJHUU07Zl5yailpPlJFMkNYOUZe T3o/VThZZ1lZfHl3Umdzdzlke0NhdW9Va3MKK3ppKzg0QEJzdip3VyNJQzdJNFYkLUpaMTMjPHIm QyhXLUhtKCtCcnl7SWk1VEF3SFQpfjkjb0p+UHFgbG5SP2ZMSQorekwtdCtAVlFVOzJFdGBVOFI5 VHojJkdWYn5PWW9SfWlPWjVAMT4+az45TUE1Wl4lPkxgKF58IU4kSiNOQjB1cWZmCit6NVY0JTdQ JUZ6RWNeXkFSdzM2KW9tYkBfeCZkXiE0LXlGUD5rUjFQTlh2bDB+IVZGPmM9dXE5OTkpNFBUcEVw S18KK3olQ1Z5aThFKFVmWXZ5OUZaVkY+UDNkaVZqJF80OCU7RFNmV3pBQjFCdHV9NjF0Q21NVzt1 dTR9THohPUYjfGVeWgorej5QRTJQYmlIemVBflkhezRaUmRxRzhrcm1Ha2RIYF5mVn1ze1k2ajFZ LSYtSUErb01xZ29nZUElZ1k0NnBrQkt6Cit6VTdhTFN0d2FqeVhMVSZ8QmdNXnA+JURTcVN+T3RH Zj9CKGZxJGBkTFZjTi10KSVmfWZZVmxmRVlsdjRQUzRpfjwKK3pofH1ERzlSOz5XbDxlPyVMYCRi KFpfRkdzWDtuRy1fODZSYT8jMy1VWk9wdjQ2THlyfSVyJGomYGNucGJmWmZZKgoreistcEN2N1lp JHdFRWpzY00yU341aClkPChYdTY1U3VWdmFIWUVTaylYUVEpUkcyR1l4VVU/bk9YTW5zX0w3SFlL Cit6ekJwcGVuQUM0dWE/aGw/K2VsR0RVKkBvdHY1LV9VSTFObFYyMnltIyhfSmhaazZEJCVkTihf dmdMPX5VJCYtb0MKK3pENGljYHYmIS1vPiRXKj49ZnZJV3Y8c25ZLUl2XkhifCQ9cD84JmhYNFok XkRuNF4yKmokeztyWHJBTk9yJH1BVQoreiVpYCR4QzExPz9XJThITGEoWU5lIzxLQ2NIU09ldDNS dlNncUUqVnB3P2wkdXBQbHMrWmtiQG96cyhuJXFpTzJNCit6JD1FeGdWN2F9eXRTYm1AQCtgWXRa MU5ZJnNKcC0zKWhsfTlkVmJlPG8qalBxayNObnY0V0JwTy0xS2NXUXVHdGwKK3pmI1AoVjtsfCph IT5obkJPI3ghYkN3JiRNIVZHUWM5fUFCZldFU2xDNGlTMDE4PGFkZEdrZkZmNjVXOVpROHJVNQor elRnUzBOIzlkMGZlYnZxVmN6N0tiM35pNjAxMmlKOUZsKTVaO0Vgcz9hQiVVZWkkV1dYMnVOVWEt eC1TMV5QOyFGCit6QjlzTStQey04UihOd0Y0OVcqQXE2MnU4PWYkb0l4S0pocHtheTwyVGtxfSQw YG8jKSY8dmRGJXM1dERydWVvYjIKK3pNPlNoYG5OSjRINGZxbm9jPSliNGVOe0lJcXk5QGVySXJP cWVXNipqYHszJTFhdWR3V29PP2Nxa3hFZVBsUyRSNQoreiFkdyMmP2V9NFZQciUqTmgpeDgzZl4z dGNvemt3M0tgVEtQbjl3P2BUa30kUUlPT154P2NrQ3o8bjUhI3EjUCEkCit6dDkqQ214Ozd8Zl4j c0VgU094c3IzP3cqTWAtQWZBRENkViNHTlEwNCheamB5bDA1OFhjSTNeTD9iVzw3Rl5qTFMKK3pv OypDM3Q7MV9NOXQ4I2ZoIyYoMUJ0UGtlM2hjO2RyZXxzOXsqUHl6OGtEdGNNajZxKV9LViljWEhw X1I3cGotOworejVyUG9td0ZEYihOSHEofVV2KlprN0I4N0FkM212fiRzP29CQlUyZTs9NEtYa3ts eV9Yb1VobFJSVyhebSY1PXo5Cit6RVghfHJwP1NtMXUlVXBuPTw+IyRlZGZSJkA2cG8rUU9DTnhu dmxqdmdNO01fWjFhSz9Be0pnJmptbDBpNkoyVTgKK3paOyZIWk5jUVkwdmRXLVMyKUdmdldLRXs0 PnN7fV45RGx5Q2NlLTElYmdPQkY9cmVRa0pTdDQmSTc0TlpQYVh+RworejtTR2w8bWN8dSRLMU5Z c1ReZH5iTzM5LUZYPzdSOyhVOGlzUi09XzZaQCptRDZ6aTk4Pk1IQmZafUhPWi19e2VlCit6TklX X05KKnZjWXAxNEVjPFpfRDFKSnVyd2MkQ2ZeSSZFNmtpYWFeQyotVmYxYVh3d2E2QGhibyQxJlFR ez17MWcKK3pPOTVsU2cwT1Y0K2kqVktBQF8+Y1pXa2dDQjZ9YVV7KVA0X0F9dD5zb05UUn5WRD1E RyoxJDxRbX1PNEw9ZUotfQoremcmNTlzen1YQjVtJTBxJSV6ZVlCcjsmXnhOZCltVHVRaWc7WG15 e2lzfVQ1VHZkd2B2TzVgVmtCNmJVNUdaZmM8Cit6bWl5dks7OUE+Q3ZkTmNne2sqcF4oPkomQE0x TXVyXzwybWZDZ3BJYHN6K047aEIwMVRhfn1oezEmX1YySzNxVmQKK3pQMSFidmhZbl8+aUxwZlpR YjZzYjRHTGV2ZisoT0FNY21HKUZ5XnJpTmt9d1RaVWxNU1R3dz9DTTEwdCQkYk9ffgorenNGZUJa THslQkZwdW1wUSMhQ2RnRG5UZHNRV2ZxX2wyZU5HN3t5S2tYR3c1X2RJZ2x2ZFgxTzJ4Q3tCMHVE PHZ5Cit6IW1yRmVnTCE5QHdNZU8oSGtAVXJWIVp1OEo4ZjY2dl9aSXIhWjVwNUlWZWhTamFxM3dO Ml9abUltdXJmTz5DcjsKK3pURE5oa2pkTmx2PElKUDk1czNNc25VQW5OX2UzQzYqWSRgfkhmZFl8 KDtIZDkrSGRsZEdJLXRANXF+dXFafX1vRgoremVucm1wPjluVkhybU08d3dYY0hrMlMxKVgwIU9O SnFxam1xXjZifnc9MkY5UHZgJUdxUEJFKGozUm14Vm9YdU5eCit6c3ghbzFVaHs3ZG9CSzsoKUNH SVM0P3lWb2cpYD1XIUBPPm5rPXNgSGx1RH5jbDZ2Jndxa1I2QVI2PyUrR2RXN3cKK3pvMUolXzNa aEFMO3tiNXg8eHNVPXFSZGVYXzA2JCZxbj5aQ0RocSlwSyg9YCYyLUg/c0xpSlJxJERRNkkqeDxT aQorejV8MyhNMGlSM3EtVDRnb0RIRzdvXlM9d1BqOUtYTDA1XmZkTF5DSFNTPWpfbm1AZDlqdjJH YkAzVl9VeS08YmBzCit6VzBsM3draX1RQnEoZ2pweVVlfV9KO3E2R1AqbylxZWJXP1JgTyRraE0w eW8yXnJEJXA3Y1htSU5HRiQ0aFZrKWAKK3omeGp4N1U/VGApUkdqMG84Rk87QHtkZFAxMStIVUw4 RylVVDUmbVh1djc/UUprQFlffVNuVn1tVk1MJDFyVVIjIworemd5Yk5TcWh1KkJGVDxIdWBfTS1U bztKeCpoXnJ3JVE5fVdMeXFeKH1RbjI9Nk5VLTchYGh2cWkhXlJmTTJaJWAyCit6eG5xTGpII1VT TSZrc2Q+UFAlbzI4OGJzQEwmI3R7KmFafCYocm1AczgzZFl7PnZEJlV2NGBzMFFib2NVIVB5S0UK K3old2lpN0xDP3wkcldDMHBVfXwmRnBZXk5uRjhXa3o2MDwwLUQ9YGgyPUheK15ecnZkSFMyTD9k c1dyLS1CRU0kMAorenolQ0wpP1c0ZT00WFMoN29yZkNGe0hfaUJefDY/WVN+O3dWSnJmJHFgP1Ax MFJNYiNMdFhzeGtXYkpNO3FxWTBCCit6OGwze3JRZlhUdlYjQUQ/RTJrP3M+ZzJKdkZ+fSUlNkNJ NUAxWj55TzQhNno9VytibGo+UmdPKE8pP0tgNWAwMTEKK3pNSWI/T183fmNTWlN5VD9QWn4hfXU8 YnBAQCYhIWFackh9PnFNaz92IU9ITl5fQHtSQ3YlOyQpNVJARTRCXjdxaworeiRYZk5yYGZzXnRX TjcrcHIpPSRXKERNdzg9a1RtNnohMHhGRHd7RGA0UD8wMytJOFZMP21CcnhLX1JPNHU9THBECit6 VEAzfEtnSEB3ckYyKUtDRG1MVTJBYU9mQUtYOXpfJWFaN0FhY3BDVSU8WitFe0c0RikrV09PckIx dnUkVkItfHwKK3pjUWp+V2Q8Tz8qaTt0PClSMXY3Tig2MyFzS004d25tIVA5dmN0NShzIXVMIWlk YkFse2xmZ2dQdkNUbGM2dkluMgoreiNzd3AtekcpOzdjKE1vMkIhNGdNLWxjZE5fO2BkdWxCb0s/ cWo7JnZkTzNNajghQmozcntUcygwKE4tOyUmYmpKCit6ZEl3SCRzdjdJflJJWWlHaGoqISRifUoo MyQ7eFR2YjJTaD9zRnJXfilrOFQyaTtxWnI9JSlkOCNRQX4+MEhGU3IKK3piWEBjdDROUSZmfEZr X202PX5IVWJscHg7Wkx5eldNe2M7TGxRWVZVUmZ2aHdvVEZzMVBIP3NsPGYjfVhUbj5TYgorenE9 UkQ8dT59bTN6Vz55OHtzezBZKXNpYWROPj83VGMrJV9vWTxJLWB2KVBKWThYODlPPl9rTlZhfU5q bVFZTHBRCit6KnhJNk8yWjxgPl9EOXxreTlZN3pXLWkpP3F+bGFuUkx7dUBGeWF1cVQpZjNxdFVt UWNtODF7SFNZbnpgZmolamwKK3o+aG4keHdsIWBWa00tT0FkYEc4TjUoUHk8Tjk5T0lrTWhEVEJS eTZJYnwzeEJTeVpMSEUqUTtiaG5aKHlnS0cwZAorei1iQnl9TnkpSHUjPHtJZjt5ckxzVT9vaXR2 YW9iIWRudDs3UWYmYnwqVWBrTF9Gaz1qYHRDK0x5JGFucFpJeWI9Cit6TT4pJnt3PCZvQ1dHfHtq TyE3UHtTaUx8RUMreytoaylaanJRWjt1TCgodUVZZEVVViRqWUwhUDU9d2ItcEBjQGcKK3pKUlVk NjstYFcoIWUtWkQ0UmNfc0wxJV9nKnhWVChlRGo3Q0N1ZUM/QWtqWXpoQ3t0biZ3fGZDP183Kipi R2ooRQoremQ+O3BGTjN1S3l3ZTZBODtyPmJRKjxzYEpuOEk2OCVOQy1VWCh8YTFgKSlgJUs7d001 RG9SZ2U8aERPU2N4UHI7Cit6S3xJVDVjUyk2KCg0I1krbkA+ZFRaM0B9MVY4TXF1QXdHYWVqSCo2 R0VyP2tZS3Z9I2hOczBIO2lWZGJmUihSSF8KK3olX2pXfWomVGxlNFZsM3BOVm0mVTcmQj5eY1I0 Wj5HazRiPT5zVDgtZUxRU25VPlJoVlhVWExxUm0yXyFLJjQ9bAorekpQdzY9KmQxSlZEJC1VfHhy JmZ1TXJGbmpZNH4laHs5MWZzSCs/ZjIkeENXbClsJW84QzhkSWB2b1JSbmcmLVJVCit6b0Q0NFlQ RFY5Ql4xNlk5JFViWlVIMCE3NSFKcj5vaCl1bWJCKnpYQmppIUthdTtWaDY3b190enZyU0ZZS3s0 bWUKK3owZDg7YGdRWFhnd0lUMTJJTSpVa2J0NzN3SyhNS14pJX1TQW8yeyZ2dElvIVhhQyNKRkl+ Mml9RCVHWmF0T2A2ZgoremFeOHE3d3E5cm1MVm16JmdLP1NCQypeMGVBe312JT5eSGBOKGBFOCEq KlFfYjd8VyhfVnxXN3k5IyhMQ0FOPFR7Cit6JEhZP195Jkh0fmo+e20rblJKRDJDbldBdEB+TFco LTQyNyFNcjlBO1ljbVlNUUF9K24tdVJWPXt8RSY3R3BRRzkKK3oyT1dle0RQd0RHTEdWcyhZelVo JHp7NFghViNBQ0kwI1VeR0h0JEd6aEBZT35RNXU8cGlFQ30zJD8lIzIyK2A0ZgorejxuT18mQ2NI RFNMMEpUeWNpdkY0dl5Yb31neSEwIVFzfEBOY344X09TKndNUzhJM0pZdEJSRG1Ud1V1SFJCRTRz Cit6RnBBQW5jaGxSP2U2RlB6ZHJ6SldLVFkld3dNZChDRnFzJSgyJjl6WjFDdEdCVzIzcjB0ZlR8 QmZVRG8qIUA+KzwKK3pRbjJmSTR5TFQtT3JMWE89aThUTClwd2t0ZU4zMnhnVEBnWm5pIXYxbll4 cm5sPSspR1NMP3B1IVIlSj1fWCs3aworejYhfHgyUyEtRUFGPChrdW9gYGh0amleSGwka21tR2ZM djhfbXRaPFpaZ3RVSU5OSC1fKnhOeClrP25RbCFjXkV2Cit6TGc5ZjVVXl4wQnZmezNUVjspS3pu bT1gXjxwbUVvVTl6aGNBUEdLS148cldzJDVyM3U5byFYR1V+YXZMcVZyXnQKK3ptMFJicV9SfkdA ZCZ+TF5pXnxxa3JRKHlXTyshZG8xeHsmQWpFaDc5ejRVJCF3NSFhKU5IXjR9SE04QyY9dTl2Qgor ellKa1YrcTxLSigjRHBzfHRmRypeTVElQy1ycTdeMlBrY31zYWp6YVRPPm1ZSnl4fT4hZkFLcEJt PUxQKXV4fGcrCit6TTteJGhPc20xNCQ3KG1VXlZLTVYwP2dnPUJPPzJsYSU1MnM9UV9weyR7MVVw ekheTmghYUJZUkFxOz9SdUJ3a2EKK3olcEtnYGotd0klIXRDKWhBK31ZOGpybHhKM0JpKSRsKTV3 dGl7MkZod0AkWVAtaXglfiRwZHV9IVk9RHY9O1k8Pgoreit4PDhmYi1uYXYjJjtzRGEjI05ORTlq UkEhKSZ7alc9Kll+d2xoI29EPzB9M3FhT3pgSUBAfG9kcTx7MFE3VWxPCit6NzxOTzh1YkFvQml+ U2g1V2swcl83cT89QDFAflFEN3B8TVpnM083Zz0oKT5neHVFeHQ4JDMlYF4zUmMmcTduPWwKK3pU Oz5eOzxKczg4VElzaGQ0VGJFZ3kqfm0hbCZVe25xMz9EUzZOUDdEY3cxPXVpWWAjcndxKnZoX1VM MTU0eHlxRQoreiNgPTV0ST89U2lwb3FyfDlYVXZBaiFkRHZBJEAzfWtfZ3hGIz5YZClWYGNaenU1 Jil0MllCTjFCYzNpeDlBcn1uCit6WWItTEFAbWozdXh3RjIqbj9XODF3Z01BdU8+akBDVHRBclMy Kl5Hd1Y1MDg2SypnTVlxNzsyNXVPYTlRMlBVRCQKK3pkejdpcDN+Y2UoUWpfaTE3Q0p3ZldhKnly P3l6RVdZNGY1WVF1bSN1dkd7P0Y/WGZ8JiY9SUJ4XlFDUUx7OD5zMQoremJEWjl1PnZWQW9MUE9n NFdIeDI1OTI7O2YrR0BRWDxjJGkkZVk9LWBZY1ZUNDM9TVFrPDI0cyYtbiVpZUNqMUxxCit6eUsz Z1QhfV4hNlVhZkQrJGo/PHtKQkJPM3FWUntMVjBxZXhFQjdpdkFDMkleciNWd0BDU3tWPDdgJkxv eFk9NC0KK3ozcGgzSGY8RmFfVjZGT18oWVhsPHhhQFV0UmQhUipOPHlQP0NubSl7WU1RNz1FanpZ enVWQFQtdz5fMUdsflFFVgorel9XREtjJkIrbm9AbndQPE5Ha0ZQPiFQcmFhSXlHaUBUWVktIUVw Mjt7SlR8RSU+eGhkWDV1aTZTeSVIWDspb1RDCit6N3gmbVZtR0o/MDdzeTxDbj14TiNIcmhnITQl YFhlVX58Mn10bWJFWU5kWHpadFhkS15iUE08SlBIemZ5YDc5a2MKK3prNjwybiEyeSU1aipnWHtu WUU0JTE4fl4wNSkxKEJuYVkqUSpVUU5qNGdkbXYySkZIUXsmbTYoVFdBWSNgVClIRAorenpERSNq b0V8dFlFQH5MfHB5KGgla0J7aSpOR29KRms5VUdMd0BwUjJEX1o+QWJWVGhuJVB7Xl49bCZ3X1Ut KH5WCit6MGxUNHM/b35PcyF2KyViVlE7cm9UVntKVDY8OWtqRGA/U0NiRyY2VXRlS0Q/dHZwZUY2 UjcmKDM4ezBCeUJxSioKK3pZSGAwKk9sMDNzWGRAVnVedWo9dDQ4ZG1SMHlmKz96P2JkUjBMN0p2 Nk9OUz1QcEVpUmg+cStMU2E/ZE1QIUEjRworekJ0Ync0IUdJTWxAYUpvRkB0K1VCfEE3S3Z8TmFS WHVxKktPcW5XaWN1KXV4JVRuUGRJX08tekhabj9qS3tXZTwxCit6K0EmeGhxYTV8RUtDb2k4MXhf U0R7VCZSYjhvLUJfVSh0UkMpNnBAckhnbyk0bHxXbyM8LWYmczBPQVRncmMzMW0KK3pCRkY9O2hx KEpkd20pIXo/P09BNio7eE4paS01U2FlfjxnQHdZYSFAXkAzST11JmdUSjBSWWUrJG08SGMlbHtx TQorenp7YitqJGlWUiU8UjVKT3gwPzhoT3ppPmQrNjJec0tHT0ZSVFZqNUxZLU1YezxZQEdWI1El V24zKUlBVW9rPTdJCit6S0pjREkwe31wTkFoOFNaemtmPD5aRVItcDJQJHlwXjU1LVM1RCpwZSUz bjRGXz8tcWJKcGgzNjBRR3xOVFUxOVEKK3pTSTBrSzc1XlVnc31pMUM2UCNaR2x+NGR3MD5UNT5M Nz82SkYwN0hZXkI8N151PkxycHF5Xkg4ZiFYaT9Lc3hkRgorekpCQlJ4N29AOSFrP3EkRmA+aSt6 K0pmfnozdFApPklVTldHMDJ+MDNBS0RuQyk7R3ZUMjJQSEBrQT8hYHspNUN7Cit6bTd3cVI3fmB1 eVRxQXRIVj43MEk7KGp5UTxrd0pWRilFe2lmIUAjc3lidkYjSHBjby0pVVA0eUE5ZWQlREVLTlYK K3o1YkRwTEtRTzxfeWVuWDheQyN3U0diZXRGMiowclUjU19Ue0JPcSFnQFdPY0BYWXFld2VqZ1px MFVpJmdAWTRjdAoreldYdTUyQnAkKz4rSX15eHAxcH5hNnxtdmhLV2dOK2M9bEJ6NSs+KTw8aUxI YUFwLXpxfDFDS0Y3U0c7MGVHaE03Cit6MU1GcT9td1d0ekBGXjZ4UiMtcjxsVlNxXnVwWGN6YCtr cjkmOFV4bUhqbzZNcWQ0TyZRazRLWk5EUUhVWl9jaCEKK3plfVAtLUlVM3Y4VG03TEQ9ZjhLODM/ U3wjVjwjcCY0Z2dATV5uSXZzTzhnN2ctcDBnVT9AIXA1ZS1CIz9nbmhNbworei07Y30lME5obzQ1 OERVKSYrbm5hLXMkVkJxa2xTZS1ydkw0MTdSPVdeNzAhbzAwMUY9MDA4Tk1pbUNTaGdtdSgmCit6 MEZGRVZuJUlHPUUmcUdhNzlnbkhTZz45UVBfQDI1TDsxcmBlek9WJjIjYE55YiNnU2JgfiRQKlhQ Q2RAZCFVR2EKK3pWZ2pkWjhRUiRZZ1lXJHFeQUczdj5maiQ8TzhnaCpGWjxxKTtyfXEtLUAtLUdm NTk3REkrKz1vSWxCRlc/MDxQKQorenZQOFV7OEJvQEM7Nj9naTxNd19Jez56S19pPkt7SzBUQ0Y2 MFJnfl48XmZMYCgpVzcqYX1vTV8xe04tUV9KJDR5Cit6SGRlTkp8MGJYcXAoIUF9MWVQcFp6P2Vu JmZiSXFJUHdBd0BnK3ljJk1nQykrell0YihpO0d9IWYjJGhLXjdTRmIKK3p3P1J0PD9XWWA4ZElx THUqOGcwSXtDTjhAZjJhOXZgfV4+fHI/RTcwSDNQPVNVKjNKaStaS3RoSDhtNFpPJUlvVgoremtO LTM1fDYlaXcyNn04XmZEfVQmNUtzMCVRJnhtT3FYOW5KKFIwdS1HJkFAJitZVilTZFhvYVFGZSVg Z3MyJmlGCit6bEt6eSkoYjMqYS1edFBGLTsjWSFpWXYrais4OE9ZPXBjQVZNKW90WmVfPilQenpG ekdSYSlKRTAwNE9GXm5EZEoKK3pPISs7OWdQSDNlYXEjTmojbGIlK141M2xMbUdKay1aaEJVaCUp ZXw/KzhnTWBSS1R4TTg3YVRFUlFsRX1oSkokbAorektVbVpSODQ1WnQoNHg0MlNAJDd7OUJ9VntQ aC1EX0AhIVAlOGJXT1RuQncpJXNyX3FKR1cqSWM9bXVDZmFPcjteCit6OGB0RTFNcT0mWVh6eWgz PzwhWSZ0TVEjU3B2NnVEaSExeUc4c3BSZDNENEl4e2p1QT41VVQxO0x5Um5kM0BOfnsKK3peM1lW MzRTJnBGPXd4TzRgOyptUVFgVkw4V1BMb2FtcHAwQ19Zb0p7X3tTN1JSJVZXV2JmeF9AandPNGVz eDY/JAorei1OU3NaRENuMHo7ck1nRD81e0NBOUsham5Aam1uVzI/Tmx8ZWpteUNZWlJ6LWJ1cUtS Ny1iMUctLW1scT0+S0RpCit6ZXxeKlBhQTR1THQ1XmNnRzVuRXR7NThKdCpBYEw1aj8rfk1vU041 WkBja2toMUFvbCR1THxxMC1qflNUT3tOY3cKK3pCa0tQZFExSTt7ZGdGZ2dAeSluYFV0N2hhQW5g PmRVezJaK3tAJWc7UWghR0F1JCVJKUBxbHc9PlUjbiExJGZ9PworeiZCSktMVEtGQGJaK2chQzhW Um1TQVdqdUkwMSheJXkjdkJqe2d+dzI3QlJvWnBgRkJyezJtUDBQeWBxaUFKei1sCit6dnA/WkBj dU0yZlhkWFRneyZ3cFQ3SnAzaCZFdyZ9cXhmLUVeKVVaTUZhTDt3PChLbXhyezI5UDYzfWh+RDhB cTkKK3o8KTB3YDVCYWFsb0wtWCM3KGhffEVCe0dze2FGMH1BXiRtVnF3byNeY1h8WnE8UFl4K2B1 MldDXjF0TjJgP25UQworelUtUkdtZjkxYzZgPTlYcSVsd3llb1ZqMkxXWFNsaHtEJVN4YGgkU1Re N3ZvcHpmOG9ITkMjbDM+ZEVAdntsPnQ0Cit6TyE0cFktQH1STy19KiVnO1pIZEotfTJ1OCR4aiZt WlRAPldmJXd9K3UjKjNuO3tQJUtuTnN8aTtAe0BLaGZgeX0KK3pVNCNoTGp+VmBUeyhDcn09VVdP c184KExIPi1fZ3tlISNhQkFwQWUwXytScWghIUUxZUAoNzlsak9Tbkh6bFRsSAoreno5cVNvfDFy dEcmd21ma0M0UzI+P2Zlc3R8S0klQT9menEkVShBMk1lSU43UmhoNHMxaUxCUzM2YzNLUjBRMmZV Cit0SmVtNGh3TE5eRV9aUDB1JVhVQXxoZm51QG1aJXtoZno+ZlU5UWV6TDJMUi1+MXtWQil7e3Ra KHtgQ0w9CisKK2RpZmYgLS1naXQgYS90YXNrcy9fdmVuZG9yL3BhdGgucHkgYi90YXNrcy9fdmVu ZG9yL3BhdGgucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMmM3YTcxYy4uMDAw MDAwMAorLS0tIGEvdGFza3MvX3ZlbmRvci9wYXRoLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSwx NzI1ICswLDAgQEAKKy0jCistIyBTT1VSQ0U6IGh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkv cGF0aC5weQorLSMgVkVSU0lPTjogOC4yLjEKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistIyBD b3B5cmlnaHQgKGMpIDIwMTAgTWlraGFpbCBHdXNhcm92CistIworLSMgUGVybWlzc2lvbiBpcyBo ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEg Y29weQorLSMgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp bGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKKy0jIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKKy0j IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGlj ZW5zZSwgYW5kL29yIHNlbGwKKy0jIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJt aXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworLSMgZnVybmlzaGVkIHRvIGRvIHNv LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKy0jCistIyBUaGUgYWJvdmUg Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs dWRlZCBpbgorLSMgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29m dHdhcmUuCistIworLSMgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg V0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKy0jIElNUExJRUQsIElOQ0xVRElORyBC VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorLSMg RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4g Tk8gRVZFTlQgU0hBTEwgVEhFCistIyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCistIyBMSUFCSUxJVFksIFdIRVRI RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBG Uk9NLAorLSMgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhF IFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKy0jIFNPRlRXQVJFLgorLSMKKy0KKy0iIiIK Ky1wYXRoLnB5IC0gQW4gb2JqZWN0IHJlcHJlc2VudGluZyBhIHBhdGggdG8gYSBmaWxlIG9yIGRp cmVjdG9yeS4KKy0KKy1odHRwczovL2dpdGh1Yi5jb20vamFyYWNvL3BhdGgucHkKKy0KKy1FeGFt cGxlOjoKKy0KKy0gICAgZnJvbSBwYXRoIGltcG9ydCBQYXRoCistICAgIGQgPSBQYXRoKCcvaG9t ZS9ndWlkby9iaW4nKQorLSAgICBmb3IgZiBpbiBkLmZpbGVzKCcqLnB5Jyk6CistICAgICAgICBm LmNobW9kKDBvNzU1KQorLSIiIgorLQorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgdW5pY29kZV9s aXRlcmFscworLQorLWltcG9ydCBzeXMKKy1pbXBvcnQgd2FybmluZ3MKKy1pbXBvcnQgb3MKKy1p bXBvcnQgZm5tYXRjaAorLWltcG9ydCBnbG9iCistaW1wb3J0IHNodXRpbAorLWltcG9ydCBjb2Rl Y3MKKy1pbXBvcnQgaGFzaGxpYgorLWltcG9ydCBlcnJubworLWltcG9ydCB0ZW1wZmlsZQorLWlt cG9ydCBmdW5jdG9vbHMKKy1pbXBvcnQgb3BlcmF0b3IKKy1pbXBvcnQgcmUKKy1pbXBvcnQgY29u dGV4dGxpYgorLWltcG9ydCBpbworLWZyb20gZGlzdHV0aWxzIGltcG9ydCBkaXJfdXRpbAorLWlt cG9ydCBpbXBvcnRsaWIKKy0KKy10cnk6CistICAgIGltcG9ydCB3aW4zMnNlY3VyaXR5CistZXhj ZXB0IEltcG9ydEVycm9yOgorLSAgICBwYXNzCistCistdHJ5OgorLSAgICBpbXBvcnQgcHdkCist ZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICBwYXNzCistCistdHJ5OgorLSAgICBpbXBvcnQgZ3Jw CistZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICBwYXNzCistCistIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCistIyBQeXRob24gMi8zIHN1cHBvcnQKKy1QWTMgPSBzeXMudmVyc2lvbl9pbmZvID49ICgz LCkKKy1QWTIgPSBub3QgUFkzCistCistc3RyaW5nX3R5cGVzID0gc3RyLAorLXRleHRfdHlwZSA9 IHN0cgorLWdldGN3ZHUgPSBvcy5nZXRjd2QKKy0KKy1kZWYgc3Vycm9nYXRlX2VzY2FwZShlcnJv cik6CistICAgICIiIgorLSAgICBTaW11bGF0ZSB0aGUgUHl0aG9uIDMgYGBzdXJyb2dhdGVlc2Nh cGVgYCBoYW5kbGVyLCBidXQgZm9yIFB5dGhvbiAyIG9ubHkuCistICAgICIiIgorLSAgICBjaGFy cyA9IGVycm9yLm9iamVjdFtlcnJvci5zdGFydDplcnJvci5lbmRdCistICAgIGFzc2VydCBsZW4o Y2hhcnMpID09IDEKKy0gICAgdmFsID0gb3JkKGNoYXJzKQorLSAgICB2YWwgKz0gMHhkYzAwCist ICAgIHJldHVybiBfX2J1aWx0aW5fXy51bmljaHIodmFsKSwgZXJyb3IuZW5kCistCistaWYgUFky OgorLSAgICBpbXBvcnQgX19idWlsdGluX18KKy0gICAgc3RyaW5nX3R5cGVzID0gX19idWlsdGlu X18uYmFzZXN0cmluZywKKy0gICAgdGV4dF90eXBlID0gX19idWlsdGluX18udW5pY29kZQorLSAg ICBnZXRjd2R1ID0gb3MuZ2V0Y3dkdQorLSAgICBjb2RlY3MucmVnaXN0ZXJfZXJyb3IoJ3N1cnJv Z2F0ZWVzY2FwZScsIHN1cnJvZ2F0ZV9lc2NhcGUpCistCistQGNvbnRleHRsaWIuY29udGV4dG1h bmFnZXIKKy1kZWYgaW9fZXJyb3JfY29tcGF0KCk6CistICAgIHRyeToKKy0gICAgICAgIHlpZWxk CistICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGlvX2VycjoKKy0gICAgICAgICMgT24gUHl0aG9uIDIs IGlvLm9wZW4gcmFpc2VzIElPRXJyb3I7IHRyYW5zZm9ybSB0byBPU0Vycm9yIGZvcgorLSAgICAg ICAgIyBmdXR1cmUgY29tcGF0aWJpbGl0eS4KKy0gICAgICAgIG9zX2VyciA9IE9TRXJyb3IoKmlv X2Vyci5hcmdzKQorLSAgICAgICAgb3NfZXJyLmZpbGVuYW1lID0gZ2V0YXR0cihpb19lcnIsICdm aWxlbmFtZScsIE5vbmUpCistICAgICAgICByYWlzZSBvc19lcnIKKy0KKy0jIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKy0KKy1fX2FsbF9fID0gWydQYXRoJywgJ0Nhc2VJbnNlbnNpdGl2ZVBhdHRlcm4n XQorLQorLQorLUxJTkVTRVBTID0gWydcclxuJywgJ1xyJywgJ1xuJ10KKy1VX0xJTkVTRVBTID0g TElORVNFUFMgKyBbJ1x1MDA4NScsICdcdTIwMjgnLCAnXHUyMDI5J10KKy1ORVdMSU5FID0gcmUu Y29tcGlsZSgnfCcuam9pbihMSU5FU0VQUykpCistVV9ORVdMSU5FID0gcmUuY29tcGlsZSgnfCcu am9pbihVX0xJTkVTRVBTKSkKKy1OTF9FTkQgPSByZS5jb21waWxlKHInKD86ezB9KSQnLmZvcm1h dChORVdMSU5FLnBhdHRlcm4pKQorLVVfTkxfRU5EID0gcmUuY29tcGlsZShyJyg/OnswfSkkJy5m b3JtYXQoVV9ORVdMSU5FLnBhdHRlcm4pKQorLQorLQorLXRyeToKKy0gICAgaW1wb3J0IHBrZ19y ZXNvdXJjZXMKKy0gICAgX192ZXJzaW9uX18gPSBwa2dfcmVzb3VyY2VzLnJlcXVpcmUoJ3BhdGgu cHknKVswXS52ZXJzaW9uCistZXhjZXB0IEV4Y2VwdGlvbjoKKy0gICAgX192ZXJzaW9uX18gPSAn OC4yLjEnICAgIyBYWFgtTU9ESUZJRUQtV0FTOiAndW5rbm93bicKKy0KKy0KKy1jbGFzcyBUcmVl V2Fsa1dhcm5pbmcoV2FybmluZyk6CistICAgIHBhc3MKKy0KKy0KKy0jIGZyb20gamFyYWNvLmZ1 bmN0b29scworLWRlZiBjb21wb3NlKCpmdW5jcyk6CistICAgIGNvbXBvc2VfdHdvID0gbGFtYmRh IGYxLCBmMjogbGFtYmRhICphcmdzLCAqKmt3YXJnczogZjEoZjIoKmFyZ3MsICoqa3dhcmdzKSkK Ky0gICAgcmV0dXJuIGZ1bmN0b29scy5yZWR1Y2UoY29tcG9zZV90d28sIGZ1bmNzKQorLQorLQor LWRlZiBzaW1wbGVfY2FjaGUoZnVuYyk6CistICAgICIiIgorLSAgICBTYXZlIHJlc3VsdHMgZm9y IHRoZSA6bWV0aDoncGF0aC51c2luZ19tb2R1bGUnIGNsYXNzbWV0aG9kLgorLSAgICBXaGVuIFB5 dGhvbiAzLjIgaXMgYXZhaWxhYmxlLCB1c2UgZnVuY3Rvb2xzLmxydV9jYWNoZSBpbnN0ZWFkLgor LSAgICAiIiIKKy0gICAgc2F2ZWRfcmVzdWx0cyA9IHt9CistCistICAgIGRlZiB3cmFwcGVyKGNs cywgbW9kdWxlKToKKy0gICAgICAgIGlmIG1vZHVsZSBpbiBzYXZlZF9yZXN1bHRzOgorLSAgICAg ICAgICAgIHJldHVybiBzYXZlZF9yZXN1bHRzW21vZHVsZV0KKy0gICAgICAgIHNhdmVkX3Jlc3Vs dHNbbW9kdWxlXSA9IGZ1bmMoY2xzLCBtb2R1bGUpCistICAgICAgICByZXR1cm4gc2F2ZWRfcmVz dWx0c1ttb2R1bGVdCistICAgIHJldHVybiB3cmFwcGVyCistCistCistY2xhc3MgQ2xhc3NQcm9w ZXJ0eShwcm9wZXJ0eSk6CistICAgIGRlZiBfX2dldF9fKHNlbGYsIGNscywgb3duZXIpOgorLSAg ICAgICAgcmV0dXJuIHNlbGYuZmdldC5fX2dldF9fKE5vbmUsIG93bmVyKSgpCistCistCistY2xh c3MgbXVsdGltZXRob2Qob2JqZWN0KToKKy0gICAgIiIiCistICAgIEFjdHMgbGlrZSBhIGNsYXNz bWV0aG9kIHdoZW4gaW52b2tlZCBmcm9tIHRoZSBjbGFzcyBhbmQgbGlrZSBhbgorLSAgICBpbnN0 YW5jZW1ldGhvZCB3aGVuIGludm9rZWQgZnJvbSB0aGUgaW5zdGFuY2UuCistICAgICIiIgorLSAg ICBkZWYgX19pbml0X18oc2VsZiwgZnVuYyk6CistICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCist CistICAgIGRlZiBfX2dldF9fKHNlbGYsIGluc3RhbmNlLCBvd25lcik6CistICAgICAgICByZXR1 cm4gKAorLSAgICAgICAgICAgIGZ1bmN0b29scy5wYXJ0aWFsKHNlbGYuZnVuYywgb3duZXIpIGlm IGluc3RhbmNlIGlzIE5vbmUKKy0gICAgICAgICAgICBlbHNlIGZ1bmN0b29scy5wYXJ0aWFsKHNl bGYuZnVuYywgb3duZXIsIGluc3RhbmNlKQorLSAgICAgICAgKQorLQorLQorLWNsYXNzIFBhdGgo dGV4dF90eXBlKToKKy0gICAgIiIiCistICAgIFJlcHJlc2VudHMgYSBmaWxlc3lzdGVtIHBhdGgu CistCistICAgIEZvciBkb2N1bWVudGF0aW9uIG9uIGluZGl2aWR1YWwgbWV0aG9kcywgY29uc3Vs dCB0aGVpcgorLSAgICBjb3VudGVycGFydHMgaW4gOm1vZDpgb3MucGF0aGAuCistCistICAgIFNv bWUgbWV0aG9kcyBhcmUgYWRkaXRpb25hbGx5IGluY2x1ZGVkIGZyb20gOm1vZDpgc2h1dGlsYC4K Ky0gICAgVGhlIGZ1bmN0aW9ucyBhcmUgbGlua2VkIGRpcmVjdGx5IGludG8gdGhlIGNsYXNzIG5h bWVzcGFjZQorLSAgICBzdWNoIHRoYXQgdGhleSB3aWxsIGJlIGJvdW5kIHRvIHRoZSBQYXRoIGlu c3RhbmNlLiBGb3IgZXhhbXBsZSwKKy0gICAgYGBQYXRoKHNyYykuY29weSh0YXJnZXQpYGAgaXMg ZXF1aXZhbGVudCB0bworLSAgICBgYHNodXRpbC5jb3B5KHNyYywgdGFyZ2V0KWBgLiBUaGVyZWZv cmUsIHdoZW4gcmVmZXJlbmNpbmcKKy0gICAgdGhlIGRvY3MgZm9yIHRoZXNlIG1ldGhvZHMsIGFz c3VtZSBgc3JjYCByZWZlcmVuY2VzIGBzZWxmYCwKKy0gICAgdGhlIFBhdGggaW5zdGFuY2UuCist ICAgICIiIgorLQorLSAgICBtb2R1bGUgPSBvcy5wYXRoCistICAgICIiIiBUaGUgcGF0aCBtb2R1 bGUgdG8gdXNlIGZvciBwYXRoIG9wZXJhdGlvbnMuCistCistICAgIC4uIHNlZWFsc286OiA6bW9k OmBvcy5wYXRoYAorLSAgICAiIiIKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG90aGVyPScn KToKKy0gICAgICAgIGlmIG90aGVyIGlzIE5vbmU6CistICAgICAgICAgICAgcmFpc2UgVHlwZUVy cm9yKCJJbnZhbGlkIGluaXRpYWwgdmFsdWUgZm9yIHBhdGg6IE5vbmUiKQorLQorLSAgICBAY2xh c3NtZXRob2QKKy0gICAgQHNpbXBsZV9jYWNoZQorLSAgICBkZWYgdXNpbmdfbW9kdWxlKGNscywg bW9kdWxlKToKKy0gICAgICAgIHN1YmNsYXNzX25hbWUgPSBjbHMuX19uYW1lX18gKyAnXycgKyBt b2R1bGUuX19uYW1lX18KKy0gICAgICAgIGlmIFBZMjoKKy0gICAgICAgICAgICBzdWJjbGFzc19u YW1lID0gc3RyKHN1YmNsYXNzX25hbWUpCistICAgICAgICBiYXNlcyA9IChjbHMsKQorLSAgICAg ICAgbnMgPSB7J21vZHVsZSc6IG1vZHVsZX0KKy0gICAgICAgIHJldHVybiB0eXBlKHN1YmNsYXNz X25hbWUsIGJhc2VzLCBucykKKy0KKy0gICAgQENsYXNzUHJvcGVydHkKKy0gICAgQGNsYXNzbWV0 aG9kCistICAgIGRlZiBfbmV4dF9jbGFzcyhjbHMpOgorLSAgICAgICAgIiIiCistICAgICAgICBX aGF0IGNsYXNzIHNob3VsZCBiZSB1c2VkIHRvIGNvbnN0cnVjdCBuZXcgaW5zdGFuY2VzIGZyb20g dGhpcyBjbGFzcworLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gY2xzCistCistICAgIEBj bGFzc21ldGhvZAorLSAgICBkZWYgX2Fsd2F5c191bmljb2RlKGNscywgcGF0aCk6CistICAgICAg ICAiIiIKKy0gICAgICAgIEVuc3VyZSB0aGUgcGF0aCBhcyByZXRyaWV2ZWQgZnJvbSBhIFB5dGhv biBBUEksIHN1Y2ggYXMgOmZ1bmM6YG9zLmxpc3RkaXJgLAorLSAgICAgICAgaXMgYSBwcm9wZXIg VW5pY29kZSBzdHJpbmcuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIFBZMyBvciBpc2luc3Rh bmNlKHBhdGgsIHRleHRfdHlwZSk6CistICAgICAgICAgICAgcmV0dXJuIHBhdGgKKy0gICAgICAg IHJldHVybiBwYXRoLmRlY29kZShzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCksICdzdXJyb2dh dGVlc2NhcGUnKQorLQorLSAgICAjIC0tLSBTcGVjaWFsIFB5dGhvbiBtZXRob2RzLgorLQorLSAg ICBkZWYgX19yZXByX18oc2VsZik6CistICAgICAgICByZXR1cm4gJyVzKCVzKScgJSAodHlwZShz ZWxmKS5fX25hbWVfXywgc3VwZXIoUGF0aCwgc2VsZikuX19yZXByX18oKSkKKy0KKy0gICAgIyBB ZGRpbmcgYSBQYXRoIGFuZCBhIHN0cmluZyB5aWVsZHMgYSBQYXRoLgorLSAgICBkZWYgX19hZGRf XyhzZWxmLCBtb3JlKToKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5f bmV4dF9jbGFzcyhzdXBlcihQYXRoLCBzZWxmKS5fX2FkZF9fKG1vcmUpKQorLSAgICAgICAgZXhj ZXB0IFR5cGVFcnJvcjogICMgUHl0aG9uIGJ1ZworLSAgICAgICAgICAgIHJldHVybiBOb3RJbXBs ZW1lbnRlZAorLQorLSAgICBkZWYgX19yYWRkX18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgaWYg bm90IGlzaW5zdGFuY2Uob3RoZXIsIHN0cmluZ190eXBlcyk6CistICAgICAgICAgICAgcmV0dXJu IE5vdEltcGxlbWVudGVkCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhvdGhlci5f X2FkZF9fKHNlbGYpKQorLQorLSAgICAjIFRoZSAvIG9wZXJhdG9yIGpvaW5zIFBhdGhzLgorLSAg ICBkZWYgX19kaXZfXyhzZWxmLCByZWwpOgorLSAgICAgICAgIiIiIGZwLl9fZGl2X18ocmVsKSA9 PSBmcCAvIHJlbCA9PSBmcC5qb2lucGF0aChyZWwpCistCistICAgICAgICBKb2luIHR3byBwYXRo IGNvbXBvbmVudHMsIGFkZGluZyBhIHNlcGFyYXRvciBjaGFyYWN0ZXIgaWYKKy0gICAgICAgIG5l ZWRlZC4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5qb2luYAorLSAg ICAgICAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhzZWxmLm1vZHVsZS5q b2luKHNlbGYsIHJlbCkpCistCistICAgICMgTWFrZSB0aGUgLyBvcGVyYXRvciB3b3JrIGV2ZW4g d2hlbiB0cnVlIGRpdmlzaW9uIGlzIGVuYWJsZWQuCistICAgIF9fdHJ1ZWRpdl9fID0gX19kaXZf XworLQorLSAgICAjIFRoZSAvIG9wZXJhdG9yIGpvaW5zIFBhdGhzIHRoZSBvdGhlciB3YXkgYXJv dW5kCistICAgIGRlZiBfX3JkaXZfXyhzZWxmLCByZWwpOgorLSAgICAgICAgIiIiIGZwLl9fcmRp dl9fKHJlbCkgPT0gcmVsIC8gZnAKKy0KKy0gICAgICAgIEpvaW4gdHdvIHBhdGggY29tcG9uZW50 cywgYWRkaW5nIGEgc2VwYXJhdG9yIGNoYXJhY3RlciBpZgorLSAgICAgICAgbmVlZGVkLgorLQor LSAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLmpvaW5gCistICAgICAgICAiIiIK Ky0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLmpvaW4ocmVsLCBz ZWxmKSkKKy0KKy0gICAgIyBNYWtlIHRoZSAvIG9wZXJhdG9yIHdvcmsgZXZlbiB3aGVuIHRydWUg ZGl2aXNpb24gaXMgZW5hYmxlZC4KKy0gICAgX19ydHJ1ZWRpdl9fID0gX19yZGl2X18KKy0KKy0g ICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKy0gICAgICAgIHNlbGYuX29sZF9kaXIgPSBzZWxmLmdl dGN3ZCgpCistICAgICAgICBvcy5jaGRpcihzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0K Ky0gICAgZGVmIF9fZXhpdF9fKHNlbGYsICpfKToKKy0gICAgICAgIG9zLmNoZGlyKHNlbGYuX29s ZF9kaXIpCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgZ2V0Y3dkKGNscyk6CistICAg ICAgICAiIiIgUmV0dXJuIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGFzIGEgcGF0aCBv YmplY3QuCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLmdldGN3ZHVgCistICAg ICAgICAiIiIKKy0gICAgICAgIHJldHVybiBjbHMoZ2V0Y3dkdSgpKQorLQorLSAgICAjCistICAg ICMgLS0tIE9wZXJhdGlvbnMgb24gUGF0aCBzdHJpbmdzLgorLQorLSAgICBkZWYgYWJzcGF0aChz ZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguYWJzcGF0aGAg IiIiCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhzZWxmLm1vZHVsZS5hYnNwYXRo KHNlbGYpKQorLQorLSAgICBkZWYgbm9ybWNhc2Uoc2VsZik6CistICAgICAgICAiIiIgLi4gc2Vl YWxzbzo6IDpmdW5jOmBvcy5wYXRoLm5vcm1jYXNlYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxm Ll9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLm5vcm1jYXNlKHNlbGYpKQorLQorLSAgICBkZWYgbm9y bXBhdGgoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLm5v cm1wYXRoYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxl Lm5vcm1wYXRoKHNlbGYpKQorLQorLSAgICBkZWYgcmVhbHBhdGgoc2VsZik6CistICAgICAgICAi IiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLnJlYWxwYXRoYCAiIiIKKy0gICAgICAgIHJl dHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLnJlYWxwYXRoKHNlbGYpKQorLQorLSAg ICBkZWYgZXhwYW5kdXNlcihzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6 YG9zLnBhdGguZXhwYW5kdXNlcmAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFz cyhzZWxmLm1vZHVsZS5leHBhbmR1c2VyKHNlbGYpKQorLQorLSAgICBkZWYgZXhwYW5kdmFycyhz ZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguZXhwYW5kdmFy c2AgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhzZWxmLm1vZHVsZS5leHBh bmR2YXJzKHNlbGYpKQorLQorLSAgICBkZWYgZGlybmFtZShzZWxmKToKKy0gICAgICAgICIiIiAu LiBzZWVhbHNvOjogOmF0dHI6YHBhcmVudGAsIDpmdW5jOmBvcy5wYXRoLmRpcm5hbWVgICIiIgor LSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3Moc2VsZi5tb2R1bGUuZGlybmFtZShzZWxm KSkKKy0KKy0gICAgZGVmIGJhc2VuYW1lKHNlbGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286 OiA6YXR0cjpgbmFtZWAsIDpmdW5jOmBvcy5wYXRoLmJhc2VuYW1lYCAiIiIKKy0gICAgICAgIHJl dHVybiBzZWxmLl9uZXh0X2NsYXNzKHNlbGYubW9kdWxlLmJhc2VuYW1lKHNlbGYpKQorLQorLSAg ICBkZWYgZXhwYW5kKHNlbGYpOgorLSAgICAgICAgIiIiIENsZWFuIHVwIGEgZmlsZW5hbWUgYnkg Y2FsbGluZyA6bWV0aDpgZXhwYW5kdmFycygpYCwKKy0gICAgICAgIDptZXRoOmBleHBhbmR1c2Vy KClgLCBhbmQgOm1ldGg6YG5vcm1wYXRoKClgIG9uIGl0LgorLQorLSAgICAgICAgVGhpcyBpcyBj b21tb25seSBldmVyeXRoaW5nIG5lZWRlZCB0byBjbGVhbiB1cCBhIGZpbGVuYW1lCistICAgICAg ICByZWFkIGZyb20gYSBjb25maWd1cmF0aW9uIGZpbGUsIGZvciBleGFtcGxlLgorLSAgICAgICAg IiIiCistICAgICAgICByZXR1cm4gc2VsZi5leHBhbmR2YXJzKCkuZXhwYW5kdXNlcigpLm5vcm1w YXRoKCkKKy0KKy0gICAgQHByb3BlcnR5CistICAgIGRlZiBuYW1lYmFzZShzZWxmKToKKy0gICAg ICAgICIiIiBUaGUgc2FtZSBhcyA6bWV0aDpgbmFtZWAsIGJ1dCB3aXRoIG9uZSBmaWxlIGV4dGVu c2lvbiBzdHJpcHBlZCBvZmYuCistCistICAgICAgICBGb3IgZXhhbXBsZSwKKy0gICAgICAgIGBg UGF0aCgnL2hvbWUvZ3VpZG8vcHl0aG9uLnRhci5neicpLm5hbWUgPT0gJ3B5dGhvbi50YXIuZ3on YGAsCistICAgICAgICBidXQKKy0gICAgICAgIGBgUGF0aCgnL2hvbWUvZ3VpZG8vcHl0aG9uLnRh ci5neicpLm5hbWViYXNlID09ICdweXRob24udGFyJ2BgLgorLSAgICAgICAgIiIiCistICAgICAg ICBiYXNlLCBleHQgPSBzZWxmLm1vZHVsZS5zcGxpdGV4dChzZWxmLm5hbWUpCistICAgICAgICBy ZXR1cm4gYmFzZQorLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIGV4dChzZWxmKToKKy0gICAg ICAgICIiIiBUaGUgZmlsZSBleHRlbnNpb24sIGZvciBleGFtcGxlIGBgJy5weSdgYC4gIiIiCist ICAgICAgICBmLCBleHQgPSBzZWxmLm1vZHVsZS5zcGxpdGV4dChzZWxmKQorLSAgICAgICAgcmV0 dXJuIGV4dAorLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIGRyaXZlKHNlbGYpOgorLSAgICAg ICAgIiIiIFRoZSBkcml2ZSBzcGVjaWZpZXIsIGZvciBleGFtcGxlIGBgJ0M6J2BgLgorLQorLSAg ICAgICAgVGhpcyBpcyBhbHdheXMgZW1wdHkgb24gc3lzdGVtcyB0aGF0IGRvbid0IHVzZSBkcml2 ZSBzcGVjaWZpZXJzLgorLSAgICAgICAgIiIiCistICAgICAgICBkcml2ZSwgciA9IHNlbGYubW9k dWxlLnNwbGl0ZHJpdmUoc2VsZikKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKGRy aXZlKQorLQorLSAgICBwYXJlbnQgPSBwcm9wZXJ0eSgKKy0gICAgICAgIGRpcm5hbWUsIE5vbmUs IE5vbmUsCistICAgICAgICAiIiIgVGhpcyBwYXRoJ3MgcGFyZW50IGRpcmVjdG9yeSwgYXMgYSBu ZXcgUGF0aCBvYmplY3QuCistCistICAgICAgICBGb3IgZXhhbXBsZSwKKy0gICAgICAgIGBgUGF0 aCgnL3Vzci9sb2NhbC9saWIvbGlicHl0aG9uLnNvJykucGFyZW50ID09CistICAgICAgICBQYXRo KCcvdXNyL2xvY2FsL2xpYicpYGAKKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0aDpgZGly bmFtZWAsIDpmdW5jOmBvcy5wYXRoLmRpcm5hbWVgCistICAgICAgICAiIiIpCistCistICAgIG5h bWUgPSBwcm9wZXJ0eSgKKy0gICAgICAgIGJhc2VuYW1lLCBOb25lLCBOb25lLAorLSAgICAgICAg IiIiIFRoZSBuYW1lIG9mIHRoaXMgZmlsZSBvciBkaXJlY3Rvcnkgd2l0aG91dCB0aGUgZnVsbCBw YXRoLgorLQorLSAgICAgICAgRm9yIGV4YW1wbGUsCistICAgICAgICBgYFBhdGgoJy91c3IvbG9j YWwvbGliL2xpYnB5dGhvbi5zbycpLm5hbWUgPT0gJ2xpYnB5dGhvbi5zbydgYAorLQorLSAgICAg ICAgLi4gc2VlYWxzbzo6IDptZXRoOmBiYXNlbmFtZWAsIDpmdW5jOmBvcy5wYXRoLmJhc2VuYW1l YAorLSAgICAgICAgIiIiKQorLQorLSAgICBkZWYgc3BsaXRwYXRoKHNlbGYpOgorLSAgICAgICAg IiIiIHAuc3BsaXRwYXRoKCkgLT4gUmV0dXJuIGBgKHAucGFyZW50LCBwLm5hbWUpYGAuCistCist ICAgICAgICAuLiBzZWVhbHNvOjogOmF0dHI6YHBhcmVudGAsIDphdHRyOmBuYW1lYCwgOmZ1bmM6 YG9zLnBhdGguc3BsaXRgCistICAgICAgICAiIiIKKy0gICAgICAgIHBhcmVudCwgY2hpbGQgPSBz ZWxmLm1vZHVsZS5zcGxpdChzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3Mo cGFyZW50KSwgY2hpbGQKKy0KKy0gICAgZGVmIHNwbGl0ZHJpdmUoc2VsZik6CistICAgICAgICAi IiIgcC5zcGxpdGRyaXZlKCkgLT4gUmV0dXJuIGBgKHAuZHJpdmUsIDx0aGUgcmVzdCBvZiBwPilg YC4KKy0KKy0gICAgICAgIFNwbGl0IHRoZSBkcml2ZSBzcGVjaWZpZXIgZnJvbSB0aGlzIHBhdGgu ICBJZiB0aGVyZSBpcworLSAgICAgICAgbm8gZHJpdmUgc3BlY2lmaWVyLCA6c2FtcDpge3AuZHJp dmV9YCBpcyBlbXB0eSwgc28gdGhlIHJldHVybiB2YWx1ZQorLSAgICAgICAgaXMgc2ltcGx5IGBg KFBhdGgoJycpLCBwKWBgLiAgVGhpcyBpcyBhbHdheXMgdGhlIGNhc2Ugb24gVW5peC4KKy0KKy0g ICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5zcGxpdGRyaXZlYAorLSAgICAgICAg IiIiCistICAgICAgICBkcml2ZSwgcmVsID0gc2VsZi5tb2R1bGUuc3BsaXRkcml2ZShzZWxmKQor LSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MoZHJpdmUpLCByZWwKKy0KKy0gICAgZGVm IHNwbGl0ZXh0KHNlbGYpOgorLSAgICAgICAgIiIiIHAuc3BsaXRleHQoKSAtPiBSZXR1cm4gYGAo cC5zdHJpcGV4dCgpLCBwLmV4dClgYC4KKy0KKy0gICAgICAgIFNwbGl0IHRoZSBmaWxlbmFtZSBl eHRlbnNpb24gZnJvbSB0aGlzIHBhdGggYW5kIHJldHVybgorLSAgICAgICAgdGhlIHR3byBwYXJ0 cy4gIEVpdGhlciBwYXJ0IG1heSBiZSBlbXB0eS4KKy0KKy0gICAgICAgIFRoZSBleHRlbnNpb24g aXMgZXZlcnl0aGluZyBmcm9tIGBgJy4nYGAgdG8gdGhlIGVuZCBvZiB0aGUKKy0gICAgICAgIGxh c3QgcGF0aCBzZWdtZW50LiAgVGhpcyBoYXMgdGhlIHByb3BlcnR5IHRoYXQgaWYKKy0gICAgICAg IGBgKGEsIGIpID09IHAuc3BsaXRleHQoKWBgLCB0aGVuIGBgYSArIGIgPT0gcGBgLgorLQorLSAg ICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLnNwbGl0ZXh0YAorLSAgICAgICAgIiIi CistICAgICAgICBmaWxlbmFtZSwgZXh0ID0gc2VsZi5tb2R1bGUuc3BsaXRleHQoc2VsZikKKy0g ICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKGZpbGVuYW1lKSwgZXh0CistCistICAgIGRl ZiBzdHJpcGV4dChzZWxmKToKKy0gICAgICAgICIiIiBwLnN0cmlwZXh0KCkgLT4gUmVtb3ZlIG9u ZSBmaWxlIGV4dGVuc2lvbiBmcm9tIHRoZSBwYXRoLgorLQorLSAgICAgICAgRm9yIGV4YW1wbGUs IGBgUGF0aCgnL2hvbWUvZ3VpZG8vcHl0aG9uLnRhci5neicpLnN0cmlwZXh0KClgYAorLSAgICAg ICAgcmV0dXJucyBgYFBhdGgoJy9ob21lL2d1aWRvL3B5dGhvbi50YXInKWBgLgorLSAgICAgICAg IiIiCistICAgICAgICByZXR1cm4gc2VsZi5zcGxpdGV4dCgpWzBdCistCistICAgIGRlZiBzcGxp dHVuYyhzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguc3Bs aXR1bmNgICIiIgorLSAgICAgICAgdW5jLCByZXN0ID0gc2VsZi5tb2R1bGUuc3BsaXR1bmMoc2Vs ZikKKy0gICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKHVuYyksIHJlc3QKKy0KKy0gICAg QHByb3BlcnR5CistICAgIGRlZiB1bmNzaGFyZShzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAg ICAgVGhlIFVOQyBtb3VudCBwb2ludCBmb3IgdGhpcyBwYXRoLgorLSAgICAgICAgVGhpcyBpcyBl bXB0eSBmb3IgcGF0aHMgb24gbG9jYWwgZHJpdmVzLgorLSAgICAgICAgIiIiCistICAgICAgICB1 bmMsIHIgPSBzZWxmLm1vZHVsZS5zcGxpdHVuYyhzZWxmKQorLSAgICAgICAgcmV0dXJuIHNlbGYu X25leHRfY2xhc3ModW5jKQorLQorLSAgICBAbXVsdGltZXRob2QKKy0gICAgZGVmIGpvaW5wYXRo KGNscywgZmlyc3QsICpvdGhlcnMpOgorLSAgICAgICAgIiIiCistICAgICAgICBKb2luIGZpcnN0 IHRvIHplcm8gb3IgbW9yZSA6Y2xhc3M6YFBhdGhgIGNvbXBvbmVudHMsIGFkZGluZyBhIHNlcGFy YXRvcgorLSAgICAgICAgY2hhcmFjdGVyICg6c2FtcDpge2ZpcnN0fS5tb2R1bGUuc2VwYCkgaWYg bmVlZGVkLiAgUmV0dXJucyBhIG5ldyBpbnN0YW5jZSBvZgorLSAgICAgICAgOnNhbXA6YHtmaXJz dH0uX25leHRfY2xhc3NgLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRo LmpvaW5gCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZpcnN0LCBj bHMpOgorLSAgICAgICAgICAgIGZpcnN0ID0gY2xzKGZpcnN0KQorLSAgICAgICAgcmV0dXJuIGZp cnN0Ll9uZXh0X2NsYXNzKGZpcnN0Lm1vZHVsZS5qb2luKGZpcnN0LCAqb3RoZXJzKSkKKy0KKy0g ICAgZGVmIHNwbGl0YWxsKHNlbGYpOgorLSAgICAgICAgciIiIiBSZXR1cm4gYSBsaXN0IG9mIHRo ZSBwYXRoIGNvbXBvbmVudHMgaW4gdGhpcyBwYXRoLgorLQorLSAgICAgICAgVGhlIGZpcnN0IGl0 ZW0gaW4gdGhlIGxpc3Qgd2lsbCBiZSBhIFBhdGguICBJdHMgdmFsdWUgd2lsbCBiZQorLSAgICAg ICAgZWl0aGVyIDpkYXRhOmBvcy5jdXJkaXJgLCA6ZGF0YTpgb3MucGFyZGlyYCwgZW1wdHksIG9y IHRoZSByb290CistICAgICAgICBkaXJlY3Rvcnkgb2YgdGhpcyBwYXRoIChmb3IgZXhhbXBsZSwg YGAnLydgYCBvciBgYCdDOlxcJ2BgKS4gIFRoZQorLSAgICAgICAgb3RoZXIgaXRlbXMgaW4gdGhl IGxpc3Qgd2lsbCBiZSBzdHJpbmdzLgorLQorLSAgICAgICAgYGBwYXRoLlBhdGguam9pbnBhdGgo KnJlc3VsdClgYCB3aWxsIHlpZWxkIHRoZSBvcmlnaW5hbCBwYXRoLgorLSAgICAgICAgIiIiCist ICAgICAgICBwYXJ0cyA9IFtdCistICAgICAgICBsb2MgPSBzZWxmCistICAgICAgICB3aGlsZSBs b2MgIT0gb3MuY3VyZGlyIGFuZCBsb2MgIT0gb3MucGFyZGlyOgorLSAgICAgICAgICAgIHByZXYg PSBsb2MKKy0gICAgICAgICAgICBsb2MsIGNoaWxkID0gcHJldi5zcGxpdHBhdGgoKQorLSAgICAg ICAgICAgIGlmIGxvYyA9PSBwcmV2OgorLSAgICAgICAgICAgICAgICBicmVhaworLSAgICAgICAg ICAgIHBhcnRzLmFwcGVuZChjaGlsZCkKKy0gICAgICAgIHBhcnRzLmFwcGVuZChsb2MpCistICAg ICAgICBwYXJ0cy5yZXZlcnNlKCkKKy0gICAgICAgIHJldHVybiBwYXJ0cworLQorLSAgICBkZWYg cmVscGF0aChzZWxmLCBzdGFydD0nLicpOgorLSAgICAgICAgIiIiIFJldHVybiB0aGlzIHBhdGgg YXMgYSByZWxhdGl2ZSBwYXRoLAorLSAgICAgICAgYmFzZWQgZnJvbSBgc3RhcnRgLCB3aGljaCBk ZWZhdWx0cyB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKy0gICAgICAgICIiIgor LSAgICAgICAgY3dkID0gc2VsZi5fbmV4dF9jbGFzcyhzdGFydCkKKy0gICAgICAgIHJldHVybiBj d2QucmVscGF0aHRvKHNlbGYpCistCistICAgIGRlZiByZWxwYXRodG8oc2VsZiwgZGVzdCk6Cist ICAgICAgICAiIiIgUmV0dXJuIGEgcmVsYXRpdmUgcGF0aCBmcm9tIGBzZWxmYCB0byBgZGVzdGAu CistCistICAgICAgICBJZiB0aGVyZSBpcyBubyByZWxhdGl2ZSBwYXRoIGZyb20gYHNlbGZgIHRv IGBkZXN0YCwgZm9yIGV4YW1wbGUgaWYKKy0gICAgICAgIHRoZXkgcmVzaWRlIG9uIGRpZmZlcmVu dCBkcml2ZXMgaW4gV2luZG93cywgdGhlbiB0aGlzIHJldHVybnMKKy0gICAgICAgIGBgZGVzdC5h YnNwYXRoKClgYC4KKy0gICAgICAgICIiIgorLSAgICAgICAgb3JpZ2luID0gc2VsZi5hYnNwYXRo KCkKKy0gICAgICAgIGRlc3QgPSBzZWxmLl9uZXh0X2NsYXNzKGRlc3QpLmFic3BhdGgoKQorLQor LSAgICAgICAgb3JpZ19saXN0ID0gb3JpZ2luLm5vcm1jYXNlKCkuc3BsaXRhbGwoKQorLSAgICAg ICAgIyBEb24ndCBub3JtY2FzZSBkZXN0ISAgV2Ugd2FudCB0byBwcmVzZXJ2ZSB0aGUgY2FzZS4K Ky0gICAgICAgIGRlc3RfbGlzdCA9IGRlc3Quc3BsaXRhbGwoKQorLQorLSAgICAgICAgaWYgb3Jp Z19saXN0WzBdICE9IHNlbGYubW9kdWxlLm5vcm1jYXNlKGRlc3RfbGlzdFswXSk6CistICAgICAg ICAgICAgIyBDYW4ndCBnZXQgaGVyZSBmcm9tIHRoZXJlLgorLSAgICAgICAgICAgIHJldHVybiBk ZXN0CistCistICAgICAgICAjIEZpbmQgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSB0d28gcGF0aHMg c3RhcnQgdG8gZGlmZmVyLgorLSAgICAgICAgaSA9IDAKKy0gICAgICAgIGZvciBzdGFydF9zZWcs IGRlc3Rfc2VnIGluIHppcChvcmlnX2xpc3QsIGRlc3RfbGlzdCk6CistICAgICAgICAgICAgaWYg c3RhcnRfc2VnICE9IHNlbGYubW9kdWxlLm5vcm1jYXNlKGRlc3Rfc2VnKToKKy0gICAgICAgICAg ICAgICAgYnJlYWsKKy0gICAgICAgICAgICBpICs9IDEKKy0KKy0gICAgICAgICMgTm93IGkgaXMg dGhlIHBvaW50IHdoZXJlIHRoZSB0d28gcGF0aHMgZGl2ZXJnZS4KKy0gICAgICAgICMgTmVlZCBh IGNlcnRhaW4gbnVtYmVyIG9mICJvcy5wYXJkaXIicyB0byB3b3JrIHVwCistICAgICAgICAjIGZy b20gdGhlIG9yaWdpbiB0byB0aGUgcG9pbnQgb2YgZGl2ZXJnZW5jZS4KKy0gICAgICAgIHNlZ21l bnRzID0gW29zLnBhcmRpcl0gKiAobGVuKG9yaWdfbGlzdCkgLSBpKQorLSAgICAgICAgIyBOZWVk IHRvIGFkZCB0aGUgZGl2ZXJnaW5nIHBhcnQgb2YgZGVzdF9saXN0LgorLSAgICAgICAgc2VnbWVu dHMgKz0gZGVzdF9saXN0W2k6XQorLSAgICAgICAgaWYgbGVuKHNlZ21lbnRzKSA9PSAwOgorLSAg ICAgICAgICAgICMgSWYgdGhleSBoYXBwZW4gdG8gYmUgaWRlbnRpY2FsLCB1c2Ugb3MuY3VyZGly LgorLSAgICAgICAgICAgIHJlbHBhdGggPSBvcy5jdXJkaXIKKy0gICAgICAgIGVsc2U6CistICAg ICAgICAgICAgcmVscGF0aCA9IHNlbGYubW9kdWxlLmpvaW4oKnNlZ21lbnRzKQorLSAgICAgICAg cmV0dXJuIHNlbGYuX25leHRfY2xhc3MocmVscGF0aCkKKy0KKy0gICAgIyAtLS0gTGlzdGluZywg c2VhcmNoaW5nLCB3YWxraW5nLCBhbmQgbWF0Y2hpbmcKKy0KKy0gICAgZGVmIGxpc3RkaXIoc2Vs ZiwgcGF0dGVybj1Ob25lKToKKy0gICAgICAgICIiIiBELmxpc3RkaXIoKSAtPiBMaXN0IG9mIGl0 ZW1zIGluIHRoaXMgZGlyZWN0b3J5LgorLQorLSAgICAgICAgVXNlIDptZXRoOmBmaWxlc2Agb3Ig Om1ldGg6YGRpcnNgIGluc3RlYWQgaWYgeW91IHdhbnQgYSBsaXN0aW5nCistICAgICAgICBvZiBq dXN0IGZpbGVzIG9yIGp1c3Qgc3ViZGlyZWN0b3JpZXMuCistCistICAgICAgICBUaGUgZWxlbWVu dHMgb2YgdGhlIGxpc3QgYXJlIFBhdGggb2JqZWN0cy4KKy0KKy0gICAgICAgIFdpdGggdGhlIG9w dGlvbmFsIGBwYXR0ZXJuYCBhcmd1bWVudCwgdGhpcyBvbmx5IGxpc3RzCistICAgICAgICBpdGVt cyB3aG9zZSBuYW1lcyBtYXRjaCB0aGUgZ2l2ZW4gcGF0dGVybi4KKy0KKy0gICAgICAgIC4uIHNl ZWFsc286OiA6bWV0aDpgZmlsZXNgLCA6bWV0aDpgZGlyc2AKKy0gICAgICAgICIiIgorLSAgICAg ICAgaWYgcGF0dGVybiBpcyBOb25lOgorLSAgICAgICAgICAgIHBhdHRlcm4gPSAnKicKKy0gICAg ICAgIHJldHVybiBbCistICAgICAgICAgICAgc2VsZiAvIGNoaWxkCistICAgICAgICAgICAgZm9y IGNoaWxkIGluIG1hcChzZWxmLl9hbHdheXNfdW5pY29kZSwgb3MubGlzdGRpcihzZWxmKSkKKy0g ICAgICAgICAgICBpZiBzZWxmLl9uZXh0X2NsYXNzKGNoaWxkKS5mbm1hdGNoKHBhdHRlcm4pCist ICAgICAgICBdCistCistICAgIGRlZiBkaXJzKHNlbGYsIHBhdHRlcm49Tm9uZSk6CistICAgICAg ICAiIiIgRC5kaXJzKCkgLT4gTGlzdCBvZiB0aGlzIGRpcmVjdG9yeSdzIHN1YmRpcmVjdG9yaWVz LgorLQorLSAgICAgICAgVGhlIGVsZW1lbnRzIG9mIHRoZSBsaXN0IGFyZSBQYXRoIG9iamVjdHMu CistICAgICAgICBUaGlzIGRvZXMgbm90IHdhbGsgcmVjdXJzaXZlbHkgaW50byBzdWJkaXJlY3Rv cmllcworLSAgICAgICAgKGJ1dCBzZWUgOm1ldGg6YHdhbGtkaXJzYCkuCistCistICAgICAgICBX aXRoIHRoZSBvcHRpb25hbCBgcGF0dGVybmAgYXJndW1lbnQsIHRoaXMgb25seSBsaXN0cworLSAg ICAgICAgZGlyZWN0b3JpZXMgd2hvc2UgbmFtZXMgbWF0Y2ggdGhlIGdpdmVuIHBhdHRlcm4uICBG b3IKKy0gICAgICAgIGV4YW1wbGUsIGBgZC5kaXJzKCdidWlsZC0qJylgYC4KKy0gICAgICAgICIi IgorLSAgICAgICAgcmV0dXJuIFtwIGZvciBwIGluIHNlbGYubGlzdGRpcihwYXR0ZXJuKSBpZiBw LmlzZGlyKCldCistCistICAgIGRlZiBmaWxlcyhzZWxmLCBwYXR0ZXJuPU5vbmUpOgorLSAgICAg ICAgIiIiIEQuZmlsZXMoKSAtPiBMaXN0IG9mIHRoZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS4K Ky0KKy0gICAgICAgIFRoZSBlbGVtZW50cyBvZiB0aGUgbGlzdCBhcmUgUGF0aCBvYmplY3RzLgor LSAgICAgICAgVGhpcyBkb2VzIG5vdCB3YWxrIGludG8gc3ViZGlyZWN0b3JpZXMgKHNlZSA6bWV0 aDpgd2Fsa2ZpbGVzYCkuCistCistICAgICAgICBXaXRoIHRoZSBvcHRpb25hbCBgcGF0dGVybmAg YXJndW1lbnQsIHRoaXMgb25seSBsaXN0cyBmaWxlcworLSAgICAgICAgd2hvc2UgbmFtZXMgbWF0 Y2ggdGhlIGdpdmVuIHBhdHRlcm4uICBGb3IgZXhhbXBsZSwKKy0gICAgICAgIGBgZC5maWxlcygn Ki5weWMnKWBgLgorLSAgICAgICAgIiIiCistCistICAgICAgICByZXR1cm4gW3AgZm9yIHAgaW4g c2VsZi5saXN0ZGlyKHBhdHRlcm4pIGlmIHAuaXNmaWxlKCldCistCistICAgIGRlZiB3YWxrKHNl bGYsIHBhdHRlcm49Tm9uZSwgZXJyb3JzPSdzdHJpY3QnKToKKy0gICAgICAgICIiIiBELndhbGso KSAtPiBpdGVyYXRvciBvdmVyIGZpbGVzIGFuZCBzdWJkaXJzLCByZWN1cnNpdmVseS4KKy0KKy0g ICAgICAgIFRoZSBpdGVyYXRvciB5aWVsZHMgUGF0aCBvYmplY3RzIG5hbWluZyBlYWNoIGNoaWxk IGl0ZW0gb2YKKy0gICAgICAgIHRoaXMgZGlyZWN0b3J5IGFuZCBpdHMgZGVzY2VuZGFudHMuICBU aGlzIHJlcXVpcmVzIHRoYXQKKy0gICAgICAgIGBgRC5pc2RpcigpYGAuCistCistICAgICAgICBU aGlzIHBlcmZvcm1zIGEgZGVwdGgtZmlyc3QgdHJhdmVyc2FsIG9mIHRoZSBkaXJlY3RvcnkgdHJl ZS4KKy0gICAgICAgIEVhY2ggZGlyZWN0b3J5IGlzIHJldHVybmVkIGp1c3QgYmVmb3JlIGFsbCBp dHMgY2hpbGRyZW4uCistCistICAgICAgICBUaGUgYGVycm9ycz1gIGtleXdvcmQgYXJndW1lbnQg Y29udHJvbHMgYmVoYXZpb3Igd2hlbiBhbgorLSAgICAgICAgZXJyb3Igb2NjdXJzLiAgVGhlIGRl ZmF1bHQgaXMgYGAnc3RyaWN0J2BgLCB3aGljaCBjYXVzZXMgYW4KKy0gICAgICAgIGV4Y2VwdGlv bi4gIE90aGVyIGFsbG93ZWQgdmFsdWVzIGFyZSBgYCd3YXJuJ2BgICh3aGljaAorLSAgICAgICAg cmVwb3J0cyB0aGUgZXJyb3IgdmlhIDpmdW5jOmB3YXJuaW5ncy53YXJuKClgKSwgYW5kIGBgJ2ln bm9yZSdgYC4KKy0gICAgICAgIGBlcnJvcnNgIG1heSBhbHNvIGJlIGFuIGFyYml0cmFyeSBjYWxs YWJsZSB0YWtpbmcgYSBtc2cgcGFyYW1ldGVyLgorLSAgICAgICAgIiIiCistICAgICAgICBjbGFz cyBIYW5kbGVyczoKKy0gICAgICAgICAgICBkZWYgc3RyaWN0KG1zZyk6CistICAgICAgICAgICAg ICAgIHJhaXNlCistCistICAgICAgICAgICAgZGVmIHdhcm4obXNnKToKKy0gICAgICAgICAgICAg ICAgd2FybmluZ3Mud2Fybihtc2csIFRyZWVXYWxrV2FybmluZykKKy0KKy0gICAgICAgICAgICBk ZWYgaWdub3JlKG1zZyk6CistICAgICAgICAgICAgICAgIHBhc3MKKy0KKy0gICAgICAgIGlmIG5v dCBjYWxsYWJsZShlcnJvcnMpIGFuZCBlcnJvcnMgbm90IGluIHZhcnMoSGFuZGxlcnMpOgorLSAg ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImludmFsaWQgZXJyb3JzIHBhcmFtZXRlciIpCist ICAgICAgICBlcnJvcnMgPSB2YXJzKEhhbmRsZXJzKS5nZXQoZXJyb3JzLCBlcnJvcnMpCistCist ICAgICAgICB0cnk6CistICAgICAgICAgICAgY2hpbGRMaXN0ID0gc2VsZi5saXN0ZGlyKCkKKy0g ICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CistICAgICAgICAgICAgZXhjID0gc3lzLmV4Y19pbmZv KClbMV0KKy0gICAgICAgICAgICB0bXBsID0gIlVuYWJsZSB0byBsaXN0IGRpcmVjdG9yeSAnJShz ZWxmKXMnOiAlKGV4YylzIgorLSAgICAgICAgICAgIG1zZyA9IHRtcGwgJSBsb2NhbHMoKQorLSAg ICAgICAgICAgIGVycm9ycyhtc2cpCistICAgICAgICAgICAgcmV0dXJuCistCistICAgICAgICBm b3IgY2hpbGQgaW4gY2hpbGRMaXN0OgorLSAgICAgICAgICAgIGlmIHBhdHRlcm4gaXMgTm9uZSBv ciBjaGlsZC5mbm1hdGNoKHBhdHRlcm4pOgorLSAgICAgICAgICAgICAgICB5aWVsZCBjaGlsZAor LSAgICAgICAgICAgIHRyeToKKy0gICAgICAgICAgICAgICAgaXNkaXIgPSBjaGlsZC5pc2Rpcigp CistICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKy0gICAgICAgICAgICAgICAgZXhjID0g c3lzLmV4Y19pbmZvKClbMV0KKy0gICAgICAgICAgICAgICAgdG1wbCA9ICJVbmFibGUgdG8gYWNj ZXNzICclKGNoaWxkKXMnOiAlKGV4YylzIgorLSAgICAgICAgICAgICAgICBtc2cgPSB0bXBsICUg bG9jYWxzKCkKKy0gICAgICAgICAgICAgICAgZXJyb3JzKG1zZykKKy0gICAgICAgICAgICAgICAg aXNkaXIgPSBGYWxzZQorLQorLSAgICAgICAgICAgIGlmIGlzZGlyOgorLSAgICAgICAgICAgICAg ICBmb3IgaXRlbSBpbiBjaGlsZC53YWxrKHBhdHRlcm4sIGVycm9ycyk6CistICAgICAgICAgICAg ICAgICAgICB5aWVsZCBpdGVtCistCistICAgIGRlZiB3YWxrZGlycyhzZWxmLCBwYXR0ZXJuPU5v bmUsIGVycm9ycz0nc3RyaWN0Jyk6CistICAgICAgICAiIiIgRC53YWxrZGlycygpIC0+IGl0ZXJh dG9yIG92ZXIgc3ViZGlycywgcmVjdXJzaXZlbHkuCistCistICAgICAgICBXaXRoIHRoZSBvcHRp b25hbCBgcGF0dGVybmAgYXJndW1lbnQsIHRoaXMgeWllbGRzIG9ubHkKKy0gICAgICAgIGRpcmVj dG9yaWVzIHdob3NlIG5hbWVzIG1hdGNoIHRoZSBnaXZlbiBwYXR0ZXJuLiAgRm9yCistICAgICAg ICBleGFtcGxlLCBgYG15ZGlyLndhbGtkaXJzKCcqdGVzdCcpYGAgeWllbGRzIG9ubHkgZGlyZWN0 b3JpZXMKKy0gICAgICAgIHdpdGggbmFtZXMgZW5kaW5nIGluIGBgJ3Rlc3QnYGAuCistCistICAg ICAgICBUaGUgYGVycm9ycz1gIGtleXdvcmQgYXJndW1lbnQgY29udHJvbHMgYmVoYXZpb3Igd2hl biBhbgorLSAgICAgICAgZXJyb3Igb2NjdXJzLiAgVGhlIGRlZmF1bHQgaXMgYGAnc3RyaWN0J2Bg LCB3aGljaCBjYXVzZXMgYW4KKy0gICAgICAgIGV4Y2VwdGlvbi4gIFRoZSBvdGhlciBhbGxvd2Vk IHZhbHVlcyBhcmUgYGAnd2FybidgYCAod2hpY2gKKy0gICAgICAgIHJlcG9ydHMgdGhlIGVycm9y IHZpYSA6ZnVuYzpgd2FybmluZ3Mud2FybigpYCksIGFuZCBgYCdpZ25vcmUnYGAuCistICAgICAg ICAiIiIKKy0gICAgICAgIGlmIGVycm9ycyBub3QgaW4gKCdzdHJpY3QnLCAnd2FybicsICdpZ25v cmUnKToKKy0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJpbnZhbGlkIGVycm9ycyBwYXJh bWV0ZXIiKQorLQorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIGRpcnMgPSBzZWxmLmRpcnMo KQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKy0gICAgICAgICAgICBpZiBlcnJvcnMgPT0g J2lnbm9yZSc6CistICAgICAgICAgICAgICAgIHJldHVybgorLSAgICAgICAgICAgIGVsaWYgZXJy b3JzID09ICd3YXJuJzoKKy0gICAgICAgICAgICAgICAgd2FybmluZ3Mud2FybigKKy0gICAgICAg ICAgICAgICAgICAgICJVbmFibGUgdG8gbGlzdCBkaXJlY3RvcnkgJyVzJzogJXMiCistICAgICAg ICAgICAgICAgICAgICAlIChzZWxmLCBzeXMuZXhjX2luZm8oKVsxXSksCistICAgICAgICAgICAg ICAgICAgICBUcmVlV2Fsa1dhcm5pbmcpCistICAgICAgICAgICAgICAgIHJldHVybgorLSAgICAg ICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHJhaXNlCistCistICAgICAgICBmb3IgY2hp bGQgaW4gZGlyczoKKy0gICAgICAgICAgICBpZiBwYXR0ZXJuIGlzIE5vbmUgb3IgY2hpbGQuZm5t YXRjaChwYXR0ZXJuKToKKy0gICAgICAgICAgICAgICAgeWllbGQgY2hpbGQKKy0gICAgICAgICAg ICBmb3Igc3Vic3ViZGlyIGluIGNoaWxkLndhbGtkaXJzKHBhdHRlcm4sIGVycm9ycyk6CistICAg ICAgICAgICAgICAgIHlpZWxkIHN1YnN1YmRpcgorLQorLSAgICBkZWYgd2Fsa2ZpbGVzKHNlbGYs IHBhdHRlcm49Tm9uZSwgZXJyb3JzPSdzdHJpY3QnKToKKy0gICAgICAgICIiIiBELndhbGtmaWxl cygpIC0+IGl0ZXJhdG9yIG92ZXIgZmlsZXMgaW4gRCwgcmVjdXJzaXZlbHkuCistCistICAgICAg ICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgYHBhdHRlcm5gIGxpbWl0cyB0aGUgcmVzdWx0cyB0byBm aWxlcworLSAgICAgICAgd2l0aCBuYW1lcyB0aGF0IG1hdGNoIHRoZSBwYXR0ZXJuLiAgRm9yIGV4 YW1wbGUsCistICAgICAgICBgYG15ZGlyLndhbGtmaWxlcygnKi50bXAnKWBgIHlpZWxkcyBvbmx5 IGZpbGVzIHdpdGggdGhlIGBgLnRtcGBgCistICAgICAgICBleHRlbnNpb24uCistICAgICAgICAi IiIKKy0gICAgICAgIGlmIGVycm9ycyBub3QgaW4gKCdzdHJpY3QnLCAnd2FybicsICdpZ25vcmUn KToKKy0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJpbnZhbGlkIGVycm9ycyBwYXJhbWV0 ZXIiKQorLQorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIGNoaWxkTGlzdCA9IHNlbGYubGlz dGRpcigpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorLSAgICAgICAgICAgIGlmIGVycm9y cyA9PSAnaWdub3JlJzoKKy0gICAgICAgICAgICAgICAgcmV0dXJuCistICAgICAgICAgICAgZWxp ZiBlcnJvcnMgPT0gJ3dhcm4nOgorLSAgICAgICAgICAgICAgICB3YXJuaW5ncy53YXJuKAorLSAg ICAgICAgICAgICAgICAgICAgIlVuYWJsZSB0byBsaXN0IGRpcmVjdG9yeSAnJXMnOiAlcyIKKy0g ICAgICAgICAgICAgICAgICAgICUgKHNlbGYsIHN5cy5leGNfaW5mbygpWzFdKSwKKy0gICAgICAg ICAgICAgICAgICAgIFRyZWVXYWxrV2FybmluZykKKy0gICAgICAgICAgICAgICAgcmV0dXJuCist ICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0KKy0gICAgICAgIGZv ciBjaGlsZCBpbiBjaGlsZExpc3Q6CistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAg ICBpc2ZpbGUgPSBjaGlsZC5pc2ZpbGUoKQorLSAgICAgICAgICAgICAgICBpc2RpciA9IG5vdCBp c2ZpbGUgYW5kIGNoaWxkLmlzZGlyKCkKKy0gICAgICAgICAgICBleGNlcHQ6CistICAgICAgICAg ICAgICAgIGlmIGVycm9ycyA9PSAnaWdub3JlJzoKKy0gICAgICAgICAgICAgICAgICAgIGNvbnRp bnVlCistICAgICAgICAgICAgICAgIGVsaWYgZXJyb3JzID09ICd3YXJuJzoKKy0gICAgICAgICAg ICAgICAgICAgIHdhcm5pbmdzLndhcm4oCistICAgICAgICAgICAgICAgICAgICAgICAgIlVuYWJs ZSB0byBhY2Nlc3MgJyVzJzogJXMiCistICAgICAgICAgICAgICAgICAgICAgICAgJSAoc2VsZiwg c3lzLmV4Y19pbmZvKClbMV0pLAorLSAgICAgICAgICAgICAgICAgICAgICAgIFRyZWVXYWxrV2Fy bmluZykKKy0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgICAgIGVs c2U6CistICAgICAgICAgICAgICAgICAgICByYWlzZQorLQorLSAgICAgICAgICAgIGlmIGlzZmls ZToKKy0gICAgICAgICAgICAgICAgaWYgcGF0dGVybiBpcyBOb25lIG9yIGNoaWxkLmZubWF0Y2go cGF0dGVybik6CistICAgICAgICAgICAgICAgICAgICB5aWVsZCBjaGlsZAorLSAgICAgICAgICAg IGVsaWYgaXNkaXI6CistICAgICAgICAgICAgICAgIGZvciBmIGluIGNoaWxkLndhbGtmaWxlcyhw YXR0ZXJuLCBlcnJvcnMpOgorLSAgICAgICAgICAgICAgICAgICAgeWllbGQgZgorLQorLSAgICBk ZWYgZm5tYXRjaChzZWxmLCBwYXR0ZXJuLCBub3JtY2FzZT1Ob25lKToKKy0gICAgICAgICIiIiBS ZXR1cm4gYGBUcnVlYGAgaWYgYHNlbGYubmFtZWAgbWF0Y2hlcyB0aGUgZ2l2ZW4gYHBhdHRlcm5g LgorLQorLSAgICAgICAgYHBhdHRlcm5gIC0gQSBmaWxlbmFtZSBwYXR0ZXJuIHdpdGggd2lsZGNh cmRzLAorLSAgICAgICAgICAgIGZvciBleGFtcGxlIGBgJyoucHknYGAuIElmIHRoZSBwYXR0ZXJu IGNvbnRhaW5zIGEgYG5vcm1jYXNlYAorLSAgICAgICAgICAgIGF0dHJpYnV0ZSwgaXQgaXMgYXBw bGllZCB0byB0aGUgbmFtZSBhbmQgcGF0aCBwcmlvciB0byBjb21wYXJpc29uLgorLQorLSAgICAg ICAgYG5vcm1jYXNlYCAtIChvcHRpb25hbCkgQSBmdW5jdGlvbiB1c2VkIHRvIG5vcm1hbGl6ZSB0 aGUgcGF0dGVybiBhbmQKKy0gICAgICAgICAgICBmaWxlbmFtZSBiZWZvcmUgbWF0Y2hpbmcuIERl ZmF1bHRzIHRvIDptZXRoOmBzZWxmLm1vZHVsZWAsIHdoaWNoIGRlZmF1bHRzCistICAgICAgICAg ICAgdG8gOm1ldGg6YG9zLnBhdGgubm9ybWNhc2VgLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6 IDpmdW5jOmBmbm1hdGNoLmZubWF0Y2hgCistICAgICAgICAiIiIKKy0gICAgICAgIGRlZmF1bHRf bm9ybWNhc2UgPSBnZXRhdHRyKHBhdHRlcm4sICdub3JtY2FzZScsIHNlbGYubW9kdWxlLm5vcm1j YXNlKQorLSAgICAgICAgbm9ybWNhc2UgPSBub3JtY2FzZSBvciBkZWZhdWx0X25vcm1jYXNlCist ICAgICAgICBuYW1lID0gbm9ybWNhc2Uoc2VsZi5uYW1lKQorLSAgICAgICAgcGF0dGVybiA9IG5v cm1jYXNlKHBhdHRlcm4pCistICAgICAgICByZXR1cm4gZm5tYXRjaC5mbm1hdGNoY2FzZShuYW1l LCBwYXR0ZXJuKQorLQorLSAgICBkZWYgZ2xvYihzZWxmLCBwYXR0ZXJuKToKKy0gICAgICAgICIi IiBSZXR1cm4gYSBsaXN0IG9mIFBhdGggb2JqZWN0cyB0aGF0IG1hdGNoIHRoZSBwYXR0ZXJuLgor LQorLSAgICAgICAgYHBhdHRlcm5gIC0gYSBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5 LCB3aXRoIHdpbGRjYXJkcy4KKy0KKy0gICAgICAgIEZvciBleGFtcGxlLCBgYFBhdGgoJy91c2Vy cycpLmdsb2IoJyovYmluLyonKWBgIHJldHVybnMgYSBsaXN0CistICAgICAgICBvZiBhbGwgdGhl IGZpbGVzIHVzZXJzIGhhdmUgaW4gdGhlaXIgOmZpbGU6YGJpbmAgZGlyZWN0b3JpZXMuCistCist ICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YGdsb2IuZ2xvYmAKKy0gICAgICAgICIiIgorLSAg ICAgICAgY2xzID0gc2VsZi5fbmV4dF9jbGFzcworLSAgICAgICAgcmV0dXJuIFtjbHMocykgZm9y IHMgaW4gZ2xvYi5nbG9iKHNlbGYgLyBwYXR0ZXJuKV0KKy0KKy0gICAgIworLSAgICAjIC0tLSBS ZWFkaW5nIG9yIHdyaXRpbmcgYW4gZW50aXJlIGZpbGUgYXQgb25jZS4KKy0KKy0gICAgZGVmIG9w ZW4oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgICAgICIiIiBPcGVuIHRoaXMgZmlsZSBh bmQgcmV0dXJuIGEgY29ycmVzcG9uZGluZyA6Y2xhc3M6YGZpbGVgIG9iamVjdC4KKy0KKy0gICAg ICAgIEtleXdvcmQgYXJndW1lbnRzIHdvcmsgYXMgaW4gOmZ1bmM6YGlvLm9wZW5gLiAgSWYgdGhl IGZpbGUgY2Fubm90IGJlCistICAgICAgICBvcGVuZWQsIGFuIDpjbGFzczpgfmV4Y2VwdGlvbnMu T1NFcnJvcmAgaXMgcmFpc2VkLgorLSAgICAgICAgIiIiCistICAgICAgICB3aXRoIGlvX2Vycm9y X2NvbXBhdCgpOgorLSAgICAgICAgICAgIHJldHVybiBpby5vcGVuKHNlbGYsICphcmdzLCAqKmt3 YXJncykKKy0KKy0gICAgZGVmIGJ5dGVzKHNlbGYpOgorLSAgICAgICAgIiIiIE9wZW4gdGhpcyBm aWxlLCByZWFkIGFsbCBieXRlcywgcmV0dXJuIHRoZW0gYXMgYSBzdHJpbmcuICIiIgorLSAgICAg ICAgd2l0aCBzZWxmLm9wZW4oJ3JiJykgYXMgZjoKKy0gICAgICAgICAgICByZXR1cm4gZi5yZWFk KCkKKy0KKy0gICAgZGVmIGNodW5rcyhzZWxmLCBzaXplLCAqYXJncywgKiprd2FyZ3MpOgorLSAg ICAgICAgIiIiIFJldHVybnMgYSBnZW5lcmF0b3IgeWllbGRpbmcgY2h1bmtzIG9mIHRoZSBmaWxl LCBzbyBpdCBjYW4KKy0gICAgICAgICAgICBiZSByZWFkIHBpZWNlIGJ5IHBpZWNlIHdpdGggYSBz aW1wbGUgZm9yIGxvb3AuCistCistICAgICAgICAgICBBbnkgYXJndW1lbnQgeW91IHBhc3MgYWZ0 ZXIgYHNpemVgIHdpbGwgYmUgcGFzc2VkIHRvIDptZXRoOmBvcGVuYC4KKy0KKy0gICAgICAgICAg IDpleGFtcGxlOgorLQorLSAgICAgICAgICAgICAgID4+PiBoYXNoID0gaGFzaGxpYi5tZDUoKQor LSAgICAgICAgICAgICAgID4+PiBmb3IgY2h1bmsgaW4gUGF0aCgicGF0aC5weSIpLmNodW5rcyg4 MTkyLCBtb2RlPSdyYicpOgorLSAgICAgICAgICAgICAgIC4uLiAgICAgaGFzaC51cGRhdGUoY2h1 bmspCistCistICAgICAgICAgICAgVGhpcyB3aWxsIHJlYWQgdGhlIGZpbGUgYnkgY2h1bmtzIG9m IDgxOTIgYnl0ZXMuCistICAgICAgICAiIiIKKy0gICAgICAgIHdpdGggc2VsZi5vcGVuKCphcmdz LCAqKmt3YXJncykgYXMgZjoKKy0gICAgICAgICAgICBmb3IgY2h1bmsgaW4gaXRlcihsYW1iZGE6 IGYucmVhZChzaXplKSBvciBOb25lLCBOb25lKToKKy0gICAgICAgICAgICAgICAgeWllbGQgY2h1 bmsKKy0KKy0gICAgZGVmIHdyaXRlX2J5dGVzKHNlbGYsIGJ5dGVzLCBhcHBlbmQ9RmFsc2UpOgor LSAgICAgICAgIiIiIE9wZW4gdGhpcyBmaWxlIGFuZCB3cml0ZSB0aGUgZ2l2ZW4gYnl0ZXMgdG8g aXQuCistCistICAgICAgICBEZWZhdWx0IGJlaGF2aW9yIGlzIHRvIG92ZXJ3cml0ZSBhbnkgZXhp c3RpbmcgZmlsZS4KKy0gICAgICAgIENhbGwgYGBwLndyaXRlX2J5dGVzKGJ5dGVzLCBhcHBlbmQ9 VHJ1ZSlgYCB0byBhcHBlbmQgaW5zdGVhZC4KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgYXBw ZW5kOgorLSAgICAgICAgICAgIG1vZGUgPSAnYWInCistICAgICAgICBlbHNlOgorLSAgICAgICAg ICAgIG1vZGUgPSAnd2InCistICAgICAgICB3aXRoIHNlbGYub3Blbihtb2RlKSBhcyBmOgorLSAg ICAgICAgICAgIGYud3JpdGUoYnl0ZXMpCistCistICAgIGRlZiB0ZXh0KHNlbGYsIGVuY29kaW5n PU5vbmUsIGVycm9ycz0nc3RyaWN0Jyk6CistICAgICAgICByIiIiIE9wZW4gdGhpcyBmaWxlLCBy ZWFkIGl0IGluLCByZXR1cm4gdGhlIGNvbnRlbnQgYXMgYSBzdHJpbmcuCistCistICAgICAgICBB bGwgbmV3bGluZSBzZXF1ZW5jZXMgYXJlIGNvbnZlcnRlZCB0byBgYCdcbidgYC4gIEtleXdvcmQg YXJndW1lbnRzCistICAgICAgICB3aWxsIGJlIHBhc3NlZCB0byA6bWV0aDpgb3BlbmAuCistCist ICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGxpbmVzYAorLSAgICAgICAgIiIiCistICAgICAg ICB3aXRoIHNlbGYub3Blbihtb2RlPSdyJywgZW5jb2Rpbmc9ZW5jb2RpbmcsIGVycm9ycz1lcnJv cnMpIGFzIGY6CistICAgICAgICAgICAgcmV0dXJuIFVfTkVXTElORS5zdWIoJ1xuJywgZi5yZWFk KCkpCistCistICAgIGRlZiB3cml0ZV90ZXh0KHNlbGYsIHRleHQsIGVuY29kaW5nPU5vbmUsIGVy cm9ycz0nc3RyaWN0JywKKy0gICAgICAgICAgICAgICAgICAgbGluZXNlcD1vcy5saW5lc2VwLCBh cHBlbmQ9RmFsc2UpOgorLSAgICAgICAgciIiIiBXcml0ZSB0aGUgZ2l2ZW4gdGV4dCB0byB0aGlz IGZpbGUuCistCistICAgICAgICBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBvdmVyd3JpdGUg YW55IGV4aXN0aW5nIGZpbGU7CistICAgICAgICB0byBhcHBlbmQgaW5zdGVhZCwgdXNlIHRoZSBg YXBwZW5kPVRydWVgIGtleXdvcmQgYXJndW1lbnQuCistCistICAgICAgICBUaGVyZSBhcmUgdHdv IGRpZmZlcmVuY2VzIGJldHdlZW4gOm1ldGg6YHdyaXRlX3RleHRgIGFuZAorLSAgICAgICAgOm1l dGg6YHdyaXRlX2J5dGVzYDogbmV3bGluZSBoYW5kbGluZyBhbmQgVW5pY29kZSBoYW5kbGluZy4K Ky0gICAgICAgIFNlZSBiZWxvdy4KKy0KKy0gICAgICAgIFBhcmFtZXRlcnM6CistCistICAgICAg ICAgIGB0ZXh0YCAtIHN0ci91bmljb2RlIC0gVGhlIHRleHQgdG8gYmUgd3JpdHRlbi4KKy0KKy0g ICAgICAgICAgYGVuY29kaW5nYCAtIHN0ciAtIFRoZSBVbmljb2RlIGVuY29kaW5nIHRoYXQgd2ls bCBiZSB1c2VkLgorLSAgICAgICAgICAgICAgVGhpcyBpcyBpZ25vcmVkIGlmIGB0ZXh0YCBpc24n dCBhIFVuaWNvZGUgc3RyaW5nLgorLQorLSAgICAgICAgICBgZXJyb3JzYCAtIHN0ciAtIEhvdyB0 byBoYW5kbGUgVW5pY29kZSBlbmNvZGluZyBlcnJvcnMuCistICAgICAgICAgICAgICBEZWZhdWx0 IGlzIGBgJ3N0cmljdCdgYC4gIFNlZSBgYGhlbHAodW5pY29kZS5lbmNvZGUpYGAgZm9yIHRoZQor LSAgICAgICAgICAgICAgb3B0aW9ucy4gIFRoaXMgaXMgaWdub3JlZCBpZiBgdGV4dGAgaXNuJ3Qg YSBVbmljb2RlCistICAgICAgICAgICAgICBzdHJpbmcuCistCistICAgICAgICAgIGBsaW5lc2Vw YCAtIGtleXdvcmQgYXJndW1lbnQgLSBzdHIvdW5pY29kZSAtIFRoZSBzZXF1ZW5jZSBvZgorLSAg ICAgICAgICAgICAgY2hhcmFjdGVycyB0byBiZSB1c2VkIHRvIG1hcmsgZW5kLW9mLWxpbmUuICBU aGUgZGVmYXVsdCBpcworLSAgICAgICAgICAgICAgOmRhdGE6YG9zLmxpbmVzZXBgLiAgWW91IGNh biBhbHNvIHNwZWNpZnkgYGBOb25lYGAgdG8KKy0gICAgICAgICAgICAgIGxlYXZlIGFsbCBuZXds aW5lcyBhcyB0aGV5IGFyZSBpbiBgdGV4dGAuCistCistICAgICAgICAgIGBhcHBlbmRgIC0ga2V5 d29yZCBhcmd1bWVudCAtIGJvb2wgLSBTcGVjaWZpZXMgd2hhdCB0byBkbyBpZgorLSAgICAgICAg ICAgICAgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHMgKGBgVHJ1ZWBgOiBhcHBlbmQgdG8gdGhlIGVu ZCBvZiBpdDsKKy0gICAgICAgICAgICAgIGBgRmFsc2VgYDogb3ZlcndyaXRlIGl0LikgIFRoZSBk ZWZhdWx0IGlzIGBgRmFsc2VgYC4KKy0KKy0KKy0gICAgICAgIC0tLSBOZXdsaW5lIGhhbmRsaW5n LgorLQorLSAgICAgICAgYGB3cml0ZV90ZXh0KClgYCBjb252ZXJ0cyBhbGwgc3RhbmRhcmQgZW5k LW9mLWxpbmUgc2VxdWVuY2VzCistICAgICAgICAoYGAnXG4nYGAsIGBgJ1xyJ2BgLCBhbmQgYGAn XHJcbidgYCkgdG8geW91ciBwbGF0Zm9ybSdzIGRlZmF1bHQKKy0gICAgICAgIGVuZC1vZi1saW5l IHNlcXVlbmNlIChzZWUgOmRhdGE6YG9zLmxpbmVzZXBgOyBvbiBXaW5kb3dzLCBmb3IgZXhhbXBs ZSwKKy0gICAgICAgIHRoZSBlbmQtb2YtbGluZSBtYXJrZXIgaXMgYGAnXHJcbidgYCkuCistCist ICAgICAgICBJZiB5b3UgZG9uJ3QgbGlrZSB5b3VyIHBsYXRmb3JtJ3MgZGVmYXVsdCwgeW91IGNh biBvdmVycmlkZSBpdAorLSAgICAgICAgdXNpbmcgdGhlIGBsaW5lc2VwPWAga2V5d29yZCBhcmd1 bWVudC4gIElmIHlvdSBzcGVjaWZpY2FsbHkgd2FudAorLSAgICAgICAgYGB3cml0ZV90ZXh0KClg YCB0byBwcmVzZXJ2ZSB0aGUgbmV3bGluZXMgYXMtaXMsIHVzZSBgYGxpbmVzZXA9Tm9uZWBgLgor LQorLSAgICAgICAgVGhpcyBhcHBsaWVzIHRvIFVuaWNvZGUgdGV4dCB0aGUgc2FtZSBhcyB0byA4 LWJpdCB0ZXh0LCBleGNlcHQKKy0gICAgICAgIHRoZXJlIGFyZSB0aHJlZSBhZGRpdGlvbmFsIHN0 YW5kYXJkIFVuaWNvZGUgZW5kLW9mLWxpbmUgc2VxdWVuY2VzOgorLSAgICAgICAgYGB1J1x4ODUn YGAsIGBgdSdcclx4ODUnYGAsIGFuZCBgYHUnXHUyMDI4J2BgLgorLQorLSAgICAgICAgKFRoaXMg aXMgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gd2hlbiB5b3Ugb3BlbiBhIGZpbGUgZm9yCistICAg ICAgICB3cml0aW5nIHdpdGggYGBmb3BlbihmaWxlbmFtZSwgInciKWBgIGluIEMgb3IgYGBvcGVu KGZpbGVuYW1lLCAndycpYGAKKy0gICAgICAgIGluIFB5dGhvbi4pCistCistCistICAgICAgICAt LS0gVW5pY29kZQorLQorLSAgICAgICAgSWYgYHRleHRgIGlzbid0IFVuaWNvZGUsIHRoZW4gYXBh cnQgZnJvbSBuZXdsaW5lIGhhbmRsaW5nLCB0aGUKKy0gICAgICAgIGJ5dGVzIGFyZSB3cml0dGVu IHZlcmJhdGltIHRvIHRoZSBmaWxlLiAgVGhlIGBlbmNvZGluZ2AgYW5kCistICAgICAgICBgZXJy b3JzYCBhcmd1bWVudHMgYXJlIG5vdCB1c2VkIGFuZCBtdXN0IGJlIG9taXR0ZWQuCistCistICAg ICAgICBJZiBgdGV4dGAgaXMgVW5pY29kZSwgaXQgaXMgZmlyc3QgY29udmVydGVkIHRvIDpmdW5j OmBieXRlc2AgdXNpbmcgdGhlCistICAgICAgICBzcGVjaWZpZWQgYGVuY29kaW5nYCAob3IgdGhl IGRlZmF1bHQgZW5jb2RpbmcgaWYgYGVuY29kaW5nYAorLSAgICAgICAgaXNuJ3Qgc3BlY2lmaWVk KS4gIFRoZSBgZXJyb3JzYCBhcmd1bWVudCBhcHBsaWVzIG9ubHkgdG8gdGhpcworLSAgICAgICAg Y29udmVyc2lvbi4KKy0KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgaXNpbnN0YW5jZSh0ZXh0 LCB0ZXh0X3R5cGUpOgorLSAgICAgICAgICAgIGlmIGxpbmVzZXAgaXMgbm90IE5vbmU6CistICAg ICAgICAgICAgICAgIHRleHQgPSBVX05FV0xJTkUuc3ViKGxpbmVzZXAsIHRleHQpCistICAgICAg ICAgICAgdGV4dCA9IHRleHQuZW5jb2RlKGVuY29kaW5nIG9yIHN5cy5nZXRkZWZhdWx0ZW5jb2Rp bmcoKSwgZXJyb3JzKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBhc3NlcnQgZW5jb2Rp bmcgaXMgTm9uZQorLSAgICAgICAgICAgIHRleHQgPSBORVdMSU5FLnN1YihsaW5lc2VwLCB0ZXh0 KQorLSAgICAgICAgc2VsZi53cml0ZV9ieXRlcyh0ZXh0LCBhcHBlbmQ9YXBwZW5kKQorLQorLSAg ICBkZWYgbGluZXMoc2VsZiwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPSdzdHJpY3QnLCByZXRhaW49 VHJ1ZSk6CistICAgICAgICByIiIiIE9wZW4gdGhpcyBmaWxlLCByZWFkIGFsbCBsaW5lcywgcmV0 dXJuIHRoZW0gaW4gYSBsaXN0LgorLQorLSAgICAgICAgT3B0aW9uYWwgYXJndW1lbnRzOgorLSAg ICAgICAgICAgIGBlbmNvZGluZ2AgLSBUaGUgVW5pY29kZSBlbmNvZGluZyAob3IgY2hhcmFjdGVy IHNldCkgb2YKKy0gICAgICAgICAgICAgICAgdGhlIGZpbGUuICBUaGUgZGVmYXVsdCBpcyBgYE5v bmVgYCwgbWVhbmluZyB0aGUgY29udGVudAorLSAgICAgICAgICAgICAgICBvZiB0aGUgZmlsZSBp cyByZWFkIGFzIDgtYml0IGNoYXJhY3RlcnMgYW5kIHJldHVybmVkCistICAgICAgICAgICAgICAg IGFzIGEgbGlzdCBvZiAobm9uLVVuaWNvZGUpIHN0ciBvYmplY3RzLgorLSAgICAgICAgICAgIGBl cnJvcnNgIC0gSG93IHRvIGhhbmRsZSBVbmljb2RlIGVycm9yczsgc2VlIGhlbHAoc3RyLmRlY29k ZSkKKy0gICAgICAgICAgICAgICAgZm9yIHRoZSBvcHRpb25zLiAgRGVmYXVsdCBpcyBgYCdzdHJp Y3QnYGAuCistICAgICAgICAgICAgYHJldGFpbmAgLSBJZiBgYFRydWVgYCwgcmV0YWluIG5ld2xp bmUgY2hhcmFjdGVyczsgYnV0IGFsbCBuZXdsaW5lCistICAgICAgICAgICAgICAgIGNoYXJhY3Rl ciBjb21iaW5hdGlvbnMgKGBgJ1xyJ2BgLCBgYCdcbidgYCwgYGAnXHJcbidgYCkgYXJlCistICAg ICAgICAgICAgICAgIHRyYW5zbGF0ZWQgdG8gYGAnXG4nYGAuICBJZiBgYEZhbHNlYGAsIG5ld2xp bmUgY2hhcmFjdGVycyBhcmUKKy0gICAgICAgICAgICAgICAgc3RyaXBwZWQgb2ZmLiAgRGVmYXVs dCBpcyBgYFRydWVgYC4KKy0KKy0gICAgICAgIFRoaXMgdXNlcyBgYCdVJ2BgIG1vZGUuCistCist ICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YHRleHRgCistICAgICAgICAiIiIKKy0gICAgICAg IGlmIGVuY29kaW5nIGlzIE5vbmUgYW5kIHJldGFpbjoKKy0gICAgICAgICAgICB3aXRoIHNlbGYu b3BlbignVScpIGFzIGY6CistICAgICAgICAgICAgICAgIHJldHVybiBmLnJlYWRsaW5lcygpCist ICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHJldHVybiBzZWxmLnRleHQoZW5jb2RpbmcsIGVy cm9ycykuc3BsaXRsaW5lcyhyZXRhaW4pCistCistICAgIGRlZiB3cml0ZV9saW5lcyhzZWxmLCBs aW5lcywgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPSdzdHJpY3QnLAorLSAgICAgICAgICAgICAgICAg ICAgbGluZXNlcD1vcy5saW5lc2VwLCBhcHBlbmQ9RmFsc2UpOgorLSAgICAgICAgciIiIiBXcml0 ZSB0aGUgZ2l2ZW4gbGluZXMgb2YgdGV4dCB0byB0aGlzIGZpbGUuCistCistICAgICAgICBCeSBk ZWZhdWx0IHRoaXMgb3ZlcndyaXRlcyBhbnkgZXhpc3RpbmcgZmlsZSBhdCB0aGlzIHBhdGguCist CistICAgICAgICBUaGlzIHB1dHMgYSBwbGF0Zm9ybS1zcGVjaWZpYyBuZXdsaW5lIHNlcXVlbmNl IG9uIGV2ZXJ5IGxpbmUuCistICAgICAgICBTZWUgYGxpbmVzZXBgIGJlbG93LgorLQorLSAgICAg ICAgICAgIGBsaW5lc2AgLSBBIGxpc3Qgb2Ygc3RyaW5ncy4KKy0KKy0gICAgICAgICAgICBgZW5j b2RpbmdgIC0gQSBVbmljb2RlIGVuY29kaW5nIHRvIHVzZS4gIFRoaXMgYXBwbGllcyBvbmx5IGlm CistICAgICAgICAgICAgICAgIGBsaW5lc2AgY29udGFpbnMgYW55IFVuaWNvZGUgc3RyaW5ncy4K Ky0KKy0gICAgICAgICAgICBgZXJyb3JzYCAtIEhvdyB0byBoYW5kbGUgZXJyb3JzIGluIFVuaWNv ZGUgZW5jb2RpbmcuICBUaGlzCistICAgICAgICAgICAgICAgIGFsc28gYXBwbGllcyBvbmx5IHRv IFVuaWNvZGUgc3RyaW5ncy4KKy0KKy0gICAgICAgICAgICBsaW5lc2VwIC0gVGhlIGRlc2lyZWQg bGluZS1lbmRpbmcuICBUaGlzIGxpbmUtZW5kaW5nIGlzCistICAgICAgICAgICAgICAgIGFwcGxp ZWQgdG8gZXZlcnkgbGluZS4gIElmIGEgbGluZSBhbHJlYWR5IGhhcyBhbnkKKy0gICAgICAgICAg ICAgICAgc3RhbmRhcmQgbGluZSBlbmRpbmcgKGBgJ1xyJ2BgLCBgYCdcbidgYCwgYGAnXHJcbidg YCwKKy0gICAgICAgICAgICAgICAgYGB1J1x4ODUnYGAsIGBgdSdcclx4ODUnYGAsIGBgdSdcdTIw MjgnYGApLCB0aGF0IHdpbGwKKy0gICAgICAgICAgICAgICAgYmUgc3RyaXBwZWQgb2ZmIGFuZCB0 aGlzIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLiAgVGhlCistICAgICAgICAgICAgICAgIGRlZmF1bHQg aXMgb3MubGluZXNlcCwgd2hpY2ggaXMgcGxhdGZvcm0tZGVwZW5kZW50CistICAgICAgICAgICAg ICAgIChgYCdcclxuJ2BgIG9uIFdpbmRvd3MsIGBgJ1xuJ2BgIG9uIFVuaXgsIGV0Yy4pLgorLSAg ICAgICAgICAgICAgICBTcGVjaWZ5IGBgTm9uZWBgIHRvIHdyaXRlIHRoZSBsaW5lcyBhcy1pcywg bGlrZQorLSAgICAgICAgICAgICAgICA6bWV0aDpgZmlsZS53cml0ZWxpbmVzYC4KKy0KKy0gICAg ICAgIFVzZSB0aGUga2V5d29yZCBhcmd1bWVudCBgYGFwcGVuZD1UcnVlYGAgdG8gYXBwZW5kIGxp bmVzIHRvIHRoZQorLSAgICAgICAgZmlsZS4gIFRoZSBkZWZhdWx0IGlzIHRvIG92ZXJ3cml0ZSB0 aGUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHdhcm5pbmcgOjoKKy0KKy0gICAgICAgICAgICBXaGVu IHlvdSB1c2UgdGhpcyB3aXRoIFVuaWNvZGUgZGF0YSwgaWYgdGhlIGVuY29kaW5nIG9mIHRoZQor LSAgICAgICAgICAgIGV4aXN0aW5nIGRhdGEgaW4gdGhlIGZpbGUgaXMgZGlmZmVyZW50IGZyb20g dGhlIGVuY29kaW5nCistICAgICAgICAgICAgeW91IHNwZWNpZnkgd2l0aCB0aGUgYGVuY29kaW5n PWAgcGFyYW1ldGVyLCB0aGUgcmVzdWx0IGlzCistICAgICAgICAgICAgbWl4ZWQtZW5jb2Rpbmcg ZGF0YSwgd2hpY2ggY2FuIHJlYWxseSBjb25mdXNlIHNvbWVvbmUgdHJ5aW5nCistICAgICAgICAg ICAgdG8gcmVhZCB0aGUgZmlsZSBsYXRlci4KKy0gICAgICAgICIiIgorLSAgICAgICAgd2l0aCBz ZWxmLm9wZW4oJ2FiJyBpZiBhcHBlbmQgZWxzZSAnd2InKSBhcyBmOgorLSAgICAgICAgICAgIGZv ciBsIGluIGxpbmVzOgorLSAgICAgICAgICAgICAgICBpc1VuaWNvZGUgPSBpc2luc3RhbmNlKGws IHRleHRfdHlwZSkKKy0gICAgICAgICAgICAgICAgaWYgbGluZXNlcCBpcyBub3QgTm9uZToKKy0g ICAgICAgICAgICAgICAgICAgIHBhdHRlcm4gPSBVX05MX0VORCBpZiBpc1VuaWNvZGUgZWxzZSBO TF9FTkQKKy0gICAgICAgICAgICAgICAgICAgIGwgPSBwYXR0ZXJuLnN1YignJywgbCkgKyBsaW5l c2VwCistICAgICAgICAgICAgICAgIGlmIGlzVW5pY29kZToKKy0gICAgICAgICAgICAgICAgICAg IGwgPSBsLmVuY29kZShlbmNvZGluZyBvciBzeXMuZ2V0ZGVmYXVsdGVuY29kaW5nKCksIGVycm9y cykKKy0gICAgICAgICAgICAgICAgZi53cml0ZShsKQorLQorLSAgICBkZWYgcmVhZF9tZDUoc2Vs Zik6CistICAgICAgICAiIiIgQ2FsY3VsYXRlIHRoZSBtZDUgaGFzaCBmb3IgdGhpcyBmaWxlLgor LQorLSAgICAgICAgVGhpcyByZWFkcyB0aHJvdWdoIHRoZSBlbnRpcmUgZmlsZS4KKy0KKy0gICAg ICAgIC4uIHNlZWFsc286OiA6bWV0aDpgcmVhZF9oYXNoYAorLSAgICAgICAgIiIiCistICAgICAg ICByZXR1cm4gc2VsZi5yZWFkX2hhc2goJ21kNScpCistCistICAgIGRlZiBfaGFzaChzZWxmLCBo YXNoX25hbWUpOgorLSAgICAgICAgIiIiIFJldHVybnMgYSBoYXNoIG9iamVjdCBmb3IgdGhlIGZp bGUgYXQgdGhlIGN1cnJlbnQgcGF0aC4KKy0KKy0gICAgICAgICAgICBgaGFzaF9uYW1lYCBzaG91 bGQgYmUgYSBoYXNoIGFsZ28gbmFtZSAoc3VjaCBhcyBgYCdtZDUnYGAgb3IgYGAnc2hhMSdgYCkK Ky0gICAgICAgICAgICB0aGF0J3MgYXZhaWxhYmxlIGluIHRoZSA6bW9kOmBoYXNobGliYCBtb2R1 bGUuCistICAgICAgICAiIiIKKy0gICAgICAgIG0gPSBoYXNobGliLm5ldyhoYXNoX25hbWUpCist ICAgICAgICBmb3IgY2h1bmsgaW4gc2VsZi5jaHVua3MoODE5MiwgbW9kZT0icmIiKToKKy0gICAg ICAgICAgICBtLnVwZGF0ZShjaHVuaykKKy0gICAgICAgIHJldHVybiBtCistCistICAgIGRlZiBy ZWFkX2hhc2goc2VsZiwgaGFzaF9uYW1lKToKKy0gICAgICAgICIiIiBDYWxjdWxhdGUgZ2l2ZW4g aGFzaCBmb3IgdGhpcyBmaWxlLgorLQorLSAgICAgICAgTGlzdCBvZiBzdXBwb3J0ZWQgaGFzaGVz IGNhbiBiZSBvYnRhaW5lZCBmcm9tIDptb2Q6YGhhc2hsaWJgIHBhY2thZ2UuCistICAgICAgICBU aGlzIHJlYWRzIHRoZSBlbnRpcmUgZmlsZS4KKy0KKy0gICAgICAgIC4uIHNlZWFsc286OiA6bWV0 aDpgaGFzaGxpYi5oYXNoLmRpZ2VzdGAKKy0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNl bGYuX2hhc2goaGFzaF9uYW1lKS5kaWdlc3QoKQorLQorLSAgICBkZWYgcmVhZF9oZXhoYXNoKHNl bGYsIGhhc2hfbmFtZSk6CistICAgICAgICAiIiIgQ2FsY3VsYXRlIGdpdmVuIGhhc2ggZm9yIHRo aXMgZmlsZSwgcmV0dXJuaW5nIGhleGRpZ2VzdC4KKy0KKy0gICAgICAgIExpc3Qgb2Ygc3VwcG9y dGVkIGhhc2hlcyBjYW4gYmUgb2J0YWluZWQgZnJvbSA6bW9kOmBoYXNobGliYCBwYWNrYWdlLgor LSAgICAgICAgVGhpcyByZWFkcyB0aGUgZW50aXJlIGZpbGUuCistCistICAgICAgICAuLiBzZWVh bHNvOjogOm1ldGg6YGhhc2hsaWIuaGFzaC5oZXhkaWdlc3RgCistICAgICAgICAiIiIKKy0gICAg ICAgIHJldHVybiBzZWxmLl9oYXNoKGhhc2hfbmFtZSkuaGV4ZGlnZXN0KCkKKy0KKy0gICAgIyAt LS0gTWV0aG9kcyBmb3IgcXVlcnlpbmcgdGhlIGZpbGVzeXN0ZW0uCistICAgICMgTi5CLiBPbiBz b21lIHBsYXRmb3JtcywgdGhlIG9zLnBhdGggZnVuY3Rpb25zIG1heSBiZSBpbXBsZW1lbnRlZCBp biBDCistICAgICMgKGUuZy4gaXNkaXIgb24gV2luZG93cywgUHl0aG9uIDMuMi4yKSwgYW5kIGNv bXBpbGVkIGZ1bmN0aW9ucyBkb24ndCBnZXQKKy0gICAgIyBib3VuZC4gUGxheWluZyBpdCBzYWZl IGFuZCB3cmFwcGluZyB0aGVtIGFsbCBpbiBtZXRob2QgY2FsbHMuCistCistICAgIGRlZiBpc2Fi cyhzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnBhdGguaXNhYnNg ICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLmlzYWJzKHNlbGYpCistCistICAgIGRl ZiBleGlzdHMoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRo LmV4aXN0c2AgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUuZXhpc3RzKHNlbGYpCist CistICAgIGRlZiBpc2RpcihzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6 YG9zLnBhdGguaXNkaXJgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLmlzZGlyKHNl bGYpCistCistICAgIGRlZiBpc2ZpbGUoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6 IDpmdW5jOmBvcy5wYXRoLmlzZmlsZWAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUu aXNmaWxlKHNlbGYpCistCistICAgIGRlZiBpc2xpbmsoc2VsZik6CistICAgICAgICAiIiIgLi4g c2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLmlzbGlua2AgIiIiCistICAgICAgICByZXR1cm4gc2Vs Zi5tb2R1bGUuaXNsaW5rKHNlbGYpCistCistICAgIGRlZiBpc21vdW50KHNlbGYpOgorLSAgICAg ICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aC5pc21vdW50YCAiIiIKKy0gICAgICAg IHJldHVybiBzZWxmLm1vZHVsZS5pc21vdW50KHNlbGYpCistCistICAgIGRlZiBzYW1lZmlsZShz ZWxmLCBvdGhlcik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5wYXRoLnNh bWVmaWxlYCAiIiIKKy0gICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYubW9kdWxlLCAnc2FtZWZp bGUnKToKKy0gICAgICAgICAgICBvdGhlciA9IFBhdGgob3RoZXIpLnJlYWxwYXRoKCkubm9ybXBh dGgoKS5ub3JtY2FzZSgpCistICAgICAgICAgICAgcmV0dXJuIHNlbGYucmVhbHBhdGgoKS5ub3Jt cGF0aCgpLm5vcm1jYXNlKCkgPT0gb3RoZXIKKy0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5z YW1lZmlsZShzZWxmLCBvdGhlcikKKy0KKy0gICAgZGVmIGdldGF0aW1lKHNlbGYpOgorLSAgICAg ICAgIiIiIC4uIHNlZWFsc286OiA6YXR0cjpgYXRpbWVgLCA6ZnVuYzpgb3MucGF0aC5nZXRhdGlt ZWAgIiIiCistICAgICAgICByZXR1cm4gc2VsZi5tb2R1bGUuZ2V0YXRpbWUoc2VsZikKKy0KKy0g ICAgYXRpbWUgPSBwcm9wZXJ0eSgKKy0gICAgICAgIGdldGF0aW1lLCBOb25lLCBOb25lLAorLSAg ICAgICAgIiIiIExhc3QgYWNjZXNzIHRpbWUgb2YgdGhlIGZpbGUuCistCistICAgICAgICAuLiBz ZWVhbHNvOjogOm1ldGg6YGdldGF0aW1lYCwgOmZ1bmM6YG9zLnBhdGguZ2V0YXRpbWVgCistICAg ICAgICAiIiIpCistCistICAgIGRlZiBnZXRtdGltZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBz ZWVhbHNvOjogOmF0dHI6YG10aW1lYCwgOmZ1bmM6YG9zLnBhdGguZ2V0bXRpbWVgICIiIgorLSAg ICAgICAgcmV0dXJuIHNlbGYubW9kdWxlLmdldG10aW1lKHNlbGYpCistCistICAgIG10aW1lID0g cHJvcGVydHkoCistICAgICAgICBnZXRtdGltZSwgTm9uZSwgTm9uZSwKKy0gICAgICAgICIiIiBM YXN0LW1vZGlmaWVkIHRpbWUgb2YgdGhlIGZpbGUuCistCistICAgICAgICAuLiBzZWVhbHNvOjog Om1ldGg6YGdldG10aW1lYCwgOmZ1bmM6YG9zLnBhdGguZ2V0bXRpbWVgCistICAgICAgICAiIiIp CistCistICAgIGRlZiBnZXRjdGltZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjog OmF0dHI6YGN0aW1lYCwgOmZ1bmM6YG9zLnBhdGguZ2V0Y3RpbWVgICIiIgorLSAgICAgICAgcmV0 dXJuIHNlbGYubW9kdWxlLmdldGN0aW1lKHNlbGYpCistCistICAgIGN0aW1lID0gcHJvcGVydHko CistICAgICAgICBnZXRjdGltZSwgTm9uZSwgTm9uZSwKKy0gICAgICAgICIiIiBDcmVhdGlvbiB0 aW1lIG9mIHRoZSBmaWxlLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBnZXRjdGlt ZWAsIDpmdW5jOmBvcy5wYXRoLmdldGN0aW1lYAorLSAgICAgICAgIiIiKQorLQorLSAgICBkZWYg Z2V0c2l6ZShzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmF0dHI6YHNpemVgLCA6 ZnVuYzpgb3MucGF0aC5nZXRzaXplYCAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLm1vZHVsZS5n ZXRzaXplKHNlbGYpCistCistICAgIHNpemUgPSBwcm9wZXJ0eSgKKy0gICAgICAgIGdldHNpemUs IE5vbmUsIE5vbmUsCistICAgICAgICAiIiIgU2l6ZSBvZiB0aGUgZmlsZSwgaW4gYnl0ZXMuCist CistICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YGdldHNpemVgLCA6ZnVuYzpgb3MucGF0aC5n ZXRzaXplYAorLSAgICAgICAgIiIiKQorLQorLSAgICBpZiBoYXNhdHRyKG9zLCAnYWNjZXNzJyk6 CistICAgICAgICBkZWYgYWNjZXNzKHNlbGYsIG1vZGUpOgorLSAgICAgICAgICAgICIiIiBSZXR1 cm4gYGBUcnVlYGAgaWYgY3VycmVudCB1c2VyIGhhcyBhY2Nlc3MgdG8gdGhpcyBwYXRoLgorLQor LSAgICAgICAgICAgIG1vZGUgLSBPbmUgb2YgdGhlIGNvbnN0YW50cyA6ZGF0YTpgb3MuRl9PS2As IDpkYXRhOmBvcy5SX09LYCwKKy0gICAgICAgICAgICA6ZGF0YTpgb3MuV19PS2AsIDpkYXRhOmBv cy5YX09LYAorLQorLSAgICAgICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MuYWNjZXNzYAor LSAgICAgICAgICAgICIiIgorLSAgICAgICAgICAgIHJldHVybiBvcy5hY2Nlc3Moc2VsZiwgbW9k ZSkKKy0KKy0gICAgZGVmIHN0YXQoc2VsZik6CistICAgICAgICAiIiIgUGVyZm9ybSBhIGBgc3Rh dCgpYGAgc3lzdGVtIGNhbGwgb24gdGhpcyBwYXRoLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6 IDptZXRoOmBsc3RhdGAsIDpmdW5jOmBvcy5zdGF0YAorLSAgICAgICAgIiIiCistICAgICAgICBy ZXR1cm4gb3Muc3RhdChzZWxmKQorLQorLSAgICBkZWYgbHN0YXQoc2VsZik6CistICAgICAgICAi IiIgTGlrZSA6bWV0aDpgc3RhdGAsIGJ1dCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzLgor LQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDptZXRoOmBzdGF0YCwgOmZ1bmM6YG9zLmxzdGF0YAor LSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gb3MubHN0YXQoc2VsZikKKy0KKy0gICAgZGVm IF9fZ2V0X293bmVyX3dpbmRvd3Moc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFJldHVy biB0aGUgbmFtZSBvZiB0aGUgb3duZXIgb2YgdGhpcyBmaWxlIG9yIGRpcmVjdG9yeS4gRm9sbG93 CistICAgICAgICBzeW1ib2xpYyBsaW5rcy4KKy0KKy0gICAgICAgIFJldHVybiBhIG5hbWUgb2Yg dGhlIGZvcm0gYGByJ0RPTUFJTlxcVXNlciBOYW1lJ2BgOyBtYXkgYmUgYSBncm91cC4KKy0KKy0g ICAgICAgIC4uIHNlZWFsc286OiA6YXR0cjpgb3duZXJgCistICAgICAgICAiIiIKKy0gICAgICAg IGRlc2MgPSB3aW4zMnNlY3VyaXR5LkdldEZpbGVTZWN1cml0eSgKKy0gICAgICAgICAgICBzZWxm LCB3aW4zMnNlY3VyaXR5Lk9XTkVSX1NFQ1VSSVRZX0lORk9STUFUSU9OKQorLSAgICAgICAgc2lk ID0gZGVzYy5HZXRTZWN1cml0eURlc2NyaXB0b3JPd25lcigpCistICAgICAgICBhY2NvdW50LCBk b21haW4sIHR5cGVjb2RlID0gd2luMzJzZWN1cml0eS5Mb29rdXBBY2NvdW50U2lkKE5vbmUsIHNp ZCkKKy0gICAgICAgIHJldHVybiBkb21haW4gKyAnXFwnICsgYWNjb3VudAorLQorLSAgICBkZWYg X19nZXRfb3duZXJfdW5peChzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmV0dXJuIHRo ZSBuYW1lIG9mIHRoZSBvd25lciBvZiB0aGlzIGZpbGUgb3IgZGlyZWN0b3J5LiBGb2xsb3cKKy0g ICAgICAgIHN5bWJvbGljIGxpbmtzLgorLQorLSAgICAgICAgLi4gc2VlYWxzbzo6IDphdHRyOmBv d25lcmAKKy0gICAgICAgICIiIgorLSAgICAgICAgc3QgPSBzZWxmLnN0YXQoKQorLSAgICAgICAg cmV0dXJuIHB3ZC5nZXRwd3VpZChzdC5zdF91aWQpLnB3X25hbWUKKy0KKy0gICAgZGVmIF9fZ2V0 X293bmVyX25vdF9pbXBsZW1lbnRlZChzZWxmKToKKy0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVu dGVkRXJyb3IoIk93bmVyc2hpcCBub3QgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0uIikKKy0K Ky0gICAgaWYgJ3dpbjMyc2VjdXJpdHknIGluIGdsb2JhbHMoKToKKy0gICAgICAgIGdldF9vd25l ciA9IF9fZ2V0X293bmVyX3dpbmRvd3MKKy0gICAgZWxpZiAncHdkJyBpbiBnbG9iYWxzKCk6Cist ICAgICAgICBnZXRfb3duZXIgPSBfX2dldF9vd25lcl91bml4CistICAgIGVsc2U6CistICAgICAg ICBnZXRfb3duZXIgPSBfX2dldF9vd25lcl9ub3RfaW1wbGVtZW50ZWQKKy0KKy0gICAgb3duZXIg PSBwcm9wZXJ0eSgKKy0gICAgICAgIGdldF9vd25lciwgTm9uZSwgTm9uZSwKKy0gICAgICAgICIi IiBOYW1lIG9mIHRoZSBvd25lciBvZiB0aGlzIGZpbGUgb3IgZGlyZWN0b3J5LgorLQorLSAgICAg ICAgLi4gc2VlYWxzbzo6IDptZXRoOmBnZXRfb3duZXJgIiIiKQorLQorLSAgICBpZiBoYXNhdHRy KG9zLCAnc3RhdHZmcycpOgorLSAgICAgICAgZGVmIHN0YXR2ZnMoc2VsZik6CistICAgICAgICAg ICAgIiIiIFBlcmZvcm0gYSBgYHN0YXR2ZnMoKWBgIHN5c3RlbSBjYWxsIG9uIHRoaXMgcGF0aC4K Ky0KKy0gICAgICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLnN0YXR2ZnNgCistICAgICAg ICAgICAgIiIiCistICAgICAgICAgICAgcmV0dXJuIG9zLnN0YXR2ZnMoc2VsZikKKy0KKy0gICAg aWYgaGFzYXR0cihvcywgJ3BhdGhjb25mJyk6CistICAgICAgICBkZWYgcGF0aGNvbmYoc2VsZiwg bmFtZSk6CistICAgICAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucGF0aGNvbmZg ICIiIgorLSAgICAgICAgICAgIHJldHVybiBvcy5wYXRoY29uZihzZWxmLCBuYW1lKQorLQorLSAg ICAjCistICAgICMgLS0tIE1vZGlmeWluZyBvcGVyYXRpb25zIG9uIGZpbGVzIGFuZCBkaXJlY3Rv cmllcworLQorLSAgICBkZWYgdXRpbWUoc2VsZiwgdGltZXMpOgorLSAgICAgICAgIiIiIFNldCB0 aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lcyBvZiB0aGlzIGZpbGUuCistCistICAgICAgICAu LiBzZWVhbHNvOjogOmZ1bmM6YG9zLnV0aW1lYAorLSAgICAgICAgIiIiCistICAgICAgICBvcy51 dGltZShzZWxmLCB0aW1lcykKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiBjaG1v ZChzZWxmLCBtb2RlKToKKy0gICAgICAgICIiIgorLSAgICAgICAgU2V0IHRoZSBtb2RlLiBNYXkg YmUgdGhlIG5ldyBtb2RlIChvcy5jaG1vZCBiZWhhdmlvcikgb3IgYSBgc3ltYm9saWMKKy0gICAg ICAgIG1vZGUgPGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2htb2QjU3ltYm9saWNfbW9k ZXM+YF8uCistCistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLmNobW9kYAorLSAgICAg ICAgIiIiCistICAgICAgICBpZiBpc2luc3RhbmNlKG1vZGUsIHN0cmluZ190eXBlcyk6CistICAg ICAgICAgICAgbWFzayA9IF9tdWx0aV9wZXJtaXNzaW9uX21hc2sobW9kZSkKKy0gICAgICAgICAg ICBtb2RlID0gbWFzayhzZWxmLnN0YXQoKS5zdF9tb2RlKQorLSAgICAgICAgb3MuY2htb2Qoc2Vs ZiwgbW9kZSkKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiBjaG93bihzZWxmLCB1 aWQ9LTEsIGdpZD0tMSk6CistICAgICAgICAiIiIKKy0gICAgICAgIENoYW5nZSB0aGUgb3duZXIg YW5kIGdyb3VwIGJ5IG5hbWVzIHJhdGhlciB0aGFuIHRoZSB1aWQgb3IgZ2lkIG51bWJlcnMuCist CistICAgICAgICAuLiBzZWVhbHNvOjogOmZ1bmM6YG9zLmNob3duYAorLSAgICAgICAgIiIiCist ICAgICAgICBpZiBoYXNhdHRyKG9zLCAnY2hvd24nKToKKy0gICAgICAgICAgICBpZiAncHdkJyBp biBnbG9iYWxzKCkgYW5kIGlzaW5zdGFuY2UodWlkLCBzdHJpbmdfdHlwZXMpOgorLSAgICAgICAg ICAgICAgICB1aWQgPSBwd2QuZ2V0cHduYW0odWlkKS5wd191aWQKKy0gICAgICAgICAgICBpZiAn Z3JwJyBpbiBnbG9iYWxzKCkgYW5kIGlzaW5zdGFuY2UoZ2lkLCBzdHJpbmdfdHlwZXMpOgorLSAg ICAgICAgICAgICAgICBnaWQgPSBncnAuZ2V0Z3JuYW0oZ2lkKS5ncl9naWQKKy0gICAgICAgICAg ICBvcy5jaG93bihzZWxmLCB1aWQsIGdpZCkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAg cmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigiT3duZXJzaGlwIG5vdCBhdmFpbGFibGUgb24gdGhp cyBwbGF0Zm9ybS4iKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJlbmFtZShz ZWxmLCBuZXcpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MucmVuYW1lYCAi IiIKKy0gICAgICAgIG9zLnJlbmFtZShzZWxmLCBuZXcpCistICAgICAgICByZXR1cm4gc2VsZi5f bmV4dF9jbGFzcyhuZXcpCistCistICAgIGRlZiByZW5hbWVzKHNlbGYsIG5ldyk6CistICAgICAg ICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5yZW5hbWVzYCAiIiIKKy0gICAgICAgIG9zLnJl bmFtZXMoc2VsZiwgbmV3KQorLSAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MobmV3KQor LQorLSAgICAjCistICAgICMgLS0tIENyZWF0ZS9kZWxldGUgb3BlcmF0aW9ucyBvbiBkaXJlY3Rv cmllcworLQorLSAgICBkZWYgbWtkaXIoc2VsZiwgbW9kZT0wbzc3Nyk6CistICAgICAgICAiIiIg Li4gc2VlYWxzbzo6IDpmdW5jOmBvcy5ta2RpcmAgIiIiCistICAgICAgICBvcy5ta2RpcihzZWxm LCBtb2RlKQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIG1rZGlyX3Aoc2VsZiwg bW9kZT0wbzc3Nyk6CistICAgICAgICAiIiIgTGlrZSA6bWV0aDpgbWtkaXJgLCBidXQgZG9lcyBu b3QgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZQorLSAgICAgICAgZGlyZWN0b3J5IGFscmVhZHkg ZXhpc3RzLiAiIiIKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBzZWxmLm1rZGlyKG1vZGUp CistICAgICAgICBleGNlcHQgT1NFcnJvcjoKKy0gICAgICAgICAgICBfLCBlLCBfID0gc3lzLmV4 Y19pbmZvKCkKKy0gICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVFWElTVDoKKy0gICAg ICAgICAgICAgICAgcmFpc2UKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiBtYWtl ZGlycyhzZWxmLCBtb2RlPTBvNzc3KToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1bmM6 YG9zLm1ha2VkaXJzYCAiIiIKKy0gICAgICAgIG9zLm1ha2VkaXJzKHNlbGYsIG1vZGUpCistICAg ICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgbWFrZWRpcnNfcChzZWxmLCBtb2RlPTBvNzc3 KToKKy0gICAgICAgICIiIiBMaWtlIDptZXRoOmBtYWtlZGlyc2AsIGJ1dCBkb2VzIG5vdCByYWlz ZSBhbiBleGNlcHRpb24gaWYgdGhlCistICAgICAgICBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHMu ICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHNlbGYubWFrZWRpcnMobW9kZSkKKy0g ICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorLSAgICAgICAgICAgIF8sIGUsIF8gPSBzeXMuZXhjX2lu Zm8oKQorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgorLSAgICAgICAg ICAgICAgICByYWlzZQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJtZGlyKHNl bGYpOgorLSAgICAgICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3Mucm1kaXJgICIiIgorLSAg ICAgICAgb3Mucm1kaXIoc2VsZikKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiBy bWRpcl9wKHNlbGYpOgorLSAgICAgICAgIiIiIExpa2UgOm1ldGg6YHJtZGlyYCwgYnV0IGRvZXMg bm90IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUKKy0gICAgICAgIGRpcmVjdG9yeSBpcyBub3Qg ZW1wdHkgb3IgZG9lcyBub3QgZXhpc3QuICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAg IHNlbGYucm1kaXIoKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAgICAgICAgICAgXywg ZSwgXyA9IHN5cy5leGNfaW5mbygpCistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5F Tk9URU1QVFkgYW5kIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgorLSAgICAgICAgICAgICAgICBy YWlzZQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIHJlbW92ZWRpcnMoc2VsZik6 CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5yZW1vdmVkaXJzYCAiIiIKKy0g ICAgICAgIG9zLnJlbW92ZWRpcnMoc2VsZikKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAg IGRlZiByZW1vdmVkaXJzX3Aoc2VsZik6CistICAgICAgICAiIiIgTGlrZSA6bWV0aDpgcmVtb3Zl ZGlyc2AsIGJ1dCBkb2VzIG5vdCByYWlzZSBhbiBleGNlcHRpb24gaWYgdGhlCistICAgICAgICBk aXJlY3RvcnkgaXMgbm90IGVtcHR5IG9yIGRvZXMgbm90IGV4aXN0LiAiIiIKKy0gICAgICAgIHRy eToKKy0gICAgICAgICAgICBzZWxmLnJlbW92ZWRpcnMoKQorLSAgICAgICAgZXhjZXB0IE9TRXJy b3I6CistICAgICAgICAgICAgXywgZSwgXyA9IHN5cy5leGNfaW5mbygpCistICAgICAgICAgICAg aWYgZS5lcnJubyAhPSBlcnJuby5FTk9URU1QVFkgYW5kIGUuZXJybm8gIT0gZXJybm8uRUVYSVNU OgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAg IyAtLS0gTW9kaWZ5aW5nIG9wZXJhdGlvbnMgb24gZmlsZXMKKy0KKy0gICAgZGVmIHRvdWNoKHNl bGYpOgorLSAgICAgICAgIiIiIFNldCB0aGUgYWNjZXNzL21vZGlmaWVkIHRpbWVzIG9mIHRoaXMg ZmlsZSB0byB0aGUgY3VycmVudCB0aW1lLgorLSAgICAgICAgQ3JlYXRlIHRoZSBmaWxlIGlmIGl0 IGRvZXMgbm90IGV4aXN0LgorLSAgICAgICAgIiIiCistICAgICAgICBmZCA9IG9zLm9wZW4oc2Vs Ziwgb3MuT19XUk9OTFkgfCBvcy5PX0NSRUFULCAwbzY2NikKKy0gICAgICAgIG9zLmNsb3NlKGZk KQorLSAgICAgICAgb3MudXRpbWUoc2VsZiwgTm9uZSkKKy0gICAgICAgIHJldHVybiBzZWxmCist CistICAgIGRlZiByZW1vdmUoc2VsZik6CistICAgICAgICAiIiIgLi4gc2VlYWxzbzo6IDpmdW5j OmBvcy5yZW1vdmVgICIiIgorLSAgICAgICAgb3MucmVtb3ZlKHNlbGYpCistICAgICAgICByZXR1 cm4gc2VsZgorLQorLSAgICBkZWYgcmVtb3ZlX3Aoc2VsZik6CistICAgICAgICAiIiIgTGlrZSA6 bWV0aDpgcmVtb3ZlYCwgYnV0IGRvZXMgbm90IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUKKy0g ICAgICAgIGZpbGUgZG9lcyBub3QgZXhpc3QuICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAg ICAgIHNlbGYudW5saW5rKCkKKy0gICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorLSAgICAgICAgICAg IF8sIGUsIF8gPSBzeXMuZXhjX2luZm8oKQorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJy bm8uRU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgcmV0dXJuIHNlbGYK Ky0KKy0gICAgZGVmIHVubGluayhzZWxmKToKKy0gICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1 bmM6YG9zLnVubGlua2AgIiIiCistICAgICAgICBvcy51bmxpbmsoc2VsZikKKy0gICAgICAgIHJl dHVybiBzZWxmCistCistICAgIGRlZiB1bmxpbmtfcChzZWxmKToKKy0gICAgICAgICIiIiBMaWtl IDptZXRoOmB1bmxpbmtgLCBidXQgZG9lcyBub3QgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIHRoZQor LSAgICAgICAgZmlsZSBkb2VzIG5vdCBleGlzdC4gIiIiCistICAgICAgICBzZWxmLnJlbW92ZV9w KCkKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgICMgLS0tIExpbmtzCistCistICAgIGlm IGhhc2F0dHIob3MsICdsaW5rJyk6CistICAgICAgICBkZWYgbGluayhzZWxmLCBuZXdwYXRoKToK Ky0gICAgICAgICAgICAiIiIgQ3JlYXRlIGEgaGFyZCBsaW5rIGF0IGBuZXdwYXRoYCwgcG9pbnRp bmcgdG8gdGhpcyBmaWxlLgorLQorLSAgICAgICAgICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgb3Mu bGlua2AKKy0gICAgICAgICAgICAiIiIKKy0gICAgICAgICAgICBvcy5saW5rKHNlbGYsIG5ld3Bh dGgpCistICAgICAgICAgICAgcmV0dXJuIHNlbGYuX25leHRfY2xhc3MobmV3cGF0aCkKKy0KKy0g ICAgaWYgaGFzYXR0cihvcywgJ3N5bWxpbmsnKToKKy0gICAgICAgIGRlZiBzeW1saW5rKHNlbGYs IG5ld2xpbmspOgorLSAgICAgICAgICAgICIiIiBDcmVhdGUgYSBzeW1ib2xpYyBsaW5rIGF0IGBu ZXdsaW5rYCwgcG9pbnRpbmcgaGVyZS4KKy0KKy0gICAgICAgICAgICAuLiBzZWVhbHNvOjogOmZ1 bmM6YG9zLnN5bWxpbmtgCistICAgICAgICAgICAgIiIiCistICAgICAgICAgICAgb3Muc3ltbGlu ayhzZWxmLCBuZXdsaW5rKQorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9uZXh0X2NsYXNzKG5l d2xpbmspCistCistICAgIGlmIGhhc2F0dHIob3MsICdyZWFkbGluaycpOgorLSAgICAgICAgZGVm IHJlYWRsaW5rKHNlbGYpOgorLSAgICAgICAgICAgICIiIiBSZXR1cm4gdGhlIHBhdGggdG8gd2hp Y2ggdGhpcyBzeW1ib2xpYyBsaW5rIHBvaW50cy4KKy0KKy0gICAgICAgICAgICBUaGUgcmVzdWx0 IG1heSBiZSBhbiBhYnNvbHV0ZSBvciBhIHJlbGF0aXZlIHBhdGguCistCistICAgICAgICAgICAg Li4gc2VlYWxzbzo6IDptZXRoOmByZWFkbGlua2Fic2AsIDpmdW5jOmBvcy5yZWFkbGlua2AKKy0g ICAgICAgICAgICAiIiIKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5fbmV4dF9jbGFzcyhvcy5y ZWFkbGluayhzZWxmKSkKKy0KKy0gICAgICAgIGRlZiByZWFkbGlua2FicyhzZWxmKToKKy0gICAg ICAgICAgICAiIiIgUmV0dXJuIHRoZSBwYXRoIHRvIHdoaWNoIHRoaXMgc3ltYm9saWMgbGluayBw b2ludHMuCistCistICAgICAgICAgICAgVGhlIHJlc3VsdCBpcyBhbHdheXMgYW4gYWJzb2x1dGUg cGF0aC4KKy0KKy0gICAgICAgICAgICAuLiBzZWVhbHNvOjogOm1ldGg6YHJlYWRsaW5rYCwgOmZ1 bmM6YG9zLnJlYWRsaW5rYAorLSAgICAgICAgICAgICIiIgorLSAgICAgICAgICAgIHAgPSBzZWxm LnJlYWRsaW5rKCkKKy0gICAgICAgICAgICBpZiBwLmlzYWJzKCk6CistICAgICAgICAgICAgICAg IHJldHVybiBwCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgcmV0dXJuIChz ZWxmLnBhcmVudCAvIHApLmFic3BhdGgoKQorLQorLSAgICAjIEhpZ2gtbGV2ZWwgZnVuY3Rpb25z IGZyb20gc2h1dGlsCistICAgICMgVGhlc2UgZnVuY3Rpb25zIHdpbGwgYmUgYm91bmQgdG8gdGhl IGluc3RhbmNlIHN1Y2ggdGhhdAorLSAgICAjIFBhdGgobmFtZSkuY29weSh0YXJnZXQpIHdpbGwg aW52b2tlIHNodXRpbC5jb3B5KG5hbWUsIHRhcmdldCkKKy0KKy0gICAgY29weWZpbGUgPSBzaHV0 aWwuY29weWZpbGUKKy0gICAgY29weW1vZGUgPSBzaHV0aWwuY29weW1vZGUKKy0gICAgY29weXN0 YXQgPSBzaHV0aWwuY29weXN0YXQKKy0gICAgY29weSA9IHNodXRpbC5jb3B5CistICAgIGNvcHky ID0gc2h1dGlsLmNvcHkyCistICAgIGNvcHl0cmVlID0gc2h1dGlsLmNvcHl0cmVlCistICAgIGlm IGhhc2F0dHIoc2h1dGlsLCAnbW92ZScpOgorLSAgICAgICAgbW92ZSA9IHNodXRpbC5tb3ZlCist ICAgIHJtdHJlZSA9IHNodXRpbC5ybXRyZWUKKy0KKy0gICAgZGVmIHJtdHJlZV9wKHNlbGYpOgor LSAgICAgICAgIiIiIExpa2UgOm1ldGg6YHJtdHJlZWAsIGJ1dCBkb2VzIG5vdCByYWlzZSBhbiBl eGNlcHRpb24gaWYgdGhlCistICAgICAgICBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuICIiIgor LSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHNlbGYucm10cmVlKCkKKy0gICAgICAgIGV4Y2Vw dCBPU0Vycm9yOgorLSAgICAgICAgICAgIF8sIGUsIF8gPSBzeXMuZXhjX2luZm8oKQorLSAgICAg ICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlz ZQorLSAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgZGVmIGNoZGlyKHNlbGYpOgorLSAgICAg ICAgIiIiIC4uIHNlZWFsc286OiA6ZnVuYzpgb3MuY2hkaXJgICIiIgorLSAgICAgICAgb3MuY2hk aXIoc2VsZikKKy0KKy0gICAgY2QgPSBjaGRpcgorLQorLSAgICBkZWYgbWVyZ2VfdHJlZShzZWxm LCBkc3QsIHN5bWxpbmtzPUZhbHNlLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAgIiIiCist ICAgICAgICBDb3B5IGVudGlyZSBjb250ZW50cyBvZiBzZWxmIHRvIGRzdCwgb3ZlcndyaXRpbmcg ZXhpc3RpbmcKKy0gICAgICAgIGNvbnRlbnRzIGluIGRzdCB3aXRoIHRob3NlIGluIHNlbGYuCist CistICAgICAgICBJZiB0aGUgYWRkaXRpb25hbCBrZXl3b3JkIGB1cGRhdGVgIGlzIFRydWUsIGVh Y2gKKy0gICAgICAgIGBzcmNgIHdpbGwgb25seSBiZSBjb3BpZWQgaWYgYGRzdGAgZG9lcyBub3Qg ZXhpc3QsCistICAgICAgICBvciBgc3JjYCBpcyBuZXdlciB0aGFuIGBkc3RgLgorLQorLSAgICAg ICAgTm90ZSB0aGF0IHRoZSB0ZWNobmlxdWUgZW1wbG95ZWQgc3RhZ2VzIHRoZSBmaWxlcyBpbiBh IHRlbXBvcmFyeQorLSAgICAgICAgZGlyZWN0b3J5IGZpcnN0LCBzbyB0aGlzIGZ1bmN0aW9uIGlz IG5vdCBzdWl0YWJsZSBmb3IgbWVyZ2luZworLSAgICAgICAgdHJlZXMgd2l0aCBsYXJnZSBmaWxl cywgZXNwZWNpYWxseSBpZiB0aGUgdGVtcG9yYXJ5IGRpcmVjdG9yeQorLSAgICAgICAgaXMgbm90 IGNhcGFibGUgb2Ygc3RvcmluZyBhIGNvcHkgb2YgdGhlIGVudGlyZSBzb3VyY2UgdHJlZS4KKy0g ICAgICAgICIiIgorLSAgICAgICAgdXBkYXRlID0ga3dhcmdzLnBvcCgndXBkYXRlJywgRmFsc2Up CistICAgICAgICB3aXRoIHRlbXBkaXIoKSBhcyBfdGVtcF9kaXI6CistICAgICAgICAgICAgIyBm aXJzdCBjb3B5IHRoZSB0cmVlIHRvIGEgc3RhZ2UgZGlyZWN0b3J5IHRvIHN1cHBvcnQKKy0gICAg ICAgICAgICAjICB0aGUgcGFyYW1ldGVycyBhbmQgYmVoYXZpb3Igb2YgY29weXRyZWUuCistICAg ICAgICAgICAgc3RhZ2UgPSBfdGVtcF9kaXIgLyBzdHIoaGFzaChzZWxmKSkKKy0gICAgICAgICAg ICBzZWxmLmNvcHl0cmVlKHN0YWdlLCBzeW1saW5rcywgKmFyZ3MsICoqa3dhcmdzKQorLSAgICAg ICAgICAgICMgbm93IGNvcHkgZXZlcnl0aGluZyBmcm9tIHRoZSBzdGFnZSBkaXJlY3RvcnkgdXNp bmcKKy0gICAgICAgICAgICAjICB0aGUgc2VtYW50aWNzIG9mIGRpcl91dGlsLmNvcHlfdHJlZQor LSAgICAgICAgICAgIGRpcl91dGlsLmNvcHlfdHJlZShzdGFnZSwgZHN0LCBwcmVzZXJ2ZV9zeW1s aW5rcz1zeW1saW5rcywKKy0gICAgICAgICAgICAgICAgdXBkYXRlPXVwZGF0ZSkKKy0KKy0gICAg IworLSAgICAjIC0tLSBTcGVjaWFsIHN0dWZmIGZyb20gb3MKKy0KKy0gICAgaWYgaGFzYXR0cihv cywgJ2Nocm9vdCcpOgorLSAgICAgICAgZGVmIGNocm9vdChzZWxmKToKKy0gICAgICAgICAgICAi IiIgLi4gc2VlYWxzbzo6IDpmdW5jOmBvcy5jaHJvb3RgICIiIgorLSAgICAgICAgICAgIG9zLmNo cm9vdChzZWxmKQorLQorLSAgICBpZiBoYXNhdHRyKG9zLCAnc3RhcnRmaWxlJyk6CistICAgICAg ICBkZWYgc3RhcnRmaWxlKHNlbGYpOgorLSAgICAgICAgICAgICIiIiAuLiBzZWVhbHNvOjogOmZ1 bmM6YG9zLnN0YXJ0ZmlsZWAgIiIiCistICAgICAgICAgICAgb3Muc3RhcnRmaWxlKHNlbGYpCist ICAgICAgICAgICAgcmV0dXJuIHNlbGYKKy0KKy0gICAgIyBpbi1wbGFjZSByZS13cml0aW5nLCBj b3VydGVzeSBvZiBNYXJ0aWpuIFBpZXRlcnMKKy0gICAgIyBodHRwOi8vd3d3LnpvcGF0aXN0YS5j b20vcHl0aG9uLzIwMTMvMTEvMjYvaW5wbGFjZS1maWxlLXJld3JpdGluZy8KKy0gICAgQGNvbnRl eHRsaWIuY29udGV4dG1hbmFnZXIKKy0gICAgZGVmIGluX3BsYWNlKHNlbGYsIG1vZGU9J3InLCBi dWZmZXJpbmc9LTEsIGVuY29kaW5nPU5vbmUsIGVycm9ycz1Ob25lLAorLSAgICAgICAgICAgIG5l d2xpbmU9Tm9uZSwgYmFja3VwX2V4dGVuc2lvbj1Ob25lKToKKy0gICAgICAgICIiIgorLSAgICAg ICAgQSBjb250ZXh0IGluIHdoaWNoIGEgZmlsZSBtYXkgYmUgcmUtd3JpdHRlbiBpbi1wbGFjZSB3 aXRoIG5ldyBjb250ZW50LgorLQorLSAgICAgICAgWWllbGRzIGEgdHVwbGUgb2YgOnNhbXA6YCh7 cmVhZGFibGV9LCB7d3JpdGFibGV9KWAgZmlsZSBvYmplY3RzLCB3aGVyZSBgd3JpdGFibGVgCist ICAgICAgICByZXBsYWNlcyBgcmVhZGFibGVgLgorLQorLSAgICAgICAgSWYgYW4gZXhjZXB0aW9u IG9jY3VycywgdGhlIG9sZCBmaWxlIGlzIHJlc3RvcmVkLCByZW1vdmluZyB0aGUKKy0gICAgICAg IHdyaXR0ZW4gZGF0YS4KKy0KKy0gICAgICAgIE1vZGUgKm11c3Qgbm90KiB1c2UgYGAndydgYCwg YGAnYSdgYCwgb3IgYGAnKydgYDsgb25seSByZWFkLW9ubHktbW9kZXMgYXJlCistICAgICAgICBh bGxvd2VkLiBBIDpleGM6YFZhbHVlRXJyb3JgIGlzIHJhaXNlZCBvbiBpbnZhbGlkIG1vZGVzLgor LQorLSAgICAgICAgRm9yIGV4YW1wbGUsIHRvIGFkZCBsaW5lIG51bWJlcnMgdG8gYSBmaWxlOjoK Ky0KKy0gICAgICAgICAgICBwID0gUGF0aChmaWxlbmFtZSkKKy0gICAgICAgICAgICBhc3NlcnQg cC5pc2ZpbGUoKQorLSAgICAgICAgICAgIHdpdGggcC5pbl9wbGFjZSgpIGFzIChyZWFkZXIsIHdy aXRlcik6CistICAgICAgICAgICAgICAgIGZvciBudW1iZXIsIGxpbmUgaW4gZW51bWVyYXRlKHJl YWRlciwgMSk6CistICAgICAgICAgICAgICAgICAgICB3cml0ZXIud3JpdGUoJ3swOjN9OiAnLmZv cm1hdChudW1iZXIpKSkKKy0gICAgICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZShsaW5lKQor LQorLSAgICAgICAgVGhlcmVhZnRlciwgdGhlIGZpbGUgYXQgYGZpbGVuYW1lYCB3aWxsIGhhdmUg bGluZSBudW1iZXJzIGluIGl0LgorLSAgICAgICAgIiIiCistICAgICAgICBpbXBvcnQgaW8KKy0K Ky0gICAgICAgIGlmIHNldChtb2RlKS5pbnRlcnNlY3Rpb24oJ3dhKycpOgorLSAgICAgICAgICAg IHJhaXNlIFZhbHVlRXJyb3IoJ09ubHkgcmVhZC1vbmx5IGZpbGUgbW9kZXMgY2FuIGJlIHVzZWQn KQorLQorLSAgICAgICAgIyBtb3ZlIGV4aXN0aW5nIGZpbGUgdG8gYmFja3VwLCBjcmVhdGUgbmV3 IGZpbGUgd2l0aCBzYW1lIHBlcm1pc3Npb25zCistICAgICAgICAjIGJvcnJvd2VkIGV4dGVuc2l2 ZWx5IGZyb20gdGhlIGZpbGVpbnB1dCBtb2R1bGUKKy0gICAgICAgIGJhY2t1cF9mbiA9IHNlbGYg KyAoYmFja3VwX2V4dGVuc2lvbiBvciBvcy5leHRzZXAgKyAnYmFrJykKKy0gICAgICAgIHRyeToK Ky0gICAgICAgICAgICBvcy51bmxpbmsoYmFja3VwX2ZuKQorLSAgICAgICAgZXhjZXB0IG9zLmVy cm9yOgorLSAgICAgICAgICAgIHBhc3MKKy0gICAgICAgIG9zLnJlbmFtZShzZWxmLCBiYWNrdXBf Zm4pCistICAgICAgICByZWFkYWJsZSA9IGlvLm9wZW4oYmFja3VwX2ZuLCBtb2RlLCBidWZmZXJp bmc9YnVmZmVyaW5nLAorLSAgICAgICAgICAgIGVuY29kaW5nPWVuY29kaW5nLCBlcnJvcnM9ZXJy b3JzLCBuZXdsaW5lPW5ld2xpbmUpCistICAgICAgICB0cnk6CistICAgICAgICAgICAgcGVybSA9 IG9zLmZzdGF0KHJlYWRhYmxlLmZpbGVubygpKS5zdF9tb2RlCistICAgICAgICBleGNlcHQgT1NF cnJvcjoKKy0gICAgICAgICAgICB3cml0YWJsZSA9IG9wZW4oc2VsZiwgJ3cnICsgbW9kZS5yZXBs YWNlKCdyJywgJycpLAorLSAgICAgICAgICAgICAgICBidWZmZXJpbmc9YnVmZmVyaW5nLCBlbmNv ZGluZz1lbmNvZGluZywgZXJyb3JzPWVycm9ycywKKy0gICAgICAgICAgICAgICAgbmV3bGluZT1u ZXdsaW5lKQorLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBvc19tb2RlID0gb3MuT19DUkVB VCB8IG9zLk9fV1JPTkxZIHwgb3MuT19UUlVOQworLSAgICAgICAgICAgIGlmIGhhc2F0dHIob3Ms ICdPX0JJTkFSWScpOgorLSAgICAgICAgICAgICAgICBvc19tb2RlIHw9IG9zLk9fQklOQVJZCist ICAgICAgICAgICAgZmQgPSBvcy5vcGVuKHNlbGYsIG9zX21vZGUsIHBlcm0pCistICAgICAgICAg ICAgd3JpdGFibGUgPSBpby5vcGVuKGZkLCAidyIgKyBtb2RlLnJlcGxhY2UoJ3InLCAnJyksCist ICAgICAgICAgICAgICAgIGJ1ZmZlcmluZz1idWZmZXJpbmcsIGVuY29kaW5nPWVuY29kaW5nLCBl cnJvcnM9ZXJyb3JzLAorLSAgICAgICAgICAgICAgICBuZXdsaW5lPW5ld2xpbmUpCistICAgICAg ICAgICAgdHJ5OgorLSAgICAgICAgICAgICAgICBpZiBoYXNhdHRyKG9zLCAnY2htb2QnKToKKy0g ICAgICAgICAgICAgICAgICAgIG9zLmNobW9kKHNlbGYsIHBlcm0pCistICAgICAgICAgICAgZXhj ZXB0IE9TRXJyb3I6CistICAgICAgICAgICAgICAgIHBhc3MKKy0gICAgICAgIHRyeToKKy0gICAg ICAgICAgICB5aWVsZCByZWFkYWJsZSwgd3JpdGFibGUKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRp b246CistICAgICAgICAgICAgIyBtb3ZlIGJhY2t1cCBiYWNrCistICAgICAgICAgICAgcmVhZGFi bGUuY2xvc2UoKQorLSAgICAgICAgICAgIHdyaXRhYmxlLmNsb3NlKCkKKy0gICAgICAgICAgICB0 cnk6CistICAgICAgICAgICAgICAgIG9zLnVubGluayhzZWxmKQorLSAgICAgICAgICAgIGV4Y2Vw dCBvcy5lcnJvcjoKKy0gICAgICAgICAgICAgICAgcGFzcworLSAgICAgICAgICAgIG9zLnJlbmFt ZShiYWNrdXBfZm4sIHNlbGYpCistICAgICAgICAgICAgcmFpc2UKKy0gICAgICAgIGVsc2U6Cist ICAgICAgICAgICAgcmVhZGFibGUuY2xvc2UoKQorLSAgICAgICAgICAgIHdyaXRhYmxlLmNsb3Nl KCkKKy0gICAgICAgIGZpbmFsbHk6CistICAgICAgICAgICAgdHJ5OgorLSAgICAgICAgICAgICAg ICBvcy51bmxpbmsoYmFja3VwX2ZuKQorLSAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKy0g ICAgICAgICAgICAgICAgcGFzcworLQorLSAgICBAQ2xhc3NQcm9wZXJ0eQorLSAgICBAY2xhc3Nt ZXRob2QKKy0gICAgZGVmIHNwZWNpYWwoY2xzKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmV0 dXJuIGEgU3BlY2lhbFJlc29sdmVyIG9iamVjdCBzdWl0YWJsZSByZWZlcmVuY2luZyBhIHN1aXRh YmxlCistICAgICAgICBkaXJlY3RvcnkgZm9yIHRoZSByZWxldmFudCBwbGF0Zm9ybSBmb3IgdGhl IGdpdmVuCistICAgICAgICB0eXBlIG9mIGNvbnRlbnQuCistCistICAgICAgICBGb3IgZXhhbXBs ZSwgdG8gZ2V0IGEgdXNlciBjb25maWcgZGlyZWN0b3J5LCBpbnZva2U6CistCistICAgICAgICAg ICAgZGlyID0gUGF0aC5zcGVjaWFsKCkudXNlci5jb25maWcKKy0KKy0gICAgICAgIFVzZXMgdGhl IGBhcHBkaXJzCistICAgICAgICA8aHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9hcHBkaXJz LzEuNC4wPmBfIHRvIHJlc29sdmUKKy0gICAgICAgIHRoZSBwYXRocyBpbiBhIHBsYXRmb3JtLWZy aWVuZGx5IHdheS4KKy0KKy0gICAgICAgIFRvIGNyZWF0ZSBhIGNvbmZpZyBkaXJlY3RvcnkgZm9y ICdNeSBBcHAnLCBjb25zaWRlcjoKKy0KKy0gICAgICAgICAgICBkaXIgPSBQYXRoLnNwZWNpYWwo Ik15IEFwcCIpLnVzZXIuY29uZmlnLm1ha2VkaXJzX3AoKQorLQorLSAgICAgICAgSWYgdGhlIGBg YXBwZGlyc2BgIG1vZHVsZSBpcyBub3QgaW5zdGFsbGVkLCBpbnZvY2F0aW9uCistICAgICAgICBv ZiBzcGVjaWFsIHdpbGwgcmFpc2UgYW4gSW1wb3J0RXJyb3IuCistICAgICAgICAiIiIKKy0gICAg ICAgIHJldHVybiBmdW5jdG9vbHMucGFydGlhbChTcGVjaWFsUmVzb2x2ZXIsIGNscykKKy0KKy0K Ky1jbGFzcyBTcGVjaWFsUmVzb2x2ZXIob2JqZWN0KToKKy0gICAgY2xhc3MgUmVzb2x2ZXJTY29w ZToKKy0gICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRocywgc2NvcGUpOgorLSAgICAgICAg ICAgIHNlbGYucGF0aHMgPSBwYXRocworLSAgICAgICAgICAgIHNlbGYuc2NvcGUgPSBzY29wZQor LQorLSAgICAgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGNsYXNzXyk6CistICAgICAgICAgICAg cmV0dXJuIHNlbGYucGF0aHMuZ2V0X2RpcihzZWxmLnNjb3BlLCBjbGFzc18pCistCistICAgIGRl ZiBfX2luaXRfXyhzZWxmLCBwYXRoX2NsYXNzLCAqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAg YXBwZGlycyA9IGltcG9ydGxpYi5pbXBvcnRfbW9kdWxlKCdhcHBkaXJzJykKKy0KKy0gICAgICAg ICMgbGV0IGFwcG5hbWUgZGVmYXVsdCB0byBOb25lIHVudGlsCistICAgICAgICAjIGh0dHBzOi8v Z2l0aHViLmNvbS9BY3RpdmVTdGF0ZS9hcHBkaXJzL2lzc3Vlcy81NSBpcyBzb2x2ZWQuCistICAg ICAgICBub3QgYXJncyBhbmQga3dhcmdzLnNldGRlZmF1bHQoJ2FwcG5hbWUnLCBOb25lKQorLQor LSAgICAgICAgdmFycyhzZWxmKS51cGRhdGUoCistICAgICAgICAgICAgcGF0aF9jbGFzcz1wYXRo X2NsYXNzLAorLSAgICAgICAgICAgIHdyYXBwZXI9YXBwZGlycy5BcHBEaXJzKCphcmdzLCAqKmt3 YXJncyksCistICAgICAgICApCistCistICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBzY29wZSk6 CistICAgICAgICByZXR1cm4gc2VsZi5SZXNvbHZlclNjb3BlKHNlbGYsIHNjb3BlKQorLQorLSAg ICBkZWYgZ2V0X2RpcihzZWxmLCBzY29wZSwgY2xhc3NfKToKKy0gICAgICAgICIiIgorLSAgICAg ICAgUmV0dXJuIHRoZSBjYWxsYWJsZSBmdW5jdGlvbiBmcm9tIGFwcGRpcnMsIGJ1dCB3aXRoIHRo ZQorLSAgICAgICAgcmVzdWx0IHdyYXBwZWQgaW4gc2VsZi5wYXRoX2NsYXNzCistICAgICAgICAi IiIKKy0gICAgICAgIHByb3BfbmFtZSA9ICd7c2NvcGV9X3tjbGFzc199X2RpcicuZm9ybWF0KCoq bG9jYWxzKCkpCistICAgICAgICB2YWx1ZSA9IGdldGF0dHIoc2VsZi53cmFwcGVyLCBwcm9wX25h bWUpCistICAgICAgICBNdWx0aVBhdGggPSBNdWx0aS5mb3JfY2xhc3Moc2VsZi5wYXRoX2NsYXNz KQorLSAgICAgICAgcmV0dXJuIE11bHRpUGF0aC5kZXRlY3QodmFsdWUpCistCistCistY2xhc3Mg TXVsdGk6CistICAgICIiIgorLSAgICBBIG1peC1pbiBmb3IgYSBQYXRoIHdoaWNoIG1heSBjb250 YWluIG11bHRpcGxlIFBhdGggc2VwYXJhdGVkIGJ5IHBhdGhzZXAuCistICAgICIiIgorLSAgICBA Y2xhc3NtZXRob2QKKy0gICAgZGVmIGZvcl9jbGFzcyhjbHMsIHBhdGhfY2xzKToKKy0gICAgICAg IG5hbWUgPSAnTXVsdGknICsgcGF0aF9jbHMuX19uYW1lX18KKy0gICAgICAgIGlmIFBZMjoKKy0g ICAgICAgICAgICBuYW1lID0gc3RyKG5hbWUpCistICAgICAgICByZXR1cm4gdHlwZShuYW1lLCAo Y2xzLCBwYXRoX2NscyksIHt9KQorLQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIGRldGVj dChjbHMsIGlucHV0KToKKy0gICAgICAgIGlmIG9zLnBhdGhzZXAgbm90IGluIGlucHV0OgorLSAg ICAgICAgICAgIGNscyA9IGNscy5fbmV4dF9jbGFzcworLSAgICAgICAgcmV0dXJuIGNscyhpbnB1 dCkKKy0KKy0gICAgZGVmIF9faXRlcl9fKHNlbGYpOgorLSAgICAgICAgcmV0dXJuIGl0ZXIobWFw KHNlbGYuX25leHRfY2xhc3MsIHNlbGYuc3BsaXQob3MucGF0aHNlcCkpKQorLQorLSAgICBAQ2xh c3NQcm9wZXJ0eQorLSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIF9uZXh0X2NsYXNzKGNscyk6 CistICAgICAgICAiIiIKKy0gICAgICAgIE11bHRpLXN1YmNsYXNzZXMgc2hvdWxkIHVzZSB0aGUg cGFyZW50IGNsYXNzCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBuZXh0KAorLSAgICAg ICAgICAgIGNsYXNzXworLSAgICAgICAgICAgIGZvciBjbGFzc18gaW4gY2xzLl9fbXJvX18KKy0g ICAgICAgICAgICBpZiBub3QgaXNzdWJjbGFzcyhjbGFzc18sIE11bHRpKQorLSAgICAgICAgKQor LQorLQorLWNsYXNzIHRlbXBkaXIoUGF0aCk6CistICAgICIiIgorLSAgICBBIHRlbXBvcmFyeSBk aXJlY3RvcnkgdmlhIDpmdW5jOmB0ZW1wZmlsZS5ta2R0ZW1wYCwgYW5kIGNvbnN0cnVjdGVkIHdp dGggdGhlCistICAgIHNhbWUgcGFyYW1ldGVycyB0aGF0IHlvdSBjYW4gdXNlIGFzIGEgY29udGV4 dCBtYW5hZ2VyLgorLQorLSAgICBFeGFtcGxlOgorLQorLSAgICAgICAgd2l0aCB0ZW1wZGlyKCkg YXMgZDoKKy0gICAgICAgICAgICAjIGRvIHN0dWZmIHdpdGggdGhlIFBhdGggb2JqZWN0ICJkIgor LQorLSAgICAgICAgIyBoZXJlIHRoZSBkaXJlY3RvcnkgaXMgZGVsZXRlZCBhdXRvbWF0aWNhbGx5 CistCistICAgIC4uIHNlZWFsc286OiA6ZnVuYzpgdGVtcGZpbGUubWtkdGVtcGAKKy0gICAgIiIi CistCistICAgIEBDbGFzc1Byb3BlcnR5CistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgX25l eHRfY2xhc3MoY2xzKToKKy0gICAgICAgIHJldHVybiBQYXRoCistCistICAgIGRlZiBfX25ld19f KGNscywgKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgICAgIGRpcm5hbWUgPSB0ZW1wZmlsZS5ta2R0 ZW1wKCphcmdzLCAqKmt3YXJncykKKy0gICAgICAgIHJldHVybiBzdXBlcih0ZW1wZGlyLCBjbHMp Ll9fbmV3X18oY2xzLCBkaXJuYW1lKQorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3Ms ICoqa3dhcmdzKToKKy0gICAgICAgIHBhc3MKKy0KKy0gICAgZGVmIF9fZW50ZXJfXyhzZWxmKToK Ky0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIGRlZiBfX2V4aXRfXyhzZWxmLCBleGNfdHlw ZSwgZXhjX3ZhbHVlLCB0cmFjZWJhY2spOgorLSAgICAgICAgaWYgbm90IGV4Y192YWx1ZToKKy0g ICAgICAgICAgICBzZWxmLnJtdHJlZSgpCistCistCistZGVmIF9tdWx0aV9wZXJtaXNzaW9uX21h c2sobW9kZSk6CistICAgICIiIgorLSAgICBTdXBwb3J0IG11bHRpcGxlLCBjb21tYS1zZXBhcmF0 ZWQgVW5peCBjaG1vZCBzeW1ib2xpYyBtb2Rlcy4KKy0KKy0gICAgPj4+IF9tdWx0aV9wZXJtaXNz aW9uX21hc2soJ2E9cix1K3cnKSgwKSA9PSAwbzY0NAorLSAgICBUcnVlCistICAgICIiIgorLSAg ICBjb21wb3NlID0gbGFtYmRhIGYsIGc6IGxhbWJkYSAqYXJncywgKiprd2FyZ3M6IGcoZigqYXJn cywgKiprd2FyZ3MpKQorLSAgICByZXR1cm4gZnVuY3Rvb2xzLnJlZHVjZShjb21wb3NlLCBtYXAo X3Blcm1pc3Npb25fbWFzaywgbW9kZS5zcGxpdCgnLCcpKSkKKy0KKy0KKy1kZWYgX3Blcm1pc3Np b25fbWFzayhtb2RlKToKKy0gICAgIiIiCistICAgIENvbnZlcnQgYSBVbml4IGNobW9kIHN5bWJv bGljIG1vZGUgbGlrZSBgYCd1Z28rcnd4J2BgIHRvIGEgZnVuY3Rpb24KKy0gICAgc3VpdGFibGUg Zm9yIGFwcGx5aW5nIHRvIGEgbWFzayB0byBhZmZlY3QgdGhhdCBjaGFuZ2UuCistCistICAgID4+ PiBtYXNrID0gX3Blcm1pc3Npb25fbWFzaygndWdvK3J3eCcpCistICAgID4+PiBtYXNrKDBvNTU0 KSA9PSAwbzc3NworLSAgICBUcnVlCistCistICAgID4+PiBfcGVybWlzc2lvbl9tYXNrKCdnby14 JykoMG83NzcpID09IDBvNzY2CistICAgIFRydWUKKy0KKy0gICAgPj4+IF9wZXJtaXNzaW9uX21h c2soJ28teCcpKDBvNDQ1KSA9PSAwbzQ0NAorLSAgICBUcnVlCistCistICAgID4+PiBfcGVybWlz c2lvbl9tYXNrKCdhK3gnKSgwKSA9PSAwbzExMQorLSAgICBUcnVlCistCistICAgID4+PiBfcGVy bWlzc2lvbl9tYXNrKCdhPXJ3JykoMG8wNTcpID09IDBvNjY2CistICAgIFRydWUKKy0KKy0gICAg Pj4+IF9wZXJtaXNzaW9uX21hc2soJ3U9eCcpKDBvNjY2KSA9PSAwbzE2NgorLSAgICBUcnVlCist CistICAgID4+PiBfcGVybWlzc2lvbl9tYXNrKCdnPScpKDBvMTU3KSA9PSAwbzEwNworLSAgICBU cnVlCistICAgICIiIgorLSAgICAjIHBhcnNlIHRoZSBzeW1ib2xpYyBtb2RlCistICAgIHBhcnNl ZCA9IHJlLm1hdGNoKCcoP1A8d2hvPlt1Z29hXSspKD9QPG9wPlstKz1dKSg/UDx3aGF0Pltyd3hd KikkJywgbW9kZSkKKy0gICAgaWYgbm90IHBhcnNlZDoKKy0gICAgICAgIHJhaXNlIFZhbHVlRXJy b3IoIlVucmVjb2duaXplZCBzeW1ib2xpYyBtb2RlIiwgbW9kZSkKKy0KKy0gICAgIyBnZW5lcmF0 ZSBhIG1hc2sgcmVwcmVzZW50aW5nIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbgorLSAgICBzcGVj X21hcCA9IGRpY3Qocj00LCB3PTIsIHg9MSkKKy0gICAgc3BlY3MgPSAoc3BlY19tYXBbcGVybV0g Zm9yIHBlcm0gaW4gcGFyc2VkLmdyb3VwKCd3aGF0JykpCistICAgIHNwZWMgPSBmdW5jdG9vbHMu cmVkdWNlKG9wZXJhdG9yLm9yXywgc3BlY3MsIDApCistCistICAgICMgbm93IGFwcGx5IHNwZWMg dG8gZWFjaCBzdWJqZWN0IGluIHdobworLSAgICBzaGlmdF9tYXAgPSBkaWN0KHU9NiwgZz0zLCBv PTApCistICAgIHdobyA9IHBhcnNlZC5ncm91cCgnd2hvJykucmVwbGFjZSgnYScsICd1Z28nKQor LSAgICBtYXNrcyA9IChzcGVjIDw8IHNoaWZ0X21hcFtzdWJqXSBmb3Igc3ViaiBpbiB3aG8pCist ICAgIG1hc2sgPSBmdW5jdG9vbHMucmVkdWNlKG9wZXJhdG9yLm9yXywgbWFza3MpCistCistICAg IG9wID0gcGFyc2VkLmdyb3VwKCdvcCcpCistCistICAgICMgaWYgb3AgaXMgLSwgaW52ZXJ0IHRo ZSBtYXNrCistICAgIGlmIG9wID09ICctJzoKKy0gICAgICAgIG1hc2sgXj0gMG83NzcKKy0KKy0g ICAgIyBpZiBvcCBpcyA9LCByZXRhaW4gZXh0YW50IHZhbHVlcyBmb3IgdW5yZWZlcmVuY2VkIHN1 YmplY3RzCistICAgIGlmIG9wID09ICc9JzoKKy0gICAgICAgIG1hc2tzID0gKDBvNyA8PCBzaGlm dF9tYXBbc3Vial0gZm9yIHN1YmogaW4gd2hvKQorLSAgICAgICAgcmV0YWluID0gZnVuY3Rvb2xz LnJlZHVjZShvcGVyYXRvci5vcl8sIG1hc2tzKSBeIDBvNzc3CistCistICAgIG9wX21hcCA9IHsK Ky0gICAgICAgICcrJzogb3BlcmF0b3Iub3JfLAorLSAgICAgICAgJy0nOiBvcGVyYXRvci5hbmRf LAorLSAgICAgICAgJz0nOiBsYW1iZGEgbWFzaywgdGFyZ2V0OiB0YXJnZXQgJiByZXRhaW4gXiBt YXNrLAorLSAgICB9CistICAgIHJldHVybiBmdW5jdG9vbHMucGFydGlhbChvcF9tYXBbb3BdLCBt YXNrKQorLQorLQorLWNsYXNzIENhc2VJbnNlbnNpdGl2ZVBhdHRlcm4odGV4dF90eXBlKToKKy0g ICAgIiIiCistICAgIEEgc3RyaW5nIHdpdGggYSBgYCdub3JtY2FzZSdgYCBwcm9wZXJ0eSwgc3Vp dGFibGUgZm9yIHBhc3NpbmcgdG8KKy0gICAgOm1ldGg6YGxpc3RkaXJgLCA6bWV0aDpgZGlyc2As IDptZXRoOmBmaWxlc2AsIDptZXRoOmB3YWxrYCwKKy0gICAgOm1ldGg6YHdhbGtkaXJzYCwgb3Ig Om1ldGg6YHdhbGtmaWxlc2AgdG8gbWF0Y2ggY2FzZS1pbnNlbnNpdGl2ZS4KKy0KKy0gICAgRm9y IGV4YW1wbGUsIHRvIGdldCBhbGwgZmlsZXMgZW5kaW5nIGluIC5weSwgLlB5LCAucFksIG9yIC5Q WSBpbiB0aGUKKy0gICAgY3VycmVudCBkaXJlY3Rvcnk6OgorLQorLSAgICAgICAgZnJvbSBwYXRo IGltcG9ydCBQYXRoLCBDYXNlSW5zZW5zaXRpdmVQYXR0ZXJuIGFzIGNpCistICAgICAgICBQYXRo KCcuJykuZmlsZXMoY2koJyoucHknKSkKKy0gICAgIiIiCistCistICAgIEBwcm9wZXJ0eQorLSAg ICBkZWYgbm9ybWNhc2Uoc2VsZik6CistICAgICAgICByZXR1cm4gX19pbXBvcnRfXygnbnRwYXRo Jykubm9ybWNhc2UKKy0KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKy0jIEJhY2t3YXJkLWNv bXBhdGliaWxpdHkKKy1jbGFzcyBwYXRoKFBhdGgpOgorLSAgICBkZWYgX19uZXdfXyhjbHMsICph cmdzLCAqKmt3YXJncyk6CistICAgICAgICBtc2cgPSAicGF0aCBpcyBkZXByZWNhdGVkLiBVc2Ug UGF0aCBpbnN0ZWFkLiIKKy0gICAgICAgIHdhcm5pbmdzLndhcm4obXNnLCBEZXByZWNhdGlvbldh cm5pbmcpCistICAgICAgICByZXR1cm4gUGF0aC5fX25ld19fKGNscywgKmFyZ3MsICoqa3dhcmdz KQorLQorLQorLV9fYWxsX18gKz0gWydwYXRoJ10KKy0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK K2RpZmYgLS1naXQgYS90YXNrcy9fdmVuZG9yL3BhdGhsaWIucHkgYi90YXNrcy9fdmVuZG9yL3Bh dGhsaWIucHkKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggOWFiMGU3MC4uMDAwMDAw MAorLS0tIGEvdGFza3MvX3ZlbmRvci9wYXRobGliLnB5CisrKysgL2Rldi9udWxsCitAQCAtMSwx MjgwICswLDAgQEAKKy1pbXBvcnQgZm5tYXRjaAorLWltcG9ydCBmdW5jdG9vbHMKKy1pbXBvcnQg aW8KKy1pbXBvcnQgbnRwYXRoCistaW1wb3J0IG9zCistaW1wb3J0IHBvc2l4cGF0aAorLWltcG9y dCByZQorLWltcG9ydCBzeXMKKy1pbXBvcnQgdGltZQorLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0 IFNlcXVlbmNlCistZnJvbSBjb250ZXh0bGliIGltcG9ydCBjb250ZXh0bWFuYWdlcgorLWZyb20g ZXJybm8gaW1wb3J0IEVJTlZBTCwgRU5PRU5UCistZnJvbSBvcGVyYXRvciBpbXBvcnQgYXR0cmdl dHRlcgorLWZyb20gc3RhdCBpbXBvcnQgU19JU0RJUiwgU19JU0xOSywgU19JU1JFRywgU19JU1NP Q0ssIFNfSVNCTEssIFNfSVNDSFIsIFNfSVNGSUZPCistdHJ5OgorLSAgICBmcm9tIHVybGxpYiBp bXBvcnQgcXVvdGUgYXMgdXJscXVvdGUsIHF1b3RlIGFzIHVybHF1b3RlX2Zyb21fYnl0ZXMKKy1l eGNlcHQgSW1wb3J0RXJyb3I6CistICAgIGZyb20gdXJsbGliLnBhcnNlIGltcG9ydCBxdW90ZSBh cyB1cmxxdW90ZSwgcXVvdGVfZnJvbV9ieXRlcyBhcyB1cmxxdW90ZV9mcm9tX2J5dGVzCistCist CistdHJ5OgorLSAgICBpbnRlcm4gPSBpbnRlcm4KKy1leGNlcHQgTmFtZUVycm9yOgorLSAgICBp bnRlcm4gPSBzeXMuaW50ZXJuCistdHJ5OgorLSAgICBiYXNlc3RyaW5nID0gYmFzZXN0cmluZwor LWV4Y2VwdCBOYW1lRXJyb3I6CistICAgIGJhc2VzdHJpbmcgPSBzdHIKKy0KKy1zdXBwb3J0c19z eW1saW5rcyA9IFRydWUKKy10cnk6CistICAgIGltcG9ydCBudAorLWV4Y2VwdCBJbXBvcnRFcnJv cjoKKy0gICAgbnQgPSBOb25lCistZWxzZToKKy0gICAgaWYgc3lzLmdldHdpbmRvd3N2ZXJzaW9u KClbOjJdID49ICg2LCAwKSBhbmQgc3lzLnZlcnNpb25faW5mbyA+PSAoMywgMik6CistICAgICAg ICBmcm9tIG50IGltcG9ydCBfZ2V0ZmluYWxwYXRobmFtZQorLSAgICBlbHNlOgorLSAgICAgICAg c3VwcG9ydHNfc3ltbGlua3MgPSBGYWxzZQorLSAgICAgICAgX2dldGZpbmFscGF0aG5hbWUgPSBO b25lCistCistCistX19hbGxfXyA9IFsKKy0gICAgIlB1cmVQYXRoIiwgIlB1cmVQb3NpeFBhdGgi LCAiUHVyZVdpbmRvd3NQYXRoIiwKKy0gICAgIlBhdGgiLCAiUG9zaXhQYXRoIiwgIldpbmRvd3NQ YXRoIiwKKy0gICAgXQorLQorLSMKKy0jIEludGVybmFscworLSMKKy0KKy1fcHkyID0gc3lzLnZl cnNpb25faW5mbyA8ICgzLCkKKy1fcHkyX2ZzX2VuY29kaW5nID0gJ2FzY2lpJworLQorLWRlZiBf cHkyX2ZzZW5jb2RlKHBhcnRzKToKKy0gICAgIyBweTIgPT4gbWluaW1hbCB1bmljb2RlIHN1cHBv cnQKKy0gICAgcmV0dXJuIFtwYXJ0LmVuY29kZShfcHkyX2ZzX2VuY29kaW5nKSBpZiBpc2luc3Rh bmNlKHBhcnQsIHVuaWNvZGUpCistICAgICAgICAgICAgZWxzZSBwYXJ0IGZvciBwYXJ0IGluIHBh cnRzXQorLQorLWRlZiBfaXNfd2lsZGNhcmRfcGF0dGVybihwYXQpOgorLSAgICAjIFdoZXRoZXIg dGhpcyBwYXR0ZXJuIG5lZWRzIGFjdHVhbCBtYXRjaGluZyB1c2luZyBmbm1hdGNoLCBvciBjYW4K Ky0gICAgIyBiZSBsb29rZWQgdXAgZGlyZWN0bHkgYXMgYSBmaWxlLgorLSAgICByZXR1cm4gIioi IGluIHBhdCBvciAiPyIgaW4gcGF0IG9yICJbIiBpbiBwYXQKKy0KKy0KKy1jbGFzcyBfRmxhdm91 cihvYmplY3QpOgorLSAgICAiIiJBIGZsYXZvdXIgaW1wbGVtZW50cyBhIHBhcnRpY3VsYXIgKHBs YXRmb3JtLXNwZWNpZmljKSBzZXQgb2YgcGF0aAorLSAgICBzZW1hbnRpY3MuIiIiCistCistICAg IGRlZiBfX2luaXRfXyhzZWxmKToKKy0gICAgICAgIHNlbGYuam9pbiA9IHNlbGYuc2VwLmpvaW4K Ky0KKy0gICAgZGVmIHBhcnNlX3BhcnRzKHNlbGYsIHBhcnRzKToKKy0gICAgICAgIGlmIF9weTI6 CistICAgICAgICAgICAgcGFydHMgPSBfcHkyX2ZzZW5jb2RlKHBhcnRzKQorLSAgICAgICAgcGFy c2VkID0gW10KKy0gICAgICAgIHNlcCA9IHNlbGYuc2VwCistICAgICAgICBhbHRzZXAgPSBzZWxm LmFsdHNlcAorLSAgICAgICAgZHJ2ID0gcm9vdCA9ICcnCistICAgICAgICBpdCA9IHJldmVyc2Vk KHBhcnRzKQorLSAgICAgICAgZm9yIHBhcnQgaW4gaXQ6CistICAgICAgICAgICAgaWYgbm90IHBh cnQ6CistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgaWYgYWx0c2VwOgor LSAgICAgICAgICAgICAgICBwYXJ0ID0gcGFydC5yZXBsYWNlKGFsdHNlcCwgc2VwKQorLSAgICAg ICAgICAgIGRydiwgcm9vdCwgcmVsID0gc2VsZi5zcGxpdHJvb3QocGFydCkKKy0gICAgICAgICAg ICBpZiBzZXAgaW4gcmVsOgorLSAgICAgICAgICAgICAgICBmb3IgeCBpbiByZXZlcnNlZChyZWwu c3BsaXQoc2VwKSk6CistICAgICAgICAgICAgICAgICAgICBpZiB4IGFuZCB4ICE9ICcuJzoKKy0g ICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWQuYXBwZW5kKGludGVybih4KSkKKy0gICAgICAg ICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBpZiByZWwgYW5kIHJlbCAhPSAnLic6CistICAg ICAgICAgICAgICAgICAgICBwYXJzZWQuYXBwZW5kKGludGVybihyZWwpKQorLSAgICAgICAgICAg IGlmIGRydiBvciByb290OgorLSAgICAgICAgICAgICAgICBpZiBub3QgZHJ2OgorLSAgICAgICAg ICAgICAgICAgICAgIyBJZiBubyBkcml2ZSBpcyBwcmVzZW50LCB0cnkgdG8gZmluZCBvbmUgaW4g dGhlIHByZXZpb3VzCistICAgICAgICAgICAgICAgICAgICAjIHBhcnRzLiBUaGlzIG1ha2VzIHRo ZSByZXN1bHQgb2YgcGFyc2luZyBlLmcuCistICAgICAgICAgICAgICAgICAgICAjICgiQzoiLCAi LyIsICJhIikgcmVhc29uYWJseSBpbnR1aXRpdmUuCistICAgICAgICAgICAgICAgICAgICBmb3Ig cGFydCBpbiBpdDoKKy0gICAgICAgICAgICAgICAgICAgICAgICBkcnYgPSBzZWxmLnNwbGl0cm9v dChwYXJ0KVswXQorLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGRydjoKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWsKKy0gICAgICAgICAgICAgICAgYnJlYWsKKy0gICAgICAg IGlmIGRydiBvciByb290OgorLSAgICAgICAgICAgIHBhcnNlZC5hcHBlbmQoZHJ2ICsgcm9vdCkK Ky0gICAgICAgIHBhcnNlZC5yZXZlcnNlKCkKKy0gICAgICAgIHJldHVybiBkcnYsIHJvb3QsIHBh cnNlZAorLQorLSAgICBkZWYgam9pbl9wYXJzZWRfcGFydHMoc2VsZiwgZHJ2LCByb290LCBwYXJ0 cywgZHJ2Miwgcm9vdDIsIHBhcnRzMik6CistICAgICAgICAiIiIKKy0gICAgICAgIEpvaW4gdGhl IHR3byBwYXRocyByZXByZXNlbnRlZCBieSB0aGUgcmVzcGVjdGl2ZQorLSAgICAgICAgKGRyaXZl LCByb290LCBwYXJ0cykgdHVwbGVzLiAgUmV0dXJuIGEgbmV3IChkcml2ZSwgcm9vdCwgcGFydHMp IHR1cGxlLgorLSAgICAgICAgIiIiCistICAgICAgICBpZiByb290MjoKKy0gICAgICAgICAgICBp ZiBub3QgZHJ2MiBhbmQgZHJ2OgorLSAgICAgICAgICAgICAgICByZXR1cm4gZHJ2LCByb290Miwg W2RydiArIHJvb3QyXSArIHBhcnRzMlsxOl0KKy0gICAgICAgIGVsaWYgZHJ2MjoKKy0gICAgICAg ICAgICBpZiBkcnYyID09IGRydiBvciBzZWxmLmNhc2Vmb2xkKGRydjIpID09IHNlbGYuY2FzZWZv bGQoZHJ2KToKKy0gICAgICAgICAgICAgICAgIyBTYW1lIGRyaXZlID0+IHNlY29uZCBwYXRoIGlz IHJlbGF0aXZlIHRvIHRoZSBmaXJzdAorLSAgICAgICAgICAgICAgICByZXR1cm4gZHJ2LCByb290 LCBwYXJ0cyArIHBhcnRzMlsxOl0KKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgIyBTZWNv bmQgcGF0aCBpcyBub24tYW5jaG9yZWQgKGNvbW1vbiBjYXNlKQorLSAgICAgICAgICAgIHJldHVy biBkcnYsIHJvb3QsIHBhcnRzICsgcGFydHMyCistICAgICAgICByZXR1cm4gZHJ2Miwgcm9vdDIs IHBhcnRzMgorLQorLQorLWNsYXNzIF9XaW5kb3dzRmxhdm91cihfRmxhdm91cik6CistICAgICMg UmVmZXJlbmNlIGZvciBXaW5kb3dzIHBhdGhzIGNhbiBiZSBmb3VuZCBhdAorLSAgICAjIGh0dHA6 Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM2NTI0NyUyOHY9dnMuODUlMjku YXNweAorLQorLSAgICBzZXAgPSAnXFwnCistICAgIGFsdHNlcCA9ICcvJworLSAgICBoYXNfZHJ2 ID0gVHJ1ZQorLSAgICBwYXRobW9kID0gbnRwYXRoCistCistICAgIGlzX3N1cHBvcnRlZCA9IChu dCBpcyBub3QgTm9uZSkKKy0KKy0gICAgZHJpdmVfbGV0dGVycyA9ICgKKy0gICAgICAgIHNldChj aHIoeCkgZm9yIHggaW4gcmFuZ2Uob3JkKCdhJyksIG9yZCgneicpICsgMSkpIHwKKy0gICAgICAg IHNldChjaHIoeCkgZm9yIHggaW4gcmFuZ2Uob3JkKCdBJyksIG9yZCgnWicpICsgMSkpCistICAg ICkKKy0gICAgZXh0X25hbWVzcGFjZV9wcmVmaXggPSAnXFxcXD9cXCcKKy0KKy0gICAgcmVzZXJ2 ZWRfbmFtZXMgPSAoCistICAgICAgICBzZXQoWydDT04nLCAnUFJOJywgJ0FVWCcsICdOVUwnXSkg fAorLSAgICAgICAgc2V0KFsnQ09NJWQnICUgaSBmb3IgaSBpbiByYW5nZSgxLCAxMCldKSB8Cist ICAgICAgICBzZXQoWydMUFQlZCcgJSBpIGZvciBpIGluIHJhbmdlKDEsIDEwKV0pCistICAgICAg ICApCistCistICAgICMgSW50ZXJlc3RpbmcgZmluZGluZ3MgYWJvdXQgZXh0ZW5kZWQgcGF0aHM6 CistICAgICMgLSAnXFw/XGM6XGEnLCAnLy8/L2M6XGEnIGFuZCAnLy8/L2M6L2EnIGFyZSBhbGwg c3VwcG9ydGVkCistICAgICMgICBidXQgJ1xcP1xjOi9hJyBpcyBub3QKKy0gICAgIyAtIGV4dGVu ZGVkIHBhdGhzIGFyZSBhbHdheXMgYWJzb2x1dGU7ICJyZWxhdGl2ZSIgZXh0ZW5kZWQgcGF0aHMg d2lsbAorLSAgICAjICAgZmFpbC4KKy0KKy0gICAgZGVmIHNwbGl0cm9vdChzZWxmLCBwYXJ0LCBz ZXA9c2VwKToKKy0gICAgICAgIGZpcnN0ID0gcGFydFswOjFdCistICAgICAgICBzZWNvbmQgPSBw YXJ0WzE6Ml0KKy0gICAgICAgIGlmIChzZWNvbmQgPT0gc2VwIGFuZCBmaXJzdCA9PSBzZXApOgor LSAgICAgICAgICAgICMgWFhYIGV4dGVuZGVkIHBhdGhzIHNob3VsZCBhbHNvIGRpc2FibGUgdGhl IGNvbGxhcHNpbmcgb2YgIi4iCistICAgICAgICAgICAgIyBjb21wb25lbnRzIChhY2NvcmRpbmcg dG8gTVNETiBkb2NzKS4KKy0gICAgICAgICAgICBwcmVmaXgsIHBhcnQgPSBzZWxmLl9zcGxpdF9l eHRlbmRlZF9wYXRoKHBhcnQpCistICAgICAgICAgICAgZmlyc3QgPSBwYXJ0WzA6MV0KKy0gICAg ICAgICAgICBzZWNvbmQgPSBwYXJ0WzE6Ml0KKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAg cHJlZml4ID0gJycKKy0gICAgICAgIHRoaXJkID0gcGFydFsyOjNdCistICAgICAgICBpZiAoc2Vj b25kID09IHNlcCBhbmQgZmlyc3QgPT0gc2VwIGFuZCB0aGlyZCAhPSBzZXApOgorLSAgICAgICAg ICAgICMgaXMgYSBVTkMgcGF0aDoKKy0gICAgICAgICAgICAjIHZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2 diByb290CistICAgICAgICAgICAgIyBcXG1hY2hpbmVcbW91bnRwb2ludFxkaXJlY3RvcnlcZXRj XC4uLgorLSAgICAgICAgICAgICMgICAgICAgICAgICBkaXJlY3RvcnkgXl5eXl5eXl5eXl5eXl4K Ky0gICAgICAgICAgICBpbmRleCA9IHBhcnQuZmluZChzZXAsIDIpCistICAgICAgICAgICAgaWYg aW5kZXggIT0gLTE6CistICAgICAgICAgICAgICAgIGluZGV4MiA9IHBhcnQuZmluZChzZXAsIGlu ZGV4ICsgMSkKKy0gICAgICAgICAgICAgICAgIyBhIFVOQyBwYXRoIGNhbid0IGhhdmUgdHdvIHNs YXNoZXMgaW4gYSByb3cKKy0gICAgICAgICAgICAgICAgIyAoYWZ0ZXIgdGhlIGluaXRpYWwgdHdv KQorLSAgICAgICAgICAgICAgICBpZiBpbmRleDIgIT0gaW5kZXggKyAxOgorLSAgICAgICAgICAg ICAgICAgICAgaWYgaW5kZXgyID09IC0xOgorLSAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4 MiA9IGxlbihwYXJ0KQorLSAgICAgICAgICAgICAgICAgICAgaWYgcHJlZml4OgorLSAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBwcmVmaXggKyBwYXJ0WzE6aW5kZXgyXSwgc2VwLCBwYXJ0 W2luZGV4MisxOl0KKy0gICAgICAgICAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIHBhcnRbOmluZGV4Ml0sIHNlcCwgcGFydFtpbmRleDIrMTpdCistICAg ICAgICBkcnYgPSByb290ID0gJycKKy0gICAgICAgIGlmIHNlY29uZCA9PSAnOicgYW5kIGZpcnN0 IGluIHNlbGYuZHJpdmVfbGV0dGVyczoKKy0gICAgICAgICAgICBkcnYgPSBwYXJ0WzoyXQorLSAg ICAgICAgICAgIHBhcnQgPSBwYXJ0WzI6XQorLSAgICAgICAgICAgIGZpcnN0ID0gdGhpcmQKKy0g ICAgICAgIGlmIGZpcnN0ID09IHNlcDoKKy0gICAgICAgICAgICByb290ID0gZmlyc3QKKy0gICAg ICAgICAgICBwYXJ0ID0gcGFydC5sc3RyaXAoc2VwKQorLSAgICAgICAgcmV0dXJuIHByZWZpeCAr IGRydiwgcm9vdCwgcGFydAorLQorLSAgICBkZWYgY2FzZWZvbGQoc2VsZiwgcyk6CistICAgICAg ICByZXR1cm4gcy5sb3dlcigpCistCistICAgIGRlZiBjYXNlZm9sZF9wYXJ0cyhzZWxmLCBwYXJ0 cyk6CistICAgICAgICByZXR1cm4gW3AubG93ZXIoKSBmb3IgcCBpbiBwYXJ0c10KKy0KKy0gICAg ZGVmIHJlc29sdmUoc2VsZiwgcGF0aCk6CistICAgICAgICBzID0gc3RyKHBhdGgpCistICAgICAg ICBpZiBub3QgczoKKy0gICAgICAgICAgICByZXR1cm4gb3MuZ2V0Y3dkKCkKKy0gICAgICAgIGlm IF9nZXRmaW5hbHBhdGhuYW1lIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgIHJldHVybiBzZWxm Ll9leHRfdG9fbm9ybWFsKF9nZXRmaW5hbHBhdGhuYW1lKHMpKQorLSAgICAgICAgIyBNZWFucyBm YWxsYmFjayBvbiBhYnNvbHV0ZQorLSAgICAgICAgcmV0dXJuIE5vbmUKKy0KKy0gICAgZGVmIF9z cGxpdF9leHRlbmRlZF9wYXRoKHNlbGYsIHMsIGV4dF9wcmVmaXg9ZXh0X25hbWVzcGFjZV9wcmVm aXgpOgorLSAgICAgICAgcHJlZml4ID0gJycKKy0gICAgICAgIGlmIHMuc3RhcnRzd2l0aChleHRf cHJlZml4KToKKy0gICAgICAgICAgICBwcmVmaXggPSBzWzo0XQorLSAgICAgICAgICAgIHMgPSBz WzQ6XQorLSAgICAgICAgICAgIGlmIHMuc3RhcnRzd2l0aCgnVU5DXFwnKToKKy0gICAgICAgICAg ICAgICAgcHJlZml4ICs9IHNbOjNdCistICAgICAgICAgICAgICAgIHMgPSAnXFwnICsgc1szOl0K Ky0gICAgICAgIHJldHVybiBwcmVmaXgsIHMKKy0KKy0gICAgZGVmIF9leHRfdG9fbm9ybWFsKHNl bGYsIHMpOgorLSAgICAgICAgIyBUdXJuIGJhY2sgYW4gZXh0ZW5kZWQgcGF0aCBpbnRvIGEgbm9y bWFsIERPUy1saWtlIHBhdGgKKy0gICAgICAgIHJldHVybiBzZWxmLl9zcGxpdF9leHRlbmRlZF9w YXRoKHMpWzFdCistCistICAgIGRlZiBpc19yZXNlcnZlZChzZWxmLCBwYXJ0cyk6CistICAgICAg ICAjIE5PVEU6IHRoZSBydWxlcyBmb3IgcmVzZXJ2ZWQgbmFtZXMgc2VlbSBzb21ld2hhdCBjb21w bGljYXRlZAorLSAgICAgICAgIyAoZS5nLiByIi4uXE5VTCIgaXMgcmVzZXJ2ZWQgYnV0IG5vdCBy ImZvb1xOVUwiKS4KKy0gICAgICAgICMgV2UgZXJyIG9uIHRoZSBzaWRlIG9mIGNhdXRpb24gYW5k IHJldHVybiBUcnVlIGZvciBwYXRocyB3aGljaCBhcmUKKy0gICAgICAgICMgbm90IGNvbnNpZGVy ZWQgcmVzZXJ2ZWQgYnkgV2luZG93cy4KKy0gICAgICAgIGlmIG5vdCBwYXJ0czoKKy0gICAgICAg ICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIGlmIHBhcnRzWzBdLnN0YXJ0c3dpdGgoJ1xcXFwn KToKKy0gICAgICAgICAgICAjIFVOQyBwYXRocyBhcmUgbmV2ZXIgcmVzZXJ2ZWQKKy0gICAgICAg ICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIHJldHVybiBwYXJ0c1stMV0ucGFydGl0aW9uKCcu JylbMF0udXBwZXIoKSBpbiBzZWxmLnJlc2VydmVkX25hbWVzCistCistICAgIGRlZiBtYWtlX3Vy aShzZWxmLCBwYXRoKToKKy0gICAgICAgICMgVW5kZXIgV2luZG93cywgZmlsZSBVUklzIHVzZSB0 aGUgVVRGLTggZW5jb2RpbmcuCistICAgICAgICBkcml2ZSA9IHBhdGguZHJpdmUKKy0gICAgICAg IGlmIGxlbihkcml2ZSkgPT0gMiBhbmQgZHJpdmVbMV0gPT0gJzonOgorLSAgICAgICAgICAgICMg SXQncyBhIHBhdGggb24gYSBsb2NhbCBkcml2ZSA9PiAnZmlsZTovLy9jOi9hL2InCistICAgICAg ICAgICAgcmVzdCA9IHBhdGguYXNfcG9zaXgoKVsyOl0ubHN0cmlwKCcvJykKKy0gICAgICAgICAg ICByZXR1cm4gJ2ZpbGU6Ly8vJXMvJXMnICUgKAorLSAgICAgICAgICAgICAgICBkcml2ZSwgdXJs cXVvdGVfZnJvbV9ieXRlcyhyZXN0LmVuY29kZSgndXRmLTgnKSkpCistICAgICAgICBlbHNlOgor LSAgICAgICAgICAgICMgSXQncyBhIHBhdGggb24gYSBuZXR3b3JrIGRyaXZlID0+ICdmaWxlOi8v aG9zdC9zaGFyZS9hL2InCistICAgICAgICAgICAgcmV0dXJuICdmaWxlOicgKyB1cmxxdW90ZV9m cm9tX2J5dGVzKHBhdGguYXNfcG9zaXgoKS5lbmNvZGUoJ3V0Zi04JykpCistCistCistY2xhc3Mg X1Bvc2l4Rmxhdm91cihfRmxhdm91cik6CistICAgIHNlcCA9ICcvJworLSAgICBhbHRzZXAgPSAn JworLSAgICBoYXNfZHJ2ID0gRmFsc2UKKy0gICAgcGF0aG1vZCA9IHBvc2l4cGF0aAorLQorLSAg ICBpc19zdXBwb3J0ZWQgPSAob3MubmFtZSAhPSAnbnQnKQorLQorLSAgICBkZWYgc3BsaXRyb290 KHNlbGYsIHBhcnQsIHNlcD1zZXApOgorLSAgICAgICAgaWYgcGFydCBhbmQgcGFydFswXSA9PSBz ZXA6CistICAgICAgICAgICAgc3RyaXBwZWRfcGFydCA9IHBhcnQubHN0cmlwKHNlcCkKKy0gICAg ICAgICAgICAjIEFjY29yZGluZyB0byBQT1NJWCBwYXRoIHJlc29sdXRpb246CistICAgICAgICAg ICAgIyBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvMDA5Njk1Mzk5L2Jhc2Vk ZWZzL3hiZF9jaGFwMDQuaHRtbCN0YWdfMDRfMTEKKy0gICAgICAgICAgICAjICJBIHBhdGhuYW1l IHRoYXQgYmVnaW5zIHdpdGggdHdvIHN1Y2Nlc3NpdmUgc2xhc2hlcyBtYXkgYmUKKy0gICAgICAg ICAgICAjIGludGVycHJldGVkIGluIGFuIGltcGxlbWVudGF0aW9uLWRlZmluZWQgbWFubmVyLCBh bHRob3VnaCBtb3JlCistICAgICAgICAgICAgIyB0aGFuIHR3byBsZWFkaW5nIHNsYXNoZXMgc2hh bGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBzbGFzaCIuCistICAgICAgICAgICAgaWYgbGVuKHBh cnQpIC0gbGVuKHN0cmlwcGVkX3BhcnQpID09IDI6CistICAgICAgICAgICAgICAgIHJldHVybiAn Jywgc2VwICogMiwgc3RyaXBwZWRfcGFydAorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAg ICAgICAgIHJldHVybiAnJywgc2VwLCBzdHJpcHBlZF9wYXJ0CistICAgICAgICBlbHNlOgorLSAg ICAgICAgICAgIHJldHVybiAnJywgJycsIHBhcnQKKy0KKy0gICAgZGVmIGNhc2Vmb2xkKHNlbGYs IHMpOgorLSAgICAgICAgcmV0dXJuIHMKKy0KKy0gICAgZGVmIGNhc2Vmb2xkX3BhcnRzKHNlbGYs IHBhcnRzKToKKy0gICAgICAgIHJldHVybiBwYXJ0cworLQorLSAgICBkZWYgcmVzb2x2ZShzZWxm LCBwYXRoKToKKy0gICAgICAgIHNlcCA9IHNlbGYuc2VwCistICAgICAgICBhY2Nlc3NvciA9IHBh dGguX2FjY2Vzc29yCistICAgICAgICBzZWVuID0ge30KKy0gICAgICAgIGRlZiBfcmVzb2x2ZShw YXRoLCByZXN0KToKKy0gICAgICAgICAgICBpZiByZXN0LnN0YXJ0c3dpdGgoc2VwKToKKy0gICAg ICAgICAgICAgICAgcGF0aCA9ICcnCistCistICAgICAgICAgICAgZm9yIG5hbWUgaW4gcmVzdC5z cGxpdChzZXApOgorLSAgICAgICAgICAgICAgICBpZiBub3QgbmFtZSBvciBuYW1lID09ICcuJzoK Ky0gICAgICAgICAgICAgICAgICAgICMgY3VycmVudCBkaXIKKy0gICAgICAgICAgICAgICAgICAg IGNvbnRpbnVlCistICAgICAgICAgICAgICAgIGlmIG5hbWUgPT0gJy4uJzoKKy0gICAgICAgICAg ICAgICAgICAgICMgcGFyZW50IGRpcgorLSAgICAgICAgICAgICAgICAgICAgcGF0aCwgXywgXyA9 IHBhdGgucnBhcnRpdGlvbihzZXApCistICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorLSAg ICAgICAgICAgICAgICBuZXdwYXRoID0gcGF0aCArIHNlcCArIG5hbWUKKy0gICAgICAgICAgICAg ICAgaWYgbmV3cGF0aCBpbiBzZWVuOgorLSAgICAgICAgICAgICAgICAgICAgIyBBbHJlYWR5IHNl ZW4gdGhpcyBwYXRoCistICAgICAgICAgICAgICAgICAgICBwYXRoID0gc2VlbltuZXdwYXRoXQor LSAgICAgICAgICAgICAgICAgICAgaWYgcGF0aCBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICAg ICAgICAgICAgICAjIHVzZSBjYWNoZWQgdmFsdWUKKy0gICAgICAgICAgICAgICAgICAgICAgICBj b250aW51ZQorLSAgICAgICAgICAgICAgICAgICAgIyBUaGUgc3ltbGluayBpcyBub3QgcmVzb2x2 ZWQsIHNvIHdlIG11c3QgaGF2ZSBhIHN5bWxpbmsgbG9vcC4KKy0gICAgICAgICAgICAgICAgICAg IHJhaXNlIFJ1bnRpbWVFcnJvcigiU3ltbGluayBsb29wIGZyb20gJXIiICUgbmV3cGF0aCkKKy0g ICAgICAgICAgICAgICAgIyBSZXNvbHZlIHRoZSBzeW1ib2xpYyBsaW5rCistICAgICAgICAgICAg ICAgIHRyeToKKy0gICAgICAgICAgICAgICAgICAgIHRhcmdldCA9IGFjY2Vzc29yLnJlYWRsaW5r KG5ld3BhdGgpCistICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAg ICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IEVJTlZBTDoKKy0gICAgICAgICAgICAgICAgICAg ICAgICByYWlzZQorLSAgICAgICAgICAgICAgICAgICAgIyBOb3QgYSBzeW1saW5rCistICAgICAg ICAgICAgICAgICAgICBwYXRoID0gbmV3cGF0aAorLSAgICAgICAgICAgICAgICBlbHNlOgorLSAg ICAgICAgICAgICAgICAgICAgc2VlbltuZXdwYXRoXSA9IE5vbmUgIyBub3QgcmVzb2x2ZWQgc3lt bGluaworLSAgICAgICAgICAgICAgICAgICAgcGF0aCA9IF9yZXNvbHZlKHBhdGgsIHRhcmdldCkK Ky0gICAgICAgICAgICAgICAgICAgIHNlZW5bbmV3cGF0aF0gPSBwYXRoICMgcmVzb2x2ZWQgc3lt bGluaworLQorLSAgICAgICAgICAgIHJldHVybiBwYXRoCistICAgICAgICAjIE5PVEU6IGFjY29y ZGluZyB0byBQT1NJWCwgZ2V0Y3dkKCkgY2Fubm90IGNvbnRhaW4gcGF0aCBjb21wb25lbnRzCist ICAgICAgICAjIHdoaWNoIGFyZSBzeW1saW5rcy4KKy0gICAgICAgIGJhc2UgPSAnJyBpZiBwYXRo LmlzX2Fic29sdXRlKCkgZWxzZSBvcy5nZXRjd2QoKQorLSAgICAgICAgcmV0dXJuIF9yZXNvbHZl KGJhc2UsIHN0cihwYXRoKSkgb3Igc2VwCistCistICAgIGRlZiBpc19yZXNlcnZlZChzZWxmLCBw YXJ0cyk6CistICAgICAgICByZXR1cm4gRmFsc2UKKy0KKy0gICAgZGVmIG1ha2VfdXJpKHNlbGYs IHBhdGgpOgorLSAgICAgICAgIyBXZSByZXByZXNlbnQgdGhlIHBhdGggdXNpbmcgdGhlIGxvY2Fs IGZpbGVzeXN0ZW0gZW5jb2RpbmcsCistICAgICAgICAjIGZvciBwb3J0YWJpbGl0eSB0byBvdGhl ciBhcHBsaWNhdGlvbnMuCistICAgICAgICBicGF0aCA9IGJ5dGVzKHBhdGgpCistICAgICAgICBy ZXR1cm4gJ2ZpbGU6Ly8nICsgdXJscXVvdGVfZnJvbV9ieXRlcyhicGF0aCkKKy0KKy0KKy1fd2lu ZG93c19mbGF2b3VyID0gX1dpbmRvd3NGbGF2b3VyKCkKKy1fcG9zaXhfZmxhdm91ciA9IF9Qb3Np eEZsYXZvdXIoKQorLQorLQorLWNsYXNzIF9BY2Nlc3NvcjoKKy0gICAgIiIiQW4gYWNjZXNzb3Ig aW1wbGVtZW50cyBhIHBhcnRpY3VsYXIgKHN5c3RlbS1zcGVjaWZpYyBvciBub3QpIHdheSBvZgor LSAgICBhY2Nlc3NpbmcgcGF0aHMgb24gdGhlIGZpbGVzeXN0ZW0uIiIiCistCistCistY2xhc3Mg X05vcm1hbEFjY2Vzc29yKF9BY2Nlc3Nvcik6CistCistICAgIGRlZiBfd3JhcF9zdHJmdW5jKHN0 cmZ1bmMpOgorLSAgICAgICAgQGZ1bmN0b29scy53cmFwcyhzdHJmdW5jKQorLSAgICAgICAgZGVm IHdyYXBwZWQocGF0aG9iaiwgKmFyZ3MpOgorLSAgICAgICAgICAgIHJldHVybiBzdHJmdW5jKHN0 cihwYXRob2JqKSwgKmFyZ3MpCistICAgICAgICByZXR1cm4gc3RhdGljbWV0aG9kKHdyYXBwZWQp CistCistICAgIGRlZiBfd3JhcF9iaW5hcnlfc3RyZnVuYyhzdHJmdW5jKToKKy0gICAgICAgIEBm dW5jdG9vbHMud3JhcHMoc3RyZnVuYykKKy0gICAgICAgIGRlZiB3cmFwcGVkKHBhdGhvYmpBLCBw YXRob2JqQiwgKmFyZ3MpOgorLSAgICAgICAgICAgIHJldHVybiBzdHJmdW5jKHN0cihwYXRob2Jq QSksIHN0cihwYXRob2JqQiksICphcmdzKQorLSAgICAgICAgcmV0dXJuIHN0YXRpY21ldGhvZCh3 cmFwcGVkKQorLQorLSAgICBzdGF0ID0gX3dyYXBfc3RyZnVuYyhvcy5zdGF0KQorLQorLSAgICBs c3RhdCA9IF93cmFwX3N0cmZ1bmMob3MubHN0YXQpCistCistICAgIG9wZW4gPSBfd3JhcF9zdHJm dW5jKG9zLm9wZW4pCistCistICAgIGxpc3RkaXIgPSBfd3JhcF9zdHJmdW5jKG9zLmxpc3RkaXIp CistCistICAgIGNobW9kID0gX3dyYXBfc3RyZnVuYyhvcy5jaG1vZCkKKy0KKy0gICAgaWYgaGFz YXR0cihvcywgImxjaG1vZCIpOgorLSAgICAgICAgbGNobW9kID0gX3dyYXBfc3RyZnVuYyhvcy5s Y2htb2QpCistICAgIGVsc2U6CistICAgICAgICBkZWYgbGNobW9kKHNlbGYsIHBhdGhvYmosIG1v ZGUpOgorLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoImxjaG1vZCgpIG5v dCBhdmFpbGFibGUgb24gdGhpcyBzeXN0ZW0iKQorLQorLSAgICBta2RpciA9IF93cmFwX3N0cmZ1 bmMob3MubWtkaXIpCistCistICAgIHVubGluayA9IF93cmFwX3N0cmZ1bmMob3MudW5saW5rKQor LQorLSAgICBybWRpciA9IF93cmFwX3N0cmZ1bmMob3Mucm1kaXIpCistCistICAgIHJlbmFtZSA9 IF93cmFwX2JpbmFyeV9zdHJmdW5jKG9zLnJlbmFtZSkKKy0KKy0gICAgaWYgc3lzLnZlcnNpb25f aW5mbyA+PSAoMywgMyk6CistICAgICAgICByZXBsYWNlID0gX3dyYXBfYmluYXJ5X3N0cmZ1bmMo b3MucmVwbGFjZSkKKy0KKy0gICAgaWYgbnQ6CistICAgICAgICBpZiBzdXBwb3J0c19zeW1saW5r czoKKy0gICAgICAgICAgICBzeW1saW5rID0gX3dyYXBfYmluYXJ5X3N0cmZ1bmMob3Muc3ltbGlu aykKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgZGVmIHN5bWxpbmsoYSwgYiwgdGFyZ2V0 X2lzX2RpcmVjdG9yeSk6CistICAgICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJy b3IoInN5bWxpbmsoKSBub3QgYXZhaWxhYmxlIG9uIHRoaXMgc3lzdGVtIikKKy0gICAgZWxzZToK Ky0gICAgICAgICMgVW5kZXIgUE9TSVgsIG9zLnN5bWxpbmsoKSB0YWtlcyB0d28gYXJncworLSAg ICAgICAgQHN0YXRpY21ldGhvZAorLSAgICAgICAgZGVmIHN5bWxpbmsoYSwgYiwgdGFyZ2V0X2lz X2RpcmVjdG9yeSk6CistICAgICAgICAgICAgcmV0dXJuIG9zLnN5bWxpbmsoc3RyKGEpLCBzdHIo YikpCistCistICAgIHV0aW1lID0gX3dyYXBfc3RyZnVuYyhvcy51dGltZSkKKy0KKy0gICAgIyBI ZWxwZXIgZm9yIHJlc29sdmUoKQorLSAgICBkZWYgcmVhZGxpbmsoc2VsZiwgcGF0aCk6CistICAg ICAgICByZXR1cm4gb3MucmVhZGxpbmsocGF0aCkKKy0KKy0KKy1fbm9ybWFsX2FjY2Vzc29yID0g X05vcm1hbEFjY2Vzc29yKCkKKy0KKy0KKy0jCistIyBHbG9iYmluZyBoZWxwZXJzCistIworLQor LUBjb250ZXh0bWFuYWdlcgorLWRlZiBfY2FjaGVkKGZ1bmMpOgorLSAgICB0cnk6CistICAgICAg ICBmdW5jLl9fY2FjaGVkX18KKy0gICAgICAgIHlpZWxkIGZ1bmMKKy0gICAgZXhjZXB0IEF0dHJp YnV0ZUVycm9yOgorLSAgICAgICAgY2FjaGUgPSB7fQorLSAgICAgICAgZGVmIHdyYXBwZXIoKmFy Z3MpOgorLSAgICAgICAgICAgIHRyeToKKy0gICAgICAgICAgICAgICAgcmV0dXJuIGNhY2hlW2Fy Z3NdCistICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorLSAgICAgICAgICAgICAgICB2YWx1 ZSA9IGNhY2hlW2FyZ3NdID0gZnVuYygqYXJncykKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHZh bHVlCistICAgICAgICB3cmFwcGVyLl9fY2FjaGVkX18gPSBUcnVlCistICAgICAgICB0cnk6Cist ICAgICAgICAgICAgeWllbGQgd3JhcHBlcgorLSAgICAgICAgZmluYWxseToKKy0gICAgICAgICAg ICBjYWNoZS5jbGVhcigpCistCistZGVmIF9tYWtlX3NlbGVjdG9yKHBhdHRlcm5fcGFydHMpOgor LSAgICBwYXQgPSBwYXR0ZXJuX3BhcnRzWzBdCistICAgIGNoaWxkX3BhcnRzID0gcGF0dGVybl9w YXJ0c1sxOl0KKy0gICAgaWYgcGF0ID09ICcqKic6CistICAgICAgICBjbHMgPSBfUmVjdXJzaXZl V2lsZGNhcmRTZWxlY3RvcgorLSAgICBlbGlmICcqKicgaW4gcGF0OgorLSAgICAgICAgcmFpc2Ug VmFsdWVFcnJvcigiSW52YWxpZCBwYXR0ZXJuOiAnKionIGNhbiBvbmx5IGJlIGFuIGVudGlyZSBw YXRoIGNvbXBvbmVudCIpCistICAgIGVsaWYgX2lzX3dpbGRjYXJkX3BhdHRlcm4ocGF0KToKKy0g ICAgICAgIGNscyA9IF9XaWxkY2FyZFNlbGVjdG9yCistICAgIGVsc2U6CistICAgICAgICBjbHMg PSBfUHJlY2lzZVNlbGVjdG9yCistICAgIHJldHVybiBjbHMocGF0LCBjaGlsZF9wYXJ0cykKKy0K Ky1pZiBoYXNhdHRyKGZ1bmN0b29scywgImxydV9jYWNoZSIpOgorLSAgICBfbWFrZV9zZWxlY3Rv ciA9IGZ1bmN0b29scy5scnVfY2FjaGUoKShfbWFrZV9zZWxlY3RvcikKKy0KKy0KKy1jbGFzcyBf U2VsZWN0b3I6CistICAgICIiIkEgc2VsZWN0b3IgbWF0Y2hlcyBhIHNwZWNpZmljIGdsb2IgcGF0 dGVybiBwYXJ0IGFnYWluc3QgdGhlIGNoaWxkcmVuCistICAgIG9mIGEgZ2l2ZW4gcGF0aC4iIiIK Ky0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGNoaWxkX3BhcnRzKToKKy0gICAgICAgIHNlbGYu Y2hpbGRfcGFydHMgPSBjaGlsZF9wYXJ0cworLSAgICAgICAgaWYgY2hpbGRfcGFydHM6CistICAg ICAgICAgICAgc2VsZi5zdWNjZXNzb3IgPSBfbWFrZV9zZWxlY3RvcihjaGlsZF9wYXJ0cykKKy0g ICAgICAgIGVsc2U6CistICAgICAgICAgICAgc2VsZi5zdWNjZXNzb3IgPSBfVGVybWluYXRpbmdT ZWxlY3RvcigpCistCistICAgIGRlZiBzZWxlY3RfZnJvbShzZWxmLCBwYXJlbnRfcGF0aCk6Cist ICAgICAgICAiIiJJdGVyYXRlIG92ZXIgYWxsIGNoaWxkIHBhdGhzIG9mIGBwYXJlbnRfcGF0aGAg bWF0Y2hlZCBieSB0aGlzCistICAgICAgICBzZWxlY3Rvci4gIFRoaXMgY2FuIGNvbnRhaW4gcGFy ZW50X3BhdGggaXRzZWxmLiIiIgorLSAgICAgICAgcGF0aF9jbHMgPSB0eXBlKHBhcmVudF9wYXRo KQorLSAgICAgICAgaXNfZGlyID0gcGF0aF9jbHMuaXNfZGlyCistICAgICAgICBleGlzdHMgPSBw YXRoX2Nscy5leGlzdHMKKy0gICAgICAgIGxpc3RkaXIgPSBwYXJlbnRfcGF0aC5fYWNjZXNzb3Iu bGlzdGRpcgorLSAgICAgICAgcmV0dXJuIHNlbGYuX3NlbGVjdF9mcm9tKHBhcmVudF9wYXRoLCBp c19kaXIsIGV4aXN0cywgbGlzdGRpcikKKy0KKy0KKy1jbGFzcyBfVGVybWluYXRpbmdTZWxlY3Rv cjoKKy0KKy0gICAgZGVmIF9zZWxlY3RfZnJvbShzZWxmLCBwYXJlbnRfcGF0aCwgaXNfZGlyLCBl eGlzdHMsIGxpc3RkaXIpOgorLSAgICAgICAgeWllbGQgcGFyZW50X3BhdGgKKy0KKy0KKy1jbGFz cyBfUHJlY2lzZVNlbGVjdG9yKF9TZWxlY3Rvcik6CistCistICAgIGRlZiBfX2luaXRfXyhzZWxm LCBuYW1lLCBjaGlsZF9wYXJ0cyk6CistICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCistICAgICAg ICBfU2VsZWN0b3IuX19pbml0X18oc2VsZiwgY2hpbGRfcGFydHMpCistCistICAgIGRlZiBfc2Vs ZWN0X2Zyb20oc2VsZiwgcGFyZW50X3BhdGgsIGlzX2RpciwgZXhpc3RzLCBsaXN0ZGlyKToKKy0g ICAgICAgIGlmIG5vdCBpc19kaXIocGFyZW50X3BhdGgpOgorLSAgICAgICAgICAgIHJldHVybgor LSAgICAgICAgcGF0aCA9IHBhcmVudF9wYXRoLl9tYWtlX2NoaWxkX3JlbHBhdGgoc2VsZi5uYW1l KQorLSAgICAgICAgaWYgZXhpc3RzKHBhdGgpOgorLSAgICAgICAgICAgIGZvciBwIGluIHNlbGYu c3VjY2Vzc29yLl9zZWxlY3RfZnJvbShwYXRoLCBpc19kaXIsIGV4aXN0cywgbGlzdGRpcik6Cist ICAgICAgICAgICAgICAgIHlpZWxkIHAKKy0KKy0KKy1jbGFzcyBfV2lsZGNhcmRTZWxlY3Rvcihf U2VsZWN0b3IpOgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0LCBjaGlsZF9wYXJ0cyk6 CistICAgICAgICBzZWxmLnBhdCA9IHJlLmNvbXBpbGUoZm5tYXRjaC50cmFuc2xhdGUocGF0KSkK Ky0gICAgICAgIF9TZWxlY3Rvci5fX2luaXRfXyhzZWxmLCBjaGlsZF9wYXJ0cykKKy0KKy0gICAg ZGVmIF9zZWxlY3RfZnJvbShzZWxmLCBwYXJlbnRfcGF0aCwgaXNfZGlyLCBleGlzdHMsIGxpc3Rk aXIpOgorLSAgICAgICAgaWYgbm90IGlzX2RpcihwYXJlbnRfcGF0aCk6CistICAgICAgICAgICAg cmV0dXJuCistICAgICAgICBjZiA9IHBhcmVudF9wYXRoLl9mbGF2b3VyLmNhc2Vmb2xkCistICAg ICAgICBmb3IgbmFtZSBpbiBsaXN0ZGlyKHBhcmVudF9wYXRoKToKKy0gICAgICAgICAgICBjYXNl Zm9sZGVkID0gY2YobmFtZSkKKy0gICAgICAgICAgICBpZiBzZWxmLnBhdC5tYXRjaChjYXNlZm9s ZGVkKToKKy0gICAgICAgICAgICAgICAgcGF0aCA9IHBhcmVudF9wYXRoLl9tYWtlX2NoaWxkX3Jl bHBhdGgobmFtZSkKKy0gICAgICAgICAgICAgICAgZm9yIHAgaW4gc2VsZi5zdWNjZXNzb3IuX3Nl bGVjdF9mcm9tKHBhdGgsIGlzX2RpciwgZXhpc3RzLCBsaXN0ZGlyKToKKy0gICAgICAgICAgICAg ICAgICAgIHlpZWxkIHAKKy0KKy0KKy1jbGFzcyBfUmVjdXJzaXZlV2lsZGNhcmRTZWxlY3Rvcihf U2VsZWN0b3IpOgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0LCBjaGlsZF9wYXJ0cyk6 CistICAgICAgICBfU2VsZWN0b3IuX19pbml0X18oc2VsZiwgY2hpbGRfcGFydHMpCistCistICAg IGRlZiBfaXRlcmF0ZV9kaXJlY3RvcmllcyhzZWxmLCBwYXJlbnRfcGF0aCwgaXNfZGlyLCBsaXN0 ZGlyKToKKy0gICAgICAgIHlpZWxkIHBhcmVudF9wYXRoCistICAgICAgICBmb3IgbmFtZSBpbiBs aXN0ZGlyKHBhcmVudF9wYXRoKToKKy0gICAgICAgICAgICBwYXRoID0gcGFyZW50X3BhdGguX21h a2VfY2hpbGRfcmVscGF0aChuYW1lKQorLSAgICAgICAgICAgIGlmIGlzX2RpcihwYXRoKToKKy0g ICAgICAgICAgICAgICAgZm9yIHAgaW4gc2VsZi5faXRlcmF0ZV9kaXJlY3RvcmllcyhwYXRoLCBp c19kaXIsIGxpc3RkaXIpOgorLSAgICAgICAgICAgICAgICAgICAgeWllbGQgcAorLQorLSAgICBk ZWYgX3NlbGVjdF9mcm9tKHNlbGYsIHBhcmVudF9wYXRoLCBpc19kaXIsIGV4aXN0cywgbGlzdGRp cik6CistICAgICAgICBpZiBub3QgaXNfZGlyKHBhcmVudF9wYXRoKToKKy0gICAgICAgICAgICBy ZXR1cm4KKy0gICAgICAgIHdpdGggX2NhY2hlZChsaXN0ZGlyKSBhcyBsaXN0ZGlyOgorLSAgICAg ICAgICAgIHlpZWxkZWQgPSBzZXQoKQorLSAgICAgICAgICAgIHRyeToKKy0gICAgICAgICAgICAg ICAgc3VjY2Vzc29yX3NlbGVjdCA9IHNlbGYuc3VjY2Vzc29yLl9zZWxlY3RfZnJvbQorLSAgICAg ICAgICAgICAgICBmb3Igc3RhcnRpbmdfcG9pbnQgaW4gc2VsZi5faXRlcmF0ZV9kaXJlY3Rvcmll cyhwYXJlbnRfcGF0aCwgaXNfZGlyLCBsaXN0ZGlyKToKKy0gICAgICAgICAgICAgICAgICAgIGZv ciBwIGluIHN1Y2Nlc3Nvcl9zZWxlY3Qoc3RhcnRpbmdfcG9pbnQsIGlzX2RpciwgZXhpc3RzLCBs aXN0ZGlyKToKKy0gICAgICAgICAgICAgICAgICAgICAgICBpZiBwIG5vdCBpbiB5aWVsZGVkOgor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCBwCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHlpZWxkZWQuYWRkKHApCistICAgICAgICAgICAgZmluYWxseToKKy0gICAgICAg ICAgICAgICAgeWllbGRlZC5jbGVhcigpCistCistCistIworLSMgUHVibGljIEFQSQorLSMKKy0K Ky1jbGFzcyBfUGF0aFBhcmVudHMoU2VxdWVuY2UpOgorLSAgICAiIiJUaGlzIG9iamVjdCBwcm92 aWRlcyBzZXF1ZW5jZS1saWtlIGFjY2VzcyB0byB0aGUgbG9naWNhbCBhbmNlc3RvcnMKKy0gICAg b2YgYSBwYXRoLiAgRG9uJ3QgdHJ5IHRvIGNvbnN0cnVjdCBpdCB5b3Vyc2VsZi4iIiIKKy0gICAg X19zbG90c19fID0gKCdfcGF0aGNscycsICdfZHJ2JywgJ19yb290JywgJ19wYXJ0cycpCistCist ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoKToKKy0gICAgICAgICMgV2UgZG9uJ3Qgc3RvcmUg dGhlIGluc3RhbmNlIHRvIGF2b2lkIHJlZmVyZW5jZSBjeWNsZXMKKy0gICAgICAgIHNlbGYuX3Bh dGhjbHMgPSB0eXBlKHBhdGgpCistICAgICAgICBzZWxmLl9kcnYgPSBwYXRoLl9kcnYKKy0gICAg ICAgIHNlbGYuX3Jvb3QgPSBwYXRoLl9yb290CistICAgICAgICBzZWxmLl9wYXJ0cyA9IHBhdGgu X3BhcnRzCistCistICAgIGRlZiBfX2xlbl9fKHNlbGYpOgorLSAgICAgICAgaWYgc2VsZi5fZHJ2 IG9yIHNlbGYuX3Jvb3Q6CistICAgICAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9wYXJ0cykgLSAx CistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHJldHVybiBsZW4oc2VsZi5fcGFydHMpCist CistICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBpZHgpOgorLSAgICAgICAgaWYgaWR4IDwgMCBv ciBpZHggPj0gbGVuKHNlbGYpOgorLSAgICAgICAgICAgIHJhaXNlIEluZGV4RXJyb3IoaWR4KQor LSAgICAgICAgcmV0dXJuIHNlbGYuX3BhdGhjbHMuX2Zyb21fcGFyc2VkX3BhcnRzKHNlbGYuX2Ry diwgc2VsZi5fcm9vdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLl9wYXJ0c1s6LWlkeCAtIDFdKQorLQorLSAgICBkZWYgX19yZXByX18oc2Vs Zik6CistICAgICAgICByZXR1cm4gIjx7MH0ucGFyZW50cz4iLmZvcm1hdChzZWxmLl9wYXRoY2xz Ll9fbmFtZV9fKQorLQorLQorLWNsYXNzIFB1cmVQYXRoKG9iamVjdCk6CistICAgICIiIlB1cmVQ YXRoIHJlcHJlc2VudHMgYSBmaWxlc3lzdGVtIHBhdGggYW5kIG9mZmVycyBvcGVyYXRpb25zIHdo aWNoCistICAgIGRvbid0IGltcGx5IGFueSBhY3R1YWwgZmlsZXN5c3RlbSBJL08uICBEZXBlbmRp bmcgb24geW91ciBzeXN0ZW0sCistICAgIGluc3RhbnRpYXRpbmcgYSBQdXJlUGF0aCB3aWxsIHJl dHVybiBlaXRoZXIgYSBQdXJlUG9zaXhQYXRoIG9yIGEKKy0gICAgUHVyZVdpbmRvd3NQYXRoIG9i amVjdC4gIFlvdSBjYW4gYWxzbyBpbnN0YW50aWF0ZSBlaXRoZXIgb2YgdGhlc2UgY2xhc3Nlcwor LSAgICBkaXJlY3RseSwgcmVnYXJkbGVzcyBvZiB5b3VyIHN5c3RlbS4KKy0gICAgIiIiCistICAg IF9fc2xvdHNfXyA9ICgKKy0gICAgICAgICdfZHJ2JywgJ19yb290JywgJ19wYXJ0cycsCistICAg ICAgICAnX3N0cicsICdfaGFzaCcsICdfcHBhcnRzJywgJ19jYWNoZWRfY3BhcnRzJywKKy0gICAg KQorLQorLSAgICBkZWYgX19uZXdfXyhjbHMsICphcmdzKToKKy0gICAgICAgICIiIkNvbnN0cnVj dCBhIFB1cmVQYXRoIGZyb20gb25lIG9yIHNldmVyYWwgc3RyaW5ncyBhbmQgb3IgZXhpc3RpbmcK Ky0gICAgICAgIFB1cmVQYXRoIG9iamVjdHMuICBUaGUgc3RyaW5ncyBhbmQgcGF0aCBvYmplY3Rz IGFyZSBjb21iaW5lZCBzbyBhcworLSAgICAgICAgdG8geWllbGQgYSBjYW5vbmljYWxpemVkIHBh dGgsIHdoaWNoIGlzIGluY29ycG9yYXRlZCBpbnRvIHRoZQorLSAgICAgICAgbmV3IFB1cmVQYXRo IG9iamVjdC4KKy0gICAgICAgICIiIgorLSAgICAgICAgaWYgY2xzIGlzIFB1cmVQYXRoOgorLSAg ICAgICAgICAgIGNscyA9IFB1cmVXaW5kb3dzUGF0aCBpZiBvcy5uYW1lID09ICdudCcgZWxzZSBQ dXJlUG9zaXhQYXRoCistICAgICAgICByZXR1cm4gY2xzLl9mcm9tX3BhcnRzKGFyZ3MpCistCist ICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorLSAgICAgICAgIyBVc2luZyB0aGUgcGFydHMgdHVw bGUgaGVscHMgc2hhcmUgaW50ZXJuZWQgcGF0aCBwYXJ0cworLSAgICAgICAgIyB3aGVuIHBpY2ts aW5nIHJlbGF0ZWQgcGF0aHMuCistICAgICAgICByZXR1cm4gKHNlbGYuX19jbGFzc19fLCB0dXBs ZShzZWxmLl9wYXJ0cykpCistCistICAgIEBjbGFzc21ldGhvZAorLSAgICBkZWYgX3BhcnNlX2Fy Z3MoY2xzLCBhcmdzKToKKy0gICAgICAgICMgVGhpcyBpcyB1c2VmdWwgd2hlbiB5b3UgZG9uJ3Qg d2FudCB0byBjcmVhdGUgYW4gaW5zdGFuY2UsIGp1c3QKKy0gICAgICAgICMgY2Fub25pY2FsaXpl IHNvbWUgY29uc3RydWN0b3IgYXJndW1lbnRzLgorLSAgICAgICAgcGFydHMgPSBbXQorLSAgICAg ICAgZm9yIGEgaW4gYXJnczoKKy0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKGEsIFB1cmVQYXRo KToKKy0gICAgICAgICAgICAgICAgcGFydHMgKz0gYS5fcGFydHMKKy0gICAgICAgICAgICBlbGlm IGlzaW5zdGFuY2UoYSwgYmFzZXN0cmluZyk6CistICAgICAgICAgICAgICAgIHBhcnRzLmFwcGVu ZChhKQorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJv cigKKy0gICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCBzaG91bGQgYmUgYSBwYXRoIG9yIHN0 ciBvYmplY3QsIG5vdCAlciIKKy0gICAgICAgICAgICAgICAgICAgICUgdHlwZShhKSkKKy0gICAg ICAgIHJldHVybiBjbHMuX2ZsYXZvdXIucGFyc2VfcGFydHMocGFydHMpCistCistICAgIEBjbGFz c21ldGhvZAorLSAgICBkZWYgX2Zyb21fcGFydHMoY2xzLCBhcmdzLCBpbml0PVRydWUpOgorLSAg ICAgICAgIyBXZSBuZWVkIHRvIGNhbGwgX3BhcnNlX2FyZ3Mgb24gdGhlIGluc3RhbmNlLCBzbyBh cyB0byBnZXQgdGhlCistICAgICAgICAjIHJpZ2h0IGZsYXZvdXIuCistICAgICAgICBzZWxmID0g b2JqZWN0Ll9fbmV3X18oY2xzKQorLSAgICAgICAgZHJ2LCByb290LCBwYXJ0cyA9IHNlbGYuX3Bh cnNlX2FyZ3MoYXJncykKKy0gICAgICAgIHNlbGYuX2RydiA9IGRydgorLSAgICAgICAgc2VsZi5f cm9vdCA9IHJvb3QKKy0gICAgICAgIHNlbGYuX3BhcnRzID0gcGFydHMKKy0gICAgICAgIGlmIGlu aXQ6CistICAgICAgICAgICAgc2VsZi5faW5pdCgpCistICAgICAgICByZXR1cm4gc2VsZgorLQor LSAgICBAY2xhc3NtZXRob2QKKy0gICAgZGVmIF9mcm9tX3BhcnNlZF9wYXJ0cyhjbHMsIGRydiwg cm9vdCwgcGFydHMsIGluaXQ9VHJ1ZSk6CistICAgICAgICBzZWxmID0gb2JqZWN0Ll9fbmV3X18o Y2xzKQorLSAgICAgICAgc2VsZi5fZHJ2ID0gZHJ2CistICAgICAgICBzZWxmLl9yb290ID0gcm9v dAorLSAgICAgICAgc2VsZi5fcGFydHMgPSBwYXJ0cworLSAgICAgICAgaWYgaW5pdDoKKy0gICAg ICAgICAgICBzZWxmLl9pbml0KCkKKy0gICAgICAgIHJldHVybiBzZWxmCistCistICAgIEBjbGFz c21ldGhvZAorLSAgICBkZWYgX2Zvcm1hdF9wYXJzZWRfcGFydHMoY2xzLCBkcnYsIHJvb3QsIHBh cnRzKToKKy0gICAgICAgIGlmIGRydiBvciByb290OgorLSAgICAgICAgICAgIHJldHVybiBkcnYg KyByb290ICsgY2xzLl9mbGF2b3VyLmpvaW4ocGFydHNbMTpdKQorLSAgICAgICAgZWxzZToKKy0g ICAgICAgICAgICByZXR1cm4gY2xzLl9mbGF2b3VyLmpvaW4ocGFydHMpCistCistICAgIGRlZiBf aW5pdChzZWxmKToKKy0gICAgICAgICMgT3ZlcnJpZGVuIGluIGNvbmNyZXRlIFBhdGgKKy0gICAg ICAgIHBhc3MKKy0KKy0gICAgZGVmIF9tYWtlX2NoaWxkKHNlbGYsIGFyZ3MpOgorLSAgICAgICAg ZHJ2LCByb290LCBwYXJ0cyA9IHNlbGYuX3BhcnNlX2FyZ3MoYXJncykKKy0gICAgICAgIGRydiwg cm9vdCwgcGFydHMgPSBzZWxmLl9mbGF2b3VyLmpvaW5fcGFyc2VkX3BhcnRzKAorLSAgICAgICAg ICAgIHNlbGYuX2Rydiwgc2VsZi5fcm9vdCwgc2VsZi5fcGFydHMsIGRydiwgcm9vdCwgcGFydHMp CistICAgICAgICByZXR1cm4gc2VsZi5fZnJvbV9wYXJzZWRfcGFydHMoZHJ2LCByb290LCBwYXJ0 cykKKy0KKy0gICAgZGVmIF9fc3RyX18oc2VsZik6CistICAgICAgICAiIiJSZXR1cm4gdGhlIHN0 cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcGF0aCwgc3VpdGFibGUgZm9yCistICAgICAgICBw YXNzaW5nIHRvIHN5c3RlbSBjYWxscy4iIiIKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBy ZXR1cm4gc2VsZi5fc3RyCistICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CistICAgICAg ICAgICAgc2VsZi5fc3RyID0gc2VsZi5fZm9ybWF0X3BhcnNlZF9wYXJ0cyhzZWxmLl9kcnYsIHNl bGYuX3Jvb3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLl9wYXJ0cykgb3IgJy4nCistICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3N0cgor LQorLSAgICBkZWYgYXNfcG9zaXgoc2VsZik6CistICAgICAgICAiIiJSZXR1cm4gdGhlIHN0cmlu ZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcGF0aCB3aXRoIGZvcndhcmQgKC8pCistICAgICAgICBz bGFzaGVzLiIiIgorLSAgICAgICAgZiA9IHNlbGYuX2ZsYXZvdXIKKy0gICAgICAgIHJldHVybiBz dHIoc2VsZikucmVwbGFjZShmLnNlcCwgJy8nKQorLQorLSAgICBkZWYgX19ieXRlc19fKHNlbGYp OgorLSAgICAgICAgIiIiUmV0dXJuIHRoZSBieXRlcyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcGF0 aC4gIFRoaXMgaXMgb25seQorLSAgICAgICAgcmVjb21tZW5kZWQgdG8gdXNlIHVuZGVyIFVuaXgu IiIiCistICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMsIDIpOgorLSAgICAgICAgICAg IHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoIm5lZWRzIFB5dGhvbiAzLjIgb3IgbGF0ZXIiKQor LSAgICAgICAgcmV0dXJuIG9zLmZzZW5jb2RlKHN0cihzZWxmKSkKKy0KKy0gICAgZGVmIF9fcmVw cl9fKHNlbGYpOgorLSAgICAgICAgcmV0dXJuICJ7MH0oezEhcn0pIi5mb3JtYXQoc2VsZi5fX2Ns YXNzX18uX19uYW1lX18sIHNlbGYuYXNfcG9zaXgoKSkKKy0KKy0gICAgZGVmIGFzX3VyaShzZWxm KToKKy0gICAgICAgICIiIlJldHVybiB0aGUgcGF0aCBhcyBhICdmaWxlJyBVUkkuIiIiCistICAg ICAgICBpZiBub3Qgc2VsZi5pc19hYnNvbHV0ZSgpOgorLSAgICAgICAgICAgIHJhaXNlIFZhbHVl RXJyb3IoInJlbGF0aXZlIHBhdGggY2FuJ3QgYmUgZXhwcmVzc2VkIGFzIGEgZmlsZSBVUkkiKQor LSAgICAgICAgcmV0dXJuIHNlbGYuX2ZsYXZvdXIubWFrZV91cmkoc2VsZikKKy0KKy0gICAgQHBy b3BlcnR5CistICAgIGRlZiBfY3BhcnRzKHNlbGYpOgorLSAgICAgICAgIyBDYWNoZWQgY2FzZWZv bGRlZCBwYXJ0cywgZm9yIGhhc2hpbmcgYW5kIGNvbXBhcmlzb24KKy0gICAgICAgIHRyeToKKy0g ICAgICAgICAgICByZXR1cm4gc2VsZi5fY2FjaGVkX2NwYXJ0cworLSAgICAgICAgZXhjZXB0IEF0 dHJpYnV0ZUVycm9yOgorLSAgICAgICAgICAgIHNlbGYuX2NhY2hlZF9jcGFydHMgPSBzZWxmLl9m bGF2b3VyLmNhc2Vmb2xkX3BhcnRzKHNlbGYuX3BhcnRzKQorLSAgICAgICAgICAgIHJldHVybiBz ZWxmLl9jYWNoZWRfY3BhcnRzCistCistICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorLSAg ICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIFB1cmVQYXRoKToKKy0gICAgICAgICAgICBy ZXR1cm4gTm90SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVybiBzZWxmLl9jcGFydHMgPT0gb3Ro ZXIuX2NwYXJ0cyBhbmQgc2VsZi5fZmxhdm91ciBpcyBvdGhlci5fZmxhdm91cgorLQorLSAgICBk ZWYgX19uZV9fKHNlbGYsIG90aGVyKToKKy0gICAgICAgIHJldHVybiBub3Qgc2VsZiA9PSBvdGhl cgorLQorLSAgICBkZWYgX19oYXNoX18oc2VsZik6CistICAgICAgICB0cnk6CistICAgICAgICAg ICAgcmV0dXJuIHNlbGYuX2hhc2gKKy0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKy0g ICAgICAgICAgICBzZWxmLl9oYXNoID0gaGFzaCh0dXBsZShzZWxmLl9jcGFydHMpKQorLSAgICAg ICAgICAgIHJldHVybiBzZWxmLl9oYXNoCistCistICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIp OgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uob3RoZXIsIFB1cmVQYXRoKSBvciBzZWxmLl9m bGF2b3VyIGlzIG5vdCBvdGhlci5fZmxhdm91cjoKKy0gICAgICAgICAgICByZXR1cm4gTm90SW1w bGVtZW50ZWQKKy0gICAgICAgIHJldHVybiBzZWxmLl9jcGFydHMgPCBvdGhlci5fY3BhcnRzCist CistICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOgorLSAgICAgICAgaWYgbm90IGlzaW5zdGFu Y2Uob3RoZXIsIFB1cmVQYXRoKSBvciBzZWxmLl9mbGF2b3VyIGlzIG5vdCBvdGhlci5fZmxhdm91 cjoKKy0gICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKKy0gICAgICAgIHJldHVybiBz ZWxmLl9jcGFydHMgPD0gb3RoZXIuX2NwYXJ0cworLQorLSAgICBkZWYgX19ndF9fKHNlbGYsIG90 aGVyKToKKy0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG90aGVyLCBQdXJlUGF0aCkgb3Igc2Vs Zi5fZmxhdm91ciBpcyBub3Qgb3RoZXIuX2ZsYXZvdXI6CistICAgICAgICAgICAgcmV0dXJuIE5v dEltcGxlbWVudGVkCistICAgICAgICByZXR1cm4gc2VsZi5fY3BhcnRzID4gb3RoZXIuX2NwYXJ0 cworLQorLSAgICBkZWYgX19nZV9fKHNlbGYsIG90aGVyKToKKy0gICAgICAgIGlmIG5vdCBpc2lu c3RhbmNlKG90aGVyLCBQdXJlUGF0aCkgb3Igc2VsZi5fZmxhdm91ciBpcyBub3Qgb3RoZXIuX2Zs YXZvdXI6CistICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCistICAgICAgICByZXR1 cm4gc2VsZi5fY3BhcnRzID49IG90aGVyLl9jcGFydHMKKy0KKy0gICAgZHJpdmUgPSBwcm9wZXJ0 eShhdHRyZ2V0dGVyKCdfZHJ2JyksCistICAgICAgICAgICAgICAgICAgICAgZG9jPSIiIlRoZSBk cml2ZSBwcmVmaXggKGxldHRlciBvciBVTkMgcGF0aCksIGlmIGFueS4iIiIpCistCistICAgIHJv b3QgPSBwcm9wZXJ0eShhdHRyZ2V0dGVyKCdfcm9vdCcpLAorLSAgICAgICAgICAgICAgICAgICAg ZG9jPSIiIlRoZSByb290IG9mIHRoZSBwYXRoLCBpZiBhbnkuIiIiKQorLQorLSAgICBAcHJvcGVy dHkKKy0gICAgZGVmIGFuY2hvcihzZWxmKToKKy0gICAgICAgICIiIlRoZSBjb25jYXRlbmF0aW9u IG9mIHRoZSBkcml2ZSBhbmQgcm9vdCwgb3IgJycuIiIiCistICAgICAgICBhbmNob3IgPSBzZWxm Ll9kcnYgKyBzZWxmLl9yb290CistICAgICAgICByZXR1cm4gYW5jaG9yCistCistICAgIEBwcm9w ZXJ0eQorLSAgICBkZWYgbmFtZShzZWxmKToKKy0gICAgICAgICIiIlRoZSBmaW5hbCBwYXRoIGNv bXBvbmVudCwgaWYgYW55LiIiIgorLSAgICAgICAgcGFydHMgPSBzZWxmLl9wYXJ0cworLSAgICAg ICAgaWYgbGVuKHBhcnRzKSA9PSAoMSBpZiAoc2VsZi5fZHJ2IG9yIHNlbGYuX3Jvb3QpIGVsc2Ug MCk6CistICAgICAgICAgICAgcmV0dXJuICcnCistICAgICAgICByZXR1cm4gcGFydHNbLTFdCist CistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgc3VmZml4KHNlbGYpOgorLSAgICAgICAgIiIiVGhl IGZpbmFsIGNvbXBvbmVudCdzIGxhc3Qgc3VmZml4LCBpZiBhbnkuIiIiCistICAgICAgICBuYW1l ID0gc2VsZi5uYW1lCistICAgICAgICBpID0gbmFtZS5yZmluZCgnLicpCistICAgICAgICBpZiAw IDwgaSA8IGxlbihuYW1lKSAtIDE6CistICAgICAgICAgICAgcmV0dXJuIG5hbWVbaTpdCistICAg ICAgICBlbHNlOgorLSAgICAgICAgICAgIHJldHVybiAnJworLQorLSAgICBAcHJvcGVydHkKKy0g ICAgZGVmIHN1ZmZpeGVzKHNlbGYpOgorLSAgICAgICAgIiIiQSBsaXN0IG9mIHRoZSBmaW5hbCBj b21wb25lbnQncyBzdWZmaXhlcywgaWYgYW55LiIiIgorLSAgICAgICAgbmFtZSA9IHNlbGYubmFt ZQorLSAgICAgICAgaWYgbmFtZS5lbmRzd2l0aCgnLicpOgorLSAgICAgICAgICAgIHJldHVybiBb XQorLSAgICAgICAgbmFtZSA9IG5hbWUubHN0cmlwKCcuJykKKy0gICAgICAgIHJldHVybiBbJy4n ICsgc3VmZml4IGZvciBzdWZmaXggaW4gbmFtZS5zcGxpdCgnLicpWzE6XV0KKy0KKy0gICAgQHBy b3BlcnR5CistICAgIGRlZiBzdGVtKHNlbGYpOgorLSAgICAgICAgIiIiVGhlIGZpbmFsIHBhdGgg Y29tcG9uZW50LCBtaW51cyBpdHMgbGFzdCBzdWZmaXguIiIiCistICAgICAgICBuYW1lID0gc2Vs Zi5uYW1lCistICAgICAgICBpID0gbmFtZS5yZmluZCgnLicpCistICAgICAgICBpZiAwIDwgaSA8 IGxlbihuYW1lKSAtIDE6CistICAgICAgICAgICAgcmV0dXJuIG5hbWVbOmldCistICAgICAgICBl bHNlOgorLSAgICAgICAgICAgIHJldHVybiBuYW1lCistCistICAgIGRlZiB3aXRoX25hbWUoc2Vs ZiwgbmFtZSk6CistICAgICAgICAiIiJSZXR1cm4gYSBuZXcgcGF0aCB3aXRoIHRoZSBmaWxlIG5h bWUgY2hhbmdlZC4iIiIKKy0gICAgICAgIGlmIG5vdCBzZWxmLm5hbWU6CistICAgICAgICAgICAg cmFpc2UgVmFsdWVFcnJvcigiJXIgaGFzIGFuIGVtcHR5IG5hbWUiICUgKHNlbGYsKSkKKy0gICAg ICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnNlZF9wYXJ0cyhzZWxmLl9kcnYsIHNlbGYuX3Jvb3Qs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFydHNbOi0x XSArIFtuYW1lXSkKKy0KKy0gICAgZGVmIHdpdGhfc3VmZml4KHNlbGYsIHN1ZmZpeCk6CistICAg ICAgICAiIiJSZXR1cm4gYSBuZXcgcGF0aCB3aXRoIHRoZSBmaWxlIHN1ZmZpeCBjaGFuZ2VkIChv ciBhZGRlZCwgaWYgbm9uZSkuIiIiCistICAgICAgICAjIFhYWCBpZiBzdWZmaXggaXMgTm9uZSwg c2hvdWxkIHRoZSBjdXJyZW50IHN1ZmZpeCBiZSByZW1vdmVkPworLSAgICAgICAgZHJ2LCByb290 LCBwYXJ0cyA9IHNlbGYuX2ZsYXZvdXIucGFyc2VfcGFydHMoKHN1ZmZpeCwpKQorLSAgICAgICAg aWYgZHJ2IG9yIHJvb3Qgb3IgbGVuKHBhcnRzKSAhPSAxOgorLSAgICAgICAgICAgIHJhaXNlIFZh bHVlRXJyb3IoIkludmFsaWQgc3VmZml4ICVyIiAlIChzdWZmaXgpKQorLSAgICAgICAgc3VmZml4 ID0gcGFydHNbMF0KKy0gICAgICAgIGlmIG5vdCBzdWZmaXguc3RhcnRzd2l0aCgnLicpOgorLSAg ICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgc3VmZml4ICVyIiAlIChzdWZmaXgp KQorLSAgICAgICAgbmFtZSA9IHNlbGYubmFtZQorLSAgICAgICAgaWYgbm90IG5hbWU6CistICAg ICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXIgaGFzIGFuIGVtcHR5IG5hbWUiICUgKHNlbGYs KSkKKy0gICAgICAgIG9sZF9zdWZmaXggPSBzZWxmLnN1ZmZpeAorLSAgICAgICAgaWYgbm90IG9s ZF9zdWZmaXg6CistICAgICAgICAgICAgbmFtZSA9IG5hbWUgKyBzdWZmaXgKKy0gICAgICAgIGVs c2U6CistICAgICAgICAgICAgbmFtZSA9IG5hbWVbOi1sZW4ob2xkX3N1ZmZpeCldICsgc3VmZml4 CistICAgICAgICByZXR1cm4gc2VsZi5fZnJvbV9wYXJzZWRfcGFydHMoc2VsZi5fZHJ2LCBzZWxm Ll9yb290LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Bh cnRzWzotMV0gKyBbbmFtZV0pCistCistICAgIGRlZiByZWxhdGl2ZV90byhzZWxmLCAqb3RoZXIp OgorLSAgICAgICAgIiIiUmV0dXJuIHRoZSByZWxhdGl2ZSBwYXRoIHRvIGFub3RoZXIgcGF0aCBp ZGVudGlmaWVkIGJ5IHRoZSBwYXNzZWQKKy0gICAgICAgIGFyZ3VtZW50cy4gIElmIHRoZSBvcGVy YXRpb24gaXMgbm90IHBvc3NpYmxlIChiZWNhdXNlIHRoaXMgaXMgbm90CistICAgICAgICBhIHN1 YnBhdGggb2YgdGhlIG90aGVyIHBhdGgpLCByYWlzZSBWYWx1ZUVycm9yLgorLSAgICAgICAgIiIi CistICAgICAgICAjIEZvciB0aGUgcHVycG9zZSBvZiB0aGlzIG1ldGhvZCwgZHJpdmUgYW5kIHJv b3QgYXJlIGNvbnNpZGVyZWQKKy0gICAgICAgICMgc2VwYXJhdGUgcGFydHMsIGkuZS46CistICAg ICAgICAjICAgUGF0aCgnYzovJykucmVsYXRpdmVfdG8oJ2M6JykgIGdpdmVzIFBhdGgoJy8nKQor LSAgICAgICAgIyAgIFBhdGgoJ2M6LycpLnJlbGF0aXZlX3RvKCcvJykgICByYWlzZSBWYWx1ZUVy cm9yCistICAgICAgICBpZiBub3Qgb3RoZXI6CistICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9y KCJuZWVkIGF0IGxlYXN0IG9uZSBhcmd1bWVudCIpCistICAgICAgICBwYXJ0cyA9IHNlbGYuX3Bh cnRzCistICAgICAgICBkcnYgPSBzZWxmLl9kcnYKKy0gICAgICAgIHJvb3QgPSBzZWxmLl9yb290 CistICAgICAgICBpZiByb290OgorLSAgICAgICAgICAgIGFic19wYXJ0cyA9IFtkcnYsIHJvb3Rd ICsgcGFydHNbMTpdCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIGFic19wYXJ0cyA9IHBh cnRzCistICAgICAgICB0b19kcnYsIHRvX3Jvb3QsIHRvX3BhcnRzID0gc2VsZi5fcGFyc2VfYXJn cyhvdGhlcikKKy0gICAgICAgIGlmIHRvX3Jvb3Q6CistICAgICAgICAgICAgdG9fYWJzX3BhcnRz ID0gW3RvX2RydiwgdG9fcm9vdF0gKyB0b19wYXJ0c1sxOl0KKy0gICAgICAgIGVsc2U6CistICAg ICAgICAgICAgdG9fYWJzX3BhcnRzID0gdG9fcGFydHMKKy0gICAgICAgIG4gPSBsZW4odG9fYWJz X3BhcnRzKQorLSAgICAgICAgY2YgPSBzZWxmLl9mbGF2b3VyLmNhc2Vmb2xkX3BhcnRzCistICAg ICAgICBpZiAocm9vdCBvciBkcnYpIGlmIG4gPT0gMCBlbHNlIGNmKGFic19wYXJ0c1s6bl0pICE9 IGNmKHRvX2Fic19wYXJ0cyk6CistICAgICAgICAgICAgZm9ybWF0dGVkID0gc2VsZi5fZm9ybWF0 X3BhcnNlZF9wYXJ0cyh0b19kcnYsIHRvX3Jvb3QsIHRvX3BhcnRzKQorLSAgICAgICAgICAgIHJh aXNlIFZhbHVlRXJyb3IoInshcn0gZG9lcyBub3Qgc3RhcnQgd2l0aCB7IXJ9IgorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChzdHIoc2VsZiksIHN0cihmb3JtYXR0ZWQpKSkK Ky0gICAgICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnNlZF9wYXJ0cygnJywgcm9vdCBpZiBuID09 IDEgZWxzZSAnJywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNf cGFydHNbbjpdKQorLQorLSAgICBAcHJvcGVydHkKKy0gICAgZGVmIHBhcnRzKHNlbGYpOgorLSAg ICAgICAgIiIiQW4gb2JqZWN0IHByb3ZpZGluZyBzZXF1ZW5jZS1saWtlIGFjY2VzcyB0byB0aGUK Ky0gICAgICAgIGNvbXBvbmVudHMgaW4gdGhlIGZpbGVzeXN0ZW0gcGF0aC4iIiIKKy0gICAgICAg ICMgV2UgY2FjaGUgdGhlIHR1cGxlIHRvIGF2b2lkIGJ1aWxkaW5nIGEgbmV3IG9uZSBlYWNoIHRp bWUgLnBhcnRzCistICAgICAgICAjIGlzIGFjY2Vzc2VkLiAgWFhYIGlzIHRoaXMgbmVjZXNzYXJ5 PworLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9wcGFydHMKKy0gICAg ICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKy0gICAgICAgICAgICBzZWxmLl9wcGFydHMgPSB0 dXBsZShzZWxmLl9wYXJ0cykKKy0gICAgICAgICAgICByZXR1cm4gc2VsZi5fcHBhcnRzCistCist ICAgIGRlZiBqb2lucGF0aChzZWxmLCAqYXJncyk6CistICAgICAgICAiIiJDb21iaW5lIHRoaXMg cGF0aCB3aXRoIG9uZSBvciBzZXZlcmFsIGFyZ3VtZW50cywgYW5kIHJldHVybiBhCistICAgICAg ICBuZXcgcGF0aCByZXByZXNlbnRpbmcgZWl0aGVyIGEgc3VicGF0aCAoaWYgYWxsIGFyZ3VtZW50 cyBhcmUgcmVsYXRpdmUKKy0gICAgICAgIHBhdGhzKSBvciBhIHRvdGFsbHkgZGlmZmVyZW50IHBh dGggKGlmIG9uZSBvZiB0aGUgYXJndW1lbnRzIGlzCistICAgICAgICBhbmNob3JlZCkuCistICAg ICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9tYWtlX2NoaWxkKGFyZ3MpCistCistICAg IGRlZiBfX3RydWVkaXZfXyhzZWxmLCBrZXkpOgorLSAgICAgICAgcmV0dXJuIHNlbGYuX21ha2Vf Y2hpbGQoKGtleSwpKQorLQorLSAgICBkZWYgX19ydHJ1ZWRpdl9fKHNlbGYsIGtleSk6CistICAg ICAgICByZXR1cm4gc2VsZi5fZnJvbV9wYXJ0cyhba2V5XSArIHNlbGYuX3BhcnRzKQorLQorLSAg ICBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMsKToKKy0gICAgICAgIF9fZGl2X18gPSBfX3RydWVk aXZfXworLSAgICAgICAgX19yZGl2X18gPSBfX3J0cnVlZGl2X18KKy0KKy0gICAgQHByb3BlcnR5 CistICAgIGRlZiBwYXJlbnQoc2VsZik6CistICAgICAgICAiIiJUaGUgbG9naWNhbCBwYXJlbnQg b2YgdGhlIHBhdGguIiIiCistICAgICAgICBkcnYgPSBzZWxmLl9kcnYKKy0gICAgICAgIHJvb3Qg PSBzZWxmLl9yb290CistICAgICAgICBwYXJ0cyA9IHNlbGYuX3BhcnRzCistICAgICAgICBpZiBs ZW4ocGFydHMpID09IDEgYW5kIChkcnYgb3Igcm9vdCk6CistICAgICAgICAgICAgcmV0dXJuIHNl bGYKKy0gICAgICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnNlZF9wYXJ0cyhkcnYsIHJvb3QsIHBh cnRzWzotMV0pCistCistICAgIEBwcm9wZXJ0eQorLSAgICBkZWYgcGFyZW50cyhzZWxmKToKKy0g ICAgICAgICIiIkEgc2VxdWVuY2Ugb2YgdGhpcyBwYXRoJ3MgbG9naWNhbCBwYXJlbnRzLiIiIgor LSAgICAgICAgcmV0dXJuIF9QYXRoUGFyZW50cyhzZWxmKQorLQorLSAgICBkZWYgaXNfYWJzb2x1 dGUoc2VsZik6CistICAgICAgICAiIiJUcnVlIGlmIHRoZSBwYXRoIGlzIGFic29sdXRlIChoYXMg Ym90aCBhIHJvb3QgYW5kLCBpZiBhcHBsaWNhYmxlLAorLSAgICAgICAgYSBkcml2ZSkuIiIiCist ICAgICAgICBpZiBub3Qgc2VsZi5fcm9vdDoKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0g ICAgICAgIHJldHVybiBub3Qgc2VsZi5fZmxhdm91ci5oYXNfZHJ2IG9yIGJvb2woc2VsZi5fZHJ2 KQorLQorLSAgICBkZWYgaXNfcmVzZXJ2ZWQoc2VsZik6CistICAgICAgICAiIiJSZXR1cm4gVHJ1 ZSBpZiB0aGUgcGF0aCBjb250YWlucyBvbmUgb2YgdGhlIHNwZWNpYWwgbmFtZXMgcmVzZXJ2ZWQK Ky0gICAgICAgIGJ5IHRoZSBzeXN0ZW0sIGlmIGFueS4iIiIKKy0gICAgICAgIHJldHVybiBzZWxm Ll9mbGF2b3VyLmlzX3Jlc2VydmVkKHNlbGYuX3BhcnRzKQorLQorLSAgICBkZWYgbWF0Y2goc2Vs ZiwgcGF0aF9wYXR0ZXJuKToKKy0gICAgICAgICIiIgorLSAgICAgICAgUmV0dXJuIFRydWUgaWYg dGhpcyBwYXRoIG1hdGNoZXMgdGhlIGdpdmVuIHBhdHRlcm4uCistICAgICAgICAiIiIKKy0gICAg ICAgIGNmID0gc2VsZi5fZmxhdm91ci5jYXNlZm9sZAorLSAgICAgICAgcGF0aF9wYXR0ZXJuID0g Y2YocGF0aF9wYXR0ZXJuKQorLSAgICAgICAgZHJ2LCByb290LCBwYXRfcGFydHMgPSBzZWxmLl9m bGF2b3VyLnBhcnNlX3BhcnRzKChwYXRoX3BhdHRlcm4sKSkKKy0gICAgICAgIGlmIG5vdCBwYXRf cGFydHM6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiZW1wdHkgcGF0dGVybiIpCist ICAgICAgICBpZiBkcnYgYW5kIGRydiAhPSBjZihzZWxmLl9kcnYpOgorLSAgICAgICAgICAgIHJl dHVybiBGYWxzZQorLSAgICAgICAgaWYgcm9vdCBhbmQgcm9vdCAhPSBjZihzZWxmLl9yb290KToK Ky0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIHBhcnRzID0gc2VsZi5fY3BhcnRz CistICAgICAgICBpZiBkcnYgb3Igcm9vdDoKKy0gICAgICAgICAgICBpZiBsZW4ocGF0X3BhcnRz KSAhPSBsZW4ocGFydHMpOgorLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAg ICAgICBwYXRfcGFydHMgPSBwYXRfcGFydHNbMTpdCistICAgICAgICBlbGlmIGxlbihwYXRfcGFy dHMpID4gbGVuKHBhcnRzKToKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIGZv ciBwYXJ0LCBwYXQgaW4gemlwKHJldmVyc2VkKHBhcnRzKSwgcmV2ZXJzZWQocGF0X3BhcnRzKSk6 CistICAgICAgICAgICAgaWYgbm90IGZubWF0Y2guZm5tYXRjaGNhc2UocGFydCwgcGF0KToKKy0g ICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCistICAgICAgICByZXR1cm4gVHJ1ZQorLQorLQor LWNsYXNzIFB1cmVQb3NpeFBhdGgoUHVyZVBhdGgpOgorLSAgICBfZmxhdm91ciA9IF9wb3NpeF9m bGF2b3VyCistICAgIF9fc2xvdHNfXyA9ICgpCistCistCistY2xhc3MgUHVyZVdpbmRvd3NQYXRo KFB1cmVQYXRoKToKKy0gICAgX2ZsYXZvdXIgPSBfd2luZG93c19mbGF2b3VyCistICAgIF9fc2xv dHNfXyA9ICgpCistCistCistIyBGaWxlc3lzdGVtLWFjY2Vzc2luZyBjbGFzc2VzCistCistCist Y2xhc3MgUGF0aChQdXJlUGF0aCk6CistICAgIF9fc2xvdHNfXyA9ICgKKy0gICAgICAgICdfYWNj ZXNzb3InLAorLSAgICApCistCistICAgIGRlZiBfX25ld19fKGNscywgKmFyZ3MsICoqa3dhcmdz KToKKy0gICAgICAgIGlmIGNscyBpcyBQYXRoOgorLSAgICAgICAgICAgIGNscyA9IFdpbmRvd3NQ YXRoIGlmIG9zLm5hbWUgPT0gJ250JyBlbHNlIFBvc2l4UGF0aAorLSAgICAgICAgc2VsZiA9IGNs cy5fZnJvbV9wYXJ0cyhhcmdzLCBpbml0PUZhbHNlKQorLSAgICAgICAgaWYgbm90IHNlbGYuX2Zs YXZvdXIuaXNfc3VwcG9ydGVkOgorLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJy b3IoImNhbm5vdCBpbnN0YW50aWF0ZSAlciBvbiB5b3VyIHN5c3RlbSIKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICUgKGNscy5fX25hbWVfXywpKQorLSAgICAgICAgc2Vs Zi5faW5pdCgpCistICAgICAgICByZXR1cm4gc2VsZgorLQorLSAgICBkZWYgX2luaXQoc2VsZiwK Ky0gICAgICAgICAgICAgICMgUHJpdmF0ZSBub24tY29uc3RydWN0b3IgYXJndW1lbnRzCistICAg ICAgICAgICAgICB0ZW1wbGF0ZT1Ob25lLAorLSAgICAgICAgICAgICAgKToKKy0gICAgICAgIGlm IHRlbXBsYXRlIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgIHNlbGYuX2FjY2Vzc29yID0gdGVt cGxhdGUuX2FjY2Vzc29yCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHNlbGYuX2FjY2Vz c29yID0gX25vcm1hbF9hY2Nlc3NvcgorLQorLSAgICBkZWYgX21ha2VfY2hpbGRfcmVscGF0aChz ZWxmLCBwYXJ0KToKKy0gICAgICAgICMgVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gdXNlZCBmb3Ig ZGlyIHdhbGtpbmcuICBgcGFydGAgbXVzdCBiZQorLSAgICAgICAgIyBhIHNpbmdsZSBwYXJ0IHJl bGF0aXZlIHRvIHRoaXMgcGF0aC4KKy0gICAgICAgIHBhcnRzID0gc2VsZi5fcGFydHMgKyBbcGFy dF0KKy0gICAgICAgIHJldHVybiBzZWxmLl9mcm9tX3BhcnNlZF9wYXJ0cyhzZWxmLl9kcnYsIHNl bGYuX3Jvb3QsIHBhcnRzKQorLQorLSAgICBkZWYgX29wZW5lcihzZWxmLCBuYW1lLCBmbGFncywg bW9kZT0wbzY2Nik6CistICAgICAgICAjIEEgc3R1YiBmb3IgdGhlIG9wZW5lciBhcmd1bWVudCB0 byBidWlsdC1pbiBvcGVuKCkKKy0gICAgICAgIHJldHVybiBzZWxmLl9hY2Nlc3Nvci5vcGVuKHNl bGYsIGZsYWdzLCBtb2RlKQorLQorLSAgICBkZWYgX3Jhd19vcGVuKHNlbGYsIGZsYWdzLCBtb2Rl PTBvNzc3KToKKy0gICAgICAgICIiIgorLSAgICAgICAgT3BlbiB0aGUgZmlsZSBwb2ludGVkIGJ5 IHRoaXMgcGF0aCBhbmQgcmV0dXJuIGEgZmlsZSBkZXNjcmlwdG9yLAorLSAgICAgICAgYXMgb3Mu b3BlbigpIGRvZXMuCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9hY2Nlc3Nv ci5vcGVuKHNlbGYsIGZsYWdzLCBtb2RlKQorLQorLSAgICAjIFB1YmxpYyBBUEkKKy0KKy0gICAg QGNsYXNzbWV0aG9kCistICAgIGRlZiBjd2QoY2xzKToKKy0gICAgICAgICIiIlJldHVybiBhIG5l dyBwYXRoIHBvaW50aW5nIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5CistICAgICAg ICAoYXMgcmV0dXJuZWQgYnkgb3MuZ2V0Y3dkKCkpLgorLSAgICAgICAgIiIiCistICAgICAgICBy ZXR1cm4gY2xzKG9zLmdldGN3ZCgpKQorLQorLSAgICBkZWYgaXRlcmRpcihzZWxmKToKKy0gICAg ICAgICIiIkl0ZXJhdGUgb3ZlciB0aGUgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkuICBEb2VzIG5v dCB5aWVsZCBhbnkKKy0gICAgICAgIHJlc3VsdCBmb3IgdGhlIHNwZWNpYWwgcGF0aHMgJy4nIGFu ZCAnLi4nLgorLSAgICAgICAgIiIiCistICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLl9hY2Nlc3Nv ci5saXN0ZGlyKHNlbGYpOgorLSAgICAgICAgICAgIGlmIG5hbWUgaW4gKCcuJywgJy4uJyk6Cist ICAgICAgICAgICAgICAgICMgWWllbGRpbmcgYSBwYXRoIG9iamVjdCBmb3IgdGhlc2UgbWFrZXMg bGl0dGxlIHNlbnNlCistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgeWll bGQgc2VsZi5fbWFrZV9jaGlsZF9yZWxwYXRoKG5hbWUpCistCistICAgIGRlZiBnbG9iKHNlbGYs IHBhdHRlcm4pOgorLSAgICAgICAgIiIiSXRlcmF0ZSBvdmVyIHRoaXMgc3VidHJlZSBhbmQgeWll bGQgYWxsIGV4aXN0aW5nIGZpbGVzIChvZiBhbnkKKy0gICAgICAgIGtpbmQsIGluY2x1ZGluZyBk aXJlY3RvcmllcykgbWF0Y2hpbmcgdGhlIGdpdmVuIHBhdHRlcm4uCistICAgICAgICAiIiIKKy0g ICAgICAgIHBhdHRlcm4gPSBzZWxmLl9mbGF2b3VyLmNhc2Vmb2xkKHBhdHRlcm4pCistICAgICAg ICBkcnYsIHJvb3QsIHBhdHRlcm5fcGFydHMgPSBzZWxmLl9mbGF2b3VyLnBhcnNlX3BhcnRzKChw YXR0ZXJuLCkpCistICAgICAgICBpZiBkcnYgb3Igcm9vdDoKKy0gICAgICAgICAgICByYWlzZSBO b3RJbXBsZW1lbnRlZEVycm9yKCJOb24tcmVsYXRpdmUgcGF0dGVybnMgYXJlIHVuc3VwcG9ydGVk IikKKy0gICAgICAgIHNlbGVjdG9yID0gX21ha2Vfc2VsZWN0b3IodHVwbGUocGF0dGVybl9wYXJ0 cykpCistICAgICAgICBmb3IgcCBpbiBzZWxlY3Rvci5zZWxlY3RfZnJvbShzZWxmKToKKy0gICAg ICAgICAgICB5aWVsZCBwCistCistICAgIGRlZiByZ2xvYihzZWxmLCBwYXR0ZXJuKToKKy0gICAg ICAgICIiIlJlY3Vyc2l2ZWx5IHlpZWxkIGFsbCBleGlzdGluZyBmaWxlcyAob2YgYW55IGtpbmQs IGluY2x1ZGluZworLSAgICAgICAgZGlyZWN0b3JpZXMpIG1hdGNoaW5nIHRoZSBnaXZlbiBwYXR0 ZXJuLCBhbnl3aGVyZSBpbiB0aGlzIHN1YnRyZWUuCistICAgICAgICAiIiIKKy0gICAgICAgIHBh dHRlcm4gPSBzZWxmLl9mbGF2b3VyLmNhc2Vmb2xkKHBhdHRlcm4pCistICAgICAgICBkcnYsIHJv b3QsIHBhdHRlcm5fcGFydHMgPSBzZWxmLl9mbGF2b3VyLnBhcnNlX3BhcnRzKChwYXR0ZXJuLCkp CistICAgICAgICBpZiBkcnYgb3Igcm9vdDoKKy0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1l bnRlZEVycm9yKCJOb24tcmVsYXRpdmUgcGF0dGVybnMgYXJlIHVuc3VwcG9ydGVkIikKKy0gICAg ICAgIHNlbGVjdG9yID0gX21ha2Vfc2VsZWN0b3IoKCIqKiIsKSArIHR1cGxlKHBhdHRlcm5fcGFy dHMpKQorLSAgICAgICAgZm9yIHAgaW4gc2VsZWN0b3Iuc2VsZWN0X2Zyb20oc2VsZik6CistICAg ICAgICAgICAgeWllbGQgcAorLQorLSAgICBkZWYgYWJzb2x1dGUoc2VsZik6CistICAgICAgICAi IiJSZXR1cm4gYW4gYWJzb2x1dGUgdmVyc2lvbiBvZiB0aGlzIHBhdGguICBUaGlzIGZ1bmN0aW9u IHdvcmtzCistICAgICAgICBldmVuIGlmIHRoZSBwYXRoIGRvZXNuJ3QgcG9pbnQgdG8gYW55dGhp bmcuCistCistICAgICAgICBObyBub3JtYWxpemF0aW9uIGlzIGRvbmUsIGkuZS4gYWxsICcuJyBh bmQgJy4uJyB3aWxsIGJlIGtlcHQgYWxvbmcuCistICAgICAgICBVc2UgcmVzb2x2ZSgpIHRvIGdl dCB0aGUgY2Fub25pY2FsIHBhdGggdG8gYSBmaWxlLgorLSAgICAgICAgIiIiCistICAgICAgICAj IFhYWCB1bnRlc3RlZCB5ZXQhCistICAgICAgICBpZiBzZWxmLmlzX2Fic29sdXRlKCk6CistICAg ICAgICAgICAgcmV0dXJuIHNlbGYKKy0gICAgICAgICMgRklYTUUgdGhpcyBtdXN0IGRlZmVyIHRv IHRoZSBzcGVjaWZpYyBmbGF2b3VyIChhbmQsIHVuZGVyIFdpbmRvd3MsCistICAgICAgICAjIHVz ZSBudC5fZ2V0ZnVsbHBhdGhuYW1lKCkpCistICAgICAgICBvYmogPSBzZWxmLl9mcm9tX3BhcnRz KFtvcy5nZXRjd2QoKV0gKyBzZWxmLl9wYXJ0cywgaW5pdD1GYWxzZSkKKy0gICAgICAgIG9iai5f aW5pdCh0ZW1wbGF0ZT1zZWxmKQorLSAgICAgICAgcmV0dXJuIG9iagorLQorLSAgICBkZWYgcmVz b2x2ZShzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAgTWFrZSB0aGUgcGF0aCBhYnNvbHV0 ZSwgcmVzb2x2aW5nIGFsbCBzeW1saW5rcyBvbiB0aGUgd2F5IGFuZCBhbHNvCistICAgICAgICBu b3JtYWxpemluZyBpdCAoZm9yIGV4YW1wbGUgdHVybmluZyBzbGFzaGVzIGludG8gYmFja3NsYXNo ZXMgdW5kZXIKKy0gICAgICAgIFdpbmRvd3MpLgorLSAgICAgICAgIiIiCistICAgICAgICBzID0g c2VsZi5fZmxhdm91ci5yZXNvbHZlKHNlbGYpCistICAgICAgICBpZiBzIGlzIE5vbmU6CistICAg ICAgICAgICAgIyBObyBzeW1saW5rIHJlc29sdXRpb24gPT4gZm9yIGNvbnNpc3RlbmN5LCByYWlz ZSBhbiBlcnJvciBpZgorLSAgICAgICAgICAgICMgdGhlIHBhdGggZG9lc24ndCBleGlzdCBvciBp cyBmb3JiaWRkZW4KKy0gICAgICAgICAgICBzZWxmLnN0YXQoKQorLSAgICAgICAgICAgIHMgPSBz dHIoc2VsZi5hYnNvbHV0ZSgpKQorLSAgICAgICAgIyBOb3cgd2UgaGF2ZSBubyBzeW1saW5rcyBp biB0aGUgcGF0aCwgaXQncyBzYWZlIHRvIG5vcm1hbGl6ZSBpdC4KKy0gICAgICAgIG5vcm1lZCA9 IHNlbGYuX2ZsYXZvdXIucGF0aG1vZC5ub3JtcGF0aChzKQorLSAgICAgICAgb2JqID0gc2VsZi5f ZnJvbV9wYXJ0cygobm9ybWVkLCksIGluaXQ9RmFsc2UpCistICAgICAgICBvYmouX2luaXQodGVt cGxhdGU9c2VsZikKKy0gICAgICAgIHJldHVybiBvYmoKKy0KKy0gICAgZGVmIHN0YXQoc2VsZik6 CistICAgICAgICAiIiIKKy0gICAgICAgIFJldHVybiB0aGUgcmVzdWx0IG9mIHRoZSBzdGF0KCkg c3lzdGVtIGNhbGwgb24gdGhpcyBwYXRoLCBsaWtlCistICAgICAgICBvcy5zdGF0KCkgZG9lcy4K Ky0gICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuX2FjY2Vzc29yLnN0YXQoc2VsZikK Ky0KKy0gICAgZGVmIG93bmVyKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBSZXR1cm4g dGhlIGxvZ2luIG5hbWUgb2YgdGhlIGZpbGUgb3duZXIuCistICAgICAgICAiIiIKKy0gICAgICAg IGltcG9ydCBwd2QKKy0gICAgICAgIHJldHVybiBwd2QuZ2V0cHd1aWQoc2VsZi5zdGF0KCkuc3Rf dWlkKS5wd19uYW1lCistCistICAgIGRlZiBncm91cChzZWxmKToKKy0gICAgICAgICIiIgorLSAg ICAgICAgUmV0dXJuIHRoZSBncm91cCBuYW1lIG9mIHRoZSBmaWxlIGdpZC4KKy0gICAgICAgICIi IgorLSAgICAgICAgaW1wb3J0IGdycAorLSAgICAgICAgcmV0dXJuIGdycC5nZXRncmdpZChzZWxm LnN0YXQoKS5zdF9naWQpLmdyX25hbWUKKy0KKy0gICAgZGVmIG9wZW4oc2VsZiwgbW9kZT0ncics IGJ1ZmZlcmluZz0tMSwgZW5jb2Rpbmc9Tm9uZSwKKy0gICAgICAgICAgICAgZXJyb3JzPU5vbmUs IG5ld2xpbmU9Tm9uZSk6CistICAgICAgICAiIiIKKy0gICAgICAgIE9wZW4gdGhlIGZpbGUgcG9p bnRlZCBieSB0aGlzIHBhdGggYW5kIHJldHVybiBhIGZpbGUgb2JqZWN0LCBhcworLSAgICAgICAg dGhlIGJ1aWx0LWluIG9wZW4oKSBmdW5jdGlvbiBkb2VzLgorLSAgICAgICAgIiIiCistICAgICAg ICBpZiBzeXMudmVyc2lvbl9pbmZvID49ICgzLCAzKToKKy0gICAgICAgICAgICByZXR1cm4gaW8u b3BlbihzdHIoc2VsZiksIG1vZGUsIGJ1ZmZlcmluZywgZW5jb2RpbmcsIGVycm9ycywgbmV3bGlu ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuZXI9c2VsZi5fb3BlbmVyKQorLSAg ICAgICAgZWxzZToKKy0gICAgICAgICAgICByZXR1cm4gaW8ub3BlbihzdHIoc2VsZiksIG1vZGUs IGJ1ZmZlcmluZywgZW5jb2RpbmcsIGVycm9ycywgbmV3bGluZSkKKy0KKy0gICAgZGVmIHRvdWNo KHNlbGYsIG1vZGU9MG82NjYsIGV4aXN0X29rPVRydWUpOgorLSAgICAgICAgIiIiCistICAgICAg ICBDcmVhdGUgdGhpcyBmaWxlIHdpdGggdGhlIGdpdmVuIGFjY2VzcyBtb2RlLCBpZiBpdCBkb2Vz bid0IGV4aXN0LgorLSAgICAgICAgIiIiCistICAgICAgICBpZiBleGlzdF9vazoKKy0gICAgICAg ICAgICAjIEZpcnN0IHRyeSB0byBidW1wIG1vZGlmaWNhdGlvbiB0aW1lCistICAgICAgICAgICAg IyBJbXBsZW1lbnRhdGlvbiBub3RlOiBHTlUgdG91Y2ggdXNlcyB0aGUgVVRJTUVfTk9XIG9wdGlv biBvZgorLSAgICAgICAgICAgICMgdGhlIHV0aW1lbnNhdCgpIC8gZnV0aW1lbnMoKSBmdW5jdGlv bnMuCistICAgICAgICAgICAgdCA9IHRpbWUudGltZSgpCistICAgICAgICAgICAgdHJ5OgorLSAg ICAgICAgICAgICAgICBzZWxmLl9hY2Nlc3Nvci51dGltZShzZWxmLCAodCwgdCkpCistICAgICAg ICAgICAgZXhjZXB0IE9TRXJyb3I6CistICAgICAgICAgICAgICAgICMgQXZvaWQgZXhjZXB0aW9u IGNoYWluaW5nCistICAgICAgICAgICAgICAgIHBhc3MKKy0gICAgICAgICAgICBlbHNlOgorLSAg ICAgICAgICAgICAgICByZXR1cm4KKy0gICAgICAgIGZsYWdzID0gb3MuT19DUkVBVCB8IG9zLk9f V1JPTkxZCistICAgICAgICBpZiBub3QgZXhpc3Rfb2s6CistICAgICAgICAgICAgZmxhZ3MgfD0g b3MuT19FWENMCistICAgICAgICBmZCA9IHNlbGYuX3Jhd19vcGVuKGZsYWdzLCBtb2RlKQorLSAg ICAgICAgb3MuY2xvc2UoZmQpCistCistICAgIGRlZiBta2RpcihzZWxmLCBtb2RlPTBvNzc3LCBw YXJlbnRzPUZhbHNlKToKKy0gICAgICAgIGlmIG5vdCBwYXJlbnRzOgorLSAgICAgICAgICAgIHNl bGYuX2FjY2Vzc29yLm1rZGlyKHNlbGYsIG1vZGUpCistICAgICAgICBlbHNlOgorLSAgICAgICAg ICAgIHRyeToKKy0gICAgICAgICAgICAgICAgc2VsZi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9k ZSkKKy0gICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAgICAgICAgICAgICBp ZiBlLmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAg ICAgICAgICAgIHNlbGYucGFyZW50Lm1rZGlyKHBhcmVudHM9VHJ1ZSkKKy0gICAgICAgICAgICAg ICAgc2VsZi5fYWNjZXNzb3IubWtkaXIoc2VsZiwgbW9kZSkKKy0KKy0gICAgZGVmIGNobW9kKHNl bGYsIG1vZGUpOgorLSAgICAgICAgIiIiCistICAgICAgICBDaGFuZ2UgdGhlIHBlcm1pc3Npb25z IG9mIHRoZSBwYXRoLCBsaWtlIG9zLmNobW9kKCkuCistICAgICAgICAiIiIKKy0gICAgICAgIHNl bGYuX2FjY2Vzc29yLmNobW9kKHNlbGYsIG1vZGUpCistCistICAgIGRlZiBsY2htb2Qoc2VsZiwg bW9kZSk6CistICAgICAgICAiIiIKKy0gICAgICAgIExpa2UgY2htb2QoKSwgZXhjZXB0IGlmIHRo ZSBwYXRoIHBvaW50cyB0byBhIHN5bWxpbmssIHRoZSBzeW1saW5rJ3MKKy0gICAgICAgIHBlcm1p c3Npb25zIGFyZSBjaGFuZ2VkLCByYXRoZXIgdGhhbiBpdHMgdGFyZ2V0J3MuCistICAgICAgICAi IiIKKy0gICAgICAgIHNlbGYuX2FjY2Vzc29yLmxjaG1vZChzZWxmLCBtb2RlKQorLQorLSAgICBk ZWYgdW5saW5rKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBSZW1vdmUgdGhpcyBmaWxl IG9yIGxpbmsuCistICAgICAgICBJZiB0aGUgcGF0aCBpcyBhIGRpcmVjdG9yeSwgdXNlIHJtZGly KCkgaW5zdGVhZC4KKy0gICAgICAgICIiIgorLSAgICAgICAgc2VsZi5fYWNjZXNzb3IudW5saW5r KHNlbGYpCistCistICAgIGRlZiBybWRpcihzZWxmKToKKy0gICAgICAgICIiIgorLSAgICAgICAg UmVtb3ZlIHRoaXMgZGlyZWN0b3J5LiAgVGhlIGRpcmVjdG9yeSBtdXN0IGJlIGVtcHR5LgorLSAg ICAgICAgIiIiCistICAgICAgICBzZWxmLl9hY2Nlc3Nvci5ybWRpcihzZWxmKQorLQorLSAgICBk ZWYgbHN0YXQoc2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIExpa2Ugc3RhdCgpLCBleGNl cHQgaWYgdGhlIHBhdGggcG9pbnRzIHRvIGEgc3ltbGluaywgdGhlIHN5bWxpbmsncworLSAgICAg ICAgc3RhdHVzIGluZm9ybWF0aW9uIGlzIHJldHVybmVkLCByYXRoZXIgdGhhbiBpdHMgdGFyZ2V0 J3MuCistICAgICAgICAiIiIKKy0gICAgICAgIHJldHVybiBzZWxmLl9hY2Nlc3Nvci5sc3RhdChz ZWxmKQorLQorLSAgICBkZWYgcmVuYW1lKHNlbGYsIHRhcmdldCk6CistICAgICAgICAiIiIKKy0g ICAgICAgIFJlbmFtZSB0aGlzIHBhdGggdG8gdGhlIGdpdmVuIHBhdGguCistICAgICAgICAiIiIK Ky0gICAgICAgIHNlbGYuX2FjY2Vzc29yLnJlbmFtZShzZWxmLCB0YXJnZXQpCistCistICAgIGRl ZiByZXBsYWNlKHNlbGYsIHRhcmdldCk6CistICAgICAgICAiIiIKKy0gICAgICAgIFJlbmFtZSB0 aGlzIHBhdGggdG8gdGhlIGdpdmVuIHBhdGgsIGNsb2JiZXJpbmcgdGhlIGV4aXN0aW5nCistICAg ICAgICBkZXN0aW5hdGlvbiBpZiBpdCBleGlzdHMuCistICAgICAgICAiIiIKKy0gICAgICAgIGlm IHN5cy52ZXJzaW9uX2luZm8gPCAoMywgMyk6CistICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVt ZW50ZWRFcnJvcigicmVwbGFjZSgpIGlzIG9ubHkgYXZhaWxhYmxlICIKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJ3aXRoIFB5dGhvbiAzLjMgYW5kIGxhdGVyIikKKy0g ICAgICAgIHNlbGYuX2FjY2Vzc29yLnJlcGxhY2Uoc2VsZiwgdGFyZ2V0KQorLQorLSAgICBkZWYg c3ltbGlua190byhzZWxmLCB0YXJnZXQsIHRhcmdldF9pc19kaXJlY3Rvcnk9RmFsc2UpOgorLSAg ICAgICAgIiIiCistICAgICAgICBNYWtlIHRoaXMgcGF0aCBhIHN5bWxpbmsgcG9pbnRpbmcgdG8g dGhlIGdpdmVuIHBhdGguCistICAgICAgICBOb3RlIHRoZSBvcmRlciBvZiBhcmd1bWVudHMgKHNl bGYsIHRhcmdldCkgaXMgdGhlIHJldmVyc2Ugb2Ygb3Muc3ltbGluaydzLgorLSAgICAgICAgIiIi CistICAgICAgICBzZWxmLl9hY2Nlc3Nvci5zeW1saW5rKHRhcmdldCwgc2VsZiwgdGFyZ2V0X2lz X2RpcmVjdG9yeSkKKy0KKy0gICAgIyBDb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIHF1ZXJ5aW5n IHRoZSBzdGF0IHJlc3VsdHMKKy0KKy0gICAgZGVmIGV4aXN0cyhzZWxmKToKKy0gICAgICAgICIi IgorLSAgICAgICAgV2hldGhlciB0aGlzIHBhdGggZXhpc3RzLgorLSAgICAgICAgIiIiCistICAg ICAgICB0cnk6CistICAgICAgICAgICAgc2VsZi5zdGF0KCkKKy0gICAgICAgIGV4Y2VwdCBPU0Vy cm9yIGFzIGU6CistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBFTk9FTlQ6CistICAgICAgICAg ICAgICAgIHJhaXNlCistICAgICAgICAgICAgcmV0dXJuIEZhbHNlCistICAgICAgICByZXR1cm4g VHJ1ZQorLQorLSAgICBkZWYgaXNfZGlyKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBX aGV0aGVyIHRoaXMgcGF0aCBpcyBhIGRpcmVjdG9yeS4KKy0gICAgICAgICIiIgorLSAgICAgICAg dHJ5OgorLSAgICAgICAgICAgIHJldHVybiBTX0lTRElSKHNlbGYuc3RhdCgpLnN0X21vZGUpCist ICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0g RU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAgICAgICAgICMgUGF0aCBkb2Vz bid0IGV4aXN0IG9yIGlzIGEgYnJva2VuIHN5bWxpbmsKKy0gICAgICAgICAgICAjIChzZWUgaHR0 cHM6Ly9iaXRidWNrZXQub3JnL3BpdHJvdS9wYXRobGliL2lzc3VlLzEyLykKKy0gICAgICAgICAg ICByZXR1cm4gRmFsc2UKKy0KKy0gICAgZGVmIGlzX2ZpbGUoc2VsZik6CistICAgICAgICAiIiIK Ky0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgcmVndWxhciBmaWxlIChhbHNvIFRydWUg Zm9yIHN5bWxpbmtzIHBvaW50aW5nCistICAgICAgICB0byByZWd1bGFyIGZpbGVzKS4KKy0gICAg ICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBTX0lTUkVHKHNlbGYu c3RhdCgpLnN0X21vZGUpCistICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorLSAgICAgICAg ICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQorLSAgICAg ICAgICAgICMgUGF0aCBkb2Vzbid0IGV4aXN0IG9yIGlzIGEgYnJva2VuIHN5bWxpbmsKKy0gICAg ICAgICAgICAjIChzZWUgaHR0cHM6Ly9iaXRidWNrZXQub3JnL3BpdHJvdS9wYXRobGliL2lzc3Vl LzEyLykKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0KKy0gICAgZGVmIGlzX3N5bWxpbmso c2VsZik6CistICAgICAgICAiIiIKKy0gICAgICAgIFdoZXRoZXIgdGhpcyBwYXRoIGlzIGEgc3lt Ym9saWMgbGluay4KKy0gICAgICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJl dHVybiBTX0lTTE5LKHNlbGYubHN0YXQoKS5zdF9tb2RlKQorLSAgICAgICAgZXhjZXB0IE9TRXJy b3IgYXMgZToKKy0gICAgICAgICAgICBpZiBlLmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAgICAg ICAgICAgcmFpc2UKKy0gICAgICAgICAgICAjIFBhdGggZG9lc24ndCBleGlzdAorLSAgICAgICAg ICAgIHJldHVybiBGYWxzZQorLQorLSAgICBkZWYgaXNfYmxvY2tfZGV2aWNlKHNlbGYpOgorLSAg ICAgICAgIiIiCistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0aCBpcyBhIGJsb2NrIGRldmljZS4K Ky0gICAgICAgICIiIgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBTX0lTQkxL KHNlbGYuc3RhdCgpLnN0X21vZGUpCistICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorLSAg ICAgICAgICAgIGlmIGUuZXJybm8gIT0gRU5PRU5UOgorLSAgICAgICAgICAgICAgICByYWlzZQor LSAgICAgICAgICAgICMgUGF0aCBkb2Vzbid0IGV4aXN0IG9yIGlzIGEgYnJva2VuIHN5bWxpbmsK Ky0gICAgICAgICAgICAjIChzZWUgaHR0cHM6Ly9iaXRidWNrZXQub3JnL3BpdHJvdS9wYXRobGli L2lzc3VlLzEyLykKKy0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0KKy0gICAgZGVmIGlzX2No YXJfZGV2aWNlKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0 aCBpcyBhIGNoYXJhY3RlciBkZXZpY2UuCistICAgICAgICAiIiIKKy0gICAgICAgIHRyeToKKy0g ICAgICAgICAgICByZXR1cm4gU19JU0NIUihzZWxmLnN0YXQoKS5zdF9tb2RlKQorLSAgICAgICAg ZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAgICAgICBpZiBlLmVycm5vICE9IEVOT0VOVDoK Ky0gICAgICAgICAgICAgICAgcmFpc2UKKy0gICAgICAgICAgICAjIFBhdGggZG9lc24ndCBleGlz dCBvciBpcyBhIGJyb2tlbiBzeW1saW5rCistICAgICAgICAgICAgIyAoc2VlIGh0dHBzOi8vYml0 YnVja2V0Lm9yZy9waXRyb3UvcGF0aGxpYi9pc3N1ZS8xMi8pCistICAgICAgICAgICAgcmV0dXJu IEZhbHNlCistCistICAgIGRlZiBpc19maWZvKHNlbGYpOgorLSAgICAgICAgIiIiCistICAgICAg ICBXaGV0aGVyIHRoaXMgcGF0aCBpcyBhIEZJRk8uCistICAgICAgICAiIiIKKy0gICAgICAgIHRy eToKKy0gICAgICAgICAgICByZXR1cm4gU19JU0ZJRk8oc2VsZi5zdGF0KCkuc3RfbW9kZSkKKy0g ICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CistICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBF Tk9FTlQ6CistICAgICAgICAgICAgICAgIHJhaXNlCistICAgICAgICAgICAgIyBQYXRoIGRvZXNu J3QgZXhpc3Qgb3IgaXMgYSBicm9rZW4gc3ltbGluaworLSAgICAgICAgICAgICMgKHNlZSBodHRw czovL2JpdGJ1Y2tldC5vcmcvcGl0cm91L3BhdGhsaWIvaXNzdWUvMTIvKQorLSAgICAgICAgICAg IHJldHVybiBGYWxzZQorLQorLSAgICBkZWYgaXNfc29ja2V0KHNlbGYpOgorLSAgICAgICAgIiIi CistICAgICAgICBXaGV0aGVyIHRoaXMgcGF0aCBpcyBhIHNvY2tldC4KKy0gICAgICAgICIiIgor LSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIHJldHVybiBTX0lTU09DSyhzZWxmLnN0YXQoKS5z dF9tb2RlKQorLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKy0gICAgICAgICAgICBpZiBl LmVycm5vICE9IEVOT0VOVDoKKy0gICAgICAgICAgICAgICAgcmFpc2UKKy0gICAgICAgICAgICAj IFBhdGggZG9lc24ndCBleGlzdCBvciBpcyBhIGJyb2tlbiBzeW1saW5rCistICAgICAgICAgICAg IyAoc2VlIGh0dHBzOi8vYml0YnVja2V0Lm9yZy9waXRyb3UvcGF0aGxpYi9pc3N1ZS8xMi8pCist ICAgICAgICAgICAgcmV0dXJuIEZhbHNlCistCistCistY2xhc3MgUG9zaXhQYXRoKFBhdGgsIFB1 cmVQb3NpeFBhdGgpOgorLSAgICBfX3Nsb3RzX18gPSAoKQorLQorLWNsYXNzIFdpbmRvd3NQYXRo KFBhdGgsIFB1cmVXaW5kb3dzUGF0aCk6CistICAgIF9fc2xvdHNfXyA9ICgpCistCitkaWZmIC0t Z2l0IGEvdGFza3MvX3ZlbmRvci9zaXgucHkgYi90YXNrcy9fdmVuZG9yL3NpeC5weQorZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAxOTBjMDIzLi4wMDAwMDAwCistLS0gYS90YXNrcy9f dmVuZG9yL3NpeC5weQorKysrIC9kZXYvbnVsbAorQEAgLTEsODY4ICswLDAgQEAKKy0iIiJVdGls aXRpZXMgZm9yIHdyaXRpbmcgY29kZSB0aGF0IHJ1bnMgb24gUHl0aG9uIDIgYW5kIDMiIiIKKy0K Ky0jIENvcHlyaWdodCAoYykgMjAxMC0yMDE1IEJlbmphbWluIFBldGVyc29uCistIworLSMgUGVy bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g b2J0YWluaW5nIGEgY29weQorLSMgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKKy0jIGluIHRoZSBTb2Z0 d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRo ZSByaWdodHMKKy0jIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKKy0jIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworLSMgZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKy0jCist IyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz aGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKKy0jIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u cyBvZiB0aGUgU29mdHdhcmUuCistIworLSMgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKy0jIElNUExJRUQs IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZLAorLSMgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ TkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCistIyBBVVRIT1JTIE9SIENPUFlSSUdIVCBI T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCistIyBMSUFC SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lT RSwgQVJJU0lORyBGUk9NLAorLSMgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09G VFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKKy0jIFNPRlRXQVJFLgor LQorLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CistCistaW1wb3J0IGZ1 bmN0b29scworLWltcG9ydCBpdGVydG9vbHMKKy1pbXBvcnQgb3BlcmF0b3IKKy1pbXBvcnQgc3lz CistaW1wb3J0IHR5cGVzCistCistX19hdXRob3JfXyA9ICJCZW5qYW1pbiBQZXRlcnNvbiA8YmVu amFtaW5AcHl0aG9uLm9yZz4iCistX192ZXJzaW9uX18gPSAiMS4xMC4wIgorLQorLQorLSMgVXNl ZnVsIGZvciB2ZXJ5IGNvYXJzZSB2ZXJzaW9uIGRpZmZlcmVudGlhdGlvbi4KKy1QWTIgPSBzeXMu dmVyc2lvbl9pbmZvWzBdID09IDIKKy1QWTMgPSBzeXMudmVyc2lvbl9pbmZvWzBdID09IDMKKy1Q WTM0ID0gc3lzLnZlcnNpb25faW5mb1swOjJdID49ICgzLCA0KQorLQorLWlmIFBZMzoKKy0gICAg c3RyaW5nX3R5cGVzID0gc3RyLAorLSAgICBpbnRlZ2VyX3R5cGVzID0gaW50LAorLSAgICBjbGFz c190eXBlcyA9IHR5cGUsCistICAgIHRleHRfdHlwZSA9IHN0cgorLSAgICBiaW5hcnlfdHlwZSA9 IGJ5dGVzCistCistICAgIE1BWFNJWkUgPSBzeXMubWF4c2l6ZQorLWVsc2U6CistICAgIHN0cmlu Z190eXBlcyA9IGJhc2VzdHJpbmcsCistICAgIGludGVnZXJfdHlwZXMgPSAoaW50LCBsb25nKQor LSAgICBjbGFzc190eXBlcyA9ICh0eXBlLCB0eXBlcy5DbGFzc1R5cGUpCistICAgIHRleHRfdHlw ZSA9IHVuaWNvZGUKKy0gICAgYmluYXJ5X3R5cGUgPSBzdHIKKy0KKy0gICAgaWYgc3lzLnBsYXRm b3JtLnN0YXJ0c3dpdGgoImphdmEiKToKKy0gICAgICAgICMgSnl0aG9uIGFsd2F5cyB1c2VzIDMy IGJpdHMuCistICAgICAgICBNQVhTSVpFID0gaW50KCgxIDw8IDMxKSAtIDEpCistICAgIGVsc2U6 CistICAgICAgICAjIEl0J3MgcG9zc2libGUgdG8gaGF2ZSBzaXplb2YobG9uZykgIT0gc2l6ZW9m KFB5X3NzaXplX3QpLgorLSAgICAgICAgY2xhc3MgWChvYmplY3QpOgorLQorLSAgICAgICAgICAg IGRlZiBfX2xlbl9fKHNlbGYpOgorLSAgICAgICAgICAgICAgICByZXR1cm4gMSA8PCAzMQorLSAg ICAgICAgdHJ5OgorLSAgICAgICAgICAgIGxlbihYKCkpCistICAgICAgICBleGNlcHQgT3ZlcmZs b3dFcnJvcjoKKy0gICAgICAgICAgICAjIDMyLWJpdAorLSAgICAgICAgICAgIE1BWFNJWkUgPSBp bnQoKDEgPDwgMzEpIC0gMSkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgIyA2NC1iaXQK Ky0gICAgICAgICAgICBNQVhTSVpFID0gaW50KCgxIDw8IDYzKSAtIDEpCistICAgICAgICBkZWwg WAorLQorLQorLWRlZiBfYWRkX2RvYyhmdW5jLCBkb2MpOgorLSAgICAiIiJBZGQgZG9jdW1lbnRh dGlvbiB0byBhIGZ1bmN0aW9uLiIiIgorLSAgICBmdW5jLl9fZG9jX18gPSBkb2MKKy0KKy0KKy1k ZWYgX2ltcG9ydF9tb2R1bGUobmFtZSk6CistICAgICIiIkltcG9ydCBtb2R1bGUsIHJldHVybmlu ZyB0aGUgbW9kdWxlIGFmdGVyIHRoZSBsYXN0IGRvdC4iIiIKKy0gICAgX19pbXBvcnRfXyhuYW1l KQorLSAgICByZXR1cm4gc3lzLm1vZHVsZXNbbmFtZV0KKy0KKy0KKy1jbGFzcyBfTGF6eURlc2Ny KG9iamVjdCk6CistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKKy0gICAgICAgIHNl bGYubmFtZSA9IG5hbWUKKy0KKy0gICAgZGVmIF9fZ2V0X18oc2VsZiwgb2JqLCB0cCk6CistICAg ICAgICByZXN1bHQgPSBzZWxmLl9yZXNvbHZlKCkKKy0gICAgICAgIHNldGF0dHIob2JqLCBzZWxm Lm5hbWUsIHJlc3VsdCkgICMgSW52b2tlcyBfX3NldF9fLgorLSAgICAgICAgdHJ5OgorLSAgICAg ICAgICAgICMgVGhpcyBpcyBhIGJpdCB1Z2x5LCBidXQgaXQgYXZvaWRzIHJ1bm5pbmcgdGhpcyBh Z2FpbiBieQorLSAgICAgICAgICAgICMgcmVtb3ZpbmcgdGhpcyBkZXNjcmlwdG9yLgorLSAgICAg ICAgICAgIGRlbGF0dHIob2JqLl9fY2xhc3NfXywgc2VsZi5uYW1lKQorLSAgICAgICAgZXhjZXB0 IEF0dHJpYnV0ZUVycm9yOgorLSAgICAgICAgICAgIHBhc3MKKy0gICAgICAgIHJldHVybiByZXN1 bHQKKy0KKy0KKy1jbGFzcyBNb3ZlZE1vZHVsZShfTGF6eURlc2NyKToKKy0KKy0gICAgZGVmIF9f aW5pdF9fKHNlbGYsIG5hbWUsIG9sZCwgbmV3PU5vbmUpOgorLSAgICAgICAgc3VwZXIoTW92ZWRN b2R1bGUsIHNlbGYpLl9faW5pdF9fKG5hbWUpCistICAgICAgICBpZiBQWTM6CistICAgICAgICAg ICAgaWYgbmV3IGlzIE5vbmU6CistICAgICAgICAgICAgICAgIG5ldyA9IG5hbWUKKy0gICAgICAg ICAgICBzZWxmLm1vZCA9IG5ldworLSAgICAgICAgZWxzZToKKy0gICAgICAgICAgICBzZWxmLm1v ZCA9IG9sZAorLQorLSAgICBkZWYgX3Jlc29sdmUoc2VsZik6CistICAgICAgICByZXR1cm4gX2lt cG9ydF9tb2R1bGUoc2VsZi5tb2QpCistCistICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBhdHRy KToKKy0gICAgICAgIF9tb2R1bGUgPSBzZWxmLl9yZXNvbHZlKCkKKy0gICAgICAgIHZhbHVlID0g Z2V0YXR0cihfbW9kdWxlLCBhdHRyKQorLSAgICAgICAgc2V0YXR0cihzZWxmLCBhdHRyLCB2YWx1 ZSkKKy0gICAgICAgIHJldHVybiB2YWx1ZQorLQorLQorLWNsYXNzIF9MYXp5TW9kdWxlKHR5cGVz Lk1vZHVsZVR5cGUpOgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSk6CistICAgICAg ICBzdXBlcihfTGF6eU1vZHVsZSwgc2VsZikuX19pbml0X18obmFtZSkKKy0gICAgICAgIHNlbGYu X19kb2NfXyA9IHNlbGYuX19jbGFzc19fLl9fZG9jX18KKy0KKy0gICAgZGVmIF9fZGlyX18oc2Vs Zik6CistICAgICAgICBhdHRycyA9IFsiX19kb2NfXyIsICJfX25hbWVfXyJdCistICAgICAgICBh dHRycyArPSBbYXR0ci5uYW1lIGZvciBhdHRyIGluIHNlbGYuX21vdmVkX2F0dHJpYnV0ZXNdCist ICAgICAgICByZXR1cm4gYXR0cnMKKy0KKy0gICAgIyBTdWJjbGFzc2VzIHNob3VsZCBvdmVycmlk ZSB0aGlzCistICAgIF9tb3ZlZF9hdHRyaWJ1dGVzID0gW10KKy0KKy0KKy1jbGFzcyBNb3ZlZEF0 dHJpYnV0ZShfTGF6eURlc2NyKToKKy0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIG9s ZF9tb2QsIG5ld19tb2QsIG9sZF9hdHRyPU5vbmUsIG5ld19hdHRyPU5vbmUpOgorLSAgICAgICAg c3VwZXIoTW92ZWRBdHRyaWJ1dGUsIHNlbGYpLl9faW5pdF9fKG5hbWUpCistICAgICAgICBpZiBQ WTM6CistICAgICAgICAgICAgaWYgbmV3X21vZCBpcyBOb25lOgorLSAgICAgICAgICAgICAgICBu ZXdfbW9kID0gbmFtZQorLSAgICAgICAgICAgIHNlbGYubW9kID0gbmV3X21vZAorLSAgICAgICAg ICAgIGlmIG5ld19hdHRyIGlzIE5vbmU6CistICAgICAgICAgICAgICAgIGlmIG9sZF9hdHRyIGlz IE5vbmU6CistICAgICAgICAgICAgICAgICAgICBuZXdfYXR0ciA9IG5hbWUKKy0gICAgICAgICAg ICAgICAgZWxzZToKKy0gICAgICAgICAgICAgICAgICAgIG5ld19hdHRyID0gb2xkX2F0dHIKKy0g ICAgICAgICAgICBzZWxmLmF0dHIgPSBuZXdfYXR0cgorLSAgICAgICAgZWxzZToKKy0gICAgICAg ICAgICBzZWxmLm1vZCA9IG9sZF9tb2QKKy0gICAgICAgICAgICBpZiBvbGRfYXR0ciBpcyBOb25l OgorLSAgICAgICAgICAgICAgICBvbGRfYXR0ciA9IG5hbWUKKy0gICAgICAgICAgICBzZWxmLmF0 dHIgPSBvbGRfYXR0cgorLQorLSAgICBkZWYgX3Jlc29sdmUoc2VsZik6CistICAgICAgICBtb2R1 bGUgPSBfaW1wb3J0X21vZHVsZShzZWxmLm1vZCkKKy0gICAgICAgIHJldHVybiBnZXRhdHRyKG1v ZHVsZSwgc2VsZi5hdHRyKQorLQorLQorLWNsYXNzIF9TaXhNZXRhUGF0aEltcG9ydGVyKG9iamVj dCk6CistCistICAgICIiIgorLSAgICBBIG1ldGEgcGF0aCBpbXBvcnRlciB0byBpbXBvcnQgc2l4 Lm1vdmVzIGFuZCBpdHMgc3VibW9kdWxlcy4KKy0KKy0gICAgVGhpcyBjbGFzcyBpbXBsZW1lbnRz IGEgUEVQMzAyIGZpbmRlciBhbmQgbG9hZGVyLiBJdCBzaG91bGQgYmUgY29tcGF0aWJsZQorLSAg ICB3aXRoIFB5dGhvbiAyLjUgYW5kIGFsbCBleGlzdGluZyB2ZXJzaW9ucyBvZiBQeXRob24zCist ICAgICIiIgorLQorLSAgICBkZWYgX19pbml0X18oc2VsZiwgc2l4X21vZHVsZV9uYW1lKToKKy0g ICAgICAgIHNlbGYubmFtZSA9IHNpeF9tb2R1bGVfbmFtZQorLSAgICAgICAgc2VsZi5rbm93bl9t b2R1bGVzID0ge30KKy0KKy0gICAgZGVmIF9hZGRfbW9kdWxlKHNlbGYsIG1vZCwgKmZ1bGxuYW1l cyk6CistICAgICAgICBmb3IgZnVsbG5hbWUgaW4gZnVsbG5hbWVzOgorLSAgICAgICAgICAgIHNl bGYua25vd25fbW9kdWxlc1tzZWxmLm5hbWUgKyAiLiIgKyBmdWxsbmFtZV0gPSBtb2QKKy0KKy0g ICAgZGVmIF9nZXRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lKToKKy0gICAgICAgIHJldHVybiBzZWxm Lmtub3duX21vZHVsZXNbc2VsZi5uYW1lICsgIi4iICsgZnVsbG5hbWVdCistCistICAgIGRlZiBm aW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lKToKKy0gICAgICAgIGlmIGZ1bGxu YW1lIGluIHNlbGYua25vd25fbW9kdWxlczoKKy0gICAgICAgICAgICByZXR1cm4gc2VsZgorLSAg ICAgICAgcmV0dXJuIE5vbmUKKy0KKy0gICAgZGVmIF9fZ2V0X21vZHVsZShzZWxmLCBmdWxsbmFt ZSk6CistICAgICAgICB0cnk6CistICAgICAgICAgICAgcmV0dXJuIHNlbGYua25vd25fbW9kdWxl c1tmdWxsbmFtZV0KKy0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKy0gICAgICAgICAgICByYWlz ZSBJbXBvcnRFcnJvcigiVGhpcyBsb2FkZXIgZG9lcyBub3Qga25vdyBtb2R1bGUgIiArIGZ1bGxu YW1lKQorLQorLSAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgorLSAgICAgICAg dHJ5OgorLSAgICAgICAgICAgICMgaW4gY2FzZSBvZiBhIHJlbG9hZAorLSAgICAgICAgICAgIHJl dHVybiBzeXMubW9kdWxlc1tmdWxsbmFtZV0KKy0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKy0g ICAgICAgICAgICBwYXNzCistICAgICAgICBtb2QgPSBzZWxmLl9fZ2V0X21vZHVsZShmdWxsbmFt ZSkKKy0gICAgICAgIGlmIGlzaW5zdGFuY2UobW9kLCBNb3ZlZE1vZHVsZSk6CistICAgICAgICAg ICAgbW9kID0gbW9kLl9yZXNvbHZlKCkKKy0gICAgICAgIGVsc2U6CistICAgICAgICAgICAgbW9k Ll9fbG9hZGVyX18gPSBzZWxmCistICAgICAgICBzeXMubW9kdWxlc1tmdWxsbmFtZV0gPSBtb2QK Ky0gICAgICAgIHJldHVybiBtb2QKKy0KKy0gICAgZGVmIGlzX3BhY2thZ2Uoc2VsZiwgZnVsbG5h bWUpOgorLSAgICAgICAgIiIiCistICAgICAgICBSZXR1cm4gdHJ1ZSwgaWYgdGhlIG5hbWVkIG1v ZHVsZSBpcyBhIHBhY2thZ2UuCistCistICAgICAgICBXZSBuZWVkIHRoaXMgbWV0aG9kIHRvIGdl dCBjb3JyZWN0IHNwZWMgb2JqZWN0cyB3aXRoCistICAgICAgICBQeXRob24gMy40IChzZWUgUEVQ NDUxKQorLSAgICAgICAgIiIiCistICAgICAgICByZXR1cm4gaGFzYXR0cihzZWxmLl9fZ2V0X21v ZHVsZShmdWxsbmFtZSksICJfX3BhdGhfXyIpCistCistICAgIGRlZiBnZXRfY29kZShzZWxmLCBm dWxsbmFtZSk6CistICAgICAgICAiIiJSZXR1cm4gTm9uZQorLQorLSAgICAgICAgUmVxdWlyZWQs IGlmIGlzX3BhY2thZ2UgaXMgaW1wbGVtZW50ZWQiIiIKKy0gICAgICAgIHNlbGYuX19nZXRfbW9k dWxlKGZ1bGxuYW1lKSAgIyBldmVudHVhbGx5IHJhaXNlcyBJbXBvcnRFcnJvcgorLSAgICAgICAg cmV0dXJuIE5vbmUKKy0gICAgZ2V0X3NvdXJjZSA9IGdldF9jb2RlICAjIHNhbWUgYXMgZ2V0X2Nv ZGUKKy0KKy1faW1wb3J0ZXIgPSBfU2l4TWV0YVBhdGhJbXBvcnRlcihfX25hbWVfXykKKy0KKy0K Ky1jbGFzcyBfTW92ZWRJdGVtcyhfTGF6eU1vZHVsZSk6CistCistICAgICIiIkxhenkgbG9hZGlu ZyBvZiBtb3ZlZCBvYmplY3RzIiIiCistICAgIF9fcGF0aF9fID0gW10gICMgbWFyayBhcyBwYWNr YWdlCistCistCistX21vdmVkX2F0dHJpYnV0ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRlKCJj U3RyaW5nSU8iLCAiY1N0cmluZ0lPIiwgImlvIiwgIlN0cmluZ0lPIiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJmaWx0ZXIiLCAiaXRlcnRvb2xzIiwgImJ1aWx0aW5zIiwgImlmaWx0ZXIiLCAiZmls dGVyIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJmaWx0ZXJmYWxzZSIsICJpdGVydG9vbHMiLCAi aXRlcnRvb2xzIiwgImlmaWx0ZXJmYWxzZSIsICJmaWx0ZXJmYWxzZSIpLAorLSAgICBNb3ZlZEF0 dHJpYnV0ZSgiaW5wdXQiLCAiX19idWlsdGluX18iLCAiYnVpbHRpbnMiLCAicmF3X2lucHV0Iiwg ImlucHV0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJpbnRlcm4iLCAiX19idWlsdGluX18iLCAi c3lzIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJtYXAiLCAiaXRlcnRvb2xzIiwgImJ1aWx0aW5z IiwgImltYXAiLCAibWFwIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJnZXRjd2QiLCAib3MiLCAi b3MiLCAiZ2V0Y3dkdSIsICJnZXRjd2QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoImdldGN3ZGIi LCAib3MiLCAib3MiLCAiZ2V0Y3dkIiwgImdldGN3ZGIiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUo InJhbmdlIiwgIl9fYnVpbHRpbl9fIiwgImJ1aWx0aW5zIiwgInhyYW5nZSIsICJyYW5nZSIpLAor LSAgICBNb3ZlZEF0dHJpYnV0ZSgicmVsb2FkX21vZHVsZSIsICJfX2J1aWx0aW5fXyIsICJpbXBv cnRsaWIiIGlmIFBZMzQgZWxzZSAiaW1wIiwgInJlbG9hZCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0 ZSgicmVkdWNlIiwgIl9fYnVpbHRpbl9fIiwgImZ1bmN0b29scyIpLAorLSAgICBNb3ZlZEF0dHJp YnV0ZSgic2hsZXhfcXVvdGUiLCAicGlwZXMiLCAic2hsZXgiLCAicXVvdGUiKSwKKy0gICAgTW92 ZWRBdHRyaWJ1dGUoIlN0cmluZ0lPIiwgIlN0cmluZ0lPIiwgImlvIiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJVc2VyRGljdCIsICJVc2VyRGljdCIsICJjb2xsZWN0aW9ucyIpLAorLSAgICBNb3Zl ZEF0dHJpYnV0ZSgiVXNlckxpc3QiLCAiVXNlckxpc3QiLCAiY29sbGVjdGlvbnMiKSwKKy0gICAg TW92ZWRBdHRyaWJ1dGUoIlVzZXJTdHJpbmciLCAiVXNlclN0cmluZyIsICJjb2xsZWN0aW9ucyIp LAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgieHJhbmdlIiwgIl9fYnVpbHRpbl9fIiwgImJ1aWx0aW5z IiwgInhyYW5nZSIsICJyYW5nZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiemlwIiwgIml0ZXJ0 b29scyIsICJidWlsdGlucyIsICJpemlwIiwgInppcCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgi emlwX2xvbmdlc3QiLCAiaXRlcnRvb2xzIiwgIml0ZXJ0b29scyIsICJpemlwX2xvbmdlc3QiLCAi emlwX2xvbmdlc3QiKSwKKy0gICAgTW92ZWRNb2R1bGUoImJ1aWx0aW5zIiwgIl9fYnVpbHRpbl9f IiksCistICAgIE1vdmVkTW9kdWxlKCJjb25maWdwYXJzZXIiLCAiQ29uZmlnUGFyc2VyIiksCist ICAgIE1vdmVkTW9kdWxlKCJjb3B5cmVnIiwgImNvcHlfcmVnIiksCistICAgIE1vdmVkTW9kdWxl KCJkYm1fZ251IiwgImdkYm0iLCAiZGJtLmdudSIpLAorLSAgICBNb3ZlZE1vZHVsZSgiX2R1bW15 X3RocmVhZCIsICJkdW1teV90aHJlYWQiLCAiX2R1bW15X3RocmVhZCIpLAorLSAgICBNb3ZlZE1v ZHVsZSgiaHR0cF9jb29raWVqYXIiLCAiY29va2llbGliIiwgImh0dHAuY29va2llamFyIiksCist ICAgIE1vdmVkTW9kdWxlKCJodHRwX2Nvb2tpZXMiLCAiQ29va2llIiwgImh0dHAuY29va2llcyIp LAorLSAgICBNb3ZlZE1vZHVsZSgiaHRtbF9lbnRpdGllcyIsICJodG1sZW50aXR5ZGVmcyIsICJo dG1sLmVudGl0aWVzIiksCistICAgIE1vdmVkTW9kdWxlKCJodG1sX3BhcnNlciIsICJIVE1MUGFy c2VyIiwgImh0bWwucGFyc2VyIiksCistICAgIE1vdmVkTW9kdWxlKCJodHRwX2NsaWVudCIsICJo dHRwbGliIiwgImh0dHAuY2xpZW50IiksCistICAgIE1vdmVkTW9kdWxlKCJlbWFpbF9taW1lX211 bHRpcGFydCIsICJlbWFpbC5NSU1FTXVsdGlwYXJ0IiwgImVtYWlsLm1pbWUubXVsdGlwYXJ0Iiks CistICAgIE1vdmVkTW9kdWxlKCJlbWFpbF9taW1lX25vbm11bHRpcGFydCIsICJlbWFpbC5NSU1F Tm9uTXVsdGlwYXJ0IiwgImVtYWlsLm1pbWUubm9ubXVsdGlwYXJ0IiksCistICAgIE1vdmVkTW9k dWxlKCJlbWFpbF9taW1lX3RleHQiLCAiZW1haWwuTUlNRVRleHQiLCAiZW1haWwubWltZS50ZXh0 IiksCistICAgIE1vdmVkTW9kdWxlKCJlbWFpbF9taW1lX2Jhc2UiLCAiZW1haWwuTUlNRUJhc2Ui LCAiZW1haWwubWltZS5iYXNlIiksCistICAgIE1vdmVkTW9kdWxlKCJCYXNlSFRUUFNlcnZlciIs ICJCYXNlSFRUUFNlcnZlciIsICJodHRwLnNlcnZlciIpLAorLSAgICBNb3ZlZE1vZHVsZSgiQ0dJ SFRUUFNlcnZlciIsICJDR0lIVFRQU2VydmVyIiwgImh0dHAuc2VydmVyIiksCistICAgIE1vdmVk TW9kdWxlKCJTaW1wbGVIVFRQU2VydmVyIiwgIlNpbXBsZUhUVFBTZXJ2ZXIiLCAiaHR0cC5zZXJ2 ZXIiKSwKKy0gICAgTW92ZWRNb2R1bGUoImNQaWNrbGUiLCAiY1BpY2tsZSIsICJwaWNrbGUiKSwK Ky0gICAgTW92ZWRNb2R1bGUoInF1ZXVlIiwgIlF1ZXVlIiksCistICAgIE1vdmVkTW9kdWxlKCJy ZXBybGliIiwgInJlcHIiKSwKKy0gICAgTW92ZWRNb2R1bGUoInNvY2tldHNlcnZlciIsICJTb2Nr ZXRTZXJ2ZXIiKSwKKy0gICAgTW92ZWRNb2R1bGUoIl90aHJlYWQiLCAidGhyZWFkIiwgIl90aHJl YWQiKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXIiLCAiVGtpbnRlciIpLAorLSAgICBNb3Zl ZE1vZHVsZSgidGtpbnRlcl9kaWFsb2ciLCAiRGlhbG9nIiwgInRraW50ZXIuZGlhbG9nIiksCist ICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX2ZpbGVkaWFsb2ciLCAiRmlsZURpYWxvZyIsICJ0a2lu dGVyLmZpbGVkaWFsb2ciKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfc2Nyb2xsZWR0ZXh0 IiwgIlNjcm9sbGVkVGV4dCIsICJ0a2ludGVyLnNjcm9sbGVkdGV4dCIpLAorLSAgICBNb3ZlZE1v ZHVsZSgidGtpbnRlcl9zaW1wbGVkaWFsb2ciLCAiU2ltcGxlRGlhbG9nIiwgInRraW50ZXIuc2lt cGxlZGlhbG9nIiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVyX3RpeCIsICJUaXgiLCAidGtp bnRlci50aXgiKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfdHRrIiwgInR0ayIsICJ0a2lu dGVyLnR0ayIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl9jb25zdGFudHMiLCAiVGtjb25z dGFudHMiLCAidGtpbnRlci5jb25zdGFudHMiKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJf ZG5kIiwgIlRrZG5kIiwgInRraW50ZXIuZG5kIiksCistICAgIE1vdmVkTW9kdWxlKCJ0a2ludGVy X2NvbG9yY2hvb3NlciIsICJ0a0NvbG9yQ2hvb3NlciIsCistICAgICAgICAgICAgICAgICJ0a2lu dGVyLmNvbG9yY2hvb3NlciIpLAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl9jb21tb25kaWFs b2ciLCAidGtDb21tb25EaWFsb2ciLAorLSAgICAgICAgICAgICAgICAidGtpbnRlci5jb21tb25k aWFsb2ciKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50ZXJfdGtmaWxlZGlhbG9nIiwgInRrRmls ZURpYWxvZyIsICJ0a2ludGVyLmZpbGVkaWFsb2ciKSwKKy0gICAgTW92ZWRNb2R1bGUoInRraW50 ZXJfZm9udCIsICJ0a0ZvbnQiLCAidGtpbnRlci5mb250IiksCistICAgIE1vdmVkTW9kdWxlKCJ0 a2ludGVyX21lc3NhZ2Vib3giLCAidGtNZXNzYWdlQm94IiwgInRraW50ZXIubWVzc2FnZWJveCIp LAorLSAgICBNb3ZlZE1vZHVsZSgidGtpbnRlcl90a3NpbXBsZWRpYWxvZyIsICJ0a1NpbXBsZURp YWxvZyIsCistICAgICAgICAgICAgICAgICJ0a2ludGVyLnNpbXBsZWRpYWxvZyIpLAorLSAgICBN b3ZlZE1vZHVsZSgidXJsbGliX3BhcnNlIiwgX19uYW1lX18gKyAiLm1vdmVzLnVybGxpYl9wYXJz ZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRNb2R1bGUoInVybGxpYl9lcnJvciIsIF9f bmFtZV9fICsgIi5tb3Zlcy51cmxsaWJfZXJyb3IiLCAidXJsbGliLmVycm9yIiksCistICAgIE1v dmVkTW9kdWxlKCJ1cmxsaWIiLCBfX25hbWVfXyArICIubW92ZXMudXJsbGliIiwgX19uYW1lX18g KyAiLm1vdmVzLnVybGxpYiIpLAorLSAgICBNb3ZlZE1vZHVsZSgidXJsbGliX3JvYm90cGFyc2Vy IiwgInJvYm90cGFyc2VyIiwgInVybGxpYi5yb2JvdHBhcnNlciIpLAorLSAgICBNb3ZlZE1vZHVs ZSgieG1scnBjX2NsaWVudCIsICJ4bWxycGNsaWIiLCAieG1scnBjLmNsaWVudCIpLAorLSAgICBN b3ZlZE1vZHVsZSgieG1scnBjX3NlcnZlciIsICJTaW1wbGVYTUxSUENTZXJ2ZXIiLCAieG1scnBj LnNlcnZlciIpLAorLV0KKy0jIEFkZCB3aW5kb3dzIHNwZWNpZmljIG1vZHVsZXMuCistaWYgc3lz LnBsYXRmb3JtID09ICJ3aW4zMiI6CistICAgIF9tb3ZlZF9hdHRyaWJ1dGVzICs9IFsKKy0gICAg ICAgIE1vdmVkTW9kdWxlKCJ3aW5yZWciLCAiX3dpbnJlZyIpLAorLSAgICBdCistCistZm9yIGF0 dHIgaW4gX21vdmVkX2F0dHJpYnV0ZXM6CistICAgIHNldGF0dHIoX01vdmVkSXRlbXMsIGF0dHIu bmFtZSwgYXR0cikKKy0gICAgaWYgaXNpbnN0YW5jZShhdHRyLCBNb3ZlZE1vZHVsZSk6CistICAg ICAgICBfaW1wb3J0ZXIuX2FkZF9tb2R1bGUoYXR0ciwgIm1vdmVzLiIgKyBhdHRyLm5hbWUpCist ZGVsIGF0dHIKKy0KKy1fTW92ZWRJdGVtcy5fbW92ZWRfYXR0cmlidXRlcyA9IF9tb3ZlZF9hdHRy aWJ1dGVzCistCistbW92ZXMgPSBfTW92ZWRJdGVtcyhfX25hbWVfXyArICIubW92ZXMiKQorLV9p bXBvcnRlci5fYWRkX21vZHVsZShtb3ZlcywgIm1vdmVzIikKKy0KKy0KKy1jbGFzcyBNb2R1bGVf c2l4X21vdmVzX3VybGxpYl9wYXJzZShfTGF6eU1vZHVsZSk6CistCistICAgICIiIkxhenkgbG9h ZGluZyBvZiBtb3ZlZCBvYmplY3RzIGluIHNpeC5tb3Zlcy51cmxsaWJfcGFyc2UiIiIKKy0KKy0K Ky1fdXJsbGliX3BhcnNlX21vdmVkX2F0dHJpYnV0ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRl KCJQYXJzZVJlc3VsdCIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRB dHRyaWJ1dGUoIlNwbGl0UmVzdWx0IiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAg ICBNb3ZlZEF0dHJpYnV0ZSgicGFyc2VfcXMiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiks CistICAgIE1vdmVkQXR0cmlidXRlKCJwYXJzZV9xc2wiLCAidXJscGFyc2UiLCAidXJsbGliLnBh cnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxkZWZyYWciLCAidXJscGFyc2UiLCAidXJs bGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxqb2luIiwgInVybHBhcnNlIiwg InVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXJscGFyc2UiLCAidXJscGFy c2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxzcGxpdCIsICJ1 cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVybHVucGFy c2UiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1 cmx1bnNwbGl0IiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJp YnV0ZSgicXVvdGUiLCAidXJsbGliIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJp YnV0ZSgicXVvdGVfcGx1cyIsICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVk QXR0cmlidXRlKCJ1bnF1b3RlIiwgInVybGxpYiIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92 ZWRBdHRyaWJ1dGUoInVucXVvdGVfcGx1cyIsICJ1cmxsaWIiLCAidXJsbGliLnBhcnNlIiksCist ICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxlbmNvZGUiLCAidXJsbGliIiwgInVybGxpYi5wYXJzZSIp LAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgic3BsaXRxdWVyeSIsICJ1cmxsaWIiLCAidXJsbGliLnBh cnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJzcGxpdHRhZyIsICJ1cmxsaWIiLCAidXJsbGli LnBhcnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJzcGxpdHVzZXIiLCAidXJsbGliIiwgInVy bGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXNlc19mcmFnbWVudCIsICJ1cmxw YXJzZSIsICJ1cmxsaWIucGFyc2UiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVzZXNfbmV0bG9j IiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXNl c19wYXJhbXMiLCAidXJscGFyc2UiLCAidXJsbGliLnBhcnNlIiksCistICAgIE1vdmVkQXR0cmli dXRlKCJ1c2VzX3F1ZXJ5IiwgInVybHBhcnNlIiwgInVybGxpYi5wYXJzZSIpLAorLSAgICBNb3Zl ZEF0dHJpYnV0ZSgidXNlc19yZWxhdGl2ZSIsICJ1cmxwYXJzZSIsICJ1cmxsaWIucGFyc2UiKSwK Ky1dCistZm9yIGF0dHIgaW4gX3VybGxpYl9wYXJzZV9tb3ZlZF9hdHRyaWJ1dGVzOgorLSAgICBz ZXRhdHRyKE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3BhcnNlLCBhdHRyLm5hbWUsIGF0dHIpCist ZGVsIGF0dHIKKy0KKy1Nb2R1bGVfc2l4X21vdmVzX3VybGxpYl9wYXJzZS5fbW92ZWRfYXR0cmli dXRlcyA9IF91cmxsaWJfcGFyc2VfbW92ZWRfYXR0cmlidXRlcworLQorLV9pbXBvcnRlci5fYWRk X21vZHVsZShNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9wYXJzZShfX25hbWVfXyArICIubW92ZXMu dXJsbGliX3BhcnNlIiksCistICAgICAgICAgICAgICAgICAgICAgICJtb3Zlcy51cmxsaWJfcGFy c2UiLCAibW92ZXMudXJsbGliLnBhcnNlIikKKy0KKy0KKy1jbGFzcyBNb2R1bGVfc2l4X21vdmVz X3VybGxpYl9lcnJvcihfTGF6eU1vZHVsZSk6CistCistICAgICIiIkxhenkgbG9hZGluZyBvZiBt b3ZlZCBvYmplY3RzIGluIHNpeC5tb3Zlcy51cmxsaWJfZXJyb3IiIiIKKy0KKy0KKy1fdXJsbGli X2Vycm9yX21vdmVkX2F0dHJpYnV0ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRlKCJVUkxFcnJv ciIsICJ1cmxsaWIyIiwgInVybGxpYi5lcnJvciIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRU UEVycm9yIiwgInVybGxpYjIiLCAidXJsbGliLmVycm9yIiksCistICAgIE1vdmVkQXR0cmlidXRl KCJDb250ZW50VG9vU2hvcnRFcnJvciIsICJ1cmxsaWIiLCAidXJsbGliLmVycm9yIiksCistXQor LWZvciBhdHRyIGluIF91cmxsaWJfZXJyb3JfbW92ZWRfYXR0cmlidXRlczoKKy0gICAgc2V0YXR0 cihNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9lcnJvciwgYXR0ci5uYW1lLCBhdHRyKQorLWRlbCBh dHRyCistCistTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfZXJyb3IuX21vdmVkX2F0dHJpYnV0ZXMg PSBfdXJsbGliX2Vycm9yX21vdmVkX2F0dHJpYnV0ZXMKKy0KKy1faW1wb3J0ZXIuX2FkZF9tb2R1 bGUoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfZXJyb3IoX19uYW1lX18gKyAiLm1vdmVzLnVybGxp Yi5lcnJvciIpLAorLSAgICAgICAgICAgICAgICAgICAgICAibW92ZXMudXJsbGliX2Vycm9yIiwg Im1vdmVzLnVybGxpYi5lcnJvciIpCistCistCistY2xhc3MgTW9kdWxlX3NpeF9tb3Zlc191cmxs aWJfcmVxdWVzdChfTGF6eU1vZHVsZSk6CistCistICAgICIiIkxhenkgbG9hZGluZyBvZiBtb3Zl ZCBvYmplY3RzIGluIHNpeC5tb3Zlcy51cmxsaWJfcmVxdWVzdCIiIgorLQorLQorLV91cmxsaWJf cmVxdWVzdF9tb3ZlZF9hdHRyaWJ1dGVzID0gWworLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXJsb3Bl biIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJp bnN0YWxsX29wZW5lciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVk QXR0cmlidXRlKCJidWlsZF9vcGVuZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAor LSAgICBNb3ZlZEF0dHJpYnV0ZSgicGF0aG5hbWUydXJsIiwgInVybGxpYiIsICJ1cmxsaWIucmVx dWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgidXJsMnBhdGhuYW1lIiwgInVybGxpYiIsICJ1 cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiZ2V0cHJveGllcyIsICJ1cmxs aWIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlJlcXVlc3QiLCAi dXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiT3BlbmVy RGlyZWN0b3IiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJp YnV0ZSgiSFRUUERlZmF1bHRFcnJvckhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVz dCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUFJlZGlyZWN0SGFuZGxlciIsICJ1cmxsaWIy IiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQQ29va2llUHJv Y2Vzc29yIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1 dGUoIlByb3h5SGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1v dmVkQXR0cmlidXRlKCJCYXNlSGFuZGxlciIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0Iiks CistICAgIE1vdmVkQXR0cmlidXRlKCJIVFRQUGFzc3dvcmRNZ3IiLCAidXJsbGliMiIsICJ1cmxs aWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUFBhc3N3b3JkTWdyV2l0aERl ZmF1bHRSZWFsbSIsICJ1cmxsaWIyIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0 cmlidXRlKCJBYnN0cmFjdEJhc2ljQXV0aEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVx dWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUEJhc2ljQXV0aEhhbmRsZXIiLCAidXJs bGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiUHJveHlCYXNp Y0F1dGhIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRB dHRyaWJ1dGUoIkFic3RyYWN0RGlnZXN0QXV0aEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIu cmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUERpZ2VzdEF1dGhIYW5kbGVyIiwg InVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIlByb3h5 RGlnZXN0QXV0aEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBN b3ZlZEF0dHJpYnV0ZSgiSFRUUEhhbmRsZXIiLCAidXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIp LAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiSFRUUFNIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGli LnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkZpbGVIYW5kbGVyIiwgInVybGxpYjIi LCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoIkZUUEhhbmRsZXIiLCAi dXJsbGliMiIsICJ1cmxsaWIucmVxdWVzdCIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiQ2FjaGVG VFBIYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRy aWJ1dGUoIlVua25vd25IYW5kbGVyIiwgInVybGxpYjIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0g ICAgTW92ZWRBdHRyaWJ1dGUoIkhUVFBFcnJvclByb2Nlc3NvciIsICJ1cmxsaWIyIiwgInVybGxp Yi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJ1cmxyZXRyaWV2ZSIsICJ1cmxsaWIi LCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRBdHRyaWJ1dGUoInVybGNsZWFudXAiLCAi dXJsbGliIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJVUkxvcGVu ZXIiLCAidXJsbGliIiwgInVybGxpYi5yZXF1ZXN0IiksCistICAgIE1vdmVkQXR0cmlidXRlKCJG YW5jeVVSTG9wZW5lciIsICJ1cmxsaWIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy0gICAgTW92ZWRB dHRyaWJ1dGUoInByb3h5X2J5cGFzcyIsICJ1cmxsaWIiLCAidXJsbGliLnJlcXVlc3QiKSwKKy1d CistZm9yIGF0dHIgaW4gX3VybGxpYl9yZXF1ZXN0X21vdmVkX2F0dHJpYnV0ZXM6CistICAgIHNl dGF0dHIoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcmVxdWVzdCwgYXR0ci5uYW1lLCBhdHRyKQor LWRlbCBhdHRyCistCistTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcmVxdWVzdC5fbW92ZWRfYXR0 cmlidXRlcyA9IF91cmxsaWJfcmVxdWVzdF9tb3ZlZF9hdHRyaWJ1dGVzCistCistX2ltcG9ydGVy Ll9hZGRfbW9kdWxlKE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3JlcXVlc3QoX19uYW1lX18gKyAi Lm1vdmVzLnVybGxpYi5yZXF1ZXN0IiksCistICAgICAgICAgICAgICAgICAgICAgICJtb3Zlcy51 cmxsaWJfcmVxdWVzdCIsICJtb3Zlcy51cmxsaWIucmVxdWVzdCIpCistCistCistY2xhc3MgTW9k dWxlX3NpeF9tb3Zlc191cmxsaWJfcmVzcG9uc2UoX0xhenlNb2R1bGUpOgorLQorLSAgICAiIiJM YXp5IGxvYWRpbmcgb2YgbW92ZWQgb2JqZWN0cyBpbiBzaXgubW92ZXMudXJsbGliX3Jlc3BvbnNl IiIiCistCistCistX3VybGxpYl9yZXNwb25zZV9tb3ZlZF9hdHRyaWJ1dGVzID0gWworLSAgICBN b3ZlZEF0dHJpYnV0ZSgiYWRkYmFzZSIsICJ1cmxsaWIiLCAidXJsbGliLnJlc3BvbnNlIiksCist ICAgIE1vdmVkQXR0cmlidXRlKCJhZGRjbG9zZWhvb2siLCAidXJsbGliIiwgInVybGxpYi5yZXNw b25zZSIpLAorLSAgICBNb3ZlZEF0dHJpYnV0ZSgiYWRkaW5mbyIsICJ1cmxsaWIiLCAidXJsbGli LnJlc3BvbnNlIiksCistICAgIE1vdmVkQXR0cmlidXRlKCJhZGRpbmZvdXJsIiwgInVybGxpYiIs ICJ1cmxsaWIucmVzcG9uc2UiKSwKKy1dCistZm9yIGF0dHIgaW4gX3VybGxpYl9yZXNwb25zZV9t b3ZlZF9hdHRyaWJ1dGVzOgorLSAgICBzZXRhdHRyKE1vZHVsZV9zaXhfbW92ZXNfdXJsbGliX3Jl c3BvbnNlLCBhdHRyLm5hbWUsIGF0dHIpCistZGVsIGF0dHIKKy0KKy1Nb2R1bGVfc2l4X21vdmVz X3VybGxpYl9yZXNwb25zZS5fbW92ZWRfYXR0cmlidXRlcyA9IF91cmxsaWJfcmVzcG9uc2VfbW92 ZWRfYXR0cmlidXRlcworLQorLV9pbXBvcnRlci5fYWRkX21vZHVsZShNb2R1bGVfc2l4X21vdmVz X3VybGxpYl9yZXNwb25zZShfX25hbWVfXyArICIubW92ZXMudXJsbGliLnJlc3BvbnNlIiksCist ICAgICAgICAgICAgICAgICAgICAgICJtb3Zlcy51cmxsaWJfcmVzcG9uc2UiLCAibW92ZXMudXJs bGliLnJlc3BvbnNlIikKKy0KKy0KKy1jbGFzcyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yb2Jv dHBhcnNlcihfTGF6eU1vZHVsZSk6CistCistICAgICIiIkxhenkgbG9hZGluZyBvZiBtb3ZlZCBv YmplY3RzIGluIHNpeC5tb3Zlcy51cmxsaWJfcm9ib3RwYXJzZXIiIiIKKy0KKy0KKy1fdXJsbGli X3JvYm90cGFyc2VyX21vdmVkX2F0dHJpYnV0ZXMgPSBbCistICAgIE1vdmVkQXR0cmlidXRlKCJS b2JvdEZpbGVQYXJzZXIiLCAicm9ib3RwYXJzZXIiLCAidXJsbGliLnJvYm90cGFyc2VyIiksCist XQorLWZvciBhdHRyIGluIF91cmxsaWJfcm9ib3RwYXJzZXJfbW92ZWRfYXR0cmlidXRlczoKKy0g ICAgc2V0YXR0cihNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yb2JvdHBhcnNlciwgYXR0ci5uYW1l LCBhdHRyKQorLWRlbCBhdHRyCistCistTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcm9ib3RwYXJz ZXIuX21vdmVkX2F0dHJpYnV0ZXMgPSBfdXJsbGliX3JvYm90cGFyc2VyX21vdmVkX2F0dHJpYnV0 ZXMKKy0KKy1faW1wb3J0ZXIuX2FkZF9tb2R1bGUoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWJfcm9i b3RwYXJzZXIoX19uYW1lX18gKyAiLm1vdmVzLnVybGxpYi5yb2JvdHBhcnNlciIpLAorLSAgICAg ICAgICAgICAgICAgICAgICAibW92ZXMudXJsbGliX3JvYm90cGFyc2VyIiwgIm1vdmVzLnVybGxp Yi5yb2JvdHBhcnNlciIpCistCistCistY2xhc3MgTW9kdWxlX3NpeF9tb3Zlc191cmxsaWIodHlw ZXMuTW9kdWxlVHlwZSk6CistCistICAgICIiIkNyZWF0ZSBhIHNpeC5tb3Zlcy51cmxsaWIgbmFt ZXNwYWNlIHRoYXQgcmVzZW1ibGVzIHRoZSBQeXRob24gMyBuYW1lc3BhY2UiIiIKKy0gICAgX19w YXRoX18gPSBbXSAgIyBtYXJrIGFzIHBhY2thZ2UKKy0gICAgcGFyc2UgPSBfaW1wb3J0ZXIuX2dl dF9tb2R1bGUoIm1vdmVzLnVybGxpYl9wYXJzZSIpCistICAgIGVycm9yID0gX2ltcG9ydGVyLl9n ZXRfbW9kdWxlKCJtb3Zlcy51cmxsaWJfZXJyb3IiKQorLSAgICByZXF1ZXN0ID0gX2ltcG9ydGVy Ll9nZXRfbW9kdWxlKCJtb3Zlcy51cmxsaWJfcmVxdWVzdCIpCistICAgIHJlc3BvbnNlID0gX2lt cG9ydGVyLl9nZXRfbW9kdWxlKCJtb3Zlcy51cmxsaWJfcmVzcG9uc2UiKQorLSAgICByb2JvdHBh cnNlciA9IF9pbXBvcnRlci5fZ2V0X21vZHVsZSgibW92ZXMudXJsbGliX3JvYm90cGFyc2VyIikK Ky0KKy0gICAgZGVmIF9fZGlyX18oc2VsZik6CistICAgICAgICByZXR1cm4gWydwYXJzZScsICdl cnJvcicsICdyZXF1ZXN0JywgJ3Jlc3BvbnNlJywgJ3JvYm90cGFyc2VyJ10KKy0KKy1faW1wb3J0 ZXIuX2FkZF9tb2R1bGUoTW9kdWxlX3NpeF9tb3Zlc191cmxsaWIoX19uYW1lX18gKyAiLm1vdmVz LnVybGxpYiIpLAorLSAgICAgICAgICAgICAgICAgICAgICAibW92ZXMudXJsbGliIikKKy0KKy0K Ky1kZWYgYWRkX21vdmUobW92ZSk6CistICAgICIiIkFkZCBhbiBpdGVtIHRvIHNpeC5tb3Zlcy4i IiIKKy0gICAgc2V0YXR0cihfTW92ZWRJdGVtcywgbW92ZS5uYW1lLCBtb3ZlKQorLQorLQorLWRl ZiByZW1vdmVfbW92ZShuYW1lKToKKy0gICAgIiIiUmVtb3ZlIGl0ZW0gZnJvbSBzaXgubW92ZXMu IiIiCistICAgIHRyeToKKy0gICAgICAgIGRlbGF0dHIoX01vdmVkSXRlbXMsIG5hbWUpCistICAg IGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBkZWwg bW92ZXMuX19kaWN0X19bbmFtZV0KKy0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKy0gICAgICAg ICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigibm8gc3VjaCBtb3ZlLCAlciIgJSAobmFtZSwpKQor LQorLQorLWlmIFBZMzoKKy0gICAgX21ldGhfZnVuYyA9ICJfX2Z1bmNfXyIKKy0gICAgX21ldGhf c2VsZiA9ICJfX3NlbGZfXyIKKy0KKy0gICAgX2Z1bmNfY2xvc3VyZSA9ICJfX2Nsb3N1cmVfXyIK Ky0gICAgX2Z1bmNfY29kZSA9ICJfX2NvZGVfXyIKKy0gICAgX2Z1bmNfZGVmYXVsdHMgPSAiX19k ZWZhdWx0c19fIgorLSAgICBfZnVuY19nbG9iYWxzID0gIl9fZ2xvYmFsc19fIgorLWVsc2U6Cist ICAgIF9tZXRoX2Z1bmMgPSAiaW1fZnVuYyIKKy0gICAgX21ldGhfc2VsZiA9ICJpbV9zZWxmIgor LQorLSAgICBfZnVuY19jbG9zdXJlID0gImZ1bmNfY2xvc3VyZSIKKy0gICAgX2Z1bmNfY29kZSA9 ICJmdW5jX2NvZGUiCistICAgIF9mdW5jX2RlZmF1bHRzID0gImZ1bmNfZGVmYXVsdHMiCistICAg IF9mdW5jX2dsb2JhbHMgPSAiZnVuY19nbG9iYWxzIgorLQorLQorLXRyeToKKy0gICAgYWR2YW5j ZV9pdGVyYXRvciA9IG5leHQKKy1leGNlcHQgTmFtZUVycm9yOgorLSAgICBkZWYgYWR2YW5jZV9p dGVyYXRvcihpdCk6CistICAgICAgICByZXR1cm4gaXQubmV4dCgpCistbmV4dCA9IGFkdmFuY2Vf aXRlcmF0b3IKKy0KKy0KKy10cnk6CistICAgIGNhbGxhYmxlID0gY2FsbGFibGUKKy1leGNlcHQg TmFtZUVycm9yOgorLSAgICBkZWYgY2FsbGFibGUob2JqKToKKy0gICAgICAgIHJldHVybiBhbnko Il9fY2FsbF9fIiBpbiBrbGFzcy5fX2RpY3RfXyBmb3Iga2xhc3MgaW4gdHlwZShvYmopLl9fbXJv X18pCistCistCistaWYgUFkzOgorLSAgICBkZWYgZ2V0X3VuYm91bmRfZnVuY3Rpb24odW5ib3Vu ZCk6CistICAgICAgICByZXR1cm4gdW5ib3VuZAorLQorLSAgICBjcmVhdGVfYm91bmRfbWV0aG9k ID0gdHlwZXMuTWV0aG9kVHlwZQorLQorLSAgICBkZWYgY3JlYXRlX3VuYm91bmRfbWV0aG9kKGZ1 bmMsIGNscyk6CistICAgICAgICByZXR1cm4gZnVuYworLQorLSAgICBJdGVyYXRvciA9IG9iamVj dAorLWVsc2U6CistICAgIGRlZiBnZXRfdW5ib3VuZF9mdW5jdGlvbih1bmJvdW5kKToKKy0gICAg ICAgIHJldHVybiB1bmJvdW5kLmltX2Z1bmMKKy0KKy0gICAgZGVmIGNyZWF0ZV9ib3VuZF9tZXRo b2QoZnVuYywgb2JqKToKKy0gICAgICAgIHJldHVybiB0eXBlcy5NZXRob2RUeXBlKGZ1bmMsIG9i aiwgb2JqLl9fY2xhc3NfXykKKy0KKy0gICAgZGVmIGNyZWF0ZV91bmJvdW5kX21ldGhvZChmdW5j LCBjbHMpOgorLSAgICAgICAgcmV0dXJuIHR5cGVzLk1ldGhvZFR5cGUoZnVuYywgTm9uZSwgY2xz KQorLQorLSAgICBjbGFzcyBJdGVyYXRvcihvYmplY3QpOgorLQorLSAgICAgICAgZGVmIG5leHQo c2VsZik6CistICAgICAgICAgICAgcmV0dXJuIHR5cGUoc2VsZikuX19uZXh0X18oc2VsZikKKy0K Ky0gICAgY2FsbGFibGUgPSBjYWxsYWJsZQorLV9hZGRfZG9jKGdldF91bmJvdW5kX2Z1bmN0aW9u LAorLSAgICAgICAgICIiIkdldCB0aGUgZnVuY3Rpb24gb3V0IG9mIGEgcG9zc2libHkgdW5ib3Vu ZCBmdW5jdGlvbiIiIikKKy0KKy0KKy1nZXRfbWV0aG9kX2Z1bmN0aW9uID0gb3BlcmF0b3IuYXR0 cmdldHRlcihfbWV0aF9mdW5jKQorLWdldF9tZXRob2Rfc2VsZiA9IG9wZXJhdG9yLmF0dHJnZXR0 ZXIoX21ldGhfc2VsZikKKy1nZXRfZnVuY3Rpb25fY2xvc3VyZSA9IG9wZXJhdG9yLmF0dHJnZXR0 ZXIoX2Z1bmNfY2xvc3VyZSkKKy1nZXRfZnVuY3Rpb25fY29kZSA9IG9wZXJhdG9yLmF0dHJnZXR0 ZXIoX2Z1bmNfY29kZSkKKy1nZXRfZnVuY3Rpb25fZGVmYXVsdHMgPSBvcGVyYXRvci5hdHRyZ2V0 dGVyKF9mdW5jX2RlZmF1bHRzKQorLWdldF9mdW5jdGlvbl9nbG9iYWxzID0gb3BlcmF0b3IuYXR0 cmdldHRlcihfZnVuY19nbG9iYWxzKQorLQorLQorLWlmIFBZMzoKKy0gICAgZGVmIGl0ZXJrZXlz KGQsICoqa3cpOgorLSAgICAgICAgcmV0dXJuIGl0ZXIoZC5rZXlzKCoqa3cpKQorLQorLSAgICBk ZWYgaXRlcnZhbHVlcyhkLCAqKmt3KToKKy0gICAgICAgIHJldHVybiBpdGVyKGQudmFsdWVzKCoq a3cpKQorLQorLSAgICBkZWYgaXRlcml0ZW1zKGQsICoqa3cpOgorLSAgICAgICAgcmV0dXJuIGl0 ZXIoZC5pdGVtcygqKmt3KSkKKy0KKy0gICAgZGVmIGl0ZXJsaXN0cyhkLCAqKmt3KToKKy0gICAg ICAgIHJldHVybiBpdGVyKGQubGlzdHMoKiprdykpCistCistICAgIHZpZXdrZXlzID0gb3BlcmF0 b3IubWV0aG9kY2FsbGVyKCJrZXlzIikKKy0KKy0gICAgdmlld3ZhbHVlcyA9IG9wZXJhdG9yLm1l dGhvZGNhbGxlcigidmFsdWVzIikKKy0KKy0gICAgdmlld2l0ZW1zID0gb3BlcmF0b3IubWV0aG9k Y2FsbGVyKCJpdGVtcyIpCistZWxzZToKKy0gICAgZGVmIGl0ZXJrZXlzKGQsICoqa3cpOgorLSAg ICAgICAgcmV0dXJuIGQuaXRlcmtleXMoKiprdykKKy0KKy0gICAgZGVmIGl0ZXJ2YWx1ZXMoZCwg Kiprdyk6CistICAgICAgICByZXR1cm4gZC5pdGVydmFsdWVzKCoqa3cpCistCistICAgIGRlZiBp dGVyaXRlbXMoZCwgKiprdyk6CistICAgICAgICByZXR1cm4gZC5pdGVyaXRlbXMoKiprdykKKy0K Ky0gICAgZGVmIGl0ZXJsaXN0cyhkLCAqKmt3KToKKy0gICAgICAgIHJldHVybiBkLml0ZXJsaXN0 cygqKmt3KQorLQorLSAgICB2aWV3a2V5cyA9IG9wZXJhdG9yLm1ldGhvZGNhbGxlcigidmlld2tl eXMiKQorLQorLSAgICB2aWV3dmFsdWVzID0gb3BlcmF0b3IubWV0aG9kY2FsbGVyKCJ2aWV3dmFs dWVzIikKKy0KKy0gICAgdmlld2l0ZW1zID0gb3BlcmF0b3IubWV0aG9kY2FsbGVyKCJ2aWV3aXRl bXMiKQorLQorLV9hZGRfZG9jKGl0ZXJrZXlzLCAiUmV0dXJuIGFuIGl0ZXJhdG9yIG92ZXIgdGhl IGtleXMgb2YgYSBkaWN0aW9uYXJ5LiIpCistX2FkZF9kb2MoaXRlcnZhbHVlcywgIlJldHVybiBh biBpdGVyYXRvciBvdmVyIHRoZSB2YWx1ZXMgb2YgYSBkaWN0aW9uYXJ5LiIpCistX2FkZF9kb2Mo aXRlcml0ZW1zLAorLSAgICAgICAgICJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciB0aGUgKGtleSwg dmFsdWUpIHBhaXJzIG9mIGEgZGljdGlvbmFyeS4iKQorLV9hZGRfZG9jKGl0ZXJsaXN0cywKKy0g ICAgICAgICAiUmV0dXJuIGFuIGl0ZXJhdG9yIG92ZXIgdGhlIChrZXksIFt2YWx1ZXNdKSBwYWly cyBvZiBhIGRpY3Rpb25hcnkuIikKKy0KKy0KKy1pZiBQWTM6CistICAgIGRlZiBiKHMpOgorLSAg ICAgICAgcmV0dXJuIHMuZW5jb2RlKCJsYXRpbi0xIikKKy0KKy0gICAgZGVmIHUocyk6CistICAg ICAgICByZXR1cm4gcworLSAgICB1bmljaHIgPSBjaHIKKy0gICAgaW1wb3J0IHN0cnVjdAorLSAg ICBpbnQyYnl0ZSA9IHN0cnVjdC5TdHJ1Y3QoIj5CIikucGFjaworLSAgICBkZWwgc3RydWN0Cist ICAgIGJ5dGUyaW50ID0gb3BlcmF0b3IuaXRlbWdldHRlcigwKQorLSAgICBpbmRleGJ5dGVzID0g b3BlcmF0b3IuZ2V0aXRlbQorLSAgICBpdGVyYnl0ZXMgPSBpdGVyCistICAgIGltcG9ydCBpbwor LSAgICBTdHJpbmdJTyA9IGlvLlN0cmluZ0lPCistICAgIEJ5dGVzSU8gPSBpby5CeXRlc0lPCist ICAgIF9hc3NlcnRDb3VudEVxdWFsID0gImFzc2VydENvdW50RXF1YWwiCistICAgIGlmIHN5cy52 ZXJzaW9uX2luZm9bMV0gPD0gMToKKy0gICAgICAgIF9hc3NlcnRSYWlzZXNSZWdleCA9ICJhc3Nl cnRSYWlzZXNSZWdleHAiCistICAgICAgICBfYXNzZXJ0UmVnZXggPSAiYXNzZXJ0UmVnZXhwTWF0 Y2hlcyIKKy0gICAgZWxzZToKKy0gICAgICAgIF9hc3NlcnRSYWlzZXNSZWdleCA9ICJhc3NlcnRS YWlzZXNSZWdleCIKKy0gICAgICAgIF9hc3NlcnRSZWdleCA9ICJhc3NlcnRSZWdleCIKKy1lbHNl OgorLSAgICBkZWYgYihzKToKKy0gICAgICAgIHJldHVybiBzCistICAgICMgV29ya2Fyb3VuZCBm b3Igc3RhbmRhbG9uZSBiYWNrc2xhc2gKKy0KKy0gICAgZGVmIHUocyk6CistICAgICAgICByZXR1 cm4gdW5pY29kZShzLnJlcGxhY2UocidcXCcsIHInXFxcXCcpLCAidW5pY29kZV9lc2NhcGUiKQor LSAgICB1bmljaHIgPSB1bmljaHIKKy0gICAgaW50MmJ5dGUgPSBjaHIKKy0KKy0gICAgZGVmIGJ5 dGUyaW50KGJzKToKKy0gICAgICAgIHJldHVybiBvcmQoYnNbMF0pCistCistICAgIGRlZiBpbmRl eGJ5dGVzKGJ1ZiwgaSk6CistICAgICAgICByZXR1cm4gb3JkKGJ1ZltpXSkKKy0gICAgaXRlcmJ5 dGVzID0gZnVuY3Rvb2xzLnBhcnRpYWwoaXRlcnRvb2xzLmltYXAsIG9yZCkKKy0gICAgaW1wb3J0 IFN0cmluZ0lPCistICAgIFN0cmluZ0lPID0gQnl0ZXNJTyA9IFN0cmluZ0lPLlN0cmluZ0lPCist ICAgIF9hc3NlcnRDb3VudEVxdWFsID0gImFzc2VydEl0ZW1zRXF1YWwiCistICAgIF9hc3NlcnRS YWlzZXNSZWdleCA9ICJhc3NlcnRSYWlzZXNSZWdleHAiCistICAgIF9hc3NlcnRSZWdleCA9ICJh c3NlcnRSZWdleHBNYXRjaGVzIgorLV9hZGRfZG9jKGIsICIiIkJ5dGUgbGl0ZXJhbCIiIikKKy1f YWRkX2RvYyh1LCAiIiJUZXh0IGxpdGVyYWwiIiIpCistCistCistZGVmIGFzc2VydENvdW50RXF1 YWwoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgcmV0dXJuIGdldGF0dHIoc2VsZiwgX2Fz c2VydENvdW50RXF1YWwpKCphcmdzLCAqKmt3YXJncykKKy0KKy0KKy1kZWYgYXNzZXJ0UmFpc2Vz UmVnZXgoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKy0gICAgcmV0dXJuIGdldGF0dHIoc2VsZiwg X2Fzc2VydFJhaXNlc1JlZ2V4KSgqYXJncywgKiprd2FyZ3MpCistCistCistZGVmIGFzc2VydFJl Z2V4KHNlbGYsICphcmdzLCAqKmt3YXJncyk6CistICAgIHJldHVybiBnZXRhdHRyKHNlbGYsIF9h c3NlcnRSZWdleCkoKmFyZ3MsICoqa3dhcmdzKQorLQorLQorLWlmIFBZMzoKKy0gICAgZXhlY18g PSBnZXRhdHRyKG1vdmVzLmJ1aWx0aW5zLCAiZXhlYyIpCistCistICAgIGRlZiByZXJhaXNlKHRw LCB2YWx1ZSwgdGI9Tm9uZSk6CistICAgICAgICBpZiB2YWx1ZSBpcyBOb25lOgorLSAgICAgICAg ICAgIHZhbHVlID0gdHAoKQorLSAgICAgICAgaWYgdmFsdWUuX190cmFjZWJhY2tfXyBpcyBub3Qg dGI6CistICAgICAgICAgICAgcmFpc2UgdmFsdWUud2l0aF90cmFjZWJhY2sodGIpCistICAgICAg ICByYWlzZSB2YWx1ZQorLQorLWVsc2U6CistICAgIGRlZiBleGVjXyhfY29kZV8sIF9nbG9ic189 Tm9uZSwgX2xvY3NfPU5vbmUpOgorLSAgICAgICAgIiIiRXhlY3V0ZSBjb2RlIGluIGEgbmFtZXNw YWNlLiIiIgorLSAgICAgICAgaWYgX2dsb2JzXyBpcyBOb25lOgorLSAgICAgICAgICAgIGZyYW1l ID0gc3lzLl9nZXRmcmFtZSgxKQorLSAgICAgICAgICAgIF9nbG9ic18gPSBmcmFtZS5mX2dsb2Jh bHMKKy0gICAgICAgICAgICBpZiBfbG9jc18gaXMgTm9uZToKKy0gICAgICAgICAgICAgICAgX2xv Y3NfID0gZnJhbWUuZl9sb2NhbHMKKy0gICAgICAgICAgICBkZWwgZnJhbWUKKy0gICAgICAgIGVs aWYgX2xvY3NfIGlzIE5vbmU6CistICAgICAgICAgICAgX2xvY3NfID0gX2dsb2JzXworLSAgICAg ICAgZXhlYygiIiJleGVjIF9jb2RlXyBpbiBfZ2xvYnNfLCBfbG9jc18iIiIpCistCistICAgIGV4 ZWNfKCIiImRlZiByZXJhaXNlKHRwLCB2YWx1ZSwgdGI9Tm9uZSk6CistICAgIHJhaXNlIHRwLCB2 YWx1ZSwgdGIKKy0iIiIpCistCistCistaWYgc3lzLnZlcnNpb25faW5mb1s6Ml0gPT0gKDMsIDIp OgorLSAgICBleGVjXygiIiJkZWYgcmFpc2VfZnJvbSh2YWx1ZSwgZnJvbV92YWx1ZSk6CistICAg IGlmIGZyb21fdmFsdWUgaXMgTm9uZToKKy0gICAgICAgIHJhaXNlIHZhbHVlCistICAgIHJhaXNl IHZhbHVlIGZyb20gZnJvbV92YWx1ZQorLSIiIikKKy1lbGlmIHN5cy52ZXJzaW9uX2luZm9bOjJd ID4gKDMsIDIpOgorLSAgICBleGVjXygiIiJkZWYgcmFpc2VfZnJvbSh2YWx1ZSwgZnJvbV92YWx1 ZSk6CistICAgIHJhaXNlIHZhbHVlIGZyb20gZnJvbV92YWx1ZQorLSIiIikKKy1lbHNlOgorLSAg ICBkZWYgcmFpc2VfZnJvbSh2YWx1ZSwgZnJvbV92YWx1ZSk6CistICAgICAgICByYWlzZSB2YWx1 ZQorLQorLQorLXByaW50XyA9IGdldGF0dHIobW92ZXMuYnVpbHRpbnMsICJwcmludCIsIE5vbmUp CistaWYgcHJpbnRfIGlzIE5vbmU6CistICAgIGRlZiBwcmludF8oKmFyZ3MsICoqa3dhcmdzKToK Ky0gICAgICAgICIiIlRoZSBuZXctc3R5bGUgcHJpbnQgZnVuY3Rpb24gZm9yIFB5dGhvbiAyLjQg YW5kIDIuNS4iIiIKKy0gICAgICAgIGZwID0ga3dhcmdzLnBvcCgiZmlsZSIsIHN5cy5zdGRvdXQp CistICAgICAgICBpZiBmcCBpcyBOb25lOgorLSAgICAgICAgICAgIHJldHVybgorLQorLSAgICAg ICAgZGVmIHdyaXRlKGRhdGEpOgorLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGRhdGEs IGJhc2VzdHJpbmcpOgorLSAgICAgICAgICAgICAgICBkYXRhID0gc3RyKGRhdGEpCistICAgICAg ICAgICAgIyBJZiB0aGUgZmlsZSBoYXMgYW4gZW5jb2RpbmcsIGVuY29kZSB1bmljb2RlIHdpdGgg aXQuCistICAgICAgICAgICAgaWYgKGlzaW5zdGFuY2UoZnAsIGZpbGUpIGFuZAorLSAgICAgICAg ICAgICAgICAgICAgaXNpbnN0YW5jZShkYXRhLCB1bmljb2RlKSBhbmQKKy0gICAgICAgICAgICAg ICAgICAgIGZwLmVuY29kaW5nIGlzIG5vdCBOb25lKToKKy0gICAgICAgICAgICAgICAgZXJyb3Jz ID0gZ2V0YXR0cihmcCwgImVycm9ycyIsIE5vbmUpCistICAgICAgICAgICAgICAgIGlmIGVycm9y cyBpcyBOb25lOgorLSAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gInN0cmljdCIKKy0gICAg ICAgICAgICAgICAgZGF0YSA9IGRhdGEuZW5jb2RlKGZwLmVuY29kaW5nLCBlcnJvcnMpCistICAg ICAgICAgICAgZnAud3JpdGUoZGF0YSkKKy0gICAgICAgIHdhbnRfdW5pY29kZSA9IEZhbHNlCist ICAgICAgICBzZXAgPSBrd2FyZ3MucG9wKCJzZXAiLCBOb25lKQorLSAgICAgICAgaWYgc2VwIGlz IG5vdCBOb25lOgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2VwLCB1bmljb2RlKToKKy0g ICAgICAgICAgICAgICAgd2FudF91bmljb2RlID0gVHJ1ZQorLSAgICAgICAgICAgIGVsaWYgbm90 IGlzaW5zdGFuY2Uoc2VwLCBzdHIpOgorLSAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3Io InNlcCBtdXN0IGJlIE5vbmUgb3IgYSBzdHJpbmciKQorLSAgICAgICAgZW5kID0ga3dhcmdzLnBv cCgiZW5kIiwgTm9uZSkKKy0gICAgICAgIGlmIGVuZCBpcyBub3QgTm9uZToKKy0gICAgICAgICAg ICBpZiBpc2luc3RhbmNlKGVuZCwgdW5pY29kZSk6CistICAgICAgICAgICAgICAgIHdhbnRfdW5p Y29kZSA9IFRydWUKKy0gICAgICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKGVuZCwgc3RyKToK Ky0gICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJlbmQgbXVzdCBiZSBOb25lIG9yIGEg c3RyaW5nIikKKy0gICAgICAgIGlmIGt3YXJnczoKKy0gICAgICAgICAgICByYWlzZSBUeXBlRXJy b3IoImludmFsaWQga2V5d29yZCBhcmd1bWVudHMgdG8gcHJpbnQoKSIpCistICAgICAgICBpZiBu b3Qgd2FudF91bmljb2RlOgorLSAgICAgICAgICAgIGZvciBhcmcgaW4gYXJnczoKKy0gICAgICAg ICAgICAgICAgaWYgaXNpbnN0YW5jZShhcmcsIHVuaWNvZGUpOgorLSAgICAgICAgICAgICAgICAg ICAgd2FudF91bmljb2RlID0gVHJ1ZQorLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKKy0gICAg ICAgIGlmIHdhbnRfdW5pY29kZToKKy0gICAgICAgICAgICBuZXdsaW5lID0gdW5pY29kZSgiXG4i KQorLSAgICAgICAgICAgIHNwYWNlID0gdW5pY29kZSgiICIpCistICAgICAgICBlbHNlOgorLSAg ICAgICAgICAgIG5ld2xpbmUgPSAiXG4iCistICAgICAgICAgICAgc3BhY2UgPSAiICIKKy0gICAg ICAgIGlmIHNlcCBpcyBOb25lOgorLSAgICAgICAgICAgIHNlcCA9IHNwYWNlCistICAgICAgICBp ZiBlbmQgaXMgTm9uZToKKy0gICAgICAgICAgICBlbmQgPSBuZXdsaW5lCistICAgICAgICBmb3Ig aSwgYXJnIGluIGVudW1lcmF0ZShhcmdzKToKKy0gICAgICAgICAgICBpZiBpOgorLSAgICAgICAg ICAgICAgICB3cml0ZShzZXApCistICAgICAgICAgICAgd3JpdGUoYXJnKQorLSAgICAgICAgd3Jp dGUoZW5kKQorLWlmIHN5cy52ZXJzaW9uX2luZm9bOjJdIDwgKDMsIDMpOgorLSAgICBfcHJpbnQg PSBwcmludF8KKy0KKy0gICAgZGVmIHByaW50XygqYXJncywgKiprd2FyZ3MpOgorLSAgICAgICAg ZnAgPSBrd2FyZ3MuZ2V0KCJmaWxlIiwgc3lzLnN0ZG91dCkKKy0gICAgICAgIGZsdXNoID0ga3dh cmdzLnBvcCgiZmx1c2giLCBGYWxzZSkKKy0gICAgICAgIF9wcmludCgqYXJncywgKiprd2FyZ3Mp CistICAgICAgICBpZiBmbHVzaCBhbmQgZnAgaXMgbm90IE5vbmU6CistICAgICAgICAgICAgZnAu Zmx1c2goKQorLQorLV9hZGRfZG9jKHJlcmFpc2UsICIiIlJlcmFpc2UgYW4gZXhjZXB0aW9uLiIi IikKKy0KKy1pZiBzeXMudmVyc2lvbl9pbmZvWzA6Ml0gPCAoMywgNCk6CistICAgIGRlZiB3cmFw cyh3cmFwcGVkLCBhc3NpZ25lZD1mdW5jdG9vbHMuV1JBUFBFUl9BU1NJR05NRU5UUywKKy0gICAg ICAgICAgICAgIHVwZGF0ZWQ9ZnVuY3Rvb2xzLldSQVBQRVJfVVBEQVRFUyk6CistICAgICAgICBk ZWYgd3JhcHBlcihmKToKKy0gICAgICAgICAgICBmID0gZnVuY3Rvb2xzLndyYXBzKHdyYXBwZWQs IGFzc2lnbmVkLCB1cGRhdGVkKShmKQorLSAgICAgICAgICAgIGYuX193cmFwcGVkX18gPSB3cmFw cGVkCistICAgICAgICAgICAgcmV0dXJuIGYKKy0gICAgICAgIHJldHVybiB3cmFwcGVyCistZWxz ZToKKy0gICAgd3JhcHMgPSBmdW5jdG9vbHMud3JhcHMKKy0KKy0KKy1kZWYgd2l0aF9tZXRhY2xh c3MobWV0YSwgKmJhc2VzKToKKy0gICAgIiIiQ3JlYXRlIGEgYmFzZSBjbGFzcyB3aXRoIGEgbWV0 YWNsYXNzLiIiIgorLSAgICAjIFRoaXMgcmVxdWlyZXMgYSBiaXQgb2YgZXhwbGFuYXRpb246IHRo ZSBiYXNpYyBpZGVhIGlzIHRvIG1ha2UgYSBkdW1teQorLSAgICAjIG1ldGFjbGFzcyBmb3Igb25l IGxldmVsIG9mIGNsYXNzIGluc3RhbnRpYXRpb24gdGhhdCByZXBsYWNlcyBpdHNlbGYgd2l0aAor LSAgICAjIHRoZSBhY3R1YWwgbWV0YWNsYXNzLgorLSAgICBjbGFzcyBtZXRhY2xhc3MobWV0YSk6 CistCistICAgICAgICBkZWYgX19uZXdfXyhjbHMsIG5hbWUsIHRoaXNfYmFzZXMsIGQpOgorLSAg ICAgICAgICAgIHJldHVybiBtZXRhKG5hbWUsIGJhc2VzLCBkKQorLSAgICByZXR1cm4gdHlwZS5f X25ld19fKG1ldGFjbGFzcywgJ3RlbXBvcmFyeV9jbGFzcycsICgpLCB7fSkKKy0KKy0KKy1kZWYg YWRkX21ldGFjbGFzcyhtZXRhY2xhc3MpOgorLSAgICAiIiJDbGFzcyBkZWNvcmF0b3IgZm9yIGNy ZWF0aW5nIGEgY2xhc3Mgd2l0aCBhIG1ldGFjbGFzcy4iIiIKKy0gICAgZGVmIHdyYXBwZXIoY2xz KToKKy0gICAgICAgIG9yaWdfdmFycyA9IGNscy5fX2RpY3RfXy5jb3B5KCkKKy0gICAgICAgIHNs b3RzID0gb3JpZ192YXJzLmdldCgnX19zbG90c19fJykKKy0gICAgICAgIGlmIHNsb3RzIGlzIG5v dCBOb25lOgorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2xvdHMsIHN0cik6CistICAgICAg ICAgICAgICAgIHNsb3RzID0gW3Nsb3RzXQorLSAgICAgICAgICAgIGZvciBzbG90c192YXIgaW4g c2xvdHM6CistICAgICAgICAgICAgICAgIG9yaWdfdmFycy5wb3Aoc2xvdHNfdmFyKQorLSAgICAg ICAgb3JpZ192YXJzLnBvcCgnX19kaWN0X18nLCBOb25lKQorLSAgICAgICAgb3JpZ192YXJzLnBv cCgnX193ZWFrcmVmX18nLCBOb25lKQorLSAgICAgICAgcmV0dXJuIG1ldGFjbGFzcyhjbHMuX19u YW1lX18sIGNscy5fX2Jhc2VzX18sIG9yaWdfdmFycykKKy0gICAgcmV0dXJuIHdyYXBwZXIKKy0K Ky0KKy1kZWYgcHl0aG9uXzJfdW5pY29kZV9jb21wYXRpYmxlKGtsYXNzKToKKy0gICAgIiIiCist ICAgIEEgZGVjb3JhdG9yIHRoYXQgZGVmaW5lcyBfX3VuaWNvZGVfXyBhbmQgX19zdHJfXyBtZXRo b2RzIHVuZGVyIFB5dGhvbiAyLgorLSAgICBVbmRlciBQeXRob24gMyBpdCBkb2VzIG5vdGhpbmcu CistCistICAgIFRvIHN1cHBvcnQgUHl0aG9uIDIgYW5kIDMgd2l0aCBhIHNpbmdsZSBjb2RlIGJh c2UsIGRlZmluZSBhIF9fc3RyX18gbWV0aG9kCistICAgIHJldHVybmluZyB0ZXh0IGFuZCBhcHBs eSB0aGlzIGRlY29yYXRvciB0byB0aGUgY2xhc3MuCistICAgICIiIgorLSAgICBpZiBQWTI6Cist ICAgICAgICBpZiAnX19zdHJfXycgbm90IGluIGtsYXNzLl9fZGljdF9fOgorLSAgICAgICAgICAg IHJhaXNlIFZhbHVlRXJyb3IoIkBweXRob25fMl91bmljb2RlX2NvbXBhdGlibGUgY2Fubm90IGJl IGFwcGxpZWQgIgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRvICVzIGJlY2F1c2Ug aXQgZG9lc24ndCBkZWZpbmUgX19zdHJfXygpLiIgJQorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAga2xhc3MuX19uYW1lX18pCistICAgICAgICBrbGFzcy5fX3VuaWNvZGVfXyA9IGtsYXNz Ll9fc3RyX18KKy0gICAgICAgIGtsYXNzLl9fc3RyX18gPSBsYW1iZGEgc2VsZjogc2VsZi5fX3Vu aWNvZGVfXygpLmVuY29kZSgndXRmLTgnKQorLSAgICByZXR1cm4ga2xhc3MKKy0KKy0KKy0jIENv bXBsZXRlIHRoZSBtb3ZlcyBpbXBsZW1lbnRhdGlvbi4KKy0jIFRoaXMgY29kZSBpcyBhdCB0aGUg ZW5kIG9mIHRoaXMgbW9kdWxlIHRvIHNwZWVkIHVwIG1vZHVsZSBsb2FkaW5nLgorLSMgVHVybiB0 aGlzIG1vZHVsZSBpbnRvIGEgcGFja2FnZS4KKy1fX3BhdGhfXyA9IFtdICAjIHJlcXVpcmVkIGZv ciBQRVAgMzAyIGFuZCBQRVAgNDUxCistX19wYWNrYWdlX18gPSBfX25hbWVfXyAgIyBzZWUgUEVQ IDM2NiBAUmVzZXJ2ZWRBc3NpZ25tZW50CistaWYgZ2xvYmFscygpLmdldCgiX19zcGVjX18iKSBp cyBub3QgTm9uZToKKy0gICAgX19zcGVjX18uc3VibW9kdWxlX3NlYXJjaF9sb2NhdGlvbnMgPSBb XSAgIyBQRVAgNDUxIEBVbmRlZmluZWRWYXJpYWJsZQorLSMgUmVtb3ZlIG90aGVyIHNpeCBtZXRh IHBhdGggaW1wb3J0ZXJzLCBzaW5jZSB0aGV5IGNhdXNlIHByb2JsZW1zLiBUaGlzIGNhbgorLSMg aGFwcGVuIGlmIHNpeCBpcyByZW1vdmVkIGZyb20gc3lzLm1vZHVsZXMgYW5kIHRoZW4gcmVsb2Fk ZWQuIChTZXR1cHRvb2xzIGRvZXMKKy0jIHRoaXMgZm9yIHNvbWUgcmVhc29uLikKKy1pZiBzeXMu bWV0YV9wYXRoOgorLSAgICBmb3IgaSwgaW1wb3J0ZXIgaW4gZW51bWVyYXRlKHN5cy5tZXRhX3Bh dGgpOgorLSAgICAgICAgIyBIZXJlJ3Mgc29tZSByZWFsIG5hc3RpbmVzczogQW5vdGhlciAiaW5z dGFuY2UiIG9mIHRoZSBzaXggbW9kdWxlIG1pZ2h0CistICAgICAgICAjIGJlIGZsb2F0aW5nIGFy b3VuZC4gVGhlcmVmb3JlLCB3ZSBjYW4ndCB1c2UgaXNpbnN0YW5jZSgpIHRvIGNoZWNrIGZvcgor LSAgICAgICAgIyB0aGUgc2l4IG1ldGEgcGF0aCBpbXBvcnRlciwgc2luY2UgdGhlIG90aGVyIHNp eCBpbnN0YW5jZSB3aWxsIGhhdmUKKy0gICAgICAgICMgaW5zZXJ0ZWQgYW4gaW1wb3J0ZXIgd2l0 aCBkaWZmZXJlbnQgY2xhc3MuCistICAgICAgICBpZiAodHlwZShpbXBvcnRlcikuX19uYW1lX18g PT0gIl9TaXhNZXRhUGF0aEltcG9ydGVyIiBhbmQKKy0gICAgICAgICAgICAgICAgaW1wb3J0ZXIu bmFtZSA9PSBfX25hbWVfXyk6CistICAgICAgICAgICAgZGVsIHN5cy5tZXRhX3BhdGhbaV0KKy0g ICAgICAgICAgICBicmVhaworLSAgICBkZWwgaSwgaW1wb3J0ZXIKKy0jIEZpbmFsbHksIGFkZCB0 aGUgaW1wb3J0ZXIgdG8gdGhlIG1ldGEgcGF0aCBpbXBvcnQgaG9vay4KKy1zeXMubWV0YV9wYXRo LmFwcGVuZChfaW1wb3J0ZXIpCitkaWZmIC0tZ2l0IGEvdGFza3MvZG9jcy5weSBiL3Rhc2tzL2Rv Y3MucHkKK2luZGV4IDMzNjAyNzkuLjc3YzFkODMgMTAwNjQ0CistLS0gYS90YXNrcy9kb2NzLnB5 CisrKysgYi90YXNrcy9kb2NzLnB5CitAQCAtMTEsNyArMTEsOCBAQCBmcm9tIGludm9rZS51dGls IGltcG9ydCBjZAorIGZyb20gcGF0aCBpbXBvcnQgUGF0aAorIAorICMgLS0gVEFTSy1MSUJSQVJZ OgorLWZyb20gLl90YXNrbGV0X2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBf ZGlycworKyMgUFJFUEFSRUQ6IGZyb20gaW52b2tlX2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFz a3MsIGNsZWFudXBfZGlycworK2Zyb20gLmludm9rZV9jbGVhbnVwIGltcG9ydCBjbGVhbnVwX3Rh c2tzLCBjbGVhbnVwX2RpcnMKKyAKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtNjks NiArNzAsNyBAQCBkZWYgYnVpbGQoY3R4LCBidWlsZGVyPSJodG1sIiwgbGFuZ3VhZ2U9Tm9uZSwg b3B0aW9ucz0iIik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdHM9b3B0aW9ucykK KyAgICAgICAgIGN0eC5ydW4oY29tbWFuZCkKKyAKKysKKyBAdGFzayhoZWxwPXsKKyAgICAgImJ1 aWxkZXIiOiAiQnVpbGRlciB0byB1c2UgKGh0bWwsIC4uLikiLAorICAgICAibGFuZ3VhZ2UiOiAi TGFuZ3VhZ2UgdG8gdXNlIChlbiwgLi4uKSIsCitAQCAtODEsMTIgKzgzLDM4IEBAIGRlZiByZWJ1 aWxkKGN0eCwgYnVpbGRlcj0iaHRtbCIsIGxhbmd1YWdlPU5vbmUsIG9wdGlvbnM9IiIpOgorICAg ICBjbGVhbihjdHgpCisgICAgIGJ1aWxkKGN0eCwgYnVpbGRlcj1idWlsZGVyLCBsYW5ndWFnZT1O b25lLCBvcHRpb25zPW9wdGlvbnMpCisgCisrCisrQHRhc2soYWxpYXNlcz1bImF1dG8iLCAid2F0 Y2giXSwKKysgICAgaGVscD17CisrICAgICAgICAiYnVpbGRlciI6ICJCdWlsZGVyIHRvIHVzZSAo aHRtbCwgLi4uKSIsCisrICAgICAgICAibGFuZ3VhZ2UiOiAiTGFuZ3VhZ2UgdG8gdXNlIChlbiwg Li4uKSIsCisrICAgICAgICAib3B0aW9ucyI6ICJBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHNwaGlu eC1idWlsZCIsCisrfSkKKytkZWYgYXV0b2J1aWxkKGN0eCwgYnVpbGRlcj0iaHRtbCIsIGxhbmd1 YWdlPU5vbmUsIG9wdGlvbnM9IiIpOgorKyAgICAiIiJCdWlsZCBkb2NzIHdpdGggc3BoaW54LWJ1 aWxkIiIiCisrICAgIGxhbmd1YWdlID0gX3NwaGlueGRvY19nZXRfbGFuZ3VhZ2UoY3R4LCBsYW5n dWFnZSkKKysgICAgc291cmNlZGlyID0gY3R4LmNvbmZpZy5zcGhpbnguc291cmNlZGlyCisrICAg IGRlc3RkaXIgPSBfc3BoaW54ZG9jX2dldF9kZXN0ZGlyKGN0eCwgYnVpbGRlciwgbGFuZ3VhZ2U9 bGFuZ3VhZ2UpCisrICAgIGRlc3RkaXIgPSBkZXN0ZGlyLmFic3BhdGgoKQorKyAgICB3aXRoIGNk KHNvdXJjZWRpcik6CisrICAgICAgICBkZXN0ZGlyX3JlbGF0aXZlID0gUGF0aCgiLiIpLnJlbHBh dGh0byhkZXN0ZGlyKQorKyAgICAgICAgY29tbWFuZCA9ICJzcGhpbngtYXV0b2J1aWxkIHtvcHRz fSAtYiB7YnVpbGRlcn0gLUQgbGFuZ3VhZ2U9e2xhbmd1YWdlfSB7c291cmNlZGlyfSB7ZGVzdGRp cn0iIFwKKysgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoYnVpbGRlcj1idWlsZGVyLCBzb3Vy Y2VkaXI9Ii4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0ZGlyPWRlc3RkaXJf cmVsYXRpdmUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlPWxhbmd1YWdl LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzPW9wdGlvbnMpCisrICAgICAgICBj dHgucnVuKGNvbW1hbmQpCisrCisrCisgQHRhc2sKKyBkZWYgbGlua2NoZWNrKGN0eCk6CisgICAg ICIiIkNoZWNrIGlmIGFsbCBsaW5rcyBhcmUgY29yZWN0LiIiIgorICAgICBidWlsZChjdHgsIGJ1 aWxkZXI9ImxpbmtjaGVjayIpCisgCistQHRhc2soaGVscD17Imxhbmd1YWdlIjogIkxhbmd1YWdl IHRvIHVzZSAoZW4sIC4uLikifSkKKysKKytAdGFzayhhbGlhc2VzPVsib3BlbiJdLAorKyAgICBo ZWxwPXsibGFuZ3VhZ2UiOiAiTGFuZ3VhZ2UgdG8gdXNlIChlbiwgLi4uKSJ9CisrKQorIGRlZiBi cm93c2UoY3R4LCBsYW5ndWFnZT1Ob25lKToKKyAgICAgIiIiT3BlbiBkb2N1bWVudGF0aW9uIGlu IHdlYiBicm93c2VyLiIiIgorICAgICBvdXRwdXRfZGlyID0gX3NwaGlueGRvY19nZXRfZGVzdGRp cihjdHgsICJodG1sIiwgbGFuZ3VhZ2U9bGFuZ3VhZ2UpCitAQCAtMTgyLDYgKzIxMCw3IEBAIGRl ZiB1cGRhdGVfdHJhbnNsYXRpb24oY3R4LCBsYW5ndWFnZT0iYWxsIik6CisgIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorIG5hbWVzcGFjZSA9IENvbGxlY3Rpb24oY2xlYW4sIHJlYnVpbGQsIGxpbmtj aGVjaywgYnJvd3NlLCBzYXZlLCB1cGRhdGVfdHJhbnNsYXRpb24pCisgbmFtZXNwYWNlLmFkZF90 YXNrKGJ1aWxkLCBkZWZhdWx0PVRydWUpCisrbmFtZXNwYWNlLmFkZF90YXNrKGF1dG9idWlsZCkK KyBuYW1lc3BhY2UuY29uZmlndXJlKHsKKyAgICAgInNwaGlueCI6IHsKKyAgICAgICAgICMgLS0g Rk9SIFRBU0tTOiBkb2NzLmJ1aWxkLCBkb2NzLnJlYnVpbGQsIGRvY3MuY2xlYW4sIC4uLgorZGlm ZiAtLWdpdCBhL3Rhc2tzL2ludm9rZV9jbGVhbnVwLnB5IGIvdGFza3MvaW52b2tlX2NsZWFudXAu cHkKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi40ZTYzMWM0CistLS0gL2Rl di9udWxsCisrKysgYi90YXNrcy9pbnZva2VfY2xlYW51cC5weQorQEAgLTAsMCArMSw0NDcgQEAK KysjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorKyIiIgorK1Byb3ZpZGVzIGNsZWFudXAgdGFza3Mg Zm9yIGludm9rZSBidWlsZCBzY3JpcHRzIChhcyBnZW5lcmljIGludm9rZSB0YXNrbGV0KS4KKytT aW1wbGlmaWVzIHdyaXRpbmcgY29tbW9uLCBjb21wb3NhYmxlIGFuZCBleHRlbmRhYmxlIGNsZWFu dXAgdGFza3MuCisrCisrUFlUSE9OIFBBQ0tBR0UgREVQRU5ERU5DSUVTOgorKworKyogcGF0aCAo cHl0aG9uID49IDMuNSkgb3IgcGF0aC5weSA+PSAxMS41LjAgKGFzIHBhdGgtb2JqZWN0IGFic3Ry YWN0aW9uKQorKyogcGF0aGxpYiAoZm9yIGFudC1saWtlIHdpbGRjYXJkIHBhdHRlcm5zOyBzaW5j ZTogcHl0aG9uID4gMy41KQorKyogcHljbWQgKHJlcXVpcmVkLWJ5OiBjbGVhbl9weXRob24oKSkK KysKKysKKytjbGVhbnVwIHRhc2s6IEFkZCBBZGRpdGlvbmFsIERpcmVjdG9yaWVzIGFuZCBGaWxl cyB0byBiZSByZW1vdmVkCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworK0NyZWF0ZSBhbiBp bnZva2UgY29uZmlndXJhdGlvbiBmaWxlIChZQU1MIG9mIEpTT04pIHdpdGggdGhlIGFkZGl0aW9u YWwKKytjb25maWd1cmF0aW9uIGRhdGE6CisrCisrLi4gY29kZS1ibG9jazo6IHlhbWwKKysKKysg ICAgIyAtLSBGSUxFOiBpbnZva2UueWFtbAorKyAgICAjIFVTRTogY2xlYW51cC5kaXJlY3Rvcmll cywgY2xlYW51cC5maWxlcyB0byBvdmVycmlkZSBjdXJyZW50IGNvbmZpZ3VyYXRpb24uCisrICAg IGNsZWFudXA6CisrICAgICAgICAjIGRpcmVjdG9yaWVzOiBEZWZhdWx0IGRpcmVjdG9yeSBwYXR0 ZXJucyAoY2FuIGJlIG92ZXJ3cml0dGVuKS4KKysgICAgICAgICMgZmlsZXM6ICAgICAgIERlZmF1 bHQgZmlsZSBwYXR0ZXJucyAgICAgIChjYW4gYmUgb3Zld3JpdHRlbikuCisrICAgICAgICBleHRy YV9kaXJlY3RvcmllczoKKysgICAgICAgICAgICAtICoqL3RtcC8KKysgICAgICAgIGV4dHJhX2Zp bGVzOgorKyAgICAgICAgICAgIC0gKiovKi5sb2cKKysgICAgICAgICAgICAtICoqLyouYmFrCisr CisrCisrUmVnaXN0cmF0aW9uIG9mIENsZWFudXAgVGFza3MKKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKysKKytPdGhlciB0YXNrIG1vZHVsZXMgb2Z0ZW4gaGF2ZSBhbiBvd24gY2xl YW51cCB0YXNrIHRvIHJlY292ZXIgdGhlIGNsZWFuIHN0YXRlLgorK1RoZSA6bWV0aDpgY2xlYW51 cGAgdGFzaywgdGhhdCBpcyBwcm92aWRlZCBoZXJlLCBzdXBwb3J0cyB0aGUgcmVnaXN0cmF0aW9u Cisrb2YgYWRkaXRpb25hbCBjbGVhbnVwIHRhc2tzLiBUaGVyZWZvcmUsIHdoZW4gdGhlIDptZXRo OmBjbGVhbnVwYCB0YXNrIGlzIGV4ZWN1dGVkLAorK2FsbCByZWdpc3RlcmVkIGNsZWFudXAgdGFz a3Mgd2lsbCBiZSBleGVjdXRlZC4KKysKKytFWEFNUExFOjoKKysKKysgICAgIyAtLSBGSUxFOiB0 YXNrcy9kb2NzLnB5CisrICAgIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0 CisrICAgIGZyb20gaW52b2tlIGltcG9ydCB0YXNrLCBDb2xsZWN0aW9uCisrICAgIGZyb20gaW52 b2tlX2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycworKworKyAgICBA dGFzaworKyAgICBkZWYgY2xlYW4oY3R4KToKKysgICAgICAgICJDbGVhbnVwIGdlbmVyYXRlZCBk b2N1bWVudGF0aW9uIGFydGlmYWN0cy4iCisrICAgICAgICBkcnlfcnVuID0gY3R4LmNvbmZpZy5y dW4uZHJ5CisrICAgICAgICBjbGVhbnVwX2RpcnMoWyJidWlsZC9kb2NzIl0sIGRyeV9ydW49ZHJ5 X3J1bikKKysKKysgICAgbmFtZXNwYWNlID0gQ29sbGVjdGlvbihjbGVhbikKKysgICAgLi4uCisr CisrICAgICMgLS0gUkVHSVNURVIgQ0xFQU5VUCBUQVNLOgorKyAgICBjbGVhbnVwX3Rhc2tzLmFk ZF90YXNrKGNsZWFuLCAiY2xlYW5fZG9jcyIpCisrICAgIGNsZWFudXBfdGFza3MuY29uZmlndXJl KG5hbWVzcGFjZS5jb25maWd1cmF0aW9uKCkpCisrIiIiCisrCisrZnJvbSBfX2Z1dHVyZV9fIGlt cG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9uCisraW1wb3J0IG9zCisraW1wb3J0 IHN5cworK2Zyb20gaW52b2tlIGltcG9ydCB0YXNrLCBDb2xsZWN0aW9uCisrZnJvbSBpbnZva2Uu ZXhlY3V0b3IgaW1wb3J0IEV4ZWN1dG9yCisrZnJvbSBpbnZva2UuZXhjZXB0aW9ucyBpbXBvcnQg RXhpdCwgRmFpbHVyZSwgVW5leHBlY3RlZEV4aXQKKytmcm9tIGludm9rZS51dGlsIGltcG9ydCBj ZAorK2Zyb20gcGF0aCBpbXBvcnQgUGF0aAorKworKyMgLS0gUFlUSE9OIEJBQ0tXQVJEIENPTVBB VElCSUxJVFk6CisrcHl0aG9uX3ZlcnNpb24gPSBzeXMudmVyc2lvbl9pbmZvWzoyXQorK3B5dGhv bjM1ID0gKDMsIDUpICAgIyBISU5UOiBweXRob24zLjggZG9lcyBub3QgcmFpc2UgT1NFcnJvcnMu CisraWYgcHl0aG9uX3ZlcnNpb24gPCBweXRob24zNTogICAjIG5vcWEKKysgICAgaW1wb3J0IHBh dGhsaWIyIGFzIHBhdGhsaWIKKytlbHNlOgorKyAgICBpbXBvcnQgcGF0aGxpYiAgICAgICAgICAg ICAgIyBub3FhCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ09OU1RBTlRTOgor KyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytWRVJTSU9OID0gIjAuMy42IgorKworKworKyMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKysjIENMRUFOVVAgVVRJTElUSUVTOgorKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKytkZWYgZXhlY3V0ZV9jbGVhbnVwX3Rhc2tzKGN0eCwgY2xlYW51cF90YXNrcywg d29ya2Rpcj0iLiIsIHZlcmJvc2U9RmFsc2UpOgorKyAgICAiIiJFeGVjdXRlIHNldmVyYWwgY2xl YW51cCB0YXNrcyBhcyBwYXJ0IG9mIHRoZSBjbGVhbnVwLgorKworKyAgICA6cGFyYW0gY3R4OiAg ICAgICAgICAgICBDb250ZXh0IG9iamVjdCBmb3IgdGhlIHRhc2tzLgorKyAgICA6cGFyYW0gY2xl YW51cF90YXNrczogICBDb2xsZWN0aW9uIG9mIGNsZWFudXAgdGFza3MgKGFzIENvbGxlY3Rpb24p LgorKyAgICAiIiIKKysgICAgIyBweWxpbnQ6IGRpc2FibGU9cmVkZWZpbmVkLW91dGVyLW5hbWUK KysgICAgZXhlY3V0b3IgPSBFeGVjdXRvcihjbGVhbnVwX3Rhc2tzLCBjdHguY29uZmlnKQorKyAg ICBmYWlsdXJlX2NvdW50ID0gMAorKyAgICB3aXRoIGNkKHdvcmtkaXIpIGFzIGN3ZDoKKysgICAg ICAgIGZvciBjbGVhbnVwX3Rhc2sgaW4gY2xlYW51cF90YXNrcy50YXNrczoKKysgICAgICAgICAg ICB0cnk6CisrICAgICAgICAgICAgICAgIHByaW50KCJDTEVBTlVQIFRBU0s6ICVzIiAlIGNsZWFu dXBfdGFzaykKKysgICAgICAgICAgICAgICAgZXhlY3V0b3IuZXhlY3V0ZShjbGVhbnVwX3Rhc2sp CisrICAgICAgICAgICAgZXhjZXB0IChFeGl0LCBGYWlsdXJlLCBVbmV4cGVjdGVkRXhpdCkgYXMg ZToKKysgICAgICAgICAgICAgICAgcHJpbnQoZSkKKysgICAgICAgICAgICAgICAgcHJpbnQoIkZB SUxVUkUgaW4gQ0xFQU5VUCBUQVNLOiAlcyAoR1JBQ0VGVUxMWS1JR05PUkVEKSIgJSBjbGVhbnVw X3Rhc2spCisrICAgICAgICAgICAgICAgIGZhaWx1cmVfY291bnQgKz0gMQorKworKyAgICBpZiBm YWlsdXJlX2NvdW50OgorKyAgICAgICAgcHJpbnQoIkNMRUFOVVAgVEFTS1M6ICVkIGZhaWx1cmUo cykgb2NjdXJlZCIgJSBmYWlsdXJlX2NvdW50KQorKworKworK2RlZiBtYWtlX2V4Y2x1ZGVkKGV4 Y2x1ZGVkLCBjb25maWdfZGlyPU5vbmUsIHdvcmtkaXI9Tm9uZSk6CisrICAgIHdvcmtkaXIgPSB3 b3JrZGlyIG9yIFBhdGguZ2V0Y3dkKCkKKysgICAgY29uZmlnX2RpciA9IGNvbmZpZ19kaXIgb3Ig d29ya2RpcgorKyAgICB3b3JrZGlyID0gUGF0aCh3b3JrZGlyKQorKyAgICBjb25maWdfZGlyID0g UGF0aChjb25maWdfZGlyKQorKworKyAgICBleGNsdWRlZDIgPSBbXQorKyAgICBmb3IgcCBpbiBl eGNsdWRlZDoKKysgICAgICAgIGFzc2VydCBwLCAiUkVRVUlSRTogbm9uLWVtcHR5IgorKyAgICAg ICAgcCA9IFBhdGgocCkKKysgICAgICAgIGlmIHAuaXNhYnMoKToKKysgICAgICAgICAgICBleGNs dWRlZDIuYXBwZW5kKHAubm9ybXBhdGgoKSkKKysgICAgICAgIGVsc2U6CisrICAgICAgICAgICAg IyAtLSBSRUxBVElWRSBQQVRIOgorKyAgICAgICAgICAgICMgRGVzY3JpYmVkIHJlbGF0aXZlIHRv IGNvbmZpZ19kaXIuCisrICAgICAgICAgICAgIyBSZWNvbXB1dGUgaXQgcmVsYXRpdmUgdG8gY3Vy cmVudCB3b3JrZGlyLgorKyAgICAgICAgICAgIHAgPSBQYXRoKGNvbmZpZ19kaXIpL3AKKysgICAg ICAgICAgICBwID0gd29ya2Rpci5yZWxwYXRodG8ocCkKKysgICAgICAgICAgICBleGNsdWRlZDIu YXBwZW5kKHAubm9ybXBhdGgoKSkKKysgICAgICAgICAgICBleGNsdWRlZDIuYXBwZW5kKHAuYWJz cGF0aCgpKQorKyAgICByZXR1cm4gc2V0KGV4Y2x1ZGVkMikKKysKKysKKytkZWYgaXNfZGlyZWN0 b3J5X2V4Y2x1ZGVkKGRpcmVjdG9yeSwgZXhjbHVkZWQpOgorKyAgICBkaXJlY3RvcnkgPSBQYXRo KGRpcmVjdG9yeSkubm9ybXBhdGgoKQorKyAgICBkaXJlY3RvcnkyID0gZGlyZWN0b3J5LmFic3Bh dGgoKQorKyAgICBpZiAoZGlyZWN0b3J5IGluIGV4Y2x1ZGVkKSBvciAoZGlyZWN0b3J5MiBpbiBl eGNsdWRlZCk6CisrICAgICAgICByZXR1cm4gVHJ1ZQorKyAgICAjIC0tIE9USEVSV0lTRToKKysg ICAgcmV0dXJuIEZhbHNlCisrCisrCisrZGVmIGNsZWFudXBfZGlycyhwYXR0ZXJucywgd29ya2Rp cj0iLiIsIGV4Y2x1ZGVkPU5vbmUsCisrICAgICAgICAgICAgICAgICBkcnlfcnVuPUZhbHNlLCB2 ZXJib3NlPUZhbHNlLCBzaG93X3NraXBwZWQ9RmFsc2UpOgorKyAgICAiIiJSZW1vdmUgZGlyZWN0 b3JpZXMgKGFuZCB0aGVpciBjb250ZW50cykgcmVjdXJzaXZlbHkuCisrICAgIFNraXBzIHJlbW92 YWwgaWYgZGlyZWN0b3JpZXMgZG9lcyBub3QgZXhpc3QuCisrCisrICAgIDpwYXJhbSBwYXR0ZXJu czogICAgRGlyZWN0b3J5IG5hbWUgcGF0dGVybnMsIGxpa2UgIioqL3RtcCoiIChhcyBsaXN0KS4K KysgICAgOnBhcmFtIHdvcmtkaXI6ICAgICBDdXJyZW50IHdvcmsgZGlyZWN0b3J5IChkZWZhdWx0 PSIuIikKKysgICAgOnBhcmFtIGRyeV9ydW46ICAgICBEcnktcnVuIG1vZGUgaW5kaWNhdG9yIChh cyBib29sKS4KKysgICAgIiIiCisrICAgIGV4Y2x1ZGVkID0gZXhjbHVkZWQgb3IgW10KKysgICAg ZXhjbHVkZWQgPSBzZXQoW1BhdGgocCkgZm9yIHAgaW4gZXhjbHVkZWRdKQorKyAgICBzaG93X3Nr aXBwZWQgPSBzaG93X3NraXBwZWQgb3IgdmVyYm9zZQorKyAgICBjdXJyZW50X2RpciA9IFBhdGgo d29ya2RpcikKKysgICAgcHl0aG9uX2Jhc2VkaXIgPSBQYXRoKFBhdGgoc3lzLmV4ZWN1dGFibGUp LmRpcm5hbWUoKSkuam9pbnBhdGgoIi4uIikuYWJzcGF0aCgpCisrICAgIHdhcm4yX2NvdW50ZXIg PSAwCisrICAgIGZvciBkaXJfcGF0dGVybiBpbiBwYXR0ZXJuczoKKysgICAgICAgIGZvciBkaXJl Y3RvcnkgaW4gcGF0aF9nbG9iKGRpcl9wYXR0ZXJuLCBjdXJyZW50X2Rpcik6CisrICAgICAgICAg ICAgaWYgaXNfZGlyZWN0b3J5X2V4Y2x1ZGVkKGRpcmVjdG9yeSwgZXhjbHVkZWQpOgorKyAgICAg ICAgICAgICAgICBwcmludCgiU0tJUC1ESVI6ICVzIChleGNsdWRlZCkiICUgZGlyZWN0b3J5KQor KyAgICAgICAgICAgICAgICBjb250aW51ZQorKyAgICAgICAgICAgIGRpcmVjdG9yeTIgPSBkaXJl Y3RvcnkuYWJzcGF0aCgpCisrICAgICAgICAgICAgaWYgc3lzLmV4ZWN1dGFibGUuc3RhcnRzd2l0 aChkaXJlY3RvcnkyKToKKysgICAgICAgICAgICAgICAgIyAtLSBQUk9URUNUIFZJUlRVQUwgRU5W SVJPTk1FTlQgKGN1cnJlbnRseSBpbiB1c2UpOgorKyAgICAgICAgICAgICAgICAjIHB5bGludDog ZGlzYWJsZT1saW5lLXRvby1sb25nCisrICAgICAgICAgICAgICAgIHByaW50KCJTS0lQLVNVSUNJ REU6ICclcycgY29udGFpbnMgY3VycmVudCBweXRob24gZXhlY3V0YWJsZSIgJSBkaXJlY3Rvcnkp CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrICAgICAgICAgICAgZWxpZiBkaXJlY3Rvcnky LnN0YXJ0c3dpdGgocHl0aG9uX2Jhc2VkaXIpOgorKyAgICAgICAgICAgICAgICAjIC0tIFBST1RF Q1QgVklSVFVBTCBFTlZJUk9OTUVOVCAoY3VycmVudGx5IGluIHVzZSk6CisrICAgICAgICAgICAg ICAgICMgSElOVDogTGltaXQgbm9pc2UgaW4gRElBR05PU1RJQyBPVVRQVVQgdG8gWCBtZXNzYWdl cy4KKysgICAgICAgICAgICAgICAgaWYgd2FybjJfY291bnRlciA8PSA0OiAgIyBub3FhCisrICAg ICAgICAgICAgICAgICAgICBwcmludCgiU0tJUC1TVUlDSURFOiAnJXMnIiAlIGRpcmVjdG9yeSkK KysgICAgICAgICAgICAgICAgd2FybjJfY291bnRlciArPSAxCisrICAgICAgICAgICAgICAgIGNv bnRpbnVlCisrCisrICAgICAgICAgICAgaWYgbm90IGRpcmVjdG9yeS5pc2RpcigpOgorKyAgICAg ICAgICAgICAgICBpZiBzaG93X3NraXBwZWQ6CisrICAgICAgICAgICAgICAgICAgICBwcmludCgi Uk1UUkVFOiAlcyAoU0tJUFBFRDogTm90IGEgZGlyZWN0b3J5KSIgJSBkaXJlY3RvcnkpCisrICAg ICAgICAgICAgICAgIGNvbnRpbnVlCisrCisrICAgICAgICAgICAgaWYgZHJ5X3J1bjoKKysgICAg ICAgICAgICAgICAgcHJpbnQoIlJNVFJFRTogJXMgKGRyeS1ydW4pIiAlIGRpcmVjdG9yeSkKKysg ICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAg ICAgICAjIC0tIE1BWUJFOiBkaXJlY3Rvcnkucm10cmVlKGlnbm9yZV9lcnJvcnM9VHJ1ZSkKKysg ICAgICAgICAgICAgICAgICAgIHByaW50KCJSTVRSRUU6ICVzIiAlIGRpcmVjdG9yeSkKKysgICAg ICAgICAgICAgICAgICAgIGRpcmVjdG9yeS5ybXRyZWVfcCgpCisrICAgICAgICAgICAgICAgIGV4 Y2VwdCBPU0Vycm9yIGFzIGU6CisrICAgICAgICAgICAgICAgICAgICBwcmludCgiUk1UUkVFLUZB SUxFRDogJXMgKGZvcjogJXMpIiAlIChlLCBkaXJlY3RvcnkpKQorKworKworK2RlZiBjbGVhbnVw X2ZpbGVzKHBhdHRlcm5zLCB3b3JrZGlyPSIuIiwgZHJ5X3J1bj1GYWxzZSwgdmVyYm9zZT1GYWxz ZSwgc2hvd19za2lwcGVkPUZhbHNlKToKKysgICAgIiIiUmVtb3ZlIGZpbGVzIG9yIGZpbGVzIHNl bGVjdGVkIGJ5IGZpbGUgcGF0dGVybnMuCisrICAgIFNraXBzIHJlbW92YWwgaWYgZmlsZSBkb2Vz IG5vdCBleGlzdC4KKysKKysgICAgOnBhcmFtIHBhdHRlcm5zOiAgICBGaWxlIHBhdHRlcm5zLCBs aWtlICIqKi8qLnB5YyIgKGFzIGxpc3QpLgorKyAgICA6cGFyYW0gd29ya2RpcjogICAgIEN1cnJl bnQgd29yayBkaXJlY3RvcnkgKGRlZmF1bHQ9Ii4iKQorKyAgICA6cGFyYW0gZHJ5X3J1bjogICAg IERyeS1ydW4gbW9kZSBpbmRpY2F0b3IgKGFzIGJvb2wpLgorKyAgICAiIiIKKysgICAgc2hvd19z a2lwcGVkID0gc2hvd19za2lwcGVkIG9yIHZlcmJvc2UKKysgICAgY3VycmVudF9kaXIgPSBQYXRo KHdvcmtkaXIpCisrICAgIHB5dGhvbl9iYXNlZGlyID0gUGF0aChQYXRoKHN5cy5leGVjdXRhYmxl KS5kaXJuYW1lKCkpLmpvaW5wYXRoKCIuLiIpLmFic3BhdGgoKQorKyAgICBlcnJvcl9tZXNzYWdl ID0gTm9uZQorKyAgICBlcnJvcl9jb3VudCA9IDAKKysgICAgZm9yIGZpbGVfcGF0dGVybiBpbiBw YXR0ZXJuczoKKysgICAgICAgIGZvciBmaWxlXyBpbiBwYXRoX2dsb2IoZmlsZV9wYXR0ZXJuLCBj dXJyZW50X2Rpcik6CisrICAgICAgICAgICAgaWYgZmlsZV8uYWJzcGF0aCgpLnN0YXJ0c3dpdGgo cHl0aG9uX2Jhc2VkaXIpOgorKyAgICAgICAgICAgICAgICAjIC0tIFBST1RFQ1QgVklSVFVBTCBF TlZJUk9OTUVOVCAoY3VycmVudGx5IGluIHVzZSk6CisrICAgICAgICAgICAgICAgIGNvbnRpbnVl CisrICAgICAgICAgICAgaWYgbm90IGZpbGVfLmlzZmlsZSgpOgorKyAgICAgICAgICAgICAgICBp ZiBzaG93X3NraXBwZWQ6CisrICAgICAgICAgICAgICAgICAgICBwcmludCgiUkVNT1ZFOiAlcyAo U0tJUFBFRDogTm90IGEgZmlsZSkiICUgZmlsZV8pCisrICAgICAgICAgICAgICAgIGNvbnRpbnVl CisrCisrICAgICAgICAgICAgaWYgZHJ5X3J1bjoKKysgICAgICAgICAgICAgICAgcHJpbnQoIlJF TU9WRTogJXMgKGRyeS1ydW4pIiAlIGZpbGVfKQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAg ICAgICAgICAgIHByaW50KCJSRU1PVkU6ICVzIiAlIGZpbGVfKQorKyAgICAgICAgICAgICAgICB0 cnk6CisrICAgICAgICAgICAgICAgICAgICBmaWxlXy5yZW1vdmVfcCgpCisrICAgICAgICAgICAg ICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgorKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9 ICIlczogJXMiICUgKGUuX19jbGFzc19fLl9fbmFtZV9fLCBlKQorKyAgICAgICAgICAgICAgICAg ICAgcHJpbnQobWVzc2FnZSArICIgYmFzZWRpcjogIisgcHl0aG9uX2Jhc2VkaXIpCisrICAgICAg ICAgICAgICAgICAgICBlcnJvcl9jb3VudCArPSAxCisrICAgICAgICAgICAgICAgICAgICBpZiBu b3QgZXJyb3JfbWVzc2FnZToKKysgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9tZXNzYWdl ID0gbWVzc2FnZQorKyAgICBpZiBGYWxzZSBhbmQgZXJyb3JfbWVzc2FnZTogIyBub3FhCisrICAg ICAgICBjbGFzcyBDbGVhbnVwRXJyb3IoUnVudGltZUVycm9yKToKKysgICAgICAgICAgICBwYXNz CisrICAgICAgICByYWlzZSBDbGVhbnVwRXJyb3IoZXJyb3JfbWVzc2FnZSkKKysKKysKKytkZWYg cGF0aF9nbG9iKHBhdHRlcm4sIGN1cnJlbnRfZGlyPU5vbmUpOgorKyAgICAiIiJVc2UgcGF0aGxp YiBmb3IgYW50LWxpa2UgcGF0dGVybnMsIGxpa2U6ICIqKi8qLnB5IgorKworKyAgICA6cGFyYW0g cGF0dGVybjogICAgICBGaWxlL2RpcmVjdG9yeSBwYXR0ZXJuIHRvIHVzZSAoYXMgc3RyaW5nKS4K KysgICAgOnBhcmFtIGN1cnJlbnRfZGlyOiAgQ3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSAoYXMg UGF0aCwgcGF0aGxpYi5QYXRoLCBzdHIpCisrICAgIDpyZXR1cm4gUmVzb2x2ZWQgUGF0aCAoYXMg cGF0aC5QYXRoKS4KKysgICAgIiIiCisrICAgIGlmIG5vdCBjdXJyZW50X2RpcjogIyBub3FhCisr ICAgICAgICBjdXJyZW50X2RpciA9IHBhdGhsaWIuUGF0aC5jd2QoKQorKyAgICBlbGlmIG5vdCBp c2luc3RhbmNlKGN1cnJlbnRfZGlyLCBwYXRobGliLlBhdGgpOgorKyAgICAgICAgIyAtLSBDQVNF OiBzdHJpbmcsIHBhdGguUGF0aCAoc3RyaW5nLWxpa2UpCisrICAgICAgICBjdXJyZW50X2RpciA9 IHBhdGhsaWIuUGF0aChzdHIoY3VycmVudF9kaXIpKQorKworKyAgICBwYXR0ZXJuX3BhdGggPSBQ YXRoKHBhdHRlcm4pCisrICAgIGlmIHBhdHRlcm5fcGF0aC5pc2FicygpOgorKyAgICAgICAgIyAt LSBTUEVDSUFMIENBU0U6IFBhdGguZ2xvYigpIG9ubHkgc3VwcG9ydHMgcmVsYXRpdmUtcGF0aChz KSAvIHBhdHRlcm4ocykuCisrICAgICAgICBpZiBwYXR0ZXJuX3BhdGguaXNkaXIoKToKKysgICAg ICAgICAgICB5aWVsZCBwYXR0ZXJuX3BhdGgKKysgICAgICAgIHJldHVybgorKworKyAgICAjIC0t IEhJTlQ6IE9TRXJyb3IgaXMgbm8gbG9uZ2VyIHJhaXNlZCBpbiBwYXRobGliMiBvciBweXRob24z NS5wYXRobGliCisrICAgICMgdHJ5OgorKyAgICBmb3IgcCBpbiBjdXJyZW50X2Rpci5nbG9iKHBh dHRlcm4pOgorKyAgICAgICAgeWllbGQgUGF0aChzdHIocCkpCisrICAgICMgZXhjZXB0IE9TRXJy b3IgYXMgZToKKysgICAgIyAgICAgIyAtLSBDT1JORVItQ0FTRSAxOiB4Lmdsb2IocGF0dGVybikg bWF5IGZhaWwgd2l0aDoKKysgICAgIyAgICAgIyBPU0Vycm9yOiBbRXJybm8gMTNdIFBlcm1pc3Np b24gZGVuaWVkOiA8ZmlsZW5hbWU+CisrICAgICMgICAgICMgSElOVDogRGlyZWN0b3J5IGxhY2tz IGV4Y3V0YWJsZSBwZXJtaXNzaW9ucyBmb3IgdHJhdmVyc2FsLgorKyAgICAjICAgICAjIC0tIENP Uk5FUi1DQVNFIDI6IHN5bWxpbmtlZCBlbmRsZXNzIGxvb3AKKysgICAgIyAgICAgIyBPU0Vycm9y OiBbRXJybm8gNjJdIFRvbyBtYW55IGxldmVscyBvZiBzeW1ib2xpYyBsaW5rczogPGZpbGVuYW1l PgorKyAgICAjICAgICBwcmludCgiezB9OiB7MX0iLmZvcm1hdChlLl9fY2xhc3NfXy5fX25hbWVf XywgZSkpCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgR0VORVJJQyBDTEVBTlVQ IFRBU0tTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytAdGFzayhoZWxwPXsKKysgICAgIndv cmtkaXIiOiAiRGlyZWN0b3J5IHRvIGNsZWFuKHVwKSAoZGVmYXVsdDogJENXRCkuIiwKKysgICAg InZlcmJvc2UiOiAiRW5hYmxlIHZlcmJvc2UgbW9kZSAoZGVmYXVsdDogT0ZGKS4iLAorK30pCisr ZGVmIGNsZWFuKGN0eCwgd29ya2Rpcj0iLiIsIHZlcmJvc2U9RmFsc2UpOgorKyAgICAiIiJDbGVh bnVwIHRlbXBvcmFyeSBkaXJzL2ZpbGVzIHRvIHJlZ2FpbiBhIGNsZWFuIHN0YXRlLiIiIgorKyAg ICBkcnlfcnVuID0gY3R4LmNvbmZpZy5ydW4uZHJ5CisrICAgIGNvbmZpZ19kaXIgPSBnZXRhdHRy KGN0eC5jb25maWcsICJjb25maWdfZGlyIiwgd29ya2RpcikKKysgICAgZGlyZWN0b3JpZXMgPSBs aXN0KGN0eC5jb25maWcuY2xlYW51cC5kaXJlY3RvcmllcyBvciBbXSkKKysgICAgZGlyZWN0b3Jp ZXMuZXh0ZW5kKGN0eC5jb25maWcuY2xlYW51cC5leHRyYV9kaXJlY3RvcmllcyBvciBbXSkKKysg ICAgZmlsZXMgPSBsaXN0KGN0eC5jb25maWcuY2xlYW51cC5maWxlcyBvciBbXSkKKysgICAgZmls ZXMuZXh0ZW5kKGN0eC5jb25maWcuY2xlYW51cC5leHRyYV9maWxlcyBvciBbXSkKKysgICAgZXhj bHVkZWRfZGlyZWN0b3JpZXMgPSBsaXN0KGN0eC5jb25maWcuY2xlYW51cC5leGNsdWRlZF9kaXJl Y3RvcmllcyBvciBbXSkKKysgICAgZXhjbHVkZWRfZGlyZWN0b3JpZXMgPSBtYWtlX2V4Y2x1ZGVk KGV4Y2x1ZGVkX2RpcmVjdG9yaWVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uZmlnX2Rpcj1jb25maWdfZGlyLCB3b3JrZGlyPSIuIikKKysKKysgICAgIyAt LSBQRVJGT1JNIENMRUFOVVA6CisrICAgIGV4ZWN1dGVfY2xlYW51cF90YXNrcyhjdHgsIGNsZWFu dXBfdGFza3MpCisrICAgIGNsZWFudXBfZGlycyhkaXJlY3Rvcmllcywgd29ya2Rpcj13b3JrZGly LCBleGNsdWRlZD1leGNsdWRlZF9kaXJlY3RvcmllcywKKysgICAgICAgICAgICAgICAgIGRyeV9y dW49ZHJ5X3J1biwgdmVyYm9zZT12ZXJib3NlKQorKyAgICBjbGVhbnVwX2ZpbGVzKGZpbGVzLCB3 b3JrZGlyPXdvcmtkaXIsIGRyeV9ydW49ZHJ5X3J1biwgdmVyYm9zZT12ZXJib3NlKQorKworKyAg ICAjIC0tIENPTkZJR1VSQUJMRSBFWFRFTlNJT04tUE9JTlQ6CisrICAgICMgdXNlX2NsZWFudXBf cHl0aG9uID0gY3R4LmNvbmZpZy5jbGVhbnVwLnVzZV9jbGVhbnVwX3B5dGhvbiBvciBGYWxzZQor KyAgICAjIGlmIHVzZV9jbGVhbnVwX3B5dGhvbjoKKysgICAgIyAgICAgY2xlYW5fcHl0aG9uKGN0 eCkKKysKKysKKytAdGFzayhuYW1lPSJhbGwiLCBhbGlhc2VzPSgiZGlzdGNsZWFuIiwpLAorKyAg ICAgIGhlbHA9eworKyAgICAgICAgIndvcmtkaXIiOiAiRGlyZWN0b3J5IHRvIGNsZWFuKHVwKSAo ZGVmYXVsdDogJENXRCkuIiwKKysgICAgICAgICJ2ZXJib3NlIjogIkVuYWJsZSB2ZXJib3NlIG1v ZGUgKGRlZmF1bHQ6IE9GRikuIiwKKyt9KQorK2RlZiBjbGVhbl9hbGwoY3R4LCB3b3JrZGlyPSIu IiwgdmVyYm9zZT1GYWxzZSk6CisrICAgICIiIkNsZWFuIHVwIGV2ZXJ5dGhpbmcsIGV2ZW4gdGhl IHByZWNpb3VzIHN0dWZmLgorKyAgICBOT1RFOiBjbGVhbiB0YXNrIGlzIGV4ZWN1dGVkIGxhc3Qu CisrICAgICIiIgorKyAgICBkcnlfcnVuID0gY3R4LmNvbmZpZy5ydW4uZHJ5CisrICAgIGNvbmZp Z19kaXIgPSBnZXRhdHRyKGN0eC5jb25maWcsICJjb25maWdfZGlyIiwgd29ya2RpcikKKysgICAg ZGlyZWN0b3JpZXMgPSBsaXN0KGN0eC5jb25maWcuY2xlYW51cF9hbGwuZGlyZWN0b3JpZXMgb3Ig W10pCisrICAgIGRpcmVjdG9yaWVzLmV4dGVuZChjdHguY29uZmlnLmNsZWFudXBfYWxsLmV4dHJh X2RpcmVjdG9yaWVzIG9yIFtdKQorKyAgICBmaWxlcyA9IGxpc3QoY3R4LmNvbmZpZy5jbGVhbnVw X2FsbC5maWxlcyBvciBbXSkKKysgICAgZmlsZXMuZXh0ZW5kKGN0eC5jb25maWcuY2xlYW51cF9h bGwuZXh0cmFfZmlsZXMgb3IgW10pCisrICAgIGV4Y2x1ZGVkX2RpcmVjdG9yaWVzID0gbGlzdChj dHguY29uZmlnLmNsZWFudXBfYWxsLmV4Y2x1ZGVkX2RpcmVjdG9yaWVzIG9yIFtdKQorKyAgICBl eGNsdWRlZF9kaXJlY3Rvcmllcy5leHRlbmQoY3R4LmNvbmZpZy5jbGVhbnVwLmV4Y2x1ZGVkX2Rp cmVjdG9yaWVzIG9yIFtdKQorKyAgICBleGNsdWRlZF9kaXJlY3RvcmllcyA9IG1ha2VfZXhjbHVk ZWQoZXhjbHVkZWRfZGlyZWN0b3JpZXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25maWdfZGlyPWNvbmZpZ19kaXIsIHdvcmtkaXI9Ii4iKQorKworKyAgICAj IC0tIFBFUkZPUk0gQ0xFQU5VUDoKKysgICAgIyBISU5UOiBSZW1vdmUgbm93IGRpcmVjdG9yaWVz LCBmaWxlcyBmaXJzdCBiZWZvcmUgY2xlYW51cC10YXNrcy4KKysgICAgY2xlYW51cF9kaXJzKGRp cmVjdG9yaWVzLCB3b3JrZGlyPXdvcmtkaXIsIGV4Y2x1ZGVkPWV4Y2x1ZGVkX2RpcmVjdG9yaWVz LAorKyAgICAgICAgICAgICAgICAgZHJ5X3J1bj1kcnlfcnVuLCB2ZXJib3NlPXZlcmJvc2UpCisr ICAgIGNsZWFudXBfZmlsZXMoZmlsZXMsIHdvcmtkaXI9d29ya2RpciwgZHJ5X3J1bj1kcnlfcnVu LCB2ZXJib3NlPXZlcmJvc2UpCisrICAgIGV4ZWN1dGVfY2xlYW51cF90YXNrcyhjdHgsIGNsZWFu dXBfYWxsX3Rhc2tzKQorKyAgICBjbGVhbihjdHgsIHdvcmtkaXI9d29ya2RpciwgdmVyYm9zZT12 ZXJib3NlKQorKworKyAgICAjIC0tIENPTkZJR1VSQUJMRSBFWFRFTlNJT04tUE9JTlQ6CisrICAg ICMgdXNlX2NsZWFudXBfcHl0aG9uMSA9IGN0eC5jb25maWcuY2xlYW51cC51c2VfY2xlYW51cF9w eXRob24gb3IgRmFsc2UKKysgICAgIyB1c2VfY2xlYW51cF9weXRob24yID0gY3R4LmNvbmZpZy5j bGVhbnVwX2FsbC51c2VfY2xlYW51cF9weXRob24gb3IgRmFsc2UKKysgICAgIyBpZiB1c2VfY2xl YW51cF9weXRob24yIGFuZCBub3QgdXNlX2NsZWFudXBfcHl0aG9uMToKKysgICAgIyAgICAgY2xl YW5fcHl0aG9uKGN0eCkKKysKKysKKytAdGFzayhhbGlhc2VzPVsicHl0aG9uIl0pCisrZGVmIGNs ZWFuX3B5dGhvbihjdHgsIHdvcmtkaXI9Ii4iLCB2ZXJib3NlPUZhbHNlKToKKysgICAgIiIiQ2xl YW51cCBweXRob24gcmVsYXRlZCBmaWxlcy9kaXJzOiAqLnB5YywgKi5weW8sIC4uLiIiIgorKyAg ICBkcnlfcnVuID0gY3R4LmNvbmZpZy5ydW4uZHJ5IG9yIEZhbHNlCisrICAgICMgTUFZQkUgTk9U OiAiKiovX19weWNhY2hlX18iCisrICAgIGNsZWFudXBfZGlycyhbImJ1aWxkIiwgImRpc3QiLCAi Ki5lZ2ctaW5mbyIsICIqKi9fX3B5Y2FjaGVfXyJdLAorKyAgICAgICAgICAgICAgICAgd29ya2Rp cj13b3JrZGlyLCBkcnlfcnVuPWRyeV9ydW4sIHZlcmJvc2U9dmVyYm9zZSkKKysgICAgaWYgbm90 IGRyeV9ydW46CisrICAgICAgICBjdHgucnVuKCJweS5jbGVhbnVwIikKKysgICAgY2xlYW51cF9m aWxlcyhbIioqLyoucHljIiwgIioqLyoucHlvIiwgIioqLyokcHkuY2xhc3MiXSwKKysgICAgICAg ICAgICAgICAgICB3b3JrZGlyPXdvcmtkaXIsIGRyeV9ydW49ZHJ5X3J1biwgdmVyYm9zZT12ZXJi b3NlKQorKworKworK0B0YXNrKGhlbHA9eworKyAgICAicGF0aCI6ICJQYXRoIHRvIGNsZWFudXAu IiwKKysgICAgImludGVyYWN0aXZlIjogIkVuYWJsZSBpbnRlcmFjdGl2ZSBtb2RlLiIsCisrICAg ICJmb3JjZSI6ICJFbmFibGUgZm9yY2UgbW9kZS4iLAorKyAgICAib3B0aW9ucyI6ICJBZGRpdGlv bmFsIGdpdC1jbGVhbiBvcHRpb25zIiwKKyt9KQorK2RlZiBnaXRfY2xlYW4oY3R4LCBwYXRoPU5v bmUsIGludGVyYWN0aXZlPUZhbHNlLCBmb3JjZT1GYWxzZSwKKysgICAgICAgICAgICAgIGRyeV9y dW49RmFsc2UsIG9wdGlvbnM9Tm9uZSk6CisrICAgICIiIlBlcmZvcm0gZ2l0LWNsZWFuIGNvbW1h bmQgdG8gY2xlYW51cCB0aGUgd29ya3RyZWUgb2YgYSBnaXQgcmVwb3NpdG9yeS4KKysKKysgICAg QkVXQVJFOiBUaGlzIG1heSByZW1vdmUgYW55IHByZWNpb3VzIGZpbGVzIHRoYXQgYXJlIG5vdCBj aGVja2VkIGluLgorKyAgICBXQVJOSU5HOiBEQU5HRVJPVVMgQ09NTUFORC4KKysgICAgIiIiCisr ICAgIGFyZ3MgPSBbXQorKyAgICBmb3JjZSA9IGZvcmNlIG9yIGN0eC5jb25maWcuZ2l0X2NsZWFu LmZvcmNlCisrICAgIHBhdGggPSBwYXRoIG9yIGN0eC5jb25maWcuZ2l0X2NsZWFuLnBhdGggb3Ig Ii4iCisrICAgIGludGVyYWN0aXZlID0gaW50ZXJhY3RpdmUgb3IgY3R4LmNvbmZpZy5naXRfY2xl YW4uaW50ZXJhY3RpdmUKKysgICAgZHJ5X3J1biA9IGRyeV9ydW4gb3IgY3R4LmNvbmZpZy5ydW4u ZHJ5IG9yIGN0eC5jb25maWcuZ2l0X2NsZWFuLmRyeV9ydW4KKysKKysgICAgaWYgaW50ZXJhY3Rp dmU6CisrICAgICAgICBhcmdzLmFwcGVuZCgiLS1pbnRlcmFjdGl2ZSIpCisrICAgIGlmIGZvcmNl OgorKyAgICAgICAgYXJncy5hcHBlbmQoIi0tZm9yY2UiKQorKyAgICBpZiBkcnlfcnVuOgorKyAg ICAgICAgYXJncy5hcHBlbmQoIi0tZHJ5LXJ1biIpCisrICAgIGFyZ3MuYXBwZW5kKG9wdGlvbnMg b3IgIiIpCisrICAgIGFyZ3MgPSAiICIuam9pbihhcmdzKS5zdHJpcCgpCisrCisrICAgIGN0eC5y dW4oImdpdCBjbGVhbiB7b3B0aW9uc30ge3BhdGh9Ii5mb3JtYXQob3B0aW9ucz1hcmdzLCBwYXRo PXBhdGgpKQorKworKworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysjIFRBU0sgQ09ORklHVVJB VElPTjoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrQ0xFQU5VUF9FTVBUWV9DT05GSUcgPSB7 CisrICAgICJkaXJlY3RvcmllcyI6IFtdLAorKyAgICAiZmlsZXMiOiBbXSwKKysgICAgImV4dHJh X2RpcmVjdG9yaWVzIjogW10sCisrICAgICJleHRyYV9maWxlcyI6IFtdLAorKyAgICAiZXhjbHVk ZWRfZGlyZWN0b3JpZXMiOiBbXSwKKysgICAgImV4Y2x1ZGVkX2ZpbGVzIjogW10sCisrICAgICJ1 c2VfY2xlYW51cF9weXRob24iOiBGYWxzZSwKKyt9CisrZGVmIG1ha2VfY2xlYW51cF9jb25maWco Kiprd2FyZ3MpOgorKyAgICBjb25maWdfZGF0YSA9IENMRUFOVVBfRU1QVFlfQ09ORklHLmNvcHko KQorKyAgICBjb25maWdfZGF0YS51cGRhdGUoa3dhcmdzKQorKyAgICByZXR1cm4gY29uZmlnX2Rh dGEKKysKKysKKytuYW1lc3BhY2UgPSBDb2xsZWN0aW9uKGNsZWFuX2FsbCwgY2xlYW5fcHl0aG9u KQorK25hbWVzcGFjZS5hZGRfdGFzayhjbGVhbiwgZGVmYXVsdD1UcnVlKQorK25hbWVzcGFjZS5h ZGRfdGFzayhnaXRfY2xlYW4pCisrbmFtZXNwYWNlLmNvbmZpZ3VyZSh7CisrICAgICJjbGVhbnVw IjogbWFrZV9jbGVhbnVwX2NvbmZpZygKKysgICAgICAgIGZpbGVzPVsiKiovKi5iYWsiLCAiKiov Ki5sb2ciLCAiKiovKi50bXAiLCAiKiovLkRTX1N0b3JlIl0sCisrICAgICAgICBleGNsdWRlZF9k aXJlY3Rvcmllcz1bIi5naXQiLCAiLmhnIiwgIi5ienIiLCAiLnN2biJdLAorKyAgICApLAorKyAg ICAiY2xlYW51cF9hbGwiOiBtYWtlX2NsZWFudXBfY29uZmlnKAorKyAgICAgICAgZGlyZWN0b3Jp ZXM9WyIudmVudioiLCAiLnRveCIsICJkb3dubG9hZHMiLCAidG1wIl0sCisrICAgICksCisrICAg ICJnaXRfY2xlYW4iOiB7CisrICAgICAgICAiaW50ZXJhY3RpdmUiOiBUcnVlLAorKyAgICAgICAg ImZvcmNlIjogRmFsc2UsCisrICAgICAgICAicGF0aCI6ICIuIiwKKysgICAgICAgICJkcnlfcnVu IjogRmFsc2UsCisrICAgIH0sCisrfSkKKysKKysKKysjIC0tIEVYVEVOU0lPTi1QT0lOVDogQ0xF QU5VUCBUQVNLUyAoY2FsbGVkIGJ5OiBjbGVhbiwgY2xlYW5fYWxsIHRhc2spCisrIyBOT1RFOiBD YW4gYmUgdXNlZCBieSBvdGhlciB0YXNrbGV0cyB0byByZWdpc3RlciBjbGVhbnVwIHRhc2tzLgor K2NsZWFudXBfdGFza3MgPSBDb2xsZWN0aW9uKCJjbGVhbnVwX3Rhc2tzIikKKytjbGVhbnVwX2Fs bF90YXNrcyA9IENvbGxlY3Rpb24oImNsZWFudXBfYWxsX3Rhc2tzIikKKysKKysjIC0tIEVYVEVO RCBOT1JNQUwgQ0xFQU5VUC1UQVNLUzoKKysjIERJU0FCTEVEOiBjbGVhbnVwX3Rhc2tzLmFkZF90 YXNrKGNsZWFuX3B5dGhvbikKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBFWFRFTlNJ T04tUE9JTlQ6IENPTkZJR1VSQVRJT04gSEVMUEVSUzogQ2FuIGJlIHVzZWQgZnJvbSBvdGhlciB0 YXNrIG1vZHVsZXMKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIGNvbmZpZ19hZGRfY2xl YW51cF9kaXJzKGRpcmVjdG9yaWVzKToKKysgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVk LWFjY2VzcworKyAgICB0aGVfY2xlYW51cF9kaXJlY3RvcmllcyA9IG5hbWVzcGFjZS5fY29uZmln dXJhdGlvblsiY2xlYW51cCJdWyJkaXJlY3RvcmllcyJdCisrICAgIHRoZV9jbGVhbnVwX2RpcmVj dG9yaWVzLmV4dGVuZChkaXJlY3RvcmllcykKKysKKytkZWYgY29uZmlnX2FkZF9jbGVhbnVwX2Zp bGVzKGZpbGVzKToKKysgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworKyAg ICB0aGVfY2xlYW51cF9maWxlcyA9IG5hbWVzcGFjZS5fY29uZmlndXJhdGlvblsiY2xlYW51cCJd WyJmaWxlcyJdCisrICAgIHRoZV9jbGVhbnVwX2ZpbGVzLmV4dGVuZChmaWxlcykKKysgICAgIyBu YW1lc3BhY2UuY29uZmlndXJlKHsiY2xlYW51cCI6IHsiZmlsZXMiOiBmaWxlc319KQorKyAgICAj IHByaW50KCJESUFHIGNsZWFudXAuY29uZmlnLmNsZWFudXA6ICVyIiAlIG5hbWVzcGFjZS5jb25m aWd1cmF0aW9uKCkpCisrCisrZGVmIGNvbmZpZ19hZGRfY2xlYW51cF9hbGxfZGlycyhkaXJlY3Rv cmllcyk6CisrICAgICMgcHlsaW50OiBkaXNhYmxlPXByb3RlY3RlZC1hY2Nlc3MKKysgICAgdGhl X2NsZWFudXBfZGlyZWN0b3JpZXMgPSBuYW1lc3BhY2UuX2NvbmZpZ3VyYXRpb25bImNsZWFudXBf YWxsIl1bImRpcmVjdG9yaWVzIl0KKysgICAgdGhlX2NsZWFudXBfZGlyZWN0b3JpZXMuZXh0ZW5k KGRpcmVjdG9yaWVzKQorKworK2RlZiBjb25maWdfYWRkX2NsZWFudXBfYWxsX2ZpbGVzKGZpbGVz KToKKysgICAgIyBweWxpbnQ6IGRpc2FibGU9cHJvdGVjdGVkLWFjY2VzcworKyAgICB0aGVfY2xl YW51cF9maWxlcyA9IG5hbWVzcGFjZS5fY29uZmlndXJhdGlvblsiY2xlYW51cF9hbGwiXVsiZmls ZXMiXQorKyAgICB0aGVfY2xlYW51cF9maWxlcy5leHRlbmQoZmlsZXMpCitkaWZmIC0tZ2l0IGEv dGFza3MvcHkucmVxdWlyZW1lbnRzLnR4dCBiL3Rhc2tzL3B5LnJlcXVpcmVtZW50cy50eHQKK2lu ZGV4IDljODJkMTEuLmFjMTllOTQgMTAwNjQ0CistLS0gYS90YXNrcy9weS5yZXF1aXJlbWVudHMu dHh0CisrKysgYi90YXNrcy9weS5yZXF1aXJlbWVudHMudHh0CitAQCAtMTMsOCArMTMsOCBAQCBw eWNtZAorIHNpeD09MS4xNS4wCisgCisgIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhv bi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCistcGF0aC5weSA+PSAx MS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisgcGF0aCA+PSAxMy4xLjA7ICAgIHB5dGhv bl92ZXJzaW9uID49ICczLjUnCisrcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwg ICczLjUnCisgCisgIyAtLSBQWVRIT04yIEJBQ0tQT1JUUzoKKyBwYXRobGliOyAgICBweXRob25f dmVyc2lvbiA8PSAnMy40JworZGlmZiAtLWdpdCBhL3Rhc2tzL3JlbGVhc2UucHkgYi90YXNrcy9y ZWxlYXNlLnB5CitpbmRleCBkYmE4NWM4Li5lMTdhNDZmIDEwMDY0NAorLS0tIGEvdGFza3MvcmVs ZWFzZS5weQorKysrIGIvdGFza3MvcmVsZWFzZS5weQorQEAgLTUxLDcgKzUxLDcgQEAgQ29uZmln dXJhdGlvbiBmaWxlIGZvciBweXBpIHJlcG9zaXRvcmllczoKKyAKKyBmcm9tIF9fZnV0dXJlX18g aW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKyBmcm9tIGludm9rZSBpbXBv cnQgQ29sbGVjdGlvbiwgdGFzaworLWZyb20gLl90YXNrbGV0X2NsZWFudXAgaW1wb3J0IHBhdGhf Z2xvYgorK2Zyb20gLmludm9rZV9jbGVhbnVwIGltcG9ydCBwYXRoX2dsb2IKKyBmcm9tIC5fZHJ5 X3J1biBpbXBvcnQgRHJ5UnVuQ29udGV4dAorIAorIAorZGlmZiAtLWdpdCBhL3Rhc2tzL3Rlc3Qu cHkgYi90YXNrcy90ZXN0LnB5CitpbmRleCBiZmEyZDgwLi5kNmI0MTg5IDEwMDY0NAorLS0tIGEv dGFza3MvdGVzdC5weQorKysrIGIvdGFza3MvdGVzdC5weQorQEAgLTksNyArOSw4IEBAIGltcG9y dCBzeXMKKyBmcm9tIGludm9rZSBpbXBvcnQgdGFzaywgQ29sbGVjdGlvbgorIAorICMgLS0gVEFT Sy1MSUJSQVJZOgorLWZyb20gLl90YXNrbGV0X2NsZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3Ms IGNsZWFudXBfZGlycywgY2xlYW51cF9maWxlcworKyMgUFJFUEFSRUQ6IGZyb20gaW52b2tlX2Ns ZWFudXAgaW1wb3J0IGNsZWFudXBfdGFza3MsIGNsZWFudXBfZGlycywgY2xlYW51cF9maWxlcwor K2Zyb20gLmludm9rZV9jbGVhbnVwIGltcG9ydCBjbGVhbnVwX3Rhc2tzLCBjbGVhbnVwX2RpcnMs IGNsZWFudXBfZmlsZXMKKyAKKyAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5MS1E b2NzLWNoYW5nZS1jb2RlLWJsb2Nrcy1mcm9tLWJhc2gtdG8tY29uc29sZS5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTEtRG9jcy1j aGFuZ2UtY29kZS1ibG9ja3MtZnJvbS1iYXNoLXRvLWNvbnNvbGUucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iODQ5Y2M1ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkxLURv Y3MtY2hhbmdlLWNvZGUtYmxvY2tzLWZyb20tYmFzaC10by1jb25zb2xlLnBhdGNoCkBAIC0wLDAg KzEsMzYgQEAKK0Zyb20gODdmMTllZGQ5MDQ4NDk0YjIyZDdjMThjNzM3YzU0ODQ0YjFhODEzOCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhbmllbCBMZW1tIDw2MTgwMDI5OCtmZmU0 QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IEZyaSwgMjYgSnVuIDIwMjAgMTE6Mjc6 MTAgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG9jczogY2hhbmdlIGNvZGUgYmxvY2tzIGZyb20g YmFzaCB0byBjb25zb2xlCisKKy0tLQorIFJFQURNRS5yc3QgICAgICAgICAgICAgIHwgMiArLQor IGRvY3MvcHJhY3RpY2FsX3RpcHMucnN0IHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvUkVBRE1FLnJzdCBiL1JF QURNRS5yc3QKK2luZGV4IDRhOTA1YWIuLjIyYjAzNTIgMTAwNjQ0CistLS0gYS9SRUFETUUucnN0 CisrKysgYi9SRUFETUUucnN0CitAQCAtNzYsNyArNzYsNyBAQCBJbiB0aGF0IGRpcmVjdG9yeSBj cmVhdGUgYSBmaWxlIGNhbGxlZCAiZXhhbXBsZV9zdGVwcy5weSIgY29udGFpbmluZzoKKyAKKyBS dW4gYmVoYXZlOgorIAorLS4uIGNvZGUtYmxvY2s6OiBiYXNoCisrLi4gY29kZS1ibG9jazo6IGNv bnNvbGUKKyAKKyAgICAgJCBiZWhhdmUKKyAgICAgRmVhdHVyZTogU2hvd2luZyBvZmYgYmVoYXZl ICMgZmVhdHVyZXMvZXhhbXBsZS5mZWF0dXJlOjIKK2RpZmYgLS1naXQgYS9kb2NzL3ByYWN0aWNh bF90aXBzLnJzdCBiL2RvY3MvcHJhY3RpY2FsX3RpcHMucnN0CitpbmRleCBiNzA1NjlmLi43NWJj NzM2IDEwMDY0NAorLS0tIGEvZG9jcy9wcmFjdGljYWxfdGlwcy5yc3QKKysrKyBiL2RvY3MvcHJh Y3RpY2FsX3RpcHMucnN0CitAQCAtMzAsNyArMzAsNyBAQCBGb3IgZXhhbXBsZSwgaWYgeW91IHdh bnQgdG8gdXNlIHRoZSBmZWF0dXJlIGZpbGVzIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBmb3IKKyB0 ZXN0aW5nIHRoZSBtb2RlbCBsYXllciBhbmQgdGhlIFVJIGxheWVyLCB0aGlzIGNhbiBiZSBkb25l IGJ5IHVzaW5nIHRoZQorIGBgLS1zdGFnZWBgIG9wdGlvbiwgbGlrZSB3aXRoOgorIAorLS4uIGNv ZGUtYmxvY2s6OiBiYXNoCisrLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKyAKKyAgICAgJCBiZWhh dmUgLS1zdGFnZT1tb2RlbCBmZWF0dXJlcy8KKyAgICAgJCBiZWhhdmUgLS1zdGFnZT11aSAgICBm ZWF0dXJlcy8gICMgTk9URTogTm9ybWFsbHkgdXNlZCBvbiBhIHN1YnNldCBvZiBmZWF0dXJlcy4K ZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwOTItRml4LXR5cG8taW4tdHV0b3JpYWwucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkyLUZpeC10eXBvLWluLXR1dG9y aWFsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNjlhODJiNzg0 Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24v cHl0aG9uMy1iZWhhdmUvMDA5Mi1GaXgtdHlwby1pbi10dXRvcmlhbC5wYXRjaApAQCAtMCwwICsx LDI0IEBACitGcm9tIGI4YzNhM2Y1NTNmOGY0NTM0MmYzNjZjOThiZGUwOGM1ZDUwYjk4ZWQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4IE1jTGFydHkgPGFsZXhqbWNsYXJ0eUBn bWFpbC5jb20+CitEYXRlOiBGcmksIDEyIEp1bCAyMDE5IDA4OjIyOjMxICswMTAwCitTdWJqZWN0 OiBbUEFUQ0hdIEZpeCB0eXBvIGluIHR1dG9yaWFsCisKKy0tLQorIGRvY3MvdHV0b3JpYWwucnN0 IHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2RvY3MvdHV0b3JpYWwucnN0IGIvZG9jcy90dXRvcmlhbC5yc3QK K2luZGV4IDA0YjJmNjMuLjI3Njk4YTQgMTAwNjQ0CistLS0gYS9kb2NzL3R1dG9yaWFsLnJzdAor KysrIGIvZG9jcy90dXRvcmlhbC5yc3QKK0BAIC0xNTcsOCArMTU3LDggQEAgYmFzaWMgYWN0aW9u cy4gWW91IG1heSB1c2UgYSBTY2VuYXJpbyBPdXRsaW5lIHRvIGFjaGlldmUgdGhpczoKKyAKKyAg IFNjZW5hcmlvIE91dGxpbmU6IEJsZW5kZXJzCisgICAgICBHaXZlbiBJIHB1dCA8dGhpbmc+IGlu IGEgYmxlbmRlciwKKy0gICAgICB3aGVuIEkgc3dpdGNoIHRoZSBibGVuZGVyIG9uCistICAgICAg dGhlbiBpdCBzaG91bGQgdHJhbnNmb3JtIGludG8gPG90aGVyIHRoaW5nPgorKyAgICAgIFdoZW4g SSBzd2l0Y2ggdGhlIGJsZW5kZXIgb24KKysgICAgICBUaGVuIGl0IHNob3VsZCB0cmFuc2Zvcm0g aW50byA8b3RoZXIgdGhpbmc+CisgCisgICAgRXhhbXBsZXM6IEFtcGhpYmlhbnMKKyAgICAgIHwg dGhpbmcgICAgICAgICB8IG90aGVyIHRoaW5nIHwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTMtcHkucmVxdWlyZW1lbnRz LVVzZS1QeUhhbWNyZXN0LTIuMC1mb3ItcHl0aG9uMi43LnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5My1weS5yZXF1aXJlbWVudHMt VXNlLVB5SGFtY3Jlc3QtMi4wLWZvci1weXRob24yLjcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi5lZjg2YTg0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDkzLXB5LnJlcXVp cmVtZW50cy1Vc2UtUHlIYW1jcmVzdC0yLjAtZm9yLXB5dGhvbjIuNy5wYXRjaApAQCAtMCwwICsx LDgwIEBACitGcm9tIGRlMWQ1YzA5NmNhYmJiYzYzZTU5N2QxMjg5MzUwYzRlMzMxNTFmMTQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwgMSBEZWMgMjAyMCAyMzoxOTo1MSArMDEwMAorU3Vi amVjdDogW1BBVENIXSBweS5yZXF1aXJlbWVudHM6IFVzZSBQeUhhbWNyZXN0IDwgMi4wIGZvciBw eXRob24yLjcKKworLS0tCisgaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRzLnR4dCB8IDMg KystCisgcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQgICAgICAgICB8IDYgKysrKy0tCisgcHku cmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgICAgICB8IDcgKysrKystLQorIHB5LnJlcXVpcmVt ZW50cy90ZXN0aW5nLnR4dCAgICAgICAgfCA2ICsrKystLQorIDQgZmlsZXMgY2hhbmdlZCwgMTUg aW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1 cmVzL3B5LnJlcXVpcmVtZW50cy50eHQgYi9pc3N1ZS5mZWF0dXJlcy9weS5yZXF1aXJlbWVudHMu dHh0CitpbmRleCA2ZTNjZjgzLi5mOGEyZjhkIDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMv cHkucmVxdWlyZW1lbnRzLnR4dAorKysrIGIvaXNzdWUuZmVhdHVyZXMvcHkucmVxdWlyZW1lbnRz LnR4dAorQEAgLTgsNCArOCw1IEBACisgIworICMgPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorLVB5 SGFtY3Jlc3QgPT0gMi4wLjIKKytQeUhhbWNyZXN0ID49IDIuMC4yOyBweXRob25fdmVyc2lvbiA+ PSAnMy4wJworK1B5SGFtY3Jlc3QgPCAgMi4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICczLjAnCitk aWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQgYi9weS5yZXF1aXJlbWVudHMv Y2kudG94LnR4dAoraW5kZXggMjBhZTc5MS4uNWJlZTUyNCAxMDA2NDQKKy0tLSBhL3B5LnJlcXVp cmVtZW50cy9jaS50b3gudHh0CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorQEAg LTQsOSArNCwxMSBAQAorIAorIHB5dGVzdCA8ICA1LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjAn ICMgcHl0ZXN0ID49IDQuMgorIHB5dGVzdCA+PSA1LjA7IHB5dGhvbl92ZXJzaW9uID49ICczLjAn CistcHl0ZXN0LWh0bWwgPj0gMS4xOS4wCisrCisrcHl0ZXN0LWh0bWwgPj0gMS4xOS4wLDwyLjAK KyBtb2NrID49IDIuMAorLVB5SGFtY3Jlc3QgPT0gMi4wLjIKKytQeUhhbWNyZXN0ID49IDIuMC4y OyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworK1B5SGFtY3Jlc3QgPCAgMi4wOyAgIHB5dGhvbl92 ZXJzaW9uIDwgICczLjAnCisgCisgIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBhdGggKHB5dGhvbi1p bnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisgcGF0aC5weSA+PSAxMS41 LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRz L2NpLnRyYXZpcy50eHQgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAoraW5kZXggYzY5 NDQ1Yy4uMzcyMTE2YSAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0 CisrKysgYi9weS5yZXF1aXJlbWVudHMvY2kudHJhdmlzLnR4dAorQEAgLTEsMTEgKzEsMTQgQEAK KyAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKyAjIFBZVEhPTiBQQUNLQUdFIFJFUVVJUkVNRU5UUyBG T1I6IGJlaGF2ZSAtLSBjaS50cmF2aXMudHh0CisgIyA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrCisg cHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyBweXRlc3QgPj0gNS4wOyBw eXRob25fdmVyc2lvbiA+PSAnMy4wJworLXB5dGVzdC1odG1sID49IDEuMTkuMAorKworK3B5dGVz dC1odG1sID49IDEuMTkuMCw8Mi4wCisgbW9jayAgPj0gMi4wCistUHlIYW1jcmVzdCA9PSAyLjAu MgorK1B5SGFtY3Jlc3QgPj0gMi4wLjI7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisrUHlIYW1j cmVzdCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyAKKyAjIC0tIE5FRURFRDog Qnkgc29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAu MSBpcyByZXF1aXJlZCBmb3IgcHl0aG9uMi42CitkaWZmIC0tZ2l0IGEvcHkucmVxdWlyZW1lbnRz L3Rlc3RpbmcudHh0IGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitpbmRleCBkM2JjYTE4 Li5mYzhmZDgyIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CisrKysg Yi9weS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQKK0BAIC02LDkgKzYsMTEgQEAKKyAjIFBSRVBB UkVELUZVVFVSRTogYmVoYXZlNGNtZDAsIGJlaGF2ZTRjbWQKKyBweXRlc3QgPCAgNS4wOyBweXRo b25fdmVyc2lvbiA8ICAnMy4wJyAjIHB5dGVzdCA+PSA0LjIKKyBweXRlc3QgPj0gNS4wOyBweXRo b25fdmVyc2lvbiA+PSAnMy4wJworLXB5dGVzdC1odG1sID49IDEuMTkuMAorKworK3B5dGVzdC1o dG1sID49IDEuMTkuMCw8Mi4wCisgbW9jayAgPj0gMi4wCistUHlIYW1jcmVzdCA9PSAyLjAuMgor K1B5SGFtY3Jlc3QgPj0gMi4wLjI7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisrUHlIYW1jcmVz dCA8ICAyLjA7ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyAKKyAjIC0tIE5FRURFRDogQnkg c29tZSB0ZXN0cyAoYXMgcHJvb2Ygb2YgY29uY2VwdCkKKyAjIE5PVEU6IHBhdGgucHktMTAuMSBp cyByZXF1aXJlZCBmb3IgcHl0aG9uMi42CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk0LVVQREFURS1QUi04Nzctd2FzLW1l cmdlZC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAwOTQtVVBEQVRFLVBSLTg3Ny13YXMtbWVyZ2VkLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDIwZGVmZjJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5NC1VUERB VEUtUFItODc3LXdhcy1tZXJnZWQucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRnJvbSBiY2U2OGU5 ZmYxNGViZjdlZTY5YWQ3ZTc1YmY1ZjEzYWI0NzVjNDYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRl OiBTYXQsIDUgRGVjIDIwMjAgMDA6MzM6MjIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVVBEQVRF OiBQUiAjODc3IHdhcyBtZXJnZWQuCisKKy0tLQorIENIQU5HRVMucnN0IHwgMSArCisgMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9DSEFOR0VTLnJzdCBiL0NI QU5HRVMucnN0CitpbmRleCBkNzU4MzY0Li40ZTIwYmI4IDEwMDY0NAorLS0tIGEvQ0hBTkdFUy5y c3QKKysrKyBiL0NIQU5HRVMucnN0CitAQCAtNTgsNiArNTgsNyBAQCBNSU5PUjoKKyAKKyBET0NV TUVOVEFUSU9OOgorIAorKyogcHVsbCAgIzg3NzogZG9jczogQVBJIHJlZmVyZW5jZSAtIENhcGl0 YWxpemluZyBTdGVwIEtleXdvcmRzIGluIGV4YW1wbGUgKHByb3ZpZGVkIGJ5OiBJYnJpYW45MykK KyAqIHB1bGwgICM3MzE6IFVwZGF0ZSBsaW5rcyB0byBEamFuZ28gZG9jcyAocHJvdmlkZWQgYnk6 IGJpdHRuZXIpCisgKiBwdWxsICAjNzIyOiBET0MgcmVtb3ZlIHJlbWFpbmluZyBweXRob25ob3N0 ZWQgbGlua3MgKHByb3ZpZGVkIGJ5OiBsZXN6ZWtoYW51c3opCisgKiBwdWxsICAjNzAxOiBiZWhh dmUvcnVubmVyLnB5IGRvY3N0cmluZ3MgKHByb3ZpZGVkIGJ5OiBzcGl0R2x1ZWQpCmRpZmYgLS1n aXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MDk1LWNhcGl0YWxpemluZy1zdGVwcy5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTUtY2FwaXRhbGl6aW5nLXN0ZXBzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZmNmNzY1MWQ0Ci0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDA5NS1jYXBpdGFsaXppbmctc3RlcHMucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSBk YTU5OGRiNzAwNjNhNTkxZTA2NTg1N2NmNTEzNTA3MGY2ZDg1NzA0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogQnJpYW4gSWNvY2hlYSA8aWJyaWFuOTNAZ21haWwuY29tPgorRGF0ZTog U3VuLCAxNSBOb3YgMjAyMCAxODozNToxNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBjYXBpdGFs aXppbmcgc3RlcHMKKworLS0tCisgZG9jcy9hcGkucnN0IHwgOCArKysrLS0tLQorIDEgZmlsZSBj aGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9k b2NzL2FwaS5yc3QgYi9kb2NzL2FwaS5yc3QKK2luZGV4IDQ3NjNhZDYuLjc0NjM4NjMgMTAwNjQ0 CistLS0gYS9kb2NzL2FwaS5yc3QKKysrKyBiL2RvY3MvYXBpLnJzdAorQEAgLTc0LDEwICs3NCwx MCBAQCB0aGUgbmFtZSBvZiB0aGVpciBwcmVjZWRpbmcga2V5d29yZCwgc28gZ2l2ZW4gdGhlIGZv bGxvd2luZyBmZWF0dXJlIGZpbGU6CisgLi4gY29kZS1ibG9jazo6IGdoZXJraW4KKyAKKyAgICAg R2l2ZW4gc29tZSBrbm93biBzdGF0ZQorLSAgICAgIGFuZCBzb21lIG90aGVyIGtub3duIHN0YXRl CistICAgICB3aGVuIHNvbWUgYWN0aW9uIGlzIHRha2VuCistICAgICB0aGVuIHNvbWUgb3V0Y29t ZSBpcyBvYnNlcnZlZAorLSAgICAgIGJ1dCBzb21lIG90aGVyIG91dGNvbWUgaXMgbm90IG9ic2Vy dmVkLgorKyAgICAgIEFuZCBzb21lIG90aGVyIGtub3duIHN0YXRlCisrICAgICBXaGVuIHNvbWUg YWN0aW9uIGlzIHRha2VuCisrICAgICBUaGVuIHNvbWUgb3V0Y29tZSBpcyBvYnNlcnZlZAorKyAg ICAgIEJ1dCBzb21lIG90aGVyIG91dGNvbWUgaXMgbm90IG9ic2VydmVkLgorIAorIHRoZSBmaXJz dCAiYW5kIiBzdGVwIHdpbGwgYmUgcmVuYW1lZCBpbnRlcm5hbGx5IHRvICJnaXZlbiIgYW5kICpi ZWhhdmUqCisgd2lsbCBsb29rIGZvciBhIHN0ZXAgaW1wbGVtZW50YXRpb24gZGVjb3JhdGVkIHdp dGggZWl0aGVyICJnaXZlbiIgb3IgInN0ZXAiOgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ni1GSVgtaW52b2tlLXRhc2st ZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQtLnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ni1GSVgtaW52b2tlLXRh c2stZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQtLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMDUyMjBiZTJmCi0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDA5Ni1G SVgtaW52b2tlLXRhc2stZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQtLnBhdGNo CkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gY2RhYTM5Y2EyYWMyZWY2MDNlOTRmMjZkYTU3NWZhOGRj YTE2MDg2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNA dXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogRnJpLCAxMSBEZWMgMjAyMCAyMDo1MTo0 NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBGSVg6IGludm9rZS10YXNrIGRldmVsb3AudXBkYXRl LWdoZXJraW4gdGhhdCBhYm9ydGVkIGFmdGVyCisgZGlmZgorCisqIFNob3cgbm93IGlmICJnaGVy a2luLWxhbmd1YWdlcy5qc29uIiBkb2VzIG5vdCBjaGFuZ2UKKyogQWRkIC0tdmVyYm9zZSBvcHRp b24gdG8gc2hvdyBkaWZmIG91dHB1dCBpZiBmaWxlIGhhcyBjaGFuZ2VkCistLS0KKyB0YXNrcy9k ZXZlbG9wLnB5IHwgMTkgKysrKysrKysrKysrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGFza3MvZGV2ZWxv cC5weSBiL3Rhc2tzL2RldmVsb3AucHkKK2luZGV4IDlhMjEzNjMuLmViNWZlZGQgMTAwNjQ0Cist LS0gYS90YXNrcy9kZXZlbG9wLnB5CisrKysgYi90YXNrcy9kZXZlbG9wLnB5CitAQCAtOSw2ICs5 LDcgQEAgZnJvbSBpbnZva2UudXRpbCBpbXBvcnQgY2QKKyBmcm9tIHBhdGggaW1wb3J0IFBhdGgK KyBpbXBvcnQgcmVxdWVzdHMKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBDT05T VEFOVFM6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQEAgLTE4LDggKzE5LDggQEAgR0hFUktJ Tl9MQU5HVUFHRVNfVVJMID0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jdWN1 bWJlci9jdWN1bWJlci9tYXMKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBUQVNLUzoKKyAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistQHRhc2sKKy1kZWYgdXBkYXRlX2doZXJraW4oY3R4LCBk cnlfcnVuPUZhbHNlKToKKytAdGFzayhhbGlhc2VzPVsidXBkYXRlLWxhbmd1YWdlcyJdKQorK2Rl ZiB1cGRhdGVfZ2hlcmtpbihjdHgsIGRyeV9ydW49RmFsc2UsIHZlcmJvc2U9RmFsc2UpOgorICAg ICAiIiJVcGRhdGUgImdoZXJraW4tbGFuZ3VhZ2VzLmpzb24iIGZpbGUgZnJvbSBjdWN1bWJlci1y ZXBvLgorIAorICAgICAqIERvd25sb2FkICJnaGVya2luLWxhbmd1YWdlcy5qc29uIiBmcm9tIGN1 Y3VtYmVyIHJlcG8KK0BAIC00MSw4ICs0MiwxOCBAQCBkZWYgdXBkYXRlX2doZXJraW4oY3R4LCBk cnlfcnVuPUZhbHNlKToKKyAKKyAgICAgICAgIHByaW50KCdHZW5lcmF0aW5nICJpMThuLnB5IiAu Li4nKQorICAgICAgICAgY3R4LnJ1bigiLi9jb252ZXJ0X2doZXJraW4tbGFuZ3VhZ2VzLnB5IikK Ky0gICAgICAgIGN0eC5ydW4oImRpZmYgaTE4bi5weSAuLi8uLi9iZWhhdmUvaTE4bi5weSIpCist ICAgICAgICBpZiBub3QgZHJ5X3J1bjoKKysKKysgICAgICAgICMgLS0gRElGRjogUmV0dXJucyBu b3JtYWxseSB3LyBub24temVybyBleGl0Y29kZSA9PiBORUVEUzogd2Fybj1UcnVlCisrICAgICAg ICBsYW5ndWFnZXNfaGF2ZV9jaGFuZ2VkID0gRmFsc2UKKysgICAgICAgIHJlc3VsdCA9IGN0eC5y dW4oImRpZmYgaTE4bi5weSAuLi8uLi9iZWhhdmUvaTE4bi5weSIsIHdhcm49VHJ1ZSwgaGlkZT1U cnVlKQorKyAgICAgICAgbGFuZ3VhZ2VzX2hhdmVfY2hhbmdlZCA9IG5vdCByZXN1bHQub2sKKysg ICAgICAgIGlmIHZlcmJvc2UgYW5kIGxhbmd1YWdlc19oYXZlX2NoYW5nZWQ6CisrICAgICAgICAg ICAgIyAtLSBTSE9XIERJRkY6CisrICAgICAgICAgICAgcHJpbnQocmVzdWx0LnN0ZG91dCkKKysK KysgICAgICAgIGlmIG5vdCBsYW5ndWFnZXNfaGF2ZV9jaGFuZ2VkOgorKyAgICAgICAgICAgIHBy aW50KCJOT19DSEFOR0VEOiBnaGVya2luLWxhbmd1YWdlcy5qc29uIikKKysgICAgICAgIGVsaWYg bm90IGRyeV9ydW46CisgICAgICAgICAgICAgcHJpbnQoIlVwZGF0aW5nIGJlaGF2ZS9pMThuLnB5 IC4uLiIpCisgICAgICAgICAgICAgUGF0aCgiaTE4bi5weSIpLm1vdmUoIi4uLy4uL2JlaGF2ZS9p MThuLnB5IikKKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTctVGVzdC1hZ2FpbnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQt VHJhdmlzLTg2Ny5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5 dGhvbjMtYmVoYXZlLzAwOTctVGVzdC1hZ2FpbnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQtVHJhdmlz LTg2Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjgyOWVlYTJl NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAwOTctVGVzdC1hZ2FpbnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQtVHJh dmlzLTg2Ny5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDZmOWYwODgyNzExNjFhZGY0Y2U3 YTRiZGM4NDBiMTZkZGQ5NWIzOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBzYW50 b3NoNjUzIDw3MDYzNzk2MStzYW50b3NoNjUzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0Rh dGU6IE1vbiwgMTQgRGVjIDIwMjAgMTI6MDU6NTAgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gVGVz dCBhZ2FpbnN0IFBvd2VyUEMgQ1BVIHN1cHBvcnQgKFRyYXZpcykgKCM4NjcpCisKK1J1biB0ZXN0 IHN1aXRlIGFnYWluc3QgYm90aCBBTUQgYW5kIFBvd2VyUEMgYXJjaGl0ZWN0dXJlCistLS0KKyAu dHJhdmlzLnltbCB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKwor ZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55bWwKK2luZGV4IDc4MWE2MTAuLjJi NzhkOTcgMTAwNjQ0CistLS0gYS8udHJhdmlzLnltbAorKysrIGIvLnRyYXZpcy55bWwKK0BAIC0x LDMgKzEsNyBAQAorK2FyY2g6IAorKyAgLSBhbWQ2NAorKyAgLSBwcGM2NGxlCisrICAKKyBsYW5n dWFnZTogcHl0aG9uCisgc3VkbzogZmFsc2UKKyBkaXN0OiB4ZW5pYWwgICAjIHJlcXVpcmVkIGZv ciBQeXRob24gPj0gMy43CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xz L3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk4LUFkZC1Db250ZXh0LmF0dGFjaC1kb2NzLWFuZC10 ZXN0LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1i ZWhhdmUvMDA5OC1BZGQtQ29udGV4dC5hdHRhY2gtZG9jcy1hbmQtdGVzdC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmFjMDE5NzIwMgotLS0gL2Rldi9udWxsCisr KyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAw OTgtQWRkLUNvbnRleHQuYXR0YWNoLWRvY3MtYW5kLXRlc3QucGF0Y2gKQEAgLTAsMCArMSwxMzIg QEAKK0Zyb20gZTFiZTk1YmJjMDA4MGVhY2IyMGJjNWIyNjNhODM4Nzg0YzJhMWVhMiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvcmlqbiB2YW4gR29sZW4gPGsudmFuZ29sZW5AY2xp bmljYWxncmFwaGljcy5jb20+CitEYXRlOiBTYXQsIDI4IE5vdiAyMDIwIDExOjM5OjI4ICswMTAw CitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBDb250ZXh0LmF0dGFjaCwgZG9jcyBhbmQgdGVzdAorCist LS0KKyBiZWhhdmUvZm9ybWF0dGVyL2pzb24ucHkgICAgICAgIHwgIDYgKysrLS0KKyBiZWhhdmUv cnVubmVyLnB5ICAgICAgICAgICAgICAgIHwgMTEgKysrKysrKysrCisgZG9jcy9mb3JtYXR0ZXJz LnJzdCAgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrCisgZmVhdHVyZXMvZm9ybWF0dGVy Lmpzb24uZmVhdHVyZSB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDQg ZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2JlaGF2ZS9mb3JtYXR0ZXIvanNvbi5weSBiL2JlaGF2ZS9mb3JtYXR0ZXIvanNvbi5w eQoraW5kZXggNmRhMGQ1OS4uZWRmZTNkNyAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9mb3JtYXR0ZXIv anNvbi5weQorKysrIGIvYmVoYXZlL2Zvcm1hdHRlci9qc29uLnB5CitAQCAtMTY4LDEwICsxNjgs MTIgQEAgY2xhc3MgSlNPTkZvcm1hdHRlcihGb3JtYXR0ZXIpOgorICAgICAgICAgc2VsZi5fc3Rl cF9pbmRleCArPSAxCisgCisgICAgIGRlZiBlbWJlZGRpbmcoc2VsZiwgbWltZV90eXBlLCBkYXRh KToKKy0gICAgICAgIHN0ZXAgPSBzZWxmLmN1cnJlbnRfZmVhdHVyZV9lbGVtZW50WyJzdGVwcyJd Wy0xXQorKyAgICAgICAgc3RlcCA9IHNlbGYuY3VycmVudF9mZWF0dXJlX2VsZW1lbnRbInN0ZXBz Il1bc2VsZi5fc3RlcF9pbmRleF0KKysgICAgICAgIGlmICJlbWJlZGRpbmdzIiBub3QgaW4gc3Rl cDoKKysgICAgICAgICAgICBzdGVwWyJlbWJlZGRpbmdzIl0gPSBbXQorICAgICAgICAgc3RlcFsi ZW1iZWRkaW5ncyJdLmFwcGVuZCh7CisgICAgICAgICAgICAgIm1pbWVfdHlwZSI6IG1pbWVfdHlw ZSwKKy0gICAgICAgICAgICAiZGF0YSI6IGJhc2U2NC5iNjRlbmNvZGUoZGF0YSkucmVwbGFjZSgi XG4iLCAiIiksCisrICAgICAgICAgICAgImRhdGEiOiBiYXNlNjQuYjY0ZW5jb2RlKGRhdGEpLmRl Y29kZShzZWxmLnN0cmVhbS5lbmNvZGluZyBvciAidXRmLTgiKSwKKyAgICAgICAgIH0pCisgCisg ICAgIGRlZiBlb2Yoc2VsZik6CitkaWZmIC0tZ2l0IGEvYmVoYXZlL3J1bm5lci5weSBiL2JlaGF2 ZS9ydW5uZXIucHkKK2luZGV4IGQwMWJmZjAuLmM1ODNjYWYgMTAwNjQ0CistLS0gYS9iZWhhdmUv cnVubmVyLnB5CisrKysgYi9iZWhhdmUvcnVubmVyLnB5CitAQCAtNDc1LDYgKzQ3NSwxNyBAQCBj bGFzcyBDb250ZXh0KG9iamVjdCk6CisgICAgICAgICAgICAgIyAtLSBBVk9JRCBEVVBMSUNBVEVT OgorICAgICAgICAgICAgIGN1cnJlbnRfZnJhbWVbIkBjbGVhbnVwcyJdLmFwcGVuZChpbnRlcm5h bF9jbGVhbnVwX2Z1bmMpCisgCisrICAgIGRlZiBhdHRhY2goc2VsZiwgbWltZV90eXBlLCBkYXRh KToKKysgICAgICAgICIiIkVtYmVkcyBkYXRhIChlLmcuIGEgc2NyZWVuc2hvdCkgaW4gcmVwb3J0 cyBmb3IgYWxsCisrICAgICAgICBmb3JtYXR0ZXJzIHRoYXQgc3VwcG9ydCBpdCwgc3VjaCBhcyB0 aGUgSlNPTiBmb3JtYXR0ZXIuCisrCisrICAgICAgICA6cGFyYW0gbWltZV90eXBlOiAgICAgICBN SU1FIHR5cGUgb2YgdGhlIGJpbmFyeSBkYXRhLgorKyAgICAgICAgOnBhcmFtIGRhdGE6ICAgICAg ICAgICAgQnl0ZXMtbGlrZSBvYmplY3QgdG8gZW1iZWQuCisrICAgICAgICAiIiIKKysgICAgICAg IGlzX2NvbXBhdGlibGUgPSBsYW1iZGEgZjogaGFzYXR0cihmLCAiZW1iZWRkaW5nIikKKysgICAg ICAgIGZvciBmb3JtYXR0ZXIgaW4gZmlsdGVyKGlzX2NvbXBhdGlibGUsIHNlbGYuX3J1bm5lci5m b3JtYXR0ZXJzKToKKysgICAgICAgICAgICBmb3JtYXR0ZXIuZW1iZWRkaW5nKG1pbWVfdHlwZSwg ZGF0YSkKKysKKyAKKyBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorIGRlZiB1c2VfY29udGV4 dF93aXRoX21vZGUoY29udGV4dCwgbW9kZSk6CitkaWZmIC0tZ2l0IGEvZG9jcy9mb3JtYXR0ZXJz LnJzdCBiL2RvY3MvZm9ybWF0dGVycy5yc3QKK2luZGV4IGE0MGZkOGQuLjUzNDQ2OGEgMTAwNjQ0 CistLS0gYS9kb2NzL2Zvcm1hdHRlcnMucnN0CisrKysgYi9kb2NzL2Zvcm1hdHRlcnMucnN0CitA QCAtMTE2LDMgKzExNiwyMSBAQCB0ZWFtY2l0eSAgICAgICA6cHlwaTpgYmVoYXZlLXRlYW1jaXR5 YCwgYSBmb3JtYXR0ZXIgZm9yIEpldGJyYWlucyBUZWFtQ2l0eSBDSSB0ZQorICAgICBbYmVoYXZl LmZvcm1hdHRlcnNdCisgICAgIGFsbHVyZSAgID0gYWxsdXJlX2JlaGF2ZS5mb3JtYXR0ZXI6QWxs dXJlRm9ybWF0dGVyCisgICAgIHRlYW1jaXR5ID0gYmVoYXZlX3RlYW1jaXR5OlRlYW1jaXR5Rm9y bWF0dGVyCisrCisrCisrRW1iZWRkaW5nIGRhdGEgKGUuZy4gc2NyZWVuc2hvdHMpIGluIHJlcG9y dHMKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytZb3UgY2FuIGVtYmVkIGRhdGEgaW4gcmVw b3J0cyB3aXRoIHRoZSA6Y2xhc3M6YH5iZWhhdmUucnVubmVyLkNvbnRleHRgIG1ldGhvZAorKzpm dW5jOmB+YmVoYXZlLnJ1bm5lci5Db250ZXh0LmF0dGFjaGAsIGlmIHlvdSBoYXZlIGNvbmZpZ3Vy ZWQgYSBmb3JtYXR0ZXIgdGhhdAorK3N1cHBvcnRzIGl0LiBDdXJyZW50bHkgb25seSB0aGUgSlNP TiBmb3JtYXR0ZXIgc3VwcG9ydHMgZW1iZWRkaW5nIGRhdGEuCisrCisrRm9yIGV4YW1wbGU6Cisr CisrLi4gY29kZS1ibG9jazo6IHB5dGhvbgorKworKyAgICBAd2hlbih1J0kgb3BlbiB0aGUgR29v Z2xlIHdlYnBhZ2UnKQorKyAgICBkZWYgc3RlcF9pbXBsKGNvbnRleHQpOgorKyAgICAgICAgY29u dGV4dC5icm93c2VyLmdldCgnaHR0cDovL3d3dy5nb29nbGUuY29tJykKKysgICAgICAgIGltZyA9 IGNvbnRleHQuYnJvd3Nlci5nZXRfZnVsbF9wYWdlX3NjcmVlbnNob3RfYXNfcG5nKCkKKysgICAg ICAgIGNvbnRleHQuYXR0YWNoKCJpbWFnZS9wbmciLCBpbWcpCitkaWZmIC0tZ2l0IGEvZmVhdHVy ZXMvZm9ybWF0dGVyLmpzb24uZmVhdHVyZSBiL2ZlYXR1cmVzL2Zvcm1hdHRlci5qc29uLmZlYXR1 cmUKK2luZGV4IDk2YjI4YzcuLjY3Yzk3YWUgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9mb3JtYXR0 ZXIuanNvbi5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy9mb3JtYXR0ZXIuanNvbi5mZWF0dXJlCitA QCAtMzA5LDYgKzMwOSw0OCBAQCBGZWF0dXJlOiBKU09OIEZvcm1hdHRlcgorICAgICAgIEJ1dCBu b3RlIHRoYXQgImJvdGggbWF0Y2hlZCBhcmd1bWVudHMudmFsdWVzIGFyZSBwcm92aWRlZCBhcyBz dHJpbmciCisgCisgCisrICAgIFNjZW5hcmlvOiBVc2UgSlNPTiBmb3JtYXR0ZXIgYW5kIGVtYmVk IGJpbmFyeSBkYXRhIGluIHJlcG9ydCBmcm9tIHR3byBzdGVwcworKyAgICAgIEdpdmVuIGEgZmls ZSBuYW1lZCAiZmVhdHVyZXMvanNvbl9lbWJlZGRpbmdzLmZlYXR1cmUiIHdpdGg6CisrICAgICAg ICAgICIiIgorKyAgICAgICAgICBGZWF0dXJlOgorKyAgICAgICAgICAgIFNjZW5hcmlvOiBVc2Ug ZW1iZWRkaW5ncworKyAgICAgICAgICAgICAgICBHaXZlbiAiZm9vYmFyIiBhcyBwbGFpbiB0ZXh0 CisrICAgICAgICAgICAgICAgIEFuZCAicmVkIiBhcyBwbGFpbiB0ZXh0CisrICAgICAgICAgICIi IgorKyAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2pzb25fZW1iZWRkaW5n c19zdGVwcy5weSIgd2l0aDoKKysgICAgICAgICAgIiIiCisrICAgICAgICAgIGZyb20gYmVoYXZl IGltcG9ydCBzdGVwCisrCisrICAgICAgICAgIEBzdGVwKCcie2RhdGF9IiBhcyBwbGFpbiB0ZXh0 JykKKysgICAgICAgICAgZGVmIHN0ZXBfc3RyaW5nKGNvbnRleHQsIGRhdGEpOgorKyAgICAgICAg ICAgICAgY29udGV4dC5hdHRhY2goInRleHQvcGxhaW4iLCBkYXRhLmVuY29kZSgidXRmLTgiKSkK KysgICAgICAgICAgIiIiCisrICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIGpzb24ucHJldHR5 IGZlYXR1cmVzL2pzb25fZW1iZWRkaW5ncy5mZWF0dXJlIgorKyAgICAgIFRoZW4gaXQgc2hvdWxk IHBhc3Mgd2l0aDoKKysgICAgICAgICAgIiIiCisrICAgICAgICAgIDEgZmVhdHVyZSBwYXNzZWQs IDAgZmFpbGVkLCAwIHNraXBwZWQKKysgICAgICAgICAgMSBzY2VuYXJpbyBwYXNzZWQsIDAgZmFp bGVkLCAwIHNraXBwZWQKKysgICAgICAgICAgIiIiCisrICAgICAgQW5kIHRoZSBjb21tYW5kIG91 dHB1dCBzaG91bGQgY29udGFpbjoKKysgICAgICAgICAgIiIiCisrICAgICAgICAgICAgICAgICAg ICAiZW1iZWRkaW5ncyI6IFsKKysgICAgICAgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAg ICAgICAgICAgICAgICJkYXRhIjogIlptOXZZbUZ5IiwKKysgICAgICAgICAgICAgICAgICAgICAg ICAibWltZV90eXBlIjogInRleHQvcGxhaW4iCisrICAgICAgICAgICAgICAgICAgICAgIH0KKysg ICAgICAgICAgICAgICAgICAgIF0sCisrICAgICAgICAgICIiIgorKyAgICAgIEFuZCB0aGUgY29t bWFuZCBvdXRwdXQgc2hvdWxkIGNvbnRhaW46CisrICAgICAgICAgICIiIgorKyAgICAgICAgICAg ICAgICAgICAgImVtYmVkZGluZ3MiOiBbCisrICAgICAgICAgICAgICAgICAgICAgIHsKKysgICAg ICAgICAgICAgICAgICAgICAgICAiZGF0YSI6ICJjbVZrIiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAibWltZV90eXBlIjogInRleHQvcGxhaW4iCisrICAgICAgICAgICAgICAgICAgICAgIH0K KysgICAgICAgICAgICAgICAgICAgIF0sCisrICAgICAgICAgICIiIgorKworKworICAgICBAeGZh aWwKKyAgICAgQHJlZ3Jlc3Npb25fcHJvYmxlbS53aXRoX2R1cmF0aW9uCisgICAgIFNjZW5hcmlv OiBVc2UgSlNPTiBmb3JtYXR0ZXIgd2l0aCBmZWF0dXJlIGFuZCBvbmUgc2NlbmFyaW8gd2l0aCBz dGVwcwpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0 aG9uMy1iZWhhdmUvMDA5OS1BZGQtQ29udHJpYnV0aW5nLWNoYXB0ZXIucGF0Y2ggYi9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMDk5LUFkZC1Db250 cmlidXRpbmctY2hhcHRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLjYzYjRlN2NlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAwOTktQWRkLUNvbnRyaWJ1dGluZy1jaGFwdGVy LnBhdGNoCkBAIC0wLDAgKzEsMTI1IEBACitGcm9tIDU4MzhlYWZlNjVjZjBlYmNkYTNkMTkyMzE4 MDE1MzI2YThhZmI1MmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZXRlciBCaXR0 bmVyIDxkamFuZ29AYml0dG5lci5pdD4KK0RhdGU6IFNhdCwgMTIgRGVjIDIwMjAgMTk6NDU6MjYg KzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIENvbnRyaWJ1dGluZyBjaGFwdGVyCisKKy0tLQor IGRvY3MvY29uZi5weSAgICAgICAgICB8ICAyICstCisgZG9jcy9jb250cmlidXRpbmcucnN0IHwg ODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGRvY3MvaW5k ZXgucnN0ICAgICAgICB8ICAxICsKKyAzIGZpbGVzIGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jcy9jb250cmlidXRpbmcucnN0 CisKK2RpZmYgLS1naXQgYS9kb2NzL2NvbmYucHkgYi9kb2NzL2NvbmYucHkKK2luZGV4IGU1NWZi MjEuLjE1NzlhMzYgMTAwNjQ0CistLS0gYS9kb2NzL2NvbmYucHkKKysrKyBiL2RvY3MvY29uZi5w eQorQEAgLTEwOCw3ICsxMDgsNyBAQCBpZiBVU0VfU1BISU5YX0lOVEVSTkFUSU9OQUw6CisgIyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIHByb2plY3QgPSB1ImJlaGF2ZSIKKyBhdXRob3JzID0gdSJK ZW5zIEVuZ2VsLCBCZW5ubyBSaWNlIGFuZCBSaWNoYXJkIEpvbmVzIgorLWNvcHlyaWdodCA9IHUi MjAxMi0yMDE5LCAlcyIgJSBhdXRob3JzCisrY29weXJpZ2h0ID0gdSIyMDEyLTIwMjAsICVzIiAl IGF1dGhvcnMKKyAKKyAjIFRoZSB2ZXJzaW9uIGluZm8gZm9yIHRoZSBwcm9qZWN0IHlvdSdyZSBk b2N1bWVudGluZywgYWN0cyBhcyByZXBsYWNlbWVudCBmb3IKKyAjIHx2ZXJzaW9ufCBhbmQgfHJl bGVhc2V8LCBhbHNvIHVzZWQgaW4gdmFyaW91cyBvdGhlciBwbGFjZXMgdGhyb3VnaG91dCB0aGUK K2RpZmYgLS1naXQgYS9kb2NzL2NvbnRyaWJ1dGluZy5yc3QgYi9kb2NzL2NvbnRyaWJ1dGluZy5y c3QKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi43OGYzNmJkCistLS0gL2Rl di9udWxsCisrKysgYi9kb2NzL2NvbnRyaWJ1dGluZy5yc3QKK0BAIC0wLDAgKzEsODIgQEAKKytD b250cmlidXRpbmcKKys9PT09PT09PT09PT0KKysKKytJZiB5b3UgZmluZCBhIGJ1ZyB5b3UgY2Fu IGZpeCBvciB3YW50IHRvIGNvbnRyaWJ1dGUgYW4gZW5oYW5jZW1lbnQgeW91J3JlCisrd2VsY29t ZSB0byBgb3BlbiBhbiBpc3N1ZWBfIG9uIEdpdEh1YiBvciBjcmVhdGUgYSBgcHVsbCByZXF1ZXN0 YF8gZGlyZWN0bHkuCisrCisrLi4gX29wZW4gYW4gaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9i ZWhhdmUvYmVoYXZlL2lzc3VlcworKy4uIF9wdWxsIHJlcXVlc3Q6IGh0dHBzOi8vZ2l0aHViLmNv bS9iZWhhdmUvYmVoYXZlL3B1bGxzCisrCisrVXNpbmcgYGBpbnZva2VgYCBmb3IgRGV2ZWxvcG1l bnQKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworK0ZvciBtb3N0IGRldmVs b3BtZW50IHRhc2tzIHdlIGhhdmUgYGludm9rZWBfIGNvbW1hbmRzLgorKworK0luc3RhbGwgYWxs IHJlcXVpcmVtZW50cyBmb3IgcnVubmluZyB0YXNrcyB1c2luZyBQaXAsIGUuZy4KKysKKysuLiBj b2RlLWJsb2NrOjogY29uc29sZQorKworKyAgICBweXRob24zIC1tIHBpcCBpbnN0YWxsIC1yIHRh c2tzL3B5LnJlcXVpcmVtZW50cy50eHQKKysKKytEaXNwbGF5IGFsbCBhdmFpbGFibGUgYGBpbnZv a2VgYCBjb21tYW5kcyBsaWtlIHRoaXM6CisrCisrLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKysK KysgICAgaW52b2tlIC1sCisrCisrSWYgeW91J3JlIGN1cmlvdXMsIGFsbCBgYGludm9rZWBgIHRh c2tzIGFyZSBsb2NhdGVkIGluIHRoZSBgYHRhc2tzL2BgCisrZm9sZGVyLgorKworKy4uIF9pbnZv a2U6IGh0dHBzOi8vd3d3LnB5aW52b2tlLm9yZy8KKysKKytVcGRhdGUgR2hlcmtpbiBMYW5ndWFn ZSBTcGVjaWZpY2F0aW9uCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor KworK0FuIGBgaW52b2tlYGAgY29tbWFuZCB3aWxsIGRvd25sb2FkIHRoZSBsYXRlc3QgR2hlcmtp biBsYW5ndWFnZQorK3NwZWNpZmljYXRpb24gYW5kIHVwZGF0ZSB0aGUgYGJlaGF2ZS9pMThuLnB5 YF8gbW9kdWxlOgorKworKy4uIGNvZGUtYmxvY2s6OiBjb25zb2xlCisrCisrICAgIGludm9rZSBk ZXZlbG9wLnVwZGF0ZS1naGVya2luCisrCisrSWYgdGhlcmUgd2VyZSBjaGFuZ2VzIHRoaXMgY29t bWFuZCB3aWxsIGhhdmUgdXBkYXRlZCB0d28gZmlsZXM6CisrCisrIy4gYGBldGMvZ2hlcmtpbi9n aGVya2luLWxhbmd1YWdlcy5qc29uYGAgKG9yaWdpbmFsIEN1Y3VtYmVyIEpTT04gc3BlYykKKysj LiBgYGJlaGF2ZS9pMThuLnB5YGAgKFB5dGhvbiBtb2R1bGUgZ2VuZXJhdGVkIGZyb20gdGhlIEpT T04gc3BlYykKKysKKytQdXQgYm90aCB1bmRlciB2ZXJzaW9uIGNvbnRyb2wgYW5kIG9wZW4gYSBQ UiB0byBtZXJnZSB0aGVtLgorKworKy4uIF9iZWhhdmUvaTE4bi5weToKKysgICAgaHR0cHM6Ly9n aXRodWIuY29tL2JlaGF2ZS9iZWhhdmUvYmxvYi9tYXN0ZXIvYmVoYXZlL2kxOG4ucHkKKysKKytV cGRhdGUgRG9jdW1lbnRhdGlvbgorKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrT3VyIGRvY3Vt ZW50YXRpb24gaXMgd3JpdHRlbiBpbiBgcmVTdHJ1Y3R1cmVkVGV4dGBfLCBhbmQgYnVpbHQgYW5k IGhvc3RlZAorK29uIGBSZWFkVGhlRG9jc2BfLiBNYWtlIHlvdXIgY2hhbmdlcyB0byB0aGUgZmls ZXMgaW4gdGhlIGBgZG9jcy9gYCBmb2xkZXIKKythbmQgYnVpbGQgdGhlIGRvY3VtZW50YXRpb24g d2l0aDoKKysKKysuLiBjb2RlLWJsb2NrOjogY29uc29sZQorKworKyAgICBpbnZva2UgZG9jcwor KworK29yLCBhbHRlcm5hdGl2ZWx5LCB1c2luZyBUb3g6CisrCisrLi4gY29kZS1ibG9jazo6IGNv bnNvbGUKKysKKysgICAgdG94IC1lIGRvY3MKKysKKysuLiBoaW50OjoKKysKKysgICAgQnVpbGRp bmcgdGhlIGRvY3MgcmVxdWlyZXMgU3BoaW54IGFuZCBEb2NVdGlscy4gSWYgeW91ciBidWlsZCBm YWlscworKyAgICBiZWNhdXNlIHRob3NlIGFyZSBtaXNzaW5nLCBydW46CisrCisrICAgICAgICBw eXRob24zIC1tIHBpcCBpbnN0YWxsIC1yIHB5LnJlcXVpcmVtZW50cy9kb2NzLnR4dAorKworK09u Y2UgdGhlIGRvY3MgYXJlIGJ1aWx0IHN1Y2Nlc3NmdWxseSwgYGBzcGhpbnhgYCB3aWxsIHRlbGwg eW91IHdoZXJlIGl0CisrZ2VuZXJhdGVkIHRoZSBIVE1MIG91dHB1dCAodHlwaWNhbGx5IGBgYnVp bGQvZG9jcy9odG1sYGApLCB3aGljaCB5b3UgY2FuCisrdGhlbiBpbnNwZWN0IGxvY2FsbHkuCisr CisrLi4gX3JlU3RydWN0dXJlZFRleHQ6CisrICAgIGh0dHBzOi8vd3d3LnNwaGlueC1kb2Mub3Jn L2VuL21hc3Rlci91c2FnZS9yZXN0cnVjdHVyZWR0ZXh0L2Jhc2ljcy5odG1sCisrLi4gX1JlYWRU aGVEb2NzOiBodHRwczovL3JlYWR0aGVkb2NzLm9yZy8KK2RpZmYgLS1naXQgYS9kb2NzL2luZGV4 LnJzdCBiL2RvY3MvaW5kZXgucnN0CitpbmRleCBmMGRkMjBlLi5lMDAwNzljIDEwMDY0NAorLS0t IGEvZG9jcy9pbmRleC5yc3QKKysrKyBiL2RvY3MvaW5kZXgucnN0CitAQCAtNDMsNiArNDMsNyBA QCBDb250ZW50cworICAgIGNvbXBhcmlzb24KKyAgICBuZXdfYW5kX25vdGV3b3J0aHkKKyAgICBt b3JlX2luZm8KKysgICBjb250cmlidXRpbmcKKyAgICBhcHBlbmRpeAorIAorIC4uIHNlZWFsc286 OgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDEwMC1BZGFwdC1Ub3gtdGFyZ2V0LWZvci1idWlsZGluZy10aGUtZG9jcy5wYXRj aCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAx MDAtQWRhcHQtVG94LXRhcmdldC1mb3ItYnVpbGRpbmctdGhlLWRvY3MucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi40ZGQzOTk2YTMKLS0tIC9kZXYvbnVsbAorKysg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTAw LUFkYXB0LVRveC10YXJnZXQtZm9yLWJ1aWxkaW5nLXRoZS1kb2NzLnBhdGNoCkBAIC0wLDAgKzEs MzQgQEAKK0Zyb20gMjVjMjYwMWQxZDhkODgzNmM5NjczZGNiYmY4NTI1MTUyOTdlOTI2YSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBldGVyIEJpdHRuZXIgPGRqYW5nb0BiaXR0bmVy Lml0PgorRGF0ZTogU2F0LCAxMiBEZWMgMjAyMCAxOTo0NjoyOSArMDEwMAorU3ViamVjdDogW1BB VENIXSBBZGFwdCBUb3ggdGFyZ2V0IGZvciBidWlsZGluZyB0aGUgZG9jcworCitUaGlzIHdpbGwg Z2VuZXJhdGUgdGhlIEhUTUwgZG9jcyBpbiB0aGUgc2FtZSBsb2NhdGlvbiBhcyBgaW52b2tlIGRv Y3NgLgorLS0tCisgdG94LmluaSB8IDggKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdG94LmluaSBiL3RveC5p bmkKK2luZGV4IGI4MjU5MjEuLjhjY2I1OGIgMTAwNjQ0CistLS0gYS90b3guaW5pCisrKysgYi90 b3guaW5pCitAQCAtNzcsMTIgKzc3LDkgQEAgc2V0ZW52ID0KKyAKKyAKKyBbdGVzdGVudjpkb2Nz XQorLWJhc2VweXRob249IHB5dGhvbjIKKyBjaGFuZ2VkaXIgPSBkb2NzCistY29tbWFuZHM9Cist ICAgIHNwaGlueC1idWlsZCAtVyAtYiBodG1sIC1EIGxhbmd1YWdlPWVuIC1kIHtlbnZ0bXBkaXJ9 L2RvY3RyZWVzIC4ge2VudnRtcGRpcn0vaHRtbC9lbgorLWRlcHM9CistICAgIC1ye3RveGluaWRp cn0vcHkucmVxdWlyZW1lbnRzL2RvY3MudHh0CisrY29tbWFuZHMgPSBzcGhpbngtYnVpbGQgLVcg LWIgaHRtbCAtRCBsYW5ndWFnZT1lbiAtZCB7dG94aW5pZGlyfS9idWlsZC9kb2NzL2RvY3RyZWVz IC4ge3RveGluaWRpcn0vYnVpbGQvZG9jcy9odG1sL2VuCisrZGVwcyA9IC1ye3RveGluaWRpcn0v cHkucmVxdWlyZW1lbnRzL2RvY3MudHh0CisgCisgCisgW3Rlc3RlbnY6Y2xlYW5yb29tMl0KK0BA IC0xNDYsNCArMTQzLDMgQEAgY29tbWFuZHM9CisgZGVwcz0KKyAgICAgaml0CisgICAgIHtbdGVz dGVudl1kZXBzfQorLQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDEwMS1NZW50aW9uLUhUTUwtZm9ybWF0dGVyLWluLWRvY3Vt ZW50YXRpb24ucGF0Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMTAxLU1lbnRpb24tSFRNTC1mb3JtYXR0ZXItaW4tZG9jdW1lbnRhdGlvbi5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjA0OGU5MjdiZgotLS0g L2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMDEtTWVudGlvbi1IVE1MLWZvcm1hdHRlci1pbi1kb2N1bWVudGF0aW9uLnBh dGNoCkBAIC0wLDAgKzEsODMgQEAKK0Zyb20gM2JmYzY4MDk5OTgzMTkxZDFiYzA5NWQ5ZmY0NDkx ZmZmNDExNTdlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBldGVyIEJpdHRuZXIg PGRqYW5nb0BiaXR0bmVyLml0PgorRGF0ZTogVHVlLCAxNSBEZWMgMjAyMCAxMTozMDoxNyArMDEw MAorU3ViamVjdDogW1BBVENIXSBNZW50aW9uIEhUTUwgZm9ybWF0dGVyIGluIGRvY3VtZW50YXRp b24KKworLS0tCisgZG9jcy9mb3JtYXR0ZXJzLnJzdCB8IDIzICsrKysrKysrKysrKy0tLS0tLS0t LS0tCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvZG9jcy9mb3JtYXR0ZXJzLnJzdCBiL2RvY3MvZm9ybWF0dGVycy5yc3QK K2luZGV4IDUzNDQ2OGEuLjYwODBmYzQgMTAwNjQ0CistLS0gYS9kb2NzL2Zvcm1hdHRlcnMucnN0 CisrKysgYi9kb2NzL2Zvcm1hdHRlcnMucnN0CitAQCAtMSw4ICsxLDggQEAKKyAuLiBfaWQuYXBw ZW5kaXguZm9ybWF0dGVyczoKKyAKKy09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKys9PT09PT09PT09 PT09PT09PT09PT09PT0KKyBGb3JtYXR0ZXJzIGFuZCBSZXBvcnRlcnMKKy09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKys9PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyA6cHlwaTpgYmVoYXZlYCBw cm92aWRlcyAyIGRpZmZlcmVudCBjb25jZXB0cyBmb3IgcmVwb3J0aW5nIHJlc3VsdHMgb2YgYSB0 ZXN0IHJ1bjoKKyAKK0BAIC0xNSw3ICsxNSw3IEBAIFRoZSBgYFJlcG9ydGVyYGAgaGFzIGEgbW9y ZSBjb2Fyc2UtZ3JhaW5lZCBBUEkuCisgCisgCisgUmVwb3J0ZXJzCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrLS0tLS0tLS0tCisgCisgVGhlIGZvbGxvd2luZyByZXBvcnRlcnMgYXJlIGN1cnJl bnRseSBzdXBwb3J0ZWQ6CisgCitAQCAtMjgsNyArMjgsNyBAQCBzdW1tYXJ5ICAgICAgICAgUHJv dmlkZXMgYSBzdW1tYXJ5IG9mIHRoZSB0ZXN0IHJ1bi4KKyAKKyAKKyBGb3JtYXR0ZXJzCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisrLS0tLS0tLS0tLQorIAorIFRoZSBmb2xsb3dpbmcgZm9ybWF0 dGVycyBhcmUgY3VycmVudGx5IHN1cHBvcnRlZDoKKyAKK0BAIC02Miw3ICs2Miw3IEBAIHRhZ3Mu bG9jYXRpb24gIGRyeS1ydW4gIFNob3dzIHRhZ3MgYW5kIHRoZSBsb2NhdGlvbiB3aGVyZSB0aGV5 IGFyZSB1c2VkLgorIAorIAorIFVzZXItRGVmaW5lZCBGb3JtYXR0ZXJzCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKyBCZWhhdmUgYWxsb3dzIHlv dSB0byBwcm92aWRlIHlvdXIgb3duIGZvcm1hdHRlciAoY2xhc3MpOjoKKyAKK0BAIC05NiwxNiAr OTYsMTYgQEAgdG8gcHJvdmlkZSB0aGVtLiBUaGUgZm9ybWF0dGVyIHNob3VsZCB1c2UgdGhlIGF0 dHJpYnV0ZSBzY2hlbWE6CisgCisgCisgTW9yZSBGb3JtYXR0ZXJzCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisrLS0tLS0tLS0tLS0tLS0tCisgCistVGhlIGZvbGxvd2luZyBmb3JtYXR0ZXJzIGFy ZSBjdXJyZW50bHkga25vd246CisrVGhlIGZvbGxvd2luZyBjb250cmlidXRlZCBmb3JtYXR0ZXJz IGFyZSBjdXJyZW50bHkga25vd246CisgCisgPT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorIE5hbWUgICAgICAgICAgIERlc2NyaXB0aW9uCisgPT09PT09PT09PT09PT0gPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQorLWFsbHVyZSAgICAgICAgIDpweXBpOmBhbGx1cmUtYmVoYXZlYCwgYW4gQWxsdXJl IGZvcm1hdHRlciBmb3IgYmVoYXZlOgorLSAgICAgICAgICAgICAgIGBgYWxsdXJlX2JlaGF2ZS5m b3JtYXR0ZXI6QWxsdXJlRm9ybWF0dGVyYGAKKy10ZWFtY2l0eSAgICAgICA6cHlwaTpgYmVoYXZl LXRlYW1jaXR5YCwgYSBmb3JtYXR0ZXIgZm9yIEpldGJyYWlucyBUZWFtQ2l0eSBDSSB0ZXN0cnVu cworK2FsbHVyZSAgICAgICAgIDpweXBpOmBhbGx1cmUtYmVoYXZlYCwgYW4gQWxsdXJlIGZvcm1h dHRlciBmb3IgYmVoYXZlLgorK2h0bWwgICAgICAgICAgIDpweXBpOmBiZWhhdmUtaHRtbC1mb3Jt YXR0ZXJgLCBhIHNpbXBsZSBIVE1MIGZvcm1hdHRlciBmb3IgYmVoYXZlLgorK3RlYW1jaXR5ICAg ICAgIDpweXBpOmBiZWhhdmUtdGVhbWNpdHlgLCBhIGZvcm1hdHRlciBmb3IgSmV0QnJhaW5zIFRl YW1DaXR5IENJIHRlc3RydW5zCisgICAgICAgICAgICAgICAgd2l0aCBiZWhhdmUuCisgPT09PT09 PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorQEAgLTExNCw3ICsxMTQsOCBAQCB0ZWFtY2l0 eSAgICAgICA6cHlwaTpgYmVoYXZlLXRlYW1jaXR5YCwgYSBmb3JtYXR0ZXIgZm9yIEpldGJyYWlu cyBUZWFtQ2l0eSBDSSB0ZQorICAgICAjIC0tIEZJTEU6IGJlaGF2ZS5pbmkKKyAgICAgIyBGT1JN QVRURVIgQUxJQVNFUzogYmVoYXZlIC1mIGFsbHVyZSAuLi4KKyAgICAgW2JlaGF2ZS5mb3JtYXR0 ZXJzXQorLSAgICBhbGx1cmUgICA9IGFsbHVyZV9iZWhhdmUuZm9ybWF0dGVyOkFsbHVyZUZvcm1h dHRlcgorKyAgICBhbGx1cmUgPSBhbGx1cmVfYmVoYXZlLmZvcm1hdHRlcjpBbGx1cmVGb3JtYXR0 ZXIKKysgICAgaHRtbCA9IGJlaGF2ZV9odG1sX2Zvcm1hdHRlcjpIVE1MRm9ybWF0dGVyCisgICAg IHRlYW1jaXR5ID0gYmVoYXZlX3RlYW1jaXR5OlRlYW1jaXR5Rm9ybWF0dGVyCisgCisgCmRpZmYg LS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2 ZS8wMTAyLVVzZS1jb25zb2xlLWhpZ2hsaWdodGluZy1mb3ItcGlwLWluc3RhbGwtZG9jcy5wYXRj aCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAx MDItVXNlLWNvbnNvbGUtaGlnaGxpZ2h0aW5nLWZvci1waXAtaW5zdGFsbC1kb2NzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNmIwOWI5MzYwCi0tLSAvZGV2L251 bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDEwMi1Vc2UtY29uc29sZS1oaWdobGlnaHRpbmctZm9yLXBpcC1pbnN0YWxsLWRvY3MucGF0 Y2gKQEAgLTAsMCArMSwyMiBAQAorRnJvbSA3MDljMzJiZTgxOWFmYmJiN2M3YWVjYzM5MmZhYzQ5 ODZlOWFlOTBmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgQml0dG5lciA8 ZGphbmdvQGJpdHRuZXIuaXQ+CitEYXRlOiBUdWUsIDE1IERlYyAyMDIwIDEyOjQ0OjUyICswMTAw CitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBjb25zb2xlIGhpZ2hsaWdodGluZyBmb3IgYHBpcCBpbnN0 YWxsYCAoZG9jcykKKworLS0tCisgZG9jcy9jb250cmlidXRpbmcucnN0IHwgMiArKworIDEgZmls ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RvY3MvY29udHJpYnV0 aW5nLnJzdCBiL2RvY3MvY29udHJpYnV0aW5nLnJzdAoraW5kZXggNzhmMzZiZC4uZjNkZWI4NyAx MDA2NDQKKy0tLSBhL2RvY3MvY29udHJpYnV0aW5nLnJzdAorKysrIGIvZG9jcy9jb250cmlidXRp bmcucnN0CitAQCAtNzEsNiArNzEsOCBAQCBvciwgYWx0ZXJuYXRpdmVseSwgdXNpbmcgVG94Ogor ICAgICBCdWlsZGluZyB0aGUgZG9jcyByZXF1aXJlcyBTcGhpbnggYW5kIERvY1V0aWxzLiBJZiB5 b3VyIGJ1aWxkIGZhaWxzCisgICAgIGJlY2F1c2UgdGhvc2UgYXJlIG1pc3NpbmcsIHJ1bjoKKyAK KysgICAgLi4gY29kZS1ibG9jazo6IGNvbnNvbGUKKysKKyAgICAgICAgIHB5dGhvbjMgLW0gcGlw IGluc3RhbGwgLXIgcHkucmVxdWlyZW1lbnRzL2RvY3MudHh0CisgCisgT25jZSB0aGUgZG9jcyBh cmUgYnVpbHQgc3VjY2Vzc2Z1bGx5LCBgYHNwaGlueGBgIHdpbGwgdGVsbCB5b3Ugd2hlcmUgaXQK ZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAxMDMtZG9jcy1maXgtc2ltcGxlLXR5cG8tdHVvcmlhbC10dXRvcmlhbC5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDMt ZG9jcy1maXgtc2ltcGxlLXR5cG8tdHVvcmlhbC10dXRvcmlhbC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmYyMTZjMjlhNwotLS0gL2Rldi9udWxsCisrKyBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDMtZG9j cy1maXgtc2ltcGxlLXR5cG8tdHVvcmlhbC10dXRvcmlhbC5wYXRjaApAQCAtMCwwICsxLDUyIEBA CitGcm9tIDdhMTIyNTEwYTdkNDg0M2I1ZjhjNjRjMGEzNGE4MDc3NTcxODRhMjYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBUaW0gR2F0ZXMgPHRpbS5nYXRlc0BpcmVzcy5jb20+CitE YXRlOiBTdW4sIDI3IERlYyAyMDIwIDA4OjE2OjE2ICsxMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRv Y3M6IGZpeCBzaW1wbGUgdHlwbywgdHVvcmlhbCAtPiB0dXRvcmlhbAorCitUaGVyZSBpcyBhIHNt YWxsIHR5cG8gaW4gZG9jcy9tb3JlX2luZm8ucnN0LgorCitTaG91bGQgcmVhZCBgdHV0b3JpYWxg IHJhdGhlciB0aGFuIGB0dW9yaWFsYC4KKy0tLQorIGRvY3MvbW9yZV9pbmZvLnJzdCB8IDggKysr Ky0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvZG9jcy9tb3JlX2luZm8ucnN0IGIvZG9jcy9tb3JlX2luZm8ucnN0Citp bmRleCBkMGI5ZmNkLi4wZDg3YTljIDEwMDY0NAorLS0tIGEvZG9jcy9tb3JlX2luZm8ucnN0Cisr KysgYi9kb2NzL21vcmVfaW5mby5yc3QKK0BAIC02Niw3ICs2Niw3IEBAIFByZXNlbnRhdGlvbiBW aWRlb3MKKyAqIEJlbm5vIFJpY2U6IGBNYWtpbmcgWW91ciBBcHBsaWNhdGlvbiBCZWhhdmVgXyAo MzBtaW4pLAorICAgMjAxMi0wOC0xMiwgUHlDb24gQXVzdHJhbGlhLgorIAorLSogU2VsZW5pdW06 IGBGaXJzdCBiZWhhdmUgcHl0aG9uIHR1b3JpYWwgd2l0aCBzZWxlbml1bWBfICg4bWluKSwgMjAx NS0wMS0yOCwKKysqIFNlbGVuaXVtOiBgRmlyc3QgYmVoYXZlIHB5dGhvbiB0dXRvcmlhbCB3aXRo IHNlbGVuaXVtYF8gKDhtaW4pLCAyMDE1LTAxLTI4LAorICAgaHR0cDovL3d3dy5zZWxlbml1bWZy YW1ld29yay5jb20vcHl0aG9uLWJhc2ljL2ZpcnN0LWJlaGF2ZS1naGVya2luLworIAorICogSmVz c2ljYSBJbmdyYXNzZWxpbm86IGBBdXRvbWF0aW9uIHdpdGggUHl0aG9uIGFuZCBCZWhhdmVgXyAo NjdtaW4pLCAyMDE1LTEyLTE2CitAQCAtODQsNyArODQsNyBAQCBQcmVzZW50YXRpb24gVmlkZW9z CisgICAgICAgICAqIEJlbm5vIFJpY2U6IGBNYWtpbmcgWW91ciBBcHBsaWNhdGlvbiBCZWhhdmVg XyAoMzBtaW4pLAorICAgICAgICAgICBQeUNvbiBBdXN0cmFsaWEsIDIwMTItMDgtMTIKKyAKKy0g ICAgICAgICogU2VsZW5pdW06IGBGaXJzdCBiZWhhdmUgcHl0aG9uIHR1b3JpYWwgd2l0aCBzZWxl bml1bWBfICg4bWluKSwgMjAxNS0wMS0yOCwKKysgICAgICAgICogU2VsZW5pdW06IGBGaXJzdCBi ZWhhdmUgcHl0aG9uIHR1dG9yaWFsIHdpdGggc2VsZW5pdW1gXyAoOG1pbiksIDIwMTUtMDEtMjgs CisgICAgICAgICAgIGh0dHA6Ly93d3cuc2VsZW5pdW1mcmFtZXdvcmsuY29tL3B5dGhvbi1iYXNp Yy9maXJzdC1iZWhhdmUtZ2hlcmtpbi8KKyAKKyAgICAgICAgICogSmVzc2ljYSBJbmdyYXNzZWxp bm86IGBBdXRvbWF0aW9uIHdpdGggUHl0aG9uIGFuZCBCZWhhdmVgXyAoNjdtaW4pLCAyMDE1LTEy LTE2CitAQCAtMTEyLDcgKzExMiw3IEBAIFByZXNlbnRhdGlvbiBWaWRlb3MKKyAgICAgICAgICAg ICA6d2lkdGg6IDYwMAorICAgICAgICAgICAgIDpoZWlnaHQ6IDQwMAorIAorLSAgICAgICAgU2Vs ZW5pdW06IGBGaXJzdCBiZWhhdmUgcHl0aG9uIHR1b3JpYWwgd2l0aCBzZWxlbml1bWBfCisrICAg ICAgICBTZWxlbml1bTogYEZpcnN0IGJlaGF2ZSBweXRob24gdHV0b3JpYWwgd2l0aCBzZWxlbml1 bWBfCisgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KKyAKKyAgICAgICAgIDpEYXRlOiAyMDE1LTAxLTI4CitAQCAtMTQ2LDcgKzE0 Niw3IEBAIFByZXNlbnRhdGlvbiBWaWRlb3MKKyAKKyAKKyAuLiBfYE1ha2luZyBZb3VyIEFwcGxp Y2F0aW9uIEJlaGF2ZWA6IGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dThCT0t1Tmtt aGcKKy0uLiBfYEZpcnN0IGJlaGF2ZSBweXRob24gdHVvcmlhbCB3aXRoIHNlbGVuaXVtYDogaHR0 cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1EMjRfUXJHVUNGaworKy4uIF9gRmlyc3QgYmVo YXZlIHB5dGhvbiB0dXRvcmlhbCB3aXRoIHNlbGVuaXVtYDogaHR0cHM6Ly93d3cueW91dHViZS5j b20vd2F0Y2g/dj1EMjRfUXJHVUNGaworIC4uIF9gQXV0b21hdGlvbiB3aXRoIFB5dGhvbiBhbmQg QmVoYXZlYDogaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1lNzhjN2g2RFJEUQorIC4u IF9gU2VsZW5pdW0gUHl0aG9uIFdlYmRyaXZlciBUdXRvcmlhbCAtIEJlaGF2ZSAoQkREKWA6IGh0 dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9bWV4dFNvMFVFeGMKKyAKZGlmZiAtLWdpdCBh L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDQt QWRkLXN1cHBvcnQtZm9yLXB5dGhvbjMuOS1ieS11c2luZy1hY3RpdmUtdGFncy5wYXRjaCBiL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDQtQWRk LXN1cHBvcnQtZm9yLXB5dGhvbjMuOS1ieS11c2luZy1hY3RpdmUtdGFncy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmRjZGJjNGNmMwotLS0gL2Rldi9udWxsCisr KyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAx MDQtQWRkLXN1cHBvcnQtZm9yLXB5dGhvbjMuOS1ieS11c2luZy1hY3RpdmUtdGFncy5wYXRjaApA QCAtMCwwICsxLDIyNyBAQAorRnJvbSA1YzZmZDdlYWViYTk1ODc1OWNjZWRhYWE0ODNmZTIxMzg1 OWNmYTZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1 c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBNb24sIDEyIE9jdCAyMDIwIDIxOjUyOjI1 ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdXBwb3J0IGZvciBweXRob24zLjkgKGJ5IHVz aW5nIGFjdGl2ZS10YWdzKS4KKworLS0tCisgZmVhdHVyZXMvc3RlcC5hc3luY19zdGVwcy5mZWF0 dXJlIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMw LmZlYXR1cmUgIHwgIDYgKysrKysrCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUg IHwgIDQgKysrKworIGlzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlICB8ICA1ICsrKysr CisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1cmUgIHwgIDMgKysrCisgNSBmaWxlcyBj aGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9mZWF0dXJlcy9zdGVwLmFz eW5jX3N0ZXBzLmZlYXR1cmUgYi9mZWF0dXJlcy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUKK2lu ZGV4IDNhMThmYTkuLjA2NzA5ZDkgMTAwNjQ0CistLS0gYS9mZWF0dXJlcy9zdGVwLmFzeW5jX3N0 ZXBzLmZlYXR1cmUKKysrKyBiL2ZlYXR1cmVzL3N0ZXAuYXN5bmNfc3RlcHMuZmVhdHVyZQorQEAg LTMyLDYgKzMyLDkgQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAu Li4pCisgCisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKyAgICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNgorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43Cisr ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogVXNlIGFzeW5jLXN0ZXAgd2l0aCBAYXN5bmNfcnVu X3VudGlsX2NvbXBsZXRlIChhc3luYykKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVj dG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBz MzUucHkiIHdpdGg6CitAQCAtNjMsNiArNjYsOSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBv cnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAor ICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CisgICAgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjYKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworKyAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjkKKyAgICAgU2NlbmFyaW86IFVzZSBhc3luYy1zdGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9j b21wbGV0ZSAoQGNvcm91dGluZSkKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9y eQorICAgICAgIEFuZCBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzMzQu cHkiIHdpdGg6CitAQCAtOTMsNiArOTksOSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQg KGFzeW5jLXN0ZXAsIC4uLikKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQor ICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CisrICAgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjcKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91 bnRpbF9jb21wbGV0ZSh0aW1lb3V0PS4uLikgYW5kIFRJTUVPVVQgb2NjdXJzIChhc3luYykKKyAg ICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZpbGUgbmFt ZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzX3RpbWVvdXQzNS5weSIgd2l0aDoKK0BAIC0x MjgsNiArMTM3LDkgQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAu Li4pCisgCisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKyAgICAgQHVzZS53aXRo X3B5dGhvbi52ZXJzaW9uPTMuNgorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My43Cisr ICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuOQorICAgICBAYXN5bmNfc3RlcF9mYWlscworICAgICBTY2VuYXJpbzogVXNlIEBh c3luY19ydW5fdW50aWxfY29tcGxldGUgYW5kIGFzeW5jLXN0ZXAgZmFpbHMKKyAgICAgICBHaXZl biBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorQEAgLTE3MCw2ICsxODIsOSBAQCBGZWF0dXJlOiBB c3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAKKyAgICAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuNQorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CisrICAg IEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJz aW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIEBhc3luY19z dGVwX2ZhaWxzCisgICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBh bmQgYXN5bmMtc3RlcCByYWlzZXMgZXJyb3IKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRp cmVjdG9yeQorQEAgLTIxMyw2ICsyMjgsOSBAQCBGZWF0dXJlOiBBc3luYy1UZXN0IFN1cHBvcnQg KGFzeW5jLXN0ZXAsIC4uLikKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAorICAg ICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CisgICAgIEB1c2Uud2l0aF9weXRob24udmVy c2lvbj0zLjYKKysgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworKyAgICBAdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkK KyAgICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlKHRpbWVvdXQ9Li4u KSBhbmQgVElNRU9VVCBvY2N1cnMgKEBjb3JvdXRpbmUpCisgICAgICAgR2l2ZW4gYSBuZXcgd29y a2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9h c3luY19zdGVwc190aW1lb3V0MzQucHkiIHdpdGg6CitAQCAtMjUwLDYgKzI2OCw5IEBAIEZlYXR1 cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgICBAdXNlLndpdGhf cHl0aG9uLnZlcnNpb249My40CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKyAg ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My43CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogVXNlIGFzeW5jLWRpc3BhdGNo IGFuZCBhc3luYy1jb2xsZWN0IGNvbmNlcHRzCisgICAgICAgR2l2ZW4gYSBuZXcgd29ya2luZyBk aXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVwcy9hc3luY19k aXNwYXRjaF9zdGVwcy5weSIgd2l0aDoKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1 ZTAzMzAuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlCitpbmRleCA4 MWNiNmUyLi5iZTRkMzc4IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZl YXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDMzMC5mZWF0dXJlCitAQCAtNzEsNiAr NzEsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVk ZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworIAorIAorICAgQG5vdC53aXRoX3B5dGhv bi52ZXJzaW9uPTMuOAorKyAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgU2NlbmFy aW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNo b3ctc2tpcHBlZAorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNo b3ctc2tpcHBlZCBAYWxpY2VfYW5kX2JvYi5mZWF0dXJlc2V0IgorICAgICBUaGVuIGl0IHNob3Vs ZCBwYXNzIHdpdGg6CitAQCAtODUsNiArODYsNyBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lw cGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcwor ICAgICAgICIiIgorIAorICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tp cHBlZCBmZWF0dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorICAgICBXaGVuIEkg cnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ctc2tpcHBlZCBAYWxpY2VfYW5kX2Jv Yi5mZWF0dXJlc2V0IgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitAQCAtMTAxLDYg KzEwMyw3IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2NlbmFyaW9zIGFyZSBpbmNs dWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgICAgICAgIyA8dGVzdHN1aXRlIGVy cm9ycz0iMCIgZmFpbHVyZXM9IjAiIG5hbWU9ImJvYi5Cb2IiIHNraXBwZWQ9IjEiIHRlc3RzPSIx IiB0aW1lPSIwLjAiPgorIAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQG5v dC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Ig c2tpcHBlZCBzY2VuYXJpbyBpcyBuZWl0aGVyIHNob3duIG5vciBjb3VudGVkIHdpdGggLS1uby1z a2lwcGVkCisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tbm8tc2tp cHBlZCIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcyB3aXRoOgorQEAgLTEyMSw2ICsxMjQsNyBA QCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4g anVuaXQgcmVwb3J0cyB3aGVuIC0tbm8tcworICAgICBBbmQgbm90ZSB0aGF0ICJDaGFybHkyIGlz IHRoZSBza2lwcGVkIHNjZW5hcmlvbiBpbiBjaGFybHkuZmVhdHVyZSIKKyAKKyAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjgKKysgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAg IFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVpdGhlciBz aG93biBub3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZAorICAgICBXaGVuIEkgcnVuICJiZWhh dmUgLS1qdW5pdCAtdCBAdGFnMSAtLW5vLXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBh c3Mgd2l0aDoKK0BAIC0xNDQsNiArMTQ4LDcgQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBl ZCBzY2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAK KyAKKyAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgIEBub3Qud2l0aF9weXRob24u dmVyc2lvbj0zLjkKKyAgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFy aW8gaXMgc2hvd24gYW5kIGNvdW50ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorICAgICBXaGVuIEkg cnVuICJiZWhhdmUgLS1qdW5pdCAtdCBAdGFnMSAtLXNob3ctc2tpcHBlZCIKKyAgICAgVGhlbiBp dCBzaG91bGQgcGFzcyB3aXRoOgorQEAgLTE2NSw2ICsxNzAsNyBAQCBGZWF0dXJlOiBJc3N1ZSAj MzMwOiBTa2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVu IC0tbm8tcworIAorIAorICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tp cHBlZCBzY2VuYXJpbyBpcyBzaG93biBhbmQgY291bnRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisg ICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIgor ICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CitkaWZmIC0tZ2l0IGEvaXNzdWUuZmVhdHVy ZXMvaXNzdWUwNDQ2LmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZQor aW5kZXggOTAxYmRlYy4uMTJkZTM3YSAxMDA2NDQKKy0tLSBhL2lzc3VlLmZlYXR1cmVzL2lzc3Vl MDQ0Ni5mZWF0dXJlCisrKysgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZQorQEAg LTU5LDYgKzU5LDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhv b2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgorICAgICAgICAgIiIiCisgCisgICAgIEBub3Qu d2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OQorICAgICBTY2VuYXJpbzogSG9vayBlcnJvciBpbiBiZWZvcmVfc2NlbmFyaW8oKQorICAgICAg IFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1cmVzL2JlZm9yZV9zY2Vu YXJpb19mYWlsdXJlLmZlYXR1cmUiCisgICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgor QEAgLTg4LDYgKzg5LDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlv IGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgorIAorIAorICAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My44CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAg U2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkKKyAgICAgICBXaGVuIEkg cnVuICJiZWhhdmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9iZWZvcmVfc2NlbmFyaW9fZmFp bHVyZS5mZWF0dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKK0BAIC0xMjEs NiArMTIzLDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBwb3J0IHNjZW5hcmlvIGhvb2st ZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgorIAorIAorICAgICBAbm90LndpdGhfcHl0aG9uLnZl cnNpb249My44CisrICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAgICAgU2NlbmFy aW86IEhvb2sgZXJyb3IgaW4gYWZ0ZXJfc2NlbmFyaW8oKQorICAgICAgIFdoZW4gSSBydW4gImJl aGF2ZSAtZiBwbGFpbiAtLWp1bml0IGZlYXR1cmVzL2FmdGVyX3NjZW5hcmlvX2ZhaWx1cmUuZmVh dHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CitAQCAtMTUyLDYgKzE1NSw3 IEBAIEZlYXR1cmU6IElzc3VlICM0NDYgLS0gU3VwcG9ydCBzY2VuYXJpbyBob29rLWVycm9ycyB3 aXRoIEpVbml0UmVwb3J0ZXIKKyAKKyAKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNjZW5hcmlvOiBIb29r IGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkKKyAgICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLWYg cGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9hZnRlcl9zY2VuYXJpb19mYWlsdXJlLmZlYXR1cmUiCisg ICAgICAgVGhlbiBpdCBzaG91bGQgZmFpbCB3aXRoOgorZGlmZiAtLWdpdCBhL2lzc3VlLmZlYXR1 cmVzL2lzc3VlMDQ1Ny5mZWF0dXJlIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUK K2luZGV4IDQ2Zjk2ZTkuLjZkMmY0OGYgMTAwNjQ0CistLS0gYS9pc3N1ZS5mZWF0dXJlcy9pc3N1 ZTA0NTcuZmVhdHVyZQorKysrIGIvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDU3LmZlYXR1cmUKK0BA IC0yNSw2ICsyNSw3IEBAIEZlYXR1cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBl cnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cworIAorIAorICAgICBAbm90LndpdGhf cHl0aG9uLnZlcnNpb249My44CisrICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjkKKyAg ICAgU2NlbmFyaW86IFVzZSBmYWlsaW5nIGFzc2VydGF0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9y dAorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMxLmZlYXR1cmUiIHdp dGg6CisgICAgICAgICAiIiIKK0BAIC00Niw2ICs0Nyw3IEBAIEZlYXR1cmU6IElzc3VlICM0NTcg LS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNzYWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cwor ICAgICAgICAgIiIiCisgCisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKysgICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBTY2VuYXJpbzogVXNlIGZhaWxpbmcg YXNzZXJ0YXRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisgICAgICAgR2l2ZW4gYSBmaWxlIG5h bWVkICJmZWF0dXJlcy9mYWlsczEuZmVhdHVyZSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTcw LDYgKzcyLDcgQEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAtLSBEb3VibGUtcXVvdGVzIGluIGVycm9y IG1lc3NhZ2VzIG9mIEpVbml0IFhNTCByZXBvcnRzCisgCisgCisgICAgIEBub3Qud2l0aF9weXRo b24udmVyc2lvbj0zLjgKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorICAgICBT Y2VuYXJpbzogVXNlIGV4Y2VwdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQKKyAgICAgICBHaXZl biBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxzMi5mZWF0dXJlIiB3aXRoOgorICAgICAgICAg IiIiCitAQCAtOTAsNyArOTMsOSBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90 ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAgICAgICAgIDxlcnJv ciBtZXNzYWdlPSJNeSBuYW1lIGlzICZxdW90O0JvYiZxdW90OyBhbmQgJmx0O2hlcmUmZ3Q7IEkg YW0iCisgICAgICAgICAiIiIKKyAKKysKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMu OAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisgICAgIFNjZW5hcmlvOiBVc2Ug ZXhjZXB0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydAorICAgICAgIEdpdmVuIGEgZmlsZSBuYW1l ZCAiZmVhdHVyZXMvZmFpbHMyLmZlYXR1cmUiIHdpdGg6CisgICAgICAgICAiIiIKK2RpZmYgLS1n aXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lz c3VlMDY1Ny5mZWF0dXJlCitpbmRleCBmNjY3ODkzLi5hZWFlZmQyIDEwMDY0NAorLS0tIGEvaXNz dWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3Vl MDY1Ny5mZWF0dXJlCitAQCAtNSw2ICs1LDkgQEAgRmVhdHVyZTogSXNzdWUgIzY1NyAtLSBBbGxv dyBhc3luYyBzdGVwcyB3aXRoIHRpbWVvdXRzIHRvIGZhaWwgd2hlbiB0aGV5IHJhaXNlIGUKKyAK KyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorICAgICBAdXNlLndpdGhfcHl0aG9u LnZlcnNpb249My42CisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKysgICAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorKyAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My45CisgICAgIEBhc3luY19zdGVwX2ZhaWxzCisgICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1 bl91bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMtc3RlcCBmYWlscworICAgICAgIEdpdmVuIGEgbmV3 IHdvcmtpbmcgZGlyZWN0b3J5CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRv b2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA1LVBSRUZFUi1weXRob24zLWZyb20tbm93LW9u LnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDEwNS1QUkVGRVItcHl0aG9uMy1mcm9tLW5vdy1vbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjI3Yzc3YjdiNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDUtUFJFRkVS LXB5dGhvbjMtZnJvbS1ub3ctb24ucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorRnJvbSAxZmY4MzM4 ZWExZDhhMjdhNWM0NTQ5MjUwN2VkNjQxNTRjYzJjZmM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogamVuaXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRl OiBNb24sIDEyIE9jdCAyMDIwIDIyOjE0OjU5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFBSRUZF UjogcHl0aG9uMyBmcm9tIG5vdyBvbi4KKworLS0tCisgYmluL2JlaGF2ZSB8IDIgKy0KKyAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBh L2Jpbi9iZWhhdmUgYi9iaW4vYmVoYXZlCitpbmRleCBjMDJlOGQzLi45ZWJiNTg0IDEwMDc1NQor LS0tIGEvYmluL2JlaGF2ZQorKysrIGIvYmluL2JlaGF2ZQorQEAgLTEsNCArMSw0IEBACistIyEv dXNyL2Jpbi9lbnYgcHl0aG9uCisrIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworICMgLSotIGNvZGlu ZzogdXRmLTggLSotCisgCisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQK ZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAxMDYtUkVNT1ZFLWludm9rZS1zY3JpcHRzLnBhdGNoIGIvbWV0YS1weXRob24vcmVj aXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEwNi1SRU1PVkUtaW52b2tlLXNj cmlwdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5jYmJmZTZk NmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhv bi9weXRob24zLWJlaGF2ZS8wMTA2LVJFTU9WRS1pbnZva2Utc2NyaXB0cy5wYXRjaApAQCAtMCww ICsxLDQxIEBACitGcm9tIGM5NDdjMDcyNjY3M2JjYjhkOGQzMTE0ZDBlMzlmYzkyNjA0MDU1OWUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5v cmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFNhdCwgOSBKYW4gMjAyMSAyMTo1MjowNCArMDEwMAor U3ViamVjdDogW1BBVENIXSBSRU1PVkU6IGludm9rZSBzY3JpcHRzCisKKy0tLQorIGJpbi9pbnZv a2UgICAgIHwgOCAtLS0tLS0tLQorIGJpbi9pbnZva2UuY21kIHwgOSAtLS0tLS0tLS0KKyAyIGZp bGVzIGNoYW5nZWQsIDE3IGRlbGV0aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDc1NSBiaW4vaW52 b2tlCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGJpbi9pbnZva2UuY21kCisKK2RpZmYgLS1naXQgYS9i aW4vaW52b2tlIGIvYmluL2ludm9rZQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCBl OTgwMGU4Li4wMDAwMDAwCistLS0gYS9iaW4vaW52b2tlCisrKysgL2Rldi9udWxsCitAQCAtMSw4 ICswLDAgQEAKKy0jIS9iaW4vc2gKKy0jIS9iaW4vYmFzaAorLSMgUlVOIElOVk9LRTogRnJvbSBi dW5kbGVkIFpJUCBmaWxlLgorLQorLUhFUkU9JChkaXJuYW1lICQwKQorLWV4cG9ydCBJTlZPS0Vf VEFTS1NfVVNFX1ZFTkRPUl9CVU5ETEVTPSJ5ZXMiCistCistcHl0aG9uICR7SEVSRX0vLi4vdGFz a3MvX3ZlbmRvci9pbnZva2UuemlwICQqCitkaWZmIC0tZ2l0IGEvYmluL2ludm9rZS5jbWQgYi9i aW4vaW52b2tlLmNtZAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA5MzAzNDMyLi4w MDAwMDAwCistLS0gYS9iaW4vaW52b2tlLmNtZAorKysrIC9kZXYvbnVsbAorQEAgLTEsOSArMCww IEBACistQGVjaG8gb2ZmCistUkVNIFJVTiBJTlZPS0U6IEZyb20gYnVuZGxlZCBaSVAgZmlsZS4K Ky0KKy1zZXRsb2NhbAorLXNldCBIRVJFPSV+ZHAwCistc2V0IElOVk9LRV9UQVNLU19VU0VfVkVO RE9SX0JVTkRMRVM9InllcyIKKy1pZiBub3QgZGVmaW5lZCBQWVRIT04gICBzZXQgUFlUSE9OPXB5 dGhvbgorLQorLSVQWVRIT04lICVIRVJFJS4uL3Rhc2tzL192ZW5kb3IvaW52b2tlLnppcCAiJSoi CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMTA3LUZJWC1EZXByZWNhdGVkLXdhcm5pbmdzLWZvci1QeXRob24tMy54LnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEw Ny1GSVgtRGVwcmVjYXRlZC13YXJuaW5ncy1mb3ItUHl0aG9uLTMueC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmU0Y2I1MWFjZgotLS0gL2Rldi9udWxsCisrKyBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDct RklYLURlcHJlY2F0ZWQtd2FybmluZ3MtZm9yLVB5dGhvbi0zLngucGF0Y2gKQEAgLTAsMCArMSwx MjQgQEAKK0Zyb20gM2ZiMTFlZjE5ZDIyNjViNmUyOWZjNjkxOTEwNzliMzJjNzkyMjVkZCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAyMDIxIDIxOjUyOjQyICswMTAwCitTdWJq ZWN0OiBbUEFUQ0hdIEZJWDogRGVwcmVjYXRlZCB3YXJuaW5ncyBmb3IgUHl0aG9uIDMueAorCist LS0KKyBiaW4vanNvbi5mb3JtYXQucHkgICAgICAgICB8IDE1ICsrKysrKysrKystLS0tLQorIGJp bi9qc29uc2NoZW1hX3ZhbGlkYXRlLnB5IHwgMjMgKysrKysrKysrKysrKysrKy0tLS0tLS0KKyAy IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvYmluL2pzb24uZm9ybWF0LnB5IGIvYmluL2pzb24uZm9ybWF0LnB5CitpbmRleCBi N2ViMDVmLi5iNzVkODhhIDEwMDc1NQorLS0tIGEvYmluL2pzb24uZm9ybWF0LnB5CisrKysgYi9i aW4vanNvbi5mb3JtYXQucHkKK0BAIC0xMCw4ICsxMCw4IEBAIExJQ0VOU0U6ICBCU0QKKyBmcm9t IF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIAorIF9fYXV0aG9yX18gICAgPSAi SmVucyBFbmdlbCIKKy1fX2NvcHlyaWdodF9fID0gIihjKSAyMDExLTIwMTMgYnkgSmVucyBFbmdl bCIKKy1WRVJTSU9OID0gIjAuMi4yIgorK19fY29weXJpZ2h0X18gPSAiKGMpIDIwMTEtMjAyMSBi eSBKZW5zIEVuZ2VsIgorK1ZFUlNJT04gPSAiMC4zLjAiCisgCisgIyAtLSBJTVBPUlRTOgorIGlt cG9ydCBvcy5wYXRoCitAQCAtMjksNiArMjksNyBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CisgIyBD T05TVEFOVFM6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgREVGQVVMVF9JTkRFTlRfU0laRSA9 IDIKKytQWVRIT05fVkVSU0lPTiA9IHN5cy52ZXJzaW9uX2luZm9bOjJdCisgCisgIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgIyBGVU5DVElPTlM6CitAQCAtNTgsNyArNTksMTEgQEAgZGVmIGpzb25f Zm9ybWF0KGZpbGVuYW1lLCBpbmRlbnQ9REVGQVVMVF9JTkRFTlRfU0laRSwgKiprd2FyZ3MpOgor ICMgICAgICAgIHJldHVybiAwCisgCisgICAgIGNvbnRlbnRzID0gb3BlbihmaWxlbmFtZSwgInIi KS5yZWFkKCkKKy0gICAgZGF0YSAgICAgID0ganNvbi5sb2Fkcyhjb250ZW50cywgZW5jb2Rpbmc9 ZW5jb2RpbmcpCisrICAgIGlmIFBZVEhPTl9WRVJTSU9OID49ICgzLCAxKToKKysgICAgICAgICMg LS0gTk9URTogZW5jb2Rpbmcga2V5d29yZCBpcyBkZXByZWNhdGVkIHNpbmNlIHB5dGhvbiAzLjEK KysgICAgICAgIGRhdGEgPSBqc29uLmxvYWRzKGNvbnRlbnRzKQorKyAgICBlbHNlOgorKyAgICAg ICAgZGF0YSA9IGpzb24ubG9hZHMoY29udGVudHMsIGVuY29kaW5nPWVuY29kaW5nKQorICAgICBj b250ZW50czIgPSBqc29uLmR1bXBzKGRhdGEsIGluZGVudD1pbmRlbnQsIHNvcnRfa2V5cz1zb3J0 X2tleXMpCisgICAgIGNvbnRlbnRzMiA9IGNvbnRlbnRzMi5zdHJpcCgpCisgICAgIGNvbnRlbnRz MiA9ICIlc1xuIiAlIGNvbnRlbnRzMgorQEAgLTY5LDcgKzc0LDcgQEAgZGVmIGpzb25fZm9ybWF0 KGZpbGVuYW1lLCBpbmRlbnQ9REVGQVVMVF9JTkRFTlRfU0laRSwgKiprd2FyZ3MpOgorICAgICAg ICAgb3V0ZmlsZSA9IG9wZW4oZmlsZW5hbWUsICJ3IikKKyAgICAgICAgIG91dGZpbGUud3JpdGUo Y29udGVudHMyKQorICAgICAgICAgb3V0ZmlsZS5jbG9zZSgpCistICAgICAgICBjb25zb2xlLndh cm4oIiVzIE9LIiwgbWVzc2FnZSkKKysgICAgICAgIGNvbnNvbGUud2FybmluZygiJXMgT0siLCBt ZXNzYWdlKQorICAgICAgICAgcmV0dXJuIDEgIzwgT0sKKyAKKyBkZWYganNvbl9mb3JtYXRhbGwo ZmlsZW5hbWVzLCBpbmRlbnQ9REVGQVVMVF9JTkRFTlRfU0laRSwgZHJ5X3J1bj1GYWxzZSk6CitA QCAtMTQzLDcgKzE0OCw3IEBAIEZvcm1hdC9CZWF1dGlmeSBvbmUgb3IgbW9yZSBKU09OIGZpbGUo cykuIiIiCisgICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbygiU0tJUCAlcywgbm8gSlNPTiBm aWxlcyBmb3VuZCBpbiBkaXIuIiwgZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgIHNraXBwZWQg Kz0gMQorICAgICAgICAgZWxpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZW5hbWUpOgorLSAgICAg ICAgICAgIGNvbnNvbGUud2FybigiU0tJUCAlcywgZmlsZSBub3QgZm91bmQuIiwgZmlsZW5hbWUp CisrICAgICAgICAgICAgY29uc29sZS53YXJuaW5nKCJTS0lQICVzLCBmaWxlIG5vdCBmb3VuZC4i LCBmaWxlbmFtZSkKKyAgICAgICAgICAgICBza2lwcGVkICs9IDEKKyAgICAgICAgICAgICBjb250 aW51ZQorICAgICAgICAgZWxzZToKK2RpZmYgLS1naXQgYS9iaW4vanNvbnNjaGVtYV92YWxpZGF0 ZS5weSBiL2Jpbi9qc29uc2NoZW1hX3ZhbGlkYXRlLnB5CitpbmRleCBkYjJlZGIxLi5mZTc1OTZl IDEwMDc1NQorLS0tIGEvYmluL2pzb25zY2hlbWFfdmFsaWRhdGUucHkKKysrKyBiL2Jpbi9qc29u c2NoZW1hX3ZhbGlkYXRlLnB5CitAQCAtMTgsMTEgKzE4LDExIEBAIGZyb20gX19mdXR1cmVfXyBp bXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBwcmludF9mdW5jdGlvbgorIF9fYXV0aG9yX18gID0gIkpl bnMgRW5nZWwiCisgX192ZXJzaW9uX18gPSAiMC4xLjAiCisgCistZnJvbSBqc29uc2NoZW1hIGlt cG9ydCB2YWxpZGF0ZQorIGltcG9ydCBhcmdwYXJzZQorIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0 IHN5cworIGltcG9ydCB0ZXh0d3JhcAorK2Zyb20ganNvbnNjaGVtYSBpbXBvcnQgdmFsaWRhdGUK KyB0cnk6CisgICAgIGltcG9ydCBqc29uCisgZXhjZXB0IEltcG9ydEVycm9yOgorQEAgLTM4LDE2 ICszOCwyOCBAQCBleGNlcHQgSW1wb3J0RXJyb3I6CisgSEVSRSA9IG9zLnBhdGguZGlybmFtZShf X2ZpbGVfXykKKyBUT1AgID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4oSEVSRSwgIi4u IikpCisgU0NIRU1BID0gb3MucGF0aC5qb2luKFRPUCwgImV0YyIsICJqc29uIiwgImJlaGF2ZS5q c29uLXNjaGVtYSIpCisrUFlUSE9OX1ZFUlNJT04gPSBzeXMudmVyc2lvbl9pbmZvWzoyXQorIAor IAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjIEZVTkNUSU9OUzoKKyAjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCistZGVmIGpzb25zY2hlbWFfdmFsaWRhdGUoZmlsZW5hbWUsIHNjaGVtYSwgZW5j b2Rpbmc9Tm9uZSk6CisrZGVmIGpzb25fbG9hZHModGV4dCwgZW5jb2Rpbmc9Tm9uZSk6CisrICAg IGt3YXJncyA9IHt9CisrICAgIGlmIGVuY29kaW5nIGFuZCBQWVRIT05fVkVSU0lPTiA8ICgzLCAx KToKKysgICAgICAgICMgLS0gTk9URTogZW5jb2Rpbmcga2V5d29yZCBpcyBkZXByZWNhdGVkIHNp bmNlIHB5dGhvbiAzLjEKKysgICAgICAgIGt3YXJnc1siZW5jb2RpbmciXSA9IGVuY29kaW5nCisr ICAgIHJldHVybiBqc29uLmxvYWRzKHRleHQsICoqa3dhcmdzKQorKworK2RlZiBqc29uX2xvYWQo ZmlsZW5hbWUsIGVuY29kaW5nPU5vbmUpOgorICAgICBmID0gb3BlbihmaWxlbmFtZSwgInIiKQor ICAgICBjb250ZW50cyA9IGYucmVhZCgpCisgICAgIGYuY2xvc2UoKQorLSAgICBkYXRhID0ganNv bi5sb2Fkcyhjb250ZW50cywgZW5jb2Rpbmc9ZW5jb2RpbmcpCisrICAgIGRhdGEgPSBqc29uX2xv YWRzKGNvbnRlbnRzLCBlbmNvZGluZz1lbmNvZGluZykKKysgICAgcmV0dXJuIGRhdGEKKysKKytk ZWYganNvbnNjaGVtYV92YWxpZGF0ZShmaWxlbmFtZSwgc2NoZW1hLCBlbmNvZGluZz1Ob25lKToK KysgICAgZGF0YSA9IGpzb25fbG9hZChmaWxlbmFtZSwgZW5jb2Rpbmc9ZW5jb2RpbmcpCisgICAg IHJldHVybiB2YWxpZGF0ZShkYXRhLCBzY2hlbWEpCisgCisgCitAQCAtODksMTAgKzEwMSw3IEBA IGRlZiBtYWluKGFyZ3M9Tm9uZSk6CisgICAgICAgICBwYXJzZXIuZXJyb3IoIlNDSEVNQSBub3Qg Zm91bmQ6ICVzIiAlIG9wdGlvbnMuc2NoZW1hKQorIAorICAgICB0cnk6CistICAgICAgICBmID0g b3BlbihvcHRpb25zLnNjaGVtYSwgInIiKQorLSAgICAgICAgY29udGVudHMgPSBmLnJlYWQoKQor LSAgICAgICAgZi5jbG9zZSgpCistICAgICAgICBzY2hlbWEgPSBqc29uLmxvYWRzKGNvbnRlbnRz LCBlbmNvZGluZz1vcHRpb25zLmVuY29kaW5nKQorKyAgICAgICAgc2NoZW1hID0ganNvbl9sb2Fk KG9wdGlvbnMuc2NoZW1hLCBlbmNvZGluZz1vcHRpb25zLmVuY29kaW5nKQorICAgICBleGNlcHQg RXhjZXB0aW9uIGFzIGU6CisgICAgICAgICBtc2cgPSAiRVJST1I6ICVzOiAlcyAod2hpbGUgbG9h ZGluZyBzY2hlbWEpIiAlIChlLl9fY2xhc3NfXy5fX25hbWVfXywgZSkKKyAgICAgICAgIHN5cy5l eGl0KG1zZykKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9u L3B5dGhvbjMtYmVoYXZlLzAxMDgtRklYLVB5dGhvbjItcHJvYmxlbXMtaW4tdmlydHVhbGVudnMt dy1iZWhhdmU0Y21kMC1zdC5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0 aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDgtRklYLVB5dGhvbjItcHJvYmxlbXMtaW4tdmlydHVhbGVu dnMtdy1iZWhhdmU0Y21kMC1zdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjYxNWQxMGJkNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMt ZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMDgtRklYLVB5dGhvbjItcHJvYmxlbXMt aW4tdmlydHVhbGVudnMtdy1iZWhhdmU0Y21kMC1zdC5wYXRjaApAQCAtMCwwICsxLDE4IEBACitG cm9tIDk2MWU0ZjkzMjU5YTBjMTE3NmE1M2EzNGQ4ZThkZTU5MmMwM2RiNTUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KK0RhdGU6IFNhdCwgOSBKYW4gMjAyMSAyMTo1MzozMiArMDEwMAorU3ViamVjdDogW1BB VENIXSBGSVg6IFB5dGhvbjIgcHJvYmxlbXMgaW4gdmlydHVhbGVudnMgdy8gYmVoYXZlNGNtZDAg c3RlcHMuCisKKy0tLQorIGJpbi9iZWhhdmUgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKykKKworZGlmZiAtLWdpdCBhL2Jpbi9iZWhhdmUgYi9iaW4vYmVoYXZlCitpbmRleCA5 ZWJiNTg0Li4wZjM3ZGVjIDEwMDc1NQorLS0tIGEvYmluL2JlaGF2ZQorKysrIGIvYmluL2JlaGF2 ZQorQEAgLTEsMyArMSw0IEBACisrIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisgIyEvdXNyL2Jpbi9l bnYgcHl0aG9uMworICMgLSotIGNvZGluZzogdXRmLTggLSotCisgCmRpZmYgLS1naXQgYS9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTA5LUZJWC1B Y3RpdmUtdGFnLWxvZ2ljLnBhdGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRo b24vcHl0aG9uMy1iZWhhdmUvMDEwOS1GSVgtQWN0aXZlLXRhZy1sb2dpYy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmQ0NWFiYTNkNAotLS0gL2Rldi9udWxsCisr KyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAx MDktRklYLUFjdGl2ZS10YWctbG9naWMucGF0Y2gKQEAgLTAsMCArMSw4NzUgQEAKK0Zyb20gMmMz OGE4Nzg3NDA5ZGRiNTBmZjllZTkzMDA2ZDVlMzBhNDAxMTBkZSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogU2F0LCA5IEphbiAyMDIxIDIyOjA0OjE4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJ WDogQWN0aXZlLXRhZyBsb2dpYworCitGaXggYWN0aXZlLXRhZyBjb21wdXRhdGlvbiBsb2dpYyBp ZiBtdWx0aXBsZSBhY3RpdmUtdGFncyBleGlzdAordGhhdCB1c2UgdGhlIHNhbWUgY2F0ZWdvcnku IEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1c2UKK3Bvc2l0aXZlICh1c2Uud2l0aF94eHgpIGFuZCBu ZWdhdGl2ZSAobm90LndpdGhfeHh4KSB0YWdzCitvbiB0aGUgc2FtZSBtb2RlbCBlbGVtZW50IChG ZWF0dXJlLCBTY2VuYXJpbywgLi4uKS4KKy0tLQorIGJlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJh aW50LnB5ICAgICB8ICAxMiArLQorIGJlaGF2ZS90YWdfbWF0Y2hlci5weSAgICAgICAgICAgICAg ICB8ICA4MiArKysrLQorIGZlYXR1cmVzL3RhZ3MuYWN0aXZlX3RhZ3MuZmVhdHVyZSAgICB8ICAy MiArLQorIHRlc3RzL2Z1bmN0aW9uYWwvdGVzdF9hY3RpdmVfdGFncy5weSB8IDUyOSArKysrKysr KysrKysrKysrKysrKysrKysrKysKKyB0ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkgICAg ICAgfCAgNDUgKy0tCisgNSBmaWxlcyBjaGFuZ2VkLCA2MjQgaW5zZXJ0aW9ucygrKSwgNjYgZGVs ZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2Z1bmN0aW9uYWwvdGVzdF9hY3Rp dmVfdGFncy5weQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2FwaS9ydW50aW1lX2NvbnN0cmFpbnQu cHkgYi9iZWhhdmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5weQoraW5kZXggMzEwZTUyOS4uZTVh MzZhMCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9hcGkvcnVudGltZV9jb25zdHJhaW50LnB5CisrKysg Yi9iZWhhdmUvYXBpL3J1bnRpbWVfY29uc3RyYWludC5weQorQEAgLTcsNiArNyw4IEBAIFNpbXBs aWZpZXMgdG8gc3BlY2lmeSBydW50aW1lIGNvbnN0cmFpbnRzIGluCisgIiIiCisgCisgZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKytpbXBvcnQgc2l4CisraW1wb3J0IHN5 cworIGZyb20gYmVoYXZlLmV4Y2VwdGlvbiBpbXBvcnQgQ29uc3RyYWludEVycm9yCisgCisgCitA QCAtMTksMTEgKzIxLDEwIEBAIGRlZiByZXF1aXJlX21pbl9weXRob25fdmVyc2lvbihtaW5pbWFs X3ZlcnNpb24pOgorICAgICA6cGFyYW0gbWluaW1hbF92ZXJzaW9uOiBNaW5pbXVtIHZlcnNpb24g KGFzIHN0cmluZywgdHVwbGUpCisgICAgIDpyYWlzZXM6IGJlaGF2ZS5leGNlcHRpb24uQ29uc3Ry YWludEVycm9yCisgICAgICIiIgorLSAgICBpbXBvcnQgc2l4CistICAgIGltcG9ydCBzeXMKKyAg ICAgcHl0aG9uX3ZlcnNpb24gPSBzeXMudmVyc2lvbl9pbmZvCisgICAgIGlmIGlzaW5zdGFuY2Uo bWluaW1hbF92ZXJzaW9uLCBzaXguc3RyaW5nX3R5cGVzKToKKy0gICAgICAgIHB5dGhvbl92ZXJz aW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCisrICAgICAgICBweXRob25fdmVy c2lvbiA9IGZsb2F0KCIlcy4lcyIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXSkKKysgICAgICAgIG1p bmltYWxfdmVyc2lvbiA9IGZsb2F0KG1pbmltYWxfdmVyc2lvbikKKyAgICAgZWxpZiBub3QgaXNp bnN0YW5jZShtaW5pbWFsX3ZlcnNpb24sIHR1cGxlKToKKyAgICAgICAgIHJhaXNlIFR5cGVFcnJv cigic3RyaW5nIG9yIHR1cGxlICh3YXM6ICVzKSIgJSB0eXBlKG1pbmltYWxfdmVyc2lvbikpCisg CitAQCAtNDAsNiArNDEsOSBAQCBkZWYgcmVxdWlyZV9taW5fYmVoYXZlX3ZlcnNpb24obWluaW1h bF92ZXJzaW9uKToKKyAgICAgIiIiCisgICAgICMgLS0gU0lNUExJU1RJQyBJTVBMRU1FTlRBVElP TjoKKyAgICAgZnJvbSBiZWhhdmUudmVyc2lvbiBpbXBvcnQgVkVSU0lPTiBhcyBiZWhhdmVfdmVy c2lvbgorLSAgICBpZiBiZWhhdmVfdmVyc2lvbiA8IG1pbmltYWxfdmVyc2lvbjoKKysgICAgYmVo YXZlX3ZlcnNpb24yID0gYmVoYXZlX3ZlcnNpb24uc3BsaXQoIi4iKQorKyAgICBtaW5pbWFsX3Zl cnNpb24yID0gbWluaW1hbF92ZXJzaW9uLnNwbGl0KCIuIikKKysgICAgaWYgYmVoYXZlX3ZlcnNp b24yIDwgbWluaW1hbF92ZXJzaW9uMjoKKysgICAgICAgICMgLS0gVVNFOiBUdXBsZSBjb21wYXJp c29uIGFzIHZlcnNpb24gY29tcGFyaXNvbi4KKyAgICAgICAgIHJhaXNlIENvbnN0cmFpbnRFcnJv cigiYmVoYXZlID49ICVzIGV4cGVjdGVkICh3YXM6ICVzKSIgJSBcCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKG1pbmltYWxfdmVyc2lvbiwgYmVoYXZlX3ZlcnNpb24pKQorZGlmZiAt LWdpdCBhL2JlaGF2ZS90YWdfbWF0Y2hlci5weSBiL2JlaGF2ZS90YWdfbWF0Y2hlci5weQoraW5k ZXggNWY5ZGNlMC4uZTJiMWU4MiAxMDA2NDQKKy0tLSBhL2JlaGF2ZS90YWdfbWF0Y2hlci5weQor KysrIGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CitAQCAtMSw3ICsxLDcgQEAKKyAjIC0qLSBjb2Rp bmc6IFVURi04IC0qLQorICIiIgorLUNvbnRhaW5zIGNsYXNzZXMgYW5kIGZ1bmN0aW9uYWxpdHkg dG8gcHJvdmlkZSBhIHNraXAtaWYgbG9naWMgYmFzZWQgb24gdGFncworLWluIGZlYXR1cmUgZmls ZXMuCisrQ29udGFpbnMgY2xhc3NlcyBhbmQgZnVuY3Rpb25hbGl0eSB0byBwcm92aWRlIHRoZSBh Y3RpdmUtdGFnIG1lY2hhbmlzbS4KKytBY3RpdmUtdGFncyBwcm92aWRlIGEgc2tpcC1pZiBsb2dp YyBiYXNlZCBvbiB0YWdzIGluIGZlYXR1cmUgZmlsZXMuCisgIiIiCisgCisgZnJvbSBfX2Z1dHVy ZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKK0BAIC0xMCw2ICsxMCwxMSBAQCBpbXBvcnQgb3Bl cmF0b3IKKyBpbXBvcnQgc2l4CisgCisgCisrZGVmIGJvb2xfdG9fc3RyaW5nKHZhbHVlKToKKysg ICAgIiIiQ29udmVydHMgYSBCb29sZWFuIHZhbHVlIGludG8gaXRzIG5vcm1hbGl6ZWQgc3RyaW5n IHJlcHJlc2VudGF0aW9uLiIiIgorKyAgICByZXR1cm4gc3RyKGJvb2wodmFsdWUpKS5sb3dlcigp CisrCisrCisgY2xhc3MgVGFnTWF0Y2hlcihvYmplY3QpOgorICAgICAiIiJBYnN0cmFjdCBiYXNl IGNsYXNzIHRoYXQgZGVmaW5lcyB0aGUgVGFnTWF0Y2hlciBwcm90b2NvbC4iIiIKKyAKK0BAIC0z NiwxMiArNDEsMTMgQEAgY2xhc3MgVGFnTWF0Y2hlcihvYmplY3QpOgorIGNsYXNzIEFjdGl2ZVRh Z01hdGNoZXIoVGFnTWF0Y2hlcik6CisgICAgICIiIlByb3ZpZGVzIGFuIGFjdGl2ZSB0YWcgbWF0 Y2hlciBmb3IgbWFueSBjYXRlZ29yaWVzLgorIAorLSAgICBUQUcgU0NIRU1BOgorKyAgICBUQUcg U0NIRU1BIDEgKHByZWZlcnJlZCk6CisgICAgICAgKiB1c2Uud2l0aF97Y2F0ZWdvcnl9PXt2YWx1 ZX0KKyAgICAgICAqIG5vdC53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorKworKyAgICBUQUcgU0NI RU1BIDI6CisgICAgICAgKiBhY3RpdmUud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKyAgICAgICAq IG5vdF9hY3RpdmUud2l0aF97Y2F0ZWdvcnl9PXt2YWx1ZX0KKy0gICAgICAqIG9ubHkud2l0aF97 Y2F0ZWdvcnl9PXt2YWx1ZX0gICAgICAgIChOT1RFOiBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0 eSkKKyAKKyAgICAgVEFHIExPR0lDCisgICAgIC0tLS0tLS0tLS0KK0BAIC01Miw3ICs1OCw3IEBA IGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6CisgICAgICAgICBhY3RpdmVfZ3Jv dXAuZW5hYmxlZCA6PSBlbmFibGVkKGdyb3VwLnRhZzEpIG9yIGVuYWJsZWQoZ3JvdXAudGFnMikg b3IgLi4uCisgICAgICAgICBhY3RpdmVfdGFncy5lbmFibGVkICA6PSBlbmFibGVkKGdyb3VwMSkg YW5kIGVuYWJsZWQoZ3JvdXAyKSBhbmQgLi4uCisgCistICAgIEFsbCBhY3RpdmUtdGFnIGdyb3Vw cyBtdXN0IGJlIHR1cm5lZCAib24iLgorKyAgICBBbGwgYWN0aXZlLXRhZyBncm91cHMgbXVzdCBi ZSB0dXJuZWQgIm9uIiAoZW5hYmxlZCkuCisgICAgIE90aGVyd2lzZSwgdGhlIG1vZGVsIGVsZW1l bnQgc2hvdWxkIGJlIGV4Y2x1ZGVkLgorIAorICAgICBDT05DRVBUOiBWYWx1ZVByb3ZpZGVyCitA QCAtODEsMTIgKzg3LDEyIEBAIGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFnTWF0Y2hlcik6Cisg ICAgICAgICAjIC0tIEZJTEU6IGZlYXR1cmVzL2FsaWNlLmZlYXR1cmUKKyAgICAgICAgIEZlYXR1 cmU6CisgCistICAgICAgICAgIEBhY3RpdmUud2l0aF9vcz13aW4zMgorKyAgICAgICAgICBAdXNl LndpdGhfb3M9d2luMzIKKyAgICAgICAgICAgU2NlbmFyaW86IEFsaWNlIChSdW4gb25seSBvbiBX aW5kb3dzKQorICAgICAgICAgICAgIEdpdmVuIEkgZG8gc29tZXRoaW5nCisgICAgICAgICAgICAg Li4uCisgCistICAgICAgICAgIEBub3RfYWN0aXZlLndpdGhfYnJvd3Nlcj1jaHJvbWUKKysgICAg ICAgICAgQG5vdC53aXRoX2Jyb3dzZXI9Y2hyb21lCisgICAgICAgICAgIFNjZW5hcmlvOiBCb2Ig KEV4Y2x1ZGVkIHdpdGggV2ViLUJyb3dzZXIgQ2hyb21lKQorICAgICAgICAgICAgIEdpdmVuIEkg ZG8gc29tZXRoaW5nIGVsc2UKKyAgICAgICAgICAgICAuLi4KK0BAIC0xMTYsNyArMTIyLDcgQEAg Y2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAgICAgICAgICAgICAgICAgc2Nl bmFyaW8uc2tpcChleGNsdWRlX3JlYXNvbikgICAjPCBMQVRFLUVYQ0xVREUgZnJvbSBydW4tc2V0 LgorICAgICAiIiIKKyAgICAgdmFsdWVfc2VwYXJhdG9yID0gIj0iCistICAgIHRhZ19wcmVmaXhl cyA9IFsiYWN0aXZlIiwgIm5vdF9hY3RpdmUiLCAidXNlIiwgIm5vdCIsICJvbmx5Il0KKysgICAg dGFnX3ByZWZpeGVzID0gWyJ1c2UiLCAibm90IiwgImFjdGl2ZSIsICJub3RfYWN0aXZlIiwgIm9u bHkiXQorICAgICB0YWdfc2NoZW1hID0gciJeKD9QPHByZWZpeD4lcylcLndpdGhfKD9QPGNhdGVn b3J5Plx3KyhcLlx3KykqKSVzKD9QPHZhbHVlPi4qKSQiCisgICAgIGlnbm9yZV91bmtub3duX2Nh dGVnb3JpZXMgPSBUcnVlCisgICAgIHVzZV9leGNsdWRlX3JlYXNvbiA9IEZhbHNlCitAQCAtMTYz LDIxICsxNjksNDkgQEAgY2xhc3MgQWN0aXZlVGFnTWF0Y2hlcihUYWdNYXRjaGVyKToKKyAKKyAg ICAgZGVmIGlzX3RhZ19ncm91cF9lbmFibGVkKHNlbGYsIGdyb3VwX2NhdGVnb3J5LCBncm91cF90 YWdfcGFpcnMpOgorICAgICAgICAgIiIiUHJvdmlkZXMgYm9vbGVhbiBsb2dpYyB0byBkZXRlcm1p bmUgaWYgYWxsIGFjdGl2ZS10YWdzCistICAgICAgICB3aGljaCB1c2UgdGhlIHNhbWUgY2F0ZWdv cnkgcmVzdWx0IGluIGEgZW5hYmxlZCB2YWx1ZS4KKy0KKy0gICAgICAgIFVzZSBMT0dJQ0FMLU9S IGV4cHJlc3Npb24gZm9yIGFjdGl2ZS10YWdzIHdpdGggc2FtZSBjYXRlZ29yeTo6CistCistICAg ICAgICAgICAgY2F0ZWdvcnlfdGFnX2dyb3VwLmVuYWJsZWQgOj0gZW5hYmxlZCh0YWcxKSBvciBl bmFibGVkKHRhZzIpIG9yIC4uLgorKyAgICAgICAgd2hpY2ggdXNlIHRoZSBzYW1lIGNhdGVnb3J5 IHJlc3VsdCBpbiBhbiBlbmFibGVkIHZhbHVlLgorIAorICAgICAgICAgLi4gY29kZS1ibG9jazo6 IGdoZXJraW4KKyAKKyAgICAgICAgICAgICBAdXNlLndpdGhfeHh4PWFsaWNlCisgICAgICAgICAg ICAgQHVzZS53aXRoX3h4eD1ib2IKKyAgICAgICAgICAgICBAbm90LndpdGhfeHh4PWNoYXJseQor KyAgICAgICAgICAgIEBub3Qud2l0aF94eHg9ZG9ybworICAgICAgICAgICAgIFNjZW5hcmlvOgor ICAgICAgICAgICAgICAgICBHaXZlbiBhIHN0ZXAgcGFzc2VzCisgICAgICAgICAgICAgICAgIC4u LgorIAorKyAgICAgICAgVXNlIExPR0lDQUwgZXhwcmVzc2lvbiBmb3IgYWN0aXZlLXRhZ3Mgd2l0 aCBzYW1lIGNhdGVnb3J5OjoKKysKKysgICAgICAgICAgICBjYXRlZ29yeV90YWdfZ3JvdXAuZW5h YmxlZCA6PSBwb3NpdGl2ZS10YWctZXhwcmVzc2lvbiBhbmQgbm90IG5lZ2F0aXZlLXRhZy1leHBy ZXNzaW9uCisrICAgICAgICAgICAgICBwb3NpdGl2ZS10YWctZXhwcmVzc2lvbiAgOj0gZW5hYmxl ZCh0YWcxKSBvciBlbmFibGVkKHRhZzIpIG9yIC4uLgorKyAgICAgICAgICAgICAgbmVnYXRpdmUt dGFnLWV4cHJlc3Npb24gIDo9IGVuYWJsZWQodGFnMykgb3IgZW5hYmxlZCh0YWc0KSBvciAuLi4K KysgICAgICAgICAgICAgICB0YWcxLCB0YWcyIGFyZSBwb3NpdGl2ZS10YWdzLCBsaWtlIEB1c2Uu d2l0aF9jYXRlZ29yeT12YWx1ZQorKyAgICAgICAgICAgICAgIHRhZzMsIHRhZzQgYXJlIG5lZ2F0 aXZlLXRhZ3MsIGxpa2UgQG5vdC53aXRoX2NhdGVnb3J5PXZhbHVlCisrCisrICAgICAgICAgICAg IHh4eCAgIHwgT25seSB1c2UgcGFydHM6ICh4eHggPT0gImFsaWNlIikgb3IgKHh4eCA9PSAiYm9i IikKKysgICAgICAgICAgICAtLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0KKysgICAgICAgICAg ICBhbGljZSAgfCB0cnVlCisrICAgICAgICAgICAgYm9iICAgIHwgdHJ1ZQorKyAgICAgICAgICAg IG90aGVyICB8IGZhbHNlCisrCisrICAgICAgICAgICAgIHh4eCAgIHwgT25seSBub3QgcGFydHM6 CisrICAgICAgICAgICAgICAgICAgIHwgKG5vdCB4eHggPT0gImNoYXJseSIpIGFuZCAobm90IHh4 eCA9PSAiZG9ybyIpCisrICAgICAgICAgICAgICAgICAgIHwgPSBub3QoKHh4eCA9PSAiY2hhcmx5 Iikgb3IgKHh4eCA9PSAiZG9ybyIpKQorKyAgICAgICAgICAgIC0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLQorKyAgICAgICAgICAgIGNoYXJseSB8IGZhbHNlCisrICAgICAgICAgICAgZG9ybyAg IHwgZmFsc2UKKysgICAgICAgICAgICBvdGhlciAgfCB0cnVlCisrCisrICAgICAgICAgICAgIHh4 eCAgIHwgVXNlIGFuZCBub3QgcGFydHM6CisrICAgICAgICAgICAgICAgICAgIHwgKCh4eHggPT0g ImFsaWNlIikgb3IgKHh4eCA9PSAiYm9iIikpIGFuZCBub3QoKHh4eCA9PSAiY2hhcmx5Iikgb3Ig KHh4eCA9PSAiZG9ybyIpKQorKyAgICAgICAgICAgIC0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LQorKyAgICAgICAgICAgIGFsaWNlICB8IHRydWUKKysgICAgICAgICAgICBib2IgICAgfCB0cnVl CisrICAgICAgICAgICAgY2hhcmx5IHwgZmFsc2UKKysgICAgICAgICAgICBkb3JvICAgfCBmYWxz ZQorKyAgICAgICAgICAgIG90aGVyICB8IGZhbHNlCisrCisgICAgICAgICA6cGFyYW0gZ3JvdXBf Y2F0ZWdvcnk6ICAgICAgQ2F0ZWdvcnkgZm9yIHRoaXMgdGFnLWdyb3VwIChhcyBzdHJpbmcpLgor ICAgICAgICAgOnBhcmFtIGNhdGVnb3J5X3RhZ19ncm91cDogIExpc3Qgb2YgYWN0aXZlLXRhZyBt YXRjaC1wYWlycy4KKyAgICAgICAgIDpyZXR1cm46IFRydWUsIGlmIHRhZy1ncm91cCBpcyBlbmFi bGVkLgorQEAgLTE5MSwyMCArMjI1LDI4IEBAIGNsYXNzIEFjdGl2ZVRhZ01hdGNoZXIoVGFnTWF0 Y2hlcik6CisgICAgICAgICAgICAgIyAtLSBDQVNFOiBVbmtub3duIGNhdGVnb3J5LCBpZ25vcmUg aXQuCisgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAKKy0gICAgICAgIHRhZ3NfZW5hYmxlZCA9 IFtdCisrICAgICAgICBwb3NpdGl2ZV90YWdzX21hdGNoZWQgPSBbXQorKyAgICAgICAgbmVnYXRp dmVfdGFnc19tYXRjaGVkID0gW10KKyAgICAgICAgIGZvciBjYXRlZ29yeV90YWcsIHRhZ19tYXRj aCBpbiBncm91cF90YWdfcGFpcnM6CisgICAgICAgICAgICAgdGFnX3ByZWZpeCA9IHRhZ19tYXRj aC5ncm91cCgicHJlZml4IikKKyAgICAgICAgICAgICBjYXRlZ29yeSA9IHRhZ19tYXRjaC5ncm91 cCgiY2F0ZWdvcnkiKQorICAgICAgICAgICAgIHRhZ192YWx1ZSA9IHRhZ19tYXRjaC5ncm91cCgi dmFsdWUiKQorICAgICAgICAgICAgIGFzc2VydCBjYXRlZ29yeSA9PSBncm91cF9jYXRlZ29yeQor IAorLSAgICAgICAgICAgIGlzX2NhdGVnb3J5X3RhZ19zd2l0Y2hlZF9vbiA9IG9wZXJhdG9yLmVx ICAgICAgICMgZXF1YWxfdG8KKyAgICAgICAgICAgICBpZiBzZWxmLmlzX3RhZ19uZWdhdGVkKHRh Z19wcmVmaXgpOgorLSAgICAgICAgICAgICAgICBpc19jYXRlZ29yeV90YWdfc3dpdGNoZWRfb24g PSBvcGVyYXRvci5uZSAgICMgbm90X2VxdWFsX3RvCistCistICAgICAgICAgICAgdGFnX2VuYWJs ZWQgPSBpc19jYXRlZ29yeV90YWdfc3dpdGNoZWRfb24odGFnX3ZhbHVlLCBjdXJyZW50X3ZhbHVl KQorLSAgICAgICAgICAgIHRhZ3NfZW5hYmxlZC5hcHBlbmQodGFnX2VuYWJsZWQpCistICAgICAg ICByZXR1cm4gYW55KHRhZ3NfZW5hYmxlZCkgICAgIyAtLSBQUk9WSURFUzogTE9HSUNBTC1PUiBl eHByZXNzaW9uCisrICAgICAgICAgICAgICAgICMgLS0gQ0FTRTogQG5vdC53aXRoX0NBVEVHT1JZ PVZBTFVFCisrICAgICAgICAgICAgICAgIHRhZ19tYXRjaGVkID0gKHRhZ192YWx1ZSA9PSBjdXJy ZW50X3ZhbHVlKQorKyAgICAgICAgICAgICAgICBuZWdhdGl2ZV90YWdzX21hdGNoZWQuYXBwZW5k KHRhZ19tYXRjaGVkKQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgICMgLS0g Q0FTRTogQHVzZS53aXRoX0NBVEVHT1JZPVZBTFVFCisrICAgICAgICAgICAgICAgIHRhZ19tYXRj aGVkID0gKHRhZ192YWx1ZSA9PSBjdXJyZW50X3ZhbHVlKQorKyAgICAgICAgICAgICAgICBwb3Np dGl2ZV90YWdzX21hdGNoZWQuYXBwZW5kKHRhZ19tYXRjaGVkKQorKyAgICAgICAgdGFnX2V4cHJl c3Npb24xID0gYW55KHBvc2l0aXZlX3RhZ3NfbWF0Y2hlZCkgICAgIzwgTE9HSUNBTC1PUiBleHBy ZXNzaW9uCisrICAgICAgICB0YWdfZXhwcmVzc2lvbjIgPSBhbnkobmVnYXRpdmVfdGFnc19tYXRj aGVkKSAgICAjPCBMT0dJQ0FMLU9SIGV4cHJlc3Npb24KKysgICAgICAgIGlmIG5vdCBwb3NpdGl2 ZV90YWdzX21hdGNoZWQ6CisrICAgICAgICAgICAgdGFnX2V4cHJlc3Npb24xID0gVHJ1ZQorKyAg ICAgICAgdGFnX2dyb3VwX2VuYWJsZWQgPSBib29sKHRhZ19leHByZXNzaW9uMSBhbmQgbm90IHRh Z19leHByZXNzaW9uMikKKysgICAgICAgIHJldHVybiB0YWdfZ3JvdXBfZW5hYmxlZAorIAorICAg ICBkZWYgc2hvdWxkX2V4Y2x1ZGVfd2l0aChzZWxmLCB0YWdzKToKKyAgICAgICAgIGdyb3VwX2Nh dGVnb3JpZXMgPSBzZWxmLmdyb3VwX2FjdGl2ZV90YWdzX2J5X2NhdGVnb3J5KHRhZ3MpCitkaWZm IC0tZ2l0IGEvZmVhdHVyZXMvdGFncy5hY3RpdmVfdGFncy5mZWF0dXJlIGIvZmVhdHVyZXMvdGFn cy5hY3RpdmVfdGFncy5mZWF0dXJlCitpbmRleCA0YWI1NWMyLi42YWRjYjYwIDEwMDY0NAorLS0t IGEvZmVhdHVyZXMvdGFncy5hY3RpdmVfdGFncy5mZWF0dXJlCisrKysgYi9mZWF0dXJlcy90YWdz LmFjdGl2ZV90YWdzLmZlYXR1cmUKK0BAIC0yNDAsOSArMjQwLDI1IEBAIEZlYXR1cmU6IEFjdGl2 ZSBUYWdzCisgICAgICAgICB8IHRhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgZW5hYmxlZD8gfCBDb21tZW50IHwKKyAgICAgICAgIHwgQHVzZS53aXRoX2Zvbz14eHgg ICBAdXNlLndpdGhfZm9vPW90aGVyICAgfCAgeWVzICAgICB8IEVuYWJsZWQ6IHRhZzEgfAorICAg ICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAgIEBub3Qud2l0aF9mb289b3RoZXIgICB8ICB5ZXMg ICAgIHwgRW5hYmxlZDogdGFnMSwgdGFnMnwKKy0gICAgICAgIHwgQHVzZS53aXRoX2Zvbz14eHgg ICBAbm90LndpdGhfZm9vPXh4eCAgICAgfCAgeWVzICAgICB8IEVuYWJsZWQ6IHRhZzEgKEJBRC1T UEVDKSB8CistICAgICAgICB8IEB1c2Uud2l0aF9mb289b3RoZXIgQG5vdC53aXRoX2Zvbz14eHgg ICAgIHwgIG5vICAgICAgfCBFbmFibGVkOiBub25lIHwKKy0gICAgICAgIHwgQG5vdC53aXRoX2Zv bz1vdGhlciBAbm90LndpdGhfZm9vPXh4eCAgICAgfCAgeWVzICAgICB8IEVuYWJsZWQ6IHRhZzEg fAorKyAgICAgICAgfCBAdXNlLndpdGhfZm9vPW90aGVyIEBub3Qud2l0aF9mb289eHh4ICAgICB8 ICBubyAgICAgIHwgRGlzYWJsZWQ6IG5vbmUgfAorKyAgICAgICAgfCBAbm90LndpdGhfZm9vPW90 aGVyIEBub3Qud2l0aF9mb289eHh4ICAgICB8ICBubyAgICAgIHwgRGlzYWJsZWQ6IHRhZzEgfAor KyAgICAgICAgfCBAdXNlLndpdGhfZm9vPXh4eCAgIEBub3Qud2l0aF9mb289eHh4ICAgICB8ICBu byAgICAgIHwgRGlzYWJsZWQ6IHRhZzEgKEJBRC1TUEVDLCBDT05GTElDVFMpIHwKKysKKysKKysg IFNjZW5hcmlvOiBUYWcgbG9naWMgd2l0aCB0aHJlZSBhY3RpdmUgdGFncyBvZiBzYW1lIGNhdGVn b3J5CisrICAgICAgR2l2ZW4gSSBzZXR1cCB0aGUgY3VycmVudCB2YWx1ZXMgZm9yIGFjdGl2ZSB0 YWdzIHdpdGg6CisrICAgICAgICB8IGNhdGVnb3J5IHwgdmFsdWUgfAorKyAgICAgICAgfCBmb28g ICAgICB8IHh4eCAgIHwKKysgICAgICBUaGVuIHRoZSBmb2xsb3dpbmcgYWN0aXZlIHRhZyBjb21i aW5hdGlvbnMgYXJlIGVuYWJsZWQ6CisrICAgICAgICB8IHRhZ3MgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZW5hYmxlZD8gfCBDb21tZW50 IHwKKysgICAgICAgIHwgQHVzZS53aXRoX2Zvbz14eHggIEB1c2Uud2l0aF9mb289b3RoZXIgQHVz ZS53aXRoX2Zvbz1vdGhlcjJ8ICB5ZXMgICAgIHwgRW5hYmxlZDogdGFnMSAgfAorKyAgICAgICAg fCBAdXNlLndpdGhfZm9vPXh4eCAgQHVzZS53aXRoX2Zvbz1vdGhlciBAbm90LndpdGhfZm9vPW90 aGVyMnwgIHllcyAgICAgfCBFbmFibGVkOiB0YWcxICB8CisrICAgICAgICB8IEB1c2Uud2l0aF9m b289eHh4ICBAbm90LndpdGhfZm9vPW90aGVyIEB1c2Uud2l0aF9mb289b3RoZXIyfCAgeWVzICAg ICB8IEVuYWJsZWQ6IHRhZzEgIHwKKysgICAgICAgIHwgQHVzZS53aXRoX2Zvbz14eHggIEBub3Qu d2l0aF9mb289b3RoZXIgQG5vdC53aXRoX2Zvbz1vdGhlcjJ8ICB5ZXMgICAgIHwgRW5hYmxlZDog dGFnMSAgfAorKyAgICAgICAgfCBAbm90LndpdGhfZm9vPXh4eCAgQHVzZS53aXRoX2Zvbz1vdGhl ciBAdXNlLndpdGhfZm9vPW90aGVyMnwgIG5vICAgICAgfCBEaXNhYmxlZDogdGFnMSB8CisrICAg ICAgICB8IEBub3Qud2l0aF9mb289eHh4ICBAdXNlLndpdGhfZm9vPW90aGVyIEBub3Qud2l0aF9m b289b3RoZXIyfCAgbm8gICAgICB8IERpc2FibGVkOiB0YWcxIHwKKysgICAgICAgIHwgQG5vdC53 aXRoX2Zvbz14eHggIEBub3Qud2l0aF9mb289b3RoZXIgQHVzZS53aXRoX2Zvbz1vdGhlcjJ8ICBu byAgICAgIHwgRGlzYWJsZWQ6IHRhZzEgfAorKyAgICAgICAgfCBAbm90LndpdGhfZm9vPXh4eCAg QG5vdC53aXRoX2Zvbz1vdGhlciBAbm90LndpdGhfZm9vPW90aGVyMnwgIG5vICAgICAgfCBEaXNh YmxlZDogdGFnMSB8CisgCisgCisgICAgIFNjZW5hcmlvOiBUYWcgbG9naWMgd2l0aCB1bmtub3du IGNhdGVnb3JpZXMgKGNhc2U6IGlnbm9yZWQpCitkaWZmIC0tZ2l0IGEvdGVzdHMvZnVuY3Rpb25h bC90ZXN0X2FjdGl2ZV90YWdzLnB5IGIvdGVzdHMvZnVuY3Rpb25hbC90ZXN0X2FjdGl2ZV90YWdz LnB5CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZmQ2MTM4ZgorLS0tIC9k ZXYvbnVsbAorKysrIGIvdGVzdHMvZnVuY3Rpb25hbC90ZXN0X2FjdGl2ZV90YWdzLnB5CitAQCAt MCwwICsxLDUyOSBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIiIiCisrRnVuY3Rpb25h bHMgdGVzdHMgZm9yIGFjdGl2ZSB0YWctbWF0Y2hlciAobW9kOmBiZWhhdmUudGFnX21hdGNoZXJg KS4KKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJp bnRfZnVuY3Rpb24KKytpbXBvcnQgcHl0ZXN0CisrZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1w b3J0IEFjdGl2ZVRhZ01hdGNoZXIKKysKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIyBURVNU IERBVEE6CisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyMgVkFMVUVfUFJPVklERVIgPSB7Cisr IyAgICAgImZvbyI6ICJhbGljZSIsCisrIyAgICAgImJhciI6ICJCT0IiLAorKyMgfQorKworKyMg PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKysjIFBZVEVTVCBGSVhUVVJFUzoKKysjID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CisrIyBAcHl0ZXN0LmZpeHR1cmUKKysjIGRlZiBhY3RpdmVfdGFnX21hdGNoZXIo KToKKysjICAgICB0YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoVkFMVUVfUFJPVklERVIp CisrIyAgICAgcmV0dXJuIHRhZ19tYXRjaGVyCisrCisrCisrIyA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQorKyMgVEVTVCBTVUlURToKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrY2xhc3MgVGVzdEFj dGl2YXRlVGFncyhvYmplY3QpOgorKyAgICBWQUxVRV9QUk9WSURFUiA9IHsKKysgICAgICAgICJm b28iOiAiRnJhbmsiLAorKyAgICAgICAgImJhciI6ICJCb2IiLAorKyAgICAgICAgIyAiT1RIRVIi OiAiVkFMVUUiLAorKyAgICB9CisrCisrICAgIGRlZiBjaGVja19zaG91bGRfcnVuX3dpdGhfYWN0 aXZlX3RhZ3Moc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgIyAtLSB0YWdf bWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFncykucmVzdWx0IDo9IGV4cGVjdGVkCisrICAgICAg ICBjYXNlICs9ICIgKHRhZ3M6IHt0YWdzfSkiCisrICAgICAgICB0YWdfbWF0Y2hlciA9IEFjdGl2 ZVRhZ01hdGNoZXIoc2VsZi5WQUxVRV9QUk9WSURFUikKKysgICAgICAgIGFjdHVhbF9yZXN1bHQx ID0gdGFnX21hdGNoZXIuc2hvdWxkX3J1bl93aXRoKHRhZ3MpCisrICAgICAgICBhY3R1YWxfcmVz dWx0MiA9IHRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKysgICAgICAgIGFz c2VydCBleHBlY3RlZCA9PSBhY3R1YWxfcmVzdWx0MSwgY2FzZS5mb3JtYXQodGFncz10YWdzKQor KyAgICAgICAgYXNzZXJ0IChub3QgZXhwZWN0ZWQpID09IGFjdHVhbF9yZXN1bHQyCisrCisrICAg IEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAg ICAgICAoInVzZS53aXRoX2Zvbz1WQUxVRSBtYXRjaGVzIiwgICAgIFRydWUsIFsidXNlLndpdGhf Zm9vPUZyYW5rIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF9mb289VkFMVUUgbWlzbWF0Y2hlcyIs IEZhbHNlLCBbInVzZS53aXRoX2Zvbz1PVEhFUiJdKSwKKysgICAgICAgICgibm90LndpdGhfZm9v PVZBTFVFIG1hdGNoZXMiLCAgICBGYWxzZSwgWyJub3Qud2l0aF9mb289RnJhbmsiXSksCisrICAg ICAgICAoIm5vdC53aXRoX2Zvbz1WQUxVRSBtaXNtYXRjaGVzIiwgIFRydWUsIFsibm90LndpdGhf Zm9vPU9USEVSIl0pLAorKyAgICAgICAgKCJOT19UQUdTIiwgVHJ1ZSwgW10pLAorKyAgICBdKQor KyAgICBkZWYgdGVzdF9vbmVfdGFnX2Zvcl9jYXRlZ29yeTEoc2VsZiwgY2FzZSwgZXhwZWN0ZWQs IHRhZ3MpOgorKyAgICAgICAgc2VsZi5jaGVja19zaG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3Mo Y2FzZSwgZXhwZWN0ZWQsIHRhZ3MpCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgi Y2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICAgICAoInVzZS53aXRoX2Jhcj1Cb2IgbWF0 Y2hlcyIsICAgICAgIFRydWUsIFsidXNlLndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgidXNl LndpdGhfYmFyPVZBTFVFIG1pc21hdGNoZXMiLCBGYWxzZSwgWyJ1c2Uud2l0aF9iYXI9T1RIRVIi XSksCisrICAgICAgICAoIm5vdC53aXRoX2Jhcj1WQUxVRSBtYXRjaGVzIiwgICAgRmFsc2UsIFsi bm90LndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgibm90LndpdGhfYmFyPVZBTFVFIG1pc21h dGNoZXMiLCAgVHJ1ZSwgWyJub3Qud2l0aF9iYXI9T1RIRVIiXSksCisrICAgIF0pCisrICAgIGRl ZiB0ZXN0X29uZV90YWdfZm9yX2NhdGVnb3J5MihzZWxmLCBjYXNlLCBleHBlY3RlZCwgdGFncyk6 CisrICAgICAgICBzZWxmLmNoZWNrX3Nob3VsZF9ydW5fd2l0aF9hY3RpdmVfdGFncyhjYXNlLCBl eHBlY3RlZCwgdGFncykKKysKKysgICAgIyBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImNhc2Us IGV4cGVjdGVkLCB0YWdzIiwgWworKyAgICAjICAgICAoInVzZS53aXRoX09USEVSPVZBTFVFIG1h dGNoZXMiLCAgICAgVHJ1ZSwgWyJ1c2Uud2l0aF9PVEhFUj1WQUxVRSJdKSwKKysgICAgIyAgICAg KCJ1c2Uud2l0aF9PVEhFUj1WQUxVRSBtaXNtYXRjaGVzIiwgRmFsc2UsIFsidXNlLndpdGhfT1RI RVI9T1RIRVIiXSksCisrICAgICMgICAgICgibm90LndpdGhfT1RIRVI9VkFMVUUgbWF0Y2hlcyIs ICAgIEZhbHNlLCBbIm5vdC53aXRoX09USEVSPVZBTFVFIl0pLAorKyAgICAjICAgICAoIm5vdC53 aXRoX09USEVSPVZBTFVFIG1pc21hdGNoZXMiLCAgVHJ1ZSwgWyJub3Qud2l0aF9PVEhFUj1PVEhF UiJdKSwKKysgICAgIyBdKQorKyAgICAjIGRlZiB0ZXN0X29uZV90YWdfZm9yX290aGVyX2NhdGVn b3J5KHNlbGYsIGNhc2UsIGV4cGVjdGVkLCB0YWdzKToKKysgICAgIyAgICAgc2VsZi5jaGVja19z aG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpCisrCisrICAg IEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAg ICAgICAoIjJ4IHVzZS53aXRoX2Zvbz1WQUxVRTogb25lIG1hdGNoZXMiLCBUcnVlLAorKyAgICAg ICAgIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRoX2Zvbz1PVEhFUiJdKSwKKysgICAg ICAgICgiMnggbm90LndpdGhfZm9vPVZBTFVFOiBvbmUgbWF0Y2hlcyIsIEZhbHNlLAorKyAgICAg ICAgIFsibm90LndpdGhfZm9vPUZyYW5rIiwgIm5vdC53aXRoX2Zvbz1PVEhFUiJdKSwKKysgICAg ICAgICgiMXggdXNlLi9ub3Qud2l0aF9mb289VkFMVUU6IHVzZS1tYXRjaGVzIiwgVHJ1ZSwKKysg ICAgICAgICBbInVzZS53aXRoX2Zvbz1GcmFuayIsICJub3Qud2l0aF9mb289T1RIRVIiXSksCisr ICAgICAgICAoIjF4IHVzZS4vbm90LndpdGhfZm9vPVZBTFVFOiBub3QtbWF0Y2hlcyIsIEZhbHNl LAorKyAgICAgICAgIFsibm90LndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRoX2Zvbz1PVEhFUiJd KSwKKysgICAgXSkKKysgICAgZGVmIHRlc3Rfb25lX2NhdGVnb3J5X3dpdGhfdHdvX3RhZ3Moc2Vs ZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgc2VsZi5jaGVja19zaG91bGRfcnVu X3dpdGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpCisrCisrICAgIEBweXRlc3Qu bWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3MiLCBbCisrICAgICAgICAoIjN4 IHVzZS53aXRoX2Zvbz1WQUxVRTogb25lIG1hdGNoZXMiLCBUcnVlLAorKyAgICAgICAgIFsidXNl LndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRoX2Zvbz1PVEhFUl8xIiwgInVzZS53aXRoX2Zvbz1P VEhFUl8yIl0pLAorKyAgICAgICAgKCIzeCBub3Qud2l0aF9mb289VkFMVUU6IG9uZSBtYXRjaGVz IiwgRmFsc2UsCisrICAgICAgICAgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfZm9v PU9USEVSXzEiLCAibm90LndpdGhfZm9vPU9USEVSXzIiXSksCisrICAgICAgICAoIjJ4IHVzZS53 aXRoX2Zvbz1WQUxVRTogdXNlLW1hdGNoZXMiLCBUcnVlLAorKyAgICAgICAgIFsidXNlLndpdGhf Zm9vPUZyYW5rIiwgInVzZS53aXRoX2Zvbz1PVEhFUl8xIiwgIm5vdC53aXRoX2Zvbz1PVEhFUl8y Il0pLAorKyAgICAgICAgKCIyeCBub3Qud2l0aF9mb289VkFMVUU6IG5vdC1tYXRjaGVzIiwgRmFs c2UsCisrICAgICAgICAgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfZm9vPU9USEVS XzEiLCAidXNlLndpdGhfZm9vPU9USEVSXzIiXSksCisrICAgICAgICAoIjF4IHVzZS53aXRoX2Zv bz1WQUxVRTogdXNlLW1hdGNoZXMiLCBUcnVlLAorKyAgICAgICAgIFsidXNlLndpdGhfZm9vPUZy YW5rIiwgIm5vdC53aXRoX2Zvbz1PVEhFUl8xIiwgIm5vdC53aXRoX2Zvbz1PVEhFUl8yIl0pLAor KyAgICAgICAgKCIxeCBub3Qud2l0aF9mb289VkFMVUU6IG5vdC1tYXRjaGVzIiwgRmFsc2UsCisr ICAgICAgICAgWyJub3Qud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfZm9vPU9USEVSXzEiLCAi dXNlLndpdGhfZm9vPU9USEVSXzIiXSksCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X29uZV9jYXRl Z29yeV93aXRoX3RocmVlX3RhZ3Moc2VsZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAg ICAgc2VsZi5jaGVja19zaG91bGRfcnVuX3dpdGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhwZWN0ZWQs IHRhZ3MpCisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQs IHRhZ3MiLCBbCisrICAgICAgICAjIC0tIHVzZS53aXRoX0NBVEVHT1JZPVZBTFVFCisrICAgICAg ICAoInVzZS53aXRoXy4uLiAyeCBtYXRjaGVzIiwgICAgICBUcnVlLCBbInVzZS53aXRoX2Zvbz1G cmFuayIsICJ1c2Uud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMXgg bWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfYmFy PU9USEVSIl0pLAorKyAgICAgICAgKCJ1c2Uud2l0aF8uLi4gMXggbWF0Y2hlcyIsICAgICBGYWxz ZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAg ICAgKCJ1c2Uud2l0aF8uLi4gMXggbWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289 T1RIRVIiLCAidXNlLndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgidXNlLndpdGhfLi4uIDB4 IG1hdGNoZXMiLCAgICAgRmFsc2UsIFsidXNlLndpdGhfZm9vPU9USEVSIiwgInVzZS53aXRoX2Jh cj1PVEhFUiJdKSwKKysgICAgICAgICMgLS0gbm90LndpdGhfQ0FURUdPUlk9VkFMVUUKKysgICAg ICAgICgibm90LndpdGhfLi4uIDJ4IG1hdGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289RnJh bmsiLCAibm90LndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgibm90LndpdGhfLi4uIDF4IG1h dGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90LndpdGhfYmFyPU9USEVS Il0pLAorKyAgICAgICAgKCJub3Qud2l0aF8uLi4gMXggbWF0Y2hlcyIsIEZhbHNlLCBbIm5vdC53 aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJub3Qud2l0 aF8uLi4gMHggbWF0Y2hlcyIsICBUcnVlLCBbIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qud2l0 aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAjIC0tIHVzZS53aXRoX0NBVEVHT1JZXzE9VkFMVUVf MSwgbm90LndpdGhfQ0FURUdPUllfMj1WQUxVRV8yCisrICAgICAgICAoInVzZS4vbm90LndpdGhf Li4uIHVzZS1tYXRjaGVzIiwgIFRydWUsIFsidXNlLndpdGhfZm9vPUZyYW5rIiwgIm5vdC53aXRo X2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gbm90LW1hdGNoZXMi LCBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfYmFyPUJvYiJdKSwKKysg ICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gMnggbWF0Y2hlcyIsICBGYWxzZSwgWyJ1c2Uud2l0 aF9mb289RnJhbmsiLCAibm90LndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgidXNlLi9ub3Qu d2l0aF8uLi4gMHggbWF0Y2hlcyIsICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAibm90 LndpdGhfYmFyPU9USEVSIl0pLAorKyAgICBdKQorKyAgICBkZWYgdGVzdF90d29fY2F0ZWdvcmll c193aXRoX3R3b190YWdzKHNlbGYsIGNhc2UsIGV4cGVjdGVkLCB0YWdzKToKKysgICAgICAgIHNl bGYuY2hlY2tfc2hvdWxkX3J1bl93aXRoX2FjdGl2ZV90YWdzKGNhc2UsIGV4cGVjdGVkLCB0YWdz KQorKworKyAgICBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImNhc2UsIGV4cGVjdGVkLCB0YWdz IiwgWworKyAgICAgICAgIyAtLSB1c2Uud2l0aF9DQVRFR09SWT1WQUxVRQorKyAgICAgICAgKCJ1 c2Uud2l0aF8uLi4gMnggbWF0Y2hlcyIsICAgICAgVHJ1ZSwgWyJ1c2Uud2l0aF9mb289RnJhbmsi LCAidXNlLndpdGhfZm9vPU9USEVSIiwgInVzZS53aXRoX2Jhcj1Cb2IiXSksCisrICAgICAgICAo InVzZS53aXRoXy4uLiAxeCBtYXRjaGVzIiwgICAgIEZhbHNlLCBbInVzZS53aXRoX2Zvbz1GcmFu ayIsICJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAorKyAgICAg ICAgKCJ1c2Uud2l0aF8uLi4gMXggbWF0Y2hlcyIsICAgICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289 T1RIRVIiLCAidXNlLndpdGhfZm9vPUZyYW5rIiwgInVzZS53aXRoX2Jhcj1PVEhFUiJdKSwKKysg ICAgICAgICgidXNlLndpdGhfLi4uIDF4IG1hdGNoZXMiLCAgICAgRmFsc2UsIFsidXNlLndpdGhf Zm9vPU9USEVSIiwgInVzZS53aXRoX2Zvbz1PVEhFUjIiLCAidXNlLndpdGhfYmFyPUJvYiJdKSwK KysgICAgICAgICgidXNlLndpdGhfLi4uIDB4IG1hdGNoZXMiLCAgICAgRmFsc2UsIFsidXNlLndp dGhfZm9vPU9USEVSIiwgInVzZS53aXRoX2Jhcj1PVEhFUjIiLCAidXNlLndpdGhfYmFyPU9USEVS Il0pLAorKyAgICAgICAgIyAtLSBub3Qud2l0aF9DQVRFR09SWT1WQUxVRQorKyAgICAgICAgKCJu b3Qud2l0aF8uLi4gMnggbWF0Y2hlcyIsIEZhbHNlLCBbIm5vdC53aXRoX2Zvbz1GcmFuayIsICJu b3Qud2l0aF9mb289T1RIRVIiLCAibm90LndpdGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgibm90 LndpdGhfLi4uIDF4IG1hdGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289RnJhbmsiLCAibm90 LndpdGhfZm9vPU9USEVSIiwgIm5vdC53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICgibm90 LndpdGhfLi4uIDF4IG1hdGNoZXMiLCBGYWxzZSwgWyJub3Qud2l0aF9mb289T1RIRVIiLCAibm90 LndpdGhfZm9vPU9USEVSMiIsICJub3Qud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAgKCJub3Qu d2l0aF8uLi4gMHggbWF0Y2hlcyIsICBUcnVlLCBbIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJub3Qu d2l0aF9mb289T1RIRVIyIiwgIm5vdC53aXRoX2Jhcj1PVEhFUiJdKSwKKysgICAgICAgICMgLS0g dXNlLndpdGhfQ0FURUdPUllfMT1WQUxVRV8xLCBub3Qud2l0aF9DQVRFR09SWV8yPVZBTFVFXzIK KysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gdXNlLW1hdGNoZXMiLCAgVHJ1ZSwgWyJ1c2Uu d2l0aF9mb289RnJhbmsiLCAidXNlLndpdGhfZm9vPU9USEVSIiwgIm5vdC53aXRoX2Jhcj1PVEhF UiJdKSwKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gbm90LW1hdGNoZXMiLCBGYWxzZSwg WyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfZm9vPU9USEVSMiIsICJub3Qud2l0aF9i YXI9Qm9iIl0pLAorKyAgICAgICAgKCJ1c2UuL25vdC53aXRoXy4uLiAyeCBtYXRjaGVzIiwgIEZh bHNlLCBbInVzZS53aXRoX2Zvbz1GcmFuayIsICJ1c2Uud2l0aF9mb289T1RIRVIiLCAibm90Lndp dGhfYmFyPUJvYiJdKSwKKysgICAgICAgICgidXNlLi9ub3Qud2l0aF8uLi4gMHggbWF0Y2hlcyIs ICBGYWxzZSwgWyJ1c2Uud2l0aF9mb289T1RIRVIiLCAidXNlLndpdGhfZm9vPU9USEVSMiIsICJu b3Qud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAjIC0tIG5vdC53aXRoX0NBVEVHT1JZXzE9 VkFMVUVfMSwgdXNlLndpdGhfQ0FURUdPUllfMj1WQUxVRV8yCisrICAgICAgICAoInVzZS4vbm90 LndpdGhfLi4uIG5vdC1tYXRjaGVzIiwgRmFsc2UsIFsibm90LndpdGhfZm9vPUZyYW5rIiwgIm5v dC53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0aF9iYXI9T1RIRVIiXSksCisrICAgICAgICAoInVz ZS4vbm90LndpdGhfLi4uIHVzZS1tYXRjaGVzIiwgVHJ1ZSwgWyJub3Qud2l0aF9mb289T1RIRVIi LCAibm90LndpdGhfZm9vPU9USEVSMiIsICJ1c2Uud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAgICAg KCJ1c2UuL25vdC53aXRoXy4uLiAyeCBtYXRjaGVzIiwgRmFsc2UsIFsibm90LndpdGhfZm9vPUZy YW5rIiwgIm5vdC53aXRoX2Zvbz1PVEhFUiIsICJ1c2Uud2l0aF9iYXI9Qm9iIl0pLAorKyAgICAg ICAgKCJ1c2UuL25vdC53aXRoXy4uLiAweCBtYXRjaGVzIiwgRmFsc2UsIFsibm90LndpdGhfZm9v PU9USEVSIiwgIm5vdC53aXRoX2Zvbz1PVEhFUjIiLCAidXNlLndpdGhfYmFyPU9USEVSIl0pLAor KyAgICBdKQorKyAgICBkZWYgdGVzdF90d29fY2F0ZWdvcmllc193aXRoX3RocmVlX3RhZ3Moc2Vs ZiwgY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpOgorKyAgICAgICAgc2VsZi5jaGVja19zaG91bGRfcnVu X3dpdGhfYWN0aXZlX3RhZ3MoY2FzZSwgZXhwZWN0ZWQsIHRhZ3MpCisrCisrJycnCisrY2xhc3Mg VHJhaXRzNEFjdGl2ZVRhZ01hdGNoZXIob2JqZWN0KToKKysgICAgVGFnTWF0Y2hlciA9IEFjdGl2 ZVRhZ01hdGNoZXIKKysgICAgdmFsdWVfcHJvdmlkZXIgPSB7CisrICAgICAgICAiZm9vIjogImFs aWNlIiwKKysgICAgICAgICJiYXIiOiAiQk9CIiwKKysgICAgfQorKworKyAgICBjYXRlZ29yeTFf ZW5hYmxlZF90YWcgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2Ui KQorKyAgICBjYXRlZ29yeTFfZGlzYWJsZWRfdGFnID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5 X3RhZygiZm9vIiwgImJvYiIpCisrICAgIGNhdGVnb3J5MV9kaXNhYmxlZF90YWcyID0gVGFnTWF0 Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygiZm9vIiwgImNoYXJseSIpCisrICAgIGNhdGVnb3J5MV9z aW1pbGFyX3RhZyA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZvbyIsICJhbGljZTIi KQorKyAgICBjYXRlZ29yeTJfZW5hYmxlZF90YWcgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlf dGFnKCJiYXIiLCAiQk9CIikKKysgICAgY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZyA9IFRhZ01hdGNo ZXIubWFrZV9jYXRlZ29yeV90YWcoImJhciIsICJDSEFSTFkiKQorKyAgICBjYXRlZ29yeTJfc2lt aWxhcl90YWcgPSBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJiYXIiLCAiQk9CMiIpCisr ICAgIHVua25vd25fY2F0ZWdvcnlfdGFnID0gVGFnTWF0Y2hlci5tYWtlX2NhdGVnb3J5X3RhZygi VU5LTk9XTiIsICJvbmUiKQorKworKyAgICAjIC0tIE5FR0FURUQgVEFHUzoKKysgICAgY2F0ZWdv cnkxX25vdF9lbmFibGVkX3RhZyA9IFwKKysgICAgICAgIFRhZ01hdGNoZXIubWFrZV9jYXRlZ29y eV90YWcoImZvbyIsICJhbGljZSIsICJub3RfYWN0aXZlIikKKysgICAgY2F0ZWdvcnkxX25vdF9l bmFibGVkX3RhZzIgPSBcCisrICAgICAgICBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJm b28iLCAiYWxpY2UiLCAibm90IikKKysgICAgY2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcgPSBc CisrICAgICAgICBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYm9iIiwgIm5v dF9hY3RpdmUiKQorKyAgICBjYXRlZ29yeTFfbmVnYXRlZF9zaW1pbGFyX3RhZzEgPSBcCisrICAg ICAgICBUYWdNYXRjaGVyLm1ha2VfY2F0ZWdvcnlfdGFnKCJmb28iLCAiYWxpY2UyIiwgIm5vdF9h Y3RpdmUiKQorKworKworKyAgICBhY3RpdmVfdGFnczEgPSBbCisrICAgICAgICBjYXRlZ29yeTFf ZW5hYmxlZF90YWcsIGNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIGNhdGVnb3J5MV9zaW1pbGFyX3Rh ZywKKysgICAgICAgIGNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcsIGNhdGVnb3J5MV9ub3RfZW5h YmxlZF90YWcyLAorKyAgICBdCisrICAgIGFjdGl2ZV90YWdzMiA9IFsKKysgICAgICAgIGNhdGVn b3J5Ml9lbmFibGVkX3RhZywgY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZywgY2F0ZWdvcnkyX3NpbWls YXJfdGFnLAorKyAgICBdCisrICAgIGFjdGl2ZV90YWdzID0gYWN0aXZlX3RhZ3MxICsgYWN0aXZl X3RhZ3MyCisrCisrCisrIyAtLSBSRVFVSVJFUzogcHl0ZXN0CisrY2xhc3MgVGVzdEFjdGl2ZVRh Z01hdGNoZXIyKG9iamVjdCk6CisrICAgIFRhZ01hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyCisr ICAgIHRyYWl0cyA9IFRyYWl0czRBY3RpdmVUYWdNYXRjaGVyCisrCisrICAgIEBjbGFzc21ldGhv ZAorKyAgICBkZWYgbWFrZV90YWdfbWF0Y2hlcihjbHMpOgorKyAgICAgICAgdmFsdWVfcHJvdmlk ZXIgPSB7CisrICAgICAgICAgICAgImZvbyI6ICJhbGljZSIsCisrICAgICAgICAgICAgImJhciI6 ICJCT0IiLAorKyAgICAgICAgfQorKyAgICAgICAgdGFnX21hdGNoZXIgPSBjbHMuVGFnTWF0Y2hl cih2YWx1ZV9wcm92aWRlcikKKysgICAgICAgIHJldHVybiB0YWdfbWF0Y2hlcgorKworKyAgICBA cHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImNhc2UsIGV4cGVjdGVkX2xlbiwgdGFncyIsIFsKKysg ICAgICAgICgiY2FzZTogVHdvIGVuYWJsZWQgdGFncyIsIDIsCisrICAgICAgICAgW3RyYWl0cy5j YXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWddKSwKKysg ICAgICAgICgiY2FzZTogQWN0aXZlIGVuYWJsZWQgYW5kIG5vcm1hbCB0YWciLCAxLAorKyAgICAg ICAgIFt0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCAgImZvbyJdKSwKKysgICAgICAgICgi Y2FzZTogQWN0aXZlIGRpc2FibGVkIGFuZCBub3JtYWwgdGFnIiwgMSwKKysgICAgICAgICBbdHJh aXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJmb28iXSksCisrICAgICAgICAoImNhc2U6IE5v cm1hbCBhbmQgYWN0aXZlIG5lZ2F0ZWQgdGFnIiwgMSwKKysgICAgICAgICBbImZvbyIsIHRyYWl0 cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnXSksCisrICAgICAgICAoImNhc2U6IFR3byBub3Jt YWwgdGFncyIsIDAsCisrICAgICAgICAgWyJmb28iLCAiYmFyIl0pLAorKyAgICBdKQorKyAgICBk ZWYgdGVzdF9zZWxlY3RfYWN0aXZlX3RhZ3NfX3dpdGhfdHdvX3RhZ3Moc2VsZiwgY2FzZSwgZXhw ZWN0ZWRfbGVuLCB0YWdzKToKKysgICAgICAgIHRhZ19tYXRjaGVyID0gc2VsZi5tYWtlX3RhZ19t YXRjaGVyKCkKKysgICAgICAgIHNlbGVjdGVkID0gdGFnX21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90 YWdzKHRhZ3MpCisrICAgICAgICBzZWxlY3RlZCA9IGxpc3Qoc2VsZWN0ZWQpCisrICAgICAgICBh c3NlcnQgbGVuKHNlbGVjdGVkKSA9PSBleHBlY3RlZF9sZW4sIGNhc2UKKysKKysgICAgQHB5dGVz dC5tYXJrLnBhcmFtZXRyaXplKCJjYXNlLCBleHBlY3RlZCwgdGFncyIsIFsKKysgICAgICAgICMg LS0gR1JPVVA6IFdpdGggcG9zaXRpdmUgbG9naWMgKG5vbi1uZWdhdGVkIHRhZ3MpCisrICAgICAg ICAoImNhc2UgUDAwOiAyIGRpc2FibGVkIHRhZ3MiLCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRz LmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFnXSks CisrICAgICAgICAoImNhc2UgUDAxOiBkaXNhYmxlZCBhbmQgZW5hYmxlZCB0YWciLCBUcnVlLAor KyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29y eTJfZW5hYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZSBQMTA6IGVuYWJsZWQgYW5kIGRpc2Fi bGVkIHRhZyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFn LCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlIFAxMTog MiBlbmFibGVkIHRhZ3MiLCBGYWxzZSwgICMgLS0gU0hPVUxELVJVTgorKyAgICAgICAgIFsgdHJh aXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10p LAorKyAgICAgICAgIyAtLSBHUk9VUDogV2l0aCBuZWdhdGVkIHRhZworKyAgICAgICAgKCJjYXNl IE4wMDogbm90LWVuYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIsIFRydWUsCisrICAgICAgICAgWyB0 cmFpdHMuY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxl ZF90YWddKSwKKysgICAgICAgICgiY2FzZSBOMDE6IG5vdC1lbmFibGVkIGFuZCBlbmFibGVkIHRh ZyIsIFRydWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZywg dHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlIE4xMDogbm90 LWRpc2FibGVkIGFuZCBkaXNhYmxlZCB0YWciLCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNh dGVnb3J5MV9ub3RfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZ10p LAorKyAgICAgICAgKCJjYXNlIE4xMTogbm90LWRpc2FibGVkIGFuZCBlbmFibGVkIHRhZyIsIEZh bHNlLCAjIC0tIFNIT1VMRC1SVU4KKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2Rp c2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgIyAt LSBHUk9VUDogV2l0aCB1bmtub3duIGNhdGVnb3J5CisrICAgICAgICAoImNhc2UgVTB4OiBkaXNh YmxlZCBhbmQgdW5rbm93biB0YWciLCBUcnVlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5 MV9kaXNhYmxlZF90YWcsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZ10pLAorKyAgICAgICAg KCJjYXNlIFUxeDogZW5hYmxlZCBhbmQgdW5rbm93biB0YWciLCBGYWxzZSwgICMgLS0gU0hPVUxE LVJVTgorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLnVu a25vd25fY2F0ZWdvcnlfdGFnXSksCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNs dWRlX3dpdGhfX2NvbWJpbmF0aW9uc19vZl8yX2NhdGVnb3JpZXMoc2VsZiwgY2FzZSwgZXhwZWN0 ZWQsIHRhZ3MpOgorKyAgICAgICAgdGFnX21hdGNoZXIgPSBzZWxmLm1ha2VfdGFnX21hdGNoZXIo KQorKyAgICAgICAgYWN0dWFsX3Jlc3VsdCA9IHRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dp dGgodGFncykKKysgICAgICAgIGFzc2VydCBleHBlY3RlZCA9PSBhY3R1YWxfcmVzdWx0LCBjYXNl CisrCisrICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiY2FzZSwgZXhwZWN0ZWQsIHRhZ3Mi LCBbCisrICAgICAgICAjIC0tIEdST1VQOiBXaXRoIHBvc2l0aXZlIGxvZ2ljIChub24tbmVnYXRl ZCB0YWdzKQorKyAgICAgICAgKCJjYXNlIFAwMDogMiBkaXNhYmxlZCB0YWdzIiwgVHJ1ZSwKKysg ICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkx X2Rpc2FibGVkX3RhZzJdKSwKKysgICAgICAgICgiY2FzZSBQMDE6IGRpc2FibGVkIGFuZCBlbmFi bGVkIHRhZyIsIEZhbHNlLAorKyAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90 YWcsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWddKSwKKysgICAgICAgICgiY2FzZSBQMTA6 IGVuYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIsIEZhbHNlLAorKyAgICAgICAgIFsgdHJhaXRzLmNh dGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWddKSwKKysg ICAgICAgICgiY2FzZSBQMTE6IDIgZW5hYmxlZCB0YWdzIChzYW1lKSIsIEZhbHNlLCAgIyAtLSBT SE9VTEQtUlVOCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFp dHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnXSksCisrICAgICAgICAjIC0tIEdST1VQOiBXaXRoIG5l Z2F0ZWQgdGFnCisrICAgICAgICAoImNhc2UgTjAwOiBub3QtZW5hYmxlZCBhbmQgZGlzYWJsZWQg dGFnIiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFn LCB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZ10pLAorKyAgICAgICAgKCJjYXNlIE4wMTog bm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgdGFnIiwgVHJ1ZSwKKysgICAgICAgICBbIHRyYWl0cy5j YXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnXSks CisrICAgICAgICAoImNhc2UgTjEwOiBub3QtZGlzYWJsZWQgYW5kIGRpc2FibGVkIHRhZyIsIFRy dWUsCisrICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcsIHRyYWl0 cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnXSksCisrICAgICAgICAoImNhc2UgTjExOiBub3QtZGlz YWJsZWQgYW5kIGVuYWJsZWQgdGFnIiwgRmFsc2UsICMgLS0gU0hPVUxELVJVTgorKyAgICAgICAg IFsgdHJhaXRzLmNhdGVnb3J5MV9ub3RfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2Vu YWJsZWRfdGFnXSksCisrICAgIF0pCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhf X2NvbWJpbmF0aW9uc193aXRoX3NhbWVfY2F0ZWdvcnkoc2VsZiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UsIGV4cGVjdGVkLCB0 YWdzKToKKysgICAgICAgIHRhZ19tYXRjaGVyID0gc2VsZi5tYWtlX3RhZ19tYXRjaGVyKCkKKysg ICAgICAgIHByaW50KCJ0YWdzOiB7fSIuZm9ybWF0KHRhZ3MpICkKKysgICAgICAgIHByaW50KCJ0 YWdfbWF0Y2hlci52YWx1ZToge30iLmZvcm1hdCh0YWdfbWF0Y2hlci52YWx1ZV9wcm92aWRlcikg KQorKyAgICAgICAgYWN0dWFsX3Jlc3VsdCA9IHRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dp dGgodGFncykKKysgICAgICAgIGFzc2VydCBleHBlY3RlZCA9PSBhY3R1YWxfcmVzdWx0LCBjYXNl CisrCisrCisrY2xhc3MgVGVzdEFjdGl2ZVRhZ3MoVGVzdENhc2UpOgorKyAgICBUYWdNYXRjaGVy ID0gQWN0aXZlVGFnTWF0Y2hlcgorKyAgICB0cmFpdHMgPSBUcmFpdHM0QWN0aXZlVGFnTWF0Y2hl cgorKworKyAgICBAY2xhc3NtZXRob2QKKysgICAgZGVmIG1ha2VfdGFnX21hdGNoZXIoY2xzKToK KysgICAgICAgIHRhZ19tYXRjaGVyID0gY2xzLlRhZ01hdGNoZXIoY2xzLnRyYWl0cy52YWx1ZV9w cm92aWRlcikKKysgICAgICAgIHJldHVybiB0YWdfbWF0Y2hlcgorKworKyAgICBkZWYgc2V0VXAo c2VsZik6CisrICAgICAgICBzZWxmLnRhZ19tYXRjaGVyID0gc2VsZi5tYWtlX3RhZ19tYXRjaGVy KCkKKysKKysgICAgZGVmIHRlc3Rfc2VsZWN0X2FjdGl2ZV90YWdzX19iYXNpY3Moc2VsZik6Cisr ICAgICAgICBhY3RpdmVfdGFnID0gImFjdGl2ZS53aXRoX0NBVEVHT1JZPVZBTFVFIgorKyAgICAg ICAgdGFncyA9IFsiZm9vIiwgYWN0aXZlX3RhZywgImJhciJdCisrICAgICAgICBzZWxlY3RlZCA9 IGxpc3Qoc2VsZi50YWdfbWF0Y2hlci5zZWxlY3RfYWN0aXZlX3RhZ3ModGFncykpCisrICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxlY3RlZCksIDEpCisrICAgICAgICBzZWxlY3RlZF90 YWcsIHNlbGVjdGVkX21hdGNoID0gc2VsZWN0ZWRbMF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWwoc2VsZWN0ZWRfdGFnLCBhY3RpdmVfdGFnKQorKworKyAgICBkZWYgdGVzdF9zZWxlY3RfYWN0 aXZlX3RhZ3NfX21hdGNoZXNfdGFnX3BhcnRzKHNlbGYpOgorKyAgICAgICAgdGFncyA9IFsiYWN0 aXZlLndpdGhfQ0FURUdPUlk9VkFMVUUiXQorKyAgICAgICAgc2VsZWN0ZWQgPSBsaXN0KHNlbGYu dGFnX21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90YWdzKHRhZ3MpKQorKyAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbChsZW4oc2VsZWN0ZWQpLCAxKQorKyAgICAgICAgc2VsZWN0ZWRfdGFnLCBzZWxlY3Rl ZF9tYXRjaCA9IHNlbGVjdGVkWzBdCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGVjdGVk X21hdGNoLmdyb3VwKCJwcmVmaXgiKSwgImFjdGl2ZSIpCisrICAgICAgICBzZWxmLmFzc2VydEVx dWFsKHNlbGVjdGVkX21hdGNoLmdyb3VwKCJjYXRlZ29yeSIpLCAiQ0FURUdPUlkiKQorKyAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChzZWxlY3RlZF9tYXRjaC5ncm91cCgidmFsdWUiKSwgIlZBTFVF IikKKysKKysgICAgZGVmIHRlc3Rfc2VsZWN0X2FjdGl2ZV90YWdzX19maW5kc190YWdfd2l0aF9h bnlfdmFsaWRfdGFnX3ByZWZpeChzZWxmKToKKysgICAgICAgIFRhZ01hdGNoZXIgPSBzZWxmLlRh Z01hdGNoZXIKKysgICAgICAgIGZvciB0YWdfcHJlZml4IGluIFRhZ01hdGNoZXIudGFnX3ByZWZp eGVzOgorKyAgICAgICAgICAgIHRhZyA9IFRhZ01hdGNoZXIubWFrZV9jYXRlZ29yeV90YWcoImZv byIsICJhbGljZSIsIHRhZ19wcmVmaXgpCisrICAgICAgICAgICAgdGFncyA9IFsgdGFnIF0KKysg ICAgICAgICAgICBzZWxlY3RlZCA9IHNlbGYudGFnX21hdGNoZXIuc2VsZWN0X2FjdGl2ZV90YWdz KHRhZ3MpCisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBsaXN0KHNlbGVjdGVkKQorKyAgICAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGVjdGVkKSwgMSkKKysgICAgICAgICAgICBzZWxl Y3RlZF90YWcwID0gc2VsZWN0ZWRbMF1bMF0KKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs KHNlbGVjdGVkX3RhZzAsIHRhZykKKysgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZWN0 ZWRfdGFnMC5zdGFydHN3aXRoKHRhZ19wcmVmaXgpKQorKworKyAgICBkZWYgdGVzdF9zZWxlY3Rf YWN0aXZlX3RhZ3NfX2lnbm9yZXNfaW52YWxpZF9hY3RpdmVfdGFncyhzZWxmKToKKysgICAgICAg IGludmFsaWRfYWN0aXZlX3RhZ3MgPSBbCisrICAgICAgICAgICAgKCJmb28uYWxpY2UiLCAgICAg ICAgICAgICAgICJjYXNlOiBOb3JtYWwgdGFnIiksCisrICAgICAgICAgICAgKCJ3aXRoX2Zvbz1G cmFuayIsICAgICAgICAgICJjYXNlOiBTdWJzZXQgb2YgYW4gYWN0aXZlIHRhZyIpLAorKyAgICAg ICAgICAgICgiQUNUSVZFLndpdGhfZm9vLmFsaWNlIiwgICAiY2FzZTogV3JvbmcgdGFnX3ByZWZp eCAodXBwZXJjYXNlKSIpLAorKyAgICAgICAgICAgICgib25seS53aXRoX2Zvby5hbGljZSIsICAg ICAiY2FzZTogV3JvbmcgdmFsdWVfc2VwYXJhdG9yIiksCisrICAgICAgICBdCisrICAgICAgICBm b3IgaW52YWxpZF90YWcsIGNhc2UgaW4gaW52YWxpZF9hY3RpdmVfdGFnczoKKysgICAgICAgICAg ICB0YWdzID0gWyBpbnZhbGlkX3RhZyBdCisrICAgICAgICAgICAgc2VsZWN0ZWQgPSBzZWxmLnRh Z19tYXRjaGVyLnNlbGVjdF9hY3RpdmVfdGFncyh0YWdzKQorKyAgICAgICAgICAgIHNlbGVjdGVk ID0gbGlzdChzZWxlY3RlZCkKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxl Y3RlZCksIDAsIGNhc2UpCisrCisrICAgIGRlZiB0ZXN0X3NlbGVjdF9hY3RpdmVfdGFnc19fd2l0 aF90d29fdGFncyhzZWxmKToKKysgICAgICAgICMgWFhYLUpFLURVUExJQ0FURUQ6CisrICAgICAg ICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAg ICAgICAgICAoImNhc2U6IFR3byBlbmFibGVkIHRhZ3MiLAorKyAgICAgICAgICAgICBbdHJhaXRz LmNhdGVnb3J5MV9lbmFibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAor KyAgICAgICAgICAgICgiY2FzZTogQWN0aXZlIGVuYWJsZWQgYW5kIG5vcm1hbCB0YWciLAorKyAg ICAgICAgICAgICBbdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgICJmb28iXSksCisrICAg ICAgICAgICAgKCJjYXNlOiBBY3RpdmUgZGlzYWJsZWQgYW5kIG5vcm1hbCB0YWciLAorKyAgICAg ICAgICAgICBbdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJmb28iXSksCisrICAgICAg ICAgICAgKCJjYXNlOiBBY3RpdmUgbmVnYXRlZCBhbmQgbm9ybWFsIHRhZyIsCisrICAgICAgICAg ICAgIFt0cmFpdHMuY2F0ZWdvcnkxX25vdF9lbmFibGVkX3RhZywgImZvbyJdKSwKKysgICAgICAg IF0KKysgICAgICAgIGZvciBjYXNlLCB0YWdzIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAg ICAgc2VsZWN0ZWQgPSBzZWxmLnRhZ19tYXRjaGVyLnNlbGVjdF9hY3RpdmVfdGFncyh0YWdzKQor KyAgICAgICAgICAgIHNlbGVjdGVkID0gbGlzdChzZWxlY3RlZCkKKysgICAgICAgICAgICBzZWxm LmFzc2VydFRydWUobGVuKHNlbGVjdGVkKSA+PSAxLCBjYXNlKQorKworKworKyAgICBkZWYgdGVz dF9zaG91bGRfZXhjbHVkZV93aXRoX19yZXR1cm5zX2ZhbHNlX3dpdGhfZW5hYmxlZF90YWcoc2Vs Zik6CisrICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworKyAgICAgICAgdGFnczEgPSBbIHRy YWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcgXQorKyAgICAgICAgdGFnczIgPSBbIHRyYWl0cy5j YXRlZ29yeTJfZW5hYmxlZF90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGYWxzZSwg c2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MxKSkKKysgICAgICAgIHNl bGYuYXNzZXJ0RXF1YWwoRmFsc2UsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0 aCh0YWdzMikpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNf ZmFsc2Vfd2l0aF9kaXNhYmxlZF90YWdfYW5kX21vcmUoc2VsZik6CisrICAgICAgICAjIC0tIE5P VEU6IE5lZWQgMSsgZW5hYmxlZCBhY3RpdmUtdGFncyBvZiBzYW1lIGNhdGVnb3J5ID0+IEVOQUJM RUQKKysgICAgICAgICMgcHlsaW50OiBkaXNhYmxlPWxpbmUtdG9vLWxvbmcKKysgICAgICAgIHRy YWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAgICAgICAg ICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlz YWJsZWRfdGFnIF0sICJjYXNlOiBmaXJzdCIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRl Z29yeTFfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnIF0sICJjYXNl OiBsYXN0IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxl ZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCAiYmFyIiBdLCAiY2FzZTogbWlk ZGxlIiksCisrICAgICAgICBdCisrICAgICAgICBlbmFibGVkID0gVHJ1ZSAgIyBFWFBFQ1RFRAor KyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBz ZWxmLmFzc2VydEVxdWFsKG5vdCBlbmFibGVkLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9 JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRo X19yZXR1cm5zX3RydWVfd2l0aF9vdGhlcl90YWcoc2VsZik6CisrICAgICAgICB0cmFpdHMgPSBz ZWxmLnRyYWl0cworKyAgICAgICAgdGFncyA9IFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxlZF90 YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNo b3VsZF9leGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRl X3dpdGhfX3JldHVybnNfdHJ1ZV93aXRoX290aGVyX3RhZ19hbmRfbW9yZShzZWxmKToKKysgICAg ICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0ZXN0X3BhdHRlcm5zID0gWworKyAg ICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnLCAiZm9vIiBdLCAiY2Fz ZTogZmlyc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNhdGVnb3J5MV9kaXNh YmxlZF90YWcgXSwgImNhc2U6IGxhc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRz LmNhdGVnb3J5MV9kaXNhYmxlZF90YWcsICJiYXIiIF0sICJjYXNlOiBtaWRkbGUiKSwKKysgICAg ICAgIF0KKysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAg ICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNs dWRlX3dpdGgodGFncyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9 JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVkZV93aXRo X19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX3RhZyhzZWxmKToKKysgICAgICAgIHRyYWl0cyA9 IHNlbGYudHJhaXRzCisrICAgICAgICB0YWdzID0gWyB0cmFpdHMuY2F0ZWdvcnkxX3NpbWlsYXJf dGFnIF0KKysgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgc2VsZi50YWdfbWF0Y2hlci5z aG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorKworKyAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVk ZV93aXRoX19yZXR1cm5zX3RydWVfd2l0aF9zaW1pbGFyX2FuZF9tb3JlKHNlbGYpOgorKyAgICAg ICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAg ICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9zaW1pbGFyX3RhZywgImZvbyIgXSwgImNhc2U6 IGZpcnN0IiksCisrICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxh cl90YWcgXSwgImNhc2U6IGxhc3QiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwgdHJhaXRzLmNh dGVnb3J5MV9zaW1pbGFyX3RhZywgImJhciIgXSwgImNhc2U6IG1pZGRsZSIpLAorKyAgICAgICAg XQorKyAgICAgICAgZm9yIHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHNlbGYudGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVf d2l0aCh0YWdzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogdGFncz0lcyIg JSAoY2FzZSwgdGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3Jl dHVybnNfZmFsc2Vfd2l0aG91dF9jYXRlZ29yeV90YWcoc2VsZik6CisrICAgICAgICB0ZXN0X3Bh dHRlcm5zID0gWworKyAgICAgICAgICAgIChbIF0sICAgICAgICAgICAiY2FzZTogTm8gdGFncyIp LAorKyAgICAgICAgICAgIChbICJmb28iIF0sICAgICAiY2FzZTogT25lIHRhZyIpLAorKyAgICAg ICAgICAgIChbICJmb28iLCAiYmFyIiBdLCAiY2FzZTogVHdvIHRhZ3MiKSwKKysgICAgICAgIF0K KysgICAgICAgIGZvciB0YWdzLCBjYXNlIGluIHRlc3RfcGF0dGVybnM6CisrICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChGYWxzZSwgc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93 aXRoKHRhZ3MpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAl IChjYXNlLCB0YWdzKSkKKysKKysgICAgZGVmIHRlc3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0 dXJuc19mYWxzZV93aXRoX3Vua25vd25fY2F0ZWdvcnlfdGFnKHNlbGYpOgorKyAgICAgICAgIiIi VGFncyBmcm9tIHVua25vd24gY2F0ZWdvcmllcywgbm90IHN1cHBvcnRlZCBieSB2YWx1ZV9wcm92 aWRlciwKKysgICAgICAgIHNob3VsZCBub3QgYmUgZXhjbHVkZWQuCisrICAgICAgICAiIiIKKysg ICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisrICAgICAgICB0YWdzID0gWyB0cmFpdHMudW5r bm93bl9jYXRlZ29yeV90YWcgXQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgidXNlLndpdGhf VU5LTk9XTj1vbmUiLCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcpCisrICAgICAgICBzZWxm LmFzc2VydEVxdWFsKE5vbmUsIHNlbGYudGFnX21hdGNoZXIudmFsdWVfcHJvdmlkZXIuZ2V0KCJV TktOT1dOIikpCisrICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRj aGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCisrCisrICAgIGRlZiB0ZXN0X3Nob3VsZF9l eGNsdWRlX3dpdGhfX2NvbWJpbmF0aW9uc19vZl8yX2NhdGVnb3JpZXMoc2VsZik6CisrICAgICAg ICAjIFhYWC1KRS1EVVBMSUNBVEVEOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysg ICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKCJjYXNlIFAwMDogMiBkaXNh YmxlZCBjYXRlZ29yeSB0YWdzIiwgVHJ1ZSwKKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdv cnkxX2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5Ml9kaXNhYmxlZF90YWddKSwKKysgICAg ICAgICAgICAoImNhc2UgUDAxOiBkaXNhYmxlZCBhbmQgZW5hYmxlZCBjYXRlZ29yeSB0YWdzIiwg VHJ1ZSwKKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgdHJh aXRzLmNhdGVnb3J5Ml9lbmFibGVkX3RhZ10pLAorKyAgICAgICAgICAgICgiY2FzZSBQMTA6IGVu YWJsZWQgYW5kIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAgICAgICBb IHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRf dGFnXSksCisrICAgICAgICAgICAgKCJjYXNlIFAxMTogMiBlbmFibGVkIGNhdGVnb3J5IHRhZ3Mi LCBGYWxzZSwgICMgLS0gU0hPVUxELVJVTgorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29y eTFfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZW5hYmxlZF90YWddKSwKKysgICAgICAg ICAgICAjIC0tIFNQRUNJQUwgQ0FTRTogV2l0aCBuZWdhdGVkIGNhdGVnb3J5CisrICAgICAgICAg ICAgKCJjYXNlIE4wMDogbm90LWVuYWJsZWQgYW5kIGRpc2FibGVkIGNhdGVnb3J5IHRhZ3MiLCBU cnVlLAorKyAgICAgICAgICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0 cmFpdHMuY2F0ZWdvcnkyX2Rpc2FibGVkX3RhZ10pLAorKyAgICAgICAgICAgICgiY2FzZSBOMDE6 IG5vdC1lbmFibGVkIGFuZCBlbmFibGVkIGNhdGVnb3J5IHRhZ3MiLCBUcnVlLAorKyAgICAgICAg ICAgICBbIHRyYWl0cy5jYXRlZ29yeTFfbm90X2VuYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnky X2VuYWJsZWRfdGFnXSksCisrICAgICAgICAgICAgKCJjYXNlIE4xMDogbm90LWRpc2FibGVkIGFu ZCBkaXNhYmxlZCBjYXRlZ29yeSB0YWdzIiwgVHJ1ZSwKKysgICAgICAgICAgICAgWyB0cmFpdHMu Y2F0ZWdvcnkxX25vdF9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTJfZGlzYWJsZWRfdGFn XSksCisrICAgICAgICAgICAgKCJjYXNlIE4xMTogbm90LWVuYWJsZWQgYW5kIGVuYWJsZWQgY2F0 ZWdvcnkgdGFncyIsIEZhbHNlLCAgIyAtLSBTSE9VTEQtUlVOCisrICAgICAgICAgICAgIFsgdHJh aXRzLmNhdGVnb3J5MV9ub3RfZGlzYWJsZWRfdGFnLCB0cmFpdHMuY2F0ZWdvcnkyX2VuYWJsZWRf dGFnXSksCisrICAgICAgICAgICAgIyAtLSBTUEVDSUFMIENBU0U6IFdpdGggdW5rbm93biBjYXRl Z29yeQorKyAgICAgICAgICAgICgiY2FzZSAweDogZGlzYWJsZWQgYW5kIHVua25vd24gY2F0ZWdv cnkgdGFncyIsIFRydWUsCisrICAgICAgICAgICAgIFsgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxl ZF90YWcsIHRyYWl0cy51bmtub3duX2NhdGVnb3J5X3RhZ10pLAorKyAgICAgICAgICAgICgiY2Fz ZSAxeDogZW5hYmxlZCBhbmQgdW5rbm93biBjYXRlZ29yeSB0YWdzIiwgRmFsc2UsICAjIFNIT1VM RC1SVU4KKysgICAgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX2VuYWJsZWRfdGFnLCB0cmFp dHMudW5rbm93bl9jYXRlZ29yeV90YWddKSwKKysgICAgICAgIF0KKysgICAgICAgIGZvciBjYXNl LCBleHBlY3RlZCwgdGFncyBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAgIGFjdHVhbF9y ZXN1bHQgPSBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKysgICAg ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkLCBhY3R1YWxfcmVzdWx0LAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdzKSkKKysK KysgICAgZGVmIHRlc3Rfc2hvdWxkX3J1bl93aXRoX19uZWdhdGVzX3Jlc3VsdF9vZl9zaG91bGRf ZXhjbHVkZV93aXRoKHNlbGYpOgorKyAgICAgICAgdHJhaXRzID0gc2VsZi50cmFpdHMKKysgICAg ICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAgICAgICAgKFsgXSwgICAgICAgICAgICAgICAg ICAgImNhc2U6IE5vIHRhZ3MiKSwKKysgICAgICAgICAgICAoWyAiZm9vIiBdLCAgICAgICAgICAg ICAiY2FzZTogT25lIG5vbi1jYXRlZ29yeSB0YWciKSwKKysgICAgICAgICAgICAoWyAiZm9vIiwg ImJhciIgXSwgICAgICAiY2FzZTogVHdvIG5vbi1jYXRlZ29yeSB0YWdzIiksCisrICAgICAgICAg ICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZyBdLCAgICJjYXNlOiBlbmFibGVkIHRh ZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWcsIHRyYWl0 cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICAiY2FzZTogZW5hYmxlZCBhbmQgb3RoZXIgdGFn IiksCisrICAgICAgICAgICAgKFsgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZywgImZvbyIg XSwgICAgImNhc2U6IGVuYWJsZWQgYW5kIGZvbyB0YWciKSwKKysgICAgICAgICAgICAoWyB0cmFp dHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZyBdLCAgICAgICAgICAgICJjYXNlOiBvdGhlciB0YWci KSwKKysgICAgICAgICAgICAoWyB0cmFpdHMuY2F0ZWdvcnkxX2Rpc2FibGVkX3RhZywgImZvbyIg XSwgICAgICJjYXNlOiBvdGhlciBhbmQgZm9vIHRhZyIpLAorKyAgICAgICAgICAgIChbIHRyYWl0 cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwgICAgICAgICAgImNhc2U6IHNpbWlsYXIgdGFnIiks CisrICAgICAgICAgICAgKFsgImZvbyIsIHRyYWl0cy5jYXRlZ29yeTFfc2ltaWxhcl90YWcgXSwg ICAiY2FzZTogZm9vIGFuZCBzaW1pbGFyIHRhZyIpLAorKyAgICAgICAgXQorKyAgICAgICAgZm9y IHRhZ3MsIGNhc2UgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICByZXN1bHQxID0gc2Vs Zi50YWdfbWF0Y2hlci5zaG91bGRfcnVuX3dpdGgodGFncykKKysgICAgICAgICAgICByZXN1bHQy ID0gc2VsZi50YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpCisrICAgICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQxLCBub3QgcmVzdWx0MiwgIiVzOiB0YWdzPSVzIiAl IChjYXNlLCB0YWdzKSkKKysgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5vdCByZXN1bHQx LCByZXN1bHQyLCAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQorKworKworK2NsYXNzIFRl c3RDb21wb3NpdGVUYWdNYXRjaGVyKFRlc3RDYXNlKToKKysKKysgICAgQHN0YXRpY21ldGhvZAor KyAgICBkZWYgY291bnRfdGFnX21hdGNoZXJfd2l0aF9yZXN1bHQodGFnX21hdGNoZXJzLCB0YWdz LCByZXN1bHRfdmFsdWUpOgorKyAgICAgICAgY291bnQgPSAwCisrICAgICAgICBmb3IgdGFnX21h dGNoZXIgaW4gdGFnX21hdGNoZXJzOgorKyAgICAgICAgICAgIGN1cnJlbnRfcmVzdWx0ID0gdGFn X21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQorKyAgICAgICAgICAgIGlmIGN1cnJl bnRfcmVzdWx0ID09IHJlc3VsdF92YWx1ZToKKysgICAgICAgICAgICAgICAgY291bnQgKz0gMQor KyAgICAgICAgcmV0dXJuIGNvdW50CisrCisrICAgIGRlZiBzZXRVcChzZWxmKToKKysgICAgICAg IHByZWRpY2F0ZV9mYWxzZSA9IGxhbWJkYSB0YWdzOiBGYWxzZQorKyAgICAgICAgcHJlZGljYXRl X2NvbnRhaW5zX2ZvbyA9IGxhbWJkYSB0YWdzOiBhbnkoeCA9PSAiZm9vIiBmb3IgeCBpbiB0YWdz KQorKyAgICAgICAgc2VsZi50YWdfbWF0Y2hlcl9mYWxzZSA9IFByZWRpY2F0ZVRhZ01hdGNoZXIo cHJlZGljYXRlX2ZhbHNlKQorKyAgICAgICAgc2VsZi50YWdfbWF0Y2hlcl9mb28gPSBQcmVkaWNh dGVUYWdNYXRjaGVyKHByZWRpY2F0ZV9jb250YWluc19mb28pCisrICAgICAgICB0YWdfbWF0Y2hl cnMgPSBbCisrICAgICAgICAgICAgc2VsZi50YWdfbWF0Y2hlcl9mb28sCisrICAgICAgICAgICAg c2VsZi50YWdfbWF0Y2hlcl9mYWxzZQorKyAgICAgICAgXQorKyAgICAgICAgc2VsZi5jdGFnX21h dGNoZXIgPSBDb21wb3NpdGVUYWdNYXRjaGVyKHRhZ19tYXRjaGVycykKKysKKysgICAgZGVmIHRl c3Rfc2hvdWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc190cnVlX3doZW5fYW55X3RhZ19tYXRjaGVy X3JldHVybnNfdHJ1ZShzZWxmKToKKysgICAgICAgIHRlc3RfcGF0dGVybnMgPSBbCisrICAgICAg ICAgICAgKCJjYXNlOiB3aXRoIGZvbyIsICBbImZvbyIsICJiYXIiXSksCisrICAgICAgICAgICAg KCJjYXNlOiB3aXRoIGZvbzIiLCBbImZvb3p5IiwgImZvbyIsICJiYXIiXSksCisrICAgICAgICBd CisrICAgICAgICBmb3IgY2FzZSwgdGFncyBpbiB0ZXN0X3BhdHRlcm5zOgorKyAgICAgICAgICAg IGFjdHVhbF9yZXN1bHQgPSBzZWxmLmN0YWdfbWF0Y2hlci5zaG91bGRfZXhjbHVkZV93aXRoKHRh Z3MpCisrICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBhY3R1YWxfcmVzdWx0LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiB0YWdzPSVzIiAlIChjYXNlLCB0YWdz KSkKKysKKysgICAgICAgICAgICBhY3R1YWxfdHJ1ZV9jb3VudCA9IHNlbGYuY291bnRfdGFnX21h dGNoZXJfd2l0aF9yZXN1bHQoCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm LmN0YWdfbWF0Y2hlci50YWdfbWF0Y2hlcnMsIHRhZ3MsIFRydWUpCisrICAgICAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbCgxLCBhY3R1YWxfdHJ1ZV9jb3VudCkKKysKKysgICAgZGVmIHRlc3Rfc2hv dWxkX2V4Y2x1ZGVfd2l0aF9fcmV0dXJuc19mYWxzZV93aGVuX25vX3RhZ19tYXRjaGVyX3JldHVy bl90cnVlKHNlbGYpOgorKyAgICAgICAgdGVzdF9wYXR0ZXJucyA9IFsKKysgICAgICAgICAgICAo ImNhc2U6IHdpdGhvdXQgZm9vIiwgICBbImZvb2wiLCAiYmFyIl0pLAorKyAgICAgICAgICAgICgi Y2FzZTogd2l0aG91dCBmb28yIiwgIFsiZm9venkiLCAiYmFyIl0pLAorKyAgICAgICAgXQorKyAg ICAgICAgZm9yIGNhc2UsIHRhZ3MgaW4gdGVzdF9wYXR0ZXJuczoKKysgICAgICAgICAgICBhY3R1 YWxfcmVzdWx0ID0gc2VsZi5jdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aCh0YWdzKQor KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UsIGFjdHVhbF9yZXN1bHQsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6IHRhZ3M9JXMiICUgKGNhc2UsIHRhZ3MpKQor KworKyAgICAgICAgICAgIGFjdHVhbF90cnVlX2NvdW50ID0gc2VsZi5jb3VudF90YWdfbWF0Y2hl cl93aXRoX3Jlc3VsdCgKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm LmN0YWdfbWF0Y2hlci50YWdfbWF0Y2hlcnMsIHRhZ3MsIFRydWUpCisrICAgICAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbCgwLCBhY3R1YWxfdHJ1ZV9jb3VudCkKKysnJycKKysKK2RpZmYgLS1naXQg YS90ZXN0cy91bml0L3Rlc3RfdGFnX21hdGNoZXIucHkgYi90ZXN0cy91bml0L3Rlc3RfdGFnX21h dGNoZXIucHkKK2luZGV4IGEwNGMxZDQuLjQzZjVhZjAgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0 L3Rlc3RfdGFnX21hdGNoZXIucHkKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF90YWdfbWF0Y2hlci5w eQorQEAgLTEyOCw5ICsxMjgsOSBAQCBjbGFzcyBUZXN0QWN0aXZlVGFnTWF0Y2hlcjIob2JqZWN0 KToKKyAgICAgICAgICMgLS0gR1JPVVA6IFdpdGggbmVnYXRlZCB0YWcKKyAgICAgICAgICgiY2Fz ZSBOMDA6IG5vdC1lbmFibGVkIGFuZCBkaXNhYmxlZCB0YWciLCBUcnVlLAorICAgICAgICAgIFsg dHJhaXRzLmNhdGVnb3J5MV9ub3RfZW5hYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJs ZWRfdGFnXSksCistICAgICAgICAoImNhc2UgTjAxOiBub3QtZW5hYmxlZCBhbmQgZW5hYmxlZCB0 YWciLCBGYWxzZSwKKysgICAgICAgICgiY2FzZSBOMDE6IG5vdC1lbmFibGVkIGFuZCBlbmFibGVk IHRhZyIsIFRydWUsCisgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkxX25vdF9lbmFibGVkX3Rh ZywgdHJhaXRzLmNhdGVnb3J5MV9lbmFibGVkX3RhZ10pLAorLSAgICAgICAgKCJjYXNlIE4xMDog bm90LWRpc2FibGVkIGFuZCBkaXNhYmxlZCB0YWciLCBGYWxzZSwKKysgICAgICAgICgiY2FzZSBO MTA6IG5vdC1kaXNhYmxlZCBhbmQgZGlzYWJsZWQgdGFnIiwgVHJ1ZSwKKyAgICAgICAgICBbIHRy YWl0cy5jYXRlZ29yeTFfbm90X2Rpc2FibGVkX3RhZywgdHJhaXRzLmNhdGVnb3J5MV9kaXNhYmxl ZF90YWddKSwKKyAgICAgICAgICgiY2FzZSBOMTE6IG5vdC1kaXNhYmxlZCBhbmQgZW5hYmxlZCB0 YWciLCBGYWxzZSwgIyAtLSBTSE9VTEQtUlVOCisgICAgICAgICAgWyB0cmFpdHMuY2F0ZWdvcnkx X25vdF9kaXNhYmxlZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxlZF90YWddKSwKK0BAIC0x MzgsNiArMTM4LDggQEAgY2xhc3MgVGVzdEFjdGl2ZVRhZ01hdGNoZXIyKG9iamVjdCk6CisgICAg IGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX2NvbWJpbmF0aW9uc193aXRoX3NhbWVfY2F0 ZWdvcnkoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNhc2UsIGV4cGVjdGVkLCB0YWdzKToKKyAgICAgICAgIHRhZ19tYXRjaGVy ID0gc2VsZi5tYWtlX3RhZ19tYXRjaGVyKCkKKysgICAgICAgIHByaW50KCJ0YWdzOiB7fSIuZm9y bWF0KHRhZ3MpICkKKysgICAgICAgIHByaW50KCJ0YWdfbWF0Y2hlci52YWx1ZToge30iLmZvcm1h dCh0YWdfbWF0Y2hlci52YWx1ZV9wcm92aWRlcikgKQorICAgICAgICAgYWN0dWFsX3Jlc3VsdCA9 IHRhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykKKyAgICAgICAgIGFzc2VydCBl eHBlY3RlZCA9PSBhY3R1YWxfcmVzdWx0LCBjYXNlCisgCitAQCAtMjI0LDYgKzIyNiw3IEBAIGNs YXNzIFRlc3RBY3RpdmVUYWdNYXRjaGVyMShUZXN0Q2FzZSk6CisgCisgICAgIGRlZiB0ZXN0X3No b3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfZmFsc2Vfd2l0aF9kaXNhYmxlZF90YWdfYW5kX21v cmUoc2VsZik6CisgICAgICAgICAjIC0tIE5PVEU6IE5lZWQgMSsgZW5hYmxlZCBhY3RpdmUtdGFn cyBvZiBzYW1lIGNhdGVnb3J5ID0+IEVOQUJMRUQKKysgICAgICAgICMgcHlsaW50OiBkaXNhYmxl PWxpbmUtdG9vLWxvbmcKKyAgICAgICAgIHRyYWl0cyA9IHNlbGYudHJhaXRzCisgICAgICAgICB0 ZXN0X3BhdHRlcm5zID0gWworICAgICAgICAgICAgIChbIHRyYWl0cy5jYXRlZ29yeTFfZW5hYmxl ZF90YWcsIHRyYWl0cy5jYXRlZ29yeTFfZGlzYWJsZWRfdGFnIF0sICJjYXNlOiBmaXJzdCIpLAor QEAgLTI4Myw3ICsyODYsNyBAQCBjbGFzcyBUZXN0QWN0aXZlVGFnTWF0Y2hlcjEoVGVzdENhc2Up OgorICAgICAgICAgIiIiCisgICAgICAgICB0cmFpdHMgPSBzZWxmLnRyYWl0cworICAgICAgICAg dGFncyA9IFsgdHJhaXRzLnVua25vd25fY2F0ZWdvcnlfdGFnIF0KKy0gICAgICAgIHNlbGYuYXNz ZXJ0RXF1YWwoImFjdGl2ZS53aXRoX1VOS05PV049b25lIiwgdHJhaXRzLnVua25vd25fY2F0ZWdv cnlfdGFnKQorKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgidXNlLndpdGhfVU5LTk9XTj1vbmUi LCB0cmFpdHMudW5rbm93bl9jYXRlZ29yeV90YWcpCisgICAgICAgICBzZWxmLmFzc2VydEVxdWFs KE5vbmUsIHNlbGYudGFnX21hdGNoZXIudmFsdWVfcHJvdmlkZXIuZ2V0KCJVTktOT1dOIikpCisg ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBzZWxmLnRhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgodGFncykpCisgCitAQCAtMzc2LDQyICszNzksNiBAQCBjbGFzcyBUZXN0UHJl ZGljYXRlVGFnTWF0Y2hlcihUZXN0Q2FzZSk6CisgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZh bHNlLCBwcmVkaWNhdGVfYWx3YXlzX2ZhbHNlKHRhZ3MpKQorIAorIAorLWNsYXNzIFRlc3RQcmVk aWNhdGVUYWdNYXRjaGVyKFRlc3RDYXNlKToKKy0KKy0gICAgZGVmIHRlc3RfZXhjbHVkZV93aXRo X19tZWNoYW5pY3Moc2VsZik6CistICAgICAgICBwcmVkaWNhdGVfZnVuY3Rpb25fYmx1ZXByaW50 ID0gbGFtYmRhIHRhZ3M6IEZhbHNlCistICAgICAgICBwcmVkaWNhdGVfZnVuY3Rpb24gPSBNb2Nr KHByZWRpY2F0ZV9mdW5jdGlvbl9ibHVlcHJpbnQpCistICAgICAgICBwcmVkaWNhdGVfZnVuY3Rp b24ucmV0dXJuX3ZhbHVlID0gVHJ1ZQorLSAgICAgICAgdGFnX21hdGNoZXIgPSBQcmVkaWNhdGVU YWdNYXRjaGVyKHByZWRpY2F0ZV9mdW5jdGlvbikKKy0gICAgICAgIHRhZ3MgPSBbICJmb28iLCAi YmFyIiBdCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHRhZ19tYXRjaGVyLnNob3Vs ZF9leGNsdWRlX3dpdGgodGFncykpCistICAgICAgICBwcmVkaWNhdGVfZnVuY3Rpb24uYXNzZXJ0 X2NhbGxlZF9vbmNlX3dpdGgodGFncykKKy0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwg cHJlZGljYXRlX2Z1bmN0aW9uKHRhZ3MpKQorLQorLSAgICBkZWYgdGVzdF9zaG91bGRfZXhjbHVk ZV93aXRoX19yZXR1cm5zX3RydWVfd2hlbl9wcmVkaWNhdGVfaXNfdHJ1ZShzZWxmKToKKy0gICAg ICAgIHByZWRpY2F0ZV9hbHdheXNfdHJ1ZSA9IGxhbWJkYSB0YWdzOiBUcnVlCistICAgICAgICB0 YWdfbWF0Y2hlcjEgPSBQcmVkaWNhdGVUYWdNYXRjaGVyKHByZWRpY2F0ZV9hbHdheXNfdHJ1ZSkK Ky0gICAgICAgIHRhZ3MgPSBbICJmb28iLCAiYmFyIiBdCistICAgICAgICBzZWxmLmFzc2VydEVx dWFsKFRydWUsIHRhZ19tYXRjaGVyMS5zaG91bGRfZXhjbHVkZV93aXRoKHRhZ3MpKQorLSAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBwcmVkaWNhdGVfYWx3YXlzX3RydWUodGFncykpCist CistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dpdGhfX3JldHVybnNfdHJ1ZV93aGVuX3By ZWRpY2F0ZV9pc190cnVlMihzZWxmKToKKy0gICAgICAgICMgLS0gQ0FTRTogVXNlIHByZWRpY2F0 ZSBmdW5jdGlvbiBpbnN0ZWFkIG9mIGxhbWJkYS4KKy0gICAgICAgIGRlZiBwcmVkaWNhdGVfY29u dGFpbnNfZm9vKHRhZ3MpOgorLSAgICAgICAgICAgIHJldHVybiBhbnkoeCA9PSAiZm9vIiBmb3Ig eCBpbiB0YWdzKQorLSAgICAgICAgdGFnX21hdGNoZXIyID0gUHJlZGljYXRlVGFnTWF0Y2hlcihw cmVkaWNhdGVfY29udGFpbnNfZm9vKQorLSAgICAgICAgdGFncyA9IFsgImZvbyIsICJiYXIiIF0K Ky0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZSwgdGFnX21hdGNoZXIyLnNob3VsZF9leGNs dWRlX3dpdGgodGFncykpCistICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFRydWUsIHByZWRpY2F0 ZV9jb250YWluc19mb28odGFncykpCistCistICAgIGRlZiB0ZXN0X3Nob3VsZF9leGNsdWRlX3dp dGhfX3JldHVybnNfZmFsc2Vfd2hlbl9wcmVkaWNhdGVfaXNfZmFsc2Uoc2VsZik6CistICAgICAg ICBwcmVkaWNhdGVfYWx3YXlzX2ZhbHNlID0gbGFtYmRhIHRhZ3M6IEZhbHNlCistICAgICAgICB0 YWdfbWF0Y2hlcjEgPSBQcmVkaWNhdGVUYWdNYXRjaGVyKHByZWRpY2F0ZV9hbHdheXNfZmFsc2Up CistICAgICAgICB0YWdzID0gWyAiZm9vIiwgImJhciIgXQorLSAgICAgICAgc2VsZi5hc3NlcnRF cXVhbChGYWxzZSwgdGFnX21hdGNoZXIxLnNob3VsZF9leGNsdWRlX3dpdGgodGFncykpCistICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBwcmVkaWNhdGVfYWx3YXlzX2ZhbHNlKHRhZ3Mp KQorLQorLQorIGNsYXNzIFRlc3RDb21wb3NpdGVUYWdNYXRjaGVyKFRlc3RDYXNlKToKKyAKKyAg ICAgQHN0YXRpY21ldGhvZApkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29s cy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMC1GSVgtVGVzdHMtdy1tb3JlLmZlYXR1cmVzLnBh dGNoIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDExMC1GSVgtVGVzdHMtdy1tb3JlLmZlYXR1cmVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uMzVlMjZiMGJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRo b24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExMC1GSVgtVGVzdHMt dy1tb3JlLmZlYXR1cmVzLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gNjNlMTVlOGY4OWUw ZTkxNDRiZGExOGRmM2UwOGU5NmU4YzliZmU1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0 LCA5IEphbiAyMDIxIDIyOjA5OjU5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogVGVzdHMg dy8gbW9yZS5mZWF0dXJlcy8KKworLS0tCisgcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQgICAg fCAyICsrCisgcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQgfCAyICsrCisgdG94LmluaSAg ICAgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50cy9j aS50b3gudHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRveC50eHQKK2luZGV4IDViZWU1MjQuLjM4 N2U5MDUgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVudHMvY2kudG94LnR4dAorKysrIGIvcHku cmVxdWlyZW1lbnRzL2NpLnRveC50eHQKK0BAIC0xMywzICsxMyw1IEBAIFB5SGFtY3Jlc3QgPCAg Mi4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICczLjAnCisgIyAtLSBISU5UOiBwYXRoLnB5ID0+IHBh dGggKHB5dGhvbi1pbnN0YWxsLXBhY2thZ2Ugd2FzIHJlbmFtZWQgZm9yIHB5dGhvbjMpCisgcGF0 aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisgcGF0aCA+PSAxMy4xLjA7 ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUnCisrCisranNvbnNjaGVtYQorZGlmZiAtLWdpdCBh L3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0IGIvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZp cy50eHQKK2luZGV4IDM3MjExNmEuLmNiYzYwYzAgMTAwNjQ0CistLS0gYS9weS5yZXF1aXJlbWVu dHMvY2kudHJhdmlzLnR4dAorKysrIGIvcHkucmVxdWlyZW1lbnRzL2NpLnRyYXZpcy50eHQKK0BA IC0xNiw2ICsxNiw4IEBAIFB5SGFtY3Jlc3QgPCAgMi4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICcz LjAnCisgcGF0aC5weSA+PSAxMS41LjA7IHB5dGhvbl92ZXJzaW9uIDwgICczLjUnCisgcGF0aCA+ PSAxMy4xLjA7ICAgIHB5dGhvbl92ZXJzaW9uID49ICczLjUnCisgCisranNvbnNjaGVtYQorKwor ICMgLS0gTk9URTogVHJhdmlzLkNJIHR3ZWFrIHJlbGF0ZWQgdy8gaW52YWxpZCBsaW5lY2FjaGUy IHRlc3RzLgorICMgICAgVGhpcyBwcm9ibGVtIGRvZXMgbm90IGV4aXN0IGlmIHlvdSB1c2UgcGlw LgorIGxpbmVjYWNoZTIgPj0gMS4wOyBweXRob25fdmVyc2lvbiA8ICczLjAnCitkaWZmIC0tZ2l0 IGEvdG94LmluaSBiL3RveC5pbmkKK2luZGV4IDhjY2I1OGIuLmMxNDViNTEgMTAwNjQ0CistLS0g YS90b3guaW5pCisrKysgYi90b3guaW5pCitAQCAtNiw3ICs2LDcgQEAKKyAjICAgVXNlIHRveCB0 byBydW4gdGFza3MgKHRlc3RzLCAuLi4pIGluIGEgY2xlYW4gdmlydHVhbCBlbnZpcm9ubWVudC4K KyAjICAgQWZ0ZXJ3YXJkcyB5b3UgY2FuIHJ1biB0b3ggaW4gb2ZmbGluZSBtb2RlLCBsaWtlOgor ICMKKy0jICAgICAgIHRveCAtZSBweTI3CisrIyAgICAgICB0b3ggLWUgcHkzOAorICMKKyAjICAg VG94IGNhbiBiZSBjb25maWd1cmVkIGZvciBvZmZsaW5lIHVzYWdlLgorICMgICBJbml0aWFsaXpl IGxvY2FsIHdvcmtzcGFjZSBvbmNlIChkb3dubG9hZCBwYWNrYWdlcywgY3JlYXRlIFB5UEkgaW5k ZXgpOgorQEAgLTI4LDcgKzI4LDcgQEAKKyAKKyBbdG94XQorIG1pbnZlcnNpb24gICA9IDIuMwor LWVudmxpc3QgICAgICA9IHB5MjcsIHB5MzcsIHB5MzgsIHB5MzYsIHB5MzUsIHB5cHksIGRvY3MK KytlbnZsaXN0ICAgICAgPSBweTM5LCBweTM4LCBweTI3LCBweTM3LCBweTM2LCBweTM1LCBweXB5 MywgcHlweSwgZG9jcworIHNraXBfbWlzc2luZ19pbnRlcnByZXRlcnMgPSBUcnVlCisgc2l0ZXBh Y2thZ2VzID0gRmFsc2UKKyBpbmRleHNlcnZlciA9CmRpZmYgLS1naXQgYS9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTExLUZJWC1Tb21lLXJlZ3Jl c3Npb25zLXdpdGgtUHl0aG9uLTMuOS5wYXRjaCBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9v bHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTEtRklYLVNvbWUtcmVncmVzc2lvbnMtd2l0aC1Q eXRob24tMy45LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNWQ1 NjBhZDNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmUvMDExMS1GSVgtU29tZS1yZWdyZXNzaW9ucy13aXRoLVB5dGhv bi0zLjkucGF0Y2gKQEAgLTAsMCArMSw3NDEgQEAKK0Zyb20gM2MyMDdhYzlhYzgzZDM5NjZhN2E4 NGI4NzgyMzk0ZGM2MDMwMzBjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAy MDIxIDIyOjExOjM4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWDogU29tZSByZWdyZXNzaW9u cyB3aXRoIFB5dGhvbiAzLjkKKworKiBhc3luYy1zdGVwczogVXNlIG1vcmUgc3RhYmxlIGFjdGl2 ZS10YWdzIG5vdy4KKyogSlVuaXQgWE1MIHJlbGF0ZWQ6IEFkYXB0IHRvIFhNTCBhdHRyaWJ1dGUg b3JkZXJpbmcgY2hhbmdlcyBzaW5jZSBQeXRob24gMy44LgorKiBQcmVwYXJlIGFjdGl2ZS10YWdz IHVzYWdlIGZvciBQeXRob24gMy4xMAorKiBCZWhhdmUganNvbnNjaGVtYTogQWRkIHNvbWUgZXh0 cmEgZWxlbWVudHMgKHJlbGF0ZWQgdG86IGdoZXJraW4gdjYgUnVsZSkuCistLS0KKyAuZ2l0aWdu b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgQ0hBTkdFUy5y c3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKworIGJlaGF2ZS9weXRo b25fZmVhdHVyZS5weSAgICAgICAgICAgICAgICAgICAgICB8IDgxICsrKysrKysrKysrKysrKysr KysKKyBldGMvanNvbi9iZWhhdmUuanNvbi1zY2hlbWEgICAgICAgICAgICAgICAgICAgfCAyOCAr KysrKystCisgLi4uL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUgICAgICAgICAgIHwg IDcgKy0KKyAuLi4vYXN5bmNfc3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZSAgICAgfCAg NyArLQorIGV4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgICB8IDE2 ICsrLS0KKyAuLi4vZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQucHkgICAgICAgICAgfCAg NCArLQorIC4uLi9mZWF0dXJlcy9zdGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5weSAgICB8IDEz ICstLQorIC4uLi9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzLnB5ICB8ICA2 ICstCisgZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgICAgICAgICAgICAgICAgICAgICAgIHwgMTIg KystCisgZmVhdHVyZXMvc3RlcC5hc3luY19zdGVwcy5mZWF0dXJlICAgICAgICAgICAgIHwgNjQg KysrKy0tLS0tLS0tLS0tCisgaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUgICAgICAg ICAgICAgIHwgMTggKysrLS0KKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NDYuZmVhdHVyZSAgICAg ICAgICAgICAgfCAxMiArKy0KKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZSAgICAg ICAgICAgICAgfCAxMiArKy0KKyBpc3N1ZS5mZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVyZSAgICAg ICAgICAgICAgfCAxMSArLS0KKyBtb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5ICAgICAgICAg ICAgICAgICAgfCAxMCArLS0KKyBtb3JlLmZlYXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlICAg ICAgICAgICAgfCAgOSArLS0KKyAxOCBmaWxlcyBjaGFuZ2VkLCAxOTUgaW5zZXJ0aW9ucygrKSwg MTE4IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiZWhhdmUvcHl0aG9uX2ZlYXR1 cmUucHkKKworZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCitpbmRleCA5YzVj MzNkLi44ZDdjMjhlIDEwMDY0NAorLS0tIGEvLmdpdGlnbm9yZQorKysrIGIvLmdpdGlnbm9yZQor QEAgLTI1LDMgKzI1LDQgQEAgdG9vbHMvdmlydHVhbGVudnMKKyAucm9wZXByb2plY3QKKyBub3Nl dGVzdHMueG1sCisgcmVydW4udHh0CisrdGVzdHJ1biouanNvbgorZGlmZiAtLWdpdCBhL0NIQU5H RVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IDRlMjBiYjguLmEzMzk4ZDggMTAwNjQ0CistLS0g YS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5yc3QKK0BAIC0zOCw2ICszOCw4IEBAIENMQVJJ RklDQVRJT046CisgCisgRklYRUQ6CisgCisrKiBGSVhFRDogU29tZSB0ZXN0cyByZWxhdGVkIHRv IHB5dGhvbjMuOQorKyogRklYRUQ6IGFjdGl2ZS10YWcgbG9naWMgaWYgbXVsdGlwbGUgdGFncyB3 aXRoIHNhbWUgY2F0ZWdvcnkgZXhpc3RzLgorICogaXNzdWUgIzc3MjogU2NlbmFyaW9PdXRsaW5l LkV4YW1wbGVzIHdpdGhvdXQgdGFibGUgKHN1Ym1pdHRlZCBieTogVGhlLVFBLUdlZWspCisgKiBp c3N1ZSAjNzU1OiBGYWlsdXJlcyB3aXRoIFB5dGhvbiAzLjggKHN1Ym1pdHRlZCBieTogaHJvbmNv aykKKyAqIGlzc3VlICM3MjU6IFNjZW5hcmlvIE91dGxpbmUgZGVzY3JpcHRpb24gbGluZXMgc2Vl bSB0byBiZSBpZ25vcmVkIChzdWJtaXR0ZWQgYnk6IG5pendpeikKK2RpZmYgLS1naXQgYS9iZWhh dmUvcHl0aG9uX2ZlYXR1cmUucHkgYi9iZWhhdmUvcHl0aG9uX2ZlYXR1cmUucHkKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi40ZTEzNGRlCistLS0gL2Rldi9udWxsCisrKysg Yi9iZWhhdmUvcHl0aG9uX2ZlYXR1cmUucHkKK0BAIC0wLDAgKzEsODEgQEAKKysjIC0qLSBjb2Rp bmc6IFVURi04IC0qLQorKyIiIgorK1Byb3ZpZGVzIGEga25vd2xlZGdlIGRhdGFiYXNlIGlmIHNv bWUgUHl0aG9uIGZlYXR1cmVzIGFyZSBzdXBwb3J0ZWQKKytpbiB0aGUgY3VycmVudCBweXRob24g dmVyc2lvbi4KKysiIiIKKysKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9y dAorK2ltcG9ydCBzeXMKKytpbXBvcnQgc2l4CisrZnJvbSBiZWhhdmUudGFnX21hdGNoZXIgaW1w b3J0IGJvb2xfdG9fc3RyaW5nCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ09O U1RBTlRTOgorKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKytQWVRIT05fVkVSU0lPTiA9IHN5cy52 ZXJzaW9uX2luZm9bOjJdCisrCisrCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ0xBU1NF UzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY2xhc3MgUHl0aG9uRmVhdHVyZShvYmplY3Qp OgorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRlZiBoYXNfYXN5bmNpb19jb3JvdXRpbmVf ZGVjb3JhdG9yKCk6CisrICAgICAgICAiIiJJbmRpY2F0ZXMgaWYgcHl0aG9uIHN1cHBvcnRzIGBg QGFzeW5jaW8uY29yb3V0aW5lYGAgZGVjb3JhdG9yLgorKworKyAgICAgICAgRVhBTVBMRTo6Cisr CisrICAgICAgICAgICAgaW1wb3J0IGFzeW5jaW8KKysgICAgICAgICAgICBAYXN5bmNpby5jb3Jv dXRpbmUKKysgICAgICAgICAgICBkZWYgYXN5bmNfd2FpdHNfc2Vjb25kcyhkdXJhdGlvbik6Cisr ICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gYXN5bmNpby5zbGVlcChkdXJhdGlvbikKKysKKysg ICAgICAgIDpyZXR1cm5zOiBUcnVlLCBpZiB0aGlzIHB5dGhvbiB2ZXJzaW9uIHN1cHBvcnRzIHRo aXMgZmVhdHVyZS4KKysKKysgICAgICAgIC4uIHNpbmNlOjogUHl0aG9uID49IDMuNAorKyAgICAg ICAgLi4gZGVwcmVjYXRlZDo6IFNpbmNlIFB5dGhvbiAzLjggKHVzZSBhc3luYy1mdW5jdGlvbiBp bnN0ZWFkKQorKyAgICAgICAgIiIiCisrICAgICAgICAjIC0tIE5PVEU6IEBhc3luY2lvLmNvcm91 dGluZSBpcyBkZXByZWNhdGVkIGluIHB5My44LCByZW1vdmVkIGluIHB5My4xMAorKyAgICAgICAg cmV0dXJuICgzLCA0KSA8PSBQWVRIT05fVkVSU0lPTiA8ICgzLCAxMCkKKysKKysgICAgQHN0YXRp Y21ldGhvZAorKyAgICBkZWYgaGFzX2FzeW5jX2Z1bmN0aW9uKCk6CisrICAgICAgICAiIiJJbmRp Y2F0ZXMgaWYgcHl0aG9uIHN1cHBvcnRzIGFzeW5jLWZ1bmN0aW9ucyAvIGFzeW5jLWtleXdvcmQu CisrCisrICAgICAgICBFWEFNUExFOjoKKysKKysgICAgICAgICAgICBpbXBvcnQgYXN5bmNpbwor KyAgICAgICAgICAgIGFzeW5jIGRlZiBhc3luY193YWl0c19zZWNvbmRzKGR1cmF0aW9uKToKKysg ICAgICAgICAgICAgICAgeWllbGQgZnJvbSBhc3luY2lvLnNsZWVwKGR1cmF0aW9uKQorKworKyAg ICAgICAgOnJldHVybnM6IFRydWUsIGlmIHRoaXMgcHl0aG9uIHZlcnNpb24gc3VwcG9ydHMgdGhp cyBmZWF0dXJlLgorKyAgICAgICAgLi4gc2luY2U6OiBQeXRob24gPj0gMy41CisrICAgICAgICAi IiIKKysgICAgICAgIHJldHVybiAoMywgNSkgPD0gUFlUSE9OX1ZFUlNJT04KKysKKysgICAgQGNs YXNzbWV0aG9kCisrICAgIGRlZiBoYXNfY29yb3V0aW5lKGNscyk6CisrICAgICAgICByZXR1cm4g Y2xzLmhhc19hc3luY19mdW5jdGlvbigpIG9yIGNscy5oYXNfYXN5bmNpb19jb3JvdXRpbmVfZGVj b3JhdG9yKCkKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBTVVBQT1JURUQ6IEFD VElWRS1UQUdTCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorK1BZVEhPTl9IQVNfQVNZTkNJT19D T1JPVVRJTkVfREVDT1JBVE9SID0gUHl0aG9uRmVhdHVyZS5oYXNfYXN5bmNpb19jb3JvdXRpbmVf ZGVjb3JhdG9yKCkKKytQWVRIT05fSEFTX0FTWU5DX0ZVTkNUSU9OID0gUHl0aG9uRmVhdHVyZS5o YXNfYXN5bmNfZnVuY3Rpb24oKQorK1BZVEhPTl9IQVNfQ09ST1VUSU5FID0gUHl0aG9uRmVhdHVy ZS5oYXNfY29yb3V0aW5lKCkKKytBQ1RJVkVfVEFHX1ZBTFVFX1BST1ZJREVSID0geworKyAgICAi cHl0aG9uMiI6IGJvb2xfdG9fc3RyaW5nKHNpeC5QWTIpLAorKyAgICAicHl0aG9uMyI6IGJvb2xf dG9fc3RyaW5nKHNpeC5QWTMpLAorKyAgICAicHl0aG9uLnZlcnNpb24iOiAiJXMuJXMiICUgUFlU SE9OX1ZFUlNJT04sCisrICAgICJvcyI6ICAgICAgc3lzLnBsYXRmb3JtLmxvd2VyKCksCisrCisr ICAgICMgLS0gUFlUSE9OIEZFQVRVUkUsIGxpa2U6IEB1c2Uud2l0aF9weS5mZWF0dXJlX2FzeW5j aW8uY29yb3V0aW5lCisrICAgICJweXRob25faGFzX2Nvcm91dGluZSI6IGJvb2xfdG9fc3RyaW5n KFBZVEhPTl9IQVNfQ09ST1VUSU5FKSwKKysgICAgInB5dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRp bmVfZGVjb3JhdG9yIjoKKysgICAgICAgIGJvb2xfdG9fc3RyaW5nKFBZVEhPTl9IQVNfQVNZTkNJ T19DT1JPVVRJTkVfREVDT1JBVE9SKSwKKysgICAgInB5dGhvbl9oYXNfYXN5bmNfZnVuY3Rpb24i OiBib29sX3RvX3N0cmluZyhQWVRIT05fSEFTX0FTWU5DX0ZVTkNUSU9OKSwKKysgICAgInB5dGhv bl9oYXNfYXN5bmNfa2V5d29yZCI6IGJvb2xfdG9fc3RyaW5nKFBZVEhPTl9IQVNfQVNZTkNfRlVO Q1RJT04pLAorK30KK2RpZmYgLS1naXQgYS9ldGMvanNvbi9iZWhhdmUuanNvbi1zY2hlbWEgYi9l dGMvanNvbi9iZWhhdmUuanNvbi1zY2hlbWEKK2luZGV4IDljZjNlNjIuLjExMGUyNDAgMTAwNjQ0 CistLS0gYS9ldGMvanNvbi9iZWhhdmUuanNvbi1zY2hlbWEKKysrKyBiL2V0Yy9qc29uL2JlaGF2 ZS5qc29uLXNjaGVtYQorQEAgLTI4LDEwICsyOCwzNiBAQAorICAgICAgICAgICAgICJ0eXBlIjog Im9iamVjdCIsCisgICAgICAgICAgICAgImFueU9mIjogWworICAgICAgICAgICAgICAgICB7ICIk cmVmIjogIiMvZGVmaW5pdGlvbnMvQmFja2dyb3VuZCIgfSwKKysgICAgICAgICAgICAgICAgeyAi JHJlZiI6ICIjL2RlZmluaXRpb25zL1J1bGUiIH0sCisgICAgICAgICAgICAgICAgIHsgIiRyZWYi OiAiIy9kZWZpbml0aW9ucy9TY2VuYXJpbyIgfSwKKyAgICAgICAgICAgICAgICAgeyAiJHJlZiI6 ICIjL2RlZmluaXRpb25zL1NjZW5hcmlvT3V0bGluZSIgfQorICAgICAgICAgICAgIF0KKyAgICAg ICAgIH0sCisrICAgICAgICAiUnVsZSI6IHsKKysgICAgICAgICAgICAidHlwZSI6ICJvYmplY3Qi LAorKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJSZXByZXNlbnRzIGEgUnVsZSBvYmplY3Qu IiwKKysgICAgICAgICAgICAicHJvcGVydGllcyI6IHsKKysgICAgICAgICAgICAgICAgIm5hbWUi OiAgICAgeyAidHlwZSI6ICJzdHJpbmciIH0sCisrICAgICAgICAgICAgICAgICJrZXl3b3JkIjog IHsgInR5cGUiOiAic3RyaW5nIiB9LAorKyAgICAgICAgICAgICAgICAibG9jYXRpb24iOiB7ICJ0 eXBlIjogInN0cmluZyIgfSwKKysgICAgICAgICAgICAgICAgInN0YXR1cyI6ICAgeyAidHlwZSI6 ICJzdHJpbmciIH0sCisrICAgICAgICAgICAgICAgICJ0YWdzIjogICAgIHsgIiRyZWYiOiAiIy9k ZWZpbml0aW9ucy9UYWdzIiB9LAorKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiB7ICIk cmVmIjogIiMvZGVmaW5pdGlvbnMvTXVsdGlMaW5lVGV4dCIgfSwKKysgICAgICAgICAgICAgICAg ImVsZW1lbnRzIjogeworKyAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiYXJyYXkiLAorKyAg ICAgICAgICAgICAgICAgICAgIml0ZW1zIjogeyAiJHJlZiI6ICIjL2RlZmluaXRpb25zL1J1bGVF bGVtZW50IiB9CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9LAorKyAgICAgICAg ICAgICJyZXF1aXJlZCI6IFsgIm5hbWUiLCAia2V5d29yZCIsICJsb2NhdGlvbiIgXQorKyAgICAg ICAgfSwKKysgICAgICAgICJSdWxlRWxlbWVudCI6IHsKKysgICAgICAgICAgICAidHlwZSI6ICJv YmplY3QiLAorKyAgICAgICAgICAgICJhbnlPZiI6IFsKKysgICAgICAgICAgICAgICAgeyAiJHJl ZiI6ICIjL2RlZmluaXRpb25zL1NjZW5hcmlvIiB9LAorKyAgICAgICAgICAgICAgICB7ICIkcmVm IjogIiMvZGVmaW5pdGlvbnMvU2NlbmFyaW9PdXRsaW5lIiB9LAorKyAgICAgICAgICAgICAgICB7 ICIkcmVmIjogIiMvZGVmaW5pdGlvbnMvQmFja2dyb3VuZCIgfQorKyAgICAgICAgICAgIF0KKysg ICAgICAgIH0sCisgICAgICAgICAiQmFja2dyb3VuZCI6IHsKKyAgICAgICAgICAgICAidHlwZSI6 ICJvYmplY3QiLAorICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogeworQEAgLTE2OSw0ICsxOTUs NCBAQAorICAgICAgICAgICAgICJlbnVtIjogWyAiYXJyYXkiLCAiYm9vbGVhbiIsICJpbnRlZ2Vy IiwgIm51bGwiLCAibnVtYmVyIiwgIm9iamVjdCIsICJzdHJpbmciIF0KKyAgICAgICAgIH0KKyAg ICAgfQorLX0KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK30KK2RpZmYgLS1naXQgYS9l eGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUgYi9leGFt cGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUKK2luZGV4IDE4 ZTk4NjkuLmUwZWJhMWUgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVz L2FzeW5jX2Rpc3BhdGNoLmZlYXR1cmUKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVy ZXMvYXN5bmNfZGlzcGF0Y2guZmVhdHVyZQorQEAgLTEsOCArMSw1IEBACistQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuNAorLUB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKy1AdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My42CistQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLUB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKytAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY19m dW5jdGlvbj10cnVlCisrQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVfZGVj b3JhdG9yPXRydWUKKyBGZWF0dXJlOgorICAgU2NlbmFyaW86CisgICAgIEdpdmVuIEkgZGlzcGF0 Y2ggYW4gYXN5bmMtY2FsbCB3aXRoIHBhcmFtICJBbGljZSIKK2RpZmYgLS1naXQgYS9leGFtcGxl cy9hc3luY19zdGVwL2ZlYXR1cmVzL2FzeW5jX3J1bi5mZWF0dXJlIGIvZXhhbXBsZXMvYXN5bmNf c3RlcC9mZWF0dXJlcy9hc3luY19ydW4uZmVhdHVyZQoraW5kZXggMjliOGZhNy4uOGI2ZTU1NSAx MDA2NDQKKy0tLSBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1 cmUKKysrKyBiL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvYXN5bmNfcnVuLmZlYXR1cmUK K0BAIC0xLDggKzEsNSBAQAorLUB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjQKKy1AdXNlLndp dGhfcHl0aG9uLnZlcnNpb249My41CistQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorLUB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKy1AdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44 CisrQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNfZnVuY3Rpb249dHJ1ZQorK0B1c2Uud2l0aF9w eXRob25faGFzX2FzeW5jaW8uY29yb3V0aW5lX2RlY29yYXRvcj10cnVlCisgRmVhdHVyZToKKyAg IFNjZW5hcmlvOgorICAgICBHaXZlbiBhbiBhc3luYy1zdGVwIHdhaXRzIDAuMyBzZWNvbmRzCitk aWZmIC0tZ2l0IGEvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBi L2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDAyYzRk OTIuLjNmYTk2MDQgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vu dmlyb25tZW50LnB5CisrKysgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL2Vudmlyb25t ZW50LnB5CitAQCAtMiw3ICsyLDggQEAKKyAKKyBmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBv cnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMKKyBmcm9tIGJlaGF2 ZS5hcGkucnVudGltZV9jb25zdHJhaW50IGltcG9ydCByZXF1aXJlX21pbl9weXRob25fdmVyc2lv bgorLWltcG9ydCBzeXMKKytmcm9tIGJlaGF2ZSBpbXBvcnQgcHl0aG9uX2ZlYXR1cmUKKysKKyAK KyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBSRVFVSVJFOiBweXRob24gPj0gMy40CitAQCAt MTUsMjcgKzE2LDI0IEBAIHJlcXVpcmVfbWluX3B5dGhvbl92ZXJzaW9uKCIzLjQiKQorICMgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyAjIC0tIE1BVENIRVMgQU5ZIFRBR1M6IEB1c2Uud2l0aF97Y2F0 ZWdvcnl9PXt2YWx1ZX0KKyAjIE5PVEU6IGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIgcHJvdmlk ZXMgY2F0ZWdvcnkgdmFsdWVzIGZvciBhY3RpdmUgdGFncy4KKy1weXRob25fdmVyc2lvbiA9ICIl cy4lcyIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorLWFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIg PSB7CistICAgICJweXRob24udmVyc2lvbiI6IHB5dGhvbl92ZXJzaW9uLAorLX0KKythY3RpdmVf dGFnX3ZhbHVlX3Byb3ZpZGVyID0gcHl0aG9uX2ZlYXR1cmUuQUNUSVZFX1RBR19WQUxVRV9QUk9W SURFUi5jb3B5KCkKKyBhY3RpdmVfdGFnX21hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyKGFjdGl2 ZV90YWdfdmFsdWVfcHJvdmlkZXIpCisgCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMg SE9PS1M6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLWRlZiBiZWZvcmVfYWxsKGNvbnRleHQp OgorK2RlZiBiZWZvcmVfYWxsKGN0eCk6CisgICAgICMgLS0gU0VUVVAgQUNUSVZFLVRBRyBNQVRD SEVSICh3aXRoIHVzZXJkYXRhKToKKy0gICAgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0aXZl X3RhZ192YWx1ZV9wcm92aWRlciwgY29udGV4dC5jb25maWcudXNlcmRhdGEpCisrICAgIHNldHVw X2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIsIGN0eC5jb25maWcu dXNlcmRhdGEpCisgCisgCistZGVmIGJlZm9yZV9mZWF0dXJlKGNvbnRleHQsIGZlYXR1cmUpOgor K2RlZiBiZWZvcmVfZmVhdHVyZShjdHgsIGZlYXR1cmUpOgorICAgICBpZiBhY3RpdmVfdGFnX21h dGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChmZWF0dXJlLnRhZ3MpOgorICAgICAgICAgZmVhdHVy ZS5za2lwKHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCisgCisgCist ZGVmIGJlZm9yZV9zY2VuYXJpbyhjb250ZXh0LCBzY2VuYXJpbyk6CisrZGVmIGJlZm9yZV9zY2Vu YXJpbyhjdHgsIHNjZW5hcmlvKToKKyAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9l eGNsdWRlX3dpdGgoc2NlbmFyaW8uZWZmZWN0aXZlX3RhZ3MpOgorICAgICAgICAgc2NlbmFyaW8u c2tpcChyZWFzb249YWN0aXZlX3RhZ19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorIAorZGlmZiAt LWdpdCBhL2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvX2FzeW5jX3N0ZXBzMzQu cHkgYi9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL19hc3luY19zdGVwczM0LnB5 CitpbmRleCA1NTY1MDBmLi5mYzRjOGQxIDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvYXN5bmNfc3Rl cC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5weQorKysrIGIvZXhhbXBsZXMvYXN5bmNf c3RlcC9mZWF0dXJlcy9zdGVwcy9fYXN5bmNfc3RlcHMzNC5weQorQEAgLTEsNSArMSw1IEBACist IyAtLSBSRVFVSVJFUzogUHl0aG9uID49IDMuNCBhbmQgUHl0aG9uIDwgMy44CistIyBISU5UOiBE ZWNvcmF0b3IgQGFzeW5jaW8uY29yb3V0aW5lIGlzIHByb2hpYml0ZWQgaW4gcHl0aG9uIDMuOAor KyMgLS0gUkVRVUlSRVM6IFB5dGhvbiA+PSAzLjQgYW5kIFB5dGhvbiA8IDMuMTAgKHJlbW92ZWQg aW46IDMuMTApCisrIyBISU5UOiBAYXN5bmNpby5jb3JvdXRpbmUgZGVjb3JhdG9yIGlzIGRlcHJl Y2F0ZWQgc2luY2UgcHl0aG9uIDMuOAorICMgVVNFOiAgQXN5bmMgZ2VuZXJhdG9yL2Nvcm91dGlu ZSBpbnN0ZWFkLgorIAorIGZyb20gYmVoYXZlIGltcG9ydCBzdGVwCitkaWZmIC0tZ2l0IGEvZXhh bXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9hc3luY19kaXNwYXRjaF9zdGVwcy5weSBi L2V4YW1wbGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMu cHkKK2luZGV4IDIyMmU1NGQuLmRlZjk2MTYgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9hc3luY19z dGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5CisrKysgYi9leGFtcGxl cy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0ZXBzL2FzeW5jX2Rpc3BhdGNoX3N0ZXBzLnB5CitAQCAt MSw4ICsxLDkgQEAKKyAjIC0qLSBjb2Rpbmc6IFVURi04IC0qLQorICMgUkVRVUlSRVM6IFB5dGhv biA+PSAzLjQvMy41CistaW1wb3J0IHN5cworKworIGZyb20gYmVoYXZlIGltcG9ydCBnaXZlbiwg dGhlbiwgc3RlcAorIGZyb20gYmVoYXZlLmFwaS5hc3luY19zdGVwIGltcG9ydCB1c2Vfb3JfY3Jl YXRlX2FzeW5jX2NvbnRleHQKKytmcm9tIGJlaGF2ZS5weXRob25fZmVhdHVyZSBpbXBvcnQgUHl0 aG9uRmVhdHVyZQorIGZyb20gaGFtY3Jlc3QgaW1wb3J0IGFzc2VydF90aGF0LCBlcXVhbF90bywg ZW1wdHkKKyBpbXBvcnQgYXN5bmNpbworIAorQEAgLTEwLDEzICsxMSwxNSBAQCBpbXBvcnQgYXN5 bmNpbworICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBBU1lOQyBFWEFNUExFIEZVTkNUSU9OOgor ICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCistcHl0aG9uX3ZlcnNpb24gPSAiJXMuJXMiICUgc3lzLnZl cnNpb25faW5mb1s6Ml0KKy1pZiBweXRob25fdmVyc2lvbiA+PSAiMy41IjoKKytpZiBQeXRob25G ZWF0dXJlLmhhc19hc3luY19mdW5jdGlvbigpOgorKyAgICAjIC0tIFVTRTogYXN5bmMtZnVuY3Rp b24gYXMgY29yb3V0aW5lLWZ1bmN0aW9uCisrICAgICMgU0lOQ0U6IFB5dGhvbiAzLjUgKHByZWZl cnJlZCkKKyAgICAgYXN5bmMgZGVmIGFzeW5jX2Z1bmMocGFyYW0pOgorICAgICAgICAgYXdhaXQg YXN5bmNpby5zbGVlcCgwLjIpCisgICAgICAgICByZXR1cm4gc3RyKHBhcmFtKS51cHBlcigpCist ZWxzZToKKy0gICAgIyAtLSBISU5UOiBEZWNvcmF0b3IgQGFzeW5jaW8uY29yb3V0aW5lIGlzIHBy b2hpYml0ZWQgaW4gcHl0aG9uIDMuOAorK2VsaWYgUHl0aG9uRmVhdHVyZS5oYXNfYXN5bmNpb19j b3JvdXRpbmVfZGVjb3JhdG9yKCk6CisrICAgICMgLS0gVVNFOiBAYXN5bmNpby5jb3JvdXRpbmUg ZGVjb3JhdG9yCisrICAgICMgU0lOQ0U6IFB5dGhvbiAzLjQsIGRlcHJlY2F0ZWQgc2luY2UgUHl0 aG9uIDMuOCwgcmVtb3ZlZCBpbiBQeXRob24gMy4xMAorICAgICBAYXN5bmNpby5jb3JvdXRpbmUK KyAgICAgZGVmIGFzeW5jX2Z1bmMocGFyYW0pOgorICAgICAgICAgeWllbGQgZnJvbSBhc3luY2lv LnNsZWVwKDAuMikKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9hc3luY19zdGVwL2ZlYXR1cmVzL3N0 ZXBzL2FzeW5jX3N0ZXBzLnB5IGIvZXhhbXBsZXMvYXN5bmNfc3RlcC9mZWF0dXJlcy9zdGVwcy9h c3luY19zdGVwcy5weQoraW5kZXggZGMwM2M3Mi4uMzNkMjM5MiAxMDA2NDQKKy0tLSBhL2V4YW1w bGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkKKysrKyBiL2V4YW1w bGVzL2FzeW5jX3N0ZXAvZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMucHkKK0BAIC01LDggKzUs OCBAQAorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgaW1wb3J0IHN5 cworIAorLXB5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCist aWYgcHl0aG9uX3ZlcnNpb24gPj0gIjMuNSI6CisrcHl0aG9uX3ZlcnNpb24gPSBzeXMudmVyc2lv bl9pbmZvWzoyXQorK2lmIHB5dGhvbl92ZXJzaW9uID49ICgzLCA1KToKKyAgICAgaW1wb3J0IF9h c3luY19zdGVwczM1CistZWxpZiBweXRob25fdmVyc2lvbiA9PSAiMy40IjoKKytlbGlmIHB5dGhv bl92ZXJzaW9uID09ICgzLCA0KToKKyAgICAgaW1wb3J0IF9hc3luY19zdGVwczM0CitkaWZmIC0t Z2l0IGEvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkgYi9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQor aW5kZXggMzc2OWVlNC4uNmZhZjRlMiAxMDA2NDQKKy0tLSBhL2ZlYXR1cmVzL2Vudmlyb25tZW50 LnB5CisrKysgYi9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorQEAgLTQsMjIgKzQsMTkgQEAKKyBm cm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KKyBm cm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0dXBfYWN0 aXZlX3RhZ192YWx1ZXMKKyBmcm9tIGJlaGF2ZTRjbWQwLnNldHVwX2NvbW1hbmRfc2hlbGwgaW1w b3J0IHNldHVwX2NvbW1hbmRfc2hlbGxfcHJvY2Vzc29yczRiZWhhdmUKKytmcm9tIGJlaGF2ZSBp bXBvcnQgcHl0aG9uX2ZlYXR1cmUKKyBpbXBvcnQgcGxhdGZvcm0KKyBpbXBvcnQgc3lzCistaW1w b3J0IHNpeAorKworIAorICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzogQHVzZS53aXRoX3tjYXRlZ29y eX09e3ZhbHVlfQorICMgTk9URTogYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBj YXRlZ29yeSB2YWx1ZXMgZm9yIGFjdGl2ZSB0YWdzLgorLXB5dGhvbl92ZXJzaW9uID0gIiVzLiVz IiAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCisgYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsK Ky0gICAgInB5dGhvbjIiOiBzdHIoc2l4LlBZMikubG93ZXIoKSwKKy0gICAgInB5dGhvbjMiOiBz dHIoc2l4LlBZMykubG93ZXIoKSwKKy0gICAgInB5dGhvbi52ZXJzaW9uIjogcHl0aG9uX3ZlcnNp b24sCisgICAgICMgLS0gcHl0aG9uLmltcGxlbWVudGF0aW9uOiBjcHl0aG9uLCBweXB5LCBqeXRo b24sIGlyb25weXRob24KKyAgICAgInB5dGhvbi5pbXBsZW1lbnRhdGlvbiI6IHBsYXRmb3JtLnB5 dGhvbl9pbXBsZW1lbnRhdGlvbigpLmxvd2VyKCksCisgICAgICJweXB5IjogICAgc3RyKCJfX3B5 cHlfXyIgaW4gc3lzLm1vZHVsZXMpLmxvd2VyKCksCistICAgICJvcyI6ICAgICAgc3lzLnBsYXRm b3JtLAorIH0KKythY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLnVwZGF0ZShweXRob25fZmVhdHVy ZS5BQ1RJVkVfVEFHX1ZBTFVFX1BST1ZJREVSKQorIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFjdGl2 ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKyAKKyAKK0BAIC0yNyw3ICsy NCw3IEBAIGRlZiBwcmludF9hY3RpdmVfdGFnc19zdW1tYXJ5KCk6CisgICAgIGFjdGl2ZV90YWdf ZGF0YSA9IGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIKKyAgICAgcHJpbnQoIkFDVElWRS1UQUcg U1VNTUFSWToiKQorICAgICBwcmludCgidXNlLndpdGhfcHl0aG9uLnZlcnNpb249JXMiICUgYWN0 aXZlX3RhZ19kYXRhLmdldCgicHl0aG9uLnZlcnNpb24iKSkKKy0gICAgIyBwcmludCgidXNlLndp dGhfb3M9JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgib3MiKSkKKysgICAgcHJpbnQoInVzZS53 aXRoX29zPSVzIiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoIm9zIikpCisgICAgIHByaW50KCkKKyAK KyAKK0BAIC01Myw2ICs1MCw3IEBAIGRlZiBiZWZvcmVfc2NlbmFyaW8oY29udGV4dCwgc2NlbmFy aW8pOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1ZGVfd2l0aChzY2Vu YXJpby5lZmZlY3RpdmVfdGFncyk6CisgICAgICAgICBzY2VuYXJpby5za2lwKHJlYXNvbj1hY3Rp dmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCisgCisrCisgIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICMgU1BFQ0lGSUMgRlVOQ1RJT05BTElUWToKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CitkaWZmIC0tZ2l0IGEvZmVhdHVyZXMvc3RlcC5hc3luY19zdGVwcy5mZWF0dXJlIGIvZmVhdHVy ZXMvc3RlcC5hc3luY19zdGVwcy5mZWF0dXJlCitpbmRleCAwNjcwOWQ5Li41OTE5Mzk3IDEwMDY0 NAorLS0tIGEvZmVhdHVyZXMvc3RlcC5hc3luY19zdGVwcy5mZWF0dXJlCisrKysgYi9mZWF0dXJl cy9zdGVwLmFzeW5jX3N0ZXBzLmZlYXR1cmUKK0BAIC0xLDQgKzEsNSBAQAorIEBub3Qud2l0aF9w eXRob24yPXRydWUKKytAdXNlLndpdGhfcHl0aG9uX2hhc19jb3JvdXRpbmU9dHJ1ZQorIEZlYXR1 cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorIAorICAgQXMgYSB0ZXN0 IHdyaXRlciBhbmQgc3RlcCBwcm92aWRlcgorQEAgLTE2LDExICsxNywxMSBAQCBGZWF0dXJlOiBB c3luYy1UZXN0IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAgIC4gICAgKiBhbiBhc3luYy1m dW5jdGlvbiBhcyBjb3JvdXRpbmUgdXNpbmcgYXN5bmMvYXdhaXQga2V5d29yZHMgKFB5dGhvbiAz LjUpCisgICAuICAgICogYW4gYXN5bmMtZnVuY3Rpb24gdGFnZ2VkIHdpdGggQGFzeW5jaW8uY29y b3V0aW5lIGFuZCB1c2luZyAieWllbGQgZnJvbSIKKyAgIC4KKy0gIC4gICMgLS0gRVhBTVBMRSBD QVNFIDEgKHNpbmNlIFB5dGhvbiAzLjUpOgorKyAgLiAgIyAtLSBFWEFNUExFIENBU0UgMSAoc2lu Y2UgUHl0aG9uIDMuNTsgcHJlZmVycmVkKToKKyAgIC4gIGFzeW5jIGRlZiBjb3JvdXRpbmUxKGR1 cmF0aW9uKToKKyAgIC4gICAgICBhd2FpdCBhc3luY2lvLnNsZWVwKGR1cmF0aW9uKQorICAgLgor LSAgLiAgIyAtLSBFWEFNUExFIENBU0UgMiAoc2luY2UgUHl0aG9uIDMuNCk6CisrICAuICAjIC0t IEVYQU1QTEUgQ0FTRSAyIChzaW5jZSBQeXRob24gMy40OyBkZXByZWNhdGVkIHNpbmNlIFB5dGhv biAzLjg7IHJlbW92ZWQgaW4gUHl0aG9uIDMuMTApOgorICAgLiAgQGFzeW5jaW8uY29yb3V0aW5l CisgICAuICBkZWYgY29yb3V0aW5lMihkdXJhdGlvbik6CisgICAuICAgICAgeWllbGQgZnJvbSBh c3luY2lvLnNsZWVwKGR1cmF0aW9uKQorQEAgLTMwLDEyICszMSw4IEBAIEZlYXR1cmU6IEFzeW5j LVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwgLi4uKQorICAgLiAgIFRoZSBhc3luYy1zdGVwIGNh biBkaXJlY3RseSBpbnRlcmFjdCB3aXRoIG90aGVyIGFzeW5jLWZ1bmN0aW9ucy4KKyAKKyAKKy0g ICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZl cnNpb249My42CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKy0gICAgQHVzZS53 aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45 CistICAgIFNjZW5hcmlvOiBVc2UgYXN5bmMtc3RlcCB3aXRoIEBhc3luY19ydW5fdW50aWxfY29t cGxldGUgKGFzeW5jKQorKyAgICBAdXNlLndpdGhfcHl0aG9uX2hhc19hc3luY19mdW5jdGlvbj10 cnVlCisrICAgIFNjZW5hcmlvOiBVc2UgYXN5bmMtc3RlcCB3aXRoIEBhc3luY19ydW5fdW50aWxf Y29tcGxldGUgKGFzeW5jOyByZXF1aXJlczogcHkudmVyc2lvbiA+PSAzLjUpCisgICAgICAgR2l2 ZW4gYSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0 dXJlcy9zdGVwcy9hc3luY19zdGVwczM1LnB5IiB3aXRoOgorICAgICAgICAgIiIiCitAQCAtNjMs MTMgKzYwLDggQEAgRmVhdHVyZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4p CisgICAgICAgICAiIiIKKyAKKyAKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNAor LSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CistICAgIEB1c2Uud2l0aF9weXRob24u dmVyc2lvbj0zLjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNworLSAgICBAdXNl LndpdGhfcHl0aG9uLnZlcnNpb249My44CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjkKKy0gICAgU2NlbmFyaW86IFVzZSBhc3luYy1zdGVwIHdpdGggQGFzeW5jX3J1bl91bnRpbF9j b21wbGV0ZSAoQGNvcm91dGluZSkKKysgICAgQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNpby5j b3JvdXRpbmVfZGVjb3JhdG9yPXRydWUKKysgICAgU2NlbmFyaW86IFVzZSBhc3luYy1zdGVwIHdp dGggQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSAoQGFzeW5jaW8uY29yb3V0aW5lKQorICAgICAg IEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAi ZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHMzNC5weSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAg LTk3LDEyICs4OSw4IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwg Li4uKQorICAgICAgICAgICAgICBHaXZlbiBhbiBhc3luYy1zdGVwIHdhaXRzIDAuMyBzZWNvbmRz IC4uLiBwYXNzZWQgaW4gMC4zCisgICAgICAgICAiIiIKKyAKKy0gICAgQHVzZS53aXRoX3B5dGhv bi52ZXJzaW9uPTMuNQorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CistICAgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuOAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBV c2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSh0aW1lb3V0PS4uLikgYW5kIFRJTUVPVVQgb2Nj dXJzIChhc3luYykKKysgICAgQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNfZnVuY3Rpb249dHJ1 ZQorKyAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUodGltZW91dD0u Li4pIGFuZCBUSU1FT1VUIG9jY3VycyAoYXN5bmMtZnVuY3Rpb24pCisgICAgICAgR2l2ZW4gYSBu ZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9z dGVwcy9hc3luY19zdGVwc190aW1lb3V0MzUucHkiIHdpdGg6CisgICAgICAgICAiIiIKK0BAIC0x MzUsMTMgKzEyMyw5IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3RlcCwg Li4uKQorICAgICAgICAgQXNzZXJ0aW9uIEZhaWxlZDogVElNRU9VVC1PQ0NVUkVEOiB0aW1lb3V0 PTAuMQorICAgICAgICAgIiIiCisgCistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUK Ky0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNgorLSAgICBAdXNlLndpdGhfcHl0aG9u LnZlcnNpb249My43CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKy0gICAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorKyAgICBAdXNlLndpdGhfcHl0aG9uX2hhc19hc3lu Y19mdW5jdGlvbj10cnVlCisgICAgIEBhc3luY19zdGVwX2ZhaWxzCistICAgIFNjZW5hcmlvOiBV c2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQgYXN5bmMtc3RlcCBmYWlscworKyAgICBT Y2VuYXJpbzogVXNlIEBhc3luY19ydW5fdW50aWxfY29tcGxldGUgYW5kIGFzeW5jLXN0ZXAgZmFp bHMgKGFzeW5jLWZ1bmN0aW9uKQorICAgICAgIEdpdmVuIGEgbmV3IHdvcmtpbmcgZGlyZWN0b3J5 CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvc3RlcHMvYXN5bmNfc3RlcHNfZmFp bHMzNS5weSIgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTE4MCwxMyArMTY0LDkgQEAgRmVhdHVy ZTogQXN5bmMtVGVzdCBTdXBwb3J0IChhc3luYy1zdGVwLCAuLi4pCisgICAgICAgICBBc3NlcnRp b24gRmFpbGVkOiBYRkFJTCBpbiBhc3luYy1zdGVwCisgICAgICAgICAiIiIKKyAKKy0gICAgQHVz ZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My42CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKy0gICAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuOAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisrICAg IEB1c2Uud2l0aF9weXRob25faGFzX2FzeW5jX2Z1bmN0aW9uPXRydWUKKyAgICAgQGFzeW5jX3N0 ZXBfZmFpbHMKKy0gICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFu ZCBhc3luYy1zdGVwIHJhaXNlcyBlcnJvcgorKyAgICBTY2VuYXJpbzogVXNlIEBhc3luY19ydW5f dW50aWxfY29tcGxldGUgYW5kIGFzeW5jLXN0ZXAgcmFpc2VzIGVycm9yIChhc3luYy1mdW5jdGlv bikKKyAgICAgICBHaXZlbiBhIG5ldyB3b3JraW5nIGRpcmVjdG9yeQorICAgICAgIEFuZCBhIGZp bGUgbmFtZWQgImZlYXR1cmVzL3N0ZXBzL2FzeW5jX3N0ZXBzX2V4Y2VwdGlvbjM1LnB5IiB3aXRo OgorICAgICAgICAgIiIiCitAQCAtMjI1LDEzICsyMDUsOCBAQCBGZWF0dXJlOiBBc3luYy1UZXN0 IFN1cHBvcnQgKGFzeW5jLXN0ZXAsIC4uLikKKyAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigi WEZBSUwgaW4gYXN5bmMtc3RlcCIpCisgICAgICAgICAiIiIKKyAKKy0gICAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuNAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My41CistICAg IEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJz aW9uPTMuNworLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CistICAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGls X2NvbXBsZXRlKHRpbWVvdXQ9Li4uKSBhbmQgVElNRU9VVCBvY2N1cnMgKEBjb3JvdXRpbmUpCisr ICAgIEB1c2Uud2l0aF9weXRob25faGFzX2FzeW5jaW8uY29yb3V0aW5lX2RlY29yYXRvcj10cnVl CisrICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSh0aW1lb3V0PS4u LikgYW5kIFRJTUVPVVQgb2NjdXJzIChAYXN5bmNpby5jb3JvdXRpbmUpCisgICAgICAgR2l2ZW4g YSBuZXcgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJl cy9zdGVwcy9hc3luY19zdGVwc190aW1lb3V0MzQucHkiIHdpdGg6CisgICAgICAgICAiIiIKK0BA IC0yNjUsMTMgKzI0MCw4IEBAIEZlYXR1cmU6IEFzeW5jLVRlc3QgU3VwcG9ydCAoYXN5bmMtc3Rl cCwgLi4uKQorICAgICAgICAgQXNzZXJ0aW9uIEZhaWxlZDogVElNRU9VVC1PQ0NVUkVEOiB0aW1l b3V0PTAuMgorICAgICAgICAgIiIiCisgCistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjQKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuNQorLSAgICBAdXNlLndpdGhfcHl0 aG9uLnZlcnNpb249My42CistICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKy0gICAg QHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My45CistICAgIFNjZW5hcmlvOiBVc2UgYXN5bmMtZGlzcGF0Y2ggYW5kIGFzeW5jLWNvbGxl Y3QgY29uY2VwdHMKKysgICAgQHVzZS53aXRoX3B5dGhvbl9oYXNfYXN5bmNpby5jb3JvdXRpbmVf ZGVjb3JhdG9yPXRydWUKKysgICAgU2NlbmFyaW86IFVzZSBhc3luYy1kaXNwYXRjaCBhbmQgYXN5 bmMtY29sbGVjdCBjb25jZXB0cyAoQGFzeW5jaW8uY29yb3V0aW5lKQorICAgICAgIEdpdmVuIGEg bmV3IHdvcmtpbmcgZGlyZWN0b3J5CisgICAgICAgQW5kIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMv c3RlcHMvYXN5bmNfZGlzcGF0Y2hfc3RlcHMucHkiIHdpdGg6CisgICAgICAgICAiIiIKK2RpZmYg LS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTAzMzAuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVz L2lzc3VlMDMzMC5mZWF0dXJlCitpbmRleCBiZTRkMzc4Li41NmFjMjM4IDEwMDY0NAorLS0tIGEv aXNzdWUuZmVhdHVyZXMvaXNzdWUwMzMwLmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lz c3VlMDMzMC5mZWF0dXJlCitAQCAtNzIsNyArNzIsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjMzMwOiBT a2lwcGVkIHNjZW5hcmlvcyBhcmUgaW5jbHVkZWQgaW4ganVuaXQgcmVwb3J0cyB3aGVuIC0tbm8t cworIAorICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgQG5vdC53aXRoX3B5dGhv bi52ZXJzaW9uPTMuOQorLSAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0 dXJlIGlzIGNyZWF0ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorKyAgQG5vdC53aXRoX3B5dGhvbi52 ZXJzaW9uPTMuMTAKKysgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgZmVhdHVy ZSBpcyBjcmVhdGVkIHdpdGggLS1zaG93LXNraXBwZWQgKHB5LnZlcnNpb24gPCAzLjgpCisgICAg IFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIEBhbGlj ZV9hbmRfYm9iLmZlYXR1cmVzZXQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAg ICAgICAiIiIKK0BAIC04Nyw3ICs4OCw4IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQg c2NlbmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgCisg ICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My45CistICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIGZlYXR1cmUgaXMg Y3JlYXRlZCB3aXRoIC0tc2hvdy1za2lwcGVkCisrICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My4xMAorKyAgU2NlbmFyaW86IEp1bml0IHJlcG9ydCBmb3Igc2tpcHBlZCBmZWF0dXJlIGlzIGNy ZWF0ZWQgd2l0aCAtLXNob3ctc2tpcHBlZCAocHkudmVyc2lvbiA+PSAzLjgpCisgICAgIFdoZW4g SSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVkIEBhbGljZV9hbmRf Ym9iLmZlYXR1cmVzZXQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAgICAi IiIKK0BAIC0xMDQsNyArMTA2LDggQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2Vu YXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAgIEBu b3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0z LjkKKy0gIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgbmVp dGhlciBzaG93biBub3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZAorKyAgQG5vdC53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuMTAKKysgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQg c2NlbmFyaW8gaXMgbmVpdGhlciBzaG93biBub3IgY291bnRlZCB3aXRoIC0tbm8tc2tpcHBlZCAo cHkudmVyc2lvbiA8IDMuOCkKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRh ZzEgLS1uby1za2lwcGVkIgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisgICAgICAg IiIiCitAQCAtMTI1LDcgKzEyOCw4IEBAIEZlYXR1cmU6IElzc3VlICMzMzA6IFNraXBwZWQgc2Nl bmFyaW9zIGFyZSBpbmNsdWRlZCBpbiBqdW5pdCByZXBvcnRzIHdoZW4gLS1uby1zCisgCisgICBA dXNlLndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249 My45CistICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVkIHNjZW5hcmlvIGlzIG5l aXRoZXIgc2hvd24gbm9yIGNvdW50ZWQgd2l0aCAtLW5vLXNraXBwZWQKKysgIEB1c2Uud2l0aF9w eXRob24udmVyc2lvbj0zLjEwCisrICBTY2VuYXJpbzogSnVuaXQgcmVwb3J0IGZvciBza2lwcGVk IHNjZW5hcmlvIGlzIG5laXRoZXIgc2hvd24gbm9yIGNvdW50ZWQgd2l0aCAtLW5vLXNraXBwZWQg KHB5LnZlcnNpb24gPj0gMy44KQorICAgICBXaGVuIEkgcnVuICJiZWhhdmUgLS1qdW5pdCAtdCBA dGFnMSAtLW5vLXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAg ICAiIiIKK0BAIC0xNDksNyArMTUzLDggQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBz Y2VuYXJpb3MgYXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAg IEBub3Qud2l0aF9weXRob24udmVyc2lvbj0zLjgKKyAgIEBub3Qud2l0aF9weXRob24udmVyc2lv bj0zLjkKKy0gIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMg c2hvd24gYW5kIGNvdW50ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorKyAgQG5vdC53aXRoX3B5dGhv bi52ZXJzaW9uPTMuMTAKKysgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2Nl bmFyaW8gaXMgc2hvd24gYW5kIGNvdW50ZWQgd2l0aCAtLXNob3ctc2tpcHBlZCAocHkudmVyc2lv biA8IDMuOCkKKyAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC0tanVuaXQgLXQgQHRhZzEgLS1zaG93 LXNraXBwZWQiCisgICAgIFRoZW4gaXQgc2hvdWxkIHBhc3Mgd2l0aDoKKyAgICAgICAiIiIKK0BA IC0xNzEsNyArMTc2LDggQEAgRmVhdHVyZTogSXNzdWUgIzMzMDogU2tpcHBlZCBzY2VuYXJpb3Mg YXJlIGluY2x1ZGVkIGluIGp1bml0IHJlcG9ydHMgd2hlbiAtLW5vLXMKKyAKKyAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjgKKyAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0g IFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMgc2hvd24gYW5k IGNvdW50ZWQgd2l0aCAtLXNob3ctc2tpcHBlZAorKyAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuMTAKKysgIFNjZW5hcmlvOiBKdW5pdCByZXBvcnQgZm9yIHNraXBwZWQgc2NlbmFyaW8gaXMg c2hvd24gYW5kIGNvdW50ZWQgd2l0aCAtLXNob3ctc2tpcHBlZCAocHkudmVyc2lvbiA+PSAzLjgp CisgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtLWp1bml0IC10IEB0YWcxIC0tc2hvdy1za2lwcGVk IgorICAgICBUaGVuIGl0IHNob3VsZCBwYXNzIHdpdGg6CisgICAgICAgIiIiCitkaWZmIC0tZ2l0 IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNDQ2LmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1 ZTA0NDYuZmVhdHVyZQoraW5kZXggMTJkZTM3YS4uZDdkYjc2NCAxMDA2NDQKKy0tLSBhL2lzc3Vl LmZlYXR1cmVzL2lzc3VlMDQ0Ni5mZWF0dXJlCisrKysgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA0 NDYuZmVhdHVyZQorQEAgLTYwLDcgKzYwLDggQEAgRmVhdHVyZTogSXNzdWUgIzQ0NiAtLSBTdXBw b3J0IHNjZW5hcmlvIGhvb2stZXJyb3JzIHdpdGggSlVuaXRSZXBvcnRlcgorIAorICAgICBAbm90 LndpdGhfcHl0aG9uLnZlcnNpb249My44CisgICAgIEBub3Qud2l0aF9weXRob24udmVyc2lvbj0z LjkKKy0gICAgU2NlbmFyaW86IEhvb2sgZXJyb3IgaW4gYmVmb3JlX3NjZW5hcmlvKCkKKysgICAg QG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFyaW86IEhvb2sgZXJyb3Ig aW4gYmVmb3JlX3NjZW5hcmlvKCkgKHB5LnZlcnNpb24gPCAzLjgpCisgICAgICAgV2hlbiBJIHJ1 biAiYmVoYXZlIC1mIHBsYWluIC0tanVuaXQgZmVhdHVyZXMvYmVmb3JlX3NjZW5hcmlvX2ZhaWx1 cmUuZmVhdHVyZSIKKyAgICAgICBUaGVuIGl0IHNob3VsZCBmYWlsIHdpdGg6CisgICAgICAgICAi IiIKK0BAIC05MCw3ICs5MSw4IEBAIEZlYXR1cmU6IElzc3VlICM0NDYgLS0gU3VwcG9ydCBzY2Vu YXJpbyBob29rLWVycm9ycyB3aXRoIEpVbml0UmVwb3J0ZXIKKyAKKyAgICAgQHVzZS53aXRoX3B5 dGhvbi52ZXJzaW9uPTMuOAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CistICAg IFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGJlZm9yZV9zY2VuYXJpbygpCisrICAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjEwCisrICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGJlZm9y ZV9zY2VuYXJpbygpIChweS52ZXJzaW9uID49IDMuOCkKKyAgICAgICBXaGVuIEkgcnVuICJiZWhh dmUgLWYgcGxhaW4gLS1qdW5pdCBmZWF0dXJlcy9iZWZvcmVfc2NlbmFyaW9fZmFpbHVyZS5mZWF0 dXJlIgorICAgICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorQEAg LTEyNCw3ICsxMjYsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8g aG9vay1lcnJvcnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgCisgICAgIEBub3Qud2l0aF9weXRob24u dmVyc2lvbj0zLjgKKyAgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBTY2Vu YXJpbzogSG9vayBlcnJvciBpbiBhZnRlcl9zY2VuYXJpbygpCisrICAgIEBub3Qud2l0aF9weXRo b24udmVyc2lvbj0zLjEwCisrICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3NjZW5h cmlvKCkgKHB5LnZlcnNpb24gPCAzLjgpCisgICAgICAgV2hlbiBJIHJ1biAiYmVoYXZlIC1mIHBs YWluIC0tanVuaXQgZmVhdHVyZXMvYWZ0ZXJfc2NlbmFyaW9fZmFpbHVyZS5mZWF0dXJlIgorICAg ICAgIFRoZW4gaXQgc2hvdWxkIGZhaWwgd2l0aDoKKyAgICAgICAgICIiIgorQEAgLTE1Niw3ICsx NTksOCBAQCBGZWF0dXJlOiBJc3N1ZSAjNDQ2IC0tIFN1cHBvcnQgc2NlbmFyaW8gaG9vay1lcnJv cnMgd2l0aCBKVW5pdFJlcG9ydGVyCisgCisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjgKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogSG9v ayBlcnJvciBpbiBhZnRlcl9zY2VuYXJpbygpCisrICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lv bj0zLjEwCisrICAgIFNjZW5hcmlvOiBIb29rIGVycm9yIGluIGFmdGVyX3NjZW5hcmlvKCkgKHB5 LnZlcnNpb24gPj0gMy44KQorICAgICAgIFdoZW4gSSBydW4gImJlaGF2ZSAtZiBwbGFpbiAtLWp1 bml0IGZlYXR1cmVzL2FmdGVyX3NjZW5hcmlvX2ZhaWx1cmUuZmVhdHVyZSIKKyAgICAgICBUaGVu IGl0IHNob3VsZCBmYWlsIHdpdGg6CisgICAgICAgICAiIiIKK2RpZmYgLS1naXQgYS9pc3N1ZS5m ZWF0dXJlcy9pc3N1ZTA0NTcuZmVhdHVyZSBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0 dXJlCitpbmRleCA2ZDJmNDhmLi5jMTRjN2E0IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMv aXNzdWUwNDU3LmZlYXR1cmUKKysrKyBiL2lzc3VlLmZlYXR1cmVzL2lzc3VlMDQ1Ny5mZWF0dXJl CitAQCAtMjYsNyArMjYsOCBAQCBGZWF0dXJlOiBJc3N1ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMg aW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJlcG9ydHMKKyAKKyAgICAgQG5vdC53aXRo X3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My45Cist ICAgIFNjZW5hcmlvOiBVc2UgZmFpbGluZyBhc3NlcnRhdGlvbiBpbiBhIEpVbml0IFhNTCByZXBv cnQKKysgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuMTAKKysgICAgU2NlbmFyaW86IFVz ZSBmYWlsaW5nIGFzc2VydGF0aW9uIGluIGEgSlVuaXQgWE1MIHJlcG9ydCAocHkudmVyc2lvbiA8 IDMuOCkKKyAgICAgICBHaXZlbiBhIGZpbGUgbmFtZWQgImZlYXR1cmVzL2ZhaWxzMS5mZWF0dXJl IiB3aXRoOgorICAgICAgICAgIiIiCisgICAgICAgICBGZWF0dXJlOgorQEAgLTQ4LDcgKzQ5LDgg QEAgRmVhdHVyZTogSXNzdWUgIzQ1NyAtLSBEb3VibGUtcXVvdGVzIGluIGVycm9yIG1lc3NhZ2Vz IG9mIEpVbml0IFhNTCByZXBvcnRzCisgCisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0z LjgKKyAgICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOQorLSAgICBTY2VuYXJpbzogVXNl IGZhaWxpbmcgYXNzZXJ0YXRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisrICAgIEB1c2Uud2l0 aF9weXRob24udmVyc2lvbj0zLjEwCisrICAgIFNjZW5hcmlvOiBVc2UgZmFpbGluZyBhc3NlcnRh dGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQgKHB5LnZlcnNpb24gPj0gMy44KQorICAgICAgIEdp dmVuIGEgZmlsZSBuYW1lZCAiZmVhdHVyZXMvZmFpbHMxLmZlYXR1cmUiIHdpdGg6CisgICAgICAg ICAiIiIKKyAgICAgICAgIEZlYXR1cmU6CitAQCAtNzMsNyArNzUsOCBAQCBGZWF0dXJlOiBJc3N1 ZSAjNDU3IC0tIERvdWJsZS1xdW90ZXMgaW4gZXJyb3IgbWVzc2FnZXMgb2YgSlVuaXQgWE1MIHJl cG9ydHMKKyAKKyAgICAgQG5vdC53aXRoX3B5dGhvbi52ZXJzaW9uPTMuOAorICAgICBAbm90Lndp dGhfcHl0aG9uLnZlcnNpb249My45CistICAgIFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEg SlVuaXQgWE1MIHJlcG9ydAorKyAgICBAbm90LndpdGhfcHl0aG9uLnZlcnNpb249My4xMAorKyAg ICBTY2VuYXJpbzogVXNlIGV4Y2VwdGlvbiBpbiBhIEpVbml0IFhNTCByZXBvcnQgKHB5LnZlcnNp b24gPCAzLjgpCisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9mYWlsczIuZmVh dHVyZSIgd2l0aDoKKyAgICAgICAgICIiIgorICAgICAgICAgRmVhdHVyZToKK0BAIC05Niw3ICs5 OSw4IEBAIEZlYXR1cmU6IElzc3VlICM0NTcgLS0gRG91YmxlLXF1b3RlcyBpbiBlcnJvciBtZXNz YWdlcyBvZiBKVW5pdCBYTUwgcmVwb3J0cworIAorICAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNp b249My44CisgICAgIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjkKKy0gICAgU2NlbmFyaW86 IFVzZSBleGNlcHRpb24gaW4gYSBKVW5pdCBYTUwgcmVwb3J0CisrICAgIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjEwCisrICAgIFNjZW5hcmlvOiBVc2UgZXhjZXB0aW9uIGluIGEgSlVuaXQg WE1MIHJlcG9ydCAocHkudmVyc2lvbiA+PSAzLjgpCisgICAgICAgR2l2ZW4gYSBmaWxlIG5hbWVk ICJmZWF0dXJlcy9mYWlsczIuZmVhdHVyZSIgd2l0aDoKKyAgICAgICAgICIiIgorICAgICAgICAg RmVhdHVyZToKK2RpZmYgLS1naXQgYS9pc3N1ZS5mZWF0dXJlcy9pc3N1ZTA2NTcuZmVhdHVyZSBi L2lzc3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlCitpbmRleCBhZWFlZmQyLi5hNjc0YTI2 IDEwMDY0NAorLS0tIGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwNjU3LmZlYXR1cmUKKysrKyBiL2lz c3VlLmZlYXR1cmVzL2lzc3VlMDY1Ny5mZWF0dXJlCitAQCAtMSwxNSArMSwxMCBAQAorLUBub3Qu d2l0aF9weXRob24yPXRydWUKKyBAaXNzdWUKKytAbm90LndpdGhfcHl0aG9uMj10cnVlCisgRmVh dHVyZTogSXNzdWUgIzY1NyAtLSBBbGxvdyBhc3luYyBzdGVwcyB3aXRoIHRpbWVvdXRzIHRvIGZh aWwgd2hlbiB0aGV5IHJhaXNlIGV4Y2VwdGlvbnMKKyAKKy0KKy0gICAgQHVzZS53aXRoX3B5dGhv bi52ZXJzaW9uPTMuNQorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My42CistICAgIEB1 c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcKKy0gICAgQHVzZS53aXRoX3B5dGhvbi52ZXJzaW9u PTMuOAorLSAgICBAdXNlLndpdGhfcHl0aG9uLnZlcnNpb249My45CisrICAgIEB1c2Uud2l0aF9w eXRob25faGFzX2FzeW5jX2Z1bmN0aW9uPXRydWUKKyAgICAgQGFzeW5jX3N0ZXBfZmFpbHMKKy0g ICAgU2NlbmFyaW86IFVzZSBAYXN5bmNfcnVuX3VudGlsX2NvbXBsZXRlIGFuZCBhc3luYy1zdGVw IGZhaWxzCisrICAgIFNjZW5hcmlvOiBVc2UgQGFzeW5jX3J1bl91bnRpbF9jb21wbGV0ZSBhbmQg YXN5bmMtc3RlcCBmYWlscyAocHkudmVyc2lvbiA+PSAzLjgpCisgICAgICAgR2l2ZW4gYSBuZXcg d29ya2luZyBkaXJlY3RvcnkKKyAgICAgICBBbmQgYSBmaWxlIG5hbWVkICJmZWF0dXJlcy9zdGVw cy9hc3luY19zdGVwc19mYWlsczM1LnB5IiB3aXRoOgorICAgICAgICAgIiIiCitkaWZmIC0tZ2l0 IGEvbW9yZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weSBiL21vcmUuZmVhdHVyZXMvZW52aXJvbm1l bnQucHkKK2luZGV4IDlkNDMwMmIuLjE0ZDkwNGMgMTAwNjQ0CistLS0gYS9tb3JlLmZlYXR1cmVz L2Vudmlyb25tZW50LnB5CisrKysgYi9tb3JlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5CitAQCAt MSwxNiArMSwxNCBAQAorICMgLSotIGNvZGluZzogVVRGLTggLSotCisgCisgZnJvbSBiZWhhdmUu dGFnX21hdGNoZXIgaW1wb3J0IEFjdGl2ZVRhZ01hdGNoZXIsIHNldHVwX2FjdGl2ZV90YWdfdmFs dWVzCistaW1wb3J0IHN5cworK2Zyb20gYmVoYXZlIGltcG9ydCBweXRob25fZmVhdHVyZQorIAor ICMgLS0gTUFUQ0hFUyBBTlkgVEFHUzogQHVzZS53aXRoX3tjYXRlZ29yeX09e3ZhbHVlfQorICMg Tk9URTogYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciBwcm92aWRlcyBjYXRlZ29yeSB2YWx1ZXMg Zm9yIGFjdGl2ZSB0YWdzLgorLXB5dGhvbl92ZXJzaW9uID0gIiVzLiVzIiAlIHN5cy52ZXJzaW9u X2luZm9bOjJdCistYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciA9IHsKKy0gICAgInB5dGhvbi52 ZXJzaW9uIjogcHl0aG9uX3ZlcnNpb24sCistfQorK2FjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIg PSBweXRob25fZmVhdHVyZS5BQ1RJVkVfVEFHX1ZBTFVFX1BST1ZJREVSLmNvcHkoKQorIGFjdGl2 ZV90YWdfbWF0Y2hlciA9IEFjdGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRl cikKKyAKKysKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBIT09LUzoKKyAjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCitAQCAtMTgsMTAgKzE2LDEyIEBAIGRlZiBiZWZvcmVfYWxsKGNvbnRleHQp OgorICAgICAjIC0tIFNFVFVQIEFDVElWRS1UQUcgTUFUQ0hFUiAod2l0aCB1c2VyZGF0YSk6Cisg ICAgIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlkZXIsIGNv bnRleHQuY29uZmlnLnVzZXJkYXRhKQorIAorKworIGRlZiBiZWZvcmVfZmVhdHVyZShjb250ZXh0 LCBmZWF0dXJlKToKKyAgICAgaWYgYWN0aXZlX3RhZ19tYXRjaGVyLnNob3VsZF9leGNsdWRlX3dp dGgoZmVhdHVyZS50YWdzKToKKyAgICAgICAgIGZlYXR1cmUuc2tpcChyZWFzb249YWN0aXZlX3Rh Z19tYXRjaGVyLmV4Y2x1ZGVfcmVhc29uKQorIAorKworIGRlZiBiZWZvcmVfc2NlbmFyaW8oY29u dGV4dCwgc2NlbmFyaW8pOgorICAgICBpZiBhY3RpdmVfdGFnX21hdGNoZXIuc2hvdWxkX2V4Y2x1 ZGVfd2l0aChzY2VuYXJpby5lZmZlY3RpdmVfdGFncyk6CisgICAgICAgICBzY2VuYXJpby5za2lw KHJlYXNvbj1hY3RpdmVfdGFnX21hdGNoZXIuZXhjbHVkZV9yZWFzb24pCitkaWZmIC0tZ2l0IGEv bW9yZS5mZWF0dXJlcy9ydW5fZXhhbXBsZXMuZmVhdHVyZSBiL21vcmUuZmVhdHVyZXMvcnVuX2V4 YW1wbGVzLmZlYXR1cmUKK2luZGV4IDQ3Nzg4NjYuLjE0YWNmOTggMTAwNjQ0CistLS0gYS9tb3Jl LmZlYXR1cmVzL3J1bl9leGFtcGxlcy5mZWF0dXJlCisrKysgYi9tb3JlLmZlYXR1cmVzL3J1bl9l eGFtcGxlcy5mZWF0dXJlCitAQCAtMjksMTMgKzI5LDggQEAgRmVhdHVyZTogRW5zdXJlIHRoYXQg YWxsIGV4YW1wbGVzIGFyZSB1c2FibGUKKyAgICAgICAgIGZlYXR1cmVzL3J1bGVfZmFpbHMuZmVh dHVyZToxNiAgRjIgLS0gRmFpbHMKKyAgICAgICAiIiIKKyAKKy0KKy0gIEB1c2Uud2l0aF9weXRo b24udmVyc2lvbj0zLjQKKy0gIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjUKKy0gIEB1c2Uu d2l0aF9weXRob24udmVyc2lvbj0zLjYKKy0gIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjcK Ky0gIEB1c2Uud2l0aF9weXRob24udmVyc2lvbj0zLjgKKy0gIFNjZW5hcmlvOiBleGFtcGxlcy9h c3luY19zdGVwIChuZWVkczogcHkzNCBvciBuZXdlcikKKysgIEB1c2Uud2l0aF9weXRob25faGFz X2Nvcm91dGluZT10cnVlCisrICBTY2VuYXJpbzogZXhhbXBsZXMvYXN5bmNfc3RlcCAocmVxdWly ZXM6IHB5dGhvbi52ZXJzaW9uID49IDMuNCkKKyAgICAgR2l2ZW4gSSB1c2UgdGhlIGRpcmVjdG9y eSAiZXhhbXBsZXMvYXN5bmNfc3RlcCIgYXMgd29ya2luZyBkaXJlY3RvcnkKKyAgICAgV2hlbiBJ IHJ1biAiYmVoYXZlIGZlYXR1cmVzLyIKKyAgICAgVGhlbiBpdCBzaG91bGQgcGFzcwpkaWZmIC0t Z2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDExMi1kb2NzLVVwZGF0ZS1uZXctYW5kLW5vdGV3b3J0aHkucGF0Y2ggYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTEyLWRvY3MtVXBkYXRlLW5l dy1hbmQtbm90ZXdvcnRoeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLmQ4ZWNjMDlhYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2 dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTItZG9jcy1VcGRhdGUtbmV3LWFuZC1ub3Rl d29ydGh5LnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gZDM4NzAzMTUzZjdkZjUwMWNlYjQ4 Mzk1Zjc1NmIyNDI3ZWUxNWU1NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlz eXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogU2F0LCA5IEphbiAy MDIxIDIzOjQ4OjUyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRvY3M6IFVwZGF0ZSBuZXcgYW5k IG5vdGV3b3J0aHkKKworKiBBZGQgc2VjdGlvbiBvbiBpbXByb3ZlZCBhY3RpdmUtdGFnIGxvZ2lj CistLS0KKyBkb2NzL2NvbmYucHkgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBkb2Nz L25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0IHwgNDUgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2NvbmYucHkgYi9kb2NzL2NvbmYucHkKK2luZGV4IDE1 NzlhMzYuLmNlY2U4NmEgMTAwNjQ0CistLS0gYS9kb2NzL2NvbmYucHkKKysrKyBiL2RvY3MvY29u Zi5weQorQEAgLTEwOCw3ICsxMDgsNyBAQCBpZiBVU0VfU1BISU5YX0lOVEVSTkFUSU9OQUw6Cisg IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHByb2plY3QgPSB1ImJlaGF2ZSIKKyBhdXRob3JzID0g dSJKZW5zIEVuZ2VsLCBCZW5ubyBSaWNlIGFuZCBSaWNoYXJkIEpvbmVzIgorLWNvcHlyaWdodCA9 IHUiMjAxMi0yMDIwLCAlcyIgJSBhdXRob3JzCisrY29weXJpZ2h0ID0gdSIyMDEyLTIwMjEsICVz IiAlIGF1dGhvcnMKKyAKKyAjIFRoZSB2ZXJzaW9uIGluZm8gZm9yIHRoZSBwcm9qZWN0IHlvdSdy ZSBkb2N1bWVudGluZywgYWN0cyBhcyByZXBsYWNlbWVudCBmb3IKKyAjIHx2ZXJzaW9ufCBhbmQg fHJlbGVhc2V8LCBhbHNvIHVzZWQgaW4gdmFyaW91cyBvdGhlciBwbGFjZXMgdGhyb3VnaG91dCB0 aGUKK2RpZmYgLS1naXQgYS9kb2NzL25ld19hbmRfbm90ZXdvcnRoeV92MS4yLjcucnN0IGIvZG9j cy9uZXdfYW5kX25vdGV3b3J0aHlfdjEuMi43LnJzdAoraW5kZXggYjcyNDJmNy4uMmViOTRhZCAx MDA2NDQKKy0tLSBhL2RvY3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QKKysrKyBiL2Rv Y3MvbmV3X2FuZF9ub3Rld29ydGh5X3YxLjIuNy5yc3QKK0BAIC05LDYgKzksNyBAQCBTdW1tYXJ5 OgorICAgdG8gbWF0Y2ggcGFydGlhbCB0YWcgbmFtZXMsIGxpa2U6IGBgQGZvby4qYGAKKyAqIGBT ZWxlY3QtYnktbG9jYXRpb24gZm9yIFNjZW5hcmlvIENvbnRhaW5lcnNgXyAoRmVhdHVyZSwgUnVs ZSwgU2NlbmFyaW9PdXRsaW5lKQorICogYFN1cHBvcnQgZm9yIGVtb2ppcyBpbiBmZWF0dXJlIGZp bGVzIGFuZCBzdGVwc2BfCisrKiBgSW1wcm92ZSBBY3RpdmUtVGFncyBMb2dpY2BfCisgCisgLi4g X2BFeGFtcGxlIE1hcHBpbmdgOiBodHRwczovL2N1Y3VtYmVyLmlvL2Jsb2cvZXhhbXBsZS1tYXBw aW5nLWludHJvZHVjdGlvbi8KKyAuLiBfYEV4YW1wbGUgTWFwcGluZyBXZWJpbmFyYDogaHR0cHM6 Ly9jdWN1bWJlci5pby9ibG9nL2V4YW1wbGUtbWFwcGluZy13ZWJpbmFyLworQEAgLTE1MiwzICsx NTMsNDcgQEAgU3VwcG9ydCBmb3IgRW1vamlzIGluIEZlYXR1cmUgRmlsZXMgYW5kIFN0ZXBzCisg Li4gbGl0ZXJhbGluY2x1ZGU6OiAuLi9mZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0ZXBzLnB5 CisgICAgIDpwcmVwZW5kOiAgIyAtLSBGSUxFOiBmZWF0dXJlcy9zdGVwcy9pMThuX2Vtb2ppX3N0 ZXBzLnB5CisgICAgIDpsYW5ndWFnZTogcHl0aG9uCisrCisrCisrSW1wcm92ZSBBY3RpdmUtVGFn cyBMb2dpYworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKytUaGUgYWN0aXZlLXRhZyBjb21w dXRhdGlvbiBsb2dpYyB3YXMgc2xpZ2h0bHkgY2hhbmdlZCAoYW5kIGZpeGVkKToKKysKKysqIGlm IG11bHRpcGxlIGFjdGl2ZS10YWdzIHdpdGggc2FtZSBjYXRlZ29yeSBhcmUgdXNlZAorKyogY29t YmluYXRpb24gb2YgcG9zaXRpdmUgYWN0aXZlLXRhZ3MgKGBgdXNlLndpdGhfe2NhdGVnb3J5fT17 dmFsdWV9YGApIGFuZAorKyAgbmVnYXRpdmUgYWN0aXZlLXRhZ3MgKGBgbm90LndpdGhfe2NhdGVn b3J5fT17dmFsdWV9YGApIHdpdGggc2FtZSBjYXRlZ29yeQorKyAgYXJlIG5vdyBzdXBwb3J0ZWQK KysKKytBbGwgYWN0aXZlLXRhZ3Mgd2l0aCBzYW1lIGNhdGVnb3J5IGFyZSBjb21iaW5lZCBpbnRv IG9uZSBjYXRlZ29yeSB0YWctZ3JvdXAuCisrVGhlIGZvbGxvd2luZyBsb2dpY2FsIGV4cHJlc3Np b24gaXMgdXNlZCBmb3IgYWN0aXZlLXRhZ3Mgd2l0aCB0aGUgc2FtZSBjYXRlZ29yeTo6CisrCisr ICAgIGNhdGVnb3J5X3RhZ19ncm91cC5lbmFibGVkIDo9IHBvc2l0aXZlLXRhZy1leHByZXNzaW9u IGFuZCBub3QgbmVnYXRpdmUtdGFnLWV4cHJlc3Npb24KKysgICAgICBwb3NpdGl2ZS10YWctZXhw cmVzc2lvbiAgOj0gZW5hYmxlZCh0YWcxKSBvciBlbmFibGVkKHRhZzIpIG9yIC4uLgorKyAgICAg IG5lZ2F0aXZlLXRhZy1leHByZXNzaW9uICA6PSBlbmFibGVkKHRhZzMpIG9yIGVuYWJsZWQodGFn NCkgb3IgLi4uCisrICAgICAgIHRhZzEsIHRhZzIgYXJlIHBvc2l0aXZlLXRhZ3MsIGxpa2UgQHVz ZS53aXRoX2NhdGVnb3J5PXZhbHVlCisrICAgICAgIHRhZzMsIHRhZzQgYXJlIG5lZ2F0aXZlLXRh Z3MsIGxpa2UgQG5vdC53aXRoX2NhdGVnb3J5PXZhbHVlCisrCisrCisrRVhBTVBMRToKKysKKysu LiBjb2RlLWJsb2NrOjogZ2hlcmtpbgorKworKyAgICBGZWF0dXJlOiBBY3RpdmUtVGFnIEV4YW1w bGUKKysKKysgICAgICBAdXNlLndpdGhfYnJvd3Nlcj1TYWZhcmkKKysgICAgICBAdXNlLndpdGhf YnJvd3Nlcj1DaHJvbWUKKysgICAgICBAbm90LndpdGhfYnJvd3Nlcj1GaXJlZm94CisrICAgICAg U2NlbmFyaW86IFVzZSBvbmUgYWN0aXZlLXRhZyBncm91cC9jYXRlZ29yeQorKworKyAgICAgICAg SElOVDogT25seSBleGVjdXRlZCB3aXRoIHdlYiBicm93c2VyIFNhZmFyaSBhbmQgQ2hyb21lLCBG aXJlZm94IGlzIGV4cGxpY2l0bHkgZXhjbHVkZWQuCisrICAgICAgICAuLi4KKysKKysgICAgICBA dXNlLndpdGhfYnJvd3Nlcj1GaXJlZm94CisrICAgICAgQHVzZS53aXRoX29zPWxpbnV4CisrICAg ICAgQHVzZS53aXRoX29zPWRhcndpbgorKyAgICAgIFNjZW5hcmlvOiBVc2UgdHdvIGFjdGl2ZS10 YWcgZ3JvdXBzL2NhdGVnb3JpZXMKKysKKysgICAgICAgIEhJTlQgMTogT25seSBleGVjdXRlZCB3 aXRoIGJyb3dzZXI6IEZpcmVmb3gKKysgICAgICAgIEhJTlQgMjogT25seSBleGVjdXRlZCBvbiBP UzogTGludXggYW5kIERhcndpbiAobWFjT1MpCisrICAgICAgICAuLi4KZGlmZiAtLWdpdCBhL21l dGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTMtQWRk LWRpYWdub3N0aWMtaGVscGVyLWZ1bmN0aW9uLXRvLXByaW50LXRoZS1jdXJyZW50LS5wYXRjaCBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTMt QWRkLWRpYWdub3N0aWMtaGVscGVyLWZ1bmN0aW9uLXRvLXByaW50LXRoZS1jdXJyZW50LS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjgzYjZiOTgyZQotLS0gL2Rl di9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMt YmVoYXZlLzAxMTMtQWRkLWRpYWdub3N0aWMtaGVscGVyLWZ1bmN0aW9uLXRvLXByaW50LXRoZS1j dXJyZW50LS5wYXRjaApAQCAtMCwwICsxLDI3OCBAQAorRnJvbSAxODI2MWQ2YzJkZmQ1NjNhYzU0 MmViNjlkMTJhOGFkNjQ4NTc1YzY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBTdW4sIDEwIEph biAyMDIxIDEzOjQwOjI2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdICogQWRkIGRpYWdub3N0aWMg aGVscGVyIGZ1bmN0aW9uIHRvIHByaW50IHRoZSBjdXJyZW50IHZhbHVlcworIG9mIGFjdGl2ZS10 YWdzLiAqIEFkZCBoZWxwZXIgY2xhc3NlcyBmb3IgYWN0aXZlLXRhZyB2YWx1ZSBwcm92aWRlcnMu CisKKy0tLQorIGJlaGF2ZS9jb21wYXQvY29sbGVjdGlvbnMucHkgIHwgIDI1ICsrKysrKworIGJl aGF2ZS90YWdfbWF0Y2hlci5weSAgICAgICAgIHwgMTQ1ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KKyBmZWF0dXJlcy9lbnZpcm9ubWVudC5weSAgICAgICB8ICAgOSArLS0KKyBp c3N1ZS5mZWF0dXJlcy9lbnZpcm9ubWVudC5weSB8ICAgOSArLS0KKyA0IGZpbGVzIGNoYW5nZWQs IDE2NiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2 ZS9jb21wYXQvY29sbGVjdGlvbnMucHkgYi9iZWhhdmUvY29tcGF0L2NvbGxlY3Rpb25zLnB5Citp bmRleCAwMDQ0NGY0Li5mNGVlYTJjIDEwMDY0NAorLS0tIGEvYmVoYXZlL2NvbXBhdC9jb2xsZWN0 aW9ucy5weQorKysrIGIvYmVoYXZlL2NvbXBhdC9jb2xsZWN0aW9ucy5weQorQEAgLTE4LDMgKzE4 LDI4IEBAIGV4Y2VwdCBJbXBvcnRFcnJvcjogICAgICMgcHJhZ21hOiBubyBjb3ZlcgorICAgICAg ICAgd2FybmluZ3Mud2FybihtZXNzYWdlKQorICAgICAgICAgIyAtLSBCQUNLV0FSRC1DT01QQVRJ QkxFOiBCZXR0ZXIgdGhhbiBub3RoaW5nIChmb3IgYmVoYXZlIHVzZSBjYXNlKS4KKyAgICAgICAg IE9yZGVyZWREaWN0ID0gZGljdAorKworK3RyeToKKysgICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBv cnQgVXNlckRpY3QKKytleGNlcHQgSW1wb3J0RXJyb3I6ICAgICAgIyBwcmFnbWE6IG5vIGNvdmVy CisrICAgIGNsYXNzIFVzZXJEaWN0KG9iamVjdCk6CisrICAgICAgICAiIiJFbXVsYXRlIGNvbGxl Y3Rpb25zLlVzZXJEaWN0IGNsYXNzIGluIHB5dGhvbjMuIiIiCisrICAgICAgICBkZWYgX19pbml0 X18oc2VsZiwgZGF0YT1Ob25lKToKKysgICAgICAgICAgICBpZiBkYXRhIGlzIE5vbmU6CisrICAg ICAgICAgICAgICAgIGRhdGEgPSB7fQorKyAgICAgICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKKysK KysgICAgICAgIGRlZiBfX2xlbl9fKHNlbGYpOgorKyAgICAgICAgICAgIHJldHVybiBsZW4oc2Vs Zi5kYXRhKQorKworKyAgICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorKyAgICAgICAgICAgIHJl dHVybiBsZW4oc2VsZi5kYXRhKQorKworKyAgICAgICAgZGVmIGtleXMoc2VsZik6CisrICAgICAg ICAgICAgcmV0dXJuIHNlbGYuZGF0YS5rZXlzKCkKKysKKysgICAgICAgIGRlZiB2YWx1ZXMoc2Vs Zik6CisrICAgICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YS52YWx1ZXMoKQorKworKyAgICAgICAg ZGVmIGl0ZW1zKHNlbGYpOgorKyAgICAgICAgICAgIHJldHVybiBzZWxmLmRhdGEuaXRlbXMoKQor ZGlmZiAtLWdpdCBhL2JlaGF2ZS90YWdfbWF0Y2hlci5weSBiL2JlaGF2ZS90YWdfbWF0Y2hlci5w eQoraW5kZXggZTJiMWU4Mi4uNzhkNzA2MSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS90YWdfbWF0Y2hl ci5weQorKysrIGIvYmVoYXZlL3RhZ19tYXRjaGVyLnB5CitAQCAtNCwxNyArNCwxNiBAQCBDb250 YWlucyBjbGFzc2VzIGFuZCBmdW5jdGlvbmFsaXR5IHRvIHByb3ZpZGUgdGhlIGFjdGl2ZS10YWcg bWVjaGFuaXNtLgorIEFjdGl2ZS10YWdzIHByb3ZpZGUgYSBza2lwLWlmIGxvZ2ljIGJhc2VkIG9u IHRhZ3MgaW4gZmVhdHVyZSBmaWxlcy4KKyAiIiIKKyAKKy1mcm9tIF9fZnV0dXJlX18gaW1wb3J0 IGFic29sdXRlX2ltcG9ydAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0 LCBwcmludF9mdW5jdGlvbgorIGltcG9ydCByZQorLWltcG9ydCBvcGVyYXRvcgorIGltcG9ydCBz aXgKKytmcm9tIC5fdHlwZXMgaW1wb3J0IFVua25vd24KKytmcm9tIC5jb21wYXQuY29sbGVjdGlv bnMgaW1wb3J0IFVzZXJEaWN0CisgCisgCistZGVmIGJvb2xfdG9fc3RyaW5nKHZhbHVlKToKKy0g ICAgIiIiQ29udmVydHMgYSBCb29sZWFuIHZhbHVlIGludG8gaXRzIG5vcm1hbGl6ZWQgc3RyaW5n IHJlcHJlc2VudGF0aW9uLiIiIgorLSAgICByZXR1cm4gc3RyKGJvb2wodmFsdWUpKS5sb3dlcigp CistCistCisrIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKyMgQ0xBU1NFUyBGT1I6IEFjdGl2ZS1U YWdzIGFuZCBBY3RpdmVUYWdNYXRjaGVycworKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBjbGFz cyBUYWdNYXRjaGVyKG9iamVjdCk6CisgICAgICIiIkFic3RyYWN0IGJhc2UgY2xhc3MgdGhhdCBk ZWZpbmVzIHRoZSBUYWdNYXRjaGVyIHByb3RvY29sLiIiIgorIAorQEAgLTIyMCw4ICsyMTksOCBA QCBjbGFzcyBBY3RpdmVUYWdNYXRjaGVyKFRhZ01hdGNoZXIpOgorICAgICAgICAgICAgICMgLS0g Q0FTRTogRW1wdHkgZ3JvdXAgaXMgYWx3YXlzIGVuYWJsZWQgKENPUk5FUi1DQVNFKS4KKyAgICAg ICAgICAgICByZXR1cm4gVHJ1ZQorIAorLSAgICAgICAgY3VycmVudF92YWx1ZSA9IHNlbGYudmFs dWVfcHJvdmlkZXIuZ2V0KGdyb3VwX2NhdGVnb3J5LCBOb25lKQorLSAgICAgICAgaWYgY3VycmVu dF92YWx1ZSBpcyBOb25lIGFuZCBzZWxmLmlnbm9yZV91bmtub3duX2NhdGVnb3JpZXM6CisrICAg ICAgICBjdXJyZW50X3ZhbHVlID0gc2VsZi52YWx1ZV9wcm92aWRlci5nZXQoZ3JvdXBfY2F0ZWdv cnksIFVua25vd24pCisrICAgICAgICBpZiBjdXJyZW50X3ZhbHVlIGlzIFVua25vd24gYW5kIHNl bGYuaWdub3JlX3Vua25vd25fY2F0ZWdvcmllczoKKyAgICAgICAgICAgICAjIC0tIENBU0U6IFVu a25vd24gY2F0ZWdvcnksIGlnbm9yZSBpdC4KKyAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorIAor QEAgLTMyMCw2ICszMTksMTE1IEBAIGNsYXNzIENvbXBvc2l0ZVRhZ01hdGNoZXIoVGFnTWF0Y2hl cik6CisgICAgICAgICByZXR1cm4gRmFsc2UKKyAKKyAKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisrIyBBQ1RJVkUgVEFHIFZBTFVFIFBST1ZJREVSIENMQVNTRVM6CisrIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorK2NsYXNzIElBY3RpdmVUYWdWYWx1ZVByb3ZpZGVyKG9iamVjdCk6CisrICAgICIi IlByb3RvY29sL0ludGVyZmFjZSBmb3IgYWN0aXZlLXRhZyB2YWx1ZSBwcm92aWRlcnMuIiIiCisr CisrICAgIGRlZiBnZXQoc2VsZiwgY2F0ZWdvcnksIGRlZmF1bHQ9Tm9uZSk6CisrICAgICAgICBy ZXR1cm4gTm90SW1wbGVtZW50ZWQKKysKKysKKytjbGFzcyBBY3RpdmVUYWdWYWx1ZVByb3ZpZGVy KFVzZXJEaWN0KToKKysgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRhdGE9Tm9uZSk6CisrICAgICAg ICBpZiBkYXRhIGlzIE5vbmU6CisrICAgICAgICAgICAgZGF0YSA9IHt9CisrICAgICAgICBVc2Vy RGljdC5fX2luaXRfXyhzZWxmLCBkYXRhKQorKworKyAgICBAc3RhdGljbWV0aG9kCisrICAgIGRl ZiB1c2VfdmFsdWUodmFsdWUpOgorKyAgICAgICAgaWYgY2FsbGFibGUodmFsdWUpOgorKyAgICAg ICAgICAgICMgLS0gUkUtRVZBTFVBVEUgVkFMVUU6IEVhY2ggdGltZQorKyAgICAgICAgICAgIHZh bHVlX2Z1bmMgPSB2YWx1ZQorKyAgICAgICAgICAgIHZhbHVlID0gdmFsdWVfZnVuYygpCisrICAg ICAgICByZXR1cm4gdmFsdWUKKysKKysgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIG5hbWUpOgor KyAgICAgICAgdmFsdWUgPSBzZWxmLmRhdGFbbmFtZV0KKysgICAgICAgIHJldHVybiBzZWxmLnVz ZV92YWx1ZSh2YWx1ZSkKKysKKysgICAgZGVmIGdldChzZWxmLCBjYXRlZ29yeSwgZGVmYXVsdD1O b25lKToKKysgICAgICAgIHZhbHVlID0gc2VsZi5kYXRhLmdldChjYXRlZ29yeSwgZGVmYXVsdCkK KysgICAgICAgIHJldHVybiBzZWxmLnVzZV92YWx1ZSh2YWx1ZSkKKysKKysgICAgZGVmIHZhbHVl cyhzZWxmKToKKysgICAgICAgIGZvciB2YWx1ZSBpbiBzZWxmLmRhdGEudmFsdWVzKHNlbGYpOgor KyAgICAgICAgICAgIHlpZWxkIHNlbGYudXNlX3ZhbHVlKHZhbHVlKQorKworKyAgICBkZWYgaXRl bXMoc2VsZik6CisrICAgICAgICBmb3IgY2F0ZWdvcnksIHZhbHVlIGluIHNlbGYuZGF0YS5pdGVt cygpOgorKyAgICAgICAgICAgIHlpZWxkIChjYXRlZ29yeSwgc2VsZi51c2VfdmFsdWUodmFsdWUp KQorKworKyAgICBkZWYgY2F0ZWdvcmllcyhzZWxmKToKKysgICAgICAgIHJldHVybiBzZWxmLmtl eXMoKQorKworKworK2NsYXNzIENvbXBvc2l0ZUFjdGl2ZVRhZ1ZhbHVlUHJvdmlkZXIoQWN0aXZl VGFnVmFsdWVQcm92aWRlcik6CisrICAgICIiIlByb3ZpZGVzIGEgY29tcG9zaXRlIGhlbHBlciBj bGFzcyB0byByZXNvbHZlIGFjdGl2ZS10YWcgdmFsdWVzCisrICAgIGZyb20gYSBsaXN0IG9mIHZh bHVlLXByb3ZpZGVycy4KKysgICAgIiIiCisrCisrICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1 ZV9wcm92aWRlcnM9Tm9uZSk6CisrICAgICAgICBpZiB2YWx1ZV9wcm92aWRlcnMgaXMgTm9uZToK KysgICAgICAgICAgICB2YWx1ZV9wcm92aWRlcnMgPSBbXQorKyAgICAgICAgc3VwZXIoQ29tcG9z aXRlQWN0aXZlVGFnVmFsdWVQcm92aWRlciwgc2VsZikuX19pbml0X18oKQorKyAgICAgICAgc2Vs Zi52YWx1ZV9wcm92aWRlcnMgPSBsaXN0KHZhbHVlX3Byb3ZpZGVycykKKysKKysgICAgZGVmIGdl dChzZWxmLCBjYXRlZ29yeSwgZGVmYXVsdD1Ob25lKToKKysgICAgICAgICMgLS0gRklSU1Q6IENo ZWNrIGNhdGVnb3J5IGNhY2hlZC1tYXAgKD1zZWxmLmRhdGEpCisrICAgICAgICB2YWx1ZSA9IHNl bGYuZGF0YS5nZXQoY2F0ZWdvcnksIFVua25vd24pCisrICAgICAgICBpZiB2YWx1ZSBpcyBVbmtu b3duOgorKyAgICAgICAgICAgICMgLS0gTk9UIERJU0NPVkVSRUQ6IFNlYXJjaCBvdmVyIHZhbHVl X3Byb3ZpZGVycy4KKysgICAgICAgICAgICBmb3IgdmFsdWVfcHJvdmlkZXIgaW4gc2VsZi52YWx1 ZV9wcm92aWRlcnM6CisrICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWVfcHJvdmlkZXIuZ2V0 KGNhdGVnb3J5LCBVbmtub3duKQorKyAgICAgICAgICAgICAgICBpZiB2YWx1ZSBpcyBVbmtub3du OgorKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKysKKysgICAgICAgICAgICAgICAgIyAt LSBGT1VORCBDQVRFR09SWToKKysgICAgICAgICAgICAgICAgc2VsZi5kYXRhW2NhdGVnb3J5XSA9 IHZhbHVlCisrICAgICAgICAgICAgICAgIGJyZWFrCisrICAgICAgICAgICAgIyAtLSBGT1VORC1D QVRFR09SWSBvciBOT1QtRk9VTkQ6CisrICAgICAgICAgICAgaWYgdmFsdWUgaXMgVW5rbm93bjoK KysgICAgICAgICAgICAgICAgdmFsdWUgPSBkZWZhdWx0CisrCisrICAgICAgICByZXR1cm4gc2Vs Zi51c2VfdmFsdWUodmFsdWUpCisrCisrICAgICMgLS0gTU9SRTogUHJvdmlkZSBhIGRpY3QtbGlr ZSBpbnRlcmZhY2UuCisrICAgIGRlZiBrZXlzKHNlbGYpOgorKyAgICAgICAgZm9yIHZhbHVlX3By b3ZpZGVyIGluIHNlbGYudmFsdWVfcHJvdmlkZXJzOgorKyAgICAgICAgICAgIHRyeToKKysgICAg ICAgICAgICAgICAgZm9yIGNhdGVnb3J5IGluIHZhbHVlX3Byb3ZpZGVyLmtleXMoKToKKysgICAg ICAgICAgICAgICAgICAgIHlpZWxkIGNhdGVnb3J5CisrICAgICAgICAgICAgZXhjZXB0IEF0dHJp YnV0ZUVycm9yOgorKyAgICAgICAgICAgICAgICAjIC0tIGtleXMoKSBtZXRob2Qgbm90IHN1cHBv cnRlZC4KKysgICAgICAgICAgICAgICAgcGFzcworKworKyAgICBkZWYgdmFsdWVzKHNlbGYpOgor KyAgICAgICAgZm9yIGNhdGVnb3J5IGluIHNlbGYua2V5cygpOgorKyAgICAgICAgICAgIHZhbHVl ID0gc2VsZi5nZXQoY2F0ZWdvcnkpCisrICAgICAgICAgICAgeWllbGQgdmFsdWUKKysKKysgICAg ZGVmIGl0ZW1zKHNlbGYpOgorKyAgICAgICAgZm9yIGNhdGVnb3J5IGluIHNlbGYua2V5cygpOgor KyAgICAgICAgICAgIHZhbHVlID0gc2VsZi5nZXQoY2F0ZWdvcnkpCisrICAgICAgICAgICAgeWll bGQgKGNhdGVnb3J5LCB2YWx1ZSkKKysKKysKKysKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr IyBVVElMSVRZIEZVTkNUSU9OUzoKKysjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrZGVmIGJvb2xf dG9fc3RyaW5nKHZhbHVlKToKKysgICAgIiIiQ29udmVydHMgYSBib29sZWFuIGFjdGl2ZS10YWcg dmFsdWUgaW50byBpdHMgbm9ybWFsaXplZAorKyAgICBzdHJpbmcgcmVwcmVzZW50YXRpb24uCisr CisrICAgIDpwYXJhbSB2YWx1ZTogIEJvb2xlYW4gdmFsdWUgdG8gdXNlIChvciB2YWx1ZSBjb252 ZXJ0ZWQgaW50byBib29sKS4KKysgICAgOnJldHVybnM6IEJvb2xlYW4gdmFsdWUgY29udmVydGVk IGludG8gYSBub3JtYWxpemVkIHN0cmluZy4KKysgICAgIiIiCisrICAgIHJldHVybiBzdHIoYm9v bCh2YWx1ZSkpLmxvd2VyKCkKKysKKysKKyBkZWYgc2V0dXBfYWN0aXZlX3RhZ192YWx1ZXMoYWN0 aXZlX3RhZ192YWx1ZXMsIGRhdGEpOgorICAgICAiIiJTZXR1cC91cGRhdGUgYWN0aXZlX3RhZyB2 YWx1ZXMgd2l0aCBkaWN0LWxpa2UgZGF0YS4KKyAgICAgT25seSB2YWx1ZXMgZm9yIGtleXMgdGhh dCBhcmUgYWxyZWFkeSBwcmVzZW50IGFyZSB1cGRhdGVkLgorQEAgLTMzMCwzICs0MzgsMjIgQEAg ZGVmIHNldHVwX2FjdGl2ZV90YWdfdmFsdWVzKGFjdGl2ZV90YWdfdmFsdWVzLCBkYXRhKToKKyAg ICAgZm9yIGNhdGVnb3J5IGluIGxpc3QoYWN0aXZlX3RhZ192YWx1ZXMua2V5cygpKToKKyAgICAg ICAgIGlmIGNhdGVnb3J5IGluIGRhdGE6CisgICAgICAgICAgICAgYWN0aXZlX3RhZ192YWx1ZXNb Y2F0ZWdvcnldID0gZGF0YVtjYXRlZ29yeV0KKysKKysKKytkZWYgcHJpbnRfYWN0aXZlX3RhZ3Mo YWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwgY2F0ZWdvcmllcz1Ob25lKToKKysgICAgIiIiUHJp bnQgYSBzdW1tYXJ5IG9mIHRoZSBjdXJyZW50IGFjdGl2ZS10YWcgdmFsdWVzLiIiIgorKyAgICBp ZiBjYXRlZ29yaWVzIGlzIE5vbmU6CisrICAgICAgICB0cnk6CisrICAgICAgICAgICAgY2F0ZWdv cmllcyA9IGxpc3QoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKysgICAgICAgIGV4Y2VwdCBU eXBlRXJyb3I6ICAgIyBUeXBlRXJyb3I6IG9iamVjdCBpcyBub3QgaXRlcmFibGUKKysgICAgICAg ICAgICBjYXRlZ29yaWVzID0gW10KKysKKysgICAgYWN0aXZlX3RhZ19kYXRhID0gYWN0aXZlX3Rh Z192YWx1ZV9wcm92aWRlcgorKyAgICBwcmludCgiQUNUSVZFLVRBR1M6IikKKysgICAgZm9yIGNh dGVnb3J5IGluIGNhdGVnb3JpZXM6CisrICAgICAgICBhY3RpdmVfdGFnX3ZhbHVlID0gYWN0aXZl X3RhZ19kYXRhLmdldChjYXRlZ29yeSkKKysgICAgICAgIHByaW50KCJ1c2Uud2l0aF97Y2F0ZWdv cnl9PXt2YWx1ZX0iLmZvcm1hdCgKKysgICAgICAgICAgICBjYXRlZ29yeT1jYXRlZ29yeSwgdmFs dWU9YWN0aXZlX3RhZ192YWx1ZSkpCisrCisrICAgICMgLS0gRklOQUxMWTogVFJBSUxJTkcgTkVX LUxJTkUKKysgICAgcHJpbnQoKQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL2Vudmlyb25tZW50LnB5 IGIvZmVhdHVyZXMvZW52aXJvbm1lbnQucHkKK2luZGV4IDZmYWY0ZTIuLjcyZWJhYTAgMTAwNjQ0 CistLS0gYS9mZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKysrIGIvZmVhdHVyZXMvZW52aXJvbm1l bnQucHkKK0BAIC0yLDcgKzIsOCBAQAorICMgRklMRTogZmVhdHVyZXMvZW52aXJvbmVtbnQucHkK KyAKKyBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rp b24KKy1mcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgQWN0aXZlVGFnTWF0Y2hlciwgc2V0 dXBfYWN0aXZlX3RhZ192YWx1ZXMKKytmcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQgXAor KyAgICBBY3RpdmVUYWdNYXRjaGVyLCBzZXR1cF9hY3RpdmVfdGFnX3ZhbHVlcywgcHJpbnRfYWN0 aXZlX3RhZ3MKKyBmcm9tIGJlaGF2ZTRjbWQwLnNldHVwX2NvbW1hbmRfc2hlbGwgaW1wb3J0IHNl dHVwX2NvbW1hbmRfc2hlbGxfcHJvY2Vzc29yczRiZWhhdmUKKyBmcm9tIGJlaGF2ZSBpbXBvcnQg cHl0aG9uX2ZlYXR1cmUKKyBpbXBvcnQgcGxhdGZvcm0KK0BAIC0yMSwxMSArMjIsNyBAQCBhY3Rp dmVfdGFnX21hdGNoZXIgPSBBY3RpdmVUYWdNYXRjaGVyKGFjdGl2ZV90YWdfdmFsdWVfcHJvdmlk ZXIpCisgCisgCisgZGVmIHByaW50X2FjdGl2ZV90YWdzX3N1bW1hcnkoKToKKy0gICAgYWN0aXZl X3RhZ19kYXRhID0gYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcgorLSAgICBwcmludCgiQUNUSVZF LVRBRyBTVU1NQVJZOiIpCistICAgIHByaW50KCJ1c2Uud2l0aF9weXRob24udmVyc2lvbj0lcyIg JSBhY3RpdmVfdGFnX2RhdGEuZ2V0KCJweXRob24udmVyc2lvbiIpKQorLSAgICBwcmludCgidXNl LndpdGhfb3M9JXMiICUgYWN0aXZlX3RhZ19kYXRhLmdldCgib3MiKSkKKy0gICAgcHJpbnQoKQor KyAgICBwcmludF9hY3RpdmVfdGFncyhhY3RpdmVfdGFnX3ZhbHVlX3Byb3ZpZGVyLCBbInB5dGhv bi52ZXJzaW9uIiwgIm9zIl0pCisgCisgCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZGlmZiAt LWdpdCBhL2lzc3VlLmZlYXR1cmVzL2Vudmlyb25tZW50LnB5IGIvaXNzdWUuZmVhdHVyZXMvZW52 aXJvbm1lbnQucHkKK2luZGV4IDdlNDhlZTAuLmFiODVlNmMgMTAwNjQ0CistLS0gYS9pc3N1ZS5m ZWF0dXJlcy9lbnZpcm9ubWVudC5weQorKysrIGIvaXNzdWUuZmVhdHVyZXMvZW52aXJvbm1lbnQu cHkKK0BAIC0xMyw3ICsxMyw3IEBAIGltcG9ydCBzeXMKKyBpbXBvcnQgcGxhdGZvcm0KKyBpbXBv cnQgb3MucGF0aAorIGltcG9ydCBzaXgKKy1mcm9tIGJlaGF2ZS50YWdfbWF0Y2hlciBpbXBvcnQg QWN0aXZlVGFnTWF0Y2hlcgorK2Zyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBBY3RpdmVU YWdNYXRjaGVyLCBwcmludF9hY3RpdmVfdGFncworIGZyb20gYmVoYXZlNGNtZDAuc2V0dXBfY29t bWFuZF9zaGVsbCBpbXBvcnQgc2V0dXBfY29tbWFuZF9zaGVsbF9wcm9jZXNzb3JzNGJlaGF2ZQor ICMgUFJFUEFSRUQ6IGZyb20gYmVoYXZlLnRhZ19tYXRjaGVyIGltcG9ydCBzZXR1cF9hY3RpdmVf dGFnX3ZhbHVlcworIAorQEAgLTk0LDEyICs5NCw3IEBAIGFjdGl2ZV90YWdfbWF0Y2hlciA9IEFj dGl2ZVRhZ01hdGNoZXIoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlcikKKyAKKyAKKyBkZWYgcHJp bnRfYWN0aXZlX3RhZ3Nfc3VtbWFyeSgpOgorLSAgICBhY3RpdmVfdGFnX2RhdGEgPSBhY3RpdmVf dGFnX3ZhbHVlX3Byb3ZpZGVyCistICAgIHByaW50KCJBQ1RJVkUtVEFHIFNVTU1BUlk6IikKKy0g ICAgcHJpbnQoInVzZS53aXRoX3B5dGhvbi52ZXJzaW9uPSVzIiAlIGFjdGl2ZV90YWdfZGF0YS5n ZXQoInB5dGhvbi52ZXJzaW9uIikpCistICAgICMgcHJpbnQoInVzZS53aXRoX3BsYXRmb3JtPSVz IiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoInBsYXRmb3JtIikpCistICAgICMgcHJpbnQoInVzZS53 aXRoX29zPSVzIiAlIGFjdGl2ZV90YWdfZGF0YS5nZXQoIm9zIikpCistICAgIHByaW50KCkKKysg ICAgcHJpbnRfYWN0aXZlX3RhZ3MoYWN0aXZlX3RhZ192YWx1ZV9wcm92aWRlciwgWyJweXRob24u dmVyc2lvbiIsICJvcyJdKQorIAorIAorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQg YS9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE0 LVVQREFURS1pMThuLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1jdWN1bWJlci1yZXAucGF0 Y2ggYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8w MTE0LVVQREFURS1pMThuLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1jdWN1bWJlci1yZXAu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45ZDM3MGMyOTkKLS0t IC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRo b24zLWJlaGF2ZS8wMTE0LVVQREFURS1pMThuLWdoZXJraW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1j dWN1bWJlci1yZXAucGF0Y2gKQEAgLTAsMCArMSw1NDEgQEAKK0Zyb20gNzE1MDc5Y2MwOGE3Njcy ZDUxYzM3NmE5ZDg4NDg3MzQ2OWZmYTAwOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorRGF0ZTogVHVlLCAx MiBKYW4gMjAyMSAxMzoyMTo0NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBVUERBVEU6IGkxOG4v Z2hlcmtpbi1sYW5ndWFnZXMuanNvbiBmcm9tIGN1Y3VtYmVyIHJlcG9zaXRvcnkuCisKK0NPTlRB SU5TOiBQUiAjODI3IChFc3RvbmlhbiBsYW5ndWFnZSB1cGRhdGVzIGNvbnRhaW5lZCkKK0xBU1Qg Q09NTUlUOiAyMDIxLTAxLTA3IChpbiBDdWN1bWJlciByZXBvc2l0b3J5KQorTEFOR1VBR0UgQ0hB TkdFUzoKKworKiBTd2VkaXNoOiBSdWxlIGtleXdvcmQKKyogVGVsdWd1OiBGaXhpbmcgSVNPIDYz OS0xIGNvZGUKKyogUnVzc2lhbjogUnVsZSBrZXl3b3JkCisqIEhlYnJldzogUnVsZSBrZXl3b3Jk CisqIEdlcm1hbjogQWRkaXRpb24ga2V5d29yZHMKKyogRXN0b25pYW46IFJ1bGUga2V5d29yZCwg U2NlbmFyaW9PdXRsaW5lIGtleXdvcmQKKyogSW5kb25lc2lhbjogR2l2ZW4ga2V5d29yZHMsIHdo aXRlc3BhY2UKKy0tLQorIGJlaGF2ZS9pMThuLnB5ICAgICAgICAgICAgICAgICAgICAgfCAgOTIg KysrKysrKysrKysrLS0tLS0tCisgZXRjL2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbiB8 IDE0NSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQorIGZlYXR1cmVzL2NtZGxpbmUubGFu Z19saXN0LmZlYXR1cmUgfCAgNjQgKysrKysrKysrLS0tLQorIGlzc3VlLmZlYXR1cmVzL2lzc3Vl MDMwOS5mZWF0dXJlICAgfCAgIDIgKy0KKyA0IGZpbGVzIGNoYW5nZWQsIDI0MCBpbnNlcnRpb25z KCspLCA2MyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9pMThuLnB5IGIvYmVo YXZlL2kxOG4ucHkKK2luZGV4IDI3ODFhZmUuLmE1NzI2MjYgMTAwNjQ0CistLS0gYS9iZWhhdmUv aTE4bi5weQorKysrIGIvYmVoYXZlL2kxOG4ucHkKK0BAIC0xODgsMTYgKzE4OCwxOSBAQCBsYW5n dWFnZXMgPSBcCisgICAgICAgICAndGhlbic6IFsnKiAnLCAnU8OlICddLAorICAgICAgICAgJ3do ZW4nOiBbJyogJywgJ07DpXIgJ119LAorICAnZGUnOiB7J2FuZCc6IFsnKiAnLCAnVW5kICddLAor LSAgICAgICAgJ2JhY2tncm91bmQnOiBbJ0dydW5kbGFnZSddLAorKyAgICAgICAgJ2JhY2tncm91 bmQnOiBbJ0dydW5kbGFnZScsCisrICAgICAgICAgICAgICAgICAgICAgICAnSGludGVyZ3J1bmQn LAorKyAgICAgICAgICAgICAgICAgICAgICAgJ1ZvcmF1c3NldHp1bmdlbicsCisrICAgICAgICAg ICAgICAgICAgICAgICAnVm9yYmVkaW5ndW5nZW4nXSwKKyAgICAgICAgICdidXQnOiBbJyogJywg J0FiZXIgJ10sCisgICAgICAgICAnZXhhbXBsZXMnOiBbJ0JlaXNwaWVsZSddLAorLSAgICAgICAg J2ZlYXR1cmUnOiBbJ0Z1bmt0aW9uYWxpdMOkdCddLAorKyAgICAgICAgJ2ZlYXR1cmUnOiBbJ0Z1 bmt0aW9uYWxpdMOkdCcsICdGdW5rdGlvbiddLAorICAgICAgICAgJ2dpdmVuJzogWycqICcsICdB bmdlbm9tbWVuICcsICdHZWdlYmVuIHNlaSAnLCAnR2VnZWJlbiBzZWllbiAnXSwKKyAgICAgICAg ICduYW1lJzogJ0dlcm1hbicsCisgICAgICAgICAnbmF0aXZlJzogJ0RldXRzY2gnLAorLSAgICAg ICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxlJzogWydSdWxlJywgJ1JlZ2VsJ10s CisgICAgICAgICAnc2NlbmFyaW8nOiBbJ0JlaXNwaWVsJywgJ1N6ZW5hcmlvJ10sCistICAgICAg ICAnc2NlbmFyaW9fb3V0bGluZSc6IFsnU3plbmFyaW9ncnVuZHJpc3MnXSwKKysgICAgICAgICdz Y2VuYXJpb19vdXRsaW5lJzogWydTemVuYXJpb2dydW5kcmlzcycsICdTemVuYXJpZW4nXSwKKyAg ICAgICAgICd0aGVuJzogWycqICcsICdEYW5uICddLAorICAgICAgICAgJ3doZW4nOiBbJyogJywg J1dlbm4gJ119LAorICAnZWwnOiB7J2FuZCc6IFsnKiAnLCAnzprOsc65ICddLAorQEAgLTM0NCw5 ICszNDcsOSBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAgICAnZ2l2ZW4nOiBbJyogJywgJ0VlbGRh ZGVzICddLAorICAgICAgICAgJ25hbWUnOiAnRXN0b25pYW4nLAorICAgICAgICAgJ25hdGl2ZSc6 ICdlZXN0aSBrZWVsJywKKy0gICAgICAgICdydWxlJzogWydSdWxlJ10sCisrICAgICAgICAncnVs ZSc6IFsnUmVlZ2VsJ10sCisgICAgICAgICAnc2NlbmFyaW8nOiBbJ0p1aHR1bScsICdTdHNlbmFh cml1bSddLAorLSAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ1JhYW1zdGp1aHR1bScsICdS YWFtc3RzZW5hYXJpdW0nXSwKKysgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWydSYWFtanVo dHVtJywgJ1JhYW1zdHNlbmFhcml1bSddLAorICAgICAgICAgJ3RoZW4nOiBbJyogJywgJ1NpaXMg J10sCisgICAgICAgICAnd2hlbic6IFsnKiAnLCAnS3VpICddfSwKKyAgJ2ZhJzogeydhbmQnOiBb JyogJywgJ9mIICddLAorQEAgLTQ1NSw3ICs0NTgsNyBAQCBsYW5ndWFnZXMgPSBcCisgICAgICAg ICAnZ2l2ZW4nOiBbJyogJywgJ9eR15TXmdeg16rXnyAnXSwKKyAgICAgICAgICduYW1lJzogJ0hl YnJldycsCisgICAgICAgICAnbmF0aXZlJzogJ9ei15HXqNeZ16onLAorLSAgICAgICAgJ3J1bGUn OiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxlJzogWyfXm9ec15wnXSwKKyAgICAgICAgICdzY2Vu YXJpbyc6IFsn15PXldeS157XkCcsICfXqteo15fXmdepJ10sCisgICAgICAgICAnc2NlbmFyaW9f b3V0bGluZSc6IFsn16rXkdeg15nXqiDXqteo15fXmdepJ10sCisgICAgICAgICAndGhlbic6IFsn KiAnLCAn15DXliAnLCAn15DXlteZICddLAorQEAgLTUxOCwxNyArNTIxLDIyIEBAIGxhbmd1YWdl cyA9IFwKKyAgICAgICAgICd0aGVuJzogWycqICcsICdBa2tvciAnXSwKKyAgICAgICAgICd3aGVu JzogWycqICcsICdNYWpkICcsICdIYSAnLCAnQW1pa29yICddfSwKKyAgJ2lkJzogeydhbmQnOiBb JyogJywgJ0RhbiAnXSwKKy0gICAgICAgICdiYWNrZ3JvdW5kJzogWydEYXNhciddLAorLSAgICAg ICAgJ2J1dCc6IFsnKiAnLCAnVGFwaSAnXSwKKy0gICAgICAgICdleGFtcGxlcyc6IFsnQ29udG9o J10sCisrICAgICAgICAnYmFja2dyb3VuZCc6IFsnRGFzYXInLCAnTGF0YXIgQmVsYWthbmcnXSwK KysgICAgICAgICdidXQnOiBbJyogJywgJ1RhcGkgJywgJ1RldGFwaSAnXSwKKysgICAgICAgICdl eGFtcGxlcyc6IFsnQ29udG9oJywgJ01pc2FsJ10sCisgICAgICAgICAnZmVhdHVyZSc6IFsnRml0 dXInXSwKKy0gICAgICAgICdnaXZlbic6IFsnKiAnLCAnRGVuZ2FuICddLAorKyAgICAgICAgJ2dp dmVuJzogWycqICcsCisrICAgICAgICAgICAgICAgICAgJ0RlbmdhbiAnLAorKyAgICAgICAgICAg ICAgICAgICdEaWtldGFodWkgJywKKysgICAgICAgICAgICAgICAgICAnRGlhc3Vtc2lrYW4gJywK KysgICAgICAgICAgICAgICAgICAnQmlsYSAnLAorKyAgICAgICAgICAgICAgICAgICdKaWthICdd LAorICAgICAgICAgJ25hbWUnOiAnSW5kb25lc2lhbicsCisgICAgICAgICAnbmF0aXZlJzogJ0Jh aGFzYSBJbmRvbmVzaWEnLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdy dWxlJzogWydSdWxlJywgJ0F0dXJhbiddLAorICAgICAgICAgJ3NjZW5hcmlvJzogWydTa2VuYXJp byddLAorLSAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ1NrZW5hcmlvIGtvbnNlcCddLAor LSAgICAgICAgJ3RoZW4nOiBbJyogJywgJ01ha2EgJ10sCisrICAgICAgICAnc2NlbmFyaW9fb3V0 bGluZSc6IFsnU2tlbmFyaW8ga29uc2VwJywgJ0dhcmlzLUJlc2FyIFNrZW5hcmlvJ10sCisrICAg ICAgICAndGhlbic6IFsnKiAnLCAnTWFrYSAnLCAnS2VtdWRpYW4gJ10sCisgICAgICAgICAnd2hl bic6IFsnKiAnLCAnS2V0aWthICddfSwKKyAgJ2lzJzogeydhbmQnOiBbJyogJywgJ09nICddLAor ICAgICAgICAgJ2JhY2tncm91bmQnOiBbJ0Jha2dydW5udXInXSwKK0BAIC02OTksNiArNzA3LDMy IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzogWyfQodGG0LXQ vdCw0YDRi9C9INGC06nQu9Op0LLQu9Op0LPTqdOpJ10sCisgICAgICAgICAndGhlbic6IFsnKiAn LCAn0KLRjdCz0Y3RhdGN0LQgJywgJ9Ku0q/QvdC40Lkg0LTQsNGA0LDQsCAnXSwKKyAgICAgICAg ICd3aGVuJzogWycqICcsICfQpdGN0YDRjdCyICddfSwKKysgJ21yJzogeydhbmQnOiBbJyogJywg J+CkhuCko+CkvyAnLCAn4KSk4KS44KWH4KSaICddLAorKyAgICAgICAgJ2JhY2tncm91bmQnOiBb J+CkquCkvuCksOCljeCktuCljeCkteCkreClguCkruClgCddLAorKyAgICAgICAgJ2J1dCc6IFsn KiAnLCAn4KSq4KSjICcsICfgpKrgpLDgpILgpKTgpYEgJ10sCisrICAgICAgICAnZXhhbXBsZXMn OiBbJ+CkieCkpuCkvuCkueCksOCkoyddLAorKyAgICAgICAgJ2ZlYXR1cmUnOiBbJ+CkteCliOCk tuCkv+Ckt+CljeCkn+CljeCkrycsICfgpLjgpYHgpLXgpL/gpKfgpL4nXSwKKysgICAgICAgICdn aXZlbic6IFsnKiAnLCAn4KSc4KSwJywgJ+CkpuCkv+CksuClh+CksuCljeCkr+CkviDgpKrgpY3g pLDgpK7gpL7gpKPgpYcgJ10sCisrICAgICAgICAnbmFtZSc6ICdNYXJhdGhpJywKKysgICAgICAg ICduYXRpdmUnOiAn4KSu4KSw4KS+4KSg4KWAJywKKysgICAgICAgICdydWxlJzogWyfgpKjgpL/g pK/gpK4nXSwKKysgICAgICAgICdzY2VuYXJpbyc6IFsn4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSv J10sCisrICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsn4KSq4KSw4KS/4KSm4KWD4KS24KWN 4KSvIOCksOClguCkquCksOClh+CkluCkviddLAorKyAgICAgICAgJ3RoZW4nOiBbJyogJywgJ+Ck ruCklyAnLCAn4KSk4KWH4KS14KWN4KS54KS+ICddLAorKyAgICAgICAgJ3doZW4nOiBbJyogJywg J+CknOClh+CkteCljeCkueCkviAnXX0sCisrICduZSc6IHsnYW5kJzogWycqICcsICfgpLAgJywg J+CkheCkqOClgCAnXSwKKysgICAgICAgICdiYWNrZ3JvdW5kJzogWyfgpKrgpYPgpLfgpY3gpKDg pK3gpYLgpK7gpYAnXSwKKysgICAgICAgICdidXQnOiBbJyogJywgJ+CkpOCksCAnXSwKKysgICAg ICAgICdleGFtcGxlcyc6IFsn4KSJ4KSm4KS+4KS54KSw4KSjJywgJ+CkieCkpuCkvuCkueCksOCk o+CkueCksOClgSddLAorKyAgICAgICAgJ2ZlYXR1cmUnOiBbJ+CkuOClgeCkteCkv+Ckp+Ckvics ICfgpLXgpL/gpLbgpYfgpLfgpKTgpL4nXSwKKysgICAgICAgICdnaXZlbic6IFsnKiAnLCAn4KSm 4KS/4KSH4KSP4KSV4KWLICcsICfgpKbgpL/gpI/gpJXgpYsgJywgJ+Ckr+CkpuCkvyAnXSwKKysg ICAgICAgICduYW1lJzogJ05lcGFsaScsCisrICAgICAgICAnbmF0aXZlJzogJ+CkqOClh+CkquCk vuCksuClgCcsCisrICAgICAgICAncnVsZSc6IFsn4KSo4KS/4KSv4KSuJ10sCisrICAgICAgICAn c2NlbmFyaW8nOiBbJ+CkquCksOCkv+CkpuClg+CktuCljeCkryddLAorKyAgICAgICAgJ3NjZW5h cmlvX291dGxpbmUnOiBbJ+CkquCksOCkv+CkpuClg+CktuCljeCkryDgpLDgpYLgpKrgpLDgpYfg pJbgpL4nXSwKKysgICAgICAgICd0aGVuJzogWycqICcsICfgpKTgpY3gpK/gpLjgpKrgpJvgpL8g JywgJ+CkheCkqOClgCAnXSwKKysgICAgICAgICd3aGVuJzogWycqICcsICfgpJzgpKwgJ119LAor ICAnbmwnOiB7J2FuZCc6IFsnKiAnLCAnRW4gJ10sCisgICAgICAgICAnYmFja2dyb3VuZCc6IFsn QWNodGVyZ3JvbmQnXSwKKyAgICAgICAgICdidXQnOiBbJyogJywgJ01hYXIgJ10sCitAQCAtNzk3 LDcgKzgzMSw3IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICdnaXZlbic6IFsnKiAnLCAn0JTQ vtC/0YPRgdGC0LjQvCAnLCAn0JTQsNC90L4gJywgJ9Cf0YPRgdGC0YwgJ10sCisgICAgICAgICAn bmFtZSc6ICdSdXNzaWFuJywKKyAgICAgICAgICduYXRpdmUnOiAn0YDRg9GB0YHQutC40LknLAor LSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdydWxlJzogWyfQn9GA0LDQstC4 0LvQviddLAorICAgICAgICAgJ3NjZW5hcmlvJzogWyfQn9GA0LjQvNC10YAnLCAn0KHRhtC10L3Q sNGA0LjQuSddLAorICAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ9Ch0YLRgNGD0LrRgtGD 0YDQsCDRgdGG0LXQvdCw0YDQuNGPJ10sCisgICAgICAgICAndGhlbic6IFsnKiAnLCAn0KLQviAn LCAn0JfQsNGC0LXQvCAnLCAn0KLQvtCz0LTQsCAnXSwKK0BAIC04NzMsNyArOTA3LDcgQEAgbGFu Z3VhZ2VzID0gXAorICAgICAgICAgJ2dpdmVuJzogWycqICcsICdHaXZldCAnXSwKKyAgICAgICAg ICduYW1lJzogJ1N3ZWRpc2gnLAorICAgICAgICAgJ25hdGl2ZSc6ICdTdmVuc2thJywKKy0gICAg ICAgICdydWxlJzogWydSdWxlJ10sCisrICAgICAgICAncnVsZSc6IFsnUmVnZWwnXSwKKyAgICAg ICAgICdzY2VuYXJpbyc6IFsnU2NlbmFyaW8nXSwKKyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5l JzogWydBYnN0cmFrdCBTY2VuYXJpbycsICdTY2VuYXJpb21hbGwnXSwKKyAgICAgICAgICd0aGVu JzogWycqICcsICdTw6UgJ10sCitAQCAtODkxLDYgKzkyNSwxOSBAQCBsYW5ndWFnZXMgPSBcCisg ICAgICAgICAnc2NlbmFyaW9fb3V0bGluZSc6IFsn4K6V4K6+4K6f4K+N4K6a4K6/IOCumuCvgeCu sOCvgeCuleCvjeCuleCuruCvjScsICfgrpXgrr7grp/gr43grprgrr8g4K614K6+4K6w4K+N4K6q 4K+N4K6q4K+B4K6w4K+BJ10sCisgICAgICAgICAndGhlbic6IFsnKiAnLCAn4K6F4K6q4K+N4K6q 4K+G4K6+4K604K+B4K6k4K+BICddLAorICAgICAgICAgJ3doZW4nOiBbJyogJywgJ+CujuCuquCv jeCuquCvh+CuvuCupOCvgSAnXX0sCisrICd0ZSc6IHsnYW5kJzogWycqICcsICfgsK7gsLDgsL/g sK/gsYEgJ10sCisrICAgICAgICAnYmFja2dyb3VuZCc6IFsn4LCo4LGH4LCq4LCl4LGN4LCv4LCC J10sCisrICAgICAgICAnYnV0JzogWycqICcsICfgsJXgsL7gsKjgsL8gJ10sCisrICAgICAgICAn ZXhhbXBsZXMnOiBbJ+CwieCwpuCwvuCwueCwsOCwo+CwsuCxgSddLAorKyAgICAgICAgJ2ZlYXR1 cmUnOiBbJ+Cwl+CxgeCwo+CwruCxgSddLAorKyAgICAgICAgJ2dpdmVuJzogWycqICcsICfgsJrg sYbgsKrgsY3gsKrgsKzgsKHgsL/gsKjgsKbgsL8gJ10sCisrICAgICAgICAnbmFtZSc6ICdUZWx1 Z3UnLAorKyAgICAgICAgJ25hdGl2ZSc6ICfgsKTgsYbgsLLgsYHgsJfgsYEnLAorKyAgICAgICAg J3J1bGUnOiBbJ1J1bGUnXSwKKysgICAgICAgICdzY2VuYXJpbyc6IFsn4LCJ4LCm4LC+4LC54LCw 4LCjJywgJ+CwuOCwqOCxjeCwqOCwv+CwteCxh+CwtuCwgiddLAorKyAgICAgICAgJ3NjZW5hcmlv X291dGxpbmUnOiBbJ+CwleCwpeCwqOCwgiddLAorKyAgICAgICAgJ3RoZW4nOiBbJyogJywgJ+Cw heCwquCxjeCwquCxgeCwoeCxgSAnXSwKKysgICAgICAgICd3aGVuJzogWycqICcsICfgsIgg4LCq 4LCw4LC/4LC44LGN4LCl4LC/4LCk4LC/4LCy4LGLICddfSwKKyAgJ3RoJzogeydhbmQnOiBbJyog JywgJ+C5geC4peC4sCAnXSwKKyAgICAgICAgICdiYWNrZ3JvdW5kJzogWyfguYHguJnguKfguITg uLTguJQnXSwKKyAgICAgICAgICdidXQnOiBbJyogJywgJ+C5geC4leC5iCAnXSwKK0BAIC05MDQs MTkgKzk1MSw2IEBAIGxhbmd1YWdlcyA9IFwKKyAgICAgICAgICdzY2VuYXJpb19vdXRsaW5lJzog WyfguKrguKPguLjguJvguYDguKvguJXguLjguIHguLLguKPguJPguYwnLCAn4LmC4LiE4Lij4LiH 4Liq4Lij4LmJ4Liy4LiH4LiC4Lit4LiH4LmA4Lir4LiV4Li44LiB4Liy4Lij4LiT4LmMJ10sCisg ICAgICAgICAndGhlbic6IFsnKiAnLCAn4LiU4Lix4LiH4LiZ4Lix4LmJ4LiZICddLAorICAgICAg ICAgJ3doZW4nOiBbJyogJywgJ+C5gOC4oeC4t+C5iOC4rSAnXX0sCistICd0bCc6IHsnYW5kJzog WycqICcsICfgsK7gsLDgsL/gsK/gsYEgJ10sCistICAgICAgICAnYmFja2dyb3VuZCc6IFsn4LCo 4LGH4LCq4LCl4LGN4LCv4LCCJ10sCistICAgICAgICAnYnV0JzogWycqICcsICfgsJXgsL7gsKjg sL8gJ10sCistICAgICAgICAnZXhhbXBsZXMnOiBbJ+CwieCwpuCwvuCwueCwsOCwo+CwsuCxgSdd LAorLSAgICAgICAgJ2ZlYXR1cmUnOiBbJ+Cwl+CxgeCwo+CwruCxgSddLAorLSAgICAgICAgJ2dp dmVuJzogWycqICcsICfgsJrgsYbgsKrgsY3gsKrgsKzgsKHgsL/gsKjgsKbgsL8gJ10sCistICAg ICAgICAnbmFtZSc6ICdUZWx1Z3UnLAorLSAgICAgICAgJ25hdGl2ZSc6ICfgsKTgsYbgsLLgsYHg sJfgsYEnLAorLSAgICAgICAgJ3J1bGUnOiBbJ1J1bGUnXSwKKy0gICAgICAgICdzY2VuYXJpbyc6 IFsn4LCJ4LCm4LC+4LC54LCw4LCjJywgJ+CwuOCwqOCxjeCwqOCwv+CwteCxh+CwtuCwgiddLAor LSAgICAgICAgJ3NjZW5hcmlvX291dGxpbmUnOiBbJ+CwleCwpeCwqOCwgiddLAorLSAgICAgICAg J3RoZW4nOiBbJyogJywgJ+CwheCwquCxjeCwquCxgeCwoeCxgSAnXSwKKy0gICAgICAgICd3aGVu JzogWycqICcsICfgsIgg4LCq4LCw4LC/4LC44LGN4LCl4LC/4LCk4LC/4LCy4LGLICddfSwKKyAg J3RsaCc6IHsnYW5kJzogWycqICcsICInZWogIiwgJ2xhdGxoICddLAorICAgICAgICAgICdiYWNr Z3JvdW5kJzogWyJtbyciXSwKKyAgICAgICAgICAnYnV0JzogWycqICcsICInYWNoICIsICInYSAi XSwKK2RpZmYgLS1naXQgYS9ldGMvZ2hlcmtpbi9naGVya2luLWxhbmd1YWdlcy5qc29uIGIvZXRj L2doZXJraW4vZ2hlcmtpbi1sYW5ndWFnZXMuanNvbgoraW5kZXggMjljYmNhMS4uNjA2OTY2NCAx MDA2NDQKKy0tLSBhL2V0Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KKysrKyBiL2V0 Yy9naGVya2luL2doZXJraW4tbGFuZ3VhZ2VzLmpzb24KK0BAIC02MDUsNyArNjA1LDEwIEBACisg ICAgICAgIlVuZCAiCisgICAgIF0sCisgICAgICJiYWNrZ3JvdW5kIjogWworLSAgICAgICJHcnVu ZGxhZ2UiCisrICAgICAgIkdydW5kbGFnZSIsCisrICAgICAgIkhpbnRlcmdydW5kIiwKKysgICAg ICAiVm9yYXVzc2V0enVuZ2VuIiwKKysgICAgICAiVm9yYmVkaW5ndW5nZW4iCisgICAgIF0sCisg ICAgICJidXQiOiBbCisgICAgICAgIiogIiwKK0BAIC02MTUsNyArNjE4LDggQEAKKyAgICAgICAi QmVpc3BpZWxlIgorICAgICBdLAorICAgICAiZmVhdHVyZSI6IFsKKy0gICAgICAiRnVua3Rpb25h bGl0w6R0IgorKyAgICAgICJGdW5rdGlvbmFsaXTDpHQiLAorKyAgICAgICJGdW5rdGlvbiIKKyAg ICAgXSwKKyAgICAgImdpdmVuIjogWworICAgICAgICIqICIsCitAQCAtNjI2LDE0ICs2MzAsMTYg QEAKKyAgICAgIm5hbWUiOiAiR2VybWFuIiwKKyAgICAgIm5hdGl2ZSI6ICJEZXV0c2NoIiwKKyAg ICAgInJ1bGUiOiBbCistICAgICAgIlJ1bGUiCisrICAgICAgIlJ1bGUiLAorKyAgICAgICJSZWdl bCIKKyAgICAgXSwKKyAgICAgInNjZW5hcmlvIjogWworICAgICAgICJCZWlzcGllbCIsCisgICAg ICAgIlN6ZW5hcmlvIgorICAgICBdLAorICAgICAic2NlbmFyaW9PdXRsaW5lIjogWworLSAgICAg ICJTemVuYXJpb2dydW5kcmlzcyIKKysgICAgICAiU3plbmFyaW9ncnVuZHJpc3MiLAorKyAgICAg ICJTemVuYXJpZW4iCisgICAgIF0sCisgICAgICJ0aGVuIjogWworICAgICAgICIqICIsCitAQCAt MTEyNywxNCArMTEzMywxNCBAQAorICAgICAibmFtZSI6ICJFc3RvbmlhbiIsCisgICAgICJuYXRp dmUiOiAiZWVzdGkga2VlbCIsCisgICAgICJydWxlIjogWworLSAgICAgICJSdWxlIgorKyAgICAg ICJSZWVnZWwiCisgICAgIF0sCisgICAgICJzY2VuYXJpbyI6IFsKKyAgICAgICAiSnVodHVtIiwK KyAgICAgICAiU3RzZW5hYXJpdW0iCisgICAgIF0sCisgICAgICJzY2VuYXJpb091dGxpbmUiOiBb CistICAgICAgIlJhYW1zdGp1aHR1bSIsCisrICAgICAgIlJhYW1qdWh0dW0iLAorICAgICAgICJS YWFtc3RzZW5hYXJpdW0iCisgICAgIF0sCisgICAgICJ0aGVuIjogWworQEAgLTE0NjUsNyArMTQ3 MSw3IEBACisgICAgICJuYW1lIjogIkhlYnJldyIsCisgICAgICJuYXRpdmUiOiAi16LXkdeo15nX qiIsCisgICAgICJydWxlIjogWworLSAgICAgICJSdWxlIgorKyAgICAgICLXm9ec15wiCisgICAg IF0sCisgICAgICJzY2VuYXJpbyI6IFsKKyAgICAgICAi15PXldeS157XkCIsCitAQCAtMTY5Miwz NiArMTY5OCw0NiBAQAorICAgICAgICJEYW4gIgorICAgICBdLAorICAgICAiYmFja2dyb3VuZCI6 IFsKKy0gICAgICAiRGFzYXIiCisrICAgICAgIkRhc2FyIiwKKysgICAgICAiTGF0YXIgQmVsYWth bmciCisgICAgIF0sCisgICAgICJidXQiOiBbCisgICAgICAgIiogIiwKKy0gICAgICAiVGFwaSAi CisrICAgICAgIlRhcGkgIiwKKysgICAgICAiVGV0YXBpICIKKyAgICAgXSwKKyAgICAgImV4YW1w bGVzIjogWworLSAgICAgICJDb250b2giCisrICAgICAgIkNvbnRvaCIsCisrICAgICAgIk1pc2Fs IgorICAgICBdLAorICAgICAiZmVhdHVyZSI6IFsKKyAgICAgICAiRml0dXIiCisgICAgIF0sCisg ICAgICJnaXZlbiI6IFsKKyAgICAgICAiKiAiLAorLSAgICAgICJEZW5nYW4gIgorKyAgICAgICJE ZW5nYW4gIiwKKysgICAgICAiRGlrZXRhaHVpICIsCisrICAgICAgIkRpYXN1bXNpa2FuICIsCisr ICAgICAgIkJpbGEgIiwKKysgICAgICAiSmlrYSAiCisgICAgIF0sCisgICAgICJuYW1lIjogIklu ZG9uZXNpYW4iLAorICAgICAibmF0aXZlIjogIkJhaGFzYSBJbmRvbmVzaWEiLAorICAgICAicnVs ZSI6IFsKKy0gICAgICAiUnVsZSIKKysgICAgICAiUnVsZSIsCisrICAgICAgIkF0dXJhbiIKKyAg ICAgXSwKKyAgICAgInNjZW5hcmlvIjogWworICAgICAgICJTa2VuYXJpbyIKKyAgICAgXSwKKyAg ICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKy0gICAgICAiU2tlbmFyaW8ga29uc2VwIgorKyAgICAg ICJTa2VuYXJpbyBrb25zZXAiLAorKyAgICAgICJHYXJpcy1CZXNhciBTa2VuYXJpbyIKKyAgICAg XSwKKyAgICAgInRoZW4iOiBbCisgICAgICAgIiogIiwKKy0gICAgICAiTWFrYSAiCisrICAgICAg Ik1ha2EgIiwKKysgICAgICAiS2VtdWRpYW4gIgorICAgICBdLAorICAgICAid2hlbiI6IFsKKyAg ICAgICAiKiAiLAorQEAgLTIzMzAsNiArMjM0Niw1NCBAQAorICAgICAgICLQpdGN0YDRjdCyICIK KyAgICAgXQorICAgfSwKKysgICJuZSI6IHsKKysgICAgImFuZCI6IFsKKysgICAgICAiKiAiLAor KyAgICAgICLgpLAgIiwKKysgICAgICAi4KSF4KSo4KWAICIKKysgICAgXSwKKysgICAgImJhY2tn cm91bmQiOiBbCisrICAgICAgIuCkquClg+Ckt+CljeCkoOCkreClguCkruClgCIKKysgICAgXSwK KysgICAgImJ1dCI6IFsKKysgICAgICAiKiAiLAorKyAgICAgICLgpKTgpLAgIgorKyAgICBdLAor KyAgICAiZXhhbXBsZXMiOiBbCisrICAgICAgIuCkieCkpuCkvuCkueCksOCkoyIsCisrICAgICAg IuCkieCkpuCkvuCkueCksOCko+CkueCksOClgSIKKysgICAgXSwKKysgICAgImZlYXR1cmUiOiBb CisrICAgICAgIuCkuOClgeCkteCkv+Ckp+CkviIsCisrICAgICAgIuCkteCkv+CktuClh+Ckt+Ck pOCkviIKKysgICAgXSwKKysgICAgImdpdmVuIjogWworKyAgICAgICIqICIsCisrICAgICAgIuCk puCkv+Ckh+Ckj+CkleCliyAiLAorKyAgICAgICLgpKbgpL/gpI/gpJXgpYsgIiwKKysgICAgICAi 4KSv4KSm4KS/ICIKKysgICAgXSwKKysgICAgIm5hbWUiOiAiTmVwYWxpIiwKKysgICAgIm5hdGl2 ZSI6ICLgpKjgpYfgpKrgpL7gpLLgpYAiLAorKyAgICAicnVsZSI6IFsKKysgICAgICAi4KSo4KS/ 4KSv4KSuIgorKyAgICBdLAorKyAgICAic2NlbmFyaW8iOiBbCisrICAgICAgIuCkquCksOCkv+Ck puClg+CktuCljeCkryIKKysgICAgXSwKKysgICAgInNjZW5hcmlvT3V0bGluZSI6IFsKKysgICAg ICAi4KSq4KSw4KS/4KSm4KWD4KS24KWN4KSvIOCksOClguCkquCksOClh+CkluCkviIKKysgICAg XSwKKysgICAgInRoZW4iOiBbCisrICAgICAgIiogIiwKKysgICAgICAi4KSk4KWN4KSv4KS44KSq 4KSb4KS/ICIsCisrICAgICAgIuCkheCkqOClgCAiCisrICAgIF0sCisrICAgICJ3aGVuIjogWwor KyAgICAgICIqICIsCisrICAgICAgIuCknOCkrCAiCisrICAgIF0KKysgIH0sCisgICAibmwiOiB7 CisgICAgICJhbmQiOiBbCisgICAgICAgIiogIiwKK0BAIC0yNjY1LDcgKzI3MjksNyBAQAorICAg ICAibmFtZSI6ICJSdXNzaWFuIiwKKyAgICAgIm5hdGl2ZSI6ICLRgNGD0YHRgdC60LjQuSIsCisg ICAgICJydWxlIjogWworLSAgICAgICJSdWxlIgorKyAgICAgICLQn9GA0LDQstC40LvQviIKKyAg ICAgXSwKKyAgICAgInNjZW5hcmlvIjogWworICAgICAgICLQn9GA0LjQvNC10YAiLAorQEAgLTI5 MzMsNyArMjk5Nyw3IEBACisgICAgICJuYW1lIjogIlN3ZWRpc2giLAorICAgICAibmF0aXZlIjog IlN2ZW5za2EiLAorICAgICAicnVsZSI6IFsKKy0gICAgICAiUnVsZSIKKysgICAgICAiUmVnZWwi CisgICAgIF0sCisgICAgICJzY2VuYXJpbyI6IFsKKyAgICAgICAiU2NlbmFyaW8iCitAQCAtMzA0 Niw3ICszMTEwLDcgQEAKKyAgICAgICAi4LmA4Lih4Li34LmI4LitICIKKyAgICAgXQorICAgfSwK Ky0gICJ0bCI6IHsKKysgICJ0ZSI6IHsKKyAgICAgImFuZCI6IFsKKyAgICAgICAiKiAiLAorICAg ICAgICLgsK7gsLDgsL/gsK/gsYEgIgorQEAgLTM1MTAsNSArMzU3NCw1MiBAQAorICAgICAgICIq ICIsCisgICAgICAgIueVtiIKKyAgICAgXQorKyAgfSwKKysgICJtciI6IHsKKysgICAgImFuZCI6 IFsKKysgICAgICAiKiAiLAorKyAgICAgICLgpIbgpKPgpL8gIiwKKysgICAgICAi4KSk4KS44KWH 4KSaICIKKysgICAgXSwKKysgICAgImJhY2tncm91bmQiOiBbCisrICAgICAgIuCkquCkvuCksOCl jeCktuCljeCkteCkreClguCkruClgCIKKysgICAgXSwKKysgICAgImJ1dCI6IFsKKysgICAgICAi KiAiLAorKyAgICAgICLgpKrgpKMgIiwKKysgICAgICAi4KSq4KSw4KSC4KSk4KWBICIKKysgICAg XSwKKysgICAgImV4YW1wbGVzIjogWworKyAgICAgICLgpIngpKbgpL7gpLngpLDgpKMiCisrICAg IF0sCisrICAgICJmZWF0dXJlIjogWworKyAgICAgICLgpLXgpYjgpLbgpL/gpLfgpY3gpJ/gpY3g pK8iLAorKyAgICAgICLgpLjgpYHgpLXgpL/gpKfgpL4iCisrICAgIF0sCisrICAgICJnaXZlbiI6 IFsKKysgICAgICAiKiAiLAorKyAgICAgICLgpJzgpLAiLAorKyAgICAgICLgpKbgpL/gpLLgpYfg pLLgpY3gpK/gpL4g4KSq4KWN4KSw4KSu4KS+4KSj4KWHICIKKysgICAgXSwKKysgICAgIm5hbWUi OiAiTWFyYXRoaSIsCisrICAgICJuYXRpdmUiOiAi4KSu4KSw4KS+4KSg4KWAIiwKKysgICAgInJ1 bGUiOiBbCisrICAgICAgIuCkqOCkv+Ckr+CkriIKKysgICAgXSwKKysgICAgInNjZW5hcmlvIjog WworKyAgICAgICLgpKrgpLDgpL/gpKbgpYPgpLbgpY3gpK8iCisrICAgIF0sCisrICAgICJzY2Vu YXJpb091dGxpbmUiOiBbCisrICAgICAgIuCkquCksOCkv+CkpuClg+CktuCljeCkryDgpLDgpYLg pKrgpLDgpYfgpJbgpL4iCisrICAgIF0sCisrICAgICJ0aGVuIjogWworKyAgICAgICIqICIsCisr ICAgICAgIuCkruCklyAiLAorKyAgICAgICLgpKTgpYfgpLXgpY3gpLngpL4gIgorKyAgICBdLAor KyAgICAid2hlbiI6IFsKKysgICAgICAiKiAiLAorKyAgICAgICLgpJzgpYfgpLXgpY3gpLngpL4g IgorKyAgICBdCisgICB9CisgfQorZGlmZiAtLWdpdCBhL2ZlYXR1cmVzL2NtZGxpbmUubGFuZ19s aXN0LmZlYXR1cmUgYi9mZWF0dXJlcy9jbWRsaW5lLmxhbmdfbGlzdC5mZWF0dXJlCitpbmRleCBm NzdlNzQ3Li4yMDgyMmVjIDEwMDY0NAorLS0tIGEvZmVhdHVyZXMvY21kbGluZS5sYW5nX2xpc3Qu ZmVhdHVyZQorKysrIGIvZmVhdHVyZXMvY21kbGluZS5sYW5nX2xpc3QuZmVhdHVyZQorQEAgLTM5 LDIxICszOSw1MyBAQCBGZWF0dXJlOiBDb21tYW5kLWxpbmUgb3B0aW9uczogVXNlIGJlaGF2ZSAt LWxhbmctbGlzdAorICAgICAgICAgICBmYTog2YHYp9ix2LPbjCAvIFBlcnNpYW4KKyAgICAgICAg ICAgZmk6IHN1b21pIC8gRmlubmlzaAorICAgICAgICAgICBmcjogZnJhbsOnYWlzIC8gRnJlbmNo CistICAgICAgICAiIiIKKy0gICAgQW5kIHRoZSBjb21tYW5kIG91dHB1dCBzaG91bGQgY29udGFp bjoKKy0gICAgICAgICIiIgorLSAgICAgICAgc3Y6IFN2ZW5za2EgLyBTd2VkaXNoCistICAgICAg ICB0YTog4K6k4K6u4K6/4K604K+NIC8gVGFtaWwKKy0gICAgICAgIHRoOiDguYTguJfguKIgLyBU aGFpCistICAgICAgICB0bDog4LCk4LGG4LCy4LGB4LCX4LGBIC8gVGVsdWd1CistICAgICAgICB0 bGg6IHRsaEluZ2FuIC8gS2xpbmdvbgorLSAgICAgICAgdHI6IFTDvHJrw6dlIC8gVHVya2lzaAor LSAgICAgICAgdHQ6INCi0LDRgtCw0YDRh9CwIC8gVGF0YXIKKy0gICAgICAgIHVrOiDQo9C60YDQ sNGX0L3RgdGM0LrQsCAvIFVrcmFpbmlhbgorLSAgICAgICAgdXI6INin2LHYr9mIIC8gVXJkdQor LSAgICAgICAgdXo6INCj0LfQsdC10LrRh9CwIC8gVXpiZWsKKy0gICAgICAgIHZpOiBUaeG6v25n IFZp4buHdCAvIFZpZXRuYW1lc2UKKy0gICAgICAgIHpoLUNOOiDnroDkvZPkuK3mlocgLyBDaGlu ZXNlIHNpbXBsaWZpZWQKKy0gICAgICAgIHpoLVRXOiDnuYHpq5TkuK3mlocgLyBDaGluZXNlIHRy YWRpdGlvbmFsCisrICAgICAgICAgIGdhOiBHYWVpbGdlIC8gSXJpc2gKKysgICAgICAgICAgZ2o6 IOCql+CrgeCqnOCqsOCqvuCqpOCrgCAvIEd1amFyYXRpCisrICAgICAgICAgIGdsOiBnYWxlZ28g LyBHYWxpY2lhbgorKyAgICAgICAgICBoZTog16LXkdeo15nXqiAvIEhlYnJldworKyAgICAgICAg ICBoaTog4KS54KS/4KSC4KSm4KWAIC8gSGluZGkKKysgICAgICAgICAgaHI6IGhydmF0c2tpIC8g Q3JvYXRpYW4KKysgICAgICAgICAgaHQ6IGtyZXnDsmwgLyBDcmVvbGUKKysgICAgICAgICAgaHU6 IG1hZ3lhciAvIEh1bmdhcmlhbgorKyAgICAgICAgICBpZDogQmFoYXNhIEluZG9uZXNpYSAvIElu ZG9uZXNpYW4KKysgICAgICAgICAgaXM6IMONc2xlbnNrYSAvIEljZWxhbmRpYworKyAgICAgICAg ICBpdDogaXRhbGlhbm8gLyBJdGFsaWFuCisrICAgICAgICAgIGphOiDml6XmnKzoqp4gLyBKYXBh bmVzZQorKyAgICAgICAgICBqdjogQmFzYSBKYXdhIC8gSmF2YW5lc2UKKysgICAgICAgICAga2E6 IOGDpeGDkOGDoOGDl+GDleGDlOGDmuGDmCAvIEdlb3JnaWFuCisrICAgICAgICAgIGtuOiDgspXg sqjgs43gsqjgsqEgLyBLYW5uYWRhCisrICAgICAgICAgIGtvOiDtlZzqta3slrQgLyBLb3JlYW4K KysgICAgICAgICAgbHQ6IGxpZXR1dmnFsyBrYWxiYSAvIExpdGh1YW5pYW4KKysgICAgICAgICAg bHU6IEzDq3R6ZWJ1ZXJnZXNjaCAvIEx1eGVtYnVyZ2lzaAorKyAgICAgICAgICBsdjogbGF0dmll xaF1IC8gTGF0dmlhbgorKyAgICAgICAgICBtay1DeXJsOiDQnNCw0LrQtdC00L7QvdGB0LrQuCAv IE1hY2Vkb25pYW4KKysgICAgICAgICAgbWstTGF0bjogTWFrZWRvbnNraSAoTGF0aW5pY2EpIC8g TWFjZWRvbmlhbiAoTGF0aW4pCisrICAgICAgICAgIG1uOiDQvNC+0L3Qs9C+0LsgLyBNb25nb2xp YW4KKysgICAgICAgICAgbXI6IOCkruCksOCkvuCkoOClgCAvIE1hcmF0aGkKKysgICAgICAgICAg bmU6IOCkqOClh+CkquCkvuCksuClgCAvIE5lcGFsaQorKyAgICAgICAgICBubDogTmVkZXJsYW5k cyAvIER1dGNoCisrICAgICAgICAgIG5vOiBub3JzayAvIE5vcndlZ2lhbgorKyAgICAgICAgICBw YTog4Kiq4Kmw4Kic4Ki+4Kis4KmAIC8gUGFuamFiaQorKyAgICAgICAgICBwbDogcG9sc2tpIC8g UG9saXNoCisrICAgICAgICAgIHB0OiBwb3J0dWd1w6pzIC8gUG9ydHVndWVzZQorKyAgICAgICAg ICBybzogcm9tw6JuxIMgLyBSb21hbmlhbgorKyAgICAgICAgICBydTog0YDRg9GB0YHQutC40Lkg LyBSdXNzaWFuCisrICAgICAgICAgIHNrOiBTbG92ZW5za3kgLyBTbG92YWsKKysgICAgICAgICAg c2w6IFNsb3ZlbnNraSAvIFNsb3ZlbmlhbgorKyAgICAgICAgICBzci1DeXJsOiDQodGA0L/RgdC6 0LggLyBTZXJiaWFuCisrICAgICAgICAgIHNyLUxhdG46IFNycHNraSAoTGF0aW5pY2EpIC8gU2Vy YmlhbiAoTGF0aW4pCisrICAgICAgICAgIHN2OiBTdmVuc2thIC8gU3dlZGlzaAorKyAgICAgICAg ICB0YTog4K6k4K6u4K6/4K604K+NIC8gVGFtaWwKKysgICAgICAgICAgdGU6IOCwpOCxhuCwsuCx geCwl+CxgSAvIFRlbHVndQorKyAgICAgICAgICB0aDog4LmE4LiX4LiiIC8gVGhhaQorKyAgICAg ICAgICB0bGg6IHRsaEluZ2FuIC8gS2xpbmdvbgorKyAgICAgICAgICB0cjogVMO8cmvDp2UgLyBU dXJraXNoCisrICAgICAgICAgIHR0OiDQotCw0YLQsNGA0YfQsCAvIFRhdGFyCisrICAgICAgICAg IHVrOiDQo9C60YDQsNGX0L3RgdGM0LrQsCAvIFVrcmFpbmlhbgorKyAgICAgICAgICB1cjog2KfY sdiv2YggLyBVcmR1CisrICAgICAgICAgIHV6OiDQo9C30LHQtdC60YfQsCAvIFV6YmVrCisrICAg ICAgICAgIHZpOiBUaeG6v25nIFZp4buHdCAvIFZpZXRuYW1lc2UKKysgICAgICAgICAgemgtQ046 IOeugOS9k+S4reaWhyAvIENoaW5lc2Ugc2ltcGxpZmllZAorKyAgICAgICAgICB6aC1UVzog57mB 6auU5Lit5paHIC8gQ2hpbmVzZSB0cmFkaXRpb25hbAorICAgICAgICAgIiIiCisgICAgIEJ1dCB0 aGUgY29tbWFuZCBvdXRwdXQgc2hvdWxkIG5vdCBjb250YWluICJUcmFjZWJhY2siCitkaWZmIC0t Z2l0IGEvaXNzdWUuZmVhdHVyZXMvaXNzdWUwMzA5LmZlYXR1cmUgYi9pc3N1ZS5mZWF0dXJlcy9p c3N1ZTAzMDkuZmVhdHVyZQoraW5kZXggYzhhODg1Ny4uYjUwZTMyZCAxMDA2NDQKKy0tLSBhL2lz c3VlLmZlYXR1cmVzL2lzc3VlMDMwOS5mZWF0dXJlCisrKysgYi9pc3N1ZS5mZWF0dXJlcy9pc3N1 ZTAzMDkuZmVhdHVyZQorQEAgLTUyLDggKzUyLDggQEAgRmVhdHVyZTogSXNzdWUgIzMwOSAtLSBi ZWhhdmUgLS1sYW5nLWxpc3QgZmFpbHMgb24gUHl0aG9uMworICAgICAgICAgIiIiCisgICAgICAg ICBzdjogU3ZlbnNrYSAvIFN3ZWRpc2gKKyAgICAgICAgIHRhOiDgrqTgrq7grr/grrTgr40gLyBU YW1pbAorKyAgICAgICAgdGU6IOCwpOCxhuCwsuCxgeCwl+CxgSAvIFRlbHVndQorICAgICAgICAg dGg6IOC5hOC4l+C4oiAvIFRoYWkKKy0gICAgICAgIHRsOiDgsKTgsYbgsLLgsYHgsJfgsYEgLyBU ZWx1Z3UKKyAgICAgICAgIHRsaDogdGxoSW5nYW4gLyBLbGluZ29uCisgICAgICAgICB0cjogVMO8 cmvDp2UgLyBUdXJraXNoCisgICAgICAgICB0dDog0KLQsNGC0LDRgNGH0LAgLyBUYXRhcgpkaWZm IC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhh dmUvMDExNS1VUERBVEUtQ0hBTkdFUy1SZWxhdGVkLXRvLVBSLTg5NS1hbmQtODI3LnBhdGNoIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNS1V UERBVEUtQ0hBTkdFUy1SZWxhdGVkLXRvLVBSLTg5NS1hbmQtODI3LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNDQ1MzJhYjliCi0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExNS1V UERBVEUtQ0hBTkdFUy1SZWxhdGVkLXRvLVBSLTg5NS1hbmQtODI3LnBhdGNoCkBAIC0wLDAgKzEs MjIgQEAKK0Zyb20gY2ZiZjQ5MmNlODU5YzgxNzcwM2U0Yzk4NmQ5YWI5ZGNlYTMwMjIzYSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGplbmlzeXMgPGplbmlzeXNAdXNlcnMubm9yZXBs eS5naXRodWIuY29tPgorRGF0ZTogVHVlLCAxMiBKYW4gMjAyMSAxMzo0MDo1OCArMDEwMAorU3Vi amVjdDogW1BBVENIXSBVUERBVEUgQ0hBTkdFUzogUmVsYXRlZCB0byBQUiAjODk1IGFuZCAjODI3 CisKKy0tLQorIENIQU5HRVMucnN0IHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKykKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5yc3QKK2luZGV4IGEz Mzk4ZDguLmZmODIxMzIgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysrIGIvQ0hBTkdFUy5y c3QKK0BAIC0yOCw2ICsyOCw4IEBAIEVOSEFOQ0VNRU5UUzoKKyAqIFVzZSBjdWN1bWJlciAiZ2hl cmtpbi1sYW5ndWFnZXMuanNvbiIgbm93IChzaW1wbGlmeTogR2hlcmtpbiB2NiBhbGlhc2VzLCBs YW5ndWFnZSB1c2FnZSkKKyAqIFN1cHBvcnQgZW1vamlzIGluIGBgKi5mZWF0dXJlYGAgZmlsZXMg YW5kIHN0ZXBzCisgKiBTZWxlY3QtYnktbG9jYXRpb246IEFkZCBzdXBwb3J0IGZvciAiU2NlbmFy aW8gY29udGFpbmVyIiAoRmVhdHVyZSwgUnVsZSwgU2NlbmFyaW9PdXRsaW5lKSAocmVsYXRlZCB0 bzogIzM5MSkKKysqIHB1bGwgICM4OTU6IFVQREFURTogaTE4bi9naGVya2luLWxhbmd1YWdlcy5q c29uIGZyb20gY3VjdW1iZXIgcmVwb3NpdG9yeSAjODk1IChyZWxhdGVkIHRvOiAjODI3KQorKyog cHVsbCAgIzgyNzogRml4ZWQga2V5d29yZCB0cmFuc2xhdGlvbiBpbiBFc3RvbmlhbiAjODI3IChw cm92aWRlZCBieTogb29rdWxsKQorICogaXNzdWUgIzc0MDogRW5oYW5jZW1lbnQ6IHBvc3NpYmls aXR5IHRvIGFkZCBjbGVhbnVwIHRvIGJlIGNhbGxlZCB1cG9uIGxlYXZpbmcgb3V0ZXIgY29udGV4 dCBzdGFjayBmcmFtZXMgKHN1Ym1pdHRlZCBieTogbml6d2l6LCBkY3Ztb29sZSkKKyAqIGlzc3Vl ICM2Nzg6IFNjZW5hcmlvIE91dGxpbmU6IFN1cHBvcnQgdGFncyB3aXRoIGNvbW1hcyBhbmQgc2Vt aWNvbG9ucyAocHJvdmlkZWQgYnk6IGxhd25tb3dlcmxhdHRlLCBwdWxsICM2NzkpCisgKiBpc3N1 ZSAjNjc1OiBGZWF0dXJlIGZpbGVzIGNhbm5vdCBiZSBmb3VuZCB3aXRoaW4gc3ltbGluayBkaXJl Y3RvcmllcyAocHJvdmlkZWQgYnk6IHNtYWRuZXNzLCBwdWxsICM2ODApCmRpZmYgLS1naXQgYS9t ZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE2LUZJ WC1DSS1UUkFWSVMtRm9yLXB5dGhvbi0yLjctYnVpbGRzLW1vY2stNC4wLW9ubHktZm8ucGF0Y2gg Yi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE2 LUZJWC1DSS1UUkFWSVMtRm9yLXB5dGhvbi0yLjctYnVpbGRzLW1vY2stNC4wLW9ubHktZm8ucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43ODEyN2QxNGUKLS0tIC9k ZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24z LWJlaGF2ZS8wMTE2LUZJWC1DSS1UUkFWSVMtRm9yLXB5dGhvbi0yLjctYnVpbGRzLW1vY2stNC4w LW9ubHktZm8ucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSBhYzFkOTgzODFkZTYyYjkwMGFm ODlhZWU1MTI3YzkwMWZiZTgyYzM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamVu aXN5cyA8amVuaXN5c0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUdWUsIDEyIEph biAyMDIxIDEzOjUxOjAyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZJWCBDSS1UUkFWSVM6IEZv ciBweXRob24gMi43IGJ1aWxkcyAobW9jayA+PSA0LjAgb25seSBmb3IKKyBweXRob24udmVyc2lv biA+PSAzLjYpCisKKy0tLQorIHB5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0IHwgMyArKy0K KyBweS5yZXF1aXJlbWVudHMvdGVzdGluZy50eHQgICB8IDMgKystCisgMiBmaWxlcyBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9weS5yZXF1 aXJlbWVudHMvY2kudHJhdmlzLnR4dCBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0Citp bmRleCBjYmM2MGMwLi4xZDZlMDUwIDEwMDY0NAorLS0tIGEvcHkucmVxdWlyZW1lbnRzL2NpLnRy YXZpcy50eHQKKysrKyBiL3B5LnJlcXVpcmVtZW50cy9jaS50cmF2aXMudHh0CitAQCAtNiw3ICs2 LDggQEAgcHl0ZXN0IDwgIDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyBweXRlc3QgPj0g NS4wOyBweXRob25fdmVyc2lvbiA+PSAnMy4wJworIAorIHB5dGVzdC1odG1sID49IDEuMTkuMCw8 Mi4wCistbW9jayAgPj0gMi4wCisrbW9jayAgPCAgNC4wOyAgIHB5dGhvbl92ZXJzaW9uIDwgICcz LjYnCisrbW9jayAgPj0gNC4wOyAgIHB5dGhvbl92ZXJzaW9uID49ICczLjYnCisgUHlIYW1jcmVz dCA+PSAyLjAuMjsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKyBQeUhhbWNyZXN0IDwgIDIuMDsg ICBweXRob25fdmVyc2lvbiA8ICAnMy4wJworIAorZGlmZiAtLWdpdCBhL3B5LnJlcXVpcmVtZW50 cy90ZXN0aW5nLnR4dCBiL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAoraW5kZXggZmM4ZmQ4 Mi4uOTIzMGMxZiAxMDA2NDQKKy0tLSBhL3B5LnJlcXVpcmVtZW50cy90ZXN0aW5nLnR4dAorKysr IGIvcHkucmVxdWlyZW1lbnRzL3Rlc3RpbmcudHh0CitAQCAtOCw3ICs4LDggQEAgcHl0ZXN0IDwg IDUuMDsgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcgIyBweXRlc3QgPj0gNC4yCisgcHl0ZXN0ID49 IDUuMDsgcHl0aG9uX3ZlcnNpb24gPj0gJzMuMCcKKyAKKyBweXRlc3QtaHRtbCA+PSAxLjE5LjAs PDIuMAorLW1vY2sgID49IDIuMAorK21vY2sgIDwgIDQuMDsgICBweXRob25fdmVyc2lvbiA8ICAn My42JworK21vY2sgID49IDQuMDsgICBweXRob25fdmVyc2lvbiA+PSAnMy42JworIFB5SGFtY3Jl c3QgPj0gMi4wLjI7IHB5dGhvbl92ZXJzaW9uID49ICczLjAnCisgUHlIYW1jcmVzdCA8ICAyLjA7 ICAgcHl0aG9uX3ZlcnNpb24gPCAgJzMuMCcKKyAKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3Jl Y2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTctQWRkcy10aGUtYWJpbGl0 eS10by11c2UtYS1jdXN0b20tcnVubmVyLWluLXRoZS1iZWhhdi5wYXRjaCBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTctQWRkcy10aGUtYWJp bGl0eS10by11c2UtYS1jdXN0b20tcnVubmVyLWluLXRoZS1iZWhhdi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjE3ZWUwNzZkOAotLS0gL2Rldi9udWxsCisrKyBi L21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTct QWRkcy10aGUtYWJpbGl0eS10by11c2UtYS1jdXN0b20tcnVubmVyLWluLXRoZS1iZWhhdi5wYXRj aApAQCAtMCwwICsxLDEyNiBAQAorRnJvbSAzNDZhYTA1NWNkMGNkZTJjYzZhMWZlOTJkODc0NjQ0 YjA2ZGJkYjE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbToga2luZ2J1enptYW4gPGJ1 enppLmphdmllckBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE5IEp1biAyMDIwIDA5OjE4OjUxIC0w NDAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZHMgdGhlIGFiaWxpdHkgdG8gdXNlIGEgY3VzdG9tIHJ1 bm5lciBpbiB0aGUgYmVoYXZlIGNvbW1hbmQKKworLS0tCisgYmVoYXZlL19fbWFpbl9fLnB5ICAg ICAgICAgICAgICAgfCAgMiArLQorIGJlaGF2ZS9jb25maWd1cmF0aW9uLnB5ICAgICAgICAgIHwg MTYgKysrKysrKysrKysrKysrKworIGRvY3MvYmVoYXZlLnJzdCAgICAgICAgICAgICAgICAgIHwg IDUgKysrKysKKyB0ZXN0cy91bml0L3Rlc3RfY29uZmlndXJhdGlvbi5weSB8IDE5ICsrKysrKysr KysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9fX21haW5fXy5weSBiL2JlaGF2ZS9fX21haW5f Xy5weQoraW5kZXggM2NhZTM2ZC4uZWRiOTljNCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9fX21haW5f Xy5weQorKysrIGIvYmVoYXZlL19fbWFpbl9fLnB5CitAQCAtMjE1LDcgKzIxNSw3IEBAIGRlZiBt YWluKGFyZ3M9Tm9uZSk6CisgICAgIDpyZXR1cm46IDAsIGlmIHN1Y2Nlc3NmdWwuIE5vbi16ZXJv LCBpbiBjYXNlIG9mIGVycm9ycy9mYWlsdXJlcy4KKyAgICAgIiIiCisgICAgIGNvbmZpZyA9IENv bmZpZ3VyYXRpb24oYXJncykKKy0gICAgcmV0dXJuIHJ1bl9iZWhhdmUoY29uZmlnKQorKyAgICBy ZXR1cm4gcnVuX2JlaGF2ZShjb25maWcsIHJ1bm5lcl9jbGFzcz1jb25maWcucnVubmVyX2NsYXNz KQorIAorIAorIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CitkaWZmIC0tZ2l0IGEvYmVoYXZl L2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQoraW5kZXggNjVlMmUz ZS4uMDRjMDE0YSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CisrKysgYi9i ZWhhdmUvY29uZmlndXJhdGlvbi5weQorQEAgLTgsNiArOCw3IEBAIGltcG9ydCByZQorIGltcG9y dCBzeXMKKyBpbXBvcnQgc2hsZXgKKyBpbXBvcnQgc2l4CisrZnJvbSBpbXBvcnRsaWIgaW1wb3J0 IGltcG9ydF9tb2R1bGUKKyBmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgY29uZmlncGFyc2VyCisgCisg ZnJvbSBiZWhhdmUubW9kZWwgaW1wb3J0IFNjZW5hcmlvT3V0bGluZQorQEAgLTY1LDYgKzY2LDE2 IEBAIGNsYXNzIExvZ0xldmVsKG9iamVjdCk6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICMg Q09ORklHVVJBVElPTiBTQ0hFTUE6CisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKworK2RlZiB2 YWxpZF9weXRob25fbW9kdWxlKHBhdGgpOgorKyAgICB0cnk6CisrICAgICAgICBtb2R1bGVfcGF0 aCwgY2xhc3NfbmFtZSA9IHBhdGgucnNwbGl0KCcuJywgMSkKKysgICAgICAgIG1vZHVsZSA9IGlt cG9ydF9tb2R1bGUobW9kdWxlX3BhdGgpCisrICAgICAgICByZXR1cm4gZ2V0YXR0cihtb2R1bGUs IGNsYXNzX25hbWUpCisrICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgQXR0cmlidXRlRXJyb3IsIElt cG9ydEVycm9yKToKKysgICAgICAgIHJhaXNlIGFyZ3BhcnNlLkFyZ3VtZW50VHlwZUVycm9yKCJO byBtb2R1bGUgbmFtZWQgJyVzJyB3YXMgZm91bmQuIiAlIHBhdGgpCisrCisrCisgb3B0aW9ucyA9 IFsKKyAgICAgKCgiLWMiLCAiLS1uby1jb2xvciIpLAorICAgICAgZGljdChhY3Rpb249InN0b3Jl X2ZhbHNlIiwgZGVzdD0iY29sb3IiLAorQEAgLTExMSw2ICsxMjIsMTEgQEAgb3B0aW9ucyA9IFsK KyAgICAgIGRpY3QobWV0YXZhcj0iUEFUSCIsIGRlc3Q9Imp1bml0X2RpcmVjdG9yeSIsCisgICAg ICAgICAgIGRlZmF1bHQ9InJlcG9ydHMiLAorICAgICAgICAgICBoZWxwPSIiIkRpcmVjdG9yeSBp biB3aGljaCB0byBzdG9yZSBKVW5pdCByZXBvcnRzLiIiIikpLAorKyAgICAKKysgICAgKCgiLS1y dW5uZXItY2xhc3MiLCksCisrICAgICBkaWN0KGFjdGlvbj0ic3RvcmUiLAorKyAgICAgICAgICBk ZWZhdWx0PSJiZWhhdmUucnVubmVyLlJ1bm5lciIsIHR5cGU9dmFsaWRfcHl0aG9uX21vZHVsZSwK KysgICAgICAgICAgaGVscD0iVGVsbHMgQmVoYXZlIHRvIHVzZSBhIHNwZWNpZmljIHJ1bm5lci4g KGRlZmF1bHQ6ICUoZGVmYXVsdClzKSIpKSwKKyAKKyAgICAgKCgpLCAgIyAtLSBDT05GSUdGSUxF IG9ubHkKKyAgICAgIGRpY3QoZGVzdD0iZGVmYXVsdF9mb3JtYXQiLAorZGlmZiAtLWdpdCBhL2Rv Y3MvYmVoYXZlLnJzdCBiL2RvY3MvYmVoYXZlLnJzdAoraW5kZXggMjVjZTUyMy4uOGMxYzEyNSAx MDA2NDQKKy0tLSBhL2RvY3MvYmVoYXZlLnJzdAorKysrIGIvZG9jcy9iZWhhdmUucnN0CitAQCAt NTUsNiArNTUsMTEgQEAgWW91IG1heSBzZWUgdGhlIHNhbWUgaW5mb3JtYXRpb24gcHJlc2VudGVk IGJlbG93IGF0IGFueSB0aW1lIHVzaW5nIGBgYmVoYXZlCisgCisgICAgIERpcmVjdG9yeSBpbiB3 aGljaCB0byBzdG9yZSBKVW5pdCByZXBvcnRzLgorIAorKy4uIG9wdGlvbjo6IC0tcnVubmVyLWNs YXNzCisrCisrICAgIFRoaXMgYWxsb3dzIHlvdSB0byB1c2UgeW91ciBvd24gY3VzdG9tIHJ1bm5l ci4gVGhlIGRlZmF1bHQgaXMgCisrICAgIGBgYmVoYXZlLnJ1bm5lci5SdW5uZXJgYC4KKysKKyAu LiBvcHRpb246OiAtZiwgLS1mb3JtYXQKKyAKKyAgICAgU3BlY2lmeSBhIGZvcm1hdHRlci4gSWYg bm9uZSBpcyBzcGVjaWZpZWQgdGhlIGRlZmF1bHQgZm9ybWF0dGVyIGlzCitkaWZmIC0tZ2l0IGEv dGVzdHMvdW5pdC90ZXN0X2NvbmZpZ3VyYXRpb24ucHkgYi90ZXN0cy91bml0L3Rlc3RfY29uZmln dXJhdGlvbi5weQoraW5kZXggYzk2Y2Y2My4uMDI1YTZkMCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3Vu aXQvdGVzdF9jb25maWd1cmF0aW9uLnB5CisrKysgYi90ZXN0cy91bml0L3Rlc3RfY29uZmlndXJh dGlvbi5weQorQEAgLTUsNiArNSw3IEBAIGltcG9ydCBzaXgKKyBpbXBvcnQgcHl0ZXN0CisgZnJv bSBiZWhhdmUgaW1wb3J0IGNvbmZpZ3VyYXRpb24KKyBmcm9tIGJlaGF2ZS5jb25maWd1cmF0aW9u IGltcG9ydCBDb25maWd1cmF0aW9uLCBVc2VyRGF0YQorK2Zyb20gYmVoYXZlLnJ1bm5lciBpbXBv cnQgUnVubmVyIGFzIEJhc2VSdW5uZXIKKyBmcm9tIHVuaXR0ZXN0IGltcG9ydCBUZXN0Q2FzZQor IAorIAorQEAgLTM3LDYgKzM4LDEwIEBAIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJ3aW4i KToKKyAgICAgUk9PVERJUl9QUkVGSVggPSBvcy5lbnZpcm9uLmdldCgiQkVIQVZFX1JPT1RESVJf UFJFRklYIiwgUk9PVERJUl9QUkVGSVhfREVGQVVMVCkKKyAKKyAKKytjbGFzcyBDdXN0b21UZXN0 UnVubmVyKEJhc2VSdW5uZXIpOgorKyAgICAiIiJDdXN0b20sIGR1bW15IHJ1bm5lciIiIgorKwor KworIGNsYXNzIFRlc3RDb25maWd1cmF0aW9uKG9iamVjdCk6CisgCisgICAgIGRlZiB0ZXN0X3Jl YWRfZmlsZShzZWxmKToKK0BAIC05Miw2ICs5NywyMCBAQCBjbGFzcyBUZXN0Q29uZmlndXJhdGlv bihvYmplY3QpOgorICAgICAgICAgYXNzZXJ0ICJTVEFHRTJfZW52aXJvbm1lbnQucHkiID09IGNv bmZpZy5lbnZpcm9ubWVudF9maWxlCisgICAgICAgICBkZWwgb3MuZW52aXJvblsiQkVIQVZFX1NU QUdFIl0KKyAKKysgICAgZGVmIHRlc3Rfc2V0dGluZ3NfcnVubmVyX2NsYXNzKHNlbGYsIGNhcHN5 cyk6CisrICAgICAgICBjb25maWcgPSBDb25maWd1cmF0aW9uKCIiKQorKyAgICAgICAgYXNzZXJ0 IEJhc2VSdW5uZXIgPT0gY29uZmlnLnJ1bm5lcl9jbGFzcworKworKyAgICBkZWYgdGVzdF9zZXR0 aW5nc19ydW5uZXJfY2xhc3NfY3VzdG9tKHNlbGYsIGNhcHN5cyk6CisrICAgICAgICBjb25maWcg PSBDb25maWd1cmF0aW9uKFsiLS1ydW5uZXItY2xhc3M9dGVzdHMudW5pdC50ZXN0X2NvbmZpZ3Vy YXRpb24uQ3VzdG9tVGVzdFJ1bm5lciJdKQorKyAgICAgICAgYXNzZXJ0IEN1c3RvbVRlc3RSdW5u ZXIgPT0gY29uZmlnLnJ1bm5lcl9jbGFzcworKworKyAgICBkZWYgdGVzdF9zZXR0aW5nc19ydW5u ZXJfY2xhc3NfaW52YWxpZChzZWxmLCBjYXBzeXMpOgorKyAgICAgICAgd2l0aCBweXRlc3QucmFp c2VzKFN5c3RlbUV4aXQpOgorKyAgICAgICAgICAgIENvbmZpZ3VyYXRpb24oWyItLXJ1bm5lci1j bGFzcz1kb2VzLm5vdC5leGlzdC5SdW5uZXIiXSkKKysgICAgICAgIGNhcHR1cmVkID0gY2Fwc3lz LnJlYWRvdXRlcnIoKQorKyAgICAgICAgYXNzZXJ0ICJObyBtb2R1bGUgbmFtZWQgJ2RvZXMubm90 LmV4aXN0LlJ1bm5lcicgd2FzIGZvdW5kLiIgaW4gY2FwdHVyZWQuZXJyCisrCisgCisgY2xhc3Mg VGVzdENvbmZpZ3VyYXRpb25Vc2VyRGF0YShUZXN0Q2FzZSk6CisgICAgICIiIlRlc3QgdXNlcmRh dGEgYXNwZWN0cyBpbiBiZWhhdmUuY29uZmlndXJhdGlvbi5Db25maWd1cmF0aW9uIGNsYXNzLiIi IgpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9u My1iZWhhdmUvMDExOC1BbGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29sb3ItYWx3YXlzLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEx OC1BbGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29sb3ItYWx3YXlzLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZGMzOWY5OGRiCi0tLSAvZGV2L251bGwKKysrIGIv bWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExOC1B bGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29sb3ItYWx3YXlzLnBhdGNoCkBAIC0wLDAgKzEsNTkg QEAKK0Zyb20gY2NjY2JlNDc4YWMwNWQ2MDkzYTA3NmY2MWFhYTAwZDg4NjdiODc2MCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmMgQWJyYW1vd2l0eiA8YWJyYW1vd2lAYWRvYmUu Y29tPgorRGF0ZTogVGh1LCAzIEF1ZyAyMDE3IDA3OjI5OjM4IC0wNzAwCitTdWJqZWN0OiBbUEFU Q0hdIEFsbG93IGZvcmNpbmcgY29sb3Igd2l0aCAtLWNvbG9yPWFsd2F5cworCitldmVuIGlmIHN0 ZG91dCBpcyBub3QgYSB0dHkgKGUuZy46IEplbmtpbnMpCistLS0KKyBiZWhhdmUvY29uZmlndXJh dGlvbi5weSAgICB8ICA3ICsrKystLS0KKyBiZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5weSB8IDEy ICsrKysrKysrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5IGIvYmVoYXZl L2NvbmZpZ3VyYXRpb24ucHkKK2luZGV4IDA0YzAxNGEuLjFiMGJjMmIgMTAwNjQ0CistLS0gYS9i ZWhhdmUvY29uZmlndXJhdGlvbi5weQorKysrIGIvYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkKK0BA IC04Miw5ICs4MiwxMCBAQCBvcHRpb25zID0gWworICAgICAgICAgICBoZWxwPSJEaXNhYmxlIHRo ZSB1c2Ugb2YgQU5TSSBjb2xvciBlc2NhcGVzLiIpKSwKKyAKKyAgICAgKCgiLS1jb2xvciIsKSwK Ky0gICAgIGRpY3QoYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0iY29sb3IiLAorLSAgICAgICAg ICBoZWxwPSIiIlVzZSBBTlNJIGNvbG9yIGVzY2FwZXMuIFRoaXMgaXMgdGhlIGRlZmF1bHQKKy0g ICAgICAgICAgICAgICAgICBiZWhhdmlvdXIuIFRoaXMgc3dpdGNoIGlzIHVzZWQgdG8gb3ZlcnJp ZGUgYQorKyAgICAgZGljdChkZXN0PSJjb2xvciIsIGNob2ljZXM9WyJuZXZlciIsICJhbHdheXMi LCAiYXV0byJdLAorKyAgICAgICAgICBkZWZhdWx0PSJhdXRvIiwgY29uc3Q9ImF1dG8iLCBuYXJn cz0iPyIsCisrICAgICAgICAgIGhlbHA9IiIiVXNlIEFOU0kgY29sb3IgZXNjYXBlcy4gRGVmYXVs dHMgdG8gJShjb25zdClyLgorKyAgICAgICAgICAgICAgICAgIFRoaXMgc3dpdGNoIGlzIHVzZWQg dG8gb3ZlcnJpZGUgYQorICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gZmlsZSBzZXR0 aW5nLiIiIikpLAorIAorICAgICAoKCItZCIsICItLWRyeS1ydW4iKSwKK2RpZmYgLS1naXQgYS9i ZWhhdmUvZm9ybWF0dGVyL3ByZXR0eS5weSBiL2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5Citp bmRleCA3OTRlMWQ3Li5iOTc0MzhhIDEwMDY0NAorLS0tIGEvYmVoYXZlL2Zvcm1hdHRlci9wcmV0 dHkucHkKKysrKyBiL2JlaGF2ZS9mb3JtYXR0ZXIvcHJldHR5LnB5CitAQCAtNjYsOSArNjYsNyBA QCBjbGFzcyBQcmV0dHlGb3JtYXR0ZXIoRm9ybWF0dGVyKToKKyAgICAgICAgIHN1cGVyKFByZXR0 eUZvcm1hdHRlciwgc2VsZikuX19pbml0X18oc3RyZWFtX29wZW5lciwgY29uZmlnKQorICAgICAg ICAgIyAtLSBFTlNVUkU6IE91dHB1dCBzdHJlYW0gaXMgb3Blbi4KKyAgICAgICAgIHNlbGYuc3Ry ZWFtID0gc2VsZi5vcGVuKCkKKy0gICAgICAgIGlzYXR0eSA9IGdldGF0dHIoc2VsZi5zdHJlYW0s ICJpc2F0dHkiLCBsYW1iZGE6IFRydWUpCistICAgICAgICBzdHJlYW1fc3VwcG9ydHNfY29sb3Jz ID0gaXNhdHR5KCkKKy0gICAgICAgIHNlbGYubW9ub2Nocm9tZSA9IG5vdCBjb25maWcuY29sb3Ig b3Igbm90IHN0cmVhbV9zdXBwb3J0c19jb2xvcnMKKysgICAgICAgIHNlbGYubW9ub2Nocm9tZSA9 IHNlbGYuX2dldF9tb25vY2hyb21lKGNvbmZpZykKKyAgICAgICAgIHNlbGYuc2hvd19zb3VyY2Ug PSBjb25maWcuc2hvd19zb3VyY2UKKyAgICAgICAgIHNlbGYuc2hvd190aW1pbmdzID0gY29uZmln LnNob3dfdGltaW5ncworICAgICAgICAgc2VsZi5zaG93X211bHRpbGluZSA9IGNvbmZpZy5zaG93 X211bHRpbGluZQorQEAgLTgzLDYgKzgxLDE0IEBAIGNsYXNzIFByZXR0eUZvcm1hdHRlcihGb3Jt YXR0ZXIpOgorICAgICAgICAgc2VsZi5pbmRlbnRhdGlvbnMgPSBbXQorICAgICAgICAgc2VsZi5z dGVwX2xpbmVzID0gMAorIAorKyAgICBkZWYgX2dldF9tb25vY2hyb21lKHNlbGYsIGNvbmZpZyk6 CisrICAgICAgICBpc2F0dHkgPSBnZXRhdHRyKHNlbGYuc3RyZWFtLCAiaXNhdHR5IiwgbGFtYmRh OiBUcnVlKQorKyAgICAgICAgaWYgY29uZmlnLmNvbG9yID09ICdhbHdheXMnOgorKyAgICAgICAg ICAgIHJldHVybiBGYWxzZQorKyAgICAgICAgZWxpZiBjb25maWcuY29sb3IgPT0gJ25ldmVyJzoK KysgICAgICAgICAgICByZXR1cm4gVHJ1ZQorKyAgICAgICAgZWxzZToKKysgICAgICAgICAgICBy ZXR1cm4gbm90IGlzYXR0eSgpCisgCisgICAgIGRlZiByZXNldChzZWxmKToKKyAgICAgICAgICMg LS0gVU5VU0VEOiBzZWxmLnRhZ19zdGF0ZW1lbnQgPSBOb25lCmRpZmYgLS1naXQgYS9tZXRhLXB5 dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTE5LUFsbG93LWNv bG9yLXdpdGgtbm8tdmFsdWUtZm9sbG93ZWQtYnktcG9zYXJnLnBhdGNoIGIvbWV0YS1weXRob24v cmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDExOS1BbGxvdy1jb2xvci13 aXRoLW5vLXZhbHVlLWZvbGxvd2VkLWJ5LXBvc2FyZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLmNjNGU1MjY3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0 aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMTktQWxsb3ctY29s b3Itd2l0aC1uby12YWx1ZS1mb2xsb3dlZC1ieS1wb3NhcmcucGF0Y2gKQEAgLTAsMCArMSw0MyBA QAorRnJvbSAwODIxZjc2NjQ5NjFlM2RhZTBkMGY2YmNmOTM5YjFhNjNjY2RhYTgwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyYyBBYnJhbW93aXR6IDxhYnJhbW93aUBhZG9iZS5j b20+CitEYXRlOiBUaHUsIDMgQXVnIDIwMTcgMDk6MTE6MjIgLTA3MDAKK1N1YmplY3Q6IFtQQVRD SF0gQWxsb3cgLS1jb2xvciB3aXRoIG5vIHZhbHVlIGZvbGxvd2VkIGJ5IHBvc2FyZworCitBbGxv dyBjb21tYW5kcyBsaWtlIGAtLWNvbG9yIGZlYXR1cmVzL3doaXpiYW5nLmZlYXR1cmVgIHRvIHdv cmsKK1dpdGhvdXQgdGhpcywgYXJncGFyc2Ugd2lsbCB0cmVhdCB0aGUgcG9zaXRpb25hbCBhcmcg YXMgdGhlIHZhbHVlIHRvCistLWNvbG9yIGFuZCB3ZSdkIGdldDoKKyAgYXJndW1lbnQgLS1jb2xv cjogaW52YWxpZCBjaG9pY2U6ICdmZWF0dXJlcy93aGl6YmFuZy5mZWF0dXJlJworLS0tCisgYmVo YXZlL2NvbmZpZ3VyYXRpb24ucHkgfCAxMiArKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwg MTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYmVoYXZlL2Nv bmZpZ3VyYXRpb24ucHkgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQoraW5kZXggMWIwYmMyYi4u MGZkZmQ1ZSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CisrKysgYi9iZWhh dmUvY29uZmlndXJhdGlvbi5weQorQEAgLTgzLDcgKzgzLDcgQEAgb3B0aW9ucyA9IFsKKyAKKyAg ICAgKCgiLS1jb2xvciIsKSwKKyAgICAgIGRpY3QoZGVzdD0iY29sb3IiLCBjaG9pY2VzPVsibmV2 ZXIiLCAiYWx3YXlzIiwgImF1dG8iXSwKKy0gICAgICAgICAgZGVmYXVsdD0iYXV0byIsIGNvbnN0 PSJhdXRvIiwgbmFyZ3M9Ij8iLAorKyAgICAgICAgICBkZWZhdWx0PU5vbmUsIGNvbnN0PSJhdXRv IiwgbmFyZ3M9Ij8iLAorICAgICAgICAgICBoZWxwPSIiIlVzZSBBTlNJIGNvbG9yIGVzY2FwZXMu IERlZmF1bHRzIHRvICUoY29uc3Qpci4KKyAgICAgICAgICAgICAgICAgICBUaGlzIHN3aXRjaCBp cyB1c2VkIHRvIG92ZXJyaWRlIGEKKyAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGZp bGUgc2V0dGluZy4iIiIpKSwKK0BAIC01NjIsNiArNTYyLDE2IEBAIGNsYXNzIENvbmZpZ3VyYXRp b24ob2JqZWN0KToKKyAgICAgICAgICAgICAjIC0tIEFVVE8tRElTQ09WRVI6IFZlcmJvc2UgbW9k ZSBmcm9tIGNvbW1hbmQtbGluZSBhcmdzLgorICAgICAgICAgICAgIHZlcmJvc2UgPSAoIi12IiBp biBjb21tYW5kX2FyZ3MpIG9yICgiLS12ZXJib3NlIiBpbiBjb21tYW5kX2FyZ3MpCisgCisrICAg ICAgICAjIEFsbG93IGNvbW1hbmRzIGxpa2UgYC0tY29sb3IgZmVhdHVyZXMvd2hpemJhbmcuZmVh dHVyZWAgdG8gd29yaworKyAgICAgICAgIyBXaXRob3V0IHRoaXMsIGFyZ3BhcnNlIHdpbGwgdHJl YXQgdGhlIHBvc2l0aW9uYWwgYXJnIGFzIHRoZSB2YWx1ZSB0bworKyAgICAgICAgIyAtLWNvbG9y IGFuZCB3ZSdkIGdldDoKKysgICAgICAgICMgICBhcmd1bWVudCAtLWNvbG9yOiBpbnZhbGlkIGNo b2ljZTogJ2ZlYXR1cmVzL3doaXpiYW5nLmZlYXR1cmUnCisrICAgICAgICAjICAgKGNob29zZSBm cm9tICduZXZlcicsICdhbHdheXMnLCAnYXV0bycpCisrICAgICAgICBpZiAnLS1jb2xvcicgaW4g Y29tbWFuZF9hcmdzOgorKyAgICAgICAgICAgIGNvbG9yX2FyZ19wb3MgPSBjb21tYW5kX2FyZ3Mu aW5kZXgoJy0tY29sb3InKQorKyAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGNvbW1hbmRf YXJnc1tjb2xvcl9hcmdfcG9zICsgMV0pOgorKyAgICAgICAgICAgICAgICBjb21tYW5kX2FyZ3Mu aW5zZXJ0KGNvbG9yX2FyZ19wb3MgKyAxLCAnLS0nKQorKworICAgICAgICAgc2VsZi52ZXJzaW9u ID0gTm9uZQorICAgICAgICAgc2VsZi50YWdzX2hlbHAgPSBOb25lCisgICAgICAgICBzZWxmLmxh bmdfbGlzdCA9IE5vbmUKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMv cHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjAtQWRkLUJFSEFWRV9DT0xPUi1lbnYtdmFyLnBhdGNo IGIvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEy MC1BZGQtQkVIQVZFX0NPTE9SLWVudi12YXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi42Mzk3NWE0MmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9y ZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIwLUFkZC1CRUhBVkVfQ09M T1ItZW52LXZhci5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGE1OWRjODBlMWE4MjkyZTNh NDY1YzY5ZTc5YmQ3NTkxZWQ1MTNlYjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBN YXJjIEFicmFtb3dpdHogPGFicmFtb3dpQGFkb2JlLmNvbT4KK0RhdGU6IFRodSwgMyBBdWcgMjAx NyAxMzoyOTo1NSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBBZGQgQkVIQVZFX0NPTE9SIGVudiB2 YXIKKworLS0tCisgYmVoYXZlL2NvbmZpZ3VyYXRpb24ucHkgfCA0ICsrLS0KKyAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmVo YXZlL2NvbmZpZ3VyYXRpb24ucHkgYi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQoraW5kZXggMGZk ZmQ1ZS4uZTdkMzg1ZCAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9jb25maWd1cmF0aW9uLnB5CisrKysg Yi9iZWhhdmUvY29uZmlndXJhdGlvbi5weQorQEAgLTgzLDcgKzgzLDcgQEAgb3B0aW9ucyA9IFsK KyAKKyAgICAgKCgiLS1jb2xvciIsKSwKKyAgICAgIGRpY3QoZGVzdD0iY29sb3IiLCBjaG9pY2Vz PVsibmV2ZXIiLCAiYWx3YXlzIiwgImF1dG8iXSwKKy0gICAgICAgICAgZGVmYXVsdD1Ob25lLCBj b25zdD0iYXV0byIsIG5hcmdzPSI/IiwKKysgICAgICAgICAgZGVmYXVsdD1vcy5nZXRlbnYoJ0JF SEFWRV9DT0xPUicpLCBjb25zdD0iYXV0byIsIG5hcmdzPSI/IiwKKyAgICAgICAgICAgaGVscD0i IiJVc2UgQU5TSSBjb2xvciBlc2NhcGVzLiBEZWZhdWx0cyB0byAlKGNvbnN0KXIuCisgICAgICAg ICAgICAgICAgICAgVGhpcyBzd2l0Y2ggaXMgdXNlZCB0byBvdmVycmlkZSBhCisgICAgICAgICAg ICAgICAgICAgY29uZmlndXJhdGlvbiBmaWxlIHNldHRpbmcuIiIiKSksCitAQCAtNTA3LDcgKzUw Nyw3IEBAIGNsYXNzIENvbmZpZ3VyYXRpb24ob2JqZWN0KToKKyAgICAgIiIiQ29uZmlndXJhdGlv biBvYmplY3QgZm9yIGJlaGF2ZSBhbmQgYmVoYXZlIHJ1bm5lcnMuIiIiCisgICAgICMgcHlsaW50 OiBkaXNhYmxlPXRvby1tYW55LWluc3RhbmNlLWF0dHJpYnV0ZXMKKyAgICAgZGVmYXVsdHMgPSBk aWN0KAorLSAgICAgICAgY29sb3I9c3lzLnBsYXRmb3JtICE9ICJ3aW4zMiIsCisrICAgICAgICBj b2xvcj0nbmV2ZXInIGlmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiIGVsc2Ugb3MuZ2V0ZW52KCdC RUhBVkVfQ09MT1InLCAnYXV0bycpLAorICAgICAgICAgc2hvd19zbmlwcGV0cz1UcnVlLAorICAg ICAgICAgc2hvd19za2lwcGVkPVRydWUsCisgICAgICAgICBkcnlfcnVuPUZhbHNlLApkaWZmIC0t Z2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUv MDEyMS1maXgtbWFsZm9ybWVkLXRhYmxlLXJvd3Mtd2FybmluZy5wYXRjaCBiL21ldGEtcHl0aG9u L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjEtZml4LW1hbGZvcm1l ZC10YWJsZS1yb3dzLXdhcm5pbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi45YzU0YzhhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXB5dGhvbi9yZWNpcGVz LWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIxLWZpeC1tYWxmb3JtZWQtdGFibGUt cm93cy13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gODQ2M2U5NDQ1OTM4MmU4 ZTIxZDBiNWJkMTlhMjMzNTZiYzY3NGMyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 ID0/VVRGLTg/cT9QYWJsbz0yMERvbT1DMz1BRG5ndWV6Pz0KKyA8cGFibG8uZG9taW5ndWV6c2Fu dGFuYUB0ZWxlZm9uaWNhLmNvbT4KK0RhdGU6IFRodSwgOSBTZXAgMjAyMSAxMjoxOToyMSArMDIw MAorU3ViamVjdDogW1BBVENIXSBmaXg6IG1hbGZvcm1lZCB0YWJsZSByb3dzIHdhcm5pbmcKKwor LS0tCisgYmVoYXZlL3BhcnNlci5weSB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNl cnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9iZWhhdmUvcGFyc2VyLnB5IGIvYmVoYXZlL3BhcnNl ci5weQoraW5kZXggNThjNjhiZS4uYjcxYWRmZSAxMDA2NDQKKy0tLSBhL2JlaGF2ZS9wYXJzZXIu cHkKKysrKyBiL2JlaGF2ZS9wYXJzZXIucHkKK0BAIC00MSw2ICs0MSw3IEBAIEtleXdvcmQgYWxp YXNlczoKKyAjIHB5bGludDogZW5hYmxlPWxpbmUtdG9vLWxvbmcKKyAKKyBmcm9tIF9fZnV0dXJl X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgd2l0aF9zdGF0ZW1lbnQKKytpbXBvcnQgbG9nZ2lu ZworIGltcG9ydCByZQorIGltcG9ydCBzeXMKKyBpbXBvcnQgc2l4CitAQCAtNjQ0LDYgKzY0NSwx MCBAQCBjbGFzcyBQYXJzZXIob2JqZWN0KToKKyAgICAgICAgICAgICBzZWxmLnN0YXRlID0gInN0 ZXBzIgorICAgICAgICAgICAgIHJldHVybiBzZWxmLmFjdGlvbl9zdGVwcyhsaW5lKQorIAorKyAg ICAgICAgaWYgbm90IHJlLm1hdGNoKHIiXih8LispXHwkIiwgbGluZSk6CisrICAgICAgICAgICAg bG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoImJlaGF2ZSIpCisrICAgICAgICAgICAgbG9nZ2Vy Lndhcm5pbmcodSJNYWxmb3JtZWQgdGFibGUgcm93IGF0ICVzOiBsaW5lICVpIiwgc2VsZi5mZWF0 dXJlLmZpbGVuYW1lLCBzZWxmLmxpbmUpCisrCisgICAgICAgICAjIC0tIFNVUFBPUlQ6IEVzY2Fw ZWQtcGlwZShzKSBpbiBHaGVya2luIGNlbGwgdmFsdWVzLgorICAgICAgICAgIyAgICBTZWFyY2gg Zm9yIHBpcGUocykgdGhhdCBhcmUgbm90IHByZWNlZWRlZCB3aXRoIGFuIGVzY2FwZSBjaGFyLgor ICAgICAgICAgY2VsbHMgPSBbY2VsbC5yZXBsYWNlKCJcXHwiLCAifCIpLnN0cmlwKCkKZGlmZiAt LWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZl LzAxMjItRklYLTk1NS1zZXR1cC1SZW1vdmUtYXR0cmlidXRlLXVzZV8ydG8zLnBhdGNoIGIvbWV0 YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmUvMDEyMi1GSVgt OTU1LXNldHVwLVJlbW92ZS1hdHRyaWJ1dGUtdXNlXzJ0bzMucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zNDg4NmUxZjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRh LXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZS8wMTIyLUZJWC05 NTUtc2V0dXAtUmVtb3ZlLWF0dHJpYnV0ZS11c2VfMnRvMy5wYXRjaApAQCAtMCwwICsxLDQyIEBA CitGcm9tIGU3MzUzYzE0YjJhNmI4NzdlYjMxZWJkMDI5YzYxM2M5MWY4YjdmMTEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBqZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KK0RhdGU6IFN1biwgMTIgU2VwIDIwMjEgMTY6MDc6MzIgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSF0gRklYICM5NTU6IHNldHVwOiBSZW1vdmUgYXR0cmlidXRlICd1c2VfMnRvMycKKwor UkVBU09OOgorKiBUaGlzIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkIHNpbmNlIHNldHVwdG9vbHMg Pj0gdjU4LjAuMiAoMjAyMS0wOS0wNikuCisqIDJ0bzMgY29udmVyc2lvbiBzaG91bGQgbm90IGJl IG5lZWRlZCBhbnltb3JlLgorICBDdXJyZW50bHksIGNvZGUgc2hvdWxkIHJ1biBvbiBweXRob24y IGFuZCBweXRob24zIChieSB1c2luZyBzaXgsIGV0Yy4pLgorLS0tCisgc2V0dXAucHkgfCA3ICsr Ky0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggZmQ4OWJkYS4uYmE0MDdm ZCAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTExOCw4ICsxMTgs OCBAQCBzZXR1cCgKKyAgICAgICAgICAgICAicHlsaW50IiwKKyAgICAgICAgIF0sCisgICAgIH0s CistICAgICMgTUFZQkUtRElTQUJMRTogdXNlXzJ0bzMKKy0gICAgdXNlXzJ0bzM9IGJvb2wocHl0 aG9uX3ZlcnNpb24gPj0gMy4wKSwKKysgICAgIyBESVNBQkxFRDogdXNlXzJ0bzM9IGJvb2wocHl0 aG9uX3ZlcnNpb24gPj0gMy4wKSwKKysgICAgIyBERVBSRUNBVEVEIFNJTkNFOiBzZXR1cHRvb2xz IHY1OC4wLjIgKDIwMjEtMDktMDYpCisgICAgIGxpY2Vuc2U9IkJTRCIsCisgICAgIGNsYXNzaWZp ZXJzPVsKKyAgICAgICAgICJEZXZlbG9wbWVudCBTdGF0dXMgOjogNCAtIEJldGEiLAorQEAgLTEy OSwxMiArMTI5LDExIEBAIHNldHVwKAorICAgICAgICAgIlByb2dyYW1taW5nIExhbmd1YWdlIDo6 IFB5dGhvbiA6OiAyIiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24g OjogMi43IiwKKyAgICAgICAgICJQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMyIs CistICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuMyIsCistICAg ICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNCIsCisgICAgICAgICAi UHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNSIsCisgICAgICAgICAiUHJvZ3Jh bW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNiIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcg TGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNyIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3Vh Z2UgOjogUHl0aG9uIDo6IDMuOCIsCisrICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjog UHl0aG9uIDo6IDMuOSIsCisgICAgICAgICAiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9u IDo6IEltcGxlbWVudGF0aW9uIDo6IENQeXRob24iLAorICAgICAgICAgIlByb2dyYW1taW5nIExh bmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1lbnRhdGlvbiA6OiBKeXRob24iLAorICAgICAgICAg IlByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1lbnRhdGlvbiA6OiBQeVB5 IiwKZGlmZiAtLWdpdCBhL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhv bjMtYmVoYXZlLzAxMjMtQWRkLWluZm8tZm9yLWZpeGVkLWlzc3VlLTk1NS5wYXRjaCBiL21ldGEt cHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjMtQWRkLWlu Zm8tZm9yLWZpeGVkLWlzc3VlLTk1NS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjc4MDZkOWU5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcHl0aG9uL3JlY2lw ZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmVoYXZlLzAxMjMtQWRkLWluZm8tZm9yLWZpeGVk LWlzc3VlLTk1NS5wYXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9tIGM2ZTFmNzRlOWU2NzBiYTc4 OTQ2Nzg4OGJjMzRkNjRlNzE5OTlhMjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBq ZW5pc3lzIDxqZW5pc3lzQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgMjAg U2VwIDIwMjEgMTY6MTM6NTkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGluZm8gZm9yIGZp eGVkIGlzc3VlICM5NTUKKworLS0tCisgQ0hBTkdFUy5yc3QgfCAxICsKKyAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL0NIQU5HRVMucnN0IGIvQ0hBTkdFUy5y c3QKK2luZGV4IGZmODIxMzIuLjg4MGZkOTEgMTAwNjQ0CistLS0gYS9DSEFOR0VTLnJzdAorKysr IGIvQ0hBTkdFUy5yc3QKK0BAIC00Miw2ICs0Miw3IEBAIEZJWEVEOgorIAorICogRklYRUQ6IFNv bWUgdGVzdHMgcmVsYXRlZCB0byBweXRob24zLjkKKyAqIEZJWEVEOiBhY3RpdmUtdGFnIGxvZ2lj IGlmIG11bHRpcGxlIHRhZ3Mgd2l0aCBzYW1lIGNhdGVnb3J5IGV4aXN0cy4KKysqIGlzc3VlICM5 NTU6IHNldHVwOiBSZW1vdmUgYXR0cmlidXRlICd1c2VfMnRvMycgKHN1Ym1pdHRlZCBieToga3Jp c2dlc2xpbmcpCisgKiBpc3N1ZSAjNzcyOiBTY2VuYXJpb091dGxpbmUuRXhhbXBsZXMgd2l0aG91 dCB0YWJsZSAoc3VibWl0dGVkIGJ5OiBUaGUtUUEtR2VlaykKKyAqIGlzc3VlICM3NTU6IEZhaWx1 cmVzIHdpdGggUHl0aG9uIDMuOCAoc3VibWl0dGVkIGJ5OiBocm9uY29rKQorICogaXNzdWUgIzcy NTogU2NlbmFyaW8gT3V0bGluZSBkZXNjcmlwdGlvbiBsaW5lcyBzZWVtIHRvIGJlIGlnbm9yZWQg KHN1Ym1pdHRlZCBieTogbml6d2l6KQpkaWZmIC0tZ2l0IGEvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmVfMS4yLjYuYmIgYi9tZXRhLXB5dGhvbi9yZWNp cGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJlaGF2ZV8xLjIuNi5iYgppbmRleCAxZGNjN2Qy MTguLjc0NWQxZTJiMiAxMDA2NDQKLS0tIGEvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9w eXRob24vcHl0aG9uMy1iZWhhdmVfMS4yLjYuYmIKKysrIGIvbWV0YS1weXRob24vcmVjaXBlcy1k ZXZ0b29scy9weXRob24vcHl0aG9uMy1iZWhhdmVfMS4yLjYuYmIKQEAgLTQsOCArNCwxMzEgQEAg TElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNF TlNFO21kNT1kOTUwNDM5ZThlYTZlZDIzM2U0Mjg4ZjVlMWE0OWMwNiIKIAogUFYgLj0gIitnaXQk e1NSQ1JFVn0iCi1TUkNSRVYgPSAiOTUyMDExOTM3NjA0NmFlZmY3MzgwNGI1ZjFlYTA1ZDg3YTYz ZjM3MCIKLVNSQ19VUkkgKz0gImdpdDovL2dpdGh1Yi5jb20vYmVoYXZlL2JlaGF2ZTticmFuY2g9 bWFzdGVyO3Byb3RvY29sPWh0dHBzIgorU1JDUkVWID0gImMwZjNmYWY0N2ZmMDVmNTQ5ZWMwNDk1 OTllYjJmMjQwNjliMGU1MWUiCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1GSVhFUy03MjUtU2Nl bmFyaW9PdXRsaW5lQnVpbGRlci13YXMtbm90LWNvcHlpbmctZGVzLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwMDItVVBEQVRFLUZJWEVELTcyNS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDAzLUFERC1URVNULXRvLXZlcmlmeS10aGF0LWlzc3VlLTcyNS1pcy1maXhlZC5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMDA0LUZJWC1TdW1tYXJ5UmVwb3J0ZXItY291bnRzLWNvbXB1 dGF0aW9uLXdoZW4tUnVsZXMtYXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1TdW1t YXJ5UmVwb3J0ZXIucHJpbnRfc3VtbWFyeS1TaW1wbGlmeS1pZi1SdWxlcy1hcmUtLnBhdGNoIFwK KyAgICAgICAgICAgZmlsZTovLzAwMDYtRm9ybWF0dGVyLUFkZC1iYXNpYy1zdXBwb3J0LW91dHB1 dC1mb3ItUnVsZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1CVU1QLVZFUlNJT04t MS4yLjcuZGV2MS13YXMtMS4yLjcuZGV2MC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA4 LUNvcnJlY3QtZXhhbXBsZXMtYW5kLWRvY3N0cmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDA5LUZJWC1mZWF0dXJlLnJ1bl9pdGVtcy1wcm9jZXNzaW5nLXdpdGgtUnVsZS1zLnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAwMTAtZG9jcy1EaXNhYmxlLXNwaGlueC1pbnRsLXN1cHBv cnQtZm9yLVJFQURUSEVET0NTLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtQ2xlYW51 cC1EZXBlbmRlbnQtcGFja2FnZS12ZXJzaW9ucy1pbi1yZXF1aXJlbWVudHMucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDAxMi1kb2NzLWNvbmYucHktdHdlYWtzLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwMTMtRklYLU1pc3NwZWxsZWQtYWZ0ZXJfcnVsZS1ob29rLXdhcy1hZnRlcl9h ZnRlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE0LUFkZC1oaW50cy1vbi1HaGVya2lu LXY2LWdyYW1tYXItaXNzdWVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTUtUkVBRE1F LVJlU1QtdHdlYWtzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTYtRXhhbXBsZS11c2lu Zy1HaGVya2luLXY2LWdyYW1tYXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNy1QUkVQ QVJFLVB5dGhvbi0zLjgtc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE4LXB5 My44LVRyeS10by1maXgtbG9nZ2luZy5Gb3JtYXR0ZXItdmFsaWRhdGUtcHJvYmxlbS5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMDE5LXRyYXZpcy5jaS1UZW1wb3JhcmlseS1tb3ZlLXB5Mzgt ZGV2LXRvLWZyb250LWJ1aWxkLWYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMC10cmF2 aXMuY2ktVHdlYWtzLWZvci1mYXN0ZXItYnVpbGRzLXRlbXBvcmFyaWx5LnBhdGNoIFwKKyAgICAg ICAgICAgZmlsZTovLzAwMjEtRklYLXB5My44LWxvZ2dpbmcuRm9ybWF0dGVyLnZhbGlkYXRlLXBy b2JsZW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMi1QUkVQQVJFLUZPUi1QeXRob24t My44LWFzeW5jaW8uY29yb3V0aW5lLWlzLWRlcHJlY2F0LnBhdGNoIFwKKyAgICAgICAgICAgZmls ZTovLzAwMjMtVVBEQVRFLUFkZC03NTUtaW5mby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8w MDI0LUZJWC1XQVJOSU5HLVJlbGF0ZWQtdG8tZG9jc3RyaW5nLWV4YW1wbGUtYW5kLXdlaXJkLWIu cGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNS1GSVgtaW52YWxpZC1lc2NhcGUtc2VxdWVu Y2Utd2FybmluZ3Mtdy1yZWdleC1wYXR0ZXJuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAw MjYtREVQUkVDQVRJTkctQ0xFQU5VUC1Nb3ZlLWRlcHJlY2F0ZWQtdGFnLW1hdGNoZXItY2xhcy5w YXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI3LUNvbW1lbnQtdHdlYWtzLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAwMjgtRklYLXdhcm5pbmdzLXJlbGF0ZWQtdG8taW52YWxpZC1lc2Nh cGVzLWluLXJlZ2V4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjktU3RlcHMtY2F0YWxv Zy1zaG91bGQtbm90LWJyZWFrLWNvbmZpZ3VyZWQtcmVydW4tc2V0dC5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDMwLUFkZC1mZWF0dXJlLXctcnVsZXMtYW5kLWZhaWxpbmctc2NlbmFyaW9z LWVuYWJsZS12aWEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMS1leGFtcGxlcy1naGVy a2luX3Y2LVR3ZWFrLVNjZW5hcmlvT3V0bGluZS1FeGFtcGxlcy10LnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwMzItQWRkLWluZm8tb24tbWVyZ2VkLXB1bGwtNTg4LnBhdGNoIFwKKyAgICAg ICAgICAgZmlsZTovLzAwMzMtVHdlYWstdGVzdHMtcmVxdWlyZWQtYnktcHl0ZXN0LTUuMC5wYXRj aCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM0LUNMRUFOVVAtVXNlLXB5dGVzdC1pbnN0ZWFkLW9m LW5vc2UtdG8tcmVtb3ZlLW5vc2UuaW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzNS1S RU1PVkUtREVQRU5ERU5DWS1ub3NlLXRvLWF2b2lkLW5vc2UuaW1wb3J0ZXItd2FybmluLnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAwMzYtRklYLVJlbW92ZS10ZXN0LWZyb20tcHl0ZXN0LXJ1 bi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM3LVNlbGVjdC1ieS1sb2NhdGlvbi1BZGQt c3VwcG9ydC1mb3ItU2NlbmFyaW8tY29udGFpbmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8v MDAzOC1kb2NzLUFkZC1kZXNjcmlwdGlvbi1mb3ItU2VsZWN0LWJ5LWxvY2F0aW9uLWZvci1TY2Vu LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzktdGVzdHMtRml4LXdhcm5pbmdzLWZvci1w eXRob24zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNDAtVXNlLWN1Y3VtYmVyLXRhZy1l eHByZXNzaW9ucy0xLjEuMi10by1maXgtd2FybmluZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDA0MS1NRU5USU9OLUVOSEFOQ0VNRU5ULVN1cHBvcnQtZW1vamlzLWluLWZlYXR1cmUtZmls ZXMtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNDItRklYLUludmFsaWQtZXNjYXBlLWNo YXItaW4tcmVnZXgtdy1weXRob24zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNDMtRXhh bXBsZS1yZWxhdGVkLXRvLXF1ZXN0aW9uLWluLTc1Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDQ0LUZJWC1weXRob24zLjgtcmVncmVzc2lvbnMtb24tQ0ktc2VydmVyLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAwNDUtVVBEQVRFLU1hcmstaXNzdWUtNzU1LWFzLWZpeGVkLnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAwNDYtVVBEQVRFLUN1Y3VtYmVyLWdoZXJraW4tbGFuZ3Vh Z2VzLmpzb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0Ny1naGVya2luLUFkZGluZy1S dWxlLWtleXdvcmQtdHJhbnNsYXRpb24taW4tcG9ydHVndWVzLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAwNDgtVHdlYWtzLXRvLXVwZGF0ZS1nZW5lcmF0ZS1mcm9tLWdoZXJraW4tbGFuZ3Vh Z2VzLmpzby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDQ5LUVYQU1QTEUtVHdlYWstbmFt aW5nLXRvLWZpeHR1cmUuYmVoYXZlLm5vX2JhY2tncm91bmQucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDA1MC1FWEFNUExFLUNsZWFudXAtR2hlcmtpbi12Ni1SRUFETUUucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDA1MS1JbXByb3ZlLXN1cHBvcnQtZm9yLWZlYXR1cmUuYmFja2dyb3Vu ZC1pbmhlcml0YW5jZS1mLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNTItQWRkLXN1cHBv cnQtZm9yLXJ1bnRpbWUtY29uc3RyYWludHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA1 My1Vc2UtcnVudGltZS1jb25zdHJhaW50cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDU0 LUNMRUFOVVAtUmVtb3ZlLWRlcHJlY2F0ZWQtcGFydHMucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDA1NS1DTEVBTlVQLVJlbW92ZS1kZXByZWNhdGVkLXBhcnRzLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwNTYtbW9yZS5mZWF0dXJlcy1QZXJmb3JtLW1vcmUtR2hlcmtpbi12Ni1jaGVj a3MtYW5kLXJ1bi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDU3LVVUSUwtQ29ycmVjdC1V UkwtYW5kLXB5dGhvbi1tb2R1bGUtb2xkLXdhcy1icm9rZW4tbm8ucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDA1OC1VVElMLUZvcm1hdHRpbmctdHdlYWtzLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAwNTktRml4ZWQtYS1idWctd2hlcmUtdXNlX2ZpeHR1cmVfYnlfdGFnLWRpZG4tdC1y ZXR1cm4tdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDYwLUFkZGVkLWlzc3VlLXVuaXQt dGVzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDYxLU1lcmdlLXB1bGwtcmVxdWVzdC03 Njctd2l0aC1taW5vci10d2Vha3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA2Mi1DSEVD Sy1Jc3N1ZS03NjYtUHJldHR5Rm9ybWF0dGVyLVVuaWNvZGVFcnJvci5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDYzLUZJWC1pc3N1ZS03NzItU2NlbmFyaW9PdXRsaW5lLkV4YW1wbGVzLXdp dGhvdXQtdGFibGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA2NC1GSVgtaXNzdWUtNzcy LVNjZW5hcmlvT3V0bGluZS5FeGFtcGxlcy13aXRob3V0LXRhYmxlLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwNjUtTmliYmxlLVRyYXZpc0NJLXRvLXdha2UtdXAucGF0Y2ggXAorICAgICAg ICAgICBmaWxlOi8vMDA2Ni1Ud2Vhay1weXRlc3QtdmVyc2lvbi1zZWxlY3Rpb24ucGF0Y2ggXAor ICAgICAgICAgICBmaWxlOi8vMDA2Ny1Ud2Vhay1weXRlc3QtY29uZmlndXJhdGlvbi10by1zaWxl bmNlLUpVbml0LVhNTC1kaWFsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNjgtQWRkLWJh c2ljLWZlYXR1cmUtdGVzdC1mb3Itd2lsZGNhcmQtcGF0dGVybi1tYXRjaGluZy5wYXRjaCBcCisg ICAgICAgICAgIGZpbGU6Ly8wMDY5LVVQREFURS1kZXBlbmRlbmNpZXMtcGF0aC5weS1wYXRoLXB5 dGVzdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDcwLXB5dGVzdC1EaXNhYmxlLURlcHJl Y2F0ZWRXYXJuaW5nLWZyb20tZGlzdHV0aWxzLXBhY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDA3MS1DTEVBTlVQLUFkZC1Db250ZXh0TW9kZS1lbnVtLXJlbGF0ZWQtdG8tNzk3LnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAwNzItQ2xlYW51cC1jb21tZW50cy5wYXRjaCBcCisgICAg ICAgICAgIGZpbGU6Ly8wMDczLUZJWC1zcGhpbngtYnVpbGQtcHJvYmxlbS1hc3luY19zdGVwczN4 LnB5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNzQtZG9jcy1SZW5hbWUtcGFnZS1wYXJz ZV9leHByZXNzaW9ucy13YXMtcGFyc2VfYnVpbHRpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6 Ly8wMDc1LWRvY3MtcGFyc2VfZXhwcmVzc2lvbi1hZGQtbGlua3MtdG8tcGFyc2VfdHlwZS1tb2R1 bGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA3Ni1CVU1QLVZFUlNJT04tMS4yLjcuZGV2 Mi13YXMtMS4yLjcuZGV2MS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDc3LUdoZXJraW4t cGFyc2VyLUNsZWFudXBzLXJlbGF0ZWQtdG8tcXVlc3Rpb24taW4tODAwLVAucGF0Y2ggXAorICAg ICAgICAgICBmaWxlOi8vMDA3OC1DbGFyaWZ5LXNlbGVjdC1ieS1uYW1lLXVzZXMtcmVnZXgtcGF0 dGVybi1yZWxhdGVkLXRvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwNzktRklYLUNyb3Nz LXJlZmVyZW5jZS1wcm9ibGVtLWNvcHktcGFzdGUtaW4tUnVsZS1jbGFzcy5wYXRjaCBcCisgICAg ICAgICAgIGZpbGU6Ly8wMDgwLURPQ1MtVXBkYXRlLUFQSS1kZXNjcmlwdGlvbi1mb3ItUnVubmVy LU9wZXJhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDgxLUZJWC1ET0NTLVJ1bm5l ci1vcGVyYXRpb25zLXR5cG8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA4Mi1pc3N1ZS03 NDAtRW5oYW5jZW1lbnQtQ29udGV4dC5hZGRfY2xlYW51cC13aXRoLWxheWVyLnBhdGNoIFwKKyAg ICAgICAgICAgZmlsZTovLzAwODMtVVBEQVRFLXBhcnNlLTEuMTguMC1wYXJzZS12ZXJzaW9ucy0x LjE2LjAtLi0xLjE3LngtaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDg0LVJFTEFURUQt VE8tRHVwbGljYXRlZC1zdGVwcy1BbWJpZ3VvdXNTdGVwRXJyb3JzLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwODUtQWRkLXJlbm92YXRlLmpzb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDA4Ni1QUlBFUEFSRS1SRU5PVkFURS1XaXRoLWFkYXB0aW9ucy5wYXRjaCBcCisgICAgICAg ICAgIGZpbGU6Ly8wMDg3LVBpbi1kZXBlbmRlbmNpZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxl Oi8vMDA4OC1yZW5vdmF0ZS1FeHRlbmQtcGlwLXJlcXVpcmVtZW50cy1maWxlLWxpc3QucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDA4OS1QSU4tUkVRVUlSRU1FTlRTLUV4dGVuZC10by1hbGwt cGxhY2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwOTAtdGFza3MtQWRkLWludm9rZV9j bGVhbnVwLXJlcGxhY2VzLV90YXNrbGV0X2NsZWFudXAtci5wYXRjaCBcCisgICAgICAgICAgIGZp bGU6Ly8wMDkxLURvY3MtY2hhbmdlLWNvZGUtYmxvY2tzLWZyb20tYmFzaC10by1jb25zb2xlLnBh dGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwOTItRml4LXR5cG8taW4tdHV0b3JpYWwucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDA5My1weS5yZXF1aXJlbWVudHMtVXNlLVB5SGFtY3Jlc3Qt Mi4wLWZvci1weXRob24yLjcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5NC1VUERBVEUt UFItODc3LXdhcy1tZXJnZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5NS1jYXBpdGFs aXppbmctc3RlcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA5Ni1GSVgtaW52b2tlLXRh c2stZGV2ZWxvcC51cGRhdGUtZ2hlcmtpbi10aGF0LWFib3J0ZWQtLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAwOTctVGVzdC1hZ2FpbnN0LVBvd2VyUEMtQ1BVLXN1cHBvcnQtVHJhdmlzLTg2 Ny5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDk4LUFkZC1Db250ZXh0LmF0dGFjaC1kb2Nz LWFuZC10ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwOTktQWRkLUNvbnRyaWJ1dGlu Zy1jaGFwdGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMDAtQWRhcHQtVG94LXRhcmdl dC1mb3ItYnVpbGRpbmctdGhlLWRvY3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwMS1N ZW50aW9uLUhUTUwtZm9ybWF0dGVyLWluLWRvY3VtZW50YXRpb24ucGF0Y2ggXAorICAgICAgICAg ICBmaWxlOi8vMDEwMi1Vc2UtY29uc29sZS1oaWdobGlnaHRpbmctZm9yLXBpcC1pbnN0YWxsLWRv Y3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEwMy1kb2NzLWZpeC1zaW1wbGUtdHlwby10 dW9yaWFsLXR1dG9yaWFsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMDQtQWRkLXN1cHBv cnQtZm9yLXB5dGhvbjMuOS1ieS11c2luZy1hY3RpdmUtdGFncy5wYXRjaCBcCisgICAgICAgICAg IGZpbGU6Ly8wMTA1LVBSRUZFUi1weXRob24zLWZyb20tbm93LW9uLnBhdGNoIFwKKyAgICAgICAg ICAgZmlsZTovLzAxMDYtUkVNT1ZFLWludm9rZS1zY3JpcHRzLnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAxMDctRklYLURlcHJlY2F0ZWQtd2FybmluZ3MtZm9yLVB5dGhvbi0zLngucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDEwOC1GSVgtUHl0aG9uMi1wcm9ibGVtcy1pbi12aXJ0dWFs ZW52cy13LWJlaGF2ZTRjbWQwLXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMDktRklY LUFjdGl2ZS10YWctbG9naWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDExMC1GSVgtVGVz dHMtdy1tb3JlLmZlYXR1cmVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMTEtRklYLVNv bWUtcmVncmVzc2lvbnMtd2l0aC1QeXRob24tMy45LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTov LzAxMTItZG9jcy1VcGRhdGUtbmV3LWFuZC1ub3Rld29ydGh5LnBhdGNoIFwKKyAgICAgICAgICAg ZmlsZTovLzAxMTMtQWRkLWRpYWdub3N0aWMtaGVscGVyLWZ1bmN0aW9uLXRvLXByaW50LXRoZS1j dXJyZW50LS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTE0LVVQREFURS1pMThuLWdoZXJr aW4tbGFuZ3VhZ2VzLmpzb24tZnJvbS1jdWN1bWJlci1yZXAucGF0Y2ggXAorICAgICAgICAgICBm aWxlOi8vMDExNS1VUERBVEUtQ0hBTkdFUy1SZWxhdGVkLXRvLVBSLTg5NS1hbmQtODI3LnBhdGNo IFwKKyAgICAgICAgICAgZmlsZTovLzAxMTYtRklYLUNJLVRSQVZJUy1Gb3ItcHl0aG9uLTIuNy1i dWlsZHMtbW9jay00LjAtb25seS1mby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMTE3LUFk ZHMtdGhlLWFiaWxpdHktdG8tdXNlLWEtY3VzdG9tLXJ1bm5lci1pbi10aGUtYmVoYXYucGF0Y2gg XAorICAgICAgICAgICBmaWxlOi8vMDExOC1BbGxvdy1mb3JjaW5nLWNvbG9yLXdpdGgtY29sb3It YWx3YXlzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAxMTktQWxsb3ctY29sb3Itd2l0aC1u by12YWx1ZS1mb2xsb3dlZC1ieS1wb3NhcmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEy MC1BZGQtQkVIQVZFX0NPTE9SLWVudi12YXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDEy MS1maXgtbWFsZm9ybWVkLXRhYmxlLXJvd3Mtd2FybmluZy5wYXRjaCBcCisgICAgICAgICAgIGZp bGU6Ly8wMTIyLUZJWC05NTUtc2V0dXAtUmVtb3ZlLWF0dHJpYnV0ZS11c2VfMnRvMy5wYXRjaCBc CisgICAgICAgICAgIGZpbGU6Ly8wMTIzLUFkZC1pbmZvLWZvci1maXhlZC1pc3N1ZS05NTUucGF0 Y2ggXAorICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKQEAgLTE2LDMgKzEz OSw1IEBAIFJERVBFTkRTOiR7UE59ICs9ICIgXAogICAgICR7UFlUSE9OX1BOfS1zZXR1cHRvb2xz IFwKICAgICAke1BZVEhPTl9QTn0tc2l4IFwKICAgICAiCisKK1BWID0gIjYiCi0tIAoyLjI1LjEK Cg== --===============0987472265722282529== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="bitbake-output-qemux86-64.txt" Loading cache...done. Loaded 12618 entries from dependency cache. Parsing recipes...done. Parsing of 7305 .bb files complete (7302 cached, 3 parsed). 12567 targets, 310 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies NOTE: Resolving any missing task queue dependencies Build Configuration (mc:default): BB_VERSION = "2.4.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "4.2" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "master:a43fa36614977745fcbd6441d1c3c20321a8201d" meta-oe meta-python meta-perl = "tmp-auh-upgrades:402fc96d7b589d9e22aca46789f0320134cf223b" workspace = ":" Build Configuration (mc:qemux86-musl): BB_VERSION = "2.4.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "x86_64-poky-linux-musl" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "4.2" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "master:a43fa36614977745fcbd6441d1c3c20321a8201d" meta-oe meta-python meta-perl = "tmp-auh-upgrades:402fc96d7b589d9e22aca46789f0320134cf223b" workspace = ":" Build Configuration (mc:qemuarm64): BB_VERSION = "2.4.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "4.2" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "master:a43fa36614977745fcbd6441d1c3c20321a8201d" meta-oe meta-python meta-perl = "tmp-auh-upgrades:402fc96d7b589d9e22aca46789f0320134cf223b" workspace = ":" Initialising tasks...done. Checking sstate mirror object availability...done. Sstate summary: Wanted 261 Local 23 Mirrors 228 Missed 10 Current 156 (96% match, 97% complete) NOTE: Executing Tasks NOTE: Running task 1089 of 1443 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_fetch) NOTE: recipe python3-behave-6-r0: task do_fetch: Started NOTE: recipe python3-behave-6-r0: task do_fetch: Succeeded NOTE: Running task 1427 of 1443 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_unpack) NOTE: Running task 1428 of 1443 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_prepare_recipe_sysroot) NOTE: recipe python3-behave-6-r0: task do_unpack: Started NOTE: recipe python3-behave-6-r0: task do_prepare_recipe_sysroot: Started NOTE: recipe python3-behave-6-r0: task do_prepare_recipe_sysroot: Succeeded NOTE: recipe python3-behave-6-r0: task do_unpack: Succeeded NOTE: Running task 1429 of 1443 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_patch) NOTE: Running task 1430 of 1443 (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_collect_spdx_deps) NOTE: recipe python3-behave-6-r0: task do_patch: Started NOTE: recipe python3-behave-6-r0: task do_patch: Failed NOTE: recipe python3-behave-6-r0: task do_collect_spdx_deps: Started NOTE: recipe python3-behave-6-r0: task do_collect_spdx_deps: Succeeded NOTE: Tasks Summary: Attempted 1430 tasks of which 1425 didn't need to be rerun and 1 failed. NOTE: Writing buildhistory NOTE: Writing buildhistory took: 3 seconds NOTE: Writing buildhistory NOTE: Writing buildhistory took: 3 seconds NOTE: Writing buildhistory NOTE: Writing buildhistory took: 3 seconds Summary: 1 task failed: /home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_patch Summary: There was 1 ERROR message, returning a non-zero exit code. ERROR: python3-behave-6-r0 do_patch: Applying patch '0001-FIXES-725-ScenarioOutlineBuilder-was-not-copying-des.patch' on target directory '/scratch1/auh/build-auh/tmp/work/core2-64-poky-linux/python3-behave/6-r0/git' CmdError('quilt --quiltrc /scratch1/auh/build-auh/tmp/work/core2-64-poky-linux/python3-behave/6-r0/recipe-sysroot-native/etc/quiltrc push', 0, "stdout: Applying patch 0001-FIXES-725-ScenarioOutlineBuilder-was-not-copying-des.patch can't find file to patch at input line 15 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |From b941f353c129f73934853082f3f3a01cebe6f944 Mon Sep 17 00:00:00 2001 |From: jenisys |Date: Mon, 11 Mar 2019 22:37:04 +0100 |Subject: [PATCH] FIXES #725: ScenarioOutlineBuilder was not copying | description to created Scenario. | |--- | behave/model.py | 1 + | 1 file changed, 1 insertion(+) | |diff --git a/behave/model.py b/behave/model.py |index 4ad4b9d..9dd68fd 100644 |--- a/behave/model.py |+++ b/behave/model.py -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored Patch 0001-FIXES-725-ScenarioOutlineBuilder-was-not-copying-des.patch does not apply (enforce with -f) stderr: ") ERROR: Logfile of failure stored in: /scratch1/auh/build-auh/tmp/work/core2-64-poky-linux/python3-behave/6-r0/temp/log.do_patch.448638 ERROR: Task (/home/auh/Projects/meta-openembedded/meta-python/recipes-devtools/python/python3-behave_1.2.6.bb:do_patch) failed with exit code '1' --===============0987472265722282529==--