<?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>61615</bug_id>
          
          <creation_ts>2011-05-27 01:09:15 -0700</creation_ts>
          <short_desc>IndexedDB: Support mutating cursors on top of LevelDB</short_desc>
          <delta_ts>2011-05-27 07:02:47 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Wennborg">hans</reporter>
          <assigned_to name="Hans Wennborg">hans</assigned_to>
          <cc>andreip</cc>
    
    <cc>dgrogan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>411251</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-05-27 01:09:15 -0700</bug_when>
    <thetext>IndexedDB: Support mutating cursors on top of LevelDB</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411263</commentid>
    <comment_count>1</comment_count>
      <attachid>95140</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-05-27 01:32:52 -0700</bug_when>
    <thetext>Created attachment 95140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411387</commentid>
    <comment_count>2</comment_count>
      <attachid>95140</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-05-27 06:33:23 -0700</bug_when>
    <thetext>Comment on attachment 95140
Patch

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

&gt; Source/WebCore/platform/leveldb/LevelDBTransaction.h:141
&gt; +        void reSeekTreeIterator() const;

I suggest a more idiomatic name than reSeek, maybe refreshTreeIterator() or updateTreeIterator()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411394</commentid>
    <comment_count>3</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-05-27 06:50:32 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 95140 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95140&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/leveldb/LevelDBTransaction.h:141
&gt; &gt; +        void reSeekTreeIterator() const;
&gt; 
&gt; I suggest a more idiomatic name than reSeek, maybe refreshTreeIterator() or updateTreeIterator()?
Done.

Thanks, Tony!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411407</commentid>
    <comment_count>4</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-05-27 07:02:47 -0700</bug_when>
    <thetext>Committed r87508: &lt;http://trac.webkit.org/changeset/87508&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95140</attachid>
            <date>2011-05-27 01:32:52 -0700</date>
            <delta_ts>2011-05-27 06:33:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61615-20110527093250.patch</filename>
            <type>text/plain</type>
            <size>18069</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODczNzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMGYwYTZiNTZjNGMwMWNiYzc0YzEx
ZmZiOWY1NGUzMGFlNTUxYWUwLi4wNmUwY2JlZjhkNWQ4NGVhZGY0OWRjNzZkYTRjZTMyY2JjYzQz
NTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDUtMjcgIEhhbnMgV2VubmJvcmcgIDxo
YW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbmRleGVkREI6IFN1cHBvcnQgbXV0YXRpbmcgY3Vyc29ycyBvbiB0b3Agb2Yg
TGV2ZWxEQgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjE2MTUKKworICAgICAgICBOZXcgdGVzdCBmb3IgYWRkaW5nIG5ldyBlbnRyaWVzIHRvIGFuIG9i
amVjZXQgc3RvcmUgd2hpbGUgcnVubmluZyBhCisgICAgICAgIGN1cnNvciBvdmVyIGl0LgorCisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLmh0bWw6
IEFkZGVkLgorCiAyMDExLTA1LTI2ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3ItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yNzBiMjRmZTc0NmU2YWMwN2U5ZTZiOTliMzExNjQyZGNlZjgyMTYwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmct
Y3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkyIEBACitUZXN0IG11dGF0aW5nIGFuIElu
ZGV4ZWREQidzIG9iamVjdHN0b3JlIGZyb20gYSBjdXJzb3IuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCit3ZWJraXRJbmRleGVkREIub3BlbignbXV0YXRpbmctY3Vyc29yJykKK2Ri
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorZGIuc2V0VmVyc2lvbignMScpCitzZXRWZXJzaW9uU3Vj
Y2VzcygpOgordHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0CitQQVNTIHRyYW5zICE9PSBudWxs
IGlzIHRydWUKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitvYmplY3RTdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCitvYmplY3RTdG9yZS5hZGQoMSwgMSkub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCitvYmplY3RTdG9yZS5hZGQoMiwgMikub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCitvYmplY3RTdG9yZS5hZGQoMywgMykub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCitvYmplY3RTdG9yZS5hZGQoNCwgNCkub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCitvcGVuRm9yd2FyZEN1cnNvcigpCit0cmFucyA9IGRi
LnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMu
b2JqZWN0U3RvcmUoJ3N0b3JlJykKK29iamVjdFN0b3JlLm9wZW5DdXJzb3IoKQorZm9yd2FyZEN1
cnNvcigpCisxCitQQVNTIGN1cnNvci5rZXkgaXMgY3Vyc29yU3RlcHMKK1BBU1MgY3Vyc29yLnZh
bHVlIGlzIGN1cnNvclN0ZXBzCitldmVudC50YXJnZXQuc291cmNlLmFkZCg1LCA1KQorY3Vyc29y
LmNvbnRpbnVlKCkKK2ZvcndhcmRDdXJzb3IoKQorMgorUEFTUyBjdXJzb3Iua2V5IGlzIGN1cnNv
clN0ZXBzCitQQVNTIGN1cnNvci52YWx1ZSBpcyBjdXJzb3JTdGVwcworY3Vyc29yLmNvbnRpbnVl
KCkKK2ZvcndhcmRDdXJzb3IoKQorMworUEFTUyBjdXJzb3Iua2V5IGlzIGN1cnNvclN0ZXBzCitQ
QVNTIGN1cnNvci52YWx1ZSBpcyBjdXJzb3JTdGVwcworY3Vyc29yLmNvbnRpbnVlKCkKK2Zvcndh
cmRDdXJzb3IoKQorNAorUEFTUyBjdXJzb3Iua2V5IGlzIGN1cnNvclN0ZXBzCitQQVNTIGN1cnNv
ci52YWx1ZSBpcyBjdXJzb3JTdGVwcworY3Vyc29yLmNvbnRpbnVlKCkKK2ZvcndhcmRDdXJzb3Io
KQorNQorUEFTUyBjdXJzb3Iua2V5IGlzIGN1cnNvclN0ZXBzCitQQVNTIGN1cnNvci52YWx1ZSBp
cyBjdXJzb3JTdGVwcworY3Vyc29yLmNvbnRpbnVlKCkKK2ZvcndhcmRDdXJzb3IoKQorUEFTUyBj
dXJzb3JTdGVwcyBpcyA1Citmb3J3YXJkQ3Vyc29yQ29tcGxldGUoKQorb3BlblJldmVyc2VDdXJz
b3IoKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkKK3RyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpCitvYmplY3RTdG9yZS5vcGVuQ3Vy
c29yKG51bGwsIHdlYmtpdElEQkN1cnNvci5QUkVWKQorcmV2ZXJzZUN1cnNvcigpCis1CitQQVNT
IGN1cnNvci5rZXkgaXMgY3Vyc29yU3RlcHMKK1BBU1MgY3Vyc29yLnZhbHVlIGlzIGN1cnNvclN0
ZXBzCitjdXJzb3IuY29udGludWUoKQorcmV2ZXJzZUN1cnNvcigpCis0CitQQVNTIGN1cnNvci5r
ZXkgaXMgY3Vyc29yU3RlcHMKK1BBU1MgY3Vyc29yLnZhbHVlIGlzIGN1cnNvclN0ZXBzCitjdXJz
b3IuY29udGludWUoKQorcmV2ZXJzZUN1cnNvcigpCiszCitQQVNTIGN1cnNvci5rZXkgaXMgY3Vy
c29yU3RlcHMKK1BBU1MgY3Vyc29yLnZhbHVlIGlzIGN1cnNvclN0ZXBzCitjdXJzb3IuY29udGlu
dWUoKQorcmV2ZXJzZUN1cnNvcigpCisyCitQQVNTIGN1cnNvci5rZXkgaXMgY3Vyc29yU3RlcHMK
K1BBU1MgY3Vyc29yLnZhbHVlIGlzIGN1cnNvclN0ZXBzCitldmVudC50YXJnZXQuc291cmNlLmFk
ZCgwLCAwKQorY3Vyc29yLmNvbnRpbnVlKCkKK3JldmVyc2VDdXJzb3IoKQorMQorUEFTUyBjdXJz
b3Iua2V5IGlzIGN1cnNvclN0ZXBzCitQQVNTIGN1cnNvci52YWx1ZSBpcyBjdXJzb3JTdGVwcwor
Y3Vyc29yLmNvbnRpbnVlKCkKK3JldmVyc2VDdXJzb3IoKQorMAorUEFTUyBjdXJzb3Iua2V5IGlz
IGN1cnNvclN0ZXBzCitQQVNTIGN1cnNvci52YWx1ZSBpcyBjdXJzb3JTdGVwcworY3Vyc29yLmNv
bnRpbnVlKCkKK3JldmVyc2VDdXJzb3IoKQorUEFTUyBjdXJzb3JTdGVwcyBpcyAwCityZXZlcnNl
Q3Vyc29yQ29tcGxldGUoKQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211
dGF0aW5nLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRp
bmctY3Vyc29yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTgwOGRiNzc1MTljMjE5NDU4OTRkNTM3ZjllZTg3
NmY0NzViMjY3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL211dGF0aW5nLWN1cnNvci5odG1sCkBAIC0wLDAgKzEsMTQ2IEBACis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC1mdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitk
ZXNjcmlwdGlvbigiVGVzdCBtdXRhdGluZyBhbiBJbmRleGVkREIncyBvYmplY3RzdG9yZSBmcm9t
IGEgY3Vyc29yLiIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK3Rlc3QoKTsKKworZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coIndlYmtpdEluZGV4ZWREQi5vcGVu
KCdtdXRhdGluZy1jdXJzb3InKSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gb3BlblN1Y2Nl
c3M7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cit9CisK
K2Z1bmN0aW9uIG9wZW5TdWNjZXNzKCkKK3sKKyAgICB2YXIgZGIgPSBldmFsQW5kTG9nKCJkYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKKworICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5z
ZXRWZXJzaW9uKCcxJykiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb25TdWNj
ZXNzOworICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQor
CitmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCit7CisgICAgZGVidWcoInNldFZlcnNpb25T
dWNjZXNzKCk6Iik7CisgICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CisgICAgc2hvdWxkQmVUcnVlKCJ0cmFucyAhPT0gbnVsbCIpOwor
ICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKKyAgICB0cmFucy5v
bmNvbXBsZXRlID0gb3BlbkZvcndhcmRDdXJzb3I7CisKKyAgICBkZWxldGVBbGxPYmplY3RTdG9y
ZXMoZGIpOworCisgICAgdmFyIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIGV2YWxBbmRMb2coIm9iamVj
dFN0b3JlLmFkZCgxLCAxKS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2siKTsKKyAg
ICBldmFsQW5kTG9nKCJvYmplY3RTdG9yZS5hZGQoMiwgMikub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrIik7CisgICAgZXZhbEFuZExvZygib2JqZWN0U3RvcmUuYWRkKDMsIDMpLm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjayIpOworICAgIGV2YWxBbmRMb2coIm9iamVj
dFN0b3JlLmFkZCg0LCA0KS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2siKTsKK30K
KworZnVuY3Rpb24gb3BlbkZvcndhcmRDdXJzb3IoKQoreworICAgIGRlYnVnKCJvcGVuRm9yd2Fy
ZEN1cnNvcigpIik7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucy5vbmFib3J0ID0g
dW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CisgICAgdHJhbnMub25jb21wbGV0ZSA9IGZvcndhcmRD
dXJzb3JDb21wbGV0ZTsKKworICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coInRy
YW5zLm9iamVjdFN0b3JlKCdzdG9yZScpIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coIm9i
amVjdFN0b3JlLm9wZW5DdXJzb3IoKSIpOworICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZm9yd2Fy
ZEN1cnNvcjsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
KyAgICB3aW5kb3cuY3Vyc29yU3RlcHMgPSAwOworfQorCitmdW5jdGlvbiBmb3J3YXJkQ3Vyc29y
KCkKK3sKKyAgICBkZWJ1ZygiZm9yd2FyZEN1cnNvcigpIik7CisgICAgd2luZG93LmN1cnNvciA9
IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisKKyAgICBpZiAoZXZlbnQudGFyZ2V0LnJlc3VsdCA9PSBu
dWxsKSB7CisgICAgICAgIHNob3VsZEJlKCJjdXJzb3JTdGVwcyIsICI1Iik7CisKKyAgICAgICAg
Ly8gTGV0IHRoZSB0cmFuc2FjdGlvbiBmaW5pc2guCisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBkZWJ1ZygrK2N1cnNvclN0ZXBzKTsKKyAgICBzaG91bGRCZSgiY3Vyc29yLmtleSIsICJj
dXJzb3JTdGVwcyIpOworICAgIHNob3VsZEJlKCJjdXJzb3IudmFsdWUiLCAiY3Vyc29yU3RlcHMi
KTsKKworICAgIGlmIChjdXJzb3JTdGVwcyA9PSAxKSB7CisgICAgICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJldmVudC50YXJnZXQuc291cmNlLmFkZCg1LCA1KSIpOworICAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeyBldmFsQW5kTG9nKCJjdXJzb3IuY29udGludWUoKSIp
OyB9CisgICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGV2YWxBbmRMb2coImN1cnNvci5jb250aW51ZSgpIik7Cisg
ICAgfQorfQorCitmdW5jdGlvbiBmb3J3YXJkQ3Vyc29yQ29tcGxldGUoKQoreworICAgIGRlYnVn
KCJmb3J3YXJkQ3Vyc29yQ29tcGxldGUoKSIpOworICAgIG9wZW5SZXZlcnNlQ3Vyc29yKCkKK30K
KworZnVuY3Rpb24gb3BlblJldmVyc2VDdXJzb3IoKQoreworICAgIGRlYnVnKCJvcGVuUmV2ZXJz
ZUN1cnNvcigpIik7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucy5vbmFib3J0ID0g
dW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CisgICAgdHJhbnMub25jb21wbGV0ZSA9IHJldmVyc2VD
dXJzb3JDb21wbGV0ZTsKKworICAgIHdpbmRvdy5vYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coInRy
YW5zLm9iamVjdFN0b3JlKCdzdG9yZScpIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coIm9i
amVjdFN0b3JlLm9wZW5DdXJzb3IobnVsbCwgd2Via2l0SURCQ3Vyc29yLlBSRVYpIik7CisgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSByZXZlcnNlQ3Vyc29yOworICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHdpbmRvdy5jdXJzb3JTdGVwcyA9IDY7Cit9
CisKK2Z1bmN0aW9uIHJldmVyc2VDdXJzb3IoKQoreworICAgIGRlYnVnKCJyZXZlcnNlQ3Vyc29y
KCkiKTsKKyAgICB3aW5kb3cuY3Vyc29yID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKKworICAgIGlm
IChldmVudC50YXJnZXQucmVzdWx0ID09IG51bGwpIHsKKyAgICAgICAgc2hvdWxkQmUoImN1cnNv
clN0ZXBzIiwgIjAiKTsKKworICAgICAgICAvLyBMZXQgdGhlIHRyYW5zYWN0aW9uIGZpbmlzaC4K
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGRlYnVnKC0tY3Vyc29yU3RlcHMpOworICAg
IHNob3VsZEJlKCJjdXJzb3Iua2V5IiwgImN1cnNvclN0ZXBzIik7CisgICAgc2hvdWxkQmUoImN1
cnNvci52YWx1ZSIsICJjdXJzb3JTdGVwcyIpOworCisgICAgaWYgKGN1cnNvclN0ZXBzID09IDIp
IHsKKyAgICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImV2ZW50LnRhcmdldC5zb3VyY2UuYWRk
KDAsIDApIik7CisgICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7IGV2YWxB
bmRMb2coImN1cnNvci5jb250aW51ZSgpIik7IH0KKyAgICAgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZXZhbEFuZExv
ZygiY3Vyc29yLmNvbnRpbnVlKCkiKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHJldmVyc2VDdXJz
b3JDb21wbGV0ZSgpCit7CisgICAgZGVidWcoInJldmVyc2VDdXJzb3JDb21wbGV0ZSgpIik7Cisg
ICAgZG9uZSgpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDkyNTFkMjUyYjMyODcwNmEwNDU2
MzZiZWUwNzc3N2QwZGIwOGVhOS4uYmM4Nzg4MGEyNzM3YWYwMmNkYmYxZWY4YzEyNWE2ZGU0MmY3
NWYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDExLTA1LTI3ICBIYW5zIFdlbm5i
b3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW5kZXhlZERCOiBTdXBwb3J0IG11dGF0aW5nIGN1cnNvcnMgb24g
dG9wIG9mIExldmVsREIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYxNjE1CisKKyAgICAgICAgV2UgbmVlZCB0byBzdXBwb3J0IHRoZSBjYXNlIHdoZXJl
IGEgbmV3IG5vZGUgaXMgYWRkZWQgdG8gdGhlIHRyZWUgaW4gYQorICAgICAgICB0cmFuc2FjdGlv
biBhZnRlciB0aGUgVHJlZUl0ZXJhdG9yIGhhcyBjb3ZlcmVkIHRoZSB3aG9sZSB0cmVlLgorCisg
ICAgICAgIFNpbmNlIHRoaXMgaXMgZG9uZSBsYXppbHksIGkuZS4gd2Ugc2V0IGEgZmxhZyB0aGF0
IHRoZSB0cmVlIG1pZ2h0IGhhdmUKKyAgICAgICAgY2hhbmdlZCwgYW5kIGFjdCB1cG9uIGl0IGxh
dGVyLCBzb21lIG1lbWJlcnMgbmVlZCB0byBiZSBtdXRhYmxlLAorICAgICAgICBiZWNhdXNlIHdl
IG1pZ2h0IG5lZWQgdG8gcmUtc2VlayB0aGUgdHJlZSBpdGVyYXRvciBpbiBhIGNvbnN0IGZ1bmN0
aW9uLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5o
dG1sCisgICAgICAgICAgICAgIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0
aW9uLW9iamVjdHN0b3JlLW9ubHkuaHRtbCAoZXhpc3RpbmcpCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9sZXZlbGRiL0xldmVsREJUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMZXZl
bERCVHJhbnNhY3Rpb246OnNldCk6CisgICAgICAgIChXZWJDb3JlOjpMZXZlbERCVHJhbnNhY3Rp
b246OlRyZWVJdGVyYXRvcjo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6TGV2ZWxEQlRyYW5z
YWN0aW9uOjpUcmVlSXRlcmF0b3I6On5UcmVlSXRlcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6
TGV2ZWxEQlRyYW5zYWN0aW9uOjpUcmVlSXRlcmF0b3I6OlRyZWVJdGVyYXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpMZXZlbERCVHJhbnNhY3Rpb246OlRyYW5zYWN0aW9uSXRlcmF0b3I6OlRyYW5z
YWN0aW9uSXRlcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6TGV2ZWxEQlRyYW5zYWN0aW9uOjpU
cmFuc2FjdGlvbkl0ZXJhdG9yOjp+VHJhbnNhY3Rpb25JdGVyYXRvcik6CisgICAgICAgIChXZWJD
b3JlOjpMZXZlbERCVHJhbnNhY3Rpb246OlRyYW5zYWN0aW9uSXRlcmF0b3I6Om5leHQpOgorICAg
ICAgICAoV2ViQ29yZTo6TGV2ZWxEQlRyYW5zYWN0aW9uOjpUcmFuc2FjdGlvbkl0ZXJhdG9yOjpw
cmV2KToKKyAgICAgICAgKFdlYkNvcmU6OkxldmVsREJUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25J
dGVyYXRvcjo6a2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkxldmVsREJUcmFuc2FjdGlvbjo6VHJh
bnNhY3Rpb25JdGVyYXRvcjo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGV2ZWxEQlRyYW5z
YWN0aW9uOjpUcmFuc2FjdGlvbkl0ZXJhdG9yOjp0cmVlQ2hhbmdlZCk6CisgICAgICAgIChXZWJD
b3JlOjpMZXZlbERCVHJhbnNhY3Rpb246OlRyYW5zYWN0aW9uSXRlcmF0b3I6OnJlU2Vla1RyZWVJ
dGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpMZXZlbERCVHJhbnNhY3Rpb246OnJlZ2lzdGVy
SXRlcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6TGV2ZWxEQlRyYW5zYWN0aW9uOjp1bnJlZ2lz
dGVySXRlcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6TGV2ZWxEQlRyYW5zYWN0aW9uOjpub3Rp
ZnlJdGVyYXRvcnNPZlRyZWVDaGFuZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2xldmVsZGIvTGV2
ZWxEQlRyYW5zYWN0aW9uLmg6CisgICAgICAgICogc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZElt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbXBsOjpvcGVuKToK
KyAgICAgICAgKiBzdG9yYWdlL0lEQkxldmVsREJCYWNraW5nU3RvcmUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6b3Blbik6CisKIDIwMTEtMDUtMjYgIEtl
bnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERp
bWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xldmVs
ZGIvTGV2ZWxEQlRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xldmVs
ZGIvTGV2ZWxEQlRyYW5zYWN0aW9uLmNwcAppbmRleCBlZmM0MTZlOGMzZTczYTQzY2UyYjVhMjhi
OWVhYjExZTkxMDNiMzJlLi44ZDFmZTg5OTBiZWZlOGJhNzNlYTY5YzJmOTU1MzlmYzFmY2VhZjFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJUcmFu
c2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERC
VHJhbnNhY3Rpb24uY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIGJvb2wgTGV2ZWxEQlRyYW5zYWN0aW9u
OjpzZXQoY29uc3QgTGV2ZWxEQlNsaWNlJiBrZXksIGNvbnN0IFZlY3RvcjxjaGFyPiYgdmFsdWUs
CiAgICAgbm9kZS0+ZGVsZXRlZCA9IGRlbGV0ZWQ7CiAKICAgICBpZiAobmV3Tm9kZSkKLSAgICAg
ICAgcmVzZXRJdGVyYXRvcnMoKTsKKyAgICAgICAgbm90aWZ5SXRlcmF0b3JzT2ZUcmVlQ2hhbmdl
KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTIyMiwyMyArMjIyLDE5IEBAIGJvb2wgTGV2
ZWxEQlRyYW5zYWN0aW9uOjpUcmVlSXRlcmF0b3I6OmlzRGVsZXRlZCgpIGNvbnN0CiAKIHZvaWQg
TGV2ZWxEQlRyYW5zYWN0aW9uOjpUcmVlSXRlcmF0b3I6OnJlc2V0KCkKIHsKLSAgICAvLyBGSVhN
RTogQmUgbGF6eTogc2V0IGEgZmxhZyBhbmQgZG8gdGhlIGFjdHVhbCByZXNldCBuZXh0IHRpbWUg
d2UgdXNlIHRoZSBpdGVyYXRvci4KLSAgICBpZiAoaXNWYWxpZCgpKSB7Ci0gICAgICAgIG1faXRl
cmF0b3Iuc3RhcnRfaXRlcigqbV90cmVlLCBtX2tleSwgVHJlZVR5cGU6OkVRVUFMKTsKLSAgICAg
ICAgQVNTRVJUKGlzVmFsaWQoKSk7Ci0gICAgfQorICAgIEFTU0VSVChpc1ZhbGlkKCkpOworICAg
IG1faXRlcmF0b3Iuc3RhcnRfaXRlcigqbV90cmVlLCBtX2tleSwgVHJlZVR5cGU6OkVRVUFMKTsK
KyAgICBBU1NFUlQoaXNWYWxpZCgpKTsKIH0KIAogTGV2ZWxEQlRyYW5zYWN0aW9uOjpUcmVlSXRl
cmF0b3I6On5UcmVlSXRlcmF0b3IoKQogewotICAgIG1fdHJhbnNhY3Rpb24tPnVucmVnaXN0ZXJJ
dGVyYXRvcih0aGlzKTsKIH0KIAogTGV2ZWxEQlRyYW5zYWN0aW9uOjpUcmVlSXRlcmF0b3I6OlRy
ZWVJdGVyYXRvcihMZXZlbERCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKQogICAgIDogbV90cmVl
KCZ0cmFuc2FjdGlvbi0+bV90cmVlKQogICAgICwgbV90cmFuc2FjdGlvbih0cmFuc2FjdGlvbikK
IHsKLSAgICB0cmFuc2FjdGlvbi0+cmVnaXN0ZXJJdGVyYXRvcih0aGlzKTsKIH0KIAogUGFzc093
blB0cjxMZXZlbERCVHJhbnNhY3Rpb246OlRyYW5zYWN0aW9uSXRlcmF0b3I+IExldmVsREJUcmFu
c2FjdGlvbjo6VHJhbnNhY3Rpb25JdGVyYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8TGV2ZWxEQlRy
YW5zYWN0aW9uPiB0cmFuc2FjdGlvbikKQEAgLTI1Myw3ICsyNDksMTQgQEAgTGV2ZWxEQlRyYW5z
YWN0aW9uOjpUcmFuc2FjdGlvbkl0ZXJhdG9yOjpUcmFuc2FjdGlvbkl0ZXJhdG9yKFBhc3NSZWZQ
dHI8TGV2ZWxEQlQKICAgICAsIG1fZGJJdGVyYXRvcihtX3RyYW5zYWN0aW9uLT5tX2RiLT5jcmVh
dGVJdGVyYXRvcigpKQogICAgICwgbV9jdXJyZW50KDApCiAgICAgLCBtX2RpcmVjdGlvbihrRm9y
d2FyZCkKKyAgICAsIG1fdHJlZUNoYW5nZWQoZmFsc2UpCit7CisgICAgbV90cmFuc2FjdGlvbi0+
cmVnaXN0ZXJJdGVyYXRvcih0aGlzKTsKK30KKworTGV2ZWxEQlRyYW5zYWN0aW9uOjpUcmFuc2Fj
dGlvbkl0ZXJhdG9yOjp+VHJhbnNhY3Rpb25JdGVyYXRvcigpCiB7CisgICAgbV90cmFuc2FjdGlv
bi0+dW5yZWdpc3Rlckl0ZXJhdG9yKHRoaXMpOwogfQogCiBib29sIExldmVsREJUcmFuc2FjdGlv
bjo6VHJhbnNhY3Rpb25JdGVyYXRvcjo6aXNWYWxpZCgpIGNvbnN0CkBAIC0yODQsNiArMjg3LDgg
QEAgdm9pZCBMZXZlbERCVHJhbnNhY3Rpb246OlRyYW5zYWN0aW9uSXRlcmF0b3I6OnNlZWsoY29u
c3QgTGV2ZWxEQlNsaWNlJiB0YXJnZXQpCiB2b2lkIExldmVsREJUcmFuc2FjdGlvbjo6VHJhbnNh
Y3Rpb25JdGVyYXRvcjo6bmV4dCgpCiB7CiAgICAgQVNTRVJUKGlzVmFsaWQoKSk7CisgICAgaWYg
KG1fdHJlZUNoYW5nZWQpCisgICAgICAgIHJlU2Vla1RyZWVJdGVyYXRvcigpOwogCiAgICAgaWYg
KG1fZGlyZWN0aW9uICE9IGtGb3J3YXJkKSB7CiAgICAgICAgIC8vIEVuc3VyZSB0aGUgbm9uLWN1
cnJlbnQgaXRlcmF0b3IgaXMgcG9zaXRpb25lZCBhZnRlciBrZXkoKS4KQEAgLTMwNyw2ICszMTIs
OCBAQCB2b2lkIExldmVsREJUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25JdGVyYXRvcjo6bmV4dCgp
CiB2b2lkIExldmVsREJUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25JdGVyYXRvcjo6cHJldigpCiB7
CiAgICAgQVNTRVJUKGlzVmFsaWQoKSk7CisgICAgaWYgKG1fdHJlZUNoYW5nZWQpCisgICAgICAg
IHJlU2Vla1RyZWVJdGVyYXRvcigpOwogCiAgICAgaWYgKG1fZGlyZWN0aW9uICE9IGtSZXZlcnNl
KSB7CiAgICAgICAgIC8vIEVuc3VyZSB0aGUgbm9uLWN1cnJlbnQgaXRlcmF0b3IgaXMgcG9zaXRp
b25lZCBiZWZvcmUga2V5KCkuCkBAIC0zMzYsMTUgKzM0Myw1NSBAQCB2b2lkIExldmVsREJUcmFu
c2FjdGlvbjo6VHJhbnNhY3Rpb25JdGVyYXRvcjo6cHJldigpCiBMZXZlbERCU2xpY2UgTGV2ZWxE
QlRyYW5zYWN0aW9uOjpUcmFuc2FjdGlvbkl0ZXJhdG9yOjprZXkoKSBjb25zdAogewogICAgIEFT
U0VSVChpc1ZhbGlkKCkpOworICAgIGlmIChtX3RyZWVDaGFuZ2VkKQorICAgICAgICByZVNlZWtU
cmVlSXRlcmF0b3IoKTsKICAgICByZXR1cm4gbV9jdXJyZW50LT5rZXkoKTsKIH0KIAogTGV2ZWxE
QlNsaWNlIExldmVsREJUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25JdGVyYXRvcjo6dmFsdWUoKSBj
b25zdAogewogICAgIEFTU0VSVChpc1ZhbGlkKCkpOworICAgIGlmIChtX3RyZWVDaGFuZ2VkKQor
ICAgICAgICByZVNlZWtUcmVlSXRlcmF0b3IoKTsKICAgICByZXR1cm4gbV9jdXJyZW50LT52YWx1
ZSgpOwogfQogCit2b2lkIExldmVsREJUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25JdGVyYXRvcjo6
dHJlZUNoYW5nZWQoKQoreworICAgIG1fdHJlZUNoYW5nZWQgPSB0cnVlOworfQorCit2b2lkIExl
dmVsREJUcmFuc2FjdGlvbjo6VHJhbnNhY3Rpb25JdGVyYXRvcjo6cmVTZWVrVHJlZUl0ZXJhdG9y
KCkgY29uc3QKK3sKKyAgICBBU1NFUlQobV90cmVlQ2hhbmdlZCk7CisKKyAgICBpZiAobV90cmVl
SXRlcmF0b3ItPmlzVmFsaWQoKSkgeworICAgICAgICBtX3RyZWVJdGVyYXRvci0+cmVzZXQoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChtX2RiSXRlcmF0b3ItPmlzVmFsaWQo
KSkgeworICAgICAgICBBU1NFUlQoIW1fdHJlZUl0ZXJhdG9yLT5pc1ZhbGlkKCkpOworCisgICAg
ICAgIC8vIFRoZXJlIGNvdWxkIGJlIG5ldyBub2RlcyBpbiB0aGUgdHJlZSB0aGF0IHdlIHNob3Vs
ZCBpdGVyYXRlIG92ZXIuCisKKyAgICAgICAgaWYgKG1fZGlyZWN0aW9uID09IGtGb3J3YXJkKSB7
CisgICAgICAgICAgICAvLyBUcnkgdG8gc2VlayB0cmVlIGl0ZXJhdG9yIHRvIHNvbWV0aGluZyBn
cmVhdGVyIHRoYW4gdGhlIGRiIGl0ZXJhdG9yLgorICAgICAgICAgICAgbV90cmVlSXRlcmF0b3It
PnNlZWsobV9kYkl0ZXJhdG9yLT5rZXkoKSk7CisgICAgICAgICAgICBpZiAobV90cmVlSXRlcmF0
b3ItPmlzVmFsaWQoKSAmJiAhbV9jb21wYXJhdG9yLT5jb21wYXJlKG1fdHJlZUl0ZXJhdG9yLT5r
ZXkoKSwgbV9kYkl0ZXJhdG9yLT5rZXkoKSkpCisgICAgICAgICAgICAgICAgbV90cmVlSXRlcmF0
b3ItPm5leHQoKTsgLy8gSWYgZXF1YWwsIHRha2UgYW5vdGhlciBzdGVwIHNvIHRoZSB0cmVlIGl0
ZXJhdG9yIGlzIHN0cmljdGx5IGdyZWF0ZXIuCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAvLyBJZiBnb2luZyBiYWNrd2FyZCwgc2VlayB0byBhIGtleSBsZXNzIHRoYW4gdGhlIGRiIGl0
ZXJhdG9yLgorICAgICAgICAgICAgQVNTRVJUKG1fZGlyZWN0aW9uID09IGtSZXZlcnNlKTsKKyAg
ICAgICAgICAgIG1fdHJlZUl0ZXJhdG9yLT5zZWVrKG1fZGJJdGVyYXRvci0+a2V5KCkpOworICAg
ICAgICAgICAgaWYgKG1fdHJlZUl0ZXJhdG9yLT5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAg
bV90cmVlSXRlcmF0b3ItPnByZXYoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIG1fdHJlZUNo
YW5nZWQgPSBmYWxzZTsKK30KKwogdm9pZCBMZXZlbERCVHJhbnNhY3Rpb246OlRyYW5zYWN0aW9u
SXRlcmF0b3I6OmhhbmRsZUNvbmZsaWN0c0FuZERlbGV0ZXMoKQogewogICAgIGJvb2wgbG9vcCA9
IHRydWU7CkBAIC00MDIsMjMgKzQ0OSwyMyBAQCB2b2lkIExldmVsREJUcmFuc2FjdGlvbjo6VHJh
bnNhY3Rpb25JdGVyYXRvcjo6c2V0Q3VycmVudEl0ZXJhdG9yVG9MYXJnZXN0S2V5KCkKICAgICBt
X2N1cnJlbnQgPSBsYXJnZXN0OwogfQogCi12b2lkIExldmVsREJUcmFuc2FjdGlvbjo6cmVnaXN0
ZXJJdGVyYXRvcihUcmVlSXRlcmF0b3IqIGl0ZXJhdG9yKQordm9pZCBMZXZlbERCVHJhbnNhY3Rp
b246OnJlZ2lzdGVySXRlcmF0b3IoVHJhbnNhY3Rpb25JdGVyYXRvciogaXRlcmF0b3IpCiB7Ci0g
ICAgQVNTRVJUKCFtX3RyZWVJdGVyYXRvcnMuY29udGFpbnMoaXRlcmF0b3IpKTsKLSAgICBtX3Ry
ZWVJdGVyYXRvcnMuYWRkKGl0ZXJhdG9yKTsKKyAgICBBU1NFUlQoIW1faXRlcmF0b3JzLmNvbnRh
aW5zKGl0ZXJhdG9yKSk7CisgICAgbV9pdGVyYXRvcnMuYWRkKGl0ZXJhdG9yKTsKIH0KIAotdm9p
ZCBMZXZlbERCVHJhbnNhY3Rpb246OnVucmVnaXN0ZXJJdGVyYXRvcihUcmVlSXRlcmF0b3IqIGl0
ZXJhdG9yKQordm9pZCBMZXZlbERCVHJhbnNhY3Rpb246OnVucmVnaXN0ZXJJdGVyYXRvcihUcmFu
c2FjdGlvbkl0ZXJhdG9yKiBpdGVyYXRvcikKIHsKLSAgICBBU1NFUlQobV90cmVlSXRlcmF0b3Jz
LmNvbnRhaW5zKGl0ZXJhdG9yKSk7Ci0gICAgbV90cmVlSXRlcmF0b3JzLnJlbW92ZShpdGVyYXRv
cik7CisgICAgQVNTRVJUKG1faXRlcmF0b3JzLmNvbnRhaW5zKGl0ZXJhdG9yKSk7CisgICAgbV9p
dGVyYXRvcnMucmVtb3ZlKGl0ZXJhdG9yKTsKIH0KIAotdm9pZCBMZXZlbERCVHJhbnNhY3Rpb246
OnJlc2V0SXRlcmF0b3JzKCkKK3ZvaWQgTGV2ZWxEQlRyYW5zYWN0aW9uOjpub3RpZnlJdGVyYXRv
cnNPZlRyZWVDaGFuZ2UoKQogewotICAgIGZvciAoSGFzaFNldDxUcmVlSXRlcmF0b3IqPjo6aXRl
cmF0b3IgaSA9IG1fdHJlZUl0ZXJhdG9ycy5iZWdpbigpOyBpICE9IG1fdHJlZUl0ZXJhdG9ycy5l
bmQoKTsgKytpKSB7Ci0gICAgICAgIFRyZWVJdGVyYXRvciogdHJlZUl0ZXJhdG9yID0gKmk7Ci0g
ICAgICAgIHRyZWVJdGVyYXRvci0+cmVzZXQoKTsKKyAgICBmb3IgKEhhc2hTZXQ8VHJhbnNhY3Rp
b25JdGVyYXRvcio+OjppdGVyYXRvciBpID0gbV9pdGVyYXRvcnMuYmVnaW4oKTsgaSAhPSBtX2l0
ZXJhdG9ycy5lbmQoKTsgKytpKSB7CisgICAgICAgIFRyYW5zYWN0aW9uSXRlcmF0b3IqIHRyYW5z
YWN0aW9uSXRlcmF0b3IgPSAqaTsKKyAgICAgICAgdHJhbnNhY3Rpb25JdGVyYXRvci0+dHJlZUNo
YW5nZWQoKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2xldmVsZGIvTGV2ZWxEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9s
ZXZlbGRiL0xldmVsREJUcmFuc2FjdGlvbi5oCmluZGV4IDcyZTg2MmIyNDdmNWZjOWJhYzk5ODQ5
OTQzNjhlMjRhNmI5MTFkNzkuLjUzNWQ5YTFiOGE2ZGI3ZDc2OTUzNzE1YmNlMTQ3ODBkNmI4NWY1
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQlRy
YW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERC
VHJhbnNhY3Rpb24uaApAQCAtMTIxLDcgKzEyMSw3IEBAIHByaXZhdGU6CiAKICAgICBjbGFzcyBU
cmFuc2FjdGlvbkl0ZXJhdG9yIDogcHVibGljIExldmVsREJJdGVyYXRvciB7CiAgICAgcHVibGlj
OgotICAgICAgICB+VHJhbnNhY3Rpb25JdGVyYXRvcigpIHsgfTsKKyAgICAgICAgflRyYW5zYWN0
aW9uSXRlcmF0b3IoKTsKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VHJhbnNhY3Rpb25JdGVy
YXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8TGV2ZWxEQlRyYW5zYWN0aW9uPik7CiAKICAgICAgICAg
dmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdDsKQEAgLTEzMSwxNiArMTMxLDE4IEBAIHByaXZh
dGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwcmV2KCk7CiAgICAgICAgIHZpcnR1YWwgTGV2ZWxE
QlNsaWNlIGtleSgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIExldmVsREJTbGljZSB2YWx1ZSgp
IGNvbnN0OworICAgICAgICB2b2lkIHRyZWVDaGFuZ2VkKCk7CiAKICAgICBwcml2YXRlOgogICAg
ICAgICBUcmFuc2FjdGlvbkl0ZXJhdG9yKFBhc3NSZWZQdHI8TGV2ZWxEQlRyYW5zYWN0aW9uPik7
CiAgICAgICAgIHZvaWQgaGFuZGxlQ29uZmxpY3RzQW5kRGVsZXRlcygpOwogICAgICAgICB2b2lk
IHNldEN1cnJlbnRJdGVyYXRvclRvU21hbGxlc3RLZXkoKTsKICAgICAgICAgdm9pZCBzZXRDdXJy
ZW50SXRlcmF0b3JUb0xhcmdlc3RLZXkoKTsKKyAgICAgICAgdm9pZCByZVNlZWtUcmVlSXRlcmF0
b3IoKSBjb25zdDsKIAogICAgICAgICBSZWZQdHI8TGV2ZWxEQlRyYW5zYWN0aW9uPiBtX3RyYW5z
YWN0aW9uOwogICAgICAgICBjb25zdCBMZXZlbERCQ29tcGFyYXRvciogbV9jb21wYXJhdG9yOwot
ICAgICAgICBPd25QdHI8VHJlZUl0ZXJhdG9yPiBtX3RyZWVJdGVyYXRvcjsKKyAgICAgICAgbXV0
YWJsZSBPd25QdHI8VHJlZUl0ZXJhdG9yPiBtX3RyZWVJdGVyYXRvcjsKICAgICAgICAgT3duUHRy
PExldmVsREJJdGVyYXRvcj4gbV9kYkl0ZXJhdG9yOwogICAgICAgICBMZXZlbERCSXRlcmF0b3Iq
IG1fY3VycmVudDsKIApAQCAtMTQ5LDE5ICsxNTEsMjAgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IGtSZXZlcnNlCiAgICAgICAgIH07CiAgICAgICAgIERpcmVjdGlvbiBtX2RpcmVjdGlvbjsKKyAg
ICAgICAgbXV0YWJsZSBib29sIG1fdHJlZUNoYW5nZWQ7CiAgICAgfTsKIAogICAgIGJvb2wgc2V0
KGNvbnN0IExldmVsREJTbGljZSYga2V5LCBjb25zdCBWZWN0b3I8Y2hhcj4mIHZhbHVlLCBib29s
IGRlbGV0ZWQpOwogICAgIHZvaWQgY2xlYXJUcmVlKCk7Ci0gICAgdm9pZCByZWdpc3Rlckl0ZXJh
dG9yKFRyZWVJdGVyYXRvciopOwotICAgIHZvaWQgdW5yZWdpc3Rlckl0ZXJhdG9yKFRyZWVJdGVy
YXRvciopOwotICAgIHZvaWQgcmVzZXRJdGVyYXRvcnMoKTsKKyAgICB2b2lkIHJlZ2lzdGVySXRl
cmF0b3IoVHJhbnNhY3Rpb25JdGVyYXRvciopOworICAgIHZvaWQgdW5yZWdpc3Rlckl0ZXJhdG9y
KFRyYW5zYWN0aW9uSXRlcmF0b3IqKTsKKyAgICB2b2lkIG5vdGlmeUl0ZXJhdG9yc09mVHJlZUNo
YW5nZSgpOwogCiAgICAgTGV2ZWxEQkRhdGFiYXNlKiBtX2RiOwogICAgIGNvbnN0IExldmVsREJD
b21wYXJhdG9yKiBtX2NvbXBhcmF0b3I7CiAgICAgVHJlZVR5cGUgbV90cmVlOwogICAgIGJvb2wg
bV9maW5pc2hlZDsKLSAgICBIYXNoU2V0PFRyZWVJdGVyYXRvcio+IG1fdHJlZUl0ZXJhdG9yczsK
KyAgICBIYXNoU2V0PFRyYW5zYWN0aW9uSXRlcmF0b3IqPiBtX2l0ZXJhdG9yczsKIH07CiAKIH0K
</data>
<flag name="review"
          id="88575"
          type_id="1"
          status="+"
          setter="tonyg"
    />
          </attachment>
      

    </bug>

</bugzilla>