<?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>62282</bug_id>
          
          <creation_ts>2011-06-08 07:59:06 -0700</creation_ts>
          <short_desc>Web Inspector: script links are displayed with original line number in pretty-print mode.</short_desc>
          <delta_ts>2011-06-16 02:54:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</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>417237</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-06-08 07:59:06 -0700</bug_when>
    <thetext>Web Inspector: script links are displayed with original line number in pretty-print mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417238</commentid>
    <comment_count>1</comment_count>
      <attachid>96422</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-06-08 08:00:25 -0700</bug_when>
    <thetext>Created attachment 96422
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417251</commentid>
    <comment_count>2</comment_count>
      <attachid>96422</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-06-08 08:31:01 -0700</bug_when>
    <thetext>Comment on attachment 96422
Patch.

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

&gt; Source/WebCore/inspector/front-end/Panel.js:394
&gt; +        linkText += &quot;:&quot; + (lineNumber + 1);

Common panel code shouldn&apos;t contain lineNumber arithmetic.

&gt; Source/WebCore/inspector/front-end/inspector.js:1280
&gt; +    var node = this.panels[preferredPanel].createAnchor(url, lineNumber - 1, classes, tooltipText);

This method shouldn&apos;t modify lineNumber.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417252</commentid>
    <comment_count>3</comment_count>
      <attachid>96422</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-06-08 08:34:07 -0700</bug_when>
    <thetext>Comment on attachment 96422
Patch.

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

&gt; Source/WebCore/inspector/front-end/DebuggerPresentationModel.js:106
&gt; +    {

Anchors may be removed so there should be corresponding method that would remove them from _anchors here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417906</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-06-09 02:04:15 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 96422 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=96422&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/Panel.js:394
&gt; &gt; +        linkText += &quot;:&quot; + (lineNumber + 1);
&gt; 
&gt; Common panel code shouldn&apos;t contain lineNumber arithmetic.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/inspector.js:1280
&gt; &gt; +    var node = this.panels[preferredPanel].createAnchor(url, lineNumber - 1, classes, tooltipText);
&gt; 
&gt; This method shouldn&apos;t modify lineNumber.

Added fixme to make console call frame line/column numbers zero-based just like in debugger call frames.

&gt; Anchors may be removed so there should be corresponding method that would remove them from _anchors here.

Anchors are cleared on navigation, so we may keep removed anchors in the list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417907</commentid>
    <comment_count>5</comment_count>
      <attachid>96564</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-06-09 02:04:30 -0700</bug_when>
    <thetext>Created attachment 96564
Patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419964</commentid>
    <comment_count>6</comment_count>
      <attachid>96564</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-13 15:27:34 -0700</bug_when>
    <thetext>Comment on attachment 96564
Patch.

How do we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421161</commentid>
    <comment_count>7</comment_count>
      <attachid>97268</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-06-15 03:32:47 -0700</bug_when>
    <thetext>Created attachment 97268
Added test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421177</commentid>
    <comment_count>8</comment_count>
      <attachid>97268</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-06-15 03:59:29 -0700</bug_when>
    <thetext>Comment on attachment 97268
Added test.

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

&gt; Source/WebCore/inspector/front-end/inspector.js:1281
&gt; +    // FIXME: stack trace line/column numbers are one-based.

Please file a bug on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421260</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-06-15 07:31:48 -0700</bug_when>
    <thetext>Committed r88927: &lt;http://trac.webkit.org/changeset/88927&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421884</commentid>
    <comment_count>10</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-06-16 02:54:14 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 97268 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97268&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/inspector.js:1281
&gt; &gt; +    // FIXME: stack trace line/column numbers are one-based.
&gt; 
&gt; Please file a bug on this.

https://bugs.webkit.org/show_bug.cgi?id=62725.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96422</attachid>
            <date>2011-06-08 08:00:25 -0700</date>
            <delta_ts>2011-06-09 02:04:30 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>10472</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YTczMzkxLi42OWE2NzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTEtMDYtMDggIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3Rvcjogc2NyaXB0IGxpbmtzIGFyZSBkaXNwbGF5ZWQgd2l0aCBvcmlnaW5hbCBsaW5lIG51
bWJlciBpbiBwcmV0dHktcHJpbnQgbW9kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYyMjgyCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQ
cmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUucmVnaXN0ZXJBbmNob3IpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl91cGRhdGVBbmNo
b3IuZGlkR2V0VUlMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3VwZGF0ZUFuY2hvcik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuc2V0Rm9ybWF0U291cmNl
RmlsZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwu
cHJvdG90eXBlLl9kZWJ1Z2dlclJlc2V0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJv
dG90eXBlLnNob3dBbmNob3JMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a1BhbmVsLnByb3RvdHlwZS5fc2hvd1Jlc291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5j
cmVhdGVBbmNob3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFu
ZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLnNo
b3dBbmNob3JMb2NhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRz
UGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLmNyZWF0ZUFuY2hvcik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5zaG93QW5jaG9yTG9jYXRp
b24uZGlkR2V0VUlMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVs
LnByb3RvdHlwZS5zaG93QW5jaG9yTG9jYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl9zaG93QW5jaG9yTG9j
YXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZSk6CisK
IDIwMTEtMDUtMTggIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRp
b25Nb2RlbC5qcwppbmRleCBmNjA5ZTUxLi40YzkzMjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlv
bk1vZGVsLmpzCkBAIC0zMiw2ICszMiw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsID0gZnVuY3Rpb24oKQogewogICAgIHRoaXMuX3NvdXJjZUZpbGVzID0ge307CiAg
ICAgdGhpcy5fbWVzc2FnZXMgPSBbXTsKKyAgICB0aGlzLl9hbmNob3JzID0gW107CiAgICAgdGhp
cy5fYnJlYWtwb2ludHNCeURlYnVnZ2VySWQgPSB7fTsKICAgICB0aGlzLl9icmVha3BvaW50c1dp
dGhvdXRTb3VyY2VGaWxlID0ge307CiAKQEAgLTEwMSw2ICsxMDIsMjYgQEAgV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9z
b3VyY2VGaWxlc1tzb3VyY2VGaWxlSWRdLnJlcXVlc3RDb250ZW50KGNhbGxiYWNrKTsKICAgICB9
LAogCisgICAgcmVnaXN0ZXJBbmNob3I6IGZ1bmN0aW9uKHNvdXJjZVVSTCwgc291cmNlSWQsIGxp
bmVOdW1iZXIsIGNvbHVtbk51bWJlciwgZWxlbWVudCkKKyAgICB7CisgICAgICAgIHZhciBhbmNo
b3IgPSB7IHNvdXJjZVVSTDogc291cmNlVVJMLCBzb3VyY2VJZDogc291cmNlSWQsIGxpbmVOdW1i
ZXI6IGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcjogY29sdW1uTnVtYmVyLCBlbGVtZW50OiBlbGVt
ZW50IH07CisgICAgICAgIHRoaXMuX2FuY2hvcnMucHVzaChhbmNob3IpOworICAgICAgICB0aGlz
Ll91cGRhdGVBbmNob3IoYW5jaG9yKTsKKyAgICB9LAorCisgICAgX3VwZGF0ZUFuY2hvcjogZnVu
Y3Rpb24oYW5jaG9yKQorICAgIHsKKyAgICAgICAgdmFyIHNvdXJjZUZpbGUgPSB0aGlzLl9zb3Vy
Y2VGaWxlRm9yU2NyaXB0KGFuY2hvci5zb3VyY2VVUkwsIGFuY2hvci5zb3VyY2VJZCk7CisgICAg
ICAgIGlmICghc291cmNlRmlsZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBmdW5j
dGlvbiBkaWRHZXRVSUxvY2F0aW9uKHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcikKKyAgICAgICAg
eworICAgICAgICAgICAgYW5jaG9yLmVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3Iu
ZGlzcGxheU5hbWVGb3JVUkwoc291cmNlRmlsZS51cmwpICsgIjoiICsgKGxpbmVOdW1iZXIgKyAx
KTsKKyAgICAgICAgfQorICAgICAgICB0aGlzLnNjcmlwdExvY2F0aW9uVG9VSUxvY2F0aW9uKGFu
Y2hvci5zb3VyY2VVUkwsIGFuY2hvci5zb3VyY2VJZCwgYW5jaG9yLmxpbmVOdW1iZXIsIGFuY2hv
ci5jb2x1bW5OdW1iZXIsIGRpZEdldFVJTG9jYXRpb24pOworICAgIH0sCisKICAgICBfcGFyc2Vk
U2NyaXB0U291cmNlOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMuX2FkZFNj
cmlwdChldmVudC5kYXRhKTsKQEAgLTI0Niw2ICsyNjcsOSBAQCBXZWJJbnNwZWN0b3IuRGVidWdn
ZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICB0aGlzLl9hZGRDb25zb2xl
TWVzc2FnZShtZXNzYWdlc1tpXSk7CiAKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlz
Ll9hbmNob3JzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgdGhpcy5fdXBkYXRlQW5jaG9yKHRo
aXMuX2FuY2hvcnNbaV0pOworCiAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5jYWxsRnJhbWVzKQogICAgICAgICAgICAgdGhpcy5fZGVidWdnZXJQYXVzZWQoKTsKICAgICB9
LApAQCAtNjE1LDYgKzYzOSw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZSA9IHsKICAgICBfZGVidWdnZXJSZXNldDogZnVuY3Rpb24oKQogICAgIHsK
ICAgICAgICAgdGhpcy5fcmVzZXQoKTsKKyAgICAgICAgdGhpcy5fYW5jaG9ycyA9IFtdOwogICAg
ICAgICB0aGlzLl9wcmVzZW50YXRpb25DYWxsRnJhbWVzID0gW107CiAgICAgICAgIHRoaXMuX3Nl
bGVjdGVkQ2FsbEZyYW1lSW5kZXggPSAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMzhmMzIxMS4uMTU2Mjkw
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3Jr
UGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3Jr
UGFuZWwuanMKQEAgLTgzMiwxMCArODMyLDEwIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwu
cHJvdG90eXBlID0gewogCiAgICAgc2hvd0FuY2hvckxvY2F0aW9uOiBmdW5jdGlvbihhbmNob3Ip
CiAgICAgewotICAgICAgICB0aGlzLl9zaG93UmVzb3VyY2UodGhpcy5fcmVzb3VyY2VzQnlVUkxb
YW5jaG9yLmhyZWZdLCBhbmNob3IuZ2V0QXR0cmlidXRlKCJsaW5lX251bWJlciIpIC0gMSk7Cisg
ICAgICAgIHRoaXMuX3Nob3dSZXNvdXJjZSh0aGlzLl9yZXNvdXJjZXNCeVVSTFthbmNob3IuaHJl
Zl0pOwogICAgIH0sCiAKLSAgICBfc2hvd1Jlc291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSwgbGlu
ZSkKKyAgICBfc2hvd1Jlc291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSkKICAgICB7CiAgICAgICAg
IGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcwppbmRleCBjNTNiMDc1Li45YzRkOGM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTM4OCw2ICszODgs
MTUgQEAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZpc2li
bGVWaWV3LnJlc2l6ZSgpOwogICAgIH0sCiAKKyAgICBjcmVhdGVBbmNob3I6IGZ1bmN0aW9uKHVy
bCwgbGluZU51bWJlciwgY2xhc3NlcywgdG9vbHRpcFRleHQpCisgICAgeworICAgICAgICB2YXIg
bGlua1RleHQgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwodXJsKTsKKyAgICAgICAg
bGlua1RleHQgKz0gIjoiICsgKGxpbmVOdW1iZXIgKyAxKTsKKyAgICAgICAgdmFyIGFuY2hvciA9
IFdlYkluc3BlY3Rvci5saW5raWZ5VVJMQXNOb2RlKHVybCwgbGlua1RleHQsIGNsYXNzZXMsIGZh
bHNlLCB0b29sdGlwVGV4dCk7CisgICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoImxpbmVfbnVt
YmVyIiwgbGluZU51bWJlcik7CisgICAgICAgIHJldHVybiBhbmNob3I7CisgICAgfSwKKwogICAg
IGNhblNob3dBbmNob3JMb2NhdGlvbjogZnVuY3Rpb24oYW5jaG9yKQogICAgIHsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXggNTk1OWEzZC4uOGFkYzlkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCkBA
IC0zNTAsOCArMzUwLDggQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAg
ICB2YXIgbGluZU51bWJlciA9IHBhcnNlSW50KGFuY2hvci5nZXRBdHRyaWJ1dGUoImxpbmVfbnVt
YmVyIikpOwotICAgICAgICB0aGlzLnNob3dSZXNvdXJjZShyZXNvdXJjZSwgbGluZU51bWJlciAh
PT0gTmFOID8gbGluZU51bWJlciAtIDEgOiB1bmRlZmluZWQpOworICAgICAgICB2YXIgbGluZU51
bWJlciA9IGFuY2hvci5oYXNBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIikgPyBwYXJzZUludChhbmNo
b3IuZ2V0QXR0cmlidXRlKCJsaW5lX251bWJlciIpKSA6IHVuZGVmaW5lZDsKKyAgICAgICAgdGhp
cy5zaG93UmVzb3VyY2UocmVzb3VyY2UsIGxpbmVOdW1iZXIpOwogICAgIH0sCiAKICAgICBzaG93
UmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlLCBsaW5lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRleCA1OWI5NzcwLi5kZjAy
NmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbC5qcwpAQCAtMTE4LDkgKzExOCw5IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwg
PSBmdW5jdGlvbigpCiAKICAgICB0aGlzLnNpZGViYXJQYW5lcy5zY29wZWNoYWluLmV4cGFuZGVk
ID0gdHJ1ZTsKICAgICB0aGlzLnNpZGViYXJQYW5lcy5qc0JyZWFrcG9pbnRzLmV4cGFuZGVkID0g
dHJ1ZTsKLSAgICAKKwogICAgIHZhciBoZWxwU2VjdGlvbiA9IFdlYkluc3BlY3Rvci5zaG9ydGN1
dHNIZWxwLnNlY3Rpb24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTY3JpcHRzIFBhbmVsIikpOwot
ICAgIHRoaXMuc2lkZWJhclBhbmVzLmNhbGxzdGFjay5yZWdpc3RlclNob3J0Y3V0cyhoZWxwU2Vj
dGlvbiwgdGhpcy5yZWdpc3RlclNob3J0Y3V0LmJpbmQodGhpcykpOyAgIAorICAgIHRoaXMuc2lk
ZWJhclBhbmVzLmNhbGxzdGFjay5yZWdpc3RlclNob3J0Y3V0cyhoZWxwU2VjdGlvbiwgdGhpcy5y
ZWdpc3RlclNob3J0Y3V0LmJpbmQodGhpcykpOwogCiAgICAgdmFyIHBhbmVsRW5hYmxlckhlYWRp
bmcgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIllvdSBuZWVkIHRvIGVuYWJsZSBkZWJ1Z2dpbmcg
YmVmb3JlIHlvdSBjYW4gdXNlIHRoZSBTY3JpcHRzIHBhbmVsLiIpOwogICAgIHZhciBwYW5lbEVu
YWJsZXJEaXNjbGFpbWVyID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbmFibGluZyBkZWJ1Z2dp
bmcgd2lsbCBtYWtlIHNjcmlwdHMgcnVuIHNsb3dlci4iKTsKQEAgLTUwNCw2ICs1MDQsMTMgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB4LnNo
b3codGhpcy52aWV3c0NvbnRhaW5lckVsZW1lbnQpOwogICAgIH0sCiAKKyAgICBjcmVhdGVBbmNo
b3I6IGZ1bmN0aW9uKHVybCwgbGluZU51bWJlciwgY2xhc3NlcywgdG9vbHRpcFRleHQpCisgICAg
eworICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5jcmVh
dGVBbmNob3IuY2FsbCh0aGlzLCB1cmwsIGxpbmVOdW1iZXIsIGNsYXNzZXMsIHRvb2x0aXBUZXh0
KTsKKyAgICAgICAgdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwucmVnaXN0ZXJBbmNob3IodXJsLCBu
dWxsLCBsaW5lTnVtYmVyLCAwLCBhbmNob3IpOworICAgICAgICByZXR1cm4gYW5jaG9yOworICAg
IH0sCisKICAgICBjYW5TaG93QW5jaG9yTG9jYXRpb246IGZ1bmN0aW9uKGFuY2hvcikKICAgICB7
CiAgICAgICAgIHJldHVybiB0aGlzLl9kZWJ1Z2dlckVuYWJsZWQgJiYgdGhpcy5fcHJlc2VudGF0
aW9uTW9kZWwuc291cmNlRmlsZUZvclNjcmlwdFVSTChhbmNob3IuaHJlZik7CkBAIC01MTEsMTgg
KzUxOCwxNiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAg
IHNob3dBbmNob3JMb2NhdGlvbjogZnVuY3Rpb24oYW5jaG9yKQogICAgIHsKLSAgICAgICAgdmFy
IGFuY2hvckxpbmVOdW1iZXIgPSBwYXJzZUludChhbmNob3IuZ2V0QXR0cmlidXRlKCJsaW5lX251
bWJlciIpKTsKLSAgICAgICAgdmFyIGhhc0FuY2hvckxpbmVOdW1iZXIgPSBhbmNob3JMaW5lTnVt
YmVyICE9PSBOYU47Ci0gICAgICAgIHZhciBsaW5lTnVtYmVyID0gaGFzQW5jaG9yTGluZU51bWJl
ciA/IGFuY2hvckxpbmVOdW1iZXIgLSAxIDogMDsKKyAgICAgICAgdmFyIGFuY2hvckxpbmVOdW1i
ZXIgPSBhbmNob3IuaGFzQXR0cmlidXRlKCJsaW5lX251bWJlciIpID8gcGFyc2VJbnQoYW5jaG9y
LmdldEF0dHJpYnV0ZSgibGluZV9udW1iZXIiKSkgOiAwOwogCiAgICAgICAgIGZ1bmN0aW9uIGRp
ZEdldFVJTG9jYXRpb24oc291cmNlRmlsZUlkLCBsaW5lTnVtYmVyKQogICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAoaGFzQW5jaG9yTGluZU51bWJlcikKKyAgICAgICAgICAgIGlmIChhbmNob3Iu
aGFzQXR0cmlidXRlKCJsaW5lX251bWJlciIpKQogICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dT
b3VyY2VMaW5lKHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcik7CiAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgdGhpcy5fc2hvd1NvdXJjZUZyYW1lQW5kQWRkVG9IaXN0b3J5KHNvdXJj
ZUZpbGVJZCk7CiAgICAgICAgIH0KLSAgICAgICAgdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwuc2Ny
aXB0TG9jYXRpb25Ub1VJTG9jYXRpb24oYW5jaG9yLmhyZWYsIG51bGwsIGxpbmVOdW1iZXIsIDAs
IGRpZEdldFVJTG9jYXRpb24uYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX3ByZXNlbnRhdGlv
bk1vZGVsLnNjcmlwdExvY2F0aW9uVG9VSUxvY2F0aW9uKGFuY2hvci5ocmVmLCBudWxsLCBhbmNo
b3JMaW5lTnVtYmVyLCAwLCBkaWRHZXRVSUxvY2F0aW9uLmJpbmQodGhpcykpOwogICAgIH0sCiAK
ICAgICBfc2hvd1NvdXJjZUxpbmU6IGZ1bmN0aW9uKHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5k
ZXggY2ExY2M4Yi4uNDQzZmQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTExNzEsNyArMTE3MSw3IEBAIFdlYkluc3BlY3Rvci5k
aXNwbGF5TmFtZUZvclVSTCA9IGZ1bmN0aW9uKHVybCkKIAogV2ViSW5zcGVjdG9yLl9zaG93QW5j
aG9yTG9jYXRpb24gPSBmdW5jdGlvbihhbmNob3IpCiB7Ci0gICAgdmFyIHByZWZlcmVkUGFuZWwg
PSB0aGlzLnBhbmVsc1thbmNob3IuZ2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFuZWwiKSB8fCAi
c2NyaXB0cyJdOworICAgIHZhciBwcmVmZXJlZFBhbmVsID0gdGhpcy5wYW5lbHNbYW5jaG9yLmdl
dEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIildOwogICAgIGlmIChXZWJJbnNwZWN0b3IuX3No
b3dBbmNob3JMb2NhdGlvbkluUGFuZWwoYW5jaG9yLCBwcmVmZXJlZFBhbmVsKSkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgaWYgKHByZWZlcmVkUGFuZWwgIT09IHRoaXMucGFuZWxzLnJlc291
cmNlcyAmJiBXZWJJbnNwZWN0b3IuX3Nob3dBbmNob3JMb2NhdGlvbkluUGFuZWwoYW5jaG9yLCB0
aGlzLnBhbmVscy5yZXNvdXJjZXMpKQpAQCAtMTI3NiwxMSArMTI3Niw4IEBAIFdlYkluc3BlY3Rv
ci5saW5raWZ5VVJMID0gZnVuY3Rpb24odXJsLCBsaW5rVGV4dCwgY2xhc3NlcywgaXNFeHRlcm5h
bCwgdG9vbHRpcFRlCiAKIFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05vZGUgPSBmdW5j
dGlvbih1cmwsIHByZWZlcnJlZFBhbmVsLCBsaW5lTnVtYmVyLCBjbGFzc2VzLCB0b29sdGlwVGV4
dCkKIHsKLSAgICB2YXIgbGlua1RleHQgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwo
dXJsKTsKLSAgICBpZiAobGluZU51bWJlcikKLSAgICAgICAgbGlua1RleHQgKz0gIjoiICsgbGlu
ZU51bWJlcjsKLSAgICB2YXIgbm9kZSA9IFdlYkluc3BlY3Rvci5saW5raWZ5VVJMQXNOb2RlKHVy
bCwgbGlua1RleHQsIGNsYXNzZXMsIGZhbHNlLCB0b29sdGlwVGV4dCk7Ci0gICAgbm9kZS5zZXRB
dHRyaWJ1dGUoImxpbmVfbnVtYmVyIiwgbGluZU51bWJlcik7CisgICAgcHJlZmVycmVkUGFuZWwg
PSBwcmVmZXJyZWRQYW5lbCB8fCAic2NyaXB0cyI7CisgICAgdmFyIG5vZGUgPSB0aGlzLnBhbmVs
c1twcmVmZXJyZWRQYW5lbF0uY3JlYXRlQW5jaG9yKHVybCwgbGluZU51bWJlciAtIDEsIGNsYXNz
ZXMsIHRvb2x0aXBUZXh0KTsKICAgICBub2RlLnNldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVs
IiwgcHJlZmVycmVkUGFuZWwpOwogICAgIHJldHVybiBub2RlOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96564</attachid>
            <date>2011-06-09 02:04:30 -0700</date>
            <delta_ts>2011-06-15 03:32:47 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>11242</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3MjUyMjE4Li45ZDJiOGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTEtMDYtMDggIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3Rvcjogc2NyaXB0IGxpbmtzIGFyZSBkaXNwbGF5ZWQgd2l0aCBvcmlnaW5hbCBsaW5lIG51
bWJlciBpbiBwcmV0dHktcHJpbnQgbW9kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYyMjgyCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQ
cmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUucmVnaXN0ZXJBbmNob3IpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl91cGRhdGVBbmNo
b3IuZGlkR2V0VUlMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVz
ZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuX3VwZGF0ZUFuY2hvcik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUuc2V0Rm9ybWF0U291cmNl
RmlsZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwu
cHJvdG90eXBlLl9kZWJ1Z2dlclJlc2V0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJv
dG90eXBlLnNob3dBbmNob3JMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a1BhbmVsLnByb3RvdHlwZS5fc2hvd1Jlc291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5j
cmVhdGVBbmNob3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFu
ZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLnNo
b3dBbmNob3JMb2NhdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRz
UGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLmNyZWF0ZUFuY2hvcik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5zaG93QW5jaG9yTG9jYXRp
b24uZGlkR2V0VUlMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVs
LnByb3RvdHlwZS5zaG93QW5jaG9yTG9jYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl9zaG93QW5jaG9yTG9j
YXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZSk6CisK
IDIwMTEtMDYtMDggIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEhhamltZSBNb3JpdGEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMK
aW5kZXggZjYwOWU1MS4uMWUyMjg2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcwpA
QCAtMzIsNiArMzIsNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbCA9
IGZ1bmN0aW9uKCkKIHsKICAgICB0aGlzLl9zb3VyY2VGaWxlcyA9IHt9OwogICAgIHRoaXMuX21l
c3NhZ2VzID0gW107CisgICAgdGhpcy5fYW5jaG9ycyA9IFtdOwogICAgIHRoaXMuX2JyZWFrcG9p
bnRzQnlEZWJ1Z2dlcklkID0ge307CiAgICAgdGhpcy5fYnJlYWtwb2ludHNXaXRob3V0U291cmNl
RmlsZSA9IHt9OwogCkBAIC0xMDEsNiArMTAyLDI2IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fc291cmNlRmlsZXNb
c291cmNlRmlsZUlkXS5yZXF1ZXN0Q29udGVudChjYWxsYmFjayk7CiAgICAgfSwKIAorICAgIHJl
Z2lzdGVyQW5jaG9yOiBmdW5jdGlvbihzb3VyY2VVUkwsIHNvdXJjZUlkLCBsaW5lTnVtYmVyLCBj
b2x1bW5OdW1iZXIsIHVwZGF0ZUhhbmRsZXIpCisgICAgeworICAgICAgICB2YXIgYW5jaG9yID0g
eyBzb3VyY2VVUkw6IHNvdXJjZVVSTCwgc291cmNlSWQ6IHNvdXJjZUlkLCBsaW5lTnVtYmVyOiBs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXI6IGNvbHVtbk51bWJlciwgdXBkYXRlSGFuZGxlcjogdXBk
YXRlSGFuZGxlciB9OworICAgICAgICB0aGlzLl9hbmNob3JzLnB1c2goYW5jaG9yKTsKKyAgICAg
ICAgdGhpcy5fdXBkYXRlQW5jaG9yKGFuY2hvcik7CisgICAgfSwKKworICAgIF91cGRhdGVBbmNo
b3I6IGZ1bmN0aW9uKGFuY2hvcikKKyAgICB7CisgICAgICAgIHZhciBzb3VyY2VGaWxlID0gdGhp
cy5fc291cmNlRmlsZUZvclNjcmlwdChhbmNob3Iuc291cmNlVVJMLCBhbmNob3Iuc291cmNlSWQp
OworICAgICAgICBpZiAoIXNvdXJjZUZpbGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgZnVuY3Rpb24gZGlkR2V0VUlMb2NhdGlvbihzb3VyY2VGaWxlSWQsIGxpbmVOdW1iZXIpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGFuY2hvci51cGRhdGVIYW5kbGVyKHNvdXJjZUZpbGUudXJs
LCBsaW5lTnVtYmVyKTsKKyAgICAgICAgfQorICAgICAgICB0aGlzLnNjcmlwdExvY2F0aW9uVG9V
SUxvY2F0aW9uKGFuY2hvci5zb3VyY2VVUkwsIGFuY2hvci5zb3VyY2VJZCwgYW5jaG9yLmxpbmVO
dW1iZXIsIGFuY2hvci5jb2x1bW5OdW1iZXIsIGRpZEdldFVJTG9jYXRpb24pOworICAgIH0sCisK
ICAgICBfcGFyc2VkU2NyaXB0U291cmNlOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAg
IHRoaXMuX2FkZFNjcmlwdChldmVudC5kYXRhKTsKQEAgLTI0Niw2ICsyNjcsOSBAQCBXZWJJbnNw
ZWN0b3IuRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgbWVzc2FnZXMubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICB0aGlz
Ll9hZGRDb25zb2xlTWVzc2FnZShtZXNzYWdlc1tpXSk7CiAKKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0aGlzLl9hbmNob3JzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgdGhpcy5fdXBk
YXRlQW5jaG9yKHRoaXMuX2FuY2hvcnNbaV0pOworCiAgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
ZGVidWdnZXJNb2RlbC5jYWxsRnJhbWVzKQogICAgICAgICAgICAgdGhpcy5fZGVidWdnZXJQYXVz
ZWQoKTsKICAgICB9LApAQCAtNjE1LDYgKzYzOSw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclBy
ZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICBfZGVidWdnZXJSZXNldDogZnVuY3Rp
b24oKQogICAgIHsKICAgICAgICAgdGhpcy5fcmVzZXQoKTsKKyAgICAgICAgdGhpcy5fYW5jaG9y
cyA9IFtdOwogICAgICAgICB0aGlzLl9wcmVzZW50YXRpb25DYWxsRnJhbWVzID0gW107CiAgICAg
ICAgIHRoaXMuX3NlbGVjdGVkQ2FsbEZyYW1lSW5kZXggPSAwOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMzhm
MzIxMS4uMTU2MjkwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9OZXR3b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9OZXR3b3JrUGFuZWwuanMKQEAgLTgzMiwxMCArODMyLDEwIEBAIFdlYkluc3BlY3Rvci5O
ZXR3b3JrUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgc2hvd0FuY2hvckxvY2F0aW9uOiBmdW5j
dGlvbihhbmNob3IpCiAgICAgewotICAgICAgICB0aGlzLl9zaG93UmVzb3VyY2UodGhpcy5fcmVz
b3VyY2VzQnlVUkxbYW5jaG9yLmhyZWZdLCBhbmNob3IuZ2V0QXR0cmlidXRlKCJsaW5lX251bWJl
ciIpIC0gMSk7CisgICAgICAgIHRoaXMuX3Nob3dSZXNvdXJjZSh0aGlzLl9yZXNvdXJjZXNCeVVS
TFthbmNob3IuaHJlZl0pOwogICAgIH0sCiAKLSAgICBfc2hvd1Jlc291cmNlOiBmdW5jdGlvbihy
ZXNvdXJjZSwgbGluZSkKKyAgICBfc2hvd1Jlc291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSkKICAg
ICB7CiAgICAgICAgIGlmICghcmVzb3VyY2UpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcwppbmRleCBjNTNiMDc1Li5kZmEx
YmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAg
LTM4OCw2ICszODgsMjMgQEAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgIHZpc2libGVWaWV3LnJlc2l6ZSgpOwogICAgIH0sCiAKKyAgICBjcmVhdGVBbmNob3I6
IGZ1bmN0aW9uKHVybCwgbGluZU51bWJlciwgY2xhc3NlcywgdG9vbHRpcFRleHQpCisgICAgewor
ICAgICAgICB2YXIgbGlua1RleHQgPSB0aGlzLmZvcm1hdEFuY2hvclRleHQodXJsLCBsaW5lTnVt
YmVyKTsKKyAgICAgICAgdmFyIGFuY2hvciA9IFdlYkluc3BlY3Rvci5saW5raWZ5VVJMQXNOb2Rl
KHVybCwgbGlua1RleHQsIGNsYXNzZXMsIGZhbHNlLCB0b29sdGlwVGV4dCk7CisgICAgICAgIGlm
IChsaW5lTnVtYmVyICE9PSB1bmRlZmluZWQpCisgICAgICAgICAgICBhbmNob3Iuc2V0QXR0cmli
dXRlKCJsaW5lX251bWJlciIsIGxpbmVOdW1iZXIpOworICAgICAgICByZXR1cm4gYW5jaG9yOwor
ICAgIH0sCisKKyAgICBmb3JtYXRBbmNob3JUZXh0OiBmdW5jdGlvbih1cmwsIGxpbmVOdW1iZXIp
CisgICAgeworICAgICAgICB2YXIgdGV4dCA9IFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVS
TCh1cmwpOworICAgICAgICBpZiAobGluZU51bWJlciAhPT0gdW5kZWZpbmVkKQorICAgICAgICAg
ICAgdGV4dCArPSAiOiIgKyAobGluZU51bWJlciArIDEpOworICAgICAgICByZXR1cm4gdGV4dDsK
KyAgICB9LAorCiAgICAgY2FuU2hvd0FuY2hvckxvY2F0aW9uOiBmdW5jdGlvbihhbmNob3IpCiAg
ICAgewogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCA1OTU5YTNkLi44YWRjOWQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3Vy
Y2VzUGFuZWwuanMKQEAgLTM1MCw4ICszNTAsOCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFu
ZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9Ci0gICAgICAgIHZhciBsaW5lTnVtYmVyID0gcGFyc2VJbnQoYW5jaG9yLmdldEF0dHJp
YnV0ZSgibGluZV9udW1iZXIiKSk7Ci0gICAgICAgIHRoaXMuc2hvd1Jlc291cmNlKHJlc291cmNl
LCBsaW5lTnVtYmVyICE9PSBOYU4gPyBsaW5lTnVtYmVyIC0gMSA6IHVuZGVmaW5lZCk7CisgICAg
ICAgIHZhciBsaW5lTnVtYmVyID0gYW5jaG9yLmhhc0F0dHJpYnV0ZSgibGluZV9udW1iZXIiKSA/
IHBhcnNlSW50KGFuY2hvci5nZXRBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIikpIDogdW5kZWZpbmVk
OworICAgICAgICB0aGlzLnNob3dSZXNvdXJjZShyZXNvdXJjZSwgbGluZU51bWJlcik7CiAgICAg
fSwKIAogICAgIHNob3dSZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UsIGxpbmUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4
IDU5Yjk3NzAuLjhiNThiNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCkBAIC0xMTgsOSArMTE4LDkgQEAgV2ViSW5zcGVjdG9y
LlNjcmlwdHNQYW5lbCA9IGZ1bmN0aW9uKCkKIAogICAgIHRoaXMuc2lkZWJhclBhbmVzLnNjb3Bl
Y2hhaW4uZXhwYW5kZWQgPSB0cnVlOwogICAgIHRoaXMuc2lkZWJhclBhbmVzLmpzQnJlYWtwb2lu
dHMuZXhwYW5kZWQgPSB0cnVlOwotICAgIAorCiAgICAgdmFyIGhlbHBTZWN0aW9uID0gV2ViSW5z
cGVjdG9yLnNob3J0Y3V0c0hlbHAuc2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNjcmlw
dHMgUGFuZWwiKSk7Ci0gICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnJlZ2lzdGVyU2hv
cnRjdXRzKGhlbHBTZWN0aW9uLCB0aGlzLnJlZ2lzdGVyU2hvcnRjdXQuYmluZCh0aGlzKSk7ICAg
CisgICAgdGhpcy5zaWRlYmFyUGFuZXMuY2FsbHN0YWNrLnJlZ2lzdGVyU2hvcnRjdXRzKGhlbHBT
ZWN0aW9uLCB0aGlzLnJlZ2lzdGVyU2hvcnRjdXQuYmluZCh0aGlzKSk7CiAKICAgICB2YXIgcGFu
ZWxFbmFibGVySGVhZGluZyA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiWW91IG5lZWQgdG8gZW5h
YmxlIGRlYnVnZ2luZyBiZWZvcmUgeW91IGNhbiB1c2UgdGhlIFNjcmlwdHMgcGFuZWwuIik7CiAg
ICAgdmFyIHBhbmVsRW5hYmxlckRpc2NsYWltZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVu
YWJsaW5nIGRlYnVnZ2luZyB3aWxsIG1ha2Ugc2NyaXB0cyBydW4gc2xvd2VyLiIpOwpAQCAtNTA0
LDYgKzUwNCwxOSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIHguc2hvdyh0aGlzLnZpZXdzQ29udGFpbmVyRWxlbWVudCk7CiAgICAgfSwKIAor
ICAgIGNyZWF0ZUFuY2hvcjogZnVuY3Rpb24odXJsLCBsaW5lTnVtYmVyLCBjbGFzc2VzLCB0b29s
dGlwVGV4dCkKKyAgICB7CisgICAgICAgIHZhciBhbmNob3IgPSBXZWJJbnNwZWN0b3IuUGFuZWwu
cHJvdG90eXBlLmNyZWF0ZUFuY2hvci5jYWxsKHRoaXMsIHVybCwgbGluZU51bWJlciwgY2xhc3Nl
cywgdG9vbHRpcFRleHQpOworICAgICAgICBpZiAobGluZU51bWJlciAhPT0gdW5kZWZpbmVkKSB7
CisgICAgICAgICAgICBmdW5jdGlvbiB1cGRhdGVBbmNob3IodXJsLCBsaW5lTnVtYmVyKQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGFuY2hvci50ZXh0Q29udGVudCA9IHRoaXMuZm9y
bWF0QW5jaG9yVGV4dCh1cmwsIGxpbmVOdW1iZXIpCisgICAgICAgICAgICB9CisgICAgICAgICAg
ICB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5yZWdpc3RlckFuY2hvcih1cmwsIG51bGwsIGxpbmVO
dW1iZXIsIDAsIHVwZGF0ZUFuY2hvci5iaW5kKHRoaXMpKTsKKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gYW5jaG9yOworICAgIH0sCisKICAgICBjYW5TaG93QW5jaG9yTG9jYXRpb246IGZ1bmN0
aW9uKGFuY2hvcikKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9kZWJ1Z2dlckVuYWJsZWQg
JiYgdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwuc291cmNlRmlsZUZvclNjcmlwdFVSTChhbmNob3Iu
aHJlZik7CkBAIC01MTEsMTggKzUyNCwxNiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnBy
b3RvdHlwZSA9IHsKIAogICAgIHNob3dBbmNob3JMb2NhdGlvbjogZnVuY3Rpb24oYW5jaG9yKQog
ICAgIHsKLSAgICAgICAgdmFyIGFuY2hvckxpbmVOdW1iZXIgPSBwYXJzZUludChhbmNob3IuZ2V0
QXR0cmlidXRlKCJsaW5lX251bWJlciIpKTsKLSAgICAgICAgdmFyIGhhc0FuY2hvckxpbmVOdW1i
ZXIgPSBhbmNob3JMaW5lTnVtYmVyICE9PSBOYU47Ci0gICAgICAgIHZhciBsaW5lTnVtYmVyID0g
aGFzQW5jaG9yTGluZU51bWJlciA/IGFuY2hvckxpbmVOdW1iZXIgLSAxIDogMDsKKyAgICAgICAg
dmFyIGFuY2hvckxpbmVOdW1iZXIgPSBhbmNob3IuaGFzQXR0cmlidXRlKCJsaW5lX251bWJlciIp
ID8gcGFyc2VJbnQoYW5jaG9yLmdldEF0dHJpYnV0ZSgibGluZV9udW1iZXIiKSkgOiAwOwogCiAg
ICAgICAgIGZ1bmN0aW9uIGRpZEdldFVJTG9jYXRpb24oc291cmNlRmlsZUlkLCBsaW5lTnVtYmVy
KQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoaGFzQW5jaG9yTGluZU51bWJlcikKKyAgICAg
ICAgICAgIGlmIChhbmNob3IuaGFzQXR0cmlidXRlKCJsaW5lX251bWJlciIpKQogICAgICAgICAg
ICAgICAgIHRoaXMuX3Nob3dTb3VyY2VMaW5lKHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcik7CiAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd1NvdXJjZUZyYW1lQW5k
QWRkVG9IaXN0b3J5KHNvdXJjZUZpbGVJZCk7CiAgICAgICAgIH0KLSAgICAgICAgdGhpcy5fcHJl
c2VudGF0aW9uTW9kZWwuc2NyaXB0TG9jYXRpb25Ub1VJTG9jYXRpb24oYW5jaG9yLmhyZWYsIG51
bGwsIGxpbmVOdW1iZXIsIDAsIGRpZEdldFVJTG9jYXRpb24uYmluZCh0aGlzKSk7CisgICAgICAg
IHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNjcmlwdExvY2F0aW9uVG9VSUxvY2F0aW9uKGFuY2hv
ci5ocmVmLCBudWxsLCBhbmNob3JMaW5lTnVtYmVyLCAwLCBkaWRHZXRVSUxvY2F0aW9uLmJpbmQo
dGhpcykpOwogICAgIH0sCiAKICAgICBfc2hvd1NvdXJjZUxpbmU6IGZ1bmN0aW9uKHNvdXJjZUZp
bGVJZCwgbGluZU51bWJlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuanMKaW5kZXggY2ExY2M4Yi4uNWI3NmIxNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTExNzEsNyArMTE3MSw3
IEBAIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTCA9IGZ1bmN0aW9uKHVybCkKIAogV2Vi
SW5zcGVjdG9yLl9zaG93QW5jaG9yTG9jYXRpb24gPSBmdW5jdGlvbihhbmNob3IpCiB7Ci0gICAg
dmFyIHByZWZlcmVkUGFuZWwgPSB0aGlzLnBhbmVsc1thbmNob3IuZ2V0QXR0cmlidXRlKCJwcmVm
ZXJyZWRfcGFuZWwiKSB8fCAic2NyaXB0cyJdOworICAgIHZhciBwcmVmZXJlZFBhbmVsID0gdGhp
cy5wYW5lbHNbYW5jaG9yLmdldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIildOwogICAgIGlm
IChXZWJJbnNwZWN0b3IuX3Nob3dBbmNob3JMb2NhdGlvbkluUGFuZWwoYW5jaG9yLCBwcmVmZXJl
ZFBhbmVsKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgaWYgKHByZWZlcmVkUGFuZWwgIT09
IHRoaXMucGFuZWxzLnJlc291cmNlcyAmJiBXZWJJbnNwZWN0b3IuX3Nob3dBbmNob3JMb2NhdGlv
bkluUGFuZWwoYW5jaG9yLCB0aGlzLnBhbmVscy5yZXNvdXJjZXMpKQpAQCAtMTI3NCwxMyArMTI3
NCwxMiBAQCBXZWJJbnNwZWN0b3IubGlua2lmeVVSTCA9IGZ1bmN0aW9uKHVybCwgbGlua1RleHQs
IGNsYXNzZXMsIGlzRXh0ZXJuYWwsIHRvb2x0aXBUZQogICAgIHJldHVybiBXZWJJbnNwZWN0b3Iu
bGlua2lmeVVSTEFzTm9kZSh1cmwsIGxpbmtUZXh0LCBjbGFzc2VzLCBpc0V4dGVybmFsLCB0b29s
dGlwVGV4dCkub3V0ZXJIVE1MOwogfQogCi1XZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNO
b2RlID0gZnVuY3Rpb24odXJsLCBwcmVmZXJyZWRQYW5lbCwgbGluZU51bWJlciwgY2xhc3Nlcywg
dG9vbHRpcFRleHQpCitXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlID0gZnVuY3Rp
b24odXJsLCBwcmVmZXJyZWRQYW5lbCwgb25lQmFzZWRMaW5lTnVtYmVyLCBjbGFzc2VzLCB0b29s
dGlwVGV4dCkKIHsKLSAgICB2YXIgbGlua1RleHQgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVG
b3JVUkwodXJsKTsKLSAgICBpZiAobGluZU51bWJlcikKLSAgICAgICAgbGlua1RleHQgKz0gIjoi
ICsgbGluZU51bWJlcjsKLSAgICB2YXIgbm9kZSA9IFdlYkluc3BlY3Rvci5saW5raWZ5VVJMQXNO
b2RlKHVybCwgbGlua1RleHQsIGNsYXNzZXMsIGZhbHNlLCB0b29sdGlwVGV4dCk7Ci0gICAgbm9k
ZS5zZXRBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIiwgbGluZU51bWJlcik7CisgICAgcHJlZmVycmVk
UGFuZWwgPSBwcmVmZXJyZWRQYW5lbCB8fCAic2NyaXB0cyI7CisgICAgLy8gRklYTUU6IHN0YWNr
IHRyYWNlIGxpbmUvY29sdW1uIG51bWJlcnMgYXJlIG9uZS1iYXNlZC4KKyAgICB2YXIgbGluZU51
bWJlciA9IG9uZUJhc2VkTGluZU51bWJlciA/IG9uZUJhc2VkTGluZU51bWJlciAtIDEgOiB1bmRl
ZmluZWQ7CisgICAgdmFyIG5vZGUgPSB0aGlzLnBhbmVsc1twcmVmZXJyZWRQYW5lbF0uY3JlYXRl
QW5jaG9yKHVybCwgbGluZU51bWJlciwgY2xhc3NlcywgdG9vbHRpcFRleHQpOwogICAgIG5vZGUu
c2V0QXR0cmlidXRlKCJwcmVmZXJyZWRfcGFuZWwiLCBwcmVmZXJyZWRQYW5lbCk7CiAgICAgcmV0
dXJuIG5vZGU7CiB9Cg==
</data>
<flag name="review"
          id="90280"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97268</attachid>
            <date>2011-06-15 03:32:47 -0700</date>
            <delta_ts>2011-06-15 03:59:28 -0700</delta_ts>
            <desc>Added test.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>14159</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0Zjk0ZmQ2Li41NWU0OTk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYt
MTUgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjogc2Ny
aXB0IGxpbmtzIGFyZSBkaXNwbGF5ZWQgd2l0aCBvcmlnaW5hbCBsaW5lIG51bWJlciBpbiBwcmV0
dHktcHJpbnQgbW9kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYyMjgyCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1h
dHRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdC1m
b3JtYXR0ZXIuaHRtbDoKKwogMjAxMS0wNi0xMCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEbWl0cnkgVGl0b3YuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRl
ci1leHBlY3RlZC50eHQKaW5kZXggYzRjNDhlZS4uNzk5ZGM0MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNDogVGVzdCBt
ZXNzYWdlLgogVGVzdHMgdGhlIHNjcmlwdCBmb3JtYXR0aW5nIGZ1bmN0aW9uYWxpdHkuCiAKIERl
YnVnZ2VyIHdhcyBlbmFibGVkLgpAQCAtMzAsNSArMzEsOSBAQCBDYWxsIHN0YWNrOgogICAgIDAp
IGYyIChzY3JpcHQtZm9ybWF0dGVyLmh0bWw6MTcpCiAgICAgMSkgIChzY3JpcHQtZm9ybWF0dGVy
Lmh0bWw6MSkKIFNjcmlwdCBleGVjdXRpb24gcmVzdW1lZC4KKworUnVubmluZzogdGVzdENvbnNv
bGVNZXNzYWdlc0ZvckZvcm1hdHRlZFNjcmlwdHMKK3NjcmlwdC1mb3JtYXR0ZXIuaHRtbDoyNAor
c2NyaXB0LWZvcm1hdHRlci5odG1sOjMyCiBEZWJ1Z2dlciB3YXMgZGlzYWJsZWQuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0LWZvcm1hdHRlci5odG1s
CmluZGV4IGM3NTg0M2EuLjY3ODk5ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9kZWJ1Z2dlci9zY3JpcHQtZm9ybWF0dGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RlYnVnZ2VyL3NjcmlwdC1mb3JtYXR0ZXIuaHRtbApAQCAtMTksNiArMTksMTEgQEAgZnVu
Y3Rpb24gZjIoKQogICAgIHJldHVybiAwOwogfQogCitmdW5jdGlvbiBmMygpCit7CisgICAgY29u
c29sZS5sb2coIlRlc3QgbWVzc2FnZS4iKTsKK30KKwogdmFyIHRlc3QgPSBmdW5jdGlvbigpCiB7
CiAgICAgdmFyIHBhbmVsID0gV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzOwpAQCAtMTUxLDcg
KzE1Niw2IEBAIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgIC8vIFRoZXJlIHNob3VsZCBiZSBubyBicmVha3BvaW50IGluIGYxIHNpbmNlIHNjcmlw
dCBpcyBwcmV0dHktcHJpbnRlZCBub3cuCiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZVdpdGhUaW1lb3V0KCJmMSgpIik7Ci0KICAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LnNldEJyZWFrcG9pbnQocGFuZWwudmlzaWJsZVZpZXcsIDI0LCAiIiwgdHJ1ZSk7
CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC53YWl0VW50aWxQYXVzZWQocGF1c2VkSW5G
Mik7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZVdpdGhUaW1l
b3V0KCJmMigpIik7CkBAIC0xNjAsNiArMTY0LDM0IEBAIHZhciB0ZXN0ID0gZnVuY3Rpb24oKQog
ICAgICAgICAgICAgZnVuY3Rpb24gcGF1c2VkSW5GMihjYWxsRnJhbWVzKQogICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2FwdHVyZVN0YWNrVHJhY2UoY2FsbEZy
YW1lcyk7CisgICAgICAgICAgICAgICAgcGFuZWwuX3RvZ2dsZUZvcm1hdFNvdXJjZUZpbGVzKCk7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5yZXN1bWVFeGVjdXRpb24obmV4dCk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdENvbnNvbGVN
ZXNzYWdlc0ZvckZvcm1hdHRlZFNjcmlwdHMobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAg
ZnVuY3Rpb24gZHVtcENvbnNvbGVNZXNzYWdlVVJMcygpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgdmFyIG1lc3NhZ2VzID0gV2ViSW5zcGVjdG9yLmNvbnNvbGUubWVzc2FnZXM7Cisg
ICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNzYWdlcy5sZW5ndGg7ICsraSkg
eworICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudCA9IG1lc3NhZ2VzW2ldLnRvTWVzc2Fn
ZUVsZW1lbnQoKTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGFuY2hvciA9IGVsZW1lbnQucXVl
cnkoIi8vKi8vYVtjb250YWlucyhAY2xhc3MsICdjb25zb2xlLW1lc3NhZ2UtdXJsJyldIik7Cisg
ICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KGFuY2hvci50ZXh0Q29u
dGVudCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgiZjMoKSIsIGRpZEV2YWx1YXRlKTsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gZGlkRXZhbHVhdGUoKQorICAgICAgICAgICAgeworICAgICAgICAgICAg
ICAgIGR1bXBDb25zb2xlTWVzc2FnZVVSTHMoKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFNuaWZmZXIocGFuZWwsICJmb3JtYXRBbmNob3JUZXh0IiwgSW5zcGVjdG9yVGVzdC5y
dW5BZnRlclBlbmRpbmdEaXNwYXRjaGVzLmJpbmQoSW5zcGVjdG9yVGVzdCwgZGlkRm9ybWF0QW5j
aG9yVGV4dCkpOworICAgICAgICAgICAgICAgIHBhbmVsLl90b2dnbGVGb3JtYXRTb3VyY2VGaWxl
cygpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBkaWRGb3JtYXRBbmNo
b3JUZXh0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBkdW1wQ29uc29sZU1lc3Nh
Z2VVUkxzKCk7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNjgwYzk5NC4uYzU3MjQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM0IEBACisyMDExLTA2LTE1ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IHNjcmlwdCBsaW5rcyBhcmUgZGlzcGxheWVkIHdpdGggb3JpZ2luYWwgbGlu
ZSBudW1iZXIgaW4gcHJldHR5LXByaW50IG1vZGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI4MgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVn
Z2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLnJlZ2lzdGVyQW5jaG9yKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLnByb3RvdHlwZS5fdXBkYXRl
QW5jaG9yLmRpZEdldFVJTG9jYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2Vy
UHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLl91cGRhdGVBbmNob3IpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90eXBlLnNldEZvcm1hdFNv
dXJjZUZpbGVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1v
ZGVsLnByb3RvdHlwZS5fZGVidWdnZXJSZXNldCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9OZXR3b3JrUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVs
LnByb3RvdHlwZS5zaG93QW5jaG9yTG9jYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtQYW5lbC5wcm90b3R5cGUuX3Nob3dSZXNvdXJjZSk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9QYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5
cGUuY3JlYXRlQW5jaG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUu
Zm9ybWF0QW5jaG9yVGV4dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJj
ZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5
cGUuc2hvd0FuY2hvckxvY2F0aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90
eXBlLmNyZWF0ZUFuY2hvci4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUuY3JlYXRlQW5jaG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFu
ZWwucHJvdG90eXBlLnNob3dBbmNob3JMb2NhdGlvbi5kaWRHZXRVSUxvY2F0aW9uKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLnNob3dBbmNob3JMb2NhdGlv
bik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuX3Nob3dBbmNob3JMb2NhdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IubGlua2lmeVJlc291cmNlQXNOb2RlKToKKwogMjAxMS0wNi0xNSAgTmlrb2xhcyBaaW1tZXJt
YW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBI
eWF0dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGVi
dWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRGVidWdnZXJQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCBmNjA5ZTUxLi4xZTIyODZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2Vy
UHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC0zMiw2ICszMiw3IEBAIFdlYklu
c3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRhdGlvbk1vZGVsID0gZnVuY3Rpb24oKQogewogICAgIHRo
aXMuX3NvdXJjZUZpbGVzID0ge307CiAgICAgdGhpcy5fbWVzc2FnZXMgPSBbXTsKKyAgICB0aGlz
Ll9hbmNob3JzID0gW107CiAgICAgdGhpcy5fYnJlYWtwb2ludHNCeURlYnVnZ2VySWQgPSB7fTsK
ICAgICB0aGlzLl9icmVha3BvaW50c1dpdGhvdXRTb3VyY2VGaWxlID0ge307CiAKQEAgLTEwMSw2
ICsxMDIsMjYgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90
eXBlID0gewogICAgICAgICB0aGlzLl9zb3VyY2VGaWxlc1tzb3VyY2VGaWxlSWRdLnJlcXVlc3RD
b250ZW50KGNhbGxiYWNrKTsKICAgICB9LAogCisgICAgcmVnaXN0ZXJBbmNob3I6IGZ1bmN0aW9u
KHNvdXJjZVVSTCwgc291cmNlSWQsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgdXBkYXRlSGFu
ZGxlcikKKyAgICB7CisgICAgICAgIHZhciBhbmNob3IgPSB7IHNvdXJjZVVSTDogc291cmNlVVJM
LCBzb3VyY2VJZDogc291cmNlSWQsIGxpbmVOdW1iZXI6IGxpbmVOdW1iZXIsIGNvbHVtbk51bWJl
cjogY29sdW1uTnVtYmVyLCB1cGRhdGVIYW5kbGVyOiB1cGRhdGVIYW5kbGVyIH07CisgICAgICAg
IHRoaXMuX2FuY2hvcnMucHVzaChhbmNob3IpOworICAgICAgICB0aGlzLl91cGRhdGVBbmNob3Io
YW5jaG9yKTsKKyAgICB9LAorCisgICAgX3VwZGF0ZUFuY2hvcjogZnVuY3Rpb24oYW5jaG9yKQor
ICAgIHsKKyAgICAgICAgdmFyIHNvdXJjZUZpbGUgPSB0aGlzLl9zb3VyY2VGaWxlRm9yU2NyaXB0
KGFuY2hvci5zb3VyY2VVUkwsIGFuY2hvci5zb3VyY2VJZCk7CisgICAgICAgIGlmICghc291cmNl
RmlsZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBmdW5jdGlvbiBkaWRHZXRVSUxv
Y2F0aW9uKHNvdXJjZUZpbGVJZCwgbGluZU51bWJlcikKKyAgICAgICAgeworICAgICAgICAgICAg
YW5jaG9yLnVwZGF0ZUhhbmRsZXIoc291cmNlRmlsZS51cmwsIGxpbmVOdW1iZXIpOworICAgICAg
ICB9CisgICAgICAgIHRoaXMuc2NyaXB0TG9jYXRpb25Ub1VJTG9jYXRpb24oYW5jaG9yLnNvdXJj
ZVVSTCwgYW5jaG9yLnNvdXJjZUlkLCBhbmNob3IubGluZU51bWJlciwgYW5jaG9yLmNvbHVtbk51
bWJlciwgZGlkR2V0VUlMb2NhdGlvbik7CisgICAgfSwKKwogICAgIF9wYXJzZWRTY3JpcHRTb3Vy
Y2U6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5fYWRkU2NyaXB0KGV2ZW50
LmRhdGEpOwpAQCAtMjQ2LDYgKzI2Nyw5IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dlclByZXNlbnRh
dGlvbk1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXNz
YWdlcy5sZW5ndGg7ICsraSkKICAgICAgICAgICAgIHRoaXMuX2FkZENvbnNvbGVNZXNzYWdlKG1l
c3NhZ2VzW2ldKTsKIAorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2FuY2hvcnMu
bGVuZ3RoOyArK2kpCisgICAgICAgICAgICB0aGlzLl91cGRhdGVBbmNob3IodGhpcy5fYW5jaG9y
c1tpXSk7CisKICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVsLmNhbGxGcmFt
ZXMpCiAgICAgICAgICAgICB0aGlzLl9kZWJ1Z2dlclBhdXNlZCgpOwogICAgIH0sCkBAIC02MTUs
NiArNjM5LDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwucHJvdG90
eXBlID0gewogICAgIF9kZWJ1Z2dlclJlc2V0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0
aGlzLl9yZXNldCgpOworICAgICAgICB0aGlzLl9hbmNob3JzID0gW107CiAgICAgICAgIHRoaXMu
X3ByZXNlbnRhdGlvbkNhbGxGcmFtZXMgPSBbXTsKICAgICAgICAgdGhpcy5fc2VsZWN0ZWRDYWxs
RnJhbWVJbmRleCA9IDA7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAwZGRlMTkwLi42ZmU3MjhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwpA
QCAtODAzLDEwICs4MDMsMTAgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUg
PSB7CiAKICAgICBzaG93QW5jaG9yTG9jYXRpb246IGZ1bmN0aW9uKGFuY2hvcikKICAgICB7Ci0g
ICAgICAgIHRoaXMuX3Nob3dSZXNvdXJjZSh0aGlzLl9yZXNvdXJjZXNCeVVSTFthbmNob3IuaHJl
Zl0sIGFuY2hvci5nZXRBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIikgLSAxKTsKKyAgICAgICAgdGhp
cy5fc2hvd1Jlc291cmNlKHRoaXMuX3Jlc291cmNlc0J5VVJMW2FuY2hvci5ocmVmXSk7CiAgICAg
fSwKIAotICAgIF9zaG93UmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlLCBsaW5lKQorICAgIF9z
aG93UmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlKQogICAgIHsKICAgICAgICAgaWYgKCFyZXNv
dXJjZSkKICAgICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1BhbmVsLmpzCmluZGV4IDk5Y2NhMTIuLmY5NzczZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcwpAQCAtMzg4LDYgKzM4OCwyMyBAQCBXZWJJ
bnNwZWN0b3IuUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmlzaWJsZVZpZXcucmVz
aXplKCk7CiAgICAgfSwKIAorICAgIGNyZWF0ZUFuY2hvcjogZnVuY3Rpb24odXJsLCBsaW5lTnVt
YmVyLCBjbGFzc2VzLCB0b29sdGlwVGV4dCkKKyAgICB7CisgICAgICAgIHZhciBsaW5rVGV4dCA9
IHRoaXMuZm9ybWF0QW5jaG9yVGV4dCh1cmwsIGxpbmVOdW1iZXIpOworICAgICAgICB2YXIgYW5j
aG9yID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUodXJsLCBsaW5rVGV4dCwgY2xhc3Nl
cywgZmFsc2UsIHRvb2x0aXBUZXh0KTsKKyAgICAgICAgaWYgKGxpbmVOdW1iZXIgIT09IHVuZGVm
aW5lZCkKKyAgICAgICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIiwgbGlu
ZU51bWJlcik7CisgICAgICAgIHJldHVybiBhbmNob3I7CisgICAgfSwKKworICAgIGZvcm1hdEFu
Y2hvclRleHQ6IGZ1bmN0aW9uKHVybCwgbGluZU51bWJlcikKKyAgICB7CisgICAgICAgIHZhciB0
ZXh0ID0gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMKHVybCk7CisgICAgICAgIGlmIChs
aW5lTnVtYmVyICE9PSB1bmRlZmluZWQpCisgICAgICAgICAgICB0ZXh0ICs9ICI6IiArIChsaW5l
TnVtYmVyICsgMSk7CisgICAgICAgIHJldHVybiB0ZXh0OworICAgIH0sCisKICAgICBjYW5TaG93
QW5jaG9yTG9jYXRpb246IGZ1bmN0aW9uKGFuY2hvcikKICAgICB7CiAgICAgICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVz
b3VyY2VzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291
cmNlc1BhbmVsLmpzCmluZGV4IDU5NTlhM2QuLjhhZGM5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwpAQCAtMzUwLDgg
KzM1MCw4IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgdmFyIGxp
bmVOdW1iZXIgPSBwYXJzZUludChhbmNob3IuZ2V0QXR0cmlidXRlKCJsaW5lX251bWJlciIpKTsK
LSAgICAgICAgdGhpcy5zaG93UmVzb3VyY2UocmVzb3VyY2UsIGxpbmVOdW1iZXIgIT09IE5hTiA/
IGxpbmVOdW1iZXIgLSAxIDogdW5kZWZpbmVkKTsKKyAgICAgICAgdmFyIGxpbmVOdW1iZXIgPSBh
bmNob3IuaGFzQXR0cmlidXRlKCJsaW5lX251bWJlciIpID8gcGFyc2VJbnQoYW5jaG9yLmdldEF0
dHJpYnV0ZSgibGluZV9udW1iZXIiKSkgOiB1bmRlZmluZWQ7CisgICAgICAgIHRoaXMuc2hvd1Jl
c291cmNlKHJlc291cmNlLCBsaW5lTnVtYmVyKTsKICAgICB9LAogCiAgICAgc2hvd1Jlc291cmNl
OiBmdW5jdGlvbihyZXNvdXJjZSwgbGluZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggYjM0ZmE3Zi4uYjFjYWZiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwu
anMKQEAgLTUwNiw2ICs1MDYsMTkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICB4LnNob3codGhpcy52aWV3c0NvbnRhaW5lckVsZW1lbnQpOwog
ICAgIH0sCiAKKyAgICBjcmVhdGVBbmNob3I6IGZ1bmN0aW9uKHVybCwgbGluZU51bWJlciwgY2xh
c3NlcywgdG9vbHRpcFRleHQpCisgICAgeworICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5zcGVj
dG9yLlBhbmVsLnByb3RvdHlwZS5jcmVhdGVBbmNob3IuY2FsbCh0aGlzLCB1cmwsIGxpbmVOdW1i
ZXIsIGNsYXNzZXMsIHRvb2x0aXBUZXh0KTsKKyAgICAgICAgaWYgKGxpbmVOdW1iZXIgIT09IHVu
ZGVmaW5lZCkgeworICAgICAgICAgICAgZnVuY3Rpb24gdXBkYXRlQW5jaG9yKHVybCwgbGluZU51
bWJlcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBhbmNob3IudGV4dENvbnRlbnQg
PSB0aGlzLmZvcm1hdEFuY2hvclRleHQodXJsLCBsaW5lTnVtYmVyKQorICAgICAgICAgICAgfQor
ICAgICAgICAgICAgdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwucmVnaXN0ZXJBbmNob3IodXJsLCBu
dWxsLCBsaW5lTnVtYmVyLCAwLCB1cGRhdGVBbmNob3IuYmluZCh0aGlzKSk7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIGFuY2hvcjsKKyAgICB9LAorCiAgICAgY2FuU2hvd0FuY2hvckxvY2F0
aW9uOiBmdW5jdGlvbihhbmNob3IpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZGVidWdn
ZXJFbmFibGVkICYmIHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNvdXJjZUZpbGVGb3JTY3JpcHRV
UkwoYW5jaG9yLmhyZWYpOwpAQCAtNTEzLDE4ICs1MjYsMTYgQEAgV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBzaG93QW5jaG9yTG9jYXRpb246IGZ1bmN0aW9u
KGFuY2hvcikKICAgICB7Ci0gICAgICAgIHZhciBhbmNob3JMaW5lTnVtYmVyID0gcGFyc2VJbnQo
YW5jaG9yLmdldEF0dHJpYnV0ZSgibGluZV9udW1iZXIiKSk7Ci0gICAgICAgIHZhciBoYXNBbmNo
b3JMaW5lTnVtYmVyID0gYW5jaG9yTGluZU51bWJlciAhPT0gTmFOOwotICAgICAgICB2YXIgbGlu
ZU51bWJlciA9IGhhc0FuY2hvckxpbmVOdW1iZXIgPyBhbmNob3JMaW5lTnVtYmVyIC0gMSA6IDA7
CisgICAgICAgIHZhciBhbmNob3JMaW5lTnVtYmVyID0gYW5jaG9yLmhhc0F0dHJpYnV0ZSgibGlu
ZV9udW1iZXIiKSA/IHBhcnNlSW50KGFuY2hvci5nZXRBdHRyaWJ1dGUoImxpbmVfbnVtYmVyIikp
IDogMDsKIAogICAgICAgICBmdW5jdGlvbiBkaWRHZXRVSUxvY2F0aW9uKHNvdXJjZUZpbGVJZCwg
bGluZU51bWJlcikKICAgICAgICAgewotICAgICAgICAgICAgaWYgKGhhc0FuY2hvckxpbmVOdW1i
ZXIpCisgICAgICAgICAgICBpZiAoYW5jaG9yLmhhc0F0dHJpYnV0ZSgibGluZV9udW1iZXIiKSkK
ICAgICAgICAgICAgICAgICB0aGlzLl9zaG93U291cmNlTGluZShzb3VyY2VGaWxlSWQsIGxpbmVO
dW1iZXIpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dTb3Vy
Y2VGcmFtZUFuZEFkZFRvSGlzdG9yeShzb3VyY2VGaWxlSWQpOwogICAgICAgICB9Ci0gICAgICAg
IHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNjcmlwdExvY2F0aW9uVG9VSUxvY2F0aW9uKGFuY2hv
ci5ocmVmLCBudWxsLCBsaW5lTnVtYmVyLCAwLCBkaWRHZXRVSUxvY2F0aW9uLmJpbmQodGhpcykp
OworICAgICAgICB0aGlzLl9wcmVzZW50YXRpb25Nb2RlbC5zY3JpcHRMb2NhdGlvblRvVUlMb2Nh
dGlvbihhbmNob3IuaHJlZiwgbnVsbCwgYW5jaG9yTGluZU51bWJlciwgMCwgZGlkR2V0VUlMb2Nh
dGlvbi5iaW5kKHRoaXMpKTsKICAgICB9LAogCiAgICAgX3Nob3dTb3VyY2VMaW5lOiBmdW5jdGlv
bihzb3VyY2VGaWxlSWQsIGxpbmVOdW1iZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGJjNjZmNTAuLmQxYjljZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC0xMTcy
LDcgKzExNzIsNyBAQCBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwgPSBmdW5jdGlvbih1
cmwpCiAKIFdlYkluc3BlY3Rvci5fc2hvd0FuY2hvckxvY2F0aW9uID0gZnVuY3Rpb24oYW5jaG9y
KQogewotICAgIHZhciBwcmVmZXJlZFBhbmVsID0gdGhpcy5wYW5lbHNbYW5jaG9yLmdldEF0dHJp
YnV0ZSgicHJlZmVycmVkX3BhbmVsIikgfHwgInNjcmlwdHMiXTsKKyAgICB2YXIgcHJlZmVyZWRQ
YW5lbCA9IHRoaXMucGFuZWxzW2FuY2hvci5nZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9wYW5lbCIp
XTsKICAgICBpZiAoV2ViSW5zcGVjdG9yLl9zaG93QW5jaG9yTG9jYXRpb25JblBhbmVsKGFuY2hv
ciwgcHJlZmVyZWRQYW5lbCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIGlmIChwcmVmZXJl
ZFBhbmVsICE9PSB0aGlzLnBhbmVscy5yZXNvdXJjZXMgJiYgV2ViSW5zcGVjdG9yLl9zaG93QW5j
aG9yTG9jYXRpb25JblBhbmVsKGFuY2hvciwgdGhpcy5wYW5lbHMucmVzb3VyY2VzKSkKQEAgLTEy
NzUsMTMgKzEyNzUsMTIgQEAgV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkwgPSBmdW5jdGlvbih1cmws
IGxpbmtUZXh0LCBjbGFzc2VzLCBpc0V4dGVybmFsLCB0b29sdGlwVGUKICAgICByZXR1cm4gV2Vi
SW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUodXJsLCBsaW5rVGV4dCwgY2xhc3NlcywgaXNFeHRl
cm5hbCwgdG9vbHRpcFRleHQpLm91dGVySFRNTDsKIH0KIAotV2ViSW5zcGVjdG9yLmxpbmtpZnlS
ZXNvdXJjZUFzTm9kZSA9IGZ1bmN0aW9uKHVybCwgcHJlZmVycmVkUGFuZWwsIGxpbmVOdW1iZXIs
IGNsYXNzZXMsIHRvb2x0aXBUZXh0KQorV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9k
ZSA9IGZ1bmN0aW9uKHVybCwgcHJlZmVycmVkUGFuZWwsIG9uZUJhc2VkTGluZU51bWJlciwgY2xh
c3NlcywgdG9vbHRpcFRleHQpCiB7Ci0gICAgdmFyIGxpbmtUZXh0ID0gV2ViSW5zcGVjdG9yLmRp
c3BsYXlOYW1lRm9yVVJMKHVybCk7Ci0gICAgaWYgKGxpbmVOdW1iZXIpCi0gICAgICAgIGxpbmtU
ZXh0ICs9ICI6IiArIGxpbmVOdW1iZXI7Ci0gICAgdmFyIG5vZGUgPSBXZWJJbnNwZWN0b3IubGlu
a2lmeVVSTEFzTm9kZSh1cmwsIGxpbmtUZXh0LCBjbGFzc2VzLCBmYWxzZSwgdG9vbHRpcFRleHQp
OwotICAgIG5vZGUuc2V0QXR0cmlidXRlKCJsaW5lX251bWJlciIsIGxpbmVOdW1iZXIpOworICAg
IHByZWZlcnJlZFBhbmVsID0gcHJlZmVycmVkUGFuZWwgfHwgInNjcmlwdHMiOworICAgIC8vIEZJ
WE1FOiBzdGFjayB0cmFjZSBsaW5lL2NvbHVtbiBudW1iZXJzIGFyZSBvbmUtYmFzZWQuCisgICAg
dmFyIGxpbmVOdW1iZXIgPSBvbmVCYXNlZExpbmVOdW1iZXIgPyBvbmVCYXNlZExpbmVOdW1iZXIg
LSAxIDogdW5kZWZpbmVkOworICAgIHZhciBub2RlID0gdGhpcy5wYW5lbHNbcHJlZmVycmVkUGFu
ZWxdLmNyZWF0ZUFuY2hvcih1cmwsIGxpbmVOdW1iZXIsIGNsYXNzZXMsIHRvb2x0aXBUZXh0KTsK
ICAgICBub2RlLnNldEF0dHJpYnV0ZSgicHJlZmVycmVkX3BhbmVsIiwgcHJlZmVycmVkUGFuZWwp
OwogICAgIHJldHVybiBub2RlOwogfQo=
</data>
<flag name="review"
          id="91168"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>