<?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>81782</bug_id>
          
          <creation_ts>2012-03-21 07:40:20 -0700</creation_ts>
          <short_desc>Web Inspector: event listener section doesn&apos;t show all event listeners of the element ancestors</short_desc>
          <delta_ts>2012-03-21 09:10:02 -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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</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>584123</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-21 07:40:20 -0700</bug_when>
    <thetext>If selected node doesn&apos;t have any listener then the section will be empty. Currently ancestors event listeners are filtered by event listener names of the selected node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584126</commentid>
    <comment_count>1</comment_count>
      <attachid>133039</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-21 07:48:53 -0700</bug_when>
    <thetext>Created attachment 133039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584145</commentid>
    <comment_count>2</comment_count>
      <attachid>133039</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-21 08:17:52 -0700</bug_when>
    <thetext>Comment on attachment 133039
Patch

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

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:726
&gt; +void InspectorDOMAgent::getEventListenersForNode(ErrorString* error, int nodeId, RefPtr&lt;InspectorArray&gt;&amp; listenersArray)

Please rebaseline

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:732
&gt; +        *error = &quot;No such node&quot;;

Please use assertNode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584180</commentid>
    <comment_count>3</comment_count>
      <attachid>133052</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-21 08:58:10 -0700</bug_when>
    <thetext>Created attachment 133052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584182</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-21 08:59:47 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 133039 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=133039&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:726
&gt; &gt; +void InspectorDOMAgent::getEventListenersForNode(ErrorString* error, int nodeId, RefPtr&lt;InspectorArray&gt;&amp; listenersArray)
&gt; 
&gt; Please rebaseline
&gt; 
Done.

&gt; &gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:732
&gt; &gt; +        *error = &quot;No such node&quot;;
&gt; 
&gt; Please use assertNode
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584198</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-03-21 09:10:02 -0700</bug_when>
    <thetext>Committed r111549: &lt;http://trac.webkit.org/changeset/111549&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133039</attachid>
            <date>2012-03-21 07:48:53 -0700</date>
            <delta_ts>2012-03-21 08:54:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81782-20120321184851.patch</filename>
            <type>text/plain</type>
            <size>16793</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFlNmVjNTgwYWE4OTM2
OTMwYmRkMWExOWZiNjJlMWY2ZDJlMTZjZC4uZTY3ZGI5ZWYzY2EwOWY1YmNlNjRjNjk4YzQ3ZTA3
MWExMWNkZDZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAzLTIxICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGV2ZW50IGxpc3RlbmVyIHNlY3Rpb24gZG9lc24ndCBzaG93IGFsbCBldmVudCBsaXN0ZW5l
cnMgb2YgdGhlIGVsZW1lbnQgYW5jZXN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MTc4MgorCisgICAgICAgIEV2ZW50IGxpc3RlbmVycyBzZWN0
aW9uIG5vdyBjb250YWlucyBhbGwgZXZlbnQgbGlzdGVuZXJzIGZvciB0aGUgc2VsZWN0ZWQKKyAg
ICAgICAgZWxlbWVudCBhbmNlc3RvcnMgY2hhaW4gKGluIGNhc2Ugb3B0aW9uICJBbGwgTm9kZXMi
IGlzIHNlbGVjdGVkKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Z2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5wcm90b3R5cGUu
dXBkYXRlLmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyc1Np
ZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50
TGlzdGVuZXJzU2lkZWJhclBhbmUucHJvdG90eXBlKToKKwogMjAxMi0wMy0yMSAgWmVubyBBbGJp
c3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdW1dLMl1bTWFjXSBNaW5pQnJv
d3NlciBhc3NlcnRzIGF0IEhhc2hUYWJsZS5oOjQ4MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggODc1YTI5OGEwZDU4OGVlMzE2ODVjYjk5
M2ZmNGQwODM1ODUzZmIwMS4uNjZkNWRiZDNiZTBmNjEwMTEzOGViMDQ3NTM5NTA3OGViZGFiZmM1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
CkBAIC03MjMsNDUgKzcyMywzOCBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpzZXROb2RlVmFs
dWUoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25zdAogICAgIG1fZG9t
RWRpdG9yLT5yZXBsYWNlV2hvbGVUZXh0KHRvVGV4dChub2RlKSwgdmFsdWUsIGVycm9yU3RyaW5n
KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6Z2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2Rl
KEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCwgUmVmUHRyPEluc3BlY3RvckFycmF5PiYgbGlzdGVu
ZXJzQXJyYXkpCit2b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRFdmVudExpc3RlbmVyc0Zvck5v
ZGUoRXJyb3JTdHJpbmcqIGVycm9yLCBpbnQgbm9kZUlkLCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+
JiBsaXN0ZW5lcnNBcnJheSkKIHsKICAgICBOb2RlKiBub2RlID0gbm9kZUZvcklkKG5vZGVJZCk7
Ci0gICAgRXZlbnRUYXJnZXREYXRhKiBkOwogCiAgICAgLy8gUXVpY2sgYnJlYWsgaWYgYSBudWxs
IG5vZGUgb3Igbm8gbGlzdGVuZXJzIGF0IGFsbAotICAgIGlmICghbm9kZSB8fCAhKGQgPSBub2Rl
LT5ldmVudFRhcmdldERhdGEoKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIEdldCB0aGUg
bGlzdCBvZiBldmVudCB0eXBlcyB0aGlzIE5vZGUgaXMgY29uY2VybmVkIHdpdGgKLSAgICBWZWN0
b3I8QXRvbWljU3RyaW5nPiBldmVudFR5cGVzID0gZC0+ZXZlbnRMaXN0ZW5lck1hcC5ldmVudFR5
cGVzKCk7Ci0KLSAgICAvLyBRdWljayBicmVhayBpZiBubyB1c2VmdWwgbGlzdGVuZXJzCi0gICAg
c2l6ZV90IGV2ZW50VHlwZXNMZW5ndGggPSBldmVudFR5cGVzLnNpemUoKTsKLSAgICBpZiAoIWV2
ZW50VHlwZXNMZW5ndGgpCisgICAgaWYgKCFub2RlKSB7CisgICAgICAgICplcnJvciA9ICJObyBz
dWNoIG5vZGUiOwogICAgICAgICByZXR1cm47CisgICAgfQogCiAgICAgLy8gVGhlIE5vZGUncyBB
bmNlc3RvcnMgKG5vdCBpbmNsdWRpbmcgc2VsZikKLSAgICBWZWN0b3I8Q29udGFpbmVyTm9kZSo+
IGFuY2VzdG9yczsKKyAgICBWZWN0b3I8Tm9kZSo+IGFuY2VzdG9yczsKKyAgICAvLyBQdXNoIHRo
aXMgbm9kZSBhcyB0aGUgZmlycyBlbGVtZW50LgorICAgIGFuY2VzdG9ycy5hcHBlbmQobm9kZSk7
CiAgICAgZm9yIChDb250YWluZXJOb2RlKiBhbmNlc3RvciA9IG5vZGUtPnBhcmVudE9ySG9zdE5v
ZGUoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudE9ySG9zdE5vZGUoKSkK
ICAgICAgICAgYW5jZXN0b3JzLmFwcGVuZChhbmNlc3Rvcik7CiAKICAgICAvLyBOb2RlcyBhbmQg
dGhlaXIgTGlzdGVuZXJzIGZvciB0aGUgY29uY2VybmVkIGV2ZW50IHR5cGVzIChvcmRlciBpcyB0
b3AgdG8gYm90dG9tKQogICAgIFZlY3RvcjxFdmVudExpc3RlbmVySW5mbz4gZXZlbnRJbmZvcm1h
dGlvbjsKICAgICBmb3IgKHNpemVfdCBpID0gYW5jZXN0b3JzLnNpemUoKTsgaTsgLS1pKSB7Ci0g
ICAgICAgIENvbnRhaW5lck5vZGUqIGFuY2VzdG9yID0gYW5jZXN0b3JzW2kgLSAxXTsKLSAgICAg
ICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBldmVudFR5cGVzTGVuZ3RoOyArK2opIHsKKyAgICAg
ICAgTm9kZSogYW5jZXN0b3IgPSBhbmNlc3RvcnNbaSAtIDFdOworICAgICAgICBFdmVudFRhcmdl
dERhdGEqIGQgPSBhbmNlc3Rvci0+ZXZlbnRUYXJnZXREYXRhKCk7CisgICAgICAgIGlmICghZCkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAvLyBHZXQgdGhlIGxpc3Qgb2YgZXZlbnQg
dHlwZXMgdGhpcyBOb2RlIGlzIGNvbmNlcm5lZCB3aXRoCisgICAgICAgIFZlY3RvcjxBdG9taWNT
dHJpbmc+IGV2ZW50VHlwZXMgPSBkLT5ldmVudExpc3RlbmVyTWFwLmV2ZW50VHlwZXMoKTsKKyAg
ICAgICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBldmVudFR5cGVzLnNpemUoKTsgKytqKSB7CiAg
ICAgICAgICAgICBBdG9taWNTdHJpbmcmIHR5cGUgPSBldmVudFR5cGVzW2pdOwotICAgICAgICAg
ICAgaWYgKGFuY2VzdG9yLT5oYXNFdmVudExpc3RlbmVycyh0eXBlKSkKLSAgICAgICAgICAgICAg
ICBldmVudEluZm9ybWF0aW9uLmFwcGVuZChFdmVudExpc3RlbmVySW5mbyhhbmNlc3RvciwgdHlw
ZSwgYW5jZXN0b3ItPmdldEV2ZW50TGlzdGVuZXJzKHR5cGUpKSk7CisgICAgICAgICAgICBldmVu
dEluZm9ybWF0aW9uLmFwcGVuZChFdmVudExpc3RlbmVySW5mbyhhbmNlc3RvciwgdHlwZSwgYW5j
ZXN0b3ItPmdldEV2ZW50TGlzdGVuZXJzKHR5cGUpKSk7CiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICAvLyBJbnNlcnQgdGhlIEN1cnJlbnQgTm9kZSBhdCB0aGUgZW5kIG9mIHRoYXQgbGlzdCAobGFz
dCBpbiBjYXB0dXJpbmcsIGZpcnN0IGluIGJ1YmJsaW5nKQotICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgZXZlbnRUeXBlc0xlbmd0aDsgKytpKSB7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSA9IGV2ZW50VHlwZXNbaV07Ci0gICAgICAgIGV2ZW50SW5mb3JtYXRpb24uYXBwZW5k
KEV2ZW50TGlzdGVuZXJJbmZvKG5vZGUsIHR5cGUsIG5vZGUtPmdldEV2ZW50TGlzdGVuZXJzKHR5
cGUpKSk7Ci0gICAgfQotCiAgICAgLy8gR2V0IENhcHR1cmluZyBMaXN0ZW5lcnMgKGluIHRoaXMg
b3JkZXIpCiAgICAgc2l6ZV90IGV2ZW50SW5mb3JtYXRpb25MZW5ndGggPSBldmVudEluZm9ybWF0
aW9uLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGV2ZW50SW5mb3JtYXRpb25M
ZW5ndGg7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzCmluZGV4IDcxNzk3M2Jj
ZGFjZTUxZDFkMDYwNDEwMjJjYTE4NjNiNDdhYzU5NmYuLjI4N2VmMGVhODRlNjE5NmI5OWZiNjY3
NWQ5MWRjMDVkNDI2NDRjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanMKQEAgLTgx
LDEwICs4MSwxMyBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoZXJyb3IpCiAgICAgICAgICAgICAgICAgcmV0dXJu
OwogCisgICAgICAgICAgICB2YXIgc2VsZWN0ZWROb2RlT25seSA9ICJzZWxlY3RlZCIgPT09IFdl
Ykluc3BlY3Rvci5zZXR0aW5ncy5ldmVudExpc3RlbmVyc0ZpbHRlci5nZXQoKTsKICAgICAgICAg
ICAgIHZhciBzZWN0aW9uTmFtZXMgPSBbXTsKICAgICAgICAgICAgIHZhciBzZWN0aW9uTWFwID0g
e307CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50TGlzdGVuZXJzLmxlbmd0
aDsgKytpKSB7CiAgICAgICAgICAgICAgICAgdmFyIGV2ZW50TGlzdGVuZXIgPSBldmVudExpc3Rl
bmVyc1tpXTsKKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWROb2RlT25seSAmJiAobm9kZS5p
ZCAhPT0gZXZlbnRMaXN0ZW5lci5ub2RlSWQpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgICAgICBldmVudExpc3RlbmVyLm5vZGUgPSBXZWJJbnNwZWN0b3IuZG9t
QWdlbnQubm9kZUZvcklkKGV2ZW50TGlzdGVuZXIubm9kZUlkKTsKICAgICAgICAgICAgICAgICBk
ZWxldGUgZXZlbnRMaXN0ZW5lci5ub2RlSWQ7IC8vIG5vIGxvbmdlciBuZWVkZWQKICAgICAgICAg
ICAgICAgICBpZiAoL15mdW5jdGlvbiBfaW5zcGVjdG9yQ29tbWFuZExpbmVBUElfbG9nRXZlbnRc
KC8udGVzdChldmVudExpc3RlbmVyLmhhbmRsZXJCb2R5LnRvU3RyaW5nKCkpKQpAQCAtMTExLDIy
ICsxMTQsMjUgQEAgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUucHJvdG90
eXBlID0gewogICAgICAgICAgICAgc2VjdGlvbk5hbWVzLnNvcnQoKTsKICAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc2VjdGlvbk5hbWVzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAg
ICAgICAgdmFyIHNlY3Rpb24gPSBzZWN0aW9uTWFwW3NlY3Rpb25OYW1lc1tpXV07Ci0gICAgICAg
ICAgICAgICAgc2VjdGlvbi51cGRhdGUoKTsKICAgICAgICAgICAgICAgICBib2R5LmFwcGVuZENo
aWxkKHNlY3Rpb24uZWxlbWVudCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAobm9kZSkKICAgICAgICAgICAgIG5vZGUuZXZlbnRMaXN0ZW5lcnMoY2FsbGJhY2spOwor
ICAgICAgICB0aGlzLl9zZWxlY3RlZE5vZGUgPSBub2RlOwogICAgIH0sCiAKLSAgICBfY2hhbmdl
U2V0dGluZzogZnVuY3Rpb24oZXZlbnQpCisgICAgd2lsbEhpZGU6IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWxlY3RlZE5vZGU7CisgICAgfSwKKworICAgIF9jaGFu
Z2VTZXR0aW5nOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgc2VsZWN0ZWRPcHRpb24g
PSB0aGlzLnNldHRpbmdzU2VsZWN0RWxlbWVudFt0aGlzLnNldHRpbmdzU2VsZWN0RWxlbWVudC5z
ZWxlY3RlZEluZGV4XTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmV2ZW50TGlzdGVu
ZXJzRmlsdGVyLnNldChzZWxlY3RlZE9wdGlvbi52YWx1ZSk7Ci0KLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCB0aGlzLnNlY3Rpb25zLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgdGhpcy5z
ZWN0aW9uc1tpXS51cGRhdGUoKTsKKyAgICAgICAgdGhpcy51cGRhdGUodGhpcy5fc2VsZWN0ZWRO
b2RlKTsKICAgICB9CiB9CiAKQEAgLTE0OCwzNyArMTU0LDE2IEBAIFdlYkluc3BlY3Rvci5FdmVu
dExpc3RlbmVyc1NlY3Rpb24gPSBmdW5jdGlvbih0aXRsZSwgbm9kZUlkLCBsaW5raWZpZXIpCiAg
ICAgZGVsZXRlIHRoaXMucHJvcGVydGllc0VsZW1lbnQ7CiAgICAgZGVsZXRlIHRoaXMucHJvcGVy
dGllc1RyZWVPdXRsaW5lOwogCi0gICAgdGhpcy5ldmVudEJhcnMgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKLSAgICB0aGlzLmV2ZW50QmFycy5jbGFzc05hbWUgPSAiZXZlbnQtYmFy
cyI7Ci0gICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuZXZlbnRCYXJzKTsKKyAgICB0
aGlzLl9ldmVudEJhcnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICB0aGlz
Ll9ldmVudEJhcnMuY2xhc3NOYW1lID0gImV2ZW50LWJhcnMiOworICAgIHRoaXMuZWxlbWVudC5h
cHBlbmRDaGlsZCh0aGlzLl9ldmVudEJhcnMpOwogfQogCiBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0
ZW5lcnNTZWN0aW9uLnByb3RvdHlwZSA9IHsKLSAgICB1cGRhdGU6IGZ1bmN0aW9uKCkKLSAgICB7
Ci0gICAgICAgIC8vIEEgRmlsdGVyZWQgQXJyYXkgc2ltcGxpZmllcyB3aGVuIHRvIGNyZWF0ZSBj
b25uZWN0b3JzCi0gICAgICAgIHZhciBmaWx0ZXJlZEV2ZW50TGlzdGVuZXJzID0gdGhpcy5ldmVu
dExpc3RlbmVyczsKLSAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5zZXR0aW5ncy5ldmVudExpc3Rl
bmVyc0ZpbHRlci5nZXQoKSA9PSAic2VsZWN0ZWQiKSB7Ci0gICAgICAgICAgICBmaWx0ZXJlZEV2
ZW50TGlzdGVuZXJzID0gW107Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMu
ZXZlbnRMaXN0ZW5lcnMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICB2YXIgZXZlbnRM
aXN0ZW5lciA9IHRoaXMuZXZlbnRMaXN0ZW5lcnNbaV07Ci0gICAgICAgICAgICAgICAgaWYgKGV2
ZW50TGlzdGVuZXIubm9kZS5pZCA9PT0gdGhpcy5fbm9kZUlkKQotICAgICAgICAgICAgICAgICAg
ICBmaWx0ZXJlZEV2ZW50TGlzdGVuZXJzLnB1c2goZXZlbnRMaXN0ZW5lcik7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLmV2ZW50QmFycy5yZW1vdmVDaGlsZHJlbigp
OwotICAgICAgICB2YXIgbGVuZ3RoID0gZmlsdGVyZWRFdmVudExpc3RlbmVycy5sZW5ndGg7Ci0g
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZh
ciBldmVudExpc3RlbmVyID0gZmlsdGVyZWRFdmVudExpc3RlbmVyc1tpXTsKLSAgICAgICAgICAg
IHZhciBldmVudExpc3RlbmVyQmFyID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQmFy
KGV2ZW50TGlzdGVuZXIsIHRoaXMuX25vZGVJZCwgdGhpcy5fbGlua2lmaWVyKTsKLSAgICAgICAg
ICAgIHRoaXMuZXZlbnRCYXJzLmFwcGVuZENoaWxkKGV2ZW50TGlzdGVuZXJCYXIuZWxlbWVudCk7
Ci0gICAgICAgIH0KLSAgICB9LAotCiAgICAgYWRkTGlzdGVuZXI6IGZ1bmN0aW9uKGV2ZW50TGlz
dGVuZXIpCiAgICAgewotICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnB1c2goZXZlbnRMaXN0
ZW5lcik7CisgICAgICAgIHZhciBldmVudExpc3RlbmVyQmFyID0gbmV3IFdlYkluc3BlY3Rvci5F
dmVudExpc3RlbmVyQmFyKGV2ZW50TGlzdGVuZXIsIHRoaXMuX25vZGVJZCwgdGhpcy5fbGlua2lm
aWVyKTsKKyAgICAgICAgdGhpcy5fZXZlbnRCYXJzLmFwcGVuZENoaWxkKGV2ZW50TGlzdGVuZXJC
YXIuZWxlbWVudCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzhhNTQwMWYyOWRlMTFhZTNlNWViZmFk
MjQwYTRiZDM5NjEwMjJkYi4uZWU3ODNhNjc2OWY3MTk1N2FkN2ZkODdmNTRlODMwNjhlOThkMDcz
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTIxICBZdXJ5IFNlbWlraGF0c2t5ICA8
eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV2ZW50IGxpc3Rl
bmVyIHNlY3Rpb24gZG9lc24ndCBzaG93IGFsbCBldmVudCBsaXN0ZW5lcnMgb2YgdGhlIGVsZW1l
bnQgYW5jZXN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MTc4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qczoKKyAgICAgICAgKGlu
aXRpYWxpemVfRWxlbWVudFRlc3QuSW5zcGVjdG9yVGVzdC5leHBhbmRTZWxlY3RlZEVsZW1lbnRF
dmVudExpc3RlbmVyc0V2ZW50QmFycyk6CisgICAgICAgIChpbml0aWFsaXplX0VsZW1lbnRUZXN0
Lkluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVuZXJzKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZWxlbWVudHMvZXZl
bnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQ6CisKIDIwMTItMDMtMjEgIFZpbmVldCBD
aGF1ZGhhcnkgIDxyZ2Y3NDhAbW90b3JvbGEuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTcwNQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMKaW5kZXggYzQ0ODIyZTA4ZTNhMjNiYTli
ZWE4OWE3ZWE4ZTA5NjAwMWRkOWRlMy4uODg5MzI4NmVjNjU1M2NjYTNmZDIyOTk0MTJmOWYzOGJh
NjM0Mzc0MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxl
bWVudHMtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy10ZXN0LmpzCkBAIC0xOTIsNyArMTkyLDcgQEAgSW5zcGVjdG9yVGVzdC5leHBhbmRTZWxl
Y3RlZEVsZW1lbnRFdmVudExpc3RlbmVyc0V2ZW50QmFycyA9IGZ1bmN0aW9uKGNhbGxiYWNrKQog
ewogICAgIHZhciBldmVudExpc3RlbmVyU2VjdGlvbnMgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVs
ZW1lbnRzLnNpZGViYXJQYW5lcy5ldmVudExpc3RlbmVycy5zZWN0aW9uczsKICAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGV2ZW50TGlzdGVuZXJTZWN0aW9ucy5sZW5ndGg7ICsraSkgewotICAgICAg
ICB2YXIgZXZlbnRCYXJDaGlsZHJlbiA9IGV2ZW50TGlzdGVuZXJTZWN0aW9uc1tpXS5ldmVudEJh
cnMuY2hpbGRyZW47CisgICAgICAgIHZhciBldmVudEJhckNoaWxkcmVuID0gZXZlbnRMaXN0ZW5l
clNlY3Rpb25zW2ldLl9ldmVudEJhcnMuY2hpbGRyZW47CiAgICAgICAgIGZvciAodmFyIGogPSAw
OyBqIDwgZXZlbnRCYXJDaGlsZHJlbi5sZW5ndGg7ICsraikKICAgICAgICAgICAgIGV2ZW50QmFy
Q2hpbGRyZW5bal0uX3NlY3Rpb24uZXhwYW5kKCk7CiAgICAgfQpAQCAtMjE0LDcgKzIxNCw3IEBA
IEluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rp
b24oY2FsbGJhY2spCiAgICAgICAgIHZhciBldmVudFR5cGUgPSBzZWN0aW9uLl90aXRsZTsKICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOwogICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiPT09PT09PT0gIiArIGV2ZW50VHlwZSArICIgPT09PT09PT0iKTsKLSAgICAg
ICAgdmFyIGV2ZW50QmFyQ2hpbGRyZW4gPSBzZWN0aW9uLmV2ZW50QmFycy5jaGlsZHJlbjsKKyAg
ICAgICAgdmFyIGV2ZW50QmFyQ2hpbGRyZW4gPSBzZWN0aW9uLl9ldmVudEJhcnMuY2hpbGRyZW47
CiAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZXZlbnRCYXJDaGlsZHJlbi5sZW5ndGg7ICsr
aikgewogICAgICAgICAgICAgdmFyIG9iamVjdFByb3BlcnRpZXNTZWN0aW9uID0gZXZlbnRCYXJD
aGlsZHJlbltqXS5fc2VjdGlvbjsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcE9iamVj
dFByb3BlcnR5U2VjdGlvbihvYmplY3RQcm9wZXJ0aWVzU2VjdGlvbiwgewpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVy
LXNpZGViYXItZXhwZWN0ZWQudHh0CmluZGV4IDIyNTY5OTU1NjM4YzFmMTgwZmM0NWE0ZWVkNjI2
MjZiYTg3ZjUzYzAuLjFjY2EwNTRiNWJhODI4YTE1NTAyNGI5OWFjZWVhM2ZmNGJjNmRhZDIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1z
aWRlYmFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
ZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQKQEAgLTUyLDYgKzUyLDE2IEBAIElu
c3BlY3QgTWUKICAgICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IGZhbHNlCiAKKz09PT09
PT09IGN1c3RvbSBldmVudCA9PT09PT09PQorW2V4cGFuZGVkXSBib2R5IGV2ZW50LWxpc3RlbmVy
LXNpZGViYXIuaHRtbDoxMAorICAgIGlzQXR0cmlidXRlOiBmYWxzZQorICAgIGxpbmVOdW1iZXI6
IDEwCisgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KKyAgICBub2RlOiBIVE1MQm9k
eUVsZW1lbnQKKyAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAorICAgIHR5cGU6
IGN1c3RvbSBldmVudAorICAgIHVzZUNhcHR1cmU6IHRydWUKKwogPT09PT09PT0gaG92ZXIgPT09
PT09PT0KIFtleHBhbmRlZF0gYnV0dG9uI25vZGUgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1s
OjE0CiAgICAgaXNBdHRyaWJ1dGU6IGZhbHNlCkBAIC02MiwzICs3MiwzMiBAQCBJbnNwZWN0IE1l
CiAgICAgdHlwZTogaG92ZXIKICAgICB1c2VDYXB0dXJlOiBmYWxzZQogCis9PT09PT09PSBjbGlj
ayA9PT09PT09PQorW2V4cGFuZGVkXSBkb2N1bWVudCBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0
bWw6MTkKKyAgICBpc0F0dHJpYnV0ZTogZmFsc2UKKyAgICBsaW5lTnVtYmVyOiAxOQorICAgIGxp
c3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGRvY3Vt
ZW50IC0gY2FwdHVyaW5nIik7IH0KKyAgICBub2RlOiBIVE1MRG9jdW1lbnQKKyAgICBzb3VyY2VO
YW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2
ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAorICAgIHR5cGU6IGNsaWNrCisgICAgdXNlQ2FwdHVy
ZTogdHJ1ZQorW2V4cGFuZGVkXSBkb2N1bWVudCBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6
NgorICAgIGlzQXR0cmlidXRlOiB0cnVlCisgICAgbGluZU51bWJlcjogNgorICAgIGxpc3RlbmVy
Qm9keTogZnVuY3Rpb24gZG9jdW1lbnRDbGlja0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2co
ImNsaWNrIC0gZG9jdW1lbnQgLSBhdHRyaWJ1dGUiKTsgfQorICAgIG5vZGU6IEhUTUxEb2N1bWVu
dAorICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCisgICAgdHlwZTogY2xpY2sK
KyAgICB1c2VDYXB0dXJlOiBmYWxzZQorCis9PT09PT09PSBjdXN0b20gZXZlbnQgPT09PT09PT0K
K1tleHBhbmRlZF0gYm9keSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTAKKyAgICBpc0F0
dHJpYnV0ZTogZmFsc2UKKyAgICBsaW5lTnVtYmVyOiAxMAorICAgIGxpc3RlbmVyQm9keTogZnVu
Y3Rpb24gZigpIHt9CisgICAgbm9kZTogSFRNTEJvZHlFbGVtZW50CisgICAgc291cmNlTmFtZTog
W2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1s
aXN0ZW5lci1zaWRlYmFyLmh0bWwKKyAgICB0eXBlOiBjdXN0b20gZXZlbnQKKyAgICB1c2VDYXB0
dXJlOiB0cnVlCitMaXN0ZW5lcnMgZm9yIHNlbGVjdGVkIG5vZGUgb25seShzaG91bGQgYmUgbm8g
bGlzdGVuZXJzKToKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
L2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVt
ZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKaW5kZXggNDQ1YTkxYWU4OWJkOTcwNmUx
ZDVjZDI4OGRkYTY2ZGE0NWRjZDJmMi4uZWE4YjUyY2NmZDRjMzEwMTNkOGU5MDVmOGM3YmY0YjAx
YmE0Zjc0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50
LWxpc3RlbmVyLXNpZGViYXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCkBAIC0xOSwxMyArMTksMzYgQEAgZnVuY3Rp
b24gc2V0dXBFdmVudExpc3RlbmVycygpCiAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBmdW5jdGlvbihldmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVudCAt
IGNhcHR1cmluZyIpOyB9LCB0cnVlKTsKICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZWRvd24iLCBmLCBmYWxzZSk7CiAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigi
bW91c2Vkb3duIiwgZiwgZmFsc2UpOworCisgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3Rl
bmVyKCJjdXN0b20gZXZlbnQiLCBmLCB0cnVlKTsKIH0KIAogZnVuY3Rpb24gdGVzdCgpCiB7Ci0g
ICAgSW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJub2RlIiwgY2FsbGJhY2spOworICAg
IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5ldmVudExpc3RlbmVyc0ZpbHRlci5zZXQoImFsbCIpOwor
ICAgIEluc3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgibm9kZSIsIHN0ZXAxKTsKIAotICAg
IGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGFuZEFuZER1bXBTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVy
cyhzdGVwMik7CisgICAgfQorICAgIGZ1bmN0aW9uIHN0ZXAyKCkKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3Quc2VsZWN0Tm9kZVdpdGhJZCgibm9kZS13aXRob3V0LWxpc3RlbmVycyIsIHN0
ZXAzKTsKKyAgICB9CisgICAgZnVuY3Rpb24gc3RlcDMoKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5leHBhbmRBbmREdW1wU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5lcnMoc3RlcDQp
OworICAgIH0KKyAgICBmdW5jdGlvbiBzdGVwNCgpCisgICAgeworICAgICAgICB2YXIgZXZlbnRM
aXN0ZW5lcnNQYW5lID0gV2ViSW5zcGVjdG9yLnBhbmVscy5lbGVtZW50cy5zaWRlYmFyUGFuZXMu
ZXZlbnRMaXN0ZW5lcnM7CisgICAgICAgIGV2ZW50TGlzdGVuZXJzUGFuZS5zZXR0aW5nc1NlbGVj
dEVsZW1lbnQuc2VsZWN0ZWRJbmRleCA9IDE7CisgICAgICAgIGV2ZW50TGlzdGVuZXJzUGFuZS5f
Y2hhbmdlU2V0dGluZygpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTGlzdGVu
ZXJzIGZvciBzZWxlY3RlZCBub2RlIG9ubHkoc2hvdWxkIGJlIG5vIGxpc3RlbmVycyk6Iik7Cisg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwYW5kQW5kRHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50TGlz
dGVuZXJzKHN0ZXA1KTsKKyAgICB9CisgICAgZnVuY3Rpb24gc3RlcDUoKQogICAgIHsKICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBhbmRBbmREdW1wU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5l
cnMoSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QpOwogICAgIH0KQEAgLTQ2LDUgKzY5LDcgQEAg
VGVzdHMgZXZlbnQgbGlzdGVuZXJzIG91dHB1dCBpbiB0aGUgRWxlbWVudHMgc2lkZWJhciBwYW5l
bC4KIAogPGJ1dHRvbiBpZD0ibm9kZSI+SW5zcGVjdCBNZTwvYnV0dG9uPgogCis8ZGl2IGlkPSJu
b2RlLXdpdGhvdXQtbGlzdGVuZXJzIj48L2Rpdj4KKwogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2VsZW1lbnRzL2V2
ZW50LWxpc3RlbmVyLXNpZGViYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhwZWN0
ZWQudHh0CmluZGV4IDIyNTY5OTU1NjM4YzFmMTgwZmM0NWE0ZWVkNjI2MjZiYTg3ZjUzYzAuLjFj
Y2EwNTRiNWJhODI4YTE1NTAyNGI5OWFjZWVhM2ZmNGJjNmRhZDIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5l
ci1zaWRlYmFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQK
QEAgLTUyLDYgKzUyLDE2IEBAIEluc3BlY3QgTWUKICAgICB0eXBlOiBjbGljawogICAgIHVzZUNh
cHR1cmU6IGZhbHNlCiAKKz09PT09PT09IGN1c3RvbSBldmVudCA9PT09PT09PQorW2V4cGFuZGVk
XSBib2R5IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxMAorICAgIGlzQXR0cmlidXRlOiBm
YWxzZQorICAgIGxpbmVOdW1iZXI6IDEwCisgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkg
e30KKyAgICBub2RlOiBIVE1MQm9keUVsZW1lbnQKKyAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1m
b3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNp
ZGViYXIuaHRtbAorICAgIHR5cGU6IGN1c3RvbSBldmVudAorICAgIHVzZUNhcHR1cmU6IHRydWUK
KwogPT09PT09PT0gaG92ZXIgPT09PT09PT0KIFtleHBhbmRlZF0gYnV0dG9uI25vZGUgZXZlbnQt
bGlzdGVuZXItc2lkZWJhci5odG1sOjE0CiAgICAgaXNBdHRyaWJ1dGU6IGZhbHNlCkBAIC02Miwz
ICs3MiwzMiBAQCBJbnNwZWN0IE1lCiAgICAgdHlwZTogaG92ZXIKICAgICB1c2VDYXB0dXJlOiBm
YWxzZQogCis9PT09PT09PSBjbGljayA9PT09PT09PQorW2V4cGFuZGVkXSBkb2N1bWVudCBldmVu
dC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTkKKyAgICBpc0F0dHJpYnV0ZTogZmFsc2UKKyAgICBs
aW5lTnVtYmVyOiAxOQorICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50KSB7IGNvbnNv
bGUubG9nKCJjbGljayAtIGRvY3VtZW50IC0gY2FwdHVyaW5nIik7IH0KKyAgICBub2RlOiBIVE1M
RG9jdW1lbnQKKyAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAorICAgIHR5cGU6
IGNsaWNrCisgICAgdXNlQ2FwdHVyZTogdHJ1ZQorW2V4cGFuZGVkXSBkb2N1bWVudCBldmVudC1s
aXN0ZW5lci1zaWRlYmFyLmh0bWw6NgorICAgIGlzQXR0cmlidXRlOiB0cnVlCisgICAgbGluZU51
bWJlcjogNgorICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZG9jdW1lbnRDbGlja0hhbmRsZXIo
ZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBhdHRyaWJ1dGUiKTsgfQor
ICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0
XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5o
dG1sCisgICAgdHlwZTogY2xpY2sKKyAgICB1c2VDYXB0dXJlOiBmYWxzZQorCis9PT09PT09PSBj
dXN0b20gZXZlbnQgPT09PT09PT0KK1tleHBhbmRlZF0gYm9keSBldmVudC1saXN0ZW5lci1zaWRl
YmFyLmh0bWw6MTAKKyAgICBpc0F0dHJpYnV0ZTogZmFsc2UKKyAgICBsaW5lTnVtYmVyOiAxMAor
ICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZigpIHt9CisgICAgbm9kZTogSFRNTEJvZHlFbGVt
ZW50CisgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKKyAgICB0eXBlOiBjdXN0
b20gZXZlbnQKKyAgICB1c2VDYXB0dXJlOiB0cnVlCitMaXN0ZW5lcnMgZm9yIHNlbGVjdGVkIG5v
ZGUgb25seShzaG91bGQgYmUgbm8gbGlzdGVuZXJzKToKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133052</attachid>
            <date>2012-03-21 08:58:10 -0700</date>
            <delta_ts>2012-03-21 09:00:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81782-20120321195808.patch</filename>
            <type>text/plain</type>
            <size>17302</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjgxMDk0Nzc1ODRhYTZm
NjQxM2FlNTIzNjAxNWJiOTlkNmY1NDgzOS4uYzFhZDkxNTQwOWUwNTk3MWU3ODRhNTQxMjU5N2Zj
YTkwOWNlYmI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAzLTIxICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGV2ZW50IGxpc3RlbmVyIHNlY3Rpb24gZG9lc24ndCBzaG93IGFsbCBldmVudCBsaXN0ZW5l
cnMgb2YgdGhlIGVsZW1lbnQgYW5jZXN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MTc4MgorCisgICAgICAgIEV2ZW50IGxpc3RlbmVycyBzZWN0
aW9uIG5vdyBjb250YWlucyBhbGwgZXZlbnQgbGlzdGVuZXJzIGZvciB0aGUgc2VsZWN0ZWQKKyAg
ICAgICAgZWxlbWVudCBhbmNlc3RvcnMgY2hhaW4gKGluIGNhc2Ugb3B0aW9uICJBbGwgTm9kZXMi
IGlzIHNlbGVjdGVkKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JET01BZ2VudDo6Z2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5wcm90b3R5cGUu
dXBkYXRlLmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyc1Np
ZGViYXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50
TGlzdGVuZXJzU2lkZWJhclBhbmUucHJvdG90eXBlKToKKwogMjAxMi0wMy0yMSAgSWx5YSBUaWto
b25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
SGVhcFByb2ZpbGVyOiBET00gbm9kZSBpZCBjYW4gb3ZlcmZsb3cgSW50MzIuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCA2NDRiYjlhZjEw
YTQ3YzE4YTk0NmEwMDYxMDkwN2I3Yjg0NWQ4ZjUzLi5jNmRlOTg2ZTg2MTdkZWUxMmRkODE3OWRi
ZjVlYTZjYzk0ZDIxZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKQEAgLTcyNSwxNSArNzI1LDExIEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdl
bnQ6OnNldE5vZGVWYWx1ZShFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIGNv
bnN0CiAKIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZShF
cnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIFJlZlB0cjxJbnNwZWN0b3JBcnJh
eT4mIGxpc3RlbmVyc0FycmF5KQogewotICAgIE5vZGUqIG5vZGUgPSBub2RlRm9ySWQobm9kZUlk
KTsKLSAgICBpZiAoIW5vZGUpIHsKLSAgICAgICAgKmVycm9yU3RyaW5nID0gIk5vIHN1Y2ggbm9k
ZSI7CisgICAgTm9kZSogbm9kZSA9IGFzc2VydE5vZGUoZXJyb3JTdHJpbmcsIG5vZGVJZCk7Cisg
ICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIFZlY3RvcjxFdmVudExp
c3RlbmVySW5mbz4gZXZlbnRJbmZvcm1hdGlvbjsKICAgICBnZXRFdmVudExpc3RlbmVycyhub2Rl
LCBldmVudEluZm9ybWF0aW9uLCB0cnVlKTsKLSAgICBpZiAoZXZlbnRJbmZvcm1hdGlvbi5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybjsKIAogICAgIC8vIEdldCBDYXB0dXJpbmcgTGlzdGVuZXJz
IChpbiB0aGlzIG9yZGVyKQogICAgIHNpemVfdCBldmVudEluZm9ybWF0aW9uTGVuZ3RoID0gZXZl
bnRJbmZvcm1hdGlvbi5zaXplKCk7CkBAIC03NjEsNDEgKzc1NywyNyBAQCB2b2lkIEluc3BlY3Rv
ckRPTUFnZW50OjpnZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoRXJyb3JTdHJpbmcqIGVycm9yU3Ry
aW5nLCBpbnQgbgogCiB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRFdmVudExpc3RlbmVycyhO
b2RlKiBub2RlLCBWZWN0b3I8RXZlbnRMaXN0ZW5lckluZm8+JiBldmVudEluZm9ybWF0aW9uLCBi
b29sIGluY2x1ZGVBbmNlc3RvcnMpCiB7Ci0gICAgRXZlbnRUYXJnZXREYXRhKiBkOwotCi0gICAg
Ly8gUXVpY2sgYnJlYWsgaWYgbm8gbGlzdGVuZXJzIGF0IGFsbAotICAgIGlmICghKGQgPSBub2Rl
LT5ldmVudFRhcmdldERhdGEoKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIEdldCB0aGUg
bGlzdCBvZiBldmVudCB0eXBlcyB0aGlzIE5vZGUgaXMgY29uY2VybmVkIHdpdGgKLSAgICBWZWN0
b3I8QXRvbWljU3RyaW5nPiBldmVudFR5cGVzID0gZC0+ZXZlbnRMaXN0ZW5lck1hcC5ldmVudFR5
cGVzKCk7Ci0KLSAgICAvLyBRdWljayBicmVhayBpZiBubyB1c2VmdWwgbGlzdGVuZXJzCi0gICAg
c2l6ZV90IGV2ZW50VHlwZXNMZW5ndGggPSBldmVudFR5cGVzLnNpemUoKTsKLSAgICBpZiAoIWV2
ZW50VHlwZXNMZW5ndGgpCi0gICAgICAgIHJldHVybjsKLQorICAgIC8vIFRoZSBOb2RlJ3MgQW5j
ZXN0b3JzIGluY2x1ZGluZyBzZWxmLgorICAgIFZlY3RvcjxOb2RlKj4gYW5jZXN0b3JzOworICAg
IC8vIFB1c2ggdGhpcyBub2RlIGFzIHRoZSBmaXJzIGVsZW1lbnQuCisgICAgYW5jZXN0b3JzLmFw
cGVuZChub2RlKTsKICAgICBpZiAoaW5jbHVkZUFuY2VzdG9ycykgewotICAgICAgICAvLyBUaGUg
Tm9kZSdzIEFuY2VzdG9ycyAobm90IGluY2x1ZGluZyBzZWxmKQotICAgICAgICBWZWN0b3I8Q29u
dGFpbmVyTm9kZSo+IGFuY2VzdG9yczsKICAgICAgICAgZm9yIChDb250YWluZXJOb2RlKiBhbmNl
c3RvciA9IG5vZGUtPnBhcmVudE9ySG9zdE5vZGUoKTsgYW5jZXN0b3I7IGFuY2VzdG9yID0gYW5j
ZXN0b3ItPnBhcmVudE9ySG9zdE5vZGUoKSkKICAgICAgICAgICAgIGFuY2VzdG9ycy5hcHBlbmQo
YW5jZXN0b3IpOwotCi0gICAgICAgIC8vIE5vZGVzIGFuZCB0aGVpciBMaXN0ZW5lcnMgZm9yIHRo
ZSBjb25jZXJuZWQgZXZlbnQgdHlwZXMgKG9yZGVyIGlzIHRvcCB0byBib3R0b20pCi0gICAgICAg
IGZvciAoc2l6ZV90IGkgPSBhbmNlc3RvcnMuc2l6ZSgpOyBpOyAtLWkpIHsKLSAgICAgICAgICAg
IENvbnRhaW5lck5vZGUqIGFuY2VzdG9yID0gYW5jZXN0b3JzW2kgLSAxXTsKLSAgICAgICAgICAg
IGZvciAoc2l6ZV90IGogPSAwOyBqIDwgZXZlbnRUeXBlc0xlbmd0aDsgKytqKSB7Ci0gICAgICAg
ICAgICAgICAgQXRvbWljU3RyaW5nJiB0eXBlID0gZXZlbnRUeXBlc1tqXTsKLSAgICAgICAgICAg
ICAgICBpZiAoYW5jZXN0b3ItPmhhc0V2ZW50TGlzdGVuZXJzKHR5cGUpKQotICAgICAgICAgICAg
ICAgICAgICBldmVudEluZm9ybWF0aW9uLmFwcGVuZChFdmVudExpc3RlbmVySW5mbyhhbmNlc3Rv
ciwgdHlwZSwgYW5jZXN0b3ItPmdldEV2ZW50TGlzdGVuZXJzKHR5cGUpKSk7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBJbnNlcnQgdGhlIEN1cnJlbnQgTm9kZSBh
dCB0aGUgZW5kIG9mIHRoYXQgbGlzdCAobGFzdCBpbiBjYXB0dXJpbmcsIGZpcnN0IGluIGJ1YmJs
aW5nKQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZXZlbnRUeXBlc0xlbmd0aDsgKytpKSB7
Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSA9IGV2ZW50VHlwZXNbaV07Ci0gICAg
ICAgIGV2ZW50SW5mb3JtYXRpb24uYXBwZW5kKEV2ZW50TGlzdGVuZXJJbmZvKG5vZGUsIHR5cGUs
IG5vZGUtPmdldEV2ZW50TGlzdGVuZXJzKHR5cGUpKSk7CisgICAgLy8gTm9kZXMgYW5kIHRoZWly
IExpc3RlbmVycyBmb3IgdGhlIGNvbmNlcm5lZCBldmVudCB0eXBlcyAob3JkZXIgaXMgdG9wIHRv
IGJvdHRvbSkKKyAgICBmb3IgKHNpemVfdCBpID0gYW5jZXN0b3JzLnNpemUoKTsgaTsgLS1pKSB7
CisgICAgICAgIE5vZGUqIGFuY2VzdG9yID0gYW5jZXN0b3JzW2kgLSAxXTsKKyAgICAgICAgRXZl
bnRUYXJnZXREYXRhKiBkID0gYW5jZXN0b3ItPmV2ZW50VGFyZ2V0RGF0YSgpOworICAgICAgICBp
ZiAoIWQpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgLy8gR2V0IHRoZSBsaXN0IG9m
IGV2ZW50IHR5cGVzIHRoaXMgTm9kZSBpcyBjb25jZXJuZWQgd2l0aAorICAgICAgICBWZWN0b3I8
QXRvbWljU3RyaW5nPiBldmVudFR5cGVzID0gZC0+ZXZlbnRMaXN0ZW5lck1hcC5ldmVudFR5cGVz
KCk7CisgICAgICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgZXZlbnRUeXBlcy5zaXplKCk7ICsr
aikgeworICAgICAgICAgICAgQXRvbWljU3RyaW5nJiB0eXBlID0gZXZlbnRUeXBlc1tqXTsKKyAg
ICAgICAgICAgIGV2ZW50SW5mb3JtYXRpb24uYXBwZW5kKEV2ZW50TGlzdGVuZXJJbmZvKGFuY2Vz
dG9yLCB0eXBlLCBhbmNlc3Rvci0+Z2V0RXZlbnRMaXN0ZW5lcnModHlwZSkpKTsKKyAgICAgICAg
fQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzCmluZGV4IDcxNzk3M2Jj
ZGFjZTUxZDFkMDYwNDEwMjJjYTE4NjNiNDdhYzU5NmYuLjI4N2VmMGVhODRlNjE5NmI5OWZiNjY3
NWQ5MWRjMDVkNDI2NDRjNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanMKQEAgLTgx
LDEwICs4MSwxMyBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICBpZiAoZXJyb3IpCiAgICAgICAgICAgICAgICAgcmV0dXJu
OwogCisgICAgICAgICAgICB2YXIgc2VsZWN0ZWROb2RlT25seSA9ICJzZWxlY3RlZCIgPT09IFdl
Ykluc3BlY3Rvci5zZXR0aW5ncy5ldmVudExpc3RlbmVyc0ZpbHRlci5nZXQoKTsKICAgICAgICAg
ICAgIHZhciBzZWN0aW9uTmFtZXMgPSBbXTsKICAgICAgICAgICAgIHZhciBzZWN0aW9uTWFwID0g
e307CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50TGlzdGVuZXJzLmxlbmd0
aDsgKytpKSB7CiAgICAgICAgICAgICAgICAgdmFyIGV2ZW50TGlzdGVuZXIgPSBldmVudExpc3Rl
bmVyc1tpXTsKKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWROb2RlT25seSAmJiAobm9kZS5p
ZCAhPT0gZXZlbnRMaXN0ZW5lci5ub2RlSWQpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgICAgICBldmVudExpc3RlbmVyLm5vZGUgPSBXZWJJbnNwZWN0b3IuZG9t
QWdlbnQubm9kZUZvcklkKGV2ZW50TGlzdGVuZXIubm9kZUlkKTsKICAgICAgICAgICAgICAgICBk
ZWxldGUgZXZlbnRMaXN0ZW5lci5ub2RlSWQ7IC8vIG5vIGxvbmdlciBuZWVkZWQKICAgICAgICAg
ICAgICAgICBpZiAoL15mdW5jdGlvbiBfaW5zcGVjdG9yQ29tbWFuZExpbmVBUElfbG9nRXZlbnRc
KC8udGVzdChldmVudExpc3RlbmVyLmhhbmRsZXJCb2R5LnRvU3RyaW5nKCkpKQpAQCAtMTExLDIy
ICsxMTQsMjUgQEAgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUucHJvdG90
eXBlID0gewogICAgICAgICAgICAgc2VjdGlvbk5hbWVzLnNvcnQoKTsKICAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc2VjdGlvbk5hbWVzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAg
ICAgICAgdmFyIHNlY3Rpb24gPSBzZWN0aW9uTWFwW3NlY3Rpb25OYW1lc1tpXV07Ci0gICAgICAg
ICAgICAgICAgc2VjdGlvbi51cGRhdGUoKTsKICAgICAgICAgICAgICAgICBib2R5LmFwcGVuZENo
aWxkKHNlY3Rpb24uZWxlbWVudCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAgICAg
ICBpZiAobm9kZSkKICAgICAgICAgICAgIG5vZGUuZXZlbnRMaXN0ZW5lcnMoY2FsbGJhY2spOwor
ICAgICAgICB0aGlzLl9zZWxlY3RlZE5vZGUgPSBub2RlOwogICAgIH0sCiAKLSAgICBfY2hhbmdl
U2V0dGluZzogZnVuY3Rpb24oZXZlbnQpCisgICAgd2lsbEhpZGU6IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWxlY3RlZE5vZGU7CisgICAgfSwKKworICAgIF9jaGFu
Z2VTZXR0aW5nOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgc2VsZWN0ZWRPcHRpb24g
PSB0aGlzLnNldHRpbmdzU2VsZWN0RWxlbWVudFt0aGlzLnNldHRpbmdzU2VsZWN0RWxlbWVudC5z
ZWxlY3RlZEluZGV4XTsKICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLmV2ZW50TGlzdGVu
ZXJzRmlsdGVyLnNldChzZWxlY3RlZE9wdGlvbi52YWx1ZSk7Ci0KLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCB0aGlzLnNlY3Rpb25zLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgdGhpcy5z
ZWN0aW9uc1tpXS51cGRhdGUoKTsKKyAgICAgICAgdGhpcy51cGRhdGUodGhpcy5fc2VsZWN0ZWRO
b2RlKTsKICAgICB9CiB9CiAKQEAgLTE0OCwzNyArMTU0LDE2IEBAIFdlYkluc3BlY3Rvci5FdmVu
dExpc3RlbmVyc1NlY3Rpb24gPSBmdW5jdGlvbih0aXRsZSwgbm9kZUlkLCBsaW5raWZpZXIpCiAg
ICAgZGVsZXRlIHRoaXMucHJvcGVydGllc0VsZW1lbnQ7CiAgICAgZGVsZXRlIHRoaXMucHJvcGVy
dGllc1RyZWVPdXRsaW5lOwogCi0gICAgdGhpcy5ldmVudEJhcnMgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKLSAgICB0aGlzLmV2ZW50QmFycy5jbGFzc05hbWUgPSAiZXZlbnQtYmFy
cyI7Ci0gICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuZXZlbnRCYXJzKTsKKyAgICB0
aGlzLl9ldmVudEJhcnMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICB0aGlz
Ll9ldmVudEJhcnMuY2xhc3NOYW1lID0gImV2ZW50LWJhcnMiOworICAgIHRoaXMuZWxlbWVudC5h
cHBlbmRDaGlsZCh0aGlzLl9ldmVudEJhcnMpOwogfQogCiBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0
ZW5lcnNTZWN0aW9uLnByb3RvdHlwZSA9IHsKLSAgICB1cGRhdGU6IGZ1bmN0aW9uKCkKLSAgICB7
Ci0gICAgICAgIC8vIEEgRmlsdGVyZWQgQXJyYXkgc2ltcGxpZmllcyB3aGVuIHRvIGNyZWF0ZSBj
b25uZWN0b3JzCi0gICAgICAgIHZhciBmaWx0ZXJlZEV2ZW50TGlzdGVuZXJzID0gdGhpcy5ldmVu
dExpc3RlbmVyczsKLSAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5zZXR0aW5ncy5ldmVudExpc3Rl
bmVyc0ZpbHRlci5nZXQoKSA9PSAic2VsZWN0ZWQiKSB7Ci0gICAgICAgICAgICBmaWx0ZXJlZEV2
ZW50TGlzdGVuZXJzID0gW107Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMu
ZXZlbnRMaXN0ZW5lcnMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICB2YXIgZXZlbnRM
aXN0ZW5lciA9IHRoaXMuZXZlbnRMaXN0ZW5lcnNbaV07Ci0gICAgICAgICAgICAgICAgaWYgKGV2
ZW50TGlzdGVuZXIubm9kZS5pZCA9PT0gdGhpcy5fbm9kZUlkKQotICAgICAgICAgICAgICAgICAg
ICBmaWx0ZXJlZEV2ZW50TGlzdGVuZXJzLnB1c2goZXZlbnRMaXN0ZW5lcik7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLmV2ZW50QmFycy5yZW1vdmVDaGlsZHJlbigp
OwotICAgICAgICB2YXIgbGVuZ3RoID0gZmlsdGVyZWRFdmVudExpc3RlbmVycy5sZW5ndGg7Ci0g
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZh
ciBldmVudExpc3RlbmVyID0gZmlsdGVyZWRFdmVudExpc3RlbmVyc1tpXTsKLSAgICAgICAgICAg
IHZhciBldmVudExpc3RlbmVyQmFyID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQmFy
KGV2ZW50TGlzdGVuZXIsIHRoaXMuX25vZGVJZCwgdGhpcy5fbGlua2lmaWVyKTsKLSAgICAgICAg
ICAgIHRoaXMuZXZlbnRCYXJzLmFwcGVuZENoaWxkKGV2ZW50TGlzdGVuZXJCYXIuZWxlbWVudCk7
Ci0gICAgICAgIH0KLSAgICB9LAotCiAgICAgYWRkTGlzdGVuZXI6IGZ1bmN0aW9uKGV2ZW50TGlz
dGVuZXIpCiAgICAgewotICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnB1c2goZXZlbnRMaXN0
ZW5lcik7CisgICAgICAgIHZhciBldmVudExpc3RlbmVyQmFyID0gbmV3IFdlYkluc3BlY3Rvci5F
dmVudExpc3RlbmVyQmFyKGV2ZW50TGlzdGVuZXIsIHRoaXMuX25vZGVJZCwgdGhpcy5fbGlua2lm
aWVyKTsKKyAgICAgICAgdGhpcy5fZXZlbnRCYXJzLmFwcGVuZENoaWxkKGV2ZW50TGlzdGVuZXJC
YXIuZWxlbWVudCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2Y4ODg2MTI3NjBhZjAwODI3YTVlNzIz
YmRiY2Y2ZmMzNTFmNjI1Ny4uNDZhYTllZmRjOWQ2YWVmYTBkZTAyY2UyZDA1OWEwOTg4M2JlNTU3
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTIxICBZdXJ5IFNlbWlraGF0c2t5ICA8
eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV2ZW50IGxpc3Rl
bmVyIHNlY3Rpb24gZG9lc24ndCBzaG93IGFsbCBldmVudCBsaXN0ZW5lcnMgb2YgdGhlIGVsZW1l
bnQgYW5jZXN0b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MTc4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qczoKKyAgICAgICAgKGlu
aXRpYWxpemVfRWxlbWVudFRlc3QuSW5zcGVjdG9yVGVzdC5leHBhbmRTZWxlY3RlZEVsZW1lbnRF
dmVudExpc3RlbmVyc0V2ZW50QmFycyk6CisgICAgICAgIChpbml0aWFsaXplX0VsZW1lbnRUZXN0
Lkluc3BlY3RvclRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVuZXJzKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZWxlbWVudHMvZXZl
bnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQ6CisKIDIwMTItMDMtMjEgIGhlcm13b25n
ICA8aGVybS53b25nQGdtYWlsLmNvbT4KIAogICAgICAgICBDb252ZXJ0IHNvbWUgZmFzdC9yZWdp
b25zIHBpeGVsIHRlc3RzIHRvIHJlZnRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcwppbmRleCBjNDQ4MjJlMDhlM2EyM2JhOWJlYTg5
YTdlYThlMDk2MDAxZGQ5ZGUzLi44ODkzMjg2ZWM2NTUzY2NhM2ZkMjI5OTQxMmY5ZjM4YmE2MzQz
NzQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50
cy10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
LXRlc3QuanMKQEAgLTE5Miw3ICsxOTIsNyBAQCBJbnNwZWN0b3JUZXN0LmV4cGFuZFNlbGVjdGVk
RWxlbWVudEV2ZW50TGlzdGVuZXJzRXZlbnRCYXJzID0gZnVuY3Rpb24oY2FsbGJhY2spCiB7CiAg
ICAgdmFyIGV2ZW50TGlzdGVuZXJTZWN0aW9ucyA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVu
dHMuc2lkZWJhclBhbmVzLmV2ZW50TGlzdGVuZXJzLnNlY3Rpb25zOwogICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgZXZlbnRMaXN0ZW5lclNlY3Rpb25zLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgIHZh
ciBldmVudEJhckNoaWxkcmVuID0gZXZlbnRMaXN0ZW5lclNlY3Rpb25zW2ldLmV2ZW50QmFycy5j
aGlsZHJlbjsKKyAgICAgICAgdmFyIGV2ZW50QmFyQ2hpbGRyZW4gPSBldmVudExpc3RlbmVyU2Vj
dGlvbnNbaV0uX2V2ZW50QmFycy5jaGlsZHJlbjsKICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGog
PCBldmVudEJhckNoaWxkcmVuLmxlbmd0aDsgKytqKQogICAgICAgICAgICAgZXZlbnRCYXJDaGls
ZHJlbltqXS5fc2VjdGlvbi5leHBhbmQoKTsKICAgICB9CkBAIC0yMTQsNyArMjE0LDcgQEAgSW5z
cGVjdG9yVGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbihj
YWxsYmFjaykKICAgICAgICAgdmFyIGV2ZW50VHlwZSA9IHNlY3Rpb24uX3RpdGxlOwogICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CiAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCI9PT09PT09PSAiICsgZXZlbnRUeXBlICsgIiA9PT09PT09PSIpOwotICAgICAgICB2
YXIgZXZlbnRCYXJDaGlsZHJlbiA9IHNlY3Rpb24uZXZlbnRCYXJzLmNoaWxkcmVuOworICAgICAg
ICB2YXIgZXZlbnRCYXJDaGlsZHJlbiA9IHNlY3Rpb24uX2V2ZW50QmFycy5jaGlsZHJlbjsKICAg
ICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBldmVudEJhckNoaWxkcmVuLmxlbmd0aDsgKytqKSB7
CiAgICAgICAgICAgICB2YXIgb2JqZWN0UHJvcGVydGllc1NlY3Rpb24gPSBldmVudEJhckNoaWxk
cmVuW2pdLl9zZWN0aW9uOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wT2JqZWN0UHJv
cGVydHlTZWN0aW9uKG9iamVjdFByb3BlcnRpZXNTZWN0aW9uLCB7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lk
ZWJhci1leHBlY3RlZC50eHQKaW5kZXggMjI1Njk5NTU2MzhjMWYxODBmYzQ1YTRlZWQ2MjYyNmJh
ODdmNTNjMC4uMWNjYTA1NGI1YmE4MjhhMTU1MDI0Yjk5YWNlZWEzZmY0YmM2ZGFkMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGVi
YXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVu
dC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dApAQCAtNTIsNiArNTIsMTYgQEAgSW5zcGVj
dCBNZQogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogZmFsc2UKIAorPT09PT09PT0g
Y3VzdG9tIGV2ZW50ID09PT09PT09CitbZXhwYW5kZWRdIGJvZHkgZXZlbnQtbGlzdGVuZXItc2lk
ZWJhci5odG1sOjEwCisgICAgaXNBdHRyaWJ1dGU6IGZhbHNlCisgICAgbGluZU51bWJlcjogMTAK
KyAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQorICAgIG5vZGU6IEhUTUxCb2R5RWxl
bWVudAorICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCisgICAgdHlwZTogY3Vz
dG9tIGV2ZW50CisgICAgdXNlQ2FwdHVyZTogdHJ1ZQorCiA9PT09PT09PSBob3ZlciA9PT09PT09
PQogW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWw6MTQK
ICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKQEAgLTYyLDMgKzcyLDMyIEBAIEluc3BlY3QgTWUKICAg
ICB0eXBlOiBob3ZlcgogICAgIHVzZUNhcHR1cmU6IGZhbHNlCiAKKz09PT09PT09IGNsaWNrID09
PT09PT09CitbZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDox
OQorICAgIGlzQXR0cmlidXRlOiBmYWxzZQorICAgIGxpbmVOdW1iZXI6IDE5CisgICAgbGlzdGVu
ZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQg
LSBjYXB0dXJpbmciKTsgfQorICAgIG5vZGU6IEhUTUxEb2N1bWVudAorICAgIHNvdXJjZU5hbWU6
IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQt
bGlzdGVuZXItc2lkZWJhci5odG1sCisgICAgdHlwZTogY2xpY2sKKyAgICB1c2VDYXB0dXJlOiB0
cnVlCitbZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDo2Cisg
ICAgaXNBdHRyaWJ1dGU6IHRydWUKKyAgICBsaW5lTnVtYmVyOiA2CisgICAgbGlzdGVuZXJCb2R5
OiBmdW5jdGlvbiBkb2N1bWVudENsaWNrSGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygiY2xp
Y2sgLSBkb2N1bWVudCAtIGF0dHJpYnV0ZSIpOyB9CisgICAgbm9kZTogSFRNTERvY3VtZW50Cisg
ICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xheW91dFRlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKKyAgICB0eXBlOiBjbGljaworICAg
IHVzZUNhcHR1cmU6IGZhbHNlCisKKz09PT09PT09IGN1c3RvbSBldmVudCA9PT09PT09PQorW2V4
cGFuZGVkXSBib2R5IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbDoxMAorICAgIGlzQXR0cmli
dXRlOiBmYWxzZQorICAgIGxpbmVOdW1iZXI6IDEwCisgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlv
biBmKCkge30KKyAgICBub2RlOiBIVE1MQm9keUVsZW1lbnQKKyAgICBzb3VyY2VOYW1lOiBbY2xp
cHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3Rl
bmVyLXNpZGViYXIuaHRtbAorICAgIHR5cGU6IGN1c3RvbSBldmVudAorICAgIHVzZUNhcHR1cmU6
IHRydWUKK0xpc3RlbmVycyBmb3Igc2VsZWN0ZWQgbm9kZSBvbmx5KHNob3VsZCBiZSBubyBsaXN0
ZW5lcnMpOgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZl
bnQtbGlzdGVuZXItc2lkZWJhci5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRz
L2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAppbmRleCA0NDVhOTFhZTg5YmQ5NzA2ZTFkNWNk
Mjg4ZGRhNjZkYTQ1ZGNkMmYyLi5lYThiNTJjY2ZkNGMzMTAxM2Q4ZTkwNWY4YzdiZjRiMDFiYTRm
NzRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlz
dGVuZXItc2lkZWJhci5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9l
dmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwKQEAgLTE5LDEzICsxOSwzNiBAQCBmdW5jdGlvbiBz
ZXR1cEV2ZW50TGlzdGVuZXJzKCkKICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIGZ1bmN0aW9uKGV2ZW50KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGRvY3VtZW50IC0gY2Fw
dHVyaW5nIik7IH0sIHRydWUpOwogICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNl
ZG93biIsIGYsIGZhbHNlKTsKICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3Vz
ZWRvd24iLCBmLCBmYWxzZSk7CisKKyAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIo
ImN1c3RvbSBldmVudCIsIGYsIHRydWUpOwogfQogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKLSAgICBJ
bnNwZWN0b3JUZXN0LnNlbGVjdE5vZGVXaXRoSWQoIm5vZGUiLCBjYWxsYmFjayk7CisgICAgV2Vi
SW5zcGVjdG9yLnNldHRpbmdzLmV2ZW50TGlzdGVuZXJzRmlsdGVyLnNldCgiYWxsIik7CisgICAg
SW5zcGVjdG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJub2RlIiwgc3RlcDEpOwogCi0gICAgZnVu
Y3Rpb24gY2FsbGJhY2soKQorICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7CisgICAgICAgIElu
c3BlY3RvclRlc3QuZXhwYW5kQW5kRHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVuZXJzKHN0
ZXAyKTsKKyAgICB9CisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5zZWxlY3ROb2RlV2l0aElkKCJub2RlLXdpdGhvdXQtbGlzdGVuZXJzIiwgc3RlcDMp
OworICAgIH0KKyAgICBmdW5jdGlvbiBzdGVwMygpCisgICAgeworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGFuZEFuZER1bXBTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVycyhzdGVwNCk7Cisg
ICAgfQorICAgIGZ1bmN0aW9uIHN0ZXA0KCkKKyAgICB7CisgICAgICAgIHZhciBldmVudExpc3Rl
bmVyc1BhbmUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmVsZW1lbnRzLnNpZGViYXJQYW5lcy5ldmVu
dExpc3RlbmVyczsKKyAgICAgICAgZXZlbnRMaXN0ZW5lcnNQYW5lLnNldHRpbmdzU2VsZWN0RWxl
bWVudC5zZWxlY3RlZEluZGV4ID0gMTsKKyAgICAgICAgZXZlbnRMaXN0ZW5lcnNQYW5lLl9jaGFu
Z2VTZXR0aW5nKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJMaXN0ZW5lcnMg
Zm9yIHNlbGVjdGVkIG5vZGUgb25seShzaG91bGQgYmUgbm8gbGlzdGVuZXJzKToiKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBhbmRBbmREdW1wU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5l
cnMoc3RlcDUpOworICAgIH0KKyAgICBmdW5jdGlvbiBzdGVwNSgpCiAgICAgewogICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGFuZEFuZER1bXBTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVycyhJ
bnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCk7CiAgICAgfQpAQCAtNDYsNSArNjksNyBAQCBUZXN0
cyBldmVudCBsaXN0ZW5lcnMgb3V0cHV0IGluIHRoZSBFbGVtZW50cyBzaWRlYmFyIHBhbmVsLgog
CiA8YnV0dG9uIGlkPSJub2RlIj5JbnNwZWN0IE1lPC9idXR0b24+CiAKKzxkaXYgaWQ9Im5vZGUt
d2l0aG91dC1saXN0ZW5lcnMiPjwvZGl2PgorCiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQt
bGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50
eHQKaW5kZXggMjI1Njk5NTU2MzhjMWYxODBmYzQ1YTRlZWQ2MjYyNmJhODdmNTNjMC4uMWNjYTA1
NGI1YmE4MjhhMTU1MDI0Yjk5YWNlZWEzZmY0YmM2ZGFkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNp
ZGViYXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2lu
c3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dApAQCAt
NTIsNiArNTIsMTYgQEAgSW5zcGVjdCBNZQogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVy
ZTogZmFsc2UKIAorPT09PT09PT0gY3VzdG9tIGV2ZW50ID09PT09PT09CitbZXhwYW5kZWRdIGJv
ZHkgZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sOjEwCisgICAgaXNBdHRyaWJ1dGU6IGZhbHNl
CisgICAgbGluZU51bWJlcjogMTAKKyAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQor
ICAgIG5vZGU6IEhUTUxCb2R5RWxlbWVudAorICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10
ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJh
ci5odG1sCisgICAgdHlwZTogY3VzdG9tIGV2ZW50CisgICAgdXNlQ2FwdHVyZTogdHJ1ZQorCiA9
PT09PT09PSBob3ZlciA9PT09PT09PQogW2V4cGFuZGVkXSBidXR0b24jbm9kZSBldmVudC1saXN0
ZW5lci1zaWRlYmFyLmh0bWw6MTQKICAgICBpc0F0dHJpYnV0ZTogZmFsc2UKQEAgLTYyLDMgKzcy
LDMyIEBAIEluc3BlY3QgTWUKICAgICB0eXBlOiBob3ZlcgogICAgIHVzZUNhcHR1cmU6IGZhbHNl
CiAKKz09PT09PT09IGNsaWNrID09PT09PT09CitbZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50LWxp
c3RlbmVyLXNpZGViYXIuaHRtbDoxOQorICAgIGlzQXR0cmlidXRlOiBmYWxzZQorICAgIGxpbmVO
dW1iZXI6IDE5CisgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5s
b2coImNsaWNrIC0gZG9jdW1lbnQgLSBjYXB0dXJpbmciKTsgfQorICAgIG5vZGU6IEhUTUxEb2N1
bWVudAorICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCisgICAgdHlwZTogY2xp
Y2sKKyAgICB1c2VDYXB0dXJlOiB0cnVlCitbZXhwYW5kZWRdIGRvY3VtZW50IGV2ZW50LWxpc3Rl
bmVyLXNpZGViYXIuaHRtbDo2CisgICAgaXNBdHRyaWJ1dGU6IHRydWUKKyAgICBsaW5lTnVtYmVy
OiA2CisgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBkb2N1bWVudENsaWNrSGFuZGxlcihldmVu
dCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBkb2N1bWVudCAtIGF0dHJpYnV0ZSIpOyB9CisgICAg
bm9kZTogSFRNTERvY3VtZW50CisgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwK
KyAgICB0eXBlOiBjbGljaworICAgIHVzZUNhcHR1cmU6IGZhbHNlCisKKz09PT09PT09IGN1c3Rv
bSBldmVudCA9PT09PT09PQorW2V4cGFuZGVkXSBib2R5IGV2ZW50LWxpc3RlbmVyLXNpZGViYXIu
aHRtbDoxMAorICAgIGlzQXR0cmlidXRlOiBmYWxzZQorICAgIGxpbmVOdW1iZXI6IDEwCisgICAg
bGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KKyAgICBub2RlOiBIVE1MQm9keUVsZW1lbnQK
KyAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAorICAgIHR5cGU6IGN1c3RvbSBl
dmVudAorICAgIHVzZUNhcHR1cmU6IHRydWUKK0xpc3RlbmVycyBmb3Igc2VsZWN0ZWQgbm9kZSBv
bmx5KHNob3VsZCBiZSBubyBsaXN0ZW5lcnMpOgorCg==
</data>
<flag name="review"
          id="136908"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>