<?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>80421</bug_id>
          
          <creation_ts>2012-03-06 07:45:03 -0800</creation_ts>
          <short_desc>Web Inspector: add support for inspection of huge (1M elements) arrays.</short_desc>
          <delta_ts>2012-03-06 09:17:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</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>571855</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-06 07:45:03 -0800</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571863</commentid>
    <comment_count>1</comment_count>
      <attachid>130386</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-06 07:55:12 -0800</bug_when>
    <thetext>Created attachment 130386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571903</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-03-06 09:17:33 -0800</bug_when>
    <thetext>Committed r109927: &lt;http://trac.webkit.org/changeset/109927&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130386</attachid>
            <date>2012-03-06 07:55:12 -0800</date>
            <delta_ts>2012-03-06 08:26:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80421-20120306195510.patch</filename>
            <type>text/plain</type>
            <size>23785</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NzQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE2MjUzZThiNjdmNGUy
ZDRjNTllMmFhNjAyMmEzZDI5OGJiMTI4NC4uNWU2NjViYTMyMTYxZDE4ZGFjNTEzMTM2MTJkZDli
YTM5ZmNjYWJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAzLTA2ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGFkZCBzdXBwb3J0IGZvciBpbnNwZWN0aW9uIG9mIGh1Z2UgKDFNIGVsZW1lbnRzKSBhcnJh
eXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQy
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b25zb2xlVmlldy5wcm90b3R5cGUuY29tcGxldGlvbnNGb3JFeHByZXNzaW9uLmV2YWx1YXRlZCk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlLnVwZGF0
ZS5jYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rp
b24ucHJvdG90eXBlLnVwZGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVy
dGllc1NlY3Rpb24ucHJvdG90eXBlLnVwZGF0ZVByb3BlcnRpZXMpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUuY2Fs
bGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlLm9ucG9wdWxhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBp
bmdUcmVlRWxlbWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVF
bGVtZW50Ll9wb3B1bGF0ZUFycmF5KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BcnJheUdyb3Vw
aW5nVHJlZUVsZW1lbnQuX3BvcHVsYXRlUmFuZ2VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5B
cnJheUdyb3VwaW5nVHJlZUVsZW1lbnQuX3BvcHVsYXRlUmFuZ2VzLmNhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQuX3BvcHVsYXRlQXNGcmFn
bWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50Ll9w
b3B1bGF0ZUFzRnJhZ21lbnQucHJvY2Vzc0FycmF5RnJhZ21lbnQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fcG9wdWxhdGVBc0ZyYWdtZW50LnByb2Nl
c3NQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVs
ZW1lbnQuX3BvcHVsYXRlTm9uSW5kZXhQcm9wZXJ0aWVzLmJ1aWxkT2JqZWN0RnJhZ21lbnQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fcG9wdWxhdGVO
b25JbmRleFByb3BlcnRpZXMucHJvY2Vzc09iamVjdEZyYWdtZW50KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQuX3BvcHVsYXRlTm9uSW5kZXhQcm9wZXJ0
aWVzLnByb2Nlc3NQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BcnJheUdyb3Vw
aW5nVHJlZUVsZW1lbnQuX3BvcHVsYXRlTm9uSW5kZXhQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5wcm90b3R5
cGUub25hdHRhY2gpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1Np
ZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFu
ZS5wcm90b3R5cGUudXBkYXRlLm5vZGVSZXNvbHZlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9SZW1vdGVPYmplY3QuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2Jq
ZWN0LnByb3RvdHlwZS5jYWxsRnVuY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbW90
ZU9iamVjdC5wcm90b3R5cGUuY2FsbEZ1bmN0aW9uSlNPTik6CisKIDIwMTItMDMtMDUgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogY2Fubm90IGJlIGxhdW5jaGVkIHdoZW4gbG9jYWxTdG9yYWdlIGlzIGRpc2FibGVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3Lmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwppbmRl
eCBiNzc3YWRlMGFmZDNmMWYyODQ0YjlmNWE4MWMwZmYxZWI3NWE1MWM3Li45NDc4NmEzZDc3OTQ5
NjkwNjEzMTRmYmJmNzQ4OTg5NjIyODZkMjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKQEAgLTQwOSw3ICs0MDksNyBAQCBXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgfQogCiAgICAg
ICAgICAgICBpZiAocmVzdWx0LnR5cGUgPT09ICJvYmplY3QiIHx8IHJlc3VsdC50eXBlID09PSAi
ZnVuY3Rpb24iKQotICAgICAgICAgICAgICAgIHJlc3VsdC5jYWxsRnVuY3Rpb25KU09OKGdldENv
bXBsZXRpb25zLCByZWNlaXZlZFByb3BlcnR5TmFtZXMuYmluZCh0aGlzKSk7CisgICAgICAgICAg
ICAgICAgcmVzdWx0LmNhbGxGdW5jdGlvbkpTT04oZ2V0Q29tcGxldGlvbnMsIHVuZGVmaW5lZCwg
cmVjZWl2ZWRQcm9wZXJ0eU5hbWVzLmJpbmQodGhpcykpOwogICAgICAgICAgICAgZWxzZSBpZiAo
cmVzdWx0LnR5cGUgPT09ICJzdHJpbmciIHx8IHJlc3VsdC50eXBlID09PSAibnVtYmVyIiB8fCBy
ZXN1bHQudHlwZSA9PT0gImJvb2xlYW4iKQogICAgICAgICAgICAgICAgIHRoaXMuZXZhbEluSW5z
cGVjdGVkV2luZG93KCIoIiArIGdldENvbXBsZXRpb25zICsgIikoXCIiICsgcmVzdWx0LnR5cGUg
KyAiXCIpIiwgImNvbXBsZXRpb24iLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSwgcmVjZWl2ZWRQcm9wZXJ0
eU5hbWVzRnJvbUV2YWwuYmluZCh0aGlzKSk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcwppbmRleCA1MzVlNzA1
NzlmZWE5YmUyMTFhYzEwNDJmYTE3OTMyMmJjZWE2MGE1Li43ZGJjMmM4ZmZmMzA1ZDBlM2NlMTc0
YTI4YzUwMDA3ZWVjZDczYzU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzCkBAIC0zODEsNyArMzgxLDcgQEAgV2ViSW5zcGVj
dG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbkpTT04oZGlt
ZW5zaW9ucywgY2FsbGJhY2spOworICAgICAgICAgICAgb2JqZWN0LmNhbGxGdW5jdGlvbkpTT04o
ZGltZW5zaW9ucywgdW5kZWZpbmVkLCBjYWxsYmFjayk7CiAgICAgICAgICAgICBvYmplY3QucmVs
ZWFzZSgpOwogCiAgICAgICAgICAgICBmdW5jdGlvbiBkaW1lbnNpb25zKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rp
b24uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRp
ZXNTZWN0aW9uLmpzCmluZGV4IGNjYmRjZTZmYTU3YjE3MzVmZjA1ZTQ2MTM5ODVkYmQ5MWNjOGQ1
Y2MuLjgzNjlhODNkMGQ1ZTZhZDZlY2M0OWVhMzY4MGNkZjdlMDhiM2UyZTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rp
b24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9w
ZXJ0aWVzU2VjdGlvbi5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJv
cGVydGllc1NlY3Rpb24gPSBmdW5jdGlvbihvYmplY3QsIHRpdGxlLCBzdWJ0aXRsZSwgZW1wdHlQ
bAogICAgIFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbi5jYWxsKHRoaXMsIHRpdGxlLCBz
dWJ0aXRsZSk7CiB9CiAKK1dlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5fYXJy
YXlMb2FkVGhyZXNob2xkID0gMTAwOworCiBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1Nl
Y3Rpb24ucHJvdG90eXBlID0gewogICAgIG9ucG9wdWxhdGU6IGZ1bmN0aW9uKCkKICAgICB7CkBA
IC01NiwxNyArNTgsMjMgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uLnBy
b3RvdHlwZSA9IHsKIAogICAgIHVwZGF0ZTogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdmFy
IHNlbGYgPSB0aGlzOworICAgICAgICBpZiAodGhpcy5vYmplY3QuYXJyYXlMZW5ndGgoKSA+IFdl
Ykluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5fYXJyYXlMb2FkVGhyZXNob2xkKSB7
CisgICAgICAgICAgICB0aGlzLnByb3BlcnRpZXNUcmVlT3V0bGluZS5yZW1vdmVDaGlsZHJlbigp
OworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fcG9w
dWxhdGVBcnJheSh0aGlzLnByb3BlcnRpZXNUcmVlT3V0bGluZSwgdGhpcy5vYmplY3QsIDAsIHRo
aXMub2JqZWN0LmFycmF5TGVuZ3RoKCkgLSAxKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorCiAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHByb3BlcnRpZXMpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmICghcHJvcGVydGllcykKICAgICAgICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgICAgICBzZWxmLnVwZGF0ZVByb3BlcnRpZXMocHJvcGVydGllcyk7CisgICAgICAgICAg
ICB0aGlzLnVwZGF0ZVByb3BlcnRpZXMocHJvcGVydGllcyk7CiAgICAgICAgIH0KKwogICAgICAg
ICBpZiAodGhpcy5pZ25vcmVIYXNPd25Qcm9wZXJ0eSkKLSAgICAgICAgICAgIHRoaXMub2JqZWN0
LmdldEFsbFByb3BlcnRpZXMoY2FsbGJhY2spOworICAgICAgICAgICAgdGhpcy5vYmplY3QuZ2V0
QWxsUHJvcGVydGllcyhjYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgdGhpcy5vYmplY3QuZ2V0T3duUHJvcGVydGllcyhjYWxsYmFjayk7CisgICAgICAgICAg
ICB0aGlzLm9iamVjdC5nZXRPd25Qcm9wZXJ0aWVzKGNhbGxiYWNrLmJpbmQodGhpcykpOwogICAg
IH0sCiAKICAgICB1cGRhdGVQcm9wZXJ0aWVzOiBmdW5jdGlvbihwcm9wZXJ0aWVzLCByb290VHJl
ZUVsZW1lbnRDb25zdHJ1Y3Rvciwgcm9vdFByb3BlcnR5Q29tcGFyZXIpCkBAIC05MywxMSArMTAx
LDYgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZSA9IHsK
IAogICAgICAgICB0aGlzLnByb3BlcnRpZXNGb3JUZXN0ID0gcHJvcGVydGllczsKIAotICAgICAg
ICBpZiAodGhpcy5vYmplY3QgJiYgdGhpcy5vYmplY3QuYXJyYXlMZW5ndGgoKSA+IFdlYkluc3Bl
Y3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQuX2J1Y2tldFRocmVzaG9sZCkgewotICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5wb3B1bGF0ZUFzQXJy
YXkodGhpcy5wcm9wZXJ0aWVzVHJlZU91dGxpbmUsIHJvb3RUcmVlRWxlbWVudENvbnN0cnVjdG9y
LCBwcm9wZXJ0aWVzKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfSAKLQogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpCiAgICAgICAgICAg
ICB0aGlzLnByb3BlcnRpZXNUcmVlT3V0bGluZS5hcHBlbmRDaGlsZChuZXcgcm9vdFRyZWVFbGVt
ZW50Q29uc3RydWN0b3IocHJvcGVydGllc1tpXSkpOwogCkBAIC0xNjEsNiArMTY0LDcgQEAgV2Vi
SW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uLkNvbXBhcmVQcm9wZXJ0aWVzID0gZnVu
Y3Rpb24ocHJvcGVydHlBLCBwcm8KIC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7
VHJlZUVsZW1lbnR9CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3RQcm9wZXJ0
eX0gcHJvcGVydHkKICAqLwogV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQg
PSBmdW5jdGlvbihwcm9wZXJ0eSkKIHsKQEAgLTE3OCwxNSArMTgyLDE3IEBAIFdlYkluc3BlY3Rv
ci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRo
aXMuY2hpbGRyZW4ubGVuZ3RoICYmICF0aGlzLnNob3VsZFJlZnJlc2hDaGlsZHJlbikKICAgICAg
ICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgY2FsbGJhY2sgPSBmdW5jdGlvbihwcm9wZXJ0
aWVzKSB7CisgICAgICAgIGlmICh0aGlzLnByb3BlcnR5LnZhbHVlLmFycmF5TGVuZ3RoKCkgPiBX
ZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uX2FycmF5TG9hZFRocmVzaG9sZCkg
ewogICAgICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICAgICAgaWYgKCFw
cm9wZXJ0aWVzKQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQuX3BvcHVsYXRlQXJyYXkodGhpcywgdGhpcy5w
cm9wZXJ0eS52YWx1ZSwgMCwgdGhpcy5wcm9wZXJ0eS52YWx1ZS5hcnJheUxlbmd0aCgpIC0gMSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKHRoaXMu
cHJvcGVydHkudmFsdWUudHlwZSA9PT0gImFycmF5IikgewotICAgICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQucG9wdWxhdGVBc0FycmF5KHRoaXMsIHRo
aXMudHJlZU91dGxpbmUuc2VjdGlvbi50cmVlRWxlbWVudENvbnN0cnVjdG9yLCBwcm9wZXJ0aWVz
KTsKKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2socHJvcGVydGllcykKKyAgICAgICAgeworICAg
ICAgICAgICAgdGhpcy5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICAgICAgaWYgKCFwcm9wZXJ0
aWVzKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgcHJvcGVydGllcy5zb3J0KFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5D
b21wYXJlUHJvcGVydGllcyk7CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3Bl
cnRpZXMubGVuZ3RoOyArK2kpIHsKQEAgLTE5NSw3ICsyMDEsOCBAQCBXZWJJbnNwZWN0b3IuT2Jq
ZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgcHJv
cGVydGllc1tpXS5wYXJlbnRPYmplY3QgPSB0aGlzLnByb3BlcnR5LnZhbHVlOwogICAgICAgICAg
ICAgICAgIHRoaXMuYXBwZW5kQ2hpbGQobmV3IHRoaXMudHJlZU91dGxpbmUuc2VjdGlvbi50cmVl
RWxlbWVudENvbnN0cnVjdG9yKHByb3BlcnRpZXNbaV0pKTsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgfTsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMucHJvcGVydHkudmFsdWUuZ2V0T3duUHJv
cGVydGllcyhjYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICB9LAogCkBAIC00MTgsODAgKzQyNSwy
MTAgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFRyZWVFbGVtZW50LnByb3RvdHkKIC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBA
ZXh0ZW5kcyB7VHJlZUVsZW1lbnR9CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3R9IG9iamVjdAorICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleAorICogQHBhcmFtIHtudW1i
ZXJ9IHRvSW5kZXgKKyAqIEBwYXJhbSB7bnVtYmVyfSBwcm9wZXJ0eUNvdW50CiAgKi8KLVdlYklu
c3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQgPSBmdW5jdGlvbih0cmVlRWxlbWVudENv
bnN0cnVjdG9yLCBwcm9wZXJ0aWVzLCBmcm9tSW5kZXgsIHRvSW5kZXgpCitXZWJJbnNwZWN0b3Iu
QXJyYXlHcm91cGluZ1RyZWVFbGVtZW50ID0gZnVuY3Rpb24ob2JqZWN0LCBmcm9tSW5kZXgsIHRv
SW5kZXgsIHByb3BlcnR5Q291bnQpCiB7Ci0gICAgdGhpcy5fcHJvcGVydGllcyA9IHByb3BlcnRp
ZXM7CisgICAgVHJlZUVsZW1lbnQuY2FsbCh0aGlzLCBTdHJpbmcuc3ByaW50ZigiWyVkIFx1MjAy
NiAlZF0iLCBmcm9tSW5kZXgsIHRvSW5kZXgpLCB1bmRlZmluZWQsIHRydWUpOwogICAgIHRoaXMu
X2Zyb21JbmRleCA9IGZyb21JbmRleDsKICAgICB0aGlzLl90b0luZGV4ID0gdG9JbmRleDsKLSAg
ICB0aGlzLl90cmVlRWxlbWVudENvbnN0cnVjdG9yID0gdHJlZUVsZW1lbnRDb25zdHJ1Y3RvcjsK
LQotICAgIFRyZWVFbGVtZW50LmNhbGwodGhpcywgIlsiICsgdGhpcy5fcHJvcGVydGllc1tmcm9t
SW5kZXhdLm5hbWUgKyAiIFx1MjAyNiAiICsgdGhpcy5fcHJvcGVydGllc1t0b0luZGV4IC0gMV0u
bmFtZSArICJdIiwgbnVsbCwgdHJ1ZSk7CisgICAgdGhpcy5fb2JqZWN0ID0gb2JqZWN0OworICAg
IHRoaXMuX3JlYWRPbmx5ID0gdHJ1ZTsKKyAgICB0aGlzLl9wcm9wZXJ0eUNvdW50ID0gcHJvcGVy
dHlDb3VudDsKKyAgICB0aGlzLl9wb3B1bGF0ZWQgPSBmYWxzZTsKIH0KIAogV2ViSW5zcGVjdG9y
LkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fYnVja2V0VGhyZXNob2xkID0gMjA7CiAKLVdlYklu
c3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQucG9wdWxhdGVBc0FycmF5ID0gZnVuY3Rp
b24ocGFyZW50VHJlZUVsZW1lbnQsIHRyZWVFbGVtZW50Q29uc3RydWN0b3IsIHByb3BlcnRpZXMp
CisvKioKKyAqIEBwYXJhbSB7VHJlZUVsZW1lbnR8VHJlZU91dGxpbmV9IHRyZWVFbGVtZW50Cisg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3R9IG9iamVjdAorICogQHBhcmFtIHtu
dW1iZXJ9IGZyb21JbmRleAorICogQHBhcmFtIHtudW1iZXJ9IHRvSW5kZXgKKyAqLworV2ViSW5z
cGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fcG9wdWxhdGVBcnJheSA9IGZ1bmN0aW9u
KHRyZWVFbGVtZW50LCBvYmplY3QsIGZyb21JbmRleCwgdG9JbmRleCkKK3sKKyAgICBXZWJJbnNw
ZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50Ll9wb3B1bGF0ZVJhbmdlcyh0cmVlRWxlbWVu
dCwgb2JqZWN0LCBmcm9tSW5kZXgsIHRvSW5kZXgsIHRydWUpOworfQorCisvKioKKyAqIEBwYXJh
bSB7VHJlZUVsZW1lbnR8VHJlZU91dGxpbmV9IHRyZWVFbGVtZW50CisgKiBAcGFyYW0ge1dlYklu
c3BlY3Rvci5SZW1vdGVPYmplY3R9IG9iamVjdAorICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRl
eAorICogQHBhcmFtIHtudW1iZXJ9IHRvSW5kZXgKKyAqIEBwYXJhbSB7Ym9vbGVhbn0gdG9wTGV2
ZWwKKyAqLworV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fcG9wdWxhdGVS
YW5nZXMgPSBmdW5jdGlvbih0cmVlRWxlbWVudCwgb2JqZWN0LCBmcm9tSW5kZXgsIHRvSW5kZXgs
IHRvcExldmVsKQoreworICAgIG9iamVjdC5jYWxsRnVuY3Rpb25KU09OKHBhY2tSYW5nZXMsIFt7
dmFsdWU6IGZyb21JbmRleH0sIHt2YWx1ZTogdG9JbmRleH0sIHt2YWx1ZTogV2ViSW5zcGVjdG9y
LkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fYnVja2V0VGhyZXNob2xkfV0sIGNhbGxiYWNrLmJp
bmQodGhpcykpOworCisgICAgZnVuY3Rpb24gcGFja1Jhbmdlcyhmcm9tSW5kZXgsIHRvSW5kZXgs
IGJ1Y2tldFRocmVzaG9sZCkKKyAgICB7CisgICAgICAgIHZhciBjb3VudCA9IDA7CisgICAgICAg
IGZvciAodmFyIGkgPSBmcm9tSW5kZXg7IGkgPD0gdG9JbmRleDsgKytpKSB7CisgICAgICAgICAg
ICB2YXIgdmFsdWUgPSB0aGlzW2ldOworICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0g
InVuZGVmaW5lZCIpCisgICAgICAgICAgICAgICAgKytjb3VudDsKKyAgICAgICAgfQorCisgICAg
ICAgIHZhciBidWNrZXRTaXplOworICAgICAgICBpZiAoY291bnQgPCBidWNrZXRUaHJlc2hvbGQp
CisgICAgICAgICAgICBidWNrZXRTaXplID0gY291bnQ7CisgICAgICAgIGVsc2UgeworICAgICAg
ICAgICAgYnVja2V0U2l6ZSA9IE1hdGguY2VpbChjb3VudCAvIGJ1Y2tldFRocmVzaG9sZCk7Cisg
ICAgICAgICAgICBpZiAoYnVja2V0U2l6ZSA8IGJ1Y2tldFRocmVzaG9sZCkKKyAgICAgICAgICAg
ICAgICBidWNrZXRTaXplID0gTWF0aC5mbG9vcihNYXRoLnNxcnQoY291bnQpKTsKKyAgICAgICAg
fQorCisgICAgICAgIHZhciByYW5nZXMgPSBbXTsKKyAgICAgICAgY291bnQgPSAwOworICAgICAg
ICB2YXIgZ3JvdXBTdGFydCA9IC0xOworICAgICAgICB2YXIgZ3JvdXBFbmQgPSAwOworICAgICAg
ICBmb3IgKHZhciBpID0gZnJvbUluZGV4OyBpIDw9IHRvSW5kZXg7ICsraSkgeworICAgICAgICAg
ICAgdmFyIHZhbHVlID0gdGhpc1tpXTsKKyAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09
ICJ1bmRlZmluZWQiKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBp
ZiAoZ3JvdXBTdGFydCA9PT0gLTEpCisgICAgICAgICAgICAgICAgZ3JvdXBTdGFydCA9IGk7CisK
KyAgICAgICAgICAgIGdyb3VwRW5kID0gaTsKKyAgICAgICAgICAgIGlmICgrK2NvdW50ID09PSBi
dWNrZXRTaXplKSB7CisgICAgICAgICAgICAgICAgcmFuZ2VzLnB1c2goW2dyb3VwU3RhcnQsIGdy
b3VwRW5kLCBjb3VudF0pOworICAgICAgICAgICAgICAgIGNvdW50ID0gMDsKKyAgICAgICAgICAg
ICAgICBncm91cFN0YXJ0ID0gLTE7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoY291bnQgPiAwKQorICAgICAgICAgICAgcmFuZ2VzLnB1c2goW2dyb3VwU3RhcnQsIGdy
b3VwRW5kLCBjb3VudF0pOworICAgICAgICByZXR1cm4gcmFuZ2VzOworICAgIH0KKworICAgIGZ1
bmN0aW9uIGNhbGxiYWNrKHJhbmdlcykKKyAgICB7CisgICAgICAgIGlmIChyYW5nZXMubGVuZ3Ro
ID09IDEpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50
Ll9wb3B1bGF0ZUFzRnJhZ21lbnQodHJlZUVsZW1lbnQsIG9iamVjdCwgcmFuZ2VzWzBdWzBdLCBy
YW5nZXNbMF1bMV0pOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgcmFuZ2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgdmFyIGZyb21JbmRl
eCA9IHJhbmdlc1tpXVswXTsKKyAgICAgICAgICAgICAgICB2YXIgdG9JbmRleCA9IHJhbmdlc1tp
XVsxXTsKKyAgICAgICAgICAgICAgICB2YXIgY291bnQgPSByYW5nZXNbaV1bMl07CisgICAgICAg
ICAgICAgICAgaWYgKGZyb21JbmRleCA9PSB0b0luZGV4KQorICAgICAgICAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50Ll9wb3B1bGF0ZUFzRnJhZ21lbnQo
dHJlZUVsZW1lbnQsIG9iamVjdCwgZnJvbUluZGV4LCB0b0luZGV4KTsKKyAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50LmFwcGVuZENoaWxkKG5ldyBX
ZWJJbnNwZWN0b3IuQXJyYXlHcm91cGluZ1RyZWVFbGVtZW50KG9iamVjdCwgZnJvbUluZGV4LCB0
b0luZGV4LCBjb3VudCkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmICh0
b3BMZXZlbCkKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1l
bnQuX3BvcHVsYXRlTm9uSW5kZXhQcm9wZXJ0aWVzKHRyZWVFbGVtZW50LCBvYmplY3QpOworICAg
IH0KK30KKworLyoqCisgKiBAcGFyYW0ge1RyZWVFbGVtZW50fFRyZWVPdXRsaW5lfSB0cmVlRWxl
bWVudAorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0fSBvYmplY3QKKyAqIEBw
YXJhbSB7bnVtYmVyfSBmcm9tSW5kZXgKKyAqIEBwYXJhbSB7bnVtYmVyfSB0b0luZGV4CisgKi8K
K1dlYkluc3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQuX3BvcHVsYXRlQXNGcmFnbWVu
dCA9IGZ1bmN0aW9uKHRyZWVFbGVtZW50LCBvYmplY3QsIGZyb21JbmRleCwgdG9JbmRleCkKIHsK
LSAgICB2YXIgbm9uSW5kZXhQcm9wZXJ0aWVzID0gW107CisgICAgb2JqZWN0LmNhbGxGdW5jdGlv
bihidWlsZEFycmF5RnJhZ21lbnQsIFt7dmFsdWU6IGZyb21JbmRleH0sIHt2YWx1ZTogdG9JbmRl
eH1dLCBwcm9jZXNzQXJyYXlGcmFnbWVudC5iaW5kKHRoaXMpKTsKIAotICAgIGZvciAodmFyIGkg
PSBwcm9wZXJ0aWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7Ci0gICAgICAgIGlmICghaXNO
YU4ocHJvcGVydGllc1tpXS5uYW1lKSkgewotICAgICAgICAgICAgLy8gV2UndmUgcmVhY2hlZCBp
bmRleCBwcm9wZXJ0aWVzLCB0cmltIHByb3BlcnRpZXMgYW5kIGJyZWFrLgotICAgICAgICAgICAg
cHJvcGVydGllcy5sZW5ndGggPSBpICsgMTsKLSAgICAgICAgICAgIGJyZWFrOworICAgIGZ1bmN0
aW9uIGJ1aWxkQXJyYXlGcmFnbWVudChmcm9tSW5kZXgsIHRvSW5kZXgpCisgICAgeworICAgICAg
ICB2YXIgcmVzdWx0ID0gT2JqZWN0LmNyZWF0ZShudWxsKTsKKyAgICAgICAgZm9yICh2YXIgaSA9
IGZyb21JbmRleDsgaSA8PSB0b0luZGV4OyArK2kpIHsKKyAgICAgICAgICAgIHZhciB2YWx1ZSA9
IHRoaXNbaV07CisgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAidW5kZWZpbmVkIikK
KyAgICAgICAgICAgICAgICByZXN1bHRbaV0gPSB2YWx1ZTsKICAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gcmVzdWx0OworICAgIH0KIAotICAgICAgICBub25JbmRleFByb3BlcnRpZXMucHVzaChw
cm9wZXJ0aWVzW2ldKTsKKyAgICBmdW5jdGlvbiBwcm9jZXNzQXJyYXlGcmFnbWVudChhcnJheUZy
YWdtZW50KQorICAgIHsKKyAgICAgICAgYXJyYXlGcmFnbWVudC5nZXRBbGxQcm9wZXJ0aWVzKHBy
b2Nlc3NQcm9wZXJ0aWVzLmJpbmQodGhpcykpOwogICAgIH0KIAotICAgIFdlYkluc3BlY3Rvci5B
cnJheUdyb3VwaW5nVHJlZUVsZW1lbnQuX3BvcHVsYXRlKHBhcmVudFRyZWVFbGVtZW50LCB0cmVl
RWxlbWVudENvbnN0cnVjdG9yLCBwcm9wZXJ0aWVzLCAwLCBwcm9wZXJ0aWVzLmxlbmd0aCk7Cisg
ICAgZnVuY3Rpb24gcHJvY2Vzc1Byb3BlcnRpZXMocHJvcGVydGllcykKKyAgICB7CisgICAgICAg
IGlmICghcHJvcGVydGllcykKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgIG5vbkluZGV4UHJv
cGVydGllcy5zb3J0KFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5Db21wYXJl
UHJvcGVydGllcyk7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub25JbmRleFByb3BlcnRpZXMu
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gbmV3IHRyZWVFbGVtZW50
Q29uc3RydWN0b3Iobm9uSW5kZXhQcm9wZXJ0aWVzW2ldKTsKLSAgICAgICAgdHJlZUVsZW1lbnQu
X3JlYWRPbmx5ID0gdHJ1ZTsgCi0gICAgICAgIHBhcmVudFRyZWVFbGVtZW50LmFwcGVuZENoaWxk
KHRyZWVFbGVtZW50KTsKKyAgICAgICAgcHJvcGVydGllcy5zb3J0KFdlYkluc3BlY3Rvci5PYmpl
Y3RQcm9wZXJ0aWVzU2VjdGlvbi5Db21wYXJlUHJvcGVydGllcyk7CisgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgcHJvcGVy
dGllc1tpXS5wYXJlbnRPYmplY3QgPSB0aGlzLl9vYmplY3Q7CisgICAgICAgICAgICB2YXIgY2hp
bGRUcmVlRWxlbWVudCA9IG5ldyB0cmVlRWxlbWVudC50cmVlT3V0bGluZS5zZWN0aW9uLnRyZWVF
bGVtZW50Q29uc3RydWN0b3IocHJvcGVydGllc1tpXSk7CisgICAgICAgICAgICBjaGlsZFRyZWVF
bGVtZW50Ll9yZWFkT25seSA9IHRydWU7CisgICAgICAgICAgICB0cmVlRWxlbWVudC5hcHBlbmRD
aGlsZChjaGlsZFRyZWVFbGVtZW50KTsKKyAgICAgICAgfQogICAgIH0KIH0KIAotV2ViSW5zcGVj
dG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fcG9wdWxhdGUgPSBmdW5jdGlvbihwYXJlbnRU
cmVlRWxlbWVudCwgdHJlZUVsZW1lbnRDb25zdHJ1Y3RvciwgcHJvcGVydGllcywgZnJvbUluZGV4
LCB0b0luZGV4KQorLyoqCisgKiBAcGFyYW0ge1RyZWVFbGVtZW50fFRyZWVPdXRsaW5lfSB0cmVl
RWxlbWVudAorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0fSBvYmplY3QKKyAq
LworV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fcG9wdWxhdGVOb25JbmRl
eFByb3BlcnRpZXMgPSBmdW5jdGlvbih0cmVlRWxlbWVudCwgb2JqZWN0KQogewotICAgIHBhcmVu
dFRyZWVFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7Ci0gICAgY29uc3QgYnVja2V0VGhyZXNob2xk
ID0gV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5fYnVja2V0VGhyZXNob2xk
OwotICAgIHZhciByYW5nZSA9IHRvSW5kZXggLSBmcm9tSW5kZXg7CisgICAgb2JqZWN0LmNhbGxG
dW5jdGlvbihidWlsZE9iamVjdEZyYWdtZW50LCB1bmRlZmluZWQsIHByb2Nlc3NPYmplY3RGcmFn
bWVudC5iaW5kKHRoaXMpKTsKIAotICAgIGZ1bmN0aW9uIGFwcGVuZEVsZW1lbnQoaSkKKyAgICBm
dW5jdGlvbiBidWlsZE9iamVjdEZyYWdtZW50KCkKICAgICB7Ci0gICAgICAgIHZhciB0cmVlRWxl
bWVudCA9IG5ldyB0cmVlRWxlbWVudENvbnN0cnVjdG9yKHByb3BlcnRpZXNbaV0pOwotICAgICAg
ICB0cmVlRWxlbWVudC5fcmVhZE9ubHkgPSB0cnVlOwotICAgICAgICBwYXJlbnRUcmVlRWxlbWVu
dC5hcHBlbmRDaGlsZCh0cmVlRWxlbWVudCk7CisgICAgICAgIHZhciByZXN1bHQgPSBPYmplY3Qu
Y3JlYXRlKHRoaXMuX19wcm90b19fKTsKKyAgICAgICAgdmFyIG5hbWVzID0gT2JqZWN0LmdldE93
blByb3BlcnR5TmFtZXModGhpcyk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBuYW1lID0gbmFtZXNbaV07CisgICAgICAg
ICAgICBpZiAoIWlzTmFOKG5hbWUpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRo
aXMsIG5hbWUpOworICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3VsdCwgbmFt
ZSwgZGVzY3JpcHRvcik7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
CiAKLSAgICBpZiAocmFuZ2UgPD0gYnVja2V0VGhyZXNob2xkKSB7Ci0gICAgICAgIGZvciAodmFy
IGkgPSBmcm9tSW5kZXg7IGkgPCB0b0luZGV4OyArK2kpCi0gICAgICAgICAgICBhcHBlbmRFbGVt
ZW50KGkpOwotICAgICAgICByZXR1cm47CisgICAgZnVuY3Rpb24gcHJvY2Vzc09iamVjdEZyYWdt
ZW50KGFycmF5RnJhZ21lbnQpCisgICAgeworICAgICAgICBhcnJheUZyYWdtZW50LmdldE93blBy
b3BlcnRpZXMocHJvY2Vzc1Byb3BlcnRpZXMuYmluZCh0aGlzKSk7CiAgICAgfQogCi0gICAgdmFy
IGJ1Y2tldFNpemUgPSBNYXRoLmNlaWwocmFuZ2UgLyBidWNrZXRUaHJlc2hvbGQpOwotICAgIGlm
IChidWNrZXRTaXplIDwgYnVja2V0VGhyZXNob2xkKQotICAgICAgICBidWNrZXRTaXplID0gTWF0
aC5mbG9vcihNYXRoLnNxcnQocmFuZ2UpKTsKKyAgICBmdW5jdGlvbiBwcm9jZXNzUHJvcGVydGll
cyhwcm9wZXJ0aWVzKQorICAgIHsKKyAgICAgICAgaWYgKCFwcm9wZXJ0aWVzKQorICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgZm9yICh2YXIgaSA9IGZyb21JbmRleDsgaSA8IHRvSW5kZXg7IGkg
Kz0gYnVja2V0U2l6ZSkgewotICAgICAgICB2YXIgdG8gPSBNYXRoLm1pbihpICsgYnVja2V0U2l6
ZSwgdG9JbmRleCk7Ci0gICAgICAgIGlmICh0byAtIGkgPiAxKSB7Ci0gICAgICAgICAgICB2YXIg
Z3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudCh0cmVlRWxl
bWVudENvbnN0cnVjdG9yLCBwcm9wZXJ0aWVzLCBpLCB0byk7Ci0gICAgICAgICAgICBwYXJlbnRU
cmVlRWxlbWVudC5hcHBlbmRDaGlsZChncm91cCk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAg
ICAgYXBwZW5kRWxlbWVudChpKTsKKyAgICAgICAgcHJvcGVydGllcy5zb3J0KFdlYkluc3BlY3Rv
ci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5Db21wYXJlUHJvcGVydGllcyk7CisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgcHJvcGVydGllcy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAg
cHJvcGVydGllc1tpXS5wYXJlbnRPYmplY3QgPSB0aGlzLl9vYmplY3Q7CisgICAgICAgICAgICB2
YXIgY2hpbGRUcmVlRWxlbWVudCA9IG5ldyB0cmVlRWxlbWVudC50cmVlT3V0bGluZS5zZWN0aW9u
LnRyZWVFbGVtZW50Q29uc3RydWN0b3IocHJvcGVydGllc1tpXSk7CisgICAgICAgICAgICBjaGls
ZFRyZWVFbGVtZW50Ll9yZWFkT25seSA9IHRydWU7CisgICAgICAgICAgICB0cmVlRWxlbWVudC5h
cHBlbmRDaGlsZChjaGlsZFRyZWVFbGVtZW50KTsKKyAgICAgICAgfQogICAgIH0KIH0KIAogV2Vi
SW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgb25w
b3B1bGF0ZTogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLkFycmF5R3Jv
dXBpbmdUcmVlRWxlbWVudC5fcG9wdWxhdGUodGhpcywgdGhpcy5fdHJlZUVsZW1lbnRDb25zdHJ1
Y3RvciwgdGhpcy5fcHJvcGVydGllcywgdGhpcy5fZnJvbUluZGV4LCB0aGlzLl90b0luZGV4KTsK
KyAgICAgICAgaWYgKHRoaXMuX3BvcHVsYXRlZCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgCisgICAgICAgIHRoaXMuX3BvcHVsYXRlZCA9IHRydWU7CisKKyAgICAgICAgaWYgKHRoaXMu
X3Byb3BlcnR5Q291bnQgPj0gV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5f
YnVja2V0VGhyZXNob2xkKSB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuQXJyYXlHcm91cGlu
Z1RyZWVFbGVtZW50Ll9wb3B1bGF0ZVJhbmdlcyh0aGlzLCB0aGlzLl9vYmplY3QsIHRoaXMuX2Zy
b21JbmRleCwgdGhpcy5fdG9JbmRleCwgZmFsc2UpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIFdlYkluc3BlY3Rvci5BcnJheUdyb3VwaW5nVHJlZUVsZW1lbnQuX3Bv
cHVsYXRlQXNGcmFnbWVudCh0aGlzLCB0aGlzLl9vYmplY3QsIHRoaXMuX2Zyb21JbmRleCwgdGhp
cy5fdG9JbmRleCk7CisgICAgfSwKKworICAgIG9uYXR0YWNoOiBmdW5jdGlvbigpCisgICAgewor
ICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5hZGRTdHlsZUNsYXNzKCJuYW1lIik7CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1By
b3BlcnRpZXNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUHJvcGVydGllc1NpZGViYXJQYW5lLmpzCmluZGV4IDZhN2VhNjRmMjczN2E3OTlhMWNlMTVi
ZTBmM2E5YTc5ZWQwYzVlOGYuLmIyZmJjNTI3YzFkZjllOWY1ZWY1YTQxZTI2ZDhiNjBkMGM4ZjM1
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvcGVy
dGllc1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUHJvcGVydGllc1NpZGViYXJQYW5lLmpzCkBAIC02NSw3ICs2NSw3IEBAIFdlYkluc3BlY3Rv
ci5Qcm9wZXJ0aWVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgb2JqZWN0LmNhbGxGdW5jdGlvbihwcm90b0xpc3QsIG5vZGVQcm90b3R5cGVzUmVhZHkuYmlu
ZCh0aGlzKSk7CisgICAgICAgICAgICBvYmplY3QuY2FsbEZ1bmN0aW9uKHByb3RvTGlzdCwgdW5k
ZWZpbmVkLCBub2RlUHJvdG90eXBlc1JlYWR5LmJpbmQodGhpcykpOwogICAgICAgICAgICAgb2Jq
ZWN0LnJlbGVhc2UoKTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVtb3RlT2JqZWN0LmpzCmluZGV4IDc4NzkwMzhjZTk1MmM4OTE4ZmEz
MTdmMjk3YjRkOGFhZmZkNzA0NWUuLmE4MjYyZGMxNDJiNzEyODdhZmNhMTY2YWNiYmMyNDcyMzYy
ODdhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVt
b3RlT2JqZWN0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVt
b3RlT2JqZWN0LmpzCkBAIC0yNzIsMzAgKzI3MiwzMiBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2Jq
ZWN0LnByb3RvdHlwZSA9IHsKIAogICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmdW5j
dGlvbkRlY2xhcmF0aW9uCisgICAgICogQHBhcmFtIHtBcnJheS48UnVudGltZUFnZW50LkNhbGxB
cmd1bWVudD59IGFyZ3MKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuUmVt
b3RlT2JqZWN0KX0gY2FsbGJhY2sKICAgICAgKi8KLSAgICBjYWxsRnVuY3Rpb246IGZ1bmN0aW9u
KGZ1bmN0aW9uRGVjbGFyYXRpb24sIGNhbGxiYWNrKQorICAgIGNhbGxGdW5jdGlvbjogZnVuY3Rp
b24oZnVuY3Rpb25EZWNsYXJhdGlvbiwgYXJncywgY2FsbGJhY2spCiAgICAgewogICAgICAgICBm
dW5jdGlvbiBteWNhbGxiYWNrKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKICAgICAgICAgewog
ICAgICAgICAgICAgY2FsbGJhY2soKGVycm9yIHx8IHdhc1Rocm93bikgPyBudWxsIDogV2ViSW5z
cGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpKTsKICAgICAgICAgfQogCi0g
ICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9vYmplY3RJZCwgZnVuY3Rp
b25EZWNsYXJhdGlvbi50b1N0cmluZygpLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgbXljYWxsYmFj
ayk7CisgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9vYmplY3RJZCwg
ZnVuY3Rpb25EZWNsYXJhdGlvbi50b1N0cmluZygpLCBhcmdzLCB1bmRlZmluZWQsIG15Y2FsbGJh
Y2spOwogICAgIH0sCiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZnVuY3Rpb25E
ZWNsYXJhdGlvbgorICAgICAqIEBwYXJhbSB7QXJyYXkuPFJ1bnRpbWVBZ2VudC5DYWxsQXJndW1l
bnQ+fSBhcmdzCiAgICAgICogQHBhcmFtIHtmdW5jdGlvbigqKX0gY2FsbGJhY2sKICAgICAgKi8K
LSAgICBjYWxsRnVuY3Rpb25KU09OOiBmdW5jdGlvbihmdW5jdGlvbkRlY2xhcmF0aW9uLCBjYWxs
YmFjaykKKyAgICBjYWxsRnVuY3Rpb25KU09OOiBmdW5jdGlvbihmdW5jdGlvbkRlY2xhcmF0aW9u
LCBhcmdzLCBjYWxsYmFjaykKICAgICB7CiAgICAgICAgIGZ1bmN0aW9uIG15Y2FsbGJhY2soZXJy
b3IsIHJlc3VsdCwgd2FzVGhyb3duKQogICAgICAgICB7CiAgICAgICAgICAgICBjYWxsYmFjaygo
ZXJyb3IgfHwgd2FzVGhyb3duKSA/IG51bGwgOiByZXN1bHQudmFsdWUpOwogICAgICAgICB9CiAK
LSAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29iamVjdElkLCBmdW5j
dGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIHVuZGVmaW5lZCwgdHJ1ZSwgbXljYWxsYmFjayk7
CisgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9vYmplY3RJZCwgZnVu
Y3Rpb25EZWNsYXJhdGlvbi50b1N0cmluZygpLCBhcmdzLCB0cnVlLCBteWNhbGxiYWNrKTsKICAg
ICB9LAogCiAgICAgcmVsZWFzZTogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJkYzY4Yjc0ZDVjMGUwY2Vk
MWM4NjkxODI1OGRmY2RjYzFlN2QzM2IuLjI5MTlmZmQ2NWM0M2RkYTYzZDk0ZmFhYjAwZjg3Zjk1
Y2M0OWUzM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMy0wNiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQg
c3VwcG9ydCBmb3IgaW5zcGVjdGlvbiBvZiBodWdlICgxTSBlbGVtZW50cykgYXJyYXlzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
aW5zcGVjdG9yL2luZGV4ZWRkYi9kYXRhYmFzZS1kYXRhLmh0bWw6CisgICAgICAgICogaW5zcGVj
dG9yL2NvbnNvbGUvY29uc29sZS1iaWctYXJyYXkuaHRtbDoKKwogMjAxMi0wMy0wNSAgUGF2ZWwg
RmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBjaGVjayBmb3IgdGhlIG51bWJlciBvZiBwYXJzZWQgY3NzIHByb3BlcnRpZXMuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0YWJhc2Ut
ZGF0YS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2Rh
dGFiYXNlLWRhdGEuaHRtbAppbmRleCA2YTEwNzRlOTU2Njg2OTBlZWU0NWFiZWU3MWY0ZTc4NzAw
M2NjMmUxLi5lM2I5NjU1MTk2NzAwOGNmMmM4MWQ1MTlmMTBhYzlhZjllYjM5YzMwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0YWJhc2Ut
ZGF0YS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luZGV4ZWRk
Yi9kYXRhYmFzZS1kYXRhLmh0bWwKQEAgLTU2LDcgKzU2LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgZW50cnkgPSBlbnRyaWVzW2luZGV4XTsKLSAgICAgICAgICAgICAgICBlbnRyeS52YWx1
ZS5jYWxsRnVuY3Rpb25KU09OKGR1bXBNZSwgZHVtcGVkLmJpbmQodGhpcykpOworICAgICAgICAg
ICAgICAgIGVudHJ5LnZhbHVlLmNhbGxGdW5jdGlvbkpTT04oZHVtcE1lLCB1bmRlZmluZWQsIGR1
bXBlZC5iaW5kKHRoaXMpKTsKICAgICAgICAgICAgICAgICArK2luZGV4OwogICAgICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWJp
Zy1hcnJheS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvY29uc29sZS1iaWct
YXJyYXkuaHRtbAppbmRleCBkM2Q1N2VjMTU1MmMxYWNiZTQ1ZmFiYzRlNGM0ZjU3OTY5ZjJlNjVm
Li5hZGQ2MTIwNjAxNTdlOWY3ZTNmNTdhZTFmNWYxN2RhODg2ZTM4ZmIzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9jb25zb2xlLWJpZy1hcnJheS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlL2NvbnNvbGUtYmlnLWFycmF5Lmh0bWwKQEAg
LTM4LDEzICszOCwzMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgfQogICAgIH0KIAotICAg
IEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhkdW1wQ29uc29sZU1lc3Nh
Z2VzKTsKKyAgICBJbnNwZWN0b3JUZXN0LmFkZFNuaWZmZXIoV2ViSW5zcGVjdG9yLkFycmF5R3Jv
dXBpbmdUcmVlRWxlbWVudC5wcm90b3R5cGUsICJvbnBvcHVsYXRlIiwgcG9wdWxhdGVDYWxsZWQs
IHRydWUpOworICAgIHZhciBwb3B1bGF0ZWQgPSBmYWxzZTsKKyAgICBmdW5jdGlvbiBwb3B1bGF0
ZUNhbGxlZCgpCisgICAgeworICAgICAgICBwb3B1bGF0ZWQgPSB0aGlzLl90b0luZGV4ID09PSAy
NDsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JUZXN0LnJ1bkFmdGVyUGVuZGluZ0Rpc3BhdGNoZXMo
ZXhwYW5kUmVjdXJzaXZlbHkpOworCisgICAgZnVuY3Rpb24gZXhwYW5kUmVjdXJzaXZlbHkoKQor
ICAgIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWN0aW9ucy5sZW5ndGg7ICsraSkg
eworICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzZWN0aW9uc1tpXS5wcm9wZXJ0aWVz
VHJlZU91dGxpbmUuY2hpbGRyZW4ubGVuZ3RoOyArK2opIHsKKyAgICAgICAgICAgICAgICBmb3Ig
KHZhciB0cmVlRWxlbWVudCA9IHNlY3Rpb25zW2ldLnByb3BlcnRpZXNUcmVlT3V0bGluZS5jaGls
ZHJlbltqXTsgdHJlZUVsZW1lbnQ7IHRyZWVFbGVtZW50ID0gdHJlZUVsZW1lbnQudHJhdmVyc2VO
ZXh0VHJlZUVsZW1lbnQoZmFsc2UsIG51bGwsIGZhbHNlKSkgeworICAgICAgICAgICAgICAgICAg
ICBpZiAodHJlZUVsZW1lbnQubGlzdEl0ZW1FbGVtZW50LnRleHRDb250ZW50LmluZGV4T2YoIl9f
cHJvdG9fXyIpID09PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50LmV4
cGFuZCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBpZiAocG9wdWxhdGVkKQorICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5ydW5BZnRlclBl
bmRpbmdEaXNwYXRjaGVzKGNvbXBsZXRlVGVzdCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IEluc3BlY3RvclRlc3QucnVuQWZ0ZXJQZW5kaW5nRGlzcGF0Y2hlcyhleHBhbmRSZWN1cnNpdmVs
eSk7CisgICAgfQogCi0gICAgZnVuY3Rpb24gZHVtcENvbnNvbGVNZXNzYWdlcygpCisgICAgZnVu
Y3Rpb24gY29tcGxldGVUZXN0KCkKICAgICB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
c2VjdGlvbnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHNl
Y3Rpb25zW2ldLnByb3BlcnRpZXNUcmVlT3V0bGluZS5jaGlsZHJlbi5sZW5ndGg7ICsraikKLSAg
ICAgICAgICAgICAgICBzZWN0aW9uc1tpXS5wcm9wZXJ0aWVzVHJlZU91dGxpbmUuY2hpbGRyZW5b
al0uZXhwYW5kUmVjdXJzaXZlbHkoKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
SW5zcGVjdG9yVGVzdC50ZXh0Q29udGVudFdpdGhMaW5lQnJlYWtzKFdlYkluc3BlY3Rvci5jb25z
b2xlVmlldy5tZXNzYWdlc0VsZW1lbnQpKTsKICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0
ZVRlc3QoKTsKICAgICB9Cg==
</data>
<flag name="review"
          id="133372"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>