<?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>96700</bug_id>
          
          <creation_ts>2012-09-13 15:03:04 -0700</creation_ts>
          <short_desc>[V8] Binding: Generate batched attribute/const/callback struct names can collide</short_desc>
          <delta_ts>2012-09-13 16:01:17 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>90411</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>719988</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 15:03:04 -0700</bug_when>
    <thetext>[V8] Binding: Generate batched attribute/const/callback structs into namespace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719992</commentid>
    <comment_count>1</comment_count>
      <attachid>163974</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 15:05:34 -0700</bug_when>
    <thetext>Created attachment 163974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719993</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 15:06:03 -0700</bug_when>
    <thetext>I&apos;m thinking of revising this to avoid the namespace, and just name the tables V8&lt;ClassName&gt;Callbacks (etc) instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720004</commentid>
    <comment_count>3</comment_count>
      <attachid>163978</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 15:16:15 -0700</bug_when>
    <thetext>Created attachment 163978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720005</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 15:16:47 -0700</bug_when>
    <thetext>Revised patch - Just adds a &quot;V8&quot; prefix to the struct names. Much less churn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720007</commentid>
    <comment_count>5</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 15:18:04 -0700</bug_when>
    <thetext>abarth@ or haraken@ - r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720009</commentid>
    <comment_count>6</comment_count>
      <attachid>163978</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-09-13 15:18:30 -0700</bug_when>
    <thetext>Comment on attachment 163978
Patch

Looks better than introducing namespaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720014</commentid>
    <comment_count>7</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 15:20:03 -0700</bug_when>
    <thetext>... and I&apos;ll fix the changelog entry about no new tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720017</commentid>
    <comment_count>8</comment_count>
      <attachid>163980</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-09-13 15:21:31 -0700</bug_when>
    <thetext>Created attachment 163980
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720062</commentid>
    <comment_count>9</comment_count>
      <attachid>163980</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 16:01:13 -0700</bug_when>
    <thetext>Comment on attachment 163980
Patch for landing

Clearing flags on attachment: 163980

Committed r128520: &lt;http://trac.webkit.org/changeset/128520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720063</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 16:01:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163974</attachid>
            <date>2012-09-13 15:05:34 -0700</date>
            <delta_ts>2012-09-13 15:16:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96700-20120913150506.patch</filename>
            <type>text/plain</type>
            <size>30127</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYyZWVlMDA4Y2RmY2Y3
NTBlNWIzNjgzZDk0ZjVlOTdkMzQ4YTlmNS4uNTgxNGU4OTQzY2QzMjg3MTNkNDJmNzU1ZjcxYzlm
NTljMTMwYjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTA5LTEzICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBCaW5kaW5nOiBH
ZW5lcmF0ZSBiYXRjaGVkIGF0dHJpYnV0ZS9jb25zdC9jYWxsYmFjayBzdHJ1Y3RzIGludG8gbmFt
ZXNwYWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjcwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBWOCBiaW5kaW5nIGNvZGUgZ2VuZXJhdG9yIHNwaXRzIG91dCBzdGF0aWMgYXJyYXlzIGZvciBi
YXRjaGVkIGNvbmZpZ3VyYXRpb24gb2YKKyAgICAgICAgY29uc3RzLCBhdHRyaWJ1dGVzLCBhbmQg
Y2FsbGJhY2tzLiBQcmlvciB0byB0aGlzIHBhdGNoLCBpdCB3b3VsZCBzcGl0IHRoZW0gb3V0Cisg
ICAgICAgIGluIHRoZSBXZWJDb3JlIG5hbWVzcGFjZSB3aXRoIG5hbWVzIGxpa2UgPEJhc2VUeXBl
PkNhbGxiYWNrcyB3aGljaCBjb3VsZCBjb2xsaWRlIHdpdGgKKyAgICAgICAgb3RoZXIgY29kZS4g
VGhpcyBjaGFuZ2UgbW92ZXMgdGhlbSBpbnRvIHRoZSA8QmFzZVR5cGU+VjhJbnRlcm5hbCBuYW1l
c3BhY2UuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVt
ZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRB
cnJheS5jcHA6CisgICAgICAgIChGbG9hdDY0QXJyYXlWOEludGVybmFsKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhGbG9hdDY0QXJyYXlUZW1wbGF0
ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFjdGl2ZURPTU9i
amVjdC5jcHA6CisgICAgICAgIChUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRlcm5hbCk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbmZpZ3VyZVY4VGVzdEFjdGl2ZURP
TU9iamVjdFRlbXBsYXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwOgorICAgICAgICAoVGVzdEN1c3RvbU5hbWVkR2V0dGVy
VjhJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbmZp
Z3VyZVY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyVGVtcGxhdGUpOgorICAgICAgICAqIGJpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKFRl
c3RFdmVudENvbnN0cnVjdG9yVjhJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbmZpZ3VyZVY4VGVzdEV2ZW50Q29uc3RydWN0b3JUZW1wbGF0ZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcDoK
KyAgICAgICAgKFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RFdmVudFRhcmdldFRlbXBsYXRlKToK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmNwcDoK
KyAgICAgICAgKFRlc3RFeGNlcHRpb25WOEludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhUZXN0RXhjZXB0aW9uVGVtcGxhdGUpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwOgorICAg
ICAgICAoVGVzdEludGVyZmFjZVY4SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RJbnRlcmZhY2VUZW1wbGF0ZSk6CisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
Y3BwOgorICAgICAgICAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJWOEludGVybmFsKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lclRlbXBsYXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFRlc3RPYmpWOEludGVybmFsKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhUZXN0T2JqVGVtcGxh
dGUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZVY4SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDb25maWd1cmVWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VUZW1w
bGF0ZSk6CisKIDIwMTItMDktMTMgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CiAK
ICAgICAgICAgVHlwbyBpbiBSZW5kZXJTdHlsZTo6aXNGbGlwcGVkTGluZXNXcml0aW5nTW9kZSgp
LCBzbWFsbCByZWZhY3RvcmluZyBwb3NzaWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCA2ZTU0MjE1OWIyMjYyMjViOTUx
NDQ3MDFhNjgzNGIzYWU1NWEwMWIyLi44ZTI5ZDM3MGQwYWVhNzUyYzU5Y2NlMGQ5MjEzMjZmZTA4
MjA0Y2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JWOC5wbQpAQCAtMjY4NSw5ICsyNjg1LDExIEBAIEVORAogICAgIG15ICRoYXNfYXR0
cmlidXRlcyA9IDA7CiAgICAgaWYgKEAkYXR0cmlidXRlcykgewogICAgICAgICAkaGFzX2F0dHJp
YnV0ZXMgPSAxOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIm5hbWVzcGFjZSAke2ludGVy
ZmFjZU5hbWV9VjhJbnRlcm5hbCB7XG5cbiIpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
InN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgJHtpbnRl
cmZhY2VOYW1lfUF0dHJzW10gPSB7XG4iKTsKICAgICAgICAgR2VuZXJhdGVCYXRjaGVkQXR0cmli
dXRlRGF0YSgkZGF0YU5vZGUsICRhdHRyaWJ1dGVzKTsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICJ9O1xuXG4iKTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9IC8vIG5hbWVzcGFj
ZSAke2ludGVyZmFjZU5hbWV9VjhJbnRlcm5hbFxuXG4iKTsKICAgICB9CiAKICAgICAjIFNldHVw
IHRhYmxlIG9mIHN0YW5kYXJkIGNhbGxiYWNrIGZ1bmN0aW9ucwpAQCAtMjcwMCw2ICsyNzAyLDcg
QEAgRU5ECiAgICAgICAgIG5leHQgaWYgIUlzU3RhbmRhcmRGdW5jdGlvbigkZGF0YU5vZGUsICRm
dW5jdGlvbik7CiAgICAgICAgIGlmICghJGhhc19jYWxsYmFja3MpIHsKICAgICAgICAgICAgICRo
YXNfY2FsbGJhY2tzID0gMTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAibmFtZXNw
YWNlICR7aW50ZXJmYWNlTmFtZX1WOEludGVybmFsIHtcblxuIik7CiAgICAgICAgICAgICBwdXNo
KEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRD
YWxsYmFjayAke2ludGVyZmFjZU5hbWV9Q2FsbGJhY2tzW10gPSB7XG4iKTsKICAgICAgICAgfQog
ICAgICAgICBteSAkbmFtZSA9ICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5uYW1lOwpAQCAtMjcxMiwx
MyArMjcxNSwxNyBAQCBFTkQKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIp
IGlmICRjb25kaXRpb25hbFN0cmluZzsKICAgICAgICAgJG51bV9jYWxsYmFja3MrKzsKICAgICB9
Ci0gICAgcHVzaChAaW1wbENvbnRlbnQsICJ9O1xuXG4iKSAgaWYgJGhhc19jYWxsYmFja3M7Cisg
ICAgaWYgKCRoYXNfY2FsbGJhY2tzKSB7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifTtc
blxuIik7CisgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifSAvLyBuYW1lc3BhY2UgJHtpbnRl
cmZhY2VOYW1lfVY4SW50ZXJuYWxcblxuIik7CisgICAgfQogCiAgICAgIyBTZXR1cCBjb25zdGFu
dHMKICAgICBteSAkaGFzX2NvbnN0YW50cyA9IDA7CiAgICAgbXkgQGNvbnN0YW50c0VuYWJsZWRB
dFJ1bnRpbWU7CiAgICAgaWYgKEB7JGRhdGFOb2RlLT5jb25zdGFudHN9KSB7CiAgICAgICAgICRo
YXNfY29uc3RhbnRzID0gMTsKKyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJuYW1lc3BhY2Ug
JHtpbnRlcmZhY2VOYW1lfVY4SW50ZXJuYWwge1xuXG4iKTsKICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICJzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkQ29uc3RhbnQg
JHtpbnRlcmZhY2VOYW1lfUNvbnN0c1tdID0ge1xuIik7CiAgICAgfQogICAgIGZvcmVhY2ggbXkg
JGNvbnN0YW50IChAeyRkYXRhTm9kZS0+Y29uc3RhbnRzfSkgewpAQCAtMjc0OSw2ICsyNzU2LDcg
QEAgRU5ECiAgICAgaWYgKCRoYXNfY29uc3RhbnRzKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAifTtcblxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAkY29kZUdlbmVyYXRv
ci0+R2VuZXJhdGVDb21waWxlVGltZUNoZWNrRm9yRW51bXNJZk5lZWRlZCgkZGF0YU5vZGUpKTsK
KyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9IC8vIG5hbWVzcGFjZSAke2ludGVyZmFjZU5h
bWV9VjhJbnRlcm5hbFxuXG4iKTsKICAgICB9CiAKICAgICBwdXNoKEBpbXBsQ29udGVudERlY2xz
LCAifSAvLyBuYW1lc3BhY2UgJHtpbnRlcmZhY2VOYW1lfVY4SW50ZXJuYWxcblxuIik7CkBAIC0y
ODEwLDcgKzI4MTgsNyBAQCBFTkQKICAgICAjIFNldCB1cCBvdXIgYXR0cmlidXRlcyBpZiB3ZSBo
YXZlIHRoZW0KICAgICBpZiAoJGhhc19hdHRyaWJ1dGVzKSB7CiAgICAgICAgIHB1c2goQGltcGxD
b250ZW50LCA8PEVORCk7Ci0gICAgICAgICR7aW50ZXJmYWNlTmFtZX1BdHRycywgV1RGX0FSUkFZ
X0xFTkdUSCgke2ludGVyZmFjZU5hbWV9QXR0cnMpLAorICAgICAgICAke2ludGVyZmFjZU5hbWV9
VjhJbnRlcm5hbDo6JHtpbnRlcmZhY2VOYW1lfUF0dHJzLCBXVEZfQVJSQVlfTEVOR1RIKCR7aW50
ZXJmYWNlTmFtZX1WOEludGVybmFsOjoke2ludGVyZmFjZU5hbWV9QXR0cnMpLAogRU5ECiAgICAg
fSBlbHNlIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8RU5EKTsKQEAgLTI4MjAsNyAr
MjgyOCw3IEBAIEVORAogCiAgICAgaWYgKCRoYXNfY2FsbGJhY2tzKSB7CiAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCA8PEVORCk7Ci0gICAgICAgICR7aW50ZXJmYWNlTmFtZX1DYWxsYmFja3Ms
IFdURl9BUlJBWV9MRU5HVEgoJHtpbnRlcmZhY2VOYW1lfUNhbGxiYWNrcykpOworICAgICAgICAk
e2ludGVyZmFjZU5hbWV9VjhJbnRlcm5hbDo6JHtpbnRlcmZhY2VOYW1lfUNhbGxiYWNrcywgV1RG
X0FSUkFZX0xFTkdUSCgke2ludGVyZmFjZU5hbWV9VjhJbnRlcm5hbDo6JHtpbnRlcmZhY2VOYW1l
fUNhbGxiYWNrcykpOwogRU5ECiAgICAgfSBlbHNlIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsIDw8RU5EKTsKQEAgLTI5MDIsNyArMjkxMCw3IEBAIEVORAogCiAgICAgaWYgKCRoYXNfY29u
c3RhbnRzKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Ci0gICAgVjhET01D
b25maWd1cmF0aW9uOjpiYXRjaENvbmZpZ3VyZUNvbnN0YW50cyhkZXNjLCBwcm90bywgJHtpbnRl
cmZhY2VOYW1lfUNvbnN0cywgV1RGX0FSUkFZX0xFTkdUSCgke2ludGVyZmFjZU5hbWV9Q29uc3Rz
KSk7CisgICAgVjhET01Db25maWd1cmF0aW9uOjpiYXRjaENvbmZpZ3VyZUNvbnN0YW50cyhkZXNj
LCBwcm90bywgJHtpbnRlcmZhY2VOYW1lfVY4SW50ZXJuYWw6OiR7aW50ZXJmYWNlTmFtZX1Db25z
dHMsIFdURl9BUlJBWV9MRU5HVEgoJHtpbnRlcmZhY2VOYW1lfVY4SW50ZXJuYWw6OiR7aW50ZXJm
YWNlTmFtZX1Db25zdHMpKTsKIEVORAogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKaW5kZXgg
NWQ3NDJkYzQyNjBkNzJhZDEwN2IxYmQ0MDI0MzNjZTY1NzA0ODg5Ny4uMzQ4OTc3YzI0YWIzZTFi
ZTgxMmE2ZjZkZDEwNmMxZDNkYmJkZDc1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCkBAIC03Niwx
MCArNzYsMTQgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRmxvYXQ2NEFycmF5KiBpbXBs
LCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ28KICAgICByZXR1cm4gd3JhcHBlcjsK
IH0KIAorbmFtZXNwYWNlIEZsb2F0NjRBcnJheVY4SW50ZXJuYWwgeworCiBzdGF0aWMgY29uc3Qg
VjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkQ2FsbGJhY2sgRmxvYXQ2NEFycmF5Q2FsbGJhY2tz
W10gPSB7CiAgICAgeyJzZXQiLCBGbG9hdDY0QXJyYXlWOEludGVybmFsOjpzZXRDYWxsYmFja30s
CiB9OwogCit9IC8vIG5hbWVzcGFjZSBGbG9hdDY0QXJyYXlWOEludGVybmFsCisKIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOEZsb2F0NjRBcnJheTo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLkZsb2F0NjRBcnJheS5D
b250cnVjdG9yIik7CkBAIC05Myw3ICs5Nyw3IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6
RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhGbG9hdDY0QXJyYXlUZW1wbGF0ZSh2ODo6CiAg
ICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVs
dFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlvbjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywg
IkZsb2F0NjRBcnJheSIsIFY4QXJyYXlCdWZmZXJWaWV3OjpHZXRUZW1wbGF0ZSgpLCBWOEZsb2F0
NjRBcnJheTo6aW50ZXJuYWxGaWVsZENvdW50LAogICAgICAgICAwLCAwLAotICAgICAgICBGbG9h
dDY0QXJyYXlDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoRmxvYXQ2NEFycmF5Q2FsbGJhY2tz
KSk7CisgICAgICAgIEZsb2F0NjRBcnJheVY4SW50ZXJuYWw6OkZsb2F0NjRBcnJheUNhbGxiYWNr
cywgV1RGX0FSUkFZX0xFTkdUSChGbG9hdDY0QXJyYXlWOEludGVybmFsOjpGbG9hdDY0QXJyYXlD
YWxsYmFja3MpKTsKICAgICBVTlVTRURfUEFSQU0oZGVmYXVsdFNpZ25hdHVyZSk7IC8vIEluIHNv
bWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQuCiAgICAgZGVzYy0+U2V0Q2FsbEhhbmRsZXIo
VjhGbG9hdDY0QXJyYXk6OmNvbnN0cnVjdG9yQ2FsbGJhY2spOwogICAgIHY4OjpMb2NhbDx2ODo6
T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlID0gZGVzYy0+SW5zdGFuY2VUZW1wbGF0ZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEFj
dGl2ZURPTU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAppbmRleCBlNWFjYTI2NjA3MzM0YTAzZjViMzBh
MWYzZGM3MzU3MTU5NzA4NzVhLi4xODQ5NTIzYzc0NDczMzYzNmM4NDkzOTBmMGRhNjkyNzc2OGM0
OTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNwcApAQCAtMTA4LDE4ICsxMDgs
MjIgQEAgc3RhdGljIHZvaWQgVGVzdEFjdGl2ZURPTU9iamVjdERvbWFpblNhZmVGdW5jdGlvblNl
dHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmEKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEFjdGl2
ZURPTU9iamVjdFY4SW50ZXJuYWwKIAorbmFtZXNwYWNlIFRlc3RBY3RpdmVET01PYmplY3RWOElu
dGVybmFsIHsKKwogc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJp
YnV0ZSBUZXN0QWN0aXZlRE9NT2JqZWN0QXR0cnNbXSA9IHsKICAgICAvLyBBdHRyaWJ1dGUgJ2V4
Y2l0aW5nQXR0cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQogICAg
IHsiZXhjaXRpbmdBdHRyIiwgVGVzdEFjdGl2ZURPTU9iamVjdFY4SW50ZXJuYWw6OmV4Y2l0aW5n
QXR0ckF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vz
c0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRl
Pih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogfTsKIAorfSAvLyBuYW1lc3BhY2Ug
VGVzdEFjdGl2ZURPTU9iamVjdFY4SW50ZXJuYWwKKwogc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4
OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RBY3RpdmVET01PYmplY3RUZW1wbGF0
ZSh2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZGVzYykKIHsKICAgICBkZXNj
LT5SZWFkT25seVByb3RvdHlwZSgpOwogCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRl
ZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlv
bjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RBY3RpdmVET01PYmplY3QiLCB2ODo6UGVy
c2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0QWN0aXZlRE9NT2JqZWN0Ojpp
bnRlcm5hbEZpZWxkQ291bnQsCi0gICAgICAgIFRlc3RBY3RpdmVET01PYmplY3RBdHRycywgV1RG
X0FSUkFZX0xFTkdUSChUZXN0QWN0aXZlRE9NT2JqZWN0QXR0cnMpLAorICAgICAgICBUZXN0QWN0
aXZlRE9NT2JqZWN0VjhJbnRlcm5hbDo6VGVzdEFjdGl2ZURPTU9iamVjdEF0dHJzLCBXVEZfQVJS
QVlfTEVOR1RIKFRlc3RBY3RpdmVET01PYmplY3RWOEludGVybmFsOjpUZXN0QWN0aXZlRE9NT2Jq
ZWN0QXR0cnMpLAogICAgICAgICAwLCAwKTsKICAgICBVTlVTRURfUEFSQU0oZGVmYXVsdFNpZ25h
dHVyZSk7IC8vIEluIHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQuCiAgICAgdjg6Okxv
Y2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBkZXNjLT5JbnN0YW5jZVRlbXBsYXRl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcAppbmRleCA1ODkyOWRmMjgz
MzBkYTM2MDY4ODUwODFjMDEzZWFlM2I3NmQ0YmJlLi44ZjMxM2UxY2NlMzZlMTJmNzM4OGMxMWQ3
OTdhNTlmNTA5ODEyMzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAK
QEAgLTUxLDEwICs1MSwxNCBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFub3RoZXJG
dW5jdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKIH0gLy8gbmFtZXNw
YWNlIFRlc3RDdXN0b21OYW1lZEdldHRlclY4SW50ZXJuYWwKIAorbmFtZXNwYWNlIFRlc3RDdXN0
b21OYW1lZEdldHRlclY4SW50ZXJuYWwgeworCiBzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0
aW9uOjpCYXRjaGVkQ2FsbGJhY2sgVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tzW10gPSB7
CiAgICAgeyJhbm90aGVyRnVuY3Rpb24iLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOEludGVybmFs
Ojphbm90aGVyRnVuY3Rpb25DYWxsYmFja30sCiB9OwogCit9IC8vIG5hbWVzcGFjZSBUZXN0Q3Vz
dG9tTmFtZWRHZXR0ZXJWOEludGVybmFsCisKIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVu
Y3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJUZW1wbGF0ZSh2
ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZGVzYykKIHsKICAgICBkZXNjLT5S
ZWFkT25seVByb3RvdHlwZSgpOwpAQCAtNjIsNyArNjYsNyBAQCBzdGF0aWMgdjg6OlBlcnNpc3Rl
bnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdEN1c3RvbU5hbWVkR2V0dGVy
VGVtcAogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0dXJlOwogICAg
IGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRpb246OmNvbmZpZ3VyZVRlbXBsYXRl
KGRlc2MsICJUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rp
b25UZW1wbGF0ZT4oKSwgVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXI6OmludGVybmFsRmllbGRDb3Vu
dCwKICAgICAgICAgMCwgMCwKLSAgICAgICAgVGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tz
LCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RDdXN0b21OYW1lZEdldHRlckNhbGxiYWNrcykpOworICAg
ICAgICBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOEludGVybmFsOjpUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXJDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEN1c3RvbU5hbWVkR2V0dGVyVjhJbnRl
cm5hbDo6VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tzKSk7CiAgICAgVU5VU0VEX1BBUkFN
KGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJbiBzb21lIGNhc2VzLCBpdCB3aWxsIG5vdCBiZSB1c2Vk
LgogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlID0gZGVzYy0+SW5z
dGFuY2VUZW1wbGF0ZSgpOwogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IHByb3Rv
ID0gZGVzYy0+UHJvdG90eXBlVGVtcGxhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVj
dG9yLmNwcAppbmRleCA0MmVjNTM1ZTEyNTJlOGE1MTQ1YTdiYzhmNDAxNDE5OGU3ZThmZjM3Li4y
NjA2YTc3ZDM0M2JiZjZhZjlkMmUyZTcwN2E0NGVkMTBkNTkxNTQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRDb25zdHJ1Y3Rv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC01NCw2ICs1NCw4IEBAIHN0YXRpYyB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gYXR0cjJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBj
b25zdCB2CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RFdmVudENvbnN0cnVjdG9yVjhJbnRlcm5hbAog
CituYW1lc3BhY2UgVGVzdEV2ZW50Q29uc3RydWN0b3JWOEludGVybmFsIHsKKwogc3RhdGljIGNv
bnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0RXZlbnRDb25zdHJ1
Y3RvckF0dHJzW10gPSB7CiAgICAgLy8gQXR0cmlidXRlICdhdHRyMScgKFR5cGU6ICdyZWFkb25s
eSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQogICAgIHsiYXR0cjEiLCBUZXN0RXZlbnRDb25zdHJ1
Y3RvclY4SW50ZXJuYWw6OmF0dHIxQXR0ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICovLCBzdGF0
aWNfY2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6
UHJvcGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCkBAIC02
MSw2ICs2Myw4IEBAIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRy
aWJ1dGUgVGVzdEV2ZW50Q29uc3RydWN0b3JBdHRyc1tdID0KICAgICB7ImF0dHIyIiwgVGVzdEV2
ZW50Q29uc3RydWN0b3JWOEludGVybmFsOjphdHRyMkF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0
YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGlj
X2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2Ug
Ki99LAogfTsKIAorfSAvLyBuYW1lc3BhY2UgVGVzdEV2ZW50Q29uc3RydWN0b3JWOEludGVybmFs
CisKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpjb25zdHJ1
Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRT
KCJET00uVGVzdEV2ZW50Q29uc3RydWN0b3IuQ29uc3RydWN0b3IiKTsKQEAgLTEwMiw3ICsxMDYs
NyBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3Vy
ZVY4VGVzdEV2ZW50Q29uc3RydWN0b3JUZW1wbAogCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1
cmU+IGRlZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmln
dXJhdGlvbjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RFdmVudENvbnN0cnVjdG9yIiwg
djg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+KCksIFY4VGVzdEV2ZW50Q29uc3Ry
dWN0b3I6OmludGVybmFsRmllbGRDb3VudCwKLSAgICAgICAgVGVzdEV2ZW50Q29uc3RydWN0b3JB
dHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0RXZlbnRDb25zdHJ1Y3RvckF0dHJzKSwKKyAgICAg
ICAgVGVzdEV2ZW50Q29uc3RydWN0b3JWOEludGVybmFsOjpUZXN0RXZlbnRDb25zdHJ1Y3RvckF0
dHJzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RFdmVudENvbnN0cnVjdG9yVjhJbnRlcm5hbDo6VGVz
dEV2ZW50Q29uc3RydWN0b3JBdHRycyksCiAgICAgICAgIDAsIDApOwogICAgIFVOVVNFRF9QQVJB
TShkZWZhdWx0U2lnbmF0dXJlKTsgLy8gSW4gc29tZSBjYXNlcywgaXQgd2lsbCBub3QgYmUgdXNl
ZC4KICAgICBkZXNjLT5TZXRDYWxsSGFuZGxlcihWOFRlc3RFdmVudENvbnN0cnVjdG9yOjpjb25z
dHJ1Y3RvckNhbGxiYWNrKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXZlbnRUYXJnZXQuY3BwCmluZGV4IDE4MTVmNmJm
YjY2Mzk0MzFmODJjM2Q1YmFiZDUyNDc3ZDUzYTg3YTguLjEyYjE3ZGEzZDBkNGM0NzE0MjMyZTYy
M2I1ZWU5ZmZhYWE5YjQ3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcApAQCAtMTAyLDEy
ICsxMDIsMTYgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBkaXNwYXRjaEV2ZW50Q2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEV2
ZW50VGFyZ2V0VjhJbnRlcm5hbAogCituYW1lc3BhY2UgVGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5h
bCB7CisKIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBU
ZXN0RXZlbnRUYXJnZXRDYWxsYmFja3NbXSA9IHsKICAgICB7Iml0ZW0iLCBUZXN0RXZlbnRUYXJn
ZXRWOEludGVybmFsOjppdGVtQ2FsbGJhY2t9LAogICAgIHsiYWRkRXZlbnRMaXN0ZW5lciIsIFRl
c3RFdmVudFRhcmdldFY4SW50ZXJuYWw6OmFkZEV2ZW50TGlzdGVuZXJDYWxsYmFja30sCiAgICAg
eyJyZW1vdmVFdmVudExpc3RlbmVyIiwgVGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5hbDo6cmVtb3Zl
RXZlbnRMaXN0ZW5lckNhbGxiYWNrfSwKIH07CiAKK30gLy8gbmFtZXNwYWNlIFRlc3RFdmVudFRh
cmdldFY4SW50ZXJuYWwKKwogc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBs
YXRlPiBDb25maWd1cmVWOFRlc3RFdmVudFRhcmdldFRlbXBsYXRlKHY4OjpQZXJzaXN0ZW50PHY4
OjpGdW5jdGlvblRlbXBsYXRlPiBkZXNjKQogewogICAgIGRlc2MtPlJlYWRPbmx5UHJvdG90eXBl
KCk7CkBAIC0xMTUsNyArMTE5LDcgQEAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlv
blRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RFdmVudFRhcmdldFRlbXBsYXRlKHYKICAgICB2ODo6
TG9jYWw8djg6OlNpZ25hdHVyZT4gZGVmYXVsdFNpZ25hdHVyZTsKICAgICBkZWZhdWx0U2lnbmF0
dXJlID0gVjhET01Db25maWd1cmF0aW9uOjpjb25maWd1cmVUZW1wbGF0ZShkZXNjLCAiVGVzdEV2
ZW50VGFyZ2V0Iiwgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+KCksIFY4VGVz
dEV2ZW50VGFyZ2V0OjppbnRlcm5hbEZpZWxkQ291bnQsCiAgICAgICAgIDAsIDAsCi0gICAgICAg
IFRlc3RFdmVudFRhcmdldENhbGxiYWNrcywgV1RGX0FSUkFZX0xFTkdUSChUZXN0RXZlbnRUYXJn
ZXRDYWxsYmFja3MpKTsKKyAgICAgICAgVGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5hbDo6VGVzdEV2
ZW50VGFyZ2V0Q2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RFdmVudFRhcmdldFY4SW50
ZXJuYWw6OlRlc3RFdmVudFRhcmdldENhbGxiYWNrcykpOwogICAgIFVOVVNFRF9QQVJBTShkZWZh
dWx0U2lnbmF0dXJlKTsgLy8gSW4gc29tZSBjYXNlcywgaXQgd2lsbCBub3QgYmUgdXNlZC4KICAg
ICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IGRlc2MtPkluc3RhbmNl
VGVtcGxhdGUoKTsKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBwcm90byA9IGRl
c2MtPlByb3RvdHlwZVRlbXBsYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhjZXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uY3BwCmluZGV4IDA5Nzc3
NjFmZGVjOTVlMzMyNjc3MjliMTVmMjI0YWExMmM4MmM4MzAuLmUwMWEyNDc3MGYzOTVjNThlMzBl
Y2RkZTdlZTE4N2RhOWNmMzcyZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uY3BwCkBAIC00NiwxOCAr
NDYsMjIgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lQXR0ckdldHRlcih2ODo6
TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3QgdjgKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEV4
Y2VwdGlvblY4SW50ZXJuYWwKIAorbmFtZXNwYWNlIFRlc3RFeGNlcHRpb25WOEludGVybmFsIHsK
Kwogc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0
RXhjZXB0aW9uQXR0cnNbXSA9IHsKICAgICAvLyBBdHRyaWJ1dGUgJ25hbWUnIChUeXBlOiAncmVh
ZG9ubHkgYXR0cmlidXRlJyBFeHRBdHRyOiAnJykKICAgICB7Im5hbWUiLCBUZXN0RXhjZXB0aW9u
VjhJbnRlcm5hbDo6bmFtZUF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nh
c3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3Bl
cnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogfTsKIAorfSAv
LyBuYW1lc3BhY2UgVGVzdEV4Y2VwdGlvblY4SW50ZXJuYWwKKwogc3RhdGljIHY4OjpQZXJzaXN0
ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RFeGNlcHRpb25UZW1wbGF0
ZSh2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZGVzYykKIHsKICAgICBkZXNj
LT5SZWFkT25seVByb3RvdHlwZSgpOwogCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRl
ZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlv
bjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RFeGNlcHRpb24iLCB2ODo6UGVyc2lzdGVu
dDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0RXhjZXB0aW9uOjppbnRlcm5hbEZpZWxk
Q291bnQsCi0gICAgICAgIFRlc3RFeGNlcHRpb25BdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0
RXhjZXB0aW9uQXR0cnMpLAorICAgICAgICBUZXN0RXhjZXB0aW9uVjhJbnRlcm5hbDo6VGVzdEV4
Y2VwdGlvbkF0dHJzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RFeGNlcHRpb25WOEludGVybmFsOjpU
ZXN0RXhjZXB0aW9uQXR0cnMpLAogICAgICAgICAwLCAwKTsKICAgICBVTlVTRURfUEFSQU0oZGVm
YXVsdFNpZ25hdHVyZSk7IC8vIEluIHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQuCiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGZkMGFjOTE5MWU0OGMyNDYwOWU5Yzg3YWM4
MWY2M2QwM2RjNTZjNmEuLjlmZmZmOTc2ZjNmY2M5ZWUxY2M3MmE1MzgxZmNiYWY4NGUyZGQ1ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCkBAIC0xODYsNiArMTg2LDggQEAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBzdXBwbGVtZW50YWxNZXRob2Q0Q2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXIKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEludGVyZmFjZVY4SW50ZXJuYWwKIAor
bmFtZXNwYWNlIFRlc3RJbnRlcmZhY2VWOEludGVybmFsIHsKKwogc3RhdGljIGNvbnN0IFY4RE9N
Q29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0SW50ZXJmYWNlQXR0cnNbXSA9IHsK
ICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAgICAvLyBB
dHRyaWJ1dGUgJ3N1cHBsZW1lbnRhbFN0YXRpY1JlYWRPbmx5QXR0cicgKFR5cGU6ICdyZWFkb25s
eSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICdDb25kaXRpb25hbCBJbXBsZW1lbnRlZEJ5JykKQEAgLTIx
Myw2ICsyMTUsMTAgQEAgc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0
dHJpYnV0ZSBUZXN0SW50ZXJmYWNlQXR0cnNbXSA9IHsKICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0
aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKIH07CiAKK30gLy8gbmFtZXNwYWNlIFRlc3RJ
bnRlcmZhY2VWOEludGVybmFsCisKK25hbWVzcGFjZSBUZXN0SW50ZXJmYWNlVjhJbnRlcm5hbCB7
CisKIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBUZXN0
SW50ZXJmYWNlQ2FsbGJhY2tzW10gPSB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBFTkFC
TEUoQ29uZGl0aW9uMTIpCiAgICAgeyJzdXBwbGVtZW50YWxNZXRob2QxIiwgVGVzdEludGVyZmFj
ZVY4SW50ZXJuYWw6OnN1cHBsZW1lbnRhbE1ldGhvZDFDYWxsYmFja30sCkBAIC0yMjIsNiArMjI4
LDEwIEBAIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBU
ZXN0SW50ZXJmYWNlQ2FsbGJhY2tzW10gPSB7CiAjZW5kaWYKIH07CiAKK30gLy8gbmFtZXNwYWNl
IFRlc3RJbnRlcmZhY2VWOEludGVybmFsCisKK25hbWVzcGFjZSBUZXN0SW50ZXJmYWNlVjhJbnRl
cm5hbCB7CisKIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDb25zdGFu
dCBUZXN0SW50ZXJmYWNlQ29uc3RzW10gPSB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBF
TkFCTEUoQ29uZGl0aW9uMTIpCiAgICAgeyJTVVBQTEVNRU5UQUxDT05TVEFOVDEiLCBzdGF0aWNf
Y2FzdDxzaWduZWQgaW50PigxKX0sCkBAIC0yMzksNiArMjQ5LDggQEAgQ09NUElMRV9BU1NFUlQo
MSA9PSBUZXN0U3VwcGxlbWVudGFsOjpTVVBQTEVNRU5UQUxDT05TVEFOVDEsIFRlc3RJbnRlcmZh
Y2VFbnVtU1UKIENPTVBJTEVfQVNTRVJUKDIgPT0gVGVzdFN1cHBsZW1lbnRhbDo6Q09OU1RfSU1Q
TCwgVGVzdEludGVyZmFjZUVudW1DT05TVF9JTVBMSXNXcm9uZ1VzZURvTm90Q2hlY2tDb25zdGFu
dHMpOwogI2VuZGlmCiAKK30gLy8gbmFtZXNwYWNlIFRlc3RJbnRlcmZhY2VWOEludGVybmFsCisK
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3RJbnRlcmZhY2U6OmNvbnN0cnVjdG9yQ2FsbGJh
Y2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5UZXN0
SW50ZXJmYWNlLkNvbnN0cnVjdG9yIik7CkBAIC0yNzUsOCArMjg3LDggQEAgc3RhdGljIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RJbnRlcmZhY2VU
ZW1wbGF0ZSh2ODoKIAogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0
dXJlOwogICAgIGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRpb246OmNvbmZpZ3Vy
ZVRlbXBsYXRlKGRlc2MsICJUZXN0SW50ZXJmYWNlIiwgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+KCksIFY4VGVzdEludGVyZmFjZTo6aW50ZXJuYWxGaWVsZENvdW50LAotICAg
ICAgICBUZXN0SW50ZXJmYWNlQXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEludGVyZmFjZUF0
dHJzKSwKLSAgICAgICAgVGVzdEludGVyZmFjZUNhbGxiYWNrcywgV1RGX0FSUkFZX0xFTkdUSChU
ZXN0SW50ZXJmYWNlQ2FsbGJhY2tzKSk7CisgICAgICAgIFRlc3RJbnRlcmZhY2VWOEludGVybmFs
OjpUZXN0SW50ZXJmYWNlQXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEludGVyZmFjZVY4SW50
ZXJuYWw6OlRlc3RJbnRlcmZhY2VBdHRycyksCisgICAgICAgIFRlc3RJbnRlcmZhY2VWOEludGVy
bmFsOjpUZXN0SW50ZXJmYWNlQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RJbnRlcmZh
Y2VWOEludGVybmFsOjpUZXN0SW50ZXJmYWNlQ2FsbGJhY2tzKSk7CiAgICAgVU5VU0VEX1BBUkFN
KGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJbiBzb21lIGNhc2VzLCBpdCB3aWxsIG5vdCBiZSB1c2Vk
LgogICAgIGRlc2MtPlNldENhbGxIYW5kbGVyKFY4VGVzdEludGVyZmFjZTo6Y29uc3RydWN0b3JD
YWxsYmFjayk7CiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBk
ZXNjLT5JbnN0YW5jZVRlbXBsYXRlKCk7CkBAIC0yOTUsNyArMzA3LDcgQEAgc3RhdGljIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RJbnRlcmZhY2VU
ZW1wbGF0ZSh2ODoKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24x
MikKICAgICBkZXNjLT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJzdXBwbGVtZW50YWxNZXRo
b2Q0IiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXcoVGVzdEludGVyZmFjZVY4SW50ZXJuYWw6
OnN1cHBsZW1lbnRhbE1ldGhvZDRDYWxsYmFjaywgdjhVbmRlZmluZWQoKSwgdjg6OkxvY2FsPHY4
OjpTaWduYXR1cmU+KCkpKTsKICNlbmRpZiAvLyBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJM
RShDb25kaXRpb24xMikKLSAgICBWOERPTUNvbmZpZ3VyYXRpb246OmJhdGNoQ29uZmlndXJlQ29u
c3RhbnRzKGRlc2MsIHByb3RvLCBUZXN0SW50ZXJmYWNlQ29uc3RzLCBXVEZfQVJSQVlfTEVOR1RI
KFRlc3RJbnRlcmZhY2VDb25zdHMpKTsKKyAgICBWOERPTUNvbmZpZ3VyYXRpb246OmJhdGNoQ29u
ZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBUZXN0SW50ZXJmYWNlVjhJbnRlcm5hbDo6VGVz
dEludGVyZmFjZUNvbnN0cywgV1RGX0FSUkFZX0xFTkdUSChUZXN0SW50ZXJmYWNlVjhJbnRlcm5h
bDo6VGVzdEludGVyZmFjZUNvbnN0cykpOwogCiAgICAgLy8gQ3VzdG9tIHRvU3RyaW5nIHRlbXBs
YXRlCiAgICAgZGVzYy0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgidG9TdHJpbmciKSwgVjhQ
ZXJJc29sYXRlRGF0YTo6Y3VycmVudCgpLT50b1N0cmluZ1RlbXBsYXRlKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Y4L1Y4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmluZGV4IDBlYzMwOGYyYjkwNDVh
M2VmNjlmMDk4ZTc4ZGI1NDY1MjFjMzBhZTMuLmYzMjkwOTk5MTBjYmYxOGVmMDI2MzdmNDQ2ZmJm
MTJmNmY5MWQ0YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHAKQEAgLTUyLDEwICs1MiwxNCBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1l
dGhvZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyVjhJbnRlcm5hbAogCituYW1lc3BhY2UgVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXJWOEludGVybmFsIHsKKwogc3RhdGljIGNvbnN0IFY4RE9NQ29u
ZmlndXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ2Fs
bGJhY2tzW10gPSB7CiAgICAgeyJtZXRob2QiLCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclY4
SW50ZXJuYWw6Om1ldGhvZENhbGxiYWNrfSwKIH07CiAKK30gLy8gbmFtZXNwYWNlIFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyVjhJbnRlcm5hbAorCiBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6
OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJU
ZW1wbGF0ZSh2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gZGVzYykKIHsKICAg
ICBkZXNjLT5SZWFkT25seVByb3RvdHlwZSgpOwpAQCAtNjMsNyArNjcsNyBAQCBzdGF0aWMgdjg6
OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZQogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0
dXJlOwogICAgIGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRpb246OmNvbmZpZ3Vy
ZVRlbXBsYXRlKGRlc2MsICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIsIHY4OjpQZXJzaXN0
ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
OjppbnRlcm5hbEZpZWxkQ291bnQsCiAgICAgICAgIDAsIDAsCi0gICAgICAgIFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyQ2FsbGJhY2tzKSk7CisgICAgICAgIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyVjhJbnRlcm5hbDo6VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDYWxsYmFja3MsIFdURl9B
UlJBWV9MRU5HVEgoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJWOEludGVybmFsOjpUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lckNhbGxiYWNrcykpOwogICAgIFVOVVNFRF9QQVJBTShkZWZhdWx0
U2lnbmF0dXJlKTsgLy8gSW4gc29tZSBjYXNlcywgaXQgd2lsbCBub3QgYmUgdXNlZC4KICAgICB2
ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IGRlc2MtPkluc3RhbmNlVGVt
cGxhdGUoKTsKICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBwcm90byA9IGRlc2Mt
PlByb3RvdHlwZVRlbXBsYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCmluZGV4IDdlZDFjYmQzMWU0YjY0NGZmMmZl
MDExMThlYTkwZDRjNjI3MjdkNDAuLmU4ZjI5NjNmNWM4YmE2ZGRhNDAyNDIzNjNjMDBhODRkOTg2
NzBkZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOFRlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RPYmouY3BwCkBAIC0xOTAzLDYgKzE5MDMsOCBAQCBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHN0cmljdEZ1bmN0aW9uQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKIAogfSAvLyBuYW1lc3BhY2UgVGVzdE9ialY4SW50ZXJuYWwKIAorbmFtZXNwYWNlIFRl
c3RPYmpWOEludGVybmFsIHsKKwogc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0
Y2hlZEF0dHJpYnV0ZSBUZXN0T2JqQXR0cnNbXSA9IHsKICAgICAvLyBBdHRyaWJ1dGUgJ3JlYWRP
bmx5TG9uZ0F0dHInIChUeXBlOiAncmVhZG9ubHkgYXR0cmlidXRlJyBFeHRBdHRyOiAnJykKICAg
ICB7InJlYWRPbmx5TG9uZ0F0dHIiLCBUZXN0T2JqVjhJbnRlcm5hbDo6cmVhZE9ubHlMb25nQXR0
ckF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0Nv
bnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2
ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LApAQCAtMjAzNCw2ICsyMDM2LDEwIEBAIHN0
YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVGVzdE9iakF0
dHJzW10gPSB7CiAgICAgeyJyZXBsYWNlYWJsZUF0dHJpYnV0ZSIsIFRlc3RPYmpWOEludGVybmFs
OjpyZXBsYWNlYWJsZUF0dHJpYnV0ZUF0dHJHZXR0ZXIsIFRlc3RPYmpWOEludGVybmFsOjpUZXN0
T2JqUmVwbGFjZWFibGVBdHRyU2V0dGVyLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4
OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0
dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKIH07CiAKK30gLy8gbmFt
ZXNwYWNlIFRlc3RPYmpWOEludGVybmFsCisKK25hbWVzcGFjZSBUZXN0T2JqVjhJbnRlcm5hbCB7
CisKIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBUZXN0
T2JqQ2FsbGJhY2tzW10gPSB7CiAgICAgeyJ2b2lkTWV0aG9kIiwgVGVzdE9ialY4SW50ZXJuYWw6
OnZvaWRNZXRob2RDYWxsYmFja30sCiAgICAgeyJNZXRob2QiLCBUZXN0T2JqVjhJbnRlcm5hbDo6
TWV0aG9kQ2FsbGJhY2t9LApAQCAtMjA4NCw2ICsyMDkwLDEwIEBAIHN0YXRpYyBjb25zdCBWOERP
TUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBUZXN0T2JqQ2FsbGJhY2tzW10gPSB7CiAg
ICAgeyJzdHJpY3RGdW5jdGlvbiIsIFRlc3RPYmpWOEludGVybmFsOjpzdHJpY3RGdW5jdGlvbkNh
bGxiYWNrfSwKIH07CiAKK30gLy8gbmFtZXNwYWNlIFRlc3RPYmpWOEludGVybmFsCisKK25hbWVz
cGFjZSBUZXN0T2JqVjhJbnRlcm5hbCB7CisKIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRp
b246OkJhdGNoZWRDb25zdGFudCBUZXN0T2JqQ29uc3RzW10gPSB7CiAjaWYgRU5BQkxFKENvbmRp
dGlvbjEpCiAgICAgeyJDT05ESVRJT05BTF9DT05TVCIsIHN0YXRpY19jYXN0PHNpZ25lZCBpbnQ+
KDApfSwKQEAgLTIxMTksNiArMjEyOSw4IEBAIENPTVBJTEVfQVNTRVJUKDBYMjAgPT0gVGVzdE9i
ajo6Q09OU1RfVkFMVUVfMTMsIFRlc3RPYmpFbnVtQ09OU1RfVkFMVUVfMTNJc1dyb25nCiBDT01Q
SUxFX0FTU0VSVCgweDFhYmMgPT0gVGVzdE9iajo6Q09OU1RfVkFMVUVfMTQsIFRlc3RPYmpFbnVt
Q09OU1RfVkFMVUVfMTRJc1dyb25nVXNlRG9Ob3RDaGVja0NvbnN0YW50cyk7CiBDT01QSUxFX0FT
U0VSVCgxNSA9PSBUZXN0T2JqOjpDT05TVF9JTVBMLCBUZXN0T2JqRW51bUNPTlNUX0lNUExJc1dy
b25nVXNlRG9Ob3RDaGVja0NvbnN0YW50cyk7CiAKK30gLy8gbmFtZXNwYWNlIFRlc3RPYmpWOElu
dGVybmFsCisKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFRlc3RPYmo6OmNvbnN0cnVjdG9yQ2Fs
bGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RBVFMoIkRPTS5U
ZXN0T2JqLkNvbnN0cnVjdG9yIik7CkBAIC0yMTQ4LDggKzIxNjAsOCBAQCBzdGF0aWMgdjg6OlBl
cnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdE9ialRlbXBsYXRl
KHY4OjpQZXJzaQogCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWduYXR1
cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlvbjo6Y29uZmlndXJl
VGVtcGxhdGUoZGVzYywgIlRlc3RPYmplY3QiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25U
ZW1wbGF0ZT4oKSwgVjhUZXN0T2JqOjppbnRlcm5hbEZpZWxkQ291bnQsCi0gICAgICAgIFRlc3RP
YmpBdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0T2JqQXR0cnMpLAotICAgICAgICBUZXN0T2Jq
Q2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RPYmpDYWxsYmFja3MpKTsKKyAgICAgICAg
VGVzdE9ialY4SW50ZXJuYWw6OlRlc3RPYmpBdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0T2Jq
VjhJbnRlcm5hbDo6VGVzdE9iakF0dHJzKSwKKyAgICAgICAgVGVzdE9ialY4SW50ZXJuYWw6OlRl
c3RPYmpDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVGVzdE9ialY4SW50ZXJuYWw6OlRlc3RP
YmpDYWxsYmFja3MpKTsKICAgICBVTlVTRURfUEFSQU0oZGVmYXVsdFNpZ25hdHVyZSk7IC8vIElu
IHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQuCiAgICAgZGVzYy0+U2V0Q2FsbEhhbmRs
ZXIoVjhUZXN0T2JqOjpjb25zdHJ1Y3RvckNhbGxiYWNrKTsKICAgICB2ODo6TG9jYWw8djg6Ok9i
amVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IGRlc2MtPkluc3RhbmNlVGVtcGxhdGUoKTsKQEAgLTIy
MzMsNyArMjI0NSw3IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0
ZT4gQ29uZmlndXJlVjhUZXN0T2JqVGVtcGxhdGUodjg6OlBlcnNpCiAgICAgdjg6OkhhbmRsZTx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4gY29udmVydDVBcmd2W2NvbnZlcnQ1QXJnY10gPSB7IFY4ZTo6
R2V0UmF3VGVtcGxhdGUoKSB9OwogICAgIHY4OjpIYW5kbGU8djg6OlNpZ25hdHVyZT4gY29udmVy
dDVTaWduYXR1cmUgPSB2ODo6U2lnbmF0dXJlOjpOZXcoZGVzYywgY29udmVydDVBcmdjLCBjb252
ZXJ0NUFyZ3YpOwogICAgIHByb3RvLT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJjb252ZXJ0
NSIpLCB2ODo6RnVuY3Rpb25UZW1wbGF0ZTo6TmV3KFRlc3RPYmpWOEludGVybmFsOjpjb252ZXJ0
NUNhbGxiYWNrLCB2OFVuZGVmaW5lZCgpLCBjb252ZXJ0NVNpZ25hdHVyZSkpOwotICAgIFY4RE9N
Q29uZmlndXJhdGlvbjo6YmF0Y2hDb25maWd1cmVDb25zdGFudHMoZGVzYywgcHJvdG8sIFRlc3RP
YmpDb25zdHMsIFdURl9BUlJBWV9MRU5HVEgoVGVzdE9iakNvbnN0cykpOworICAgIFY4RE9NQ29u
ZmlndXJhdGlvbjo6YmF0Y2hDb25maWd1cmVDb25zdGFudHMoZGVzYywgcHJvdG8sIFRlc3RPYmpW
OEludGVybmFsOjpUZXN0T2JqQ29uc3RzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RPYmpWOEludGVy
bmFsOjpUZXN0T2JqQ29uc3RzKSk7CiAKICAgICAvLyBDdXN0b20gdG9TdHJpbmcgdGVtcGxhdGUK
ICAgICBkZXNjLT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJ0b1N0cmluZyIpLCBWOFBlcklz
b2xhdGVEYXRhOjpjdXJyZW50KCktPnRvU3RyaW5nVGVtcGxhdGUoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IDRk
MTRkMmJlNTliOTEyMjhlMjhmZjVkZjNmMjg0Zjg2ZDI0YTAwMDYuLmYzOTYxYWZmMWY5ZDQ4NjYy
YTJhZGQ2OTRjYjcyMTI1NDI5N2MzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0xODksNiArMTg5LDggQEAgc3Rh
dGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtdWx0aVRyYW5zZmVyTGlzdENhbGxiYWNrKGNvbnN0
IHY4OjpBcmd1bWVudHMmIGFyZ3MKIAogfSAvLyBuYW1lc3BhY2UgVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWwKIAorbmFtZXNwYWNlIFRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsIHsKKwogc3RhdGljIGNvbnN0IFY4RE9NQ29uZmln
dXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJm
YWNlQXR0cnNbXSA9IHsKICAgICAvLyBBdHRyaWJ1dGUgJ3ZhbHVlJyAoVHlwZTogJ2F0dHJpYnV0
ZScgRXh0QXR0cjogJycpCiAgICAgeyJ2YWx1ZSIsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VWOEludGVybmFsOjp2YWx1ZUF0dHJHZXR0ZXIsIFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjp2YWx1ZUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAq
Lywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nh
c3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99
LApAQCAtMjAyLDExICsyMDQsMTcgQEAgc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6
QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXIKICAgICB7ImNh
Y2hlZFJlYWRvbmx5VmFsdWUiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJ
bnRlcm5hbDo6Y2FjaGVkUmVhZG9ubHlWYWx1ZUF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAq
Lywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nh
c3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99
LAogfTsKIAorfSAvLyBuYW1lc3BhY2UgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZVY4SW50ZXJuYWwKKworbmFtZXNwYWNlIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2VWOEludGVybmFsIHsKKwogc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hl
ZENhbGxiYWNrIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDYWxsYmFja3NbXSA9
IHsKICAgICB7ImFjY2VwdFRyYW5zZmVyTGlzdCIsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VWOEludGVybmFsOjphY2NlcHRUcmFuc2Zlckxpc3RDYWxsYmFja30sCiAgICAgeyJt
dWx0aVRyYW5zZmVyTGlzdCIsIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWOElu
dGVybmFsOjptdWx0aVRyYW5zZmVyTGlzdENhbGxiYWNrfSwKIH07CiAKK30gLy8gbmFtZXNwYWNl
IFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsCisKIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmNvbnN0
cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKIHsKICAgICBJTkNfU1RB
VFMoIkRPTS5UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLkNvbnN0cnVjdG9yIik7
CkBAIC0yNDQsOCArMjUyLDggQEAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRl
bXBsYXRlPiBDb25maWd1cmVWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWUKIAogICAgIHY4OjpM
b2NhbDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0dXJlOwogICAgIGRlZmF1bHRTaWduYXR1
cmUgPSBWOERPTUNvbmZpZ3VyYXRpb246OmNvbmZpZ3VyZVRlbXBsYXRlKGRlc2MsICJUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlIiwgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9u
VGVtcGxhdGU+KCksIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6aW50ZXJu
YWxGaWVsZENvdW50LAotICAgICAgICBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
QXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZUF0dHJzKSwKLSAgICAgICAgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNhbGxi
YWNrcywgV1RGX0FSUkFZX0xFTkdUSChUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
Q2FsbGJhY2tzKSk7CisgICAgICAgIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VW
OEludGVybmFsOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQXR0cnMsIFdURl9B
UlJBWV9MRU5HVEgoVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWw6
OlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VBdHRycyksCisgICAgICAgIFRlc3RT
ZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjpUZXN0U2VyaWFsaXplZFNj
cmlwdFZhbHVlSW50ZXJmYWNlQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjpUZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlQ2FsbGJhY2tzKSk7CiAgICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRTaWduYXR1
cmUpOyAvLyBJbiBzb21lIGNhc2VzLCBpdCB3aWxsIG5vdCBiZSB1c2VkLgogICAgIGRlc2MtPlNl
dENhbGxIYW5kbGVyKFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTo6Y29uc3Ry
dWN0b3JDYWxsYmFjayk7CiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFu
Y2UgPSBkZXNjLT5JbnN0YW5jZVRlbXBsYXRlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163978</attachid>
            <date>2012-09-13 15:16:15 -0700</date>
            <delta_ts>2012-09-13 15:21:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96700-20120913151547.patch</filename>
            <type>text/plain</type>
            <size>26856</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYyZWVlMDA4Y2RmY2Y3
NTBlNWIzNjgzZDk0ZjVlOTdkMzQ4YTlmNS4uZGIxY2MwZDdjZDA4NjkxYmI2ZTJlMWQzZmVkNjAx
MWExYjdjMmFlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTA5LTEzICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBCaW5kaW5nOiBH
ZW5lcmF0ZSBiYXRjaGVkIGF0dHJpYnV0ZS9jb25zdC9jYWxsYmFjayBzdHJ1Y3QgbmFtZXMgY2Fu
IGNvbGxpZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk2NzAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIFY4IGJpbmRpbmcgY29kZSBnZW5lcmF0b3Igc3BpdHMgb3V0IHN0YXRpYyBhcnJheXMgZm9y
IGJhdGNoZWQgY29uZmlndXJhdGlvbiBvZgorICAgICAgICBjb25zdHMsIGF0dHJpYnV0ZXMsIGFu
ZCBjYWxsYmFja3MuIFByaW9yIHRvIHRoaXMgcGF0Y2gsIGl0IHdvdWxkIHNwaXQgdGhlbSBvdXQK
KyAgICAgICAgaW4gdGhlIFdlYkNvcmUgbmFtZXNwYWNlIHdpdGggbmFtZXMgbGlrZSA8QmFzZVR5
cGU+Q2FsbGJhY2tzIHdoaWNoIGNvdWxkIGNvbGxpZGUgd2l0aAorICAgICAgICBvdGhlciBjb2Rl
LiBUaGlzIGNoYW5nZSByZW5hbWVzIHRoZW0gZnJvbSA8QmFzZVR5cGU+PFN1ZmZpeD4gdG8gVjg8
QmFzZVR5cGU+PFN1ZmZpeD4uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdl
bmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOEZsb2F0NjRBcnJheS5jcHA6CisgICAgICAgIChGbG9hdDY0QXJyYXlWOEludGVybmFsKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhGbG9hdDY0
QXJyYXlUZW1wbGF0ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEFjdGl2ZURPTU9iamVjdC5jcHA6CisgICAgICAgIChUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbmZpZ3VyZVY4
VGVzdEFjdGl2ZURPTU9iamVjdFRlbXBsYXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwOgorICAgICAgICAoVGVzdEN1c3Rv
bU5hbWVkR2V0dGVyVjhJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbmZpZ3VyZVY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyVGVtcGxhdGUpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKFRlc3RFdmVudENvbnN0cnVjdG9yVjhJbnRlcm5hbCk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbmZpZ3VyZVY4VGVzdEV2ZW50Q29uc3RydWN0b3JU
ZW1wbGF0ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50
VGFyZ2V0LmNwcDoKKyAgICAgICAgKFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWwpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RFdmVudFRhcmdl
dFRlbXBsYXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhj
ZXB0aW9uLmNwcDoKKyAgICAgICAgKFRlc3RFeGNlcHRpb25WOEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhUZXN0RXhjZXB0aW9uVGVt
cGxhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZh
Y2UuY3BwOgorICAgICAgICAoVGVzdEludGVyZmFjZVY4SW50ZXJuYWwpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RJbnRlcmZhY2VUZW1wbGF0
ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIuY3BwOgorICAgICAgICAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJWOElu
dGVybmFsKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJl
VjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclRlbXBsYXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFRlc3RPYmpWOEludGVy
bmFsKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhU
ZXN0T2JqVGVtcGxhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VUZW1wbGF0ZSk6CisKIDIwMTItMDktMTMgIEhhbnMgTXVsbGVyICA8aG11bGxlckBh
ZG9iZS5jb20+CiAKICAgICAgICAgVHlwbyBpbiBSZW5kZXJTdHlsZTo6aXNGbGlwcGVkTGluZXNX
cml0aW5nTW9kZSgpLCBzbWFsbCByZWZhY3RvcmluZyBwb3NzaWJsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCA2ZTU0MjE1
OWIyMjYyMjViOTUxNDQ3MDFhNjgzNGIzYWU1NWEwMWIyLi5iOWY0MzY0YmZlMzY3YzQ1YTdhYjZi
ZWM2NDkzYTA0MWJiNjU1MzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMjY4NSw3ICsyNjg1LDcgQEAgRU5ECiAgICAg
bXkgJGhhc19hdHRyaWJ1dGVzID0gMDsKICAgICBpZiAoQCRhdHRyaWJ1dGVzKSB7CiAgICAgICAg
ICRoYXNfYXR0cmlidXRlcyA9IDE7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAic3RhdGlj
IGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSAke2ludGVyZmFjZU5h
bWV9QXR0cnNbXSA9IHtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBj
b25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjgke2ludGVyZmFjZU5h
bWV9QXR0cnNbXSA9IHtcbiIpOwogICAgICAgICBHZW5lcmF0ZUJhdGNoZWRBdHRyaWJ1dGVEYXRh
KCRkYXRhTm9kZSwgJGF0dHJpYnV0ZXMpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn07
XG5cbiIpOwogICAgIH0KQEAgLTI3MDAsNyArMjcwMCw3IEBAIEVORAogICAgICAgICBuZXh0IGlm
ICFJc1N0YW5kYXJkRnVuY3Rpb24oJGRhdGFOb2RlLCAkZnVuY3Rpb24pOwogICAgICAgICBpZiAo
ISRoYXNfY2FsbGJhY2tzKSB7CiAgICAgICAgICAgICAkaGFzX2NhbGxiYWNrcyA9IDE7Ci0gICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRp
b246OkJhdGNoZWRDYWxsYmFjayAke2ludGVyZmFjZU5hbWV9Q2FsbGJhY2tzW10gPSB7XG4iKTsK
KyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAic3RhdGljIGNvbnN0IFY4RE9NQ29uZmln
dXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFY4JHtpbnRlcmZhY2VOYW1lfUNhbGxiYWNrc1tdID0g
e1xuIik7CiAgICAgICAgIH0KICAgICAgICAgbXkgJG5hbWUgPSAkZnVuY3Rpb24tPnNpZ25hdHVy
ZS0+bmFtZTsKICAgICAgICAgbXkgJGNhbGxiYWNrID0gR2V0RnVuY3Rpb25UZW1wbGF0ZUNhbGxi
YWNrTmFtZSgkZnVuY3Rpb24sICRpbnRlcmZhY2VOYW1lKTsKQEAgLTI3MTksNyArMjcxOSw3IEBA
IEVORAogICAgIG15IEBjb25zdGFudHNFbmFibGVkQXRSdW50aW1lOwogICAgIGlmIChAeyRkYXRh
Tm9kZS0+Y29uc3RhbnRzfSkgewogICAgICAgICAkaGFzX2NvbnN0YW50cyA9IDE7Ci0gICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAic3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0
Y2hlZENvbnN0YW50ICR7aW50ZXJmYWNlTmFtZX1Db25zdHNbXSA9IHtcbiIpOworICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRDb25zdGFudCBWOCR7aW50ZXJmYWNlTmFtZX1Db25zdHNbXSA9IHtcbiIpOwogICAgIH0KICAg
ICBmb3JlYWNoIG15ICRjb25zdGFudCAoQHskZGF0YU5vZGUtPmNvbnN0YW50c30pIHsKICAgICAg
ICAgbXkgJG5hbWUgPSAkY29uc3RhbnQtPm5hbWU7CkBAIC0yODEwLDcgKzI4MTAsNyBAQCBFTkQK
ICAgICAjIFNldCB1cCBvdXIgYXR0cmlidXRlcyBpZiB3ZSBoYXZlIHRoZW0KICAgICBpZiAoJGhh
c19hdHRyaWJ1dGVzKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Ci0gICAg
ICAgICR7aW50ZXJmYWNlTmFtZX1BdHRycywgV1RGX0FSUkFZX0xFTkdUSCgke2ludGVyZmFjZU5h
bWV9QXR0cnMpLAorICAgICAgICBWOCR7aW50ZXJmYWNlTmFtZX1BdHRycywgV1RGX0FSUkFZX0xF
TkdUSChWOCR7aW50ZXJmYWNlTmFtZX1BdHRycyksCiBFTkQKICAgICB9IGVsc2UgewogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwpAQCAtMjgyMCw3ICsyODIwLDcgQEAgRU5ECiAK
ICAgICBpZiAoJGhhc19jYWxsYmFja3MpIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8
RU5EKTsKLSAgICAgICAgJHtpbnRlcmZhY2VOYW1lfUNhbGxiYWNrcywgV1RGX0FSUkFZX0xFTkdU
SCgke2ludGVyZmFjZU5hbWV9Q2FsbGJhY2tzKSk7CisgICAgICAgIFY4JHtpbnRlcmZhY2VOYW1l
fUNhbGxiYWNrcywgV1RGX0FSUkFZX0xFTkdUSChWOCR7aW50ZXJmYWNlTmFtZX1DYWxsYmFja3Mp
KTsKIEVORAogICAgIH0gZWxzZSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7
CkBAIC0yOTAyLDcgKzI5MDIsNyBAQCBFTkQKIAogICAgIGlmICgkaGFzX2NvbnN0YW50cykgewog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotICAgIFY4RE9NQ29uZmlndXJhdGlv
bjo6YmF0Y2hDb25maWd1cmVDb25zdGFudHMoZGVzYywgcHJvdG8sICR7aW50ZXJmYWNlTmFtZX1D
b25zdHMsIFdURl9BUlJBWV9MRU5HVEgoJHtpbnRlcmZhY2VOYW1lfUNvbnN0cykpOworICAgIFY4
RE9NQ29uZmlndXJhdGlvbjo6YmF0Y2hDb25maWd1cmVDb25zdGFudHMoZGVzYywgcHJvdG8sIFY4
JHtpbnRlcmZhY2VOYW1lfUNvbnN0cywgV1RGX0FSUkFZX0xFTkdUSChWOCR7aW50ZXJmYWNlTmFt
ZX1Db25zdHMpKTsKIEVORAogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKaW5kZXggNWQ3NDJk
YzQyNjBkNzJhZDEwN2IxYmQ0MDI0MzNjZTY1NzA0ODg5Ny4uMWEyN2E5ZGI4ODEyYzFhZjY0YTRh
MmQxOTk1NTY2ZTE0YzljNjUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCkBAIC03Niw3ICs3Niw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEZsb2F0NjRBcnJheSogaW1wbCwgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvCiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAKLXN0
YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBGbG9hdDY0QXJy
YXlDYWxsYmFja3NbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRDYWxsYmFjayBWOEZsb2F0NjRBcnJheUNhbGxiYWNrc1tdID0gewogICAgIHsic2V0IiwgRmxv
YXQ2NEFycmF5VjhJbnRlcm5hbDo6c2V0Q2FsbGJhY2t9LAogfTsKIApAQCAtOTMsNyArOTMsNyBA
QCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4
RmxvYXQ2NEFycmF5VGVtcGxhdGUodjg6OgogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBk
ZWZhdWx0U2lnbmF0dXJlOwogICAgIGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRp
b246OmNvbmZpZ3VyZVRlbXBsYXRlKGRlc2MsICJGbG9hdDY0QXJyYXkiLCBWOEFycmF5QnVmZmVy
Vmlldzo6R2V0VGVtcGxhdGUoKSwgVjhGbG9hdDY0QXJyYXk6OmludGVybmFsRmllbGRDb3VudCwK
ICAgICAgICAgMCwgMCwKLSAgICAgICAgRmxvYXQ2NEFycmF5Q2FsbGJhY2tzLCBXVEZfQVJSQVlf
TEVOR1RIKEZsb2F0NjRBcnJheUNhbGxiYWNrcykpOworICAgICAgICBWOEZsb2F0NjRBcnJheUNh
bGxiYWNrcywgV1RGX0FSUkFZX0xFTkdUSChWOEZsb2F0NjRBcnJheUNhbGxiYWNrcykpOwogICAg
IFVOVVNFRF9QQVJBTShkZWZhdWx0U2lnbmF0dXJlKTsgLy8gSW4gc29tZSBjYXNlcywgaXQgd2ls
bCBub3QgYmUgdXNlZC4KICAgICBkZXNjLT5TZXRDYWxsSGFuZGxlcihWOEZsb2F0NjRBcnJheTo6
Y29uc3RydWN0b3JDYWxsYmFjayk7CiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4g
aW5zdGFuY2UgPSBkZXNjLT5JbnN0YW5jZVRlbXBsYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVE
T01PYmplY3QuY3BwCmluZGV4IGU1YWNhMjY2MDczMzRhMDNmNWIzMGExZjNkYzczNTcxNTk3MDg3
NWEuLjUwZTAwODJkZGYzNDQ3YzZlMjc5NmExOGRlMTFiZmQxMGQ3NjhhOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01P
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIHZvaWQg
VGVzdEFjdGl2ZURPTU9iamVjdERvbWFpblNhZmVGdW5jdGlvblNldHRlcih2ODo6TG9jYWw8djg6
OlN0cmluZz4gbmEKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEFjdGl2ZURPTU9iamVjdFY4SW50ZXJu
YWwKIAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBU
ZXN0QWN0aXZlRE9NT2JqZWN0QXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3Vy
YXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjhUZXN0QWN0aXZlRE9NT2JqZWN0QXR0cnNbXSA9IHsK
ICAgICAvLyBBdHRyaWJ1dGUgJ2V4Y2l0aW5nQXR0cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1
dGUnIEV4dEF0dHI6ICcnKQogICAgIHsiZXhjaXRpbmdBdHRyIiwgVGVzdEFjdGl2ZURPTU9iamVj
dFY4SW50ZXJuYWw6OmV4Y2l0aW5nQXR0ckF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywg
c3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8
djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAog
fTsKQEAgLTExOSw3ICsxMTksNyBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9u
VGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdEFjdGl2ZURPTU9iamVjdFRlbXBsYQogCiAgICAgdjg6
OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25h
dHVyZSA9IFY4RE9NQ29uZmlndXJhdGlvbjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RB
Y3RpdmVET01PYmplY3QiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwg
VjhUZXN0QWN0aXZlRE9NT2JqZWN0OjppbnRlcm5hbEZpZWxkQ291bnQsCi0gICAgICAgIFRlc3RB
Y3RpdmVET01PYmplY3RBdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0QWN0aXZlRE9NT2JqZWN0
QXR0cnMpLAorICAgICAgICBWOFRlc3RBY3RpdmVET01PYmplY3RBdHRycywgV1RGX0FSUkFZX0xF
TkdUSChWOFRlc3RBY3RpdmVET01PYmplY3RBdHRycyksCiAgICAgICAgIDAsIDApOwogICAgIFVO
VVNFRF9QQVJBTShkZWZhdWx0U2lnbmF0dXJlKTsgLy8gSW4gc29tZSBjYXNlcywgaXQgd2lsbCBu
b3QgYmUgdXNlZC4KICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9
IGRlc2MtPkluc3RhbmNlVGVtcGxhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXIuY3BwCmluZGV4IDU4OTI5ZGYyODMzMGRhMzYwNjg4NTA4MWMwMTNlYWUzYjc2ZDRiYmUuLjk3
NWNmZWIzN2MwNmM4NjI5OWViZWEzNDJiMjMwNjliMjFjYTQ5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtNTEsNyArNTEsNyBAQCBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGFub3RoZXJGdW5jdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RDdXN0b21OYW1lZEdldHRlclY4SW50ZXJuYWwK
IAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RD
dXN0b21OYW1lZEdldHRlckNhbGxiYWNrc1tdID0geworc3RhdGljIGNvbnN0IFY4RE9NQ29uZmln
dXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tz
W10gPSB7CiAgICAgeyJhbm90aGVyRnVuY3Rpb24iLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOElu
dGVybmFsOjphbm90aGVyRnVuY3Rpb25DYWxsYmFja30sCiB9OwogCkBAIC02Miw3ICs2Miw3IEBA
IHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXJUZW1wCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRl
ZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlv
bjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RDdXN0b21OYW1lZEdldHRlciIsIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRlc3RDdXN0b21OYW1lZEdldHRl
cjo6aW50ZXJuYWxGaWVsZENvdW50LAogICAgICAgICAwLCAwLAotICAgICAgICBUZXN0Q3VzdG9t
TmFtZWRHZXR0ZXJDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEN1c3RvbU5hbWVkR2V0
dGVyQ2FsbGJhY2tzKSk7CisgICAgICAgIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tz
LCBXVEZfQVJSQVlfTEVOR1RIKFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tzKSk7CiAg
ICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJbiBzb21lIGNhc2VzLCBpdCB3
aWxsIG5vdCBiZSB1c2VkLgogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3Rh
bmNlID0gZGVzYy0+SW5zdGFuY2VUZW1wbGF0ZSgpOwogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0
VGVtcGxhdGU+IHByb3RvID0gZGVzYy0+UHJvdG90eXBlVGVtcGxhdGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RFdmVudENvbnN0cnVjdG9yLmNwcAppbmRleCA0MmVjNTM1ZTEyNTJlOGE1MTQ1YTdiYzhmNDAx
NDE5OGU3ZThmZjM3Li40MDc0ZTU3MzI0OWJjNWFkNDk5MmYyMjEwNmM5M2Y5NTU5YTdiYTI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC01NCw3ICs1NCw3IEBAIHN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXR0cjJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RFdmVudENvbnN0cnVj
dG9yVjhJbnRlcm5hbAogCi1zdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVk
QXR0cmlidXRlIFRlc3RFdmVudENvbnN0cnVjdG9yQXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBW
OERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rv
ckF0dHJzW10gPSB7CiAgICAgLy8gQXR0cmlidXRlICdhdHRyMScgKFR5cGU6ICdyZWFkb25seSBh
dHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQogICAgIHsiYXR0cjEiLCBUZXN0RXZlbnRDb25zdHJ1Y3Rv
clY4SW50ZXJuYWw6OmF0dHIxQXR0ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNf
Y2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJv
cGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8g
QXR0cmlidXRlICdhdHRyMicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICdJ
bml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3RvcicpCkBAIC0xMDIsNyArMTAyLDcgQEAgc3RhdGlj
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RFdmVu
dENvbnN0cnVjdG9yVGVtcGwKIAogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0
U2lnbmF0dXJlOwogICAgIGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRpb246OmNv
bmZpZ3VyZVRlbXBsYXRlKGRlc2MsICJUZXN0RXZlbnRDb25zdHJ1Y3RvciIsIHY4OjpQZXJzaXN0
ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjppbnRl
cm5hbEZpZWxkQ291bnQsCi0gICAgICAgIFRlc3RFdmVudENvbnN0cnVjdG9yQXR0cnMsIFdURl9B
UlJBWV9MRU5HVEgoVGVzdEV2ZW50Q29uc3RydWN0b3JBdHRycyksCisgICAgICAgIFY4VGVzdEV2
ZW50Q29uc3RydWN0b3JBdHRycywgV1RGX0FSUkFZX0xFTkdUSChWOFRlc3RFdmVudENvbnN0cnVj
dG9yQXR0cnMpLAogICAgICAgICAwLCAwKTsKICAgICBVTlVTRURfUEFSQU0oZGVmYXVsdFNpZ25h
dHVyZSk7IC8vIEluIHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQuCiAgICAgZGVzYy0+
U2V0Q2FsbEhhbmRsZXIoVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0b3JDYWxsYmFj
ayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCAxODE1ZjZiZmI2NjM5NDMxZjgyYzNk
NWJhYmQ1MjQ3N2Q1M2E4N2E4Li44Y2JhYTJmMDY0ZGE2YjBlOWM1NjhjN2QxMmU4NjE4NDM4MTc0
MTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKQEAgLTEwMiw3ICsxMDIsNyBAQCBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRpc3BhdGNoRXZlbnRDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0RXZlbnRUYXJnZXRWOEludGVy
bmFsCiAKLXN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBU
ZXN0RXZlbnRUYXJnZXRDYWxsYmFja3NbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3Vy
YXRpb246OkJhdGNoZWRDYWxsYmFjayBWOFRlc3RFdmVudFRhcmdldENhbGxiYWNrc1tdID0gewog
ICAgIHsiaXRlbSIsIFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWw6Oml0ZW1DYWxsYmFja30sCiAg
ICAgeyJhZGRFdmVudExpc3RlbmVyIiwgVGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5hbDo6YWRkRXZl
bnRMaXN0ZW5lckNhbGxiYWNrfSwKICAgICB7InJlbW92ZUV2ZW50TGlzdGVuZXIiLCBUZXN0RXZl
bnRUYXJnZXRWOEludGVybmFsOjpyZW1vdmVFdmVudExpc3RlbmVyQ2FsbGJhY2t9LApAQCAtMTE1
LDcgKzExNSw3IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4g
Q29uZmlndXJlVjhUZXN0RXZlbnRUYXJnZXRUZW1wbGF0ZSh2CiAgICAgdjg6OkxvY2FsPHY4OjpT
aWduYXR1cmU+IGRlZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9N
Q29uZmlndXJhdGlvbjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RFdmVudFRhcmdldCIs
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRlc3RFdmVudFRhcmdl
dDo6aW50ZXJuYWxGaWVsZENvdW50LAogICAgICAgICAwLCAwLAotICAgICAgICBUZXN0RXZlbnRU
YXJnZXRDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEV2ZW50VGFyZ2V0Q2FsbGJhY2tz
KSk7CisgICAgICAgIFY4VGVzdEV2ZW50VGFyZ2V0Q2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RI
KFY4VGVzdEV2ZW50VGFyZ2V0Q2FsbGJhY2tzKSk7CiAgICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRT
aWduYXR1cmUpOyAvLyBJbiBzb21lIGNhc2VzLCBpdCB3aWxsIG5vdCBiZSB1c2VkLgogICAgIHY4
OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlID0gZGVzYy0+SW5zdGFuY2VUZW1w
bGF0ZSgpOwogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IHByb3RvID0gZGVzYy0+
UHJvdG90eXBlVGVtcGxhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXggMDk3Nzc2MWZk
ZWM5NWUzMzI2NzcyOWIxNWYyMjRhYTEyYzgyYzgzMC4uNDUxYzU4ZDc4YTc2Yzc0NWE2YzdlYjZk
ZjM1ZWIwNzM2M2NjY2QxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTQ2LDcgKzQ2LDcg
QEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lQXR0ckdldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmFtZSwgY29uc3QgdjgKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEV4Y2VwdGlv
blY4SW50ZXJuYWwKIAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0
dHJpYnV0ZSBUZXN0RXhjZXB0aW9uQXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZp
Z3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjhUZXN0RXhjZXB0aW9uQXR0cnNbXSA9IHsKICAg
ICAvLyBBdHRyaWJ1dGUgJ25hbWUnIChUeXBlOiAncmVhZG9ubHkgYXR0cmlidXRlJyBFeHRBdHRy
OiAnJykKICAgICB7Im5hbWUiLCBUZXN0RXhjZXB0aW9uVjhJbnRlcm5hbDo6bmFtZUF0dHJHZXR0
ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4
OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSks
IDAgLyogb24gaW5zdGFuY2UgKi99LAogfTsKQEAgLTU3LDcgKzU3LDcgQEAgc3RhdGljIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RFeGNlcHRpb25U
ZW1wbGF0ZSh2ODoKIAogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0
dXJlOwogICAgIGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRpb246OmNvbmZpZ3Vy
ZVRlbXBsYXRlKGRlc2MsICJUZXN0RXhjZXB0aW9uIiwgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+KCksIFY4VGVzdEV4Y2VwdGlvbjo6aW50ZXJuYWxGaWVsZENvdW50LAotICAg
ICAgICBUZXN0RXhjZXB0aW9uQXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEV4Y2VwdGlvbkF0
dHJzKSwKKyAgICAgICAgVjhUZXN0RXhjZXB0aW9uQXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVjhU
ZXN0RXhjZXB0aW9uQXR0cnMpLAogICAgICAgICAwLCAwKTsKICAgICBVTlVTRURfUEFSQU0oZGVm
YXVsdFNpZ25hdHVyZSk7IC8vIEluIHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQuCiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGZkMGFjOTE5MWU0OGMyNDYwOWU5Yzg3YWM4
MWY2M2QwM2RjNTZjNmEuLmFjODY4YWI5OWYxMjFlNTZhZDg5YjkxNmFiZGFjNDkxNDFlN2U2NjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCkBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBzdXBwbGVtZW50YWxNZXRob2Q0Q2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXIKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEludGVyZmFjZVY4SW50ZXJuYWwKIAot
c3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0SW50
ZXJmYWNlQXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRBdHRyaWJ1dGUgVjhUZXN0SW50ZXJmYWNlQXR0cnNbXSA9IHsKICNpZiBFTkFCTEUoQ29uZGl0
aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAgICAvLyBBdHRyaWJ1dGUgJ3N1cHBsZW1l
bnRhbFN0YXRpY1JlYWRPbmx5QXR0cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0
dHI6ICdDb25kaXRpb25hbCBJbXBsZW1lbnRlZEJ5JykKICAgICB7InN1cHBsZW1lbnRhbFN0YXRp
Y1JlYWRPbmx5QXR0ciIsIFRlc3RJbnRlcmZhY2VWOEludGVybmFsOjpzdXBwbGVtZW50YWxTdGF0
aWNSZWFkT25seUF0dHJBdHRyR2V0dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0
PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0
eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKQEAgLTIxMyw3ICsy
MTMsNyBAQCBzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkQXR0cmlidXRl
IFRlc3RJbnRlcmZhY2VBdHRyc1tdID0gewogI2VuZGlmIC8vIEVOQUJMRShDb25kaXRpb24xMSkg
fHwgRU5BQkxFKENvbmRpdGlvbjEyKQogfTsKIAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJh
dGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RJbnRlcmZhY2VDYWxsYmFja3NbXSA9IHsKK3N0YXRp
YyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBWOFRlc3RJbnRlcmZh
Y2VDYWxsYmFja3NbXSA9IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25k
aXRpb24xMikKICAgICB7InN1cHBsZW1lbnRhbE1ldGhvZDEiLCBUZXN0SW50ZXJmYWNlVjhJbnRl
cm5hbDo6c3VwcGxlbWVudGFsTWV0aG9kMUNhbGxiYWNrfSwKICNlbmRpZgpAQCAtMjIyLDcgKzIy
Miw3IEBAIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBU
ZXN0SW50ZXJmYWNlQ2FsbGJhY2tzW10gPSB7CiAjZW5kaWYKIH07CiAKLXN0YXRpYyBjb25zdCBW
OERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDb25zdGFudCBUZXN0SW50ZXJmYWNlQ29uc3RzW10g
PSB7CitzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkQ29uc3RhbnQgVjhU
ZXN0SW50ZXJmYWNlQ29uc3RzW10gPSB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBFTkFC
TEUoQ29uZGl0aW9uMTIpCiAgICAgeyJTVVBQTEVNRU5UQUxDT05TVEFOVDEiLCBzdGF0aWNfY2Fz
dDxzaWduZWQgaW50PigxKX0sCiAjZW5kaWYKQEAgLTI3NSw4ICsyNzUsOCBAQCBzdGF0aWMgdjg6
OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdEludGVyZmFj
ZVRlbXBsYXRlKHY4OgogCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWdu
YXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlvbjo6Y29uZmln
dXJlVGVtcGxhdGUoZGVzYywgIlRlc3RJbnRlcmZhY2UiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVu
Y3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0SW50ZXJmYWNlOjppbnRlcm5hbEZpZWxkQ291bnQsCi0g
ICAgICAgIFRlc3RJbnRlcmZhY2VBdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0SW50ZXJmYWNl
QXR0cnMpLAotICAgICAgICBUZXN0SW50ZXJmYWNlQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RI
KFRlc3RJbnRlcmZhY2VDYWxsYmFja3MpKTsKKyAgICAgICAgVjhUZXN0SW50ZXJmYWNlQXR0cnMs
IFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0SW50ZXJmYWNlQXR0cnMpLAorICAgICAgICBWOFRlc3RJ
bnRlcmZhY2VDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0SW50ZXJmYWNlQ2FsbGJh
Y2tzKSk7CiAgICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJbiBzb21lIGNh
c2VzLCBpdCB3aWxsIG5vdCBiZSB1c2VkLgogICAgIGRlc2MtPlNldENhbGxIYW5kbGVyKFY4VGVz
dEludGVyZmFjZTo6Y29uc3RydWN0b3JDYWxsYmFjayk7CiAgICAgdjg6OkxvY2FsPHY4OjpPYmpl
Y3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBkZXNjLT5JbnN0YW5jZVRlbXBsYXRlKCk7CkBAIC0yOTUs
NyArMjk1LDcgQEAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBD
b25maWd1cmVWOFRlc3RJbnRlcmZhY2VUZW1wbGF0ZSh2ODoKICNpZiBFTkFCTEUoQ29uZGl0aW9u
MTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAgICBkZXNjLT5TZXQodjg6OlN0cmluZzo6TmV3
U3ltYm9sKCJzdXBwbGVtZW50YWxNZXRob2Q0IiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXco
VGVzdEludGVyZmFjZVY4SW50ZXJuYWw6OnN1cHBsZW1lbnRhbE1ldGhvZDRDYWxsYmFjaywgdjhV
bmRlZmluZWQoKSwgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+KCkpKTsKICNlbmRpZiAvLyBFTkFC
TEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKLSAgICBWOERPTUNvbmZpZ3Vy
YXRpb246OmJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBUZXN0SW50ZXJmYWNl
Q29uc3RzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RJbnRlcmZhY2VDb25zdHMpKTsKKyAgICBWOERP
TUNvbmZpZ3VyYXRpb246OmJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBWOFRl
c3RJbnRlcmZhY2VDb25zdHMsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0SW50ZXJmYWNlQ29uc3Rz
KSk7CiAKICAgICAvLyBDdXN0b20gdG9TdHJpbmcgdGVtcGxhdGUKICAgICBkZXNjLT5TZXQodjg6
OlN0cmluZzo6TmV3U3ltYm9sKCJ0b1N0cmluZyIpLCBWOFBlcklzb2xhdGVEYXRhOjpjdXJyZW50
KCktPnRvU3RyaW5nVGVtcGxhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5jcHAKaW5kZXggMGVjMzA4ZjJiOTA0NWEzZWY2OWYwOThlNzhkYjU0NjUyMWMz
MGFlMy4uNGIwOWQwYmQyNmFjZTEwNzRiYzFmZTNmNDZkNzliMWU5MjQ3OWMyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtNTIsNyArNTIsNyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyVjhJbnRlcm5hbAogCi1zdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVk
Q2FsbGJhY2sgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDYWxsYmFja3NbXSA9IHsKK3N0YXRp
YyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBWOFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ2FsbGJhY2tzW10gPSB7CiAgICAgeyJtZXRob2QiLCBUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lclY4SW50ZXJuYWw6Om1ldGhvZENhbGxiYWNrfSwKIH07CiAKQEAgLTYz
LDcgKzYzLDcgQEAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBD
b25maWd1cmVWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmUKICAgICB2ODo6TG9jYWw8djg6OlNp
Z25hdHVyZT4gZGVmYXVsdFNpZ25hdHVyZTsKICAgICBkZWZhdWx0U2lnbmF0dXJlID0gVjhET01D
b25maWd1cmF0aW9uOjpjb25maWd1cmVUZW1wbGF0ZShkZXNjLCAiVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6aW50ZXJuYWxGaWVsZENvdW50LAogICAgICAgICAwLCAw
LAotICAgICAgICBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNhbGxiYWNrcywgV1RGX0FSUkFZ
X0xFTkdUSChUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNhbGxiYWNrcykpOworICAgICAgICBW
OFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFY4
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDYWxsYmFja3MpKTsKICAgICBVTlVTRURfUEFSQU0o
ZGVmYXVsdFNpZ25hdHVyZSk7IC8vIEluIHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQu
CiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBkZXNjLT5JbnN0
YW5jZVRlbXBsYXRlKCk7CiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gcHJvdG8g
PSBkZXNjLT5Qcm90b3R5cGVUZW1wbGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCA3ZWQxY2JkMzFlNGI2
NDRmZjJmZTAxMTE4ZWE5MGQ0YzYyNzI3ZDQwLi5jNDM0MWIyYWVhMjEzYjBjZDIyNDVhNGIwZjky
NWYyNzVlODUzOTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtMTkwMyw3ICsxOTAzLDcgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBzdHJpY3RGdW5jdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RPYmpWOEludGVybmFsCiAKLXN0YXRp
YyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVGVzdE9iakF0dHJz
W10gPSB7CitzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkQXR0cmlidXRl
IFY4VGVzdE9iakF0dHJzW10gPSB7CiAgICAgLy8gQXR0cmlidXRlICdyZWFkT25seUxvbmdBdHRy
JyAoVHlwZTogJ3JlYWRvbmx5IGF0dHJpYnV0ZScgRXh0QXR0cjogJycpCiAgICAgeyJyZWFkT25s
eUxvbmdBdHRyIiwgVGVzdE9ialY4SW50ZXJuYWw6OnJlYWRPbmx5TG9uZ0F0dHJBdHRyR2V0dGVy
LCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6
REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAw
IC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ3JlYWRPbmx5U3RyaW5nQXR0
cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQpAQCAtMjAzNCw3ICsy
MDM0LDcgQEAgc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0
ZSBUZXN0T2JqQXR0cnNbXSA9IHsKICAgICB7InJlcGxhY2VhYmxlQXR0cmlidXRlIiwgVGVzdE9i
alY4SW50ZXJuYWw6OnJlcGxhY2VhYmxlQXR0cmlidXRlQXR0ckdldHRlciwgVGVzdE9ialY4SW50
ZXJuYWw6OlRlc3RPYmpSZXBsYWNlYWJsZUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3Rh
dGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogfTsK
IAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RP
YmpDYWxsYmFja3NbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRDYWxsYmFjayBWOFRlc3RPYmpDYWxsYmFja3NbXSA9IHsKICAgICB7InZvaWRNZXRob2QiLCBU
ZXN0T2JqVjhJbnRlcm5hbDo6dm9pZE1ldGhvZENhbGxiYWNrfSwKICAgICB7Ik1ldGhvZCIsIFRl
c3RPYmpWOEludGVybmFsOjpNZXRob2RDYWxsYmFja30sCiAgICAgeyJvYmpNZXRob2QiLCBUZXN0
T2JqVjhJbnRlcm5hbDo6b2JqTWV0aG9kQ2FsbGJhY2t9LApAQCAtMjA4NCw3ICsyMDg0LDcgQEAg
c3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RPYmpD
YWxsYmFja3NbXSA9IHsKICAgICB7InN0cmljdEZ1bmN0aW9uIiwgVGVzdE9ialY4SW50ZXJuYWw6
OnN0cmljdEZ1bmN0aW9uQ2FsbGJhY2t9LAogfTsKIAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmln
dXJhdGlvbjo6QmF0Y2hlZENvbnN0YW50IFRlc3RPYmpDb25zdHNbXSA9IHsKK3N0YXRpYyBjb25z
dCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDb25zdGFudCBWOFRlc3RPYmpDb25zdHNbXSA9
IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKICAgICB7IkNPTkRJVElPTkFMX0NPTlNUIiwgc3Rh
dGljX2Nhc3Q8c2lnbmVkIGludD4oMCl9LAogI2VuZGlmCkBAIC0yMTQ4LDggKzIxNDgsOCBAQCBz
dGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVz
dE9ialRlbXBsYXRlKHY4OjpQZXJzaQogCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRl
ZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlv
bjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RPYmplY3QiLCB2ODo6UGVyc2lzdGVudDx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0T2JqOjppbnRlcm5hbEZpZWxkQ291bnQsCi0g
ICAgICAgIFRlc3RPYmpBdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0T2JqQXR0cnMpLAotICAg
ICAgICBUZXN0T2JqQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RPYmpDYWxsYmFja3Mp
KTsKKyAgICAgICAgVjhUZXN0T2JqQXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0T2JqQXR0
cnMpLAorICAgICAgICBWOFRlc3RPYmpDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0
T2JqQ2FsbGJhY2tzKSk7CiAgICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJ
biBzb21lIGNhc2VzLCBpdCB3aWxsIG5vdCBiZSB1c2VkLgogICAgIGRlc2MtPlNldENhbGxIYW5k
bGVyKFY4VGVzdE9iajo6Y29uc3RydWN0b3JDYWxsYmFjayk7CiAgICAgdjg6OkxvY2FsPHY4OjpP
YmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBkZXNjLT5JbnN0YW5jZVRlbXBsYXRlKCk7CkBAIC0y
MjMzLDcgKzIyMzMsNyBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxh
dGU+IENvbmZpZ3VyZVY4VGVzdE9ialRlbXBsYXRlKHY4OjpQZXJzaQogICAgIHY4OjpIYW5kbGU8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGNvbnZlcnQ1QXJndltjb252ZXJ0NUFyZ2NdID0geyBWOGU6
OkdldFJhd1RlbXBsYXRlKCkgfTsKICAgICB2ODo6SGFuZGxlPHY4OjpTaWduYXR1cmU+IGNvbnZl
cnQ1U2lnbmF0dXJlID0gdjg6OlNpZ25hdHVyZTo6TmV3KGRlc2MsIGNvbnZlcnQ1QXJnYywgY29u
dmVydDVBcmd2KTsKICAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiY29udmVy
dDUiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6Y29udmVy
dDVDYWxsYmFjaywgdjhVbmRlZmluZWQoKSwgY29udmVydDVTaWduYXR1cmUpKTsKLSAgICBWOERP
TUNvbmZpZ3VyYXRpb246OmJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBUZXN0
T2JqQ29uc3RzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RPYmpDb25zdHMpKTsKKyAgICBWOERPTUNv
bmZpZ3VyYXRpb246OmJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBWOFRlc3RP
YmpDb25zdHMsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0T2JqQ29uc3RzKSk7CiAKICAgICAvLyBD
dXN0b20gdG9TdHJpbmcgdGVtcGxhdGUKICAgICBkZXNjLT5TZXQodjg6OlN0cmluZzo6TmV3U3lt
Ym9sKCJ0b1N0cmluZyIpLCBWOFBlcklzb2xhdGVEYXRhOjpjdXJyZW50KCktPnRvU3RyaW5nVGVt
cGxhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UuY3BwCmluZGV4IDRkMTRkMmJlNTliOTEyMjhlMjhmZjVkZjNmMjg0Zjg2ZDI0
YTAwMDYuLmYyZjRjYmEyMWY4ZGNiNmUyNDUwNGZhMTRlZDE5ZWJmMjg0NDRjYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3Bw
CkBAIC0xODksNyArMTg5LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtdWx0aVRy
YW5zZmVyTGlzdENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKIAogfSAvLyBuYW1l
c3BhY2UgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWwKIAotc3Rh
dGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNv
bmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlQXR0cnNbXSA9IHsKICAgICAvLyBBdHRyaWJ1dGUgJ3ZhbHVlJyAoVHlwZTogJ2F0
dHJpYnV0ZScgRXh0QXR0cjogJycpCiAgICAgeyJ2YWx1ZSIsIFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjp2YWx1ZUF0dHJHZXR0ZXIsIFRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjp2YWx1ZUF0dHJTZXR0ZXIsIDAgLyogbm8g
ZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3Rh
dGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFu
Y2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAncmVhZG9ubHlWYWx1ZScgKFR5cGU6ICdyZWFkb25s
eSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQpAQCAtMjAyLDcgKzIwMiw3IEBAIHN0YXRpYyBjb25z
dCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyCiAgICAgeyJjYWNoZWRSZWFkb25seVZhbHVlIiwgVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWw6OmNhY2hlZFJlYWRvbmx5VmFsdWVBdHRyR2V0
dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2
ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUp
LCAwIC8qIG9uIGluc3RhbmNlICovfSwKIH07CiAKLXN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3Vy
YXRpb246OkJhdGNoZWRDYWxsYmFjayBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
Q2FsbGJhY2tzW10gPSB7CitzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVk
Q2FsbGJhY2sgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2FsbGJhY2tzW10g
PSB7CiAgICAgeyJhY2NlcHRUcmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlVjhJbnRlcm5hbDo6YWNjZXB0VHJhbnNmZXJMaXN0Q2FsbGJhY2t9LAogICAgIHsi
bXVsdGlUcmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJ
bnRlcm5hbDo6bXVsdGlUcmFuc2Zlckxpc3RDYWxsYmFja30sCiB9OwpAQCAtMjQ0LDggKzI0NCw4
IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJl
VjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlCiAKICAgICB2ODo6TG9jYWw8djg6OlNpZ25hdHVy
ZT4gZGVmYXVsdFNpZ25hdHVyZTsKICAgICBkZWZhdWx0U2lnbmF0dXJlID0gVjhET01Db25maWd1
cmF0aW9uOjpjb25maWd1cmVUZW1wbGF0ZShkZXNjLCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZSIsIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmludGVybmFsRmllbGRDb3VudCwKLSAg
ICAgICAgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUF0dHJzLCBXVEZfQVJSQVlf
TEVOR1RIKFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VBdHRycyksCi0gICAgICAg
IFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDYWxsYmFja3MsIFdURl9BUlJBWV9M
RU5HVEgoVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNhbGxiYWNrcykpOworICAg
ICAgICBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VBdHRycywgV1RGX0FSUkFZ
X0xFTkdUSChWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VBdHRycyksCisgICAg
ICAgIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNhbGxiYWNrcywgV1RGX0FS
UkFZX0xFTkdUSChWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDYWxsYmFja3Mp
KTsKICAgICBVTlVTRURfUEFSQU0oZGVmYXVsdFNpZ25hdHVyZSk7IC8vIEluIHNvbWUgY2FzZXMs
IGl0IHdpbGwgbm90IGJlIHVzZWQuCiAgICAgZGVzYy0+U2V0Q2FsbEhhbmRsZXIoVjhUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKTsKICAgICB2
ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IGRlc2MtPkluc3RhbmNlVGVt
cGxhdGUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163980</attachid>
            <date>2012-09-13 15:21:31 -0700</date>
            <delta_ts>2012-09-13 16:01:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-96700-20120913152104.patch</filename>
            <type>text/plain</type>
            <size>26913</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYyZWVlMDA4Y2RmY2Y3
NTBlNWIzNjgzZDk0ZjVlOTdkMzQ4YTlmNS4uYzVkYWRlOGFlYjE3MDk3Njg2MjYyYjYyMjFkY2Q4
NGY1YjJkMTE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTA5LTEzICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1Y4XSBCaW5kaW5nOiBH
ZW5lcmF0ZSBiYXRjaGVkIGF0dHJpYnV0ZS9jb25zdC9jYWxsYmFjayBzdHJ1Y3QgbmFtZXMgY2Fu
IGNvbGxpZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk2NzAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudGFybyBIYXJhLgorCisgICAgICAgIFRo
ZSBWOCBiaW5kaW5nIGNvZGUgZ2VuZXJhdG9yIHNwaXRzIG91dCBzdGF0aWMgYXJyYXlzIGZvciBi
YXRjaGVkIGNvbmZpZ3VyYXRpb24gb2YKKyAgICAgICAgY29uc3RzLCBhdHRyaWJ1dGVzLCBhbmQg
Y2FsbGJhY2tzLiBQcmlvciB0byB0aGlzIHBhdGNoLCBpdCB3b3VsZCBzcGl0IHRoZW0gb3V0Cisg
ICAgICAgIGluIHRoZSBXZWJDb3JlIG5hbWVzcGFjZSB3aXRoIG5hbWVzIGxpa2UgPEJhc2VUeXBl
PkNhbGxiYWNrcyB3aGljaCBjb3VsZCBjb2xsaWRlIHdpdGgKKyAgICAgICAgb3RoZXIgY29kZS4g
VGhpcyBjaGFuZ2UgcmVuYW1lcyB0aGVtIGZyb20gPEJhc2VUeXBlPjxTdWZmaXg+IHRvIFY4PEJh
c2VUeXBlPjxTdWZmaXg+LgorCisgICAgICAgIFRlc3RzOiBSZWJhc2VsaW5lZCB0aGUgYmluZGlu
Zy9zY3JpcHRzL3Rlc3QvVjgvKiByZXN1bHRzLiBObyBmdW5jdGlvbmFsIGNoYW5nZXMuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdl
bmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9W
OC9WOEZsb2F0NjRBcnJheS5jcHA6CisgICAgICAgIChGbG9hdDY0QXJyYXlWOEludGVybmFsKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhGbG9hdDY0
QXJyYXlUZW1wbGF0ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEFjdGl2ZURPTU9iamVjdC5jcHA6CisgICAgICAgIChUZXN0QWN0aXZlRE9NT2JqZWN0VjhJbnRl
cm5hbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbmZpZ3VyZVY4
VGVzdEFjdGl2ZURPTU9iamVjdFRlbXBsYXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3BwOgorICAgICAgICAoVGVzdEN1c3Rv
bU5hbWVkR2V0dGVyVjhJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNvbmZpZ3VyZVY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyVGVtcGxhdGUpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0cnVjdG9yLmNwcDoK
KyAgICAgICAgKFRlc3RFdmVudENvbnN0cnVjdG9yVjhJbnRlcm5hbCk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbmZpZ3VyZVY4VGVzdEV2ZW50Q29uc3RydWN0b3JU
ZW1wbGF0ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50
VGFyZ2V0LmNwcDoKKyAgICAgICAgKFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWwpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RFdmVudFRhcmdl
dFRlbXBsYXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0RXhj
ZXB0aW9uLmNwcDoKKyAgICAgICAgKFRlc3RFeGNlcHRpb25WOEludGVybmFsKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhUZXN0RXhjZXB0aW9uVGVt
cGxhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RJbnRlcmZh
Y2UuY3BwOgorICAgICAgICAoVGVzdEludGVyZmFjZVY4SW50ZXJuYWwpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RJbnRlcmZhY2VUZW1wbGF0
ZSk6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXIuY3BwOgorICAgICAgICAoVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJWOElu
dGVybmFsKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJl
VjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclRlbXBsYXRlKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcDoKKyAgICAgICAgKFRlc3RPYmpWOEludGVy
bmFsKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q29uZmlndXJlVjhU
ZXN0T2JqVGVtcGxhdGUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwOgorICAgICAgICAoVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpDb25maWd1cmVWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VUZW1wbGF0ZSk6CisKIDIwMTItMDktMTMgIEhhbnMgTXVsbGVyICA8aG11bGxlckBh
ZG9iZS5jb20+CiAKICAgICAgICAgVHlwbyBpbiBSZW5kZXJTdHlsZTo6aXNGbGlwcGVkTGluZXNX
cml0aW5nTW9kZSgpLCBzbWFsbCByZWZhY3RvcmluZyBwb3NzaWJsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCA2ZTU0MjE1
OWIyMjYyMjViOTUxNDQ3MDFhNjgzNGIzYWU1NWEwMWIyLi5iOWY0MzY0YmZlMzY3YzQ1YTdhYjZi
ZWM2NDkzYTA0MWJiNjU1MzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMjY4NSw3ICsyNjg1LDcgQEAgRU5ECiAgICAg
bXkgJGhhc19hdHRyaWJ1dGVzID0gMDsKICAgICBpZiAoQCRhdHRyaWJ1dGVzKSB7CiAgICAgICAg
ICRoYXNfYXR0cmlidXRlcyA9IDE7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAic3RhdGlj
IGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSAke2ludGVyZmFjZU5h
bWV9QXR0cnNbXSA9IHtcbiIpOworICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBj
b25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjgke2ludGVyZmFjZU5h
bWV9QXR0cnNbXSA9IHtcbiIpOwogICAgICAgICBHZW5lcmF0ZUJhdGNoZWRBdHRyaWJ1dGVEYXRh
KCRkYXRhTm9kZSwgJGF0dHJpYnV0ZXMpOwogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIn07
XG5cbiIpOwogICAgIH0KQEAgLTI3MDAsNyArMjcwMCw3IEBAIEVORAogICAgICAgICBuZXh0IGlm
ICFJc1N0YW5kYXJkRnVuY3Rpb24oJGRhdGFOb2RlLCAkZnVuY3Rpb24pOwogICAgICAgICBpZiAo
ISRoYXNfY2FsbGJhY2tzKSB7CiAgICAgICAgICAgICAkaGFzX2NhbGxiYWNrcyA9IDE7Ci0gICAg
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRp
b246OkJhdGNoZWRDYWxsYmFjayAke2ludGVyZmFjZU5hbWV9Q2FsbGJhY2tzW10gPSB7XG4iKTsK
KyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAic3RhdGljIGNvbnN0IFY4RE9NQ29uZmln
dXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFY4JHtpbnRlcmZhY2VOYW1lfUNhbGxiYWNrc1tdID0g
e1xuIik7CiAgICAgICAgIH0KICAgICAgICAgbXkgJG5hbWUgPSAkZnVuY3Rpb24tPnNpZ25hdHVy
ZS0+bmFtZTsKICAgICAgICAgbXkgJGNhbGxiYWNrID0gR2V0RnVuY3Rpb25UZW1wbGF0ZUNhbGxi
YWNrTmFtZSgkZnVuY3Rpb24sICRpbnRlcmZhY2VOYW1lKTsKQEAgLTI3MTksNyArMjcxOSw3IEBA
IEVORAogICAgIG15IEBjb25zdGFudHNFbmFibGVkQXRSdW50aW1lOwogICAgIGlmIChAeyRkYXRh
Tm9kZS0+Y29uc3RhbnRzfSkgewogICAgICAgICAkaGFzX2NvbnN0YW50cyA9IDE7Ci0gICAgICAg
IHB1c2goQGltcGxDb250ZW50LCAic3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0
Y2hlZENvbnN0YW50ICR7aW50ZXJmYWNlTmFtZX1Db25zdHNbXSA9IHtcbiIpOworICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgInN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRDb25zdGFudCBWOCR7aW50ZXJmYWNlTmFtZX1Db25zdHNbXSA9IHtcbiIpOwogICAgIH0KICAg
ICBmb3JlYWNoIG15ICRjb25zdGFudCAoQHskZGF0YU5vZGUtPmNvbnN0YW50c30pIHsKICAgICAg
ICAgbXkgJG5hbWUgPSAkY29uc3RhbnQtPm5hbWU7CkBAIC0yODEwLDcgKzI4MTAsNyBAQCBFTkQK
ICAgICAjIFNldCB1cCBvdXIgYXR0cmlidXRlcyBpZiB3ZSBoYXZlIHRoZW0KICAgICBpZiAoJGhh
c19hdHRyaWJ1dGVzKSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7Ci0gICAg
ICAgICR7aW50ZXJmYWNlTmFtZX1BdHRycywgV1RGX0FSUkFZX0xFTkdUSCgke2ludGVyZmFjZU5h
bWV9QXR0cnMpLAorICAgICAgICBWOCR7aW50ZXJmYWNlTmFtZX1BdHRycywgV1RGX0FSUkFZX0xF
TkdUSChWOCR7aW50ZXJmYWNlTmFtZX1BdHRycyksCiBFTkQKICAgICB9IGVsc2UgewogICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwpAQCAtMjgyMCw3ICsyODIwLDcgQEAgRU5ECiAK
ICAgICBpZiAoJGhhc19jYWxsYmFja3MpIHsKICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsIDw8
RU5EKTsKLSAgICAgICAgJHtpbnRlcmZhY2VOYW1lfUNhbGxiYWNrcywgV1RGX0FSUkFZX0xFTkdU
SCgke2ludGVyZmFjZU5hbWV9Q2FsbGJhY2tzKSk7CisgICAgICAgIFY4JHtpbnRlcmZhY2VOYW1l
fUNhbGxiYWNrcywgV1RGX0FSUkFZX0xFTkdUSChWOCR7aW50ZXJmYWNlTmFtZX1DYWxsYmFja3Mp
KTsKIEVORAogICAgIH0gZWxzZSB7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCA8PEVORCk7
CkBAIC0yOTAyLDcgKzI5MDIsNyBAQCBFTkQKIAogICAgIGlmICgkaGFzX2NvbnN0YW50cykgewog
ICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwotICAgIFY4RE9NQ29uZmlndXJhdGlv
bjo6YmF0Y2hDb25maWd1cmVDb25zdGFudHMoZGVzYywgcHJvdG8sICR7aW50ZXJmYWNlTmFtZX1D
b25zdHMsIFdURl9BUlJBWV9MRU5HVEgoJHtpbnRlcmZhY2VOYW1lfUNvbnN0cykpOworICAgIFY4
RE9NQ29uZmlndXJhdGlvbjo6YmF0Y2hDb25maWd1cmVDb25zdGFudHMoZGVzYywgcHJvdG8sIFY4
JHtpbnRlcmZhY2VOYW1lfUNvbnN0cywgV1RGX0FSUkFZX0xFTkdUSChWOCR7aW50ZXJmYWNlTmFt
ZX1Db25zdHMpKTsKIEVORAogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOEZsb2F0NjRBcnJheS5jcHAKaW5kZXggNWQ3NDJk
YzQyNjBkNzJhZDEwN2IxYmQ0MDI0MzNjZTY1NzA0ODg5Ny4uMWEyN2E5ZGI4ODEyYzFhZjY0YTRh
MmQxOTk1NTY2ZTE0YzljNjUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Y4L1Y4RmxvYXQ2NEFycmF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhGbG9hdDY0QXJyYXkuY3BwCkBAIC03Niw3ICs3Niw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KEZsb2F0NjRBcnJheSogaW1wbCwgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvCiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9CiAKLXN0
YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBGbG9hdDY0QXJy
YXlDYWxsYmFja3NbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRDYWxsYmFjayBWOEZsb2F0NjRBcnJheUNhbGxiYWNrc1tdID0gewogICAgIHsic2V0IiwgRmxv
YXQ2NEFycmF5VjhJbnRlcm5hbDo6c2V0Q2FsbGJhY2t9LAogfTsKIApAQCAtOTMsNyArOTMsNyBA
QCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4
RmxvYXQ2NEFycmF5VGVtcGxhdGUodjg6OgogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBk
ZWZhdWx0U2lnbmF0dXJlOwogICAgIGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRp
b246OmNvbmZpZ3VyZVRlbXBsYXRlKGRlc2MsICJGbG9hdDY0QXJyYXkiLCBWOEFycmF5QnVmZmVy
Vmlldzo6R2V0VGVtcGxhdGUoKSwgVjhGbG9hdDY0QXJyYXk6OmludGVybmFsRmllbGRDb3VudCwK
ICAgICAgICAgMCwgMCwKLSAgICAgICAgRmxvYXQ2NEFycmF5Q2FsbGJhY2tzLCBXVEZfQVJSQVlf
TEVOR1RIKEZsb2F0NjRBcnJheUNhbGxiYWNrcykpOworICAgICAgICBWOEZsb2F0NjRBcnJheUNh
bGxiYWNrcywgV1RGX0FSUkFZX0xFTkdUSChWOEZsb2F0NjRBcnJheUNhbGxiYWNrcykpOwogICAg
IFVOVVNFRF9QQVJBTShkZWZhdWx0U2lnbmF0dXJlKTsgLy8gSW4gc29tZSBjYXNlcywgaXQgd2ls
bCBub3QgYmUgdXNlZC4KICAgICBkZXNjLT5TZXRDYWxsSGFuZGxlcihWOEZsb2F0NjRBcnJheTo6
Y29uc3RydWN0b3JDYWxsYmFjayk7CiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4g
aW5zdGFuY2UgPSBkZXNjLT5JbnN0YW5jZVRlbXBsYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0QWN0aXZlRE9NT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVE
T01PYmplY3QuY3BwCmluZGV4IGU1YWNhMjY2MDczMzRhMDNmNWIzMGExZjNkYzczNTcxNTk3MDg3
NWEuLjUwZTAwODJkZGYzNDQ3YzZlMjc5NmExOGRlMTFiZmQxMGQ3NjhhOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RBY3RpdmVET01P
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9W
OFRlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIHZvaWQg
VGVzdEFjdGl2ZURPTU9iamVjdERvbWFpblNhZmVGdW5jdGlvblNldHRlcih2ODo6TG9jYWw8djg6
OlN0cmluZz4gbmEKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEFjdGl2ZURPTU9iamVjdFY4SW50ZXJu
YWwKIAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBU
ZXN0QWN0aXZlRE9NT2JqZWN0QXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3Vy
YXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjhUZXN0QWN0aXZlRE9NT2JqZWN0QXR0cnNbXSA9IHsK
ICAgICAvLyBBdHRyaWJ1dGUgJ2V4Y2l0aW5nQXR0cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1
dGUnIEV4dEF0dHI6ICcnKQogICAgIHsiZXhjaXRpbmdBdHRyIiwgVGVzdEFjdGl2ZURPTU9iamVj
dFY4SW50ZXJuYWw6OmV4Y2l0aW5nQXR0ckF0dHJHZXR0ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywg
c3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8
djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAog
fTsKQEAgLTExOSw3ICsxMTksNyBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9u
VGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdEFjdGl2ZURPTU9iamVjdFRlbXBsYQogCiAgICAgdjg6
OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25h
dHVyZSA9IFY4RE9NQ29uZmlndXJhdGlvbjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RB
Y3RpdmVET01PYmplY3QiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwg
VjhUZXN0QWN0aXZlRE9NT2JqZWN0OjppbnRlcm5hbEZpZWxkQ291bnQsCi0gICAgICAgIFRlc3RB
Y3RpdmVET01PYmplY3RBdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0QWN0aXZlRE9NT2JqZWN0
QXR0cnMpLAorICAgICAgICBWOFRlc3RBY3RpdmVET01PYmplY3RBdHRycywgV1RGX0FSUkFZX0xF
TkdUSChWOFRlc3RBY3RpdmVET01PYmplY3RBdHRycyksCiAgICAgICAgIDAsIDApOwogICAgIFVO
VVNFRF9QQVJBTShkZWZhdWx0U2lnbmF0dXJlKTsgLy8gSW4gc29tZSBjYXNlcywgaXQgd2lsbCBu
b3QgYmUgdXNlZC4KICAgICB2ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9
IGRlc2MtPkluc3RhbmNlVGVtcGxhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q3VzdG9tTmFtZWRHZXR0
ZXIuY3BwCmluZGV4IDU4OTI5ZGYyODMzMGRhMzYwNjg4NTA4MWMwMTNlYWUzYjc2ZDRiYmUuLjk3
NWNmZWIzN2MwNmM4NjI5OWViZWEzNDJiMjMwNjliMjFjYTQ5Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDdXN0b21OYW1lZEdldHRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtNTEsNyArNTEsNyBAQCBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGFub3RoZXJGdW5jdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMm
IGFyZ3MpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RDdXN0b21OYW1lZEdldHRlclY4SW50ZXJuYWwK
IAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RD
dXN0b21OYW1lZEdldHRlckNhbGxiYWNrc1tdID0geworc3RhdGljIGNvbnN0IFY4RE9NQ29uZmln
dXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tz
W10gPSB7CiAgICAgeyJhbm90aGVyRnVuY3Rpb24iLCBUZXN0Q3VzdG9tTmFtZWRHZXR0ZXJWOElu
dGVybmFsOjphbm90aGVyRnVuY3Rpb25DYWxsYmFja30sCiB9OwogCkBAIC02Miw3ICs2Miw3IEBA
IHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJlVjhU
ZXN0Q3VzdG9tTmFtZWRHZXR0ZXJUZW1wCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRl
ZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlv
bjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RDdXN0b21OYW1lZEdldHRlciIsIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRlc3RDdXN0b21OYW1lZEdldHRl
cjo6aW50ZXJuYWxGaWVsZENvdW50LAogICAgICAgICAwLCAwLAotICAgICAgICBUZXN0Q3VzdG9t
TmFtZWRHZXR0ZXJDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEN1c3RvbU5hbWVkR2V0
dGVyQ2FsbGJhY2tzKSk7CisgICAgICAgIFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tz
LCBXVEZfQVJSQVlfTEVOR1RIKFY4VGVzdEN1c3RvbU5hbWVkR2V0dGVyQ2FsbGJhY2tzKSk7CiAg
ICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJbiBzb21lIGNhc2VzLCBpdCB3
aWxsIG5vdCBiZSB1c2VkLgogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3Rh
bmNlID0gZGVzYy0+SW5zdGFuY2VUZW1wbGF0ZSgpOwogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0
VGVtcGxhdGU+IHByb3RvID0gZGVzYy0+UHJvdG90eXBlVGVtcGxhdGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFdmVudENvbnN0
cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RFdmVudENvbnN0cnVjdG9yLmNwcAppbmRleCA0MmVjNTM1ZTEyNTJlOGE1MTQ1YTdiYzhmNDAx
NDE5OGU3ZThmZjM3Li40MDc0ZTU3MzI0OWJjNWFkNDk5MmYyMjEwNmM5M2Y5NTU5YTdiYTI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
RXZlbnRDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCkBAIC01NCw3ICs1NCw3IEBAIHN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXR0cjJBdHRyR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RFdmVudENvbnN0cnVj
dG9yVjhJbnRlcm5hbAogCi1zdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVk
QXR0cmlidXRlIFRlc3RFdmVudENvbnN0cnVjdG9yQXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBW
OERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjhUZXN0RXZlbnRDb25zdHJ1Y3Rv
ckF0dHJzW10gPSB7CiAgICAgLy8gQXR0cmlidXRlICdhdHRyMScgKFR5cGU6ICdyZWFkb25seSBh
dHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQogICAgIHsiYXR0cjEiLCBUZXN0RXZlbnRDb25zdHJ1Y3Rv
clY4SW50ZXJuYWw6OmF0dHIxQXR0ckdldHRlciwgMCwgMCAvKiBubyBkYXRhICovLCBzdGF0aWNf
Y2FzdDx2ODo6QWNjZXNzQ29udHJvbD4odjg6OkRFRkFVTFQpLCBzdGF0aWNfY2FzdDx2ODo6UHJv
cGVydHlBdHRyaWJ1dGU+KHY4OjpOb25lKSwgMCAvKiBvbiBpbnN0YW5jZSAqL30sCiAgICAgLy8g
QXR0cmlidXRlICdhdHRyMicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICdJ
bml0aWFsaXplZEJ5RXZlbnRDb25zdHJ1Y3RvcicpCkBAIC0xMDIsNyArMTAyLDcgQEAgc3RhdGlj
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RFdmVu
dENvbnN0cnVjdG9yVGVtcGwKIAogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0
U2lnbmF0dXJlOwogICAgIGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRpb246OmNv
bmZpZ3VyZVRlbXBsYXRlKGRlc2MsICJUZXN0RXZlbnRDb25zdHJ1Y3RvciIsIHY4OjpQZXJzaXN0
ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRlc3RFdmVudENvbnN0cnVjdG9yOjppbnRl
cm5hbEZpZWxkQ291bnQsCi0gICAgICAgIFRlc3RFdmVudENvbnN0cnVjdG9yQXR0cnMsIFdURl9B
UlJBWV9MRU5HVEgoVGVzdEV2ZW50Q29uc3RydWN0b3JBdHRycyksCisgICAgICAgIFY4VGVzdEV2
ZW50Q29uc3RydWN0b3JBdHRycywgV1RGX0FSUkFZX0xFTkdUSChWOFRlc3RFdmVudENvbnN0cnVj
dG9yQXR0cnMpLAogICAgICAgICAwLCAwKTsKICAgICBVTlVTRURfUEFSQU0oZGVmYXVsdFNpZ25h
dHVyZSk7IC8vIEluIHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQuCiAgICAgZGVzYy0+
U2V0Q2FsbEhhbmRsZXIoVjhUZXN0RXZlbnRDb25zdHJ1Y3Rvcjo6Y29uc3RydWN0b3JDYWxsYmFj
ayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdEV2ZW50VGFyZ2V0LmNwcAppbmRleCAxODE1ZjZiZmI2NjM5NDMxZjgyYzNk
NWJhYmQ1MjQ3N2Q1M2E4N2E4Li44Y2JhYTJmMDY0ZGE2YjBlOWM1NjhjN2QxMmU4NjE4NDM4MTc0
MTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9WOC9WOFRlc3RFdmVudFRhcmdldC5jcHAKQEAgLTEwMiw3ICsxMDIsNyBAQCBzdGF0
aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGRpc3BhdGNoRXZlbnRDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0RXZlbnRUYXJnZXRWOEludGVy
bmFsCiAKLXN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBU
ZXN0RXZlbnRUYXJnZXRDYWxsYmFja3NbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3Vy
YXRpb246OkJhdGNoZWRDYWxsYmFjayBWOFRlc3RFdmVudFRhcmdldENhbGxiYWNrc1tdID0gewog
ICAgIHsiaXRlbSIsIFRlc3RFdmVudFRhcmdldFY4SW50ZXJuYWw6Oml0ZW1DYWxsYmFja30sCiAg
ICAgeyJhZGRFdmVudExpc3RlbmVyIiwgVGVzdEV2ZW50VGFyZ2V0VjhJbnRlcm5hbDo6YWRkRXZl
bnRMaXN0ZW5lckNhbGxiYWNrfSwKICAgICB7InJlbW92ZUV2ZW50TGlzdGVuZXIiLCBUZXN0RXZl
bnRUYXJnZXRWOEludGVybmFsOjpyZW1vdmVFdmVudExpc3RlbmVyQ2FsbGJhY2t9LApAQCAtMTE1
LDcgKzExNSw3IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4g
Q29uZmlndXJlVjhUZXN0RXZlbnRUYXJnZXRUZW1wbGF0ZSh2CiAgICAgdjg6OkxvY2FsPHY4OjpT
aWduYXR1cmU+IGRlZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9N
Q29uZmlndXJhdGlvbjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RFdmVudFRhcmdldCIs
IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRlc3RFdmVudFRhcmdl
dDo6aW50ZXJuYWxGaWVsZENvdW50LAogICAgICAgICAwLCAwLAotICAgICAgICBUZXN0RXZlbnRU
YXJnZXRDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEV2ZW50VGFyZ2V0Q2FsbGJhY2tz
KSk7CisgICAgICAgIFY4VGVzdEV2ZW50VGFyZ2V0Q2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RI
KFY4VGVzdEV2ZW50VGFyZ2V0Q2FsbGJhY2tzKSk7CiAgICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRT
aWduYXR1cmUpOyAvLyBJbiBzb21lIGNhc2VzLCBpdCB3aWxsIG5vdCBiZSB1c2VkLgogICAgIHY4
OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlID0gZGVzYy0+SW5zdGFuY2VUZW1w
bGF0ZSgpOwogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0VGVtcGxhdGU+IHByb3RvID0gZGVzYy0+
UHJvdG90eXBlVGVtcGxhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RFeGNlcHRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5jcHAKaW5kZXggMDk3Nzc2MWZk
ZWM5NWUzMzI2NzcyOWIxNWYyMjRhYTEyYzgyYzgzMC4uNDUxYzU4ZDc4YTc2Yzc0NWE2YzdlYjZk
ZjM1ZWIwNzM2M2NjY2QxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdEV4Y2VwdGlvbi5jcHAKQEAgLTQ2LDcgKzQ2LDcg
QEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBuYW1lQXR0ckdldHRlcih2ODo6TG9jYWw8
djg6OlN0cmluZz4gbmFtZSwgY29uc3QgdjgKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEV4Y2VwdGlv
blY4SW50ZXJuYWwKIAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0
dHJpYnV0ZSBUZXN0RXhjZXB0aW9uQXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZp
Z3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjhUZXN0RXhjZXB0aW9uQXR0cnNbXSA9IHsKICAg
ICAvLyBBdHRyaWJ1dGUgJ25hbWUnIChUeXBlOiAncmVhZG9ubHkgYXR0cmlidXRlJyBFeHRBdHRy
OiAnJykKICAgICB7Im5hbWUiLCBUZXN0RXhjZXB0aW9uVjhJbnRlcm5hbDo6bmFtZUF0dHJHZXR0
ZXIsIDAsIDAgLyogbm8gZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4
OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSks
IDAgLyogb24gaW5zdGFuY2UgKi99LAogfTsKQEAgLTU3LDcgKzU3LDcgQEAgc3RhdGljIHY4OjpQ
ZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBDb25maWd1cmVWOFRlc3RFeGNlcHRpb25U
ZW1wbGF0ZSh2ODoKIAogICAgIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBkZWZhdWx0U2lnbmF0
dXJlOwogICAgIGRlZmF1bHRTaWduYXR1cmUgPSBWOERPTUNvbmZpZ3VyYXRpb246OmNvbmZpZ3Vy
ZVRlbXBsYXRlKGRlc2MsICJUZXN0RXhjZXB0aW9uIiwgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0
aW9uVGVtcGxhdGU+KCksIFY4VGVzdEV4Y2VwdGlvbjo6aW50ZXJuYWxGaWVsZENvdW50LAotICAg
ICAgICBUZXN0RXhjZXB0aW9uQXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVGVzdEV4Y2VwdGlvbkF0
dHJzKSwKKyAgICAgICAgVjhUZXN0RXhjZXB0aW9uQXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVjhU
ZXN0RXhjZXB0aW9uQXR0cnMpLAogICAgICAgICAwLCAwKTsKICAgICBVTlVTRURfUEFSQU0oZGVm
YXVsdFNpZ25hdHVyZSk7IC8vIEluIHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQuCiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCmluZGV4IGZkMGFjOTE5MWU0OGMyNDYwOWU5Yzg3YWM4
MWY2M2QwM2RjNTZjNmEuLmFjODY4YWI5OWYxMjFlNTZhZDg5YjkxNmFiZGFjNDkxNDFlN2U2NjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRl
c3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RJbnRlcmZhY2UuY3BwCkBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBzdXBwbGVtZW50YWxNZXRob2Q0Q2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXIKIAogfSAvLyBuYW1lc3BhY2UgVGVzdEludGVyZmFjZVY4SW50ZXJuYWwKIAot
c3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0SW50
ZXJmYWNlQXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRBdHRyaWJ1dGUgVjhUZXN0SW50ZXJmYWNlQXR0cnNbXSA9IHsKICNpZiBFTkFCTEUoQ29uZGl0
aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAgICAvLyBBdHRyaWJ1dGUgJ3N1cHBsZW1l
bnRhbFN0YXRpY1JlYWRPbmx5QXR0cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0
dHI6ICdDb25kaXRpb25hbCBJbXBsZW1lbnRlZEJ5JykKICAgICB7InN1cHBsZW1lbnRhbFN0YXRp
Y1JlYWRPbmx5QXR0ciIsIFRlc3RJbnRlcmZhY2VWOEludGVybmFsOjpzdXBwbGVtZW50YWxTdGF0
aWNSZWFkT25seUF0dHJBdHRyR2V0dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0
PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0
eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAwIC8qIG9uIGluc3RhbmNlICovfSwKQEAgLTIxMyw3ICsy
MTMsNyBAQCBzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkQXR0cmlidXRl
IFRlc3RJbnRlcmZhY2VBdHRyc1tdID0gewogI2VuZGlmIC8vIEVOQUJMRShDb25kaXRpb24xMSkg
fHwgRU5BQkxFKENvbmRpdGlvbjEyKQogfTsKIAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJh
dGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RJbnRlcmZhY2VDYWxsYmFja3NbXSA9IHsKK3N0YXRp
YyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBWOFRlc3RJbnRlcmZh
Y2VDYWxsYmFja3NbXSA9IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25k
aXRpb24xMikKICAgICB7InN1cHBsZW1lbnRhbE1ldGhvZDEiLCBUZXN0SW50ZXJmYWNlVjhJbnRl
cm5hbDo6c3VwcGxlbWVudGFsTWV0aG9kMUNhbGxiYWNrfSwKICNlbmRpZgpAQCAtMjIyLDcgKzIy
Miw3IEBAIHN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBU
ZXN0SW50ZXJmYWNlQ2FsbGJhY2tzW10gPSB7CiAjZW5kaWYKIH07CiAKLXN0YXRpYyBjb25zdCBW
OERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDb25zdGFudCBUZXN0SW50ZXJmYWNlQ29uc3RzW10g
PSB7CitzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkQ29uc3RhbnQgVjhU
ZXN0SW50ZXJmYWNlQ29uc3RzW10gPSB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBFTkFC
TEUoQ29uZGl0aW9uMTIpCiAgICAgeyJTVVBQTEVNRU5UQUxDT05TVEFOVDEiLCBzdGF0aWNfY2Fz
dDxzaWduZWQgaW50PigxKX0sCiAjZW5kaWYKQEAgLTI3NSw4ICsyNzUsOCBAQCBzdGF0aWMgdjg6
OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVzdEludGVyZmFj
ZVRlbXBsYXRlKHY4OgogCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRlZmF1bHRTaWdu
YXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlvbjo6Y29uZmln
dXJlVGVtcGxhdGUoZGVzYywgIlRlc3RJbnRlcmZhY2UiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVu
Y3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0SW50ZXJmYWNlOjppbnRlcm5hbEZpZWxkQ291bnQsCi0g
ICAgICAgIFRlc3RJbnRlcmZhY2VBdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0SW50ZXJmYWNl
QXR0cnMpLAotICAgICAgICBUZXN0SW50ZXJmYWNlQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RI
KFRlc3RJbnRlcmZhY2VDYWxsYmFja3MpKTsKKyAgICAgICAgVjhUZXN0SW50ZXJmYWNlQXR0cnMs
IFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0SW50ZXJmYWNlQXR0cnMpLAorICAgICAgICBWOFRlc3RJ
bnRlcmZhY2VDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0SW50ZXJmYWNlQ2FsbGJh
Y2tzKSk7CiAgICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJbiBzb21lIGNh
c2VzLCBpdCB3aWxsIG5vdCBiZSB1c2VkLgogICAgIGRlc2MtPlNldENhbGxIYW5kbGVyKFY4VGVz
dEludGVyZmFjZTo6Y29uc3RydWN0b3JDYWxsYmFjayk7CiAgICAgdjg6OkxvY2FsPHY4OjpPYmpl
Y3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBkZXNjLT5JbnN0YW5jZVRlbXBsYXRlKCk7CkBAIC0yOTUs
NyArMjk1LDcgQEAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBD
b25maWd1cmVWOFRlc3RJbnRlcmZhY2VUZW1wbGF0ZSh2ODoKICNpZiBFTkFCTEUoQ29uZGl0aW9u
MTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKICAgICBkZXNjLT5TZXQodjg6OlN0cmluZzo6TmV3
U3ltYm9sKCJzdXBwbGVtZW50YWxNZXRob2Q0IiksIHY4OjpGdW5jdGlvblRlbXBsYXRlOjpOZXco
VGVzdEludGVyZmFjZVY4SW50ZXJuYWw6OnN1cHBsZW1lbnRhbE1ldGhvZDRDYWxsYmFjaywgdjhV
bmRlZmluZWQoKSwgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+KCkpKTsKICNlbmRpZiAvLyBFTkFC
TEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKLSAgICBWOERPTUNvbmZpZ3Vy
YXRpb246OmJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBUZXN0SW50ZXJmYWNl
Q29uc3RzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RJbnRlcmZhY2VDb25zdHMpKTsKKyAgICBWOERP
TUNvbmZpZ3VyYXRpb246OmJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBWOFRl
c3RJbnRlcmZhY2VDb25zdHMsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0SW50ZXJmYWNlQ29uc3Rz
KSk7CiAKICAgICAvLyBDdXN0b20gdG9TdHJpbmcgdGVtcGxhdGUKICAgICBkZXNjLT5TZXQodjg6
OlN0cmluZzo6TmV3U3ltYm9sKCJ0b1N0cmluZyIpLCBWOFBlcklzb2xhdGVEYXRhOjpjdXJyZW50
KCktPnRvU3RyaW5nVGVtcGxhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5jcHAKaW5kZXggMGVjMzA4ZjJiOTA0NWEzZWY2OWYwOThlNzhkYjU0NjUyMWMz
MGFlMy4uNGIwOWQwYmQyNmFjZTEwNzRiYzFmZTNmNDZkNzliMWU5MjQ3OWMyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcApAQCAtNTIsNyArNTIsNyBA
QCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IG1ldGhvZENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyVjhJbnRlcm5hbAogCi1zdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVk
Q2FsbGJhY2sgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDYWxsYmFja3NbXSA9IHsKK3N0YXRp
YyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDYWxsYmFjayBWOFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ2FsbGJhY2tzW10gPSB7CiAgICAgeyJtZXRob2QiLCBUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lclY4SW50ZXJuYWw6Om1ldGhvZENhbGxiYWNrfSwKIH07CiAKQEAgLTYz
LDcgKzYzLDcgQEAgc3RhdGljIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPiBD
b25maWd1cmVWOFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmUKICAgICB2ODo6TG9jYWw8djg6OlNp
Z25hdHVyZT4gZGVmYXVsdFNpZ25hdHVyZTsKICAgICBkZWZhdWx0U2lnbmF0dXJlID0gVjhET01D
b25maWd1cmF0aW9uOjpjb25maWd1cmVUZW1wbGF0ZShkZXNjLCAiVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIiLCB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6aW50ZXJuYWxGaWVsZENvdW50LAogICAgICAgICAwLCAw
LAotICAgICAgICBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNhbGxiYWNrcywgV1RGX0FSUkFZ
X0xFTkdUSChUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNhbGxiYWNrcykpOworICAgICAgICBW
OFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFY4
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDYWxsYmFja3MpKTsKICAgICBVTlVTRURfUEFSQU0o
ZGVmYXVsdFNpZ25hdHVyZSk7IC8vIEluIHNvbWUgY2FzZXMsIGl0IHdpbGwgbm90IGJlIHVzZWQu
CiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBkZXNjLT5JbnN0
YW5jZVRlbXBsYXRlKCk7CiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RUZW1wbGF0ZT4gcHJvdG8g
PSBkZXNjLT5Qcm90b3R5cGVUZW1wbGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAppbmRleCA3ZWQxY2JkMzFlNGI2
NDRmZjJmZTAxMTE4ZWE5MGQ0YzYyNzI3ZDQwLi5jNDM0MWIyYWVhMjEzYjBjZDIyNDVhNGIwZjky
NWYyNzVlODUzOTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVjgvVjhUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvVjgvVjhUZXN0T2JqLmNwcApAQCAtMTkwMyw3ICsxOTAzLDcgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBzdHJpY3RGdW5jdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RPYmpWOEludGVybmFsCiAKLXN0YXRp
YyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVGVzdE9iakF0dHJz
W10gPSB7CitzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVkQXR0cmlidXRl
IFY4VGVzdE9iakF0dHJzW10gPSB7CiAgICAgLy8gQXR0cmlidXRlICdyZWFkT25seUxvbmdBdHRy
JyAoVHlwZTogJ3JlYWRvbmx5IGF0dHJpYnV0ZScgRXh0QXR0cjogJycpCiAgICAgeyJyZWFkT25s
eUxvbmdBdHRyIiwgVGVzdE9ialY4SW50ZXJuYWw6OnJlYWRPbmx5TG9uZ0F0dHJBdHRyR2V0dGVy
LCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2ODo6
REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUpLCAw
IC8qIG9uIGluc3RhbmNlICovfSwKICAgICAvLyBBdHRyaWJ1dGUgJ3JlYWRPbmx5U3RyaW5nQXR0
cicgKFR5cGU6ICdyZWFkb25seSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQpAQCAtMjAzNCw3ICsy
MDM0LDcgQEAgc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0
ZSBUZXN0T2JqQXR0cnNbXSA9IHsKICAgICB7InJlcGxhY2VhYmxlQXR0cmlidXRlIiwgVGVzdE9i
alY4SW50ZXJuYWw6OnJlcGxhY2VhYmxlQXR0cmlidXRlQXR0ckdldHRlciwgVGVzdE9ialY4SW50
ZXJuYWw6OlRlc3RPYmpSZXBsYWNlYWJsZUF0dHJTZXR0ZXIsIDAgLyogbm8gZGF0YSAqLywgc3Rh
dGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3RhdGljX2Nhc3Q8djg6
OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFuY2UgKi99LAogfTsK
IAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RP
YmpDYWxsYmFja3NbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNo
ZWRDYWxsYmFjayBWOFRlc3RPYmpDYWxsYmFja3NbXSA9IHsKICAgICB7InZvaWRNZXRob2QiLCBU
ZXN0T2JqVjhJbnRlcm5hbDo6dm9pZE1ldGhvZENhbGxiYWNrfSwKICAgICB7Ik1ldGhvZCIsIFRl
c3RPYmpWOEludGVybmFsOjpNZXRob2RDYWxsYmFja30sCiAgICAgeyJvYmpNZXRob2QiLCBUZXN0
T2JqVjhJbnRlcm5hbDo6b2JqTWV0aG9kQ2FsbGJhY2t9LApAQCAtMjA4NCw3ICsyMDg0LDcgQEAg
c3RhdGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZENhbGxiYWNrIFRlc3RPYmpD
YWxsYmFja3NbXSA9IHsKICAgICB7InN0cmljdEZ1bmN0aW9uIiwgVGVzdE9ialY4SW50ZXJuYWw6
OnN0cmljdEZ1bmN0aW9uQ2FsbGJhY2t9LAogfTsKIAotc3RhdGljIGNvbnN0IFY4RE9NQ29uZmln
dXJhdGlvbjo6QmF0Y2hlZENvbnN0YW50IFRlc3RPYmpDb25zdHNbXSA9IHsKK3N0YXRpYyBjb25z
dCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRDb25zdGFudCBWOFRlc3RPYmpDb25zdHNbXSA9
IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKICAgICB7IkNPTkRJVElPTkFMX0NPTlNUIiwgc3Rh
dGljX2Nhc3Q8c2lnbmVkIGludD4oMCl9LAogI2VuZGlmCkBAIC0yMTQ4LDggKzIxNDgsOCBAQCBz
dGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxhdGU+IENvbmZpZ3VyZVY4VGVz
dE9ialRlbXBsYXRlKHY4OjpQZXJzaQogCiAgICAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IGRl
ZmF1bHRTaWduYXR1cmU7CiAgICAgZGVmYXVsdFNpZ25hdHVyZSA9IFY4RE9NQ29uZmlndXJhdGlv
bjo6Y29uZmlndXJlVGVtcGxhdGUoZGVzYywgIlRlc3RPYmplY3QiLCB2ODo6UGVyc2lzdGVudDx2
ODo6RnVuY3Rpb25UZW1wbGF0ZT4oKSwgVjhUZXN0T2JqOjppbnRlcm5hbEZpZWxkQ291bnQsCi0g
ICAgICAgIFRlc3RPYmpBdHRycywgV1RGX0FSUkFZX0xFTkdUSChUZXN0T2JqQXR0cnMpLAotICAg
ICAgICBUZXN0T2JqQ2FsbGJhY2tzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RPYmpDYWxsYmFja3Mp
KTsKKyAgICAgICAgVjhUZXN0T2JqQXR0cnMsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0T2JqQXR0
cnMpLAorICAgICAgICBWOFRlc3RPYmpDYWxsYmFja3MsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0
T2JqQ2FsbGJhY2tzKSk7CiAgICAgVU5VU0VEX1BBUkFNKGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJ
biBzb21lIGNhc2VzLCBpdCB3aWxsIG5vdCBiZSB1c2VkLgogICAgIGRlc2MtPlNldENhbGxIYW5k
bGVyKFY4VGVzdE9iajo6Y29uc3RydWN0b3JDYWxsYmFjayk7CiAgICAgdjg6OkxvY2FsPHY4OjpP
YmplY3RUZW1wbGF0ZT4gaW5zdGFuY2UgPSBkZXNjLT5JbnN0YW5jZVRlbXBsYXRlKCk7CkBAIC0y
MjMzLDcgKzIyMzMsNyBAQCBzdGF0aWMgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uVGVtcGxh
dGU+IENvbmZpZ3VyZVY4VGVzdE9ialRlbXBsYXRlKHY4OjpQZXJzaQogICAgIHY4OjpIYW5kbGU8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGNvbnZlcnQ1QXJndltjb252ZXJ0NUFyZ2NdID0geyBWOGU6
OkdldFJhd1RlbXBsYXRlKCkgfTsKICAgICB2ODo6SGFuZGxlPHY4OjpTaWduYXR1cmU+IGNvbnZl
cnQ1U2lnbmF0dXJlID0gdjg6OlNpZ25hdHVyZTo6TmV3KGRlc2MsIGNvbnZlcnQ1QXJnYywgY29u
dmVydDVBcmd2KTsKICAgICBwcm90by0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiY29udmVy
dDUiKSwgdjg6OkZ1bmN0aW9uVGVtcGxhdGU6Ok5ldyhUZXN0T2JqVjhJbnRlcm5hbDo6Y29udmVy
dDVDYWxsYmFjaywgdjhVbmRlZmluZWQoKSwgY29udmVydDVTaWduYXR1cmUpKTsKLSAgICBWOERP
TUNvbmZpZ3VyYXRpb246OmJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBUZXN0
T2JqQ29uc3RzLCBXVEZfQVJSQVlfTEVOR1RIKFRlc3RPYmpDb25zdHMpKTsKKyAgICBWOERPTUNv
bmZpZ3VyYXRpb246OmJhdGNoQ29uZmlndXJlQ29uc3RhbnRzKGRlc2MsIHByb3RvLCBWOFRlc3RP
YmpDb25zdHMsIFdURl9BUlJBWV9MRU5HVEgoVjhUZXN0T2JqQ29uc3RzKSk7CiAKICAgICAvLyBD
dXN0b20gdG9TdHJpbmcgdGVtcGxhdGUKICAgICBkZXNjLT5TZXQodjg6OlN0cmluZzo6TmV3U3lt
Ym9sKCJ0b1N0cmluZyIpLCBWOFBlcklzb2xhdGVEYXRhOjpjdXJyZW50KCktPnRvU3RyaW5nVGVt
cGxhdGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVjgvVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFs
dWVJbnRlcmZhY2UuY3BwCmluZGV4IDRkMTRkMmJlNTliOTEyMjhlMjhmZjVkZjNmMjg0Zjg2ZDI0
YTAwMDYuLmYyZjRjYmEyMWY4ZGNiNmUyNDUwNGZhMTRlZDE5ZWJmMjg0NDRjYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxp
emVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3Bw
CkBAIC0xODksNyArMTg5LDcgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBtdWx0aVRy
YW5zZmVyTGlzdENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKIAogfSAvLyBuYW1l
c3BhY2UgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWwKIAotc3Rh
dGljIGNvbnN0IFY4RE9NQ29uZmlndXJhdGlvbjo6QmF0Y2hlZEF0dHJpYnV0ZSBUZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQXR0cnNbXSA9IHsKK3N0YXRpYyBjb25zdCBWOERPTUNv
bmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlQXR0cnNbXSA9IHsKICAgICAvLyBBdHRyaWJ1dGUgJ3ZhbHVlJyAoVHlwZTogJ2F0
dHJpYnV0ZScgRXh0QXR0cjogJycpCiAgICAgeyJ2YWx1ZSIsIFRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjp2YWx1ZUF0dHJHZXR0ZXIsIFRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2VWOEludGVybmFsOjp2YWx1ZUF0dHJTZXR0ZXIsIDAgLyogbm8g
ZGF0YSAqLywgc3RhdGljX2Nhc3Q8djg6OkFjY2Vzc0NvbnRyb2w+KHY4OjpERUZBVUxUKSwgc3Rh
dGljX2Nhc3Q8djg6OlByb3BlcnR5QXR0cmlidXRlPih2ODo6Tm9uZSksIDAgLyogb24gaW5zdGFu
Y2UgKi99LAogICAgIC8vIEF0dHJpYnV0ZSAncmVhZG9ubHlWYWx1ZScgKFR5cGU6ICdyZWFkb25s
eSBhdHRyaWJ1dGUnIEV4dEF0dHI6ICcnKQpAQCAtMjAyLDcgKzIwMiw3IEBAIHN0YXRpYyBjb25z
dCBWOERPTUNvbmZpZ3VyYXRpb246OkJhdGNoZWRBdHRyaWJ1dGUgVGVzdFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZUludGVyCiAgICAgeyJjYWNoZWRSZWFkb25seVZhbHVlIiwgVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZVY4SW50ZXJuYWw6OmNhY2hlZFJlYWRvbmx5VmFsdWVBdHRyR2V0
dGVyLCAwLCAwIC8qIG5vIGRhdGEgKi8sIHN0YXRpY19jYXN0PHY4OjpBY2Nlc3NDb250cm9sPih2
ODo6REVGQVVMVCksIHN0YXRpY19jYXN0PHY4OjpQcm9wZXJ0eUF0dHJpYnV0ZT4odjg6Ok5vbmUp
LCAwIC8qIG9uIGluc3RhbmNlICovfSwKIH07CiAKLXN0YXRpYyBjb25zdCBWOERPTUNvbmZpZ3Vy
YXRpb246OkJhdGNoZWRDYWxsYmFjayBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
Q2FsbGJhY2tzW10gPSB7CitzdGF0aWMgY29uc3QgVjhET01Db25maWd1cmF0aW9uOjpCYXRjaGVk
Q2FsbGJhY2sgVjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlQ2FsbGJhY2tzW10g
PSB7CiAgICAgeyJhY2NlcHRUcmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlVjhJbnRlcm5hbDo6YWNjZXB0VHJhbnNmZXJMaXN0Q2FsbGJhY2t9LAogICAgIHsi
bXVsdGlUcmFuc2Zlckxpc3QiLCBUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlVjhJ
bnRlcm5hbDo6bXVsdGlUcmFuc2Zlckxpc3RDYWxsYmFja30sCiB9OwpAQCAtMjQ0LDggKzI0NCw4
IEBAIHN0YXRpYyB2ODo6UGVyc2lzdGVudDx2ODo6RnVuY3Rpb25UZW1wbGF0ZT4gQ29uZmlndXJl
VjhUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlCiAKICAgICB2ODo6TG9jYWw8djg6OlNpZ25hdHVy
ZT4gZGVmYXVsdFNpZ25hdHVyZTsKICAgICBkZWZhdWx0U2lnbmF0dXJlID0gVjhET01Db25maWd1
cmF0aW9uOjpjb25maWd1cmVUZW1wbGF0ZShkZXNjLCAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZSIsIHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvblRlbXBsYXRlPigpLCBWOFRl
c3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2U6OmludGVybmFsRmllbGRDb3VudCwKLSAg
ICAgICAgVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUF0dHJzLCBXVEZfQVJSQVlf
TEVOR1RIKFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VBdHRycyksCi0gICAgICAg
IFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDYWxsYmFja3MsIFdURl9BUlJBWV9M
RU5HVEgoVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNhbGxiYWNrcykpOworICAg
ICAgICBWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VBdHRycywgV1RGX0FSUkFZ
X0xFTkdUSChWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VBdHRycyksCisgICAg
ICAgIFY4VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZUNhbGxiYWNrcywgV1RGX0FS
UkFZX0xFTkdUSChWOFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VDYWxsYmFja3Mp
KTsKICAgICBVTlVTRURfUEFSQU0oZGVmYXVsdFNpZ25hdHVyZSk7IC8vIEluIHNvbWUgY2FzZXMs
IGl0IHdpbGwgbm90IGJlIHVzZWQuCiAgICAgZGVzYy0+U2V0Q2FsbEhhbmRsZXIoVjhUZXN0U2Vy
aWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlOjpjb25zdHJ1Y3RvckNhbGxiYWNrKTsKICAgICB2
ODo6TG9jYWw8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSA9IGRlc2MtPkluc3RhbmNlVGVt
cGxhdGUoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>