<?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>65726</bug_id>
          
          <creation_ts>2011-08-04 15:32:45 -0700</creation_ts>
          <short_desc>REGRESSION(r92419): &quot;committed partially to branch&quot; (Requested by thorton on #webkit).</short_desc>
          <delta_ts>2011-08-04 15:42:50 -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>62599</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>446836</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 15:32:45 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/92419 broke the build:
&quot;committed partially to branch&quot; (Requested by thorton on #webkit).

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

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446837</commentid>
    <comment_count>1</comment_count>
      <attachid>102993</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 15:33:16 -0700</bug_when>
    <thetext>Created attachment 102993
ROLLOUT of r92419

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

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

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446840</commentid>
    <comment_count>2</comment_count>
      <attachid>102993</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 15:34:47 -0700</bug_when>
    <thetext>Comment on attachment 102993
ROLLOUT of r92419

Rejecting attachment 102993 from commit-queue.

timothy_horton@apple.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446847</commentid>
    <comment_count>3</comment_count>
      <attachid>102993</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 15:42:46 -0700</bug_when>
    <thetext>Comment on attachment 102993
ROLLOUT of r92419

Clearing flags on attachment: 102993

Committed r92422: &lt;http://trac.webkit.org/changeset/92422&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446848</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 15:42:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102993</attachid>
            <date>2011-08-04 15:33:16 -0700</date>
            <delta_ts>2011-08-04 15:42:46 -0700</delta_ts>
            <desc>ROLLOUT of r92419</desc>
            <filename>bug-65726-20110804223257.patch</filename>
            <type>text/plain</type>
            <size>66700</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI0MTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYjZmYTFiN2YxYzY5NzM2NzEzNGY3
ODExZmFiYjliYzMwODg3ODAyLi5jY2YyNjYzZWM0NTcwMTk1MzRmY2EwNTRmYzI5NTBmNzI3YjEw
MDBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTEtMDgtMDQgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI5MjQxOS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTI0
MTkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzI2
CisKKyAgICAgICAgImNvbW1pdHRlZCBwYXJ0aWFsbHkgdG8gYnJhbmNoIiAoUmVxdWVzdGVkIGJ5
IHRob3J0b24gb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS13aW4vc3ZnL2hpeGllL2Vycm9yLzAxMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMDEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDA3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxMy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAwNy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDE1LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9zdmcvaGl4aWUvZXJyb3IvMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9zdmcvaGl4aWUvZXJyb3IvMDA3LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9zdmcvaGl4aWUvZXJyb3IvMDEzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9zdmcvaGl4aWUvZXJyb3IvMDE1LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL2ludmFsaWQtbGVuZ3RoLXVuaXRzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy0xLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy0yLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy0zLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy00LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy01LWV4cGVjdGVkLnR4dDoKKwogMjAx
MS0wOC0wNCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdmcvaGl4aWUvZXJyb3IvMDEzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdmcvaGl4aWUvZXJyb3IvMDEzLWV4
cGVjdGVkLnR4dAppbmRleCA0YTFkMjgzZmE3YjA5ZGJlNDlhYWNiMmRlYmI1NGM4NDc4MWVlNTJm
Li4yNjhkZjFiNzU4OTQzOTEwNGFjMTkxZDAwNTIyZGExMTRhZWIzMDljIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3ZnL2hpeGllL2Vycm9yLzAxMy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N2Zy9oaXhp
ZS9lcnJvci8wMTMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHdpZHRoPSItMTAwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBFcnJvcjogQSBuZWdh
dGl2ZSB2YWx1ZSBmb3Igc3ZnIGF0dHJpYnV0ZSA8d2lkdGg+IGlzIG5vdCBhbGxvd2VkCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDEwNQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMDEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMDEtZXhwZWN0ZWQudHh0CmluZGV4IGJi
YTY4ZTJhMzVmMmI0YWQzY2E1OGFhMDcxOTY1ZjE2NWM0NTg5NmQuLmRiMjIwNDQ3NjUyODZkZGJl
YzJiMjFlZjJlMDI3MDc2ZTRkMGU0NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9zdmcvaGl4aWUvZXJyb3IvMDAxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAwMS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwz
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzogRXJyb3I6IEludmFsaWQgdmFsdWUgZm9yIDxj
aXJjbGU+IGF0dHJpYnV0ZSByPSJyIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3Iv
MDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJy
b3IvMDA3LWV4cGVjdGVkLnR4dAppbmRleCBiYzMwMThjNGI3OGM3NDY1NDM1ZTY1YjQxMTE1ZDM1
ZDM5OTI1MGE2Li43NWMzN2UyN2U1MWI0MGJiNjUxOTk0YmU5MmYwMjNiM2VmYThmNWY4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAwNy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8w
MDctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6
IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8cmVjdD4gYXR0cmlidXRlIHdpZHRo
PSItMjAwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVl
IGZvciByZWN0IDx3aWR0aD4gaXMgbm90IGFsbG93ZWQKIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3ZnL2hp
eGllL2Vycm9yLzAxMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvc3Zn
L2hpeGllL2Vycm9yLzAxMy1leHBlY3RlZC50eHQKaW5kZXggYzU1ZGZmZTFmNjM3ODFkYzU3NTQ3
N2I4NWU2MDk1YmYyZmMxYzA1ZC4uZmRiYzgwODNhZTBmYTgxNDQ0OWM2MjIwZTdmMTAzMTEyZDFi
MTAxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJv
ci8wMTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4
aWUvZXJyb3IvMDEzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSAxMDogRXJyb3I6IEludmFsaWQgbmVnYXRpdmUgdmFsdWUgZm9yIDxzdmc+IGF0dHJp
YnV0ZSB3aWR0aD0iLTEwMCIKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDogRXJyb3I6IEEgbmVn
YXRpdmUgdmFsdWUgZm9yIHN2ZyBhdHRyaWJ1dGUgPHdpZHRoPiBpcyBub3QgYWxsb3dlZAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxMDIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDE1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9zdmcvaGl4aWUvZXJyb3IvMDE1LWV4cGVjdGVkLnR4dAppbmRleCBl
ZmYxNWZiMDVlNGEwN2UzY2E5Y2RjN2M1ZmJiMjVmM2NiYWNkY2IxLi4zMjRjM2VkNzEwY2RhMWE0
ZjJhNTI0OTZhMTE1NDZlMDU1ZGI3ZTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvc3ZnL2hpeGllL2Vycm9yLzAxNS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL3N2Zy9oaXhpZS9lcnJvci8wMTUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
MyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8
cmVjdD4gYXR0cmlidXRlIHdpZHRoPSIgMzAwIgogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXpl
IDMwMHgyMDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUv
ZXJyb3IvMDAxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4
aWUvZXJyb3IvMDAxLWV4cGVjdGVkLnR4dAppbmRleCBiYmE2OGUyYTM1ZjJiNGFkM2NhNThhYTA3
MTk2NWYxNjVjNDU4OTZkLi5kYjIyMDQ0NzY1Mjg2ZGRiZWMyYjIxZWYyZTAyNzA3NmU0ZDBlNDVl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAw
MS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9l
cnJvci8wMDEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8Y2lyY2xlPiBhdHRyaWJ1dGUgcj0iciIK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAwNy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAwNy1leHBlY3RlZC50eHQKaW5k
ZXggYmMzMDE4YzRiNzhjNzQ2NTQzNWU2NWI0MTExNWQzNWQzOTkyNTBhNi4uNzVjMzdlMjdlNTFi
NDBiYjY1MTk5NGJlOTJmMDIzYjNlZmE4ZjVmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMDctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDA3LWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA0OiBFcnJvcjogSW52YWxpZCBuZWdhdGl2
ZSB2YWx1ZSBmb3IgPHJlY3Q+IGF0dHJpYnV0ZSB3aWR0aD0iLTIwMCIKK0NPTlNPTEUgTUVTU0FH
RTogbGluZSA0OiBFcnJvcjogQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgcmVjdCA8d2lkdGg+IGlzIG5v
dCBhbGxvd2VkCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8wMTMtZXhwZWN0
ZWQudHh0CmluZGV4IGE3ZTQ3NGNmNjFjODkyOWM3M2Q5MzkwYjU0M2Y2Mjk0NjYwNjA2ZWEuLjE1
YzM2YzczOGU0MTcxMWZlOTI1MzdmZjY3N2Q1OGViNjM2NDVkYjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZXJyb3IvMDEzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2Vycm9yLzAxMy1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTA6IEVycm9yOiBJbnZh
bGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8c3ZnPiBhdHRyaWJ1dGUgd2lkdGg9Ii0xMDAiCitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTA6IEVycm9yOiBBIG5lZ2F0aXZlIHZhbHVlIGZvciBzdmcgYXR0
cmlidXRlIDx3aWR0aD4gaXMgbm90IGFsbG93ZWQKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4MTAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGll
L2Vycm9yLzAxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hp
eGllL2Vycm9yLzAxNS1leHBlY3RlZC50eHQKaW5kZXggZWZmMTVmYjA1ZTRhMDdlM2NhOWNkYzdj
NWZiYjI1ZjNjYmFjZGNiMS4uMzI0YzNlZDcxMGNkYTFhNGYyYTUyNDk2YTExNTQ2ZTA1NWRiN2U5
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9lcnJvci8w
MTUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUv
ZXJyb3IvMDE1LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHJlY3Q+IGF0dHJpYnV0ZSB3aWR0aD0i
IDMwMCIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMDB4MjAwCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvaGl4aWUvZXJyb3IvMDAxLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9oaXhpZS9lcnJvci8wMDEtZXhwZWN0ZWQudHh0
CmluZGV4IGJiYTY4ZTJhMzVmMmI0YWQzY2E1OGFhMDcxOTY1ZjE2NWM0NTg5NmQuLmRiMjIwNDQ3
NjUyODZkZGJlYzJiMjFlZjJlMDI3MDc2ZTRkMGU0NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L3N2Zy9oaXhpZS9lcnJvci8wMDEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9oaXhpZS9lcnJvci8wMDEtZXhwZWN0ZWQudHh0CkBAIC0x
LDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM6IEVycm9yOiBJbnZhbGlkIHZhbHVl
IGZvciA8Y2lyY2xlPiBhdHRyaWJ1dGUgcj0iciIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcvaGl4aWUv
ZXJyb3IvMDA3LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9oaXhp
ZS9lcnJvci8wMDctZXhwZWN0ZWQudHh0CmluZGV4IGJjMzAxOGM0Yjc4Yzc0NjU0MzVlNjViNDEx
MTVkMzVkMzk5MjUwYTYuLjc1YzM3ZTI3ZTUxYjQwYmI2NTE5OTRiZTkyZjAyM2IzZWZhOGY1Zjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9oaXhpZS9lcnJvci8wMDct
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9oaXhpZS9lcnJv
ci8wMDctZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDQ6IEVycm9yOiBJbnZhbGlkIG5lZ2F0aXZlIHZhbHVlIGZvciA8cmVjdD4gYXR0cmlidXRlIHdp
ZHRoPSItMjAwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6IEVycm9yOiBBIG5lZ2F0aXZlIHZh
bHVlIGZvciByZWN0IDx3aWR0aD4gaXMgbm90IGFsbG93ZWQKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9zdmcv
aGl4aWUvZXJyb3IvMDEzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2
Zy9oaXhpZS9lcnJvci8wMTMtZXhwZWN0ZWQudHh0CmluZGV4IDJiZjVhY2JmYmEwOTVhODFkYzRk
MTk2MzA1MjdhNzU5ZjRmMmMzZTYuLjAxMmFmMWE3MjVjMzM4NDM2MjFjNzU4ZjZlZjY3Nzc1OTQx
NDcwYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9oaXhpZS9lcnJv
ci8wMTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3N2Zy9oaXhp
ZS9lcnJvci8wMTMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDEwOiBFcnJvcjogSW52YWxpZCBuZWdhdGl2ZSB2YWx1ZSBmb3IgPHN2Zz4gYXR0cmli
dXRlIHdpZHRoPSItMTAwIgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwOiBFcnJvcjogQSBuZWdh
dGl2ZSB2YWx1ZSBmb3Igc3ZnIGF0dHJpYnV0ZSA8d2lkdGg+IGlzIG5vdCBhbGxvd2VkCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDExMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvc3ZnL2hpeGllL2Vycm9yLzAxNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9zdmcvaGl4aWUvZXJyb3IvMDE1LWV4cGVjdGVkLnR4dAppbmRleCBlZmYx
NWZiMDVlNGEwN2UzY2E5Y2RjN2M1ZmJiMjVmM2NiYWNkY2IxLi4zMjRjM2VkNzEwY2RhMWE0ZjJh
NTI0OTZhMTE1NDZlMDU1ZGI3ZTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9zdmcvaGl4aWUvZXJyb3IvMDE1LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9zdmcvaGl4aWUvZXJyb3IvMDE1LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA2OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHJlY3Q+
IGF0dHJpYnV0ZSB3aWR0aD0iIDMwMCIKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMDB4
MjAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2ludmFsaWQtbGVuZ3RoLXVu
aXRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW52YWxpZC1sZW5ndGgt
dW5pdHMtZXhwZWN0ZWQudHh0CmluZGV4IDQ1Y2U5NWFhNmYxNWNiYWI2YmM5NjNlOGM1NmU3Yjcx
OGMwYTQzYTcuLjc1MTJhZTE2MjlkMmIzNzViMjBjOGQzNTZhYmUyYTljNTQwYzc0OWEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW52YWxpZC1sZW5ndGgtdW5pdHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vaW52YWxpZC1sZW5ndGgtdW5pdHMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDEzICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHJlY3Q+IGF0dHJpYnV0ZSB4PSIgIgotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8cmVjdD4gYXR0cmlidXRl
IHg9ImZvbyIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBm
b3IgPHJlY3Q+IGF0dHJpYnV0ZSB4PSIxMGZvbyIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBF
cnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHJlY3Q+IGF0dHJpYnV0ZSB4PSJweCIKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSA5OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPHJlY3Q+IGF0dHJpYnV0
ZSB4PSIxMHB4ICIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA5OiBFcnJvcjogSW52YWxpZCB2YWx1
ZSBmb3IgPHJlY3Q+IGF0dHJpYnV0ZSB4PSIxMCUgIgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6
IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8cmVjdD4gYXR0cmlidXRlIHg9IjEwICUgIgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8cmVjdD4gYXR0
cmlidXRlIHg9IjEwICUiCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgOTogRXJyb3I6IEludmFsaWQg
dmFsdWUgZm9yIDxyZWN0PiBhdHRyaWJ1dGUgeD0iMTAgcHggIgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDk6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8cmVjdD4gYXR0cmlidXRlIHg9IjEwIHB4
IgogVGVzdHMgaGFuZGxpbmcgb2YgaW52YWxpZCBTVkcgbGVuZ3RoIHVuaXRzLgogCiBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2
Zy1wYXJzZS1vdmVyZmxvdy0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20v
c3ZnLXBhcnNlLW92ZXJmbG93LTEtZXhwZWN0ZWQudHh0CmluZGV4IGZmNzQ3ZjM0OTRlODNhMjNh
M2JiNTU1M2E5YjQxMDhmZWExOTBiZjguLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdi
ZGVkMDhiZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92
ZXJmbG93LTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBh
cnNlLW92ZXJmbG93LTEtZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEgQEAKLUNPTlNPTEUgTUVTU0FH
RTogbGluZSA4OiBFcnJvcjogSW52YWxpZCB2YWx1ZSBmb3IgPGZvcmVpZ25PYmplY3Q+IGF0dHJp
YnV0ZSB5PSIxMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctMi1l
eHBlY3RlZC50eHQKaW5kZXggN2Y0Yzc1ZjM0NjNjZDM4OWFiODdkN2E0NzhhNmI3NjVhNmUxMTc4
OC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctMi1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctMi1leHBlY3Rl
ZC50eHQKQEAgLTEsMiArMSBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDg6IEVycm9yOiBJbnZh
bGlkIHZhbHVlIGZvciA8cmVjdD4gYXR0cmlidXRlIGhlaWdodD0iLTEwNTAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZsb3ctMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy0zLWV4cGVjdGVkLnR4dAppbmRleCA5ODY4MDli
MDQ0ZWQyMWMzOWY4YWMxMDA0YzllMWQyZTk1YjU4MjZhLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4
ZTY0YjBhYWQ3YmRlZDA4YmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2
Zy1wYXJzZS1vdmVyZmxvdy0zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy0zLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxIEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTM6IEVycm9yOiBJbnZhbGlkIHZhbHVlIGZvciA8cmVjdD4gYXR0
cmlidXRlIGhlaWdodD0iMTA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxv
dy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJm
bG93LTQtZXhwZWN0ZWQudHh0CmluZGV4IGUzYmI4M2NiN2ZjOTQ2OTg0ZmUzZjdkMzI3M2JkZGVl
OTViNjEyN2EuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXBhcnNlLW92ZXJmbG93LTQt
ZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA4OiBFcnJv
cjogSW52YWxpZCB2YWx1ZSBmb3IgPGZvcmVpZ25PYmplY3Q+IGF0dHJpYnV0ZSB5PSIxMDUuMGU1
MCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmctcGFyc2Utb3ZlcmZs
b3ctNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVy
Zmxvdy01LWV4cGVjdGVkLnR4dAppbmRleCBhMmM1NGZjOTM3YWFlODVkNzI4MzExNzQzOTVhZGUx
N2RhYzJkMjMwLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy01LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy1wYXJzZS1vdmVyZmxvdy01
LWV4cGVjdGVkLnR4dApAQCAtMSwyICsxIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgODogRXJy
b3I6IEludmFsaWQgdmFsdWUgZm9yIDxmb3JlaWduT2JqZWN0PiBhdHRyaWJ1dGUgeT0iMTA1LjBl
NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDFmNWE0OGEzOGM4NjU2YWI4M2RkNTEwYTQ5ZjQ2MzcyZjk2MjMyYjguLmI5
ZjlkNjk4ZTBiYzk3MzY2ZGZkNmQ3ZDczYjhjMjVkOTEzMTgzYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0OSBAQAorMjAxMS0wOC0wNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjkyNDE5LgorICAg
ICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85MjQxOQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MjYKKworICAgICAgICAiY29t
bWl0dGVkIHBhcnRpYWxseSB0byBicmFuY2giIChSZXF1ZXN0ZWQgYnkgdGhvcnRvbiBvbgorICAg
ICAgICAjd2Via2l0KS4KKworICAgICAgICAqIHN2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0NpcmNsZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToK
KyAgICAgICAgKiBzdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdDdXJzb3JFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NW
R0VsbGlwc2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsbGlwc2VFbGVtZW50
OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvcmVpZ25PYmplY3RFbGVt
ZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR0ltYWdlRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTGluZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTGluZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBz
dmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xp
bmVhckdyYWRpZW50RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2
Zy9TVkdNYXJrZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01hcmtlckVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAg
KiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAq
IHN2Zy9TVkdSZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZWN0RWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NWR0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1RleHRDb250ZW50RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAg
ICAgICAqIHN2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
VGV4dFBhdGhFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NW
R1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUpOgorCiAyMDExLTA4LTA0ICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEJhY2tncm91bmQgRG9lcyBOb3QgU2NhbGUgQ29ycmVjdGx5
IHdpdGggUGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwCmluZGV4IDJh
ZTY5Yjg3ZmQ2M2Q2NWNkNGNjYzEzMDhhMDJhMGQ3NDE0YTU2ZTcuLjk0MTExOTFhOGZkYjRhNTI0
NDc5Y2QxMDhlZmY1YTQ3MTI0YzQ3NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdDaXJjbGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxl
bWVudC5jcHAKQEAgLTI0LDEyICsyNCwxMCBAQAogI2luY2x1ZGUgIlNWR0NpcmNsZUVsZW1lbnQu
aCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgotI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHUGF0aC5oIgogI2lu
Y2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudEluc3RhbmNl
LmgiCi0jaW5jbHVkZSAiU1ZHRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHTGVuZ3RoLmgiCiAj
aW5jbHVkZSAiU1ZHTmFtZXMuaCIKIApAQCAtODEsMjMgKzc5LDM2IEBAIGJvb2wgU1ZHQ2lyY2xl
RWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5h
bWUpCiAKIHZvaWQgU1ZHQ2lyY2xlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmli
dXRlKiBhdHRyKQogewotICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZUVycm9yID0gTm9FcnJvcjsK
LQotICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ci0+bmFtZSgpKSkKKyAgICBpZiAo
IWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHItPm5hbWUoKSkpIHsKICAgICAgICAgU1ZHU3R5bGVk
VHJhbnNmb3JtYWJsZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwotICAgIGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6Y3hBdHRyKQotICAgICAgICBzZXRDeEJh
c2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVl
KCksIHBhcnNlRXJyb3IpKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6
OmN5QXR0cikKLSAgICAgICAgc2V0Q3lCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVu
Z3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYg
KGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6ckF0dHIpCi0gICAgICAgIHNldFJCYXNlVmFsdWUo
U1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZU90aGVyLCBhdHRyLT52YWx1ZSgpLCBwYXJz
ZUVycm9yLCBGb3JiaWROZWdhdGl2ZUxlbmd0aHMpKTsKLSAgICBlbHNlIGlmIChTVkdUZXN0czo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikKLSAgICAgICAgICAgICB8fCBTVkdMYW5nU3BhY2U6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpCi0gICAgICAgICAgICAgfHwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpIHsKLSAgICB9IGVs
c2UKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0KLSAgICByZXBvcnRBdHRyaWJ1dGVQ
YXJzaW5nRXJyb3IocGFyc2VFcnJvciwgYXR0cik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpjeEF0dHIpIHsKKyAgICAgICAgc2V0
Q3hCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSkpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6Y3lBdHRyKSB7CisgICAgICAgIHNldEN5QmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2Rl
SGVpZ2h0LCBhdHRyLT52YWx1ZSgpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBp
ZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpyQXR0cikgeworICAgICAgICBzZXRSQmFzZVZh
bHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlT3RoZXIsIGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAg
aWYgKHJCYXNlVmFsdWUoKS52YWx1ZSh0aGlzKSA8IDAuMCkKKyAgICAgICAgICAgIGRvY3VtZW50
KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUg
Zm9yIGNpcmNsZSA8cj4gaXMgbm90IGFsbG93ZWQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAg
IHJldHVybjsKKyAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRy
KSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHZvaWQgU1ZHQ2lyY2xlRWxlbWVudDo6c3ZnQXR0cmli
dXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAppbmRleCA1M2RmMjk1ODM4ZWY2ZDBiOWViMDdiNjMyZDlj
ZWY2N2M2OGU3NWE0Li5jMDgzZGI0NDMxOGQzOTM3YmYwNDE2OGIzNzg2M2ZiZjg5MmJkNzhkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwCkBAIC04MCwyMSArODAsMjkg
QEAgYm9vbCBTVkdDdXJzb3JFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyTmFtZSkKIAogdm9pZCBTVkdDdXJzb3JFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiB7Ci0gICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNl
RXJyb3IgPSBOb0Vycm9yOwotCi0gICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyLT5u
YW1lKCkpKQorICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ci0+bmFtZSgpKSkgewog
ICAgICAgICBTVkdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLSAgICBlbHNl
IGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnhBdHRyKQotICAgICAgICBzZXRYQmFzZVZh
bHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSwg
cGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eUF0
dHIpCi0gICAgICAgIHNldFlCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9k
ZUhlaWdodCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKFNWR1Rl
c3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKQotICAgICAgICAgICAgIHx8IFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpCi0gICAgICAg
ICAgICAgfHwgU1ZHVVJJUmVmZXJlbmNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgewot
ICAgIH0gZWxzZQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnhBdHRyKSB7Cisg
ICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFs
dWUoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9
PSBTVkdOYW1lczo6eUF0dHIpIHsKKyAgICAgICAgc2V0WUJhc2VWYWx1ZShTVkdMZW5ndGgoTGVu
Z3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQog
ICAgIAotICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihwYXJzZUVycm9yLCBhdHRyKTsK
KyAgICBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICBy
ZXR1cm47CisgICAgaWYgKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGF0dHIpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFNWR1VSSVJlZmVyZW5j
ZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIHJldHVybjsKKworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIFNWR0N1cnNvckVsZW1lbnQ6OmFkZENsaWVu
dChTVkdFbGVtZW50KiBlbGVtZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsbGlwc2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVu
dC5jcHAKaW5kZXggY2VhMDY2ZDExODg4NjE1YTYzZjAwYTM4MTUyNGQxMjI4MDZiNGNmMy4uMmNl
ZTMyZDFmODFmYzM3NTljMGQ5MGZmODkwMWEzNzQxNDBjMTEzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCkBAIC04MywyNSArODMsNDMgQEAgYm9vbCBTVkdFbGxp
cHNlRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
ck5hbWUpCiAKIHZvaWQgU1ZHRWxsaXBzZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0
dHJpYnV0ZSogYXR0cikKIHsKLSAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VFcnJvciA9IE5vRXJy
b3I7Ci0KLSAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHItPm5hbWUoKSkpCisgICAg
aWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyLT5uYW1lKCkpKSB7CiAgICAgICAgIFNWR1N0
eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLSAg
ICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmN4QXR0cikKLSAgICAgICAgc2V0
Q3hCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52
YWx1ZSgpLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05h
bWVzOjpjeUF0dHIpCi0gICAgICAgIHNldEN5QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0
KExlbmd0aE1vZGVIZWlnaHQsIGF0dHItPnZhbHVlKCksIHBhcnNlRXJyb3IpKTsKLSAgICBlbHNl
IGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnJ4QXR0cikKLSAgICAgICAgc2V0UnhCYXNl
VmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgp
LCBwYXJzZUVycm9yLCBGb3JiaWROZWdhdGl2ZUxlbmd0aHMpKTsKLSAgICBlbHNlIGlmIChhdHRy
LT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnJ5QXR0cikKLSAgICAgICAgc2V0UnlCYXNlVmFsdWUoU1ZH
TGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VF
cnJvciwgRm9yYmlkTmVnYXRpdmVMZW5ndGhzKSk7Ci0gICAgZWxzZSBpZiAoU1ZHVGVzdHM6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpCi0gICAgICAgICAgICAgfHwgU1ZHTGFuZ1NwYWNlOjpw
YXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKQotICAgICAgICAgICAgIHx8IFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKSB7Ci0gICAgfSBlbHNl
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCi0gICAgcmVwb3J0QXR0cmlidXRlUGFy
c2luZ0Vycm9yKHBhcnNlRXJyb3IsIGF0dHIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6Y3hBdHRyKSB7CisgICAgICAgIHNldEN4
QmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVlKCkpKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6
OmN5QXR0cikgeworICAgICAgICBzZXRDeUJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZUhl
aWdodCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg
KGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cnhBdHRyKSB7CisgICAgICAgIHNldFJ4QmFzZVZh
bHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAg
aWYgKHJ4QmFzZVZhbHVlKCkudmFsdWUodGhpcykgPCAwLjApCisgICAgICAgICAgICBkb2N1bWVu
dCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPnJlcG9ydEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVl
IGZvciBlbGxpcHNlIDxyeD4gaXMgbm90IGFsbG93ZWQiKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnJ5QXR0cikgeworICAgICAg
ICBzZXRSeUJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUo
KSkpOworICAgICAgICBpZiAocnlCYXNlVmFsdWUoKS52YWx1ZSh0aGlzKSA8IDAuMCkKKyAgICAg
ICAgICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVwb3J0RXJyb3IoIkEg
bmVnYXRpdmUgdmFsdWUgZm9yIGVsbGlwc2UgPHJ5PiBpcyBub3QgYWxsb3dlZCIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZShhdHRyKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBTVkdFbGxpcHNl
RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFt
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAppbmRleCBkNjBhNmE4ZTQ2
ZDk3NjBiMTJjZTYxZDJjYWVjMDdlZTMxODg0MzY0Li45NzE2MDAyOWNiNjU3OWU3YzVhM2ExYmY4
MTM3MmY2YjM3YWU2NmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVy
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3Bw
CkBAIC0xMjIsNDAgKzEyMiw2MyBAQCBib29sIFNWR0ZpbHRlckVsZW1lbnQ6OmlzU3VwcG9ydGVk
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogCiB2b2lkIFNWR0ZpbHRl
ckVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIHsKLSAgICBT
VkdQYXJzaW5nRXJyb3IgcGFyc2VFcnJvciA9IE5vRXJyb3I7Ci0gICAgY29uc3QgQXRvbWljU3Ry
aW5nJiB2YWx1ZSA9IGF0dHItPnZhbHVlKCk7Ci0KLSAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmli
dXRlKGF0dHItPm5hbWUoKSkpCisgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyLT5u
YW1lKCkpKSB7CiAgICAgICAgIFNWR1N0eWxlZEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KGF0dHIpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6ZmlsdGVyVW5p
dHNBdHRyKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBjb25zdCBBdG9taWNTdHJp
bmcmIHZhbHVlID0gYXR0ci0+dmFsdWUoKTsKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05h
bWVzOjpmaWx0ZXJVbml0c0F0dHIpIHsKICAgICAgICAgU1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlw
ZSBwcm9wZXJ0eVZhbHVlID0gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0
VHlwZT46OmZyb21TdHJpbmcodmFsdWUpOwogICAgICAgICBpZiAocHJvcGVydHlWYWx1ZSA+IDAp
CiAgICAgICAgICAgICBzZXRGaWx0ZXJVbml0c0Jhc2VWYWx1ZShwcm9wZXJ0eVZhbHVlKTsKLSAg
ICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cHJpbWl0aXZlVW5pdHNBdHRy
KSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNW
R05hbWVzOjpwcmltaXRpdmVVbml0c0F0dHIpIHsKICAgICAgICAgU1ZHVW5pdFR5cGVzOjpTVkdV
bml0VHlwZSBwcm9wZXJ0eVZhbHVlID0gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpT
VkdVbml0VHlwZT46OmZyb21TdHJpbmcodmFsdWUpOwogICAgICAgICBpZiAocHJvcGVydHlWYWx1
ZSA+IDApCiAgICAgICAgICAgICBzZXRQcmltaXRpdmVVbml0c0Jhc2VWYWx1ZShwcm9wZXJ0eVZh
bHVlKTsKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eEF0dHIpCi0g
ICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRo
LCB2YWx1ZSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6eUF0dHIpCi0gICAgICAgIHNldFlCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3Qo
TGVuZ3RoTW9kZUhlaWdodCwgdmFsdWUsIHBhcnNlRXJyb3IpKTsKLSAgICBlbHNlIGlmIChhdHRy
LT5uYW1lKCkgPT0gU1ZHTmFtZXM6OndpZHRoQXR0cikKLSAgICAgICAgc2V0V2lkdGhCYXNlVmFs
dWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCB2YWx1ZSwgcGFyc2VFcnJv
cikpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikK
LSAgICAgICAgc2V0SGVpZ2h0QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1v
ZGVIZWlnaHQsIHZhbHVlLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgp
ID09IFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRyKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp4QXR0cikgeworICAgICAgICBzZXRY
QmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgsIHZhbHVlKSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp5QXR0cikg
eworICAgICAgICBzZXRZQmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlSGVpZ2h0LCB2YWx1
ZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBT
VkdOYW1lczo6d2lkdGhBdHRyKSB7CisgICAgICAgIHNldFdpZHRoQmFzZVZhbHVlKFNWR0xlbmd0
aChMZW5ndGhNb2RlV2lkdGgsIHZhbHVlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpoZWlnaHRBdHRyKSB7CisgICAgICAgIHNl
dEhlaWdodEJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwgdmFsdWUpKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6
OmZpbHRlclJlc0F0dHIpIHsKICAgICAgICAgZmxvYXQgeCwgeTsKICAgICAgICAgaWYgKHBhcnNl
TnVtYmVyT3B0aW9uYWxOdW1iZXIodmFsdWUsIHgsIHkpKSB7CiAgICAgICAgICAgICBzZXRGaWx0
ZXJSZXNYQmFzZVZhbHVlKHgpOwogICAgICAgICAgICAgc2V0RmlsdGVyUmVzWUJhc2VWYWx1ZSh5
KTsKICAgICAgICAgfQotICAgIH0gZWxzZSBpZiAoU1ZHVVJJUmVmZXJlbmNlOjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyKQotICAgICAgICAgICAgIHx8IFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoYXR0cikKLSAgICAgICAgICAgICB8fCBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgewotICAgIH0gZWxzZQotICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlm
IChTVkdVUklSZWZlcmVuY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICBy
ZXR1cm47CisgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIHJldHVybjsKIAotICAgIHJlcG9y
dEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihwYXJzZUVycm9yLCBhdHRyKTsKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKIH0KIAogdm9pZCBTVkdGaWx0ZXJFbGVtZW50OjpzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcApp
bmRleCAxNDI4Y2U0ZmFmNjlhMTY2NWU2NjBjODE3ZGYwMGZmOWM1MThhZTdhLi5mNGU0Mzg3NzU2
YTM5MmRjODQ0ZDQ4MGNlYjFkNGI3NzI1MzZhNmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcApA
QCAtNzksMjUgKzc5LDM4IEBAIGJvb2wgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzOjppc1N1cHBvcnRlZEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROCiAKIHZvaWQgU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRy
aWJ1dGUqIGF0dHIpCiB7Ci0gICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlRXJyb3IgPSBOb0Vycm9y
OworICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ci0+bmFtZSgpKSkgeworICAgICAg
ICBTVkdTdHlsZWRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUgPSBhdHRyLT52
YWx1ZSgpOworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnhBdHRyKSB7CisgICAg
ICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVXaWR0aCwgdmFsdWUpKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0
ci0+bmFtZSgpKSkKLSAgICAgICAgU1ZHU3R5bGVkRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoYXR0cik7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp4QXR0cikK
LSAgICAgICAgc2V0WEJhc2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlV2lk
dGgsIHZhbHVlLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNW
R05hbWVzOjp5QXR0cikKLSAgICAgICAgc2V0WUJhc2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVj
dChMZW5ndGhNb2RlSGVpZ2h0LCB2YWx1ZSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0
dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6d2lkdGhBdHRyKQotICAgICAgICBzZXRXaWR0aEJhc2VW
YWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlV2lkdGgsIHZhbHVlLCBwYXJzZUVy
cm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpoZWlnaHRBdHRy
KQotICAgICAgICBzZXRIZWlnaHRCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3Ro
TW9kZUhlaWdodCwgdmFsdWUsIHBhcnNlRXJyb3IpKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gU1ZHTmFtZXM6OnJlc3VsdEF0dHIpCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6eUF0dHIpIHsKKyAgICAgICAgc2V0WUJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9k
ZUhlaWdodCwgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRy
LT5uYW1lKCkgPT0gU1ZHTmFtZXM6OndpZHRoQXR0cikgeworICAgICAgICBzZXRXaWR0aEJhc2VW
YWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZVdpZHRoLCB2YWx1ZSkpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikg
eworICAgICAgICBzZXRIZWlnaHRCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVIZWlnaHQs
IHZhbHVlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgp
ID09IFNWR05hbWVzOjpyZXN1bHRBdHRyKSB7CiAgICAgICAgIHNldFJlc3VsdEJhc2VWYWx1ZSh2
YWx1ZSk7Ci0gICAgZWxzZQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KIAotICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihwYXJzZUVy
cm9yLCBhdHRyKTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogYm9vbCBTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OnNldEZpbHRlckVmZmVjdEF0dHJpYnV0ZShG
aWx0ZXJFZmZlY3QqLCBjb25zdCBRdWFsaWZpZWROYW1lJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCmluZGV4IDdiYTkyZWM0NTlkNzgzODExYmM2
ODdmMGFjM2YzNmU5OWQyMWEwMTEuLjRjZTZkOTc2OTVlYjEzYzhhMzk1OTVhM2NhODg4NWQwNDYz
ZDdiNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LmNwcApAQCAtODYsMjYgKzg2LDQwIEBAIGJvb2wgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6Omlz
U3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lCiAKIHZvaWQg
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSog
YXR0cikKIHsKLSAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VFcnJvciA9IE5vRXJyb3I7CisgICAg
aWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyLT5uYW1lKCkpKSB7CisgICAgICAgIFNWR1N0
eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUgPSBh
dHRyLT52YWx1ZSgpOworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnhBdHRyKSB7
CisgICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVXaWR0aCwgdmFsdWUp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1
dGUoYXR0ci0+bmFtZSgpKSkKLSAgICAgICAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9
PSBTVkdOYW1lczo6eEF0dHIpCi0gICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25z
dHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCB2YWx1ZSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYg
KGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eUF0dHIpCi0gICAgICAgIHNldFlCYXNlVmFsdWUo
U1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZUhlaWdodCwgdmFsdWUsIHBhcnNlRXJyb3Ip
KTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OndpZHRoQXR0cikKLSAg
ICAgICAgc2V0V2lkdGhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdp
ZHRoLCB2YWx1ZSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBT
VkdOYW1lczo6aGVpZ2h0QXR0cikKLSAgICAgICAgc2V0SGVpZ2h0QmFzZVZhbHVlKFNWR0xlbmd0
aDo6Y29uc3RydWN0KExlbmd0aE1vZGVIZWlnaHQsIHZhbHVlLCBwYXJzZUVycm9yKSk7Ci0gICAg
ZWxzZSBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpCi0gICAgICAgICAg
ICAgICB8fCBTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpCi0gICAgICAg
ICAgICAgICB8fCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShhdHRyKSkgewotICAgIH0gZWxzZQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LQotICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihwYXJzZUVycm9yLCBhdHRyKTsKKyAg
ICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp5QXR0cikgeworICAgICAgICBzZXRZQmFz
ZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlSGVpZ2h0LCB2YWx1ZSkpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6d2lkdGhBdHRy
KSB7CisgICAgICAgIHNldFdpZHRoQmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgs
IHZhbHVlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgp
ID09IFNWR05hbWVzOjpoZWlnaHRBdHRyKSB7CisgICAgICAgIHNldEhlaWdodEJhc2VWYWx1ZShT
VkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAg
ICAgIHJldHVybjsKKyAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShh
dHRyKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHZvaWQgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6
OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDc5ZmUxMjgyNzZlNDUzNTk4Njk3
NmVlZGMzZTJmYWI4OTc4YjczYzYuLjk2ODY2ZDdjOWE0N2NjOWNjN2Q4YjkzY2E1MDdmZTk2NGZl
NTdiZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCkBAIC05MywzMCAr
OTMsNTIgQEAgYm9vbCBTVkdJbWFnZUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogCiB2b2lkIFNWR0ltYWdlRWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewotICAgIFNWR1BhcnNpbmdFcnJvciBw
YXJzZUVycm9yID0gTm9FcnJvcjsKLQotICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0
ci0+bmFtZSgpKSkKKyAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHItPm5hbWUoKSkp
IHsKICAgICAgICAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKGF0dHIpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eEF0
dHIpCi0gICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9k
ZVdpZHRoLCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IFNWR05hbWVzOjp5QXR0cikKLSAgICAgICAgc2V0WUJhc2VWYWx1ZShTVkdMZW5n
dGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVycm9y
KSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVj
dFJhdGlvQXR0cikKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1l
KCkgPT0gU1ZHTmFtZXM6OnhBdHRyKSB7CisgICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3Ro
KExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eUF0dHIpIHsKKyAgICAgICAg
c2V0WUJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIpIHsKICAgICAgICAgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbzo6cGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKHRoaXMsIGF0dHItPnZhbHVlKCkpOwot
ICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6d2lkdGhBdHRyKSB7Ci0gICAg
ICAgIHNldFdpZHRoQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVXaWR0
aCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvciwgRm9yYmlkTmVnYXRpdmVMZW5ndGhzKSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVz
Ojp3aWR0aEF0dHIpIHsKKyAgICAgICAgc2V0V2lkdGhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0
aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSkpOwogICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRy
LCBDU1NQcm9wZXJ0eVdpZHRoLCBhdHRyLT52YWx1ZSgpKTsKLSAgICB9IGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikgewotICAgICAgICBzZXRIZWlnaHRCYXNl
VmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUo
KSwgcGFyc2VFcnJvciwgRm9yYmlkTmVnYXRpdmVMZW5ndGhzKSk7CisgICAgICAgIGlmICh3aWR0
aEJhc2VWYWx1ZSgpLnZhbHVlKHRoaXMpIDwgMC4wKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+
YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3Ig
aW1hZ2UgYXR0cmlidXRlIDx3aWR0aD4gaXMgbm90IGFsbG93ZWQiKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmhlaWdodEF0dHIp
IHsKKyAgICAgICAgc2V0SGVpZ2h0QmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlSGVpZ2h0
LCBhdHRyLT52YWx1ZSgpKSk7CiAgICAgICAgIGFkZENTU1Byb3BlcnR5KGF0dHIsIENTU1Byb3Bl
cnR5SGVpZ2h0LCBhdHRyLT52YWx1ZSgpKTsKLSAgICB9IGVsc2UgaWYgKFNWR1Rlc3RzOjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShhdHRyKQotICAgICAgICAgICAgIHx8IFNWR0xhbmdTcGFjZTo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikKLSAgICAgICAgICAgICB8fCBTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKQotICAgICAgICAgICAgIHx8
IFNWR1VSSVJlZmVyZW5jZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpIHsKLSAgICB9IGVs
c2UKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0KLSAgICByZXBvcnRBdHRyaWJ1dGVQ
YXJzaW5nRXJyb3IocGFyc2VFcnJvciwgYXR0cik7CisgICAgICAgIGlmIChoZWlnaHRCYXNlVmFs
dWUoKS52YWx1ZSh0aGlzKSA8IDAuMCkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmFjY2Vzc1NW
R0V4dGVuc2lvbnMoKS0+cmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9yIGltYWdlIGF0
dHJpYnV0ZSA8aGVpZ2h0PiBpcyBub3QgYWxsb3dlZCIpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0
dHIpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICByZXR1cm47CisgICAgaWYg
KFNWR1VSSVJlZmVyZW5jZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIHJl
dHVybjsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIFNWR0ltYWdlRWxl
bWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCmluZGV4IGM3Y2ExMWUxYjMyMGY1MWMy
OWRlZmI3MDZjMDhjZDVmOWZiNGEyOTcuLjU3MDdkYjYwZTBlYTFmYjg5OGM2NzdiOTI2ODQ1YjFj
MzU0ZGMzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcApAQCAtODMsMjUg
KzgzLDM5IEBAIGJvb2wgU1ZHTGluZUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogCiB2b2lkIFNWR0xpbmVFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiB7Ci0gICAgU1ZHUGFyc2luZ0Vycm9yIHBh
cnNlRXJyb3IgPSBOb0Vycm9yOwotCi0gICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRy
LT5uYW1lKCkpKQorICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ci0+bmFtZSgpKSkg
ewogICAgICAgICBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoYXR0cik7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp4MUF0
dHIpCi0gICAgICAgIHNldFgxQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1v
ZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBTVkdOYW1lczo6eTFBdHRyKQotICAgICAgICBzZXRZMUJhc2VWYWx1ZShTVkdM
ZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVy
cm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp4MkF0dHIpCi0g
ICAgICAgIHNldFgyQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVXaWR0
aCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6eTJBdHRyKQotICAgICAgICBzZXRZMkJhc2VWYWx1ZShTVkdMZW5ndGg6
OmNvbnN0cnVjdChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVycm9yKSk7
Ci0gICAgZWxzZSBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpCi0gICAg
ICAgICAgICAgfHwgU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKQotICAg
ICAgICAgICAgIHx8IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKGF0dHIpKSB7Ci0gICAgfSBlbHNlCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotCi0gICAgcmVwb3J0QXR0cmlidXRlUGFyc2luZ0Vycm9yKHBhcnNlRXJyb3IsIGF0dHIpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6eDFBdHRyKSB7CisgICAgICAgIHNldFgxQmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2Rl
V2lkdGgsIGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlm
IChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnkxQXR0cikgeworICAgICAgICBzZXRZMUJhc2VW
YWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eDJB
dHRyKSB7CisgICAgICAgIHNldFgyQmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgs
IGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRy
LT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnkyQXR0cikgeworICAgICAgICBzZXRZMkJhc2VWYWx1ZShT
VkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRy
KSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKGF0dHIpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICByZXR1cm47
CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBTVkdMaW5lRWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAKaW5kZXggYjFh
YzI0ZGQ0MzdjNjc3OWFlYTM0NTI4MTJhYjQwMTYwZDNkNGJhNi4uY2Y3MWFmMzllYjI4MDhjYTJh
NTYyOWZlNWJlZTI5M2YwMjdhODRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xp
bmVhckdyYWRpZW50RWxlbWVudC5jcHAKQEAgLTg1LDIyICs4NSwzMiBAQCBib29sIFNWR0xpbmVh
ckdyYWRpZW50RWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0ck5hbQogCiB2b2lkIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewotICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZUVy
cm9yID0gTm9FcnJvcjsKLQotICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ci0+bmFt
ZSgpKSkKKyAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHItPm5hbWUoKSkpIHsKICAg
ICAgICAgU1ZHR3JhZGllbnRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLSAg
ICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OngxQXR0cikKLSAgICAgICAgc2V0
WDFCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52
YWx1ZSgpLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05h
bWVzOjp5MUF0dHIpCi0gICAgICAgIHNldFkxQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0
KExlbmd0aE1vZGVIZWlnaHQsIGF0dHItPnZhbHVlKCksIHBhcnNlRXJyb3IpKTsKLSAgICBlbHNl
IGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OngyQXR0cikKLSAgICAgICAgc2V0WDJCYXNl
VmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgp
LCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp5
MkF0dHIpCi0gICAgICAgIHNldFkyQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0
aE1vZGVIZWlnaHQsIGF0dHItPnZhbHVlKCksIHBhcnNlRXJyb3IpKTsKLSAgICBlbHNlCi0gICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCi0gICAgcmVwb3J0QXR0cmlidXRlUGFyc2luZ0Vy
cm9yKHBhcnNlRXJyb3IsIGF0dHIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYg
KGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eDFBdHRyKSB7CisgICAgICAgIHNldFgxQmFzZVZh
bHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnkxQXR0
cikgeworICAgICAgICBzZXRZMUJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwg
YXR0ci0+dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBTVkdOYW1lczo6eDJBdHRyKSB7CisgICAgICAgIHNldFgyQmFzZVZhbHVlKFNW
R0xlbmd0aChMZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnkyQXR0cikgewor
ICAgICAgICBzZXRZMkJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+
dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiB9CiAKIHZvaWQgU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpzdmdBdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R01hcmtlckVsZW1lbnQuY3BwCmluZGV4IDQ4MGU1YmZjZjAyODVmMTNlODA4ZDZjNTI5OTBmMTJh
NjRkMjA2OTguLjUyYmFiOGU4NmQ3ZDkyMjczYjdlODIxMjU2ODE5Nzc3N2IzYjU2OTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAKQEAgLTEyNywzNyArMTI3LDU3IEBA
IGJvb2wgU1ZHTWFya2VyRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0ck5hbWUpCiAKIHZvaWQgU1ZHTWFya2VyRWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewotICAgIFNWR1BhcnNpbmdFcnJvciBwYXJzZUVy
cm9yID0gTm9FcnJvcjsKLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFs
dWUoKTsKLQotICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ci0+bmFtZSgpKSkKKyAg
ICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHItPm5hbWUoKSkpIHsKICAgICAgICAgU1ZH
U3R5bGVkRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cik7Ci0gICAgZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIpIHsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUgPSBhdHRyLT52YWx1
ZSgpOworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om1hcmtlclVuaXRzQXR0cikg
ewogICAgICAgICBTVkdNYXJrZXJVbml0c1R5cGUgcHJvcGVydHlWYWx1ZSA9IFNWR1Byb3BlcnR5
VHJhaXRzPFNWR01hcmtlclVuaXRzVHlwZT46OmZyb21TdHJpbmcodmFsdWUpOwogICAgICAgICBp
ZiAocHJvcGVydHlWYWx1ZSA+IDApCiAgICAgICAgICAgICBzZXRNYXJrZXJVbml0c0Jhc2VWYWx1
ZShwcm9wZXJ0eVZhbHVlKTsKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6cmVmWEF0dHIpCi0gICAgICAgIHNldFJlZlhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1
Y3QoTGVuZ3RoTW9kZVdpZHRoLCB2YWx1ZSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0
dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cmVmWUF0dHIpCi0gICAgICAgIHNldFJlZllCYXNlVmFs
dWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZUhlaWdodCwgdmFsdWUsIHBhcnNlRXJy
b3IpKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om1hcmtlcldpZHRo
QXR0cikKLSAgICAgICAgc2V0TWFya2VyV2lkdGhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1
Y3QoTGVuZ3RoTW9kZVdpZHRoLCB2YWx1ZSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0
dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6bWFya2VySGVpZ2h0QXR0cikKLSAgICAgICAgc2V0TWFy
a2VySGVpZ2h0QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVIZWlnaHQs
IHZhbHVlLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05h
bWVzOjpvcmllbnRBdHRyKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0
ci0+bmFtZSgpID09IFNWR05hbWVzOjpyZWZYQXR0cikgeworICAgICAgICBzZXRSZWZYQmFzZVZh
bHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgsIHZhbHVlKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpyZWZZQXR0cikgewor
ICAgICAgICBzZXRSZWZZQmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlSGVpZ2h0LCB2YWx1
ZSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBT
VkdOYW1lczo6bWFya2VyV2lkdGhBdHRyKSB7CisgICAgICAgIHNldE1hcmtlcldpZHRoQmFzZVZh
bHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgsIHZhbHVlKSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjptYXJrZXJIZWlnaHRB
dHRyKSB7CisgICAgICAgIHNldE1hcmtlckhlaWdodEJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3Ro
TW9kZUhlaWdodCwgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChh
dHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om9yaWVudEF0dHIpIHsKICAgICAgICAgU1ZHQW5nbGUg
YW5nbGU7CiAgICAgICAgIFNWR01hcmtlck9yaWVudFR5cGUgb3JpZW50VHlwZSA9IFNWR1Byb3Bl
cnR5VHJhaXRzPFNWR01hcmtlck9yaWVudFR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlLCBhbmdsZSk7
CiAgICAgICAgIGlmIChvcmllbnRUeXBlID4gMCkKICAgICAgICAgICAgIHNldE9yaWVudFR5cGVC
YXNlVmFsdWUob3JpZW50VHlwZSk7CiAgICAgICAgIGlmIChvcmllbnRUeXBlID09IFNWR01hcmtl
ck9yaWVudEFuZ2xlKQogICAgICAgICAgICAgc2V0T3JpZW50QW5nbGVCYXNlVmFsdWUoYW5nbGUp
OwotICAgIH0gZWxzZSBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRy
KQotICAgICAgICAgICAgIHx8IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKGF0dHIpCi0gICAgICAgICAgICAgfHwgU1ZHRml0VG9WaWV3Qm94OjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShkb2N1bWVudCgpLCBhdHRyKSkgewotICAgIH0gZWxzZQotICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlm
IChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQorICAgICAgICByZXR1
cm47CisgICAgaWYgKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKGF0dHIpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFNWR0ZpdFRvVmlld0JveDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoZG9jdW1lbnQoKSwgYXR0cikpCisgICAgICAgIHJldHVybjsK
IAotICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihwYXJzZUVycm9yLCBhdHRyKTsKKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpzdmdB
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKaW5kZXggNTU0YTE0MzA1YjgzM2YzNmVlOGMzOGFjNGM1
MWQyODE2YjQ2YmYzMC4uNWNjMTllMWUzNGFhMzhlNzc3YmM3Zjc2ZTU3OGQxOWJhYjBiM2IyNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCkBAIC05NiwzNSArOTYsNTMgQEAg
Ym9vbCBTVkdNYXNrRWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0ck5hbWUpCiAKIHZvaWQgU1ZHTWFza0VsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKEF0dHJpYnV0ZSogYXR0cikKIHsKLSAgICBTVkdQYXJzaW5nRXJyb3IgcGFyc2VFcnJvciA9
IE5vRXJyb3I7Ci0KLSAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHItPm5hbWUoKSkp
CisgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyLT5uYW1lKCkpKSB7CiAgICAgICAg
IFNWR1N0eWxlZEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOwotICAgIGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6bWFza1VuaXRzQXR0cikgeworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6bWFza1Vu
aXRzQXR0cikgewogICAgICAgICBTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlIHByb3BlcnR5VmFs
dWUgPSBTVkdQcm9wZXJ0eVRyYWl0czxTVkdVbml0VHlwZXM6OlNWR1VuaXRUeXBlPjo6ZnJvbVN0
cmluZyhhdHRyLT52YWx1ZSgpKTsKICAgICAgICAgaWYgKHByb3BlcnR5VmFsdWUgPiAwKQogICAg
ICAgICAgICAgc2V0TWFza1VuaXRzQmFzZVZhbHVlKHByb3BlcnR5VmFsdWUpOwogICAgICAgICBy
ZXR1cm47Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om1hc2tDb250
ZW50VW5pdHNBdHRyKSB7CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6bWFza0NvbnRlbnRVbml0c0F0dHIpIHsKICAgICAgICAgU1ZHVW5pdFR5cGVzOjpTVkdVbml0
VHlwZSBwcm9wZXJ0eVZhbHVlID0gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdV
bml0VHlwZT46OmZyb21TdHJpbmcoYXR0ci0+dmFsdWUoKSk7CiAgICAgICAgIGlmIChwcm9wZXJ0
eVZhbHVlID4gMCkKICAgICAgICAgICAgIHNldE1hc2tDb250ZW50VW5pdHNCYXNlVmFsdWUocHJv
cGVydHlWYWx1ZSk7CiAgICAgICAgIHJldHVybjsKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6eEF0dHIpCi0gICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpj
b25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVycm9yKSk7Ci0g
ICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp5QXR0cikKLSAgICAgICAgc2V0
WUJhc2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52
YWx1ZSgpLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05h
bWVzOjp3aWR0aEF0dHIpCi0gICAgICAgIHNldFdpZHRoQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29u
c3RydWN0KExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvcikpOwotICAg
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikKLSAgICAgICAg
c2V0SGVpZ2h0QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVIZWlnaHQs
IGF0dHItPnZhbHVlKCksIHBhcnNlRXJyb3IpKTsKLSAgICBlbHNlIGlmIChTVkdUZXN0czo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikKLSAgICAgICAgICAgICB8fCBTVkdMYW5nU3BhY2U6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpCi0gICAgICAgICAgICAgfHwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpIHsKLSAgICB9IGVsc2UK
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0KLSAgICByZXBvcnRBdHRyaWJ1dGVQYXJz
aW5nRXJyb3IocGFyc2VFcnJvciwgYXR0cik7CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6eEF0dHIpIHsKKyAgICAgICAgc2V0WEJhc2VWYWx1ZShTVkdMZW5ndGgo
TGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp5QXR0cikgeworICAgICAgICBz
ZXRZQmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpKSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05h
bWVzOjp3aWR0aEF0dHIpIHsKKyAgICAgICAgc2V0V2lkdGhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExl
bmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikgeworICAgICAg
ICBzZXRIZWlnaHRCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVIZWlnaHQsIGF0dHItPnZh
bHVlKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChTVkdUZXN0czo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoU1ZHTGFu
Z1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmIChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShh
dHRyKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAK
IHZvaWQgU1ZHTWFza0VsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0ck5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcApp
bmRleCA5OTQxMDA0MzcyZWI1NTQ2OWVkYzNkZGQ1MGZmZTZkMDBmNGEzYjM3Li41YmZhZmZlYWVi
YmY5ZTczYzA5MTVkYmNiYWRjNDhjNmVkZWMzMjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXR0ZXJuRWxlbWVudC5jcHAKQEAgLTExMSwyMSArMTExLDI2IEBAIGJvb2wgU1ZHUGF0dGVybkVs
ZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1l
KQogCiB2b2lkIFNWR1BhdHRlcm5FbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1
dGUqIGF0dHIpCiB7Ci0gICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlRXJyb3IgPSBOb0Vycm9yOwot
Ci0gICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyLT5uYW1lKCkpKQorICAgIGlmICgh
aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ci0+bmFtZSgpKSkgewogICAgICAgICBTVkdTdHlsZWRF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLSAgICBlbHNlIGlmIChhdHRyLT5u
YW1lKCkgPT0gU1ZHTmFtZXM6OnBhdHRlcm5Vbml0c0F0dHIpIHsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnBhdHRlcm5Vbml0c0F0
dHIpIHsKICAgICAgICAgU1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZSBwcm9wZXJ0eVZhbHVlID0g
U1ZHUHJvcGVydHlUcmFpdHM8U1ZHVW5pdFR5cGVzOjpTVkdVbml0VHlwZT46OmZyb21TdHJpbmco
YXR0ci0+dmFsdWUoKSk7CiAgICAgICAgIGlmIChwcm9wZXJ0eVZhbHVlID4gMCkKICAgICAgICAg
ICAgIHNldFBhdHRlcm5Vbml0c0Jhc2VWYWx1ZShwcm9wZXJ0eVZhbHVlKTsKICAgICAgICAgcmV0
dXJuOwotICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpwYXR0ZXJuQ29u
dGVudFVuaXRzQXR0cikgeworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFt
ZXM6OnBhdHRlcm5Db250ZW50VW5pdHNBdHRyKSB7CiAgICAgICAgIFNWR1VuaXRUeXBlczo6U1ZH
VW5pdFR5cGUgcHJvcGVydHlWYWx1ZSA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1VuaXRUeXBlczo6
U1ZHVW5pdFR5cGU+Ojpmcm9tU3RyaW5nKGF0dHItPnZhbHVlKCkpOwogICAgICAgICBpZiAocHJv
cGVydHlWYWx1ZSA+IDApCiAgICAgICAgICAgICBzZXRQYXR0ZXJuQ29udGVudFVuaXRzQmFzZVZh
bHVlKHByb3BlcnR5VmFsdWUpOwogICAgICAgICByZXR1cm47Ci0gICAgfSBlbHNlIGlmIChhdHRy
LT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRyKSB7CisgICAgfQorCisg
ICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIpIHsK
ICAgICAgICAgU1ZHVHJhbnNmb3JtTGlzdCBuZXdMaXN0OwogICAgICAgICBpZiAoIVNWR1RyYW5z
Zm9ybWFibGU6OnBhcnNlVHJhbnNmb3JtQXR0cmlidXRlKG5ld0xpc3QsIGF0dHItPnZhbHVlKCkp
KQogICAgICAgICAgICAgbmV3TGlzdC5jbGVhcigpOwpAQCAtMTMzLDIzICsxMzgsNDQgQEAgdm9p
ZCBTVkdQYXR0ZXJuRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRy
KQogICAgICAgICBkZXRhY2hBbmltYXRlZFBhdHRlcm5UcmFuc2Zvcm1MaXN0V3JhcHBlcnMobmV3
TGlzdC5zaXplKCkpOwogICAgICAgICBzZXRQYXR0ZXJuVHJhbnNmb3JtQmFzZVZhbHVlKG5ld0xp
c3QpOwogICAgICAgICByZXR1cm47Ci0gICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZH
TmFtZXM6OnhBdHRyKQotICAgICAgICBzZXRYQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0
KExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eUF0dHIpCi0gICAgICAgIHNldFlCYXNlVmFs
dWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSwg
cGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6d2lk
dGhBdHRyKQotICAgICAgICBzZXRXaWR0aEJhc2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChM
ZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVlKCksIHBhcnNlRXJyb3IsIEZvcmJpZE5lZ2F0aXZl
TGVuZ3RocykpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0
QXR0cikKLSAgICAgICAgc2V0SGVpZ2h0QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExl
bmd0aE1vZGVIZWlnaHQsIGF0dHItPnZhbHVlKCksIHBhcnNlRXJyb3IsIEZvcmJpZE5lZ2F0aXZl
TGVuZ3RocykpOwotICAgIGVsc2UgaWYgKFNWR1VSSVJlZmVyZW5jZTo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoYXR0cikKLSAgICAgICAgICAgICB8fCBTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoYXR0cikKLSAgICAgICAgICAgICB8fCBTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKGF0dHIpCi0gICAgICAgICAgICAgfHwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikKLSAgICAgICAgICAgICB8fCBTVkdGaXRUb1ZpZXdC
b3g6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGRvY3VtZW50KCksIGF0dHIpKSB7Ci0gICAgfSBlbHNl
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotCi0gICAgcmVwb3J0QXR0cmlidXRlUGFy
c2luZ0Vycm9yKHBhcnNlRXJyb3IsIGF0dHIpOworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1l
KCkgPT0gU1ZHTmFtZXM6OnhBdHRyKSB7CisgICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3Ro
KExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eUF0dHIpIHsKKyAgICAgICAg
c2V0WUJhc2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSkp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6d2lkdGhBdHRyKSB7CisgICAgICAgIHNldFdpZHRoQmFzZVZhbHVlKFNWR0xlbmd0aChM
ZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAgaWYgKHdpZHRoQmFzZVZh
bHVlKCkudmFsdWUodGhpcykgPCAwKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWNjZXNzU1ZH
RXh0ZW5zaW9ucygpLT5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgcGF0dGVybiBh
dHRyaWJ1dGUgPHdpZHRoPiBpcyBub3QgYWxsb3dlZCIpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikgeworICAg
ICAgICBzZXRIZWlnaHRCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVIZWlnaHQsIGF0dHIt
PnZhbHVlKCkpKTsKKyAgICAgICAgaWYgKGhlaWdodEJhc2VWYWx1ZSgpLnZhbHVlKHRoaXMpIDwg
MCkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVwb3J0
RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9yIHBhdHRlcm4gYXR0cmlidXRlIDxoZWlnaHQ+IGlz
IG5vdCBhbGxvd2VkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoU1ZHVVJJ
UmVmZXJlbmNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIHJl
dHVybjsKKyAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkK
KyAgICAgICAgcmV0dXJuOworICAgIGlmIChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpw
YXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChTVkdG
aXRUb1ZpZXdCb3g6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGRvY3VtZW50KCksIGF0dHIpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBTVkdQ
YXR0ZXJuRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyTmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVu
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dC5jcHAKaW5kZXggMGY4NmE2ZGUyODI5ODhjYmI2M2YwMjc1MTFmNDZhNmI0MDcxNWU4Mi4uMWMw
YzMwYjM2OGQ2ZDYyOWZmOWVlYzU2YWI2NDZjNzYyMjkwYzBhNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAKQEAgLTg5LDI0ICs4OSwzOSBA
QCBib29sIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbQogCiB2b2lkIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewotICAgIFNWR1BhcnNp
bmdFcnJvciBwYXJzZUVycm9yID0gTm9FcnJvcjsKLQotICAgIGlmICghaXNTdXBwb3J0ZWRBdHRy
aWJ1dGUoYXR0ci0+bmFtZSgpKSkKKyAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHIt
Pm5hbWUoKSkpIHsKICAgICAgICAgU1ZHR3JhZGllbnRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShhdHRyKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmN4QXR0
cikKLSAgICAgICAgc2V0Q3hCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9k
ZVdpZHRoLCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IFNWR05hbWVzOjpjeUF0dHIpCi0gICAgICAgIHNldEN5QmFzZVZhbHVlKFNWR0xl
bmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVIZWlnaHQsIGF0dHItPnZhbHVlKCksIHBhcnNlRXJy
b3IpKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnJBdHRyKQotICAg
ICAgICBzZXRSQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVPdGhlciwg
YXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvciwgRm9yYmlkTmVnYXRpdmVMZW5ndGhzKSk7Ci0gICAg
ZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpmeEF0dHIpCi0gICAgICAgIHNldEZ4
QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFs
dWUoKSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6ZnlBdHRyKQotICAgICAgICBzZXRGeUJhc2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChM
ZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZQot
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNp
bmdFcnJvcihwYXJzZUVycm9yLCBhdHRyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmN4QXR0cikgeworICAgICAgICBzZXRDeEJh
c2VWYWx1ZShTVkdMZW5ndGgoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgpKSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpj
eUF0dHIpIHsKKyAgICAgICAgc2V0Q3lCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVIZWln
aHQsIGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChh
dHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnJBdHRyKSB7CisgICAgICAgIHNldFJCYXNlVmFsdWUo
U1ZHTGVuZ3RoKExlbmd0aE1vZGVPdGhlciwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICBpZiAo
ckJhc2VWYWx1ZSgpLnZhbHVlKHRoaXMpIDwgMCkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmFj
Y2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9yIHJh
ZGlhbCBncmFkaWVudCByYWRpdXMgPHI+IGlzIG5vdCBhbGxvd2VkIik7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpmeEF0dHIpIHsK
KyAgICAgICAgc2V0RnhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+
dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6ZnlBdHRyKSB7CisgICAgICAgIHNldEZ5QmFzZVZhbHVlKFNWR0xlbmd0
aChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBTVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
ck5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcAppbmRleCBlODQ3NzRkOTcx
NzVjODBiYTFjNGU5NDczYzY0ZmUxMDI4MTc5YWIwLi4wMDQzN2RhMDg0NWZkNmUwMDExYWUzY2Zh
MTZmNGE3Yzk4NDRmODkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdEVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAKQEAg
LTkwLDI5ICs5MCw1NyBAQCBib29sIFNWR1JlY3RFbGVtZW50Ojppc1N1cHBvcnRlZEF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKIAogdm9pZCBTVkdSZWN0RWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKiBhdHRyKQogewotICAgIFNWR1BhcnNpbmdF
cnJvciBwYXJzZUVycm9yID0gTm9FcnJvcjsKLQotICAgIGlmICghaXNTdXBwb3J0ZWRBdHRyaWJ1
dGUoYXR0ci0+bmFtZSgpKSkKKyAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRlKGF0dHItPm5h
bWUoKSkpIHsKICAgICAgICAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKGF0dHIpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6eEF0dHIpCi0gICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVu
Z3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAo
YXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp5QXR0cikKLSAgICAgICAgc2V0WUJhc2VWYWx1ZShT
VkdMZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpLCBwYXJz
ZUVycm9yKSk7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpyeEF0dHIp
Ci0gICAgICAgIHNldFJ4QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVX
aWR0aCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvciwgRm9yYmlkTmVnYXRpdmVMZW5ndGhzKSk7
Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpyeUF0dHIpCi0gICAgICAg
IHNldFJ5QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVIZWlnaHQsIGF0
dHItPnZhbHVlKCksIHBhcnNlRXJyb3IsIEZvcmJpZE5lZ2F0aXZlTGVuZ3RocykpOwotICAgIGVs
c2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6d2lkdGhBdHRyKQotICAgICAgICBzZXRX
aWR0aEJhc2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhNb2RlV2lkdGgsIGF0dHIt
PnZhbHVlKCksIHBhcnNlRXJyb3IsIEZvcmJpZE5lZ2F0aXZlTGVuZ3RocykpOwotICAgIGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikKLSAgICAgICAgc2V0SGVp
Z2h0QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVIZWlnaHQsIGF0dHIt
PnZhbHVlKCksIHBhcnNlRXJyb3IsIEZvcmJpZE5lZ2F0aXZlTGVuZ3RocykpOwotICAgIGVsc2Ug
aWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKQotICAgICAgICAgICAgIHx8
IFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikKLSAgICAgICAgICAgICB8
fCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRy
KSkgewotICAgIH0gZWxzZQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLQotICAgIHJl
cG9ydEF0dHJpYnV0ZVBhcnNpbmdFcnJvcihwYXJzZUVycm9yLCBhdHRyKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnhBdHRyKSB7
CisgICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+
dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6eUF0dHIpIHsKKyAgICAgICAgc2V0WUJhc2VWYWx1ZShTVkdMZW5ndGgo
TGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cnhBdHRyKSB7CisgICAgICAg
IHNldFJ4QmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVlKCkp
KTsKKyAgICAgICAgaWYgKHJ4QmFzZVZhbHVlKCkudmFsdWUodGhpcykgPCAwKQorICAgICAgICAg
ICAgZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZXBvcnRFcnJvcigiQSBuZWdh
dGl2ZSB2YWx1ZSBmb3IgcmVjdCA8cng+IGlzIG5vdCBhbGxvd2VkIik7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpyeUF0dHIpIHsK
KyAgICAgICAgc2V0UnlCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVIZWlnaHQsIGF0dHIt
PnZhbHVlKCkpKTsKKyAgICAgICAgaWYgKHJ5QmFzZVZhbHVlKCkudmFsdWUodGhpcykgPCAwKQor
ICAgICAgICAgICAgZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZXBvcnRFcnJv
cigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgcmVjdCA8cnk+IGlzIG5vdCBhbGxvd2VkIik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp3
aWR0aEF0dHIpIHsKKyAgICAgICAgc2V0V2lkdGhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1v
ZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSkpOworICAgICAgICBpZiAod2lkdGhCYXNlVmFsdWUoKS52
YWx1ZSh0aGlzKSA8IDApCisgICAgICAgICAgICBkb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNp
b25zKCktPnJlcG9ydEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVlIGZvciByZWN0IDx3aWR0aD4gaXMg
bm90IGFsbG93ZWQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRyLT5u
YW1lKCkgPT0gU1ZHTmFtZXM6OmhlaWdodEF0dHIpIHsKKyAgICAgICAgc2V0SGVpZ2h0QmFzZVZh
bHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpKSk7CisgICAgICAg
IGlmIChoZWlnaHRCYXNlVmFsdWUoKS52YWx1ZSh0aGlzKSA8IDApCisgICAgICAgICAgICBkb2N1
bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPnJlcG9ydEVycm9yKCJBIG5lZ2F0aXZlIHZh
bHVlIGZvciByZWN0IDxoZWlnaHQ+IGlzIG5vdCBhbGxvd2VkIik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKQor
ICAgICAgICByZXR1cm47CisgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoYXR0cikpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIHJldHVybjsKKwor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIFNWR1JlY3RFbGVtZW50OjpzdmdB
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1NWR0VsZW1lbnQuY3BwCmluZGV4IGE4NzdkMDgwNmZhMmE0NDEyZjFlM2ExMzc0MDRi
NmVkN2QzNGZjNTkuLmYzYjA1MDhlYmM3OWEyNWQ2YTc3YmUxZWQ0ZDQ5MmU2ODc3OWE5OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKQEAgLTI2Nyw4ICsyNjcsNiBAQCB2b2lk
IFNWR1NWR0VsZW1lbnQ6OnVwZGF0ZUN1cnJlbnRUcmFuc2xhdGUoKQogCiB2b2lkIFNWR1NWR0Vs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIHsKLSAgICBTVkdQ
YXJzaW5nRXJyb3IgcGFyc2VFcnJvciA9IE5vRXJyb3I7Ci0KICAgICBpZiAoIW5lYXJlc3RWaWV3
cG9ydEVsZW1lbnQoKSkgewogICAgICAgICBib29sIHNldExpc3RlbmVyID0gdHJ1ZTsKIApAQCAt
MjkzLDI0ICsyOTEsMzMgQEAgdm9pZCBTVkdTVkdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
ZShBdHRyaWJ1dGUqIGF0dHIpCiAgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IEhUTUxOYW1l
czo6b25lcnJvckF0dHIpCiAgICAgICAgIGRvY3VtZW50KCktPnNldFdpbmRvd0F0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGNyZWF0ZUF0dHJpYnV0ZUV2ZW50
TGlzdGVuZXIoZG9jdW1lbnQoKS0+ZnJhbWUoKSwgYXR0cikpOwogICAgIGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBTVkdOYW1lczo6eEF0dHIpCi0gICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVu
Z3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgpLCBwYXJzZUVycm9y
KSk7CisgICAgICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVXaWR0aCwgYXR0
ci0+dmFsdWUoKSkpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eUF0
dHIpCi0gICAgICAgIHNldFlCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9k
ZUhlaWdodCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvcikpOworICAgICAgICBzZXRZQmFzZVZh
bHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlSGVpZ2h0LCBhdHRyLT52YWx1ZSgpKSk7CiAgICAgZWxz
ZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp3aWR0aEF0dHIpIHsKLSAgICAgICAgc2V0
V2lkdGhCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZVdpZHRoLCBhdHRy
LT52YWx1ZSgpLCBwYXJzZUVycm9yLCBGb3JiaWROZWdhdGl2ZUxlbmd0aHMpKTsKKyAgICAgICAg
c2V0V2lkdGhCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUo
KSkpOwogICAgICAgICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9wZXJ0eVdpZHRoLCBhdHRy
LT52YWx1ZSgpKTsKKyAgICAgICAgaWYgKHdpZHRoQmFzZVZhbHVlKCkudmFsdWUodGhpcykgPCAw
LjApCisgICAgICAgICAgICBkb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPnJlcG9y
dEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVlIGZvciBzdmcgYXR0cmlidXRlIDx3aWR0aD4gaXMgbm90
IGFsbG93ZWQiKTsKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVp
Z2h0QXR0cikgewotICAgICAgICBzZXRIZWlnaHRCYXNlVmFsdWUoU1ZHTGVuZ3RoOjpjb25zdHJ1
Y3QoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvciwgRm9yYmlkTmVn
YXRpdmVMZW5ndGhzKSk7CisgICAgICAgIHNldEhlaWdodEJhc2VWYWx1ZShTVkdMZW5ndGgoTGVu
Z3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSkpOwogICAgICAgICBhZGRDU1NQcm9wZXJ0eShh
dHRyLCBDU1NQcm9wZXJ0eUhlaWdodCwgYXR0ci0+dmFsdWUoKSk7Ci0gICAgfSBlbHNlIGlmIChT
VkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikKLSAgICAgICAgICAgICAgIHx8IFNW
R0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikKLSAgICAgICAgICAgICAgIHx8
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIp
Ci0gICAgICAgICAgICAgICB8fCBTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KGRvY3VtZW50KCksIGF0dHIpCi0gICAgICAgICAgICAgICB8fCBTVkdab29tQW5kUGFuOjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgewotICAgIH0gZWxzZQotICAgICAgICBTVkdTdHlsZWRM
b2NhdGFibGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKKyAgICAgICAgaWYg
KGhlaWdodEJhc2VWYWx1ZSgpLnZhbHVlKHRoaXMpIDwgMC4wKQorICAgICAgICAgICAgZG9jdW1l
bnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1
ZSBmb3Igc3ZnIGF0dHJpYnV0ZSA8aGVpZ2h0PiBpcyBub3QgYWxsb3dlZCIpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGF0dHIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGRvY3VtZW50KCksIGF0dHIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBpZiAoU1ZHWm9vbUFuZFBhbjo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICByZXBvcnRBdHRyaWJ1dGVQYXJzaW5nRXJyb3IocGFyc2VFcnJv
ciwgYXR0cik7CisgICAgICAgIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGF0dHIpOworICAgIH0KIH0KIAogLy8gVGhpcyBoYWNrIHdpbGwgbm90IGhhbmRs
ZSB0aGUgY2FzZSB3aGVyZSB3ZSdyZSBzZXR0aW5nIGEgd2lkdGgvaGVpZ2h0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCmluZGV4IGE2NDgzZjRmYTNiNTNm
YmVlNjNhYzhhMGI5NmM5ZjEwYjcyNGJlNTQuLjg1NGJjODYyNTk0ZDZlOTQxMzJhZmYyNDQ1OTZm
ODY1NWY2NThhMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1l
bnQuY3BwCkBAIC0yMzAsMTkgKzIzMCwyOSBAQCBib29sIFNWR1RleHRDb250ZW50RWxlbWVudDo6
aXNTdXBwb3J0ZWRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAKIHZv
aWQgU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUq
IGF0dHIpCiB7Ci0gICAgU1ZHUGFyc2luZ0Vycm9yIHBhcnNlRXJyb3IgPSBOb0Vycm9yOwotCi0g
ICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyLT5uYW1lKCkpKQorICAgIGlmICghaXNT
dXBwb3J0ZWRBdHRyaWJ1dGUoYXR0ci0+bmFtZSgpKSkgewogICAgICAgICBTVkdTdHlsZWRFbGVt
ZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1l
KCkgPT0gU1ZHTmFtZXM6Omxlbmd0aEFkanVzdEF0dHIpIHsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Omxlbmd0aEFkanVzdEF0dHIp
IHsKICAgICAgICAgU1ZHTGVuZ3RoQWRqdXN0VHlwZSBwcm9wZXJ0eVZhbHVlID0gU1ZHUHJvcGVy
dHlUcmFpdHM8U1ZHTGVuZ3RoQWRqdXN0VHlwZT46OmZyb21TdHJpbmcoYXR0ci0+dmFsdWUoKSk7
CiAgICAgICAgIGlmIChwcm9wZXJ0eVZhbHVlID4gMCkKICAgICAgICAgICAgIHNldExlbmd0aEFk
anVzdEJhc2VWYWx1ZShwcm9wZXJ0eVZhbHVlKTsKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6dGV4dExlbmd0aEF0dHIpIHsKLSAgICAgICAgbV90ZXh0TGVuZ3RoLnZh
bHVlID0gU1ZHTGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZU90aGVyLCBhdHRyLT52YWx1ZSgp
LCBwYXJzZUVycm9yLCBGb3JiaWROZWdhdGl2ZUxlbmd0aHMpOwotICAgIH0gZWxzZSBpZiAoU1ZH
VGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpCi0gICAgICAgICAgICAgICB8fCBTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgewot
ICAgIH0gZWxzZSBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkg
eworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6dGV4dExlbmd0aEF0dHIpIHsKKyAgICAgICAgbV90ZXh0TGVuZ3RoLnZhbHVlID0gU1ZH
TGVuZ3RoKExlbmd0aE1vZGVPdGhlciwgYXR0ci0+dmFsdWUoKSk7CisgICAgICAgIGlmIChtX3Rl
eHRMZW5ndGgudmFsdWUudmFsdWUodGhpcykgPCAwKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+
YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3Ig
dGV4dCBhdHRyaWJ1dGUgPHRleHRMZW5ndGg+IGlzIG5vdCBhbGxvd2VkIik7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0
dHIpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyKSkgewogICAgICAgICBpZiAoYXR0ci0+bmFtZSgpLm1hdGNoZXMoWE1M
TmFtZXM6OnNwYWNlQXR0cikpIHsKICAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29u
c3QgQXRvbWljU3RyaW5nLCBwcmVzZXJ2ZVN0cmluZywgKCJwcmVzZXJ2ZSIpKTsKIApAQCAtMjUx
LDEwICsyNjEsMTMgQEAgdm9pZCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg
ICBhZGRDU1NQcm9wZXJ0eShhdHRyLCBDU1NQcm9wZXJ0eVdoaXRlU3BhY2UsIENTU1ZhbHVlTm93
cmFwKTsKICAgICAgICAgfQotICAgIH0gZWxzZQotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkKKyAgICAgICAgcmV0dXJuOwog
Ci0gICAgcmVwb3J0QXR0cmlidXRlUGFyc2luZ0Vycm9yKHBhcnNlRXJyb3IsIGF0dHIpOworICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIFNWR1RleHRDb250ZW50RWxlbWVudDo6
c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAKaW5kZXggZTJiYjNjZDc1MTJmNDQx
ZTFkMWQ4YWQ5NjZiNzQ1NTI4NjE2NjdkMC4uYTkyZDYwNmVkN2IwZGIxY2IzY2NiZDY4YzQ2M2Q5
NzU4YzhiZDg0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAK
QEAgLTc0LDI2ICs3NCwzNSBAQCBib29sIFNWR1RleHRQYXRoRWxlbWVudDo6aXNTdXBwb3J0ZWRB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAKIHZvaWQgU1ZHVGV4dFBh
dGhFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShBdHRyaWJ1dGUqIGF0dHIpCiB7Ci0gICAg
U1ZHUGFyc2luZ0Vycm9yIHBhcnNlRXJyb3IgPSBOb0Vycm9yOworICAgIGlmICghaXNTdXBwb3J0
ZWRBdHRyaWJ1dGUoYXR0ci0+bmFtZSgpKSkgeworICAgICAgICBTVkdUZXh0Q29udGVudEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworICAgICAgICByZXR1cm47CisgICAgfQor
CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGF0dHItPnZhbHVlKCk7CisgICAgaWYg
KGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c3RhcnRPZmZzZXRBdHRyKSB7CisgICAgICAgIHNl
dFN0YXJ0T2Zmc2V0QmFzZVZhbHVlKFNWR0xlbmd0aChMZW5ndGhNb2RlT3RoZXIsIHZhbHVlKSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRl
KGF0dHItPm5hbWUoKSkpCi0gICAgICAgIFNWR1RleHRDb250ZW50RWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoYXR0cik7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVz
OjpzdGFydE9mZnNldEF0dHIpCi0gICAgICAgIHNldFN0YXJ0T2Zmc2V0QmFzZVZhbHVlKFNWR0xl
bmd0aDo6Y29uc3RydWN0KExlbmd0aE1vZGVPdGhlciwgdmFsdWUsIHBhcnNlRXJyb3IpKTsKLSAg
ICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om1ldGhvZEF0dHIpIHsKKyAgICBp
ZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjptZXRob2RBdHRyKSB7CiAgICAgICAgIFNWR1Rl
eHRQYXRoTWV0aG9kVHlwZSBwcm9wZXJ0eVZhbHVlID0gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHVGV4
dFBhdGhNZXRob2RUeXBlPjo6ZnJvbVN0cmluZyh2YWx1ZSk7CiAgICAgICAgIGlmIChwcm9wZXJ0
eVZhbHVlID4gMCkKICAgICAgICAgICAgIHNldE1ldGhvZEJhc2VWYWx1ZShwcm9wZXJ0eVZhbHVl
KTsKLSAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c3BhY2luZ0F0dHIp
IHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZH
TmFtZXM6OnNwYWNpbmdBdHRyKSB7CiAgICAgICAgIFNWR1RleHRQYXRoU3BhY2luZ1R5cGUgcHJv
cGVydHlWYWx1ZSA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1RleHRQYXRoU3BhY2luZ1R5cGU+Ojpm
cm9tU3RyaW5nKHZhbHVlKTsKICAgICAgICAgaWYgKHByb3BlcnR5VmFsdWUgPiAwKQogICAgICAg
ICAgICAgc2V0U3BhY2luZ0Jhc2VWYWx1ZShwcm9wZXJ0eVZhbHVlKTsKLSAgICB9IGVsc2UgaWYg
KFNWR1VSSVJlZmVyZW5jZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpIHsKLSAgICB9IGVs
c2UKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBpZiAoU1ZHVVJJUmVmZXJlbmNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkK
KyAgICAgICAgcmV0dXJuOwogCi0gICAgcmVwb3J0QXR0cmlidXRlUGFyc2luZ0Vycm9yKHBhcnNl
RXJyb3IsIGF0dHIpOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIFNWR1Rl
eHRQYXRoRWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyTmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAppbmRleCAxNDU5MDY1NzVi
YTI1ZWU1NzA2OTE4OTQ4MTQzMTFhZTMyZDBjNWRjLi5mM2YyOGE2MzRiYWFkOGNmMzliNmI1M2Uy
MWI2MDY0NDg1YjU4MGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCkBAIC0x
MjksMjYgKzEyOSw0NSBAQCBib29sIFNWR1VzZUVsZW1lbnQ6OmlzU3VwcG9ydGVkQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKQogCiB2b2lkIFNWR1VzZUVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIHsKLSAgICBTVkdQYXJzaW5nRXJy
b3IgcGFyc2VFcnJvciA9IE5vRXJyb3I7Ci0KLSAgICBpZiAoIWlzU3VwcG9ydGVkQXR0cmlidXRl
KGF0dHItPm5hbWUoKSkpCisgICAgaWYgKCFpc1N1cHBvcnRlZEF0dHJpYnV0ZShhdHRyLT5uYW1l
KCkpKSB7CiAgICAgICAgIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyKTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6
OnhBdHRyKQotICAgICAgICBzZXRYQmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0
aE1vZGVXaWR0aCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VFcnJvcikpOwotICAgIGVsc2UgaWYgKGF0
dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6eUF0dHIpCi0gICAgICAgIHNldFlCYXNlVmFsdWUoU1ZH
TGVuZ3RoOjpjb25zdHJ1Y3QoTGVuZ3RoTW9kZUhlaWdodCwgYXR0ci0+dmFsdWUoKSwgcGFyc2VF
cnJvcikpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6d2lkdGhBdHRy
KQotICAgICAgICBzZXRXaWR0aEJhc2VWYWx1ZShTVkdMZW5ndGg6OmNvbnN0cnVjdChMZW5ndGhN
b2RlV2lkdGgsIGF0dHItPnZhbHVlKCksIHBhcnNlRXJyb3IsIEZvcmJpZE5lZ2F0aXZlTGVuZ3Ro
cykpOwotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikK
LSAgICAgICAgc2V0SGVpZ2h0QmFzZVZhbHVlKFNWR0xlbmd0aDo6Y29uc3RydWN0KExlbmd0aE1v
ZGVIZWlnaHQsIGF0dHItPnZhbHVlKCksIHBhcnNlRXJyb3IsIEZvcmJpZE5lZ2F0aXZlTGVuZ3Ro
cykpOwotICAgIGVsc2UgaWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKQot
ICAgICAgICAgICAgIHx8IFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikK
LSAgICAgICAgICAgICB8fCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyKQotICAgICAgICAgICAgIHx8IFNWR1VSSVJlZmVyZW5jZTo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoYXR0cikpIHsKLSAgICB9IGVsc2UKLSAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXR0ci0+bmFtZSgp
ID09IFNWR05hbWVzOjp4QXR0cikgeworICAgICAgICBzZXRYQmFzZVZhbHVlKFNWR0xlbmd0aChM
ZW5ndGhNb2RlV2lkdGgsIGF0dHItPnZhbHVlKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnlBdHRyKSB7CisgICAgICAgIHNl
dFlCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVIZWlnaHQsIGF0dHItPnZhbHVlKCkpKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFt
ZXM6OndpZHRoQXR0cikgeworICAgICAgICBzZXRXaWR0aEJhc2VWYWx1ZShTVkdMZW5ndGgoTGVu
Z3RoTW9kZVdpZHRoLCBhdHRyLT52YWx1ZSgpKSk7CisgICAgICAgIGlmICh3aWR0aEJhc2VWYWx1
ZSgpLnZhbHVlKHRoaXMpIDwgMCkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4
dGVuc2lvbnMoKS0+cmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9yIHVzZSBhdHRyaWJ1
dGUgPHdpZHRoPiBpcyBub3QgYWxsb3dlZCIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aGVpZ2h0QXR0cikgeworICAgICAgICBz
ZXRIZWlnaHRCYXNlVmFsdWUoU1ZHTGVuZ3RoKExlbmd0aE1vZGVIZWlnaHQsIGF0dHItPnZhbHVl
KCkpKTsKKyAgICAgICAgaWYgKGhlaWdodEJhc2VWYWx1ZSgpLnZhbHVlKHRoaXMpIDwgMCkKKyAg
ICAgICAgICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVwb3J0RXJyb3Io
IkEgbmVnYXRpdmUgdmFsdWUgZm9yIHVzZSBhdHRyaWJ1dGUgPGhlaWdodD4gaXMgbm90IGFsbG93
ZWQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIHJlcG9ydEF0dHJpYnV0ZVBhcnNp
bmdFcnJvcihwYXJzZUVycm9yLCBhdHRyKTsKKyAgICBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGF0dHIpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKFNWR0xhbmdTcGFjZTo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpCisg
ICAgICAgIHJldHVybjsKKyAgICBpZiAoU1ZHVVJJUmVmZXJlbmNlOjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShhdHRyKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1dlbGxGb3JtZWREb2N1bWVudChEb2N1bWVudCog
ZG9jdW1lbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>