<?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>90631</bug_id>
          
          <creation_ts>2012-07-05 13:50:50 -0700</creation_ts>
          <short_desc>Web Inspector: display function scope in UI</short_desc>
          <delta_ts>2012-08-07 04:28:45 -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="Peter Rybin">prybin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</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>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>663713</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Rybin">prybin</who>
    <bug_when>2012-07-05 13:50:50 -0700</bug_when>
    <thetext>Function scope is already supported in WebKit Remote Debugging protocol.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663772</commentid>
    <comment_count>1</comment_count>
      <attachid>151000</attachid>
    <who name="Peter Rybin">prybin</who>
    <bug_when>2012-07-05 16:25:07 -0700</bug_when>
    <thetext>Created attachment 151000
This is a draft only, please review on request only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663905</commentid>
    <comment_count>2</comment_count>
      <attachid>151000</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-05 23:34:06 -0700</bug_when>
    <thetext>Comment on attachment 151000
This is a draft only, please review on request only

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        TBD

Please fill in the change description.

&gt; Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:251
&gt; +            if (this.property.value.type == &quot;function&quot;) {

We use === in the front-end code, also no braces for one-line blocks.

&gt; Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:500
&gt; +                var subtitle = &quot; &quot;;

I&apos;d rather assign it to null here.

&gt; Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:502
&gt; +                switch (scope.type) {

style nit: &quot;A case label should line up with its switch statement&quot;

&gt; Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:544
&gt; +        this.hasChildren = true;

Why not initialize this in the constructor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687044</commentid>
    <comment_count>3</comment_count>
      <attachid>156437</attachid>
    <who name="Peter Rybin">prybin</who>
    <bug_when>2012-08-03 12:45:12 -0700</bug_when>
    <thetext>Created attachment 156437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687782</commentid>
    <comment_count>4</comment_count>
      <attachid>156437</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-08-05 23:16:04 -0700</bug_when>
    <thetext>Comment on attachment 156437
Patch

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

&gt; Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:451
&gt; +WebInspector.ObjectPropertyTreeElement.Populate = function(treeElement, value) {

style: Populate -&gt; populate

&gt; Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:557
&gt; +    onattach: function()

Please remove this and next methods.

&gt; Source/WebCore/inspector/front-end/ObjectPropertiesSection.js:590
&gt; +    onattach: function()

These two methods can also be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688461</commentid>
    <comment_count>5</comment_count>
      <attachid>156771</attachid>
    <who name="Peter Rybin">prybin</who>
    <bug_when>2012-08-06 15:20:40 -0700</bug_when>
    <thetext>Created attachment 156771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689031</commentid>
    <comment_count>6</comment_count>
      <attachid>156771</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 04:28:41 -0700</bug_when>
    <thetext>Comment on attachment 156771
Patch

Clearing flags on attachment: 156771

Committed r124876: &lt;http://trac.webkit.org/changeset/124876&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689032</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-07 04:28:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151000</attachid>
            <date>2012-07-05 16:25:07 -0700</date>
            <delta_ts>2012-08-03 12:45:04 -0700</delta_ts>
            <desc>This is a draft only, please review on request only</desc>
            <filename>bug-90631-20120706032505.patch</filename>
            <type>text/plain</type>
            <size>4796</size>
            <attacher name="Peter Rybin">prybin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxOTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBjYjRiZDNkMTIyZmYy
YjBiYjllNDRmYmM5Y2M0OGNlMGE2NjVjNS4uM2Q0M2U5YWZjODdlOTMxNjE5MDQ4MzQwNWUxZTZi
NDY3ZGRjNjU2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA3LTA1ICBQZXRl
ciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBkaXNwbGF5IGZ1bmN0aW9uIHNjb3BlIGluIFVJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDYzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRCRAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmpl
Y3RQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS5vbnBvcHVsYXRlLmNhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS5v
bnBvcHVsYXRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GdW5jdGlvblNjb3BlVHJlZUVsZW1l
bnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZ1bmN0aW9uU2NvcGVUcmVlRWxlbWVudC5wcm90
b3R5cGUub25wb3B1bGF0ZS5kaWRHZXREZXRhaWxzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5G
dW5jdGlvblNjb3BlVHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkZ1bmN0aW9uU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZ1bmN0aW9uU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5
cGUudXBkYXRlKToKKwogMjAxMi0wNy0wNSAgWW9uZ2p1biBaaGFuZyAgPHlvbmdqdW5femhhbmdA
YXBwbGUuY29tPgogCiAgICAgICAgIENvZGUgcmVmYWN0b3Jpbmc6IG1vdmUgbWltZVR5cGVGcm9t
VVRJVHJlZSB0byBhIHNlcGFyYXRlIGZpbGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcwppbmRl
eCBiOTUxYTQwNmU3OTYwYTViOTkwZjk5MTY4MmUxZjRhYmM2ZDUxN2E1Li44NGYxZGY2MzIzZTFi
M2NkMzk3YWIyYzVkM2Q0OGMwMTdhNzYxNjhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMK
QEAgLTI0OCw2ICsyNDgsOSBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVu
dC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgcHJvcGVydGllc1tpXS5wYXJlbnRPYmpl
Y3QgPSB0aGlzLnByb3BlcnR5LnZhbHVlOwogICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kQ2hp
bGQobmV3IHRoaXMudHJlZU91dGxpbmUuc2VjdGlvbi50cmVlRWxlbWVudENvbnN0cnVjdG9yKHBy
b3BlcnRpZXNbaV0pKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh0aGlzLnByb3Bl
cnR5LnZhbHVlLnR5cGUgPT0gImZ1bmN0aW9uIikgeworICAgICAgICAgICAgICAgIHRoaXMuYXBw
ZW5kQ2hpbGQobmV3IFdlYkluc3BlY3Rvci5GdW5jdGlvblNjb3BlVHJlZUVsZW1lbnQodGhpcy5w
cm9wZXJ0eS52YWx1ZSkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgdGhp
cy5wcm9wZXJ0eS52YWx1ZS5nZXRPd25Qcm9wZXJ0aWVzKGNhbGxiYWNrLmJpbmQodGhpcykpOwpA
QCAtNDY4LDYgKzQ3MSw4MiBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVu
dC5wcm90b3R5cGUgPSB7CiAKIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBUcmVlRWxlbWVudC5wcm90b3R5cGU7CiAKK1dlYkluc3Bl
Y3Rvci5GdW5jdGlvblNjb3BlVHJlZUVsZW1lbnQgPSBmdW5jdGlvbihyZW1vdGVPYmplY3QpCit7
CisgICAgVHJlZUVsZW1lbnQuY2FsbCh0aGlzLCAiPGZ1bmN0aW9uIHNjb3BlPiIsIG51bGwsIGZh
bHNlKTsKKyAgICB0aGlzLnRvZ2dsZU9uQ2xpY2sgPSB0cnVlOworICAgIHRoaXMuc2VsZWN0YWJs
ZSA9IGZhbHNlOworICAgIHRoaXMuX3JlbW90ZU9iamVjdCA9IHJlbW90ZU9iamVjdDsKK30KKwor
V2ViSW5zcGVjdG9yLkZ1bmN0aW9uU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CisgICAg
b25wb3B1bGF0ZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuY2hpbGRyZW4u
bGVuZ3RoICYmICF0aGlzLnNob3VsZFJlZnJlc2hDaGlsZHJlbikKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBmdW5jdGlvbiBkaWRHZXREZXRhaWxzKGVycm9yLCByZXNwb25zZSkKKyAg
ICAgICAgeworICAgICAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICAgICAgY29uc29s
ZS5lcnJvcihlcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICAgICAgCisgICAgICAg
ICAgICB2YXIgc2NvcGVDaGFpbiA9IHJlc3BvbnNlLnNjb3BlQ2hhaW47CisgICAgICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHNjb3BlQ2hhaW4ubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAg
ICAgICB2YXIgc2NvcGUgPSBzY29wZUNoYWluW2ldOworICAgICAgICAgICAgICAgIHZhciB0aXRs
ZSA9IG51bGw7CisgICAgICAgICAgICAgICAgdmFyIHN1YnRpdGxlID0gIiAiOworICAgIAorICAg
ICAgICAgICAgICAgIHN3aXRjaCAoc2NvcGUudHlwZSkgeworICAgICAgICAgICAgICAgICAgICBj
YXNlICJsb2NhbCI6CisgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiTG9jYWwiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1YnRpdGxlID0g
bnVsbDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAg
ICBjYXNlICJjbG9zdXJlIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJDbG9zdXJlIik7CisgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0
aXRsZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICAgICAgY2FzZSAiY2F0Y2giOgorICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhdGNoIik7CisgICAgICAgICAgICAgICAgICAgICAgICBz
dWJ0aXRsZSA9IG51bGw7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICAgICAgY2FzZSAid2l0aCI6CisgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiV2l0aCBCbG9jayIpOworICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgImdsb2JhbCI6CisgICAgICAg
ICAgICAgICAgICAgICAgICB0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiR2xvYmFsIik7
CisgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0aXRsZSA9IHNjb3BlLm9iamVjdC5kZXNjcmlw
dGlvbjsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0K
KyAgICAKKyAgICAgICAgICAgICAgICBpZiAoIXRpdGxlIHx8IHRpdGxlID09PSBzdWJ0aXRsZSkK
KyAgICAgICAgICAgICAgICAgICAgc3VidGl0bGUgPSAiIjsKKyAgICAKKyAgICAgICAgICAgICAg
ICB2YXIgcmVtb3RlT2JqZWN0ID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9h
ZChzY29wZS5vYmplY3QpOworICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IG5ldyBXZWJJ
bnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkodGl0bGUsIHJlbW90ZU9iamVjdCwgc3VidGl0
bGUpOworICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kQ2hpbGQobmV3IHRoaXMudHJlZU91dGxp
bmUuc2VjdGlvbi50cmVlRWxlbWVudENvbnN0cnVjdG9yKHByb3BlcnR5KSk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgfQorICAgICAgICBEZWJ1Z2dlckFnZW50LmdldEZ1bmN0aW9uRGV0YWls
cyh0aGlzLl9yZW1vdGVPYmplY3Qub2JqZWN0SWQsIGRpZEdldERldGFpbHMuYmluZCh0aGlzKSk7
CisKKyAgICB9LAorCisgICAgb25hdHRhY2g6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRo
aXMudXBkYXRlKCk7CisgICAgfSwKKworICAgIHVwZGF0ZTogZnVuY3Rpb24oKQorICAgIHsKKyAg
ICAgICAgdGhpcy5oYXNDaGlsZHJlbiA9IHRydWU7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9y
LkZ1bmN0aW9uU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZUVsZW1l
bnQucHJvdG90eXBlOworCiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4dGVuZHMge1RyZWVF
bGVtZW50fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156437</attachid>
            <date>2012-08-03 12:45:12 -0700</date>
            <delta_ts>2012-08-06 15:20:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90631-20120803234451.patch</filename>
            <type>text/plain</type>
            <size>11136</size>
            <attacher name="Peter Rybin">prybin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY5ZDg5MzVjNGU4Mjgx
OWFiODQ0OGYwNWEwYmNhN2YyY2MwZDdiZi4uMDI1NmVmYTkwYTgxMTI1NGU1M2EzOWQzYTk2MWU1
ODg4M2JlY2M4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTAzICBQZXRl
ciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBkaXNwbGF5IGZ1bmN0aW9uIHNjb3BlIGluIFVJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDYzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFR3byBuZXcgdHJlZSBlbGVtZW50IHR5cGVzIGFkZGVkOiBm
dW5jdGlvbiBzY29wZSBncm91cCBub2RlIGFuZCBzY29wZSBub2RlLgorICAgICAgICBTY29wZSBu
b2RlIGlzIG9ubHkgdXNlZCB0byByZXByZXNlbnQgY2xvc3VyZSBhbmQgY2F0Y2ggc2NvcGVzLiBT
Y29wZXMgdGhhdAorICAgICAgICBoYXZlIGEgcmVhbCBvYmplY3QgYmVuZWF0aCBhcmUgcmVwcmVz
ZW50ZWQgYXMgYSBwcm9wZXJ0eSBub2RlLgorICAgICAgICBBIG1ldGhvZCB0aGF0IHJlYWRzIHBy
b3BlcnRpZXMgZnJvbSBSZW1vdGVPYmplY3QgYW5kIHBvcHVsYXRlIHRyZWUgZWxlbWVudAorICAg
ICAgICBpcyBmYWN0b3JlZCBvdXQgZnJvbSBSZW1vdGVPYmplY3RUcmVlRWxlbWVudCBmb3IgcmV1
c2UuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0
aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlLm9ucG9wdWxhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3Bl
cnR5VHJlZUVsZW1lbnQuUG9wdWxhdGUuY2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQuUG9wdWxhdGUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUuZGlkR2V0
RGV0YWlscyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRnVuY3Rpb25TY29wZU1haW5UcmVlRWxl
bWVudC5wcm90b3R5cGUub25wb3B1bGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRnVuY3Rp
b25TY29wZU1haW5UcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUub25wb3B1bGF0ZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjb3BlVHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkuZnJvbVNjb3BlVmFsdWUpOgorCisKIDIw
MTItMDgtMDEgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gZmFjdG9yIG91dCB0aGUgb3B0aW1pemF0aW9uIHBhc3MgaW4gQ0NSZW5kZXJT
dXJmYWNlRmlsdGVyczo6YXBwbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IGEwMzZm
NDEwZTU5NGMxNmNlZDFlNjVmODM1YjJhMjQ4ZTg2OTZmNGIuLmNiYzlhZjRmZDlkY2NlZDY4YWU5
Y2JlNGMzODljZGUzN2I0NWU0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcwpAQCAtMjI2
LDMxICsyMjYsNyBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudCA9IGZ1
bmN0aW9uKHByb3BlcnR5KQogV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlID0gewogICAgIG9ucG9wdWxhdGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAg
IGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCAmJiAhdGhpcy5zaG91bGRSZWZyZXNoQ2hpbGRyZW4p
Ci0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKHRoaXMucHJvcGVydHkudmFsdWUu
YXJyYXlMZW5ndGgoKSA+IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5fYXJy
YXlMb2FkVGhyZXNob2xkKSB7Ci0gICAgICAgICAgICB0aGlzLnJlbW92ZUNoaWxkcmVuKCk7Ci0g
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50Ll9wb3B1bGF0
ZUFycmF5KHRoaXMsIHRoaXMucHJvcGVydHkudmFsdWUsIDAsIHRoaXMucHJvcGVydHkudmFsdWUu
YXJyYXlMZW5ndGgoKSAtIDEpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAg
ICAgICAgZnVuY3Rpb24gY2FsbGJhY2socHJvcGVydGllcykKLSAgICAgICAgewotICAgICAgICAg
ICAgdGhpcy5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICAgICAgaWYgKCFwcm9wZXJ0aWVzKQot
ICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgcHJvcGVydGllcy5zb3J0KFdl
Ykluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5Db21wYXJlUHJvcGVydGllcyk7Ci0g
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgICAgICAgICBpZiAodGhpcy50cmVlT3V0bGluZS5zZWN0aW9uLnNraXBQcm90byAm
JiBwcm9wZXJ0aWVzW2ldLm5hbWUgPT09ICJfX3Byb3RvX18iKQotICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW2ldLnBhcmVudE9iamVjdCA9
IHRoaXMucHJvcGVydHkudmFsdWU7Ci0gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZChu
ZXcgdGhpcy50cmVlT3V0bGluZS5zZWN0aW9uLnRyZWVFbGVtZW50Q29uc3RydWN0b3IocHJvcGVy
dGllc1tpXSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgdGhpcy5wcm9w
ZXJ0eS52YWx1ZS5nZXRPd25Qcm9wZXJ0aWVzKGNhbGxiYWNrLmJpbmQodGhpcykpOworICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQuUG9wdWxhdGUo
dGhpcywgdGhpcy5wcm9wZXJ0eS52YWx1ZSk7CiAgICAgfSwKIAogICAgIG9uZGJsY2xpY2s6IGZ1
bmN0aW9uKGV2ZW50KQpAQCAtMzA1LDcgKzI4MSw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9w
ZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMudmFsdWVFbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwgdGhpcy5fY29udGV4dE1lbnVFdmVu
dEZpcmVkLmJpbmQodGhpcyksIGZhbHNlKTsKIAogICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC50
aXRsZSA9IGRlc2NyaXB0aW9uIHx8ICIiOwotICAgICAgICAKKwogICAgICAgICB0aGlzLmxpc3RJ
dGVtRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwogCiAgICAgICAgIHRoaXMubGlzdEl0ZW1FbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMubmFtZUVsZW1lbnQpOwpAQCAtNDY4LDExICs0NDQsMTY0IEBA
IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAg
ICB9CiB9CiAKKy8qKgorICogQHBhcmFtIHtUcmVlRWxlbWVudH0gdHJlZUVsZW1lbnQKKyAqIEBw
YXJhbSB7V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdH0gdmFsdWUKKyAqLworV2ViSW5zcGVjdG9y
Lk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQuUG9wdWxhdGUgPSBmdW5jdGlvbih0cmVlRWxlbWVu
dCwgdmFsdWUpIHsKKyAgICBpZiAodHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoICYmICF0cmVl
RWxlbWVudC5zaG91bGRSZWZyZXNoQ2hpbGRyZW4pCisgICAgICAgIHJldHVybjsKKworICAgIGlm
ICh2YWx1ZS5hcnJheUxlbmd0aCgpID4gV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0
aW9uLl9hcnJheUxvYWRUaHJlc2hvbGQpIHsKKyAgICAgICAgdHJlZUVsZW1lbnQucmVtb3ZlQ2hp
bGRyZW4oKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5f
cG9wdWxhdGVBcnJheSh0cmVlRWxlbWVudCwgdmFsdWUsIDAsIHZhbHVlLmFycmF5TGVuZ3RoKCkg
LSAxKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHBy
b3BlcnRpZXMpCisgICAgeworICAgICAgICB0cmVlRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwor
ICAgICAgICBpZiAoIXByb3BlcnRpZXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
cHJvcGVydGllcy5zb3J0KFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5Db21w
YXJlUHJvcGVydGllcyk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5s
ZW5ndGg7ICsraSkgeworICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50LnRyZWVPdXRsaW5lLnNl
Y3Rpb24uc2tpcFByb3RvICYmIHByb3BlcnRpZXNbaV0ubmFtZSA9PT0gIl9fcHJvdG9fXyIpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBwcm9wZXJ0aWVzW2ldLnBhcmVu
dE9iamVjdCA9IHZhbHVlOworICAgICAgICAgICAgdHJlZUVsZW1lbnQuYXBwZW5kQ2hpbGQobmV3
IHRyZWVFbGVtZW50LnRyZWVPdXRsaW5lLnNlY3Rpb24udHJlZUVsZW1lbnRDb25zdHJ1Y3Rvcihw
cm9wZXJ0aWVzW2ldKSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHZhbHVlLnR5cGUgPT09ICJm
dW5jdGlvbiIpCisgICAgICAgICAgICB0cmVlRWxlbWVudC5hcHBlbmRDaGlsZChuZXcgV2ViSW5z
cGVjdG9yLkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQodmFsdWUpKTsKKyAgICB9CisKKyAg
ICB2YWx1ZS5nZXRPd25Qcm9wZXJ0aWVzKGNhbGxiYWNrKTsKK30KKwogV2ViSW5zcGVjdG9yLk9i
amVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFRyZWVFbGVtZW50
LnByb3RvdHlwZTsKIAogLyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtUcmVlRWxl
bWVudH0KKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdH0gcmVtb3RlT2JqZWN0
CisgKi8KK1dlYkluc3BlY3Rvci5GdW5jdGlvblNjb3BlTWFpblRyZWVFbGVtZW50ID0gZnVuY3Rp
b24ocmVtb3RlT2JqZWN0KQoreworICAgIFRyZWVFbGVtZW50LmNhbGwodGhpcywgIjxmdW5jdGlv
biBzY29wZT4iLCBudWxsLCBmYWxzZSk7CisgICAgdGhpcy50b2dnbGVPbkNsaWNrID0gdHJ1ZTsK
KyAgICB0aGlzLnNlbGVjdGFibGUgPSBmYWxzZTsKKyAgICB0aGlzLl9yZW1vdGVPYmplY3QgPSBy
ZW1vdGVPYmplY3Q7CisgICAgdGhpcy5oYXNDaGlsZHJlbiA9IHRydWU7Cit9CisKK1dlYkluc3Bl
Y3Rvci5GdW5jdGlvblNjb3BlTWFpblRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKKyAgICBvbnBv
cHVsYXRlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5jaGlsZHJlbi5sZW5n
dGggJiYgIXRoaXMuc2hvdWxkUmVmcmVzaENoaWxkcmVuKQorICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIGZ1bmN0aW9uIGRpZEdldERldGFpbHMoZXJyb3IsIHJlc3BvbnNlKQorICAgICAg
ICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmVy
cm9yKGVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICB0aGlzLnJlbW92ZUNoaWxkcmVuKCk7CisKKyAgICAgICAgICAgIHZhciBzY29wZUNo
YWluID0gcmVzcG9uc2Uuc2NvcGVDaGFpbjsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgc2NvcGVDaGFpbi5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIHZhciBzY29wZSA9
IHNjb3BlQ2hhaW5baV07CisgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gbnVsbDsKKyAgICAg
ICAgICAgICAgICB2YXIgaXNUcnVlT2JqZWN0OworCisgICAgICAgICAgICAgICAgc3dpdGNoIChz
Y29wZS50eXBlKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgImxvY2FsIjoKKyAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIE5vdCByZWFsbHkgZXhwZWN0aW5nIHRoaXMgc2NvcGUgdHlwZSBo
ZXJlLgorICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkxvY2FsIik7CisgICAgICAgICAgICAgICAgICAgICAgICBpc1RydWVPYmplY3QgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBj
YXNlICJjbG9zdXJlIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJDbG9zdXJlIik7CisgICAgICAgICAgICAgICAgICAgICAgICBpc1RydWVP
YmplY3QgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgICAgICBjYXNlICJjYXRjaCI6CisgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2F0Y2giKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlzVHJ1ZU9iamVjdCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgICAgIGNhc2UgIndpdGgiOgorICAgICAgICAgICAgICAgICAgICAgICAg
dGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIldpdGggQmxvY2siKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlzVHJ1ZU9iamVjdCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSAiZ2xvYmFsIjoKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJHbG9iYWwiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlzVHJ1ZU9iamVjdCA9IHRydWU7CisgICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB2
YXIgcmVtb3RlT2JqZWN0ID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChz
Y29wZS5vYmplY3QpOworICAgICAgICAgICAgICAgIGlmIChpc1RydWVPYmplY3QpIHsKKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFBy
b3BlcnR5LmZyb21TY29wZVZhbHVlKHRpdGxlLCByZW1vdGVPYmplY3QpOworICAgICAgICAgICAg
ICAgICAgICBwcm9wZXJ0eS5wYXJlbnRPYmplY3QgPSBudWxsOworICAgICAgICAgICAgICAgICAg
ICB0aGlzLmFwcGVuZENoaWxkKG5ldyB0aGlzLnRyZWVPdXRsaW5lLnNlY3Rpb24udHJlZUVsZW1l
bnRDb25zdHJ1Y3Rvcihwcm9wZXJ0eSkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIHZhciBzY29wZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5T
Y29wZVRyZWVFbGVtZW50KHRpdGxlLCBudWxsLCByZW1vdGVPYmplY3QpOworICAgICAgICAgICAg
ICAgICAgICB0aGlzLmFwcGVuZENoaWxkKHNjb3BlVHJlZUVsZW1lbnQpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICB9CisgICAgICAgIERlYnVnZ2VyQWdlbnQu
Z2V0RnVuY3Rpb25EZXRhaWxzKHRoaXMuX3JlbW90ZU9iamVjdC5vYmplY3RJZCwgZGlkR2V0RGV0
YWlscy5iaW5kKHRoaXMpKTsKKworICAgIH0sCisKKyAgICBvbmF0dGFjaDogZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgdGhpcy51cGRhdGUoKTsKKyAgICB9LAorCisgICAgdXBkYXRlOiBmdW5j
dGlvbigpCisgICAgeworICAgIH0KK307CisKK1dlYkluc3BlY3Rvci5GdW5jdGlvblNjb3BlTWFp
blRyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBUcmVlRWxlbWVudC5wcm90b3R5cGU7
CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7VHJlZUVsZW1lbnR9CisgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3R9IHJlbW90ZU9iamVjdAorICovCitXZWJJ
bnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKHRpdGxlLCBzdWJ0aXRsZSwgcmVt
b3RlT2JqZWN0KQoreworICAgIC8vIFRPRE86IHVzZSBzdWJ0aXRsZSBwYXJhbWV0ZXIuCisgICAg
VHJlZUVsZW1lbnQuY2FsbCh0aGlzLCB0aXRsZSwgbnVsbCwgZmFsc2UpOworICAgIHRoaXMudG9n
Z2xlT25DbGljayA9IHRydWU7CisgICAgdGhpcy5zZWxlY3RhYmxlID0gZmFsc2U7CisgICAgdGhp
cy5fcmVtb3RlT2JqZWN0ID0gcmVtb3RlT2JqZWN0OworICAgIHRoaXMuaGFzQ2hpbGRyZW4gPSB0
cnVlOworfQorCitXZWJJbnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7Cisg
ICAgb25wb3B1bGF0ZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdlYkluc3Bl
Y3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LlBvcHVsYXRlKHRoaXMsIHRoaXMuX3JlbW90
ZU9iamVjdCk7CisgICAgfSwKKworICAgIG9uYXR0YWNoOiBmdW5jdGlvbigpCisgICAgeworICAg
ICAgICB0aGlzLnVwZGF0ZSgpOworICAgIH0sCisKKyAgICB1cGRhdGU6IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9yLlNjb3BlVHJlZUVsZW1lbnQucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFRyZWVFbGVtZW50LnByb3RvdHlwZTsKKworLyoqCisgKiBAY29uc3RydWN0
b3IKKyAqIEBleHRlbmRzIHtUcmVlRWxlbWVudH0KICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJl
bW90ZU9iamVjdH0gb2JqZWN0CiAgKiBAcGFyYW0ge251bWJlcn0gZnJvbUluZGV4CiAgKiBAcGFy
YW0ge251bWJlcn0gdG9JbmRleApAQCAtNjc5LDcgKzgwOCw3IEBAIFdlYkluc3BlY3Rvci5BcnJh
eUdyb3VwaW5nVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYgKHRo
aXMuX3BvcHVsYXRlZCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisKICAgICAgICAg
dGhpcy5fcG9wdWxhdGVkID0gdHJ1ZTsKIAogICAgICAgICBpZiAodGhpcy5fcHJvcGVydHlDb3Vu
dCA+PSBXZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50Ll9idWNrZXRUaHJlc2hv
bGQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVt
b3RlT2JqZWN0LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVP
YmplY3QuanMKaW5kZXggZTFiM2U2ZjE1OGViNzQ0N2M0NzhjMjBlNDZjMjczMzE0MDQxZWI2YS4u
M2YzMjhlYzBiMDNkMzk4MTI3NWYwNTlmYjIyMjQ1ZDkzNzI5MDZiMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanMKQEAgLTMzNiw3
ICszMzYsNyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZSA9IHsKIC8qKgog
ICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZQotICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuUmVtb3RlT2JqZWN0fSB2YWx1ZSAKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJl
bW90ZU9iamVjdH0gdmFsdWUKICAqIEBwYXJhbSB7T2JqZWN0PX0gZGVzY3JpcHRvcgogICovCiBX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkgPSBmdW5jdGlvbihuYW1lLCB2YWx1ZSwg
ZGVzY3JpcHRvcikKQEAgLTM1OSw2ICszNTksMTggQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVj
dFByb3BlcnR5LmZyb21QcmltaXRpdmVWYWx1ZSA9IGZ1bmN0aW9uKG5hbWUsIHZhbHVlKQogICAg
IHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5KG5hbWUsIFdlYklu
c3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVByaW1pdGl2ZVZhbHVlKHZhbHVlKSk7CiB9CiAKKy8q
KgorICogQHBhcmFtIHtzdHJpbmd9IG5hbWUKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlbW90
ZU9iamVjdH0gdmFsdWUKKyAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3RQcm9w
ZXJ0eX0KKyAqLworV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5LmZyb21TY29wZVZh
bHVlID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpCit7CisgICAgdmFyIHJlc3VsdCA9IG5ldyBXZWJJ
bnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkobmFtZSwgdmFsdWUpOworICAgIHJlc3VsdC53
cml0YWJsZSA9IGZhbHNlOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIC8vIFRoZSBiZWxvdyBp
cyBhIHdyYXBwZXIgYXJvdW5kIGEgbG9jYWwgb2JqZWN0IHRoYXQgcHJvdmlkZXMgYW4gaW50ZXJm
YWNlIGNvbWFwdGlibGUKIC8vIHdpdGggUmVtb3RlT2JqZWN0LCB0byBiZSB1c2VkIGJ5IHRoZSBV
SSBjb2RlIChwcmltYXJpbHkgT2JqZWN0UHJvcGVydGllc1NlY3Rpb24pLgogLy8gTm90ZSB0aGF0
IG9ubHkgSlNPTi1jb21wbGlhbnQgb2JqZWN0cyBhcmUgY3VycmVudGx5IHN1cHBvcnRlZCwgYXMg
dGhlcmUncyBubyBwcm92aXNpb24K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156771</attachid>
            <date>2012-08-06 15:20:40 -0700</date>
            <delta_ts>2012-08-07 04:28:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90631-20120807022015.patch</filename>
            <type>text/plain</type>
            <size>10920</size>
            <attacher name="Peter Rybin">prybin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0Mzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY5ZDg5MzVjNGU4Mjgx
OWFiODQ0OGYwNWEwYmNhN2YyY2MwZDdiZi4uMDI1NmVmYTkwYTgxMTI1NGU1M2EzOWQzYTk2MWU1
ODg4M2JlY2M4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTAzICBQZXRl
ciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBkaXNwbGF5IGZ1bmN0aW9uIHNjb3BlIGluIFVJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDYzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFR3byBuZXcgdHJlZSBlbGVtZW50IHR5cGVzIGFkZGVkOiBm
dW5jdGlvbiBzY29wZSBncm91cCBub2RlIGFuZCBzY29wZSBub2RlLgorICAgICAgICBTY29wZSBu
b2RlIGlzIG9ubHkgdXNlZCB0byByZXByZXNlbnQgY2xvc3VyZSBhbmQgY2F0Y2ggc2NvcGVzLiBT
Y29wZXMgdGhhdAorICAgICAgICBoYXZlIGEgcmVhbCBvYmplY3QgYmVuZWF0aCBhcmUgcmVwcmVz
ZW50ZWQgYXMgYSBwcm9wZXJ0eSBub2RlLgorICAgICAgICBBIG1ldGhvZCB0aGF0IHJlYWRzIHBy
b3BlcnRpZXMgZnJvbSBSZW1vdGVPYmplY3QgYW5kIHBvcHVsYXRlIHRyZWUgZWxlbWVudAorICAg
ICAgICBpcyBmYWN0b3JlZCBvdXQgZnJvbSBSZW1vdGVPYmplY3RUcmVlRWxlbWVudCBmb3IgcmV1
c2UuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0
aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlLm9ucG9wdWxhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3Bl
cnR5VHJlZUVsZW1lbnQuUG9wdWxhdGUuY2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQuUG9wdWxhdGUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUuZGlkR2V0
RGV0YWlscyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRnVuY3Rpb25TY29wZU1haW5UcmVlRWxl
bWVudC5wcm90b3R5cGUub25wb3B1bGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRnVuY3Rp
b25TY29wZU1haW5UcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUub25wb3B1bGF0ZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRhY2gpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNjb3BlVHJlZUVsZW1lbnQucHJvdG90eXBlLnVwZGF0ZSk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkuZnJvbVNjb3BlVmFsdWUpOgorCisKIDIw
MTItMDgtMDEgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtjaHJvbWl1bV0gZmFjdG9yIG91dCB0aGUgb3B0aW1pemF0aW9uIHBhc3MgaW4gQ0NSZW5kZXJT
dXJmYWNlRmlsdGVyczo6YXBwbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IGEwMzZm
NDEwZTU5NGMxNmNlZDFlNjVmODM1YjJhMjQ4ZTg2OTZmNGIuLjlhMTgyYTU5ODlhYjAxZTdjNzQ4
ODRjYmFmMTU5ZGNjMWM5OThlOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcwpAQCAtMjI2
LDMxICsyMjYsNyBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudCA9IGZ1
bmN0aW9uKHByb3BlcnR5KQogV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlID0gewogICAgIG9ucG9wdWxhdGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAg
IGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCAmJiAhdGhpcy5zaG91bGRSZWZyZXNoQ2hpbGRyZW4p
Ci0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKHRoaXMucHJvcGVydHkudmFsdWUu
YXJyYXlMZW5ndGgoKSA+IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5fYXJy
YXlMb2FkVGhyZXNob2xkKSB7Ci0gICAgICAgICAgICB0aGlzLnJlbW92ZUNoaWxkcmVuKCk7Ci0g
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50Ll9wb3B1bGF0
ZUFycmF5KHRoaXMsIHRoaXMucHJvcGVydHkudmFsdWUsIDAsIHRoaXMucHJvcGVydHkudmFsdWUu
YXJyYXlMZW5ndGgoKSAtIDEpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAg
ICAgICAgZnVuY3Rpb24gY2FsbGJhY2socHJvcGVydGllcykKLSAgICAgICAgewotICAgICAgICAg
ICAgdGhpcy5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICAgICAgaWYgKCFwcm9wZXJ0aWVzKQot
ICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgcHJvcGVydGllcy5zb3J0KFdl
Ykluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5Db21wYXJlUHJvcGVydGllcyk7Ci0g
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsK
LSAgICAgICAgICAgICAgICBpZiAodGhpcy50cmVlT3V0bGluZS5zZWN0aW9uLnNraXBQcm90byAm
JiBwcm9wZXJ0aWVzW2ldLm5hbWUgPT09ICJfX3Byb3RvX18iKQotICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzW2ldLnBhcmVudE9iamVjdCA9
IHRoaXMucHJvcGVydHkudmFsdWU7Ci0gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZChu
ZXcgdGhpcy50cmVlT3V0bGluZS5zZWN0aW9uLnRyZWVFbGVtZW50Q29uc3RydWN0b3IocHJvcGVy
dGllc1tpXSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgdGhpcy5wcm9w
ZXJ0eS52YWx1ZS5nZXRPd25Qcm9wZXJ0aWVzKGNhbGxiYWNrLmJpbmQodGhpcykpOworICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucG9wdWxhdGUo
dGhpcywgdGhpcy5wcm9wZXJ0eS52YWx1ZSk7CiAgICAgfSwKIAogICAgIG9uZGJsY2xpY2s6IGZ1
bmN0aW9uKGV2ZW50KQpAQCAtMzA1LDcgKzI4MSw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9w
ZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMudmFsdWVFbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwgdGhpcy5fY29udGV4dE1lbnVFdmVu
dEZpcmVkLmJpbmQodGhpcyksIGZhbHNlKTsKIAogICAgICAgICB0aGlzLnZhbHVlRWxlbWVudC50
aXRsZSA9IGRlc2NyaXB0aW9uIHx8ICIiOwotICAgICAgICAKKwogICAgICAgICB0aGlzLmxpc3RJ
dGVtRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwogCiAgICAgICAgIHRoaXMubGlzdEl0ZW1FbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMubmFtZUVsZW1lbnQpOwpAQCAtNDY4LDExICs0NDQsMTQ2IEBA
IFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAg
ICB9CiB9CiAKKy8qKgorICogQHBhcmFtIHtUcmVlRWxlbWVudH0gdHJlZUVsZW1lbnQKKyAqIEBw
YXJhbSB7V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdH0gdmFsdWUKKyAqLworV2ViSW5zcGVjdG9y
Lk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucG9wdWxhdGUgPSBmdW5jdGlvbih0cmVlRWxlbWVu
dCwgdmFsdWUpIHsKKyAgICBpZiAodHJlZUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoICYmICF0cmVl
RWxlbWVudC5zaG91bGRSZWZyZXNoQ2hpbGRyZW4pCisgICAgICAgIHJldHVybjsKKworICAgIGlm
ICh2YWx1ZS5hcnJheUxlbmd0aCgpID4gV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0
aW9uLl9hcnJheUxvYWRUaHJlc2hvbGQpIHsKKyAgICAgICAgdHJlZUVsZW1lbnQucmVtb3ZlQ2hp
bGRyZW4oKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5f
cG9wdWxhdGVBcnJheSh0cmVlRWxlbWVudCwgdmFsdWUsIDAsIHZhbHVlLmFycmF5TGVuZ3RoKCkg
LSAxKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHBy
b3BlcnRpZXMpCisgICAgeworICAgICAgICB0cmVlRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwor
ICAgICAgICBpZiAoIXByb3BlcnRpZXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
cHJvcGVydGllcy5zb3J0KFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5Db21w
YXJlUHJvcGVydGllcyk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5s
ZW5ndGg7ICsraSkgeworICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50LnRyZWVPdXRsaW5lLnNl
Y3Rpb24uc2tpcFByb3RvICYmIHByb3BlcnRpZXNbaV0ubmFtZSA9PT0gIl9fcHJvdG9fXyIpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBwcm9wZXJ0aWVzW2ldLnBhcmVu
dE9iamVjdCA9IHZhbHVlOworICAgICAgICAgICAgdHJlZUVsZW1lbnQuYXBwZW5kQ2hpbGQobmV3
IHRyZWVFbGVtZW50LnRyZWVPdXRsaW5lLnNlY3Rpb24udHJlZUVsZW1lbnRDb25zdHJ1Y3Rvcihw
cm9wZXJ0aWVzW2ldKSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHZhbHVlLnR5cGUgPT09ICJm
dW5jdGlvbiIpCisgICAgICAgICAgICB0cmVlRWxlbWVudC5hcHBlbmRDaGlsZChuZXcgV2ViSW5z
cGVjdG9yLkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQodmFsdWUpKTsKKyAgICB9CisKKyAg
ICB2YWx1ZS5nZXRPd25Qcm9wZXJ0aWVzKGNhbGxiYWNrKTsKK30KKwogV2ViSW5zcGVjdG9yLk9i
amVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFRyZWVFbGVtZW50
LnByb3RvdHlwZTsKIAogLyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtUcmVlRWxl
bWVudH0KKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdH0gcmVtb3RlT2JqZWN0
CisgKi8KK1dlYkluc3BlY3Rvci5GdW5jdGlvblNjb3BlTWFpblRyZWVFbGVtZW50ID0gZnVuY3Rp
b24ocmVtb3RlT2JqZWN0KQoreworICAgIFRyZWVFbGVtZW50LmNhbGwodGhpcywgIjxmdW5jdGlv
biBzY29wZT4iLCBudWxsLCBmYWxzZSk7CisgICAgdGhpcy50b2dnbGVPbkNsaWNrID0gdHJ1ZTsK
KyAgICB0aGlzLnNlbGVjdGFibGUgPSBmYWxzZTsKKyAgICB0aGlzLl9yZW1vdGVPYmplY3QgPSBy
ZW1vdGVPYmplY3Q7CisgICAgdGhpcy5oYXNDaGlsZHJlbiA9IHRydWU7Cit9CisKK1dlYkluc3Bl
Y3Rvci5GdW5jdGlvblNjb3BlTWFpblRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKKyAgICBvbnBv
cHVsYXRlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5jaGlsZHJlbi5sZW5n
dGggJiYgIXRoaXMuc2hvdWxkUmVmcmVzaENoaWxkcmVuKQorICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIGZ1bmN0aW9uIGRpZEdldERldGFpbHMoZXJyb3IsIHJlc3BvbnNlKQorICAgICAg
ICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmVy
cm9yKGVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICB0aGlzLnJlbW92ZUNoaWxkcmVuKCk7CisKKyAgICAgICAgICAgIHZhciBzY29wZUNo
YWluID0gcmVzcG9uc2Uuc2NvcGVDaGFpbjsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgc2NvcGVDaGFpbi5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIHZhciBzY29wZSA9
IHNjb3BlQ2hhaW5baV07CisgICAgICAgICAgICAgICAgdmFyIHRpdGxlID0gbnVsbDsKKyAgICAg
ICAgICAgICAgICB2YXIgaXNUcnVlT2JqZWN0OworCisgICAgICAgICAgICAgICAgc3dpdGNoIChz
Y29wZS50eXBlKSB7CisgICAgICAgICAgICAgICAgICAgIGNhc2UgImxvY2FsIjoKKyAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIE5vdCByZWFsbHkgZXhwZWN0aW5nIHRoaXMgc2NvcGUgdHlwZSBo
ZXJlLgorICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkxvY2FsIik7CisgICAgICAgICAgICAgICAgICAgICAgICBpc1RydWVPYmplY3QgPSBmYWxz
ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBj
YXNlICJjbG9zdXJlIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJDbG9zdXJlIik7CisgICAgICAgICAgICAgICAgICAgICAgICBpc1RydWVP
YmplY3QgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgICAgICBjYXNlICJjYXRjaCI6CisgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2F0Y2giKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlzVHJ1ZU9iamVjdCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgICAgIGNhc2UgIndpdGgiOgorICAgICAgICAgICAgICAgICAgICAgICAg
dGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIldpdGggQmxvY2siKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGlzVHJ1ZU9iamVjdCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSAiZ2xvYmFsIjoKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJHbG9iYWwiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGlzVHJ1ZU9iamVjdCA9IHRydWU7CisgICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB2
YXIgcmVtb3RlT2JqZWN0ID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChz
Y29wZS5vYmplY3QpOworICAgICAgICAgICAgICAgIGlmIChpc1RydWVPYmplY3QpIHsKKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFBy
b3BlcnR5LmZyb21TY29wZVZhbHVlKHRpdGxlLCByZW1vdGVPYmplY3QpOworICAgICAgICAgICAg
ICAgICAgICBwcm9wZXJ0eS5wYXJlbnRPYmplY3QgPSBudWxsOworICAgICAgICAgICAgICAgICAg
ICB0aGlzLmFwcGVuZENoaWxkKG5ldyB0aGlzLnRyZWVPdXRsaW5lLnNlY3Rpb24udHJlZUVsZW1l
bnRDb25zdHJ1Y3Rvcihwcm9wZXJ0eSkpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIHZhciBzY29wZVRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5T
Y29wZVRyZWVFbGVtZW50KHRpdGxlLCBudWxsLCByZW1vdGVPYmplY3QpOworICAgICAgICAgICAg
ICAgICAgICB0aGlzLmFwcGVuZENoaWxkKHNjb3BlVHJlZUVsZW1lbnQpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICB9CisgICAgICAgIERlYnVnZ2VyQWdlbnQu
Z2V0RnVuY3Rpb25EZXRhaWxzKHRoaXMuX3JlbW90ZU9iamVjdC5vYmplY3RJZCwgZGlkR2V0RGV0
YWlscy5iaW5kKHRoaXMpKTsKKworICAgIH0KK307CisKK1dlYkluc3BlY3Rvci5GdW5jdGlvblNj
b3BlTWFpblRyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBUcmVlRWxlbWVudC5wcm90
b3R5cGU7CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7VHJlZUVsZW1lbnR9
CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3R9IHJlbW90ZU9iamVjdAorICov
CitXZWJJbnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKHRpdGxlLCBzdWJ0aXRs
ZSwgcmVtb3RlT2JqZWN0KQoreworICAgIC8vIFRPRE86IHVzZSBzdWJ0aXRsZSBwYXJhbWV0ZXIu
CisgICAgVHJlZUVsZW1lbnQuY2FsbCh0aGlzLCB0aXRsZSwgbnVsbCwgZmFsc2UpOworICAgIHRo
aXMudG9nZ2xlT25DbGljayA9IHRydWU7CisgICAgdGhpcy5zZWxlY3RhYmxlID0gZmFsc2U7Cisg
ICAgdGhpcy5fcmVtb3RlT2JqZWN0ID0gcmVtb3RlT2JqZWN0OworICAgIHRoaXMuaGFzQ2hpbGRy
ZW4gPSB0cnVlOworfQorCitXZWJJbnNwZWN0b3IuU2NvcGVUcmVlRWxlbWVudC5wcm90b3R5cGUg
PSB7CisgICAgb25wb3B1bGF0ZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdl
Ykluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnBvcHVsYXRlKHRoaXMsIHRoaXMu
X3JlbW90ZU9iamVjdCk7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9yLlNjb3BlVHJlZUVsZW1l
bnQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFRyZWVFbGVtZW50LnByb3RvdHlwZTsKKworLyoqCisg
KiBAY29uc3RydWN0b3IKKyAqIEBleHRlbmRzIHtUcmVlRWxlbWVudH0KICAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLlJlbW90ZU9iamVjdH0gb2JqZWN0CiAgKiBAcGFyYW0ge251bWJlcn0gZnJvbUlu
ZGV4CiAgKiBAcGFyYW0ge251bWJlcn0gdG9JbmRleApAQCAtNjc5LDcgKzc5MCw3IEBAIFdlYklu
c3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgIHsKICAg
ICAgICAgaWYgKHRoaXMuX3BvcHVsYXRlZCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
CisKICAgICAgICAgdGhpcy5fcG9wdWxhdGVkID0gdHJ1ZTsKIAogICAgICAgICBpZiAodGhpcy5f
cHJvcGVydHlDb3VudCA+PSBXZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50Ll9i
dWNrZXRUaHJlc2hvbGQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9SZW1vdGVPYmplY3QuanMKaW5kZXggZTFiM2U2ZjE1OGViNzQ0N2M0NzhjMjBlNDZjMjcz
MzE0MDQxZWI2YS4uM2YzMjhlYzBiMDNkMzk4MTI3NWYwNTlmYjIyMjQ1ZDkzNzI5MDZiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3Qu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3Qu
anMKQEAgLTMzNiw3ICszMzYsNyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlw
ZSA9IHsKIC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZQotICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0fSB2YWx1ZSAKKyAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLlJlbW90ZU9iamVjdH0gdmFsdWUKICAqIEBwYXJhbSB7T2JqZWN0PX0gZGVzY3Jp
cHRvcgogICovCiBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkgPSBmdW5jdGlvbihu
YW1lLCB2YWx1ZSwgZGVzY3JpcHRvcikKQEAgLTM1OSw2ICszNTksMTggQEAgV2ViSW5zcGVjdG9y
LlJlbW90ZU9iamVjdFByb3BlcnR5LmZyb21QcmltaXRpdmVWYWx1ZSA9IGZ1bmN0aW9uKG5hbWUs
IHZhbHVlKQogICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5
KG5hbWUsIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVByaW1pdGl2ZVZhbHVlKHZhbHVl
KSk7CiB9CiAKKy8qKgorICogQHBhcmFtIHtzdHJpbmd9IG5hbWUKKyAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLlJlbW90ZU9iamVjdH0gdmFsdWUKKyAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5SZW1v
dGVPYmplY3RQcm9wZXJ0eX0KKyAqLworV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5
LmZyb21TY29wZVZhbHVlID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpCit7CisgICAgdmFyIHJlc3Vs
dCA9IG5ldyBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkobmFtZSwgdmFsdWUpOwor
ICAgIHJlc3VsdC53cml0YWJsZSA9IGZhbHNlOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIC8v
IFRoZSBiZWxvdyBpcyBhIHdyYXBwZXIgYXJvdW5kIGEgbG9jYWwgb2JqZWN0IHRoYXQgcHJvdmlk
ZXMgYW4gaW50ZXJmYWNlIGNvbWFwdGlibGUKIC8vIHdpdGggUmVtb3RlT2JqZWN0LCB0byBiZSB1
c2VkIGJ5IHRoZSBVSSBjb2RlIChwcmltYXJpbHkgT2JqZWN0UHJvcGVydGllc1NlY3Rpb24pLgog
Ly8gTm90ZSB0aGF0IG9ubHkgSlNPTi1jb21wbGlhbnQgb2JqZWN0cyBhcmUgY3VycmVudGx5IHN1
cHBvcnRlZCwgYXMgdGhlcmUncyBubyBwcm92aXNpb24K
</data>

          </attachment>
      

    </bug>

</bugzilla>