<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>44416</bug_id>
          
          <creation_ts>2010-08-23 05:24:21 -0700</creation_ts>
          <short_desc>REGRESSION(r65803): windows build failed (Requested by loislo on #webkit).</short_desc>
          <delta_ts>2010-08-23 05:28:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>44338</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>loislo</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>267859</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-23 05:24:21 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/65803 broke the build:
windows build failed (Requested by loislo on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267860</commentid>
    <comment_count>1</comment_count>
      <attachid>65107</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-23 05:24:35 -0700</bug_when>
    <thetext>Created attachment 65107
ROLLOUT of r65803

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267861</commentid>
    <comment_count>2</comment_count>
      <attachid>65107</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-23 05:28:32 -0700</bug_when>
    <thetext>Comment on attachment 65107
ROLLOUT of r65803

Clearing flags on attachment: 65107

Committed r65804: &lt;http://trac.webkit.org/changeset/65804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>267862</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-08-23 05:28:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65107</attachid>
            <date>2010-08-23 05:24:35 -0700</date>
            <delta_ts>2010-08-23 05:28:32 -0700</delta_ts>
            <desc>ROLLOUT of r65803</desc>
            <filename>bug-44416-20100823122433.patch</filename>
            <type>text/plain</type>
            <size>33382</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MjcxYjk4MjZhODNlNGQ5NjBkMDQzNTk0YjkxNmMxMDNjNGZkMGQzMS4uYjJjNGRhYzBlYjY1YWVm
NWM2YWFjZjkwODlhNzU4Yzg4NDE4ZWM5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMC0wOC0yMyAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjY1ODAzLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC82NTgwMworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDQ0MTYKKworICAgICAgICB3aW5kb3dzIGJ1aWxkIGZhaWxlZCAoUmVxdWVzdGVk
IGJ5IGxvaXNsbyBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGluc3BlY3Rvci9Db2RlR2VuZXJh
dG9ySW5zcGVjdG9yLnBtOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuaWRsOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWw6OnNldEF0dGFjaGVkV2luZG93KToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yVmFsdWVzLmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxs
YmFjay5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYWxsYmFjay5wcm90b3R5cGUucHJvY2Vz
c1Jlc3BvbnNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNwYXRjaC5kZWxheURpc3BhdGNoKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5kaXNwYXRjaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Jfc3luY0Rpc3Bh
dGNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNwYXRjaE1lc3NhZ2VGcm9tQmFja2VuZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IucmVwb3J0UHJvdG9jb2xFcnJvcik6CisKIDIwMTAtMDgt
MjMgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rv
ci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVy
YXRvckluc3BlY3Rvci5wbQppbmRleCBmMGUwMDVkZTM4NTlkMmEwODY5M2JmMDIyNTMyNmNkYjEz
NTg1NGZhLi5lNjQ3YzkwNWVmMTQ1ZjM2NWZjNWE5MDFhNDdjNWU0MGVjZGYwMDRkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnBtCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJbnNwZWN0b3IucG0KQEAgLTE3LDMxICsxNywz
MSBAQCAkdHlwZVRyYW5zZm9ybXsiSW5zcGVjdG9yQ2xpZW50In0gPSB7CiAkdHlwZVRyYW5zZm9y
bXsiQmFja2VuZCJ9ID0gewogICAgICJmb3J3YXJkIiA9PiAiSW5zcGVjdG9yQmFja2VuZCIsCiAg
ICAgImhlYWRlciIgPT4gIkluc3BlY3RvckJhY2tlbmQuaCIsCi0gICAgImRvbWFpbkFjY2Vzc29y
IiA9PiAibV9pbnNwZWN0b3JDb250cm9sbGVyLT5pbnNwZWN0b3JCYWNrZW5kKCkiLAorICAgICJo
YW5kbGVyQWNjZXNzb3IiID0+ICJtX2luc3BlY3RvckNvbnRyb2xsZXItPmluc3BlY3RvckJhY2tl
bmQoKSIsCiB9OwogJHR5cGVUcmFuc2Zvcm17IkNvbnRyb2xsZXIifSA9IHsKICAgICAiZm9yd2Fy
ZEhlYWRlciIgPT4gIkluc3BlY3RvckNvbnRyb2xsZXIuaCIsCi0gICAgImRvbWFpbkFjY2Vzc29y
IiA9PiAibV9pbnNwZWN0b3JDb250cm9sbGVyIiwKKyAgICAiaGFuZGxlckFjY2Vzc29yIiA9PiAi
bV9pbnNwZWN0b3JDb250cm9sbGVyIiwKIH07CiAkdHlwZVRyYW5zZm9ybXsiRGVidWcifSA9IHsK
ICAgICAiZm9yd2FyZCIgPT4gIkluc3BlY3RvckRlYnVnZ2VyQWdlbnQiLAogICAgICJoZWFkZXIi
ID0+ICJJbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgiLAotICAgICJkb21haW5BY2Nlc3NvciIgPT4g
Im1faW5zcGVjdG9yQ29udHJvbGxlci0+ZGVidWdnZXJBZ2VudCgpIiwKKyAgICAiaGFuZGxlckFj
Y2Vzc29yIiA9PiAibV9pbnNwZWN0b3JDb250cm9sbGVyLT5kZWJ1Z2dlckFnZW50KCkiLAogfTsK
ICR0eXBlVHJhbnNmb3JteyJET00ifSA9IHsKICAgICAiZm9yd2FyZCIgPT4gIkluc3BlY3RvckRP
TUFnZW50IiwKICAgICAiaGVhZGVyIiA9PiAiSW5zcGVjdG9yRE9NQWdlbnQuaCIsCi0gICAgImRv
bWFpbkFjY2Vzc29yIiA9PiAibV9pbnNwZWN0b3JDb250cm9sbGVyLT5kb21BZ2VudCgpIiwKKyAg
ICAiaGFuZGxlckFjY2Vzc29yIiA9PiAibV9pbnNwZWN0b3JDb250cm9sbGVyLT5kb21BZ2VudCgp
IiwKIH07CiAkdHlwZVRyYW5zZm9ybXsiQXBwbGljYXRpb25DYWNoZSJ9ID0gewogICAgICJmb3J3
YXJkIiA9PiAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IiwKICAgICAiaGVhZGVyIiA9
PiAiSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiLAotICAgICJkb21haW5BY2Nlc3Nv
ciIgPT4gIm1faW5zcGVjdG9yQ29udHJvbGxlci0+YXBwbGljYXRpb25DYWNoZUFnZW50KCkiLAor
ICAgICJoYW5kbGVyQWNjZXNzb3IiID0+ICJtX2luc3BlY3RvckNvbnRyb2xsZXItPmFwcGxpY2F0
aW9uQ2FjaGVBZ2VudCgpIiwKIH07CiAkdHlwZVRyYW5zZm9ybXsiUHJvZmlsZXIifSA9IHsKICAg
ICAiZm9yd2FyZCIgPT4gIkluc3BlY3RvclByb2ZpbGVyQWdlbnQiLAogICAgICJoZWFkZXIiID0+
ICJJbnNwZWN0b3JQcm9maWxlckFnZW50LmgiLAotICAgICJkb21haW5BY2Nlc3NvciIgPT4gIm1f
aW5zcGVjdG9yQ29udHJvbGxlci0+cHJvZmlsZXJBZ2VudCgpIiwKKyAgICAiaGFuZGxlckFjY2Vz
c29yIiA9PiAibV9pbnNwZWN0b3JDb250cm9sbGVyLT5wcm9maWxlckFnZW50KCkiLAogfTsKICR0
eXBlVHJhbnNmb3JteyJGcm9udGVuZCJ9ID0gewogICAgICJmb3J3YXJkIiA9PiAiUmVtb3RlSW5z
cGVjdG9yRnJvbnRlbmQiLApAQCAtNTYsNyArNTYsNyBAQCAkdHlwZVRyYW5zZm9ybXsiT2JqZWN0
In0gPSB7CiAgICAgImRlZmF1bHRWYWx1ZSIgPT4gIkluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCki
LAogICAgICJmb3J3YXJkIiA9PiAiSW5zcGVjdG9yT2JqZWN0IiwKICAgICAiaGVhZGVyIiA9PiAi
SW5zcGVjdG9yVmFsdWVzLmgiLAotICAgICJKU09OVHlwZSIgPT4gIk9iamVjdCIKKyAgICAiYWNj
ZXNzb3JTdWZmaXgiID0+ICJPYmplY3QiCiB9OwogJHR5cGVUcmFuc2Zvcm17IkFycmF5In0gPSB7
CiAgICAgInBhcmFtIiA9PiAiUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4iLApAQCAtNjQsNyAr
NjQsNyBAQCAkdHlwZVRyYW5zZm9ybXsiQXJyYXkifSA9IHsKICAgICAiZGVmYXVsdFZhbHVlIiA9
PiAiSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpIiwKICAgICAiZm9yd2FyZCIgPT4gIkluc3BlY3Rv
ckFycmF5IiwKICAgICAiaGVhZGVyIiA9PiAiSW5zcGVjdG9yVmFsdWVzLmgiLAotICAgICJKU09O
VHlwZSIgPT4gIkFycmF5IgorICAgICJhY2Nlc3NvclN1ZmZpeCIgPT4gIkFycmF5IgogfTsKICR0
eXBlVHJhbnNmb3JteyJWYWx1ZSJ9ID0gewogICAgICJwYXJhbSIgPT4gIlBhc3NSZWZQdHI8SW5z
cGVjdG9yVmFsdWU+IiwKQEAgLTcyLDE0ICs3MiwxNCBAQCAkdHlwZVRyYW5zZm9ybXsiVmFsdWUi
fSA9IHsKICAgICAiZGVmYXVsdFZhbHVlIiA9PiAiSW5zcGVjdG9yVmFsdWU6Om51bGwoKSIsCiAg
ICAgImZvcndhcmQiID0+ICJJbnNwZWN0b3JWYWx1ZSIsCiAgICAgImhlYWRlciIgPT4gIkluc3Bl
Y3RvclZhbHVlcy5oIiwKLSAgICAiSlNPTlR5cGUiID0+ICJWYWx1ZSIKKyAgICAiYWNjZXNzb3JT
dWZmaXgiID0+ICJWYWx1ZSIKIH07CiAkdHlwZVRyYW5zZm9ybXsiU3RyaW5nIn0gPSB7CiAgICAg
InBhcmFtIiA9PiAiY29uc3QgU3RyaW5nJiIsCiAgICAgInZhcmlhYmxlIiA9PiAiU3RyaW5nIiwK
ICAgICAiZm9yd2FyZEhlYWRlciIgPT4gInd0Zi9Gb3J3YXJkLmgiLAogICAgICJoZWFkZXIiID0+
ICJQbGF0Zm9ybVN0cmluZy5oIiwKLSAgICAiSlNPTlR5cGUiID0+ICJTdHJpbmciCisgICAgImFj
Y2Vzc29yU3VmZml4IiA9PiAiU3RyaW5nIgogfTsKICR0eXBlVHJhbnNmb3JteyJsb25nIn0gPSB7
CiAgICAgInBhcmFtIiA9PiAibG9uZyIsCkBAIC04Nyw3ICs4Nyw3IEBAICR0eXBlVHJhbnNmb3Jt
eyJsb25nIn0gPSB7CiAgICAgImRlZmF1bHRWYWx1ZSIgPT4gIjAiLAogICAgICJmb3J3YXJkIiA9
PiAiIiwKICAgICAiaGVhZGVyIiA9PiAiIiwKLSAgICAiSlNPTlR5cGUiID0+ICJOdW1iZXIiCisg
ICAgImFjY2Vzc29yU3VmZml4IiA9PiAiTnVtYmVyIgogfTsKICR0eXBlVHJhbnNmb3JteyJpbnQi
fSA9IHsKICAgICAicGFyYW0iID0+ICJpbnQiLApAQCAtOTUsNyArOTUsNyBAQCAkdHlwZVRyYW5z
Zm9ybXsiaW50In0gPSB7CiAgICAgImRlZmF1bHRWYWx1ZSIgPT4gIjAiLAogICAgICJmb3J3YXJk
IiA9PiAiIiwKICAgICAiaGVhZGVyIiA9PiAiIiwKLSAgICAiSlNPTlR5cGUiID0+ICJOdW1iZXIi
LAorICAgICJhY2Nlc3NvclN1ZmZpeCIgPT4gIk51bWJlciIsCiB9OwogJHR5cGVUcmFuc2Zvcm17
InVuc2lnbmVkIGxvbmcifSA9IHsKICAgICAicGFyYW0iID0+ICJ1bnNpZ25lZCBsb25nIiwKQEAg
LTEwMyw3ICsxMDMsNyBAQCAkdHlwZVRyYW5zZm9ybXsidW5zaWduZWQgbG9uZyJ9ID0gewogICAg
ICJkZWZhdWx0VmFsdWUiID0+ICIwdSIsCiAgICAgImZvcndhcmQiID0+ICIiLAogICAgICJoZWFk
ZXIiID0+ICIiLAotICAgICJKU09OVHlwZSIgPT4gIk51bWJlciIKKyAgICAiYWNjZXNzb3JTdWZm
aXgiID0+ICJOdW1iZXIiCiB9OwogJHR5cGVUcmFuc2Zvcm17InVuc2lnbmVkIGludCJ9ID0gewog
ICAgICJwYXJhbSIgPT4gInVuc2lnbmVkIGludCIsCkBAIC0xMTEsNyArMTExLDcgQEAgJHR5cGVU
cmFuc2Zvcm17InVuc2lnbmVkIGludCJ9ID0gewogICAgICJkZWZhdWx0VmFsdWUiID0+ICIwdSIs
CiAgICAgImZvcndhcmQiID0+ICIiLAogICAgICJoZWFkZXIiID0+ICIiLAotICAgICJKU09OVHlw
ZSIgPT4gIk51bWJlciIKKyAgICAiYWNjZXNzb3JTdWZmaXgiID0+ICJOdW1iZXIiCiB9OwogJHR5
cGVUcmFuc2Zvcm17ImJvb2xlYW4ifSA9IHsKICAgICAicGFyYW0iID0+ICJib29sIiwKQEAgLTEx
OSw3ICsxMTksNyBAQCAkdHlwZVRyYW5zZm9ybXsiYm9vbGVhbiJ9ID0gewogICAgICJkZWZhdWx0
VmFsdWUiID0+ICJmYWxzZSIsCiAgICAgImZvcndhcmQiID0+ICIiLAogICAgICJoZWFkZXIiID0+
ICIiLAotICAgICJKU09OVHlwZSIgPT4gIkJvb2wiCisgICAgImFjY2Vzc29yU3VmZml4IiA9PiAi
Qm9vbCIKIH07CiAkdHlwZVRyYW5zZm9ybXsidm9pZCJ9ID0gewogICAgICJmb3J3YXJkIiA9PiAi
IiwKQEAgLTE2Miw2ICsxNjIsMTAgQEAgbXkgQGZyb250ZW5kQ29uc3RhbnREZWNsYXJhdGlvbnM7
CiBteSBAZnJvbnRlbmRDb25zdGFudERlZmluaXRpb25zOwogbXkgJGZyb250ZW5kRm9vdGVyOwog
CitteSAkY2FsbElkID0gbmV3IGRvbVNpZ25hdHVyZSgpOyAjIGl0IGlzIGp1c3Qgc3RydWN0dXJl
IGZvciBkZXNjcmliaW5nIHBhcmFtZXRlcnMgZnJvbSBJRExTdHJ1Y3R1cmUucG0uCiskY2FsbElk
LT50eXBlKCJsb25nIik7CiskY2FsbElkLT5uYW1lKCJjYWxsSWQiKTsKKwogIyBEZWZhdWx0IGNv
bnN0cnVjdG9yCiBzdWIgbmV3CiB7CkBAIC0yMTgsOCArMjIyLDkgQEAgc3ViIEdlbmVyYXRlSW50
ZXJmYWNlCiAgICAgJGJhY2tlbmRUeXBlc3siQ29udHJvbGxlciJ9ID0gMTsKICAgICAkYmFja2Vu
ZFR5cGVzeyJJbnNwZWN0b3JDbGllbnQifSA9IDE7CiAgICAgJGJhY2tlbmRUeXBlc3siUGFzc1Jl
ZlB0ciJ9ID0gMTsKLSAgICAkYmFja2VuZFR5cGVzeyJPYmplY3QifSA9IDE7CisgICAgJGJhY2tl
bmRUeXBlc3siQXJyYXkifSA9IDE7CiAKKyAgICBwdXNoKEBiYWNrZW5kTWV0aG9kc0ltcGwsIGdl
bmVyYXRlQmFja2VuZFByaXZhdGVGdW5jdGlvbnMoKSk7CiAgICAgcHVzaChAYmFja2VuZE1ldGhv
ZHNJbXBsLCBnZW5lcmF0ZUJhY2tlbmRNZXNzYWdlUGFyc2VyKCkpOwogICAgIGdlbmVyYXRlRnVu
Y3Rpb25zKCRpbnRlcmZhY2UpOwogCkBAIC0yNTQsNiArMjU5LDcgQEAgc3ViIGdlbmVyYXRlRnJv
bnRlbmRGdW5jdGlvbgogICAgIG15IEBhcmdzRmlsdGVyZWQgPSBncmVwKCRfLT5kaXJlY3Rpb24g
ZXEgIm91dCIsIEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSk7ICMganVzdCBrZWVwIG9ubHkgb3V0
IHBhcmFtZXRlcnMgZm9yIGZyb250ZW5kIGludGVyZmFjZS4KICAgICBtYXAoJGZyb250ZW5kVHlw
ZXN7JF8tPnR5cGV9ID0gMSwgQGFyZ3NGaWx0ZXJlZCk7ICMgcmVnaXN0ZXIgcmVxdWlyZWQgdHlw
ZXMuCiAgICAgbXkgJGFyZ3VtZW50cyA9IGpvaW4oIiwgIiwgbWFwKCR0eXBlVHJhbnNmb3JteyRf
LT50eXBlfS0+eyJwYXJhbSJ9IC4gIiAiIC4gJF8tPm5hbWUsIEBhcmdzRmlsdGVyZWQpKTsgIyBw
cmVwYXJlIGFyZ3VtZW50cyBmb3IgZnVuY3Rpb24gc2lnbmF0dXJlLgorICAgIG15IEBwdXNoQXJn
dW1lbnRzID0gbWFwKCIgICAgYXJndW1lbnRzLT5wdXNoIiAuICR0eXBlVHJhbnNmb3JteyRfLT50
eXBlfS0+eyJhY2Nlc3NvclN1ZmZpeCJ9IC4gIigiIC4gJF8tPm5hbWUgLiAiKTsiLCBAYXJnc0Zp
bHRlcmVkKTsKIAogICAgIG15ICRzaWduYXR1cmUgPSAiICAgIHZvaWQgJHtmdW5jdGlvbk5hbWV9
KCR7YXJndW1lbnRzfSk7IjsKICAgICBpZiAoISRmcm9udGVuZE1ldGhvZHN7JHtzaWduYXR1cmV9
fSkgewpAQCAtMjYyLDE0ICsyNjgsMTAgQEAgc3ViIGdlbmVyYXRlRnJvbnRlbmRGdW5jdGlvbgog
ICAgICAgICBteSBAZnVuY3Rpb247CiAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAidm9pZCAke2Zy
b250ZW5kQ2xhc3NOYW1lfTo6JHtmdW5jdGlvbk5hbWV9KCR7YXJndW1lbnRzfSkiKTsKICAgICAg
ICAgcHVzaChAZnVuY3Rpb24sICJ7Iik7Ci0gICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIFJl
ZlB0cjxJbnNwZWN0b3JPYmplY3Q+ICR7ZnVuY3Rpb25OYW1lfU1lc3NhZ2UgPSBJbnNwZWN0b3JP
YmplY3Q6OmNyZWF0ZSgpOyIpOwotICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAke2Z1bmN0
aW9uTmFtZX1NZXNzYWdlLT5zZXRTdHJpbmcoXCJ0eXBlXCIsIFwiZXZlbnRcIik7Iik7Ci0gICAg
ICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICR7ZnVuY3Rpb25OYW1lfU1lc3NhZ2UtPnNldFN0cmlu
ZyhcImV2ZW50XCIsIFwiJGZ1bmN0aW9uTmFtZVwiKTsiKTsKLSAgICAgICAgcHVzaChAZnVuY3Rp
b24sICIgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcGF5bG9hZERhdGFPYmplY3QgPSBJbnNw
ZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOyIpOwotICAgICAgICBteSBAcHVzaEFyZ3VtZW50cyA9IG1h
cCgiICAgIHBheWxvYWREYXRhT2JqZWN0LT5zZXQiIC4gJHR5cGVUcmFuc2Zvcm17JF8tPnR5cGV9
LT57IkpTT05UeXBlIn0gLiAiKFwiIiAuICRfLT5uYW1lIC4gIlwiLCAiIC4gJF8tPm5hbWUgLiAi
KTsiLCBAYXJnc0ZpbHRlcmVkKTsKKyAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgUmVmUHRy
PEluc3BlY3RvckFycmF5PiBhcmd1bWVudHMgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7Iik7
CisgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIGFyZ3VtZW50cy0+cHVzaFN0cmluZyhcIiRm
dW5jdGlvbk5hbWVcIik7Iik7CiAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCBAcHVzaEFyZ3VtZW50
cyk7Ci0gICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICR7ZnVuY3Rpb25OYW1lfU1lc3NhZ2Ut
PnNldE9iamVjdChcImRhdGFcIiwgcGF5bG9hZERhdGFPYmplY3QpOyIpOwotICAgICAgICBwdXNo
KEBmdW5jdGlvbiwgIiAgICBtX2luc3BlY3RvckNsaWVudC0+c2VuZE1lc3NhZ2VUb0Zyb250ZW5k
KCR7ZnVuY3Rpb25OYW1lfU1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsiKTsKKyAgICAgICAgcHVz
aChAZnVuY3Rpb24sICIgICAgbV9pbnNwZWN0b3JDbGllbnQtPnNlbmRNZXNzYWdlVG9Gcm9udGVu
ZChhcmd1bWVudHMtPnRvSlNPTlN0cmluZygpKTsiKTsKIAogICAgICAgICBwdXNoKEBmdW5jdGlv
biwgIn0iKTsKICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIiKTsKQEAgLTI3Nyw2ICsyNzksMjIg
QEAgc3ViIGdlbmVyYXRlRnJvbnRlbmRGdW5jdGlvbgogICAgIH0KIH0KIAorc3ViIGdlbmVyYXRl
QmFja2VuZFByaXZhdGVGdW5jdGlvbnMKK3sKKyAgICBteSAkcHJpdmF0ZUZ1bmN0aW9ucyA9IDw8
ICJFT0YiOworc3RhdGljIFN0cmluZyBmb3JtYXRXcm9uZ0FyZ3VtZW50c0NvdW50TWVzc2FnZSh1
bnNpZ25lZCBleHBlY3RlZCwgdW5zaWduZWQgYWN0dWFsKQoreworICAgIHJldHVybiBTdHJpbmc6
OmZvcm1hdCgiV3JvbmcgbnVtYmVyIG9mIHBhcmFtZXRlcnM6ICVkIChleHBlY3RlZDogJWQpIiwg
YWN0dWFsLCBleHBlY3RlZCk7Cit9CisKK3N0YXRpYyBTdHJpbmcgZm9ybWF0V3JvbmdBcmd1bWVu
dFR5cGVNZXNzYWdlKHVuc2lnbmVkIHBvc2l0aW9uLCBjb25zdCBjaGFyKiBuYW1lLCBjb25zdCBj
aGFyKiBleHBlY3RlZFR5cGUpCit7CisgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJGYWlsZWQg
dG8gY29udmVydCBwYXJhbWV0ZXIgJWQgKCVzKSB0byAlcyIsIHBvc2l0aW9uLCBuYW1lLCBleHBl
Y3RlZFR5cGUpOworfQorRU9GCisgICAgcmV0dXJuIHNwbGl0KCJcbiIsICRwcml2YXRlRnVuY3Rp
b25zKTsKK30KKwogc3ViIGdlbmVyYXRlQmFja2VuZEZ1bmN0aW9uCiB7CiAgICAgbXkgJGZ1bmN0
aW9uID0gc2hpZnQ7CkBAIC0yODcsOTIgKzMwNSw3NCBAQCBzdWIgZ2VuZXJhdGVCYWNrZW5kRnVu
Y3Rpb24KICAgICBwdXNoKEBiYWNrZW5kQ29uc3RhbnREZWZpbml0aW9ucywgImNvbnN0IGNoYXIq
ICR7YmFja2VuZENsYXNzTmFtZX06OiR7ZnVuY3Rpb25OYW1lfUNtZCA9IFwiJHtmdW5jdGlvbk5h
bWV9XCI7Iik7CiAKICAgICBtYXAoJGJhY2tlbmRUeXBlc3skXy0+dHlwZX0gPSAxLCBAeyRmdW5j
dGlvbi0+cGFyYW1ldGVyc30pOyAjIHJlZ2lzdGVyIHJlcXVpcmVkIHR5cGVzCi0gICAgbXkgQGlu
QXJncyA9IGdyZXAoJF8tPmRpcmVjdGlvbiBlcSAiaW4iICYmICEoJF8tPm5hbWUgZXEgImNhbGxJ
ZCIpICwgQHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9KTsKKyAgICBteSBAaW5BcmdzID0gZ3JlcCgk
Xy0+ZGlyZWN0aW9uIGVxICJpbiIsIEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSk7CiAgICAgbXkg
QG91dEFyZ3MgPSBncmVwKCRfLT5kaXJlY3Rpb24gZXEgIm91dCIsIEB7JGZ1bmN0aW9uLT5wYXJh
bWV0ZXJzfSk7CiAKLSAgICBteSAkc2lnbmF0dXJlID0gIiAgICB2b2lkICR7ZnVuY3Rpb25OYW1l
fShsb25nIGNhbGxJZCwgSW5zcGVjdG9yT2JqZWN0KiByZXF1ZXN0TWVzc2FnZU9iamVjdCk7IjsK
KyAgICBteSAkc2lnbmF0dXJlID0gIiAgICB2b2lkICR7ZnVuY3Rpb25OYW1lfShQYXNzUmVmUHRy
PEluc3BlY3RvckFycmF5PiBhcmdzKTsiOwogICAgICEkYmFja2VuZE1ldGhvZHN7JHtzaWduYXR1
cmV9fSB8fCBkaWUgIkR1cGxpY2F0ZSBmdW5jdGlvbiB3YXMgZGV0ZWN0ZWQgZm9yIHNpZ25hdHVy
ZSAnJHNpZ25hdHVyZScuIjsKICAgICAkYmFja2VuZE1ldGhvZHN7JHtzaWduYXR1cmV9fSA9ICRm
dW5jdGlvbk5hbWU7CiAKICAgICBteSBAZnVuY3Rpb247Ci0gICAgbXkgJHJlcXVlc3RNZXNzYWdl
T2JqZWN0ID0gc2NhbGFyKEBpbkFyZ3MpID8gIiByZXF1ZXN0TWVzc2FnZU9iamVjdCIgOiAiIjsK
LSAgICBwdXNoKEBmdW5jdGlvbiwgInZvaWQgJHtiYWNrZW5kQ2xhc3NOYW1lfTo6JHtmdW5jdGlv
bk5hbWV9KGxvbmcgY2FsbElkLCBJbnNwZWN0b3JPYmplY3QqJHJlcXVlc3RNZXNzYWdlT2JqZWN0
KSIpOworICAgIHB1c2goQGZ1bmN0aW9uLCAidm9pZCAke2JhY2tlbmRDbGFzc05hbWV9Ojoke2Z1
bmN0aW9uTmFtZX0oUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gYXJncykiKTsKICAgICBwdXNo
KEBmdW5jdGlvbiwgInsiKTsKLSAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICBSZWZQdHI8SW5zcGVj
dG9yQXJyYXk+IHByb3RvY29sRXJyb3JzID0gSW5zcGVjdG9yQXJyYXk6OmNyZWF0ZSgpOyIpOwor
ICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIGxvbmcgY2FsbElkID0gMDsiKTsKICAgICBwdXNoKEBm
dW5jdGlvbiwgIiIpOwogCi0gICAgbXkgJGRvbWFpbiA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiaGFuZGxlciJ9IHx8ICJDb250cm9sbGVyIjsKLSAgICBteSAk
ZG9tYWluQWNjZXNzb3IgPSAkdHlwZVRyYW5zZm9ybXskZG9tYWlufS0+eyJkb21haW5BY2Nlc3Nv
ciJ9OwotICAgICRiYWNrZW5kVHlwZXN7JGRvbWFpbn0gPSAxOwotICAgIHB1c2goQGZ1bmN0aW9u
LCAiICAgIGlmICghJGRvbWFpbkFjY2Vzc29yKSIpOwotICAgIHB1c2goQGZ1bmN0aW9uLCAiICAg
ICAgICBwcm90b2NvbEVycm9ycy0+cHVzaFN0cmluZyhTdHJpbmc6OmZvcm1hdChcIkVycm9yOiAl
cyBoYW5kbGVyIGlzIG5vdCBhdmFpbGFibGUuXCIsIFwiJGRvbWFpblwiKSk7Iik7CisgICAgbXkg
JGV4cGVjdGVkUGFyYW1ldGVyc0NvdW50ID0gc2NhbGFyKEBpbkFyZ3MpOworICAgIG15ICRleHBl
Y3RlZFBhcmFtZXRlcnNDb3VudFdpdGhNZXRob2ROYW1lID0gc2NhbGFyKEBpbkFyZ3MpICsgMTsK
KyAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICBpZiAoYXJncy0+bGVuZ3RoKCkgIT0gJGV4cGVjdGVk
UGFyYW1ldGVyc0NvdW50V2l0aE1ldGhvZE5hbWUpIHsiKTsKKyAgICBwdXNoKEBmdW5jdGlvbiwg
IiAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Iik7CisgICAgcHVzaChAZnVuY3Rpb24sICIg
ICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCAke2Z1bmN0aW9uTmFtZX1DbWQsIGZv
cm1hdFdyb25nQXJndW1lbnRzQ291bnRNZXNzYWdlKGFyZ3MtPmxlbmd0aCgpIC0gMSwgJGV4cGVj
dGVkUGFyYW1ldGVyc0NvdW50KSk7Iik7CisgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIHJl
dHVybjsiKTsKKyAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICB9Iik7CiAgICAgcHVzaChAZnVuY3Rp
b24sICIiKTsKIAotICAgIGlmIChzY2FsYXIoQGluQXJncykpIHsKLSAgICAgICAgIyBkZWNsYXJl
IHZhcmlhYmxlcyBmb3IgYWxsICdpbicgYXJnczsKLSAgICAgICAgcHVzaChAZnVuY3Rpb24sIG1h
cCgiICAgICIgLiAkdHlwZVRyYW5zZm9ybXskXy0+dHlwZX0tPnsidmFyaWFibGUifSAuICIgIiAu
ICRfLT5uYW1lIC4gIjsiLCBAaW5BcmdzKSk7Ci0KLSAgICAgICAgcHVzaChAZnVuY3Rpb24sICIi
KTsKLSAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4g
YXJndW1lbnRzQ29udGFpbmVyOyIpOwotICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICBpZiAo
IShhcmd1bWVudHNDb250YWluZXIgPSByZXF1ZXN0TWVzc2FnZU9iamVjdC0+Z2V0T2JqZWN0KFwi
YXJndW1lbnRzXCIpKSkgeyIpOworICAgIG15ICRpID0gMTsgIyB6ZXJvIGVsZW1lbnQgaXMgdGhl
IG1ldGhvZCBuYW1lLgorICAgIGZvcmVhY2ggbXkgJHBhcmFtZXRlciAoQGluQXJncykgeworICAg
ICAgICBteSAkdHlwZSA9ICRwYXJhbWV0ZXItPnR5cGU7CisgICAgICAgIG15ICRhcmd1bWVudFR5
cGUgPSAkdHlwZVRyYW5zZm9ybXskdHlwZX0tPnsidmFyaWFibGUifTsKKyAgICAgICAgcHVzaChA
ZnVuY3Rpb24sICIgICAgJGFyZ3VtZW50VHlwZSAiIC4gJHBhcmFtZXRlci0+bmFtZSAuICI7Iikg
aWYgISgkcGFyYW1ldGVyLT5uYW1lIGVxICJjYWxsSWQiKTsKKyAgICAgICAgcHVzaChAZnVuY3Rp
b24sICIgICAgaWYgKCFhcmdzLT5nZXQoJGkpLT5hcyIgLiAkdHlwZVRyYW5zZm9ybXskdHlwZX0t
PnsiYWNjZXNzb3JTdWZmaXgifSAuICIoJiIgLiAkcGFyYW1ldGVyLT5uYW1lIC4gIikpIHsiKTsK
ICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyIp
OwotICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgcHJvdG9jb2xFcnJvcnMtPnB1c2hT
dHJpbmcoU3RyaW5nOjpmb3JtYXQoXCJFcnJvcjogYXJndW1lbnRzIG9iamVjdCB3YXMgbm90IGZv
dW5kLlwiKSk7Iik7Ci0gICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIH0gZWxzZSB7Iik7Ci0g
ICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICBJbnNwZWN0b3JPYmplY3Q6OmNvbnN0X2l0
ZXJhdG9yIGFyZ3VtZW50c0VuZEl0ZXJhdG9yID0gYXJndW1lbnRzQ29udGFpbmVyLT5lbmQoKTsi
KTsKLQotICAgICAgICBmb3JlYWNoIG15ICRwYXJhbWV0ZXIgKEBpbkFyZ3MpIHsKLSAgICAgICAg
ICAgIG15ICRuYW1lID0gJHBhcmFtZXRlci0+bmFtZTsKLSAgICAgICAgICAgIG15ICR0eXBlID0g
JHBhcmFtZXRlci0+dHlwZTsKLSAgICAgICAgICAgIG15ICR2YXJpYWJsZVR5cGUgPSAkdHlwZVRy
YW5zZm9ybXskdHlwZX0tPnsidmFyaWFibGUifTsKLSAgICAgICAgICAgIG15ICRKU09OVHlwZSA9
ICR0eXBlVHJhbnNmb3JteyR0eXBlfS0+eyJKU09OVHlwZSJ9OwotCi0gICAgICAgICAgICBwdXNo
KEBmdW5jdGlvbiwgIiIpOwotICAgICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIElu
c3BlY3Rvck9iamVjdDo6Y29uc3RfaXRlcmF0b3IgJHtuYW1lfVZhbHVlSXRlcmF0b3IgPSBhcmd1
bWVudHNDb250YWluZXItPmZpbmQoXCIkbmFtZVwiKTsiKTsKLSAgICAgICAgICAgIHB1c2goQGZ1
bmN0aW9uLCAiICAgICAgICBpZiAoJHtuYW1lfVZhbHVlSXRlcmF0b3IgPT0gYXJndW1lbnRzRW5k
SXRlcmF0b3IpIHsiKTsKLSAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Iik7Ci0gICAgICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAg
ICAgICAgICAgIHByb3RvY29sRXJyb3JzLT5wdXNoU3RyaW5nKFN0cmluZzo6Zm9ybWF0KFwiRXJy
b3I6IEFyZ3VtZW50ICclcycgd2l0aCB0eXBlICclcycgd2FzIG5vdCBmb3VuZC5cIiwgXCIkbmFt
ZVwiLCBcIiRKU09OVHlwZVwiKSk7Iik7Ci0gICAgICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAg
ICAgICAgfSBlbHNlIHsiKTsKLSAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICAg
ICAgaWYgKCEke25hbWV9VmFsdWVJdGVyYXRvci0+c2Vjb25kLT5hcyRKU09OVHlwZSgmJG5hbWUp
KSB7Iik7Ci0gICAgICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsiKTsKLSAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAg
ICAgICAgICAgIHByb3RvY29sRXJyb3JzLT5wdXNoU3RyaW5nKFN0cmluZzo6Zm9ybWF0KFwiRXJy
b3I6IEFyZ3VtZW50ICclcycgaGFzIHdyb25nIHR5cGUuIEl0IHNob3VsZCBiZSAnJXMnLlwiLCBc
IiRuYW1lXCIsIFwiJEpTT05UeXBlXCIpKTsiKTsKLSAgICAgICAgICAgIHB1c2goQGZ1bmN0aW9u
LCAiICAgICAgICAgICAgfSIpOwotICAgICAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAg
IH0iKTsKLSAgICAgICAgfQorICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgcmVwb3J0
UHJvdG9jb2xFcnJvcihjYWxsSWQsICR7ZnVuY3Rpb25OYW1lfUNtZCwgZm9ybWF0V3JvbmdBcmd1
bWVudFR5cGVNZXNzYWdlKCRpLCBcIiIgLiAkcGFyYW1ldGVyLT5uYW1lIC4gIlwiLCBcIiR0eXBl
XCIpKTsiKTsKKyAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIHJldHVybjsiKTsKICAg
ICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgfSIpOworICAgICAgICBwdXNoKEBmdW5jdGlvbiwg
IiIpOworICAgICAgICArKyRpOwogICAgIH0KIAorICAgIG15ICRoYW5kbGVyID0gJGZ1bmN0aW9u
LT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJoYW5kbGVyIn0gfHwgIkNvbnRyb2xs
ZXIiOworICAgIG15ICRoYW5kbGVyQWNjZXNzb3IgPSAkdHlwZVRyYW5zZm9ybXskaGFuZGxlcn0t
PnsiaGFuZGxlckFjY2Vzc29yIn07CisgICAgJGJhY2tlbmRUeXBlc3skaGFuZGxlcn0gPSAxOwor
ICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIGlmICghJGhhbmRsZXJBY2Nlc3NvcikgeyIpOworICAg
IHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICByZXBvcnRQcm90b2NvbEVycm9yKGNhbGxJZCwgJHtm
dW5jdGlvbk5hbWV9Q21kLCBcIkVycm9yOiAkaGFuZGxlciBoYW5kbGVyIGlzIG5vdCBhdmFpbGFi
bGUuXCIpOyIpOworICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICByZXR1cm47Iik7CisgICAg
cHVzaChAZnVuY3Rpb24sICIgICAgfSIpOworICAgIHB1c2goQGZ1bmN0aW9uLCAiIik7CisKKwog
ICAgIGZvcmVhY2ggKEBvdXRBcmdzKSB7ICMgZGVjbGFyZSBsb2NhbCB2YXJpYWJsZXMgZm9yIG91
dCBhcmd1bWVudHMuCiAgICAgICAgIG15ICRpbml0aWFsaXplciA9ICR0eXBlVHJhbnNmb3JteyRf
LT50eXBlfS0+eyJkZWZhdWx0VmFsdWUifSA/ICIgPSAiIC4gJHR5cGVUcmFuc2Zvcm17JF8tPnR5
cGV9LT57ImRlZmF1bHRWYWx1ZSJ9IDogIiI7Ci0gICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAg
ICAgICAiIC4gJHR5cGVUcmFuc2Zvcm17JF8tPnR5cGV9LT57InZhcmlhYmxlIn0gLiAiICIgLiAk
Xy0+bmFtZSAuICIkaW5pdGlhbGl6ZXI7Iik7CisgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAg
ICIgLiAkdHlwZVRyYW5zZm9ybXskXy0+dHlwZX0tPnsidmFyaWFibGUifSAuICIgIiAuICRfLT5u
YW1lIC4gIiRpbml0aWFsaXplcjsiKTsKICAgICB9CiAKLSAgICBteSAkYXJncyA9IGpvaW4oIiwg
IiwgKG1hcCgkXy0+bmFtZSwgQGluQXJncyksIG1hcCgiJiIgLiAkXy0+bmFtZSwgQG91dEFyZ3Mp
KSk7Ci0gICAgcHVzaChAZnVuY3Rpb24sICIgICAgaWYgKCFwcm90b2NvbEVycm9ycy0+bGVuZ3Ro
KCkpIik7Ci0gICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgICRkb21haW5BY2Nlc3Nvci0+JGZ1
bmN0aW9uTmFtZSgkYXJncyk7Iik7Ci0gICAgcHVzaChAZnVuY3Rpb24sICIiKTsKLQotICAgIHB1
c2goQGZ1bmN0aW9uLCAiICAgIC8vIHVzZSBJbnNwZWN0b3JGcm9udGVuZCBhcyBhIG1hcmtlciBv
ZiBXZWJJbnNwZWN0b3IgYXZhaWxhYmlsaXR5Iik7Ci0gICAgcHVzaChAZnVuY3Rpb24sICIgICAg
aWYgKGNhbGxJZCAmJiBtX2luc3BlY3RvckNvbnRyb2xsZXItPmhhc0Zyb250ZW5kKCkpIHsiKTsK
LSAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gcmVz
cG9uc2VNZXNzYWdlID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsiKTsKLSAgICBwdXNoKEBm
dW5jdGlvbiwgIiAgICAgICAgcmVzcG9uc2VNZXNzYWdlLT5zZXROdW1iZXIoXCJzZXFcIiwgY2Fs
bElkKTsiKTsKLSAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgcmVzcG9uc2VNZXNzYWdlLT5z
ZXRTdHJpbmcoXCJ0eXBlXCIsIFwicmVzcG9uc2VcIik7Iik7Ci0gICAgcHVzaChAZnVuY3Rpb24s
ICIgICAgICAgIHJlc3BvbnNlTWVzc2FnZS0+c2V0U3RyaW5nKFwiZG9tYWluXCIsIFwiJGRvbWFp
blwiKTsiKTsKLSAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgcmVzcG9uc2VNZXNzYWdlLT5z
ZXRTdHJpbmcoXCJjb21tYW5kXCIsIFwiJGZ1bmN0aW9uTmFtZVwiKTsiKTsKLSAgICBwdXNoKEBm
dW5jdGlvbiwgIiAgICAgICAgcmVzcG9uc2VNZXNzYWdlLT5zZXRCb29sKFwic3VjY2Vzc1wiLCAh
cHJvdG9jb2xFcnJvcnMtPmxlbmd0aCgpKTsiKTsKLSAgICBwdXNoKEBmdW5jdGlvbiwgIiIpOwot
ICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICBpZiAocHJvdG9jb2xFcnJvcnMtPmxlbmd0aCgp
KSIpOwotICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgICAgICAgICAgcmVzcG9uc2VNZXNzYWdlLT5z
ZXRBcnJheShcImVycm9yc1wiLCBwcm90b2NvbEVycm9ycyk7Iik7Ci0gICAgaWYgKHNjYWxhcihA
b3V0QXJncykpIHsKLSAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIGVsc2UgeyIpOwot
ICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmpl
Y3Q+IHJlc3BvbnNlRGF0YSA9IEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCk7Iik7Ci0gICAgICAg
IHB1c2goQGZ1bmN0aW9uLCBtYXAoIiAgICAgICAgICAgIHJlc3BvbnNlRGF0YS0+c2V0IiAuICR0
eXBlVHJhbnNmb3JteyRfLT50eXBlfS0+eyJKU09OVHlwZSJ9IC4gIihcIiIgLiAkXy0+bmFtZSAu
ICJcIiwgIiAuICRfLT5uYW1lIC4gIik7IiwgQG91dEFyZ3MpKTsKLSAgICAgICAgcHVzaChAZnVu
Y3Rpb24sICIgICAgICAgICAgICByZXNwb25zZU1lc3NhZ2UtPnNldE9iamVjdChcImRhdGFcIiwg
cmVzcG9uc2VEYXRhKTsiKTsKLSAgICAgICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIH0iKTsK
LSAgICB9Ci0gICAgcHVzaChAZnVuY3Rpb24sICIgICAgICAgIG1faW5zcGVjdG9yQ29udHJvbGxl
ci0+aW5zcGVjdG9yQ2xpZW50KCktPnNlbmRNZXNzYWdlVG9Gcm9udGVuZChyZXNwb25zZU1lc3Nh
Z2UtPnRvSlNPTlN0cmluZygpKTsiKTsKLSAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICB9Iik7Cisg
ICAgbXkgJGFyZ3MgPSBqb2luKCIsICIsIChncmVwKCEoJF8gZXEgImNhbGxJZCIpLCBtYXAoJF8t
Pm5hbWUsIEBpbkFyZ3MpKSwgbWFwKCImIiAuICRfLT5uYW1lLCBAb3V0QXJncykpKTsKKyAgICBw
dXNoKEBmdW5jdGlvbiwgIiAgICAkaGFuZGxlckFjY2Vzc29yLT4kZnVuY3Rpb25OYW1lKCRhcmdz
KTsiKTsKIAorICAgICMgVGhlIHJlc3VsdHMgb2YgZnVuY3Rpb24gY2FsbCBzaG91bGQgYmUgdHJh
bnNmZXJlZCBiYWNrIHRvIGZyb250ZW5kLgorICAgIGlmIChzY2FsYXIoZ3JlcCgkXy0+bmFtZSBl
cSAiY2FsbElkIiwgQGluQXJncykpKSB7CisgICAgICAgIG15IEBwdXNoQXJndW1lbnRzID0gbWFw
KCIgICAgICAgIGFyZ3VtZW50cy0+cHVzaCIgLiAkdHlwZVRyYW5zZm9ybXskXy0+dHlwZX0tPnsi
YWNjZXNzb3JTdWZmaXgifSAuICIoIiAuICRfLT5uYW1lIC4gIik7IiwgQG91dEFyZ3MpOwogCisg
ICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiIik7CisgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAg
IC8vIHVzZSBJbnNwZWN0b3JGcm9udGVuZCBhcyBhIG1hcmtlciBvZiBXZWJJbnNwZWN0b3IgYXZh
aWxhYmlsaXR5Iik7CisgICAgICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIGlmIChtX2luc3BlY3Rv
ckNvbnRyb2xsZXItPmhhc0Zyb250ZW5kKCkpIHsiKTsKKyAgICAgICAgcHVzaChAZnVuY3Rpb24s
ICIgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gYXJndW1lbnRzID0gSW5zcGVjdG9yQXJy
YXk6OmNyZWF0ZSgpOyIpOworICAgICAgICBwdXNoKEBmdW5jdGlvbiwgIiAgICAgICAgYXJndW1l
bnRzLT5wdXNoU3RyaW5nKFwicHJvY2Vzc1Jlc3BvbnNlXCIpOyIpOworICAgICAgICBwdXNoKEBm
dW5jdGlvbiwgIiAgICAgICAgYXJndW1lbnRzLT5wdXNoTnVtYmVyKGNhbGxJZCk7Iik7CisgICAg
ICAgIHB1c2goQGZ1bmN0aW9uLCBAcHVzaEFyZ3VtZW50cyk7CisgICAgICAgIHB1c2goQGZ1bmN0
aW9uLCAiICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmluc3BlY3RvckNsaWVudCgpLT5z
ZW5kTWVzc2FnZVRvRnJvbnRlbmQoYXJndW1lbnRzLT50b0pTT05TdHJpbmcoKSk7Iik7CisgICAg
ICAgIHB1c2goQGZ1bmN0aW9uLCAiICAgIH0iKTsKKyAgICB9CiAgICAgcHVzaChAZnVuY3Rpb24s
ICJ9Iik7CiAgICAgcHVzaChAZnVuY3Rpb24sICIiKTsKICAgICBwdXNoKEBiYWNrZW5kTWV0aG9k
c0ltcGwsIEBmdW5jdGlvbik7CkBAIC0zODQsMjIgKzM4NCwxNyBAQCBzdWIgZ2VuZXJhdGVCYWNr
ZW5kUmVwb3J0UHJvdG9jb2xFcnJvcgogCiB2b2lkICR7YmFja2VuZENsYXNzTmFtZX06OnJlcG9y
dFByb3RvY29sRXJyb3IoY29uc3QgbG9uZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYgbWV0aG9kLCBj
b25zdCBTdHJpbmcmIGVycm9yVGV4dCkgY29uc3QKIHsKLSAgICBSZWZQdHI8SW5zcGVjdG9yT2Jq
ZWN0PiBtZXNzYWdlID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKLSAgICBtZXNzYWdlLT5z
ZXROdW1iZXIoInNlcSIsIGNhbGxJZCk7Ci0gICAgbWVzc2FnZS0+c2V0U3RyaW5nKCJ0eXBlIiwg
ImVycm9yIik7Ci0gICAgbWVzc2FnZS0+c2V0U3RyaW5nKCJkb21haW4iLCAiaW5zcGVjdG9yUHJv
dG9jb2wiKTsKLSAgICBtZXNzYWdlLT5zZXRTdHJpbmcoImNvbW1hbmQiLCBtZXRob2QpOwotICAg
IG1lc3NhZ2UtPnNldEJvb2woInN1Y2Nlc3MiLCBmYWxzZSk7Ci0gICAgUmVmUHRyPEluc3BlY3Rv
ckFycmF5PiBlcnJvcnMgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7Ci0gICAgZXJyb3JzLT5w
dXNoU3RyaW5nKGVycm9yVGV4dCk7Ci0gICAgbWVzc2FnZS0+c2V0QXJyYXkoImVycm9ycyIsIGVy
cm9ycyk7Ci0gICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5pbnNwZWN0b3JDbGllbnQoKS0+c2Vu
ZE1lc3NhZ2VUb0Zyb250ZW5kKG1lc3NhZ2UtPnRvSlNPTlN0cmluZygpKTsKKyAgICBSZWZQdHI8
SW5zcGVjdG9yQXJyYXk+IGFyZ3VtZW50cyA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsKKyAg
ICBhcmd1bWVudHMtPnB1c2hTdHJpbmcoInJlcG9ydFByb3RvY29sRXJyb3IiKTsKKyAgICBhcmd1
bWVudHMtPnB1c2hOdW1iZXIoY2FsbElkKTsKKyAgICBhcmd1bWVudHMtPnB1c2hTdHJpbmcobWV0
aG9kKTsKKyAgICBhcmd1bWVudHMtPnB1c2hTdHJpbmcoZXJyb3JUZXh0KTsKKyAgICBtX2luc3Bl
Y3RvckNvbnRyb2xsZXItPmluc3BlY3RvckNsaWVudCgpLT5zZW5kTWVzc2FnZVRvRnJvbnRlbmQo
YXJndW1lbnRzLT50b0pTT05TdHJpbmcoKSk7CiB9CiBFT0YKICAgICByZXR1cm4gc3BsaXQoIlxu
IiwgJHJlcG9ydFByb3RvY29sRXJyb3IpOwogfQogCi0KIHN1YiBnZW5lcmF0ZUJhY2tlbmREaXNw
YXRjaGVyCiB7CiAgICAgbXkgQGJvZHk7CkBAIC00MTAsMTEgKzQwNSw5IEBAIHN1YiBnZW5lcmF0
ZUJhY2tlbmREaXNwYXRjaGVyCiAgICAgbXkgJGJhY2tlbmREaXNwYXRjaGVyQm9keSA9IDw8ICJF
T0YiOwogdm9pZCAke2JhY2tlbmRDbGFzc05hbWV9OjpkaXNwYXRjaChjb25zdCBTdHJpbmcmIG1l
c3NhZ2UpCiB7Ci0gICAgdHlwZWRlZiB2b2lkICgke2JhY2tlbmRDbGFzc05hbWV9OjoqQ2FsbEhh
bmRsZXIpKGxvbmcgY2FsbElkLCBJbnNwZWN0b3JPYmplY3QqIG1lc3NhZ2VPYmplY3QpOworICAg
IHR5cGVkZWYgdm9pZCAoJHtiYWNrZW5kQ2xhc3NOYW1lfTo6KkNhbGxIYW5kbGVyKShQYXNzUmVm
UHRyPEluc3BlY3RvckFycmF5PiBhcmdzKTsKICAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBD
YWxsSGFuZGxlcj4gRGlzcGF0Y2hNYXA7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChEaXNwYXRj
aE1hcCwgZGlzcGF0Y2hNYXAsICk7Ci0gICAgbG9uZyBjYWxsSWQgPSAwOwotCiAgICAgaWYgKGRp
c3BhdGNoTWFwLmlzRW1wdHkoKSkgewogJG1hcEVudHJpZXMKICAgICB9CkBAIC00MjIsNTIgKzQx
NSwzOCBAQCAkbWFwRW50cmllcwogICAgIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gcGFyc2VkTWVz
c2FnZSA9IEluc3BlY3RvclZhbHVlOjpwYXJzZUpTT04obWVzc2FnZSk7CiAgICAgaWYgKCFwYXJz
ZWRNZXNzYWdlKSB7CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXBv
cnRQcm90b2NvbEVycm9yKGNhbGxJZCwgImRpc3BhdGNoIiwgIkVycm9yOiBJbnZhbGlkIG1lc3Nh
Z2UgZm9ybWF0LiBNZXNzYWdlIHNob3VsZCBiZSBpbiBKU09OIGZvcm1hdC4iKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IG1lc3NhZ2VPYmpl
Y3QgPSBwYXJzZWRNZXNzYWdlLT5hc09iamVjdCgpOwotICAgIGlmICghbWVzc2FnZU9iamVjdCkg
ewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmVwb3J0UHJvdG9jb2xF
cnJvcihjYWxsSWQsICJkaXNwYXRjaCIsICJFcnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1hdC4g
VGhlIG1lc3NhZ2Ugc2hvdWxkIGJlIGEgSlNPTmlmaWVkIG9iamVjdC4iKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gY2FsbElkVmFsdWUgPSBt
ZXNzYWdlT2JqZWN0LT5nZXQoInNlcSIpOwotICAgIGlmICghY2FsbElkVmFsdWUpIHsKLSAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2Fs
bElkLCAiZGlzcGF0Y2giLCAiRXJyb3I6IEludmFsaWQgbWVzc2FnZSBmb3JtYXQuICdzZXEnIHBy
b3BlcnR5IHdhcyBub3QgZm91bmQgaW4gdGhlIHJlcXVlc3QuIik7CisgICAgICAgIHJlcG9ydFBy
b3RvY29sRXJyb3IoMCwgImRpc3BhdGNoIiwgIkVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0
LiBNZXNzYWdlIHNob3VsZCBiZSBpbiBKU09OIGZvcm1hdC4iKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIGlmICghY2FsbElkVmFsdWUtPmFzTnVtYmVyKCZjYWxsSWQpKSB7CisgICAg
UmVmUHRyPEluc3BlY3RvckFycmF5PiBtZXNzYWdlQXJyYXkgPSBwYXJzZWRNZXNzYWdlLT5hc0Fy
cmF5KCk7CisgICAgaWYgKCFtZXNzYWdlQXJyYXkpIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoY2FsbElkLCAiZGlzcGF0Y2giLCAi
RXJyb3I6IEludmFsaWQgbWVzc2FnZSBmb3JtYXQuIHRoZSB0eXBlIG9mICdzZXEnIHByb3BlcnR5
IHNob3VsZCBiZSBudW1iZXIuIik7CisgICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoMCwgImRp
c3BhdGNoIiwgIkVycm9yOiBJbnZhbGlkIG1lc3NhZ2UgZm9ybWF0LiBUaGUgbWVzc2FnZSBzaG91
bGQgYmUgYSBKU09OaWZpZWQgYXJyYXkgb2YgYXJndW1lbnRzLiIpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgUmVmUHRyPEluc3BlY3RvclZhbHVlPiBjb21tYW5kVmFsdWUgPSBtZXNz
YWdlT2JqZWN0LT5nZXQoImNvbW1hbmQiKTsKLSAgICBpZiAoIWNvbW1hbmRWYWx1ZSkgeworICAg
IGlmICghbWVzc2FnZUFycmF5LT5sZW5ndGgoKSkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICAgICAgcmVwb3J0UHJvdG9jb2xFcnJvcihjYWxsSWQsICJkaXNwYXRjaCIsICJF
cnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1hdC4gJ2NvbW1hbmQnIHByb3BlcnR5IHdhc24ndCBm
b3VuZC4iKTsKKyAgICAgICAgcmVwb3J0UHJvdG9jb2xFcnJvcigwLCAiZGlzcGF0Y2giLCAiRXJy
b3I6IEludmFsaWQgbWVzc2FnZSBmb3JtYXQuIEVtcHR5IG1lc3NhZ2Ugd2FzIHJlY2VpdmVkLiIp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgU3RyaW5nIGNvbW1hbmQ7Ci0gICAgaWYg
KCFjb21tYW5kVmFsdWUtPmFzU3RyaW5nKCZjb21tYW5kKSkgeworICAgIFN0cmluZyBtZXRob2RO
YW1lOworICAgIGlmICghbWVzc2FnZUFycmF5LT5nZXQoMCktPmFzU3RyaW5nKCZtZXRob2ROYW1l
KSkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmVwb3J0UHJvdG9j
b2xFcnJvcihjYWxsSWQsICJkaXNwYXRjaCIsICJFcnJvcjogSW52YWxpZCBtZXNzYWdlIGZvcm1h
dC4gVGhlIHR5cGUgb2YgJ2NvbW1hbmQnIHByb3BlcnR5IHNob3VsZCBiZSBzdHJpbmcuIik7Cisg
ICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoMCwgImRpc3BhdGNoIiwgIkVycm9yOiBJbnZhbGlk
IG1lc3NhZ2UgZm9ybWF0LiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgbWVzc2FnZSBzaG91bGQg
YmUgbWV0aG9kIG5hbWUuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBIYXNoTWFw
PFN0cmluZywgQ2FsbEhhbmRsZXI+OjppdGVyYXRvciBpdCA9IGRpc3BhdGNoTWFwLmZpbmQoY29t
bWFuZCk7CisgICAgSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPjo6aXRlcmF0b3IgaXQgPSBk
aXNwYXRjaE1hcC5maW5kKG1ldGhvZE5hbWUpOwogICAgIGlmIChpdCA9PSBkaXNwYXRjaE1hcC5l
bmQoKSkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmVwb3J0UHJv
dG9jb2xFcnJvcihjYWxsSWQsICJkaXNwYXRjaCIsIFN0cmluZzo6Zm9ybWF0KCJFcnJvcjogSW52
YWxpZCBjb21tYW5kIHdhcyByZWNlaXZlZC4gJyVzJyB3YXNuJ3QgZm91bmQuIiwgY29tbWFuZC51
dGY4KCkuZGF0YSgpKSk7CisgICAgICAgIHJlcG9ydFByb3RvY29sRXJyb3IoMCwgImRpc3BhdGNo
IiwgU3RyaW5nOjpmb3JtYXQoIkVycm9yOiBJbnZhbGlkIG1ldGhvZCBuYW1lLiAnJXMnIHdhc24n
dCBmb3VuZC4iLCBtZXRob2ROYW1lLnV0ZjgoKS5kYXRhKCkpKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgICgoKnRoaXMpLippdC0+c2Vjb25kKShjYWxsSWQsIG1lc3NhZ2VPYmplY3Qu
Z2V0KCkpOworICAgICgoKnRoaXMpLippdC0+c2Vjb25kKShtZXNzYWdlQXJyYXkpOwogfQogRU9G
CiAgICAgcmV0dXJuIHNwbGl0KCJcbiIsICRiYWNrZW5kRGlzcGF0Y2hlckJvZHkpOwpAQCAtNDgx
LDE4ICs0NjAsMTQgQEAgYm9vbCAke2JhY2tlbmRDbGFzc05hbWV9OjpnZXRDb21tYW5kTmFtZShj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIFN0cmluZyogcmVzdWx0KQogICAgIFJlZlB0cjxJbnNwZWN0
b3JWYWx1ZT4gdmFsdWUgPSBJbnNwZWN0b3JWYWx1ZTo6cGFyc2VKU09OKG1lc3NhZ2UpOwogICAg
IGlmICghdmFsdWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFJlZlB0cjxJbnNwZWN0
b3JPYmplY3Q+IG9iamVjdCA9IHZhbHVlLT5hc09iamVjdCgpOwotICAgIGlmICghb2JqZWN0KQor
ICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gYXJyYXkgPSB2YWx1ZS0+YXNBcnJheSgpOworICAg
IGlmICghYXJyYXkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFJlZlB0cjxJbnNwZWN0
b3JWYWx1ZT4gY29tbWFuZFZhbHVlID0gb2JqZWN0LT5nZXQoImNvbW1hbmQiKTsKLSAgICBpZiAo
IWNvbW1hbmRWYWx1ZSkKKyAgICBpZiAoIWFycmF5LT5sZW5ndGgoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgcmV0dXJuIGNvbW1hbmRWYWx1ZS0+YXNTdHJpbmcocmVzdWx0KTsKKyAg
ICByZXR1cm4gYXJyYXktPmdldCgwKS0+YXNTdHJpbmcocmVzdWx0KTsKIH0KLQogRU9GCiAgICAg
cmV0dXJuIHNwbGl0KCJcbiIsICRtZXNzYWdlUGFyc2VyQm9keSk7CiB9CkBAIC01MDEsMjAgKzQ3
Niw3IEBAIHN1YiBnZW5lcmF0ZUJhY2tlbmRTdHViSlMKIHsKICAgICBteSAkaW50ZXJmYWNlID0g
c2hpZnQ7CiAgICAgbXkgQGJhY2tlbmRGdW5jdGlvbnMgPSBncmVwKCEkXy0+c2lnbmF0dXJlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsibm90aWZ5In0sIEB7JGludGVyZmFjZS0+ZnVuY3Rpb25zfSk7
Ci0gICAgbXkgQEpTU3R1YnM7Ci0KLSAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQGJhY2tlbmRG
dW5jdGlvbnMpIHsKLSAgICAgICAgbXkgJG5hbWUgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFt
ZTsKLSAgICAgICAgbXkgJGRvbWFpbiA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiaGFuZGxlciJ9OwotICAgICAgICBteSAkYXJndW1lbnROYW1lcyA9IGpvaW4o
IiwiLCBtYXAoIlwiIiAuICRfLT5uYW1lIC4gIlwiOiBudWxsIiwgZ3JlcCgkXy0+ZGlyZWN0aW9u
IGVxICJpbiIsIEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSkpKTsKLSAgICAgICAgcHVzaChASlNT
dHVicywgIiAgICB0aGlzLl9yZWdpc3RlckRlbGVnYXRlKCd7IiAuCi0gICAgICAgICAgICAiXCJz
ZXFcIjogMCwgIiAuCi0gICAgICAgICAgICAiXCJ0eXBlXCI6IFwicmVxdWVzdFwiLCAiIC4KLSAg
ICAgICAgICAgICJcImRvbWFpblwiOiBcIiRkb21haW5cIiwgIiAuCi0gICAgICAgICAgICAiXCJj
b21tYW5kXCI6IFwiJG5hbWVcIiwgIiAuCi0gICAgICAgICAgICAiXCJhcmd1bWVudHNcIjogeyRh
cmd1bWVudE5hbWVzfSIgLgotICAgICAgICAifScpOyIpOwotICAgIH0KKyAgICBteSBASlNTdHVi
cyA9IG1hcCgiICAgIHRoaXMuX3JlZ2lzdGVyRGVsZWdhdGUoXCIiIC4gJF8tPnNpZ25hdHVyZS0+
bmFtZSAuICJcIik7IiwgQGJhY2tlbmRGdW5jdGlvbnMpOwogCiAgICAgbXkgJEpTU3R1YnMgPSBq
b2luKCJcbiIsIEBKU1N0dWJzKTsKICAgICBteSAkaW5zcGVjdG9yQmFja2VuZFN0dWJKUyA9IDw8
ICJFT0YiOwpAQCAtNTI2LDI2ICs0ODgsMTQgQEAgJEpTU3R1YnMKIH0KIAogV2ViSW5zcGVjdG9y
Lkluc3BlY3RvckJhY2tlbmRTdHViLnByb3RvdHlwZSA9IHsKLSAgICBfcmVnaXN0ZXJEZWxlZ2F0
ZTogZnVuY3Rpb24oY29tbWFuZEluZm8pCisgICAgX3JlZ2lzdGVyRGVsZWdhdGU6IGZ1bmN0aW9u
KG1ldGhvZE5hbWUpCiAgICAgewotICAgICAgICB2YXIgY29tbWFuZE9iamVjdCA9IEpTT04ucGFy
c2UoY29tbWFuZEluZm8pOwotICAgICAgICB0aGlzW2NvbW1hbmRPYmplY3QuY29tbWFuZF0gPSB0
aGlzLnNlbmRNZXNzYWdlVG9CYWNrZW5kLmJpbmQodGhpcywgY29tbWFuZEluZm8pOworICAgICAg
ICB0aGlzW21ldGhvZE5hbWVdID0gdGhpcy5zZW5kTWVzc2FnZVRvQmFja2VuZC5iaW5kKHRoaXMs
IG1ldGhvZE5hbWUpOwogICAgIH0sCiAKICAgICBzZW5kTWVzc2FnZVRvQmFja2VuZDogZnVuY3Rp
b24oKQogICAgIHsKLSAgICAgICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2Fs
bChhcmd1bWVudHMpOwotICAgICAgICB2YXIgcmVxdWVzdCA9IEpTT04ucGFyc2UoYXJncy5zaGlm
dCgpKTsKLSAgICAgICAgZm9yICh2YXIga2V5IGluIHJlcXVlc3QuYXJndW1lbnRzKSB7Ci0gICAg
ICAgICAgICBpZiAoa2V5ID09PSAiY2FsbElkIikKLSAgICAgICAgICAgICAgICByZXF1ZXN0LnNl
cSA9IGFyZ3Muc2hpZnQoKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXF1
ZXN0LmFyZ3VtZW50c1trZXldID0gYXJncy5zaGlmdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlm
IChhcmdzLmxlbmd0aCA9PT0gMSAmJiB0eXBlb2YgYXJnc1swXSA9PT0gImZ1bmN0aW9uIikKLSAg
ICAgICAgICAgIHJlcXVlc3Quc2VxID0gV2ViSW5zcGVjdG9yLkNhbGxiYWNrLndyYXAoYXJnc1sw
XSk7Ci0KLSAgICAgICAgdmFyIG1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShyZXF1ZXN0KTsKKyAg
ICAgICAgdmFyIG1lc3NhZ2UgPSBKU09OLnN0cmluZ2lmeShBcnJheS5wcm90b3R5cGUuc2xpY2Uu
Y2FsbChhcmd1bWVudHMpKTsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnNlbmRNZXNz
YWdlVG9CYWNrZW5kKG1lc3NhZ2UpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5pZGwgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuaWRsCmlu
ZGV4IDIwMzYzNmFjZTAwZWE3YzcxOGE4YjM4YjU2NGMyMTg0NGUxM2Q0ZjIuLjM5MmQxZGY3MzUx
NmE2ZjJlZjExMDE4YjgzN2EyNmJmMDFmNTA3YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5pZGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmlkbApA
QCAtNTcsNyArNTcsNiBAQCBtb2R1bGUgY29yZSB7CiAgICAgICAgIFtub3RpZnldIHZvaWQgcmVz
b3VyY2VUcmFja2luZ1dhc0Rpc2FibGVkKCk7CiAgICAgICAgIFtub3RpZnldIHZvaWQgc2VhcmNo
aW5nRm9yTm9kZVdhc0VuYWJsZWQoKTsKICAgICAgICAgW25vdGlmeV0gdm9pZCBzZWFyY2hpbmdG
b3JOb2RlV2FzRGlzYWJsZWQoKTsKLSAgICAgICAgW25vdGlmeV0gdm9pZCBzZXRBdHRhY2hlZFdp
bmRvdyhvdXQgYm9vbGVhbiBhdHRhY2hlZCk7CiAgICAgICAgIFtub3RpZnldIHZvaWQgc2V0Q2hp
bGROb2RlcyhvdXQgbG9uZyBwYXJlbnRJZCwgb3V0IEFycmF5IG5vZGVzKTsKICAgICAgICAgW25v
dGlmeV0gdm9pZCBzZXREZXRhY2hlZFJvb3Qob3V0IE9iamVjdCByb290KTsKICAgICAgICAgW25v
dGlmeV0gdm9pZCBzZXREb2N1bWVudChvdXQgVmFsdWUgcm9vdCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGQ1ZjlhM2JhMjVlYzcxNzBmYTY1ZjM2Y2Y3
ZjdiMTZmYzA3NTU2OTMuLjg5YzkxMzIzMTAwM2YwOTJjY2NjMTdlOGQyZmQ5MmMwNWM3MmE3YTQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC00MjAsMTUg
KzQyMCw2IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2V0SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQoUGFzc093blB0cjxJbnNwZWN0b3JGcm9udGVuCiAgICAgbV9pbnNwZWN0b3JGcm9udGVu
ZENsaWVudCA9IGNsaWVudDsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzZXRBdHRh
Y2hlZFdpbmRvdyhib29sIGF0dGFjaGVkKQotewotICAgIGlmICghbV9yZW1vdGVGcm9udGVuZCkg
ewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LSAgICBtX3JlbW90ZUZyb250ZW5kLT5zZXRBdHRhY2hlZFdpbmRvdyhhdHRhY2hlZCk7Ci19Ci0K
IHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6aW5zcGVjdGVkV2luZG93U2NyaXB0T2JqZWN0Q2xl
YXJlZChGcmFtZSogZnJhbWUpCiB7CiAgICAgLy8gSWYgdGhlIHBhZ2UgaXMgc3VwcG9zZWQgdG8g
c2VydmUgYXMgSW5zcGVjdG9yRnJvbnRlbmQgbm90aWZ5IGluc3BldG9yIGZyb250ZW5kCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggYmRiN2IyOTQwMTIzMjJhMTg2
MWQwMTlkZmE3NTdkZGI4MmE0Y2U3Mi4uNGZlNjdjZWYzMTM5NjZhMjZjZGY5OTIxYTZkZTIxZjc4
MzgwNzIxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTQ3
LDcgKzE0Nyw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0SW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQoUGFzc093blB0cjxJbnNwZWN0b3JGcm9udGVuZENsaWVudD4gY2xpZW50KTsKICAgICBib29s
IGhhc0luc3BlY3RvckZyb250ZW5kQ2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JG
cm9udGVuZENsaWVudDsgfQotICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3coYm9vbCBhdHRhY2hl
ZCk7CiAKICAgICB2b2lkIGluc3BlY3RlZFdpbmRvd1NjcmlwdE9iamVjdENsZWFyZWQoRnJhbWUq
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbC5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsLmNwcAppbmRleCAwZWUwOTg1ZTgzMmE4ZDc4NDZkODIzYjhmYTk2Y2E2N2FmYTJlYTg3Li5i
NDVkZDM0MzE1YWJkNTdhZjM2YzU2NDZjNzhmNTQ0OWRkMzFiMjlmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmNwcApAQCAtMTIxLDcg
KzEyMSwxNSBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6Om1vdmVXaW5kb3dC
eShmbG9hdCB4LCBmbG9hdCB5KQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWw6
OnNldEF0dGFjaGVkV2luZG93KGJvb2wgYXR0YWNoZWQpCiB7Ci0gICAgbV9pbnNwZWN0b3JDb250
cm9sbGVyLT5zZXRBdHRhY2hlZFdpbmRvdyhhdHRhY2hlZCk7CisgICAgU2NyaXB0T2JqZWN0IHdl
Ykluc3BlY3Rvck9iajsKKyAgICBpZiAoIVNjcmlwdEdsb2JhbE9iamVjdDo6Z2V0KG1fZnJvbnRl
bmRTY3JpcHRTdGF0ZSwgIldlYkluc3BlY3RvciIsIHdlYkluc3BlY3Rvck9iaikpIHsKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgU2Ny
aXB0RnVuY3Rpb25DYWxsIGZ1bmN0aW9uKHdlYkluc3BlY3Rvck9iaiwgImRpc3BhdGNoIik7IAor
ICAgIGZ1bmN0aW9uLmFwcGVuZEFyZ3VtZW50KCJzZXRBdHRhY2hlZFdpbmRvdyIpOworICAgIGZ1
bmN0aW9uLmFwcGVuZEFyZ3VtZW50KGF0dGFjaGVkKTsKKyAgICBmdW5jdGlvbi5jYWxsKCk7CiB9
CiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbDo6cmVzdG9yZUF0dGFjaGVkV2lu
ZG93SGVpZ2h0KCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclZhbHVl
cy5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmgKaW5kZXggNDczYWQyMTRm
MzM2MzU5NjM0N2FjYmY3MzUyOWJmMDFhYjY1YTRhYy4uNGJjMzZmMmRjNTJlY2U4NTMzNGFjZTBk
YTI3OGI3YmQ5ODlmZGVkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VmFsdWVzLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVmFsdWVzLmgKQEAgLTE3
Niw3ICsxNzYsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRPYmplY3QoY29uc3QgU3RyaW5nJiBu
YW1lLCBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4pOwogICAgIHZvaWQgc2V0QXJyYXkoY29u
c3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPEluc3BlY3RvckFycmF5Pik7CiAKLSAgICBjb25z
dF9pdGVyYXRvciBmaW5kKGNvbnN0IFN0cmluZyYgbmFtZSkgY29uc3Q7CiAgICAgYm9vbCBnZXRC
b29sKGNvbnN0IFN0cmluZyYgbmFtZSwgYm9vbCogb3V0cHV0KSBjb25zdDsKICAgICBib29sIGdl
dE51bWJlcihjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSogb3V0cHV0KSBjb25zdDsKICAgICBi
b29sIGdldFN0cmluZyhjb25zdCBTdHJpbmcmIG5hbWUsIFN0cmluZyogb3V0cHV0KSBjb25zdDsK
QEAgLTIyNSwxMSArMjI0LDYgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPEluc3BlY3Rv
clZhbHVlPiA+IG1fZGF0YTsKIH07CiAKLWlubGluZSBJbnNwZWN0b3JPYmplY3Q6OmNvbnN0X2l0
ZXJhdG9yIEluc3BlY3Rvck9iamVjdDo6ZmluZChjb25zdCBTdHJpbmcmIG5hbWUpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG1fZGF0YS5maW5kKG5hbWUpOwotfQotCiBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JPYmplY3Q6OnNldEJvb2woY29uc3QgU3RyaW5nJiBuYW1lLCBib29sIHZhbHVlKQogewogICAg
IHNldFZhbHVlKG5hbWUsIEluc3BlY3RvckJhc2ljVmFsdWU6OmNyZWF0ZSh2YWx1ZSkpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxiYWNrLmpzIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxiYWNrLmpzCmluZGV4IDA2MjFmZDE1MDFiOGQ3MWQw
ZTFiZGVkMzk4MDMzYWZlZGZlZTgxN2EuLmQ4MTYzZmU4NjM1MjQ5NDQzMmU1ZWQ4YmQ3M2RhY2Nh
NmQwMDVmZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsYmFj
ay5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbGJhY2suanMKQEAgLTQy
LDggKzQyLDkgQEAgV2ViSW5zcGVjdG9yLkNhbGxiYWNrLnByb3RvdHlwZSA9IHsKICAgICAgICAg
cmV0dXJuIGNhbGxiYWNrSWQ7CiAgICAgfSwKIAotICAgIHByb2Nlc3NSZXNwb25zZTogZnVuY3Rp
b24oY2FsbGJhY2tJZCwgYXJncykKKyAgICBwcm9jZXNzUmVzcG9uc2U6IGZ1bmN0aW9uKGNhbGxi
YWNrSWQsIG9wdF92YXJhcmcpCiAgICAgeworICAgICAgICB2YXIgYXJncyA9IEFycmF5LnByb3Rv
dHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7CiAgICAgICAgIHZhciBjYWxsYmFjayA9IHRo
aXMuX2NhbGxiYWNrc1tjYWxsYmFja0lkXTsKICAgICAgICAgY2FsbGJhY2suYXBwbHkobnVsbCwg
YXJncyk7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9jYWxsYmFja3NbY2FsbGJhY2tJZF07CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA3OWIwZTBlMjE1Nzc4NmU3
NWRkZTdkZDNjNDY0NjM5YTNkZjU3ZTQxLi41MmFlNzM4Y2FkNjdlNDAyOTc0MDM4MGZlMmI2Yzcy
NjMxMmJjZTZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAg
LTU4OSwxMiArNTg5LDIwIEBAIHZhciB3aW5kb3dMb2FkZWQgPSBmdW5jdGlvbigpCiAKIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgd2luZG93TG9hZGVkLCBmYWxzZSk7CiAKLVdlYklu
c3BlY3Rvci5kaXNwYXRjaCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHsKK1dlYkluc3BlY3Rvci5kaXNw
YXRjaCA9IGZ1bmN0aW9uKCkgeworICAgIHZhciBtZXRob2ROYW1lID0gYXJndW1lbnRzWzBdOwor
ICAgIHZhciBwYXJhbWV0ZXJzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRz
LCAxKTsKKwogICAgIC8vIFdlJ2QgbGlrZSB0byBlbmZvcmNlIGFzeW5jaHJvbm91cyBpbnRlcmFj
dGlvbiBiZXR3ZWVuIHRoZSBpbnNwZWN0b3IgY29udHJvbGxlciBhbmQgdGhlIGZyb250ZW5kLgog
ICAgIC8vIFRoaXMgaXMgaW1wb3J0YW50IHRvIExheW91dFRlc3RzLgogICAgIGZ1bmN0aW9uIGRl
bGF5RGlzcGF0Y2goKQogICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yX3N5bmNEaXNwYXRjaCht
ZXNzYWdlKTsKKyAgICAgICAgaWYgKCEobWV0aG9kTmFtZSBpbiBXZWJJbnNwZWN0b3IpKSB7Cisg
ICAgICAgICAgICBjb25zb2xlLmVycm9yKCJBdHRlbXB0ZWQgdG8gZGlzcGF0Y2ggdW5pbXBsZW1l
bnRlZCBXZWJJbnNwZWN0b3IgbWV0aG9kOiAlcyIsIG1ldGhvZE5hbWUpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgV2ViSW5zcGVjdG9yW21ldGhvZE5hbWVdLmFw
cGx5KFdlYkluc3BlY3RvciwgcGFyYW1ldGVycyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5wZW5k
aW5nRGlzcGF0Y2hlcy0tOwogICAgIH0KICAgICBXZWJJbnNwZWN0b3IucGVuZGluZ0Rpc3BhdGNo
ZXMrKzsKQEAgLTYwNCw0MSArNjEyLDIxIEBAIFdlYkluc3BlY3Rvci5kaXNwYXRjaCA9IGZ1bmN0
aW9uKG1lc3NhZ2UpIHsKIC8vIFRoaXMgZnVuY3Rpb24gaXMgcHVycG9zZWx5IHB1dCBpbnRvIHRo
ZSBnbG9iYWwgc2NvcGUgZm9yIGVhc3kgYWNjZXNzLgogV2ViSW5zcGVjdG9yX3N5bmNEaXNwYXRj
aCA9IGZ1bmN0aW9uKG1lc3NhZ2UpCiB7Ci0gICAgdmFyIG1lc3NhZ2VPYmplY3QgPSAodHlwZW9m
IG1lc3NhZ2UgPT09ICJzdHJpbmciKSA/IEpTT04ucGFyc2UobWVzc2FnZSkgOiBtZXNzYWdlOwot
ICAgIGlmIChtZXNzYWdlT2JqZWN0LnR5cGUgPT09ICJyZXNwb25zZSIgJiYgIW1lc3NhZ2VPYmpl
Y3Quc3VjY2VzcykgewotICAgICAgICBXZWJJbnNwZWN0b3IucmVtb3ZlUmVzcG9uc2VDYWxsYmFj
a0VudHJ5KG1lc3NhZ2VPYmplY3Quc2VxKQotICAgICAgICBXZWJJbnNwZWN0b3IucmVwb3J0UHJv
dG9jb2xFcnJvcihtZXNzYWdlT2JqZWN0KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IHZhciBhcmd1bWVudHMgPSBbXTsKLSAgICBpZiAobWVzc2FnZU9iamVjdC5kYXRhKQotICAgICAg
ICBmb3IgKHZhciBrZXkgaW4gbWVzc2FnZU9iamVjdC5kYXRhKQotICAgICAgICAgICAgYXJndW1l
bnRzLnB1c2gobWVzc2FnZU9iamVjdC5kYXRhW2tleV0pOwotCi0gICAgaWYgKG1lc3NhZ2VPYmpl
Y3QudHlwZSA9PT0gImV2ZW50IikgewotICAgICAgICBpZiAoIW1lc3NhZ2VPYmplY3QuZXZlbnQg
aW4gV2ViSW5zcGVjdG9yKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmVycm9yKCJBdHRlbXB0ZWQg
dG8gZGlzcGF0Y2ggdW5pbXBsZW1lbnRlZCBXZWJJbnNwZWN0b3IgbWV0aG9kOiAlcyIsIG1lc3Nh
Z2VPYmplY3QuZXZlbnQpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAg
IFdlYkluc3BlY3RvclttZXNzYWdlT2JqZWN0LmV2ZW50XS5hcHBseShXZWJJbnNwZWN0b3IsIGFy
Z3VtZW50cyk7Ci0gICAgfQotCi0gICAgaWYgKG1lc3NhZ2VPYmplY3QudHlwZSA9PT0gInJlc3Bv
bnNlIikKLSAgICAgICAgV2ViSW5zcGVjdG9yLnByb2Nlc3NSZXNwb25zZShtZXNzYWdlT2JqZWN0
LnNlcSwgYXJndW1lbnRzKTsKKyAgICB2YXIgYXJncyA9IEpTT04ucGFyc2UobWVzc2FnZSk7Cisg
ICAgdmFyIG1ldGhvZE5hbWUgPSBhcmdzWzBdOworICAgIHZhciBwYXJhbWV0ZXJzID0gYXJncy5z
bGljZSgxKTsKKyAgICBXZWJJbnNwZWN0b3JbbWV0aG9kTmFtZV0uYXBwbHkoV2ViSW5zcGVjdG9y
LCBwYXJhbWV0ZXJzKTsKIH0KIAotV2ViSW5zcGVjdG9yLmRpc3BhdGNoTWVzc2FnZUZyb21CYWNr
ZW5kID0gZnVuY3Rpb24obWVzc2FnZU9iamVjdCkKK1dlYkluc3BlY3Rvci5kaXNwYXRjaE1lc3Nh
Z2VGcm9tQmFja2VuZCA9IGZ1bmN0aW9uKGFyZ3VtZW50cykKIHsKLSAgICBXZWJJbnNwZWN0b3Iu
ZGlzcGF0Y2gobWVzc2FnZU9iamVjdCk7CisgICAgV2ViSW5zcGVjdG9yLmRpc3BhdGNoLmFwcGx5
KHRoaXMsIGFyZ3VtZW50cyk7CiB9CiAKLVdlYkluc3BlY3Rvci5yZXBvcnRQcm90b2NvbEVycm9y
ID0gZnVuY3Rpb24obWVzc2FnZU9iamVjdCkKK1dlYkluc3BlY3Rvci5yZXBvcnRQcm90b2NvbEVy
cm9yID0gZnVuY3Rpb24oY2FsbElkLCBtZXRob2ROYW1lLCBlcnJvclRleHQpCiB7Ci0gICAgY29u
c29sZS5lcnJvcigiRXJyb3I6IEluc3BlY3RvckJhY2tlbmQuIiArIG1lc3NhZ2VPYmplY3QuY29t
bWFuZCArICIgZmFpbGVkLiIpOwotICAgIGZvciAodmFyIGVycm9yIGluIG1lc3NhZ2VPYmplY3Qu
ZXJyb3JzKQotICAgICAgICBjb25zb2xlLmVycm9yKCIgICAgIiArIGVycm9yKTsKLSAgICBXZWJJ
bnNwZWN0b3IucmVtb3ZlUmVzcG9uc2VDYWxsYmFja0VudHJ5KG1lc3NhZ2VPYmplY3Quc2VxKTsK
KyAgICBjb25zb2xlLmVycm9yKCJJbnNwZWN0b3JCYWNrZW5kLiIgKyBtZXRob2ROYW1lICsgIiBm
YWlsZWQgd2l0aCBlcnJvciB0ZXh0OiAnIiArIGVycm9yVGV4dCArICInIik7CisgICAgV2ViSW5z
cGVjdG9yLnJlbW92ZVJlc3BvbnNlQ2FsbGJhY2tFbnRyeShjYWxsSWQpOwogfQogCiBXZWJJbnNw
ZWN0b3Iud2luZG93UmVzaXplID0gZnVuY3Rpb24oZXZlbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>