<?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>73511</bug_id>
          
          <creation_ts>2011-11-30 18:53:22 -0800</creation_ts>
          <short_desc>Internals should have a method to return the max sequence number of spellcheck request.</short_desc>
          <delta_ts>2011-12-07 04:34:24 -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>HTML Editing</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>
          
          <blocked>72942</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Shinya Kawanaka">shinyak</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>gustavo</cc>
    
    <cc>morrita</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>512335</commentid>
    <comment_count>0</comment_count>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-11-30 18:53:22 -0800</bug_when>
    <thetext>This is required to create a test for:
https://bugs.webkit.org/show_bug.cgi?id=72942</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512455</commentid>
    <comment_count>1</comment_count>
      <attachid>117333</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-11-30 21:52:39 -0800</bug_when>
    <thetext>Created attachment 117333
Test Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512460</commentid>
    <comment_count>2</comment_count>
      <attachid>117333</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-11-30 21:56:21 -0800</bug_when>
    <thetext>Comment on attachment 117333
Test Patch

Attachment 117333 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10689172</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512607</commentid>
    <comment_count>3</comment_count>
      <attachid>117333</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-01 01:11:43 -0800</bug_when>
    <thetext>Comment on attachment 117333
Test Patch

Attachment 117333 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10697538</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513086</commentid>
    <comment_count>4</comment_count>
      <attachid>117333</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-01 14:07:17 -0800</bug_when>
    <thetext>Comment on attachment 117333
Test Patch

Attachment 117333 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10709739</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513510</commentid>
    <comment_count>5</comment_count>
      <attachid>117570</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-01 22:37:24 -0800</bug_when>
    <thetext>Created attachment 117570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513529</commentid>
    <comment_count>6</comment_count>
      <attachid>117570</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-01 22:54:50 -0800</bug_when>
    <thetext>Comment on attachment 117570
Patch

Attachment 117570 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10725239</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515725</commentid>
    <comment_count>7</comment_count>
      <attachid>118005</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-06 01:09:22 -0800</bug_when>
    <thetext>Created attachment 118005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515789</commentid>
    <comment_count>8</comment_count>
      <attachid>118005</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-12-06 03:58:08 -0800</bug_when>
    <thetext>Comment on attachment 118005
Patch

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

Basically looks nice. I pointed some nits.

&gt; Source/WebCore/testing/Internals.cpp:624
&gt; +    if (!document || !document-&gt;frame() || !document-&gt;frame()-&gt;editor() || !document-&gt;frame()-&gt;editor()-&gt;spellChecker()) {

Could you add a getter for spellchecker like Internals::spellchecker()?

&gt; LayoutTests/ChangeLog:8
&gt; +        Tests to check internals.lastSpellCheckRequestSequence and internals.lastSpellCheckProcessedSequence.

&quot;Added tests&quot;?

&gt; LayoutTests/ChangeLog:12
&gt; +

I guess we need to skip on some ports. You will know which ports do ;-)

&gt; LayoutTests/editing/spelling/spellcheck-sequencenum.html:111
&gt; +            testPassed(&quot;SpellCheck sequence seems work correctly.&quot;);

&quot;seems working&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516416</commentid>
    <comment_count>9</comment_count>
      <attachid>118151</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-06 17:54:01 -0800</bug_when>
    <thetext>Created attachment 118151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516425</commentid>
    <comment_count>10</comment_count>
      <attachid>118155</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-06 18:16:51 -0800</bug_when>
    <thetext>Created attachment 118155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516426</commentid>
    <comment_count>11</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-12-06 18:17:49 -0800</bug_when>
    <thetext>Please remember to update &lt;http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree&gt; when this lands to document the API you are adding to window.internals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516467</commentid>
    <comment_count>12</comment_count>
      <attachid>118155</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-06 20:08:02 -0800</bug_when>
    <thetext>Comment on attachment 118155
Patch

Attachment 118155 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10747018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516572</commentid>
    <comment_count>13</comment_count>
      <attachid>118197</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2011-12-07 03:04:48 -0800</bug_when>
    <thetext>Created attachment 118197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516598</commentid>
    <comment_count>14</comment_count>
      <attachid>118197</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 04:34:19 -0800</bug_when>
    <thetext>Comment on attachment 118197
Patch

Clearing flags on attachment: 118197

Committed r102231: &lt;http://trac.webkit.org/changeset/102231&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516599</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 04:34:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117333</attachid>
            <date>2011-11-30 21:52:39 -0800</date>
            <delta_ts>2011-12-01 22:37:17 -0800</delta_ts>
            <desc>Test Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>4071</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcAppbmRleCAxYmM5NzVhLi4zZTc3
MWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCkBAIC00Nyw3ICs0
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU3BlbGxDaGVja2VyOjpTcGVsbENoZWNrZXIo
RnJhbWUqIGZyYW1lKQogICAgIDogbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fcmVxdWVzdFNlcXVl
bmNlKDApCisgICAgLCBtX3JlcXVlc3RTZXF1ZW5jZSgxKQorICAgICwgbV9wcm9jZXNzZWRSZXF1
ZXN0U2VxdWVuY2UoMCkKIHsKIH0KIApAQCAtMTU5LDYgKzE2MCw5IEBAIHN0YXRpYyBEb2N1bWVu
dE1hcmtlcjo6TWFya2VyVHlwZSB0b01hcmtlclR5cGUoVGV4dENoZWNraW5nVHlwZSB0eXBlKQog
Ly8gQ3VycmVubnRseSBpZ25vcmluZyBUZXh0Q2hlY2tpbmdSZXN1bHQ6OmRldGFpbHMgYnV0IHNo
b3VsZCBiZSBoYW5kbGVkLiBTZWUgQnVnIDU2MzY4Lgogdm9pZCBTcGVsbENoZWNrZXI6OmRpZENo
ZWNrKGludCBzZXF1ZW5jZSwgY29uc3QgVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mIHJlc3Vs
dHMpCiB7CisgICAgaWYgKG1fcHJvY2Vzc2VkUmVxdWVzdFNlcXVlbmNlIDwgc2VxdWVuY2UpCisg
ICAgICAgIG1fcHJvY2Vzc2VkUmVxdWVzdFNlcXVlbmNlID0gc2VxdWVuY2U7CisKICAgICBpZiAo
IWlzVmFsaWQoc2VxdWVuY2UpKQogICAgICAgICByZXR1cm47CiAKQEAgLTIwMCw0ICsyMDQsNSBA
QCB2b2lkIFNwZWxsQ2hlY2tlcjo6ZGlkQ2hlY2soaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8
VGV4dENoZWNraW5nUmVzdWx0PiYgcmVzdQogfQogCiAKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggM2E0MTQ4OS4uMGIwNzA2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCkBAIC01NCw2ICs1NCwxNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZXF1ZXN0Q2hlY2tpbmdGb3IoVGV4dENoZWNraW5nVHlwZU1h
c2ssIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICB2b2lkIGRpZENoZWNrKGludCBzZXF1ZW5jZSwg
Y29uc3QgVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mKTsKIAorICAgIGludCBsYXN0UmVxdWVz
dFNlcXVlbmNlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3JlcXVlc3RTZXF1ZW5j
ZTsKKyAgICB9CisKKyAgICBpbnQgbGFzdFByb2Nlc3NlZFJlcXVlc3RTZXF1ZW5jZSgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9wcm9jZXNzZWRSZXF1ZXN0U2VxdWVuY2U7CisgICAg
fQorCiBwcml2YXRlOgogICAgIGJvb2wgaW5pdFJlcXVlc3QoUGFzc1JlZlB0cjxSYW5nZT4pOwog
ICAgIHZvaWQgY2xlYXJSZXF1ZXN0KCk7CkBAIC02NSw2ICs3NSw3IEBAIHByaXZhdGU6CiAgICAg
UmVmUHRyPFJhbmdlPiBtX3JlcXVlc3RSYW5nZTsKICAgICBTdHJpbmcgbV9yZXF1ZXN0VGV4dDsK
ICAgICBpbnQgbV9yZXF1ZXN0U2VxdWVuY2U7CisgICAgaW50IG1fcHJvY2Vzc2VkUmVxdWVzdFNl
cXVlbmNlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCmluZGV4IGQ1YWI3ODguLjA0MmIzNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKQEAgLTU5Nyw0ICs1OTcsMjYgQEAgYm9vbCBJbnRlcm5hbHM6OnVuaWZp
ZWRUZXh0Q2hlY2tpbmdFbmFibGVkKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYg
ZWMKICAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPnNldHRpbmdzKCktPnVuaWZpZWRUZXh0
Q2hlY2tlckVuYWJsZWQoKTsKIH0KIAoraW50IEludGVybmFsczo6bGFzdFNwZWxsQ2hlY2tSZXF1
ZXN0U2VxdWVuY2UoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJikKK3sKKyAgICBpZiAoIWRvY3Vt
ZW50IHx8ICFkb2N1bWVudC0+ZWRpdG9yKCkgfHwgIWRvY3VtZW50KCktPmVkaXRvcigpLT5zcGVs
bENoZWNrZXIoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAg
cmV0dXJuIC0xOworICAgIH0KKworICAgIFNwZWxsQ2hlY2tlciogY2hlY2tlciA9IGRvY3VtZW50
LT5lZGl0b3IoKS0+c3BlbGxDaGVja2VyKCk7CisgICAgcmV0dXJuIGNoZWNrZXItPmxhc3RSZXF1
ZXN0U2VxdWVuY2UoKTsKK30KKworaW50IEludGVybmFsczo6bGFzdFNwZWxsQ2hlY2tQcm9jZXNz
ZWRTZXF1ZW5jZShEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKQoreworICAgIGlmICghZG9jdW1l
bnQgfHwgIWRvY3VtZW50LT5lZGl0b3IoKSB8fCAhZG9jdW1lbnQoKS0+ZWRpdG9yKCktPnNwZWxs
Q2hlY2tlcigpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICBy
ZXR1cm4gLTE7CisgICAgfQorCisgICAgU3BlbGxDaGVja2VyKiBjaGVja2VyID0gZG9jdW1lbnQt
PmVkaXRvcigpLT5zcGVsbENoZWNrZXIoKTsKKyAgICByZXR1cm4gY2hlY2tlci0+bGFzdFByb2Nl
c3NlZFJlcXVlc3RTZXF1ZW5jZSgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAppbmRleCBiOTA5ZDcwLi44NmQxYjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
QEAgLTEwOCw2ICsxMDgsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmlmaWVkVGV4dENoZWNr
aW5nRW5hYmxlZChEb2N1bWVudCosIGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBib29sIHVu
aWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCisg
ICAgaW50IGxhc3RTcGVsbENoZWNrUmVxdWVzdFNlcXVlbmNlKERvY3VtZW50KiwgRXhjZXB0aW9u
Q29kZSYpOworICAgIGludCBsYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNlKERvY3VtZW50
KiwgRXhjZXB0aW9uQ29kZSYpOworCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGludGVybmFsc0lk
OwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGNjYzg5
MmMuLmVlNWUzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTc5LDYg
Kzc5LDEwIEBAIG1vZHVsZSB3aW5kb3cgewogCiAgICAgICAgIHZvaWQgc2V0VW5pZmllZFRleHRD
aGVja2luZ0VuYWJsZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJvb2xlYW4gZW5hYmxlZCkg
cmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBib29sZWFuIHVuaWZpZWRUZXh0Q2hlY2tp
bmdFbmFibGVkKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisK
KyAgICAgICAgbG9uZyBsYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZShpbiBEb2N1bWVudCBk
b2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRpb24pOworICAgICAgICBsb25nIGxhc3RTcGVsbENo
ZWNrUHJvY2Vzc2VkU2VxdWVuY2UoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhj
ZXB0aW9uKTsKKwogICAgIH07CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117570</attachid>
            <date>2011-12-01 22:37:24 -0800</date>
            <delta_ts>2011-12-06 01:09:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73511-20111202153723.patch</filename>
            <type>text/plain</type>
            <size>6765</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI0ZjBkMTA0N2ZkZGIy
ZjRiODc1YWFjZDZkMDJmNzA2ODQ3NGZkNi4uMzA4ZGIzZDNiYTJkMmZhZTA2MzRkZmRiNTBkYjc2
YTgxYjRmZmM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTEyLTAxICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50ZXJuYWxzIHNo
b3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldHVybiB0aGUgbWF4IHNlcXVlbmNlIG51bWJlciBvZiBz
cGVsbGNoZWNrIHJlcXVlc3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogZWRpdGluZy9TcGVs
bENoZWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpTcGVsbENoZWNr
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpjcmVhdGVSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6ZGlkQ2hlY2spOgorICAgICAgICAqIGVkaXRp
bmcvU3BlbGxDaGVja2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpTcGVsbENoZWNrZXI6Omxhc3RS
ZXF1ZXN0U2VxdWVuY2UpOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpsYXN0UHJv
Y2Vzc2VkU2VxdWVuY2UpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkludGVybmFsczo6bGFzdFNwZWxsQ2hlY2tSZXF1ZXN0U2VxdWVuY2UpOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVl
bmNlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmlkbDoKKwogMjAxMS0xMi0wMSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246IFJlbW92ZSB1bnVz
ZWQgZnVuY3Rpb24gc2V0U3RyaW5nUHJvcGVydHkoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3Bl
bGxDaGVja2VyLmNwcAppbmRleCAxMTA0YTg3ZTViODQ1NzUyMjM3NTU2YjEzNjRkNmIyZjJkYmU3
OTA0Li40YTE4MmUxN2NiZDk5YjNjOWE1ZTIxN2Q5MDdiM2Q5YTU0ODcwYjhiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6
CiAKIFNwZWxsQ2hlY2tlcjo6U3BlbGxDaGVja2VyKEZyYW1lKiBmcmFtZSkKICAgICA6IG1fZnJh
bWUoZnJhbWUpCi0gICAgLCBtX2xhc3RSZXF1ZXN0ZWRTZXF1ZW5jZSgwKQorICAgICwgbV9sYXN0
UmVxdWVzdFNlcXVlbmNlKDApCisgICAgLCBtX2xhc3RQcm9jZXNzZWRTZXF1ZW5jZSgwKQogICAg
ICwgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QodGhpcywgJlNwZWxsQ2hlY2tlcjo6dGlt
ZXJGaXJlZFRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QpCiB7CiB9CkBAIC05Nyw3ICs5OCw3IEBAIFBh
c3NSZWZQdHI8U3BlbGxDaGVja2VyOjpTcGVsbENoZWNrUmVxdWVzdD4gU3BlbGxDaGVja2VyOjpj
cmVhdGVSZXF1ZXN0KFRleHRDaGVjCiAgICAgaWYgKCF0ZXh0Lmxlbmd0aCgpKQogICAgICAgICBy
ZXR1cm4gUGFzc1JlZlB0cjxTcGVsbENoZWNrUmVxdWVzdD4oKTsKIAotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU3BlbGxDaGVja1JlcXVlc3QoKyttX2xhc3RSZXF1ZXN0ZWRTZXF1ZW5jZSwgcmFu
Z2UsIHRleHQsIG1hc2spKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNwZWxsQ2hlY2tSZXF1
ZXN0KCsrbV9sYXN0UmVxdWVzdFNlcXVlbmNlLCByYW5nZSwgdGV4dCwgbWFzaykpOwogfQogCiB2
b2lkIFNwZWxsQ2hlY2tlcjo6dGltZXJGaXJlZFRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3QoVGltZXI8
U3BlbGxDaGVja2VyPiopCkBAIC0xOTgsNyArMTk5LDYgQEAgc3RhdGljIERvY3VtZW50TWFya2Vy
OjpNYXJrZXJUeXBlIHRvTWFya2VyVHlwZShUZXh0Q2hlY2tpbmdUeXBlIHR5cGUpCiB2b2lkIFNw
ZWxsQ2hlY2tlcjo6ZGlkQ2hlY2soaW50IHNlcXVlbmNlLCBjb25zdCBWZWN0b3I8VGV4dENoZWNr
aW5nUmVzdWx0PiYgcmVzdWx0cykKIHsKICAgICBBU1NFUlQobV9wcm9jZXNzaW5nUmVxdWVzdCk7
Ci0KICAgICBBU1NFUlQobV9wcm9jZXNzaW5nUmVxdWVzdC0+c2VxdWVuY2UoKSA9PSBzZXF1ZW5j
ZSk7CiAgICAgaWYgKG1fcHJvY2Vzc2luZ1JlcXVlc3QtPnNlcXVlbmNlKCkgIT0gc2VxdWVuY2Up
IHsKICAgICAgICAgbV9yZXF1ZXN0UXVldWUuY2xlYXIoKTsKQEAgLTIzNCwxMCArMjM0LDE0IEBA
IHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxU
ZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gcmVzdWx0c1tp
XS5sb2NhdGlvbjsKICAgICB9CiAKKyAgICBpZiAobV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2UgPCBz
ZXF1ZW5jZSkKKyAgICAgICAgbV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2UgPSBzZXF1ZW5jZTsKKwog
ICAgIG1fcHJvY2Vzc2luZ1JlcXVlc3QuY2xlYXIoKTsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVl
LmlzRW1wdHkoKSkKICAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRP
bmVTaG90KDApOwogfQogCiAKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggNzAyZjM2OWQ1NjU3YWViYzQ1OWI1MTEzZjZlMjE2
YTVkYzI4ZjFmZi4uYjQ1ZTRiY2ZkZGNmNjkwOGQ5YzYxYTU4YTdiOTRhNGEwZjdmMDZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCkBAIC01Myw2ICs1MywxNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXF1ZXN0Q2hlY2tpbmdGb3IoVGV4dENoZWNraW5nVHlwZU1hc2ssIFBh
c3NSZWZQdHI8UmFuZ2U+KTsKICAgICB2b2lkIGRpZENoZWNrKGludCBzZXF1ZW5jZSwgY29uc3Qg
VmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mKTsKIAorICAgIGludCBsYXN0UmVxdWVzdFNlcXVl
bmNlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2xhc3RSZXF1ZXN0U2VxdWVuY2U7
CisgICAgfQorCisgICAgaW50IGxhc3RQcm9jZXNzZWRTZXF1ZW5jZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2U7CisgICAgfQorCiBwcml2YXRl
OgogICAgIGNsYXNzIFNwZWxsQ2hlY2tSZXF1ZXN0OwogICAgIHR5cGVkZWYgRGVxdWU8UmVmUHRy
PFNwZWxsQ2hlY2tSZXF1ZXN0PiA+IFJlcXVlc3RRdWV1ZTsKQEAgLTY1LDcgKzc1LDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIGVucXVldWVSZXF1ZXN0KFBhc3NSZWZQdHI8U3BlbGxDaGVja1JlcXVl
c3Q+KTsKIAogICAgIEZyYW1lKiBtX2ZyYW1lOwotICAgIGludCBtX2xhc3RSZXF1ZXN0ZWRTZXF1
ZW5jZTsKKyAgICBpbnQgbV9sYXN0UmVxdWVzdFNlcXVlbmNlOworICAgIGludCBtX2xhc3RQcm9j
ZXNzZWRTZXF1ZW5jZTsKIAogICAgIFRpbWVyPFNwZWxsQ2hlY2tlcj4gbV90aW1lclRvUHJvY2Vz
c1F1ZXVlZFJlcXVlc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBk
NWFiNzg4N2UzODNmYjRiOGEwODkyOTQ3ZmZjOGUxNmY2NDAyZTdkLi44ZTVmYzNiZGM3ZjA4M2Ux
OTYzZGIyOGM3NmVhZTM2ZjZhMDFiYWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJT
aGFkb3dDb250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRl
ICJTcGVsbENoZWNrZXIuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKIAogI2lmIEVOQUJM
RShHRVNUVVJFX0VWRU5UUykKQEAgLTU5Nyw0ICs1OTgsMjYgQEAgYm9vbCBJbnRlcm5hbHM6OnVu
aWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29k
ZSYgZWMKICAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPnNldHRpbmdzKCktPnVuaWZpZWRU
ZXh0Q2hlY2tlckVuYWJsZWQoKTsKIH0KIAoraW50IEludGVybmFsczo6bGFzdFNwZWxsQ2hlY2tS
ZXF1ZXN0U2VxdWVuY2UoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSB8fCAhZG9jdW1lbnQtPmZy
YW1lKCktPmVkaXRvcigpIHx8ICFkb2N1bWVudC0+ZnJhbWUoKS0+ZWRpdG9yKCktPnNwZWxsQ2hl
Y2tlcigpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1
cm4gLTE7CisgICAgfQorCisgICAgU3BlbGxDaGVja2VyKiBjaGVja2VyID0gZG9jdW1lbnQtPmZy
YW1lKCktPmVkaXRvcigpLT5zcGVsbENoZWNrZXIoKTsKKyAgICByZXR1cm4gY2hlY2tlci0+bGFz
dFJlcXVlc3RTZXF1ZW5jZSgpOworfQorCitpbnQgSW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1By
b2Nlc3NlZFNlcXVlbmNlKERvY3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPmZyYW1lKCkgfHwgIWRvY3VtZW50LT5m
cmFtZSgpLT5lZGl0b3IoKSB8fCAhZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5zcGVsbENo
ZWNrZXIoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0
dXJuIC0xOworICAgIH0KKworICAgIFNwZWxsQ2hlY2tlciogY2hlY2tlciA9IGRvY3VtZW50LT5m
cmFtZSgpLT5lZGl0b3IoKS0+c3BlbGxDaGVja2VyKCk7CisgICAgcmV0dXJuIGNoZWNrZXItPmxh
c3RQcm9jZXNzZWRTZXF1ZW5jZSgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAppbmRleCBiOTA5ZDcwODljM2QwZWJkNTFkYjY5YWJhM2M5YWEzYjY2NDJkOWFiLi44NmQxYjU4
ODMzYjU5ZTQ5ODQzZWQxZjI0ZjgwNzFlYTBlZjYxNTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKQEAgLTEwOCw2ICsxMDgsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmlmaWVk
VGV4dENoZWNraW5nRW5hYmxlZChEb2N1bWVudCosIGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICBib29sIHVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKERvY3VtZW50KiwgRXhjZXB0aW9uQ29k
ZSYpOwogCisgICAgaW50IGxhc3RTcGVsbENoZWNrUmVxdWVzdFNlcXVlbmNlKERvY3VtZW50Kiwg
RXhjZXB0aW9uQ29kZSYpOworICAgIGludCBsYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNl
KERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGlu
dGVybmFsc0lkOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmlu
ZGV4IGNjYzg5MmM2MDJkOGJmMmRhYjI2ZmIyNDk2MzQ0ZDQwMjVkMjkxMmMuLjVhMmQ3MGNiZDBh
N2U0Y2EzYzA2YTk5MmE5NjM3ZmM5N2Q2MjNlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKQEAgLTc5LDYgKzc5LDkgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICAgICAgICAgdm9p
ZCBzZXRVbmlmaWVkVGV4dENoZWNraW5nRW5hYmxlZChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4g
Ym9vbGVhbiBlbmFibGVkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4g
dW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAo
RE9NRXhjZXB0aW9uKTsKKworICAgICAgICBsb25nIGxhc3RTcGVsbENoZWNrUmVxdWVzdFNlcXVl
bmNlKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAg
IGxvbmcgbGFzdFNwZWxsQ2hlY2tQcm9jZXNzZWRTZXF1ZW5jZShpbiBEb2N1bWVudCBkb2N1bWVu
dCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIH07CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118005</attachid>
            <date>2011-12-06 01:09:22 -0800</date>
            <delta_ts>2011-12-06 17:53:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73511-20111206180921.patch</filename>
            <type>text/plain</type>
            <size>12632</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI4Y2VjMTg1MGVhODE4
NGM4MmRiMGYxMTU2ODhkOGVlNmI3ZGQ3NS4uMWYzNzAzZTM3YjgwZmNhMmRlOGQ1MmI3MGExZGUz
MzM3OWM1NmNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDExLTEyLTA2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50ZXJuYWxzIHNo
b3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldXRybiB0aGUgbWF4IHNlcXVlbmNlIG51bWJlciBvZiBz
cGVsbGNoZWNrIHJlcWV1c3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludGVybmFsIHN0YXRlIG9mIFNwZWxsQ2hlY2tlciBzaG91bGQgYmUgYWJsZSB0
byBiZSBleHBvc2VkIGZvciB0ZXN0aW5nIFNwZWxsQ2hlY2tlci4KKyAgICAgICAgVGhpcyBwYXRj
aCB3aWxsIGVuYWJsZSB1cyB0byBrbm93IGFzeW5jaHJvbm91cyBzcGVsbGNoZWNrIGhhcyBmaW5p
c2hlZCBvciBub3QuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNr
LXNlcXVlbmNlbnVtLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvU3BlbGxDaGVja2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6U3BlbGxDaGVja2VyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpTcGVsbENoZWNrZXI6OmRpZENoZWNrKToKKyAgICAgICAgKiBlZGl0aW5nL1NwZWxsQ2hlY2tl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpsYXN0UmVxdWVzdFNlcXVlbmNl
KToKKyAgICAgICAgICBJbnRlcmZhY2UgdG8gdGFrZSBTcGVsbENoZWNrIHNlcXVlbmNlIG51bWJl
cnMuCisgICAgICAgIChXZWJDb3JlOjpTcGVsbENoZWNrZXI6Omxhc3RQcm9jZXNzZWRTZXF1ZW5j
ZSk6IGRpdHRvLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6bGFzdFNwZWxsQ2hlY2tSZXF1ZXN0U2VxdWVuY2UpOiBkaXR0byBm
b3IgSW50ZXJuYWxzLgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVj
a1Byb2Nlc3NlZFNlcXVlbmNlKTogZGl0dG8uCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
aDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTEtMTItMDUgIE5vZWwg
R29yZG9uICA8bm9lbC5nb3Jkb25AZ21haWwuY29tPgogCiAgICAgICAgIFtHVEtdIEdJRiBpbWFn
ZSB0ZXN0IGNyYXNoZXMgb24gMzItIGFuZCA2NC1iaXQgUmVsZWFzZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9TcGVsbENoZWNrZXIuY3BwCmluZGV4IDhmZjU3NDIxNzQyMjZiNGYyMjA3OWJhMzEwNzk1
MzRlMWI2YTE0ZjQuLmFhYzY5YTAyOWJkYTg2NWZjYTE0OTY3YWUxNDIzODE4MmU5YTE4NGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKQEAgLTcyLDcgKzcyLDggQEAg
cHJpdmF0ZToKIAogU3BlbGxDaGVja2VyOjpTcGVsbENoZWNrZXIoRnJhbWUqIGZyYW1lKQogICAg
IDogbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fbGFzdFJlcXVlc3RlZFNlcXVlbmNlKDApCisgICAg
LCBtX2xhc3RSZXF1ZXN0U2VxdWVuY2UoMCkKKyAgICAsIG1fbGFzdFByb2Nlc3NlZFNlcXVlbmNl
KDApCiAgICAgLCBtX3RpbWVyVG9Qcm9jZXNzUXVldWVkUmVxdWVzdCh0aGlzLCAmU3BlbGxDaGVj
a2VyOjp0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVzdCkKIHsKIH0KQEAgLTk3LDcgKzk4
LDcgQEAgUGFzc1JlZlB0cjxTcGVsbENoZWNrZXI6OlNwZWxsQ2hlY2tSZXF1ZXN0PiBTcGVsbENo
ZWNrZXI6OmNyZWF0ZVJlcXVlc3QoVGV4dENoZWMKICAgICBpZiAoIXRleHQubGVuZ3RoKCkpCiAg
ICAgICAgIHJldHVybiBQYXNzUmVmUHRyPFNwZWxsQ2hlY2tSZXF1ZXN0PigpOwogCi0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTcGVsbENoZWNrUmVxdWVzdCgrK21fbGFzdFJlcXVlc3RlZFNlcXVl
bmNlLCByYW5nZSwgdGV4dCwgbWFzaykpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3BlbGxD
aGVja1JlcXVlc3QoKyttX2xhc3RSZXF1ZXN0U2VxdWVuY2UsIHJhbmdlLCB0ZXh0LCBtYXNrKSk7
CiB9CiAKIHZvaWQgU3BlbGxDaGVja2VyOjp0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVz
dChUaW1lcjxTcGVsbENoZWNrZXI+KikKQEAgLTE5OCw3ICsxOTksNiBAQCBzdGF0aWMgRG9jdW1l
bnRNYXJrZXI6Ok1hcmtlclR5cGUgdG9NYXJrZXJUeXBlKFRleHRDaGVja2luZ1R5cGUgdHlwZSkK
IHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxU
ZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQogewogICAgIEFTU0VSVChtX3Byb2Nlc3NpbmdS
ZXF1ZXN0KTsKLQogICAgIEFTU0VSVChtX3Byb2Nlc3NpbmdSZXF1ZXN0LT5zZXF1ZW5jZSgpID09
IHNlcXVlbmNlKTsKICAgICBpZiAobV9wcm9jZXNzaW5nUmVxdWVzdC0+c2VxdWVuY2UoKSAhPSBz
ZXF1ZW5jZSkgewogICAgICAgICBtX3JlcXVlc3RRdWV1ZS5jbGVhcigpOwpAQCAtMjM0LDYgKzIz
NCw5IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZl
Y3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1CiAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gcmVz
dWx0c1tpXS5sb2NhdGlvbjsKICAgICB9CiAKKyAgICBpZiAobV9sYXN0UHJvY2Vzc2VkU2VxdWVu
Y2UgPCBzZXF1ZW5jZSkKKyAgICAgICAgbV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2UgPSBzZXF1ZW5j
ZTsKKwogICAgIG1fcHJvY2Vzc2luZ1JlcXVlc3QuY2xlYXIoKTsKICAgICBpZiAoIW1fcmVxdWVz
dFF1ZXVlLmlzRW1wdHkoKSkKICAgICAgICAgbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Qu
c3RhcnRPbmVTaG90KDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVs
bENoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXgg
NzAyZjM2OWQ1NjU3YWViYzQ1OWI1MTEzZjZlMjE2YTVkYzI4ZjFmZi4uYjQ1ZTRiY2ZkZGNmNjkw
OGQ5YzYxYTU4YTdiOTRhNGEwZjdmMDZkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hl
Y2tlci5oCkBAIC01Myw2ICs1MywxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXF1ZXN0Q2hlY2tp
bmdGb3IoVGV4dENoZWNraW5nVHlwZU1hc2ssIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICB2b2lk
IGRpZENoZWNrKGludCBzZXF1ZW5jZSwgY29uc3QgVmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4m
KTsKIAorICAgIGludCBsYXN0UmVxdWVzdFNlcXVlbmNlKCkgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBtX2xhc3RSZXF1ZXN0U2VxdWVuY2U7CisgICAgfQorCisgICAgaW50IGxhc3RQcm9j
ZXNzZWRTZXF1ZW5jZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9sYXN0UHJvY2Vz
c2VkU2VxdWVuY2U7CisgICAgfQorCiBwcml2YXRlOgogICAgIGNsYXNzIFNwZWxsQ2hlY2tSZXF1
ZXN0OwogICAgIHR5cGVkZWYgRGVxdWU8UmVmUHRyPFNwZWxsQ2hlY2tSZXF1ZXN0PiA+IFJlcXVl
c3RRdWV1ZTsKQEAgLTY1LDcgKzc1LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGVucXVldWVSZXF1
ZXN0KFBhc3NSZWZQdHI8U3BlbGxDaGVja1JlcXVlc3Q+KTsKIAogICAgIEZyYW1lKiBtX2ZyYW1l
OwotICAgIGludCBtX2xhc3RSZXF1ZXN0ZWRTZXF1ZW5jZTsKKyAgICBpbnQgbV9sYXN0UmVxdWVz
dFNlcXVlbmNlOworICAgIGludCBtX2xhc3RQcm9jZXNzZWRTZXF1ZW5jZTsKIAogICAgIFRpbWVy
PFNwZWxsQ2hlY2tlcj4gbV90aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBhZTk3MjQzZDAyZjdjY2RkNmMxMDk3ZmNiZjgy
NmRhNWQ2ZDNkNTg1Li5hOWU3OWIwMzBlZWQ0NGVmMzM3NmMxMDdjOTI4Y2MzZTkyMmY0ZjYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5j
bHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFkb3dDb250ZW50RWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJTcGVsbENoZWNrZXIuaCIKICNpbmNsdWRl
ICJUZXh0SXRlcmF0b3IuaCIKIAogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykKQEAgLTYxOCw0
ICs2MTksMjYgQEAgYm9vbCBJbnRlcm5hbHM6OnVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKERv
Y3VtZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMKICAgICByZXR1cm4gZG9jdW1lbnQt
PmZyYW1lKCktPnNldHRpbmdzKCktPnVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQoKTsKIH0KIAor
aW50IEludGVybmFsczo6bGFzdFNwZWxsQ2hlY2tSZXF1ZXN0U2VxdWVuY2UoRG9jdW1lbnQqIGRv
Y3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1
bWVudC0+ZnJhbWUoKSB8fCAhZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpIHx8ICFkb2N1bWVu
dC0+ZnJhbWUoKS0+ZWRpdG9yKCktPnNwZWxsQ2hlY2tlcigpKSB7CisgICAgICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgU3BlbGxD
aGVja2VyKiBjaGVja2VyID0gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5zcGVsbENoZWNr
ZXIoKTsKKyAgICByZXR1cm4gY2hlY2tlci0+bGFzdFJlcXVlc3RTZXF1ZW5jZSgpOworfQorCitp
bnQgSW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNlKERvY3VtZW50KiBk
b2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9j
dW1lbnQtPmZyYW1lKCkgfHwgIWRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKSB8fCAhZG9jdW1l
bnQtPmZyYW1lKCktPmVkaXRvcigpLT5zcGVsbENoZWNrZXIoKSkgeworICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIFNwZWxs
Q2hlY2tlciogY2hlY2tlciA9IGRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKS0+c3BlbGxDaGVj
a2VyKCk7CisgICAgcmV0dXJuIGNoZWNrZXItPmxhc3RQcm9jZXNzZWRTZXF1ZW5jZSgpOworfQor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBhNjhmZTk0MjMyNjk3MDZmMDAx
MDNhZjIwMDk3ODU1ZjY0NDk1MjFkLi4xNGQ5ZGZkZjNiMWQ4ZDRhNDE3ZmQyZmZlOGIzYTU3NTNi
NDhjNzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTExMCw2ICsxMTAsOSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRVbmlmaWVkVGV4dENoZWNraW5nRW5hYmxlZChEb2N1bWVu
dCosIGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBib29sIHVuaWZpZWRUZXh0Q2hlY2tpbmdF
bmFibGVkKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgaW50IGxhc3RTcGVsbENo
ZWNrUmVxdWVzdFNlcXVlbmNlKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIGludCBs
YXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNlKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYp
OworCiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGludGVybmFsc0lkOwogCiBwcml2YXRlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDg4OWNkYTI4OTkwODhhMDVlYjEzMzg0
NTNjMjZkM2NhMWM0MmE4NDAuLmQ2MjIyNjA0MzBhNzE2OWM0YzZhMzUxZTYwNjE5MDUwZjY5MmEy
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTgxLDYgKzgxLDkgQEAg
bW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50
c1JlbGF0aXZlVG9GcmFtZShpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gYm9vbGVhbiBlbmFibGVk
KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBzZXRVbmlmaWVkVGV4dENoZWNr
aW5nRW5hYmxlZChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gYm9vbGVhbiBlbmFibGVkKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4gdW5pZmllZFRleHRDaGVja2luZ0Vu
YWJsZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAg
ICAgICBsb25nIGxhc3RTcGVsbENoZWNrUmVxdWVzdFNlcXVlbmNlKGluIERvY3VtZW50IGRvY3Vt
ZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisgICAgICAgIGxvbmcgbGFzdFNwZWxsQ2hlY2tQ
cm9jZXNzZWRTZXF1ZW5jZShpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxOTZlZDRlY2FhYTQ0YTk2MWIwMTYyYzNjYzcwYjI1
MDI4OTRkYWUxLi45OWNlOTdmMjkxNTZiYzhlZTg3M2MzZmMyYTQ4NTZhZDQ1MmY0ZDhmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTItMDYgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtA
Z29vZ2xlLmNvbT4KKworICAgICAgICBJbnRlcm5hbHMgc2hvdWxkIGhhdmUgYSBtZXRob2QgdG8g
cmV1dHJuIHRoZSBtYXggc2VxdWVuY2UgbnVtYmVyIG9mIHNwZWxsY2hlY2sgcmVxZXVzdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNTExCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgdG8gY2hl
Y2sgaW50ZXJuYWxzLmxhc3RTcGVsbENoZWNrUmVxdWVzdFNlcXVlbmNlIGFuZCBpbnRlcm5hbHMu
bGFzdFNwZWxsQ2hlY2tQcm9jZXNzZWRTZXF1ZW5jZS4KKworICAgICAgICAqIGVkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51bS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51bS5odG1sOiBBZGRlZC4K
KwogMjAxMS0xMi0wNSAgRmxvcmluIE1hbGl0YSAgPGZtYWxpdGFAZ29vZ2xlLmNvbT4KIAogICAg
ICAgICBIZWFwLWJ1ZmZlci1vdmVyZmxvdyBpbiBXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnBy
b2Nlc3NFbmRUYWcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxjaGVjay1zZXF1ZW5jZW51bS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2VudW0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVm
MGEzYTgxNzE5OWRkMGJiOWU5ODAzYmM3MWRmYWExMjk1NTk5MDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2VudW0tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0ZvciBCdWcgNzM1MTE6IEludGVybmFscyBzaG91
bGQgaGF2ZSBhIG1ldGhvZCB0byByZXR1cm4gdGhlIG1heCBzZXF1ZW5jZSBudW1iZXIgb2Ygc3Bl
bGxjaGVjayByZXF1ZXN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitQQVNTIFNwZWxsQ2hl
Y2sgc2VxdWVuY2Ugc2VlbXMgd29yayBjb3JyZWN0bHkuCitQQVNTIFNwZWxsQ2hlY2sgc2VxdWVu
Y2Ugc2VlbXMgd29yayBjb3JyZWN0bHkuCitQQVNTIFNwZWxsQ2hlY2sgc2VxdWVuY2Ugc2VlbXMg
d29yayBjb3JyZWN0bHkuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxp
bmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51bS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVs
bGluZy9zcGVsbGNoZWNrLXNlcXVlbmNlbnVtLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ0NjhjNzMyNjNl
MGZhNmY4NmIyMWMwMWVjYzhkMzBlYjU5ZWY5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51bS5odG1sCkBAIC0wLDAg
KzEsMTM2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1z
ZWxlY3Rpb24tc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbignRm9yIEJ1ZyA3MzUxMTogSW50ZXJuYWxzIHNob3VsZCBoYXZlIGEgbWV0aG9kIHRv
IHJldHVybiB0aGUgbWF4IHNlcXVlbmNlIG51bWJlciBvZiBzcGVsbGNoZWNrIHJlcXVlc3QuJyk7
CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0QXN5
bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQodHJ1ZSk7Cit9CisKK3ZhciB0ZXN0Um9vdCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZv
cmUodGVzdFJvb3QsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7CisKK3ZhciBzb3VyY2UgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK3NvdXJjZS5pbm5lckhUTUwgPSAiZm9vIGJh
ciI7Cit0ZXN0Um9vdC5hcHBlbmRDaGlsZChzb3VyY2UpOworCitmdW5jdGlvbiBjcmVhdGVJbnB1
dCh0ZXN0Um9vdCkgeworICAgIHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
KTsKKyAgICBlLnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0ZXh0Iik7CisgICAgdGVzdFJvb3QuYXBw
ZW5kQ2hpbGQoZSk7CisKKyAgICByZXR1cm4gZTsKK30KKworZnVuY3Rpb24gY3JlYXRlVGV4dEFy
ZWEodGVzdFJvb3QpIHsKKyAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRh
cmVhIik7CisgICAgdGVzdFJvb3QuYXBwZW5kQ2hpbGQoZSk7CisKKyAgICByZXR1cm4gZTsKK30K
KworZnVuY3Rpb24gY3JlYXRlQ29udGVudEVkaXRhYmxlKHRlc3RSb290KSB7CisgICAgdmFyIGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBlLnNldEF0dHJpYnV0ZSgiY29u
dGVudEVkaXRhYmxlIiwgInRydWUiKTsKKyAgICB0ZXN0Um9vdC5hcHBlbmRDaGlsZChlKTsKKwor
ICAgIHJldHVybiBlOworfQorCit2YXIgZGVzdGluYXRpb25zID0gWworICAgIGNyZWF0ZUlucHV0
KHRlc3RSb290KSwKKyAgICBjcmVhdGVUZXh0QXJlYSh0ZXN0Um9vdCksCisgICAgY3JlYXRlQ29u
dGVudEVkaXRhYmxlKHRlc3RSb290KSwKK107CisKK3ZhciBzZWwgPSB3aW5kb3cuZ2V0U2VsZWN0
aW9uKCk7CisKK3ZhciB0ZXN0cyA9IFtdOworZm9yICh2YXIgaSA9IDA7IGkgPCBkZXN0aW5hdGlv
bnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgdCA9IGZ1bmN0aW9uKGkpIHsKKyAgICAgICAgcmV0
dXJuIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB2YXIgc2VxdWVuY2UgPSBpbnRlcm5h
bHMubGFzdFNwZWxsQ2hlY2tSZXF1ZXN0U2VxdWVuY2UoZG9jdW1lbnQpOworICAgICAgICAgICAg
dmFyIHByb2Nlc3NlZCA9IGludGVybmFscy5sYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNl
KGRvY3VtZW50KTsKKyAgICAgICAgICAgIGNvcHlBbmRQYXN0ZShzb3VyY2UsIGRlc3RpbmF0aW9u
c1tpXSk7CisgICAgICAgICAgICB2ZXJpZnkoc2VxdWVuY2UsIHByb2Nlc3NlZCk7CisgICAgICAg
IH0KKyAgICB9KGkpOworICAgIHRlc3RzLnB1c2godCk7Cit9CisKK2Z1bmN0aW9uIHZlcmlmeUlm
QW55KCkKK3sKKyAgICB2YXIgbmV4dCA9IHRlc3RzLnNoaWZ0KCk7CisgICAgaWYgKG5leHQpIHsK
KyAgICAgICAgbmV4dCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdGVzdFJvb3Qu
c3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEFzeW5jaHJvbm91c1NwZWxs
Q2hlY2tpbmdFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworICAgIH0KK30KKworZnVuY3Rpb24gY29weUFuZFBhc3RlKHNvdXJjZSwgZGVz
dCkKK3sKKyAgICBzZWwuc2VsZWN0QWxsQ2hpbGRyZW4oc291cmNlKTsKKyAgICBkb2N1bWVudC5l
eGVjQ29tbWFuZCgiQ29weSIpOworCisgICAgaWYgKGRlc3QgaW5zdGFuY2VvZiBIVE1MSW5wdXRF
bGVtZW50IHx8IGRlc3QgaW5zdGFuY2VvZiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7CisgICAgICAg
IGRlc3QudmFsdWUgPSAiIjsKKyAgICAgICAgZGVzdC5mb2N1cygpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGRlc3QuaW5uZXJIVE1MID0gIiI7CisgICAgICAgIHNlbC5zZWxlY3RBbGxDaGlsZHJl
bihkZXN0KTsKKyAgICB9CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoIlBhc3RlIik7Cit9CisK
K2Z1bmN0aW9uIHZlcmlmeShzZXF1ZW5jZSwgcHJvY2Vzc2VkKQoreworICAgIHZhciBucmV0cnkg
PSAxMDsKKyAgICB2YXIgbnNsZWVwID0gMTsKKyAgICBmdW5jdGlvbiB0cmlhbCgpIHsKKyAgICAg
ICAgdmFyIG5ld1NlcXVlbmNlID0gaW50ZXJuYWxzLmxhc3RTcGVsbENoZWNrUmVxdWVzdFNlcXVl
bmNlKGRvY3VtZW50KTsKKyAgICAgICAgdmFyIG5ld1Byb2Nlc3NlZCA9IGludGVybmFscy5sYXN0
U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNlKGRvY3VtZW50KTsKKworICAgICAgICB2YXIgdmVy
aWZpZWQgPSBuZXdTZXF1ZW5jZSA+PSBzZXF1ZW5jZSAmJiBuZXdQcm9jZXNzZWQgPj0gcHJvY2Vz
c2VkICYmIG5ld1NlcXVlbmNlID09IG5ld1Byb2Nlc3NlZDsKKyAgICAgICAgaWYgKHZlcmlmaWVk
KSB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJTcGVsbENoZWNrIHNlcXVlbmNlIHNlZW1zIHdv
cmsgY29ycmVjdGx5LiIpOworICAgICAgICAgICAgdmVyaWZ5SWZBbnkoKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG5yZXRyeS0tOworICAgICAgICBpZiAoMCA9
PSBucmV0cnkpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNwZWxsQ2hlY2sgc2VxdWVuY2Ug
ZGlkbid0IGluY3JlYXNlLiIpOworICAgICAgICAgICAgdmVyaWZ5SWZBbnkoKTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG5zbGVlcCAqPSAyOworICAgICAgICB3
aW5kb3cuc2V0VGltZW91dCh0cmlhbCwgbnNsZWVwKTsKKyAgICB9OworICAgIHRyaWFsKCk7Cit9
CisKK3ZlcmlmeUlmQW55KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118151</attachid>
            <date>2011-12-06 17:54:01 -0800</date>
            <delta_ts>2011-12-06 18:16:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73511-20111207105400.patch</filename>
            <type>text/plain</type>
            <size>12878</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQxODg3YTM0MDEwNWE1
N2JjM2Y3OTcwNmRhMzMzNzFkMjM3MGI3OS4uNjY1OWI5NTNlOTc4MGZiNTljMjI1OWMxZjE5Njhi
MmEzZjA5ZjhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTEyLTA2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50ZXJuYWxzIHNo
b3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldXRybiB0aGUgbWF4IHNlcXVlbmNlIG51bWJlciBvZiBz
cGVsbGNoZWNrIHJlcWV1c3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludGVybmFsIHN0YXRlIG9mIFNwZWxsQ2hlY2tlciBzaG91bGQgYmUgYWJsZSB0
byBiZSBleHBvc2VkIGZvciB0ZXN0aW5nIFNwZWxsQ2hlY2tlci4KKyAgICAgICAgVGhpcyBwYXRj
aCB3aWxsIGVuYWJsZSB1cyB0byBrbm93IGFzeW5jaHJvbm91cyBzcGVsbGNoZWNrIGhhcyBmaW5p
c2hlZCBvciBub3QuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNr
LXNlcXVlbmNlbnVtLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvU3BlbGxDaGVja2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6U3BlbGxDaGVja2VyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpTcGVsbENoZWNrZXI6OmRpZENoZWNrKToKKyAgICAgICAgKiBlZGl0aW5nL1NwZWxsQ2hlY2tl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpsYXN0UmVxdWVzdFNlcXVlbmNl
KToKKyAgICAgICAgICBJbnRlcmZhY2UgdG8gdGFrZSBTcGVsbENoZWNrIHNlcXVlbmNlIG51bWJl
cnMuCisgICAgICAgIChXZWJDb3JlOjpTcGVsbENoZWNrZXI6Omxhc3RQcm9jZXNzZWRTZXF1ZW5j
ZSk6IGRpdHRvLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnNwZWxsY2hlY2tlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omxhc3RT
cGVsbENoZWNrUmVxdWVzdFNlcXVlbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
bGFzdFNwZWxsQ2hlY2tQcm9jZXNzZWRTZXF1ZW5jZSk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTEtMTItMDYg
IEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1d
IHNldE5lZWRzQ29tbWl0IG9uIG5vbi1jb21wb3NpdGVkIGhvc3QgbGF5ZXJzIHNob3VsZCB0cmln
Z2VyIGNvbW1pdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCmluZGV4IDhm
ZjU3NDIxNzQyMjZiNGYyMjA3OWJhMzEwNzk1MzRlMWI2YTE0ZjQuLmFhYzY5YTAyOWJkYTg2NWZj
YTE0OTY3YWUxNDIzODE4MmU5YTE4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvU3BlbGxDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hl
Y2tlci5jcHAKQEAgLTcyLDcgKzcyLDggQEAgcHJpdmF0ZToKIAogU3BlbGxDaGVja2VyOjpTcGVs
bENoZWNrZXIoRnJhbWUqIGZyYW1lKQogICAgIDogbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fbGFz
dFJlcXVlc3RlZFNlcXVlbmNlKDApCisgICAgLCBtX2xhc3RSZXF1ZXN0U2VxdWVuY2UoMCkKKyAg
ICAsIG1fbGFzdFByb2Nlc3NlZFNlcXVlbmNlKDApCiAgICAgLCBtX3RpbWVyVG9Qcm9jZXNzUXVl
dWVkUmVxdWVzdCh0aGlzLCAmU3BlbGxDaGVja2VyOjp0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVk
UmVxdWVzdCkKIHsKIH0KQEAgLTk3LDcgKzk4LDcgQEAgUGFzc1JlZlB0cjxTcGVsbENoZWNrZXI6
OlNwZWxsQ2hlY2tSZXF1ZXN0PiBTcGVsbENoZWNrZXI6OmNyZWF0ZVJlcXVlc3QoVGV4dENoZWMK
ICAgICBpZiAoIXRleHQubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPFNwZWxs
Q2hlY2tSZXF1ZXN0PigpOwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVsbENoZWNrUmVx
dWVzdCgrK21fbGFzdFJlcXVlc3RlZFNlcXVlbmNlLCByYW5nZSwgdGV4dCwgbWFzaykpOworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU3BlbGxDaGVja1JlcXVlc3QoKyttX2xhc3RSZXF1ZXN0U2Vx
dWVuY2UsIHJhbmdlLCB0ZXh0LCBtYXNrKSk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2VyOjp0aW1l
ckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVzdChUaW1lcjxTcGVsbENoZWNrZXI+KikKQEAgLTE5
OCw3ICsxOTksNiBAQCBzdGF0aWMgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUgdG9NYXJrZXJU
eXBlKFRleHRDaGVja2luZ1R5cGUgdHlwZSkKIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhp
bnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQog
ewogICAgIEFTU0VSVChtX3Byb2Nlc3NpbmdSZXF1ZXN0KTsKLQogICAgIEFTU0VSVChtX3Byb2Nl
c3NpbmdSZXF1ZXN0LT5zZXF1ZW5jZSgpID09IHNlcXVlbmNlKTsKICAgICBpZiAobV9wcm9jZXNz
aW5nUmVxdWVzdC0+c2VxdWVuY2UoKSAhPSBzZXF1ZW5jZSkgewogICAgICAgICBtX3JlcXVlc3RR
dWV1ZS5jbGVhcigpOwpAQCAtMjM0LDYgKzIzNCw5IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRD
aGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1
CiAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gcmVzdWx0c1tpXS5sb2NhdGlvbjsKICAgICB9CiAKKyAg
ICBpZiAobV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2UgPCBzZXF1ZW5jZSkKKyAgICAgICAgbV9sYXN0
UHJvY2Vzc2VkU2VxdWVuY2UgPSBzZXF1ZW5jZTsKKwogICAgIG1fcHJvY2Vzc2luZ1JlcXVlc3Qu
Y2xlYXIoKTsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKICAgICAgICAgbV90
aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggNzAyZjM2OWQ1NjU3YWViYzQ1OWI1MTEzZjZlMjE2
YTVkYzI4ZjFmZi4uYjQ1ZTRiY2ZkZGNmNjkwOGQ5YzYxYTU4YTdiOTRhNGEwZjdmMDZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCkBAIC01Myw2ICs1MywxNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXF1ZXN0Q2hlY2tpbmdGb3IoVGV4dENoZWNraW5nVHlwZU1hc2ssIFBh
c3NSZWZQdHI8UmFuZ2U+KTsKICAgICB2b2lkIGRpZENoZWNrKGludCBzZXF1ZW5jZSwgY29uc3Qg
VmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mKTsKIAorICAgIGludCBsYXN0UmVxdWVzdFNlcXVl
bmNlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2xhc3RSZXF1ZXN0U2VxdWVuY2U7
CisgICAgfQorCisgICAgaW50IGxhc3RQcm9jZXNzZWRTZXF1ZW5jZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2U7CisgICAgfQorCiBwcml2YXRl
OgogICAgIGNsYXNzIFNwZWxsQ2hlY2tSZXF1ZXN0OwogICAgIHR5cGVkZWYgRGVxdWU8UmVmUHRy
PFNwZWxsQ2hlY2tSZXF1ZXN0PiA+IFJlcXVlc3RRdWV1ZTsKQEAgLTY1LDcgKzc1LDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIGVucXVldWVSZXF1ZXN0KFBhc3NSZWZQdHI8U3BlbGxDaGVja1JlcXVl
c3Q+KTsKIAogICAgIEZyYW1lKiBtX2ZyYW1lOwotICAgIGludCBtX2xhc3RSZXF1ZXN0ZWRTZXF1
ZW5jZTsKKyAgICBpbnQgbV9sYXN0UmVxdWVzdFNlcXVlbmNlOworICAgIGludCBtX2xhc3RQcm9j
ZXNzZWRTZXF1ZW5jZTsKIAogICAgIFRpbWVyPFNwZWxsQ2hlY2tlcj4gbV90aW1lclRvUHJvY2Vz
c1F1ZXVlZFJlcXVlc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBh
ZTk3MjQzZDAyZjdjY2RkNmMxMDk3ZmNiZjgyNmRhNWQ2ZDNkNTg1Li4zZjA2MDZmYTNkN2MxZmEy
NTlmODJiYTQwOTFiOGM4Y2RiZDEzYjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJT
aGFkb3dDb250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRl
ICJTcGVsbENoZWNrZXIuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKIAogI2lmIEVOQUJM
RShHRVNUVVJFX0VWRU5UUykKQEAgLTkyLDYgKzkzLDE0IEBAIHN0YXRpYyBib29sIG1hcmtlclR5
cGVzRnJvbShjb25zdCBTdHJpbmcmIG1hcmtlclR5cGUsIERvY3VtZW50TWFya2VyOjpNYXJrZXJU
eXBlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBTcGVsbENoZWNrZXIqIHNwZWxsY2hl
Y2tlcihEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1l
bnQtPmZyYW1lKCkgfHwgIWRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5zcGVsbENo
ZWNrZXIoKTsKK30KKwogY29uc3QgY2hhciogSW50ZXJuYWxzOjppbnRlcm5hbHNJZCA9ICJpbnRl
cm5hbHMiOwogCiBQYXNzUmVmUHRyPEludGVybmFscz4gSW50ZXJuYWxzOjpjcmVhdGUoKQpAQCAt
NjE4LDQgKzYyNywyOCBAQCBib29sIEludGVybmFsczo6dW5pZmllZFRleHRDaGVja2luZ0VuYWJs
ZWQoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYwogICAgIHJldHVybiBkb2N1
bWVudC0+ZnJhbWUoKS0+c2V0dGluZ3MoKS0+dW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCgpOwog
fQogCitpbnQgSW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZShEb2N1bWVu
dCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIFNwZWxsQ2hlY2tlciogY2hl
Y2tlciA9IHNwZWxsY2hlY2tlcihkb2N1bWVudCk7CisKKyAgICBpZiAoIWNoZWNrZXIpIHsKKyAg
ICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9
CisKKyAgICByZXR1cm4gY2hlY2tlci0+bGFzdFJlcXVlc3RTZXF1ZW5jZSgpOworfQorCitpbnQg
SW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNlKERvY3VtZW50KiBkb2N1
bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgU3BlbGxDaGVja2VyKiBjaGVja2VyID0g
c3BlbGxjaGVja2VyKGRvY3VtZW50KTsKKworICAgIGlmICghY2hlY2tlcikgeworICAgICAgICBl
YyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAg
IHJldHVybiBjaGVja2VyLT5sYXN0UHJvY2Vzc2VkU2VxdWVuY2UoKTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYTY4ZmU5NDIzMjY5NzA2ZjAwMTAzYWYyMDA5Nzg1
NWY2NDQ5NTIxZC4uMTRkOWRmZGYzYjFkOGQ0YTQxN2ZkMmZmZThiM2E1NzUzYjQ4YzczMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xMTAsNiArMTEwLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQoRG9jdW1lbnQqLCBib29sLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgYm9vbCB1bmlmaWVkVGV4dENoZWNraW5nRW5hYmxlZChEb2N1
bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIGludCBsYXN0U3BlbGxDaGVja1JlcXVlc3RT
ZXF1ZW5jZShEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBpbnQgbGFzdFNwZWxsQ2hl
Y2tQcm9jZXNzZWRTZXF1ZW5jZShEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHN0
YXRpYyBjb25zdCBjaGFyKiBpbnRlcm5hbHNJZDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAppbmRleCA4ODljZGEyODk5MDg4YTA1ZWIxMzM4NDUzYzI2ZDNjYTFj
NDJhODQwLi5kNjIyMjYwNDMwYTcxNjljNGM2YTM1MWU2MDYxOTA1MGY2OTJhMjMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC04MSw2ICs4MSw5IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICB2b2lkIHNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRv
RnJhbWUoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQo
aW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzIChET01FeGNl
cHRpb24pOwogICAgICAgICBib29sZWFuIHVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKGluIERv
Y3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgbG9uZyBs
YXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZShpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOworICAgICAgICBsb25nIGxhc3RTcGVsbENoZWNrUHJvY2Vzc2VkU2Vx
dWVuY2UoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB9
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZjgyMjEyNDg4MzM2ZjIyZGEyMDc4NTliNGEwZTI2NzdmNjBhZDYzYy4u
MTdhM2Y5NDUyZDVkYmNhZjU2YWUzZDgzZGQ5ODQ1NjJmNGNkODRmMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTEyLTA2ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+
CisKKyAgICAgICAgSW50ZXJuYWxzIHNob3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldXRybiB0aGUg
bWF4IHNlcXVlbmNlIG51bWJlciBvZiBzcGVsbGNoZWNrIHJlcWV1c3QuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIGNoZWNrIGlu
dGVybmFscy5sYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZSBhbmQgaW50ZXJuYWxzLmxhc3RT
cGVsbENoZWNrUHJvY2Vzc2VkU2VxdWVuY2UuCisKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsY2hlY2stc2VxdWVuY2VudW0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2VudW0uaHRtbDogQWRkZWQuCisKIDIw
MTEtMTItMDYgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtDaHJvbWl1bV0gdW5rbm93biBjaGFyYWN0ZXJzIHN5bWJvbCBvbiBcbiBpbiBjb21wbGV4
IHNjcmlwdCB0ZXh0IChSVEwgYW5kIExUUikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc3BlbGxpbmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51bS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2VudW0tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVmMGEzYTgxNzE5OWRkMGJiOWU5ODAzYmM3MWRmYWExMjk1NTk5MDMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2st
c2VxdWVuY2VudW0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0ZvciBCdWcgNzM1MTE6
IEludGVybmFscyBzaG91bGQgaGF2ZSBhIG1ldGhvZCB0byByZXR1cm4gdGhlIG1heCBzZXF1ZW5j
ZSBudW1iZXIgb2Ygc3BlbGxjaGVjayByZXF1ZXN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CitQQVNTIFNwZWxsQ2hlY2sgc2VxdWVuY2Ugc2VlbXMgd29yayBjb3JyZWN0bHkuCitQQVNTIFNw
ZWxsQ2hlY2sgc2VxdWVuY2Ugc2VlbXMgd29yayBjb3JyZWN0bHkuCitQQVNTIFNwZWxsQ2hlY2sg
c2VxdWVuY2Ugc2VlbXMgd29yayBjb3JyZWN0bHkuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51bS5odG1sIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXNlcXVlbmNlbnVtLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDcyYWNkNWM5YjA0YWU3ZmJmMGNjNDM5NWRiYWIyZDhjMWM4OWZlNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51
bS5odG1sCkBAIC0wLDAgKzEsMTM2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvanMtdGVzdC1zZWxlY3Rpb24tc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbignRm9yIEJ1ZyA3MzUxMTogSW50ZXJuYWxzIHNob3VsZCBo
YXZlIGEgbWV0aG9kIHRvIHJldHVybiB0aGUgbWF4IHNlcXVlbmNlIG51bWJlciBvZiBzcGVsbGNo
ZWNrIHJlcXVlc3QuJyk7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQodHJ1ZSk7Cit9CisK
K3ZhciB0ZXN0Um9vdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZG9jdW1lbnQu
Ym9keS5pbnNlcnRCZWZvcmUodGVzdFJvb3QsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7CisK
K3ZhciBzb3VyY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK3NvdXJjZS5pbm5l
ckhUTUwgPSAiZm9vIGJhciI7Cit0ZXN0Um9vdC5hcHBlbmRDaGlsZChzb3VyY2UpOworCitmdW5j
dGlvbiBjcmVhdGVJbnB1dCh0ZXN0Um9vdCkgeworICAgIHZhciBlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnaW5wdXQnKTsKKyAgICBlLnNldEF0dHJpYnV0ZSgidHlwZSIsICJ0ZXh0Iik7Cisg
ICAgdGVzdFJvb3QuYXBwZW5kQ2hpbGQoZSk7CisKKyAgICByZXR1cm4gZTsKK30KKworZnVuY3Rp
b24gY3JlYXRlVGV4dEFyZWEodGVzdFJvb3QpIHsKKyAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInRleHRhcmVhIik7CisgICAgdGVzdFJvb3QuYXBwZW5kQ2hpbGQoZSk7CisKKyAg
ICByZXR1cm4gZTsKK30KKworZnVuY3Rpb24gY3JlYXRlQ29udGVudEVkaXRhYmxlKHRlc3RSb290
KSB7CisgICAgdmFyIGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBlLnNl
dEF0dHJpYnV0ZSgiY29udGVudEVkaXRhYmxlIiwgInRydWUiKTsKKyAgICB0ZXN0Um9vdC5hcHBl
bmRDaGlsZChlKTsKKworICAgIHJldHVybiBlOworfQorCit2YXIgZGVzdGluYXRpb25zID0gWwor
ICAgIGNyZWF0ZUlucHV0KHRlc3RSb290KSwKKyAgICBjcmVhdGVUZXh0QXJlYSh0ZXN0Um9vdCks
CisgICAgY3JlYXRlQ29udGVudEVkaXRhYmxlKHRlc3RSb290KSwKK107CisKK3ZhciBzZWwgPSB3
aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CisKK3ZhciB0ZXN0cyA9IFtdOworZm9yICh2YXIgaSA9IDA7
IGkgPCBkZXN0aW5hdGlvbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgdCA9IGZ1bmN0aW9uKGkp
IHsKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgaWYgKCF3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB2YXIgc2Vx
dWVuY2UgPSBpbnRlcm5hbHMubGFzdFNwZWxsQ2hlY2tSZXF1ZXN0U2VxdWVuY2UoZG9jdW1lbnQp
OworICAgICAgICAgICAgdmFyIHByb2Nlc3NlZCA9IGludGVybmFscy5sYXN0U3BlbGxDaGVja1By
b2Nlc3NlZFNlcXVlbmNlKGRvY3VtZW50KTsKKyAgICAgICAgICAgIGNvcHlBbmRQYXN0ZShzb3Vy
Y2UsIGRlc3RpbmF0aW9uc1tpXSk7CisgICAgICAgICAgICB2ZXJpZnkoc2VxdWVuY2UsIHByb2Nl
c3NlZCk7CisgICAgICAgIH0KKyAgICB9KGkpOworICAgIHRlc3RzLnB1c2godCk7Cit9CisKK2Z1
bmN0aW9uIHZlcmlmeUlmQW55KCkKK3sKKyAgICB2YXIgbmV4dCA9IHRlc3RzLnNoaWZ0KCk7Cisg
ICAgaWYgKG5leHQpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgdGVzdFJvb3Quc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEFz
eW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30KKworZnVuY3Rpb24gY29weUFuZFBh
c3RlKHNvdXJjZSwgZGVzdCkKK3sKKyAgICBzZWwuc2VsZWN0QWxsQ2hpbGRyZW4oc291cmNlKTsK
KyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgiQ29weSIpOworCisgICAgaWYgKGRlc3QgaW5zdGFu
Y2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGRlc3QgaW5zdGFuY2VvZiBIVE1MVGV4dEFyZWFFbGVt
ZW50KSB7CisgICAgICAgIGRlc3QudmFsdWUgPSAiIjsKKyAgICAgICAgZGVzdC5mb2N1cygpOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIGRlc3QuaW5uZXJIVE1MID0gIiI7CisgICAgICAgIHNlbC5z
ZWxlY3RBbGxDaGlsZHJlbihkZXN0KTsKKyAgICB9CisgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQo
IlBhc3RlIik7Cit9CisKK2Z1bmN0aW9uIHZlcmlmeShzZXF1ZW5jZSwgcHJvY2Vzc2VkKQorewor
ICAgIHZhciBucmV0cnkgPSAxMDsKKyAgICB2YXIgbnNsZWVwID0gMTsKKyAgICBmdW5jdGlvbiB0
cmlhbCgpIHsKKyAgICAgICAgdmFyIG5ld1NlcXVlbmNlID0gaW50ZXJuYWxzLmxhc3RTcGVsbENo
ZWNrUmVxdWVzdFNlcXVlbmNlKGRvY3VtZW50KTsKKyAgICAgICAgdmFyIG5ld1Byb2Nlc3NlZCA9
IGludGVybmFscy5sYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNlKGRvY3VtZW50KTsKKwor
ICAgICAgICB2YXIgdmVyaWZpZWQgPSBuZXdTZXF1ZW5jZSA+PSBzZXF1ZW5jZSAmJiBuZXdQcm9j
ZXNzZWQgPj0gcHJvY2Vzc2VkICYmIG5ld1NlcXVlbmNlID09IG5ld1Byb2Nlc3NlZDsKKyAgICAg
ICAgaWYgKHZlcmlmaWVkKSB7CisgICAgICAgICAgICB0ZXN0UGFzc2VkKCJTcGVsbENoZWNrIHNl
cXVlbmNlIHNlZW1zIHdvcmtpbmcgY29ycmVjdGx5LiIpOworICAgICAgICAgICAgdmVyaWZ5SWZB
bnkoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG5yZXRyeS0t
OworICAgICAgICBpZiAoMCA9PSBucmV0cnkpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlNw
ZWxsQ2hlY2sgc2VxdWVuY2UgZGlkbid0IGluY3JlYXNlLiIpOworICAgICAgICAgICAgdmVyaWZ5
SWZBbnkoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG5zbGVl
cCAqPSAyOworICAgICAgICB3aW5kb3cuc2V0VGltZW91dCh0cmlhbCwgbnNsZWVwKTsKKyAgICB9
OworICAgIHRyaWFsKCk7Cit9CisKK3ZlcmlmeUlmQW55KCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118155</attachid>
            <date>2011-12-06 18:16:51 -0800</date>
            <delta_ts>2011-12-07 03:04:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73511-20111207111650.patch</filename>
            <type>text/plain</type>
            <size>14188</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQxODg3YTM0MDEwNWE1
N2JjM2Y3OTcwNmRhMzMzNzFkMjM3MGI3OS4uNjY1OWI5NTNlOTc4MGZiNTljMjI1OWMxZjE5Njhi
MmEzZjA5ZjhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTEyLTA2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50ZXJuYWxzIHNo
b3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldXRybiB0aGUgbWF4IHNlcXVlbmNlIG51bWJlciBvZiBz
cGVsbGNoZWNrIHJlcWV1c3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludGVybmFsIHN0YXRlIG9mIFNwZWxsQ2hlY2tlciBzaG91bGQgYmUgYWJsZSB0
byBiZSBleHBvc2VkIGZvciB0ZXN0aW5nIFNwZWxsQ2hlY2tlci4KKyAgICAgICAgVGhpcyBwYXRj
aCB3aWxsIGVuYWJsZSB1cyB0byBrbm93IGFzeW5jaHJvbm91cyBzcGVsbGNoZWNrIGhhcyBmaW5p
c2hlZCBvciBub3QuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNr
LXNlcXVlbmNlbnVtLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvU3BlbGxDaGVja2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6U3BlbGxDaGVja2VyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpTcGVsbENoZWNrZXI6OmRpZENoZWNrKToKKyAgICAgICAgKiBlZGl0aW5nL1NwZWxsQ2hlY2tl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpsYXN0UmVxdWVzdFNlcXVlbmNl
KToKKyAgICAgICAgICBJbnRlcmZhY2UgdG8gdGFrZSBTcGVsbENoZWNrIHNlcXVlbmNlIG51bWJl
cnMuCisgICAgICAgIChXZWJDb3JlOjpTcGVsbENoZWNrZXI6Omxhc3RQcm9jZXNzZWRTZXF1ZW5j
ZSk6IGRpdHRvLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnNwZWxsY2hlY2tlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omxhc3RT
cGVsbENoZWNrUmVxdWVzdFNlcXVlbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
bGFzdFNwZWxsQ2hlY2tQcm9jZXNzZWRTZXF1ZW5jZSk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTEtMTItMDYg
IEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1d
IHNldE5lZWRzQ29tbWl0IG9uIG5vbi1jb21wb3NpdGVkIGhvc3QgbGF5ZXJzIHNob3VsZCB0cmln
Z2VyIGNvbW1pdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCmluZGV4IDhm
ZjU3NDIxNzQyMjZiNGYyMjA3OWJhMzEwNzk1MzRlMWI2YTE0ZjQuLmFhYzY5YTAyOWJkYTg2NWZj
YTE0OTY3YWUxNDIzODE4MmU5YTE4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvU3BlbGxDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hl
Y2tlci5jcHAKQEAgLTcyLDcgKzcyLDggQEAgcHJpdmF0ZToKIAogU3BlbGxDaGVja2VyOjpTcGVs
bENoZWNrZXIoRnJhbWUqIGZyYW1lKQogICAgIDogbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fbGFz
dFJlcXVlc3RlZFNlcXVlbmNlKDApCisgICAgLCBtX2xhc3RSZXF1ZXN0U2VxdWVuY2UoMCkKKyAg
ICAsIG1fbGFzdFByb2Nlc3NlZFNlcXVlbmNlKDApCiAgICAgLCBtX3RpbWVyVG9Qcm9jZXNzUXVl
dWVkUmVxdWVzdCh0aGlzLCAmU3BlbGxDaGVja2VyOjp0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVk
UmVxdWVzdCkKIHsKIH0KQEAgLTk3LDcgKzk4LDcgQEAgUGFzc1JlZlB0cjxTcGVsbENoZWNrZXI6
OlNwZWxsQ2hlY2tSZXF1ZXN0PiBTcGVsbENoZWNrZXI6OmNyZWF0ZVJlcXVlc3QoVGV4dENoZWMK
ICAgICBpZiAoIXRleHQubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPFNwZWxs
Q2hlY2tSZXF1ZXN0PigpOwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVsbENoZWNrUmVx
dWVzdCgrK21fbGFzdFJlcXVlc3RlZFNlcXVlbmNlLCByYW5nZSwgdGV4dCwgbWFzaykpOworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU3BlbGxDaGVja1JlcXVlc3QoKyttX2xhc3RSZXF1ZXN0U2Vx
dWVuY2UsIHJhbmdlLCB0ZXh0LCBtYXNrKSk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2VyOjp0aW1l
ckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVzdChUaW1lcjxTcGVsbENoZWNrZXI+KikKQEAgLTE5
OCw3ICsxOTksNiBAQCBzdGF0aWMgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUgdG9NYXJrZXJU
eXBlKFRleHRDaGVja2luZ1R5cGUgdHlwZSkKIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhp
bnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQog
ewogICAgIEFTU0VSVChtX3Byb2Nlc3NpbmdSZXF1ZXN0KTsKLQogICAgIEFTU0VSVChtX3Byb2Nl
c3NpbmdSZXF1ZXN0LT5zZXF1ZW5jZSgpID09IHNlcXVlbmNlKTsKICAgICBpZiAobV9wcm9jZXNz
aW5nUmVxdWVzdC0+c2VxdWVuY2UoKSAhPSBzZXF1ZW5jZSkgewogICAgICAgICBtX3JlcXVlc3RR
dWV1ZS5jbGVhcigpOwpAQCAtMjM0LDYgKzIzNCw5IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRD
aGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1
CiAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gcmVzdWx0c1tpXS5sb2NhdGlvbjsKICAgICB9CiAKKyAg
ICBpZiAobV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2UgPCBzZXF1ZW5jZSkKKyAgICAgICAgbV9sYXN0
UHJvY2Vzc2VkU2VxdWVuY2UgPSBzZXF1ZW5jZTsKKwogICAgIG1fcHJvY2Vzc2luZ1JlcXVlc3Qu
Y2xlYXIoKTsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKICAgICAgICAgbV90
aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggNzAyZjM2OWQ1NjU3YWViYzQ1OWI1MTEzZjZlMjE2
YTVkYzI4ZjFmZi4uYjQ1ZTRiY2ZkZGNmNjkwOGQ5YzYxYTU4YTdiOTRhNGEwZjdmMDZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCkBAIC01Myw2ICs1MywxNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXF1ZXN0Q2hlY2tpbmdGb3IoVGV4dENoZWNraW5nVHlwZU1hc2ssIFBh
c3NSZWZQdHI8UmFuZ2U+KTsKICAgICB2b2lkIGRpZENoZWNrKGludCBzZXF1ZW5jZSwgY29uc3Qg
VmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mKTsKIAorICAgIGludCBsYXN0UmVxdWVzdFNlcXVl
bmNlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2xhc3RSZXF1ZXN0U2VxdWVuY2U7
CisgICAgfQorCisgICAgaW50IGxhc3RQcm9jZXNzZWRTZXF1ZW5jZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2U7CisgICAgfQorCiBwcml2YXRl
OgogICAgIGNsYXNzIFNwZWxsQ2hlY2tSZXF1ZXN0OwogICAgIHR5cGVkZWYgRGVxdWU8UmVmUHRy
PFNwZWxsQ2hlY2tSZXF1ZXN0PiA+IFJlcXVlc3RRdWV1ZTsKQEAgLTY1LDcgKzc1LDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIGVucXVldWVSZXF1ZXN0KFBhc3NSZWZQdHI8U3BlbGxDaGVja1JlcXVl
c3Q+KTsKIAogICAgIEZyYW1lKiBtX2ZyYW1lOwotICAgIGludCBtX2xhc3RSZXF1ZXN0ZWRTZXF1
ZW5jZTsKKyAgICBpbnQgbV9sYXN0UmVxdWVzdFNlcXVlbmNlOworICAgIGludCBtX2xhc3RQcm9j
ZXNzZWRTZXF1ZW5jZTsKIAogICAgIFRpbWVyPFNwZWxsQ2hlY2tlcj4gbV90aW1lclRvUHJvY2Vz
c1F1ZXVlZFJlcXVlc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBh
ZTk3MjQzZDAyZjdjY2RkNmMxMDk3ZmNiZjgyNmRhNWQ2ZDNkNTg1Li4zZjA2MDZmYTNkN2MxZmEy
NTlmODJiYTQwOTFiOGM4Y2RiZDEzYjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJT
aGFkb3dDb250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRl
ICJTcGVsbENoZWNrZXIuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKIAogI2lmIEVOQUJM
RShHRVNUVVJFX0VWRU5UUykKQEAgLTkyLDYgKzkzLDE0IEBAIHN0YXRpYyBib29sIG1hcmtlclR5
cGVzRnJvbShjb25zdCBTdHJpbmcmIG1hcmtlclR5cGUsIERvY3VtZW50TWFya2VyOjpNYXJrZXJU
eXBlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBTcGVsbENoZWNrZXIqIHNwZWxsY2hl
Y2tlcihEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1l
bnQtPmZyYW1lKCkgfHwgIWRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5zcGVsbENo
ZWNrZXIoKTsKK30KKwogY29uc3QgY2hhciogSW50ZXJuYWxzOjppbnRlcm5hbHNJZCA9ICJpbnRl
cm5hbHMiOwogCiBQYXNzUmVmUHRyPEludGVybmFscz4gSW50ZXJuYWxzOjpjcmVhdGUoKQpAQCAt
NjE4LDQgKzYyNywyOCBAQCBib29sIEludGVybmFsczo6dW5pZmllZFRleHRDaGVja2luZ0VuYWJs
ZWQoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYwogICAgIHJldHVybiBkb2N1
bWVudC0+ZnJhbWUoKS0+c2V0dGluZ3MoKS0+dW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCgpOwog
fQogCitpbnQgSW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZShEb2N1bWVu
dCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIFNwZWxsQ2hlY2tlciogY2hl
Y2tlciA9IHNwZWxsY2hlY2tlcihkb2N1bWVudCk7CisKKyAgICBpZiAoIWNoZWNrZXIpIHsKKyAg
ICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9
CisKKyAgICByZXR1cm4gY2hlY2tlci0+bGFzdFJlcXVlc3RTZXF1ZW5jZSgpOworfQorCitpbnQg
SW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNlKERvY3VtZW50KiBkb2N1
bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgU3BlbGxDaGVja2VyKiBjaGVja2VyID0g
c3BlbGxjaGVja2VyKGRvY3VtZW50KTsKKworICAgIGlmICghY2hlY2tlcikgeworICAgICAgICBl
YyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAg
IHJldHVybiBjaGVja2VyLT5sYXN0UHJvY2Vzc2VkU2VxdWVuY2UoKTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYTY4ZmU5NDIzMjY5NzA2ZjAwMTAzYWYyMDA5Nzg1
NWY2NDQ5NTIxZC4uMTRkOWRmZGYzYjFkOGQ0YTQxN2ZkMmZmZThiM2E1NzUzYjQ4YzczMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xMTAsNiArMTEwLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQoRG9jdW1lbnQqLCBib29sLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgYm9vbCB1bmlmaWVkVGV4dENoZWNraW5nRW5hYmxlZChEb2N1
bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIGludCBsYXN0U3BlbGxDaGVja1JlcXVlc3RT
ZXF1ZW5jZShEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBpbnQgbGFzdFNwZWxsQ2hl
Y2tQcm9jZXNzZWRTZXF1ZW5jZShEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHN0
YXRpYyBjb25zdCBjaGFyKiBpbnRlcm5hbHNJZDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAppbmRleCA4ODljZGEyODk5MDg4YTA1ZWIxMzM4NDUzYzI2ZDNjYTFj
NDJhODQwLi5kNjIyMjYwNDMwYTcxNjljNGM2YTM1MWU2MDYxOTA1MGY2OTJhMjMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC04MSw2ICs4MSw5IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICB2b2lkIHNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRv
RnJhbWUoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQo
aW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzIChET01FeGNl
cHRpb24pOwogICAgICAgICBib29sZWFuIHVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKGluIERv
Y3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgbG9uZyBs
YXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZShpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOworICAgICAgICBsb25nIGxhc3RTcGVsbENoZWNrUHJvY2Vzc2VkU2Vx
dWVuY2UoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB9
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZjgyMjEyNDg4MzM2ZjIyZGEyMDc4NTliNGEwZTI2NzdmNjBhZDYzYy4u
OGIwYzVlNWIyMmU3NmY0OTcyMWU4MTBjYjI1ZGJmNDc5MTk0NTAwNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDExLTEyLTA2ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+
CisKKyAgICAgICAgSW50ZXJuYWxzIHNob3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldXRybiB0aGUg
bWF4IHNlcXVlbmNlIG51bWJlciBvZiBzcGVsbGNoZWNrIHJlcWV1c3QuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIGNoZWNrIGlu
dGVybmFscy5sYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZSBhbmQgaW50ZXJuYWxzLmxhc3RT
cGVsbENoZWNrUHJvY2Vzc2VkU2VxdWVuY2UuCisKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsY2hlY2stc2VxdWVuY2VudW0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2VudW0uaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBl
ZDoKKwogMjAxMS0xMi0wNiAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW0Nocm9taXVtXSB1bmtub3duIGNoYXJhY3RlcnMgc3ltYm9sIG9uIFxuIGlu
IGNvbXBsZXggc2NyaXB0IHRleHQgKFJUTCBhbmQgTFRSKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXNlcXVlbmNlbnVtLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51bS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM5NjJlYzQwNWFiMmNlMDJmN2U1NGYzYTNkYWFhNWUxZmI2
MzQ1ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxjaGVjay1zZXF1ZW5jZW51bS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRm9yIEJ1
ZyA3MzUxMTogSW50ZXJuYWxzIHNob3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldHVybiB0aGUgbWF4
IHNlcXVlbmNlIG51bWJlciBvZiBzcGVsbGNoZWNrIHJlcXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKK1BBU1MgU3BlbGxDaGVjayBzZXF1ZW5jZSBzZWVtcyB3b3JraW5nIGNvcnJlY3Rs
eS4KK1BBU1MgU3BlbGxDaGVjayBzZXF1ZW5jZSBzZWVtcyB3b3JraW5nIGNvcnJlY3RseS4KK1BB
U1MgU3BlbGxDaGVjayBzZXF1ZW5jZSBzZWVtcyB3b3JraW5nIGNvcnJlY3RseS4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXNlcXVlbmNlbnVt
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2Vu
dW0uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wNzJhY2Q1YzliMDRhZTdmYmYwY2M0Mzk1ZGJhYjJkOGMxYzg5
ZmU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVs
bGNoZWNrLXNlcXVlbmNlbnVtLmh0bWwKQEAgLTAsMCArMSwxMzYgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXNlbGVjdGlvbi1zaGFyZWQuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdGb3IgQnVnIDczNTExOiBJ
bnRlcm5hbHMgc2hvdWxkIGhhdmUgYSBtZXRob2QgdG8gcmV0dXJuIHRoZSBtYXggc2VxdWVuY2Ug
bnVtYmVyIG9mIHNwZWxsY2hlY2sgcmVxdWVzdC4nKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5h
YmxlZCh0cnVlKTsKK30KKwordmFyIHRlc3RSb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7Citkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZSh0ZXN0Um9vdCwgZG9jdW1lbnQuYm9k
eS5maXJzdENoaWxkKTsKKwordmFyIHNvdXJjZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOworc291cmNlLmlubmVySFRNTCA9ICJmb28gYmFyIjsKK3Rlc3RSb290LmFwcGVuZENoaWxk
KHNvdXJjZSk7CisKK2Z1bmN0aW9uIGNyZWF0ZUlucHV0KHRlc3RSb290KSB7CisgICAgdmFyIGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworICAgIGUuc2V0QXR0cmlidXRlKCJ0
eXBlIiwgInRleHQiKTsKKyAgICB0ZXN0Um9vdC5hcHBlbmRDaGlsZChlKTsKKworICAgIHJldHVy
biBlOworfQorCitmdW5jdGlvbiBjcmVhdGVUZXh0QXJlYSh0ZXN0Um9vdCkgeworICAgIHZhciBl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKKyAgICB0ZXN0Um9vdC5hcHBl
bmRDaGlsZChlKTsKKworICAgIHJldHVybiBlOworfQorCitmdW5jdGlvbiBjcmVhdGVDb250ZW50
RWRpdGFibGUodGVzdFJvb3QpIHsKKyAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworICAgIGUuc2V0QXR0cmlidXRlKCJjb250ZW50RWRpdGFibGUiLCAidHJ1ZSIpOwor
ICAgIHRlc3RSb290LmFwcGVuZENoaWxkKGUpOworCisgICAgcmV0dXJuIGU7Cit9CisKK3ZhciBk
ZXN0aW5hdGlvbnMgPSBbCisgICAgY3JlYXRlSW5wdXQodGVzdFJvb3QpLAorICAgIGNyZWF0ZVRl
eHRBcmVhKHRlc3RSb290KSwKKyAgICBjcmVhdGVDb250ZW50RWRpdGFibGUodGVzdFJvb3QpLAor
XTsKKwordmFyIHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKKwordmFyIHRlc3RzID0gW107
Citmb3IgKHZhciBpID0gMDsgaSA8IGRlc3RpbmF0aW9ucy5sZW5ndGg7ICsraSkgeworICAgIHZh
ciB0ID0gZnVuY3Rpb24oaSkgeworICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIHZhciBzZXF1ZW5jZSA9IGludGVybmFscy5sYXN0U3BlbGxDaGVja1JlcXVlc3RT
ZXF1ZW5jZShkb2N1bWVudCk7CisgICAgICAgICAgICB2YXIgcHJvY2Vzc2VkID0gaW50ZXJuYWxz
Lmxhc3RTcGVsbENoZWNrUHJvY2Vzc2VkU2VxdWVuY2UoZG9jdW1lbnQpOworICAgICAgICAgICAg
Y29weUFuZFBhc3RlKHNvdXJjZSwgZGVzdGluYXRpb25zW2ldKTsKKyAgICAgICAgICAgIHZlcmlm
eShzZXF1ZW5jZSwgcHJvY2Vzc2VkKTsKKyAgICAgICAgfQorICAgIH0oaSk7CisgICAgdGVzdHMu
cHVzaCh0KTsKK30KKworZnVuY3Rpb24gdmVyaWZ5SWZBbnkoKQoreworICAgIHZhciBuZXh0ID0g
dGVzdHMuc2hpZnQoKTsKKyAgICBpZiAobmV4dCkgeworICAgICAgICBuZXh0KCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICB0ZXN0Um9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZmFsc2UpOwor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorfQorCitm
dW5jdGlvbiBjb3B5QW5kUGFzdGUoc291cmNlLCBkZXN0KQoreworICAgIHNlbC5zZWxlY3RBbGxD
aGlsZHJlbihzb3VyY2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iik7CisKKyAg
ICBpZiAoZGVzdCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgfHwgZGVzdCBpbnN0YW5jZW9m
IEhUTUxUZXh0QXJlYUVsZW1lbnQpIHsKKyAgICAgICAgZGVzdC52YWx1ZSA9ICIiOworICAgICAg
ICBkZXN0LmZvY3VzKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVzdC5pbm5lckhUTUwgPSAi
IjsKKyAgICAgICAgc2VsLnNlbGVjdEFsbENoaWxkcmVuKGRlc3QpOworICAgIH0KKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiKTsKK30KKworZnVuY3Rpb24gdmVyaWZ5KHNlcXVlbmNl
LCBwcm9jZXNzZWQpCit7CisgICAgdmFyIG5yZXRyeSA9IDEwOworICAgIHZhciBuc2xlZXAgPSAx
OworICAgIGZ1bmN0aW9uIHRyaWFsKCkgeworICAgICAgICB2YXIgbmV3U2VxdWVuY2UgPSBpbnRl
cm5hbHMubGFzdFNwZWxsQ2hlY2tSZXF1ZXN0U2VxdWVuY2UoZG9jdW1lbnQpOworICAgICAgICB2
YXIgbmV3UHJvY2Vzc2VkID0gaW50ZXJuYWxzLmxhc3RTcGVsbENoZWNrUHJvY2Vzc2VkU2VxdWVu
Y2UoZG9jdW1lbnQpOworCisgICAgICAgIHZhciB2ZXJpZmllZCA9IG5ld1NlcXVlbmNlID49IHNl
cXVlbmNlICYmIG5ld1Byb2Nlc3NlZCA+PSBwcm9jZXNzZWQgJiYgbmV3U2VxdWVuY2UgPT0gbmV3
UHJvY2Vzc2VkOworICAgICAgICBpZiAodmVyaWZpZWQpIHsKKyAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIlNwZWxsQ2hlY2sgc2VxdWVuY2Ugc2VlbXMgd29ya2luZyBjb3JyZWN0bHkuIik7CisgICAg
ICAgICAgICB2ZXJpZnlJZkFueSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
KyAgICAgICAgbnJldHJ5LS07CisgICAgICAgIGlmICgwID09IG5yZXRyeSkgeworICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiU3BlbGxDaGVjayBzZXF1ZW5jZSBkaWRuJ3QgaW5jcmVhc2UuIik7Cisg
ICAgICAgICAgICB2ZXJpZnlJZkFueSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisKKyAgICAgICAgbnNsZWVwICo9IDI7CisgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KHRyaWFs
LCBuc2xlZXApOworICAgIH07CisgICAgdHJpYWwoKTsKK30KKwordmVyaWZ5SWZBbnkoKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDIzYmM4MjIxMzBiNDg0
N2JjMTAxYjkzMDUwYTA5ZWUzMDZkOTllOWEuLjlhMTM0NWU0NmQyNTI2YWRiYzRjYWZlNDk1NWVj
ZTI4YzNmY2ExM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0xMjIwLDYgKzEyMjAs
NyBAQCBtZWRpYS9ldmVudC1hdHRyaWJ1dGVzLmh0bWwKIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxp
bmctYmFja3NwYWNlLWJldHdlZW4tbGluZXMuaHRtbAogZWRpdGluZy9zcGVsbGluZy9zcGVsbGNo
ZWNrLXBhc3RlLmh0bWwKIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1xdWV1ZS5odG1sCitl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2VudW0uaHRtbAogCiAjIEZvciBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA3NTgKICMgVGhlc2UgcmVxdWly
ZSBEUlQgc2V0U2VyaWFsaXplSFRUUExvYWRzIGltcGxlbWVudGF0aW9uIHRvIGJlIHJlbGlhYmxl
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggZjQzMDkzNzc1YzZmNjRhM2RhYzBlNTMwZjJh
NjQ5MzA1MzFmYzg2Ny4uMjhjNTM5YjRmOGEzNmUyMDgzMjExZmU2YmQ1MTMyZDg0NTI4ODI2OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xMDEwLDYgKzEwMTAsNyBAQCBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLWF0dHJpYnV0ZS1hdC1jaGlsZC5odG1sCiAjIEVkaXRvckNsaWVudDo6
cmVxdWVzdENoZWNraW5nT2ZTdHJpbmcoKSBpcyBub3QgaW1wbGVtZW50ZWQKIGVkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxjaGVjay1wYXN0ZS5odG1sCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2st
cXVldWUuaHRtbAorZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXNlcXVlbmNlbnVtLmh0bWwK
IAogIyBbUXRdW0dUS10gZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWFzeW5jLmh0bWwgZmFp
bHMKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMDAzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118197</attachid>
            <date>2011-12-07 03:04:48 -0800</date>
            <delta_ts>2011-12-07 04:34:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73511-20111207200447.patch</filename>
            <type>text/plain</type>
            <size>14188</size>
            <attacher name="Shinya Kawanaka">shinyak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQxODg3YTM0MDEwNWE1
N2JjM2Y3OTcwNmRhMzMzNzFkMjM3MGI3OS4uNjY1OWI5NTNlOTc4MGZiNTljMjI1OWMxZjE5Njhi
MmEzZjA5ZjhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTEyLTA2ICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW50ZXJuYWxzIHNo
b3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldXRybiB0aGUgbWF4IHNlcXVlbmNlIG51bWJlciBvZiBz
cGVsbGNoZWNrIHJlcWV1c3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzUxMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludGVybmFsIHN0YXRlIG9mIFNwZWxsQ2hlY2tlciBzaG91bGQgYmUgYWJsZSB0
byBiZSBleHBvc2VkIGZvciB0ZXN0aW5nIFNwZWxsQ2hlY2tlci4KKyAgICAgICAgVGhpcyBwYXRj
aCB3aWxsIGVuYWJsZSB1cyB0byBrbm93IGFzeW5jaHJvbm91cyBzcGVsbGNoZWNrIGhhcyBmaW5p
c2hlZCBvciBub3QuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNr
LXNlcXVlbmNlbnVtLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvU3BlbGxDaGVja2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6U3BlbGxDaGVja2VyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNwZWxsQ2hlY2tlcjo6Y3JlYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpTcGVsbENoZWNrZXI6OmRpZENoZWNrKToKKyAgICAgICAgKiBlZGl0aW5nL1NwZWxsQ2hlY2tl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6U3BlbGxDaGVja2VyOjpsYXN0UmVxdWVzdFNlcXVlbmNl
KToKKyAgICAgICAgICBJbnRlcmZhY2UgdG8gdGFrZSBTcGVsbENoZWNrIHNlcXVlbmNlIG51bWJl
cnMuCisgICAgICAgIChXZWJDb3JlOjpTcGVsbENoZWNrZXI6Omxhc3RQcm9jZXNzZWRTZXF1ZW5j
ZSk6IGRpdHRvLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnNwZWxsY2hlY2tlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omxhc3RT
cGVsbENoZWNrUmVxdWVzdFNlcXVlbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6
bGFzdFNwZWxsQ2hlY2tQcm9jZXNzZWRTZXF1ZW5jZSk6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTEtMTItMDYg
IEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1d
IHNldE5lZWRzQ29tbWl0IG9uIG5vbi1jb21wb3NpdGVkIGhvc3QgbGF5ZXJzIHNob3VsZCB0cmln
Z2VyIGNvbW1pdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNr
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwCmluZGV4IDhm
ZjU3NDIxNzQyMjZiNGYyMjA3OWJhMzEwNzk1MzRlMWI2YTE0ZjQuLmFhYzY5YTAyOWJkYTg2NWZj
YTE0OTY3YWUxNDIzODE4MmU5YTE4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvU3BlbGxDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hl
Y2tlci5jcHAKQEAgLTcyLDcgKzcyLDggQEAgcHJpdmF0ZToKIAogU3BlbGxDaGVja2VyOjpTcGVs
bENoZWNrZXIoRnJhbWUqIGZyYW1lKQogICAgIDogbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fbGFz
dFJlcXVlc3RlZFNlcXVlbmNlKDApCisgICAgLCBtX2xhc3RSZXF1ZXN0U2VxdWVuY2UoMCkKKyAg
ICAsIG1fbGFzdFByb2Nlc3NlZFNlcXVlbmNlKDApCiAgICAgLCBtX3RpbWVyVG9Qcm9jZXNzUXVl
dWVkUmVxdWVzdCh0aGlzLCAmU3BlbGxDaGVja2VyOjp0aW1lckZpcmVkVG9Qcm9jZXNzUXVldWVk
UmVxdWVzdCkKIHsKIH0KQEAgLTk3LDcgKzk4LDcgQEAgUGFzc1JlZlB0cjxTcGVsbENoZWNrZXI6
OlNwZWxsQ2hlY2tSZXF1ZXN0PiBTcGVsbENoZWNrZXI6OmNyZWF0ZVJlcXVlc3QoVGV4dENoZWMK
ICAgICBpZiAoIXRleHQubGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPFNwZWxs
Q2hlY2tSZXF1ZXN0PigpOwogCi0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTcGVsbENoZWNrUmVx
dWVzdCgrK21fbGFzdFJlcXVlc3RlZFNlcXVlbmNlLCByYW5nZSwgdGV4dCwgbWFzaykpOworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU3BlbGxDaGVja1JlcXVlc3QoKyttX2xhc3RSZXF1ZXN0U2Vx
dWVuY2UsIHJhbmdlLCB0ZXh0LCBtYXNrKSk7CiB9CiAKIHZvaWQgU3BlbGxDaGVja2VyOjp0aW1l
ckZpcmVkVG9Qcm9jZXNzUXVldWVkUmVxdWVzdChUaW1lcjxTcGVsbENoZWNrZXI+KikKQEAgLTE5
OCw3ICsxOTksNiBAQCBzdGF0aWMgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUgdG9NYXJrZXJU
eXBlKFRleHRDaGVja2luZ1R5cGUgdHlwZSkKIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRDaGVjayhp
bnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1bHRzKQog
ewogICAgIEFTU0VSVChtX3Byb2Nlc3NpbmdSZXF1ZXN0KTsKLQogICAgIEFTU0VSVChtX3Byb2Nl
c3NpbmdSZXF1ZXN0LT5zZXF1ZW5jZSgpID09IHNlcXVlbmNlKTsKICAgICBpZiAobV9wcm9jZXNz
aW5nUmVxdWVzdC0+c2VxdWVuY2UoKSAhPSBzZXF1ZW5jZSkgewogICAgICAgICBtX3JlcXVlc3RR
dWV1ZS5jbGVhcigpOwpAQCAtMjM0LDYgKzIzNCw5IEBAIHZvaWQgU3BlbGxDaGVja2VyOjpkaWRD
aGVjayhpbnQgc2VxdWVuY2UsIGNvbnN0IFZlY3RvcjxUZXh0Q2hlY2tpbmdSZXN1bHQ+JiByZXN1
CiAgICAgICAgIHN0YXJ0T2Zmc2V0ID0gcmVzdWx0c1tpXS5sb2NhdGlvbjsKICAgICB9CiAKKyAg
ICBpZiAobV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2UgPCBzZXF1ZW5jZSkKKyAgICAgICAgbV9sYXN0
UHJvY2Vzc2VkU2VxdWVuY2UgPSBzZXF1ZW5jZTsKKwogICAgIG1fcHJvY2Vzc2luZ1JlcXVlc3Qu
Y2xlYXIoKTsKICAgICBpZiAoIW1fcmVxdWVzdFF1ZXVlLmlzRW1wdHkoKSkKICAgICAgICAgbV90
aW1lclRvUHJvY2Vzc1F1ZXVlZFJlcXVlc3Quc3RhcnRPbmVTaG90KDApOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggNzAyZjM2OWQ1NjU3YWViYzQ1OWI1MTEzZjZlMjE2
YTVkYzI4ZjFmZi4uYjQ1ZTRiY2ZkZGNmNjkwOGQ5YzYxYTU4YTdiOTRhNGEwZjdmMDZkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCkBAIC01Myw2ICs1MywxNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXF1ZXN0Q2hlY2tpbmdGb3IoVGV4dENoZWNraW5nVHlwZU1hc2ssIFBh
c3NSZWZQdHI8UmFuZ2U+KTsKICAgICB2b2lkIGRpZENoZWNrKGludCBzZXF1ZW5jZSwgY29uc3Qg
VmVjdG9yPFRleHRDaGVja2luZ1Jlc3VsdD4mKTsKIAorICAgIGludCBsYXN0UmVxdWVzdFNlcXVl
bmNlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2xhc3RSZXF1ZXN0U2VxdWVuY2U7
CisgICAgfQorCisgICAgaW50IGxhc3RQcm9jZXNzZWRTZXF1ZW5jZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9sYXN0UHJvY2Vzc2VkU2VxdWVuY2U7CisgICAgfQorCiBwcml2YXRl
OgogICAgIGNsYXNzIFNwZWxsQ2hlY2tSZXF1ZXN0OwogICAgIHR5cGVkZWYgRGVxdWU8UmVmUHRy
PFNwZWxsQ2hlY2tSZXF1ZXN0PiA+IFJlcXVlc3RRdWV1ZTsKQEAgLTY1LDcgKzc1LDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIGVucXVldWVSZXF1ZXN0KFBhc3NSZWZQdHI8U3BlbGxDaGVja1JlcXVl
c3Q+KTsKIAogICAgIEZyYW1lKiBtX2ZyYW1lOwotICAgIGludCBtX2xhc3RSZXF1ZXN0ZWRTZXF1
ZW5jZTsKKyAgICBpbnQgbV9sYXN0UmVxdWVzdFNlcXVlbmNlOworICAgIGludCBtX2xhc3RQcm9j
ZXNzZWRTZXF1ZW5jZTsKIAogICAgIFRpbWVyPFNwZWxsQ2hlY2tlcj4gbV90aW1lclRvUHJvY2Vz
c1F1ZXVlZFJlcXVlc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBh
ZTk3MjQzZDAyZjdjY2RkNmMxMDk3ZmNiZjgyNmRhNWQ2ZDNkNTg1Li4zZjA2MDZmYTNkN2MxZmEy
NTlmODJiYTQwOTFiOGM4Y2RiZDEzYjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJT
aGFkb3dDb250ZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRl
ICJTcGVsbENoZWNrZXIuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKIAogI2lmIEVOQUJM
RShHRVNUVVJFX0VWRU5UUykKQEAgLTkyLDYgKzkzLDE0IEBAIHN0YXRpYyBib29sIG1hcmtlclR5
cGVzRnJvbShjb25zdCBTdHJpbmcmIG1hcmtlclR5cGUsIERvY3VtZW50TWFya2VyOjpNYXJrZXJU
eXBlCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBTcGVsbENoZWNrZXIqIHNwZWxsY2hl
Y2tlcihEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1l
bnQtPmZyYW1lKCkgfHwgIWRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5zcGVsbENo
ZWNrZXIoKTsKK30KKwogY29uc3QgY2hhciogSW50ZXJuYWxzOjppbnRlcm5hbHNJZCA9ICJpbnRl
cm5hbHMiOwogCiBQYXNzUmVmUHRyPEludGVybmFscz4gSW50ZXJuYWxzOjpjcmVhdGUoKQpAQCAt
NjE4LDQgKzYyNywyOCBAQCBib29sIEludGVybmFsczo6dW5pZmllZFRleHRDaGVja2luZ0VuYWJs
ZWQoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYwogICAgIHJldHVybiBkb2N1
bWVudC0+ZnJhbWUoKS0+c2V0dGluZ3MoKS0+dW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCgpOwog
fQogCitpbnQgSW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZShEb2N1bWVu
dCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIFNwZWxsQ2hlY2tlciogY2hl
Y2tlciA9IHNwZWxsY2hlY2tlcihkb2N1bWVudCk7CisKKyAgICBpZiAoIWNoZWNrZXIpIHsKKyAg
ICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9
CisKKyAgICByZXR1cm4gY2hlY2tlci0+bGFzdFJlcXVlc3RTZXF1ZW5jZSgpOworfQorCitpbnQg
SW50ZXJuYWxzOjpsYXN0U3BlbGxDaGVja1Byb2Nlc3NlZFNlcXVlbmNlKERvY3VtZW50KiBkb2N1
bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgU3BlbGxDaGVja2VyKiBjaGVja2VyID0g
c3BlbGxjaGVja2VyKGRvY3VtZW50KTsKKworICAgIGlmICghY2hlY2tlcikgeworICAgICAgICBl
YyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAg
IHJldHVybiBjaGVja2VyLT5sYXN0UHJvY2Vzc2VkU2VxdWVuY2UoKTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYTY4ZmU5NDIzMjY5NzA2ZjAwMTAzYWYyMDA5Nzg1
NWY2NDQ5NTIxZC4uMTRkOWRmZGYzYjFkOGQ0YTQxN2ZkMmZmZThiM2E1NzUzYjQ4YzczMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xMTAsNiArMTEwLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQoRG9jdW1lbnQqLCBib29sLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgYm9vbCB1bmlmaWVkVGV4dENoZWNraW5nRW5hYmxlZChEb2N1
bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIGludCBsYXN0U3BlbGxDaGVja1JlcXVlc3RT
ZXF1ZW5jZShEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBpbnQgbGFzdFNwZWxsQ2hl
Y2tQcm9jZXNzZWRTZXF1ZW5jZShEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsKKwogICAgIHN0
YXRpYyBjb25zdCBjaGFyKiBpbnRlcm5hbHNJZDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbAppbmRleCA4ODljZGEyODk5MDg4YTA1ZWIxMzM4NDUzYzI2ZDNjYTFj
NDJhODQwLi5kNjIyMjYwNDMwYTcxNjljNGM2YTM1MWU2MDYxOTA1MGY2OTJhMjMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC04MSw2ICs4MSw5IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICB2b2lkIHNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRv
RnJhbWUoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQo
aW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzIChET01FeGNl
cHRpb24pOwogICAgICAgICBib29sZWFuIHVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKGluIERv
Y3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgbG9uZyBs
YXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZShpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2Vz
IChET01FeGNlcHRpb24pOworICAgICAgICBsb25nIGxhc3RTcGVsbENoZWNrUHJvY2Vzc2VkU2Vx
dWVuY2UoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB9
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZjgyMjEyNDg4MzM2ZjIyZGEyMDc4NTliNGEwZTI2NzdmNjBhZDYzYy4u
OGIwYzVlNWIyMmU3NmY0OTcyMWU4MTBjYjI1ZGJmNDc5MTk0NTAwNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDExLTEyLTA2ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGdvb2dsZS5jb20+
CisKKyAgICAgICAgSW50ZXJuYWxzIHNob3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldXRybiB0aGUg
bWF4IHNlcXVlbmNlIG51bWJlciBvZiBzcGVsbGNoZWNrIHJlcWV1c3QuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIGNoZWNrIGlu
dGVybmFscy5sYXN0U3BlbGxDaGVja1JlcXVlc3RTZXF1ZW5jZSBhbmQgaW50ZXJuYWxzLmxhc3RT
cGVsbENoZWNrUHJvY2Vzc2VkU2VxdWVuY2UuCisKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsY2hlY2stc2VxdWVuY2VudW0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2VudW0uaHRtbDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBl
ZDoKKwogMjAxMS0xMi0wNiAgS2VuaWNoaSBJc2hpYmFzaGkgIDxiYXNoaUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW0Nocm9taXVtXSB1bmtub3duIGNoYXJhY3RlcnMgc3ltYm9sIG9uIFxuIGlu
IGNvbXBsZXggc2NyaXB0IHRleHQgKFJUTCBhbmQgTFRSKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXNlcXVlbmNlbnVtLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1zZXF1ZW5jZW51bS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM5NjJlYzQwNWFiMmNlMDJmN2U1NGYzYTNkYWFhNWUxZmI2
MzQ1ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvc3Bl
bGxjaGVjay1zZXF1ZW5jZW51bS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRm9yIEJ1
ZyA3MzUxMTogSW50ZXJuYWxzIHNob3VsZCBoYXZlIGEgbWV0aG9kIHRvIHJldHVybiB0aGUgbWF4
IHNlcXVlbmNlIG51bWJlciBvZiBzcGVsbGNoZWNrIHJlcXVlc3QuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKK1BBU1MgU3BlbGxDaGVjayBzZXF1ZW5jZSBzZWVtcyB3b3JraW5nIGNvcnJlY3Rs
eS4KK1BBU1MgU3BlbGxDaGVjayBzZXF1ZW5jZSBzZWVtcyB3b3JraW5nIGNvcnJlY3RseS4KK1BB
U1MgU3BlbGxDaGVjayBzZXF1ZW5jZSBzZWVtcyB3b3JraW5nIGNvcnJlY3RseS4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXNlcXVlbmNlbnVt
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2Vu
dW0uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wNzJhY2Q1YzliMDRhZTdmYmYwY2M0Mzk1ZGJhYjJkOGMxYzg5
ZmU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy9zcGVs
bGNoZWNrLXNlcXVlbmNlbnVtLmh0bWwKQEAgLTAsMCArMSwxMzYgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXNlbGVjdGlvbi1zaGFyZWQuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdGb3IgQnVnIDczNTExOiBJ
bnRlcm5hbHMgc2hvdWxkIGhhdmUgYSBtZXRob2QgdG8gcmV0dXJuIHRoZSBtYXggc2VxdWVuY2Ug
bnVtYmVyIG9mIHNwZWxsY2hlY2sgcmVxdWVzdC4nKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5h
YmxlZCh0cnVlKTsKK30KKwordmFyIHRlc3RSb290ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7Citkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZSh0ZXN0Um9vdCwgZG9jdW1lbnQuYm9k
eS5maXJzdENoaWxkKTsKKwordmFyIHNvdXJjZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOworc291cmNlLmlubmVySFRNTCA9ICJmb28gYmFyIjsKK3Rlc3RSb290LmFwcGVuZENoaWxk
KHNvdXJjZSk7CisKK2Z1bmN0aW9uIGNyZWF0ZUlucHV0KHRlc3RSb290KSB7CisgICAgdmFyIGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpOworICAgIGUuc2V0QXR0cmlidXRlKCJ0
eXBlIiwgInRleHQiKTsKKyAgICB0ZXN0Um9vdC5hcHBlbmRDaGlsZChlKTsKKworICAgIHJldHVy
biBlOworfQorCitmdW5jdGlvbiBjcmVhdGVUZXh0QXJlYSh0ZXN0Um9vdCkgeworICAgIHZhciBl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKKyAgICB0ZXN0Um9vdC5hcHBl
bmRDaGlsZChlKTsKKworICAgIHJldHVybiBlOworfQorCitmdW5jdGlvbiBjcmVhdGVDb250ZW50
RWRpdGFibGUodGVzdFJvb3QpIHsKKyAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworICAgIGUuc2V0QXR0cmlidXRlKCJjb250ZW50RWRpdGFibGUiLCAidHJ1ZSIpOwor
ICAgIHRlc3RSb290LmFwcGVuZENoaWxkKGUpOworCisgICAgcmV0dXJuIGU7Cit9CisKK3ZhciBk
ZXN0aW5hdGlvbnMgPSBbCisgICAgY3JlYXRlSW5wdXQodGVzdFJvb3QpLAorICAgIGNyZWF0ZVRl
eHRBcmVhKHRlc3RSb290KSwKKyAgICBjcmVhdGVDb250ZW50RWRpdGFibGUodGVzdFJvb3QpLAor
XTsKKwordmFyIHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKKwordmFyIHRlc3RzID0gW107
Citmb3IgKHZhciBpID0gMDsgaSA8IGRlc3RpbmF0aW9ucy5sZW5ndGg7ICsraSkgeworICAgIHZh
ciB0ID0gZnVuY3Rpb24oaSkgeworICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIHZhciBzZXF1ZW5jZSA9IGludGVybmFscy5sYXN0U3BlbGxDaGVja1JlcXVlc3RT
ZXF1ZW5jZShkb2N1bWVudCk7CisgICAgICAgICAgICB2YXIgcHJvY2Vzc2VkID0gaW50ZXJuYWxz
Lmxhc3RTcGVsbENoZWNrUHJvY2Vzc2VkU2VxdWVuY2UoZG9jdW1lbnQpOworICAgICAgICAgICAg
Y29weUFuZFBhc3RlKHNvdXJjZSwgZGVzdGluYXRpb25zW2ldKTsKKyAgICAgICAgICAgIHZlcmlm
eShzZXF1ZW5jZSwgcHJvY2Vzc2VkKTsKKyAgICAgICAgfQorICAgIH0oaSk7CisgICAgdGVzdHMu
cHVzaCh0KTsKK30KKworZnVuY3Rpb24gdmVyaWZ5SWZBbnkoKQoreworICAgIHZhciBuZXh0ID0g
dGVzdHMuc2hpZnQoKTsKKyAgICBpZiAobmV4dCkgeworICAgICAgICBuZXh0KCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICB0ZXN0Um9vdC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZmFsc2UpOwor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgfQorfQorCitm
dW5jdGlvbiBjb3B5QW5kUGFzdGUoc291cmNlLCBkZXN0KQoreworICAgIHNlbC5zZWxlY3RBbGxD
aGlsZHJlbihzb3VyY2UpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJDb3B5Iik7CisKKyAg
ICBpZiAoZGVzdCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgfHwgZGVzdCBpbnN0YW5jZW9m
IEhUTUxUZXh0QXJlYUVsZW1lbnQpIHsKKyAgICAgICAgZGVzdC52YWx1ZSA9ICIiOworICAgICAg
ICBkZXN0LmZvY3VzKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGVzdC5pbm5lckhUTUwgPSAi
IjsKKyAgICAgICAgc2VsLnNlbGVjdEFsbENoaWxkcmVuKGRlc3QpOworICAgIH0KKyAgICBkb2N1
bWVudC5leGVjQ29tbWFuZCgiUGFzdGUiKTsKK30KKworZnVuY3Rpb24gdmVyaWZ5KHNlcXVlbmNl
LCBwcm9jZXNzZWQpCit7CisgICAgdmFyIG5yZXRyeSA9IDEwOworICAgIHZhciBuc2xlZXAgPSAx
OworICAgIGZ1bmN0aW9uIHRyaWFsKCkgeworICAgICAgICB2YXIgbmV3U2VxdWVuY2UgPSBpbnRl
cm5hbHMubGFzdFNwZWxsQ2hlY2tSZXF1ZXN0U2VxdWVuY2UoZG9jdW1lbnQpOworICAgICAgICB2
YXIgbmV3UHJvY2Vzc2VkID0gaW50ZXJuYWxzLmxhc3RTcGVsbENoZWNrUHJvY2Vzc2VkU2VxdWVu
Y2UoZG9jdW1lbnQpOworCisgICAgICAgIHZhciB2ZXJpZmllZCA9IG5ld1NlcXVlbmNlID49IHNl
cXVlbmNlICYmIG5ld1Byb2Nlc3NlZCA+PSBwcm9jZXNzZWQgJiYgbmV3U2VxdWVuY2UgPT0gbmV3
UHJvY2Vzc2VkOworICAgICAgICBpZiAodmVyaWZpZWQpIHsKKyAgICAgICAgICAgIHRlc3RQYXNz
ZWQoIlNwZWxsQ2hlY2sgc2VxdWVuY2Ugc2VlbXMgd29ya2luZyBjb3JyZWN0bHkuIik7CisgICAg
ICAgICAgICB2ZXJpZnlJZkFueSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
KyAgICAgICAgbnJldHJ5LS07CisgICAgICAgIGlmICgwID09IG5yZXRyeSkgeworICAgICAgICAg
ICAgdGVzdEZhaWxlZCgiU3BlbGxDaGVjayBzZXF1ZW5jZSBkaWRuJ3QgaW5jcmVhc2UuIik7Cisg
ICAgICAgICAgICB2ZXJpZnlJZkFueSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisKKyAgICAgICAgbnNsZWVwICo9IDI7CisgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KHRyaWFs
LCBuc2xlZXApOworICAgIH07CisgICAgdHJpYWwoKTsKK30KKwordmVyaWZ5SWZBbnkoKTsKKwor
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDIzYmM4MjIxMzBiNDg0
N2JjMTAxYjkzMDUwYTA5ZWUzMDZkOTllOWEuLjlhMTM0NWU0NmQyNTI2YWRiYzRjYWZlNDk1NWVj
ZTI4YzNmY2ExM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVk
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0xMjIwLDYgKzEyMjAs
NyBAQCBtZWRpYS9ldmVudC1hdHRyaWJ1dGVzLmh0bWwKIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxp
bmctYmFja3NwYWNlLWJldHdlZW4tbGluZXMuaHRtbAogZWRpdGluZy9zcGVsbGluZy9zcGVsbGNo
ZWNrLXBhc3RlLmh0bWwKIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxjaGVjay1xdWV1ZS5odG1sCitl
ZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stc2VxdWVuY2VudW0uaHRtbAogCiAjIEZvciBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA3NTgKICMgVGhlc2UgcmVxdWly
ZSBEUlQgc2V0U2VyaWFsaXplSFRUUExvYWRzIGltcGxlbWVudGF0aW9uIHRvIGJlIHJlbGlhYmxl
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggZjQzMDkzNzc1YzZmNjRhM2RhYzBlNTMwZjJh
NjQ5MzA1MzFmYzg2Ny4uMjhjNTM5YjRmOGEzNmUyMDgzMjExZmU2YmQ1MTMyZDg0NTI4ODI2OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xMDEwLDYgKzEwMTAsNyBAQCBlZGl0aW5nL3Nw
ZWxsaW5nL3NwZWxsaW5nLWF0dHJpYnV0ZS1hdC1jaGlsZC5odG1sCiAjIEVkaXRvckNsaWVudDo6
cmVxdWVzdENoZWNraW5nT2ZTdHJpbmcoKSBpcyBub3QgaW1wbGVtZW50ZWQKIGVkaXRpbmcvc3Bl
bGxpbmcvc3BlbGxjaGVjay1wYXN0ZS5odG1sCiBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2st
cXVldWUuaHRtbAorZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXNlcXVlbmNlbnVtLmh0bWwK
IAogIyBbUXRdW0dUS10gZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLWFzeW5jLmh0bWwgZmFp
bHMKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMDAzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>