<?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>66050</bug_id>
          
          <creation_ts>2011-08-11 06:17:21 -0700</creation_ts>
          <short_desc>Web Inspector: Resources panel: display the current search match index in the toolbar.</short_desc>
          <delta_ts>2011-10-25 06:48:41 -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>
          
          <blocked>61119</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</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>449725</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-08-11 06:17:21 -0700</bug_when>
    <thetext>Resources panel: display the current search match index in the toolbar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449732</commentid>
    <comment_count>1</comment_count>
      <attachid>103613</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-08-11 06:26:04 -0700</bug_when>
    <thetext>Created attachment 103613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>449769</commentid>
    <comment_count>2</comment_count>
      <attachid>103613</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-11 07:55:11 -0700</bug_when>
    <thetext>Comment on attachment 103613
Patch

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

Too much logic here, please provide a test.

&gt; Source/WebCore/inspector/front-end/ResourcesPanel.js:1632
&gt; +            return this._searchResult(this._traverser.next(currentTreeElement), 0, this._currentMatchIndex % this._matchesCount + 1);

Why % ? Shouldn&apos;t _currentMatchIndex be normalized on its own?

&gt; Source/WebCore/inspector/front-end/ResourcesPanel.js:1650
&gt; +                return this._searchResult(treeElement, treeElement.searchMatchesCount - 1, currentMatchIndex);

I think this requires a test!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489946</commentid>
    <comment_count>3</comment_count>
      <attachid>112314</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-10-25 03:23:51 -0700</bug_when>
    <thetext>Created attachment 112314
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490010</commentid>
    <comment_count>4</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-10-25 06:48:41 -0700</bug_when>
    <thetext>Committed r98339: &lt;http://trac.webkit.org/changeset/98339&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103613</attachid>
            <date>2011-08-11 06:26:04 -0700</date>
            <delta_ts>2011-10-25 03:23:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66050-20110811172602.patch</filename>
            <type>text/plain</type>
            <size>8433</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI4MzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjZjhmODAxYzYzMTRhZTYw
MzRlOTMxNmE2MTVlMmQ4YWFhNzQxYzYxLi43NzllZDUwN2RlYTU4N2Q1Zjg1OTNmYTBlNDUxNDRj
ZTMxZTgxYjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDgtMTEgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogUmVzb3VyY2VzIHBhbmVsOiBkaXNwbGF5IHRoZSBjdXJyZW50IHNlYXJjaCBtYXRjaCBpbmRl
eCBpbiB0aGUgdG9vbGJhci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2MDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoLmNh
bGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUu
cGVyZm9ybVNlYXJjaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJv
dG90eXBlLl9zaG93U2VhcmNoUmVzdWx0LmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX3Nob3dTZWFyY2hSZXN1bHQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlc291cmNlc1NlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlc291cmNlc1NlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLm5leHRTZWFyY2hSZXN1
bHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1NlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlLnByZXZpb3VzU2VhcmNoUmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNv
dXJjZXNTZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fc2VhcmNoUmVzdWx0KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRzVHJlZUVsZW1lbnRzVHJhdmVyc2VyLnByb3RvdHlw
ZS5uZXh0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRzVHJlZUVsZW1lbnRz
VHJhdmVyc2VyLnByb3RvdHlwZS5wcmV2aW91cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoUmVzdWx0c1RyZWVFbGVtZW50c1RyYXZlcnNlci5wcm90b3R5cGUubWF0Y2hJbmRleCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0c1RyZWVFbGVtZW50c1RyYXZlcnNlci5w
cm90b3R5cGUuX2VsZW1lbnRTZWFyY2hNYXRjaGVzQ291bnQpOgorCiAyMDExLTA4LTExICBBbmRy
YXMgQmVjc2kgIDxhYmVjc2lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbR1RLXSBGaXggdGhlIGJ1
aWxkIGFmdGVyIHI5Mjc5Mi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCmluZGV4IGIxMTc0YTFkYTUyZjA1ZTZhY2JiNDZmYTRk
MTQ2YWVjMTg0OTE2MDEuLjhkMzIxYzZmNzQyNzUxNmEwZGYwNmE0YmE4MjcxMDJlODdjMzA3NDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2Vz
UGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJj
ZXNQYW5lbC5qcwpAQCAtNzIxLDcgKzcyMSw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5l
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVyLnVwZGF0ZVNlYXJjaE1hdGNoZXNDb3VudCh0
b3RhbE1hdGNoZXNDb3VudCwgdGhpcyk7Ci0gICAgICAgICAgICB0aGlzLl9zZWFyY2hDb250cm9s
bGVyID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyKHRoaXMucmVz
b3VyY2VzTGlzdFRyZWVFbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2xs
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlc1NlYXJjaENvbnRyb2xsZXIodGhpcy5yZXNv
dXJjZXNMaXN0VHJlZUVsZW1lbnQsIHRvdGFsTWF0Y2hlc0NvdW50KTsKIAogICAgICAgICAgICAg
aWYgKHRoaXMuc2lkZWJhclRyZWUuc2VsZWN0ZWRUcmVlRWxlbWVudCAmJiB0aGlzLnNpZGViYXJU
cmVlLnNlbGVjdGVkVHJlZUVsZW1lbnQuc2VhcmNoTWF0Y2hlc0NvdW50KQogICAgICAgICAgICAg
ICAgIHRoaXMuanVtcFRvTmV4dFNlYXJjaFJlc3VsdCgpOwpAQCAtNzY5LDYgKzc2OSw3IEBAIFdl
Ykluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAg
cmV0dXJuOyAvLyBVc2VyIGhhcyBzZWxlY3RlZCBhbm90aGVyIHZpZXcgd2hpbGUgd2Ugd2VyZSBz
ZWFyY2hpbmcuCiAgICAgICAgICAgICBpZiAodGhpcy5fbGFzdFNlYXJjaFJlc3VsdEluZGV4ICE9
IC0xKQogICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZVZpZXcuanVtcFRvU2VhcmNoUmVzdWx0
KHRoaXMuX2xhc3RTZWFyY2hSZXN1bHRJbmRleCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
c2VhcmNoQ29udHJvbGxlci51cGRhdGVDdXJyZW50TWF0Y2hJbmRleChzZWFyY2hSZXN1bHQuY3Vy
cmVudE1hdGNoSW5kZXgsIHRoaXMpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gVGhlbiBydW4g
U291cmNlRnJhbWUgc2VhcmNoIGlmIG5lZWRlZCBhbmQganVtcCB0byBzZWFyY2ggcmVzdWx0IGlu
ZGV4IHdoZW4gZG9uZS4KQEAgLTE2MDYsOSArMTYwNywxMCBAQCBXZWJJbnNwZWN0b3IuU3RvcmFn
ZUNhdGVnb3J5Vmlldy5wcm90b3R5cGUgPSB7CiAKIFdlYkluc3BlY3Rvci5TdG9yYWdlQ2F0ZWdv
cnlWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7
CiAKLVdlYkluc3BlY3Rvci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24ocm9v
dEVsZW1lbnQpCitXZWJJbnNwZWN0b3IuUmVzb3VyY2VzU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0
aW9uKHJvb3RFbGVtZW50LCBtYXRjaGVzQ291bnQpCiB7CiAgICAgdGhpcy5fcm9vdCA9IHJvb3RF
bGVtZW50OworICAgIHRoaXMuX21hdGNoZXNDb3VudCA9IG1hdGNoZXNDb3VudDsKICAgICB0aGlz
Ll90cmF2ZXJzZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNlYXJjaFJlc3VsdHNUcmVlRWxlbWVudHNU
cmF2ZXJzZXIocm9vdEVsZW1lbnQpOwogICAgIHRoaXMuX2xhc3RUcmVlRWxlbWVudCA9IG51bGw7
CiAgICAgdGhpcy5fbGFzdEluZGV4ID0gLTE7CkBAIC0xNjE4LDcgKzE2MjAsNyBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VzU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgbmV4dFNl
YXJjaFJlc3VsdDogZnVuY3Rpb24oY3VycmVudFRyZWVFbGVtZW50KQogICAgIHsKICAgICAgICAg
aWYgKCFjdXJyZW50VHJlZUVsZW1lbnQpCi0gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNo
UmVzdWx0KHRoaXMuX3RyYXZlcnNlci5maXJzdCgpLCAwKTsKKyAgICAgICAgICAgIHJldHVybiB0
aGlzLl9zZWFyY2hSZXN1bHQodGhpcy5fdHJhdmVyc2VyLmZpcnN0KCksIDAsIDEpOwogCiAgICAg
ICAgIGlmICghY3VycmVudFRyZWVFbGVtZW50LnNlYXJjaE1hdGNoZXNDb3VudCkKICAgICAgICAg
ICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXN1bHQodGhpcy5fdHJhdmVyc2VyLm5leHQoY3VycmVu
dFRyZWVFbGVtZW50KSwgMCk7CkBAIC0xNjI3LDMwICsxNjI5LDQwIEBAIFdlYkluc3BlY3Rvci5S
ZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVy
biB0aGlzLl9zZWFyY2hSZXN1bHQoY3VycmVudFRyZWVFbGVtZW50LCAwKTsKIAogICAgICAgICBp
ZiAodGhpcy5fbGFzdEluZGV4ID09IGN1cnJlbnRUcmVlRWxlbWVudC5zZWFyY2hNYXRjaGVzQ291
bnQgLSAxKQotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFJlc3VsdCh0aGlzLl90cmF2
ZXJzZXIubmV4dChjdXJyZW50VHJlZUVsZW1lbnQpLCAwKTsKKyAgICAgICAgICAgIHJldHVybiB0
aGlzLl9zZWFyY2hSZXN1bHQodGhpcy5fdHJhdmVyc2VyLm5leHQoY3VycmVudFRyZWVFbGVtZW50
KSwgMCwgdGhpcy5fY3VycmVudE1hdGNoSW5kZXggJSB0aGlzLl9tYXRjaGVzQ291bnQgKyAxKTsK
IAotICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzdWx0KGN1cnJlbnRUcmVlRWxlbWVudCwg
dGhpcy5fbGFzdEluZGV4ICsgMSk7CisgICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXN1bHQo
Y3VycmVudFRyZWVFbGVtZW50LCB0aGlzLl9sYXN0SW5kZXggKyAxLCB0aGlzLl9jdXJyZW50TWF0
Y2hJbmRleCArIDEpOwogICAgIH0sCiAgICAgCiAgICAgcHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1
bmN0aW9uKGN1cnJlbnRUcmVlRWxlbWVudCkKICAgICB7CiAgICAgICAgIGlmICghY3VycmVudFRy
ZWVFbGVtZW50KSB7CiAgICAgICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLl90cmF2ZXJz
ZXIubGFzdCgpOwotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFJlc3VsdCh0cmVlRWxl
bWVudCwgdHJlZUVsZW1lbnQuc2VhcmNoTWF0Y2hlc0NvdW50IC0gMSk7ICAgICAgICAgICAgCisg
ICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzdWx0KHRyZWVFbGVtZW50LCB0cmVlRWxl
bWVudC5zZWFyY2hNYXRjaGVzQ291bnQgLSAxLCB0aGlzLl9tYXRjaGVzQ291bnQpOyAgICAgICAg
ICAgIAogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAoY3VycmVudFRyZWVFbGVtZW50
LnNlYXJjaE1hdGNoZXNDb3VudCAmJiB0aGlzLl9sYXN0VHJlZUVsZW1lbnQgPT09IGN1cnJlbnRU
cmVlRWxlbWVudCAmJiB0aGlzLl9sYXN0SW5kZXggPiAwKQotICAgICAgICAgICAgcmV0dXJuIHRo
aXMuX3NlYXJjaFJlc3VsdChjdXJyZW50VHJlZUVsZW1lbnQsIHRoaXMuX2xhc3RJbmRleCAtIDEp
OwotICAgICAgICAgCisgICAgICAgIGlmIChjdXJyZW50VHJlZUVsZW1lbnQuc2VhcmNoTWF0Y2hl
c0NvdW50ICYmIHRoaXMuX2xhc3RUcmVlRWxlbWVudCA9PT0gY3VycmVudFRyZWVFbGVtZW50KSB7
CisgICAgICAgICAgICBpZiAodGhpcy5fbGFzdEluZGV4ID4gMCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gdGhpcy5fc2VhcmNoUmVzdWx0KGN1cnJlbnRUcmVlRWxlbWVudCwgdGhpcy5fbGFzdElu
ZGV4IC0gMSwgdGhpcy5fY3VycmVudE1hdGNoSW5kZXggLSAxKTsKKyAgICAgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IHRoaXMuX3RyYXZlcnNlci5wcmV2
aW91cyhjdXJyZW50VHJlZUVsZW1lbnQpOworICAgICAgICAgICAgICAgIHZhciBjdXJyZW50TWF0
Y2hJbmRleCA9IHRoaXMuX2N1cnJlbnRNYXRjaEluZGV4IC0gMSA/IHRoaXMuX2N1cnJlbnRNYXRj
aEluZGV4IC0gMSA6IHRoaXMuX21hdGNoZXNDb3VudDsgCisgICAgICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX3NlYXJjaFJlc3VsdCh0cmVlRWxlbWVudCwgdHJlZUVsZW1lbnQuc2VhcmNoTWF0Y2hl
c0NvdW50IC0gMSwgY3VycmVudE1hdGNoSW5kZXgpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisKICAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gdGhpcy5fdHJhdmVyc2VyLnByZXZpb3VzKGN1
cnJlbnRUcmVlRWxlbWVudCkKICAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFJlc3VsdCh0cmVl
RWxlbWVudCwgdHJlZUVsZW1lbnQuc2VhcmNoTWF0Y2hlc0NvdW50IC0gMSk7CiAgICAgfSwKIAot
ICAgIF9zZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50LCBpbmRleCkKKyAgICBfc2Vh
cmNoUmVzdWx0OiBmdW5jdGlvbih0cmVlRWxlbWVudCwgaW5kZXgsIGN1cnJlbnRNYXRjaEluZGV4
KQogICAgIHsKICAgICAgICAgdGhpcy5fbGFzdFRyZWVFbGVtZW50ID0gdHJlZUVsZW1lbnQ7CiAg
ICAgICAgIHRoaXMuX2xhc3RJbmRleCA9IGluZGV4OwotICAgICAgICByZXR1cm4ge3RyZWVFbGVt
ZW50OiB0cmVlRWxlbWVudCwgaW5kZXg6IGluZGV4fTsKKyAgICAgICAgaWYgKCFjdXJyZW50TWF0
Y2hJbmRleCkKKyAgICAgICAgICAgIGN1cnJlbnRNYXRjaEluZGV4ID0gdGhpcy5fdHJhdmVyc2Vy
Lm1hdGNoSW5kZXgodHJlZUVsZW1lbnQsIGluZGV4KTsKKyAgICAgICAgdGhpcy5fY3VycmVudE1h
dGNoSW5kZXggPSBjdXJyZW50TWF0Y2hJbmRleDsKKyAgICAgICAgcmV0dXJuIHt0cmVlRWxlbWVu
dDogdHJlZUVsZW1lbnQsIGluZGV4OiBpbmRleCwgY3VycmVudE1hdGNoSW5kZXg6IGN1cnJlbnRN
YXRjaEluZGV4fTsKICAgICB9CiB9CiAKQEAgLTE2NzUsNyArMTY4Nyw3IEBAIFdlYkluc3BlY3Rv
ci5TZWFyY2hSZXN1bHRzVHJlZUVsZW1lbnRzVHJhdmVyc2VyLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgdmFyIHRyZWVFbGVtZW50ID0gc3RhcnRUcmVlRWxlbWVudDsKICAgICAgICAgZG8gewogICAg
ICAgICAgICAgdHJlZUVsZW1lbnQgPSB0aGlzLl90cmF2ZXJzZU5leHQodHJlZUVsZW1lbnQpIHx8
IHRoaXMuX3Jvb3Q7Ci0gICAgICAgIH0gd2hpbGUgKHRyZWVFbGVtZW50ICE9IHN0YXJ0VHJlZUVs
ZW1lbnQgJiYgIXRoaXMuX2VsZW1lbnRIYXNTZWFyY2hSZXN1bHRzKHRyZWVFbGVtZW50KSk7Cisg
ICAgICAgIH0gd2hpbGUgKHRyZWVFbGVtZW50ICE9IHN0YXJ0VHJlZUVsZW1lbnQgJiYgIXRoaXMu
X2VsZW1lbnRTZWFyY2hNYXRjaGVzQ291bnQodHJlZUVsZW1lbnQpKTsKICAgICAgICAgcmV0dXJu
IHRyZWVFbGVtZW50OwogICAgIH0sCiAKQEAgLTE2ODQsMTggKzE2OTYsMzEgQEAgV2ViSW5zcGVj
dG9yLlNlYXJjaFJlc3VsdHNUcmVlRWxlbWVudHNUcmF2ZXJzZXIucHJvdG90eXBlID0gewogICAg
ICAgICB2YXIgdHJlZUVsZW1lbnQgPSBzdGFydFRyZWVFbGVtZW50OwogICAgICAgICBkbyB7CiAg
ICAgICAgICAgICB0cmVlRWxlbWVudCA9IHRoaXMuX3RyYXZlcnNlUHJldmlvdXModHJlZUVsZW1l
bnQpIHx8IHRoaXMuX2xhc3RUcmVlRWxlbWVudCgpOwotICAgICAgICB9IHdoaWxlICh0cmVlRWxl
bWVudCAhPSBzdGFydFRyZWVFbGVtZW50ICYmICF0aGlzLl9lbGVtZW50SGFzU2VhcmNoUmVzdWx0
cyh0cmVlRWxlbWVudCkpOworICAgICAgICB9IHdoaWxlICh0cmVlRWxlbWVudCAhPSBzdGFydFRy
ZWVFbGVtZW50ICYmICF0aGlzLl9lbGVtZW50U2VhcmNoTWF0Y2hlc0NvdW50KHRyZWVFbGVtZW50
KSk7CiAgICAgICAgIHJldHVybiB0cmVlRWxlbWVudDsKICAgICB9LAogCisgICAgbWF0Y2hJbmRl
eDogZnVuY3Rpb24oc3RhcnRUcmVlRWxlbWVudCwgaW5kZXgpCisgICAgeworICAgICAgICB2YXIg
bWF0Y2hJbmRleCA9IDE7CisgICAgICAgIHZhciB0cmVlRWxlbWVudCA9IHRoaXMuX3Jvb3Q7Cisg
ICAgICAgIHdoaWxlICh0cmVlRWxlbWVudCAhPSBzdGFydFRyZWVFbGVtZW50KSB7CisgICAgICAg
ICAgICBtYXRjaEluZGV4ICs9IHRoaXMuX2VsZW1lbnRTZWFyY2hNYXRjaGVzQ291bnQodHJlZUVs
ZW1lbnQpOworICAgICAgICAgICAgdHJlZUVsZW1lbnQgPSB0aGlzLl90cmF2ZXJzZU5leHQodHJl
ZUVsZW1lbnQpIHx8IHRoaXMuX3Jvb3Q7CisgICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQgPT09
IHRoaXMuX3Jvb3QpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIG1hdGNoSW5kZXg7CisgICAgfSwKKwogICAgIF90cmF2ZXJzZU5leHQ6IGZ1bmN0
aW9uKHRyZWVFbGVtZW50KQogICAgIHsKICAgICAgICAgcmV0dXJuIHRyZWVFbGVtZW50LnRyYXZl
cnNlTmV4dFRyZWVFbGVtZW50KGZhbHNlLCB0aGlzLl9yb290LCB0cnVlKTsKICAgICB9LAogCi0g
ICAgX2VsZW1lbnRIYXNTZWFyY2hSZXN1bHRzOiBmdW5jdGlvbih0cmVlRWxlbWVudCkKKyAgICBf
ZWxlbWVudFNlYXJjaE1hdGNoZXNDb3VudDogZnVuY3Rpb24odHJlZUVsZW1lbnQpCiAgICAgewot
ICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRnJhbWVS
ZXNvdXJjZVRyZWVFbGVtZW50ICYmIHRyZWVFbGVtZW50LnNlYXJjaE1hdGNoZXNDb3VudDsKKyAg
ICAgICAgcmV0dXJuIHRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkZyYW1lUmVz
b3VyY2VUcmVlRWxlbWVudCA/IHRyZWVFbGVtZW50LnNlYXJjaE1hdGNoZXNDb3VudCA6IDA7CiAg
ICAgfSwKIAogICAgIF90cmF2ZXJzZVByZXZpb3VzOiBmdW5jdGlvbih0cmVlRWxlbWVudCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112314</attachid>
            <date>2011-10-25 03:23:51 -0700</date>
            <delta_ts>2011-10-25 06:23:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66050-20111025142349.patch</filename>
            <type>text/plain</type>
            <size>23259</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgzMjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NmRlNWM5NTQ0YTg0Mzk2
MWFhYTY3ZmNmYmJiOGVjYjcyM2U0M2Q3Li44ZDIxN2YwOWYyYzA2YTRjNzJlNDZmN2E3Y2Q5OWNh
YjEwNjczZjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMTAtMjUgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogUmVzb3VyY2VzIHBhbmVsOiBkaXNwbGF5IHRoZSBjdXJyZW50IHNlYXJjaCBtYXRjaCBpbmRl
eCBpbiB0aGUgdG9vbGJhci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2MDUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9pbnNwZWN0b3Ivc2VhcmNoL3Jlc291cmNlcy1zZWFy
Y2gtbWF0Y2gtaW5kZXguaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNv
dXJjZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90
b3R5cGUucGVyZm9ybVNlYXJjaC5jYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVz
b3VyY2VzUGFuZWwucHJvdG90eXBlLnBlcmZvcm1TZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5fc2hvd1NlYXJjaFJlc3VsdC5jYWxsYmFjayk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLl9zaG93U2Vh
cmNoUmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50
LnByb3RvdHlwZS5nZXQgc2VhcmNoTWF0Y2hlc0NvdW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNv
dXJjZXNTZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5uZXh0U2VhcmNoUmVzdWx0KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5wcmV2
aW91c1NlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzU2VhcmNo
Q29udHJvbGxlci5wcm90b3R5cGUuX3NlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2VhcmNoUmVzdWx0c1RyZWVFbGVtZW50c1RyYXZlcnNlci5wcm90b3R5cGUubmV4dCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0c1RyZWVFbGVtZW50c1RyYXZlcnNlci5w
cm90b3R5cGUucHJldmlvdXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFJlc3VsdHNU
cmVlRWxlbWVudHNUcmF2ZXJzZXIucHJvdG90eXBlLm1hdGNoSW5kZXgpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNlYXJjaFJlc3VsdHNUcmVlRWxlbWVudHNUcmF2ZXJzZXIucHJvdG90eXBlLl9l
bGVtZW50U2VhcmNoTWF0Y2hlc0NvdW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hS
ZXN1bHRzVHJlZUVsZW1lbnRzVHJhdmVyc2VyLnByb3RvdHlwZS5fdHJhdmVyc2VOZXh0KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRzVHJlZUVsZW1lbnRzVHJhdmVyc2VyLnBy
b3RvdHlwZS5fdHJhdmVyc2VQcmV2aW91cyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC90cmVlb3V0bGluZS5qczoKKwogMjAxMS0xMC0yNCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFu
QGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcHJpbnQgZXhwaXJlZCBtZXNz
YWdlIGNvdW50IGJlZm9yZSByZW1haW5pbmcgbWVzc2FnZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCBmMTk4YTcz
ZTFiZDdjZGIxMDhiMjVjYzBmMzQ2YWFiZDBjNTMyZTY0Li4wYTY2M2IxMmM3ZTc1MTVjMDQwNDI2
MmVlZjQzNmVlMjIwMGM4MjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKQEAgLTY0Niw3ICs2NDYsNyBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBXZWJJbnNwZWN0b3Iuc2VhcmNoQ29udHJvbGxlci51cGRhdGVTZWFyY2hNYXRjaGVz
Q291bnQodG90YWxNYXRjaGVzQ291bnQsIHRoaXMpOwotICAgICAgICAgICAgdGhpcy5fc2VhcmNo
Q29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzU2VhcmNoQ29udHJvbGxlcih0
aGlzLnJlc291cmNlc0xpc3RUcmVlRWxlbWVudCk7CisgICAgICAgICAgICB0aGlzLl9zZWFyY2hD
b250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyKHRo
aXMucmVzb3VyY2VzTGlzdFRyZWVFbGVtZW50LCB0b3RhbE1hdGNoZXNDb3VudCk7CiAKICAgICAg
ICAgICAgIGlmICh0aGlzLnNpZGViYXJUcmVlLnNlbGVjdGVkVHJlZUVsZW1lbnQgJiYgdGhpcy5z
aWRlYmFyVHJlZS5zZWxlY3RlZFRyZWVFbGVtZW50LnNlYXJjaE1hdGNoZXNDb3VudCkKICAgICAg
ICAgICAgICAgICB0aGlzLmp1bXBUb05leHRTZWFyY2hSZXN1bHQoKTsKQEAgLTY5NCw2ICs2OTQs
NyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgICAgIHJldHVybjsgLy8gVXNlciBoYXMgc2VsZWN0ZWQgYW5vdGhlciB2aWV3IHdoaWxlIHdl
IHdlcmUgc2VhcmNoaW5nLgogICAgICAgICAgICAgaWYgKHRoaXMuX2xhc3RTZWFyY2hSZXN1bHRJ
bmRleCAhPSAtMSkKICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3Lmp1bXBUb1NlYXJj
aFJlc3VsdCh0aGlzLl9sYXN0U2VhcmNoUmVzdWx0SW5kZXgpOworICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnNlYXJjaENvbnRyb2xsZXIudXBkYXRlQ3VycmVudE1hdGNoSW5kZXgoc2VhcmNoUmVz
dWx0LmN1cnJlbnRNYXRjaEluZGV4LCB0aGlzKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIFRo
ZW4gcnVuIFNvdXJjZUZyYW1lIHNlYXJjaCBpZiBuZWVkZWQgYW5kIGp1bXAgdG8gc2VhcmNoIHJl
c3VsdCBpbmRleCB3aGVuIGRvbmUuCkBAIC04OTQsNiArODk1LDExIEBAIFdlYkluc3BlY3Rvci5C
YXNlU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMudGl0
bGVFbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5fdGl0bGVUZXh0OwogICAgIH0sCiAKKyAgICBn
ZXQgc2VhcmNoTWF0Y2hlc0NvdW50KCkKKyAgICB7CisgICAgICAgIHJldHVybiAwOworICAgIH0s
CisKICAgICBpc0V2ZW50V2l0aGluRGlzY2xvc3VyZVRyaWFuZ2xlOiBmdW5jdGlvbihldmVudCkK
ICAgICB7CiAgICAgICAgIC8vIE92ZXJyaWRlIGl0IHNpbmNlIHdlIHVzZSBtYXJnaW4tbGVmdCBp
biBwbGFjZSBvZiB0cmVlb3V0bGluZSdzIHRleHQtaW5kZW50LgpAQCAtMTU4OCwyMCArMTU5NCwy
NiBAQCBXZWJJbnNwZWN0b3IuU3RvcmFnZUNhdGVnb3J5Vmlldy5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgorICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudH0gcm9vdEVsZW1lbnQK
KyAqIEBwYXJhbSB7bnVtYmVyfSBtYXRjaGVzQ291bnQKICAqLwotV2ViSW5zcGVjdG9yLlJlc291
cmNlc1NlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbihyb290RWxlbWVudCkKK1dlYkluc3BlY3Rv
ci5SZXNvdXJjZXNTZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24ocm9vdEVsZW1lbnQsIG1hdGNo
ZXNDb3VudCkKIHsKICAgICB0aGlzLl9yb290ID0gcm9vdEVsZW1lbnQ7CisgICAgdGhpcy5fbWF0
Y2hlc0NvdW50ID0gbWF0Y2hlc0NvdW50OwogICAgIHRoaXMuX3RyYXZlcnNlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuU2VhcmNoUmVzdWx0c1RyZWVFbGVtZW50c1RyYXZlcnNlcihyb290RWxlbWVudCk7
CiAgICAgdGhpcy5fbGFzdFRyZWVFbGVtZW50ID0gbnVsbDsKICAgICB0aGlzLl9sYXN0SW5kZXgg
PSAtMTsKIH0KIAogV2ViSW5zcGVjdG9yLlJlc291cmNlc1NlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlID0geworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdl
VHJlZUVsZW1lbnR9IGN1cnJlbnRUcmVlRWxlbWVudAorICAgICAqLwogICAgIG5leHRTZWFyY2hS
ZXN1bHQ6IGZ1bmN0aW9uKGN1cnJlbnRUcmVlRWxlbWVudCkKICAgICB7CiAgICAgICAgIGlmICgh
Y3VycmVudFRyZWVFbGVtZW50KQotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFJlc3Vs
dCh0aGlzLl90cmF2ZXJzZXIuZmlyc3QoKSwgMCk7CisgICAgICAgICAgICByZXR1cm4gdGhpcy5f
c2VhcmNoUmVzdWx0KHRoaXMuX3RyYXZlcnNlci5maXJzdCgpLCAwLCAxKTsKIAogICAgICAgICBp
ZiAoIWN1cnJlbnRUcmVlRWxlbWVudC5zZWFyY2hNYXRjaGVzQ291bnQpCiAgICAgICAgICAgICBy
ZXR1cm4gdGhpcy5fc2VhcmNoUmVzdWx0KHRoaXMuX3RyYXZlcnNlci5uZXh0KGN1cnJlbnRUcmVl
RWxlbWVudCksIDApOwpAQCAtMTYxMCwzNSArMTYyMiw1NSBAQCBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VzU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gdGhp
cy5fc2VhcmNoUmVzdWx0KGN1cnJlbnRUcmVlRWxlbWVudCwgMCk7CiAKICAgICAgICAgaWYgKHRo
aXMuX2xhc3RJbmRleCA9PSBjdXJyZW50VHJlZUVsZW1lbnQuc2VhcmNoTWF0Y2hlc0NvdW50IC0g
MSkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXN1bHQodGhpcy5fdHJhdmVyc2Vy
Lm5leHQoY3VycmVudFRyZWVFbGVtZW50KSwgMCk7CisgICAgICAgICAgICByZXR1cm4gdGhpcy5f
c2VhcmNoUmVzdWx0KHRoaXMuX3RyYXZlcnNlci5uZXh0KGN1cnJlbnRUcmVlRWxlbWVudCksIDAs
IHRoaXMuX2N1cnJlbnRNYXRjaEluZGV4ICUgdGhpcy5fbWF0Y2hlc0NvdW50ICsgMSk7CiAKLSAg
ICAgICAgcmV0dXJuIHRoaXMuX3NlYXJjaFJlc3VsdChjdXJyZW50VHJlZUVsZW1lbnQsIHRoaXMu
X2xhc3RJbmRleCArIDEpOworICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzdWx0KGN1cnJl
bnRUcmVlRWxlbWVudCwgdGhpcy5fbGFzdEluZGV4ICsgMSwgdGhpcy5fY3VycmVudE1hdGNoSW5k
ZXggKyAxKTsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3Iu
QmFzZVN0b3JhZ2VUcmVlRWxlbWVudH0gY3VycmVudFRyZWVFbGVtZW50CisgICAgICovCiAgICAg
cHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKGN1cnJlbnRUcmVlRWxlbWVudCkKICAgICB7
CiAgICAgICAgIGlmICghY3VycmVudFRyZWVFbGVtZW50KSB7CiAgICAgICAgICAgICB2YXIgdHJl
ZUVsZW1lbnQgPSB0aGlzLl90cmF2ZXJzZXIubGFzdCgpOwotICAgICAgICAgICAgcmV0dXJuIHRo
aXMuX3NlYXJjaFJlc3VsdCh0cmVlRWxlbWVudCwgdHJlZUVsZW1lbnQuc2VhcmNoTWF0Y2hlc0Nv
dW50IC0gMSk7CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzdWx0KHRyZWVFbGVt
ZW50LCB0cmVlRWxlbWVudC5zZWFyY2hNYXRjaGVzQ291bnQgLSAxLCB0aGlzLl9tYXRjaGVzQ291
bnQpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKGN1cnJlbnRUcmVlRWxlbWVudC5zZWFyY2hN
YXRjaGVzQ291bnQgJiYgdGhpcy5fbGFzdFRyZWVFbGVtZW50ID09PSBjdXJyZW50VHJlZUVsZW1l
bnQgJiYgdGhpcy5fbGFzdEluZGV4ID4gMCkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9zZWFy
Y2hSZXN1bHQoY3VycmVudFRyZWVFbGVtZW50LCB0aGlzLl9sYXN0SW5kZXggLSAxKTsKKyAgICAg
ICAgaWYgKGN1cnJlbnRUcmVlRWxlbWVudC5zZWFyY2hNYXRjaGVzQ291bnQgJiYgdGhpcy5fbGFz
dFRyZWVFbGVtZW50ID09PSBjdXJyZW50VHJlZUVsZW1lbnQpIHsKKyAgICAgICAgICAgIGlmICh0
aGlzLl9sYXN0SW5kZXggPiAwKQorICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hS
ZXN1bHQoY3VycmVudFRyZWVFbGVtZW50LCB0aGlzLl9sYXN0SW5kZXggLSAxLCB0aGlzLl9jdXJy
ZW50TWF0Y2hJbmRleCAtIDEpOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAg
dmFyIHRyZWVFbGVtZW50ID0gdGhpcy5fdHJhdmVyc2VyLnByZXZpb3VzKGN1cnJlbnRUcmVlRWxl
bWVudCk7CisgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRNYXRjaEluZGV4ID0gdGhpcy5fY3Vy
cmVudE1hdGNoSW5kZXggLSAxID8gdGhpcy5fY3VycmVudE1hdGNoSW5kZXggLSAxIDogdGhpcy5f
bWF0Y2hlc0NvdW50OworICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXN1bHQo
dHJlZUVsZW1lbnQsIHRyZWVFbGVtZW50LnNlYXJjaE1hdGNoZXNDb3VudCAtIDEsIGN1cnJlbnRN
YXRjaEluZGV4KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCiAgICAgICAgIHZhciB0cmVl
RWxlbWVudCA9IHRoaXMuX3RyYXZlcnNlci5wcmV2aW91cyhjdXJyZW50VHJlZUVsZW1lbnQpCiAg
ICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXN1bHQodHJlZUVsZW1lbnQsIHRyZWVFbGVtZW50
LnNlYXJjaE1hdGNoZXNDb3VudCAtIDEpOwogICAgIH0sCiAKLSAgICBfc2VhcmNoUmVzdWx0OiBm
dW5jdGlvbih0cmVlRWxlbWVudCwgaW5kZXgpCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudH0gdHJlZUVsZW1lbnQKKyAgICAgKiBAcGFy
YW0ge251bWJlcn0gaW5kZXgKKyAgICAgKiBAcGFyYW0ge251bWJlcj19IGN1cnJlbnRNYXRjaElu
ZGV4CisgICAgICogQHJldHVybiB7T2JqZWN0fQorICAgICAqLworICAgIF9zZWFyY2hSZXN1bHQ6
IGZ1bmN0aW9uKHRyZWVFbGVtZW50LCBpbmRleCwgY3VycmVudE1hdGNoSW5kZXgpCiAgICAgewog
ICAgICAgICB0aGlzLl9sYXN0VHJlZUVsZW1lbnQgPSB0cmVlRWxlbWVudDsKICAgICAgICAgdGhp
cy5fbGFzdEluZGV4ID0gaW5kZXg7Ci0gICAgICAgIHJldHVybiB7dHJlZUVsZW1lbnQ6IHRyZWVF
bGVtZW50LCBpbmRleDogaW5kZXh9OworICAgICAgICBpZiAoIWN1cnJlbnRNYXRjaEluZGV4KQor
ICAgICAgICAgICAgY3VycmVudE1hdGNoSW5kZXggPSB0aGlzLl90cmF2ZXJzZXIubWF0Y2hJbmRl
eCh0cmVlRWxlbWVudCwgaW5kZXgpOworICAgICAgICB0aGlzLl9jdXJyZW50TWF0Y2hJbmRleCA9
IGN1cnJlbnRNYXRjaEluZGV4OworICAgICAgICByZXR1cm4ge3RyZWVFbGVtZW50OiB0cmVlRWxl
bWVudCwgaW5kZXg6IGluZGV4LCBjdXJyZW50TWF0Y2hJbmRleDogY3VycmVudE1hdGNoSW5kZXh9
OwogICAgIH0KIH0KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7V2ViSW5zcGVj
dG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnR9IHJvb3RFbGVtZW50CiAgKi8KIFdlYkluc3BlY3Rv
ci5TZWFyY2hSZXN1bHRzVHJlZUVsZW1lbnRzVHJhdmVyc2VyID0gZnVuY3Rpb24ocm9vdEVsZW1l
bnQpCiB7CkBAIC0xNjQ2LDQ5ICsxNjc4LDk2IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1bHRz
VHJlZUVsZW1lbnRzVHJhdmVyc2VyID0gZnVuY3Rpb24ocm9vdEVsZW1lbnQpCiB9CiAKIFdlYklu
c3BlY3Rvci5TZWFyY2hSZXN1bHRzVHJlZUVsZW1lbnRzVHJhdmVyc2VyLnByb3RvdHlwZSA9IHsK
KyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxl
bWVudH0KKyAgICAgKi8KICAgICBmaXJzdDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0
dXJuIHRoaXMubmV4dCh0aGlzLl9yb290KTsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHJl
dHVybiB7V2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnR9CisgICAgICovCiAgICAg
bGFzdDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMucHJldmlvdXModGhp
cy5fcm9vdCk7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9y
LkJhc2VTdG9yYWdlVHJlZUVsZW1lbnR9IHN0YXJ0VHJlZUVsZW1lbnQKKyAgICAgKiBAcmV0dXJu
IHtXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudH0KKyAgICAgKi8KICAgICBuZXh0
OiBmdW5jdGlvbihzdGFydFRyZWVFbGVtZW50KQogICAgIHsKICAgICAgICAgdmFyIHRyZWVFbGVt
ZW50ID0gc3RhcnRUcmVlRWxlbWVudDsKICAgICAgICAgZG8gewogICAgICAgICAgICAgdHJlZUVs
ZW1lbnQgPSB0aGlzLl90cmF2ZXJzZU5leHQodHJlZUVsZW1lbnQpIHx8IHRoaXMuX3Jvb3Q7Ci0g
ICAgICAgIH0gd2hpbGUgKHRyZWVFbGVtZW50ICE9IHN0YXJ0VHJlZUVsZW1lbnQgJiYgIXRoaXMu
X2VsZW1lbnRIYXNTZWFyY2hSZXN1bHRzKHRyZWVFbGVtZW50KSk7CisgICAgICAgIH0gd2hpbGUg
KHRyZWVFbGVtZW50ICE9IHN0YXJ0VHJlZUVsZW1lbnQgJiYgIXRoaXMuX2VsZW1lbnRTZWFyY2hN
YXRjaGVzQ291bnQodHJlZUVsZW1lbnQpKTsKICAgICAgICAgcmV0dXJuIHRyZWVFbGVtZW50Owog
ICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5CYXNlU3RvcmFn
ZVRyZWVFbGVtZW50fSBzdGFydFRyZWVFbGVtZW50CisgICAgICogQHJldHVybiB7V2ViSW5zcGVj
dG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnR9CisgICAgICovCiAgICAgcHJldmlvdXM6IGZ1bmN0
aW9uKHN0YXJ0VHJlZUVsZW1lbnQpCiAgICAgewogICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSBz
dGFydFRyZWVFbGVtZW50OwogICAgICAgICBkbyB7CiAgICAgICAgICAgICB0cmVlRWxlbWVudCA9
IHRoaXMuX3RyYXZlcnNlUHJldmlvdXModHJlZUVsZW1lbnQpIHx8IHRoaXMuX2xhc3RUcmVlRWxl
bWVudCgpOwotICAgICAgICB9IHdoaWxlICh0cmVlRWxlbWVudCAhPSBzdGFydFRyZWVFbGVtZW50
ICYmICF0aGlzLl9lbGVtZW50SGFzU2VhcmNoUmVzdWx0cyh0cmVlRWxlbWVudCkpOworICAgICAg
ICB9IHdoaWxlICh0cmVlRWxlbWVudCAhPSBzdGFydFRyZWVFbGVtZW50ICYmICF0aGlzLl9lbGVt
ZW50U2VhcmNoTWF0Y2hlc0NvdW50KHRyZWVFbGVtZW50KSk7CiAgICAgICAgIHJldHVybiB0cmVl
RWxlbWVudDsKICAgICB9LAogCi0gICAgX3RyYXZlcnNlTmV4dDogZnVuY3Rpb24odHJlZUVsZW1l
bnQpCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVl
RWxlbWVudH0gc3RhcnRUcmVlRWxlbWVudAorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleAor
ICAgICAqIEByZXR1cm4ge251bWJlcn0KKyAgICAgKi8KKyAgICBtYXRjaEluZGV4OiBmdW5jdGlv
bihzdGFydFRyZWVFbGVtZW50LCBpbmRleCkKKyAgICB7CisgICAgICAgIHZhciBtYXRjaEluZGV4
ID0gMTsKKyAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gdGhpcy5fcm9vdDsKKyAgICAgICAgd2hp
bGUgKHRyZWVFbGVtZW50ICE9IHN0YXJ0VHJlZUVsZW1lbnQpIHsKKyAgICAgICAgICAgIG1hdGNo
SW5kZXggKz0gdGhpcy5fZWxlbWVudFNlYXJjaE1hdGNoZXNDb3VudCh0cmVlRWxlbWVudCk7Cisg
ICAgICAgICAgICB0cmVlRWxlbWVudCA9IHRoaXMuX3RyYXZlcnNlTmV4dCh0cmVlRWxlbWVudCkg
fHwgdGhpcy5fcm9vdDsKKyAgICAgICAgICAgIGlmICh0cmVlRWxlbWVudCA9PT0gdGhpcy5fcm9v
dCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
bWF0Y2hJbmRleCArIGluZGV4OworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50fSB0cmVlRWxlbWVudAorICAgICAqIEBy
ZXR1cm4ge251bWJlcn0KKyAgICAgKi8KKyAgICBfZWxlbWVudFNlYXJjaE1hdGNoZXNDb3VudDog
ZnVuY3Rpb24odHJlZUVsZW1lbnQpCiAgICAgewotICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQu
dHJhdmVyc2VOZXh0VHJlZUVsZW1lbnQoZmFsc2UsIHRoaXMuX3Jvb3QsIHRydWUpOworICAgICAg
ICByZXR1cm4gdHJlZUVsZW1lbnQuc2VhcmNoTWF0Y2hlc0NvdW50OwogICAgIH0sCiAKLSAgICBf
ZWxlbWVudEhhc1NlYXJjaFJlc3VsdHM6IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQorICAgIC8qKgor
ICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnR9IHRyZWVF
bGVtZW50CisgICAgICogQHJldHVybiB7V2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1l
bnR9CisgICAgICovCisgICAgX3RyYXZlcnNlTmV4dDogZnVuY3Rpb24odHJlZUVsZW1lbnQpCiAg
ICAgewotICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3Iu
RnJhbWVSZXNvdXJjZVRyZWVFbGVtZW50ICYmIHRyZWVFbGVtZW50LnNlYXJjaE1hdGNoZXNDb3Vu
dDsKKyAgICAgICAgcmV0dXJuIC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJl
ZUVsZW1lbnR9ICovIHRyZWVFbGVtZW50LnRyYXZlcnNlTmV4dFRyZWVFbGVtZW50KGZhbHNlLCB0
aGlzLl9yb290LCB0cnVlKTsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudH0gdHJlZUVsZW1lbnQKKyAgICAgKiBAcmV0
dXJuIHtXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudH0KKyAgICAgKi8KICAgICBf
dHJhdmVyc2VQcmV2aW91czogZnVuY3Rpb24odHJlZUVsZW1lbnQpCiAgICAgewotICAgICAgICBy
ZXR1cm4gdHJlZUVsZW1lbnQudHJhdmVyc2VQcmV2aW91c1RyZWVFbGVtZW50KGZhbHNlLCB0aGlz
Ll9yb290LCB0cnVlKTsKKyAgICAgICAgcmV0dXJuIC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkJh
c2VTdG9yYWdlVHJlZUVsZW1lbnR9ICovIHRyZWVFbGVtZW50LnRyYXZlcnNlUHJldmlvdXNUcmVl
RWxlbWVudChmYWxzZSwgdHJ1ZSk7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEByZXR1cm4g
e1dlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50fQorICAgICAqLwogICAgIF9sYXN0
VHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZhciB0cmVlRWxlbWVudCA9
IHRoaXMuX3Jvb3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL3RyZWVvdXRsaW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90
cmVlb3V0bGluZS5qcwppbmRleCA3ZmE4OTE5NDI4MjFmMjkxMWE1ODg5OWNlMzQ0NWQ1Yzc0ZDcz
NDI2Li4xMDAzOThiODQwZTEwMmU1NTEyMmNlZTkyM2QwYzY1NzdiMTEwMDk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RyZWVvdXRsaW5lLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdHJlZW91dGxpbmUuanMKQEAgLTg4
Nyw2ICs4ODcsMTMgQEAgVHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUgPSBmdW5jdGlv
bigpCiAgICAgLy8gT3ZlcnJpZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CiAKKy8qKgorICogQHBhcmFt
IHtib29sZWFufSBza2lwSGlkZGVuCisgKiBAcGFyYW0geyhUcmVlT3V0bGluZXxUcmVlRWxlbWVu
dCk9fSBzdGF5V2l0aGluCisgKiBAcGFyYW0ge2Jvb2xlYW49fSBkb250UG9wdWxhdGUKKyAqIEBw
YXJhbSB7T2JqZWN0PX0gaW5mbworICogQHJldHVybiB7VHJlZUVsZW1lbnR9CisgKi8KIFRyZWVF
bGVtZW50LnByb3RvdHlwZS50cmF2ZXJzZU5leHRUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKHNraXBI
aWRkZW4sIHN0YXlXaXRoaW4sIGRvbnRQb3B1bGF0ZSwgaW5mbykKIHsKICAgICBpZiAoIWRvbnRQ
b3B1bGF0ZSAmJiB0aGlzLmhhc0NoaWxkcmVuKQpAQCAtOTIyLDYgKzkyOSwxMSBAQCBUcmVlRWxl
bWVudC5wcm90b3R5cGUudHJhdmVyc2VOZXh0VHJlZUVsZW1lbnQgPSBmdW5jdGlvbihza2lwSGlk
ZGVuLCBzdGF5V2l0aGluLAogICAgIHJldHVybiAoc2tpcEhpZGRlbiA/IChlbGVtZW50LnJldmVh
bGVkKCkgPyBlbGVtZW50Lm5leHRTaWJsaW5nIDogbnVsbCkgOiBlbGVtZW50Lm5leHRTaWJsaW5n
KTsKIH0KIAorLyoqCisgKiBAcGFyYW0ge2Jvb2xlYW59IHNraXBIaWRkZW4KKyAqIEBwYXJhbSB7
Ym9vbGVhbj19IGRvbnRQb3B1bGF0ZQorICogQHJldHVybiB7VHJlZUVsZW1lbnR9CisgKi8KIFRy
ZWVFbGVtZW50LnByb3RvdHlwZS50cmF2ZXJzZVByZXZpb3VzVHJlZUVsZW1lbnQgPSBmdW5jdGlv
bihza2lwSGlkZGVuLCBkb250UG9wdWxhdGUpCiB7CiAgICAgdmFyIGVsZW1lbnQgPSBza2lwSGlk
ZGVuID8gKHRoaXMucmV2ZWFsZWQoKSA/IHRoaXMucHJldmlvdXNTaWJsaW5nIDogbnVsbCkgOiB0
aGlzLnByZXZpb3VzU2libGluZzsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZmUxYzdlYzI4MDQ4MjhjY2YwMTljODFiM2Uz
MGI3YjVjMjkwMDBmLi4yN2RhYWM4YmNmYWU5NWMwYzAzYTExOWY0OGY2MjBlZjY5YjQyZWU0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMjUgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVzb3VyY2VzIHBhbmVs
OiBkaXNwbGF5IHRoZSBjdXJyZW50IHNlYXJjaCBtYXRjaCBpbmRleCBpbiB0aGUgdG9vbGJhci4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDUwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzLXNlYXJjaC1tYXRjaC1pbmRleC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9yZXNv
dXJjZXMtc2VhcmNoLW1hdGNoLWluZGV4Lmh0bWw6IEFkZGVkLgorCiAyMDExLTEwLTI1ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByOTgzMDkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzLXNlYXJjaC1tYXRjaC1pbmRleC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2Vz
LXNlYXJjaC1tYXRjaC1pbmRleC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGY0MTQ5MWFlMGI2
NzExMDFiZjRiNGE5Y2YzZjZhYjcyZDEyNmVhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMtc2VhcmNoLW1hdGNoLWlu
ZGV4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyMCBAQAorVGVzdHMgc2VhcmNoIG1hdGNoIGlu
ZGV4IGNhbGN1bGF0aW9uIGluIHJlc291cmNlcyBwYW5lbC4KKworQnVnIDY2MDUwCisKK1J1bm5p
bmc6IHRlc3QxCitSdW5uaW5nIHRlc3QgZm9yIG1hdGNoZXMgY291bnRzOiBbMV0KK0VsZW1lbnQg
aW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KK0VsZW1lbnQgaW5kZXg6IDEsIGlu
ZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KK0VsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRj
aCBpbmRleDogMS4KK0VsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4K
K0VsZW1lbnQgaW5kZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KK0VsZW1lbnQgaW5k
ZXg6IDEsIGluZGV4OiAwLCBtYXRjaCBpbmRleDogMS4KKworCitSdW5uaW5nOiB0ZXN0MgorUnVu
bmluZyB0ZXN0IGZvciBtYXRjaGVzIGNvdW50czogWzEsMiwzXQorRWxlbWVudCBpbmRleDogMSwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogMiwgaW5kZXg6IDAsIG1h
dGNoIGluZGV4OiAyLgorRWxlbWVudCBpbmRleDogMiwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiAz
LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBp
bmRleDogMywgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogMywgaW5k
ZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNo
IGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2Lgor
RWxlbWVudCBpbmRleDogMywgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRl
eDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogMiwgaW5kZXg6
IDEsIG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRleDogMiwgaW5kZXg6IDAsIG1hdGNoIGlu
ZGV4OiAyLgorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxl
bWVudCBpbmRleDogMywgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDog
MSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDIs
IG1hdGNoIGluZGV4OiA2LgorCisKK1J1bm5pbmc6IHRlc3QzCitSdW5uaW5nIHRlc3QgZm9yIG1h
dGNoZXMgY291bnRzOiBbMSwwLDIsMCwzXQorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1h
dGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAy
LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBp
bmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogNSwgaW5k
ZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDIsIG1hdGNo
IGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgor
RWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRl
eDogNSwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6
IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDEsIG1hdGNoIGlu
ZGV4OiAzLgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAyLgorRWxl
bWVudCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDog
NSwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogMSwgaW5kZXg6IDAs
IG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDIsIG1hdGNoIGluZGV4
OiA2LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAyLgorRWxlbWVu
dCBpbmRleDogMSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogMywgaW5kZXg6IDEsIG1h
dGNoIGluZGV4OiAzLgorCisKK1J1bm5pbmc6IHRlc3Q0CitSdW5uaW5nIHRlc3QgZm9yIG1hdGNo
ZXMgY291bnRzOiBbMCwwLDAsMywwLDAsMCwzLDAsMCwwXQorRWxlbWVudCBpbmRleDogNCwgaW5k
ZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDEsIG1hdGNo
IGluZGV4OiAyLgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiAzLgor
RWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRl
eDogOCwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6
IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGlu
ZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxl
bWVudCBpbmRleDogOCwgaW5kZXg6IDEsIG1hdGNoIGluZGV4OiA1LgorRWxlbWVudCBpbmRleDog
OCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDIs
IG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDEsIG1hdGNoIGluZGV4
OiAyLgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVu
dCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1h
dGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAx
LgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBp
bmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5k
ZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNo
IGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2Lgor
RWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRl
eDogNCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6
IDAsIG1hdGNoIGluZGV4OiA0LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDIsIG1hdGNoIGlu
ZGV4OiAzLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiA0LgorRWxl
bWVudCBpbmRleDogNCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiAzLgorRWxlbWVudCBpbmRleDog
NCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIs
IG1hdGNoIGluZGV4OiA2LgorRWxlbWVudCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4
OiAxLgorRWxlbWVudCBpbmRleDogOCwgaW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorRWxlbWVu
dCBpbmRleDogNCwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogOCwg
aW5kZXg6IDIsIG1hdGNoIGluZGV4OiA2LgorCisKK1J1bm5pbmc6IHRlc3Q1CitSdW5uaW5nIHRl
c3QgZm9yIG1hdGNoZXMgY291bnRzOiBbMCwwLDAsMCwxLDAsMCwwXQorRWxlbWVudCBpbmRleDog
NSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAs
IG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4
OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVu
dCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwg
aW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1h
dGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAx
LgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBp
bmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5k
ZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNo
IGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgor
RWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRl
eDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6
IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGlu
ZGV4OiAxLgorRWxlbWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxl
bWVudCBpbmRleDogNSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorRWxlbWVudCBpbmRleDog
NSwgaW5kZXg6IDAsIG1hdGNoIGluZGV4OiAxLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3NlYXJjaC9yZXNvdXJjZXMtc2VhcmNoLW1hdGNoLWluZGV4
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2Vz
LXNlYXJjaC1tYXRjaC1pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiZTdiM2VlNzcxYjA2YWQxODJm
MDFjZGU0MjBjNWQyNzE5MGRkN2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9zZWFyY2gvcmVzb3VyY2VzLXNlYXJjaC1tYXRjaC1pbmRleC5odG1s
CkBAIC0wLDAgKzEsMTI4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2luc3Bl
Y3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICB2YXIgRmFrZUVsZW1lbnQgPSBmdW5jdGlvbihlbGVtZW50cywgaW5kZXgsIHNlYXJjaE1hdGNo
ZXNDb3VudCkKKyAgICB7CisgICAgICAgIHRoaXMuX2VsZW1lbnRzID0gZWxlbWVudHM7CisgICAg
ICAgIHRoaXMuaW5kZXggPSBpbmRleDsKKyAgICAgICAgdGhpcy5zZWFyY2hNYXRjaGVzQ291bnQg
PSBzZWFyY2hNYXRjaGVzQ291bnQ7CisgICAgfTsKKworICAgIEZha2VFbGVtZW50LnByb3RvdHlw
ZSA9IHsKKyAgICAgICAgLy8gSWdub3JlIGFsbCBwYXJhbWV0ZXJzLgorICAgICAgICB0cmF2ZXJz
ZVByZXZpb3VzVHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAg
cmV0dXJuIHRoaXMuaW5kZXggPiAwID8gdGhpcy5fZWxlbWVudHNbdGhpcy5pbmRleCAtIDFdIDog
bnVsbDsKKyAgICAgICAgfSwKKworICAgICAgICAvLyBJZ25vcmUgYWxsIHBhcmFtZXRlcnMuCisg
ICAgICAgIHRyYXZlcnNlTmV4dFRyZWVFbGVtZW50OiBmdW5jdGlvbigpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHJldHVybiB0aGlzLmluZGV4IDwgdGhpcy5fZWxlbWVudHMubGVuZ3RoIC0gMSA/
IHRoaXMuX2VsZW1lbnRzW3RoaXMuaW5kZXggKyAxXSA6IG51bGw7CisgICAgICAgIH0KKyAgICB9
OworCisgICAgZnVuY3Rpb24gY3JlYXRlRWxlbWVudHNUcmVlV2l0aE1hdGNoZXNDb3VudHMobWF0
Y2hlc0NvdW50cykKKyAgICB7CisgICAgICAgIHZhciBlbGVtZW50cyA9IFtdOworICAgICAgICB2
YXIgdG90YWxNYXRjaGVzQ291bnQgPSAwOworICAgICAgICB2YXIgZWxlbWVudCA9IG5ldyBGYWtl
RWxlbWVudChlbGVtZW50cywgMCwgMCk7CisgICAgICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF0Y2hlc0NvdW50cy5sZW5ndGg7ICsraSkg
eworICAgICAgICAgICAgZWxlbWVudCA9IG5ldyBGYWtlRWxlbWVudChlbGVtZW50cywgaSArIDEs
IG1hdGNoZXNDb3VudHNbaV0pOworICAgICAgICAgICAgZWxlbWVudHMucHVzaChlbGVtZW50KTsK
KyAgICAgICAgICAgIHRvdGFsTWF0Y2hlc0NvdW50ICs9IG1hdGNoZXNDb3VudHNbaV07CisgICAg
ICAgIH0KKyAgICAgICAgZWxlbWVudHMudG90YWxNYXRjaGVzQ291bnQgPSB0b3RhbE1hdGNoZXND
b3VudDsKKyAgICAgICAgcmV0dXJuIGVsZW1lbnRzOworICAgIH0KKworICAgIGZ1bmN0aW9uIGR1
bXBTZWFyY2hSZXN1bHQoc2VhcmNoUmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKHNlYXJjaFJl
c3VsdCkgeworICAgICAgICAgICAgdmFyIGVsZW1lbnRJbmRleCA9IHNlYXJjaFJlc3VsdC50cmVl
RWxlbWVudC5pbmRleDsKKyAgICAgICAgICAgIHZhciBpbmRleCA9IHNlYXJjaFJlc3VsdC5pbmRl
eDsKKyAgICAgICAgICAgIHZhciBtYXRjaEluZGV4ID0gc2VhcmNoUmVzdWx0LmN1cnJlbnRNYXRj
aEluZGV4OworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIkVsZW1lbnQgaW5k
ZXg6ICIgKyBlbGVtZW50SW5kZXggKyAiLCBpbmRleDogIiArIGluZGV4ICsgIiwgbWF0Y2ggaW5k
ZXg6ICIgKyBtYXRjaEluZGV4ICsgIi4iKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTm8gc2VhcmNoIHJlc3VsdCBmb3VuZC4iKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBydW5UZXN0Rm9yTWF0Y2hlc0NvdW50cyhtYXRjaGVzQ291bnRzKQor
ICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlJ1bm5pbmcgdGVzdCBmb3Ig
bWF0Y2hlcyBjb3VudHM6ICIgKyBKU09OLnN0cmluZ2lmeShtYXRjaGVzQ291bnRzKSk7CisgICAg
ICAgIHZhciBlbGVtZW50cyA9IGNyZWF0ZUVsZW1lbnRzVHJlZVdpdGhNYXRjaGVzQ291bnRzKG1h
dGNoZXNDb3VudHMpOworICAgICAgICB2YXIgY29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VzU2VhcmNoQ29udHJvbGxlcihlbGVtZW50c1swXSwgZWxlbWVudHMudG90YWxNYXRj
aGVzQ291bnQpOworICAgICAgICB2YXIgbGFzdFNlYXJjaFJlc3VsdDsKKworICAgICAgICAvLyBG
aXJzdCBvZiBhbGwgbWFrZSBhIGZ1bGwgY3ljbGUgdGhyb3VnaCB0aGUgdHJlZS4KKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBlbGVtZW50cy50b3RhbE1hdGNoZXNDb3VudCArIDE7ICsraSkg
eworICAgICAgICAgICAgbGFzdFNlYXJjaFJlc3VsdCA9IGNvbnRyb2xsZXIubmV4dFNlYXJjaFJl
c3VsdChsYXN0U2VhcmNoUmVzdWx0ID8gbGFzdFNlYXJjaFJlc3VsdC50cmVlRWxlbWVudCA6IG51
bGwpOworICAgICAgICAgICAgZHVtcFNlYXJjaFJlc3VsdChsYXN0U2VhcmNoUmVzdWx0KTsKKyAg
ICAgICAgICAgIGlmICghbGFzdFNlYXJjaFJlc3VsdCkKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorCisgICAgICAgIC8vIFRoZW4gbWFrZSBhbm90aGVyIG9uZSBpbiB0aGUgb3Bw
b3NpdGUgZGlyZWN0aW9uLgorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGVsZW1lbnRzLnRv
dGFsTWF0Y2hlc0NvdW50ICsgMTsgKytpKSB7CisgICAgICAgICAgICBsYXN0U2VhcmNoUmVzdWx0
ID0gY29udHJvbGxlci5wcmV2aW91c1NlYXJjaFJlc3VsdChsYXN0U2VhcmNoUmVzdWx0ID8gbGFz
dFNlYXJjaFJlc3VsdC50cmVlRWxlbWVudCA6IG51bGwpOworICAgICAgICAgICAgZHVtcFNlYXJj
aFJlc3VsdChsYXN0U2VhcmNoUmVzdWx0KTsKKyAgICAgICAgICAgIGlmICghbGFzdFNlYXJjaFJl
c3VsdCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8vIE5v
dyBkdW1wIG5leHQgYW5kIHByZXZpb3VzIHNlYXJjaCByZXN1bHRzIGZvciBlYWNoIGVsZW1lbnQg
d2l0aG91dCBzZWFyY2ggbWF0Y2hlcy4KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVt
ZW50cy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgaWYgKGVsZW1lbnRzW2ldLnNlYXJjaE1h
dGNoZXNDb3VudCA9PT0gMCkgeworICAgICAgICAgICAgICAgIHZhciBzZWFyY2hSZXN1bHQgPSBj
b250cm9sbGVyLm5leHRTZWFyY2hSZXN1bHQoZWxlbWVudHNbaV0pOworICAgICAgICAgICAgICAg
IGR1bXBTZWFyY2hSZXN1bHQoc2VhcmNoUmVzdWx0KTsKKyAgICAgICAgICAgICAgICBzZWFyY2hS
ZXN1bHQgPSBjb250cm9sbGVyLnByZXZpb3VzU2VhcmNoUmVzdWx0KGVsZW1lbnRzW2ldKTsKKyAg
ICAgICAgICAgICAgICBkdW1wU2VhcmNoUmVzdWx0KHNlYXJjaFJlc3VsdCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAg
IH0KKworICAgIEluc3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKKyAgICAgICAgZnVuY3Rpb24g
dGVzdDEobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgcnVuVGVzdEZvck1hdGNoZXNDb3Vu
dHMoWzFdKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSwKKworICAgICAgICBmdW5j
dGlvbiB0ZXN0MihuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBydW5UZXN0Rm9yTWF0Y2hl
c0NvdW50cyhbMSwgMiwgM10pOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9LAorCisg
ICAgICAgIGZ1bmN0aW9uIHRlc3QzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJ1blRl
c3RGb3JNYXRjaGVzQ291bnRzKFsxLCAwLCAyLCAwLCAzXSk7CisgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdDQobmV4dCkKKyAgICAgICAgewor
ICAgICAgICAgICAgcnVuVGVzdEZvck1hdGNoZXNDb3VudHMoWzAsIDAsIDAsIDMsIDAsIDAsIDAs
IDMsIDAsIDAsIDBdKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSwKKworICAgICAg
ICBmdW5jdGlvbiB0ZXN0NShuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICBydW5UZXN0Rm9y
TWF0Y2hlc0NvdW50cyhbMCwgMCwgMCwgMCwgMSwgMCwgMCwgMF0pOworICAgICAgICAgICAgbmV4
dCgpOworICAgICAgICB9CisgICAgXSk7CisKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgc2VhcmNoIG1hdGNoIGluZGV4IGNhbGN1bGF0
aW9uIGluIHJlc291cmNlcyBwYW5lbC48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNTAiPkJ1ZyA2NjA1MDwvYT4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>
<flag name="review"
          id="110377"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>