<?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>68613</bug_id>
          
          <creation_ts>2011-09-22 05:39:48 -0700</creation_ts>
          <short_desc>Web Inspector: split DOM.attributesUpdated into attributeModified and attributeRemoved. Send attribute name and value within the event.</short_desc>
          <delta_ts>2011-09-27 07:12:16 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>471504</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-22 05:39:48 -0700</bug_when>
    <thetext>This change also splits attributeModified and attributeRemoved notifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473143</commentid>
    <comment_count>1</comment_count>
      <attachid>108677</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-26 09:32:24 -0700</bug_when>
    <thetext>Created attachment 108677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473849</commentid>
    <comment_count>2</comment_count>
      <attachid>108677</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-27 04:51:37 -0700</bug_when>
    <thetext>Comment on attachment 108677
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=108677&amp;action=review

&gt; Source/WebCore/inspector/Inspector.draft-01.json:1182
&gt; +                    { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Local attirbute name.&quot; },

typo: attirbute -&gt; attribute, I&apos;d also change it to Attribute&apos;s local name.

&gt; Source/WebCore/inspector/Inspector.draft-01.json:1183
&gt; +                    { &quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Attirbute name.&quot; }

Attirbute name. -&gt; New attribute value.

&gt; Source/WebCore/inspector/Inspector.json:1183
&gt; +                    { &quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Attirbute name.&quot; }

Same typos here.

&gt; Source/WebCore/inspector/front-end/StylesSidebarPane.js:1681
&gt; +        this._parentPane._userOperation = true;

This lines don&apos;t seem to be a part of this change, remove them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473914</commentid>
    <comment_count>3</comment_count>
      <attachid>108842</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-27 06:58:14 -0700</bug_when>
    <thetext>Created attachment 108842
[Patch] separated attrRemoved event on the front-end as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473919</commentid>
    <comment_count>4</comment_count>
      <attachid>108842</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-27 07:07:33 -0700</bug_when>
    <thetext>Comment on attachment 108842
[Patch] separated attrRemoved event on the front-end as well.

View in context: https://bugs.webkit.org/attachment.cgi?id=108842&amp;action=review

&gt; LayoutTests/inspector/elements/mutate-unknown-node.html-disabled:31
&gt; +        node = event.data.node || event.data;

Please use two separate listeners instead.

&gt; Source/WebCore/inspector/front-end/StylesSidebarPane.js:287
&gt; +        // Chanding style attribute will anyways generate _styleInvalidated message. 

Changing

&gt; Source/WebCore/inspector/front-end/StylesSidebarPane.js:291
&gt; +        // &quot;classname&quot; attribute might have changed. Update styles unless they are being edited.

classname -&gt; class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473921</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-27 07:12:16 -0700</bug_when>
    <thetext>Committed r96106: &lt;http://trac.webkit.org/changeset/96106&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108677</attachid>
            <date>2011-09-26 09:32:24 -0700</date>
            <delta_ts>2011-09-27 06:58:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68613-20110926203222.patch</filename>
            <type>text/plain</type>
            <size>19253</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU5NTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkOGMyODhiNWEwOGYwNTIwNmNiNzU2
YTk2Y2FiMjM4MmNiMzljNjI4Li4xZTZhMDhlMjY4NWVlYmNjOTE1ZGZhZjI2YjJkZmFiMjUxYTNm
YmJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMjYgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNwbGl0IERPTS5h
dHRyaWJ1dGVzVXBkYXRlZCBpbnRvIGF0dHJpYnV0ZU1vZGlmaWVkIGFuZCBhdHRyaWJ1dGVSZW1v
dmVkLgorICAgICAgICBTZW5kIGF0dHJpYnV0ZSBuYW1lIGFuZCB2YWx1ZSB3aXRoaW4gdGhlIGV2
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2
MTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGlu
c3BlY3Rvci9lbGVtZW50cy9zZXQtYXR0cmlidXRlLmh0bWw6CisKIDIwMTEtMDktMjYgIFpzb2x0
IEZlaMOpciAgPGZlaGVyenNAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFVucmV2aWV3ZWQg
UXQgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
L3NldC1hdHRyaWJ1dGUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQt
YXR0cmlidXRlLmh0bWwKaW5kZXggY2FhZTAzOGI0ZjE0MDM0OTU3MzE1MzhhYjk3NDE0NDg3MGIw
YWQxMy4uOGYyMGFjZWEyOTY1MzFhM2FjMzc0NzMyYjI3NjgzZjM0NzY1MDczNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvc2V0LWF0dHJpYnV0ZS5odG1sCkBAIC03
Niw2ICs3Niw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CiAgICAgICAgICAgICBmdW5j
dGlvbiBjYWxsYmFjaygpCiAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKHRhcmdl
dE5vZGUuZ2V0QXR0cmlidXRlKCJmb28iKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAg
Ly8gV2FpdGluZyBmb3IgdGhlIGxhc3QgYXR0cmlidXRlIGNoYW5nZSB0byBjb21taXQuCisKICAg
ICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOwogICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9PT0gU2V0IGF0dHJpYnV0ZSBh
cyB0ZXh0ID09PSIpOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVsZW1lbnRz
VHJlZSh0YXJnZXROb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YTZiZWUwYzFhMjM3YmU5MzQwYzkxZTMw
NTUyZDY4NzQ1MjdlYTY3Li5iYjEzOTk5OTUzZDg1ZmE2NDBjNWI0MzQ4MzdiZDg0YWRkODM1ZjMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDEgQEAKIDIwMTEtMDktMjYgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBnb29nbGUuY29tPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNwbGl0IERP
TS5hdHRyaWJ1dGVzVXBkYXRlZCBpbnRvIGF0dHJpYnV0ZU1vZGlmaWVkIGFuZCBhdHRyaWJ1dGVS
ZW1vdmVkLiBTZW5kIGF0dHJpYnV0ZSBuYW1lIGFuZCB2YWx1ZSB3aXRoaW4gdGhlIGV2ZW50Lgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEF0dHJpYnV0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVBdHRyaWJ1dGUpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3IuZHJhZnQtMDEuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpkaWRNb2RpZnlET01BdHRyKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpkaWRSZW1vdmVET01BdHRyKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTW9kaWZ5RE9NQXR0ckltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZW1vdmVET01BdHRySW1wbCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNb2RpZnlET01BdHRyKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVtb3ZlRE9NQXR0
cik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZS5fYWRkQXR0cmlidXRlKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZS5fc2V0QXR0cmlidXRlKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZS5fcmVtb3ZlQXR0cmlidXRlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUuX2F0dHJpYnV0ZU1vZGlmaWVkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUuX2F0dHJpYnV0ZVJlbW92
ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZS5faW5saW5lU3R5
bGVJbnZhbGlkYXRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NRGlzcGF0Y2hlci5wcm90
b3R5cGUuYXR0cmlidXRlTW9kaWZpZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTURpc3Bh
dGNoZXIucHJvdG90eXBlLmF0dHJpYnV0ZVJlbW92ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5
bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS5ldmVudCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSk6CisgICAgICAgICogaW5z
cGVjdG9yL3ZhbGlkYXRlLXByb3RvY29sLWNvbXBhdGliaWxpdHk6CisKKzIwMTEtMDktMjYgIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGludHJvZHVjZSBwcm90b2NvbCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB2YWxpZGF0b3Iu
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODgwMAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggNWJmMDA3YWUxZWU5OWZkZjMzMTAxZDY0NmQ1YWQ3
NjdiMDk2YzIwMi4uYjE2NjIzYmFhYzkzMTAxYjEzYzIzNGQ0MzM0NTY3YmUyZTY3ZTYwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcApAQCAtNjQ2LDcgKzY0Niw3IEBAIHZvaWQgRWxlbWVudDo6c2V0
QXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2
YWx1ZSwKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKCFpc1N5bmNocm9uaXppbmdT
dHlsZUF0dHJpYnV0ZSgpKQotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1v
ZGlmeURPTUF0dHIoZG9jdW1lbnQoKSwgdGhpcyk7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkTW9kaWZ5RE9NQXR0cihkb2N1bWVudCgpLCB0aGlzLCBuYW1lLCB2YWx1ZSk7
CiAjZW5kaWYKIH0KIApAQCAtNjc5LDcgKzY3OSw3IEBAIHZvaWQgRWxlbWVudDo6c2V0QXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUs
CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmICghaXNTeW5jaHJvbml6aW5nU3R5bGVB
dHRyaWJ1dGUoKSkKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNb2RpZnlE
T01BdHRyKGRvY3VtZW50KCksIHRoaXMpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZE1vZGlmeURPTUF0dHIoZG9jdW1lbnQoKSwgdGhpcywgbmFtZS5sb2NhbE5hbWUoKSwg
dmFsdWUpOwogI2VuZGlmCiB9CiAKQEAgLTE1MTEsNyArMTUxMSw3IEBAIHZvaWQgRWxlbWVudDo6
cmVtb3ZlQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiAg
ICAgICAgICAgICBlYyA9IDA7CiAgICAgfQogICAgIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkTW9kaWZ5RE9NQXR0cihkb2N1bWVudCgpLCB0aGlzKTsKKyAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZFJlbW92ZURPTUF0dHIoZG9jdW1lbnQoKSwgdGhpcywgbmFtZSk7
CiB9CiAKIHZvaWQgRWxlbWVudDo6cmVtb3ZlQXR0cmlidXRlTlMoY29uc3QgU3RyaW5nJiBuYW1l
c3BhY2VVUkksIGNvbnN0IFN0cmluZyYgbG9jYWxOYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuZHJhZnQtMDEuanNv
biBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuZHJhZnQtMDEuanNvbgppbmRl
eCBiNjA5ZTc3MGI3NGRmODNjNTgyNzM5NThiYjZhZjdlOTJhNGFlZTdlLi4xMThiNGY1M2RhZTZk
ZGRmNGVkZTU3NDNlZjM2MTQ4MmZhMmNhNzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmRyYWZ0LTAxLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5kcmFmdC0wMS5qc29uCkBAIC0xMTc2LDExICsxMTc2LDIxIEBACiAg
ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gYmFja2VuZCB3YW50cyB0
byBwcm92aWRlIGNsaWVudCB3aXRoIHRoZSBtaXNzaW5nIERPTSBzdHJ1Y3R1cmUuIFRoaXMgaGFw
cGVucyB1cG9uIG1vc3Qgb2YgdGhlIGNhbGxzIHJlcXVlc3Rpbmcgbm9kZSBpZHMuIgogICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhdHRyaWJ1
dGVzVXBkYXRlZCIsCisgICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0cmlidXRlTW9kaWZpZWQi
LAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJJZCBv
ZiB0aGUgbm9kZSB0aGF0IGhhcyBjaGFuZ2VkLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJJZCBvZiB0
aGUgbm9kZSB0aGF0IGhhcyBjaGFuZ2VkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJuYW1lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkxvY2FsIGF0dGly
YnV0ZSBuYW1lLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ2YWx1ZSIsICJ0
eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJBdHRpcmJ1dGUgbmFtZS4iIH0KKyAgICAg
ICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVu
IDxjb2RlPkVsZW1lbnQ8L2NvZGU+J3MgYXR0cmlidXRlIGlzIG1vZGlmaWVkLiIKKyAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0cmlidXRl
UmVtb3ZlZCIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9u
IjogIklkIG9mIHRoZSBub2RlIHRoYXQgaGFzIGNoYW5nZWQuIiB9LAorICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIm5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAi
TG9jYWwgYXR0aXJidXRlIG5hbWUuIiB9CiAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiA8Y29kZT5FbGVtZW50PC9jb2RlPidzIGF0
dHJpYnV0ZXMgYXJlIHVwZGF0ZWQuIgorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJG
aXJlZCB3aGVuIDxjb2RlPkVsZW1lbnQ8L2NvZGU+J3MgYXR0cmlidXRlIGlzIHJlbW92ZWQuIgog
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJp
bmxpbmVTdHlsZUludmFsaWRhdGVkIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbgppbmRleCBiNjA5ZTc3MGI3NGRmODNjNTgyNzM5NThiYjZhZjdlOTJhNGFlZTdlLi4xMThi
NGY1M2RhZTZkZGRmNGVkZTU3NDNlZjM2MTQ4MmZhMmNhNzIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xMTc2LDExICsxMTc2LDIxIEBACiAgICAgICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gYmFja2VuZCB3YW50cyB0byBwcm92aWRl
IGNsaWVudCB3aXRoIHRoZSBtaXNzaW5nIERPTSBzdHJ1Y3R1cmUuIFRoaXMgaGFwcGVucyB1cG9u
IG1vc3Qgb2YgdGhlIGNhbGxzIHJlcXVlc3Rpbmcgbm9kZSBpZHMuIgogICAgICAgICAgICAgfSwK
ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJhdHRyaWJ1dGVzVXBkYXRl
ZCIsCisgICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0cmlidXRlTW9kaWZpZWQiLAogICAgICAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
Im5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJJZCBvZiB0aGUgbm9k
ZSB0aGF0IGhhcyBjaGFuZ2VkLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5v
ZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJJZCBvZiB0aGUgbm9kZSB0
aGF0IGhhcyBjaGFuZ2VkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuYW1l
IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkxvY2FsIGF0dGlyYnV0ZSBuYW1l
LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ2YWx1ZSIsICJ0eXBlIjogInN0
cmluZyIsICJkZXNjcmlwdGlvbiI6ICJBdHRpcmJ1dGUgbmFtZS4iIH0KKyAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIDxjb2RlPkVs
ZW1lbnQ8L2NvZGU+J3MgYXR0cmlidXRlIGlzIG1vZGlmaWVkLiIKKyAgICAgICAgICAgIH0sCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0cmlidXRlUmVtb3ZlZCIs
CisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9kZUlkIiwgImRlc2NyaXB0aW9uIjogIklkIG9m
IHRoZSBub2RlIHRoYXQgaGFzIGNoYW5nZWQuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogIm5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiTG9jYWwgYXR0
aXJidXRlIG5hbWUuIiB9CiAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRmlyZWQgd2hlbiA8Y29kZT5FbGVtZW50PC9jb2RlPidzIGF0dHJpYnV0ZXMg
YXJlIHVwZGF0ZWQuIgorICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVu
IDxjb2RlPkVsZW1lbnQ8L2NvZGU+J3MgYXR0cmlidXRlIGlzIHJlbW92ZWQuIgogICAgICAgICAg
ICAgfSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJpbmxpbmVTdHls
ZUludmFsaWRhdGVkIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuY3BwCmluZGV4IDUyM2U5M2NhYWQ0NDBkNmM5YWQzZTFmOGRkYmY1YTMyY2FjOTc4ZTIu
LjQzMTlhOTk2YjY4OTcwN2NjOTI5MzU2ZDEwZmMyOGRmMTE0MTA5NWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTQ0Nyw3ICsxNDQ3
LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkUmVtb3ZlRE9NTm9kZShOb2RlKiBub2Rl
KQogICAgIHVuYmluZChub2RlLCAmbV9kb2N1bWVudE5vZGVUb0lkTWFwKTsKIH0KIAotdm9pZCBJ
bnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5RE9NQXR0cihFbGVtZW50KiBlbGVtZW50KQordm9p
ZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5RE9NQXR0cihFbGVtZW50KiBlbGVtZW50LCBj
b25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiB7CiAg
ICAgaW50IGlkID0gYm91bmROb2RlSWQoZWxlbWVudCk7CiAgICAgLy8gSWYgbm9kZSBpcyBub3Qg
bWFwcGVkIHlldCAtPiBpZ25vcmUgdGhlIGV2ZW50LgpAQCAtMTQ1Nyw3ICsxNDU3LDIwIEBAIHZv
aWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmRpZE1vZGlmeURPTUF0dHIoRWxlbWVudCogZWxlbWVudCkK
ICAgICBpZiAobV9kb21MaXN0ZW5lcikKICAgICAgICAgbV9kb21MaXN0ZW5lci0+ZGlkTW9kaWZ5
RE9NQXR0cihlbGVtZW50KTsKIAotICAgIG1fZnJvbnRlbmQtPmF0dHJpYnV0ZXNVcGRhdGVkKGlk
KTsKKyAgICBtX2Zyb250ZW5kLT5hdHRyaWJ1dGVNb2RpZmllZChpZCwgbmFtZSwgdmFsdWUpOwor
fQorCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpkaWRSZW1vdmVET01BdHRyKEVsZW1lbnQqIGVs
ZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKK3sKKyAgICBpbnQgaWQgPSBib3VuZE5v
ZGVJZChlbGVtZW50KTsKKyAgICAvLyBJZiBub2RlIGlzIG5vdCBtYXBwZWQgeWV0IC0+IGlnbm9y
ZSB0aGUgZXZlbnQuCisgICAgaWYgKCFpZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKG1f
ZG9tTGlzdGVuZXIpCisgICAgICAgIG1fZG9tTGlzdGVuZXItPmRpZE1vZGlmeURPTUF0dHIoZWxl
bWVudCk7CisKKyAgICBtX2Zyb250ZW5kLT5hdHRyaWJ1dGVSZW1vdmVkKGlkLCBuYW1lKTsKIH0K
IAogdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c3R5bGVBdHRyaWJ1dGVJbnZhbGlkYXRlZChjb25z
dCBWZWN0b3I8RWxlbWVudCo+JiBlbGVtZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggMWRiZDA5ZTQ3ZGI0ZmE0OGI3NThjZmE3NmUyMTcw
NmU5NGM0NDkyZS4uYWZmNDA4MTJkMDU1ZGJiNGEzODcxMzQxODUzYTY3NDdkY2U3NTE0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKQEAgLTE1MCw3
ICsxNTAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZEluc2VydERPTU5vZGUoTm9kZSopOwog
ICAgIHZvaWQgZGlkUmVtb3ZlRE9NTm9kZShOb2RlKik7Ci0gICAgdm9pZCBkaWRNb2RpZnlET01B
dHRyKEVsZW1lbnQqKTsKKyAgICB2b2lkIGRpZE1vZGlmeURPTUF0dHIoRWxlbWVudCosIGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSk7CisgICAgdm9p
ZCBkaWRSZW1vdmVET01BdHRyKEVsZW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpOwog
ICAgIHZvaWQgc3R5bGVBdHRyaWJ1dGVJbnZhbGlkYXRlZChjb25zdCBWZWN0b3I8RWxlbWVudCo+
JiBlbGVtZW50cyk7CiAgICAgdm9pZCBjaGFyYWN0ZXJEYXRhTW9kaWZpZWQoQ2hhcmFjdGVyRGF0
YSopOwogICAgIHZvaWQgZGlkSW52YWxpZGF0ZVN0eWxlQXR0cihOb2RlKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmlu
ZGV4IDNjOTRkNDIwZTUxMTdmNDRkMmU4MWQ4YTQxYzAzZjRlNDJlNTBlMzYuLmNiZDFmYWNkMDNk
ZGFlZTFjNWRkOWFkMDNjNzc5ZDVjZmI3NzhjYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC0xNDYsMTAgKzE0
NiwxNiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbE1vZGlmeURPTUF0dHJJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydQogI2VuZGlmCiB9CiAKLXZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNb2RpZnlET01BdHRySW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBFbGVtZW50KiBlbGVtZW50KQordm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZE1vZGlmeURPTUF0dHJJbXBsKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKIHsKICAgICBpZiAoSW5zcGVj
dG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRE9N
QWdlbnQoKSkKLSAgICAgICAgZG9tQWdlbnQtPmRpZE1vZGlmeURPTUF0dHIoZWxlbWVudCk7Cisg
ICAgICAgIGRvbUFnZW50LT5kaWRNb2RpZnlET01BdHRyKGVsZW1lbnQsIG5hbWUsIHZhbHVlKTsK
K30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlbW92ZURPTUF0dHJJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEVsZW1lbnQqIGVsZW1l
bnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKK3sKKyAgICBpZiAoSW5zcGVjdG9yRE9NQWdl
bnQqIGRvbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yRE9NQWdlbnQoKSkK
KyAgICAgICAgZG9tQWdlbnQtPmRpZFJlbW92ZURPTUF0dHIoZWxlbWVudCwgbmFtZSk7CiB9CiAK
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlkYXRlU3R5bGVBdHRySW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBOb2RlKiBub2RlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oCmluZGV4IGMyY2Q0NzEyOGZmZDkzODI0M2RmYWMyNmIyYzE0YmZkM2ZlMzZkZDEuLjZiODM3
Mjc0MzQ1YmUxZjVlYWQzNWY1MWEzZWJkMjJkYTIyYTdlN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTgxLDcgKzgx
LDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZEluc2VydERPTU5vZGUoRG9jdW1lbnQq
LCBOb2RlKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZURPTU5vZGUoRG9jdW1lbnQqLCBO
b2RlKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbE1vZGlmeURPTUF0dHIoRG9jdW1lbnQqLCBFbGVt
ZW50Kik7Ci0gICAgc3RhdGljIHZvaWQgZGlkTW9kaWZ5RE9NQXR0cihEb2N1bWVudCosIEVsZW1l
bnQqKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRNb2RpZnlET01BdHRyKERvY3VtZW50KiwgRWxlbWVu
dCosIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSk7
CisgICAgc3RhdGljIHZvaWQgZGlkUmVtb3ZlRE9NQXR0cihEb2N1bWVudCosIEVsZW1lbnQqLCBj
b25zdCBBdG9taWNTdHJpbmcmIG5hbWUpOwogICAgIHN0YXRpYyB2b2lkIGNoYXJhY3RlckRhdGFN
b2RpZmllZChEb2N1bWVudCosIENoYXJhY3RlckRhdGEqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRJ
bnZhbGlkYXRlU3R5bGVBdHRyKERvY3VtZW50KiwgTm9kZSopOwogICAgIHN0YXRpYyB2b2lkIGZy
YW1lV2luZG93RGlzY2FyZGVkKEZyYW1lKiwgRE9NV2luZG93Kik7CkBAIC0yMTEsNyArMjEyLDgg
QEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCB3aWxsUmVtb3ZlRE9NTm9kZUltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyosIE5vZGUqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRSZW1vdmVET01Ob2Rl
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTm9kZSopOwogICAgIHN0YXRpYyB2b2lkIHdpbGxN
b2RpZnlET01BdHRySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRWxlbWVudCopOwotICAgIHN0
YXRpYyB2b2lkIGRpZE1vZGlmeURPTUF0dHJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBFbGVt
ZW50Kik7CisgICAgc3RhdGljIHZvaWQgZGlkTW9kaWZ5RE9NQXR0ckltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIEVsZW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21p
Y1N0cmluZyYgdmFsdWUpOworICAgIHN0YXRpYyB2b2lkIGRpZFJlbW92ZURPTUF0dHJJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqLCBFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKTsK
ICAgICBzdGF0aWMgdm9pZCBjaGFyYWN0ZXJEYXRhTW9kaWZpZWRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqLCBDaGFyYWN0ZXJEYXRhKik7CiAgICAgc3RhdGljIHZvaWQgZGlkSW52YWxpZGF0ZVN0
eWxlQXR0ckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE5vZGUqKTsKICAgICBzdGF0aWMgdm9p
ZCBmcmFtZVdpbmRvd0Rpc2NhcmRlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIERPTVdpbmRv
dyopOwpAQCAtMzkwLDEyICszOTIsMjEgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjp3aWxsTW9kaWZ5RE9NQXR0cihEb2N1bWVudCogZG9jdW1lbnQsIEVsZW0KICNlbmRp
ZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1vZGlmeURP
TUF0dHIoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVtZW50KiBlbGVtZW50KQoraW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNb2RpZnlET01BdHRyKERvY3VtZW50KiBkb2N1
bWVudCwgRWxlbWVudCogZWxlbWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBB
dG9taWNTdHJpbmcmIHZhbHVlKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgRkFTVF9S
RVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQo
ZG9jdW1lbnQpKQotICAgICAgICBkaWRNb2RpZnlET01BdHRySW1wbChpbnN0cnVtZW50aW5nQWdl
bnRzLCBlbGVtZW50KTsKKyAgICAgICAgZGlkTW9kaWZ5RE9NQXR0ckltcGwoaW5zdHJ1bWVudGlu
Z0FnZW50cywgZWxlbWVudCwgbmFtZSwgdmFsdWUpOworI2VuZGlmCit9CisKK2lubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVtb3ZlRE9NQXR0cihEb2N1bWVudCogZG9j
dW1lbnQsIEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKK3sKKyNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lk
KCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKKyAgICAgICAgZGlkUmVt
b3ZlRE9NQXR0ckltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZWxlbWVudCwgbmFtZSk7CiAjZW5k
aWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
T01BZ2VudC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQu
anMKaW5kZXggODI4NDQzNTE3NTBjN2RiMzQ3NWMyM2Y3YTc3MTMxYzFhN2VhNGE4OS4uNzVjMTI1
MGQzMmFmNTZmMDBiM2Q5ZjJkYmJmN2FkYzAyOWM5MDc0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCkBAIC0zMzAsMTQgKzMzMCwzMiBAQCBX
ZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgX2FkZEF0dHJpYnV0ZTogZnVu
Y3Rpb24obmFtZSwgdmFsdWUpCiAgICAgewogICAgICAgICB2YXIgYXR0ciA9IHsKLSAgICAgICAg
ICAgICJuYW1lIjogbmFtZSwKLSAgICAgICAgICAgICJ2YWx1ZSI6IHZhbHVlLAotICAgICAgICAg
ICAgIl9ub2RlIjogdGhpcworICAgICAgICAgICAgbmFtZTogbmFtZSwKKyAgICAgICAgICAgIHZh
bHVlOiB2YWx1ZSwKKyAgICAgICAgICAgIF9ub2RlOiB0aGlzCiAgICAgICAgIH07CiAgICAgICAg
IHRoaXMuX2F0dHJpYnV0ZXNNYXBbbmFtZV0gPSBhdHRyOwogICAgICAgICB0aGlzLl9hdHRyaWJ1
dGVzLnB1c2goYXR0cik7CiAgICAgfSwKIAorICAgIF9zZXRBdHRyaWJ1dGU6IGZ1bmN0aW9uKG5h
bWUsIHZhbHVlKQorICAgIHsKKyAgICAgICAgdmFyIGF0dHIgPSB0aGlzLl9hdHRyaWJ1dGVzTWFw
W25hbWVdOworICAgICAgICBpZiAoYXR0cikKKyAgICAgICAgICAgIGF0dHIudmFsdWUgPSB2YWx1
ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fYWRkQXR0cmlidXRlKG5hbWUsIHZh
bHVlKTsKKyAgICB9LAorCisgICAgX3JlbW92ZUF0dHJpYnV0ZTogZnVuY3Rpb24obmFtZSkKKyAg
ICB7CisgICAgICAgIHZhciBhdHRyID0gdGhpcy5fYXR0cmlidXRlc01hcFtuYW1lXTsKKyAgICAg
ICAgaWYgKGF0dHIpIHsKKyAgICAgICAgICAgIHRoaXMuX2F0dHJpYnV0ZXMucmVtb3ZlKGF0dHIp
OworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2F0dHJpYnV0ZXNNYXBbbmFtZV07CisgICAgICAg
IH0KKyAgICB9LAorCiAgICAgb3duZXJEb2N1bWVudEVsZW1lbnQ6IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIC8vIGRvY3VtZW50IGVsZW1lbnQgaXMgdGhlIGNoaWxkIG9mIHRoZSBkb2N1bWVu
dCAvIGZyYW1lIG93bmVyIG5vZGUgdGhhdCBoYXMgZG9jdW1lbnRVUkwgcHJvcGVydHkuCkBAIC00
NjQsMTggKzQ4MiwyNSBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLnJlcXVlc3REb2N1bWVudChvbkRvY3VtZW50QXZhaWxhYmxlLmJpbmQodGhpcykp
OwogICAgIH0sCiAKLSAgICBfYXR0cmlidXRlc1VwZGF0ZWQ6IGZ1bmN0aW9uKG5vZGVJZHMpCisg
ICAgX2F0dHJpYnV0ZU1vZGlmaWVkOiBmdW5jdGlvbihub2RlSWQsIG5hbWUsIHZhbHVlKQogICAg
IHsKLSAgICAgICAgdGhpcy5fbG9hZE5vZGVBdHRyaWJ1dGVzU29vbihub2RlSWRzKTsKKyAgICAg
ICAgdmFyIG5vZGUgPSB0aGlzLl9pZFRvRE9NTm9kZVtub2RlSWRdOworICAgICAgICBpZiAoIW5v
ZGUpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG5vZGUuX3NldEF0dHJpYnV0ZShuYW1l
LCB2YWx1ZSk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3Bl
Y3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCBub2RlKTsKICAgICB9LAogCi0gICAg
X2lubGluZVN0eWxlSW52YWxpZGF0ZWQ6IGZ1bmN0aW9uKG5vZGVJZHMpCisgICAgX2F0dHJpYnV0
ZVJlbW92ZWQ6IGZ1bmN0aW9uKG5vZGVJZCwgbmFtZSkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1F
OiBoYW5kbGUgZGlmZmVyZW50bHkgKHdlIGRvbid0IG5lY2Vzc2FyaWx5IG5lZWQgdG8gdXBkYXRl
IGF0dHJpYnV0ZXMgdXBvbiB0aGlzIG1lc3NhZ2UpLgotICAgICAgICB0aGlzLl9sb2FkTm9kZUF0
dHJpYnV0ZXNTb29uKG5vZGVJZHMpOworICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2lkVG9ET01O
b2RlW25vZGVJZF07CisgICAgICAgIGlmICghbm9kZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgbm9kZS5fcmVtb3ZlQXR0cmlidXRlKG5hbWUpOworICAgICAgICB0aGlzLmRpc3BhdGNo
RXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmll
ZCwgbm9kZSk7CiAgICAgfSwKIAotICAgIF9sb2FkTm9kZUF0dHJpYnV0ZXNTb29uOiBmdW5jdGlv
bihub2RlSWRzKQorICAgIF9pbmxpbmVTdHlsZUludmFsaWRhdGVkOiBmdW5jdGlvbihub2RlSWRz
KQogICAgIHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlSWRzLmxlbmd0aDsgKytp
KQogICAgICAgICAgICAgdGhpcy5fYXR0cmlidXRlTG9hZE5vZGVJZHNbbm9kZUlkc1tpXV0gPSB0
cnVlOwpAQCAtNjQxLDkgKzY2NiwxNCBAQCBXZWJJbnNwZWN0b3IuRE9NRGlzcGF0Y2hlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2RvbUFnZW50Ll9kb2N1bWVudFVwZGF0ZWQoKTsKICAg
ICB9LAogCi0gICAgYXR0cmlidXRlc1VwZGF0ZWQ6IGZ1bmN0aW9uKG5vZGVJZCkKKyAgICBhdHRy
aWJ1dGVNb2RpZmllZDogZnVuY3Rpb24obm9kZUlkLCBuYW1lLCB2YWx1ZSkKKyAgICB7CisgICAg
ICAgIHRoaXMuX2RvbUFnZW50Ll9hdHRyaWJ1dGVNb2RpZmllZChub2RlSWQsIG5hbWUsIHZhbHVl
KTsKKyAgICB9LAorCisgICAgYXR0cmlidXRlUmVtb3ZlZDogZnVuY3Rpb24obm9kZUlkLCBuYW1l
KQogICAgIHsKLSAgICAgICAgdGhpcy5fZG9tQWdlbnQuX2F0dHJpYnV0ZXNVcGRhdGVkKFtub2Rl
SWRdKTsKKyAgICAgICAgdGhpcy5fZG9tQWdlbnQuX2F0dHJpYnV0ZVJlbW92ZWQobm9kZUlkLCBu
YW1lKTsKICAgICB9LAogCiAgICAgaW5saW5lU3R5bGVJbnZhbGlkYXRlZDogZnVuY3Rpb24obm9k
ZUlkcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5
bGVzU2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0
eWxlc1NpZGViYXJQYW5lLmpzCmluZGV4IGE0MTI5MWVhZWVmYzQxNGE5ZmI2NDIxZmU3ZDZiYjBi
YmJjNDQxMTcuLjU5M2UzZjg3NWVkZWFhMzQxMGNiZDNlODRkMjhlZGI5NTg5NmE4OTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBh
bmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRl
YmFyUGFuZS5qcwpAQCAtMTY3NCw4ICsxNjc0LDExIEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3Bl
cnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHRoaXMudHJlZU91
dGxpbmUuc2VjdGlvbi5wYW5lLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycygic3R5bGUgcHJvcGVy
dHkgdG9nZ2xlZCIpOwogCiAgICAgICAgICAgICB0aGlzLl91cGRhdGVQYW5lKCk7CisKKyAgICAg
ICAgICAgIGRlbGV0ZSB0aGlzLl9wYXJlbnRQYW5lLl91c2VyT3BlcmF0aW9uOwogICAgICAgICB9
CiAKKyAgICAgICAgdGhpcy5fcGFyZW50UGFuZS5fdXNlck9wZXJhdGlvbiA9IHRydWU7CiAgICAg
ICAgIHRoaXMucHJvcGVydHkuc2V0RGlzYWJsZWQoZGlzYWJsZWQsIGNhbGxiYWNrLmJpbmQodGhp
cykpOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci92YWxp
ZGF0ZS1wcm90b2NvbC1jb21wYXRpYmlsaXR5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Zh
bGlkYXRlLXByb3RvY29sLWNvbXBhdGliaWxpdHkKaW5kZXggNjc4Yjk0NjMyNjI5YmEyMTFiZTNl
ZmJkMDc4NmM5NzE3MWRiNjE3Yi4uYjlhNWE2ZDdiNTUyNDllYWMzZDMxZmUwYmFkZjA4NWI5ZDc5
NjE2MCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3ZhbGlkYXRlLXByb3Rv
Y29sLWNvbXBhdGliaWxpdHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3ZhbGlkYXRl
LXByb3RvY29sLWNvbXBhdGliaWxpdHkKQEAgLTMxMCw3ICszMTAsMTAgQEAgZGVmIG1haW4oKToK
IAogICAgIHNjaGVtYV8xID0gbG9hZF9qc29uKHN5cy5hcmd2WzFdKQogICAgIHNjaGVtYV8yID0g
bG9hZF9qc29uKHN5cy5hcmd2WzJdKQotICAgIGNvbXBhcmVfc2NoZW1hcyhzY2hlbWFfMSwgc2No
ZW1hXzIpCisKKyAgICBlcnJvcnMgPSBjb21wYXJlX3NjaGVtYXMoc2NoZW1hXzEsIHNjaGVtYV8y
KQorICAgIGZvciBlcnJvciBpbiBlcnJvcnM6CisgICAgICAgIHByaW50IGVycm9yCiAKIGlmIF9f
bmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgc3lzLmV4aXQobWFpbigpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108842</attachid>
            <date>2011-09-27 06:58:14 -0700</date>
            <delta_ts>2011-09-27 07:07:32 -0700</delta_ts>
            <desc>[Patch] separated attrRemoved event on the front-end as well.</desc>
            <filename>bug-68613-20110927175812.patch</filename>
            <type>text/plain</type>
            <size>29145</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYwOTYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YTgxNjU3ZDcyZGM0NWZiOGEwODY5
YThiYzI2NjA2ZWM3MjdkMTllLi40MjZkZTY3NzM5ZGU0ODg4ODFlMGEyODY0MmQ1MzQ0ZWY1Yzc2
MTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMjcgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNwbGl0IERPTS5h
dHRyaWJ1dGVzVXBkYXRlZCBpbnRvIGF0dHJpYnV0ZU1vZGlmaWVkIGFuZCBhdHRyaWJ1dGVSZW1v
dmVkLiBTZW5kIGF0dHJpYnV0ZSBuYW1lIGFuZCB2YWx1ZSB3aXRoaW4gdGhlIGV2ZW50LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9l
bGVtZW50cy9tdXRhdGUtdW5rbm93bi1ub2RlLmh0bWwtZGlzYWJsZWQ6CisgICAgICAgICogaW5z
cGVjdG9yL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUuaHRtbDoKKwogMjAxMS0wOS0yNyAgVmluZWV0
IENoYXVkaGFyeSAgPHZpbmVldC5jaGF1ZGhhcnlAbW90b3JvbGEuY29tPgogCiAgICAgICAgIHdy
YXAgYXR0cmlidXRlIG9mIHRleHRhcmVhIGVsZW1lbnQgY2Fubm90IGJlIGFjY2Vzc2VkIGJ5IEph
dmFTY3JpcHQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvbXV0
YXRlLXVua25vd24tbm9kZS5odG1sLWRpc2FibGVkIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Vs
ZW1lbnRzL211dGF0ZS11bmtub3duLW5vZGUuaHRtbC1kaXNhYmxlZAppbmRleCAxMmE3ODUyYjc4
YzVlMmRkZjI3OGZlMTEzMTdlMWVhN2E0OWVlYTMwLi40ZmFmMWU2NTE4MTJlNWZlMWNhZTg4Zjcw
N2ZhMDM5NDhlZDdlMTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvbXV0YXRlLXVua25vd24tbm9kZS5odG1sLWRpc2FibGVkCisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9tdXRhdGUtdW5rbm93bi1ub2RlLmh0bWwtZGlzYWJsZWQKQEAgLTI4
LDYgKzI4LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgZnVuY3Rpb24gbGlzdGVuZXIodHlw
ZSwgZXZlbnQpCiAgICAgeworICAgICAgICBub2RlID0gZXZlbnQuZGF0YS5ub2RlIHx8IGV2ZW50
LmRhdGE7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJET01BZ2VudCBldmVudCBm
aXJlZC4gU2hvdWxkIG9ubHkgaGFwcGVuIG9uY2UgZm9yIG91dHB1dCBub2RlOiAiICsgdHlwZSAr
ICIgIiArIGV2ZW50LmRhdGEubm9kZU5hbWUoKSArICIjIiArIGV2ZW50LmRhdGEuZ2V0QXR0cmli
dXRlKCJpZCIpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy9zZXQtYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvc2V0LWF0dHJpYnV0ZS5odG1sCmluZGV4IGNhYWUwMzhiNGYxNDAzNDk1NzMxNTM4YWI5NzQx
NDQ4NzBiMGFkMTMuLjE2NGMyNTI2YTJmZjMwYmEwYzc3OTcyM2UyOTAzMTNhOWFiMmRjZWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9zZXQtYXR0cmlidXRlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL3NldC1hdHRyaWJ1dGUuaHRt
bApAQCAtNTAsMTIgKzUwLDEyIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CiAgICAgICAg
ICAgICBmdW5jdGlvbiBjYWxsYmFjaygpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRP
TUFnZW50LkV2ZW50cy5BdHRyTW9kaWZpZWQsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9N
QWdlbnQuRXZlbnRzLkF0dHJSZW1vdmVkLCBjYWxsYmFjayk7CiAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09PSBPbiBhdHRyaWJ1dGUgcmVtb3ZlZCA9PT0iKTsKICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7
CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50
LkV2ZW50cy5BdHRyTW9kaWZpZWQsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMu
QXR0clJlbW92ZWQsIGNhbGxiYWNrKTsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoInJlbW92ZUF0dHJpYnV0ZSgnbmFtZScpIik7CiAgICAgICAgIH0sCiAKQEAgLTc2
LDEyICs3NiwxMiBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewogICAgICAgICAgICAgZnVu
Y3Rpb24gY2FsbGJhY2soKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5kb21BZ2VudC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5F
dmVudHMuQXR0ck1vZGlmaWVkLCBjYWxsYmFjayk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmRvbUFnZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2
ZW50cy5BdHRyUmVtb3ZlZCwgY2FsbGJhY2spOwogICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYWRkUmVzdWx0KCI9PT0gU2V0IGF0dHJpYnV0ZSBhcyB0ZXh0ID09PSIpOwogICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZHVtcEVsZW1lbnRzVHJlZSh0YXJnZXROb2RlKTsKICAgICAg
ICAgICAgICAgICBuZXh0KCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBXZWJJbnNwZWN0
b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRz
LkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFn
ZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyUmVt
b3ZlZCwgY2FsbGJhY2spOwogICAgICAgICAgICAgdGFyZ2V0Tm9kZS5zZXRBdHRyaWJ1dGUoImZv
byIsICJmb28yPSdiYXoyJyBmb28zPSdiYXozJyIpOwogICAgICAgICB9LAogCkBAIC04OSwxMiAr
ODksMTIgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKICAgICAgICAgICAgIGZ1bmN0aW9u
IGNhbGxiYWNrKCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZG9tQWdlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRz
LkF0dHJNb2RpZmllZCwgY2FsbGJhY2spOworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5k
b21BZ2VudC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMu
QXR0clJlbW92ZWQsIGNhbGxiYWNrKTsKICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiPT09IFJlbW92ZSBhdHRyaWJ1dGUgYXMgdGV4dCA9PT0iKTsKICAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmR1bXBFbGVtZW50c1RyZWUodGFyZ2V0Tm9kZSk7CiAgICAgICAg
ICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5B
dHRyTW9kaWZpZWQsIGNhbGxiYWNrKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2Vu
dC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0clJlbW92
ZWQsIGNhbGxiYWNrKTsKICAgICAgICAgICAgIHRhcmdldE5vZGUuc2V0QXR0cmlidXRlKCJmb28z
IiwgIiIpOwogICAgICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZlODZlZjBiNjFkOGQ3YmRjMTIw
MTQxY2ZlNjMzNmI4NGE0NjA2Ny4uMGRkMTdlZjJiZTJmNDk1ZjY4ZGQ2OWZlMWZjMjFkNjkxMzNh
NGU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDExLTA5LTI3ICBQYXZlbCBGZWxk
bWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBzcGxp
dCBET00uYXR0cmlidXRlc1VwZGF0ZWQgaW50byBhdHRyaWJ1dGVNb2RpZmllZCBhbmQgYXR0cmli
dXRlUmVtb3ZlZC4KKyAgICAgICAgU2VuZCBhdHRyaWJ1dGUgbmFtZSBhbmQgdmFsdWUgd2l0aGlu
IHRoZSBldmVudC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY4NjEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRBdHRy
aWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVtb3ZlQXR0cmlidXRlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmRyYWZ0LTAxLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01B
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5
RE9NQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6ZGlkUmVtb3Zl
RE9NQXR0cik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1vZGlmeURPTUF0dHJJbXBsKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVtb3ZlRE9N
QXR0ckltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTW9kaWZ5
RE9NQXR0cik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFJlbW92ZURPTUF0dHIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUuX2FkZEF0dHJpYnV0
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUuX3NldEF0dHJpYnV0
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUuX3JlbW92ZUF0dHJp
YnV0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLl9hdHRyaWJ1
dGVNb2RpZmllZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLl9h
dHRyaWJ1dGVSZW1vdmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5
cGUuX2lubGluZVN0eWxlSW52YWxpZGF0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUFn
ZW50LnByb3RvdHlwZS5fbG9hZE5vZGVBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5ET01EaXNwYXRjaGVyLnByb3RvdHlwZS5hdHRyaWJ1dGVNb2RpZmllZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRE9NRGlzcGF0Y2hlci5wcm90b3R5cGUuYXR0cmlidXRlUmVtb3ZlZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1l
bnRzUGFuZWwucHJvdG90eXBlLl9hdHRyaWJ1dGVzVXBkYXRlZCk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9NZXRyaWNzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTWV0cmljc1NpZGViYXJQYW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5NZXRyaWNzU2lk
ZWJhclBhbmUucHJvdG90eXBlLl9hdHRyaWJ1dGVzVXBkYXRlZCk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TdHlsZXNTaWRlYmFyUGFuZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJh
clBhbmUucHJvdG90eXBlLl9hdHRyaWJ1dGVzTW9kaWZpZWQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZS5fYXR0cmlidXRlc1JlbW92ZWQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZS5fc3R5bGVJbnZh
bGlkYXRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50
LnByb3RvdHlwZS5ldmVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRy
ZWVFbGVtZW50LnByb3RvdHlwZSk6CisgICAgICAgICogaW5zcGVjdG9yL3ZhbGlkYXRlLXByb3Rv
Y29sLWNvbXBhdGliaWxpdHk6CisKIDIwMTEtMDktMjcgIFZpbmVldCBDaGF1ZGhhcnkgIDx2aW5l
ZXQuY2hhdWRoYXJ5QG1vdG9yb2xhLmNvbT4KIAogICAgICAgICB3cmFwIGF0dHJpYnV0ZSBvZiB0
ZXh0YXJlYSBlbGVtZW50IGNhbm5vdCBiZSBhY2Nlc3NlZCBieSBKYXZhU2NyaXB0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCmluZGV4IDViZjAwN2FlMWVlOTlmZGYzMzEwMWQ2NDZkNWFkNzY3YjA5NmMy
MDIuLmIxNjYyM2JhYWM5MzEwMWIxM2MyMzRkNDMzNDU2N2JlMmU2N2U2MGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKQEAgLTY0Niw3ICs2NDYsNyBAQCB2b2lkIEVsZW1lbnQ6OnNldEF0dHJpYnV0
ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsCiAK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmICghaXNTeW5jaHJvbml6aW5nU3R5bGVBdHRy
aWJ1dGUoKSkKLSAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNb2RpZnlET01B
dHRyKGRvY3VtZW50KCksIHRoaXMpOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZE1vZGlmeURPTUF0dHIoZG9jdW1lbnQoKSwgdGhpcywgbmFtZSwgdmFsdWUpOwogI2VuZGlm
CiB9CiAKQEAgLTY3OSw3ICs2NzksNyBAQCB2b2lkIEVsZW1lbnQ6OnNldEF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLAogCiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoIWlzU3luY2hyb25pemluZ1N0eWxlQXR0cmlidXRl
KCkpCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTW9kaWZ5RE9NQXR0cihk
b2N1bWVudCgpLCB0aGlzKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRN
b2RpZnlET01BdHRyKGRvY3VtZW50KCksIHRoaXMsIG5hbWUubG9jYWxOYW1lKCksIHZhbHVlKTsK
ICNlbmRpZgogfQogCkBAIC0xNTExLDcgKzE1MTEsNyBAQCB2b2lkIEVsZW1lbnQ6OnJlbW92ZUF0
dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICAg
ICAgZWMgPSAwOwogICAgIH0KICAgICAKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZE1vZGlmeURPTUF0dHIoZG9jdW1lbnQoKSwgdGhpcyk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRSZW1vdmVET01BdHRyKGRvY3VtZW50KCksIHRoaXMsIG5hbWUpOwogfQogCiB2
b2lkIEVsZW1lbnQ6OnJlbW92ZUF0dHJpYnV0ZU5TKGNvbnN0IFN0cmluZyYgbmFtZXNwYWNlVVJJ
LCBjb25zdCBTdHJpbmcmIGxvY2FsTmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmRyYWZ0LTAxLmpzb24gYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmRyYWZ0LTAxLmpzb24KaW5kZXggYjYwOWU3
NzBiNzRkZjgzYzU4MjczOTU4YmI2YWY3ZTkyYTRhZWU3ZS4uOWUxYjZkYzU4YTRjMmQyZTU3ZjRj
MWIxNGVmZTkzZTg1MmE1ODc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5kcmFmdC0wMS5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuZHJhZnQtMDEuanNvbgpAQCAtMTE3NiwxMSArMTE3NiwyMSBAQAogICAgICAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIGJhY2tlbmQgd2FudHMgdG8gcHJvdmlk
ZSBjbGllbnQgd2l0aCB0aGUgbWlzc2luZyBET00gc3RydWN0dXJlLiBUaGlzIGhhcHBlbnMgdXBv
biBtb3N0IG9mIHRoZSBjYWxscyByZXF1ZXN0aW5nIG5vZGUgaWRzLiIKICAgICAgICAgICAgIH0s
CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0cmlidXRlc1VwZGF0
ZWQiLAorICAgICAgICAgICAgICAgICJuYW1lIjogImF0dHJpYnV0ZU1vZGlmaWVkIiwKICAgICAg
ICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJub2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2YgdGhlIG5v
ZGUgdGhhdCBoYXMgY2hhbmdlZC4iIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJu
b2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2YgdGhlIG5vZGUg
dGhhdCBoYXMgY2hhbmdlZC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmFt
ZSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJMb2NhbCBhdHRyaWJ1dGUgbmFt
ZS4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJz
dHJpbmciLCAiZGVzY3JpcHRpb24iOiAiQXR0cmlidXRlIG5hbWUuIiB9CisgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiA8Y29kZT5F
bGVtZW50PC9jb2RlPidzIGF0dHJpYnV0ZSBpcyBtb2RpZmllZC4iCisgICAgICAgICAgICB9LAor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJuYW1lIjogImF0dHJpYnV0ZVJlbW92ZWQi
LAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogIm5vZGVJZCIsICIkcmVmIjogIk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJJZCBv
ZiB0aGUgbm9kZSB0aGF0IGhhcyBjaGFuZ2VkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJuYW1lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkxvY2FsIGF0
dHJpYnV0ZSBuYW1lLiIgfQogICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIkZpcmVkIHdoZW4gPGNvZGU+RWxlbWVudDwvY29kZT4ncyBhdHRyaWJ1dGVz
IGFyZSB1cGRhdGVkLiIKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hl
biA8Y29kZT5FbGVtZW50PC9jb2RlPidzIGF0dHJpYnV0ZSBpcyByZW1vdmVkLiIKICAgICAgICAg
ICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5saW5lU3R5
bGVJbnZhbGlkYXRlZCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5k
ZXggYjYwOWU3NzBiNzRkZjgzYzU4MjczOTU4YmI2YWY3ZTkyYTRhZWU3ZS4uMDM5M2EyYjBhNmRm
MzdlZGE1YjY4ODViYzk4NzVkNDE0N2U1MmJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3IuanNvbgpAQCAtMTE3NiwxOCArMTE3NiwyOSBAQAogICAgICAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJGaXJlZCB3aGVuIGJhY2tlbmQgd2FudHMgdG8gcHJvdmlkZSBjbGllbnQg
d2l0aCB0aGUgbWlzc2luZyBET00gc3RydWN0dXJlLiBUaGlzIGhhcHBlbnMgdXBvbiBtb3N0IG9m
IHRoZSBjYWxscyByZXF1ZXN0aW5nIG5vZGUgaWRzLiIKICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiYXR0cmlidXRlc1VwZGF0ZWQiLAorICAg
ICAgICAgICAgICAgICJuYW1lIjogImF0dHJpYnV0ZU1vZGlmaWVkIiwKICAgICAgICAgICAgICAg
ICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQi
LCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2YgdGhlIG5vZGUgdGhhdCBo
YXMgY2hhbmdlZC4iIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAi
JHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2YgdGhlIG5vZGUgdGhhdCBoYXMg
Y2hhbmdlZC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmFtZSIsICJ0eXBl
IjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJMb2NhbCBhdHRyaWJ1dGUgbmFtZS4iIH0sCisg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiQXR0cmlidXRlIG5hbWUuIiB9CiAgICAgICAgICAgICAgICAgXSwKLSAg
ICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiA8Y29kZT5FbGVtZW50PC9j
b2RlPidzIGF0dHJpYnV0ZXMgYXJlIHVwZGF0ZWQuIgorICAgICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJGaXJlZCB3aGVuIDxjb2RlPkVsZW1lbnQ8L2NvZGU+J3MgYXR0cmlidXRlIGlzIG1v
ZGlmaWVkLiIKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
Im5hbWUiOiAiYXR0cmlidXRlUmVtb3ZlZCIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMi
OiBbCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiTm9k
ZUlkIiwgImRlc2NyaXB0aW9uIjogIklkIG9mIHRoZSBub2RlIHRoYXQgaGFzIGNoYW5nZWQuIiB9
LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5hbWUiLCAidHlwZSI6ICJzdHJpbmci
LCAiZGVzY3JpcHRpb24iOiAiTG9jYWwgYXR0cmlidXRlIG5hbWUuIiB9CisgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiA8Y29kZT5F
bGVtZW50PC9jb2RlPidzIGF0dHJpYnV0ZSBpcyByZW1vdmVkLiIKICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiaW5saW5lU3R5bGVJbnZhbGlk
YXRlZCIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAibm9kZUlkcyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJl
ZiI6ICJOb2RlSWQiIH0sICJkZXNjcmlwdGlvbiI6ICJJZHMgb2YgdGhlIG5vZGVzIGZvciB3aGlj
aCB0aGUgaW5saW5lIHN0eWxlcyBoYXZlIGJlZW4gaW52YWxpZGF0ZWQuIiB9CiAgICAgICAgICAg
ICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlyZWQgd2hlbiA8Y29k
ZT5FbGVtZW50PC9jb2RlPidzIGlubGluZSBzdHlsZSBpcyBtb2RpZmllZCB2aWEgYSBDU1MgcHJv
cGVydHkgbW9kaWZpY2F0aW9uLiIKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmly
ZWQgd2hlbiA8Y29kZT5FbGVtZW50PC9jb2RlPidzIGlubGluZSBzdHlsZSBpcyBtb2RpZmllZCB2
aWEgYSBDU1MgcHJvcGVydHkgbW9kaWZpY2F0aW9uLiIsCisgICAgICAgICAgICAgICAgImhpZGRl
biI6IHRydWUKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg
Im5hbWUiOiAiY2hhcmFjdGVyRGF0YU1vZGlmaWVkIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDUyM2U5M2NhYWQ0NDBkNmM5YWQzZTFm
OGRkYmY1YTMyY2FjOTc4ZTIuLjQzMTlhOTk2YjY4OTcwN2NjOTI5MzU2ZDEwZmMyOGRmMTE0MTA5
NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2Vu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cApAQCAtMTQ0Nyw3ICsxNDQ3LDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkUmVtb3Zl
RE9NTm9kZShOb2RlKiBub2RlKQogICAgIHVuYmluZChub2RlLCAmbV9kb2N1bWVudE5vZGVUb0lk
TWFwKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5RE9NQXR0cihFbGVt
ZW50KiBlbGVtZW50KQordm9pZCBJbnNwZWN0b3JET01BZ2VudDo6ZGlkTW9kaWZ5RE9NQXR0cihF
bGVtZW50KiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IEF0b21pY1N0
cmluZyYgdmFsdWUpCiB7CiAgICAgaW50IGlkID0gYm91bmROb2RlSWQoZWxlbWVudCk7CiAgICAg
Ly8gSWYgbm9kZSBpcyBub3QgbWFwcGVkIHlldCAtPiBpZ25vcmUgdGhlIGV2ZW50LgpAQCAtMTQ1
Nyw3ICsxNDU3LDIwIEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmRpZE1vZGlmeURPTUF0dHIo
RWxlbWVudCogZWxlbWVudCkKICAgICBpZiAobV9kb21MaXN0ZW5lcikKICAgICAgICAgbV9kb21M
aXN0ZW5lci0+ZGlkTW9kaWZ5RE9NQXR0cihlbGVtZW50KTsKIAotICAgIG1fZnJvbnRlbmQtPmF0
dHJpYnV0ZXNVcGRhdGVkKGlkKTsKKyAgICBtX2Zyb250ZW5kLT5hdHRyaWJ1dGVNb2RpZmllZChp
ZCwgbmFtZSwgdmFsdWUpOworfQorCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpkaWRSZW1vdmVE
T01BdHRyKEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKK3sKKyAg
ICBpbnQgaWQgPSBib3VuZE5vZGVJZChlbGVtZW50KTsKKyAgICAvLyBJZiBub2RlIGlzIG5vdCBt
YXBwZWQgeWV0IC0+IGlnbm9yZSB0aGUgZXZlbnQuCisgICAgaWYgKCFpZCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgaWYgKG1fZG9tTGlzdGVuZXIpCisgICAgICAgIG1fZG9tTGlzdGVuZXItPmRp
ZE1vZGlmeURPTUF0dHIoZWxlbWVudCk7CisKKyAgICBtX2Zyb250ZW5kLT5hdHRyaWJ1dGVSZW1v
dmVkKGlkLCBuYW1lKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c3R5bGVBdHRyaWJ1
dGVJbnZhbGlkYXRlZChjb25zdCBWZWN0b3I8RWxlbWVudCo+JiBlbGVtZW50cykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmgKaW5kZXggMWRiZDA5ZTQ3ZGI0
ZmE0OGI3NThjZmE3NmUyMTcwNmU5NGM0NDkyZS4uYWZmNDA4MTJkMDU1ZGJiNGEzODcxMzQxODUz
YTY3NDdkY2U3NTE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRPTUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmgKQEAgLTE1MCw3ICsxNTAsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZEluc2Vy
dERPTU5vZGUoTm9kZSopOwogICAgIHZvaWQgZGlkUmVtb3ZlRE9NTm9kZShOb2RlKik7Ci0gICAg
dm9pZCBkaWRNb2RpZnlET01BdHRyKEVsZW1lbnQqKTsKKyAgICB2b2lkIGRpZE1vZGlmeURPTUF0
dHIoRWxlbWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5n
JiB2YWx1ZSk7CisgICAgdm9pZCBkaWRSZW1vdmVET01BdHRyKEVsZW1lbnQqLCBjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUpOwogICAgIHZvaWQgc3R5bGVBdHRyaWJ1dGVJbnZhbGlkYXRlZChjb25z
dCBWZWN0b3I8RWxlbWVudCo+JiBlbGVtZW50cyk7CiAgICAgdm9pZCBjaGFyYWN0ZXJEYXRhTW9k
aWZpZWQoQ2hhcmFjdGVyRGF0YSopOwogICAgIHZvaWQgZGlkSW52YWxpZGF0ZVN0eWxlQXR0cihO
b2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwCmluZGV4IDEzMzFjNDgzODg2MTBlNThiZDAxZTM3NzZmM2M0N2VjZWUz
NTM2OWYuLmZjOTUzZDc4MDdhMzgyYWIyYzM4ZTc1Y2VkOTEwZmY3MjYwMTk5YzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwCkBAIC0xNDYsMTAgKzE0NiwxNiBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
d2lsbE1vZGlmeURPTUF0dHJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydQogI2VuZGlm
CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNb2RpZnlET01BdHRySW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBFbGVtZW50KiBlbGVt
ZW50KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1vZGlmeURPTUF0dHJJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEVsZW1lbnQqIGVsZW1l
bnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkK
IHsKICAgICBpZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+aW5zcGVjdG9yRE9NQWdlbnQoKSkKLSAgICAgICAgZG9tQWdlbnQtPmRpZE1vZGlmeURP
TUF0dHIoZWxlbWVudCk7CisgICAgICAgIGRvbUFnZW50LT5kaWRNb2RpZnlET01BdHRyKGVsZW1l
bnQsIG5hbWUsIHZhbHVlKTsKK30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFJlbW92ZURPTUF0dHJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkKK3sKKyAgICBp
ZiAoSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5z
cGVjdG9yRE9NQWdlbnQoKSkKKyAgICAgICAgZG9tQWdlbnQtPmRpZFJlbW92ZURPTUF0dHIoZWxl
bWVudCwgbmFtZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZh
bGlkYXRlU3R5bGVBdHRySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzLCBOb2RlKiBub2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGMyY2Q0NzEyOGZmZDkzODI0M2RmYWMyNmIyYzE0
YmZkM2ZlMzZkZDEuLjZiODM3Mjc0MzQ1YmUxZjVlYWQzNWY1MWEzZWJkMjJkYTIyYTdlN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgKQEAgLTgxLDcgKzgxLDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZEluc2Vy
dERPTU5vZGUoRG9jdW1lbnQqLCBOb2RlKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZURP
TU5vZGUoRG9jdW1lbnQqLCBOb2RlKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbE1vZGlmeURPTUF0
dHIoRG9jdW1lbnQqLCBFbGVtZW50Kik7Ci0gICAgc3RhdGljIHZvaWQgZGlkTW9kaWZ5RE9NQXR0
cihEb2N1bWVudCosIEVsZW1lbnQqKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRNb2RpZnlET01BdHRy
KERvY3VtZW50KiwgRWxlbWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgQXRv
bWljU3RyaW5nJiB2YWx1ZSk7CisgICAgc3RhdGljIHZvaWQgZGlkUmVtb3ZlRE9NQXR0cihEb2N1
bWVudCosIEVsZW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpOwogICAgIHN0YXRpYyB2
b2lkIGNoYXJhY3RlckRhdGFNb2RpZmllZChEb2N1bWVudCosIENoYXJhY3RlckRhdGEqKTsKICAg
ICBzdGF0aWMgdm9pZCBkaWRJbnZhbGlkYXRlU3R5bGVBdHRyKERvY3VtZW50KiwgTm9kZSopOwog
ICAgIHN0YXRpYyB2b2lkIGZyYW1lV2luZG93RGlzY2FyZGVkKEZyYW1lKiwgRE9NV2luZG93Kik7
CkBAIC0yMTEsNyArMjEyLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCB3aWxsUmVtb3Zl
RE9NTm9kZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE5vZGUqKTsKICAgICBzdGF0aWMgdm9p
ZCBkaWRSZW1vdmVET01Ob2RlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgTm9kZSopOwogICAg
IHN0YXRpYyB2b2lkIHdpbGxNb2RpZnlET01BdHRySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
RWxlbWVudCopOwotICAgIHN0YXRpYyB2b2lkIGRpZE1vZGlmeURPTUF0dHJJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqLCBFbGVtZW50Kik7CisgICAgc3RhdGljIHZvaWQgZGlkTW9kaWZ5RE9NQXR0
ckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEVsZW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpOworICAgIHN0YXRpYyB2b2lkIGRpZFJl
bW92ZURPTUF0dHJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBFbGVtZW50KiwgY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lKTsKICAgICBzdGF0aWMgdm9pZCBjaGFyYWN0ZXJEYXRhTW9kaWZpZWRJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBDaGFyYWN0ZXJEYXRhKik7CiAgICAgc3RhdGljIHZv
aWQgZGlkSW52YWxpZGF0ZVN0eWxlQXR0ckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIE5vZGUq
KTsKICAgICBzdGF0aWMgdm9pZCBmcmFtZVdpbmRvd0Rpc2NhcmRlZEltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyosIERPTVdpbmRvdyopOwpAQCAtMzkwLDEyICszOTIsMjEgQEAgaW5saW5lIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsTW9kaWZ5RE9NQXR0cihEb2N1bWVudCogZG9j
dW1lbnQsIEVsZW0KICNlbmRpZgogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZE1vZGlmeURPTUF0dHIoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVtZW50KiBlbGVt
ZW50KQoraW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRNb2RpZnlET01B
dHRyKERvY3VtZW50KiBkb2N1bWVudCwgRWxlbWVudCogZWxlbWVudCwgY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogewogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYg
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5n
QWdlbnRzRm9yRG9jdW1lbnQoZG9jdW1lbnQpKQotICAgICAgICBkaWRNb2RpZnlET01BdHRySW1w
bChpbnN0cnVtZW50aW5nQWdlbnRzLCBlbGVtZW50KTsKKyAgICAgICAgZGlkTW9kaWZ5RE9NQXR0
ckltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZWxlbWVudCwgbmFtZSwgdmFsdWUpOworI2VuZGlm
Cit9CisKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVtb3ZlRE9N
QXR0cihEb2N1bWVudCogZG9jdW1lbnQsIEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0
cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50
KSkKKyAgICAgICAgZGlkUmVtb3ZlRE9NQXR0ckltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZWxl
bWVudCwgbmFtZSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRE9NQWdlbnQuanMKaW5kZXggODI4NDQzNTE3NTBjN2RiMzQ3NWMyM2Y3YTc3MTMx
YzFhN2VhNGE4OS4uYWQ4NTczOTY2NDA4OTBlZjBlZWZiZjNlM2RjOTk4ODI5NWM3NDUzNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCkBAIC0z
MzAsMTQgKzMzMCwzMiBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAg
X2FkZEF0dHJpYnV0ZTogZnVuY3Rpb24obmFtZSwgdmFsdWUpCiAgICAgewogICAgICAgICB2YXIg
YXR0ciA9IHsKLSAgICAgICAgICAgICJuYW1lIjogbmFtZSwKLSAgICAgICAgICAgICJ2YWx1ZSI6
IHZhbHVlLAotICAgICAgICAgICAgIl9ub2RlIjogdGhpcworICAgICAgICAgICAgbmFtZTogbmFt
ZSwKKyAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSwKKyAgICAgICAgICAgIF9ub2RlOiB0aGlzCiAg
ICAgICAgIH07CiAgICAgICAgIHRoaXMuX2F0dHJpYnV0ZXNNYXBbbmFtZV0gPSBhdHRyOwogICAg
ICAgICB0aGlzLl9hdHRyaWJ1dGVzLnB1c2goYXR0cik7CiAgICAgfSwKIAorICAgIF9zZXRBdHRy
aWJ1dGU6IGZ1bmN0aW9uKG5hbWUsIHZhbHVlKQorICAgIHsKKyAgICAgICAgdmFyIGF0dHIgPSB0
aGlzLl9hdHRyaWJ1dGVzTWFwW25hbWVdOworICAgICAgICBpZiAoYXR0cikKKyAgICAgICAgICAg
IGF0dHIudmFsdWUgPSB2YWx1ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fYWRk
QXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKKyAgICB9LAorCisgICAgX3JlbW92ZUF0dHJpYnV0ZTog
ZnVuY3Rpb24obmFtZSkKKyAgICB7CisgICAgICAgIHZhciBhdHRyID0gdGhpcy5fYXR0cmlidXRl
c01hcFtuYW1lXTsKKyAgICAgICAgaWYgKGF0dHIpIHsKKyAgICAgICAgICAgIHRoaXMuX2F0dHJp
YnV0ZXMucmVtb3ZlKGF0dHIpOworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2F0dHJpYnV0ZXNN
YXBbbmFtZV07CisgICAgICAgIH0KKyAgICB9LAorCiAgICAgb3duZXJEb2N1bWVudEVsZW1lbnQ6
IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIC8vIGRvY3VtZW50IGVsZW1lbnQgaXMgdGhlIGNo
aWxkIG9mIHRoZSBkb2N1bWVudCAvIGZyYW1lIG93bmVyIG5vZGUgdGhhdCBoYXMgZG9jdW1lbnRV
UkwgcHJvcGVydHkuCkBAIC0zODAsMTIgKzM5OCwxNCBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQg
PSBmdW5jdGlvbigpIHsKIAogV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cyA9IHsKICAgICBB
dHRyTW9kaWZpZWQ6ICJBdHRyTW9kaWZpZWQiLAorICAgIEF0dHJSZW1vdmVkOiAiQXR0clJlbW92
ZWQiLAogICAgIENoYXJhY3RlckRhdGFNb2RpZmllZDogIkNoYXJhY3RlckRhdGFNb2RpZmllZCIs
CiAgICAgTm9kZUluc2VydGVkOiAiTm9kZUluc2VydGVkIiwKICAgICBOb2RlUmVtb3ZlZDogIk5v
ZGVSZW1vdmVkIiwKICAgICBEb2N1bWVudFVwZGF0ZWQ6ICJEb2N1bWVudFVwZGF0ZWQiLAogICAg
IENoaWxkTm9kZUNvdW50VXBkYXRlZDogIkNoaWxkTm9kZUNvdW50VXBkYXRlZCIsCi0gICAgSW5z
cGVjdEVsZW1lbnRSZXF1ZXN0ZWQ6ICJJbnNwZWN0RWxlbWVudFJlcXVlc3RlZCIKKyAgICBJbnNw
ZWN0RWxlbWVudFJlcXVlc3RlZDogIkluc3BlY3RFbGVtZW50UmVxdWVzdGVkIiwKKyAgICBTdHls
ZUludmFsaWRhdGVkOiAiU3R5bGVJbnZhbGlkYXRlZCIKIH0KIAogV2ViSW5zcGVjdG9yLkRPTUFn
ZW50LnByb3RvdHlwZSA9IHsKQEAgLTQ2NCwxOCArNDg0LDI1IEBAIFdlYkluc3BlY3Rvci5ET01B
Z2VudC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMucmVxdWVzdERvY3VtZW50KG9uRG9jdW1l
bnRBdmFpbGFibGUuYmluZCh0aGlzKSk7CiAgICAgfSwKIAotICAgIF9hdHRyaWJ1dGVzVXBkYXRl
ZDogZnVuY3Rpb24obm9kZUlkcykKKyAgICBfYXR0cmlidXRlTW9kaWZpZWQ6IGZ1bmN0aW9uKG5v
ZGVJZCwgbmFtZSwgdmFsdWUpCiAgICAgewotICAgICAgICB0aGlzLl9sb2FkTm9kZUF0dHJpYnV0
ZXNTb29uKG5vZGVJZHMpOworICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2lkVG9ET01Ob2RlW25v
ZGVJZF07CisgICAgICAgIGlmICghbm9kZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
bm9kZS5fc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyTW9kaWZpZWQs
IHsgbm9kZTogbm9kZSwgbmFtZTogbmFtZSB9KTsKICAgICB9LAogCi0gICAgX2lubGluZVN0eWxl
SW52YWxpZGF0ZWQ6IGZ1bmN0aW9uKG5vZGVJZHMpCisgICAgX2F0dHJpYnV0ZVJlbW92ZWQ6IGZ1
bmN0aW9uKG5vZGVJZCwgbmFtZSkKICAgICB7Ci0gICAgICAgIC8vIEZJWE1FOiBoYW5kbGUgZGlm
ZmVyZW50bHkgKHdlIGRvbid0IG5lY2Vzc2FyaWx5IG5lZWQgdG8gdXBkYXRlIGF0dHJpYnV0ZXMg
dXBvbiB0aGlzIG1lc3NhZ2UpLgotICAgICAgICB0aGlzLl9sb2FkTm9kZUF0dHJpYnV0ZXNTb29u
KG5vZGVJZHMpOworICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2lkVG9ET01Ob2RlW25vZGVJZF07
CisgICAgICAgIGlmICghbm9kZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbm9kZS5f
cmVtb3ZlQXR0cmlidXRlKG5hbWUpOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJSZW1vdmVkLCB7IG5vZGU6IG5v
ZGUsIG5hbWU6IG5hbWUgfSk7CiAgICAgfSwKIAotICAgIF9sb2FkTm9kZUF0dHJpYnV0ZXNTb29u
OiBmdW5jdGlvbihub2RlSWRzKQorICAgIF9pbmxpbmVTdHlsZUludmFsaWRhdGVkOiBmdW5jdGlv
bihub2RlSWRzKQogICAgIHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlSWRzLmxl
bmd0aDsgKytpKQogICAgICAgICAgICAgdGhpcy5fYXR0cmlidXRlTG9hZE5vZGVJZHNbbm9kZUlk
c1tpXV0gPSB0cnVlOwpAQCAtNDkzLDcgKzUyMCw4IEBAIFdlYkluc3BlY3Rvci5ET01BZ2VudC5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2lkVG9ET01Ob2RlW25v
ZGVJZF07CiAgICAgICAgICAgICBpZiAobm9kZSkgewogICAgICAgICAgICAgICAgIG5vZGUuX3Nl
dEF0dHJpYnV0ZXNQYXlsb2FkKGF0dHJpYnV0ZXMpOwotICAgICAgICAgICAgICAgIHRoaXMuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1v
ZGlmaWVkLCBub2RlKTsKKyAgICAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkF0dHJNb2RpZmllZCwgeyBub2RlOiBu
b2RlLCBuYW1lOiAic3R5bGUiIH0pOworICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVu
dFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuU3R5bGVJbnZhbGlkYXRl
ZCwgbm9kZSk7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAg
LTY0MSw5ICs2NjksMTQgQEAgV2ViSW5zcGVjdG9yLkRPTURpc3BhdGNoZXIucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl9kb21BZ2VudC5fZG9jdW1lbnRVcGRhdGVkKCk7CiAgICAgfSwKIAot
ICAgIGF0dHJpYnV0ZXNVcGRhdGVkOiBmdW5jdGlvbihub2RlSWQpCisgICAgYXR0cmlidXRlTW9k
aWZpZWQ6IGZ1bmN0aW9uKG5vZGVJZCwgbmFtZSwgdmFsdWUpCisgICAgeworICAgICAgICB0aGlz
Ll9kb21BZ2VudC5fYXR0cmlidXRlTW9kaWZpZWQobm9kZUlkLCBuYW1lLCB2YWx1ZSk7CisgICAg
fSwKKworICAgIGF0dHJpYnV0ZVJlbW92ZWQ6IGZ1bmN0aW9uKG5vZGVJZCwgbmFtZSkKICAgICB7
Ci0gICAgICAgIHRoaXMuX2RvbUFnZW50Ll9hdHRyaWJ1dGVzVXBkYXRlZChbbm9kZUlkXSk7Cisg
ICAgICAgIHRoaXMuX2RvbUFnZW50Ll9hdHRyaWJ1dGVSZW1vdmVkKG5vZGVJZCwgbmFtZSk7CiAg
ICAgfSwKIAogICAgIGlubGluZVN0eWxlSW52YWxpZGF0ZWQ6IGZ1bmN0aW9uKG5vZGVJZHMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFu
ZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwu
anMKaW5kZXggZTBiNjRkMWUzNDE0NDAxMmVmZDcxOGJiNTVhMTQ3ZjI0MTI1ZTEwYS4uZGE2YTE1
OTc4MGU1ZWRkZmIwNDU2ZjJhZjljMjJiMjdkNjk4ZjZkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwpAQCAtMTE2LDYgKzEx
Niw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsID0gZnVuY3Rpb24oKQogICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5F
dmVudHMuTm9kZUluc2VydGVkLCB0aGlzLl9ub2RlSW5zZXJ0ZWQsIHRoaXMpOwogICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5F
dmVudHMuTm9kZVJlbW92ZWQsIHRoaXMuX25vZGVSZW1vdmVkLCB0aGlzKTsKICAgICBXZWJJbnNw
ZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZl
bnRzLkF0dHJNb2RpZmllZCwgdGhpcy5fYXR0cmlidXRlc1VwZGF0ZWQsIHRoaXMpOworICAgIFdl
Ykluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2Vu
dC5FdmVudHMuQXR0clJlbW92ZWQsIHRoaXMuX2F0dHJpYnV0ZXNVcGRhdGVkLCB0aGlzKTsKICAg
ICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9N
QWdlbnQuRXZlbnRzLkNoYXJhY3RlckRhdGFNb2RpZmllZCwgdGhpcy5fY2hhcmFjdGVyRGF0YU1v
ZGlmaWVkLCB0aGlzKTsKICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkRvY3VtZW50VXBkYXRlZCwgdGhpcy5fZG9j
dW1lbnRVcGRhdGVkLCB0aGlzKTsKICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkNoaWxkTm9kZUNvdW50VXBkYXRl
ZCwgdGhpcy5fY2hpbGROb2RlQ291bnRVcGRhdGVkLCB0aGlzKTsKQEAgLTQwOCw3ICs0MDksNyBA
QCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBfYXR0cmli
dXRlc1VwZGF0ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdGhpcy5yZWNlbnRs
eU1vZGlmaWVkTm9kZXMucHVzaCh7bm9kZTogZXZlbnQuZGF0YSwgdXBkYXRlZDogdHJ1ZX0pOwor
ICAgICAgICB0aGlzLnJlY2VudGx5TW9kaWZpZWROb2Rlcy5wdXNoKHtub2RlOiBldmVudC5kYXRh
Lm5vZGUsIHVwZGF0ZWQ6IHRydWV9KTsKICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkKICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZU1vZGlmaWVkTm9kZXNTb29uKCk7CiAgICAgfSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5l
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZXRyaWNzU2lkZWJhclBh
bmUuanMKaW5kZXggZTEyOTc2M2VjMzYxNDkxZjMwYTgzZjkzNTUxMmE3N2RkMDNkMzVkZi4uMTQ2
ODkyOGRhOTZkNGM3NjBiMzdjODIyNTFhNWZmOWMzZDQ0YmIxNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZXRyaWNzU2lkZWJhclBhbmUuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZXRyaWNzU2lkZWJhclBhbmUuanMK
QEAgLTMyLDYgKzMyLDcgQEAgV2ViSW5zcGVjdG9yLk1ldHJpY3NTaWRlYmFyUGFuZSA9IGZ1bmN0
aW9uKCkKIAogICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5DU1NTdHlsZU1vZGVsLkV2ZW50cy5TdHlsZVNoZWV0Q2hhbmdlZCwgdGhpcy5fc3R5
bGVTaGVldENoYW5nZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuQXR0ck1vZGlmaWVkLCB0aGlz
Ll9hdHRyaWJ1dGVzVXBkYXRlZCwgdGhpcyk7CisgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFnZW50LkV2ZW50cy5BdHRyUmVtb3ZlZCwg
dGhpcy5fYXR0cmlidXRlc1VwZGF0ZWQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3IuTWV0cmlj
c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKQEAgLTc2LDcgKzc3LDcgQEAgV2ViSW5zcGVjdG9y
Lk1ldHJpY3NTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAKICAgICBfYXR0cmlidXRlc1VwZGF0
ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMubm9kZSAhPT0gZXZl
bnQuZGF0YSkKKyAgICAgICAgaWYgKHRoaXMubm9kZSAhPT0gZXZlbnQuZGF0YS5ub2RlKQogICAg
ICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8vICJzdHlsZSIgYXR0cmlidXRlIG1pZ2h0IGhh
dmUgY2hhbmdlZC4gVXBkYXRlIG1ldHJpY3MgdW5sZXNzIHRoZXkgYXJlIGJlaW5nIGVkaXRlZC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lk
ZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1Np
ZGViYXJQYW5lLmpzCmluZGV4IGE0MTI5MWVhZWVmYzQxNGE5ZmI2NDIxZmU3ZDZiYjBiYmJjNDQx
MTcuLjc4ZWMxNDFjYWI4MGE2NThmMjU0ODAwZjcwNzBlOGQwN2M3YzFkMTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFu
ZS5qcwpAQCAtODYsNyArODYsOSBAQCBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUgPSBm
dW5jdGlvbihjb21wdXRlZFN0eWxlUGFuZSkKICAgICB0aGlzLmJvZHlFbGVtZW50LmFwcGVuZENo
aWxkKHRoaXMuX3NlY3Rpb25zQ29udGFpbmVyKTsKIAogICAgIFdlYkluc3BlY3Rvci5jc3NNb2Rl
bC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLkV2ZW50cy5TdHls
ZVNoZWV0Q2hhbmdlZCwgdGhpcy5fc3R5bGVTaGVldENoYW5nZWQsIHRoaXMpOwotICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5F
dmVudHMuQXR0ck1vZGlmaWVkLCB0aGlzLl9hdHRyaWJ1dGVzVXBkYXRlZCwgdGhpcyk7CisgICAg
V2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTUFn
ZW50LkV2ZW50cy5BdHRyTW9kaWZpZWQsIHRoaXMuX2F0dHJpYnV0ZXNNb2RpZmllZCwgdGhpcyk7
CisgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LkRPTUFnZW50LkV2ZW50cy5BdHRyUmVtb3ZlZCwgdGhpcy5fYXR0cmlidXRlc1JlbW92ZWQsIHRo
aXMpOworICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5ET01BZ2VudC5FdmVudHMuU3R5bGVJbnZhbGlkYXRlZCwgdGhpcy5fc3R5bGVJbnZhbGlk
YXRlZCwgdGhpcyk7CiAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNob3dVc2VyQWdlbnRTdHls
ZXMuYWRkQ2hhbmdlTGlzdGVuZXIodGhpcy5fc2hvd1VzZXJBZ2VudFN0eWxlc1NldHRpbmdDaGFu
Z2VkLmJpbmQodGhpcykpOwogfQogCkBAIC0yNzcsMTIgKzI3OSwzNSBAQCBXZWJJbnNwZWN0b3Iu
U3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9pbm5lclVwZGF0
ZShmYWxzZSk7CiAgICAgfSwKIAotICAgIF9hdHRyaWJ1dGVzVXBkYXRlZDogZnVuY3Rpb24oZXZl
bnQpCisgICAgX2F0dHJpYnV0ZXNNb2RpZmllZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAg
ICAgICBpZiAodGhpcy5ub2RlICE9PSBldmVudC5kYXRhLm5vZGUpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgLy8gQ2hhbmRpbmcgc3R5bGUgYXR0cmlidXRlIHdpbGwgYW55d2F5cyBn
ZW5lcmF0ZSBfc3R5bGVJbnZhbGlkYXRlZCBtZXNzYWdlLiAKKyAgICAgICAgaWYgKGV2ZW50LmRh
dGEubmFtZSA9PT0gInN0eWxlIikKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICAvLyAi
Y2xhc3NuYW1lIiBhdHRyaWJ1dGUgbWlnaHQgaGF2ZSBjaGFuZ2VkLiBVcGRhdGUgc3R5bGVzIHVu
bGVzcyB0aGV5IGFyZSBiZWluZyBlZGl0ZWQuCisgICAgICAgIGlmICghdGhpcy5faXNFZGl0aW5n
U3R5bGUgJiYgIXRoaXMuX3VzZXJPcGVyYXRpb24pCisgICAgICAgICAgICB0aGlzLl9pbm5lclVw
ZGF0ZShmYWxzZSk7CisgICAgfSwKKworICAgIF9hdHRyaWJ1dGVzUmVtb3ZlZDogZnVuY3Rpb24o
ZXZlbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5ub2RlICE9PSBldmVudC5kYXRhLm5vZGUp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgLy8gInN0eWxlIiBhdHRyaWJ1dGUgbWln
aHQgaGF2ZSBiZWVuIHJlbW92ZWQuCisgICAgICAgIGlmICghdGhpcy5faXNFZGl0aW5nU3R5bGUg
JiYgIXRoaXMuX3VzZXJPcGVyYXRpb24pCisgICAgICAgICAgICB0aGlzLl9pbm5lclVwZGF0ZShm
YWxzZSk7CisgICAgfSwKKworICAgIF9zdHlsZUludmFsaWRhdGVkOiBmdW5jdGlvbihldmVudCkK
ICAgICB7CiAgICAgICAgIGlmICh0aGlzLm5vZGUgIT09IGV2ZW50LmRhdGEpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgLy8gInN0eWxlIiBhdHRyaWJ1dGUgbWlnaHQgaGF2ZSBjaGFu
Z2VkLiBVcGRhdGUgc3R5bGVzIHVubGVzcyB0aGV5IGFyZSBiZWluZyBlZGl0ZWQuCiAgICAgICAg
IGlmICghdGhpcy5faXNFZGl0aW5nU3R5bGUgJiYgIXRoaXMuX3VzZXJPcGVyYXRpb24pCiAgICAg
ICAgICAgICB0aGlzLl9pbm5lclVwZGF0ZShmYWxzZSk7CiAgICAgfSwKQEAgLTE2NzQsOCArMTY5
OSwxMSBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgICAgICB0aGlzLnRyZWVPdXRsaW5lLnNlY3Rpb24ucGFuZS5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoInN0eWxlIHByb3BlcnR5IHRvZ2dsZWQiKTsKIAogICAgICAgICAg
ICAgdGhpcy5fdXBkYXRlUGFuZSgpOworCisgICAgICAgICAgICBkZWxldGUgdGhpcy5fcGFyZW50
UGFuZS5fdXNlck9wZXJhdGlvbjsKICAgICAgICAgfQogCisgICAgICAgIHRoaXMuX3BhcmVudFBh
bmUuX3VzZXJPcGVyYXRpb24gPSB0cnVlOwogICAgICAgICB0aGlzLnByb3BlcnR5LnNldERpc2Fi
bGVkKGRpc2FibGVkLCBjYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICB9LAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvdmFsaWRhdGUtcHJvdG9jb2wtY29tcGF0aWJpbGl0
eSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci92YWxpZGF0ZS1wcm90b2NvbC1jb21wYXRpYmls
aXR5CmluZGV4IDY3OGI5NDYzMjYyOWJhMjExYmUzZWZiZDA3ODZjOTcxNzFkYjYxN2IuLmI5YTVh
NmQ3YjU1MjQ5ZWFjM2QzMWZlMGJhZGYwODViOWQ3OTYxNjAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci92YWxpZGF0ZS1wcm90b2NvbC1jb21wYXRpYmlsaXR5CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci92YWxpZGF0ZS1wcm90b2NvbC1jb21wYXRpYmlsaXR5CkBA
IC0zMTAsNyArMzEwLDEwIEBAIGRlZiBtYWluKCk6CiAKICAgICBzY2hlbWFfMSA9IGxvYWRfanNv
bihzeXMuYXJndlsxXSkKICAgICBzY2hlbWFfMiA9IGxvYWRfanNvbihzeXMuYXJndlsyXSkKLSAg
ICBjb21wYXJlX3NjaGVtYXMoc2NoZW1hXzEsIHNjaGVtYV8yKQorCisgICAgZXJyb3JzID0gY29t
cGFyZV9zY2hlbWFzKHNjaGVtYV8xLCBzY2hlbWFfMikKKyAgICBmb3IgZXJyb3IgaW4gZXJyb3Jz
OgorICAgICAgICBwcmludCBlcnJvcgogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAg
IHN5cy5leGl0KG1haW4oKSkK
</data>
<flag name="review"
          id="105902"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>