<?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>57466</bug_id>
          
          <creation_ts>2011-03-30 09:26:21 -0700</creation_ts>
          <short_desc>Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document</short_desc>
          <delta_ts>2011-04-05 07:27:40 -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>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</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>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>376388</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-30 09:26:21 -0700</bug_when>
    <thetext>Requiring document to be set on front-end before calls to querySelector[All]() is counter-intuitive.
This is a better fix for bug 57349 (with some cosmetic drive-by fixes)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376392</commentid>
    <comment_count>1</comment_count>
      <attachid>87549</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-30 09:31:12 -0700</bug_when>
    <thetext>Created attachment 87549
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376951</commentid>
    <comment_count>2</comment_count>
      <attachid>87549</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-30 22:25:13 -0700</bug_when>
    <thetext>Comment on attachment 87549
patch

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

&gt; Source/WebCore/inspector/front-end/AuditRules.js:675
&gt; +                console.error(&quot;Failed to get image style&quot;);

When does this happen?

&gt; Source/WebCore/inspector/front-end/AuditRules.js:731
&gt; +                console.error(&quot;Failed to get styles&quot;);

ditto

&gt; Source/WebCore/inspector/front-end/DOMAgent.js:363
&gt; +            requestArguments.push(callbackWrapper);

do you want to do this only in the success branch of onDocumentAvailable?

&gt; Source/WebCore/inspector/front-end/DOMAgent.js:495
&gt; +            DOMAgent.querySelector(nodeId || this._document.id, selectors, documentWide, wrappedCallback);

So 0 is still valid? I thought we agreed on not allowing it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377112</commentid>
    <comment_count>3</comment_count>
      <attachid>87549</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-31 06:40:29 -0700</bug_when>
    <thetext>Comment on attachment 87549
patch

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

&gt;&gt; Source/WebCore/inspector/front-end/AuditRules.js:675
&gt;&gt; +                console.error(&quot;Failed to get image style&quot;);
&gt; 
&gt; When does this happen?

This used to happen because we were getting 0 ids from querySelectorAll(), because document wasn&apos;t pushed to front-end. I actually removed it now, this is only supposed to happen in case something seriously went wrong in other places, so let&apos;s crash instead.

&gt;&gt; Source/WebCore/inspector/front-end/AuditRules.js:731
&gt;&gt; +                console.error(&quot;Failed to get styles&quot;);
&gt; 
&gt; ditto

Now this is a bit different, this happens only in case we receive error from getStylesAsync() (from what I can see, this is only in case we supplied invalid node id -- yet, if there&apos;s a possibility of a function to return error, we shouldn&apos;t be swallowing it or crashing on it, hence I just added logging).

&gt;&gt; Source/WebCore/inspector/front-end/DOMAgent.js:363
&gt;&gt; +            requestArguments.push(callbackWrapper);
&gt; 
&gt; do you want to do this only in the success branch of onDocumentAvailable?

I tried it, but didn&apos;t quite like it -- we need to extract callback from the argument list anyway, and I think that having this push together with callback extraction logic makes things a bit more readable.

&gt;&gt; Source/WebCore/inspector/front-end/DOMAgent.js:495
&gt;&gt; +            DOMAgent.querySelector(nodeId || this._document.id, selectors, documentWide, wrappedCallback);
&gt; 
&gt; So 0 is still valid? I thought we agreed on not allowing it here.

Yup, now the document request logic moves to client (and I&apos;m also dropping documentWide parameter altogether, as discussed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377115</commentid>
    <comment_count>4</comment_count>
      <attachid>87716</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-03-31 06:42:50 -0700</bug_when>
    <thetext>Created attachment 87716
patch

- removed documentWide parameter to querySelector[All]()
- moved document request logic from DOMAgent.js to the client side</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>379537</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2011-04-05 07:27:40 -0700</bug_when>
    <thetext>Manually committed as r82663: http://trac.webkit.org/changeset/82663</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87549</attachid>
            <date>2011-03-30 09:31:12 -0700</date>
            <delta_ts>2011-03-31 06:42:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>audits-fix</filename>
            <type>text/plain</type>
            <size>11949</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzZWNmN2EwLi40ZjZkZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDIg
QEAKIDIwMTEtMDMtMzAgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBwcm92aWRlIGZyb250LWVuZCB3cmFwcGVycyBmb3IgRE9NQWdlbnQucXVlcnlTZWxlY3Rv
cltBbGxdKCkgdGhhdCB0YWtlIGNhcmUgb2YgZmV0Y2hpbmcgdGhlIGRvY3VtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQ2NgorCisgICAgICAg
IC0gcmVxdWlyZSBub2RlIGlkIGluIERPTUFnZW50J3MgcXVlcnlTZWxlY3RvcigpICYgcXVlcnlT
ZWxlY3RvckFsbCgpCisgICAgICAgIC0gZmFjdG9yIG91dCBkb2N1bWVudCByZXF1ZXN0IGxvZ2lj
IHdpdGhpbiBET01BZ2VudCBpbnRvIHNlcGFyYXRlIG1ldGhvZAorICAgICAgICAtIGFkZCBxdWVy
eVNlbGVjdG9yKCkgYW5kIHF1ZXJ5U2VsZWN0b3JBbGwoKSB0byBET01BZ2VudC5qcywgYXNzdXJl
IHdlIGhhdmUgZG9jdW1lbnQgYmVmb3JlIGNhbGxpbmcgYmFjay1lbmQKKyAgICAgICAgLSB1c2Ug
dGhlIGFib3ZlIHdyYXBwZXJzIGZvciBxdWVyeVNlbGVjdG9yKCkgYW5kIHF1ZXJ5U2VsZWN0b3JB
bGwoKSwgZG8gbm90IGNhbGwgYmFja2VuZCBkaXJlY3RseQorICAgICAgICAtIG1pbm9yIHN0eWxl
IGZpeGVzIGluIEluc3BlY3Rvci5qc29uCisgICAgICAgIC0gbW9yZSBlcnJvciBsb2dnaW5nCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFn
ZW50Ojpub2RlVG9TZWxlY3RPbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRp
dFJ1bGVzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuSW1hZ2VEaW1lbnNp
b25zUnVsZS5wcm90b3R5cGUuZG9SdW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVs
ZXMuSW1hZ2VEaW1lbnNpb25zUnVsZS5wcm90b3R5cGUuZG9SdW4uZ2V0U3R5bGVzKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuc2V0UnVsZVNlbGVjdG9yLmNhbGxiYWNr
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZS5zZXRSdWxl
U2VsZWN0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBl
LmFkZFJ1bGUuY2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwu
cHJvdG90eXBlLmFkZFJ1bGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdl
bnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLnJlcXVlc3RE
b2N1bWVudC5vbkRvY3VtZW50QXZhaWxhYmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01B
Z2VudC5wcm90b3R5cGUucmVxdWVzdERvY3VtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01BZ2VudC5wcm90b3R5cGUucHVzaE5vZGVUb0Zyb250ZW5kKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5ET01BZ2VudC5wcm90b3R5cGUucHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUuX2Rpc3BhdGNoV2hlbkRvY3VtZW50
QXZhaWxhYmxlLmNhbGxiYWNrV3JhcHBlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdl
bnQucHJvdG90eXBlLl9kaXNwYXRjaFdoZW5Eb2N1bWVudEF2YWlsYWJsZS5vbkRvY3VtZW50QXZh
aWxhYmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUuX2Rpc3Bh
dGNoV2hlbkRvY3VtZW50QXZhaWxhYmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2Vu
dC5wcm90b3R5cGUuY2FuY2VsU2VhcmNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2Vu
dC5wcm90b3R5cGUucXVlcnlTZWxlY3Rvcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdl
bnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3JBbGwpOgorCisyMDExLTAzLTMwICBBbmRyZXkgS29z
eWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwg
RmVsZG1hbi4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBhdWRpdCBydW4gbmV2ZXIgY29tcGxl
dGVzLCBmYWlscyBpbiBET01BZ2VudC5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ci5qc29uCmluZGV4IGVkNTkyOWUuLjkwZGFhMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24KQEAgLTIwMCw3ICsyMDAsNyBAQAogICAgICAgICAgICAgfSwKICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNhYmxlIgotICAgICAgICAgICB9
LAorICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6
ICJjbGVhckNvbnNvbGVNZXNzYWdlcyIKICAgICAgICAgICAgIH0sCkBAIC0yMjQsNyArMjI0LDcg
QEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJtZXNzYWdlT2JqIiwgIiRyZWYiOiAi
Q29uc29sZU1lc3NhZ2UiIH0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAotICAg
ICAgICAgICB7CisgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29uc29s
ZU1lc3NhZ2VSZXBlYXRDb3VudFVwZGF0ZWQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImNvdW50IiwgInR5cGUiOiAiaW50
ZWdlciIgfQpAQCAtNjk0LDE0ICs2OTQsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJkb2N1bWVudFdpZGUiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlNl
dCB0byB0cnVlIHRvIHN0YXJ0IHF1ZXJ5aW5nIGZyb20gdGhlIG5vZGUncyBkb2N1bWVudC4iIH0K
ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZHMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVt
cyI6IHsgInR5cGUiOiAiaW50ZWdlciIgfSwgImRlc2NyaXB0aW9uIjogIlF1ZXJ5IHNlbGVjdG9y
IHJlc3VsdC4iICB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkcyIsICJ0
eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6ICJpbnRlZ2VyIiB9LCAiZGVzY3JpcHRp
b24iOiAiUXVlcnkgc2VsZWN0b3IgcmVzdWx0LiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGVzIDxjb2RlPnF1ZXJ5U2VsZWN0b3JB
bGw8L2NvZGU+IG9uIGEgZ2l2ZW4gbm9kZS4gU2V0dGluZyA8Y29kZT5kb2N1bWVudFdpZGU8L2Nv
ZGU+IHRvIHRydWUgc3RhcnRzIHNlbGVjdGluZyBmcm9tIHRoZSBkb2N1bWVudCBub2RlLiIKICAg
ICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0
Tm9kZU5hbWUiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRp
b24iOiAiSWQgb2YgdGhlIG5vZGUgdG8gc2V0IG5hbWUgZm9yLiIgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlv
biI6ICJJZCBvZiB0aGUgbm9kZSB0byBzZXQgbmFtZSBmb3IuIiB9LAogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIm5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAi
TmV3IG5vZGUncyBuYW1lLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
InJldHVybnMiOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmNwcAppbmRleCAwNmM1OTc3Li44N2RkZjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTQzMiwxOCArNDMyLDggQEAgSFRNTEVs
ZW1lbnQqIEluc3BlY3RvckRPTUFnZW50Ojphc3NlcnRIVE1MRWxlbWVudChFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGludAogCiBOb2RlKiBJbnNwZWN0b3JET01BZ2VudDo6bm9kZVRvU2VsZWN0
T24oRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBib29sIGRvY3VtZW50V2lk
ZSkKIHsKLSAgICBOb2RlKiBub2RlOwotICAgIGlmICghbm9kZUlkKSB7Ci0gICAgICAgIG5vZGUg
PSBtX2RvY3VtZW50LmdldCgpOwotICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAqZXJy
b3JTdHJpbmcgPSAiTm8gZG9jdW1lbnQgdG8gcXVlcnkgb24uIjsKLSAgICB9IGVsc2UKLSAgICAg
ICAgbm9kZSA9IGFzc2VydE5vZGUoZXJyb3JTdHJpbmcsIG5vZGVJZCk7Ci0KLSAgICBpZiAoIW5v
ZGUpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgaWYgKGRvY3VtZW50V2lkZSAmJiBub2RlSWQp
CisgICAgTm9kZSogbm9kZSA9IGFzc2VydE5vZGUoZXJyb3JTdHJpbmcsIG5vZGVJZCk7CisgICAg
aWYgKGRvY3VtZW50V2lkZSAmJiBub2RlICYmIG5vZGUtPm93bmVyRG9jdW1lbnQoKSkKICAgICAg
ICAgbm9kZSA9IG5vZGUtPm93bmVyRG9jdW1lbnQoKTsKICAgICByZXR1cm4gbm9kZTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcwppbmRl
eCBkZGFiMWRmLi41YTQzZDhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BdWRpdFJ1bGVzLmpzCkBAIC02NzEsNiArNjcxLDEwIEBAIFdlYkluc3BlY3Rvci5B
dWRpdFJ1bGVzLkltYWdlRGltZW5zaW9uc1J1bGUucHJvdG90eXBlID0gewogCiAgICAgICAgIGZ1
bmN0aW9uIGltYWdlU3R5bGVzUmVhZHkoaW1hZ2VJZCwgbGFzdENhbGwsIHN0eWxlcykKICAgICAg
ICAgeworICAgICAgICAgICAgaWYgKCFpbWFnZUlkKSB7CisgICAgICAgICAgICAgICAgY29uc29s
ZS5lcnJvcigiRmFpbGVkIHRvIGdldCBpbWFnZSBzdHlsZSIpOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBXZWJJbnNwZWN0
b3IuZG9tQWdlbnQubm9kZUZvcklkKGltYWdlSWQpOwogICAgICAgICAgICAgdmFyIHNyYyA9IG5v
ZGUuZ2V0QXR0cmlidXRlKCJzcmMiKTsKICAgICAgICAgICAgIGlmICghc3JjLmFzUGFyc2VkVVJM
KCkpIHsKQEAgLTcyMSwyMCArNzI1LDE3IEBAIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkltYWdl
RGltZW5zaW9uc1J1bGUucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIGRvbmVDYWxsYmFj
aygpOwogICAgICAgICB9CiAKLSAgICAgICAgZnVuY3Rpb24gZ2V0U3R5bGVzKGVycm9yLCBub2Rl
SWRzKQorICAgICAgICBmdW5jdGlvbiBnZXRTdHlsZXMobm9kZUlkcykKICAgICAgICAgewotICAg
ICAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgaWYgKCFub2RlSWRzKSB7CisgICAgICAg
ICAgICAgICAgY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGdldCBzdHlsZXMiKTsKICAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IG5vZGVJZHMubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmNzc01vZGVsLmdldFN0eWxlc0FzeW5jKG5vZGVJZHNbaV0sIGltYWdlU3R5bGVzUmVhZHkuYmlu
ZCh0aGlzLCBub2RlSWRzW2ldLCBpID09PSBub2RlSWRzLmxlbmd0aCAtIDEpKTsKICAgICAgICAg
fQogCi0gICAgICAgIGZ1bmN0aW9uIGdldEltYWdlcygpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IERPTUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwoMCwgImltZ1tzcmNdIiwgdHJ1ZSwgZ2V0U3R5bGVz
KTsKLSAgICAgICAgfQotCi0gICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZXF1ZXN0RG9j
dW1lbnQoZ2V0SW1hZ2VzKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoMCwgImltZ1tzcmNdIiwgdHJ1ZSwgZ2V0U3R5bGVzKTsKICAgICB9CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2Rl
bC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5q
cwppbmRleCAxNDhiZmQ4Li41NDEyZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCkBAIC0xMzMsNyArMTMzLDcgQEAgV2Vi
SW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKGVy
cm9yKQogICAgICAgICAgICAgICAgIGZhaWx1cmVDYWxsYmFjaygpOwogICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIERPTUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwobm9kZUlkLCBuZXdT
ZWxlY3RvciwgdHJ1ZSwgY2hlY2tBZmZlY3RzQ2FsbGJhY2suYmluZCh0aGlzLCBub2RlSWQsIHN1
Y2Nlc3NDYWxsYmFjaywgcnVsZVBheWxvYWQpKTsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0
b3IuZG9tQWdlbnQucXVlcnlTZWxlY3RvckFsbChub2RlSWQsIG5ld1NlbGVjdG9yLCB0cnVlLCBj
aGVja0FmZmVjdHNDYWxsYmFjay5iaW5kKHRoaXMsIG5vZGVJZCwgc3VjY2Vzc0NhbGxiYWNrLCBy
dWxlUGF5bG9hZCkpOwogICAgICAgICB9CiAKICAgICAgICAgQ1NTQWdlbnQuc2V0UnVsZVNlbGVj
dG9yKHJ1bGVJZCwgbmV3U2VsZWN0b3IsIGNhbGxiYWNrLmJpbmQodGhpcywgbm9kZUlkLCBzdWNj
ZXNzQ2FsbGJhY2ssIGZhaWx1cmVDYWxsYmFjaywgbmV3U2VsZWN0b3IpKTsKQEAgLTE1NSw3ICsx
NTUsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICAgICAgLy8gSW52YWxpZCBzeW50YXggZm9yIGEgc2VsZWN0b3IKICAgICAgICAgICAgICAg
ICBmYWlsdXJlQ2FsbGJhY2soKTsKICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
IERPTUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwobm9kZUlkLCBzZWxlY3RvciwgdHJ1ZSwgY2hlY2tB
ZmZlY3RzQ2FsbGJhY2suYmluZCh0aGlzLCBub2RlSWQsIHN1Y2Nlc3NDYWxsYmFjaywgcnVsZVBh
eWxvYWQpKTsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucXVlcnlTZWxl
Y3RvckFsbChub2RlSWQsIHNlbGVjdG9yLCB0cnVlLCBjaGVja0FmZmVjdHNDYWxsYmFjay5iaW5k
KHRoaXMsIG5vZGVJZCwgc3VjY2Vzc0NhbGxiYWNrLCBydWxlUGF5bG9hZCkpOwogICAgICAgICB9
CiAKICAgICAgICAgQ1NTQWdlbnQuYWRkUnVsZShub2RlSWQsIHNlbGVjdG9yLCBjYWxsYmFjay5i
aW5kKHRoaXMsIHN1Y2Nlc3NDYWxsYmFjaywgZmFpbHVyZUNhbGxiYWNrLCBzZWxlY3RvcikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKaW5kZXgg
YTJhOWMyZC4uMDkwMTEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9ET01BZ2VudC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RPTUFnZW50LmpzCkBAIC0zMjgsNyArMzI4LDcgQEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAg
IGZ1bmN0aW9uIG15Y2FsbGJhY2soZXJyb3IsIHJvb3QpCisgICAgICAgIGZ1bmN0aW9uIG9uRG9j
dW1lbnRBdmFpbGFibGUoZXJyb3IsIHJvb3QpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICgh
ZXJyb3IpCiAgICAgICAgICAgICAgICAgdGhpcy5fc2V0RG9jdW1lbnQocm9vdCk7CkBAIC0zMzYs
NDQgKzMzNiw0MiBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMuX2RvY3Vt
ZW50KTsKICAgICAgICAgfQotICAgICAgICBET01BZ2VudC5nZXREb2N1bWVudChteWNhbGxiYWNr
LmJpbmQodGhpcykpOworICAgICAgICBET01BZ2VudC5nZXREb2N1bWVudChvbkRvY3VtZW50QXZh
aWxhYmxlLmJpbmQodGhpcykpOwogICAgIH0sCiAKICAgICBwdXNoTm9kZVRvRnJvbnRlbmQ6IGZ1
bmN0aW9uKG9iamVjdElkLCBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNhbGxi
YWNrV3JhcHBlcihlcnJvciwgbm9kZUlkKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoY2Fs
bGJhY2spCi0gICAgICAgICAgICAgICAgY2FsbGJhY2soZXJyb3IgPyAwIDogbm9kZUlkKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIG15Y2FsbGJhY2soKQotICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAodGhpcy5fZG9jdW1lbnQpCi0gICAgICAgICAgICAgICAgRE9NQWdlbnQucHVz
aE5vZGVUb0Zyb250ZW5kKG9iamVjdElkLCBjYWxsYmFja1dyYXBwZXIpOwotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIGNhbGxiYWNrV3JhcHBlcigiTm8gZG9jdW1lbnQiKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIHRoaXMucmVxdWVzdERvY3VtZW50KG15Y2FsbGJhY2suYmluZCh0
aGlzKSk7CisgICAgICAgIHRoaXMuX2Rpc3BhdGNoV2hlbkRvY3VtZW50QXZhaWxhYmxlKERPTUFn
ZW50LnB1c2hOb2RlVG9Gcm9udGVuZC5iaW5kKERPTUFnZW50KSwgb2JqZWN0SWQsIGNhbGxiYWNr
KTsKICAgICB9LAogCiAgICAgcHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kOiBmdW5jdGlvbihwYXRo
LCBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrV3JhcHBlcihlcnJv
ciwgbm9kZUlkKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoY2FsbGJhY2spCi0gICAgICAg
ICAgICAgICAgY2FsbGJhY2soZXJyb3IgPyAwIDogbm9kZUlkKTsKLSAgICAgICAgfQorICAgICAg
ICB0aGlzLl9kaXNwYXRjaFdoZW5Eb2N1bWVudEF2YWlsYWJsZShET01BZ2VudC5wdXNoTm9kZUJ5
UGF0aFRvRnJvbnRlbmQuYmluZChET01BZ2VudCksIHBhdGgsIGNhbGxiYWNrKTsKKyAgICB9LAor
CisgICAgX2Rpc3BhdGNoV2hlbkRvY3VtZW50QXZhaWxhYmxlOiBmdW5jdGlvbihhY3Rpb24pCisg
ICAgeworICAgICAgICB2YXIgcmVxdWVzdEFyZ3VtZW50cyA9IEFycmF5LnByb3RvdHlwZS5zbGlj
ZS5jYWxsKGFyZ3VtZW50cywgMSk7CisgICAgICAgIHZhciBjYWxsYmFja1dyYXBwZXI7CiAKLSAg
ICAgICAgZnVuY3Rpb24gbXljYWxsYmFjaygpCisgICAgICAgIGlmICh0eXBlb2YgcmVxdWVzdEFy
Z3VtZW50c1tyZXF1ZXN0QXJndW1lbnRzLmxlbmd0aCAtIDFdID09PSAiZnVuY3Rpb24iKSB7Cisg
ICAgICAgICAgICB2YXIgY2xpZW50Q2FsbGJhY2sgPSByZXF1ZXN0QXJndW1lbnRzLnBvcCgpOwor
ICAgICAgICAgICAgY2FsbGJhY2tXcmFwcGVyID0gZnVuY3Rpb24oZXJyb3IsIHJlc3VsdCkKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjbGllbnRDYWxsYmFjayhlcnJvciA/IG51bGwg
OiByZXN1bHQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmVxdWVzdEFyZ3VtZW50cy5w
dXNoKGNhbGxiYWNrV3JhcHBlcik7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gb25Eb2N1
bWVudEF2YWlsYWJsZSgpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9kb2N1bWVu
dCkKLSAgICAgICAgICAgICAgICBET01BZ2VudC5wdXNoTm9kZUJ5UGF0aFRvRnJvbnRlbmQocGF0
aCwgY2FsbGJhY2tXcmFwcGVyKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBj
YWxsYmFja1dyYXBwZXIoIk5vIGRvY3VtZW50Iik7CisgICAgICAgICAgICAgICAgYWN0aW9uLmFw
cGx5KG51bGwsIHJlcXVlc3RBcmd1bWVudHMpOworICAgICAgICAgICAgZWxzZSB7IAorICAgICAg
ICAgICAgICAgIGlmIChjYWxsYmFja1dyYXBwZXIpCisgICAgICAgICAgICAgICAgICAgIGNhbGxi
YWNrV3JhcHBlcigiTm8gZG9jdW1lbnQiKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAg
ICAgICB0aGlzLnJlcXVlc3REb2N1bWVudChteWNhbGxiYWNrLmJpbmQodGhpcykpOworICAgICAg
ICB0aGlzLnJlcXVlc3REb2N1bWVudChvbkRvY3VtZW50QXZhaWxhYmxlLmJpbmQodGhpcykpOwog
ICAgIH0sCiAKICAgICBfYXR0cmlidXRlc1VwZGF0ZWQ6IGZ1bmN0aW9uKG5vZGVJZCwgYXR0cnNB
cnJheSkKQEAgLTQ4OCw2ICs0ODYsMjQgQEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlw
ZSA9IHsKICAgICB7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWFyY2hSZXN1bHRDb2xsZWN0b3I7
CiAgICAgICAgIERPTUFnZW50LmNhbmNlbFNlYXJjaCgpOworICAgIH0sCisKKyAgICBxdWVyeVNl
bGVjdG9yOiBmdW5jdGlvbihub2RlSWQsIHNlbGVjdG9ycywgZG9jdW1lbnRXaWRlLCBjYWxsYmFj
aykKKyAgICB7CisgICAgICAgIGZ1bmN0aW9uIG9uRG9jdW1lbnRBdmFpbGFibGUod3JhcHBlZENh
bGxiYWNrKQorICAgICAgICB7CisgICAgICAgICAgICBET01BZ2VudC5xdWVyeVNlbGVjdG9yKG5v
ZGVJZCB8fCB0aGlzLl9kb2N1bWVudC5pZCwgc2VsZWN0b3JzLCBkb2N1bWVudFdpZGUsIHdyYXBw
ZWRDYWxsYmFjayk7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5fZGlzcGF0Y2hXaGVuRG9jdW1l
bnRBdmFpbGFibGUob25Eb2N1bWVudEF2YWlsYWJsZS5iaW5kKHRoaXMpLCBjYWxsYmFjayk7Cisg
ICAgfSwKKworICAgIHF1ZXJ5U2VsZWN0b3JBbGw6IGZ1bmN0aW9uKG5vZGVJZCwgc2VsZWN0b3Jz
LCBkb2N1bWVudFdpZGUsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgZnVuY3Rpb24gb25Eb2N1
bWVudEF2YWlsYWJsZSh3cmFwcGVkQ2FsbGJhY2spCisgICAgICAgIHsKKyAgICAgICAgICAgIERP
TUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwobm9kZUlkIHx8IHRoaXMuX2RvY3VtZW50LmlkLCBzZWxl
Y3RvcnMsIGRvY3VtZW50V2lkZSwgd3JhcHBlZENhbGxiYWNrKTsKKyAgICAgICAgfQorICAgICAg
ICB0aGlzLl9kaXNwYXRjaFdoZW5Eb2N1bWVudEF2YWlsYWJsZShvbkRvY3VtZW50QXZhaWxhYmxl
LmJpbmQodGhpcyksIGNhbGxiYWNrKTsKICAgICB9CiB9CiAK
</data>
<flag name="review"
          id="79974"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87716</attachid>
            <date>2011-03-31 06:42:50 -0700</date>
            <delta_ts>2011-03-31 09:33:08 -0700</delta_ts>
            <desc>patch</desc>
            <filename>audits-fix</filename>
            <type>text/plain</type>
            <size>17638</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBmZDU4YzViLi44NzUyNTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMt
MzEgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBQYXZlbCBGZWxkbWFuLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUg
ZnJvbnQtZW5kIHdyYXBwZXJzIGZvciBET01BZ2VudC5xdWVyeVNlbGVjdG9yW0FsbF0oKSB0aGF0
IHRha2UgY2FyZSBvZiBmZXRjaGluZyB0aGUgZG9jdW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDY2CisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZWxlbWVudHMvZG9tLWFnZW50LXF1ZXJ5LXNlbGVjdG9yLmh0bWw6IHJlbW92ZWQgZG9jdW1lbnRX
aWRlIHBhcmFtZXRlciB0byBxdWVyeVNlbGVjdG9yQWxsIAorCiAyMDExLTAzLTMxICBCZW5qYW1p
biBLYWxtYW4gIDxrYWxtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9q
YW4gVmFmYWkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZG9t
LWFnZW50LXF1ZXJ5LXNlbGVjdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvZG9tLWFnZW50LXF1ZXJ5LXNlbGVjdG9yLmh0bWwKaW5kZXggNTYzNGRkNC4uZDRiMjZjMCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2RvbS1hZ2VudC1xdWVy
eS1zZWxlY3Rvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9kb20t
YWdlbnQtcXVlcnktc2VsZWN0b3IuaHRtbApAQCAtMTIsMjYgKzEyLDI3IEBAIGZ1bmN0aW9uIHRl
c3QoKQogICAgIGZ1bmN0aW9uIHN0ZXAxKG5vZGUpCiAgICAgewogICAgICAgICB2YXIgY29udGFp
bmVySWQgPSBub2RlLmlkOworICAgICAgICB2YXIgZG9jdW1lbnRJZCA9IG5vZGUub3duZXJEb2N1
bWVudC5pZDsKIAogICAgICAgICBJbnNwZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCiAgICAgICAg
ICAgICBmdW5jdGlvbiB0ZXN0RG9jdW1lbnRRdWVyeVNlbGVjdG9yKG5leHQpCiAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgRE9NQWdlbnQucXVlcnlTZWxlY3Rvcihjb250YWluZXJJZCwg
ImRpdi5mb28iLCB0cnVlLCBkdW1wTm9kZXMuYmluZChudWxsLCBuZXh0KSk7CisgICAgICAgICAg
ICAgICAgRE9NQWdlbnQucXVlcnlTZWxlY3Rvcihkb2N1bWVudElkLCAiZGl2LmZvbyIsIGR1bXBO
b2Rlcy5iaW5kKG51bGwsIG5leHQpKTsKICAgICAgICAgICAgIH0sCiAKICAgICAgICAgICAgIGZ1
bmN0aW9uIHRlc3REb2N1bWVudFF1ZXJ5U2VsZWN0b3JBbGwobmV4dCkKICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICBET01BZ2VudC5xdWVyeVNlbGVjdG9yQWxsKGNvbnRhaW5lcklkLCAi
ZGl2LmZvbyIsIHRydWUsIGR1bXBOb2Rlcy5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgICAg
ICAgICBET01BZ2VudC5xdWVyeVNlbGVjdG9yQWxsKGRvY3VtZW50SWQsICJkaXYuZm9vIiwgZHVt
cE5vZGVzLmJpbmQobnVsbCwgbmV4dCkpOwogICAgICAgICAgICAgfSwKIAogICAgICAgICAgICAg
ZnVuY3Rpb24gdGVzdFF1ZXJ5U2VsZWN0b3IobmV4dCkKICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBET01BZ2VudC5xdWVyeVNlbGVjdG9yKGNvbnRhaW5lcklkLCAiZGl2LmZvbyIsIGZh
bHNlLCBkdW1wTm9kZXMuYmluZChudWxsLCBuZXh0KSk7CisgICAgICAgICAgICAgICAgRE9NQWdl
bnQucXVlcnlTZWxlY3Rvcihjb250YWluZXJJZCwgImRpdi5mb28iLCBkdW1wTm9kZXMuYmluZChu
dWxsLCBuZXh0KSk7CiAgICAgICAgICAgICB9LAogCiAgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0
UXVlcnlTZWxlY3RvckFsbChuZXh0KQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIERP
TUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwoY29udGFpbmVySWQsICJkaXYuZm9vIiwgZmFsc2UsIGR1
bXBOb2Rlcy5iaW5kKG51bGwsIG5leHQpKTsKKyAgICAgICAgICAgICAgICBET01BZ2VudC5xdWVy
eVNlbGVjdG9yQWxsKGNvbnRhaW5lcklkLCAiZGl2LmZvbyIsIGR1bXBOb2Rlcy5iaW5kKG51bGws
IG5leHQpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgXSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDllZmYwMjYuLmZjNmQxYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MSBAQAorMjAxMS0wMy0z
MSAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAgLSByZW1vdmVkIGRvY3VtZW50V2lkZSBw
YXJhbWV0ZXIgdG8gcXVlcnlTZWxlY3RvcltBbGxdKCkgKHVzZXIgZG9jdW1lbnQgbm9kZSBpZCBp
bnN0ZWFkKQorICAgICAgICAtIGZhY3RvciBvdXQgZG9jdW1lbnQgcmVxdWVzdCBsb2dpYyB3aXRo
aW4gRE9NQWdlbnQgaW50byBzZXBhcmF0ZSBtZXRob2QKKyAgICAgICAgLSBhZGQgcXVlcnlTZWxl
Y3RvcigpIGFuZCBxdWVyeVNlbGVjdG9yQWxsKCkgdG8gRE9NQWdlbnQuanMsIGFzc3VyZSB3ZSBo
YXZlIGRvY3VtZW50IGJlZm9yZSBjYWxsaW5nIGJhY2stZW5kCisgICAgICAgIC0gdXNlIHRoZSBh
Ym92ZSB3cmFwcGVycyBmb3IgcXVlcnlTZWxlY3RvcigpIGFuZCBxdWVyeVNlbGVjdG9yQWxsKCks
IGRvIG5vdCBjYWxsIGJhY2tlbmQgZGlyZWN0bHkKKyAgICAgICAgLSBtaW5vciBzdHlsZSBmaXhl
cyBpbiBJbnNwZWN0b3IuanNvbgorICAgICAgICAtIG1vcmUgZXJyb3IgbG9nZ2luZworCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUgZnJvbnQtZW5kIHdyYXBwZXJzIGZvciBET01BZ2Vu
dC5xdWVyeVNlbGVjdG9yW0FsbF0oKSB0aGF0IHRha2UgY2FyZSBvZiBmZXRjaGluZyB0aGUgZG9j
dW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3
NDY2CisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckRPTUFnZW50OjpxdWVyeVNlbGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRP
TUFnZW50OjpxdWVyeVNlbGVjdG9yQWxsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5JbWFnZURpbWVuc2lvbnNSdWxlLnBy
b3RvdHlwZS5kb1J1bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5JbWFnZURp
bWVuc2lvbnNSdWxlLnByb3RvdHlwZS5kb1J1bi5nZXRTdHlsZXMpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
U1NTdHlsZU1vZGVsLnByb3RvdHlwZS5zZXRSdWxlU2VsZWN0b3IuY2FsbGJhY2spOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlLnNldFJ1bGVTZWxlY3Rvcik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuYWRkUnVsZS5j
YWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUu
YWRkUnVsZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUucmVxdWVzdERvY3VtZW50Lm9u
RG9jdW1lbnRBdmFpbGFibGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3Rv
dHlwZS5yZXF1ZXN0RG9jdW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUFnZW50LnBy
b3RvdHlwZS5wdXNoTm9kZVRvRnJvbnRlbmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUFn
ZW50LnByb3RvdHlwZS5wdXNoTm9kZUJ5UGF0aFRvRnJvbnRlbmQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZS5fZGlzcGF0Y2hXaGVuRG9jdW1lbnRBdmFpbGFibGUu
b25Eb2N1bWVudEF2YWlsYWJsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NQWdlbnQucHJv
dG90eXBlLl9kaXNwYXRjaFdoZW5Eb2N1bWVudEF2YWlsYWJsZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLmNhbmNlbFNlYXJjaCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRE9NQWdlbnQucHJvdG90eXBlLnF1ZXJ5U2VsZWN0b3IpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZS5xdWVyeVNlbGVjdG9yQWxsKToKKwogMjAxMS0wMy0z
MSAgSmFlaHVuIExpbSAgPGxqYWVodW4ubGltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgYnVpbGQgZml4IGZvciBFRkwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbgppbmRleCBlZDU5MjllLi5hZWE2MmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvci5qc29uCkBAIC0yMDAsNyArMjAwLDcgQEAKICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzYWJsZSIKLSAgICAgICAgICAgfSwK
KyAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
Y2xlYXJDb25zb2xlTWVzc2FnZXMiCiAgICAgICAgICAgICB9LApAQCAtMjI0LDcgKzIyNCw3IEBA
CiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibWVzc2FnZU9iaiIsICIkcmVmIjogIkNv
bnNvbGVNZXNzYWdlIiB9CiAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgeworICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImNvbnNvbGVN
ZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6
IFsKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjb3VudCIsICJ0eXBlIjogImludGVn
ZXIiIH0KQEAgLTY3OSw3ICs2NzksNiBAQAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjog
WwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImludGVn
ZXIiLCAiZGVzY3JpcHRpb24iOiAiSWQgb2YgdGhlIG5vZGUgdG8gcXVlcnkgdXBvbi4iIH0sCiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2VsZWN0b3JzIiwgInR5cGUiOiAic3RyaW5n
IiwgImRlc2NyaXB0aW9uIjogIlNlbGVjdG9yIHN0cmluZy4iIH0sCi0gICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiZG9jdW1lbnRXaWRlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlw
dGlvbiI6ICJTZXQgdG8gdHJ1ZSB0byBzdGFydCBxdWVyeWluZyBmcm9tIHRoZSBub2RlJ3MgZG9j
dW1lbnQuIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAicmV0dXJucyI6
IFsKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJlbGVtZW50SWQiLCAidHlwZSI6ICJp
bnRlZ2VyIiwgImRlc2NyaXB0aW9uIjogIlF1ZXJ5IHNlbGVjdG9yIHJlc3VsdC4iIH0KQEAgLTY5
MSwxNyArNjkwLDE2IEBACiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNj
cmlwdGlvbiI6ICJJZCBvZiB0aGUgbm9kZSB0byBxdWVyeSB1cG9uLiIgfSwKICAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJzZWxlY3RvcnMiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3Jp
cHRpb24iOiAiU2VsZWN0b3Igc3RyaW5nLiIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJkb2N1bWVudFdpZGUiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlNl
dCB0byB0cnVlIHRvIHN0YXJ0IHF1ZXJ5aW5nIGZyb20gdGhlIG5vZGUncyBkb2N1bWVudC4iIH0K
ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogIm5vZGVJZHMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVt
cyI6IHsgInR5cGUiOiAiaW50ZWdlciIgfSwgImRlc2NyaXB0aW9uIjogIlF1ZXJ5IHNlbGVjdG9y
IHJlc3VsdC4iICB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkcyIsICJ0
eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAidHlwZSI6ICJpbnRlZ2VyIiB9LCAiZGVzY3JpcHRp
b24iOiAiUXVlcnkgc2VsZWN0b3IgcmVzdWx0LiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGVzIDxjb2RlPnF1ZXJ5U2VsZWN0b3JB
bGw8L2NvZGU+IG9uIGEgZ2l2ZW4gbm9kZS4gU2V0dGluZyA8Y29kZT5kb2N1bWVudFdpZGU8L2Nv
ZGU+IHRvIHRydWUgc3RhcnRzIHNlbGVjdGluZyBmcm9tIHRoZSBkb2N1bWVudCBub2RlLiIKICAg
ICAgICAgICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0
Tm9kZU5hbWUiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRp
b24iOiAiSWQgb2YgdGhlIG5vZGUgdG8gc2V0IG5hbWUgZm9yLiIgIH0sCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlv
biI6ICJJZCBvZiB0aGUgbm9kZSB0byBzZXQgbmFtZSBmb3IuIiB9LAogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogIm5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAi
TmV3IG5vZGUncyBuYW1lLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
InJldHVybnMiOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFn
ZW50LmNwcAppbmRleCAwNmM1OTc3Li41MDc1NzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAwOS0yMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAwOSBKb3NlcGggUGVjb3Jhcm8KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTQz
MCwyNCArNDMwLDYgQEAgSFRNTEVsZW1lbnQqIEluc3BlY3RvckRPTUFnZW50Ojphc3NlcnRIVE1M
RWxlbWVudChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludAogICAgIHJldHVybiB0b0hUTUxF
bGVtZW50KGVsZW1lbnQpOwogfQogCi1Ob2RlKiBJbnNwZWN0b3JET01BZ2VudDo6bm9kZVRvU2Vs
ZWN0T24oRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBib29sIGRvY3VtZW50
V2lkZSkKLXsKLSAgICBOb2RlKiBub2RlOwotICAgIGlmICghbm9kZUlkKSB7Ci0gICAgICAgIG5v
ZGUgPSBtX2RvY3VtZW50LmdldCgpOwotICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICAq
ZXJyb3JTdHJpbmcgPSAiTm8gZG9jdW1lbnQgdG8gcXVlcnkgb24uIjsKLSAgICB9IGVsc2UKLSAg
ICAgICAgbm9kZSA9IGFzc2VydE5vZGUoZXJyb3JTdHJpbmcsIG5vZGVJZCk7Ci0KLSAgICBpZiAo
IW5vZGUpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgaWYgKGRvY3VtZW50V2lkZSAmJiBub2Rl
SWQpCi0gICAgICAgIG5vZGUgPSBub2RlLT5vd25lckRvY3VtZW50KCk7Ci0gICAgcmV0dXJuIG5v
ZGU7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldERvY3VtZW50KEVycm9yU3RyaW5n
KiwgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4qIHJvb3QpCiB7CiAgICAgbV9pbnNwZWN0b3JTdGF0
ZS0+c2V0Qm9vbGVhbihET01BZ2VudFN0YXRlOjpkb2N1bWVudFJlcXVlc3RlZCwgdHJ1ZSk7CkBA
IC01MDIsMTAgKzQ4NCwxMCBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50OjpnZXRDaGlsZE5vZGVz
KEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCkKICAgICBwdXNoQ2hpbGROb2Rlc1RvRnJvbnRlbmQo
bm9kZUlkKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cXVlcnlTZWxlY3RvcihFcnJv
clN0cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyYgc2VsZWN0b3Jz
LCBib29sIGRvY3VtZW50V2lkZSwgaW50KiBlbGVtZW50SWQpCit2b2lkIEluc3BlY3RvckRPTUFn
ZW50OjpxdWVyeVNlbGVjdG9yKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IG5vZGVJZCwg
Y29uc3QgU3RyaW5nJiBzZWxlY3RvcnMsIGludCogZWxlbWVudElkKQogewogICAgICplbGVtZW50
SWQgPSAwOwotICAgIE5vZGUqIG5vZGUgPSBub2RlVG9TZWxlY3RPbihlcnJvclN0cmluZywgbm9k
ZUlkLCBkb2N1bWVudFdpZGUpOworICAgIE5vZGUqIG5vZGUgPSBhc3NlcnROb2RlKGVycm9yU3Ry
aW5nLCBub2RlSWQpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC01MjAs
OSArNTAyLDkgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6cXVlcnlTZWxlY3RvcihFcnJvclN0
cmluZyogZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIGNvbnMKICAgICAgICAgKmVsZW1lbnRJZCA9
IHB1c2hOb2RlUGF0aFRvRnJvbnRlbmQoZWxlbWVudC5nZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yRE9NQWdlbnQ6OnF1ZXJ5U2VsZWN0b3JBbGwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBp
bnQgbm9kZUlkLCBjb25zdCBTdHJpbmcmIHNlbGVjdG9ycywgYm9vbCBkb2N1bWVudFdpZGUsIFJl
ZlB0cjxJbnNwZWN0b3JBcnJheT4qIHJlc3VsdCkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OnF1
ZXJ5U2VsZWN0b3JBbGwoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkLCBjb25z
dCBTdHJpbmcmIHNlbGVjdG9ycywgUmVmUHRyPEluc3BlY3RvckFycmF5PiogcmVzdWx0KQogewot
ICAgIE5vZGUqIG5vZGUgPSBub2RlVG9TZWxlY3RPbihlcnJvclN0cmluZywgbm9kZUlkLCBkb2N1
bWVudFdpZGUpOworICAgIE5vZGUqIG5vZGUgPSBhc3NlcnROb2RlKGVycm9yU3RyaW5nLCBub2Rl
SWQpOwogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCmluZGV4IDhhZWI2NmIuLjAwZjNlNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5oCkBAIC0xLDYg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTExMSw4ICsx
MTEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNldCgpOwogCiAgICAgLy8gTWV0aG9kcyBjYWxs
ZWQgZnJvbSB0aGUgZnJvbnRlbmQgZm9yIERPTSBub2RlcyBpbnNwZWN0aW9uLgotICAgIHZvaWQg
cXVlcnlTZWxlY3RvcihFcnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyYgc2Vs
ZWN0b3JzLCBib29sIGRvY3VtZW50V2lkZSwgaW50KiBlbGVtZW50SWQpOwotICAgIHZvaWQgcXVl
cnlTZWxlY3RvckFsbChFcnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyYgc2Vs
ZWN0b3JzLCBib29sIGRvY3VtZW50V2lkZSwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogcmVzdWx0
KTsKKyAgICB2b2lkIHF1ZXJ5U2VsZWN0b3IoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBjb25z
dCBTdHJpbmcmIHNlbGVjdG9ycywgaW50KiBlbGVtZW50SWQpOworICAgIHZvaWQgcXVlcnlTZWxl
Y3RvckFsbChFcnJvclN0cmluZyosIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyYgc2VsZWN0b3Jz
LCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+KiByZXN1bHQpOwogICAgIHZvaWQgZ2V0RG9jdW1lbnQo
RXJyb3JTdHJpbmcqLCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0Piogcm9vdCk7CiAgICAgdm9pZCBn
ZXRDaGlsZE5vZGVzKEVycm9yU3RyaW5nKiwgaW50IG5vZGVJZCk7CiAgICAgdm9pZCBzZXRBdHRy
aWJ1dGUoRXJyb3JTdHJpbmcqLCBpbnQgZWxlbWVudElkLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdmFsdWUpOwpAQCAtMTg2LDcgKzE4Niw2IEBAIHByaXZhdGU6CiAgICAgTm9k
ZSogYXNzZXJ0Tm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQpOwogICAgIEVsZW1lbnQqIGFz
c2VydEVsZW1lbnQoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkKTsKICAgICBIVE1MRWxlbWVudCog
YXNzZXJ0SFRNTEVsZW1lbnQoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkKTsKLSAgICBOb2RlKiBu
b2RlVG9TZWxlY3RPbihFcnJvclN0cmluZyosIGludCBub2RlSWQsIGJvb2wgZG9jdW1lbnRXaWRl
KTsKIAogICAgIGludCBwdXNoTm9kZVBhdGhUb0Zyb250ZW5kKE5vZGUqKTsKICAgICB2b2lkIHB1
c2hDaGlsZE5vZGVzVG9Gcm9udGVuZChpbnQgbm9kZUlkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcwppbmRleCBkZGFiMWRmLi5kODBjOTgx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVs
ZXMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVz
LmpzCkBAIC03MjEsMjAgKzcyMSwyMSBAQCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5JbWFnZURp
bWVuc2lvbnNSdWxlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBkb25lQ2FsbGJhY2so
KTsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIGdldFN0eWxlcyhlcnJvciwgbm9kZUlk
cykKKyAgICAgICAgZnVuY3Rpb24gZ2V0U3R5bGVzKG5vZGVJZHMpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIGlmIChlcnJvcikKKyAgICAgICAgICAgIGlmICghbm9kZUlkcykgeworICAgICAgICAg
ICAgICAgIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBnZXQgc3R5bGVzIik7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBub2RlSWRzLmxlbmd0aDsgKytpKQogICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5j
c3NNb2RlbC5nZXRTdHlsZXNBc3luYyhub2RlSWRzW2ldLCBpbWFnZVN0eWxlc1JlYWR5LmJpbmQo
dGhpcywgbm9kZUlkc1tpXSwgaSA9PT0gbm9kZUlkcy5sZW5ndGggLSAxKSk7CiAgICAgICAgIH0K
LQotICAgICAgICBmdW5jdGlvbiBnZXRJbWFnZXMoKQorICAgICAgICBmdW5jdGlvbiBvbkRvY3Vt
ZW50QXZhaWxhYmxlKHJvb3QpCiAgICAgICAgIHsKLSAgICAgICAgICAgIERPTUFnZW50LnF1ZXJ5
U2VsZWN0b3JBbGwoMCwgImltZ1tzcmNdIiwgdHJ1ZSwgZ2V0U3R5bGVzKTsKKyAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5kb21BZ2VudC5xdWVyeVNlbGVjdG9yQWxsKHJvb3QuaWQsICJpbWdbc3Jj
XSIsIGdldFN0eWxlcyk7CiAgICAgICAgIH0KKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnJlcXVlc3REb2N1bWVudChvbkRvY3VtZW50QXZhaWxhYmxlKTsKIAotICAgICAgICBXZWJJbnNw
ZWN0b3IuZG9tQWdlbnQucmVxdWVzdERvY3VtZW50KGdldEltYWdlcyk7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9k
ZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwu
anMKaW5kZXggMTQ4YmZkOC4uNzFkYWFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcwpAQCAtMTMzLDcgKzEzMyw3IEBAIFdl
Ykluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChl
cnJvcikKICAgICAgICAgICAgICAgICBmYWlsdXJlQ2FsbGJhY2soKTsKICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICBET01BZ2VudC5xdWVyeVNlbGVjdG9yQWxsKG5vZGVJZCwgbmV3
U2VsZWN0b3IsIHRydWUsIGNoZWNrQWZmZWN0c0NhbGxiYWNrLmJpbmQodGhpcywgbm9kZUlkLCBz
dWNjZXNzQ2FsbGJhY2ssIHJ1bGVQYXlsb2FkKSk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmRvbUFnZW50LnF1ZXJ5U2VsZWN0b3JBbGwobm9kZUlkLCBuZXdTZWxlY3RvciwgY2hlY2tB
ZmZlY3RzQ2FsbGJhY2suYmluZCh0aGlzLCBub2RlSWQsIHN1Y2Nlc3NDYWxsYmFjaywgcnVsZVBh
eWxvYWQpKTsKICAgICAgICAgfQogCiAgICAgICAgIENTU0FnZW50LnNldFJ1bGVTZWxlY3Rvcihy
dWxlSWQsIG5ld1NlbGVjdG9yLCBjYWxsYmFjay5iaW5kKHRoaXMsIG5vZGVJZCwgc3VjY2Vzc0Nh
bGxiYWNrLCBmYWlsdXJlQ2FsbGJhY2ssIG5ld1NlbGVjdG9yKSk7CkBAIC0xNTUsNyArMTU1LDcg
QEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAg
ICAgIC8vIEludmFsaWQgc3ludGF4IGZvciBhIHNlbGVjdG9yCiAgICAgICAgICAgICAgICAgZmFp
bHVyZUNhbGxiYWNrKCk7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBET01B
Z2VudC5xdWVyeVNlbGVjdG9yQWxsKG5vZGVJZCwgc2VsZWN0b3IsIHRydWUsIGNoZWNrQWZmZWN0
c0NhbGxiYWNrLmJpbmQodGhpcywgbm9kZUlkLCBzdWNjZXNzQ2FsbGJhY2ssIHJ1bGVQYXlsb2Fk
KSk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnF1ZXJ5U2VsZWN0b3JB
bGwobm9kZUlkLCBzZWxlY3RvciwgY2hlY2tBZmZlY3RzQ2FsbGJhY2suYmluZCh0aGlzLCBub2Rl
SWQsIHN1Y2Nlc3NDYWxsYmFjaywgcnVsZVBheWxvYWQpKTsKICAgICAgICAgfQogCiAgICAgICAg
IENTU0FnZW50LmFkZFJ1bGUobm9kZUlkLCBzZWxlY3RvciwgY2FsbGJhY2suYmluZCh0aGlzLCBz
dWNjZXNzQ2FsbGJhY2ssIGZhaWx1cmVDYWxsYmFjaywgc2VsZWN0b3IpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCmluZGV4IGEyYTljMmQuLjEz
OGZjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9N
QWdlbnQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2Vu
dC5qcwpAQCAtMzI4LDcgKzMyOCw3IEBAIFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiBt
eWNhbGxiYWNrKGVycm9yLCByb290KQorICAgICAgICBmdW5jdGlvbiBvbkRvY3VtZW50QXZhaWxh
YmxlKGVycm9yLCByb290KQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIWVycm9yKQogICAg
ICAgICAgICAgICAgIHRoaXMuX3NldERvY3VtZW50KHJvb3QpOwpAQCAtMzM2LDQ0ICszMzYsNDkg
QEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChj
YWxsYmFjaykKICAgICAgICAgICAgICAgICBjYWxsYmFjayh0aGlzLl9kb2N1bWVudCk7CiAgICAg
ICAgIH0KLSAgICAgICAgRE9NQWdlbnQuZ2V0RG9jdW1lbnQobXljYWxsYmFjay5iaW5kKHRoaXMp
KTsKKyAgICAgICAgRE9NQWdlbnQuZ2V0RG9jdW1lbnQob25Eb2N1bWVudEF2YWlsYWJsZS5iaW5k
KHRoaXMpKTsKICAgICB9LAogCiAgICAgcHVzaE5vZGVUb0Zyb250ZW5kOiBmdW5jdGlvbihvYmpl
Y3RJZCwgY2FsbGJhY2spCiAgICAgewotICAgICAgICBmdW5jdGlvbiBjYWxsYmFja1dyYXBwZXIo
ZXJyb3IsIG5vZGVJZCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQotICAg
ICAgICAgICAgICAgIGNhbGxiYWNrKGVycm9yID8gMCA6IG5vZGVJZCk7Ci0gICAgICAgIH0KLQot
ICAgICAgICBmdW5jdGlvbiBteWNhbGxiYWNrKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYg
KHRoaXMuX2RvY3VtZW50KQotICAgICAgICAgICAgICAgIERPTUFnZW50LnB1c2hOb2RlVG9Gcm9u
dGVuZChvYmplY3RJZCwgY2FsbGJhY2tXcmFwcGVyKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICBjYWxsYmFja1dyYXBwZXIoIk5vIGRvY3VtZW50Iik7Ci0gICAgICAgIH0KLQot
ICAgICAgICB0aGlzLnJlcXVlc3REb2N1bWVudChteWNhbGxiYWNrLmJpbmQodGhpcykpOworICAg
ICAgICB0aGlzLl9kaXNwYXRjaFdoZW5Eb2N1bWVudEF2YWlsYWJsZShET01BZ2VudC5wdXNoTm9k
ZVRvRnJvbnRlbmQuYmluZChET01BZ2VudCksIG9iamVjdElkLCBjYWxsYmFjayk7CiAgICAgfSwK
IAogICAgIHB1c2hOb2RlQnlQYXRoVG9Gcm9udGVuZDogZnVuY3Rpb24ocGF0aCwgY2FsbGJhY2sp
CiAgICAgewotICAgICAgICBmdW5jdGlvbiBjYWxsYmFja1dyYXBwZXIoZXJyb3IsIG5vZGVJZCkK
KyAgICAgICAgdGhpcy5fZGlzcGF0Y2hXaGVuRG9jdW1lbnRBdmFpbGFibGUoRE9NQWdlbnQucHVz
aE5vZGVCeVBhdGhUb0Zyb250ZW5kLmJpbmQoRE9NQWdlbnQpLCBwYXRoLCBjYWxsYmFjayk7Cisg
ICAgfSwKKworICAgIF93cmFwQ2xpZW50Q2FsbGJhY2s6IGZ1bmN0aW9uKGNhbGxiYWNrKQorICAg
IHsKKyAgICAgICAgaWYgKCFjYWxsYmFjaykKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
cmV0dXJuIGZ1bmN0aW9uKGVycm9yLCByZXN1bHQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlm
IChjYWxsYmFjaykKLSAgICAgICAgICAgICAgICBjYWxsYmFjayhlcnJvciA/IDAgOiBub2RlSWQp
OworICAgICAgICAgICAgY2FsbGJhY2soZXJyb3IgPyBudWxsIDogcmVzdWx0KTsKICAgICAgICAg
fQorICAgIH0sCisKKyAgICBfZGlzcGF0Y2hXaGVuRG9jdW1lbnRBdmFpbGFibGU6IGZ1bmN0aW9u
KGFjdGlvbikKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0QXJndW1lbnRzID0gQXJyYXkucHJv
dG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsKKyAgICAgICAgdmFyIGNhbGxiYWNrV3Jh
cHBlcjsKIAotICAgICAgICBmdW5jdGlvbiBteWNhbGxiYWNrKCkKKyAgICAgICAgaWYgKHR5cGVv
ZiByZXF1ZXN0QXJndW1lbnRzW3JlcXVlc3RBcmd1bWVudHMubGVuZ3RoIC0gMV0gPT09ICJmdW5j
dGlvbiIpIHsKKyAgICAgICAgICAgIHZhciBjYWxsYmFjayA9IHJlcXVlc3RBcmd1bWVudHMucG9w
KCk7CisgICAgICAgICAgICBjYWxsYmFja1dyYXBwZXIgPSB0aGlzLl93cmFwQ2xpZW50Q2FsbGJh
Y2soY2FsbGJhY2spOworICAgICAgICAgICAgcmVxdWVzdEFyZ3VtZW50cy5wdXNoKGNhbGxiYWNr
V3JhcHBlcik7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gb25Eb2N1bWVudEF2YWlsYWJs
ZSgpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9kb2N1bWVudCkKLSAgICAgICAg
ICAgICAgICBET01BZ2VudC5wdXNoTm9kZUJ5UGF0aFRvRnJvbnRlbmQocGF0aCwgY2FsbGJhY2tX
cmFwcGVyKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBjYWxsYmFja1dyYXBw
ZXIoIk5vIGRvY3VtZW50Iik7CisgICAgICAgICAgICAgICAgYWN0aW9uLmFwcGx5KG51bGwsIHJl
cXVlc3RBcmd1bWVudHMpOworICAgICAgICAgICAgZWxzZSB7IAorICAgICAgICAgICAgICAgIGlm
IChjYWxsYmFja1dyYXBwZXIpCisgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrV3JhcHBlcigi
Tm8gZG9jdW1lbnQiKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICB0aGlzLnJl
cXVlc3REb2N1bWVudChteWNhbGxiYWNrLmJpbmQodGhpcykpOworICAgICAgICB0aGlzLnJlcXVl
c3REb2N1bWVudChvbkRvY3VtZW50QXZhaWxhYmxlLmJpbmQodGhpcykpOwogICAgIH0sCiAKICAg
ICBfYXR0cmlidXRlc1VwZGF0ZWQ6IGZ1bmN0aW9uKG5vZGVJZCwgYXR0cnNBcnJheSkKQEAgLTQ4
OCw2ICs0OTMsMTYgQEAgV2ViSW5zcGVjdG9yLkRPTUFnZW50LnByb3RvdHlwZSA9IHsKICAgICB7
CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWFyY2hSZXN1bHRDb2xsZWN0b3I7CiAgICAgICAgIERP
TUFnZW50LmNhbmNlbFNlYXJjaCgpOworICAgIH0sCisKKyAgICBxdWVyeVNlbGVjdG9yOiBmdW5j
dGlvbihub2RlSWQsIHNlbGVjdG9ycywgY2FsbGJhY2spCisgICAgeworICAgICAgICBET01BZ2Vu
dC5xdWVyeVNlbGVjdG9yKG5vZGVJZCwgc2VsZWN0b3JzLCB0aGlzLl93cmFwQ2xpZW50Q2FsbGJh
Y2soY2FsbGJhY2spKTsKKyAgICB9LAorCisgICAgcXVlcnlTZWxlY3RvckFsbDogZnVuY3Rpb24o
bm9kZUlkLCBzZWxlY3RvcnMsIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgRE9NQWdlbnQucXVl
cnlTZWxlY3RvckFsbChub2RlSWQsIHNlbGVjdG9ycywgdGhpcy5fd3JhcENsaWVudENhbGxiYWNr
KGNhbGxiYWNrKSk7CiAgICAgfQogfQogCg==
</data>
<flag name="review"
          id="80152"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>